diff --git a/.gitignore b/.gitignore
index 22814e3b..3d9e2c5b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,6 +20,3 @@
# Binaries file
bin
-
-# ProtoBuf generate file
-*.pb.go
diff --git a/Makefile b/Makefile
index 491c478a..a357338e 100644
--- a/Makefile
+++ b/Makefile
@@ -9,4 +9,9 @@ dev_tool:
.PHONY: gen
# gen 生成代码
gen:
- cd protocol/proto && make gen
\ No newline at end of file
+ cd protocol/proto && make gen
+
+.PHONY: build
+# build
+build:
+ mkdir -p bin/ && CGO_ENABLED=0 go build -ldflags "-X main.Version=$(VERSION)" -o ./bin/ ./cmd/...
diff --git a/dispatch/cmd/application.toml b/cmd/dispatch/application.toml
similarity index 100%
rename from dispatch/cmd/application.toml
rename to cmd/dispatch/application.toml
diff --git a/dispatch/cmd/main.go b/cmd/dispatch/main.go
similarity index 91%
rename from dispatch/cmd/main.go
rename to cmd/dispatch/main.go
index f1166031..b0ea0edf 100644
--- a/dispatch/cmd/main.go
+++ b/cmd/dispatch/main.go
@@ -1,22 +1,23 @@
package main
import (
- "hk4e/common/config"
- "hk4e/dispatch/controller"
- "hk4e/dispatch/dao"
- "hk4e/logger"
_ "net/http/pprof"
"os"
"os/signal"
"syscall"
"time"
+
+ "hk4e/common/config"
+ "hk4e/dispatch/controller"
+ "hk4e/dispatch/dao"
+ "hk4e/pkg/logger"
)
func main() {
filePath := "./application.toml"
config.InitConfig(filePath)
- logger.InitLogger("dispatch")
+ logger.InitLogger("dispatch", config.CONF.Logger)
logger.LOG.Info("dispatch start")
db := dao.NewDao()
diff --git a/dispatch/cmd/static/.gitattributes b/cmd/dispatch/static/.gitattributes
similarity index 100%
rename from dispatch/cmd/static/.gitattributes
rename to cmd/dispatch/static/.gitattributes
diff --git a/dispatch/cmd/static/29342328.blk b/cmd/dispatch/static/29342328.blk
similarity index 100%
rename from dispatch/cmd/static/29342328.blk
rename to cmd/dispatch/static/29342328.blk
diff --git a/dispatch/cmd/static/86f9db021.png b/cmd/dispatch/static/86f9db021.png
similarity index 100%
rename from dispatch/cmd/static/86f9db021.png
rename to cmd/dispatch/static/86f9db021.png
diff --git a/dispatch/cmd/static/86f9db021.webp b/cmd/dispatch/static/86f9db021.webp
similarity index 100%
rename from dispatch/cmd/static/86f9db021.webp
rename to cmd/dispatch/static/86f9db021.webp
diff --git a/dispatch/cmd/static/a330cf996.webp b/cmd/dispatch/static/a330cf996.webp
similarity index 100%
rename from dispatch/cmd/static/a330cf996.webp
rename to cmd/dispatch/static/a330cf996.webp
diff --git a/dispatch/cmd/static/account_password_key.pem b/cmd/dispatch/static/account_password_key.pem
similarity index 100%
rename from dispatch/cmd/static/account_password_key.pem
rename to cmd/dispatch/static/account_password_key.pem
diff --git a/dispatch/cmd/static/data_versions b/cmd/dispatch/static/data_versions
similarity index 100%
rename from dispatch/cmd/static/data_versions
rename to cmd/dispatch/static/data_versions
diff --git a/dispatch/cmd/static/dispatchKey.bin b/cmd/dispatch/static/dispatchKey.bin
similarity index 100%
rename from dispatch/cmd/static/dispatchKey.bin
rename to cmd/dispatch/static/dispatchKey.bin
diff --git a/dispatch/cmd/static/dispatchSeed.bin b/cmd/dispatch/static/dispatchSeed.bin
similarity index 100%
rename from dispatch/cmd/static/dispatchSeed.bin
rename to cmd/dispatch/static/dispatchSeed.bin
diff --git a/dispatch/cmd/static/query_cur_region b/cmd/dispatch/static/query_cur_region
similarity index 100%
rename from dispatch/cmd/static/query_cur_region
rename to cmd/dispatch/static/query_cur_region
diff --git a/dispatch/cmd/static/query_cur_region_key b/cmd/dispatch/static/query_cur_region_key
similarity index 100%
rename from dispatch/cmd/static/query_cur_region_key
rename to cmd/dispatch/static/query_cur_region_key
diff --git a/dispatch/cmd/static/query_region_list b/cmd/dispatch/static/query_region_list
similarity index 100%
rename from dispatch/cmd/static/query_region_list
rename to cmd/dispatch/static/query_region_list
diff --git a/dispatch/cmd/static/query_region_list_key b/cmd/dispatch/static/query_region_list_key
similarity index 100%
rename from dispatch/cmd/static/query_region_list_key
rename to cmd/dispatch/static/query_region_list_key
diff --git a/dispatch/cmd/static/region_enc_key_2.pem b/cmd/dispatch/static/region_enc_key_2.pem
similarity index 100%
rename from dispatch/cmd/static/region_enc_key_2.pem
rename to cmd/dispatch/static/region_enc_key_2.pem
diff --git a/dispatch/cmd/static/region_enc_key_3.pem b/cmd/dispatch/static/region_enc_key_3.pem
similarity index 100%
rename from dispatch/cmd/static/region_enc_key_3.pem
rename to cmd/dispatch/static/region_enc_key_3.pem
diff --git a/dispatch/cmd/static/region_enc_key_4.pem b/cmd/dispatch/static/region_enc_key_4.pem
similarity index 100%
rename from dispatch/cmd/static/region_enc_key_4.pem
rename to cmd/dispatch/static/region_enc_key_4.pem
diff --git a/dispatch/cmd/static/region_enc_key_5.pem b/cmd/dispatch/static/region_enc_key_5.pem
similarity index 100%
rename from dispatch/cmd/static/region_enc_key_5.pem
rename to cmd/dispatch/static/region_enc_key_5.pem
diff --git a/dispatch/cmd/static/region_sign_key.pem b/cmd/dispatch/static/region_sign_key.pem
similarity index 100%
rename from dispatch/cmd/static/region_sign_key.pem
rename to cmd/dispatch/static/region_sign_key.pem
diff --git a/dispatch/cmd/static/secretKey.bin b/cmd/dispatch/static/secretKey.bin
similarity index 100%
rename from dispatch/cmd/static/secretKey.bin
rename to cmd/dispatch/static/secretKey.bin
diff --git a/dispatch/cmd/static/secretKeyBuffer.bin b/cmd/dispatch/static/secretKeyBuffer.bin
similarity index 100%
rename from dispatch/cmd/static/secretKeyBuffer.bin
rename to cmd/dispatch/static/secretKeyBuffer.bin
diff --git a/dispatch/cmd/static/security_file b/cmd/dispatch/static/security_file
similarity index 100%
rename from dispatch/cmd/static/security_file
rename to cmd/dispatch/static/security_file
diff --git a/dispatch/cmd/static/server.crt b/cmd/dispatch/static/server.crt
similarity index 100%
rename from dispatch/cmd/static/server.crt
rename to cmd/dispatch/static/server.crt
diff --git a/dispatch/cmd/static/server.key b/cmd/dispatch/static/server.key
similarity index 100%
rename from dispatch/cmd/static/server.key
rename to cmd/dispatch/static/server.key
diff --git a/dispatch/cmd/static/sprite2x.1.2.6.png b/cmd/dispatch/static/sprite2x.1.2.6.png
similarity index 100%
rename from dispatch/cmd/static/sprite2x.1.2.6.png
rename to cmd/dispatch/static/sprite2x.1.2.6.png
diff --git a/gate/cmd/application.toml b/cmd/gate/application.toml
similarity index 100%
rename from gate/cmd/application.toml
rename to cmd/gate/application.toml
diff --git a/gate/cmd/main.go b/cmd/gate/main.go
similarity index 96%
rename from gate/cmd/main.go
rename to cmd/gate/main.go
index 6865b04a..fa7f6c5e 100644
--- a/gate/cmd/main.go
+++ b/cmd/gate/main.go
@@ -1,26 +1,28 @@
package main
import (
- "github.com/arl/statsviz"
- "hk4e/common/config"
- "hk4e/gate/forward"
- "hk4e/gate/mq"
- "hk4e/gate/net"
- "hk4e/logger"
- "hk4e/protocol/cmd"
"net/http"
_ "net/http/pprof"
"os"
"os/signal"
"syscall"
"time"
+
+ "hk4e/common/config"
+ "hk4e/gate/forward"
+ "hk4e/gate/mq"
+ "hk4e/gate/net"
+ "hk4e/pkg/logger"
+ "hk4e/protocol/cmd"
+
+ "github.com/arl/statsviz"
)
func main() {
filePath := "./application.toml"
config.InitConfig(filePath)
- logger.InitLogger("gate")
+ logger.InitLogger("gate", config.CONF.Logger)
logger.LOG.Info("gate start")
go func() {
diff --git a/gate/cmd/static/.gitattributes b/cmd/gate/static/.gitattributes
similarity index 100%
rename from gate/cmd/static/.gitattributes
rename to cmd/gate/static/.gitattributes
diff --git a/gate/cmd/static/account_password_key.pem b/cmd/gate/static/account_password_key.pem
similarity index 100%
rename from gate/cmd/static/account_password_key.pem
rename to cmd/gate/static/account_password_key.pem
diff --git a/gate/cmd/static/dispatchKey.bin b/cmd/gate/static/dispatchKey.bin
similarity index 100%
rename from gate/cmd/static/dispatchKey.bin
rename to cmd/gate/static/dispatchKey.bin
diff --git a/gate/cmd/static/dispatchSeed.bin b/cmd/gate/static/dispatchSeed.bin
similarity index 100%
rename from gate/cmd/static/dispatchSeed.bin
rename to cmd/gate/static/dispatchSeed.bin
diff --git a/gate/cmd/static/query_cur_region b/cmd/gate/static/query_cur_region
similarity index 100%
rename from gate/cmd/static/query_cur_region
rename to cmd/gate/static/query_cur_region
diff --git a/gate/cmd/static/query_cur_region_key b/cmd/gate/static/query_cur_region_key
similarity index 100%
rename from gate/cmd/static/query_cur_region_key
rename to cmd/gate/static/query_cur_region_key
diff --git a/gate/cmd/static/query_region_list b/cmd/gate/static/query_region_list
similarity index 100%
rename from gate/cmd/static/query_region_list
rename to cmd/gate/static/query_region_list
diff --git a/gate/cmd/static/query_region_list_key b/cmd/gate/static/query_region_list_key
similarity index 100%
rename from gate/cmd/static/query_region_list_key
rename to cmd/gate/static/query_region_list_key
diff --git a/gate/cmd/static/region_enc_key_2.pem b/cmd/gate/static/region_enc_key_2.pem
similarity index 100%
rename from gate/cmd/static/region_enc_key_2.pem
rename to cmd/gate/static/region_enc_key_2.pem
diff --git a/gate/cmd/static/region_enc_key_3.pem b/cmd/gate/static/region_enc_key_3.pem
similarity index 100%
rename from gate/cmd/static/region_enc_key_3.pem
rename to cmd/gate/static/region_enc_key_3.pem
diff --git a/gate/cmd/static/region_enc_key_4.pem b/cmd/gate/static/region_enc_key_4.pem
similarity index 100%
rename from gate/cmd/static/region_enc_key_4.pem
rename to cmd/gate/static/region_enc_key_4.pem
diff --git a/gate/cmd/static/region_enc_key_5.pem b/cmd/gate/static/region_enc_key_5.pem
similarity index 100%
rename from gate/cmd/static/region_enc_key_5.pem
rename to cmd/gate/static/region_enc_key_5.pem
diff --git a/gate/cmd/static/region_sign_key.pem b/cmd/gate/static/region_sign_key.pem
similarity index 100%
rename from gate/cmd/static/region_sign_key.pem
rename to cmd/gate/static/region_sign_key.pem
diff --git a/gate/cmd/static/secretKey.bin b/cmd/gate/static/secretKey.bin
similarity index 100%
rename from gate/cmd/static/secretKey.bin
rename to cmd/gate/static/secretKey.bin
diff --git a/gate/cmd/static/secretKeyBuffer.bin b/cmd/gate/static/secretKeyBuffer.bin
similarity index 100%
rename from gate/cmd/static/secretKeyBuffer.bin
rename to cmd/gate/static/secretKeyBuffer.bin
diff --git a/gm/cmd/application.toml b/cmd/gm/application.toml
similarity index 100%
rename from gm/cmd/application.toml
rename to cmd/gm/application.toml
diff --git a/gm/cmd/main.go b/cmd/gm/main.go
similarity index 90%
rename from gm/cmd/main.go
rename to cmd/gm/main.go
index d047bfb3..36273a4b 100644
--- a/gm/cmd/main.go
+++ b/cmd/gm/main.go
@@ -1,20 +1,21 @@
package main
import (
- "hk4e/common/config"
- "hk4e/gm/controller"
- "hk4e/logger"
"os"
"os/signal"
"syscall"
"time"
+
+ "hk4e/common/config"
+ "hk4e/gm/controller"
+ "hk4e/pkg/logger"
)
func main() {
filePath := "./application.toml"
config.InitConfig(filePath)
- logger.InitLogger("gm")
+ logger.InitLogger("gm", config.CONF.Logger)
logger.LOG.Info("gm start")
_ = controller.NewController()
diff --git a/cmd/gs/.gitignore b/cmd/gs/.gitignore
new file mode 100644
index 00000000..84cb0198
--- /dev/null
+++ b/cmd/gs/.gitignore
@@ -0,0 +1,24 @@
+# Binaries for programs and plugins
+*.exe
+*.exe~
+*.dll
+*.so
+*.dylib
+
+# Test binary, built with `go test -c`
+*.test
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+# Dependency directories (remove the comment below to include it)
+# vendor/
+
+# GoLand
+.idea
+*.iml
+
+# Binaries file
+bin
+
+GameDataConfigTable
\ No newline at end of file
diff --git a/gs/cmd/application.toml b/cmd/gs/application.toml
similarity index 100%
rename from gs/cmd/application.toml
rename to cmd/gs/application.toml
diff --git a/gs/cmd/main.go b/cmd/gs/main.go
similarity index 95%
rename from gs/cmd/main.go
rename to cmd/gs/main.go
index 20742b18..548efce5 100644
--- a/gs/cmd/main.go
+++ b/cmd/gs/main.go
@@ -1,28 +1,30 @@
package main
import (
- "github.com/arl/statsviz"
- "hk4e/common/config"
- gdc "hk4e/gs/config"
- "hk4e/gs/constant"
- "hk4e/gs/dao"
- "hk4e/gs/game"
- "hk4e/gs/mq"
- "hk4e/logger"
- "hk4e/protocol/cmd"
"net/http"
_ "net/http/pprof"
"os"
"os/signal"
"syscall"
"time"
+
+ "hk4e/common/config"
+ gdc "hk4e/gs/config"
+ "hk4e/gs/constant"
+ "hk4e/gs/dao"
+ "hk4e/gs/game"
+ "hk4e/gs/mq"
+ "hk4e/pkg/logger"
+ "hk4e/protocol/cmd"
+
+ "github.com/arl/statsviz"
)
func main() {
filePath := "./application.toml"
config.InitConfig(filePath)
- logger.InitLogger("gs")
+ logger.InitLogger("gs", config.CONF.Logger)
logger.LOG.Info("gs start")
go func() {
diff --git a/common/config/config.go b/common/config/config.go
index b7d7a3ac..1021217c 100644
--- a/common/config/config.go
+++ b/common/config/config.go
@@ -2,6 +2,9 @@ package config
import (
"fmt"
+
+ "hk4e/pkg/logger"
+
"github.com/BurntSushi/toml"
)
@@ -9,18 +12,11 @@ var CONF *Config = nil
// 配置
type Config struct {
- HttpPort int `toml:"http_port"`
- Logger Logger `toml:"logger"`
- Database Database `toml:"database"`
- Hk4e Hk4e `toml:"hk4e"`
- MQ MQ `toml:"mq"`
-}
-
-// 日志配置
-type Logger struct {
- Level string `toml:"level"`
- Method string `toml:"method"`
- TrackLine bool `toml:"track_line"`
+ HttpPort int `toml:"http_port"`
+ Logger logger.Config `toml:"logger"`
+ Database Database `toml:"database"`
+ Hk4e Hk4e `toml:"hk4e"`
+ MQ MQ `toml:"mq"`
}
// 数据库配置
diff --git a/common/region/region.go b/common/region/region.go
index 30319659..360f7105 100644
--- a/common/region/region.go
+++ b/common/region/region.go
@@ -2,11 +2,13 @@ package region
import (
"encoding/base64"
- pb "google.golang.org/protobuf/proto"
- "hk4e/common/utils/endec"
- "hk4e/logger"
- "hk4e/protocol/proto"
"os"
+
+ "hk4e/pkg/endec"
+ "hk4e/pkg/logger"
+ "hk4e/protocol/proto"
+
+ pb "google.golang.org/protobuf/proto"
)
func LoadRsaKey() (signRsaKey []byte, encRsaKeyMap map[string][]byte, pwdRsaKey []byte) {
diff --git a/dispatch/entity/api/combo_token_req.go b/dispatch/api/combo_token_req.go
similarity index 100%
rename from dispatch/entity/api/combo_token_req.go
rename to dispatch/api/combo_token_req.go
diff --git a/dispatch/entity/api/combo_token_res.go b/dispatch/api/combo_token_res.go
similarity index 100%
rename from dispatch/entity/api/combo_token_res.go
rename to dispatch/api/combo_token_res.go
diff --git a/dispatch/entity/api/login_account_req.go b/dispatch/api/login_account_req.go
similarity index 100%
rename from dispatch/entity/api/login_account_req.go
rename to dispatch/api/login_account_req.go
diff --git a/dispatch/entity/api/login_result.go b/dispatch/api/login_result.go
similarity index 100%
rename from dispatch/entity/api/login_result.go
rename to dispatch/api/login_result.go
diff --git a/dispatch/entity/api/login_token_req.go b/dispatch/api/login_token_req.go
similarity index 100%
rename from dispatch/entity/api/login_token_req.go
rename to dispatch/api/login_token_req.go
diff --git a/dispatch/entity/api/region_rsp.go b/dispatch/api/region_rsp.go
similarity index 100%
rename from dispatch/entity/api/region_rsp.go
rename to dispatch/api/region_rsp.go
diff --git a/dispatch/controller/auto_patch_controller.go b/dispatch/controller/auto_patch_controller.go
index 251ddbcd..176000da 100644
--- a/dispatch/controller/auto_patch_controller.go
+++ b/dispatch/controller/auto_patch_controller.go
@@ -1,10 +1,12 @@
package controller
import (
- "github.com/gin-gonic/gin"
- "hk4e/logger"
"net/http"
"os"
+
+ "hk4e/pkg/logger"
+
+ "github.com/gin-gonic/gin"
)
func (c *Controller) headDataVersions(context *gin.Context) {
diff --git a/dispatch/controller/controller.go b/dispatch/controller/controller.go
index 035b4c56..d3d7ba1f 100644
--- a/dispatch/controller/controller.go
+++ b/dispatch/controller/controller.go
@@ -2,14 +2,16 @@ package controller
import (
"encoding/base64"
- "github.com/gin-gonic/gin"
- pb "google.golang.org/protobuf/proto"
+ "net/http"
+ "strconv"
+
"hk4e/common/config"
"hk4e/common/region"
"hk4e/dispatch/dao"
- "hk4e/logger"
- "net/http"
- "strconv"
+ "hk4e/pkg/logger"
+
+ "github.com/gin-gonic/gin"
+ pb "google.golang.org/protobuf/proto"
)
type Controller struct {
diff --git a/dispatch/controller/dispatch_controller.go b/dispatch/controller/dispatch_controller.go
index 0e86da78..65403b5a 100644
--- a/dispatch/controller/dispatch_controller.go
+++ b/dispatch/controller/dispatch_controller.go
@@ -3,15 +3,17 @@ package controller
import (
"bytes"
"encoding/base64"
- "github.com/gin-gonic/gin"
- "hk4e/common/utils/endec"
- "hk4e/dispatch/entity/api"
- "hk4e/logger"
"math"
"net/http"
"os"
"regexp"
"strconv"
+
+ "hk4e/dispatch/api"
+ "hk4e/pkg/endec"
+ "hk4e/pkg/logger"
+
+ "github.com/gin-gonic/gin"
)
func (c *Controller) query_security_file(context *gin.Context) {
diff --git a/dispatch/controller/fixed_controller.go b/dispatch/controller/fixed_controller.go
index 7eb6c9a6..8df50df4 100644
--- a/dispatch/controller/fixed_controller.go
+++ b/dispatch/controller/fixed_controller.go
@@ -1,11 +1,13 @@
package controller
import (
- "github.com/gin-gonic/gin"
- "hk4e/logger"
"net/http"
"os"
"strings"
+
+ "hk4e/pkg/logger"
+
+ "github.com/gin-gonic/gin"
)
// 返回固定数据
diff --git a/dispatch/controller/login_controller.go b/dispatch/controller/login_controller.go
index f12b5eff..309c974b 100644
--- a/dispatch/controller/login_controller.go
+++ b/dispatch/controller/login_controller.go
@@ -3,18 +3,20 @@ package controller
import (
"encoding/base64"
"encoding/json"
- "github.com/gin-gonic/gin"
- appConfig "hk4e/common/config"
- "hk4e/common/utils/endec"
- "hk4e/common/utils/httpclient"
- "hk4e/common/utils/random"
- "hk4e/dispatch/entity/api"
- "hk4e/dispatch/entity/db"
- "hk4e/logger"
"net/http"
"regexp"
"strconv"
"strings"
+
+ appConfig "hk4e/common/config"
+ "hk4e/dispatch/api"
+ db "hk4e/dispatch/model"
+ "hk4e/pkg/endec"
+ "hk4e/pkg/httpclient"
+ "hk4e/pkg/logger"
+ "hk4e/pkg/random"
+
+ "github.com/gin-gonic/gin"
)
type SdkUserLoginReq struct {
diff --git a/dispatch/dao/account_dao.go b/dispatch/dao/account_dao.go
index e73459b3..d265eac5 100644
--- a/dispatch/dao/account_dao.go
+++ b/dispatch/dao/account_dao.go
@@ -2,12 +2,14 @@ package dao
import (
"context"
+
+ dbEntity "hk4e/dispatch/model"
+ "hk4e/pkg/logger"
+
"github.com/pkg/errors"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
- dbEntity "hk4e/dispatch/entity/db"
- "hk4e/logger"
)
func (d *Dao) GetNextYuanShenUid() (uint64, error) {
diff --git a/dispatch/dao/dao.go b/dispatch/dao/dao.go
index db6fcf5e..b0466b37 100644
--- a/dispatch/dao/dao.go
+++ b/dispatch/dao/dao.go
@@ -2,10 +2,12 @@ package dao
import (
"context"
+
+ "hk4e/common/config"
+ "hk4e/pkg/logger"
+
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
- "hk4e/common/config"
- "hk4e/logger"
)
type Dao struct {
diff --git a/dispatch/entity/db/account.go b/dispatch/model/account.go
similarity index 97%
rename from dispatch/entity/db/account.go
rename to dispatch/model/account.go
index 18f39a11..255bf9eb 100644
--- a/dispatch/entity/db/account.go
+++ b/dispatch/model/account.go
@@ -1,4 +1,4 @@
-package db
+package model
import "go.mongodb.org/mongo-driver/bson/primitive"
diff --git a/dispatch/entity/db/player_id_counter.go b/dispatch/model/player_id_counter.go
similarity index 87%
rename from dispatch/entity/db/player_id_counter.go
rename to dispatch/model/player_id_counter.go
index 0cfbaa99..7309263b 100644
--- a/dispatch/entity/db/player_id_counter.go
+++ b/dispatch/model/player_id_counter.go
@@ -1,4 +1,4 @@
-package db
+package model
type PlayerIDCounter struct {
ID string `bson:"_id"`
diff --git a/dispatch/entity/gm/forbid_user_info.go b/dispatch/service/forbid_user_info.go
similarity index 82%
rename from dispatch/entity/gm/forbid_user_info.go
rename to dispatch/service/forbid_user_info.go
index 0face9d9..b0ecf106 100644
--- a/dispatch/entity/gm/forbid_user_info.go
+++ b/dispatch/service/forbid_user_info.go
@@ -1,4 +1,4 @@
-package gm
+package service
type ForbidUserInfo struct {
UserId uint32
diff --git a/dispatch/service/service.go b/dispatch/service/service.go
index ab50d98a..8a512cac 100644
--- a/dispatch/service/service.go
+++ b/dispatch/service/service.go
@@ -2,7 +2,6 @@ package service
import (
"hk4e/dispatch/dao"
- "hk4e/dispatch/entity/gm"
)
type Service struct {
@@ -37,7 +36,7 @@ func (f *Service) UserPasswordChange(uid uint32) bool {
}
// 封号
-func (f *Service) ForbidUser(info *gm.ForbidUserInfo) bool {
+func (f *Service) ForbidUser(info *ForbidUserInfo) bool {
if info == nil {
return false
}
diff --git a/gate/forward/forward.go b/gate/forward/forward.go
index 036f46fe..45e84f19 100644
--- a/gate/forward/forward.go
+++ b/gate/forward/forward.go
@@ -1,18 +1,19 @@
package forward
import (
+ "os"
+ "runtime"
+ "sync"
+ "time"
+
"hk4e/common/config"
"hk4e/common/region"
"hk4e/gate/entity/gm"
"hk4e/gate/kcp"
"hk4e/gate/net"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "os"
- "runtime"
- "sync"
- "time"
)
const (
diff --git a/gate/forward/login_hk4e.go b/gate/forward/login_hk4e.go
index 7c995906..989ed3c0 100644
--- a/gate/forward/login_hk4e.go
+++ b/gate/forward/login_hk4e.go
@@ -4,13 +4,14 @@ import (
"bytes"
"encoding/base64"
"encoding/binary"
- "hk4e/common/utils/endec"
- "hk4e/gate/kcp"
- "hk4e/gate/net"
- "hk4e/logger"
- "hk4e/protocol/proto"
"strconv"
"strings"
+
+ "hk4e/gate/kcp"
+ "hk4e/gate/net"
+ "hk4e/pkg/endec"
+ "hk4e/pkg/logger"
+ "hk4e/protocol/proto"
)
func (f *ForwardManager) getPlayerToken(convId uint64, req *proto.GetPlayerTokenReq) (rsp *proto.GetPlayerTokenRsp) {
diff --git a/gate/mq/mq.go b/gate/mq/mq.go
index 949a0f53..80be712e 100644
--- a/gate/mq/mq.go
+++ b/gate/mq/mq.go
@@ -1,12 +1,13 @@
package mq
import (
+ "hk4e/common/config"
+ "hk4e/pkg/logger"
+ "hk4e/protocol/cmd"
+
"github.com/nats-io/nats.go"
"github.com/vmihailenco/msgpack/v5"
pb "google.golang.org/protobuf/proto"
- "hk4e/common/config"
- "hk4e/logger"
- "hk4e/protocol/cmd"
)
type MessageQueue struct {
diff --git a/gate/net/kcp_connect_manager.go b/gate/net/kcp_connect_manager.go
index fa3d59dd..6e934933 100644
--- a/gate/net/kcp_connect_manager.go
+++ b/gate/net/kcp_connect_manager.go
@@ -3,14 +3,15 @@ package net
import (
"bytes"
"encoding/binary"
- "hk4e/common/config"
- "hk4e/common/utils/random"
- "hk4e/gate/kcp"
- "hk4e/logger"
"os"
"strconv"
"sync"
"time"
+
+ "hk4e/common/config"
+ "hk4e/gate/kcp"
+ "hk4e/pkg/logger"
+ "hk4e/pkg/random"
)
type KcpXorKey struct {
diff --git a/gate/net/kcp_endecode.go b/gate/net/kcp_endecode.go
index 539e6ea0..bd6d05cd 100644
--- a/gate/net/kcp_endecode.go
+++ b/gate/net/kcp_endecode.go
@@ -3,8 +3,9 @@ package net
import (
"bytes"
"encoding/binary"
- "hk4e/common/utils/endec"
- "hk4e/logger"
+
+ "hk4e/pkg/endec"
+ "hk4e/pkg/logger"
)
/*
diff --git a/gate/net/kcp_event.go b/gate/net/kcp_event.go
index bb53ef39..f607e771 100644
--- a/gate/net/kcp_event.go
+++ b/gate/net/kcp_event.go
@@ -1,6 +1,6 @@
package net
-import "hk4e/logger"
+import "hk4e/pkg/logger"
const (
KcpXorKeyChange = iota
diff --git a/gate/net/proto_endecode.go b/gate/net/proto_endecode.go
index a414d67f..15c56473 100644
--- a/gate/net/proto_endecode.go
+++ b/gate/net/proto_endecode.go
@@ -1,10 +1,11 @@
package net
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
+
+ pb "google.golang.org/protobuf/proto"
)
type ProtoEnDecode struct {
diff --git a/gm/controller/controller.go b/gm/controller/controller.go
index c0566000..b2827402 100644
--- a/gm/controller/controller.go
+++ b/gm/controller/controller.go
@@ -1,11 +1,13 @@
package controller
import (
- "github.com/gin-gonic/gin"
- "hk4e/common/config"
- "hk4e/logger"
"net/http"
"strconv"
+
+ "hk4e/common/config"
+ "hk4e/pkg/logger"
+
+ "github.com/gin-gonic/gin"
)
type Controller struct {
diff --git a/gm/controller/gm_controller.go b/gm/controller/gm_controller.go
index bc1aa647..f52f746d 100644
--- a/gm/controller/gm_controller.go
+++ b/gm/controller/gm_controller.go
@@ -1,8 +1,9 @@
package controller
import (
+ "hk4e/pkg/logger"
+
"github.com/gin-gonic/gin"
- "hk4e/logger"
)
type GmCmdReq struct {
diff --git a/gs/config/ability_embryos.go b/gs/config/ability_embryos.go
index 4455e0d3..2eca2412 100644
--- a/gs/config/ability_embryos.go
+++ b/gs/config/ability_embryos.go
@@ -2,9 +2,10 @@ package config
import (
"encoding/json"
- "hk4e/logger"
"os"
"strings"
+
+ "hk4e/pkg/logger"
)
type AvatarConfigAbility struct {
diff --git a/gs/config/avatar_data.go b/gs/config/avatar_data.go
index 3d82d7c1..e9d72a69 100644
--- a/gs/config/avatar_data.go
+++ b/gs/config/avatar_data.go
@@ -2,10 +2,11 @@ package config
import (
"encoding/json"
- "hk4e/common/utils/endec"
- "hk4e/logger"
"os"
"strings"
+
+ "hk4e/pkg/endec"
+ "hk4e/pkg/logger"
)
type AvatarData struct {
diff --git a/gs/config/avatar_skill_data.go b/gs/config/avatar_skill_data.go
index ac5d5072..f77bbb22 100644
--- a/gs/config/avatar_skill_data.go
+++ b/gs/config/avatar_skill_data.go
@@ -2,9 +2,10 @@ package config
import (
"encoding/json"
- "hk4e/gs/constant"
- "hk4e/logger"
"os"
+
+ "hk4e/gs/constant"
+ "hk4e/pkg/logger"
)
type AvatarSkillData struct {
diff --git a/gs/config/avatar_skill_depot_data.go b/gs/config/avatar_skill_depot_data.go
index 9b90f150..82f19fc7 100644
--- a/gs/config/avatar_skill_depot_data.go
+++ b/gs/config/avatar_skill_depot_data.go
@@ -2,10 +2,11 @@ package config
import (
"encoding/json"
- "hk4e/common/utils/endec"
- "hk4e/gs/constant"
- "hk4e/logger"
"os"
+
+ "hk4e/gs/constant"
+ "hk4e/pkg/endec"
+ "hk4e/pkg/logger"
)
type InherentProudSkillOpens struct {
diff --git a/gs/config/drop_group_data.go b/gs/config/drop_group_data.go
index 72877708..33a4955d 100644
--- a/gs/config/drop_group_data.go
+++ b/gs/config/drop_group_data.go
@@ -1,10 +1,12 @@
package config
import (
- "github.com/jszwec/csvutil"
- "hk4e/logger"
"os"
"strings"
+
+ "hk4e/pkg/logger"
+
+ "github.com/jszwec/csvutil"
)
type Drop struct {
diff --git a/gs/config/fetter_data.go b/gs/config/fetter_data.go
index e9df6034..230f6740 100644
--- a/gs/config/fetter_data.go
+++ b/gs/config/fetter_data.go
@@ -2,8 +2,9 @@ package config
import (
"encoding/json"
- "hk4e/logger"
"os"
+
+ "hk4e/pkg/logger"
)
type FetterData struct {
diff --git a/gs/config/gadget_data.go b/gs/config/gadget_data.go
index 8a1980d6..a7e0e4af 100644
--- a/gs/config/gadget_data.go
+++ b/gs/config/gadget_data.go
@@ -2,9 +2,10 @@ package config
import (
"encoding/json"
- "hk4e/gs/constant"
- "hk4e/logger"
"os"
+
+ "hk4e/gs/constant"
+ "hk4e/pkg/logger"
)
type GadgetData struct {
diff --git a/gs/config/game_data_config.go b/gs/config/game_data_config.go
index 7fd2214a..7a83790e 100644
--- a/gs/config/game_data_config.go
+++ b/gs/config/game_data_config.go
@@ -1,9 +1,10 @@
package config
import (
- appConfig "hk4e/common/config"
- "hk4e/logger"
"os"
+
+ appConfig "hk4e/common/config"
+ "hk4e/pkg/logger"
)
var CONF *GameDataConfig = nil
diff --git a/gs/config/game_depot.go b/gs/config/game_depot.go
index 65e51aff..fedb6b5a 100644
--- a/gs/config/game_depot.go
+++ b/gs/config/game_depot.go
@@ -2,8 +2,9 @@ package config
import (
"encoding/json"
- "hk4e/logger"
"os"
+
+ "hk4e/pkg/logger"
)
type GameDepot struct {
diff --git a/gs/config/gather_data.go b/gs/config/gather_data.go
index 84146814..fd0a756a 100644
--- a/gs/config/gather_data.go
+++ b/gs/config/gather_data.go
@@ -2,8 +2,9 @@ package config
import (
"encoding/json"
- "hk4e/logger"
"os"
+
+ "hk4e/pkg/logger"
)
type GatherData struct {
diff --git a/gs/config/item_data.go b/gs/config/item_data.go
index 680441d6..6b3f7dd2 100644
--- a/gs/config/item_data.go
+++ b/gs/config/item_data.go
@@ -2,9 +2,10 @@ package config
import (
"encoding/json"
- "hk4e/gs/constant"
- "hk4e/logger"
"os"
+
+ "hk4e/gs/constant"
+ "hk4e/pkg/logger"
)
type ItemUseData struct {
diff --git a/gs/config/open_config_entries.go b/gs/config/open_config_entries.go
index 85fad332..abee5726 100644
--- a/gs/config/open_config_entries.go
+++ b/gs/config/open_config_entries.go
@@ -2,9 +2,10 @@ package config
import (
"encoding/json"
- "hk4e/logger"
"os"
"strings"
+
+ "hk4e/pkg/logger"
)
type SkillPointModifier struct {
diff --git a/gs/config/scene_points.go b/gs/config/scene_points.go
index 10b0f345..8563c82b 100644
--- a/gs/config/scene_points.go
+++ b/gs/config/scene_points.go
@@ -2,10 +2,11 @@ package config
import (
"encoding/json"
- "hk4e/logger"
"os"
"strconv"
"strings"
+
+ "hk4e/pkg/logger"
)
type ScenePointEntry struct {
diff --git a/gs/constant/element_type.go b/gs/constant/element_type.go
index 401ef8cd..504d9ae5 100644
--- a/gs/constant/element_type.go
+++ b/gs/constant/element_type.go
@@ -1,6 +1,6 @@
package constant
-import "hk4e/common/utils/endec"
+import "hk4e/pkg/endec"
var ElementTypeConst *ElementType
diff --git a/gs/constant/game_constant.go b/gs/constant/game_constant.go
index b1fc9bd0..ad2ac078 100644
--- a/gs/constant/game_constant.go
+++ b/gs/constant/game_constant.go
@@ -1,6 +1,6 @@
package constant
-import "hk4e/common/utils/endec"
+import "hk4e/pkg/endec"
var GameConstantConst *GameConstant
diff --git a/gs/dao/dao.go b/gs/dao/dao.go
index fee57c67..0b587ded 100644
--- a/gs/dao/dao.go
+++ b/gs/dao/dao.go
@@ -2,10 +2,12 @@ package dao
import (
"context"
+
+ "hk4e/common/config"
+ "hk4e/pkg/logger"
+
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
- "hk4e/common/config"
- "hk4e/logger"
)
type Dao struct {
diff --git a/gs/game/aoi/aoi.go b/gs/game/aoi/aoi.go
index 66199473..48e56497 100644
--- a/gs/game/aoi/aoi.go
+++ b/gs/game/aoi/aoi.go
@@ -2,7 +2,8 @@ package aoi
import (
"fmt"
- "hk4e/logger"
+
+ "hk4e/pkg/logger"
)
// aoi管理模块
diff --git a/gs/game/aoi/aoi_test.go b/gs/game/aoi/aoi_test.go
index 4cb52ea5..ce19c99f 100644
--- a/gs/game/aoi/aoi_test.go
+++ b/gs/game/aoi/aoi_test.go
@@ -1,15 +1,16 @@
package aoi
import (
- "hk4e/common/config"
- "hk4e/logger"
"testing"
+
+ "hk4e/common/config"
+ "hk4e/pkg/logger"
)
func TestAoiManagerGetSurrGridListByGid(t *testing.T) {
filePath := "./application.toml"
config.InitConfig(filePath)
- logger.InitLogger("")
+ logger.InitLogger("", config.CONF.Logger)
aoiManager := NewAoiManager(
-150, 150, 3,
-150, 150, 3,
diff --git a/gs/game/aoi/grid.go b/gs/game/aoi/grid.go
index 04ef4c4b..81042a9f 100644
--- a/gs/game/aoi/grid.go
+++ b/gs/game/aoi/grid.go
@@ -2,7 +2,8 @@ package aoi
import (
"fmt"
- "hk4e/logger"
+
+ "hk4e/pkg/logger"
)
// 地图格子
diff --git a/gs/game/command_manager.go b/gs/game/command_manager.go
index 7e92d0ad..50504e9c 100644
--- a/gs/game/command_manager.go
+++ b/gs/game/command_manager.go
@@ -2,10 +2,11 @@ package game
import (
"fmt"
- "hk4e/gs/model"
- "hk4e/logger"
- "hk4e/protocol/proto"
"strings"
+
+ "hk4e/gs/model"
+ "hk4e/pkg/logger"
+ "hk4e/protocol/proto"
)
// CommandPerm 命令权限等级
diff --git a/gs/game/game_manager.go b/gs/game/game_manager.go
index 46f8341a..50d8f7a3 100644
--- a/gs/game/game_manager.go
+++ b/gs/game/game_manager.go
@@ -1,14 +1,15 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/common/utils/alg"
"hk4e/gate/entity/gm"
"hk4e/gate/kcp"
"hk4e/gs/dao"
- "hk4e/logger"
+ "hk4e/pkg/alg"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
+
+ pb "google.golang.org/protobuf/proto"
)
type GameManager struct {
diff --git a/gs/game/route_manager.go b/gs/game/route_manager.go
index 3ef5d4de..c3ae54f9 100644
--- a/gs/game/route_manager.go
+++ b/gs/game/route_manager.go
@@ -1,10 +1,11 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
+
+ pb "google.golang.org/protobuf/proto"
)
// 接口路由管理器
diff --git a/gs/game/tick_manager.go b/gs/game/tick_manager.go
index 96d6c562..962ee71b 100644
--- a/gs/game/tick_manager.go
+++ b/gs/game/tick_manager.go
@@ -1,13 +1,14 @@
package game
import (
- "hk4e/common/utils/random"
+ "time"
+
"hk4e/gs/constant"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
+ "hk4e/pkg/random"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "time"
)
// 游戏服务器定时帧管理器
diff --git a/gs/game/user_avatar.go b/gs/game/user_avatar.go
index a64f979d..08cdf903 100644
--- a/gs/game/user_avatar.go
+++ b/gs/game/user_avatar.go
@@ -1,14 +1,15 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/common/utils/object"
gdc "hk4e/gs/config"
"hk4e/gs/constant"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
+ "hk4e/pkg/object"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) GetAllAvatarDataConfig() map[int32]*gdc.AvatarData {
diff --git a/gs/game/user_chat.go b/gs/game/user_chat.go
index b6d2c7d7..808ff226 100644
--- a/gs/game/user_chat.go
+++ b/gs/game/user_chat.go
@@ -1,12 +1,14 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
+ "time"
+
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "time"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) PullRecentChatReq(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_combat.go b/gs/game/user_combat.go
index 3f4c61d6..7c7bcc1c 100644
--- a/gs/game/user_combat.go
+++ b/gs/game/user_combat.go
@@ -1,11 +1,12 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) CombatInvocationsNotify(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_common_handler.go b/gs/game/user_common_handler.go
index 7baed8c9..381f915f 100644
--- a/gs/game/user_common_handler.go
+++ b/gs/game/user_common_handler.go
@@ -1,12 +1,14 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
+ "time"
+
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "time"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) PlayerSetPauseReq(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_gacha.go b/gs/game/user_gacha.go
index cf8118fa..97495715 100644
--- a/gs/game/user_gacha.go
+++ b/gs/game/user_gacha.go
@@ -1,16 +1,18 @@
package game
import (
- "github.com/golang-jwt/jwt/v4"
- pb "google.golang.org/protobuf/proto"
+ "time"
+
"hk4e/common/config"
- "hk4e/common/utils/random"
gdc "hk4e/gs/config"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
+ "hk4e/pkg/random"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "time"
+
+ "github.com/golang-jwt/jwt/v4"
+ pb "google.golang.org/protobuf/proto"
)
type UserInfo struct {
diff --git a/gs/game/user_item.go b/gs/game/user_item.go
index 4c082fcc..fe3d02aa 100644
--- a/gs/game/user_item.go
+++ b/gs/game/user_item.go
@@ -3,7 +3,7 @@ package game
import (
gdc "hk4e/gs/config"
"hk4e/gs/constant"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
)
diff --git a/gs/game/user_login.go b/gs/game/user_login.go
index 7242d388..f4686d0f 100644
--- a/gs/game/user_login.go
+++ b/gs/game/user_login.go
@@ -1,15 +1,17 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/common/utils/reflection"
+ "time"
+
gdc "hk4e/gs/config"
"hk4e/gs/constant"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
+ "hk4e/pkg/reflection"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "time"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) OnLogin(userId uint32, clientSeq uint32) {
diff --git a/gs/game/user_manager.go b/gs/game/user_manager.go
index 299dea09..28fad73e 100644
--- a/gs/game/user_manager.go
+++ b/gs/game/user_manager.go
@@ -2,12 +2,13 @@ package game
import (
"encoding/json"
- "hk4e/gs/dao"
- "hk4e/gs/model"
- "hk4e/logger"
- "hk4e/protocol/proto"
"sync"
"time"
+
+ "hk4e/gs/dao"
+ "hk4e/gs/model"
+ "hk4e/pkg/logger"
+ "hk4e/protocol/proto"
)
type UserManager struct {
diff --git a/gs/game/user_map.go b/gs/game/user_map.go
index 4c5bd701..df1e8712 100644
--- a/gs/game/user_map.go
+++ b/gs/game/user_map.go
@@ -1,14 +1,16 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
+ "strconv"
+
gdc "hk4e/gs/config"
"hk4e/gs/constant"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "strconv"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) SceneTransToPointReq(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_multiplayer.go b/gs/game/user_multiplayer.go
index 34aee6a3..cda73f5a 100644
--- a/gs/game/user_multiplayer.go
+++ b/gs/game/user_multiplayer.go
@@ -1,13 +1,15 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
+ "time"
+
"hk4e/gs/constant"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "time"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) PlayerApplyEnterMpReq(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_scene.go b/gs/game/user_scene.go
index 0b45107c..425264c3 100644
--- a/gs/game/user_scene.go
+++ b/gs/game/user_scene.go
@@ -1,17 +1,19 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/common/utils/object"
- "hk4e/common/utils/random"
+ "strconv"
+ "time"
+
gdc "hk4e/gs/config"
"hk4e/gs/constant"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
+ "hk4e/pkg/object"
+ "hk4e/pkg/random"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "strconv"
- "time"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) EnterSceneReadyReq(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_shop.go b/gs/game/user_shop.go
index 4c0b9746..eb530e30 100644
--- a/gs/game/user_shop.go
+++ b/gs/game/user_shop.go
@@ -1,13 +1,15 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
+ "time"
+
"hk4e/gs/constant"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "time"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) GetShopmallDataReq(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_social.go b/gs/game/user_social.go
index ab9405af..76c99008 100644
--- a/gs/game/user_social.go
+++ b/gs/game/user_social.go
@@ -1,16 +1,18 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/common/utils/object"
- "hk4e/gs/constant"
- "hk4e/gs/model"
- "hk4e/logger"
- "hk4e/protocol/cmd"
- "hk4e/protocol/proto"
"regexp"
"time"
"unicode/utf8"
+
+ "hk4e/gs/constant"
+ "hk4e/gs/model"
+ "hk4e/pkg/logger"
+ "hk4e/pkg/object"
+ "hk4e/protocol/cmd"
+ "hk4e/protocol/proto"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) GetPlayerSocialDetailReq(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_team.go b/gs/game/user_team.go
index 926005d2..1264f29a 100644
--- a/gs/game/user_team.go
+++ b/gs/game/user_team.go
@@ -1,14 +1,15 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/common/utils/endec"
gdc "hk4e/gs/config"
"hk4e/gs/constant"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/endec"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
+
+ pb "google.golang.org/protobuf/proto"
)
func (g *GameManager) ChangeAvatarReq(player *model.Player, payloadMsg pb.Message) {
diff --git a/gs/game/user_weapon.go b/gs/game/user_weapon.go
index e17399f5..ea94c1b3 100644
--- a/gs/game/user_weapon.go
+++ b/gs/game/user_weapon.go
@@ -3,7 +3,7 @@ package game
import (
gdc "hk4e/gs/config"
"hk4e/gs/constant"
- "hk4e/logger"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
)
diff --git a/gs/game/world_manager.go b/gs/game/world_manager.go
index 54eebeca..e802c56a 100644
--- a/gs/game/world_manager.go
+++ b/gs/game/world_manager.go
@@ -1,16 +1,18 @@
package game
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/common/utils/alg"
+ "math"
+ "time"
+
"hk4e/gs/constant"
"hk4e/gs/game/aoi"
"hk4e/gs/model"
- "hk4e/logger"
+ "hk4e/pkg/alg"
+ "hk4e/pkg/logger"
"hk4e/protocol/cmd"
"hk4e/protocol/proto"
- "math"
- "time"
+
+ pb "google.golang.org/protobuf/proto"
)
// 世界管理器
diff --git a/gs/game/world_static.go b/gs/game/world_static.go
index c1e7a23b..9b9cd814 100644
--- a/gs/game/world_static.go
+++ b/gs/game/world_static.go
@@ -3,11 +3,12 @@ package game
import (
"bytes"
"encoding/gob"
- "hk4e/common/utils/alg"
+ "unsafe"
+
gdc "hk4e/gs/config"
"hk4e/gs/model"
- "hk4e/logger"
- "unsafe"
+ "hk4e/pkg/alg"
+ "hk4e/pkg/logger"
)
// 世界的静态资源坐标点数据
diff --git a/gs/model/avatar.go b/gs/model/avatar.go
index 2b4f4656..e4f1f63f 100644
--- a/gs/model/avatar.go
+++ b/gs/model/avatar.go
@@ -1,10 +1,11 @@
package model
import (
+ "time"
+
gdc "hk4e/gs/config"
"hk4e/gs/constant"
- "hk4e/logger"
- "time"
+ "hk4e/pkg/logger"
)
type Avatar struct {
diff --git a/gs/mq/mq.go b/gs/mq/mq.go
index a395e642..fa1cba93 100644
--- a/gs/mq/mq.go
+++ b/gs/mq/mq.go
@@ -1,12 +1,13 @@
package mq
import (
+ "hk4e/common/config"
+ "hk4e/pkg/logger"
+ "hk4e/protocol/cmd"
+
"github.com/nats-io/nats.go"
"github.com/vmihailenco/msgpack/v5"
pb "google.golang.org/protobuf/proto"
- "hk4e/common/config"
- "hk4e/logger"
- "hk4e/protocol/cmd"
)
type MessageQueue struct {
diff --git a/common/utils/alg/bfs_pathfinding.go b/pkg/alg/bfs_pathfinding.go
similarity index 100%
rename from common/utils/alg/bfs_pathfinding.go
rename to pkg/alg/bfs_pathfinding.go
diff --git a/common/utils/alg/common_pathfinding.go b/pkg/alg/common_pathfinding.go
similarity index 100%
rename from common/utils/alg/common_pathfinding.go
rename to pkg/alg/common_pathfinding.go
diff --git a/common/utils/alg/queue.go b/pkg/alg/queue.go
similarity index 100%
rename from common/utils/alg/queue.go
rename to pkg/alg/queue.go
diff --git a/common/utils/alg/queue_test.go b/pkg/alg/queue_test.go
similarity index 100%
rename from common/utils/alg/queue_test.go
rename to pkg/alg/queue_test.go
diff --git a/common/utils/alg/snowflake.go b/pkg/alg/snowflake.go
similarity index 100%
rename from common/utils/alg/snowflake.go
rename to pkg/alg/snowflake.go
diff --git a/common/utils/alg/snowflake_test.go b/pkg/alg/snowflake_test.go
similarity index 100%
rename from common/utils/alg/snowflake_test.go
rename to pkg/alg/snowflake_test.go
diff --git a/common/utils/email/email.go b/pkg/email/email.go
similarity index 100%
rename from common/utils/email/email.go
rename to pkg/email/email.go
diff --git a/common/utils/email/email_test.go b/pkg/email/email_test.go
similarity index 100%
rename from common/utils/email/email_test.go
rename to pkg/email/email_test.go
diff --git a/common/utils/email/pool.go b/pkg/email/pool.go
similarity index 100%
rename from common/utils/email/pool.go
rename to pkg/email/pool.go
diff --git a/common/utils/endec/endec.go b/pkg/endec/endec.go
similarity index 100%
rename from common/utils/endec/endec.go
rename to pkg/endec/endec.go
diff --git a/common/utils/endec/endec_test.go b/pkg/endec/endec_test.go
similarity index 100%
rename from common/utils/endec/endec_test.go
rename to pkg/endec/endec_test.go
diff --git a/common/utils/httpclient/http_client.go b/pkg/httpclient/http_client.go
similarity index 100%
rename from common/utils/httpclient/http_client.go
rename to pkg/httpclient/http_client.go
diff --git a/logger/logger.go b/pkg/logger/logger.go
similarity index 93%
rename from logger/logger.go
rename to pkg/logger/logger.go
index ea2b4ada..aa7a54fc 100644
--- a/logger/logger.go
+++ b/pkg/logger/logger.go
@@ -3,7 +3,6 @@ package logger
import (
"bytes"
"fmt"
- "hk4e/common/config"
"log"
"os"
"path"
@@ -46,12 +45,19 @@ type LogInfo struct {
goroutineId string
}
-func InitLogger(name string) {
+// 日志配置
+type Config struct {
+ Level string `toml:"level"`
+ Method string `toml:"method"`
+ TrackLine bool `toml:"track_line"`
+}
+
+func InitLogger(name string, cfg Config) {
log.SetFlags(0)
LOG = new(Logger)
- LOG.level = getLevelInt(config.CONF.Logger.Level)
- LOG.method = getMethodInt(config.CONF.Logger.Method)
- LOG.trackLine = config.CONF.Logger.TrackLine
+ LOG.level = getLevelInt(cfg.Level)
+ LOG.method = getMethodInt(cfg.Method)
+ LOG.trackLine = cfg.TrackLine
LOG.logInfoChan = make(chan *LogInfo, 1000)
if LOG.method == FILE || LOG.method == BOTH {
file, err := os.OpenFile("./"+name+".log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
diff --git a/common/utils/object/object.go b/pkg/object/object.go
similarity index 100%
rename from common/utils/object/object.go
rename to pkg/object/object.go
diff --git a/common/utils/random/random.go b/pkg/random/random.go
similarity index 100%
rename from common/utils/random/random.go
rename to pkg/random/random.go
diff --git a/common/utils/random/random_test.go b/pkg/random/random_test.go
similarity index 100%
rename from common/utils/random/random_test.go
rename to pkg/random/random_test.go
diff --git a/common/utils/reflection/struct.go b/pkg/reflection/struct.go
similarity index 100%
rename from common/utils/reflection/struct.go
rename to pkg/reflection/struct.go
diff --git a/protocol/cmd/cmd_id_proto_obj_map.go b/protocol/cmd/cmd_id_proto_obj_map.go
index f8121038..d7e46455 100644
--- a/protocol/cmd/cmd_id_proto_obj_map.go
+++ b/protocol/cmd/cmd_id_proto_obj_map.go
@@ -1,10 +1,12 @@
package cmd
import (
- pb "google.golang.org/protobuf/proto"
- "hk4e/logger"
- "hk4e/protocol/proto"
"reflect"
+
+ "hk4e/pkg/logger"
+ "hk4e/protocol/proto"
+
+ pb "google.golang.org/protobuf/proto"
)
type CmdProtoMap struct {
diff --git a/protocol/proto/AISnapshotEntityData.pb.go b/protocol/proto/AISnapshotEntityData.pb.go
new file mode 100644
index 00000000..0ff45464
--- /dev/null
+++ b/protocol/proto/AISnapshotEntityData.pb.go
@@ -0,0 +1,290 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AISnapshotEntityData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AISnapshotEntityData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TickTime float32 `protobuf:"fixed32,5,opt,name=tick_time,json=tickTime,proto3" json:"tick_time,omitempty"`
+ Tactic uint32 `protobuf:"varint,2,opt,name=tactic,proto3" json:"tactic,omitempty"`
+ FinishedSkillCycles []*AISnapshotEntitySkillCycle `protobuf:"bytes,9,rep,name=finished_skill_cycles,json=finishedSkillCycles,proto3" json:"finished_skill_cycles,omitempty"`
+ MovedDistance float32 `protobuf:"fixed32,4,opt,name=moved_distance,json=movedDistance,proto3" json:"moved_distance,omitempty"`
+ AiTargetId uint32 `protobuf:"varint,13,opt,name=ai_target_id,json=aiTargetId,proto3" json:"ai_target_id,omitempty"`
+ ThreatTargetId uint32 `protobuf:"varint,3,opt,name=threat_target_id,json=threatTargetId,proto3" json:"threat_target_id,omitempty"`
+ ThreatListSize uint32 `protobuf:"varint,1,opt,name=threat_list_size,json=threatListSize,proto3" json:"threat_list_size,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ HittingAvatars map[uint32]uint32 `protobuf:"bytes,7,rep,name=hitting_avatars,json=hittingAvatars,proto3" json:"hitting_avatars,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ DistanceToPlayer float32 `protobuf:"fixed32,11,opt,name=distance_to_player,json=distanceToPlayer,proto3" json:"distance_to_player,omitempty"`
+ AttackTargetId uint32 `protobuf:"varint,10,opt,name=attack_target_id,json=attackTargetId,proto3" json:"attack_target_id,omitempty"`
+ RealTime float32 `protobuf:"fixed32,14,opt,name=real_time,json=realTime,proto3" json:"real_time,omitempty"`
+}
+
+func (x *AISnapshotEntityData) Reset() {
+ *x = AISnapshotEntityData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AISnapshotEntityData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AISnapshotEntityData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AISnapshotEntityData) ProtoMessage() {}
+
+func (x *AISnapshotEntityData) ProtoReflect() protoreflect.Message {
+ mi := &file_AISnapshotEntityData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AISnapshotEntityData.ProtoReflect.Descriptor instead.
+func (*AISnapshotEntityData) Descriptor() ([]byte, []int) {
+ return file_AISnapshotEntityData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AISnapshotEntityData) GetTickTime() float32 {
+ if x != nil {
+ return x.TickTime
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetTactic() uint32 {
+ if x != nil {
+ return x.Tactic
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetFinishedSkillCycles() []*AISnapshotEntitySkillCycle {
+ if x != nil {
+ return x.FinishedSkillCycles
+ }
+ return nil
+}
+
+func (x *AISnapshotEntityData) GetMovedDistance() float32 {
+ if x != nil {
+ return x.MovedDistance
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetAiTargetId() uint32 {
+ if x != nil {
+ return x.AiTargetId
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetThreatTargetId() uint32 {
+ if x != nil {
+ return x.ThreatTargetId
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetThreatListSize() uint32 {
+ if x != nil {
+ return x.ThreatListSize
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetHittingAvatars() map[uint32]uint32 {
+ if x != nil {
+ return x.HittingAvatars
+ }
+ return nil
+}
+
+func (x *AISnapshotEntityData) GetDistanceToPlayer() float32 {
+ if x != nil {
+ return x.DistanceToPlayer
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetAttackTargetId() uint32 {
+ if x != nil {
+ return x.AttackTargetId
+ }
+ return 0
+}
+
+func (x *AISnapshotEntityData) GetRealTime() float32 {
+ if x != nil {
+ return x.RealTime
+ }
+ return 0
+}
+
+var File_AISnapshotEntityData_proto protoreflect.FileDescriptor
+
+var file_AISnapshotEntityData_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x49, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x41, 0x49, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x04, 0x0a, 0x14, 0x41, 0x49, 0x53, 0x6e, 0x61, 0x70,
+ 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b,
+ 0x0a, 0x09, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x08, 0x74, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74,
+ 0x61, 0x63, 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x61, 0x63,
+ 0x74, 0x69, 0x63, 0x12, 0x55, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f,
+ 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x49, 0x53, 0x6e, 0x61,
+ 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x43, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x13, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x6f,
+ 0x76, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63,
+ 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x69, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x69, 0x54, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74,
+ 0x68, 0x72, 0x65, 0x61, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a,
+ 0x10, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4c,
+ 0x69, 0x73, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x0f, 0x68, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x49, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x48, 0x69, 0x74, 0x74, 0x69,
+ 0x6e, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x68, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x73, 0x12, 0x2c,
+ 0x0a, 0x12, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x64, 0x69, 0x73, 0x74,
+ 0x61, 0x6e, 0x63, 0x65, 0x54, 0x6f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10,
+ 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x54,
+ 0x69, 0x6d, 0x65, 0x1a, 0x41, 0x0a, 0x13, 0x48, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AISnapshotEntityData_proto_rawDescOnce sync.Once
+ file_AISnapshotEntityData_proto_rawDescData = file_AISnapshotEntityData_proto_rawDesc
+)
+
+func file_AISnapshotEntityData_proto_rawDescGZIP() []byte {
+ file_AISnapshotEntityData_proto_rawDescOnce.Do(func() {
+ file_AISnapshotEntityData_proto_rawDescData = protoimpl.X.CompressGZIP(file_AISnapshotEntityData_proto_rawDescData)
+ })
+ return file_AISnapshotEntityData_proto_rawDescData
+}
+
+var file_AISnapshotEntityData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AISnapshotEntityData_proto_goTypes = []interface{}{
+ (*AISnapshotEntityData)(nil), // 0: proto.AISnapshotEntityData
+ nil, // 1: proto.AISnapshotEntityData.HittingAvatarsEntry
+ (*AISnapshotEntitySkillCycle)(nil), // 2: proto.AISnapshotEntitySkillCycle
+}
+var file_AISnapshotEntityData_proto_depIdxs = []int32{
+ 2, // 0: proto.AISnapshotEntityData.finished_skill_cycles:type_name -> proto.AISnapshotEntitySkillCycle
+ 1, // 1: proto.AISnapshotEntityData.hitting_avatars:type_name -> proto.AISnapshotEntityData.HittingAvatarsEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AISnapshotEntityData_proto_init() }
+func file_AISnapshotEntityData_proto_init() {
+ if File_AISnapshotEntityData_proto != nil {
+ return
+ }
+ file_AISnapshotEntitySkillCycle_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AISnapshotEntityData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AISnapshotEntityData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AISnapshotEntityData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AISnapshotEntityData_proto_goTypes,
+ DependencyIndexes: file_AISnapshotEntityData_proto_depIdxs,
+ MessageInfos: file_AISnapshotEntityData_proto_msgTypes,
+ }.Build()
+ File_AISnapshotEntityData_proto = out.File
+ file_AISnapshotEntityData_proto_rawDesc = nil
+ file_AISnapshotEntityData_proto_goTypes = nil
+ file_AISnapshotEntityData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AISnapshotEntitySkillCycle.pb.go b/protocol/proto/AISnapshotEntitySkillCycle.pb.go
new file mode 100644
index 00000000..7f101624
--- /dev/null
+++ b/protocol/proto/AISnapshotEntitySkillCycle.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AISnapshotEntitySkillCycle.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AISnapshotEntitySkillCycle struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Failed bool `protobuf:"varint,12,opt,name=failed,proto3" json:"failed,omitempty"`
+ Trydoskill bool `protobuf:"varint,8,opt,name=trydoskill,proto3" json:"trydoskill,omitempty"`
+ Success bool `protobuf:"varint,9,opt,name=success,proto3" json:"success,omitempty"`
+ Selected bool `protobuf:"varint,1,opt,name=selected,proto3" json:"selected,omitempty"`
+ SkillId uint32 `protobuf:"varint,2,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+}
+
+func (x *AISnapshotEntitySkillCycle) Reset() {
+ *x = AISnapshotEntitySkillCycle{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AISnapshotEntitySkillCycle_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AISnapshotEntitySkillCycle) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AISnapshotEntitySkillCycle) ProtoMessage() {}
+
+func (x *AISnapshotEntitySkillCycle) ProtoReflect() protoreflect.Message {
+ mi := &file_AISnapshotEntitySkillCycle_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AISnapshotEntitySkillCycle.ProtoReflect.Descriptor instead.
+func (*AISnapshotEntitySkillCycle) Descriptor() ([]byte, []int) {
+ return file_AISnapshotEntitySkillCycle_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AISnapshotEntitySkillCycle) GetFailed() bool {
+ if x != nil {
+ return x.Failed
+ }
+ return false
+}
+
+func (x *AISnapshotEntitySkillCycle) GetTrydoskill() bool {
+ if x != nil {
+ return x.Trydoskill
+ }
+ return false
+}
+
+func (x *AISnapshotEntitySkillCycle) GetSuccess() bool {
+ if x != nil {
+ return x.Success
+ }
+ return false
+}
+
+func (x *AISnapshotEntitySkillCycle) GetSelected() bool {
+ if x != nil {
+ return x.Selected
+ }
+ return false
+}
+
+func (x *AISnapshotEntitySkillCycle) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+var File_AISnapshotEntitySkillCycle_proto protoreflect.FileDescriptor
+
+var file_AISnapshotEntitySkillCycle_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x49, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a, 0x1a, 0x41, 0x49,
+ 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c,
+ 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
+ 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x79, 0x64, 0x6f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x72, 0x79, 0x64, 0x6f, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AISnapshotEntitySkillCycle_proto_rawDescOnce sync.Once
+ file_AISnapshotEntitySkillCycle_proto_rawDescData = file_AISnapshotEntitySkillCycle_proto_rawDesc
+)
+
+func file_AISnapshotEntitySkillCycle_proto_rawDescGZIP() []byte {
+ file_AISnapshotEntitySkillCycle_proto_rawDescOnce.Do(func() {
+ file_AISnapshotEntitySkillCycle_proto_rawDescData = protoimpl.X.CompressGZIP(file_AISnapshotEntitySkillCycle_proto_rawDescData)
+ })
+ return file_AISnapshotEntitySkillCycle_proto_rawDescData
+}
+
+var file_AISnapshotEntitySkillCycle_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AISnapshotEntitySkillCycle_proto_goTypes = []interface{}{
+ (*AISnapshotEntitySkillCycle)(nil), // 0: proto.AISnapshotEntitySkillCycle
+}
+var file_AISnapshotEntitySkillCycle_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AISnapshotEntitySkillCycle_proto_init() }
+func file_AISnapshotEntitySkillCycle_proto_init() {
+ if File_AISnapshotEntitySkillCycle_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AISnapshotEntitySkillCycle_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AISnapshotEntitySkillCycle); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AISnapshotEntitySkillCycle_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AISnapshotEntitySkillCycle_proto_goTypes,
+ DependencyIndexes: file_AISnapshotEntitySkillCycle_proto_depIdxs,
+ MessageInfos: file_AISnapshotEntitySkillCycle_proto_msgTypes,
+ }.Build()
+ File_AISnapshotEntitySkillCycle_proto = out.File
+ file_AISnapshotEntitySkillCycle_proto_rawDesc = nil
+ file_AISnapshotEntitySkillCycle_proto_goTypes = nil
+ file_AISnapshotEntitySkillCycle_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AISnapshotInfo.pb.go b/protocol/proto/AISnapshotInfo.pb.go
new file mode 100644
index 00000000..1198cf08
--- /dev/null
+++ b/protocol/proto/AISnapshotInfo.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AISnapshotInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AISnapshotInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AiSnapshots []*AISnapshotEntityData `protobuf:"bytes,13,rep,name=ai_snapshots,json=aiSnapshots,proto3" json:"ai_snapshots,omitempty"`
+}
+
+func (x *AISnapshotInfo) Reset() {
+ *x = AISnapshotInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AISnapshotInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AISnapshotInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AISnapshotInfo) ProtoMessage() {}
+
+func (x *AISnapshotInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AISnapshotInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AISnapshotInfo.ProtoReflect.Descriptor instead.
+func (*AISnapshotInfo) Descriptor() ([]byte, []int) {
+ return file_AISnapshotInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AISnapshotInfo) GetAiSnapshots() []*AISnapshotEntityData {
+ if x != nil {
+ return x.AiSnapshots
+ }
+ return nil
+}
+
+var File_AISnapshotInfo_proto protoreflect.FileDescriptor
+
+var file_AISnapshotInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x41, 0x49, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41,
+ 0x49, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x0e, 0x41, 0x49, 0x53,
+ 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0c, 0x61,
+ 0x69, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x49, 0x53, 0x6e, 0x61, 0x70,
+ 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b,
+ 0x61, 0x69, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AISnapshotInfo_proto_rawDescOnce sync.Once
+ file_AISnapshotInfo_proto_rawDescData = file_AISnapshotInfo_proto_rawDesc
+)
+
+func file_AISnapshotInfo_proto_rawDescGZIP() []byte {
+ file_AISnapshotInfo_proto_rawDescOnce.Do(func() {
+ file_AISnapshotInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AISnapshotInfo_proto_rawDescData)
+ })
+ return file_AISnapshotInfo_proto_rawDescData
+}
+
+var file_AISnapshotInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AISnapshotInfo_proto_goTypes = []interface{}{
+ (*AISnapshotInfo)(nil), // 0: proto.AISnapshotInfo
+ (*AISnapshotEntityData)(nil), // 1: proto.AISnapshotEntityData
+}
+var file_AISnapshotInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AISnapshotInfo.ai_snapshots:type_name -> proto.AISnapshotEntityData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AISnapshotInfo_proto_init() }
+func file_AISnapshotInfo_proto_init() {
+ if File_AISnapshotInfo_proto != nil {
+ return
+ }
+ file_AISnapshotEntityData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AISnapshotInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AISnapshotInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AISnapshotInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AISnapshotInfo_proto_goTypes,
+ DependencyIndexes: file_AISnapshotInfo_proto_depIdxs,
+ MessageInfos: file_AISnapshotInfo_proto_msgTypes,
+ }.Build()
+ File_AISnapshotInfo_proto = out.File
+ file_AISnapshotInfo_proto_rawDesc = nil
+ file_AISnapshotInfo_proto_goTypes = nil
+ file_AISnapshotInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionBlink.pb.go b/protocol/proto/AbilityActionBlink.pb.go
new file mode 100644
index 00000000..5f0fa84f
--- /dev/null
+++ b/protocol/proto/AbilityActionBlink.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionBlink.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionBlink struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,11,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *AbilityActionBlink) Reset() {
+ *x = AbilityActionBlink{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionBlink_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionBlink) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionBlink) ProtoMessage() {}
+
+func (x *AbilityActionBlink) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionBlink_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionBlink.ProtoReflect.Descriptor instead.
+func (*AbilityActionBlink) Descriptor() ([]byte, []int) {
+ return file_AbilityActionBlink_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionBlink) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *AbilityActionBlink) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_AbilityActionBlink_proto protoreflect.FileDescriptor
+
+var file_AbilityActionBlink_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42,
+ 0x6c, 0x69, 0x6e, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x56, 0x0a, 0x12, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x42, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionBlink_proto_rawDescOnce sync.Once
+ file_AbilityActionBlink_proto_rawDescData = file_AbilityActionBlink_proto_rawDesc
+)
+
+func file_AbilityActionBlink_proto_rawDescGZIP() []byte {
+ file_AbilityActionBlink_proto_rawDescOnce.Do(func() {
+ file_AbilityActionBlink_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionBlink_proto_rawDescData)
+ })
+ return file_AbilityActionBlink_proto_rawDescData
+}
+
+var file_AbilityActionBlink_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionBlink_proto_goTypes = []interface{}{
+ (*AbilityActionBlink)(nil), // 0: proto.AbilityActionBlink
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityActionBlink_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityActionBlink.rot:type_name -> proto.Vector
+ 1, // 1: proto.AbilityActionBlink.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionBlink_proto_init() }
+func file_AbilityActionBlink_proto_init() {
+ if File_AbilityActionBlink_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionBlink_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionBlink); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionBlink_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionBlink_proto_goTypes,
+ DependencyIndexes: file_AbilityActionBlink_proto_depIdxs,
+ MessageInfos: file_AbilityActionBlink_proto_msgTypes,
+ }.Build()
+ File_AbilityActionBlink_proto = out.File
+ file_AbilityActionBlink_proto_rawDesc = nil
+ file_AbilityActionBlink_proto_goTypes = nil
+ file_AbilityActionBlink_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionCreateGadget.pb.go b/protocol/proto/AbilityActionCreateGadget.pb.go
new file mode 100644
index 00000000..07d94b96
--- /dev/null
+++ b/protocol/proto/AbilityActionCreateGadget.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionCreateGadget.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionCreateGadget struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ Rot *Vector `protobuf:"bytes,8,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,11,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *AbilityActionCreateGadget) Reset() {
+ *x = AbilityActionCreateGadget{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionCreateGadget_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionCreateGadget) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionCreateGadget) ProtoMessage() {}
+
+func (x *AbilityActionCreateGadget) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionCreateGadget_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionCreateGadget.ProtoReflect.Descriptor instead.
+func (*AbilityActionCreateGadget) Descriptor() ([]byte, []int) {
+ return file_AbilityActionCreateGadget_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionCreateGadget) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *AbilityActionCreateGadget) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *AbilityActionCreateGadget) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_AbilityActionCreateGadget_proto protoreflect.FileDescriptor
+
+var file_AbilityActionCreateGadget_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x19, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03,
+ 0x72, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x12, 0x1f, 0x0a,
+ 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionCreateGadget_proto_rawDescOnce sync.Once
+ file_AbilityActionCreateGadget_proto_rawDescData = file_AbilityActionCreateGadget_proto_rawDesc
+)
+
+func file_AbilityActionCreateGadget_proto_rawDescGZIP() []byte {
+ file_AbilityActionCreateGadget_proto_rawDescOnce.Do(func() {
+ file_AbilityActionCreateGadget_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionCreateGadget_proto_rawDescData)
+ })
+ return file_AbilityActionCreateGadget_proto_rawDescData
+}
+
+var file_AbilityActionCreateGadget_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionCreateGadget_proto_goTypes = []interface{}{
+ (*AbilityActionCreateGadget)(nil), // 0: proto.AbilityActionCreateGadget
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityActionCreateGadget_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityActionCreateGadget.rot:type_name -> proto.Vector
+ 1, // 1: proto.AbilityActionCreateGadget.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionCreateGadget_proto_init() }
+func file_AbilityActionCreateGadget_proto_init() {
+ if File_AbilityActionCreateGadget_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionCreateGadget_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionCreateGadget); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionCreateGadget_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionCreateGadget_proto_goTypes,
+ DependencyIndexes: file_AbilityActionCreateGadget_proto_depIdxs,
+ MessageInfos: file_AbilityActionCreateGadget_proto_msgTypes,
+ }.Build()
+ File_AbilityActionCreateGadget_proto = out.File
+ file_AbilityActionCreateGadget_proto_rawDesc = nil
+ file_AbilityActionCreateGadget_proto_goTypes = nil
+ file_AbilityActionCreateGadget_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionCreateTile.pb.go b/protocol/proto/AbilityActionCreateTile.pb.go
new file mode 100644
index 00000000..a296ea36
--- /dev/null
+++ b/protocol/proto/AbilityActionCreateTile.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionCreateTile.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionCreateTile struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,3,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,8,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *AbilityActionCreateTile) Reset() {
+ *x = AbilityActionCreateTile{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionCreateTile_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionCreateTile) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionCreateTile) ProtoMessage() {}
+
+func (x *AbilityActionCreateTile) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionCreateTile_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionCreateTile.ProtoReflect.Descriptor instead.
+func (*AbilityActionCreateTile) Descriptor() ([]byte, []int) {
+ return file_AbilityActionCreateTile_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionCreateTile) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *AbilityActionCreateTile) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_AbilityActionCreateTile_proto protoreflect.FileDescriptor
+
+var file_AbilityActionCreateTile_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6c, 0x65, 0x12,
+ 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74,
+ 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f,
+ 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionCreateTile_proto_rawDescOnce sync.Once
+ file_AbilityActionCreateTile_proto_rawDescData = file_AbilityActionCreateTile_proto_rawDesc
+)
+
+func file_AbilityActionCreateTile_proto_rawDescGZIP() []byte {
+ file_AbilityActionCreateTile_proto_rawDescOnce.Do(func() {
+ file_AbilityActionCreateTile_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionCreateTile_proto_rawDescData)
+ })
+ return file_AbilityActionCreateTile_proto_rawDescData
+}
+
+var file_AbilityActionCreateTile_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionCreateTile_proto_goTypes = []interface{}{
+ (*AbilityActionCreateTile)(nil), // 0: proto.AbilityActionCreateTile
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityActionCreateTile_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityActionCreateTile.rot:type_name -> proto.Vector
+ 1, // 1: proto.AbilityActionCreateTile.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionCreateTile_proto_init() }
+func file_AbilityActionCreateTile_proto_init() {
+ if File_AbilityActionCreateTile_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionCreateTile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionCreateTile); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionCreateTile_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionCreateTile_proto_goTypes,
+ DependencyIndexes: file_AbilityActionCreateTile_proto_depIdxs,
+ MessageInfos: file_AbilityActionCreateTile_proto_msgTypes,
+ }.Build()
+ File_AbilityActionCreateTile_proto = out.File
+ file_AbilityActionCreateTile_proto_rawDesc = nil
+ file_AbilityActionCreateTile_proto_goTypes = nil
+ file_AbilityActionCreateTile_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionDeductStamina.pb.go b/protocol/proto/AbilityActionDeductStamina.pb.go
new file mode 100644
index 00000000..8fca7c66
--- /dev/null
+++ b/protocol/proto/AbilityActionDeductStamina.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionDeductStamina.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionDeductStamina struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSwim bool `protobuf:"varint,1,opt,name=is_swim,json=isSwim,proto3" json:"is_swim,omitempty"`
+}
+
+func (x *AbilityActionDeductStamina) Reset() {
+ *x = AbilityActionDeductStamina{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionDeductStamina_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionDeductStamina) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionDeductStamina) ProtoMessage() {}
+
+func (x *AbilityActionDeductStamina) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionDeductStamina_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionDeductStamina.ProtoReflect.Descriptor instead.
+func (*AbilityActionDeductStamina) Descriptor() ([]byte, []int) {
+ return file_AbilityActionDeductStamina_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionDeductStamina) GetIsSwim() bool {
+ if x != nil {
+ return x.IsSwim
+ }
+ return false
+}
+
+var File_AbilityActionDeductStamina_proto protoreflect.FileDescriptor
+
+var file_AbilityActionDeductStamina_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x65, 0x64, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x1a, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x64, 0x75, 0x63, 0x74,
+ 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x77,
+ 0x69, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x77, 0x69, 0x6d,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionDeductStamina_proto_rawDescOnce sync.Once
+ file_AbilityActionDeductStamina_proto_rawDescData = file_AbilityActionDeductStamina_proto_rawDesc
+)
+
+func file_AbilityActionDeductStamina_proto_rawDescGZIP() []byte {
+ file_AbilityActionDeductStamina_proto_rawDescOnce.Do(func() {
+ file_AbilityActionDeductStamina_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionDeductStamina_proto_rawDescData)
+ })
+ return file_AbilityActionDeductStamina_proto_rawDescData
+}
+
+var file_AbilityActionDeductStamina_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionDeductStamina_proto_goTypes = []interface{}{
+ (*AbilityActionDeductStamina)(nil), // 0: proto.AbilityActionDeductStamina
+}
+var file_AbilityActionDeductStamina_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionDeductStamina_proto_init() }
+func file_AbilityActionDeductStamina_proto_init() {
+ if File_AbilityActionDeductStamina_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionDeductStamina_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionDeductStamina); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionDeductStamina_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionDeductStamina_proto_goTypes,
+ DependencyIndexes: file_AbilityActionDeductStamina_proto_depIdxs,
+ MessageInfos: file_AbilityActionDeductStamina_proto_msgTypes,
+ }.Build()
+ File_AbilityActionDeductStamina_proto = out.File
+ file_AbilityActionDeductStamina_proto_rawDesc = nil
+ file_AbilityActionDeductStamina_proto_goTypes = nil
+ file_AbilityActionDeductStamina_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionDestroyTile.pb.go b/protocol/proto/AbilityActionDestroyTile.pb.go
new file mode 100644
index 00000000..f1d4a37d
--- /dev/null
+++ b/protocol/proto/AbilityActionDestroyTile.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionDestroyTile.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionDestroyTile struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,3,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *AbilityActionDestroyTile) Reset() {
+ *x = AbilityActionDestroyTile{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionDestroyTile_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionDestroyTile) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionDestroyTile) ProtoMessage() {}
+
+func (x *AbilityActionDestroyTile) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionDestroyTile_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionDestroyTile.ProtoReflect.Descriptor instead.
+func (*AbilityActionDestroyTile) Descriptor() ([]byte, []int) {
+ return file_AbilityActionDestroyTile_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionDestroyTile) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *AbilityActionDestroyTile) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_AbilityActionDestroyTile_proto protoreflect.FileDescriptor
+
+var file_AbilityActionDestroyTile_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x54, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x18, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x54, 0x69, 0x6c,
+ 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72,
+ 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionDestroyTile_proto_rawDescOnce sync.Once
+ file_AbilityActionDestroyTile_proto_rawDescData = file_AbilityActionDestroyTile_proto_rawDesc
+)
+
+func file_AbilityActionDestroyTile_proto_rawDescGZIP() []byte {
+ file_AbilityActionDestroyTile_proto_rawDescOnce.Do(func() {
+ file_AbilityActionDestroyTile_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionDestroyTile_proto_rawDescData)
+ })
+ return file_AbilityActionDestroyTile_proto_rawDescData
+}
+
+var file_AbilityActionDestroyTile_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionDestroyTile_proto_goTypes = []interface{}{
+ (*AbilityActionDestroyTile)(nil), // 0: proto.AbilityActionDestroyTile
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityActionDestroyTile_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityActionDestroyTile.rot:type_name -> proto.Vector
+ 1, // 1: proto.AbilityActionDestroyTile.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionDestroyTile_proto_init() }
+func file_AbilityActionDestroyTile_proto_init() {
+ if File_AbilityActionDestroyTile_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionDestroyTile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionDestroyTile); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionDestroyTile_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionDestroyTile_proto_goTypes,
+ DependencyIndexes: file_AbilityActionDestroyTile_proto_depIdxs,
+ MessageInfos: file_AbilityActionDestroyTile_proto_msgTypes,
+ }.Build()
+ File_AbilityActionDestroyTile_proto = out.File
+ file_AbilityActionDestroyTile_proto_rawDesc = nil
+ file_AbilityActionDestroyTile_proto_goTypes = nil
+ file_AbilityActionDestroyTile_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionFireAfterImage.pb.go b/protocol/proto/AbilityActionFireAfterImage.pb.go
new file mode 100644
index 00000000..caaa3dbb
--- /dev/null
+++ b/protocol/proto/AbilityActionFireAfterImage.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionFireAfterImage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionFireAfterImage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Dir *Vector `protobuf:"bytes,12,opt,name=dir,proto3" json:"dir,omitempty"`
+}
+
+func (x *AbilityActionFireAfterImage) Reset() {
+ *x = AbilityActionFireAfterImage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionFireAfterImage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionFireAfterImage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionFireAfterImage) ProtoMessage() {}
+
+func (x *AbilityActionFireAfterImage) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionFireAfterImage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionFireAfterImage.ProtoReflect.Descriptor instead.
+func (*AbilityActionFireAfterImage) Descriptor() ([]byte, []int) {
+ return file_AbilityActionFireAfterImage_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionFireAfterImage) GetDir() *Vector {
+ if x != nil {
+ return x.Dir
+ }
+ return nil
+}
+
+var File_AbilityActionFireAfterImage_proto protoreflect.FileDescriptor
+
+var file_AbilityActionFireAfterImage_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46,
+ 0x69, 0x72, 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x41, 0x66, 0x74,
+ 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x03, 0x64, 0x69, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionFireAfterImage_proto_rawDescOnce sync.Once
+ file_AbilityActionFireAfterImage_proto_rawDescData = file_AbilityActionFireAfterImage_proto_rawDesc
+)
+
+func file_AbilityActionFireAfterImage_proto_rawDescGZIP() []byte {
+ file_AbilityActionFireAfterImage_proto_rawDescOnce.Do(func() {
+ file_AbilityActionFireAfterImage_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionFireAfterImage_proto_rawDescData)
+ })
+ return file_AbilityActionFireAfterImage_proto_rawDescData
+}
+
+var file_AbilityActionFireAfterImage_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionFireAfterImage_proto_goTypes = []interface{}{
+ (*AbilityActionFireAfterImage)(nil), // 0: proto.AbilityActionFireAfterImage
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityActionFireAfterImage_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityActionFireAfterImage.dir:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionFireAfterImage_proto_init() }
+func file_AbilityActionFireAfterImage_proto_init() {
+ if File_AbilityActionFireAfterImage_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionFireAfterImage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionFireAfterImage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionFireAfterImage_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionFireAfterImage_proto_goTypes,
+ DependencyIndexes: file_AbilityActionFireAfterImage_proto_depIdxs,
+ MessageInfos: file_AbilityActionFireAfterImage_proto_msgTypes,
+ }.Build()
+ File_AbilityActionFireAfterImage_proto = out.File
+ file_AbilityActionFireAfterImage_proto_rawDesc = nil
+ file_AbilityActionFireAfterImage_proto_goTypes = nil
+ file_AbilityActionFireAfterImage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionGenerateElemBall.pb.go b/protocol/proto/AbilityActionGenerateElemBall.pb.go
new file mode 100644
index 00000000..f6ffbacc
--- /dev/null
+++ b/protocol/proto/AbilityActionGenerateElemBall.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionGenerateElemBall.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionGenerateElemBall struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,2,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,7,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,13,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *AbilityActionGenerateElemBall) Reset() {
+ *x = AbilityActionGenerateElemBall{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionGenerateElemBall_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionGenerateElemBall) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionGenerateElemBall) ProtoMessage() {}
+
+func (x *AbilityActionGenerateElemBall) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionGenerateElemBall_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionGenerateElemBall.ProtoReflect.Descriptor instead.
+func (*AbilityActionGenerateElemBall) Descriptor() ([]byte, []int) {
+ return file_AbilityActionGenerateElemBall_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionGenerateElemBall) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *AbilityActionGenerateElemBall) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *AbilityActionGenerateElemBall) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_AbilityActionGenerateElemBall_proto protoreflect.FileDescriptor
+
+var file_AbilityActionGenerateElemBall_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x42, 0x61, 0x6c, 0x6c, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x1d, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x42, 0x61, 0x6c, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x72,
+ 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f,
+ 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionGenerateElemBall_proto_rawDescOnce sync.Once
+ file_AbilityActionGenerateElemBall_proto_rawDescData = file_AbilityActionGenerateElemBall_proto_rawDesc
+)
+
+func file_AbilityActionGenerateElemBall_proto_rawDescGZIP() []byte {
+ file_AbilityActionGenerateElemBall_proto_rawDescOnce.Do(func() {
+ file_AbilityActionGenerateElemBall_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionGenerateElemBall_proto_rawDescData)
+ })
+ return file_AbilityActionGenerateElemBall_proto_rawDescData
+}
+
+var file_AbilityActionGenerateElemBall_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionGenerateElemBall_proto_goTypes = []interface{}{
+ (*AbilityActionGenerateElemBall)(nil), // 0: proto.AbilityActionGenerateElemBall
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityActionGenerateElemBall_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityActionGenerateElemBall.pos:type_name -> proto.Vector
+ 1, // 1: proto.AbilityActionGenerateElemBall.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionGenerateElemBall_proto_init() }
+func file_AbilityActionGenerateElemBall_proto_init() {
+ if File_AbilityActionGenerateElemBall_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionGenerateElemBall_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionGenerateElemBall); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionGenerateElemBall_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionGenerateElemBall_proto_goTypes,
+ DependencyIndexes: file_AbilityActionGenerateElemBall_proto_depIdxs,
+ MessageInfos: file_AbilityActionGenerateElemBall_proto_msgTypes,
+ }.Build()
+ File_AbilityActionGenerateElemBall_proto = out.File
+ file_AbilityActionGenerateElemBall_proto_rawDesc = nil
+ file_AbilityActionGenerateElemBall_proto_goTypes = nil
+ file_AbilityActionGenerateElemBall_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionHitEffect.pb.go b/protocol/proto/AbilityActionHitEffect.pb.go
new file mode 100644
index 00000000..61331535
--- /dev/null
+++ b/protocol/proto/AbilityActionHitEffect.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionHitEffect.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionHitEffect struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TriggerId uint32 `protobuf:"varint,3,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
+}
+
+func (x *AbilityActionHitEffect) Reset() {
+ *x = AbilityActionHitEffect{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionHitEffect_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionHitEffect) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionHitEffect) ProtoMessage() {}
+
+func (x *AbilityActionHitEffect) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionHitEffect_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionHitEffect.ProtoReflect.Descriptor instead.
+func (*AbilityActionHitEffect) Descriptor() ([]byte, []int) {
+ return file_AbilityActionHitEffect_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionHitEffect) GetTriggerId() uint32 {
+ if x != nil {
+ return x.TriggerId
+ }
+ return 0
+}
+
+var File_AbilityActionHitEffect_proto protoreflect.FileDescriptor
+
+var file_AbilityActionHitEffect_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48,
+ 0x69, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x16, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionHitEffect_proto_rawDescOnce sync.Once
+ file_AbilityActionHitEffect_proto_rawDescData = file_AbilityActionHitEffect_proto_rawDesc
+)
+
+func file_AbilityActionHitEffect_proto_rawDescGZIP() []byte {
+ file_AbilityActionHitEffect_proto_rawDescOnce.Do(func() {
+ file_AbilityActionHitEffect_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionHitEffect_proto_rawDescData)
+ })
+ return file_AbilityActionHitEffect_proto_rawDescData
+}
+
+var file_AbilityActionHitEffect_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionHitEffect_proto_goTypes = []interface{}{
+ (*AbilityActionHitEffect)(nil), // 0: proto.AbilityActionHitEffect
+}
+var file_AbilityActionHitEffect_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionHitEffect_proto_init() }
+func file_AbilityActionHitEffect_proto_init() {
+ if File_AbilityActionHitEffect_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionHitEffect_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionHitEffect); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionHitEffect_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionHitEffect_proto_goTypes,
+ DependencyIndexes: file_AbilityActionHitEffect_proto_depIdxs,
+ MessageInfos: file_AbilityActionHitEffect_proto_msgTypes,
+ }.Build()
+ File_AbilityActionHitEffect_proto = out.File
+ file_AbilityActionHitEffect_proto_rawDesc = nil
+ file_AbilityActionHitEffect_proto_goTypes = nil
+ file_AbilityActionHitEffect_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionServerMonsterLog.pb.go b/protocol/proto/AbilityActionServerMonsterLog.pb.go
new file mode 100644
index 00000000..efe1b8a5
--- /dev/null
+++ b/protocol/proto/AbilityActionServerMonsterLog.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionServerMonsterLog.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionServerMonsterLog struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParamList []int32 `protobuf:"varint,2,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+}
+
+func (x *AbilityActionServerMonsterLog) Reset() {
+ *x = AbilityActionServerMonsterLog{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionServerMonsterLog_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionServerMonsterLog) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionServerMonsterLog) ProtoMessage() {}
+
+func (x *AbilityActionServerMonsterLog) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionServerMonsterLog_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionServerMonsterLog.ProtoReflect.Descriptor instead.
+func (*AbilityActionServerMonsterLog) Descriptor() ([]byte, []int) {
+ return file_AbilityActionServerMonsterLog_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionServerMonsterLog) GetParamList() []int32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+var File_AbilityActionServerMonsterLog_proto protoreflect.FileDescriptor
+
+var file_AbilityActionServerMonsterLog_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x1d,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x05, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionServerMonsterLog_proto_rawDescOnce sync.Once
+ file_AbilityActionServerMonsterLog_proto_rawDescData = file_AbilityActionServerMonsterLog_proto_rawDesc
+)
+
+func file_AbilityActionServerMonsterLog_proto_rawDescGZIP() []byte {
+ file_AbilityActionServerMonsterLog_proto_rawDescOnce.Do(func() {
+ file_AbilityActionServerMonsterLog_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionServerMonsterLog_proto_rawDescData)
+ })
+ return file_AbilityActionServerMonsterLog_proto_rawDescData
+}
+
+var file_AbilityActionServerMonsterLog_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionServerMonsterLog_proto_goTypes = []interface{}{
+ (*AbilityActionServerMonsterLog)(nil), // 0: proto.AbilityActionServerMonsterLog
+}
+var file_AbilityActionServerMonsterLog_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionServerMonsterLog_proto_init() }
+func file_AbilityActionServerMonsterLog_proto_init() {
+ if File_AbilityActionServerMonsterLog_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionServerMonsterLog_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionServerMonsterLog); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionServerMonsterLog_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionServerMonsterLog_proto_goTypes,
+ DependencyIndexes: file_AbilityActionServerMonsterLog_proto_depIdxs,
+ MessageInfos: file_AbilityActionServerMonsterLog_proto_msgTypes,
+ }.Build()
+ File_AbilityActionServerMonsterLog_proto = out.File
+ file_AbilityActionServerMonsterLog_proto_rawDesc = nil
+ file_AbilityActionServerMonsterLog_proto_goTypes = nil
+ file_AbilityActionServerMonsterLog_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionSetCrashDamage.pb.go b/protocol/proto/AbilityActionSetCrashDamage.pb.go
new file mode 100644
index 00000000..66c6b037
--- /dev/null
+++ b/protocol/proto/AbilityActionSetCrashDamage.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionSetCrashDamage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionSetCrashDamage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HitPos *Vector `protobuf:"bytes,2,opt,name=hit_pos,json=hitPos,proto3" json:"hit_pos,omitempty"`
+ Damage float32 `protobuf:"fixed32,15,opt,name=damage,proto3" json:"damage,omitempty"`
+}
+
+func (x *AbilityActionSetCrashDamage) Reset() {
+ *x = AbilityActionSetCrashDamage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionSetCrashDamage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionSetCrashDamage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionSetCrashDamage) ProtoMessage() {}
+
+func (x *AbilityActionSetCrashDamage) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionSetCrashDamage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionSetCrashDamage.ProtoReflect.Descriptor instead.
+func (*AbilityActionSetCrashDamage) Descriptor() ([]byte, []int) {
+ return file_AbilityActionSetCrashDamage_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionSetCrashDamage) GetHitPos() *Vector {
+ if x != nil {
+ return x.HitPos
+ }
+ return nil
+}
+
+func (x *AbilityActionSetCrashDamage) GetDamage() float32 {
+ if x != nil {
+ return x.Damage
+ }
+ return 0
+}
+
+var File_AbilityActionSetCrashDamage_proto protoreflect.FileDescriptor
+
+var file_AbilityActionSetCrashDamage_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x43, 0x72, 0x61, 0x73, 0x68, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x43, 0x72, 0x61, 0x73,
+ 0x68, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x07, 0x68, 0x69, 0x74, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x68, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12,
+ 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52,
+ 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionSetCrashDamage_proto_rawDescOnce sync.Once
+ file_AbilityActionSetCrashDamage_proto_rawDescData = file_AbilityActionSetCrashDamage_proto_rawDesc
+)
+
+func file_AbilityActionSetCrashDamage_proto_rawDescGZIP() []byte {
+ file_AbilityActionSetCrashDamage_proto_rawDescOnce.Do(func() {
+ file_AbilityActionSetCrashDamage_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionSetCrashDamage_proto_rawDescData)
+ })
+ return file_AbilityActionSetCrashDamage_proto_rawDescData
+}
+
+var file_AbilityActionSetCrashDamage_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionSetCrashDamage_proto_goTypes = []interface{}{
+ (*AbilityActionSetCrashDamage)(nil), // 0: proto.AbilityActionSetCrashDamage
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityActionSetCrashDamage_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityActionSetCrashDamage.hit_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionSetCrashDamage_proto_init() }
+func file_AbilityActionSetCrashDamage_proto_init() {
+ if File_AbilityActionSetCrashDamage_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionSetCrashDamage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionSetCrashDamage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionSetCrashDamage_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionSetCrashDamage_proto_goTypes,
+ DependencyIndexes: file_AbilityActionSetCrashDamage_proto_depIdxs,
+ MessageInfos: file_AbilityActionSetCrashDamage_proto_msgTypes,
+ }.Build()
+ File_AbilityActionSetCrashDamage_proto = out.File
+ file_AbilityActionSetCrashDamage_proto_rawDesc = nil
+ file_AbilityActionSetCrashDamage_proto_goTypes = nil
+ file_AbilityActionSetCrashDamage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionSetRandomOverrideMapValue.pb.go b/protocol/proto/AbilityActionSetRandomOverrideMapValue.pb.go
new file mode 100644
index 00000000..e4e8de70
--- /dev/null
+++ b/protocol/proto/AbilityActionSetRandomOverrideMapValue.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionSetRandomOverrideMapValue.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionSetRandomOverrideMapValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RandomValue float32 `protobuf:"fixed32,1,opt,name=random_value,json=randomValue,proto3" json:"random_value,omitempty"`
+}
+
+func (x *AbilityActionSetRandomOverrideMapValue) Reset() {
+ *x = AbilityActionSetRandomOverrideMapValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionSetRandomOverrideMapValue_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionSetRandomOverrideMapValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionSetRandomOverrideMapValue) ProtoMessage() {}
+
+func (x *AbilityActionSetRandomOverrideMapValue) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionSetRandomOverrideMapValue_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionSetRandomOverrideMapValue.ProtoReflect.Descriptor instead.
+func (*AbilityActionSetRandomOverrideMapValue) Descriptor() ([]byte, []int) {
+ return file_AbilityActionSetRandomOverrideMapValue_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionSetRandomOverrideMapValue) GetRandomValue() float32 {
+ if x != nil {
+ return x.RandomValue
+ }
+ return 0
+}
+
+var File_AbilityActionSetRandomOverrideMapValue_proto protoreflect.FileDescriptor
+
+var file_AbilityActionSetRandomOverrideMapValue_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
+ 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x26, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4f,
+ 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
+ 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionSetRandomOverrideMapValue_proto_rawDescOnce sync.Once
+ file_AbilityActionSetRandomOverrideMapValue_proto_rawDescData = file_AbilityActionSetRandomOverrideMapValue_proto_rawDesc
+)
+
+func file_AbilityActionSetRandomOverrideMapValue_proto_rawDescGZIP() []byte {
+ file_AbilityActionSetRandomOverrideMapValue_proto_rawDescOnce.Do(func() {
+ file_AbilityActionSetRandomOverrideMapValue_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionSetRandomOverrideMapValue_proto_rawDescData)
+ })
+ return file_AbilityActionSetRandomOverrideMapValue_proto_rawDescData
+}
+
+var file_AbilityActionSetRandomOverrideMapValue_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionSetRandomOverrideMapValue_proto_goTypes = []interface{}{
+ (*AbilityActionSetRandomOverrideMapValue)(nil), // 0: proto.AbilityActionSetRandomOverrideMapValue
+}
+var file_AbilityActionSetRandomOverrideMapValue_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionSetRandomOverrideMapValue_proto_init() }
+func file_AbilityActionSetRandomOverrideMapValue_proto_init() {
+ if File_AbilityActionSetRandomOverrideMapValue_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionSetRandomOverrideMapValue_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionSetRandomOverrideMapValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionSetRandomOverrideMapValue_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionSetRandomOverrideMapValue_proto_goTypes,
+ DependencyIndexes: file_AbilityActionSetRandomOverrideMapValue_proto_depIdxs,
+ MessageInfos: file_AbilityActionSetRandomOverrideMapValue_proto_msgTypes,
+ }.Build()
+ File_AbilityActionSetRandomOverrideMapValue_proto = out.File
+ file_AbilityActionSetRandomOverrideMapValue_proto_rawDesc = nil
+ file_AbilityActionSetRandomOverrideMapValue_proto_goTypes = nil
+ file_AbilityActionSetRandomOverrideMapValue_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionSummon.pb.go b/protocol/proto/AbilityActionSummon.pb.go
new file mode 100644
index 00000000..e653ecf4
--- /dev/null
+++ b/protocol/proto/AbilityActionSummon.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionSummon.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionSummon struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,1,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *AbilityActionSummon) Reset() {
+ *x = AbilityActionSummon{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionSummon_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionSummon) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionSummon) ProtoMessage() {}
+
+func (x *AbilityActionSummon) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionSummon_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionSummon.ProtoReflect.Descriptor instead.
+func (*AbilityActionSummon) Descriptor() ([]byte, []int) {
+ return file_AbilityActionSummon_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionSummon) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *AbilityActionSummon) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_AbilityActionSummon_proto protoreflect.FileDescriptor
+
+var file_AbilityActionSummon_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x57, 0x0a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionSummon_proto_rawDescOnce sync.Once
+ file_AbilityActionSummon_proto_rawDescData = file_AbilityActionSummon_proto_rawDesc
+)
+
+func file_AbilityActionSummon_proto_rawDescGZIP() []byte {
+ file_AbilityActionSummon_proto_rawDescOnce.Do(func() {
+ file_AbilityActionSummon_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionSummon_proto_rawDescData)
+ })
+ return file_AbilityActionSummon_proto_rawDescData
+}
+
+var file_AbilityActionSummon_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionSummon_proto_goTypes = []interface{}{
+ (*AbilityActionSummon)(nil), // 0: proto.AbilityActionSummon
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityActionSummon_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityActionSummon.pos:type_name -> proto.Vector
+ 1, // 1: proto.AbilityActionSummon.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionSummon_proto_init() }
+func file_AbilityActionSummon_proto_init() {
+ if File_AbilityActionSummon_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionSummon_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionSummon); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionSummon_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionSummon_proto_goTypes,
+ DependencyIndexes: file_AbilityActionSummon_proto_depIdxs,
+ MessageInfos: file_AbilityActionSummon_proto_msgTypes,
+ }.Build()
+ File_AbilityActionSummon_proto = out.File
+ file_AbilityActionSummon_proto_rawDesc = nil
+ file_AbilityActionSummon_proto_goTypes = nil
+ file_AbilityActionSummon_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityActionTriggerAbility.pb.go b/protocol/proto/AbilityActionTriggerAbility.pb.go
new file mode 100644
index 00000000..88535799
--- /dev/null
+++ b/protocol/proto/AbilityActionTriggerAbility.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityActionTriggerAbility.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityActionTriggerAbility struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OtherId uint32 `protobuf:"varint,14,opt,name=other_id,json=otherId,proto3" json:"other_id,omitempty"`
+}
+
+func (x *AbilityActionTriggerAbility) Reset() {
+ *x = AbilityActionTriggerAbility{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityActionTriggerAbility_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityActionTriggerAbility) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityActionTriggerAbility) ProtoMessage() {}
+
+func (x *AbilityActionTriggerAbility) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityActionTriggerAbility_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityActionTriggerAbility.ProtoReflect.Descriptor instead.
+func (*AbilityActionTriggerAbility) Descriptor() ([]byte, []int) {
+ return file_AbilityActionTriggerAbility_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityActionTriggerAbility) GetOtherId() uint32 {
+ if x != nil {
+ return x.OtherId
+ }
+ return 0
+}
+
+var File_AbilityActionTriggerAbility_proto protoreflect.FileDescriptor
+
+var file_AbilityActionTriggerAbility_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1b, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67,
+ 0x65, 0x72, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x74, 0x68,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x74, 0x68,
+ 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityActionTriggerAbility_proto_rawDescOnce sync.Once
+ file_AbilityActionTriggerAbility_proto_rawDescData = file_AbilityActionTriggerAbility_proto_rawDesc
+)
+
+func file_AbilityActionTriggerAbility_proto_rawDescGZIP() []byte {
+ file_AbilityActionTriggerAbility_proto_rawDescOnce.Do(func() {
+ file_AbilityActionTriggerAbility_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityActionTriggerAbility_proto_rawDescData)
+ })
+ return file_AbilityActionTriggerAbility_proto_rawDescData
+}
+
+var file_AbilityActionTriggerAbility_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityActionTriggerAbility_proto_goTypes = []interface{}{
+ (*AbilityActionTriggerAbility)(nil), // 0: proto.AbilityActionTriggerAbility
+}
+var file_AbilityActionTriggerAbility_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityActionTriggerAbility_proto_init() }
+func file_AbilityActionTriggerAbility_proto_init() {
+ if File_AbilityActionTriggerAbility_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityActionTriggerAbility_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityActionTriggerAbility); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityActionTriggerAbility_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityActionTriggerAbility_proto_goTypes,
+ DependencyIndexes: file_AbilityActionTriggerAbility_proto_depIdxs,
+ MessageInfos: file_AbilityActionTriggerAbility_proto_msgTypes,
+ }.Build()
+ File_AbilityActionTriggerAbility_proto = out.File
+ file_AbilityActionTriggerAbility_proto_rawDesc = nil
+ file_AbilityActionTriggerAbility_proto_goTypes = nil
+ file_AbilityActionTriggerAbility_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityAppliedAbility.pb.go b/protocol/proto/AbilityAppliedAbility.pb.go
new file mode 100644
index 00000000..992cc45e
--- /dev/null
+++ b/protocol/proto/AbilityAppliedAbility.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityAppliedAbility.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityAppliedAbility struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityName *AbilityString `protobuf:"bytes,1,opt,name=ability_name,json=abilityName,proto3" json:"ability_name,omitempty"`
+ AbilityOverride *AbilityString `protobuf:"bytes,2,opt,name=ability_override,json=abilityOverride,proto3" json:"ability_override,omitempty"`
+ OverrideMap []*AbilityScalarValueEntry `protobuf:"bytes,3,rep,name=override_map,json=overrideMap,proto3" json:"override_map,omitempty"`
+ InstancedAbilityId uint32 `protobuf:"varint,4,opt,name=instanced_ability_id,json=instancedAbilityId,proto3" json:"instanced_ability_id,omitempty"`
+}
+
+func (x *AbilityAppliedAbility) Reset() {
+ *x = AbilityAppliedAbility{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityAppliedAbility_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityAppliedAbility) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityAppliedAbility) ProtoMessage() {}
+
+func (x *AbilityAppliedAbility) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityAppliedAbility_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityAppliedAbility.ProtoReflect.Descriptor instead.
+func (*AbilityAppliedAbility) Descriptor() ([]byte, []int) {
+ return file_AbilityAppliedAbility_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityAppliedAbility) GetAbilityName() *AbilityString {
+ if x != nil {
+ return x.AbilityName
+ }
+ return nil
+}
+
+func (x *AbilityAppliedAbility) GetAbilityOverride() *AbilityString {
+ if x != nil {
+ return x.AbilityOverride
+ }
+ return nil
+}
+
+func (x *AbilityAppliedAbility) GetOverrideMap() []*AbilityScalarValueEntry {
+ if x != nil {
+ return x.OverrideMap
+ }
+ return nil
+}
+
+func (x *AbilityAppliedAbility) GetInstancedAbilityId() uint32 {
+ if x != nil {
+ return x.InstancedAbilityId
+ }
+ return 0
+}
+
+var File_AbilityAppliedAbility_proto protoreflect.FileDescriptor
+
+var file_AbilityAppliedAbility_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61,
+ 0x6c, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x15, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b,
+ 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x61, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x41, 0x0a, 0x0c,
+ 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x12,
+ 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69,
+ 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityAppliedAbility_proto_rawDescOnce sync.Once
+ file_AbilityAppliedAbility_proto_rawDescData = file_AbilityAppliedAbility_proto_rawDesc
+)
+
+func file_AbilityAppliedAbility_proto_rawDescGZIP() []byte {
+ file_AbilityAppliedAbility_proto_rawDescOnce.Do(func() {
+ file_AbilityAppliedAbility_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityAppliedAbility_proto_rawDescData)
+ })
+ return file_AbilityAppliedAbility_proto_rawDescData
+}
+
+var file_AbilityAppliedAbility_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityAppliedAbility_proto_goTypes = []interface{}{
+ (*AbilityAppliedAbility)(nil), // 0: proto.AbilityAppliedAbility
+ (*AbilityString)(nil), // 1: proto.AbilityString
+ (*AbilityScalarValueEntry)(nil), // 2: proto.AbilityScalarValueEntry
+}
+var file_AbilityAppliedAbility_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityAppliedAbility.ability_name:type_name -> proto.AbilityString
+ 1, // 1: proto.AbilityAppliedAbility.ability_override:type_name -> proto.AbilityString
+ 2, // 2: proto.AbilityAppliedAbility.override_map:type_name -> proto.AbilityScalarValueEntry
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_AbilityAppliedAbility_proto_init() }
+func file_AbilityAppliedAbility_proto_init() {
+ if File_AbilityAppliedAbility_proto != nil {
+ return
+ }
+ file_AbilityScalarValueEntry_proto_init()
+ file_AbilityString_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityAppliedAbility_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityAppliedAbility); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityAppliedAbility_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityAppliedAbility_proto_goTypes,
+ DependencyIndexes: file_AbilityAppliedAbility_proto_depIdxs,
+ MessageInfos: file_AbilityAppliedAbility_proto_msgTypes,
+ }.Build()
+ File_AbilityAppliedAbility_proto = out.File
+ file_AbilityAppliedAbility_proto_rawDesc = nil
+ file_AbilityAppliedAbility_proto_goTypes = nil
+ file_AbilityAppliedAbility_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityAppliedModifier.pb.go b/protocol/proto/AbilityAppliedModifier.pb.go
new file mode 100644
index 00000000..81cfcd6c
--- /dev/null
+++ b/protocol/proto/AbilityAppliedModifier.pb.go
@@ -0,0 +1,315 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityAppliedModifier.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityAppliedModifier struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModifierLocalId int32 `protobuf:"varint,1,opt,name=modifier_local_id,json=modifierLocalId,proto3" json:"modifier_local_id,omitempty"`
+ ParentAbilityEntityId uint32 `protobuf:"varint,2,opt,name=parent_ability_entity_id,json=parentAbilityEntityId,proto3" json:"parent_ability_entity_id,omitempty"`
+ ParentAbilityName *AbilityString `protobuf:"bytes,3,opt,name=parent_ability_name,json=parentAbilityName,proto3" json:"parent_ability_name,omitempty"`
+ ParentAbilityOverride *AbilityString `protobuf:"bytes,4,opt,name=parent_ability_override,json=parentAbilityOverride,proto3" json:"parent_ability_override,omitempty"`
+ InstancedAbilityId uint32 `protobuf:"varint,5,opt,name=instanced_ability_id,json=instancedAbilityId,proto3" json:"instanced_ability_id,omitempty"`
+ InstancedModifierId uint32 `protobuf:"varint,6,opt,name=instanced_modifier_id,json=instancedModifierId,proto3" json:"instanced_modifier_id,omitempty"`
+ ExistDuration float32 `protobuf:"fixed32,7,opt,name=exist_duration,json=existDuration,proto3" json:"exist_duration,omitempty"`
+ AttachedInstancedModifier *AbilityAttachedModifier `protobuf:"bytes,8,opt,name=attached_instanced_modifier,json=attachedInstancedModifier,proto3" json:"attached_instanced_modifier,omitempty"`
+ ApplyEntityId uint32 `protobuf:"varint,9,opt,name=apply_entity_id,json=applyEntityId,proto3" json:"apply_entity_id,omitempty"`
+ IsAttachedParentAbility bool `protobuf:"varint,10,opt,name=is_attached_parent_ability,json=isAttachedParentAbility,proto3" json:"is_attached_parent_ability,omitempty"`
+ ModifierDurability *ModifierDurability `protobuf:"bytes,11,opt,name=modifier_durability,json=modifierDurability,proto3" json:"modifier_durability,omitempty"`
+ SbuffUid uint32 `protobuf:"varint,12,opt,name=sbuff_uid,json=sbuffUid,proto3" json:"sbuff_uid,omitempty"`
+ IsServerbuffModifier bool `protobuf:"varint,13,opt,name=is_serverbuff_modifier,json=isServerbuffModifier,proto3" json:"is_serverbuff_modifier,omitempty"`
+}
+
+func (x *AbilityAppliedModifier) Reset() {
+ *x = AbilityAppliedModifier{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityAppliedModifier_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityAppliedModifier) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityAppliedModifier) ProtoMessage() {}
+
+func (x *AbilityAppliedModifier) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityAppliedModifier_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityAppliedModifier.ProtoReflect.Descriptor instead.
+func (*AbilityAppliedModifier) Descriptor() ([]byte, []int) {
+ return file_AbilityAppliedModifier_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityAppliedModifier) GetModifierLocalId() int32 {
+ if x != nil {
+ return x.ModifierLocalId
+ }
+ return 0
+}
+
+func (x *AbilityAppliedModifier) GetParentAbilityEntityId() uint32 {
+ if x != nil {
+ return x.ParentAbilityEntityId
+ }
+ return 0
+}
+
+func (x *AbilityAppliedModifier) GetParentAbilityName() *AbilityString {
+ if x != nil {
+ return x.ParentAbilityName
+ }
+ return nil
+}
+
+func (x *AbilityAppliedModifier) GetParentAbilityOverride() *AbilityString {
+ if x != nil {
+ return x.ParentAbilityOverride
+ }
+ return nil
+}
+
+func (x *AbilityAppliedModifier) GetInstancedAbilityId() uint32 {
+ if x != nil {
+ return x.InstancedAbilityId
+ }
+ return 0
+}
+
+func (x *AbilityAppliedModifier) GetInstancedModifierId() uint32 {
+ if x != nil {
+ return x.InstancedModifierId
+ }
+ return 0
+}
+
+func (x *AbilityAppliedModifier) GetExistDuration() float32 {
+ if x != nil {
+ return x.ExistDuration
+ }
+ return 0
+}
+
+func (x *AbilityAppliedModifier) GetAttachedInstancedModifier() *AbilityAttachedModifier {
+ if x != nil {
+ return x.AttachedInstancedModifier
+ }
+ return nil
+}
+
+func (x *AbilityAppliedModifier) GetApplyEntityId() uint32 {
+ if x != nil {
+ return x.ApplyEntityId
+ }
+ return 0
+}
+
+func (x *AbilityAppliedModifier) GetIsAttachedParentAbility() bool {
+ if x != nil {
+ return x.IsAttachedParentAbility
+ }
+ return false
+}
+
+func (x *AbilityAppliedModifier) GetModifierDurability() *ModifierDurability {
+ if x != nil {
+ return x.ModifierDurability
+ }
+ return nil
+}
+
+func (x *AbilityAppliedModifier) GetSbuffUid() uint32 {
+ if x != nil {
+ return x.SbuffUid
+ }
+ return 0
+}
+
+func (x *AbilityAppliedModifier) GetIsServerbuffModifier() bool {
+ if x != nil {
+ return x.IsServerbuffModifier
+ }
+ return false
+}
+
+var File_AbilityAppliedModifier_proto protoreflect.FileDescriptor
+
+var file_AbilityAppliedModifier_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64,
+ 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x74,
+ 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x4d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x06, 0x0a, 0x16, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41,
+ 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x2a,
+ 0x0a, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x17, 0x70, 0x61, 0x72,
+ 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72,
+ 0x72, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x52, 0x15, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f,
+ 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61,
+ 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73,
+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+ 0x63, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a,
+ 0x0e, 0x65, 0x78, 0x69, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x65, 0x78, 0x69, 0x73, 0x74, 0x44, 0x75, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x1b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64,
+ 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65,
+ 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x19, 0x61, 0x74, 0x74, 0x61, 0x63,
+ 0x68, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61,
+ 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x1a,
+ 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x17, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x13, 0x6d, 0x6f, 0x64,
+ 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x52, 0x12, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x75,
+ 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x62, 0x75, 0x66, 0x66, 0x55,
+ 0x69, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62,
+ 0x75, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x75, 0x66, 0x66,
+ 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityAppliedModifier_proto_rawDescOnce sync.Once
+ file_AbilityAppliedModifier_proto_rawDescData = file_AbilityAppliedModifier_proto_rawDesc
+)
+
+func file_AbilityAppliedModifier_proto_rawDescGZIP() []byte {
+ file_AbilityAppliedModifier_proto_rawDescOnce.Do(func() {
+ file_AbilityAppliedModifier_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityAppliedModifier_proto_rawDescData)
+ })
+ return file_AbilityAppliedModifier_proto_rawDescData
+}
+
+var file_AbilityAppliedModifier_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityAppliedModifier_proto_goTypes = []interface{}{
+ (*AbilityAppliedModifier)(nil), // 0: proto.AbilityAppliedModifier
+ (*AbilityString)(nil), // 1: proto.AbilityString
+ (*AbilityAttachedModifier)(nil), // 2: proto.AbilityAttachedModifier
+ (*ModifierDurability)(nil), // 3: proto.ModifierDurability
+}
+var file_AbilityAppliedModifier_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityAppliedModifier.parent_ability_name:type_name -> proto.AbilityString
+ 1, // 1: proto.AbilityAppliedModifier.parent_ability_override:type_name -> proto.AbilityString
+ 2, // 2: proto.AbilityAppliedModifier.attached_instanced_modifier:type_name -> proto.AbilityAttachedModifier
+ 3, // 3: proto.AbilityAppliedModifier.modifier_durability:type_name -> proto.ModifierDurability
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_AbilityAppliedModifier_proto_init() }
+func file_AbilityAppliedModifier_proto_init() {
+ if File_AbilityAppliedModifier_proto != nil {
+ return
+ }
+ file_AbilityAttachedModifier_proto_init()
+ file_AbilityString_proto_init()
+ file_ModifierDurability_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityAppliedModifier_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityAppliedModifier); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityAppliedModifier_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityAppliedModifier_proto_goTypes,
+ DependencyIndexes: file_AbilityAppliedModifier_proto_depIdxs,
+ MessageInfos: file_AbilityAppliedModifier_proto_msgTypes,
+ }.Build()
+ File_AbilityAppliedModifier_proto = out.File
+ file_AbilityAppliedModifier_proto_rawDesc = nil
+ file_AbilityAppliedModifier_proto_goTypes = nil
+ file_AbilityAppliedModifier_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityApplyLevelModifier.pb.go b/protocol/proto/AbilityApplyLevelModifier.pb.go
new file mode 100644
index 00000000..c7026179
--- /dev/null
+++ b/protocol/proto/AbilityApplyLevelModifier.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityApplyLevelModifier.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityApplyLevelModifier struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ApplyEntityId uint32 `protobuf:"varint,6,opt,name=apply_entity_id,json=applyEntityId,proto3" json:"apply_entity_id,omitempty"`
+}
+
+func (x *AbilityApplyLevelModifier) Reset() {
+ *x = AbilityApplyLevelModifier{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityApplyLevelModifier_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityApplyLevelModifier) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityApplyLevelModifier) ProtoMessage() {}
+
+func (x *AbilityApplyLevelModifier) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityApplyLevelModifier_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityApplyLevelModifier.ProtoReflect.Descriptor instead.
+func (*AbilityApplyLevelModifier) Descriptor() ([]byte, []int) {
+ return file_AbilityApplyLevelModifier_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityApplyLevelModifier) GetApplyEntityId() uint32 {
+ if x != nil {
+ return x.ApplyEntityId
+ }
+ return 0
+}
+
+var File_AbilityApplyLevelModifier_proto protoreflect.FileDescriptor
+
+var file_AbilityApplyLevelModifier_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x19, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x6f, 0x64,
+ 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AbilityApplyLevelModifier_proto_rawDescOnce sync.Once
+ file_AbilityApplyLevelModifier_proto_rawDescData = file_AbilityApplyLevelModifier_proto_rawDesc
+)
+
+func file_AbilityApplyLevelModifier_proto_rawDescGZIP() []byte {
+ file_AbilityApplyLevelModifier_proto_rawDescOnce.Do(func() {
+ file_AbilityApplyLevelModifier_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityApplyLevelModifier_proto_rawDescData)
+ })
+ return file_AbilityApplyLevelModifier_proto_rawDescData
+}
+
+var file_AbilityApplyLevelModifier_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityApplyLevelModifier_proto_goTypes = []interface{}{
+ (*AbilityApplyLevelModifier)(nil), // 0: proto.AbilityApplyLevelModifier
+}
+var file_AbilityApplyLevelModifier_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityApplyLevelModifier_proto_init() }
+func file_AbilityApplyLevelModifier_proto_init() {
+ if File_AbilityApplyLevelModifier_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityApplyLevelModifier_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityApplyLevelModifier); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityApplyLevelModifier_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityApplyLevelModifier_proto_goTypes,
+ DependencyIndexes: file_AbilityApplyLevelModifier_proto_depIdxs,
+ MessageInfos: file_AbilityApplyLevelModifier_proto_msgTypes,
+ }.Build()
+ File_AbilityApplyLevelModifier_proto = out.File
+ file_AbilityApplyLevelModifier_proto_rawDesc = nil
+ file_AbilityApplyLevelModifier_proto_goTypes = nil
+ file_AbilityApplyLevelModifier_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityArgument.pb.go b/protocol/proto/AbilityArgument.pb.go
new file mode 100644
index 00000000..d2f03201
--- /dev/null
+++ b/protocol/proto/AbilityArgument.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityArgument.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityArgument struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Arg:
+ //
+ // *AbilityArgument_IntArg
+ // *AbilityArgument_FloatArg
+ // *AbilityArgument_StrArg
+ Arg isAbilityArgument_Arg `protobuf_oneof:"arg"`
+}
+
+func (x *AbilityArgument) Reset() {
+ *x = AbilityArgument{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityArgument_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityArgument) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityArgument) ProtoMessage() {}
+
+func (x *AbilityArgument) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityArgument_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityArgument.ProtoReflect.Descriptor instead.
+func (*AbilityArgument) Descriptor() ([]byte, []int) {
+ return file_AbilityArgument_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *AbilityArgument) GetArg() isAbilityArgument_Arg {
+ if m != nil {
+ return m.Arg
+ }
+ return nil
+}
+
+func (x *AbilityArgument) GetIntArg() uint32 {
+ if x, ok := x.GetArg().(*AbilityArgument_IntArg); ok {
+ return x.IntArg
+ }
+ return 0
+}
+
+func (x *AbilityArgument) GetFloatArg() float32 {
+ if x, ok := x.GetArg().(*AbilityArgument_FloatArg); ok {
+ return x.FloatArg
+ }
+ return 0
+}
+
+func (x *AbilityArgument) GetStrArg() string {
+ if x, ok := x.GetArg().(*AbilityArgument_StrArg); ok {
+ return x.StrArg
+ }
+ return ""
+}
+
+type isAbilityArgument_Arg interface {
+ isAbilityArgument_Arg()
+}
+
+type AbilityArgument_IntArg struct {
+ IntArg uint32 `protobuf:"varint,5,opt,name=int_arg,json=intArg,proto3,oneof"`
+}
+
+type AbilityArgument_FloatArg struct {
+ FloatArg float32 `protobuf:"fixed32,15,opt,name=float_arg,json=floatArg,proto3,oneof"`
+}
+
+type AbilityArgument_StrArg struct {
+ StrArg string `protobuf:"bytes,11,opt,name=str_arg,json=strArg,proto3,oneof"`
+}
+
+func (*AbilityArgument_IntArg) isAbilityArgument_Arg() {}
+
+func (*AbilityArgument_FloatArg) isAbilityArgument_Arg() {}
+
+func (*AbilityArgument_StrArg) isAbilityArgument_Arg() {}
+
+var File_AbilityArgument_proto protoreflect.FileDescriptor
+
+var file_AbilityArgument_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d,
+ 0x0a, 0x0f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
+ 0x74, 0x12, 0x19, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x41, 0x72, 0x67, 0x12, 0x1d, 0x0a, 0x09,
+ 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x48,
+ 0x00, 0x52, 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x41, 0x72, 0x67, 0x12, 0x19, 0x0a, 0x07, 0x73,
+ 0x74, 0x72, 0x5f, 0x61, 0x72, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06,
+ 0x73, 0x74, 0x72, 0x41, 0x72, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AbilityArgument_proto_rawDescOnce sync.Once
+ file_AbilityArgument_proto_rawDescData = file_AbilityArgument_proto_rawDesc
+)
+
+func file_AbilityArgument_proto_rawDescGZIP() []byte {
+ file_AbilityArgument_proto_rawDescOnce.Do(func() {
+ file_AbilityArgument_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityArgument_proto_rawDescData)
+ })
+ return file_AbilityArgument_proto_rawDescData
+}
+
+var file_AbilityArgument_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityArgument_proto_goTypes = []interface{}{
+ (*AbilityArgument)(nil), // 0: proto.AbilityArgument
+}
+var file_AbilityArgument_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityArgument_proto_init() }
+func file_AbilityArgument_proto_init() {
+ if File_AbilityArgument_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityArgument_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityArgument); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_AbilityArgument_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*AbilityArgument_IntArg)(nil),
+ (*AbilityArgument_FloatArg)(nil),
+ (*AbilityArgument_StrArg)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityArgument_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityArgument_proto_goTypes,
+ DependencyIndexes: file_AbilityArgument_proto_depIdxs,
+ MessageInfos: file_AbilityArgument_proto_msgTypes,
+ }.Build()
+ File_AbilityArgument_proto = out.File
+ file_AbilityArgument_proto_rawDesc = nil
+ file_AbilityArgument_proto_goTypes = nil
+ file_AbilityArgument_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityAttachedModifier.pb.go b/protocol/proto/AbilityAttachedModifier.pb.go
new file mode 100644
index 00000000..4b6ae0c0
--- /dev/null
+++ b/protocol/proto/AbilityAttachedModifier.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityAttachedModifier.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityAttachedModifier struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsInvalid bool `protobuf:"varint,1,opt,name=is_invalid,json=isInvalid,proto3" json:"is_invalid,omitempty"`
+ OwnerEntityId uint32 `protobuf:"varint,2,opt,name=owner_entity_id,json=ownerEntityId,proto3" json:"owner_entity_id,omitempty"`
+ InstancedModifierId uint32 `protobuf:"varint,3,opt,name=instanced_modifier_id,json=instancedModifierId,proto3" json:"instanced_modifier_id,omitempty"`
+ IsServerbuffModifier bool `protobuf:"varint,4,opt,name=is_serverbuff_modifier,json=isServerbuffModifier,proto3" json:"is_serverbuff_modifier,omitempty"`
+ AttachNameHash int32 `protobuf:"varint,5,opt,name=attach_name_hash,json=attachNameHash,proto3" json:"attach_name_hash,omitempty"`
+}
+
+func (x *AbilityAttachedModifier) Reset() {
+ *x = AbilityAttachedModifier{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityAttachedModifier_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityAttachedModifier) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityAttachedModifier) ProtoMessage() {}
+
+func (x *AbilityAttachedModifier) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityAttachedModifier_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityAttachedModifier.ProtoReflect.Descriptor instead.
+func (*AbilityAttachedModifier) Descriptor() ([]byte, []int) {
+ return file_AbilityAttachedModifier_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityAttachedModifier) GetIsInvalid() bool {
+ if x != nil {
+ return x.IsInvalid
+ }
+ return false
+}
+
+func (x *AbilityAttachedModifier) GetOwnerEntityId() uint32 {
+ if x != nil {
+ return x.OwnerEntityId
+ }
+ return 0
+}
+
+func (x *AbilityAttachedModifier) GetInstancedModifierId() uint32 {
+ if x != nil {
+ return x.InstancedModifierId
+ }
+ return 0
+}
+
+func (x *AbilityAttachedModifier) GetIsServerbuffModifier() bool {
+ if x != nil {
+ return x.IsServerbuffModifier
+ }
+ return false
+}
+
+func (x *AbilityAttachedModifier) GetAttachNameHash() int32 {
+ if x != nil {
+ return x.AttachNameHash
+ }
+ return 0
+}
+
+var File_AbilityAttachedModifier_proto protoreflect.FileDescriptor
+
+var file_AbilityAttachedModifier_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65,
+ 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x01, 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69,
+ 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69,
+ 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65,
+ 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73,
+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+ 0x63, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a,
+ 0x16, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6d,
+ 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69,
+ 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61,
+ 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AbilityAttachedModifier_proto_rawDescOnce sync.Once
+ file_AbilityAttachedModifier_proto_rawDescData = file_AbilityAttachedModifier_proto_rawDesc
+)
+
+func file_AbilityAttachedModifier_proto_rawDescGZIP() []byte {
+ file_AbilityAttachedModifier_proto_rawDescOnce.Do(func() {
+ file_AbilityAttachedModifier_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityAttachedModifier_proto_rawDescData)
+ })
+ return file_AbilityAttachedModifier_proto_rawDescData
+}
+
+var file_AbilityAttachedModifier_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityAttachedModifier_proto_goTypes = []interface{}{
+ (*AbilityAttachedModifier)(nil), // 0: proto.AbilityAttachedModifier
+}
+var file_AbilityAttachedModifier_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityAttachedModifier_proto_init() }
+func file_AbilityAttachedModifier_proto_init() {
+ if File_AbilityAttachedModifier_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityAttachedModifier_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityAttachedModifier); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityAttachedModifier_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityAttachedModifier_proto_goTypes,
+ DependencyIndexes: file_AbilityAttachedModifier_proto_depIdxs,
+ MessageInfos: file_AbilityAttachedModifier_proto_msgTypes,
+ }.Build()
+ File_AbilityAttachedModifier_proto = out.File
+ file_AbilityAttachedModifier_proto_rawDesc = nil
+ file_AbilityAttachedModifier_proto_goTypes = nil
+ file_AbilityAttachedModifier_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityBornType.pb.go b/protocol/proto/AbilityBornType.pb.go
new file mode 100644
index 00000000..a9b5b9ee
--- /dev/null
+++ b/protocol/proto/AbilityBornType.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityBornType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityBornType struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,2,opt,name=rot,proto3" json:"rot,omitempty"`
+ MoveDir *Vector `protobuf:"bytes,14,opt,name=move_dir,json=moveDir,proto3" json:"move_dir,omitempty"`
+ Pos *Vector `protobuf:"bytes,5,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *AbilityBornType) Reset() {
+ *x = AbilityBornType{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityBornType_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityBornType) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityBornType) ProtoMessage() {}
+
+func (x *AbilityBornType) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityBornType_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityBornType.ProtoReflect.Descriptor instead.
+func (*AbilityBornType) Descriptor() ([]byte, []int) {
+ return file_AbilityBornType_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityBornType) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *AbilityBornType) GetMoveDir() *Vector {
+ if x != nil {
+ return x.MoveDir
+ }
+ return nil
+}
+
+func (x *AbilityBornType) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_AbilityBornType_proto protoreflect.FileDescriptor
+
+var file_AbilityBornType_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x0f,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74,
+ 0x12, 0x28, 0x0a, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x07, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f,
+ 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityBornType_proto_rawDescOnce sync.Once
+ file_AbilityBornType_proto_rawDescData = file_AbilityBornType_proto_rawDesc
+)
+
+func file_AbilityBornType_proto_rawDescGZIP() []byte {
+ file_AbilityBornType_proto_rawDescOnce.Do(func() {
+ file_AbilityBornType_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityBornType_proto_rawDescData)
+ })
+ return file_AbilityBornType_proto_rawDescData
+}
+
+var file_AbilityBornType_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityBornType_proto_goTypes = []interface{}{
+ (*AbilityBornType)(nil), // 0: proto.AbilityBornType
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityBornType_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityBornType.rot:type_name -> proto.Vector
+ 1, // 1: proto.AbilityBornType.move_dir:type_name -> proto.Vector
+ 1, // 2: proto.AbilityBornType.pos:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_AbilityBornType_proto_init() }
+func file_AbilityBornType_proto_init() {
+ if File_AbilityBornType_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityBornType_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityBornType); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityBornType_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityBornType_proto_goTypes,
+ DependencyIndexes: file_AbilityBornType_proto_depIdxs,
+ MessageInfos: file_AbilityBornType_proto_msgTypes,
+ }.Build()
+ File_AbilityBornType_proto = out.File
+ file_AbilityBornType_proto_rawDesc = nil
+ file_AbilityBornType_proto_goTypes = nil
+ file_AbilityBornType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityChangeNotify.pb.go b/protocol/proto/AbilityChangeNotify.pb.go
new file mode 100644
index 00000000..b44b9f1a
--- /dev/null
+++ b/protocol/proto/AbilityChangeNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1131
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AbilityChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ AbilityControlBlock *AbilityControlBlock `protobuf:"bytes,15,opt,name=ability_control_block,json=abilityControlBlock,proto3" json:"ability_control_block,omitempty"`
+}
+
+func (x *AbilityChangeNotify) Reset() {
+ *x = AbilityChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityChangeNotify) ProtoMessage() {}
+
+func (x *AbilityChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityChangeNotify.ProtoReflect.Descriptor instead.
+func (*AbilityChangeNotify) Descriptor() ([]byte, []int) {
+ return file_AbilityChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityChangeNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AbilityChangeNotify) GetAbilityControlBlock() *AbilityControlBlock {
+ if x != nil {
+ return x.AbilityControlBlock
+ }
+ return nil
+}
+
+var File_AbilityChangeNotify_proto protoreflect.FileDescriptor
+
+var file_AbilityChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01,
+ 0x0a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x15, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x13, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityChangeNotify_proto_rawDescOnce sync.Once
+ file_AbilityChangeNotify_proto_rawDescData = file_AbilityChangeNotify_proto_rawDesc
+)
+
+func file_AbilityChangeNotify_proto_rawDescGZIP() []byte {
+ file_AbilityChangeNotify_proto_rawDescOnce.Do(func() {
+ file_AbilityChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityChangeNotify_proto_rawDescData)
+ })
+ return file_AbilityChangeNotify_proto_rawDescData
+}
+
+var file_AbilityChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityChangeNotify_proto_goTypes = []interface{}{
+ (*AbilityChangeNotify)(nil), // 0: proto.AbilityChangeNotify
+ (*AbilityControlBlock)(nil), // 1: proto.AbilityControlBlock
+}
+var file_AbilityChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityChangeNotify.ability_control_block:type_name -> proto.AbilityControlBlock
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityChangeNotify_proto_init() }
+func file_AbilityChangeNotify_proto_init() {
+ if File_AbilityChangeNotify_proto != nil {
+ return
+ }
+ file_AbilityControlBlock_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityChangeNotify_proto_goTypes,
+ DependencyIndexes: file_AbilityChangeNotify_proto_depIdxs,
+ MessageInfos: file_AbilityChangeNotify_proto_msgTypes,
+ }.Build()
+ File_AbilityChangeNotify_proto = out.File
+ file_AbilityChangeNotify_proto_rawDesc = nil
+ file_AbilityChangeNotify_proto_goTypes = nil
+ file_AbilityChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityControlBlock.pb.go b/protocol/proto/AbilityControlBlock.pb.go
new file mode 100644
index 00000000..a7d3c5ea
--- /dev/null
+++ b/protocol/proto/AbilityControlBlock.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityControlBlock.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityControlBlock struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityEmbryoList []*AbilityEmbryo `protobuf:"bytes,1,rep,name=ability_embryo_list,json=abilityEmbryoList,proto3" json:"ability_embryo_list,omitempty"`
+}
+
+func (x *AbilityControlBlock) Reset() {
+ *x = AbilityControlBlock{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityControlBlock_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityControlBlock) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityControlBlock) ProtoMessage() {}
+
+func (x *AbilityControlBlock) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityControlBlock_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityControlBlock.ProtoReflect.Descriptor instead.
+func (*AbilityControlBlock) Descriptor() ([]byte, []int) {
+ return file_AbilityControlBlock_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityControlBlock) GetAbilityEmbryoList() []*AbilityEmbryo {
+ if x != nil {
+ return x.AbilityEmbryoList
+ }
+ return nil
+}
+
+var File_AbilityControlBlock_proto protoreflect.FileDescriptor
+
+var file_AbilityControlBlock_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6d, 0x62, 0x72, 0x79,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x44,
+ 0x0a, 0x13, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6d, 0x62, 0x72, 0x79, 0x6f,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6d, 0x62, 0x72, 0x79,
+ 0x6f, 0x52, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6d, 0x62, 0x72, 0x79, 0x6f,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityControlBlock_proto_rawDescOnce sync.Once
+ file_AbilityControlBlock_proto_rawDescData = file_AbilityControlBlock_proto_rawDesc
+)
+
+func file_AbilityControlBlock_proto_rawDescGZIP() []byte {
+ file_AbilityControlBlock_proto_rawDescOnce.Do(func() {
+ file_AbilityControlBlock_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityControlBlock_proto_rawDescData)
+ })
+ return file_AbilityControlBlock_proto_rawDescData
+}
+
+var file_AbilityControlBlock_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityControlBlock_proto_goTypes = []interface{}{
+ (*AbilityControlBlock)(nil), // 0: proto.AbilityControlBlock
+ (*AbilityEmbryo)(nil), // 1: proto.AbilityEmbryo
+}
+var file_AbilityControlBlock_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityControlBlock.ability_embryo_list:type_name -> proto.AbilityEmbryo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityControlBlock_proto_init() }
+func file_AbilityControlBlock_proto_init() {
+ if File_AbilityControlBlock_proto != nil {
+ return
+ }
+ file_AbilityEmbryo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityControlBlock_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityControlBlock); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityControlBlock_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityControlBlock_proto_goTypes,
+ DependencyIndexes: file_AbilityControlBlock_proto_depIdxs,
+ MessageInfos: file_AbilityControlBlock_proto_msgTypes,
+ }.Build()
+ File_AbilityControlBlock_proto = out.File
+ file_AbilityControlBlock_proto_rawDesc = nil
+ file_AbilityControlBlock_proto_goTypes = nil
+ file_AbilityControlBlock_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityEmbryo.pb.go b/protocol/proto/AbilityEmbryo.pb.go
new file mode 100644
index 00000000..c5f96390
--- /dev/null
+++ b/protocol/proto/AbilityEmbryo.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityEmbryo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityEmbryo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityId uint32 `protobuf:"varint,1,opt,name=ability_id,json=abilityId,proto3" json:"ability_id,omitempty"`
+ AbilityNameHash uint32 `protobuf:"fixed32,2,opt,name=ability_name_hash,json=abilityNameHash,proto3" json:"ability_name_hash,omitempty"`
+ AbilityOverrideNameHash uint32 `protobuf:"fixed32,3,opt,name=ability_override_name_hash,json=abilityOverrideNameHash,proto3" json:"ability_override_name_hash,omitempty"`
+}
+
+func (x *AbilityEmbryo) Reset() {
+ *x = AbilityEmbryo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityEmbryo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityEmbryo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityEmbryo) ProtoMessage() {}
+
+func (x *AbilityEmbryo) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityEmbryo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityEmbryo.ProtoReflect.Descriptor instead.
+func (*AbilityEmbryo) Descriptor() ([]byte, []int) {
+ return file_AbilityEmbryo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityEmbryo) GetAbilityId() uint32 {
+ if x != nil {
+ return x.AbilityId
+ }
+ return 0
+}
+
+func (x *AbilityEmbryo) GetAbilityNameHash() uint32 {
+ if x != nil {
+ return x.AbilityNameHash
+ }
+ return 0
+}
+
+func (x *AbilityEmbryo) GetAbilityOverrideNameHash() uint32 {
+ if x != nil {
+ return x.AbilityOverrideNameHash
+ }
+ return 0
+}
+
+var File_AbilityEmbryo_proto protoreflect.FileDescriptor
+
+var file_AbilityEmbryo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6d, 0x62, 0x72, 0x79, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a,
+ 0x0d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6d, 0x62, 0x72, 0x79, 0x6f, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a,
+ 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61,
+ 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3b, 0x0a, 0x1a, 0x61, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x17, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4e, 0x61,
+ 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityEmbryo_proto_rawDescOnce sync.Once
+ file_AbilityEmbryo_proto_rawDescData = file_AbilityEmbryo_proto_rawDesc
+)
+
+func file_AbilityEmbryo_proto_rawDescGZIP() []byte {
+ file_AbilityEmbryo_proto_rawDescOnce.Do(func() {
+ file_AbilityEmbryo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityEmbryo_proto_rawDescData)
+ })
+ return file_AbilityEmbryo_proto_rawDescData
+}
+
+var file_AbilityEmbryo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityEmbryo_proto_goTypes = []interface{}{
+ (*AbilityEmbryo)(nil), // 0: proto.AbilityEmbryo
+}
+var file_AbilityEmbryo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityEmbryo_proto_init() }
+func file_AbilityEmbryo_proto_init() {
+ if File_AbilityEmbryo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityEmbryo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityEmbryo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityEmbryo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityEmbryo_proto_goTypes,
+ DependencyIndexes: file_AbilityEmbryo_proto_depIdxs,
+ MessageInfos: file_AbilityEmbryo_proto_msgTypes,
+ }.Build()
+ File_AbilityEmbryo_proto = out.File
+ file_AbilityEmbryo_proto_rawDesc = nil
+ file_AbilityEmbryo_proto_goTypes = nil
+ file_AbilityEmbryo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityFloatValue.pb.go b/protocol/proto/AbilityFloatValue.pb.go
new file mode 100644
index 00000000..90b0403c
--- /dev/null
+++ b/protocol/proto/AbilityFloatValue.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityFloatValue.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityFloatValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *AbilityFloatValue) Reset() {
+ *x = AbilityFloatValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityFloatValue_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityFloatValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityFloatValue) ProtoMessage() {}
+
+func (x *AbilityFloatValue) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityFloatValue_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityFloatValue.ProtoReflect.Descriptor instead.
+func (*AbilityFloatValue) Descriptor() ([]byte, []int) {
+ return file_AbilityFloatValue_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityFloatValue) GetValue() float32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+var File_AbilityFloatValue_proto protoreflect.FileDescriptor
+
+var file_AbilityFloatValue_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x29, 0x0a, 0x11, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x46, 0x6c, 0x6f, 0x61, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityFloatValue_proto_rawDescOnce sync.Once
+ file_AbilityFloatValue_proto_rawDescData = file_AbilityFloatValue_proto_rawDesc
+)
+
+func file_AbilityFloatValue_proto_rawDescGZIP() []byte {
+ file_AbilityFloatValue_proto_rawDescOnce.Do(func() {
+ file_AbilityFloatValue_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityFloatValue_proto_rawDescData)
+ })
+ return file_AbilityFloatValue_proto_rawDescData
+}
+
+var file_AbilityFloatValue_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityFloatValue_proto_goTypes = []interface{}{
+ (*AbilityFloatValue)(nil), // 0: proto.AbilityFloatValue
+}
+var file_AbilityFloatValue_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityFloatValue_proto_init() }
+func file_AbilityFloatValue_proto_init() {
+ if File_AbilityFloatValue_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityFloatValue_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityFloatValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityFloatValue_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityFloatValue_proto_goTypes,
+ DependencyIndexes: file_AbilityFloatValue_proto_depIdxs,
+ MessageInfos: file_AbilityFloatValue_proto_msgTypes,
+ }.Build()
+ File_AbilityFloatValue_proto = out.File
+ file_AbilityFloatValue_proto_rawDesc = nil
+ file_AbilityFloatValue_proto_goTypes = nil
+ file_AbilityFloatValue_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityGadgetInfo.pb.go b/protocol/proto/AbilityGadgetInfo.pb.go
new file mode 100644
index 00000000..558a114a
--- /dev/null
+++ b/protocol/proto/AbilityGadgetInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CampId uint32 `protobuf:"varint,1,opt,name=camp_id,json=campId,proto3" json:"camp_id,omitempty"`
+ CampTargetType uint32 `protobuf:"varint,2,opt,name=camp_target_type,json=campTargetType,proto3" json:"camp_target_type,omitempty"`
+ TargetEntityId uint32 `protobuf:"varint,3,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+}
+
+func (x *AbilityGadgetInfo) Reset() {
+ *x = AbilityGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityGadgetInfo) ProtoMessage() {}
+
+func (x *AbilityGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityGadgetInfo.ProtoReflect.Descriptor instead.
+func (*AbilityGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_AbilityGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityGadgetInfo) GetCampId() uint32 {
+ if x != nil {
+ return x.CampId
+ }
+ return 0
+}
+
+func (x *AbilityGadgetInfo) GetCampTargetType() uint32 {
+ if x != nil {
+ return x.CampTargetType
+ }
+ return 0
+}
+
+func (x *AbilityGadgetInfo) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+var File_AbilityGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_AbilityGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x80, 0x01, 0x0a, 0x11, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x12,
+ 0x28, 0x0a, 0x10, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x61, 0x6d, 0x70, 0x54,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityGadgetInfo_proto_rawDescOnce sync.Once
+ file_AbilityGadgetInfo_proto_rawDescData = file_AbilityGadgetInfo_proto_rawDesc
+)
+
+func file_AbilityGadgetInfo_proto_rawDescGZIP() []byte {
+ file_AbilityGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_AbilityGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityGadgetInfo_proto_rawDescData)
+ })
+ return file_AbilityGadgetInfo_proto_rawDescData
+}
+
+var file_AbilityGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityGadgetInfo_proto_goTypes = []interface{}{
+ (*AbilityGadgetInfo)(nil), // 0: proto.AbilityGadgetInfo
+}
+var file_AbilityGadgetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityGadgetInfo_proto_init() }
+func file_AbilityGadgetInfo_proto_init() {
+ if File_AbilityGadgetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_AbilityGadgetInfo_proto_depIdxs,
+ MessageInfos: file_AbilityGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_AbilityGadgetInfo_proto = out.File
+ file_AbilityGadgetInfo_proto_rawDesc = nil
+ file_AbilityGadgetInfo_proto_goTypes = nil
+ file_AbilityGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityIdentifier.pb.go b/protocol/proto/AbilityIdentifier.pb.go
new file mode 100644
index 00000000..f238300d
--- /dev/null
+++ b/protocol/proto/AbilityIdentifier.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityIdentifier.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityIdentifier struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModifierOwnerId uint32 `protobuf:"varint,2,opt,name=modifier_owner_id,json=modifierOwnerId,proto3" json:"modifier_owner_id,omitempty"`
+ InstancedModifierId uint32 `protobuf:"varint,9,opt,name=instanced_modifier_id,json=instancedModifierId,proto3" json:"instanced_modifier_id,omitempty"`
+ InstancedAbilityId uint32 `protobuf:"varint,10,opt,name=instanced_ability_id,json=instancedAbilityId,proto3" json:"instanced_ability_id,omitempty"`
+ IsServerbuffModifier bool `protobuf:"varint,6,opt,name=is_serverbuff_modifier,json=isServerbuffModifier,proto3" json:"is_serverbuff_modifier,omitempty"`
+ AbilityCasterId uint32 `protobuf:"varint,15,opt,name=ability_caster_id,json=abilityCasterId,proto3" json:"ability_caster_id,omitempty"`
+ LocalId int32 `protobuf:"varint,3,opt,name=local_id,json=localId,proto3" json:"local_id,omitempty"`
+}
+
+func (x *AbilityIdentifier) Reset() {
+ *x = AbilityIdentifier{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityIdentifier_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityIdentifier) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityIdentifier) ProtoMessage() {}
+
+func (x *AbilityIdentifier) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityIdentifier_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityIdentifier.ProtoReflect.Descriptor instead.
+func (*AbilityIdentifier) Descriptor() ([]byte, []int) {
+ return file_AbilityIdentifier_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityIdentifier) GetModifierOwnerId() uint32 {
+ if x != nil {
+ return x.ModifierOwnerId
+ }
+ return 0
+}
+
+func (x *AbilityIdentifier) GetInstancedModifierId() uint32 {
+ if x != nil {
+ return x.InstancedModifierId
+ }
+ return 0
+}
+
+func (x *AbilityIdentifier) GetInstancedAbilityId() uint32 {
+ if x != nil {
+ return x.InstancedAbilityId
+ }
+ return 0
+}
+
+func (x *AbilityIdentifier) GetIsServerbuffModifier() bool {
+ if x != nil {
+ return x.IsServerbuffModifier
+ }
+ return false
+}
+
+func (x *AbilityIdentifier) GetAbilityCasterId() uint32 {
+ if x != nil {
+ return x.AbilityCasterId
+ }
+ return 0
+}
+
+func (x *AbilityIdentifier) GetLocalId() int32 {
+ if x != nil {
+ return x.LocalId
+ }
+ return 0
+}
+
+var File_AbilityIdentifier_proto protoreflect.FileDescriptor
+
+var file_AbilityIdentifier_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e,
+ 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
+ 0x65, 0x72, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f,
+ 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+ 0x63, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x41,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
+ 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x2a,
+ 0x0a, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x43, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityIdentifier_proto_rawDescOnce sync.Once
+ file_AbilityIdentifier_proto_rawDescData = file_AbilityIdentifier_proto_rawDesc
+)
+
+func file_AbilityIdentifier_proto_rawDescGZIP() []byte {
+ file_AbilityIdentifier_proto_rawDescOnce.Do(func() {
+ file_AbilityIdentifier_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityIdentifier_proto_rawDescData)
+ })
+ return file_AbilityIdentifier_proto_rawDescData
+}
+
+var file_AbilityIdentifier_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityIdentifier_proto_goTypes = []interface{}{
+ (*AbilityIdentifier)(nil), // 0: proto.AbilityIdentifier
+}
+var file_AbilityIdentifier_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityIdentifier_proto_init() }
+func file_AbilityIdentifier_proto_init() {
+ if File_AbilityIdentifier_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityIdentifier_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityIdentifier); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityIdentifier_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityIdentifier_proto_goTypes,
+ DependencyIndexes: file_AbilityIdentifier_proto_depIdxs,
+ MessageInfos: file_AbilityIdentifier_proto_msgTypes,
+ }.Build()
+ File_AbilityIdentifier_proto = out.File
+ file_AbilityIdentifier_proto_rawDesc = nil
+ file_AbilityIdentifier_proto_goTypes = nil
+ file_AbilityIdentifier_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityInvocationFailNotify.pb.go b/protocol/proto/AbilityInvocationFailNotify.pb.go
new file mode 100644
index 00000000..fa8a91d6
--- /dev/null
+++ b/protocol/proto/AbilityInvocationFailNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityInvocationFailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1107
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AbilityInvocationFailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason string `protobuf:"bytes,7,opt,name=reason,proto3" json:"reason,omitempty"`
+ EntityId uint32 `protobuf:"varint,13,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Invoke *AbilityInvokeEntry `protobuf:"bytes,3,opt,name=invoke,proto3" json:"invoke,omitempty"`
+}
+
+func (x *AbilityInvocationFailNotify) Reset() {
+ *x = AbilityInvocationFailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityInvocationFailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityInvocationFailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityInvocationFailNotify) ProtoMessage() {}
+
+func (x *AbilityInvocationFailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityInvocationFailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityInvocationFailNotify.ProtoReflect.Descriptor instead.
+func (*AbilityInvocationFailNotify) Descriptor() ([]byte, []int) {
+ return file_AbilityInvocationFailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityInvocationFailNotify) GetReason() string {
+ if x != nil {
+ return x.Reason
+ }
+ return ""
+}
+
+func (x *AbilityInvocationFailNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AbilityInvocationFailNotify) GetInvoke() *AbilityInvokeEntry {
+ if x != nil {
+ return x.Invoke
+ }
+ return nil
+}
+
+var File_AbilityInvocationFailNotify_proto protoreflect.FileDescriptor
+
+var file_AbilityInvocationFailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x69, 0x6e, 0x76,
+ 0x6f, 0x6b, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityInvocationFailNotify_proto_rawDescOnce sync.Once
+ file_AbilityInvocationFailNotify_proto_rawDescData = file_AbilityInvocationFailNotify_proto_rawDesc
+)
+
+func file_AbilityInvocationFailNotify_proto_rawDescGZIP() []byte {
+ file_AbilityInvocationFailNotify_proto_rawDescOnce.Do(func() {
+ file_AbilityInvocationFailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityInvocationFailNotify_proto_rawDescData)
+ })
+ return file_AbilityInvocationFailNotify_proto_rawDescData
+}
+
+var file_AbilityInvocationFailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityInvocationFailNotify_proto_goTypes = []interface{}{
+ (*AbilityInvocationFailNotify)(nil), // 0: proto.AbilityInvocationFailNotify
+ (*AbilityInvokeEntry)(nil), // 1: proto.AbilityInvokeEntry
+}
+var file_AbilityInvocationFailNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityInvocationFailNotify.invoke:type_name -> proto.AbilityInvokeEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityInvocationFailNotify_proto_init() }
+func file_AbilityInvocationFailNotify_proto_init() {
+ if File_AbilityInvocationFailNotify_proto != nil {
+ return
+ }
+ file_AbilityInvokeEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityInvocationFailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityInvocationFailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityInvocationFailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityInvocationFailNotify_proto_goTypes,
+ DependencyIndexes: file_AbilityInvocationFailNotify_proto_depIdxs,
+ MessageInfos: file_AbilityInvocationFailNotify_proto_msgTypes,
+ }.Build()
+ File_AbilityInvocationFailNotify_proto = out.File
+ file_AbilityInvocationFailNotify_proto_rawDesc = nil
+ file_AbilityInvocationFailNotify_proto_goTypes = nil
+ file_AbilityInvocationFailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityInvocationFixedNotify.pb.go b/protocol/proto/AbilityInvocationFixedNotify.pb.go
new file mode 100644
index 00000000..1f4f4b8a
--- /dev/null
+++ b/protocol/proto/AbilityInvocationFixedNotify.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityInvocationFixedNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AbilityInvocationFixedNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Invoke6Th *AbilityInvokeEntry `protobuf:"bytes,14,opt,name=invoke6th,proto3" json:"invoke6th,omitempty"`
+ Invoke5Th *AbilityInvokeEntry `protobuf:"bytes,8,opt,name=invoke5th,proto3" json:"invoke5th,omitempty"`
+ Invoke4Th *AbilityInvokeEntry `protobuf:"bytes,1,opt,name=invoke4th,proto3" json:"invoke4th,omitempty"`
+ Invoke2Nd *AbilityInvokeEntry `protobuf:"bytes,5,opt,name=invoke2nd,proto3" json:"invoke2nd,omitempty"`
+ Invoke1St *AbilityInvokeEntry `protobuf:"bytes,10,opt,name=invoke1st,proto3" json:"invoke1st,omitempty"`
+ Invoke3Rd *AbilityInvokeEntry `protobuf:"bytes,12,opt,name=invoke3rd,proto3" json:"invoke3rd,omitempty"`
+}
+
+func (x *AbilityInvocationFixedNotify) Reset() {
+ *x = AbilityInvocationFixedNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityInvocationFixedNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityInvocationFixedNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityInvocationFixedNotify) ProtoMessage() {}
+
+func (x *AbilityInvocationFixedNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityInvocationFixedNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityInvocationFixedNotify.ProtoReflect.Descriptor instead.
+func (*AbilityInvocationFixedNotify) Descriptor() ([]byte, []int) {
+ return file_AbilityInvocationFixedNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityInvocationFixedNotify) GetInvoke6Th() *AbilityInvokeEntry {
+ if x != nil {
+ return x.Invoke6Th
+ }
+ return nil
+}
+
+func (x *AbilityInvocationFixedNotify) GetInvoke5Th() *AbilityInvokeEntry {
+ if x != nil {
+ return x.Invoke5Th
+ }
+ return nil
+}
+
+func (x *AbilityInvocationFixedNotify) GetInvoke4Th() *AbilityInvokeEntry {
+ if x != nil {
+ return x.Invoke4Th
+ }
+ return nil
+}
+
+func (x *AbilityInvocationFixedNotify) GetInvoke2Nd() *AbilityInvokeEntry {
+ if x != nil {
+ return x.Invoke2Nd
+ }
+ return nil
+}
+
+func (x *AbilityInvocationFixedNotify) GetInvoke1St() *AbilityInvokeEntry {
+ if x != nil {
+ return x.Invoke1St
+ }
+ return nil
+}
+
+func (x *AbilityInvocationFixedNotify) GetInvoke3Rd() *AbilityInvokeEntry {
+ if x != nil {
+ return x.Invoke3Rd
+ }
+ return nil
+}
+
+var File_AbilityInvocationFixedNotify_proto protoreflect.FileDescriptor
+
+var file_AbilityInvocationFixedNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x02, 0x0a, 0x1c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x78, 0x65, 0x64,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65,
+ 0x36, 0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x36, 0x74, 0x68, 0x12,
+ 0x37, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x35, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69,
+ 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x35, 0x74, 0x68, 0x12, 0x37, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x6f,
+ 0x6b, 0x65, 0x34, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b,
+ 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x34, 0x74,
+ 0x68, 0x12, 0x37, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x32, 0x6e, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x32, 0x6e, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x69, 0x6e,
+ 0x76, 0x6f, 0x6b, 0x65, 0x31, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76,
+ 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65,
+ 0x31, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x33, 0x72, 0x64,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x33, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityInvocationFixedNotify_proto_rawDescOnce sync.Once
+ file_AbilityInvocationFixedNotify_proto_rawDescData = file_AbilityInvocationFixedNotify_proto_rawDesc
+)
+
+func file_AbilityInvocationFixedNotify_proto_rawDescGZIP() []byte {
+ file_AbilityInvocationFixedNotify_proto_rawDescOnce.Do(func() {
+ file_AbilityInvocationFixedNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityInvocationFixedNotify_proto_rawDescData)
+ })
+ return file_AbilityInvocationFixedNotify_proto_rawDescData
+}
+
+var file_AbilityInvocationFixedNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityInvocationFixedNotify_proto_goTypes = []interface{}{
+ (*AbilityInvocationFixedNotify)(nil), // 0: proto.AbilityInvocationFixedNotify
+ (*AbilityInvokeEntry)(nil), // 1: proto.AbilityInvokeEntry
+}
+var file_AbilityInvocationFixedNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityInvocationFixedNotify.invoke6th:type_name -> proto.AbilityInvokeEntry
+ 1, // 1: proto.AbilityInvocationFixedNotify.invoke5th:type_name -> proto.AbilityInvokeEntry
+ 1, // 2: proto.AbilityInvocationFixedNotify.invoke4th:type_name -> proto.AbilityInvokeEntry
+ 1, // 3: proto.AbilityInvocationFixedNotify.invoke2nd:type_name -> proto.AbilityInvokeEntry
+ 1, // 4: proto.AbilityInvocationFixedNotify.invoke1st:type_name -> proto.AbilityInvokeEntry
+ 1, // 5: proto.AbilityInvocationFixedNotify.invoke3rd:type_name -> proto.AbilityInvokeEntry
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_AbilityInvocationFixedNotify_proto_init() }
+func file_AbilityInvocationFixedNotify_proto_init() {
+ if File_AbilityInvocationFixedNotify_proto != nil {
+ return
+ }
+ file_AbilityInvokeEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityInvocationFixedNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityInvocationFixedNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityInvocationFixedNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityInvocationFixedNotify_proto_goTypes,
+ DependencyIndexes: file_AbilityInvocationFixedNotify_proto_depIdxs,
+ MessageInfos: file_AbilityInvocationFixedNotify_proto_msgTypes,
+ }.Build()
+ File_AbilityInvocationFixedNotify_proto = out.File
+ file_AbilityInvocationFixedNotify_proto_rawDesc = nil
+ file_AbilityInvocationFixedNotify_proto_goTypes = nil
+ file_AbilityInvocationFixedNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityInvocationsNotify.pb.go b/protocol/proto/AbilityInvocationsNotify.pb.go
new file mode 100644
index 00000000..b3dd73ea
--- /dev/null
+++ b/protocol/proto/AbilityInvocationsNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityInvocationsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1198
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AbilityInvocationsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Invokes []*AbilityInvokeEntry `protobuf:"bytes,2,rep,name=invokes,proto3" json:"invokes,omitempty"`
+}
+
+func (x *AbilityInvocationsNotify) Reset() {
+ *x = AbilityInvocationsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityInvocationsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityInvocationsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityInvocationsNotify) ProtoMessage() {}
+
+func (x *AbilityInvocationsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityInvocationsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityInvocationsNotify.ProtoReflect.Descriptor instead.
+func (*AbilityInvocationsNotify) Descriptor() ([]byte, []int) {
+ return file_AbilityInvocationsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityInvocationsNotify) GetInvokes() []*AbilityInvokeEntry {
+ if x != nil {
+ return x.Invokes
+ }
+ return nil
+}
+
+var File_AbilityInvocationsNotify_proto protoreflect.FileDescriptor
+
+var file_AbilityInvocationsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x4f, 0x0a, 0x18, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x33, 0x0a,
+ 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b,
+ 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityInvocationsNotify_proto_rawDescOnce sync.Once
+ file_AbilityInvocationsNotify_proto_rawDescData = file_AbilityInvocationsNotify_proto_rawDesc
+)
+
+func file_AbilityInvocationsNotify_proto_rawDescGZIP() []byte {
+ file_AbilityInvocationsNotify_proto_rawDescOnce.Do(func() {
+ file_AbilityInvocationsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityInvocationsNotify_proto_rawDescData)
+ })
+ return file_AbilityInvocationsNotify_proto_rawDescData
+}
+
+var file_AbilityInvocationsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityInvocationsNotify_proto_goTypes = []interface{}{
+ (*AbilityInvocationsNotify)(nil), // 0: proto.AbilityInvocationsNotify
+ (*AbilityInvokeEntry)(nil), // 1: proto.AbilityInvokeEntry
+}
+var file_AbilityInvocationsNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityInvocationsNotify.invokes:type_name -> proto.AbilityInvokeEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityInvocationsNotify_proto_init() }
+func file_AbilityInvocationsNotify_proto_init() {
+ if File_AbilityInvocationsNotify_proto != nil {
+ return
+ }
+ file_AbilityInvokeEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityInvocationsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityInvocationsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityInvocationsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityInvocationsNotify_proto_goTypes,
+ DependencyIndexes: file_AbilityInvocationsNotify_proto_depIdxs,
+ MessageInfos: file_AbilityInvocationsNotify_proto_msgTypes,
+ }.Build()
+ File_AbilityInvocationsNotify_proto = out.File
+ file_AbilityInvocationsNotify_proto_rawDesc = nil
+ file_AbilityInvocationsNotify_proto_goTypes = nil
+ file_AbilityInvocationsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityInvokeArgument.pb.go b/protocol/proto/AbilityInvokeArgument.pb.go
new file mode 100644
index 00000000..415348ed
--- /dev/null
+++ b/protocol/proto/AbilityInvokeArgument.pb.go
@@ -0,0 +1,525 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityInvokeArgument.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityInvokeArgument int32
+
+const (
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_NONE AbilityInvokeArgument = 0
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_MODIFIER_CHANGE AbilityInvokeArgument = 1
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_COMMAND_MODIFIER_CHANGE_REQUEST AbilityInvokeArgument = 2
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_SPECIAL_FLOAT_ARGUMENT AbilityInvokeArgument = 3
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_OVERRIDE_PARAM AbilityInvokeArgument = 4
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_CLEAR_OVERRIDE_PARAM AbilityInvokeArgument = 5
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_REINIT_OVERRIDEMAP AbilityInvokeArgument = 6
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_GLOBAL_FLOAT_VALUE AbilityInvokeArgument = 7
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_CLEAR_GLOBAL_FLOAT_VALUE AbilityInvokeArgument = 8
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_ABILITY_ELEMENT_STRENGTH AbilityInvokeArgument = 9
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_ADD_OR_GET_ABILITY_AND_TRIGGER AbilityInvokeArgument = 10
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_SET_KILLED_STATE AbilityInvokeArgument = 11
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_SET_ABILITY_TRIGGER AbilityInvokeArgument = 12
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_ADD_NEW_ABILITY AbilityInvokeArgument = 13
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_REMOVE_ABILITY AbilityInvokeArgument = 14
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_SET_MODIFIER_APPLY_ENTITY AbilityInvokeArgument = 15
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_MODIFIER_DURABILITY_CHANGE AbilityInvokeArgument = 16
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_ELEMENT_REACTION_VISUAL AbilityInvokeArgument = 17
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_SET_POSE_PARAMETER AbilityInvokeArgument = 18
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_UPDATE_BASE_REACTION_DAMAGE AbilityInvokeArgument = 19
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ELEMENT_REACTION AbilityInvokeArgument = 20
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_LOSE_HP AbilityInvokeArgument = 21
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_META_DURABILITY_IS_ZERO AbilityInvokeArgument = 22
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_TRIGGER_ABILITY AbilityInvokeArgument = 50
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_SET_CRASH_DAMAGE AbilityInvokeArgument = 51
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_EFFECT AbilityInvokeArgument = 52
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_SUMMON AbilityInvokeArgument = 53
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_BLINK AbilityInvokeArgument = 54
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_GADGET AbilityInvokeArgument = 55
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_APPLY_LEVEL_MODIFIER AbilityInvokeArgument = 56
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_GENERATE_ELEM_BALL AbilityInvokeArgument = 57
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_SET_RANDOM_OVERRIDE_MAP_VALUE AbilityInvokeArgument = 58
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_SERVER_MONSTER_LOG AbilityInvokeArgument = 59
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_TILE AbilityInvokeArgument = 60
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_DESTROY_TILE AbilityInvokeArgument = 61
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_FIRE_AFTER_IMAGE AbilityInvokeArgument = 62
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_DEDUCT_STAMINA AbilityInvokeArgument = 63
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_HIT_EFFECT AbilityInvokeArgument = 64
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_ACTION_SET_BULLET_TRACK_TARGET AbilityInvokeArgument = 65
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_STEER_BY_CAMERA AbilityInvokeArgument = 100
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_MONSTER_DEFEND AbilityInvokeArgument = 101
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_ZONE AbilityInvokeArgument = 102
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_COST_STAMINA AbilityInvokeArgument = 103
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_ELITE_SHIELD AbilityInvokeArgument = 104
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_ELEMENT_SHIELD AbilityInvokeArgument = 105
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_GLOBAL_SHIELD AbilityInvokeArgument = 106
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_SHIELD_BAR AbilityInvokeArgument = 107
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_SEED_SPAWNER AbilityInvokeArgument = 108
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_ELEMENT_REACTION AbilityInvokeArgument = 109
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_FIELD_ENTITY_COUNT_CHANGE AbilityInvokeArgument = 110
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_SCENE_PROP_SYNC AbilityInvokeArgument = 111
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_WIDGET_MP_SUPPORT AbilityInvokeArgument = 112
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_SELF_MODIFIER_ELEMENT_DURABILITY_RATIO AbilityInvokeArgument = 113
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_FIREWORKS_LAUNCHER AbilityInvokeArgument = 114
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_ATTACK_RESULT_CREATE_COUNT AbilityInvokeArgument = 115
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_UGC_TIME_CONTROL AbilityInvokeArgument = 116
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_COMBAT AbilityInvokeArgument = 117
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_DEATH_ZONE_REGIONAL_PLAY_MIXIN AbilityInvokeArgument = 118
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT AbilityInvokeArgument = 119
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA AbilityInvokeArgument = 120
+ AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY AbilityInvokeArgument = 121
+)
+
+// Enum value maps for AbilityInvokeArgument.
+var (
+ AbilityInvokeArgument_name = map[int32]string{
+ 0: "ABILITY_INVOKE_ARGUMENT_NONE",
+ 1: "ABILITY_INVOKE_ARGUMENT_META_MODIFIER_CHANGE",
+ 2: "ABILITY_INVOKE_ARGUMENT_META_COMMAND_MODIFIER_CHANGE_REQUEST",
+ 3: "ABILITY_INVOKE_ARGUMENT_META_SPECIAL_FLOAT_ARGUMENT",
+ 4: "ABILITY_INVOKE_ARGUMENT_META_OVERRIDE_PARAM",
+ 5: "ABILITY_INVOKE_ARGUMENT_META_CLEAR_OVERRIDE_PARAM",
+ 6: "ABILITY_INVOKE_ARGUMENT_META_REINIT_OVERRIDEMAP",
+ 7: "ABILITY_INVOKE_ARGUMENT_META_GLOBAL_FLOAT_VALUE",
+ 8: "ABILITY_INVOKE_ARGUMENT_META_CLEAR_GLOBAL_FLOAT_VALUE",
+ 9: "ABILITY_INVOKE_ARGUMENT_META_ABILITY_ELEMENT_STRENGTH",
+ 10: "ABILITY_INVOKE_ARGUMENT_META_ADD_OR_GET_ABILITY_AND_TRIGGER",
+ 11: "ABILITY_INVOKE_ARGUMENT_META_SET_KILLED_STATE",
+ 12: "ABILITY_INVOKE_ARGUMENT_META_SET_ABILITY_TRIGGER",
+ 13: "ABILITY_INVOKE_ARGUMENT_META_ADD_NEW_ABILITY",
+ 14: "ABILITY_INVOKE_ARGUMENT_META_REMOVE_ABILITY",
+ 15: "ABILITY_INVOKE_ARGUMENT_META_SET_MODIFIER_APPLY_ENTITY",
+ 16: "ABILITY_INVOKE_ARGUMENT_META_MODIFIER_DURABILITY_CHANGE",
+ 17: "ABILITY_INVOKE_ARGUMENT_META_ELEMENT_REACTION_VISUAL",
+ 18: "ABILITY_INVOKE_ARGUMENT_META_SET_POSE_PARAMETER",
+ 19: "ABILITY_INVOKE_ARGUMENT_META_UPDATE_BASE_REACTION_DAMAGE",
+ 20: "ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ELEMENT_REACTION",
+ 21: "ABILITY_INVOKE_ARGUMENT_META_LOSE_HP",
+ 22: "ABILITY_INVOKE_ARGUMENT_META_DURABILITY_IS_ZERO",
+ 50: "ABILITY_INVOKE_ARGUMENT_ACTION_TRIGGER_ABILITY",
+ 51: "ABILITY_INVOKE_ARGUMENT_ACTION_SET_CRASH_DAMAGE",
+ 52: "ABILITY_INVOKE_ARGUMENT_ACTION_EFFECT",
+ 53: "ABILITY_INVOKE_ARGUMENT_ACTION_SUMMON",
+ 54: "ABILITY_INVOKE_ARGUMENT_ACTION_BLINK",
+ 55: "ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_GADGET",
+ 56: "ABILITY_INVOKE_ARGUMENT_ACTION_APPLY_LEVEL_MODIFIER",
+ 57: "ABILITY_INVOKE_ARGUMENT_ACTION_GENERATE_ELEM_BALL",
+ 58: "ABILITY_INVOKE_ARGUMENT_ACTION_SET_RANDOM_OVERRIDE_MAP_VALUE",
+ 59: "ABILITY_INVOKE_ARGUMENT_ACTION_SERVER_MONSTER_LOG",
+ 60: "ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_TILE",
+ 61: "ABILITY_INVOKE_ARGUMENT_ACTION_DESTROY_TILE",
+ 62: "ABILITY_INVOKE_ARGUMENT_ACTION_FIRE_AFTER_IMAGE",
+ 63: "ABILITY_INVOKE_ARGUMENT_ACTION_DEDUCT_STAMINA",
+ 64: "ABILITY_INVOKE_ARGUMENT_ACTION_HIT_EFFECT",
+ 65: "ABILITY_INVOKE_ARGUMENT_ACTION_SET_BULLET_TRACK_TARGET",
+ 100: "ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_STEER_BY_CAMERA",
+ 101: "ABILITY_INVOKE_ARGUMENT_MIXIN_MONSTER_DEFEND",
+ 102: "ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_ZONE",
+ 103: "ABILITY_INVOKE_ARGUMENT_MIXIN_COST_STAMINA",
+ 104: "ABILITY_INVOKE_ARGUMENT_MIXIN_ELITE_SHIELD",
+ 105: "ABILITY_INVOKE_ARGUMENT_MIXIN_ELEMENT_SHIELD",
+ 106: "ABILITY_INVOKE_ARGUMENT_MIXIN_GLOBAL_SHIELD",
+ 107: "ABILITY_INVOKE_ARGUMENT_MIXIN_SHIELD_BAR",
+ 108: "ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_SEED_SPAWNER",
+ 109: "ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_ELEMENT_REACTION",
+ 110: "ABILITY_INVOKE_ARGUMENT_MIXIN_FIELD_ENTITY_COUNT_CHANGE",
+ 111: "ABILITY_INVOKE_ARGUMENT_MIXIN_SCENE_PROP_SYNC",
+ 112: "ABILITY_INVOKE_ARGUMENT_MIXIN_WIDGET_MP_SUPPORT",
+ 113: "ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_SELF_MODIFIER_ELEMENT_DURABILITY_RATIO",
+ 114: "ABILITY_INVOKE_ARGUMENT_MIXIN_FIREWORKS_LAUNCHER",
+ 115: "ABILITY_INVOKE_ARGUMENT_MIXIN_ATTACK_RESULT_CREATE_COUNT",
+ 116: "ABILITY_INVOKE_ARGUMENT_MIXIN_UGC_TIME_CONTROL",
+ 117: "ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_COMBAT",
+ 118: "ABILITY_INVOKE_ARGUMENT_MIXIN_DEATH_ZONE_REGIONAL_PLAY_MIXIN",
+ 119: "ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT",
+ 120: "ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA",
+ 121: "ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY",
+ }
+ AbilityInvokeArgument_value = map[string]int32{
+ "ABILITY_INVOKE_ARGUMENT_NONE": 0,
+ "ABILITY_INVOKE_ARGUMENT_META_MODIFIER_CHANGE": 1,
+ "ABILITY_INVOKE_ARGUMENT_META_COMMAND_MODIFIER_CHANGE_REQUEST": 2,
+ "ABILITY_INVOKE_ARGUMENT_META_SPECIAL_FLOAT_ARGUMENT": 3,
+ "ABILITY_INVOKE_ARGUMENT_META_OVERRIDE_PARAM": 4,
+ "ABILITY_INVOKE_ARGUMENT_META_CLEAR_OVERRIDE_PARAM": 5,
+ "ABILITY_INVOKE_ARGUMENT_META_REINIT_OVERRIDEMAP": 6,
+ "ABILITY_INVOKE_ARGUMENT_META_GLOBAL_FLOAT_VALUE": 7,
+ "ABILITY_INVOKE_ARGUMENT_META_CLEAR_GLOBAL_FLOAT_VALUE": 8,
+ "ABILITY_INVOKE_ARGUMENT_META_ABILITY_ELEMENT_STRENGTH": 9,
+ "ABILITY_INVOKE_ARGUMENT_META_ADD_OR_GET_ABILITY_AND_TRIGGER": 10,
+ "ABILITY_INVOKE_ARGUMENT_META_SET_KILLED_STATE": 11,
+ "ABILITY_INVOKE_ARGUMENT_META_SET_ABILITY_TRIGGER": 12,
+ "ABILITY_INVOKE_ARGUMENT_META_ADD_NEW_ABILITY": 13,
+ "ABILITY_INVOKE_ARGUMENT_META_REMOVE_ABILITY": 14,
+ "ABILITY_INVOKE_ARGUMENT_META_SET_MODIFIER_APPLY_ENTITY": 15,
+ "ABILITY_INVOKE_ARGUMENT_META_MODIFIER_DURABILITY_CHANGE": 16,
+ "ABILITY_INVOKE_ARGUMENT_META_ELEMENT_REACTION_VISUAL": 17,
+ "ABILITY_INVOKE_ARGUMENT_META_SET_POSE_PARAMETER": 18,
+ "ABILITY_INVOKE_ARGUMENT_META_UPDATE_BASE_REACTION_DAMAGE": 19,
+ "ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ELEMENT_REACTION": 20,
+ "ABILITY_INVOKE_ARGUMENT_META_LOSE_HP": 21,
+ "ABILITY_INVOKE_ARGUMENT_META_DURABILITY_IS_ZERO": 22,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_TRIGGER_ABILITY": 50,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_SET_CRASH_DAMAGE": 51,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_EFFECT": 52,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_SUMMON": 53,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_BLINK": 54,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_GADGET": 55,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_APPLY_LEVEL_MODIFIER": 56,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_GENERATE_ELEM_BALL": 57,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_SET_RANDOM_OVERRIDE_MAP_VALUE": 58,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_SERVER_MONSTER_LOG": 59,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_TILE": 60,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_DESTROY_TILE": 61,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_FIRE_AFTER_IMAGE": 62,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_DEDUCT_STAMINA": 63,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_HIT_EFFECT": 64,
+ "ABILITY_INVOKE_ARGUMENT_ACTION_SET_BULLET_TRACK_TARGET": 65,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_STEER_BY_CAMERA": 100,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_MONSTER_DEFEND": 101,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_ZONE": 102,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_COST_STAMINA": 103,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_ELITE_SHIELD": 104,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_ELEMENT_SHIELD": 105,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_GLOBAL_SHIELD": 106,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_SHIELD_BAR": 107,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_SEED_SPAWNER": 108,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_ELEMENT_REACTION": 109,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_FIELD_ENTITY_COUNT_CHANGE": 110,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_SCENE_PROP_SYNC": 111,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_WIDGET_MP_SUPPORT": 112,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_SELF_MODIFIER_ELEMENT_DURABILITY_RATIO": 113,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_FIREWORKS_LAUNCHER": 114,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_ATTACK_RESULT_CREATE_COUNT": 115,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_UGC_TIME_CONTROL": 116,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_COMBAT": 117,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_DEATH_ZONE_REGIONAL_PLAY_MIXIN": 118,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT": 119,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA": 120,
+ "ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY": 121,
+ }
+)
+
+func (x AbilityInvokeArgument) Enum() *AbilityInvokeArgument {
+ p := new(AbilityInvokeArgument)
+ *p = x
+ return p
+}
+
+func (x AbilityInvokeArgument) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AbilityInvokeArgument) Descriptor() protoreflect.EnumDescriptor {
+ return file_AbilityInvokeArgument_proto_enumTypes[0].Descriptor()
+}
+
+func (AbilityInvokeArgument) Type() protoreflect.EnumType {
+ return &file_AbilityInvokeArgument_proto_enumTypes[0]
+}
+
+func (x AbilityInvokeArgument) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AbilityInvokeArgument.Descriptor instead.
+func (AbilityInvokeArgument) EnumDescriptor() ([]byte, []int) {
+ return file_AbilityInvokeArgument_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AbilityInvokeArgument_proto protoreflect.FileDescriptor
+
+var file_AbilityInvokeArgument_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x41,
+ 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xe6, 0x19, 0x0a, 0x15, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20,
+ 0x0a, 0x1c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45,
+ 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
+ 0x12, 0x30, 0x0a, 0x2c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f,
+ 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41,
+ 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45,
+ 0x10, 0x01, 0x12, 0x40, 0x0a, 0x3c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e,
+ 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45,
+ 0x54, 0x41, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46,
+ 0x49, 0x45, 0x52, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45,
+ 0x53, 0x54, 0x10, 0x02, 0x12, 0x37, 0x0a, 0x33, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f,
+ 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
+ 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x46, 0x4c, 0x4f,
+ 0x41, 0x54, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x2f, 0x0a,
+ 0x2b, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f,
+ 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4f, 0x56,
+ 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x10, 0x04, 0x12, 0x35,
+ 0x0a, 0x31, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45,
+ 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x43,
+ 0x4c, 0x45, 0x41, 0x52, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x5f, 0x50, 0x41,
+ 0x52, 0x41, 0x4d, 0x10, 0x05, 0x12, 0x33, 0x0a, 0x2f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59,
+ 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54,
+ 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x4f, 0x56, 0x45,
+ 0x52, 0x52, 0x49, 0x44, 0x45, 0x4d, 0x41, 0x50, 0x10, 0x06, 0x12, 0x33, 0x0a, 0x2f, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47,
+ 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41,
+ 0x4c, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x07, 0x12,
+ 0x39, 0x0a, 0x35, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b,
+ 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f,
+ 0x43, 0x4c, 0x45, 0x41, 0x52, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x46, 0x4c, 0x4f,
+ 0x41, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x08, 0x12, 0x39, 0x0a, 0x35, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47,
+ 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49,
+ 0x54, 0x59, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x4e,
+ 0x47, 0x54, 0x48, 0x10, 0x09, 0x12, 0x3f, 0x0a, 0x3b, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59,
+ 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54,
+ 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4f, 0x52, 0x5f, 0x47, 0x45, 0x54,
+ 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x52, 0x49,
+ 0x47, 0x47, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x31, 0x0a, 0x2d, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45,
+ 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x12, 0x34, 0x0a, 0x30, 0x41, 0x42, 0x49,
+ 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55,
+ 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0x0c, 0x12,
+ 0x30, 0x0a, 0x2c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b,
+ 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f,
+ 0x41, 0x44, 0x44, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10,
+ 0x0d, 0x12, 0x2f, 0x0a, 0x2b, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56,
+ 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54,
+ 0x41, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59,
+ 0x10, 0x0e, 0x12, 0x3a, 0x0a, 0x36, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e,
+ 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45,
+ 0x54, 0x41, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f,
+ 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x0f, 0x12, 0x3b,
+ 0x0a, 0x37, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45,
+ 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x4d,
+ 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x55, 0x52, 0x41, 0x42, 0x49, 0x4c, 0x49,
+ 0x54, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x10, 0x12, 0x38, 0x0a, 0x34, 0x41,
+ 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52,
+ 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x45, 0x4c, 0x45, 0x4d,
+ 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x49, 0x53,
+ 0x55, 0x41, 0x4c, 0x10, 0x11, 0x12, 0x33, 0x0a, 0x2f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59,
+ 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54,
+ 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x50,
+ 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x12, 0x12, 0x3c, 0x0a, 0x38, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47,
+ 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54,
+ 0x45, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x13, 0x12, 0x39, 0x0a, 0x35, 0x41, 0x42, 0x49, 0x4c,
+ 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d,
+ 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52,
+ 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f,
+ 0x4e, 0x10, 0x14, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49,
+ 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d,
+ 0x45, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x53, 0x45, 0x5f, 0x48, 0x50, 0x10, 0x15, 0x12, 0x33, 0x0a,
+ 0x2f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f,
+ 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x44, 0x55,
+ 0x52, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x53, 0x5f, 0x5a, 0x45, 0x52, 0x4f,
+ 0x10, 0x16, 0x12, 0x32, 0x0a, 0x2e, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e,
+ 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x5f, 0x41, 0x42, 0x49,
+ 0x4c, 0x49, 0x54, 0x59, 0x10, 0x32, 0x12, 0x33, 0x0a, 0x2f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x52, 0x41,
+ 0x53, 0x48, 0x5f, 0x44, 0x41, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x33, 0x12, 0x29, 0x0a, 0x25, 0x41,
+ 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52,
+ 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x46,
+ 0x46, 0x45, 0x43, 0x54, 0x10, 0x34, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x4f, 0x4e, 0x10,
+ 0x35, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56,
+ 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x36, 0x12, 0x30, 0x0a, 0x2c, 0x41,
+ 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52,
+ 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52,
+ 0x45, 0x41, 0x54, 0x45, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x10, 0x37, 0x12, 0x37, 0x0a,
+ 0x33, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f,
+ 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4d, 0x4f, 0x44, 0x49,
+ 0x46, 0x49, 0x45, 0x52, 0x10, 0x38, 0x12, 0x35, 0x0a, 0x31, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54,
+ 0x45, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x42, 0x41, 0x4c, 0x4c, 0x10, 0x39, 0x12, 0x40, 0x0a,
+ 0x3c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f,
+ 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x45, 0x54, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52,
+ 0x49, 0x44, 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x3a, 0x12,
+ 0x35, 0x0a, 0x31, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b,
+ 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52,
+ 0x5f, 0x4c, 0x4f, 0x47, 0x10, 0x3b, 0x12, 0x2e, 0x0a, 0x2a, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f,
+ 0x54, 0x49, 0x4c, 0x45, 0x10, 0x3c, 0x12, 0x2f, 0x0a, 0x2b, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59,
+ 0x5f, 0x54, 0x49, 0x4c, 0x45, 0x10, 0x3d, 0x12, 0x33, 0x0a, 0x2f, 0x41, 0x42, 0x49, 0x4c, 0x49,
+ 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45,
+ 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x5f, 0x41,
+ 0x46, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x3e, 0x12, 0x31, 0x0a, 0x2d,
+ 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41,
+ 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44,
+ 0x45, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x4d, 0x49, 0x4e, 0x41, 0x10, 0x3f, 0x12,
+ 0x2d, 0x0a, 0x29, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b,
+ 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x10, 0x40, 0x12, 0x3a,
+ 0x0a, 0x36, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45,
+ 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x42, 0x55, 0x4c, 0x4c, 0x45, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x43,
+ 0x4b, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x41, 0x12, 0x38, 0x0a, 0x34, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47,
+ 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x41, 0x56, 0x41, 0x54,
+ 0x41, 0x52, 0x5f, 0x53, 0x54, 0x45, 0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x43, 0x41, 0x4d, 0x45,
+ 0x52, 0x41, 0x10, 0x64, 0x12, 0x30, 0x0a, 0x2c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f,
+ 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
+ 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x45,
+ 0x46, 0x45, 0x4e, 0x44, 0x10, 0x65, 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x5f, 0x5a, 0x4f, 0x4e,
+ 0x45, 0x10, 0x66, 0x12, 0x2e, 0x0a, 0x2a, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49,
+ 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d,
+ 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x4d, 0x49, 0x4e,
+ 0x41, 0x10, 0x67, 0x12, 0x2e, 0x0a, 0x2a, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49,
+ 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d,
+ 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x45, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x53, 0x48, 0x49, 0x45, 0x4c,
+ 0x44, 0x10, 0x68, 0x12, 0x30, 0x0a, 0x2c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49,
+ 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d,
+ 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x48, 0x49,
+ 0x45, 0x4c, 0x44, 0x10, 0x69, 0x12, 0x2f, 0x0a, 0x2b, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59,
+ 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54,
+ 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x53, 0x48,
+ 0x49, 0x45, 0x4c, 0x44, 0x10, 0x6a, 0x12, 0x2c, 0x0a, 0x28, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x53, 0x48, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x42,
+ 0x41, 0x52, 0x10, 0x6b, 0x12, 0x33, 0x0a, 0x2f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f,
+ 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
+ 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x57, 0x49, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x44, 0x5f,
+ 0x53, 0x50, 0x41, 0x57, 0x4e, 0x45, 0x52, 0x10, 0x6c, 0x12, 0x3f, 0x0a, 0x3b, 0x41, 0x42, 0x49,
+ 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55,
+ 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x44, 0x4f, 0x5f, 0x41, 0x43,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
+ 0x52, 0x45, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x6d, 0x12, 0x3b, 0x0a, 0x37, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47,
+ 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x46, 0x49, 0x45, 0x4c,
+ 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x43,
+ 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x6e, 0x12, 0x31, 0x0a, 0x2d, 0x41, 0x42, 0x49, 0x4c, 0x49,
+ 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45,
+ 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x50,
+ 0x52, 0x4f, 0x50, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x6f, 0x12, 0x33, 0x0a, 0x2f, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47,
+ 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x57, 0x49, 0x44, 0x47,
+ 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x70, 0x12,
+ 0x55, 0x0a, 0x51, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b,
+ 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e,
+ 0x5f, 0x44, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x53, 0x45,
+ 0x4c, 0x46, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x45, 0x4c, 0x45, 0x4d,
+ 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x55, 0x52, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x52,
+ 0x41, 0x54, 0x49, 0x4f, 0x10, 0x71, 0x12, 0x34, 0x0a, 0x30, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b,
+ 0x53, 0x5f, 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x45, 0x52, 0x10, 0x72, 0x12, 0x3c, 0x0a, 0x38,
+ 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41,
+ 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x41, 0x54,
+ 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41,
+ 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x73, 0x12, 0x32, 0x0a, 0x2e, 0x41, 0x42,
+ 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47,
+ 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x55, 0x47, 0x43, 0x5f,
+ 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x10, 0x74, 0x12, 0x2f,
+ 0x0a, 0x2b, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45,
+ 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f,
+ 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x10, 0x75, 0x12,
+ 0x40, 0x0a, 0x3c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b,
+ 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e,
+ 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49,
+ 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x10,
+ 0x76, 0x12, 0x2d, 0x0a, 0x29, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56,
+ 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58,
+ 0x49, 0x4e, 0x5f, 0x55, 0x49, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x10, 0x77,
+ 0x12, 0x33, 0x0a, 0x2f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x4f,
+ 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x49, 0x58, 0x49,
+ 0x4e, 0x5f, 0x53, 0x48, 0x4f, 0x4f, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x43, 0x41, 0x4d,
+ 0x45, 0x52, 0x41, 0x10, 0x78, 0x12, 0x36, 0x0a, 0x32, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59,
+ 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x4b, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54,
+ 0x5f, 0x4d, 0x49, 0x58, 0x49, 0x4e, 0x5f, 0x45, 0x52, 0x41, 0x53, 0x45, 0x5f, 0x42, 0x52, 0x49,
+ 0x43, 0x4b, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AbilityInvokeArgument_proto_rawDescOnce sync.Once
+ file_AbilityInvokeArgument_proto_rawDescData = file_AbilityInvokeArgument_proto_rawDesc
+)
+
+func file_AbilityInvokeArgument_proto_rawDescGZIP() []byte {
+ file_AbilityInvokeArgument_proto_rawDescOnce.Do(func() {
+ file_AbilityInvokeArgument_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityInvokeArgument_proto_rawDescData)
+ })
+ return file_AbilityInvokeArgument_proto_rawDescData
+}
+
+var file_AbilityInvokeArgument_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_AbilityInvokeArgument_proto_goTypes = []interface{}{
+ (AbilityInvokeArgument)(0), // 0: proto.AbilityInvokeArgument
+}
+var file_AbilityInvokeArgument_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityInvokeArgument_proto_init() }
+func file_AbilityInvokeArgument_proto_init() {
+ if File_AbilityInvokeArgument_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityInvokeArgument_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityInvokeArgument_proto_goTypes,
+ DependencyIndexes: file_AbilityInvokeArgument_proto_depIdxs,
+ EnumInfos: file_AbilityInvokeArgument_proto_enumTypes,
+ }.Build()
+ File_AbilityInvokeArgument_proto = out.File
+ file_AbilityInvokeArgument_proto_rawDesc = nil
+ file_AbilityInvokeArgument_proto_goTypes = nil
+ file_AbilityInvokeArgument_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityInvokeEntry.pb.go b/protocol/proto/AbilityInvokeEntry.pb.go
new file mode 100644
index 00000000..0665af4c
--- /dev/null
+++ b/protocol/proto/AbilityInvokeEntry.pb.go
@@ -0,0 +1,248 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityInvokeEntry.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityInvokeEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArgumentType AbilityInvokeArgument `protobuf:"varint,1,opt,name=argument_type,json=argumentType,proto3,enum=proto.AbilityInvokeArgument" json:"argument_type,omitempty"`
+ Head *AbilityInvokeEntryHead `protobuf:"bytes,2,opt,name=head,proto3" json:"head,omitempty"`
+ ForwardPeer uint32 `protobuf:"varint,4,opt,name=forward_peer,json=forwardPeer,proto3" json:"forward_peer,omitempty"`
+ EventId uint32 `protobuf:"varint,12,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,3,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ AbilityData []byte `protobuf:"bytes,15,opt,name=ability_data,json=abilityData,proto3" json:"ability_data,omitempty"`
+ TotalTickTime float64 `protobuf:"fixed64,14,opt,name=total_tick_time,json=totalTickTime,proto3" json:"total_tick_time,omitempty"`
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *AbilityInvokeEntry) Reset() {
+ *x = AbilityInvokeEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityInvokeEntry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityInvokeEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityInvokeEntry) ProtoMessage() {}
+
+func (x *AbilityInvokeEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityInvokeEntry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityInvokeEntry.ProtoReflect.Descriptor instead.
+func (*AbilityInvokeEntry) Descriptor() ([]byte, []int) {
+ return file_AbilityInvokeEntry_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityInvokeEntry) GetArgumentType() AbilityInvokeArgument {
+ if x != nil {
+ return x.ArgumentType
+ }
+ return AbilityInvokeArgument_ABILITY_INVOKE_ARGUMENT_NONE
+}
+
+func (x *AbilityInvokeEntry) GetHead() *AbilityInvokeEntryHead {
+ if x != nil {
+ return x.Head
+ }
+ return nil
+}
+
+func (x *AbilityInvokeEntry) GetForwardPeer() uint32 {
+ if x != nil {
+ return x.ForwardPeer
+ }
+ return 0
+}
+
+func (x *AbilityInvokeEntry) GetEventId() uint32 {
+ if x != nil {
+ return x.EventId
+ }
+ return 0
+}
+
+func (x *AbilityInvokeEntry) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *AbilityInvokeEntry) GetAbilityData() []byte {
+ if x != nil {
+ return x.AbilityData
+ }
+ return nil
+}
+
+func (x *AbilityInvokeEntry) GetTotalTickTime() float64 {
+ if x != nil {
+ return x.TotalTickTime
+ }
+ return 0
+}
+
+func (x *AbilityInvokeEntry) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_AbilityInvokeEntry_proto protoreflect.FileDescriptor
+
+var file_AbilityInvokeEntry_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65,
+ 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x48, 0x65, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f,
+ 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xe7, 0x02, 0x0a, 0x12, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b,
+ 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x41, 0x0a, 0x0d, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65,
+ 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76,
+ 0x6f, 0x6b, 0x65, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x61, 0x72, 0x67,
+ 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x68, 0x65, 0x61,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x48, 0x65, 0x61, 0x64, 0x52, 0x04, 0x68, 0x65, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c,
+ 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12,
+ 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f,
+ 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74,
+ 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69,
+ 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityInvokeEntry_proto_rawDescOnce sync.Once
+ file_AbilityInvokeEntry_proto_rawDescData = file_AbilityInvokeEntry_proto_rawDesc
+)
+
+func file_AbilityInvokeEntry_proto_rawDescGZIP() []byte {
+ file_AbilityInvokeEntry_proto_rawDescOnce.Do(func() {
+ file_AbilityInvokeEntry_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityInvokeEntry_proto_rawDescData)
+ })
+ return file_AbilityInvokeEntry_proto_rawDescData
+}
+
+var file_AbilityInvokeEntry_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityInvokeEntry_proto_goTypes = []interface{}{
+ (*AbilityInvokeEntry)(nil), // 0: proto.AbilityInvokeEntry
+ (AbilityInvokeArgument)(0), // 1: proto.AbilityInvokeArgument
+ (*AbilityInvokeEntryHead)(nil), // 2: proto.AbilityInvokeEntryHead
+ (ForwardType)(0), // 3: proto.ForwardType
+}
+var file_AbilityInvokeEntry_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityInvokeEntry.argument_type:type_name -> proto.AbilityInvokeArgument
+ 2, // 1: proto.AbilityInvokeEntry.head:type_name -> proto.AbilityInvokeEntryHead
+ 3, // 2: proto.AbilityInvokeEntry.forward_type:type_name -> proto.ForwardType
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_AbilityInvokeEntry_proto_init() }
+func file_AbilityInvokeEntry_proto_init() {
+ if File_AbilityInvokeEntry_proto != nil {
+ return
+ }
+ file_AbilityInvokeArgument_proto_init()
+ file_AbilityInvokeEntryHead_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityInvokeEntry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityInvokeEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityInvokeEntry_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityInvokeEntry_proto_goTypes,
+ DependencyIndexes: file_AbilityInvokeEntry_proto_depIdxs,
+ MessageInfos: file_AbilityInvokeEntry_proto_msgTypes,
+ }.Build()
+ File_AbilityInvokeEntry_proto = out.File
+ file_AbilityInvokeEntry_proto_rawDesc = nil
+ file_AbilityInvokeEntry_proto_goTypes = nil
+ file_AbilityInvokeEntry_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityInvokeEntryHead.pb.go b/protocol/proto/AbilityInvokeEntryHead.pb.go
new file mode 100644
index 00000000..55ee0380
--- /dev/null
+++ b/protocol/proto/AbilityInvokeEntryHead.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityInvokeEntryHead.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityInvokeEntryHead struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModifierConfigLocalId int32 `protobuf:"varint,7,opt,name=modifier_config_local_id,json=modifierConfigLocalId,proto3" json:"modifier_config_local_id,omitempty"`
+ IsServerbuffModifier bool `protobuf:"varint,2,opt,name=is_serverbuff_modifier,json=isServerbuffModifier,proto3" json:"is_serverbuff_modifier,omitempty"`
+ InstancedAbilityId uint32 `protobuf:"varint,1,opt,name=instanced_ability_id,json=instancedAbilityId,proto3" json:"instanced_ability_id,omitempty"`
+ InstancedModifierId uint32 `protobuf:"varint,12,opt,name=instanced_modifier_id,json=instancedModifierId,proto3" json:"instanced_modifier_id,omitempty"`
+ LocalId int32 `protobuf:"varint,10,opt,name=local_id,json=localId,proto3" json:"local_id,omitempty"`
+ ServerBuffUid uint32 `protobuf:"varint,14,opt,name=server_buff_uid,json=serverBuffUid,proto3" json:"server_buff_uid,omitempty"`
+ TargetId uint32 `protobuf:"varint,3,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
+}
+
+func (x *AbilityInvokeEntryHead) Reset() {
+ *x = AbilityInvokeEntryHead{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityInvokeEntryHead_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityInvokeEntryHead) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityInvokeEntryHead) ProtoMessage() {}
+
+func (x *AbilityInvokeEntryHead) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityInvokeEntryHead_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityInvokeEntryHead.ProtoReflect.Descriptor instead.
+func (*AbilityInvokeEntryHead) Descriptor() ([]byte, []int) {
+ return file_AbilityInvokeEntryHead_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityInvokeEntryHead) GetModifierConfigLocalId() int32 {
+ if x != nil {
+ return x.ModifierConfigLocalId
+ }
+ return 0
+}
+
+func (x *AbilityInvokeEntryHead) GetIsServerbuffModifier() bool {
+ if x != nil {
+ return x.IsServerbuffModifier
+ }
+ return false
+}
+
+func (x *AbilityInvokeEntryHead) GetInstancedAbilityId() uint32 {
+ if x != nil {
+ return x.InstancedAbilityId
+ }
+ return 0
+}
+
+func (x *AbilityInvokeEntryHead) GetInstancedModifierId() uint32 {
+ if x != nil {
+ return x.InstancedModifierId
+ }
+ return 0
+}
+
+func (x *AbilityInvokeEntryHead) GetLocalId() int32 {
+ if x != nil {
+ return x.LocalId
+ }
+ return 0
+}
+
+func (x *AbilityInvokeEntryHead) GetServerBuffUid() uint32 {
+ if x != nil {
+ return x.ServerBuffUid
+ }
+ return 0
+}
+
+func (x *AbilityInvokeEntryHead) GetTargetId() uint32 {
+ if x != nil {
+ return x.TargetId
+ }
+ return 0
+}
+
+var File_AbilityInvokeEntryHead_proto protoreflect.FileDescriptor
+
+var file_AbilityInvokeEntryHead_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x48, 0x65, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x02, 0x0a, 0x16, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x65, 0x61, 0x64,
+ 0x12, 0x37, 0x0a, 0x18, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x15, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x5f,
+ 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12,
+ 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69,
+ 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d,
+ 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64,
+ 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f,
+ 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x42, 0x75, 0x66, 0x66, 0x55, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityInvokeEntryHead_proto_rawDescOnce sync.Once
+ file_AbilityInvokeEntryHead_proto_rawDescData = file_AbilityInvokeEntryHead_proto_rawDesc
+)
+
+func file_AbilityInvokeEntryHead_proto_rawDescGZIP() []byte {
+ file_AbilityInvokeEntryHead_proto_rawDescOnce.Do(func() {
+ file_AbilityInvokeEntryHead_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityInvokeEntryHead_proto_rawDescData)
+ })
+ return file_AbilityInvokeEntryHead_proto_rawDescData
+}
+
+var file_AbilityInvokeEntryHead_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityInvokeEntryHead_proto_goTypes = []interface{}{
+ (*AbilityInvokeEntryHead)(nil), // 0: proto.AbilityInvokeEntryHead
+}
+var file_AbilityInvokeEntryHead_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityInvokeEntryHead_proto_init() }
+func file_AbilityInvokeEntryHead_proto_init() {
+ if File_AbilityInvokeEntryHead_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityInvokeEntryHead_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityInvokeEntryHead); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityInvokeEntryHead_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityInvokeEntryHead_proto_goTypes,
+ DependencyIndexes: file_AbilityInvokeEntryHead_proto_depIdxs,
+ MessageInfos: file_AbilityInvokeEntryHead_proto_msgTypes,
+ }.Build()
+ File_AbilityInvokeEntryHead_proto = out.File
+ file_AbilityInvokeEntryHead_proto_rawDesc = nil
+ file_AbilityInvokeEntryHead_proto_goTypes = nil
+ file_AbilityInvokeEntryHead_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaAddAbility.pb.go b/protocol/proto/AbilityMetaAddAbility.pb.go
new file mode 100644
index 00000000..bb06b434
--- /dev/null
+++ b/protocol/proto/AbilityMetaAddAbility.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaAddAbility.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaAddAbility struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Ability *AbilityAppliedAbility `protobuf:"bytes,12,opt,name=ability,proto3" json:"ability,omitempty"`
+}
+
+func (x *AbilityMetaAddAbility) Reset() {
+ *x = AbilityMetaAddAbility{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaAddAbility_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaAddAbility) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaAddAbility) ProtoMessage() {}
+
+func (x *AbilityMetaAddAbility) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaAddAbility_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaAddAbility.ProtoReflect.Descriptor instead.
+func (*AbilityMetaAddAbility) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaAddAbility_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaAddAbility) GetAbility() *AbilityAppliedAbility {
+ if x != nil {
+ return x.Ability
+ }
+ return nil
+}
+
+var File_AbilityMetaAddAbility_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaAddAbility_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x41, 0x64, 0x64,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70,
+ 0x6c, 0x69, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x4f, 0x0a, 0x15, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61,
+ 0x41, 0x64, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x61, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69,
+ 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x07, 0x61, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaAddAbility_proto_rawDescOnce sync.Once
+ file_AbilityMetaAddAbility_proto_rawDescData = file_AbilityMetaAddAbility_proto_rawDesc
+)
+
+func file_AbilityMetaAddAbility_proto_rawDescGZIP() []byte {
+ file_AbilityMetaAddAbility_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaAddAbility_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaAddAbility_proto_rawDescData)
+ })
+ return file_AbilityMetaAddAbility_proto_rawDescData
+}
+
+var file_AbilityMetaAddAbility_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaAddAbility_proto_goTypes = []interface{}{
+ (*AbilityMetaAddAbility)(nil), // 0: proto.AbilityMetaAddAbility
+ (*AbilityAppliedAbility)(nil), // 1: proto.AbilityAppliedAbility
+}
+var file_AbilityMetaAddAbility_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMetaAddAbility.ability:type_name -> proto.AbilityAppliedAbility
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaAddAbility_proto_init() }
+func file_AbilityMetaAddAbility_proto_init() {
+ if File_AbilityMetaAddAbility_proto != nil {
+ return
+ }
+ file_AbilityAppliedAbility_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaAddAbility_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaAddAbility); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaAddAbility_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaAddAbility_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaAddAbility_proto_depIdxs,
+ MessageInfos: file_AbilityMetaAddAbility_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaAddAbility_proto = out.File
+ file_AbilityMetaAddAbility_proto_rawDesc = nil
+ file_AbilityMetaAddAbility_proto_goTypes = nil
+ file_AbilityMetaAddAbility_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaAddOrGetAbilityAndTrigger.pb.go b/protocol/proto/AbilityMetaAddOrGetAbilityAndTrigger.pb.go
new file mode 100644
index 00000000..55da7854
--- /dev/null
+++ b/protocol/proto/AbilityMetaAddOrGetAbilityAndTrigger.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaAddOrGetAbilityAndTrigger.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaAddOrGetAbilityAndTrigger struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityName *AbilityString `protobuf:"bytes,13,opt,name=ability_name,json=abilityName,proto3" json:"ability_name,omitempty"`
+ TriggerArgument float32 `protobuf:"fixed32,3,opt,name=trigger_argument,json=triggerArgument,proto3" json:"trigger_argument,omitempty"`
+ AbilityOverride *AbilityString `protobuf:"bytes,8,opt,name=ability_override,json=abilityOverride,proto3" json:"ability_override,omitempty"`
+}
+
+func (x *AbilityMetaAddOrGetAbilityAndTrigger) Reset() {
+ *x = AbilityMetaAddOrGetAbilityAndTrigger{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaAddOrGetAbilityAndTrigger_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaAddOrGetAbilityAndTrigger) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaAddOrGetAbilityAndTrigger) ProtoMessage() {}
+
+func (x *AbilityMetaAddOrGetAbilityAndTrigger) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaAddOrGetAbilityAndTrigger_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaAddOrGetAbilityAndTrigger.ProtoReflect.Descriptor instead.
+func (*AbilityMetaAddOrGetAbilityAndTrigger) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaAddOrGetAbilityAndTrigger) GetAbilityName() *AbilityString {
+ if x != nil {
+ return x.AbilityName
+ }
+ return nil
+}
+
+func (x *AbilityMetaAddOrGetAbilityAndTrigger) GetTriggerArgument() float32 {
+ if x != nil {
+ return x.TriggerArgument
+ }
+ return 0
+}
+
+func (x *AbilityMetaAddOrGetAbilityAndTrigger) GetAbilityOverride() *AbilityString {
+ if x != nil {
+ return x.AbilityOverride
+ }
+ return nil
+}
+
+var File_AbilityMetaAddOrGetAbilityAndTrigger_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x41, 0x64, 0x64,
+ 0x4f, 0x72, 0x47, 0x65, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x64, 0x54,
+ 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x24, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x41, 0x64, 0x64, 0x4f, 0x72, 0x47, 0x65, 0x74,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
+ 0x72, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72,
+ 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x72, 0x67,
+ 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x10, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDescOnce sync.Once
+ file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDescData = file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDesc
+)
+
+func file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDescGZIP() []byte {
+ file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDescData)
+ })
+ return file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDescData
+}
+
+var file_AbilityMetaAddOrGetAbilityAndTrigger_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaAddOrGetAbilityAndTrigger_proto_goTypes = []interface{}{
+ (*AbilityMetaAddOrGetAbilityAndTrigger)(nil), // 0: proto.AbilityMetaAddOrGetAbilityAndTrigger
+ (*AbilityString)(nil), // 1: proto.AbilityString
+}
+var file_AbilityMetaAddOrGetAbilityAndTrigger_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMetaAddOrGetAbilityAndTrigger.ability_name:type_name -> proto.AbilityString
+ 1, // 1: proto.AbilityMetaAddOrGetAbilityAndTrigger.ability_override:type_name -> proto.AbilityString
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaAddOrGetAbilityAndTrigger_proto_init() }
+func file_AbilityMetaAddOrGetAbilityAndTrigger_proto_init() {
+ if File_AbilityMetaAddOrGetAbilityAndTrigger_proto != nil {
+ return
+ }
+ file_AbilityString_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaAddOrGetAbilityAndTrigger_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaAddOrGetAbilityAndTrigger); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaAddOrGetAbilityAndTrigger_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaAddOrGetAbilityAndTrigger_proto_depIdxs,
+ MessageInfos: file_AbilityMetaAddOrGetAbilityAndTrigger_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaAddOrGetAbilityAndTrigger_proto = out.File
+ file_AbilityMetaAddOrGetAbilityAndTrigger_proto_rawDesc = nil
+ file_AbilityMetaAddOrGetAbilityAndTrigger_proto_goTypes = nil
+ file_AbilityMetaAddOrGetAbilityAndTrigger_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaDurabilityIsZero.pb.go b/protocol/proto/AbilityMetaDurabilityIsZero.pb.go
new file mode 100644
index 00000000..d0b7f185
--- /dev/null
+++ b/protocol/proto/AbilityMetaDurabilityIsZero.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaDurabilityIsZero.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaDurabilityIsZero struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsZero bool `protobuf:"varint,5,opt,name=is_zero,json=isZero,proto3" json:"is_zero,omitempty"`
+}
+
+func (x *AbilityMetaDurabilityIsZero) Reset() {
+ *x = AbilityMetaDurabilityIsZero{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaDurabilityIsZero_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaDurabilityIsZero) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaDurabilityIsZero) ProtoMessage() {}
+
+func (x *AbilityMetaDurabilityIsZero) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaDurabilityIsZero_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaDurabilityIsZero.ProtoReflect.Descriptor instead.
+func (*AbilityMetaDurabilityIsZero) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaDurabilityIsZero_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaDurabilityIsZero) GetIsZero() bool {
+ if x != nil {
+ return x.IsZero
+ }
+ return false
+}
+
+var File_AbilityMetaDurabilityIsZero_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaDurabilityIsZero_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x75, 0x72,
+ 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x73, 0x5a, 0x65, 0x72, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1b, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x49, 0x73, 0x5a, 0x65, 0x72, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x7a, 0x65, 0x72, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x5a, 0x65,
+ 0x72, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaDurabilityIsZero_proto_rawDescOnce sync.Once
+ file_AbilityMetaDurabilityIsZero_proto_rawDescData = file_AbilityMetaDurabilityIsZero_proto_rawDesc
+)
+
+func file_AbilityMetaDurabilityIsZero_proto_rawDescGZIP() []byte {
+ file_AbilityMetaDurabilityIsZero_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaDurabilityIsZero_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaDurabilityIsZero_proto_rawDescData)
+ })
+ return file_AbilityMetaDurabilityIsZero_proto_rawDescData
+}
+
+var file_AbilityMetaDurabilityIsZero_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaDurabilityIsZero_proto_goTypes = []interface{}{
+ (*AbilityMetaDurabilityIsZero)(nil), // 0: proto.AbilityMetaDurabilityIsZero
+}
+var file_AbilityMetaDurabilityIsZero_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaDurabilityIsZero_proto_init() }
+func file_AbilityMetaDurabilityIsZero_proto_init() {
+ if File_AbilityMetaDurabilityIsZero_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaDurabilityIsZero_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaDurabilityIsZero); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaDurabilityIsZero_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaDurabilityIsZero_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaDurabilityIsZero_proto_depIdxs,
+ MessageInfos: file_AbilityMetaDurabilityIsZero_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaDurabilityIsZero_proto = out.File
+ file_AbilityMetaDurabilityIsZero_proto_rawDesc = nil
+ file_AbilityMetaDurabilityIsZero_proto_goTypes = nil
+ file_AbilityMetaDurabilityIsZero_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaElementReactionVisual.pb.go b/protocol/proto/AbilityMetaElementReactionVisual.pb.go
new file mode 100644
index 00000000..a213ca70
--- /dev/null
+++ b/protocol/proto/AbilityMetaElementReactionVisual.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaElementReactionVisual.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaElementReactionVisual struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HitIndex int32 `protobuf:"varint,2,opt,name=hit_index,json=hitIndex,proto3" json:"hit_index,omitempty"`
+ ElementSourceType uint32 `protobuf:"varint,12,opt,name=element_source_type,json=elementSourceType,proto3" json:"element_source_type,omitempty"`
+ ElementReactorType uint32 `protobuf:"varint,6,opt,name=element_reactor_type,json=elementReactorType,proto3" json:"element_reactor_type,omitempty"`
+ ElementReactionType uint32 `protobuf:"varint,5,opt,name=element_reaction_type,json=elementReactionType,proto3" json:"element_reaction_type,omitempty"`
+}
+
+func (x *AbilityMetaElementReactionVisual) Reset() {
+ *x = AbilityMetaElementReactionVisual{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaElementReactionVisual_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaElementReactionVisual) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaElementReactionVisual) ProtoMessage() {}
+
+func (x *AbilityMetaElementReactionVisual) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaElementReactionVisual_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaElementReactionVisual.ProtoReflect.Descriptor instead.
+func (*AbilityMetaElementReactionVisual) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaElementReactionVisual_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaElementReactionVisual) GetHitIndex() int32 {
+ if x != nil {
+ return x.HitIndex
+ }
+ return 0
+}
+
+func (x *AbilityMetaElementReactionVisual) GetElementSourceType() uint32 {
+ if x != nil {
+ return x.ElementSourceType
+ }
+ return 0
+}
+
+func (x *AbilityMetaElementReactionVisual) GetElementReactorType() uint32 {
+ if x != nil {
+ return x.ElementReactorType
+ }
+ return 0
+}
+
+func (x *AbilityMetaElementReactionVisual) GetElementReactionType() uint32 {
+ if x != nil {
+ return x.ElementReactionType
+ }
+ return 0
+}
+
+var File_AbilityMetaElementReactionVisual_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaElementReactionVisual_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x45, 0x6c, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x75,
+ 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xd5, 0x01, 0x0a, 0x20, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x45,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x69,
+ 0x73, 0x75, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x68, 0x69, 0x74, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11,
+ 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61,
+ 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x12, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72,
+ 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x13, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaElementReactionVisual_proto_rawDescOnce sync.Once
+ file_AbilityMetaElementReactionVisual_proto_rawDescData = file_AbilityMetaElementReactionVisual_proto_rawDesc
+)
+
+func file_AbilityMetaElementReactionVisual_proto_rawDescGZIP() []byte {
+ file_AbilityMetaElementReactionVisual_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaElementReactionVisual_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaElementReactionVisual_proto_rawDescData)
+ })
+ return file_AbilityMetaElementReactionVisual_proto_rawDescData
+}
+
+var file_AbilityMetaElementReactionVisual_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaElementReactionVisual_proto_goTypes = []interface{}{
+ (*AbilityMetaElementReactionVisual)(nil), // 0: proto.AbilityMetaElementReactionVisual
+}
+var file_AbilityMetaElementReactionVisual_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaElementReactionVisual_proto_init() }
+func file_AbilityMetaElementReactionVisual_proto_init() {
+ if File_AbilityMetaElementReactionVisual_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaElementReactionVisual_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaElementReactionVisual); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaElementReactionVisual_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaElementReactionVisual_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaElementReactionVisual_proto_depIdxs,
+ MessageInfos: file_AbilityMetaElementReactionVisual_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaElementReactionVisual_proto = out.File
+ file_AbilityMetaElementReactionVisual_proto_rawDesc = nil
+ file_AbilityMetaElementReactionVisual_proto_goTypes = nil
+ file_AbilityMetaElementReactionVisual_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaLoseHp.pb.go b/protocol/proto/AbilityMetaLoseHp.pb.go
new file mode 100644
index 00000000..8005289f
--- /dev/null
+++ b/protocol/proto/AbilityMetaLoseHp.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaLoseHp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaLoseHp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LoseHpConfigIdx uint32 `protobuf:"varint,10,opt,name=lose_hp_config_idx,json=loseHpConfigIdx,proto3" json:"lose_hp_config_idx,omitempty"`
+}
+
+func (x *AbilityMetaLoseHp) Reset() {
+ *x = AbilityMetaLoseHp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaLoseHp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaLoseHp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaLoseHp) ProtoMessage() {}
+
+func (x *AbilityMetaLoseHp) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaLoseHp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaLoseHp.ProtoReflect.Descriptor instead.
+func (*AbilityMetaLoseHp) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaLoseHp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaLoseHp) GetLoseHpConfigIdx() uint32 {
+ if x != nil {
+ return x.LoseHpConfigIdx
+ }
+ return 0
+}
+
+var File_AbilityMetaLoseHp_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaLoseHp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x4c, 0x6f, 0x73,
+ 0x65, 0x48, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x40, 0x0a, 0x11, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x4c,
+ 0x6f, 0x73, 0x65, 0x48, 0x70, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x70,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x6c, 0x6f, 0x73, 0x65, 0x48, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49,
+ 0x64, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaLoseHp_proto_rawDescOnce sync.Once
+ file_AbilityMetaLoseHp_proto_rawDescData = file_AbilityMetaLoseHp_proto_rawDesc
+)
+
+func file_AbilityMetaLoseHp_proto_rawDescGZIP() []byte {
+ file_AbilityMetaLoseHp_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaLoseHp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaLoseHp_proto_rawDescData)
+ })
+ return file_AbilityMetaLoseHp_proto_rawDescData
+}
+
+var file_AbilityMetaLoseHp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaLoseHp_proto_goTypes = []interface{}{
+ (*AbilityMetaLoseHp)(nil), // 0: proto.AbilityMetaLoseHp
+}
+var file_AbilityMetaLoseHp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaLoseHp_proto_init() }
+func file_AbilityMetaLoseHp_proto_init() {
+ if File_AbilityMetaLoseHp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaLoseHp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaLoseHp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaLoseHp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaLoseHp_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaLoseHp_proto_depIdxs,
+ MessageInfos: file_AbilityMetaLoseHp_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaLoseHp_proto = out.File
+ file_AbilityMetaLoseHp_proto_rawDesc = nil
+ file_AbilityMetaLoseHp_proto_goTypes = nil
+ file_AbilityMetaLoseHp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaModifierChange.pb.go b/protocol/proto/AbilityMetaModifierChange.pb.go
new file mode 100644
index 00000000..7287fbe0
--- /dev/null
+++ b/protocol/proto/AbilityMetaModifierChange.pb.go
@@ -0,0 +1,296 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaModifierChange.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaModifierChange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AttachedInstancedModifier *AbilityAttachedModifier `protobuf:"bytes,7,opt,name=attached_instanced_modifier,json=attachedInstancedModifier,proto3" json:"attached_instanced_modifier,omitempty"`
+ ServerBuffUid uint32 `protobuf:"varint,4,opt,name=server_buff_uid,json=serverBuffUid,proto3" json:"server_buff_uid,omitempty"`
+ IsAttachedParentAbility bool `protobuf:"varint,10,opt,name=is_attached_parent_ability,json=isAttachedParentAbility,proto3" json:"is_attached_parent_ability,omitempty"`
+ Action ModifierAction `protobuf:"varint,13,opt,name=action,proto3,enum=proto.ModifierAction" json:"action,omitempty"`
+ ModifierLocalId int32 `protobuf:"varint,2,opt,name=modifier_local_id,json=modifierLocalId,proto3" json:"modifier_local_id,omitempty"`
+ ParentAbilityName *AbilityString `protobuf:"bytes,1,opt,name=parent_ability_name,json=parentAbilityName,proto3" json:"parent_ability_name,omitempty"`
+ IsMuteRemote bool `protobuf:"varint,6,opt,name=is_mute_remote,json=isMuteRemote,proto3" json:"is_mute_remote,omitempty"`
+ ApplyEntityId uint32 `protobuf:"varint,5,opt,name=apply_entity_id,json=applyEntityId,proto3" json:"apply_entity_id,omitempty"`
+ Properties []*ModifierProperty `protobuf:"bytes,3,rep,name=properties,proto3" json:"properties,omitempty"`
+ ParentAbilityOverride *AbilityString `protobuf:"bytes,11,opt,name=parent_ability_override,json=parentAbilityOverride,proto3" json:"parent_ability_override,omitempty"`
+ IsDurabilityZero bool `protobuf:"varint,9,opt,name=is_durability_zero,json=isDurabilityZero,proto3" json:"is_durability_zero,omitempty"`
+}
+
+func (x *AbilityMetaModifierChange) Reset() {
+ *x = AbilityMetaModifierChange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaModifierChange_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaModifierChange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaModifierChange) ProtoMessage() {}
+
+func (x *AbilityMetaModifierChange) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaModifierChange_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaModifierChange.ProtoReflect.Descriptor instead.
+func (*AbilityMetaModifierChange) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaModifierChange_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaModifierChange) GetAttachedInstancedModifier() *AbilityAttachedModifier {
+ if x != nil {
+ return x.AttachedInstancedModifier
+ }
+ return nil
+}
+
+func (x *AbilityMetaModifierChange) GetServerBuffUid() uint32 {
+ if x != nil {
+ return x.ServerBuffUid
+ }
+ return 0
+}
+
+func (x *AbilityMetaModifierChange) GetIsAttachedParentAbility() bool {
+ if x != nil {
+ return x.IsAttachedParentAbility
+ }
+ return false
+}
+
+func (x *AbilityMetaModifierChange) GetAction() ModifierAction {
+ if x != nil {
+ return x.Action
+ }
+ return ModifierAction_MODIFIER_ACTION_ADDED
+}
+
+func (x *AbilityMetaModifierChange) GetModifierLocalId() int32 {
+ if x != nil {
+ return x.ModifierLocalId
+ }
+ return 0
+}
+
+func (x *AbilityMetaModifierChange) GetParentAbilityName() *AbilityString {
+ if x != nil {
+ return x.ParentAbilityName
+ }
+ return nil
+}
+
+func (x *AbilityMetaModifierChange) GetIsMuteRemote() bool {
+ if x != nil {
+ return x.IsMuteRemote
+ }
+ return false
+}
+
+func (x *AbilityMetaModifierChange) GetApplyEntityId() uint32 {
+ if x != nil {
+ return x.ApplyEntityId
+ }
+ return 0
+}
+
+func (x *AbilityMetaModifierChange) GetProperties() []*ModifierProperty {
+ if x != nil {
+ return x.Properties
+ }
+ return nil
+}
+
+func (x *AbilityMetaModifierChange) GetParentAbilityOverride() *AbilityString {
+ if x != nil {
+ return x.ParentAbilityOverride
+ }
+ return nil
+}
+
+func (x *AbilityMetaModifierChange) GetIsDurabilityZero() bool {
+ if x != nil {
+ return x.IsDurabilityZero
+ }
+ return false
+}
+
+var File_AbilityMetaModifierChange_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaModifierChange_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x4d, 0x6f, 0x64,
+ 0x69, 0x66, 0x69, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4d, 0x6f,
+ 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x16, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70,
+ 0x65, 0x72, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x05, 0x0a, 0x19, 0x41,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69,
+ 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x1b, 0x61, 0x74, 0x74, 0x61,
+ 0x63, 0x68, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d,
+ 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x74, 0x74,
+ 0x61, 0x63, 0x68, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x19, 0x61,
+ 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64,
+ 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x55, 0x69, 0x64,
+ 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64,
+ 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x0a,
+ 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11,
+ 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65,
+ 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x13, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x11, 0x70, 0x61, 0x72,
+ 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24,
+ 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x65,
+ 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61,
+ 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0a,
+ 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65,
+ 0x72, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
+ 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f,
+ 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x15, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72,
+ 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x10, 0x69, 0x73, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x65, 0x72,
+ 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaModifierChange_proto_rawDescOnce sync.Once
+ file_AbilityMetaModifierChange_proto_rawDescData = file_AbilityMetaModifierChange_proto_rawDesc
+)
+
+func file_AbilityMetaModifierChange_proto_rawDescGZIP() []byte {
+ file_AbilityMetaModifierChange_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaModifierChange_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaModifierChange_proto_rawDescData)
+ })
+ return file_AbilityMetaModifierChange_proto_rawDescData
+}
+
+var file_AbilityMetaModifierChange_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaModifierChange_proto_goTypes = []interface{}{
+ (*AbilityMetaModifierChange)(nil), // 0: proto.AbilityMetaModifierChange
+ (*AbilityAttachedModifier)(nil), // 1: proto.AbilityAttachedModifier
+ (ModifierAction)(0), // 2: proto.ModifierAction
+ (*AbilityString)(nil), // 3: proto.AbilityString
+ (*ModifierProperty)(nil), // 4: proto.ModifierProperty
+}
+var file_AbilityMetaModifierChange_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMetaModifierChange.attached_instanced_modifier:type_name -> proto.AbilityAttachedModifier
+ 2, // 1: proto.AbilityMetaModifierChange.action:type_name -> proto.ModifierAction
+ 3, // 2: proto.AbilityMetaModifierChange.parent_ability_name:type_name -> proto.AbilityString
+ 4, // 3: proto.AbilityMetaModifierChange.properties:type_name -> proto.ModifierProperty
+ 3, // 4: proto.AbilityMetaModifierChange.parent_ability_override:type_name -> proto.AbilityString
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaModifierChange_proto_init() }
+func file_AbilityMetaModifierChange_proto_init() {
+ if File_AbilityMetaModifierChange_proto != nil {
+ return
+ }
+ file_AbilityAttachedModifier_proto_init()
+ file_AbilityString_proto_init()
+ file_ModifierAction_proto_init()
+ file_ModifierProperty_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaModifierChange_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaModifierChange); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaModifierChange_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaModifierChange_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaModifierChange_proto_depIdxs,
+ MessageInfos: file_AbilityMetaModifierChange_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaModifierChange_proto = out.File
+ file_AbilityMetaModifierChange_proto_rawDesc = nil
+ file_AbilityMetaModifierChange_proto_goTypes = nil
+ file_AbilityMetaModifierChange_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaModifierDurabilityChange.pb.go b/protocol/proto/AbilityMetaModifierDurabilityChange.pb.go
new file mode 100644
index 00000000..5fd28be5
--- /dev/null
+++ b/protocol/proto/AbilityMetaModifierDurabilityChange.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaModifierDurabilityChange.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaModifierDurabilityChange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReduceDurability float32 `protobuf:"fixed32,6,opt,name=reduce_durability,json=reduceDurability,proto3" json:"reduce_durability,omitempty"`
+ RemainDurability float32 `protobuf:"fixed32,15,opt,name=remain_durability,json=remainDurability,proto3" json:"remain_durability,omitempty"`
+}
+
+func (x *AbilityMetaModifierDurabilityChange) Reset() {
+ *x = AbilityMetaModifierDurabilityChange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaModifierDurabilityChange_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaModifierDurabilityChange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaModifierDurabilityChange) ProtoMessage() {}
+
+func (x *AbilityMetaModifierDurabilityChange) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaModifierDurabilityChange_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaModifierDurabilityChange.ProtoReflect.Descriptor instead.
+func (*AbilityMetaModifierDurabilityChange) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaModifierDurabilityChange_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaModifierDurabilityChange) GetReduceDurability() float32 {
+ if x != nil {
+ return x.ReduceDurability
+ }
+ return 0
+}
+
+func (x *AbilityMetaModifierDurabilityChange) GetRemainDurability() float32 {
+ if x != nil {
+ return x.RemainDurability
+ }
+ return 0
+}
+
+var File_AbilityMetaModifierDurabilityChange_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaModifierDurabilityChange_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x4d, 0x6f, 0x64,
+ 0x69, 0x66, 0x69, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x23, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74,
+ 0x61, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x64,
+ 0x75, 0x63, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
+ 0x5f, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaModifierDurabilityChange_proto_rawDescOnce sync.Once
+ file_AbilityMetaModifierDurabilityChange_proto_rawDescData = file_AbilityMetaModifierDurabilityChange_proto_rawDesc
+)
+
+func file_AbilityMetaModifierDurabilityChange_proto_rawDescGZIP() []byte {
+ file_AbilityMetaModifierDurabilityChange_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaModifierDurabilityChange_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaModifierDurabilityChange_proto_rawDescData)
+ })
+ return file_AbilityMetaModifierDurabilityChange_proto_rawDescData
+}
+
+var file_AbilityMetaModifierDurabilityChange_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaModifierDurabilityChange_proto_goTypes = []interface{}{
+ (*AbilityMetaModifierDurabilityChange)(nil), // 0: proto.AbilityMetaModifierDurabilityChange
+}
+var file_AbilityMetaModifierDurabilityChange_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaModifierDurabilityChange_proto_init() }
+func file_AbilityMetaModifierDurabilityChange_proto_init() {
+ if File_AbilityMetaModifierDurabilityChange_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaModifierDurabilityChange_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaModifierDurabilityChange); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaModifierDurabilityChange_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaModifierDurabilityChange_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaModifierDurabilityChange_proto_depIdxs,
+ MessageInfos: file_AbilityMetaModifierDurabilityChange_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaModifierDurabilityChange_proto = out.File
+ file_AbilityMetaModifierDurabilityChange_proto_rawDesc = nil
+ file_AbilityMetaModifierDurabilityChange_proto_goTypes = nil
+ file_AbilityMetaModifierDurabilityChange_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaReInitOverrideMap.pb.go b/protocol/proto/AbilityMetaReInitOverrideMap.pb.go
new file mode 100644
index 00000000..bc3eb86b
--- /dev/null
+++ b/protocol/proto/AbilityMetaReInitOverrideMap.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaReInitOverrideMap.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaReInitOverrideMap struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OverrideMap []*AbilityScalarValueEntry `protobuf:"bytes,7,rep,name=override_map,json=overrideMap,proto3" json:"override_map,omitempty"`
+}
+
+func (x *AbilityMetaReInitOverrideMap) Reset() {
+ *x = AbilityMetaReInitOverrideMap{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaReInitOverrideMap_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaReInitOverrideMap) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaReInitOverrideMap) ProtoMessage() {}
+
+func (x *AbilityMetaReInitOverrideMap) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaReInitOverrideMap_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaReInitOverrideMap.ProtoReflect.Descriptor instead.
+func (*AbilityMetaReInitOverrideMap) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaReInitOverrideMap_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaReInitOverrideMap) GetOverrideMap() []*AbilityScalarValueEntry {
+ if x != nil {
+ return x.OverrideMap
+ }
+ return nil
+}
+
+var File_AbilityMetaReInitOverrideMap_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaReInitOverrideMap_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x49,
+ 0x6e, 0x69, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x1c, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x4f,
+ 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x41, 0x0a, 0x0c, 0x6f, 0x76,
+ 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0b, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AbilityMetaReInitOverrideMap_proto_rawDescOnce sync.Once
+ file_AbilityMetaReInitOverrideMap_proto_rawDescData = file_AbilityMetaReInitOverrideMap_proto_rawDesc
+)
+
+func file_AbilityMetaReInitOverrideMap_proto_rawDescGZIP() []byte {
+ file_AbilityMetaReInitOverrideMap_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaReInitOverrideMap_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaReInitOverrideMap_proto_rawDescData)
+ })
+ return file_AbilityMetaReInitOverrideMap_proto_rawDescData
+}
+
+var file_AbilityMetaReInitOverrideMap_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaReInitOverrideMap_proto_goTypes = []interface{}{
+ (*AbilityMetaReInitOverrideMap)(nil), // 0: proto.AbilityMetaReInitOverrideMap
+ (*AbilityScalarValueEntry)(nil), // 1: proto.AbilityScalarValueEntry
+}
+var file_AbilityMetaReInitOverrideMap_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMetaReInitOverrideMap.override_map:type_name -> proto.AbilityScalarValueEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaReInitOverrideMap_proto_init() }
+func file_AbilityMetaReInitOverrideMap_proto_init() {
+ if File_AbilityMetaReInitOverrideMap_proto != nil {
+ return
+ }
+ file_AbilityScalarValueEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaReInitOverrideMap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaReInitOverrideMap); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaReInitOverrideMap_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaReInitOverrideMap_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaReInitOverrideMap_proto_depIdxs,
+ MessageInfos: file_AbilityMetaReInitOverrideMap_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaReInitOverrideMap_proto = out.File
+ file_AbilityMetaReInitOverrideMap_proto_rawDesc = nil
+ file_AbilityMetaReInitOverrideMap_proto_goTypes = nil
+ file_AbilityMetaReInitOverrideMap_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaSetAbilityTrigger.pb.go b/protocol/proto/AbilityMetaSetAbilityTrigger.pb.go
new file mode 100644
index 00000000..0b0ebedb
--- /dev/null
+++ b/protocol/proto/AbilityMetaSetAbilityTrigger.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaSetAbilityTrigger.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaSetAbilityTrigger struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TriggerAbilityEntityId uint32 `protobuf:"varint,11,opt,name=trigger_ability_entity_id,json=triggerAbilityEntityId,proto3" json:"trigger_ability_entity_id,omitempty"`
+}
+
+func (x *AbilityMetaSetAbilityTrigger) Reset() {
+ *x = AbilityMetaSetAbilityTrigger{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaSetAbilityTrigger_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaSetAbilityTrigger) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaSetAbilityTrigger) ProtoMessage() {}
+
+func (x *AbilityMetaSetAbilityTrigger) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaSetAbilityTrigger_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaSetAbilityTrigger.ProtoReflect.Descriptor instead.
+func (*AbilityMetaSetAbilityTrigger) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaSetAbilityTrigger_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaSetAbilityTrigger) GetTriggerAbilityEntityId() uint32 {
+ if x != nil {
+ return x.TriggerAbilityEntityId
+ }
+ return 0
+}
+
+var File_AbilityMetaSetAbilityTrigger_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaSetAbilityTrigger_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x65, 0x74,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1c, 0x41,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x65, 0x74, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x19, 0x74,
+ 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16,
+ 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaSetAbilityTrigger_proto_rawDescOnce sync.Once
+ file_AbilityMetaSetAbilityTrigger_proto_rawDescData = file_AbilityMetaSetAbilityTrigger_proto_rawDesc
+)
+
+func file_AbilityMetaSetAbilityTrigger_proto_rawDescGZIP() []byte {
+ file_AbilityMetaSetAbilityTrigger_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaSetAbilityTrigger_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaSetAbilityTrigger_proto_rawDescData)
+ })
+ return file_AbilityMetaSetAbilityTrigger_proto_rawDescData
+}
+
+var file_AbilityMetaSetAbilityTrigger_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaSetAbilityTrigger_proto_goTypes = []interface{}{
+ (*AbilityMetaSetAbilityTrigger)(nil), // 0: proto.AbilityMetaSetAbilityTrigger
+}
+var file_AbilityMetaSetAbilityTrigger_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaSetAbilityTrigger_proto_init() }
+func file_AbilityMetaSetAbilityTrigger_proto_init() {
+ if File_AbilityMetaSetAbilityTrigger_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaSetAbilityTrigger_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaSetAbilityTrigger); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaSetAbilityTrigger_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaSetAbilityTrigger_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaSetAbilityTrigger_proto_depIdxs,
+ MessageInfos: file_AbilityMetaSetAbilityTrigger_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaSetAbilityTrigger_proto = out.File
+ file_AbilityMetaSetAbilityTrigger_proto_rawDesc = nil
+ file_AbilityMetaSetAbilityTrigger_proto_goTypes = nil
+ file_AbilityMetaSetAbilityTrigger_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaSetKilledState.pb.go b/protocol/proto/AbilityMetaSetKilledState.pb.go
new file mode 100644
index 00000000..26b55cc7
--- /dev/null
+++ b/protocol/proto/AbilityMetaSetKilledState.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaSetKilledState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaSetKilledState struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Killed bool `protobuf:"varint,2,opt,name=killed,proto3" json:"killed,omitempty"`
+}
+
+func (x *AbilityMetaSetKilledState) Reset() {
+ *x = AbilityMetaSetKilledState{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaSetKilledState_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaSetKilledState) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaSetKilledState) ProtoMessage() {}
+
+func (x *AbilityMetaSetKilledState) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaSetKilledState_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaSetKilledState.ProtoReflect.Descriptor instead.
+func (*AbilityMetaSetKilledState) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaSetKilledState_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaSetKilledState) GetKilled() bool {
+ if x != nil {
+ return x.Killed
+ }
+ return false
+}
+
+var File_AbilityMetaSetKilledState_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaSetKilledState_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x65, 0x74,
+ 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x19, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AbilityMetaSetKilledState_proto_rawDescOnce sync.Once
+ file_AbilityMetaSetKilledState_proto_rawDescData = file_AbilityMetaSetKilledState_proto_rawDesc
+)
+
+func file_AbilityMetaSetKilledState_proto_rawDescGZIP() []byte {
+ file_AbilityMetaSetKilledState_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaSetKilledState_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaSetKilledState_proto_rawDescData)
+ })
+ return file_AbilityMetaSetKilledState_proto_rawDescData
+}
+
+var file_AbilityMetaSetKilledState_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaSetKilledState_proto_goTypes = []interface{}{
+ (*AbilityMetaSetKilledState)(nil), // 0: proto.AbilityMetaSetKilledState
+}
+var file_AbilityMetaSetKilledState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaSetKilledState_proto_init() }
+func file_AbilityMetaSetKilledState_proto_init() {
+ if File_AbilityMetaSetKilledState_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaSetKilledState_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaSetKilledState); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaSetKilledState_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaSetKilledState_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaSetKilledState_proto_depIdxs,
+ MessageInfos: file_AbilityMetaSetKilledState_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaSetKilledState_proto = out.File
+ file_AbilityMetaSetKilledState_proto_rawDesc = nil
+ file_AbilityMetaSetKilledState_proto_goTypes = nil
+ file_AbilityMetaSetKilledState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaSetModifierApplyEntityId.pb.go b/protocol/proto/AbilityMetaSetModifierApplyEntityId.pb.go
new file mode 100644
index 00000000..30cda21d
--- /dev/null
+++ b/protocol/proto/AbilityMetaSetModifierApplyEntityId.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaSetModifierApplyEntityId.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaSetModifierApplyEntityId struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ApplyEntityId uint32 `protobuf:"varint,10,opt,name=apply_entity_id,json=applyEntityId,proto3" json:"apply_entity_id,omitempty"`
+}
+
+func (x *AbilityMetaSetModifierApplyEntityId) Reset() {
+ *x = AbilityMetaSetModifierApplyEntityId{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaSetModifierApplyEntityId_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaSetModifierApplyEntityId) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaSetModifierApplyEntityId) ProtoMessage() {}
+
+func (x *AbilityMetaSetModifierApplyEntityId) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaSetModifierApplyEntityId_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaSetModifierApplyEntityId.ProtoReflect.Descriptor instead.
+func (*AbilityMetaSetModifierApplyEntityId) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaSetModifierApplyEntityId_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaSetModifierApplyEntityId) GetApplyEntityId() uint32 {
+ if x != nil {
+ return x.ApplyEntityId
+ }
+ return 0
+}
+
+var File_AbilityMetaSetModifierApplyEntityId_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaSetModifierApplyEntityId_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x65, 0x74,
+ 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x23, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74,
+ 0x61, 0x53, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c,
+ 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x70, 0x70,
+ 0x6c, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaSetModifierApplyEntityId_proto_rawDescOnce sync.Once
+ file_AbilityMetaSetModifierApplyEntityId_proto_rawDescData = file_AbilityMetaSetModifierApplyEntityId_proto_rawDesc
+)
+
+func file_AbilityMetaSetModifierApplyEntityId_proto_rawDescGZIP() []byte {
+ file_AbilityMetaSetModifierApplyEntityId_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaSetModifierApplyEntityId_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaSetModifierApplyEntityId_proto_rawDescData)
+ })
+ return file_AbilityMetaSetModifierApplyEntityId_proto_rawDescData
+}
+
+var file_AbilityMetaSetModifierApplyEntityId_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaSetModifierApplyEntityId_proto_goTypes = []interface{}{
+ (*AbilityMetaSetModifierApplyEntityId)(nil), // 0: proto.AbilityMetaSetModifierApplyEntityId
+}
+var file_AbilityMetaSetModifierApplyEntityId_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaSetModifierApplyEntityId_proto_init() }
+func file_AbilityMetaSetModifierApplyEntityId_proto_init() {
+ if File_AbilityMetaSetModifierApplyEntityId_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaSetModifierApplyEntityId_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaSetModifierApplyEntityId); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaSetModifierApplyEntityId_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaSetModifierApplyEntityId_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaSetModifierApplyEntityId_proto_depIdxs,
+ MessageInfos: file_AbilityMetaSetModifierApplyEntityId_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaSetModifierApplyEntityId_proto = out.File
+ file_AbilityMetaSetModifierApplyEntityId_proto_rawDesc = nil
+ file_AbilityMetaSetModifierApplyEntityId_proto_goTypes = nil
+ file_AbilityMetaSetModifierApplyEntityId_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaSetPoseParameter.pb.go b/protocol/proto/AbilityMetaSetPoseParameter.pb.go
new file mode 100644
index 00000000..38d6021a
--- /dev/null
+++ b/protocol/proto/AbilityMetaSetPoseParameter.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaSetPoseParameter.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaSetPoseParameter struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value *AnimatorParameterValueInfoPair `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *AbilityMetaSetPoseParameter) Reset() {
+ *x = AbilityMetaSetPoseParameter{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaSetPoseParameter_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaSetPoseParameter) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaSetPoseParameter) ProtoMessage() {}
+
+func (x *AbilityMetaSetPoseParameter) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaSetPoseParameter_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaSetPoseParameter.ProtoReflect.Descriptor instead.
+func (*AbilityMetaSetPoseParameter) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaSetPoseParameter_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaSetPoseParameter) GetValue() *AnimatorParameterValueInfoPair {
+ if x != nil {
+ return x.Value
+ }
+ return nil
+}
+
+var File_AbilityMetaSetPoseParameter_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaSetPoseParameter_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x65, 0x74,
+ 0x50, 0x6f, 0x73, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x41, 0x6e, 0x69, 0x6d,
+ 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x5a, 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53,
+ 0x65, 0x74, 0x50, 0x6f, 0x73, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12,
+ 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x50, 0x61, 0x69, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaSetPoseParameter_proto_rawDescOnce sync.Once
+ file_AbilityMetaSetPoseParameter_proto_rawDescData = file_AbilityMetaSetPoseParameter_proto_rawDesc
+)
+
+func file_AbilityMetaSetPoseParameter_proto_rawDescGZIP() []byte {
+ file_AbilityMetaSetPoseParameter_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaSetPoseParameter_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaSetPoseParameter_proto_rawDescData)
+ })
+ return file_AbilityMetaSetPoseParameter_proto_rawDescData
+}
+
+var file_AbilityMetaSetPoseParameter_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaSetPoseParameter_proto_goTypes = []interface{}{
+ (*AbilityMetaSetPoseParameter)(nil), // 0: proto.AbilityMetaSetPoseParameter
+ (*AnimatorParameterValueInfoPair)(nil), // 1: proto.AnimatorParameterValueInfoPair
+}
+var file_AbilityMetaSetPoseParameter_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMetaSetPoseParameter.value:type_name -> proto.AnimatorParameterValueInfoPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaSetPoseParameter_proto_init() }
+func file_AbilityMetaSetPoseParameter_proto_init() {
+ if File_AbilityMetaSetPoseParameter_proto != nil {
+ return
+ }
+ file_AnimatorParameterValueInfoPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaSetPoseParameter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaSetPoseParameter); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaSetPoseParameter_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaSetPoseParameter_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaSetPoseParameter_proto_depIdxs,
+ MessageInfos: file_AbilityMetaSetPoseParameter_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaSetPoseParameter_proto = out.File
+ file_AbilityMetaSetPoseParameter_proto_rawDesc = nil
+ file_AbilityMetaSetPoseParameter_proto_goTypes = nil
+ file_AbilityMetaSetPoseParameter_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaSpecialFloatArgument.pb.go b/protocol/proto/AbilityMetaSpecialFloatArgument.pb.go
new file mode 100644
index 00000000..85d57de4
--- /dev/null
+++ b/protocol/proto/AbilityMetaSpecialFloatArgument.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaSpecialFloatArgument.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaSpecialFloatArgument struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArgumentValue float32 `protobuf:"fixed32,14,opt,name=argument_value,json=argumentValue,proto3" json:"argument_value,omitempty"`
+ IsOn bool `protobuf:"varint,10,opt,name=is_on,json=isOn,proto3" json:"is_on,omitempty"`
+}
+
+func (x *AbilityMetaSpecialFloatArgument) Reset() {
+ *x = AbilityMetaSpecialFloatArgument{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaSpecialFloatArgument_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaSpecialFloatArgument) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaSpecialFloatArgument) ProtoMessage() {}
+
+func (x *AbilityMetaSpecialFloatArgument) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaSpecialFloatArgument_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaSpecialFloatArgument.ProtoReflect.Descriptor instead.
+func (*AbilityMetaSpecialFloatArgument) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaSpecialFloatArgument_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaSpecialFloatArgument) GetArgumentValue() float32 {
+ if x != nil {
+ return x.ArgumentValue
+ }
+ return 0
+}
+
+func (x *AbilityMetaSpecialFloatArgument) GetIsOn() bool {
+ if x != nil {
+ return x.IsOn
+ }
+ return false
+}
+
+var File_AbilityMetaSpecialFloatArgument_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaSpecialFloatArgument_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x70, 0x65,
+ 0x63, 0x69, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d,
+ 0x0a, 0x1f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x53, 0x70, 0x65,
+ 0x63, 0x69, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
+ 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x61, 0x72, 0x67, 0x75, 0x6d,
+ 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6f,
+ 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AbilityMetaSpecialFloatArgument_proto_rawDescOnce sync.Once
+ file_AbilityMetaSpecialFloatArgument_proto_rawDescData = file_AbilityMetaSpecialFloatArgument_proto_rawDesc
+)
+
+func file_AbilityMetaSpecialFloatArgument_proto_rawDescGZIP() []byte {
+ file_AbilityMetaSpecialFloatArgument_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaSpecialFloatArgument_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaSpecialFloatArgument_proto_rawDescData)
+ })
+ return file_AbilityMetaSpecialFloatArgument_proto_rawDescData
+}
+
+var file_AbilityMetaSpecialFloatArgument_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaSpecialFloatArgument_proto_goTypes = []interface{}{
+ (*AbilityMetaSpecialFloatArgument)(nil), // 0: proto.AbilityMetaSpecialFloatArgument
+}
+var file_AbilityMetaSpecialFloatArgument_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaSpecialFloatArgument_proto_init() }
+func file_AbilityMetaSpecialFloatArgument_proto_init() {
+ if File_AbilityMetaSpecialFloatArgument_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaSpecialFloatArgument_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaSpecialFloatArgument); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaSpecialFloatArgument_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaSpecialFloatArgument_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaSpecialFloatArgument_proto_depIdxs,
+ MessageInfos: file_AbilityMetaSpecialFloatArgument_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaSpecialFloatArgument_proto = out.File
+ file_AbilityMetaSpecialFloatArgument_proto_rawDesc = nil
+ file_AbilityMetaSpecialFloatArgument_proto_goTypes = nil
+ file_AbilityMetaSpecialFloatArgument_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaTriggerElementReaction.pb.go b/protocol/proto/AbilityMetaTriggerElementReaction.pb.go
new file mode 100644
index 00000000..6e81f58c
--- /dev/null
+++ b/protocol/proto/AbilityMetaTriggerElementReaction.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaTriggerElementReaction.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaTriggerElementReaction struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HitIndex int32 `protobuf:"varint,9,opt,name=hit_index,json=hitIndex,proto3" json:"hit_index,omitempty"`
+ ElementSourceType uint32 `protobuf:"varint,7,opt,name=element_source_type,json=elementSourceType,proto3" json:"element_source_type,omitempty"`
+ ElementReactorType uint32 `protobuf:"varint,12,opt,name=element_reactor_type,json=elementReactorType,proto3" json:"element_reactor_type,omitempty"`
+ TriggerEntityId uint32 `protobuf:"varint,2,opt,name=trigger_entity_id,json=triggerEntityId,proto3" json:"trigger_entity_id,omitempty"`
+ ElementReactionType uint32 `protobuf:"varint,1,opt,name=element_reaction_type,json=elementReactionType,proto3" json:"element_reaction_type,omitempty"`
+}
+
+func (x *AbilityMetaTriggerElementReaction) Reset() {
+ *x = AbilityMetaTriggerElementReaction{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaTriggerElementReaction_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaTriggerElementReaction) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaTriggerElementReaction) ProtoMessage() {}
+
+func (x *AbilityMetaTriggerElementReaction) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaTriggerElementReaction_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaTriggerElementReaction.ProtoReflect.Descriptor instead.
+func (*AbilityMetaTriggerElementReaction) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaTriggerElementReaction_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaTriggerElementReaction) GetHitIndex() int32 {
+ if x != nil {
+ return x.HitIndex
+ }
+ return 0
+}
+
+func (x *AbilityMetaTriggerElementReaction) GetElementSourceType() uint32 {
+ if x != nil {
+ return x.ElementSourceType
+ }
+ return 0
+}
+
+func (x *AbilityMetaTriggerElementReaction) GetElementReactorType() uint32 {
+ if x != nil {
+ return x.ElementReactorType
+ }
+ return 0
+}
+
+func (x *AbilityMetaTriggerElementReaction) GetTriggerEntityId() uint32 {
+ if x != nil {
+ return x.TriggerEntityId
+ }
+ return 0
+}
+
+func (x *AbilityMetaTriggerElementReaction) GetElementReactionType() uint32 {
+ if x != nil {
+ return x.ElementReactionType
+ }
+ return 0
+}
+
+var File_AbilityMetaTriggerElementReaction_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaTriggerElementReaction_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x54, 0x72, 0x69,
+ 0x67, 0x67, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x82, 0x02, 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61,
+ 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x69, 0x74, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x68, 0x69, 0x74, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x11, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72,
+ 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f,
+ 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
+ 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x13, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaTriggerElementReaction_proto_rawDescOnce sync.Once
+ file_AbilityMetaTriggerElementReaction_proto_rawDescData = file_AbilityMetaTriggerElementReaction_proto_rawDesc
+)
+
+func file_AbilityMetaTriggerElementReaction_proto_rawDescGZIP() []byte {
+ file_AbilityMetaTriggerElementReaction_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaTriggerElementReaction_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaTriggerElementReaction_proto_rawDescData)
+ })
+ return file_AbilityMetaTriggerElementReaction_proto_rawDescData
+}
+
+var file_AbilityMetaTriggerElementReaction_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaTriggerElementReaction_proto_goTypes = []interface{}{
+ (*AbilityMetaTriggerElementReaction)(nil), // 0: proto.AbilityMetaTriggerElementReaction
+}
+var file_AbilityMetaTriggerElementReaction_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaTriggerElementReaction_proto_init() }
+func file_AbilityMetaTriggerElementReaction_proto_init() {
+ if File_AbilityMetaTriggerElementReaction_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaTriggerElementReaction_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaTriggerElementReaction); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaTriggerElementReaction_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaTriggerElementReaction_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaTriggerElementReaction_proto_depIdxs,
+ MessageInfos: file_AbilityMetaTriggerElementReaction_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaTriggerElementReaction_proto = out.File
+ file_AbilityMetaTriggerElementReaction_proto_rawDesc = nil
+ file_AbilityMetaTriggerElementReaction_proto_goTypes = nil
+ file_AbilityMetaTriggerElementReaction_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMetaUpdateBaseReactionDamage.pb.go b/protocol/proto/AbilityMetaUpdateBaseReactionDamage.pb.go
new file mode 100644
index 00000000..4bc41126
--- /dev/null
+++ b/protocol/proto/AbilityMetaUpdateBaseReactionDamage.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMetaUpdateBaseReactionDamage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMetaUpdateBaseReactionDamage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SourceCasterId uint32 `protobuf:"varint,15,opt,name=source_caster_id,json=sourceCasterId,proto3" json:"source_caster_id,omitempty"`
+ AbilityName *AbilityString `protobuf:"bytes,1,opt,name=ability_name,json=abilityName,proto3" json:"ability_name,omitempty"`
+ GlobalValueKey *AbilityString `protobuf:"bytes,4,opt,name=global_value_key,json=globalValueKey,proto3" json:"global_value_key,omitempty"`
+ ReactionType uint32 `protobuf:"varint,8,opt,name=reaction_type,json=reactionType,proto3" json:"reaction_type,omitempty"`
+}
+
+func (x *AbilityMetaUpdateBaseReactionDamage) Reset() {
+ *x = AbilityMetaUpdateBaseReactionDamage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMetaUpdateBaseReactionDamage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMetaUpdateBaseReactionDamage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMetaUpdateBaseReactionDamage) ProtoMessage() {}
+
+func (x *AbilityMetaUpdateBaseReactionDamage) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMetaUpdateBaseReactionDamage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMetaUpdateBaseReactionDamage.ProtoReflect.Descriptor instead.
+func (*AbilityMetaUpdateBaseReactionDamage) Descriptor() ([]byte, []int) {
+ return file_AbilityMetaUpdateBaseReactionDamage_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMetaUpdateBaseReactionDamage) GetSourceCasterId() uint32 {
+ if x != nil {
+ return x.SourceCasterId
+ }
+ return 0
+}
+
+func (x *AbilityMetaUpdateBaseReactionDamage) GetAbilityName() *AbilityString {
+ if x != nil {
+ return x.AbilityName
+ }
+ return nil
+}
+
+func (x *AbilityMetaUpdateBaseReactionDamage) GetGlobalValueKey() *AbilityString {
+ if x != nil {
+ return x.GlobalValueKey
+ }
+ return nil
+}
+
+func (x *AbilityMetaUpdateBaseReactionDamage) GetReactionType() uint32 {
+ if x != nil {
+ return x.ReactionType
+ }
+ return 0
+}
+
+var File_AbilityMetaUpdateBaseReactionDamage_proto protoreflect.FileDescriptor
+
+var file_AbilityMetaUpdateBaseReactionDamage_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x61, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xed, 0x01, 0x0a, 0x23, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73,
+ 0x65, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12,
+ 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x43, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0c, 0x61, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x61,
+ 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4b,
+ 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMetaUpdateBaseReactionDamage_proto_rawDescOnce sync.Once
+ file_AbilityMetaUpdateBaseReactionDamage_proto_rawDescData = file_AbilityMetaUpdateBaseReactionDamage_proto_rawDesc
+)
+
+func file_AbilityMetaUpdateBaseReactionDamage_proto_rawDescGZIP() []byte {
+ file_AbilityMetaUpdateBaseReactionDamage_proto_rawDescOnce.Do(func() {
+ file_AbilityMetaUpdateBaseReactionDamage_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMetaUpdateBaseReactionDamage_proto_rawDescData)
+ })
+ return file_AbilityMetaUpdateBaseReactionDamage_proto_rawDescData
+}
+
+var file_AbilityMetaUpdateBaseReactionDamage_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMetaUpdateBaseReactionDamage_proto_goTypes = []interface{}{
+ (*AbilityMetaUpdateBaseReactionDamage)(nil), // 0: proto.AbilityMetaUpdateBaseReactionDamage
+ (*AbilityString)(nil), // 1: proto.AbilityString
+}
+var file_AbilityMetaUpdateBaseReactionDamage_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMetaUpdateBaseReactionDamage.ability_name:type_name -> proto.AbilityString
+ 1, // 1: proto.AbilityMetaUpdateBaseReactionDamage.global_value_key:type_name -> proto.AbilityString
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMetaUpdateBaseReactionDamage_proto_init() }
+func file_AbilityMetaUpdateBaseReactionDamage_proto_init() {
+ if File_AbilityMetaUpdateBaseReactionDamage_proto != nil {
+ return
+ }
+ file_AbilityString_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMetaUpdateBaseReactionDamage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMetaUpdateBaseReactionDamage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMetaUpdateBaseReactionDamage_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMetaUpdateBaseReactionDamage_proto_goTypes,
+ DependencyIndexes: file_AbilityMetaUpdateBaseReactionDamage_proto_depIdxs,
+ MessageInfos: file_AbilityMetaUpdateBaseReactionDamage_proto_msgTypes,
+ }.Build()
+ File_AbilityMetaUpdateBaseReactionDamage_proto = out.File
+ file_AbilityMetaUpdateBaseReactionDamage_proto_rawDesc = nil
+ file_AbilityMetaUpdateBaseReactionDamage_proto_goTypes = nil
+ file_AbilityMetaUpdateBaseReactionDamage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinAvatarCombat.pb.go b/protocol/proto/AbilityMixinAvatarCombat.pb.go
new file mode 100644
index 00000000..1c5562ce
--- /dev/null
+++ b/protocol/proto/AbilityMixinAvatarCombat.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinAvatarCombat.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinAvatarCombat struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsEnterCombat bool `protobuf:"varint,9,opt,name=is_enter_combat,json=isEnterCombat,proto3" json:"is_enter_combat,omitempty"`
+}
+
+func (x *AbilityMixinAvatarCombat) Reset() {
+ *x = AbilityMixinAvatarCombat{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinAvatarCombat_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinAvatarCombat) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinAvatarCombat) ProtoMessage() {}
+
+func (x *AbilityMixinAvatarCombat) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinAvatarCombat_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinAvatarCombat.ProtoReflect.Descriptor instead.
+func (*AbilityMixinAvatarCombat) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinAvatarCombat_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinAvatarCombat) GetIsEnterCombat() bool {
+ if x != nil {
+ return x.IsEnterCombat
+ }
+ return false
+}
+
+var File_AbilityMixinAvatarCombat_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinAvatarCombat_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x18, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x6d,
+ 0x62, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f,
+ 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73,
+ 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinAvatarCombat_proto_rawDescOnce sync.Once
+ file_AbilityMixinAvatarCombat_proto_rawDescData = file_AbilityMixinAvatarCombat_proto_rawDesc
+)
+
+func file_AbilityMixinAvatarCombat_proto_rawDescGZIP() []byte {
+ file_AbilityMixinAvatarCombat_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinAvatarCombat_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinAvatarCombat_proto_rawDescData)
+ })
+ return file_AbilityMixinAvatarCombat_proto_rawDescData
+}
+
+var file_AbilityMixinAvatarCombat_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinAvatarCombat_proto_goTypes = []interface{}{
+ (*AbilityMixinAvatarCombat)(nil), // 0: proto.AbilityMixinAvatarCombat
+}
+var file_AbilityMixinAvatarCombat_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinAvatarCombat_proto_init() }
+func file_AbilityMixinAvatarCombat_proto_init() {
+ if File_AbilityMixinAvatarCombat_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinAvatarCombat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinAvatarCombat); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinAvatarCombat_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinAvatarCombat_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinAvatarCombat_proto_depIdxs,
+ MessageInfos: file_AbilityMixinAvatarCombat_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinAvatarCombat_proto = out.File
+ file_AbilityMixinAvatarCombat_proto_rawDesc = nil
+ file_AbilityMixinAvatarCombat_proto_goTypes = nil
+ file_AbilityMixinAvatarCombat_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinAvatarSteerByCamera.pb.go b/protocol/proto/AbilityMixinAvatarSteerByCamera.pb.go
new file mode 100644
index 00000000..89e1e6bd
--- /dev/null
+++ b/protocol/proto/AbilityMixinAvatarSteerByCamera.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinAvatarSteerByCamera.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinAvatarSteerByCamera struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetDir *Vector `protobuf:"bytes,7,opt,name=target_dir,json=targetDir,proto3" json:"target_dir,omitempty"`
+ TargetPos *Vector `protobuf:"bytes,6,opt,name=target_pos,json=targetPos,proto3" json:"target_pos,omitempty"`
+}
+
+func (x *AbilityMixinAvatarSteerByCamera) Reset() {
+ *x = AbilityMixinAvatarSteerByCamera{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinAvatarSteerByCamera_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinAvatarSteerByCamera) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinAvatarSteerByCamera) ProtoMessage() {}
+
+func (x *AbilityMixinAvatarSteerByCamera) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinAvatarSteerByCamera_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinAvatarSteerByCamera.ProtoReflect.Descriptor instead.
+func (*AbilityMixinAvatarSteerByCamera) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinAvatarSteerByCamera_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinAvatarSteerByCamera) GetTargetDir() *Vector {
+ if x != nil {
+ return x.TargetDir
+ }
+ return nil
+}
+
+func (x *AbilityMixinAvatarSteerByCamera) GetTargetPos() *Vector {
+ if x != nil {
+ return x.TargetPos
+ }
+ return nil
+}
+
+var File_AbilityMixinAvatarSteerByCamera_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinAvatarSteerByCamera_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x53, 0x74, 0x65, 0x65, 0x72, 0x42, 0x79, 0x43, 0x61, 0x6d, 0x65, 0x72,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x1f,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x53, 0x74, 0x65, 0x65, 0x72, 0x42, 0x79, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x12,
+ 0x2c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x69, 0x72, 0x12, 0x2c, 0x0a,
+ 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinAvatarSteerByCamera_proto_rawDescOnce sync.Once
+ file_AbilityMixinAvatarSteerByCamera_proto_rawDescData = file_AbilityMixinAvatarSteerByCamera_proto_rawDesc
+)
+
+func file_AbilityMixinAvatarSteerByCamera_proto_rawDescGZIP() []byte {
+ file_AbilityMixinAvatarSteerByCamera_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinAvatarSteerByCamera_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinAvatarSteerByCamera_proto_rawDescData)
+ })
+ return file_AbilityMixinAvatarSteerByCamera_proto_rawDescData
+}
+
+var file_AbilityMixinAvatarSteerByCamera_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinAvatarSteerByCamera_proto_goTypes = []interface{}{
+ (*AbilityMixinAvatarSteerByCamera)(nil), // 0: proto.AbilityMixinAvatarSteerByCamera
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityMixinAvatarSteerByCamera_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMixinAvatarSteerByCamera.target_dir:type_name -> proto.Vector
+ 1, // 1: proto.AbilityMixinAvatarSteerByCamera.target_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinAvatarSteerByCamera_proto_init() }
+func file_AbilityMixinAvatarSteerByCamera_proto_init() {
+ if File_AbilityMixinAvatarSteerByCamera_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinAvatarSteerByCamera_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinAvatarSteerByCamera); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinAvatarSteerByCamera_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinAvatarSteerByCamera_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinAvatarSteerByCamera_proto_depIdxs,
+ MessageInfos: file_AbilityMixinAvatarSteerByCamera_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinAvatarSteerByCamera_proto = out.File
+ file_AbilityMixinAvatarSteerByCamera_proto_rawDesc = nil
+ file_AbilityMixinAvatarSteerByCamera_proto_goTypes = nil
+ file_AbilityMixinAvatarSteerByCamera_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinCostStamina.pb.go b/protocol/proto/AbilityMixinCostStamina.pb.go
new file mode 100644
index 00000000..d932b2e3
--- /dev/null
+++ b/protocol/proto/AbilityMixinCostStamina.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinCostStamina.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinCostStamina struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSwim bool `protobuf:"varint,3,opt,name=is_swim,json=isSwim,proto3" json:"is_swim,omitempty"`
+}
+
+func (x *AbilityMixinCostStamina) Reset() {
+ *x = AbilityMixinCostStamina{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinCostStamina_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinCostStamina) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinCostStamina) ProtoMessage() {}
+
+func (x *AbilityMixinCostStamina) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinCostStamina_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinCostStamina.ProtoReflect.Descriptor instead.
+func (*AbilityMixinCostStamina) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinCostStamina_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinCostStamina) GetIsSwim() bool {
+ if x != nil {
+ return x.IsSwim
+ }
+ return false
+}
+
+var File_AbilityMixinCostStamina_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinCostStamina_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x43, 0x6f,
+ 0x73, 0x74, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e,
+ 0x61, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x77, 0x69, 0x6d, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x77, 0x69, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinCostStamina_proto_rawDescOnce sync.Once
+ file_AbilityMixinCostStamina_proto_rawDescData = file_AbilityMixinCostStamina_proto_rawDesc
+)
+
+func file_AbilityMixinCostStamina_proto_rawDescGZIP() []byte {
+ file_AbilityMixinCostStamina_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinCostStamina_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinCostStamina_proto_rawDescData)
+ })
+ return file_AbilityMixinCostStamina_proto_rawDescData
+}
+
+var file_AbilityMixinCostStamina_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinCostStamina_proto_goTypes = []interface{}{
+ (*AbilityMixinCostStamina)(nil), // 0: proto.AbilityMixinCostStamina
+}
+var file_AbilityMixinCostStamina_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinCostStamina_proto_init() }
+func file_AbilityMixinCostStamina_proto_init() {
+ if File_AbilityMixinCostStamina_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinCostStamina_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinCostStamina); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinCostStamina_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinCostStamina_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinCostStamina_proto_depIdxs,
+ MessageInfos: file_AbilityMixinCostStamina_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinCostStamina_proto = out.File
+ file_AbilityMixinCostStamina_proto_rawDesc = nil
+ file_AbilityMixinCostStamina_proto_goTypes = nil
+ file_AbilityMixinCostStamina_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinDoActionByElementReaction.pb.go b/protocol/proto/AbilityMixinDoActionByElementReaction.pb.go
new file mode 100644
index 00000000..37aa6e1c
--- /dev/null
+++ b/protocol/proto/AbilityMixinDoActionByElementReaction.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinDoActionByElementReaction.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinDoActionByElementReaction struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetEntityId uint32 `protobuf:"varint,1,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+}
+
+func (x *AbilityMixinDoActionByElementReaction) Reset() {
+ *x = AbilityMixinDoActionByElementReaction{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinDoActionByElementReaction_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinDoActionByElementReaction) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinDoActionByElementReaction) ProtoMessage() {}
+
+func (x *AbilityMixinDoActionByElementReaction) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinDoActionByElementReaction_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinDoActionByElementReaction.ProtoReflect.Descriptor instead.
+func (*AbilityMixinDoActionByElementReaction) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinDoActionByElementReaction_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinDoActionByElementReaction) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+var File_AbilityMixinDoActionByElementReaction_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinDoActionByElementReaction_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x44, 0x6f,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52,
+ 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x25, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d,
+ 0x69, 0x78, 0x69, 0x6e, 0x44, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x45, 0x6c,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a,
+ 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinDoActionByElementReaction_proto_rawDescOnce sync.Once
+ file_AbilityMixinDoActionByElementReaction_proto_rawDescData = file_AbilityMixinDoActionByElementReaction_proto_rawDesc
+)
+
+func file_AbilityMixinDoActionByElementReaction_proto_rawDescGZIP() []byte {
+ file_AbilityMixinDoActionByElementReaction_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinDoActionByElementReaction_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinDoActionByElementReaction_proto_rawDescData)
+ })
+ return file_AbilityMixinDoActionByElementReaction_proto_rawDescData
+}
+
+var file_AbilityMixinDoActionByElementReaction_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinDoActionByElementReaction_proto_goTypes = []interface{}{
+ (*AbilityMixinDoActionByElementReaction)(nil), // 0: proto.AbilityMixinDoActionByElementReaction
+}
+var file_AbilityMixinDoActionByElementReaction_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinDoActionByElementReaction_proto_init() }
+func file_AbilityMixinDoActionByElementReaction_proto_init() {
+ if File_AbilityMixinDoActionByElementReaction_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinDoActionByElementReaction_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinDoActionByElementReaction); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinDoActionByElementReaction_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinDoActionByElementReaction_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinDoActionByElementReaction_proto_depIdxs,
+ MessageInfos: file_AbilityMixinDoActionByElementReaction_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinDoActionByElementReaction_proto = out.File
+ file_AbilityMixinDoActionByElementReaction_proto_rawDesc = nil
+ file_AbilityMixinDoActionByElementReaction_proto_goTypes = nil
+ file_AbilityMixinDoActionByElementReaction_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.pb.go b/protocol/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.pb.go
new file mode 100644
index 00000000..937ca61e
--- /dev/null
+++ b/protocol/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinDoActionBySelfModifierElementDurabilityRatio.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinDoActionBySelfModifierElementDurabilityRatio struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LastDurabilityRatio float32 `protobuf:"fixed32,9,opt,name=last_durability_ratio,json=lastDurabilityRatio,proto3" json:"last_durability_ratio,omitempty"`
+}
+
+func (x *AbilityMixinDoActionBySelfModifierElementDurabilityRatio) Reset() {
+ *x = AbilityMixinDoActionBySelfModifierElementDurabilityRatio{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinDoActionBySelfModifierElementDurabilityRatio) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinDoActionBySelfModifierElementDurabilityRatio) ProtoMessage() {}
+
+func (x *AbilityMixinDoActionBySelfModifierElementDurabilityRatio) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinDoActionBySelfModifierElementDurabilityRatio.ProtoReflect.Descriptor instead.
+func (*AbilityMixinDoActionBySelfModifierElementDurabilityRatio) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinDoActionBySelfModifierElementDurabilityRatio) GetLastDurabilityRatio() float32 {
+ if x != nil {
+ return x.LastDurabilityRatio
+ }
+ return 0
+}
+
+var File_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDesc = []byte{
+ 0x0a, 0x3e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x44, 0x6f,
+ 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x6f, 0x64, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, 0x61, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x38, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x44, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42,
+ 0x79, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x45, 0x6c, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x61,
+ 0x74, 0x69, 0x6f, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDescOnce sync.Once
+ file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDescData = file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDesc
+)
+
+func file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDescGZIP() []byte {
+ file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDescData)
+ })
+ return file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDescData
+}
+
+var file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_goTypes = []interface{}{
+ (*AbilityMixinDoActionBySelfModifierElementDurabilityRatio)(nil), // 0: proto.AbilityMixinDoActionBySelfModifierElementDurabilityRatio
+}
+var file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_init() }
+func file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_init() {
+ if File_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinDoActionBySelfModifierElementDurabilityRatio); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_depIdxs,
+ MessageInfos: file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto = out.File
+ file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_rawDesc = nil
+ file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_goTypes = nil
+ file_AbilityMixinDoActionBySelfModifierElementDurabilityRatio_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinElementShield.pb.go b/protocol/proto/AbilityMixinElementShield.pb.go
new file mode 100644
index 00000000..9fa5d280
--- /dev/null
+++ b/protocol/proto/AbilityMixinElementShield.pb.go
@@ -0,0 +1,210 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinElementShield.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinElementShield struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SubShield float32 `protobuf:"fixed32,10,opt,name=sub_shield,json=subShield,proto3" json:"sub_shield,omitempty"`
+ Shield float32 `protobuf:"fixed32,8,opt,name=shield,proto3" json:"shield,omitempty"`
+ AbsorbType uint32 `protobuf:"varint,1,opt,name=absorb_type,json=absorbType,proto3" json:"absorb_type,omitempty"`
+ PlayerNum uint32 `protobuf:"varint,4,opt,name=player_num,json=playerNum,proto3" json:"player_num,omitempty"`
+ IsShieldBroken bool `protobuf:"varint,9,opt,name=is_shield_broken,json=isShieldBroken,proto3" json:"is_shield_broken,omitempty"`
+ MaxShield float32 `protobuf:"fixed32,12,opt,name=max_shield,json=maxShield,proto3" json:"max_shield,omitempty"`
+}
+
+func (x *AbilityMixinElementShield) Reset() {
+ *x = AbilityMixinElementShield{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinElementShield_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinElementShield) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinElementShield) ProtoMessage() {}
+
+func (x *AbilityMixinElementShield) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinElementShield_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinElementShield.ProtoReflect.Descriptor instead.
+func (*AbilityMixinElementShield) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinElementShield_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinElementShield) GetSubShield() float32 {
+ if x != nil {
+ return x.SubShield
+ }
+ return 0
+}
+
+func (x *AbilityMixinElementShield) GetShield() float32 {
+ if x != nil {
+ return x.Shield
+ }
+ return 0
+}
+
+func (x *AbilityMixinElementShield) GetAbsorbType() uint32 {
+ if x != nil {
+ return x.AbsorbType
+ }
+ return 0
+}
+
+func (x *AbilityMixinElementShield) GetPlayerNum() uint32 {
+ if x != nil {
+ return x.PlayerNum
+ }
+ return 0
+}
+
+func (x *AbilityMixinElementShield) GetIsShieldBroken() bool {
+ if x != nil {
+ return x.IsShieldBroken
+ }
+ return false
+}
+
+func (x *AbilityMixinElementShield) GetMaxShield() float32 {
+ if x != nil {
+ return x.MaxShield
+ }
+ return 0
+}
+
+var File_AbilityMixinElementShield_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinElementShield_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x45, 0x6c,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x19, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x68,
+ 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x75, 0x62, 0x53,
+ 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a,
+ 0x10, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x72, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x68, 0x69, 0x65, 0x6c,
+ 0x64, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x73,
+ 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 0x61, 0x78,
+ 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinElementShield_proto_rawDescOnce sync.Once
+ file_AbilityMixinElementShield_proto_rawDescData = file_AbilityMixinElementShield_proto_rawDesc
+)
+
+func file_AbilityMixinElementShield_proto_rawDescGZIP() []byte {
+ file_AbilityMixinElementShield_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinElementShield_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinElementShield_proto_rawDescData)
+ })
+ return file_AbilityMixinElementShield_proto_rawDescData
+}
+
+var file_AbilityMixinElementShield_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinElementShield_proto_goTypes = []interface{}{
+ (*AbilityMixinElementShield)(nil), // 0: proto.AbilityMixinElementShield
+}
+var file_AbilityMixinElementShield_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinElementShield_proto_init() }
+func file_AbilityMixinElementShield_proto_init() {
+ if File_AbilityMixinElementShield_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinElementShield_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinElementShield); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinElementShield_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinElementShield_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinElementShield_proto_depIdxs,
+ MessageInfos: file_AbilityMixinElementShield_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinElementShield_proto = out.File
+ file_AbilityMixinElementShield_proto_rawDesc = nil
+ file_AbilityMixinElementShield_proto_goTypes = nil
+ file_AbilityMixinElementShield_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinEliteShield.pb.go b/protocol/proto/AbilityMixinEliteShield.pb.go
new file mode 100644
index 00000000..bf5d5c83
--- /dev/null
+++ b/protocol/proto/AbilityMixinEliteShield.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinEliteShield.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinEliteShield struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SubShield float32 `protobuf:"fixed32,2,opt,name=sub_shield,json=subShield,proto3" json:"sub_shield,omitempty"`
+}
+
+func (x *AbilityMixinEliteShield) Reset() {
+ *x = AbilityMixinEliteShield{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinEliteShield_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinEliteShield) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinEliteShield) ProtoMessage() {}
+
+func (x *AbilityMixinEliteShield) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinEliteShield_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinEliteShield.ProtoReflect.Descriptor instead.
+func (*AbilityMixinEliteShield) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinEliteShield_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinEliteShield) GetSubShield() float32 {
+ if x != nil {
+ return x.SubShield
+ }
+ return 0
+}
+
+var File_AbilityMixinEliteShield_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinEliteShield_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x45, 0x6c,
+ 0x69, 0x74, 0x65, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x45, 0x6c, 0x69, 0x74, 0x65, 0x53, 0x68, 0x69, 0x65, 0x6c,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x75, 0x62, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinEliteShield_proto_rawDescOnce sync.Once
+ file_AbilityMixinEliteShield_proto_rawDescData = file_AbilityMixinEliteShield_proto_rawDesc
+)
+
+func file_AbilityMixinEliteShield_proto_rawDescGZIP() []byte {
+ file_AbilityMixinEliteShield_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinEliteShield_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinEliteShield_proto_rawDescData)
+ })
+ return file_AbilityMixinEliteShield_proto_rawDescData
+}
+
+var file_AbilityMixinEliteShield_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinEliteShield_proto_goTypes = []interface{}{
+ (*AbilityMixinEliteShield)(nil), // 0: proto.AbilityMixinEliteShield
+}
+var file_AbilityMixinEliteShield_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinEliteShield_proto_init() }
+func file_AbilityMixinEliteShield_proto_init() {
+ if File_AbilityMixinEliteShield_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinEliteShield_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinEliteShield); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinEliteShield_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinEliteShield_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinEliteShield_proto_depIdxs,
+ MessageInfos: file_AbilityMixinEliteShield_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinEliteShield_proto = out.File
+ file_AbilityMixinEliteShield_proto_rawDesc = nil
+ file_AbilityMixinEliteShield_proto_goTypes = nil
+ file_AbilityMixinEliteShield_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinEmpty.pb.go b/protocol/proto/AbilityMixinEmpty.pb.go
new file mode 100644
index 00000000..44040f24
--- /dev/null
+++ b/protocol/proto/AbilityMixinEmpty.pb.go
@@ -0,0 +1,148 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinEmpty.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinEmpty struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *AbilityMixinEmpty) Reset() {
+ *x = AbilityMixinEmpty{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinEmpty_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinEmpty) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinEmpty) ProtoMessage() {}
+
+func (x *AbilityMixinEmpty) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinEmpty_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinEmpty.ProtoReflect.Descriptor instead.
+func (*AbilityMixinEmpty) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinEmpty_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AbilityMixinEmpty_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinEmpty_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x45, 0x6d,
+ 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x13, 0x0a, 0x11, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e,
+ 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinEmpty_proto_rawDescOnce sync.Once
+ file_AbilityMixinEmpty_proto_rawDescData = file_AbilityMixinEmpty_proto_rawDesc
+)
+
+func file_AbilityMixinEmpty_proto_rawDescGZIP() []byte {
+ file_AbilityMixinEmpty_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinEmpty_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinEmpty_proto_rawDescData)
+ })
+ return file_AbilityMixinEmpty_proto_rawDescData
+}
+
+var file_AbilityMixinEmpty_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinEmpty_proto_goTypes = []interface{}{
+ (*AbilityMixinEmpty)(nil), // 0: proto.AbilityMixinEmpty
+}
+var file_AbilityMixinEmpty_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinEmpty_proto_init() }
+func file_AbilityMixinEmpty_proto_init() {
+ if File_AbilityMixinEmpty_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinEmpty_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinEmpty); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinEmpty_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinEmpty_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinEmpty_proto_depIdxs,
+ MessageInfos: file_AbilityMixinEmpty_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinEmpty_proto = out.File
+ file_AbilityMixinEmpty_proto_rawDesc = nil
+ file_AbilityMixinEmpty_proto_goTypes = nil
+ file_AbilityMixinEmpty_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinFieldEntityCountChange.pb.go b/protocol/proto/AbilityMixinFieldEntityCountChange.pb.go
new file mode 100644
index 00000000..0fba88e3
--- /dev/null
+++ b/protocol/proto/AbilityMixinFieldEntityCountChange.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinFieldEntityCountChange.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinFieldEntityCountChange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FieldEntityCount uint32 `protobuf:"varint,14,opt,name=field_entity_count,json=fieldEntityCount,proto3" json:"field_entity_count,omitempty"`
+}
+
+func (x *AbilityMixinFieldEntityCountChange) Reset() {
+ *x = AbilityMixinFieldEntityCountChange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinFieldEntityCountChange_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinFieldEntityCountChange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinFieldEntityCountChange) ProtoMessage() {}
+
+func (x *AbilityMixinFieldEntityCountChange) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinFieldEntityCountChange_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinFieldEntityCountChange.ProtoReflect.Descriptor instead.
+func (*AbilityMixinFieldEntityCountChange) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinFieldEntityCountChange_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinFieldEntityCountChange) GetFieldEntityCount() uint32 {
+ if x != nil {
+ return x.FieldEntityCount
+ }
+ return 0
+}
+
+var File_AbilityMixinFieldEntityCountChange_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinFieldEntityCountChange_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x52, 0x0a, 0x22, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69,
+ 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x65, 0x6c, 0x64,
+ 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinFieldEntityCountChange_proto_rawDescOnce sync.Once
+ file_AbilityMixinFieldEntityCountChange_proto_rawDescData = file_AbilityMixinFieldEntityCountChange_proto_rawDesc
+)
+
+func file_AbilityMixinFieldEntityCountChange_proto_rawDescGZIP() []byte {
+ file_AbilityMixinFieldEntityCountChange_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinFieldEntityCountChange_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinFieldEntityCountChange_proto_rawDescData)
+ })
+ return file_AbilityMixinFieldEntityCountChange_proto_rawDescData
+}
+
+var file_AbilityMixinFieldEntityCountChange_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinFieldEntityCountChange_proto_goTypes = []interface{}{
+ (*AbilityMixinFieldEntityCountChange)(nil), // 0: proto.AbilityMixinFieldEntityCountChange
+}
+var file_AbilityMixinFieldEntityCountChange_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinFieldEntityCountChange_proto_init() }
+func file_AbilityMixinFieldEntityCountChange_proto_init() {
+ if File_AbilityMixinFieldEntityCountChange_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinFieldEntityCountChange_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinFieldEntityCountChange); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinFieldEntityCountChange_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinFieldEntityCountChange_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinFieldEntityCountChange_proto_depIdxs,
+ MessageInfos: file_AbilityMixinFieldEntityCountChange_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinFieldEntityCountChange_proto = out.File
+ file_AbilityMixinFieldEntityCountChange_proto_rawDesc = nil
+ file_AbilityMixinFieldEntityCountChange_proto_goTypes = nil
+ file_AbilityMixinFieldEntityCountChange_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinFireworksLauncher.pb.go b/protocol/proto/AbilityMixinFireworksLauncher.pb.go
new file mode 100644
index 00000000..4ed1545a
--- /dev/null
+++ b/protocol/proto/AbilityMixinFireworksLauncher.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinFireworksLauncher.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinFireworksLauncher struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InvokeType uint32 `protobuf:"varint,2,opt,name=invoke_type,json=invokeType,proto3" json:"invoke_type,omitempty"`
+ StartCountDownTime uint32 `protobuf:"varint,3,opt,name=start_count_down_time,json=startCountDownTime,proto3" json:"start_count_down_time,omitempty"`
+ FiredBulletCount uint32 `protobuf:"varint,1,opt,name=fired_bullet_count,json=firedBulletCount,proto3" json:"fired_bullet_count,omitempty"`
+ Phase uint32 `protobuf:"varint,6,opt,name=phase,proto3" json:"phase,omitempty"`
+ FireworksConfig []uint32 `protobuf:"varint,4,rep,packed,name=fireworks_config,json=fireworksConfig,proto3" json:"fireworks_config,omitempty"`
+ TurnIndex uint32 `protobuf:"varint,7,opt,name=turn_index,json=turnIndex,proto3" json:"turn_index,omitempty"`
+}
+
+func (x *AbilityMixinFireworksLauncher) Reset() {
+ *x = AbilityMixinFireworksLauncher{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinFireworksLauncher_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinFireworksLauncher) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinFireworksLauncher) ProtoMessage() {}
+
+func (x *AbilityMixinFireworksLauncher) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinFireworksLauncher_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinFireworksLauncher.ProtoReflect.Descriptor instead.
+func (*AbilityMixinFireworksLauncher) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinFireworksLauncher_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinFireworksLauncher) GetInvokeType() uint32 {
+ if x != nil {
+ return x.InvokeType
+ }
+ return 0
+}
+
+func (x *AbilityMixinFireworksLauncher) GetStartCountDownTime() uint32 {
+ if x != nil {
+ return x.StartCountDownTime
+ }
+ return 0
+}
+
+func (x *AbilityMixinFireworksLauncher) GetFiredBulletCount() uint32 {
+ if x != nil {
+ return x.FiredBulletCount
+ }
+ return 0
+}
+
+func (x *AbilityMixinFireworksLauncher) GetPhase() uint32 {
+ if x != nil {
+ return x.Phase
+ }
+ return 0
+}
+
+func (x *AbilityMixinFireworksLauncher) GetFireworksConfig() []uint32 {
+ if x != nil {
+ return x.FireworksConfig
+ }
+ return nil
+}
+
+func (x *AbilityMixinFireworksLauncher) GetTurnIndex() uint32 {
+ if x != nil {
+ return x.TurnIndex
+ }
+ return 0
+}
+
+var File_AbilityMixinFireworksLauncher_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinFireworksLauncher_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x46, 0x69,
+ 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x02, 0x0a,
+ 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x72, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x31, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64,
+ 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x75, 0x6c, 0x6c,
+ 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10,
+ 0x66, 0x69, 0x72, 0x65, 0x64, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x6f,
+ 0x72, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinFireworksLauncher_proto_rawDescOnce sync.Once
+ file_AbilityMixinFireworksLauncher_proto_rawDescData = file_AbilityMixinFireworksLauncher_proto_rawDesc
+)
+
+func file_AbilityMixinFireworksLauncher_proto_rawDescGZIP() []byte {
+ file_AbilityMixinFireworksLauncher_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinFireworksLauncher_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinFireworksLauncher_proto_rawDescData)
+ })
+ return file_AbilityMixinFireworksLauncher_proto_rawDescData
+}
+
+var file_AbilityMixinFireworksLauncher_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinFireworksLauncher_proto_goTypes = []interface{}{
+ (*AbilityMixinFireworksLauncher)(nil), // 0: proto.AbilityMixinFireworksLauncher
+}
+var file_AbilityMixinFireworksLauncher_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinFireworksLauncher_proto_init() }
+func file_AbilityMixinFireworksLauncher_proto_init() {
+ if File_AbilityMixinFireworksLauncher_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinFireworksLauncher_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinFireworksLauncher); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinFireworksLauncher_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinFireworksLauncher_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinFireworksLauncher_proto_depIdxs,
+ MessageInfos: file_AbilityMixinFireworksLauncher_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinFireworksLauncher_proto = out.File
+ file_AbilityMixinFireworksLauncher_proto_rawDesc = nil
+ file_AbilityMixinFireworksLauncher_proto_goTypes = nil
+ file_AbilityMixinFireworksLauncher_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinGlobalShield.pb.go b/protocol/proto/AbilityMixinGlobalShield.pb.go
new file mode 100644
index 00000000..86520db0
--- /dev/null
+++ b/protocol/proto/AbilityMixinGlobalShield.pb.go
@@ -0,0 +1,211 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinGlobalShield.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinGlobalShield struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCreateEffect bool `protobuf:"varint,4,opt,name=is_create_effect,json=isCreateEffect,proto3" json:"is_create_effect,omitempty"`
+ SubShield float32 `protobuf:"fixed32,7,opt,name=sub_shield,json=subShield,proto3" json:"sub_shield,omitempty"`
+ HeightOffset float32 `protobuf:"fixed32,5,opt,name=height_offset,json=heightOffset,proto3" json:"height_offset,omitempty"`
+ AvatarId uint32 `protobuf:"varint,11,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ MaxShield float32 `protobuf:"fixed32,10,opt,name=max_shield,json=maxShield,proto3" json:"max_shield,omitempty"`
+ ShieldEffectName string `protobuf:"bytes,2,opt,name=shield_effect_name,json=shieldEffectName,proto3" json:"shield_effect_name,omitempty"`
+}
+
+func (x *AbilityMixinGlobalShield) Reset() {
+ *x = AbilityMixinGlobalShield{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinGlobalShield_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinGlobalShield) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinGlobalShield) ProtoMessage() {}
+
+func (x *AbilityMixinGlobalShield) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinGlobalShield_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinGlobalShield.ProtoReflect.Descriptor instead.
+func (*AbilityMixinGlobalShield) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinGlobalShield_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinGlobalShield) GetIsCreateEffect() bool {
+ if x != nil {
+ return x.IsCreateEffect
+ }
+ return false
+}
+
+func (x *AbilityMixinGlobalShield) GetSubShield() float32 {
+ if x != nil {
+ return x.SubShield
+ }
+ return 0
+}
+
+func (x *AbilityMixinGlobalShield) GetHeightOffset() float32 {
+ if x != nil {
+ return x.HeightOffset
+ }
+ return 0
+}
+
+func (x *AbilityMixinGlobalShield) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *AbilityMixinGlobalShield) GetMaxShield() float32 {
+ if x != nil {
+ return x.MaxShield
+ }
+ return 0
+}
+
+func (x *AbilityMixinGlobalShield) GetShieldEffectName() string {
+ if x != nil {
+ return x.ShieldEffectName
+ }
+ return ""
+}
+
+var File_AbilityMixinGlobalShield_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinGlobalShield_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x47, 0x6c,
+ 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf2, 0x01, 0x0a, 0x18, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x68,
+ 0x69, 0x65, 0x6c, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e,
+ 0x69, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x09, 0x73, 0x75, 0x62, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23, 0x0a,
+ 0x0d, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4f, 0x66, 0x66, 0x73,
+ 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x2c,
+ 0x0a, 0x12, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, 0x69, 0x65,
+ 0x6c, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinGlobalShield_proto_rawDescOnce sync.Once
+ file_AbilityMixinGlobalShield_proto_rawDescData = file_AbilityMixinGlobalShield_proto_rawDesc
+)
+
+func file_AbilityMixinGlobalShield_proto_rawDescGZIP() []byte {
+ file_AbilityMixinGlobalShield_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinGlobalShield_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinGlobalShield_proto_rawDescData)
+ })
+ return file_AbilityMixinGlobalShield_proto_rawDescData
+}
+
+var file_AbilityMixinGlobalShield_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinGlobalShield_proto_goTypes = []interface{}{
+ (*AbilityMixinGlobalShield)(nil), // 0: proto.AbilityMixinGlobalShield
+}
+var file_AbilityMixinGlobalShield_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinGlobalShield_proto_init() }
+func file_AbilityMixinGlobalShield_proto_init() {
+ if File_AbilityMixinGlobalShield_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinGlobalShield_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinGlobalShield); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinGlobalShield_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinGlobalShield_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinGlobalShield_proto_depIdxs,
+ MessageInfos: file_AbilityMixinGlobalShield_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinGlobalShield_proto = out.File
+ file_AbilityMixinGlobalShield_proto_rawDesc = nil
+ file_AbilityMixinGlobalShield_proto_goTypes = nil
+ file_AbilityMixinGlobalShield_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinRecoverInfo.pb.go b/protocol/proto/AbilityMixinRecoverInfo.pb.go
new file mode 100644
index 00000000..5230ad4d
--- /dev/null
+++ b/protocol/proto/AbilityMixinRecoverInfo.pb.go
@@ -0,0 +1,251 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinRecoverInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinRecoverInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LocalId uint32 `protobuf:"varint,3,opt,name=local_id,json=localId,proto3" json:"local_id,omitempty"`
+ DataList []uint32 `protobuf:"varint,4,rep,packed,name=data_list,json=dataList,proto3" json:"data_list,omitempty"`
+ IsServerbuffModifier bool `protobuf:"varint,5,opt,name=is_serverbuff_modifier,json=isServerbuffModifier,proto3" json:"is_serverbuff_modifier,omitempty"`
+ MassivePropList []*MassivePropSyncInfo `protobuf:"bytes,6,rep,name=massive_prop_list,json=massivePropList,proto3" json:"massive_prop_list,omitempty"`
+ // Types that are assignable to Source:
+ //
+ // *AbilityMixinRecoverInfo_InstancedAbilityId
+ // *AbilityMixinRecoverInfo_InstancedModifierId
+ Source isAbilityMixinRecoverInfo_Source `protobuf_oneof:"source"`
+}
+
+func (x *AbilityMixinRecoverInfo) Reset() {
+ *x = AbilityMixinRecoverInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinRecoverInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinRecoverInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinRecoverInfo) ProtoMessage() {}
+
+func (x *AbilityMixinRecoverInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinRecoverInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinRecoverInfo.ProtoReflect.Descriptor instead.
+func (*AbilityMixinRecoverInfo) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinRecoverInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinRecoverInfo) GetLocalId() uint32 {
+ if x != nil {
+ return x.LocalId
+ }
+ return 0
+}
+
+func (x *AbilityMixinRecoverInfo) GetDataList() []uint32 {
+ if x != nil {
+ return x.DataList
+ }
+ return nil
+}
+
+func (x *AbilityMixinRecoverInfo) GetIsServerbuffModifier() bool {
+ if x != nil {
+ return x.IsServerbuffModifier
+ }
+ return false
+}
+
+func (x *AbilityMixinRecoverInfo) GetMassivePropList() []*MassivePropSyncInfo {
+ if x != nil {
+ return x.MassivePropList
+ }
+ return nil
+}
+
+func (m *AbilityMixinRecoverInfo) GetSource() isAbilityMixinRecoverInfo_Source {
+ if m != nil {
+ return m.Source
+ }
+ return nil
+}
+
+func (x *AbilityMixinRecoverInfo) GetInstancedAbilityId() uint32 {
+ if x, ok := x.GetSource().(*AbilityMixinRecoverInfo_InstancedAbilityId); ok {
+ return x.InstancedAbilityId
+ }
+ return 0
+}
+
+func (x *AbilityMixinRecoverInfo) GetInstancedModifierId() uint32 {
+ if x, ok := x.GetSource().(*AbilityMixinRecoverInfo_InstancedModifierId); ok {
+ return x.InstancedModifierId
+ }
+ return 0
+}
+
+type isAbilityMixinRecoverInfo_Source interface {
+ isAbilityMixinRecoverInfo_Source()
+}
+
+type AbilityMixinRecoverInfo_InstancedAbilityId struct {
+ InstancedAbilityId uint32 `protobuf:"varint,1,opt,name=instanced_ability_id,json=instancedAbilityId,proto3,oneof"`
+}
+
+type AbilityMixinRecoverInfo_InstancedModifierId struct {
+ InstancedModifierId uint32 `protobuf:"varint,2,opt,name=instanced_modifier_id,json=instancedModifierId,proto3,oneof"`
+}
+
+func (*AbilityMixinRecoverInfo_InstancedAbilityId) isAbilityMixinRecoverInfo_Source() {}
+
+func (*AbilityMixinRecoverInfo_InstancedModifierId) isAbilityMixinRecoverInfo_Source() {}
+
+var File_AbilityMixinRecoverInfo_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinRecoverInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x52, 0x65,
+ 0x63, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x50,
+ 0x72, 0x6f, 0x70, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc3, 0x02, 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78,
+ 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a,
+ 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61, 0x74,
+ 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62,
+ 0x75, 0x66, 0x66, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x46, 0x0a, 0x11, 0x6d,
+ 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0f, 0x6d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64,
+ 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x48, 0x00, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61,
+ 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
+ 0x63, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x49, 0x64, 0x42, 0x08, 0x0a,
+ 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinRecoverInfo_proto_rawDescOnce sync.Once
+ file_AbilityMixinRecoverInfo_proto_rawDescData = file_AbilityMixinRecoverInfo_proto_rawDesc
+)
+
+func file_AbilityMixinRecoverInfo_proto_rawDescGZIP() []byte {
+ file_AbilityMixinRecoverInfo_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinRecoverInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinRecoverInfo_proto_rawDescData)
+ })
+ return file_AbilityMixinRecoverInfo_proto_rawDescData
+}
+
+var file_AbilityMixinRecoverInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinRecoverInfo_proto_goTypes = []interface{}{
+ (*AbilityMixinRecoverInfo)(nil), // 0: proto.AbilityMixinRecoverInfo
+ (*MassivePropSyncInfo)(nil), // 1: proto.MassivePropSyncInfo
+}
+var file_AbilityMixinRecoverInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMixinRecoverInfo.massive_prop_list:type_name -> proto.MassivePropSyncInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinRecoverInfo_proto_init() }
+func file_AbilityMixinRecoverInfo_proto_init() {
+ if File_AbilityMixinRecoverInfo_proto != nil {
+ return
+ }
+ file_MassivePropSyncInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinRecoverInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinRecoverInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_AbilityMixinRecoverInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*AbilityMixinRecoverInfo_InstancedAbilityId)(nil),
+ (*AbilityMixinRecoverInfo_InstancedModifierId)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinRecoverInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinRecoverInfo_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinRecoverInfo_proto_depIdxs,
+ MessageInfos: file_AbilityMixinRecoverInfo_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinRecoverInfo_proto = out.File
+ file_AbilityMixinRecoverInfo_proto_rawDesc = nil
+ file_AbilityMixinRecoverInfo_proto_goTypes = nil
+ file_AbilityMixinRecoverInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinScenePropSync.pb.go b/protocol/proto/AbilityMixinScenePropSync.pb.go
new file mode 100644
index 00000000..0d13f764
--- /dev/null
+++ b/protocol/proto/AbilityMixinScenePropSync.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinScenePropSync.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinScenePropSync struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeleteIdList []int64 `protobuf:"varint,5,rep,packed,name=delete_id_list,json=deleteIdList,proto3" json:"delete_id_list,omitempty"`
+ IsClearAll bool `protobuf:"varint,12,opt,name=is_clear_all,json=isClearAll,proto3" json:"is_clear_all,omitempty"`
+ MassivePropList []*MassivePropSyncInfo `protobuf:"bytes,15,rep,name=massive_prop_list,json=massivePropList,proto3" json:"massive_prop_list,omitempty"`
+}
+
+func (x *AbilityMixinScenePropSync) Reset() {
+ *x = AbilityMixinScenePropSync{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinScenePropSync_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinScenePropSync) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinScenePropSync) ProtoMessage() {}
+
+func (x *AbilityMixinScenePropSync) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinScenePropSync_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinScenePropSync.ProtoReflect.Descriptor instead.
+func (*AbilityMixinScenePropSync) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinScenePropSync_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinScenePropSync) GetDeleteIdList() []int64 {
+ if x != nil {
+ return x.DeleteIdList
+ }
+ return nil
+}
+
+func (x *AbilityMixinScenePropSync) GetIsClearAll() bool {
+ if x != nil {
+ return x.IsClearAll
+ }
+ return false
+}
+
+func (x *AbilityMixinScenePropSync) GetMassivePropList() []*MassivePropSyncInfo {
+ if x != nil {
+ return x.MassivePropList
+ }
+ return nil
+}
+
+var File_AbilityMixinScenePropSync_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinScenePropSync_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x53, 0x79, 0x6e, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76,
+ 0x65, 0x50, 0x72, 0x6f, 0x70, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x19, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d,
+ 0x69, 0x78, 0x69, 0x6e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x53, 0x79, 0x6e,
+ 0x63, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6c,
+ 0x65, 0x61, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69,
+ 0x73, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x12, 0x46, 0x0a, 0x11, 0x6d, 0x61, 0x73,
+ 0x73, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x73,
+ 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0f, 0x6d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinScenePropSync_proto_rawDescOnce sync.Once
+ file_AbilityMixinScenePropSync_proto_rawDescData = file_AbilityMixinScenePropSync_proto_rawDesc
+)
+
+func file_AbilityMixinScenePropSync_proto_rawDescGZIP() []byte {
+ file_AbilityMixinScenePropSync_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinScenePropSync_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinScenePropSync_proto_rawDescData)
+ })
+ return file_AbilityMixinScenePropSync_proto_rawDescData
+}
+
+var file_AbilityMixinScenePropSync_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinScenePropSync_proto_goTypes = []interface{}{
+ (*AbilityMixinScenePropSync)(nil), // 0: proto.AbilityMixinScenePropSync
+ (*MassivePropSyncInfo)(nil), // 1: proto.MassivePropSyncInfo
+}
+var file_AbilityMixinScenePropSync_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMixinScenePropSync.massive_prop_list:type_name -> proto.MassivePropSyncInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinScenePropSync_proto_init() }
+func file_AbilityMixinScenePropSync_proto_init() {
+ if File_AbilityMixinScenePropSync_proto != nil {
+ return
+ }
+ file_MassivePropSyncInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinScenePropSync_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinScenePropSync); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinScenePropSync_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinScenePropSync_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinScenePropSync_proto_depIdxs,
+ MessageInfos: file_AbilityMixinScenePropSync_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinScenePropSync_proto = out.File
+ file_AbilityMixinScenePropSync_proto_rawDesc = nil
+ file_AbilityMixinScenePropSync_proto_goTypes = nil
+ file_AbilityMixinScenePropSync_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinShieldBar.pb.go b/protocol/proto/AbilityMixinShieldBar.pb.go
new file mode 100644
index 00000000..f1bfdd23
--- /dev/null
+++ b/protocol/proto/AbilityMixinShieldBar.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinShieldBar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinShieldBar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerNum uint32 `protobuf:"varint,14,opt,name=player_num,json=playerNum,proto3" json:"player_num,omitempty"`
+ MaxShield float32 `protobuf:"fixed32,15,opt,name=max_shield,json=maxShield,proto3" json:"max_shield,omitempty"`
+ Shield float32 `protobuf:"fixed32,12,opt,name=shield,proto3" json:"shield,omitempty"`
+ ElementType uint32 `protobuf:"varint,13,opt,name=element_type,json=elementType,proto3" json:"element_type,omitempty"`
+}
+
+func (x *AbilityMixinShieldBar) Reset() {
+ *x = AbilityMixinShieldBar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinShieldBar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinShieldBar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinShieldBar) ProtoMessage() {}
+
+func (x *AbilityMixinShieldBar) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinShieldBar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinShieldBar.ProtoReflect.Descriptor instead.
+func (*AbilityMixinShieldBar) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinShieldBar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinShieldBar) GetPlayerNum() uint32 {
+ if x != nil {
+ return x.PlayerNum
+ }
+ return 0
+}
+
+func (x *AbilityMixinShieldBar) GetMaxShield() float32 {
+ if x != nil {
+ return x.MaxShield
+ }
+ return 0
+}
+
+func (x *AbilityMixinShieldBar) GetShield() float32 {
+ if x != nil {
+ return x.Shield
+ }
+ return 0
+}
+
+func (x *AbilityMixinShieldBar) GetElementType() uint32 {
+ if x != nil {
+ return x.ElementType
+ }
+ return 0
+}
+
+var File_AbilityMixinShieldBar_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinShieldBar_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x53, 0x68,
+ 0x69, 0x65, 0x6c, 0x64, 0x42, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x15, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x61, 0x72, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x16, 0x0a, 0x06,
+ 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x73, 0x68,
+ 0x69, 0x65, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinShieldBar_proto_rawDescOnce sync.Once
+ file_AbilityMixinShieldBar_proto_rawDescData = file_AbilityMixinShieldBar_proto_rawDesc
+)
+
+func file_AbilityMixinShieldBar_proto_rawDescGZIP() []byte {
+ file_AbilityMixinShieldBar_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinShieldBar_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinShieldBar_proto_rawDescData)
+ })
+ return file_AbilityMixinShieldBar_proto_rawDescData
+}
+
+var file_AbilityMixinShieldBar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinShieldBar_proto_goTypes = []interface{}{
+ (*AbilityMixinShieldBar)(nil), // 0: proto.AbilityMixinShieldBar
+}
+var file_AbilityMixinShieldBar_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinShieldBar_proto_init() }
+func file_AbilityMixinShieldBar_proto_init() {
+ if File_AbilityMixinShieldBar_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinShieldBar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinShieldBar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinShieldBar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinShieldBar_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinShieldBar_proto_depIdxs,
+ MessageInfos: file_AbilityMixinShieldBar_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinShieldBar_proto = out.File
+ file_AbilityMixinShieldBar_proto_rawDesc = nil
+ file_AbilityMixinShieldBar_proto_goTypes = nil
+ file_AbilityMixinShieldBar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinShootFromCamera.pb.go b/protocol/proto/AbilityMixinShootFromCamera.pb.go
new file mode 100644
index 00000000..9b96b91e
--- /dev/null
+++ b/protocol/proto/AbilityMixinShootFromCamera.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinShootFromCamera.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinShootFromCamera struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InitPos *Vector `protobuf:"bytes,13,opt,name=init_pos,json=initPos,proto3" json:"init_pos,omitempty"`
+ Forward *Vector `protobuf:"bytes,2,opt,name=forward,proto3" json:"forward,omitempty"`
+}
+
+func (x *AbilityMixinShootFromCamera) Reset() {
+ *x = AbilityMixinShootFromCamera{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinShootFromCamera_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinShootFromCamera) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinShootFromCamera) ProtoMessage() {}
+
+func (x *AbilityMixinShootFromCamera) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinShootFromCamera_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinShootFromCamera.ProtoReflect.Descriptor instead.
+func (*AbilityMixinShootFromCamera) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinShootFromCamera_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinShootFromCamera) GetInitPos() *Vector {
+ if x != nil {
+ return x.InitPos
+ }
+ return nil
+}
+
+func (x *AbilityMixinShootFromCamera) GetForward() *Vector {
+ if x != nil {
+ return x.Forward
+ }
+ return nil
+}
+
+var File_AbilityMixinShootFromCamera_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinShootFromCamera_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x53, 0x68,
+ 0x6f, 0x6f, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x1b, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x53, 0x68, 0x6f, 0x6f, 0x74, 0x46, 0x72, 0x6f,
+ 0x6d, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x12, 0x28, 0x0a, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x5f,
+ 0x70, 0x6f, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x50, 0x6f,
+ 0x73, 0x12, 0x27, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinShootFromCamera_proto_rawDescOnce sync.Once
+ file_AbilityMixinShootFromCamera_proto_rawDescData = file_AbilityMixinShootFromCamera_proto_rawDesc
+)
+
+func file_AbilityMixinShootFromCamera_proto_rawDescGZIP() []byte {
+ file_AbilityMixinShootFromCamera_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinShootFromCamera_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinShootFromCamera_proto_rawDescData)
+ })
+ return file_AbilityMixinShootFromCamera_proto_rawDescData
+}
+
+var file_AbilityMixinShootFromCamera_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinShootFromCamera_proto_goTypes = []interface{}{
+ (*AbilityMixinShootFromCamera)(nil), // 0: proto.AbilityMixinShootFromCamera
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AbilityMixinShootFromCamera_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMixinShootFromCamera.init_pos:type_name -> proto.Vector
+ 1, // 1: proto.AbilityMixinShootFromCamera.forward:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinShootFromCamera_proto_init() }
+func file_AbilityMixinShootFromCamera_proto_init() {
+ if File_AbilityMixinShootFromCamera_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinShootFromCamera_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinShootFromCamera); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinShootFromCamera_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinShootFromCamera_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinShootFromCamera_proto_depIdxs,
+ MessageInfos: file_AbilityMixinShootFromCamera_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinShootFromCamera_proto = out.File
+ file_AbilityMixinShootFromCamera_proto_rawDesc = nil
+ file_AbilityMixinShootFromCamera_proto_goTypes = nil
+ file_AbilityMixinShootFromCamera_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinUGCTimeControl.pb.go b/protocol/proto/AbilityMixinUGCTimeControl.pb.go
new file mode 100644
index 00000000..310fcbe1
--- /dev/null
+++ b/protocol/proto/AbilityMixinUGCTimeControl.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinUGCTimeControl.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinUGCTimeControl struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StartMoveTimeMs uint64 `protobuf:"varint,13,opt,name=start_move_time_ms,json=startMoveTimeMs,proto3" json:"start_move_time_ms,omitempty"`
+ Forward uint32 `protobuf:"varint,3,opt,name=forward,proto3" json:"forward,omitempty"`
+}
+
+func (x *AbilityMixinUGCTimeControl) Reset() {
+ *x = AbilityMixinUGCTimeControl{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinUGCTimeControl_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinUGCTimeControl) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinUGCTimeControl) ProtoMessage() {}
+
+func (x *AbilityMixinUGCTimeControl) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinUGCTimeControl_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinUGCTimeControl.ProtoReflect.Descriptor instead.
+func (*AbilityMixinUGCTimeControl) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinUGCTimeControl_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinUGCTimeControl) GetStartMoveTimeMs() uint64 {
+ if x != nil {
+ return x.StartMoveTimeMs
+ }
+ return 0
+}
+
+func (x *AbilityMixinUGCTimeControl) GetForward() uint32 {
+ if x != nil {
+ return x.Forward
+ }
+ return 0
+}
+
+var File_AbilityMixinUGCTimeControl_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinUGCTimeControl_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x55, 0x47,
+ 0x43, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x1a, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x55, 0x47, 0x43, 0x54, 0x69, 0x6d, 0x65,
+ 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinUGCTimeControl_proto_rawDescOnce sync.Once
+ file_AbilityMixinUGCTimeControl_proto_rawDescData = file_AbilityMixinUGCTimeControl_proto_rawDesc
+)
+
+func file_AbilityMixinUGCTimeControl_proto_rawDescGZIP() []byte {
+ file_AbilityMixinUGCTimeControl_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinUGCTimeControl_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinUGCTimeControl_proto_rawDescData)
+ })
+ return file_AbilityMixinUGCTimeControl_proto_rawDescData
+}
+
+var file_AbilityMixinUGCTimeControl_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinUGCTimeControl_proto_goTypes = []interface{}{
+ (*AbilityMixinUGCTimeControl)(nil), // 0: proto.AbilityMixinUGCTimeControl
+}
+var file_AbilityMixinUGCTimeControl_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinUGCTimeControl_proto_init() }
+func file_AbilityMixinUGCTimeControl_proto_init() {
+ if File_AbilityMixinUGCTimeControl_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinUGCTimeControl_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinUGCTimeControl); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinUGCTimeControl_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinUGCTimeControl_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinUGCTimeControl_proto_depIdxs,
+ MessageInfos: file_AbilityMixinUGCTimeControl_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinUGCTimeControl_proto = out.File
+ file_AbilityMixinUGCTimeControl_proto_rawDesc = nil
+ file_AbilityMixinUGCTimeControl_proto_goTypes = nil
+ file_AbilityMixinUGCTimeControl_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinUIInteract.pb.go b/protocol/proto/AbilityMixinUIInteract.pb.go
new file mode 100644
index 00000000..8961550a
--- /dev/null
+++ b/protocol/proto/AbilityMixinUIInteract.pb.go
@@ -0,0 +1,149 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinUIInteract.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinUIInteract struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *AbilityMixinUIInteract) Reset() {
+ *x = AbilityMixinUIInteract{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinUIInteract_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinUIInteract) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinUIInteract) ProtoMessage() {}
+
+func (x *AbilityMixinUIInteract) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinUIInteract_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinUIInteract.ProtoReflect.Descriptor instead.
+func (*AbilityMixinUIInteract) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinUIInteract_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AbilityMixinUIInteract_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinUIInteract_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x55, 0x49,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x55, 0x49, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinUIInteract_proto_rawDescOnce sync.Once
+ file_AbilityMixinUIInteract_proto_rawDescData = file_AbilityMixinUIInteract_proto_rawDesc
+)
+
+func file_AbilityMixinUIInteract_proto_rawDescGZIP() []byte {
+ file_AbilityMixinUIInteract_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinUIInteract_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinUIInteract_proto_rawDescData)
+ })
+ return file_AbilityMixinUIInteract_proto_rawDescData
+}
+
+var file_AbilityMixinUIInteract_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinUIInteract_proto_goTypes = []interface{}{
+ (*AbilityMixinUIInteract)(nil), // 0: proto.AbilityMixinUIInteract
+}
+var file_AbilityMixinUIInteract_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinUIInteract_proto_init() }
+func file_AbilityMixinUIInteract_proto_init() {
+ if File_AbilityMixinUIInteract_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinUIInteract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinUIInteract); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinUIInteract_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinUIInteract_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinUIInteract_proto_depIdxs,
+ MessageInfos: file_AbilityMixinUIInteract_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinUIInteract_proto = out.File
+ file_AbilityMixinUIInteract_proto_rawDesc = nil
+ file_AbilityMixinUIInteract_proto_goTypes = nil
+ file_AbilityMixinUIInteract_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinWidgetMpSupport.pb.go b/protocol/proto/AbilityMixinWidgetMpSupport.pb.go
new file mode 100644
index 00000000..bc596428
--- /dev/null
+++ b/protocol/proto/AbilityMixinWidgetMpSupport.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinWidgetMpSupport.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinWidgetMpSupport struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetEntityId uint32 `protobuf:"varint,9,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+}
+
+func (x *AbilityMixinWidgetMpSupport) Reset() {
+ *x = AbilityMixinWidgetMpSupport{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinWidgetMpSupport_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinWidgetMpSupport) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinWidgetMpSupport) ProtoMessage() {}
+
+func (x *AbilityMixinWidgetMpSupport) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinWidgetMpSupport_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinWidgetMpSupport.ProtoReflect.Descriptor instead.
+func (*AbilityMixinWidgetMpSupport) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinWidgetMpSupport_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinWidgetMpSupport) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+var File_AbilityMixinWidgetMpSupport_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinWidgetMpSupport_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x57, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x4d, 0x70, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x1b, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x4d, 0x70, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinWidgetMpSupport_proto_rawDescOnce sync.Once
+ file_AbilityMixinWidgetMpSupport_proto_rawDescData = file_AbilityMixinWidgetMpSupport_proto_rawDesc
+)
+
+func file_AbilityMixinWidgetMpSupport_proto_rawDescGZIP() []byte {
+ file_AbilityMixinWidgetMpSupport_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinWidgetMpSupport_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinWidgetMpSupport_proto_rawDescData)
+ })
+ return file_AbilityMixinWidgetMpSupport_proto_rawDescData
+}
+
+var file_AbilityMixinWidgetMpSupport_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinWidgetMpSupport_proto_goTypes = []interface{}{
+ (*AbilityMixinWidgetMpSupport)(nil), // 0: proto.AbilityMixinWidgetMpSupport
+}
+var file_AbilityMixinWidgetMpSupport_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinWidgetMpSupport_proto_init() }
+func file_AbilityMixinWidgetMpSupport_proto_init() {
+ if File_AbilityMixinWidgetMpSupport_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinWidgetMpSupport_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinWidgetMpSupport); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinWidgetMpSupport_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinWidgetMpSupport_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinWidgetMpSupport_proto_depIdxs,
+ MessageInfos: file_AbilityMixinWidgetMpSupport_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinWidgetMpSupport_proto = out.File
+ file_AbilityMixinWidgetMpSupport_proto_rawDesc = nil
+ file_AbilityMixinWidgetMpSupport_proto_goTypes = nil
+ file_AbilityMixinWidgetMpSupport_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinWindSeedSpawner.pb.go b/protocol/proto/AbilityMixinWindSeedSpawner.pb.go
new file mode 100644
index 00000000..0ca51c39
--- /dev/null
+++ b/protocol/proto/AbilityMixinWindSeedSpawner.pb.go
@@ -0,0 +1,412 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinWindSeedSpawner.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinWindSeedSpawner struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Cmd:
+ //
+ // *AbilityMixinWindSeedSpawner_AddSignal_
+ // *AbilityMixinWindSeedSpawner_RefreshSeed_
+ // *AbilityMixinWindSeedSpawner_CatchSeed_
+ Cmd isAbilityMixinWindSeedSpawner_Cmd `protobuf_oneof:"cmd"`
+}
+
+func (x *AbilityMixinWindSeedSpawner) Reset() {
+ *x = AbilityMixinWindSeedSpawner{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinWindSeedSpawner_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinWindSeedSpawner) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinWindSeedSpawner) ProtoMessage() {}
+
+func (x *AbilityMixinWindSeedSpawner) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinWindSeedSpawner_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinWindSeedSpawner.ProtoReflect.Descriptor instead.
+func (*AbilityMixinWindSeedSpawner) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinWindSeedSpawner_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *AbilityMixinWindSeedSpawner) GetCmd() isAbilityMixinWindSeedSpawner_Cmd {
+ if m != nil {
+ return m.Cmd
+ }
+ return nil
+}
+
+func (x *AbilityMixinWindSeedSpawner) GetAddSignal() *AbilityMixinWindSeedSpawner_AddSignal {
+ if x, ok := x.GetCmd().(*AbilityMixinWindSeedSpawner_AddSignal_); ok {
+ return x.AddSignal
+ }
+ return nil
+}
+
+func (x *AbilityMixinWindSeedSpawner) GetRefreshSeed() *AbilityMixinWindSeedSpawner_RefreshSeed {
+ if x, ok := x.GetCmd().(*AbilityMixinWindSeedSpawner_RefreshSeed_); ok {
+ return x.RefreshSeed
+ }
+ return nil
+}
+
+func (x *AbilityMixinWindSeedSpawner) GetCatchSeed() *AbilityMixinWindSeedSpawner_CatchSeed {
+ if x, ok := x.GetCmd().(*AbilityMixinWindSeedSpawner_CatchSeed_); ok {
+ return x.CatchSeed
+ }
+ return nil
+}
+
+type isAbilityMixinWindSeedSpawner_Cmd interface {
+ isAbilityMixinWindSeedSpawner_Cmd()
+}
+
+type AbilityMixinWindSeedSpawner_AddSignal_ struct {
+ AddSignal *AbilityMixinWindSeedSpawner_AddSignal `protobuf:"bytes,2,opt,name=add_signal,json=addSignal,proto3,oneof"`
+}
+
+type AbilityMixinWindSeedSpawner_RefreshSeed_ struct {
+ RefreshSeed *AbilityMixinWindSeedSpawner_RefreshSeed `protobuf:"bytes,15,opt,name=refresh_seed,json=refreshSeed,proto3,oneof"`
+}
+
+type AbilityMixinWindSeedSpawner_CatchSeed_ struct {
+ CatchSeed *AbilityMixinWindSeedSpawner_CatchSeed `protobuf:"bytes,11,opt,name=catch_seed,json=catchSeed,proto3,oneof"`
+}
+
+func (*AbilityMixinWindSeedSpawner_AddSignal_) isAbilityMixinWindSeedSpawner_Cmd() {}
+
+func (*AbilityMixinWindSeedSpawner_RefreshSeed_) isAbilityMixinWindSeedSpawner_Cmd() {}
+
+func (*AbilityMixinWindSeedSpawner_CatchSeed_) isAbilityMixinWindSeedSpawner_Cmd() {}
+
+type AbilityMixinWindSeedSpawner_AddSignal struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *AbilityMixinWindSeedSpawner_AddSignal) Reset() {
+ *x = AbilityMixinWindSeedSpawner_AddSignal{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinWindSeedSpawner_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinWindSeedSpawner_AddSignal) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinWindSeedSpawner_AddSignal) ProtoMessage() {}
+
+func (x *AbilityMixinWindSeedSpawner_AddSignal) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinWindSeedSpawner_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinWindSeedSpawner_AddSignal.ProtoReflect.Descriptor instead.
+func (*AbilityMixinWindSeedSpawner_AddSignal) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinWindSeedSpawner_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type AbilityMixinWindSeedSpawner_RefreshSeed struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PosList []*Vector `protobuf:"bytes,6,rep,name=pos_list,json=posList,proto3" json:"pos_list,omitempty"`
+}
+
+func (x *AbilityMixinWindSeedSpawner_RefreshSeed) Reset() {
+ *x = AbilityMixinWindSeedSpawner_RefreshSeed{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinWindSeedSpawner_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinWindSeedSpawner_RefreshSeed) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinWindSeedSpawner_RefreshSeed) ProtoMessage() {}
+
+func (x *AbilityMixinWindSeedSpawner_RefreshSeed) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinWindSeedSpawner_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinWindSeedSpawner_RefreshSeed.ProtoReflect.Descriptor instead.
+func (*AbilityMixinWindSeedSpawner_RefreshSeed) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinWindSeedSpawner_proto_rawDescGZIP(), []int{0, 1}
+}
+
+func (x *AbilityMixinWindSeedSpawner_RefreshSeed) GetPosList() []*Vector {
+ if x != nil {
+ return x.PosList
+ }
+ return nil
+}
+
+type AbilityMixinWindSeedSpawner_CatchSeed struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *AbilityMixinWindSeedSpawner_CatchSeed) Reset() {
+ *x = AbilityMixinWindSeedSpawner_CatchSeed{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinWindSeedSpawner_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinWindSeedSpawner_CatchSeed) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinWindSeedSpawner_CatchSeed) ProtoMessage() {}
+
+func (x *AbilityMixinWindSeedSpawner_CatchSeed) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinWindSeedSpawner_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinWindSeedSpawner_CatchSeed.ProtoReflect.Descriptor instead.
+func (*AbilityMixinWindSeedSpawner_CatchSeed) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinWindSeedSpawner_proto_rawDescGZIP(), []int{0, 2}
+}
+
+func (x *AbilityMixinWindSeedSpawner_CatchSeed) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_AbilityMixinWindSeedSpawner_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinWindSeedSpawner_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x57, 0x69,
+ 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x03, 0x0a, 0x1b, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x65,
+ 0x64, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x5f,
+ 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69,
+ 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x65, 0x72,
+ 0x2e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x09, 0x61, 0x64,
+ 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78,
+ 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x65,
+ 0x72, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x65, 0x65, 0x64, 0x48, 0x00, 0x52,
+ 0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x53, 0x65, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x0a,
+ 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x53, 0x70, 0x61,
+ 0x77, 0x6e, 0x65, 0x72, 0x2e, 0x43, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x65, 0x64, 0x48, 0x00,
+ 0x52, 0x09, 0x63, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x65, 0x64, 0x1a, 0x0b, 0x0a, 0x09, 0x41,
+ 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x1a, 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x66, 0x72,
+ 0x65, 0x73, 0x68, 0x53, 0x65, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x4c, 0x69, 0x73,
+ 0x74, 0x1a, 0x28, 0x0a, 0x09, 0x43, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x63,
+ 0x6d, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinWindSeedSpawner_proto_rawDescOnce sync.Once
+ file_AbilityMixinWindSeedSpawner_proto_rawDescData = file_AbilityMixinWindSeedSpawner_proto_rawDesc
+)
+
+func file_AbilityMixinWindSeedSpawner_proto_rawDescGZIP() []byte {
+ file_AbilityMixinWindSeedSpawner_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinWindSeedSpawner_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinWindSeedSpawner_proto_rawDescData)
+ })
+ return file_AbilityMixinWindSeedSpawner_proto_rawDescData
+}
+
+var file_AbilityMixinWindSeedSpawner_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_AbilityMixinWindSeedSpawner_proto_goTypes = []interface{}{
+ (*AbilityMixinWindSeedSpawner)(nil), // 0: proto.AbilityMixinWindSeedSpawner
+ (*AbilityMixinWindSeedSpawner_AddSignal)(nil), // 1: proto.AbilityMixinWindSeedSpawner.AddSignal
+ (*AbilityMixinWindSeedSpawner_RefreshSeed)(nil), // 2: proto.AbilityMixinWindSeedSpawner.RefreshSeed
+ (*AbilityMixinWindSeedSpawner_CatchSeed)(nil), // 3: proto.AbilityMixinWindSeedSpawner.CatchSeed
+ (*Vector)(nil), // 4: proto.Vector
+}
+var file_AbilityMixinWindSeedSpawner_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityMixinWindSeedSpawner.add_signal:type_name -> proto.AbilityMixinWindSeedSpawner.AddSignal
+ 2, // 1: proto.AbilityMixinWindSeedSpawner.refresh_seed:type_name -> proto.AbilityMixinWindSeedSpawner.RefreshSeed
+ 3, // 2: proto.AbilityMixinWindSeedSpawner.catch_seed:type_name -> proto.AbilityMixinWindSeedSpawner.CatchSeed
+ 4, // 3: proto.AbilityMixinWindSeedSpawner.RefreshSeed.pos_list:type_name -> proto.Vector
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinWindSeedSpawner_proto_init() }
+func file_AbilityMixinWindSeedSpawner_proto_init() {
+ if File_AbilityMixinWindSeedSpawner_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinWindSeedSpawner_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinWindSeedSpawner); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_AbilityMixinWindSeedSpawner_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinWindSeedSpawner_AddSignal); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_AbilityMixinWindSeedSpawner_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinWindSeedSpawner_RefreshSeed); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_AbilityMixinWindSeedSpawner_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinWindSeedSpawner_CatchSeed); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_AbilityMixinWindSeedSpawner_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*AbilityMixinWindSeedSpawner_AddSignal_)(nil),
+ (*AbilityMixinWindSeedSpawner_RefreshSeed_)(nil),
+ (*AbilityMixinWindSeedSpawner_CatchSeed_)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinWindSeedSpawner_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinWindSeedSpawner_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinWindSeedSpawner_proto_depIdxs,
+ MessageInfos: file_AbilityMixinWindSeedSpawner_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinWindSeedSpawner_proto = out.File
+ file_AbilityMixinWindSeedSpawner_proto_rawDesc = nil
+ file_AbilityMixinWindSeedSpawner_proto_goTypes = nil
+ file_AbilityMixinWindSeedSpawner_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityMixinWindZone.pb.go b/protocol/proto/AbilityMixinWindZone.pb.go
new file mode 100644
index 00000000..727b3b7f
--- /dev/null
+++ b/protocol/proto/AbilityMixinWindZone.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityMixinWindZone.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityMixinWindZone struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityIds []uint32 `protobuf:"varint,13,rep,packed,name=entity_ids,json=entityIds,proto3" json:"entity_ids,omitempty"`
+ ZoneIdList []uint32 `protobuf:"varint,10,rep,packed,name=zone_id_list,json=zoneIdList,proto3" json:"zone_id_list,omitempty"`
+}
+
+func (x *AbilityMixinWindZone) Reset() {
+ *x = AbilityMixinWindZone{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityMixinWindZone_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityMixinWindZone) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityMixinWindZone) ProtoMessage() {}
+
+func (x *AbilityMixinWindZone) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityMixinWindZone_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityMixinWindZone.ProtoReflect.Descriptor instead.
+func (*AbilityMixinWindZone) Descriptor() ([]byte, []int) {
+ return file_AbilityMixinWindZone_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityMixinWindZone) GetEntityIds() []uint32 {
+ if x != nil {
+ return x.EntityIds
+ }
+ return nil
+}
+
+func (x *AbilityMixinWindZone) GetZoneIdList() []uint32 {
+ if x != nil {
+ return x.ZoneIdList
+ }
+ return nil
+}
+
+var File_AbilityMixinWindZone_proto protoreflect.FileDescriptor
+
+var file_AbilityMixinWindZone_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x57, 0x69,
+ 0x6e, 0x64, 0x5a, 0x6f, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x14, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69,
+ 0x78, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x7a, 0x6f,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0a, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityMixinWindZone_proto_rawDescOnce sync.Once
+ file_AbilityMixinWindZone_proto_rawDescData = file_AbilityMixinWindZone_proto_rawDesc
+)
+
+func file_AbilityMixinWindZone_proto_rawDescGZIP() []byte {
+ file_AbilityMixinWindZone_proto_rawDescOnce.Do(func() {
+ file_AbilityMixinWindZone_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityMixinWindZone_proto_rawDescData)
+ })
+ return file_AbilityMixinWindZone_proto_rawDescData
+}
+
+var file_AbilityMixinWindZone_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityMixinWindZone_proto_goTypes = []interface{}{
+ (*AbilityMixinWindZone)(nil), // 0: proto.AbilityMixinWindZone
+}
+var file_AbilityMixinWindZone_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityMixinWindZone_proto_init() }
+func file_AbilityMixinWindZone_proto_init() {
+ if File_AbilityMixinWindZone_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityMixinWindZone_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityMixinWindZone); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityMixinWindZone_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityMixinWindZone_proto_goTypes,
+ DependencyIndexes: file_AbilityMixinWindZone_proto_depIdxs,
+ MessageInfos: file_AbilityMixinWindZone_proto_msgTypes,
+ }.Build()
+ File_AbilityMixinWindZone_proto = out.File
+ file_AbilityMixinWindZone_proto_rawDesc = nil
+ file_AbilityMixinWindZone_proto_goTypes = nil
+ file_AbilityMixinWindZone_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityScalarType.pb.go b/protocol/proto/AbilityScalarType.pb.go
new file mode 100644
index 00000000..0b04ef07
--- /dev/null
+++ b/protocol/proto/AbilityScalarType.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityScalarType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityScalarType int32
+
+const (
+ AbilityScalarType_ABILITY_SCALAR_TYPE_UNKNOWN AbilityScalarType = 0
+ AbilityScalarType_ABILITY_SCALAR_TYPE_FLOAT AbilityScalarType = 1
+ AbilityScalarType_ABILITY_SCALAR_TYPE_INT AbilityScalarType = 2
+ AbilityScalarType_ABILITY_SCALAR_TYPE_BOOL AbilityScalarType = 3
+ AbilityScalarType_ABILITY_SCALAR_TYPE_TRIGGER AbilityScalarType = 4
+ AbilityScalarType_ABILITY_SCALAR_TYPE_STRING AbilityScalarType = 5
+ AbilityScalarType_ABILITY_SCALAR_TYPE_UINT AbilityScalarType = 6
+)
+
+// Enum value maps for AbilityScalarType.
+var (
+ AbilityScalarType_name = map[int32]string{
+ 0: "ABILITY_SCALAR_TYPE_UNKNOWN",
+ 1: "ABILITY_SCALAR_TYPE_FLOAT",
+ 2: "ABILITY_SCALAR_TYPE_INT",
+ 3: "ABILITY_SCALAR_TYPE_BOOL",
+ 4: "ABILITY_SCALAR_TYPE_TRIGGER",
+ 5: "ABILITY_SCALAR_TYPE_STRING",
+ 6: "ABILITY_SCALAR_TYPE_UINT",
+ }
+ AbilityScalarType_value = map[string]int32{
+ "ABILITY_SCALAR_TYPE_UNKNOWN": 0,
+ "ABILITY_SCALAR_TYPE_FLOAT": 1,
+ "ABILITY_SCALAR_TYPE_INT": 2,
+ "ABILITY_SCALAR_TYPE_BOOL": 3,
+ "ABILITY_SCALAR_TYPE_TRIGGER": 4,
+ "ABILITY_SCALAR_TYPE_STRING": 5,
+ "ABILITY_SCALAR_TYPE_UINT": 6,
+ }
+)
+
+func (x AbilityScalarType) Enum() *AbilityScalarType {
+ p := new(AbilityScalarType)
+ *p = x
+ return p
+}
+
+func (x AbilityScalarType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AbilityScalarType) Descriptor() protoreflect.EnumDescriptor {
+ return file_AbilityScalarType_proto_enumTypes[0].Descriptor()
+}
+
+func (AbilityScalarType) Type() protoreflect.EnumType {
+ return &file_AbilityScalarType_proto_enumTypes[0]
+}
+
+func (x AbilityScalarType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AbilityScalarType.Descriptor instead.
+func (AbilityScalarType) EnumDescriptor() ([]byte, []int) {
+ return file_AbilityScalarType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AbilityScalarType_proto protoreflect.FileDescriptor
+
+var file_AbilityScalarType_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2a, 0xed, 0x01, 0x0a, 0x11, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c,
+ 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,
+ 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x42, 0x49, 0x4c, 0x49,
+ 0x54, 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46,
+ 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54,
+ 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e,
+ 0x54, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53,
+ 0x43, 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10,
+ 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x43, 0x41,
+ 0x4c, 0x41, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52,
+ 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x43,
+ 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47,
+ 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x43,
+ 0x41, 0x4c, 0x41, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x10, 0x06,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityScalarType_proto_rawDescOnce sync.Once
+ file_AbilityScalarType_proto_rawDescData = file_AbilityScalarType_proto_rawDesc
+)
+
+func file_AbilityScalarType_proto_rawDescGZIP() []byte {
+ file_AbilityScalarType_proto_rawDescOnce.Do(func() {
+ file_AbilityScalarType_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityScalarType_proto_rawDescData)
+ })
+ return file_AbilityScalarType_proto_rawDescData
+}
+
+var file_AbilityScalarType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_AbilityScalarType_proto_goTypes = []interface{}{
+ (AbilityScalarType)(0), // 0: proto.AbilityScalarType
+}
+var file_AbilityScalarType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityScalarType_proto_init() }
+func file_AbilityScalarType_proto_init() {
+ if File_AbilityScalarType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityScalarType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityScalarType_proto_goTypes,
+ DependencyIndexes: file_AbilityScalarType_proto_depIdxs,
+ EnumInfos: file_AbilityScalarType_proto_enumTypes,
+ }.Build()
+ File_AbilityScalarType_proto = out.File
+ file_AbilityScalarType_proto_rawDesc = nil
+ file_AbilityScalarType_proto_goTypes = nil
+ file_AbilityScalarType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityScalarValueEntry.pb.go b/protocol/proto/AbilityScalarValueEntry.pb.go
new file mode 100644
index 00000000..3c2517bc
--- /dev/null
+++ b/protocol/proto/AbilityScalarValueEntry.pb.go
@@ -0,0 +1,266 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityScalarValueEntry.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityScalarValueEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Key *AbilityString `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
+ ValueType AbilityScalarType `protobuf:"varint,2,opt,name=value_type,json=valueType,proto3,enum=proto.AbilityScalarType" json:"value_type,omitempty"`
+ // Types that are assignable to Value:
+ //
+ // *AbilityScalarValueEntry_FloatValue
+ // *AbilityScalarValueEntry_StringValue
+ // *AbilityScalarValueEntry_IntValue
+ // *AbilityScalarValueEntry_UintValue
+ Value isAbilityScalarValueEntry_Value `protobuf_oneof:"value"`
+}
+
+func (x *AbilityScalarValueEntry) Reset() {
+ *x = AbilityScalarValueEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityScalarValueEntry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityScalarValueEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityScalarValueEntry) ProtoMessage() {}
+
+func (x *AbilityScalarValueEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityScalarValueEntry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityScalarValueEntry.ProtoReflect.Descriptor instead.
+func (*AbilityScalarValueEntry) Descriptor() ([]byte, []int) {
+ return file_AbilityScalarValueEntry_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilityScalarValueEntry) GetKey() *AbilityString {
+ if x != nil {
+ return x.Key
+ }
+ return nil
+}
+
+func (x *AbilityScalarValueEntry) GetValueType() AbilityScalarType {
+ if x != nil {
+ return x.ValueType
+ }
+ return AbilityScalarType_ABILITY_SCALAR_TYPE_UNKNOWN
+}
+
+func (m *AbilityScalarValueEntry) GetValue() isAbilityScalarValueEntry_Value {
+ if m != nil {
+ return m.Value
+ }
+ return nil
+}
+
+func (x *AbilityScalarValueEntry) GetFloatValue() float32 {
+ if x, ok := x.GetValue().(*AbilityScalarValueEntry_FloatValue); ok {
+ return x.FloatValue
+ }
+ return 0
+}
+
+func (x *AbilityScalarValueEntry) GetStringValue() string {
+ if x, ok := x.GetValue().(*AbilityScalarValueEntry_StringValue); ok {
+ return x.StringValue
+ }
+ return ""
+}
+
+func (x *AbilityScalarValueEntry) GetIntValue() int32 {
+ if x, ok := x.GetValue().(*AbilityScalarValueEntry_IntValue); ok {
+ return x.IntValue
+ }
+ return 0
+}
+
+func (x *AbilityScalarValueEntry) GetUintValue() uint32 {
+ if x, ok := x.GetValue().(*AbilityScalarValueEntry_UintValue); ok {
+ return x.UintValue
+ }
+ return 0
+}
+
+type isAbilityScalarValueEntry_Value interface {
+ isAbilityScalarValueEntry_Value()
+}
+
+type AbilityScalarValueEntry_FloatValue struct {
+ FloatValue float32 `protobuf:"fixed32,3,opt,name=float_value,json=floatValue,proto3,oneof"`
+}
+
+type AbilityScalarValueEntry_StringValue struct {
+ StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3,oneof"`
+}
+
+type AbilityScalarValueEntry_IntValue struct {
+ IntValue int32 `protobuf:"varint,5,opt,name=int_value,json=intValue,proto3,oneof"`
+}
+
+type AbilityScalarValueEntry_UintValue struct {
+ UintValue uint32 `protobuf:"varint,6,opt,name=uint_value,json=uintValue,proto3,oneof"`
+}
+
+func (*AbilityScalarValueEntry_FloatValue) isAbilityScalarValueEntry_Value() {}
+
+func (*AbilityScalarValueEntry_StringValue) isAbilityScalarValueEntry_Value() {}
+
+func (*AbilityScalarValueEntry_IntValue) isAbilityScalarValueEntry_Value() {}
+
+func (*AbilityScalarValueEntry_UintValue) isAbilityScalarValueEntry_Value() {}
+
+var File_AbilityScalarValueEntry_proto protoreflect.FileDescriptor
+
+var file_AbilityScalarValueEntry_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53,
+ 0x63, 0x61, 0x6c, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x17, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c,
+ 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08,
+ 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x75, 0x69, 0x6e, 0x74,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09,
+ 0x75, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityScalarValueEntry_proto_rawDescOnce sync.Once
+ file_AbilityScalarValueEntry_proto_rawDescData = file_AbilityScalarValueEntry_proto_rawDesc
+)
+
+func file_AbilityScalarValueEntry_proto_rawDescGZIP() []byte {
+ file_AbilityScalarValueEntry_proto_rawDescOnce.Do(func() {
+ file_AbilityScalarValueEntry_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityScalarValueEntry_proto_rawDescData)
+ })
+ return file_AbilityScalarValueEntry_proto_rawDescData
+}
+
+var file_AbilityScalarValueEntry_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityScalarValueEntry_proto_goTypes = []interface{}{
+ (*AbilityScalarValueEntry)(nil), // 0: proto.AbilityScalarValueEntry
+ (*AbilityString)(nil), // 1: proto.AbilityString
+ (AbilityScalarType)(0), // 2: proto.AbilityScalarType
+}
+var file_AbilityScalarValueEntry_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilityScalarValueEntry.key:type_name -> proto.AbilityString
+ 2, // 1: proto.AbilityScalarValueEntry.value_type:type_name -> proto.AbilityScalarType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AbilityScalarValueEntry_proto_init() }
+func file_AbilityScalarValueEntry_proto_init() {
+ if File_AbilityScalarValueEntry_proto != nil {
+ return
+ }
+ file_AbilityScalarType_proto_init()
+ file_AbilityString_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityScalarValueEntry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityScalarValueEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_AbilityScalarValueEntry_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*AbilityScalarValueEntry_FloatValue)(nil),
+ (*AbilityScalarValueEntry_StringValue)(nil),
+ (*AbilityScalarValueEntry_IntValue)(nil),
+ (*AbilityScalarValueEntry_UintValue)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityScalarValueEntry_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityScalarValueEntry_proto_goTypes,
+ DependencyIndexes: file_AbilityScalarValueEntry_proto_depIdxs,
+ MessageInfos: file_AbilityScalarValueEntry_proto_msgTypes,
+ }.Build()
+ File_AbilityScalarValueEntry_proto = out.File
+ file_AbilityScalarValueEntry_proto_rawDesc = nil
+ file_AbilityScalarValueEntry_proto_goTypes = nil
+ file_AbilityScalarValueEntry_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilityString.pb.go b/protocol/proto/AbilityString.pb.go
new file mode 100644
index 00000000..f063f3f3
--- /dev/null
+++ b/protocol/proto/AbilityString.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilityString.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilityString struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Type:
+ //
+ // *AbilityString_Str
+ // *AbilityString_Hash
+ Type isAbilityString_Type `protobuf_oneof:"type"`
+}
+
+func (x *AbilityString) Reset() {
+ *x = AbilityString{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilityString_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilityString) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilityString) ProtoMessage() {}
+
+func (x *AbilityString) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilityString_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilityString.ProtoReflect.Descriptor instead.
+func (*AbilityString) Descriptor() ([]byte, []int) {
+ return file_AbilityString_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *AbilityString) GetType() isAbilityString_Type {
+ if m != nil {
+ return m.Type
+ }
+ return nil
+}
+
+func (x *AbilityString) GetStr() string {
+ if x, ok := x.GetType().(*AbilityString_Str); ok {
+ return x.Str
+ }
+ return ""
+}
+
+func (x *AbilityString) GetHash() uint32 {
+ if x, ok := x.GetType().(*AbilityString_Hash); ok {
+ return x.Hash
+ }
+ return 0
+}
+
+type isAbilityString_Type interface {
+ isAbilityString_Type()
+}
+
+type AbilityString_Str struct {
+ Str string `protobuf:"bytes,1,opt,name=str,proto3,oneof"`
+}
+
+type AbilityString_Hash struct {
+ Hash uint32 `protobuf:"varint,2,opt,name=hash,proto3,oneof"`
+}
+
+func (*AbilityString_Str) isAbilityString_Type() {}
+
+func (*AbilityString_Hash) isAbilityString_Type() {}
+
+var File_AbilityString_proto protoreflect.FileDescriptor
+
+var file_AbilityString_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x0d,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a,
+ 0x03, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74,
+ 0x72, 0x12, 0x14, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48,
+ 0x00, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilityString_proto_rawDescOnce sync.Once
+ file_AbilityString_proto_rawDescData = file_AbilityString_proto_rawDesc
+)
+
+func file_AbilityString_proto_rawDescGZIP() []byte {
+ file_AbilityString_proto_rawDescOnce.Do(func() {
+ file_AbilityString_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilityString_proto_rawDescData)
+ })
+ return file_AbilityString_proto_rawDescData
+}
+
+var file_AbilityString_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilityString_proto_goTypes = []interface{}{
+ (*AbilityString)(nil), // 0: proto.AbilityString
+}
+var file_AbilityString_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AbilityString_proto_init() }
+func file_AbilityString_proto_init() {
+ if File_AbilityString_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AbilityString_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilityString); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_AbilityString_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*AbilityString_Str)(nil),
+ (*AbilityString_Hash)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilityString_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilityString_proto_goTypes,
+ DependencyIndexes: file_AbilityString_proto_depIdxs,
+ MessageInfos: file_AbilityString_proto_msgTypes,
+ }.Build()
+ File_AbilityString_proto = out.File
+ file_AbilityString_proto_rawDesc = nil
+ file_AbilityString_proto_goTypes = nil
+ file_AbilityString_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AbilitySyncStateInfo.pb.go b/protocol/proto/AbilitySyncStateInfo.pb.go
new file mode 100644
index 00000000..c87d4e45
--- /dev/null
+++ b/protocol/proto/AbilitySyncStateInfo.pb.go
@@ -0,0 +1,244 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AbilitySyncStateInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AbilitySyncStateInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsInited bool `protobuf:"varint,1,opt,name=is_inited,json=isInited,proto3" json:"is_inited,omitempty"`
+ DynamicValueMap []*AbilityScalarValueEntry `protobuf:"bytes,2,rep,name=dynamic_value_map,json=dynamicValueMap,proto3" json:"dynamic_value_map,omitempty"`
+ AppliedAbilities []*AbilityAppliedAbility `protobuf:"bytes,3,rep,name=applied_abilities,json=appliedAbilities,proto3" json:"applied_abilities,omitempty"`
+ AppliedModifiers []*AbilityAppliedModifier `protobuf:"bytes,4,rep,name=applied_modifiers,json=appliedModifiers,proto3" json:"applied_modifiers,omitempty"`
+ MixinRecoverInfos []*AbilityMixinRecoverInfo `protobuf:"bytes,5,rep,name=mixin_recover_infos,json=mixinRecoverInfos,proto3" json:"mixin_recover_infos,omitempty"`
+ SgvDynamicValueMap []*AbilityScalarValueEntry `protobuf:"bytes,6,rep,name=sgv_dynamic_value_map,json=sgvDynamicValueMap,proto3" json:"sgv_dynamic_value_map,omitempty"`
+}
+
+func (x *AbilitySyncStateInfo) Reset() {
+ *x = AbilitySyncStateInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AbilitySyncStateInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AbilitySyncStateInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AbilitySyncStateInfo) ProtoMessage() {}
+
+func (x *AbilitySyncStateInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AbilitySyncStateInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AbilitySyncStateInfo.ProtoReflect.Descriptor instead.
+func (*AbilitySyncStateInfo) Descriptor() ([]byte, []int) {
+ return file_AbilitySyncStateInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AbilitySyncStateInfo) GetIsInited() bool {
+ if x != nil {
+ return x.IsInited
+ }
+ return false
+}
+
+func (x *AbilitySyncStateInfo) GetDynamicValueMap() []*AbilityScalarValueEntry {
+ if x != nil {
+ return x.DynamicValueMap
+ }
+ return nil
+}
+
+func (x *AbilitySyncStateInfo) GetAppliedAbilities() []*AbilityAppliedAbility {
+ if x != nil {
+ return x.AppliedAbilities
+ }
+ return nil
+}
+
+func (x *AbilitySyncStateInfo) GetAppliedModifiers() []*AbilityAppliedModifier {
+ if x != nil {
+ return x.AppliedModifiers
+ }
+ return nil
+}
+
+func (x *AbilitySyncStateInfo) GetMixinRecoverInfos() []*AbilityMixinRecoverInfo {
+ if x != nil {
+ return x.MixinRecoverInfos
+ }
+ return nil
+}
+
+func (x *AbilitySyncStateInfo) GetSgvDynamicValueMap() []*AbilityScalarValueEntry {
+ if x != nil {
+ return x.SgvDynamicValueMap
+ }
+ return nil
+}
+
+var File_AbilitySyncStateInfo_proto protoreflect.FileDescriptor
+
+var file_AbilitySyncStateInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c,
+ 0x69, 0x65, 0x64, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1c, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64,
+ 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f,
+ 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x03, 0x0a,
+ 0x14, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74,
+ 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x49, 0x6e, 0x69, 0x74,
+ 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61,
+ 0x6c, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x64,
+ 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x49,
+ 0x0a, 0x11, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x11, 0x61, 0x70, 0x70,
+ 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x52, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x13, 0x6d, 0x69, 0x78, 0x69, 0x6e, 0x5f, 0x72,
+ 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x4d, 0x69, 0x78, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x11, 0x6d, 0x69, 0x78, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x51, 0x0a, 0x15, 0x73, 0x67, 0x76, 0x5f, 0x64, 0x79, 0x6e,
+ 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x73, 0x67, 0x76, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AbilitySyncStateInfo_proto_rawDescOnce sync.Once
+ file_AbilitySyncStateInfo_proto_rawDescData = file_AbilitySyncStateInfo_proto_rawDesc
+)
+
+func file_AbilitySyncStateInfo_proto_rawDescGZIP() []byte {
+ file_AbilitySyncStateInfo_proto_rawDescOnce.Do(func() {
+ file_AbilitySyncStateInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AbilitySyncStateInfo_proto_rawDescData)
+ })
+ return file_AbilitySyncStateInfo_proto_rawDescData
+}
+
+var file_AbilitySyncStateInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AbilitySyncStateInfo_proto_goTypes = []interface{}{
+ (*AbilitySyncStateInfo)(nil), // 0: proto.AbilitySyncStateInfo
+ (*AbilityScalarValueEntry)(nil), // 1: proto.AbilityScalarValueEntry
+ (*AbilityAppliedAbility)(nil), // 2: proto.AbilityAppliedAbility
+ (*AbilityAppliedModifier)(nil), // 3: proto.AbilityAppliedModifier
+ (*AbilityMixinRecoverInfo)(nil), // 4: proto.AbilityMixinRecoverInfo
+}
+var file_AbilitySyncStateInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AbilitySyncStateInfo.dynamic_value_map:type_name -> proto.AbilityScalarValueEntry
+ 2, // 1: proto.AbilitySyncStateInfo.applied_abilities:type_name -> proto.AbilityAppliedAbility
+ 3, // 2: proto.AbilitySyncStateInfo.applied_modifiers:type_name -> proto.AbilityAppliedModifier
+ 4, // 3: proto.AbilitySyncStateInfo.mixin_recover_infos:type_name -> proto.AbilityMixinRecoverInfo
+ 1, // 4: proto.AbilitySyncStateInfo.sgv_dynamic_value_map:type_name -> proto.AbilityScalarValueEntry
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_AbilitySyncStateInfo_proto_init() }
+func file_AbilitySyncStateInfo_proto_init() {
+ if File_AbilitySyncStateInfo_proto != nil {
+ return
+ }
+ file_AbilityAppliedAbility_proto_init()
+ file_AbilityAppliedModifier_proto_init()
+ file_AbilityMixinRecoverInfo_proto_init()
+ file_AbilityScalarValueEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AbilitySyncStateInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AbilitySyncStateInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AbilitySyncStateInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AbilitySyncStateInfo_proto_goTypes,
+ DependencyIndexes: file_AbilitySyncStateInfo_proto_depIdxs,
+ MessageInfos: file_AbilitySyncStateInfo_proto_msgTypes,
+ }.Build()
+ File_AbilitySyncStateInfo_proto = out.File
+ file_AbilitySyncStateInfo_proto_rawDesc = nil
+ file_AbilitySyncStateInfo_proto_goTypes = nil
+ file_AbilitySyncStateInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AcceptCityReputationRequestReq.pb.go b/protocol/proto/AcceptCityReputationRequestReq.pb.go
new file mode 100644
index 00000000..6add03c6
--- /dev/null
+++ b/protocol/proto/AcceptCityReputationRequestReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AcceptCityReputationRequestReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2890
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AcceptCityReputationRequestReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,14,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ RequestId uint32 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
+}
+
+func (x *AcceptCityReputationRequestReq) Reset() {
+ *x = AcceptCityReputationRequestReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AcceptCityReputationRequestReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AcceptCityReputationRequestReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AcceptCityReputationRequestReq) ProtoMessage() {}
+
+func (x *AcceptCityReputationRequestReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AcceptCityReputationRequestReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AcceptCityReputationRequestReq.ProtoReflect.Descriptor instead.
+func (*AcceptCityReputationRequestReq) Descriptor() ([]byte, []int) {
+ return file_AcceptCityReputationRequestReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AcceptCityReputationRequestReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *AcceptCityReputationRequestReq) GetRequestId() uint32 {
+ if x != nil {
+ return x.RequestId
+ }
+ return 0
+}
+
+var File_AcceptCityReputationRequestReq_proto protoreflect.FileDescriptor
+
+var file_AcceptCityReputationRequestReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a,
+ 0x1e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AcceptCityReputationRequestReq_proto_rawDescOnce sync.Once
+ file_AcceptCityReputationRequestReq_proto_rawDescData = file_AcceptCityReputationRequestReq_proto_rawDesc
+)
+
+func file_AcceptCityReputationRequestReq_proto_rawDescGZIP() []byte {
+ file_AcceptCityReputationRequestReq_proto_rawDescOnce.Do(func() {
+ file_AcceptCityReputationRequestReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AcceptCityReputationRequestReq_proto_rawDescData)
+ })
+ return file_AcceptCityReputationRequestReq_proto_rawDescData
+}
+
+var file_AcceptCityReputationRequestReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AcceptCityReputationRequestReq_proto_goTypes = []interface{}{
+ (*AcceptCityReputationRequestReq)(nil), // 0: proto.AcceptCityReputationRequestReq
+}
+var file_AcceptCityReputationRequestReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AcceptCityReputationRequestReq_proto_init() }
+func file_AcceptCityReputationRequestReq_proto_init() {
+ if File_AcceptCityReputationRequestReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AcceptCityReputationRequestReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AcceptCityReputationRequestReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AcceptCityReputationRequestReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AcceptCityReputationRequestReq_proto_goTypes,
+ DependencyIndexes: file_AcceptCityReputationRequestReq_proto_depIdxs,
+ MessageInfos: file_AcceptCityReputationRequestReq_proto_msgTypes,
+ }.Build()
+ File_AcceptCityReputationRequestReq_proto = out.File
+ file_AcceptCityReputationRequestReq_proto_rawDesc = nil
+ file_AcceptCityReputationRequestReq_proto_goTypes = nil
+ file_AcceptCityReputationRequestReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AcceptCityReputationRequestRsp.pb.go b/protocol/proto/AcceptCityReputationRequestRsp.pb.go
new file mode 100644
index 00000000..203a7445
--- /dev/null
+++ b/protocol/proto/AcceptCityReputationRequestRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AcceptCityReputationRequestRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2873
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AcceptCityReputationRequestRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RequestId uint32 `protobuf:"varint,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
+ CityId uint32 `protobuf:"varint,13,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AcceptCityReputationRequestRsp) Reset() {
+ *x = AcceptCityReputationRequestRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AcceptCityReputationRequestRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AcceptCityReputationRequestRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AcceptCityReputationRequestRsp) ProtoMessage() {}
+
+func (x *AcceptCityReputationRequestRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AcceptCityReputationRequestRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AcceptCityReputationRequestRsp.ProtoReflect.Descriptor instead.
+func (*AcceptCityReputationRequestRsp) Descriptor() ([]byte, []int) {
+ return file_AcceptCityReputationRequestRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AcceptCityReputationRequestRsp) GetRequestId() uint32 {
+ if x != nil {
+ return x.RequestId
+ }
+ return 0
+}
+
+func (x *AcceptCityReputationRequestRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *AcceptCityReputationRequestRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AcceptCityReputationRequestRsp_proto protoreflect.FileDescriptor
+
+var file_AcceptCityReputationRequestRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a,
+ 0x1e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AcceptCityReputationRequestRsp_proto_rawDescOnce sync.Once
+ file_AcceptCityReputationRequestRsp_proto_rawDescData = file_AcceptCityReputationRequestRsp_proto_rawDesc
+)
+
+func file_AcceptCityReputationRequestRsp_proto_rawDescGZIP() []byte {
+ file_AcceptCityReputationRequestRsp_proto_rawDescOnce.Do(func() {
+ file_AcceptCityReputationRequestRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AcceptCityReputationRequestRsp_proto_rawDescData)
+ })
+ return file_AcceptCityReputationRequestRsp_proto_rawDescData
+}
+
+var file_AcceptCityReputationRequestRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AcceptCityReputationRequestRsp_proto_goTypes = []interface{}{
+ (*AcceptCityReputationRequestRsp)(nil), // 0: proto.AcceptCityReputationRequestRsp
+}
+var file_AcceptCityReputationRequestRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AcceptCityReputationRequestRsp_proto_init() }
+func file_AcceptCityReputationRequestRsp_proto_init() {
+ if File_AcceptCityReputationRequestRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AcceptCityReputationRequestRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AcceptCityReputationRequestRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AcceptCityReputationRequestRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AcceptCityReputationRequestRsp_proto_goTypes,
+ DependencyIndexes: file_AcceptCityReputationRequestRsp_proto_depIdxs,
+ MessageInfos: file_AcceptCityReputationRequestRsp_proto_msgTypes,
+ }.Build()
+ File_AcceptCityReputationRequestRsp_proto = out.File
+ file_AcceptCityReputationRequestRsp_proto_rawDesc = nil
+ file_AcceptCityReputationRequestRsp_proto_goTypes = nil
+ file_AcceptCityReputationRequestRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Achievement.pb.go b/protocol/proto/Achievement.pb.go
new file mode 100644
index 00000000..13d5369a
--- /dev/null
+++ b/protocol/proto/Achievement.pb.go
@@ -0,0 +1,262 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Achievement.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Achievement_Status int32
+
+const (
+ Achievement_STATUS_INVALID Achievement_Status = 0
+ Achievement_STATUS_UNFINISHED Achievement_Status = 1
+ Achievement_STATUS_FINISHED Achievement_Status = 2
+ Achievement_STATUS_REWARD_TAKEN Achievement_Status = 3
+)
+
+// Enum value maps for Achievement_Status.
+var (
+ Achievement_Status_name = map[int32]string{
+ 0: "STATUS_INVALID",
+ 1: "STATUS_UNFINISHED",
+ 2: "STATUS_FINISHED",
+ 3: "STATUS_REWARD_TAKEN",
+ }
+ Achievement_Status_value = map[string]int32{
+ "STATUS_INVALID": 0,
+ "STATUS_UNFINISHED": 1,
+ "STATUS_FINISHED": 2,
+ "STATUS_REWARD_TAKEN": 3,
+ }
+)
+
+func (x Achievement_Status) Enum() *Achievement_Status {
+ p := new(Achievement_Status)
+ *p = x
+ return p
+}
+
+func (x Achievement_Status) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Achievement_Status) Descriptor() protoreflect.EnumDescriptor {
+ return file_Achievement_proto_enumTypes[0].Descriptor()
+}
+
+func (Achievement_Status) Type() protoreflect.EnumType {
+ return &file_Achievement_proto_enumTypes[0]
+}
+
+func (x Achievement_Status) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use Achievement_Status.Descriptor instead.
+func (Achievement_Status) EnumDescriptor() ([]byte, []int) {
+ return file_Achievement_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type Achievement struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishTimestamp uint32 `protobuf:"varint,11,opt,name=finish_timestamp,json=finishTimestamp,proto3" json:"finish_timestamp,omitempty"`
+ Status Achievement_Status `protobuf:"varint,13,opt,name=status,proto3,enum=proto.Achievement_Status" json:"status,omitempty"`
+ CurProgress uint32 `protobuf:"varint,12,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+ Id uint32 `protobuf:"varint,14,opt,name=id,proto3" json:"id,omitempty"`
+ TotalProgress uint32 `protobuf:"varint,8,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+}
+
+func (x *Achievement) Reset() {
+ *x = Achievement{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Achievement_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Achievement) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Achievement) ProtoMessage() {}
+
+func (x *Achievement) ProtoReflect() protoreflect.Message {
+ mi := &file_Achievement_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Achievement.ProtoReflect.Descriptor instead.
+func (*Achievement) Descriptor() ([]byte, []int) {
+ return file_Achievement_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Achievement) GetFinishTimestamp() uint32 {
+ if x != nil {
+ return x.FinishTimestamp
+ }
+ return 0
+}
+
+func (x *Achievement) GetStatus() Achievement_Status {
+ if x != nil {
+ return x.Status
+ }
+ return Achievement_STATUS_INVALID
+}
+
+func (x *Achievement) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+func (x *Achievement) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *Achievement) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+var File_Achievement_proto protoreflect.FileDescriptor
+
+var file_Achievement_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x02, 0x0a, 0x0b, 0x41,
+ 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63,
+ 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f,
+ 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x22, 0x61, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e,
+ 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00,
+ 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x46, 0x49, 0x4e,
+ 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x55,
+ 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13,
+ 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x41,
+ 0x4b, 0x45, 0x4e, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Achievement_proto_rawDescOnce sync.Once
+ file_Achievement_proto_rawDescData = file_Achievement_proto_rawDesc
+)
+
+func file_Achievement_proto_rawDescGZIP() []byte {
+ file_Achievement_proto_rawDescOnce.Do(func() {
+ file_Achievement_proto_rawDescData = protoimpl.X.CompressGZIP(file_Achievement_proto_rawDescData)
+ })
+ return file_Achievement_proto_rawDescData
+}
+
+var file_Achievement_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_Achievement_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Achievement_proto_goTypes = []interface{}{
+ (Achievement_Status)(0), // 0: proto.Achievement.Status
+ (*Achievement)(nil), // 1: proto.Achievement
+}
+var file_Achievement_proto_depIdxs = []int32{
+ 0, // 0: proto.Achievement.status:type_name -> proto.Achievement.Status
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_Achievement_proto_init() }
+func file_Achievement_proto_init() {
+ if File_Achievement_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Achievement_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Achievement); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Achievement_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Achievement_proto_goTypes,
+ DependencyIndexes: file_Achievement_proto_depIdxs,
+ EnumInfos: file_Achievement_proto_enumTypes,
+ MessageInfos: file_Achievement_proto_msgTypes,
+ }.Build()
+ File_Achievement_proto = out.File
+ file_Achievement_proto_rawDesc = nil
+ file_Achievement_proto_goTypes = nil
+ file_Achievement_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AchievementAllDataNotify.pb.go b/protocol/proto/AchievementAllDataNotify.pb.go
new file mode 100644
index 00000000..56376f75
--- /dev/null
+++ b/protocol/proto/AchievementAllDataNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AchievementAllDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2676
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AchievementAllDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AchievementList []*Achievement `protobuf:"bytes,4,rep,name=achievement_list,json=achievementList,proto3" json:"achievement_list,omitempty"`
+ RewardTakenGoalIdList []uint32 `protobuf:"varint,2,rep,packed,name=reward_taken_goal_id_list,json=rewardTakenGoalIdList,proto3" json:"reward_taken_goal_id_list,omitempty"`
+}
+
+func (x *AchievementAllDataNotify) Reset() {
+ *x = AchievementAllDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AchievementAllDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AchievementAllDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AchievementAllDataNotify) ProtoMessage() {}
+
+func (x *AchievementAllDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AchievementAllDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AchievementAllDataNotify.ProtoReflect.Descriptor instead.
+func (*AchievementAllDataNotify) Descriptor() ([]byte, []int) {
+ return file_AchievementAllDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AchievementAllDataNotify) GetAchievementList() []*Achievement {
+ if x != nil {
+ return x.AchievementList
+ }
+ return nil
+}
+
+func (x *AchievementAllDataNotify) GetRewardTakenGoalIdList() []uint32 {
+ if x != nil {
+ return x.RewardTakenGoalIdList
+ }
+ return nil
+}
+
+var File_AchievementAllDataNotify_proto protoreflect.FileDescriptor
+
+var file_AchievementAllDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x18, 0x41,
+ 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3d, 0x0a, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65,
+ 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x19, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x67, 0x6f, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x15, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x47, 0x6f, 0x61, 0x6c, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AchievementAllDataNotify_proto_rawDescOnce sync.Once
+ file_AchievementAllDataNotify_proto_rawDescData = file_AchievementAllDataNotify_proto_rawDesc
+)
+
+func file_AchievementAllDataNotify_proto_rawDescGZIP() []byte {
+ file_AchievementAllDataNotify_proto_rawDescOnce.Do(func() {
+ file_AchievementAllDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AchievementAllDataNotify_proto_rawDescData)
+ })
+ return file_AchievementAllDataNotify_proto_rawDescData
+}
+
+var file_AchievementAllDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AchievementAllDataNotify_proto_goTypes = []interface{}{
+ (*AchievementAllDataNotify)(nil), // 0: proto.AchievementAllDataNotify
+ (*Achievement)(nil), // 1: proto.Achievement
+}
+var file_AchievementAllDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AchievementAllDataNotify.achievement_list:type_name -> proto.Achievement
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AchievementAllDataNotify_proto_init() }
+func file_AchievementAllDataNotify_proto_init() {
+ if File_AchievementAllDataNotify_proto != nil {
+ return
+ }
+ file_Achievement_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AchievementAllDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AchievementAllDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AchievementAllDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AchievementAllDataNotify_proto_goTypes,
+ DependencyIndexes: file_AchievementAllDataNotify_proto_depIdxs,
+ MessageInfos: file_AchievementAllDataNotify_proto_msgTypes,
+ }.Build()
+ File_AchievementAllDataNotify_proto = out.File
+ file_AchievementAllDataNotify_proto_rawDesc = nil
+ file_AchievementAllDataNotify_proto_goTypes = nil
+ file_AchievementAllDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AchievementUpdateNotify.pb.go b/protocol/proto/AchievementUpdateNotify.pb.go
new file mode 100644
index 00000000..950d3098
--- /dev/null
+++ b/protocol/proto/AchievementUpdateNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AchievementUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2668
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AchievementUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AchievementList []*Achievement `protobuf:"bytes,14,rep,name=achievement_list,json=achievementList,proto3" json:"achievement_list,omitempty"`
+}
+
+func (x *AchievementUpdateNotify) Reset() {
+ *x = AchievementUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AchievementUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AchievementUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AchievementUpdateNotify) ProtoMessage() {}
+
+func (x *AchievementUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AchievementUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AchievementUpdateNotify.ProtoReflect.Descriptor instead.
+func (*AchievementUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_AchievementUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AchievementUpdateNotify) GetAchievementList() []*Achievement {
+ if x != nil {
+ return x.AchievementList
+ }
+ return nil
+}
+
+var File_AchievementUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_AchievementUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x17, 0x41, 0x63, 0x68,
+ 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x3d, 0x0a, 0x10, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x52, 0x0f, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AchievementUpdateNotify_proto_rawDescOnce sync.Once
+ file_AchievementUpdateNotify_proto_rawDescData = file_AchievementUpdateNotify_proto_rawDesc
+)
+
+func file_AchievementUpdateNotify_proto_rawDescGZIP() []byte {
+ file_AchievementUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_AchievementUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AchievementUpdateNotify_proto_rawDescData)
+ })
+ return file_AchievementUpdateNotify_proto_rawDescData
+}
+
+var file_AchievementUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AchievementUpdateNotify_proto_goTypes = []interface{}{
+ (*AchievementUpdateNotify)(nil), // 0: proto.AchievementUpdateNotify
+ (*Achievement)(nil), // 1: proto.Achievement
+}
+var file_AchievementUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AchievementUpdateNotify.achievement_list:type_name -> proto.Achievement
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AchievementUpdateNotify_proto_init() }
+func file_AchievementUpdateNotify_proto_init() {
+ if File_AchievementUpdateNotify_proto != nil {
+ return
+ }
+ file_Achievement_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AchievementUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AchievementUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AchievementUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AchievementUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_AchievementUpdateNotify_proto_depIdxs,
+ MessageInfos: file_AchievementUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_AchievementUpdateNotify_proto = out.File
+ file_AchievementUpdateNotify_proto_rawDesc = nil
+ file_AchievementUpdateNotify_proto_goTypes = nil
+ file_AchievementUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityAcceptAllGiveGiftReq.pb.go b/protocol/proto/ActivityAcceptAllGiveGiftReq.pb.go
new file mode 100644
index 00000000..fdda1aee
--- /dev/null
+++ b/protocol/proto/ActivityAcceptAllGiveGiftReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityAcceptAllGiveGiftReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8113
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityAcceptAllGiveGiftReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,3,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityAcceptAllGiveGiftReq) Reset() {
+ *x = ActivityAcceptAllGiveGiftReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityAcceptAllGiveGiftReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityAcceptAllGiveGiftReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityAcceptAllGiveGiftReq) ProtoMessage() {}
+
+func (x *ActivityAcceptAllGiveGiftReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityAcceptAllGiveGiftReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityAcceptAllGiveGiftReq.ProtoReflect.Descriptor instead.
+func (*ActivityAcceptAllGiveGiftReq) Descriptor() ([]byte, []int) {
+ return file_ActivityAcceptAllGiveGiftReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityAcceptAllGiveGiftReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityAcceptAllGiveGiftReq_proto protoreflect.FileDescriptor
+
+var file_ActivityAcceptAllGiveGiftReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x1c, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x6c, 0x6c,
+ 0x47, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityAcceptAllGiveGiftReq_proto_rawDescOnce sync.Once
+ file_ActivityAcceptAllGiveGiftReq_proto_rawDescData = file_ActivityAcceptAllGiveGiftReq_proto_rawDesc
+)
+
+func file_ActivityAcceptAllGiveGiftReq_proto_rawDescGZIP() []byte {
+ file_ActivityAcceptAllGiveGiftReq_proto_rawDescOnce.Do(func() {
+ file_ActivityAcceptAllGiveGiftReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityAcceptAllGiveGiftReq_proto_rawDescData)
+ })
+ return file_ActivityAcceptAllGiveGiftReq_proto_rawDescData
+}
+
+var file_ActivityAcceptAllGiveGiftReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityAcceptAllGiveGiftReq_proto_goTypes = []interface{}{
+ (*ActivityAcceptAllGiveGiftReq)(nil), // 0: proto.ActivityAcceptAllGiveGiftReq
+}
+var file_ActivityAcceptAllGiveGiftReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityAcceptAllGiveGiftReq_proto_init() }
+func file_ActivityAcceptAllGiveGiftReq_proto_init() {
+ if File_ActivityAcceptAllGiveGiftReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityAcceptAllGiveGiftReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityAcceptAllGiveGiftReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityAcceptAllGiveGiftReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityAcceptAllGiveGiftReq_proto_goTypes,
+ DependencyIndexes: file_ActivityAcceptAllGiveGiftReq_proto_depIdxs,
+ MessageInfos: file_ActivityAcceptAllGiveGiftReq_proto_msgTypes,
+ }.Build()
+ File_ActivityAcceptAllGiveGiftReq_proto = out.File
+ file_ActivityAcceptAllGiveGiftReq_proto_rawDesc = nil
+ file_ActivityAcceptAllGiveGiftReq_proto_goTypes = nil
+ file_ActivityAcceptAllGiveGiftReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityAcceptAllGiveGiftRsp.pb.go b/protocol/proto/ActivityAcceptAllGiveGiftRsp.pb.go
new file mode 100644
index 00000000..af149d0e
--- /dev/null
+++ b/protocol/proto/ActivityAcceptAllGiveGiftRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityAcceptAllGiveGiftRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8132
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityAcceptAllGiveGiftRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AcceptGiftResultInfoList []*ActivityAcceptGiftResultInfo `protobuf:"bytes,5,rep,name=accept_gift_result_info_list,json=acceptGiftResultInfoList,proto3" json:"accept_gift_result_info_list,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ActivityAcceptAllGiveGiftRsp) Reset() {
+ *x = ActivityAcceptAllGiveGiftRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityAcceptAllGiveGiftRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityAcceptAllGiveGiftRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityAcceptAllGiveGiftRsp) ProtoMessage() {}
+
+func (x *ActivityAcceptAllGiveGiftRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityAcceptAllGiveGiftRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityAcceptAllGiveGiftRsp.ProtoReflect.Descriptor instead.
+func (*ActivityAcceptAllGiveGiftRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityAcceptAllGiveGiftRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityAcceptAllGiveGiftRsp) GetAcceptGiftResultInfoList() []*ActivityAcceptGiftResultInfo {
+ if x != nil {
+ return x.AcceptGiftResultInfoList
+ }
+ return nil
+}
+
+func (x *ActivityAcceptAllGiveGiftRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityAcceptAllGiveGiftRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ActivityAcceptAllGiveGiftRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityAcceptAllGiveGiftRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xbe, 0x01, 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x73, 0x70,
+ 0x12, 0x63, 0x0a, 0x1c, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x66,
+ 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x61, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityAcceptAllGiveGiftRsp_proto_rawDescOnce sync.Once
+ file_ActivityAcceptAllGiveGiftRsp_proto_rawDescData = file_ActivityAcceptAllGiveGiftRsp_proto_rawDesc
+)
+
+func file_ActivityAcceptAllGiveGiftRsp_proto_rawDescGZIP() []byte {
+ file_ActivityAcceptAllGiveGiftRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityAcceptAllGiveGiftRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityAcceptAllGiveGiftRsp_proto_rawDescData)
+ })
+ return file_ActivityAcceptAllGiveGiftRsp_proto_rawDescData
+}
+
+var file_ActivityAcceptAllGiveGiftRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityAcceptAllGiveGiftRsp_proto_goTypes = []interface{}{
+ (*ActivityAcceptAllGiveGiftRsp)(nil), // 0: proto.ActivityAcceptAllGiveGiftRsp
+ (*ActivityAcceptGiftResultInfo)(nil), // 1: proto.ActivityAcceptGiftResultInfo
+}
+var file_ActivityAcceptAllGiveGiftRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityAcceptAllGiveGiftRsp.accept_gift_result_info_list:type_name -> proto.ActivityAcceptGiftResultInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityAcceptAllGiveGiftRsp_proto_init() }
+func file_ActivityAcceptAllGiveGiftRsp_proto_init() {
+ if File_ActivityAcceptAllGiveGiftRsp_proto != nil {
+ return
+ }
+ file_ActivityAcceptGiftResultInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityAcceptAllGiveGiftRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityAcceptAllGiveGiftRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityAcceptAllGiveGiftRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityAcceptAllGiveGiftRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityAcceptAllGiveGiftRsp_proto_depIdxs,
+ MessageInfos: file_ActivityAcceptAllGiveGiftRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityAcceptAllGiveGiftRsp_proto = out.File
+ file_ActivityAcceptAllGiveGiftRsp_proto_rawDesc = nil
+ file_ActivityAcceptAllGiveGiftRsp_proto_goTypes = nil
+ file_ActivityAcceptAllGiveGiftRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityAcceptGiftResultInfo.pb.go b/protocol/proto/ActivityAcceptGiftResultInfo.pb.go
new file mode 100644
index 00000000..62a8015f
--- /dev/null
+++ b/protocol/proto/ActivityAcceptGiftResultInfo.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityAcceptGiftResultInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityAcceptGiftResultInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnacceptGiftNumMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=unaccept_gift_num_map,json=unacceptGiftNumMap,proto3" json:"unaccept_gift_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Uid uint32 `protobuf:"varint,6,opt,name=uid,proto3" json:"uid,omitempty"`
+ AcceptGiftNumMap map[uint32]uint32 `protobuf:"bytes,13,rep,name=accept_gift_num_map,json=acceptGiftNumMap,proto3" json:"accept_gift_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *ActivityAcceptGiftResultInfo) Reset() {
+ *x = ActivityAcceptGiftResultInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityAcceptGiftResultInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityAcceptGiftResultInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityAcceptGiftResultInfo) ProtoMessage() {}
+
+func (x *ActivityAcceptGiftResultInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityAcceptGiftResultInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityAcceptGiftResultInfo.ProtoReflect.Descriptor instead.
+func (*ActivityAcceptGiftResultInfo) Descriptor() ([]byte, []int) {
+ return file_ActivityAcceptGiftResultInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityAcceptGiftResultInfo) GetUnacceptGiftNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.UnacceptGiftNumMap
+ }
+ return nil
+}
+
+func (x *ActivityAcceptGiftResultInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *ActivityAcceptGiftResultInfo) GetAcceptGiftNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AcceptGiftNumMap
+ }
+ return nil
+}
+
+var File_ActivityAcceptGiftResultInfo_proto protoreflect.FileDescriptor
+
+var file_ActivityAcceptGiftResultInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x03, 0x0a, 0x1c,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69,
+ 0x66, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x6e, 0x0a, 0x15,
+ 0x75, 0x6e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x55, 0x6e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x75, 0x6e, 0x61, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x10, 0x0a, 0x03,
+ 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x68,
+ 0x0a, 0x13, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69,
+ 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x1a, 0x45, 0x0a, 0x17, 0x55, 0x6e, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x43, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityAcceptGiftResultInfo_proto_rawDescOnce sync.Once
+ file_ActivityAcceptGiftResultInfo_proto_rawDescData = file_ActivityAcceptGiftResultInfo_proto_rawDesc
+)
+
+func file_ActivityAcceptGiftResultInfo_proto_rawDescGZIP() []byte {
+ file_ActivityAcceptGiftResultInfo_proto_rawDescOnce.Do(func() {
+ file_ActivityAcceptGiftResultInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityAcceptGiftResultInfo_proto_rawDescData)
+ })
+ return file_ActivityAcceptGiftResultInfo_proto_rawDescData
+}
+
+var file_ActivityAcceptGiftResultInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_ActivityAcceptGiftResultInfo_proto_goTypes = []interface{}{
+ (*ActivityAcceptGiftResultInfo)(nil), // 0: proto.ActivityAcceptGiftResultInfo
+ nil, // 1: proto.ActivityAcceptGiftResultInfo.UnacceptGiftNumMapEntry
+ nil, // 2: proto.ActivityAcceptGiftResultInfo.AcceptGiftNumMapEntry
+}
+var file_ActivityAcceptGiftResultInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityAcceptGiftResultInfo.unaccept_gift_num_map:type_name -> proto.ActivityAcceptGiftResultInfo.UnacceptGiftNumMapEntry
+ 2, // 1: proto.ActivityAcceptGiftResultInfo.accept_gift_num_map:type_name -> proto.ActivityAcceptGiftResultInfo.AcceptGiftNumMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ActivityAcceptGiftResultInfo_proto_init() }
+func file_ActivityAcceptGiftResultInfo_proto_init() {
+ if File_ActivityAcceptGiftResultInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityAcceptGiftResultInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityAcceptGiftResultInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityAcceptGiftResultInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityAcceptGiftResultInfo_proto_goTypes,
+ DependencyIndexes: file_ActivityAcceptGiftResultInfo_proto_depIdxs,
+ MessageInfos: file_ActivityAcceptGiftResultInfo_proto_msgTypes,
+ }.Build()
+ File_ActivityAcceptGiftResultInfo_proto = out.File
+ file_ActivityAcceptGiftResultInfo_proto_rawDesc = nil
+ file_ActivityAcceptGiftResultInfo_proto_goTypes = nil
+ file_ActivityAcceptGiftResultInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityAcceptGiveGiftReq.pb.go b/protocol/proto/ActivityAcceptGiveGiftReq.pb.go
new file mode 100644
index 00000000..9305335f
--- /dev/null
+++ b/protocol/proto/ActivityAcceptGiveGiftReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityAcceptGiveGiftReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8095
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityAcceptGiveGiftReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,3,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Uid uint32 `protobuf:"varint,12,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *ActivityAcceptGiveGiftReq) Reset() {
+ *x = ActivityAcceptGiveGiftReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityAcceptGiveGiftReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityAcceptGiveGiftReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityAcceptGiveGiftReq) ProtoMessage() {}
+
+func (x *ActivityAcceptGiveGiftReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityAcceptGiveGiftReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityAcceptGiveGiftReq.ProtoReflect.Descriptor instead.
+func (*ActivityAcceptGiveGiftReq) Descriptor() ([]byte, []int) {
+ return file_ActivityAcceptGiveGiftReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityAcceptGiveGiftReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityAcceptGiveGiftReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_ActivityAcceptGiveGiftReq_proto protoreflect.FileDescriptor
+
+var file_ActivityAcceptGiveGiftReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x47, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x19, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x47, 0x69,
+ 0x66, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityAcceptGiveGiftReq_proto_rawDescOnce sync.Once
+ file_ActivityAcceptGiveGiftReq_proto_rawDescData = file_ActivityAcceptGiveGiftReq_proto_rawDesc
+)
+
+func file_ActivityAcceptGiveGiftReq_proto_rawDescGZIP() []byte {
+ file_ActivityAcceptGiveGiftReq_proto_rawDescOnce.Do(func() {
+ file_ActivityAcceptGiveGiftReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityAcceptGiveGiftReq_proto_rawDescData)
+ })
+ return file_ActivityAcceptGiveGiftReq_proto_rawDescData
+}
+
+var file_ActivityAcceptGiveGiftReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityAcceptGiveGiftReq_proto_goTypes = []interface{}{
+ (*ActivityAcceptGiveGiftReq)(nil), // 0: proto.ActivityAcceptGiveGiftReq
+}
+var file_ActivityAcceptGiveGiftReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityAcceptGiveGiftReq_proto_init() }
+func file_ActivityAcceptGiveGiftReq_proto_init() {
+ if File_ActivityAcceptGiveGiftReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityAcceptGiveGiftReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityAcceptGiveGiftReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityAcceptGiveGiftReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityAcceptGiveGiftReq_proto_goTypes,
+ DependencyIndexes: file_ActivityAcceptGiveGiftReq_proto_depIdxs,
+ MessageInfos: file_ActivityAcceptGiveGiftReq_proto_msgTypes,
+ }.Build()
+ File_ActivityAcceptGiveGiftReq_proto = out.File
+ file_ActivityAcceptGiveGiftReq_proto_rawDesc = nil
+ file_ActivityAcceptGiveGiftReq_proto_goTypes = nil
+ file_ActivityAcceptGiveGiftReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityAcceptGiveGiftRsp.pb.go b/protocol/proto/ActivityAcceptGiveGiftRsp.pb.go
new file mode 100644
index 00000000..c963b572
--- /dev/null
+++ b/protocol/proto/ActivityAcceptGiveGiftRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityAcceptGiveGiftRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8502
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityAcceptGiveGiftRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AcceptGiftResultInfo *ActivityAcceptGiftResultInfo `protobuf:"bytes,4,opt,name=accept_gift_result_info,json=acceptGiftResultInfo,proto3" json:"accept_gift_result_info,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityAcceptGiveGiftRsp) Reset() {
+ *x = ActivityAcceptGiveGiftRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityAcceptGiveGiftRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityAcceptGiveGiftRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityAcceptGiveGiftRsp) ProtoMessage() {}
+
+func (x *ActivityAcceptGiveGiftRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityAcceptGiveGiftRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityAcceptGiveGiftRsp.ProtoReflect.Descriptor instead.
+func (*ActivityAcceptGiveGiftRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityAcceptGiveGiftRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityAcceptGiveGiftRsp) GetAcceptGiftResultInfo() *ActivityAcceptGiftResultInfo {
+ if x != nil {
+ return x.AcceptGiftResultInfo
+ }
+ return nil
+}
+
+func (x *ActivityAcceptGiveGiftRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivityAcceptGiveGiftRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityAcceptGiveGiftRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityAcceptGiveGiftRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x47, 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a,
+ 0x19, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47,
+ 0x69, 0x76, 0x65, 0x47, 0x69, 0x66, 0x74, 0x52, 0x73, 0x70, 0x12, 0x5a, 0x0a, 0x17, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x14, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityAcceptGiveGiftRsp_proto_rawDescOnce sync.Once
+ file_ActivityAcceptGiveGiftRsp_proto_rawDescData = file_ActivityAcceptGiveGiftRsp_proto_rawDesc
+)
+
+func file_ActivityAcceptGiveGiftRsp_proto_rawDescGZIP() []byte {
+ file_ActivityAcceptGiveGiftRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityAcceptGiveGiftRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityAcceptGiveGiftRsp_proto_rawDescData)
+ })
+ return file_ActivityAcceptGiveGiftRsp_proto_rawDescData
+}
+
+var file_ActivityAcceptGiveGiftRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityAcceptGiveGiftRsp_proto_goTypes = []interface{}{
+ (*ActivityAcceptGiveGiftRsp)(nil), // 0: proto.ActivityAcceptGiveGiftRsp
+ (*ActivityAcceptGiftResultInfo)(nil), // 1: proto.ActivityAcceptGiftResultInfo
+}
+var file_ActivityAcceptGiveGiftRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityAcceptGiveGiftRsp.accept_gift_result_info:type_name -> proto.ActivityAcceptGiftResultInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityAcceptGiveGiftRsp_proto_init() }
+func file_ActivityAcceptGiveGiftRsp_proto_init() {
+ if File_ActivityAcceptGiveGiftRsp_proto != nil {
+ return
+ }
+ file_ActivityAcceptGiftResultInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityAcceptGiveGiftRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityAcceptGiveGiftRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityAcceptGiveGiftRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityAcceptGiveGiftRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityAcceptGiveGiftRsp_proto_depIdxs,
+ MessageInfos: file_ActivityAcceptGiveGiftRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityAcceptGiveGiftRsp_proto = out.File
+ file_ActivityAcceptGiveGiftRsp_proto_rawDesc = nil
+ file_ActivityAcceptGiveGiftRsp_proto_goTypes = nil
+ file_ActivityAcceptGiveGiftRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityBannerClearReq.pb.go b/protocol/proto/ActivityBannerClearReq.pb.go
new file mode 100644
index 00000000..347e0ed8
--- /dev/null
+++ b/protocol/proto/ActivityBannerClearReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityBannerClearReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2009
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityBannerClearReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,15,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ActivityId uint32 `protobuf:"varint,12,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityBannerClearReq) Reset() {
+ *x = ActivityBannerClearReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityBannerClearReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityBannerClearReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityBannerClearReq) ProtoMessage() {}
+
+func (x *ActivityBannerClearReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityBannerClearReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityBannerClearReq.ProtoReflect.Descriptor instead.
+func (*ActivityBannerClearReq) Descriptor() ([]byte, []int) {
+ return file_ActivityBannerClearReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityBannerClearReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityBannerClearReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityBannerClearReq_proto protoreflect.FileDescriptor
+
+var file_ActivityBannerClearReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72,
+ 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x16, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityBannerClearReq_proto_rawDescOnce sync.Once
+ file_ActivityBannerClearReq_proto_rawDescData = file_ActivityBannerClearReq_proto_rawDesc
+)
+
+func file_ActivityBannerClearReq_proto_rawDescGZIP() []byte {
+ file_ActivityBannerClearReq_proto_rawDescOnce.Do(func() {
+ file_ActivityBannerClearReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityBannerClearReq_proto_rawDescData)
+ })
+ return file_ActivityBannerClearReq_proto_rawDescData
+}
+
+var file_ActivityBannerClearReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityBannerClearReq_proto_goTypes = []interface{}{
+ (*ActivityBannerClearReq)(nil), // 0: proto.ActivityBannerClearReq
+}
+var file_ActivityBannerClearReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityBannerClearReq_proto_init() }
+func file_ActivityBannerClearReq_proto_init() {
+ if File_ActivityBannerClearReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityBannerClearReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityBannerClearReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityBannerClearReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityBannerClearReq_proto_goTypes,
+ DependencyIndexes: file_ActivityBannerClearReq_proto_depIdxs,
+ MessageInfos: file_ActivityBannerClearReq_proto_msgTypes,
+ }.Build()
+ File_ActivityBannerClearReq_proto = out.File
+ file_ActivityBannerClearReq_proto_rawDesc = nil
+ file_ActivityBannerClearReq_proto_goTypes = nil
+ file_ActivityBannerClearReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityBannerClearRsp.pb.go b/protocol/proto/ActivityBannerClearRsp.pb.go
new file mode 100644
index 00000000..3e6f45c1
--- /dev/null
+++ b/protocol/proto/ActivityBannerClearRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityBannerClearRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2163
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityBannerClearRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,11,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityBannerClearRsp) Reset() {
+ *x = ActivityBannerClearRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityBannerClearRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityBannerClearRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityBannerClearRsp) ProtoMessage() {}
+
+func (x *ActivityBannerClearRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityBannerClearRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityBannerClearRsp.ProtoReflect.Descriptor instead.
+func (*ActivityBannerClearRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityBannerClearRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityBannerClearRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityBannerClearRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivityBannerClearRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityBannerClearRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityBannerClearRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72,
+ 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x16, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityBannerClearRsp_proto_rawDescOnce sync.Once
+ file_ActivityBannerClearRsp_proto_rawDescData = file_ActivityBannerClearRsp_proto_rawDesc
+)
+
+func file_ActivityBannerClearRsp_proto_rawDescGZIP() []byte {
+ file_ActivityBannerClearRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityBannerClearRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityBannerClearRsp_proto_rawDescData)
+ })
+ return file_ActivityBannerClearRsp_proto_rawDescData
+}
+
+var file_ActivityBannerClearRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityBannerClearRsp_proto_goTypes = []interface{}{
+ (*ActivityBannerClearRsp)(nil), // 0: proto.ActivityBannerClearRsp
+}
+var file_ActivityBannerClearRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityBannerClearRsp_proto_init() }
+func file_ActivityBannerClearRsp_proto_init() {
+ if File_ActivityBannerClearRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityBannerClearRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityBannerClearRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityBannerClearRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityBannerClearRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityBannerClearRsp_proto_depIdxs,
+ MessageInfos: file_ActivityBannerClearRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityBannerClearRsp_proto = out.File
+ file_ActivityBannerClearRsp_proto_rawDesc = nil
+ file_ActivityBannerClearRsp_proto_goTypes = nil
+ file_ActivityBannerClearRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityBannerNotify.pb.go b/protocol/proto/ActivityBannerNotify.pb.go
new file mode 100644
index 00000000..196b7f26
--- /dev/null
+++ b/protocol/proto/ActivityBannerNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityBannerNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2155
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityBannerNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ActivityId uint32 `protobuf:"varint,3,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityBannerNotify) Reset() {
+ *x = ActivityBannerNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityBannerNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityBannerNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityBannerNotify) ProtoMessage() {}
+
+func (x *ActivityBannerNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityBannerNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityBannerNotify.ProtoReflect.Descriptor instead.
+func (*ActivityBannerNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityBannerNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityBannerNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityBannerNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityBannerNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityBannerNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x42,
+ 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ActivityBannerNotify_proto_rawDescOnce sync.Once
+ file_ActivityBannerNotify_proto_rawDescData = file_ActivityBannerNotify_proto_rawDesc
+)
+
+func file_ActivityBannerNotify_proto_rawDescGZIP() []byte {
+ file_ActivityBannerNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityBannerNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityBannerNotify_proto_rawDescData)
+ })
+ return file_ActivityBannerNotify_proto_rawDescData
+}
+
+var file_ActivityBannerNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityBannerNotify_proto_goTypes = []interface{}{
+ (*ActivityBannerNotify)(nil), // 0: proto.ActivityBannerNotify
+}
+var file_ActivityBannerNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityBannerNotify_proto_init() }
+func file_ActivityBannerNotify_proto_init() {
+ if File_ActivityBannerNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityBannerNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityBannerNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityBannerNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityBannerNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityBannerNotify_proto_depIdxs,
+ MessageInfos: file_ActivityBannerNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityBannerNotify_proto = out.File
+ file_ActivityBannerNotify_proto_rawDesc = nil
+ file_ActivityBannerNotify_proto_goTypes = nil
+ file_ActivityBannerNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityCoinInfoNotify.pb.go b/protocol/proto/ActivityCoinInfoNotify.pb.go
new file mode 100644
index 00000000..abb9b002
--- /dev/null
+++ b/protocol/proto/ActivityCoinInfoNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityCoinInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2008
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityCoinInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,8,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ActivityId uint32 `protobuf:"varint,10,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ ActivityCoinMap map[uint32]uint32 `protobuf:"bytes,2,rep,name=activity_coin_map,json=activityCoinMap,proto3" json:"activity_coin_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *ActivityCoinInfoNotify) Reset() {
+ *x = ActivityCoinInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityCoinInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityCoinInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityCoinInfoNotify) ProtoMessage() {}
+
+func (x *ActivityCoinInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityCoinInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityCoinInfoNotify.ProtoReflect.Descriptor instead.
+func (*ActivityCoinInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityCoinInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityCoinInfoNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityCoinInfoNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityCoinInfoNotify) GetActivityCoinMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ActivityCoinMap
+ }
+ return nil
+}
+
+var File_ActivityCoinInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityCoinInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x01, 0x0a, 0x16, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49,
+ 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x5e, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x63,
+ 0x6f, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f,
+ 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x4d,
+ 0x61, 0x70, 0x1a, 0x42, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f,
+ 0x69, 0x6e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityCoinInfoNotify_proto_rawDescOnce sync.Once
+ file_ActivityCoinInfoNotify_proto_rawDescData = file_ActivityCoinInfoNotify_proto_rawDesc
+)
+
+func file_ActivityCoinInfoNotify_proto_rawDescGZIP() []byte {
+ file_ActivityCoinInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityCoinInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityCoinInfoNotify_proto_rawDescData)
+ })
+ return file_ActivityCoinInfoNotify_proto_rawDescData
+}
+
+var file_ActivityCoinInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ActivityCoinInfoNotify_proto_goTypes = []interface{}{
+ (*ActivityCoinInfoNotify)(nil), // 0: proto.ActivityCoinInfoNotify
+ nil, // 1: proto.ActivityCoinInfoNotify.ActivityCoinMapEntry
+}
+var file_ActivityCoinInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityCoinInfoNotify.activity_coin_map:type_name -> proto.ActivityCoinInfoNotify.ActivityCoinMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityCoinInfoNotify_proto_init() }
+func file_ActivityCoinInfoNotify_proto_init() {
+ if File_ActivityCoinInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityCoinInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityCoinInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityCoinInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityCoinInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityCoinInfoNotify_proto_depIdxs,
+ MessageInfos: file_ActivityCoinInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityCoinInfoNotify_proto = out.File
+ file_ActivityCoinInfoNotify_proto_rawDesc = nil
+ file_ActivityCoinInfoNotify_proto_goTypes = nil
+ file_ActivityCoinInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityCondStateChangeNotify.pb.go b/protocol/proto/ActivityCondStateChangeNotify.pb.go
new file mode 100644
index 00000000..7ec3634c
--- /dev/null
+++ b/protocol/proto/ActivityCondStateChangeNotify.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityCondStateChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2140
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityCondStateChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivatedSaleIdList []uint32 `protobuf:"varint,9,rep,packed,name=activated_sale_id_list,json=activatedSaleIdList,proto3" json:"activated_sale_id_list,omitempty"`
+ ActivityId uint32 `protobuf:"varint,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,5,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ExpireCondList []uint32 `protobuf:"varint,11,rep,packed,name=expire_cond_list,json=expireCondList,proto3" json:"expire_cond_list,omitempty"`
+ DisableTransferPointInteractionList []*Uint32Pair `protobuf:"bytes,12,rep,name=disable_transfer_point_interaction_list,json=disableTransferPointInteractionList,proto3" json:"disable_transfer_point_interaction_list,omitempty"`
+ MeetCondList []uint32 `protobuf:"varint,1,rep,packed,name=meet_cond_list,json=meetCondList,proto3" json:"meet_cond_list,omitempty"`
+}
+
+func (x *ActivityCondStateChangeNotify) Reset() {
+ *x = ActivityCondStateChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityCondStateChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityCondStateChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityCondStateChangeNotify) ProtoMessage() {}
+
+func (x *ActivityCondStateChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityCondStateChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityCondStateChangeNotify.ProtoReflect.Descriptor instead.
+func (*ActivityCondStateChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityCondStateChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityCondStateChangeNotify) GetActivatedSaleIdList() []uint32 {
+ if x != nil {
+ return x.ActivatedSaleIdList
+ }
+ return nil
+}
+
+func (x *ActivityCondStateChangeNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityCondStateChangeNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityCondStateChangeNotify) GetExpireCondList() []uint32 {
+ if x != nil {
+ return x.ExpireCondList
+ }
+ return nil
+}
+
+func (x *ActivityCondStateChangeNotify) GetDisableTransferPointInteractionList() []*Uint32Pair {
+ if x != nil {
+ return x.DisableTransferPointInteractionList
+ }
+ return nil
+}
+
+func (x *ActivityCondStateChangeNotify) GetMeetCondList() []uint32 {
+ if x != nil {
+ return x.MeetCondList
+ }
+ return nil
+}
+
+var File_ActivityCondStateChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityCondStateChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x55, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf,
+ 0x02, 0x0a, 0x1d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x33, 0x0a, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x61,
+ 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72,
+ 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x67, 0x0a, 0x27, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x50, 0x61, 0x69, 0x72, 0x52, 0x23, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65,
+ 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityCondStateChangeNotify_proto_rawDescOnce sync.Once
+ file_ActivityCondStateChangeNotify_proto_rawDescData = file_ActivityCondStateChangeNotify_proto_rawDesc
+)
+
+func file_ActivityCondStateChangeNotify_proto_rawDescGZIP() []byte {
+ file_ActivityCondStateChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityCondStateChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityCondStateChangeNotify_proto_rawDescData)
+ })
+ return file_ActivityCondStateChangeNotify_proto_rawDescData
+}
+
+var file_ActivityCondStateChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityCondStateChangeNotify_proto_goTypes = []interface{}{
+ (*ActivityCondStateChangeNotify)(nil), // 0: proto.ActivityCondStateChangeNotify
+ (*Uint32Pair)(nil), // 1: proto.Uint32Pair
+}
+var file_ActivityCondStateChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityCondStateChangeNotify.disable_transfer_point_interaction_list:type_name -> proto.Uint32Pair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityCondStateChangeNotify_proto_init() }
+func file_ActivityCondStateChangeNotify_proto_init() {
+ if File_ActivityCondStateChangeNotify_proto != nil {
+ return
+ }
+ file_Uint32Pair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityCondStateChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityCondStateChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityCondStateChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityCondStateChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityCondStateChangeNotify_proto_depIdxs,
+ MessageInfos: file_ActivityCondStateChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityCondStateChangeNotify_proto = out.File
+ file_ActivityCondStateChangeNotify_proto_rawDesc = nil
+ file_ActivityCondStateChangeNotify_proto_goTypes = nil
+ file_ActivityCondStateChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityDisableTransferPointInteractionNotify.pb.go b/protocol/proto/ActivityDisableTransferPointInteractionNotify.pb.go
new file mode 100644
index 00000000..a37adfa5
--- /dev/null
+++ b/protocol/proto/ActivityDisableTransferPointInteractionNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityDisableTransferPointInteractionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8982
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityDisableTransferPointInteractionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsDisable bool `protobuf:"varint,10,opt,name=is_disable,json=isDisable,proto3" json:"is_disable,omitempty"`
+ ScenePointPair *Uint32Pair `protobuf:"bytes,5,opt,name=scene_point_pair,json=scenePointPair,proto3" json:"scene_point_pair,omitempty"`
+}
+
+func (x *ActivityDisableTransferPointInteractionNotify) Reset() {
+ *x = ActivityDisableTransferPointInteractionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityDisableTransferPointInteractionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityDisableTransferPointInteractionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityDisableTransferPointInteractionNotify) ProtoMessage() {}
+
+func (x *ActivityDisableTransferPointInteractionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityDisableTransferPointInteractionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityDisableTransferPointInteractionNotify.ProtoReflect.Descriptor instead.
+func (*ActivityDisableTransferPointInteractionNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityDisableTransferPointInteractionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityDisableTransferPointInteractionNotify) GetIsDisable() bool {
+ if x != nil {
+ return x.IsDisable
+ }
+ return false
+}
+
+func (x *ActivityDisableTransferPointInteractionNotify) GetScenePointPair() *Uint32Pair {
+ if x != nil {
+ return x.ScenePointPair
+ }
+ return nil
+}
+
+var File_ActivityDisableTransferPointInteractionNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityDisableTransferPointInteractionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x33, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e,
+ 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x55, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b,
+ 0x01, 0x0a, 0x2d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x62,
+ 0x6c, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49,
+ 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12,
+ 0x3b, 0x0a, 0x10, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70,
+ 0x61, 0x69, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0e, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x69, 0x72, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityDisableTransferPointInteractionNotify_proto_rawDescOnce sync.Once
+ file_ActivityDisableTransferPointInteractionNotify_proto_rawDescData = file_ActivityDisableTransferPointInteractionNotify_proto_rawDesc
+)
+
+func file_ActivityDisableTransferPointInteractionNotify_proto_rawDescGZIP() []byte {
+ file_ActivityDisableTransferPointInteractionNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityDisableTransferPointInteractionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityDisableTransferPointInteractionNotify_proto_rawDescData)
+ })
+ return file_ActivityDisableTransferPointInteractionNotify_proto_rawDescData
+}
+
+var file_ActivityDisableTransferPointInteractionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityDisableTransferPointInteractionNotify_proto_goTypes = []interface{}{
+ (*ActivityDisableTransferPointInteractionNotify)(nil), // 0: proto.ActivityDisableTransferPointInteractionNotify
+ (*Uint32Pair)(nil), // 1: proto.Uint32Pair
+}
+var file_ActivityDisableTransferPointInteractionNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityDisableTransferPointInteractionNotify.scene_point_pair:type_name -> proto.Uint32Pair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityDisableTransferPointInteractionNotify_proto_init() }
+func file_ActivityDisableTransferPointInteractionNotify_proto_init() {
+ if File_ActivityDisableTransferPointInteractionNotify_proto != nil {
+ return
+ }
+ file_Uint32Pair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityDisableTransferPointInteractionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityDisableTransferPointInteractionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityDisableTransferPointInteractionNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityDisableTransferPointInteractionNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityDisableTransferPointInteractionNotify_proto_depIdxs,
+ MessageInfos: file_ActivityDisableTransferPointInteractionNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityDisableTransferPointInteractionNotify_proto = out.File
+ file_ActivityDisableTransferPointInteractionNotify_proto_rawDesc = nil
+ file_ActivityDisableTransferPointInteractionNotify_proto_goTypes = nil
+ file_ActivityDisableTransferPointInteractionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityDungeonAvatar.pb.go b/protocol/proto/ActivityDungeonAvatar.pb.go
new file mode 100644
index 00000000..d71c0f59
--- /dev/null
+++ b/protocol/proto/ActivityDungeonAvatar.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityDungeonAvatar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityDungeonAvatar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ IsTrial bool `protobuf:"varint,2,opt,name=is_trial,json=isTrial,proto3" json:"is_trial,omitempty"`
+ CostumeId uint32 `protobuf:"varint,3,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+}
+
+func (x *ActivityDungeonAvatar) Reset() {
+ *x = ActivityDungeonAvatar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityDungeonAvatar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityDungeonAvatar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityDungeonAvatar) ProtoMessage() {}
+
+func (x *ActivityDungeonAvatar) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityDungeonAvatar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityDungeonAvatar.ProtoReflect.Descriptor instead.
+func (*ActivityDungeonAvatar) Descriptor() ([]byte, []int) {
+ return file_ActivityDungeonAvatar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityDungeonAvatar) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *ActivityDungeonAvatar) GetIsTrial() bool {
+ if x != nil {
+ return x.IsTrial
+ }
+ return false
+}
+
+func (x *ActivityDungeonAvatar) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+var File_ActivityDungeonAvatar_proto protoreflect.FileDescriptor
+
+var file_ActivityDungeonAvatar_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x15, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1b, 0x0a,
+ 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,
+ 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
+ 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75,
+ 0x6d, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityDungeonAvatar_proto_rawDescOnce sync.Once
+ file_ActivityDungeonAvatar_proto_rawDescData = file_ActivityDungeonAvatar_proto_rawDesc
+)
+
+func file_ActivityDungeonAvatar_proto_rawDescGZIP() []byte {
+ file_ActivityDungeonAvatar_proto_rawDescOnce.Do(func() {
+ file_ActivityDungeonAvatar_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityDungeonAvatar_proto_rawDescData)
+ })
+ return file_ActivityDungeonAvatar_proto_rawDescData
+}
+
+var file_ActivityDungeonAvatar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityDungeonAvatar_proto_goTypes = []interface{}{
+ (*ActivityDungeonAvatar)(nil), // 0: proto.ActivityDungeonAvatar
+}
+var file_ActivityDungeonAvatar_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityDungeonAvatar_proto_init() }
+func file_ActivityDungeonAvatar_proto_init() {
+ if File_ActivityDungeonAvatar_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityDungeonAvatar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityDungeonAvatar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityDungeonAvatar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityDungeonAvatar_proto_goTypes,
+ DependencyIndexes: file_ActivityDungeonAvatar_proto_depIdxs,
+ MessageInfos: file_ActivityDungeonAvatar_proto_msgTypes,
+ }.Build()
+ File_ActivityDungeonAvatar_proto = out.File
+ file_ActivityDungeonAvatar_proto_rawDesc = nil
+ file_ActivityDungeonAvatar_proto_goTypes = nil
+ file_ActivityDungeonAvatar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityFriendGiftWishData.pb.go b/protocol/proto/ActivityFriendGiftWishData.pb.go
new file mode 100644
index 00000000..5e3e4afe
--- /dev/null
+++ b/protocol/proto/ActivityFriendGiftWishData.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityFriendGiftWishData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityFriendGiftWishData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Nickname string `protobuf:"bytes,7,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ RemarkName string `protobuf:"bytes,3,opt,name=remark_name,json=remarkName,proto3" json:"remark_name,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,11,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ GiftNumMap map[uint32]uint32 `protobuf:"bytes,9,rep,name=gift_num_map,json=giftNumMap,proto3" json:"gift_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Uid uint32 `protobuf:"varint,8,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *ActivityFriendGiftWishData) Reset() {
+ *x = ActivityFriendGiftWishData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityFriendGiftWishData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityFriendGiftWishData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityFriendGiftWishData) ProtoMessage() {}
+
+func (x *ActivityFriendGiftWishData) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityFriendGiftWishData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityFriendGiftWishData.ProtoReflect.Descriptor instead.
+func (*ActivityFriendGiftWishData) Descriptor() ([]byte, []int) {
+ return file_ActivityFriendGiftWishData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityFriendGiftWishData) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *ActivityFriendGiftWishData) GetRemarkName() string {
+ if x != nil {
+ return x.RemarkName
+ }
+ return ""
+}
+
+func (x *ActivityFriendGiftWishData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *ActivityFriendGiftWishData) GetGiftNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GiftNumMap
+ }
+ return nil
+}
+
+func (x *ActivityFriendGiftWishData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_ActivityFriendGiftWishData_proto protoreflect.FileDescriptor
+
+var file_ActivityFriendGiftWishData_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xbf, 0x02, 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65,
+ 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0a, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x70,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x67,
+ 0x69, 0x66, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75,
+ 0x69, 0x64, 0x1a, 0x3d, 0x0a, 0x0f, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityFriendGiftWishData_proto_rawDescOnce sync.Once
+ file_ActivityFriendGiftWishData_proto_rawDescData = file_ActivityFriendGiftWishData_proto_rawDesc
+)
+
+func file_ActivityFriendGiftWishData_proto_rawDescGZIP() []byte {
+ file_ActivityFriendGiftWishData_proto_rawDescOnce.Do(func() {
+ file_ActivityFriendGiftWishData_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityFriendGiftWishData_proto_rawDescData)
+ })
+ return file_ActivityFriendGiftWishData_proto_rawDescData
+}
+
+var file_ActivityFriendGiftWishData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ActivityFriendGiftWishData_proto_goTypes = []interface{}{
+ (*ActivityFriendGiftWishData)(nil), // 0: proto.ActivityFriendGiftWishData
+ nil, // 1: proto.ActivityFriendGiftWishData.GiftNumMapEntry
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_ActivityFriendGiftWishData_proto_depIdxs = []int32{
+ 2, // 0: proto.ActivityFriendGiftWishData.profile_picture:type_name -> proto.ProfilePicture
+ 1, // 1: proto.ActivityFriendGiftWishData.gift_num_map:type_name -> proto.ActivityFriendGiftWishData.GiftNumMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ActivityFriendGiftWishData_proto_init() }
+func file_ActivityFriendGiftWishData_proto_init() {
+ if File_ActivityFriendGiftWishData_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityFriendGiftWishData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityFriendGiftWishData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityFriendGiftWishData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityFriendGiftWishData_proto_goTypes,
+ DependencyIndexes: file_ActivityFriendGiftWishData_proto_depIdxs,
+ MessageInfos: file_ActivityFriendGiftWishData_proto_msgTypes,
+ }.Build()
+ File_ActivityFriendGiftWishData_proto = out.File
+ file_ActivityFriendGiftWishData_proto_rawDesc = nil
+ file_ActivityFriendGiftWishData_proto_goTypes = nil
+ file_ActivityFriendGiftWishData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityGetCanGiveFriendGiftReq.pb.go b/protocol/proto/ActivityGetCanGiveFriendGiftReq.pb.go
new file mode 100644
index 00000000..305a1e9b
--- /dev/null
+++ b/protocol/proto/ActivityGetCanGiveFriendGiftReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityGetCanGiveFriendGiftReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8559
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityGetCanGiveFriendGiftReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,8,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityGetCanGiveFriendGiftReq) Reset() {
+ *x = ActivityGetCanGiveFriendGiftReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityGetCanGiveFriendGiftReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityGetCanGiveFriendGiftReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityGetCanGiveFriendGiftReq) ProtoMessage() {}
+
+func (x *ActivityGetCanGiveFriendGiftReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityGetCanGiveFriendGiftReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityGetCanGiveFriendGiftReq.ProtoReflect.Descriptor instead.
+func (*ActivityGetCanGiveFriendGiftReq) Descriptor() ([]byte, []int) {
+ return file_ActivityGetCanGiveFriendGiftReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityGetCanGiveFriendGiftReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityGetCanGiveFriendGiftReq_proto protoreflect.FileDescriptor
+
+var file_ActivityGetCanGiveFriendGiftReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e,
+ 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42,
+ 0x0a, 0x1f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e,
+ 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityGetCanGiveFriendGiftReq_proto_rawDescOnce sync.Once
+ file_ActivityGetCanGiveFriendGiftReq_proto_rawDescData = file_ActivityGetCanGiveFriendGiftReq_proto_rawDesc
+)
+
+func file_ActivityGetCanGiveFriendGiftReq_proto_rawDescGZIP() []byte {
+ file_ActivityGetCanGiveFriendGiftReq_proto_rawDescOnce.Do(func() {
+ file_ActivityGetCanGiveFriendGiftReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityGetCanGiveFriendGiftReq_proto_rawDescData)
+ })
+ return file_ActivityGetCanGiveFriendGiftReq_proto_rawDescData
+}
+
+var file_ActivityGetCanGiveFriendGiftReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityGetCanGiveFriendGiftReq_proto_goTypes = []interface{}{
+ (*ActivityGetCanGiveFriendGiftReq)(nil), // 0: proto.ActivityGetCanGiveFriendGiftReq
+}
+var file_ActivityGetCanGiveFriendGiftReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityGetCanGiveFriendGiftReq_proto_init() }
+func file_ActivityGetCanGiveFriendGiftReq_proto_init() {
+ if File_ActivityGetCanGiveFriendGiftReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityGetCanGiveFriendGiftReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityGetCanGiveFriendGiftReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityGetCanGiveFriendGiftReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityGetCanGiveFriendGiftReq_proto_goTypes,
+ DependencyIndexes: file_ActivityGetCanGiveFriendGiftReq_proto_depIdxs,
+ MessageInfos: file_ActivityGetCanGiveFriendGiftReq_proto_msgTypes,
+ }.Build()
+ File_ActivityGetCanGiveFriendGiftReq_proto = out.File
+ file_ActivityGetCanGiveFriendGiftReq_proto_rawDesc = nil
+ file_ActivityGetCanGiveFriendGiftReq_proto_goTypes = nil
+ file_ActivityGetCanGiveFriendGiftReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityGetCanGiveFriendGiftRsp.pb.go b/protocol/proto/ActivityGetCanGiveFriendGiftRsp.pb.go
new file mode 100644
index 00000000..fd970472
--- /dev/null
+++ b/protocol/proto/ActivityGetCanGiveFriendGiftRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityGetCanGiveFriendGiftRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8848
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityGetCanGiveFriendGiftRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,7,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GiftNumMap map[uint32]uint32 `protobuf:"bytes,14,rep,name=gift_num_map,json=giftNumMap,proto3" json:"gift_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *ActivityGetCanGiveFriendGiftRsp) Reset() {
+ *x = ActivityGetCanGiveFriendGiftRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityGetCanGiveFriendGiftRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityGetCanGiveFriendGiftRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityGetCanGiveFriendGiftRsp) ProtoMessage() {}
+
+func (x *ActivityGetCanGiveFriendGiftRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityGetCanGiveFriendGiftRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityGetCanGiveFriendGiftRsp.ProtoReflect.Descriptor instead.
+func (*ActivityGetCanGiveFriendGiftRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityGetCanGiveFriendGiftRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityGetCanGiveFriendGiftRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityGetCanGiveFriendGiftRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivityGetCanGiveFriendGiftRsp) GetGiftNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GiftNumMap
+ }
+ return nil
+}
+
+var File_ActivityGetCanGiveFriendGiftRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityGetCanGiveFriendGiftRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e,
+ 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5,
+ 0x01, 0x0a, 0x1f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x43, 0x61,
+ 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52,
+ 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x58, 0x0a,
+ 0x0c, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x47, 0x69, 0x66, 0x74,
+ 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x69, 0x66,
+ 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x1a, 0x3d, 0x0a, 0x0f, 0x47, 0x69, 0x66, 0x74, 0x4e,
+ 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityGetCanGiveFriendGiftRsp_proto_rawDescOnce sync.Once
+ file_ActivityGetCanGiveFriendGiftRsp_proto_rawDescData = file_ActivityGetCanGiveFriendGiftRsp_proto_rawDesc
+)
+
+func file_ActivityGetCanGiveFriendGiftRsp_proto_rawDescGZIP() []byte {
+ file_ActivityGetCanGiveFriendGiftRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityGetCanGiveFriendGiftRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityGetCanGiveFriendGiftRsp_proto_rawDescData)
+ })
+ return file_ActivityGetCanGiveFriendGiftRsp_proto_rawDescData
+}
+
+var file_ActivityGetCanGiveFriendGiftRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ActivityGetCanGiveFriendGiftRsp_proto_goTypes = []interface{}{
+ (*ActivityGetCanGiveFriendGiftRsp)(nil), // 0: proto.ActivityGetCanGiveFriendGiftRsp
+ nil, // 1: proto.ActivityGetCanGiveFriendGiftRsp.GiftNumMapEntry
+}
+var file_ActivityGetCanGiveFriendGiftRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityGetCanGiveFriendGiftRsp.gift_num_map:type_name -> proto.ActivityGetCanGiveFriendGiftRsp.GiftNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityGetCanGiveFriendGiftRsp_proto_init() }
+func file_ActivityGetCanGiveFriendGiftRsp_proto_init() {
+ if File_ActivityGetCanGiveFriendGiftRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityGetCanGiveFriendGiftRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityGetCanGiveFriendGiftRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityGetCanGiveFriendGiftRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityGetCanGiveFriendGiftRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityGetCanGiveFriendGiftRsp_proto_depIdxs,
+ MessageInfos: file_ActivityGetCanGiveFriendGiftRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityGetCanGiveFriendGiftRsp_proto = out.File
+ file_ActivityGetCanGiveFriendGiftRsp_proto_rawDesc = nil
+ file_ActivityGetCanGiveFriendGiftRsp_proto_goTypes = nil
+ file_ActivityGetCanGiveFriendGiftRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityGetFriendGiftWishListReq.pb.go b/protocol/proto/ActivityGetFriendGiftWishListReq.pb.go
new file mode 100644
index 00000000..463cee68
--- /dev/null
+++ b/protocol/proto/ActivityGetFriendGiftWishListReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityGetFriendGiftWishListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8806
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityGetFriendGiftWishListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,6,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityGetFriendGiftWishListReq) Reset() {
+ *x = ActivityGetFriendGiftWishListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityGetFriendGiftWishListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityGetFriendGiftWishListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityGetFriendGiftWishListReq) ProtoMessage() {}
+
+func (x *ActivityGetFriendGiftWishListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityGetFriendGiftWishListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityGetFriendGiftWishListReq.ProtoReflect.Descriptor instead.
+func (*ActivityGetFriendGiftWishListReq) Descriptor() ([]byte, []int) {
+ return file_ActivityGetFriendGiftWishListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityGetFriendGiftWishListReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityGetFriendGiftWishListReq_proto protoreflect.FileDescriptor
+
+var file_ActivityGetFriendGiftWishListReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x43, 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityGetFriendGiftWishListReq_proto_rawDescOnce sync.Once
+ file_ActivityGetFriendGiftWishListReq_proto_rawDescData = file_ActivityGetFriendGiftWishListReq_proto_rawDesc
+)
+
+func file_ActivityGetFriendGiftWishListReq_proto_rawDescGZIP() []byte {
+ file_ActivityGetFriendGiftWishListReq_proto_rawDescOnce.Do(func() {
+ file_ActivityGetFriendGiftWishListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityGetFriendGiftWishListReq_proto_rawDescData)
+ })
+ return file_ActivityGetFriendGiftWishListReq_proto_rawDescData
+}
+
+var file_ActivityGetFriendGiftWishListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityGetFriendGiftWishListReq_proto_goTypes = []interface{}{
+ (*ActivityGetFriendGiftWishListReq)(nil), // 0: proto.ActivityGetFriendGiftWishListReq
+}
+var file_ActivityGetFriendGiftWishListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityGetFriendGiftWishListReq_proto_init() }
+func file_ActivityGetFriendGiftWishListReq_proto_init() {
+ if File_ActivityGetFriendGiftWishListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityGetFriendGiftWishListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityGetFriendGiftWishListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityGetFriendGiftWishListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityGetFriendGiftWishListReq_proto_goTypes,
+ DependencyIndexes: file_ActivityGetFriendGiftWishListReq_proto_depIdxs,
+ MessageInfos: file_ActivityGetFriendGiftWishListReq_proto_msgTypes,
+ }.Build()
+ File_ActivityGetFriendGiftWishListReq_proto = out.File
+ file_ActivityGetFriendGiftWishListReq_proto_rawDesc = nil
+ file_ActivityGetFriendGiftWishListReq_proto_goTypes = nil
+ file_ActivityGetFriendGiftWishListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityGetFriendGiftWishListRsp.pb.go b/protocol/proto/ActivityGetFriendGiftWishListRsp.pb.go
new file mode 100644
index 00000000..9bdea590
--- /dev/null
+++ b/protocol/proto/ActivityGetFriendGiftWishListRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityGetFriendGiftWishListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8253
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityGetFriendGiftWishListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FriendGiftWishList []*ActivityFriendGiftWishData `protobuf:"bytes,11,rep,name=friend_gift_wish_list,json=friendGiftWishList,proto3" json:"friend_gift_wish_list,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityGetFriendGiftWishListRsp) Reset() {
+ *x = ActivityGetFriendGiftWishListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityGetFriendGiftWishListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityGetFriendGiftWishListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityGetFriendGiftWishListRsp) ProtoMessage() {}
+
+func (x *ActivityGetFriendGiftWishListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityGetFriendGiftWishListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityGetFriendGiftWishListRsp.ProtoReflect.Descriptor instead.
+func (*ActivityGetFriendGiftWishListRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityGetFriendGiftWishListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityGetFriendGiftWishListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivityGetFriendGiftWishListRsp) GetFriendGiftWishList() []*ActivityFriendGiftWishData {
+ if x != nil {
+ return x.FriendGiftWishList
+ }
+ return nil
+}
+
+func (x *ActivityGetFriendGiftWishListRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityGetFriendGiftWishListRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityGetFriendGiftWishListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47,
+ 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xb3, 0x01, 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65,
+ 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x4c,
+ 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x54, 0x0a, 0x15, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f,
+ 0x77, 0x69, 0x73, 0x68, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x12, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69,
+ 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityGetFriendGiftWishListRsp_proto_rawDescOnce sync.Once
+ file_ActivityGetFriendGiftWishListRsp_proto_rawDescData = file_ActivityGetFriendGiftWishListRsp_proto_rawDesc
+)
+
+func file_ActivityGetFriendGiftWishListRsp_proto_rawDescGZIP() []byte {
+ file_ActivityGetFriendGiftWishListRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityGetFriendGiftWishListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityGetFriendGiftWishListRsp_proto_rawDescData)
+ })
+ return file_ActivityGetFriendGiftWishListRsp_proto_rawDescData
+}
+
+var file_ActivityGetFriendGiftWishListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityGetFriendGiftWishListRsp_proto_goTypes = []interface{}{
+ (*ActivityGetFriendGiftWishListRsp)(nil), // 0: proto.ActivityGetFriendGiftWishListRsp
+ (*ActivityFriendGiftWishData)(nil), // 1: proto.ActivityFriendGiftWishData
+}
+var file_ActivityGetFriendGiftWishListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityGetFriendGiftWishListRsp.friend_gift_wish_list:type_name -> proto.ActivityFriendGiftWishData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityGetFriendGiftWishListRsp_proto_init() }
+func file_ActivityGetFriendGiftWishListRsp_proto_init() {
+ if File_ActivityGetFriendGiftWishListRsp_proto != nil {
+ return
+ }
+ file_ActivityFriendGiftWishData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityGetFriendGiftWishListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityGetFriendGiftWishListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityGetFriendGiftWishListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityGetFriendGiftWishListRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityGetFriendGiftWishListRsp_proto_depIdxs,
+ MessageInfos: file_ActivityGetFriendGiftWishListRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityGetFriendGiftWishListRsp_proto = out.File
+ file_ActivityGetFriendGiftWishListRsp_proto_rawDesc = nil
+ file_ActivityGetFriendGiftWishListRsp_proto_goTypes = nil
+ file_ActivityGetFriendGiftWishListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityGetRecvGiftListReq.pb.go b/protocol/proto/ActivityGetRecvGiftListReq.pb.go
new file mode 100644
index 00000000..6eb67a39
--- /dev/null
+++ b/protocol/proto/ActivityGetRecvGiftListReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityGetRecvGiftListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8725
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityGetRecvGiftListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,8,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityGetRecvGiftListReq) Reset() {
+ *x = ActivityGetRecvGiftListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityGetRecvGiftListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityGetRecvGiftListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityGetRecvGiftListReq) ProtoMessage() {}
+
+func (x *ActivityGetRecvGiftListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityGetRecvGiftListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityGetRecvGiftListReq.ProtoReflect.Descriptor instead.
+func (*ActivityGetRecvGiftListReq) Descriptor() ([]byte, []int) {
+ return file_ActivityGetRecvGiftListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityGetRecvGiftListReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityGetRecvGiftListReq_proto protoreflect.FileDescriptor
+
+var file_ActivityGetRecvGiftListReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63,
+ 0x76, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x1a, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x47, 0x69, 0x66, 0x74,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityGetRecvGiftListReq_proto_rawDescOnce sync.Once
+ file_ActivityGetRecvGiftListReq_proto_rawDescData = file_ActivityGetRecvGiftListReq_proto_rawDesc
+)
+
+func file_ActivityGetRecvGiftListReq_proto_rawDescGZIP() []byte {
+ file_ActivityGetRecvGiftListReq_proto_rawDescOnce.Do(func() {
+ file_ActivityGetRecvGiftListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityGetRecvGiftListReq_proto_rawDescData)
+ })
+ return file_ActivityGetRecvGiftListReq_proto_rawDescData
+}
+
+var file_ActivityGetRecvGiftListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityGetRecvGiftListReq_proto_goTypes = []interface{}{
+ (*ActivityGetRecvGiftListReq)(nil), // 0: proto.ActivityGetRecvGiftListReq
+}
+var file_ActivityGetRecvGiftListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityGetRecvGiftListReq_proto_init() }
+func file_ActivityGetRecvGiftListReq_proto_init() {
+ if File_ActivityGetRecvGiftListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityGetRecvGiftListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityGetRecvGiftListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityGetRecvGiftListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityGetRecvGiftListReq_proto_goTypes,
+ DependencyIndexes: file_ActivityGetRecvGiftListReq_proto_depIdxs,
+ MessageInfos: file_ActivityGetRecvGiftListReq_proto_msgTypes,
+ }.Build()
+ File_ActivityGetRecvGiftListReq_proto = out.File
+ file_ActivityGetRecvGiftListReq_proto_rawDesc = nil
+ file_ActivityGetRecvGiftListReq_proto_goTypes = nil
+ file_ActivityGetRecvGiftListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityGetRecvGiftListRsp.pb.go b/protocol/proto/ActivityGetRecvGiftListRsp.pb.go
new file mode 100644
index 00000000..96d97f3e
--- /dev/null
+++ b/protocol/proto/ActivityGetRecvGiftListRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityGetRecvGiftListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8120
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityGetRecvGiftListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RecvGiftList []*ActivityRecvGiftData `protobuf:"bytes,11,rep,name=recv_gift_list,json=recvGiftList,proto3" json:"recv_gift_list,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,6,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityGetRecvGiftListRsp) Reset() {
+ *x = ActivityGetRecvGiftListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityGetRecvGiftListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityGetRecvGiftListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityGetRecvGiftListRsp) ProtoMessage() {}
+
+func (x *ActivityGetRecvGiftListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityGetRecvGiftListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityGetRecvGiftListRsp.ProtoReflect.Descriptor instead.
+func (*ActivityGetRecvGiftListRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityGetRecvGiftListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityGetRecvGiftListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivityGetRecvGiftListRsp) GetRecvGiftList() []*ActivityRecvGiftData {
+ if x != nil {
+ return x.RecvGiftList
+ }
+ return nil
+}
+
+func (x *ActivityGetRecvGiftListRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityGetRecvGiftListRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityGetRecvGiftListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63,
+ 0x76, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x76, 0x47, 0x69, 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x41,
+ 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x76, 0x47, 0x69, 0x66, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x76, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityGetRecvGiftListRsp_proto_rawDescOnce sync.Once
+ file_ActivityGetRecvGiftListRsp_proto_rawDescData = file_ActivityGetRecvGiftListRsp_proto_rawDesc
+)
+
+func file_ActivityGetRecvGiftListRsp_proto_rawDescGZIP() []byte {
+ file_ActivityGetRecvGiftListRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityGetRecvGiftListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityGetRecvGiftListRsp_proto_rawDescData)
+ })
+ return file_ActivityGetRecvGiftListRsp_proto_rawDescData
+}
+
+var file_ActivityGetRecvGiftListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityGetRecvGiftListRsp_proto_goTypes = []interface{}{
+ (*ActivityGetRecvGiftListRsp)(nil), // 0: proto.ActivityGetRecvGiftListRsp
+ (*ActivityRecvGiftData)(nil), // 1: proto.ActivityRecvGiftData
+}
+var file_ActivityGetRecvGiftListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityGetRecvGiftListRsp.recv_gift_list:type_name -> proto.ActivityRecvGiftData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityGetRecvGiftListRsp_proto_init() }
+func file_ActivityGetRecvGiftListRsp_proto_init() {
+ if File_ActivityGetRecvGiftListRsp_proto != nil {
+ return
+ }
+ file_ActivityRecvGiftData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityGetRecvGiftListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityGetRecvGiftListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityGetRecvGiftListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityGetRecvGiftListRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityGetRecvGiftListRsp_proto_depIdxs,
+ MessageInfos: file_ActivityGetRecvGiftListRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityGetRecvGiftListRsp_proto = out.File
+ file_ActivityGetRecvGiftListRsp_proto_rawDesc = nil
+ file_ActivityGetRecvGiftListRsp_proto_goTypes = nil
+ file_ActivityGetRecvGiftListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityGiveFriendGiftReq.pb.go b/protocol/proto/ActivityGiveFriendGiftReq.pb.go
new file mode 100644
index 00000000..b5720ff8
--- /dev/null
+++ b/protocol/proto/ActivityGiveFriendGiftReq.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityGiveFriendGiftReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8233
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityGiveFriendGiftReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,5,opt,name=uid,proto3" json:"uid,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ GiftNumMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=gift_num_map,json=giftNumMap,proto3" json:"gift_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *ActivityGiveFriendGiftReq) Reset() {
+ *x = ActivityGiveFriendGiftReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityGiveFriendGiftReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityGiveFriendGiftReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityGiveFriendGiftReq) ProtoMessage() {}
+
+func (x *ActivityGiveFriendGiftReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityGiveFriendGiftReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityGiveFriendGiftReq.ProtoReflect.Descriptor instead.
+func (*ActivityGiveFriendGiftReq) Descriptor() ([]byte, []int) {
+ return file_ActivityGiveFriendGiftReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityGiveFriendGiftReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *ActivityGiveFriendGiftReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityGiveFriendGiftReq) GetGiftNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GiftNumMap
+ }
+ return nil
+}
+
+var File_ActivityGiveFriendGiftReq_proto protoreflect.FileDescriptor
+
+var file_ActivityGiveFriendGiftReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x01, 0x0a, 0x19, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47,
+ 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0c, 0x67, 0x69, 0x66,
+ 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0a, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x1a, 0x3d, 0x0a,
+ 0x0f, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityGiveFriendGiftReq_proto_rawDescOnce sync.Once
+ file_ActivityGiveFriendGiftReq_proto_rawDescData = file_ActivityGiveFriendGiftReq_proto_rawDesc
+)
+
+func file_ActivityGiveFriendGiftReq_proto_rawDescGZIP() []byte {
+ file_ActivityGiveFriendGiftReq_proto_rawDescOnce.Do(func() {
+ file_ActivityGiveFriendGiftReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityGiveFriendGiftReq_proto_rawDescData)
+ })
+ return file_ActivityGiveFriendGiftReq_proto_rawDescData
+}
+
+var file_ActivityGiveFriendGiftReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ActivityGiveFriendGiftReq_proto_goTypes = []interface{}{
+ (*ActivityGiveFriendGiftReq)(nil), // 0: proto.ActivityGiveFriendGiftReq
+ nil, // 1: proto.ActivityGiveFriendGiftReq.GiftNumMapEntry
+}
+var file_ActivityGiveFriendGiftReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityGiveFriendGiftReq.gift_num_map:type_name -> proto.ActivityGiveFriendGiftReq.GiftNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityGiveFriendGiftReq_proto_init() }
+func file_ActivityGiveFriendGiftReq_proto_init() {
+ if File_ActivityGiveFriendGiftReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityGiveFriendGiftReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityGiveFriendGiftReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityGiveFriendGiftReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityGiveFriendGiftReq_proto_goTypes,
+ DependencyIndexes: file_ActivityGiveFriendGiftReq_proto_depIdxs,
+ MessageInfos: file_ActivityGiveFriendGiftReq_proto_msgTypes,
+ }.Build()
+ File_ActivityGiveFriendGiftReq_proto = out.File
+ file_ActivityGiveFriendGiftReq_proto_rawDesc = nil
+ file_ActivityGiveFriendGiftReq_proto_goTypes = nil
+ file_ActivityGiveFriendGiftReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityGiveFriendGiftRsp.pb.go b/protocol/proto/ActivityGiveFriendGiftRsp.pb.go
new file mode 100644
index 00000000..47c2d58c
--- /dev/null
+++ b/protocol/proto/ActivityGiveFriendGiftRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityGiveFriendGiftRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8696
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityGiveFriendGiftRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LimitGiftList []uint32 `protobuf:"varint,3,rep,packed,name=limit_gift_list,json=limitGiftList,proto3" json:"limit_gift_list,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,4,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ActivityGiveFriendGiftRsp) Reset() {
+ *x = ActivityGiveFriendGiftRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityGiveFriendGiftRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityGiveFriendGiftRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityGiveFriendGiftRsp) ProtoMessage() {}
+
+func (x *ActivityGiveFriendGiftRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityGiveFriendGiftRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityGiveFriendGiftRsp.ProtoReflect.Descriptor instead.
+func (*ActivityGiveFriendGiftRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityGiveFriendGiftRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityGiveFriendGiftRsp) GetLimitGiftList() []uint32 {
+ if x != nil {
+ return x.LimitGiftList
+ }
+ return nil
+}
+
+func (x *ActivityGiveFriendGiftRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityGiveFriendGiftRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ActivityGiveFriendGiftRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityGiveFriendGiftRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x19, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x47, 0x69,
+ 0x66, 0x74, 0x52, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x67,
+ 0x69, 0x66, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d,
+ 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x47, 0x69, 0x66, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityGiveFriendGiftRsp_proto_rawDescOnce sync.Once
+ file_ActivityGiveFriendGiftRsp_proto_rawDescData = file_ActivityGiveFriendGiftRsp_proto_rawDesc
+)
+
+func file_ActivityGiveFriendGiftRsp_proto_rawDescGZIP() []byte {
+ file_ActivityGiveFriendGiftRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityGiveFriendGiftRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityGiveFriendGiftRsp_proto_rawDescData)
+ })
+ return file_ActivityGiveFriendGiftRsp_proto_rawDescData
+}
+
+var file_ActivityGiveFriendGiftRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityGiveFriendGiftRsp_proto_goTypes = []interface{}{
+ (*ActivityGiveFriendGiftRsp)(nil), // 0: proto.ActivityGiveFriendGiftRsp
+}
+var file_ActivityGiveFriendGiftRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityGiveFriendGiftRsp_proto_init() }
+func file_ActivityGiveFriendGiftRsp_proto_init() {
+ if File_ActivityGiveFriendGiftRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityGiveFriendGiftRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityGiveFriendGiftRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityGiveFriendGiftRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityGiveFriendGiftRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityGiveFriendGiftRsp_proto_depIdxs,
+ MessageInfos: file_ActivityGiveFriendGiftRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityGiveFriendGiftRsp_proto = out.File
+ file_ActivityGiveFriendGiftRsp_proto_rawDesc = nil
+ file_ActivityGiveFriendGiftRsp_proto_goTypes = nil
+ file_ActivityGiveFriendGiftRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityHaveRecvGiftNotify.pb.go b/protocol/proto/ActivityHaveRecvGiftNotify.pb.go
new file mode 100644
index 00000000..176fb3d2
--- /dev/null
+++ b/protocol/proto/ActivityHaveRecvGiftNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityHaveRecvGiftNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8733
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityHaveRecvGiftNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,7,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivityHaveRecvGiftNotify) Reset() {
+ *x = ActivityHaveRecvGiftNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityHaveRecvGiftNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityHaveRecvGiftNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityHaveRecvGiftNotify) ProtoMessage() {}
+
+func (x *ActivityHaveRecvGiftNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityHaveRecvGiftNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityHaveRecvGiftNotify.ProtoReflect.Descriptor instead.
+func (*ActivityHaveRecvGiftNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityHaveRecvGiftNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityHaveRecvGiftNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivityHaveRecvGiftNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityHaveRecvGiftNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x61, 0x76, 0x65, 0x52, 0x65,
+ 0x63, 0x76, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x1a, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x48, 0x61, 0x76, 0x65, 0x52, 0x65, 0x63, 0x76, 0x47, 0x69, 0x66,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityHaveRecvGiftNotify_proto_rawDescOnce sync.Once
+ file_ActivityHaveRecvGiftNotify_proto_rawDescData = file_ActivityHaveRecvGiftNotify_proto_rawDesc
+)
+
+func file_ActivityHaveRecvGiftNotify_proto_rawDescGZIP() []byte {
+ file_ActivityHaveRecvGiftNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityHaveRecvGiftNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityHaveRecvGiftNotify_proto_rawDescData)
+ })
+ return file_ActivityHaveRecvGiftNotify_proto_rawDescData
+}
+
+var file_ActivityHaveRecvGiftNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityHaveRecvGiftNotify_proto_goTypes = []interface{}{
+ (*ActivityHaveRecvGiftNotify)(nil), // 0: proto.ActivityHaveRecvGiftNotify
+}
+var file_ActivityHaveRecvGiftNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityHaveRecvGiftNotify_proto_init() }
+func file_ActivityHaveRecvGiftNotify_proto_init() {
+ if File_ActivityHaveRecvGiftNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityHaveRecvGiftNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityHaveRecvGiftNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityHaveRecvGiftNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityHaveRecvGiftNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityHaveRecvGiftNotify_proto_depIdxs,
+ MessageInfos: file_ActivityHaveRecvGiftNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityHaveRecvGiftNotify_proto = out.File
+ file_ActivityHaveRecvGiftNotify_proto_rawDesc = nil
+ file_ActivityHaveRecvGiftNotify_proto_goTypes = nil
+ file_ActivityHaveRecvGiftNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityInfo.pb.go b/protocol/proto/ActivityInfo.pb.go
new file mode 100644
index 00000000..4226db9f
--- /dev/null
+++ b/protocol/proto/ActivityInfo.pb.go
@@ -0,0 +1,1970 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinished bool `protobuf:"varint,6,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ ActivityType uint32 `protobuf:"varint,4,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"`
+ BeginTime uint32 `protobuf:"varint,8,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ TakenRewardList []uint32 `protobuf:"varint,329,rep,packed,name=taken_reward_list,json=takenRewardList,proto3" json:"taken_reward_list,omitempty"`
+ IsHidden bool `protobuf:"varint,919,opt,name=is_hidden,json=isHidden,proto3" json:"is_hidden,omitempty"`
+ IsQuickOpen bool `protobuf:"varint,1449,opt,name=is_quick_open,json=isQuickOpen,proto3" json:"is_quick_open,omitempty"`
+ MeetCondList []uint32 `protobuf:"varint,10,rep,packed,name=meet_cond_list,json=meetCondList,proto3" json:"meet_cond_list,omitempty"`
+ ActivityCoinMap map[uint32]uint32 `protobuf:"bytes,682,rep,name=activity_coin_map,json=activityCoinMap,proto3" json:"activity_coin_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ IsBannerCleared bool `protobuf:"varint,102,opt,name=is_banner_cleared,json=isBannerCleared,proto3" json:"is_banner_cleared,omitempty"`
+ CurScore uint32 `protobuf:"varint,1906,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ FirstDayStartTime uint32 `protobuf:"varint,592,opt,name=first_day_start_time,json=firstDayStartTime,proto3" json:"first_day_start_time,omitempty"`
+ ActivityId uint32 `protobuf:"varint,12,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ IsPlayOpenAnim bool `protobuf:"varint,13,opt,name=is_play_open_anim,json=isPlayOpenAnim,proto3" json:"is_play_open_anim,omitempty"`
+ EndTime uint32 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ ScoreLimit uint32 `protobuf:"varint,1958,opt,name=score_limit,json=scoreLimit,proto3" json:"score_limit,omitempty"`
+ WishGiftNumMap map[uint32]uint32 `protobuf:"bytes,1399,rep,name=wish_gift_num_map,json=wishGiftNumMap,proto3" json:"wish_gift_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ SelectedAvatarRewardId uint32 `protobuf:"varint,1290,opt,name=selected_avatar_reward_id,json=selectedAvatarRewardId,proto3" json:"selected_avatar_reward_id,omitempty"`
+ IsCommonContentClosed bool `protobuf:"varint,1963,opt,name=is_common_content_closed,json=isCommonContentClosed,proto3" json:"is_common_content_closed,omitempty"`
+ ExpireCondList []uint32 `protobuf:"varint,3,rep,packed,name=expire_cond_list,json=expireCondList,proto3" json:"expire_cond_list,omitempty"`
+ ActivityPushTipsDataList []*ActivityPushTipsData `protobuf:"bytes,864,rep,name=activity_push_tips_data_list,json=activityPushTipsDataList,proto3" json:"activity_push_tips_data_list,omitempty"`
+ WatcherInfoList []*ActivityWatcherInfo `protobuf:"bytes,2,rep,name=watcher_info_list,json=watcherInfoList,proto3" json:"watcher_info_list,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,15,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ IsStarting bool `protobuf:"varint,9,opt,name=is_starting,json=isStarting,proto3" json:"is_starting,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *ActivityInfo_SamLampInfo
+ // *ActivityInfo_CrucibleInfo
+ // *ActivityInfo_SalesmanInfo
+ // *ActivityInfo_TrialAvatarInfo
+ // *ActivityInfo_DeliveryInfo
+ // *ActivityInfo_AsterInfo
+ // *ActivityInfo_FlightInfo
+ // *ActivityInfo_DragonSpineInfo
+ // *ActivityInfo_EffigyInfo
+ // *ActivityInfo_TreasureMapInfo
+ // *ActivityInfo_BlessingInfo
+ // *ActivityInfo_SeaLampInfo
+ // *ActivityInfo_ExpeditionInfo
+ // *ActivityInfo_ArenaChallengeInfo
+ // *ActivityInfo_FleurFairInfo
+ // *ActivityInfo_WaterSpiritInfo
+ // *ActivityInfo_ChannelerSlabInfo
+ // *ActivityInfo_MistTrialActivityInfo
+ // *ActivityInfo_HideAndSeekInfo
+ // *ActivityInfo_FindHilichurlInfo
+ // *ActivityInfo_SummerTimeInfo
+ // *ActivityInfo_BuoyantCombatInfo
+ // *ActivityInfo_EchoShellInfo
+ // *ActivityInfo_BounceConjuringInfo
+ // *ActivityInfo_BlitzRushInfo
+ // *ActivityInfo_ChessInfo
+ // *ActivityInfo_SumoInfo
+ // *ActivityInfo_MoonfinTrialInfo
+ // *ActivityInfo_LunaRiteInfo
+ // *ActivityInfo_PlantFlowerInfo
+ // *ActivityInfo_MusicGameInfo
+ // *ActivityInfo_RoguelikeDungeonInfo
+ // *ActivityInfo_DigInfo
+ // *ActivityInfo_HachiInfo
+ // *ActivityInfo_WinterCampInfo
+ // *ActivityInfo_PotionInfo
+ // *ActivityInfo_TanukiTravelActivityInfo
+ // *ActivityInfo_LanternRiteActivityInfo
+ // *ActivityInfo_MichiaeMatsuriInfo
+ // *ActivityInfo_BartenderInfo
+ // *ActivityInfo_UgcInfo
+ // *ActivityInfo_CrystalLinkInfo
+ // *ActivityInfo_IrodoriInfo
+ // *ActivityInfo_PhotoInfo
+ // *ActivityInfo_SpiceInfo
+ // *ActivityInfo_GachaInfo
+ // *ActivityInfo_LuminanceStoneChallengeInfo
+ // *ActivityInfo_RogueDiaryInfo
+ // *ActivityInfo_SummerTimeV2Info
+ // *ActivityInfo_IslandPartyInfo
+ // *ActivityInfo_GearInfo
+ // *ActivityInfo_GravenInnocenceInfo
+ // *ActivityInfo_InstableSprayInfo
+ // *ActivityInfo_MuqadasPotionInfo
+ // *ActivityInfo_TreasureSeelieInfo
+ // *ActivityInfo_RockBoardExploreInfo
+ // *ActivityInfo_VintageInfo
+ // *ActivityInfo_WindFieldInfo
+ // *ActivityInfo_FungusFighterInfo
+ // *ActivityInfo_CharAmusementInfo
+ // *ActivityInfo_EffigyChallengeInfo
+ Detail isActivityInfo_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *ActivityInfo) Reset() {
+ *x = ActivityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityInfo) ProtoMessage() {}
+
+func (x *ActivityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityInfo.ProtoReflect.Descriptor instead.
+func (*ActivityInfo) Descriptor() ([]byte, []int) {
+ return file_ActivityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *ActivityInfo) GetActivityType() uint32 {
+ if x != nil {
+ return x.ActivityType
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetTakenRewardList() []uint32 {
+ if x != nil {
+ return x.TakenRewardList
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetIsHidden() bool {
+ if x != nil {
+ return x.IsHidden
+ }
+ return false
+}
+
+func (x *ActivityInfo) GetIsQuickOpen() bool {
+ if x != nil {
+ return x.IsQuickOpen
+ }
+ return false
+}
+
+func (x *ActivityInfo) GetMeetCondList() []uint32 {
+ if x != nil {
+ return x.MeetCondList
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetActivityCoinMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ActivityCoinMap
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetIsBannerCleared() bool {
+ if x != nil {
+ return x.IsBannerCleared
+ }
+ return false
+}
+
+func (x *ActivityInfo) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetFirstDayStartTime() uint32 {
+ if x != nil {
+ return x.FirstDayStartTime
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetIsPlayOpenAnim() bool {
+ if x != nil {
+ return x.IsPlayOpenAnim
+ }
+ return false
+}
+
+func (x *ActivityInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetScoreLimit() uint32 {
+ if x != nil {
+ return x.ScoreLimit
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetWishGiftNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.WishGiftNumMap
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetSelectedAvatarRewardId() uint32 {
+ if x != nil {
+ return x.SelectedAvatarRewardId
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetIsCommonContentClosed() bool {
+ if x != nil {
+ return x.IsCommonContentClosed
+ }
+ return false
+}
+
+func (x *ActivityInfo) GetExpireCondList() []uint32 {
+ if x != nil {
+ return x.ExpireCondList
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetActivityPushTipsDataList() []*ActivityPushTipsData {
+ if x != nil {
+ return x.ActivityPushTipsDataList
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetWatcherInfoList() []*ActivityWatcherInfo {
+ if x != nil {
+ return x.WatcherInfoList
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityInfo) GetIsStarting() bool {
+ if x != nil {
+ return x.IsStarting
+ }
+ return false
+}
+
+func (m *ActivityInfo) GetDetail() isActivityInfo_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetSamLampInfo() *SeaLampActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_SamLampInfo); ok {
+ return x.SamLampInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetCrucibleInfo() *CrucibleActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_CrucibleInfo); ok {
+ return x.CrucibleInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetSalesmanInfo() *SalesmanActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_SalesmanInfo); ok {
+ return x.SalesmanInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetTrialAvatarInfo() *TrialAvatarActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_TrialAvatarInfo); ok {
+ return x.TrialAvatarInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetDeliveryInfo() *DeliveryActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_DeliveryInfo); ok {
+ return x.DeliveryInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetAsterInfo() *AsterActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_AsterInfo); ok {
+ return x.AsterInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetFlightInfo() *FlightActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_FlightInfo); ok {
+ return x.FlightInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetDragonSpineInfo() *DragonSpineActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_DragonSpineInfo); ok {
+ return x.DragonSpineInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetEffigyInfo() *EffigyActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_EffigyInfo); ok {
+ return x.EffigyInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetTreasureMapInfo() *TreasureMapActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_TreasureMapInfo); ok {
+ return x.TreasureMapInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetBlessingInfo() *BlessingActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_BlessingInfo); ok {
+ return x.BlessingInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetSeaLampInfo() *SeaLampActivityInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_SeaLampInfo); ok {
+ return x.SeaLampInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetExpeditionInfo() *ExpeditionActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_ExpeditionInfo); ok {
+ return x.ExpeditionInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetArenaChallengeInfo() *ArenaChallengeActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_ArenaChallengeInfo); ok {
+ return x.ArenaChallengeInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetFleurFairInfo() *FleurFairActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_FleurFairInfo); ok {
+ return x.FleurFairInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetWaterSpiritInfo() *WaterSpiritActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_WaterSpiritInfo); ok {
+ return x.WaterSpiritInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetChannelerSlabInfo() *ChannelerSlabActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_ChannelerSlabInfo); ok {
+ return x.ChannelerSlabInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetMistTrialActivityInfo() *MistTrialActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_MistTrialActivityInfo); ok {
+ return x.MistTrialActivityInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetHideAndSeekInfo() *HideAndSeekActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_HideAndSeekInfo); ok {
+ return x.HideAndSeekInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetFindHilichurlInfo() *FindHilichurlDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_FindHilichurlInfo); ok {
+ return x.FindHilichurlInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetSummerTimeInfo() *SummerTimeDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_SummerTimeInfo); ok {
+ return x.SummerTimeInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetBuoyantCombatInfo() *BuoyantCombatDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_BuoyantCombatInfo); ok {
+ return x.BuoyantCombatInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetEchoShellInfo() *EchoShellDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_EchoShellInfo); ok {
+ return x.EchoShellInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetBounceConjuringInfo() *BounceConjuringActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_BounceConjuringInfo); ok {
+ return x.BounceConjuringInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetBlitzRushInfo() *BlitzRushActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_BlitzRushInfo); ok {
+ return x.BlitzRushInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetChessInfo() *ChessActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_ChessInfo); ok {
+ return x.ChessInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetSumoInfo() *SumoActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_SumoInfo); ok {
+ return x.SumoInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetMoonfinTrialInfo() *MoonfinTrialActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_MoonfinTrialInfo); ok {
+ return x.MoonfinTrialInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetLunaRiteInfo() *LunaRiteDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_LunaRiteInfo); ok {
+ return x.LunaRiteInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetPlantFlowerInfo() *PlantFlowerActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_PlantFlowerInfo); ok {
+ return x.PlantFlowerInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetMusicGameInfo() *MusicGameActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_MusicGameInfo); ok {
+ return x.MusicGameInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetRoguelikeDungeonInfo() *RoguelikeDungeonActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_RoguelikeDungeonInfo); ok {
+ return x.RoguelikeDungeonInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetDigInfo() *DigActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_DigInfo); ok {
+ return x.DigInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetHachiInfo() *HachiActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_HachiInfo); ok {
+ return x.HachiInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetWinterCampInfo() *WinterCampActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_WinterCampInfo); ok {
+ return x.WinterCampInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetPotionInfo() *PotionActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_PotionInfo); ok {
+ return x.PotionInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetTanukiTravelActivityInfo() *TanukiTravelActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_TanukiTravelActivityInfo); ok {
+ return x.TanukiTravelActivityInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetLanternRiteActivityInfo() *LanternRiteActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_LanternRiteActivityInfo); ok {
+ return x.LanternRiteActivityInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetMichiaeMatsuriInfo() *MichiaeMatsuriActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_MichiaeMatsuriInfo); ok {
+ return x.MichiaeMatsuriInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetBartenderInfo() *BartenderActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_BartenderInfo); ok {
+ return x.BartenderInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetUgcInfo() *UgcActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_UgcInfo); ok {
+ return x.UgcInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetCrystalLinkInfo() *CrystalLinkActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_CrystalLinkInfo); ok {
+ return x.CrystalLinkInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetIrodoriInfo() *IrodoriActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_IrodoriInfo); ok {
+ return x.IrodoriInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetPhotoInfo() *PhotoActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_PhotoInfo); ok {
+ return x.PhotoInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetSpiceInfo() *SpiceActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_SpiceInfo); ok {
+ return x.SpiceInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetGachaInfo() *GachaActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_GachaInfo); ok {
+ return x.GachaInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetLuminanceStoneChallengeInfo() *LuminanceStoneChallengeActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_LuminanceStoneChallengeInfo); ok {
+ return x.LuminanceStoneChallengeInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetRogueDiaryInfo() *RogueDiaryActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_RogueDiaryInfo); ok {
+ return x.RogueDiaryInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetSummerTimeV2Info() *SummerTimeV2DetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_SummerTimeV2Info); ok {
+ return x.SummerTimeV2Info
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetIslandPartyInfo() *IslandPartyDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_IslandPartyInfo); ok {
+ return x.IslandPartyInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetGearInfo() *GearActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_GearInfo); ok {
+ return x.GearInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetGravenInnocenceInfo() *GravenInnocenceDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_GravenInnocenceInfo); ok {
+ return x.GravenInnocenceInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetInstableSprayInfo() *InstableSprayDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_InstableSprayInfo); ok {
+ return x.InstableSprayInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetMuqadasPotionInfo() *MuqadasPotionActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_MuqadasPotionInfo); ok {
+ return x.MuqadasPotionInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetTreasureSeelieInfo() *TreasureSeelieActivityDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_TreasureSeelieInfo); ok {
+ return x.TreasureSeelieInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetRockBoardExploreInfo() *RockBoardExploreDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_RockBoardExploreInfo); ok {
+ return x.RockBoardExploreInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetVintageInfo() *VintageDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_VintageInfo); ok {
+ return x.VintageInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetWindFieldInfo() *WindFieldDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_WindFieldInfo); ok {
+ return x.WindFieldInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetFungusFighterInfo() *FungusFighterDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_FungusFighterInfo); ok {
+ return x.FungusFighterInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetCharAmusementInfo() *CharAmusementDetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_CharAmusementInfo); ok {
+ return x.CharAmusementInfo
+ }
+ return nil
+}
+
+func (x *ActivityInfo) GetEffigyChallengeInfo() *EffigyChallengeV2DetailInfo {
+ if x, ok := x.GetDetail().(*ActivityInfo_EffigyChallengeInfo); ok {
+ return x.EffigyChallengeInfo
+ }
+ return nil
+}
+
+type isActivityInfo_Detail interface {
+ isActivityInfo_Detail()
+}
+
+type ActivityInfo_SamLampInfo struct {
+ SamLampInfo *SeaLampActivityDetailInfo `protobuf:"bytes,7,opt,name=sam_lamp_info,json=samLampInfo,proto3,oneof"`
+}
+
+type ActivityInfo_CrucibleInfo struct {
+ CrucibleInfo *CrucibleActivityDetailInfo `protobuf:"bytes,14,opt,name=crucible_info,json=crucibleInfo,proto3,oneof"`
+}
+
+type ActivityInfo_SalesmanInfo struct {
+ SalesmanInfo *SalesmanActivityDetailInfo `protobuf:"bytes,11,opt,name=salesman_info,json=salesmanInfo,proto3,oneof"`
+}
+
+type ActivityInfo_TrialAvatarInfo struct {
+ TrialAvatarInfo *TrialAvatarActivityDetailInfo `protobuf:"bytes,1,opt,name=trial_avatar_info,json=trialAvatarInfo,proto3,oneof"`
+}
+
+type ActivityInfo_DeliveryInfo struct {
+ DeliveryInfo *DeliveryActivityDetailInfo `protobuf:"bytes,1092,opt,name=delivery_info,json=deliveryInfo,proto3,oneof"`
+}
+
+type ActivityInfo_AsterInfo struct {
+ AsterInfo *AsterActivityDetailInfo `protobuf:"bytes,557,opt,name=aster_info,json=asterInfo,proto3,oneof"`
+}
+
+type ActivityInfo_FlightInfo struct {
+ FlightInfo *FlightActivityDetailInfo `protobuf:"bytes,1365,opt,name=flight_info,json=flightInfo,proto3,oneof"`
+}
+
+type ActivityInfo_DragonSpineInfo struct {
+ DragonSpineInfo *DragonSpineActivityDetailInfo `protobuf:"bytes,1727,opt,name=dragon_spine_info,json=dragonSpineInfo,proto3,oneof"`
+}
+
+type ActivityInfo_EffigyInfo struct {
+ EffigyInfo *EffigyActivityDetailInfo `protobuf:"bytes,391,opt,name=effigy_info,json=effigyInfo,proto3,oneof"`
+}
+
+type ActivityInfo_TreasureMapInfo struct {
+ TreasureMapInfo *TreasureMapActivityDetailInfo `protobuf:"bytes,1114,opt,name=treasure_map_info,json=treasureMapInfo,proto3,oneof"`
+}
+
+type ActivityInfo_BlessingInfo struct {
+ BlessingInfo *BlessingActivityDetailInfo `protobuf:"bytes,1869,opt,name=blessing_info,json=blessingInfo,proto3,oneof"`
+}
+
+type ActivityInfo_SeaLampInfo struct {
+ SeaLampInfo *SeaLampActivityInfo `protobuf:"bytes,494,opt,name=sea_lamp_info,json=seaLampInfo,proto3,oneof"`
+}
+
+type ActivityInfo_ExpeditionInfo struct {
+ ExpeditionInfo *ExpeditionActivityDetailInfo `protobuf:"bytes,202,opt,name=expedition_info,json=expeditionInfo,proto3,oneof"`
+}
+
+type ActivityInfo_ArenaChallengeInfo struct {
+ ArenaChallengeInfo *ArenaChallengeActivityDetailInfo `protobuf:"bytes,859,opt,name=arena_challenge_info,json=arenaChallengeInfo,proto3,oneof"`
+}
+
+type ActivityInfo_FleurFairInfo struct {
+ FleurFairInfo *FleurFairActivityDetailInfo `protobuf:"bytes,857,opt,name=fleur_fair_info,json=fleurFairInfo,proto3,oneof"`
+}
+
+type ActivityInfo_WaterSpiritInfo struct {
+ WaterSpiritInfo *WaterSpiritActivityDetailInfo `protobuf:"bytes,1675,opt,name=water_spirit_info,json=waterSpiritInfo,proto3,oneof"`
+}
+
+type ActivityInfo_ChannelerSlabInfo struct {
+ ChannelerSlabInfo *ChannelerSlabActivityDetailInfo `protobuf:"bytes,1015,opt,name=channeler_slab_info,json=channelerSlabInfo,proto3,oneof"`
+}
+
+type ActivityInfo_MistTrialActivityInfo struct {
+ MistTrialActivityInfo *MistTrialActivityDetailInfo `protobuf:"bytes,156,opt,name=mist_trial_activity_info,json=mistTrialActivityInfo,proto3,oneof"`
+}
+
+type ActivityInfo_HideAndSeekInfo struct {
+ HideAndSeekInfo *HideAndSeekActivityDetailInfo `protobuf:"bytes,427,opt,name=hide_and_seek_info,json=hideAndSeekInfo,proto3,oneof"`
+}
+
+type ActivityInfo_FindHilichurlInfo struct {
+ FindHilichurlInfo *FindHilichurlDetailInfo `protobuf:"bytes,1411,opt,name=find_hilichurl_info,json=findHilichurlInfo,proto3,oneof"`
+}
+
+type ActivityInfo_SummerTimeInfo struct {
+ SummerTimeInfo *SummerTimeDetailInfo `protobuf:"bytes,1372,opt,name=summer_time_info,json=summerTimeInfo,proto3,oneof"`
+}
+
+type ActivityInfo_BuoyantCombatInfo struct {
+ BuoyantCombatInfo *BuoyantCombatDetailInfo `protobuf:"bytes,1842,opt,name=buoyant_combat_info,json=buoyantCombatInfo,proto3,oneof"`
+}
+
+type ActivityInfo_EchoShellInfo struct {
+ EchoShellInfo *EchoShellDetailInfo `protobuf:"bytes,1113,opt,name=echo_shell_info,json=echoShellInfo,proto3,oneof"`
+}
+
+type ActivityInfo_BounceConjuringInfo struct {
+ BounceConjuringInfo *BounceConjuringActivityDetailInfo `protobuf:"bytes,767,opt,name=bounce_conjuring_info,json=bounceConjuringInfo,proto3,oneof"`
+}
+
+type ActivityInfo_BlitzRushInfo struct {
+ BlitzRushInfo *BlitzRushActivityDetailInfo `protobuf:"bytes,794,opt,name=blitz_rush_info,json=blitzRushInfo,proto3,oneof"`
+}
+
+type ActivityInfo_ChessInfo struct {
+ ChessInfo *ChessActivityDetailInfo `protobuf:"bytes,927,opt,name=chess_info,json=chessInfo,proto3,oneof"`
+}
+
+type ActivityInfo_SumoInfo struct {
+ SumoInfo *SumoActivityDetailInfo `protobuf:"bytes,1261,opt,name=sumo_info,json=sumoInfo,proto3,oneof"`
+}
+
+type ActivityInfo_MoonfinTrialInfo struct {
+ MoonfinTrialInfo *MoonfinTrialActivityDetailInfo `protobuf:"bytes,1588,opt,name=moonfin_trial_info,json=moonfinTrialInfo,proto3,oneof"`
+}
+
+type ActivityInfo_LunaRiteInfo struct {
+ LunaRiteInfo *LunaRiteDetailInfo `protobuf:"bytes,814,opt,name=luna_rite_info,json=lunaRiteInfo,proto3,oneof"`
+}
+
+type ActivityInfo_PlantFlowerInfo struct {
+ PlantFlowerInfo *PlantFlowerActivityDetailInfo `protobuf:"bytes,54,opt,name=plant_flower_info,json=plantFlowerInfo,proto3,oneof"`
+}
+
+type ActivityInfo_MusicGameInfo struct {
+ MusicGameInfo *MusicGameActivityDetailInfo `protobuf:"bytes,460,opt,name=music_game_info,json=musicGameInfo,proto3,oneof"`
+}
+
+type ActivityInfo_RoguelikeDungeonInfo struct {
+ RoguelikeDungeonInfo *RoguelikeDungeonActivityDetailInfo `protobuf:"bytes,219,opt,name=roguelike_dungeon_info,json=roguelikeDungeonInfo,proto3,oneof"`
+}
+
+type ActivityInfo_DigInfo struct {
+ DigInfo *DigActivityDetailInfo `protobuf:"bytes,403,opt,name=dig_info,json=digInfo,proto3,oneof"`
+}
+
+type ActivityInfo_HachiInfo struct {
+ HachiInfo *HachiActivityDetailInfo `protobuf:"bytes,491,opt,name=hachi_info,json=hachiInfo,proto3,oneof"`
+}
+
+type ActivityInfo_WinterCampInfo struct {
+ WinterCampInfo *WinterCampActivityDetailInfo `protobuf:"bytes,1083,opt,name=winter_camp_info,json=winterCampInfo,proto3,oneof"`
+}
+
+type ActivityInfo_PotionInfo struct {
+ PotionInfo *PotionActivityDetailInfo `protobuf:"bytes,1273,opt,name=potion_info,json=potionInfo,proto3,oneof"`
+}
+
+type ActivityInfo_TanukiTravelActivityInfo struct {
+ TanukiTravelActivityInfo *TanukiTravelActivityDetailInfo `protobuf:"bytes,1796,opt,name=tanuki_travel_activity_info,json=tanukiTravelActivityInfo,proto3,oneof"`
+}
+
+type ActivityInfo_LanternRiteActivityInfo struct {
+ LanternRiteActivityInfo *LanternRiteActivityDetailInfo `protobuf:"bytes,1876,opt,name=lantern_rite_activity_info,json=lanternRiteActivityInfo,proto3,oneof"`
+}
+
+type ActivityInfo_MichiaeMatsuriInfo struct {
+ MichiaeMatsuriInfo *MichiaeMatsuriActivityDetailInfo `protobuf:"bytes,194,opt,name=michiae_matsuri_info,json=michiaeMatsuriInfo,proto3,oneof"`
+}
+
+type ActivityInfo_BartenderInfo struct {
+ BartenderInfo *BartenderActivityDetailInfo `protobuf:"bytes,1725,opt,name=bartender_info,json=bartenderInfo,proto3,oneof"`
+}
+
+type ActivityInfo_UgcInfo struct {
+ UgcInfo *UgcActivityDetailInfo `protobuf:"bytes,703,opt,name=ugc_info,json=ugcInfo,proto3,oneof"`
+}
+
+type ActivityInfo_CrystalLinkInfo struct {
+ CrystalLinkInfo *CrystalLinkActivityDetailInfo `protobuf:"bytes,1226,opt,name=crystal_link_info,json=crystalLinkInfo,proto3,oneof"`
+}
+
+type ActivityInfo_IrodoriInfo struct {
+ IrodoriInfo *IrodoriActivityDetailInfo `protobuf:"bytes,750,opt,name=irodori_info,json=irodoriInfo,proto3,oneof"`
+}
+
+type ActivityInfo_PhotoInfo struct {
+ PhotoInfo *PhotoActivityDetailInfo `protobuf:"bytes,328,opt,name=photo_info,json=photoInfo,proto3,oneof"`
+}
+
+type ActivityInfo_SpiceInfo struct {
+ SpiceInfo *SpiceActivityDetailInfo `protobuf:"bytes,1891,opt,name=spice_info,json=spiceInfo,proto3,oneof"`
+}
+
+type ActivityInfo_GachaInfo struct {
+ GachaInfo *GachaActivityDetailInfo `protobuf:"bytes,825,opt,name=gacha_info,json=gachaInfo,proto3,oneof"`
+}
+
+type ActivityInfo_LuminanceStoneChallengeInfo struct {
+ LuminanceStoneChallengeInfo *LuminanceStoneChallengeActivityDetailInfo `protobuf:"bytes,1308,opt,name=luminance_stone_challenge_info,json=luminanceStoneChallengeInfo,proto3,oneof"`
+}
+
+type ActivityInfo_RogueDiaryInfo struct {
+ RogueDiaryInfo *RogueDiaryActivityDetailInfo `protobuf:"bytes,812,opt,name=rogue_diary_info,json=rogueDiaryInfo,proto3,oneof"`
+}
+
+type ActivityInfo_SummerTimeV2Info struct {
+ SummerTimeV2Info *SummerTimeV2DetailInfo `protobuf:"bytes,622,opt,name=summer_time_v2_info,json=summerTimeV2Info,proto3,oneof"`
+}
+
+type ActivityInfo_IslandPartyInfo struct {
+ IslandPartyInfo *IslandPartyDetailInfo `protobuf:"bytes,1885,opt,name=island_party_info,json=islandPartyInfo,proto3,oneof"`
+}
+
+type ActivityInfo_GearInfo struct {
+ GearInfo *GearActivityDetailInfo `protobuf:"bytes,722,opt,name=gear_info,json=gearInfo,proto3,oneof"`
+}
+
+type ActivityInfo_GravenInnocenceInfo struct {
+ GravenInnocenceInfo *GravenInnocenceDetailInfo `protobuf:"bytes,1911,opt,name=graven_innocence_info,json=gravenInnocenceInfo,proto3,oneof"`
+}
+
+type ActivityInfo_InstableSprayInfo struct {
+ InstableSprayInfo *InstableSprayDetailInfo `protobuf:"bytes,1043,opt,name=instable_spray_info,json=instableSprayInfo,proto3,oneof"`
+}
+
+type ActivityInfo_MuqadasPotionInfo struct {
+ MuqadasPotionInfo *MuqadasPotionActivityDetailInfo `protobuf:"bytes,1157,opt,name=muqadas_potion_info,json=muqadasPotionInfo,proto3,oneof"`
+}
+
+type ActivityInfo_TreasureSeelieInfo struct {
+ TreasureSeelieInfo *TreasureSeelieActivityDetailInfo `protobuf:"bytes,966,opt,name=treasure_seelie_info,json=treasureSeelieInfo,proto3,oneof"`
+}
+
+type ActivityInfo_RockBoardExploreInfo struct {
+ RockBoardExploreInfo *RockBoardExploreDetailInfo `protobuf:"bytes,1078,opt,name=rock_board_explore_info,json=rockBoardExploreInfo,proto3,oneof"`
+}
+
+type ActivityInfo_VintageInfo struct {
+ VintageInfo *VintageDetailInfo `protobuf:"bytes,445,opt,name=vintage_info,json=vintageInfo,proto3,oneof"`
+}
+
+type ActivityInfo_WindFieldInfo struct {
+ WindFieldInfo *WindFieldDetailInfo `protobuf:"bytes,352,opt,name=wind_field_info,json=windFieldInfo,proto3,oneof"`
+}
+
+type ActivityInfo_FungusFighterInfo struct {
+ FungusFighterInfo *FungusFighterDetailInfo `protobuf:"bytes,490,opt,name=fungus_fighter_info,json=fungusFighterInfo,proto3,oneof"`
+}
+
+type ActivityInfo_CharAmusementInfo struct {
+ CharAmusementInfo *CharAmusementDetailInfo `protobuf:"bytes,1496,opt,name=char_amusement_info,json=charAmusementInfo,proto3,oneof"`
+}
+
+type ActivityInfo_EffigyChallengeInfo struct {
+ EffigyChallengeInfo *EffigyChallengeV2DetailInfo `protobuf:"bytes,1025,opt,name=effigy_challenge_info,json=effigyChallengeInfo,proto3,oneof"`
+}
+
+func (*ActivityInfo_SamLampInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_CrucibleInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_SalesmanInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_TrialAvatarInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_DeliveryInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_AsterInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_FlightInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_DragonSpineInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_EffigyInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_TreasureMapInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_BlessingInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_SeaLampInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_ExpeditionInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_ArenaChallengeInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_FleurFairInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_WaterSpiritInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_ChannelerSlabInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_MistTrialActivityInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_HideAndSeekInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_FindHilichurlInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_SummerTimeInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_BuoyantCombatInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_EchoShellInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_BounceConjuringInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_BlitzRushInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_ChessInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_SumoInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_MoonfinTrialInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_LunaRiteInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_PlantFlowerInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_MusicGameInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_RoguelikeDungeonInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_DigInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_HachiInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_WinterCampInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_PotionInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_TanukiTravelActivityInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_LanternRiteActivityInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_MichiaeMatsuriInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_BartenderInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_UgcInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_CrystalLinkInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_IrodoriInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_PhotoInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_SpiceInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_GachaInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_LuminanceStoneChallengeInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_RogueDiaryInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_SummerTimeV2Info) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_IslandPartyInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_GearInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_GravenInnocenceInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_InstableSprayInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_MuqadasPotionInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_TreasureSeelieInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_RockBoardExploreInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_VintageInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_WindFieldInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_FungusFighterInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_CharAmusementInfo) isActivityInfo_Detail() {}
+
+func (*ActivityInfo_EffigyChallengeInfo) isActivityInfo_Detail() {}
+
+var File_ActivityInfo_proto protoreflect.FileDescriptor
+
+var file_ActivityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x26, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41, 0x73, 0x74, 0x65,
+ 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x42, 0x61, 0x72, 0x74, 0x65,
+ 0x6e, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x42, 0x6c,
+ 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21,
+ 0x42, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x27, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69,
+ 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x42, 0x75, 0x6f, 0x79,
+ 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x43, 0x68, 0x61, 0x6e, 0x6e,
+ 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1d, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20,
+ 0x43, 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x23, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e,
+ 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x45, 0x63, 0x68, 0x6f, 0x53,
+ 0x68, 0x65, 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x46, 0x69, 0x6e,
+ 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x46, 0x6c, 0x65, 0x75,
+ 0x72, 0x46, 0x61, 0x69, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x46,
+ 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x46,
+ 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x47, 0x65, 0x61,
+ 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x47, 0x72, 0x61, 0x76, 0x65,
+ 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x48, 0x61, 0x63, 0x68,
+ 0x69, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x48, 0x69, 0x64, 0x65, 0x41,
+ 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d,
+ 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x49,
+ 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b,
+ 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x4c, 0x61, 0x6e,
+ 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x2f, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x18, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x4d, 0x69, 0x63,
+ 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x54,
+ 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x4d, 0x75,
+ 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x50, 0x6f, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x52, 0x6f, 0x63, 0x6b,
+ 0x42, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x28, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x53, 0x61, 0x6c, 0x65,
+ 0x73, 0x6d, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x53, 0x65,
+ 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x53,
+ 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54,
+ 0x69, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56,
+ 0x32, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1c, 0x53, 0x75, 0x6d, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x24, 0x54, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x54, 0x72, 0x65, 0x61,
+ 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x23, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x55, 0x67, 0x63, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x57,
+ 0x61, 0x74, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x57,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xe3, 0x2f, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65,
+ 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x6b, 0x65, 0x6e,
+ 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xc9, 0x02, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65,
+ 0x6e, 0x18, 0x97, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64,
+ 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x5f, 0x6f,
+ 0x70, 0x65, 0x6e, 0x18, 0xa9, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x51, 0x75,
+ 0x69, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x65, 0x74, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0c, 0x6d, 0x65, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a,
+ 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0xaa, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x69,
+ 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x6e, 0x65,
+ 0x72, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64, 0x18, 0x66, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x65, 0x64,
+ 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0xf2, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x30,
+ 0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xd0, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66,
+ 0x69, 0x72, 0x73, 0x74, 0x44, 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x29, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x5f, 0x61, 0x6e, 0x69, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73,
+ 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x6e, 0x69, 0x6d, 0x12, 0x19, 0x0a, 0x08,
+ 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0xa6, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x69, 0x73,
+ 0x68, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xf7,
+ 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x57, 0x69, 0x73, 0x68, 0x47,
+ 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x77, 0x69, 0x73, 0x68, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x3a,
+ 0x0a, 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x8a, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x16, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x73,
+ 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f,
+ 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0xab, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69,
+ 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c,
+ 0x6f, 0x73, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e,
+ 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5c,
+ 0x0a, 0x1c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f,
+ 0x74, 0x69, 0x70, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xe0,
+ 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68,
+ 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x11,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x46, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x5f, 0x6c, 0x61,
+ 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x0b, 0x73, 0x61, 0x6d, 0x4c, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48,
+ 0x0a, 0x0d, 0x63, 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72,
+ 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x75, 0x63,
+ 0x69, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0d, 0x73, 0x61, 0x6c, 0x65,
+ 0x73, 0x6d, 0x61, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x52, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65,
+ 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xc4, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x40, 0x0a, 0x0a, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0xad, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0b, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0xd5, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c,
+ 0x69, 0x67, 0x68, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x53, 0x0a, 0x11, 0x64, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xbf, 0x0d,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x72, 0x61,
+ 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x72,
+ 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a,
+ 0x0b, 0x65, 0x66, 0x66, 0x69, 0x67, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x87, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x66, 0x66, 0x69,
+ 0x67, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x66, 0x66, 0x69, 0x67, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x53, 0x0a, 0x11, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x6d,
+ 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xda, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65,
+ 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0d, 0x62, 0x6c, 0x65, 0x73, 0x73,
+ 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xcd, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x5f, 0x6c, 0x61, 0x6d, 0x70, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0xee, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x61, 0x4c, 0x61, 0x6d,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x14, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x5f,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xdb,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72,
+ 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x12, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0f, 0x66, 0x6c, 0x65, 0x75, 0x72, 0x5f, 0x66, 0x61,
+ 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xd9, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x53, 0x0a, 0x11, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x69,
+ 0x72, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x8b, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x61, 0x74, 0x65, 0x72, 0x53, 0x70, 0x69,
+ 0x72, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x61, 0x74, 0x65, 0x72, 0x53, 0x70,
+ 0x69, 0x72, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x62, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0xf7, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a, 0x18, 0x6d, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61,
+ 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x15, 0x6d, 0x69,
+ 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x12, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f,
+ 0x73, 0x65, 0x65, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xab, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64,
+ 0x53, 0x65, 0x65, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x68, 0x69, 0x64, 0x65, 0x41, 0x6e,
+ 0x64, 0x53, 0x65, 0x65, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x13, 0x66, 0x69, 0x6e,
+ 0x64, 0x5f, 0x68, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x83, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x69, 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x64, 0x48,
+ 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x10,
+ 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0xdc, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69,
+ 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x13, 0x62, 0x75, 0x6f, 0x79, 0x61, 0x6e,
+ 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xb2, 0x0e,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x6f,
+ 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x62, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43,
+ 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x0f, 0x65, 0x63, 0x68,
+ 0x6f, 0x5f, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xd9, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x63, 0x68, 0x6f,
+ 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x0d, 0x65, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x5f, 0x0a, 0x15, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6a, 0x75,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xff, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43,
+ 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x13, 0x62, 0x6f,
+ 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x4d, 0x0a, 0x0f, 0x62, 0x6c, 0x69, 0x74, 0x7a, 0x5f, 0x72, 0x75, 0x73, 0x68, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x9a, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x0d, 0x62, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x40, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x9f,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68,
+ 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x75, 0x6d, 0x6f, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0xed, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x75, 0x6d, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x73, 0x75, 0x6d, 0x6f, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x56, 0x0a, 0x12, 0x6d, 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x69,
+ 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xb4, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x54, 0x72,
+ 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e,
+ 0x54, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0e, 0x6c, 0x75, 0x6e,
+ 0x61, 0x5f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xae, 0x06, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x61, 0x52,
+ 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x0c, 0x6c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x52, 0x0a,
+ 0x11, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x4d, 0x0a, 0x0f, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xcc, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x0d, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x62, 0x0a, 0x16, 0x72, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xdb, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c,
+ 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x14,
+ 0x72, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x08, 0x64, 0x69, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x93, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x64, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x40, 0x0a, 0x0a, 0x68, 0x61, 0x63, 0x68, 0x69, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xeb,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x61,
+ 0x63, 0x68, 0x69, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x68, 0x61, 0x63, 0x68, 0x69, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x10, 0x77, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6d,
+ 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xbb, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x77, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0b, 0x70, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0xf9, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x70,
+ 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x67, 0x0a, 0x1b, 0x74, 0x61, 0x6e,
+ 0x75, 0x6b, 0x69, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x84, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72,
+ 0x61, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x18, 0x74, 0x61, 0x6e, 0x75, 0x6b, 0x69,
+ 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x64, 0x0a, 0x1a, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x5f, 0x72, 0x69,
+ 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0xd4, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x17, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x14, 0x6d, 0x69, 0x63, 0x68,
+ 0x69, 0x61, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x48, 0x00, 0x52, 0x12, 0x6d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75,
+ 0x72, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x0e, 0x62, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xbd, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65,
+ 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0xbf, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x55, 0x67, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x75, 0x67, 0x63, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x53, 0x0a, 0x11, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xca, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e,
+ 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x0c, 0x69, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xee, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x0b, 0x69, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a,
+ 0x0a, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xc8, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x68, 0x6f, 0x74, 0x6f,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x40, 0x0a, 0x0a, 0x73, 0x70, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xe3, 0x0e,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x70, 0x69,
+ 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x40, 0x0a, 0x0a, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0xb9, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x67, 0x61, 0x63, 0x68, 0x61, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x78, 0x0a, 0x1e, 0x6c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
+ 0x5f, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x9c, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74,
+ 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x1b, 0x6c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a,
+ 0x10, 0x72, 0x6f, 0x67, 0x75, 0x65, 0x5f, 0x64, 0x69, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0xac, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x0e, 0x72, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x4f, 0x0a, 0x13, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76,
+ 0x32, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xee, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
+ 0x56, 0x32, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x10,
+ 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x4b, 0x0a, 0x11, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xdd, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x73,
+ 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a,
+ 0x09, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xd2, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x48, 0x00, 0x52, 0x08, 0x67, 0x65, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a, 0x15,
+ 0x67, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xf7, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63,
+ 0x65, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x13, 0x67, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x5f, 0x73, 0x70, 0x72, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x93, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x70, 0x72, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x13, 0x6d, 0x75, 0x71, 0x61,
+ 0x64, 0x61, 0x73, 0x5f, 0x70, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x85, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x11, 0x6d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x14, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f,
+ 0x73, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xc6, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73,
+ 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x74,
+ 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x5b, 0x0a, 0x17, 0x72, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f,
+ 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xb6, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x63, 0x6b,
+ 0x42, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x14, 0x72, 0x6f, 0x63, 0x6b, 0x42, 0x6f,
+ 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e,
+ 0x0a, 0x0c, 0x76, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xbd,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69,
+ 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x0b, 0x76, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45,
+ 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0xe0, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x13, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f,
+ 0x66, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xea, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x72,
+ 0x5f, 0x61, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0xd8, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x63, 0x68, 0x61, 0x72, 0x41, 0x6d,
+ 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x15, 0x65,
+ 0x66, 0x66, 0x69, 0x67, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x81, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x56, 0x32, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x13, 0x65, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x42, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x57, 0x69,
+ 0x73, 0x68, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a,
+ 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityInfo_proto_rawDescOnce sync.Once
+ file_ActivityInfo_proto_rawDescData = file_ActivityInfo_proto_rawDesc
+)
+
+func file_ActivityInfo_proto_rawDescGZIP() []byte {
+ file_ActivityInfo_proto_rawDescOnce.Do(func() {
+ file_ActivityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityInfo_proto_rawDescData)
+ })
+ return file_ActivityInfo_proto_rawDescData
+}
+
+var file_ActivityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_ActivityInfo_proto_goTypes = []interface{}{
+ (*ActivityInfo)(nil), // 0: proto.ActivityInfo
+ nil, // 1: proto.ActivityInfo.ActivityCoinMapEntry
+ nil, // 2: proto.ActivityInfo.WishGiftNumMapEntry
+ (*ActivityPushTipsData)(nil), // 3: proto.ActivityPushTipsData
+ (*ActivityWatcherInfo)(nil), // 4: proto.ActivityWatcherInfo
+ (*SeaLampActivityDetailInfo)(nil), // 5: proto.SeaLampActivityDetailInfo
+ (*CrucibleActivityDetailInfo)(nil), // 6: proto.CrucibleActivityDetailInfo
+ (*SalesmanActivityDetailInfo)(nil), // 7: proto.SalesmanActivityDetailInfo
+ (*TrialAvatarActivityDetailInfo)(nil), // 8: proto.TrialAvatarActivityDetailInfo
+ (*DeliveryActivityDetailInfo)(nil), // 9: proto.DeliveryActivityDetailInfo
+ (*AsterActivityDetailInfo)(nil), // 10: proto.AsterActivityDetailInfo
+ (*FlightActivityDetailInfo)(nil), // 11: proto.FlightActivityDetailInfo
+ (*DragonSpineActivityDetailInfo)(nil), // 12: proto.DragonSpineActivityDetailInfo
+ (*EffigyActivityDetailInfo)(nil), // 13: proto.EffigyActivityDetailInfo
+ (*TreasureMapActivityDetailInfo)(nil), // 14: proto.TreasureMapActivityDetailInfo
+ (*BlessingActivityDetailInfo)(nil), // 15: proto.BlessingActivityDetailInfo
+ (*SeaLampActivityInfo)(nil), // 16: proto.SeaLampActivityInfo
+ (*ExpeditionActivityDetailInfo)(nil), // 17: proto.ExpeditionActivityDetailInfo
+ (*ArenaChallengeActivityDetailInfo)(nil), // 18: proto.ArenaChallengeActivityDetailInfo
+ (*FleurFairActivityDetailInfo)(nil), // 19: proto.FleurFairActivityDetailInfo
+ (*WaterSpiritActivityDetailInfo)(nil), // 20: proto.WaterSpiritActivityDetailInfo
+ (*ChannelerSlabActivityDetailInfo)(nil), // 21: proto.ChannelerSlabActivityDetailInfo
+ (*MistTrialActivityDetailInfo)(nil), // 22: proto.MistTrialActivityDetailInfo
+ (*HideAndSeekActivityDetailInfo)(nil), // 23: proto.HideAndSeekActivityDetailInfo
+ (*FindHilichurlDetailInfo)(nil), // 24: proto.FindHilichurlDetailInfo
+ (*SummerTimeDetailInfo)(nil), // 25: proto.SummerTimeDetailInfo
+ (*BuoyantCombatDetailInfo)(nil), // 26: proto.BuoyantCombatDetailInfo
+ (*EchoShellDetailInfo)(nil), // 27: proto.EchoShellDetailInfo
+ (*BounceConjuringActivityDetailInfo)(nil), // 28: proto.BounceConjuringActivityDetailInfo
+ (*BlitzRushActivityDetailInfo)(nil), // 29: proto.BlitzRushActivityDetailInfo
+ (*ChessActivityDetailInfo)(nil), // 30: proto.ChessActivityDetailInfo
+ (*SumoActivityDetailInfo)(nil), // 31: proto.SumoActivityDetailInfo
+ (*MoonfinTrialActivityDetailInfo)(nil), // 32: proto.MoonfinTrialActivityDetailInfo
+ (*LunaRiteDetailInfo)(nil), // 33: proto.LunaRiteDetailInfo
+ (*PlantFlowerActivityDetailInfo)(nil), // 34: proto.PlantFlowerActivityDetailInfo
+ (*MusicGameActivityDetailInfo)(nil), // 35: proto.MusicGameActivityDetailInfo
+ (*RoguelikeDungeonActivityDetailInfo)(nil), // 36: proto.RoguelikeDungeonActivityDetailInfo
+ (*DigActivityDetailInfo)(nil), // 37: proto.DigActivityDetailInfo
+ (*HachiActivityDetailInfo)(nil), // 38: proto.HachiActivityDetailInfo
+ (*WinterCampActivityDetailInfo)(nil), // 39: proto.WinterCampActivityDetailInfo
+ (*PotionActivityDetailInfo)(nil), // 40: proto.PotionActivityDetailInfo
+ (*TanukiTravelActivityDetailInfo)(nil), // 41: proto.TanukiTravelActivityDetailInfo
+ (*LanternRiteActivityDetailInfo)(nil), // 42: proto.LanternRiteActivityDetailInfo
+ (*MichiaeMatsuriActivityDetailInfo)(nil), // 43: proto.MichiaeMatsuriActivityDetailInfo
+ (*BartenderActivityDetailInfo)(nil), // 44: proto.BartenderActivityDetailInfo
+ (*UgcActivityDetailInfo)(nil), // 45: proto.UgcActivityDetailInfo
+ (*CrystalLinkActivityDetailInfo)(nil), // 46: proto.CrystalLinkActivityDetailInfo
+ (*IrodoriActivityDetailInfo)(nil), // 47: proto.IrodoriActivityDetailInfo
+ (*PhotoActivityDetailInfo)(nil), // 48: proto.PhotoActivityDetailInfo
+ (*SpiceActivityDetailInfo)(nil), // 49: proto.SpiceActivityDetailInfo
+ (*GachaActivityDetailInfo)(nil), // 50: proto.GachaActivityDetailInfo
+ (*LuminanceStoneChallengeActivityDetailInfo)(nil), // 51: proto.LuminanceStoneChallengeActivityDetailInfo
+ (*RogueDiaryActivityDetailInfo)(nil), // 52: proto.RogueDiaryActivityDetailInfo
+ (*SummerTimeV2DetailInfo)(nil), // 53: proto.SummerTimeV2DetailInfo
+ (*IslandPartyDetailInfo)(nil), // 54: proto.IslandPartyDetailInfo
+ (*GearActivityDetailInfo)(nil), // 55: proto.GearActivityDetailInfo
+ (*GravenInnocenceDetailInfo)(nil), // 56: proto.GravenInnocenceDetailInfo
+ (*InstableSprayDetailInfo)(nil), // 57: proto.InstableSprayDetailInfo
+ (*MuqadasPotionActivityDetailInfo)(nil), // 58: proto.MuqadasPotionActivityDetailInfo
+ (*TreasureSeelieActivityDetailInfo)(nil), // 59: proto.TreasureSeelieActivityDetailInfo
+ (*RockBoardExploreDetailInfo)(nil), // 60: proto.RockBoardExploreDetailInfo
+ (*VintageDetailInfo)(nil), // 61: proto.VintageDetailInfo
+ (*WindFieldDetailInfo)(nil), // 62: proto.WindFieldDetailInfo
+ (*FungusFighterDetailInfo)(nil), // 63: proto.FungusFighterDetailInfo
+ (*CharAmusementDetailInfo)(nil), // 64: proto.CharAmusementDetailInfo
+ (*EffigyChallengeV2DetailInfo)(nil), // 65: proto.EffigyChallengeV2DetailInfo
+}
+var file_ActivityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityInfo.activity_coin_map:type_name -> proto.ActivityInfo.ActivityCoinMapEntry
+ 2, // 1: proto.ActivityInfo.wish_gift_num_map:type_name -> proto.ActivityInfo.WishGiftNumMapEntry
+ 3, // 2: proto.ActivityInfo.activity_push_tips_data_list:type_name -> proto.ActivityPushTipsData
+ 4, // 3: proto.ActivityInfo.watcher_info_list:type_name -> proto.ActivityWatcherInfo
+ 5, // 4: proto.ActivityInfo.sam_lamp_info:type_name -> proto.SeaLampActivityDetailInfo
+ 6, // 5: proto.ActivityInfo.crucible_info:type_name -> proto.CrucibleActivityDetailInfo
+ 7, // 6: proto.ActivityInfo.salesman_info:type_name -> proto.SalesmanActivityDetailInfo
+ 8, // 7: proto.ActivityInfo.trial_avatar_info:type_name -> proto.TrialAvatarActivityDetailInfo
+ 9, // 8: proto.ActivityInfo.delivery_info:type_name -> proto.DeliveryActivityDetailInfo
+ 10, // 9: proto.ActivityInfo.aster_info:type_name -> proto.AsterActivityDetailInfo
+ 11, // 10: proto.ActivityInfo.flight_info:type_name -> proto.FlightActivityDetailInfo
+ 12, // 11: proto.ActivityInfo.dragon_spine_info:type_name -> proto.DragonSpineActivityDetailInfo
+ 13, // 12: proto.ActivityInfo.effigy_info:type_name -> proto.EffigyActivityDetailInfo
+ 14, // 13: proto.ActivityInfo.treasure_map_info:type_name -> proto.TreasureMapActivityDetailInfo
+ 15, // 14: proto.ActivityInfo.blessing_info:type_name -> proto.BlessingActivityDetailInfo
+ 16, // 15: proto.ActivityInfo.sea_lamp_info:type_name -> proto.SeaLampActivityInfo
+ 17, // 16: proto.ActivityInfo.expedition_info:type_name -> proto.ExpeditionActivityDetailInfo
+ 18, // 17: proto.ActivityInfo.arena_challenge_info:type_name -> proto.ArenaChallengeActivityDetailInfo
+ 19, // 18: proto.ActivityInfo.fleur_fair_info:type_name -> proto.FleurFairActivityDetailInfo
+ 20, // 19: proto.ActivityInfo.water_spirit_info:type_name -> proto.WaterSpiritActivityDetailInfo
+ 21, // 20: proto.ActivityInfo.channeler_slab_info:type_name -> proto.ChannelerSlabActivityDetailInfo
+ 22, // 21: proto.ActivityInfo.mist_trial_activity_info:type_name -> proto.MistTrialActivityDetailInfo
+ 23, // 22: proto.ActivityInfo.hide_and_seek_info:type_name -> proto.HideAndSeekActivityDetailInfo
+ 24, // 23: proto.ActivityInfo.find_hilichurl_info:type_name -> proto.FindHilichurlDetailInfo
+ 25, // 24: proto.ActivityInfo.summer_time_info:type_name -> proto.SummerTimeDetailInfo
+ 26, // 25: proto.ActivityInfo.buoyant_combat_info:type_name -> proto.BuoyantCombatDetailInfo
+ 27, // 26: proto.ActivityInfo.echo_shell_info:type_name -> proto.EchoShellDetailInfo
+ 28, // 27: proto.ActivityInfo.bounce_conjuring_info:type_name -> proto.BounceConjuringActivityDetailInfo
+ 29, // 28: proto.ActivityInfo.blitz_rush_info:type_name -> proto.BlitzRushActivityDetailInfo
+ 30, // 29: proto.ActivityInfo.chess_info:type_name -> proto.ChessActivityDetailInfo
+ 31, // 30: proto.ActivityInfo.sumo_info:type_name -> proto.SumoActivityDetailInfo
+ 32, // 31: proto.ActivityInfo.moonfin_trial_info:type_name -> proto.MoonfinTrialActivityDetailInfo
+ 33, // 32: proto.ActivityInfo.luna_rite_info:type_name -> proto.LunaRiteDetailInfo
+ 34, // 33: proto.ActivityInfo.plant_flower_info:type_name -> proto.PlantFlowerActivityDetailInfo
+ 35, // 34: proto.ActivityInfo.music_game_info:type_name -> proto.MusicGameActivityDetailInfo
+ 36, // 35: proto.ActivityInfo.roguelike_dungeon_info:type_name -> proto.RoguelikeDungeonActivityDetailInfo
+ 37, // 36: proto.ActivityInfo.dig_info:type_name -> proto.DigActivityDetailInfo
+ 38, // 37: proto.ActivityInfo.hachi_info:type_name -> proto.HachiActivityDetailInfo
+ 39, // 38: proto.ActivityInfo.winter_camp_info:type_name -> proto.WinterCampActivityDetailInfo
+ 40, // 39: proto.ActivityInfo.potion_info:type_name -> proto.PotionActivityDetailInfo
+ 41, // 40: proto.ActivityInfo.tanuki_travel_activity_info:type_name -> proto.TanukiTravelActivityDetailInfo
+ 42, // 41: proto.ActivityInfo.lantern_rite_activity_info:type_name -> proto.LanternRiteActivityDetailInfo
+ 43, // 42: proto.ActivityInfo.michiae_matsuri_info:type_name -> proto.MichiaeMatsuriActivityDetailInfo
+ 44, // 43: proto.ActivityInfo.bartender_info:type_name -> proto.BartenderActivityDetailInfo
+ 45, // 44: proto.ActivityInfo.ugc_info:type_name -> proto.UgcActivityDetailInfo
+ 46, // 45: proto.ActivityInfo.crystal_link_info:type_name -> proto.CrystalLinkActivityDetailInfo
+ 47, // 46: proto.ActivityInfo.irodori_info:type_name -> proto.IrodoriActivityDetailInfo
+ 48, // 47: proto.ActivityInfo.photo_info:type_name -> proto.PhotoActivityDetailInfo
+ 49, // 48: proto.ActivityInfo.spice_info:type_name -> proto.SpiceActivityDetailInfo
+ 50, // 49: proto.ActivityInfo.gacha_info:type_name -> proto.GachaActivityDetailInfo
+ 51, // 50: proto.ActivityInfo.luminance_stone_challenge_info:type_name -> proto.LuminanceStoneChallengeActivityDetailInfo
+ 52, // 51: proto.ActivityInfo.rogue_diary_info:type_name -> proto.RogueDiaryActivityDetailInfo
+ 53, // 52: proto.ActivityInfo.summer_time_v2_info:type_name -> proto.SummerTimeV2DetailInfo
+ 54, // 53: proto.ActivityInfo.island_party_info:type_name -> proto.IslandPartyDetailInfo
+ 55, // 54: proto.ActivityInfo.gear_info:type_name -> proto.GearActivityDetailInfo
+ 56, // 55: proto.ActivityInfo.graven_innocence_info:type_name -> proto.GravenInnocenceDetailInfo
+ 57, // 56: proto.ActivityInfo.instable_spray_info:type_name -> proto.InstableSprayDetailInfo
+ 58, // 57: proto.ActivityInfo.muqadas_potion_info:type_name -> proto.MuqadasPotionActivityDetailInfo
+ 59, // 58: proto.ActivityInfo.treasure_seelie_info:type_name -> proto.TreasureSeelieActivityDetailInfo
+ 60, // 59: proto.ActivityInfo.rock_board_explore_info:type_name -> proto.RockBoardExploreDetailInfo
+ 61, // 60: proto.ActivityInfo.vintage_info:type_name -> proto.VintageDetailInfo
+ 62, // 61: proto.ActivityInfo.wind_field_info:type_name -> proto.WindFieldDetailInfo
+ 63, // 62: proto.ActivityInfo.fungus_fighter_info:type_name -> proto.FungusFighterDetailInfo
+ 64, // 63: proto.ActivityInfo.char_amusement_info:type_name -> proto.CharAmusementDetailInfo
+ 65, // 64: proto.ActivityInfo.effigy_challenge_info:type_name -> proto.EffigyChallengeV2DetailInfo
+ 65, // [65:65] is the sub-list for method output_type
+ 65, // [65:65] is the sub-list for method input_type
+ 65, // [65:65] is the sub-list for extension type_name
+ 65, // [65:65] is the sub-list for extension extendee
+ 0, // [0:65] is the sub-list for field type_name
+}
+
+func init() { file_ActivityInfo_proto_init() }
+func file_ActivityInfo_proto_init() {
+ if File_ActivityInfo_proto != nil {
+ return
+ }
+ file_ActivityPushTipsData_proto_init()
+ file_ActivityWatcherInfo_proto_init()
+ file_ArenaChallengeActivityDetailInfo_proto_init()
+ file_AsterActivityDetailInfo_proto_init()
+ file_BartenderActivityDetailInfo_proto_init()
+ file_BlessingActivityDetailInfo_proto_init()
+ file_BlitzRushActivityDetailInfo_proto_init()
+ file_BounceConjuringActivityDetailInfo_proto_init()
+ file_BuoyantCombatDetailInfo_proto_init()
+ file_ChannelerSlabActivityDetailInfo_proto_init()
+ file_CharAmusementDetailInfo_proto_init()
+ file_ChessActivityDetailInfo_proto_init()
+ file_CrucibleActivityDetailInfo_proto_init()
+ file_CrystalLinkActivityDetailInfo_proto_init()
+ file_DeliveryActivityDetailInfo_proto_init()
+ file_DigActivityDetailInfo_proto_init()
+ file_DragonSpineActivityDetailInfo_proto_init()
+ file_EchoShellDetailInfo_proto_init()
+ file_EffigyActivityDetailInfo_proto_init()
+ file_EffigyChallengeV2DetailInfo_proto_init()
+ file_ExpeditionActivityDetailInfo_proto_init()
+ file_FindHilichurlDetailInfo_proto_init()
+ file_FleurFairActivityDetailInfo_proto_init()
+ file_FlightActivityDetailInfo_proto_init()
+ file_FungusFighterDetailInfo_proto_init()
+ file_GachaActivityDetailInfo_proto_init()
+ file_GearActivityDetailInfo_proto_init()
+ file_GravenInnocenceDetailInfo_proto_init()
+ file_HachiActivityDetailInfo_proto_init()
+ file_HideAndSeekActivityDetailInfo_proto_init()
+ file_InstableSprayDetailInfo_proto_init()
+ file_IrodoriActivityDetailInfo_proto_init()
+ file_IslandPartyDetailInfo_proto_init()
+ file_LanternRiteActivityDetailInfo_proto_init()
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_init()
+ file_LunaRiteDetailInfo_proto_init()
+ file_MichiaeMatsuriActivityDetailInfo_proto_init()
+ file_MistTrialActivityDetailInfo_proto_init()
+ file_MoonfinTrialActivityDetailInfo_proto_init()
+ file_MuqadasPotionActivityDetailInfo_proto_init()
+ file_MusicGameActivityDetailInfo_proto_init()
+ file_PhotoActivityDetailInfo_proto_init()
+ file_PlantFlowerActivityDetailInfo_proto_init()
+ file_PotionActivityDetailInfo_proto_init()
+ file_RockBoardExploreDetailInfo_proto_init()
+ file_RogueDiaryActivityDetailInfo_proto_init()
+ file_RoguelikeDungeonActivityDetailInfo_proto_init()
+ file_SalesmanActivityDetailInfo_proto_init()
+ file_SeaLampActivityDetailInfo_proto_init()
+ file_SeaLampActivityInfo_proto_init()
+ file_SpiceActivityDetailInfo_proto_init()
+ file_SummerTimeDetailInfo_proto_init()
+ file_SummerTimeV2DetailInfo_proto_init()
+ file_SumoActivityDetailInfo_proto_init()
+ file_TanukiTravelActivityDetailInfo_proto_init()
+ file_TreasureMapActivityDetailInfo_proto_init()
+ file_TreasureSeelieActivityDetailInfo_proto_init()
+ file_TrialAvatarActivityDetailInfo_proto_init()
+ file_UgcActivityDetailInfo_proto_init()
+ file_VintageDetailInfo_proto_init()
+ file_WaterSpiritActivityDetailInfo_proto_init()
+ file_WindFieldDetailInfo_proto_init()
+ file_WinterCampActivityDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ActivityInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*ActivityInfo_SamLampInfo)(nil),
+ (*ActivityInfo_CrucibleInfo)(nil),
+ (*ActivityInfo_SalesmanInfo)(nil),
+ (*ActivityInfo_TrialAvatarInfo)(nil),
+ (*ActivityInfo_DeliveryInfo)(nil),
+ (*ActivityInfo_AsterInfo)(nil),
+ (*ActivityInfo_FlightInfo)(nil),
+ (*ActivityInfo_DragonSpineInfo)(nil),
+ (*ActivityInfo_EffigyInfo)(nil),
+ (*ActivityInfo_TreasureMapInfo)(nil),
+ (*ActivityInfo_BlessingInfo)(nil),
+ (*ActivityInfo_SeaLampInfo)(nil),
+ (*ActivityInfo_ExpeditionInfo)(nil),
+ (*ActivityInfo_ArenaChallengeInfo)(nil),
+ (*ActivityInfo_FleurFairInfo)(nil),
+ (*ActivityInfo_WaterSpiritInfo)(nil),
+ (*ActivityInfo_ChannelerSlabInfo)(nil),
+ (*ActivityInfo_MistTrialActivityInfo)(nil),
+ (*ActivityInfo_HideAndSeekInfo)(nil),
+ (*ActivityInfo_FindHilichurlInfo)(nil),
+ (*ActivityInfo_SummerTimeInfo)(nil),
+ (*ActivityInfo_BuoyantCombatInfo)(nil),
+ (*ActivityInfo_EchoShellInfo)(nil),
+ (*ActivityInfo_BounceConjuringInfo)(nil),
+ (*ActivityInfo_BlitzRushInfo)(nil),
+ (*ActivityInfo_ChessInfo)(nil),
+ (*ActivityInfo_SumoInfo)(nil),
+ (*ActivityInfo_MoonfinTrialInfo)(nil),
+ (*ActivityInfo_LunaRiteInfo)(nil),
+ (*ActivityInfo_PlantFlowerInfo)(nil),
+ (*ActivityInfo_MusicGameInfo)(nil),
+ (*ActivityInfo_RoguelikeDungeonInfo)(nil),
+ (*ActivityInfo_DigInfo)(nil),
+ (*ActivityInfo_HachiInfo)(nil),
+ (*ActivityInfo_WinterCampInfo)(nil),
+ (*ActivityInfo_PotionInfo)(nil),
+ (*ActivityInfo_TanukiTravelActivityInfo)(nil),
+ (*ActivityInfo_LanternRiteActivityInfo)(nil),
+ (*ActivityInfo_MichiaeMatsuriInfo)(nil),
+ (*ActivityInfo_BartenderInfo)(nil),
+ (*ActivityInfo_UgcInfo)(nil),
+ (*ActivityInfo_CrystalLinkInfo)(nil),
+ (*ActivityInfo_IrodoriInfo)(nil),
+ (*ActivityInfo_PhotoInfo)(nil),
+ (*ActivityInfo_SpiceInfo)(nil),
+ (*ActivityInfo_GachaInfo)(nil),
+ (*ActivityInfo_LuminanceStoneChallengeInfo)(nil),
+ (*ActivityInfo_RogueDiaryInfo)(nil),
+ (*ActivityInfo_SummerTimeV2Info)(nil),
+ (*ActivityInfo_IslandPartyInfo)(nil),
+ (*ActivityInfo_GearInfo)(nil),
+ (*ActivityInfo_GravenInnocenceInfo)(nil),
+ (*ActivityInfo_InstableSprayInfo)(nil),
+ (*ActivityInfo_MuqadasPotionInfo)(nil),
+ (*ActivityInfo_TreasureSeelieInfo)(nil),
+ (*ActivityInfo_RockBoardExploreInfo)(nil),
+ (*ActivityInfo_VintageInfo)(nil),
+ (*ActivityInfo_WindFieldInfo)(nil),
+ (*ActivityInfo_FungusFighterInfo)(nil),
+ (*ActivityInfo_CharAmusementInfo)(nil),
+ (*ActivityInfo_EffigyChallengeInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityInfo_proto_goTypes,
+ DependencyIndexes: file_ActivityInfo_proto_depIdxs,
+ MessageInfos: file_ActivityInfo_proto_msgTypes,
+ }.Build()
+ File_ActivityInfo_proto = out.File
+ file_ActivityInfo_proto_rawDesc = nil
+ file_ActivityInfo_proto_goTypes = nil
+ file_ActivityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityInfoNotify.pb.go b/protocol/proto/ActivityInfoNotify.pb.go
new file mode 100644
index 00000000..92277db2
--- /dev/null
+++ b/protocol/proto/ActivityInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2060
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityInfo *ActivityInfo `protobuf:"bytes,9,opt,name=activity_info,json=activityInfo,proto3" json:"activity_info,omitempty"`
+}
+
+func (x *ActivityInfoNotify) Reset() {
+ *x = ActivityInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityInfoNotify) ProtoMessage() {}
+
+func (x *ActivityInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityInfoNotify.ProtoReflect.Descriptor instead.
+func (*ActivityInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityInfoNotify) GetActivityInfo() *ActivityInfo {
+ if x != nil {
+ return x.ActivityInfo
+ }
+ return nil
+}
+
+var File_ActivityInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x12, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x38, 0x0a, 0x0d, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityInfoNotify_proto_rawDescOnce sync.Once
+ file_ActivityInfoNotify_proto_rawDescData = file_ActivityInfoNotify_proto_rawDesc
+)
+
+func file_ActivityInfoNotify_proto_rawDescGZIP() []byte {
+ file_ActivityInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityInfoNotify_proto_rawDescData)
+ })
+ return file_ActivityInfoNotify_proto_rawDescData
+}
+
+var file_ActivityInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityInfoNotify_proto_goTypes = []interface{}{
+ (*ActivityInfoNotify)(nil), // 0: proto.ActivityInfoNotify
+ (*ActivityInfo)(nil), // 1: proto.ActivityInfo
+}
+var file_ActivityInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityInfoNotify.activity_info:type_name -> proto.ActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityInfoNotify_proto_init() }
+func file_ActivityInfoNotify_proto_init() {
+ if File_ActivityInfoNotify_proto != nil {
+ return
+ }
+ file_ActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityInfoNotify_proto_depIdxs,
+ MessageInfos: file_ActivityInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityInfoNotify_proto = out.File
+ file_ActivityInfoNotify_proto_rawDesc = nil
+ file_ActivityInfoNotify_proto_goTypes = nil
+ file_ActivityInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityPlayOpenAnimNotify.pb.go b/protocol/proto/ActivityPlayOpenAnimNotify.pb.go
new file mode 100644
index 00000000..5883cea0
--- /dev/null
+++ b/protocol/proto/ActivityPlayOpenAnimNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityPlayOpenAnimNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2157
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityPlayOpenAnimNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,8,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityPlayOpenAnimNotify) Reset() {
+ *x = ActivityPlayOpenAnimNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityPlayOpenAnimNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityPlayOpenAnimNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityPlayOpenAnimNotify) ProtoMessage() {}
+
+func (x *ActivityPlayOpenAnimNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityPlayOpenAnimNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityPlayOpenAnimNotify.ProtoReflect.Descriptor instead.
+func (*ActivityPlayOpenAnimNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityPlayOpenAnimNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityPlayOpenAnimNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityPlayOpenAnimNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityPlayOpenAnimNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x70,
+ 0x65, 0x6e, 0x41, 0x6e, 0x69, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x1a, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x6e, 0x69,
+ 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityPlayOpenAnimNotify_proto_rawDescOnce sync.Once
+ file_ActivityPlayOpenAnimNotify_proto_rawDescData = file_ActivityPlayOpenAnimNotify_proto_rawDesc
+)
+
+func file_ActivityPlayOpenAnimNotify_proto_rawDescGZIP() []byte {
+ file_ActivityPlayOpenAnimNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityPlayOpenAnimNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityPlayOpenAnimNotify_proto_rawDescData)
+ })
+ return file_ActivityPlayOpenAnimNotify_proto_rawDescData
+}
+
+var file_ActivityPlayOpenAnimNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityPlayOpenAnimNotify_proto_goTypes = []interface{}{
+ (*ActivityPlayOpenAnimNotify)(nil), // 0: proto.ActivityPlayOpenAnimNotify
+}
+var file_ActivityPlayOpenAnimNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityPlayOpenAnimNotify_proto_init() }
+func file_ActivityPlayOpenAnimNotify_proto_init() {
+ if File_ActivityPlayOpenAnimNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityPlayOpenAnimNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityPlayOpenAnimNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityPlayOpenAnimNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityPlayOpenAnimNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityPlayOpenAnimNotify_proto_depIdxs,
+ MessageInfos: file_ActivityPlayOpenAnimNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityPlayOpenAnimNotify_proto = out.File
+ file_ActivityPlayOpenAnimNotify_proto_rawDesc = nil
+ file_ActivityPlayOpenAnimNotify_proto_goTypes = nil
+ file_ActivityPlayOpenAnimNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityPushTipsData.pb.go b/protocol/proto/ActivityPushTipsData.pb.go
new file mode 100644
index 00000000..7589b7fd
--- /dev/null
+++ b/protocol/proto/ActivityPushTipsData.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityPushTipsData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityPushTipsData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ State ActivityPushTipsState `protobuf:"varint,10,opt,name=state,proto3,enum=proto.ActivityPushTipsState" json:"state,omitempty"`
+ ActivityPushTipsId uint32 `protobuf:"varint,4,opt,name=activity_push_tips_id,json=activityPushTipsId,proto3" json:"activity_push_tips_id,omitempty"`
+}
+
+func (x *ActivityPushTipsData) Reset() {
+ *x = ActivityPushTipsData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityPushTipsData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityPushTipsData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityPushTipsData) ProtoMessage() {}
+
+func (x *ActivityPushTipsData) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityPushTipsData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityPushTipsData.ProtoReflect.Descriptor instead.
+func (*ActivityPushTipsData) Descriptor() ([]byte, []int) {
+ return file_ActivityPushTipsData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityPushTipsData) GetState() ActivityPushTipsState {
+ if x != nil {
+ return x.State
+ }
+ return ActivityPushTipsState_ACTIVITY_PUSH_TIPS_STATE_NONE
+}
+
+func (x *ActivityPushTipsData) GetActivityPushTipsId() uint32 {
+ if x != nil {
+ return x.ActivityPushTipsId
+ }
+ return 0
+}
+
+var File_ActivityPushTipsData_proto protoreflect.FileDescriptor
+
+var file_ActivityPushTipsData_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69,
+ 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73,
+ 0x68, 0x54, 0x69, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x7d, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68,
+ 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x15,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69,
+ 0x70, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityPushTipsData_proto_rawDescOnce sync.Once
+ file_ActivityPushTipsData_proto_rawDescData = file_ActivityPushTipsData_proto_rawDesc
+)
+
+func file_ActivityPushTipsData_proto_rawDescGZIP() []byte {
+ file_ActivityPushTipsData_proto_rawDescOnce.Do(func() {
+ file_ActivityPushTipsData_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityPushTipsData_proto_rawDescData)
+ })
+ return file_ActivityPushTipsData_proto_rawDescData
+}
+
+var file_ActivityPushTipsData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityPushTipsData_proto_goTypes = []interface{}{
+ (*ActivityPushTipsData)(nil), // 0: proto.ActivityPushTipsData
+ (ActivityPushTipsState)(0), // 1: proto.ActivityPushTipsState
+}
+var file_ActivityPushTipsData_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityPushTipsData.state:type_name -> proto.ActivityPushTipsState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityPushTipsData_proto_init() }
+func file_ActivityPushTipsData_proto_init() {
+ if File_ActivityPushTipsData_proto != nil {
+ return
+ }
+ file_ActivityPushTipsState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityPushTipsData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityPushTipsData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityPushTipsData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityPushTipsData_proto_goTypes,
+ DependencyIndexes: file_ActivityPushTipsData_proto_depIdxs,
+ MessageInfos: file_ActivityPushTipsData_proto_msgTypes,
+ }.Build()
+ File_ActivityPushTipsData_proto = out.File
+ file_ActivityPushTipsData_proto_rawDesc = nil
+ file_ActivityPushTipsData_proto_goTypes = nil
+ file_ActivityPushTipsData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityPushTipsInfoNotify.pb.go b/protocol/proto/ActivityPushTipsInfoNotify.pb.go
new file mode 100644
index 00000000..fb4ec623
--- /dev/null
+++ b/protocol/proto/ActivityPushTipsInfoNotify.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityPushTipsInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8513
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityPushTipsInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,14,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ActivityPushTipsDataList []*ActivityPushTipsData `protobuf:"bytes,3,rep,name=activity_push_tips_data_list,json=activityPushTipsDataList,proto3" json:"activity_push_tips_data_list,omitempty"`
+ ActivityId uint32 `protobuf:"varint,10,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityPushTipsInfoNotify) Reset() {
+ *x = ActivityPushTipsInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityPushTipsInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityPushTipsInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityPushTipsInfoNotify) ProtoMessage() {}
+
+func (x *ActivityPushTipsInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityPushTipsInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityPushTipsInfoNotify.ProtoReflect.Descriptor instead.
+func (*ActivityPushTipsInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityPushTipsInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityPushTipsInfoNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityPushTipsInfoNotify) GetActivityPushTipsDataList() []*ActivityPushTipsData {
+ if x != nil {
+ return x.ActivityPushTipsDataList
+ }
+ return nil
+}
+
+func (x *ActivityPushTipsInfoNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityPushTipsInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityPushTipsInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69,
+ 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x1c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68,
+ 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityPushTipsInfoNotify_proto_rawDescOnce sync.Once
+ file_ActivityPushTipsInfoNotify_proto_rawDescData = file_ActivityPushTipsInfoNotify_proto_rawDesc
+)
+
+func file_ActivityPushTipsInfoNotify_proto_rawDescGZIP() []byte {
+ file_ActivityPushTipsInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityPushTipsInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityPushTipsInfoNotify_proto_rawDescData)
+ })
+ return file_ActivityPushTipsInfoNotify_proto_rawDescData
+}
+
+var file_ActivityPushTipsInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityPushTipsInfoNotify_proto_goTypes = []interface{}{
+ (*ActivityPushTipsInfoNotify)(nil), // 0: proto.ActivityPushTipsInfoNotify
+ (*ActivityPushTipsData)(nil), // 1: proto.ActivityPushTipsData
+}
+var file_ActivityPushTipsInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityPushTipsInfoNotify.activity_push_tips_data_list:type_name -> proto.ActivityPushTipsData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityPushTipsInfoNotify_proto_init() }
+func file_ActivityPushTipsInfoNotify_proto_init() {
+ if File_ActivityPushTipsInfoNotify_proto != nil {
+ return
+ }
+ file_ActivityPushTipsData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityPushTipsInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityPushTipsInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityPushTipsInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityPushTipsInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityPushTipsInfoNotify_proto_depIdxs,
+ MessageInfos: file_ActivityPushTipsInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityPushTipsInfoNotify_proto = out.File
+ file_ActivityPushTipsInfoNotify_proto_rawDesc = nil
+ file_ActivityPushTipsInfoNotify_proto_goTypes = nil
+ file_ActivityPushTipsInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityPushTipsState.pb.go b/protocol/proto/ActivityPushTipsState.pb.go
new file mode 100644
index 00000000..28843ed2
--- /dev/null
+++ b/protocol/proto/ActivityPushTipsState.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityPushTipsState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityPushTipsState int32
+
+const (
+ ActivityPushTipsState_ACTIVITY_PUSH_TIPS_STATE_NONE ActivityPushTipsState = 0
+ ActivityPushTipsState_ACTIVITY_PUSH_TIPS_STATE_START ActivityPushTipsState = 1
+ ActivityPushTipsState_ACTIVITY_PUSH_TIPS_STATE_READ ActivityPushTipsState = 2
+)
+
+// Enum value maps for ActivityPushTipsState.
+var (
+ ActivityPushTipsState_name = map[int32]string{
+ 0: "ACTIVITY_PUSH_TIPS_STATE_NONE",
+ 1: "ACTIVITY_PUSH_TIPS_STATE_START",
+ 2: "ACTIVITY_PUSH_TIPS_STATE_READ",
+ }
+ ActivityPushTipsState_value = map[string]int32{
+ "ACTIVITY_PUSH_TIPS_STATE_NONE": 0,
+ "ACTIVITY_PUSH_TIPS_STATE_START": 1,
+ "ACTIVITY_PUSH_TIPS_STATE_READ": 2,
+ }
+)
+
+func (x ActivityPushTipsState) Enum() *ActivityPushTipsState {
+ p := new(ActivityPushTipsState)
+ *p = x
+ return p
+}
+
+func (x ActivityPushTipsState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ActivityPushTipsState) Descriptor() protoreflect.EnumDescriptor {
+ return file_ActivityPushTipsState_proto_enumTypes[0].Descriptor()
+}
+
+func (ActivityPushTipsState) Type() protoreflect.EnumType {
+ return &file_ActivityPushTipsState_proto_enumTypes[0]
+}
+
+func (x ActivityPushTipsState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ActivityPushTipsState.Descriptor instead.
+func (ActivityPushTipsState) EnumDescriptor() ([]byte, []int) {
+ return file_ActivityPushTipsState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ActivityPushTipsState_proto protoreflect.FileDescriptor
+
+var file_ActivityPushTipsState_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69,
+ 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x81, 0x01, 0x0a, 0x15, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21,
+ 0x0a, 0x1d, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f,
+ 0x54, 0x49, 0x50, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x55,
+ 0x53, 0x48, 0x5f, 0x54, 0x49, 0x50, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54,
+ 0x41, 0x52, 0x54, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54,
+ 0x59, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x54, 0x49, 0x50, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54,
+ 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityPushTipsState_proto_rawDescOnce sync.Once
+ file_ActivityPushTipsState_proto_rawDescData = file_ActivityPushTipsState_proto_rawDesc
+)
+
+func file_ActivityPushTipsState_proto_rawDescGZIP() []byte {
+ file_ActivityPushTipsState_proto_rawDescOnce.Do(func() {
+ file_ActivityPushTipsState_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityPushTipsState_proto_rawDescData)
+ })
+ return file_ActivityPushTipsState_proto_rawDescData
+}
+
+var file_ActivityPushTipsState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ActivityPushTipsState_proto_goTypes = []interface{}{
+ (ActivityPushTipsState)(0), // 0: proto.ActivityPushTipsState
+}
+var file_ActivityPushTipsState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityPushTipsState_proto_init() }
+func file_ActivityPushTipsState_proto_init() {
+ if File_ActivityPushTipsState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityPushTipsState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityPushTipsState_proto_goTypes,
+ DependencyIndexes: file_ActivityPushTipsState_proto_depIdxs,
+ EnumInfos: file_ActivityPushTipsState_proto_enumTypes,
+ }.Build()
+ File_ActivityPushTipsState_proto = out.File
+ file_ActivityPushTipsState_proto_rawDesc = nil
+ file_ActivityPushTipsState_proto_goTypes = nil
+ file_ActivityPushTipsState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityReadPushTipsReq.pb.go b/protocol/proto/ActivityReadPushTipsReq.pb.go
new file mode 100644
index 00000000..91a30883
--- /dev/null
+++ b/protocol/proto/ActivityReadPushTipsReq.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityReadPushTipsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8145
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityReadPushTipsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityPushTipsIdList []uint32 `protobuf:"varint,14,rep,packed,name=activity_push_tips_id_list,json=activityPushTipsIdList,proto3" json:"activity_push_tips_id_list,omitempty"`
+ ActivityId uint32 `protobuf:"varint,7,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityReadPushTipsReq) Reset() {
+ *x = ActivityReadPushTipsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityReadPushTipsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityReadPushTipsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityReadPushTipsReq) ProtoMessage() {}
+
+func (x *ActivityReadPushTipsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityReadPushTipsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityReadPushTipsReq.ProtoReflect.Descriptor instead.
+func (*ActivityReadPushTipsReq) Descriptor() ([]byte, []int) {
+ return file_ActivityReadPushTipsReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityReadPushTipsReq) GetActivityPushTipsIdList() []uint32 {
+ if x != nil {
+ return x.ActivityPushTipsIdList
+ }
+ return nil
+}
+
+func (x *ActivityReadPushTipsReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityReadPushTipsReq_proto protoreflect.FileDescriptor
+
+var file_ActivityReadPushTipsReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x61, 0x64, 0x50, 0x75,
+ 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x17, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x61, 0x64, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65,
+ 0x71, 0x12, 0x3a, 0x0a, 0x1a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x75,
+ 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50,
+ 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ActivityReadPushTipsReq_proto_rawDescOnce sync.Once
+ file_ActivityReadPushTipsReq_proto_rawDescData = file_ActivityReadPushTipsReq_proto_rawDesc
+)
+
+func file_ActivityReadPushTipsReq_proto_rawDescGZIP() []byte {
+ file_ActivityReadPushTipsReq_proto_rawDescOnce.Do(func() {
+ file_ActivityReadPushTipsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityReadPushTipsReq_proto_rawDescData)
+ })
+ return file_ActivityReadPushTipsReq_proto_rawDescData
+}
+
+var file_ActivityReadPushTipsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityReadPushTipsReq_proto_goTypes = []interface{}{
+ (*ActivityReadPushTipsReq)(nil), // 0: proto.ActivityReadPushTipsReq
+}
+var file_ActivityReadPushTipsReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityReadPushTipsReq_proto_init() }
+func file_ActivityReadPushTipsReq_proto_init() {
+ if File_ActivityReadPushTipsReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityReadPushTipsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityReadPushTipsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityReadPushTipsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityReadPushTipsReq_proto_goTypes,
+ DependencyIndexes: file_ActivityReadPushTipsReq_proto_depIdxs,
+ MessageInfos: file_ActivityReadPushTipsReq_proto_msgTypes,
+ }.Build()
+ File_ActivityReadPushTipsReq_proto = out.File
+ file_ActivityReadPushTipsReq_proto_rawDesc = nil
+ file_ActivityReadPushTipsReq_proto_goTypes = nil
+ file_ActivityReadPushTipsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityReadPushTipsRsp.pb.go b/protocol/proto/ActivityReadPushTipsRsp.pb.go
new file mode 100644
index 00000000..b824bc49
--- /dev/null
+++ b/protocol/proto/ActivityReadPushTipsRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityReadPushTipsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8574
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityReadPushTipsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ActivityReadPushTipsRsp) Reset() {
+ *x = ActivityReadPushTipsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityReadPushTipsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityReadPushTipsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityReadPushTipsRsp) ProtoMessage() {}
+
+func (x *ActivityReadPushTipsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityReadPushTipsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityReadPushTipsRsp.ProtoReflect.Descriptor instead.
+func (*ActivityReadPushTipsRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityReadPushTipsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityReadPushTipsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ActivityReadPushTipsRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityReadPushTipsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x61, 0x64, 0x50, 0x75,
+ 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x61, 0x64, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityReadPushTipsRsp_proto_rawDescOnce sync.Once
+ file_ActivityReadPushTipsRsp_proto_rawDescData = file_ActivityReadPushTipsRsp_proto_rawDesc
+)
+
+func file_ActivityReadPushTipsRsp_proto_rawDescGZIP() []byte {
+ file_ActivityReadPushTipsRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityReadPushTipsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityReadPushTipsRsp_proto_rawDescData)
+ })
+ return file_ActivityReadPushTipsRsp_proto_rawDescData
+}
+
+var file_ActivityReadPushTipsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityReadPushTipsRsp_proto_goTypes = []interface{}{
+ (*ActivityReadPushTipsRsp)(nil), // 0: proto.ActivityReadPushTipsRsp
+}
+var file_ActivityReadPushTipsRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityReadPushTipsRsp_proto_init() }
+func file_ActivityReadPushTipsRsp_proto_init() {
+ if File_ActivityReadPushTipsRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityReadPushTipsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityReadPushTipsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityReadPushTipsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityReadPushTipsRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityReadPushTipsRsp_proto_depIdxs,
+ MessageInfos: file_ActivityReadPushTipsRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityReadPushTipsRsp_proto = out.File
+ file_ActivityReadPushTipsRsp_proto_rawDesc = nil
+ file_ActivityReadPushTipsRsp_proto_goTypes = nil
+ file_ActivityReadPushTipsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityRecvGiftData.pb.go b/protocol/proto/ActivityRecvGiftData.pb.go
new file mode 100644
index 00000000..1bfde4c4
--- /dev/null
+++ b/protocol/proto/ActivityRecvGiftData.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityRecvGiftData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityRecvGiftData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,15,opt,name=uid,proto3" json:"uid,omitempty"`
+ Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ RemarkName string `protobuf:"bytes,10,opt,name=remark_name,json=remarkName,proto3" json:"remark_name,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,14,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ GiftNumMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=gift_num_map,json=giftNumMap,proto3" json:"gift_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *ActivityRecvGiftData) Reset() {
+ *x = ActivityRecvGiftData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityRecvGiftData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityRecvGiftData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityRecvGiftData) ProtoMessage() {}
+
+func (x *ActivityRecvGiftData) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityRecvGiftData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityRecvGiftData.ProtoReflect.Descriptor instead.
+func (*ActivityRecvGiftData) Descriptor() ([]byte, []int) {
+ return file_ActivityRecvGiftData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityRecvGiftData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *ActivityRecvGiftData) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *ActivityRecvGiftData) GetRemarkName() string {
+ if x != nil {
+ return x.RemarkName
+ }
+ return ""
+}
+
+func (x *ActivityRecvGiftData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *ActivityRecvGiftData) GetGiftNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GiftNumMap
+ }
+ return nil
+}
+
+var File_ActivityRecvGiftData_proto protoreflect.FileDescriptor
+
+var file_ActivityRecvGiftData_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x76, 0x47, 0x69,
+ 0x66, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x02, 0x0a, 0x14, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x76, 0x47, 0x69, 0x66, 0x74, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+ 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+ 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x63, 0x76, 0x47, 0x69, 0x66, 0x74,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x1a, 0x3d, 0x0a, 0x0f, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityRecvGiftData_proto_rawDescOnce sync.Once
+ file_ActivityRecvGiftData_proto_rawDescData = file_ActivityRecvGiftData_proto_rawDesc
+)
+
+func file_ActivityRecvGiftData_proto_rawDescGZIP() []byte {
+ file_ActivityRecvGiftData_proto_rawDescOnce.Do(func() {
+ file_ActivityRecvGiftData_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityRecvGiftData_proto_rawDescData)
+ })
+ return file_ActivityRecvGiftData_proto_rawDescData
+}
+
+var file_ActivityRecvGiftData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ActivityRecvGiftData_proto_goTypes = []interface{}{
+ (*ActivityRecvGiftData)(nil), // 0: proto.ActivityRecvGiftData
+ nil, // 1: proto.ActivityRecvGiftData.GiftNumMapEntry
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_ActivityRecvGiftData_proto_depIdxs = []int32{
+ 2, // 0: proto.ActivityRecvGiftData.profile_picture:type_name -> proto.ProfilePicture
+ 1, // 1: proto.ActivityRecvGiftData.gift_num_map:type_name -> proto.ActivityRecvGiftData.GiftNumMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ActivityRecvGiftData_proto_init() }
+func file_ActivityRecvGiftData_proto_init() {
+ if File_ActivityRecvGiftData_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityRecvGiftData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityRecvGiftData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityRecvGiftData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityRecvGiftData_proto_goTypes,
+ DependencyIndexes: file_ActivityRecvGiftData_proto_depIdxs,
+ MessageInfos: file_ActivityRecvGiftData_proto_msgTypes,
+ }.Build()
+ File_ActivityRecvGiftData_proto = out.File
+ file_ActivityRecvGiftData_proto_rawDesc = nil
+ file_ActivityRecvGiftData_proto_goTypes = nil
+ file_ActivityRecvGiftData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivitySaleChangeNotify.pb.go b/protocol/proto/ActivitySaleChangeNotify.pb.go
new file mode 100644
index 00000000..e3739776
--- /dev/null
+++ b/protocol/proto/ActivitySaleChangeNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivitySaleChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2071
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivitySaleChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SaleId uint32 `protobuf:"varint,5,opt,name=sale_id,json=saleId,proto3" json:"sale_id,omitempty"`
+ IsClose bool `protobuf:"varint,1,opt,name=is_close,json=isClose,proto3" json:"is_close,omitempty"`
+}
+
+func (x *ActivitySaleChangeNotify) Reset() {
+ *x = ActivitySaleChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivitySaleChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivitySaleChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivitySaleChangeNotify) ProtoMessage() {}
+
+func (x *ActivitySaleChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivitySaleChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivitySaleChangeNotify.ProtoReflect.Descriptor instead.
+func (*ActivitySaleChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ActivitySaleChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivitySaleChangeNotify) GetSaleId() uint32 {
+ if x != nil {
+ return x.SaleId
+ }
+ return 0
+}
+
+func (x *ActivitySaleChangeNotify) GetIsClose() bool {
+ if x != nil {
+ return x.IsClose
+ }
+ return false
+}
+
+var File_ActivitySaleChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ActivitySaleChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x61, 0x6c, 0x65, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x18, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x53, 0x61, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x61, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
+ 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
+ 0x69, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivitySaleChangeNotify_proto_rawDescOnce sync.Once
+ file_ActivitySaleChangeNotify_proto_rawDescData = file_ActivitySaleChangeNotify_proto_rawDesc
+)
+
+func file_ActivitySaleChangeNotify_proto_rawDescGZIP() []byte {
+ file_ActivitySaleChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ActivitySaleChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivitySaleChangeNotify_proto_rawDescData)
+ })
+ return file_ActivitySaleChangeNotify_proto_rawDescData
+}
+
+var file_ActivitySaleChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivitySaleChangeNotify_proto_goTypes = []interface{}{
+ (*ActivitySaleChangeNotify)(nil), // 0: proto.ActivitySaleChangeNotify
+}
+var file_ActivitySaleChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivitySaleChangeNotify_proto_init() }
+func file_ActivitySaleChangeNotify_proto_init() {
+ if File_ActivitySaleChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivitySaleChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivitySaleChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivitySaleChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivitySaleChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ActivitySaleChangeNotify_proto_depIdxs,
+ MessageInfos: file_ActivitySaleChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ActivitySaleChangeNotify_proto = out.File
+ file_ActivitySaleChangeNotify_proto_rawDesc = nil
+ file_ActivitySaleChangeNotify_proto_goTypes = nil
+ file_ActivitySaleChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityScheduleInfo.pb.go b/protocol/proto/ActivityScheduleInfo.pb.go
new file mode 100644
index 00000000..014a8c81
--- /dev/null
+++ b/protocol/proto/ActivityScheduleInfo.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityScheduleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityScheduleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,13,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ IsOpen bool `protobuf:"varint,2,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ ActivityId uint32 `protobuf:"varint,14,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ EndTime uint32 `protobuf:"varint,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ BeginTime uint32 `protobuf:"varint,10,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+}
+
+func (x *ActivityScheduleInfo) Reset() {
+ *x = ActivityScheduleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityScheduleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityScheduleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityScheduleInfo) ProtoMessage() {}
+
+func (x *ActivityScheduleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityScheduleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityScheduleInfo.ProtoReflect.Descriptor instead.
+func (*ActivityScheduleInfo) Descriptor() ([]byte, []int) {
+ return file_ActivityScheduleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityScheduleInfo) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivityScheduleInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *ActivityScheduleInfo) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityScheduleInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *ActivityScheduleInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+var File_ActivityScheduleInfo_proto protoreflect.FileDescriptor
+
+var file_ActivityScheduleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a,
+ 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
+ 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityScheduleInfo_proto_rawDescOnce sync.Once
+ file_ActivityScheduleInfo_proto_rawDescData = file_ActivityScheduleInfo_proto_rawDesc
+)
+
+func file_ActivityScheduleInfo_proto_rawDescGZIP() []byte {
+ file_ActivityScheduleInfo_proto_rawDescOnce.Do(func() {
+ file_ActivityScheduleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityScheduleInfo_proto_rawDescData)
+ })
+ return file_ActivityScheduleInfo_proto_rawDescData
+}
+
+var file_ActivityScheduleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityScheduleInfo_proto_goTypes = []interface{}{
+ (*ActivityScheduleInfo)(nil), // 0: proto.ActivityScheduleInfo
+}
+var file_ActivityScheduleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityScheduleInfo_proto_init() }
+func file_ActivityScheduleInfo_proto_init() {
+ if File_ActivityScheduleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityScheduleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityScheduleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityScheduleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityScheduleInfo_proto_goTypes,
+ DependencyIndexes: file_ActivityScheduleInfo_proto_depIdxs,
+ MessageInfos: file_ActivityScheduleInfo_proto_msgTypes,
+ }.Build()
+ File_ActivityScheduleInfo_proto = out.File
+ file_ActivityScheduleInfo_proto_rawDesc = nil
+ file_ActivityScheduleInfo_proto_goTypes = nil
+ file_ActivityScheduleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityScheduleInfoNotify.pb.go b/protocol/proto/ActivityScheduleInfoNotify.pb.go
new file mode 100644
index 00000000..0a51d4a6
--- /dev/null
+++ b/protocol/proto/ActivityScheduleInfoNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityScheduleInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2073
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityScheduleInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityScheduleList []*ActivityScheduleInfo `protobuf:"bytes,12,rep,name=activity_schedule_list,json=activityScheduleList,proto3" json:"activity_schedule_list,omitempty"`
+ RemainFlySeaLampNum uint32 `protobuf:"varint,6,opt,name=remain_fly_sea_lamp_num,json=remainFlySeaLampNum,proto3" json:"remain_fly_sea_lamp_num,omitempty"`
+}
+
+func (x *ActivityScheduleInfoNotify) Reset() {
+ *x = ActivityScheduleInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityScheduleInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityScheduleInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityScheduleInfoNotify) ProtoMessage() {}
+
+func (x *ActivityScheduleInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityScheduleInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityScheduleInfoNotify.ProtoReflect.Descriptor instead.
+func (*ActivityScheduleInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityScheduleInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityScheduleInfoNotify) GetActivityScheduleList() []*ActivityScheduleInfo {
+ if x != nil {
+ return x.ActivityScheduleList
+ }
+ return nil
+}
+
+func (x *ActivityScheduleInfoNotify) GetRemainFlySeaLampNum() uint32 {
+ if x != nil {
+ return x.RemainFlySeaLampNum
+ }
+ return 0
+}
+
+var File_ActivityScheduleInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityScheduleInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x51, 0x0a, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x17, 0x72, 0x65, 0x6d, 0x61, 0x69,
+ 0x6e, 0x5f, 0x66, 0x6c, 0x79, 0x5f, 0x73, 0x65, 0x61, 0x5f, 0x6c, 0x61, 0x6d, 0x70, 0x5f, 0x6e,
+ 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
+ 0x46, 0x6c, 0x79, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ActivityScheduleInfoNotify_proto_rawDescOnce sync.Once
+ file_ActivityScheduleInfoNotify_proto_rawDescData = file_ActivityScheduleInfoNotify_proto_rawDesc
+)
+
+func file_ActivityScheduleInfoNotify_proto_rawDescGZIP() []byte {
+ file_ActivityScheduleInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityScheduleInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityScheduleInfoNotify_proto_rawDescData)
+ })
+ return file_ActivityScheduleInfoNotify_proto_rawDescData
+}
+
+var file_ActivityScheduleInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityScheduleInfoNotify_proto_goTypes = []interface{}{
+ (*ActivityScheduleInfoNotify)(nil), // 0: proto.ActivityScheduleInfoNotify
+ (*ActivityScheduleInfo)(nil), // 1: proto.ActivityScheduleInfo
+}
+var file_ActivityScheduleInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityScheduleInfoNotify.activity_schedule_list:type_name -> proto.ActivityScheduleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityScheduleInfoNotify_proto_init() }
+func file_ActivityScheduleInfoNotify_proto_init() {
+ if File_ActivityScheduleInfoNotify_proto != nil {
+ return
+ }
+ file_ActivityScheduleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityScheduleInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityScheduleInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityScheduleInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityScheduleInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityScheduleInfoNotify_proto_depIdxs,
+ MessageInfos: file_ActivityScheduleInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityScheduleInfoNotify_proto = out.File
+ file_ActivityScheduleInfoNotify_proto_rawDesc = nil
+ file_ActivityScheduleInfoNotify_proto_goTypes = nil
+ file_ActivityScheduleInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivitySelectAvatarCardReq.pb.go b/protocol/proto/ActivitySelectAvatarCardReq.pb.go
new file mode 100644
index 00000000..6b9a43a5
--- /dev/null
+++ b/protocol/proto/ActivitySelectAvatarCardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivitySelectAvatarCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2028
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivitySelectAvatarCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,15,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ RewardId uint32 `protobuf:"varint,10,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+}
+
+func (x *ActivitySelectAvatarCardReq) Reset() {
+ *x = ActivitySelectAvatarCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivitySelectAvatarCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivitySelectAvatarCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivitySelectAvatarCardReq) ProtoMessage() {}
+
+func (x *ActivitySelectAvatarCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivitySelectAvatarCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivitySelectAvatarCardReq.ProtoReflect.Descriptor instead.
+func (*ActivitySelectAvatarCardReq) Descriptor() ([]byte, []int) {
+ return file_ActivitySelectAvatarCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivitySelectAvatarCardReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivitySelectAvatarCardReq) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+var File_ActivitySelectAvatarCardReq_proto protoreflect.FileDescriptor
+
+var file_ActivitySelectAvatarCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x1b, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivitySelectAvatarCardReq_proto_rawDescOnce sync.Once
+ file_ActivitySelectAvatarCardReq_proto_rawDescData = file_ActivitySelectAvatarCardReq_proto_rawDesc
+)
+
+func file_ActivitySelectAvatarCardReq_proto_rawDescGZIP() []byte {
+ file_ActivitySelectAvatarCardReq_proto_rawDescOnce.Do(func() {
+ file_ActivitySelectAvatarCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivitySelectAvatarCardReq_proto_rawDescData)
+ })
+ return file_ActivitySelectAvatarCardReq_proto_rawDescData
+}
+
+var file_ActivitySelectAvatarCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivitySelectAvatarCardReq_proto_goTypes = []interface{}{
+ (*ActivitySelectAvatarCardReq)(nil), // 0: proto.ActivitySelectAvatarCardReq
+}
+var file_ActivitySelectAvatarCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivitySelectAvatarCardReq_proto_init() }
+func file_ActivitySelectAvatarCardReq_proto_init() {
+ if File_ActivitySelectAvatarCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivitySelectAvatarCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivitySelectAvatarCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivitySelectAvatarCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivitySelectAvatarCardReq_proto_goTypes,
+ DependencyIndexes: file_ActivitySelectAvatarCardReq_proto_depIdxs,
+ MessageInfos: file_ActivitySelectAvatarCardReq_proto_msgTypes,
+ }.Build()
+ File_ActivitySelectAvatarCardReq_proto = out.File
+ file_ActivitySelectAvatarCardReq_proto_rawDesc = nil
+ file_ActivitySelectAvatarCardReq_proto_goTypes = nil
+ file_ActivitySelectAvatarCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivitySelectAvatarCardRsp.pb.go b/protocol/proto/ActivitySelectAvatarCardRsp.pb.go
new file mode 100644
index 00000000..6593b202
--- /dev/null
+++ b/protocol/proto/ActivitySelectAvatarCardRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivitySelectAvatarCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2189
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivitySelectAvatarCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RewardId uint32 `protobuf:"varint,9,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+}
+
+func (x *ActivitySelectAvatarCardRsp) Reset() {
+ *x = ActivitySelectAvatarCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivitySelectAvatarCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivitySelectAvatarCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivitySelectAvatarCardRsp) ProtoMessage() {}
+
+func (x *ActivitySelectAvatarCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivitySelectAvatarCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivitySelectAvatarCardRsp.ProtoReflect.Descriptor instead.
+func (*ActivitySelectAvatarCardRsp) Descriptor() ([]byte, []int) {
+ return file_ActivitySelectAvatarCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivitySelectAvatarCardRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivitySelectAvatarCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivitySelectAvatarCardRsp) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+var File_ActivitySelectAvatarCardRsp_proto protoreflect.FileDescriptor
+
+var file_ActivitySelectAvatarCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x1b, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivitySelectAvatarCardRsp_proto_rawDescOnce sync.Once
+ file_ActivitySelectAvatarCardRsp_proto_rawDescData = file_ActivitySelectAvatarCardRsp_proto_rawDesc
+)
+
+func file_ActivitySelectAvatarCardRsp_proto_rawDescGZIP() []byte {
+ file_ActivitySelectAvatarCardRsp_proto_rawDescOnce.Do(func() {
+ file_ActivitySelectAvatarCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivitySelectAvatarCardRsp_proto_rawDescData)
+ })
+ return file_ActivitySelectAvatarCardRsp_proto_rawDescData
+}
+
+var file_ActivitySelectAvatarCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivitySelectAvatarCardRsp_proto_goTypes = []interface{}{
+ (*ActivitySelectAvatarCardRsp)(nil), // 0: proto.ActivitySelectAvatarCardRsp
+}
+var file_ActivitySelectAvatarCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivitySelectAvatarCardRsp_proto_init() }
+func file_ActivitySelectAvatarCardRsp_proto_init() {
+ if File_ActivitySelectAvatarCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivitySelectAvatarCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivitySelectAvatarCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivitySelectAvatarCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivitySelectAvatarCardRsp_proto_goTypes,
+ DependencyIndexes: file_ActivitySelectAvatarCardRsp_proto_depIdxs,
+ MessageInfos: file_ActivitySelectAvatarCardRsp_proto_msgTypes,
+ }.Build()
+ File_ActivitySelectAvatarCardRsp_proto = out.File
+ file_ActivitySelectAvatarCardRsp_proto_rawDesc = nil
+ file_ActivitySelectAvatarCardRsp_proto_goTypes = nil
+ file_ActivitySelectAvatarCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivitySetGiftWishReq.pb.go b/protocol/proto/ActivitySetGiftWishReq.pb.go
new file mode 100644
index 00000000..0b86cbb5
--- /dev/null
+++ b/protocol/proto/ActivitySetGiftWishReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivitySetGiftWishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8017
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivitySetGiftWishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GiftNumMap map[uint32]uint32 `protobuf:"bytes,2,rep,name=gift_num_map,json=giftNumMap,proto3" json:"gift_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ScheduleId uint32 `protobuf:"varint,14,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *ActivitySetGiftWishReq) Reset() {
+ *x = ActivitySetGiftWishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivitySetGiftWishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivitySetGiftWishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivitySetGiftWishReq) ProtoMessage() {}
+
+func (x *ActivitySetGiftWishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivitySetGiftWishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivitySetGiftWishReq.ProtoReflect.Descriptor instead.
+func (*ActivitySetGiftWishReq) Descriptor() ([]byte, []int) {
+ return file_ActivitySetGiftWishReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivitySetGiftWishReq) GetGiftNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GiftNumMap
+ }
+ return nil
+}
+
+func (x *ActivitySetGiftWishReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_ActivitySetGiftWishReq_proto protoreflect.FileDescriptor
+
+var file_ActivitySetGiftWishReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x47, 0x69, 0x66,
+ 0x74, 0x57, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x53, 0x65, 0x74, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71,
+ 0x12, 0x4f, 0x0a, 0x0c, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69,
+ 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x49, 0x64, 0x1a, 0x3d, 0x0a, 0x0f, 0x47, 0x69, 0x66, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivitySetGiftWishReq_proto_rawDescOnce sync.Once
+ file_ActivitySetGiftWishReq_proto_rawDescData = file_ActivitySetGiftWishReq_proto_rawDesc
+)
+
+func file_ActivitySetGiftWishReq_proto_rawDescGZIP() []byte {
+ file_ActivitySetGiftWishReq_proto_rawDescOnce.Do(func() {
+ file_ActivitySetGiftWishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivitySetGiftWishReq_proto_rawDescData)
+ })
+ return file_ActivitySetGiftWishReq_proto_rawDescData
+}
+
+var file_ActivitySetGiftWishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ActivitySetGiftWishReq_proto_goTypes = []interface{}{
+ (*ActivitySetGiftWishReq)(nil), // 0: proto.ActivitySetGiftWishReq
+ nil, // 1: proto.ActivitySetGiftWishReq.GiftNumMapEntry
+}
+var file_ActivitySetGiftWishReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivitySetGiftWishReq.gift_num_map:type_name -> proto.ActivitySetGiftWishReq.GiftNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivitySetGiftWishReq_proto_init() }
+func file_ActivitySetGiftWishReq_proto_init() {
+ if File_ActivitySetGiftWishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivitySetGiftWishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivitySetGiftWishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivitySetGiftWishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivitySetGiftWishReq_proto_goTypes,
+ DependencyIndexes: file_ActivitySetGiftWishReq_proto_depIdxs,
+ MessageInfos: file_ActivitySetGiftWishReq_proto_msgTypes,
+ }.Build()
+ File_ActivitySetGiftWishReq_proto = out.File
+ file_ActivitySetGiftWishReq_proto_rawDesc = nil
+ file_ActivitySetGiftWishReq_proto_goTypes = nil
+ file_ActivitySetGiftWishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivitySetGiftWishRsp.pb.go b/protocol/proto/ActivitySetGiftWishRsp.pb.go
new file mode 100644
index 00000000..70f57e0d
--- /dev/null
+++ b/protocol/proto/ActivitySetGiftWishRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivitySetGiftWishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8554
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivitySetGiftWishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,15,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ActivitySetGiftWishRsp) Reset() {
+ *x = ActivitySetGiftWishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivitySetGiftWishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivitySetGiftWishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivitySetGiftWishRsp) ProtoMessage() {}
+
+func (x *ActivitySetGiftWishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivitySetGiftWishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivitySetGiftWishRsp.ProtoReflect.Descriptor instead.
+func (*ActivitySetGiftWishRsp) Descriptor() ([]byte, []int) {
+ return file_ActivitySetGiftWishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivitySetGiftWishRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *ActivitySetGiftWishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ActivitySetGiftWishRsp_proto protoreflect.FileDescriptor
+
+var file_ActivitySetGiftWishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x47, 0x69, 0x66,
+ 0x74, 0x57, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x53, 0x65, 0x74, 0x47, 0x69, 0x66, 0x74, 0x57, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivitySetGiftWishRsp_proto_rawDescOnce sync.Once
+ file_ActivitySetGiftWishRsp_proto_rawDescData = file_ActivitySetGiftWishRsp_proto_rawDesc
+)
+
+func file_ActivitySetGiftWishRsp_proto_rawDescGZIP() []byte {
+ file_ActivitySetGiftWishRsp_proto_rawDescOnce.Do(func() {
+ file_ActivitySetGiftWishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivitySetGiftWishRsp_proto_rawDescData)
+ })
+ return file_ActivitySetGiftWishRsp_proto_rawDescData
+}
+
+var file_ActivitySetGiftWishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivitySetGiftWishRsp_proto_goTypes = []interface{}{
+ (*ActivitySetGiftWishRsp)(nil), // 0: proto.ActivitySetGiftWishRsp
+}
+var file_ActivitySetGiftWishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivitySetGiftWishRsp_proto_init() }
+func file_ActivitySetGiftWishRsp_proto_init() {
+ if File_ActivitySetGiftWishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivitySetGiftWishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivitySetGiftWishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivitySetGiftWishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivitySetGiftWishRsp_proto_goTypes,
+ DependencyIndexes: file_ActivitySetGiftWishRsp_proto_depIdxs,
+ MessageInfos: file_ActivitySetGiftWishRsp_proto_msgTypes,
+ }.Build()
+ File_ActivitySetGiftWishRsp_proto = out.File
+ file_ActivitySetGiftWishRsp_proto_rawDesc = nil
+ file_ActivitySetGiftWishRsp_proto_goTypes = nil
+ file_ActivitySetGiftWishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityShopSheetInfo.pb.go b/protocol/proto/ActivityShopSheetInfo.pb.go
new file mode 100644
index 00000000..9d7f06cd
--- /dev/null
+++ b/protocol/proto/ActivityShopSheetInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityShopSheetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityShopSheetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndTime uint32 `protobuf:"varint,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ BeginTime uint32 `protobuf:"varint,12,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ SheetId uint32 `protobuf:"varint,2,opt,name=sheet_id,json=sheetId,proto3" json:"sheet_id,omitempty"`
+}
+
+func (x *ActivityShopSheetInfo) Reset() {
+ *x = ActivityShopSheetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityShopSheetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityShopSheetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityShopSheetInfo) ProtoMessage() {}
+
+func (x *ActivityShopSheetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityShopSheetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityShopSheetInfo.ProtoReflect.Descriptor instead.
+func (*ActivityShopSheetInfo) Descriptor() ([]byte, []int) {
+ return file_ActivityShopSheetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityShopSheetInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *ActivityShopSheetInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *ActivityShopSheetInfo) GetSheetId() uint32 {
+ if x != nil {
+ return x.SheetId
+ }
+ return 0
+}
+
+var File_ActivityShopSheetInfo_proto protoreflect.FileDescriptor
+
+var file_ActivityShopSheetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x53, 0x68,
+ 0x65, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x15, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x53, 0x68, 0x6f, 0x70, 0x53, 0x68, 0x65, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a,
+ 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65,
+ 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x68, 0x65, 0x65, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x68, 0x65, 0x65, 0x74,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityShopSheetInfo_proto_rawDescOnce sync.Once
+ file_ActivityShopSheetInfo_proto_rawDescData = file_ActivityShopSheetInfo_proto_rawDesc
+)
+
+func file_ActivityShopSheetInfo_proto_rawDescGZIP() []byte {
+ file_ActivityShopSheetInfo_proto_rawDescOnce.Do(func() {
+ file_ActivityShopSheetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityShopSheetInfo_proto_rawDescData)
+ })
+ return file_ActivityShopSheetInfo_proto_rawDescData
+}
+
+var file_ActivityShopSheetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityShopSheetInfo_proto_goTypes = []interface{}{
+ (*ActivityShopSheetInfo)(nil), // 0: proto.ActivityShopSheetInfo
+}
+var file_ActivityShopSheetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityShopSheetInfo_proto_init() }
+func file_ActivityShopSheetInfo_proto_init() {
+ if File_ActivityShopSheetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityShopSheetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityShopSheetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityShopSheetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityShopSheetInfo_proto_goTypes,
+ DependencyIndexes: file_ActivityShopSheetInfo_proto_depIdxs,
+ MessageInfos: file_ActivityShopSheetInfo_proto_msgTypes,
+ }.Build()
+ File_ActivityShopSheetInfo_proto = out.File
+ file_ActivityShopSheetInfo_proto_rawDesc = nil
+ file_ActivityShopSheetInfo_proto_goTypes = nil
+ file_ActivityShopSheetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityTakeAllScoreRewardReq.pb.go b/protocol/proto/ActivityTakeAllScoreRewardReq.pb.go
new file mode 100644
index 00000000..0ea2145b
--- /dev/null
+++ b/protocol/proto/ActivityTakeAllScoreRewardReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityTakeAllScoreRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8372
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityTakeAllScoreRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,9,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityTakeAllScoreRewardReq) Reset() {
+ *x = ActivityTakeAllScoreRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityTakeAllScoreRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityTakeAllScoreRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityTakeAllScoreRewardReq) ProtoMessage() {}
+
+func (x *ActivityTakeAllScoreRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityTakeAllScoreRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityTakeAllScoreRewardReq.ProtoReflect.Descriptor instead.
+func (*ActivityTakeAllScoreRewardReq) Descriptor() ([]byte, []int) {
+ return file_ActivityTakeAllScoreRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityTakeAllScoreRewardReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityTakeAllScoreRewardReq_proto protoreflect.FileDescriptor
+
+var file_ActivityTakeAllScoreRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x6c,
+ 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x1d,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x6c, 0x6c, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ActivityTakeAllScoreRewardReq_proto_rawDescOnce sync.Once
+ file_ActivityTakeAllScoreRewardReq_proto_rawDescData = file_ActivityTakeAllScoreRewardReq_proto_rawDesc
+)
+
+func file_ActivityTakeAllScoreRewardReq_proto_rawDescGZIP() []byte {
+ file_ActivityTakeAllScoreRewardReq_proto_rawDescOnce.Do(func() {
+ file_ActivityTakeAllScoreRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityTakeAllScoreRewardReq_proto_rawDescData)
+ })
+ return file_ActivityTakeAllScoreRewardReq_proto_rawDescData
+}
+
+var file_ActivityTakeAllScoreRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityTakeAllScoreRewardReq_proto_goTypes = []interface{}{
+ (*ActivityTakeAllScoreRewardReq)(nil), // 0: proto.ActivityTakeAllScoreRewardReq
+}
+var file_ActivityTakeAllScoreRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityTakeAllScoreRewardReq_proto_init() }
+func file_ActivityTakeAllScoreRewardReq_proto_init() {
+ if File_ActivityTakeAllScoreRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityTakeAllScoreRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityTakeAllScoreRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityTakeAllScoreRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityTakeAllScoreRewardReq_proto_goTypes,
+ DependencyIndexes: file_ActivityTakeAllScoreRewardReq_proto_depIdxs,
+ MessageInfos: file_ActivityTakeAllScoreRewardReq_proto_msgTypes,
+ }.Build()
+ File_ActivityTakeAllScoreRewardReq_proto = out.File
+ file_ActivityTakeAllScoreRewardReq_proto_rawDesc = nil
+ file_ActivityTakeAllScoreRewardReq_proto_goTypes = nil
+ file_ActivityTakeAllScoreRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityTakeAllScoreRewardRsp.pb.go b/protocol/proto/ActivityTakeAllScoreRewardRsp.pb.go
new file mode 100644
index 00000000..11fc283d
--- /dev/null
+++ b/protocol/proto/ActivityTakeAllScoreRewardRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityTakeAllScoreRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8043
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityTakeAllScoreRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardConfigList []uint32 `protobuf:"varint,14,rep,packed,name=reward_config_list,json=rewardConfigList,proto3" json:"reward_config_list,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ActivityId uint32 `protobuf:"varint,7,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityTakeAllScoreRewardRsp) Reset() {
+ *x = ActivityTakeAllScoreRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityTakeAllScoreRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityTakeAllScoreRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityTakeAllScoreRewardRsp) ProtoMessage() {}
+
+func (x *ActivityTakeAllScoreRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityTakeAllScoreRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityTakeAllScoreRewardRsp.ProtoReflect.Descriptor instead.
+func (*ActivityTakeAllScoreRewardRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityTakeAllScoreRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityTakeAllScoreRewardRsp) GetRewardConfigList() []uint32 {
+ if x != nil {
+ return x.RewardConfigList
+ }
+ return nil
+}
+
+func (x *ActivityTakeAllScoreRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivityTakeAllScoreRewardRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityTakeAllScoreRewardRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityTakeAllScoreRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x6c,
+ 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01, 0x0a,
+ 0x1d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x6c, 0x6c,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x2c,
+ 0x0a, 0x12, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityTakeAllScoreRewardRsp_proto_rawDescOnce sync.Once
+ file_ActivityTakeAllScoreRewardRsp_proto_rawDescData = file_ActivityTakeAllScoreRewardRsp_proto_rawDesc
+)
+
+func file_ActivityTakeAllScoreRewardRsp_proto_rawDescGZIP() []byte {
+ file_ActivityTakeAllScoreRewardRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityTakeAllScoreRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityTakeAllScoreRewardRsp_proto_rawDescData)
+ })
+ return file_ActivityTakeAllScoreRewardRsp_proto_rawDescData
+}
+
+var file_ActivityTakeAllScoreRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityTakeAllScoreRewardRsp_proto_goTypes = []interface{}{
+ (*ActivityTakeAllScoreRewardRsp)(nil), // 0: proto.ActivityTakeAllScoreRewardRsp
+}
+var file_ActivityTakeAllScoreRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityTakeAllScoreRewardRsp_proto_init() }
+func file_ActivityTakeAllScoreRewardRsp_proto_init() {
+ if File_ActivityTakeAllScoreRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityTakeAllScoreRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityTakeAllScoreRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityTakeAllScoreRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityTakeAllScoreRewardRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityTakeAllScoreRewardRsp_proto_depIdxs,
+ MessageInfos: file_ActivityTakeAllScoreRewardRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityTakeAllScoreRewardRsp_proto = out.File
+ file_ActivityTakeAllScoreRewardRsp_proto_rawDesc = nil
+ file_ActivityTakeAllScoreRewardRsp_proto_goTypes = nil
+ file_ActivityTakeAllScoreRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityTakeScoreRewardReq.pb.go b/protocol/proto/ActivityTakeScoreRewardReq.pb.go
new file mode 100644
index 00000000..10b7657c
--- /dev/null
+++ b/protocol/proto/ActivityTakeScoreRewardReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityTakeScoreRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8971
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityTakeScoreRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardConfigId uint32 `protobuf:"varint,12,opt,name=reward_config_id,json=rewardConfigId,proto3" json:"reward_config_id,omitempty"`
+ ActivityId uint32 `protobuf:"varint,9,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityTakeScoreRewardReq) Reset() {
+ *x = ActivityTakeScoreRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityTakeScoreRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityTakeScoreRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityTakeScoreRewardReq) ProtoMessage() {}
+
+func (x *ActivityTakeScoreRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityTakeScoreRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityTakeScoreRewardReq.ProtoReflect.Descriptor instead.
+func (*ActivityTakeScoreRewardReq) Descriptor() ([]byte, []int) {
+ return file_ActivityTakeScoreRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityTakeScoreRewardReq) GetRewardConfigId() uint32 {
+ if x != nil {
+ return x.RewardConfigId
+ }
+ return 0
+}
+
+func (x *ActivityTakeScoreRewardReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityTakeScoreRewardReq_proto protoreflect.FileDescriptor
+
+var file_ActivityTakeScoreRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x1a, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49,
+ 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityTakeScoreRewardReq_proto_rawDescOnce sync.Once
+ file_ActivityTakeScoreRewardReq_proto_rawDescData = file_ActivityTakeScoreRewardReq_proto_rawDesc
+)
+
+func file_ActivityTakeScoreRewardReq_proto_rawDescGZIP() []byte {
+ file_ActivityTakeScoreRewardReq_proto_rawDescOnce.Do(func() {
+ file_ActivityTakeScoreRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityTakeScoreRewardReq_proto_rawDescData)
+ })
+ return file_ActivityTakeScoreRewardReq_proto_rawDescData
+}
+
+var file_ActivityTakeScoreRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityTakeScoreRewardReq_proto_goTypes = []interface{}{
+ (*ActivityTakeScoreRewardReq)(nil), // 0: proto.ActivityTakeScoreRewardReq
+}
+var file_ActivityTakeScoreRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityTakeScoreRewardReq_proto_init() }
+func file_ActivityTakeScoreRewardReq_proto_init() {
+ if File_ActivityTakeScoreRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityTakeScoreRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityTakeScoreRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityTakeScoreRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityTakeScoreRewardReq_proto_goTypes,
+ DependencyIndexes: file_ActivityTakeScoreRewardReq_proto_depIdxs,
+ MessageInfos: file_ActivityTakeScoreRewardReq_proto_msgTypes,
+ }.Build()
+ File_ActivityTakeScoreRewardReq_proto = out.File
+ file_ActivityTakeScoreRewardReq_proto_rawDesc = nil
+ file_ActivityTakeScoreRewardReq_proto_goTypes = nil
+ file_ActivityTakeScoreRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityTakeScoreRewardRsp.pb.go b/protocol/proto/ActivityTakeScoreRewardRsp.pb.go
new file mode 100644
index 00000000..67c92ca4
--- /dev/null
+++ b/protocol/proto/ActivityTakeScoreRewardRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityTakeScoreRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8583
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityTakeScoreRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,13,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RewardConfigId uint32 `protobuf:"varint,15,opt,name=reward_config_id,json=rewardConfigId,proto3" json:"reward_config_id,omitempty"`
+}
+
+func (x *ActivityTakeScoreRewardRsp) Reset() {
+ *x = ActivityTakeScoreRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityTakeScoreRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityTakeScoreRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityTakeScoreRewardRsp) ProtoMessage() {}
+
+func (x *ActivityTakeScoreRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityTakeScoreRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityTakeScoreRewardRsp.ProtoReflect.Descriptor instead.
+func (*ActivityTakeScoreRewardRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityTakeScoreRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityTakeScoreRewardRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityTakeScoreRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivityTakeScoreRewardRsp) GetRewardConfigId() uint32 {
+ if x != nil {
+ return x.RewardConfigId
+ }
+ return 0
+}
+
+var File_ActivityTakeScoreRewardRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityTakeScoreRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x1a, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ActivityTakeScoreRewardRsp_proto_rawDescOnce sync.Once
+ file_ActivityTakeScoreRewardRsp_proto_rawDescData = file_ActivityTakeScoreRewardRsp_proto_rawDesc
+)
+
+func file_ActivityTakeScoreRewardRsp_proto_rawDescGZIP() []byte {
+ file_ActivityTakeScoreRewardRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityTakeScoreRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityTakeScoreRewardRsp_proto_rawDescData)
+ })
+ return file_ActivityTakeScoreRewardRsp_proto_rawDescData
+}
+
+var file_ActivityTakeScoreRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityTakeScoreRewardRsp_proto_goTypes = []interface{}{
+ (*ActivityTakeScoreRewardRsp)(nil), // 0: proto.ActivityTakeScoreRewardRsp
+}
+var file_ActivityTakeScoreRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityTakeScoreRewardRsp_proto_init() }
+func file_ActivityTakeScoreRewardRsp_proto_init() {
+ if File_ActivityTakeScoreRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityTakeScoreRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityTakeScoreRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityTakeScoreRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityTakeScoreRewardRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityTakeScoreRewardRsp_proto_depIdxs,
+ MessageInfos: file_ActivityTakeScoreRewardRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityTakeScoreRewardRsp_proto = out.File
+ file_ActivityTakeScoreRewardRsp_proto_rawDesc = nil
+ file_ActivityTakeScoreRewardRsp_proto_goTypes = nil
+ file_ActivityTakeScoreRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityTakeWatcherRewardBatchReq.pb.go b/protocol/proto/ActivityTakeWatcherRewardBatchReq.pb.go
new file mode 100644
index 00000000..45f61627
--- /dev/null
+++ b/protocol/proto/ActivityTakeWatcherRewardBatchReq.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityTakeWatcherRewardBatchReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2159
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityTakeWatcherRewardBatchReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WatcherIdList []uint32 `protobuf:"varint,11,rep,packed,name=watcher_id_list,json=watcherIdList,proto3" json:"watcher_id_list,omitempty"`
+ ActivityId uint32 `protobuf:"varint,3,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityTakeWatcherRewardBatchReq) Reset() {
+ *x = ActivityTakeWatcherRewardBatchReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityTakeWatcherRewardBatchReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityTakeWatcherRewardBatchReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityTakeWatcherRewardBatchReq) ProtoMessage() {}
+
+func (x *ActivityTakeWatcherRewardBatchReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityTakeWatcherRewardBatchReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityTakeWatcherRewardBatchReq.ProtoReflect.Descriptor instead.
+func (*ActivityTakeWatcherRewardBatchReq) Descriptor() ([]byte, []int) {
+ return file_ActivityTakeWatcherRewardBatchReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityTakeWatcherRewardBatchReq) GetWatcherIdList() []uint32 {
+ if x != nil {
+ return x.WatcherIdList
+ }
+ return nil
+}
+
+func (x *ActivityTakeWatcherRewardBatchReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityTakeWatcherRewardBatchReq_proto protoreflect.FileDescriptor
+
+var file_ActivityTakeWatcherRewardBatchReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x57, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6c, 0x0a, 0x21, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65,
+ 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ActivityTakeWatcherRewardBatchReq_proto_rawDescOnce sync.Once
+ file_ActivityTakeWatcherRewardBatchReq_proto_rawDescData = file_ActivityTakeWatcherRewardBatchReq_proto_rawDesc
+)
+
+func file_ActivityTakeWatcherRewardBatchReq_proto_rawDescGZIP() []byte {
+ file_ActivityTakeWatcherRewardBatchReq_proto_rawDescOnce.Do(func() {
+ file_ActivityTakeWatcherRewardBatchReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityTakeWatcherRewardBatchReq_proto_rawDescData)
+ })
+ return file_ActivityTakeWatcherRewardBatchReq_proto_rawDescData
+}
+
+var file_ActivityTakeWatcherRewardBatchReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityTakeWatcherRewardBatchReq_proto_goTypes = []interface{}{
+ (*ActivityTakeWatcherRewardBatchReq)(nil), // 0: proto.ActivityTakeWatcherRewardBatchReq
+}
+var file_ActivityTakeWatcherRewardBatchReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityTakeWatcherRewardBatchReq_proto_init() }
+func file_ActivityTakeWatcherRewardBatchReq_proto_init() {
+ if File_ActivityTakeWatcherRewardBatchReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityTakeWatcherRewardBatchReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityTakeWatcherRewardBatchReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityTakeWatcherRewardBatchReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityTakeWatcherRewardBatchReq_proto_goTypes,
+ DependencyIndexes: file_ActivityTakeWatcherRewardBatchReq_proto_depIdxs,
+ MessageInfos: file_ActivityTakeWatcherRewardBatchReq_proto_msgTypes,
+ }.Build()
+ File_ActivityTakeWatcherRewardBatchReq_proto = out.File
+ file_ActivityTakeWatcherRewardBatchReq_proto_rawDesc = nil
+ file_ActivityTakeWatcherRewardBatchReq_proto_goTypes = nil
+ file_ActivityTakeWatcherRewardBatchReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityTakeWatcherRewardBatchRsp.pb.go b/protocol/proto/ActivityTakeWatcherRewardBatchRsp.pb.go
new file mode 100644
index 00000000..8fa9e864
--- /dev/null
+++ b/protocol/proto/ActivityTakeWatcherRewardBatchRsp.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityTakeWatcherRewardBatchRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2109
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityTakeWatcherRewardBatchRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WatcherIdList []uint32 `protobuf:"varint,6,rep,packed,name=watcher_id_list,json=watcherIdList,proto3" json:"watcher_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ActivityId uint32 `protobuf:"varint,7,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,1,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *ActivityTakeWatcherRewardBatchRsp) Reset() {
+ *x = ActivityTakeWatcherRewardBatchRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityTakeWatcherRewardBatchRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityTakeWatcherRewardBatchRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityTakeWatcherRewardBatchRsp) ProtoMessage() {}
+
+func (x *ActivityTakeWatcherRewardBatchRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityTakeWatcherRewardBatchRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityTakeWatcherRewardBatchRsp.ProtoReflect.Descriptor instead.
+func (*ActivityTakeWatcherRewardBatchRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityTakeWatcherRewardBatchRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityTakeWatcherRewardBatchRsp) GetWatcherIdList() []uint32 {
+ if x != nil {
+ return x.WatcherIdList
+ }
+ return nil
+}
+
+func (x *ActivityTakeWatcherRewardBatchRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ActivityTakeWatcherRewardBatchRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityTakeWatcherRewardBatchRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_ActivityTakeWatcherRewardBatchRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityTakeWatcherRewardBatchRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x57, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x21, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61,
+ 0x6b, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0d, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
+ 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityTakeWatcherRewardBatchRsp_proto_rawDescOnce sync.Once
+ file_ActivityTakeWatcherRewardBatchRsp_proto_rawDescData = file_ActivityTakeWatcherRewardBatchRsp_proto_rawDesc
+)
+
+func file_ActivityTakeWatcherRewardBatchRsp_proto_rawDescGZIP() []byte {
+ file_ActivityTakeWatcherRewardBatchRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityTakeWatcherRewardBatchRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityTakeWatcherRewardBatchRsp_proto_rawDescData)
+ })
+ return file_ActivityTakeWatcherRewardBatchRsp_proto_rawDescData
+}
+
+var file_ActivityTakeWatcherRewardBatchRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityTakeWatcherRewardBatchRsp_proto_goTypes = []interface{}{
+ (*ActivityTakeWatcherRewardBatchRsp)(nil), // 0: proto.ActivityTakeWatcherRewardBatchRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_ActivityTakeWatcherRewardBatchRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityTakeWatcherRewardBatchRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityTakeWatcherRewardBatchRsp_proto_init() }
+func file_ActivityTakeWatcherRewardBatchRsp_proto_init() {
+ if File_ActivityTakeWatcherRewardBatchRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityTakeWatcherRewardBatchRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityTakeWatcherRewardBatchRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityTakeWatcherRewardBatchRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityTakeWatcherRewardBatchRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityTakeWatcherRewardBatchRsp_proto_depIdxs,
+ MessageInfos: file_ActivityTakeWatcherRewardBatchRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityTakeWatcherRewardBatchRsp_proto = out.File
+ file_ActivityTakeWatcherRewardBatchRsp_proto_rawDesc = nil
+ file_ActivityTakeWatcherRewardBatchRsp_proto_goTypes = nil
+ file_ActivityTakeWatcherRewardBatchRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityTakeWatcherRewardReq.pb.go b/protocol/proto/ActivityTakeWatcherRewardReq.pb.go
new file mode 100644
index 00000000..aa92d0ab
--- /dev/null
+++ b/protocol/proto/ActivityTakeWatcherRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityTakeWatcherRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2038
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityTakeWatcherRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ WatcherId uint32 `protobuf:"varint,14,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+}
+
+func (x *ActivityTakeWatcherRewardReq) Reset() {
+ *x = ActivityTakeWatcherRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityTakeWatcherRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityTakeWatcherRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityTakeWatcherRewardReq) ProtoMessage() {}
+
+func (x *ActivityTakeWatcherRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityTakeWatcherRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityTakeWatcherRewardReq.ProtoReflect.Descriptor instead.
+func (*ActivityTakeWatcherRewardReq) Descriptor() ([]byte, []int) {
+ return file_ActivityTakeWatcherRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityTakeWatcherRewardReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityTakeWatcherRewardReq) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+var File_ActivityTakeWatcherRewardReq_proto protoreflect.FileDescriptor
+
+var file_ActivityTakeWatcherRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x57, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x1c, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityTakeWatcherRewardReq_proto_rawDescOnce sync.Once
+ file_ActivityTakeWatcherRewardReq_proto_rawDescData = file_ActivityTakeWatcherRewardReq_proto_rawDesc
+)
+
+func file_ActivityTakeWatcherRewardReq_proto_rawDescGZIP() []byte {
+ file_ActivityTakeWatcherRewardReq_proto_rawDescOnce.Do(func() {
+ file_ActivityTakeWatcherRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityTakeWatcherRewardReq_proto_rawDescData)
+ })
+ return file_ActivityTakeWatcherRewardReq_proto_rawDescData
+}
+
+var file_ActivityTakeWatcherRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityTakeWatcherRewardReq_proto_goTypes = []interface{}{
+ (*ActivityTakeWatcherRewardReq)(nil), // 0: proto.ActivityTakeWatcherRewardReq
+}
+var file_ActivityTakeWatcherRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityTakeWatcherRewardReq_proto_init() }
+func file_ActivityTakeWatcherRewardReq_proto_init() {
+ if File_ActivityTakeWatcherRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityTakeWatcherRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityTakeWatcherRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityTakeWatcherRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityTakeWatcherRewardReq_proto_goTypes,
+ DependencyIndexes: file_ActivityTakeWatcherRewardReq_proto_depIdxs,
+ MessageInfos: file_ActivityTakeWatcherRewardReq_proto_msgTypes,
+ }.Build()
+ File_ActivityTakeWatcherRewardReq_proto = out.File
+ file_ActivityTakeWatcherRewardReq_proto_rawDesc = nil
+ file_ActivityTakeWatcherRewardReq_proto_goTypes = nil
+ file_ActivityTakeWatcherRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityTakeWatcherRewardRsp.pb.go b/protocol/proto/ActivityTakeWatcherRewardRsp.pb.go
new file mode 100644
index 00000000..c3c5bbbc
--- /dev/null
+++ b/protocol/proto/ActivityTakeWatcherRewardRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityTakeWatcherRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2034
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ActivityTakeWatcherRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,14,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ WatcherId uint32 `protobuf:"varint,7,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ActivityTakeWatcherRewardRsp) Reset() {
+ *x = ActivityTakeWatcherRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityTakeWatcherRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityTakeWatcherRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityTakeWatcherRewardRsp) ProtoMessage() {}
+
+func (x *ActivityTakeWatcherRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityTakeWatcherRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityTakeWatcherRewardRsp.ProtoReflect.Descriptor instead.
+func (*ActivityTakeWatcherRewardRsp) Descriptor() ([]byte, []int) {
+ return file_ActivityTakeWatcherRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityTakeWatcherRewardRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ActivityTakeWatcherRewardRsp) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+func (x *ActivityTakeWatcherRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ActivityTakeWatcherRewardRsp_proto protoreflect.FileDescriptor
+
+var file_ActivityTakeWatcherRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x57, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x1c, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityTakeWatcherRewardRsp_proto_rawDescOnce sync.Once
+ file_ActivityTakeWatcherRewardRsp_proto_rawDescData = file_ActivityTakeWatcherRewardRsp_proto_rawDesc
+)
+
+func file_ActivityTakeWatcherRewardRsp_proto_rawDescGZIP() []byte {
+ file_ActivityTakeWatcherRewardRsp_proto_rawDescOnce.Do(func() {
+ file_ActivityTakeWatcherRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityTakeWatcherRewardRsp_proto_rawDescData)
+ })
+ return file_ActivityTakeWatcherRewardRsp_proto_rawDescData
+}
+
+var file_ActivityTakeWatcherRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityTakeWatcherRewardRsp_proto_goTypes = []interface{}{
+ (*ActivityTakeWatcherRewardRsp)(nil), // 0: proto.ActivityTakeWatcherRewardRsp
+}
+var file_ActivityTakeWatcherRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityTakeWatcherRewardRsp_proto_init() }
+func file_ActivityTakeWatcherRewardRsp_proto_init() {
+ if File_ActivityTakeWatcherRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityTakeWatcherRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityTakeWatcherRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityTakeWatcherRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityTakeWatcherRewardRsp_proto_goTypes,
+ DependencyIndexes: file_ActivityTakeWatcherRewardRsp_proto_depIdxs,
+ MessageInfos: file_ActivityTakeWatcherRewardRsp_proto_msgTypes,
+ }.Build()
+ File_ActivityTakeWatcherRewardRsp_proto = out.File
+ file_ActivityTakeWatcherRewardRsp_proto_rawDesc = nil
+ file_ActivityTakeWatcherRewardRsp_proto_goTypes = nil
+ file_ActivityTakeWatcherRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityUpdateWatcherNotify.pb.go b/protocol/proto/ActivityUpdateWatcherNotify.pb.go
new file mode 100644
index 00000000..fdf5222e
--- /dev/null
+++ b/protocol/proto/ActivityUpdateWatcherNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityUpdateWatcherNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2156
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ActivityUpdateWatcherNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WatcherInfo *ActivityWatcherInfo `protobuf:"bytes,2,opt,name=watcher_info,json=watcherInfo,proto3" json:"watcher_info,omitempty"`
+ ActivityId uint32 `protobuf:"varint,1,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *ActivityUpdateWatcherNotify) Reset() {
+ *x = ActivityUpdateWatcherNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityUpdateWatcherNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityUpdateWatcherNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityUpdateWatcherNotify) ProtoMessage() {}
+
+func (x *ActivityUpdateWatcherNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityUpdateWatcherNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityUpdateWatcherNotify.ProtoReflect.Descriptor instead.
+func (*ActivityUpdateWatcherNotify) Descriptor() ([]byte, []int) {
+ return file_ActivityUpdateWatcherNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityUpdateWatcherNotify) GetWatcherInfo() *ActivityWatcherInfo {
+ if x != nil {
+ return x.WatcherInfo
+ }
+ return nil
+}
+
+func (x *ActivityUpdateWatcherNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_ActivityUpdateWatcherNotify_proto protoreflect.FileDescriptor
+
+var file_ActivityUpdateWatcherNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x1b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x3d, 0x0a, 0x0c, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityUpdateWatcherNotify_proto_rawDescOnce sync.Once
+ file_ActivityUpdateWatcherNotify_proto_rawDescData = file_ActivityUpdateWatcherNotify_proto_rawDesc
+)
+
+func file_ActivityUpdateWatcherNotify_proto_rawDescGZIP() []byte {
+ file_ActivityUpdateWatcherNotify_proto_rawDescOnce.Do(func() {
+ file_ActivityUpdateWatcherNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityUpdateWatcherNotify_proto_rawDescData)
+ })
+ return file_ActivityUpdateWatcherNotify_proto_rawDescData
+}
+
+var file_ActivityUpdateWatcherNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityUpdateWatcherNotify_proto_goTypes = []interface{}{
+ (*ActivityUpdateWatcherNotify)(nil), // 0: proto.ActivityUpdateWatcherNotify
+ (*ActivityWatcherInfo)(nil), // 1: proto.ActivityWatcherInfo
+}
+var file_ActivityUpdateWatcherNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ActivityUpdateWatcherNotify.watcher_info:type_name -> proto.ActivityWatcherInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ActivityUpdateWatcherNotify_proto_init() }
+func file_ActivityUpdateWatcherNotify_proto_init() {
+ if File_ActivityUpdateWatcherNotify_proto != nil {
+ return
+ }
+ file_ActivityWatcherInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityUpdateWatcherNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityUpdateWatcherNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityUpdateWatcherNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityUpdateWatcherNotify_proto_goTypes,
+ DependencyIndexes: file_ActivityUpdateWatcherNotify_proto_depIdxs,
+ MessageInfos: file_ActivityUpdateWatcherNotify_proto_msgTypes,
+ }.Build()
+ File_ActivityUpdateWatcherNotify_proto = out.File
+ file_ActivityUpdateWatcherNotify_proto_rawDesc = nil
+ file_ActivityUpdateWatcherNotify_proto_goTypes = nil
+ file_ActivityUpdateWatcherNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ActivityWatcherInfo.pb.go b/protocol/proto/ActivityWatcherInfo.pb.go
new file mode 100644
index 00000000..a8c47a26
--- /dev/null
+++ b/protocol/proto/ActivityWatcherInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ActivityWatcherInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ActivityWatcherInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsTakenReward bool `protobuf:"varint,8,opt,name=is_taken_reward,json=isTakenReward,proto3" json:"is_taken_reward,omitempty"`
+ CurProgress uint32 `protobuf:"varint,2,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+ TotalProgress uint32 `protobuf:"varint,4,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+ WatcherId uint32 `protobuf:"varint,5,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+}
+
+func (x *ActivityWatcherInfo) Reset() {
+ *x = ActivityWatcherInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ActivityWatcherInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ActivityWatcherInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ActivityWatcherInfo) ProtoMessage() {}
+
+func (x *ActivityWatcherInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ActivityWatcherInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ActivityWatcherInfo.ProtoReflect.Descriptor instead.
+func (*ActivityWatcherInfo) Descriptor() ([]byte, []int) {
+ return file_ActivityWatcherInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ActivityWatcherInfo) GetIsTakenReward() bool {
+ if x != nil {
+ return x.IsTakenReward
+ }
+ return false
+}
+
+func (x *ActivityWatcherInfo) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+func (x *ActivityWatcherInfo) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+func (x *ActivityWatcherInfo) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+var File_ActivityWatcherInfo_proto protoreflect.FileDescriptor
+
+var file_ActivityWatcherInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x57,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73,
+ 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ActivityWatcherInfo_proto_rawDescOnce sync.Once
+ file_ActivityWatcherInfo_proto_rawDescData = file_ActivityWatcherInfo_proto_rawDesc
+)
+
+func file_ActivityWatcherInfo_proto_rawDescGZIP() []byte {
+ file_ActivityWatcherInfo_proto_rawDescOnce.Do(func() {
+ file_ActivityWatcherInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ActivityWatcherInfo_proto_rawDescData)
+ })
+ return file_ActivityWatcherInfo_proto_rawDescData
+}
+
+var file_ActivityWatcherInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ActivityWatcherInfo_proto_goTypes = []interface{}{
+ (*ActivityWatcherInfo)(nil), // 0: proto.ActivityWatcherInfo
+}
+var file_ActivityWatcherInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ActivityWatcherInfo_proto_init() }
+func file_ActivityWatcherInfo_proto_init() {
+ if File_ActivityWatcherInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ActivityWatcherInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ActivityWatcherInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ActivityWatcherInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ActivityWatcherInfo_proto_goTypes,
+ DependencyIndexes: file_ActivityWatcherInfo_proto_depIdxs,
+ MessageInfos: file_ActivityWatcherInfo_proto_msgTypes,
+ }.Build()
+ File_ActivityWatcherInfo_proto = out.File
+ file_ActivityWatcherInfo_proto_rawDesc = nil
+ file_ActivityWatcherInfo_proto_goTypes = nil
+ file_ActivityWatcherInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddAranaraCollectionNotify.pb.go b/protocol/proto/AddAranaraCollectionNotify.pb.go
new file mode 100644
index 00000000..5c8fa2dd
--- /dev/null
+++ b/protocol/proto/AddAranaraCollectionNotify.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddAranaraCollectionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6368
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AddAranaraCollectionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CollectionType uint32 `protobuf:"varint,7,opt,name=collection_type,json=collectionType,proto3" json:"collection_type,omitempty"`
+ TargetState AranaraCollectionState `protobuf:"varint,12,opt,name=target_state,json=targetState,proto3,enum=proto.AranaraCollectionState" json:"target_state,omitempty"`
+ FromState AranaraCollectionState `protobuf:"varint,15,opt,name=from_state,json=fromState,proto3,enum=proto.AranaraCollectionState" json:"from_state,omitempty"`
+ CollectionId uint32 `protobuf:"varint,8,opt,name=collection_id,json=collectionId,proto3" json:"collection_id,omitempty"`
+}
+
+func (x *AddAranaraCollectionNotify) Reset() {
+ *x = AddAranaraCollectionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddAranaraCollectionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddAranaraCollectionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddAranaraCollectionNotify) ProtoMessage() {}
+
+func (x *AddAranaraCollectionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AddAranaraCollectionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddAranaraCollectionNotify.ProtoReflect.Descriptor instead.
+func (*AddAranaraCollectionNotify) Descriptor() ([]byte, []int) {
+ return file_AddAranaraCollectionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddAranaraCollectionNotify) GetCollectionType() uint32 {
+ if x != nil {
+ return x.CollectionType
+ }
+ return 0
+}
+
+func (x *AddAranaraCollectionNotify) GetTargetState() AranaraCollectionState {
+ if x != nil {
+ return x.TargetState
+ }
+ return AranaraCollectionState_ARANARA_COLLECTION_STATE_NONE
+}
+
+func (x *AddAranaraCollectionNotify) GetFromState() AranaraCollectionState {
+ if x != nil {
+ return x.FromState
+ }
+ return AranaraCollectionState_ARANARA_COLLECTION_STATE_NONE
+}
+
+func (x *AddAranaraCollectionNotify) GetCollectionId() uint32 {
+ if x != nil {
+ return x.CollectionId
+ }
+ return 0
+}
+
+var File_AddAranaraCollectionNotify_proto protoreflect.FileDescriptor
+
+var file_AddAranaraCollectionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x64, 0x64, 0x41, 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x41, 0x72, 0x61, 0x6e, 0x61,
+ 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xea, 0x01, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x41,
+ 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x40, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72,
+ 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72,
+ 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
+ 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddAranaraCollectionNotify_proto_rawDescOnce sync.Once
+ file_AddAranaraCollectionNotify_proto_rawDescData = file_AddAranaraCollectionNotify_proto_rawDesc
+)
+
+func file_AddAranaraCollectionNotify_proto_rawDescGZIP() []byte {
+ file_AddAranaraCollectionNotify_proto_rawDescOnce.Do(func() {
+ file_AddAranaraCollectionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddAranaraCollectionNotify_proto_rawDescData)
+ })
+ return file_AddAranaraCollectionNotify_proto_rawDescData
+}
+
+var file_AddAranaraCollectionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddAranaraCollectionNotify_proto_goTypes = []interface{}{
+ (*AddAranaraCollectionNotify)(nil), // 0: proto.AddAranaraCollectionNotify
+ (AranaraCollectionState)(0), // 1: proto.AranaraCollectionState
+}
+var file_AddAranaraCollectionNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AddAranaraCollectionNotify.target_state:type_name -> proto.AranaraCollectionState
+ 1, // 1: proto.AddAranaraCollectionNotify.from_state:type_name -> proto.AranaraCollectionState
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AddAranaraCollectionNotify_proto_init() }
+func file_AddAranaraCollectionNotify_proto_init() {
+ if File_AddAranaraCollectionNotify_proto != nil {
+ return
+ }
+ file_AranaraCollectionState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AddAranaraCollectionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddAranaraCollectionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddAranaraCollectionNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddAranaraCollectionNotify_proto_goTypes,
+ DependencyIndexes: file_AddAranaraCollectionNotify_proto_depIdxs,
+ MessageInfos: file_AddAranaraCollectionNotify_proto_msgTypes,
+ }.Build()
+ File_AddAranaraCollectionNotify_proto = out.File
+ file_AddAranaraCollectionNotify_proto_rawDesc = nil
+ file_AddAranaraCollectionNotify_proto_goTypes = nil
+ file_AddAranaraCollectionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddBackupAvatarTeamReq.pb.go b/protocol/proto/AddBackupAvatarTeamReq.pb.go
new file mode 100644
index 00000000..1140f1f2
--- /dev/null
+++ b/protocol/proto/AddBackupAvatarTeamReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddBackupAvatarTeamReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1687
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AddBackupAvatarTeamReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *AddBackupAvatarTeamReq) Reset() {
+ *x = AddBackupAvatarTeamReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddBackupAvatarTeamReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddBackupAvatarTeamReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddBackupAvatarTeamReq) ProtoMessage() {}
+
+func (x *AddBackupAvatarTeamReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AddBackupAvatarTeamReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddBackupAvatarTeamReq.ProtoReflect.Descriptor instead.
+func (*AddBackupAvatarTeamReq) Descriptor() ([]byte, []int) {
+ return file_AddBackupAvatarTeamReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AddBackupAvatarTeamReq_proto protoreflect.FileDescriptor
+
+var file_AddBackupAvatarTeamReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x42, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddBackupAvatarTeamReq_proto_rawDescOnce sync.Once
+ file_AddBackupAvatarTeamReq_proto_rawDescData = file_AddBackupAvatarTeamReq_proto_rawDesc
+)
+
+func file_AddBackupAvatarTeamReq_proto_rawDescGZIP() []byte {
+ file_AddBackupAvatarTeamReq_proto_rawDescOnce.Do(func() {
+ file_AddBackupAvatarTeamReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddBackupAvatarTeamReq_proto_rawDescData)
+ })
+ return file_AddBackupAvatarTeamReq_proto_rawDescData
+}
+
+var file_AddBackupAvatarTeamReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddBackupAvatarTeamReq_proto_goTypes = []interface{}{
+ (*AddBackupAvatarTeamReq)(nil), // 0: proto.AddBackupAvatarTeamReq
+}
+var file_AddBackupAvatarTeamReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AddBackupAvatarTeamReq_proto_init() }
+func file_AddBackupAvatarTeamReq_proto_init() {
+ if File_AddBackupAvatarTeamReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AddBackupAvatarTeamReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddBackupAvatarTeamReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddBackupAvatarTeamReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddBackupAvatarTeamReq_proto_goTypes,
+ DependencyIndexes: file_AddBackupAvatarTeamReq_proto_depIdxs,
+ MessageInfos: file_AddBackupAvatarTeamReq_proto_msgTypes,
+ }.Build()
+ File_AddBackupAvatarTeamReq_proto = out.File
+ file_AddBackupAvatarTeamReq_proto_rawDesc = nil
+ file_AddBackupAvatarTeamReq_proto_goTypes = nil
+ file_AddBackupAvatarTeamReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddBackupAvatarTeamRsp.pb.go b/protocol/proto/AddBackupAvatarTeamRsp.pb.go
new file mode 100644
index 00000000..d51692ff
--- /dev/null
+++ b/protocol/proto/AddBackupAvatarTeamRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddBackupAvatarTeamRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1735
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AddBackupAvatarTeamRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AddBackupAvatarTeamRsp) Reset() {
+ *x = AddBackupAvatarTeamRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddBackupAvatarTeamRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddBackupAvatarTeamRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddBackupAvatarTeamRsp) ProtoMessage() {}
+
+func (x *AddBackupAvatarTeamRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AddBackupAvatarTeamRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddBackupAvatarTeamRsp.ProtoReflect.Descriptor instead.
+func (*AddBackupAvatarTeamRsp) Descriptor() ([]byte, []int) {
+ return file_AddBackupAvatarTeamRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddBackupAvatarTeamRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AddBackupAvatarTeamRsp_proto protoreflect.FileDescriptor
+
+var file_AddBackupAvatarTeamRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x42, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddBackupAvatarTeamRsp_proto_rawDescOnce sync.Once
+ file_AddBackupAvatarTeamRsp_proto_rawDescData = file_AddBackupAvatarTeamRsp_proto_rawDesc
+)
+
+func file_AddBackupAvatarTeamRsp_proto_rawDescGZIP() []byte {
+ file_AddBackupAvatarTeamRsp_proto_rawDescOnce.Do(func() {
+ file_AddBackupAvatarTeamRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddBackupAvatarTeamRsp_proto_rawDescData)
+ })
+ return file_AddBackupAvatarTeamRsp_proto_rawDescData
+}
+
+var file_AddBackupAvatarTeamRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddBackupAvatarTeamRsp_proto_goTypes = []interface{}{
+ (*AddBackupAvatarTeamRsp)(nil), // 0: proto.AddBackupAvatarTeamRsp
+}
+var file_AddBackupAvatarTeamRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AddBackupAvatarTeamRsp_proto_init() }
+func file_AddBackupAvatarTeamRsp_proto_init() {
+ if File_AddBackupAvatarTeamRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AddBackupAvatarTeamRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddBackupAvatarTeamRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddBackupAvatarTeamRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddBackupAvatarTeamRsp_proto_goTypes,
+ DependencyIndexes: file_AddBackupAvatarTeamRsp_proto_depIdxs,
+ MessageInfos: file_AddBackupAvatarTeamRsp_proto_msgTypes,
+ }.Build()
+ File_AddBackupAvatarTeamRsp_proto = out.File
+ file_AddBackupAvatarTeamRsp_proto_rawDesc = nil
+ file_AddBackupAvatarTeamRsp_proto_goTypes = nil
+ file_AddBackupAvatarTeamRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddBlacklistReq.pb.go b/protocol/proto/AddBlacklistReq.pb.go
new file mode 100644
index 00000000..d1cc8fbc
--- /dev/null
+++ b/protocol/proto/AddBlacklistReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddBlacklistReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4088
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AddBlacklistReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,2,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *AddBlacklistReq) Reset() {
+ *x = AddBlacklistReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddBlacklistReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddBlacklistReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddBlacklistReq) ProtoMessage() {}
+
+func (x *AddBlacklistReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AddBlacklistReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddBlacklistReq.ProtoReflect.Descriptor instead.
+func (*AddBlacklistReq) Descriptor() ([]byte, []int) {
+ return file_AddBlacklistReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddBlacklistReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_AddBlacklistReq_proto protoreflect.FileDescriptor
+
+var file_AddBlacklistReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x64, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30,
+ 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddBlacklistReq_proto_rawDescOnce sync.Once
+ file_AddBlacklistReq_proto_rawDescData = file_AddBlacklistReq_proto_rawDesc
+)
+
+func file_AddBlacklistReq_proto_rawDescGZIP() []byte {
+ file_AddBlacklistReq_proto_rawDescOnce.Do(func() {
+ file_AddBlacklistReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddBlacklistReq_proto_rawDescData)
+ })
+ return file_AddBlacklistReq_proto_rawDescData
+}
+
+var file_AddBlacklistReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddBlacklistReq_proto_goTypes = []interface{}{
+ (*AddBlacklistReq)(nil), // 0: proto.AddBlacklistReq
+}
+var file_AddBlacklistReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AddBlacklistReq_proto_init() }
+func file_AddBlacklistReq_proto_init() {
+ if File_AddBlacklistReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AddBlacklistReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddBlacklistReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddBlacklistReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddBlacklistReq_proto_goTypes,
+ DependencyIndexes: file_AddBlacklistReq_proto_depIdxs,
+ MessageInfos: file_AddBlacklistReq_proto_msgTypes,
+ }.Build()
+ File_AddBlacklistReq_proto = out.File
+ file_AddBlacklistReq_proto_rawDesc = nil
+ file_AddBlacklistReq_proto_goTypes = nil
+ file_AddBlacklistReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddBlacklistRsp.pb.go b/protocol/proto/AddBlacklistRsp.pb.go
new file mode 100644
index 00000000..47533972
--- /dev/null
+++ b/protocol/proto/AddBlacklistRsp.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddBlacklistRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4026
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AddBlacklistRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetFriendBrief *FriendBrief `protobuf:"bytes,13,opt,name=target_friend_brief,json=targetFriendBrief,proto3" json:"target_friend_brief,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AddBlacklistRsp) Reset() {
+ *x = AddBlacklistRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddBlacklistRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddBlacklistRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddBlacklistRsp) ProtoMessage() {}
+
+func (x *AddBlacklistRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AddBlacklistRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddBlacklistRsp.ProtoReflect.Descriptor instead.
+func (*AddBlacklistRsp) Descriptor() ([]byte, []int) {
+ return file_AddBlacklistRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddBlacklistRsp) GetTargetFriendBrief() *FriendBrief {
+ if x != nil {
+ return x.TargetFriendBrief
+ }
+ return nil
+}
+
+func (x *AddBlacklistRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AddBlacklistRsp_proto protoreflect.FileDescriptor
+
+var file_AddBlacklistRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x64, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6f, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73,
+ 0x74, 0x52, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x66,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddBlacklistRsp_proto_rawDescOnce sync.Once
+ file_AddBlacklistRsp_proto_rawDescData = file_AddBlacklistRsp_proto_rawDesc
+)
+
+func file_AddBlacklistRsp_proto_rawDescGZIP() []byte {
+ file_AddBlacklistRsp_proto_rawDescOnce.Do(func() {
+ file_AddBlacklistRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddBlacklistRsp_proto_rawDescData)
+ })
+ return file_AddBlacklistRsp_proto_rawDescData
+}
+
+var file_AddBlacklistRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddBlacklistRsp_proto_goTypes = []interface{}{
+ (*AddBlacklistRsp)(nil), // 0: proto.AddBlacklistRsp
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_AddBlacklistRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.AddBlacklistRsp.target_friend_brief:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AddBlacklistRsp_proto_init() }
+func file_AddBlacklistRsp_proto_init() {
+ if File_AddBlacklistRsp_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AddBlacklistRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddBlacklistRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddBlacklistRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddBlacklistRsp_proto_goTypes,
+ DependencyIndexes: file_AddBlacklistRsp_proto_depIdxs,
+ MessageInfos: file_AddBlacklistRsp_proto_msgTypes,
+ }.Build()
+ File_AddBlacklistRsp_proto = out.File
+ file_AddBlacklistRsp_proto_rawDesc = nil
+ file_AddBlacklistRsp_proto_goTypes = nil
+ file_AddBlacklistRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddFriendNotify.pb.go b/protocol/proto/AddFriendNotify.pb.go
new file mode 100644
index 00000000..70a0b4cf
--- /dev/null
+++ b/protocol/proto/AddFriendNotify.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddFriendNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4022
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AddFriendNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,11,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ TargetFriendBrief *FriendBrief `protobuf:"bytes,10,opt,name=target_friend_brief,json=targetFriendBrief,proto3" json:"target_friend_brief,omitempty"`
+}
+
+func (x *AddFriendNotify) Reset() {
+ *x = AddFriendNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddFriendNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddFriendNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddFriendNotify) ProtoMessage() {}
+
+func (x *AddFriendNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AddFriendNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddFriendNotify.ProtoReflect.Descriptor instead.
+func (*AddFriendNotify) Descriptor() ([]byte, []int) {
+ return file_AddFriendNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddFriendNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *AddFriendNotify) GetTargetFriendBrief() *FriendBrief {
+ if x != nil {
+ return x.TargetFriendBrief
+ }
+ return nil
+}
+
+var File_AddFriendNotify_proto protoreflect.FileDescriptor
+
+var file_AddFriendNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x74, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75,
+ 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x55, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddFriendNotify_proto_rawDescOnce sync.Once
+ file_AddFriendNotify_proto_rawDescData = file_AddFriendNotify_proto_rawDesc
+)
+
+func file_AddFriendNotify_proto_rawDescGZIP() []byte {
+ file_AddFriendNotify_proto_rawDescOnce.Do(func() {
+ file_AddFriendNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddFriendNotify_proto_rawDescData)
+ })
+ return file_AddFriendNotify_proto_rawDescData
+}
+
+var file_AddFriendNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddFriendNotify_proto_goTypes = []interface{}{
+ (*AddFriendNotify)(nil), // 0: proto.AddFriendNotify
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_AddFriendNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AddFriendNotify.target_friend_brief:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AddFriendNotify_proto_init() }
+func file_AddFriendNotify_proto_init() {
+ if File_AddFriendNotify_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AddFriendNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddFriendNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddFriendNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddFriendNotify_proto_goTypes,
+ DependencyIndexes: file_AddFriendNotify_proto_depIdxs,
+ MessageInfos: file_AddFriendNotify_proto_msgTypes,
+ }.Build()
+ File_AddFriendNotify_proto = out.File
+ file_AddFriendNotify_proto_rawDesc = nil
+ file_AddFriendNotify_proto_goTypes = nil
+ file_AddFriendNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddNoGachaAvatarCardNotify.pb.go b/protocol/proto/AddNoGachaAvatarCardNotify.pb.go
new file mode 100644
index 00000000..1d420eed
--- /dev/null
+++ b/protocol/proto/AddNoGachaAvatarCardNotify.pb.go
@@ -0,0 +1,234 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddNoGachaAvatarCardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1655
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AddNoGachaAvatarCardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TransferItemList []*AddNoGachaAvatarCardTransferItem `protobuf:"bytes,4,rep,name=transfer_item_list,json=transferItemList,proto3" json:"transfer_item_list,omitempty"`
+ InitialPromoteLevel uint32 `protobuf:"varint,2,opt,name=initial_promote_level,json=initialPromoteLevel,proto3" json:"initial_promote_level,omitempty"`
+ AvatarId uint32 `protobuf:"varint,8,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ IsTransferToItem bool `protobuf:"varint,6,opt,name=is_transfer_to_item,json=isTransferToItem,proto3" json:"is_transfer_to_item,omitempty"`
+ Reason uint32 `protobuf:"varint,9,opt,name=reason,proto3" json:"reason,omitempty"`
+ InitialLevel uint32 `protobuf:"varint,10,opt,name=initial_level,json=initialLevel,proto3" json:"initial_level,omitempty"`
+ ItemId uint32 `protobuf:"varint,14,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+}
+
+func (x *AddNoGachaAvatarCardNotify) Reset() {
+ *x = AddNoGachaAvatarCardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddNoGachaAvatarCardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddNoGachaAvatarCardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddNoGachaAvatarCardNotify) ProtoMessage() {}
+
+func (x *AddNoGachaAvatarCardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AddNoGachaAvatarCardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddNoGachaAvatarCardNotify.ProtoReflect.Descriptor instead.
+func (*AddNoGachaAvatarCardNotify) Descriptor() ([]byte, []int) {
+ return file_AddNoGachaAvatarCardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddNoGachaAvatarCardNotify) GetTransferItemList() []*AddNoGachaAvatarCardTransferItem {
+ if x != nil {
+ return x.TransferItemList
+ }
+ return nil
+}
+
+func (x *AddNoGachaAvatarCardNotify) GetInitialPromoteLevel() uint32 {
+ if x != nil {
+ return x.InitialPromoteLevel
+ }
+ return 0
+}
+
+func (x *AddNoGachaAvatarCardNotify) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *AddNoGachaAvatarCardNotify) GetIsTransferToItem() bool {
+ if x != nil {
+ return x.IsTransferToItem
+ }
+ return false
+}
+
+func (x *AddNoGachaAvatarCardNotify) GetReason() uint32 {
+ if x != nil {
+ return x.Reason
+ }
+ return 0
+}
+
+func (x *AddNoGachaAvatarCardNotify) GetInitialLevel() uint32 {
+ if x != nil {
+ return x.InitialLevel
+ }
+ return 0
+}
+
+func (x *AddNoGachaAvatarCardNotify) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+var File_AddNoGachaAvatarCardNotify_proto protoreflect.FileDescriptor
+
+var file_AddNoGachaAvatarCardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x41, 0x64, 0x64, 0x4e, 0x6f,
+ 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc9, 0x02, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x47, 0x61, 0x63, 0x68, 0x61,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x55, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49,
+ 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69,
+ 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50,
+ 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x54, 0x6f, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
+ 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AddNoGachaAvatarCardNotify_proto_rawDescOnce sync.Once
+ file_AddNoGachaAvatarCardNotify_proto_rawDescData = file_AddNoGachaAvatarCardNotify_proto_rawDesc
+)
+
+func file_AddNoGachaAvatarCardNotify_proto_rawDescGZIP() []byte {
+ file_AddNoGachaAvatarCardNotify_proto_rawDescOnce.Do(func() {
+ file_AddNoGachaAvatarCardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddNoGachaAvatarCardNotify_proto_rawDescData)
+ })
+ return file_AddNoGachaAvatarCardNotify_proto_rawDescData
+}
+
+var file_AddNoGachaAvatarCardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddNoGachaAvatarCardNotify_proto_goTypes = []interface{}{
+ (*AddNoGachaAvatarCardNotify)(nil), // 0: proto.AddNoGachaAvatarCardNotify
+ (*AddNoGachaAvatarCardTransferItem)(nil), // 1: proto.AddNoGachaAvatarCardTransferItem
+}
+var file_AddNoGachaAvatarCardNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AddNoGachaAvatarCardNotify.transfer_item_list:type_name -> proto.AddNoGachaAvatarCardTransferItem
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AddNoGachaAvatarCardNotify_proto_init() }
+func file_AddNoGachaAvatarCardNotify_proto_init() {
+ if File_AddNoGachaAvatarCardNotify_proto != nil {
+ return
+ }
+ file_AddNoGachaAvatarCardTransferItem_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AddNoGachaAvatarCardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddNoGachaAvatarCardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddNoGachaAvatarCardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddNoGachaAvatarCardNotify_proto_goTypes,
+ DependencyIndexes: file_AddNoGachaAvatarCardNotify_proto_depIdxs,
+ MessageInfos: file_AddNoGachaAvatarCardNotify_proto_msgTypes,
+ }.Build()
+ File_AddNoGachaAvatarCardNotify_proto = out.File
+ file_AddNoGachaAvatarCardNotify_proto_rawDesc = nil
+ file_AddNoGachaAvatarCardNotify_proto_goTypes = nil
+ file_AddNoGachaAvatarCardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddNoGachaAvatarCardTransferItem.pb.go b/protocol/proto/AddNoGachaAvatarCardTransferItem.pb.go
new file mode 100644
index 00000000..fbe9fbee
--- /dev/null
+++ b/protocol/proto/AddNoGachaAvatarCardTransferItem.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddNoGachaAvatarCardTransferItem.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AddNoGachaAvatarCardTransferItem struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Count uint32 `protobuf:"varint,9,opt,name=count,proto3" json:"count,omitempty"`
+ ItemId uint32 `protobuf:"varint,6,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ IsNew bool `protobuf:"varint,15,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"`
+}
+
+func (x *AddNoGachaAvatarCardTransferItem) Reset() {
+ *x = AddNoGachaAvatarCardTransferItem{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddNoGachaAvatarCardTransferItem_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddNoGachaAvatarCardTransferItem) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddNoGachaAvatarCardTransferItem) ProtoMessage() {}
+
+func (x *AddNoGachaAvatarCardTransferItem) ProtoReflect() protoreflect.Message {
+ mi := &file_AddNoGachaAvatarCardTransferItem_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddNoGachaAvatarCardTransferItem.ProtoReflect.Descriptor instead.
+func (*AddNoGachaAvatarCardTransferItem) Descriptor() ([]byte, []int) {
+ return file_AddNoGachaAvatarCardTransferItem_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddNoGachaAvatarCardTransferItem) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *AddNoGachaAvatarCardTransferItem) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *AddNoGachaAvatarCardTransferItem) GetIsNew() bool {
+ if x != nil {
+ return x.IsNew
+ }
+ return false
+}
+
+var File_AddNoGachaAvatarCardTransferItem_proto protoreflect.FileDescriptor
+
+var file_AddNoGachaAvatarCardTransferItem_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x74,
+ 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x68, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49,
+ 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d,
+ 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddNoGachaAvatarCardTransferItem_proto_rawDescOnce sync.Once
+ file_AddNoGachaAvatarCardTransferItem_proto_rawDescData = file_AddNoGachaAvatarCardTransferItem_proto_rawDesc
+)
+
+func file_AddNoGachaAvatarCardTransferItem_proto_rawDescGZIP() []byte {
+ file_AddNoGachaAvatarCardTransferItem_proto_rawDescOnce.Do(func() {
+ file_AddNoGachaAvatarCardTransferItem_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddNoGachaAvatarCardTransferItem_proto_rawDescData)
+ })
+ return file_AddNoGachaAvatarCardTransferItem_proto_rawDescData
+}
+
+var file_AddNoGachaAvatarCardTransferItem_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddNoGachaAvatarCardTransferItem_proto_goTypes = []interface{}{
+ (*AddNoGachaAvatarCardTransferItem)(nil), // 0: proto.AddNoGachaAvatarCardTransferItem
+}
+var file_AddNoGachaAvatarCardTransferItem_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AddNoGachaAvatarCardTransferItem_proto_init() }
+func file_AddNoGachaAvatarCardTransferItem_proto_init() {
+ if File_AddNoGachaAvatarCardTransferItem_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AddNoGachaAvatarCardTransferItem_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddNoGachaAvatarCardTransferItem); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddNoGachaAvatarCardTransferItem_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddNoGachaAvatarCardTransferItem_proto_goTypes,
+ DependencyIndexes: file_AddNoGachaAvatarCardTransferItem_proto_depIdxs,
+ MessageInfos: file_AddNoGachaAvatarCardTransferItem_proto_msgTypes,
+ }.Build()
+ File_AddNoGachaAvatarCardTransferItem_proto = out.File
+ file_AddNoGachaAvatarCardTransferItem_proto_rawDesc = nil
+ file_AddNoGachaAvatarCardTransferItem_proto_goTypes = nil
+ file_AddNoGachaAvatarCardTransferItem_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddQuestContentProgressReq.pb.go b/protocol/proto/AddQuestContentProgressReq.pb.go
new file mode 100644
index 00000000..db4983e3
--- /dev/null
+++ b/protocol/proto/AddQuestContentProgressReq.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddQuestContentProgressReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AddQuestContentProgressReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ContentType uint32 `protobuf:"varint,6,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
+ Param uint32 `protobuf:"varint,12,opt,name=param,proto3" json:"param,omitempty"`
+ AddProgress uint32 `protobuf:"varint,15,opt,name=add_progress,json=addProgress,proto3" json:"add_progress,omitempty"`
+}
+
+func (x *AddQuestContentProgressReq) Reset() {
+ *x = AddQuestContentProgressReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddQuestContentProgressReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddQuestContentProgressReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddQuestContentProgressReq) ProtoMessage() {}
+
+func (x *AddQuestContentProgressReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AddQuestContentProgressReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddQuestContentProgressReq.ProtoReflect.Descriptor instead.
+func (*AddQuestContentProgressReq) Descriptor() ([]byte, []int) {
+ return file_AddQuestContentProgressReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddQuestContentProgressReq) GetContentType() uint32 {
+ if x != nil {
+ return x.ContentType
+ }
+ return 0
+}
+
+func (x *AddQuestContentProgressReq) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *AddQuestContentProgressReq) GetAddProgress() uint32 {
+ if x != nil {
+ return x.AddProgress
+ }
+ return 0
+}
+
+var File_AddQuestContentProgressReq_proto protoreflect.FileDescriptor
+
+var file_AddQuestContentProgressReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x64, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x1a, 0x41, 0x64, 0x64,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddQuestContentProgressReq_proto_rawDescOnce sync.Once
+ file_AddQuestContentProgressReq_proto_rawDescData = file_AddQuestContentProgressReq_proto_rawDesc
+)
+
+func file_AddQuestContentProgressReq_proto_rawDescGZIP() []byte {
+ file_AddQuestContentProgressReq_proto_rawDescOnce.Do(func() {
+ file_AddQuestContentProgressReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddQuestContentProgressReq_proto_rawDescData)
+ })
+ return file_AddQuestContentProgressReq_proto_rawDescData
+}
+
+var file_AddQuestContentProgressReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddQuestContentProgressReq_proto_goTypes = []interface{}{
+ (*AddQuestContentProgressReq)(nil), // 0: proto.AddQuestContentProgressReq
+}
+var file_AddQuestContentProgressReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AddQuestContentProgressReq_proto_init() }
+func file_AddQuestContentProgressReq_proto_init() {
+ if File_AddQuestContentProgressReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AddQuestContentProgressReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddQuestContentProgressReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddQuestContentProgressReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddQuestContentProgressReq_proto_goTypes,
+ DependencyIndexes: file_AddQuestContentProgressReq_proto_depIdxs,
+ MessageInfos: file_AddQuestContentProgressReq_proto_msgTypes,
+ }.Build()
+ File_AddQuestContentProgressReq_proto = out.File
+ file_AddQuestContentProgressReq_proto_rawDesc = nil
+ file_AddQuestContentProgressReq_proto_goTypes = nil
+ file_AddQuestContentProgressReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddQuestContentProgressRsp.pb.go b/protocol/proto/AddQuestContentProgressRsp.pb.go
new file mode 100644
index 00000000..58174cd4
--- /dev/null
+++ b/protocol/proto/AddQuestContentProgressRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddQuestContentProgressRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 403
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AddQuestContentProgressRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ContentType uint32 `protobuf:"varint,4,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
+}
+
+func (x *AddQuestContentProgressRsp) Reset() {
+ *x = AddQuestContentProgressRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddQuestContentProgressRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddQuestContentProgressRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddQuestContentProgressRsp) ProtoMessage() {}
+
+func (x *AddQuestContentProgressRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AddQuestContentProgressRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddQuestContentProgressRsp.ProtoReflect.Descriptor instead.
+func (*AddQuestContentProgressRsp) Descriptor() ([]byte, []int) {
+ return file_AddQuestContentProgressRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddQuestContentProgressRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AddQuestContentProgressRsp) GetContentType() uint32 {
+ if x != nil {
+ return x.ContentType
+ }
+ return 0
+}
+
+var File_AddQuestContentProgressRsp_proto protoreflect.FileDescriptor
+
+var file_AddQuestContentProgressRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x64, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1a, 0x41, 0x64, 0x64,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddQuestContentProgressRsp_proto_rawDescOnce sync.Once
+ file_AddQuestContentProgressRsp_proto_rawDescData = file_AddQuestContentProgressRsp_proto_rawDesc
+)
+
+func file_AddQuestContentProgressRsp_proto_rawDescGZIP() []byte {
+ file_AddQuestContentProgressRsp_proto_rawDescOnce.Do(func() {
+ file_AddQuestContentProgressRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddQuestContentProgressRsp_proto_rawDescData)
+ })
+ return file_AddQuestContentProgressRsp_proto_rawDescData
+}
+
+var file_AddQuestContentProgressRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddQuestContentProgressRsp_proto_goTypes = []interface{}{
+ (*AddQuestContentProgressRsp)(nil), // 0: proto.AddQuestContentProgressRsp
+}
+var file_AddQuestContentProgressRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AddQuestContentProgressRsp_proto_init() }
+func file_AddQuestContentProgressRsp_proto_init() {
+ if File_AddQuestContentProgressRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AddQuestContentProgressRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddQuestContentProgressRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddQuestContentProgressRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddQuestContentProgressRsp_proto_goTypes,
+ DependencyIndexes: file_AddQuestContentProgressRsp_proto_depIdxs,
+ MessageInfos: file_AddQuestContentProgressRsp_proto_msgTypes,
+ }.Build()
+ File_AddQuestContentProgressRsp_proto = out.File
+ file_AddQuestContentProgressRsp_proto_rawDesc = nil
+ file_AddQuestContentProgressRsp_proto_goTypes = nil
+ file_AddQuestContentProgressRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddRandTaskInfoNotify.pb.go b/protocol/proto/AddRandTaskInfoNotify.pb.go
new file mode 100644
index 00000000..518e290e
--- /dev/null
+++ b/protocol/proto/AddRandTaskInfoNotify.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddRandTaskInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 119
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AddRandTaskInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RandTaskId uint32 `protobuf:"varint,5,opt,name=rand_task_id,json=randTaskId,proto3" json:"rand_task_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,13,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *AddRandTaskInfoNotify) Reset() {
+ *x = AddRandTaskInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddRandTaskInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddRandTaskInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddRandTaskInfoNotify) ProtoMessage() {}
+
+func (x *AddRandTaskInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AddRandTaskInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddRandTaskInfoNotify.ProtoReflect.Descriptor instead.
+func (*AddRandTaskInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AddRandTaskInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddRandTaskInfoNotify) GetRandTaskId() uint32 {
+ if x != nil {
+ return x.RandTaskId
+ }
+ return 0
+}
+
+func (x *AddRandTaskInfoNotify) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_AddRandTaskInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AddRandTaskInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x64, 0x64, 0x52, 0x61, 0x6e, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x52, 0x61, 0x6e, 0x64, 0x54, 0x61, 0x73,
+ 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x72,
+ 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1f, 0x0a,
+ 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AddRandTaskInfoNotify_proto_rawDescOnce sync.Once
+ file_AddRandTaskInfoNotify_proto_rawDescData = file_AddRandTaskInfoNotify_proto_rawDesc
+)
+
+func file_AddRandTaskInfoNotify_proto_rawDescGZIP() []byte {
+ file_AddRandTaskInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AddRandTaskInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddRandTaskInfoNotify_proto_rawDescData)
+ })
+ return file_AddRandTaskInfoNotify_proto_rawDescData
+}
+
+var file_AddRandTaskInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddRandTaskInfoNotify_proto_goTypes = []interface{}{
+ (*AddRandTaskInfoNotify)(nil), // 0: proto.AddRandTaskInfoNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AddRandTaskInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AddRandTaskInfoNotify.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AddRandTaskInfoNotify_proto_init() }
+func file_AddRandTaskInfoNotify_proto_init() {
+ if File_AddRandTaskInfoNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AddRandTaskInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddRandTaskInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddRandTaskInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddRandTaskInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AddRandTaskInfoNotify_proto_depIdxs,
+ MessageInfos: file_AddRandTaskInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AddRandTaskInfoNotify_proto = out.File
+ file_AddRandTaskInfoNotify_proto_rawDesc = nil
+ file_AddRandTaskInfoNotify_proto_goTypes = nil
+ file_AddRandTaskInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AddSeenMonsterNotify.pb.go b/protocol/proto/AddSeenMonsterNotify.pb.go
new file mode 100644
index 00000000..2beab0ce
--- /dev/null
+++ b/protocol/proto/AddSeenMonsterNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AddSeenMonsterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 223
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AddSeenMonsterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterIdList []uint32 `protobuf:"varint,12,rep,packed,name=monster_id_list,json=monsterIdList,proto3" json:"monster_id_list,omitempty"`
+}
+
+func (x *AddSeenMonsterNotify) Reset() {
+ *x = AddSeenMonsterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AddSeenMonsterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddSeenMonsterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddSeenMonsterNotify) ProtoMessage() {}
+
+func (x *AddSeenMonsterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AddSeenMonsterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddSeenMonsterNotify.ProtoReflect.Descriptor instead.
+func (*AddSeenMonsterNotify) Descriptor() ([]byte, []int) {
+ return file_AddSeenMonsterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AddSeenMonsterNotify) GetMonsterIdList() []uint32 {
+ if x != nil {
+ return x.MonsterIdList
+ }
+ return nil
+}
+
+var File_AddSeenMonsterNotify_proto protoreflect.FileDescriptor
+
+var file_AddSeenMonsterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x53, 0x65, 0x65, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x53, 0x65, 0x65, 0x6e, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x6d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AddSeenMonsterNotify_proto_rawDescOnce sync.Once
+ file_AddSeenMonsterNotify_proto_rawDescData = file_AddSeenMonsterNotify_proto_rawDesc
+)
+
+func file_AddSeenMonsterNotify_proto_rawDescGZIP() []byte {
+ file_AddSeenMonsterNotify_proto_rawDescOnce.Do(func() {
+ file_AddSeenMonsterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AddSeenMonsterNotify_proto_rawDescData)
+ })
+ return file_AddSeenMonsterNotify_proto_rawDescData
+}
+
+var file_AddSeenMonsterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AddSeenMonsterNotify_proto_goTypes = []interface{}{
+ (*AddSeenMonsterNotify)(nil), // 0: proto.AddSeenMonsterNotify
+}
+var file_AddSeenMonsterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AddSeenMonsterNotify_proto_init() }
+func file_AddSeenMonsterNotify_proto_init() {
+ if File_AddSeenMonsterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AddSeenMonsterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddSeenMonsterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AddSeenMonsterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AddSeenMonsterNotify_proto_goTypes,
+ DependencyIndexes: file_AddSeenMonsterNotify_proto_depIdxs,
+ MessageInfos: file_AddSeenMonsterNotify_proto_msgTypes,
+ }.Build()
+ File_AddSeenMonsterNotify_proto = out.File
+ file_AddSeenMonsterNotify_proto_rawDesc = nil
+ file_AddSeenMonsterNotify_proto_goTypes = nil
+ file_AddSeenMonsterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AdjustTrackingInfo.pb.go b/protocol/proto/AdjustTrackingInfo.pb.go
new file mode 100644
index 00000000..23b19151
--- /dev/null
+++ b/protocol/proto/AdjustTrackingInfo.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AdjustTrackingInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AdjustTrackingInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EventToken string `protobuf:"bytes,9,opt,name=event_token,json=eventToken,proto3" json:"event_token,omitempty"`
+ Adid string `protobuf:"bytes,4,opt,name=adid,proto3" json:"adid,omitempty"`
+ Idfa string `protobuf:"bytes,2,opt,name=idfa,proto3" json:"idfa,omitempty"`
+ AppToken string `protobuf:"bytes,14,opt,name=app_token,json=appToken,proto3" json:"app_token,omitempty"`
+ GpsAdid string `protobuf:"bytes,3,opt,name=gps_adid,json=gpsAdid,proto3" json:"gps_adid,omitempty"`
+ FireAdid string `protobuf:"bytes,13,opt,name=fire_adid,json=fireAdid,proto3" json:"fire_adid,omitempty"`
+}
+
+func (x *AdjustTrackingInfo) Reset() {
+ *x = AdjustTrackingInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AdjustTrackingInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AdjustTrackingInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AdjustTrackingInfo) ProtoMessage() {}
+
+func (x *AdjustTrackingInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AdjustTrackingInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AdjustTrackingInfo.ProtoReflect.Descriptor instead.
+func (*AdjustTrackingInfo) Descriptor() ([]byte, []int) {
+ return file_AdjustTrackingInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AdjustTrackingInfo) GetEventToken() string {
+ if x != nil {
+ return x.EventToken
+ }
+ return ""
+}
+
+func (x *AdjustTrackingInfo) GetAdid() string {
+ if x != nil {
+ return x.Adid
+ }
+ return ""
+}
+
+func (x *AdjustTrackingInfo) GetIdfa() string {
+ if x != nil {
+ return x.Idfa
+ }
+ return ""
+}
+
+func (x *AdjustTrackingInfo) GetAppToken() string {
+ if x != nil {
+ return x.AppToken
+ }
+ return ""
+}
+
+func (x *AdjustTrackingInfo) GetGpsAdid() string {
+ if x != nil {
+ return x.GpsAdid
+ }
+ return ""
+}
+
+func (x *AdjustTrackingInfo) GetFireAdid() string {
+ if x != nil {
+ return x.FireAdid
+ }
+ return ""
+}
+
+var File_AdjustTrackingInfo_proto protoreflect.FileDescriptor
+
+var file_AdjustTrackingInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63,
+ 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x69, 0x64, 0x12, 0x12, 0x0a,
+ 0x04, 0x69, 0x64, 0x66, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x64, 0x66,
+ 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19,
+ 0x0a, 0x08, 0x67, 0x70, 0x73, 0x5f, 0x61, 0x64, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x67, 0x70, 0x73, 0x41, 0x64, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x72,
+ 0x65, 0x5f, 0x61, 0x64, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69,
+ 0x72, 0x65, 0x41, 0x64, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AdjustTrackingInfo_proto_rawDescOnce sync.Once
+ file_AdjustTrackingInfo_proto_rawDescData = file_AdjustTrackingInfo_proto_rawDesc
+)
+
+func file_AdjustTrackingInfo_proto_rawDescGZIP() []byte {
+ file_AdjustTrackingInfo_proto_rawDescOnce.Do(func() {
+ file_AdjustTrackingInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AdjustTrackingInfo_proto_rawDescData)
+ })
+ return file_AdjustTrackingInfo_proto_rawDescData
+}
+
+var file_AdjustTrackingInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AdjustTrackingInfo_proto_goTypes = []interface{}{
+ (*AdjustTrackingInfo)(nil), // 0: proto.AdjustTrackingInfo
+}
+var file_AdjustTrackingInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AdjustTrackingInfo_proto_init() }
+func file_AdjustTrackingInfo_proto_init() {
+ if File_AdjustTrackingInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AdjustTrackingInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AdjustTrackingInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AdjustTrackingInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AdjustTrackingInfo_proto_goTypes,
+ DependencyIndexes: file_AdjustTrackingInfo_proto_depIdxs,
+ MessageInfos: file_AdjustTrackingInfo_proto_msgTypes,
+ }.Build()
+ File_AdjustTrackingInfo_proto = out.File
+ file_AdjustTrackingInfo_proto_rawDesc = nil
+ file_AdjustTrackingInfo_proto_goTypes = nil
+ file_AdjustTrackingInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AdjustWorldLevelReq.pb.go b/protocol/proto/AdjustWorldLevelReq.pb.go
new file mode 100644
index 00000000..1f452fb1
--- /dev/null
+++ b/protocol/proto/AdjustWorldLevelReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AdjustWorldLevelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 164
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AdjustWorldLevelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExpectWorldLevel uint32 `protobuf:"varint,8,opt,name=expect_world_level,json=expectWorldLevel,proto3" json:"expect_world_level,omitempty"`
+ CurWorldLevel uint32 `protobuf:"varint,9,opt,name=cur_world_level,json=curWorldLevel,proto3" json:"cur_world_level,omitempty"`
+}
+
+func (x *AdjustWorldLevelReq) Reset() {
+ *x = AdjustWorldLevelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AdjustWorldLevelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AdjustWorldLevelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AdjustWorldLevelReq) ProtoMessage() {}
+
+func (x *AdjustWorldLevelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AdjustWorldLevelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AdjustWorldLevelReq.ProtoReflect.Descriptor instead.
+func (*AdjustWorldLevelReq) Descriptor() ([]byte, []int) {
+ return file_AdjustWorldLevelReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AdjustWorldLevelReq) GetExpectWorldLevel() uint32 {
+ if x != nil {
+ return x.ExpectWorldLevel
+ }
+ return 0
+}
+
+func (x *AdjustWorldLevelReq) GetCurWorldLevel() uint32 {
+ if x != nil {
+ return x.CurWorldLevel
+ }
+ return 0
+}
+
+var File_AdjustWorldLevelReq_proto protoreflect.FileDescriptor
+
+var file_AdjustWorldLevelReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x13, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6c,
+ 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x70,
+ 0x65, 0x63, 0x74, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x57, 0x6f, 0x72,
+ 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x77,
+ 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x63, 0x75, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AdjustWorldLevelReq_proto_rawDescOnce sync.Once
+ file_AdjustWorldLevelReq_proto_rawDescData = file_AdjustWorldLevelReq_proto_rawDesc
+)
+
+func file_AdjustWorldLevelReq_proto_rawDescGZIP() []byte {
+ file_AdjustWorldLevelReq_proto_rawDescOnce.Do(func() {
+ file_AdjustWorldLevelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AdjustWorldLevelReq_proto_rawDescData)
+ })
+ return file_AdjustWorldLevelReq_proto_rawDescData
+}
+
+var file_AdjustWorldLevelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AdjustWorldLevelReq_proto_goTypes = []interface{}{
+ (*AdjustWorldLevelReq)(nil), // 0: proto.AdjustWorldLevelReq
+}
+var file_AdjustWorldLevelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AdjustWorldLevelReq_proto_init() }
+func file_AdjustWorldLevelReq_proto_init() {
+ if File_AdjustWorldLevelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AdjustWorldLevelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AdjustWorldLevelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AdjustWorldLevelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AdjustWorldLevelReq_proto_goTypes,
+ DependencyIndexes: file_AdjustWorldLevelReq_proto_depIdxs,
+ MessageInfos: file_AdjustWorldLevelReq_proto_msgTypes,
+ }.Build()
+ File_AdjustWorldLevelReq_proto = out.File
+ file_AdjustWorldLevelReq_proto_rawDesc = nil
+ file_AdjustWorldLevelReq_proto_goTypes = nil
+ file_AdjustWorldLevelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AdjustWorldLevelRsp.pb.go b/protocol/proto/AdjustWorldLevelRsp.pb.go
new file mode 100644
index 00000000..5312d156
--- /dev/null
+++ b/protocol/proto/AdjustWorldLevelRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AdjustWorldLevelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 138
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AdjustWorldLevelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CdOverTime uint32 `protobuf:"varint,15,opt,name=cd_over_time,json=cdOverTime,proto3" json:"cd_over_time,omitempty"`
+ AfterWorldLevel uint32 `protobuf:"varint,14,opt,name=after_world_level,json=afterWorldLevel,proto3" json:"after_world_level,omitempty"`
+}
+
+func (x *AdjustWorldLevelRsp) Reset() {
+ *x = AdjustWorldLevelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AdjustWorldLevelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AdjustWorldLevelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AdjustWorldLevelRsp) ProtoMessage() {}
+
+func (x *AdjustWorldLevelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AdjustWorldLevelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AdjustWorldLevelRsp.ProtoReflect.Descriptor instead.
+func (*AdjustWorldLevelRsp) Descriptor() ([]byte, []int) {
+ return file_AdjustWorldLevelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AdjustWorldLevelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AdjustWorldLevelRsp) GetCdOverTime() uint32 {
+ if x != nil {
+ return x.CdOverTime
+ }
+ return 0
+}
+
+func (x *AdjustWorldLevelRsp) GetAfterWorldLevel() uint32 {
+ if x != nil {
+ return x.AfterWorldLevel
+ }
+ return 0
+}
+
+var File_AdjustWorldLevelRsp_proto protoreflect.FileDescriptor
+
+var file_AdjustWorldLevelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x13, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6c,
+ 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x64, 0x4f, 0x76, 0x65,
+ 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x77,
+ 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AdjustWorldLevelRsp_proto_rawDescOnce sync.Once
+ file_AdjustWorldLevelRsp_proto_rawDescData = file_AdjustWorldLevelRsp_proto_rawDesc
+)
+
+func file_AdjustWorldLevelRsp_proto_rawDescGZIP() []byte {
+ file_AdjustWorldLevelRsp_proto_rawDescOnce.Do(func() {
+ file_AdjustWorldLevelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AdjustWorldLevelRsp_proto_rawDescData)
+ })
+ return file_AdjustWorldLevelRsp_proto_rawDescData
+}
+
+var file_AdjustWorldLevelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AdjustWorldLevelRsp_proto_goTypes = []interface{}{
+ (*AdjustWorldLevelRsp)(nil), // 0: proto.AdjustWorldLevelRsp
+}
+var file_AdjustWorldLevelRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AdjustWorldLevelRsp_proto_init() }
+func file_AdjustWorldLevelRsp_proto_init() {
+ if File_AdjustWorldLevelRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AdjustWorldLevelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AdjustWorldLevelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AdjustWorldLevelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AdjustWorldLevelRsp_proto_goTypes,
+ DependencyIndexes: file_AdjustWorldLevelRsp_proto_depIdxs,
+ MessageInfos: file_AdjustWorldLevelRsp_proto_msgTypes,
+ }.Build()
+ File_AdjustWorldLevelRsp_proto = out.File
+ file_AdjustWorldLevelRsp_proto_rawDesc = nil
+ file_AdjustWorldLevelRsp_proto_goTypes = nil
+ file_AdjustWorldLevelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AiSkillCdInfo.pb.go b/protocol/proto/AiSkillCdInfo.pb.go
new file mode 100644
index 00000000..294eceac
--- /dev/null
+++ b/protocol/proto/AiSkillCdInfo.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AiSkillCdInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AiSkillCdInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillCdMap map[uint32]uint32 `protobuf:"bytes,11,rep,name=skill_cd_map,json=skillCdMap,proto3" json:"skill_cd_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ SkillGroupCdMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=skill_group_cd_map,json=skillGroupCdMap,proto3" json:"skill_group_cd_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *AiSkillCdInfo) Reset() {
+ *x = AiSkillCdInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AiSkillCdInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AiSkillCdInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AiSkillCdInfo) ProtoMessage() {}
+
+func (x *AiSkillCdInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AiSkillCdInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AiSkillCdInfo.ProtoReflect.Descriptor instead.
+func (*AiSkillCdInfo) Descriptor() ([]byte, []int) {
+ return file_AiSkillCdInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AiSkillCdInfo) GetSkillCdMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkillCdMap
+ }
+ return nil
+}
+
+func (x *AiSkillCdInfo) GetSkillGroupCdMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkillGroupCdMap
+ }
+ return nil
+}
+
+var File_AiSkillCdInfo_proto protoreflect.FileDescriptor
+
+var file_AiSkillCdInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x41, 0x69, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x02, 0x0a,
+ 0x0d, 0x41, 0x69, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46,
+ 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0b,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x69, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x56, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
+ 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x69, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x43, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x1a, 0x3d,
+ 0x0a, 0x0f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a,
+ 0x14, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x64, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AiSkillCdInfo_proto_rawDescOnce sync.Once
+ file_AiSkillCdInfo_proto_rawDescData = file_AiSkillCdInfo_proto_rawDesc
+)
+
+func file_AiSkillCdInfo_proto_rawDescGZIP() []byte {
+ file_AiSkillCdInfo_proto_rawDescOnce.Do(func() {
+ file_AiSkillCdInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AiSkillCdInfo_proto_rawDescData)
+ })
+ return file_AiSkillCdInfo_proto_rawDescData
+}
+
+var file_AiSkillCdInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_AiSkillCdInfo_proto_goTypes = []interface{}{
+ (*AiSkillCdInfo)(nil), // 0: proto.AiSkillCdInfo
+ nil, // 1: proto.AiSkillCdInfo.SkillCdMapEntry
+ nil, // 2: proto.AiSkillCdInfo.SkillGroupCdMapEntry
+}
+var file_AiSkillCdInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AiSkillCdInfo.skill_cd_map:type_name -> proto.AiSkillCdInfo.SkillCdMapEntry
+ 2, // 1: proto.AiSkillCdInfo.skill_group_cd_map:type_name -> proto.AiSkillCdInfo.SkillGroupCdMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AiSkillCdInfo_proto_init() }
+func file_AiSkillCdInfo_proto_init() {
+ if File_AiSkillCdInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AiSkillCdInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AiSkillCdInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AiSkillCdInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AiSkillCdInfo_proto_goTypes,
+ DependencyIndexes: file_AiSkillCdInfo_proto_depIdxs,
+ MessageInfos: file_AiSkillCdInfo_proto_msgTypes,
+ }.Build()
+ File_AiSkillCdInfo_proto = out.File
+ file_AiSkillCdInfo_proto_rawDesc = nil
+ file_AiSkillCdInfo_proto_goTypes = nil
+ file_AiSkillCdInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AiSyncInfo.pb.go b/protocol/proto/AiSyncInfo.pb.go
new file mode 100644
index 00000000..540954e4
--- /dev/null
+++ b/protocol/proto/AiSyncInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AiSyncInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AiSyncInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ IsSelfKilling bool `protobuf:"varint,8,opt,name=is_self_killing,json=isSelfKilling,proto3" json:"is_self_killing,omitempty"`
+ HasPathToTarget bool `protobuf:"varint,4,opt,name=has_path_to_target,json=hasPathToTarget,proto3" json:"has_path_to_target,omitempty"`
+}
+
+func (x *AiSyncInfo) Reset() {
+ *x = AiSyncInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AiSyncInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AiSyncInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AiSyncInfo) ProtoMessage() {}
+
+func (x *AiSyncInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AiSyncInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AiSyncInfo.ProtoReflect.Descriptor instead.
+func (*AiSyncInfo) Descriptor() ([]byte, []int) {
+ return file_AiSyncInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AiSyncInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AiSyncInfo) GetIsSelfKilling() bool {
+ if x != nil {
+ return x.IsSelfKilling
+ }
+ return false
+}
+
+func (x *AiSyncInfo) GetHasPathToTarget() bool {
+ if x != nil {
+ return x.HasPathToTarget
+ }
+ return false
+}
+
+var File_AiSyncInfo_proto protoreflect.FileDescriptor
+
+var file_AiSyncInfo_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x0a, 0x41, 0x69, 0x53,
+ 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69,
+ 0x73, 0x53, 0x65, 0x6c, 0x66, 0x4b, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x12,
+ 0x68, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, 0x50, 0x61, 0x74,
+ 0x68, 0x54, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AiSyncInfo_proto_rawDescOnce sync.Once
+ file_AiSyncInfo_proto_rawDescData = file_AiSyncInfo_proto_rawDesc
+)
+
+func file_AiSyncInfo_proto_rawDescGZIP() []byte {
+ file_AiSyncInfo_proto_rawDescOnce.Do(func() {
+ file_AiSyncInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AiSyncInfo_proto_rawDescData)
+ })
+ return file_AiSyncInfo_proto_rawDescData
+}
+
+var file_AiSyncInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AiSyncInfo_proto_goTypes = []interface{}{
+ (*AiSyncInfo)(nil), // 0: proto.AiSyncInfo
+}
+var file_AiSyncInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AiSyncInfo_proto_init() }
+func file_AiSyncInfo_proto_init() {
+ if File_AiSyncInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AiSyncInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AiSyncInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AiSyncInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AiSyncInfo_proto_goTypes,
+ DependencyIndexes: file_AiSyncInfo_proto_depIdxs,
+ MessageInfos: file_AiSyncInfo_proto_msgTypes,
+ }.Build()
+ File_AiSyncInfo_proto = out.File
+ file_AiSyncInfo_proto_rawDesc = nil
+ file_AiSyncInfo_proto_goTypes = nil
+ file_AiSyncInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AiThreatInfo.pb.go b/protocol/proto/AiThreatInfo.pb.go
new file mode 100644
index 00000000..570782a8
--- /dev/null
+++ b/protocol/proto/AiThreatInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AiThreatInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AiThreatInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AiThreatMap map[uint32]uint32 `protobuf:"bytes,11,rep,name=ai_threat_map,json=aiThreatMap,proto3" json:"ai_threat_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *AiThreatInfo) Reset() {
+ *x = AiThreatInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AiThreatInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AiThreatInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AiThreatInfo) ProtoMessage() {}
+
+func (x *AiThreatInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AiThreatInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AiThreatInfo.ProtoReflect.Descriptor instead.
+func (*AiThreatInfo) Descriptor() ([]byte, []int) {
+ return file_AiThreatInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AiThreatInfo) GetAiThreatMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AiThreatMap
+ }
+ return nil
+}
+
+var File_AiThreatInfo_proto protoreflect.FileDescriptor
+
+var file_AiThreatInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x41, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x0c,
+ 0x41, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0d,
+ 0x61, 0x69, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0b, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x69, 0x54, 0x68,
+ 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61,
+ 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x69, 0x54, 0x68, 0x72,
+ 0x65, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x69, 0x54, 0x68, 0x72, 0x65,
+ 0x61, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AiThreatInfo_proto_rawDescOnce sync.Once
+ file_AiThreatInfo_proto_rawDescData = file_AiThreatInfo_proto_rawDesc
+)
+
+func file_AiThreatInfo_proto_rawDescGZIP() []byte {
+ file_AiThreatInfo_proto_rawDescOnce.Do(func() {
+ file_AiThreatInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AiThreatInfo_proto_rawDescData)
+ })
+ return file_AiThreatInfo_proto_rawDescData
+}
+
+var file_AiThreatInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AiThreatInfo_proto_goTypes = []interface{}{
+ (*AiThreatInfo)(nil), // 0: proto.AiThreatInfo
+ nil, // 1: proto.AiThreatInfo.AiThreatMapEntry
+}
+var file_AiThreatInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AiThreatInfo.ai_threat_map:type_name -> proto.AiThreatInfo.AiThreatMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AiThreatInfo_proto_init() }
+func file_AiThreatInfo_proto_init() {
+ if File_AiThreatInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AiThreatInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AiThreatInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AiThreatInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AiThreatInfo_proto_goTypes,
+ DependencyIndexes: file_AiThreatInfo_proto_depIdxs,
+ MessageInfos: file_AiThreatInfo_proto_msgTypes,
+ }.Build()
+ File_AiThreatInfo_proto = out.File
+ file_AiThreatInfo_proto_rawDesc = nil
+ file_AiThreatInfo_proto_goTypes = nil
+ file_AiThreatInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AllCoopInfoNotify.pb.go b/protocol/proto/AllCoopInfoNotify.pb.go
new file mode 100644
index 00000000..991e6ce6
--- /dev/null
+++ b/protocol/proto/AllCoopInfoNotify.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AllCoopInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1976
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AllCoopInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MainCoopList []*MainCoop `protobuf:"bytes,14,rep,name=main_coop_list,json=mainCoopList,proto3" json:"main_coop_list,omitempty"`
+}
+
+func (x *AllCoopInfoNotify) Reset() {
+ *x = AllCoopInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AllCoopInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AllCoopInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AllCoopInfoNotify) ProtoMessage() {}
+
+func (x *AllCoopInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AllCoopInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AllCoopInfoNotify.ProtoReflect.Descriptor instead.
+func (*AllCoopInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AllCoopInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AllCoopInfoNotify) GetMainCoopList() []*MainCoop {
+ if x != nil {
+ return x.MainCoopList
+ }
+ return nil
+}
+
+var File_AllCoopInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AllCoopInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x4a, 0x0a, 0x11, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f,
+ 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x0c,
+ 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AllCoopInfoNotify_proto_rawDescOnce sync.Once
+ file_AllCoopInfoNotify_proto_rawDescData = file_AllCoopInfoNotify_proto_rawDesc
+)
+
+func file_AllCoopInfoNotify_proto_rawDescGZIP() []byte {
+ file_AllCoopInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AllCoopInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AllCoopInfoNotify_proto_rawDescData)
+ })
+ return file_AllCoopInfoNotify_proto_rawDescData
+}
+
+var file_AllCoopInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AllCoopInfoNotify_proto_goTypes = []interface{}{
+ (*AllCoopInfoNotify)(nil), // 0: proto.AllCoopInfoNotify
+ (*MainCoop)(nil), // 1: proto.MainCoop
+}
+var file_AllCoopInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AllCoopInfoNotify.main_coop_list:type_name -> proto.MainCoop
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AllCoopInfoNotify_proto_init() }
+func file_AllCoopInfoNotify_proto_init() {
+ if File_AllCoopInfoNotify_proto != nil {
+ return
+ }
+ file_MainCoop_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AllCoopInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AllCoopInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AllCoopInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AllCoopInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AllCoopInfoNotify_proto_depIdxs,
+ MessageInfos: file_AllCoopInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AllCoopInfoNotify_proto = out.File
+ file_AllCoopInfoNotify_proto_rawDesc = nil
+ file_AllCoopInfoNotify_proto_goTypes = nil
+ file_AllCoopInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AllMarkPointNotify.pb.go b/protocol/proto/AllMarkPointNotify.pb.go
new file mode 100644
index 00000000..77357bf5
--- /dev/null
+++ b/protocol/proto/AllMarkPointNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AllMarkPointNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3283
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AllMarkPointNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MarkList []*MapMarkPoint `protobuf:"bytes,7,rep,name=mark_list,json=markList,proto3" json:"mark_list,omitempty"`
+}
+
+func (x *AllMarkPointNotify) Reset() {
+ *x = AllMarkPointNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AllMarkPointNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AllMarkPointNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AllMarkPointNotify) ProtoMessage() {}
+
+func (x *AllMarkPointNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AllMarkPointNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AllMarkPointNotify.ProtoReflect.Descriptor instead.
+func (*AllMarkPointNotify) Descriptor() ([]byte, []int) {
+ return file_AllMarkPointNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AllMarkPointNotify) GetMarkList() []*MapMarkPoint {
+ if x != nil {
+ return x.MarkList
+ }
+ return nil
+}
+
+var File_AllMarkPointNotify_proto protoreflect.FileDescriptor
+
+var file_AllMarkPointNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x72, 0x6b,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x30, 0x0a, 0x09, 0x6d,
+ 0x61, 0x72, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AllMarkPointNotify_proto_rawDescOnce sync.Once
+ file_AllMarkPointNotify_proto_rawDescData = file_AllMarkPointNotify_proto_rawDesc
+)
+
+func file_AllMarkPointNotify_proto_rawDescGZIP() []byte {
+ file_AllMarkPointNotify_proto_rawDescOnce.Do(func() {
+ file_AllMarkPointNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AllMarkPointNotify_proto_rawDescData)
+ })
+ return file_AllMarkPointNotify_proto_rawDescData
+}
+
+var file_AllMarkPointNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AllMarkPointNotify_proto_goTypes = []interface{}{
+ (*AllMarkPointNotify)(nil), // 0: proto.AllMarkPointNotify
+ (*MapMarkPoint)(nil), // 1: proto.MapMarkPoint
+}
+var file_AllMarkPointNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AllMarkPointNotify.mark_list:type_name -> proto.MapMarkPoint
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AllMarkPointNotify_proto_init() }
+func file_AllMarkPointNotify_proto_init() {
+ if File_AllMarkPointNotify_proto != nil {
+ return
+ }
+ file_MapMarkPoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AllMarkPointNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AllMarkPointNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AllMarkPointNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AllMarkPointNotify_proto_goTypes,
+ DependencyIndexes: file_AllMarkPointNotify_proto_depIdxs,
+ MessageInfos: file_AllMarkPointNotify_proto_msgTypes,
+ }.Build()
+ File_AllMarkPointNotify_proto = out.File
+ file_AllMarkPointNotify_proto_rawDesc = nil
+ file_AllMarkPointNotify_proto_goTypes = nil
+ file_AllMarkPointNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AllSeenMonsterNotify.pb.go b/protocol/proto/AllSeenMonsterNotify.pb.go
new file mode 100644
index 00000000..a2c0340e
--- /dev/null
+++ b/protocol/proto/AllSeenMonsterNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AllSeenMonsterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 271
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AllSeenMonsterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterIdList []uint32 `protobuf:"varint,4,rep,packed,name=monster_id_list,json=monsterIdList,proto3" json:"monster_id_list,omitempty"`
+}
+
+func (x *AllSeenMonsterNotify) Reset() {
+ *x = AllSeenMonsterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AllSeenMonsterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AllSeenMonsterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AllSeenMonsterNotify) ProtoMessage() {}
+
+func (x *AllSeenMonsterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AllSeenMonsterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AllSeenMonsterNotify.ProtoReflect.Descriptor instead.
+func (*AllSeenMonsterNotify) Descriptor() ([]byte, []int) {
+ return file_AllSeenMonsterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AllSeenMonsterNotify) GetMonsterIdList() []uint32 {
+ if x != nil {
+ return x.MonsterIdList
+ }
+ return nil
+}
+
+var File_AllSeenMonsterNotify_proto protoreflect.FileDescriptor
+
+var file_AllSeenMonsterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x65, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x53, 0x65, 0x65, 0x6e, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x6d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AllSeenMonsterNotify_proto_rawDescOnce sync.Once
+ file_AllSeenMonsterNotify_proto_rawDescData = file_AllSeenMonsterNotify_proto_rawDesc
+)
+
+func file_AllSeenMonsterNotify_proto_rawDescGZIP() []byte {
+ file_AllSeenMonsterNotify_proto_rawDescOnce.Do(func() {
+ file_AllSeenMonsterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AllSeenMonsterNotify_proto_rawDescData)
+ })
+ return file_AllSeenMonsterNotify_proto_rawDescData
+}
+
+var file_AllSeenMonsterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AllSeenMonsterNotify_proto_goTypes = []interface{}{
+ (*AllSeenMonsterNotify)(nil), // 0: proto.AllSeenMonsterNotify
+}
+var file_AllSeenMonsterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AllSeenMonsterNotify_proto_init() }
+func file_AllSeenMonsterNotify_proto_init() {
+ if File_AllSeenMonsterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AllSeenMonsterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AllSeenMonsterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AllSeenMonsterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AllSeenMonsterNotify_proto_goTypes,
+ DependencyIndexes: file_AllSeenMonsterNotify_proto_depIdxs,
+ MessageInfos: file_AllSeenMonsterNotify_proto_msgTypes,
+ }.Build()
+ File_AllSeenMonsterNotify_proto = out.File
+ file_AllSeenMonsterNotify_proto_rawDesc = nil
+ file_AllSeenMonsterNotify_proto_goTypes = nil
+ file_AllSeenMonsterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AllShareCDDataNotify.pb.go b/protocol/proto/AllShareCDDataNotify.pb.go
new file mode 100644
index 00000000..b0a23b6b
--- /dev/null
+++ b/protocol/proto/AllShareCDDataNotify.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AllShareCDDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 9072
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AllShareCDDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShareCdInfoMap map[uint32]*ShareCDInfo `protobuf:"bytes,2,rep,name=share_cd_info_map,json=shareCdInfoMap,proto3" json:"share_cd_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *AllShareCDDataNotify) Reset() {
+ *x = AllShareCDDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AllShareCDDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AllShareCDDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AllShareCDDataNotify) ProtoMessage() {}
+
+func (x *AllShareCDDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AllShareCDDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AllShareCDDataNotify.ProtoReflect.Descriptor instead.
+func (*AllShareCDDataNotify) Descriptor() ([]byte, []int) {
+ return file_AllShareCDDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AllShareCDDataNotify) GetShareCdInfoMap() map[uint32]*ShareCDInfo {
+ if x != nil {
+ return x.ShareCdInfoMap
+ }
+ return nil
+}
+
+var File_AllShareCDDataNotify_proto protoreflect.FileDescriptor
+
+var file_AllShareCDDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x44, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x44, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x6c, 0x53, 0x68,
+ 0x61, 0x72, 0x65, 0x43, 0x44, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x5a, 0x0a, 0x11, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x6c, 0x6c, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x44, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x64, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x68, 0x61,
+ 0x72, 0x65, 0x43, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x1a, 0x55, 0x0a, 0x13, 0x53,
+ 0x68, 0x61, 0x72, 0x65, 0x43, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x72,
+ 0x65, 0x43, 0x44, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AllShareCDDataNotify_proto_rawDescOnce sync.Once
+ file_AllShareCDDataNotify_proto_rawDescData = file_AllShareCDDataNotify_proto_rawDesc
+)
+
+func file_AllShareCDDataNotify_proto_rawDescGZIP() []byte {
+ file_AllShareCDDataNotify_proto_rawDescOnce.Do(func() {
+ file_AllShareCDDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AllShareCDDataNotify_proto_rawDescData)
+ })
+ return file_AllShareCDDataNotify_proto_rawDescData
+}
+
+var file_AllShareCDDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AllShareCDDataNotify_proto_goTypes = []interface{}{
+ (*AllShareCDDataNotify)(nil), // 0: proto.AllShareCDDataNotify
+ nil, // 1: proto.AllShareCDDataNotify.ShareCdInfoMapEntry
+ (*ShareCDInfo)(nil), // 2: proto.ShareCDInfo
+}
+var file_AllShareCDDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AllShareCDDataNotify.share_cd_info_map:type_name -> proto.AllShareCDDataNotify.ShareCdInfoMapEntry
+ 2, // 1: proto.AllShareCDDataNotify.ShareCdInfoMapEntry.value:type_name -> proto.ShareCDInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AllShareCDDataNotify_proto_init() }
+func file_AllShareCDDataNotify_proto_init() {
+ if File_AllShareCDDataNotify_proto != nil {
+ return
+ }
+ file_ShareCDInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AllShareCDDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AllShareCDDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AllShareCDDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AllShareCDDataNotify_proto_goTypes,
+ DependencyIndexes: file_AllShareCDDataNotify_proto_depIdxs,
+ MessageInfos: file_AllShareCDDataNotify_proto_msgTypes,
+ }.Build()
+ File_AllShareCDDataNotify_proto = out.File
+ file_AllShareCDDataNotify_proto_rawDesc = nil
+ file_AllShareCDDataNotify_proto_goTypes = nil
+ file_AllShareCDDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AllWidgetBackgroundActiveStateNotify.pb.go b/protocol/proto/AllWidgetBackgroundActiveStateNotify.pb.go
new file mode 100644
index 00000000..fd5d694c
--- /dev/null
+++ b/protocol/proto/AllWidgetBackgroundActiveStateNotify.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AllWidgetBackgroundActiveStateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6092
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AllWidgetBackgroundActiveStateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BackgroundActiveWidgetList []uint32 `protobuf:"varint,3,rep,packed,name=background_active_widget_list,json=backgroundActiveWidgetList,proto3" json:"background_active_widget_list,omitempty"`
+}
+
+func (x *AllWidgetBackgroundActiveStateNotify) Reset() {
+ *x = AllWidgetBackgroundActiveStateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AllWidgetBackgroundActiveStateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AllWidgetBackgroundActiveStateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AllWidgetBackgroundActiveStateNotify) ProtoMessage() {}
+
+func (x *AllWidgetBackgroundActiveStateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AllWidgetBackgroundActiveStateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AllWidgetBackgroundActiveStateNotify.ProtoReflect.Descriptor instead.
+func (*AllWidgetBackgroundActiveStateNotify) Descriptor() ([]byte, []int) {
+ return file_AllWidgetBackgroundActiveStateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AllWidgetBackgroundActiveStateNotify) GetBackgroundActiveWidgetList() []uint32 {
+ if x != nil {
+ return x.BackgroundActiveWidgetList
+ }
+ return nil
+}
+
+var File_AllWidgetBackgroundActiveStateNotify_proto protoreflect.FileDescriptor
+
+var file_AllWidgetBackgroundActiveStateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x41, 0x6c, 0x6c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67,
+ 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x24, 0x41, 0x6c, 0x6c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x62,
+ 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
+ 0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x1a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AllWidgetBackgroundActiveStateNotify_proto_rawDescOnce sync.Once
+ file_AllWidgetBackgroundActiveStateNotify_proto_rawDescData = file_AllWidgetBackgroundActiveStateNotify_proto_rawDesc
+)
+
+func file_AllWidgetBackgroundActiveStateNotify_proto_rawDescGZIP() []byte {
+ file_AllWidgetBackgroundActiveStateNotify_proto_rawDescOnce.Do(func() {
+ file_AllWidgetBackgroundActiveStateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AllWidgetBackgroundActiveStateNotify_proto_rawDescData)
+ })
+ return file_AllWidgetBackgroundActiveStateNotify_proto_rawDescData
+}
+
+var file_AllWidgetBackgroundActiveStateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AllWidgetBackgroundActiveStateNotify_proto_goTypes = []interface{}{
+ (*AllWidgetBackgroundActiveStateNotify)(nil), // 0: proto.AllWidgetBackgroundActiveStateNotify
+}
+var file_AllWidgetBackgroundActiveStateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AllWidgetBackgroundActiveStateNotify_proto_init() }
+func file_AllWidgetBackgroundActiveStateNotify_proto_init() {
+ if File_AllWidgetBackgroundActiveStateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AllWidgetBackgroundActiveStateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AllWidgetBackgroundActiveStateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AllWidgetBackgroundActiveStateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AllWidgetBackgroundActiveStateNotify_proto_goTypes,
+ DependencyIndexes: file_AllWidgetBackgroundActiveStateNotify_proto_depIdxs,
+ MessageInfos: file_AllWidgetBackgroundActiveStateNotify_proto_msgTypes,
+ }.Build()
+ File_AllWidgetBackgroundActiveStateNotify_proto = out.File
+ file_AllWidgetBackgroundActiveStateNotify_proto_rawDesc = nil
+ file_AllWidgetBackgroundActiveStateNotify_proto_goTypes = nil
+ file_AllWidgetBackgroundActiveStateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AllWidgetDataNotify.pb.go b/protocol/proto/AllWidgetDataNotify.pb.go
new file mode 100644
index 00000000..ccaf5cfe
--- /dev/null
+++ b/protocol/proto/AllWidgetDataNotify.pb.go
@@ -0,0 +1,315 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AllWidgetDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4271
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AllWidgetDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BackgroundActiveWidgetList []uint32 `protobuf:"varint,11,rep,packed,name=background_active_widget_list,json=backgroundActiveWidgetList,proto3" json:"background_active_widget_list,omitempty"`
+ LunchBoxData *LunchBoxData `protobuf:"bytes,1,opt,name=lunch_box_data,json=lunchBoxData,proto3" json:"lunch_box_data,omitempty"`
+ CoolDownGroupDataList []*WidgetCoolDownData `protobuf:"bytes,13,rep,name=cool_down_group_data_list,json=coolDownGroupDataList,proto3" json:"cool_down_group_data_list,omitempty"`
+ AnchorPointList []*AnchorPointData `protobuf:"bytes,3,rep,name=anchor_point_list,json=anchorPointList,proto3" json:"anchor_point_list,omitempty"`
+ SlotList []*WidgetSlotData `protobuf:"bytes,6,rep,name=slot_list,json=slotList,proto3" json:"slot_list,omitempty"`
+ NextAnchorPointUsableTime uint32 `protobuf:"varint,10,opt,name=next_anchor_point_usable_time,json=nextAnchorPointUsableTime,proto3" json:"next_anchor_point_usable_time,omitempty"`
+ ClientCollectorDataList []*ClientCollectorData `protobuf:"bytes,4,rep,name=client_collector_data_list,json=clientCollectorDataList,proto3" json:"client_collector_data_list,omitempty"`
+ OneofGatherPointDetectorDataList []*OneofGatherPointDetectorData `protobuf:"bytes,15,rep,name=oneof_gather_point_detector_data_list,json=oneofGatherPointDetectorDataList,proto3" json:"oneof_gather_point_detector_data_list,omitempty"`
+ NormalCoolDownDataList []*WidgetCoolDownData `protobuf:"bytes,9,rep,name=normal_cool_down_data_list,json=normalCoolDownDataList,proto3" json:"normal_cool_down_data_list,omitempty"`
+ SkyCrystalDetectorData *SkyCrystalDetectorData `protobuf:"bytes,12,opt,name=sky_crystal_detector_data,json=skyCrystalDetectorData,proto3" json:"sky_crystal_detector_data,omitempty"`
+}
+
+func (x *AllWidgetDataNotify) Reset() {
+ *x = AllWidgetDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AllWidgetDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AllWidgetDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AllWidgetDataNotify) ProtoMessage() {}
+
+func (x *AllWidgetDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AllWidgetDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AllWidgetDataNotify.ProtoReflect.Descriptor instead.
+func (*AllWidgetDataNotify) Descriptor() ([]byte, []int) {
+ return file_AllWidgetDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AllWidgetDataNotify) GetBackgroundActiveWidgetList() []uint32 {
+ if x != nil {
+ return x.BackgroundActiveWidgetList
+ }
+ return nil
+}
+
+func (x *AllWidgetDataNotify) GetLunchBoxData() *LunchBoxData {
+ if x != nil {
+ return x.LunchBoxData
+ }
+ return nil
+}
+
+func (x *AllWidgetDataNotify) GetCoolDownGroupDataList() []*WidgetCoolDownData {
+ if x != nil {
+ return x.CoolDownGroupDataList
+ }
+ return nil
+}
+
+func (x *AllWidgetDataNotify) GetAnchorPointList() []*AnchorPointData {
+ if x != nil {
+ return x.AnchorPointList
+ }
+ return nil
+}
+
+func (x *AllWidgetDataNotify) GetSlotList() []*WidgetSlotData {
+ if x != nil {
+ return x.SlotList
+ }
+ return nil
+}
+
+func (x *AllWidgetDataNotify) GetNextAnchorPointUsableTime() uint32 {
+ if x != nil {
+ return x.NextAnchorPointUsableTime
+ }
+ return 0
+}
+
+func (x *AllWidgetDataNotify) GetClientCollectorDataList() []*ClientCollectorData {
+ if x != nil {
+ return x.ClientCollectorDataList
+ }
+ return nil
+}
+
+func (x *AllWidgetDataNotify) GetOneofGatherPointDetectorDataList() []*OneofGatherPointDetectorData {
+ if x != nil {
+ return x.OneofGatherPointDetectorDataList
+ }
+ return nil
+}
+
+func (x *AllWidgetDataNotify) GetNormalCoolDownDataList() []*WidgetCoolDownData {
+ if x != nil {
+ return x.NormalCoolDownDataList
+ }
+ return nil
+}
+
+func (x *AllWidgetDataNotify) GetSkyCrystalDetectorData() *SkyCrystalDetectorData {
+ if x != nil {
+ return x.SkyCrystalDetectorData
+ }
+ return nil
+}
+
+var File_AllWidgetDataNotify_proto protoreflect.FileDescriptor
+
+var file_AllWidgetDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x6c, 0x6c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x15, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47,
+ 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x53, 0x6b,
+ 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x57, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x06, 0x0a, 0x13, 0x41,
+ 0x6c, 0x6c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,
+ 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1a, 0x62, 0x61, 0x63, 0x6b, 0x67,
+ 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65,
+ 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x62,
+ 0x6f, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x0c, 0x6c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x53, 0x0a, 0x19, 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x15,
+ 0x63, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x61, 0x74,
+ 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x11, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x73, 0x6c, 0x6f,
+ 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a,
+ 0x1d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6e, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x57, 0x0a, 0x1a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x17, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x74, 0x0a, 0x25, 0x6f, 0x6e, 0x65, 0x6f,
+ 0x66, 0x5f, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x64,
+ 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x20, 0x6f, 0x6e,
+ 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x65,
+ 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x55,
+ 0x0a, 0x1a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f,
+ 0x77, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65,
+ 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x16, 0x6e,
+ 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74,
+ 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x19, 0x73, 0x6b, 0x79, 0x5f, 0x63, 0x72, 0x79,
+ 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x16, 0x73, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73,
+ 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AllWidgetDataNotify_proto_rawDescOnce sync.Once
+ file_AllWidgetDataNotify_proto_rawDescData = file_AllWidgetDataNotify_proto_rawDesc
+)
+
+func file_AllWidgetDataNotify_proto_rawDescGZIP() []byte {
+ file_AllWidgetDataNotify_proto_rawDescOnce.Do(func() {
+ file_AllWidgetDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AllWidgetDataNotify_proto_rawDescData)
+ })
+ return file_AllWidgetDataNotify_proto_rawDescData
+}
+
+var file_AllWidgetDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AllWidgetDataNotify_proto_goTypes = []interface{}{
+ (*AllWidgetDataNotify)(nil), // 0: proto.AllWidgetDataNotify
+ (*LunchBoxData)(nil), // 1: proto.LunchBoxData
+ (*WidgetCoolDownData)(nil), // 2: proto.WidgetCoolDownData
+ (*AnchorPointData)(nil), // 3: proto.AnchorPointData
+ (*WidgetSlotData)(nil), // 4: proto.WidgetSlotData
+ (*ClientCollectorData)(nil), // 5: proto.ClientCollectorData
+ (*OneofGatherPointDetectorData)(nil), // 6: proto.OneofGatherPointDetectorData
+ (*SkyCrystalDetectorData)(nil), // 7: proto.SkyCrystalDetectorData
+}
+var file_AllWidgetDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AllWidgetDataNotify.lunch_box_data:type_name -> proto.LunchBoxData
+ 2, // 1: proto.AllWidgetDataNotify.cool_down_group_data_list:type_name -> proto.WidgetCoolDownData
+ 3, // 2: proto.AllWidgetDataNotify.anchor_point_list:type_name -> proto.AnchorPointData
+ 4, // 3: proto.AllWidgetDataNotify.slot_list:type_name -> proto.WidgetSlotData
+ 5, // 4: proto.AllWidgetDataNotify.client_collector_data_list:type_name -> proto.ClientCollectorData
+ 6, // 5: proto.AllWidgetDataNotify.oneof_gather_point_detector_data_list:type_name -> proto.OneofGatherPointDetectorData
+ 2, // 6: proto.AllWidgetDataNotify.normal_cool_down_data_list:type_name -> proto.WidgetCoolDownData
+ 7, // 7: proto.AllWidgetDataNotify.sky_crystal_detector_data:type_name -> proto.SkyCrystalDetectorData
+ 8, // [8:8] is the sub-list for method output_type
+ 8, // [8:8] is the sub-list for method input_type
+ 8, // [8:8] is the sub-list for extension type_name
+ 8, // [8:8] is the sub-list for extension extendee
+ 0, // [0:8] is the sub-list for field type_name
+}
+
+func init() { file_AllWidgetDataNotify_proto_init() }
+func file_AllWidgetDataNotify_proto_init() {
+ if File_AllWidgetDataNotify_proto != nil {
+ return
+ }
+ file_AnchorPointData_proto_init()
+ file_ClientCollectorData_proto_init()
+ file_LunchBoxData_proto_init()
+ file_OneofGatherPointDetectorData_proto_init()
+ file_SkyCrystalDetectorData_proto_init()
+ file_WidgetCoolDownData_proto_init()
+ file_WidgetSlotData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AllWidgetDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AllWidgetDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AllWidgetDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AllWidgetDataNotify_proto_goTypes,
+ DependencyIndexes: file_AllWidgetDataNotify_proto_depIdxs,
+ MessageInfos: file_AllWidgetDataNotify_proto_msgTypes,
+ }.Build()
+ File_AllWidgetDataNotify_proto = out.File
+ file_AllWidgetDataNotify_proto_rawDesc = nil
+ file_AllWidgetDataNotify_proto_goTypes = nil
+ file_AllWidgetDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AnchorPointData.pb.go b/protocol/proto/AnchorPointData.pb.go
new file mode 100644
index 00000000..5d9ea4b2
--- /dev/null
+++ b/protocol/proto/AnchorPointData.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AnchorPointData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AnchorPointData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,5,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ AnchorPointId uint32 `protobuf:"varint,9,opt,name=anchor_point_id,json=anchorPointId,proto3" json:"anchor_point_id,omitempty"`
+ EndTime uint32 `protobuf:"varint,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ Pos *Vector `protobuf:"bytes,15,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,2,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *AnchorPointData) Reset() {
+ *x = AnchorPointData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AnchorPointData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AnchorPointData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AnchorPointData) ProtoMessage() {}
+
+func (x *AnchorPointData) ProtoReflect() protoreflect.Message {
+ mi := &file_AnchorPointData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AnchorPointData.ProtoReflect.Descriptor instead.
+func (*AnchorPointData) Descriptor() ([]byte, []int) {
+ return file_AnchorPointData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AnchorPointData) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *AnchorPointData) GetAnchorPointId() uint32 {
+ if x != nil {
+ return x.AnchorPointId
+ }
+ return 0
+}
+
+func (x *AnchorPointData) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *AnchorPointData) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *AnchorPointData) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_AnchorPointData_proto protoreflect.FileDescriptor
+
+var file_AnchorPointData_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a,
+ 0x0f, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x61,
+ 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f,
+ 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12,
+ 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AnchorPointData_proto_rawDescOnce sync.Once
+ file_AnchorPointData_proto_rawDescData = file_AnchorPointData_proto_rawDesc
+)
+
+func file_AnchorPointData_proto_rawDescGZIP() []byte {
+ file_AnchorPointData_proto_rawDescOnce.Do(func() {
+ file_AnchorPointData_proto_rawDescData = protoimpl.X.CompressGZIP(file_AnchorPointData_proto_rawDescData)
+ })
+ return file_AnchorPointData_proto_rawDescData
+}
+
+var file_AnchorPointData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AnchorPointData_proto_goTypes = []interface{}{
+ (*AnchorPointData)(nil), // 0: proto.AnchorPointData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AnchorPointData_proto_depIdxs = []int32{
+ 1, // 0: proto.AnchorPointData.pos:type_name -> proto.Vector
+ 1, // 1: proto.AnchorPointData.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AnchorPointData_proto_init() }
+func file_AnchorPointData_proto_init() {
+ if File_AnchorPointData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AnchorPointData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnchorPointData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AnchorPointData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AnchorPointData_proto_goTypes,
+ DependencyIndexes: file_AnchorPointData_proto_depIdxs,
+ MessageInfos: file_AnchorPointData_proto_msgTypes,
+ }.Build()
+ File_AnchorPointData_proto = out.File
+ file_AnchorPointData_proto_rawDesc = nil
+ file_AnchorPointData_proto_goTypes = nil
+ file_AnchorPointData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AnchorPointDataNotify.pb.go b/protocol/proto/AnchorPointDataNotify.pb.go
new file mode 100644
index 00000000..c402548e
--- /dev/null
+++ b/protocol/proto/AnchorPointDataNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AnchorPointDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4276
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AnchorPointDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AnchorPointList []*AnchorPointData `protobuf:"bytes,10,rep,name=anchor_point_list,json=anchorPointList,proto3" json:"anchor_point_list,omitempty"`
+ NextUsableTime uint32 `protobuf:"varint,14,opt,name=next_usable_time,json=nextUsableTime,proto3" json:"next_usable_time,omitempty"`
+}
+
+func (x *AnchorPointDataNotify) Reset() {
+ *x = AnchorPointDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AnchorPointDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AnchorPointDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AnchorPointDataNotify) ProtoMessage() {}
+
+func (x *AnchorPointDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AnchorPointDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AnchorPointDataNotify.ProtoReflect.Descriptor instead.
+func (*AnchorPointDataNotify) Descriptor() ([]byte, []int) {
+ return file_AnchorPointDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AnchorPointDataNotify) GetAnchorPointList() []*AnchorPointData {
+ if x != nil {
+ return x.AnchorPointList
+ }
+ return nil
+}
+
+func (x *AnchorPointDataNotify) GetNextUsableTime() uint32 {
+ if x != nil {
+ return x.NextUsableTime
+ }
+ return 0
+}
+
+var File_AnchorPointDataNotify_proto protoreflect.FileDescriptor
+
+var file_AnchorPointDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x15,
+ 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x42, 0x0a, 0x11, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x78,
+ 0x74, 0x5f, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AnchorPointDataNotify_proto_rawDescOnce sync.Once
+ file_AnchorPointDataNotify_proto_rawDescData = file_AnchorPointDataNotify_proto_rawDesc
+)
+
+func file_AnchorPointDataNotify_proto_rawDescGZIP() []byte {
+ file_AnchorPointDataNotify_proto_rawDescOnce.Do(func() {
+ file_AnchorPointDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AnchorPointDataNotify_proto_rawDescData)
+ })
+ return file_AnchorPointDataNotify_proto_rawDescData
+}
+
+var file_AnchorPointDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AnchorPointDataNotify_proto_goTypes = []interface{}{
+ (*AnchorPointDataNotify)(nil), // 0: proto.AnchorPointDataNotify
+ (*AnchorPointData)(nil), // 1: proto.AnchorPointData
+}
+var file_AnchorPointDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AnchorPointDataNotify.anchor_point_list:type_name -> proto.AnchorPointData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AnchorPointDataNotify_proto_init() }
+func file_AnchorPointDataNotify_proto_init() {
+ if File_AnchorPointDataNotify_proto != nil {
+ return
+ }
+ file_AnchorPointData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AnchorPointDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnchorPointDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AnchorPointDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AnchorPointDataNotify_proto_goTypes,
+ DependencyIndexes: file_AnchorPointDataNotify_proto_depIdxs,
+ MessageInfos: file_AnchorPointDataNotify_proto_msgTypes,
+ }.Build()
+ File_AnchorPointDataNotify_proto = out.File
+ file_AnchorPointDataNotify_proto_rawDesc = nil
+ file_AnchorPointDataNotify_proto_goTypes = nil
+ file_AnchorPointDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AnchorPointOpReq.pb.go b/protocol/proto/AnchorPointOpReq.pb.go
new file mode 100644
index 00000000..86345daf
--- /dev/null
+++ b/protocol/proto/AnchorPointOpReq.pb.go
@@ -0,0 +1,234 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AnchorPointOpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AnchorPointOpReq_AnchorPointOpType int32
+
+const (
+ AnchorPointOpReq_ANCHOR_POINT_OP_TYPE_NONE AnchorPointOpReq_AnchorPointOpType = 0
+ AnchorPointOpReq_ANCHOR_POINT_OP_TYPE_TELEPORT AnchorPointOpReq_AnchorPointOpType = 1
+ AnchorPointOpReq_ANCHOR_POINT_OP_TYPE_REMOVE AnchorPointOpReq_AnchorPointOpType = 2
+)
+
+// Enum value maps for AnchorPointOpReq_AnchorPointOpType.
+var (
+ AnchorPointOpReq_AnchorPointOpType_name = map[int32]string{
+ 0: "ANCHOR_POINT_OP_TYPE_NONE",
+ 1: "ANCHOR_POINT_OP_TYPE_TELEPORT",
+ 2: "ANCHOR_POINT_OP_TYPE_REMOVE",
+ }
+ AnchorPointOpReq_AnchorPointOpType_value = map[string]int32{
+ "ANCHOR_POINT_OP_TYPE_NONE": 0,
+ "ANCHOR_POINT_OP_TYPE_TELEPORT": 1,
+ "ANCHOR_POINT_OP_TYPE_REMOVE": 2,
+ }
+)
+
+func (x AnchorPointOpReq_AnchorPointOpType) Enum() *AnchorPointOpReq_AnchorPointOpType {
+ p := new(AnchorPointOpReq_AnchorPointOpType)
+ *p = x
+ return p
+}
+
+func (x AnchorPointOpReq_AnchorPointOpType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AnchorPointOpReq_AnchorPointOpType) Descriptor() protoreflect.EnumDescriptor {
+ return file_AnchorPointOpReq_proto_enumTypes[0].Descriptor()
+}
+
+func (AnchorPointOpReq_AnchorPointOpType) Type() protoreflect.EnumType {
+ return &file_AnchorPointOpReq_proto_enumTypes[0]
+}
+
+func (x AnchorPointOpReq_AnchorPointOpType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AnchorPointOpReq_AnchorPointOpType.Descriptor instead.
+func (AnchorPointOpReq_AnchorPointOpType) EnumDescriptor() ([]byte, []int) {
+ return file_AnchorPointOpReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 4257
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AnchorPointOpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AnchorPointId uint32 `protobuf:"varint,9,opt,name=anchor_point_id,json=anchorPointId,proto3" json:"anchor_point_id,omitempty"`
+ AnchorPointOpType uint32 `protobuf:"varint,12,opt,name=anchor_point_op_type,json=anchorPointOpType,proto3" json:"anchor_point_op_type,omitempty"`
+}
+
+func (x *AnchorPointOpReq) Reset() {
+ *x = AnchorPointOpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AnchorPointOpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AnchorPointOpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AnchorPointOpReq) ProtoMessage() {}
+
+func (x *AnchorPointOpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AnchorPointOpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AnchorPointOpReq.ProtoReflect.Descriptor instead.
+func (*AnchorPointOpReq) Descriptor() ([]byte, []int) {
+ return file_AnchorPointOpReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AnchorPointOpReq) GetAnchorPointId() uint32 {
+ if x != nil {
+ return x.AnchorPointId
+ }
+ return 0
+}
+
+func (x *AnchorPointOpReq) GetAnchorPointOpType() uint32 {
+ if x != nil {
+ return x.AnchorPointOpType
+ }
+ return 0
+}
+
+var File_AnchorPointOpReq_proto protoreflect.FileDescriptor
+
+var file_AnchorPointOpReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xe3, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f,
+ 0x70, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61,
+ 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14,
+ 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x61, 0x6e, 0x63, 0x68,
+ 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x22, 0x76, 0x0a,
+ 0x11, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x5f, 0x50, 0x4f, 0x49,
+ 0x4e, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x5f, 0x50, 0x4f, 0x49, 0x4e,
+ 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x4c, 0x45, 0x50, 0x4f,
+ 0x52, 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x5f, 0x50,
+ 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4d,
+ 0x4f, 0x56, 0x45, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AnchorPointOpReq_proto_rawDescOnce sync.Once
+ file_AnchorPointOpReq_proto_rawDescData = file_AnchorPointOpReq_proto_rawDesc
+)
+
+func file_AnchorPointOpReq_proto_rawDescGZIP() []byte {
+ file_AnchorPointOpReq_proto_rawDescOnce.Do(func() {
+ file_AnchorPointOpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AnchorPointOpReq_proto_rawDescData)
+ })
+ return file_AnchorPointOpReq_proto_rawDescData
+}
+
+var file_AnchorPointOpReq_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_AnchorPointOpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AnchorPointOpReq_proto_goTypes = []interface{}{
+ (AnchorPointOpReq_AnchorPointOpType)(0), // 0: proto.AnchorPointOpReq.AnchorPointOpType
+ (*AnchorPointOpReq)(nil), // 1: proto.AnchorPointOpReq
+}
+var file_AnchorPointOpReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AnchorPointOpReq_proto_init() }
+func file_AnchorPointOpReq_proto_init() {
+ if File_AnchorPointOpReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AnchorPointOpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnchorPointOpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AnchorPointOpReq_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AnchorPointOpReq_proto_goTypes,
+ DependencyIndexes: file_AnchorPointOpReq_proto_depIdxs,
+ EnumInfos: file_AnchorPointOpReq_proto_enumTypes,
+ MessageInfos: file_AnchorPointOpReq_proto_msgTypes,
+ }.Build()
+ File_AnchorPointOpReq_proto = out.File
+ file_AnchorPointOpReq_proto_rawDesc = nil
+ file_AnchorPointOpReq_proto_goTypes = nil
+ file_AnchorPointOpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AnchorPointOpRsp.pb.go b/protocol/proto/AnchorPointOpRsp.pb.go
new file mode 100644
index 00000000..aa3d40a2
--- /dev/null
+++ b/protocol/proto/AnchorPointOpRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AnchorPointOpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4252
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AnchorPointOpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AnchorPointId uint32 `protobuf:"varint,12,opt,name=anchor_point_id,json=anchorPointId,proto3" json:"anchor_point_id,omitempty"`
+ AnchorPointOpType uint32 `protobuf:"varint,4,opt,name=anchor_point_op_type,json=anchorPointOpType,proto3" json:"anchor_point_op_type,omitempty"`
+}
+
+func (x *AnchorPointOpRsp) Reset() {
+ *x = AnchorPointOpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AnchorPointOpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AnchorPointOpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AnchorPointOpRsp) ProtoMessage() {}
+
+func (x *AnchorPointOpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AnchorPointOpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AnchorPointOpRsp.ProtoReflect.Descriptor instead.
+func (*AnchorPointOpRsp) Descriptor() ([]byte, []int) {
+ return file_AnchorPointOpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AnchorPointOpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AnchorPointOpRsp) GetAnchorPointId() uint32 {
+ if x != nil {
+ return x.AnchorPointId
+ }
+ return 0
+}
+
+func (x *AnchorPointOpRsp) GetAnchorPointOpType() uint32 {
+ if x != nil {
+ return x.AnchorPointOpType
+ }
+ return 0
+}
+
+var File_AnchorPointOpRsp_proto protoreflect.FileDescriptor
+
+var file_AnchorPointOpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f, 0x70, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x85, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4f,
+ 0x70, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x26,
+ 0x0a, 0x0f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72,
+ 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AnchorPointOpRsp_proto_rawDescOnce sync.Once
+ file_AnchorPointOpRsp_proto_rawDescData = file_AnchorPointOpRsp_proto_rawDesc
+)
+
+func file_AnchorPointOpRsp_proto_rawDescGZIP() []byte {
+ file_AnchorPointOpRsp_proto_rawDescOnce.Do(func() {
+ file_AnchorPointOpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AnchorPointOpRsp_proto_rawDescData)
+ })
+ return file_AnchorPointOpRsp_proto_rawDescData
+}
+
+var file_AnchorPointOpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AnchorPointOpRsp_proto_goTypes = []interface{}{
+ (*AnchorPointOpRsp)(nil), // 0: proto.AnchorPointOpRsp
+}
+var file_AnchorPointOpRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AnchorPointOpRsp_proto_init() }
+func file_AnchorPointOpRsp_proto_init() {
+ if File_AnchorPointOpRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AnchorPointOpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnchorPointOpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AnchorPointOpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AnchorPointOpRsp_proto_goTypes,
+ DependencyIndexes: file_AnchorPointOpRsp_proto_depIdxs,
+ MessageInfos: file_AnchorPointOpRsp_proto_msgTypes,
+ }.Build()
+ File_AnchorPointOpRsp_proto = out.File
+ file_AnchorPointOpRsp_proto_rawDesc = nil
+ file_AnchorPointOpRsp_proto_goTypes = nil
+ file_AnchorPointOpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AnimatorForceSetAirMoveNotify.pb.go b/protocol/proto/AnimatorForceSetAirMoveNotify.pb.go
new file mode 100644
index 00000000..6122a398
--- /dev/null
+++ b/protocol/proto/AnimatorForceSetAirMoveNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AnimatorForceSetAirMoveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 374
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AnimatorForceSetAirMoveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,14,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ InAirMove bool `protobuf:"varint,13,opt,name=in_air_move,json=inAirMove,proto3" json:"in_air_move,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,9,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+}
+
+func (x *AnimatorForceSetAirMoveNotify) Reset() {
+ *x = AnimatorForceSetAirMoveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AnimatorForceSetAirMoveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AnimatorForceSetAirMoveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AnimatorForceSetAirMoveNotify) ProtoMessage() {}
+
+func (x *AnimatorForceSetAirMoveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AnimatorForceSetAirMoveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AnimatorForceSetAirMoveNotify.ProtoReflect.Descriptor instead.
+func (*AnimatorForceSetAirMoveNotify) Descriptor() ([]byte, []int) {
+ return file_AnimatorForceSetAirMoveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AnimatorForceSetAirMoveNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AnimatorForceSetAirMoveNotify) GetInAirMove() bool {
+ if x != nil {
+ return x.InAirMove
+ }
+ return false
+}
+
+func (x *AnimatorForceSetAirMoveNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+var File_AnimatorForceSetAirMoveNotify_proto protoreflect.FileDescriptor
+
+var file_AnimatorForceSetAirMoveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53,
+ 0x65, 0x74, 0x41, 0x69, 0x72, 0x4d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f,
+ 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x93, 0x01, 0x0a, 0x1d, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x46, 0x6f, 0x72, 0x63,
+ 0x65, 0x53, 0x65, 0x74, 0x41, 0x69, 0x72, 0x4d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1e,
+ 0x0a, 0x0b, 0x69, 0x6e, 0x5f, 0x61, 0x69, 0x72, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x41, 0x69, 0x72, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x35,
+ 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72,
+ 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AnimatorForceSetAirMoveNotify_proto_rawDescOnce sync.Once
+ file_AnimatorForceSetAirMoveNotify_proto_rawDescData = file_AnimatorForceSetAirMoveNotify_proto_rawDesc
+)
+
+func file_AnimatorForceSetAirMoveNotify_proto_rawDescGZIP() []byte {
+ file_AnimatorForceSetAirMoveNotify_proto_rawDescOnce.Do(func() {
+ file_AnimatorForceSetAirMoveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AnimatorForceSetAirMoveNotify_proto_rawDescData)
+ })
+ return file_AnimatorForceSetAirMoveNotify_proto_rawDescData
+}
+
+var file_AnimatorForceSetAirMoveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AnimatorForceSetAirMoveNotify_proto_goTypes = []interface{}{
+ (*AnimatorForceSetAirMoveNotify)(nil), // 0: proto.AnimatorForceSetAirMoveNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+}
+var file_AnimatorForceSetAirMoveNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AnimatorForceSetAirMoveNotify.forward_type:type_name -> proto.ForwardType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AnimatorForceSetAirMoveNotify_proto_init() }
+func file_AnimatorForceSetAirMoveNotify_proto_init() {
+ if File_AnimatorForceSetAirMoveNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AnimatorForceSetAirMoveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnimatorForceSetAirMoveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AnimatorForceSetAirMoveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AnimatorForceSetAirMoveNotify_proto_goTypes,
+ DependencyIndexes: file_AnimatorForceSetAirMoveNotify_proto_depIdxs,
+ MessageInfos: file_AnimatorForceSetAirMoveNotify_proto_msgTypes,
+ }.Build()
+ File_AnimatorForceSetAirMoveNotify_proto = out.File
+ file_AnimatorForceSetAirMoveNotify_proto_rawDesc = nil
+ file_AnimatorForceSetAirMoveNotify_proto_goTypes = nil
+ file_AnimatorForceSetAirMoveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AnimatorParameterValueInfo.pb.go b/protocol/proto/AnimatorParameterValueInfo.pb.go
new file mode 100644
index 00000000..e7a7e412
--- /dev/null
+++ b/protocol/proto/AnimatorParameterValueInfo.pb.go
@@ -0,0 +1,227 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AnimatorParameterValueInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AnimatorParameterValueInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParaType uint32 `protobuf:"varint,1,opt,name=para_type,json=paraType,proto3" json:"para_type,omitempty"`
+ // Types that are assignable to ParaVal:
+ //
+ // *AnimatorParameterValueInfo_IntVal
+ // *AnimatorParameterValueInfo_FloatVal
+ // *AnimatorParameterValueInfo_BoolVal
+ ParaVal isAnimatorParameterValueInfo_ParaVal `protobuf_oneof:"para_val"`
+}
+
+func (x *AnimatorParameterValueInfo) Reset() {
+ *x = AnimatorParameterValueInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AnimatorParameterValueInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AnimatorParameterValueInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AnimatorParameterValueInfo) ProtoMessage() {}
+
+func (x *AnimatorParameterValueInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AnimatorParameterValueInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AnimatorParameterValueInfo.ProtoReflect.Descriptor instead.
+func (*AnimatorParameterValueInfo) Descriptor() ([]byte, []int) {
+ return file_AnimatorParameterValueInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AnimatorParameterValueInfo) GetParaType() uint32 {
+ if x != nil {
+ return x.ParaType
+ }
+ return 0
+}
+
+func (m *AnimatorParameterValueInfo) GetParaVal() isAnimatorParameterValueInfo_ParaVal {
+ if m != nil {
+ return m.ParaVal
+ }
+ return nil
+}
+
+func (x *AnimatorParameterValueInfo) GetIntVal() int32 {
+ if x, ok := x.GetParaVal().(*AnimatorParameterValueInfo_IntVal); ok {
+ return x.IntVal
+ }
+ return 0
+}
+
+func (x *AnimatorParameterValueInfo) GetFloatVal() float32 {
+ if x, ok := x.GetParaVal().(*AnimatorParameterValueInfo_FloatVal); ok {
+ return x.FloatVal
+ }
+ return 0
+}
+
+func (x *AnimatorParameterValueInfo) GetBoolVal() bool {
+ if x, ok := x.GetParaVal().(*AnimatorParameterValueInfo_BoolVal); ok {
+ return x.BoolVal
+ }
+ return false
+}
+
+type isAnimatorParameterValueInfo_ParaVal interface {
+ isAnimatorParameterValueInfo_ParaVal()
+}
+
+type AnimatorParameterValueInfo_IntVal struct {
+ IntVal int32 `protobuf:"varint,2,opt,name=int_val,json=intVal,proto3,oneof"`
+}
+
+type AnimatorParameterValueInfo_FloatVal struct {
+ FloatVal float32 `protobuf:"fixed32,3,opt,name=float_val,json=floatVal,proto3,oneof"`
+}
+
+type AnimatorParameterValueInfo_BoolVal struct {
+ BoolVal bool `protobuf:"varint,4,opt,name=bool_val,json=boolVal,proto3,oneof"`
+}
+
+func (*AnimatorParameterValueInfo_IntVal) isAnimatorParameterValueInfo_ParaVal() {}
+
+func (*AnimatorParameterValueInfo_FloatVal) isAnimatorParameterValueInfo_ParaVal() {}
+
+func (*AnimatorParameterValueInfo_BoolVal) isAnimatorParameterValueInfo_ParaVal() {}
+
+var File_AnimatorParameterValueInfo_proto protoreflect.FileDescriptor
+
+var file_AnimatorParameterValueInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
+ 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x1a, 0x41, 0x6e,
+ 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x72,
+ 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c,
+ 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x12,
+ 0x1b, 0x0a, 0x08, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x08, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x42, 0x0a, 0x0a, 0x08,
+ 0x70, 0x61, 0x72, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AnimatorParameterValueInfo_proto_rawDescOnce sync.Once
+ file_AnimatorParameterValueInfo_proto_rawDescData = file_AnimatorParameterValueInfo_proto_rawDesc
+)
+
+func file_AnimatorParameterValueInfo_proto_rawDescGZIP() []byte {
+ file_AnimatorParameterValueInfo_proto_rawDescOnce.Do(func() {
+ file_AnimatorParameterValueInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AnimatorParameterValueInfo_proto_rawDescData)
+ })
+ return file_AnimatorParameterValueInfo_proto_rawDescData
+}
+
+var file_AnimatorParameterValueInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AnimatorParameterValueInfo_proto_goTypes = []interface{}{
+ (*AnimatorParameterValueInfo)(nil), // 0: proto.AnimatorParameterValueInfo
+}
+var file_AnimatorParameterValueInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AnimatorParameterValueInfo_proto_init() }
+func file_AnimatorParameterValueInfo_proto_init() {
+ if File_AnimatorParameterValueInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AnimatorParameterValueInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnimatorParameterValueInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_AnimatorParameterValueInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*AnimatorParameterValueInfo_IntVal)(nil),
+ (*AnimatorParameterValueInfo_FloatVal)(nil),
+ (*AnimatorParameterValueInfo_BoolVal)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AnimatorParameterValueInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AnimatorParameterValueInfo_proto_goTypes,
+ DependencyIndexes: file_AnimatorParameterValueInfo_proto_depIdxs,
+ MessageInfos: file_AnimatorParameterValueInfo_proto_msgTypes,
+ }.Build()
+ File_AnimatorParameterValueInfo_proto = out.File
+ file_AnimatorParameterValueInfo_proto_rawDesc = nil
+ file_AnimatorParameterValueInfo_proto_goTypes = nil
+ file_AnimatorParameterValueInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AnimatorParameterValueInfoPair.pb.go b/protocol/proto/AnimatorParameterValueInfoPair.pb.go
new file mode 100644
index 00000000..94f2adbc
--- /dev/null
+++ b/protocol/proto/AnimatorParameterValueInfoPair.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AnimatorParameterValueInfoPair.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AnimatorParameterValueInfoPair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NameId int32 `protobuf:"varint,1,opt,name=name_id,json=nameId,proto3" json:"name_id,omitempty"`
+ AnimatorPara *AnimatorParameterValueInfo `protobuf:"bytes,2,opt,name=animator_para,json=animatorPara,proto3" json:"animator_para,omitempty"`
+}
+
+func (x *AnimatorParameterValueInfoPair) Reset() {
+ *x = AnimatorParameterValueInfoPair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AnimatorParameterValueInfoPair_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AnimatorParameterValueInfoPair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AnimatorParameterValueInfoPair) ProtoMessage() {}
+
+func (x *AnimatorParameterValueInfoPair) ProtoReflect() protoreflect.Message {
+ mi := &file_AnimatorParameterValueInfoPair_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AnimatorParameterValueInfoPair.ProtoReflect.Descriptor instead.
+func (*AnimatorParameterValueInfoPair) Descriptor() ([]byte, []int) {
+ return file_AnimatorParameterValueInfoPair_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AnimatorParameterValueInfoPair) GetNameId() int32 {
+ if x != nil {
+ return x.NameId
+ }
+ return 0
+}
+
+func (x *AnimatorParameterValueInfoPair) GetAnimatorPara() *AnimatorParameterValueInfo {
+ if x != nil {
+ return x.AnimatorPara
+ }
+ return nil
+}
+
+var File_AnimatorParameterValueInfoPair_proto protoreflect.FileDescriptor
+
+var file_AnimatorParameterValueInfoPair_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
+ 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x61, 0x69, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x41,
+ 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x81, 0x01, 0x0a, 0x1e, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x61,
+ 0x69, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0d, 0x61,
+ 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x69, 0x6d, 0x61,
+ 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50,
+ 0x61, 0x72, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AnimatorParameterValueInfoPair_proto_rawDescOnce sync.Once
+ file_AnimatorParameterValueInfoPair_proto_rawDescData = file_AnimatorParameterValueInfoPair_proto_rawDesc
+)
+
+func file_AnimatorParameterValueInfoPair_proto_rawDescGZIP() []byte {
+ file_AnimatorParameterValueInfoPair_proto_rawDescOnce.Do(func() {
+ file_AnimatorParameterValueInfoPair_proto_rawDescData = protoimpl.X.CompressGZIP(file_AnimatorParameterValueInfoPair_proto_rawDescData)
+ })
+ return file_AnimatorParameterValueInfoPair_proto_rawDescData
+}
+
+var file_AnimatorParameterValueInfoPair_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AnimatorParameterValueInfoPair_proto_goTypes = []interface{}{
+ (*AnimatorParameterValueInfoPair)(nil), // 0: proto.AnimatorParameterValueInfoPair
+ (*AnimatorParameterValueInfo)(nil), // 1: proto.AnimatorParameterValueInfo
+}
+var file_AnimatorParameterValueInfoPair_proto_depIdxs = []int32{
+ 1, // 0: proto.AnimatorParameterValueInfoPair.animator_para:type_name -> proto.AnimatorParameterValueInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AnimatorParameterValueInfoPair_proto_init() }
+func file_AnimatorParameterValueInfoPair_proto_init() {
+ if File_AnimatorParameterValueInfoPair_proto != nil {
+ return
+ }
+ file_AnimatorParameterValueInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AnimatorParameterValueInfoPair_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnimatorParameterValueInfoPair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AnimatorParameterValueInfoPair_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AnimatorParameterValueInfoPair_proto_goTypes,
+ DependencyIndexes: file_AnimatorParameterValueInfoPair_proto_depIdxs,
+ MessageInfos: file_AnimatorParameterValueInfoPair_proto_msgTypes,
+ }.Build()
+ File_AnimatorParameterValueInfoPair_proto = out.File
+ file_AnimatorParameterValueInfoPair_proto_rawDesc = nil
+ file_AnimatorParameterValueInfoPair_proto_goTypes = nil
+ file_AnimatorParameterValueInfoPair_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AnnounceData.pb.go b/protocol/proto/AnnounceData.pb.go
new file mode 100644
index 00000000..6e12b179
--- /dev/null
+++ b/protocol/proto/AnnounceData.pb.go
@@ -0,0 +1,246 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AnnounceData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AnnounceData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CountDownText string `protobuf:"bytes,9,opt,name=count_down_text,json=countDownText,proto3" json:"count_down_text,omitempty"`
+ CenterSystemText string `protobuf:"bytes,8,opt,name=center_system_text,json=centerSystemText,proto3" json:"center_system_text,omitempty"`
+ CountDownFrequency uint32 `protobuf:"varint,1,opt,name=count_down_frequency,json=countDownFrequency,proto3" json:"count_down_frequency,omitempty"`
+ ConfigId uint32 `protobuf:"varint,7,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ BeginTime uint32 `protobuf:"varint,4,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ CenterSystemFrequency uint32 `protobuf:"varint,11,opt,name=center_system_frequency,json=centerSystemFrequency,proto3" json:"center_system_frequency,omitempty"`
+ DungeonConfirmText string `protobuf:"bytes,2,opt,name=dungeon_confirm_text,json=dungeonConfirmText,proto3" json:"dungeon_confirm_text,omitempty"`
+ IsCenterSystemLast_5EveryMinutes bool `protobuf:"varint,14,opt,name=is_center_system_last_5_every_minutes,json=isCenterSystemLast5EveryMinutes,proto3" json:"is_center_system_last_5_every_minutes,omitempty"`
+ EndTime uint32 `protobuf:"varint,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *AnnounceData) Reset() {
+ *x = AnnounceData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AnnounceData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AnnounceData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AnnounceData) ProtoMessage() {}
+
+func (x *AnnounceData) ProtoReflect() protoreflect.Message {
+ mi := &file_AnnounceData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AnnounceData.ProtoReflect.Descriptor instead.
+func (*AnnounceData) Descriptor() ([]byte, []int) {
+ return file_AnnounceData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AnnounceData) GetCountDownText() string {
+ if x != nil {
+ return x.CountDownText
+ }
+ return ""
+}
+
+func (x *AnnounceData) GetCenterSystemText() string {
+ if x != nil {
+ return x.CenterSystemText
+ }
+ return ""
+}
+
+func (x *AnnounceData) GetCountDownFrequency() uint32 {
+ if x != nil {
+ return x.CountDownFrequency
+ }
+ return 0
+}
+
+func (x *AnnounceData) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *AnnounceData) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *AnnounceData) GetCenterSystemFrequency() uint32 {
+ if x != nil {
+ return x.CenterSystemFrequency
+ }
+ return 0
+}
+
+func (x *AnnounceData) GetDungeonConfirmText() string {
+ if x != nil {
+ return x.DungeonConfirmText
+ }
+ return ""
+}
+
+func (x *AnnounceData) GetIsCenterSystemLast_5EveryMinutes() bool {
+ if x != nil {
+ return x.IsCenterSystemLast_5EveryMinutes
+ }
+ return false
+}
+
+func (x *AnnounceData) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_AnnounceData_proto protoreflect.FileDescriptor
+
+var file_AnnounceData_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x03, 0x0a, 0x0c,
+ 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26, 0x0a, 0x0f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e,
+ 0x54, 0x65, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73,
+ 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x10, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x65,
+ 0x78, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e,
+ 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x12, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x46, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x36, 0x0a, 0x17, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65,
+ 0x6d, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x15, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x46,
+ 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x54, 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a, 0x25, 0x69, 0x73,
+ 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6c,
+ 0x61, 0x73, 0x74, 0x5f, 0x35, 0x5f, 0x65, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x75,
+ 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x69, 0x73, 0x43, 0x65, 0x6e,
+ 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4c, 0x61, 0x73, 0x74, 0x35, 0x45, 0x76,
+ 0x65, 0x72, 0x79, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e,
+ 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e,
+ 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AnnounceData_proto_rawDescOnce sync.Once
+ file_AnnounceData_proto_rawDescData = file_AnnounceData_proto_rawDesc
+)
+
+func file_AnnounceData_proto_rawDescGZIP() []byte {
+ file_AnnounceData_proto_rawDescOnce.Do(func() {
+ file_AnnounceData_proto_rawDescData = protoimpl.X.CompressGZIP(file_AnnounceData_proto_rawDescData)
+ })
+ return file_AnnounceData_proto_rawDescData
+}
+
+var file_AnnounceData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AnnounceData_proto_goTypes = []interface{}{
+ (*AnnounceData)(nil), // 0: proto.AnnounceData
+}
+var file_AnnounceData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AnnounceData_proto_init() }
+func file_AnnounceData_proto_init() {
+ if File_AnnounceData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AnnounceData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AnnounceData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AnnounceData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AnnounceData_proto_goTypes,
+ DependencyIndexes: file_AnnounceData_proto_depIdxs,
+ MessageInfos: file_AnnounceData_proto_msgTypes,
+ }.Build()
+ File_AnnounceData_proto = out.File
+ file_AnnounceData_proto_rawDesc = nil
+ file_AnnounceData_proto_goTypes = nil
+ file_AnnounceData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AntiAddictNotify.pb.go b/protocol/proto/AntiAddictNotify.pb.go
new file mode 100644
index 00000000..4fac57ff
--- /dev/null
+++ b/protocol/proto/AntiAddictNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AntiAddictNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 180
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AntiAddictNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MsgType int32 `protobuf:"varint,6,opt,name=msg_type,json=msgType,proto3" json:"msg_type,omitempty"`
+ Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg,omitempty"`
+ Level string `protobuf:"bytes,5,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *AntiAddictNotify) Reset() {
+ *x = AntiAddictNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AntiAddictNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AntiAddictNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AntiAddictNotify) ProtoMessage() {}
+
+func (x *AntiAddictNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AntiAddictNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AntiAddictNotify.ProtoReflect.Descriptor instead.
+func (*AntiAddictNotify) Descriptor() ([]byte, []int) {
+ return file_AntiAddictNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AntiAddictNotify) GetMsgType() int32 {
+ if x != nil {
+ return x.MsgType
+ }
+ return 0
+}
+
+func (x *AntiAddictNotify) GetMsg() string {
+ if x != nil {
+ return x.Msg
+ }
+ return ""
+}
+
+func (x *AntiAddictNotify) GetLevel() string {
+ if x != nil {
+ return x.Level
+ }
+ return ""
+}
+
+var File_AntiAddictNotify_proto protoreflect.FileDescriptor
+
+var file_AntiAddictNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x6e, 0x74, 0x69, 0x41, 0x64, 0x64, 0x69, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x55, 0x0a, 0x10, 0x41, 0x6e, 0x74, 0x69, 0x41, 0x64, 0x64, 0x69, 0x63, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10,
+ 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67,
+ 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AntiAddictNotify_proto_rawDescOnce sync.Once
+ file_AntiAddictNotify_proto_rawDescData = file_AntiAddictNotify_proto_rawDesc
+)
+
+func file_AntiAddictNotify_proto_rawDescGZIP() []byte {
+ file_AntiAddictNotify_proto_rawDescOnce.Do(func() {
+ file_AntiAddictNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AntiAddictNotify_proto_rawDescData)
+ })
+ return file_AntiAddictNotify_proto_rawDescData
+}
+
+var file_AntiAddictNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AntiAddictNotify_proto_goTypes = []interface{}{
+ (*AntiAddictNotify)(nil), // 0: proto.AntiAddictNotify
+}
+var file_AntiAddictNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AntiAddictNotify_proto_init() }
+func file_AntiAddictNotify_proto_init() {
+ if File_AntiAddictNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AntiAddictNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AntiAddictNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AntiAddictNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AntiAddictNotify_proto_goTypes,
+ DependencyIndexes: file_AntiAddictNotify_proto_depIdxs,
+ MessageInfos: file_AntiAddictNotify_proto_msgTypes,
+ }.Build()
+ File_AntiAddictNotify_proto = out.File
+ file_AntiAddictNotify_proto_rawDesc = nil
+ file_AntiAddictNotify_proto_goTypes = nil
+ file_AntiAddictNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AranaraCollectionDataNotify.pb.go b/protocol/proto/AranaraCollectionDataNotify.pb.go
new file mode 100644
index 00000000..e659495d
--- /dev/null
+++ b/protocol/proto/AranaraCollectionDataNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AranaraCollectionDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6376
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AranaraCollectionDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CollectionSuiteList []*AranaraCollectionSuite `protobuf:"bytes,14,rep,name=collection_suite_list,json=collectionSuiteList,proto3" json:"collection_suite_list,omitempty"`
+}
+
+func (x *AranaraCollectionDataNotify) Reset() {
+ *x = AranaraCollectionDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AranaraCollectionDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AranaraCollectionDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AranaraCollectionDataNotify) ProtoMessage() {}
+
+func (x *AranaraCollectionDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AranaraCollectionDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AranaraCollectionDataNotify.ProtoReflect.Descriptor instead.
+func (*AranaraCollectionDataNotify) Descriptor() ([]byte, []int) {
+ return file_AranaraCollectionDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AranaraCollectionDataNotify) GetCollectionSuiteList() []*AranaraCollectionSuite {
+ if x != nil {
+ return x.CollectionSuiteList
+ }
+ return nil
+}
+
+var File_AranaraCollectionDataNotify_proto protoreflect.FileDescriptor
+
+var file_AranaraCollectionDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x41, 0x72, 0x61, 0x6e,
+ 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x69,
+ 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x1b, 0x41, 0x72, 0x61, 0x6e,
+ 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x51, 0x0a, 0x15, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x53, 0x75, 0x69, 0x74, 0x65, 0x52, 0x13, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AranaraCollectionDataNotify_proto_rawDescOnce sync.Once
+ file_AranaraCollectionDataNotify_proto_rawDescData = file_AranaraCollectionDataNotify_proto_rawDesc
+)
+
+func file_AranaraCollectionDataNotify_proto_rawDescGZIP() []byte {
+ file_AranaraCollectionDataNotify_proto_rawDescOnce.Do(func() {
+ file_AranaraCollectionDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AranaraCollectionDataNotify_proto_rawDescData)
+ })
+ return file_AranaraCollectionDataNotify_proto_rawDescData
+}
+
+var file_AranaraCollectionDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AranaraCollectionDataNotify_proto_goTypes = []interface{}{
+ (*AranaraCollectionDataNotify)(nil), // 0: proto.AranaraCollectionDataNotify
+ (*AranaraCollectionSuite)(nil), // 1: proto.AranaraCollectionSuite
+}
+var file_AranaraCollectionDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AranaraCollectionDataNotify.collection_suite_list:type_name -> proto.AranaraCollectionSuite
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AranaraCollectionDataNotify_proto_init() }
+func file_AranaraCollectionDataNotify_proto_init() {
+ if File_AranaraCollectionDataNotify_proto != nil {
+ return
+ }
+ file_AranaraCollectionSuite_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AranaraCollectionDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AranaraCollectionDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AranaraCollectionDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AranaraCollectionDataNotify_proto_goTypes,
+ DependencyIndexes: file_AranaraCollectionDataNotify_proto_depIdxs,
+ MessageInfos: file_AranaraCollectionDataNotify_proto_msgTypes,
+ }.Build()
+ File_AranaraCollectionDataNotify_proto = out.File
+ file_AranaraCollectionDataNotify_proto_rawDesc = nil
+ file_AranaraCollectionDataNotify_proto_goTypes = nil
+ file_AranaraCollectionDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AranaraCollectionState.pb.go b/protocol/proto/AranaraCollectionState.pb.go
new file mode 100644
index 00000000..40f8f129
--- /dev/null
+++ b/protocol/proto/AranaraCollectionState.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AranaraCollectionState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AranaraCollectionState int32
+
+const (
+ AranaraCollectionState_ARANARA_COLLECTION_STATE_NONE AranaraCollectionState = 0
+ AranaraCollectionState_ARANARA_COLLECTION_STATE_COLLECTABLE AranaraCollectionState = 1
+ AranaraCollectionState_ARANARA_COLLECTION_STATE_COLLECTED AranaraCollectionState = 2
+ AranaraCollectionState_ARANARA_COLLECTION_STATE_FINISHED AranaraCollectionState = 3
+)
+
+// Enum value maps for AranaraCollectionState.
+var (
+ AranaraCollectionState_name = map[int32]string{
+ 0: "ARANARA_COLLECTION_STATE_NONE",
+ 1: "ARANARA_COLLECTION_STATE_COLLECTABLE",
+ 2: "ARANARA_COLLECTION_STATE_COLLECTED",
+ 3: "ARANARA_COLLECTION_STATE_FINISHED",
+ }
+ AranaraCollectionState_value = map[string]int32{
+ "ARANARA_COLLECTION_STATE_NONE": 0,
+ "ARANARA_COLLECTION_STATE_COLLECTABLE": 1,
+ "ARANARA_COLLECTION_STATE_COLLECTED": 2,
+ "ARANARA_COLLECTION_STATE_FINISHED": 3,
+ }
+)
+
+func (x AranaraCollectionState) Enum() *AranaraCollectionState {
+ p := new(AranaraCollectionState)
+ *p = x
+ return p
+}
+
+func (x AranaraCollectionState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AranaraCollectionState) Descriptor() protoreflect.EnumDescriptor {
+ return file_AranaraCollectionState_proto_enumTypes[0].Descriptor()
+}
+
+func (AranaraCollectionState) Type() protoreflect.EnumType {
+ return &file_AranaraCollectionState_proto_enumTypes[0]
+}
+
+func (x AranaraCollectionState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AranaraCollectionState.Descriptor instead.
+func (AranaraCollectionState) EnumDescriptor() ([]byte, []int) {
+ return file_AranaraCollectionState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AranaraCollectionState_proto protoreflect.FileDescriptor
+
+var file_AranaraCollectionState_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xb4, 0x01, 0x0a, 0x16, 0x41, 0x72, 0x61, 0x6e, 0x61, 0x72,
+ 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x52, 0x41, 0x4e, 0x41, 0x52, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x4c,
+ 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e,
+ 0x45, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x41, 0x52, 0x41, 0x4e, 0x41, 0x52, 0x41, 0x5f, 0x43,
+ 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x26, 0x0a,
+ 0x22, 0x41, 0x52, 0x41, 0x4e, 0x41, 0x52, 0x41, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43,
+ 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x52, 0x41, 0x4e, 0x41, 0x52, 0x41,
+ 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54,
+ 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AranaraCollectionState_proto_rawDescOnce sync.Once
+ file_AranaraCollectionState_proto_rawDescData = file_AranaraCollectionState_proto_rawDesc
+)
+
+func file_AranaraCollectionState_proto_rawDescGZIP() []byte {
+ file_AranaraCollectionState_proto_rawDescOnce.Do(func() {
+ file_AranaraCollectionState_proto_rawDescData = protoimpl.X.CompressGZIP(file_AranaraCollectionState_proto_rawDescData)
+ })
+ return file_AranaraCollectionState_proto_rawDescData
+}
+
+var file_AranaraCollectionState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_AranaraCollectionState_proto_goTypes = []interface{}{
+ (AranaraCollectionState)(0), // 0: proto.AranaraCollectionState
+}
+var file_AranaraCollectionState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AranaraCollectionState_proto_init() }
+func file_AranaraCollectionState_proto_init() {
+ if File_AranaraCollectionState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AranaraCollectionState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AranaraCollectionState_proto_goTypes,
+ DependencyIndexes: file_AranaraCollectionState_proto_depIdxs,
+ EnumInfos: file_AranaraCollectionState_proto_enumTypes,
+ }.Build()
+ File_AranaraCollectionState_proto = out.File
+ file_AranaraCollectionState_proto_rawDesc = nil
+ file_AranaraCollectionState_proto_goTypes = nil
+ file_AranaraCollectionState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AranaraCollectionSuite.pb.go b/protocol/proto/AranaraCollectionSuite.pb.go
new file mode 100644
index 00000000..97200a6a
--- /dev/null
+++ b/protocol/proto/AranaraCollectionSuite.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AranaraCollectionSuite.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AranaraCollectionSuite struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CollectionIdStateMap map[uint32]AranaraCollectionState `protobuf:"bytes,6,rep,name=collection_id_state_map,json=collectionIdStateMap,proto3" json:"collection_id_state_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=proto.AranaraCollectionState"`
+ CollectionType uint32 `protobuf:"varint,12,opt,name=collection_type,json=collectionType,proto3" json:"collection_type,omitempty"`
+}
+
+func (x *AranaraCollectionSuite) Reset() {
+ *x = AranaraCollectionSuite{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AranaraCollectionSuite_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AranaraCollectionSuite) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AranaraCollectionSuite) ProtoMessage() {}
+
+func (x *AranaraCollectionSuite) ProtoReflect() protoreflect.Message {
+ mi := &file_AranaraCollectionSuite_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AranaraCollectionSuite.ProtoReflect.Descriptor instead.
+func (*AranaraCollectionSuite) Descriptor() ([]byte, []int) {
+ return file_AranaraCollectionSuite_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AranaraCollectionSuite) GetCollectionIdStateMap() map[uint32]AranaraCollectionState {
+ if x != nil {
+ return x.CollectionIdStateMap
+ }
+ return nil
+}
+
+func (x *AranaraCollectionSuite) GetCollectionType() uint32 {
+ if x != nil {
+ return x.CollectionType
+ }
+ return 0
+}
+
+var File_AranaraCollectionSuite_proto protoreflect.FileDescriptor
+
+var file_AranaraCollectionSuite_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x69, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x41, 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x02, 0x0a, 0x16, 0x41, 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43,
+ 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x69, 0x74, 0x65, 0x12, 0x6e,
+ 0x0a, 0x17, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x37, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72, 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43,
+ 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x69, 0x74, 0x65, 0x2e, 0x43,
+ 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x27,
+ 0x0a, 0x0f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x66, 0x0a, 0x19, 0x43, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72,
+ 0x61, 0x6e, 0x61, 0x72, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AranaraCollectionSuite_proto_rawDescOnce sync.Once
+ file_AranaraCollectionSuite_proto_rawDescData = file_AranaraCollectionSuite_proto_rawDesc
+)
+
+func file_AranaraCollectionSuite_proto_rawDescGZIP() []byte {
+ file_AranaraCollectionSuite_proto_rawDescOnce.Do(func() {
+ file_AranaraCollectionSuite_proto_rawDescData = protoimpl.X.CompressGZIP(file_AranaraCollectionSuite_proto_rawDescData)
+ })
+ return file_AranaraCollectionSuite_proto_rawDescData
+}
+
+var file_AranaraCollectionSuite_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AranaraCollectionSuite_proto_goTypes = []interface{}{
+ (*AranaraCollectionSuite)(nil), // 0: proto.AranaraCollectionSuite
+ nil, // 1: proto.AranaraCollectionSuite.CollectionIdStateMapEntry
+ (AranaraCollectionState)(0), // 2: proto.AranaraCollectionState
+}
+var file_AranaraCollectionSuite_proto_depIdxs = []int32{
+ 1, // 0: proto.AranaraCollectionSuite.collection_id_state_map:type_name -> proto.AranaraCollectionSuite.CollectionIdStateMapEntry
+ 2, // 1: proto.AranaraCollectionSuite.CollectionIdStateMapEntry.value:type_name -> proto.AranaraCollectionState
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AranaraCollectionSuite_proto_init() }
+func file_AranaraCollectionSuite_proto_init() {
+ if File_AranaraCollectionSuite_proto != nil {
+ return
+ }
+ file_AranaraCollectionState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AranaraCollectionSuite_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AranaraCollectionSuite); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AranaraCollectionSuite_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AranaraCollectionSuite_proto_goTypes,
+ DependencyIndexes: file_AranaraCollectionSuite_proto_depIdxs,
+ MessageInfos: file_AranaraCollectionSuite_proto_msgTypes,
+ }.Build()
+ File_AranaraCollectionSuite_proto = out.File
+ file_AranaraCollectionSuite_proto_rawDesc = nil
+ file_AranaraCollectionSuite_proto_goTypes = nil
+ file_AranaraCollectionSuite_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AreaPlayInfoNotify.pb.go b/protocol/proto/AreaPlayInfoNotify.pb.go
new file mode 100644
index 00000000..12fe44d5
--- /dev/null
+++ b/protocol/proto/AreaPlayInfoNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AreaPlayInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3323
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AreaPlayInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DetailPlayType uint32 `protobuf:"varint,14,opt,name=detail_play_type,json=detailPlayType,proto3" json:"detail_play_type,omitempty"`
+ AreaPlayType AreaPlayType `protobuf:"varint,11,opt,name=area_play_type,json=areaPlayType,proto3,enum=proto.AreaPlayType" json:"area_play_type,omitempty"`
+}
+
+func (x *AreaPlayInfoNotify) Reset() {
+ *x = AreaPlayInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AreaPlayInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AreaPlayInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AreaPlayInfoNotify) ProtoMessage() {}
+
+func (x *AreaPlayInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AreaPlayInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AreaPlayInfoNotify.ProtoReflect.Descriptor instead.
+func (*AreaPlayInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AreaPlayInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AreaPlayInfoNotify) GetDetailPlayType() uint32 {
+ if x != nil {
+ return x.DetailPlayType
+ }
+ return 0
+}
+
+func (x *AreaPlayInfoNotify) GetAreaPlayType() AreaPlayType {
+ if x != nil {
+ return x.AreaPlayType
+ }
+ return AreaPlayType_AREA_PLAY_TYPE_NONE
+}
+
+var File_AreaPlayInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AreaPlayInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x72, 0x65, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x41, 0x72, 0x65, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x12, 0x41, 0x72, 0x65, 0x61, 0x50, 0x6c, 0x61,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x64,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x50, 0x6c, 0x61,
+ 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x70, 0x6c,
+ 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72, 0x65, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x0c, 0x61, 0x72, 0x65, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AreaPlayInfoNotify_proto_rawDescOnce sync.Once
+ file_AreaPlayInfoNotify_proto_rawDescData = file_AreaPlayInfoNotify_proto_rawDesc
+)
+
+func file_AreaPlayInfoNotify_proto_rawDescGZIP() []byte {
+ file_AreaPlayInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AreaPlayInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AreaPlayInfoNotify_proto_rawDescData)
+ })
+ return file_AreaPlayInfoNotify_proto_rawDescData
+}
+
+var file_AreaPlayInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AreaPlayInfoNotify_proto_goTypes = []interface{}{
+ (*AreaPlayInfoNotify)(nil), // 0: proto.AreaPlayInfoNotify
+ (AreaPlayType)(0), // 1: proto.AreaPlayType
+}
+var file_AreaPlayInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AreaPlayInfoNotify.area_play_type:type_name -> proto.AreaPlayType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AreaPlayInfoNotify_proto_init() }
+func file_AreaPlayInfoNotify_proto_init() {
+ if File_AreaPlayInfoNotify_proto != nil {
+ return
+ }
+ file_AreaPlayType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AreaPlayInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AreaPlayInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AreaPlayInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AreaPlayInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AreaPlayInfoNotify_proto_depIdxs,
+ MessageInfos: file_AreaPlayInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AreaPlayInfoNotify_proto = out.File
+ file_AreaPlayInfoNotify_proto_rawDesc = nil
+ file_AreaPlayInfoNotify_proto_goTypes = nil
+ file_AreaPlayInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AreaPlayType.pb.go b/protocol/proto/AreaPlayType.pb.go
new file mode 100644
index 00000000..13b8f2fd
--- /dev/null
+++ b/protocol/proto/AreaPlayType.pb.go
@@ -0,0 +1,150 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AreaPlayType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AreaPlayType int32
+
+const (
+ AreaPlayType_AREA_PLAY_TYPE_NONE AreaPlayType = 0
+ AreaPlayType_AREA_PLAY_TYPE_CLIMATE AreaPlayType = 1
+ AreaPlayType_AREA_PLAY_TYPE_REGIONAL_PLAY AreaPlayType = 2
+)
+
+// Enum value maps for AreaPlayType.
+var (
+ AreaPlayType_name = map[int32]string{
+ 0: "AREA_PLAY_TYPE_NONE",
+ 1: "AREA_PLAY_TYPE_CLIMATE",
+ 2: "AREA_PLAY_TYPE_REGIONAL_PLAY",
+ }
+ AreaPlayType_value = map[string]int32{
+ "AREA_PLAY_TYPE_NONE": 0,
+ "AREA_PLAY_TYPE_CLIMATE": 1,
+ "AREA_PLAY_TYPE_REGIONAL_PLAY": 2,
+ }
+)
+
+func (x AreaPlayType) Enum() *AreaPlayType {
+ p := new(AreaPlayType)
+ *p = x
+ return p
+}
+
+func (x AreaPlayType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AreaPlayType) Descriptor() protoreflect.EnumDescriptor {
+ return file_AreaPlayType_proto_enumTypes[0].Descriptor()
+}
+
+func (AreaPlayType) Type() protoreflect.EnumType {
+ return &file_AreaPlayType_proto_enumTypes[0]
+}
+
+func (x AreaPlayType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AreaPlayType.Descriptor instead.
+func (AreaPlayType) EnumDescriptor() ([]byte, []int) {
+ return file_AreaPlayType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AreaPlayType_proto protoreflect.FileDescriptor
+
+var file_AreaPlayType_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x41, 0x72, 0x65, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x65, 0x0a, 0x0c, 0x41,
+ 0x72, 0x65, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x41,
+ 0x52, 0x45, 0x41, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x50, 0x4c, 0x41,
+ 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x4d, 0x41, 0x54, 0x45, 0x10, 0x01,
+ 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x59,
+ 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AreaPlayType_proto_rawDescOnce sync.Once
+ file_AreaPlayType_proto_rawDescData = file_AreaPlayType_proto_rawDesc
+)
+
+func file_AreaPlayType_proto_rawDescGZIP() []byte {
+ file_AreaPlayType_proto_rawDescOnce.Do(func() {
+ file_AreaPlayType_proto_rawDescData = protoimpl.X.CompressGZIP(file_AreaPlayType_proto_rawDescData)
+ })
+ return file_AreaPlayType_proto_rawDescData
+}
+
+var file_AreaPlayType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_AreaPlayType_proto_goTypes = []interface{}{
+ (AreaPlayType)(0), // 0: proto.AreaPlayType
+}
+var file_AreaPlayType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AreaPlayType_proto_init() }
+func file_AreaPlayType_proto_init() {
+ if File_AreaPlayType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AreaPlayType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AreaPlayType_proto_goTypes,
+ DependencyIndexes: file_AreaPlayType_proto_depIdxs,
+ EnumInfos: file_AreaPlayType_proto_enumTypes,
+ }.Build()
+ File_AreaPlayType_proto = out.File
+ file_AreaPlayType_proto_rawDesc = nil
+ file_AreaPlayType_proto_goTypes = nil
+ file_AreaPlayType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ArenaChallengeActivityDetailInfo.pb.go b/protocol/proto/ArenaChallengeActivityDetailInfo.pb.go
new file mode 100644
index 00000000..8c08104f
--- /dev/null
+++ b/protocol/proto/ArenaChallengeActivityDetailInfo.pb.go
@@ -0,0 +1,210 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ArenaChallengeActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ArenaChallengeActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinishAnyLevel bool `protobuf:"varint,14,opt,name=is_finish_any_level,json=isFinishAnyLevel,proto3" json:"is_finish_any_level,omitempty"`
+ LevelOpenTimeMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=level_open_time_map,json=levelOpenTimeMap,proto3" json:"level_open_time_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ WorldLevel uint32 `protobuf:"varint,15,opt,name=world_level,json=worldLevel,proto3" json:"world_level,omitempty"`
+ LevelList []*ArenaChallengeMonsterLevel `protobuf:"bytes,9,rep,name=level_list,json=levelList,proto3" json:"level_list,omitempty"`
+}
+
+func (x *ArenaChallengeActivityDetailInfo) Reset() {
+ *x = ArenaChallengeActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ArenaChallengeActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArenaChallengeActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArenaChallengeActivityDetailInfo) ProtoMessage() {}
+
+func (x *ArenaChallengeActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ArenaChallengeActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ArenaChallengeActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*ArenaChallengeActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_ArenaChallengeActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ArenaChallengeActivityDetailInfo) GetIsFinishAnyLevel() bool {
+ if x != nil {
+ return x.IsFinishAnyLevel
+ }
+ return false
+}
+
+func (x *ArenaChallengeActivityDetailInfo) GetLevelOpenTimeMap() map[uint32]uint32 {
+ if x != nil {
+ return x.LevelOpenTimeMap
+ }
+ return nil
+}
+
+func (x *ArenaChallengeActivityDetailInfo) GetWorldLevel() uint32 {
+ if x != nil {
+ return x.WorldLevel
+ }
+ return 0
+}
+
+func (x *ArenaChallengeActivityDetailInfo) GetLevelList() []*ArenaChallengeMonsterLevel {
+ if x != nil {
+ return x.LevelList
+ }
+ return nil
+}
+
+var File_ArenaChallengeActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_ArenaChallengeActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x20, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xe7, 0x02, 0x0a, 0x20, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x5f, 0x61, 0x6e, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x41, 0x6e, 0x79,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x6c, 0x0a, 0x13, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6f,
+ 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72, 0x65, 0x6e, 0x61,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x10, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65,
+ 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x09, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x43, 0x0a, 0x15, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f,
+ 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ArenaChallengeActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_ArenaChallengeActivityDetailInfo_proto_rawDescData = file_ArenaChallengeActivityDetailInfo_proto_rawDesc
+)
+
+func file_ArenaChallengeActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_ArenaChallengeActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_ArenaChallengeActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ArenaChallengeActivityDetailInfo_proto_rawDescData)
+ })
+ return file_ArenaChallengeActivityDetailInfo_proto_rawDescData
+}
+
+var file_ArenaChallengeActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ArenaChallengeActivityDetailInfo_proto_goTypes = []interface{}{
+ (*ArenaChallengeActivityDetailInfo)(nil), // 0: proto.ArenaChallengeActivityDetailInfo
+ nil, // 1: proto.ArenaChallengeActivityDetailInfo.LevelOpenTimeMapEntry
+ (*ArenaChallengeMonsterLevel)(nil), // 2: proto.ArenaChallengeMonsterLevel
+}
+var file_ArenaChallengeActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ArenaChallengeActivityDetailInfo.level_open_time_map:type_name -> proto.ArenaChallengeActivityDetailInfo.LevelOpenTimeMapEntry
+ 2, // 1: proto.ArenaChallengeActivityDetailInfo.level_list:type_name -> proto.ArenaChallengeMonsterLevel
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ArenaChallengeActivityDetailInfo_proto_init() }
+func file_ArenaChallengeActivityDetailInfo_proto_init() {
+ if File_ArenaChallengeActivityDetailInfo_proto != nil {
+ return
+ }
+ file_ArenaChallengeMonsterLevel_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ArenaChallengeActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArenaChallengeActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ArenaChallengeActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ArenaChallengeActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_ArenaChallengeActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_ArenaChallengeActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_ArenaChallengeActivityDetailInfo_proto = out.File
+ file_ArenaChallengeActivityDetailInfo_proto_rawDesc = nil
+ file_ArenaChallengeActivityDetailInfo_proto_goTypes = nil
+ file_ArenaChallengeActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ArenaChallengeChildChallengeInfo.pb.go b/protocol/proto/ArenaChallengeChildChallengeInfo.pb.go
new file mode 100644
index 00000000..4412df6a
--- /dev/null
+++ b/protocol/proto/ArenaChallengeChildChallengeInfo.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ArenaChallengeChildChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ArenaChallengeChildChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeId uint32 `protobuf:"varint,12,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ ChallengeType uint32 `protobuf:"varint,5,opt,name=challenge_type,json=challengeType,proto3" json:"challenge_type,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,4,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ IsSuccess bool `protobuf:"varint,7,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ IsSettled bool `protobuf:"varint,11,opt,name=is_settled,json=isSettled,proto3" json:"is_settled,omitempty"`
+}
+
+func (x *ArenaChallengeChildChallengeInfo) Reset() {
+ *x = ArenaChallengeChildChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ArenaChallengeChildChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArenaChallengeChildChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArenaChallengeChildChallengeInfo) ProtoMessage() {}
+
+func (x *ArenaChallengeChildChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ArenaChallengeChildChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ArenaChallengeChildChallengeInfo.ProtoReflect.Descriptor instead.
+func (*ArenaChallengeChildChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_ArenaChallengeChildChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ArenaChallengeChildChallengeInfo) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *ArenaChallengeChildChallengeInfo) GetChallengeType() uint32 {
+ if x != nil {
+ return x.ChallengeType
+ }
+ return 0
+}
+
+func (x *ArenaChallengeChildChallengeInfo) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (x *ArenaChallengeChildChallengeInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *ArenaChallengeChildChallengeInfo) GetIsSettled() bool {
+ if x != nil {
+ return x.IsSettled
+ }
+ return false
+}
+
+var File_ArenaChallengeChildChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_ArenaChallengeChildChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xd3, 0x01, 0x0a, 0x20, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27,
+ 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53,
+ 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ArenaChallengeChildChallengeInfo_proto_rawDescOnce sync.Once
+ file_ArenaChallengeChildChallengeInfo_proto_rawDescData = file_ArenaChallengeChildChallengeInfo_proto_rawDesc
+)
+
+func file_ArenaChallengeChildChallengeInfo_proto_rawDescGZIP() []byte {
+ file_ArenaChallengeChildChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_ArenaChallengeChildChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ArenaChallengeChildChallengeInfo_proto_rawDescData)
+ })
+ return file_ArenaChallengeChildChallengeInfo_proto_rawDescData
+}
+
+var file_ArenaChallengeChildChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ArenaChallengeChildChallengeInfo_proto_goTypes = []interface{}{
+ (*ArenaChallengeChildChallengeInfo)(nil), // 0: proto.ArenaChallengeChildChallengeInfo
+}
+var file_ArenaChallengeChildChallengeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ArenaChallengeChildChallengeInfo_proto_init() }
+func file_ArenaChallengeChildChallengeInfo_proto_init() {
+ if File_ArenaChallengeChildChallengeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ArenaChallengeChildChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArenaChallengeChildChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ArenaChallengeChildChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ArenaChallengeChildChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_ArenaChallengeChildChallengeInfo_proto_depIdxs,
+ MessageInfos: file_ArenaChallengeChildChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_ArenaChallengeChildChallengeInfo_proto = out.File
+ file_ArenaChallengeChildChallengeInfo_proto_rawDesc = nil
+ file_ArenaChallengeChildChallengeInfo_proto_goTypes = nil
+ file_ArenaChallengeChildChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ArenaChallengeFinishNotify.pb.go b/protocol/proto/ArenaChallengeFinishNotify.pb.go
new file mode 100644
index 00000000..973f4288
--- /dev/null
+++ b/protocol/proto/ArenaChallengeFinishNotify.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ArenaChallengeFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2030
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ArenaChallengeFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArenaChallengeLevel uint32 `protobuf:"varint,13,opt,name=arena_challenge_level,json=arenaChallengeLevel,proto3" json:"arena_challenge_level,omitempty"`
+ ArenaChallengeId uint32 `protobuf:"varint,3,opt,name=arena_challenge_id,json=arenaChallengeId,proto3" json:"arena_challenge_id,omitempty"`
+ ChildChallengeList []*ArenaChallengeChildChallengeInfo `protobuf:"bytes,2,rep,name=child_challenge_list,json=childChallengeList,proto3" json:"child_challenge_list,omitempty"`
+ IsSuccess bool `protobuf:"varint,12,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *ArenaChallengeFinishNotify) Reset() {
+ *x = ArenaChallengeFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ArenaChallengeFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArenaChallengeFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArenaChallengeFinishNotify) ProtoMessage() {}
+
+func (x *ArenaChallengeFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ArenaChallengeFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ArenaChallengeFinishNotify.ProtoReflect.Descriptor instead.
+func (*ArenaChallengeFinishNotify) Descriptor() ([]byte, []int) {
+ return file_ArenaChallengeFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ArenaChallengeFinishNotify) GetArenaChallengeLevel() uint32 {
+ if x != nil {
+ return x.ArenaChallengeLevel
+ }
+ return 0
+}
+
+func (x *ArenaChallengeFinishNotify) GetArenaChallengeId() uint32 {
+ if x != nil {
+ return x.ArenaChallengeId
+ }
+ return 0
+}
+
+func (x *ArenaChallengeFinishNotify) GetChildChallengeList() []*ArenaChallengeChildChallengeInfo {
+ if x != nil {
+ return x.ChildChallengeList
+ }
+ return nil
+}
+
+func (x *ArenaChallengeFinishNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_ArenaChallengeFinishNotify_proto protoreflect.FileDescriptor
+
+var file_ArenaChallengeFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x41, 0x72, 0x65, 0x6e, 0x61,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xf8, 0x01, 0x0a, 0x1a, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x32, 0x0a, 0x15, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x13, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x5f, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x10, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x64, 0x12, 0x59, 0x0a, 0x14, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ArenaChallengeFinishNotify_proto_rawDescOnce sync.Once
+ file_ArenaChallengeFinishNotify_proto_rawDescData = file_ArenaChallengeFinishNotify_proto_rawDesc
+)
+
+func file_ArenaChallengeFinishNotify_proto_rawDescGZIP() []byte {
+ file_ArenaChallengeFinishNotify_proto_rawDescOnce.Do(func() {
+ file_ArenaChallengeFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ArenaChallengeFinishNotify_proto_rawDescData)
+ })
+ return file_ArenaChallengeFinishNotify_proto_rawDescData
+}
+
+var file_ArenaChallengeFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ArenaChallengeFinishNotify_proto_goTypes = []interface{}{
+ (*ArenaChallengeFinishNotify)(nil), // 0: proto.ArenaChallengeFinishNotify
+ (*ArenaChallengeChildChallengeInfo)(nil), // 1: proto.ArenaChallengeChildChallengeInfo
+}
+var file_ArenaChallengeFinishNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ArenaChallengeFinishNotify.child_challenge_list:type_name -> proto.ArenaChallengeChildChallengeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ArenaChallengeFinishNotify_proto_init() }
+func file_ArenaChallengeFinishNotify_proto_init() {
+ if File_ArenaChallengeFinishNotify_proto != nil {
+ return
+ }
+ file_ArenaChallengeChildChallengeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ArenaChallengeFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArenaChallengeFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ArenaChallengeFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ArenaChallengeFinishNotify_proto_goTypes,
+ DependencyIndexes: file_ArenaChallengeFinishNotify_proto_depIdxs,
+ MessageInfos: file_ArenaChallengeFinishNotify_proto_msgTypes,
+ }.Build()
+ File_ArenaChallengeFinishNotify_proto = out.File
+ file_ArenaChallengeFinishNotify_proto_rawDesc = nil
+ file_ArenaChallengeFinishNotify_proto_goTypes = nil
+ file_ArenaChallengeFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ArenaChallengeMonsterLevel.pb.go b/protocol/proto/ArenaChallengeMonsterLevel.pb.go
new file mode 100644
index 00000000..4501ab48
--- /dev/null
+++ b/protocol/proto/ArenaChallengeMonsterLevel.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ArenaChallengeMonsterLevel.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ArenaChallengeMonsterLevel struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArenaChallengeLevel uint32 `protobuf:"varint,7,opt,name=arena_challenge_level,json=arenaChallengeLevel,proto3" json:"arena_challenge_level,omitempty"`
+ ArenaChallengeId uint32 `protobuf:"varint,15,opt,name=arena_challenge_id,json=arenaChallengeId,proto3" json:"arena_challenge_id,omitempty"`
+}
+
+func (x *ArenaChallengeMonsterLevel) Reset() {
+ *x = ArenaChallengeMonsterLevel{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ArenaChallengeMonsterLevel_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ArenaChallengeMonsterLevel) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ArenaChallengeMonsterLevel) ProtoMessage() {}
+
+func (x *ArenaChallengeMonsterLevel) ProtoReflect() protoreflect.Message {
+ mi := &file_ArenaChallengeMonsterLevel_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ArenaChallengeMonsterLevel.ProtoReflect.Descriptor instead.
+func (*ArenaChallengeMonsterLevel) Descriptor() ([]byte, []int) {
+ return file_ArenaChallengeMonsterLevel_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ArenaChallengeMonsterLevel) GetArenaChallengeLevel() uint32 {
+ if x != nil {
+ return x.ArenaChallengeLevel
+ }
+ return 0
+}
+
+func (x *ArenaChallengeMonsterLevel) GetArenaChallengeId() uint32 {
+ if x != nil {
+ return x.ArenaChallengeId
+ }
+ return 0
+}
+
+var File_ArenaChallengeMonsterLevel_proto protoreflect.FileDescriptor
+
+var file_ArenaChallengeMonsterLevel_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x1a, 0x41, 0x72, 0x65,
+ 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x72, 0x65, 0x6e, 0x61,
+ 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x61,
+ 0x72, 0x65, 0x6e, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ArenaChallengeMonsterLevel_proto_rawDescOnce sync.Once
+ file_ArenaChallengeMonsterLevel_proto_rawDescData = file_ArenaChallengeMonsterLevel_proto_rawDesc
+)
+
+func file_ArenaChallengeMonsterLevel_proto_rawDescGZIP() []byte {
+ file_ArenaChallengeMonsterLevel_proto_rawDescOnce.Do(func() {
+ file_ArenaChallengeMonsterLevel_proto_rawDescData = protoimpl.X.CompressGZIP(file_ArenaChallengeMonsterLevel_proto_rawDescData)
+ })
+ return file_ArenaChallengeMonsterLevel_proto_rawDescData
+}
+
+var file_ArenaChallengeMonsterLevel_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ArenaChallengeMonsterLevel_proto_goTypes = []interface{}{
+ (*ArenaChallengeMonsterLevel)(nil), // 0: proto.ArenaChallengeMonsterLevel
+}
+var file_ArenaChallengeMonsterLevel_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ArenaChallengeMonsterLevel_proto_init() }
+func file_ArenaChallengeMonsterLevel_proto_init() {
+ if File_ArenaChallengeMonsterLevel_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ArenaChallengeMonsterLevel_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ArenaChallengeMonsterLevel); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ArenaChallengeMonsterLevel_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ArenaChallengeMonsterLevel_proto_goTypes,
+ DependencyIndexes: file_ArenaChallengeMonsterLevel_proto_depIdxs,
+ MessageInfos: file_ArenaChallengeMonsterLevel_proto_msgTypes,
+ }.Build()
+ File_ArenaChallengeMonsterLevel_proto = out.File
+ file_ArenaChallengeMonsterLevel_proto_rawDesc = nil
+ file_ArenaChallengeMonsterLevel_proto_goTypes = nil
+ file_ArenaChallengeMonsterLevel_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AskAddFriendNotify.pb.go b/protocol/proto/AskAddFriendNotify.pb.go
new file mode 100644
index 00000000..8b9659ff
--- /dev/null
+++ b/protocol/proto/AskAddFriendNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AskAddFriendNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4065
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AskAddFriendNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetFriendBrief *FriendBrief `protobuf:"bytes,15,opt,name=target_friend_brief,json=targetFriendBrief,proto3" json:"target_friend_brief,omitempty"`
+ TargetUid uint32 `protobuf:"varint,9,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *AskAddFriendNotify) Reset() {
+ *x = AskAddFriendNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AskAddFriendNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AskAddFriendNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AskAddFriendNotify) ProtoMessage() {}
+
+func (x *AskAddFriendNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AskAddFriendNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AskAddFriendNotify.ProtoReflect.Descriptor instead.
+func (*AskAddFriendNotify) Descriptor() ([]byte, []int) {
+ return file_AskAddFriendNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AskAddFriendNotify) GetTargetFriendBrief() *FriendBrief {
+ if x != nil {
+ return x.TargetFriendBrief
+ }
+ return nil
+}
+
+func (x *AskAddFriendNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_AskAddFriendNotify_proto protoreflect.FileDescriptor
+
+var file_AskAddFriendNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x73, 0x6b, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x12, 0x41, 0x73, 0x6b, 0x41, 0x64, 0x64, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x42, 0x0a, 0x13, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x72, 0x69, 0x65,
+ 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x11, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AskAddFriendNotify_proto_rawDescOnce sync.Once
+ file_AskAddFriendNotify_proto_rawDescData = file_AskAddFriendNotify_proto_rawDesc
+)
+
+func file_AskAddFriendNotify_proto_rawDescGZIP() []byte {
+ file_AskAddFriendNotify_proto_rawDescOnce.Do(func() {
+ file_AskAddFriendNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AskAddFriendNotify_proto_rawDescData)
+ })
+ return file_AskAddFriendNotify_proto_rawDescData
+}
+
+var file_AskAddFriendNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AskAddFriendNotify_proto_goTypes = []interface{}{
+ (*AskAddFriendNotify)(nil), // 0: proto.AskAddFriendNotify
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_AskAddFriendNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AskAddFriendNotify.target_friend_brief:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AskAddFriendNotify_proto_init() }
+func file_AskAddFriendNotify_proto_init() {
+ if File_AskAddFriendNotify_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AskAddFriendNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AskAddFriendNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AskAddFriendNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AskAddFriendNotify_proto_goTypes,
+ DependencyIndexes: file_AskAddFriendNotify_proto_depIdxs,
+ MessageInfos: file_AskAddFriendNotify_proto_msgTypes,
+ }.Build()
+ File_AskAddFriendNotify_proto = out.File
+ file_AskAddFriendNotify_proto_rawDesc = nil
+ file_AskAddFriendNotify_proto_goTypes = nil
+ file_AskAddFriendNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AskAddFriendReq.pb.go b/protocol/proto/AskAddFriendReq.pb.go
new file mode 100644
index 00000000..7665b7b9
--- /dev/null
+++ b/protocol/proto/AskAddFriendReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AskAddFriendReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4007
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AskAddFriendReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,7,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *AskAddFriendReq) Reset() {
+ *x = AskAddFriendReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AskAddFriendReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AskAddFriendReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AskAddFriendReq) ProtoMessage() {}
+
+func (x *AskAddFriendReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AskAddFriendReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AskAddFriendReq.ProtoReflect.Descriptor instead.
+func (*AskAddFriendReq) Descriptor() ([]byte, []int) {
+ return file_AskAddFriendReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AskAddFriendReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_AskAddFriendReq_proto protoreflect.FileDescriptor
+
+var file_AskAddFriendReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x73, 0x6b, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30,
+ 0x0a, 0x0f, 0x41, 0x73, 0x6b, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AskAddFriendReq_proto_rawDescOnce sync.Once
+ file_AskAddFriendReq_proto_rawDescData = file_AskAddFriendReq_proto_rawDesc
+)
+
+func file_AskAddFriendReq_proto_rawDescGZIP() []byte {
+ file_AskAddFriendReq_proto_rawDescOnce.Do(func() {
+ file_AskAddFriendReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AskAddFriendReq_proto_rawDescData)
+ })
+ return file_AskAddFriendReq_proto_rawDescData
+}
+
+var file_AskAddFriendReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AskAddFriendReq_proto_goTypes = []interface{}{
+ (*AskAddFriendReq)(nil), // 0: proto.AskAddFriendReq
+}
+var file_AskAddFriendReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AskAddFriendReq_proto_init() }
+func file_AskAddFriendReq_proto_init() {
+ if File_AskAddFriendReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AskAddFriendReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AskAddFriendReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AskAddFriendReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AskAddFriendReq_proto_goTypes,
+ DependencyIndexes: file_AskAddFriendReq_proto_depIdxs,
+ MessageInfos: file_AskAddFriendReq_proto_msgTypes,
+ }.Build()
+ File_AskAddFriendReq_proto = out.File
+ file_AskAddFriendReq_proto_rawDesc = nil
+ file_AskAddFriendReq_proto_goTypes = nil
+ file_AskAddFriendReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AskAddFriendRsp.pb.go b/protocol/proto/AskAddFriendRsp.pb.go
new file mode 100644
index 00000000..6d4b1db8
--- /dev/null
+++ b/protocol/proto/AskAddFriendRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AskAddFriendRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4021
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AskAddFriendRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param uint32 `protobuf:"varint,8,opt,name=param,proto3" json:"param,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetUid uint32 `protobuf:"varint,4,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *AskAddFriendRsp) Reset() {
+ *x = AskAddFriendRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AskAddFriendRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AskAddFriendRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AskAddFriendRsp) ProtoMessage() {}
+
+func (x *AskAddFriendRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AskAddFriendRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AskAddFriendRsp.ProtoReflect.Descriptor instead.
+func (*AskAddFriendRsp) Descriptor() ([]byte, []int) {
+ return file_AskAddFriendRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AskAddFriendRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *AskAddFriendRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AskAddFriendRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_AskAddFriendRsp_proto protoreflect.FileDescriptor
+
+var file_AskAddFriendRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x73, 0x6b, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60,
+ 0x0a, 0x0f, 0x41, 0x73, 0x6b, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x73,
+ 0x70, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AskAddFriendRsp_proto_rawDescOnce sync.Once
+ file_AskAddFriendRsp_proto_rawDescData = file_AskAddFriendRsp_proto_rawDesc
+)
+
+func file_AskAddFriendRsp_proto_rawDescGZIP() []byte {
+ file_AskAddFriendRsp_proto_rawDescOnce.Do(func() {
+ file_AskAddFriendRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AskAddFriendRsp_proto_rawDescData)
+ })
+ return file_AskAddFriendRsp_proto_rawDescData
+}
+
+var file_AskAddFriendRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AskAddFriendRsp_proto_goTypes = []interface{}{
+ (*AskAddFriendRsp)(nil), // 0: proto.AskAddFriendRsp
+}
+var file_AskAddFriendRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AskAddFriendRsp_proto_init() }
+func file_AskAddFriendRsp_proto_init() {
+ if File_AskAddFriendRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AskAddFriendRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AskAddFriendRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AskAddFriendRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AskAddFriendRsp_proto_goTypes,
+ DependencyIndexes: file_AskAddFriendRsp_proto_depIdxs,
+ MessageInfos: file_AskAddFriendRsp_proto_msgTypes,
+ }.Build()
+ File_AskAddFriendRsp_proto = out.File
+ file_AskAddFriendRsp_proto_rawDesc = nil
+ file_AskAddFriendRsp_proto_goTypes = nil
+ file_AskAddFriendRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AssociateInferenceWordReq.pb.go b/protocol/proto/AssociateInferenceWordReq.pb.go
new file mode 100644
index 00000000..93a35a4a
--- /dev/null
+++ b/protocol/proto/AssociateInferenceWordReq.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AssociateInferenceWordReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 429
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AssociateInferenceWordReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BaseWordId uint32 `protobuf:"varint,7,opt,name=base_word_id,json=baseWordId,proto3" json:"base_word_id,omitempty"`
+ PageId uint32 `protobuf:"varint,11,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
+ AssociateWordId uint32 `protobuf:"varint,2,opt,name=associate_word_id,json=associateWordId,proto3" json:"associate_word_id,omitempty"`
+}
+
+func (x *AssociateInferenceWordReq) Reset() {
+ *x = AssociateInferenceWordReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AssociateInferenceWordReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AssociateInferenceWordReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AssociateInferenceWordReq) ProtoMessage() {}
+
+func (x *AssociateInferenceWordReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AssociateInferenceWordReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AssociateInferenceWordReq.ProtoReflect.Descriptor instead.
+func (*AssociateInferenceWordReq) Descriptor() ([]byte, []int) {
+ return file_AssociateInferenceWordReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AssociateInferenceWordReq) GetBaseWordId() uint32 {
+ if x != nil {
+ return x.BaseWordId
+ }
+ return 0
+}
+
+func (x *AssociateInferenceWordReq) GetPageId() uint32 {
+ if x != nil {
+ return x.PageId
+ }
+ return 0
+}
+
+func (x *AssociateInferenceWordReq) GetAssociateWordId() uint32 {
+ if x != nil {
+ return x.AssociateWordId
+ }
+ return 0
+}
+
+var File_AssociateInferenceWordReq_proto protoreflect.FileDescriptor
+
+var file_AssociateInferenceWordReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72,
+ 0x65, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01, 0x0a, 0x19, 0x41, 0x73, 0x73,
+ 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x57,
+ 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x77,
+ 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x61,
+ 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65, 0x49,
+ 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x77,
+ 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x73,
+ 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AssociateInferenceWordReq_proto_rawDescOnce sync.Once
+ file_AssociateInferenceWordReq_proto_rawDescData = file_AssociateInferenceWordReq_proto_rawDesc
+)
+
+func file_AssociateInferenceWordReq_proto_rawDescGZIP() []byte {
+ file_AssociateInferenceWordReq_proto_rawDescOnce.Do(func() {
+ file_AssociateInferenceWordReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AssociateInferenceWordReq_proto_rawDescData)
+ })
+ return file_AssociateInferenceWordReq_proto_rawDescData
+}
+
+var file_AssociateInferenceWordReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AssociateInferenceWordReq_proto_goTypes = []interface{}{
+ (*AssociateInferenceWordReq)(nil), // 0: proto.AssociateInferenceWordReq
+}
+var file_AssociateInferenceWordReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AssociateInferenceWordReq_proto_init() }
+func file_AssociateInferenceWordReq_proto_init() {
+ if File_AssociateInferenceWordReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AssociateInferenceWordReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AssociateInferenceWordReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AssociateInferenceWordReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AssociateInferenceWordReq_proto_goTypes,
+ DependencyIndexes: file_AssociateInferenceWordReq_proto_depIdxs,
+ MessageInfos: file_AssociateInferenceWordReq_proto_msgTypes,
+ }.Build()
+ File_AssociateInferenceWordReq_proto = out.File
+ file_AssociateInferenceWordReq_proto_rawDesc = nil
+ file_AssociateInferenceWordReq_proto_goTypes = nil
+ file_AssociateInferenceWordReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AssociateInferenceWordRsp.pb.go b/protocol/proto/AssociateInferenceWordRsp.pb.go
new file mode 100644
index 00000000..4a7784a6
--- /dev/null
+++ b/protocol/proto/AssociateInferenceWordRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AssociateInferenceWordRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 457
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AssociateInferenceWordRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ BaseWordId uint32 `protobuf:"varint,14,opt,name=base_word_id,json=baseWordId,proto3" json:"base_word_id,omitempty"`
+ AssociateWordId uint32 `protobuf:"varint,13,opt,name=associate_word_id,json=associateWordId,proto3" json:"associate_word_id,omitempty"`
+ PageId uint32 `protobuf:"varint,1,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
+}
+
+func (x *AssociateInferenceWordRsp) Reset() {
+ *x = AssociateInferenceWordRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AssociateInferenceWordRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AssociateInferenceWordRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AssociateInferenceWordRsp) ProtoMessage() {}
+
+func (x *AssociateInferenceWordRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AssociateInferenceWordRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AssociateInferenceWordRsp.ProtoReflect.Descriptor instead.
+func (*AssociateInferenceWordRsp) Descriptor() ([]byte, []int) {
+ return file_AssociateInferenceWordRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AssociateInferenceWordRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AssociateInferenceWordRsp) GetBaseWordId() uint32 {
+ if x != nil {
+ return x.BaseWordId
+ }
+ return 0
+}
+
+func (x *AssociateInferenceWordRsp) GetAssociateWordId() uint32 {
+ if x != nil {
+ return x.AssociateWordId
+ }
+ return 0
+}
+
+func (x *AssociateInferenceWordRsp) GetPageId() uint32 {
+ if x != nil {
+ return x.PageId
+ }
+ return 0
+}
+
+var File_AssociateInferenceWordRsp_proto protoreflect.FileDescriptor
+
+var file_AssociateInferenceWordRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72,
+ 0x65, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x19, 0x41, 0x73, 0x73,
+ 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x57,
+ 0x6f, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x57, 0x6f, 0x72, 0x64,
+ 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x5f,
+ 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61,
+ 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AssociateInferenceWordRsp_proto_rawDescOnce sync.Once
+ file_AssociateInferenceWordRsp_proto_rawDescData = file_AssociateInferenceWordRsp_proto_rawDesc
+)
+
+func file_AssociateInferenceWordRsp_proto_rawDescGZIP() []byte {
+ file_AssociateInferenceWordRsp_proto_rawDescOnce.Do(func() {
+ file_AssociateInferenceWordRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AssociateInferenceWordRsp_proto_rawDescData)
+ })
+ return file_AssociateInferenceWordRsp_proto_rawDescData
+}
+
+var file_AssociateInferenceWordRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AssociateInferenceWordRsp_proto_goTypes = []interface{}{
+ (*AssociateInferenceWordRsp)(nil), // 0: proto.AssociateInferenceWordRsp
+}
+var file_AssociateInferenceWordRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AssociateInferenceWordRsp_proto_init() }
+func file_AssociateInferenceWordRsp_proto_init() {
+ if File_AssociateInferenceWordRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AssociateInferenceWordRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AssociateInferenceWordRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AssociateInferenceWordRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AssociateInferenceWordRsp_proto_goTypes,
+ DependencyIndexes: file_AssociateInferenceWordRsp_proto_depIdxs,
+ MessageInfos: file_AssociateInferenceWordRsp_proto_msgTypes,
+ }.Build()
+ File_AssociateInferenceWordRsp_proto = out.File
+ file_AssociateInferenceWordRsp_proto_rawDesc = nil
+ file_AssociateInferenceWordRsp_proto_goTypes = nil
+ file_AssociateInferenceWordRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterActivityDetailInfo.pb.go b/protocol/proto/AsterActivityDetailInfo.pb.go
new file mode 100644
index 00000000..bcd26431
--- /dev/null
+++ b/protocol/proto/AsterActivityDetailInfo.pb.go
@@ -0,0 +1,270 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AsterActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AsterLittle *AsterLittleDetailInfo `protobuf:"bytes,7,opt,name=aster_little,json=asterLittle,proto3" json:"aster_little,omitempty"`
+ AsterCredit uint32 `protobuf:"varint,14,opt,name=aster_credit,json=asterCredit,proto3" json:"aster_credit,omitempty"`
+ AsterLarge *AsterLargeDetailInfo `protobuf:"bytes,9,opt,name=aster_large,json=asterLarge,proto3" json:"aster_large,omitempty"`
+ IsSpecialRewardTaken bool `protobuf:"varint,1,opt,name=is_special_reward_taken,json=isSpecialRewardTaken,proto3" json:"is_special_reward_taken,omitempty"`
+ IsContentClosed bool `protobuf:"varint,13,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,8,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ AsterToken uint32 `protobuf:"varint,5,opt,name=aster_token,json=asterToken,proto3" json:"aster_token,omitempty"`
+ AsterMid *AsterMidDetailInfo `protobuf:"bytes,6,opt,name=aster_mid,json=asterMid,proto3" json:"aster_mid,omitempty"`
+ AsterProgress *AsterProgressDetailInfo `protobuf:"bytes,2,opt,name=aster_progress,json=asterProgress,proto3" json:"aster_progress,omitempty"`
+}
+
+func (x *AsterActivityDetailInfo) Reset() {
+ *x = AsterActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterActivityDetailInfo) ProtoMessage() {}
+
+func (x *AsterActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*AsterActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_AsterActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterActivityDetailInfo) GetAsterLittle() *AsterLittleDetailInfo {
+ if x != nil {
+ return x.AsterLittle
+ }
+ return nil
+}
+
+func (x *AsterActivityDetailInfo) GetAsterCredit() uint32 {
+ if x != nil {
+ return x.AsterCredit
+ }
+ return 0
+}
+
+func (x *AsterActivityDetailInfo) GetAsterLarge() *AsterLargeDetailInfo {
+ if x != nil {
+ return x.AsterLarge
+ }
+ return nil
+}
+
+func (x *AsterActivityDetailInfo) GetIsSpecialRewardTaken() bool {
+ if x != nil {
+ return x.IsSpecialRewardTaken
+ }
+ return false
+}
+
+func (x *AsterActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *AsterActivityDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *AsterActivityDetailInfo) GetAsterToken() uint32 {
+ if x != nil {
+ return x.AsterToken
+ }
+ return 0
+}
+
+func (x *AsterActivityDetailInfo) GetAsterMid() *AsterMidDetailInfo {
+ if x != nil {
+ return x.AsterMid
+ }
+ return nil
+}
+
+func (x *AsterActivityDetailInfo) GetAsterProgress() *AsterProgressDetailInfo {
+ if x != nil {
+ return x.AsterProgress
+ }
+ return nil
+}
+
+var File_AsterActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_AsterActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x73, 0x74, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x72,
+ 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x18, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41, 0x73, 0x74, 0x65, 0x72,
+ 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x03, 0x0a, 0x17, 0x41, 0x73, 0x74,
+ 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x0c, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69,
+ 0x74, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4c,
+ 0x69, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63,
+ 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x73, 0x74,
+ 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x3c, 0x0a, 0x0b, 0x61, 0x73, 0x74, 0x65,
+ 0x72, 0x5f, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x61, 0x73, 0x74, 0x65,
+ 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x73, 0x70, 0x65,
+ 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x6b, 0x65,
+ 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69,
+ 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x2a, 0x0a,
+ 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73,
+ 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c,
+ 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x73,
+ 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x73, 0x74, 0x65,
+ 0x72, 0x5f, 0x6d, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64,
+ 0x12, 0x45, 0x0a, 0x0e, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x50,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_AsterActivityDetailInfo_proto_rawDescData = file_AsterActivityDetailInfo_proto_rawDesc
+)
+
+func file_AsterActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_AsterActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_AsterActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterActivityDetailInfo_proto_rawDescData)
+ })
+ return file_AsterActivityDetailInfo_proto_rawDescData
+}
+
+var file_AsterActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterActivityDetailInfo_proto_goTypes = []interface{}{
+ (*AsterActivityDetailInfo)(nil), // 0: proto.AsterActivityDetailInfo
+ (*AsterLittleDetailInfo)(nil), // 1: proto.AsterLittleDetailInfo
+ (*AsterLargeDetailInfo)(nil), // 2: proto.AsterLargeDetailInfo
+ (*AsterMidDetailInfo)(nil), // 3: proto.AsterMidDetailInfo
+ (*AsterProgressDetailInfo)(nil), // 4: proto.AsterProgressDetailInfo
+}
+var file_AsterActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterActivityDetailInfo.aster_little:type_name -> proto.AsterLittleDetailInfo
+ 2, // 1: proto.AsterActivityDetailInfo.aster_large:type_name -> proto.AsterLargeDetailInfo
+ 3, // 2: proto.AsterActivityDetailInfo.aster_mid:type_name -> proto.AsterMidDetailInfo
+ 4, // 3: proto.AsterActivityDetailInfo.aster_progress:type_name -> proto.AsterProgressDetailInfo
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_AsterActivityDetailInfo_proto_init() }
+func file_AsterActivityDetailInfo_proto_init() {
+ if File_AsterActivityDetailInfo_proto != nil {
+ return
+ }
+ file_AsterLargeDetailInfo_proto_init()
+ file_AsterLittleDetailInfo_proto_init()
+ file_AsterMidDetailInfo_proto_init()
+ file_AsterProgressDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_AsterActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_AsterActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_AsterActivityDetailInfo_proto = out.File
+ file_AsterActivityDetailInfo_proto_rawDesc = nil
+ file_AsterActivityDetailInfo_proto_goTypes = nil
+ file_AsterActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterLargeDetailInfo.pb.go b/protocol/proto/AsterLargeDetailInfo.pb.go
new file mode 100644
index 00000000..cd7b2b7d
--- /dev/null
+++ b/protocol/proto/AsterLargeDetailInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterLargeDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AsterLargeDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,3,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ BeginTime uint32 `protobuf:"varint,13,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+}
+
+func (x *AsterLargeDetailInfo) Reset() {
+ *x = AsterLargeDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterLargeDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterLargeDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterLargeDetailInfo) ProtoMessage() {}
+
+func (x *AsterLargeDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterLargeDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterLargeDetailInfo.ProtoReflect.Descriptor instead.
+func (*AsterLargeDetailInfo) Descriptor() ([]byte, []int) {
+ return file_AsterLargeDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterLargeDetailInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *AsterLargeDetailInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+var File_AsterLargeDetailInfo_proto protoreflect.FileDescriptor
+
+var file_AsterLargeDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x14, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67,
+ 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69,
+ 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73,
+ 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54,
+ 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterLargeDetailInfo_proto_rawDescOnce sync.Once
+ file_AsterLargeDetailInfo_proto_rawDescData = file_AsterLargeDetailInfo_proto_rawDesc
+)
+
+func file_AsterLargeDetailInfo_proto_rawDescGZIP() []byte {
+ file_AsterLargeDetailInfo_proto_rawDescOnce.Do(func() {
+ file_AsterLargeDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterLargeDetailInfo_proto_rawDescData)
+ })
+ return file_AsterLargeDetailInfo_proto_rawDescData
+}
+
+var file_AsterLargeDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterLargeDetailInfo_proto_goTypes = []interface{}{
+ (*AsterLargeDetailInfo)(nil), // 0: proto.AsterLargeDetailInfo
+}
+var file_AsterLargeDetailInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AsterLargeDetailInfo_proto_init() }
+func file_AsterLargeDetailInfo_proto_init() {
+ if File_AsterLargeDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AsterLargeDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterLargeDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterLargeDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterLargeDetailInfo_proto_goTypes,
+ DependencyIndexes: file_AsterLargeDetailInfo_proto_depIdxs,
+ MessageInfos: file_AsterLargeDetailInfo_proto_msgTypes,
+ }.Build()
+ File_AsterLargeDetailInfo_proto = out.File
+ file_AsterLargeDetailInfo_proto_rawDesc = nil
+ file_AsterLargeDetailInfo_proto_goTypes = nil
+ file_AsterLargeDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterLargeInfoNotify.pb.go b/protocol/proto/AsterLargeInfoNotify.pb.go
new file mode 100644
index 00000000..1dbc07ad
--- /dev/null
+++ b/protocol/proto/AsterLargeInfoNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterLargeInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2146
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AsterLargeInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *AsterLargeDetailInfo `protobuf:"bytes,10,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *AsterLargeInfoNotify) Reset() {
+ *x = AsterLargeInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterLargeInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterLargeInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterLargeInfoNotify) ProtoMessage() {}
+
+func (x *AsterLargeInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterLargeInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterLargeInfoNotify.ProtoReflect.Descriptor instead.
+func (*AsterLargeInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AsterLargeInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterLargeInfoNotify) GetInfo() *AsterLargeDetailInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_AsterLargeInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AsterLargeInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x47, 0x0a, 0x14, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x73,
+ 0x74, 0x65, 0x72, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterLargeInfoNotify_proto_rawDescOnce sync.Once
+ file_AsterLargeInfoNotify_proto_rawDescData = file_AsterLargeInfoNotify_proto_rawDesc
+)
+
+func file_AsterLargeInfoNotify_proto_rawDescGZIP() []byte {
+ file_AsterLargeInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AsterLargeInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterLargeInfoNotify_proto_rawDescData)
+ })
+ return file_AsterLargeInfoNotify_proto_rawDescData
+}
+
+var file_AsterLargeInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterLargeInfoNotify_proto_goTypes = []interface{}{
+ (*AsterLargeInfoNotify)(nil), // 0: proto.AsterLargeInfoNotify
+ (*AsterLargeDetailInfo)(nil), // 1: proto.AsterLargeDetailInfo
+}
+var file_AsterLargeInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterLargeInfoNotify.info:type_name -> proto.AsterLargeDetailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AsterLargeInfoNotify_proto_init() }
+func file_AsterLargeInfoNotify_proto_init() {
+ if File_AsterLargeInfoNotify_proto != nil {
+ return
+ }
+ file_AsterLargeDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterLargeInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterLargeInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterLargeInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterLargeInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AsterLargeInfoNotify_proto_depIdxs,
+ MessageInfos: file_AsterLargeInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AsterLargeInfoNotify_proto = out.File
+ file_AsterLargeInfoNotify_proto_rawDesc = nil
+ file_AsterLargeInfoNotify_proto_goTypes = nil
+ file_AsterLargeInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterLittleDetailInfo.pb.go b/protocol/proto/AsterLittleDetailInfo.pb.go
new file mode 100644
index 00000000..63857902
--- /dev/null
+++ b/protocol/proto/AsterLittleDetailInfo.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterLittleDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AsterLittleDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,4,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ StageState AsterLittleStageState `protobuf:"varint,7,opt,name=stage_state,json=stageState,proto3,enum=proto.AsterLittleStageState" json:"stage_state,omitempty"`
+ StageId uint32 `protobuf:"varint,1,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ BeginTime uint32 `protobuf:"varint,6,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ StageBeginTime uint32 `protobuf:"varint,5,opt,name=stage_begin_time,json=stageBeginTime,proto3" json:"stage_begin_time,omitempty"`
+}
+
+func (x *AsterLittleDetailInfo) Reset() {
+ *x = AsterLittleDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterLittleDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterLittleDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterLittleDetailInfo) ProtoMessage() {}
+
+func (x *AsterLittleDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterLittleDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterLittleDetailInfo.ProtoReflect.Descriptor instead.
+func (*AsterLittleDetailInfo) Descriptor() ([]byte, []int) {
+ return file_AsterLittleDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterLittleDetailInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *AsterLittleDetailInfo) GetStageState() AsterLittleStageState {
+ if x != nil {
+ return x.StageState
+ }
+ return AsterLittleStageState_ASTER_LITTLE_STAGE_STATE_NONE
+}
+
+func (x *AsterLittleDetailInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *AsterLittleDetailInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *AsterLittleDetailInfo) GetStageBeginTime() uint32 {
+ if x != nil {
+ return x.StageBeginTime
+ }
+ return 0
+}
+
+var File_AsterLittleDetailInfo_proto protoreflect.FileDescriptor
+
+var file_AsterLittleDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c,
+ 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xd3, 0x01, 0x0a, 0x15, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c,
+ 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69,
+ 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73,
+ 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a,
+ 0x10, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x42, 0x65,
+ 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterLittleDetailInfo_proto_rawDescOnce sync.Once
+ file_AsterLittleDetailInfo_proto_rawDescData = file_AsterLittleDetailInfo_proto_rawDesc
+)
+
+func file_AsterLittleDetailInfo_proto_rawDescGZIP() []byte {
+ file_AsterLittleDetailInfo_proto_rawDescOnce.Do(func() {
+ file_AsterLittleDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterLittleDetailInfo_proto_rawDescData)
+ })
+ return file_AsterLittleDetailInfo_proto_rawDescData
+}
+
+var file_AsterLittleDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterLittleDetailInfo_proto_goTypes = []interface{}{
+ (*AsterLittleDetailInfo)(nil), // 0: proto.AsterLittleDetailInfo
+ (AsterLittleStageState)(0), // 1: proto.AsterLittleStageState
+}
+var file_AsterLittleDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterLittleDetailInfo.stage_state:type_name -> proto.AsterLittleStageState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AsterLittleDetailInfo_proto_init() }
+func file_AsterLittleDetailInfo_proto_init() {
+ if File_AsterLittleDetailInfo_proto != nil {
+ return
+ }
+ file_AsterLittleStageState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterLittleDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterLittleDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterLittleDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterLittleDetailInfo_proto_goTypes,
+ DependencyIndexes: file_AsterLittleDetailInfo_proto_depIdxs,
+ MessageInfos: file_AsterLittleDetailInfo_proto_msgTypes,
+ }.Build()
+ File_AsterLittleDetailInfo_proto = out.File
+ file_AsterLittleDetailInfo_proto_rawDesc = nil
+ file_AsterLittleDetailInfo_proto_goTypes = nil
+ file_AsterLittleDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterLittleInfoNotify.pb.go b/protocol/proto/AsterLittleInfoNotify.pb.go
new file mode 100644
index 00000000..ca4a1dd0
--- /dev/null
+++ b/protocol/proto/AsterLittleInfoNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterLittleInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2068
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AsterLittleInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *AsterLittleDetailInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *AsterLittleInfoNotify) Reset() {
+ *x = AsterLittleInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterLittleInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterLittleInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterLittleInfoNotify) ProtoMessage() {}
+
+func (x *AsterLittleInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterLittleInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterLittleInfoNotify.ProtoReflect.Descriptor instead.
+func (*AsterLittleInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AsterLittleInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterLittleInfoNotify) GetInfo() *AsterLittleDetailInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_AsterLittleInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AsterLittleInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c,
+ 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x49, 0x0a, 0x15, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterLittleInfoNotify_proto_rawDescOnce sync.Once
+ file_AsterLittleInfoNotify_proto_rawDescData = file_AsterLittleInfoNotify_proto_rawDesc
+)
+
+func file_AsterLittleInfoNotify_proto_rawDescGZIP() []byte {
+ file_AsterLittleInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AsterLittleInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterLittleInfoNotify_proto_rawDescData)
+ })
+ return file_AsterLittleInfoNotify_proto_rawDescData
+}
+
+var file_AsterLittleInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterLittleInfoNotify_proto_goTypes = []interface{}{
+ (*AsterLittleInfoNotify)(nil), // 0: proto.AsterLittleInfoNotify
+ (*AsterLittleDetailInfo)(nil), // 1: proto.AsterLittleDetailInfo
+}
+var file_AsterLittleInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterLittleInfoNotify.info:type_name -> proto.AsterLittleDetailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AsterLittleInfoNotify_proto_init() }
+func file_AsterLittleInfoNotify_proto_init() {
+ if File_AsterLittleInfoNotify_proto != nil {
+ return
+ }
+ file_AsterLittleDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterLittleInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterLittleInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterLittleInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterLittleInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AsterLittleInfoNotify_proto_depIdxs,
+ MessageInfos: file_AsterLittleInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AsterLittleInfoNotify_proto = out.File
+ file_AsterLittleInfoNotify_proto_rawDesc = nil
+ file_AsterLittleInfoNotify_proto_goTypes = nil
+ file_AsterLittleInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterLittleStageState.pb.go b/protocol/proto/AsterLittleStageState.pb.go
new file mode 100644
index 00000000..5743ddc1
--- /dev/null
+++ b/protocol/proto/AsterLittleStageState.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterLittleStageState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AsterLittleStageState int32
+
+const (
+ AsterLittleStageState_ASTER_LITTLE_STAGE_STATE_NONE AsterLittleStageState = 0
+ AsterLittleStageState_ASTER_LITTLE_STAGE_STATE_UNSTARTED AsterLittleStageState = 1
+ AsterLittleStageState_ASTER_LITTLE_STAGE_STATE_STARTED AsterLittleStageState = 2
+ AsterLittleStageState_ASTER_LITTLE_STAGE_STATE_FINISHED AsterLittleStageState = 3
+)
+
+// Enum value maps for AsterLittleStageState.
+var (
+ AsterLittleStageState_name = map[int32]string{
+ 0: "ASTER_LITTLE_STAGE_STATE_NONE",
+ 1: "ASTER_LITTLE_STAGE_STATE_UNSTARTED",
+ 2: "ASTER_LITTLE_STAGE_STATE_STARTED",
+ 3: "ASTER_LITTLE_STAGE_STATE_FINISHED",
+ }
+ AsterLittleStageState_value = map[string]int32{
+ "ASTER_LITTLE_STAGE_STATE_NONE": 0,
+ "ASTER_LITTLE_STAGE_STATE_UNSTARTED": 1,
+ "ASTER_LITTLE_STAGE_STATE_STARTED": 2,
+ "ASTER_LITTLE_STAGE_STATE_FINISHED": 3,
+ }
+)
+
+func (x AsterLittleStageState) Enum() *AsterLittleStageState {
+ p := new(AsterLittleStageState)
+ *p = x
+ return p
+}
+
+func (x AsterLittleStageState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AsterLittleStageState) Descriptor() protoreflect.EnumDescriptor {
+ return file_AsterLittleStageState_proto_enumTypes[0].Descriptor()
+}
+
+func (AsterLittleStageState) Type() protoreflect.EnumType {
+ return &file_AsterLittleStageState_proto_enumTypes[0]
+}
+
+func (x AsterLittleStageState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AsterLittleStageState.Descriptor instead.
+func (AsterLittleStageState) EnumDescriptor() ([]byte, []int) {
+ return file_AsterLittleStageState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AsterLittleStageState_proto protoreflect.FileDescriptor
+
+var file_AsterLittleStageState_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xaf, 0x01, 0x0a, 0x15, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69,
+ 0x74, 0x74, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21,
+ 0x0a, 0x1d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x53,
+ 0x54, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x54, 0x54, 0x4c,
+ 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e,
+ 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x41, 0x53, 0x54,
+ 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12,
+ 0x25, 0x0a, 0x21, 0x41, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x54, 0x54, 0x4c, 0x45, 0x5f,
+ 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49,
+ 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterLittleStageState_proto_rawDescOnce sync.Once
+ file_AsterLittleStageState_proto_rawDescData = file_AsterLittleStageState_proto_rawDesc
+)
+
+func file_AsterLittleStageState_proto_rawDescGZIP() []byte {
+ file_AsterLittleStageState_proto_rawDescOnce.Do(func() {
+ file_AsterLittleStageState_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterLittleStageState_proto_rawDescData)
+ })
+ return file_AsterLittleStageState_proto_rawDescData
+}
+
+var file_AsterLittleStageState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_AsterLittleStageState_proto_goTypes = []interface{}{
+ (AsterLittleStageState)(0), // 0: proto.AsterLittleStageState
+}
+var file_AsterLittleStageState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AsterLittleStageState_proto_init() }
+func file_AsterLittleStageState_proto_init() {
+ if File_AsterLittleStageState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterLittleStageState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterLittleStageState_proto_goTypes,
+ DependencyIndexes: file_AsterLittleStageState_proto_depIdxs,
+ EnumInfos: file_AsterLittleStageState_proto_enumTypes,
+ }.Build()
+ File_AsterLittleStageState_proto = out.File
+ file_AsterLittleStageState_proto_rawDesc = nil
+ file_AsterLittleStageState_proto_goTypes = nil
+ file_AsterLittleStageState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterMidCampInfo.pb.go b/protocol/proto/AsterMidCampInfo.pb.go
new file mode 100644
index 00000000..b028e1f9
--- /dev/null
+++ b/protocol/proto/AsterMidCampInfo.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterMidCampInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AsterMidCampInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,3,opt,name=pos,proto3" json:"pos,omitempty"`
+ CampId uint32 `protobuf:"varint,8,opt,name=camp_id,json=campId,proto3" json:"camp_id,omitempty"`
+}
+
+func (x *AsterMidCampInfo) Reset() {
+ *x = AsterMidCampInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterMidCampInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterMidCampInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterMidCampInfo) ProtoMessage() {}
+
+func (x *AsterMidCampInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterMidCampInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterMidCampInfo.ProtoReflect.Descriptor instead.
+func (*AsterMidCampInfo) Descriptor() ([]byte, []int) {
+ return file_AsterMidCampInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterMidCampInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *AsterMidCampInfo) GetCampId() uint32 {
+ if x != nil {
+ return x.CampId
+ }
+ return 0
+}
+
+var File_AsterMidCampInfo_proto protoreflect.FileDescriptor
+
+var file_AsterMidCampInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a,
+ 0x10, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70,
+ 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterMidCampInfo_proto_rawDescOnce sync.Once
+ file_AsterMidCampInfo_proto_rawDescData = file_AsterMidCampInfo_proto_rawDesc
+)
+
+func file_AsterMidCampInfo_proto_rawDescGZIP() []byte {
+ file_AsterMidCampInfo_proto_rawDescOnce.Do(func() {
+ file_AsterMidCampInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterMidCampInfo_proto_rawDescData)
+ })
+ return file_AsterMidCampInfo_proto_rawDescData
+}
+
+var file_AsterMidCampInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterMidCampInfo_proto_goTypes = []interface{}{
+ (*AsterMidCampInfo)(nil), // 0: proto.AsterMidCampInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AsterMidCampInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterMidCampInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AsterMidCampInfo_proto_init() }
+func file_AsterMidCampInfo_proto_init() {
+ if File_AsterMidCampInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterMidCampInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterMidCampInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterMidCampInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterMidCampInfo_proto_goTypes,
+ DependencyIndexes: file_AsterMidCampInfo_proto_depIdxs,
+ MessageInfos: file_AsterMidCampInfo_proto_msgTypes,
+ }.Build()
+ File_AsterMidCampInfo_proto = out.File
+ file_AsterMidCampInfo_proto_rawDesc = nil
+ file_AsterMidCampInfo_proto_goTypes = nil
+ file_AsterMidCampInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterMidCampInfoNotify.pb.go b/protocol/proto/AsterMidCampInfoNotify.pb.go
new file mode 100644
index 00000000..1ec79192
--- /dev/null
+++ b/protocol/proto/AsterMidCampInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterMidCampInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2133
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AsterMidCampInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CampList []*AsterMidCampInfo `protobuf:"bytes,5,rep,name=camp_list,json=campList,proto3" json:"camp_list,omitempty"`
+}
+
+func (x *AsterMidCampInfoNotify) Reset() {
+ *x = AsterMidCampInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterMidCampInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterMidCampInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterMidCampInfoNotify) ProtoMessage() {}
+
+func (x *AsterMidCampInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterMidCampInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterMidCampInfoNotify.ProtoReflect.Descriptor instead.
+func (*AsterMidCampInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AsterMidCampInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterMidCampInfoNotify) GetCampList() []*AsterMidCampInfo {
+ if x != nil {
+ return x.CampList
+ }
+ return nil
+}
+
+var File_AsterMidCampInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AsterMidCampInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x43,
+ 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a,
+ 0x16, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x34, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x43, 0x61, 0x6d, 0x70, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AsterMidCampInfoNotify_proto_rawDescOnce sync.Once
+ file_AsterMidCampInfoNotify_proto_rawDescData = file_AsterMidCampInfoNotify_proto_rawDesc
+)
+
+func file_AsterMidCampInfoNotify_proto_rawDescGZIP() []byte {
+ file_AsterMidCampInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AsterMidCampInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterMidCampInfoNotify_proto_rawDescData)
+ })
+ return file_AsterMidCampInfoNotify_proto_rawDescData
+}
+
+var file_AsterMidCampInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterMidCampInfoNotify_proto_goTypes = []interface{}{
+ (*AsterMidCampInfoNotify)(nil), // 0: proto.AsterMidCampInfoNotify
+ (*AsterMidCampInfo)(nil), // 1: proto.AsterMidCampInfo
+}
+var file_AsterMidCampInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterMidCampInfoNotify.camp_list:type_name -> proto.AsterMidCampInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AsterMidCampInfoNotify_proto_init() }
+func file_AsterMidCampInfoNotify_proto_init() {
+ if File_AsterMidCampInfoNotify_proto != nil {
+ return
+ }
+ file_AsterMidCampInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterMidCampInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterMidCampInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterMidCampInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterMidCampInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AsterMidCampInfoNotify_proto_depIdxs,
+ MessageInfos: file_AsterMidCampInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AsterMidCampInfoNotify_proto = out.File
+ file_AsterMidCampInfoNotify_proto_rawDesc = nil
+ file_AsterMidCampInfoNotify_proto_goTypes = nil
+ file_AsterMidCampInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterMidDetailInfo.pb.go b/protocol/proto/AsterMidDetailInfo.pb.go
new file mode 100644
index 00000000..5b000404
--- /dev/null
+++ b/protocol/proto/AsterMidDetailInfo.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterMidDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AsterMidDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BeginTime uint32 `protobuf:"varint,10,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ CampList []*AsterMidCampInfo `protobuf:"bytes,7,rep,name=camp_list,json=campList,proto3" json:"camp_list,omitempty"`
+ IsOpen bool `protobuf:"varint,4,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ CollectCount uint32 `protobuf:"varint,11,opt,name=collect_count,json=collectCount,proto3" json:"collect_count,omitempty"`
+}
+
+func (x *AsterMidDetailInfo) Reset() {
+ *x = AsterMidDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterMidDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterMidDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterMidDetailInfo) ProtoMessage() {}
+
+func (x *AsterMidDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterMidDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterMidDetailInfo.ProtoReflect.Descriptor instead.
+func (*AsterMidDetailInfo) Descriptor() ([]byte, []int) {
+ return file_AsterMidDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterMidDetailInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *AsterMidDetailInfo) GetCampList() []*AsterMidCampInfo {
+ if x != nil {
+ return x.CampList
+ }
+ return nil
+}
+
+func (x *AsterMidDetailInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *AsterMidDetailInfo) GetCollectCount() uint32 {
+ if x != nil {
+ return x.CollectCount
+ }
+ return 0
+}
+
+var File_AsterMidDetailInfo_proto protoreflect.FileDescriptor
+
+var file_AsterMidDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x16, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x43, 0x61, 0x6d, 0x70, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x12, 0x41, 0x73,
+ 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x34, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72,
+ 0x4d, 0x69, 0x64, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x61, 0x6d,
+ 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x23,
+ 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterMidDetailInfo_proto_rawDescOnce sync.Once
+ file_AsterMidDetailInfo_proto_rawDescData = file_AsterMidDetailInfo_proto_rawDesc
+)
+
+func file_AsterMidDetailInfo_proto_rawDescGZIP() []byte {
+ file_AsterMidDetailInfo_proto_rawDescOnce.Do(func() {
+ file_AsterMidDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterMidDetailInfo_proto_rawDescData)
+ })
+ return file_AsterMidDetailInfo_proto_rawDescData
+}
+
+var file_AsterMidDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterMidDetailInfo_proto_goTypes = []interface{}{
+ (*AsterMidDetailInfo)(nil), // 0: proto.AsterMidDetailInfo
+ (*AsterMidCampInfo)(nil), // 1: proto.AsterMidCampInfo
+}
+var file_AsterMidDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterMidDetailInfo.camp_list:type_name -> proto.AsterMidCampInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AsterMidDetailInfo_proto_init() }
+func file_AsterMidDetailInfo_proto_init() {
+ if File_AsterMidDetailInfo_proto != nil {
+ return
+ }
+ file_AsterMidCampInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterMidDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterMidDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterMidDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterMidDetailInfo_proto_goTypes,
+ DependencyIndexes: file_AsterMidDetailInfo_proto_depIdxs,
+ MessageInfos: file_AsterMidDetailInfo_proto_msgTypes,
+ }.Build()
+ File_AsterMidDetailInfo_proto = out.File
+ file_AsterMidDetailInfo_proto_rawDesc = nil
+ file_AsterMidDetailInfo_proto_goTypes = nil
+ file_AsterMidDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterMidInfoNotify.pb.go b/protocol/proto/AsterMidInfoNotify.pb.go
new file mode 100644
index 00000000..4d3d2fc4
--- /dev/null
+++ b/protocol/proto/AsterMidInfoNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterMidInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2031
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AsterMidInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *AsterMidDetailInfo `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *AsterMidInfoNotify) Reset() {
+ *x = AsterMidInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterMidInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterMidInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterMidInfoNotify) ProtoMessage() {}
+
+func (x *AsterMidInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterMidInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterMidInfoNotify.ProtoReflect.Descriptor instead.
+func (*AsterMidInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AsterMidInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterMidInfoNotify) GetInfo() *AsterMidDetailInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_AsterMidInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AsterMidInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x18, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x12, 0x41,
+ 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x2d, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterMidInfoNotify_proto_rawDescOnce sync.Once
+ file_AsterMidInfoNotify_proto_rawDescData = file_AsterMidInfoNotify_proto_rawDesc
+)
+
+func file_AsterMidInfoNotify_proto_rawDescGZIP() []byte {
+ file_AsterMidInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AsterMidInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterMidInfoNotify_proto_rawDescData)
+ })
+ return file_AsterMidInfoNotify_proto_rawDescData
+}
+
+var file_AsterMidInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterMidInfoNotify_proto_goTypes = []interface{}{
+ (*AsterMidInfoNotify)(nil), // 0: proto.AsterMidInfoNotify
+ (*AsterMidDetailInfo)(nil), // 1: proto.AsterMidDetailInfo
+}
+var file_AsterMidInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterMidInfoNotify.info:type_name -> proto.AsterMidDetailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AsterMidInfoNotify_proto_init() }
+func file_AsterMidInfoNotify_proto_init() {
+ if File_AsterMidInfoNotify_proto != nil {
+ return
+ }
+ file_AsterMidDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterMidInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterMidInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterMidInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterMidInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AsterMidInfoNotify_proto_depIdxs,
+ MessageInfos: file_AsterMidInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AsterMidInfoNotify_proto = out.File
+ file_AsterMidInfoNotify_proto_rawDesc = nil
+ file_AsterMidInfoNotify_proto_goTypes = nil
+ file_AsterMidInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterMiscInfoNotify.pb.go b/protocol/proto/AsterMiscInfoNotify.pb.go
new file mode 100644
index 00000000..ee946cc7
--- /dev/null
+++ b/protocol/proto/AsterMiscInfoNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterMiscInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2036
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AsterMiscInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AsterToken uint32 `protobuf:"varint,2,opt,name=aster_token,json=asterToken,proto3" json:"aster_token,omitempty"`
+ AsterCredit uint32 `protobuf:"varint,15,opt,name=aster_credit,json=asterCredit,proto3" json:"aster_credit,omitempty"`
+}
+
+func (x *AsterMiscInfoNotify) Reset() {
+ *x = AsterMiscInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterMiscInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterMiscInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterMiscInfoNotify) ProtoMessage() {}
+
+func (x *AsterMiscInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterMiscInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterMiscInfoNotify.ProtoReflect.Descriptor instead.
+func (*AsterMiscInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AsterMiscInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterMiscInfoNotify) GetAsterToken() uint32 {
+ if x != nil {
+ return x.AsterToken
+ }
+ return 0
+}
+
+func (x *AsterMiscInfoNotify) GetAsterCredit() uint32 {
+ if x != nil {
+ return x.AsterCredit
+ }
+ return 0
+}
+
+var File_AsterMiscInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AsterMiscInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x13, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x73, 0x63, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x61, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AsterMiscInfoNotify_proto_rawDescOnce sync.Once
+ file_AsterMiscInfoNotify_proto_rawDescData = file_AsterMiscInfoNotify_proto_rawDesc
+)
+
+func file_AsterMiscInfoNotify_proto_rawDescGZIP() []byte {
+ file_AsterMiscInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AsterMiscInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterMiscInfoNotify_proto_rawDescData)
+ })
+ return file_AsterMiscInfoNotify_proto_rawDescData
+}
+
+var file_AsterMiscInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterMiscInfoNotify_proto_goTypes = []interface{}{
+ (*AsterMiscInfoNotify)(nil), // 0: proto.AsterMiscInfoNotify
+}
+var file_AsterMiscInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AsterMiscInfoNotify_proto_init() }
+func file_AsterMiscInfoNotify_proto_init() {
+ if File_AsterMiscInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AsterMiscInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterMiscInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterMiscInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterMiscInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AsterMiscInfoNotify_proto_depIdxs,
+ MessageInfos: file_AsterMiscInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AsterMiscInfoNotify_proto = out.File
+ file_AsterMiscInfoNotify_proto_rawDesc = nil
+ file_AsterMiscInfoNotify_proto_goTypes = nil
+ file_AsterMiscInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterProgressDetailInfo.pb.go b/protocol/proto/AsterProgressDetailInfo.pb.go
new file mode 100644
index 00000000..15dee86e
--- /dev/null
+++ b/protocol/proto/AsterProgressDetailInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterProgressDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AsterProgressDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LastAutoAddTime uint32 `protobuf:"varint,3,opt,name=last_auto_add_time,json=lastAutoAddTime,proto3" json:"last_auto_add_time,omitempty"`
+ Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
+}
+
+func (x *AsterProgressDetailInfo) Reset() {
+ *x = AsterProgressDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterProgressDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterProgressDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterProgressDetailInfo) ProtoMessage() {}
+
+func (x *AsterProgressDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterProgressDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterProgressDetailInfo.ProtoReflect.Descriptor instead.
+func (*AsterProgressDetailInfo) Descriptor() ([]byte, []int) {
+ return file_AsterProgressDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterProgressDetailInfo) GetLastAutoAddTime() uint32 {
+ if x != nil {
+ return x.LastAutoAddTime
+ }
+ return 0
+}
+
+func (x *AsterProgressDetailInfo) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+var File_AsterProgressDetailInfo_proto protoreflect.FileDescriptor
+
+var file_AsterProgressDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x17, 0x41, 0x73, 0x74, 0x65, 0x72, 0x50,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61,
+ 0x64, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c,
+ 0x61, 0x73, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14,
+ 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterProgressDetailInfo_proto_rawDescOnce sync.Once
+ file_AsterProgressDetailInfo_proto_rawDescData = file_AsterProgressDetailInfo_proto_rawDesc
+)
+
+func file_AsterProgressDetailInfo_proto_rawDescGZIP() []byte {
+ file_AsterProgressDetailInfo_proto_rawDescOnce.Do(func() {
+ file_AsterProgressDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterProgressDetailInfo_proto_rawDescData)
+ })
+ return file_AsterProgressDetailInfo_proto_rawDescData
+}
+
+var file_AsterProgressDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterProgressDetailInfo_proto_goTypes = []interface{}{
+ (*AsterProgressDetailInfo)(nil), // 0: proto.AsterProgressDetailInfo
+}
+var file_AsterProgressDetailInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AsterProgressDetailInfo_proto_init() }
+func file_AsterProgressDetailInfo_proto_init() {
+ if File_AsterProgressDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AsterProgressDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterProgressDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterProgressDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterProgressDetailInfo_proto_goTypes,
+ DependencyIndexes: file_AsterProgressDetailInfo_proto_depIdxs,
+ MessageInfos: file_AsterProgressDetailInfo_proto_msgTypes,
+ }.Build()
+ File_AsterProgressDetailInfo_proto = out.File
+ file_AsterProgressDetailInfo_proto_rawDesc = nil
+ file_AsterProgressDetailInfo_proto_goTypes = nil
+ file_AsterProgressDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AsterProgressInfoNotify.pb.go b/protocol/proto/AsterProgressInfoNotify.pb.go
new file mode 100644
index 00000000..55b37bd4
--- /dev/null
+++ b/protocol/proto/AsterProgressInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AsterProgressInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2016
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AsterProgressInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *AsterProgressDetailInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *AsterProgressInfoNotify) Reset() {
+ *x = AsterProgressInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AsterProgressInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AsterProgressInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AsterProgressInfoNotify) ProtoMessage() {}
+
+func (x *AsterProgressInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AsterProgressInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AsterProgressInfoNotify.ProtoReflect.Descriptor instead.
+func (*AsterProgressInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AsterProgressInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AsterProgressInfoNotify) GetInfo() *AsterProgressDetailInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_AsterProgressInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AsterProgressInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x17, 0x41, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x32, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,
+ 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AsterProgressInfoNotify_proto_rawDescOnce sync.Once
+ file_AsterProgressInfoNotify_proto_rawDescData = file_AsterProgressInfoNotify_proto_rawDesc
+)
+
+func file_AsterProgressInfoNotify_proto_rawDescGZIP() []byte {
+ file_AsterProgressInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AsterProgressInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AsterProgressInfoNotify_proto_rawDescData)
+ })
+ return file_AsterProgressInfoNotify_proto_rawDescData
+}
+
+var file_AsterProgressInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AsterProgressInfoNotify_proto_goTypes = []interface{}{
+ (*AsterProgressInfoNotify)(nil), // 0: proto.AsterProgressInfoNotify
+ (*AsterProgressDetailInfo)(nil), // 1: proto.AsterProgressDetailInfo
+}
+var file_AsterProgressInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AsterProgressInfoNotify.info:type_name -> proto.AsterProgressDetailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AsterProgressInfoNotify_proto_init() }
+func file_AsterProgressInfoNotify_proto_init() {
+ if File_AsterProgressInfoNotify_proto != nil {
+ return
+ }
+ file_AsterProgressDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AsterProgressInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AsterProgressInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AsterProgressInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AsterProgressInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AsterProgressInfoNotify_proto_depIdxs,
+ MessageInfos: file_AsterProgressInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AsterProgressInfoNotify_proto = out.File
+ file_AsterProgressInfoNotify_proto_rawDesc = nil
+ file_AsterProgressInfoNotify_proto_goTypes = nil
+ file_AsterProgressInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AttackHitEffectResult.pb.go b/protocol/proto/AttackHitEffectResult.pb.go
new file mode 100644
index 00000000..be5fbb3a
--- /dev/null
+++ b/protocol/proto/AttackHitEffectResult.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AttackHitEffectResult.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AttackHitEffectResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HitHaltTimeScale float32 `protobuf:"fixed32,8,opt,name=hit_halt_time_scale,json=hitHaltTimeScale,proto3" json:"hit_halt_time_scale,omitempty"`
+ OriginalHitEffLevel uint32 `protobuf:"varint,12,opt,name=original_hit_eff_level,json=originalHitEffLevel,proto3" json:"original_hit_eff_level,omitempty"`
+ AirStrength float32 `protobuf:"fixed32,15,opt,name=air_strength,json=airStrength,proto3" json:"air_strength,omitempty"`
+ HitEffLevel uint32 `protobuf:"varint,2,opt,name=hit_eff_level,json=hitEffLevel,proto3" json:"hit_eff_level,omitempty"`
+ HitHaltTime float32 `protobuf:"fixed32,13,opt,name=hit_halt_time,json=hitHaltTime,proto3" json:"hit_halt_time,omitempty"`
+ RetreatStrength float32 `protobuf:"fixed32,7,opt,name=retreat_strength,json=retreatStrength,proto3" json:"retreat_strength,omitempty"`
+}
+
+func (x *AttackHitEffectResult) Reset() {
+ *x = AttackHitEffectResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AttackHitEffectResult_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AttackHitEffectResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AttackHitEffectResult) ProtoMessage() {}
+
+func (x *AttackHitEffectResult) ProtoReflect() protoreflect.Message {
+ mi := &file_AttackHitEffectResult_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AttackHitEffectResult.ProtoReflect.Descriptor instead.
+func (*AttackHitEffectResult) Descriptor() ([]byte, []int) {
+ return file_AttackHitEffectResult_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AttackHitEffectResult) GetHitHaltTimeScale() float32 {
+ if x != nil {
+ return x.HitHaltTimeScale
+ }
+ return 0
+}
+
+func (x *AttackHitEffectResult) GetOriginalHitEffLevel() uint32 {
+ if x != nil {
+ return x.OriginalHitEffLevel
+ }
+ return 0
+}
+
+func (x *AttackHitEffectResult) GetAirStrength() float32 {
+ if x != nil {
+ return x.AirStrength
+ }
+ return 0
+}
+
+func (x *AttackHitEffectResult) GetHitEffLevel() uint32 {
+ if x != nil {
+ return x.HitEffLevel
+ }
+ return 0
+}
+
+func (x *AttackHitEffectResult) GetHitHaltTime() float32 {
+ if x != nil {
+ return x.HitHaltTime
+ }
+ return 0
+}
+
+func (x *AttackHitEffectResult) GetRetreatStrength() float32 {
+ if x != nil {
+ return x.RetreatStrength
+ }
+ return 0
+}
+
+var File_AttackHitEffectResult_proto protoreflect.FileDescriptor
+
+var file_AttackHitEffectResult_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x69, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x02, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48,
+ 0x69, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x2d,
+ 0x0a, 0x13, 0x68, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+ 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x68, 0x69, 0x74,
+ 0x48, 0x61, 0x6c, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x33, 0x0a,
+ 0x16, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x65, 0x66,
+ 0x66, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6f,
+ 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x69, 0x74, 0x45, 0x66, 0x66, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x69, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67,
+ 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x61, 0x69, 0x72, 0x53, 0x74, 0x72,
+ 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x69, 0x74, 0x5f, 0x65, 0x66, 0x66,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x68, 0x69,
+ 0x74, 0x45, 0x66, 0x66, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x69, 0x74,
+ 0x5f, 0x68, 0x61, 0x6c, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0b, 0x68, 0x69, 0x74, 0x48, 0x61, 0x6c, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a,
+ 0x10, 0x72, 0x65, 0x74, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74,
+ 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x65, 0x61, 0x74,
+ 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AttackHitEffectResult_proto_rawDescOnce sync.Once
+ file_AttackHitEffectResult_proto_rawDescData = file_AttackHitEffectResult_proto_rawDesc
+)
+
+func file_AttackHitEffectResult_proto_rawDescGZIP() []byte {
+ file_AttackHitEffectResult_proto_rawDescOnce.Do(func() {
+ file_AttackHitEffectResult_proto_rawDescData = protoimpl.X.CompressGZIP(file_AttackHitEffectResult_proto_rawDescData)
+ })
+ return file_AttackHitEffectResult_proto_rawDescData
+}
+
+var file_AttackHitEffectResult_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AttackHitEffectResult_proto_goTypes = []interface{}{
+ (*AttackHitEffectResult)(nil), // 0: proto.AttackHitEffectResult
+}
+var file_AttackHitEffectResult_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AttackHitEffectResult_proto_init() }
+func file_AttackHitEffectResult_proto_init() {
+ if File_AttackHitEffectResult_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AttackHitEffectResult_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AttackHitEffectResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AttackHitEffectResult_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AttackHitEffectResult_proto_goTypes,
+ DependencyIndexes: file_AttackHitEffectResult_proto_depIdxs,
+ MessageInfos: file_AttackHitEffectResult_proto_msgTypes,
+ }.Build()
+ File_AttackHitEffectResult_proto = out.File
+ file_AttackHitEffectResult_proto_rawDesc = nil
+ file_AttackHitEffectResult_proto_goTypes = nil
+ file_AttackHitEffectResult_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AttackResult.pb.go b/protocol/proto/AttackResult.pb.go
new file mode 100644
index 00000000..ecfe0c82
--- /dev/null
+++ b/protocol/proto/AttackResult.pb.go
@@ -0,0 +1,492 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AttackResult.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AttackResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsResistText bool `protobuf:"varint,1858,opt,name=is_resist_text,json=isResistText,proto3" json:"is_resist_text,omitempty"`
+ CreateCountSyncToServer uint32 `protobuf:"varint,1011,opt,name=create_count_sync_to_server,json=createCountSyncToServer,proto3" json:"create_count_sync_to_server,omitempty"`
+ AmplifyReactionType uint32 `protobuf:"varint,2005,opt,name=amplify_reaction_type,json=amplifyReactionType,proto3" json:"amplify_reaction_type,omitempty"`
+ EndureBreak uint32 `protobuf:"varint,7,opt,name=endure_break,json=endureBreak,proto3" json:"endure_break,omitempty"`
+ ElementType uint32 `protobuf:"varint,5,opt,name=element_type,json=elementType,proto3" json:"element_type,omitempty"`
+ ElementDurabilityAttenuation float32 `protobuf:"fixed32,425,opt,name=element_durability_attenuation,json=elementDurabilityAttenuation,proto3" json:"element_durability_attenuation,omitempty"`
+ DefenseId uint32 `protobuf:"varint,15,opt,name=defense_id,json=defenseId,proto3" json:"defense_id,omitempty"`
+ AttackTimestampMs uint32 `protobuf:"varint,1188,opt,name=attack_timestamp_ms,json=attackTimestampMs,proto3" json:"attack_timestamp_ms,omitempty"`
+ BulletFlyTimeMs uint32 `protobuf:"varint,91,opt,name=bullet_fly_time_ms,json=bulletFlyTimeMs,proto3" json:"bullet_fly_time_ms,omitempty"`
+ IsCrit bool `protobuf:"varint,13,opt,name=is_crit,json=isCrit,proto3" json:"is_crit,omitempty"`
+ ElementAmplifyRate float32 `protobuf:"fixed32,900,opt,name=element_amplify_rate,json=elementAmplifyRate,proto3" json:"element_amplify_rate,omitempty"`
+ AttackCount uint32 `protobuf:"varint,1564,opt,name=attack_count,json=attackCount,proto3" json:"attack_count,omitempty"`
+ CriticalRand uint32 `protobuf:"varint,1664,opt,name=critical_rand,json=criticalRand,proto3" json:"critical_rand,omitempty"`
+ HitPosType uint32 `protobuf:"varint,2,opt,name=hit_pos_type,json=hitPosType,proto3" json:"hit_pos_type,omitempty"`
+ AnimEventId string `protobuf:"bytes,4,opt,name=anim_event_id,json=animEventId,proto3" json:"anim_event_id,omitempty"`
+ HitEffResult *AttackHitEffectResult `protobuf:"bytes,8,opt,name=hit_eff_result,json=hitEffResult,proto3" json:"hit_eff_result,omitempty"`
+ DamageShield float32 `protobuf:"fixed32,1202,opt,name=damage_shield,json=damageShield,proto3" json:"damage_shield,omitempty"`
+ EndureDelta float32 `protobuf:"fixed32,430,opt,name=endure_delta,json=endureDelta,proto3" json:"endure_delta,omitempty"`
+ ResolvedDir *Vector `protobuf:"bytes,1,opt,name=resolved_dir,json=resolvedDir,proto3" json:"resolved_dir,omitempty"`
+ Damage float32 `protobuf:"fixed32,6,opt,name=damage,proto3" json:"damage,omitempty"`
+ AddhurtReactionType uint32 `protobuf:"varint,1887,opt,name=addhurt_reaction_type,json=addhurtReactionType,proto3" json:"addhurt_reaction_type,omitempty"`
+ HashedAnimEventId uint32 `protobuf:"varint,278,opt,name=hashed_anim_event_id,json=hashedAnimEventId,proto3" json:"hashed_anim_event_id,omitempty"`
+ UseGadgetDamageAction bool `protobuf:"varint,1418,opt,name=use_gadget_damage_action,json=useGadgetDamageAction,proto3" json:"use_gadget_damage_action,omitempty"`
+ HitRetreatAngleCompat int32 `protobuf:"varint,9,opt,name=hit_retreat_angle_compat,json=hitRetreatAngleCompat,proto3" json:"hit_retreat_angle_compat,omitempty"`
+ AbilityIdentifier *AbilityIdentifier `protobuf:"bytes,14,opt,name=ability_identifier,json=abilityIdentifier,proto3" json:"ability_identifier,omitempty"`
+ AttackerId uint32 `protobuf:"varint,11,opt,name=attacker_id,json=attackerId,proto3" json:"attacker_id,omitempty"`
+ MuteElementHurt bool `protobuf:"varint,1530,opt,name=mute_element_hurt,json=muteElementHurt,proto3" json:"mute_element_hurt,omitempty"`
+ TargetType uint32 `protobuf:"varint,1366,opt,name=target_type,json=targetType,proto3" json:"target_type,omitempty"`
+ HitCollision *HitCollision `protobuf:"bytes,10,opt,name=hit_collision,json=hitCollision,proto3" json:"hit_collision,omitempty"`
+ GadgetDamageActionIdx uint32 `protobuf:"varint,1110,opt,name=gadget_damage_action_idx,json=gadgetDamageActionIdx,proto3" json:"gadget_damage_action_idx,omitempty"`
+}
+
+func (x *AttackResult) Reset() {
+ *x = AttackResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AttackResult_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AttackResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AttackResult) ProtoMessage() {}
+
+func (x *AttackResult) ProtoReflect() protoreflect.Message {
+ mi := &file_AttackResult_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AttackResult.ProtoReflect.Descriptor instead.
+func (*AttackResult) Descriptor() ([]byte, []int) {
+ return file_AttackResult_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AttackResult) GetIsResistText() bool {
+ if x != nil {
+ return x.IsResistText
+ }
+ return false
+}
+
+func (x *AttackResult) GetCreateCountSyncToServer() uint32 {
+ if x != nil {
+ return x.CreateCountSyncToServer
+ }
+ return 0
+}
+
+func (x *AttackResult) GetAmplifyReactionType() uint32 {
+ if x != nil {
+ return x.AmplifyReactionType
+ }
+ return 0
+}
+
+func (x *AttackResult) GetEndureBreak() uint32 {
+ if x != nil {
+ return x.EndureBreak
+ }
+ return 0
+}
+
+func (x *AttackResult) GetElementType() uint32 {
+ if x != nil {
+ return x.ElementType
+ }
+ return 0
+}
+
+func (x *AttackResult) GetElementDurabilityAttenuation() float32 {
+ if x != nil {
+ return x.ElementDurabilityAttenuation
+ }
+ return 0
+}
+
+func (x *AttackResult) GetDefenseId() uint32 {
+ if x != nil {
+ return x.DefenseId
+ }
+ return 0
+}
+
+func (x *AttackResult) GetAttackTimestampMs() uint32 {
+ if x != nil {
+ return x.AttackTimestampMs
+ }
+ return 0
+}
+
+func (x *AttackResult) GetBulletFlyTimeMs() uint32 {
+ if x != nil {
+ return x.BulletFlyTimeMs
+ }
+ return 0
+}
+
+func (x *AttackResult) GetIsCrit() bool {
+ if x != nil {
+ return x.IsCrit
+ }
+ return false
+}
+
+func (x *AttackResult) GetElementAmplifyRate() float32 {
+ if x != nil {
+ return x.ElementAmplifyRate
+ }
+ return 0
+}
+
+func (x *AttackResult) GetAttackCount() uint32 {
+ if x != nil {
+ return x.AttackCount
+ }
+ return 0
+}
+
+func (x *AttackResult) GetCriticalRand() uint32 {
+ if x != nil {
+ return x.CriticalRand
+ }
+ return 0
+}
+
+func (x *AttackResult) GetHitPosType() uint32 {
+ if x != nil {
+ return x.HitPosType
+ }
+ return 0
+}
+
+func (x *AttackResult) GetAnimEventId() string {
+ if x != nil {
+ return x.AnimEventId
+ }
+ return ""
+}
+
+func (x *AttackResult) GetHitEffResult() *AttackHitEffectResult {
+ if x != nil {
+ return x.HitEffResult
+ }
+ return nil
+}
+
+func (x *AttackResult) GetDamageShield() float32 {
+ if x != nil {
+ return x.DamageShield
+ }
+ return 0
+}
+
+func (x *AttackResult) GetEndureDelta() float32 {
+ if x != nil {
+ return x.EndureDelta
+ }
+ return 0
+}
+
+func (x *AttackResult) GetResolvedDir() *Vector {
+ if x != nil {
+ return x.ResolvedDir
+ }
+ return nil
+}
+
+func (x *AttackResult) GetDamage() float32 {
+ if x != nil {
+ return x.Damage
+ }
+ return 0
+}
+
+func (x *AttackResult) GetAddhurtReactionType() uint32 {
+ if x != nil {
+ return x.AddhurtReactionType
+ }
+ return 0
+}
+
+func (x *AttackResult) GetHashedAnimEventId() uint32 {
+ if x != nil {
+ return x.HashedAnimEventId
+ }
+ return 0
+}
+
+func (x *AttackResult) GetUseGadgetDamageAction() bool {
+ if x != nil {
+ return x.UseGadgetDamageAction
+ }
+ return false
+}
+
+func (x *AttackResult) GetHitRetreatAngleCompat() int32 {
+ if x != nil {
+ return x.HitRetreatAngleCompat
+ }
+ return 0
+}
+
+func (x *AttackResult) GetAbilityIdentifier() *AbilityIdentifier {
+ if x != nil {
+ return x.AbilityIdentifier
+ }
+ return nil
+}
+
+func (x *AttackResult) GetAttackerId() uint32 {
+ if x != nil {
+ return x.AttackerId
+ }
+ return 0
+}
+
+func (x *AttackResult) GetMuteElementHurt() bool {
+ if x != nil {
+ return x.MuteElementHurt
+ }
+ return false
+}
+
+func (x *AttackResult) GetTargetType() uint32 {
+ if x != nil {
+ return x.TargetType
+ }
+ return 0
+}
+
+func (x *AttackResult) GetHitCollision() *HitCollision {
+ if x != nil {
+ return x.HitCollision
+ }
+ return nil
+}
+
+func (x *AttackResult) GetGadgetDamageActionIdx() uint32 {
+ if x != nil {
+ return x.GadgetDamageActionIdx
+ }
+ return 0
+}
+
+var File_AttackResult_proto protoreflect.FileDescriptor
+
+var file_AttackResult_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x69, 0x74, 0x45,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x0a, 0x0a, 0x0c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x73,
+ 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0xc2, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69,
+ 0x73, 0x52, 0x65, 0x73, 0x69, 0x73, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x63,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x79, 0x6e, 0x63,
+ 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0xf3, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x79,
+ 0x6e, 0x63, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x6d,
+ 0x70, 0x6c, 0x69, 0x66, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0xd5, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x6d, 0x70, 0x6c,
+ 0x69, 0x66, 0x79, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x75, 0x72, 0x65, 0x42, 0x72, 0x65,
+ 0x61, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x1e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x5f, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x74, 0x74, 0x65,
+ 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa9, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1c,
+ 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x41, 0x74, 0x74, 0x65, 0x6e, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x61,
+ 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f,
+ 0x6d, 0x73, 0x18, 0xa4, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63,
+ 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x73, 0x12, 0x2b, 0x0a, 0x12,
+ 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x66, 0x6c, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+ 0x6d, 0x73, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74,
+ 0x46, 0x6c, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x63, 0x72, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x43, 0x72,
+ 0x69, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x6d,
+ 0x70, 0x6c, 0x69, 0x66, 0x79, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x84, 0x07, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x70, 0x6c, 0x69, 0x66,
+ 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x9c, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x74,
+ 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x72, 0x69,
+ 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x80, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x63, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x52, 0x61, 0x6e, 0x64, 0x12,
+ 0x20, 0x0a, 0x0c, 0x68, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x6e, 0x69, 0x6d, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6e, 0x69, 0x6d, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0e, 0x68, 0x69, 0x74, 0x5f, 0x65, 0x66, 0x66,
+ 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x69, 0x74, 0x45,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x68, 0x69, 0x74,
+ 0x45, 0x66, 0x66, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x61, 0x6d,
+ 0x61, 0x67, 0x65, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x18, 0xb2, 0x09, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x0c, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x12,
+ 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18,
+ 0xae, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x75, 0x72, 0x65, 0x44, 0x65,
+ 0x6c, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f,
+ 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76,
+ 0x65, 0x64, 0x44, 0x69, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a,
+ 0x15, 0x61, 0x64, 0x64, 0x68, 0x75, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xdf, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61,
+ 0x64, 0x64, 0x68, 0x75, 0x72, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x69,
+ 0x6d, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x96, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x11, 0x68, 0x61, 0x73, 0x68, 0x65, 0x64, 0x41, 0x6e, 0x69, 0x6d, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x5f, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x8a, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x75, 0x73, 0x65, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37,
+ 0x0a, 0x18, 0x68, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x61, 0x6e,
+ 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x15, 0x68, 0x69, 0x74, 0x52, 0x65, 0x74, 0x72, 0x65, 0x61, 0x74, 0x41, 0x6e, 0x67, 0x6c,
+ 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x12, 0x47, 0x0a, 0x12, 0x61, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x11, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x5f, 0x68, 0x75, 0x72, 0x74, 0x18, 0xfa, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d,
+ 0x75, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x75, 0x72, 0x74, 0x12, 0x20,
+ 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd6, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x38, 0x0a, 0x0d, 0x68, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f,
+ 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x68, 0x69,
+ 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x67, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x78, 0x18, 0xd6, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x67,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x64, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AttackResult_proto_rawDescOnce sync.Once
+ file_AttackResult_proto_rawDescData = file_AttackResult_proto_rawDesc
+)
+
+func file_AttackResult_proto_rawDescGZIP() []byte {
+ file_AttackResult_proto_rawDescOnce.Do(func() {
+ file_AttackResult_proto_rawDescData = protoimpl.X.CompressGZIP(file_AttackResult_proto_rawDescData)
+ })
+ return file_AttackResult_proto_rawDescData
+}
+
+var file_AttackResult_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AttackResult_proto_goTypes = []interface{}{
+ (*AttackResult)(nil), // 0: proto.AttackResult
+ (*AttackHitEffectResult)(nil), // 1: proto.AttackHitEffectResult
+ (*Vector)(nil), // 2: proto.Vector
+ (*AbilityIdentifier)(nil), // 3: proto.AbilityIdentifier
+ (*HitCollision)(nil), // 4: proto.HitCollision
+}
+var file_AttackResult_proto_depIdxs = []int32{
+ 1, // 0: proto.AttackResult.hit_eff_result:type_name -> proto.AttackHitEffectResult
+ 2, // 1: proto.AttackResult.resolved_dir:type_name -> proto.Vector
+ 3, // 2: proto.AttackResult.ability_identifier:type_name -> proto.AbilityIdentifier
+ 4, // 3: proto.AttackResult.hit_collision:type_name -> proto.HitCollision
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_AttackResult_proto_init() }
+func file_AttackResult_proto_init() {
+ if File_AttackResult_proto != nil {
+ return
+ }
+ file_AbilityIdentifier_proto_init()
+ file_AttackHitEffectResult_proto_init()
+ file_HitCollision_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AttackResult_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AttackResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AttackResult_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AttackResult_proto_goTypes,
+ DependencyIndexes: file_AttackResult_proto_depIdxs,
+ MessageInfos: file_AttackResult_proto_msgTypes,
+ }.Build()
+ File_AttackResult_proto = out.File
+ file_AttackResult_proto_rawDesc = nil
+ file_AttackResult_proto_goTypes = nil
+ file_AttackResult_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AttackResultCreateCount.pb.go b/protocol/proto/AttackResultCreateCount.pb.go
new file mode 100644
index 00000000..6ef6b465
--- /dev/null
+++ b/protocol/proto/AttackResultCreateCount.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AttackResultCreateCount.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AttackResultCreateCount struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CreateCountList []uint32 `protobuf:"varint,10,rep,packed,name=create_count_list,json=createCountList,proto3" json:"create_count_list,omitempty"`
+ CreateCountNoCostList []uint32 `protobuf:"varint,7,rep,packed,name=create_count_no_cost_list,json=createCountNoCostList,proto3" json:"create_count_no_cost_list,omitempty"`
+}
+
+func (x *AttackResultCreateCount) Reset() {
+ *x = AttackResultCreateCount{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AttackResultCreateCount_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AttackResultCreateCount) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AttackResultCreateCount) ProtoMessage() {}
+
+func (x *AttackResultCreateCount) ProtoReflect() protoreflect.Message {
+ mi := &file_AttackResultCreateCount_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AttackResultCreateCount.ProtoReflect.Descriptor instead.
+func (*AttackResultCreateCount) Descriptor() ([]byte, []int) {
+ return file_AttackResultCreateCount_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AttackResultCreateCount) GetCreateCountList() []uint32 {
+ if x != nil {
+ return x.CreateCountList
+ }
+ return nil
+}
+
+func (x *AttackResultCreateCount) GetCreateCountNoCostList() []uint32 {
+ if x != nil {
+ return x.CreateCountNoCostList
+ }
+ return nil
+}
+
+var File_AttackResultCreateCount_proto protoreflect.FileDescriptor
+
+var file_AttackResultCreateCount_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x17, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a,
+ 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x6f,
+ 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x43,
+ 0x6f, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AttackResultCreateCount_proto_rawDescOnce sync.Once
+ file_AttackResultCreateCount_proto_rawDescData = file_AttackResultCreateCount_proto_rawDesc
+)
+
+func file_AttackResultCreateCount_proto_rawDescGZIP() []byte {
+ file_AttackResultCreateCount_proto_rawDescOnce.Do(func() {
+ file_AttackResultCreateCount_proto_rawDescData = protoimpl.X.CompressGZIP(file_AttackResultCreateCount_proto_rawDescData)
+ })
+ return file_AttackResultCreateCount_proto_rawDescData
+}
+
+var file_AttackResultCreateCount_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AttackResultCreateCount_proto_goTypes = []interface{}{
+ (*AttackResultCreateCount)(nil), // 0: proto.AttackResultCreateCount
+}
+var file_AttackResultCreateCount_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AttackResultCreateCount_proto_init() }
+func file_AttackResultCreateCount_proto_init() {
+ if File_AttackResultCreateCount_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AttackResultCreateCount_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AttackResultCreateCount); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AttackResultCreateCount_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AttackResultCreateCount_proto_goTypes,
+ DependencyIndexes: file_AttackResultCreateCount_proto_depIdxs,
+ MessageInfos: file_AttackResultCreateCount_proto_msgTypes,
+ }.Build()
+ File_AttackResultCreateCount_proto = out.File
+ file_AttackResultCreateCount_proto_rawDesc = nil
+ file_AttackResultCreateCount_proto_goTypes = nil
+ file_AttackResultCreateCount_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AuditState.pb.go b/protocol/proto/AuditState.pb.go
new file mode 100644
index 00000000..6fdec419
--- /dev/null
+++ b/protocol/proto/AuditState.pb.go
@@ -0,0 +1,149 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AuditState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AuditState int32
+
+const (
+ AuditState_AUDIT_STATE_NONE AuditState = 0
+ AuditState_AUDIT_STATE_WAITING AuditState = 1
+ AuditState_AUDIT_STATE_FAILED AuditState = 2
+)
+
+// Enum value maps for AuditState.
+var (
+ AuditState_name = map[int32]string{
+ 0: "AUDIT_STATE_NONE",
+ 1: "AUDIT_STATE_WAITING",
+ 2: "AUDIT_STATE_FAILED",
+ }
+ AuditState_value = map[string]int32{
+ "AUDIT_STATE_NONE": 0,
+ "AUDIT_STATE_WAITING": 1,
+ "AUDIT_STATE_FAILED": 2,
+ }
+)
+
+func (x AuditState) Enum() *AuditState {
+ p := new(AuditState)
+ *p = x
+ return p
+}
+
+func (x AuditState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AuditState) Descriptor() protoreflect.EnumDescriptor {
+ return file_AuditState_proto_enumTypes[0].Descriptor()
+}
+
+func (AuditState) Type() protoreflect.EnumType {
+ return &file_AuditState_proto_enumTypes[0]
+}
+
+func (x AuditState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AuditState.Descriptor instead.
+func (AuditState) EnumDescriptor() ([]byte, []int) {
+ return file_AuditState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AuditState_proto protoreflect.FileDescriptor
+
+var file_AuditState_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x53, 0x0a, 0x0a, 0x41, 0x75, 0x64,
+ 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x55, 0x44, 0x49, 0x54,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a,
+ 0x13, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49,
+ 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x55, 0x44, 0x49, 0x54, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AuditState_proto_rawDescOnce sync.Once
+ file_AuditState_proto_rawDescData = file_AuditState_proto_rawDesc
+)
+
+func file_AuditState_proto_rawDescGZIP() []byte {
+ file_AuditState_proto_rawDescOnce.Do(func() {
+ file_AuditState_proto_rawDescData = protoimpl.X.CompressGZIP(file_AuditState_proto_rawDescData)
+ })
+ return file_AuditState_proto_rawDescData
+}
+
+var file_AuditState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_AuditState_proto_goTypes = []interface{}{
+ (AuditState)(0), // 0: proto.AuditState
+}
+var file_AuditState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AuditState_proto_init() }
+func file_AuditState_proto_init() {
+ if File_AuditState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AuditState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AuditState_proto_goTypes,
+ DependencyIndexes: file_AuditState_proto_depIdxs,
+ EnumInfos: file_AuditState_proto_enumTypes,
+ }.Build()
+ File_AuditState_proto = out.File
+ file_AuditState_proto_rawDesc = nil
+ file_AuditState_proto_goTypes = nil
+ file_AuditState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AuthorityChange.pb.go b/protocol/proto/AuthorityChange.pb.go
new file mode 100644
index 00000000..2fe5e5d1
--- /dev/null
+++ b/protocol/proto/AuthorityChange.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AuthorityChange.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AuthorityChange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityAuthorityInfo *EntityAuthorityInfo `protobuf:"bytes,5,opt,name=entity_authority_info,json=entityAuthorityInfo,proto3" json:"entity_authority_info,omitempty"`
+ AuthorityPeerId uint32 `protobuf:"varint,3,opt,name=authority_peer_id,json=authorityPeerId,proto3" json:"authority_peer_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,13,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *AuthorityChange) Reset() {
+ *x = AuthorityChange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AuthorityChange_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AuthorityChange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AuthorityChange) ProtoMessage() {}
+
+func (x *AuthorityChange) ProtoReflect() protoreflect.Message {
+ mi := &file_AuthorityChange_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AuthorityChange.ProtoReflect.Descriptor instead.
+func (*AuthorityChange) Descriptor() ([]byte, []int) {
+ return file_AuthorityChange_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AuthorityChange) GetEntityAuthorityInfo() *EntityAuthorityInfo {
+ if x != nil {
+ return x.EntityAuthorityInfo
+ }
+ return nil
+}
+
+func (x *AuthorityChange) GetAuthorityPeerId() uint32 {
+ if x != nil {
+ return x.AuthorityPeerId
+ }
+ return 0
+}
+
+func (x *AuthorityChange) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_AuthorityChange_proto protoreflect.FileDescriptor
+
+var file_AuthorityChange_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x0f, 0x41, 0x75,
+ 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x4e, 0x0a,
+ 0x15, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f,
+ 0x72, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a,
+ 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
+ 0x69, 0x74, 0x79, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AuthorityChange_proto_rawDescOnce sync.Once
+ file_AuthorityChange_proto_rawDescData = file_AuthorityChange_proto_rawDesc
+)
+
+func file_AuthorityChange_proto_rawDescGZIP() []byte {
+ file_AuthorityChange_proto_rawDescOnce.Do(func() {
+ file_AuthorityChange_proto_rawDescData = protoimpl.X.CompressGZIP(file_AuthorityChange_proto_rawDescData)
+ })
+ return file_AuthorityChange_proto_rawDescData
+}
+
+var file_AuthorityChange_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AuthorityChange_proto_goTypes = []interface{}{
+ (*AuthorityChange)(nil), // 0: proto.AuthorityChange
+ (*EntityAuthorityInfo)(nil), // 1: proto.EntityAuthorityInfo
+}
+var file_AuthorityChange_proto_depIdxs = []int32{
+ 1, // 0: proto.AuthorityChange.entity_authority_info:type_name -> proto.EntityAuthorityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AuthorityChange_proto_init() }
+func file_AuthorityChange_proto_init() {
+ if File_AuthorityChange_proto != nil {
+ return
+ }
+ file_EntityAuthorityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AuthorityChange_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AuthorityChange); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AuthorityChange_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AuthorityChange_proto_goTypes,
+ DependencyIndexes: file_AuthorityChange_proto_depIdxs,
+ MessageInfos: file_AuthorityChange_proto_msgTypes,
+ }.Build()
+ File_AuthorityChange_proto = out.File
+ file_AuthorityChange_proto_rawDesc = nil
+ file_AuthorityChange_proto_goTypes = nil
+ file_AuthorityChange_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarAddNotify.pb.go b/protocol/proto/AvatarAddNotify.pb.go
new file mode 100644
index 00000000..11e52b31
--- /dev/null
+++ b/protocol/proto/AvatarAddNotify.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarAddNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1769
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarAddNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Avatar *AvatarInfo `protobuf:"bytes,13,opt,name=avatar,proto3" json:"avatar,omitempty"`
+ IsInTeam bool `protobuf:"varint,12,opt,name=is_in_team,json=isInTeam,proto3" json:"is_in_team,omitempty"`
+}
+
+func (x *AvatarAddNotify) Reset() {
+ *x = AvatarAddNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarAddNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarAddNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarAddNotify) ProtoMessage() {}
+
+func (x *AvatarAddNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarAddNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarAddNotify.ProtoReflect.Descriptor instead.
+func (*AvatarAddNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarAddNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarAddNotify) GetAvatar() *AvatarInfo {
+ if x != nil {
+ return x.Avatar
+ }
+ return nil
+}
+
+func (x *AvatarAddNotify) GetIsInTeam() bool {
+ if x != nil {
+ return x.IsInTeam
+ }
+ return false
+}
+
+var File_AvatarAddNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarAddNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x5a, 0x0a, 0x0f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1c,
+ 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x49, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarAddNotify_proto_rawDescOnce sync.Once
+ file_AvatarAddNotify_proto_rawDescData = file_AvatarAddNotify_proto_rawDesc
+)
+
+func file_AvatarAddNotify_proto_rawDescGZIP() []byte {
+ file_AvatarAddNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarAddNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarAddNotify_proto_rawDescData)
+ })
+ return file_AvatarAddNotify_proto_rawDescData
+}
+
+var file_AvatarAddNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarAddNotify_proto_goTypes = []interface{}{
+ (*AvatarAddNotify)(nil), // 0: proto.AvatarAddNotify
+ (*AvatarInfo)(nil), // 1: proto.AvatarInfo
+}
+var file_AvatarAddNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarAddNotify.avatar:type_name -> proto.AvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarAddNotify_proto_init() }
+func file_AvatarAddNotify_proto_init() {
+ if File_AvatarAddNotify_proto != nil {
+ return
+ }
+ file_AvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarAddNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarAddNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarAddNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarAddNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarAddNotify_proto_depIdxs,
+ MessageInfos: file_AvatarAddNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarAddNotify_proto = out.File
+ file_AvatarAddNotify_proto_rawDesc = nil
+ file_AvatarAddNotify_proto_goTypes = nil
+ file_AvatarAddNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarBuffAddNotify.pb.go b/protocol/proto/AvatarBuffAddNotify.pb.go
new file mode 100644
index 00000000..219489f9
--- /dev/null
+++ b/protocol/proto/AvatarBuffAddNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarBuffAddNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 388
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarBuffAddNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,10,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ BuffId uint32 `protobuf:"varint,6,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+}
+
+func (x *AvatarBuffAddNotify) Reset() {
+ *x = AvatarBuffAddNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarBuffAddNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarBuffAddNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarBuffAddNotify) ProtoMessage() {}
+
+func (x *AvatarBuffAddNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarBuffAddNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarBuffAddNotify.ProtoReflect.Descriptor instead.
+func (*AvatarBuffAddNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarBuffAddNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarBuffAddNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarBuffAddNotify) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+var File_AvatarBuffAddNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarBuffAddNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x42, 0x75, 0x66, 0x66, 0x41, 0x64, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x42, 0x75, 0x66, 0x66,
+ 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75,
+ 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66,
+ 0x66, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarBuffAddNotify_proto_rawDescOnce sync.Once
+ file_AvatarBuffAddNotify_proto_rawDescData = file_AvatarBuffAddNotify_proto_rawDesc
+)
+
+func file_AvatarBuffAddNotify_proto_rawDescGZIP() []byte {
+ file_AvatarBuffAddNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarBuffAddNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarBuffAddNotify_proto_rawDescData)
+ })
+ return file_AvatarBuffAddNotify_proto_rawDescData
+}
+
+var file_AvatarBuffAddNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarBuffAddNotify_proto_goTypes = []interface{}{
+ (*AvatarBuffAddNotify)(nil), // 0: proto.AvatarBuffAddNotify
+}
+var file_AvatarBuffAddNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarBuffAddNotify_proto_init() }
+func file_AvatarBuffAddNotify_proto_init() {
+ if File_AvatarBuffAddNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarBuffAddNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarBuffAddNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarBuffAddNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarBuffAddNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarBuffAddNotify_proto_depIdxs,
+ MessageInfos: file_AvatarBuffAddNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarBuffAddNotify_proto = out.File
+ file_AvatarBuffAddNotify_proto_rawDesc = nil
+ file_AvatarBuffAddNotify_proto_goTypes = nil
+ file_AvatarBuffAddNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarBuffDelNotify.pb.go b/protocol/proto/AvatarBuffDelNotify.pb.go
new file mode 100644
index 00000000..736488f0
--- /dev/null
+++ b/protocol/proto/AvatarBuffDelNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarBuffDelNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 326
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarBuffDelNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,10,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ BuffId uint32 `protobuf:"varint,12,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+}
+
+func (x *AvatarBuffDelNotify) Reset() {
+ *x = AvatarBuffDelNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarBuffDelNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarBuffDelNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarBuffDelNotify) ProtoMessage() {}
+
+func (x *AvatarBuffDelNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarBuffDelNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarBuffDelNotify.ProtoReflect.Descriptor instead.
+func (*AvatarBuffDelNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarBuffDelNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarBuffDelNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarBuffDelNotify) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+var File_AvatarBuffDelNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarBuffDelNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x42, 0x75, 0x66, 0x66, 0x44, 0x65, 0x6c, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x42, 0x75, 0x66, 0x66,
+ 0x44, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75,
+ 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66,
+ 0x66, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarBuffDelNotify_proto_rawDescOnce sync.Once
+ file_AvatarBuffDelNotify_proto_rawDescData = file_AvatarBuffDelNotify_proto_rawDesc
+)
+
+func file_AvatarBuffDelNotify_proto_rawDescGZIP() []byte {
+ file_AvatarBuffDelNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarBuffDelNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarBuffDelNotify_proto_rawDescData)
+ })
+ return file_AvatarBuffDelNotify_proto_rawDescData
+}
+
+var file_AvatarBuffDelNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarBuffDelNotify_proto_goTypes = []interface{}{
+ (*AvatarBuffDelNotify)(nil), // 0: proto.AvatarBuffDelNotify
+}
+var file_AvatarBuffDelNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarBuffDelNotify_proto_init() }
+func file_AvatarBuffDelNotify_proto_init() {
+ if File_AvatarBuffDelNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarBuffDelNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarBuffDelNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarBuffDelNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarBuffDelNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarBuffDelNotify_proto_depIdxs,
+ MessageInfos: file_AvatarBuffDelNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarBuffDelNotify_proto = out.File
+ file_AvatarBuffDelNotify_proto_rawDesc = nil
+ file_AvatarBuffDelNotify_proto_goTypes = nil
+ file_AvatarBuffDelNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarCardChangeReq.pb.go b/protocol/proto/AvatarCardChangeReq.pb.go
new file mode 100644
index 00000000..83e611f4
--- /dev/null
+++ b/protocol/proto/AvatarCardChangeReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarCardChangeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 688
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarCardChangeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,6,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,14,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ Count uint32 `protobuf:"varint,7,opt,name=count,proto3" json:"count,omitempty"`
+}
+
+func (x *AvatarCardChangeReq) Reset() {
+ *x = AvatarCardChangeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarCardChangeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarCardChangeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarCardChangeReq) ProtoMessage() {}
+
+func (x *AvatarCardChangeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarCardChangeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarCardChangeReq.ProtoReflect.Descriptor instead.
+func (*AvatarCardChangeReq) Descriptor() ([]byte, []int) {
+ return file_AvatarCardChangeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarCardChangeReq) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *AvatarCardChangeReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarCardChangeReq) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+var File_AvatarCardChangeReq_proto protoreflect.FileDescriptor
+
+var file_AvatarCardChangeReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47,
+ 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarCardChangeReq_proto_rawDescOnce sync.Once
+ file_AvatarCardChangeReq_proto_rawDescData = file_AvatarCardChangeReq_proto_rawDesc
+)
+
+func file_AvatarCardChangeReq_proto_rawDescGZIP() []byte {
+ file_AvatarCardChangeReq_proto_rawDescOnce.Do(func() {
+ file_AvatarCardChangeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarCardChangeReq_proto_rawDescData)
+ })
+ return file_AvatarCardChangeReq_proto_rawDescData
+}
+
+var file_AvatarCardChangeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarCardChangeReq_proto_goTypes = []interface{}{
+ (*AvatarCardChangeReq)(nil), // 0: proto.AvatarCardChangeReq
+}
+var file_AvatarCardChangeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarCardChangeReq_proto_init() }
+func file_AvatarCardChangeReq_proto_init() {
+ if File_AvatarCardChangeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarCardChangeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarCardChangeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarCardChangeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarCardChangeReq_proto_goTypes,
+ DependencyIndexes: file_AvatarCardChangeReq_proto_depIdxs,
+ MessageInfos: file_AvatarCardChangeReq_proto_msgTypes,
+ }.Build()
+ File_AvatarCardChangeReq_proto = out.File
+ file_AvatarCardChangeReq_proto_rawDesc = nil
+ file_AvatarCardChangeReq_proto_goTypes = nil
+ file_AvatarCardChangeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarCardChangeRsp.pb.go b/protocol/proto/AvatarCardChangeRsp.pb.go
new file mode 100644
index 00000000..97e49b0a
--- /dev/null
+++ b/protocol/proto/AvatarCardChangeRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarCardChangeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 626
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarCardChangeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AvatarCardChangeRsp) Reset() {
+ *x = AvatarCardChangeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarCardChangeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarCardChangeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarCardChangeRsp) ProtoMessage() {}
+
+func (x *AvatarCardChangeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarCardChangeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarCardChangeRsp.ProtoReflect.Descriptor instead.
+func (*AvatarCardChangeRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarCardChangeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarCardChangeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AvatarCardChangeRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarCardChangeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarCardChangeRsp_proto_rawDescOnce sync.Once
+ file_AvatarCardChangeRsp_proto_rawDescData = file_AvatarCardChangeRsp_proto_rawDesc
+)
+
+func file_AvatarCardChangeRsp_proto_rawDescGZIP() []byte {
+ file_AvatarCardChangeRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarCardChangeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarCardChangeRsp_proto_rawDescData)
+ })
+ return file_AvatarCardChangeRsp_proto_rawDescData
+}
+
+var file_AvatarCardChangeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarCardChangeRsp_proto_goTypes = []interface{}{
+ (*AvatarCardChangeRsp)(nil), // 0: proto.AvatarCardChangeRsp
+}
+var file_AvatarCardChangeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarCardChangeRsp_proto_init() }
+func file_AvatarCardChangeRsp_proto_init() {
+ if File_AvatarCardChangeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarCardChangeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarCardChangeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarCardChangeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarCardChangeRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarCardChangeRsp_proto_depIdxs,
+ MessageInfos: file_AvatarCardChangeRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarCardChangeRsp_proto = out.File
+ file_AvatarCardChangeRsp_proto_rawDesc = nil
+ file_AvatarCardChangeRsp_proto_goTypes = nil
+ file_AvatarCardChangeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarChangeAnimHashReq.pb.go b/protocol/proto/AvatarChangeAnimHashReq.pb.go
new file mode 100644
index 00000000..3af4e123
--- /dev/null
+++ b/protocol/proto/AvatarChangeAnimHashReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarChangeAnimHashReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1711
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarChangeAnimHashReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AnimHash uint32 `protobuf:"varint,6,opt,name=anim_hash,json=animHash,proto3" json:"anim_hash,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,3,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarChangeAnimHashReq) Reset() {
+ *x = AvatarChangeAnimHashReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarChangeAnimHashReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarChangeAnimHashReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarChangeAnimHashReq) ProtoMessage() {}
+
+func (x *AvatarChangeAnimHashReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarChangeAnimHashReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarChangeAnimHashReq.ProtoReflect.Descriptor instead.
+func (*AvatarChangeAnimHashReq) Descriptor() ([]byte, []int) {
+ return file_AvatarChangeAnimHashReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarChangeAnimHashReq) GetAnimHash() uint32 {
+ if x != nil {
+ return x.AnimHash
+ }
+ return 0
+}
+
+func (x *AvatarChangeAnimHashReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarChangeAnimHashReq_proto protoreflect.FileDescriptor
+
+var file_AvatarChangeAnimHashReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e,
+ 0x69, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x17, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65,
+ 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x69, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarChangeAnimHashReq_proto_rawDescOnce sync.Once
+ file_AvatarChangeAnimHashReq_proto_rawDescData = file_AvatarChangeAnimHashReq_proto_rawDesc
+)
+
+func file_AvatarChangeAnimHashReq_proto_rawDescGZIP() []byte {
+ file_AvatarChangeAnimHashReq_proto_rawDescOnce.Do(func() {
+ file_AvatarChangeAnimHashReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarChangeAnimHashReq_proto_rawDescData)
+ })
+ return file_AvatarChangeAnimHashReq_proto_rawDescData
+}
+
+var file_AvatarChangeAnimHashReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarChangeAnimHashReq_proto_goTypes = []interface{}{
+ (*AvatarChangeAnimHashReq)(nil), // 0: proto.AvatarChangeAnimHashReq
+}
+var file_AvatarChangeAnimHashReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarChangeAnimHashReq_proto_init() }
+func file_AvatarChangeAnimHashReq_proto_init() {
+ if File_AvatarChangeAnimHashReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarChangeAnimHashReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarChangeAnimHashReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarChangeAnimHashReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarChangeAnimHashReq_proto_goTypes,
+ DependencyIndexes: file_AvatarChangeAnimHashReq_proto_depIdxs,
+ MessageInfos: file_AvatarChangeAnimHashReq_proto_msgTypes,
+ }.Build()
+ File_AvatarChangeAnimHashReq_proto = out.File
+ file_AvatarChangeAnimHashReq_proto_rawDesc = nil
+ file_AvatarChangeAnimHashReq_proto_goTypes = nil
+ file_AvatarChangeAnimHashReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarChangeAnimHashRsp.pb.go b/protocol/proto/AvatarChangeAnimHashRsp.pb.go
new file mode 100644
index 00000000..7508f350
--- /dev/null
+++ b/protocol/proto/AvatarChangeAnimHashRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarChangeAnimHashRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1647
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarChangeAnimHashRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AnimHash uint32 `protobuf:"varint,13,opt,name=anim_hash,json=animHash,proto3" json:"anim_hash,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,10,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarChangeAnimHashRsp) Reset() {
+ *x = AvatarChangeAnimHashRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarChangeAnimHashRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarChangeAnimHashRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarChangeAnimHashRsp) ProtoMessage() {}
+
+func (x *AvatarChangeAnimHashRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarChangeAnimHashRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarChangeAnimHashRsp.ProtoReflect.Descriptor instead.
+func (*AvatarChangeAnimHashRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarChangeAnimHashRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarChangeAnimHashRsp) GetAnimHash() uint32 {
+ if x != nil {
+ return x.AnimHash
+ }
+ return 0
+}
+
+func (x *AvatarChangeAnimHashRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AvatarChangeAnimHashRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarChangeAnimHashRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarChangeAnimHashRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e,
+ 0x69, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x17, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x52, 0x73,
+ 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x69, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarChangeAnimHashRsp_proto_rawDescOnce sync.Once
+ file_AvatarChangeAnimHashRsp_proto_rawDescData = file_AvatarChangeAnimHashRsp_proto_rawDesc
+)
+
+func file_AvatarChangeAnimHashRsp_proto_rawDescGZIP() []byte {
+ file_AvatarChangeAnimHashRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarChangeAnimHashRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarChangeAnimHashRsp_proto_rawDescData)
+ })
+ return file_AvatarChangeAnimHashRsp_proto_rawDescData
+}
+
+var file_AvatarChangeAnimHashRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarChangeAnimHashRsp_proto_goTypes = []interface{}{
+ (*AvatarChangeAnimHashRsp)(nil), // 0: proto.AvatarChangeAnimHashRsp
+}
+var file_AvatarChangeAnimHashRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarChangeAnimHashRsp_proto_init() }
+func file_AvatarChangeAnimHashRsp_proto_init() {
+ if File_AvatarChangeAnimHashRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarChangeAnimHashRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarChangeAnimHashRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarChangeAnimHashRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarChangeAnimHashRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarChangeAnimHashRsp_proto_depIdxs,
+ MessageInfos: file_AvatarChangeAnimHashRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarChangeAnimHashRsp_proto = out.File
+ file_AvatarChangeAnimHashRsp_proto_rawDesc = nil
+ file_AvatarChangeAnimHashRsp_proto_goTypes = nil
+ file_AvatarChangeAnimHashRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarChangeCostumeNotify.pb.go b/protocol/proto/AvatarChangeCostumeNotify.pb.go
new file mode 100644
index 00000000..db137d23
--- /dev/null
+++ b/protocol/proto/AvatarChangeCostumeNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarChangeCostumeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1644
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarChangeCostumeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityInfo *SceneEntityInfo `protobuf:"bytes,7,opt,name=entity_info,json=entityInfo,proto3" json:"entity_info,omitempty"`
+}
+
+func (x *AvatarChangeCostumeNotify) Reset() {
+ *x = AvatarChangeCostumeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarChangeCostumeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarChangeCostumeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarChangeCostumeNotify) ProtoMessage() {}
+
+func (x *AvatarChangeCostumeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarChangeCostumeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarChangeCostumeNotify.ProtoReflect.Descriptor instead.
+func (*AvatarChangeCostumeNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarChangeCostumeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarChangeCostumeNotify) GetEntityInfo() *SceneEntityInfo {
+ if x != nil {
+ return x.EntityInfo
+ }
+ return nil
+}
+
+var File_AvatarChangeCostumeNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarChangeCostumeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f,
+ 0x73, 0x74, 0x75, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x54, 0x0a, 0x19, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43,
+ 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x37, 0x0a, 0x0b,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarChangeCostumeNotify_proto_rawDescOnce sync.Once
+ file_AvatarChangeCostumeNotify_proto_rawDescData = file_AvatarChangeCostumeNotify_proto_rawDesc
+)
+
+func file_AvatarChangeCostumeNotify_proto_rawDescGZIP() []byte {
+ file_AvatarChangeCostumeNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarChangeCostumeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarChangeCostumeNotify_proto_rawDescData)
+ })
+ return file_AvatarChangeCostumeNotify_proto_rawDescData
+}
+
+var file_AvatarChangeCostumeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarChangeCostumeNotify_proto_goTypes = []interface{}{
+ (*AvatarChangeCostumeNotify)(nil), // 0: proto.AvatarChangeCostumeNotify
+ (*SceneEntityInfo)(nil), // 1: proto.SceneEntityInfo
+}
+var file_AvatarChangeCostumeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarChangeCostumeNotify.entity_info:type_name -> proto.SceneEntityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarChangeCostumeNotify_proto_init() }
+func file_AvatarChangeCostumeNotify_proto_init() {
+ if File_AvatarChangeCostumeNotify_proto != nil {
+ return
+ }
+ file_SceneEntityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarChangeCostumeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarChangeCostumeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarChangeCostumeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarChangeCostumeNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarChangeCostumeNotify_proto_depIdxs,
+ MessageInfos: file_AvatarChangeCostumeNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarChangeCostumeNotify_proto = out.File
+ file_AvatarChangeCostumeNotify_proto_rawDesc = nil
+ file_AvatarChangeCostumeNotify_proto_goTypes = nil
+ file_AvatarChangeCostumeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarChangeCostumeReq.pb.go b/protocol/proto/AvatarChangeCostumeReq.pb.go
new file mode 100644
index 00000000..864b96a0
--- /dev/null
+++ b/protocol/proto/AvatarChangeCostumeReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarChangeCostumeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1778
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarChangeCostumeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostumeId uint32 `protobuf:"varint,4,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,2,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarChangeCostumeReq) Reset() {
+ *x = AvatarChangeCostumeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarChangeCostumeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarChangeCostumeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarChangeCostumeReq) ProtoMessage() {}
+
+func (x *AvatarChangeCostumeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarChangeCostumeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarChangeCostumeReq.ProtoReflect.Descriptor instead.
+func (*AvatarChangeCostumeReq) Descriptor() ([]byte, []int) {
+ return file_AvatarChangeCostumeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarChangeCostumeReq) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *AvatarChangeCostumeReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarChangeCostumeReq_proto protoreflect.FileDescriptor
+
+var file_AvatarChangeCostumeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f,
+ 0x73, 0x74, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarChangeCostumeReq_proto_rawDescOnce sync.Once
+ file_AvatarChangeCostumeReq_proto_rawDescData = file_AvatarChangeCostumeReq_proto_rawDesc
+)
+
+func file_AvatarChangeCostumeReq_proto_rawDescGZIP() []byte {
+ file_AvatarChangeCostumeReq_proto_rawDescOnce.Do(func() {
+ file_AvatarChangeCostumeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarChangeCostumeReq_proto_rawDescData)
+ })
+ return file_AvatarChangeCostumeReq_proto_rawDescData
+}
+
+var file_AvatarChangeCostumeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarChangeCostumeReq_proto_goTypes = []interface{}{
+ (*AvatarChangeCostumeReq)(nil), // 0: proto.AvatarChangeCostumeReq
+}
+var file_AvatarChangeCostumeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarChangeCostumeReq_proto_init() }
+func file_AvatarChangeCostumeReq_proto_init() {
+ if File_AvatarChangeCostumeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarChangeCostumeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarChangeCostumeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarChangeCostumeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarChangeCostumeReq_proto_goTypes,
+ DependencyIndexes: file_AvatarChangeCostumeReq_proto_depIdxs,
+ MessageInfos: file_AvatarChangeCostumeReq_proto_msgTypes,
+ }.Build()
+ File_AvatarChangeCostumeReq_proto = out.File
+ file_AvatarChangeCostumeReq_proto_rawDesc = nil
+ file_AvatarChangeCostumeReq_proto_goTypes = nil
+ file_AvatarChangeCostumeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarChangeCostumeRsp.pb.go b/protocol/proto/AvatarChangeCostumeRsp.pb.go
new file mode 100644
index 00000000..9c854045
--- /dev/null
+++ b/protocol/proto/AvatarChangeCostumeRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarChangeCostumeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1645
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarChangeCostumeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,12,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CostumeId uint32 `protobuf:"varint,13,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+}
+
+func (x *AvatarChangeCostumeRsp) Reset() {
+ *x = AvatarChangeCostumeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarChangeCostumeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarChangeCostumeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarChangeCostumeRsp) ProtoMessage() {}
+
+func (x *AvatarChangeCostumeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarChangeCostumeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarChangeCostumeRsp.ProtoReflect.Descriptor instead.
+func (*AvatarChangeCostumeRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarChangeCostumeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarChangeCostumeRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarChangeCostumeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AvatarChangeCostumeRsp) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+var File_AvatarChangeCostumeRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarChangeCostumeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f,
+ 0x73, 0x74, 0x75, 0x6d, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x52, 0x73, 0x70, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f,
+ 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarChangeCostumeRsp_proto_rawDescOnce sync.Once
+ file_AvatarChangeCostumeRsp_proto_rawDescData = file_AvatarChangeCostumeRsp_proto_rawDesc
+)
+
+func file_AvatarChangeCostumeRsp_proto_rawDescGZIP() []byte {
+ file_AvatarChangeCostumeRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarChangeCostumeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarChangeCostumeRsp_proto_rawDescData)
+ })
+ return file_AvatarChangeCostumeRsp_proto_rawDescData
+}
+
+var file_AvatarChangeCostumeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarChangeCostumeRsp_proto_goTypes = []interface{}{
+ (*AvatarChangeCostumeRsp)(nil), // 0: proto.AvatarChangeCostumeRsp
+}
+var file_AvatarChangeCostumeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarChangeCostumeRsp_proto_init() }
+func file_AvatarChangeCostumeRsp_proto_init() {
+ if File_AvatarChangeCostumeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarChangeCostumeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarChangeCostumeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarChangeCostumeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarChangeCostumeRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarChangeCostumeRsp_proto_depIdxs,
+ MessageInfos: file_AvatarChangeCostumeRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarChangeCostumeRsp_proto = out.File
+ file_AvatarChangeCostumeRsp_proto_rawDesc = nil
+ file_AvatarChangeCostumeRsp_proto_goTypes = nil
+ file_AvatarChangeCostumeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarChangeElementTypeReq.pb.go b/protocol/proto/AvatarChangeElementTypeReq.pb.go
new file mode 100644
index 00000000..8c203485
--- /dev/null
+++ b/protocol/proto/AvatarChangeElementTypeReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarChangeElementTypeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1785
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarChangeElementTypeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,7,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ AreaId uint32 `protobuf:"varint,3,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+}
+
+func (x *AvatarChangeElementTypeReq) Reset() {
+ *x = AvatarChangeElementTypeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarChangeElementTypeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarChangeElementTypeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarChangeElementTypeReq) ProtoMessage() {}
+
+func (x *AvatarChangeElementTypeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarChangeElementTypeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarChangeElementTypeReq.ProtoReflect.Descriptor instead.
+func (*AvatarChangeElementTypeReq) Descriptor() ([]byte, []int) {
+ return file_AvatarChangeElementTypeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarChangeElementTypeReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *AvatarChangeElementTypeReq) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+var File_AvatarChangeElementTypeReq_proto protoreflect.FileDescriptor
+
+var file_AvatarChangeElementTypeReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6c,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x1a, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarChangeElementTypeReq_proto_rawDescOnce sync.Once
+ file_AvatarChangeElementTypeReq_proto_rawDescData = file_AvatarChangeElementTypeReq_proto_rawDesc
+)
+
+func file_AvatarChangeElementTypeReq_proto_rawDescGZIP() []byte {
+ file_AvatarChangeElementTypeReq_proto_rawDescOnce.Do(func() {
+ file_AvatarChangeElementTypeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarChangeElementTypeReq_proto_rawDescData)
+ })
+ return file_AvatarChangeElementTypeReq_proto_rawDescData
+}
+
+var file_AvatarChangeElementTypeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarChangeElementTypeReq_proto_goTypes = []interface{}{
+ (*AvatarChangeElementTypeReq)(nil), // 0: proto.AvatarChangeElementTypeReq
+}
+var file_AvatarChangeElementTypeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarChangeElementTypeReq_proto_init() }
+func file_AvatarChangeElementTypeReq_proto_init() {
+ if File_AvatarChangeElementTypeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarChangeElementTypeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarChangeElementTypeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarChangeElementTypeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarChangeElementTypeReq_proto_goTypes,
+ DependencyIndexes: file_AvatarChangeElementTypeReq_proto_depIdxs,
+ MessageInfos: file_AvatarChangeElementTypeReq_proto_msgTypes,
+ }.Build()
+ File_AvatarChangeElementTypeReq_proto = out.File
+ file_AvatarChangeElementTypeReq_proto_rawDesc = nil
+ file_AvatarChangeElementTypeReq_proto_goTypes = nil
+ file_AvatarChangeElementTypeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarChangeElementTypeRsp.pb.go b/protocol/proto/AvatarChangeElementTypeRsp.pb.go
new file mode 100644
index 00000000..3c543de0
--- /dev/null
+++ b/protocol/proto/AvatarChangeElementTypeRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarChangeElementTypeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1651
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarChangeElementTypeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AvatarChangeElementTypeRsp) Reset() {
+ *x = AvatarChangeElementTypeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarChangeElementTypeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarChangeElementTypeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarChangeElementTypeRsp) ProtoMessage() {}
+
+func (x *AvatarChangeElementTypeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarChangeElementTypeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarChangeElementTypeRsp.ProtoReflect.Descriptor instead.
+func (*AvatarChangeElementTypeRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarChangeElementTypeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarChangeElementTypeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AvatarChangeElementTypeRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarChangeElementTypeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6c,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarChangeElementTypeRsp_proto_rawDescOnce sync.Once
+ file_AvatarChangeElementTypeRsp_proto_rawDescData = file_AvatarChangeElementTypeRsp_proto_rawDesc
+)
+
+func file_AvatarChangeElementTypeRsp_proto_rawDescGZIP() []byte {
+ file_AvatarChangeElementTypeRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarChangeElementTypeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarChangeElementTypeRsp_proto_rawDescData)
+ })
+ return file_AvatarChangeElementTypeRsp_proto_rawDescData
+}
+
+var file_AvatarChangeElementTypeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarChangeElementTypeRsp_proto_goTypes = []interface{}{
+ (*AvatarChangeElementTypeRsp)(nil), // 0: proto.AvatarChangeElementTypeRsp
+}
+var file_AvatarChangeElementTypeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarChangeElementTypeRsp_proto_init() }
+func file_AvatarChangeElementTypeRsp_proto_init() {
+ if File_AvatarChangeElementTypeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarChangeElementTypeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarChangeElementTypeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarChangeElementTypeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarChangeElementTypeRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarChangeElementTypeRsp_proto_depIdxs,
+ MessageInfos: file_AvatarChangeElementTypeRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarChangeElementTypeRsp_proto = out.File
+ file_AvatarChangeElementTypeRsp_proto_rawDesc = nil
+ file_AvatarChangeElementTypeRsp_proto_goTypes = nil
+ file_AvatarChangeElementTypeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarDataNotify.pb.go b/protocol/proto/AvatarDataNotify.pb.go
new file mode 100644
index 00000000..16134e15
--- /dev/null
+++ b/protocol/proto/AvatarDataNotify.pb.go
@@ -0,0 +1,259 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1633
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OwnedCostumeList []uint32 `protobuf:"varint,11,rep,packed,name=owned_costume_list,json=ownedCostumeList,proto3" json:"owned_costume_list,omitempty"`
+ ChooseAvatarGuid uint64 `protobuf:"varint,8,opt,name=choose_avatar_guid,json=chooseAvatarGuid,proto3" json:"choose_avatar_guid,omitempty"`
+ AvatarTeamMap map[uint32]*AvatarTeam `protobuf:"bytes,7,rep,name=avatar_team_map,json=avatarTeamMap,proto3" json:"avatar_team_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ BackupAvatarTeamOrderList []uint32 `protobuf:"varint,9,rep,packed,name=backup_avatar_team_order_list,json=backupAvatarTeamOrderList,proto3" json:"backup_avatar_team_order_list,omitempty"`
+ TempAvatarGuidList []uint64 `protobuf:"varint,12,rep,packed,name=temp_avatar_guid_list,json=tempAvatarGuidList,proto3" json:"temp_avatar_guid_list,omitempty"`
+ OwnedFlycloakList []uint32 `protobuf:"varint,1,rep,packed,name=owned_flycloak_list,json=ownedFlycloakList,proto3" json:"owned_flycloak_list,omitempty"`
+ AvatarList []*AvatarInfo `protobuf:"bytes,6,rep,name=avatar_list,json=avatarList,proto3" json:"avatar_list,omitempty"`
+ CurAvatarTeamId uint32 `protobuf:"varint,2,opt,name=cur_avatar_team_id,json=curAvatarTeamId,proto3" json:"cur_avatar_team_id,omitempty"`
+}
+
+func (x *AvatarDataNotify) Reset() {
+ *x = AvatarDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarDataNotify) ProtoMessage() {}
+
+func (x *AvatarDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarDataNotify.ProtoReflect.Descriptor instead.
+func (*AvatarDataNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarDataNotify) GetOwnedCostumeList() []uint32 {
+ if x != nil {
+ return x.OwnedCostumeList
+ }
+ return nil
+}
+
+func (x *AvatarDataNotify) GetChooseAvatarGuid() uint64 {
+ if x != nil {
+ return x.ChooseAvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarDataNotify) GetAvatarTeamMap() map[uint32]*AvatarTeam {
+ if x != nil {
+ return x.AvatarTeamMap
+ }
+ return nil
+}
+
+func (x *AvatarDataNotify) GetBackupAvatarTeamOrderList() []uint32 {
+ if x != nil {
+ return x.BackupAvatarTeamOrderList
+ }
+ return nil
+}
+
+func (x *AvatarDataNotify) GetTempAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.TempAvatarGuidList
+ }
+ return nil
+}
+
+func (x *AvatarDataNotify) GetOwnedFlycloakList() []uint32 {
+ if x != nil {
+ return x.OwnedFlycloakList
+ }
+ return nil
+}
+
+func (x *AvatarDataNotify) GetAvatarList() []*AvatarInfo {
+ if x != nil {
+ return x.AvatarList
+ }
+ return nil
+}
+
+func (x *AvatarDataNotify) GetCurAvatarTeamId() uint32 {
+ if x != nil {
+ return x.CurAvatarTeamId
+ }
+ return 0
+}
+
+var File_AvatarDataNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x04, 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x77, 0x6e, 0x65,
+ 0x64, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x75,
+ 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65,
+ 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x10, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x52, 0x0a, 0x0f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74,
+ 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61,
+ 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x40, 0x0a, 0x1d, 0x62, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6f,
+ 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x19, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61,
+ 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x65,
+ 0x6d, 0x70, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x04, 0x52, 0x12, 0x74, 0x65, 0x6d, 0x70, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a,
+ 0x13, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x77, 0x6e, 0x65,
+ 0x64, 0x46, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a,
+ 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63,
+ 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x1a, 0x53,
+ 0x0a, 0x12, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarDataNotify_proto_rawDescOnce sync.Once
+ file_AvatarDataNotify_proto_rawDescData = file_AvatarDataNotify_proto_rawDesc
+)
+
+func file_AvatarDataNotify_proto_rawDescGZIP() []byte {
+ file_AvatarDataNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarDataNotify_proto_rawDescData)
+ })
+ return file_AvatarDataNotify_proto_rawDescData
+}
+
+var file_AvatarDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarDataNotify_proto_goTypes = []interface{}{
+ (*AvatarDataNotify)(nil), // 0: proto.AvatarDataNotify
+ nil, // 1: proto.AvatarDataNotify.AvatarTeamMapEntry
+ (*AvatarInfo)(nil), // 2: proto.AvatarInfo
+ (*AvatarTeam)(nil), // 3: proto.AvatarTeam
+}
+var file_AvatarDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarDataNotify.avatar_team_map:type_name -> proto.AvatarDataNotify.AvatarTeamMapEntry
+ 2, // 1: proto.AvatarDataNotify.avatar_list:type_name -> proto.AvatarInfo
+ 3, // 2: proto.AvatarDataNotify.AvatarTeamMapEntry.value:type_name -> proto.AvatarTeam
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_AvatarDataNotify_proto_init() }
+func file_AvatarDataNotify_proto_init() {
+ if File_AvatarDataNotify_proto != nil {
+ return
+ }
+ file_AvatarInfo_proto_init()
+ file_AvatarTeam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarDataNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarDataNotify_proto_depIdxs,
+ MessageInfos: file_AvatarDataNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarDataNotify_proto = out.File
+ file_AvatarDataNotify_proto_rawDesc = nil
+ file_AvatarDataNotify_proto_goTypes = nil
+ file_AvatarDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarDelNotify.pb.go b/protocol/proto/AvatarDelNotify.pb.go
new file mode 100644
index 00000000..1d8a22c8
--- /dev/null
+++ b/protocol/proto/AvatarDelNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarDelNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1773
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarDelNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuidList []uint64 `protobuf:"varint,13,rep,packed,name=avatar_guid_list,json=avatarGuidList,proto3" json:"avatar_guid_list,omitempty"`
+}
+
+func (x *AvatarDelNotify) Reset() {
+ *x = AvatarDelNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarDelNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarDelNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarDelNotify) ProtoMessage() {}
+
+func (x *AvatarDelNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarDelNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarDelNotify.ProtoReflect.Descriptor instead.
+func (*AvatarDelNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarDelNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarDelNotify) GetAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarGuidList
+ }
+ return nil
+}
+
+var File_AvatarDelNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarDelNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x0f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarDelNotify_proto_rawDescOnce sync.Once
+ file_AvatarDelNotify_proto_rawDescData = file_AvatarDelNotify_proto_rawDesc
+)
+
+func file_AvatarDelNotify_proto_rawDescGZIP() []byte {
+ file_AvatarDelNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarDelNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarDelNotify_proto_rawDescData)
+ })
+ return file_AvatarDelNotify_proto_rawDescData
+}
+
+var file_AvatarDelNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarDelNotify_proto_goTypes = []interface{}{
+ (*AvatarDelNotify)(nil), // 0: proto.AvatarDelNotify
+}
+var file_AvatarDelNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarDelNotify_proto_init() }
+func file_AvatarDelNotify_proto_init() {
+ if File_AvatarDelNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarDelNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarDelNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarDelNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarDelNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarDelNotify_proto_depIdxs,
+ MessageInfos: file_AvatarDelNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarDelNotify_proto = out.File
+ file_AvatarDelNotify_proto_rawDesc = nil
+ file_AvatarDelNotify_proto_goTypes = nil
+ file_AvatarDelNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarDieAnimationEndReq.pb.go b/protocol/proto/AvatarDieAnimationEndReq.pb.go
new file mode 100644
index 00000000..19e3f430
--- /dev/null
+++ b/protocol/proto/AvatarDieAnimationEndReq.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarDieAnimationEndReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1610
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarDieAnimationEndReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RebornPos *Vector `protobuf:"bytes,3,opt,name=reborn_pos,json=rebornPos,proto3" json:"reborn_pos,omitempty"`
+ DieGuid uint64 `protobuf:"varint,7,opt,name=die_guid,json=dieGuid,proto3" json:"die_guid,omitempty"`
+ SkillId uint32 `protobuf:"varint,8,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+}
+
+func (x *AvatarDieAnimationEndReq) Reset() {
+ *x = AvatarDieAnimationEndReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarDieAnimationEndReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarDieAnimationEndReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarDieAnimationEndReq) ProtoMessage() {}
+
+func (x *AvatarDieAnimationEndReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarDieAnimationEndReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarDieAnimationEndReq.ProtoReflect.Descriptor instead.
+func (*AvatarDieAnimationEndReq) Descriptor() ([]byte, []int) {
+ return file_AvatarDieAnimationEndReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarDieAnimationEndReq) GetRebornPos() *Vector {
+ if x != nil {
+ return x.RebornPos
+ }
+ return nil
+}
+
+func (x *AvatarDieAnimationEndReq) GetDieGuid() uint64 {
+ if x != nil {
+ return x.DieGuid
+ }
+ return 0
+}
+
+func (x *AvatarDieAnimationEndReq) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+var File_AvatarDieAnimationEndReq_proto protoreflect.FileDescriptor
+
+var file_AvatarDieAnimationEndReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x69, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x18, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44,
+ 0x69, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x2c, 0x0a, 0x0a, 0x72, 0x65, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x72, 0x65, 0x62, 0x6f, 0x72, 0x6e, 0x50, 0x6f, 0x73, 0x12,
+ 0x19, 0x0a, 0x08, 0x64, 0x69, 0x65, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x07, 0x64, 0x69, 0x65, 0x47, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarDieAnimationEndReq_proto_rawDescOnce sync.Once
+ file_AvatarDieAnimationEndReq_proto_rawDescData = file_AvatarDieAnimationEndReq_proto_rawDesc
+)
+
+func file_AvatarDieAnimationEndReq_proto_rawDescGZIP() []byte {
+ file_AvatarDieAnimationEndReq_proto_rawDescOnce.Do(func() {
+ file_AvatarDieAnimationEndReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarDieAnimationEndReq_proto_rawDescData)
+ })
+ return file_AvatarDieAnimationEndReq_proto_rawDescData
+}
+
+var file_AvatarDieAnimationEndReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarDieAnimationEndReq_proto_goTypes = []interface{}{
+ (*AvatarDieAnimationEndReq)(nil), // 0: proto.AvatarDieAnimationEndReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_AvatarDieAnimationEndReq_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarDieAnimationEndReq.reborn_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarDieAnimationEndReq_proto_init() }
+func file_AvatarDieAnimationEndReq_proto_init() {
+ if File_AvatarDieAnimationEndReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarDieAnimationEndReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarDieAnimationEndReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarDieAnimationEndReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarDieAnimationEndReq_proto_goTypes,
+ DependencyIndexes: file_AvatarDieAnimationEndReq_proto_depIdxs,
+ MessageInfos: file_AvatarDieAnimationEndReq_proto_msgTypes,
+ }.Build()
+ File_AvatarDieAnimationEndReq_proto = out.File
+ file_AvatarDieAnimationEndReq_proto_rawDesc = nil
+ file_AvatarDieAnimationEndReq_proto_goTypes = nil
+ file_AvatarDieAnimationEndReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarDieAnimationEndRsp.pb.go b/protocol/proto/AvatarDieAnimationEndRsp.pb.go
new file mode 100644
index 00000000..03813bba
--- /dev/null
+++ b/protocol/proto/AvatarDieAnimationEndRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarDieAnimationEndRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1694
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarDieAnimationEndRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,13,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DieGuid uint64 `protobuf:"varint,15,opt,name=die_guid,json=dieGuid,proto3" json:"die_guid,omitempty"`
+}
+
+func (x *AvatarDieAnimationEndRsp) Reset() {
+ *x = AvatarDieAnimationEndRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarDieAnimationEndRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarDieAnimationEndRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarDieAnimationEndRsp) ProtoMessage() {}
+
+func (x *AvatarDieAnimationEndRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarDieAnimationEndRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarDieAnimationEndRsp.ProtoReflect.Descriptor instead.
+func (*AvatarDieAnimationEndRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarDieAnimationEndRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarDieAnimationEndRsp) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *AvatarDieAnimationEndRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AvatarDieAnimationEndRsp) GetDieGuid() uint64 {
+ if x != nil {
+ return x.DieGuid
+ }
+ return 0
+}
+
+var File_AvatarDieAnimationEndRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarDieAnimationEndRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x69, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x18, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x44, 0x69, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x65, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x64, 0x69, 0x65, 0x47,
+ 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarDieAnimationEndRsp_proto_rawDescOnce sync.Once
+ file_AvatarDieAnimationEndRsp_proto_rawDescData = file_AvatarDieAnimationEndRsp_proto_rawDesc
+)
+
+func file_AvatarDieAnimationEndRsp_proto_rawDescGZIP() []byte {
+ file_AvatarDieAnimationEndRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarDieAnimationEndRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarDieAnimationEndRsp_proto_rawDescData)
+ })
+ return file_AvatarDieAnimationEndRsp_proto_rawDescData
+}
+
+var file_AvatarDieAnimationEndRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarDieAnimationEndRsp_proto_goTypes = []interface{}{
+ (*AvatarDieAnimationEndRsp)(nil), // 0: proto.AvatarDieAnimationEndRsp
+}
+var file_AvatarDieAnimationEndRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarDieAnimationEndRsp_proto_init() }
+func file_AvatarDieAnimationEndRsp_proto_init() {
+ if File_AvatarDieAnimationEndRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarDieAnimationEndRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarDieAnimationEndRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarDieAnimationEndRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarDieAnimationEndRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarDieAnimationEndRsp_proto_depIdxs,
+ MessageInfos: file_AvatarDieAnimationEndRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarDieAnimationEndRsp_proto = out.File
+ file_AvatarDieAnimationEndRsp_proto_rawDesc = nil
+ file_AvatarDieAnimationEndRsp_proto_goTypes = nil
+ file_AvatarDieAnimationEndRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarEnterElementViewNotify.pb.go b/protocol/proto/AvatarEnterElementViewNotify.pb.go
new file mode 100644
index 00000000..272402f5
--- /dev/null
+++ b/protocol/proto/AvatarEnterElementViewNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarEnterElementViewNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 334
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarEnterElementViewNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsTriggerd bool `protobuf:"varint,3,opt,name=is_triggerd,json=isTriggerd,proto3" json:"is_triggerd,omitempty"`
+ AvatarEntityId uint32 `protobuf:"varint,12,opt,name=avatar_entity_id,json=avatarEntityId,proto3" json:"avatar_entity_id,omitempty"`
+}
+
+func (x *AvatarEnterElementViewNotify) Reset() {
+ *x = AvatarEnterElementViewNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarEnterElementViewNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarEnterElementViewNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarEnterElementViewNotify) ProtoMessage() {}
+
+func (x *AvatarEnterElementViewNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarEnterElementViewNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarEnterElementViewNotify.ProtoReflect.Descriptor instead.
+func (*AvatarEnterElementViewNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarEnterElementViewNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarEnterElementViewNotify) GetIsTriggerd() bool {
+ if x != nil {
+ return x.IsTriggerd
+ }
+ return false
+}
+
+func (x *AvatarEnterElementViewNotify) GetAvatarEntityId() uint32 {
+ if x != nil {
+ return x.AvatarEntityId
+ }
+ return 0
+}
+
+var File_AvatarEnterElementViewNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarEnterElementViewNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x6c, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x1c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x56, 0x69, 0x65, 0x77, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69,
+ 0x73, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x10,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarEnterElementViewNotify_proto_rawDescOnce sync.Once
+ file_AvatarEnterElementViewNotify_proto_rawDescData = file_AvatarEnterElementViewNotify_proto_rawDesc
+)
+
+func file_AvatarEnterElementViewNotify_proto_rawDescGZIP() []byte {
+ file_AvatarEnterElementViewNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarEnterElementViewNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarEnterElementViewNotify_proto_rawDescData)
+ })
+ return file_AvatarEnterElementViewNotify_proto_rawDescData
+}
+
+var file_AvatarEnterElementViewNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarEnterElementViewNotify_proto_goTypes = []interface{}{
+ (*AvatarEnterElementViewNotify)(nil), // 0: proto.AvatarEnterElementViewNotify
+}
+var file_AvatarEnterElementViewNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarEnterElementViewNotify_proto_init() }
+func file_AvatarEnterElementViewNotify_proto_init() {
+ if File_AvatarEnterElementViewNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarEnterElementViewNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarEnterElementViewNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarEnterElementViewNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarEnterElementViewNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarEnterElementViewNotify_proto_depIdxs,
+ MessageInfos: file_AvatarEnterElementViewNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarEnterElementViewNotify_proto = out.File
+ file_AvatarEnterElementViewNotify_proto_rawDesc = nil
+ file_AvatarEnterElementViewNotify_proto_goTypes = nil
+ file_AvatarEnterElementViewNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarEnterSceneInfo.pb.go b/protocol/proto/AvatarEnterSceneInfo.pb.go
new file mode 100644
index 00000000..0f6782e7
--- /dev/null
+++ b/protocol/proto/AvatarEnterSceneInfo.pb.go
@@ -0,0 +1,248 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarEnterSceneInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarEnterSceneInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerBuffList []*ServerBuff `protobuf:"bytes,14,rep,name=server_buff_list,json=serverBuffList,proto3" json:"server_buff_list,omitempty"`
+ AvatarEntityId uint32 `protobuf:"varint,7,opt,name=avatar_entity_id,json=avatarEntityId,proto3" json:"avatar_entity_id,omitempty"`
+ WeaponAbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,12,opt,name=weapon_ability_info,json=weaponAbilityInfo,proto3" json:"weapon_ability_info,omitempty"`
+ WeaponEntityId uint32 `protobuf:"varint,10,opt,name=weapon_entity_id,json=weaponEntityId,proto3" json:"weapon_entity_id,omitempty"`
+ AvatarAbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,2,opt,name=avatar_ability_info,json=avatarAbilityInfo,proto3" json:"avatar_ability_info,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,13,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ WeaponGuid uint64 `protobuf:"varint,9,opt,name=weapon_guid,json=weaponGuid,proto3" json:"weapon_guid,omitempty"`
+ BuffIdList []uint32 `protobuf:"varint,5,rep,packed,name=buff_id_list,json=buffIdList,proto3" json:"buff_id_list,omitempty"`
+}
+
+func (x *AvatarEnterSceneInfo) Reset() {
+ *x = AvatarEnterSceneInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarEnterSceneInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarEnterSceneInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarEnterSceneInfo) ProtoMessage() {}
+
+func (x *AvatarEnterSceneInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarEnterSceneInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarEnterSceneInfo.ProtoReflect.Descriptor instead.
+func (*AvatarEnterSceneInfo) Descriptor() ([]byte, []int) {
+ return file_AvatarEnterSceneInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarEnterSceneInfo) GetServerBuffList() []*ServerBuff {
+ if x != nil {
+ return x.ServerBuffList
+ }
+ return nil
+}
+
+func (x *AvatarEnterSceneInfo) GetAvatarEntityId() uint32 {
+ if x != nil {
+ return x.AvatarEntityId
+ }
+ return 0
+}
+
+func (x *AvatarEnterSceneInfo) GetWeaponAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.WeaponAbilityInfo
+ }
+ return nil
+}
+
+func (x *AvatarEnterSceneInfo) GetWeaponEntityId() uint32 {
+ if x != nil {
+ return x.WeaponEntityId
+ }
+ return 0
+}
+
+func (x *AvatarEnterSceneInfo) GetAvatarAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.AvatarAbilityInfo
+ }
+ return nil
+}
+
+func (x *AvatarEnterSceneInfo) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarEnterSceneInfo) GetWeaponGuid() uint64 {
+ if x != nil {
+ return x.WeaponGuid
+ }
+ return 0
+}
+
+func (x *AvatarEnterSceneInfo) GetBuffIdList() []uint32 {
+ if x != nil {
+ return x.BuffIdList
+ }
+ return nil
+}
+
+var File_AvatarEnterSceneInfo_proto protoreflect.FileDescriptor
+
+var file_AvatarEnterSceneInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xa5, 0x03, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x10, 0x73, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42,
+ 0x75, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x4b, 0x0a, 0x13, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x61, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79,
+ 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x77, 0x65, 0x61,
+ 0x70, 0x6f, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28,
+ 0x0a, 0x10, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x13, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x11, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x77, 0x65, 0x61,
+ 0x70, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x66, 0x66, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x62,
+ 0x75, 0x66, 0x66, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarEnterSceneInfo_proto_rawDescOnce sync.Once
+ file_AvatarEnterSceneInfo_proto_rawDescData = file_AvatarEnterSceneInfo_proto_rawDesc
+)
+
+func file_AvatarEnterSceneInfo_proto_rawDescGZIP() []byte {
+ file_AvatarEnterSceneInfo_proto_rawDescOnce.Do(func() {
+ file_AvatarEnterSceneInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarEnterSceneInfo_proto_rawDescData)
+ })
+ return file_AvatarEnterSceneInfo_proto_rawDescData
+}
+
+var file_AvatarEnterSceneInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarEnterSceneInfo_proto_goTypes = []interface{}{
+ (*AvatarEnterSceneInfo)(nil), // 0: proto.AvatarEnterSceneInfo
+ (*ServerBuff)(nil), // 1: proto.ServerBuff
+ (*AbilitySyncStateInfo)(nil), // 2: proto.AbilitySyncStateInfo
+}
+var file_AvatarEnterSceneInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarEnterSceneInfo.server_buff_list:type_name -> proto.ServerBuff
+ 2, // 1: proto.AvatarEnterSceneInfo.weapon_ability_info:type_name -> proto.AbilitySyncStateInfo
+ 2, // 2: proto.AvatarEnterSceneInfo.avatar_ability_info:type_name -> proto.AbilitySyncStateInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_AvatarEnterSceneInfo_proto_init() }
+func file_AvatarEnterSceneInfo_proto_init() {
+ if File_AvatarEnterSceneInfo_proto != nil {
+ return
+ }
+ file_AbilitySyncStateInfo_proto_init()
+ file_ServerBuff_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarEnterSceneInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarEnterSceneInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarEnterSceneInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarEnterSceneInfo_proto_goTypes,
+ DependencyIndexes: file_AvatarEnterSceneInfo_proto_depIdxs,
+ MessageInfos: file_AvatarEnterSceneInfo_proto_msgTypes,
+ }.Build()
+ File_AvatarEnterSceneInfo_proto = out.File
+ file_AvatarEnterSceneInfo_proto_rawDesc = nil
+ file_AvatarEnterSceneInfo_proto_goTypes = nil
+ file_AvatarEnterSceneInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarEquipAffixInfo.pb.go b/protocol/proto/AvatarEquipAffixInfo.pb.go
new file mode 100644
index 00000000..e05102fc
--- /dev/null
+++ b/protocol/proto/AvatarEquipAffixInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarEquipAffixInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarEquipAffixInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EquipAffixId uint32 `protobuf:"varint,1,opt,name=equip_affix_id,json=equipAffixId,proto3" json:"equip_affix_id,omitempty"`
+ LeftCdTime uint32 `protobuf:"varint,2,opt,name=left_cd_time,json=leftCdTime,proto3" json:"left_cd_time,omitempty"`
+}
+
+func (x *AvatarEquipAffixInfo) Reset() {
+ *x = AvatarEquipAffixInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarEquipAffixInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarEquipAffixInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarEquipAffixInfo) ProtoMessage() {}
+
+func (x *AvatarEquipAffixInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarEquipAffixInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarEquipAffixInfo.ProtoReflect.Descriptor instead.
+func (*AvatarEquipAffixInfo) Descriptor() ([]byte, []int) {
+ return file_AvatarEquipAffixInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarEquipAffixInfo) GetEquipAffixId() uint32 {
+ if x != nil {
+ return x.EquipAffixId
+ }
+ return 0
+}
+
+func (x *AvatarEquipAffixInfo) GetLeftCdTime() uint32 {
+ if x != nil {
+ return x.LeftCdTime
+ }
+ return 0
+}
+
+var File_AvatarEquipAffixInfo_proto protoreflect.FileDescriptor
+
+var file_AvatarEquipAffixInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66,
+ 0x69, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x71, 0x75,
+ 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x65,
+ 0x71, 0x75, 0x69, 0x70, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x49,
+ 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x63, 0x64, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x43, 0x64, 0x54,
+ 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarEquipAffixInfo_proto_rawDescOnce sync.Once
+ file_AvatarEquipAffixInfo_proto_rawDescData = file_AvatarEquipAffixInfo_proto_rawDesc
+)
+
+func file_AvatarEquipAffixInfo_proto_rawDescGZIP() []byte {
+ file_AvatarEquipAffixInfo_proto_rawDescOnce.Do(func() {
+ file_AvatarEquipAffixInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarEquipAffixInfo_proto_rawDescData)
+ })
+ return file_AvatarEquipAffixInfo_proto_rawDescData
+}
+
+var file_AvatarEquipAffixInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarEquipAffixInfo_proto_goTypes = []interface{}{
+ (*AvatarEquipAffixInfo)(nil), // 0: proto.AvatarEquipAffixInfo
+}
+var file_AvatarEquipAffixInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarEquipAffixInfo_proto_init() }
+func file_AvatarEquipAffixInfo_proto_init() {
+ if File_AvatarEquipAffixInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarEquipAffixInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarEquipAffixInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarEquipAffixInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarEquipAffixInfo_proto_goTypes,
+ DependencyIndexes: file_AvatarEquipAffixInfo_proto_depIdxs,
+ MessageInfos: file_AvatarEquipAffixInfo_proto_msgTypes,
+ }.Build()
+ File_AvatarEquipAffixInfo_proto = out.File
+ file_AvatarEquipAffixInfo_proto_rawDesc = nil
+ file_AvatarEquipAffixInfo_proto_goTypes = nil
+ file_AvatarEquipAffixInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarEquipAffixStartNotify.pb.go b/protocol/proto/AvatarEquipAffixStartNotify.pb.go
new file mode 100644
index 00000000..5f6a445e
--- /dev/null
+++ b/protocol/proto/AvatarEquipAffixStartNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarEquipAffixStartNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1662
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarEquipAffixStartNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,4,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ EquipAffixInfo *AvatarEquipAffixInfo `protobuf:"bytes,12,opt,name=equip_affix_info,json=equipAffixInfo,proto3" json:"equip_affix_info,omitempty"`
+}
+
+func (x *AvatarEquipAffixStartNotify) Reset() {
+ *x = AvatarEquipAffixStartNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarEquipAffixStartNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarEquipAffixStartNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarEquipAffixStartNotify) ProtoMessage() {}
+
+func (x *AvatarEquipAffixStartNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarEquipAffixStartNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarEquipAffixStartNotify.ProtoReflect.Descriptor instead.
+func (*AvatarEquipAffixStartNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarEquipAffixStartNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarEquipAffixStartNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarEquipAffixStartNotify) GetEquipAffixInfo() *AvatarEquipAffixInfo {
+ if x != nil {
+ return x.EquipAffixInfo
+ }
+ return nil
+}
+
+var File_AvatarEquipAffixStartNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarEquipAffixStartNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66,
+ 0x69, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x45, 0x0a, 0x10, 0x65, 0x71, 0x75, 0x69, 0x70,
+ 0x5f, 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x45, 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e,
+ 0x65, 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AvatarEquipAffixStartNotify_proto_rawDescOnce sync.Once
+ file_AvatarEquipAffixStartNotify_proto_rawDescData = file_AvatarEquipAffixStartNotify_proto_rawDesc
+)
+
+func file_AvatarEquipAffixStartNotify_proto_rawDescGZIP() []byte {
+ file_AvatarEquipAffixStartNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarEquipAffixStartNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarEquipAffixStartNotify_proto_rawDescData)
+ })
+ return file_AvatarEquipAffixStartNotify_proto_rawDescData
+}
+
+var file_AvatarEquipAffixStartNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarEquipAffixStartNotify_proto_goTypes = []interface{}{
+ (*AvatarEquipAffixStartNotify)(nil), // 0: proto.AvatarEquipAffixStartNotify
+ (*AvatarEquipAffixInfo)(nil), // 1: proto.AvatarEquipAffixInfo
+}
+var file_AvatarEquipAffixStartNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarEquipAffixStartNotify.equip_affix_info:type_name -> proto.AvatarEquipAffixInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarEquipAffixStartNotify_proto_init() }
+func file_AvatarEquipAffixStartNotify_proto_init() {
+ if File_AvatarEquipAffixStartNotify_proto != nil {
+ return
+ }
+ file_AvatarEquipAffixInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarEquipAffixStartNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarEquipAffixStartNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarEquipAffixStartNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarEquipAffixStartNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarEquipAffixStartNotify_proto_depIdxs,
+ MessageInfos: file_AvatarEquipAffixStartNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarEquipAffixStartNotify_proto = out.File
+ file_AvatarEquipAffixStartNotify_proto_rawDesc = nil
+ file_AvatarEquipAffixStartNotify_proto_goTypes = nil
+ file_AvatarEquipAffixStartNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarEquipChangeNotify.pb.go b/protocol/proto/AvatarEquipChangeNotify.pb.go
new file mode 100644
index 00000000..57ae31c0
--- /dev/null
+++ b/protocol/proto/AvatarEquipChangeNotify.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarEquipChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 647
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarEquipChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,10,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ EquipGuid uint64 `protobuf:"varint,13,opt,name=equip_guid,json=equipGuid,proto3" json:"equip_guid,omitempty"`
+ Reliquary *SceneReliquaryInfo `protobuf:"bytes,1,opt,name=reliquary,proto3" json:"reliquary,omitempty"`
+ Weapon *SceneWeaponInfo `protobuf:"bytes,15,opt,name=weapon,proto3" json:"weapon,omitempty"`
+ ItemId uint32 `protobuf:"varint,14,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ EquipType uint32 `protobuf:"varint,8,opt,name=equip_type,json=equipType,proto3" json:"equip_type,omitempty"`
+}
+
+func (x *AvatarEquipChangeNotify) Reset() {
+ *x = AvatarEquipChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarEquipChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarEquipChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarEquipChangeNotify) ProtoMessage() {}
+
+func (x *AvatarEquipChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarEquipChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarEquipChangeNotify.ProtoReflect.Descriptor instead.
+func (*AvatarEquipChangeNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarEquipChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarEquipChangeNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarEquipChangeNotify) GetEquipGuid() uint64 {
+ if x != nil {
+ return x.EquipGuid
+ }
+ return 0
+}
+
+func (x *AvatarEquipChangeNotify) GetReliquary() *SceneReliquaryInfo {
+ if x != nil {
+ return x.Reliquary
+ }
+ return nil
+}
+
+func (x *AvatarEquipChangeNotify) GetWeapon() *SceneWeaponInfo {
+ if x != nil {
+ return x.Weapon
+ }
+ return nil
+}
+
+func (x *AvatarEquipChangeNotify) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *AvatarEquipChangeNotify) GetEquipType() uint32 {
+ if x != nil {
+ return x.EquipType
+ }
+ return 0
+}
+
+var File_AvatarEquipChangeNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarEquipChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x6c,
+ 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x01, 0x0a, 0x17, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x47,
+ 0x75, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x06,
+ 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07,
+ 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69,
+ 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70,
+ 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarEquipChangeNotify_proto_rawDescOnce sync.Once
+ file_AvatarEquipChangeNotify_proto_rawDescData = file_AvatarEquipChangeNotify_proto_rawDesc
+)
+
+func file_AvatarEquipChangeNotify_proto_rawDescGZIP() []byte {
+ file_AvatarEquipChangeNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarEquipChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarEquipChangeNotify_proto_rawDescData)
+ })
+ return file_AvatarEquipChangeNotify_proto_rawDescData
+}
+
+var file_AvatarEquipChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarEquipChangeNotify_proto_goTypes = []interface{}{
+ (*AvatarEquipChangeNotify)(nil), // 0: proto.AvatarEquipChangeNotify
+ (*SceneReliquaryInfo)(nil), // 1: proto.SceneReliquaryInfo
+ (*SceneWeaponInfo)(nil), // 2: proto.SceneWeaponInfo
+}
+var file_AvatarEquipChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarEquipChangeNotify.reliquary:type_name -> proto.SceneReliquaryInfo
+ 2, // 1: proto.AvatarEquipChangeNotify.weapon:type_name -> proto.SceneWeaponInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarEquipChangeNotify_proto_init() }
+func file_AvatarEquipChangeNotify_proto_init() {
+ if File_AvatarEquipChangeNotify_proto != nil {
+ return
+ }
+ file_SceneReliquaryInfo_proto_init()
+ file_SceneWeaponInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarEquipChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarEquipChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarEquipChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarEquipChangeNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarEquipChangeNotify_proto_depIdxs,
+ MessageInfos: file_AvatarEquipChangeNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarEquipChangeNotify_proto = out.File
+ file_AvatarEquipChangeNotify_proto_rawDesc = nil
+ file_AvatarEquipChangeNotify_proto_goTypes = nil
+ file_AvatarEquipChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExcelInfo.pb.go b/protocol/proto/AvatarExcelInfo.pb.go
new file mode 100644
index 00000000..7992777e
--- /dev/null
+++ b/protocol/proto/AvatarExcelInfo.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExcelInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarExcelInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PrefabPathHash uint64 `protobuf:"varint,1,opt,name=prefab_path_hash,json=prefabPathHash,proto3" json:"prefab_path_hash,omitempty"`
+ PrefabPathRemoteHash uint64 `protobuf:"varint,2,opt,name=prefab_path_remote_hash,json=prefabPathRemoteHash,proto3" json:"prefab_path_remote_hash,omitempty"`
+ ControllerPathHash uint64 `protobuf:"varint,3,opt,name=controller_path_hash,json=controllerPathHash,proto3" json:"controller_path_hash,omitempty"`
+ ControllerPathRemoteHash uint64 `protobuf:"varint,4,opt,name=controller_path_remote_hash,json=controllerPathRemoteHash,proto3" json:"controller_path_remote_hash,omitempty"`
+ CombatConfigHash uint64 `protobuf:"varint,5,opt,name=combat_config_hash,json=combatConfigHash,proto3" json:"combat_config_hash,omitempty"`
+}
+
+func (x *AvatarExcelInfo) Reset() {
+ *x = AvatarExcelInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExcelInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExcelInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExcelInfo) ProtoMessage() {}
+
+func (x *AvatarExcelInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExcelInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExcelInfo.ProtoReflect.Descriptor instead.
+func (*AvatarExcelInfo) Descriptor() ([]byte, []int) {
+ return file_AvatarExcelInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExcelInfo) GetPrefabPathHash() uint64 {
+ if x != nil {
+ return x.PrefabPathHash
+ }
+ return 0
+}
+
+func (x *AvatarExcelInfo) GetPrefabPathRemoteHash() uint64 {
+ if x != nil {
+ return x.PrefabPathRemoteHash
+ }
+ return 0
+}
+
+func (x *AvatarExcelInfo) GetControllerPathHash() uint64 {
+ if x != nil {
+ return x.ControllerPathHash
+ }
+ return 0
+}
+
+func (x *AvatarExcelInfo) GetControllerPathRemoteHash() uint64 {
+ if x != nil {
+ return x.ControllerPathRemoteHash
+ }
+ return 0
+}
+
+func (x *AvatarExcelInfo) GetCombatConfigHash() uint64 {
+ if x != nil {
+ return x.CombatConfigHash
+ }
+ return 0
+}
+
+var File_AvatarExcelInfo_proto protoreflect.FileDescriptor
+
+var file_AvatarExcelInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91,
+ 0x02, 0x0a, 0x0f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x63, 0x65, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x66, 0x61, 0x62, 0x5f, 0x70, 0x61, 0x74,
+ 0x68, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72,
+ 0x65, 0x66, 0x61, 0x62, 0x50, 0x61, 0x74, 0x68, 0x48, 0x61, 0x73, 0x68, 0x12, 0x35, 0x0a, 0x17,
+ 0x70, 0x72, 0x65, 0x66, 0x61, 0x62, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f,
+ 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x70,
+ 0x72, 0x65, 0x66, 0x61, 0x62, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48,
+ 0x61, 0x73, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x50, 0x61, 0x74,
+ 0x68, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f,
+ 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
+ 0x48, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61,
+ 0x73, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExcelInfo_proto_rawDescOnce sync.Once
+ file_AvatarExcelInfo_proto_rawDescData = file_AvatarExcelInfo_proto_rawDesc
+)
+
+func file_AvatarExcelInfo_proto_rawDescGZIP() []byte {
+ file_AvatarExcelInfo_proto_rawDescOnce.Do(func() {
+ file_AvatarExcelInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExcelInfo_proto_rawDescData)
+ })
+ return file_AvatarExcelInfo_proto_rawDescData
+}
+
+var file_AvatarExcelInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarExcelInfo_proto_goTypes = []interface{}{
+ (*AvatarExcelInfo)(nil), // 0: proto.AvatarExcelInfo
+}
+var file_AvatarExcelInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExcelInfo_proto_init() }
+func file_AvatarExcelInfo_proto_init() {
+ if File_AvatarExcelInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExcelInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExcelInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExcelInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExcelInfo_proto_goTypes,
+ DependencyIndexes: file_AvatarExcelInfo_proto_depIdxs,
+ MessageInfos: file_AvatarExcelInfo_proto_msgTypes,
+ }.Build()
+ File_AvatarExcelInfo_proto = out.File
+ file_AvatarExcelInfo_proto_rawDesc = nil
+ file_AvatarExcelInfo_proto_goTypes = nil
+ file_AvatarExcelInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionAllDataReq.pb.go b/protocol/proto/AvatarExpeditionAllDataReq.pb.go
new file mode 100644
index 00000000..60564683
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionAllDataReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionAllDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1722
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarExpeditionAllDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *AvatarExpeditionAllDataReq) Reset() {
+ *x = AvatarExpeditionAllDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionAllDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionAllDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionAllDataReq) ProtoMessage() {}
+
+func (x *AvatarExpeditionAllDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionAllDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionAllDataReq.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionAllDataReq) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionAllDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AvatarExpeditionAllDataReq_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionAllDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionAllDataReq_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionAllDataReq_proto_rawDescData = file_AvatarExpeditionAllDataReq_proto_rawDesc
+)
+
+func file_AvatarExpeditionAllDataReq_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionAllDataReq_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionAllDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionAllDataReq_proto_rawDescData)
+ })
+ return file_AvatarExpeditionAllDataReq_proto_rawDescData
+}
+
+var file_AvatarExpeditionAllDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarExpeditionAllDataReq_proto_goTypes = []interface{}{
+ (*AvatarExpeditionAllDataReq)(nil), // 0: proto.AvatarExpeditionAllDataReq
+}
+var file_AvatarExpeditionAllDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionAllDataReq_proto_init() }
+func file_AvatarExpeditionAllDataReq_proto_init() {
+ if File_AvatarExpeditionAllDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionAllDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionAllDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionAllDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionAllDataReq_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionAllDataReq_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionAllDataReq_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionAllDataReq_proto = out.File
+ file_AvatarExpeditionAllDataReq_proto_rawDesc = nil
+ file_AvatarExpeditionAllDataReq_proto_goTypes = nil
+ file_AvatarExpeditionAllDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionAllDataRsp.pb.go b/protocol/proto/AvatarExpeditionAllDataRsp.pb.go
new file mode 100644
index 00000000..1af638e6
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionAllDataRsp.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionAllDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1648
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarExpeditionAllDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenExpeditionList []uint32 `protobuf:"varint,3,rep,packed,name=open_expedition_list,json=openExpeditionList,proto3" json:"open_expedition_list,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ExpeditionCountLimit uint32 `protobuf:"varint,12,opt,name=expedition_count_limit,json=expeditionCountLimit,proto3" json:"expedition_count_limit,omitempty"`
+ ExpeditionInfoMap map[uint64]*AvatarExpeditionInfo `protobuf:"bytes,4,rep,name=expedition_info_map,json=expeditionInfoMap,proto3" json:"expedition_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *AvatarExpeditionAllDataRsp) Reset() {
+ *x = AvatarExpeditionAllDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionAllDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionAllDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionAllDataRsp) ProtoMessage() {}
+
+func (x *AvatarExpeditionAllDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionAllDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionAllDataRsp.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionAllDataRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionAllDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionAllDataRsp) GetOpenExpeditionList() []uint32 {
+ if x != nil {
+ return x.OpenExpeditionList
+ }
+ return nil
+}
+
+func (x *AvatarExpeditionAllDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AvatarExpeditionAllDataRsp) GetExpeditionCountLimit() uint32 {
+ if x != nil {
+ return x.ExpeditionCountLimit
+ }
+ return 0
+}
+
+func (x *AvatarExpeditionAllDataRsp) GetExpeditionInfoMap() map[uint64]*AvatarExpeditionInfo {
+ if x != nil {
+ return x.ExpeditionInfoMap
+ }
+ return nil
+}
+
+var File_AvatarExpeditionAllDataRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionAllDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x02, 0x0a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x65, 0x78, 0x70,
+ 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x12, 0x6f, 0x70, 0x65, 0x6e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x34, 0x0a, 0x16, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x14, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x68, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x65,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70,
+ 0x1a, 0x61, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionAllDataRsp_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionAllDataRsp_proto_rawDescData = file_AvatarExpeditionAllDataRsp_proto_rawDesc
+)
+
+func file_AvatarExpeditionAllDataRsp_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionAllDataRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionAllDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionAllDataRsp_proto_rawDescData)
+ })
+ return file_AvatarExpeditionAllDataRsp_proto_rawDescData
+}
+
+var file_AvatarExpeditionAllDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarExpeditionAllDataRsp_proto_goTypes = []interface{}{
+ (*AvatarExpeditionAllDataRsp)(nil), // 0: proto.AvatarExpeditionAllDataRsp
+ nil, // 1: proto.AvatarExpeditionAllDataRsp.ExpeditionInfoMapEntry
+ (*AvatarExpeditionInfo)(nil), // 2: proto.AvatarExpeditionInfo
+}
+var file_AvatarExpeditionAllDataRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarExpeditionAllDataRsp.expedition_info_map:type_name -> proto.AvatarExpeditionAllDataRsp.ExpeditionInfoMapEntry
+ 2, // 1: proto.AvatarExpeditionAllDataRsp.ExpeditionInfoMapEntry.value:type_name -> proto.AvatarExpeditionInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionAllDataRsp_proto_init() }
+func file_AvatarExpeditionAllDataRsp_proto_init() {
+ if File_AvatarExpeditionAllDataRsp_proto != nil {
+ return
+ }
+ file_AvatarExpeditionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionAllDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionAllDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionAllDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionAllDataRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionAllDataRsp_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionAllDataRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionAllDataRsp_proto = out.File
+ file_AvatarExpeditionAllDataRsp_proto_rawDesc = nil
+ file_AvatarExpeditionAllDataRsp_proto_goTypes = nil
+ file_AvatarExpeditionAllDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionCallBackReq.pb.go b/protocol/proto/AvatarExpeditionCallBackReq.pb.go
new file mode 100644
index 00000000..2a581998
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionCallBackReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionCallBackReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1752
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarExpeditionCallBackReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid []uint64 `protobuf:"varint,13,rep,packed,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarExpeditionCallBackReq) Reset() {
+ *x = AvatarExpeditionCallBackReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionCallBackReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionCallBackReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionCallBackReq) ProtoMessage() {}
+
+func (x *AvatarExpeditionCallBackReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionCallBackReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionCallBackReq.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionCallBackReq) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionCallBackReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionCallBackReq) GetAvatarGuid() []uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return nil
+}
+
+var File_AvatarExpeditionCallBackReq_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionCallBackReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x1b, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61,
+ 0x6c, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionCallBackReq_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionCallBackReq_proto_rawDescData = file_AvatarExpeditionCallBackReq_proto_rawDesc
+)
+
+func file_AvatarExpeditionCallBackReq_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionCallBackReq_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionCallBackReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionCallBackReq_proto_rawDescData)
+ })
+ return file_AvatarExpeditionCallBackReq_proto_rawDescData
+}
+
+var file_AvatarExpeditionCallBackReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarExpeditionCallBackReq_proto_goTypes = []interface{}{
+ (*AvatarExpeditionCallBackReq)(nil), // 0: proto.AvatarExpeditionCallBackReq
+}
+var file_AvatarExpeditionCallBackReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionCallBackReq_proto_init() }
+func file_AvatarExpeditionCallBackReq_proto_init() {
+ if File_AvatarExpeditionCallBackReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionCallBackReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionCallBackReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionCallBackReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionCallBackReq_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionCallBackReq_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionCallBackReq_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionCallBackReq_proto = out.File
+ file_AvatarExpeditionCallBackReq_proto_rawDesc = nil
+ file_AvatarExpeditionCallBackReq_proto_goTypes = nil
+ file_AvatarExpeditionCallBackReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionCallBackRsp.pb.go b/protocol/proto/AvatarExpeditionCallBackRsp.pb.go
new file mode 100644
index 00000000..9f32230a
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionCallBackRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionCallBackRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1726
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarExpeditionCallBackRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExpeditionInfoMap map[uint64]*AvatarExpeditionInfo `protobuf:"bytes,9,rep,name=expedition_info_map,json=expeditionInfoMap,proto3" json:"expedition_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AvatarExpeditionCallBackRsp) Reset() {
+ *x = AvatarExpeditionCallBackRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionCallBackRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionCallBackRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionCallBackRsp) ProtoMessage() {}
+
+func (x *AvatarExpeditionCallBackRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionCallBackRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionCallBackRsp.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionCallBackRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionCallBackRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionCallBackRsp) GetExpeditionInfoMap() map[uint64]*AvatarExpeditionInfo {
+ if x != nil {
+ return x.ExpeditionInfoMap
+ }
+ return nil
+}
+
+func (x *AvatarExpeditionCallBackRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AvatarExpeditionCallBackRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionCallBackRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c, 0x42,
+ 0x61, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x69, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x6c, 0x6c,
+ 0x42, 0x61, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11,
+ 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x61, 0x0a, 0x16, 0x45,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionCallBackRsp_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionCallBackRsp_proto_rawDescData = file_AvatarExpeditionCallBackRsp_proto_rawDesc
+)
+
+func file_AvatarExpeditionCallBackRsp_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionCallBackRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionCallBackRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionCallBackRsp_proto_rawDescData)
+ })
+ return file_AvatarExpeditionCallBackRsp_proto_rawDescData
+}
+
+var file_AvatarExpeditionCallBackRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarExpeditionCallBackRsp_proto_goTypes = []interface{}{
+ (*AvatarExpeditionCallBackRsp)(nil), // 0: proto.AvatarExpeditionCallBackRsp
+ nil, // 1: proto.AvatarExpeditionCallBackRsp.ExpeditionInfoMapEntry
+ (*AvatarExpeditionInfo)(nil), // 2: proto.AvatarExpeditionInfo
+}
+var file_AvatarExpeditionCallBackRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarExpeditionCallBackRsp.expedition_info_map:type_name -> proto.AvatarExpeditionCallBackRsp.ExpeditionInfoMapEntry
+ 2, // 1: proto.AvatarExpeditionCallBackRsp.ExpeditionInfoMapEntry.value:type_name -> proto.AvatarExpeditionInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionCallBackRsp_proto_init() }
+func file_AvatarExpeditionCallBackRsp_proto_init() {
+ if File_AvatarExpeditionCallBackRsp_proto != nil {
+ return
+ }
+ file_AvatarExpeditionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionCallBackRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionCallBackRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionCallBackRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionCallBackRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionCallBackRsp_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionCallBackRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionCallBackRsp_proto = out.File
+ file_AvatarExpeditionCallBackRsp_proto_rawDesc = nil
+ file_AvatarExpeditionCallBackRsp_proto_goTypes = nil
+ file_AvatarExpeditionCallBackRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionDataNotify.pb.go b/protocol/proto/AvatarExpeditionDataNotify.pb.go
new file mode 100644
index 00000000..50db1bbe
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionDataNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1771
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarExpeditionDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExpeditionInfoMap map[uint64]*AvatarExpeditionInfo `protobuf:"bytes,6,rep,name=expedition_info_map,json=expeditionInfoMap,proto3" json:"expedition_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *AvatarExpeditionDataNotify) Reset() {
+ *x = AvatarExpeditionDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionDataNotify) ProtoMessage() {}
+
+func (x *AvatarExpeditionDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionDataNotify.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionDataNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionDataNotify) GetExpeditionInfoMap() map[uint64]*AvatarExpeditionInfo {
+ if x != nil {
+ return x.ExpeditionInfoMap
+ }
+ return nil
+}
+
+var File_AvatarExpeditionDataNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x01, 0x0a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x68, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x65, 0x78, 0x70,
+ 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x1a, 0x61,
+ 0x0a, 0x16, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionDataNotify_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionDataNotify_proto_rawDescData = file_AvatarExpeditionDataNotify_proto_rawDesc
+)
+
+func file_AvatarExpeditionDataNotify_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionDataNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionDataNotify_proto_rawDescData)
+ })
+ return file_AvatarExpeditionDataNotify_proto_rawDescData
+}
+
+var file_AvatarExpeditionDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarExpeditionDataNotify_proto_goTypes = []interface{}{
+ (*AvatarExpeditionDataNotify)(nil), // 0: proto.AvatarExpeditionDataNotify
+ nil, // 1: proto.AvatarExpeditionDataNotify.ExpeditionInfoMapEntry
+ (*AvatarExpeditionInfo)(nil), // 2: proto.AvatarExpeditionInfo
+}
+var file_AvatarExpeditionDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarExpeditionDataNotify.expedition_info_map:type_name -> proto.AvatarExpeditionDataNotify.ExpeditionInfoMapEntry
+ 2, // 1: proto.AvatarExpeditionDataNotify.ExpeditionInfoMapEntry.value:type_name -> proto.AvatarExpeditionInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionDataNotify_proto_init() }
+func file_AvatarExpeditionDataNotify_proto_init() {
+ if File_AvatarExpeditionDataNotify_proto != nil {
+ return
+ }
+ file_AvatarExpeditionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionDataNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionDataNotify_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionDataNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionDataNotify_proto = out.File
+ file_AvatarExpeditionDataNotify_proto_rawDesc = nil
+ file_AvatarExpeditionDataNotify_proto_goTypes = nil
+ file_AvatarExpeditionDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionGetRewardReq.pb.go b/protocol/proto/AvatarExpeditionGetRewardReq.pb.go
new file mode 100644
index 00000000..b0d4b9f4
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionGetRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionGetRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1623
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarExpeditionGetRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,14,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarExpeditionGetRewardReq) Reset() {
+ *x = AvatarExpeditionGetRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionGetRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionGetRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionGetRewardReq) ProtoMessage() {}
+
+func (x *AvatarExpeditionGetRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionGetRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionGetRewardReq.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionGetRewardReq) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionGetRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionGetRewardReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarExpeditionGetRewardReq_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionGetRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x1c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionGetRewardReq_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionGetRewardReq_proto_rawDescData = file_AvatarExpeditionGetRewardReq_proto_rawDesc
+)
+
+func file_AvatarExpeditionGetRewardReq_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionGetRewardReq_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionGetRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionGetRewardReq_proto_rawDescData)
+ })
+ return file_AvatarExpeditionGetRewardReq_proto_rawDescData
+}
+
+var file_AvatarExpeditionGetRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarExpeditionGetRewardReq_proto_goTypes = []interface{}{
+ (*AvatarExpeditionGetRewardReq)(nil), // 0: proto.AvatarExpeditionGetRewardReq
+}
+var file_AvatarExpeditionGetRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionGetRewardReq_proto_init() }
+func file_AvatarExpeditionGetRewardReq_proto_init() {
+ if File_AvatarExpeditionGetRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionGetRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionGetRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionGetRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionGetRewardReq_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionGetRewardReq_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionGetRewardReq_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionGetRewardReq_proto = out.File
+ file_AvatarExpeditionGetRewardReq_proto_rawDesc = nil
+ file_AvatarExpeditionGetRewardReq_proto_goTypes = nil
+ file_AvatarExpeditionGetRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionGetRewardRsp.pb.go b/protocol/proto/AvatarExpeditionGetRewardRsp.pb.go
new file mode 100644
index 00000000..85146ba0
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionGetRewardRsp.pb.go
@@ -0,0 +1,218 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionGetRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1784
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarExpeditionGetRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExtraItemList []*ItemParam `protobuf:"bytes,9,rep,name=extra_item_list,json=extraItemList,proto3" json:"extra_item_list,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,8,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ ExpeditionInfoMap map[uint64]*AvatarExpeditionInfo `protobuf:"bytes,12,rep,name=expedition_info_map,json=expeditionInfoMap,proto3" json:"expedition_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AvatarExpeditionGetRewardRsp) Reset() {
+ *x = AvatarExpeditionGetRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionGetRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionGetRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionGetRewardRsp) ProtoMessage() {}
+
+func (x *AvatarExpeditionGetRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionGetRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionGetRewardRsp.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionGetRewardRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionGetRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionGetRewardRsp) GetExtraItemList() []*ItemParam {
+ if x != nil {
+ return x.ExtraItemList
+ }
+ return nil
+}
+
+func (x *AvatarExpeditionGetRewardRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *AvatarExpeditionGetRewardRsp) GetExpeditionInfoMap() map[uint64]*AvatarExpeditionInfo {
+ if x != nil {
+ return x.ExpeditionInfoMap
+ }
+ return nil
+}
+
+func (x *AvatarExpeditionGetRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AvatarExpeditionGetRewardRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionGetRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x02, 0x0a, 0x1c, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0f, 0x65, 0x78, 0x74,
+ 0x72, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
+ 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x3a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78,
+ 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x52, 0x73, 0x70, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x65, 0x78, 0x70,
+ 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x61, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x65,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionGetRewardRsp_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionGetRewardRsp_proto_rawDescData = file_AvatarExpeditionGetRewardRsp_proto_rawDesc
+)
+
+func file_AvatarExpeditionGetRewardRsp_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionGetRewardRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionGetRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionGetRewardRsp_proto_rawDescData)
+ })
+ return file_AvatarExpeditionGetRewardRsp_proto_rawDescData
+}
+
+var file_AvatarExpeditionGetRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarExpeditionGetRewardRsp_proto_goTypes = []interface{}{
+ (*AvatarExpeditionGetRewardRsp)(nil), // 0: proto.AvatarExpeditionGetRewardRsp
+ nil, // 1: proto.AvatarExpeditionGetRewardRsp.ExpeditionInfoMapEntry
+ (*ItemParam)(nil), // 2: proto.ItemParam
+ (*AvatarExpeditionInfo)(nil), // 3: proto.AvatarExpeditionInfo
+}
+var file_AvatarExpeditionGetRewardRsp_proto_depIdxs = []int32{
+ 2, // 0: proto.AvatarExpeditionGetRewardRsp.extra_item_list:type_name -> proto.ItemParam
+ 2, // 1: proto.AvatarExpeditionGetRewardRsp.item_list:type_name -> proto.ItemParam
+ 1, // 2: proto.AvatarExpeditionGetRewardRsp.expedition_info_map:type_name -> proto.AvatarExpeditionGetRewardRsp.ExpeditionInfoMapEntry
+ 3, // 3: proto.AvatarExpeditionGetRewardRsp.ExpeditionInfoMapEntry.value:type_name -> proto.AvatarExpeditionInfo
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionGetRewardRsp_proto_init() }
+func file_AvatarExpeditionGetRewardRsp_proto_init() {
+ if File_AvatarExpeditionGetRewardRsp_proto != nil {
+ return
+ }
+ file_AvatarExpeditionInfo_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionGetRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionGetRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionGetRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionGetRewardRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionGetRewardRsp_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionGetRewardRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionGetRewardRsp_proto = out.File
+ file_AvatarExpeditionGetRewardRsp_proto_rawDesc = nil
+ file_AvatarExpeditionGetRewardRsp_proto_goTypes = nil
+ file_AvatarExpeditionGetRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionInfo.pb.go b/protocol/proto/AvatarExpeditionInfo.pb.go
new file mode 100644
index 00000000..d0851fab
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionInfo.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarExpeditionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ State AvatarExpeditionState `protobuf:"varint,1,opt,name=state,proto3,enum=proto.AvatarExpeditionState" json:"state,omitempty"`
+ ExpId uint32 `protobuf:"varint,2,opt,name=exp_id,json=expId,proto3" json:"exp_id,omitempty"`
+ HourTime uint32 `protobuf:"varint,3,opt,name=hour_time,json=hourTime,proto3" json:"hour_time,omitempty"`
+ StartTime uint32 `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ ShortenRatio float32 `protobuf:"fixed32,5,opt,name=shorten_ratio,json=shortenRatio,proto3" json:"shorten_ratio,omitempty"`
+}
+
+func (x *AvatarExpeditionInfo) Reset() {
+ *x = AvatarExpeditionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionInfo) ProtoMessage() {}
+
+func (x *AvatarExpeditionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionInfo.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionInfo) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionInfo) GetState() AvatarExpeditionState {
+ if x != nil {
+ return x.State
+ }
+ return AvatarExpeditionState_AVATAR_EXPEDITION_STATE_NONE
+}
+
+func (x *AvatarExpeditionInfo) GetExpId() uint32 {
+ if x != nil {
+ return x.ExpId
+ }
+ return 0
+}
+
+func (x *AvatarExpeditionInfo) GetHourTime() uint32 {
+ if x != nil {
+ return x.HourTime
+ }
+ return 0
+}
+
+func (x *AvatarExpeditionInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *AvatarExpeditionInfo) GetShortenRatio() float32 {
+ if x != nil {
+ return x.ShortenRatio
+ }
+ return 0
+}
+
+var File_AvatarExpeditionInfo_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xc2, 0x01, 0x0a, 0x14, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a,
+ 0x06, 0x65, 0x78, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65,
+ 0x78, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x75, 0x72, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x6f, 0x75, 0x72, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x6e,
+ 0x52, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionInfo_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionInfo_proto_rawDescData = file_AvatarExpeditionInfo_proto_rawDesc
+)
+
+func file_AvatarExpeditionInfo_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionInfo_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionInfo_proto_rawDescData)
+ })
+ return file_AvatarExpeditionInfo_proto_rawDescData
+}
+
+var file_AvatarExpeditionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarExpeditionInfo_proto_goTypes = []interface{}{
+ (*AvatarExpeditionInfo)(nil), // 0: proto.AvatarExpeditionInfo
+ (AvatarExpeditionState)(0), // 1: proto.AvatarExpeditionState
+}
+var file_AvatarExpeditionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarExpeditionInfo.state:type_name -> proto.AvatarExpeditionState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionInfo_proto_init() }
+func file_AvatarExpeditionInfo_proto_init() {
+ if File_AvatarExpeditionInfo_proto != nil {
+ return
+ }
+ file_AvatarExpeditionState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionInfo_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionInfo_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionInfo_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionInfo_proto = out.File
+ file_AvatarExpeditionInfo_proto_rawDesc = nil
+ file_AvatarExpeditionInfo_proto_goTypes = nil
+ file_AvatarExpeditionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionStartReq.pb.go b/protocol/proto/AvatarExpeditionStartReq.pb.go
new file mode 100644
index 00000000..687f0e24
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionStartReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionStartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1715
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarExpeditionStartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExpId uint32 `protobuf:"varint,9,opt,name=exp_id,json=expId,proto3" json:"exp_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,10,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ HourTime uint32 `protobuf:"varint,2,opt,name=hour_time,json=hourTime,proto3" json:"hour_time,omitempty"`
+}
+
+func (x *AvatarExpeditionStartReq) Reset() {
+ *x = AvatarExpeditionStartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionStartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionStartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionStartReq) ProtoMessage() {}
+
+func (x *AvatarExpeditionStartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionStartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionStartReq.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionStartReq) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionStartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionStartReq) GetExpId() uint32 {
+ if x != nil {
+ return x.ExpId
+ }
+ return 0
+}
+
+func (x *AvatarExpeditionStartReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarExpeditionStartReq) GetHourTime() uint32 {
+ if x != nil {
+ return x.HourTime
+ }
+ return 0
+}
+
+var File_AvatarExpeditionStartReq_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionStartReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x18, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x65, 0x78, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x68,
+ 0x6f, 0x75, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x68, 0x6f, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionStartReq_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionStartReq_proto_rawDescData = file_AvatarExpeditionStartReq_proto_rawDesc
+)
+
+func file_AvatarExpeditionStartReq_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionStartReq_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionStartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionStartReq_proto_rawDescData)
+ })
+ return file_AvatarExpeditionStartReq_proto_rawDescData
+}
+
+var file_AvatarExpeditionStartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarExpeditionStartReq_proto_goTypes = []interface{}{
+ (*AvatarExpeditionStartReq)(nil), // 0: proto.AvatarExpeditionStartReq
+}
+var file_AvatarExpeditionStartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionStartReq_proto_init() }
+func file_AvatarExpeditionStartReq_proto_init() {
+ if File_AvatarExpeditionStartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionStartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionStartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionStartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionStartReq_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionStartReq_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionStartReq_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionStartReq_proto = out.File
+ file_AvatarExpeditionStartReq_proto_rawDesc = nil
+ file_AvatarExpeditionStartReq_proto_goTypes = nil
+ file_AvatarExpeditionStartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionStartRsp.pb.go b/protocol/proto/AvatarExpeditionStartRsp.pb.go
new file mode 100644
index 00000000..42e7cd64
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionStartRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionStartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1719
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarExpeditionStartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExpeditionInfoMap map[uint64]*AvatarExpeditionInfo `protobuf:"bytes,2,rep,name=expedition_info_map,json=expeditionInfoMap,proto3" json:"expedition_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AvatarExpeditionStartRsp) Reset() {
+ *x = AvatarExpeditionStartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarExpeditionStartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarExpeditionStartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarExpeditionStartRsp) ProtoMessage() {}
+
+func (x *AvatarExpeditionStartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarExpeditionStartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarExpeditionStartRsp.ProtoReflect.Descriptor instead.
+func (*AvatarExpeditionStartRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarExpeditionStartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarExpeditionStartRsp) GetExpeditionInfoMap() map[uint64]*AvatarExpeditionInfo {
+ if x != nil {
+ return x.ExpeditionInfoMap
+ }
+ return nil
+}
+
+func (x *AvatarExpeditionStartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AvatarExpeditionStartRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionStartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x01, 0x0a, 0x18, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78,
+ 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70,
+ 0x12, 0x66, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x45,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x1a, 0x61, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionStartRsp_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionStartRsp_proto_rawDescData = file_AvatarExpeditionStartRsp_proto_rawDesc
+)
+
+func file_AvatarExpeditionStartRsp_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionStartRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionStartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionStartRsp_proto_rawDescData)
+ })
+ return file_AvatarExpeditionStartRsp_proto_rawDescData
+}
+
+var file_AvatarExpeditionStartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarExpeditionStartRsp_proto_goTypes = []interface{}{
+ (*AvatarExpeditionStartRsp)(nil), // 0: proto.AvatarExpeditionStartRsp
+ nil, // 1: proto.AvatarExpeditionStartRsp.ExpeditionInfoMapEntry
+ (*AvatarExpeditionInfo)(nil), // 2: proto.AvatarExpeditionInfo
+}
+var file_AvatarExpeditionStartRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarExpeditionStartRsp.expedition_info_map:type_name -> proto.AvatarExpeditionStartRsp.ExpeditionInfoMapEntry
+ 2, // 1: proto.AvatarExpeditionStartRsp.ExpeditionInfoMapEntry.value:type_name -> proto.AvatarExpeditionInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionStartRsp_proto_init() }
+func file_AvatarExpeditionStartRsp_proto_init() {
+ if File_AvatarExpeditionStartRsp_proto != nil {
+ return
+ }
+ file_AvatarExpeditionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarExpeditionStartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarExpeditionStartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionStartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionStartRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionStartRsp_proto_depIdxs,
+ MessageInfos: file_AvatarExpeditionStartRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarExpeditionStartRsp_proto = out.File
+ file_AvatarExpeditionStartRsp_proto_rawDesc = nil
+ file_AvatarExpeditionStartRsp_proto_goTypes = nil
+ file_AvatarExpeditionStartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarExpeditionState.pb.go b/protocol/proto/AvatarExpeditionState.pb.go
new file mode 100644
index 00000000..0e4d2caa
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionState.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarExpeditionState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarExpeditionState int32
+
+const (
+ AvatarExpeditionState_AVATAR_EXPEDITION_STATE_NONE AvatarExpeditionState = 0
+ AvatarExpeditionState_AVATAR_EXPEDITION_STATE_DOING AvatarExpeditionState = 1
+ AvatarExpeditionState_AVATAR_EXPEDITION_STATE_FINISH_WAIT_REWARD AvatarExpeditionState = 2
+ AvatarExpeditionState_AVATAR_EXPEDITION_STATE_CALLBACK_WAIT_REWARD AvatarExpeditionState = 3
+ AvatarExpeditionState_AVATAR_EXPEDITION_STATE_LOCKED AvatarExpeditionState = 4
+)
+
+// Enum value maps for AvatarExpeditionState.
+var (
+ AvatarExpeditionState_name = map[int32]string{
+ 0: "AVATAR_EXPEDITION_STATE_NONE",
+ 1: "AVATAR_EXPEDITION_STATE_DOING",
+ 2: "AVATAR_EXPEDITION_STATE_FINISH_WAIT_REWARD",
+ 3: "AVATAR_EXPEDITION_STATE_CALLBACK_WAIT_REWARD",
+ 4: "AVATAR_EXPEDITION_STATE_LOCKED",
+ }
+ AvatarExpeditionState_value = map[string]int32{
+ "AVATAR_EXPEDITION_STATE_NONE": 0,
+ "AVATAR_EXPEDITION_STATE_DOING": 1,
+ "AVATAR_EXPEDITION_STATE_FINISH_WAIT_REWARD": 2,
+ "AVATAR_EXPEDITION_STATE_CALLBACK_WAIT_REWARD": 3,
+ "AVATAR_EXPEDITION_STATE_LOCKED": 4,
+ }
+)
+
+func (x AvatarExpeditionState) Enum() *AvatarExpeditionState {
+ p := new(AvatarExpeditionState)
+ *p = x
+ return p
+}
+
+func (x AvatarExpeditionState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (AvatarExpeditionState) Descriptor() protoreflect.EnumDescriptor {
+ return file_AvatarExpeditionState_proto_enumTypes[0].Descriptor()
+}
+
+func (AvatarExpeditionState) Type() protoreflect.EnumType {
+ return &file_AvatarExpeditionState_proto_enumTypes[0]
+}
+
+func (x AvatarExpeditionState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use AvatarExpeditionState.Descriptor instead.
+func (AvatarExpeditionState) EnumDescriptor() ([]byte, []int) {
+ return file_AvatarExpeditionState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_AvatarExpeditionState_proto protoreflect.FileDescriptor
+
+var file_AvatarExpeditionState_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xe2, 0x01, 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20,
+ 0x0a, 0x1c, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
+ 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x44,
+ 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x49, 0x4e,
+ 0x47, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x45, 0x58,
+ 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46,
+ 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52,
+ 0x44, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x45, 0x58,
+ 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43,
+ 0x41, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x57,
+ 0x41, 0x52, 0x44, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f,
+ 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
+ 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarExpeditionState_proto_rawDescOnce sync.Once
+ file_AvatarExpeditionState_proto_rawDescData = file_AvatarExpeditionState_proto_rawDesc
+)
+
+func file_AvatarExpeditionState_proto_rawDescGZIP() []byte {
+ file_AvatarExpeditionState_proto_rawDescOnce.Do(func() {
+ file_AvatarExpeditionState_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarExpeditionState_proto_rawDescData)
+ })
+ return file_AvatarExpeditionState_proto_rawDescData
+}
+
+var file_AvatarExpeditionState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_AvatarExpeditionState_proto_goTypes = []interface{}{
+ (AvatarExpeditionState)(0), // 0: proto.AvatarExpeditionState
+}
+var file_AvatarExpeditionState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarExpeditionState_proto_init() }
+func file_AvatarExpeditionState_proto_init() {
+ if File_AvatarExpeditionState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarExpeditionState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarExpeditionState_proto_goTypes,
+ DependencyIndexes: file_AvatarExpeditionState_proto_depIdxs,
+ EnumInfos: file_AvatarExpeditionState_proto_enumTypes,
+ }.Build()
+ File_AvatarExpeditionState_proto = out.File
+ file_AvatarExpeditionState_proto_rawDesc = nil
+ file_AvatarExpeditionState_proto_goTypes = nil
+ file_AvatarExpeditionState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarFetterDataNotify.pb.go b/protocol/proto/AvatarFetterDataNotify.pb.go
new file mode 100644
index 00000000..a0d81cb3
--- /dev/null
+++ b/protocol/proto/AvatarFetterDataNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarFetterDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1782
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarFetterDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FetterInfoMap map[uint64]*AvatarFetterInfo `protobuf:"bytes,15,rep,name=fetter_info_map,json=fetterInfoMap,proto3" json:"fetter_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *AvatarFetterDataNotify) Reset() {
+ *x = AvatarFetterDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarFetterDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarFetterDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarFetterDataNotify) ProtoMessage() {}
+
+func (x *AvatarFetterDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarFetterDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarFetterDataNotify.ProtoReflect.Descriptor instead.
+func (*AvatarFetterDataNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarFetterDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarFetterDataNotify) GetFetterInfoMap() map[uint64]*AvatarFetterInfo {
+ if x != nil {
+ return x.FetterInfoMap
+ }
+ return nil
+}
+
+var File_AvatarFetterDataNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarFetterDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74,
+ 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x01,
+ 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x58, 0x0a, 0x0f, 0x66, 0x65, 0x74, 0x74,
+ 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0d, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4d,
+ 0x61, 0x70, 0x1a, 0x59, 0x0a, 0x12, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AvatarFetterDataNotify_proto_rawDescOnce sync.Once
+ file_AvatarFetterDataNotify_proto_rawDescData = file_AvatarFetterDataNotify_proto_rawDesc
+)
+
+func file_AvatarFetterDataNotify_proto_rawDescGZIP() []byte {
+ file_AvatarFetterDataNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarFetterDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarFetterDataNotify_proto_rawDescData)
+ })
+ return file_AvatarFetterDataNotify_proto_rawDescData
+}
+
+var file_AvatarFetterDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarFetterDataNotify_proto_goTypes = []interface{}{
+ (*AvatarFetterDataNotify)(nil), // 0: proto.AvatarFetterDataNotify
+ nil, // 1: proto.AvatarFetterDataNotify.FetterInfoMapEntry
+ (*AvatarFetterInfo)(nil), // 2: proto.AvatarFetterInfo
+}
+var file_AvatarFetterDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarFetterDataNotify.fetter_info_map:type_name -> proto.AvatarFetterDataNotify.FetterInfoMapEntry
+ 2, // 1: proto.AvatarFetterDataNotify.FetterInfoMapEntry.value:type_name -> proto.AvatarFetterInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarFetterDataNotify_proto_init() }
+func file_AvatarFetterDataNotify_proto_init() {
+ if File_AvatarFetterDataNotify_proto != nil {
+ return
+ }
+ file_AvatarFetterInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarFetterDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarFetterDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarFetterDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarFetterDataNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarFetterDataNotify_proto_depIdxs,
+ MessageInfos: file_AvatarFetterDataNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarFetterDataNotify_proto = out.File
+ file_AvatarFetterDataNotify_proto_rawDesc = nil
+ file_AvatarFetterDataNotify_proto_goTypes = nil
+ file_AvatarFetterDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarFetterInfo.pb.go b/protocol/proto/AvatarFetterInfo.pb.go
new file mode 100644
index 00000000..de052a59
--- /dev/null
+++ b/protocol/proto/AvatarFetterInfo.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarFetterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarFetterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExpNumber uint32 `protobuf:"varint,1,opt,name=exp_number,json=expNumber,proto3" json:"exp_number,omitempty"`
+ ExpLevel uint32 `protobuf:"varint,2,opt,name=exp_level,json=expLevel,proto3" json:"exp_level,omitempty"`
+ OpenIdList []uint32 `protobuf:"varint,3,rep,packed,name=open_id_list,json=openIdList,proto3" json:"open_id_list,omitempty"`
+ FinishIdList []uint32 `protobuf:"varint,4,rep,packed,name=finish_id_list,json=finishIdList,proto3" json:"finish_id_list,omitempty"`
+ RewardedFetterLevelList []uint32 `protobuf:"varint,5,rep,packed,name=rewarded_fetter_level_list,json=rewardedFetterLevelList,proto3" json:"rewarded_fetter_level_list,omitempty"`
+ FetterList []*FetterData `protobuf:"bytes,6,rep,name=fetter_list,json=fetterList,proto3" json:"fetter_list,omitempty"`
+}
+
+func (x *AvatarFetterInfo) Reset() {
+ *x = AvatarFetterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarFetterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarFetterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarFetterInfo) ProtoMessage() {}
+
+func (x *AvatarFetterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarFetterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarFetterInfo.ProtoReflect.Descriptor instead.
+func (*AvatarFetterInfo) Descriptor() ([]byte, []int) {
+ return file_AvatarFetterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarFetterInfo) GetExpNumber() uint32 {
+ if x != nil {
+ return x.ExpNumber
+ }
+ return 0
+}
+
+func (x *AvatarFetterInfo) GetExpLevel() uint32 {
+ if x != nil {
+ return x.ExpLevel
+ }
+ return 0
+}
+
+func (x *AvatarFetterInfo) GetOpenIdList() []uint32 {
+ if x != nil {
+ return x.OpenIdList
+ }
+ return nil
+}
+
+func (x *AvatarFetterInfo) GetFinishIdList() []uint32 {
+ if x != nil {
+ return x.FinishIdList
+ }
+ return nil
+}
+
+func (x *AvatarFetterInfo) GetRewardedFetterLevelList() []uint32 {
+ if x != nil {
+ return x.RewardedFetterLevelList
+ }
+ return nil
+}
+
+func (x *AvatarFetterInfo) GetFetterList() []*FetterData {
+ if x != nil {
+ return x.FetterList
+ }
+ return nil
+}
+
+var File_AvatarFetterInfo_proto protoreflect.FileDescriptor
+
+var file_AvatarFetterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x10, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x87, 0x02, 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x78, 0x70, 0x4e,
+ 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x17,
+ 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x66, 0x65, 0x74, 0x74, 0x65,
+ 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x0a, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarFetterInfo_proto_rawDescOnce sync.Once
+ file_AvatarFetterInfo_proto_rawDescData = file_AvatarFetterInfo_proto_rawDesc
+)
+
+func file_AvatarFetterInfo_proto_rawDescGZIP() []byte {
+ file_AvatarFetterInfo_proto_rawDescOnce.Do(func() {
+ file_AvatarFetterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarFetterInfo_proto_rawDescData)
+ })
+ return file_AvatarFetterInfo_proto_rawDescData
+}
+
+var file_AvatarFetterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarFetterInfo_proto_goTypes = []interface{}{
+ (*AvatarFetterInfo)(nil), // 0: proto.AvatarFetterInfo
+ (*FetterData)(nil), // 1: proto.FetterData
+}
+var file_AvatarFetterInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarFetterInfo.fetter_list:type_name -> proto.FetterData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarFetterInfo_proto_init() }
+func file_AvatarFetterInfo_proto_init() {
+ if File_AvatarFetterInfo_proto != nil {
+ return
+ }
+ file_FetterData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarFetterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarFetterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarFetterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarFetterInfo_proto_goTypes,
+ DependencyIndexes: file_AvatarFetterInfo_proto_depIdxs,
+ MessageInfos: file_AvatarFetterInfo_proto_msgTypes,
+ }.Build()
+ File_AvatarFetterInfo_proto = out.File
+ file_AvatarFetterInfo_proto_rawDesc = nil
+ file_AvatarFetterInfo_proto_goTypes = nil
+ file_AvatarFetterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarFetterLevelRewardReq.pb.go b/protocol/proto/AvatarFetterLevelRewardReq.pb.go
new file mode 100644
index 00000000..e7e970c3
--- /dev/null
+++ b/protocol/proto/AvatarFetterLevelRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarFetterLevelRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1653
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarFetterLevelRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,1,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ FetterLevel uint32 `protobuf:"varint,6,opt,name=fetter_level,json=fetterLevel,proto3" json:"fetter_level,omitempty"`
+}
+
+func (x *AvatarFetterLevelRewardReq) Reset() {
+ *x = AvatarFetterLevelRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarFetterLevelRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarFetterLevelRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarFetterLevelRewardReq) ProtoMessage() {}
+
+func (x *AvatarFetterLevelRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarFetterLevelRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarFetterLevelRewardReq.ProtoReflect.Descriptor instead.
+func (*AvatarFetterLevelRewardReq) Descriptor() ([]byte, []int) {
+ return file_AvatarFetterLevelRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarFetterLevelRewardReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarFetterLevelRewardReq) GetFetterLevel() uint32 {
+ if x != nil {
+ return x.FetterLevel
+ }
+ return 0
+}
+
+var File_AvatarFetterLevelRewardReq_proto protoreflect.FileDescriptor
+
+var file_AvatarFetterLevelRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x1a, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x65, 0x74, 0x74,
+ 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarFetterLevelRewardReq_proto_rawDescOnce sync.Once
+ file_AvatarFetterLevelRewardReq_proto_rawDescData = file_AvatarFetterLevelRewardReq_proto_rawDesc
+)
+
+func file_AvatarFetterLevelRewardReq_proto_rawDescGZIP() []byte {
+ file_AvatarFetterLevelRewardReq_proto_rawDescOnce.Do(func() {
+ file_AvatarFetterLevelRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarFetterLevelRewardReq_proto_rawDescData)
+ })
+ return file_AvatarFetterLevelRewardReq_proto_rawDescData
+}
+
+var file_AvatarFetterLevelRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarFetterLevelRewardReq_proto_goTypes = []interface{}{
+ (*AvatarFetterLevelRewardReq)(nil), // 0: proto.AvatarFetterLevelRewardReq
+}
+var file_AvatarFetterLevelRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarFetterLevelRewardReq_proto_init() }
+func file_AvatarFetterLevelRewardReq_proto_init() {
+ if File_AvatarFetterLevelRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarFetterLevelRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarFetterLevelRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarFetterLevelRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarFetterLevelRewardReq_proto_goTypes,
+ DependencyIndexes: file_AvatarFetterLevelRewardReq_proto_depIdxs,
+ MessageInfos: file_AvatarFetterLevelRewardReq_proto_msgTypes,
+ }.Build()
+ File_AvatarFetterLevelRewardReq_proto = out.File
+ file_AvatarFetterLevelRewardReq_proto_rawDesc = nil
+ file_AvatarFetterLevelRewardReq_proto_goTypes = nil
+ file_AvatarFetterLevelRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarFetterLevelRewardRsp.pb.go b/protocol/proto/AvatarFetterLevelRewardRsp.pb.go
new file mode 100644
index 00000000..84ab3488
--- /dev/null
+++ b/protocol/proto/AvatarFetterLevelRewardRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarFetterLevelRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1606
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarFetterLevelRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,4,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ RewardId uint32 `protobuf:"varint,1,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FetterLevel uint32 `protobuf:"varint,14,opt,name=fetter_level,json=fetterLevel,proto3" json:"fetter_level,omitempty"`
+}
+
+func (x *AvatarFetterLevelRewardRsp) Reset() {
+ *x = AvatarFetterLevelRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarFetterLevelRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarFetterLevelRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarFetterLevelRewardRsp) ProtoMessage() {}
+
+func (x *AvatarFetterLevelRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarFetterLevelRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarFetterLevelRewardRsp.ProtoReflect.Descriptor instead.
+func (*AvatarFetterLevelRewardRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarFetterLevelRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarFetterLevelRewardRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarFetterLevelRewardRsp) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *AvatarFetterLevelRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AvatarFetterLevelRewardRsp) GetFetterLevel() uint32 {
+ if x != nil {
+ return x.FetterLevel
+ }
+ return 0
+}
+
+var File_AvatarFetterLevelRewardRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarFetterLevelRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x1a, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarFetterLevelRewardRsp_proto_rawDescOnce sync.Once
+ file_AvatarFetterLevelRewardRsp_proto_rawDescData = file_AvatarFetterLevelRewardRsp_proto_rawDesc
+)
+
+func file_AvatarFetterLevelRewardRsp_proto_rawDescGZIP() []byte {
+ file_AvatarFetterLevelRewardRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarFetterLevelRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarFetterLevelRewardRsp_proto_rawDescData)
+ })
+ return file_AvatarFetterLevelRewardRsp_proto_rawDescData
+}
+
+var file_AvatarFetterLevelRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarFetterLevelRewardRsp_proto_goTypes = []interface{}{
+ (*AvatarFetterLevelRewardRsp)(nil), // 0: proto.AvatarFetterLevelRewardRsp
+}
+var file_AvatarFetterLevelRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarFetterLevelRewardRsp_proto_init() }
+func file_AvatarFetterLevelRewardRsp_proto_init() {
+ if File_AvatarFetterLevelRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarFetterLevelRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarFetterLevelRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarFetterLevelRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarFetterLevelRewardRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarFetterLevelRewardRsp_proto_depIdxs,
+ MessageInfos: file_AvatarFetterLevelRewardRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarFetterLevelRewardRsp_proto = out.File
+ file_AvatarFetterLevelRewardRsp_proto_rawDesc = nil
+ file_AvatarFetterLevelRewardRsp_proto_goTypes = nil
+ file_AvatarFetterLevelRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarFightPropNotify.pb.go b/protocol/proto/AvatarFightPropNotify.pb.go
new file mode 100644
index 00000000..65fc8018
--- /dev/null
+++ b/protocol/proto/AvatarFightPropNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarFightPropNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1207
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarFightPropNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FightPropMap map[uint32]float32 `protobuf:"bytes,8,rep,name=fight_prop_map,json=fightPropMap,proto3" json:"fight_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ AvatarGuid uint64 `protobuf:"varint,4,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarFightPropNotify) Reset() {
+ *x = AvatarFightPropNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarFightPropNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarFightPropNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarFightPropNotify) ProtoMessage() {}
+
+func (x *AvatarFightPropNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarFightPropNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarFightPropNotify.ProtoReflect.Descriptor instead.
+func (*AvatarFightPropNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarFightPropNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarFightPropNotify) GetFightPropMap() map[uint32]float32 {
+ if x != nil {
+ return x.FightPropMap
+ }
+ return nil
+}
+
+func (x *AvatarFightPropNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarFightPropNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarFightPropNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f,
+ 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46,
+ 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x54,
+ 0x0a, 0x0e, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f,
+ 0x70, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x47, 0x75, 0x69, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72,
+ 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarFightPropNotify_proto_rawDescOnce sync.Once
+ file_AvatarFightPropNotify_proto_rawDescData = file_AvatarFightPropNotify_proto_rawDesc
+)
+
+func file_AvatarFightPropNotify_proto_rawDescGZIP() []byte {
+ file_AvatarFightPropNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarFightPropNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarFightPropNotify_proto_rawDescData)
+ })
+ return file_AvatarFightPropNotify_proto_rawDescData
+}
+
+var file_AvatarFightPropNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarFightPropNotify_proto_goTypes = []interface{}{
+ (*AvatarFightPropNotify)(nil), // 0: proto.AvatarFightPropNotify
+ nil, // 1: proto.AvatarFightPropNotify.FightPropMapEntry
+}
+var file_AvatarFightPropNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarFightPropNotify.fight_prop_map:type_name -> proto.AvatarFightPropNotify.FightPropMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarFightPropNotify_proto_init() }
+func file_AvatarFightPropNotify_proto_init() {
+ if File_AvatarFightPropNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarFightPropNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarFightPropNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarFightPropNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarFightPropNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarFightPropNotify_proto_depIdxs,
+ MessageInfos: file_AvatarFightPropNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarFightPropNotify_proto = out.File
+ file_AvatarFightPropNotify_proto_rawDesc = nil
+ file_AvatarFightPropNotify_proto_goTypes = nil
+ file_AvatarFightPropNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarFightPropUpdateNotify.pb.go b/protocol/proto/AvatarFightPropUpdateNotify.pb.go
new file mode 100644
index 00000000..c577ee58
--- /dev/null
+++ b/protocol/proto/AvatarFightPropUpdateNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarFightPropUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1221
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarFightPropUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FightPropMap map[uint32]float32 `protobuf:"bytes,15,rep,name=fight_prop_map,json=fightPropMap,proto3" json:"fight_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ AvatarGuid uint64 `protobuf:"varint,13,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarFightPropUpdateNotify) Reset() {
+ *x = AvatarFightPropUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarFightPropUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarFightPropUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarFightPropUpdateNotify) ProtoMessage() {}
+
+func (x *AvatarFightPropUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarFightPropUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarFightPropUpdateNotify.ProtoReflect.Descriptor instead.
+func (*AvatarFightPropUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarFightPropUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarFightPropUpdateNotify) GetFightPropMap() map[uint32]float32 {
+ if x != nil {
+ return x.FightPropMap
+ }
+ return nil
+}
+
+func (x *AvatarFightPropUpdateNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarFightPropUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarFightPropUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f,
+ 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x1b, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x5a, 0x0a, 0x0e, 0x66, 0x69,
+ 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, 0x50,
+ 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x69, 0x67, 0x68, 0x74,
+ 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarFightPropUpdateNotify_proto_rawDescOnce sync.Once
+ file_AvatarFightPropUpdateNotify_proto_rawDescData = file_AvatarFightPropUpdateNotify_proto_rawDesc
+)
+
+func file_AvatarFightPropUpdateNotify_proto_rawDescGZIP() []byte {
+ file_AvatarFightPropUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarFightPropUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarFightPropUpdateNotify_proto_rawDescData)
+ })
+ return file_AvatarFightPropUpdateNotify_proto_rawDescData
+}
+
+var file_AvatarFightPropUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarFightPropUpdateNotify_proto_goTypes = []interface{}{
+ (*AvatarFightPropUpdateNotify)(nil), // 0: proto.AvatarFightPropUpdateNotify
+ nil, // 1: proto.AvatarFightPropUpdateNotify.FightPropMapEntry
+}
+var file_AvatarFightPropUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarFightPropUpdateNotify.fight_prop_map:type_name -> proto.AvatarFightPropUpdateNotify.FightPropMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarFightPropUpdateNotify_proto_init() }
+func file_AvatarFightPropUpdateNotify_proto_init() {
+ if File_AvatarFightPropUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarFightPropUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarFightPropUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarFightPropUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarFightPropUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarFightPropUpdateNotify_proto_depIdxs,
+ MessageInfos: file_AvatarFightPropUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarFightPropUpdateNotify_proto = out.File
+ file_AvatarFightPropUpdateNotify_proto_rawDesc = nil
+ file_AvatarFightPropUpdateNotify_proto_goTypes = nil
+ file_AvatarFightPropUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarFlycloakChangeNotify.pb.go b/protocol/proto/AvatarFlycloakChangeNotify.pb.go
new file mode 100644
index 00000000..07b16f60
--- /dev/null
+++ b/protocol/proto/AvatarFlycloakChangeNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarFlycloakChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1643
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarFlycloakChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FlycloakId uint32 `protobuf:"varint,8,opt,name=flycloak_id,json=flycloakId,proto3" json:"flycloak_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,2,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarFlycloakChangeNotify) Reset() {
+ *x = AvatarFlycloakChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarFlycloakChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarFlycloakChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarFlycloakChangeNotify) ProtoMessage() {}
+
+func (x *AvatarFlycloakChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarFlycloakChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarFlycloakChangeNotify.ProtoReflect.Descriptor instead.
+func (*AvatarFlycloakChangeNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarFlycloakChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarFlycloakChangeNotify) GetFlycloakId() uint32 {
+ if x != nil {
+ return x.FlycloakId
+ }
+ return 0
+}
+
+func (x *AvatarFlycloakChangeNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarFlycloakChangeNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarFlycloakChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x1a, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x46, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x79, 0x63, 0x6c,
+ 0x6f, 0x61, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x6c,
+ 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarFlycloakChangeNotify_proto_rawDescOnce sync.Once
+ file_AvatarFlycloakChangeNotify_proto_rawDescData = file_AvatarFlycloakChangeNotify_proto_rawDesc
+)
+
+func file_AvatarFlycloakChangeNotify_proto_rawDescGZIP() []byte {
+ file_AvatarFlycloakChangeNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarFlycloakChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarFlycloakChangeNotify_proto_rawDescData)
+ })
+ return file_AvatarFlycloakChangeNotify_proto_rawDescData
+}
+
+var file_AvatarFlycloakChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarFlycloakChangeNotify_proto_goTypes = []interface{}{
+ (*AvatarFlycloakChangeNotify)(nil), // 0: proto.AvatarFlycloakChangeNotify
+}
+var file_AvatarFlycloakChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarFlycloakChangeNotify_proto_init() }
+func file_AvatarFlycloakChangeNotify_proto_init() {
+ if File_AvatarFlycloakChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarFlycloakChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarFlycloakChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarFlycloakChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarFlycloakChangeNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarFlycloakChangeNotify_proto_depIdxs,
+ MessageInfos: file_AvatarFlycloakChangeNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarFlycloakChangeNotify_proto = out.File
+ file_AvatarFlycloakChangeNotify_proto_rawDesc = nil
+ file_AvatarFlycloakChangeNotify_proto_goTypes = nil
+ file_AvatarFlycloakChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarFollowRouteNotify.pb.go b/protocol/proto/AvatarFollowRouteNotify.pb.go
new file mode 100644
index 00000000..f6de5a7a
--- /dev/null
+++ b/protocol/proto/AvatarFollowRouteNotify.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarFollowRouteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3458
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarFollowRouteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ TemplateId uint32 `protobuf:"varint,6,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
+ StartSceneTimeMs uint32 `protobuf:"varint,8,opt,name=start_scene_time_ms,json=startSceneTimeMs,proto3" json:"start_scene_time_ms,omitempty"`
+ Route *Route `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
+ ClientParams string `protobuf:"bytes,13,opt,name=client_params,json=clientParams,proto3" json:"client_params,omitempty"`
+}
+
+func (x *AvatarFollowRouteNotify) Reset() {
+ *x = AvatarFollowRouteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarFollowRouteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarFollowRouteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarFollowRouteNotify) ProtoMessage() {}
+
+func (x *AvatarFollowRouteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarFollowRouteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarFollowRouteNotify.ProtoReflect.Descriptor instead.
+func (*AvatarFollowRouteNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarFollowRouteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarFollowRouteNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AvatarFollowRouteNotify) GetTemplateId() uint32 {
+ if x != nil {
+ return x.TemplateId
+ }
+ return 0
+}
+
+func (x *AvatarFollowRouteNotify) GetStartSceneTimeMs() uint32 {
+ if x != nil {
+ return x.StartSceneTimeMs
+ }
+ return 0
+}
+
+func (x *AvatarFollowRouteNotify) GetRoute() *Route {
+ if x != nil {
+ return x.Route
+ }
+ return nil
+}
+
+func (x *AvatarFollowRouteNotify) GetClientParams() string {
+ if x != nil {
+ return x.ClientParams
+ }
+ return ""
+}
+
+var File_AvatarFollowRouteNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarFollowRouteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x6f,
+ 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x17, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x6f,
+ 0x6c, 0x6c, 0x6f, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a,
+ 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x05,
+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarFollowRouteNotify_proto_rawDescOnce sync.Once
+ file_AvatarFollowRouteNotify_proto_rawDescData = file_AvatarFollowRouteNotify_proto_rawDesc
+)
+
+func file_AvatarFollowRouteNotify_proto_rawDescGZIP() []byte {
+ file_AvatarFollowRouteNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarFollowRouteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarFollowRouteNotify_proto_rawDescData)
+ })
+ return file_AvatarFollowRouteNotify_proto_rawDescData
+}
+
+var file_AvatarFollowRouteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarFollowRouteNotify_proto_goTypes = []interface{}{
+ (*AvatarFollowRouteNotify)(nil), // 0: proto.AvatarFollowRouteNotify
+ (*Route)(nil), // 1: proto.Route
+}
+var file_AvatarFollowRouteNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarFollowRouteNotify.route:type_name -> proto.Route
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarFollowRouteNotify_proto_init() }
+func file_AvatarFollowRouteNotify_proto_init() {
+ if File_AvatarFollowRouteNotify_proto != nil {
+ return
+ }
+ file_Route_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarFollowRouteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarFollowRouteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarFollowRouteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarFollowRouteNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarFollowRouteNotify_proto_depIdxs,
+ MessageInfos: file_AvatarFollowRouteNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarFollowRouteNotify_proto = out.File
+ file_AvatarFollowRouteNotify_proto_rawDesc = nil
+ file_AvatarFollowRouteNotify_proto_goTypes = nil
+ file_AvatarFollowRouteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarGainCostumeNotify.pb.go b/protocol/proto/AvatarGainCostumeNotify.pb.go
new file mode 100644
index 00000000..2f8cfed8
--- /dev/null
+++ b/protocol/proto/AvatarGainCostumeNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarGainCostumeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1677
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarGainCostumeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostumeId uint32 `protobuf:"varint,15,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+}
+
+func (x *AvatarGainCostumeNotify) Reset() {
+ *x = AvatarGainCostumeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarGainCostumeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarGainCostumeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarGainCostumeNotify) ProtoMessage() {}
+
+func (x *AvatarGainCostumeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarGainCostumeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarGainCostumeNotify.ProtoReflect.Descriptor instead.
+func (*AvatarGainCostumeNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarGainCostumeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarGainCostumeNotify) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+var File_AvatarGainCostumeNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarGainCostumeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74,
+ 0x75, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x17, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x47, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarGainCostumeNotify_proto_rawDescOnce sync.Once
+ file_AvatarGainCostumeNotify_proto_rawDescData = file_AvatarGainCostumeNotify_proto_rawDesc
+)
+
+func file_AvatarGainCostumeNotify_proto_rawDescGZIP() []byte {
+ file_AvatarGainCostumeNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarGainCostumeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarGainCostumeNotify_proto_rawDescData)
+ })
+ return file_AvatarGainCostumeNotify_proto_rawDescData
+}
+
+var file_AvatarGainCostumeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarGainCostumeNotify_proto_goTypes = []interface{}{
+ (*AvatarGainCostumeNotify)(nil), // 0: proto.AvatarGainCostumeNotify
+}
+var file_AvatarGainCostumeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarGainCostumeNotify_proto_init() }
+func file_AvatarGainCostumeNotify_proto_init() {
+ if File_AvatarGainCostumeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarGainCostumeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarGainCostumeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarGainCostumeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarGainCostumeNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarGainCostumeNotify_proto_depIdxs,
+ MessageInfos: file_AvatarGainCostumeNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarGainCostumeNotify_proto = out.File
+ file_AvatarGainCostumeNotify_proto_rawDesc = nil
+ file_AvatarGainCostumeNotify_proto_goTypes = nil
+ file_AvatarGainCostumeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarGainFlycloakNotify.pb.go b/protocol/proto/AvatarGainFlycloakNotify.pb.go
new file mode 100644
index 00000000..ff28cfc5
--- /dev/null
+++ b/protocol/proto/AvatarGainFlycloakNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarGainFlycloakNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1656
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarGainFlycloakNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FlycloakId uint32 `protobuf:"varint,3,opt,name=flycloak_id,json=flycloakId,proto3" json:"flycloak_id,omitempty"`
+}
+
+func (x *AvatarGainFlycloakNotify) Reset() {
+ *x = AvatarGainFlycloakNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarGainFlycloakNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarGainFlycloakNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarGainFlycloakNotify) ProtoMessage() {}
+
+func (x *AvatarGainFlycloakNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarGainFlycloakNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarGainFlycloakNotify.ProtoReflect.Descriptor instead.
+func (*AvatarGainFlycloakNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarGainFlycloakNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarGainFlycloakNotify) GetFlycloakId() uint32 {
+ if x != nil {
+ return x.FlycloakId
+ }
+ return 0
+}
+
+var File_AvatarGainFlycloakNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarGainFlycloakNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x61, 0x69, 0x6e, 0x46, 0x6c, 0x79, 0x63,
+ 0x6c, 0x6f, 0x61, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x18, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x47, 0x61, 0x69, 0x6e, 0x46, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x6c, 0x79, 0x63, 0x6c, 0x6f,
+ 0x61, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarGainFlycloakNotify_proto_rawDescOnce sync.Once
+ file_AvatarGainFlycloakNotify_proto_rawDescData = file_AvatarGainFlycloakNotify_proto_rawDesc
+)
+
+func file_AvatarGainFlycloakNotify_proto_rawDescGZIP() []byte {
+ file_AvatarGainFlycloakNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarGainFlycloakNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarGainFlycloakNotify_proto_rawDescData)
+ })
+ return file_AvatarGainFlycloakNotify_proto_rawDescData
+}
+
+var file_AvatarGainFlycloakNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarGainFlycloakNotify_proto_goTypes = []interface{}{
+ (*AvatarGainFlycloakNotify)(nil), // 0: proto.AvatarGainFlycloakNotify
+}
+var file_AvatarGainFlycloakNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarGainFlycloakNotify_proto_init() }
+func file_AvatarGainFlycloakNotify_proto_init() {
+ if File_AvatarGainFlycloakNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarGainFlycloakNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarGainFlycloakNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarGainFlycloakNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarGainFlycloakNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarGainFlycloakNotify_proto_depIdxs,
+ MessageInfos: file_AvatarGainFlycloakNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarGainFlycloakNotify_proto = out.File
+ file_AvatarGainFlycloakNotify_proto_rawDesc = nil
+ file_AvatarGainFlycloakNotify_proto_goTypes = nil
+ file_AvatarGainFlycloakNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarInfo.pb.go b/protocol/proto/AvatarInfo.pb.go
new file mode 100644
index 00000000..9eed09c5
--- /dev/null
+++ b/protocol/proto/AvatarInfo.pb.go
@@ -0,0 +1,504 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Guid uint64 `protobuf:"varint,2,opt,name=guid,proto3" json:"guid,omitempty"`
+ PropMap map[uint32]*PropValue `protobuf:"bytes,3,rep,name=prop_map,json=propMap,proto3" json:"prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ LifeState uint32 `protobuf:"varint,4,opt,name=life_state,json=lifeState,proto3" json:"life_state,omitempty"`
+ EquipGuidList []uint64 `protobuf:"varint,5,rep,packed,name=equip_guid_list,json=equipGuidList,proto3" json:"equip_guid_list,omitempty"`
+ TalentIdList []uint32 `protobuf:"varint,6,rep,packed,name=talent_id_list,json=talentIdList,proto3" json:"talent_id_list,omitempty"`
+ FightPropMap map[uint32]float32 `protobuf:"bytes,7,rep,name=fight_prop_map,json=fightPropMap,proto3" json:"fight_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ TrialAvatarInfo *TrialAvatarInfo `protobuf:"bytes,9,opt,name=trial_avatar_info,json=trialAvatarInfo,proto3" json:"trial_avatar_info,omitempty"`
+ SkillMap map[uint32]*AvatarSkillInfo `protobuf:"bytes,10,rep,name=skill_map,json=skillMap,proto3" json:"skill_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ SkillDepotId uint32 `protobuf:"varint,11,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+ FetterInfo *AvatarFetterInfo `protobuf:"bytes,12,opt,name=fetter_info,json=fetterInfo,proto3" json:"fetter_info,omitempty"`
+ CoreProudSkillLevel uint32 `protobuf:"varint,13,opt,name=core_proud_skill_level,json=coreProudSkillLevel,proto3" json:"core_proud_skill_level,omitempty"`
+ InherentProudSkillList []uint32 `protobuf:"varint,14,rep,packed,name=inherent_proud_skill_list,json=inherentProudSkillList,proto3" json:"inherent_proud_skill_list,omitempty"`
+ SkillLevelMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=skill_level_map,json=skillLevelMap,proto3" json:"skill_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ExpeditionState AvatarExpeditionState `protobuf:"varint,16,opt,name=expedition_state,json=expeditionState,proto3,enum=proto.AvatarExpeditionState" json:"expedition_state,omitempty"`
+ ProudSkillExtraLevelMap map[uint32]uint32 `protobuf:"bytes,17,rep,name=proud_skill_extra_level_map,json=proudSkillExtraLevelMap,proto3" json:"proud_skill_extra_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ IsFocus bool `protobuf:"varint,18,opt,name=is_focus,json=isFocus,proto3" json:"is_focus,omitempty"`
+ AvatarType uint32 `protobuf:"varint,19,opt,name=avatar_type,json=avatarType,proto3" json:"avatar_type,omitempty"`
+ TeamResonanceList []uint32 `protobuf:"varint,20,rep,packed,name=team_resonance_list,json=teamResonanceList,proto3" json:"team_resonance_list,omitempty"`
+ WearingFlycloakId uint32 `protobuf:"varint,21,opt,name=wearing_flycloak_id,json=wearingFlycloakId,proto3" json:"wearing_flycloak_id,omitempty"`
+ EquipAffixList []*AvatarEquipAffixInfo `protobuf:"bytes,22,rep,name=equip_affix_list,json=equipAffixList,proto3" json:"equip_affix_list,omitempty"`
+ BornTime uint32 `protobuf:"varint,23,opt,name=born_time,json=bornTime,proto3" json:"born_time,omitempty"`
+ PendingPromoteRewardList []uint32 `protobuf:"varint,24,rep,packed,name=pending_promote_reward_list,json=pendingPromoteRewardList,proto3" json:"pending_promote_reward_list,omitempty"`
+ CostumeId uint32 `protobuf:"varint,25,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ ExcelInfo *AvatarExcelInfo `protobuf:"bytes,26,opt,name=excel_info,json=excelInfo,proto3" json:"excel_info,omitempty"`
+ AnimHash uint32 `protobuf:"varint,27,opt,name=anim_hash,json=animHash,proto3" json:"anim_hash,omitempty"`
+}
+
+func (x *AvatarInfo) Reset() {
+ *x = AvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarInfo) ProtoMessage() {}
+
+func (x *AvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarInfo.ProtoReflect.Descriptor instead.
+func (*AvatarInfo) Descriptor() ([]byte, []int) {
+ return file_AvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetPropMap() map[uint32]*PropValue {
+ if x != nil {
+ return x.PropMap
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetLifeState() uint32 {
+ if x != nil {
+ return x.LifeState
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetEquipGuidList() []uint64 {
+ if x != nil {
+ return x.EquipGuidList
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetTalentIdList() []uint32 {
+ if x != nil {
+ return x.TalentIdList
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetFightPropMap() map[uint32]float32 {
+ if x != nil {
+ return x.FightPropMap
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetTrialAvatarInfo() *TrialAvatarInfo {
+ if x != nil {
+ return x.TrialAvatarInfo
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetSkillMap() map[uint32]*AvatarSkillInfo {
+ if x != nil {
+ return x.SkillMap
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetFetterInfo() *AvatarFetterInfo {
+ if x != nil {
+ return x.FetterInfo
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetCoreProudSkillLevel() uint32 {
+ if x != nil {
+ return x.CoreProudSkillLevel
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetInherentProudSkillList() []uint32 {
+ if x != nil {
+ return x.InherentProudSkillList
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetSkillLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkillLevelMap
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetExpeditionState() AvatarExpeditionState {
+ if x != nil {
+ return x.ExpeditionState
+ }
+ return AvatarExpeditionState_AVATAR_EXPEDITION_STATE_NONE
+}
+
+func (x *AvatarInfo) GetProudSkillExtraLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ProudSkillExtraLevelMap
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetIsFocus() bool {
+ if x != nil {
+ return x.IsFocus
+ }
+ return false
+}
+
+func (x *AvatarInfo) GetAvatarType() uint32 {
+ if x != nil {
+ return x.AvatarType
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetTeamResonanceList() []uint32 {
+ if x != nil {
+ return x.TeamResonanceList
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetWearingFlycloakId() uint32 {
+ if x != nil {
+ return x.WearingFlycloakId
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetEquipAffixList() []*AvatarEquipAffixInfo {
+ if x != nil {
+ return x.EquipAffixList
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetBornTime() uint32 {
+ if x != nil {
+ return x.BornTime
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetPendingPromoteRewardList() []uint32 {
+ if x != nil {
+ return x.PendingPromoteRewardList
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *AvatarInfo) GetExcelInfo() *AvatarExcelInfo {
+ if x != nil {
+ return x.ExcelInfo
+ }
+ return nil
+}
+
+func (x *AvatarInfo) GetAnimHash() uint32 {
+ if x != nil {
+ return x.AnimHash
+ }
+ return 0
+}
+
+var File_AvatarInfo_proto protoreflect.FileDescriptor
+
+var file_AvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x63,
+ 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xab, 0x0d, 0x0a, 0x0a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
+ 0x67, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64,
+ 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6c,
+ 0x69, 0x66, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x6c, 0x69, 0x66, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x71,
+ 0x75, 0x69, 0x70, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x04, 0x52, 0x0d, 0x65, 0x71, 0x75, 0x69, 0x70, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x61, 0x6c, 0x65,
+ 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0e, 0x66, 0x69, 0x67, 0x68,
+ 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70,
+ 0x4d, 0x61, 0x70, 0x12, 0x42, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x64,
+ 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x66,
+ 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46,
+ 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x66, 0x65, 0x74, 0x74, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72,
+ 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x75, 0x64,
+ 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x39, 0x0a, 0x19, 0x69, 0x6e,
+ 0x68, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x16, 0x69,
+ 0x6e, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x4d, 0x61, 0x70, 0x12, 0x47, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x70, 0x65,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x65, 0x78, 0x70,
+ 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x6c, 0x0a, 0x1b,
+ 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x72,
+ 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x11, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,
+ 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
+ 0x46, 0x6f, 0x63, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x72,
+ 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x14, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e,
+ 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e,
+ 0x67, 0x5f, 0x66, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x79, 0x63,
+ 0x6c, 0x6f, 0x61, 0x6b, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x10, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f,
+ 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45,
+ 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x65,
+ 0x71, 0x75, 0x69, 0x70, 0x41, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a,
+ 0x09, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x62, 0x6f, 0x72, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x70, 0x65,
+ 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x18, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73,
+ 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63,
+ 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x65,
+ 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x63, 0x65, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x69, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x1b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x4c, 0x0a, 0x0c,
+ 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x69,
+ 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x53, 0x0a, 0x0d, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x45, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AvatarInfo_proto_rawDescOnce sync.Once
+ file_AvatarInfo_proto_rawDescData = file_AvatarInfo_proto_rawDesc
+)
+
+func file_AvatarInfo_proto_rawDescGZIP() []byte {
+ file_AvatarInfo_proto_rawDescOnce.Do(func() {
+ file_AvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarInfo_proto_rawDescData)
+ })
+ return file_AvatarInfo_proto_rawDescData
+}
+
+var file_AvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_AvatarInfo_proto_goTypes = []interface{}{
+ (*AvatarInfo)(nil), // 0: proto.AvatarInfo
+ nil, // 1: proto.AvatarInfo.PropMapEntry
+ nil, // 2: proto.AvatarInfo.FightPropMapEntry
+ nil, // 3: proto.AvatarInfo.SkillMapEntry
+ nil, // 4: proto.AvatarInfo.SkillLevelMapEntry
+ nil, // 5: proto.AvatarInfo.ProudSkillExtraLevelMapEntry
+ (*TrialAvatarInfo)(nil), // 6: proto.TrialAvatarInfo
+ (*AvatarFetterInfo)(nil), // 7: proto.AvatarFetterInfo
+ (AvatarExpeditionState)(0), // 8: proto.AvatarExpeditionState
+ (*AvatarEquipAffixInfo)(nil), // 9: proto.AvatarEquipAffixInfo
+ (*AvatarExcelInfo)(nil), // 10: proto.AvatarExcelInfo
+ (*PropValue)(nil), // 11: proto.PropValue
+ (*AvatarSkillInfo)(nil), // 12: proto.AvatarSkillInfo
+}
+var file_AvatarInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarInfo.prop_map:type_name -> proto.AvatarInfo.PropMapEntry
+ 2, // 1: proto.AvatarInfo.fight_prop_map:type_name -> proto.AvatarInfo.FightPropMapEntry
+ 6, // 2: proto.AvatarInfo.trial_avatar_info:type_name -> proto.TrialAvatarInfo
+ 3, // 3: proto.AvatarInfo.skill_map:type_name -> proto.AvatarInfo.SkillMapEntry
+ 7, // 4: proto.AvatarInfo.fetter_info:type_name -> proto.AvatarFetterInfo
+ 4, // 5: proto.AvatarInfo.skill_level_map:type_name -> proto.AvatarInfo.SkillLevelMapEntry
+ 8, // 6: proto.AvatarInfo.expedition_state:type_name -> proto.AvatarExpeditionState
+ 5, // 7: proto.AvatarInfo.proud_skill_extra_level_map:type_name -> proto.AvatarInfo.ProudSkillExtraLevelMapEntry
+ 9, // 8: proto.AvatarInfo.equip_affix_list:type_name -> proto.AvatarEquipAffixInfo
+ 10, // 9: proto.AvatarInfo.excel_info:type_name -> proto.AvatarExcelInfo
+ 11, // 10: proto.AvatarInfo.PropMapEntry.value:type_name -> proto.PropValue
+ 12, // 11: proto.AvatarInfo.SkillMapEntry.value:type_name -> proto.AvatarSkillInfo
+ 12, // [12:12] is the sub-list for method output_type
+ 12, // [12:12] is the sub-list for method input_type
+ 12, // [12:12] is the sub-list for extension type_name
+ 12, // [12:12] is the sub-list for extension extendee
+ 0, // [0:12] is the sub-list for field type_name
+}
+
+func init() { file_AvatarInfo_proto_init() }
+func file_AvatarInfo_proto_init() {
+ if File_AvatarInfo_proto != nil {
+ return
+ }
+ file_AvatarEquipAffixInfo_proto_init()
+ file_AvatarExcelInfo_proto_init()
+ file_AvatarExpeditionState_proto_init()
+ file_AvatarFetterInfo_proto_init()
+ file_AvatarSkillInfo_proto_init()
+ file_PropValue_proto_init()
+ file_TrialAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 6,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarInfo_proto_goTypes,
+ DependencyIndexes: file_AvatarInfo_proto_depIdxs,
+ MessageInfos: file_AvatarInfo_proto_msgTypes,
+ }.Build()
+ File_AvatarInfo_proto = out.File
+ file_AvatarInfo_proto_rawDesc = nil
+ file_AvatarInfo_proto_goTypes = nil
+ file_AvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarLifeStateChangeNotify.pb.go b/protocol/proto/AvatarLifeStateChangeNotify.pb.go
new file mode 100644
index 00000000..84de54a1
--- /dev/null
+++ b/protocol/proto/AvatarLifeStateChangeNotify.pb.go
@@ -0,0 +1,236 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarLifeStateChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1290
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarLifeStateChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LifeState uint32 `protobuf:"varint,13,opt,name=life_state,json=lifeState,proto3" json:"life_state,omitempty"`
+ AttackTag string `protobuf:"bytes,10,opt,name=attack_tag,json=attackTag,proto3" json:"attack_tag,omitempty"`
+ DieType PlayerDieType `protobuf:"varint,2,opt,name=die_type,json=dieType,proto3,enum=proto.PlayerDieType" json:"die_type,omitempty"`
+ ServerBuffList []*ServerBuff `protobuf:"bytes,12,rep,name=server_buff_list,json=serverBuffList,proto3" json:"server_buff_list,omitempty"`
+ MoveReliableSeq uint32 `protobuf:"varint,5,opt,name=move_reliable_seq,json=moveReliableSeq,proto3" json:"move_reliable_seq,omitempty"`
+ SourceEntityId uint32 `protobuf:"varint,3,opt,name=source_entity_id,json=sourceEntityId,proto3" json:"source_entity_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,11,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarLifeStateChangeNotify) Reset() {
+ *x = AvatarLifeStateChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarLifeStateChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarLifeStateChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarLifeStateChangeNotify) ProtoMessage() {}
+
+func (x *AvatarLifeStateChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarLifeStateChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarLifeStateChangeNotify.ProtoReflect.Descriptor instead.
+func (*AvatarLifeStateChangeNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarLifeStateChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarLifeStateChangeNotify) GetLifeState() uint32 {
+ if x != nil {
+ return x.LifeState
+ }
+ return 0
+}
+
+func (x *AvatarLifeStateChangeNotify) GetAttackTag() string {
+ if x != nil {
+ return x.AttackTag
+ }
+ return ""
+}
+
+func (x *AvatarLifeStateChangeNotify) GetDieType() PlayerDieType {
+ if x != nil {
+ return x.DieType
+ }
+ return PlayerDieType_PLAYER_DIE_TYPE_NONE
+}
+
+func (x *AvatarLifeStateChangeNotify) GetServerBuffList() []*ServerBuff {
+ if x != nil {
+ return x.ServerBuffList
+ }
+ return nil
+}
+
+func (x *AvatarLifeStateChangeNotify) GetMoveReliableSeq() uint32 {
+ if x != nil {
+ return x.MoveReliableSeq
+ }
+ return 0
+}
+
+func (x *AvatarLifeStateChangeNotify) GetSourceEntityId() uint32 {
+ if x != nil {
+ return x.SourceEntityId
+ }
+ return 0
+}
+
+func (x *AvatarLifeStateChangeNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarLifeStateChangeNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarLifeStateChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x66, 0x65, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x44, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc0, 0x02, 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x66, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, 0x66, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x67, 0x12,
+ 0x2f, 0x0a, 0x08, 0x64, 0x69, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x44, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x64, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x3b, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x52, 0x0e, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a,
+ 0x11, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73,
+ 0x65, 0x71, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65,
+ 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarLifeStateChangeNotify_proto_rawDescOnce sync.Once
+ file_AvatarLifeStateChangeNotify_proto_rawDescData = file_AvatarLifeStateChangeNotify_proto_rawDesc
+)
+
+func file_AvatarLifeStateChangeNotify_proto_rawDescGZIP() []byte {
+ file_AvatarLifeStateChangeNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarLifeStateChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarLifeStateChangeNotify_proto_rawDescData)
+ })
+ return file_AvatarLifeStateChangeNotify_proto_rawDescData
+}
+
+var file_AvatarLifeStateChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarLifeStateChangeNotify_proto_goTypes = []interface{}{
+ (*AvatarLifeStateChangeNotify)(nil), // 0: proto.AvatarLifeStateChangeNotify
+ (PlayerDieType)(0), // 1: proto.PlayerDieType
+ (*ServerBuff)(nil), // 2: proto.ServerBuff
+}
+var file_AvatarLifeStateChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarLifeStateChangeNotify.die_type:type_name -> proto.PlayerDieType
+ 2, // 1: proto.AvatarLifeStateChangeNotify.server_buff_list:type_name -> proto.ServerBuff
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarLifeStateChangeNotify_proto_init() }
+func file_AvatarLifeStateChangeNotify_proto_init() {
+ if File_AvatarLifeStateChangeNotify_proto != nil {
+ return
+ }
+ file_PlayerDieType_proto_init()
+ file_ServerBuff_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarLifeStateChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarLifeStateChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarLifeStateChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarLifeStateChangeNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarLifeStateChangeNotify_proto_depIdxs,
+ MessageInfos: file_AvatarLifeStateChangeNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarLifeStateChangeNotify_proto = out.File
+ file_AvatarLifeStateChangeNotify_proto_rawDesc = nil
+ file_AvatarLifeStateChangeNotify_proto_goTypes = nil
+ file_AvatarLifeStateChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarPromoteGetRewardReq.pb.go b/protocol/proto/AvatarPromoteGetRewardReq.pb.go
new file mode 100644
index 00000000..4f3e84c8
--- /dev/null
+++ b/protocol/proto/AvatarPromoteGetRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarPromoteGetRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1696
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarPromoteGetRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,7,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ PromoteLevel uint32 `protobuf:"varint,12,opt,name=promote_level,json=promoteLevel,proto3" json:"promote_level,omitempty"`
+}
+
+func (x *AvatarPromoteGetRewardReq) Reset() {
+ *x = AvatarPromoteGetRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarPromoteGetRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarPromoteGetRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarPromoteGetRewardReq) ProtoMessage() {}
+
+func (x *AvatarPromoteGetRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarPromoteGetRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarPromoteGetRewardReq.ProtoReflect.Descriptor instead.
+func (*AvatarPromoteGetRewardReq) Descriptor() ([]byte, []int) {
+ return file_AvatarPromoteGetRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarPromoteGetRewardReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarPromoteGetRewardReq) GetPromoteLevel() uint32 {
+ if x != nil {
+ return x.PromoteLevel
+ }
+ return 0
+}
+
+var File_AvatarPromoteGetRewardReq_proto protoreflect.FileDescriptor
+
+var file_AvatarPromoteGetRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x19, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74,
+ 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70,
+ 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarPromoteGetRewardReq_proto_rawDescOnce sync.Once
+ file_AvatarPromoteGetRewardReq_proto_rawDescData = file_AvatarPromoteGetRewardReq_proto_rawDesc
+)
+
+func file_AvatarPromoteGetRewardReq_proto_rawDescGZIP() []byte {
+ file_AvatarPromoteGetRewardReq_proto_rawDescOnce.Do(func() {
+ file_AvatarPromoteGetRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarPromoteGetRewardReq_proto_rawDescData)
+ })
+ return file_AvatarPromoteGetRewardReq_proto_rawDescData
+}
+
+var file_AvatarPromoteGetRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarPromoteGetRewardReq_proto_goTypes = []interface{}{
+ (*AvatarPromoteGetRewardReq)(nil), // 0: proto.AvatarPromoteGetRewardReq
+}
+var file_AvatarPromoteGetRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarPromoteGetRewardReq_proto_init() }
+func file_AvatarPromoteGetRewardReq_proto_init() {
+ if File_AvatarPromoteGetRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarPromoteGetRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarPromoteGetRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarPromoteGetRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarPromoteGetRewardReq_proto_goTypes,
+ DependencyIndexes: file_AvatarPromoteGetRewardReq_proto_depIdxs,
+ MessageInfos: file_AvatarPromoteGetRewardReq_proto_msgTypes,
+ }.Build()
+ File_AvatarPromoteGetRewardReq_proto = out.File
+ file_AvatarPromoteGetRewardReq_proto_rawDesc = nil
+ file_AvatarPromoteGetRewardReq_proto_goTypes = nil
+ file_AvatarPromoteGetRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarPromoteGetRewardRsp.pb.go b/protocol/proto/AvatarPromoteGetRewardRsp.pb.go
new file mode 100644
index 00000000..69359fdb
--- /dev/null
+++ b/protocol/proto/AvatarPromoteGetRewardRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarPromoteGetRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1683
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarPromoteGetRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RewardId uint32 `protobuf:"varint,15,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,11,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ PromoteLevel uint32 `protobuf:"varint,12,opt,name=promote_level,json=promoteLevel,proto3" json:"promote_level,omitempty"`
+}
+
+func (x *AvatarPromoteGetRewardRsp) Reset() {
+ *x = AvatarPromoteGetRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarPromoteGetRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarPromoteGetRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarPromoteGetRewardRsp) ProtoMessage() {}
+
+func (x *AvatarPromoteGetRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarPromoteGetRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarPromoteGetRewardRsp.ProtoReflect.Descriptor instead.
+func (*AvatarPromoteGetRewardRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarPromoteGetRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarPromoteGetRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AvatarPromoteGetRewardRsp) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *AvatarPromoteGetRewardRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarPromoteGetRewardRsp) GetPromoteLevel() uint32 {
+ if x != nil {
+ return x.PromoteLevel
+ }
+ return 0
+}
+
+var File_AvatarPromoteGetRewardRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarPromoteGetRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x23,
+ 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarPromoteGetRewardRsp_proto_rawDescOnce sync.Once
+ file_AvatarPromoteGetRewardRsp_proto_rawDescData = file_AvatarPromoteGetRewardRsp_proto_rawDesc
+)
+
+func file_AvatarPromoteGetRewardRsp_proto_rawDescGZIP() []byte {
+ file_AvatarPromoteGetRewardRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarPromoteGetRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarPromoteGetRewardRsp_proto_rawDescData)
+ })
+ return file_AvatarPromoteGetRewardRsp_proto_rawDescData
+}
+
+var file_AvatarPromoteGetRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarPromoteGetRewardRsp_proto_goTypes = []interface{}{
+ (*AvatarPromoteGetRewardRsp)(nil), // 0: proto.AvatarPromoteGetRewardRsp
+}
+var file_AvatarPromoteGetRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarPromoteGetRewardRsp_proto_init() }
+func file_AvatarPromoteGetRewardRsp_proto_init() {
+ if File_AvatarPromoteGetRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarPromoteGetRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarPromoteGetRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarPromoteGetRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarPromoteGetRewardRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarPromoteGetRewardRsp_proto_depIdxs,
+ MessageInfos: file_AvatarPromoteGetRewardRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarPromoteGetRewardRsp_proto = out.File
+ file_AvatarPromoteGetRewardRsp_proto_rawDesc = nil
+ file_AvatarPromoteGetRewardRsp_proto_goTypes = nil
+ file_AvatarPromoteGetRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarPromoteReq.pb.go b/protocol/proto/AvatarPromoteReq.pb.go
new file mode 100644
index 00000000..5e71d7d9
--- /dev/null
+++ b/protocol/proto/AvatarPromoteReq.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarPromoteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1664
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarPromoteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint64 `protobuf:"varint,5,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *AvatarPromoteReq) Reset() {
+ *x = AvatarPromoteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarPromoteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarPromoteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarPromoteReq) ProtoMessage() {}
+
+func (x *AvatarPromoteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarPromoteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarPromoteReq.ProtoReflect.Descriptor instead.
+func (*AvatarPromoteReq) Descriptor() ([]byte, []int) {
+ return file_AvatarPromoteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarPromoteReq) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_AvatarPromoteReq_proto protoreflect.FileDescriptor
+
+var file_AvatarPromoteReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x26, 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarPromoteReq_proto_rawDescOnce sync.Once
+ file_AvatarPromoteReq_proto_rawDescData = file_AvatarPromoteReq_proto_rawDesc
+)
+
+func file_AvatarPromoteReq_proto_rawDescGZIP() []byte {
+ file_AvatarPromoteReq_proto_rawDescOnce.Do(func() {
+ file_AvatarPromoteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarPromoteReq_proto_rawDescData)
+ })
+ return file_AvatarPromoteReq_proto_rawDescData
+}
+
+var file_AvatarPromoteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarPromoteReq_proto_goTypes = []interface{}{
+ (*AvatarPromoteReq)(nil), // 0: proto.AvatarPromoteReq
+}
+var file_AvatarPromoteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarPromoteReq_proto_init() }
+func file_AvatarPromoteReq_proto_init() {
+ if File_AvatarPromoteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarPromoteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarPromoteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarPromoteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarPromoteReq_proto_goTypes,
+ DependencyIndexes: file_AvatarPromoteReq_proto_depIdxs,
+ MessageInfos: file_AvatarPromoteReq_proto_msgTypes,
+ }.Build()
+ File_AvatarPromoteReq_proto = out.File
+ file_AvatarPromoteReq_proto_rawDesc = nil
+ file_AvatarPromoteReq_proto_goTypes = nil
+ file_AvatarPromoteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarPromoteRsp.pb.go b/protocol/proto/AvatarPromoteRsp.pb.go
new file mode 100644
index 00000000..9b27e160
--- /dev/null
+++ b/protocol/proto/AvatarPromoteRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarPromoteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1639
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarPromoteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint64 `protobuf:"varint,11,opt,name=guid,proto3" json:"guid,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AvatarPromoteRsp) Reset() {
+ *x = AvatarPromoteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarPromoteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarPromoteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarPromoteRsp) ProtoMessage() {}
+
+func (x *AvatarPromoteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarPromoteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarPromoteRsp.ProtoReflect.Descriptor instead.
+func (*AvatarPromoteRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarPromoteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarPromoteRsp) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *AvatarPromoteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AvatarPromoteRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarPromoteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x40, 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarPromoteRsp_proto_rawDescOnce sync.Once
+ file_AvatarPromoteRsp_proto_rawDescData = file_AvatarPromoteRsp_proto_rawDesc
+)
+
+func file_AvatarPromoteRsp_proto_rawDescGZIP() []byte {
+ file_AvatarPromoteRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarPromoteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarPromoteRsp_proto_rawDescData)
+ })
+ return file_AvatarPromoteRsp_proto_rawDescData
+}
+
+var file_AvatarPromoteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarPromoteRsp_proto_goTypes = []interface{}{
+ (*AvatarPromoteRsp)(nil), // 0: proto.AvatarPromoteRsp
+}
+var file_AvatarPromoteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarPromoteRsp_proto_init() }
+func file_AvatarPromoteRsp_proto_init() {
+ if File_AvatarPromoteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarPromoteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarPromoteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarPromoteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarPromoteRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarPromoteRsp_proto_depIdxs,
+ MessageInfos: file_AvatarPromoteRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarPromoteRsp_proto = out.File
+ file_AvatarPromoteRsp_proto_rawDesc = nil
+ file_AvatarPromoteRsp_proto_goTypes = nil
+ file_AvatarPromoteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarPropChangeReasonNotify.pb.go b/protocol/proto/AvatarPropChangeReasonNotify.pb.go
new file mode 100644
index 00000000..4aac61ec
--- /dev/null
+++ b/protocol/proto/AvatarPropChangeReasonNotify.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarPropChangeReasonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1273
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarPropChangeReasonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OldValue float32 `protobuf:"fixed32,11,opt,name=old_value,json=oldValue,proto3" json:"old_value,omitempty"`
+ Reason PropChangeReason `protobuf:"varint,5,opt,name=reason,proto3,enum=proto.PropChangeReason" json:"reason,omitempty"`
+ PropType uint32 `protobuf:"varint,1,opt,name=prop_type,json=propType,proto3" json:"prop_type,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,8,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ CurValue float32 `protobuf:"fixed32,15,opt,name=cur_value,json=curValue,proto3" json:"cur_value,omitempty"`
+}
+
+func (x *AvatarPropChangeReasonNotify) Reset() {
+ *x = AvatarPropChangeReasonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarPropChangeReasonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarPropChangeReasonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarPropChangeReasonNotify) ProtoMessage() {}
+
+func (x *AvatarPropChangeReasonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarPropChangeReasonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarPropChangeReasonNotify.ProtoReflect.Descriptor instead.
+func (*AvatarPropChangeReasonNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarPropChangeReasonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarPropChangeReasonNotify) GetOldValue() float32 {
+ if x != nil {
+ return x.OldValue
+ }
+ return 0
+}
+
+func (x *AvatarPropChangeReasonNotify) GetReason() PropChangeReason {
+ if x != nil {
+ return x.Reason
+ }
+ return PropChangeReason_PROP_CHANGE_REASON_NONE
+}
+
+func (x *AvatarPropChangeReasonNotify) GetPropType() uint32 {
+ if x != nil {
+ return x.PropType
+ }
+ return 0
+}
+
+func (x *AvatarPropChangeReasonNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarPropChangeReasonNotify) GetCurValue() float32 {
+ if x != nil {
+ return x.CurValue
+ }
+ return 0
+}
+
+var File_AvatarPropChangeReasonNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarPropChangeReasonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x50, 0x72, 0x6f,
+ 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x1c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72,
+ 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x08, 0x63, 0x75, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_AvatarPropChangeReasonNotify_proto_rawDescOnce sync.Once
+ file_AvatarPropChangeReasonNotify_proto_rawDescData = file_AvatarPropChangeReasonNotify_proto_rawDesc
+)
+
+func file_AvatarPropChangeReasonNotify_proto_rawDescGZIP() []byte {
+ file_AvatarPropChangeReasonNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarPropChangeReasonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarPropChangeReasonNotify_proto_rawDescData)
+ })
+ return file_AvatarPropChangeReasonNotify_proto_rawDescData
+}
+
+var file_AvatarPropChangeReasonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarPropChangeReasonNotify_proto_goTypes = []interface{}{
+ (*AvatarPropChangeReasonNotify)(nil), // 0: proto.AvatarPropChangeReasonNotify
+ (PropChangeReason)(0), // 1: proto.PropChangeReason
+}
+var file_AvatarPropChangeReasonNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarPropChangeReasonNotify.reason:type_name -> proto.PropChangeReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarPropChangeReasonNotify_proto_init() }
+func file_AvatarPropChangeReasonNotify_proto_init() {
+ if File_AvatarPropChangeReasonNotify_proto != nil {
+ return
+ }
+ file_PropChangeReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarPropChangeReasonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarPropChangeReasonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarPropChangeReasonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarPropChangeReasonNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarPropChangeReasonNotify_proto_depIdxs,
+ MessageInfos: file_AvatarPropChangeReasonNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarPropChangeReasonNotify_proto = out.File
+ file_AvatarPropChangeReasonNotify_proto_rawDesc = nil
+ file_AvatarPropChangeReasonNotify_proto_goTypes = nil
+ file_AvatarPropChangeReasonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarPropNotify.pb.go b/protocol/proto/AvatarPropNotify.pb.go
new file mode 100644
index 00000000..90af1af8
--- /dev/null
+++ b/protocol/proto/AvatarPropNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarPropNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1231
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarPropNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PropMap map[uint32]int64 `protobuf:"bytes,14,rep,name=prop_map,json=propMap,proto3" json:"prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ AvatarGuid uint64 `protobuf:"varint,15,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarPropNotify) Reset() {
+ *x = AvatarPropNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarPropNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarPropNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarPropNotify) ProtoMessage() {}
+
+func (x *AvatarPropNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarPropNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarPropNotify.ProtoReflect.Descriptor instead.
+func (*AvatarPropNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarPropNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarPropNotify) GetPropMap() map[uint32]int64 {
+ if x != nil {
+ return x.PropMap
+ }
+ return nil
+}
+
+func (x *AvatarPropNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarPropNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarPropNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb0, 0x01, 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72,
+ 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x1a, 0x3a, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarPropNotify_proto_rawDescOnce sync.Once
+ file_AvatarPropNotify_proto_rawDescData = file_AvatarPropNotify_proto_rawDesc
+)
+
+func file_AvatarPropNotify_proto_rawDescGZIP() []byte {
+ file_AvatarPropNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarPropNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarPropNotify_proto_rawDescData)
+ })
+ return file_AvatarPropNotify_proto_rawDescData
+}
+
+var file_AvatarPropNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarPropNotify_proto_goTypes = []interface{}{
+ (*AvatarPropNotify)(nil), // 0: proto.AvatarPropNotify
+ nil, // 1: proto.AvatarPropNotify.PropMapEntry
+}
+var file_AvatarPropNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarPropNotify.prop_map:type_name -> proto.AvatarPropNotify.PropMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarPropNotify_proto_init() }
+func file_AvatarPropNotify_proto_init() {
+ if File_AvatarPropNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarPropNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarPropNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarPropNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarPropNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarPropNotify_proto_depIdxs,
+ MessageInfos: file_AvatarPropNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarPropNotify_proto = out.File
+ file_AvatarPropNotify_proto_rawDesc = nil
+ file_AvatarPropNotify_proto_goTypes = nil
+ file_AvatarPropNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSatiationData.pb.go b/protocol/proto/AvatarSatiationData.pb.go
new file mode 100644
index 00000000..a689826a
--- /dev/null
+++ b/protocol/proto/AvatarSatiationData.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSatiationData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarSatiationData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishTime float32 `protobuf:"fixed32,14,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,13,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ PenaltyFinishTime float32 `protobuf:"fixed32,12,opt,name=penalty_finish_time,json=penaltyFinishTime,proto3" json:"penalty_finish_time,omitempty"`
+}
+
+func (x *AvatarSatiationData) Reset() {
+ *x = AvatarSatiationData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSatiationData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSatiationData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSatiationData) ProtoMessage() {}
+
+func (x *AvatarSatiationData) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSatiationData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSatiationData.ProtoReflect.Descriptor instead.
+func (*AvatarSatiationData) Descriptor() ([]byte, []int) {
+ return file_AvatarSatiationData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSatiationData) GetFinishTime() float32 {
+ if x != nil {
+ return x.FinishTime
+ }
+ return 0
+}
+
+func (x *AvatarSatiationData) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarSatiationData) GetPenaltyFinishTime() float32 {
+ if x != nil {
+ return x.PenaltyFinishTime
+ }
+ return 0
+}
+
+var File_AvatarSatiationData_proto protoreflect.FileDescriptor
+
+var file_AvatarSatiationData_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x61, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x61, 0x74,
+ 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52,
+ 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13,
+ 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x70, 0x65, 0x6e, 0x61, 0x6c,
+ 0x74, 0x79, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSatiationData_proto_rawDescOnce sync.Once
+ file_AvatarSatiationData_proto_rawDescData = file_AvatarSatiationData_proto_rawDesc
+)
+
+func file_AvatarSatiationData_proto_rawDescGZIP() []byte {
+ file_AvatarSatiationData_proto_rawDescOnce.Do(func() {
+ file_AvatarSatiationData_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSatiationData_proto_rawDescData)
+ })
+ return file_AvatarSatiationData_proto_rawDescData
+}
+
+var file_AvatarSatiationData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarSatiationData_proto_goTypes = []interface{}{
+ (*AvatarSatiationData)(nil), // 0: proto.AvatarSatiationData
+}
+var file_AvatarSatiationData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSatiationData_proto_init() }
+func file_AvatarSatiationData_proto_init() {
+ if File_AvatarSatiationData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSatiationData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSatiationData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSatiationData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSatiationData_proto_goTypes,
+ DependencyIndexes: file_AvatarSatiationData_proto_depIdxs,
+ MessageInfos: file_AvatarSatiationData_proto_msgTypes,
+ }.Build()
+ File_AvatarSatiationData_proto = out.File
+ file_AvatarSatiationData_proto_rawDesc = nil
+ file_AvatarSatiationData_proto_goTypes = nil
+ file_AvatarSatiationData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSatiationDataNotify.pb.go b/protocol/proto/AvatarSatiationDataNotify.pb.go
new file mode 100644
index 00000000..2444f967
--- /dev/null
+++ b/protocol/proto/AvatarSatiationDataNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSatiationDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1693
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarSatiationDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SatiationDataList []*AvatarSatiationData `protobuf:"bytes,6,rep,name=satiation_data_list,json=satiationDataList,proto3" json:"satiation_data_list,omitempty"`
+}
+
+func (x *AvatarSatiationDataNotify) Reset() {
+ *x = AvatarSatiationDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSatiationDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSatiationDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSatiationDataNotify) ProtoMessage() {}
+
+func (x *AvatarSatiationDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSatiationDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSatiationDataNotify.ProtoReflect.Descriptor instead.
+func (*AvatarSatiationDataNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarSatiationDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSatiationDataNotify) GetSatiationDataList() []*AvatarSatiationData {
+ if x != nil {
+ return x.SatiationDataList
+ }
+ return nil
+}
+
+var File_AvatarSatiationDataNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarSatiationDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x61, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x53, 0x61, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x19, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x61, 0x74,
+ 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x61, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x61, 0x74, 0x69,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x73, 0x61, 0x74, 0x69, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSatiationDataNotify_proto_rawDescOnce sync.Once
+ file_AvatarSatiationDataNotify_proto_rawDescData = file_AvatarSatiationDataNotify_proto_rawDesc
+)
+
+func file_AvatarSatiationDataNotify_proto_rawDescGZIP() []byte {
+ file_AvatarSatiationDataNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarSatiationDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSatiationDataNotify_proto_rawDescData)
+ })
+ return file_AvatarSatiationDataNotify_proto_rawDescData
+}
+
+var file_AvatarSatiationDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarSatiationDataNotify_proto_goTypes = []interface{}{
+ (*AvatarSatiationDataNotify)(nil), // 0: proto.AvatarSatiationDataNotify
+ (*AvatarSatiationData)(nil), // 1: proto.AvatarSatiationData
+}
+var file_AvatarSatiationDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarSatiationDataNotify.satiation_data_list:type_name -> proto.AvatarSatiationData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSatiationDataNotify_proto_init() }
+func file_AvatarSatiationDataNotify_proto_init() {
+ if File_AvatarSatiationDataNotify_proto != nil {
+ return
+ }
+ file_AvatarSatiationData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSatiationDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSatiationDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSatiationDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSatiationDataNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarSatiationDataNotify_proto_depIdxs,
+ MessageInfos: file_AvatarSatiationDataNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarSatiationDataNotify_proto = out.File
+ file_AvatarSatiationDataNotify_proto_rawDesc = nil
+ file_AvatarSatiationDataNotify_proto_goTypes = nil
+ file_AvatarSatiationDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSkillChangeNotify.pb.go b/protocol/proto/AvatarSkillChangeNotify.pb.go
new file mode 100644
index 00000000..caddcf72
--- /dev/null
+++ b/protocol/proto/AvatarSkillChangeNotify.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSkillChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1097
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarSkillChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurLevel uint32 `protobuf:"varint,11,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,2,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ SkillDepotId uint32 `protobuf:"varint,13,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+ OldLevel uint32 `protobuf:"varint,1,opt,name=old_level,json=oldLevel,proto3" json:"old_level,omitempty"`
+ AvatarSkillId uint32 `protobuf:"varint,6,opt,name=avatar_skill_id,json=avatarSkillId,proto3" json:"avatar_skill_id,omitempty"`
+}
+
+func (x *AvatarSkillChangeNotify) Reset() {
+ *x = AvatarSkillChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSkillChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSkillChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSkillChangeNotify) ProtoMessage() {}
+
+func (x *AvatarSkillChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSkillChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSkillChangeNotify.ProtoReflect.Descriptor instead.
+func (*AvatarSkillChangeNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarSkillChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSkillChangeNotify) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+func (x *AvatarSkillChangeNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarSkillChangeNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AvatarSkillChangeNotify) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+func (x *AvatarSkillChangeNotify) GetOldLevel() uint32 {
+ if x != nil {
+ return x.OldLevel
+ }
+ return 0
+}
+
+func (x *AvatarSkillChangeNotify) GetAvatarSkillId() uint32 {
+ if x != nil {
+ return x.AvatarSkillId
+ }
+ return 0
+}
+
+var File_AvatarSkillChangeNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarSkillChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x01, 0x0a, 0x17, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a,
+ 0x0e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70, 0x6f,
+ 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSkillChangeNotify_proto_rawDescOnce sync.Once
+ file_AvatarSkillChangeNotify_proto_rawDescData = file_AvatarSkillChangeNotify_proto_rawDesc
+)
+
+func file_AvatarSkillChangeNotify_proto_rawDescGZIP() []byte {
+ file_AvatarSkillChangeNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarSkillChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSkillChangeNotify_proto_rawDescData)
+ })
+ return file_AvatarSkillChangeNotify_proto_rawDescData
+}
+
+var file_AvatarSkillChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarSkillChangeNotify_proto_goTypes = []interface{}{
+ (*AvatarSkillChangeNotify)(nil), // 0: proto.AvatarSkillChangeNotify
+}
+var file_AvatarSkillChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSkillChangeNotify_proto_init() }
+func file_AvatarSkillChangeNotify_proto_init() {
+ if File_AvatarSkillChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSkillChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSkillChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSkillChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSkillChangeNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarSkillChangeNotify_proto_depIdxs,
+ MessageInfos: file_AvatarSkillChangeNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarSkillChangeNotify_proto = out.File
+ file_AvatarSkillChangeNotify_proto_rawDesc = nil
+ file_AvatarSkillChangeNotify_proto_goTypes = nil
+ file_AvatarSkillChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSkillDepotChangeNotify.pb.go b/protocol/proto/AvatarSkillDepotChangeNotify.pb.go
new file mode 100644
index 00000000..1806cc12
--- /dev/null
+++ b/protocol/proto/AvatarSkillDepotChangeNotify.pb.go
@@ -0,0 +1,259 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSkillDepotChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1035
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarSkillDepotChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillDepotId uint32 `protobuf:"varint,15,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+ ProudSkillExtraLevelMap map[uint32]uint32 `protobuf:"bytes,14,rep,name=proud_skill_extra_level_map,json=proudSkillExtraLevelMap,proto3" json:"proud_skill_extra_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ TalentIdList []uint32 `protobuf:"varint,9,rep,packed,name=talent_id_list,json=talentIdList,proto3" json:"talent_id_list,omitempty"`
+ ProudSkillList []uint32 `protobuf:"varint,4,rep,packed,name=proud_skill_list,json=proudSkillList,proto3" json:"proud_skill_list,omitempty"`
+ CoreProudSkillLevel uint32 `protobuf:"varint,2,opt,name=core_proud_skill_level,json=coreProudSkillLevel,proto3" json:"core_proud_skill_level,omitempty"`
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,12,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ SkillLevelMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=skill_level_map,json=skillLevelMap,proto3" json:"skill_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *AvatarSkillDepotChangeNotify) Reset() {
+ *x = AvatarSkillDepotChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSkillDepotChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSkillDepotChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSkillDepotChangeNotify) ProtoMessage() {}
+
+func (x *AvatarSkillDepotChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSkillDepotChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSkillDepotChangeNotify.ProtoReflect.Descriptor instead.
+func (*AvatarSkillDepotChangeNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarSkillDepotChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSkillDepotChangeNotify) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+func (x *AvatarSkillDepotChangeNotify) GetProudSkillExtraLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ProudSkillExtraLevelMap
+ }
+ return nil
+}
+
+func (x *AvatarSkillDepotChangeNotify) GetTalentIdList() []uint32 {
+ if x != nil {
+ return x.TalentIdList
+ }
+ return nil
+}
+
+func (x *AvatarSkillDepotChangeNotify) GetProudSkillList() []uint32 {
+ if x != nil {
+ return x.ProudSkillList
+ }
+ return nil
+}
+
+func (x *AvatarSkillDepotChangeNotify) GetCoreProudSkillLevel() uint32 {
+ if x != nil {
+ return x.CoreProudSkillLevel
+ }
+ return 0
+}
+
+func (x *AvatarSkillDepotChangeNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AvatarSkillDepotChangeNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarSkillDepotChangeNotify) GetSkillLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkillLevelMap
+ }
+ return nil
+}
+
+var File_AvatarSkillDepotChangeNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarSkillDepotChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70,
+ 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x04, 0x0a, 0x1c,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e,
+ 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74,
+ 0x49, 0x64, 0x12, 0x7e, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x50, 0x72, 0x6f,
+ 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x75, 0x64,
+ 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d,
+ 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x61, 0x6c, 0x65,
+ 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x75,
+ 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x75, 0x64,
+ 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x5e, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x1a, 0x4a, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSkillDepotChangeNotify_proto_rawDescOnce sync.Once
+ file_AvatarSkillDepotChangeNotify_proto_rawDescData = file_AvatarSkillDepotChangeNotify_proto_rawDesc
+)
+
+func file_AvatarSkillDepotChangeNotify_proto_rawDescGZIP() []byte {
+ file_AvatarSkillDepotChangeNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarSkillDepotChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSkillDepotChangeNotify_proto_rawDescData)
+ })
+ return file_AvatarSkillDepotChangeNotify_proto_rawDescData
+}
+
+var file_AvatarSkillDepotChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_AvatarSkillDepotChangeNotify_proto_goTypes = []interface{}{
+ (*AvatarSkillDepotChangeNotify)(nil), // 0: proto.AvatarSkillDepotChangeNotify
+ nil, // 1: proto.AvatarSkillDepotChangeNotify.ProudSkillExtraLevelMapEntry
+ nil, // 2: proto.AvatarSkillDepotChangeNotify.SkillLevelMapEntry
+}
+var file_AvatarSkillDepotChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarSkillDepotChangeNotify.proud_skill_extra_level_map:type_name -> proto.AvatarSkillDepotChangeNotify.ProudSkillExtraLevelMapEntry
+ 2, // 1: proto.AvatarSkillDepotChangeNotify.skill_level_map:type_name -> proto.AvatarSkillDepotChangeNotify.SkillLevelMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSkillDepotChangeNotify_proto_init() }
+func file_AvatarSkillDepotChangeNotify_proto_init() {
+ if File_AvatarSkillDepotChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSkillDepotChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSkillDepotChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSkillDepotChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSkillDepotChangeNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarSkillDepotChangeNotify_proto_depIdxs,
+ MessageInfos: file_AvatarSkillDepotChangeNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarSkillDepotChangeNotify_proto = out.File
+ file_AvatarSkillDepotChangeNotify_proto_rawDesc = nil
+ file_AvatarSkillDepotChangeNotify_proto_goTypes = nil
+ file_AvatarSkillDepotChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSkillInfo.pb.go b/protocol/proto/AvatarSkillInfo.pb.go
new file mode 100644
index 00000000..fba32804
--- /dev/null
+++ b/protocol/proto/AvatarSkillInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSkillInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarSkillInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PassCdTime uint32 `protobuf:"varint,1,opt,name=pass_cd_time,json=passCdTime,proto3" json:"pass_cd_time,omitempty"`
+ FullCdTimeList []uint32 `protobuf:"varint,2,rep,packed,name=full_cd_time_list,json=fullCdTimeList,proto3" json:"full_cd_time_list,omitempty"`
+ MaxChargeCount uint32 `protobuf:"varint,3,opt,name=max_charge_count,json=maxChargeCount,proto3" json:"max_charge_count,omitempty"`
+}
+
+func (x *AvatarSkillInfo) Reset() {
+ *x = AvatarSkillInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSkillInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSkillInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSkillInfo) ProtoMessage() {}
+
+func (x *AvatarSkillInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSkillInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSkillInfo.ProtoReflect.Descriptor instead.
+func (*AvatarSkillInfo) Descriptor() ([]byte, []int) {
+ return file_AvatarSkillInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSkillInfo) GetPassCdTime() uint32 {
+ if x != nil {
+ return x.PassCdTime
+ }
+ return 0
+}
+
+func (x *AvatarSkillInfo) GetFullCdTimeList() []uint32 {
+ if x != nil {
+ return x.FullCdTimeList
+ }
+ return nil
+}
+
+func (x *AvatarSkillInfo) GetMaxChargeCount() uint32 {
+ if x != nil {
+ return x.MaxChargeCount
+ }
+ return 0
+}
+
+var File_AvatarSkillInfo_proto protoreflect.FileDescriptor
+
+var file_AvatarSkillInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88,
+ 0x01, 0x0a, 0x0f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x64, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x43, 0x64,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x64, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0e, 0x66, 0x75, 0x6c, 0x6c, 0x43, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x68,
+ 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSkillInfo_proto_rawDescOnce sync.Once
+ file_AvatarSkillInfo_proto_rawDescData = file_AvatarSkillInfo_proto_rawDesc
+)
+
+func file_AvatarSkillInfo_proto_rawDescGZIP() []byte {
+ file_AvatarSkillInfo_proto_rawDescOnce.Do(func() {
+ file_AvatarSkillInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSkillInfo_proto_rawDescData)
+ })
+ return file_AvatarSkillInfo_proto_rawDescData
+}
+
+var file_AvatarSkillInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarSkillInfo_proto_goTypes = []interface{}{
+ (*AvatarSkillInfo)(nil), // 0: proto.AvatarSkillInfo
+}
+var file_AvatarSkillInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSkillInfo_proto_init() }
+func file_AvatarSkillInfo_proto_init() {
+ if File_AvatarSkillInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSkillInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSkillInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSkillInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSkillInfo_proto_goTypes,
+ DependencyIndexes: file_AvatarSkillInfo_proto_depIdxs,
+ MessageInfos: file_AvatarSkillInfo_proto_msgTypes,
+ }.Build()
+ File_AvatarSkillInfo_proto = out.File
+ file_AvatarSkillInfo_proto_rawDesc = nil
+ file_AvatarSkillInfo_proto_goTypes = nil
+ file_AvatarSkillInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSkillInfoNotify.pb.go b/protocol/proto/AvatarSkillInfoNotify.pb.go
new file mode 100644
index 00000000..243f4cbb
--- /dev/null
+++ b/protocol/proto/AvatarSkillInfoNotify.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSkillInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1090
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarSkillInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillMap map[uint32]*AvatarSkillInfo `protobuf:"bytes,11,rep,name=skill_map,json=skillMap,proto3" json:"skill_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ Guid uint64 `protobuf:"varint,4,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *AvatarSkillInfoNotify) Reset() {
+ *x = AvatarSkillInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSkillInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSkillInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSkillInfoNotify) ProtoMessage() {}
+
+func (x *AvatarSkillInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSkillInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSkillInfoNotify.ProtoReflect.Descriptor instead.
+func (*AvatarSkillInfoNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarSkillInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSkillInfoNotify) GetSkillMap() map[uint32]*AvatarSkillInfo {
+ if x != nil {
+ return x.SkillMap
+ }
+ return nil
+}
+
+func (x *AvatarSkillInfoNotify) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_AvatarSkillInfoNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarSkillInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x15,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x47, 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x12,
+ 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x75,
+ 0x69, 0x64, 0x1a, 0x53, 0x0a, 0x0d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSkillInfoNotify_proto_rawDescOnce sync.Once
+ file_AvatarSkillInfoNotify_proto_rawDescData = file_AvatarSkillInfoNotify_proto_rawDesc
+)
+
+func file_AvatarSkillInfoNotify_proto_rawDescGZIP() []byte {
+ file_AvatarSkillInfoNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarSkillInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSkillInfoNotify_proto_rawDescData)
+ })
+ return file_AvatarSkillInfoNotify_proto_rawDescData
+}
+
+var file_AvatarSkillInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarSkillInfoNotify_proto_goTypes = []interface{}{
+ (*AvatarSkillInfoNotify)(nil), // 0: proto.AvatarSkillInfoNotify
+ nil, // 1: proto.AvatarSkillInfoNotify.SkillMapEntry
+ (*AvatarSkillInfo)(nil), // 2: proto.AvatarSkillInfo
+}
+var file_AvatarSkillInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarSkillInfoNotify.skill_map:type_name -> proto.AvatarSkillInfoNotify.SkillMapEntry
+ 2, // 1: proto.AvatarSkillInfoNotify.SkillMapEntry.value:type_name -> proto.AvatarSkillInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSkillInfoNotify_proto_init() }
+func file_AvatarSkillInfoNotify_proto_init() {
+ if File_AvatarSkillInfoNotify_proto != nil {
+ return
+ }
+ file_AvatarSkillInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSkillInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSkillInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSkillInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSkillInfoNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarSkillInfoNotify_proto_depIdxs,
+ MessageInfos: file_AvatarSkillInfoNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarSkillInfoNotify_proto = out.File
+ file_AvatarSkillInfoNotify_proto_rawDesc = nil
+ file_AvatarSkillInfoNotify_proto_goTypes = nil
+ file_AvatarSkillInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSkillMaxChargeCountNotify.pb.go b/protocol/proto/AvatarSkillMaxChargeCountNotify.pb.go
new file mode 100644
index 00000000..5d329781
--- /dev/null
+++ b/protocol/proto/AvatarSkillMaxChargeCountNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSkillMaxChargeCountNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1003
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarSkillMaxChargeCountNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,6,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ MaxChargeCount uint32 `protobuf:"varint,11,opt,name=max_charge_count,json=maxChargeCount,proto3" json:"max_charge_count,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,7,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarSkillMaxChargeCountNotify) Reset() {
+ *x = AvatarSkillMaxChargeCountNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSkillMaxChargeCountNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSkillMaxChargeCountNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSkillMaxChargeCountNotify) ProtoMessage() {}
+
+func (x *AvatarSkillMaxChargeCountNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSkillMaxChargeCountNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSkillMaxChargeCountNotify.ProtoReflect.Descriptor instead.
+func (*AvatarSkillMaxChargeCountNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarSkillMaxChargeCountNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSkillMaxChargeCountNotify) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *AvatarSkillMaxChargeCountNotify) GetMaxChargeCount() uint32 {
+ if x != nil {
+ return x.MaxChargeCount
+ }
+ return 0
+}
+
+func (x *AvatarSkillMaxChargeCountNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarSkillMaxChargeCountNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarSkillMaxChargeCountNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61, 0x78,
+ 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87,
+ 0x01, 0x0a, 0x1f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x61,
+ 0x78, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x28, 0x0a,
+ 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x68, 0x61, 0x72,
+ 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSkillMaxChargeCountNotify_proto_rawDescOnce sync.Once
+ file_AvatarSkillMaxChargeCountNotify_proto_rawDescData = file_AvatarSkillMaxChargeCountNotify_proto_rawDesc
+)
+
+func file_AvatarSkillMaxChargeCountNotify_proto_rawDescGZIP() []byte {
+ file_AvatarSkillMaxChargeCountNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarSkillMaxChargeCountNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSkillMaxChargeCountNotify_proto_rawDescData)
+ })
+ return file_AvatarSkillMaxChargeCountNotify_proto_rawDescData
+}
+
+var file_AvatarSkillMaxChargeCountNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarSkillMaxChargeCountNotify_proto_goTypes = []interface{}{
+ (*AvatarSkillMaxChargeCountNotify)(nil), // 0: proto.AvatarSkillMaxChargeCountNotify
+}
+var file_AvatarSkillMaxChargeCountNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSkillMaxChargeCountNotify_proto_init() }
+func file_AvatarSkillMaxChargeCountNotify_proto_init() {
+ if File_AvatarSkillMaxChargeCountNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSkillMaxChargeCountNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSkillMaxChargeCountNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSkillMaxChargeCountNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSkillMaxChargeCountNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarSkillMaxChargeCountNotify_proto_depIdxs,
+ MessageInfos: file_AvatarSkillMaxChargeCountNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarSkillMaxChargeCountNotify_proto = out.File
+ file_AvatarSkillMaxChargeCountNotify_proto_rawDesc = nil
+ file_AvatarSkillMaxChargeCountNotify_proto_goTypes = nil
+ file_AvatarSkillMaxChargeCountNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSkillUpgradeReq.pb.go b/protocol/proto/AvatarSkillUpgradeReq.pb.go
new file mode 100644
index 00000000..703d5f1a
--- /dev/null
+++ b/protocol/proto/AvatarSkillUpgradeReq.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSkillUpgradeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1075
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarSkillUpgradeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,7,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ OldLevel uint32 `protobuf:"varint,3,opt,name=old_level,json=oldLevel,proto3" json:"old_level,omitempty"`
+ AvatarSkillId uint32 `protobuf:"varint,4,opt,name=avatar_skill_id,json=avatarSkillId,proto3" json:"avatar_skill_id,omitempty"`
+}
+
+func (x *AvatarSkillUpgradeReq) Reset() {
+ *x = AvatarSkillUpgradeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSkillUpgradeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSkillUpgradeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSkillUpgradeReq) ProtoMessage() {}
+
+func (x *AvatarSkillUpgradeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSkillUpgradeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSkillUpgradeReq.ProtoReflect.Descriptor instead.
+func (*AvatarSkillUpgradeReq) Descriptor() ([]byte, []int) {
+ return file_AvatarSkillUpgradeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSkillUpgradeReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarSkillUpgradeReq) GetOldLevel() uint32 {
+ if x != nil {
+ return x.OldLevel
+ }
+ return 0
+}
+
+func (x *AvatarSkillUpgradeReq) GetAvatarSkillId() uint32 {
+ if x != nil {
+ return x.AvatarSkillId
+ }
+ return 0
+}
+
+var File_AvatarSkillUpgradeReq_proto protoreflect.FileDescriptor
+
+var file_AvatarSkillUpgradeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x67,
+ 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSkillUpgradeReq_proto_rawDescOnce sync.Once
+ file_AvatarSkillUpgradeReq_proto_rawDescData = file_AvatarSkillUpgradeReq_proto_rawDesc
+)
+
+func file_AvatarSkillUpgradeReq_proto_rawDescGZIP() []byte {
+ file_AvatarSkillUpgradeReq_proto_rawDescOnce.Do(func() {
+ file_AvatarSkillUpgradeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSkillUpgradeReq_proto_rawDescData)
+ })
+ return file_AvatarSkillUpgradeReq_proto_rawDescData
+}
+
+var file_AvatarSkillUpgradeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarSkillUpgradeReq_proto_goTypes = []interface{}{
+ (*AvatarSkillUpgradeReq)(nil), // 0: proto.AvatarSkillUpgradeReq
+}
+var file_AvatarSkillUpgradeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSkillUpgradeReq_proto_init() }
+func file_AvatarSkillUpgradeReq_proto_init() {
+ if File_AvatarSkillUpgradeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSkillUpgradeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSkillUpgradeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSkillUpgradeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSkillUpgradeReq_proto_goTypes,
+ DependencyIndexes: file_AvatarSkillUpgradeReq_proto_depIdxs,
+ MessageInfos: file_AvatarSkillUpgradeReq_proto_msgTypes,
+ }.Build()
+ File_AvatarSkillUpgradeReq_proto = out.File
+ file_AvatarSkillUpgradeReq_proto_rawDesc = nil
+ file_AvatarSkillUpgradeReq_proto_goTypes = nil
+ file_AvatarSkillUpgradeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarSkillUpgradeRsp.pb.go b/protocol/proto/AvatarSkillUpgradeRsp.pb.go
new file mode 100644
index 00000000..b0a0b214
--- /dev/null
+++ b/protocol/proto/AvatarSkillUpgradeRsp.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarSkillUpgradeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1048
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarSkillUpgradeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,11,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ CurLevel uint32 `protobuf:"varint,14,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+ AvatarSkillId uint32 `protobuf:"varint,9,opt,name=avatar_skill_id,json=avatarSkillId,proto3" json:"avatar_skill_id,omitempty"`
+ OldLevel uint32 `protobuf:"varint,3,opt,name=old_level,json=oldLevel,proto3" json:"old_level,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AvatarSkillUpgradeRsp) Reset() {
+ *x = AvatarSkillUpgradeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarSkillUpgradeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarSkillUpgradeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarSkillUpgradeRsp) ProtoMessage() {}
+
+func (x *AvatarSkillUpgradeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarSkillUpgradeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarSkillUpgradeRsp.ProtoReflect.Descriptor instead.
+func (*AvatarSkillUpgradeRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarSkillUpgradeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarSkillUpgradeRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarSkillUpgradeRsp) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+func (x *AvatarSkillUpgradeRsp) GetAvatarSkillId() uint32 {
+ if x != nil {
+ return x.AvatarSkillId
+ }
+ return 0
+}
+
+func (x *AvatarSkillUpgradeRsp) GetOldLevel() uint32 {
+ if x != nil {
+ return x.OldLevel
+ }
+ return 0
+}
+
+func (x *AvatarSkillUpgradeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AvatarSkillUpgradeRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarSkillUpgradeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x67,
+ 0x72, 0x61, 0x64, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x01, 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12,
+ 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarSkillUpgradeRsp_proto_rawDescOnce sync.Once
+ file_AvatarSkillUpgradeRsp_proto_rawDescData = file_AvatarSkillUpgradeRsp_proto_rawDesc
+)
+
+func file_AvatarSkillUpgradeRsp_proto_rawDescGZIP() []byte {
+ file_AvatarSkillUpgradeRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarSkillUpgradeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarSkillUpgradeRsp_proto_rawDescData)
+ })
+ return file_AvatarSkillUpgradeRsp_proto_rawDescData
+}
+
+var file_AvatarSkillUpgradeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarSkillUpgradeRsp_proto_goTypes = []interface{}{
+ (*AvatarSkillUpgradeRsp)(nil), // 0: proto.AvatarSkillUpgradeRsp
+}
+var file_AvatarSkillUpgradeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarSkillUpgradeRsp_proto_init() }
+func file_AvatarSkillUpgradeRsp_proto_init() {
+ if File_AvatarSkillUpgradeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarSkillUpgradeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarSkillUpgradeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarSkillUpgradeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarSkillUpgradeRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarSkillUpgradeRsp_proto_depIdxs,
+ MessageInfos: file_AvatarSkillUpgradeRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarSkillUpgradeRsp_proto = out.File
+ file_AvatarSkillUpgradeRsp_proto_rawDesc = nil
+ file_AvatarSkillUpgradeRsp_proto_goTypes = nil
+ file_AvatarSkillUpgradeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarTeam.pb.go b/protocol/proto/AvatarTeam.pb.go
new file mode 100644
index 00000000..cf545db3
--- /dev/null
+++ b/protocol/proto/AvatarTeam.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarTeam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarTeam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuidList []uint64 `protobuf:"varint,7,rep,packed,name=avatar_guid_list,json=avatarGuidList,proto3" json:"avatar_guid_list,omitempty"`
+ TeamName string `protobuf:"bytes,14,opt,name=team_name,json=teamName,proto3" json:"team_name,omitempty"`
+}
+
+func (x *AvatarTeam) Reset() {
+ *x = AvatarTeam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarTeam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarTeam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarTeam) ProtoMessage() {}
+
+func (x *AvatarTeam) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarTeam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarTeam.ProtoReflect.Descriptor instead.
+func (*AvatarTeam) Descriptor() ([]byte, []int) {
+ return file_AvatarTeam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarTeam) GetAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarGuidList
+ }
+ return nil
+}
+
+func (x *AvatarTeam) GetTeamName() string {
+ if x != nil {
+ return x.TeamName
+ }
+ return ""
+}
+
+var File_AvatarTeam_proto protoreflect.FileDescriptor
+
+var file_AvatarTeam_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x0a, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28,
+ 0x04, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_AvatarTeam_proto_rawDescOnce sync.Once
+ file_AvatarTeam_proto_rawDescData = file_AvatarTeam_proto_rawDesc
+)
+
+func file_AvatarTeam_proto_rawDescGZIP() []byte {
+ file_AvatarTeam_proto_rawDescOnce.Do(func() {
+ file_AvatarTeam_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarTeam_proto_rawDescData)
+ })
+ return file_AvatarTeam_proto_rawDescData
+}
+
+var file_AvatarTeam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarTeam_proto_goTypes = []interface{}{
+ (*AvatarTeam)(nil), // 0: proto.AvatarTeam
+}
+var file_AvatarTeam_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarTeam_proto_init() }
+func file_AvatarTeam_proto_init() {
+ if File_AvatarTeam_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarTeam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarTeam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarTeam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarTeam_proto_goTypes,
+ DependencyIndexes: file_AvatarTeam_proto_depIdxs,
+ MessageInfos: file_AvatarTeam_proto_msgTypes,
+ }.Build()
+ File_AvatarTeam_proto = out.File
+ file_AvatarTeam_proto_rawDesc = nil
+ file_AvatarTeam_proto_goTypes = nil
+ file_AvatarTeam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarTeamAllDataNotify.pb.go b/protocol/proto/AvatarTeamAllDataNotify.pb.go
new file mode 100644
index 00000000..d781a615
--- /dev/null
+++ b/protocol/proto/AvatarTeamAllDataNotify.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarTeamAllDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1749
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarTeamAllDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TempAvatarGuidList []uint64 `protobuf:"varint,6,rep,packed,name=temp_avatar_guid_list,json=tempAvatarGuidList,proto3" json:"temp_avatar_guid_list,omitempty"`
+ AvatarTeamMap map[uint32]*AvatarTeam `protobuf:"bytes,3,rep,name=avatar_team_map,json=avatarTeamMap,proto3" json:"avatar_team_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ BackupAvatarTeamOrderList []uint32 `protobuf:"varint,1,rep,packed,name=backup_avatar_team_order_list,json=backupAvatarTeamOrderList,proto3" json:"backup_avatar_team_order_list,omitempty"`
+}
+
+func (x *AvatarTeamAllDataNotify) Reset() {
+ *x = AvatarTeamAllDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarTeamAllDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarTeamAllDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarTeamAllDataNotify) ProtoMessage() {}
+
+func (x *AvatarTeamAllDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarTeamAllDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarTeamAllDataNotify.ProtoReflect.Descriptor instead.
+func (*AvatarTeamAllDataNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarTeamAllDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarTeamAllDataNotify) GetTempAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.TempAvatarGuidList
+ }
+ return nil
+}
+
+func (x *AvatarTeamAllDataNotify) GetAvatarTeamMap() map[uint32]*AvatarTeam {
+ if x != nil {
+ return x.AvatarTeamMap
+ }
+ return nil
+}
+
+func (x *AvatarTeamAllDataNotify) GetBackupAvatarTeamOrderList() []uint32 {
+ if x != nil {
+ return x.BackupAvatarTeamOrderList
+ }
+ return nil
+}
+
+var File_AvatarTeamAllDataNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarTeamAllDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x6c, 0x6c, 0x44,
+ 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65,
+ 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x02, 0x0a, 0x17, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20,
+ 0x03, 0x28, 0x04, 0x52, 0x12, 0x74, 0x65, 0x6d, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47,
+ 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54,
+ 0x65, 0x61, 0x6d, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4d,
+ 0x61, 0x70, 0x12, 0x40, 0x0a, 0x1d, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x19, 0x62, 0x61, 0x63, 0x6b, 0x75,
+ 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4f, 0x72, 0x64, 0x65, 0x72,
+ 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x53, 0x0a, 0x12, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65,
+ 0x61, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarTeamAllDataNotify_proto_rawDescOnce sync.Once
+ file_AvatarTeamAllDataNotify_proto_rawDescData = file_AvatarTeamAllDataNotify_proto_rawDesc
+)
+
+func file_AvatarTeamAllDataNotify_proto_rawDescGZIP() []byte {
+ file_AvatarTeamAllDataNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarTeamAllDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarTeamAllDataNotify_proto_rawDescData)
+ })
+ return file_AvatarTeamAllDataNotify_proto_rawDescData
+}
+
+var file_AvatarTeamAllDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarTeamAllDataNotify_proto_goTypes = []interface{}{
+ (*AvatarTeamAllDataNotify)(nil), // 0: proto.AvatarTeamAllDataNotify
+ nil, // 1: proto.AvatarTeamAllDataNotify.AvatarTeamMapEntry
+ (*AvatarTeam)(nil), // 2: proto.AvatarTeam
+}
+var file_AvatarTeamAllDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarTeamAllDataNotify.avatar_team_map:type_name -> proto.AvatarTeamAllDataNotify.AvatarTeamMapEntry
+ 2, // 1: proto.AvatarTeamAllDataNotify.AvatarTeamMapEntry.value:type_name -> proto.AvatarTeam
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarTeamAllDataNotify_proto_init() }
+func file_AvatarTeamAllDataNotify_proto_init() {
+ if File_AvatarTeamAllDataNotify_proto != nil {
+ return
+ }
+ file_AvatarTeam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarTeamAllDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarTeamAllDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarTeamAllDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarTeamAllDataNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarTeamAllDataNotify_proto_depIdxs,
+ MessageInfos: file_AvatarTeamAllDataNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarTeamAllDataNotify_proto = out.File
+ file_AvatarTeamAllDataNotify_proto_rawDesc = nil
+ file_AvatarTeamAllDataNotify_proto_goTypes = nil
+ file_AvatarTeamAllDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarTeamResonanceInfo.pb.go b/protocol/proto/AvatarTeamResonanceInfo.pb.go
new file mode 100644
index 00000000..212461f1
--- /dev/null
+++ b/protocol/proto/AvatarTeamResonanceInfo.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarTeamResonanceInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type AvatarTeamResonanceInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AddTeamResonanceIdList []uint32 `protobuf:"varint,5,rep,packed,name=add_team_resonance_id_list,json=addTeamResonanceIdList,proto3" json:"add_team_resonance_id_list,omitempty"`
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,3,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ DelTeamResonanceIdList []uint32 `protobuf:"varint,14,rep,packed,name=del_team_resonance_id_list,json=delTeamResonanceIdList,proto3" json:"del_team_resonance_id_list,omitempty"`
+}
+
+func (x *AvatarTeamResonanceInfo) Reset() {
+ *x = AvatarTeamResonanceInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarTeamResonanceInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarTeamResonanceInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarTeamResonanceInfo) ProtoMessage() {}
+
+func (x *AvatarTeamResonanceInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarTeamResonanceInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarTeamResonanceInfo.ProtoReflect.Descriptor instead.
+func (*AvatarTeamResonanceInfo) Descriptor() ([]byte, []int) {
+ return file_AvatarTeamResonanceInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarTeamResonanceInfo) GetAddTeamResonanceIdList() []uint32 {
+ if x != nil {
+ return x.AddTeamResonanceIdList
+ }
+ return nil
+}
+
+func (x *AvatarTeamResonanceInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AvatarTeamResonanceInfo) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarTeamResonanceInfo) GetDelTeamResonanceIdList() []uint32 {
+ if x != nil {
+ return x.DelTeamResonanceIdList
+ }
+ return nil
+}
+
+var File_AvatarTeamResonanceInfo_proto protoreflect.FileDescriptor
+
+var file_AvatarTeamResonanceInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f,
+ 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x17, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x1a, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x72,
+ 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x64, 0x64, 0x54, 0x65, 0x61, 0x6d, 0x52,
+ 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x1a,
+ 0x64, 0x65, 0x6c, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e,
+ 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x16, 0x64, 0x65, 0x6c, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e,
+ 0x63, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarTeamResonanceInfo_proto_rawDescOnce sync.Once
+ file_AvatarTeamResonanceInfo_proto_rawDescData = file_AvatarTeamResonanceInfo_proto_rawDesc
+)
+
+func file_AvatarTeamResonanceInfo_proto_rawDescGZIP() []byte {
+ file_AvatarTeamResonanceInfo_proto_rawDescOnce.Do(func() {
+ file_AvatarTeamResonanceInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarTeamResonanceInfo_proto_rawDescData)
+ })
+ return file_AvatarTeamResonanceInfo_proto_rawDescData
+}
+
+var file_AvatarTeamResonanceInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarTeamResonanceInfo_proto_goTypes = []interface{}{
+ (*AvatarTeamResonanceInfo)(nil), // 0: proto.AvatarTeamResonanceInfo
+}
+var file_AvatarTeamResonanceInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarTeamResonanceInfo_proto_init() }
+func file_AvatarTeamResonanceInfo_proto_init() {
+ if File_AvatarTeamResonanceInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarTeamResonanceInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarTeamResonanceInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarTeamResonanceInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarTeamResonanceInfo_proto_goTypes,
+ DependencyIndexes: file_AvatarTeamResonanceInfo_proto_depIdxs,
+ MessageInfos: file_AvatarTeamResonanceInfo_proto_msgTypes,
+ }.Build()
+ File_AvatarTeamResonanceInfo_proto = out.File
+ file_AvatarTeamResonanceInfo_proto_rawDesc = nil
+ file_AvatarTeamResonanceInfo_proto_goTypes = nil
+ file_AvatarTeamResonanceInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarTeamUpdateNotify.pb.go b/protocol/proto/AvatarTeamUpdateNotify.pb.go
new file mode 100644
index 00000000..f0d6b230
--- /dev/null
+++ b/protocol/proto/AvatarTeamUpdateNotify.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarTeamUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1706
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarTeamUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarTeamMap map[uint32]*AvatarTeam `protobuf:"bytes,2,rep,name=avatar_team_map,json=avatarTeamMap,proto3" json:"avatar_team_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ TempAvatarGuidList []uint64 `protobuf:"varint,13,rep,packed,name=temp_avatar_guid_list,json=tempAvatarGuidList,proto3" json:"temp_avatar_guid_list,omitempty"`
+}
+
+func (x *AvatarTeamUpdateNotify) Reset() {
+ *x = AvatarTeamUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarTeamUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarTeamUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarTeamUpdateNotify) ProtoMessage() {}
+
+func (x *AvatarTeamUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarTeamUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarTeamUpdateNotify.ProtoReflect.Descriptor instead.
+func (*AvatarTeamUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarTeamUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarTeamUpdateNotify) GetAvatarTeamMap() map[uint32]*AvatarTeam {
+ if x != nil {
+ return x.AvatarTeamMap
+ }
+ return nil
+}
+
+func (x *AvatarTeamUpdateNotify) GetTempAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.TempAvatarGuidList
+ }
+ return nil
+}
+
+var File_AvatarTeamUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarTeamUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61,
+ 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x01, 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x61,
+ 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x31, 0x0a, 0x15,
+ 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x04, 0x52, 0x12, 0x74, 0x65, 0x6d,
+ 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x1a,
+ 0x53, 0x0a, 0x12, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarTeamUpdateNotify_proto_rawDescOnce sync.Once
+ file_AvatarTeamUpdateNotify_proto_rawDescData = file_AvatarTeamUpdateNotify_proto_rawDesc
+)
+
+func file_AvatarTeamUpdateNotify_proto_rawDescGZIP() []byte {
+ file_AvatarTeamUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarTeamUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarTeamUpdateNotify_proto_rawDescData)
+ })
+ return file_AvatarTeamUpdateNotify_proto_rawDescData
+}
+
+var file_AvatarTeamUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_AvatarTeamUpdateNotify_proto_goTypes = []interface{}{
+ (*AvatarTeamUpdateNotify)(nil), // 0: proto.AvatarTeamUpdateNotify
+ nil, // 1: proto.AvatarTeamUpdateNotify.AvatarTeamMapEntry
+ (*AvatarTeam)(nil), // 2: proto.AvatarTeam
+}
+var file_AvatarTeamUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarTeamUpdateNotify.avatar_team_map:type_name -> proto.AvatarTeamUpdateNotify.AvatarTeamMapEntry
+ 2, // 1: proto.AvatarTeamUpdateNotify.AvatarTeamMapEntry.value:type_name -> proto.AvatarTeam
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarTeamUpdateNotify_proto_init() }
+func file_AvatarTeamUpdateNotify_proto_init() {
+ if File_AvatarTeamUpdateNotify_proto != nil {
+ return
+ }
+ file_AvatarTeam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarTeamUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarTeamUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarTeamUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarTeamUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarTeamUpdateNotify_proto_depIdxs,
+ MessageInfos: file_AvatarTeamUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarTeamUpdateNotify_proto = out.File
+ file_AvatarTeamUpdateNotify_proto_rawDesc = nil
+ file_AvatarTeamUpdateNotify_proto_goTypes = nil
+ file_AvatarTeamUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarUnlockTalentNotify.pb.go b/protocol/proto/AvatarUnlockTalentNotify.pb.go
new file mode 100644
index 00000000..5ff90ce7
--- /dev/null
+++ b/protocol/proto/AvatarUnlockTalentNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarUnlockTalentNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1012
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarUnlockTalentNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,14,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,13,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ TalentId uint32 `protobuf:"varint,10,opt,name=talent_id,json=talentId,proto3" json:"talent_id,omitempty"`
+ SkillDepotId uint32 `protobuf:"varint,1,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+}
+
+func (x *AvatarUnlockTalentNotify) Reset() {
+ *x = AvatarUnlockTalentNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarUnlockTalentNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarUnlockTalentNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarUnlockTalentNotify) ProtoMessage() {}
+
+func (x *AvatarUnlockTalentNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarUnlockTalentNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarUnlockTalentNotify.ProtoReflect.Descriptor instead.
+func (*AvatarUnlockTalentNotify) Descriptor() ([]byte, []int) {
+ return file_AvatarUnlockTalentNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarUnlockTalentNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *AvatarUnlockTalentNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarUnlockTalentNotify) GetTalentId() uint32 {
+ if x != nil {
+ return x.TalentId
+ }
+ return 0
+}
+
+func (x *AvatarUnlockTalentNotify) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+var File_AvatarUnlockTalentNotify_proto protoreflect.FileDescriptor
+
+var file_AvatarUnlockTalentNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x61,
+ 0x6c, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x01, 0x0a, 0x18, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12,
+ 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65,
+ 0x70, 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarUnlockTalentNotify_proto_rawDescOnce sync.Once
+ file_AvatarUnlockTalentNotify_proto_rawDescData = file_AvatarUnlockTalentNotify_proto_rawDesc
+)
+
+func file_AvatarUnlockTalentNotify_proto_rawDescGZIP() []byte {
+ file_AvatarUnlockTalentNotify_proto_rawDescOnce.Do(func() {
+ file_AvatarUnlockTalentNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarUnlockTalentNotify_proto_rawDescData)
+ })
+ return file_AvatarUnlockTalentNotify_proto_rawDescData
+}
+
+var file_AvatarUnlockTalentNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarUnlockTalentNotify_proto_goTypes = []interface{}{
+ (*AvatarUnlockTalentNotify)(nil), // 0: proto.AvatarUnlockTalentNotify
+}
+var file_AvatarUnlockTalentNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarUnlockTalentNotify_proto_init() }
+func file_AvatarUnlockTalentNotify_proto_init() {
+ if File_AvatarUnlockTalentNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarUnlockTalentNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarUnlockTalentNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarUnlockTalentNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarUnlockTalentNotify_proto_goTypes,
+ DependencyIndexes: file_AvatarUnlockTalentNotify_proto_depIdxs,
+ MessageInfos: file_AvatarUnlockTalentNotify_proto_msgTypes,
+ }.Build()
+ File_AvatarUnlockTalentNotify_proto = out.File
+ file_AvatarUnlockTalentNotify_proto_rawDesc = nil
+ file_AvatarUnlockTalentNotify_proto_goTypes = nil
+ file_AvatarUnlockTalentNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarUpgradeReq.pb.go b/protocol/proto/AvatarUpgradeReq.pb.go
new file mode 100644
index 00000000..c4569fc2
--- /dev/null
+++ b/protocol/proto/AvatarUpgradeReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarUpgradeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1770
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarUpgradeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,6,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ Count uint32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+ ItemId uint32 `protobuf:"varint,5,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+}
+
+func (x *AvatarUpgradeReq) Reset() {
+ *x = AvatarUpgradeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarUpgradeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarUpgradeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarUpgradeReq) ProtoMessage() {}
+
+func (x *AvatarUpgradeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarUpgradeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarUpgradeReq.ProtoReflect.Descriptor instead.
+func (*AvatarUpgradeReq) Descriptor() ([]byte, []int) {
+ return file_AvatarUpgradeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarUpgradeReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarUpgradeReq) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *AvatarUpgradeReq) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+var File_AvatarUpgradeReq_proto protoreflect.FileDescriptor
+
+var file_AvatarUpgradeReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x62, 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65,
+ 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarUpgradeReq_proto_rawDescOnce sync.Once
+ file_AvatarUpgradeReq_proto_rawDescData = file_AvatarUpgradeReq_proto_rawDesc
+)
+
+func file_AvatarUpgradeReq_proto_rawDescGZIP() []byte {
+ file_AvatarUpgradeReq_proto_rawDescOnce.Do(func() {
+ file_AvatarUpgradeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarUpgradeReq_proto_rawDescData)
+ })
+ return file_AvatarUpgradeReq_proto_rawDescData
+}
+
+var file_AvatarUpgradeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarUpgradeReq_proto_goTypes = []interface{}{
+ (*AvatarUpgradeReq)(nil), // 0: proto.AvatarUpgradeReq
+}
+var file_AvatarUpgradeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarUpgradeReq_proto_init() }
+func file_AvatarUpgradeReq_proto_init() {
+ if File_AvatarUpgradeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarUpgradeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarUpgradeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarUpgradeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarUpgradeReq_proto_goTypes,
+ DependencyIndexes: file_AvatarUpgradeReq_proto_depIdxs,
+ MessageInfos: file_AvatarUpgradeReq_proto_msgTypes,
+ }.Build()
+ File_AvatarUpgradeReq_proto = out.File
+ file_AvatarUpgradeReq_proto_rawDesc = nil
+ file_AvatarUpgradeReq_proto_goTypes = nil
+ file_AvatarUpgradeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarUpgradeRsp.pb.go b/protocol/proto/AvatarUpgradeRsp.pb.go
new file mode 100644
index 00000000..c1456416
--- /dev/null
+++ b/protocol/proto/AvatarUpgradeRsp.pb.go
@@ -0,0 +1,231 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarUpgradeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1701
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarUpgradeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurLevel uint32 `protobuf:"varint,6,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+ OldLevel uint32 `protobuf:"varint,13,opt,name=old_level,json=oldLevel,proto3" json:"old_level,omitempty"`
+ OldFightPropMap map[uint32]float32 `protobuf:"bytes,10,rep,name=old_fight_prop_map,json=oldFightPropMap,proto3" json:"old_fight_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CurFightPropMap map[uint32]float32 `protobuf:"bytes,4,rep,name=cur_fight_prop_map,json=curFightPropMap,proto3" json:"cur_fight_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ AvatarGuid uint64 `protobuf:"varint,15,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *AvatarUpgradeRsp) Reset() {
+ *x = AvatarUpgradeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarUpgradeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarUpgradeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarUpgradeRsp) ProtoMessage() {}
+
+func (x *AvatarUpgradeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarUpgradeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarUpgradeRsp.ProtoReflect.Descriptor instead.
+func (*AvatarUpgradeRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarUpgradeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarUpgradeRsp) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+func (x *AvatarUpgradeRsp) GetOldLevel() uint32 {
+ if x != nil {
+ return x.OldLevel
+ }
+ return 0
+}
+
+func (x *AvatarUpgradeRsp) GetOldFightPropMap() map[uint32]float32 {
+ if x != nil {
+ return x.OldFightPropMap
+ }
+ return nil
+}
+
+func (x *AvatarUpgradeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *AvatarUpgradeRsp) GetCurFightPropMap() map[uint32]float32 {
+ if x != nil {
+ return x.CurFightPropMap
+ }
+ return nil
+}
+
+func (x *AvatarUpgradeRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_AvatarUpgradeRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarUpgradeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xc5, 0x03, 0x0a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64,
+ 0x65, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x59,
+ 0x0a, 0x12, 0x6f, 0x6c, 0x64, 0x5f, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x4f, 0x6c, 0x64, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6f, 0x6c, 0x64, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x59, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x5f, 0x66, 0x69, 0x67, 0x68, 0x74,
+ 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70,
+ 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x43, 0x75, 0x72, 0x46, 0x69, 0x67, 0x68,
+ 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63,
+ 0x75, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x1a,
+ 0x42, 0x0a, 0x14, 0x4f, 0x6c, 0x64, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x43, 0x75, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50,
+ 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarUpgradeRsp_proto_rawDescOnce sync.Once
+ file_AvatarUpgradeRsp_proto_rawDescData = file_AvatarUpgradeRsp_proto_rawDesc
+)
+
+func file_AvatarUpgradeRsp_proto_rawDescGZIP() []byte {
+ file_AvatarUpgradeRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarUpgradeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarUpgradeRsp_proto_rawDescData)
+ })
+ return file_AvatarUpgradeRsp_proto_rawDescData
+}
+
+var file_AvatarUpgradeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_AvatarUpgradeRsp_proto_goTypes = []interface{}{
+ (*AvatarUpgradeRsp)(nil), // 0: proto.AvatarUpgradeRsp
+ nil, // 1: proto.AvatarUpgradeRsp.OldFightPropMapEntry
+ nil, // 2: proto.AvatarUpgradeRsp.CurFightPropMapEntry
+}
+var file_AvatarUpgradeRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.AvatarUpgradeRsp.old_fight_prop_map:type_name -> proto.AvatarUpgradeRsp.OldFightPropMapEntry
+ 2, // 1: proto.AvatarUpgradeRsp.cur_fight_prop_map:type_name -> proto.AvatarUpgradeRsp.CurFightPropMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_AvatarUpgradeRsp_proto_init() }
+func file_AvatarUpgradeRsp_proto_init() {
+ if File_AvatarUpgradeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarUpgradeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarUpgradeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarUpgradeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarUpgradeRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarUpgradeRsp_proto_depIdxs,
+ MessageInfos: file_AvatarUpgradeRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarUpgradeRsp_proto = out.File
+ file_AvatarUpgradeRsp_proto_rawDesc = nil
+ file_AvatarUpgradeRsp_proto_goTypes = nil
+ file_AvatarUpgradeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarWearFlycloakReq.pb.go b/protocol/proto/AvatarWearFlycloakReq.pb.go
new file mode 100644
index 00000000..9cb04463
--- /dev/null
+++ b/protocol/proto/AvatarWearFlycloakReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarWearFlycloakReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1737
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type AvatarWearFlycloakReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,11,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ FlycloakId uint32 `protobuf:"varint,13,opt,name=flycloak_id,json=flycloakId,proto3" json:"flycloak_id,omitempty"`
+}
+
+func (x *AvatarWearFlycloakReq) Reset() {
+ *x = AvatarWearFlycloakReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarWearFlycloakReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarWearFlycloakReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarWearFlycloakReq) ProtoMessage() {}
+
+func (x *AvatarWearFlycloakReq) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarWearFlycloakReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarWearFlycloakReq.ProtoReflect.Descriptor instead.
+func (*AvatarWearFlycloakReq) Descriptor() ([]byte, []int) {
+ return file_AvatarWearFlycloakReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarWearFlycloakReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarWearFlycloakReq) GetFlycloakId() uint32 {
+ if x != nil {
+ return x.FlycloakId
+ }
+ return 0
+}
+
+var File_AvatarWearFlycloakReq_proto protoreflect.FileDescriptor
+
+var file_AvatarWearFlycloakReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x57, 0x65, 0x61, 0x72, 0x46, 0x6c, 0x79, 0x63,
+ 0x6c, 0x6f, 0x61, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x57, 0x65,
+ 0x61, 0x72, 0x46, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x66, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarWearFlycloakReq_proto_rawDescOnce sync.Once
+ file_AvatarWearFlycloakReq_proto_rawDescData = file_AvatarWearFlycloakReq_proto_rawDesc
+)
+
+func file_AvatarWearFlycloakReq_proto_rawDescGZIP() []byte {
+ file_AvatarWearFlycloakReq_proto_rawDescOnce.Do(func() {
+ file_AvatarWearFlycloakReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarWearFlycloakReq_proto_rawDescData)
+ })
+ return file_AvatarWearFlycloakReq_proto_rawDescData
+}
+
+var file_AvatarWearFlycloakReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarWearFlycloakReq_proto_goTypes = []interface{}{
+ (*AvatarWearFlycloakReq)(nil), // 0: proto.AvatarWearFlycloakReq
+}
+var file_AvatarWearFlycloakReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarWearFlycloakReq_proto_init() }
+func file_AvatarWearFlycloakReq_proto_init() {
+ if File_AvatarWearFlycloakReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarWearFlycloakReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarWearFlycloakReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarWearFlycloakReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarWearFlycloakReq_proto_goTypes,
+ DependencyIndexes: file_AvatarWearFlycloakReq_proto_depIdxs,
+ MessageInfos: file_AvatarWearFlycloakReq_proto_msgTypes,
+ }.Build()
+ File_AvatarWearFlycloakReq_proto = out.File
+ file_AvatarWearFlycloakReq_proto_rawDesc = nil
+ file_AvatarWearFlycloakReq_proto_goTypes = nil
+ file_AvatarWearFlycloakReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/AvatarWearFlycloakRsp.pb.go b/protocol/proto/AvatarWearFlycloakRsp.pb.go
new file mode 100644
index 00000000..1e5e7aba
--- /dev/null
+++ b/protocol/proto/AvatarWearFlycloakRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: AvatarWearFlycloakRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1698
+// EnetChannelId: 0
+// EnetIsReliable: true
+type AvatarWearFlycloakRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FlycloakId uint32 `protobuf:"varint,13,opt,name=flycloak_id,json=flycloakId,proto3" json:"flycloak_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,7,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *AvatarWearFlycloakRsp) Reset() {
+ *x = AvatarWearFlycloakRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_AvatarWearFlycloakRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvatarWearFlycloakRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvatarWearFlycloakRsp) ProtoMessage() {}
+
+func (x *AvatarWearFlycloakRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_AvatarWearFlycloakRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvatarWearFlycloakRsp.ProtoReflect.Descriptor instead.
+func (*AvatarWearFlycloakRsp) Descriptor() ([]byte, []int) {
+ return file_AvatarWearFlycloakRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *AvatarWearFlycloakRsp) GetFlycloakId() uint32 {
+ if x != nil {
+ return x.FlycloakId
+ }
+ return 0
+}
+
+func (x *AvatarWearFlycloakRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *AvatarWearFlycloakRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_AvatarWearFlycloakRsp_proto protoreflect.FileDescriptor
+
+var file_AvatarWearFlycloakRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x57, 0x65, 0x61, 0x72, 0x46, 0x6c, 0x79, 0x63,
+ 0x6c, 0x6f, 0x61, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x15, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x57, 0x65,
+ 0x61, 0x72, 0x46, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x66, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x49, 0x64, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_AvatarWearFlycloakRsp_proto_rawDescOnce sync.Once
+ file_AvatarWearFlycloakRsp_proto_rawDescData = file_AvatarWearFlycloakRsp_proto_rawDesc
+)
+
+func file_AvatarWearFlycloakRsp_proto_rawDescGZIP() []byte {
+ file_AvatarWearFlycloakRsp_proto_rawDescOnce.Do(func() {
+ file_AvatarWearFlycloakRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_AvatarWearFlycloakRsp_proto_rawDescData)
+ })
+ return file_AvatarWearFlycloakRsp_proto_rawDescData
+}
+
+var file_AvatarWearFlycloakRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_AvatarWearFlycloakRsp_proto_goTypes = []interface{}{
+ (*AvatarWearFlycloakRsp)(nil), // 0: proto.AvatarWearFlycloakRsp
+}
+var file_AvatarWearFlycloakRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_AvatarWearFlycloakRsp_proto_init() }
+func file_AvatarWearFlycloakRsp_proto_init() {
+ if File_AvatarWearFlycloakRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_AvatarWearFlycloakRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvatarWearFlycloakRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_AvatarWearFlycloakRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_AvatarWearFlycloakRsp_proto_goTypes,
+ DependencyIndexes: file_AvatarWearFlycloakRsp_proto_depIdxs,
+ MessageInfos: file_AvatarWearFlycloakRsp_proto_msgTypes,
+ }.Build()
+ File_AvatarWearFlycloakRsp_proto = out.File
+ file_AvatarWearFlycloakRsp_proto_rawDesc = nil
+ file_AvatarWearFlycloakRsp_proto_goTypes = nil
+ file_AvatarWearFlycloakRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BackMyWorldReq.pb.go b/protocol/proto/BackMyWorldReq.pb.go
new file mode 100644
index 00000000..fa7e6342
--- /dev/null
+++ b/protocol/proto/BackMyWorldReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BackMyWorldReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 286
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BackMyWorldReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *BackMyWorldReq) Reset() {
+ *x = BackMyWorldReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BackMyWorldReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BackMyWorldReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BackMyWorldReq) ProtoMessage() {}
+
+func (x *BackMyWorldReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BackMyWorldReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BackMyWorldReq.ProtoReflect.Descriptor instead.
+func (*BackMyWorldReq) Descriptor() ([]byte, []int) {
+ return file_BackMyWorldReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BackMyWorldReq_proto protoreflect.FileDescriptor
+
+var file_BackMyWorldReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x4d, 0x79, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a,
+ 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x4d, 0x79, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BackMyWorldReq_proto_rawDescOnce sync.Once
+ file_BackMyWorldReq_proto_rawDescData = file_BackMyWorldReq_proto_rawDesc
+)
+
+func file_BackMyWorldReq_proto_rawDescGZIP() []byte {
+ file_BackMyWorldReq_proto_rawDescOnce.Do(func() {
+ file_BackMyWorldReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BackMyWorldReq_proto_rawDescData)
+ })
+ return file_BackMyWorldReq_proto_rawDescData
+}
+
+var file_BackMyWorldReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BackMyWorldReq_proto_goTypes = []interface{}{
+ (*BackMyWorldReq)(nil), // 0: proto.BackMyWorldReq
+}
+var file_BackMyWorldReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BackMyWorldReq_proto_init() }
+func file_BackMyWorldReq_proto_init() {
+ if File_BackMyWorldReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BackMyWorldReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BackMyWorldReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BackMyWorldReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BackMyWorldReq_proto_goTypes,
+ DependencyIndexes: file_BackMyWorldReq_proto_depIdxs,
+ MessageInfos: file_BackMyWorldReq_proto_msgTypes,
+ }.Build()
+ File_BackMyWorldReq_proto = out.File
+ file_BackMyWorldReq_proto_rawDesc = nil
+ file_BackMyWorldReq_proto_goTypes = nil
+ file_BackMyWorldReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BackMyWorldRsp.pb.go b/protocol/proto/BackMyWorldRsp.pb.go
new file mode 100644
index 00000000..8fa28377
--- /dev/null
+++ b/protocol/proto/BackMyWorldRsp.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BackMyWorldRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 201
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BackMyWorldRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *BackMyWorldRsp) Reset() {
+ *x = BackMyWorldRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BackMyWorldRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BackMyWorldRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BackMyWorldRsp) ProtoMessage() {}
+
+func (x *BackMyWorldRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BackMyWorldRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BackMyWorldRsp.ProtoReflect.Descriptor instead.
+func (*BackMyWorldRsp) Descriptor() ([]byte, []int) {
+ return file_BackMyWorldRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BackMyWorldRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_BackMyWorldRsp_proto protoreflect.FileDescriptor
+
+var file_BackMyWorldRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x4d, 0x79, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a,
+ 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x4d, 0x79, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BackMyWorldRsp_proto_rawDescOnce sync.Once
+ file_BackMyWorldRsp_proto_rawDescData = file_BackMyWorldRsp_proto_rawDesc
+)
+
+func file_BackMyWorldRsp_proto_rawDescGZIP() []byte {
+ file_BackMyWorldRsp_proto_rawDescOnce.Do(func() {
+ file_BackMyWorldRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BackMyWorldRsp_proto_rawDescData)
+ })
+ return file_BackMyWorldRsp_proto_rawDescData
+}
+
+var file_BackMyWorldRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BackMyWorldRsp_proto_goTypes = []interface{}{
+ (*BackMyWorldRsp)(nil), // 0: proto.BackMyWorldRsp
+}
+var file_BackMyWorldRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BackMyWorldRsp_proto_init() }
+func file_BackMyWorldRsp_proto_init() {
+ if File_BackMyWorldRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BackMyWorldRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BackMyWorldRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BackMyWorldRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BackMyWorldRsp_proto_goTypes,
+ DependencyIndexes: file_BackMyWorldRsp_proto_depIdxs,
+ MessageInfos: file_BackMyWorldRsp_proto_msgTypes,
+ }.Build()
+ File_BackMyWorldRsp_proto = out.File
+ file_BackMyWorldRsp_proto_rawDesc = nil
+ file_BackMyWorldRsp_proto_goTypes = nil
+ file_BackMyWorldRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BackPlayCustomDungeonOfficialReq.pb.go b/protocol/proto/BackPlayCustomDungeonOfficialReq.pb.go
new file mode 100644
index 00000000..83ab944c
--- /dev/null
+++ b/protocol/proto/BackPlayCustomDungeonOfficialReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BackPlayCustomDungeonOfficialReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6203
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BackPlayCustomDungeonOfficialReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,2,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+}
+
+func (x *BackPlayCustomDungeonOfficialReq) Reset() {
+ *x = BackPlayCustomDungeonOfficialReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BackPlayCustomDungeonOfficialReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BackPlayCustomDungeonOfficialReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BackPlayCustomDungeonOfficialReq) ProtoMessage() {}
+
+func (x *BackPlayCustomDungeonOfficialReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BackPlayCustomDungeonOfficialReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BackPlayCustomDungeonOfficialReq.ProtoReflect.Descriptor instead.
+func (*BackPlayCustomDungeonOfficialReq) Descriptor() ([]byte, []int) {
+ return file_BackPlayCustomDungeonOfficialReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BackPlayCustomDungeonOfficialReq) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+var File_BackPlayCustomDungeonOfficialReq_proto protoreflect.FileDescriptor
+
+var file_BackPlayCustomDungeonOfficialReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x3b, 0x0a, 0x20, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c,
+ 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BackPlayCustomDungeonOfficialReq_proto_rawDescOnce sync.Once
+ file_BackPlayCustomDungeonOfficialReq_proto_rawDescData = file_BackPlayCustomDungeonOfficialReq_proto_rawDesc
+)
+
+func file_BackPlayCustomDungeonOfficialReq_proto_rawDescGZIP() []byte {
+ file_BackPlayCustomDungeonOfficialReq_proto_rawDescOnce.Do(func() {
+ file_BackPlayCustomDungeonOfficialReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BackPlayCustomDungeonOfficialReq_proto_rawDescData)
+ })
+ return file_BackPlayCustomDungeonOfficialReq_proto_rawDescData
+}
+
+var file_BackPlayCustomDungeonOfficialReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BackPlayCustomDungeonOfficialReq_proto_goTypes = []interface{}{
+ (*BackPlayCustomDungeonOfficialReq)(nil), // 0: proto.BackPlayCustomDungeonOfficialReq
+}
+var file_BackPlayCustomDungeonOfficialReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BackPlayCustomDungeonOfficialReq_proto_init() }
+func file_BackPlayCustomDungeonOfficialReq_proto_init() {
+ if File_BackPlayCustomDungeonOfficialReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BackPlayCustomDungeonOfficialReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BackPlayCustomDungeonOfficialReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BackPlayCustomDungeonOfficialReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BackPlayCustomDungeonOfficialReq_proto_goTypes,
+ DependencyIndexes: file_BackPlayCustomDungeonOfficialReq_proto_depIdxs,
+ MessageInfos: file_BackPlayCustomDungeonOfficialReq_proto_msgTypes,
+ }.Build()
+ File_BackPlayCustomDungeonOfficialReq_proto = out.File
+ file_BackPlayCustomDungeonOfficialReq_proto_rawDesc = nil
+ file_BackPlayCustomDungeonOfficialReq_proto_goTypes = nil
+ file_BackPlayCustomDungeonOfficialReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BackPlayCustomDungeonOfficialRsp.pb.go b/protocol/proto/BackPlayCustomDungeonOfficialRsp.pb.go
new file mode 100644
index 00000000..a632b6b2
--- /dev/null
+++ b/protocol/proto/BackPlayCustomDungeonOfficialRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BackPlayCustomDungeonOfficialRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6204
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BackPlayCustomDungeonOfficialRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *BackPlayCustomDungeonOfficialRsp) Reset() {
+ *x = BackPlayCustomDungeonOfficialRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BackPlayCustomDungeonOfficialRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BackPlayCustomDungeonOfficialRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BackPlayCustomDungeonOfficialRsp) ProtoMessage() {}
+
+func (x *BackPlayCustomDungeonOfficialRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BackPlayCustomDungeonOfficialRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BackPlayCustomDungeonOfficialRsp.ProtoReflect.Descriptor instead.
+func (*BackPlayCustomDungeonOfficialRsp) Descriptor() ([]byte, []int) {
+ return file_BackPlayCustomDungeonOfficialRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BackPlayCustomDungeonOfficialRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_BackPlayCustomDungeonOfficialRsp_proto protoreflect.FileDescriptor
+
+var file_BackPlayCustomDungeonOfficialRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x3c, 0x0a, 0x20, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_BackPlayCustomDungeonOfficialRsp_proto_rawDescOnce sync.Once
+ file_BackPlayCustomDungeonOfficialRsp_proto_rawDescData = file_BackPlayCustomDungeonOfficialRsp_proto_rawDesc
+)
+
+func file_BackPlayCustomDungeonOfficialRsp_proto_rawDescGZIP() []byte {
+ file_BackPlayCustomDungeonOfficialRsp_proto_rawDescOnce.Do(func() {
+ file_BackPlayCustomDungeonOfficialRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BackPlayCustomDungeonOfficialRsp_proto_rawDescData)
+ })
+ return file_BackPlayCustomDungeonOfficialRsp_proto_rawDescData
+}
+
+var file_BackPlayCustomDungeonOfficialRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BackPlayCustomDungeonOfficialRsp_proto_goTypes = []interface{}{
+ (*BackPlayCustomDungeonOfficialRsp)(nil), // 0: proto.BackPlayCustomDungeonOfficialRsp
+}
+var file_BackPlayCustomDungeonOfficialRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BackPlayCustomDungeonOfficialRsp_proto_init() }
+func file_BackPlayCustomDungeonOfficialRsp_proto_init() {
+ if File_BackPlayCustomDungeonOfficialRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BackPlayCustomDungeonOfficialRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BackPlayCustomDungeonOfficialRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BackPlayCustomDungeonOfficialRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BackPlayCustomDungeonOfficialRsp_proto_goTypes,
+ DependencyIndexes: file_BackPlayCustomDungeonOfficialRsp_proto_depIdxs,
+ MessageInfos: file_BackPlayCustomDungeonOfficialRsp_proto_msgTypes,
+ }.Build()
+ File_BackPlayCustomDungeonOfficialRsp_proto = out.File
+ file_BackPlayCustomDungeonOfficialRsp_proto_rawDesc = nil
+ file_BackPlayCustomDungeonOfficialRsp_proto_goTypes = nil
+ file_BackPlayCustomDungeonOfficialRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BackRebornGalleryReq.pb.go b/protocol/proto/BackRebornGalleryReq.pb.go
new file mode 100644
index 00000000..16ec65aa
--- /dev/null
+++ b/protocol/proto/BackRebornGalleryReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BackRebornGalleryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5593
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BackRebornGalleryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,15,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *BackRebornGalleryReq) Reset() {
+ *x = BackRebornGalleryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BackRebornGalleryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BackRebornGalleryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BackRebornGalleryReq) ProtoMessage() {}
+
+func (x *BackRebornGalleryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BackRebornGalleryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BackRebornGalleryReq.ProtoReflect.Descriptor instead.
+func (*BackRebornGalleryReq) Descriptor() ([]byte, []int) {
+ return file_BackRebornGalleryReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BackRebornGalleryReq) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_BackRebornGalleryReq_proto protoreflect.FileDescriptor
+
+var file_BackRebornGalleryReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x62, 0x6f, 0x72, 0x6e, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x62, 0x6f, 0x72,
+ 0x6e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x67,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BackRebornGalleryReq_proto_rawDescOnce sync.Once
+ file_BackRebornGalleryReq_proto_rawDescData = file_BackRebornGalleryReq_proto_rawDesc
+)
+
+func file_BackRebornGalleryReq_proto_rawDescGZIP() []byte {
+ file_BackRebornGalleryReq_proto_rawDescOnce.Do(func() {
+ file_BackRebornGalleryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BackRebornGalleryReq_proto_rawDescData)
+ })
+ return file_BackRebornGalleryReq_proto_rawDescData
+}
+
+var file_BackRebornGalleryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BackRebornGalleryReq_proto_goTypes = []interface{}{
+ (*BackRebornGalleryReq)(nil), // 0: proto.BackRebornGalleryReq
+}
+var file_BackRebornGalleryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BackRebornGalleryReq_proto_init() }
+func file_BackRebornGalleryReq_proto_init() {
+ if File_BackRebornGalleryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BackRebornGalleryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BackRebornGalleryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BackRebornGalleryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BackRebornGalleryReq_proto_goTypes,
+ DependencyIndexes: file_BackRebornGalleryReq_proto_depIdxs,
+ MessageInfos: file_BackRebornGalleryReq_proto_msgTypes,
+ }.Build()
+ File_BackRebornGalleryReq_proto = out.File
+ file_BackRebornGalleryReq_proto_rawDesc = nil
+ file_BackRebornGalleryReq_proto_goTypes = nil
+ file_BackRebornGalleryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BackRebornGalleryRsp.pb.go b/protocol/proto/BackRebornGalleryRsp.pb.go
new file mode 100644
index 00000000..c0850662
--- /dev/null
+++ b/protocol/proto/BackRebornGalleryRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BackRebornGalleryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5527
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BackRebornGalleryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,9,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *BackRebornGalleryRsp) Reset() {
+ *x = BackRebornGalleryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BackRebornGalleryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BackRebornGalleryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BackRebornGalleryRsp) ProtoMessage() {}
+
+func (x *BackRebornGalleryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BackRebornGalleryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BackRebornGalleryRsp.ProtoReflect.Descriptor instead.
+func (*BackRebornGalleryRsp) Descriptor() ([]byte, []int) {
+ return file_BackRebornGalleryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BackRebornGalleryRsp) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *BackRebornGalleryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_BackRebornGalleryRsp_proto protoreflect.FileDescriptor
+
+var file_BackRebornGalleryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x62, 0x6f, 0x72, 0x6e, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x14, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x62, 0x6f, 0x72,
+ 0x6e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x67,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BackRebornGalleryRsp_proto_rawDescOnce sync.Once
+ file_BackRebornGalleryRsp_proto_rawDescData = file_BackRebornGalleryRsp_proto_rawDesc
+)
+
+func file_BackRebornGalleryRsp_proto_rawDescGZIP() []byte {
+ file_BackRebornGalleryRsp_proto_rawDescOnce.Do(func() {
+ file_BackRebornGalleryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BackRebornGalleryRsp_proto_rawDescData)
+ })
+ return file_BackRebornGalleryRsp_proto_rawDescData
+}
+
+var file_BackRebornGalleryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BackRebornGalleryRsp_proto_goTypes = []interface{}{
+ (*BackRebornGalleryRsp)(nil), // 0: proto.BackRebornGalleryRsp
+}
+var file_BackRebornGalleryRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BackRebornGalleryRsp_proto_init() }
+func file_BackRebornGalleryRsp_proto_init() {
+ if File_BackRebornGalleryRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BackRebornGalleryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BackRebornGalleryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BackRebornGalleryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BackRebornGalleryRsp_proto_goTypes,
+ DependencyIndexes: file_BackRebornGalleryRsp_proto_depIdxs,
+ MessageInfos: file_BackRebornGalleryRsp_proto_msgTypes,
+ }.Build()
+ File_BackRebornGalleryRsp_proto = out.File
+ file_BackRebornGalleryRsp_proto_rawDesc = nil
+ file_BackRebornGalleryRsp_proto_goTypes = nil
+ file_BackRebornGalleryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BalloonGallerySettleInfo.pb.go b/protocol/proto/BalloonGallerySettleInfo.pb.go
new file mode 100644
index 00000000..192366a9
--- /dev/null
+++ b/protocol/proto/BalloonGallerySettleInfo.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BalloonGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BalloonGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,8,opt,name=score,proto3" json:"score,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,14,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ HitCount uint32 `protobuf:"varint,10,opt,name=hit_count,json=hitCount,proto3" json:"hit_count,omitempty"`
+ OwnerUid uint32 `protobuf:"varint,6,opt,name=owner_uid,json=ownerUid,proto3" json:"owner_uid,omitempty"`
+}
+
+func (x *BalloonGallerySettleInfo) Reset() {
+ *x = BalloonGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BalloonGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BalloonGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BalloonGallerySettleInfo) ProtoMessage() {}
+
+func (x *BalloonGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BalloonGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BalloonGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*BalloonGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_BalloonGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BalloonGallerySettleInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *BalloonGallerySettleInfo) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *BalloonGallerySettleInfo) GetHitCount() uint32 {
+ if x != nil {
+ return x.HitCount
+ }
+ return 0
+}
+
+func (x *BalloonGallerySettleInfo) GetOwnerUid() uint32 {
+ if x != nil {
+ return x.OwnerUid
+ }
+ return 0
+}
+
+var File_BalloonGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_BalloonGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x69, 0x74, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BalloonGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_BalloonGallerySettleInfo_proto_rawDescData = file_BalloonGallerySettleInfo_proto_rawDesc
+)
+
+func file_BalloonGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_BalloonGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_BalloonGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BalloonGallerySettleInfo_proto_rawDescData)
+ })
+ return file_BalloonGallerySettleInfo_proto_rawDescData
+}
+
+var file_BalloonGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BalloonGallerySettleInfo_proto_goTypes = []interface{}{
+ (*BalloonGallerySettleInfo)(nil), // 0: proto.BalloonGallerySettleInfo
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_BalloonGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BalloonGallerySettleInfo.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BalloonGallerySettleInfo_proto_init() }
+func file_BalloonGallerySettleInfo_proto_init() {
+ if File_BalloonGallerySettleInfo_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BalloonGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BalloonGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BalloonGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BalloonGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_BalloonGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_BalloonGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_BalloonGallerySettleInfo_proto = out.File
+ file_BalloonGallerySettleInfo_proto_rawDesc = nil
+ file_BalloonGallerySettleInfo_proto_goTypes = nil
+ file_BalloonGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BalloonPlayerInfo.pb.go b/protocol/proto/BalloonPlayerInfo.pb.go
new file mode 100644
index 00000000..b5fd1cc1
--- /dev/null
+++ b/protocol/proto/BalloonPlayerInfo.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BalloonPlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BalloonPlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,15,opt,name=uid,proto3" json:"uid,omitempty"`
+ CurScore uint32 `protobuf:"varint,2,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ ComboDisableTime uint32 `protobuf:"varint,14,opt,name=combo_disable_time,json=comboDisableTime,proto3" json:"combo_disable_time,omitempty"`
+ Combo uint32 `protobuf:"varint,11,opt,name=combo,proto3" json:"combo,omitempty"`
+}
+
+func (x *BalloonPlayerInfo) Reset() {
+ *x = BalloonPlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BalloonPlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BalloonPlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BalloonPlayerInfo) ProtoMessage() {}
+
+func (x *BalloonPlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BalloonPlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BalloonPlayerInfo.ProtoReflect.Descriptor instead.
+func (*BalloonPlayerInfo) Descriptor() ([]byte, []int) {
+ return file_BalloonPlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BalloonPlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *BalloonPlayerInfo) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *BalloonPlayerInfo) GetComboDisableTime() uint32 {
+ if x != nil {
+ return x.ComboDisableTime
+ }
+ return 0
+}
+
+func (x *BalloonPlayerInfo) GetCombo() uint32 {
+ if x != nil {
+ return x.Combo
+ }
+ return 0
+}
+
+var File_BalloonPlayerInfo_proto protoreflect.FileDescriptor
+
+var file_BalloonPlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x86, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x5f, 0x64,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BalloonPlayerInfo_proto_rawDescOnce sync.Once
+ file_BalloonPlayerInfo_proto_rawDescData = file_BalloonPlayerInfo_proto_rawDesc
+)
+
+func file_BalloonPlayerInfo_proto_rawDescGZIP() []byte {
+ file_BalloonPlayerInfo_proto_rawDescOnce.Do(func() {
+ file_BalloonPlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BalloonPlayerInfo_proto_rawDescData)
+ })
+ return file_BalloonPlayerInfo_proto_rawDescData
+}
+
+var file_BalloonPlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BalloonPlayerInfo_proto_goTypes = []interface{}{
+ (*BalloonPlayerInfo)(nil), // 0: proto.BalloonPlayerInfo
+}
+var file_BalloonPlayerInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BalloonPlayerInfo_proto_init() }
+func file_BalloonPlayerInfo_proto_init() {
+ if File_BalloonPlayerInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BalloonPlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BalloonPlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BalloonPlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BalloonPlayerInfo_proto_goTypes,
+ DependencyIndexes: file_BalloonPlayerInfo_proto_depIdxs,
+ MessageInfos: file_BalloonPlayerInfo_proto_msgTypes,
+ }.Build()
+ File_BalloonPlayerInfo_proto = out.File
+ file_BalloonPlayerInfo_proto_rawDesc = nil
+ file_BalloonPlayerInfo_proto_goTypes = nil
+ file_BalloonPlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BalloonSettleInfo.pb.go b/protocol/proto/BalloonSettleInfo.pb.go
new file mode 100644
index 00000000..fef99f47
--- /dev/null
+++ b/protocol/proto/BalloonSettleInfo.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BalloonSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BalloonSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,3,opt,name=uid,proto3" json:"uid,omitempty"`
+ ShootCount uint32 `protobuf:"varint,12,opt,name=shoot_count,json=shootCount,proto3" json:"shoot_count,omitempty"`
+ MaxCombo uint32 `protobuf:"varint,9,opt,name=max_combo,json=maxCombo,proto3" json:"max_combo,omitempty"`
+ FinalScore uint32 `protobuf:"varint,7,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+ PlayerInfo *OnlinePlayerInfo `protobuf:"bytes,2,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+}
+
+func (x *BalloonSettleInfo) Reset() {
+ *x = BalloonSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BalloonSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BalloonSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BalloonSettleInfo) ProtoMessage() {}
+
+func (x *BalloonSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BalloonSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BalloonSettleInfo.ProtoReflect.Descriptor instead.
+func (*BalloonSettleInfo) Descriptor() ([]byte, []int) {
+ return file_BalloonSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BalloonSettleInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *BalloonSettleInfo) GetShootCount() uint32 {
+ if x != nil {
+ return x.ShootCount
+ }
+ return 0
+}
+
+func (x *BalloonSettleInfo) GetMaxCombo() uint32 {
+ if x != nil {
+ return x.MaxCombo
+ }
+ return 0
+}
+
+func (x *BalloonSettleInfo) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+func (x *BalloonSettleInfo) GetPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+var File_BalloonSettleInfo_proto protoreflect.FileDescriptor
+
+var file_BalloonSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12,
+ 0x38, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BalloonSettleInfo_proto_rawDescOnce sync.Once
+ file_BalloonSettleInfo_proto_rawDescData = file_BalloonSettleInfo_proto_rawDesc
+)
+
+func file_BalloonSettleInfo_proto_rawDescGZIP() []byte {
+ file_BalloonSettleInfo_proto_rawDescOnce.Do(func() {
+ file_BalloonSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BalloonSettleInfo_proto_rawDescData)
+ })
+ return file_BalloonSettleInfo_proto_rawDescData
+}
+
+var file_BalloonSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BalloonSettleInfo_proto_goTypes = []interface{}{
+ (*BalloonSettleInfo)(nil), // 0: proto.BalloonSettleInfo
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+}
+var file_BalloonSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BalloonSettleInfo.player_info:type_name -> proto.OnlinePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BalloonSettleInfo_proto_init() }
+func file_BalloonSettleInfo_proto_init() {
+ if File_BalloonSettleInfo_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BalloonSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BalloonSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BalloonSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BalloonSettleInfo_proto_goTypes,
+ DependencyIndexes: file_BalloonSettleInfo_proto_depIdxs,
+ MessageInfos: file_BalloonSettleInfo_proto_msgTypes,
+ }.Build()
+ File_BalloonSettleInfo_proto = out.File
+ file_BalloonSettleInfo_proto_rawDesc = nil
+ file_BalloonSettleInfo_proto_goTypes = nil
+ file_BalloonSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BargainOfferPriceReq.pb.go b/protocol/proto/BargainOfferPriceReq.pb.go
new file mode 100644
index 00000000..8cee89d0
--- /dev/null
+++ b/protocol/proto/BargainOfferPriceReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BargainOfferPriceReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 493
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BargainOfferPriceReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BargainId uint32 `protobuf:"varint,4,opt,name=bargain_id,json=bargainId,proto3" json:"bargain_id,omitempty"`
+ Price uint32 `protobuf:"varint,6,opt,name=price,proto3" json:"price,omitempty"`
+}
+
+func (x *BargainOfferPriceReq) Reset() {
+ *x = BargainOfferPriceReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BargainOfferPriceReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BargainOfferPriceReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BargainOfferPriceReq) ProtoMessage() {}
+
+func (x *BargainOfferPriceReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BargainOfferPriceReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BargainOfferPriceReq.ProtoReflect.Descriptor instead.
+func (*BargainOfferPriceReq) Descriptor() ([]byte, []int) {
+ return file_BargainOfferPriceReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BargainOfferPriceReq) GetBargainId() uint32 {
+ if x != nil {
+ return x.BargainId
+ }
+ return 0
+}
+
+func (x *BargainOfferPriceReq) GetPrice() uint32 {
+ if x != nil {
+ return x.Price
+ }
+ return 0
+}
+
+var File_BargainOfferPriceReq_proto protoreflect.FileDescriptor
+
+var file_BargainOfferPriceReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72,
+ 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x14, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x4f, 0x66,
+ 0x66, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x62,
+ 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72,
+ 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BargainOfferPriceReq_proto_rawDescOnce sync.Once
+ file_BargainOfferPriceReq_proto_rawDescData = file_BargainOfferPriceReq_proto_rawDesc
+)
+
+func file_BargainOfferPriceReq_proto_rawDescGZIP() []byte {
+ file_BargainOfferPriceReq_proto_rawDescOnce.Do(func() {
+ file_BargainOfferPriceReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BargainOfferPriceReq_proto_rawDescData)
+ })
+ return file_BargainOfferPriceReq_proto_rawDescData
+}
+
+var file_BargainOfferPriceReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BargainOfferPriceReq_proto_goTypes = []interface{}{
+ (*BargainOfferPriceReq)(nil), // 0: proto.BargainOfferPriceReq
+}
+var file_BargainOfferPriceReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BargainOfferPriceReq_proto_init() }
+func file_BargainOfferPriceReq_proto_init() {
+ if File_BargainOfferPriceReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BargainOfferPriceReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BargainOfferPriceReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BargainOfferPriceReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BargainOfferPriceReq_proto_goTypes,
+ DependencyIndexes: file_BargainOfferPriceReq_proto_depIdxs,
+ MessageInfos: file_BargainOfferPriceReq_proto_msgTypes,
+ }.Build()
+ File_BargainOfferPriceReq_proto = out.File
+ file_BargainOfferPriceReq_proto_rawDesc = nil
+ file_BargainOfferPriceReq_proto_goTypes = nil
+ file_BargainOfferPriceReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BargainOfferPriceRsp.pb.go b/protocol/proto/BargainOfferPriceRsp.pb.go
new file mode 100644
index 00000000..035ef900
--- /dev/null
+++ b/protocol/proto/BargainOfferPriceRsp.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BargainOfferPriceRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 427
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BargainOfferPriceRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ResultParam uint32 `protobuf:"varint,13,opt,name=result_param,json=resultParam,proto3" json:"result_param,omitempty"`
+ BargainResult BargainResultType `protobuf:"varint,14,opt,name=bargain_result,json=bargainResult,proto3,enum=proto.BargainResultType" json:"bargain_result,omitempty"`
+ CurMood int32 `protobuf:"varint,6,opt,name=cur_mood,json=curMood,proto3" json:"cur_mood,omitempty"`
+}
+
+func (x *BargainOfferPriceRsp) Reset() {
+ *x = BargainOfferPriceRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BargainOfferPriceRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BargainOfferPriceRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BargainOfferPriceRsp) ProtoMessage() {}
+
+func (x *BargainOfferPriceRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BargainOfferPriceRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BargainOfferPriceRsp.ProtoReflect.Descriptor instead.
+func (*BargainOfferPriceRsp) Descriptor() ([]byte, []int) {
+ return file_BargainOfferPriceRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BargainOfferPriceRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BargainOfferPriceRsp) GetResultParam() uint32 {
+ if x != nil {
+ return x.ResultParam
+ }
+ return 0
+}
+
+func (x *BargainOfferPriceRsp) GetBargainResult() BargainResultType {
+ if x != nil {
+ return x.BargainResult
+ }
+ return BargainResultType_BARGAIN_RESULT_TYPE_COMPLETE_SUCC
+}
+
+func (x *BargainOfferPriceRsp) GetCurMood() int32 {
+ if x != nil {
+ return x.CurMood
+ }
+ return 0
+}
+
+var File_BargainOfferPriceRsp_proto protoreflect.FileDescriptor
+
+var file_BargainOfferPriceRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72,
+ 0x69, 0x63, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x01, 0x0a,
+ 0x14, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x72, 0x69,
+ 0x63, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x12, 0x3f, 0x0a, 0x0e, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x5f, 0x6d, 0x6f, 0x6f, 0x64, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x4d, 0x6f, 0x6f, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_BargainOfferPriceRsp_proto_rawDescOnce sync.Once
+ file_BargainOfferPriceRsp_proto_rawDescData = file_BargainOfferPriceRsp_proto_rawDesc
+)
+
+func file_BargainOfferPriceRsp_proto_rawDescGZIP() []byte {
+ file_BargainOfferPriceRsp_proto_rawDescOnce.Do(func() {
+ file_BargainOfferPriceRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BargainOfferPriceRsp_proto_rawDescData)
+ })
+ return file_BargainOfferPriceRsp_proto_rawDescData
+}
+
+var file_BargainOfferPriceRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BargainOfferPriceRsp_proto_goTypes = []interface{}{
+ (*BargainOfferPriceRsp)(nil), // 0: proto.BargainOfferPriceRsp
+ (BargainResultType)(0), // 1: proto.BargainResultType
+}
+var file_BargainOfferPriceRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.BargainOfferPriceRsp.bargain_result:type_name -> proto.BargainResultType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BargainOfferPriceRsp_proto_init() }
+func file_BargainOfferPriceRsp_proto_init() {
+ if File_BargainOfferPriceRsp_proto != nil {
+ return
+ }
+ file_BargainResultType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BargainOfferPriceRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BargainOfferPriceRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BargainOfferPriceRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BargainOfferPriceRsp_proto_goTypes,
+ DependencyIndexes: file_BargainOfferPriceRsp_proto_depIdxs,
+ MessageInfos: file_BargainOfferPriceRsp_proto_msgTypes,
+ }.Build()
+ File_BargainOfferPriceRsp_proto = out.File
+ file_BargainOfferPriceRsp_proto_rawDesc = nil
+ file_BargainOfferPriceRsp_proto_goTypes = nil
+ file_BargainOfferPriceRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BargainResultType.pb.go b/protocol/proto/BargainResultType.pb.go
new file mode 100644
index 00000000..290ce5f8
--- /dev/null
+++ b/protocol/proto/BargainResultType.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BargainResultType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BargainResultType int32
+
+const (
+ BargainResultType_BARGAIN_RESULT_TYPE_COMPLETE_SUCC BargainResultType = 0
+ BargainResultType_BARGAIN_RESULT_TYPE_SINGLE_FAIL BargainResultType = 1
+ BargainResultType_BARGAIN_RESULT_TYPE_COMPLETE_FAIL BargainResultType = 2
+)
+
+// Enum value maps for BargainResultType.
+var (
+ BargainResultType_name = map[int32]string{
+ 0: "BARGAIN_RESULT_TYPE_COMPLETE_SUCC",
+ 1: "BARGAIN_RESULT_TYPE_SINGLE_FAIL",
+ 2: "BARGAIN_RESULT_TYPE_COMPLETE_FAIL",
+ }
+ BargainResultType_value = map[string]int32{
+ "BARGAIN_RESULT_TYPE_COMPLETE_SUCC": 0,
+ "BARGAIN_RESULT_TYPE_SINGLE_FAIL": 1,
+ "BARGAIN_RESULT_TYPE_COMPLETE_FAIL": 2,
+ }
+)
+
+func (x BargainResultType) Enum() *BargainResultType {
+ p := new(BargainResultType)
+ *p = x
+ return p
+}
+
+func (x BargainResultType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (BargainResultType) Descriptor() protoreflect.EnumDescriptor {
+ return file_BargainResultType_proto_enumTypes[0].Descriptor()
+}
+
+func (BargainResultType) Type() protoreflect.EnumType {
+ return &file_BargainResultType_proto_enumTypes[0]
+}
+
+func (x BargainResultType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use BargainResultType.Descriptor instead.
+func (BargainResultType) EnumDescriptor() ([]byte, []int) {
+ return file_BargainResultType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BargainResultType_proto protoreflect.FileDescriptor
+
+var file_BargainResultType_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2a, 0x86, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x42, 0x41, 0x52, 0x47, 0x41, 0x49,
+ 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f,
+ 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x10, 0x00, 0x12, 0x23, 0x0a,
+ 0x1f, 0x42, 0x41, 0x52, 0x47, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c,
+ 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x42, 0x41, 0x52, 0x47, 0x41, 0x49, 0x4e, 0x5f, 0x52, 0x45,
+ 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45,
+ 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BargainResultType_proto_rawDescOnce sync.Once
+ file_BargainResultType_proto_rawDescData = file_BargainResultType_proto_rawDesc
+)
+
+func file_BargainResultType_proto_rawDescGZIP() []byte {
+ file_BargainResultType_proto_rawDescOnce.Do(func() {
+ file_BargainResultType_proto_rawDescData = protoimpl.X.CompressGZIP(file_BargainResultType_proto_rawDescData)
+ })
+ return file_BargainResultType_proto_rawDescData
+}
+
+var file_BargainResultType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_BargainResultType_proto_goTypes = []interface{}{
+ (BargainResultType)(0), // 0: proto.BargainResultType
+}
+var file_BargainResultType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BargainResultType_proto_init() }
+func file_BargainResultType_proto_init() {
+ if File_BargainResultType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BargainResultType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BargainResultType_proto_goTypes,
+ DependencyIndexes: file_BargainResultType_proto_depIdxs,
+ EnumInfos: file_BargainResultType_proto_enumTypes,
+ }.Build()
+ File_BargainResultType_proto = out.File
+ file_BargainResultType_proto_rawDesc = nil
+ file_BargainResultType_proto_goTypes = nil
+ file_BargainResultType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BargainSnapshot.pb.go b/protocol/proto/BargainSnapshot.pb.go
new file mode 100644
index 00000000..3f73042e
--- /dev/null
+++ b/protocol/proto/BargainSnapshot.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BargainSnapshot.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BargainSnapshot struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExpectedPrice uint32 `protobuf:"varint,3,opt,name=expected_price,json=expectedPrice,proto3" json:"expected_price,omitempty"`
+ CurMood int32 `protobuf:"varint,14,opt,name=cur_mood,json=curMood,proto3" json:"cur_mood,omitempty"`
+ PriceLowLimit uint32 `protobuf:"varint,2,opt,name=price_low_limit,json=priceLowLimit,proto3" json:"price_low_limit,omitempty"`
+ BargainId uint32 `protobuf:"varint,5,opt,name=bargain_id,json=bargainId,proto3" json:"bargain_id,omitempty"`
+}
+
+func (x *BargainSnapshot) Reset() {
+ *x = BargainSnapshot{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BargainSnapshot_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BargainSnapshot) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BargainSnapshot) ProtoMessage() {}
+
+func (x *BargainSnapshot) ProtoReflect() protoreflect.Message {
+ mi := &file_BargainSnapshot_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BargainSnapshot.ProtoReflect.Descriptor instead.
+func (*BargainSnapshot) Descriptor() ([]byte, []int) {
+ return file_BargainSnapshot_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BargainSnapshot) GetExpectedPrice() uint32 {
+ if x != nil {
+ return x.ExpectedPrice
+ }
+ return 0
+}
+
+func (x *BargainSnapshot) GetCurMood() int32 {
+ if x != nil {
+ return x.CurMood
+ }
+ return 0
+}
+
+func (x *BargainSnapshot) GetPriceLowLimit() uint32 {
+ if x != nil {
+ return x.PriceLowLimit
+ }
+ return 0
+}
+
+func (x *BargainSnapshot) GetBargainId() uint32 {
+ if x != nil {
+ return x.BargainId
+ }
+ return 0
+}
+
+var File_BargainSnapshot_proto protoreflect.FileDescriptor
+
+var file_BargainSnapshot_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a,
+ 0x01, 0x0a, 0x0f, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
+ 0x6f, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70,
+ 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65,
+ 0x63, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x75, 0x72,
+ 0x5f, 0x6d, 0x6f, 0x6f, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72,
+ 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x6f,
+ 0x77, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70,
+ 0x72, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x77, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BargainSnapshot_proto_rawDescOnce sync.Once
+ file_BargainSnapshot_proto_rawDescData = file_BargainSnapshot_proto_rawDesc
+)
+
+func file_BargainSnapshot_proto_rawDescGZIP() []byte {
+ file_BargainSnapshot_proto_rawDescOnce.Do(func() {
+ file_BargainSnapshot_proto_rawDescData = protoimpl.X.CompressGZIP(file_BargainSnapshot_proto_rawDescData)
+ })
+ return file_BargainSnapshot_proto_rawDescData
+}
+
+var file_BargainSnapshot_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BargainSnapshot_proto_goTypes = []interface{}{
+ (*BargainSnapshot)(nil), // 0: proto.BargainSnapshot
+}
+var file_BargainSnapshot_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BargainSnapshot_proto_init() }
+func file_BargainSnapshot_proto_init() {
+ if File_BargainSnapshot_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BargainSnapshot_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BargainSnapshot); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BargainSnapshot_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BargainSnapshot_proto_goTypes,
+ DependencyIndexes: file_BargainSnapshot_proto_depIdxs,
+ MessageInfos: file_BargainSnapshot_proto_msgTypes,
+ }.Build()
+ File_BargainSnapshot_proto = out.File
+ file_BargainSnapshot_proto_rawDesc = nil
+ file_BargainSnapshot_proto_goTypes = nil
+ file_BargainSnapshot_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BargainStartNotify.pb.go b/protocol/proto/BargainStartNotify.pb.go
new file mode 100644
index 00000000..853336fd
--- /dev/null
+++ b/protocol/proto/BargainStartNotify.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BargainStartNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 404
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BargainStartNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BargainId uint32 `protobuf:"varint,4,opt,name=bargain_id,json=bargainId,proto3" json:"bargain_id,omitempty"`
+ Snapshot *BargainSnapshot `protobuf:"bytes,2,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
+}
+
+func (x *BargainStartNotify) Reset() {
+ *x = BargainStartNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BargainStartNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BargainStartNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BargainStartNotify) ProtoMessage() {}
+
+func (x *BargainStartNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BargainStartNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BargainStartNotify.ProtoReflect.Descriptor instead.
+func (*BargainStartNotify) Descriptor() ([]byte, []int) {
+ return file_BargainStartNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BargainStartNotify) GetBargainId() uint32 {
+ if x != nil {
+ return x.BargainId
+ }
+ return 0
+}
+
+func (x *BargainStartNotify) GetSnapshot() *BargainSnapshot {
+ if x != nil {
+ return x.Snapshot
+ }
+ return nil
+}
+
+var File_BargainStartNotify_proto protoreflect.FileDescriptor
+
+var file_BargainStartNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x15, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68,
+ 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x12, 0x42, 0x61, 0x72, 0x67,
+ 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a,
+ 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53,
+ 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BargainStartNotify_proto_rawDescOnce sync.Once
+ file_BargainStartNotify_proto_rawDescData = file_BargainStartNotify_proto_rawDesc
+)
+
+func file_BargainStartNotify_proto_rawDescGZIP() []byte {
+ file_BargainStartNotify_proto_rawDescOnce.Do(func() {
+ file_BargainStartNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BargainStartNotify_proto_rawDescData)
+ })
+ return file_BargainStartNotify_proto_rawDescData
+}
+
+var file_BargainStartNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BargainStartNotify_proto_goTypes = []interface{}{
+ (*BargainStartNotify)(nil), // 0: proto.BargainStartNotify
+ (*BargainSnapshot)(nil), // 1: proto.BargainSnapshot
+}
+var file_BargainStartNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BargainStartNotify.snapshot:type_name -> proto.BargainSnapshot
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BargainStartNotify_proto_init() }
+func file_BargainStartNotify_proto_init() {
+ if File_BargainStartNotify_proto != nil {
+ return
+ }
+ file_BargainSnapshot_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BargainStartNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BargainStartNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BargainStartNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BargainStartNotify_proto_goTypes,
+ DependencyIndexes: file_BargainStartNotify_proto_depIdxs,
+ MessageInfos: file_BargainStartNotify_proto_msgTypes,
+ }.Build()
+ File_BargainStartNotify_proto = out.File
+ file_BargainStartNotify_proto_rawDesc = nil
+ file_BargainStartNotify_proto_goTypes = nil
+ file_BargainStartNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BargainTerminateNotify.pb.go b/protocol/proto/BargainTerminateNotify.pb.go
new file mode 100644
index 00000000..0683ed62
--- /dev/null
+++ b/protocol/proto/BargainTerminateNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BargainTerminateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 494
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BargainTerminateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BargainId uint32 `protobuf:"varint,15,opt,name=bargain_id,json=bargainId,proto3" json:"bargain_id,omitempty"`
+}
+
+func (x *BargainTerminateNotify) Reset() {
+ *x = BargainTerminateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BargainTerminateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BargainTerminateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BargainTerminateNotify) ProtoMessage() {}
+
+func (x *BargainTerminateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BargainTerminateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BargainTerminateNotify.ProtoReflect.Descriptor instead.
+func (*BargainTerminateNotify) Descriptor() ([]byte, []int) {
+ return file_BargainTerminateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BargainTerminateNotify) GetBargainId() uint32 {
+ if x != nil {
+ return x.BargainId
+ }
+ return 0
+}
+
+var File_BargainTerminateNotify_proto protoreflect.FileDescriptor
+
+var file_BargainTerminateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x16, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e,
+ 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_BargainTerminateNotify_proto_rawDescOnce sync.Once
+ file_BargainTerminateNotify_proto_rawDescData = file_BargainTerminateNotify_proto_rawDesc
+)
+
+func file_BargainTerminateNotify_proto_rawDescGZIP() []byte {
+ file_BargainTerminateNotify_proto_rawDescOnce.Do(func() {
+ file_BargainTerminateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BargainTerminateNotify_proto_rawDescData)
+ })
+ return file_BargainTerminateNotify_proto_rawDescData
+}
+
+var file_BargainTerminateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BargainTerminateNotify_proto_goTypes = []interface{}{
+ (*BargainTerminateNotify)(nil), // 0: proto.BargainTerminateNotify
+}
+var file_BargainTerminateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BargainTerminateNotify_proto_init() }
+func file_BargainTerminateNotify_proto_init() {
+ if File_BargainTerminateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BargainTerminateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BargainTerminateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BargainTerminateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BargainTerminateNotify_proto_goTypes,
+ DependencyIndexes: file_BargainTerminateNotify_proto_depIdxs,
+ MessageInfos: file_BargainTerminateNotify_proto_msgTypes,
+ }.Build()
+ File_BargainTerminateNotify_proto = out.File
+ file_BargainTerminateNotify_proto_rawDesc = nil
+ file_BargainTerminateNotify_proto_goTypes = nil
+ file_BargainTerminateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderActivityDetailInfo.pb.go b/protocol/proto/BartenderActivityDetailInfo.pb.go
new file mode 100644
index 00000000..4206dec4
--- /dev/null
+++ b/protocol/proto/BartenderActivityDetailInfo.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BartenderActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnlockItemList []uint32 `protobuf:"varint,3,rep,packed,name=unlock_item_list,json=unlockItemList,proto3" json:"unlock_item_list,omitempty"`
+ IsDevelopModuleOpen bool `protobuf:"varint,13,opt,name=is_develop_module_open,json=isDevelopModuleOpen,proto3" json:"is_develop_module_open,omitempty"`
+ IsContentClosed bool `protobuf:"varint,6,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ UnlockLevelList []*BartenderLevelInfo `protobuf:"bytes,5,rep,name=unlock_level_list,json=unlockLevelList,proto3" json:"unlock_level_list,omitempty"`
+ UnlockFormulaList []uint32 `protobuf:"varint,14,rep,packed,name=unlock_formula_list,json=unlockFormulaList,proto3" json:"unlock_formula_list,omitempty"`
+ UnlockTaskList []*BartenderTaskInfo `protobuf:"bytes,2,rep,name=unlock_task_list,json=unlockTaskList,proto3" json:"unlock_task_list,omitempty"`
+}
+
+func (x *BartenderActivityDetailInfo) Reset() {
+ *x = BartenderActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderActivityDetailInfo) ProtoMessage() {}
+
+func (x *BartenderActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*BartenderActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_BartenderActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderActivityDetailInfo) GetUnlockItemList() []uint32 {
+ if x != nil {
+ return x.UnlockItemList
+ }
+ return nil
+}
+
+func (x *BartenderActivityDetailInfo) GetIsDevelopModuleOpen() bool {
+ if x != nil {
+ return x.IsDevelopModuleOpen
+ }
+ return false
+}
+
+func (x *BartenderActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *BartenderActivityDetailInfo) GetUnlockLevelList() []*BartenderLevelInfo {
+ if x != nil {
+ return x.UnlockLevelList
+ }
+ return nil
+}
+
+func (x *BartenderActivityDetailInfo) GetUnlockFormulaList() []uint32 {
+ if x != nil {
+ return x.UnlockFormulaList
+ }
+ return nil
+}
+
+func (x *BartenderActivityDetailInfo) GetUnlockTaskList() []*BartenderTaskInfo {
+ if x != nil {
+ return x.UnlockTaskList
+ }
+ return nil
+}
+
+var File_BartenderActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_BartenderActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x42, 0x61, 0x72, 0x74,
+ 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54,
+ 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x02,
+ 0x0a, 0x1b, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a,
+ 0x10, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
+ 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x64, 0x65,
+ 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x44, 0x65, 0x76, 0x65, 0x6c,
+ 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x11,
+ 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x11, 0x75, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x72, 0x74,
+ 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f,
+ 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x2e, 0x0a, 0x13, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c,
+ 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x42, 0x0a, 0x10, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x61, 0x73, 0x6b, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_BartenderActivityDetailInfo_proto_rawDescData = file_BartenderActivityDetailInfo_proto_rawDesc
+)
+
+func file_BartenderActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_BartenderActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_BartenderActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderActivityDetailInfo_proto_rawDescData)
+ })
+ return file_BartenderActivityDetailInfo_proto_rawDescData
+}
+
+var file_BartenderActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderActivityDetailInfo_proto_goTypes = []interface{}{
+ (*BartenderActivityDetailInfo)(nil), // 0: proto.BartenderActivityDetailInfo
+ (*BartenderLevelInfo)(nil), // 1: proto.BartenderLevelInfo
+ (*BartenderTaskInfo)(nil), // 2: proto.BartenderTaskInfo
+}
+var file_BartenderActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BartenderActivityDetailInfo.unlock_level_list:type_name -> proto.BartenderLevelInfo
+ 2, // 1: proto.BartenderActivityDetailInfo.unlock_task_list:type_name -> proto.BartenderTaskInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_BartenderActivityDetailInfo_proto_init() }
+func file_BartenderActivityDetailInfo_proto_init() {
+ if File_BartenderActivityDetailInfo_proto != nil {
+ return
+ }
+ file_BartenderLevelInfo_proto_init()
+ file_BartenderTaskInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_BartenderActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_BartenderActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_BartenderActivityDetailInfo_proto = out.File
+ file_BartenderActivityDetailInfo_proto_rawDesc = nil
+ file_BartenderActivityDetailInfo_proto_goTypes = nil
+ file_BartenderActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderCancelLevelReq.pb.go b/protocol/proto/BartenderCancelLevelReq.pb.go
new file mode 100644
index 00000000..657f4fa6
--- /dev/null
+++ b/protocol/proto/BartenderCancelLevelReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderCancelLevelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8771
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BartenderCancelLevelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,13,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *BartenderCancelLevelReq) Reset() {
+ *x = BartenderCancelLevelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderCancelLevelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderCancelLevelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderCancelLevelReq) ProtoMessage() {}
+
+func (x *BartenderCancelLevelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderCancelLevelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderCancelLevelReq.ProtoReflect.Descriptor instead.
+func (*BartenderCancelLevelReq) Descriptor() ([]byte, []int) {
+ return file_BartenderCancelLevelReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderCancelLevelReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_BartenderCancelLevelReq_proto protoreflect.FileDescriptor
+
+var file_BartenderCancelLevelReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65,
+ 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x17, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderCancelLevelReq_proto_rawDescOnce sync.Once
+ file_BartenderCancelLevelReq_proto_rawDescData = file_BartenderCancelLevelReq_proto_rawDesc
+)
+
+func file_BartenderCancelLevelReq_proto_rawDescGZIP() []byte {
+ file_BartenderCancelLevelReq_proto_rawDescOnce.Do(func() {
+ file_BartenderCancelLevelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderCancelLevelReq_proto_rawDescData)
+ })
+ return file_BartenderCancelLevelReq_proto_rawDescData
+}
+
+var file_BartenderCancelLevelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderCancelLevelReq_proto_goTypes = []interface{}{
+ (*BartenderCancelLevelReq)(nil), // 0: proto.BartenderCancelLevelReq
+}
+var file_BartenderCancelLevelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderCancelLevelReq_proto_init() }
+func file_BartenderCancelLevelReq_proto_init() {
+ if File_BartenderCancelLevelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderCancelLevelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderCancelLevelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderCancelLevelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderCancelLevelReq_proto_goTypes,
+ DependencyIndexes: file_BartenderCancelLevelReq_proto_depIdxs,
+ MessageInfos: file_BartenderCancelLevelReq_proto_msgTypes,
+ }.Build()
+ File_BartenderCancelLevelReq_proto = out.File
+ file_BartenderCancelLevelReq_proto_rawDesc = nil
+ file_BartenderCancelLevelReq_proto_goTypes = nil
+ file_BartenderCancelLevelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderCancelLevelRsp.pb.go b/protocol/proto/BartenderCancelLevelRsp.pb.go
new file mode 100644
index 00000000..3ad33fc5
--- /dev/null
+++ b/protocol/proto/BartenderCancelLevelRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderCancelLevelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8686
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BartenderCancelLevelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,2,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *BartenderCancelLevelRsp) Reset() {
+ *x = BartenderCancelLevelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderCancelLevelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderCancelLevelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderCancelLevelRsp) ProtoMessage() {}
+
+func (x *BartenderCancelLevelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderCancelLevelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderCancelLevelRsp.ProtoReflect.Descriptor instead.
+func (*BartenderCancelLevelRsp) Descriptor() ([]byte, []int) {
+ return file_BartenderCancelLevelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderCancelLevelRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *BartenderCancelLevelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_BartenderCancelLevelRsp_proto protoreflect.FileDescriptor
+
+var file_BartenderCancelLevelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65,
+ 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x17, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73,
+ 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderCancelLevelRsp_proto_rawDescOnce sync.Once
+ file_BartenderCancelLevelRsp_proto_rawDescData = file_BartenderCancelLevelRsp_proto_rawDesc
+)
+
+func file_BartenderCancelLevelRsp_proto_rawDescGZIP() []byte {
+ file_BartenderCancelLevelRsp_proto_rawDescOnce.Do(func() {
+ file_BartenderCancelLevelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderCancelLevelRsp_proto_rawDescData)
+ })
+ return file_BartenderCancelLevelRsp_proto_rawDescData
+}
+
+var file_BartenderCancelLevelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderCancelLevelRsp_proto_goTypes = []interface{}{
+ (*BartenderCancelLevelRsp)(nil), // 0: proto.BartenderCancelLevelRsp
+}
+var file_BartenderCancelLevelRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderCancelLevelRsp_proto_init() }
+func file_BartenderCancelLevelRsp_proto_init() {
+ if File_BartenderCancelLevelRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderCancelLevelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderCancelLevelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderCancelLevelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderCancelLevelRsp_proto_goTypes,
+ DependencyIndexes: file_BartenderCancelLevelRsp_proto_depIdxs,
+ MessageInfos: file_BartenderCancelLevelRsp_proto_msgTypes,
+ }.Build()
+ File_BartenderCancelLevelRsp_proto = out.File
+ file_BartenderCancelLevelRsp_proto_rawDesc = nil
+ file_BartenderCancelLevelRsp_proto_goTypes = nil
+ file_BartenderCancelLevelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderCancelOrderReq.pb.go b/protocol/proto/BartenderCancelOrderReq.pb.go
new file mode 100644
index 00000000..4cc1b20b
--- /dev/null
+++ b/protocol/proto/BartenderCancelOrderReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderCancelOrderReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8442
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BartenderCancelOrderReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,3,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *BartenderCancelOrderReq) Reset() {
+ *x = BartenderCancelOrderReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderCancelOrderReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderCancelOrderReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderCancelOrderReq) ProtoMessage() {}
+
+func (x *BartenderCancelOrderReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderCancelOrderReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderCancelOrderReq.ProtoReflect.Descriptor instead.
+func (*BartenderCancelOrderReq) Descriptor() ([]byte, []int) {
+ return file_BartenderCancelOrderReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderCancelOrderReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_BartenderCancelOrderReq_proto protoreflect.FileDescriptor
+
+var file_BartenderCancelOrderReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65,
+ 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x17, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderCancelOrderReq_proto_rawDescOnce sync.Once
+ file_BartenderCancelOrderReq_proto_rawDescData = file_BartenderCancelOrderReq_proto_rawDesc
+)
+
+func file_BartenderCancelOrderReq_proto_rawDescGZIP() []byte {
+ file_BartenderCancelOrderReq_proto_rawDescOnce.Do(func() {
+ file_BartenderCancelOrderReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderCancelOrderReq_proto_rawDescData)
+ })
+ return file_BartenderCancelOrderReq_proto_rawDescData
+}
+
+var file_BartenderCancelOrderReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderCancelOrderReq_proto_goTypes = []interface{}{
+ (*BartenderCancelOrderReq)(nil), // 0: proto.BartenderCancelOrderReq
+}
+var file_BartenderCancelOrderReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderCancelOrderReq_proto_init() }
+func file_BartenderCancelOrderReq_proto_init() {
+ if File_BartenderCancelOrderReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderCancelOrderReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderCancelOrderReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderCancelOrderReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderCancelOrderReq_proto_goTypes,
+ DependencyIndexes: file_BartenderCancelOrderReq_proto_depIdxs,
+ MessageInfos: file_BartenderCancelOrderReq_proto_msgTypes,
+ }.Build()
+ File_BartenderCancelOrderReq_proto = out.File
+ file_BartenderCancelOrderReq_proto_rawDesc = nil
+ file_BartenderCancelOrderReq_proto_goTypes = nil
+ file_BartenderCancelOrderReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderCancelOrderRsp.pb.go b/protocol/proto/BartenderCancelOrderRsp.pb.go
new file mode 100644
index 00000000..0d6741e6
--- /dev/null
+++ b/protocol/proto/BartenderCancelOrderRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderCancelOrderRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8837
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BartenderCancelOrderRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ QuestId uint32 `protobuf:"varint,3,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *BartenderCancelOrderRsp) Reset() {
+ *x = BartenderCancelOrderRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderCancelOrderRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderCancelOrderRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderCancelOrderRsp) ProtoMessage() {}
+
+func (x *BartenderCancelOrderRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderCancelOrderRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderCancelOrderRsp.ProtoReflect.Descriptor instead.
+func (*BartenderCancelOrderRsp) Descriptor() ([]byte, []int) {
+ return file_BartenderCancelOrderRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderCancelOrderRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BartenderCancelOrderRsp) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_BartenderCancelOrderRsp_proto protoreflect.FileDescriptor
+
+var file_BartenderCancelOrderRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65,
+ 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x17, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderCancelOrderRsp_proto_rawDescOnce sync.Once
+ file_BartenderCancelOrderRsp_proto_rawDescData = file_BartenderCancelOrderRsp_proto_rawDesc
+)
+
+func file_BartenderCancelOrderRsp_proto_rawDescGZIP() []byte {
+ file_BartenderCancelOrderRsp_proto_rawDescOnce.Do(func() {
+ file_BartenderCancelOrderRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderCancelOrderRsp_proto_rawDescData)
+ })
+ return file_BartenderCancelOrderRsp_proto_rawDescData
+}
+
+var file_BartenderCancelOrderRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderCancelOrderRsp_proto_goTypes = []interface{}{
+ (*BartenderCancelOrderRsp)(nil), // 0: proto.BartenderCancelOrderRsp
+}
+var file_BartenderCancelOrderRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderCancelOrderRsp_proto_init() }
+func file_BartenderCancelOrderRsp_proto_init() {
+ if File_BartenderCancelOrderRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderCancelOrderRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderCancelOrderRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderCancelOrderRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderCancelOrderRsp_proto_goTypes,
+ DependencyIndexes: file_BartenderCancelOrderRsp_proto_depIdxs,
+ MessageInfos: file_BartenderCancelOrderRsp_proto_msgTypes,
+ }.Build()
+ File_BartenderCancelOrderRsp_proto = out.File
+ file_BartenderCancelOrderRsp_proto_rawDesc = nil
+ file_BartenderCancelOrderRsp_proto_goTypes = nil
+ file_BartenderCancelOrderRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderCompleteOrderReq.pb.go b/protocol/proto/BartenderCompleteOrderReq.pb.go
new file mode 100644
index 00000000..e4862b1c
--- /dev/null
+++ b/protocol/proto/BartenderCompleteOrderReq.pb.go
@@ -0,0 +1,230 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderCompleteOrderReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8414
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BartenderCompleteOrderReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CupType uint32 `protobuf:"varint,14,opt,name=cup_type,json=cupType,proto3" json:"cup_type,omitempty"`
+ QteCount uint32 `protobuf:"varint,7,opt,name=qte_count,json=qteCount,proto3" json:"qte_count,omitempty"`
+ QuestId uint32 `protobuf:"varint,11,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,10,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ IsViewFormula bool `protobuf:"varint,9,opt,name=is_view_formula,json=isViewFormula,proto3" json:"is_view_formula,omitempty"`
+ OptionalOrderList []uint32 `protobuf:"varint,6,rep,packed,name=optional_order_list,json=optionalOrderList,proto3" json:"optional_order_list,omitempty"`
+ RetryCount uint32 `protobuf:"varint,3,opt,name=retry_count,json=retryCount,proto3" json:"retry_count,omitempty"`
+}
+
+func (x *BartenderCompleteOrderReq) Reset() {
+ *x = BartenderCompleteOrderReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderCompleteOrderReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderCompleteOrderReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderCompleteOrderReq) ProtoMessage() {}
+
+func (x *BartenderCompleteOrderReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderCompleteOrderReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderCompleteOrderReq.ProtoReflect.Descriptor instead.
+func (*BartenderCompleteOrderReq) Descriptor() ([]byte, []int) {
+ return file_BartenderCompleteOrderReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderCompleteOrderReq) GetCupType() uint32 {
+ if x != nil {
+ return x.CupType
+ }
+ return 0
+}
+
+func (x *BartenderCompleteOrderReq) GetQteCount() uint32 {
+ if x != nil {
+ return x.QteCount
+ }
+ return 0
+}
+
+func (x *BartenderCompleteOrderReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *BartenderCompleteOrderReq) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *BartenderCompleteOrderReq) GetIsViewFormula() bool {
+ if x != nil {
+ return x.IsViewFormula
+ }
+ return false
+}
+
+func (x *BartenderCompleteOrderReq) GetOptionalOrderList() []uint32 {
+ if x != nil {
+ return x.OptionalOrderList
+ }
+ return nil
+}
+
+func (x *BartenderCompleteOrderReq) GetRetryCount() uint32 {
+ if x != nil {
+ return x.RetryCount
+ }
+ return 0
+}
+
+var File_BartenderCompleteOrderReq_proto protoreflect.FileDescriptor
+
+var file_BartenderCompleteOrderReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
+ 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x02, 0x0a, 0x19, 0x42, 0x61,
+ 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4f,
+ 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x75, 0x70, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x70, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x71, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x71, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
+ 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f,
+ 0x76, 0x69, 0x65, 0x77, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c,
+ 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x72,
+ 0x64, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderCompleteOrderReq_proto_rawDescOnce sync.Once
+ file_BartenderCompleteOrderReq_proto_rawDescData = file_BartenderCompleteOrderReq_proto_rawDesc
+)
+
+func file_BartenderCompleteOrderReq_proto_rawDescGZIP() []byte {
+ file_BartenderCompleteOrderReq_proto_rawDescOnce.Do(func() {
+ file_BartenderCompleteOrderReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderCompleteOrderReq_proto_rawDescData)
+ })
+ return file_BartenderCompleteOrderReq_proto_rawDescData
+}
+
+var file_BartenderCompleteOrderReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderCompleteOrderReq_proto_goTypes = []interface{}{
+ (*BartenderCompleteOrderReq)(nil), // 0: proto.BartenderCompleteOrderReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_BartenderCompleteOrderReq_proto_depIdxs = []int32{
+ 1, // 0: proto.BartenderCompleteOrderReq.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BartenderCompleteOrderReq_proto_init() }
+func file_BartenderCompleteOrderReq_proto_init() {
+ if File_BartenderCompleteOrderReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderCompleteOrderReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderCompleteOrderReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderCompleteOrderReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderCompleteOrderReq_proto_goTypes,
+ DependencyIndexes: file_BartenderCompleteOrderReq_proto_depIdxs,
+ MessageInfos: file_BartenderCompleteOrderReq_proto_msgTypes,
+ }.Build()
+ File_BartenderCompleteOrderReq_proto = out.File
+ file_BartenderCompleteOrderReq_proto_rawDesc = nil
+ file_BartenderCompleteOrderReq_proto_goTypes = nil
+ file_BartenderCompleteOrderReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderCompleteOrderRsp.pb.go b/protocol/proto/BartenderCompleteOrderRsp.pb.go
new file mode 100644
index 00000000..f5bccde0
--- /dev/null
+++ b/protocol/proto/BartenderCompleteOrderRsp.pb.go
@@ -0,0 +1,212 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderCompleteOrderRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8125
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BartenderCompleteOrderRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNew bool `protobuf:"varint,10,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"`
+ FinishOrderId uint32 `protobuf:"varint,3,opt,name=finish_order_id,json=finishOrderId,proto3" json:"finish_order_id,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FormulaId uint32 `protobuf:"varint,6,opt,name=formula_id,json=formulaId,proto3" json:"formula_id,omitempty"`
+ QuestId uint32 `protobuf:"varint,15,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ AffixList []uint32 `protobuf:"varint,2,rep,packed,name=affix_list,json=affixList,proto3" json:"affix_list,omitempty"`
+}
+
+func (x *BartenderCompleteOrderRsp) Reset() {
+ *x = BartenderCompleteOrderRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderCompleteOrderRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderCompleteOrderRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderCompleteOrderRsp) ProtoMessage() {}
+
+func (x *BartenderCompleteOrderRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderCompleteOrderRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderCompleteOrderRsp.ProtoReflect.Descriptor instead.
+func (*BartenderCompleteOrderRsp) Descriptor() ([]byte, []int) {
+ return file_BartenderCompleteOrderRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderCompleteOrderRsp) GetIsNew() bool {
+ if x != nil {
+ return x.IsNew
+ }
+ return false
+}
+
+func (x *BartenderCompleteOrderRsp) GetFinishOrderId() uint32 {
+ if x != nil {
+ return x.FinishOrderId
+ }
+ return 0
+}
+
+func (x *BartenderCompleteOrderRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BartenderCompleteOrderRsp) GetFormulaId() uint32 {
+ if x != nil {
+ return x.FormulaId
+ }
+ return 0
+}
+
+func (x *BartenderCompleteOrderRsp) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *BartenderCompleteOrderRsp) GetAffixList() []uint32 {
+ if x != nil {
+ return x.AffixList
+ }
+ return nil
+}
+
+var File_BartenderCompleteOrderRsp_proto protoreflect.FileDescriptor
+
+var file_BartenderCompleteOrderRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c,
+ 0x65, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x72,
+ 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x72,
+ 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x26, 0x0a,
+ 0x0f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4f, 0x72,
+ 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x66, 0x66,
+ 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x61,
+ 0x66, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderCompleteOrderRsp_proto_rawDescOnce sync.Once
+ file_BartenderCompleteOrderRsp_proto_rawDescData = file_BartenderCompleteOrderRsp_proto_rawDesc
+)
+
+func file_BartenderCompleteOrderRsp_proto_rawDescGZIP() []byte {
+ file_BartenderCompleteOrderRsp_proto_rawDescOnce.Do(func() {
+ file_BartenderCompleteOrderRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderCompleteOrderRsp_proto_rawDescData)
+ })
+ return file_BartenderCompleteOrderRsp_proto_rawDescData
+}
+
+var file_BartenderCompleteOrderRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderCompleteOrderRsp_proto_goTypes = []interface{}{
+ (*BartenderCompleteOrderRsp)(nil), // 0: proto.BartenderCompleteOrderRsp
+}
+var file_BartenderCompleteOrderRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderCompleteOrderRsp_proto_init() }
+func file_BartenderCompleteOrderRsp_proto_init() {
+ if File_BartenderCompleteOrderRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderCompleteOrderRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderCompleteOrderRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderCompleteOrderRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderCompleteOrderRsp_proto_goTypes,
+ DependencyIndexes: file_BartenderCompleteOrderRsp_proto_depIdxs,
+ MessageInfos: file_BartenderCompleteOrderRsp_proto_msgTypes,
+ }.Build()
+ File_BartenderCompleteOrderRsp_proto = out.File
+ file_BartenderCompleteOrderRsp_proto_rawDesc = nil
+ file_BartenderCompleteOrderRsp_proto_goTypes = nil
+ file_BartenderCompleteOrderRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderFinishLevelReq.pb.go b/protocol/proto/BartenderFinishLevelReq.pb.go
new file mode 100644
index 00000000..fe1b425b
--- /dev/null
+++ b/protocol/proto/BartenderFinishLevelReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderFinishLevelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8227
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BartenderFinishLevelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,6,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *BartenderFinishLevelReq) Reset() {
+ *x = BartenderFinishLevelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderFinishLevelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderFinishLevelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderFinishLevelReq) ProtoMessage() {}
+
+func (x *BartenderFinishLevelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderFinishLevelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderFinishLevelReq.ProtoReflect.Descriptor instead.
+func (*BartenderFinishLevelReq) Descriptor() ([]byte, []int) {
+ return file_BartenderFinishLevelReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderFinishLevelReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_BartenderFinishLevelReq_proto protoreflect.FileDescriptor
+
+var file_BartenderFinishLevelReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x17, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderFinishLevelReq_proto_rawDescOnce sync.Once
+ file_BartenderFinishLevelReq_proto_rawDescData = file_BartenderFinishLevelReq_proto_rawDesc
+)
+
+func file_BartenderFinishLevelReq_proto_rawDescGZIP() []byte {
+ file_BartenderFinishLevelReq_proto_rawDescOnce.Do(func() {
+ file_BartenderFinishLevelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderFinishLevelReq_proto_rawDescData)
+ })
+ return file_BartenderFinishLevelReq_proto_rawDescData
+}
+
+var file_BartenderFinishLevelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderFinishLevelReq_proto_goTypes = []interface{}{
+ (*BartenderFinishLevelReq)(nil), // 0: proto.BartenderFinishLevelReq
+}
+var file_BartenderFinishLevelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderFinishLevelReq_proto_init() }
+func file_BartenderFinishLevelReq_proto_init() {
+ if File_BartenderFinishLevelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderFinishLevelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderFinishLevelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderFinishLevelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderFinishLevelReq_proto_goTypes,
+ DependencyIndexes: file_BartenderFinishLevelReq_proto_depIdxs,
+ MessageInfos: file_BartenderFinishLevelReq_proto_msgTypes,
+ }.Build()
+ File_BartenderFinishLevelReq_proto = out.File
+ file_BartenderFinishLevelReq_proto_rawDesc = nil
+ file_BartenderFinishLevelReq_proto_goTypes = nil
+ file_BartenderFinishLevelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderFinishLevelRsp.pb.go b/protocol/proto/BartenderFinishLevelRsp.pb.go
new file mode 100644
index 00000000..d2101406
--- /dev/null
+++ b/protocol/proto/BartenderFinishLevelRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderFinishLevelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8093
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BartenderFinishLevelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ LevelId uint32 `protobuf:"varint,1,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *BartenderFinishLevelRsp) Reset() {
+ *x = BartenderFinishLevelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderFinishLevelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderFinishLevelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderFinishLevelRsp) ProtoMessage() {}
+
+func (x *BartenderFinishLevelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderFinishLevelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderFinishLevelRsp.ProtoReflect.Descriptor instead.
+func (*BartenderFinishLevelRsp) Descriptor() ([]byte, []int) {
+ return file_BartenderFinishLevelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderFinishLevelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BartenderFinishLevelRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_BartenderFinishLevelRsp_proto protoreflect.FileDescriptor
+
+var file_BartenderFinishLevelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x17, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderFinishLevelRsp_proto_rawDescOnce sync.Once
+ file_BartenderFinishLevelRsp_proto_rawDescData = file_BartenderFinishLevelRsp_proto_rawDesc
+)
+
+func file_BartenderFinishLevelRsp_proto_rawDescGZIP() []byte {
+ file_BartenderFinishLevelRsp_proto_rawDescOnce.Do(func() {
+ file_BartenderFinishLevelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderFinishLevelRsp_proto_rawDescData)
+ })
+ return file_BartenderFinishLevelRsp_proto_rawDescData
+}
+
+var file_BartenderFinishLevelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderFinishLevelRsp_proto_goTypes = []interface{}{
+ (*BartenderFinishLevelRsp)(nil), // 0: proto.BartenderFinishLevelRsp
+}
+var file_BartenderFinishLevelRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderFinishLevelRsp_proto_init() }
+func file_BartenderFinishLevelRsp_proto_init() {
+ if File_BartenderFinishLevelRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderFinishLevelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderFinishLevelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderFinishLevelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderFinishLevelRsp_proto_goTypes,
+ DependencyIndexes: file_BartenderFinishLevelRsp_proto_depIdxs,
+ MessageInfos: file_BartenderFinishLevelRsp_proto_msgTypes,
+ }.Build()
+ File_BartenderFinishLevelRsp_proto = out.File
+ file_BartenderFinishLevelRsp_proto_rawDesc = nil
+ file_BartenderFinishLevelRsp_proto_goTypes = nil
+ file_BartenderFinishLevelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderGetFormulaReq.pb.go b/protocol/proto/BartenderGetFormulaReq.pb.go
new file mode 100644
index 00000000..d4c59064
--- /dev/null
+++ b/protocol/proto/BartenderGetFormulaReq.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderGetFormulaReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8462
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BartenderGetFormulaReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*ItemParam `protobuf:"bytes,7,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ QuestId uint32 `protobuf:"varint,4,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *BartenderGetFormulaReq) Reset() {
+ *x = BartenderGetFormulaReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderGetFormulaReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderGetFormulaReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderGetFormulaReq) ProtoMessage() {}
+
+func (x *BartenderGetFormulaReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderGetFormulaReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderGetFormulaReq.ProtoReflect.Descriptor instead.
+func (*BartenderGetFormulaReq) Descriptor() ([]byte, []int) {
+ return file_BartenderGetFormulaReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderGetFormulaReq) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *BartenderGetFormulaReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_BartenderGetFormulaReq_proto protoreflect.FileDescriptor
+
+var file_BartenderGetFormulaReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6f,
+ 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x16, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71,
+ 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderGetFormulaReq_proto_rawDescOnce sync.Once
+ file_BartenderGetFormulaReq_proto_rawDescData = file_BartenderGetFormulaReq_proto_rawDesc
+)
+
+func file_BartenderGetFormulaReq_proto_rawDescGZIP() []byte {
+ file_BartenderGetFormulaReq_proto_rawDescOnce.Do(func() {
+ file_BartenderGetFormulaReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderGetFormulaReq_proto_rawDescData)
+ })
+ return file_BartenderGetFormulaReq_proto_rawDescData
+}
+
+var file_BartenderGetFormulaReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderGetFormulaReq_proto_goTypes = []interface{}{
+ (*BartenderGetFormulaReq)(nil), // 0: proto.BartenderGetFormulaReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_BartenderGetFormulaReq_proto_depIdxs = []int32{
+ 1, // 0: proto.BartenderGetFormulaReq.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BartenderGetFormulaReq_proto_init() }
+func file_BartenderGetFormulaReq_proto_init() {
+ if File_BartenderGetFormulaReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderGetFormulaReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderGetFormulaReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderGetFormulaReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderGetFormulaReq_proto_goTypes,
+ DependencyIndexes: file_BartenderGetFormulaReq_proto_depIdxs,
+ MessageInfos: file_BartenderGetFormulaReq_proto_msgTypes,
+ }.Build()
+ File_BartenderGetFormulaReq_proto = out.File
+ file_BartenderGetFormulaReq_proto_rawDesc = nil
+ file_BartenderGetFormulaReq_proto_goTypes = nil
+ file_BartenderGetFormulaReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderGetFormulaRsp.pb.go b/protocol/proto/BartenderGetFormulaRsp.pb.go
new file mode 100644
index 00000000..f7b3c57e
--- /dev/null
+++ b/protocol/proto/BartenderGetFormulaRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderGetFormulaRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8842
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BartenderGetFormulaRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNew bool `protobuf:"varint,12,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AffixList []uint32 `protobuf:"varint,8,rep,packed,name=affix_list,json=affixList,proto3" json:"affix_list,omitempty"`
+ FormulaId uint32 `protobuf:"varint,11,opt,name=formula_id,json=formulaId,proto3" json:"formula_id,omitempty"`
+}
+
+func (x *BartenderGetFormulaRsp) Reset() {
+ *x = BartenderGetFormulaRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderGetFormulaRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderGetFormulaRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderGetFormulaRsp) ProtoMessage() {}
+
+func (x *BartenderGetFormulaRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderGetFormulaRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderGetFormulaRsp.ProtoReflect.Descriptor instead.
+func (*BartenderGetFormulaRsp) Descriptor() ([]byte, []int) {
+ return file_BartenderGetFormulaRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderGetFormulaRsp) GetIsNew() bool {
+ if x != nil {
+ return x.IsNew
+ }
+ return false
+}
+
+func (x *BartenderGetFormulaRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BartenderGetFormulaRsp) GetAffixList() []uint32 {
+ if x != nil {
+ return x.AffixList
+ }
+ return nil
+}
+
+func (x *BartenderGetFormulaRsp) GetFormulaId() uint32 {
+ if x != nil {
+ return x.FormulaId
+ }
+ return 0
+}
+
+var File_BartenderGetFormulaRsp_proto protoreflect.FileDescriptor
+
+var file_BartenderGetFormulaRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6f,
+ 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x73, 0x70,
+ 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderGetFormulaRsp_proto_rawDescOnce sync.Once
+ file_BartenderGetFormulaRsp_proto_rawDescData = file_BartenderGetFormulaRsp_proto_rawDesc
+)
+
+func file_BartenderGetFormulaRsp_proto_rawDescGZIP() []byte {
+ file_BartenderGetFormulaRsp_proto_rawDescOnce.Do(func() {
+ file_BartenderGetFormulaRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderGetFormulaRsp_proto_rawDescData)
+ })
+ return file_BartenderGetFormulaRsp_proto_rawDescData
+}
+
+var file_BartenderGetFormulaRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderGetFormulaRsp_proto_goTypes = []interface{}{
+ (*BartenderGetFormulaRsp)(nil), // 0: proto.BartenderGetFormulaRsp
+}
+var file_BartenderGetFormulaRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderGetFormulaRsp_proto_init() }
+func file_BartenderGetFormulaRsp_proto_init() {
+ if File_BartenderGetFormulaRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderGetFormulaRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderGetFormulaRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderGetFormulaRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderGetFormulaRsp_proto_goTypes,
+ DependencyIndexes: file_BartenderGetFormulaRsp_proto_depIdxs,
+ MessageInfos: file_BartenderGetFormulaRsp_proto_msgTypes,
+ }.Build()
+ File_BartenderGetFormulaRsp_proto = out.File
+ file_BartenderGetFormulaRsp_proto_rawDesc = nil
+ file_BartenderGetFormulaRsp_proto_goTypes = nil
+ file_BartenderGetFormulaRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderLevelInfo.pb.go b/protocol/proto/BartenderLevelInfo.pb.go
new file mode 100644
index 00000000..95a76629
--- /dev/null
+++ b/protocol/proto/BartenderLevelInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderLevelInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BartenderLevelInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinish bool `protobuf:"varint,7,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ MaxScore uint32 `protobuf:"varint,9,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ Id uint32 `protobuf:"varint,4,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *BartenderLevelInfo) Reset() {
+ *x = BartenderLevelInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderLevelInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderLevelInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderLevelInfo) ProtoMessage() {}
+
+func (x *BartenderLevelInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderLevelInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderLevelInfo.ProtoReflect.Descriptor instead.
+func (*BartenderLevelInfo) Descriptor() ([]byte, []int) {
+ return file_BartenderLevelInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderLevelInfo) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *BartenderLevelInfo) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *BartenderLevelInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_BartenderLevelInfo_proto protoreflect.FileDescriptor
+
+var file_BartenderLevelInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x5e, 0x0a, 0x12, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72,
+ 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderLevelInfo_proto_rawDescOnce sync.Once
+ file_BartenderLevelInfo_proto_rawDescData = file_BartenderLevelInfo_proto_rawDesc
+)
+
+func file_BartenderLevelInfo_proto_rawDescGZIP() []byte {
+ file_BartenderLevelInfo_proto_rawDescOnce.Do(func() {
+ file_BartenderLevelInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderLevelInfo_proto_rawDescData)
+ })
+ return file_BartenderLevelInfo_proto_rawDescData
+}
+
+var file_BartenderLevelInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderLevelInfo_proto_goTypes = []interface{}{
+ (*BartenderLevelInfo)(nil), // 0: proto.BartenderLevelInfo
+}
+var file_BartenderLevelInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderLevelInfo_proto_init() }
+func file_BartenderLevelInfo_proto_init() {
+ if File_BartenderLevelInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderLevelInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderLevelInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderLevelInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderLevelInfo_proto_goTypes,
+ DependencyIndexes: file_BartenderLevelInfo_proto_depIdxs,
+ MessageInfos: file_BartenderLevelInfo_proto_msgTypes,
+ }.Build()
+ File_BartenderLevelInfo_proto = out.File
+ file_BartenderLevelInfo_proto_rawDesc = nil
+ file_BartenderLevelInfo_proto_goTypes = nil
+ file_BartenderLevelInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderLevelProgressNotify.pb.go b/protocol/proto/BartenderLevelProgressNotify.pb.go
new file mode 100644
index 00000000..487c4afd
--- /dev/null
+++ b/protocol/proto/BartenderLevelProgressNotify.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderLevelProgressNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8756
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BartenderLevelProgressNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,9,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ IsFinish bool `protobuf:"varint,3,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ LevelId uint32 `protobuf:"varint,15,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Score uint32 `protobuf:"varint,8,opt,name=score,proto3" json:"score,omitempty"`
+}
+
+func (x *BartenderLevelProgressNotify) Reset() {
+ *x = BartenderLevelProgressNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderLevelProgressNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderLevelProgressNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderLevelProgressNotify) ProtoMessage() {}
+
+func (x *BartenderLevelProgressNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderLevelProgressNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderLevelProgressNotify.ProtoReflect.Descriptor instead.
+func (*BartenderLevelProgressNotify) Descriptor() ([]byte, []int) {
+ return file_BartenderLevelProgressNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderLevelProgressNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *BartenderLevelProgressNotify) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *BartenderLevelProgressNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *BartenderLevelProgressNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+var File_BartenderLevelProgressNotify_proto protoreflect.FileDescriptor
+
+var file_BartenderLevelProgressNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x1c,
+ 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x50, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d,
+ 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x19, 0x0a,
+ 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_BartenderLevelProgressNotify_proto_rawDescOnce sync.Once
+ file_BartenderLevelProgressNotify_proto_rawDescData = file_BartenderLevelProgressNotify_proto_rawDesc
+)
+
+func file_BartenderLevelProgressNotify_proto_rawDescGZIP() []byte {
+ file_BartenderLevelProgressNotify_proto_rawDescOnce.Do(func() {
+ file_BartenderLevelProgressNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderLevelProgressNotify_proto_rawDescData)
+ })
+ return file_BartenderLevelProgressNotify_proto_rawDescData
+}
+
+var file_BartenderLevelProgressNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderLevelProgressNotify_proto_goTypes = []interface{}{
+ (*BartenderLevelProgressNotify)(nil), // 0: proto.BartenderLevelProgressNotify
+}
+var file_BartenderLevelProgressNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderLevelProgressNotify_proto_init() }
+func file_BartenderLevelProgressNotify_proto_init() {
+ if File_BartenderLevelProgressNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderLevelProgressNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderLevelProgressNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderLevelProgressNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderLevelProgressNotify_proto_goTypes,
+ DependencyIndexes: file_BartenderLevelProgressNotify_proto_depIdxs,
+ MessageInfos: file_BartenderLevelProgressNotify_proto_msgTypes,
+ }.Build()
+ File_BartenderLevelProgressNotify_proto = out.File
+ file_BartenderLevelProgressNotify_proto_rawDesc = nil
+ file_BartenderLevelProgressNotify_proto_goTypes = nil
+ file_BartenderLevelProgressNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderStartLevelReq.pb.go b/protocol/proto/BartenderStartLevelReq.pb.go
new file mode 100644
index 00000000..f7de130c
--- /dev/null
+++ b/protocol/proto/BartenderStartLevelReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderStartLevelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8507
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BartenderStartLevelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,5,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *BartenderStartLevelReq) Reset() {
+ *x = BartenderStartLevelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderStartLevelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderStartLevelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderStartLevelReq) ProtoMessage() {}
+
+func (x *BartenderStartLevelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderStartLevelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderStartLevelReq.ProtoReflect.Descriptor instead.
+func (*BartenderStartLevelReq) Descriptor() ([]byte, []int) {
+ return file_BartenderStartLevelReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderStartLevelReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_BartenderStartLevelReq_proto protoreflect.FileDescriptor
+
+var file_BartenderStartLevelReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x16, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12,
+ 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderStartLevelReq_proto_rawDescOnce sync.Once
+ file_BartenderStartLevelReq_proto_rawDescData = file_BartenderStartLevelReq_proto_rawDesc
+)
+
+func file_BartenderStartLevelReq_proto_rawDescGZIP() []byte {
+ file_BartenderStartLevelReq_proto_rawDescOnce.Do(func() {
+ file_BartenderStartLevelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderStartLevelReq_proto_rawDescData)
+ })
+ return file_BartenderStartLevelReq_proto_rawDescData
+}
+
+var file_BartenderStartLevelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderStartLevelReq_proto_goTypes = []interface{}{
+ (*BartenderStartLevelReq)(nil), // 0: proto.BartenderStartLevelReq
+}
+var file_BartenderStartLevelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderStartLevelReq_proto_init() }
+func file_BartenderStartLevelReq_proto_init() {
+ if File_BartenderStartLevelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderStartLevelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderStartLevelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderStartLevelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderStartLevelReq_proto_goTypes,
+ DependencyIndexes: file_BartenderStartLevelReq_proto_depIdxs,
+ MessageInfos: file_BartenderStartLevelReq_proto_msgTypes,
+ }.Build()
+ File_BartenderStartLevelReq_proto = out.File
+ file_BartenderStartLevelReq_proto_rawDesc = nil
+ file_BartenderStartLevelReq_proto_goTypes = nil
+ file_BartenderStartLevelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderStartLevelRsp.pb.go b/protocol/proto/BartenderStartLevelRsp.pb.go
new file mode 100644
index 00000000..25c24e77
--- /dev/null
+++ b/protocol/proto/BartenderStartLevelRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderStartLevelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8402
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BartenderStartLevelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OrderList []uint32 `protobuf:"varint,13,rep,packed,name=order_list,json=orderList,proto3" json:"order_list,omitempty"`
+ LevelId uint32 `protobuf:"varint,10,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Time uint32 `protobuf:"varint,8,opt,name=time,proto3" json:"time,omitempty"`
+}
+
+func (x *BartenderStartLevelRsp) Reset() {
+ *x = BartenderStartLevelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderStartLevelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderStartLevelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderStartLevelRsp) ProtoMessage() {}
+
+func (x *BartenderStartLevelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderStartLevelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderStartLevelRsp.ProtoReflect.Descriptor instead.
+func (*BartenderStartLevelRsp) Descriptor() ([]byte, []int) {
+ return file_BartenderStartLevelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderStartLevelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BartenderStartLevelRsp) GetOrderList() []uint32 {
+ if x != nil {
+ return x.OrderList
+ }
+ return nil
+}
+
+func (x *BartenderStartLevelRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *BartenderStartLevelRsp) GetTime() uint32 {
+ if x != nil {
+ return x.Time
+ }
+ return 0
+}
+
+var File_BartenderStartLevelRsp_proto protoreflect.FileDescriptor
+
+var file_BartenderStartLevelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72,
+ 0x64, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09,
+ 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderStartLevelRsp_proto_rawDescOnce sync.Once
+ file_BartenderStartLevelRsp_proto_rawDescData = file_BartenderStartLevelRsp_proto_rawDesc
+)
+
+func file_BartenderStartLevelRsp_proto_rawDescGZIP() []byte {
+ file_BartenderStartLevelRsp_proto_rawDescOnce.Do(func() {
+ file_BartenderStartLevelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderStartLevelRsp_proto_rawDescData)
+ })
+ return file_BartenderStartLevelRsp_proto_rawDescData
+}
+
+var file_BartenderStartLevelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderStartLevelRsp_proto_goTypes = []interface{}{
+ (*BartenderStartLevelRsp)(nil), // 0: proto.BartenderStartLevelRsp
+}
+var file_BartenderStartLevelRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderStartLevelRsp_proto_init() }
+func file_BartenderStartLevelRsp_proto_init() {
+ if File_BartenderStartLevelRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderStartLevelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderStartLevelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderStartLevelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderStartLevelRsp_proto_goTypes,
+ DependencyIndexes: file_BartenderStartLevelRsp_proto_depIdxs,
+ MessageInfos: file_BartenderStartLevelRsp_proto_msgTypes,
+ }.Build()
+ File_BartenderStartLevelRsp_proto = out.File
+ file_BartenderStartLevelRsp_proto_rawDesc = nil
+ file_BartenderStartLevelRsp_proto_goTypes = nil
+ file_BartenderStartLevelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BartenderTaskInfo.pb.go b/protocol/proto/BartenderTaskInfo.pb.go
new file mode 100644
index 00000000..511d6fb2
--- /dev/null
+++ b/protocol/proto/BartenderTaskInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BartenderTaskInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BartenderTaskInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ IsFinish bool `protobuf:"varint,14,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+}
+
+func (x *BartenderTaskInfo) Reset() {
+ *x = BartenderTaskInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BartenderTaskInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BartenderTaskInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BartenderTaskInfo) ProtoMessage() {}
+
+func (x *BartenderTaskInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BartenderTaskInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BartenderTaskInfo.ProtoReflect.Descriptor instead.
+func (*BartenderTaskInfo) Descriptor() ([]byte, []int) {
+ return file_BartenderTaskInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BartenderTaskInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *BartenderTaskInfo) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+var File_BartenderTaskInfo_proto protoreflect.FileDescriptor
+
+var file_BartenderTaskInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x40, 0x0a, 0x11, 0x42, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x54, 0x61, 0x73,
+ 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BartenderTaskInfo_proto_rawDescOnce sync.Once
+ file_BartenderTaskInfo_proto_rawDescData = file_BartenderTaskInfo_proto_rawDesc
+)
+
+func file_BartenderTaskInfo_proto_rawDescGZIP() []byte {
+ file_BartenderTaskInfo_proto_rawDescOnce.Do(func() {
+ file_BartenderTaskInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BartenderTaskInfo_proto_rawDescData)
+ })
+ return file_BartenderTaskInfo_proto_rawDescData
+}
+
+var file_BartenderTaskInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BartenderTaskInfo_proto_goTypes = []interface{}{
+ (*BartenderTaskInfo)(nil), // 0: proto.BartenderTaskInfo
+}
+var file_BartenderTaskInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BartenderTaskInfo_proto_init() }
+func file_BartenderTaskInfo_proto_init() {
+ if File_BartenderTaskInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BartenderTaskInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BartenderTaskInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BartenderTaskInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BartenderTaskInfo_proto_goTypes,
+ DependencyIndexes: file_BartenderTaskInfo_proto_depIdxs,
+ MessageInfos: file_BartenderTaskInfo_proto_msgTypes,
+ }.Build()
+ File_BartenderTaskInfo_proto = out.File
+ file_BartenderTaskInfo_proto_rawDesc = nil
+ file_BartenderTaskInfo_proto_goTypes = nil
+ file_BartenderTaskInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassAllDataNotify.pb.go b/protocol/proto/BattlePassAllDataNotify.pb.go
new file mode 100644
index 00000000..1c2c74cf
--- /dev/null
+++ b/protocol/proto/BattlePassAllDataNotify.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassAllDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2626
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BattlePassAllDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HaveCurSchedule bool `protobuf:"varint,2,opt,name=have_cur_schedule,json=haveCurSchedule,proto3" json:"have_cur_schedule,omitempty"`
+ MissionList []*BattlePassMission `protobuf:"bytes,4,rep,name=mission_list,json=missionList,proto3" json:"mission_list,omitempty"`
+ CurSchedule *BattlePassSchedule `protobuf:"bytes,1,opt,name=cur_schedule,json=curSchedule,proto3" json:"cur_schedule,omitempty"`
+}
+
+func (x *BattlePassAllDataNotify) Reset() {
+ *x = BattlePassAllDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassAllDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassAllDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassAllDataNotify) ProtoMessage() {}
+
+func (x *BattlePassAllDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassAllDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassAllDataNotify.ProtoReflect.Descriptor instead.
+func (*BattlePassAllDataNotify) Descriptor() ([]byte, []int) {
+ return file_BattlePassAllDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassAllDataNotify) GetHaveCurSchedule() bool {
+ if x != nil {
+ return x.HaveCurSchedule
+ }
+ return false
+}
+
+func (x *BattlePassAllDataNotify) GetMissionList() []*BattlePassMission {
+ if x != nil {
+ return x.MissionList
+ }
+ return nil
+}
+
+func (x *BattlePassAllDataNotify) GetCurSchedule() *BattlePassSchedule {
+ if x != nil {
+ return x.CurSchedule
+ }
+ return nil
+}
+
+var File_BattlePassAllDataNotify_proto protoreflect.FileDescriptor
+
+var file_BattlePassAllDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x44,
+ 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61,
+ 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x18, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x42, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x63, 0x75,
+ 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0f, 0x68, 0x61, 0x76, 0x65, 0x43, 0x75, 0x72, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c,
+ 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74,
+ 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52,
+ 0x0b, 0x63, 0x75, 0x72, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassAllDataNotify_proto_rawDescOnce sync.Once
+ file_BattlePassAllDataNotify_proto_rawDescData = file_BattlePassAllDataNotify_proto_rawDesc
+)
+
+func file_BattlePassAllDataNotify_proto_rawDescGZIP() []byte {
+ file_BattlePassAllDataNotify_proto_rawDescOnce.Do(func() {
+ file_BattlePassAllDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassAllDataNotify_proto_rawDescData)
+ })
+ return file_BattlePassAllDataNotify_proto_rawDescData
+}
+
+var file_BattlePassAllDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassAllDataNotify_proto_goTypes = []interface{}{
+ (*BattlePassAllDataNotify)(nil), // 0: proto.BattlePassAllDataNotify
+ (*BattlePassMission)(nil), // 1: proto.BattlePassMission
+ (*BattlePassSchedule)(nil), // 2: proto.BattlePassSchedule
+}
+var file_BattlePassAllDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BattlePassAllDataNotify.mission_list:type_name -> proto.BattlePassMission
+ 2, // 1: proto.BattlePassAllDataNotify.cur_schedule:type_name -> proto.BattlePassSchedule
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassAllDataNotify_proto_init() }
+func file_BattlePassAllDataNotify_proto_init() {
+ if File_BattlePassAllDataNotify_proto != nil {
+ return
+ }
+ file_BattlePassMission_proto_init()
+ file_BattlePassSchedule_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassAllDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassAllDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassAllDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassAllDataNotify_proto_goTypes,
+ DependencyIndexes: file_BattlePassAllDataNotify_proto_depIdxs,
+ MessageInfos: file_BattlePassAllDataNotify_proto_msgTypes,
+ }.Build()
+ File_BattlePassAllDataNotify_proto = out.File
+ file_BattlePassAllDataNotify_proto_rawDesc = nil
+ file_BattlePassAllDataNotify_proto_goTypes = nil
+ file_BattlePassAllDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassBuySuccNotify.pb.go b/protocol/proto/BattlePassBuySuccNotify.pb.go
new file mode 100644
index 00000000..9d17fc8c
--- /dev/null
+++ b/protocol/proto/BattlePassBuySuccNotify.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassBuySuccNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2614
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BattlePassBuySuccNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,4,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ProductPlayType uint32 `protobuf:"varint,11,opt,name=product_play_type,json=productPlayType,proto3" json:"product_play_type,omitempty"`
+ AddPoint uint32 `protobuf:"varint,12,opt,name=add_point,json=addPoint,proto3" json:"add_point,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,9,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *BattlePassBuySuccNotify) Reset() {
+ *x = BattlePassBuySuccNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassBuySuccNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassBuySuccNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassBuySuccNotify) ProtoMessage() {}
+
+func (x *BattlePassBuySuccNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassBuySuccNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassBuySuccNotify.ProtoReflect.Descriptor instead.
+func (*BattlePassBuySuccNotify) Descriptor() ([]byte, []int) {
+ return file_BattlePassBuySuccNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassBuySuccNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *BattlePassBuySuccNotify) GetProductPlayType() uint32 {
+ if x != nil {
+ return x.ProductPlayType
+ }
+ return 0
+}
+
+func (x *BattlePassBuySuccNotify) GetAddPoint() uint32 {
+ if x != nil {
+ return x.AddPoint
+ }
+ return 0
+}
+
+func (x *BattlePassBuySuccNotify) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_BattlePassBuySuccNotify_proto protoreflect.FileDescriptor
+
+var file_BattlePassBuySuccNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x42, 0x75, 0x79, 0x53,
+ 0x75, 0x63, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x42, 0x75, 0x79, 0x53, 0x75, 0x63, 0x63, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
+ 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x64, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2d, 0x0a,
+ 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassBuySuccNotify_proto_rawDescOnce sync.Once
+ file_BattlePassBuySuccNotify_proto_rawDescData = file_BattlePassBuySuccNotify_proto_rawDesc
+)
+
+func file_BattlePassBuySuccNotify_proto_rawDescGZIP() []byte {
+ file_BattlePassBuySuccNotify_proto_rawDescOnce.Do(func() {
+ file_BattlePassBuySuccNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassBuySuccNotify_proto_rawDescData)
+ })
+ return file_BattlePassBuySuccNotify_proto_rawDescData
+}
+
+var file_BattlePassBuySuccNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassBuySuccNotify_proto_goTypes = []interface{}{
+ (*BattlePassBuySuccNotify)(nil), // 0: proto.BattlePassBuySuccNotify
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_BattlePassBuySuccNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BattlePassBuySuccNotify.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassBuySuccNotify_proto_init() }
+func file_BattlePassBuySuccNotify_proto_init() {
+ if File_BattlePassBuySuccNotify_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassBuySuccNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassBuySuccNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassBuySuccNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassBuySuccNotify_proto_goTypes,
+ DependencyIndexes: file_BattlePassBuySuccNotify_proto_depIdxs,
+ MessageInfos: file_BattlePassBuySuccNotify_proto_msgTypes,
+ }.Build()
+ File_BattlePassBuySuccNotify_proto = out.File
+ file_BattlePassBuySuccNotify_proto_rawDesc = nil
+ file_BattlePassBuySuccNotify_proto_goTypes = nil
+ file_BattlePassBuySuccNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassCurScheduleUpdateNotify.pb.go b/protocol/proto/BattlePassCurScheduleUpdateNotify.pb.go
new file mode 100644
index 00000000..7b0346a6
--- /dev/null
+++ b/protocol/proto/BattlePassCurScheduleUpdateNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassCurScheduleUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2607
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BattlePassCurScheduleUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HaveCurSchedule bool `protobuf:"varint,11,opt,name=have_cur_schedule,json=haveCurSchedule,proto3" json:"have_cur_schedule,omitempty"`
+ CurSchedule *BattlePassSchedule `protobuf:"bytes,1,opt,name=cur_schedule,json=curSchedule,proto3" json:"cur_schedule,omitempty"`
+}
+
+func (x *BattlePassCurScheduleUpdateNotify) Reset() {
+ *x = BattlePassCurScheduleUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassCurScheduleUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassCurScheduleUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassCurScheduleUpdateNotify) ProtoMessage() {}
+
+func (x *BattlePassCurScheduleUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassCurScheduleUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassCurScheduleUpdateNotify.ProtoReflect.Descriptor instead.
+func (*BattlePassCurScheduleUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_BattlePassCurScheduleUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassCurScheduleUpdateNotify) GetHaveCurSchedule() bool {
+ if x != nil {
+ return x.HaveCurSchedule
+ }
+ return false
+}
+
+func (x *BattlePassCurScheduleUpdateNotify) GetCurSchedule() *BattlePassSchedule {
+ if x != nil {
+ return x.CurSchedule
+ }
+ return nil
+}
+
+var File_BattlePassCurScheduleUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_BattlePassCurScheduleUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x43, 0x75, 0x72, 0x53,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x18, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x21, 0x42,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x43, 0x75, 0x72, 0x53, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x76,
+ 0x65, 0x43, 0x75, 0x72, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x0c,
+ 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x50, 0x61, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x0b, 0x63,
+ 0x75, 0x72, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassCurScheduleUpdateNotify_proto_rawDescOnce sync.Once
+ file_BattlePassCurScheduleUpdateNotify_proto_rawDescData = file_BattlePassCurScheduleUpdateNotify_proto_rawDesc
+)
+
+func file_BattlePassCurScheduleUpdateNotify_proto_rawDescGZIP() []byte {
+ file_BattlePassCurScheduleUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_BattlePassCurScheduleUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassCurScheduleUpdateNotify_proto_rawDescData)
+ })
+ return file_BattlePassCurScheduleUpdateNotify_proto_rawDescData
+}
+
+var file_BattlePassCurScheduleUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassCurScheduleUpdateNotify_proto_goTypes = []interface{}{
+ (*BattlePassCurScheduleUpdateNotify)(nil), // 0: proto.BattlePassCurScheduleUpdateNotify
+ (*BattlePassSchedule)(nil), // 1: proto.BattlePassSchedule
+}
+var file_BattlePassCurScheduleUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BattlePassCurScheduleUpdateNotify.cur_schedule:type_name -> proto.BattlePassSchedule
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassCurScheduleUpdateNotify_proto_init() }
+func file_BattlePassCurScheduleUpdateNotify_proto_init() {
+ if File_BattlePassCurScheduleUpdateNotify_proto != nil {
+ return
+ }
+ file_BattlePassSchedule_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassCurScheduleUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassCurScheduleUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassCurScheduleUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassCurScheduleUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_BattlePassCurScheduleUpdateNotify_proto_depIdxs,
+ MessageInfos: file_BattlePassCurScheduleUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_BattlePassCurScheduleUpdateNotify_proto = out.File
+ file_BattlePassCurScheduleUpdateNotify_proto_rawDesc = nil
+ file_BattlePassCurScheduleUpdateNotify_proto_goTypes = nil
+ file_BattlePassCurScheduleUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassCycle.pb.go b/protocol/proto/BattlePassCycle.pb.go
new file mode 100644
index 00000000..bd5b91ed
--- /dev/null
+++ b/protocol/proto/BattlePassCycle.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassCycle.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BattlePassCycle struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CycleIdx uint32 `protobuf:"varint,3,opt,name=cycle_idx,json=cycleIdx,proto3" json:"cycle_idx,omitempty"`
+ EndTime uint32 `protobuf:"varint,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ BeginTime uint32 `protobuf:"varint,13,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+}
+
+func (x *BattlePassCycle) Reset() {
+ *x = BattlePassCycle{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassCycle_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassCycle) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassCycle) ProtoMessage() {}
+
+func (x *BattlePassCycle) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassCycle_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassCycle.ProtoReflect.Descriptor instead.
+func (*BattlePassCycle) Descriptor() ([]byte, []int) {
+ return file_BattlePassCycle_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassCycle) GetCycleIdx() uint32 {
+ if x != nil {
+ return x.CycleIdx
+ }
+ return 0
+}
+
+func (x *BattlePassCycle) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *BattlePassCycle) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+var File_BattlePassCycle_proto protoreflect.FileDescriptor
+
+var file_BattlePassCycle_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x43, 0x79, 0x63, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68,
+ 0x0a, 0x0f, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x43, 0x79, 0x63, 0x6c,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x78, 0x12, 0x19,
+ 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67,
+ 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62,
+ 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassCycle_proto_rawDescOnce sync.Once
+ file_BattlePassCycle_proto_rawDescData = file_BattlePassCycle_proto_rawDesc
+)
+
+func file_BattlePassCycle_proto_rawDescGZIP() []byte {
+ file_BattlePassCycle_proto_rawDescOnce.Do(func() {
+ file_BattlePassCycle_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassCycle_proto_rawDescData)
+ })
+ return file_BattlePassCycle_proto_rawDescData
+}
+
+var file_BattlePassCycle_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassCycle_proto_goTypes = []interface{}{
+ (*BattlePassCycle)(nil), // 0: proto.BattlePassCycle
+}
+var file_BattlePassCycle_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassCycle_proto_init() }
+func file_BattlePassCycle_proto_init() {
+ if File_BattlePassCycle_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassCycle_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassCycle); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassCycle_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassCycle_proto_goTypes,
+ DependencyIndexes: file_BattlePassCycle_proto_depIdxs,
+ MessageInfos: file_BattlePassCycle_proto_msgTypes,
+ }.Build()
+ File_BattlePassCycle_proto = out.File
+ file_BattlePassCycle_proto_rawDesc = nil
+ file_BattlePassCycle_proto_goTypes = nil
+ file_BattlePassCycle_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassMission.pb.go b/protocol/proto/BattlePassMission.pb.go
new file mode 100644
index 00000000..f8425472
--- /dev/null
+++ b/protocol/proto/BattlePassMission.pb.go
@@ -0,0 +1,279 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassMission.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BattlePassMission_MissionStatus int32
+
+const (
+ BattlePassMission_MISSION_STATUS_INVALID BattlePassMission_MissionStatus = 0
+ BattlePassMission_MISSION_STATUS_UNFINISHED BattlePassMission_MissionStatus = 1
+ BattlePassMission_MISSION_STATUS_FINISHED BattlePassMission_MissionStatus = 2
+ BattlePassMission_MISSION_STATUS_POINT_TAKEN BattlePassMission_MissionStatus = 3
+)
+
+// Enum value maps for BattlePassMission_MissionStatus.
+var (
+ BattlePassMission_MissionStatus_name = map[int32]string{
+ 0: "MISSION_STATUS_INVALID",
+ 1: "MISSION_STATUS_UNFINISHED",
+ 2: "MISSION_STATUS_FINISHED",
+ 3: "MISSION_STATUS_POINT_TAKEN",
+ }
+ BattlePassMission_MissionStatus_value = map[string]int32{
+ "MISSION_STATUS_INVALID": 0,
+ "MISSION_STATUS_UNFINISHED": 1,
+ "MISSION_STATUS_FINISHED": 2,
+ "MISSION_STATUS_POINT_TAKEN": 3,
+ }
+)
+
+func (x BattlePassMission_MissionStatus) Enum() *BattlePassMission_MissionStatus {
+ p := new(BattlePassMission_MissionStatus)
+ *p = x
+ return p
+}
+
+func (x BattlePassMission_MissionStatus) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (BattlePassMission_MissionStatus) Descriptor() protoreflect.EnumDescriptor {
+ return file_BattlePassMission_proto_enumTypes[0].Descriptor()
+}
+
+func (BattlePassMission_MissionStatus) Type() protoreflect.EnumType {
+ return &file_BattlePassMission_proto_enumTypes[0]
+}
+
+func (x BattlePassMission_MissionStatus) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use BattlePassMission_MissionStatus.Descriptor instead.
+func (BattlePassMission_MissionStatus) EnumDescriptor() ([]byte, []int) {
+ return file_BattlePassMission_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type BattlePassMission struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurProgress uint32 `protobuf:"varint,13,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+ MissionStatus BattlePassMission_MissionStatus `protobuf:"varint,15,opt,name=mission_status,json=missionStatus,proto3,enum=proto.BattlePassMission_MissionStatus" json:"mission_status,omitempty"`
+ MissionId uint32 `protobuf:"varint,11,opt,name=mission_id,json=missionId,proto3" json:"mission_id,omitempty"`
+ RewardBattlePassPoint uint32 `protobuf:"varint,3,opt,name=reward_battle_pass_point,json=rewardBattlePassPoint,proto3" json:"reward_battle_pass_point,omitempty"`
+ MissionType uint32 `protobuf:"varint,12,opt,name=mission_type,json=missionType,proto3" json:"mission_type,omitempty"`
+ TotalProgress uint32 `protobuf:"varint,6,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+}
+
+func (x *BattlePassMission) Reset() {
+ *x = BattlePassMission{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassMission_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassMission) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassMission) ProtoMessage() {}
+
+func (x *BattlePassMission) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassMission_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassMission.ProtoReflect.Descriptor instead.
+func (*BattlePassMission) Descriptor() ([]byte, []int) {
+ return file_BattlePassMission_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassMission) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+func (x *BattlePassMission) GetMissionStatus() BattlePassMission_MissionStatus {
+ if x != nil {
+ return x.MissionStatus
+ }
+ return BattlePassMission_MISSION_STATUS_INVALID
+}
+
+func (x *BattlePassMission) GetMissionId() uint32 {
+ if x != nil {
+ return x.MissionId
+ }
+ return 0
+}
+
+func (x *BattlePassMission) GetRewardBattlePassPoint() uint32 {
+ if x != nil {
+ return x.RewardBattlePassPoint
+ }
+ return 0
+}
+
+func (x *BattlePassMission) GetMissionType() uint32 {
+ if x != nil {
+ return x.MissionType
+ }
+ return 0
+}
+
+func (x *BattlePassMission) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+var File_BattlePassMission_proto protoreflect.FileDescriptor
+
+var file_BattlePassMission_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xb1, 0x03, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d,
+ 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75,
+ 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0e, 0x6d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x0d, 0x4d,
+ 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16,
+ 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49,
+ 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x49, 0x53, 0x53,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x46, 0x49, 0x4e,
+ 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x49, 0x53, 0x53, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48,
+ 0x45, 0x44, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x41, 0x4b,
+ 0x45, 0x4e, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassMission_proto_rawDescOnce sync.Once
+ file_BattlePassMission_proto_rawDescData = file_BattlePassMission_proto_rawDesc
+)
+
+func file_BattlePassMission_proto_rawDescGZIP() []byte {
+ file_BattlePassMission_proto_rawDescOnce.Do(func() {
+ file_BattlePassMission_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassMission_proto_rawDescData)
+ })
+ return file_BattlePassMission_proto_rawDescData
+}
+
+var file_BattlePassMission_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_BattlePassMission_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassMission_proto_goTypes = []interface{}{
+ (BattlePassMission_MissionStatus)(0), // 0: proto.BattlePassMission.MissionStatus
+ (*BattlePassMission)(nil), // 1: proto.BattlePassMission
+}
+var file_BattlePassMission_proto_depIdxs = []int32{
+ 0, // 0: proto.BattlePassMission.mission_status:type_name -> proto.BattlePassMission.MissionStatus
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassMission_proto_init() }
+func file_BattlePassMission_proto_init() {
+ if File_BattlePassMission_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassMission_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassMission); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassMission_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassMission_proto_goTypes,
+ DependencyIndexes: file_BattlePassMission_proto_depIdxs,
+ EnumInfos: file_BattlePassMission_proto_enumTypes,
+ MessageInfos: file_BattlePassMission_proto_msgTypes,
+ }.Build()
+ File_BattlePassMission_proto = out.File
+ file_BattlePassMission_proto_rawDesc = nil
+ file_BattlePassMission_proto_goTypes = nil
+ file_BattlePassMission_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassMissionDelNotify.pb.go b/protocol/proto/BattlePassMissionDelNotify.pb.go
new file mode 100644
index 00000000..d14cf3c3
--- /dev/null
+++ b/protocol/proto/BattlePassMissionDelNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassMissionDelNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2625
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BattlePassMissionDelNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DelMissionIdList []uint32 `protobuf:"varint,10,rep,packed,name=del_mission_id_list,json=delMissionIdList,proto3" json:"del_mission_id_list,omitempty"`
+}
+
+func (x *BattlePassMissionDelNotify) Reset() {
+ *x = BattlePassMissionDelNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassMissionDelNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassMissionDelNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassMissionDelNotify) ProtoMessage() {}
+
+func (x *BattlePassMissionDelNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassMissionDelNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassMissionDelNotify.ProtoReflect.Descriptor instead.
+func (*BattlePassMissionDelNotify) Descriptor() ([]byte, []int) {
+ return file_BattlePassMissionDelNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassMissionDelNotify) GetDelMissionIdList() []uint32 {
+ if x != nil {
+ return x.DelMissionIdList
+ }
+ return nil
+}
+
+var File_BattlePassMissionDelNotify_proto protoreflect.FileDescriptor
+
+var file_BattlePassMissionDelNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x1a, 0x42, 0x61, 0x74,
+ 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65,
+ 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2d, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x5f, 0x6d,
+ 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassMissionDelNotify_proto_rawDescOnce sync.Once
+ file_BattlePassMissionDelNotify_proto_rawDescData = file_BattlePassMissionDelNotify_proto_rawDesc
+)
+
+func file_BattlePassMissionDelNotify_proto_rawDescGZIP() []byte {
+ file_BattlePassMissionDelNotify_proto_rawDescOnce.Do(func() {
+ file_BattlePassMissionDelNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassMissionDelNotify_proto_rawDescData)
+ })
+ return file_BattlePassMissionDelNotify_proto_rawDescData
+}
+
+var file_BattlePassMissionDelNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassMissionDelNotify_proto_goTypes = []interface{}{
+ (*BattlePassMissionDelNotify)(nil), // 0: proto.BattlePassMissionDelNotify
+}
+var file_BattlePassMissionDelNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassMissionDelNotify_proto_init() }
+func file_BattlePassMissionDelNotify_proto_init() {
+ if File_BattlePassMissionDelNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassMissionDelNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassMissionDelNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassMissionDelNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassMissionDelNotify_proto_goTypes,
+ DependencyIndexes: file_BattlePassMissionDelNotify_proto_depIdxs,
+ MessageInfos: file_BattlePassMissionDelNotify_proto_msgTypes,
+ }.Build()
+ File_BattlePassMissionDelNotify_proto = out.File
+ file_BattlePassMissionDelNotify_proto_rawDesc = nil
+ file_BattlePassMissionDelNotify_proto_goTypes = nil
+ file_BattlePassMissionDelNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassMissionUpdateNotify.pb.go b/protocol/proto/BattlePassMissionUpdateNotify.pb.go
new file mode 100644
index 00000000..c821a077
--- /dev/null
+++ b/protocol/proto/BattlePassMissionUpdateNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassMissionUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2618
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BattlePassMissionUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MissionList []*BattlePassMission `protobuf:"bytes,1,rep,name=mission_list,json=missionList,proto3" json:"mission_list,omitempty"`
+}
+
+func (x *BattlePassMissionUpdateNotify) Reset() {
+ *x = BattlePassMissionUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassMissionUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassMissionUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassMissionUpdateNotify) ProtoMessage() {}
+
+func (x *BattlePassMissionUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassMissionUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassMissionUpdateNotify.ProtoReflect.Descriptor instead.
+func (*BattlePassMissionUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_BattlePassMissionUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassMissionUpdateNotify) GetMissionList() []*BattlePassMission {
+ if x != nil {
+ return x.MissionList
+ }
+ return nil
+}
+
+var File_BattlePassMissionUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_BattlePassMissionUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50,
+ 0x61, 0x73, 0x73, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d,
+ 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassMissionUpdateNotify_proto_rawDescOnce sync.Once
+ file_BattlePassMissionUpdateNotify_proto_rawDescData = file_BattlePassMissionUpdateNotify_proto_rawDesc
+)
+
+func file_BattlePassMissionUpdateNotify_proto_rawDescGZIP() []byte {
+ file_BattlePassMissionUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_BattlePassMissionUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassMissionUpdateNotify_proto_rawDescData)
+ })
+ return file_BattlePassMissionUpdateNotify_proto_rawDescData
+}
+
+var file_BattlePassMissionUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassMissionUpdateNotify_proto_goTypes = []interface{}{
+ (*BattlePassMissionUpdateNotify)(nil), // 0: proto.BattlePassMissionUpdateNotify
+ (*BattlePassMission)(nil), // 1: proto.BattlePassMission
+}
+var file_BattlePassMissionUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BattlePassMissionUpdateNotify.mission_list:type_name -> proto.BattlePassMission
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassMissionUpdateNotify_proto_init() }
+func file_BattlePassMissionUpdateNotify_proto_init() {
+ if File_BattlePassMissionUpdateNotify_proto != nil {
+ return
+ }
+ file_BattlePassMission_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassMissionUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassMissionUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassMissionUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassMissionUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_BattlePassMissionUpdateNotify_proto_depIdxs,
+ MessageInfos: file_BattlePassMissionUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_BattlePassMissionUpdateNotify_proto = out.File
+ file_BattlePassMissionUpdateNotify_proto_rawDesc = nil
+ file_BattlePassMissionUpdateNotify_proto_goTypes = nil
+ file_BattlePassMissionUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassProduct.pb.go b/protocol/proto/BattlePassProduct.pb.go
new file mode 100644
index 00000000..1a4e16f3
--- /dev/null
+++ b/protocol/proto/BattlePassProduct.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassProduct.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BattlePassProduct struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NormalProductId string `protobuf:"bytes,13,opt,name=normal_product_id,json=normalProductId,proto3" json:"normal_product_id,omitempty"`
+ ExtraProductId string `protobuf:"bytes,10,opt,name=extra_product_id,json=extraProductId,proto3" json:"extra_product_id,omitempty"`
+ UpgradeProductId string `protobuf:"bytes,6,opt,name=upgrade_product_id,json=upgradeProductId,proto3" json:"upgrade_product_id,omitempty"`
+}
+
+func (x *BattlePassProduct) Reset() {
+ *x = BattlePassProduct{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassProduct_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassProduct) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassProduct) ProtoMessage() {}
+
+func (x *BattlePassProduct) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassProduct_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassProduct.ProtoReflect.Descriptor instead.
+func (*BattlePassProduct) Descriptor() ([]byte, []int) {
+ return file_BattlePassProduct_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassProduct) GetNormalProductId() string {
+ if x != nil {
+ return x.NormalProductId
+ }
+ return ""
+}
+
+func (x *BattlePassProduct) GetExtraProductId() string {
+ if x != nil {
+ return x.ExtraProductId
+ }
+ return ""
+}
+
+func (x *BattlePassProduct) GetUpgradeProductId() string {
+ if x != nil {
+ return x.UpgradeProductId
+ }
+ return ""
+}
+
+var File_BattlePassProduct_proto protoreflect.FileDescriptor
+
+var file_BattlePassProduct_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x64,
+ 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x97, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
+ 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
+ 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x64,
+ 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x65, 0x78,
+ 0x74, 0x72, 0x61, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12,
+ 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64,
+ 0x65, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassProduct_proto_rawDescOnce sync.Once
+ file_BattlePassProduct_proto_rawDescData = file_BattlePassProduct_proto_rawDesc
+)
+
+func file_BattlePassProduct_proto_rawDescGZIP() []byte {
+ file_BattlePassProduct_proto_rawDescOnce.Do(func() {
+ file_BattlePassProduct_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassProduct_proto_rawDescData)
+ })
+ return file_BattlePassProduct_proto_rawDescData
+}
+
+var file_BattlePassProduct_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassProduct_proto_goTypes = []interface{}{
+ (*BattlePassProduct)(nil), // 0: proto.BattlePassProduct
+}
+var file_BattlePassProduct_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassProduct_proto_init() }
+func file_BattlePassProduct_proto_init() {
+ if File_BattlePassProduct_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassProduct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassProduct); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassProduct_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassProduct_proto_goTypes,
+ DependencyIndexes: file_BattlePassProduct_proto_depIdxs,
+ MessageInfos: file_BattlePassProduct_proto_msgTypes,
+ }.Build()
+ File_BattlePassProduct_proto = out.File
+ file_BattlePassProduct_proto_rawDesc = nil
+ file_BattlePassProduct_proto_goTypes = nil
+ file_BattlePassProduct_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassRewardTag.pb.go b/protocol/proto/BattlePassRewardTag.pb.go
new file mode 100644
index 00000000..63d52ca3
--- /dev/null
+++ b/protocol/proto/BattlePassRewardTag.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassRewardTag.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BattlePassRewardTag struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,4,opt,name=level,proto3" json:"level,omitempty"`
+ UnlockStatus BattlePassUnlockStatus `protobuf:"varint,2,opt,name=unlock_status,json=unlockStatus,proto3,enum=proto.BattlePassUnlockStatus" json:"unlock_status,omitempty"`
+ RewardId uint32 `protobuf:"varint,7,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+}
+
+func (x *BattlePassRewardTag) Reset() {
+ *x = BattlePassRewardTag{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassRewardTag_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassRewardTag) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassRewardTag) ProtoMessage() {}
+
+func (x *BattlePassRewardTag) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassRewardTag_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassRewardTag.ProtoReflect.Descriptor instead.
+func (*BattlePassRewardTag) Descriptor() ([]byte, []int) {
+ return file_BattlePassRewardTag_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassRewardTag) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *BattlePassRewardTag) GetUnlockStatus() BattlePassUnlockStatus {
+ if x != nil {
+ return x.UnlockStatus
+ }
+ return BattlePassUnlockStatus_BATTLE_PASS_UNLOCK_STATUS_INVALID
+}
+
+func (x *BattlePassRewardTag) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+var File_BattlePassRewardTag_proto protoreflect.FileDescriptor
+
+var file_BattlePassRewardTag_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x55, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x8c, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x42,
+ 0x0a, 0x0d, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassRewardTag_proto_rawDescOnce sync.Once
+ file_BattlePassRewardTag_proto_rawDescData = file_BattlePassRewardTag_proto_rawDesc
+)
+
+func file_BattlePassRewardTag_proto_rawDescGZIP() []byte {
+ file_BattlePassRewardTag_proto_rawDescOnce.Do(func() {
+ file_BattlePassRewardTag_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassRewardTag_proto_rawDescData)
+ })
+ return file_BattlePassRewardTag_proto_rawDescData
+}
+
+var file_BattlePassRewardTag_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassRewardTag_proto_goTypes = []interface{}{
+ (*BattlePassRewardTag)(nil), // 0: proto.BattlePassRewardTag
+ (BattlePassUnlockStatus)(0), // 1: proto.BattlePassUnlockStatus
+}
+var file_BattlePassRewardTag_proto_depIdxs = []int32{
+ 1, // 0: proto.BattlePassRewardTag.unlock_status:type_name -> proto.BattlePassUnlockStatus
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassRewardTag_proto_init() }
+func file_BattlePassRewardTag_proto_init() {
+ if File_BattlePassRewardTag_proto != nil {
+ return
+ }
+ file_BattlePassUnlockStatus_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassRewardTag_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassRewardTag); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassRewardTag_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassRewardTag_proto_goTypes,
+ DependencyIndexes: file_BattlePassRewardTag_proto_depIdxs,
+ MessageInfos: file_BattlePassRewardTag_proto_msgTypes,
+ }.Build()
+ File_BattlePassRewardTag_proto = out.File
+ file_BattlePassRewardTag_proto_rawDesc = nil
+ file_BattlePassRewardTag_proto_goTypes = nil
+ file_BattlePassRewardTag_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassRewardTakeOption.pb.go b/protocol/proto/BattlePassRewardTakeOption.pb.go
new file mode 100644
index 00000000..ffbb0289
--- /dev/null
+++ b/protocol/proto/BattlePassRewardTakeOption.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassRewardTakeOption.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BattlePassRewardTakeOption struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Tag *BattlePassRewardTag `protobuf:"bytes,10,opt,name=tag,proto3" json:"tag,omitempty"`
+ OptionIdx uint32 `protobuf:"varint,14,opt,name=option_idx,json=optionIdx,proto3" json:"option_idx,omitempty"`
+}
+
+func (x *BattlePassRewardTakeOption) Reset() {
+ *x = BattlePassRewardTakeOption{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassRewardTakeOption_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassRewardTakeOption) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassRewardTakeOption) ProtoMessage() {}
+
+func (x *BattlePassRewardTakeOption) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassRewardTakeOption_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassRewardTakeOption.ProtoReflect.Descriptor instead.
+func (*BattlePassRewardTakeOption) Descriptor() ([]byte, []int) {
+ return file_BattlePassRewardTakeOption_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassRewardTakeOption) GetTag() *BattlePassRewardTag {
+ if x != nil {
+ return x.Tag
+ }
+ return nil
+}
+
+func (x *BattlePassRewardTakeOption) GetOptionIdx() uint32 {
+ if x != nil {
+ return x.OptionIdx
+ }
+ return 0
+}
+
+var File_BattlePassRewardTakeOption_proto protoreflect.FileDescriptor
+
+var file_BattlePassRewardTakeOption_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x67, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61,
+ 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61,
+ 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x67, 0x52, 0x03, 0x74, 0x61, 0x67,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x78, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassRewardTakeOption_proto_rawDescOnce sync.Once
+ file_BattlePassRewardTakeOption_proto_rawDescData = file_BattlePassRewardTakeOption_proto_rawDesc
+)
+
+func file_BattlePassRewardTakeOption_proto_rawDescGZIP() []byte {
+ file_BattlePassRewardTakeOption_proto_rawDescOnce.Do(func() {
+ file_BattlePassRewardTakeOption_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassRewardTakeOption_proto_rawDescData)
+ })
+ return file_BattlePassRewardTakeOption_proto_rawDescData
+}
+
+var file_BattlePassRewardTakeOption_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassRewardTakeOption_proto_goTypes = []interface{}{
+ (*BattlePassRewardTakeOption)(nil), // 0: proto.BattlePassRewardTakeOption
+ (*BattlePassRewardTag)(nil), // 1: proto.BattlePassRewardTag
+}
+var file_BattlePassRewardTakeOption_proto_depIdxs = []int32{
+ 1, // 0: proto.BattlePassRewardTakeOption.tag:type_name -> proto.BattlePassRewardTag
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassRewardTakeOption_proto_init() }
+func file_BattlePassRewardTakeOption_proto_init() {
+ if File_BattlePassRewardTakeOption_proto != nil {
+ return
+ }
+ file_BattlePassRewardTag_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassRewardTakeOption_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassRewardTakeOption); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassRewardTakeOption_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassRewardTakeOption_proto_goTypes,
+ DependencyIndexes: file_BattlePassRewardTakeOption_proto_depIdxs,
+ MessageInfos: file_BattlePassRewardTakeOption_proto_msgTypes,
+ }.Build()
+ File_BattlePassRewardTakeOption_proto = out.File
+ file_BattlePassRewardTakeOption_proto_rawDesc = nil
+ file_BattlePassRewardTakeOption_proto_goTypes = nil
+ file_BattlePassRewardTakeOption_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassSchedule.pb.go b/protocol/proto/BattlePassSchedule.pb.go
new file mode 100644
index 00000000..104d18a6
--- /dev/null
+++ b/protocol/proto/BattlePassSchedule.pb.go
@@ -0,0 +1,307 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassSchedule.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BattlePassSchedule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,14,opt,name=level,proto3" json:"level,omitempty"`
+ BeginTime uint32 `protobuf:"varint,2,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ EndTime uint32 `protobuf:"varint,15,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ Point uint32 `protobuf:"varint,1,opt,name=point,proto3" json:"point,omitempty"`
+ CurCycle *BattlePassCycle `protobuf:"bytes,4,opt,name=cur_cycle,json=curCycle,proto3" json:"cur_cycle,omitempty"`
+ UnlockStatus BattlePassUnlockStatus `protobuf:"varint,7,opt,name=unlock_status,json=unlockStatus,proto3,enum=proto.BattlePassUnlockStatus" json:"unlock_status,omitempty"`
+ RewardTakenList []*BattlePassRewardTag `protobuf:"bytes,11,rep,name=reward_taken_list,json=rewardTakenList,proto3" json:"reward_taken_list,omitempty"`
+ CurCyclePoints uint32 `protobuf:"varint,10,opt,name=cur_cycle_points,json=curCyclePoints,proto3" json:"cur_cycle_points,omitempty"`
+ PaidPlatformFlags uint32 `protobuf:"varint,12,opt,name=paid_platform_flags,json=paidPlatformFlags,proto3" json:"paid_platform_flags,omitempty"`
+ ProductInfo *BattlePassProduct `protobuf:"bytes,13,opt,name=product_info,json=productInfo,proto3" json:"product_info,omitempty"`
+ IsExtraPaidRewardTaken bool `protobuf:"varint,6,opt,name=is_extra_paid_reward_taken,json=isExtraPaidRewardTaken,proto3" json:"is_extra_paid_reward_taken,omitempty"`
+ IsViewed bool `protobuf:"varint,3,opt,name=is_viewed,json=isViewed,proto3" json:"is_viewed,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,9,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *BattlePassSchedule) Reset() {
+ *x = BattlePassSchedule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BattlePassSchedule_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BattlePassSchedule) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BattlePassSchedule) ProtoMessage() {}
+
+func (x *BattlePassSchedule) ProtoReflect() protoreflect.Message {
+ mi := &file_BattlePassSchedule_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BattlePassSchedule.ProtoReflect.Descriptor instead.
+func (*BattlePassSchedule) Descriptor() ([]byte, []int) {
+ return file_BattlePassSchedule_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BattlePassSchedule) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *BattlePassSchedule) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *BattlePassSchedule) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *BattlePassSchedule) GetPoint() uint32 {
+ if x != nil {
+ return x.Point
+ }
+ return 0
+}
+
+func (x *BattlePassSchedule) GetCurCycle() *BattlePassCycle {
+ if x != nil {
+ return x.CurCycle
+ }
+ return nil
+}
+
+func (x *BattlePassSchedule) GetUnlockStatus() BattlePassUnlockStatus {
+ if x != nil {
+ return x.UnlockStatus
+ }
+ return BattlePassUnlockStatus_BATTLE_PASS_UNLOCK_STATUS_INVALID
+}
+
+func (x *BattlePassSchedule) GetRewardTakenList() []*BattlePassRewardTag {
+ if x != nil {
+ return x.RewardTakenList
+ }
+ return nil
+}
+
+func (x *BattlePassSchedule) GetCurCyclePoints() uint32 {
+ if x != nil {
+ return x.CurCyclePoints
+ }
+ return 0
+}
+
+func (x *BattlePassSchedule) GetPaidPlatformFlags() uint32 {
+ if x != nil {
+ return x.PaidPlatformFlags
+ }
+ return 0
+}
+
+func (x *BattlePassSchedule) GetProductInfo() *BattlePassProduct {
+ if x != nil {
+ return x.ProductInfo
+ }
+ return nil
+}
+
+func (x *BattlePassSchedule) GetIsExtraPaidRewardTaken() bool {
+ if x != nil {
+ return x.IsExtraPaidRewardTaken
+ }
+ return false
+}
+
+func (x *BattlePassSchedule) GetIsViewed() bool {
+ if x != nil {
+ return x.IsViewed
+ }
+ return false
+}
+
+func (x *BattlePassSchedule) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_BattlePassSchedule_proto protoreflect.FileDescriptor
+
+var file_BattlePassSchedule_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x15, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x43, 0x79, 0x63,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x50, 0x61, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x54, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x42, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x04, 0x0a, 0x12, 0x42,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67,
+ 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x63,
+ 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x43, 0x79, 0x63,
+ 0x6c, 0x65, 0x52, 0x08, 0x63, 0x75, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x0d,
+ 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x52, 0x0c, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x46, 0x0a, 0x11, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x67, 0x52, 0x0f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54,
+ 0x61, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x5f,
+ 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x11, 0x70, 0x61, 0x69, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x6c, 0x61,
+ 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x64, 0x75,
+ 0x63, 0x74, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x3a, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x70, 0x61, 0x69, 0x64,
+ 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x45, 0x78, 0x74, 0x72, 0x61, 0x50, 0x61, 0x69, 0x64,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassSchedule_proto_rawDescOnce sync.Once
+ file_BattlePassSchedule_proto_rawDescData = file_BattlePassSchedule_proto_rawDesc
+)
+
+func file_BattlePassSchedule_proto_rawDescGZIP() []byte {
+ file_BattlePassSchedule_proto_rawDescOnce.Do(func() {
+ file_BattlePassSchedule_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassSchedule_proto_rawDescData)
+ })
+ return file_BattlePassSchedule_proto_rawDescData
+}
+
+var file_BattlePassSchedule_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BattlePassSchedule_proto_goTypes = []interface{}{
+ (*BattlePassSchedule)(nil), // 0: proto.BattlePassSchedule
+ (*BattlePassCycle)(nil), // 1: proto.BattlePassCycle
+ (BattlePassUnlockStatus)(0), // 2: proto.BattlePassUnlockStatus
+ (*BattlePassRewardTag)(nil), // 3: proto.BattlePassRewardTag
+ (*BattlePassProduct)(nil), // 4: proto.BattlePassProduct
+}
+var file_BattlePassSchedule_proto_depIdxs = []int32{
+ 1, // 0: proto.BattlePassSchedule.cur_cycle:type_name -> proto.BattlePassCycle
+ 2, // 1: proto.BattlePassSchedule.unlock_status:type_name -> proto.BattlePassUnlockStatus
+ 3, // 2: proto.BattlePassSchedule.reward_taken_list:type_name -> proto.BattlePassRewardTag
+ 4, // 3: proto.BattlePassSchedule.product_info:type_name -> proto.BattlePassProduct
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassSchedule_proto_init() }
+func file_BattlePassSchedule_proto_init() {
+ if File_BattlePassSchedule_proto != nil {
+ return
+ }
+ file_BattlePassCycle_proto_init()
+ file_BattlePassProduct_proto_init()
+ file_BattlePassRewardTag_proto_init()
+ file_BattlePassUnlockStatus_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BattlePassSchedule_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BattlePassSchedule); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassSchedule_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassSchedule_proto_goTypes,
+ DependencyIndexes: file_BattlePassSchedule_proto_depIdxs,
+ MessageInfos: file_BattlePassSchedule_proto_msgTypes,
+ }.Build()
+ File_BattlePassSchedule_proto = out.File
+ file_BattlePassSchedule_proto_rawDesc = nil
+ file_BattlePassSchedule_proto_goTypes = nil
+ file_BattlePassSchedule_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BattlePassUnlockStatus.pb.go b/protocol/proto/BattlePassUnlockStatus.pb.go
new file mode 100644
index 00000000..031be9d0
--- /dev/null
+++ b/protocol/proto/BattlePassUnlockStatus.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BattlePassUnlockStatus.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BattlePassUnlockStatus int32
+
+const (
+ BattlePassUnlockStatus_BATTLE_PASS_UNLOCK_STATUS_INVALID BattlePassUnlockStatus = 0
+ BattlePassUnlockStatus_BATTLE_PASS_UNLOCK_STATUS_FREE BattlePassUnlockStatus = 1
+ BattlePassUnlockStatus_BATTLE_PASS_UNLOCK_STATUS_PAID BattlePassUnlockStatus = 2
+)
+
+// Enum value maps for BattlePassUnlockStatus.
+var (
+ BattlePassUnlockStatus_name = map[int32]string{
+ 0: "BATTLE_PASS_UNLOCK_STATUS_INVALID",
+ 1: "BATTLE_PASS_UNLOCK_STATUS_FREE",
+ 2: "BATTLE_PASS_UNLOCK_STATUS_PAID",
+ }
+ BattlePassUnlockStatus_value = map[string]int32{
+ "BATTLE_PASS_UNLOCK_STATUS_INVALID": 0,
+ "BATTLE_PASS_UNLOCK_STATUS_FREE": 1,
+ "BATTLE_PASS_UNLOCK_STATUS_PAID": 2,
+ }
+)
+
+func (x BattlePassUnlockStatus) Enum() *BattlePassUnlockStatus {
+ p := new(BattlePassUnlockStatus)
+ *p = x
+ return p
+}
+
+func (x BattlePassUnlockStatus) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (BattlePassUnlockStatus) Descriptor() protoreflect.EnumDescriptor {
+ return file_BattlePassUnlockStatus_proto_enumTypes[0].Descriptor()
+}
+
+func (BattlePassUnlockStatus) Type() protoreflect.EnumType {
+ return &file_BattlePassUnlockStatus_proto_enumTypes[0]
+}
+
+func (x BattlePassUnlockStatus) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use BattlePassUnlockStatus.Descriptor instead.
+func (BattlePassUnlockStatus) EnumDescriptor() ([]byte, []int) {
+ return file_BattlePassUnlockStatus_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BattlePassUnlockStatus_proto protoreflect.FileDescriptor
+
+var file_BattlePassUnlockStatus_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x87, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x50, 0x61, 0x73, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x25, 0x0a, 0x21, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f,
+ 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e,
+ 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, 0x54, 0x54, 0x4c,
+ 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54,
+ 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x42,
+ 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43,
+ 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x49, 0x44, 0x10, 0x02, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BattlePassUnlockStatus_proto_rawDescOnce sync.Once
+ file_BattlePassUnlockStatus_proto_rawDescData = file_BattlePassUnlockStatus_proto_rawDesc
+)
+
+func file_BattlePassUnlockStatus_proto_rawDescGZIP() []byte {
+ file_BattlePassUnlockStatus_proto_rawDescOnce.Do(func() {
+ file_BattlePassUnlockStatus_proto_rawDescData = protoimpl.X.CompressGZIP(file_BattlePassUnlockStatus_proto_rawDescData)
+ })
+ return file_BattlePassUnlockStatus_proto_rawDescData
+}
+
+var file_BattlePassUnlockStatus_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_BattlePassUnlockStatus_proto_goTypes = []interface{}{
+ (BattlePassUnlockStatus)(0), // 0: proto.BattlePassUnlockStatus
+}
+var file_BattlePassUnlockStatus_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BattlePassUnlockStatus_proto_init() }
+func file_BattlePassUnlockStatus_proto_init() {
+ if File_BattlePassUnlockStatus_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BattlePassUnlockStatus_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BattlePassUnlockStatus_proto_goTypes,
+ DependencyIndexes: file_BattlePassUnlockStatus_proto_depIdxs,
+ EnumInfos: file_BattlePassUnlockStatus_proto_enumTypes,
+ }.Build()
+ File_BattlePassUnlockStatus_proto = out.File
+ file_BattlePassUnlockStatus_proto_rawDesc = nil
+ file_BattlePassUnlockStatus_proto_goTypes = nil
+ file_BattlePassUnlockStatus_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BeginCameraSceneLookNotify.pb.go b/protocol/proto/BeginCameraSceneLookNotify.pb.go
new file mode 100644
index 00000000..b8bf9334
--- /dev/null
+++ b/protocol/proto/BeginCameraSceneLookNotify.pb.go
@@ -0,0 +1,422 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BeginCameraSceneLookNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BeginCameraSceneLookNotify_KeepRotType int32
+
+const (
+ BeginCameraSceneLookNotify_KEEP_ROT_TYPE_X BeginCameraSceneLookNotify_KeepRotType = 0
+ BeginCameraSceneLookNotify_KEEP_ROT_TYPE_XY BeginCameraSceneLookNotify_KeepRotType = 1
+)
+
+// Enum value maps for BeginCameraSceneLookNotify_KeepRotType.
+var (
+ BeginCameraSceneLookNotify_KeepRotType_name = map[int32]string{
+ 0: "KEEP_ROT_TYPE_X",
+ 1: "KEEP_ROT_TYPE_XY",
+ }
+ BeginCameraSceneLookNotify_KeepRotType_value = map[string]int32{
+ "KEEP_ROT_TYPE_X": 0,
+ "KEEP_ROT_TYPE_XY": 1,
+ }
+)
+
+func (x BeginCameraSceneLookNotify_KeepRotType) Enum() *BeginCameraSceneLookNotify_KeepRotType {
+ p := new(BeginCameraSceneLookNotify_KeepRotType)
+ *p = x
+ return p
+}
+
+func (x BeginCameraSceneLookNotify_KeepRotType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (BeginCameraSceneLookNotify_KeepRotType) Descriptor() protoreflect.EnumDescriptor {
+ return file_BeginCameraSceneLookNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (BeginCameraSceneLookNotify_KeepRotType) Type() protoreflect.EnumType {
+ return &file_BeginCameraSceneLookNotify_proto_enumTypes[0]
+}
+
+func (x BeginCameraSceneLookNotify_KeepRotType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use BeginCameraSceneLookNotify_KeepRotType.Descriptor instead.
+func (BeginCameraSceneLookNotify_KeepRotType) EnumDescriptor() ([]byte, []int) {
+ return file_BeginCameraSceneLookNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 270
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BeginCameraSceneLookNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BlendType uint32 `protobuf:"varint,1154,opt,name=blend_type,json=blendType,proto3" json:"blend_type,omitempty"`
+ CustomRadius float32 `protobuf:"fixed32,7,opt,name=custom_radius,json=customRadius,proto3" json:"custom_radius,omitempty"`
+ IsSetScreenXy bool `protobuf:"varint,5,opt,name=is_set_screen_xy,json=isSetScreenXy,proto3" json:"is_set_screen_xy,omitempty"`
+ LookPos *Vector `protobuf:"bytes,4,opt,name=look_pos,json=lookPos,proto3" json:"look_pos,omitempty"`
+ IsRecoverKeepCurrent bool `protobuf:"varint,11,opt,name=is_recover_keep_current,json=isRecoverKeepCurrent,proto3" json:"is_recover_keep_current,omitempty"`
+ IsAbsFollowPos bool `protobuf:"varint,1375,opt,name=is_abs_follow_pos,json=isAbsFollowPos,proto3" json:"is_abs_follow_pos,omitempty"`
+ KeepRotType BeginCameraSceneLookNotify_KeepRotType `protobuf:"varint,6,opt,name=keep_rot_type,json=keepRotType,proto3,enum=proto.BeginCameraSceneLookNotify_KeepRotType" json:"keep_rot_type,omitempty"`
+ IsChangePlayMode bool `protobuf:"varint,9,opt,name=is_change_play_mode,json=isChangePlayMode,proto3" json:"is_change_play_mode,omitempty"`
+ DisableProtect uint32 `protobuf:"varint,1103,opt,name=disable_protect,json=disableProtect,proto3" json:"disable_protect,omitempty"`
+ ScreenY float32 `protobuf:"fixed32,15,opt,name=screen_y,json=screenY,proto3" json:"screen_y,omitempty"`
+ IsSetFollowPos bool `protobuf:"varint,13,opt,name=is_set_follow_pos,json=isSetFollowPos,proto3" json:"is_set_follow_pos,omitempty"`
+ IsForce bool `protobuf:"varint,12,opt,name=is_force,json=isForce,proto3" json:"is_force,omitempty"`
+ BlendDuration float32 `protobuf:"fixed32,1758,opt,name=blend_duration,json=blendDuration,proto3" json:"blend_duration,omitempty"`
+ EntityId uint32 `protobuf:"varint,1327,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ScreenX float32 `protobuf:"fixed32,3,opt,name=screen_x,json=screenX,proto3" json:"screen_x,omitempty"`
+ IsForceWalk bool `protobuf:"varint,10,opt,name=is_force_walk,json=isForceWalk,proto3" json:"is_force_walk,omitempty"`
+ OtherParams []string `protobuf:"bytes,1,rep,name=other_params,json=otherParams,proto3" json:"other_params,omitempty"`
+ FollowPos *Vector `protobuf:"bytes,8,opt,name=follow_pos,json=followPos,proto3" json:"follow_pos,omitempty"`
+ IsAllowInput bool `protobuf:"varint,2,opt,name=is_allow_input,json=isAllowInput,proto3" json:"is_allow_input,omitempty"`
+ Duration float32 `protobuf:"fixed32,14,opt,name=duration,proto3" json:"duration,omitempty"`
+}
+
+func (x *BeginCameraSceneLookNotify) Reset() {
+ *x = BeginCameraSceneLookNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BeginCameraSceneLookNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BeginCameraSceneLookNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BeginCameraSceneLookNotify) ProtoMessage() {}
+
+func (x *BeginCameraSceneLookNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BeginCameraSceneLookNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BeginCameraSceneLookNotify.ProtoReflect.Descriptor instead.
+func (*BeginCameraSceneLookNotify) Descriptor() ([]byte, []int) {
+ return file_BeginCameraSceneLookNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BeginCameraSceneLookNotify) GetBlendType() uint32 {
+ if x != nil {
+ return x.BlendType
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookNotify) GetCustomRadius() float32 {
+ if x != nil {
+ return x.CustomRadius
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookNotify) GetIsSetScreenXy() bool {
+ if x != nil {
+ return x.IsSetScreenXy
+ }
+ return false
+}
+
+func (x *BeginCameraSceneLookNotify) GetLookPos() *Vector {
+ if x != nil {
+ return x.LookPos
+ }
+ return nil
+}
+
+func (x *BeginCameraSceneLookNotify) GetIsRecoverKeepCurrent() bool {
+ if x != nil {
+ return x.IsRecoverKeepCurrent
+ }
+ return false
+}
+
+func (x *BeginCameraSceneLookNotify) GetIsAbsFollowPos() bool {
+ if x != nil {
+ return x.IsAbsFollowPos
+ }
+ return false
+}
+
+func (x *BeginCameraSceneLookNotify) GetKeepRotType() BeginCameraSceneLookNotify_KeepRotType {
+ if x != nil {
+ return x.KeepRotType
+ }
+ return BeginCameraSceneLookNotify_KEEP_ROT_TYPE_X
+}
+
+func (x *BeginCameraSceneLookNotify) GetIsChangePlayMode() bool {
+ if x != nil {
+ return x.IsChangePlayMode
+ }
+ return false
+}
+
+func (x *BeginCameraSceneLookNotify) GetDisableProtect() uint32 {
+ if x != nil {
+ return x.DisableProtect
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookNotify) GetScreenY() float32 {
+ if x != nil {
+ return x.ScreenY
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookNotify) GetIsSetFollowPos() bool {
+ if x != nil {
+ return x.IsSetFollowPos
+ }
+ return false
+}
+
+func (x *BeginCameraSceneLookNotify) GetIsForce() bool {
+ if x != nil {
+ return x.IsForce
+ }
+ return false
+}
+
+func (x *BeginCameraSceneLookNotify) GetBlendDuration() float32 {
+ if x != nil {
+ return x.BlendDuration
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookNotify) GetScreenX() float32 {
+ if x != nil {
+ return x.ScreenX
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookNotify) GetIsForceWalk() bool {
+ if x != nil {
+ return x.IsForceWalk
+ }
+ return false
+}
+
+func (x *BeginCameraSceneLookNotify) GetOtherParams() []string {
+ if x != nil {
+ return x.OtherParams
+ }
+ return nil
+}
+
+func (x *BeginCameraSceneLookNotify) GetFollowPos() *Vector {
+ if x != nil {
+ return x.FollowPos
+ }
+ return nil
+}
+
+func (x *BeginCameraSceneLookNotify) GetIsAllowInput() bool {
+ if x != nil {
+ return x.IsAllowInput
+ }
+ return false
+}
+
+func (x *BeginCameraSceneLookNotify) GetDuration() float32 {
+ if x != nil {
+ return x.Duration
+ }
+ return 0
+}
+
+var File_BeginCameraSceneLookNotify_proto protoreflect.FileDescriptor
+
+var file_BeginCameraSceneLookNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x06, 0x0a, 0x1a, 0x42, 0x65, 0x67, 0x69,
+ 0x6e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4c, 0x6f, 0x6f, 0x6b,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x82, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x6c, 0x65,
+ 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x69,
+ 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x78, 0x79, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x53, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65,
+ 0x65, 0x6e, 0x58, 0x79, 0x12, 0x28, 0x0a, 0x08, 0x6c, 0x6f, 0x6f, 0x6b, 0x5f, 0x70, 0x6f, 0x73,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x6c, 0x6f, 0x6f, 0x6b, 0x50, 0x6f, 0x73, 0x12, 0x35,
+ 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x65,
+ 0x70, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x14, 0x69, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x65, 0x70, 0x43, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x73, 0x5f,
+ 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0xdf, 0x0a, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0e, 0x69, 0x73, 0x41, 0x62, 0x73, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x6f,
+ 0x73, 0x12, 0x51, 0x0a, 0x0d, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x72, 0x6f, 0x74, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x4b, 0x65, 0x65, 0x70,
+ 0x52, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x52, 0x6f, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x10, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4d,
+ 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70,
+ 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x18, 0xcf, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52,
+ 0x07, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x59, 0x12, 0x29, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x73,
+ 0x65, 0x74, 0x5f, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x65, 0x74, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x50, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x26,
+ 0x0a, 0x0e, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0xde, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x62, 0x6c, 0x65, 0x6e, 0x64, 0x44, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0xaf, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x78,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x58, 0x12,
+ 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x77, 0x61, 0x6c, 0x6b,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x57,
+ 0x61, 0x6c, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x74, 0x68, 0x65, 0x72,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x0a, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,
+ 0x77, 0x50, 0x6f, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73,
+ 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x38, 0x0a, 0x0b, 0x4b, 0x65, 0x65, 0x70, 0x52, 0x6f,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x52, 0x4f,
+ 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x58, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4b, 0x45,
+ 0x45, 0x50, 0x5f, 0x52, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x58, 0x59, 0x10, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BeginCameraSceneLookNotify_proto_rawDescOnce sync.Once
+ file_BeginCameraSceneLookNotify_proto_rawDescData = file_BeginCameraSceneLookNotify_proto_rawDesc
+)
+
+func file_BeginCameraSceneLookNotify_proto_rawDescGZIP() []byte {
+ file_BeginCameraSceneLookNotify_proto_rawDescOnce.Do(func() {
+ file_BeginCameraSceneLookNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BeginCameraSceneLookNotify_proto_rawDescData)
+ })
+ return file_BeginCameraSceneLookNotify_proto_rawDescData
+}
+
+var file_BeginCameraSceneLookNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_BeginCameraSceneLookNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BeginCameraSceneLookNotify_proto_goTypes = []interface{}{
+ (BeginCameraSceneLookNotify_KeepRotType)(0), // 0: proto.BeginCameraSceneLookNotify.KeepRotType
+ (*BeginCameraSceneLookNotify)(nil), // 1: proto.BeginCameraSceneLookNotify
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_BeginCameraSceneLookNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.BeginCameraSceneLookNotify.look_pos:type_name -> proto.Vector
+ 0, // 1: proto.BeginCameraSceneLookNotify.keep_rot_type:type_name -> proto.BeginCameraSceneLookNotify.KeepRotType
+ 2, // 2: proto.BeginCameraSceneLookNotify.follow_pos:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_BeginCameraSceneLookNotify_proto_init() }
+func file_BeginCameraSceneLookNotify_proto_init() {
+ if File_BeginCameraSceneLookNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BeginCameraSceneLookNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BeginCameraSceneLookNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BeginCameraSceneLookNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BeginCameraSceneLookNotify_proto_goTypes,
+ DependencyIndexes: file_BeginCameraSceneLookNotify_proto_depIdxs,
+ EnumInfos: file_BeginCameraSceneLookNotify_proto_enumTypes,
+ MessageInfos: file_BeginCameraSceneLookNotify_proto_msgTypes,
+ }.Build()
+ File_BeginCameraSceneLookNotify_proto = out.File
+ file_BeginCameraSceneLookNotify_proto_rawDesc = nil
+ file_BeginCameraSceneLookNotify_proto_goTypes = nil
+ file_BeginCameraSceneLookNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BeginCameraSceneLookWithTemplateNotify.pb.go b/protocol/proto/BeginCameraSceneLookWithTemplateNotify.pb.go
new file mode 100644
index 00000000..da384104
--- /dev/null
+++ b/protocol/proto/BeginCameraSceneLookWithTemplateNotify.pb.go
@@ -0,0 +1,285 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BeginCameraSceneLookWithTemplateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BeginCameraSceneLookWithTemplateNotify_FollowType int32
+
+const (
+ BeginCameraSceneLookWithTemplateNotify_FOLLOW_TYPE_INIT_FOLLOW_POS BeginCameraSceneLookWithTemplateNotify_FollowType = 0
+ BeginCameraSceneLookWithTemplateNotify_FOLLOW_TYPE_SET_FOLLOW_POS BeginCameraSceneLookWithTemplateNotify_FollowType = 1
+ BeginCameraSceneLookWithTemplateNotify_FOLLOW_TYPE_SET_ABS_FOLLOW_POS BeginCameraSceneLookWithTemplateNotify_FollowType = 2
+)
+
+// Enum value maps for BeginCameraSceneLookWithTemplateNotify_FollowType.
+var (
+ BeginCameraSceneLookWithTemplateNotify_FollowType_name = map[int32]string{
+ 0: "FOLLOW_TYPE_INIT_FOLLOW_POS",
+ 1: "FOLLOW_TYPE_SET_FOLLOW_POS",
+ 2: "FOLLOW_TYPE_SET_ABS_FOLLOW_POS",
+ }
+ BeginCameraSceneLookWithTemplateNotify_FollowType_value = map[string]int32{
+ "FOLLOW_TYPE_INIT_FOLLOW_POS": 0,
+ "FOLLOW_TYPE_SET_FOLLOW_POS": 1,
+ "FOLLOW_TYPE_SET_ABS_FOLLOW_POS": 2,
+ }
+)
+
+func (x BeginCameraSceneLookWithTemplateNotify_FollowType) Enum() *BeginCameraSceneLookWithTemplateNotify_FollowType {
+ p := new(BeginCameraSceneLookWithTemplateNotify_FollowType)
+ *p = x
+ return p
+}
+
+func (x BeginCameraSceneLookWithTemplateNotify_FollowType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (BeginCameraSceneLookWithTemplateNotify_FollowType) Descriptor() protoreflect.EnumDescriptor {
+ return file_BeginCameraSceneLookWithTemplateNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (BeginCameraSceneLookWithTemplateNotify_FollowType) Type() protoreflect.EnumType {
+ return &file_BeginCameraSceneLookWithTemplateNotify_proto_enumTypes[0]
+}
+
+func (x BeginCameraSceneLookWithTemplateNotify_FollowType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use BeginCameraSceneLookWithTemplateNotify_FollowType.Descriptor instead.
+func (BeginCameraSceneLookWithTemplateNotify_FollowType) EnumDescriptor() ([]byte, []int) {
+ return file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 3160
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BeginCameraSceneLookWithTemplateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LookPos *Vector `protobuf:"bytes,8,opt,name=look_pos,json=lookPos,proto3" json:"look_pos,omitempty"`
+ TemplateId uint32 `protobuf:"varint,5,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
+ FollowPos *Vector `protobuf:"bytes,2,opt,name=follow_pos,json=followPos,proto3" json:"follow_pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,12,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ OtherParams []string `protobuf:"bytes,13,rep,name=other_params,json=otherParams,proto3" json:"other_params,omitempty"`
+ FollowType BeginCameraSceneLookWithTemplateNotify_FollowType `protobuf:"varint,9,opt,name=follow_type,json=followType,proto3,enum=proto.BeginCameraSceneLookWithTemplateNotify_FollowType" json:"follow_type,omitempty"`
+}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) Reset() {
+ *x = BeginCameraSceneLookWithTemplateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BeginCameraSceneLookWithTemplateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BeginCameraSceneLookWithTemplateNotify) ProtoMessage() {}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BeginCameraSceneLookWithTemplateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BeginCameraSceneLookWithTemplateNotify.ProtoReflect.Descriptor instead.
+func (*BeginCameraSceneLookWithTemplateNotify) Descriptor() ([]byte, []int) {
+ return file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) GetLookPos() *Vector {
+ if x != nil {
+ return x.LookPos
+ }
+ return nil
+}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) GetTemplateId() uint32 {
+ if x != nil {
+ return x.TemplateId
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) GetFollowPos() *Vector {
+ if x != nil {
+ return x.FollowPos
+ }
+ return nil
+}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) GetOtherParams() []string {
+ if x != nil {
+ return x.OtherParams
+ }
+ return nil
+}
+
+func (x *BeginCameraSceneLookWithTemplateNotify) GetFollowType() BeginCameraSceneLookWithTemplateNotify_FollowType {
+ if x != nil {
+ return x.FollowType
+ }
+ return BeginCameraSceneLookWithTemplateNotify_FOLLOW_TYPE_INIT_FOLLOW_POS
+}
+
+var File_BeginCameraSceneLookWithTemplateNotify_proto protoreflect.FileDescriptor
+
+var file_BeginCameraSceneLookWithTemplateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x03, 0x0a, 0x26, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x6d,
+ 0x65, 0x72, 0x61, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x57, 0x69, 0x74, 0x68,
+ 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28,
+ 0x0a, 0x08, 0x6c, 0x6f, 0x6f, 0x6b, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x07, 0x6c, 0x6f, 0x6f, 0x6b, 0x50, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70,
+ 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74,
+ 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0a, 0x66, 0x6f, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x66, 0x6f,
+ 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x74, 0x68, 0x65,
+ 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x59, 0x0a, 0x0b, 0x66, 0x6f, 0x6c, 0x6c, 0x6f,
+ 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x65, 0x6d,
+ 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x46, 0x6f, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x79,
+ 0x70, 0x65, 0x22, 0x71, 0x0a, 0x0a, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x4f, 0x53, 0x10,
+ 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x4f, 0x53, 0x10,
+ 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x5f,
+ 0x50, 0x4f, 0x53, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescOnce sync.Once
+ file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescData = file_BeginCameraSceneLookWithTemplateNotify_proto_rawDesc
+)
+
+func file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescGZIP() []byte {
+ file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescOnce.Do(func() {
+ file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescData)
+ })
+ return file_BeginCameraSceneLookWithTemplateNotify_proto_rawDescData
+}
+
+var file_BeginCameraSceneLookWithTemplateNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_BeginCameraSceneLookWithTemplateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BeginCameraSceneLookWithTemplateNotify_proto_goTypes = []interface{}{
+ (BeginCameraSceneLookWithTemplateNotify_FollowType)(0), // 0: proto.BeginCameraSceneLookWithTemplateNotify.FollowType
+ (*BeginCameraSceneLookWithTemplateNotify)(nil), // 1: proto.BeginCameraSceneLookWithTemplateNotify
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_BeginCameraSceneLookWithTemplateNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.BeginCameraSceneLookWithTemplateNotify.look_pos:type_name -> proto.Vector
+ 2, // 1: proto.BeginCameraSceneLookWithTemplateNotify.follow_pos:type_name -> proto.Vector
+ 0, // 2: proto.BeginCameraSceneLookWithTemplateNotify.follow_type:type_name -> proto.BeginCameraSceneLookWithTemplateNotify.FollowType
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_BeginCameraSceneLookWithTemplateNotify_proto_init() }
+func file_BeginCameraSceneLookWithTemplateNotify_proto_init() {
+ if File_BeginCameraSceneLookWithTemplateNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BeginCameraSceneLookWithTemplateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BeginCameraSceneLookWithTemplateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BeginCameraSceneLookWithTemplateNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BeginCameraSceneLookWithTemplateNotify_proto_goTypes,
+ DependencyIndexes: file_BeginCameraSceneLookWithTemplateNotify_proto_depIdxs,
+ EnumInfos: file_BeginCameraSceneLookWithTemplateNotify_proto_enumTypes,
+ MessageInfos: file_BeginCameraSceneLookWithTemplateNotify_proto_msgTypes,
+ }.Build()
+ File_BeginCameraSceneLookWithTemplateNotify_proto = out.File
+ file_BeginCameraSceneLookWithTemplateNotify_proto_rawDesc = nil
+ file_BeginCameraSceneLookWithTemplateNotify_proto_goTypes = nil
+ file_BeginCameraSceneLookWithTemplateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BigTalentPointConvertReq.pb.go b/protocol/proto/BigTalentPointConvertReq.pb.go
new file mode 100644
index 00000000..8256a8f4
--- /dev/null
+++ b/protocol/proto/BigTalentPointConvertReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BigTalentPointConvertReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1007
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BigTalentPointConvertReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemGuidList []uint64 `protobuf:"varint,6,rep,packed,name=item_guid_list,json=itemGuidList,proto3" json:"item_guid_list,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,3,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *BigTalentPointConvertReq) Reset() {
+ *x = BigTalentPointConvertReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BigTalentPointConvertReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BigTalentPointConvertReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BigTalentPointConvertReq) ProtoMessage() {}
+
+func (x *BigTalentPointConvertReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BigTalentPointConvertReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BigTalentPointConvertReq.ProtoReflect.Descriptor instead.
+func (*BigTalentPointConvertReq) Descriptor() ([]byte, []int) {
+ return file_BigTalentPointConvertReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BigTalentPointConvertReq) GetItemGuidList() []uint64 {
+ if x != nil {
+ return x.ItemGuidList
+ }
+ return nil
+}
+
+func (x *BigTalentPointConvertReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_BigTalentPointConvertReq_proto protoreflect.FileDescriptor
+
+var file_BigTalentPointConvertReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x42, 0x69, 0x67, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x18, 0x42, 0x69, 0x67, 0x54, 0x61,
+ 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x74, 0x65,
+ 0x6d, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BigTalentPointConvertReq_proto_rawDescOnce sync.Once
+ file_BigTalentPointConvertReq_proto_rawDescData = file_BigTalentPointConvertReq_proto_rawDesc
+)
+
+func file_BigTalentPointConvertReq_proto_rawDescGZIP() []byte {
+ file_BigTalentPointConvertReq_proto_rawDescOnce.Do(func() {
+ file_BigTalentPointConvertReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BigTalentPointConvertReq_proto_rawDescData)
+ })
+ return file_BigTalentPointConvertReq_proto_rawDescData
+}
+
+var file_BigTalentPointConvertReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BigTalentPointConvertReq_proto_goTypes = []interface{}{
+ (*BigTalentPointConvertReq)(nil), // 0: proto.BigTalentPointConvertReq
+}
+var file_BigTalentPointConvertReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BigTalentPointConvertReq_proto_init() }
+func file_BigTalentPointConvertReq_proto_init() {
+ if File_BigTalentPointConvertReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BigTalentPointConvertReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BigTalentPointConvertReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BigTalentPointConvertReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BigTalentPointConvertReq_proto_goTypes,
+ DependencyIndexes: file_BigTalentPointConvertReq_proto_depIdxs,
+ MessageInfos: file_BigTalentPointConvertReq_proto_msgTypes,
+ }.Build()
+ File_BigTalentPointConvertReq_proto = out.File
+ file_BigTalentPointConvertReq_proto_rawDesc = nil
+ file_BigTalentPointConvertReq_proto_goTypes = nil
+ file_BigTalentPointConvertReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BigTalentPointConvertRsp.pb.go b/protocol/proto/BigTalentPointConvertRsp.pb.go
new file mode 100644
index 00000000..af369ed1
--- /dev/null
+++ b/protocol/proto/BigTalentPointConvertRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BigTalentPointConvertRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1021
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BigTalentPointConvertRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,8,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *BigTalentPointConvertRsp) Reset() {
+ *x = BigTalentPointConvertRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BigTalentPointConvertRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BigTalentPointConvertRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BigTalentPointConvertRsp) ProtoMessage() {}
+
+func (x *BigTalentPointConvertRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BigTalentPointConvertRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BigTalentPointConvertRsp.ProtoReflect.Descriptor instead.
+func (*BigTalentPointConvertRsp) Descriptor() ([]byte, []int) {
+ return file_BigTalentPointConvertRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BigTalentPointConvertRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BigTalentPointConvertRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_BigTalentPointConvertRsp_proto protoreflect.FileDescriptor
+
+var file_BigTalentPointConvertRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x42, 0x69, 0x67, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x18, 0x42, 0x69, 0x67, 0x54, 0x61,
+ 0x6c, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_BigTalentPointConvertRsp_proto_rawDescOnce sync.Once
+ file_BigTalentPointConvertRsp_proto_rawDescData = file_BigTalentPointConvertRsp_proto_rawDesc
+)
+
+func file_BigTalentPointConvertRsp_proto_rawDescGZIP() []byte {
+ file_BigTalentPointConvertRsp_proto_rawDescOnce.Do(func() {
+ file_BigTalentPointConvertRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BigTalentPointConvertRsp_proto_rawDescData)
+ })
+ return file_BigTalentPointConvertRsp_proto_rawDescData
+}
+
+var file_BigTalentPointConvertRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BigTalentPointConvertRsp_proto_goTypes = []interface{}{
+ (*BigTalentPointConvertRsp)(nil), // 0: proto.BigTalentPointConvertRsp
+}
+var file_BigTalentPointConvertRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BigTalentPointConvertRsp_proto_init() }
+func file_BigTalentPointConvertRsp_proto_init() {
+ if File_BigTalentPointConvertRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BigTalentPointConvertRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BigTalentPointConvertRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BigTalentPointConvertRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BigTalentPointConvertRsp_proto_goTypes,
+ DependencyIndexes: file_BigTalentPointConvertRsp_proto_depIdxs,
+ MessageInfos: file_BigTalentPointConvertRsp_proto_msgTypes,
+ }.Build()
+ File_BigTalentPointConvertRsp_proto = out.File
+ file_BigTalentPointConvertRsp_proto_rawDesc = nil
+ file_BigTalentPointConvertRsp_proto_goTypes = nil
+ file_BigTalentPointConvertRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Birthday.pb.go b/protocol/proto/Birthday.pb.go
new file mode 100644
index 00000000..66dc6d3f
--- /dev/null
+++ b/protocol/proto/Birthday.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Birthday.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Birthday struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Month uint32 `protobuf:"varint,1,opt,name=month,proto3" json:"month,omitempty"`
+ Day uint32 `protobuf:"varint,2,opt,name=day,proto3" json:"day,omitempty"`
+}
+
+func (x *Birthday) Reset() {
+ *x = Birthday{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Birthday_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Birthday) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Birthday) ProtoMessage() {}
+
+func (x *Birthday) ProtoReflect() protoreflect.Message {
+ mi := &file_Birthday_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Birthday.ProtoReflect.Descriptor instead.
+func (*Birthday) Descriptor() ([]byte, []int) {
+ return file_Birthday_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Birthday) GetMonth() uint32 {
+ if x != nil {
+ return x.Month
+ }
+ return 0
+}
+
+func (x *Birthday) GetDay() uint32 {
+ if x != nil {
+ return x.Day
+ }
+ return 0
+}
+
+var File_Birthday_proto protoreflect.FileDescriptor
+
+var file_Birthday_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68,
+ 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x64, 0x61, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Birthday_proto_rawDescOnce sync.Once
+ file_Birthday_proto_rawDescData = file_Birthday_proto_rawDesc
+)
+
+func file_Birthday_proto_rawDescGZIP() []byte {
+ file_Birthday_proto_rawDescOnce.Do(func() {
+ file_Birthday_proto_rawDescData = protoimpl.X.CompressGZIP(file_Birthday_proto_rawDescData)
+ })
+ return file_Birthday_proto_rawDescData
+}
+
+var file_Birthday_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Birthday_proto_goTypes = []interface{}{
+ (*Birthday)(nil), // 0: proto.Birthday
+}
+var file_Birthday_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_Birthday_proto_init() }
+func file_Birthday_proto_init() {
+ if File_Birthday_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Birthday_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Birthday); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Birthday_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Birthday_proto_goTypes,
+ DependencyIndexes: file_Birthday_proto_depIdxs,
+ MessageInfos: file_Birthday_proto_msgTypes,
+ }.Build()
+ File_Birthday_proto = out.File
+ file_Birthday_proto_rawDesc = nil
+ file_Birthday_proto_goTypes = nil
+ file_Birthday_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingAcceptAllGivePicReq.pb.go b/protocol/proto/BlessingAcceptAllGivePicReq.pb.go
new file mode 100644
index 00000000..cadac2bb
--- /dev/null
+++ b/protocol/proto/BlessingAcceptAllGivePicReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingAcceptAllGivePicReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2045
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlessingAcceptAllGivePicReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *BlessingAcceptAllGivePicReq) Reset() {
+ *x = BlessingAcceptAllGivePicReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingAcceptAllGivePicReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingAcceptAllGivePicReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingAcceptAllGivePicReq) ProtoMessage() {}
+
+func (x *BlessingAcceptAllGivePicReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingAcceptAllGivePicReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingAcceptAllGivePicReq.ProtoReflect.Descriptor instead.
+func (*BlessingAcceptAllGivePicReq) Descriptor() ([]byte, []int) {
+ return file_BlessingAcceptAllGivePicReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BlessingAcceptAllGivePicReq_proto protoreflect.FileDescriptor
+
+var file_BlessingAcceptAllGivePicReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x50, 0x69, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x42, 0x6c,
+ 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47,
+ 0x69, 0x76, 0x65, 0x50, 0x69, 0x63, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingAcceptAllGivePicReq_proto_rawDescOnce sync.Once
+ file_BlessingAcceptAllGivePicReq_proto_rawDescData = file_BlessingAcceptAllGivePicReq_proto_rawDesc
+)
+
+func file_BlessingAcceptAllGivePicReq_proto_rawDescGZIP() []byte {
+ file_BlessingAcceptAllGivePicReq_proto_rawDescOnce.Do(func() {
+ file_BlessingAcceptAllGivePicReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingAcceptAllGivePicReq_proto_rawDescData)
+ })
+ return file_BlessingAcceptAllGivePicReq_proto_rawDescData
+}
+
+var file_BlessingAcceptAllGivePicReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingAcceptAllGivePicReq_proto_goTypes = []interface{}{
+ (*BlessingAcceptAllGivePicReq)(nil), // 0: proto.BlessingAcceptAllGivePicReq
+}
+var file_BlessingAcceptAllGivePicReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingAcceptAllGivePicReq_proto_init() }
+func file_BlessingAcceptAllGivePicReq_proto_init() {
+ if File_BlessingAcceptAllGivePicReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingAcceptAllGivePicReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingAcceptAllGivePicReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingAcceptAllGivePicReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingAcceptAllGivePicReq_proto_goTypes,
+ DependencyIndexes: file_BlessingAcceptAllGivePicReq_proto_depIdxs,
+ MessageInfos: file_BlessingAcceptAllGivePicReq_proto_msgTypes,
+ }.Build()
+ File_BlessingAcceptAllGivePicReq_proto = out.File
+ file_BlessingAcceptAllGivePicReq_proto_rawDesc = nil
+ file_BlessingAcceptAllGivePicReq_proto_goTypes = nil
+ file_BlessingAcceptAllGivePicReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingAcceptAllGivePicRsp.pb.go b/protocol/proto/BlessingAcceptAllGivePicRsp.pb.go
new file mode 100644
index 00000000..3623e622
--- /dev/null
+++ b/protocol/proto/BlessingAcceptAllGivePicRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingAcceptAllGivePicRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2044
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlessingAcceptAllGivePicRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AcceptPicNumMap map[uint32]uint32 `protobuf:"bytes,14,rep,name=accept_pic_num_map,json=acceptPicNumMap,proto3" json:"accept_pic_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ AcceptIndexList []uint32 `protobuf:"varint,5,rep,packed,name=accept_index_list,json=acceptIndexList,proto3" json:"accept_index_list,omitempty"`
+}
+
+func (x *BlessingAcceptAllGivePicRsp) Reset() {
+ *x = BlessingAcceptAllGivePicRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingAcceptAllGivePicRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingAcceptAllGivePicRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingAcceptAllGivePicRsp) ProtoMessage() {}
+
+func (x *BlessingAcceptAllGivePicRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingAcceptAllGivePicRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingAcceptAllGivePicRsp.ProtoReflect.Descriptor instead.
+func (*BlessingAcceptAllGivePicRsp) Descriptor() ([]byte, []int) {
+ return file_BlessingAcceptAllGivePicRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingAcceptAllGivePicRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BlessingAcceptAllGivePicRsp) GetAcceptPicNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AcceptPicNumMap
+ }
+ return nil
+}
+
+func (x *BlessingAcceptAllGivePicRsp) GetAcceptIndexList() []uint32 {
+ if x != nil {
+ return x.AcceptIndexList
+ }
+ return nil
+}
+
+var File_BlessingAcceptAllGivePicRsp_proto protoreflect.FileDescriptor
+
+var file_BlessingAcceptAllGivePicRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x50, 0x69, 0x63, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x02, 0x0a, 0x1b, 0x42,
+ 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x6c, 0x6c,
+ 0x47, 0x69, 0x76, 0x65, 0x50, 0x69, 0x63, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x64, 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x70,
+ 0x69, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x37, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e,
+ 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x50, 0x69,
+ 0x63, 0x52, 0x73, 0x70, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x50, 0x69, 0x63, 0x4e, 0x75,
+ 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x70,
+ 0x74, 0x50, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x42, 0x0a, 0x14, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x50, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingAcceptAllGivePicRsp_proto_rawDescOnce sync.Once
+ file_BlessingAcceptAllGivePicRsp_proto_rawDescData = file_BlessingAcceptAllGivePicRsp_proto_rawDesc
+)
+
+func file_BlessingAcceptAllGivePicRsp_proto_rawDescGZIP() []byte {
+ file_BlessingAcceptAllGivePicRsp_proto_rawDescOnce.Do(func() {
+ file_BlessingAcceptAllGivePicRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingAcceptAllGivePicRsp_proto_rawDescData)
+ })
+ return file_BlessingAcceptAllGivePicRsp_proto_rawDescData
+}
+
+var file_BlessingAcceptAllGivePicRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_BlessingAcceptAllGivePicRsp_proto_goTypes = []interface{}{
+ (*BlessingAcceptAllGivePicRsp)(nil), // 0: proto.BlessingAcceptAllGivePicRsp
+ nil, // 1: proto.BlessingAcceptAllGivePicRsp.AcceptPicNumMapEntry
+}
+var file_BlessingAcceptAllGivePicRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.BlessingAcceptAllGivePicRsp.accept_pic_num_map:type_name -> proto.BlessingAcceptAllGivePicRsp.AcceptPicNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlessingAcceptAllGivePicRsp_proto_init() }
+func file_BlessingAcceptAllGivePicRsp_proto_init() {
+ if File_BlessingAcceptAllGivePicRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingAcceptAllGivePicRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingAcceptAllGivePicRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingAcceptAllGivePicRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingAcceptAllGivePicRsp_proto_goTypes,
+ DependencyIndexes: file_BlessingAcceptAllGivePicRsp_proto_depIdxs,
+ MessageInfos: file_BlessingAcceptAllGivePicRsp_proto_msgTypes,
+ }.Build()
+ File_BlessingAcceptAllGivePicRsp_proto = out.File
+ file_BlessingAcceptAllGivePicRsp_proto_rawDesc = nil
+ file_BlessingAcceptAllGivePicRsp_proto_goTypes = nil
+ file_BlessingAcceptAllGivePicRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingAcceptGivePicReq.pb.go b/protocol/proto/BlessingAcceptGivePicReq.pb.go
new file mode 100644
index 00000000..2c867d0c
--- /dev/null
+++ b/protocol/proto/BlessingAcceptGivePicReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingAcceptGivePicReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2006
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlessingAcceptGivePicReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,9,opt,name=index,proto3" json:"index,omitempty"`
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *BlessingAcceptGivePicReq) Reset() {
+ *x = BlessingAcceptGivePicReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingAcceptGivePicReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingAcceptGivePicReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingAcceptGivePicReq) ProtoMessage() {}
+
+func (x *BlessingAcceptGivePicReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingAcceptGivePicReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingAcceptGivePicReq.ProtoReflect.Descriptor instead.
+func (*BlessingAcceptGivePicReq) Descriptor() ([]byte, []int) {
+ return file_BlessingAcceptGivePicReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingAcceptGivePicReq) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *BlessingAcceptGivePicReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_BlessingAcceptGivePicReq_proto protoreflect.FileDescriptor
+
+var file_BlessingAcceptGivePicReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x47, 0x69, 0x76, 0x65, 0x50, 0x69, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x18, 0x42, 0x6c, 0x65, 0x73, 0x73,
+ 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x50, 0x69, 0x63,
+ 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingAcceptGivePicReq_proto_rawDescOnce sync.Once
+ file_BlessingAcceptGivePicReq_proto_rawDescData = file_BlessingAcceptGivePicReq_proto_rawDesc
+)
+
+func file_BlessingAcceptGivePicReq_proto_rawDescGZIP() []byte {
+ file_BlessingAcceptGivePicReq_proto_rawDescOnce.Do(func() {
+ file_BlessingAcceptGivePicReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingAcceptGivePicReq_proto_rawDescData)
+ })
+ return file_BlessingAcceptGivePicReq_proto_rawDescData
+}
+
+var file_BlessingAcceptGivePicReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingAcceptGivePicReq_proto_goTypes = []interface{}{
+ (*BlessingAcceptGivePicReq)(nil), // 0: proto.BlessingAcceptGivePicReq
+}
+var file_BlessingAcceptGivePicReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingAcceptGivePicReq_proto_init() }
+func file_BlessingAcceptGivePicReq_proto_init() {
+ if File_BlessingAcceptGivePicReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingAcceptGivePicReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingAcceptGivePicReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingAcceptGivePicReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingAcceptGivePicReq_proto_goTypes,
+ DependencyIndexes: file_BlessingAcceptGivePicReq_proto_depIdxs,
+ MessageInfos: file_BlessingAcceptGivePicReq_proto_msgTypes,
+ }.Build()
+ File_BlessingAcceptGivePicReq_proto = out.File
+ file_BlessingAcceptGivePicReq_proto_rawDesc = nil
+ file_BlessingAcceptGivePicReq_proto_goTypes = nil
+ file_BlessingAcceptGivePicReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingAcceptGivePicRsp.pb.go b/protocol/proto/BlessingAcceptGivePicRsp.pb.go
new file mode 100644
index 00000000..fac578e2
--- /dev/null
+++ b/protocol/proto/BlessingAcceptGivePicRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingAcceptGivePicRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2055
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlessingAcceptGivePicRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PicId uint32 `protobuf:"varint,1,opt,name=pic_id,json=picId,proto3" json:"pic_id,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Index uint32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"`
+ Uid uint32 `protobuf:"varint,14,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *BlessingAcceptGivePicRsp) Reset() {
+ *x = BlessingAcceptGivePicRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingAcceptGivePicRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingAcceptGivePicRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingAcceptGivePicRsp) ProtoMessage() {}
+
+func (x *BlessingAcceptGivePicRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingAcceptGivePicRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingAcceptGivePicRsp.ProtoReflect.Descriptor instead.
+func (*BlessingAcceptGivePicRsp) Descriptor() ([]byte, []int) {
+ return file_BlessingAcceptGivePicRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingAcceptGivePicRsp) GetPicId() uint32 {
+ if x != nil {
+ return x.PicId
+ }
+ return 0
+}
+
+func (x *BlessingAcceptGivePicRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BlessingAcceptGivePicRsp) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *BlessingAcceptGivePicRsp) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_BlessingAcceptGivePicRsp_proto protoreflect.FileDescriptor
+
+var file_BlessingAcceptGivePicRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x47, 0x69, 0x76, 0x65, 0x50, 0x69, 0x63, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x18, 0x42, 0x6c, 0x65, 0x73, 0x73,
+ 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x50, 0x69, 0x63,
+ 0x52, 0x73, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingAcceptGivePicRsp_proto_rawDescOnce sync.Once
+ file_BlessingAcceptGivePicRsp_proto_rawDescData = file_BlessingAcceptGivePicRsp_proto_rawDesc
+)
+
+func file_BlessingAcceptGivePicRsp_proto_rawDescGZIP() []byte {
+ file_BlessingAcceptGivePicRsp_proto_rawDescOnce.Do(func() {
+ file_BlessingAcceptGivePicRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingAcceptGivePicRsp_proto_rawDescData)
+ })
+ return file_BlessingAcceptGivePicRsp_proto_rawDescData
+}
+
+var file_BlessingAcceptGivePicRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingAcceptGivePicRsp_proto_goTypes = []interface{}{
+ (*BlessingAcceptGivePicRsp)(nil), // 0: proto.BlessingAcceptGivePicRsp
+}
+var file_BlessingAcceptGivePicRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingAcceptGivePicRsp_proto_init() }
+func file_BlessingAcceptGivePicRsp_proto_init() {
+ if File_BlessingAcceptGivePicRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingAcceptGivePicRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingAcceptGivePicRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingAcceptGivePicRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingAcceptGivePicRsp_proto_goTypes,
+ DependencyIndexes: file_BlessingAcceptGivePicRsp_proto_depIdxs,
+ MessageInfos: file_BlessingAcceptGivePicRsp_proto_msgTypes,
+ }.Build()
+ File_BlessingAcceptGivePicRsp_proto = out.File
+ file_BlessingAcceptGivePicRsp_proto_rawDesc = nil
+ file_BlessingAcceptGivePicRsp_proto_goTypes = nil
+ file_BlessingAcceptGivePicRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingActivityDetailInfo.pb.go b/protocol/proto/BlessingActivityDetailInfo.pb.go
new file mode 100644
index 00000000..7ccb9849
--- /dev/null
+++ b/protocol/proto/BlessingActivityDetailInfo.pb.go
@@ -0,0 +1,244 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlessingActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurDayScanType uint32 `protobuf:"varint,9,opt,name=cur_day_scan_type,json=curDayScanType,proto3" json:"cur_day_scan_type,omitempty"`
+ IsContentClosed bool `protobuf:"varint,11,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ PicNumMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=pic_num_map,json=picNumMap,proto3" json:"pic_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ContentCloseTime uint32 `protobuf:"varint,2,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ CurDayScanNum uint32 `protobuf:"varint,4,opt,name=cur_day_scan_num,json=curDayScanNum,proto3" json:"cur_day_scan_num,omitempty"`
+ RedeemRewardNum uint32 `protobuf:"varint,1,opt,name=redeem_reward_num,json=redeemRewardNum,proto3" json:"redeem_reward_num,omitempty"`
+ IsActivated bool `protobuf:"varint,13,opt,name=is_activated,json=isActivated,proto3" json:"is_activated,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,6,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+}
+
+func (x *BlessingActivityDetailInfo) Reset() {
+ *x = BlessingActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingActivityDetailInfo) ProtoMessage() {}
+
+func (x *BlessingActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*BlessingActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_BlessingActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingActivityDetailInfo) GetCurDayScanType() uint32 {
+ if x != nil {
+ return x.CurDayScanType
+ }
+ return 0
+}
+
+func (x *BlessingActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *BlessingActivityDetailInfo) GetPicNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.PicNumMap
+ }
+ return nil
+}
+
+func (x *BlessingActivityDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *BlessingActivityDetailInfo) GetCurDayScanNum() uint32 {
+ if x != nil {
+ return x.CurDayScanNum
+ }
+ return 0
+}
+
+func (x *BlessingActivityDetailInfo) GetRedeemRewardNum() uint32 {
+ if x != nil {
+ return x.RedeemRewardNum
+ }
+ return 0
+}
+
+func (x *BlessingActivityDetailInfo) GetIsActivated() bool {
+ if x != nil {
+ return x.IsActivated
+ }
+ return false
+}
+
+func (x *BlessingActivityDetailInfo) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+var File_BlessingActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_BlessingActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x03, 0x0a, 0x1a, 0x42, 0x6c,
+ 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x5f,
+ 0x64, 0x61, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x44, 0x61, 0x79, 0x53, 0x63, 0x61, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
+ 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12,
+ 0x50, 0x0a, 0x0b, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x65,
+ 0x73, 0x73, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x27, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f,
+ 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x44, 0x61,
+ 0x79, 0x53, 0x63, 0x61, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x64, 0x65,
+ 0x65, 0x6d, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x61, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f,
+ 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54,
+ 0x69, 0x6d, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x50, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_BlessingActivityDetailInfo_proto_rawDescData = file_BlessingActivityDetailInfo_proto_rawDesc
+)
+
+func file_BlessingActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_BlessingActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_BlessingActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingActivityDetailInfo_proto_rawDescData)
+ })
+ return file_BlessingActivityDetailInfo_proto_rawDescData
+}
+
+var file_BlessingActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_BlessingActivityDetailInfo_proto_goTypes = []interface{}{
+ (*BlessingActivityDetailInfo)(nil), // 0: proto.BlessingActivityDetailInfo
+ nil, // 1: proto.BlessingActivityDetailInfo.PicNumMapEntry
+}
+var file_BlessingActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BlessingActivityDetailInfo.pic_num_map:type_name -> proto.BlessingActivityDetailInfo.PicNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlessingActivityDetailInfo_proto_init() }
+func file_BlessingActivityDetailInfo_proto_init() {
+ if File_BlessingActivityDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_BlessingActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_BlessingActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_BlessingActivityDetailInfo_proto = out.File
+ file_BlessingActivityDetailInfo_proto_rawDesc = nil
+ file_BlessingActivityDetailInfo_proto_goTypes = nil
+ file_BlessingActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingFriendPicData.pb.go b/protocol/proto/BlessingFriendPicData.pb.go
new file mode 100644
index 00000000..e5e589ba
--- /dev/null
+++ b/protocol/proto/BlessingFriendPicData.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingFriendPicData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlessingFriendPicData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PicNumMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=pic_num_map,json=picNumMap,proto3" json:"pic_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ AvatarId uint32 `protobuf:"varint,5,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ RemarkName string `protobuf:"bytes,11,opt,name=remark_name,json=remarkName,proto3" json:"remark_name,omitempty"`
+ Nickname string `protobuf:"bytes,14,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,6,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ Uid uint32 `protobuf:"varint,9,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *BlessingFriendPicData) Reset() {
+ *x = BlessingFriendPicData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingFriendPicData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingFriendPicData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingFriendPicData) ProtoMessage() {}
+
+func (x *BlessingFriendPicData) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingFriendPicData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingFriendPicData.ProtoReflect.Descriptor instead.
+func (*BlessingFriendPicData) Descriptor() ([]byte, []int) {
+ return file_BlessingFriendPicData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingFriendPicData) GetPicNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.PicNumMap
+ }
+ return nil
+}
+
+func (x *BlessingFriendPicData) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *BlessingFriendPicData) GetRemarkName() string {
+ if x != nil {
+ return x.RemarkName
+ }
+ return ""
+}
+
+func (x *BlessingFriendPicData) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *BlessingFriendPicData) GetSignature() string {
+ if x != nil {
+ return x.Signature
+ }
+ return ""
+}
+
+func (x *BlessingFriendPicData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *BlessingFriendPicData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_BlessingFriendPicData_proto protoreflect.FileDescriptor
+
+var file_BlessingFriendPicData_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x50, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x02, 0x0a, 0x15, 0x42,
+ 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x4b, 0x0a, 0x0b, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x50, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+ 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73,
+ 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x1a, 0x3c, 0x0a, 0x0e, 0x50,
+ 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingFriendPicData_proto_rawDescOnce sync.Once
+ file_BlessingFriendPicData_proto_rawDescData = file_BlessingFriendPicData_proto_rawDesc
+)
+
+func file_BlessingFriendPicData_proto_rawDescGZIP() []byte {
+ file_BlessingFriendPicData_proto_rawDescOnce.Do(func() {
+ file_BlessingFriendPicData_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingFriendPicData_proto_rawDescData)
+ })
+ return file_BlessingFriendPicData_proto_rawDescData
+}
+
+var file_BlessingFriendPicData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_BlessingFriendPicData_proto_goTypes = []interface{}{
+ (*BlessingFriendPicData)(nil), // 0: proto.BlessingFriendPicData
+ nil, // 1: proto.BlessingFriendPicData.PicNumMapEntry
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_BlessingFriendPicData_proto_depIdxs = []int32{
+ 1, // 0: proto.BlessingFriendPicData.pic_num_map:type_name -> proto.BlessingFriendPicData.PicNumMapEntry
+ 2, // 1: proto.BlessingFriendPicData.profile_picture:type_name -> proto.ProfilePicture
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_BlessingFriendPicData_proto_init() }
+func file_BlessingFriendPicData_proto_init() {
+ if File_BlessingFriendPicData_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingFriendPicData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingFriendPicData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingFriendPicData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingFriendPicData_proto_goTypes,
+ DependencyIndexes: file_BlessingFriendPicData_proto_depIdxs,
+ MessageInfos: file_BlessingFriendPicData_proto_msgTypes,
+ }.Build()
+ File_BlessingFriendPicData_proto = out.File
+ file_BlessingFriendPicData_proto_rawDesc = nil
+ file_BlessingFriendPicData_proto_goTypes = nil
+ file_BlessingFriendPicData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingGetAllRecvPicRecordListReq.pb.go b/protocol/proto/BlessingGetAllRecvPicRecordListReq.pb.go
new file mode 100644
index 00000000..ea10a9fe
--- /dev/null
+++ b/protocol/proto/BlessingGetAllRecvPicRecordListReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingGetAllRecvPicRecordListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2096
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlessingGetAllRecvPicRecordListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *BlessingGetAllRecvPicRecordListReq) Reset() {
+ *x = BlessingGetAllRecvPicRecordListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingGetAllRecvPicRecordListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingGetAllRecvPicRecordListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingGetAllRecvPicRecordListReq) ProtoMessage() {}
+
+func (x *BlessingGetAllRecvPicRecordListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingGetAllRecvPicRecordListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingGetAllRecvPicRecordListReq.ProtoReflect.Descriptor instead.
+func (*BlessingGetAllRecvPicRecordListReq) Descriptor() ([]byte, []int) {
+ return file_BlessingGetAllRecvPicRecordListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BlessingGetAllRecvPicRecordListReq_proto protoreflect.FileDescriptor
+
+var file_BlessingGetAllRecvPicRecordListReq_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
+ 0x52, 0x65, 0x63, 0x76, 0x50, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x24, 0x0a, 0x22, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74,
+ 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x50, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingGetAllRecvPicRecordListReq_proto_rawDescOnce sync.Once
+ file_BlessingGetAllRecvPicRecordListReq_proto_rawDescData = file_BlessingGetAllRecvPicRecordListReq_proto_rawDesc
+)
+
+func file_BlessingGetAllRecvPicRecordListReq_proto_rawDescGZIP() []byte {
+ file_BlessingGetAllRecvPicRecordListReq_proto_rawDescOnce.Do(func() {
+ file_BlessingGetAllRecvPicRecordListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingGetAllRecvPicRecordListReq_proto_rawDescData)
+ })
+ return file_BlessingGetAllRecvPicRecordListReq_proto_rawDescData
+}
+
+var file_BlessingGetAllRecvPicRecordListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingGetAllRecvPicRecordListReq_proto_goTypes = []interface{}{
+ (*BlessingGetAllRecvPicRecordListReq)(nil), // 0: proto.BlessingGetAllRecvPicRecordListReq
+}
+var file_BlessingGetAllRecvPicRecordListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingGetAllRecvPicRecordListReq_proto_init() }
+func file_BlessingGetAllRecvPicRecordListReq_proto_init() {
+ if File_BlessingGetAllRecvPicRecordListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingGetAllRecvPicRecordListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingGetAllRecvPicRecordListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingGetAllRecvPicRecordListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingGetAllRecvPicRecordListReq_proto_goTypes,
+ DependencyIndexes: file_BlessingGetAllRecvPicRecordListReq_proto_depIdxs,
+ MessageInfos: file_BlessingGetAllRecvPicRecordListReq_proto_msgTypes,
+ }.Build()
+ File_BlessingGetAllRecvPicRecordListReq_proto = out.File
+ file_BlessingGetAllRecvPicRecordListReq_proto_rawDesc = nil
+ file_BlessingGetAllRecvPicRecordListReq_proto_goTypes = nil
+ file_BlessingGetAllRecvPicRecordListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingGetAllRecvPicRecordListRsp.pb.go b/protocol/proto/BlessingGetAllRecvPicRecordListRsp.pb.go
new file mode 100644
index 00000000..512b64d6
--- /dev/null
+++ b/protocol/proto/BlessingGetAllRecvPicRecordListRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingGetAllRecvPicRecordListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2083
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlessingGetAllRecvPicRecordListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecvPicRecordList []*BlessingRecvPicRecord `protobuf:"bytes,15,rep,name=recv_pic_record_list,json=recvPicRecordList,proto3" json:"recv_pic_record_list,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *BlessingGetAllRecvPicRecordListRsp) Reset() {
+ *x = BlessingGetAllRecvPicRecordListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingGetAllRecvPicRecordListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingGetAllRecvPicRecordListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingGetAllRecvPicRecordListRsp) ProtoMessage() {}
+
+func (x *BlessingGetAllRecvPicRecordListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingGetAllRecvPicRecordListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingGetAllRecvPicRecordListRsp.ProtoReflect.Descriptor instead.
+func (*BlessingGetAllRecvPicRecordListRsp) Descriptor() ([]byte, []int) {
+ return file_BlessingGetAllRecvPicRecordListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingGetAllRecvPicRecordListRsp) GetRecvPicRecordList() []*BlessingRecvPicRecord {
+ if x != nil {
+ return x.RecvPicRecordList
+ }
+ return nil
+}
+
+func (x *BlessingGetAllRecvPicRecordListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_BlessingGetAllRecvPicRecordListRsp_proto protoreflect.FileDescriptor
+
+var file_BlessingGetAllRecvPicRecordListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
+ 0x52, 0x65, 0x63, 0x76, 0x50, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1b, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x76, 0x50,
+ 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d,
+ 0x01, 0x0a, 0x22, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x41, 0x6c,
+ 0x6c, 0x52, 0x65, 0x63, 0x76, 0x50, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x70, 0x69,
+ 0x63, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x65, 0x73,
+ 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x76, 0x50, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x52, 0x11, 0x72, 0x65, 0x63, 0x76, 0x50, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_BlessingGetAllRecvPicRecordListRsp_proto_rawDescOnce sync.Once
+ file_BlessingGetAllRecvPicRecordListRsp_proto_rawDescData = file_BlessingGetAllRecvPicRecordListRsp_proto_rawDesc
+)
+
+func file_BlessingGetAllRecvPicRecordListRsp_proto_rawDescGZIP() []byte {
+ file_BlessingGetAllRecvPicRecordListRsp_proto_rawDescOnce.Do(func() {
+ file_BlessingGetAllRecvPicRecordListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingGetAllRecvPicRecordListRsp_proto_rawDescData)
+ })
+ return file_BlessingGetAllRecvPicRecordListRsp_proto_rawDescData
+}
+
+var file_BlessingGetAllRecvPicRecordListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingGetAllRecvPicRecordListRsp_proto_goTypes = []interface{}{
+ (*BlessingGetAllRecvPicRecordListRsp)(nil), // 0: proto.BlessingGetAllRecvPicRecordListRsp
+ (*BlessingRecvPicRecord)(nil), // 1: proto.BlessingRecvPicRecord
+}
+var file_BlessingGetAllRecvPicRecordListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.BlessingGetAllRecvPicRecordListRsp.recv_pic_record_list:type_name -> proto.BlessingRecvPicRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlessingGetAllRecvPicRecordListRsp_proto_init() }
+func file_BlessingGetAllRecvPicRecordListRsp_proto_init() {
+ if File_BlessingGetAllRecvPicRecordListRsp_proto != nil {
+ return
+ }
+ file_BlessingRecvPicRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingGetAllRecvPicRecordListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingGetAllRecvPicRecordListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingGetAllRecvPicRecordListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingGetAllRecvPicRecordListRsp_proto_goTypes,
+ DependencyIndexes: file_BlessingGetAllRecvPicRecordListRsp_proto_depIdxs,
+ MessageInfos: file_BlessingGetAllRecvPicRecordListRsp_proto_msgTypes,
+ }.Build()
+ File_BlessingGetAllRecvPicRecordListRsp_proto = out.File
+ file_BlessingGetAllRecvPicRecordListRsp_proto_rawDesc = nil
+ file_BlessingGetAllRecvPicRecordListRsp_proto_goTypes = nil
+ file_BlessingGetAllRecvPicRecordListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingGetFriendPicListReq.pb.go b/protocol/proto/BlessingGetFriendPicListReq.pb.go
new file mode 100644
index 00000000..0e7af54a
--- /dev/null
+++ b/protocol/proto/BlessingGetFriendPicListReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingGetFriendPicListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2043
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlessingGetFriendPicListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *BlessingGetFriendPicListReq) Reset() {
+ *x = BlessingGetFriendPicListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingGetFriendPicListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingGetFriendPicListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingGetFriendPicListReq) ProtoMessage() {}
+
+func (x *BlessingGetFriendPicListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingGetFriendPicListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingGetFriendPicListReq.ProtoReflect.Descriptor instead.
+func (*BlessingGetFriendPicListReq) Descriptor() ([]byte, []int) {
+ return file_BlessingGetFriendPicListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BlessingGetFriendPicListReq_proto protoreflect.FileDescriptor
+
+var file_BlessingGetFriendPicListReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x42, 0x6c,
+ 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50,
+ 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingGetFriendPicListReq_proto_rawDescOnce sync.Once
+ file_BlessingGetFriendPicListReq_proto_rawDescData = file_BlessingGetFriendPicListReq_proto_rawDesc
+)
+
+func file_BlessingGetFriendPicListReq_proto_rawDescGZIP() []byte {
+ file_BlessingGetFriendPicListReq_proto_rawDescOnce.Do(func() {
+ file_BlessingGetFriendPicListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingGetFriendPicListReq_proto_rawDescData)
+ })
+ return file_BlessingGetFriendPicListReq_proto_rawDescData
+}
+
+var file_BlessingGetFriendPicListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingGetFriendPicListReq_proto_goTypes = []interface{}{
+ (*BlessingGetFriendPicListReq)(nil), // 0: proto.BlessingGetFriendPicListReq
+}
+var file_BlessingGetFriendPicListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingGetFriendPicListReq_proto_init() }
+func file_BlessingGetFriendPicListReq_proto_init() {
+ if File_BlessingGetFriendPicListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingGetFriendPicListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingGetFriendPicListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingGetFriendPicListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingGetFriendPicListReq_proto_goTypes,
+ DependencyIndexes: file_BlessingGetFriendPicListReq_proto_depIdxs,
+ MessageInfos: file_BlessingGetFriendPicListReq_proto_msgTypes,
+ }.Build()
+ File_BlessingGetFriendPicListReq_proto = out.File
+ file_BlessingGetFriendPicListReq_proto_rawDesc = nil
+ file_BlessingGetFriendPicListReq_proto_goTypes = nil
+ file_BlessingGetFriendPicListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingGetFriendPicListRsp.pb.go b/protocol/proto/BlessingGetFriendPicListRsp.pb.go
new file mode 100644
index 00000000..a0707390
--- /dev/null
+++ b/protocol/proto/BlessingGetFriendPicListRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingGetFriendPicListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2056
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlessingGetFriendPicListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FriendPicDataList []*BlessingFriendPicData `protobuf:"bytes,6,rep,name=friend_pic_data_list,json=friendPicDataList,proto3" json:"friend_pic_data_list,omitempty"`
+}
+
+func (x *BlessingGetFriendPicListRsp) Reset() {
+ *x = BlessingGetFriendPicListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingGetFriendPicListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingGetFriendPicListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingGetFriendPicListRsp) ProtoMessage() {}
+
+func (x *BlessingGetFriendPicListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingGetFriendPicListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingGetFriendPicListRsp.ProtoReflect.Descriptor instead.
+func (*BlessingGetFriendPicListRsp) Descriptor() ([]byte, []int) {
+ return file_BlessingGetFriendPicListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingGetFriendPicListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BlessingGetFriendPicListRsp) GetFriendPicDataList() []*BlessingFriendPicData {
+ if x != nil {
+ return x.FriendPicDataList
+ }
+ return nil
+}
+
+var File_BlessingGetFriendPicListRsp_proto protoreflect.FileDescriptor
+
+var file_BlessingGetFriendPicListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x42, 0x6c, 0x65, 0x73,
+ 0x73, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x1b, 0x42, 0x6c, 0x65, 0x73,
+ 0x73, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x4d, 0x0a, 0x14, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x70, 0x69, 0x63, 0x5f,
+ 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x66,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingGetFriendPicListRsp_proto_rawDescOnce sync.Once
+ file_BlessingGetFriendPicListRsp_proto_rawDescData = file_BlessingGetFriendPicListRsp_proto_rawDesc
+)
+
+func file_BlessingGetFriendPicListRsp_proto_rawDescGZIP() []byte {
+ file_BlessingGetFriendPicListRsp_proto_rawDescOnce.Do(func() {
+ file_BlessingGetFriendPicListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingGetFriendPicListRsp_proto_rawDescData)
+ })
+ return file_BlessingGetFriendPicListRsp_proto_rawDescData
+}
+
+var file_BlessingGetFriendPicListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingGetFriendPicListRsp_proto_goTypes = []interface{}{
+ (*BlessingGetFriendPicListRsp)(nil), // 0: proto.BlessingGetFriendPicListRsp
+ (*BlessingFriendPicData)(nil), // 1: proto.BlessingFriendPicData
+}
+var file_BlessingGetFriendPicListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.BlessingGetFriendPicListRsp.friend_pic_data_list:type_name -> proto.BlessingFriendPicData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlessingGetFriendPicListRsp_proto_init() }
+func file_BlessingGetFriendPicListRsp_proto_init() {
+ if File_BlessingGetFriendPicListRsp_proto != nil {
+ return
+ }
+ file_BlessingFriendPicData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingGetFriendPicListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingGetFriendPicListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingGetFriendPicListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingGetFriendPicListRsp_proto_goTypes,
+ DependencyIndexes: file_BlessingGetFriendPicListRsp_proto_depIdxs,
+ MessageInfos: file_BlessingGetFriendPicListRsp_proto_msgTypes,
+ }.Build()
+ File_BlessingGetFriendPicListRsp_proto = out.File
+ file_BlessingGetFriendPicListRsp_proto_rawDesc = nil
+ file_BlessingGetFriendPicListRsp_proto_goTypes = nil
+ file_BlessingGetFriendPicListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingGiveFriendPicReq.pb.go b/protocol/proto/BlessingGiveFriendPicReq.pb.go
new file mode 100644
index 00000000..18b2aceb
--- /dev/null
+++ b/protocol/proto/BlessingGiveFriendPicReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingGiveFriendPicReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2062
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlessingGiveFriendPicReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,11,opt,name=uid,proto3" json:"uid,omitempty"`
+ PicId uint32 `protobuf:"varint,3,opt,name=pic_id,json=picId,proto3" json:"pic_id,omitempty"`
+}
+
+func (x *BlessingGiveFriendPicReq) Reset() {
+ *x = BlessingGiveFriendPicReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingGiveFriendPicReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingGiveFriendPicReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingGiveFriendPicReq) ProtoMessage() {}
+
+func (x *BlessingGiveFriendPicReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingGiveFriendPicReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingGiveFriendPicReq.ProtoReflect.Descriptor instead.
+func (*BlessingGiveFriendPicReq) Descriptor() ([]byte, []int) {
+ return file_BlessingGiveFriendPicReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingGiveFriendPicReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *BlessingGiveFriendPicReq) GetPicId() uint32 {
+ if x != nil {
+ return x.PicId
+ }
+ return 0
+}
+
+var File_BlessingGiveFriendPicReq_proto protoreflect.FileDescriptor
+
+var file_BlessingGiveFriendPicReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x18, 0x42, 0x6c, 0x65, 0x73, 0x73,
+ 0x69, 0x6e, 0x67, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63,
+ 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingGiveFriendPicReq_proto_rawDescOnce sync.Once
+ file_BlessingGiveFriendPicReq_proto_rawDescData = file_BlessingGiveFriendPicReq_proto_rawDesc
+)
+
+func file_BlessingGiveFriendPicReq_proto_rawDescGZIP() []byte {
+ file_BlessingGiveFriendPicReq_proto_rawDescOnce.Do(func() {
+ file_BlessingGiveFriendPicReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingGiveFriendPicReq_proto_rawDescData)
+ })
+ return file_BlessingGiveFriendPicReq_proto_rawDescData
+}
+
+var file_BlessingGiveFriendPicReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingGiveFriendPicReq_proto_goTypes = []interface{}{
+ (*BlessingGiveFriendPicReq)(nil), // 0: proto.BlessingGiveFriendPicReq
+}
+var file_BlessingGiveFriendPicReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingGiveFriendPicReq_proto_init() }
+func file_BlessingGiveFriendPicReq_proto_init() {
+ if File_BlessingGiveFriendPicReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingGiveFriendPicReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingGiveFriendPicReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingGiveFriendPicReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingGiveFriendPicReq_proto_goTypes,
+ DependencyIndexes: file_BlessingGiveFriendPicReq_proto_depIdxs,
+ MessageInfos: file_BlessingGiveFriendPicReq_proto_msgTypes,
+ }.Build()
+ File_BlessingGiveFriendPicReq_proto = out.File
+ file_BlessingGiveFriendPicReq_proto_rawDesc = nil
+ file_BlessingGiveFriendPicReq_proto_goTypes = nil
+ file_BlessingGiveFriendPicReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingGiveFriendPicRsp.pb.go b/protocol/proto/BlessingGiveFriendPicRsp.pb.go
new file mode 100644
index 00000000..ce469982
--- /dev/null
+++ b/protocol/proto/BlessingGiveFriendPicRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingGiveFriendPicRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2053
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlessingGiveFriendPicRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PicId uint32 `protobuf:"varint,10,opt,name=pic_id,json=picId,proto3" json:"pic_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Uid uint32 `protobuf:"varint,13,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *BlessingGiveFriendPicRsp) Reset() {
+ *x = BlessingGiveFriendPicRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingGiveFriendPicRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingGiveFriendPicRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingGiveFriendPicRsp) ProtoMessage() {}
+
+func (x *BlessingGiveFriendPicRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingGiveFriendPicRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingGiveFriendPicRsp.ProtoReflect.Descriptor instead.
+func (*BlessingGiveFriendPicRsp) Descriptor() ([]byte, []int) {
+ return file_BlessingGiveFriendPicRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingGiveFriendPicRsp) GetPicId() uint32 {
+ if x != nil {
+ return x.PicId
+ }
+ return 0
+}
+
+func (x *BlessingGiveFriendPicRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BlessingGiveFriendPicRsp) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_BlessingGiveFriendPicRsp_proto protoreflect.FileDescriptor
+
+var file_BlessingGiveFriendPicRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x18, 0x42, 0x6c, 0x65, 0x73, 0x73,
+ 0x69, 0x6e, 0x67, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63,
+ 0x52, 0x73, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingGiveFriendPicRsp_proto_rawDescOnce sync.Once
+ file_BlessingGiveFriendPicRsp_proto_rawDescData = file_BlessingGiveFriendPicRsp_proto_rawDesc
+)
+
+func file_BlessingGiveFriendPicRsp_proto_rawDescGZIP() []byte {
+ file_BlessingGiveFriendPicRsp_proto_rawDescOnce.Do(func() {
+ file_BlessingGiveFriendPicRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingGiveFriendPicRsp_proto_rawDescData)
+ })
+ return file_BlessingGiveFriendPicRsp_proto_rawDescData
+}
+
+var file_BlessingGiveFriendPicRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingGiveFriendPicRsp_proto_goTypes = []interface{}{
+ (*BlessingGiveFriendPicRsp)(nil), // 0: proto.BlessingGiveFriendPicRsp
+}
+var file_BlessingGiveFriendPicRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingGiveFriendPicRsp_proto_init() }
+func file_BlessingGiveFriendPicRsp_proto_init() {
+ if File_BlessingGiveFriendPicRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingGiveFriendPicRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingGiveFriendPicRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingGiveFriendPicRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingGiveFriendPicRsp_proto_goTypes,
+ DependencyIndexes: file_BlessingGiveFriendPicRsp_proto_depIdxs,
+ MessageInfos: file_BlessingGiveFriendPicRsp_proto_msgTypes,
+ }.Build()
+ File_BlessingGiveFriendPicRsp_proto = out.File
+ file_BlessingGiveFriendPicRsp_proto_rawDesc = nil
+ file_BlessingGiveFriendPicRsp_proto_goTypes = nil
+ file_BlessingGiveFriendPicRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingRecvFriendPicNotify.pb.go b/protocol/proto/BlessingRecvFriendPicNotify.pb.go
new file mode 100644
index 00000000..31c3b8a8
--- /dev/null
+++ b/protocol/proto/BlessingRecvFriendPicNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingRecvFriendPicNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2178
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlessingRecvFriendPicNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,15,opt,name=uid,proto3" json:"uid,omitempty"`
+ PicId uint32 `protobuf:"varint,5,opt,name=pic_id,json=picId,proto3" json:"pic_id,omitempty"`
+}
+
+func (x *BlessingRecvFriendPicNotify) Reset() {
+ *x = BlessingRecvFriendPicNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingRecvFriendPicNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingRecvFriendPicNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingRecvFriendPicNotify) ProtoMessage() {}
+
+func (x *BlessingRecvFriendPicNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingRecvFriendPicNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingRecvFriendPicNotify.ProtoReflect.Descriptor instead.
+func (*BlessingRecvFriendPicNotify) Descriptor() ([]byte, []int) {
+ return file_BlessingRecvFriendPicNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingRecvFriendPicNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *BlessingRecvFriendPicNotify) GetPicId() uint32 {
+ if x != nil {
+ return x.PicId
+ }
+ return 0
+}
+
+var File_BlessingRecvFriendPicNotify_proto protoreflect.FileDescriptor
+
+var file_BlessingRecvFriendPicNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x76, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x50, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x1b, 0x42, 0x6c,
+ 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x76, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x50, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x70,
+ 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x69, 0x63,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingRecvFriendPicNotify_proto_rawDescOnce sync.Once
+ file_BlessingRecvFriendPicNotify_proto_rawDescData = file_BlessingRecvFriendPicNotify_proto_rawDesc
+)
+
+func file_BlessingRecvFriendPicNotify_proto_rawDescGZIP() []byte {
+ file_BlessingRecvFriendPicNotify_proto_rawDescOnce.Do(func() {
+ file_BlessingRecvFriendPicNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingRecvFriendPicNotify_proto_rawDescData)
+ })
+ return file_BlessingRecvFriendPicNotify_proto_rawDescData
+}
+
+var file_BlessingRecvFriendPicNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingRecvFriendPicNotify_proto_goTypes = []interface{}{
+ (*BlessingRecvFriendPicNotify)(nil), // 0: proto.BlessingRecvFriendPicNotify
+}
+var file_BlessingRecvFriendPicNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingRecvFriendPicNotify_proto_init() }
+func file_BlessingRecvFriendPicNotify_proto_init() {
+ if File_BlessingRecvFriendPicNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingRecvFriendPicNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingRecvFriendPicNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingRecvFriendPicNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingRecvFriendPicNotify_proto_goTypes,
+ DependencyIndexes: file_BlessingRecvFriendPicNotify_proto_depIdxs,
+ MessageInfos: file_BlessingRecvFriendPicNotify_proto_msgTypes,
+ }.Build()
+ File_BlessingRecvFriendPicNotify_proto = out.File
+ file_BlessingRecvFriendPicNotify_proto_rawDesc = nil
+ file_BlessingRecvFriendPicNotify_proto_goTypes = nil
+ file_BlessingRecvFriendPicNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingRecvPicRecord.pb.go b/protocol/proto/BlessingRecvPicRecord.pb.go
new file mode 100644
index 00000000..8fb4c1dc
--- /dev/null
+++ b/protocol/proto/BlessingRecvPicRecord.pb.go
@@ -0,0 +1,243 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingRecvPicRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlessingRecvPicRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Nickname string `protobuf:"bytes,1,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ RemarkName string `protobuf:"bytes,2,opt,name=remark_name,json=remarkName,proto3" json:"remark_name,omitempty"`
+ PicId uint32 `protobuf:"varint,3,opt,name=pic_id,json=picId,proto3" json:"pic_id,omitempty"`
+ Uid uint32 `protobuf:"varint,5,opt,name=uid,proto3" json:"uid,omitempty"`
+ AvatarId uint32 `protobuf:"varint,6,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Signature string `protobuf:"bytes,10,opt,name=signature,proto3" json:"signature,omitempty"`
+ Index uint32 `protobuf:"varint,14,opt,name=index,proto3" json:"index,omitempty"`
+ IsRecv bool `protobuf:"varint,7,opt,name=is_recv,json=isRecv,proto3" json:"is_recv,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,9,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+}
+
+func (x *BlessingRecvPicRecord) Reset() {
+ *x = BlessingRecvPicRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingRecvPicRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingRecvPicRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingRecvPicRecord) ProtoMessage() {}
+
+func (x *BlessingRecvPicRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingRecvPicRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingRecvPicRecord.ProtoReflect.Descriptor instead.
+func (*BlessingRecvPicRecord) Descriptor() ([]byte, []int) {
+ return file_BlessingRecvPicRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingRecvPicRecord) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *BlessingRecvPicRecord) GetRemarkName() string {
+ if x != nil {
+ return x.RemarkName
+ }
+ return ""
+}
+
+func (x *BlessingRecvPicRecord) GetPicId() uint32 {
+ if x != nil {
+ return x.PicId
+ }
+ return 0
+}
+
+func (x *BlessingRecvPicRecord) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *BlessingRecvPicRecord) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *BlessingRecvPicRecord) GetSignature() string {
+ if x != nil {
+ return x.Signature
+ }
+ return ""
+}
+
+func (x *BlessingRecvPicRecord) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *BlessingRecvPicRecord) GetIsRecv() bool {
+ if x != nil {
+ return x.IsRecv
+ }
+ return false
+}
+
+func (x *BlessingRecvPicRecord) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+var File_BlessingRecvPicRecord_proto protoreflect.FileDescriptor
+
+var file_BlessingRecvPicRecord_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x76, 0x50, 0x69,
+ 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x02, 0x0a, 0x15, 0x42,
+ 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x76, 0x50, 0x69, 0x63, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
+ 0x74, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x69,
+ 0x73, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73,
+ 0x52, 0x65, 0x63, 0x76, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
+ 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingRecvPicRecord_proto_rawDescOnce sync.Once
+ file_BlessingRecvPicRecord_proto_rawDescData = file_BlessingRecvPicRecord_proto_rawDesc
+)
+
+func file_BlessingRecvPicRecord_proto_rawDescGZIP() []byte {
+ file_BlessingRecvPicRecord_proto_rawDescOnce.Do(func() {
+ file_BlessingRecvPicRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingRecvPicRecord_proto_rawDescData)
+ })
+ return file_BlessingRecvPicRecord_proto_rawDescData
+}
+
+var file_BlessingRecvPicRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingRecvPicRecord_proto_goTypes = []interface{}{
+ (*BlessingRecvPicRecord)(nil), // 0: proto.BlessingRecvPicRecord
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_BlessingRecvPicRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.BlessingRecvPicRecord.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlessingRecvPicRecord_proto_init() }
+func file_BlessingRecvPicRecord_proto_init() {
+ if File_BlessingRecvPicRecord_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingRecvPicRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingRecvPicRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingRecvPicRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingRecvPicRecord_proto_goTypes,
+ DependencyIndexes: file_BlessingRecvPicRecord_proto_depIdxs,
+ MessageInfos: file_BlessingRecvPicRecord_proto_msgTypes,
+ }.Build()
+ File_BlessingRecvPicRecord_proto = out.File
+ file_BlessingRecvPicRecord_proto_rawDesc = nil
+ file_BlessingRecvPicRecord_proto_goTypes = nil
+ file_BlessingRecvPicRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingRedeemRewardReq.pb.go b/protocol/proto/BlessingRedeemRewardReq.pb.go
new file mode 100644
index 00000000..23ceb8a6
--- /dev/null
+++ b/protocol/proto/BlessingRedeemRewardReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingRedeemRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2137
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlessingRedeemRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *BlessingRedeemRewardReq) Reset() {
+ *x = BlessingRedeemRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingRedeemRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingRedeemRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingRedeemRewardReq) ProtoMessage() {}
+
+func (x *BlessingRedeemRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingRedeemRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingRedeemRewardReq.ProtoReflect.Descriptor instead.
+func (*BlessingRedeemRewardReq) Descriptor() ([]byte, []int) {
+ return file_BlessingRedeemRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BlessingRedeemRewardReq_proto protoreflect.FileDescriptor
+
+var file_BlessingRedeemRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69,
+ 0x6e, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingRedeemRewardReq_proto_rawDescOnce sync.Once
+ file_BlessingRedeemRewardReq_proto_rawDescData = file_BlessingRedeemRewardReq_proto_rawDesc
+)
+
+func file_BlessingRedeemRewardReq_proto_rawDescGZIP() []byte {
+ file_BlessingRedeemRewardReq_proto_rawDescOnce.Do(func() {
+ file_BlessingRedeemRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingRedeemRewardReq_proto_rawDescData)
+ })
+ return file_BlessingRedeemRewardReq_proto_rawDescData
+}
+
+var file_BlessingRedeemRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingRedeemRewardReq_proto_goTypes = []interface{}{
+ (*BlessingRedeemRewardReq)(nil), // 0: proto.BlessingRedeemRewardReq
+}
+var file_BlessingRedeemRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingRedeemRewardReq_proto_init() }
+func file_BlessingRedeemRewardReq_proto_init() {
+ if File_BlessingRedeemRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingRedeemRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingRedeemRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingRedeemRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingRedeemRewardReq_proto_goTypes,
+ DependencyIndexes: file_BlessingRedeemRewardReq_proto_depIdxs,
+ MessageInfos: file_BlessingRedeemRewardReq_proto_msgTypes,
+ }.Build()
+ File_BlessingRedeemRewardReq_proto = out.File
+ file_BlessingRedeemRewardReq_proto_rawDesc = nil
+ file_BlessingRedeemRewardReq_proto_goTypes = nil
+ file_BlessingRedeemRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingRedeemRewardRsp.pb.go b/protocol/proto/BlessingRedeemRewardRsp.pb.go
new file mode 100644
index 00000000..1a00b10c
--- /dev/null
+++ b/protocol/proto/BlessingRedeemRewardRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingRedeemRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2098
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlessingRedeemRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PicNumMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=pic_num_map,json=picNumMap,proto3" json:"pic_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *BlessingRedeemRewardRsp) Reset() {
+ *x = BlessingRedeemRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingRedeemRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingRedeemRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingRedeemRewardRsp) ProtoMessage() {}
+
+func (x *BlessingRedeemRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingRedeemRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingRedeemRewardRsp.ProtoReflect.Descriptor instead.
+func (*BlessingRedeemRewardRsp) Descriptor() ([]byte, []int) {
+ return file_BlessingRedeemRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingRedeemRewardRsp) GetPicNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.PicNumMap
+ }
+ return nil
+}
+
+func (x *BlessingRedeemRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_BlessingRedeemRewardRsp_proto protoreflect.FileDescriptor
+
+var file_BlessingRedeemRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x42, 0x6c, 0x65, 0x73, 0x73,
+ 0x69, 0x6e, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0b, 0x70, 0x69, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x50, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x50,
+ 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingRedeemRewardRsp_proto_rawDescOnce sync.Once
+ file_BlessingRedeemRewardRsp_proto_rawDescData = file_BlessingRedeemRewardRsp_proto_rawDesc
+)
+
+func file_BlessingRedeemRewardRsp_proto_rawDescGZIP() []byte {
+ file_BlessingRedeemRewardRsp_proto_rawDescOnce.Do(func() {
+ file_BlessingRedeemRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingRedeemRewardRsp_proto_rawDescData)
+ })
+ return file_BlessingRedeemRewardRsp_proto_rawDescData
+}
+
+var file_BlessingRedeemRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_BlessingRedeemRewardRsp_proto_goTypes = []interface{}{
+ (*BlessingRedeemRewardRsp)(nil), // 0: proto.BlessingRedeemRewardRsp
+ nil, // 1: proto.BlessingRedeemRewardRsp.PicNumMapEntry
+}
+var file_BlessingRedeemRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.BlessingRedeemRewardRsp.pic_num_map:type_name -> proto.BlessingRedeemRewardRsp.PicNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlessingRedeemRewardRsp_proto_init() }
+func file_BlessingRedeemRewardRsp_proto_init() {
+ if File_BlessingRedeemRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingRedeemRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingRedeemRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingRedeemRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingRedeemRewardRsp_proto_goTypes,
+ DependencyIndexes: file_BlessingRedeemRewardRsp_proto_depIdxs,
+ MessageInfos: file_BlessingRedeemRewardRsp_proto_msgTypes,
+ }.Build()
+ File_BlessingRedeemRewardRsp_proto = out.File
+ file_BlessingRedeemRewardRsp_proto_rawDesc = nil
+ file_BlessingRedeemRewardRsp_proto_goTypes = nil
+ file_BlessingRedeemRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingScanReq.pb.go b/protocol/proto/BlessingScanReq.pb.go
new file mode 100644
index 00000000..308eea15
--- /dev/null
+++ b/protocol/proto/BlessingScanReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingScanReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2081
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlessingScanReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *BlessingScanReq) Reset() {
+ *x = BlessingScanReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingScanReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingScanReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingScanReq) ProtoMessage() {}
+
+func (x *BlessingScanReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingScanReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingScanReq.ProtoReflect.Descriptor instead.
+func (*BlessingScanReq) Descriptor() ([]byte, []int) {
+ return file_BlessingScanReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingScanReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_BlessingScanReq_proto protoreflect.FileDescriptor
+
+var file_BlessingScanReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2e,
+ 0x0a, 0x0f, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x65,
+ 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_BlessingScanReq_proto_rawDescOnce sync.Once
+ file_BlessingScanReq_proto_rawDescData = file_BlessingScanReq_proto_rawDesc
+)
+
+func file_BlessingScanReq_proto_rawDescGZIP() []byte {
+ file_BlessingScanReq_proto_rawDescOnce.Do(func() {
+ file_BlessingScanReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingScanReq_proto_rawDescData)
+ })
+ return file_BlessingScanReq_proto_rawDescData
+}
+
+var file_BlessingScanReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingScanReq_proto_goTypes = []interface{}{
+ (*BlessingScanReq)(nil), // 0: proto.BlessingScanReq
+}
+var file_BlessingScanReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingScanReq_proto_init() }
+func file_BlessingScanReq_proto_init() {
+ if File_BlessingScanReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingScanReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingScanReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingScanReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingScanReq_proto_goTypes,
+ DependencyIndexes: file_BlessingScanReq_proto_depIdxs,
+ MessageInfos: file_BlessingScanReq_proto_msgTypes,
+ }.Build()
+ File_BlessingScanReq_proto = out.File
+ file_BlessingScanReq_proto_rawDesc = nil
+ file_BlessingScanReq_proto_goTypes = nil
+ file_BlessingScanReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlessingScanRsp.pb.go b/protocol/proto/BlessingScanRsp.pb.go
new file mode 100644
index 00000000..ddfa622d
--- /dev/null
+++ b/protocol/proto/BlessingScanRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlessingScanRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2093
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlessingScanRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScanPicId uint32 `protobuf:"varint,4,opt,name=scan_pic_id,json=scanPicId,proto3" json:"scan_pic_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CurDayScanNum uint32 `protobuf:"varint,1,opt,name=cur_day_scan_num,json=curDayScanNum,proto3" json:"cur_day_scan_num,omitempty"`
+}
+
+func (x *BlessingScanRsp) Reset() {
+ *x = BlessingScanRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlessingScanRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlessingScanRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlessingScanRsp) ProtoMessage() {}
+
+func (x *BlessingScanRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BlessingScanRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlessingScanRsp.ProtoReflect.Descriptor instead.
+func (*BlessingScanRsp) Descriptor() ([]byte, []int) {
+ return file_BlessingScanRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlessingScanRsp) GetScanPicId() uint32 {
+ if x != nil {
+ return x.ScanPicId
+ }
+ return 0
+}
+
+func (x *BlessingScanRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BlessingScanRsp) GetCurDayScanNum() uint32 {
+ if x != nil {
+ return x.CurDayScanNum
+ }
+ return 0
+}
+
+var File_BlessingScanRsp_proto protoreflect.FileDescriptor
+
+var file_BlessingScanRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74,
+ 0x0a, 0x0f, 0x42, 0x6c, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x61, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x61, 0x6e, 0x50, 0x69, 0x63, 0x49,
+ 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x10, 0x63,
+ 0x75, 0x72, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x44, 0x61, 0x79, 0x53, 0x63, 0x61,
+ 0x6e, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlessingScanRsp_proto_rawDescOnce sync.Once
+ file_BlessingScanRsp_proto_rawDescData = file_BlessingScanRsp_proto_rawDesc
+)
+
+func file_BlessingScanRsp_proto_rawDescGZIP() []byte {
+ file_BlessingScanRsp_proto_rawDescOnce.Do(func() {
+ file_BlessingScanRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlessingScanRsp_proto_rawDescData)
+ })
+ return file_BlessingScanRsp_proto_rawDescData
+}
+
+var file_BlessingScanRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlessingScanRsp_proto_goTypes = []interface{}{
+ (*BlessingScanRsp)(nil), // 0: proto.BlessingScanRsp
+}
+var file_BlessingScanRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlessingScanRsp_proto_init() }
+func file_BlessingScanRsp_proto_init() {
+ if File_BlessingScanRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlessingScanRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlessingScanRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlessingScanRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlessingScanRsp_proto_goTypes,
+ DependencyIndexes: file_BlessingScanRsp_proto_depIdxs,
+ MessageInfos: file_BlessingScanRsp_proto_msgTypes,
+ }.Build()
+ File_BlessingScanRsp_proto = out.File
+ file_BlessingScanRsp_proto_rawDesc = nil
+ file_BlessingScanRsp_proto_goTypes = nil
+ file_BlessingScanRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlitzRushActivityDetailInfo.pb.go b/protocol/proto/BlitzRushActivityDetailInfo.pb.go
new file mode 100644
index 00000000..9f87f30d
--- /dev/null
+++ b/protocol/proto/BlitzRushActivityDetailInfo.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlitzRushActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlitzRushActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageList []*BlitzRushStage `protobuf:"bytes,10,rep,name=stage_list,json=stageList,proto3" json:"stage_list,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,14,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ IsContentClosed bool `protobuf:"varint,2,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ ParkourLevelInfoList []*ParkourLevelInfo `protobuf:"bytes,6,rep,name=parkour_level_info_list,json=parkourLevelInfoList,proto3" json:"parkour_level_info_list,omitempty"`
+}
+
+func (x *BlitzRushActivityDetailInfo) Reset() {
+ *x = BlitzRushActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlitzRushActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlitzRushActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlitzRushActivityDetailInfo) ProtoMessage() {}
+
+func (x *BlitzRushActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BlitzRushActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlitzRushActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*BlitzRushActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_BlitzRushActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlitzRushActivityDetailInfo) GetStageList() []*BlitzRushStage {
+ if x != nil {
+ return x.StageList
+ }
+ return nil
+}
+
+func (x *BlitzRushActivityDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *BlitzRushActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *BlitzRushActivityDetailInfo) GetParkourLevelInfoList() []*ParkourLevelInfo {
+ if x != nil {
+ return x.ParkourLevelInfoList
+ }
+ return nil
+}
+
+var File_BlitzRushActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_BlitzRushActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x42, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x42, 0x6c, 0x69, 0x74,
+ 0x7a, 0x52, 0x75, 0x73, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x1b, 0x42, 0x6c, 0x69,
+ 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c,
+ 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11,
+ 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x17, 0x70, 0x61, 0x72, 0x6b,
+ 0x6f, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x14, 0x70, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlitzRushActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_BlitzRushActivityDetailInfo_proto_rawDescData = file_BlitzRushActivityDetailInfo_proto_rawDesc
+)
+
+func file_BlitzRushActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_BlitzRushActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_BlitzRushActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlitzRushActivityDetailInfo_proto_rawDescData)
+ })
+ return file_BlitzRushActivityDetailInfo_proto_rawDescData
+}
+
+var file_BlitzRushActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlitzRushActivityDetailInfo_proto_goTypes = []interface{}{
+ (*BlitzRushActivityDetailInfo)(nil), // 0: proto.BlitzRushActivityDetailInfo
+ (*BlitzRushStage)(nil), // 1: proto.BlitzRushStage
+ (*ParkourLevelInfo)(nil), // 2: proto.ParkourLevelInfo
+}
+var file_BlitzRushActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BlitzRushActivityDetailInfo.stage_list:type_name -> proto.BlitzRushStage
+ 2, // 1: proto.BlitzRushActivityDetailInfo.parkour_level_info_list:type_name -> proto.ParkourLevelInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_BlitzRushActivityDetailInfo_proto_init() }
+func file_BlitzRushActivityDetailInfo_proto_init() {
+ if File_BlitzRushActivityDetailInfo_proto != nil {
+ return
+ }
+ file_BlitzRushStage_proto_init()
+ file_ParkourLevelInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BlitzRushActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlitzRushActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlitzRushActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlitzRushActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_BlitzRushActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_BlitzRushActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_BlitzRushActivityDetailInfo_proto = out.File
+ file_BlitzRushActivityDetailInfo_proto_rawDesc = nil
+ file_BlitzRushActivityDetailInfo_proto_goTypes = nil
+ file_BlitzRushActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlitzRushParkourRestartReq.pb.go b/protocol/proto/BlitzRushParkourRestartReq.pb.go
new file mode 100644
index 00000000..2c1388cb
--- /dev/null
+++ b/protocol/proto/BlitzRushParkourRestartReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlitzRushParkourRestartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8653
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlitzRushParkourRestartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,13,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *BlitzRushParkourRestartReq) Reset() {
+ *x = BlitzRushParkourRestartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlitzRushParkourRestartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlitzRushParkourRestartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlitzRushParkourRestartReq) ProtoMessage() {}
+
+func (x *BlitzRushParkourRestartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BlitzRushParkourRestartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlitzRushParkourRestartReq.ProtoReflect.Descriptor instead.
+func (*BlitzRushParkourRestartReq) Descriptor() ([]byte, []int) {
+ return file_BlitzRushParkourRestartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlitzRushParkourRestartReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *BlitzRushParkourRestartReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_BlitzRushParkourRestartReq_proto protoreflect.FileDescriptor
+
+var file_BlitzRushParkourRestartReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x42, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x50, 0x61, 0x72, 0x6b, 0x6f,
+ 0x75, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1a, 0x42, 0x6c, 0x69,
+ 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75,
+ 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75,
+ 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlitzRushParkourRestartReq_proto_rawDescOnce sync.Once
+ file_BlitzRushParkourRestartReq_proto_rawDescData = file_BlitzRushParkourRestartReq_proto_rawDesc
+)
+
+func file_BlitzRushParkourRestartReq_proto_rawDescGZIP() []byte {
+ file_BlitzRushParkourRestartReq_proto_rawDescOnce.Do(func() {
+ file_BlitzRushParkourRestartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlitzRushParkourRestartReq_proto_rawDescData)
+ })
+ return file_BlitzRushParkourRestartReq_proto_rawDescData
+}
+
+var file_BlitzRushParkourRestartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlitzRushParkourRestartReq_proto_goTypes = []interface{}{
+ (*BlitzRushParkourRestartReq)(nil), // 0: proto.BlitzRushParkourRestartReq
+}
+var file_BlitzRushParkourRestartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlitzRushParkourRestartReq_proto_init() }
+func file_BlitzRushParkourRestartReq_proto_init() {
+ if File_BlitzRushParkourRestartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlitzRushParkourRestartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlitzRushParkourRestartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlitzRushParkourRestartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlitzRushParkourRestartReq_proto_goTypes,
+ DependencyIndexes: file_BlitzRushParkourRestartReq_proto_depIdxs,
+ MessageInfos: file_BlitzRushParkourRestartReq_proto_msgTypes,
+ }.Build()
+ File_BlitzRushParkourRestartReq_proto = out.File
+ file_BlitzRushParkourRestartReq_proto_rawDesc = nil
+ file_BlitzRushParkourRestartReq_proto_goTypes = nil
+ file_BlitzRushParkourRestartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlitzRushParkourRestartRsp.pb.go b/protocol/proto/BlitzRushParkourRestartRsp.pb.go
new file mode 100644
index 00000000..1c6bd38f
--- /dev/null
+++ b/protocol/proto/BlitzRushParkourRestartRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlitzRushParkourRestartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8944
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlitzRushParkourRestartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GroupId uint32 `protobuf:"varint,15,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *BlitzRushParkourRestartRsp) Reset() {
+ *x = BlitzRushParkourRestartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlitzRushParkourRestartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlitzRushParkourRestartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlitzRushParkourRestartRsp) ProtoMessage() {}
+
+func (x *BlitzRushParkourRestartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BlitzRushParkourRestartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlitzRushParkourRestartRsp.ProtoReflect.Descriptor instead.
+func (*BlitzRushParkourRestartRsp) Descriptor() ([]byte, []int) {
+ return file_BlitzRushParkourRestartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlitzRushParkourRestartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BlitzRushParkourRestartRsp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *BlitzRushParkourRestartRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_BlitzRushParkourRestartRsp_proto protoreflect.FileDescriptor
+
+var file_BlitzRushParkourRestartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x42, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x50, 0x61, 0x72, 0x6b, 0x6f,
+ 0x75, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1a, 0x42, 0x6c, 0x69,
+ 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_BlitzRushParkourRestartRsp_proto_rawDescOnce sync.Once
+ file_BlitzRushParkourRestartRsp_proto_rawDescData = file_BlitzRushParkourRestartRsp_proto_rawDesc
+)
+
+func file_BlitzRushParkourRestartRsp_proto_rawDescGZIP() []byte {
+ file_BlitzRushParkourRestartRsp_proto_rawDescOnce.Do(func() {
+ file_BlitzRushParkourRestartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlitzRushParkourRestartRsp_proto_rawDescData)
+ })
+ return file_BlitzRushParkourRestartRsp_proto_rawDescData
+}
+
+var file_BlitzRushParkourRestartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlitzRushParkourRestartRsp_proto_goTypes = []interface{}{
+ (*BlitzRushParkourRestartRsp)(nil), // 0: proto.BlitzRushParkourRestartRsp
+}
+var file_BlitzRushParkourRestartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlitzRushParkourRestartRsp_proto_init() }
+func file_BlitzRushParkourRestartRsp_proto_init() {
+ if File_BlitzRushParkourRestartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlitzRushParkourRestartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlitzRushParkourRestartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlitzRushParkourRestartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlitzRushParkourRestartRsp_proto_goTypes,
+ DependencyIndexes: file_BlitzRushParkourRestartRsp_proto_depIdxs,
+ MessageInfos: file_BlitzRushParkourRestartRsp_proto_msgTypes,
+ }.Build()
+ File_BlitzRushParkourRestartRsp_proto = out.File
+ file_BlitzRushParkourRestartRsp_proto_rawDesc = nil
+ file_BlitzRushParkourRestartRsp_proto_goTypes = nil
+ file_BlitzRushParkourRestartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlitzRushStage.pb.go b/protocol/proto/BlitzRushStage.pb.go
new file mode 100644
index 00000000..7a11ad84
--- /dev/null
+++ b/protocol/proto/BlitzRushStage.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlitzRushStage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlitzRushStage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,13,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ OpenTime uint32 `protobuf:"varint,11,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+}
+
+func (x *BlitzRushStage) Reset() {
+ *x = BlitzRushStage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlitzRushStage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlitzRushStage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlitzRushStage) ProtoMessage() {}
+
+func (x *BlitzRushStage) ProtoReflect() protoreflect.Message {
+ mi := &file_BlitzRushStage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlitzRushStage.ProtoReflect.Descriptor instead.
+func (*BlitzRushStage) Descriptor() ([]byte, []int) {
+ return file_BlitzRushStage_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlitzRushStage) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *BlitzRushStage) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+var File_BlitzRushStage_proto protoreflect.FileDescriptor
+
+var file_BlitzRushStage_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x42, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a,
+ 0x0e, 0x42, 0x6c, 0x69, 0x74, 0x7a, 0x52, 0x75, 0x73, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12,
+ 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65,
+ 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlitzRushStage_proto_rawDescOnce sync.Once
+ file_BlitzRushStage_proto_rawDescData = file_BlitzRushStage_proto_rawDesc
+)
+
+func file_BlitzRushStage_proto_rawDescGZIP() []byte {
+ file_BlitzRushStage_proto_rawDescOnce.Do(func() {
+ file_BlitzRushStage_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlitzRushStage_proto_rawDescData)
+ })
+ return file_BlitzRushStage_proto_rawDescData
+}
+
+var file_BlitzRushStage_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlitzRushStage_proto_goTypes = []interface{}{
+ (*BlitzRushStage)(nil), // 0: proto.BlitzRushStage
+}
+var file_BlitzRushStage_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlitzRushStage_proto_init() }
+func file_BlitzRushStage_proto_init() {
+ if File_BlitzRushStage_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlitzRushStage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlitzRushStage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlitzRushStage_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlitzRushStage_proto_goTypes,
+ DependencyIndexes: file_BlitzRushStage_proto_depIdxs,
+ MessageInfos: file_BlitzRushStage_proto_msgTypes,
+ }.Build()
+ File_BlitzRushStage_proto = out.File
+ file_BlitzRushStage_proto_rawDesc = nil
+ file_BlitzRushStage_proto_goTypes = nil
+ file_BlitzRushStage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlockInfo.pb.go b/protocol/proto/BlockInfo.pb.go
new file mode 100644
index 00000000..2e1a9012
--- /dev/null
+++ b/protocol/proto/BlockInfo.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlockInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlockInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BlockId uint32 `protobuf:"varint,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+ DataVersion uint32 `protobuf:"varint,2,opt,name=data_version,json=dataVersion,proto3" json:"data_version,omitempty"`
+ BinData []byte `protobuf:"bytes,3,opt,name=bin_data,json=binData,proto3" json:"bin_data,omitempty"`
+ IsDirty bool `protobuf:"varint,4,opt,name=is_dirty,json=isDirty,proto3" json:"is_dirty,omitempty"`
+}
+
+func (x *BlockInfo) Reset() {
+ *x = BlockInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlockInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlockInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlockInfo) ProtoMessage() {}
+
+func (x *BlockInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BlockInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlockInfo.ProtoReflect.Descriptor instead.
+func (*BlockInfo) Descriptor() ([]byte, []int) {
+ return file_BlockInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlockInfo) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+func (x *BlockInfo) GetDataVersion() uint32 {
+ if x != nil {
+ return x.DataVersion
+ }
+ return 0
+}
+
+func (x *BlockInfo) GetBinData() []byte {
+ if x != nil {
+ return x.BinData
+ }
+ return nil
+}
+
+func (x *BlockInfo) GetIsDirty() bool {
+ if x != nil {
+ return x.IsDirty
+ }
+ return false
+}
+
+var File_BlockInfo_proto protoreflect.FileDescriptor
+
+var file_BlockInfo_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64,
+ 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x62, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19,
+ 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x07, 0x69, 0x73, 0x44, 0x69, 0x72, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlockInfo_proto_rawDescOnce sync.Once
+ file_BlockInfo_proto_rawDescData = file_BlockInfo_proto_rawDesc
+)
+
+func file_BlockInfo_proto_rawDescGZIP() []byte {
+ file_BlockInfo_proto_rawDescOnce.Do(func() {
+ file_BlockInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlockInfo_proto_rawDescData)
+ })
+ return file_BlockInfo_proto_rawDescData
+}
+
+var file_BlockInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlockInfo_proto_goTypes = []interface{}{
+ (*BlockInfo)(nil), // 0: proto.BlockInfo
+}
+var file_BlockInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlockInfo_proto_init() }
+func file_BlockInfo_proto_init() {
+ if File_BlockInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlockInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlockInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlockInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlockInfo_proto_goTypes,
+ DependencyIndexes: file_BlockInfo_proto_depIdxs,
+ MessageInfos: file_BlockInfo_proto_msgTypes,
+ }.Build()
+ File_BlockInfo_proto = out.File
+ file_BlockInfo_proto_rawDesc = nil
+ file_BlockInfo_proto_goTypes = nil
+ file_BlockInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlossomBriefInfo.pb.go b/protocol/proto/BlossomBriefInfo.pb.go
new file mode 100644
index 00000000..dee266cc
--- /dev/null
+++ b/protocol/proto/BlossomBriefInfo.pb.go
@@ -0,0 +1,252 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlossomBriefInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlossomBriefInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RefreshId uint32 `protobuf:"varint,13,opt,name=refresh_id,json=refreshId,proto3" json:"refresh_id,omitempty"`
+ RewardId uint32 `protobuf:"varint,5,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ CityId uint32 `protobuf:"varint,10,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ Resin uint32 `protobuf:"varint,11,opt,name=resin,proto3" json:"resin,omitempty"`
+ State uint32 `protobuf:"varint,7,opt,name=state,proto3" json:"state,omitempty"`
+ IsGuideOpened bool `protobuf:"varint,1,opt,name=is_guide_opened,json=isGuideOpened,proto3" json:"is_guide_opened,omitempty"`
+ MonsterLevel uint32 `protobuf:"varint,8,opt,name=monster_level,json=monsterLevel,proto3" json:"monster_level,omitempty"`
+ CircleCampId uint32 `protobuf:"varint,15,opt,name=circle_camp_id,json=circleCampId,proto3" json:"circle_camp_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,12,opt,name=pos,proto3" json:"pos,omitempty"`
+ SceneId uint32 `protobuf:"varint,9,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *BlossomBriefInfo) Reset() {
+ *x = BlossomBriefInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlossomBriefInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlossomBriefInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlossomBriefInfo) ProtoMessage() {}
+
+func (x *BlossomBriefInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BlossomBriefInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlossomBriefInfo.ProtoReflect.Descriptor instead.
+func (*BlossomBriefInfo) Descriptor() ([]byte, []int) {
+ return file_BlossomBriefInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlossomBriefInfo) GetRefreshId() uint32 {
+ if x != nil {
+ return x.RefreshId
+ }
+ return 0
+}
+
+func (x *BlossomBriefInfo) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *BlossomBriefInfo) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *BlossomBriefInfo) GetResin() uint32 {
+ if x != nil {
+ return x.Resin
+ }
+ return 0
+}
+
+func (x *BlossomBriefInfo) GetState() uint32 {
+ if x != nil {
+ return x.State
+ }
+ return 0
+}
+
+func (x *BlossomBriefInfo) GetIsGuideOpened() bool {
+ if x != nil {
+ return x.IsGuideOpened
+ }
+ return false
+}
+
+func (x *BlossomBriefInfo) GetMonsterLevel() uint32 {
+ if x != nil {
+ return x.MonsterLevel
+ }
+ return 0
+}
+
+func (x *BlossomBriefInfo) GetCircleCampId() uint32 {
+ if x != nil {
+ return x.CircleCampId
+ }
+ return 0
+}
+
+func (x *BlossomBriefInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *BlossomBriefInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_BlossomBriefInfo_proto protoreflect.FileDescriptor
+
+var file_BlossomBriefInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x02,
+ 0x0a, 0x10, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73,
+ 0x47, 0x75, 0x69, 0x64, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65,
+ 0x43, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlossomBriefInfo_proto_rawDescOnce sync.Once
+ file_BlossomBriefInfo_proto_rawDescData = file_BlossomBriefInfo_proto_rawDesc
+)
+
+func file_BlossomBriefInfo_proto_rawDescGZIP() []byte {
+ file_BlossomBriefInfo_proto_rawDescOnce.Do(func() {
+ file_BlossomBriefInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlossomBriefInfo_proto_rawDescData)
+ })
+ return file_BlossomBriefInfo_proto_rawDescData
+}
+
+var file_BlossomBriefInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlossomBriefInfo_proto_goTypes = []interface{}{
+ (*BlossomBriefInfo)(nil), // 0: proto.BlossomBriefInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_BlossomBriefInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BlossomBriefInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlossomBriefInfo_proto_init() }
+func file_BlossomBriefInfo_proto_init() {
+ if File_BlossomBriefInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BlossomBriefInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlossomBriefInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlossomBriefInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlossomBriefInfo_proto_goTypes,
+ DependencyIndexes: file_BlossomBriefInfo_proto_depIdxs,
+ MessageInfos: file_BlossomBriefInfo_proto_msgTypes,
+ }.Build()
+ File_BlossomBriefInfo_proto = out.File
+ file_BlossomBriefInfo_proto_rawDesc = nil
+ file_BlossomBriefInfo_proto_goTypes = nil
+ file_BlossomBriefInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlossomBriefInfoNotify.pb.go b/protocol/proto/BlossomBriefInfoNotify.pb.go
new file mode 100644
index 00000000..0d2a5a19
--- /dev/null
+++ b/protocol/proto/BlossomBriefInfoNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlossomBriefInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2712
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlossomBriefInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BriefInfoList []*BlossomBriefInfo `protobuf:"bytes,4,rep,name=brief_info_list,json=briefInfoList,proto3" json:"brief_info_list,omitempty"`
+}
+
+func (x *BlossomBriefInfoNotify) Reset() {
+ *x = BlossomBriefInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlossomBriefInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlossomBriefInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlossomBriefInfoNotify) ProtoMessage() {}
+
+func (x *BlossomBriefInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BlossomBriefInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlossomBriefInfoNotify.ProtoReflect.Descriptor instead.
+func (*BlossomBriefInfoNotify) Descriptor() ([]byte, []int) {
+ return file_BlossomBriefInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlossomBriefInfoNotify) GetBriefInfoList() []*BlossomBriefInfo {
+ if x != nil {
+ return x.BriefInfoList
+ }
+ return nil
+}
+
+var File_BlossomBriefInfoNotify_proto protoreflect.FileDescriptor
+
+var file_BlossomBriefInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72,
+ 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a,
+ 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x0f, 0x62, 0x72, 0x69, 0x65, 0x66,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d,
+ 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62, 0x72, 0x69, 0x65, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlossomBriefInfoNotify_proto_rawDescOnce sync.Once
+ file_BlossomBriefInfoNotify_proto_rawDescData = file_BlossomBriefInfoNotify_proto_rawDesc
+)
+
+func file_BlossomBriefInfoNotify_proto_rawDescGZIP() []byte {
+ file_BlossomBriefInfoNotify_proto_rawDescOnce.Do(func() {
+ file_BlossomBriefInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlossomBriefInfoNotify_proto_rawDescData)
+ })
+ return file_BlossomBriefInfoNotify_proto_rawDescData
+}
+
+var file_BlossomBriefInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlossomBriefInfoNotify_proto_goTypes = []interface{}{
+ (*BlossomBriefInfoNotify)(nil), // 0: proto.BlossomBriefInfoNotify
+ (*BlossomBriefInfo)(nil), // 1: proto.BlossomBriefInfo
+}
+var file_BlossomBriefInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BlossomBriefInfoNotify.brief_info_list:type_name -> proto.BlossomBriefInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlossomBriefInfoNotify_proto_init() }
+func file_BlossomBriefInfoNotify_proto_init() {
+ if File_BlossomBriefInfoNotify_proto != nil {
+ return
+ }
+ file_BlossomBriefInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BlossomBriefInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlossomBriefInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlossomBriefInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlossomBriefInfoNotify_proto_goTypes,
+ DependencyIndexes: file_BlossomBriefInfoNotify_proto_depIdxs,
+ MessageInfos: file_BlossomBriefInfoNotify_proto_msgTypes,
+ }.Build()
+ File_BlossomBriefInfoNotify_proto = out.File
+ file_BlossomBriefInfoNotify_proto_rawDesc = nil
+ file_BlossomBriefInfoNotify_proto_goTypes = nil
+ file_BlossomBriefInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlossomChestCreateNotify.pb.go b/protocol/proto/BlossomChestCreateNotify.pb.go
new file mode 100644
index 00000000..93c805ea
--- /dev/null
+++ b/protocol/proto/BlossomChestCreateNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlossomChestCreateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2721
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BlossomChestCreateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RefreshId uint32 `protobuf:"varint,1,opt,name=refresh_id,json=refreshId,proto3" json:"refresh_id,omitempty"`
+ CircleCampId uint32 `protobuf:"varint,10,opt,name=circle_camp_id,json=circleCampId,proto3" json:"circle_camp_id,omitempty"`
+}
+
+func (x *BlossomChestCreateNotify) Reset() {
+ *x = BlossomChestCreateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlossomChestCreateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlossomChestCreateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlossomChestCreateNotify) ProtoMessage() {}
+
+func (x *BlossomChestCreateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BlossomChestCreateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlossomChestCreateNotify.ProtoReflect.Descriptor instead.
+func (*BlossomChestCreateNotify) Descriptor() ([]byte, []int) {
+ return file_BlossomChestCreateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlossomChestCreateNotify) GetRefreshId() uint32 {
+ if x != nil {
+ return x.RefreshId
+ }
+ return 0
+}
+
+func (x *BlossomChestCreateNotify) GetCircleCampId() uint32 {
+ if x != nil {
+ return x.CircleCampId
+ }
+ return 0
+}
+
+var File_BlossomChestCreateNotify_proto protoreflect.FileDescriptor
+
+var file_BlossomChestCreateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x18, 0x42, 0x6c, 0x6f, 0x73, 0x73,
+ 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6d,
+ 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x69, 0x72, 0x63,
+ 0x6c, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlossomChestCreateNotify_proto_rawDescOnce sync.Once
+ file_BlossomChestCreateNotify_proto_rawDescData = file_BlossomChestCreateNotify_proto_rawDesc
+)
+
+func file_BlossomChestCreateNotify_proto_rawDescGZIP() []byte {
+ file_BlossomChestCreateNotify_proto_rawDescOnce.Do(func() {
+ file_BlossomChestCreateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlossomChestCreateNotify_proto_rawDescData)
+ })
+ return file_BlossomChestCreateNotify_proto_rawDescData
+}
+
+var file_BlossomChestCreateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlossomChestCreateNotify_proto_goTypes = []interface{}{
+ (*BlossomChestCreateNotify)(nil), // 0: proto.BlossomChestCreateNotify
+}
+var file_BlossomChestCreateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlossomChestCreateNotify_proto_init() }
+func file_BlossomChestCreateNotify_proto_init() {
+ if File_BlossomChestCreateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlossomChestCreateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlossomChestCreateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlossomChestCreateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlossomChestCreateNotify_proto_goTypes,
+ DependencyIndexes: file_BlossomChestCreateNotify_proto_depIdxs,
+ MessageInfos: file_BlossomChestCreateNotify_proto_msgTypes,
+ }.Build()
+ File_BlossomChestCreateNotify_proto = out.File
+ file_BlossomChestCreateNotify_proto_rawDesc = nil
+ file_BlossomChestCreateNotify_proto_goTypes = nil
+ file_BlossomChestCreateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlossomChestInfo.pb.go b/protocol/proto/BlossomChestInfo.pb.go
new file mode 100644
index 00000000..18f59153
--- /dev/null
+++ b/protocol/proto/BlossomChestInfo.pb.go
@@ -0,0 +1,210 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlossomChestInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlossomChestInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Resin uint32 `protobuf:"varint,1,opt,name=resin,proto3" json:"resin,omitempty"`
+ QualifyUidList []uint32 `protobuf:"varint,2,rep,packed,name=qualify_uid_list,json=qualifyUidList,proto3" json:"qualify_uid_list,omitempty"`
+ RemainUidList []uint32 `protobuf:"varint,3,rep,packed,name=remain_uid_list,json=remainUidList,proto3" json:"remain_uid_list,omitempty"`
+ DeadTime uint32 `protobuf:"varint,4,opt,name=dead_time,json=deadTime,proto3" json:"dead_time,omitempty"`
+ BlossomRefreshType uint32 `protobuf:"varint,5,opt,name=blossom_refresh_type,json=blossomRefreshType,proto3" json:"blossom_refresh_type,omitempty"`
+ RefreshId uint32 `protobuf:"varint,6,opt,name=refresh_id,json=refreshId,proto3" json:"refresh_id,omitempty"`
+}
+
+func (x *BlossomChestInfo) Reset() {
+ *x = BlossomChestInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlossomChestInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlossomChestInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlossomChestInfo) ProtoMessage() {}
+
+func (x *BlossomChestInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BlossomChestInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlossomChestInfo.ProtoReflect.Descriptor instead.
+func (*BlossomChestInfo) Descriptor() ([]byte, []int) {
+ return file_BlossomChestInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlossomChestInfo) GetResin() uint32 {
+ if x != nil {
+ return x.Resin
+ }
+ return 0
+}
+
+func (x *BlossomChestInfo) GetQualifyUidList() []uint32 {
+ if x != nil {
+ return x.QualifyUidList
+ }
+ return nil
+}
+
+func (x *BlossomChestInfo) GetRemainUidList() []uint32 {
+ if x != nil {
+ return x.RemainUidList
+ }
+ return nil
+}
+
+func (x *BlossomChestInfo) GetDeadTime() uint32 {
+ if x != nil {
+ return x.DeadTime
+ }
+ return 0
+}
+
+func (x *BlossomChestInfo) GetBlossomRefreshType() uint32 {
+ if x != nil {
+ return x.BlossomRefreshType
+ }
+ return 0
+}
+
+func (x *BlossomChestInfo) GetRefreshId() uint32 {
+ if x != nil {
+ return x.RefreshId
+ }
+ return 0
+}
+
+var File_BlossomChestInfo_proto protoreflect.FileDescriptor
+
+var file_BlossomChestInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xe8, 0x01, 0x0a, 0x10, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x71, 0x75,
+ 0x61, 0x6c, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x55, 0x69, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x75,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x72,
+ 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09,
+ 0x64, 0x65, 0x61, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x64, 0x65, 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x6c, 0x6f,
+ 0x73, 0x73, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x62, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d,
+ 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
+ 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlossomChestInfo_proto_rawDescOnce sync.Once
+ file_BlossomChestInfo_proto_rawDescData = file_BlossomChestInfo_proto_rawDesc
+)
+
+func file_BlossomChestInfo_proto_rawDescGZIP() []byte {
+ file_BlossomChestInfo_proto_rawDescOnce.Do(func() {
+ file_BlossomChestInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlossomChestInfo_proto_rawDescData)
+ })
+ return file_BlossomChestInfo_proto_rawDescData
+}
+
+var file_BlossomChestInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlossomChestInfo_proto_goTypes = []interface{}{
+ (*BlossomChestInfo)(nil), // 0: proto.BlossomChestInfo
+}
+var file_BlossomChestInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlossomChestInfo_proto_init() }
+func file_BlossomChestInfo_proto_init() {
+ if File_BlossomChestInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlossomChestInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlossomChestInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlossomChestInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlossomChestInfo_proto_goTypes,
+ DependencyIndexes: file_BlossomChestInfo_proto_depIdxs,
+ MessageInfos: file_BlossomChestInfo_proto_msgTypes,
+ }.Build()
+ File_BlossomChestInfo_proto = out.File
+ file_BlossomChestInfo_proto_rawDesc = nil
+ file_BlossomChestInfo_proto_goTypes = nil
+ file_BlossomChestInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlossomChestInfoNotify.pb.go b/protocol/proto/BlossomChestInfoNotify.pb.go
new file mode 100644
index 00000000..d2672d99
--- /dev/null
+++ b/protocol/proto/BlossomChestInfoNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlossomChestInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 890
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BlossomChestInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ BlossomChestInfo *BlossomChestInfo `protobuf:"bytes,3,opt,name=blossom_chest_info,json=blossomChestInfo,proto3" json:"blossom_chest_info,omitempty"`
+}
+
+func (x *BlossomChestInfoNotify) Reset() {
+ *x = BlossomChestInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlossomChestInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlossomChestInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlossomChestInfoNotify) ProtoMessage() {}
+
+func (x *BlossomChestInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BlossomChestInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlossomChestInfoNotify.ProtoReflect.Descriptor instead.
+func (*BlossomChestInfoNotify) Descriptor() ([]byte, []int) {
+ return file_BlossomChestInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlossomChestInfoNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *BlossomChestInfoNotify) GetBlossomChestInfo() *BlossomChestInfo {
+ if x != nil {
+ return x.BlossomChestInfo
+ }
+ return nil
+}
+
+var File_BlossomChestInfoNotify_proto protoreflect.FileDescriptor
+
+var file_BlossomChestInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x68,
+ 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a,
+ 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x12, 0x62, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x5f,
+ 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d,
+ 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x73, 0x73,
+ 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlossomChestInfoNotify_proto_rawDescOnce sync.Once
+ file_BlossomChestInfoNotify_proto_rawDescData = file_BlossomChestInfoNotify_proto_rawDesc
+)
+
+func file_BlossomChestInfoNotify_proto_rawDescGZIP() []byte {
+ file_BlossomChestInfoNotify_proto_rawDescOnce.Do(func() {
+ file_BlossomChestInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlossomChestInfoNotify_proto_rawDescData)
+ })
+ return file_BlossomChestInfoNotify_proto_rawDescData
+}
+
+var file_BlossomChestInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlossomChestInfoNotify_proto_goTypes = []interface{}{
+ (*BlossomChestInfoNotify)(nil), // 0: proto.BlossomChestInfoNotify
+ (*BlossomChestInfo)(nil), // 1: proto.BlossomChestInfo
+}
+var file_BlossomChestInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BlossomChestInfoNotify.blossom_chest_info:type_name -> proto.BlossomChestInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BlossomChestInfoNotify_proto_init() }
+func file_BlossomChestInfoNotify_proto_init() {
+ if File_BlossomChestInfoNotify_proto != nil {
+ return
+ }
+ file_BlossomChestInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BlossomChestInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlossomChestInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlossomChestInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlossomChestInfoNotify_proto_goTypes,
+ DependencyIndexes: file_BlossomChestInfoNotify_proto_depIdxs,
+ MessageInfos: file_BlossomChestInfoNotify_proto_msgTypes,
+ }.Build()
+ File_BlossomChestInfoNotify_proto = out.File
+ file_BlossomChestInfoNotify_proto_rawDesc = nil
+ file_BlossomChestInfoNotify_proto_goTypes = nil
+ file_BlossomChestInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BlossomScheduleInfo.pb.go b/protocol/proto/BlossomScheduleInfo.pb.go
new file mode 100644
index 00000000..57cd86de
--- /dev/null
+++ b/protocol/proto/BlossomScheduleInfo.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BlossomScheduleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BlossomScheduleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Progress uint32 `protobuf:"varint,13,opt,name=progress,proto3" json:"progress,omitempty"`
+ State uint32 `protobuf:"varint,10,opt,name=state,proto3" json:"state,omitempty"`
+ Round uint32 `protobuf:"varint,4,opt,name=round,proto3" json:"round,omitempty"`
+ CircleCampId uint32 `protobuf:"varint,15,opt,name=circle_camp_id,json=circleCampId,proto3" json:"circle_camp_id,omitempty"`
+ RefreshId uint32 `protobuf:"varint,6,opt,name=refresh_id,json=refreshId,proto3" json:"refresh_id,omitempty"`
+ FinishProgress uint32 `protobuf:"varint,14,opt,name=finish_progress,json=finishProgress,proto3" json:"finish_progress,omitempty"`
+}
+
+func (x *BlossomScheduleInfo) Reset() {
+ *x = BlossomScheduleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BlossomScheduleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BlossomScheduleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BlossomScheduleInfo) ProtoMessage() {}
+
+func (x *BlossomScheduleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BlossomScheduleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BlossomScheduleInfo.ProtoReflect.Descriptor instead.
+func (*BlossomScheduleInfo) Descriptor() ([]byte, []int) {
+ return file_BlossomScheduleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BlossomScheduleInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *BlossomScheduleInfo) GetState() uint32 {
+ if x != nil {
+ return x.State
+ }
+ return 0
+}
+
+func (x *BlossomScheduleInfo) GetRound() uint32 {
+ if x != nil {
+ return x.Round
+ }
+ return 0
+}
+
+func (x *BlossomScheduleInfo) GetCircleCampId() uint32 {
+ if x != nil {
+ return x.CircleCampId
+ }
+ return 0
+}
+
+func (x *BlossomScheduleInfo) GetRefreshId() uint32 {
+ if x != nil {
+ return x.RefreshId
+ }
+ return 0
+}
+
+func (x *BlossomScheduleInfo) GetFinishProgress() uint32 {
+ if x != nil {
+ return x.FinishProgress
+ }
+ return 0
+}
+
+var File_BlossomScheduleInfo_proto protoreflect.FileDescriptor
+
+var file_BlossomScheduleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x13, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x53, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x75,
+ 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6d,
+ 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x69, 0x72, 0x63,
+ 0x6c, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72,
+ 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BlossomScheduleInfo_proto_rawDescOnce sync.Once
+ file_BlossomScheduleInfo_proto_rawDescData = file_BlossomScheduleInfo_proto_rawDesc
+)
+
+func file_BlossomScheduleInfo_proto_rawDescGZIP() []byte {
+ file_BlossomScheduleInfo_proto_rawDescOnce.Do(func() {
+ file_BlossomScheduleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BlossomScheduleInfo_proto_rawDescData)
+ })
+ return file_BlossomScheduleInfo_proto_rawDescData
+}
+
+var file_BlossomScheduleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BlossomScheduleInfo_proto_goTypes = []interface{}{
+ (*BlossomScheduleInfo)(nil), // 0: proto.BlossomScheduleInfo
+}
+var file_BlossomScheduleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BlossomScheduleInfo_proto_init() }
+func file_BlossomScheduleInfo_proto_init() {
+ if File_BlossomScheduleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BlossomScheduleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BlossomScheduleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BlossomScheduleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BlossomScheduleInfo_proto_goTypes,
+ DependencyIndexes: file_BlossomScheduleInfo_proto_depIdxs,
+ MessageInfos: file_BlossomScheduleInfo_proto_msgTypes,
+ }.Build()
+ File_BlossomScheduleInfo_proto = out.File
+ file_BlossomScheduleInfo_proto_rawDesc = nil
+ file_BlossomScheduleInfo_proto_goTypes = nil
+ file_BlossomScheduleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BonusActivityInfo.pb.go b/protocol/proto/BonusActivityInfo.pb.go
new file mode 100644
index 00000000..ef1b1edd
--- /dev/null
+++ b/protocol/proto/BonusActivityInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BonusActivityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BonusActivityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BonusActivityId uint32 `protobuf:"varint,6,opt,name=bonus_activity_id,json=bonusActivityId,proto3" json:"bonus_activity_id,omitempty"`
+ State uint32 `protobuf:"varint,3,opt,name=state,proto3" json:"state,omitempty"`
+}
+
+func (x *BonusActivityInfo) Reset() {
+ *x = BonusActivityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BonusActivityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BonusActivityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BonusActivityInfo) ProtoMessage() {}
+
+func (x *BonusActivityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BonusActivityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BonusActivityInfo.ProtoReflect.Descriptor instead.
+func (*BonusActivityInfo) Descriptor() ([]byte, []int) {
+ return file_BonusActivityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BonusActivityInfo) GetBonusActivityId() uint32 {
+ if x != nil {
+ return x.BonusActivityId
+ }
+ return 0
+}
+
+func (x *BonusActivityInfo) GetState() uint32 {
+ if x != nil {
+ return x.State
+ }
+ return 0
+}
+
+var File_BonusActivityInfo_proto protoreflect.FileDescriptor
+
+var file_BonusActivityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x55, 0x0a, 0x11, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BonusActivityInfo_proto_rawDescOnce sync.Once
+ file_BonusActivityInfo_proto_rawDescData = file_BonusActivityInfo_proto_rawDesc
+)
+
+func file_BonusActivityInfo_proto_rawDescGZIP() []byte {
+ file_BonusActivityInfo_proto_rawDescOnce.Do(func() {
+ file_BonusActivityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BonusActivityInfo_proto_rawDescData)
+ })
+ return file_BonusActivityInfo_proto_rawDescData
+}
+
+var file_BonusActivityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BonusActivityInfo_proto_goTypes = []interface{}{
+ (*BonusActivityInfo)(nil), // 0: proto.BonusActivityInfo
+}
+var file_BonusActivityInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BonusActivityInfo_proto_init() }
+func file_BonusActivityInfo_proto_init() {
+ if File_BonusActivityInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BonusActivityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BonusActivityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BonusActivityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BonusActivityInfo_proto_goTypes,
+ DependencyIndexes: file_BonusActivityInfo_proto_depIdxs,
+ MessageInfos: file_BonusActivityInfo_proto_msgTypes,
+ }.Build()
+ File_BonusActivityInfo_proto = out.File
+ file_BonusActivityInfo_proto_rawDesc = nil
+ file_BonusActivityInfo_proto_goTypes = nil
+ file_BonusActivityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BonusActivityInfoReq.pb.go b/protocol/proto/BonusActivityInfoReq.pb.go
new file mode 100644
index 00000000..6cbfcf83
--- /dev/null
+++ b/protocol/proto/BonusActivityInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BonusActivityInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2548
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BonusActivityInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *BonusActivityInfoReq) Reset() {
+ *x = BonusActivityInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BonusActivityInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BonusActivityInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BonusActivityInfoReq) ProtoMessage() {}
+
+func (x *BonusActivityInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BonusActivityInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BonusActivityInfoReq.ProtoReflect.Descriptor instead.
+func (*BonusActivityInfoReq) Descriptor() ([]byte, []int) {
+ return file_BonusActivityInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BonusActivityInfoReq_proto protoreflect.FileDescriptor
+
+var file_BonusActivityInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BonusActivityInfoReq_proto_rawDescOnce sync.Once
+ file_BonusActivityInfoReq_proto_rawDescData = file_BonusActivityInfoReq_proto_rawDesc
+)
+
+func file_BonusActivityInfoReq_proto_rawDescGZIP() []byte {
+ file_BonusActivityInfoReq_proto_rawDescOnce.Do(func() {
+ file_BonusActivityInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BonusActivityInfoReq_proto_rawDescData)
+ })
+ return file_BonusActivityInfoReq_proto_rawDescData
+}
+
+var file_BonusActivityInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BonusActivityInfoReq_proto_goTypes = []interface{}{
+ (*BonusActivityInfoReq)(nil), // 0: proto.BonusActivityInfoReq
+}
+var file_BonusActivityInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BonusActivityInfoReq_proto_init() }
+func file_BonusActivityInfoReq_proto_init() {
+ if File_BonusActivityInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BonusActivityInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BonusActivityInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BonusActivityInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BonusActivityInfoReq_proto_goTypes,
+ DependencyIndexes: file_BonusActivityInfoReq_proto_depIdxs,
+ MessageInfos: file_BonusActivityInfoReq_proto_msgTypes,
+ }.Build()
+ File_BonusActivityInfoReq_proto = out.File
+ file_BonusActivityInfoReq_proto_rawDesc = nil
+ file_BonusActivityInfoReq_proto_goTypes = nil
+ file_BonusActivityInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BonusActivityInfoRsp.pb.go b/protocol/proto/BonusActivityInfoRsp.pb.go
new file mode 100644
index 00000000..dac85543
--- /dev/null
+++ b/protocol/proto/BonusActivityInfoRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BonusActivityInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2597
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BonusActivityInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BonusActivityInfoList []*BonusActivityInfo `protobuf:"bytes,2,rep,name=bonus_activity_info_list,json=bonusActivityInfoList,proto3" json:"bonus_activity_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *BonusActivityInfoRsp) Reset() {
+ *x = BonusActivityInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BonusActivityInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BonusActivityInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BonusActivityInfoRsp) ProtoMessage() {}
+
+func (x *BonusActivityInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BonusActivityInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BonusActivityInfoRsp.ProtoReflect.Descriptor instead.
+func (*BonusActivityInfoRsp) Descriptor() ([]byte, []int) {
+ return file_BonusActivityInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BonusActivityInfoRsp) GetBonusActivityInfoList() []*BonusActivityInfo {
+ if x != nil {
+ return x.BonusActivityInfoList
+ }
+ return nil
+}
+
+func (x *BonusActivityInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_BonusActivityInfoRsp_proto protoreflect.FileDescriptor
+
+var file_BonusActivityInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x01, 0x0a,
+ 0x14, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x18, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x15, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BonusActivityInfoRsp_proto_rawDescOnce sync.Once
+ file_BonusActivityInfoRsp_proto_rawDescData = file_BonusActivityInfoRsp_proto_rawDesc
+)
+
+func file_BonusActivityInfoRsp_proto_rawDescGZIP() []byte {
+ file_BonusActivityInfoRsp_proto_rawDescOnce.Do(func() {
+ file_BonusActivityInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BonusActivityInfoRsp_proto_rawDescData)
+ })
+ return file_BonusActivityInfoRsp_proto_rawDescData
+}
+
+var file_BonusActivityInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BonusActivityInfoRsp_proto_goTypes = []interface{}{
+ (*BonusActivityInfoRsp)(nil), // 0: proto.BonusActivityInfoRsp
+ (*BonusActivityInfo)(nil), // 1: proto.BonusActivityInfo
+}
+var file_BonusActivityInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.BonusActivityInfoRsp.bonus_activity_info_list:type_name -> proto.BonusActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BonusActivityInfoRsp_proto_init() }
+func file_BonusActivityInfoRsp_proto_init() {
+ if File_BonusActivityInfoRsp_proto != nil {
+ return
+ }
+ file_BonusActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BonusActivityInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BonusActivityInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BonusActivityInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BonusActivityInfoRsp_proto_goTypes,
+ DependencyIndexes: file_BonusActivityInfoRsp_proto_depIdxs,
+ MessageInfos: file_BonusActivityInfoRsp_proto_msgTypes,
+ }.Build()
+ File_BonusActivityInfoRsp_proto = out.File
+ file_BonusActivityInfoRsp_proto_rawDesc = nil
+ file_BonusActivityInfoRsp_proto_goTypes = nil
+ file_BonusActivityInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BonusActivityUpdateNotify.pb.go b/protocol/proto/BonusActivityUpdateNotify.pb.go
new file mode 100644
index 00000000..03cc100c
--- /dev/null
+++ b/protocol/proto/BonusActivityUpdateNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BonusActivityUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2575
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BonusActivityUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BonusActivityInfoList []*BonusActivityInfo `protobuf:"bytes,8,rep,name=bonus_activity_info_list,json=bonusActivityInfoList,proto3" json:"bonus_activity_info_list,omitempty"`
+}
+
+func (x *BonusActivityUpdateNotify) Reset() {
+ *x = BonusActivityUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BonusActivityUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BonusActivityUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BonusActivityUpdateNotify) ProtoMessage() {}
+
+func (x *BonusActivityUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BonusActivityUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BonusActivityUpdateNotify.ProtoReflect.Descriptor instead.
+func (*BonusActivityUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_BonusActivityUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BonusActivityUpdateNotify) GetBonusActivityInfoList() []*BonusActivityInfo {
+ if x != nil {
+ return x.BonusActivityInfoList
+ }
+ return nil
+}
+
+var File_BonusActivityUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_BonusActivityUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6e, 0x0a, 0x19, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x51,
+ 0x0a, 0x18, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x62, 0x6f, 0x6e, 0x75,
+ 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BonusActivityUpdateNotify_proto_rawDescOnce sync.Once
+ file_BonusActivityUpdateNotify_proto_rawDescData = file_BonusActivityUpdateNotify_proto_rawDesc
+)
+
+func file_BonusActivityUpdateNotify_proto_rawDescGZIP() []byte {
+ file_BonusActivityUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_BonusActivityUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BonusActivityUpdateNotify_proto_rawDescData)
+ })
+ return file_BonusActivityUpdateNotify_proto_rawDescData
+}
+
+var file_BonusActivityUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BonusActivityUpdateNotify_proto_goTypes = []interface{}{
+ (*BonusActivityUpdateNotify)(nil), // 0: proto.BonusActivityUpdateNotify
+ (*BonusActivityInfo)(nil), // 1: proto.BonusActivityInfo
+}
+var file_BonusActivityUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BonusActivityUpdateNotify.bonus_activity_info_list:type_name -> proto.BonusActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BonusActivityUpdateNotify_proto_init() }
+func file_BonusActivityUpdateNotify_proto_init() {
+ if File_BonusActivityUpdateNotify_proto != nil {
+ return
+ }
+ file_BonusActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BonusActivityUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BonusActivityUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BonusActivityUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BonusActivityUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_BonusActivityUpdateNotify_proto_depIdxs,
+ MessageInfos: file_BonusActivityUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_BonusActivityUpdateNotify_proto = out.File
+ file_BonusActivityUpdateNotify_proto_rawDesc = nil
+ file_BonusActivityUpdateNotify_proto_goTypes = nil
+ file_BonusActivityUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BonusOpActivityInfo.pb.go b/protocol/proto/BonusOpActivityInfo.pb.go
new file mode 100644
index 00000000..fcf4fd3e
--- /dev/null
+++ b/protocol/proto/BonusOpActivityInfo.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BonusOpActivityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BonusOpActivityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LeftBonusCount uint32 `protobuf:"varint,11,opt,name=left_bonus_count,json=leftBonusCount,proto3" json:"left_bonus_count,omitempty"`
+}
+
+func (x *BonusOpActivityInfo) Reset() {
+ *x = BonusOpActivityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BonusOpActivityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BonusOpActivityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BonusOpActivityInfo) ProtoMessage() {}
+
+func (x *BonusOpActivityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BonusOpActivityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BonusOpActivityInfo.ProtoReflect.Descriptor instead.
+func (*BonusOpActivityInfo) Descriptor() ([]byte, []int) {
+ return file_BonusOpActivityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BonusOpActivityInfo) GetLeftBonusCount() uint32 {
+ if x != nil {
+ return x.LeftBonusCount
+ }
+ return 0
+}
+
+var File_BonusOpActivityInfo_proto protoreflect.FileDescriptor
+
+var file_BonusOpActivityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x13, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x4f, 0x70, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x65, 0x66,
+ 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BonusOpActivityInfo_proto_rawDescOnce sync.Once
+ file_BonusOpActivityInfo_proto_rawDescData = file_BonusOpActivityInfo_proto_rawDesc
+)
+
+func file_BonusOpActivityInfo_proto_rawDescGZIP() []byte {
+ file_BonusOpActivityInfo_proto_rawDescOnce.Do(func() {
+ file_BonusOpActivityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BonusOpActivityInfo_proto_rawDescData)
+ })
+ return file_BonusOpActivityInfo_proto_rawDescData
+}
+
+var file_BonusOpActivityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BonusOpActivityInfo_proto_goTypes = []interface{}{
+ (*BonusOpActivityInfo)(nil), // 0: proto.BonusOpActivityInfo
+}
+var file_BonusOpActivityInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BonusOpActivityInfo_proto_init() }
+func file_BonusOpActivityInfo_proto_init() {
+ if File_BonusOpActivityInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BonusOpActivityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BonusOpActivityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BonusOpActivityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BonusOpActivityInfo_proto_goTypes,
+ DependencyIndexes: file_BonusOpActivityInfo_proto_depIdxs,
+ MessageInfos: file_BonusOpActivityInfo_proto_msgTypes,
+ }.Build()
+ File_BonusOpActivityInfo_proto = out.File
+ file_BonusOpActivityInfo_proto_rawDesc = nil
+ file_BonusOpActivityInfo_proto_goTypes = nil
+ file_BonusOpActivityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BossChestActivateNotify.pb.go b/protocol/proto/BossChestActivateNotify.pb.go
new file mode 100644
index 00000000..03109cad
--- /dev/null
+++ b/protocol/proto/BossChestActivateNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BossChestActivateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 803
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BossChestActivateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QualifyUidList []uint32 `protobuf:"varint,1,rep,packed,name=qualify_uid_list,json=qualifyUidList,proto3" json:"qualify_uid_list,omitempty"`
+ EntityId uint32 `protobuf:"varint,12,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *BossChestActivateNotify) Reset() {
+ *x = BossChestActivateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BossChestActivateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BossChestActivateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BossChestActivateNotify) ProtoMessage() {}
+
+func (x *BossChestActivateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BossChestActivateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BossChestActivateNotify.ProtoReflect.Descriptor instead.
+func (*BossChestActivateNotify) Descriptor() ([]byte, []int) {
+ return file_BossChestActivateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BossChestActivateNotify) GetQualifyUidList() []uint32 {
+ if x != nil {
+ return x.QualifyUidList
+ }
+ return nil
+}
+
+func (x *BossChestActivateNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_BossChestActivateNotify_proto protoreflect.FileDescriptor
+
+var file_BossChestActivateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x17, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68,
+ 0x65, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x28, 0x0a, 0x10, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x71, 0x75, 0x61,
+ 0x6c, 0x69, 0x66, 0x79, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BossChestActivateNotify_proto_rawDescOnce sync.Once
+ file_BossChestActivateNotify_proto_rawDescData = file_BossChestActivateNotify_proto_rawDesc
+)
+
+func file_BossChestActivateNotify_proto_rawDescGZIP() []byte {
+ file_BossChestActivateNotify_proto_rawDescOnce.Do(func() {
+ file_BossChestActivateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BossChestActivateNotify_proto_rawDescData)
+ })
+ return file_BossChestActivateNotify_proto_rawDescData
+}
+
+var file_BossChestActivateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BossChestActivateNotify_proto_goTypes = []interface{}{
+ (*BossChestActivateNotify)(nil), // 0: proto.BossChestActivateNotify
+}
+var file_BossChestActivateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BossChestActivateNotify_proto_init() }
+func file_BossChestActivateNotify_proto_init() {
+ if File_BossChestActivateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BossChestActivateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BossChestActivateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BossChestActivateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BossChestActivateNotify_proto_goTypes,
+ DependencyIndexes: file_BossChestActivateNotify_proto_depIdxs,
+ MessageInfos: file_BossChestActivateNotify_proto_msgTypes,
+ }.Build()
+ File_BossChestActivateNotify_proto = out.File
+ file_BossChestActivateNotify_proto_rawDesc = nil
+ file_BossChestActivateNotify_proto_goTypes = nil
+ file_BossChestActivateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BossChestInfo.pb.go b/protocol/proto/BossChestInfo.pb.go
new file mode 100644
index 00000000..dba7891e
--- /dev/null
+++ b/protocol/proto/BossChestInfo.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BossChestInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BossChestInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterConfigId uint32 `protobuf:"varint,1,opt,name=monster_config_id,json=monsterConfigId,proto3" json:"monster_config_id,omitempty"`
+ Resin uint32 `protobuf:"varint,2,opt,name=resin,proto3" json:"resin,omitempty"`
+ RemainUidList []uint32 `protobuf:"varint,3,rep,packed,name=remain_uid_list,json=remainUidList,proto3" json:"remain_uid_list,omitempty"`
+ QualifyUidList []uint32 `protobuf:"varint,4,rep,packed,name=qualify_uid_list,json=qualifyUidList,proto3" json:"qualify_uid_list,omitempty"`
+ UidDiscountMap map[uint32]*WeeklyBossResinDiscountInfo `protobuf:"bytes,5,rep,name=uid_discount_map,json=uidDiscountMap,proto3" json:"uid_discount_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *BossChestInfo) Reset() {
+ *x = BossChestInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BossChestInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BossChestInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BossChestInfo) ProtoMessage() {}
+
+func (x *BossChestInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BossChestInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BossChestInfo.ProtoReflect.Descriptor instead.
+func (*BossChestInfo) Descriptor() ([]byte, []int) {
+ return file_BossChestInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BossChestInfo) GetMonsterConfigId() uint32 {
+ if x != nil {
+ return x.MonsterConfigId
+ }
+ return 0
+}
+
+func (x *BossChestInfo) GetResin() uint32 {
+ if x != nil {
+ return x.Resin
+ }
+ return 0
+}
+
+func (x *BossChestInfo) GetRemainUidList() []uint32 {
+ if x != nil {
+ return x.RemainUidList
+ }
+ return nil
+}
+
+func (x *BossChestInfo) GetQualifyUidList() []uint32 {
+ if x != nil {
+ return x.QualifyUidList
+ }
+ return nil
+}
+
+func (x *BossChestInfo) GetUidDiscountMap() map[uint32]*WeeklyBossResinDiscountInfo {
+ if x != nil {
+ return x.UidDiscountMap
+ }
+ return nil
+}
+
+var File_BossChestInfo_proto protoreflect.FileDescriptor
+
+var file_BossChestInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x57, 0x65,
+ 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x44, 0x69, 0x73,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xde, 0x02, 0x0a, 0x0d, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a,
+ 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65,
+ 0x73, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65,
+ 0x6d, 0x61, 0x69, 0x6e, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x71,
+ 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x55, 0x69,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x10, 0x75, 0x69, 0x64, 0x5f, 0x64, 0x69, 0x73,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x69, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x75, 0x69, 0x64, 0x44, 0x69,
+ 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x65, 0x0a, 0x13, 0x55, 0x69, 0x64,
+ 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79,
+ 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BossChestInfo_proto_rawDescOnce sync.Once
+ file_BossChestInfo_proto_rawDescData = file_BossChestInfo_proto_rawDesc
+)
+
+func file_BossChestInfo_proto_rawDescGZIP() []byte {
+ file_BossChestInfo_proto_rawDescOnce.Do(func() {
+ file_BossChestInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BossChestInfo_proto_rawDescData)
+ })
+ return file_BossChestInfo_proto_rawDescData
+}
+
+var file_BossChestInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_BossChestInfo_proto_goTypes = []interface{}{
+ (*BossChestInfo)(nil), // 0: proto.BossChestInfo
+ nil, // 1: proto.BossChestInfo.UidDiscountMapEntry
+ (*WeeklyBossResinDiscountInfo)(nil), // 2: proto.WeeklyBossResinDiscountInfo
+}
+var file_BossChestInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BossChestInfo.uid_discount_map:type_name -> proto.BossChestInfo.UidDiscountMapEntry
+ 2, // 1: proto.BossChestInfo.UidDiscountMapEntry.value:type_name -> proto.WeeklyBossResinDiscountInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_BossChestInfo_proto_init() }
+func file_BossChestInfo_proto_init() {
+ if File_BossChestInfo_proto != nil {
+ return
+ }
+ file_WeeklyBossResinDiscountInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BossChestInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BossChestInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BossChestInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BossChestInfo_proto_goTypes,
+ DependencyIndexes: file_BossChestInfo_proto_depIdxs,
+ MessageInfos: file_BossChestInfo_proto_msgTypes,
+ }.Build()
+ File_BossChestInfo_proto = out.File
+ file_BossChestInfo_proto_rawDesc = nil
+ file_BossChestInfo_proto_goTypes = nil
+ file_BossChestInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BounceConjuringActivityDetailInfo.pb.go b/protocol/proto/BounceConjuringActivityDetailInfo.pb.go
new file mode 100644
index 00000000..884bd13a
--- /dev/null
+++ b/protocol/proto/BounceConjuringActivityDetailInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BounceConjuringActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BounceConjuringActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterInfoList []*BounceConjuringChapterInfo `protobuf:"bytes,8,rep,name=chapter_info_list,json=chapterInfoList,proto3" json:"chapter_info_list,omitempty"`
+ IsContentClosed bool `protobuf:"varint,12,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,7,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+}
+
+func (x *BounceConjuringActivityDetailInfo) Reset() {
+ *x = BounceConjuringActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BounceConjuringActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BounceConjuringActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BounceConjuringActivityDetailInfo) ProtoMessage() {}
+
+func (x *BounceConjuringActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BounceConjuringActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BounceConjuringActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*BounceConjuringActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_BounceConjuringActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BounceConjuringActivityDetailInfo) GetChapterInfoList() []*BounceConjuringChapterInfo {
+ if x != nil {
+ return x.ChapterInfoList
+ }
+ return nil
+}
+
+func (x *BounceConjuringActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *BounceConjuringActivityDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+var File_BounceConjuringActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_BounceConjuringActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e,
+ 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e,
+ 0x67, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x21, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e,
+ 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x75, 0x6e,
+ 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x70, 0x74,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f,
+ 0x73, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63,
+ 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BounceConjuringActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_BounceConjuringActivityDetailInfo_proto_rawDescData = file_BounceConjuringActivityDetailInfo_proto_rawDesc
+)
+
+func file_BounceConjuringActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_BounceConjuringActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_BounceConjuringActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BounceConjuringActivityDetailInfo_proto_rawDescData)
+ })
+ return file_BounceConjuringActivityDetailInfo_proto_rawDescData
+}
+
+var file_BounceConjuringActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BounceConjuringActivityDetailInfo_proto_goTypes = []interface{}{
+ (*BounceConjuringActivityDetailInfo)(nil), // 0: proto.BounceConjuringActivityDetailInfo
+ (*BounceConjuringChapterInfo)(nil), // 1: proto.BounceConjuringChapterInfo
+}
+var file_BounceConjuringActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BounceConjuringActivityDetailInfo.chapter_info_list:type_name -> proto.BounceConjuringChapterInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BounceConjuringActivityDetailInfo_proto_init() }
+func file_BounceConjuringActivityDetailInfo_proto_init() {
+ if File_BounceConjuringActivityDetailInfo_proto != nil {
+ return
+ }
+ file_BounceConjuringChapterInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BounceConjuringActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BounceConjuringActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BounceConjuringActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BounceConjuringActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_BounceConjuringActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_BounceConjuringActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_BounceConjuringActivityDetailInfo_proto = out.File
+ file_BounceConjuringActivityDetailInfo_proto_rawDesc = nil
+ file_BounceConjuringActivityDetailInfo_proto_goTypes = nil
+ file_BounceConjuringActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BounceConjuringChapterInfo.pb.go b/protocol/proto/BounceConjuringChapterInfo.pb.go
new file mode 100644
index 00000000..0c56a6cb
--- /dev/null
+++ b/protocol/proto/BounceConjuringChapterInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BounceConjuringChapterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BounceConjuringChapterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BestScore uint32 `protobuf:"varint,12,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+ OpenTime uint32 `protobuf:"varint,9,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ ChapterId uint32 `protobuf:"varint,13,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *BounceConjuringChapterInfo) Reset() {
+ *x = BounceConjuringChapterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BounceConjuringChapterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BounceConjuringChapterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BounceConjuringChapterInfo) ProtoMessage() {}
+
+func (x *BounceConjuringChapterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BounceConjuringChapterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BounceConjuringChapterInfo.ProtoReflect.Descriptor instead.
+func (*BounceConjuringChapterInfo) Descriptor() ([]byte, []int) {
+ return file_BounceConjuringChapterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BounceConjuringChapterInfo) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+func (x *BounceConjuringChapterInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *BounceConjuringChapterInfo) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+var File_BounceConjuringChapterInfo_proto protoreflect.FileDescriptor
+
+var file_BounceConjuringChapterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e,
+ 0x67, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x1a, 0x42, 0x6f, 0x75,
+ 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73,
+ 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BounceConjuringChapterInfo_proto_rawDescOnce sync.Once
+ file_BounceConjuringChapterInfo_proto_rawDescData = file_BounceConjuringChapterInfo_proto_rawDesc
+)
+
+func file_BounceConjuringChapterInfo_proto_rawDescGZIP() []byte {
+ file_BounceConjuringChapterInfo_proto_rawDescOnce.Do(func() {
+ file_BounceConjuringChapterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BounceConjuringChapterInfo_proto_rawDescData)
+ })
+ return file_BounceConjuringChapterInfo_proto_rawDescData
+}
+
+var file_BounceConjuringChapterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BounceConjuringChapterInfo_proto_goTypes = []interface{}{
+ (*BounceConjuringChapterInfo)(nil), // 0: proto.BounceConjuringChapterInfo
+}
+var file_BounceConjuringChapterInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BounceConjuringChapterInfo_proto_init() }
+func file_BounceConjuringChapterInfo_proto_init() {
+ if File_BounceConjuringChapterInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BounceConjuringChapterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BounceConjuringChapterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BounceConjuringChapterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BounceConjuringChapterInfo_proto_goTypes,
+ DependencyIndexes: file_BounceConjuringChapterInfo_proto_depIdxs,
+ MessageInfos: file_BounceConjuringChapterInfo_proto_msgTypes,
+ }.Build()
+ File_BounceConjuringChapterInfo_proto = out.File
+ file_BounceConjuringChapterInfo_proto_rawDesc = nil
+ file_BounceConjuringChapterInfo_proto_goTypes = nil
+ file_BounceConjuringChapterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BounceConjuringGallerySettleInfo.pb.go b/protocol/proto/BounceConjuringGallerySettleInfo.pb.go
new file mode 100644
index 00000000..1fbdd603
--- /dev/null
+++ b/protocol/proto/BounceConjuringGallerySettleInfo.pb.go
@@ -0,0 +1,266 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BounceConjuringGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BounceConjuringGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerInfo *OnlinePlayerInfo `protobuf:"bytes,14,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+ DestroyedMachineCount uint32 `protobuf:"varint,5,opt,name=destroyed_machine_count,json=destroyedMachineCount,proto3" json:"destroyed_machine_count,omitempty"`
+ FeverCount uint32 `protobuf:"varint,6,opt,name=fever_count,json=feverCount,proto3" json:"fever_count,omitempty"`
+ NormalHitCount uint32 `protobuf:"varint,4,opt,name=normal_hit_count,json=normalHitCount,proto3" json:"normal_hit_count,omitempty"`
+ Damage float32 `protobuf:"fixed32,11,opt,name=damage,proto3" json:"damage,omitempty"`
+ GadgetCountMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=gadget_count_map,json=gadgetCountMap,proto3" json:"gadget_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Score uint32 `protobuf:"varint,12,opt,name=score,proto3" json:"score,omitempty"`
+ PerfectHitCount uint32 `protobuf:"varint,8,opt,name=perfect_hit_count,json=perfectHitCount,proto3" json:"perfect_hit_count,omitempty"`
+ CardList []*ExhibitionDisplayInfo `protobuf:"bytes,7,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+}
+
+func (x *BounceConjuringGallerySettleInfo) Reset() {
+ *x = BounceConjuringGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BounceConjuringGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BounceConjuringGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BounceConjuringGallerySettleInfo) ProtoMessage() {}
+
+func (x *BounceConjuringGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BounceConjuringGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BounceConjuringGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*BounceConjuringGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_BounceConjuringGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetDestroyedMachineCount() uint32 {
+ if x != nil {
+ return x.DestroyedMachineCount
+ }
+ return 0
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetFeverCount() uint32 {
+ if x != nil {
+ return x.FeverCount
+ }
+ return 0
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetNormalHitCount() uint32 {
+ if x != nil {
+ return x.NormalHitCount
+ }
+ return 0
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetDamage() float32 {
+ if x != nil {
+ return x.Damage
+ }
+ return 0
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetGadgetCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GadgetCountMap
+ }
+ return nil
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetPerfectHitCount() uint32 {
+ if x != nil {
+ return x.PerfectHitCount
+ }
+ return 0
+}
+
+func (x *BounceConjuringGallerySettleInfo) GetCardList() []*ExhibitionDisplayInfo {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+var File_BounceConjuringGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_BounceConjuringGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e,
+ 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c,
+ 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e,
+ 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x04, 0x0a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43,
+ 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64,
+ 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x4d,
+ 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66,
+ 0x65, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x66, 0x65, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10,
+ 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x48, 0x69,
+ 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x65,
+ 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x70,
+ 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x48,
+ 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73,
+ 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x1a, 0x41, 0x0a, 0x13, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BounceConjuringGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_BounceConjuringGallerySettleInfo_proto_rawDescData = file_BounceConjuringGallerySettleInfo_proto_rawDesc
+)
+
+func file_BounceConjuringGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_BounceConjuringGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_BounceConjuringGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BounceConjuringGallerySettleInfo_proto_rawDescData)
+ })
+ return file_BounceConjuringGallerySettleInfo_proto_rawDescData
+}
+
+var file_BounceConjuringGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_BounceConjuringGallerySettleInfo_proto_goTypes = []interface{}{
+ (*BounceConjuringGallerySettleInfo)(nil), // 0: proto.BounceConjuringGallerySettleInfo
+ nil, // 1: proto.BounceConjuringGallerySettleInfo.GadgetCountMapEntry
+ (*OnlinePlayerInfo)(nil), // 2: proto.OnlinePlayerInfo
+ (*ExhibitionDisplayInfo)(nil), // 3: proto.ExhibitionDisplayInfo
+}
+var file_BounceConjuringGallerySettleInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.BounceConjuringGallerySettleInfo.player_info:type_name -> proto.OnlinePlayerInfo
+ 1, // 1: proto.BounceConjuringGallerySettleInfo.gadget_count_map:type_name -> proto.BounceConjuringGallerySettleInfo.GadgetCountMapEntry
+ 3, // 2: proto.BounceConjuringGallerySettleInfo.card_list:type_name -> proto.ExhibitionDisplayInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_BounceConjuringGallerySettleInfo_proto_init() }
+func file_BounceConjuringGallerySettleInfo_proto_init() {
+ if File_BounceConjuringGallerySettleInfo_proto != nil {
+ return
+ }
+ file_ExhibitionDisplayInfo_proto_init()
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BounceConjuringGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BounceConjuringGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BounceConjuringGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BounceConjuringGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_BounceConjuringGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_BounceConjuringGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_BounceConjuringGallerySettleInfo_proto = out.File
+ file_BounceConjuringGallerySettleInfo_proto_rawDesc = nil
+ file_BounceConjuringGallerySettleInfo_proto_goTypes = nil
+ file_BounceConjuringGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BounceConjuringSettleNotify.pb.go b/protocol/proto/BounceConjuringSettleNotify.pb.go
new file mode 100644
index 00000000..8e62f2b1
--- /dev/null
+++ b/protocol/proto/BounceConjuringSettleNotify.pb.go
@@ -0,0 +1,212 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BounceConjuringSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8084
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BounceConjuringSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,14,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ SettleInfoMap map[uint32]*BounceConjuringGallerySettleInfo `protobuf:"bytes,4,rep,name=settle_info_map,json=settleInfoMap,proto3" json:"settle_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ TotalScore uint32 `protobuf:"varint,2,opt,name=total_score,json=totalScore,proto3" json:"total_score,omitempty"`
+ ChapterId uint32 `protobuf:"varint,13,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *BounceConjuringSettleNotify) Reset() {
+ *x = BounceConjuringSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BounceConjuringSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BounceConjuringSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BounceConjuringSettleNotify) ProtoMessage() {}
+
+func (x *BounceConjuringSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BounceConjuringSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BounceConjuringSettleNotify.ProtoReflect.Descriptor instead.
+func (*BounceConjuringSettleNotify) Descriptor() ([]byte, []int) {
+ return file_BounceConjuringSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BounceConjuringSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *BounceConjuringSettleNotify) GetSettleInfoMap() map[uint32]*BounceConjuringGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfoMap
+ }
+ return nil
+}
+
+func (x *BounceConjuringSettleNotify) GetTotalScore() uint32 {
+ if x != nil {
+ return x.TotalScore
+ }
+ return 0
+}
+
+func (x *BounceConjuringSettleNotify) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+var File_BounceConjuringSettleNotify_proto protoreflect.FileDescriptor
+
+var file_BounceConjuringSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e,
+ 0x67, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x42, 0x6f, 0x75, 0x6e,
+ 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xcb, 0x02, 0x0a, 0x1b, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e,
+ 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x5d, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x35, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f,
+ 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x69, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75,
+ 0x72, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BounceConjuringSettleNotify_proto_rawDescOnce sync.Once
+ file_BounceConjuringSettleNotify_proto_rawDescData = file_BounceConjuringSettleNotify_proto_rawDesc
+)
+
+func file_BounceConjuringSettleNotify_proto_rawDescGZIP() []byte {
+ file_BounceConjuringSettleNotify_proto_rawDescOnce.Do(func() {
+ file_BounceConjuringSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BounceConjuringSettleNotify_proto_rawDescData)
+ })
+ return file_BounceConjuringSettleNotify_proto_rawDescData
+}
+
+var file_BounceConjuringSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_BounceConjuringSettleNotify_proto_goTypes = []interface{}{
+ (*BounceConjuringSettleNotify)(nil), // 0: proto.BounceConjuringSettleNotify
+ nil, // 1: proto.BounceConjuringSettleNotify.SettleInfoMapEntry
+ (*BounceConjuringGallerySettleInfo)(nil), // 2: proto.BounceConjuringGallerySettleInfo
+}
+var file_BounceConjuringSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BounceConjuringSettleNotify.settle_info_map:type_name -> proto.BounceConjuringSettleNotify.SettleInfoMapEntry
+ 2, // 1: proto.BounceConjuringSettleNotify.SettleInfoMapEntry.value:type_name -> proto.BounceConjuringGallerySettleInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_BounceConjuringSettleNotify_proto_init() }
+func file_BounceConjuringSettleNotify_proto_init() {
+ if File_BounceConjuringSettleNotify_proto != nil {
+ return
+ }
+ file_BounceConjuringGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BounceConjuringSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BounceConjuringSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BounceConjuringSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BounceConjuringSettleNotify_proto_goTypes,
+ DependencyIndexes: file_BounceConjuringSettleNotify_proto_depIdxs,
+ MessageInfos: file_BounceConjuringSettleNotify_proto_msgTypes,
+ }.Build()
+ File_BounceConjuringSettleNotify_proto = out.File
+ file_BounceConjuringSettleNotify_proto_rawDesc = nil
+ file_BounceConjuringSettleNotify_proto_goTypes = nil
+ file_BounceConjuringSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuildingInfo.pb.go b/protocol/proto/BuildingInfo.pb.go
new file mode 100644
index 00000000..2d195cc3
--- /dev/null
+++ b/protocol/proto/BuildingInfo.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuildingInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BuildingInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuildingId uint32 `protobuf:"varint,1,opt,name=building_id,json=buildingId,proto3" json:"building_id,omitempty"`
+ PointConfigId uint32 `protobuf:"varint,2,opt,name=point_config_id,json=pointConfigId,proto3" json:"point_config_id,omitempty"`
+ Cost uint32 `protobuf:"varint,3,opt,name=cost,proto3" json:"cost,omitempty"`
+ Refund uint32 `protobuf:"varint,5,opt,name=refund,proto3" json:"refund,omitempty"`
+ OwnerUid uint32 `protobuf:"varint,6,opt,name=owner_uid,json=ownerUid,proto3" json:"owner_uid,omitempty"`
+ CurrentNum uint32 `protobuf:"varint,7,opt,name=current_num,json=currentNum,proto3" json:"current_num,omitempty"`
+ MaxNum uint32 `protobuf:"varint,8,opt,name=max_num,json=maxNum,proto3" json:"max_num,omitempty"`
+}
+
+func (x *BuildingInfo) Reset() {
+ *x = BuildingInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuildingInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuildingInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuildingInfo) ProtoMessage() {}
+
+func (x *BuildingInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BuildingInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuildingInfo.ProtoReflect.Descriptor instead.
+func (*BuildingInfo) Descriptor() ([]byte, []int) {
+ return file_BuildingInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuildingInfo) GetBuildingId() uint32 {
+ if x != nil {
+ return x.BuildingId
+ }
+ return 0
+}
+
+func (x *BuildingInfo) GetPointConfigId() uint32 {
+ if x != nil {
+ return x.PointConfigId
+ }
+ return 0
+}
+
+func (x *BuildingInfo) GetCost() uint32 {
+ if x != nil {
+ return x.Cost
+ }
+ return 0
+}
+
+func (x *BuildingInfo) GetRefund() uint32 {
+ if x != nil {
+ return x.Refund
+ }
+ return 0
+}
+
+func (x *BuildingInfo) GetOwnerUid() uint32 {
+ if x != nil {
+ return x.OwnerUid
+ }
+ return 0
+}
+
+func (x *BuildingInfo) GetCurrentNum() uint32 {
+ if x != nil {
+ return x.CurrentNum
+ }
+ return 0
+}
+
+func (x *BuildingInfo) GetMaxNum() uint32 {
+ if x != nil {
+ return x.MaxNum
+ }
+ return 0
+}
+
+var File_BuildingInfo_proto protoreflect.FileDescriptor
+
+var file_BuildingInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x01, 0x0a, 0x0c,
+ 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a,
+ 0x0f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x66,
+ 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x66, 0x75, 0x6e,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x12,
+ 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuildingInfo_proto_rawDescOnce sync.Once
+ file_BuildingInfo_proto_rawDescData = file_BuildingInfo_proto_rawDesc
+)
+
+func file_BuildingInfo_proto_rawDescGZIP() []byte {
+ file_BuildingInfo_proto_rawDescOnce.Do(func() {
+ file_BuildingInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuildingInfo_proto_rawDescData)
+ })
+ return file_BuildingInfo_proto_rawDescData
+}
+
+var file_BuildingInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuildingInfo_proto_goTypes = []interface{}{
+ (*BuildingInfo)(nil), // 0: proto.BuildingInfo
+}
+var file_BuildingInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BuildingInfo_proto_init() }
+func file_BuildingInfo_proto_init() {
+ if File_BuildingInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BuildingInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuildingInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuildingInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuildingInfo_proto_goTypes,
+ DependencyIndexes: file_BuildingInfo_proto_depIdxs,
+ MessageInfos: file_BuildingInfo_proto_msgTypes,
+ }.Build()
+ File_BuildingInfo_proto = out.File
+ file_BuildingInfo_proto_rawDesc = nil
+ file_BuildingInfo_proto_goTypes = nil
+ file_BuildingInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuoyantCombatDailyInfo.pb.go b/protocol/proto/BuoyantCombatDailyInfo.pb.go
new file mode 100644
index 00000000..018849ec
--- /dev/null
+++ b/protocol/proto/BuoyantCombatDailyInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuoyantCombatDailyInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BuoyantCombatDailyInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StartTime uint32 `protobuf:"varint,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ BestScore uint32 `protobuf:"varint,13,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+}
+
+func (x *BuoyantCombatDailyInfo) Reset() {
+ *x = BuoyantCombatDailyInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuoyantCombatDailyInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuoyantCombatDailyInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuoyantCombatDailyInfo) ProtoMessage() {}
+
+func (x *BuoyantCombatDailyInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BuoyantCombatDailyInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuoyantCombatDailyInfo.ProtoReflect.Descriptor instead.
+func (*BuoyantCombatDailyInfo) Descriptor() ([]byte, []int) {
+ return file_BuoyantCombatDailyInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuoyantCombatDailyInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *BuoyantCombatDailyInfo) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+var File_BuoyantCombatDailyInfo_proto protoreflect.FileDescriptor
+
+var file_BuoyantCombatDailyInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x44,
+ 0x61, 0x69, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x16, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74,
+ 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_BuoyantCombatDailyInfo_proto_rawDescOnce sync.Once
+ file_BuoyantCombatDailyInfo_proto_rawDescData = file_BuoyantCombatDailyInfo_proto_rawDesc
+)
+
+func file_BuoyantCombatDailyInfo_proto_rawDescGZIP() []byte {
+ file_BuoyantCombatDailyInfo_proto_rawDescOnce.Do(func() {
+ file_BuoyantCombatDailyInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuoyantCombatDailyInfo_proto_rawDescData)
+ })
+ return file_BuoyantCombatDailyInfo_proto_rawDescData
+}
+
+var file_BuoyantCombatDailyInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuoyantCombatDailyInfo_proto_goTypes = []interface{}{
+ (*BuoyantCombatDailyInfo)(nil), // 0: proto.BuoyantCombatDailyInfo
+}
+var file_BuoyantCombatDailyInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BuoyantCombatDailyInfo_proto_init() }
+func file_BuoyantCombatDailyInfo_proto_init() {
+ if File_BuoyantCombatDailyInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BuoyantCombatDailyInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuoyantCombatDailyInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuoyantCombatDailyInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuoyantCombatDailyInfo_proto_goTypes,
+ DependencyIndexes: file_BuoyantCombatDailyInfo_proto_depIdxs,
+ MessageInfos: file_BuoyantCombatDailyInfo_proto_msgTypes,
+ }.Build()
+ File_BuoyantCombatDailyInfo_proto = out.File
+ file_BuoyantCombatDailyInfo_proto_rawDesc = nil
+ file_BuoyantCombatDailyInfo_proto_goTypes = nil
+ file_BuoyantCombatDailyInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuoyantCombatDetailInfo.pb.go b/protocol/proto/BuoyantCombatDetailInfo.pb.go
new file mode 100644
index 00000000..1fc41999
--- /dev/null
+++ b/protocol/proto/BuoyantCombatDetailInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuoyantCombatDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BuoyantCombatDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DailyInfoList []*BuoyantCombatDailyInfo `protobuf:"bytes,8,rep,name=daily_info_list,json=dailyInfoList,proto3" json:"daily_info_list,omitempty"`
+}
+
+func (x *BuoyantCombatDetailInfo) Reset() {
+ *x = BuoyantCombatDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuoyantCombatDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuoyantCombatDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuoyantCombatDetailInfo) ProtoMessage() {}
+
+func (x *BuoyantCombatDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BuoyantCombatDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuoyantCombatDetailInfo.ProtoReflect.Descriptor instead.
+func (*BuoyantCombatDetailInfo) Descriptor() ([]byte, []int) {
+ return file_BuoyantCombatDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuoyantCombatDetailInfo) GetDailyInfoList() []*BuoyantCombatDailyInfo {
+ if x != nil {
+ return x.DailyInfoList
+ }
+ return nil
+}
+
+var File_BuoyantCombatDetailInfo_proto protoreflect.FileDescriptor
+
+var file_BuoyantCombatDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43,
+ 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x17, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43,
+ 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x45, 0x0a, 0x0f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x44, 0x61,
+ 0x69, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuoyantCombatDetailInfo_proto_rawDescOnce sync.Once
+ file_BuoyantCombatDetailInfo_proto_rawDescData = file_BuoyantCombatDetailInfo_proto_rawDesc
+)
+
+func file_BuoyantCombatDetailInfo_proto_rawDescGZIP() []byte {
+ file_BuoyantCombatDetailInfo_proto_rawDescOnce.Do(func() {
+ file_BuoyantCombatDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuoyantCombatDetailInfo_proto_rawDescData)
+ })
+ return file_BuoyantCombatDetailInfo_proto_rawDescData
+}
+
+var file_BuoyantCombatDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuoyantCombatDetailInfo_proto_goTypes = []interface{}{
+ (*BuoyantCombatDetailInfo)(nil), // 0: proto.BuoyantCombatDetailInfo
+ (*BuoyantCombatDailyInfo)(nil), // 1: proto.BuoyantCombatDailyInfo
+}
+var file_BuoyantCombatDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BuoyantCombatDetailInfo.daily_info_list:type_name -> proto.BuoyantCombatDailyInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BuoyantCombatDetailInfo_proto_init() }
+func file_BuoyantCombatDetailInfo_proto_init() {
+ if File_BuoyantCombatDetailInfo_proto != nil {
+ return
+ }
+ file_BuoyantCombatDailyInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BuoyantCombatDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuoyantCombatDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuoyantCombatDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuoyantCombatDetailInfo_proto_goTypes,
+ DependencyIndexes: file_BuoyantCombatDetailInfo_proto_depIdxs,
+ MessageInfos: file_BuoyantCombatDetailInfo_proto_msgTypes,
+ }.Build()
+ File_BuoyantCombatDetailInfo_proto = out.File
+ file_BuoyantCombatDetailInfo_proto_rawDesc = nil
+ file_BuoyantCombatDetailInfo_proto_goTypes = nil
+ file_BuoyantCombatDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuoyantCombatGallerySettleInfo.pb.go b/protocol/proto/BuoyantCombatGallerySettleInfo.pb.go
new file mode 100644
index 00000000..1c25a908
--- /dev/null
+++ b/protocol/proto/BuoyantCombatGallerySettleInfo.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuoyantCombatGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BuoyantCombatGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryLevel uint32 `protobuf:"varint,12,opt,name=gallery_level,json=galleryLevel,proto3" json:"gallery_level,omitempty"`
+ FinalScore uint32 `protobuf:"varint,15,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+ KillMonsterCount uint32 `protobuf:"varint,9,opt,name=kill_monster_count,json=killMonsterCount,proto3" json:"kill_monster_count,omitempty"`
+ KillTargetCount uint32 `protobuf:"varint,1,opt,name=kill_target_count,json=killTargetCount,proto3" json:"kill_target_count,omitempty"`
+ KillSpecialMonsterCount uint32 `protobuf:"varint,4,opt,name=kill_special_monster_count,json=killSpecialMonsterCount,proto3" json:"kill_special_monster_count,omitempty"`
+ GalleryId uint32 `protobuf:"varint,2,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ GalleryMultiple uint32 `protobuf:"varint,11,opt,name=gallery_multiple,json=galleryMultiple,proto3" json:"gallery_multiple,omitempty"`
+}
+
+func (x *BuoyantCombatGallerySettleInfo) Reset() {
+ *x = BuoyantCombatGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuoyantCombatGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuoyantCombatGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuoyantCombatGallerySettleInfo) ProtoMessage() {}
+
+func (x *BuoyantCombatGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BuoyantCombatGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuoyantCombatGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*BuoyantCombatGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_BuoyantCombatGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuoyantCombatGallerySettleInfo) GetGalleryLevel() uint32 {
+ if x != nil {
+ return x.GalleryLevel
+ }
+ return 0
+}
+
+func (x *BuoyantCombatGallerySettleInfo) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+func (x *BuoyantCombatGallerySettleInfo) GetKillMonsterCount() uint32 {
+ if x != nil {
+ return x.KillMonsterCount
+ }
+ return 0
+}
+
+func (x *BuoyantCombatGallerySettleInfo) GetKillTargetCount() uint32 {
+ if x != nil {
+ return x.KillTargetCount
+ }
+ return 0
+}
+
+func (x *BuoyantCombatGallerySettleInfo) GetKillSpecialMonsterCount() uint32 {
+ if x != nil {
+ return x.KillSpecialMonsterCount
+ }
+ return 0
+}
+
+func (x *BuoyantCombatGallerySettleInfo) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *BuoyantCombatGallerySettleInfo) GetGalleryMultiple() uint32 {
+ if x != nil {
+ return x.GalleryMultiple
+ }
+ return 0
+}
+
+var File_BuoyantCombatGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_BuoyantCombatGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x02,
+ 0x0a, 0x1e, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61,
+ 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0f, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x3b, 0x0a, 0x1a, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c,
+ 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61,
+ 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10,
+ 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4d,
+ 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuoyantCombatGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_BuoyantCombatGallerySettleInfo_proto_rawDescData = file_BuoyantCombatGallerySettleInfo_proto_rawDesc
+)
+
+func file_BuoyantCombatGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_BuoyantCombatGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_BuoyantCombatGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuoyantCombatGallerySettleInfo_proto_rawDescData)
+ })
+ return file_BuoyantCombatGallerySettleInfo_proto_rawDescData
+}
+
+var file_BuoyantCombatGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuoyantCombatGallerySettleInfo_proto_goTypes = []interface{}{
+ (*BuoyantCombatGallerySettleInfo)(nil), // 0: proto.BuoyantCombatGallerySettleInfo
+}
+var file_BuoyantCombatGallerySettleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BuoyantCombatGallerySettleInfo_proto_init() }
+func file_BuoyantCombatGallerySettleInfo_proto_init() {
+ if File_BuoyantCombatGallerySettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BuoyantCombatGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuoyantCombatGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuoyantCombatGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuoyantCombatGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_BuoyantCombatGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_BuoyantCombatGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_BuoyantCombatGallerySettleInfo_proto = out.File
+ file_BuoyantCombatGallerySettleInfo_proto_rawDesc = nil
+ file_BuoyantCombatGallerySettleInfo_proto_goTypes = nil
+ file_BuoyantCombatGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuoyantCombatSettleInfo.pb.go b/protocol/proto/BuoyantCombatSettleInfo.pb.go
new file mode 100644
index 00000000..c34636f0
--- /dev/null
+++ b/protocol/proto/BuoyantCombatSettleInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuoyantCombatSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type BuoyantCombatSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,1,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ SettleInfo *BuoyantCombatGallerySettleInfo `protobuf:"bytes,3,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+}
+
+func (x *BuoyantCombatSettleInfo) Reset() {
+ *x = BuoyantCombatSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuoyantCombatSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuoyantCombatSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuoyantCombatSettleInfo) ProtoMessage() {}
+
+func (x *BuoyantCombatSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_BuoyantCombatSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuoyantCombatSettleInfo.ProtoReflect.Descriptor instead.
+func (*BuoyantCombatSettleInfo) Descriptor() ([]byte, []int) {
+ return file_BuoyantCombatSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuoyantCombatSettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *BuoyantCombatSettleInfo) GetSettleInfo() *BuoyantCombatGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+var File_BuoyantCombatSettleInfo_proto protoreflect.FileDescriptor
+
+var file_BuoyantCombatSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43,
+ 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a,
+ 0x17, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e,
+ 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x46, 0x0a, 0x0b,
+ 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e,
+ 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuoyantCombatSettleInfo_proto_rawDescOnce sync.Once
+ file_BuoyantCombatSettleInfo_proto_rawDescData = file_BuoyantCombatSettleInfo_proto_rawDesc
+)
+
+func file_BuoyantCombatSettleInfo_proto_rawDescGZIP() []byte {
+ file_BuoyantCombatSettleInfo_proto_rawDescOnce.Do(func() {
+ file_BuoyantCombatSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuoyantCombatSettleInfo_proto_rawDescData)
+ })
+ return file_BuoyantCombatSettleInfo_proto_rawDescData
+}
+
+var file_BuoyantCombatSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuoyantCombatSettleInfo_proto_goTypes = []interface{}{
+ (*BuoyantCombatSettleInfo)(nil), // 0: proto.BuoyantCombatSettleInfo
+ (*BuoyantCombatGallerySettleInfo)(nil), // 1: proto.BuoyantCombatGallerySettleInfo
+}
+var file_BuoyantCombatSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.BuoyantCombatSettleInfo.settle_info:type_name -> proto.BuoyantCombatGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BuoyantCombatSettleInfo_proto_init() }
+func file_BuoyantCombatSettleInfo_proto_init() {
+ if File_BuoyantCombatSettleInfo_proto != nil {
+ return
+ }
+ file_BuoyantCombatGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BuoyantCombatSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuoyantCombatSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuoyantCombatSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuoyantCombatSettleInfo_proto_goTypes,
+ DependencyIndexes: file_BuoyantCombatSettleInfo_proto_depIdxs,
+ MessageInfos: file_BuoyantCombatSettleInfo_proto_msgTypes,
+ }.Build()
+ File_BuoyantCombatSettleInfo_proto = out.File
+ file_BuoyantCombatSettleInfo_proto_rawDesc = nil
+ file_BuoyantCombatSettleInfo_proto_goTypes = nil
+ file_BuoyantCombatSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuoyantCombatSettleNotify.pb.go b/protocol/proto/BuoyantCombatSettleNotify.pb.go
new file mode 100644
index 00000000..cc11e42b
--- /dev/null
+++ b/protocol/proto/BuoyantCombatSettleNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuoyantCombatSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8305
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BuoyantCombatSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,8,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ SettleInfo *BuoyantCombatSettleInfo `protobuf:"bytes,11,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+}
+
+func (x *BuoyantCombatSettleNotify) Reset() {
+ *x = BuoyantCombatSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuoyantCombatSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuoyantCombatSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuoyantCombatSettleNotify) ProtoMessage() {}
+
+func (x *BuoyantCombatSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_BuoyantCombatSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuoyantCombatSettleNotify.ProtoReflect.Descriptor instead.
+func (*BuoyantCombatSettleNotify) Descriptor() ([]byte, []int) {
+ return file_BuoyantCombatSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuoyantCombatSettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *BuoyantCombatSettleNotify) GetSettleInfo() *BuoyantCombatSettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+var File_BuoyantCombatSettleNotify_proto protoreflect.FileDescriptor
+
+var file_BuoyantCombatSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e,
+ 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x19, 0x42, 0x75, 0x6f, 0x79, 0x61,
+ 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuoyantCombatSettleNotify_proto_rawDescOnce sync.Once
+ file_BuoyantCombatSettleNotify_proto_rawDescData = file_BuoyantCombatSettleNotify_proto_rawDesc
+)
+
+func file_BuoyantCombatSettleNotify_proto_rawDescGZIP() []byte {
+ file_BuoyantCombatSettleNotify_proto_rawDescOnce.Do(func() {
+ file_BuoyantCombatSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuoyantCombatSettleNotify_proto_rawDescData)
+ })
+ return file_BuoyantCombatSettleNotify_proto_rawDescData
+}
+
+var file_BuoyantCombatSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuoyantCombatSettleNotify_proto_goTypes = []interface{}{
+ (*BuoyantCombatSettleNotify)(nil), // 0: proto.BuoyantCombatSettleNotify
+ (*BuoyantCombatSettleInfo)(nil), // 1: proto.BuoyantCombatSettleInfo
+}
+var file_BuoyantCombatSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.BuoyantCombatSettleNotify.settle_info:type_name -> proto.BuoyantCombatSettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BuoyantCombatSettleNotify_proto_init() }
+func file_BuoyantCombatSettleNotify_proto_init() {
+ if File_BuoyantCombatSettleNotify_proto != nil {
+ return
+ }
+ file_BuoyantCombatSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BuoyantCombatSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuoyantCombatSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuoyantCombatSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuoyantCombatSettleNotify_proto_goTypes,
+ DependencyIndexes: file_BuoyantCombatSettleNotify_proto_depIdxs,
+ MessageInfos: file_BuoyantCombatSettleNotify_proto_msgTypes,
+ }.Build()
+ File_BuoyantCombatSettleNotify_proto = out.File
+ file_BuoyantCombatSettleNotify_proto_rawDesc = nil
+ file_BuoyantCombatSettleNotify_proto_goTypes = nil
+ file_BuoyantCombatSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuyBattlePassLevelReq.pb.go b/protocol/proto/BuyBattlePassLevelReq.pb.go
new file mode 100644
index 00000000..b5c36133
--- /dev/null
+++ b/protocol/proto/BuyBattlePassLevelReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuyBattlePassLevelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2647
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BuyBattlePassLevelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuyLevel uint32 `protobuf:"varint,8,opt,name=buy_level,json=buyLevel,proto3" json:"buy_level,omitempty"`
+}
+
+func (x *BuyBattlePassLevelReq) Reset() {
+ *x = BuyBattlePassLevelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuyBattlePassLevelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuyBattlePassLevelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuyBattlePassLevelReq) ProtoMessage() {}
+
+func (x *BuyBattlePassLevelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BuyBattlePassLevelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuyBattlePassLevelReq.ProtoReflect.Descriptor instead.
+func (*BuyBattlePassLevelReq) Descriptor() ([]byte, []int) {
+ return file_BuyBattlePassLevelReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuyBattlePassLevelReq) GetBuyLevel() uint32 {
+ if x != nil {
+ return x.BuyLevel
+ }
+ return 0
+}
+
+var File_BuyBattlePassLevelReq_proto protoreflect.FileDescriptor
+
+var file_BuyBattlePassLevelReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x42, 0x75, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x15, 0x42, 0x75, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x62, 0x75, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x62, 0x75, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuyBattlePassLevelReq_proto_rawDescOnce sync.Once
+ file_BuyBattlePassLevelReq_proto_rawDescData = file_BuyBattlePassLevelReq_proto_rawDesc
+)
+
+func file_BuyBattlePassLevelReq_proto_rawDescGZIP() []byte {
+ file_BuyBattlePassLevelReq_proto_rawDescOnce.Do(func() {
+ file_BuyBattlePassLevelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuyBattlePassLevelReq_proto_rawDescData)
+ })
+ return file_BuyBattlePassLevelReq_proto_rawDescData
+}
+
+var file_BuyBattlePassLevelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuyBattlePassLevelReq_proto_goTypes = []interface{}{
+ (*BuyBattlePassLevelReq)(nil), // 0: proto.BuyBattlePassLevelReq
+}
+var file_BuyBattlePassLevelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BuyBattlePassLevelReq_proto_init() }
+func file_BuyBattlePassLevelReq_proto_init() {
+ if File_BuyBattlePassLevelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BuyBattlePassLevelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuyBattlePassLevelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuyBattlePassLevelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuyBattlePassLevelReq_proto_goTypes,
+ DependencyIndexes: file_BuyBattlePassLevelReq_proto_depIdxs,
+ MessageInfos: file_BuyBattlePassLevelReq_proto_msgTypes,
+ }.Build()
+ File_BuyBattlePassLevelReq_proto = out.File
+ file_BuyBattlePassLevelReq_proto_rawDesc = nil
+ file_BuyBattlePassLevelReq_proto_goTypes = nil
+ file_BuyBattlePassLevelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuyBattlePassLevelRsp.pb.go b/protocol/proto/BuyBattlePassLevelRsp.pb.go
new file mode 100644
index 00000000..30518fc4
--- /dev/null
+++ b/protocol/proto/BuyBattlePassLevelRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuyBattlePassLevelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2637
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BuyBattlePassLevelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ BuyLevel uint32 `protobuf:"varint,13,opt,name=buy_level,json=buyLevel,proto3" json:"buy_level,omitempty"`
+}
+
+func (x *BuyBattlePassLevelRsp) Reset() {
+ *x = BuyBattlePassLevelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuyBattlePassLevelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuyBattlePassLevelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuyBattlePassLevelRsp) ProtoMessage() {}
+
+func (x *BuyBattlePassLevelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BuyBattlePassLevelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuyBattlePassLevelRsp.ProtoReflect.Descriptor instead.
+func (*BuyBattlePassLevelRsp) Descriptor() ([]byte, []int) {
+ return file_BuyBattlePassLevelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuyBattlePassLevelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BuyBattlePassLevelRsp) GetBuyLevel() uint32 {
+ if x != nil {
+ return x.BuyLevel
+ }
+ return 0
+}
+
+var File_BuyBattlePassLevelRsp_proto protoreflect.FileDescriptor
+
+var file_BuyBattlePassLevelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x42, 0x75, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x15, 0x42, 0x75, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x50, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x79, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x75, 0x79, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuyBattlePassLevelRsp_proto_rawDescOnce sync.Once
+ file_BuyBattlePassLevelRsp_proto_rawDescData = file_BuyBattlePassLevelRsp_proto_rawDesc
+)
+
+func file_BuyBattlePassLevelRsp_proto_rawDescGZIP() []byte {
+ file_BuyBattlePassLevelRsp_proto_rawDescOnce.Do(func() {
+ file_BuyBattlePassLevelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuyBattlePassLevelRsp_proto_rawDescData)
+ })
+ return file_BuyBattlePassLevelRsp_proto_rawDescData
+}
+
+var file_BuyBattlePassLevelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuyBattlePassLevelRsp_proto_goTypes = []interface{}{
+ (*BuyBattlePassLevelRsp)(nil), // 0: proto.BuyBattlePassLevelRsp
+}
+var file_BuyBattlePassLevelRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BuyBattlePassLevelRsp_proto_init() }
+func file_BuyBattlePassLevelRsp_proto_init() {
+ if File_BuyBattlePassLevelRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BuyBattlePassLevelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuyBattlePassLevelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuyBattlePassLevelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuyBattlePassLevelRsp_proto_goTypes,
+ DependencyIndexes: file_BuyBattlePassLevelRsp_proto_depIdxs,
+ MessageInfos: file_BuyBattlePassLevelRsp_proto_msgTypes,
+ }.Build()
+ File_BuyBattlePassLevelRsp_proto = out.File
+ file_BuyBattlePassLevelRsp_proto_rawDesc = nil
+ file_BuyBattlePassLevelRsp_proto_goTypes = nil
+ file_BuyBattlePassLevelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuyGoodsReq.pb.go b/protocol/proto/BuyGoodsReq.pb.go
new file mode 100644
index 00000000..d0206a4e
--- /dev/null
+++ b/protocol/proto/BuyGoodsReq.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuyGoodsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 712
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BuyGoodsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuyCount uint32 `protobuf:"varint,14,opt,name=buy_count,json=buyCount,proto3" json:"buy_count,omitempty"`
+ Goods *ShopGoods `protobuf:"bytes,15,opt,name=goods,proto3" json:"goods,omitempty"`
+ ShopType uint32 `protobuf:"varint,7,opt,name=shop_type,json=shopType,proto3" json:"shop_type,omitempty"`
+}
+
+func (x *BuyGoodsReq) Reset() {
+ *x = BuyGoodsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuyGoodsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuyGoodsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuyGoodsReq) ProtoMessage() {}
+
+func (x *BuyGoodsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BuyGoodsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuyGoodsReq.ProtoReflect.Descriptor instead.
+func (*BuyGoodsReq) Descriptor() ([]byte, []int) {
+ return file_BuyGoodsReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuyGoodsReq) GetBuyCount() uint32 {
+ if x != nil {
+ return x.BuyCount
+ }
+ return 0
+}
+
+func (x *BuyGoodsReq) GetGoods() *ShopGoods {
+ if x != nil {
+ return x.Goods
+ }
+ return nil
+}
+
+func (x *BuyGoodsReq) GetShopType() uint32 {
+ if x != nil {
+ return x.ShopType
+ }
+ return 0
+}
+
+var File_BuyGoodsReq_proto protoreflect.FileDescriptor
+
+var file_BuyGoodsReq_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x42, 0x75, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x53, 0x68, 0x6f, 0x70,
+ 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x0b, 0x42,
+ 0x75, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75,
+ 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62,
+ 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x12,
+ 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuyGoodsReq_proto_rawDescOnce sync.Once
+ file_BuyGoodsReq_proto_rawDescData = file_BuyGoodsReq_proto_rawDesc
+)
+
+func file_BuyGoodsReq_proto_rawDescGZIP() []byte {
+ file_BuyGoodsReq_proto_rawDescOnce.Do(func() {
+ file_BuyGoodsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuyGoodsReq_proto_rawDescData)
+ })
+ return file_BuyGoodsReq_proto_rawDescData
+}
+
+var file_BuyGoodsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuyGoodsReq_proto_goTypes = []interface{}{
+ (*BuyGoodsReq)(nil), // 0: proto.BuyGoodsReq
+ (*ShopGoods)(nil), // 1: proto.ShopGoods
+}
+var file_BuyGoodsReq_proto_depIdxs = []int32{
+ 1, // 0: proto.BuyGoodsReq.goods:type_name -> proto.ShopGoods
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_BuyGoodsReq_proto_init() }
+func file_BuyGoodsReq_proto_init() {
+ if File_BuyGoodsReq_proto != nil {
+ return
+ }
+ file_ShopGoods_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BuyGoodsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuyGoodsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuyGoodsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuyGoodsReq_proto_goTypes,
+ DependencyIndexes: file_BuyGoodsReq_proto_depIdxs,
+ MessageInfos: file_BuyGoodsReq_proto_msgTypes,
+ }.Build()
+ File_BuyGoodsReq_proto = out.File
+ file_BuyGoodsReq_proto_rawDesc = nil
+ file_BuyGoodsReq_proto_goTypes = nil
+ file_BuyGoodsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuyGoodsRsp.pb.go b/protocol/proto/BuyGoodsRsp.pb.go
new file mode 100644
index 00000000..f984df7f
--- /dev/null
+++ b/protocol/proto/BuyGoodsRsp.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuyGoodsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 735
+// EnetChannelId: 0
+// EnetIsReliable: true
+type BuyGoodsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuyCount uint32 `protobuf:"varint,14,opt,name=buy_count,json=buyCount,proto3" json:"buy_count,omitempty"`
+ Goods *ShopGoods `protobuf:"bytes,12,opt,name=goods,proto3" json:"goods,omitempty"`
+ ShopType uint32 `protobuf:"varint,11,opt,name=shop_type,json=shopType,proto3" json:"shop_type,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GoodsList []*ShopGoods `protobuf:"bytes,5,rep,name=goods_list,json=goodsList,proto3" json:"goods_list,omitempty"`
+}
+
+func (x *BuyGoodsRsp) Reset() {
+ *x = BuyGoodsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuyGoodsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuyGoodsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuyGoodsRsp) ProtoMessage() {}
+
+func (x *BuyGoodsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BuyGoodsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuyGoodsRsp.ProtoReflect.Descriptor instead.
+func (*BuyGoodsRsp) Descriptor() ([]byte, []int) {
+ return file_BuyGoodsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuyGoodsRsp) GetBuyCount() uint32 {
+ if x != nil {
+ return x.BuyCount
+ }
+ return 0
+}
+
+func (x *BuyGoodsRsp) GetGoods() *ShopGoods {
+ if x != nil {
+ return x.Goods
+ }
+ return nil
+}
+
+func (x *BuyGoodsRsp) GetShopType() uint32 {
+ if x != nil {
+ return x.ShopType
+ }
+ return 0
+}
+
+func (x *BuyGoodsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *BuyGoodsRsp) GetGoodsList() []*ShopGoods {
+ if x != nil {
+ return x.GoodsList
+ }
+ return nil
+}
+
+var File_BuyGoodsRsp_proto protoreflect.FileDescriptor
+
+var file_BuyGoodsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x42, 0x75, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x53, 0x68, 0x6f, 0x70,
+ 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x0b,
+ 0x42, 0x75, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x62,
+ 0x75, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x62, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x05, 0x67, 0x6f, 0x6f, 0x64,
+ 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73,
+ 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x09, 0x67,
+ 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuyGoodsRsp_proto_rawDescOnce sync.Once
+ file_BuyGoodsRsp_proto_rawDescData = file_BuyGoodsRsp_proto_rawDesc
+)
+
+func file_BuyGoodsRsp_proto_rawDescGZIP() []byte {
+ file_BuyGoodsRsp_proto_rawDescOnce.Do(func() {
+ file_BuyGoodsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuyGoodsRsp_proto_rawDescData)
+ })
+ return file_BuyGoodsRsp_proto_rawDescData
+}
+
+var file_BuyGoodsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuyGoodsRsp_proto_goTypes = []interface{}{
+ (*BuyGoodsRsp)(nil), // 0: proto.BuyGoodsRsp
+ (*ShopGoods)(nil), // 1: proto.ShopGoods
+}
+var file_BuyGoodsRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.BuyGoodsRsp.goods:type_name -> proto.ShopGoods
+ 1, // 1: proto.BuyGoodsRsp.goods_list:type_name -> proto.ShopGoods
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_BuyGoodsRsp_proto_init() }
+func file_BuyGoodsRsp_proto_init() {
+ if File_BuyGoodsRsp_proto != nil {
+ return
+ }
+ file_ShopGoods_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_BuyGoodsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuyGoodsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuyGoodsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuyGoodsRsp_proto_goTypes,
+ DependencyIndexes: file_BuyGoodsRsp_proto_depIdxs,
+ MessageInfos: file_BuyGoodsRsp_proto_msgTypes,
+ }.Build()
+ File_BuyGoodsRsp_proto = out.File
+ file_BuyGoodsRsp_proto_rawDesc = nil
+ file_BuyGoodsRsp_proto_goTypes = nil
+ file_BuyGoodsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuyResinReq.pb.go b/protocol/proto/BuyResinReq.pb.go
new file mode 100644
index 00000000..b5be2876
--- /dev/null
+++ b/protocol/proto/BuyResinReq.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuyResinReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BuyResinReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *BuyResinReq) Reset() {
+ *x = BuyResinReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuyResinReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuyResinReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuyResinReq) ProtoMessage() {}
+
+func (x *BuyResinReq) ProtoReflect() protoreflect.Message {
+ mi := &file_BuyResinReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuyResinReq.ProtoReflect.Descriptor instead.
+func (*BuyResinReq) Descriptor() ([]byte, []int) {
+ return file_BuyResinReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_BuyResinReq_proto protoreflect.FileDescriptor
+
+var file_BuyResinReq_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0d, 0x0a, 0x0b, 0x42, 0x75,
+ 0x79, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuyResinReq_proto_rawDescOnce sync.Once
+ file_BuyResinReq_proto_rawDescData = file_BuyResinReq_proto_rawDesc
+)
+
+func file_BuyResinReq_proto_rawDescGZIP() []byte {
+ file_BuyResinReq_proto_rawDescOnce.Do(func() {
+ file_BuyResinReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuyResinReq_proto_rawDescData)
+ })
+ return file_BuyResinReq_proto_rawDescData
+}
+
+var file_BuyResinReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuyResinReq_proto_goTypes = []interface{}{
+ (*BuyResinReq)(nil), // 0: proto.BuyResinReq
+}
+var file_BuyResinReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BuyResinReq_proto_init() }
+func file_BuyResinReq_proto_init() {
+ if File_BuyResinReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BuyResinReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuyResinReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuyResinReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuyResinReq_proto_goTypes,
+ DependencyIndexes: file_BuyResinReq_proto_depIdxs,
+ MessageInfos: file_BuyResinReq_proto_msgTypes,
+ }.Build()
+ File_BuyResinReq_proto = out.File
+ file_BuyResinReq_proto_rawDesc = nil
+ file_BuyResinReq_proto_goTypes = nil
+ file_BuyResinReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/BuyResinRsp.pb.go b/protocol/proto/BuyResinRsp.pb.go
new file mode 100644
index 00000000..4f61aa2d
--- /dev/null
+++ b/protocol/proto/BuyResinRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: BuyResinRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 619
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type BuyResinRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurValue uint32 `protobuf:"varint,10,opt,name=cur_value,json=curValue,proto3" json:"cur_value,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *BuyResinRsp) Reset() {
+ *x = BuyResinRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_BuyResinRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BuyResinRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BuyResinRsp) ProtoMessage() {}
+
+func (x *BuyResinRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_BuyResinRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BuyResinRsp.ProtoReflect.Descriptor instead.
+func (*BuyResinRsp) Descriptor() ([]byte, []int) {
+ return file_BuyResinRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *BuyResinRsp) GetCurValue() uint32 {
+ if x != nil {
+ return x.CurValue
+ }
+ return 0
+}
+
+func (x *BuyResinRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_BuyResinRsp_proto protoreflect.FileDescriptor
+
+var file_BuyResinRsp_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x0b, 0x42, 0x75,
+ 0x79, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75,
+ 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_BuyResinRsp_proto_rawDescOnce sync.Once
+ file_BuyResinRsp_proto_rawDescData = file_BuyResinRsp_proto_rawDesc
+)
+
+func file_BuyResinRsp_proto_rawDescGZIP() []byte {
+ file_BuyResinRsp_proto_rawDescOnce.Do(func() {
+ file_BuyResinRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_BuyResinRsp_proto_rawDescData)
+ })
+ return file_BuyResinRsp_proto_rawDescData
+}
+
+var file_BuyResinRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_BuyResinRsp_proto_goTypes = []interface{}{
+ (*BuyResinRsp)(nil), // 0: proto.BuyResinRsp
+}
+var file_BuyResinRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_BuyResinRsp_proto_init() }
+func file_BuyResinRsp_proto_init() {
+ if File_BuyResinRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_BuyResinRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*BuyResinRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_BuyResinRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_BuyResinRsp_proto_goTypes,
+ DependencyIndexes: file_BuyResinRsp_proto_depIdxs,
+ MessageInfos: file_BuyResinRsp_proto_msgTypes,
+ }.Build()
+ File_BuyResinRsp_proto = out.File
+ file_BuyResinRsp_proto_rawDesc = nil
+ file_BuyResinRsp_proto_goTypes = nil
+ file_BuyResinRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CalcWeaponUpgradeReturnItemsReq.pb.go b/protocol/proto/CalcWeaponUpgradeReturnItemsReq.pb.go
new file mode 100644
index 00000000..8f834cba
--- /dev/null
+++ b/protocol/proto/CalcWeaponUpgradeReturnItemsReq.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CalcWeaponUpgradeReturnItemsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 633
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CalcWeaponUpgradeReturnItemsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FoodWeaponGuidList []uint64 `protobuf:"varint,15,rep,packed,name=food_weapon_guid_list,json=foodWeaponGuidList,proto3" json:"food_weapon_guid_list,omitempty"`
+ TargetWeaponGuid uint64 `protobuf:"varint,12,opt,name=target_weapon_guid,json=targetWeaponGuid,proto3" json:"target_weapon_guid,omitempty"`
+ ItemParamList []*ItemParam `protobuf:"bytes,3,rep,name=item_param_list,json=itemParamList,proto3" json:"item_param_list,omitempty"`
+}
+
+func (x *CalcWeaponUpgradeReturnItemsReq) Reset() {
+ *x = CalcWeaponUpgradeReturnItemsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CalcWeaponUpgradeReturnItemsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CalcWeaponUpgradeReturnItemsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CalcWeaponUpgradeReturnItemsReq) ProtoMessage() {}
+
+func (x *CalcWeaponUpgradeReturnItemsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CalcWeaponUpgradeReturnItemsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CalcWeaponUpgradeReturnItemsReq.ProtoReflect.Descriptor instead.
+func (*CalcWeaponUpgradeReturnItemsReq) Descriptor() ([]byte, []int) {
+ return file_CalcWeaponUpgradeReturnItemsReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CalcWeaponUpgradeReturnItemsReq) GetFoodWeaponGuidList() []uint64 {
+ if x != nil {
+ return x.FoodWeaponGuidList
+ }
+ return nil
+}
+
+func (x *CalcWeaponUpgradeReturnItemsReq) GetTargetWeaponGuid() uint64 {
+ if x != nil {
+ return x.TargetWeaponGuid
+ }
+ return 0
+}
+
+func (x *CalcWeaponUpgradeReturnItemsReq) GetItemParamList() []*ItemParam {
+ if x != nil {
+ return x.ItemParamList
+ }
+ return nil
+}
+
+var File_CalcWeaponUpgradeReturnItemsReq_proto protoreflect.FileDescriptor
+
+var file_CalcWeaponUpgradeReturnItemsReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x43, 0x61, 0x6c, 0x63, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72,
+ 0x61, 0x64, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
+ 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xbc, 0x01, 0x0a, 0x1f, 0x43, 0x61, 0x6c, 0x63, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x55, 0x70,
+ 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73,
+ 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x77, 0x65, 0x61, 0x70,
+ 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x04, 0x52, 0x12, 0x66, 0x6f, 0x6f, 0x64, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x47, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x5f, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
+ 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CalcWeaponUpgradeReturnItemsReq_proto_rawDescOnce sync.Once
+ file_CalcWeaponUpgradeReturnItemsReq_proto_rawDescData = file_CalcWeaponUpgradeReturnItemsReq_proto_rawDesc
+)
+
+func file_CalcWeaponUpgradeReturnItemsReq_proto_rawDescGZIP() []byte {
+ file_CalcWeaponUpgradeReturnItemsReq_proto_rawDescOnce.Do(func() {
+ file_CalcWeaponUpgradeReturnItemsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CalcWeaponUpgradeReturnItemsReq_proto_rawDescData)
+ })
+ return file_CalcWeaponUpgradeReturnItemsReq_proto_rawDescData
+}
+
+var file_CalcWeaponUpgradeReturnItemsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CalcWeaponUpgradeReturnItemsReq_proto_goTypes = []interface{}{
+ (*CalcWeaponUpgradeReturnItemsReq)(nil), // 0: proto.CalcWeaponUpgradeReturnItemsReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_CalcWeaponUpgradeReturnItemsReq_proto_depIdxs = []int32{
+ 1, // 0: proto.CalcWeaponUpgradeReturnItemsReq.item_param_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CalcWeaponUpgradeReturnItemsReq_proto_init() }
+func file_CalcWeaponUpgradeReturnItemsReq_proto_init() {
+ if File_CalcWeaponUpgradeReturnItemsReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CalcWeaponUpgradeReturnItemsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CalcWeaponUpgradeReturnItemsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CalcWeaponUpgradeReturnItemsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CalcWeaponUpgradeReturnItemsReq_proto_goTypes,
+ DependencyIndexes: file_CalcWeaponUpgradeReturnItemsReq_proto_depIdxs,
+ MessageInfos: file_CalcWeaponUpgradeReturnItemsReq_proto_msgTypes,
+ }.Build()
+ File_CalcWeaponUpgradeReturnItemsReq_proto = out.File
+ file_CalcWeaponUpgradeReturnItemsReq_proto_rawDesc = nil
+ file_CalcWeaponUpgradeReturnItemsReq_proto_goTypes = nil
+ file_CalcWeaponUpgradeReturnItemsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CalcWeaponUpgradeReturnItemsRsp.pb.go b/protocol/proto/CalcWeaponUpgradeReturnItemsRsp.pb.go
new file mode 100644
index 00000000..01ef0ee0
--- /dev/null
+++ b/protocol/proto/CalcWeaponUpgradeReturnItemsRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CalcWeaponUpgradeReturnItemsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 684
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CalcWeaponUpgradeReturnItemsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemParamList []*ItemParam `protobuf:"bytes,4,rep,name=item_param_list,json=itemParamList,proto3" json:"item_param_list,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetWeaponGuid uint64 `protobuf:"varint,8,opt,name=target_weapon_guid,json=targetWeaponGuid,proto3" json:"target_weapon_guid,omitempty"`
+}
+
+func (x *CalcWeaponUpgradeReturnItemsRsp) Reset() {
+ *x = CalcWeaponUpgradeReturnItemsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CalcWeaponUpgradeReturnItemsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CalcWeaponUpgradeReturnItemsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CalcWeaponUpgradeReturnItemsRsp) ProtoMessage() {}
+
+func (x *CalcWeaponUpgradeReturnItemsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CalcWeaponUpgradeReturnItemsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CalcWeaponUpgradeReturnItemsRsp.ProtoReflect.Descriptor instead.
+func (*CalcWeaponUpgradeReturnItemsRsp) Descriptor() ([]byte, []int) {
+ return file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CalcWeaponUpgradeReturnItemsRsp) GetItemParamList() []*ItemParam {
+ if x != nil {
+ return x.ItemParamList
+ }
+ return nil
+}
+
+func (x *CalcWeaponUpgradeReturnItemsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *CalcWeaponUpgradeReturnItemsRsp) GetTargetWeaponGuid() uint64 {
+ if x != nil {
+ return x.TargetWeaponGuid
+ }
+ return 0
+}
+
+var File_CalcWeaponUpgradeReturnItemsRsp_proto protoreflect.FileDescriptor
+
+var file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x43, 0x61, 0x6c, 0x63, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72,
+ 0x61, 0x64, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
+ 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xa3, 0x01, 0x0a, 0x1f, 0x43, 0x61, 0x6c, 0x63, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x55, 0x70,
+ 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73,
+ 0x52, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0d,
+ 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f,
+ 0x6e, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDescOnce sync.Once
+ file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDescData = file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDesc
+)
+
+func file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDescGZIP() []byte {
+ file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDescOnce.Do(func() {
+ file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDescData)
+ })
+ return file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDescData
+}
+
+var file_CalcWeaponUpgradeReturnItemsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CalcWeaponUpgradeReturnItemsRsp_proto_goTypes = []interface{}{
+ (*CalcWeaponUpgradeReturnItemsRsp)(nil), // 0: proto.CalcWeaponUpgradeReturnItemsRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_CalcWeaponUpgradeReturnItemsRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.CalcWeaponUpgradeReturnItemsRsp.item_param_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CalcWeaponUpgradeReturnItemsRsp_proto_init() }
+func file_CalcWeaponUpgradeReturnItemsRsp_proto_init() {
+ if File_CalcWeaponUpgradeReturnItemsRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CalcWeaponUpgradeReturnItemsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CalcWeaponUpgradeReturnItemsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CalcWeaponUpgradeReturnItemsRsp_proto_goTypes,
+ DependencyIndexes: file_CalcWeaponUpgradeReturnItemsRsp_proto_depIdxs,
+ MessageInfos: file_CalcWeaponUpgradeReturnItemsRsp_proto_msgTypes,
+ }.Build()
+ File_CalcWeaponUpgradeReturnItemsRsp_proto = out.File
+ file_CalcWeaponUpgradeReturnItemsRsp_proto_rawDesc = nil
+ file_CalcWeaponUpgradeReturnItemsRsp_proto_goTypes = nil
+ file_CalcWeaponUpgradeReturnItemsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CanUseSkillNotify.pb.go b/protocol/proto/CanUseSkillNotify.pb.go
new file mode 100644
index 00000000..7520ec76
--- /dev/null
+++ b/protocol/proto/CanUseSkillNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CanUseSkillNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1005
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CanUseSkillNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCanUseSkill bool `protobuf:"varint,2,opt,name=is_can_use_skill,json=isCanUseSkill,proto3" json:"is_can_use_skill,omitempty"`
+}
+
+func (x *CanUseSkillNotify) Reset() {
+ *x = CanUseSkillNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CanUseSkillNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CanUseSkillNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CanUseSkillNotify) ProtoMessage() {}
+
+func (x *CanUseSkillNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CanUseSkillNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CanUseSkillNotify.ProtoReflect.Descriptor instead.
+func (*CanUseSkillNotify) Descriptor() ([]byte, []int) {
+ return file_CanUseSkillNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CanUseSkillNotify) GetIsCanUseSkill() bool {
+ if x != nil {
+ return x.IsCanUseSkill
+ }
+ return false
+}
+
+var File_CanUseSkillNotify_proto protoreflect.FileDescriptor
+
+var file_CanUseSkillNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x3c, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x27, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x6e, 0x5f,
+ 0x75, 0x73, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CanUseSkillNotify_proto_rawDescOnce sync.Once
+ file_CanUseSkillNotify_proto_rawDescData = file_CanUseSkillNotify_proto_rawDesc
+)
+
+func file_CanUseSkillNotify_proto_rawDescGZIP() []byte {
+ file_CanUseSkillNotify_proto_rawDescOnce.Do(func() {
+ file_CanUseSkillNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CanUseSkillNotify_proto_rawDescData)
+ })
+ return file_CanUseSkillNotify_proto_rawDescData
+}
+
+var file_CanUseSkillNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CanUseSkillNotify_proto_goTypes = []interface{}{
+ (*CanUseSkillNotify)(nil), // 0: proto.CanUseSkillNotify
+}
+var file_CanUseSkillNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CanUseSkillNotify_proto_init() }
+func file_CanUseSkillNotify_proto_init() {
+ if File_CanUseSkillNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CanUseSkillNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CanUseSkillNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CanUseSkillNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CanUseSkillNotify_proto_goTypes,
+ DependencyIndexes: file_CanUseSkillNotify_proto_depIdxs,
+ MessageInfos: file_CanUseSkillNotify_proto_msgTypes,
+ }.Build()
+ File_CanUseSkillNotify_proto = out.File
+ file_CanUseSkillNotify_proto_rawDesc = nil
+ file_CanUseSkillNotify_proto_goTypes = nil
+ file_CanUseSkillNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CancelCityReputationRequestReq.pb.go b/protocol/proto/CancelCityReputationRequestReq.pb.go
new file mode 100644
index 00000000..d8b7a2e0
--- /dev/null
+++ b/protocol/proto/CancelCityReputationRequestReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CancelCityReputationRequestReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2899
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CancelCityReputationRequestReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RequestId uint32 `protobuf:"varint,10,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
+ CityId uint32 `protobuf:"varint,6,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *CancelCityReputationRequestReq) Reset() {
+ *x = CancelCityReputationRequestReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CancelCityReputationRequestReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CancelCityReputationRequestReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CancelCityReputationRequestReq) ProtoMessage() {}
+
+func (x *CancelCityReputationRequestReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CancelCityReputationRequestReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CancelCityReputationRequestReq.ProtoReflect.Descriptor instead.
+func (*CancelCityReputationRequestReq) Descriptor() ([]byte, []int) {
+ return file_CancelCityReputationRequestReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CancelCityReputationRequestReq) GetRequestId() uint32 {
+ if x != nil {
+ return x.RequestId
+ }
+ return 0
+}
+
+func (x *CancelCityReputationRequestReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_CancelCityReputationRequestReq_proto protoreflect.FileDescriptor
+
+var file_CancelCityReputationRequestReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a,
+ 0x1e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CancelCityReputationRequestReq_proto_rawDescOnce sync.Once
+ file_CancelCityReputationRequestReq_proto_rawDescData = file_CancelCityReputationRequestReq_proto_rawDesc
+)
+
+func file_CancelCityReputationRequestReq_proto_rawDescGZIP() []byte {
+ file_CancelCityReputationRequestReq_proto_rawDescOnce.Do(func() {
+ file_CancelCityReputationRequestReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CancelCityReputationRequestReq_proto_rawDescData)
+ })
+ return file_CancelCityReputationRequestReq_proto_rawDescData
+}
+
+var file_CancelCityReputationRequestReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CancelCityReputationRequestReq_proto_goTypes = []interface{}{
+ (*CancelCityReputationRequestReq)(nil), // 0: proto.CancelCityReputationRequestReq
+}
+var file_CancelCityReputationRequestReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CancelCityReputationRequestReq_proto_init() }
+func file_CancelCityReputationRequestReq_proto_init() {
+ if File_CancelCityReputationRequestReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CancelCityReputationRequestReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CancelCityReputationRequestReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CancelCityReputationRequestReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CancelCityReputationRequestReq_proto_goTypes,
+ DependencyIndexes: file_CancelCityReputationRequestReq_proto_depIdxs,
+ MessageInfos: file_CancelCityReputationRequestReq_proto_msgTypes,
+ }.Build()
+ File_CancelCityReputationRequestReq_proto = out.File
+ file_CancelCityReputationRequestReq_proto_rawDesc = nil
+ file_CancelCityReputationRequestReq_proto_goTypes = nil
+ file_CancelCityReputationRequestReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CancelCityReputationRequestRsp.pb.go b/protocol/proto/CancelCityReputationRequestRsp.pb.go
new file mode 100644
index 00000000..43f39af8
--- /dev/null
+++ b/protocol/proto/CancelCityReputationRequestRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CancelCityReputationRequestRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2831
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CancelCityReputationRequestRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,3,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RequestId uint32 `protobuf:"varint,12,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
+}
+
+func (x *CancelCityReputationRequestRsp) Reset() {
+ *x = CancelCityReputationRequestRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CancelCityReputationRequestRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CancelCityReputationRequestRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CancelCityReputationRequestRsp) ProtoMessage() {}
+
+func (x *CancelCityReputationRequestRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CancelCityReputationRequestRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CancelCityReputationRequestRsp.ProtoReflect.Descriptor instead.
+func (*CancelCityReputationRequestRsp) Descriptor() ([]byte, []int) {
+ return file_CancelCityReputationRequestRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CancelCityReputationRequestRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *CancelCityReputationRequestRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *CancelCityReputationRequestRsp) GetRequestId() uint32 {
+ if x != nil {
+ return x.RequestId
+ }
+ return 0
+}
+
+var File_CancelCityReputationRequestRsp_proto protoreflect.FileDescriptor
+
+var file_CancelCityReputationRequestRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a,
+ 0x1e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12,
+ 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CancelCityReputationRequestRsp_proto_rawDescOnce sync.Once
+ file_CancelCityReputationRequestRsp_proto_rawDescData = file_CancelCityReputationRequestRsp_proto_rawDesc
+)
+
+func file_CancelCityReputationRequestRsp_proto_rawDescGZIP() []byte {
+ file_CancelCityReputationRequestRsp_proto_rawDescOnce.Do(func() {
+ file_CancelCityReputationRequestRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CancelCityReputationRequestRsp_proto_rawDescData)
+ })
+ return file_CancelCityReputationRequestRsp_proto_rawDescData
+}
+
+var file_CancelCityReputationRequestRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CancelCityReputationRequestRsp_proto_goTypes = []interface{}{
+ (*CancelCityReputationRequestRsp)(nil), // 0: proto.CancelCityReputationRequestRsp
+}
+var file_CancelCityReputationRequestRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CancelCityReputationRequestRsp_proto_init() }
+func file_CancelCityReputationRequestRsp_proto_init() {
+ if File_CancelCityReputationRequestRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CancelCityReputationRequestRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CancelCityReputationRequestRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CancelCityReputationRequestRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CancelCityReputationRequestRsp_proto_goTypes,
+ DependencyIndexes: file_CancelCityReputationRequestRsp_proto_depIdxs,
+ MessageInfos: file_CancelCityReputationRequestRsp_proto_msgTypes,
+ }.Build()
+ File_CancelCityReputationRequestRsp_proto = out.File
+ file_CancelCityReputationRequestRsp_proto_rawDesc = nil
+ file_CancelCityReputationRequestRsp_proto_goTypes = nil
+ file_CancelCityReputationRequestRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CancelCoopTaskReq.pb.go b/protocol/proto/CancelCoopTaskReq.pb.go
new file mode 100644
index 00000000..0791eb82
--- /dev/null
+++ b/protocol/proto/CancelCoopTaskReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CancelCoopTaskReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1997
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CancelCoopTaskReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterId uint32 `protobuf:"varint,13,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *CancelCoopTaskReq) Reset() {
+ *x = CancelCoopTaskReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CancelCoopTaskReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CancelCoopTaskReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CancelCoopTaskReq) ProtoMessage() {}
+
+func (x *CancelCoopTaskReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CancelCoopTaskReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CancelCoopTaskReq.ProtoReflect.Descriptor instead.
+func (*CancelCoopTaskReq) Descriptor() ([]byte, []int) {
+ return file_CancelCoopTaskReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CancelCoopTaskReq) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+var File_CancelCoopTaskReq_proto protoreflect.FileDescriptor
+
+var file_CancelCoopTaskReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x32, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x70, 0x54, 0x61,
+ 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74,
+ 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CancelCoopTaskReq_proto_rawDescOnce sync.Once
+ file_CancelCoopTaskReq_proto_rawDescData = file_CancelCoopTaskReq_proto_rawDesc
+)
+
+func file_CancelCoopTaskReq_proto_rawDescGZIP() []byte {
+ file_CancelCoopTaskReq_proto_rawDescOnce.Do(func() {
+ file_CancelCoopTaskReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CancelCoopTaskReq_proto_rawDescData)
+ })
+ return file_CancelCoopTaskReq_proto_rawDescData
+}
+
+var file_CancelCoopTaskReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CancelCoopTaskReq_proto_goTypes = []interface{}{
+ (*CancelCoopTaskReq)(nil), // 0: proto.CancelCoopTaskReq
+}
+var file_CancelCoopTaskReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CancelCoopTaskReq_proto_init() }
+func file_CancelCoopTaskReq_proto_init() {
+ if File_CancelCoopTaskReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CancelCoopTaskReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CancelCoopTaskReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CancelCoopTaskReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CancelCoopTaskReq_proto_goTypes,
+ DependencyIndexes: file_CancelCoopTaskReq_proto_depIdxs,
+ MessageInfos: file_CancelCoopTaskReq_proto_msgTypes,
+ }.Build()
+ File_CancelCoopTaskReq_proto = out.File
+ file_CancelCoopTaskReq_proto_rawDesc = nil
+ file_CancelCoopTaskReq_proto_goTypes = nil
+ file_CancelCoopTaskReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CancelCoopTaskRsp.pb.go b/protocol/proto/CancelCoopTaskRsp.pb.go
new file mode 100644
index 00000000..cb2d0fdb
--- /dev/null
+++ b/protocol/proto/CancelCoopTaskRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CancelCoopTaskRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1987
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CancelCoopTaskRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterId uint32 `protobuf:"varint,1,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *CancelCoopTaskRsp) Reset() {
+ *x = CancelCoopTaskRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CancelCoopTaskRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CancelCoopTaskRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CancelCoopTaskRsp) ProtoMessage() {}
+
+func (x *CancelCoopTaskRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CancelCoopTaskRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CancelCoopTaskRsp.ProtoReflect.Descriptor instead.
+func (*CancelCoopTaskRsp) Descriptor() ([]byte, []int) {
+ return file_CancelCoopTaskRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CancelCoopTaskRsp) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+func (x *CancelCoopTaskRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_CancelCoopTaskRsp_proto protoreflect.FileDescriptor
+
+var file_CancelCoopTaskRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x4c, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x43, 0x6f, 0x6f, 0x70, 0x54, 0x61,
+ 0x73, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CancelCoopTaskRsp_proto_rawDescOnce sync.Once
+ file_CancelCoopTaskRsp_proto_rawDescData = file_CancelCoopTaskRsp_proto_rawDesc
+)
+
+func file_CancelCoopTaskRsp_proto_rawDescGZIP() []byte {
+ file_CancelCoopTaskRsp_proto_rawDescOnce.Do(func() {
+ file_CancelCoopTaskRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CancelCoopTaskRsp_proto_rawDescData)
+ })
+ return file_CancelCoopTaskRsp_proto_rawDescData
+}
+
+var file_CancelCoopTaskRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CancelCoopTaskRsp_proto_goTypes = []interface{}{
+ (*CancelCoopTaskRsp)(nil), // 0: proto.CancelCoopTaskRsp
+}
+var file_CancelCoopTaskRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CancelCoopTaskRsp_proto_init() }
+func file_CancelCoopTaskRsp_proto_init() {
+ if File_CancelCoopTaskRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CancelCoopTaskRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CancelCoopTaskRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CancelCoopTaskRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CancelCoopTaskRsp_proto_goTypes,
+ DependencyIndexes: file_CancelCoopTaskRsp_proto_depIdxs,
+ MessageInfos: file_CancelCoopTaskRsp_proto_msgTypes,
+ }.Build()
+ File_CancelCoopTaskRsp_proto = out.File
+ file_CancelCoopTaskRsp_proto_rawDesc = nil
+ file_CancelCoopTaskRsp_proto_goTypes = nil
+ file_CancelCoopTaskRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CancelFinishParentQuestNotify.pb.go b/protocol/proto/CancelFinishParentQuestNotify.pb.go
new file mode 100644
index 00000000..9e5eb0f2
--- /dev/null
+++ b/protocol/proto/CancelFinishParentQuestNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CancelFinishParentQuestNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 424
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CancelFinishParentQuestNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentQuestId uint32 `protobuf:"varint,6,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+}
+
+func (x *CancelFinishParentQuestNotify) Reset() {
+ *x = CancelFinishParentQuestNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CancelFinishParentQuestNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CancelFinishParentQuestNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CancelFinishParentQuestNotify) ProtoMessage() {}
+
+func (x *CancelFinishParentQuestNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CancelFinishParentQuestNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CancelFinishParentQuestNotify.ProtoReflect.Descriptor instead.
+func (*CancelFinishParentQuestNotify) Descriptor() ([]byte, []int) {
+ return file_CancelFinishParentQuestNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CancelFinishParentQuestNotify) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+var File_CancelFinishParentQuestNotify_proto protoreflect.FileDescriptor
+
+var file_CancelFinishParentQuestNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x1d,
+ 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a,
+ 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75,
+ 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CancelFinishParentQuestNotify_proto_rawDescOnce sync.Once
+ file_CancelFinishParentQuestNotify_proto_rawDescData = file_CancelFinishParentQuestNotify_proto_rawDesc
+)
+
+func file_CancelFinishParentQuestNotify_proto_rawDescGZIP() []byte {
+ file_CancelFinishParentQuestNotify_proto_rawDescOnce.Do(func() {
+ file_CancelFinishParentQuestNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CancelFinishParentQuestNotify_proto_rawDescData)
+ })
+ return file_CancelFinishParentQuestNotify_proto_rawDescData
+}
+
+var file_CancelFinishParentQuestNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CancelFinishParentQuestNotify_proto_goTypes = []interface{}{
+ (*CancelFinishParentQuestNotify)(nil), // 0: proto.CancelFinishParentQuestNotify
+}
+var file_CancelFinishParentQuestNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CancelFinishParentQuestNotify_proto_init() }
+func file_CancelFinishParentQuestNotify_proto_init() {
+ if File_CancelFinishParentQuestNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CancelFinishParentQuestNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CancelFinishParentQuestNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CancelFinishParentQuestNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CancelFinishParentQuestNotify_proto_goTypes,
+ DependencyIndexes: file_CancelFinishParentQuestNotify_proto_depIdxs,
+ MessageInfos: file_CancelFinishParentQuestNotify_proto_msgTypes,
+ }.Build()
+ File_CancelFinishParentQuestNotify_proto = out.File
+ file_CancelFinishParentQuestNotify_proto_rawDesc = nil
+ file_CancelFinishParentQuestNotify_proto_goTypes = nil
+ file_CancelFinishParentQuestNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CardProductRewardNotify.pb.go b/protocol/proto/CardProductRewardNotify.pb.go
new file mode 100644
index 00000000..c5adf04a
--- /dev/null
+++ b/protocol/proto/CardProductRewardNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CardProductRewardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4107
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CardProductRewardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Hcoin uint32 `protobuf:"varint,6,opt,name=hcoin,proto3" json:"hcoin,omitempty"`
+ ProductId string `protobuf:"bytes,14,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ RemainDays uint32 `protobuf:"varint,1,opt,name=remain_days,json=remainDays,proto3" json:"remain_days,omitempty"`
+}
+
+func (x *CardProductRewardNotify) Reset() {
+ *x = CardProductRewardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CardProductRewardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CardProductRewardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CardProductRewardNotify) ProtoMessage() {}
+
+func (x *CardProductRewardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CardProductRewardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CardProductRewardNotify.ProtoReflect.Descriptor instead.
+func (*CardProductRewardNotify) Descriptor() ([]byte, []int) {
+ return file_CardProductRewardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CardProductRewardNotify) GetHcoin() uint32 {
+ if x != nil {
+ return x.Hcoin
+ }
+ return 0
+}
+
+func (x *CardProductRewardNotify) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *CardProductRewardNotify) GetRemainDays() uint32 {
+ if x != nil {
+ return x.RemainDays
+ }
+ return 0
+}
+
+var File_CardProductRewardNotify_proto protoreflect.FileDescriptor
+
+var file_CardProductRewardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x17, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72,
+ 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75,
+ 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f,
+ 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
+ 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6d,
+ 0x61, 0x69, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CardProductRewardNotify_proto_rawDescOnce sync.Once
+ file_CardProductRewardNotify_proto_rawDescData = file_CardProductRewardNotify_proto_rawDesc
+)
+
+func file_CardProductRewardNotify_proto_rawDescGZIP() []byte {
+ file_CardProductRewardNotify_proto_rawDescOnce.Do(func() {
+ file_CardProductRewardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CardProductRewardNotify_proto_rawDescData)
+ })
+ return file_CardProductRewardNotify_proto_rawDescData
+}
+
+var file_CardProductRewardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CardProductRewardNotify_proto_goTypes = []interface{}{
+ (*CardProductRewardNotify)(nil), // 0: proto.CardProductRewardNotify
+}
+var file_CardProductRewardNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CardProductRewardNotify_proto_init() }
+func file_CardProductRewardNotify_proto_init() {
+ if File_CardProductRewardNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CardProductRewardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CardProductRewardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CardProductRewardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CardProductRewardNotify_proto_goTypes,
+ DependencyIndexes: file_CardProductRewardNotify_proto_depIdxs,
+ MessageInfos: file_CardProductRewardNotify_proto_msgTypes,
+ }.Build()
+ File_CardProductRewardNotify_proto = out.File
+ file_CardProductRewardNotify_proto_rawDesc = nil
+ file_CardProductRewardNotify_proto_goTypes = nil
+ file_CardProductRewardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CataLogFinishedGlobalWatcherAllDataNotify.pb.go b/protocol/proto/CataLogFinishedGlobalWatcherAllDataNotify.pb.go
new file mode 100644
index 00000000..ab255957
--- /dev/null
+++ b/protocol/proto/CataLogFinishedGlobalWatcherAllDataNotify.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CataLogFinishedGlobalWatcherAllDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6370
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CataLogFinishedGlobalWatcherAllDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedGlobalWatcherDataList []*CataLogGlobalWatcherFinishedData `protobuf:"bytes,13,rep,name=finished_global_watcher_data_list,json=finishedGlobalWatcherDataList,proto3" json:"finished_global_watcher_data_list,omitempty"`
+}
+
+func (x *CataLogFinishedGlobalWatcherAllDataNotify) Reset() {
+ *x = CataLogFinishedGlobalWatcherAllDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CataLogFinishedGlobalWatcherAllDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CataLogFinishedGlobalWatcherAllDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CataLogFinishedGlobalWatcherAllDataNotify) ProtoMessage() {}
+
+func (x *CataLogFinishedGlobalWatcherAllDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CataLogFinishedGlobalWatcherAllDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CataLogFinishedGlobalWatcherAllDataNotify.ProtoReflect.Descriptor instead.
+func (*CataLogFinishedGlobalWatcherAllDataNotify) Descriptor() ([]byte, []int) {
+ return file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CataLogFinishedGlobalWatcherAllDataNotify) GetFinishedGlobalWatcherDataList() []*CataLogGlobalWatcherFinishedData {
+ if x != nil {
+ return x.FinishedGlobalWatcherDataList
+ }
+ return nil
+}
+
+var File_CataLogFinishedGlobalWatcherAllDataNotify_proto protoreflect.FileDescriptor
+
+var file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2f, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x41, 0x6c,
+ 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f,
+ 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x9e, 0x01, 0x0a, 0x29, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x71,
+ 0x0a, 0x21, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61,
+ 0x6c, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x1d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62,
+ 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDescOnce sync.Once
+ file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDescData = file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDesc
+)
+
+func file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDescGZIP() []byte {
+ file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDescOnce.Do(func() {
+ file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDescData)
+ })
+ return file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDescData
+}
+
+var file_CataLogFinishedGlobalWatcherAllDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CataLogFinishedGlobalWatcherAllDataNotify_proto_goTypes = []interface{}{
+ (*CataLogFinishedGlobalWatcherAllDataNotify)(nil), // 0: proto.CataLogFinishedGlobalWatcherAllDataNotify
+ (*CataLogGlobalWatcherFinishedData)(nil), // 1: proto.CataLogGlobalWatcherFinishedData
+}
+var file_CataLogFinishedGlobalWatcherAllDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CataLogFinishedGlobalWatcherAllDataNotify.finished_global_watcher_data_list:type_name -> proto.CataLogGlobalWatcherFinishedData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CataLogFinishedGlobalWatcherAllDataNotify_proto_init() }
+func file_CataLogFinishedGlobalWatcherAllDataNotify_proto_init() {
+ if File_CataLogFinishedGlobalWatcherAllDataNotify_proto != nil {
+ return
+ }
+ file_CataLogGlobalWatcherFinishedData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CataLogFinishedGlobalWatcherAllDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CataLogFinishedGlobalWatcherAllDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CataLogFinishedGlobalWatcherAllDataNotify_proto_goTypes,
+ DependencyIndexes: file_CataLogFinishedGlobalWatcherAllDataNotify_proto_depIdxs,
+ MessageInfos: file_CataLogFinishedGlobalWatcherAllDataNotify_proto_msgTypes,
+ }.Build()
+ File_CataLogFinishedGlobalWatcherAllDataNotify_proto = out.File
+ file_CataLogFinishedGlobalWatcherAllDataNotify_proto_rawDesc = nil
+ file_CataLogFinishedGlobalWatcherAllDataNotify_proto_goTypes = nil
+ file_CataLogFinishedGlobalWatcherAllDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CataLogGlobalWatcherFinishedData.pb.go b/protocol/proto/CataLogGlobalWatcherFinishedData.pb.go
new file mode 100644
index 00000000..b26ef19a
--- /dev/null
+++ b/protocol/proto/CataLogGlobalWatcherFinishedData.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CataLogGlobalWatcherFinishedData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CataLogGlobalWatcherFinishedData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedGlobalWatcherList []uint32 `protobuf:"varint,8,rep,packed,name=finished_global_watcher_list,json=finishedGlobalWatcherList,proto3" json:"finished_global_watcher_list,omitempty"`
+ CatalogType uint32 `protobuf:"varint,13,opt,name=catalog_type,json=catalogType,proto3" json:"catalog_type,omitempty"`
+}
+
+func (x *CataLogGlobalWatcherFinishedData) Reset() {
+ *x = CataLogGlobalWatcherFinishedData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CataLogGlobalWatcherFinishedData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CataLogGlobalWatcherFinishedData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CataLogGlobalWatcherFinishedData) ProtoMessage() {}
+
+func (x *CataLogGlobalWatcherFinishedData) ProtoReflect() protoreflect.Message {
+ mi := &file_CataLogGlobalWatcherFinishedData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CataLogGlobalWatcherFinishedData.ProtoReflect.Descriptor instead.
+func (*CataLogGlobalWatcherFinishedData) Descriptor() ([]byte, []int) {
+ return file_CataLogGlobalWatcherFinishedData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CataLogGlobalWatcherFinishedData) GetFinishedGlobalWatcherList() []uint32 {
+ if x != nil {
+ return x.FinishedGlobalWatcherList
+ }
+ return nil
+}
+
+func (x *CataLogGlobalWatcherFinishedData) GetCatalogType() uint32 {
+ if x != nil {
+ return x.CatalogType
+ }
+ return 0
+}
+
+var File_CataLogGlobalWatcherFinishedData_proto protoreflect.FileDescriptor
+
+var file_CataLogGlobalWatcherFinishedData_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x86, 0x01, 0x0a, 0x20, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61,
+ 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x19, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x61, 0x74,
+ 0x61, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CataLogGlobalWatcherFinishedData_proto_rawDescOnce sync.Once
+ file_CataLogGlobalWatcherFinishedData_proto_rawDescData = file_CataLogGlobalWatcherFinishedData_proto_rawDesc
+)
+
+func file_CataLogGlobalWatcherFinishedData_proto_rawDescGZIP() []byte {
+ file_CataLogGlobalWatcherFinishedData_proto_rawDescOnce.Do(func() {
+ file_CataLogGlobalWatcherFinishedData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CataLogGlobalWatcherFinishedData_proto_rawDescData)
+ })
+ return file_CataLogGlobalWatcherFinishedData_proto_rawDescData
+}
+
+var file_CataLogGlobalWatcherFinishedData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CataLogGlobalWatcherFinishedData_proto_goTypes = []interface{}{
+ (*CataLogGlobalWatcherFinishedData)(nil), // 0: proto.CataLogGlobalWatcherFinishedData
+}
+var file_CataLogGlobalWatcherFinishedData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CataLogGlobalWatcherFinishedData_proto_init() }
+func file_CataLogGlobalWatcherFinishedData_proto_init() {
+ if File_CataLogGlobalWatcherFinishedData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CataLogGlobalWatcherFinishedData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CataLogGlobalWatcherFinishedData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CataLogGlobalWatcherFinishedData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CataLogGlobalWatcherFinishedData_proto_goTypes,
+ DependencyIndexes: file_CataLogGlobalWatcherFinishedData_proto_depIdxs,
+ MessageInfos: file_CataLogGlobalWatcherFinishedData_proto_msgTypes,
+ }.Build()
+ File_CataLogGlobalWatcherFinishedData_proto = out.File
+ file_CataLogGlobalWatcherFinishedData_proto_rawDesc = nil
+ file_CataLogGlobalWatcherFinishedData_proto_goTypes = nil
+ file_CataLogGlobalWatcherFinishedData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CataLogNewFinishedGlobalWatcherNotify.pb.go b/protocol/proto/CataLogNewFinishedGlobalWatcherNotify.pb.go
new file mode 100644
index 00000000..db38585a
--- /dev/null
+++ b/protocol/proto/CataLogNewFinishedGlobalWatcherNotify.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CataLogNewFinishedGlobalWatcherNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6395
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CataLogNewFinishedGlobalWatcherNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NewFinishedGlobalWatcherDataList []*CataLogGlobalWatcherFinishedData `protobuf:"bytes,2,rep,name=new_finished_global_watcher_data_list,json=newFinishedGlobalWatcherDataList,proto3" json:"new_finished_global_watcher_data_list,omitempty"`
+}
+
+func (x *CataLogNewFinishedGlobalWatcherNotify) Reset() {
+ *x = CataLogNewFinishedGlobalWatcherNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CataLogNewFinishedGlobalWatcherNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CataLogNewFinishedGlobalWatcherNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CataLogNewFinishedGlobalWatcherNotify) ProtoMessage() {}
+
+func (x *CataLogNewFinishedGlobalWatcherNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CataLogNewFinishedGlobalWatcherNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CataLogNewFinishedGlobalWatcherNotify.ProtoReflect.Descriptor instead.
+func (*CataLogNewFinishedGlobalWatcherNotify) Descriptor() ([]byte, []int) {
+ return file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CataLogNewFinishedGlobalWatcherNotify) GetNewFinishedGlobalWatcherDataList() []*CataLogGlobalWatcherFinishedData {
+ if x != nil {
+ return x.NewFinishedGlobalWatcherDataList
+ }
+ return nil
+}
+
+var File_CataLogNewFinishedGlobalWatcherNotify_proto protoreflect.FileDescriptor
+
+var file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x4e, 0x65, 0x77, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x47, 0x6c, 0x6f,
+ 0x62, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a,
+ 0x25, 0x43, 0x61, 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x4e, 0x65, 0x77, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x78, 0x0a, 0x25, 0x6e, 0x65, 0x77, 0x5f, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x77, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x61,
+ 0x74, 0x61, 0x4c, 0x6f, 0x67, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x20,
+ 0x6e, 0x65, 0x77, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61,
+ 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDescOnce sync.Once
+ file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDescData = file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDesc
+)
+
+func file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDescGZIP() []byte {
+ file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDescOnce.Do(func() {
+ file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDescData)
+ })
+ return file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDescData
+}
+
+var file_CataLogNewFinishedGlobalWatcherNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CataLogNewFinishedGlobalWatcherNotify_proto_goTypes = []interface{}{
+ (*CataLogNewFinishedGlobalWatcherNotify)(nil), // 0: proto.CataLogNewFinishedGlobalWatcherNotify
+ (*CataLogGlobalWatcherFinishedData)(nil), // 1: proto.CataLogGlobalWatcherFinishedData
+}
+var file_CataLogNewFinishedGlobalWatcherNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CataLogNewFinishedGlobalWatcherNotify.new_finished_global_watcher_data_list:type_name -> proto.CataLogGlobalWatcherFinishedData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CataLogNewFinishedGlobalWatcherNotify_proto_init() }
+func file_CataLogNewFinishedGlobalWatcherNotify_proto_init() {
+ if File_CataLogNewFinishedGlobalWatcherNotify_proto != nil {
+ return
+ }
+ file_CataLogGlobalWatcherFinishedData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CataLogNewFinishedGlobalWatcherNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CataLogNewFinishedGlobalWatcherNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CataLogNewFinishedGlobalWatcherNotify_proto_goTypes,
+ DependencyIndexes: file_CataLogNewFinishedGlobalWatcherNotify_proto_depIdxs,
+ MessageInfos: file_CataLogNewFinishedGlobalWatcherNotify_proto_msgTypes,
+ }.Build()
+ File_CataLogNewFinishedGlobalWatcherNotify_proto = out.File
+ file_CataLogNewFinishedGlobalWatcherNotify_proto_rawDesc = nil
+ file_CataLogNewFinishedGlobalWatcherNotify_proto_goTypes = nil
+ file_CataLogNewFinishedGlobalWatcherNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CellInfo.pb.go b/protocol/proto/CellInfo.pb.go
new file mode 100644
index 00000000..ac77d623
--- /dev/null
+++ b/protocol/proto/CellInfo.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CellInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CellInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type SceneSurfaceMaterial `protobuf:"varint,1,opt,name=type,proto3,enum=proto.SceneSurfaceMaterial" json:"type,omitempty"`
+ Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
+}
+
+func (x *CellInfo) Reset() {
+ *x = CellInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CellInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CellInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CellInfo) ProtoMessage() {}
+
+func (x *CellInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CellInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CellInfo.ProtoReflect.Descriptor instead.
+func (*CellInfo) Descriptor() ([]byte, []int) {
+ return file_CellInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CellInfo) GetType() SceneSurfaceMaterial {
+ if x != nil {
+ return x.Type
+ }
+ return SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_INVALID
+}
+
+func (x *CellInfo) GetY() int32 {
+ if x != nil {
+ return x.Y
+ }
+ return 0
+}
+
+var File_CellInfo_proto protoreflect.FileDescriptor
+
+var file_CellInfo_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x53, 0x75,
+ 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x08, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x53, 0x75, 0x72, 0x66, 0x61,
+ 0x63, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CellInfo_proto_rawDescOnce sync.Once
+ file_CellInfo_proto_rawDescData = file_CellInfo_proto_rawDesc
+)
+
+func file_CellInfo_proto_rawDescGZIP() []byte {
+ file_CellInfo_proto_rawDescOnce.Do(func() {
+ file_CellInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CellInfo_proto_rawDescData)
+ })
+ return file_CellInfo_proto_rawDescData
+}
+
+var file_CellInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CellInfo_proto_goTypes = []interface{}{
+ (*CellInfo)(nil), // 0: proto.CellInfo
+ (SceneSurfaceMaterial)(0), // 1: proto.SceneSurfaceMaterial
+}
+var file_CellInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CellInfo.type:type_name -> proto.SceneSurfaceMaterial
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CellInfo_proto_init() }
+func file_CellInfo_proto_init() {
+ if File_CellInfo_proto != nil {
+ return
+ }
+ file_SceneSurfaceMaterial_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CellInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CellInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CellInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CellInfo_proto_goTypes,
+ DependencyIndexes: file_CellInfo_proto_depIdxs,
+ MessageInfos: file_CellInfo_proto_msgTypes,
+ }.Build()
+ File_CellInfo_proto = out.File
+ file_CellInfo_proto_rawDesc = nil
+ file_CellInfo_proto_goTypes = nil
+ file_CellInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChallengeBrief.pb.go b/protocol/proto/ChallengeBrief.pb.go
new file mode 100644
index 00000000..ea3885c3
--- /dev/null
+++ b/protocol/proto/ChallengeBrief.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChallengeBrief.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChallengeBrief struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurProgress uint32 `protobuf:"varint,9,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,10,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ IsSuccess bool `protobuf:"varint,4,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,8,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *ChallengeBrief) Reset() {
+ *x = ChallengeBrief{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChallengeBrief_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChallengeBrief) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChallengeBrief) ProtoMessage() {}
+
+func (x *ChallengeBrief) ProtoReflect() protoreflect.Message {
+ mi := &file_ChallengeBrief_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChallengeBrief.ProtoReflect.Descriptor instead.
+func (*ChallengeBrief) Descriptor() ([]byte, []int) {
+ return file_ChallengeBrief_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChallengeBrief) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+func (x *ChallengeBrief) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (x *ChallengeBrief) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *ChallengeBrief) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_ChallengeBrief_proto protoreflect.FileDescriptor
+
+var file_ChallengeBrief_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x01,
+ 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChallengeBrief_proto_rawDescOnce sync.Once
+ file_ChallengeBrief_proto_rawDescData = file_ChallengeBrief_proto_rawDesc
+)
+
+func file_ChallengeBrief_proto_rawDescGZIP() []byte {
+ file_ChallengeBrief_proto_rawDescOnce.Do(func() {
+ file_ChallengeBrief_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChallengeBrief_proto_rawDescData)
+ })
+ return file_ChallengeBrief_proto_rawDescData
+}
+
+var file_ChallengeBrief_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChallengeBrief_proto_goTypes = []interface{}{
+ (*ChallengeBrief)(nil), // 0: proto.ChallengeBrief
+}
+var file_ChallengeBrief_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChallengeBrief_proto_init() }
+func file_ChallengeBrief_proto_init() {
+ if File_ChallengeBrief_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChallengeBrief_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChallengeBrief); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChallengeBrief_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChallengeBrief_proto_goTypes,
+ DependencyIndexes: file_ChallengeBrief_proto_depIdxs,
+ MessageInfos: file_ChallengeBrief_proto_msgTypes,
+ }.Build()
+ File_ChallengeBrief_proto = out.File
+ file_ChallengeBrief_proto_rawDesc = nil
+ file_ChallengeBrief_proto_goTypes = nil
+ file_ChallengeBrief_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChallengeDataNotify.pb.go b/protocol/proto/ChallengeDataNotify.pb.go
new file mode 100644
index 00000000..685dee61
--- /dev/null
+++ b/protocol/proto/ChallengeDataNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChallengeDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 953
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChallengeDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value uint32 `protobuf:"varint,8,opt,name=value,proto3" json:"value,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,2,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ ParamIndex uint32 `protobuf:"varint,9,opt,name=param_index,json=paramIndex,proto3" json:"param_index,omitempty"`
+}
+
+func (x *ChallengeDataNotify) Reset() {
+ *x = ChallengeDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChallengeDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChallengeDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChallengeDataNotify) ProtoMessage() {}
+
+func (x *ChallengeDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChallengeDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChallengeDataNotify.ProtoReflect.Descriptor instead.
+func (*ChallengeDataNotify) Descriptor() ([]byte, []int) {
+ return file_ChallengeDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChallengeDataNotify) GetValue() uint32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+func (x *ChallengeDataNotify) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (x *ChallengeDataNotify) GetParamIndex() uint32 {
+ if x != nil {
+ return x.ParamIndex
+ }
+ return 0
+}
+
+var File_ChallengeDataNotify_proto protoreflect.FileDescriptor
+
+var file_ChallengeDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12,
+ 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChallengeDataNotify_proto_rawDescOnce sync.Once
+ file_ChallengeDataNotify_proto_rawDescData = file_ChallengeDataNotify_proto_rawDesc
+)
+
+func file_ChallengeDataNotify_proto_rawDescGZIP() []byte {
+ file_ChallengeDataNotify_proto_rawDescOnce.Do(func() {
+ file_ChallengeDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChallengeDataNotify_proto_rawDescData)
+ })
+ return file_ChallengeDataNotify_proto_rawDescData
+}
+
+var file_ChallengeDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChallengeDataNotify_proto_goTypes = []interface{}{
+ (*ChallengeDataNotify)(nil), // 0: proto.ChallengeDataNotify
+}
+var file_ChallengeDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChallengeDataNotify_proto_init() }
+func file_ChallengeDataNotify_proto_init() {
+ if File_ChallengeDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChallengeDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChallengeDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChallengeDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChallengeDataNotify_proto_goTypes,
+ DependencyIndexes: file_ChallengeDataNotify_proto_depIdxs,
+ MessageInfos: file_ChallengeDataNotify_proto_msgTypes,
+ }.Build()
+ File_ChallengeDataNotify_proto = out.File
+ file_ChallengeDataNotify_proto_rawDesc = nil
+ file_ChallengeDataNotify_proto_goTypes = nil
+ file_ChallengeDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChallengeFinishType.pb.go b/protocol/proto/ChallengeFinishType.pb.go
new file mode 100644
index 00000000..5566f2d9
--- /dev/null
+++ b/protocol/proto/ChallengeFinishType.pb.go
@@ -0,0 +1,156 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChallengeFinishType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChallengeFinishType int32
+
+const (
+ ChallengeFinishType_CHALLENGE_FINISH_TYPE_NONE ChallengeFinishType = 0
+ ChallengeFinishType_CHALLENGE_FINISH_TYPE_FAIL ChallengeFinishType = 1
+ ChallengeFinishType_CHALLENGE_FINISH_TYPE_SUCC ChallengeFinishType = 2
+ ChallengeFinishType_CHALLENGE_FINISH_TYPE_PAUSE ChallengeFinishType = 3
+)
+
+// Enum value maps for ChallengeFinishType.
+var (
+ ChallengeFinishType_name = map[int32]string{
+ 0: "CHALLENGE_FINISH_TYPE_NONE",
+ 1: "CHALLENGE_FINISH_TYPE_FAIL",
+ 2: "CHALLENGE_FINISH_TYPE_SUCC",
+ 3: "CHALLENGE_FINISH_TYPE_PAUSE",
+ }
+ ChallengeFinishType_value = map[string]int32{
+ "CHALLENGE_FINISH_TYPE_NONE": 0,
+ "CHALLENGE_FINISH_TYPE_FAIL": 1,
+ "CHALLENGE_FINISH_TYPE_SUCC": 2,
+ "CHALLENGE_FINISH_TYPE_PAUSE": 3,
+ }
+)
+
+func (x ChallengeFinishType) Enum() *ChallengeFinishType {
+ p := new(ChallengeFinishType)
+ *p = x
+ return p
+}
+
+func (x ChallengeFinishType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ChallengeFinishType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ChallengeFinishType_proto_enumTypes[0].Descriptor()
+}
+
+func (ChallengeFinishType) Type() protoreflect.EnumType {
+ return &file_ChallengeFinishType_proto_enumTypes[0]
+}
+
+func (x ChallengeFinishType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ChallengeFinishType.Descriptor instead.
+func (ChallengeFinishType) EnumDescriptor() ([]byte, []int) {
+ return file_ChallengeFinishType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChallengeFinishType_proto protoreflect.FileDescriptor
+
+var file_ChallengeFinishType_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2a, 0x96, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48,
+ 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48,
+ 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x48,
+ 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48,
+ 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChallengeFinishType_proto_rawDescOnce sync.Once
+ file_ChallengeFinishType_proto_rawDescData = file_ChallengeFinishType_proto_rawDesc
+)
+
+func file_ChallengeFinishType_proto_rawDescGZIP() []byte {
+ file_ChallengeFinishType_proto_rawDescOnce.Do(func() {
+ file_ChallengeFinishType_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChallengeFinishType_proto_rawDescData)
+ })
+ return file_ChallengeFinishType_proto_rawDescData
+}
+
+var file_ChallengeFinishType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ChallengeFinishType_proto_goTypes = []interface{}{
+ (ChallengeFinishType)(0), // 0: proto.ChallengeFinishType
+}
+var file_ChallengeFinishType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChallengeFinishType_proto_init() }
+func file_ChallengeFinishType_proto_init() {
+ if File_ChallengeFinishType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChallengeFinishType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChallengeFinishType_proto_goTypes,
+ DependencyIndexes: file_ChallengeFinishType_proto_depIdxs,
+ EnumInfos: file_ChallengeFinishType_proto_enumTypes,
+ }.Build()
+ File_ChallengeFinishType_proto = out.File
+ file_ChallengeFinishType_proto_rawDesc = nil
+ file_ChallengeFinishType_proto_goTypes = nil
+ file_ChallengeFinishType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChallengeRecord.pb.go b/protocol/proto/ChallengeRecord.pb.go
new file mode 100644
index 00000000..1d04f074
--- /dev/null
+++ b/protocol/proto/ChallengeRecord.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChallengeRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChallengeRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeRecordType uint32 `protobuf:"varint,14,opt,name=challenge_record_type,json=challengeRecordType,proto3" json:"challenge_record_type,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,15,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ BestValue uint32 `protobuf:"varint,8,opt,name=best_value,json=bestValue,proto3" json:"best_value,omitempty"`
+}
+
+func (x *ChallengeRecord) Reset() {
+ *x = ChallengeRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChallengeRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChallengeRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChallengeRecord) ProtoMessage() {}
+
+func (x *ChallengeRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_ChallengeRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChallengeRecord.ProtoReflect.Descriptor instead.
+func (*ChallengeRecord) Descriptor() ([]byte, []int) {
+ return file_ChallengeRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChallengeRecord) GetChallengeRecordType() uint32 {
+ if x != nil {
+ return x.ChallengeRecordType
+ }
+ return 0
+}
+
+func (x *ChallengeRecord) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (x *ChallengeRecord) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *ChallengeRecord) GetBestValue() uint32 {
+ if x != nil {
+ return x.BestValue
+ }
+ return 0
+}
+
+var File_ChallengeRecord_proto protoreflect.FileDescriptor
+
+var file_ChallengeRecord_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0,
+ 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f,
+ 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
+ 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChallengeRecord_proto_rawDescOnce sync.Once
+ file_ChallengeRecord_proto_rawDescData = file_ChallengeRecord_proto_rawDesc
+)
+
+func file_ChallengeRecord_proto_rawDescGZIP() []byte {
+ file_ChallengeRecord_proto_rawDescOnce.Do(func() {
+ file_ChallengeRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChallengeRecord_proto_rawDescData)
+ })
+ return file_ChallengeRecord_proto_rawDescData
+}
+
+var file_ChallengeRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChallengeRecord_proto_goTypes = []interface{}{
+ (*ChallengeRecord)(nil), // 0: proto.ChallengeRecord
+}
+var file_ChallengeRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChallengeRecord_proto_init() }
+func file_ChallengeRecord_proto_init() {
+ if File_ChallengeRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChallengeRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChallengeRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChallengeRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChallengeRecord_proto_goTypes,
+ DependencyIndexes: file_ChallengeRecord_proto_depIdxs,
+ MessageInfos: file_ChallengeRecord_proto_msgTypes,
+ }.Build()
+ File_ChallengeRecord_proto = out.File
+ file_ChallengeRecord_proto_rawDesc = nil
+ file_ChallengeRecord_proto_goTypes = nil
+ file_ChallengeRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChallengeRecordNotify.pb.go b/protocol/proto/ChallengeRecordNotify.pb.go
new file mode 100644
index 00000000..e82dd022
--- /dev/null
+++ b/protocol/proto/ChallengeRecordNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChallengeRecordNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 993
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChallengeRecordNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ChallengeRecordList []*ChallengeRecord `protobuf:"bytes,5,rep,name=challenge_record_list,json=challengeRecordList,proto3" json:"challenge_record_list,omitempty"`
+}
+
+func (x *ChallengeRecordNotify) Reset() {
+ *x = ChallengeRecordNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChallengeRecordNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChallengeRecordNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChallengeRecordNotify) ProtoMessage() {}
+
+func (x *ChallengeRecordNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChallengeRecordNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChallengeRecordNotify.ProtoReflect.Descriptor instead.
+func (*ChallengeRecordNotify) Descriptor() ([]byte, []int) {
+ return file_ChallengeRecordNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChallengeRecordNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *ChallengeRecordNotify) GetChallengeRecordList() []*ChallengeRecord {
+ if x != nil {
+ return x.ChallengeRecordList
+ }
+ return nil
+}
+
+var File_ChallengeRecordNotify_proto protoreflect.FileDescriptor
+
+var file_ChallengeRecordNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x15, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12,
+ 0x4a, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChallengeRecordNotify_proto_rawDescOnce sync.Once
+ file_ChallengeRecordNotify_proto_rawDescData = file_ChallengeRecordNotify_proto_rawDesc
+)
+
+func file_ChallengeRecordNotify_proto_rawDescGZIP() []byte {
+ file_ChallengeRecordNotify_proto_rawDescOnce.Do(func() {
+ file_ChallengeRecordNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChallengeRecordNotify_proto_rawDescData)
+ })
+ return file_ChallengeRecordNotify_proto_rawDescData
+}
+
+var file_ChallengeRecordNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChallengeRecordNotify_proto_goTypes = []interface{}{
+ (*ChallengeRecordNotify)(nil), // 0: proto.ChallengeRecordNotify
+ (*ChallengeRecord)(nil), // 1: proto.ChallengeRecord
+}
+var file_ChallengeRecordNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ChallengeRecordNotify.challenge_record_list:type_name -> proto.ChallengeRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChallengeRecordNotify_proto_init() }
+func file_ChallengeRecordNotify_proto_init() {
+ if File_ChallengeRecordNotify_proto != nil {
+ return
+ }
+ file_ChallengeRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChallengeRecordNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChallengeRecordNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChallengeRecordNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChallengeRecordNotify_proto_goTypes,
+ DependencyIndexes: file_ChallengeRecordNotify_proto_depIdxs,
+ MessageInfos: file_ChallengeRecordNotify_proto_msgTypes,
+ }.Build()
+ File_ChallengeRecordNotify_proto = out.File
+ file_ChallengeRecordNotify_proto_rawDesc = nil
+ file_ChallengeRecordNotify_proto_goTypes = nil
+ file_ChallengeRecordNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeAvatarReq.pb.go b/protocol/proto/ChangeAvatarReq.pb.go
new file mode 100644
index 00000000..d17516f6
--- /dev/null
+++ b/protocol/proto/ChangeAvatarReq.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1640
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MovePos *Vector `protobuf:"bytes,15,opt,name=move_pos,json=movePos,proto3" json:"move_pos,omitempty"`
+ SkillId uint32 `protobuf:"varint,2,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ Guid uint64 `protobuf:"varint,7,opt,name=guid,proto3" json:"guid,omitempty"`
+ IsMove bool `protobuf:"varint,10,opt,name=is_move,json=isMove,proto3" json:"is_move,omitempty"`
+}
+
+func (x *ChangeAvatarReq) Reset() {
+ *x = ChangeAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeAvatarReq) ProtoMessage() {}
+
+func (x *ChangeAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeAvatarReq.ProtoReflect.Descriptor instead.
+func (*ChangeAvatarReq) Descriptor() ([]byte, []int) {
+ return file_ChangeAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeAvatarReq) GetMovePos() *Vector {
+ if x != nil {
+ return x.MovePos
+ }
+ return nil
+}
+
+func (x *ChangeAvatarReq) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *ChangeAvatarReq) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *ChangeAvatarReq) GetIsMove() bool {
+ if x != nil {
+ return x.IsMove
+ }
+ return false
+}
+
+var File_ChangeAvatarReq_proto protoreflect.FileDescriptor
+
+var file_ChangeAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x01, 0x0a,
+ 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71,
+ 0x12, 0x28, 0x0a, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x07, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4d, 0x6f,
+ 0x76, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeAvatarReq_proto_rawDescOnce sync.Once
+ file_ChangeAvatarReq_proto_rawDescData = file_ChangeAvatarReq_proto_rawDesc
+)
+
+func file_ChangeAvatarReq_proto_rawDescGZIP() []byte {
+ file_ChangeAvatarReq_proto_rawDescOnce.Do(func() {
+ file_ChangeAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeAvatarReq_proto_rawDescData)
+ })
+ return file_ChangeAvatarReq_proto_rawDescData
+}
+
+var file_ChangeAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeAvatarReq_proto_goTypes = []interface{}{
+ (*ChangeAvatarReq)(nil), // 0: proto.ChangeAvatarReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_ChangeAvatarReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ChangeAvatarReq.move_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChangeAvatarReq_proto_init() }
+func file_ChangeAvatarReq_proto_init() {
+ if File_ChangeAvatarReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeAvatarReq_proto_goTypes,
+ DependencyIndexes: file_ChangeAvatarReq_proto_depIdxs,
+ MessageInfos: file_ChangeAvatarReq_proto_msgTypes,
+ }.Build()
+ File_ChangeAvatarReq_proto = out.File
+ file_ChangeAvatarReq_proto_rawDesc = nil
+ file_ChangeAvatarReq_proto_goTypes = nil
+ file_ChangeAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeAvatarRsp.pb.go b/protocol/proto/ChangeAvatarRsp.pb.go
new file mode 100644
index 00000000..8806fd21
--- /dev/null
+++ b/protocol/proto/ChangeAvatarRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1607
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChangeAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,3,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CurGuid uint64 `protobuf:"varint,4,opt,name=cur_guid,json=curGuid,proto3" json:"cur_guid,omitempty"`
+}
+
+func (x *ChangeAvatarRsp) Reset() {
+ *x = ChangeAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeAvatarRsp) ProtoMessage() {}
+
+func (x *ChangeAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeAvatarRsp.ProtoReflect.Descriptor instead.
+func (*ChangeAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_ChangeAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeAvatarRsp) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *ChangeAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChangeAvatarRsp) GetCurGuid() uint64 {
+ if x != nil {
+ return x.CurGuid
+ }
+ return 0
+}
+
+var File_ChangeAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_ChangeAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61,
+ 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73,
+ 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x75, 0x72, 0x47, 0x75, 0x69,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeAvatarRsp_proto_rawDescOnce sync.Once
+ file_ChangeAvatarRsp_proto_rawDescData = file_ChangeAvatarRsp_proto_rawDesc
+)
+
+func file_ChangeAvatarRsp_proto_rawDescGZIP() []byte {
+ file_ChangeAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_ChangeAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeAvatarRsp_proto_rawDescData)
+ })
+ return file_ChangeAvatarRsp_proto_rawDescData
+}
+
+var file_ChangeAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeAvatarRsp_proto_goTypes = []interface{}{
+ (*ChangeAvatarRsp)(nil), // 0: proto.ChangeAvatarRsp
+}
+var file_ChangeAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeAvatarRsp_proto_init() }
+func file_ChangeAvatarRsp_proto_init() {
+ if File_ChangeAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_ChangeAvatarRsp_proto_depIdxs,
+ MessageInfos: file_ChangeAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_ChangeAvatarRsp_proto = out.File
+ file_ChangeAvatarRsp_proto_rawDesc = nil
+ file_ChangeAvatarRsp_proto_goTypes = nil
+ file_ChangeAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeCustomDungeonRoomReq.pb.go b/protocol/proto/ChangeCustomDungeonRoomReq.pb.go
new file mode 100644
index 00000000..0486f02d
--- /dev/null
+++ b/protocol/proto/ChangeCustomDungeonRoomReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeCustomDungeonRoomReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6222
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeCustomDungeonRoomReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+}
+
+func (x *ChangeCustomDungeonRoomReq) Reset() {
+ *x = ChangeCustomDungeonRoomReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeCustomDungeonRoomReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeCustomDungeonRoomReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeCustomDungeonRoomReq) ProtoMessage() {}
+
+func (x *ChangeCustomDungeonRoomReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeCustomDungeonRoomReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeCustomDungeonRoomReq.ProtoReflect.Descriptor instead.
+func (*ChangeCustomDungeonRoomReq) Descriptor() ([]byte, []int) {
+ return file_ChangeCustomDungeonRoomReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeCustomDungeonRoomReq) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+var File_ChangeCustomDungeonRoomReq_proto protoreflect.FileDescriptor
+
+var file_ChangeCustomDungeonRoomReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x1a, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeCustomDungeonRoomReq_proto_rawDescOnce sync.Once
+ file_ChangeCustomDungeonRoomReq_proto_rawDescData = file_ChangeCustomDungeonRoomReq_proto_rawDesc
+)
+
+func file_ChangeCustomDungeonRoomReq_proto_rawDescGZIP() []byte {
+ file_ChangeCustomDungeonRoomReq_proto_rawDescOnce.Do(func() {
+ file_ChangeCustomDungeonRoomReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeCustomDungeonRoomReq_proto_rawDescData)
+ })
+ return file_ChangeCustomDungeonRoomReq_proto_rawDescData
+}
+
+var file_ChangeCustomDungeonRoomReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeCustomDungeonRoomReq_proto_goTypes = []interface{}{
+ (*ChangeCustomDungeonRoomReq)(nil), // 0: proto.ChangeCustomDungeonRoomReq
+}
+var file_ChangeCustomDungeonRoomReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeCustomDungeonRoomReq_proto_init() }
+func file_ChangeCustomDungeonRoomReq_proto_init() {
+ if File_ChangeCustomDungeonRoomReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeCustomDungeonRoomReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeCustomDungeonRoomReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeCustomDungeonRoomReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeCustomDungeonRoomReq_proto_goTypes,
+ DependencyIndexes: file_ChangeCustomDungeonRoomReq_proto_depIdxs,
+ MessageInfos: file_ChangeCustomDungeonRoomReq_proto_msgTypes,
+ }.Build()
+ File_ChangeCustomDungeonRoomReq_proto = out.File
+ file_ChangeCustomDungeonRoomReq_proto_rawDesc = nil
+ file_ChangeCustomDungeonRoomReq_proto_goTypes = nil
+ file_ChangeCustomDungeonRoomReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeCustomDungeonRoomRsp.pb.go b/protocol/proto/ChangeCustomDungeonRoomRsp.pb.go
new file mode 100644
index 00000000..67851b4d
--- /dev/null
+++ b/protocol/proto/ChangeCustomDungeonRoomRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeCustomDungeonRoomRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6244
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChangeCustomDungeonRoomRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RoomId uint32 `protobuf:"varint,13,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+}
+
+func (x *ChangeCustomDungeonRoomRsp) Reset() {
+ *x = ChangeCustomDungeonRoomRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeCustomDungeonRoomRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeCustomDungeonRoomRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeCustomDungeonRoomRsp) ProtoMessage() {}
+
+func (x *ChangeCustomDungeonRoomRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeCustomDungeonRoomRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeCustomDungeonRoomRsp.ProtoReflect.Descriptor instead.
+func (*ChangeCustomDungeonRoomRsp) Descriptor() ([]byte, []int) {
+ return file_ChangeCustomDungeonRoomRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeCustomDungeonRoomRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChangeCustomDungeonRoomRsp) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+var File_ChangeCustomDungeonRoomRsp_proto protoreflect.FileDescriptor
+
+var file_ChangeCustomDungeonRoomRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x1a, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeCustomDungeonRoomRsp_proto_rawDescOnce sync.Once
+ file_ChangeCustomDungeonRoomRsp_proto_rawDescData = file_ChangeCustomDungeonRoomRsp_proto_rawDesc
+)
+
+func file_ChangeCustomDungeonRoomRsp_proto_rawDescGZIP() []byte {
+ file_ChangeCustomDungeonRoomRsp_proto_rawDescOnce.Do(func() {
+ file_ChangeCustomDungeonRoomRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeCustomDungeonRoomRsp_proto_rawDescData)
+ })
+ return file_ChangeCustomDungeonRoomRsp_proto_rawDescData
+}
+
+var file_ChangeCustomDungeonRoomRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeCustomDungeonRoomRsp_proto_goTypes = []interface{}{
+ (*ChangeCustomDungeonRoomRsp)(nil), // 0: proto.ChangeCustomDungeonRoomRsp
+}
+var file_ChangeCustomDungeonRoomRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeCustomDungeonRoomRsp_proto_init() }
+func file_ChangeCustomDungeonRoomRsp_proto_init() {
+ if File_ChangeCustomDungeonRoomRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeCustomDungeonRoomRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeCustomDungeonRoomRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeCustomDungeonRoomRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeCustomDungeonRoomRsp_proto_goTypes,
+ DependencyIndexes: file_ChangeCustomDungeonRoomRsp_proto_depIdxs,
+ MessageInfos: file_ChangeCustomDungeonRoomRsp_proto_msgTypes,
+ }.Build()
+ File_ChangeCustomDungeonRoomRsp_proto = out.File
+ file_ChangeCustomDungeonRoomRsp_proto_rawDesc = nil
+ file_ChangeCustomDungeonRoomRsp_proto_goTypes = nil
+ file_ChangeCustomDungeonRoomRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeEnergyReason.pb.go b/protocol/proto/ChangeEnergyReason.pb.go
new file mode 100644
index 00000000..d673eb47
--- /dev/null
+++ b/protocol/proto/ChangeEnergyReason.pb.go
@@ -0,0 +1,146 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeEnergyReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChangeEnergyReason int32
+
+const (
+ ChangeEnergyReason_CHANGE_ENERGY_REASON_NONE ChangeEnergyReason = 0
+ ChangeEnergyReason_CHANGE_ENERGY_REASON_SKILL_START ChangeEnergyReason = 1
+)
+
+// Enum value maps for ChangeEnergyReason.
+var (
+ ChangeEnergyReason_name = map[int32]string{
+ 0: "CHANGE_ENERGY_REASON_NONE",
+ 1: "CHANGE_ENERGY_REASON_SKILL_START",
+ }
+ ChangeEnergyReason_value = map[string]int32{
+ "CHANGE_ENERGY_REASON_NONE": 0,
+ "CHANGE_ENERGY_REASON_SKILL_START": 1,
+ }
+)
+
+func (x ChangeEnergyReason) Enum() *ChangeEnergyReason {
+ p := new(ChangeEnergyReason)
+ *p = x
+ return p
+}
+
+func (x ChangeEnergyReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ChangeEnergyReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_ChangeEnergyReason_proto_enumTypes[0].Descriptor()
+}
+
+func (ChangeEnergyReason) Type() protoreflect.EnumType {
+ return &file_ChangeEnergyReason_proto_enumTypes[0]
+}
+
+func (x ChangeEnergyReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ChangeEnergyReason.Descriptor instead.
+func (ChangeEnergyReason) EnumDescriptor() ([]byte, []int) {
+ return file_ChangeEnergyReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChangeEnergyReason_proto protoreflect.FileDescriptor
+
+var file_ChangeEnergyReason_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2a, 0x59, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67,
+ 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x4e, 0x47,
+ 0x45, 0x5f, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45,
+ 0x5f, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53,
+ 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeEnergyReason_proto_rawDescOnce sync.Once
+ file_ChangeEnergyReason_proto_rawDescData = file_ChangeEnergyReason_proto_rawDesc
+)
+
+func file_ChangeEnergyReason_proto_rawDescGZIP() []byte {
+ file_ChangeEnergyReason_proto_rawDescOnce.Do(func() {
+ file_ChangeEnergyReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeEnergyReason_proto_rawDescData)
+ })
+ return file_ChangeEnergyReason_proto_rawDescData
+}
+
+var file_ChangeEnergyReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ChangeEnergyReason_proto_goTypes = []interface{}{
+ (ChangeEnergyReason)(0), // 0: proto.ChangeEnergyReason
+}
+var file_ChangeEnergyReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeEnergyReason_proto_init() }
+func file_ChangeEnergyReason_proto_init() {
+ if File_ChangeEnergyReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeEnergyReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeEnergyReason_proto_goTypes,
+ DependencyIndexes: file_ChangeEnergyReason_proto_depIdxs,
+ EnumInfos: file_ChangeEnergyReason_proto_enumTypes,
+ }.Build()
+ File_ChangeEnergyReason_proto = out.File
+ file_ChangeEnergyReason_proto_rawDesc = nil
+ file_ChangeEnergyReason_proto_goTypes = nil
+ file_ChangeEnergyReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeGameTimeReq.pb.go b/protocol/proto/ChangeGameTimeReq.pb.go
new file mode 100644
index 00000000..764cae8e
--- /dev/null
+++ b/protocol/proto/ChangeGameTimeReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeGameTimeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 173
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeGameTimeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GameTime uint32 `protobuf:"varint,6,opt,name=game_time,json=gameTime,proto3" json:"game_time,omitempty"`
+ IsForceSet bool `protobuf:"varint,11,opt,name=is_force_set,json=isForceSet,proto3" json:"is_force_set,omitempty"`
+ ExtraDays uint32 `protobuf:"varint,12,opt,name=extra_days,json=extraDays,proto3" json:"extra_days,omitempty"`
+}
+
+func (x *ChangeGameTimeReq) Reset() {
+ *x = ChangeGameTimeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeGameTimeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeGameTimeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeGameTimeReq) ProtoMessage() {}
+
+func (x *ChangeGameTimeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeGameTimeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeGameTimeReq.ProtoReflect.Descriptor instead.
+func (*ChangeGameTimeReq) Descriptor() ([]byte, []int) {
+ return file_ChangeGameTimeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeGameTimeReq) GetGameTime() uint32 {
+ if x != nil {
+ return x.GameTime
+ }
+ return 0
+}
+
+func (x *ChangeGameTimeReq) GetIsForceSet() bool {
+ if x != nil {
+ return x.IsForceSet
+ }
+ return false
+}
+
+func (x *ChangeGameTimeReq) GetExtraDays() uint32 {
+ if x != nil {
+ return x.ExtraDays
+ }
+ return 0
+}
+
+var File_ChangeGameTimeReq_proto protoreflect.FileDescriptor
+
+var file_ChangeGameTimeReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x71, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x73,
+ 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x63,
+ 0x65, 0x53, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61,
+ 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44,
+ 0x61, 0x79, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeGameTimeReq_proto_rawDescOnce sync.Once
+ file_ChangeGameTimeReq_proto_rawDescData = file_ChangeGameTimeReq_proto_rawDesc
+)
+
+func file_ChangeGameTimeReq_proto_rawDescGZIP() []byte {
+ file_ChangeGameTimeReq_proto_rawDescOnce.Do(func() {
+ file_ChangeGameTimeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeGameTimeReq_proto_rawDescData)
+ })
+ return file_ChangeGameTimeReq_proto_rawDescData
+}
+
+var file_ChangeGameTimeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeGameTimeReq_proto_goTypes = []interface{}{
+ (*ChangeGameTimeReq)(nil), // 0: proto.ChangeGameTimeReq
+}
+var file_ChangeGameTimeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeGameTimeReq_proto_init() }
+func file_ChangeGameTimeReq_proto_init() {
+ if File_ChangeGameTimeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeGameTimeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeGameTimeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeGameTimeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeGameTimeReq_proto_goTypes,
+ DependencyIndexes: file_ChangeGameTimeReq_proto_depIdxs,
+ MessageInfos: file_ChangeGameTimeReq_proto_msgTypes,
+ }.Build()
+ File_ChangeGameTimeReq_proto = out.File
+ file_ChangeGameTimeReq_proto_rawDesc = nil
+ file_ChangeGameTimeReq_proto_goTypes = nil
+ file_ChangeGameTimeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeGameTimeRsp.pb.go b/protocol/proto/ChangeGameTimeRsp.pb.go
new file mode 100644
index 00000000..4a42fb8c
--- /dev/null
+++ b/protocol/proto/ChangeGameTimeRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeGameTimeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 199
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChangeGameTimeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ExtraDays uint32 `protobuf:"varint,5,opt,name=extra_days,json=extraDays,proto3" json:"extra_days,omitempty"`
+ CurGameTime uint32 `protobuf:"varint,14,opt,name=cur_game_time,json=curGameTime,proto3" json:"cur_game_time,omitempty"`
+}
+
+func (x *ChangeGameTimeRsp) Reset() {
+ *x = ChangeGameTimeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeGameTimeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeGameTimeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeGameTimeRsp) ProtoMessage() {}
+
+func (x *ChangeGameTimeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeGameTimeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeGameTimeRsp.ProtoReflect.Descriptor instead.
+func (*ChangeGameTimeRsp) Descriptor() ([]byte, []int) {
+ return file_ChangeGameTimeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeGameTimeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChangeGameTimeRsp) GetExtraDays() uint32 {
+ if x != nil {
+ return x.ExtraDays
+ }
+ return 0
+}
+
+func (x *ChangeGameTimeRsp) GetCurGameTime() uint32 {
+ if x != nil {
+ return x.CurGameTime
+ }
+ return 0
+}
+
+var File_ChangeGameTimeRsp_proto protoreflect.FileDescriptor
+
+var file_ChangeGameTimeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x70, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x44, 0x61, 0x79, 0x73, 0x12, 0x22,
+ 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeGameTimeRsp_proto_rawDescOnce sync.Once
+ file_ChangeGameTimeRsp_proto_rawDescData = file_ChangeGameTimeRsp_proto_rawDesc
+)
+
+func file_ChangeGameTimeRsp_proto_rawDescGZIP() []byte {
+ file_ChangeGameTimeRsp_proto_rawDescOnce.Do(func() {
+ file_ChangeGameTimeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeGameTimeRsp_proto_rawDescData)
+ })
+ return file_ChangeGameTimeRsp_proto_rawDescData
+}
+
+var file_ChangeGameTimeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeGameTimeRsp_proto_goTypes = []interface{}{
+ (*ChangeGameTimeRsp)(nil), // 0: proto.ChangeGameTimeRsp
+}
+var file_ChangeGameTimeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeGameTimeRsp_proto_init() }
+func file_ChangeGameTimeRsp_proto_init() {
+ if File_ChangeGameTimeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeGameTimeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeGameTimeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeGameTimeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeGameTimeRsp_proto_goTypes,
+ DependencyIndexes: file_ChangeGameTimeRsp_proto_depIdxs,
+ MessageInfos: file_ChangeGameTimeRsp_proto_msgTypes,
+ }.Build()
+ File_ChangeGameTimeRsp_proto = out.File
+ file_ChangeGameTimeRsp_proto_rawDesc = nil
+ file_ChangeGameTimeRsp_proto_goTypes = nil
+ file_ChangeGameTimeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeHpReason.pb.go b/protocol/proto/ChangeHpReason.pb.go
new file mode 100644
index 00000000..61cf5803
--- /dev/null
+++ b/protocol/proto/ChangeHpReason.pb.go
@@ -0,0 +1,291 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeHpReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChangeHpReason int32
+
+const (
+ ChangeHpReason_CHANGE_HP_REASON_NONE ChangeHpReason = 0
+ ChangeHpReason_CHANGE_HP_REASON_SUB_AVATAR ChangeHpReason = 1
+ ChangeHpReason_CHANGE_HP_REASON_SUB_MONSTER ChangeHpReason = 2
+ ChangeHpReason_CHANGE_HP_REASON_SUB_GEAR ChangeHpReason = 3
+ ChangeHpReason_CHANGE_HP_REASON_SUB_ENVIR ChangeHpReason = 4
+ ChangeHpReason_CHANGE_HP_REASON_SUB_FALL ChangeHpReason = 5
+ ChangeHpReason_CHANGE_HP_REASON_SUB_DRAWN ChangeHpReason = 6
+ ChangeHpReason_CHANGE_HP_REASON_SUB_ABYSS ChangeHpReason = 7
+ ChangeHpReason_CHANGE_HP_REASON_SUB_ABILITY ChangeHpReason = 8
+ ChangeHpReason_CHANGE_HP_REASON_SUB_SUMMON ChangeHpReason = 9
+ ChangeHpReason_CHANGE_HP_REASON_SUB_SCRIPT ChangeHpReason = 10
+ ChangeHpReason_CHANGE_HP_REASON_SUB_GM ChangeHpReason = 11
+ ChangeHpReason_CHANGE_HP_REASON_SUB_KILL_SELF ChangeHpReason = 12
+ ChangeHpReason_CHANGE_HP_REASON_SUB_CLIMATE_COLD ChangeHpReason = 13
+ ChangeHpReason_CHANGE_HP_REASON_SUB_STORM_LIGHTNING ChangeHpReason = 14
+ ChangeHpReason_CHANGE_HP_REASON_SUB_KILL_SERVER_GADGET ChangeHpReason = 15
+ ChangeHpReason_CHANGE_HP_REASON_SUB_REPLACE ChangeHpReason = 16
+ ChangeHpReason_CHANGE_HP_REASON_SUB_PLAYER_LEAVE ChangeHpReason = 17
+ ChangeHpReason_CHANGE_HP_REASON_ATTACK_BY_ENERGY ChangeHpReason = 18
+ ChangeHpReason_CHANGE_HP_REASON_ATTACK_BY_RECYCLE ChangeHpReason = 19
+ ChangeHpReason_CHANGE_HP_REASON_BY_LUA ChangeHpReason = 51
+ ChangeHpReason_CHANGE_HP_REASON_ADD_ABILITY ChangeHpReason = 101
+ ChangeHpReason_CHANGE_HP_REASON_ADD_ITEM ChangeHpReason = 102
+ ChangeHpReason_CHANGE_HP_REASON_ADD_REVIVE ChangeHpReason = 103
+ ChangeHpReason_CHANGE_HP_REASON_ADD_UPGRADE ChangeHpReason = 104
+ ChangeHpReason_CHANGE_HP_REASON_ADD_STATUE ChangeHpReason = 105
+ ChangeHpReason_CHANGE_HP_REASON_ADD_BACKGROUND ChangeHpReason = 106
+ ChangeHpReason_CHANGE_HP_REASON_ADD_GM ChangeHpReason = 107
+ ChangeHpReason_CHANGE_HP_REASON_ADD_TRIAL_AVATAR_ACTIVITY ChangeHpReason = 108
+ ChangeHpReason_CHANGE_HP_REASON_ADD_ROUGUELIKE_SPRING ChangeHpReason = 109
+)
+
+// Enum value maps for ChangeHpReason.
+var (
+ ChangeHpReason_name = map[int32]string{
+ 0: "CHANGE_HP_REASON_NONE",
+ 1: "CHANGE_HP_REASON_SUB_AVATAR",
+ 2: "CHANGE_HP_REASON_SUB_MONSTER",
+ 3: "CHANGE_HP_REASON_SUB_GEAR",
+ 4: "CHANGE_HP_REASON_SUB_ENVIR",
+ 5: "CHANGE_HP_REASON_SUB_FALL",
+ 6: "CHANGE_HP_REASON_SUB_DRAWN",
+ 7: "CHANGE_HP_REASON_SUB_ABYSS",
+ 8: "CHANGE_HP_REASON_SUB_ABILITY",
+ 9: "CHANGE_HP_REASON_SUB_SUMMON",
+ 10: "CHANGE_HP_REASON_SUB_SCRIPT",
+ 11: "CHANGE_HP_REASON_SUB_GM",
+ 12: "CHANGE_HP_REASON_SUB_KILL_SELF",
+ 13: "CHANGE_HP_REASON_SUB_CLIMATE_COLD",
+ 14: "CHANGE_HP_REASON_SUB_STORM_LIGHTNING",
+ 15: "CHANGE_HP_REASON_SUB_KILL_SERVER_GADGET",
+ 16: "CHANGE_HP_REASON_SUB_REPLACE",
+ 17: "CHANGE_HP_REASON_SUB_PLAYER_LEAVE",
+ 18: "CHANGE_HP_REASON_ATTACK_BY_ENERGY",
+ 19: "CHANGE_HP_REASON_ATTACK_BY_RECYCLE",
+ 51: "CHANGE_HP_REASON_BY_LUA",
+ 101: "CHANGE_HP_REASON_ADD_ABILITY",
+ 102: "CHANGE_HP_REASON_ADD_ITEM",
+ 103: "CHANGE_HP_REASON_ADD_REVIVE",
+ 104: "CHANGE_HP_REASON_ADD_UPGRADE",
+ 105: "CHANGE_HP_REASON_ADD_STATUE",
+ 106: "CHANGE_HP_REASON_ADD_BACKGROUND",
+ 107: "CHANGE_HP_REASON_ADD_GM",
+ 108: "CHANGE_HP_REASON_ADD_TRIAL_AVATAR_ACTIVITY",
+ 109: "CHANGE_HP_REASON_ADD_ROUGUELIKE_SPRING",
+ }
+ ChangeHpReason_value = map[string]int32{
+ "CHANGE_HP_REASON_NONE": 0,
+ "CHANGE_HP_REASON_SUB_AVATAR": 1,
+ "CHANGE_HP_REASON_SUB_MONSTER": 2,
+ "CHANGE_HP_REASON_SUB_GEAR": 3,
+ "CHANGE_HP_REASON_SUB_ENVIR": 4,
+ "CHANGE_HP_REASON_SUB_FALL": 5,
+ "CHANGE_HP_REASON_SUB_DRAWN": 6,
+ "CHANGE_HP_REASON_SUB_ABYSS": 7,
+ "CHANGE_HP_REASON_SUB_ABILITY": 8,
+ "CHANGE_HP_REASON_SUB_SUMMON": 9,
+ "CHANGE_HP_REASON_SUB_SCRIPT": 10,
+ "CHANGE_HP_REASON_SUB_GM": 11,
+ "CHANGE_HP_REASON_SUB_KILL_SELF": 12,
+ "CHANGE_HP_REASON_SUB_CLIMATE_COLD": 13,
+ "CHANGE_HP_REASON_SUB_STORM_LIGHTNING": 14,
+ "CHANGE_HP_REASON_SUB_KILL_SERVER_GADGET": 15,
+ "CHANGE_HP_REASON_SUB_REPLACE": 16,
+ "CHANGE_HP_REASON_SUB_PLAYER_LEAVE": 17,
+ "CHANGE_HP_REASON_ATTACK_BY_ENERGY": 18,
+ "CHANGE_HP_REASON_ATTACK_BY_RECYCLE": 19,
+ "CHANGE_HP_REASON_BY_LUA": 51,
+ "CHANGE_HP_REASON_ADD_ABILITY": 101,
+ "CHANGE_HP_REASON_ADD_ITEM": 102,
+ "CHANGE_HP_REASON_ADD_REVIVE": 103,
+ "CHANGE_HP_REASON_ADD_UPGRADE": 104,
+ "CHANGE_HP_REASON_ADD_STATUE": 105,
+ "CHANGE_HP_REASON_ADD_BACKGROUND": 106,
+ "CHANGE_HP_REASON_ADD_GM": 107,
+ "CHANGE_HP_REASON_ADD_TRIAL_AVATAR_ACTIVITY": 108,
+ "CHANGE_HP_REASON_ADD_ROUGUELIKE_SPRING": 109,
+ }
+)
+
+func (x ChangeHpReason) Enum() *ChangeHpReason {
+ p := new(ChangeHpReason)
+ *p = x
+ return p
+}
+
+func (x ChangeHpReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ChangeHpReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_ChangeHpReason_proto_enumTypes[0].Descriptor()
+}
+
+func (ChangeHpReason) Type() protoreflect.EnumType {
+ return &file_ChangeHpReason_proto_enumTypes[0]
+}
+
+func (x ChangeHpReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ChangeHpReason.Descriptor instead.
+func (ChangeHpReason) EnumDescriptor() ([]byte, []int) {
+ return file_ChangeHpReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChangeHpReason_proto protoreflect.FileDescriptor
+
+var file_ChangeHpReason_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xa7, 0x08,
+ 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x12, 0x19, 0x0a, 0x15, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x43,
+ 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x55, 0x42, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c,
+ 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1d,
+ 0x0a, 0x19, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x47, 0x45, 0x41, 0x52, 0x10, 0x03, 0x12, 0x1e, 0x0a,
+ 0x1a, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x10, 0x04, 0x12, 0x1d, 0x0a,
+ 0x19, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a,
+ 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x4e, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a,
+ 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x41, 0x42, 0x59, 0x53, 0x53, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c,
+ 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x08, 0x12, 0x1f,
+ 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x4f, 0x4e, 0x10, 0x09, 0x12,
+ 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x0a,
+ 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x47, 0x4d, 0x10, 0x0b, 0x12, 0x22, 0x0a,
+ 0x1e, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10,
+ 0x0c, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x43, 0x4c, 0x49, 0x4d, 0x41, 0x54,
+ 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x44, 0x10, 0x0d, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x48, 0x41, 0x4e,
+ 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42,
+ 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x4d, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x4e, 0x49, 0x4e, 0x47,
+ 0x10, 0x0e, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f,
+ 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x10, 0x0f, 0x12,
+ 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10,
+ 0x10, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x42, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52,
+ 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0x11, 0x12, 0x25, 0x0a, 0x21, 0x43, 0x48, 0x41, 0x4e,
+ 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x54, 0x54,
+ 0x41, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x10, 0x12, 0x12,
+ 0x26, 0x0a, 0x22, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x52, 0x45,
+ 0x43, 0x59, 0x43, 0x4c, 0x45, 0x10, 0x13, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x4e, 0x47,
+ 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x4c,
+ 0x55, 0x41, 0x10, 0x33, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48,
+ 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x41, 0x42, 0x49,
+ 0x4c, 0x49, 0x54, 0x59, 0x10, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45,
+ 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x49,
+ 0x54, 0x45, 0x4d, 0x10, 0x66, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f,
+ 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x52, 0x45,
+ 0x56, 0x49, 0x56, 0x45, 0x10, 0x67, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45,
+ 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x55,
+ 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x68, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x4e,
+ 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x10, 0x69, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x48, 0x41,
+ 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x44,
+ 0x44, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x47, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x6a, 0x12, 0x1b,
+ 0x0a, 0x17, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x47, 0x4d, 0x10, 0x6b, 0x12, 0x2e, 0x0a, 0x2a, 0x43,
+ 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x41, 0x44, 0x44, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52,
+ 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x6c, 0x12, 0x2a, 0x0a, 0x26, 0x43,
+ 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x48, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x41, 0x44, 0x44, 0x5f, 0x52, 0x4f, 0x55, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53,
+ 0x50, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeHpReason_proto_rawDescOnce sync.Once
+ file_ChangeHpReason_proto_rawDescData = file_ChangeHpReason_proto_rawDesc
+)
+
+func file_ChangeHpReason_proto_rawDescGZIP() []byte {
+ file_ChangeHpReason_proto_rawDescOnce.Do(func() {
+ file_ChangeHpReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeHpReason_proto_rawDescData)
+ })
+ return file_ChangeHpReason_proto_rawDescData
+}
+
+var file_ChangeHpReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ChangeHpReason_proto_goTypes = []interface{}{
+ (ChangeHpReason)(0), // 0: proto.ChangeHpReason
+}
+var file_ChangeHpReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeHpReason_proto_init() }
+func file_ChangeHpReason_proto_init() {
+ if File_ChangeHpReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeHpReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeHpReason_proto_goTypes,
+ DependencyIndexes: file_ChangeHpReason_proto_depIdxs,
+ EnumInfos: file_ChangeHpReason_proto_enumTypes,
+ }.Build()
+ File_ChangeHpReason_proto = out.File
+ file_ChangeHpReason_proto_rawDesc = nil
+ file_ChangeHpReason_proto_goTypes = nil
+ file_ChangeHpReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeMailStarNotify.pb.go b/protocol/proto/ChangeMailStarNotify.pb.go
new file mode 100644
index 00000000..50ecd63b
--- /dev/null
+++ b/protocol/proto/ChangeMailStarNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeMailStarNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1448
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeMailStarNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsStar bool `protobuf:"varint,14,opt,name=is_star,json=isStar,proto3" json:"is_star,omitempty"`
+ MailIdList []uint32 `protobuf:"varint,2,rep,packed,name=mail_id_list,json=mailIdList,proto3" json:"mail_id_list,omitempty"`
+}
+
+func (x *ChangeMailStarNotify) Reset() {
+ *x = ChangeMailStarNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeMailStarNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeMailStarNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeMailStarNotify) ProtoMessage() {}
+
+func (x *ChangeMailStarNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeMailStarNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeMailStarNotify.ProtoReflect.Descriptor instead.
+func (*ChangeMailStarNotify) Descriptor() ([]byte, []int) {
+ return file_ChangeMailStarNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeMailStarNotify) GetIsStar() bool {
+ if x != nil {
+ return x.IsStar
+ }
+ return false
+}
+
+func (x *ChangeMailStarNotify) GetMailIdList() []uint32 {
+ if x != nil {
+ return x.MailIdList
+ }
+ return nil
+}
+
+var File_ChangeMailStarNotify_proto protoreflect.FileDescriptor
+
+var file_ChangeMailStarNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x61, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x69,
+ 0x6c, 0x53, 0x74, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69,
+ 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73,
+ 0x53, 0x74, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6c,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeMailStarNotify_proto_rawDescOnce sync.Once
+ file_ChangeMailStarNotify_proto_rawDescData = file_ChangeMailStarNotify_proto_rawDesc
+)
+
+func file_ChangeMailStarNotify_proto_rawDescGZIP() []byte {
+ file_ChangeMailStarNotify_proto_rawDescOnce.Do(func() {
+ file_ChangeMailStarNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeMailStarNotify_proto_rawDescData)
+ })
+ return file_ChangeMailStarNotify_proto_rawDescData
+}
+
+var file_ChangeMailStarNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeMailStarNotify_proto_goTypes = []interface{}{
+ (*ChangeMailStarNotify)(nil), // 0: proto.ChangeMailStarNotify
+}
+var file_ChangeMailStarNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeMailStarNotify_proto_init() }
+func file_ChangeMailStarNotify_proto_init() {
+ if File_ChangeMailStarNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeMailStarNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeMailStarNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeMailStarNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeMailStarNotify_proto_goTypes,
+ DependencyIndexes: file_ChangeMailStarNotify_proto_depIdxs,
+ MessageInfos: file_ChangeMailStarNotify_proto_msgTypes,
+ }.Build()
+ File_ChangeMailStarNotify_proto = out.File
+ file_ChangeMailStarNotify_proto_rawDesc = nil
+ file_ChangeMailStarNotify_proto_goTypes = nil
+ file_ChangeMailStarNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeMpTeamAvatarReq.pb.go b/protocol/proto/ChangeMpTeamAvatarReq.pb.go
new file mode 100644
index 00000000..0378eaee
--- /dev/null
+++ b/protocol/proto/ChangeMpTeamAvatarReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeMpTeamAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1708
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeMpTeamAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurAvatarGuid uint64 `protobuf:"varint,4,opt,name=cur_avatar_guid,json=curAvatarGuid,proto3" json:"cur_avatar_guid,omitempty"`
+ AvatarGuidList []uint64 `protobuf:"varint,8,rep,packed,name=avatar_guid_list,json=avatarGuidList,proto3" json:"avatar_guid_list,omitempty"`
+}
+
+func (x *ChangeMpTeamAvatarReq) Reset() {
+ *x = ChangeMpTeamAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeMpTeamAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeMpTeamAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeMpTeamAvatarReq) ProtoMessage() {}
+
+func (x *ChangeMpTeamAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeMpTeamAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeMpTeamAvatarReq.ProtoReflect.Descriptor instead.
+func (*ChangeMpTeamAvatarReq) Descriptor() ([]byte, []int) {
+ return file_ChangeMpTeamAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeMpTeamAvatarReq) GetCurAvatarGuid() uint64 {
+ if x != nil {
+ return x.CurAvatarGuid
+ }
+ return 0
+}
+
+func (x *ChangeMpTeamAvatarReq) GetAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarGuidList
+ }
+ return nil
+}
+
+var File_ChangeMpTeamAvatarReq_proto protoreflect.FileDescriptor
+
+var file_ChangeMpTeamAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x70, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x70,
+ 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a,
+ 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, 0x52,
+ 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeMpTeamAvatarReq_proto_rawDescOnce sync.Once
+ file_ChangeMpTeamAvatarReq_proto_rawDescData = file_ChangeMpTeamAvatarReq_proto_rawDesc
+)
+
+func file_ChangeMpTeamAvatarReq_proto_rawDescGZIP() []byte {
+ file_ChangeMpTeamAvatarReq_proto_rawDescOnce.Do(func() {
+ file_ChangeMpTeamAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeMpTeamAvatarReq_proto_rawDescData)
+ })
+ return file_ChangeMpTeamAvatarReq_proto_rawDescData
+}
+
+var file_ChangeMpTeamAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeMpTeamAvatarReq_proto_goTypes = []interface{}{
+ (*ChangeMpTeamAvatarReq)(nil), // 0: proto.ChangeMpTeamAvatarReq
+}
+var file_ChangeMpTeamAvatarReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeMpTeamAvatarReq_proto_init() }
+func file_ChangeMpTeamAvatarReq_proto_init() {
+ if File_ChangeMpTeamAvatarReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeMpTeamAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeMpTeamAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeMpTeamAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeMpTeamAvatarReq_proto_goTypes,
+ DependencyIndexes: file_ChangeMpTeamAvatarReq_proto_depIdxs,
+ MessageInfos: file_ChangeMpTeamAvatarReq_proto_msgTypes,
+ }.Build()
+ File_ChangeMpTeamAvatarReq_proto = out.File
+ file_ChangeMpTeamAvatarReq_proto_rawDesc = nil
+ file_ChangeMpTeamAvatarReq_proto_goTypes = nil
+ file_ChangeMpTeamAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeMpTeamAvatarRsp.pb.go b/protocol/proto/ChangeMpTeamAvatarRsp.pb.go
new file mode 100644
index 00000000..2bca8f3b
--- /dev/null
+++ b/protocol/proto/ChangeMpTeamAvatarRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeMpTeamAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1753
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChangeMpTeamAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AvatarGuidList []uint64 `protobuf:"varint,3,rep,packed,name=avatar_guid_list,json=avatarGuidList,proto3" json:"avatar_guid_list,omitempty"`
+ CurAvatarGuid uint64 `protobuf:"varint,13,opt,name=cur_avatar_guid,json=curAvatarGuid,proto3" json:"cur_avatar_guid,omitempty"`
+}
+
+func (x *ChangeMpTeamAvatarRsp) Reset() {
+ *x = ChangeMpTeamAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeMpTeamAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeMpTeamAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeMpTeamAvatarRsp) ProtoMessage() {}
+
+func (x *ChangeMpTeamAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeMpTeamAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeMpTeamAvatarRsp.ProtoReflect.Descriptor instead.
+func (*ChangeMpTeamAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_ChangeMpTeamAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeMpTeamAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChangeMpTeamAvatarRsp) GetAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarGuidList
+ }
+ return nil
+}
+
+func (x *ChangeMpTeamAvatarRsp) GetCurAvatarGuid() uint64 {
+ if x != nil {
+ return x.CurAvatarGuid
+ }
+ return 0
+}
+
+var File_ChangeMpTeamAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_ChangeMpTeamAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x70, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x01, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d,
+ 0x70, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x04, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x72,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeMpTeamAvatarRsp_proto_rawDescOnce sync.Once
+ file_ChangeMpTeamAvatarRsp_proto_rawDescData = file_ChangeMpTeamAvatarRsp_proto_rawDesc
+)
+
+func file_ChangeMpTeamAvatarRsp_proto_rawDescGZIP() []byte {
+ file_ChangeMpTeamAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_ChangeMpTeamAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeMpTeamAvatarRsp_proto_rawDescData)
+ })
+ return file_ChangeMpTeamAvatarRsp_proto_rawDescData
+}
+
+var file_ChangeMpTeamAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeMpTeamAvatarRsp_proto_goTypes = []interface{}{
+ (*ChangeMpTeamAvatarRsp)(nil), // 0: proto.ChangeMpTeamAvatarRsp
+}
+var file_ChangeMpTeamAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeMpTeamAvatarRsp_proto_init() }
+func file_ChangeMpTeamAvatarRsp_proto_init() {
+ if File_ChangeMpTeamAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeMpTeamAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeMpTeamAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeMpTeamAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeMpTeamAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_ChangeMpTeamAvatarRsp_proto_depIdxs,
+ MessageInfos: file_ChangeMpTeamAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_ChangeMpTeamAvatarRsp_proto = out.File
+ file_ChangeMpTeamAvatarRsp_proto_rawDesc = nil
+ file_ChangeMpTeamAvatarRsp_proto_goTypes = nil
+ file_ChangeMpTeamAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeServerGlobalValueNotify.pb.go b/protocol/proto/ChangeServerGlobalValueNotify.pb.go
new file mode 100644
index 00000000..310d471f
--- /dev/null
+++ b/protocol/proto/ChangeServerGlobalValueNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeServerGlobalValueNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 27
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeServerGlobalValueNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *ChangeServerGlobalValueNotify) Reset() {
+ *x = ChangeServerGlobalValueNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeServerGlobalValueNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeServerGlobalValueNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeServerGlobalValueNotify) ProtoMessage() {}
+
+func (x *ChangeServerGlobalValueNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeServerGlobalValueNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeServerGlobalValueNotify.ProtoReflect.Descriptor instead.
+func (*ChangeServerGlobalValueNotify) Descriptor() ([]byte, []int) {
+ return file_ChangeServerGlobalValueNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeServerGlobalValueNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_ChangeServerGlobalValueNotify_proto protoreflect.FileDescriptor
+
+var file_ChangeServerGlobalValueNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x6c,
+ 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x1d,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62,
+ 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeServerGlobalValueNotify_proto_rawDescOnce sync.Once
+ file_ChangeServerGlobalValueNotify_proto_rawDescData = file_ChangeServerGlobalValueNotify_proto_rawDesc
+)
+
+func file_ChangeServerGlobalValueNotify_proto_rawDescGZIP() []byte {
+ file_ChangeServerGlobalValueNotify_proto_rawDescOnce.Do(func() {
+ file_ChangeServerGlobalValueNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeServerGlobalValueNotify_proto_rawDescData)
+ })
+ return file_ChangeServerGlobalValueNotify_proto_rawDescData
+}
+
+var file_ChangeServerGlobalValueNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeServerGlobalValueNotify_proto_goTypes = []interface{}{
+ (*ChangeServerGlobalValueNotify)(nil), // 0: proto.ChangeServerGlobalValueNotify
+}
+var file_ChangeServerGlobalValueNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeServerGlobalValueNotify_proto_init() }
+func file_ChangeServerGlobalValueNotify_proto_init() {
+ if File_ChangeServerGlobalValueNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeServerGlobalValueNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeServerGlobalValueNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeServerGlobalValueNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeServerGlobalValueNotify_proto_goTypes,
+ DependencyIndexes: file_ChangeServerGlobalValueNotify_proto_depIdxs,
+ MessageInfos: file_ChangeServerGlobalValueNotify_proto_msgTypes,
+ }.Build()
+ File_ChangeServerGlobalValueNotify_proto = out.File
+ file_ChangeServerGlobalValueNotify_proto_rawDesc = nil
+ file_ChangeServerGlobalValueNotify_proto_goTypes = nil
+ file_ChangeServerGlobalValueNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeTeamNameReq.pb.go b/protocol/proto/ChangeTeamNameReq.pb.go
new file mode 100644
index 00000000..cc6c298a
--- /dev/null
+++ b/protocol/proto/ChangeTeamNameReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeTeamNameReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1603
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeTeamNameReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TeamId int32 `protobuf:"varint,8,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"`
+ TeamName string `protobuf:"bytes,9,opt,name=team_name,json=teamName,proto3" json:"team_name,omitempty"`
+}
+
+func (x *ChangeTeamNameReq) Reset() {
+ *x = ChangeTeamNameReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeTeamNameReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeTeamNameReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeTeamNameReq) ProtoMessage() {}
+
+func (x *ChangeTeamNameReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeTeamNameReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeTeamNameReq.ProtoReflect.Descriptor instead.
+func (*ChangeTeamNameReq) Descriptor() ([]byte, []int) {
+ return file_ChangeTeamNameReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeTeamNameReq) GetTeamId() int32 {
+ if x != nil {
+ return x.TeamId
+ }
+ return 0
+}
+
+func (x *ChangeTeamNameReq) GetTeamName() string {
+ if x != nil {
+ return x.TeamName
+ }
+ return ""
+}
+
+var File_ChangeTeamNameReq_proto protoreflect.FileDescriptor
+
+var file_ChangeTeamNameReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x49, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61,
+ 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeTeamNameReq_proto_rawDescOnce sync.Once
+ file_ChangeTeamNameReq_proto_rawDescData = file_ChangeTeamNameReq_proto_rawDesc
+)
+
+func file_ChangeTeamNameReq_proto_rawDescGZIP() []byte {
+ file_ChangeTeamNameReq_proto_rawDescOnce.Do(func() {
+ file_ChangeTeamNameReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeTeamNameReq_proto_rawDescData)
+ })
+ return file_ChangeTeamNameReq_proto_rawDescData
+}
+
+var file_ChangeTeamNameReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeTeamNameReq_proto_goTypes = []interface{}{
+ (*ChangeTeamNameReq)(nil), // 0: proto.ChangeTeamNameReq
+}
+var file_ChangeTeamNameReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeTeamNameReq_proto_init() }
+func file_ChangeTeamNameReq_proto_init() {
+ if File_ChangeTeamNameReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeTeamNameReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeTeamNameReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeTeamNameReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeTeamNameReq_proto_goTypes,
+ DependencyIndexes: file_ChangeTeamNameReq_proto_depIdxs,
+ MessageInfos: file_ChangeTeamNameReq_proto_msgTypes,
+ }.Build()
+ File_ChangeTeamNameReq_proto = out.File
+ file_ChangeTeamNameReq_proto_rawDesc = nil
+ file_ChangeTeamNameReq_proto_goTypes = nil
+ file_ChangeTeamNameReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeTeamNameRsp.pb.go b/protocol/proto/ChangeTeamNameRsp.pb.go
new file mode 100644
index 00000000..866d2317
--- /dev/null
+++ b/protocol/proto/ChangeTeamNameRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeTeamNameRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1666
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChangeTeamNameRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TeamName string `protobuf:"bytes,2,opt,name=team_name,json=teamName,proto3" json:"team_name,omitempty"`
+ TeamId int32 `protobuf:"varint,4,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"`
+}
+
+func (x *ChangeTeamNameRsp) Reset() {
+ *x = ChangeTeamNameRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeTeamNameRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeTeamNameRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeTeamNameRsp) ProtoMessage() {}
+
+func (x *ChangeTeamNameRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeTeamNameRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeTeamNameRsp.ProtoReflect.Descriptor instead.
+func (*ChangeTeamNameRsp) Descriptor() ([]byte, []int) {
+ return file_ChangeTeamNameRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeTeamNameRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChangeTeamNameRsp) GetTeamName() string {
+ if x != nil {
+ return x.TeamName
+ }
+ return ""
+}
+
+func (x *ChangeTeamNameRsp) GetTeamId() int32 {
+ if x != nil {
+ return x.TeamId
+ }
+ return 0
+}
+
+var File_ChangeTeamNameRsp_proto protoreflect.FileDescriptor
+
+var file_ChangeTeamNameRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x63, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x61,
+ 0x6d, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07,
+ 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74,
+ 0x65, 0x61, 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeTeamNameRsp_proto_rawDescOnce sync.Once
+ file_ChangeTeamNameRsp_proto_rawDescData = file_ChangeTeamNameRsp_proto_rawDesc
+)
+
+func file_ChangeTeamNameRsp_proto_rawDescGZIP() []byte {
+ file_ChangeTeamNameRsp_proto_rawDescOnce.Do(func() {
+ file_ChangeTeamNameRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeTeamNameRsp_proto_rawDescData)
+ })
+ return file_ChangeTeamNameRsp_proto_rawDescData
+}
+
+var file_ChangeTeamNameRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeTeamNameRsp_proto_goTypes = []interface{}{
+ (*ChangeTeamNameRsp)(nil), // 0: proto.ChangeTeamNameRsp
+}
+var file_ChangeTeamNameRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeTeamNameRsp_proto_init() }
+func file_ChangeTeamNameRsp_proto_init() {
+ if File_ChangeTeamNameRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeTeamNameRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeTeamNameRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeTeamNameRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeTeamNameRsp_proto_goTypes,
+ DependencyIndexes: file_ChangeTeamNameRsp_proto_depIdxs,
+ MessageInfos: file_ChangeTeamNameRsp_proto_msgTypes,
+ }.Build()
+ File_ChangeTeamNameRsp_proto = out.File
+ file_ChangeTeamNameRsp_proto_rawDesc = nil
+ file_ChangeTeamNameRsp_proto_goTypes = nil
+ file_ChangeTeamNameRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeWidgetBackgroundActiveStateReq.pb.go b/protocol/proto/ChangeWidgetBackgroundActiveStateReq.pb.go
new file mode 100644
index 00000000..4c32628c
--- /dev/null
+++ b/protocol/proto/ChangeWidgetBackgroundActiveStateReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeWidgetBackgroundActiveStateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5907
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeWidgetBackgroundActiveStateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsActive bool `protobuf:"varint,15,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
+ MaterialId uint32 `protobuf:"varint,3,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *ChangeWidgetBackgroundActiveStateReq) Reset() {
+ *x = ChangeWidgetBackgroundActiveStateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeWidgetBackgroundActiveStateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeWidgetBackgroundActiveStateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeWidgetBackgroundActiveStateReq) ProtoMessage() {}
+
+func (x *ChangeWidgetBackgroundActiveStateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeWidgetBackgroundActiveStateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeWidgetBackgroundActiveStateReq.ProtoReflect.Descriptor instead.
+func (*ChangeWidgetBackgroundActiveStateReq) Descriptor() ([]byte, []int) {
+ return file_ChangeWidgetBackgroundActiveStateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeWidgetBackgroundActiveStateReq) GetIsActive() bool {
+ if x != nil {
+ return x.IsActive
+ }
+ return false
+}
+
+func (x *ChangeWidgetBackgroundActiveStateReq) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_ChangeWidgetBackgroundActiveStateReq_proto protoreflect.FileDescriptor
+
+var file_ChangeWidgetBackgroundActiveStateReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x42, 0x61,
+ 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x24, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x69, 0x64,
+ 0x67, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65,
+ 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d,
+ 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeWidgetBackgroundActiveStateReq_proto_rawDescOnce sync.Once
+ file_ChangeWidgetBackgroundActiveStateReq_proto_rawDescData = file_ChangeWidgetBackgroundActiveStateReq_proto_rawDesc
+)
+
+func file_ChangeWidgetBackgroundActiveStateReq_proto_rawDescGZIP() []byte {
+ file_ChangeWidgetBackgroundActiveStateReq_proto_rawDescOnce.Do(func() {
+ file_ChangeWidgetBackgroundActiveStateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeWidgetBackgroundActiveStateReq_proto_rawDescData)
+ })
+ return file_ChangeWidgetBackgroundActiveStateReq_proto_rawDescData
+}
+
+var file_ChangeWidgetBackgroundActiveStateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeWidgetBackgroundActiveStateReq_proto_goTypes = []interface{}{
+ (*ChangeWidgetBackgroundActiveStateReq)(nil), // 0: proto.ChangeWidgetBackgroundActiveStateReq
+}
+var file_ChangeWidgetBackgroundActiveStateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeWidgetBackgroundActiveStateReq_proto_init() }
+func file_ChangeWidgetBackgroundActiveStateReq_proto_init() {
+ if File_ChangeWidgetBackgroundActiveStateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeWidgetBackgroundActiveStateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeWidgetBackgroundActiveStateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeWidgetBackgroundActiveStateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeWidgetBackgroundActiveStateReq_proto_goTypes,
+ DependencyIndexes: file_ChangeWidgetBackgroundActiveStateReq_proto_depIdxs,
+ MessageInfos: file_ChangeWidgetBackgroundActiveStateReq_proto_msgTypes,
+ }.Build()
+ File_ChangeWidgetBackgroundActiveStateReq_proto = out.File
+ file_ChangeWidgetBackgroundActiveStateReq_proto_rawDesc = nil
+ file_ChangeWidgetBackgroundActiveStateReq_proto_goTypes = nil
+ file_ChangeWidgetBackgroundActiveStateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeWidgetBackgroundActiveStateRsp.pb.go b/protocol/proto/ChangeWidgetBackgroundActiveStateRsp.pb.go
new file mode 100644
index 00000000..b20113d1
--- /dev/null
+++ b/protocol/proto/ChangeWidgetBackgroundActiveStateRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeWidgetBackgroundActiveStateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6060
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChangeWidgetBackgroundActiveStateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MaterialId uint32 `protobuf:"varint,6,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *ChangeWidgetBackgroundActiveStateRsp) Reset() {
+ *x = ChangeWidgetBackgroundActiveStateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeWidgetBackgroundActiveStateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeWidgetBackgroundActiveStateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeWidgetBackgroundActiveStateRsp) ProtoMessage() {}
+
+func (x *ChangeWidgetBackgroundActiveStateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeWidgetBackgroundActiveStateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeWidgetBackgroundActiveStateRsp.ProtoReflect.Descriptor instead.
+func (*ChangeWidgetBackgroundActiveStateRsp) Descriptor() ([]byte, []int) {
+ return file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeWidgetBackgroundActiveStateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChangeWidgetBackgroundActiveStateRsp) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_ChangeWidgetBackgroundActiveStateRsp_proto protoreflect.FileDescriptor
+
+var file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x42, 0x61,
+ 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x24, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x69, 0x64,
+ 0x67, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65,
+ 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDescOnce sync.Once
+ file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDescData = file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDesc
+)
+
+func file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDescGZIP() []byte {
+ file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDescOnce.Do(func() {
+ file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDescData)
+ })
+ return file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDescData
+}
+
+var file_ChangeWidgetBackgroundActiveStateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeWidgetBackgroundActiveStateRsp_proto_goTypes = []interface{}{
+ (*ChangeWidgetBackgroundActiveStateRsp)(nil), // 0: proto.ChangeWidgetBackgroundActiveStateRsp
+}
+var file_ChangeWidgetBackgroundActiveStateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeWidgetBackgroundActiveStateRsp_proto_init() }
+func file_ChangeWidgetBackgroundActiveStateRsp_proto_init() {
+ if File_ChangeWidgetBackgroundActiveStateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeWidgetBackgroundActiveStateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeWidgetBackgroundActiveStateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeWidgetBackgroundActiveStateRsp_proto_goTypes,
+ DependencyIndexes: file_ChangeWidgetBackgroundActiveStateRsp_proto_depIdxs,
+ MessageInfos: file_ChangeWidgetBackgroundActiveStateRsp_proto_msgTypes,
+ }.Build()
+ File_ChangeWidgetBackgroundActiveStateRsp_proto = out.File
+ file_ChangeWidgetBackgroundActiveStateRsp_proto_rawDesc = nil
+ file_ChangeWidgetBackgroundActiveStateRsp_proto_goTypes = nil
+ file_ChangeWidgetBackgroundActiveStateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeWorldToSingleModeNotify.pb.go b/protocol/proto/ChangeWorldToSingleModeNotify.pb.go
new file mode 100644
index 00000000..f5f75965
--- /dev/null
+++ b/protocol/proto/ChangeWorldToSingleModeNotify.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeWorldToSingleModeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3006
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeWorldToSingleModeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ChangeWorldToSingleModeNotify) Reset() {
+ *x = ChangeWorldToSingleModeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeWorldToSingleModeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeWorldToSingleModeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeWorldToSingleModeNotify) ProtoMessage() {}
+
+func (x *ChangeWorldToSingleModeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeWorldToSingleModeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeWorldToSingleModeNotify.ProtoReflect.Descriptor instead.
+func (*ChangeWorldToSingleModeNotify) Descriptor() ([]byte, []int) {
+ return file_ChangeWorldToSingleModeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChangeWorldToSingleModeNotify_proto protoreflect.FileDescriptor
+
+var file_ChangeWorldToSingleModeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x53,
+ 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x1d,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x53, 0x69, 0x6e,
+ 0x67, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ChangeWorldToSingleModeNotify_proto_rawDescOnce sync.Once
+ file_ChangeWorldToSingleModeNotify_proto_rawDescData = file_ChangeWorldToSingleModeNotify_proto_rawDesc
+)
+
+func file_ChangeWorldToSingleModeNotify_proto_rawDescGZIP() []byte {
+ file_ChangeWorldToSingleModeNotify_proto_rawDescOnce.Do(func() {
+ file_ChangeWorldToSingleModeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeWorldToSingleModeNotify_proto_rawDescData)
+ })
+ return file_ChangeWorldToSingleModeNotify_proto_rawDescData
+}
+
+var file_ChangeWorldToSingleModeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeWorldToSingleModeNotify_proto_goTypes = []interface{}{
+ (*ChangeWorldToSingleModeNotify)(nil), // 0: proto.ChangeWorldToSingleModeNotify
+}
+var file_ChangeWorldToSingleModeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeWorldToSingleModeNotify_proto_init() }
+func file_ChangeWorldToSingleModeNotify_proto_init() {
+ if File_ChangeWorldToSingleModeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeWorldToSingleModeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeWorldToSingleModeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeWorldToSingleModeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeWorldToSingleModeNotify_proto_goTypes,
+ DependencyIndexes: file_ChangeWorldToSingleModeNotify_proto_depIdxs,
+ MessageInfos: file_ChangeWorldToSingleModeNotify_proto_msgTypes,
+ }.Build()
+ File_ChangeWorldToSingleModeNotify_proto = out.File
+ file_ChangeWorldToSingleModeNotify_proto_rawDesc = nil
+ file_ChangeWorldToSingleModeNotify_proto_goTypes = nil
+ file_ChangeWorldToSingleModeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeWorldToSingleModeReq.pb.go b/protocol/proto/ChangeWorldToSingleModeReq.pb.go
new file mode 100644
index 00000000..e6d31ccf
--- /dev/null
+++ b/protocol/proto/ChangeWorldToSingleModeReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeWorldToSingleModeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3066
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChangeWorldToSingleModeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ChangeWorldToSingleModeReq) Reset() {
+ *x = ChangeWorldToSingleModeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeWorldToSingleModeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeWorldToSingleModeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeWorldToSingleModeReq) ProtoMessage() {}
+
+func (x *ChangeWorldToSingleModeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeWorldToSingleModeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeWorldToSingleModeReq.ProtoReflect.Descriptor instead.
+func (*ChangeWorldToSingleModeReq) Descriptor() ([]byte, []int) {
+ return file_ChangeWorldToSingleModeReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChangeWorldToSingleModeReq_proto protoreflect.FileDescriptor
+
+var file_ChangeWorldToSingleModeReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x53,
+ 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65,
+ 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChangeWorldToSingleModeReq_proto_rawDescOnce sync.Once
+ file_ChangeWorldToSingleModeReq_proto_rawDescData = file_ChangeWorldToSingleModeReq_proto_rawDesc
+)
+
+func file_ChangeWorldToSingleModeReq_proto_rawDescGZIP() []byte {
+ file_ChangeWorldToSingleModeReq_proto_rawDescOnce.Do(func() {
+ file_ChangeWorldToSingleModeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeWorldToSingleModeReq_proto_rawDescData)
+ })
+ return file_ChangeWorldToSingleModeReq_proto_rawDescData
+}
+
+var file_ChangeWorldToSingleModeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeWorldToSingleModeReq_proto_goTypes = []interface{}{
+ (*ChangeWorldToSingleModeReq)(nil), // 0: proto.ChangeWorldToSingleModeReq
+}
+var file_ChangeWorldToSingleModeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeWorldToSingleModeReq_proto_init() }
+func file_ChangeWorldToSingleModeReq_proto_init() {
+ if File_ChangeWorldToSingleModeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeWorldToSingleModeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeWorldToSingleModeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeWorldToSingleModeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeWorldToSingleModeReq_proto_goTypes,
+ DependencyIndexes: file_ChangeWorldToSingleModeReq_proto_depIdxs,
+ MessageInfos: file_ChangeWorldToSingleModeReq_proto_msgTypes,
+ }.Build()
+ File_ChangeWorldToSingleModeReq_proto = out.File
+ file_ChangeWorldToSingleModeReq_proto_rawDesc = nil
+ file_ChangeWorldToSingleModeReq_proto_goTypes = nil
+ file_ChangeWorldToSingleModeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChangeWorldToSingleModeRsp.pb.go b/protocol/proto/ChangeWorldToSingleModeRsp.pb.go
new file mode 100644
index 00000000..2296a5dd
--- /dev/null
+++ b/protocol/proto/ChangeWorldToSingleModeRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChangeWorldToSingleModeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3282
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChangeWorldToSingleModeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuitMpValidTime uint32 `protobuf:"varint,15,opt,name=quit_mp_valid_time,json=quitMpValidTime,proto3" json:"quit_mp_valid_time,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ChangeWorldToSingleModeRsp) Reset() {
+ *x = ChangeWorldToSingleModeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChangeWorldToSingleModeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeWorldToSingleModeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeWorldToSingleModeRsp) ProtoMessage() {}
+
+func (x *ChangeWorldToSingleModeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChangeWorldToSingleModeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeWorldToSingleModeRsp.ProtoReflect.Descriptor instead.
+func (*ChangeWorldToSingleModeRsp) Descriptor() ([]byte, []int) {
+ return file_ChangeWorldToSingleModeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChangeWorldToSingleModeRsp) GetQuitMpValidTime() uint32 {
+ if x != nil {
+ return x.QuitMpValidTime
+ }
+ return 0
+}
+
+func (x *ChangeWorldToSingleModeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ChangeWorldToSingleModeRsp_proto protoreflect.FileDescriptor
+
+var file_ChangeWorldToSingleModeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x53,
+ 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x1a, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x6f, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65,
+ 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x12, 0x71, 0x75, 0x69, 0x74, 0x5f,
+ 0x6d, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x71, 0x75, 0x69, 0x74, 0x4d, 0x70, 0x56, 0x61, 0x6c, 0x69, 0x64,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChangeWorldToSingleModeRsp_proto_rawDescOnce sync.Once
+ file_ChangeWorldToSingleModeRsp_proto_rawDescData = file_ChangeWorldToSingleModeRsp_proto_rawDesc
+)
+
+func file_ChangeWorldToSingleModeRsp_proto_rawDescGZIP() []byte {
+ file_ChangeWorldToSingleModeRsp_proto_rawDescOnce.Do(func() {
+ file_ChangeWorldToSingleModeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChangeWorldToSingleModeRsp_proto_rawDescData)
+ })
+ return file_ChangeWorldToSingleModeRsp_proto_rawDescData
+}
+
+var file_ChangeWorldToSingleModeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChangeWorldToSingleModeRsp_proto_goTypes = []interface{}{
+ (*ChangeWorldToSingleModeRsp)(nil), // 0: proto.ChangeWorldToSingleModeRsp
+}
+var file_ChangeWorldToSingleModeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChangeWorldToSingleModeRsp_proto_init() }
+func file_ChangeWorldToSingleModeRsp_proto_init() {
+ if File_ChangeWorldToSingleModeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChangeWorldToSingleModeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeWorldToSingleModeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChangeWorldToSingleModeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChangeWorldToSingleModeRsp_proto_goTypes,
+ DependencyIndexes: file_ChangeWorldToSingleModeRsp_proto_depIdxs,
+ MessageInfos: file_ChangeWorldToSingleModeRsp_proto_msgTypes,
+ }.Build()
+ File_ChangeWorldToSingleModeRsp_proto = out.File
+ file_ChangeWorldToSingleModeRsp_proto_rawDesc = nil
+ file_ChangeWorldToSingleModeRsp_proto_goTypes = nil
+ file_ChangeWorldToSingleModeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabActivityDetailInfo.pb.go b/protocol/proto/ChannelerSlabActivityDetailInfo.pb.go
new file mode 100644
index 00000000..f8be71fa
--- /dev/null
+++ b/protocol/proto/ChannelerSlabActivityDetailInfo.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuffInfo *ChannelerSlabBuffInfo `protobuf:"bytes,1,opt,name=buff_info,json=buffInfo,proto3" json:"buff_info,omitempty"`
+ LoopDungeonStageInfo *ChannelerSlabLoopDungeonStageInfo `protobuf:"bytes,7,opt,name=loop_dungeon_stage_info,json=loopDungeonStageInfo,proto3" json:"loop_dungeon_stage_info,omitempty"`
+ StageList []*ChannelerSlabChallengeStage `protobuf:"bytes,15,rep,name=stage_list,json=stageList,proto3" json:"stage_list,omitempty"`
+ PlayEndTime uint32 `protobuf:"varint,3,opt,name=play_end_time,json=playEndTime,proto3" json:"play_end_time,omitempty"`
+}
+
+func (x *ChannelerSlabActivityDetailInfo) Reset() {
+ *x = ChannelerSlabActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabActivityDetailInfo) ProtoMessage() {}
+
+func (x *ChannelerSlabActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabActivityDetailInfo) GetBuffInfo() *ChannelerSlabBuffInfo {
+ if x != nil {
+ return x.BuffInfo
+ }
+ return nil
+}
+
+func (x *ChannelerSlabActivityDetailInfo) GetLoopDungeonStageInfo() *ChannelerSlabLoopDungeonStageInfo {
+ if x != nil {
+ return x.LoopDungeonStageInfo
+ }
+ return nil
+}
+
+func (x *ChannelerSlabActivityDetailInfo) GetStageList() []*ChannelerSlabChallengeStage {
+ if x != nil {
+ return x.StageList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabActivityDetailInfo) GetPlayEndTime() uint32 {
+ if x != nil {
+ return x.PlayEndTime
+ }
+ return 0
+}
+
+var File_ChannelerSlabActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x42, 0x75, 0x66,
+ 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x43, 0x68, 0x61,
+ 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f,
+ 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x02, 0x0a, 0x1f, 0x43, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x09, 0x62,
+ 0x75, 0x66, 0x66, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72,
+ 0x53, 0x6c, 0x61, 0x62, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x62, 0x75,
+ 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, 0x0a, 0x17, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f,
+ 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x14, 0x6c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61,
+ 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52,
+ 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x6c,
+ 0x61, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_ChannelerSlabActivityDetailInfo_proto_rawDescData = file_ChannelerSlabActivityDetailInfo_proto_rawDesc
+)
+
+func file_ChannelerSlabActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabActivityDetailInfo_proto_rawDescData)
+ })
+ return file_ChannelerSlabActivityDetailInfo_proto_rawDescData
+}
+
+var file_ChannelerSlabActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabActivityDetailInfo_proto_goTypes = []interface{}{
+ (*ChannelerSlabActivityDetailInfo)(nil), // 0: proto.ChannelerSlabActivityDetailInfo
+ (*ChannelerSlabBuffInfo)(nil), // 1: proto.ChannelerSlabBuffInfo
+ (*ChannelerSlabLoopDungeonStageInfo)(nil), // 2: proto.ChannelerSlabLoopDungeonStageInfo
+ (*ChannelerSlabChallengeStage)(nil), // 3: proto.ChannelerSlabChallengeStage
+}
+var file_ChannelerSlabActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabActivityDetailInfo.buff_info:type_name -> proto.ChannelerSlabBuffInfo
+ 2, // 1: proto.ChannelerSlabActivityDetailInfo.loop_dungeon_stage_info:type_name -> proto.ChannelerSlabLoopDungeonStageInfo
+ 3, // 2: proto.ChannelerSlabActivityDetailInfo.stage_list:type_name -> proto.ChannelerSlabChallengeStage
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabActivityDetailInfo_proto_init() }
+func file_ChannelerSlabActivityDetailInfo_proto_init() {
+ if File_ChannelerSlabActivityDetailInfo_proto != nil {
+ return
+ }
+ file_ChannelerSlabBuffInfo_proto_init()
+ file_ChannelerSlabChallengeStage_proto_init()
+ file_ChannelerSlabLoopDungeonStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabActivityDetailInfo_proto = out.File
+ file_ChannelerSlabActivityDetailInfo_proto_rawDesc = nil
+ file_ChannelerSlabActivityDetailInfo_proto_goTypes = nil
+ file_ChannelerSlabActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabAssistInfo.pb.go b/protocol/proto/ChannelerSlabAssistInfo.pb.go
new file mode 100644
index 00000000..019e5a82
--- /dev/null
+++ b/protocol/proto/ChannelerSlabAssistInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabAssistInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabAssistInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,10,opt,name=uid,proto3" json:"uid,omitempty"`
+ AvatarLevel uint32 `protobuf:"varint,12,opt,name=avatar_level,json=avatarLevel,proto3" json:"avatar_level,omitempty"`
+ AvatarId uint32 `protobuf:"varint,6,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *ChannelerSlabAssistInfo) Reset() {
+ *x = ChannelerSlabAssistInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabAssistInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabAssistInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabAssistInfo) ProtoMessage() {}
+
+func (x *ChannelerSlabAssistInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabAssistInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabAssistInfo.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabAssistInfo) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabAssistInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabAssistInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *ChannelerSlabAssistInfo) GetAvatarLevel() uint32 {
+ if x != nil {
+ return x.AvatarLevel
+ }
+ return 0
+}
+
+func (x *ChannelerSlabAssistInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_ChannelerSlabAssistInfo_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabAssistInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41,
+ 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
+ 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabAssistInfo_proto_rawDescOnce sync.Once
+ file_ChannelerSlabAssistInfo_proto_rawDescData = file_ChannelerSlabAssistInfo_proto_rawDesc
+)
+
+func file_ChannelerSlabAssistInfo_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabAssistInfo_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabAssistInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabAssistInfo_proto_rawDescData)
+ })
+ return file_ChannelerSlabAssistInfo_proto_rawDescData
+}
+
+var file_ChannelerSlabAssistInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabAssistInfo_proto_goTypes = []interface{}{
+ (*ChannelerSlabAssistInfo)(nil), // 0: proto.ChannelerSlabAssistInfo
+}
+var file_ChannelerSlabAssistInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabAssistInfo_proto_init() }
+func file_ChannelerSlabAssistInfo_proto_init() {
+ if File_ChannelerSlabAssistInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabAssistInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabAssistInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabAssistInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabAssistInfo_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabAssistInfo_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabAssistInfo_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabAssistInfo_proto = out.File
+ file_ChannelerSlabAssistInfo_proto_rawDesc = nil
+ file_ChannelerSlabAssistInfo_proto_goTypes = nil
+ file_ChannelerSlabAssistInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabBuffInfo.pb.go b/protocol/proto/ChannelerSlabBuffInfo.pb.go
new file mode 100644
index 00000000..8ab22600
--- /dev/null
+++ b/protocol/proto/ChannelerSlabBuffInfo.pb.go
@@ -0,0 +1,210 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabBuffInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabBuffInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpBuffSchemeInfo *ChannelerSlabBuffSchemeInfo `protobuf:"bytes,6,opt,name=mp_buff_scheme_info,json=mpBuffSchemeInfo,proto3" json:"mp_buff_scheme_info,omitempty"`
+ BuffIdList []uint32 `protobuf:"varint,8,rep,packed,name=buff_id_list,json=buffIdList,proto3" json:"buff_id_list,omitempty"`
+ SingleBuffSchemeInfo *ChannelerSlabBuffSchemeInfo `protobuf:"bytes,7,opt,name=single_buff_scheme_info,json=singleBuffSchemeInfo,proto3" json:"single_buff_scheme_info,omitempty"`
+ AssistInfoList []*ChannelerSlabAssistInfo `protobuf:"bytes,15,rep,name=assist_info_list,json=assistInfoList,proto3" json:"assist_info_list,omitempty"`
+}
+
+func (x *ChannelerSlabBuffInfo) Reset() {
+ *x = ChannelerSlabBuffInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabBuffInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabBuffInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabBuffInfo) ProtoMessage() {}
+
+func (x *ChannelerSlabBuffInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabBuffInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabBuffInfo.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabBuffInfo) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabBuffInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabBuffInfo) GetMpBuffSchemeInfo() *ChannelerSlabBuffSchemeInfo {
+ if x != nil {
+ return x.MpBuffSchemeInfo
+ }
+ return nil
+}
+
+func (x *ChannelerSlabBuffInfo) GetBuffIdList() []uint32 {
+ if x != nil {
+ return x.BuffIdList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabBuffInfo) GetSingleBuffSchemeInfo() *ChannelerSlabBuffSchemeInfo {
+ if x != nil {
+ return x.SingleBuffSchemeInfo
+ }
+ return nil
+}
+
+func (x *ChannelerSlabBuffInfo) GetAssistInfoList() []*ChannelerSlabAssistInfo {
+ if x != nil {
+ return x.AssistInfoList
+ }
+ return nil
+}
+
+var File_ChannelerSlabBuffInfo_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabBuffInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x42,
+ 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53,
+ 0x6c, 0x61, 0x62, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c,
+ 0x61, 0x62, 0x42, 0x75, 0x66, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x02, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x6e,
+ 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x51, 0x0a, 0x13, 0x6d, 0x70, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x73, 0x63, 0x68, 0x65,
+ 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53,
+ 0x6c, 0x61, 0x62, 0x42, 0x75, 0x66, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x10, 0x6d, 0x70, 0x42, 0x75, 0x66, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x75, 0x66, 0x66, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x59, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f,
+ 0x62, 0x75, 0x66, 0x66, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x42, 0x75, 0x66, 0x66,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x69, 0x6e, 0x67,
+ 0x6c, 0x65, 0x42, 0x75, 0x66, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x48, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62,
+ 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69,
+ 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabBuffInfo_proto_rawDescOnce sync.Once
+ file_ChannelerSlabBuffInfo_proto_rawDescData = file_ChannelerSlabBuffInfo_proto_rawDesc
+)
+
+func file_ChannelerSlabBuffInfo_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabBuffInfo_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabBuffInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabBuffInfo_proto_rawDescData)
+ })
+ return file_ChannelerSlabBuffInfo_proto_rawDescData
+}
+
+var file_ChannelerSlabBuffInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabBuffInfo_proto_goTypes = []interface{}{
+ (*ChannelerSlabBuffInfo)(nil), // 0: proto.ChannelerSlabBuffInfo
+ (*ChannelerSlabBuffSchemeInfo)(nil), // 1: proto.ChannelerSlabBuffSchemeInfo
+ (*ChannelerSlabAssistInfo)(nil), // 2: proto.ChannelerSlabAssistInfo
+}
+var file_ChannelerSlabBuffInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabBuffInfo.mp_buff_scheme_info:type_name -> proto.ChannelerSlabBuffSchemeInfo
+ 1, // 1: proto.ChannelerSlabBuffInfo.single_buff_scheme_info:type_name -> proto.ChannelerSlabBuffSchemeInfo
+ 2, // 2: proto.ChannelerSlabBuffInfo.assist_info_list:type_name -> proto.ChannelerSlabAssistInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabBuffInfo_proto_init() }
+func file_ChannelerSlabBuffInfo_proto_init() {
+ if File_ChannelerSlabBuffInfo_proto != nil {
+ return
+ }
+ file_ChannelerSlabAssistInfo_proto_init()
+ file_ChannelerSlabBuffSchemeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabBuffInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabBuffInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabBuffInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabBuffInfo_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabBuffInfo_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabBuffInfo_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabBuffInfo_proto = out.File
+ file_ChannelerSlabBuffInfo_proto_rawDesc = nil
+ file_ChannelerSlabBuffInfo_proto_goTypes = nil
+ file_ChannelerSlabBuffInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabBuffSchemeInfo.pb.go b/protocol/proto/ChannelerSlabBuffSchemeInfo.pb.go
new file mode 100644
index 00000000..ab2e4cb8
--- /dev/null
+++ b/protocol/proto/ChannelerSlabBuffSchemeInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabBuffSchemeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabBuffSchemeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlotMap map[uint32]uint32 `protobuf:"bytes,9,rep,name=slot_map,json=slotMap,proto3" json:"slot_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ TotalEnergy uint32 `protobuf:"varint,13,opt,name=total_energy,json=totalEnergy,proto3" json:"total_energy,omitempty"`
+ SelfEnergy uint32 `protobuf:"varint,15,opt,name=self_energy,json=selfEnergy,proto3" json:"self_energy,omitempty"`
+}
+
+func (x *ChannelerSlabBuffSchemeInfo) Reset() {
+ *x = ChannelerSlabBuffSchemeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabBuffSchemeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabBuffSchemeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabBuffSchemeInfo) ProtoMessage() {}
+
+func (x *ChannelerSlabBuffSchemeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabBuffSchemeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabBuffSchemeInfo.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabBuffSchemeInfo) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabBuffSchemeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabBuffSchemeInfo) GetSlotMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SlotMap
+ }
+ return nil
+}
+
+func (x *ChannelerSlabBuffSchemeInfo) GetTotalEnergy() uint32 {
+ if x != nil {
+ return x.TotalEnergy
+ }
+ return 0
+}
+
+func (x *ChannelerSlabBuffSchemeInfo) GetSelfEnergy() uint32 {
+ if x != nil {
+ return x.SelfEnergy
+ }
+ return 0
+}
+
+var File_ChannelerSlabBuffSchemeInfo_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabBuffSchemeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x42,
+ 0x75, 0x66, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x01, 0x0a, 0x1b, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x42, 0x75, 0x66, 0x66,
+ 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x08, 0x73, 0x6c,
+ 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c,
+ 0x61, 0x62, 0x42, 0x75, 0x66, 0x66, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x53, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x73,
+ 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
+ 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x6c,
+ 0x66, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x65, 0x6c, 0x66, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x53, 0x6c,
+ 0x6f, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabBuffSchemeInfo_proto_rawDescOnce sync.Once
+ file_ChannelerSlabBuffSchemeInfo_proto_rawDescData = file_ChannelerSlabBuffSchemeInfo_proto_rawDesc
+)
+
+func file_ChannelerSlabBuffSchemeInfo_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabBuffSchemeInfo_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabBuffSchemeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabBuffSchemeInfo_proto_rawDescData)
+ })
+ return file_ChannelerSlabBuffSchemeInfo_proto_rawDescData
+}
+
+var file_ChannelerSlabBuffSchemeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ChannelerSlabBuffSchemeInfo_proto_goTypes = []interface{}{
+ (*ChannelerSlabBuffSchemeInfo)(nil), // 0: proto.ChannelerSlabBuffSchemeInfo
+ nil, // 1: proto.ChannelerSlabBuffSchemeInfo.SlotMapEntry
+}
+var file_ChannelerSlabBuffSchemeInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabBuffSchemeInfo.slot_map:type_name -> proto.ChannelerSlabBuffSchemeInfo.SlotMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabBuffSchemeInfo_proto_init() }
+func file_ChannelerSlabBuffSchemeInfo_proto_init() {
+ if File_ChannelerSlabBuffSchemeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabBuffSchemeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabBuffSchemeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabBuffSchemeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabBuffSchemeInfo_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabBuffSchemeInfo_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabBuffSchemeInfo_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabBuffSchemeInfo_proto = out.File
+ file_ChannelerSlabBuffSchemeInfo_proto_rawDesc = nil
+ file_ChannelerSlabBuffSchemeInfo_proto_goTypes = nil
+ file_ChannelerSlabBuffSchemeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabCamp.pb.go b/protocol/proto/ChannelerSlabCamp.pb.go
new file mode 100644
index 00000000..2e4fd061
--- /dev/null
+++ b/protocol/proto/ChannelerSlabCamp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabCamp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabCamp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId uint32 `protobuf:"varint,11,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,8,opt,name=pos,proto3" json:"pos,omitempty"`
+ BuffNum uint32 `protobuf:"varint,7,opt,name=buff_num,json=buffNum,proto3" json:"buff_num,omitempty"`
+ GroupId uint32 `protobuf:"varint,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *ChannelerSlabCamp) Reset() {
+ *x = ChannelerSlabCamp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabCamp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabCamp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabCamp) ProtoMessage() {}
+
+func (x *ChannelerSlabCamp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabCamp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabCamp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabCamp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabCamp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabCamp) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabCamp) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *ChannelerSlabCamp) GetBuffNum() uint32 {
+ if x != nil {
+ return x.BuffNum
+ }
+ return 0
+}
+
+func (x *ChannelerSlabCamp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_ChannelerSlabCamp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabCamp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43,
+ 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87,
+ 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62,
+ 0x43, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70,
+ 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x75, 0x66, 0x66, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x0a,
+ 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabCamp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabCamp_proto_rawDescData = file_ChannelerSlabCamp_proto_rawDesc
+)
+
+func file_ChannelerSlabCamp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabCamp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabCamp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabCamp_proto_rawDescData)
+ })
+ return file_ChannelerSlabCamp_proto_rawDescData
+}
+
+var file_ChannelerSlabCamp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabCamp_proto_goTypes = []interface{}{
+ (*ChannelerSlabCamp)(nil), // 0: proto.ChannelerSlabCamp
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_ChannelerSlabCamp_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabCamp.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabCamp_proto_init() }
+func file_ChannelerSlabCamp_proto_init() {
+ if File_ChannelerSlabCamp_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabCamp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabCamp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabCamp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabCamp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabCamp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabCamp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabCamp_proto = out.File
+ file_ChannelerSlabCamp_proto_rawDesc = nil
+ file_ChannelerSlabCamp_proto_goTypes = nil
+ file_ChannelerSlabCamp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabChallenge.pb.go b/protocol/proto/ChannelerSlabChallenge.pb.go
new file mode 100644
index 00000000..7205dda7
--- /dev/null
+++ b/protocol/proto/ChannelerSlabChallenge.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabChallenge.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabChallenge struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActiveCampIndex uint32 `protobuf:"varint,5,opt,name=active_camp_index,json=activeCampIndex,proto3" json:"active_camp_index,omitempty"`
+ CampList []*ChannelerSlabCamp `protobuf:"bytes,14,rep,name=camp_list,json=campList,proto3" json:"camp_list,omitempty"`
+}
+
+func (x *ChannelerSlabChallenge) Reset() {
+ *x = ChannelerSlabChallenge{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabChallenge_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabChallenge) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabChallenge) ProtoMessage() {}
+
+func (x *ChannelerSlabChallenge) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabChallenge_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabChallenge.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabChallenge) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabChallenge_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabChallenge) GetActiveCampIndex() uint32 {
+ if x != nil {
+ return x.ActiveCampIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabChallenge) GetCampList() []*ChannelerSlabCamp {
+ if x != nil {
+ return x.CampList
+ }
+ return nil
+}
+
+var File_ChannelerSlabChallenge_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabChallenge_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72,
+ 0x53, 0x6c, 0x61, 0x62, 0x43, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b,
+ 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x12, 0x35, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43, 0x61, 0x6d,
+ 0x70, 0x52, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabChallenge_proto_rawDescOnce sync.Once
+ file_ChannelerSlabChallenge_proto_rawDescData = file_ChannelerSlabChallenge_proto_rawDesc
+)
+
+func file_ChannelerSlabChallenge_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabChallenge_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabChallenge_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabChallenge_proto_rawDescData)
+ })
+ return file_ChannelerSlabChallenge_proto_rawDescData
+}
+
+var file_ChannelerSlabChallenge_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabChallenge_proto_goTypes = []interface{}{
+ (*ChannelerSlabChallenge)(nil), // 0: proto.ChannelerSlabChallenge
+ (*ChannelerSlabCamp)(nil), // 1: proto.ChannelerSlabCamp
+}
+var file_ChannelerSlabChallenge_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabChallenge.camp_list:type_name -> proto.ChannelerSlabCamp
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabChallenge_proto_init() }
+func file_ChannelerSlabChallenge_proto_init() {
+ if File_ChannelerSlabChallenge_proto != nil {
+ return
+ }
+ file_ChannelerSlabCamp_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabChallenge_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabChallenge); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabChallenge_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabChallenge_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabChallenge_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabChallenge_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabChallenge_proto = out.File
+ file_ChannelerSlabChallenge_proto_rawDesc = nil
+ file_ChannelerSlabChallenge_proto_goTypes = nil
+ file_ChannelerSlabChallenge_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabChallengeStage.pb.go b/protocol/proto/ChannelerSlabChallengeStage.pb.go
new file mode 100644
index 00000000..6449ea2a
--- /dev/null
+++ b/protocol/proto/ChannelerSlabChallengeStage.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabChallengeStage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabChallengeStage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenTime uint32 `protobuf:"varint,3,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ ChallengeList []*ChannelerSlabChallenge `protobuf:"bytes,14,rep,name=challenge_list,json=challengeList,proto3" json:"challenge_list,omitempty"`
+ IsOpen bool `protobuf:"varint,7,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ DungeonInfo *ChannelerSlabOneofDungeon `protobuf:"bytes,13,opt,name=dungeon_info,json=dungeonInfo,proto3" json:"dungeon_info,omitempty"`
+}
+
+func (x *ChannelerSlabChallengeStage) Reset() {
+ *x = ChannelerSlabChallengeStage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabChallengeStage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabChallengeStage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabChallengeStage) ProtoMessage() {}
+
+func (x *ChannelerSlabChallengeStage) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabChallengeStage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabChallengeStage.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabChallengeStage) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabChallengeStage_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabChallengeStage) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *ChannelerSlabChallengeStage) GetChallengeList() []*ChannelerSlabChallenge {
+ if x != nil {
+ return x.ChallengeList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabChallengeStage) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *ChannelerSlabChallengeStage) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabChallengeStage) GetDungeonInfo() *ChannelerSlabOneofDungeon {
+ if x != nil {
+ return x.DungeonInfo
+ }
+ return nil
+}
+
+var File_ChannelerSlabChallengeStage_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabChallengeStage_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x43, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
+ 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x01, 0x0a, 0x1b, 0x43, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70,
+ 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72,
+ 0x53, 0x6c, 0x61, 0x62, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07,
+ 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
+ 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64,
+ 0x12, 0x43, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4f, 0x6e, 0x65, 0x6f,
+ 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabChallengeStage_proto_rawDescOnce sync.Once
+ file_ChannelerSlabChallengeStage_proto_rawDescData = file_ChannelerSlabChallengeStage_proto_rawDesc
+)
+
+func file_ChannelerSlabChallengeStage_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabChallengeStage_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabChallengeStage_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabChallengeStage_proto_rawDescData)
+ })
+ return file_ChannelerSlabChallengeStage_proto_rawDescData
+}
+
+var file_ChannelerSlabChallengeStage_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabChallengeStage_proto_goTypes = []interface{}{
+ (*ChannelerSlabChallengeStage)(nil), // 0: proto.ChannelerSlabChallengeStage
+ (*ChannelerSlabChallenge)(nil), // 1: proto.ChannelerSlabChallenge
+ (*ChannelerSlabOneofDungeon)(nil), // 2: proto.ChannelerSlabOneofDungeon
+}
+var file_ChannelerSlabChallengeStage_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabChallengeStage.challenge_list:type_name -> proto.ChannelerSlabChallenge
+ 2, // 1: proto.ChannelerSlabChallengeStage.dungeon_info:type_name -> proto.ChannelerSlabOneofDungeon
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabChallengeStage_proto_init() }
+func file_ChannelerSlabChallengeStage_proto_init() {
+ if File_ChannelerSlabChallengeStage_proto != nil {
+ return
+ }
+ file_ChannelerSlabChallenge_proto_init()
+ file_ChannelerSlabOneofDungeon_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabChallengeStage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabChallengeStage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabChallengeStage_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabChallengeStage_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabChallengeStage_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabChallengeStage_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabChallengeStage_proto = out.File
+ file_ChannelerSlabChallengeStage_proto_rawDesc = nil
+ file_ChannelerSlabChallengeStage_proto_goTypes = nil
+ file_ChannelerSlabChallengeStage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabCheckEnterLoopDungeonReq.pb.go b/protocol/proto/ChannelerSlabCheckEnterLoopDungeonReq.pb.go
new file mode 100644
index 00000000..ca6ae6ac
--- /dev/null
+++ b/protocol/proto/ChannelerSlabCheckEnterLoopDungeonReq.pb.go
@@ -0,0 +1,155 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabCheckEnterLoopDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8745
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabCheckEnterLoopDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ChannelerSlabCheckEnterLoopDungeonReq) Reset() {
+ *x = ChannelerSlabCheckEnterLoopDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabCheckEnterLoopDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabCheckEnterLoopDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabCheckEnterLoopDungeonReq) ProtoMessage() {}
+
+func (x *ChannelerSlabCheckEnterLoopDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabCheckEnterLoopDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabCheckEnterLoopDungeonReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabCheckEnterLoopDungeonReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChannelerSlabCheckEnterLoopDungeonReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43,
+ 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x25, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65,
+ 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDescData = file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDesc
+)
+
+func file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDescData
+}
+
+var file_ChannelerSlabCheckEnterLoopDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabCheckEnterLoopDungeonReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabCheckEnterLoopDungeonReq)(nil), // 0: proto.ChannelerSlabCheckEnterLoopDungeonReq
+}
+var file_ChannelerSlabCheckEnterLoopDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabCheckEnterLoopDungeonReq_proto_init() }
+func file_ChannelerSlabCheckEnterLoopDungeonReq_proto_init() {
+ if File_ChannelerSlabCheckEnterLoopDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabCheckEnterLoopDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabCheckEnterLoopDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabCheckEnterLoopDungeonReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabCheckEnterLoopDungeonReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabCheckEnterLoopDungeonReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabCheckEnterLoopDungeonReq_proto = out.File
+ file_ChannelerSlabCheckEnterLoopDungeonReq_proto_rawDesc = nil
+ file_ChannelerSlabCheckEnterLoopDungeonReq_proto_goTypes = nil
+ file_ChannelerSlabCheckEnterLoopDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabCheckEnterLoopDungeonRsp.pb.go b/protocol/proto/ChannelerSlabCheckEnterLoopDungeonRsp.pb.go
new file mode 100644
index 00000000..caad8b44
--- /dev/null
+++ b/protocol/proto/ChannelerSlabCheckEnterLoopDungeonRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabCheckEnterLoopDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8452
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabCheckEnterLoopDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ChannelerSlabCheckEnterLoopDungeonRsp) Reset() {
+ *x = ChannelerSlabCheckEnterLoopDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabCheckEnterLoopDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabCheckEnterLoopDungeonRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabCheckEnterLoopDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabCheckEnterLoopDungeonRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabCheckEnterLoopDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabCheckEnterLoopDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ChannelerSlabCheckEnterLoopDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43,
+ 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x25, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65,
+ 0x72, 0x53, 0x6c, 0x61, 0x62, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDescData = file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabCheckEnterLoopDungeonRsp)(nil), // 0: proto.ChannelerSlabCheckEnterLoopDungeonRsp
+}
+var file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_init() }
+func file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_init() {
+ if File_ChannelerSlabCheckEnterLoopDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabCheckEnterLoopDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabCheckEnterLoopDungeonRsp_proto = out.File
+ file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_rawDesc = nil
+ file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_goTypes = nil
+ file_ChannelerSlabCheckEnterLoopDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabEnterLoopDungeonReq.pb.go b/protocol/proto/ChannelerSlabEnterLoopDungeonReq.pb.go
new file mode 100644
index 00000000..9d0ddb96
--- /dev/null
+++ b/protocol/proto/ChannelerSlabEnterLoopDungeonReq.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabEnterLoopDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8869
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabEnterLoopDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,9,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ DungeonIndex uint32 `protobuf:"varint,10,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+ ConditionIdList []uint32 `protobuf:"varint,5,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,12,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *ChannelerSlabEnterLoopDungeonReq) Reset() {
+ *x = ChannelerSlabEnterLoopDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabEnterLoopDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabEnterLoopDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabEnterLoopDungeonReq) ProtoMessage() {}
+
+func (x *ChannelerSlabEnterLoopDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabEnterLoopDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabEnterLoopDungeonReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabEnterLoopDungeonReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabEnterLoopDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabEnterLoopDungeonReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabEnterLoopDungeonReq) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabEnterLoopDungeonReq) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabEnterLoopDungeonReq) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_ChannelerSlabEnterLoopDungeonReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabEnterLoopDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb3, 0x01, 0x0a, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61,
+ 0x62, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12,
+ 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
+ 0x6c, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabEnterLoopDungeonReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabEnterLoopDungeonReq_proto_rawDescData = file_ChannelerSlabEnterLoopDungeonReq_proto_rawDesc
+)
+
+func file_ChannelerSlabEnterLoopDungeonReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabEnterLoopDungeonReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabEnterLoopDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabEnterLoopDungeonReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabEnterLoopDungeonReq_proto_rawDescData
+}
+
+var file_ChannelerSlabEnterLoopDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabEnterLoopDungeonReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabEnterLoopDungeonReq)(nil), // 0: proto.ChannelerSlabEnterLoopDungeonReq
+}
+var file_ChannelerSlabEnterLoopDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabEnterLoopDungeonReq_proto_init() }
+func file_ChannelerSlabEnterLoopDungeonReq_proto_init() {
+ if File_ChannelerSlabEnterLoopDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabEnterLoopDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabEnterLoopDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabEnterLoopDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabEnterLoopDungeonReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabEnterLoopDungeonReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabEnterLoopDungeonReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabEnterLoopDungeonReq_proto = out.File
+ file_ChannelerSlabEnterLoopDungeonReq_proto_rawDesc = nil
+ file_ChannelerSlabEnterLoopDungeonReq_proto_goTypes = nil
+ file_ChannelerSlabEnterLoopDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabEnterLoopDungeonRsp.pb.go b/protocol/proto/ChannelerSlabEnterLoopDungeonRsp.pb.go
new file mode 100644
index 00000000..a207612e
--- /dev/null
+++ b/protocol/proto/ChannelerSlabEnterLoopDungeonRsp.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabEnterLoopDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8081
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabEnterLoopDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PointId uint32 `protobuf:"varint,12,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ ConditionIdList []uint32 `protobuf:"varint,6,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ DungeonIndex uint32 `protobuf:"varint,15,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,3,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *ChannelerSlabEnterLoopDungeonRsp) Reset() {
+ *x = ChannelerSlabEnterLoopDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabEnterLoopDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabEnterLoopDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabEnterLoopDungeonRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabEnterLoopDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabEnterLoopDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabEnterLoopDungeonRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabEnterLoopDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabEnterLoopDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChannelerSlabEnterLoopDungeonRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabEnterLoopDungeonRsp) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabEnterLoopDungeonRsp) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabEnterLoopDungeonRsp) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_ChannelerSlabEnterLoopDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xcd, 0x01, 0x0a, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61,
+ 0x62, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19,
+ 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6e,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDescData = file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabEnterLoopDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabEnterLoopDungeonRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabEnterLoopDungeonRsp)(nil), // 0: proto.ChannelerSlabEnterLoopDungeonRsp
+}
+var file_ChannelerSlabEnterLoopDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabEnterLoopDungeonRsp_proto_init() }
+func file_ChannelerSlabEnterLoopDungeonRsp_proto_init() {
+ if File_ChannelerSlabEnterLoopDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabEnterLoopDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabEnterLoopDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabEnterLoopDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabEnterLoopDungeonRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabEnterLoopDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabEnterLoopDungeonRsp_proto = out.File
+ file_ChannelerSlabEnterLoopDungeonRsp_proto_rawDesc = nil
+ file_ChannelerSlabEnterLoopDungeonRsp_proto_goTypes = nil
+ file_ChannelerSlabEnterLoopDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.pb.go b/protocol/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.pb.go
new file mode 100644
index 00000000..5a46ea70
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonChallengeInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8224
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabLoopDungeonChallengeInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonIndex uint32 `protobuf:"varint,12,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+ ChallengeScore uint32 `protobuf:"varint,4,opt,name=challenge_score,json=challengeScore,proto3" json:"challenge_score,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,2,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ ConditionIdList []uint32 `protobuf:"varint,3,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ SchemeBuffIdList []uint32 `protobuf:"varint,6,rep,packed,name=scheme_buff_id_list,json=schemeBuffIdList,proto3" json:"scheme_buff_id_list,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonChallengeInfoNotify) Reset() {
+ *x = ChannelerSlabLoopDungeonChallengeInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonChallengeInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonChallengeInfoNotify) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonChallengeInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonChallengeInfoNotify.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonChallengeInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonChallengeInfoNotify) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonChallengeInfoNotify) GetChallengeScore() uint32 {
+ if x != nil {
+ return x.ChallengeScore
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonChallengeInfoNotify) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonChallengeInfoNotify) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabLoopDungeonChallengeInfoNotify) GetSchemeBuffIdList() []uint32 {
+ if x != nil {
+ return x.SchemeBuffIdList
+ }
+ return nil
+}
+
+var File_ChannelerSlabLoopDungeonChallengeInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x31, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x01, 0x0a, 0x2b, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
+ 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a,
+ 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x63, 0x68,
+ 0x65, 0x6d, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75,
+ 0x66, 0x66, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDescData = file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonChallengeInfoNotify)(nil), // 0: proto.ChannelerSlabLoopDungeonChallengeInfoNotify
+}
+var file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_init() }
+func file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_init() {
+ if File_ChannelerSlabLoopDungeonChallengeInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonChallengeInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonChallengeInfoNotify_proto = out.File
+ file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonChallengeInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonInfo.pb.go b/protocol/proto/ChannelerSlabLoopDungeonInfo.pb.go
new file mode 100644
index 00000000..c0f4bead
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonInfo.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabLoopDungeonInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,7,opt,name=score,proto3" json:"score,omitempty"`
+ DungeonIndex uint32 `protobuf:"varint,4,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+ OpenTime uint32 `protobuf:"varint,12,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsFirstPassRewardTaken bool `protobuf:"varint,9,opt,name=is_first_pass_reward_taken,json=isFirstPassRewardTaken,proto3" json:"is_first_pass_reward_taken,omitempty"`
+ LastConditionIdList []uint32 `protobuf:"varint,14,rep,packed,name=last_condition_id_list,json=lastConditionIdList,proto3" json:"last_condition_id_list,omitempty"`
+ IsOpen bool `protobuf:"varint,1,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonInfo) Reset() {
+ *x = ChannelerSlabLoopDungeonInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonInfo) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonInfo.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonInfo) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonInfo) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonInfo) GetIsFirstPassRewardTaken() bool {
+ if x != nil {
+ return x.IsFirstPassRewardTaken
+ }
+ return false
+}
+
+func (x *ChannelerSlabLoopDungeonInfo) GetLastConditionIdList() []uint32 {
+ if x != nil {
+ return x.LastConditionIdList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabLoopDungeonInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_ChannelerSlabLoopDungeonInfo_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x02, 0x0a, 0x1c,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f,
+ 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74,
+ 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x6b,
+ 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73,
+ 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x6e,
+ 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonInfo_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonInfo_proto_rawDescData = file_ChannelerSlabLoopDungeonInfo_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonInfo_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonInfo_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonInfo_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonInfo_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonInfo_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonInfo)(nil), // 0: proto.ChannelerSlabLoopDungeonInfo
+}
+var file_ChannelerSlabLoopDungeonInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonInfo_proto_init() }
+func file_ChannelerSlabLoopDungeonInfo_proto_init() {
+ if File_ChannelerSlabLoopDungeonInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonInfo_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonInfo_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonInfo_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonInfo_proto = out.File
+ file_ChannelerSlabLoopDungeonInfo_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonInfo_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonResultInfo.pb.go b/protocol/proto/ChannelerSlabLoopDungeonResultInfo.pb.go
new file mode 100644
index 00000000..26560f58
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonResultInfo.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonResultInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabLoopDungeonResultInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSuccess bool `protobuf:"varint,11,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ ChallengeMaxScore uint32 `protobuf:"varint,8,opt,name=challenge_max_score,json=challengeMaxScore,proto3" json:"challenge_max_score,omitempty"`
+ DungeonIndex uint32 `protobuf:"varint,7,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+ IsInTimeLimit bool `protobuf:"varint,10,opt,name=is_in_time_limit,json=isInTimeLimit,proto3" json:"is_in_time_limit,omitempty"`
+ ChallengeScore uint32 `protobuf:"varint,12,opt,name=challenge_score,json=challengeScore,proto3" json:"challenge_score,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonResultInfo) Reset() {
+ *x = ChannelerSlabLoopDungeonResultInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonResultInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonResultInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonResultInfo) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonResultInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonResultInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonResultInfo.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonResultInfo) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonResultInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonResultInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *ChannelerSlabLoopDungeonResultInfo) GetChallengeMaxScore() uint32 {
+ if x != nil {
+ return x.ChallengeMaxScore
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonResultInfo) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonResultInfo) GetIsInTimeLimit() bool {
+ if x != nil {
+ return x.IsInTimeLimit
+ }
+ return false
+}
+
+func (x *ChannelerSlabLoopDungeonResultInfo) GetChallengeScore() uint32 {
+ if x != nil {
+ return x.ChallengeScore
+ }
+ return 0
+}
+
+var File_ChannelerSlabLoopDungeonResultInfo_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonResultInfo_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xea, 0x01, 0x0a, 0x22, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53,
+ 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73,
+ 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73,
+ 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d,
+ 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x27, 0x0a, 0x10,
+ 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x6d, 0x65,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonResultInfo_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonResultInfo_proto_rawDescData = file_ChannelerSlabLoopDungeonResultInfo_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonResultInfo_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonResultInfo_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonResultInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonResultInfo_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonResultInfo_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonResultInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonResultInfo_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonResultInfo)(nil), // 0: proto.ChannelerSlabLoopDungeonResultInfo
+}
+var file_ChannelerSlabLoopDungeonResultInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonResultInfo_proto_init() }
+func file_ChannelerSlabLoopDungeonResultInfo_proto_init() {
+ if File_ChannelerSlabLoopDungeonResultInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonResultInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonResultInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonResultInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonResultInfo_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonResultInfo_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonResultInfo_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonResultInfo_proto = out.File
+ file_ChannelerSlabLoopDungeonResultInfo_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonResultInfo_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonResultInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonSelectConditionReq.pb.go b/protocol/proto/ChannelerSlabLoopDungeonSelectConditionReq.pb.go
new file mode 100644
index 00000000..1ab32ca9
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonSelectConditionReq.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonSelectConditionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8503
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabLoopDungeonSelectConditionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonIndex uint32 `protobuf:"varint,4,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+ ConditionIdList []uint32 `protobuf:"varint,3,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,8,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionReq) Reset() {
+ *x = ChannelerSlabLoopDungeonSelectConditionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonSelectConditionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonSelectConditionReq) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonSelectConditionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonSelectConditionReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonSelectConditionReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionReq) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionReq) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionReq) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_ChannelerSlabLoopDungeonSelectConditionReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDesc = []byte{
+ 0x0a, 0x30, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x01, 0x0a, 0x2a, 0x43, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a,
+ 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDescData = file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonSelectConditionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonSelectConditionReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonSelectConditionReq)(nil), // 0: proto.ChannelerSlabLoopDungeonSelectConditionReq
+}
+var file_ChannelerSlabLoopDungeonSelectConditionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonSelectConditionReq_proto_init() }
+func file_ChannelerSlabLoopDungeonSelectConditionReq_proto_init() {
+ if File_ChannelerSlabLoopDungeonSelectConditionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonSelectConditionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonSelectConditionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonSelectConditionReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonSelectConditionReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonSelectConditionReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonSelectConditionReq_proto = out.File
+ file_ChannelerSlabLoopDungeonSelectConditionReq_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonSelectConditionReq_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonSelectConditionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonSelectConditionRsp.pb.go b/protocol/proto/ChannelerSlabLoopDungeonSelectConditionRsp.pb.go
new file mode 100644
index 00000000..a0deb7c6
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonSelectConditionRsp.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonSelectConditionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8509
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabLoopDungeonSelectConditionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DungeonIndex uint32 `protobuf:"varint,5,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+ ConditionIdList []uint32 `protobuf:"varint,13,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,14,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionRsp) Reset() {
+ *x = ChannelerSlabLoopDungeonSelectConditionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonSelectConditionRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonSelectConditionRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonSelectConditionRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionRsp) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionRsp) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabLoopDungeonSelectConditionRsp) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_ChannelerSlabLoopDungeonSelectConditionRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x30, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x2a, 0x43, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDescData = file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonSelectConditionRsp)(nil), // 0: proto.ChannelerSlabLoopDungeonSelectConditionRsp
+}
+var file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_init() }
+func file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_init() {
+ if File_ChannelerSlabLoopDungeonSelectConditionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonSelectConditionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonSelectConditionRsp_proto = out.File
+ file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonSelectConditionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonStageInfo.pb.go b/protocol/proto/ChannelerSlabLoopDungeonStageInfo.pb.go
new file mode 100644
index 00000000..b51997fd
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonStageInfo.pb.go
@@ -0,0 +1,211 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabLoopDungeonStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonInfoList []*ChannelerSlabLoopDungeonInfo `protobuf:"bytes,15,rep,name=dungeon_info_list,json=dungeonInfoList,proto3" json:"dungeon_info_list,omitempty"`
+ TakenRewardIndexList []uint32 `protobuf:"varint,5,rep,packed,name=taken_reward_index_list,json=takenRewardIndexList,proto3" json:"taken_reward_index_list,omitempty"`
+ IsOpen bool `protobuf:"varint,11,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ LastDifficultyId uint32 `protobuf:"varint,6,opt,name=last_difficulty_id,json=lastDifficultyId,proto3" json:"last_difficulty_id,omitempty"`
+ OpenTime uint32 `protobuf:"varint,3,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonStageInfo) Reset() {
+ *x = ChannelerSlabLoopDungeonStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonStageInfo) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonStageInfo.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonStageInfo) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonStageInfo) GetDungeonInfoList() []*ChannelerSlabLoopDungeonInfo {
+ if x != nil {
+ return x.DungeonInfoList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabLoopDungeonStageInfo) GetTakenRewardIndexList() []uint32 {
+ if x != nil {
+ return x.TakenRewardIndexList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabLoopDungeonStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *ChannelerSlabLoopDungeonStageInfo) GetLastDifficultyId() uint32 {
+ if x != nil {
+ return x.LastDifficultyId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonStageInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+var File_ChannelerSlabLoopDungeonStageInfo_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x22, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x02, 0x0a, 0x21, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f, 0x0a, 0x11, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x74,
+ 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x61,
+ 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x6c,
+ 0x61, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70,
+ 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonStageInfo_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonStageInfo_proto_rawDescData = file_ChannelerSlabLoopDungeonStageInfo_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonStageInfo_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonStageInfo_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonStageInfo_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonStageInfo_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonStageInfo_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonStageInfo)(nil), // 0: proto.ChannelerSlabLoopDungeonStageInfo
+ (*ChannelerSlabLoopDungeonInfo)(nil), // 1: proto.ChannelerSlabLoopDungeonInfo
+}
+var file_ChannelerSlabLoopDungeonStageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabLoopDungeonStageInfo.dungeon_info_list:type_name -> proto.ChannelerSlabLoopDungeonInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonStageInfo_proto_init() }
+func file_ChannelerSlabLoopDungeonStageInfo_proto_init() {
+ if File_ChannelerSlabLoopDungeonStageInfo_proto != nil {
+ return
+ }
+ file_ChannelerSlabLoopDungeonInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonStageInfo_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonStageInfo_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonStageInfo_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonStageInfo_proto = out.File
+ file_ChannelerSlabLoopDungeonStageInfo_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonStageInfo_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.pb.go b/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.pb.go
new file mode 100644
index 00000000..aa1b1c60
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonTakeFirstPassRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8589
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabLoopDungeonTakeFirstPassRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonIndex uint32 `protobuf:"varint,10,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardReq) Reset() {
+ *x = ChannelerSlabLoopDungeonTakeFirstPassRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonTakeFirstPassRewardReq) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonTakeFirstPassRewardReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonTakeFirstPassRewardReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardReq) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+var File_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x34, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x69,
+ 0x72, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a,
+ 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f,
+ 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x69, 0x72,
+ 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12,
+ 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDescData = file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonTakeFirstPassRewardReq)(nil), // 0: proto.ChannelerSlabLoopDungeonTakeFirstPassRewardReq
+}
+var file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_init() }
+func file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_init() {
+ if File_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonTakeFirstPassRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto = out.File
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.pb.go b/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.pb.go
new file mode 100644
index 00000000..a37bb89a
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8539
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabLoopDungeonTakeFirstPassRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DungeonIndex uint32 `protobuf:"varint,8,opt,name=dungeon_index,json=dungeonIndex,proto3" json:"dungeon_index,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardRsp) Reset() {
+ *x = ChannelerSlabLoopDungeonTakeFirstPassRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonTakeFirstPassRewardRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonTakeFirstPassRewardRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonTakeFirstPassRewardRsp) GetDungeonIndex() uint32 {
+ if x != nil {
+ return x.DungeonIndex
+ }
+ return 0
+}
+
+var File_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x34, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x69,
+ 0x72, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a,
+ 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f,
+ 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x69, 0x72,
+ 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDescData = file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonTakeFirstPassRewardRsp)(nil), // 0: proto.ChannelerSlabLoopDungeonTakeFirstPassRewardRsp
+}
+var file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_init() }
+func file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_init() {
+ if File_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonTakeFirstPassRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto = out.File
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonTakeFirstPassRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.pb.go b/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.pb.go
new file mode 100644
index 00000000..7cb5466f
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonTakeScoreRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8684
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabLoopDungeonTakeScoreRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardIndex uint32 `protobuf:"varint,8,opt,name=reward_index,json=rewardIndex,proto3" json:"reward_index,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardReq) Reset() {
+ *x = ChannelerSlabLoopDungeonTakeScoreRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonTakeScoreRewardReq) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonTakeScoreRewardReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonTakeScoreRewardReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardReq) GetRewardIndex() uint32 {
+ if x != nil {
+ return x.RewardIndex
+ }
+ return 0
+}
+
+var File_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x30, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x2a, 0x43, 0x68, 0x61,
+ 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDescData = file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonTakeScoreRewardReq)(nil), // 0: proto.ChannelerSlabLoopDungeonTakeScoreRewardReq
+}
+var file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_init() }
+func file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_init() {
+ if File_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonTakeScoreRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto = out.File
+ file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonTakeScoreRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.pb.go b/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.pb.go
new file mode 100644
index 00000000..7bab7d9c
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabLoopDungeonTakeScoreRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8433
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabLoopDungeonTakeScoreRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardIndex uint32 `protobuf:"varint,12,opt,name=reward_index,json=rewardIndex,proto3" json:"reward_index,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardRsp) Reset() {
+ *x = ChannelerSlabLoopDungeonTakeScoreRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabLoopDungeonTakeScoreRewardRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabLoopDungeonTakeScoreRewardRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabLoopDungeonTakeScoreRewardRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardRsp) GetRewardIndex() uint32 {
+ if x != nil {
+ return x.RewardIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabLoopDungeonTakeScoreRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x30, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c,
+ 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x2a, 0x43, 0x68, 0x61,
+ 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDescData = file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabLoopDungeonTakeScoreRewardRsp)(nil), // 0: proto.ChannelerSlabLoopDungeonTakeScoreRewardRsp
+}
+var file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_init() }
+func file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_init() {
+ if File_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabLoopDungeonTakeScoreRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto = out.File
+ file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_rawDesc = nil
+ file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_goTypes = nil
+ file_ChannelerSlabLoopDungeonTakeScoreRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabOneOffDungeonInfoNotify.pb.go b/protocol/proto/ChannelerSlabOneOffDungeonInfoNotify.pb.go
new file mode 100644
index 00000000..88730060
--- /dev/null
+++ b/protocol/proto/ChannelerSlabOneOffDungeonInfoNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabOneOffDungeonInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8729
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabOneOffDungeonInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SchemeBuffIdList []uint32 `protobuf:"varint,6,rep,packed,name=scheme_buff_id_list,json=schemeBuffIdList,proto3" json:"scheme_buff_id_list,omitempty"`
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoNotify) Reset() {
+ *x = ChannelerSlabOneOffDungeonInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabOneOffDungeonInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabOneOffDungeonInfoNotify) ProtoMessage() {}
+
+func (x *ChannelerSlabOneOffDungeonInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabOneOffDungeonInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabOneOffDungeonInfoNotify.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabOneOffDungeonInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoNotify) GetSchemeBuffIdList() []uint32 {
+ if x != nil {
+ return x.SchemeBuffIdList
+ }
+ return nil
+}
+
+var File_ChannelerSlabOneOffDungeonInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4f,
+ 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x24, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72,
+ 0x53, 0x6c, 0x61, 0x62, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2d, 0x0a, 0x13, 0x73,
+ 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65,
+ 0x42, 0x75, 0x66, 0x66, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDescOnce sync.Once
+ file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDescData = file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDesc
+)
+
+func file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDescData)
+ })
+ return file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDescData
+}
+
+var file_ChannelerSlabOneOffDungeonInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabOneOffDungeonInfoNotify_proto_goTypes = []interface{}{
+ (*ChannelerSlabOneOffDungeonInfoNotify)(nil), // 0: proto.ChannelerSlabOneOffDungeonInfoNotify
+}
+var file_ChannelerSlabOneOffDungeonInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabOneOffDungeonInfoNotify_proto_init() }
+func file_ChannelerSlabOneOffDungeonInfoNotify_proto_init() {
+ if File_ChannelerSlabOneOffDungeonInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabOneOffDungeonInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabOneOffDungeonInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabOneOffDungeonInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabOneOffDungeonInfoNotify_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabOneOffDungeonInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabOneOffDungeonInfoNotify_proto = out.File
+ file_ChannelerSlabOneOffDungeonInfoNotify_proto_rawDesc = nil
+ file_ChannelerSlabOneOffDungeonInfoNotify_proto_goTypes = nil
+ file_ChannelerSlabOneOffDungeonInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabOneOffDungeonInfoReq.pb.go b/protocol/proto/ChannelerSlabOneOffDungeonInfoReq.pb.go
new file mode 100644
index 00000000..b0722f2b
--- /dev/null
+++ b/protocol/proto/ChannelerSlabOneOffDungeonInfoReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabOneOffDungeonInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8409
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabOneOffDungeonInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoReq) Reset() {
+ *x = ChannelerSlabOneOffDungeonInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabOneOffDungeonInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabOneOffDungeonInfoReq) ProtoMessage() {}
+
+func (x *ChannelerSlabOneOffDungeonInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabOneOffDungeonInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabOneOffDungeonInfoReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabOneOffDungeonInfoReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChannelerSlabOneOffDungeonInfoReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4f,
+ 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x23, 0x0a, 0x21, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61,
+ 0x62, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDescData = file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDesc
+)
+
+func file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDescData
+}
+
+var file_ChannelerSlabOneOffDungeonInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabOneOffDungeonInfoReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabOneOffDungeonInfoReq)(nil), // 0: proto.ChannelerSlabOneOffDungeonInfoReq
+}
+var file_ChannelerSlabOneOffDungeonInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabOneOffDungeonInfoReq_proto_init() }
+func file_ChannelerSlabOneOffDungeonInfoReq_proto_init() {
+ if File_ChannelerSlabOneOffDungeonInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabOneOffDungeonInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabOneOffDungeonInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabOneOffDungeonInfoReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabOneOffDungeonInfoReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabOneOffDungeonInfoReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabOneOffDungeonInfoReq_proto = out.File
+ file_ChannelerSlabOneOffDungeonInfoReq_proto_rawDesc = nil
+ file_ChannelerSlabOneOffDungeonInfoReq_proto_goTypes = nil
+ file_ChannelerSlabOneOffDungeonInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabOneOffDungeonInfoRsp.pb.go b/protocol/proto/ChannelerSlabOneOffDungeonInfoRsp.pb.go
new file mode 100644
index 00000000..d3096c4b
--- /dev/null
+++ b/protocol/proto/ChannelerSlabOneOffDungeonInfoRsp.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabOneOffDungeonInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8268
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabOneOffDungeonInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SchemeBuffIdList []uint32 `protobuf:"varint,3,rep,packed,name=scheme_buff_id_list,json=schemeBuffIdList,proto3" json:"scheme_buff_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoRsp) Reset() {
+ *x = ChannelerSlabOneOffDungeonInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabOneOffDungeonInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabOneOffDungeonInfoRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabOneOffDungeonInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabOneOffDungeonInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabOneOffDungeonInfoRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabOneOffDungeonInfoRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoRsp) GetSchemeBuffIdList() []uint32 {
+ if x != nil {
+ return x.SchemeBuffIdList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabOneOffDungeonInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ChannelerSlabOneOffDungeonInfoRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4f,
+ 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6c, 0x0a, 0x21, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61,
+ 0x62, 0x4f, 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f,
+ 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x75, 0x66, 0x66, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDescData = file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabOneOffDungeonInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabOneOffDungeonInfoRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabOneOffDungeonInfoRsp)(nil), // 0: proto.ChannelerSlabOneOffDungeonInfoRsp
+}
+var file_ChannelerSlabOneOffDungeonInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabOneOffDungeonInfoRsp_proto_init() }
+func file_ChannelerSlabOneOffDungeonInfoRsp_proto_init() {
+ if File_ChannelerSlabOneOffDungeonInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabOneOffDungeonInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabOneOffDungeonInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabOneOffDungeonInfoRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabOneOffDungeonInfoRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabOneOffDungeonInfoRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabOneOffDungeonInfoRsp_proto = out.File
+ file_ChannelerSlabOneOffDungeonInfoRsp_proto_rawDesc = nil
+ file_ChannelerSlabOneOffDungeonInfoRsp_proto_goTypes = nil
+ file_ChannelerSlabOneOffDungeonInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabOneofDungeon.pb.go b/protocol/proto/ChannelerSlabOneofDungeon.pb.go
new file mode 100644
index 00000000..76b1f6b6
--- /dev/null
+++ b/protocol/proto/ChannelerSlabOneofDungeon.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabOneofDungeon.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChannelerSlabOneofDungeon struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsDone bool `protobuf:"varint,8,opt,name=is_done,json=isDone,proto3" json:"is_done,omitempty"`
+ DungeonId uint32 `protobuf:"varint,12,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ RewardId uint32 `protobuf:"varint,13,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+}
+
+func (x *ChannelerSlabOneofDungeon) Reset() {
+ *x = ChannelerSlabOneofDungeon{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabOneofDungeon_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabOneofDungeon) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabOneofDungeon) ProtoMessage() {}
+
+func (x *ChannelerSlabOneofDungeon) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabOneofDungeon_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabOneofDungeon.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabOneofDungeon) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabOneofDungeon_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabOneofDungeon) GetIsDone() bool {
+ if x != nil {
+ return x.IsDone
+ }
+ return false
+}
+
+func (x *ChannelerSlabOneofDungeon) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabOneofDungeon) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+var File_ChannelerSlabOneofDungeon_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabOneofDungeon_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4f,
+ 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x6e, 0x65,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabOneofDungeon_proto_rawDescOnce sync.Once
+ file_ChannelerSlabOneofDungeon_proto_rawDescData = file_ChannelerSlabOneofDungeon_proto_rawDesc
+)
+
+func file_ChannelerSlabOneofDungeon_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabOneofDungeon_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabOneofDungeon_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabOneofDungeon_proto_rawDescData)
+ })
+ return file_ChannelerSlabOneofDungeon_proto_rawDescData
+}
+
+var file_ChannelerSlabOneofDungeon_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabOneofDungeon_proto_goTypes = []interface{}{
+ (*ChannelerSlabOneofDungeon)(nil), // 0: proto.ChannelerSlabOneofDungeon
+}
+var file_ChannelerSlabOneofDungeon_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabOneofDungeon_proto_init() }
+func file_ChannelerSlabOneofDungeon_proto_init() {
+ if File_ChannelerSlabOneofDungeon_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabOneofDungeon_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabOneofDungeon); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabOneofDungeon_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabOneofDungeon_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabOneofDungeon_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabOneofDungeon_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabOneofDungeon_proto = out.File
+ file_ChannelerSlabOneofDungeon_proto_rawDesc = nil
+ file_ChannelerSlabOneofDungeon_proto_goTypes = nil
+ file_ChannelerSlabOneofDungeon_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabSaveAssistInfoReq.pb.go b/protocol/proto/ChannelerSlabSaveAssistInfoReq.pb.go
new file mode 100644
index 00000000..f97bf429
--- /dev/null
+++ b/protocol/proto/ChannelerSlabSaveAssistInfoReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabSaveAssistInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8416
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabSaveAssistInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AssistInfoList []*ChannelerSlabAssistInfo `protobuf:"bytes,8,rep,name=assist_info_list,json=assistInfoList,proto3" json:"assist_info_list,omitempty"`
+}
+
+func (x *ChannelerSlabSaveAssistInfoReq) Reset() {
+ *x = ChannelerSlabSaveAssistInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabSaveAssistInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabSaveAssistInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabSaveAssistInfoReq) ProtoMessage() {}
+
+func (x *ChannelerSlabSaveAssistInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabSaveAssistInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabSaveAssistInfoReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabSaveAssistInfoReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabSaveAssistInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabSaveAssistInfoReq) GetAssistInfoList() []*ChannelerSlabAssistInfo {
+ if x != nil {
+ return x.AssistInfoList
+ }
+ return nil
+}
+
+var File_ChannelerSlabSaveAssistInfoReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabSaveAssistInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x53,
+ 0x61, 0x76, 0x65, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41, 0x73, 0x73, 0x69,
+ 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x1e,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x53, 0x61, 0x76,
+ 0x65, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x48,
+ 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41, 0x73,
+ 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabSaveAssistInfoReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabSaveAssistInfoReq_proto_rawDescData = file_ChannelerSlabSaveAssistInfoReq_proto_rawDesc
+)
+
+func file_ChannelerSlabSaveAssistInfoReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabSaveAssistInfoReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabSaveAssistInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabSaveAssistInfoReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabSaveAssistInfoReq_proto_rawDescData
+}
+
+var file_ChannelerSlabSaveAssistInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabSaveAssistInfoReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabSaveAssistInfoReq)(nil), // 0: proto.ChannelerSlabSaveAssistInfoReq
+ (*ChannelerSlabAssistInfo)(nil), // 1: proto.ChannelerSlabAssistInfo
+}
+var file_ChannelerSlabSaveAssistInfoReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabSaveAssistInfoReq.assist_info_list:type_name -> proto.ChannelerSlabAssistInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabSaveAssistInfoReq_proto_init() }
+func file_ChannelerSlabSaveAssistInfoReq_proto_init() {
+ if File_ChannelerSlabSaveAssistInfoReq_proto != nil {
+ return
+ }
+ file_ChannelerSlabAssistInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabSaveAssistInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabSaveAssistInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabSaveAssistInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabSaveAssistInfoReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabSaveAssistInfoReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabSaveAssistInfoReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabSaveAssistInfoReq_proto = out.File
+ file_ChannelerSlabSaveAssistInfoReq_proto_rawDesc = nil
+ file_ChannelerSlabSaveAssistInfoReq_proto_goTypes = nil
+ file_ChannelerSlabSaveAssistInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabSaveAssistInfoRsp.pb.go b/protocol/proto/ChannelerSlabSaveAssistInfoRsp.pb.go
new file mode 100644
index 00000000..43d546b7
--- /dev/null
+++ b/protocol/proto/ChannelerSlabSaveAssistInfoRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabSaveAssistInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8932
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabSaveAssistInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AssistInfoList []*ChannelerSlabAssistInfo `protobuf:"bytes,8,rep,name=assist_info_list,json=assistInfoList,proto3" json:"assist_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ChannelerSlabSaveAssistInfoRsp) Reset() {
+ *x = ChannelerSlabSaveAssistInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabSaveAssistInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabSaveAssistInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabSaveAssistInfoRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabSaveAssistInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabSaveAssistInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabSaveAssistInfoRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabSaveAssistInfoRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabSaveAssistInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabSaveAssistInfoRsp) GetAssistInfoList() []*ChannelerSlabAssistInfo {
+ if x != nil {
+ return x.AssistInfoList
+ }
+ return nil
+}
+
+func (x *ChannelerSlabSaveAssistInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ChannelerSlabSaveAssistInfoRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabSaveAssistInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x53,
+ 0x61, 0x76, 0x65, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41, 0x73, 0x73, 0x69,
+ 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a,
+ 0x1e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x53, 0x61,
+ 0x76, 0x65, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12,
+ 0x48, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x41,
+ 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x73,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabSaveAssistInfoRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabSaveAssistInfoRsp_proto_rawDescData = file_ChannelerSlabSaveAssistInfoRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabSaveAssistInfoRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabSaveAssistInfoRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabSaveAssistInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabSaveAssistInfoRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabSaveAssistInfoRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabSaveAssistInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabSaveAssistInfoRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabSaveAssistInfoRsp)(nil), // 0: proto.ChannelerSlabSaveAssistInfoRsp
+ (*ChannelerSlabAssistInfo)(nil), // 1: proto.ChannelerSlabAssistInfo
+}
+var file_ChannelerSlabSaveAssistInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ChannelerSlabSaveAssistInfoRsp.assist_info_list:type_name -> proto.ChannelerSlabAssistInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabSaveAssistInfoRsp_proto_init() }
+func file_ChannelerSlabSaveAssistInfoRsp_proto_init() {
+ if File_ChannelerSlabSaveAssistInfoRsp_proto != nil {
+ return
+ }
+ file_ChannelerSlabAssistInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabSaveAssistInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabSaveAssistInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabSaveAssistInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabSaveAssistInfoRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabSaveAssistInfoRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabSaveAssistInfoRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabSaveAssistInfoRsp_proto = out.File
+ file_ChannelerSlabSaveAssistInfoRsp_proto_rawDesc = nil
+ file_ChannelerSlabSaveAssistInfoRsp_proto_goTypes = nil
+ file_ChannelerSlabSaveAssistInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabStageActiveChallengeIndexNotify.pb.go b/protocol/proto/ChannelerSlabStageActiveChallengeIndexNotify.pb.go
new file mode 100644
index 00000000..8012b9d4
--- /dev/null
+++ b/protocol/proto/ChannelerSlabStageActiveChallengeIndexNotify.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabStageActiveChallengeIndexNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8734
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabStageActiveChallengeIndexNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,12,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ ActiveCampIndex uint32 `protobuf:"varint,6,opt,name=active_camp_index,json=activeCampIndex,proto3" json:"active_camp_index,omitempty"`
+}
+
+func (x *ChannelerSlabStageActiveChallengeIndexNotify) Reset() {
+ *x = ChannelerSlabStageActiveChallengeIndexNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabStageActiveChallengeIndexNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabStageActiveChallengeIndexNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabStageActiveChallengeIndexNotify) ProtoMessage() {}
+
+func (x *ChannelerSlabStageActiveChallengeIndexNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabStageActiveChallengeIndexNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabStageActiveChallengeIndexNotify.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabStageActiveChallengeIndexNotify) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabStageActiveChallengeIndexNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabStageActiveChallengeIndexNotify) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (x *ChannelerSlabStageActiveChallengeIndexNotify) GetActiveCampIndex() uint32 {
+ if x != nil {
+ return x.ActiveCampIndex
+ }
+ return 0
+}
+
+var File_ChannelerSlabStageActiveChallengeIndexNotify_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDesc = []byte{
+ 0x0a, 0x32, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x01, 0x0a, 0x2c,
+ 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDescOnce sync.Once
+ file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDescData = file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDesc
+)
+
+func file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDescData)
+ })
+ return file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDescData
+}
+
+var file_ChannelerSlabStageActiveChallengeIndexNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabStageActiveChallengeIndexNotify_proto_goTypes = []interface{}{
+ (*ChannelerSlabStageActiveChallengeIndexNotify)(nil), // 0: proto.ChannelerSlabStageActiveChallengeIndexNotify
+}
+var file_ChannelerSlabStageActiveChallengeIndexNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabStageActiveChallengeIndexNotify_proto_init() }
+func file_ChannelerSlabStageActiveChallengeIndexNotify_proto_init() {
+ if File_ChannelerSlabStageActiveChallengeIndexNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabStageActiveChallengeIndexNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabStageActiveChallengeIndexNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabStageActiveChallengeIndexNotify_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabStageActiveChallengeIndexNotify_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabStageActiveChallengeIndexNotify_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabStageActiveChallengeIndexNotify_proto = out.File
+ file_ChannelerSlabStageActiveChallengeIndexNotify_proto_rawDesc = nil
+ file_ChannelerSlabStageActiveChallengeIndexNotify_proto_goTypes = nil
+ file_ChannelerSlabStageActiveChallengeIndexNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabStageOneofDungeonNotify.pb.go b/protocol/proto/ChannelerSlabStageOneofDungeonNotify.pb.go
new file mode 100644
index 00000000..2ca195ef
--- /dev/null
+++ b/protocol/proto/ChannelerSlabStageOneofDungeonNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabStageOneofDungeonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8203
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabStageOneofDungeonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,2,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsDone bool `protobuf:"varint,8,opt,name=is_done,json=isDone,proto3" json:"is_done,omitempty"`
+}
+
+func (x *ChannelerSlabStageOneofDungeonNotify) Reset() {
+ *x = ChannelerSlabStageOneofDungeonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabStageOneofDungeonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabStageOneofDungeonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabStageOneofDungeonNotify) ProtoMessage() {}
+
+func (x *ChannelerSlabStageOneofDungeonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabStageOneofDungeonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabStageOneofDungeonNotify.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabStageOneofDungeonNotify) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabStageOneofDungeonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabStageOneofDungeonNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabStageOneofDungeonNotify) GetIsDone() bool {
+ if x != nil {
+ return x.IsDone
+ }
+ return false
+}
+
+var File_ChannelerSlabStageOneofDungeonNotify_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabStageOneofDungeonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x24, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72,
+ 0x53, 0x6c, 0x61, 0x62, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x6e,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x6f, 0x6e, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabStageOneofDungeonNotify_proto_rawDescOnce sync.Once
+ file_ChannelerSlabStageOneofDungeonNotify_proto_rawDescData = file_ChannelerSlabStageOneofDungeonNotify_proto_rawDesc
+)
+
+func file_ChannelerSlabStageOneofDungeonNotify_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabStageOneofDungeonNotify_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabStageOneofDungeonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabStageOneofDungeonNotify_proto_rawDescData)
+ })
+ return file_ChannelerSlabStageOneofDungeonNotify_proto_rawDescData
+}
+
+var file_ChannelerSlabStageOneofDungeonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabStageOneofDungeonNotify_proto_goTypes = []interface{}{
+ (*ChannelerSlabStageOneofDungeonNotify)(nil), // 0: proto.ChannelerSlabStageOneofDungeonNotify
+}
+var file_ChannelerSlabStageOneofDungeonNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabStageOneofDungeonNotify_proto_init() }
+func file_ChannelerSlabStageOneofDungeonNotify_proto_init() {
+ if File_ChannelerSlabStageOneofDungeonNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabStageOneofDungeonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabStageOneofDungeonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabStageOneofDungeonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabStageOneofDungeonNotify_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabStageOneofDungeonNotify_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabStageOneofDungeonNotify_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabStageOneofDungeonNotify_proto = out.File
+ file_ChannelerSlabStageOneofDungeonNotify_proto_rawDesc = nil
+ file_ChannelerSlabStageOneofDungeonNotify_proto_goTypes = nil
+ file_ChannelerSlabStageOneofDungeonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabTakeoffBuffReq.pb.go b/protocol/proto/ChannelerSlabTakeoffBuffReq.pb.go
new file mode 100644
index 00000000..e6f9d70e
--- /dev/null
+++ b/protocol/proto/ChannelerSlabTakeoffBuffReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabTakeoffBuffReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8516
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabTakeoffBuffReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsMp bool `protobuf:"varint,10,opt,name=is_mp,json=isMp,proto3" json:"is_mp,omitempty"`
+ SlotId uint32 `protobuf:"varint,12,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+ BuffId uint32 `protobuf:"varint,9,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+}
+
+func (x *ChannelerSlabTakeoffBuffReq) Reset() {
+ *x = ChannelerSlabTakeoffBuffReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabTakeoffBuffReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabTakeoffBuffReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabTakeoffBuffReq) ProtoMessage() {}
+
+func (x *ChannelerSlabTakeoffBuffReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabTakeoffBuffReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabTakeoffBuffReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabTakeoffBuffReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabTakeoffBuffReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabTakeoffBuffReq) GetIsMp() bool {
+ if x != nil {
+ return x.IsMp
+ }
+ return false
+}
+
+func (x *ChannelerSlabTakeoffBuffReq) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabTakeoffBuffReq) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+var File_ChannelerSlabTakeoffBuffReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabTakeoffBuffReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x54,
+ 0x61, 0x6b, 0x65, 0x6f, 0x66, 0x66, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x1b, 0x43, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x6b, 0x65, 0x6f,
+ 0x66, 0x66, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f,
+ 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4d, 0x70, 0x12, 0x17,
+ 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x66, 0x5f,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabTakeoffBuffReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabTakeoffBuffReq_proto_rawDescData = file_ChannelerSlabTakeoffBuffReq_proto_rawDesc
+)
+
+func file_ChannelerSlabTakeoffBuffReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabTakeoffBuffReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabTakeoffBuffReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabTakeoffBuffReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabTakeoffBuffReq_proto_rawDescData
+}
+
+var file_ChannelerSlabTakeoffBuffReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabTakeoffBuffReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabTakeoffBuffReq)(nil), // 0: proto.ChannelerSlabTakeoffBuffReq
+}
+var file_ChannelerSlabTakeoffBuffReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabTakeoffBuffReq_proto_init() }
+func file_ChannelerSlabTakeoffBuffReq_proto_init() {
+ if File_ChannelerSlabTakeoffBuffReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabTakeoffBuffReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabTakeoffBuffReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabTakeoffBuffReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabTakeoffBuffReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabTakeoffBuffReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabTakeoffBuffReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabTakeoffBuffReq_proto = out.File
+ file_ChannelerSlabTakeoffBuffReq_proto_rawDesc = nil
+ file_ChannelerSlabTakeoffBuffReq_proto_goTypes = nil
+ file_ChannelerSlabTakeoffBuffReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabTakeoffBuffRsp.pb.go b/protocol/proto/ChannelerSlabTakeoffBuffRsp.pb.go
new file mode 100644
index 00000000..dbbbd1cd
--- /dev/null
+++ b/protocol/proto/ChannelerSlabTakeoffBuffRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabTakeoffBuffRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8237
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabTakeoffBuffRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsMp bool `protobuf:"varint,13,opt,name=is_mp,json=isMp,proto3" json:"is_mp,omitempty"`
+ BuffId uint32 `protobuf:"varint,14,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+ SlotId uint32 `protobuf:"varint,8,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+}
+
+func (x *ChannelerSlabTakeoffBuffRsp) Reset() {
+ *x = ChannelerSlabTakeoffBuffRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabTakeoffBuffRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabTakeoffBuffRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabTakeoffBuffRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabTakeoffBuffRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabTakeoffBuffRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabTakeoffBuffRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabTakeoffBuffRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabTakeoffBuffRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabTakeoffBuffRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChannelerSlabTakeoffBuffRsp) GetIsMp() bool {
+ if x != nil {
+ return x.IsMp
+ }
+ return false
+}
+
+func (x *ChannelerSlabTakeoffBuffRsp) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabTakeoffBuffRsp) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+var File_ChannelerSlabTakeoffBuffRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabTakeoffBuffRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x54,
+ 0x61, 0x6b, 0x65, 0x6f, 0x66, 0x66, 0x42, 0x75, 0x66, 0x66, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x1b, 0x43, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x6b, 0x65, 0x6f,
+ 0x66, 0x66, 0x42, 0x75, 0x66, 0x66, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6d, 0x70, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4d, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x66,
+ 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x49,
+ 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabTakeoffBuffRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabTakeoffBuffRsp_proto_rawDescData = file_ChannelerSlabTakeoffBuffRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabTakeoffBuffRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabTakeoffBuffRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabTakeoffBuffRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabTakeoffBuffRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabTakeoffBuffRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabTakeoffBuffRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabTakeoffBuffRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabTakeoffBuffRsp)(nil), // 0: proto.ChannelerSlabTakeoffBuffRsp
+}
+var file_ChannelerSlabTakeoffBuffRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabTakeoffBuffRsp_proto_init() }
+func file_ChannelerSlabTakeoffBuffRsp_proto_init() {
+ if File_ChannelerSlabTakeoffBuffRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabTakeoffBuffRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabTakeoffBuffRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabTakeoffBuffRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabTakeoffBuffRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabTakeoffBuffRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabTakeoffBuffRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabTakeoffBuffRsp_proto = out.File
+ file_ChannelerSlabTakeoffBuffRsp_proto_rawDesc = nil
+ file_ChannelerSlabTakeoffBuffRsp_proto_goTypes = nil
+ file_ChannelerSlabTakeoffBuffRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabWearBuffReq.pb.go b/protocol/proto/ChannelerSlabWearBuffReq.pb.go
new file mode 100644
index 00000000..16608cb6
--- /dev/null
+++ b/protocol/proto/ChannelerSlabWearBuffReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabWearBuffReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChannelerSlabWearBuffReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuffId uint32 `protobuf:"varint,3,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+ IsMp bool `protobuf:"varint,5,opt,name=is_mp,json=isMp,proto3" json:"is_mp,omitempty"`
+ SlotId uint32 `protobuf:"varint,13,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+}
+
+func (x *ChannelerSlabWearBuffReq) Reset() {
+ *x = ChannelerSlabWearBuffReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabWearBuffReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabWearBuffReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabWearBuffReq) ProtoMessage() {}
+
+func (x *ChannelerSlabWearBuffReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabWearBuffReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabWearBuffReq.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabWearBuffReq) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabWearBuffReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabWearBuffReq) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabWearBuffReq) GetIsMp() bool {
+ if x != nil {
+ return x.IsMp
+ }
+ return false
+}
+
+func (x *ChannelerSlabWearBuffReq) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+var File_ChannelerSlabWearBuffReq_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabWearBuffReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x57,
+ 0x65, 0x61, 0x72, 0x42, 0x75, 0x66, 0x66, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x6e,
+ 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x57, 0x65, 0x61, 0x72, 0x42, 0x75, 0x66, 0x66,
+ 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05,
+ 0x69, 0x73, 0x5f, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4d,
+ 0x70, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabWearBuffReq_proto_rawDescOnce sync.Once
+ file_ChannelerSlabWearBuffReq_proto_rawDescData = file_ChannelerSlabWearBuffReq_proto_rawDesc
+)
+
+func file_ChannelerSlabWearBuffReq_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabWearBuffReq_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabWearBuffReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabWearBuffReq_proto_rawDescData)
+ })
+ return file_ChannelerSlabWearBuffReq_proto_rawDescData
+}
+
+var file_ChannelerSlabWearBuffReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabWearBuffReq_proto_goTypes = []interface{}{
+ (*ChannelerSlabWearBuffReq)(nil), // 0: proto.ChannelerSlabWearBuffReq
+}
+var file_ChannelerSlabWearBuffReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabWearBuffReq_proto_init() }
+func file_ChannelerSlabWearBuffReq_proto_init() {
+ if File_ChannelerSlabWearBuffReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabWearBuffReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabWearBuffReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabWearBuffReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabWearBuffReq_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabWearBuffReq_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabWearBuffReq_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabWearBuffReq_proto = out.File
+ file_ChannelerSlabWearBuffReq_proto_rawDesc = nil
+ file_ChannelerSlabWearBuffReq_proto_goTypes = nil
+ file_ChannelerSlabWearBuffReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChannelerSlabWearBuffRsp.pb.go b/protocol/proto/ChannelerSlabWearBuffRsp.pb.go
new file mode 100644
index 00000000..b27ce3fc
--- /dev/null
+++ b/protocol/proto/ChannelerSlabWearBuffRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChannelerSlabWearBuffRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8600
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChannelerSlabWearBuffRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuffId uint32 `protobuf:"varint,15,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsMp bool `protobuf:"varint,9,opt,name=is_mp,json=isMp,proto3" json:"is_mp,omitempty"`
+ SlotId uint32 `protobuf:"varint,8,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+}
+
+func (x *ChannelerSlabWearBuffRsp) Reset() {
+ *x = ChannelerSlabWearBuffRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChannelerSlabWearBuffRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChannelerSlabWearBuffRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChannelerSlabWearBuffRsp) ProtoMessage() {}
+
+func (x *ChannelerSlabWearBuffRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChannelerSlabWearBuffRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChannelerSlabWearBuffRsp.ProtoReflect.Descriptor instead.
+func (*ChannelerSlabWearBuffRsp) Descriptor() ([]byte, []int) {
+ return file_ChannelerSlabWearBuffRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChannelerSlabWearBuffRsp) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+func (x *ChannelerSlabWearBuffRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ChannelerSlabWearBuffRsp) GetIsMp() bool {
+ if x != nil {
+ return x.IsMp
+ }
+ return false
+}
+
+func (x *ChannelerSlabWearBuffRsp) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+var File_ChannelerSlabWearBuffRsp_proto protoreflect.FileDescriptor
+
+var file_ChannelerSlabWearBuffRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x57,
+ 0x65, 0x61, 0x72, 0x42, 0x75, 0x66, 0x66, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x6e,
+ 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x57, 0x65, 0x61, 0x72, 0x42, 0x75, 0x66, 0x66,
+ 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x69, 0x73, 0x5f, 0x6d, 0x70, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4d, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x73,
+ 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c,
+ 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChannelerSlabWearBuffRsp_proto_rawDescOnce sync.Once
+ file_ChannelerSlabWearBuffRsp_proto_rawDescData = file_ChannelerSlabWearBuffRsp_proto_rawDesc
+)
+
+func file_ChannelerSlabWearBuffRsp_proto_rawDescGZIP() []byte {
+ file_ChannelerSlabWearBuffRsp_proto_rawDescOnce.Do(func() {
+ file_ChannelerSlabWearBuffRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChannelerSlabWearBuffRsp_proto_rawDescData)
+ })
+ return file_ChannelerSlabWearBuffRsp_proto_rawDescData
+}
+
+var file_ChannelerSlabWearBuffRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChannelerSlabWearBuffRsp_proto_goTypes = []interface{}{
+ (*ChannelerSlabWearBuffRsp)(nil), // 0: proto.ChannelerSlabWearBuffRsp
+}
+var file_ChannelerSlabWearBuffRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChannelerSlabWearBuffRsp_proto_init() }
+func file_ChannelerSlabWearBuffRsp_proto_init() {
+ if File_ChannelerSlabWearBuffRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChannelerSlabWearBuffRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChannelerSlabWearBuffRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChannelerSlabWearBuffRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChannelerSlabWearBuffRsp_proto_goTypes,
+ DependencyIndexes: file_ChannelerSlabWearBuffRsp_proto_depIdxs,
+ MessageInfos: file_ChannelerSlabWearBuffRsp_proto_msgTypes,
+ }.Build()
+ File_ChannelerSlabWearBuffRsp_proto = out.File
+ file_ChannelerSlabWearBuffRsp_proto_rawDesc = nil
+ file_ChannelerSlabWearBuffRsp_proto_goTypes = nil
+ file_ChannelerSlabWearBuffRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChapterState.pb.go b/protocol/proto/ChapterState.pb.go
new file mode 100644
index 00000000..a36bfbd2
--- /dev/null
+++ b/protocol/proto/ChapterState.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChapterState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChapterState int32
+
+const (
+ ChapterState_CHAPTER_STATE_INVALID ChapterState = 0
+ ChapterState_CHAPTER_STATE_UNABLE_TO_BEGIN ChapterState = 1
+ ChapterState_CHAPTER_STATE_BEGIN ChapterState = 2
+ ChapterState_CHAPTER_STATE_END ChapterState = 3
+)
+
+// Enum value maps for ChapterState.
+var (
+ ChapterState_name = map[int32]string{
+ 0: "CHAPTER_STATE_INVALID",
+ 1: "CHAPTER_STATE_UNABLE_TO_BEGIN",
+ 2: "CHAPTER_STATE_BEGIN",
+ 3: "CHAPTER_STATE_END",
+ }
+ ChapterState_value = map[string]int32{
+ "CHAPTER_STATE_INVALID": 0,
+ "CHAPTER_STATE_UNABLE_TO_BEGIN": 1,
+ "CHAPTER_STATE_BEGIN": 2,
+ "CHAPTER_STATE_END": 3,
+ }
+)
+
+func (x ChapterState) Enum() *ChapterState {
+ p := new(ChapterState)
+ *p = x
+ return p
+}
+
+func (x ChapterState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ChapterState) Descriptor() protoreflect.EnumDescriptor {
+ return file_ChapterState_proto_enumTypes[0].Descriptor()
+}
+
+func (ChapterState) Type() protoreflect.EnumType {
+ return &file_ChapterState_proto_enumTypes[0]
+}
+
+func (x ChapterState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ChapterState.Descriptor instead.
+func (ChapterState) EnumDescriptor() ([]byte, []int) {
+ return file_ChapterState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChapterState_proto protoreflect.FileDescriptor
+
+var file_ChapterState_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x7c, 0x0a, 0x0c, 0x43,
+ 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x43,
+ 0x48, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56,
+ 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x50, 0x54, 0x45,
+ 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54,
+ 0x4f, 0x5f, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x48, 0x41,
+ 0x50, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x45, 0x47, 0x49, 0x4e,
+ 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x48, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x54,
+ 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChapterState_proto_rawDescOnce sync.Once
+ file_ChapterState_proto_rawDescData = file_ChapterState_proto_rawDesc
+)
+
+func file_ChapterState_proto_rawDescGZIP() []byte {
+ file_ChapterState_proto_rawDescOnce.Do(func() {
+ file_ChapterState_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChapterState_proto_rawDescData)
+ })
+ return file_ChapterState_proto_rawDescData
+}
+
+var file_ChapterState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ChapterState_proto_goTypes = []interface{}{
+ (ChapterState)(0), // 0: proto.ChapterState
+}
+var file_ChapterState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChapterState_proto_init() }
+func file_ChapterState_proto_init() {
+ if File_ChapterState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChapterState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChapterState_proto_goTypes,
+ DependencyIndexes: file_ChapterState_proto_depIdxs,
+ EnumInfos: file_ChapterState_proto_enumTypes,
+ }.Build()
+ File_ChapterState_proto = out.File
+ file_ChapterState_proto_rawDesc = nil
+ file_ChapterState_proto_goTypes = nil
+ file_ChapterState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChapterStateNotify.pb.go b/protocol/proto/ChapterStateNotify.pb.go
new file mode 100644
index 00000000..4f9c92e2
--- /dev/null
+++ b/protocol/proto/ChapterStateNotify.pb.go
@@ -0,0 +1,355 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChapterStateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 405
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChapterStateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterState ChapterState `protobuf:"varint,9,opt,name=chapter_state,json=chapterState,proto3,enum=proto.ChapterState" json:"chapter_state,omitempty"`
+ NeedPlayerLevel *ChapterStateNotify_NeedPlayerLevel `protobuf:"bytes,10,opt,name=need_player_level,json=needPlayerLevel,proto3" json:"need_player_level,omitempty"`
+ NeedBeginTime *ChapterStateNotify_NeedBeginTime `protobuf:"bytes,1,opt,name=need_begin_time,json=needBeginTime,proto3" json:"need_begin_time,omitempty"`
+ ChapterId uint32 `protobuf:"varint,2,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *ChapterStateNotify) Reset() {
+ *x = ChapterStateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChapterStateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChapterStateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChapterStateNotify) ProtoMessage() {}
+
+func (x *ChapterStateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChapterStateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChapterStateNotify.ProtoReflect.Descriptor instead.
+func (*ChapterStateNotify) Descriptor() ([]byte, []int) {
+ return file_ChapterStateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChapterStateNotify) GetChapterState() ChapterState {
+ if x != nil {
+ return x.ChapterState
+ }
+ return ChapterState_CHAPTER_STATE_INVALID
+}
+
+func (x *ChapterStateNotify) GetNeedPlayerLevel() *ChapterStateNotify_NeedPlayerLevel {
+ if x != nil {
+ return x.NeedPlayerLevel
+ }
+ return nil
+}
+
+func (x *ChapterStateNotify) GetNeedBeginTime() *ChapterStateNotify_NeedBeginTime {
+ if x != nil {
+ return x.NeedBeginTime
+ }
+ return nil
+}
+
+func (x *ChapterStateNotify) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+type ChapterStateNotify_NeedPlayerLevel struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsLimit bool `protobuf:"varint,2,opt,name=is_limit,json=isLimit,proto3" json:"is_limit,omitempty"`
+ ConfigNeedPlayerLevel uint32 `protobuf:"varint,11,opt,name=config_need_player_level,json=configNeedPlayerLevel,proto3" json:"config_need_player_level,omitempty"`
+}
+
+func (x *ChapterStateNotify_NeedPlayerLevel) Reset() {
+ *x = ChapterStateNotify_NeedPlayerLevel{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChapterStateNotify_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChapterStateNotify_NeedPlayerLevel) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChapterStateNotify_NeedPlayerLevel) ProtoMessage() {}
+
+func (x *ChapterStateNotify_NeedPlayerLevel) ProtoReflect() protoreflect.Message {
+ mi := &file_ChapterStateNotify_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChapterStateNotify_NeedPlayerLevel.ProtoReflect.Descriptor instead.
+func (*ChapterStateNotify_NeedPlayerLevel) Descriptor() ([]byte, []int) {
+ return file_ChapterStateNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *ChapterStateNotify_NeedPlayerLevel) GetIsLimit() bool {
+ if x != nil {
+ return x.IsLimit
+ }
+ return false
+}
+
+func (x *ChapterStateNotify_NeedPlayerLevel) GetConfigNeedPlayerLevel() uint32 {
+ if x != nil {
+ return x.ConfigNeedPlayerLevel
+ }
+ return 0
+}
+
+type ChapterStateNotify_NeedBeginTime struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConfigNeedBeginTime uint32 `protobuf:"varint,3,opt,name=config_need_begin_time,json=configNeedBeginTime,proto3" json:"config_need_begin_time,omitempty"`
+ IsLimit bool `protobuf:"varint,7,opt,name=is_limit,json=isLimit,proto3" json:"is_limit,omitempty"`
+}
+
+func (x *ChapterStateNotify_NeedBeginTime) Reset() {
+ *x = ChapterStateNotify_NeedBeginTime{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChapterStateNotify_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChapterStateNotify_NeedBeginTime) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChapterStateNotify_NeedBeginTime) ProtoMessage() {}
+
+func (x *ChapterStateNotify_NeedBeginTime) ProtoReflect() protoreflect.Message {
+ mi := &file_ChapterStateNotify_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChapterStateNotify_NeedBeginTime.ProtoReflect.Descriptor instead.
+func (*ChapterStateNotify_NeedBeginTime) Descriptor() ([]byte, []int) {
+ return file_ChapterStateNotify_proto_rawDescGZIP(), []int{0, 1}
+}
+
+func (x *ChapterStateNotify_NeedBeginTime) GetConfigNeedBeginTime() uint32 {
+ if x != nil {
+ return x.ConfigNeedBeginTime
+ }
+ return 0
+}
+
+func (x *ChapterStateNotify_NeedBeginTime) GetIsLimit() bool {
+ if x != nil {
+ return x.IsLimit
+ }
+ return false
+}
+
+var File_ChapterStateNotify_proto protoreflect.FileDescriptor
+
+var file_ChapterStateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x03, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x38, 0x0a, 0x0d,
+ 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x11, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x4e, 0x65, 0x65,
+ 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x0f, 0x6e, 0x65,
+ 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x4f, 0x0a,
+ 0x0f, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x4e, 0x65, 0x65, 0x64, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52,
+ 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x65, 0x0a,
+ 0x0f, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x5f, 0x0a, 0x0d, 0x4e, 0x65, 0x65, 0x64, 0x42, 0x65, 0x67, 0x69,
+ 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
+ 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x65, 0x65,
+ 0x64, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,
+ 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChapterStateNotify_proto_rawDescOnce sync.Once
+ file_ChapterStateNotify_proto_rawDescData = file_ChapterStateNotify_proto_rawDesc
+)
+
+func file_ChapterStateNotify_proto_rawDescGZIP() []byte {
+ file_ChapterStateNotify_proto_rawDescOnce.Do(func() {
+ file_ChapterStateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChapterStateNotify_proto_rawDescData)
+ })
+ return file_ChapterStateNotify_proto_rawDescData
+}
+
+var file_ChapterStateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_ChapterStateNotify_proto_goTypes = []interface{}{
+ (*ChapterStateNotify)(nil), // 0: proto.ChapterStateNotify
+ (*ChapterStateNotify_NeedPlayerLevel)(nil), // 1: proto.ChapterStateNotify.NeedPlayerLevel
+ (*ChapterStateNotify_NeedBeginTime)(nil), // 2: proto.ChapterStateNotify.NeedBeginTime
+ (ChapterState)(0), // 3: proto.ChapterState
+}
+var file_ChapterStateNotify_proto_depIdxs = []int32{
+ 3, // 0: proto.ChapterStateNotify.chapter_state:type_name -> proto.ChapterState
+ 1, // 1: proto.ChapterStateNotify.need_player_level:type_name -> proto.ChapterStateNotify.NeedPlayerLevel
+ 2, // 2: proto.ChapterStateNotify.need_begin_time:type_name -> proto.ChapterStateNotify.NeedBeginTime
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ChapterStateNotify_proto_init() }
+func file_ChapterStateNotify_proto_init() {
+ if File_ChapterStateNotify_proto != nil {
+ return
+ }
+ file_ChapterState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChapterStateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChapterStateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ChapterStateNotify_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChapterStateNotify_NeedPlayerLevel); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ChapterStateNotify_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChapterStateNotify_NeedBeginTime); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChapterStateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChapterStateNotify_proto_goTypes,
+ DependencyIndexes: file_ChapterStateNotify_proto_depIdxs,
+ MessageInfos: file_ChapterStateNotify_proto_msgTypes,
+ }.Build()
+ File_ChapterStateNotify_proto = out.File
+ file_ChapterStateNotify_proto_rawDesc = nil
+ file_ChapterStateNotify_proto_goTypes = nil
+ file_ChapterStateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CharAmusementAvatarInfo.pb.go b/protocol/proto/CharAmusementAvatarInfo.pb.go
new file mode 100644
index 00000000..bba3b746
--- /dev/null
+++ b/protocol/proto/CharAmusementAvatarInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CharAmusementAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CharAmusementAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,11,opt,name=uid,proto3" json:"uid,omitempty"`
+ PunishTime uint32 `protobuf:"varint,7,opt,name=punish_time,json=punishTime,proto3" json:"punish_time,omitempty"`
+ AvatarIdList []uint32 `protobuf:"varint,10,rep,packed,name=avatar_id_list,json=avatarIdList,proto3" json:"avatar_id_list,omitempty"`
+}
+
+func (x *CharAmusementAvatarInfo) Reset() {
+ *x = CharAmusementAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CharAmusementAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CharAmusementAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CharAmusementAvatarInfo) ProtoMessage() {}
+
+func (x *CharAmusementAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CharAmusementAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CharAmusementAvatarInfo.ProtoReflect.Descriptor instead.
+func (*CharAmusementAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_CharAmusementAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CharAmusementAvatarInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *CharAmusementAvatarInfo) GetPunishTime() uint32 {
+ if x != nil {
+ return x.PunishTime
+ }
+ return 0
+}
+
+func (x *CharAmusementAvatarInfo) GetAvatarIdList() []uint32 {
+ if x != nil {
+ return x.AvatarIdList
+ }
+ return nil
+}
+
+var File_CharAmusementAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_CharAmusementAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d,
+ 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CharAmusementAvatarInfo_proto_rawDescOnce sync.Once
+ file_CharAmusementAvatarInfo_proto_rawDescData = file_CharAmusementAvatarInfo_proto_rawDesc
+)
+
+func file_CharAmusementAvatarInfo_proto_rawDescGZIP() []byte {
+ file_CharAmusementAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_CharAmusementAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CharAmusementAvatarInfo_proto_rawDescData)
+ })
+ return file_CharAmusementAvatarInfo_proto_rawDescData
+}
+
+var file_CharAmusementAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CharAmusementAvatarInfo_proto_goTypes = []interface{}{
+ (*CharAmusementAvatarInfo)(nil), // 0: proto.CharAmusementAvatarInfo
+}
+var file_CharAmusementAvatarInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CharAmusementAvatarInfo_proto_init() }
+func file_CharAmusementAvatarInfo_proto_init() {
+ if File_CharAmusementAvatarInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CharAmusementAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CharAmusementAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CharAmusementAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CharAmusementAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_CharAmusementAvatarInfo_proto_depIdxs,
+ MessageInfos: file_CharAmusementAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_CharAmusementAvatarInfo_proto = out.File
+ file_CharAmusementAvatarInfo_proto_rawDesc = nil
+ file_CharAmusementAvatarInfo_proto_goTypes = nil
+ file_CharAmusementAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CharAmusementDetailInfo.pb.go b/protocol/proto/CharAmusementDetailInfo.pb.go
new file mode 100644
index 00000000..185f7b06
--- /dev/null
+++ b/protocol/proto/CharAmusementDetailInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CharAmusementDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CharAmusementDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageDataList []*CharAmusementStageData `protobuf:"bytes,1,rep,name=stage_data_list,json=stageDataList,proto3" json:"stage_data_list,omitempty"`
+}
+
+func (x *CharAmusementDetailInfo) Reset() {
+ *x = CharAmusementDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CharAmusementDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CharAmusementDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CharAmusementDetailInfo) ProtoMessage() {}
+
+func (x *CharAmusementDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CharAmusementDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CharAmusementDetailInfo.ProtoReflect.Descriptor instead.
+func (*CharAmusementDetailInfo) Descriptor() ([]byte, []int) {
+ return file_CharAmusementDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CharAmusementDetailInfo) GetStageDataList() []*CharAmusementStageData {
+ if x != nil {
+ return x.StageDataList
+ }
+ return nil
+}
+
+var File_CharAmusementDetailInfo_proto protoreflect.FileDescriptor
+
+var file_CharAmusementDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x45, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CharAmusementDetailInfo_proto_rawDescOnce sync.Once
+ file_CharAmusementDetailInfo_proto_rawDescData = file_CharAmusementDetailInfo_proto_rawDesc
+)
+
+func file_CharAmusementDetailInfo_proto_rawDescGZIP() []byte {
+ file_CharAmusementDetailInfo_proto_rawDescOnce.Do(func() {
+ file_CharAmusementDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CharAmusementDetailInfo_proto_rawDescData)
+ })
+ return file_CharAmusementDetailInfo_proto_rawDescData
+}
+
+var file_CharAmusementDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CharAmusementDetailInfo_proto_goTypes = []interface{}{
+ (*CharAmusementDetailInfo)(nil), // 0: proto.CharAmusementDetailInfo
+ (*CharAmusementStageData)(nil), // 1: proto.CharAmusementStageData
+}
+var file_CharAmusementDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CharAmusementDetailInfo.stage_data_list:type_name -> proto.CharAmusementStageData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CharAmusementDetailInfo_proto_init() }
+func file_CharAmusementDetailInfo_proto_init() {
+ if File_CharAmusementDetailInfo_proto != nil {
+ return
+ }
+ file_CharAmusementStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CharAmusementDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CharAmusementDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CharAmusementDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CharAmusementDetailInfo_proto_goTypes,
+ DependencyIndexes: file_CharAmusementDetailInfo_proto_depIdxs,
+ MessageInfos: file_CharAmusementDetailInfo_proto_msgTypes,
+ }.Build()
+ File_CharAmusementDetailInfo_proto = out.File
+ file_CharAmusementDetailInfo_proto_rawDesc = nil
+ file_CharAmusementDetailInfo_proto_goTypes = nil
+ file_CharAmusementDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CharAmusementInfo.pb.go b/protocol/proto/CharAmusementInfo.pb.go
new file mode 100644
index 00000000..252669af
--- /dev/null
+++ b/protocol/proto/CharAmusementInfo.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CharAmusementInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CharAmusementInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalCostTime uint32 `protobuf:"varint,11,opt,name=total_cost_time,json=totalCostTime,proto3" json:"total_cost_time,omitempty"`
+ StageId uint32 `protobuf:"varint,2,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,10,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ PreviewStageIndex uint32 `protobuf:"varint,4,opt,name=preview_stage_index,json=previewStageIndex,proto3" json:"preview_stage_index,omitempty"`
+ AvatarInfoList []*CharAmusementAvatarInfo `protobuf:"bytes,5,rep,name=avatar_info_list,json=avatarInfoList,proto3" json:"avatar_info_list,omitempty"`
+}
+
+func (x *CharAmusementInfo) Reset() {
+ *x = CharAmusementInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CharAmusementInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CharAmusementInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CharAmusementInfo) ProtoMessage() {}
+
+func (x *CharAmusementInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CharAmusementInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CharAmusementInfo.ProtoReflect.Descriptor instead.
+func (*CharAmusementInfo) Descriptor() ([]byte, []int) {
+ return file_CharAmusementInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CharAmusementInfo) GetTotalCostTime() uint32 {
+ if x != nil {
+ return x.TotalCostTime
+ }
+ return 0
+}
+
+func (x *CharAmusementInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *CharAmusementInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *CharAmusementInfo) GetPreviewStageIndex() uint32 {
+ if x != nil {
+ return x.PreviewStageIndex
+ }
+ return 0
+}
+
+func (x *CharAmusementInfo) GetAvatarInfoList() []*CharAmusementAvatarInfo {
+ if x != nil {
+ return x.AvatarInfoList
+ }
+ return nil
+}
+
+var File_CharAmusementInfo_proto protoreflect.FileDescriptor
+
+var file_CharAmusementInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1d, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xeb, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63,
+ 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x12, 0x48, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_CharAmusementInfo_proto_rawDescOnce sync.Once
+ file_CharAmusementInfo_proto_rawDescData = file_CharAmusementInfo_proto_rawDesc
+)
+
+func file_CharAmusementInfo_proto_rawDescGZIP() []byte {
+ file_CharAmusementInfo_proto_rawDescOnce.Do(func() {
+ file_CharAmusementInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CharAmusementInfo_proto_rawDescData)
+ })
+ return file_CharAmusementInfo_proto_rawDescData
+}
+
+var file_CharAmusementInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CharAmusementInfo_proto_goTypes = []interface{}{
+ (*CharAmusementInfo)(nil), // 0: proto.CharAmusementInfo
+ (*CharAmusementAvatarInfo)(nil), // 1: proto.CharAmusementAvatarInfo
+}
+var file_CharAmusementInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CharAmusementInfo.avatar_info_list:type_name -> proto.CharAmusementAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CharAmusementInfo_proto_init() }
+func file_CharAmusementInfo_proto_init() {
+ if File_CharAmusementInfo_proto != nil {
+ return
+ }
+ file_CharAmusementAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CharAmusementInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CharAmusementInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CharAmusementInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CharAmusementInfo_proto_goTypes,
+ DependencyIndexes: file_CharAmusementInfo_proto_depIdxs,
+ MessageInfos: file_CharAmusementInfo_proto_msgTypes,
+ }.Build()
+ File_CharAmusementInfo_proto = out.File
+ file_CharAmusementInfo_proto_rawDesc = nil
+ file_CharAmusementInfo_proto_goTypes = nil
+ file_CharAmusementInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CharAmusementSettleNotify.pb.go b/protocol/proto/CharAmusementSettleNotify.pb.go
new file mode 100644
index 00000000..3b7c07b3
--- /dev/null
+++ b/protocol/proto/CharAmusementSettleNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CharAmusementSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23133
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CharAmusementSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSucc bool `protobuf:"varint,3,opt,name=is_succ,json=isSucc,proto3" json:"is_succ,omitempty"`
+ FinishTime uint32 `protobuf:"varint,14,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
+ IsNewRecord bool `protobuf:"varint,2,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *CharAmusementSettleNotify) Reset() {
+ *x = CharAmusementSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CharAmusementSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CharAmusementSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CharAmusementSettleNotify) ProtoMessage() {}
+
+func (x *CharAmusementSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CharAmusementSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CharAmusementSettleNotify.ProtoReflect.Descriptor instead.
+func (*CharAmusementSettleNotify) Descriptor() ([]byte, []int) {
+ return file_CharAmusementSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CharAmusementSettleNotify) GetIsSucc() bool {
+ if x != nil {
+ return x.IsSucc
+ }
+ return false
+}
+
+func (x *CharAmusementSettleNotify) GetFinishTime() uint32 {
+ if x != nil {
+ return x.FinishTime
+ }
+ return 0
+}
+
+func (x *CharAmusementSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_CharAmusementSettleNotify_proto protoreflect.FileDescriptor
+
+var file_CharAmusementSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x72,
+ 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CharAmusementSettleNotify_proto_rawDescOnce sync.Once
+ file_CharAmusementSettleNotify_proto_rawDescData = file_CharAmusementSettleNotify_proto_rawDesc
+)
+
+func file_CharAmusementSettleNotify_proto_rawDescGZIP() []byte {
+ file_CharAmusementSettleNotify_proto_rawDescOnce.Do(func() {
+ file_CharAmusementSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CharAmusementSettleNotify_proto_rawDescData)
+ })
+ return file_CharAmusementSettleNotify_proto_rawDescData
+}
+
+var file_CharAmusementSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CharAmusementSettleNotify_proto_goTypes = []interface{}{
+ (*CharAmusementSettleNotify)(nil), // 0: proto.CharAmusementSettleNotify
+}
+var file_CharAmusementSettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CharAmusementSettleNotify_proto_init() }
+func file_CharAmusementSettleNotify_proto_init() {
+ if File_CharAmusementSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CharAmusementSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CharAmusementSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CharAmusementSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CharAmusementSettleNotify_proto_goTypes,
+ DependencyIndexes: file_CharAmusementSettleNotify_proto_depIdxs,
+ MessageInfos: file_CharAmusementSettleNotify_proto_msgTypes,
+ }.Build()
+ File_CharAmusementSettleNotify_proto = out.File
+ file_CharAmusementSettleNotify_proto_rawDesc = nil
+ file_CharAmusementSettleNotify_proto_goTypes = nil
+ file_CharAmusementSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CharAmusementStageData.pb.go b/protocol/proto/CharAmusementStageData.pb.go
new file mode 100644
index 00000000..cc4319ee
--- /dev/null
+++ b/protocol/proto/CharAmusementStageData.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CharAmusementStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CharAmusementStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishTime uint32 `protobuf:"varint,15,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
+ IsOpen bool `protobuf:"varint,12,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ StageId uint32 `protobuf:"varint,6,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *CharAmusementStageData) Reset() {
+ *x = CharAmusementStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CharAmusementStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CharAmusementStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CharAmusementStageData) ProtoMessage() {}
+
+func (x *CharAmusementStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_CharAmusementStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CharAmusementStageData.ProtoReflect.Descriptor instead.
+func (*CharAmusementStageData) Descriptor() ([]byte, []int) {
+ return file_CharAmusementStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CharAmusementStageData) GetFinishTime() uint32 {
+ if x != nil {
+ return x.FinishTime
+ }
+ return 0
+}
+
+func (x *CharAmusementStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *CharAmusementStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_CharAmusementStageData_proto protoreflect.FileDescriptor
+
+var file_CharAmusementStageData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75,
+ 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CharAmusementStageData_proto_rawDescOnce sync.Once
+ file_CharAmusementStageData_proto_rawDescData = file_CharAmusementStageData_proto_rawDesc
+)
+
+func file_CharAmusementStageData_proto_rawDescGZIP() []byte {
+ file_CharAmusementStageData_proto_rawDescOnce.Do(func() {
+ file_CharAmusementStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CharAmusementStageData_proto_rawDescData)
+ })
+ return file_CharAmusementStageData_proto_rawDescData
+}
+
+var file_CharAmusementStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CharAmusementStageData_proto_goTypes = []interface{}{
+ (*CharAmusementStageData)(nil), // 0: proto.CharAmusementStageData
+}
+var file_CharAmusementStageData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CharAmusementStageData_proto_init() }
+func file_CharAmusementStageData_proto_init() {
+ if File_CharAmusementStageData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CharAmusementStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CharAmusementStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CharAmusementStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CharAmusementStageData_proto_goTypes,
+ DependencyIndexes: file_CharAmusementStageData_proto_depIdxs,
+ MessageInfos: file_CharAmusementStageData_proto_msgTypes,
+ }.Build()
+ File_CharAmusementStageData_proto = out.File
+ file_CharAmusementStageData_proto_rawDesc = nil
+ file_CharAmusementStageData_proto_goTypes = nil
+ file_CharAmusementStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChatChannelDataNotify.pb.go b/protocol/proto/ChatChannelDataNotify.pb.go
new file mode 100644
index 00000000..c5c8b9a3
--- /dev/null
+++ b/protocol/proto/ChatChannelDataNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChatChannelDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4998
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChatChannelDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChannelList []uint32 `protobuf:"varint,3,rep,packed,name=channel_list,json=channelList,proto3" json:"channel_list,omitempty"`
+}
+
+func (x *ChatChannelDataNotify) Reset() {
+ *x = ChatChannelDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChatChannelDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChatChannelDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChatChannelDataNotify) ProtoMessage() {}
+
+func (x *ChatChannelDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChatChannelDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChatChannelDataNotify.ProtoReflect.Descriptor instead.
+func (*ChatChannelDataNotify) Descriptor() ([]byte, []int) {
+ return file_ChatChannelDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChatChannelDataNotify) GetChannelList() []uint32 {
+ if x != nil {
+ return x.ChannelList
+ }
+ return nil
+}
+
+var File_ChatChannelDataNotify_proto protoreflect.FileDescriptor
+
+var file_ChatChannelDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a,
+ 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChatChannelDataNotify_proto_rawDescOnce sync.Once
+ file_ChatChannelDataNotify_proto_rawDescData = file_ChatChannelDataNotify_proto_rawDesc
+)
+
+func file_ChatChannelDataNotify_proto_rawDescGZIP() []byte {
+ file_ChatChannelDataNotify_proto_rawDescOnce.Do(func() {
+ file_ChatChannelDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChatChannelDataNotify_proto_rawDescData)
+ })
+ return file_ChatChannelDataNotify_proto_rawDescData
+}
+
+var file_ChatChannelDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChatChannelDataNotify_proto_goTypes = []interface{}{
+ (*ChatChannelDataNotify)(nil), // 0: proto.ChatChannelDataNotify
+}
+var file_ChatChannelDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChatChannelDataNotify_proto_init() }
+func file_ChatChannelDataNotify_proto_init() {
+ if File_ChatChannelDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChatChannelDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChatChannelDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChatChannelDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChatChannelDataNotify_proto_goTypes,
+ DependencyIndexes: file_ChatChannelDataNotify_proto_depIdxs,
+ MessageInfos: file_ChatChannelDataNotify_proto_msgTypes,
+ }.Build()
+ File_ChatChannelDataNotify_proto = out.File
+ file_ChatChannelDataNotify_proto_rawDesc = nil
+ file_ChatChannelDataNotify_proto_goTypes = nil
+ file_ChatChannelDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChatChannelUpdateNotify.pb.go b/protocol/proto/ChatChannelUpdateNotify.pb.go
new file mode 100644
index 00000000..9ed63da0
--- /dev/null
+++ b/protocol/proto/ChatChannelUpdateNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChatChannelUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5025
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChatChannelUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChannelId uint32 `protobuf:"varint,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+ IsCreate bool `protobuf:"varint,15,opt,name=is_create,json=isCreate,proto3" json:"is_create,omitempty"`
+}
+
+func (x *ChatChannelUpdateNotify) Reset() {
+ *x = ChatChannelUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChatChannelUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChatChannelUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChatChannelUpdateNotify) ProtoMessage() {}
+
+func (x *ChatChannelUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChatChannelUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChatChannelUpdateNotify.ProtoReflect.Descriptor instead.
+func (*ChatChannelUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_ChatChannelUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChatChannelUpdateNotify) GetChannelId() uint32 {
+ if x != nil {
+ return x.ChannelId
+ }
+ return 0
+}
+
+func (x *ChatChannelUpdateNotify) GetIsCreate() bool {
+ if x != nil {
+ return x.IsCreate
+ }
+ return false
+}
+
+var File_ChatChannelUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_ChatChannelUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x74, 0x43, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ChatChannelUpdateNotify_proto_rawDescOnce sync.Once
+ file_ChatChannelUpdateNotify_proto_rawDescData = file_ChatChannelUpdateNotify_proto_rawDesc
+)
+
+func file_ChatChannelUpdateNotify_proto_rawDescGZIP() []byte {
+ file_ChatChannelUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_ChatChannelUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChatChannelUpdateNotify_proto_rawDescData)
+ })
+ return file_ChatChannelUpdateNotify_proto_rawDescData
+}
+
+var file_ChatChannelUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChatChannelUpdateNotify_proto_goTypes = []interface{}{
+ (*ChatChannelUpdateNotify)(nil), // 0: proto.ChatChannelUpdateNotify
+}
+var file_ChatChannelUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChatChannelUpdateNotify_proto_init() }
+func file_ChatChannelUpdateNotify_proto_init() {
+ if File_ChatChannelUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChatChannelUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChatChannelUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChatChannelUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChatChannelUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_ChatChannelUpdateNotify_proto_depIdxs,
+ MessageInfos: file_ChatChannelUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_ChatChannelUpdateNotify_proto = out.File
+ file_ChatChannelUpdateNotify_proto_rawDesc = nil
+ file_ChatChannelUpdateNotify_proto_goTypes = nil
+ file_ChatChannelUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChatEmojiCollectionData.pb.go b/protocol/proto/ChatEmojiCollectionData.pb.go
new file mode 100644
index 00000000..dec6d1c1
--- /dev/null
+++ b/protocol/proto/ChatEmojiCollectionData.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChatEmojiCollectionData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChatEmojiCollectionData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EmojiIdList []uint32 `protobuf:"varint,1,rep,packed,name=emoji_id_list,json=emojiIdList,proto3" json:"emoji_id_list,omitempty"`
+}
+
+func (x *ChatEmojiCollectionData) Reset() {
+ *x = ChatEmojiCollectionData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChatEmojiCollectionData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChatEmojiCollectionData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChatEmojiCollectionData) ProtoMessage() {}
+
+func (x *ChatEmojiCollectionData) ProtoReflect() protoreflect.Message {
+ mi := &file_ChatEmojiCollectionData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChatEmojiCollectionData.ProtoReflect.Descriptor instead.
+func (*ChatEmojiCollectionData) Descriptor() ([]byte, []int) {
+ return file_ChatEmojiCollectionData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChatEmojiCollectionData) GetEmojiIdList() []uint32 {
+ if x != nil {
+ return x.EmojiIdList
+ }
+ return nil
+}
+
+var File_ChatEmojiCollectionData_proto protoreflect.FileDescriptor
+
+var file_ChatEmojiCollectionData_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d,
+ 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74,
+ 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChatEmojiCollectionData_proto_rawDescOnce sync.Once
+ file_ChatEmojiCollectionData_proto_rawDescData = file_ChatEmojiCollectionData_proto_rawDesc
+)
+
+func file_ChatEmojiCollectionData_proto_rawDescGZIP() []byte {
+ file_ChatEmojiCollectionData_proto_rawDescOnce.Do(func() {
+ file_ChatEmojiCollectionData_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChatEmojiCollectionData_proto_rawDescData)
+ })
+ return file_ChatEmojiCollectionData_proto_rawDescData
+}
+
+var file_ChatEmojiCollectionData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChatEmojiCollectionData_proto_goTypes = []interface{}{
+ (*ChatEmojiCollectionData)(nil), // 0: proto.ChatEmojiCollectionData
+}
+var file_ChatEmojiCollectionData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChatEmojiCollectionData_proto_init() }
+func file_ChatEmojiCollectionData_proto_init() {
+ if File_ChatEmojiCollectionData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChatEmojiCollectionData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChatEmojiCollectionData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChatEmojiCollectionData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChatEmojiCollectionData_proto_goTypes,
+ DependencyIndexes: file_ChatEmojiCollectionData_proto_depIdxs,
+ MessageInfos: file_ChatEmojiCollectionData_proto_msgTypes,
+ }.Build()
+ File_ChatEmojiCollectionData_proto = out.File
+ file_ChatEmojiCollectionData_proto_rawDesc = nil
+ file_ChatEmojiCollectionData_proto_goTypes = nil
+ file_ChatEmojiCollectionData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChatHistoryNotify.pb.go b/protocol/proto/ChatHistoryNotify.pb.go
new file mode 100644
index 00000000..fb904097
--- /dev/null
+++ b/protocol/proto/ChatHistoryNotify.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChatHistoryNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3496
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChatHistoryNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatInfo []*ChatInfo `protobuf:"bytes,9,rep,name=chat_info,json=chatInfo,proto3" json:"chat_info,omitempty"`
+ ChannelId uint32 `protobuf:"varint,12,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+}
+
+func (x *ChatHistoryNotify) Reset() {
+ *x = ChatHistoryNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChatHistoryNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChatHistoryNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChatHistoryNotify) ProtoMessage() {}
+
+func (x *ChatHistoryNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChatHistoryNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChatHistoryNotify.ProtoReflect.Descriptor instead.
+func (*ChatHistoryNotify) Descriptor() ([]byte, []int) {
+ return file_ChatHistoryNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChatHistoryNotify) GetChatInfo() []*ChatInfo {
+ if x != nil {
+ return x.ChatInfo
+ }
+ return nil
+}
+
+func (x *ChatHistoryNotify) GetChannelId() uint32 {
+ if x != nil {
+ return x.ChannelId
+ }
+ return 0
+}
+
+var File_ChatHistoryNotify_proto protoreflect.FileDescriptor
+
+var file_ChatHistoryNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x61, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x60, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChatHistoryNotify_proto_rawDescOnce sync.Once
+ file_ChatHistoryNotify_proto_rawDescData = file_ChatHistoryNotify_proto_rawDesc
+)
+
+func file_ChatHistoryNotify_proto_rawDescGZIP() []byte {
+ file_ChatHistoryNotify_proto_rawDescOnce.Do(func() {
+ file_ChatHistoryNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChatHistoryNotify_proto_rawDescData)
+ })
+ return file_ChatHistoryNotify_proto_rawDescData
+}
+
+var file_ChatHistoryNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChatHistoryNotify_proto_goTypes = []interface{}{
+ (*ChatHistoryNotify)(nil), // 0: proto.ChatHistoryNotify
+ (*ChatInfo)(nil), // 1: proto.ChatInfo
+}
+var file_ChatHistoryNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ChatHistoryNotify.chat_info:type_name -> proto.ChatInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChatHistoryNotify_proto_init() }
+func file_ChatHistoryNotify_proto_init() {
+ if File_ChatHistoryNotify_proto != nil {
+ return
+ }
+ file_ChatInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChatHistoryNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChatHistoryNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChatHistoryNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChatHistoryNotify_proto_goTypes,
+ DependencyIndexes: file_ChatHistoryNotify_proto_depIdxs,
+ MessageInfos: file_ChatHistoryNotify_proto_msgTypes,
+ }.Build()
+ File_ChatHistoryNotify_proto = out.File
+ file_ChatHistoryNotify_proto_rawDesc = nil
+ file_ChatHistoryNotify_proto_goTypes = nil
+ file_ChatHistoryNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChatInfo.pb.go b/protocol/proto/ChatInfo.pb.go
new file mode 100644
index 00000000..298841fe
--- /dev/null
+++ b/protocol/proto/ChatInfo.pb.go
@@ -0,0 +1,387 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChatInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChatInfo_SystemHintType int32
+
+const (
+ ChatInfo_SYSTEM_HINT_TYPE_CHAT_NONE ChatInfo_SystemHintType = 0
+ ChatInfo_SYSTEM_HINT_TYPE_CHAT_ENTER_WORLD ChatInfo_SystemHintType = 1
+ ChatInfo_SYSTEM_HINT_TYPE_CHAT_LEAVE_WORLD ChatInfo_SystemHintType = 2
+)
+
+// Enum value maps for ChatInfo_SystemHintType.
+var (
+ ChatInfo_SystemHintType_name = map[int32]string{
+ 0: "SYSTEM_HINT_TYPE_CHAT_NONE",
+ 1: "SYSTEM_HINT_TYPE_CHAT_ENTER_WORLD",
+ 2: "SYSTEM_HINT_TYPE_CHAT_LEAVE_WORLD",
+ }
+ ChatInfo_SystemHintType_value = map[string]int32{
+ "SYSTEM_HINT_TYPE_CHAT_NONE": 0,
+ "SYSTEM_HINT_TYPE_CHAT_ENTER_WORLD": 1,
+ "SYSTEM_HINT_TYPE_CHAT_LEAVE_WORLD": 2,
+ }
+)
+
+func (x ChatInfo_SystemHintType) Enum() *ChatInfo_SystemHintType {
+ p := new(ChatInfo_SystemHintType)
+ *p = x
+ return p
+}
+
+func (x ChatInfo_SystemHintType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ChatInfo_SystemHintType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ChatInfo_proto_enumTypes[0].Descriptor()
+}
+
+func (ChatInfo_SystemHintType) Type() protoreflect.EnumType {
+ return &file_ChatInfo_proto_enumTypes[0]
+}
+
+func (x ChatInfo_SystemHintType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ChatInfo_SystemHintType.Descriptor instead.
+func (ChatInfo_SystemHintType) EnumDescriptor() ([]byte, []int) {
+ return file_ChatInfo_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type ChatInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Time uint32 `protobuf:"varint,13,opt,name=time,proto3" json:"time,omitempty"`
+ Sequence uint32 `protobuf:"varint,10,opt,name=sequence,proto3" json:"sequence,omitempty"`
+ ToUid uint32 `protobuf:"varint,7,opt,name=to_uid,json=toUid,proto3" json:"to_uid,omitempty"`
+ Uid uint32 `protobuf:"varint,15,opt,name=uid,proto3" json:"uid,omitempty"`
+ IsRead bool `protobuf:"varint,5,opt,name=is_read,json=isRead,proto3" json:"is_read,omitempty"`
+ // Types that are assignable to Content:
+ //
+ // *ChatInfo_Text
+ // *ChatInfo_Icon
+ // *ChatInfo_SystemHint_
+ Content isChatInfo_Content `protobuf_oneof:"content"`
+}
+
+func (x *ChatInfo) Reset() {
+ *x = ChatInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChatInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChatInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChatInfo) ProtoMessage() {}
+
+func (x *ChatInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChatInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChatInfo.ProtoReflect.Descriptor instead.
+func (*ChatInfo) Descriptor() ([]byte, []int) {
+ return file_ChatInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChatInfo) GetTime() uint32 {
+ if x != nil {
+ return x.Time
+ }
+ return 0
+}
+
+func (x *ChatInfo) GetSequence() uint32 {
+ if x != nil {
+ return x.Sequence
+ }
+ return 0
+}
+
+func (x *ChatInfo) GetToUid() uint32 {
+ if x != nil {
+ return x.ToUid
+ }
+ return 0
+}
+
+func (x *ChatInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *ChatInfo) GetIsRead() bool {
+ if x != nil {
+ return x.IsRead
+ }
+ return false
+}
+
+func (m *ChatInfo) GetContent() isChatInfo_Content {
+ if m != nil {
+ return m.Content
+ }
+ return nil
+}
+
+func (x *ChatInfo) GetText() string {
+ if x, ok := x.GetContent().(*ChatInfo_Text); ok {
+ return x.Text
+ }
+ return ""
+}
+
+func (x *ChatInfo) GetIcon() uint32 {
+ if x, ok := x.GetContent().(*ChatInfo_Icon); ok {
+ return x.Icon
+ }
+ return 0
+}
+
+func (x *ChatInfo) GetSystemHint() *ChatInfo_SystemHint {
+ if x, ok := x.GetContent().(*ChatInfo_SystemHint_); ok {
+ return x.SystemHint
+ }
+ return nil
+}
+
+type isChatInfo_Content interface {
+ isChatInfo_Content()
+}
+
+type ChatInfo_Text struct {
+ Text string `protobuf:"bytes,1946,opt,name=text,proto3,oneof"`
+}
+
+type ChatInfo_Icon struct {
+ Icon uint32 `protobuf:"varint,914,opt,name=icon,proto3,oneof"`
+}
+
+type ChatInfo_SystemHint_ struct {
+ SystemHint *ChatInfo_SystemHint `protobuf:"bytes,1753,opt,name=system_hint,json=systemHint,proto3,oneof"`
+}
+
+func (*ChatInfo_Text) isChatInfo_Content() {}
+
+func (*ChatInfo_Icon) isChatInfo_Content() {}
+
+func (*ChatInfo_SystemHint_) isChatInfo_Content() {}
+
+type ChatInfo_SystemHint struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type uint32 `protobuf:"varint,14,opt,name=type,proto3" json:"type,omitempty"`
+}
+
+func (x *ChatInfo_SystemHint) Reset() {
+ *x = ChatInfo_SystemHint{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChatInfo_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChatInfo_SystemHint) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChatInfo_SystemHint) ProtoMessage() {}
+
+func (x *ChatInfo_SystemHint) ProtoReflect() protoreflect.Message {
+ mi := &file_ChatInfo_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChatInfo_SystemHint.ProtoReflect.Descriptor instead.
+func (*ChatInfo_SystemHint) Descriptor() ([]byte, []int) {
+ return file_ChatInfo_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *ChatInfo_SystemHint) GetType() uint32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+var File_ChatInfo_proto protoreflect.FileDescriptor
+
+var file_ChatInfo_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x03, 0x0a, 0x08, 0x43, 0x68, 0x61, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75,
+ 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75,
+ 0x65, 0x6e, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x6f, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x55, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a,
+ 0x07, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
+ 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x15, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x9a,
+ 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x15, 0x0a,
+ 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x92, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x04,
+ 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x68,
+ 0x69, 0x6e, 0x74, 0x18, 0xd9, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x79, 0x73, 0x74,
+ 0x65, 0x6d, 0x48, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d,
+ 0x48, 0x69, 0x6e, 0x74, 0x1a, 0x20, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x69,
+ 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x7e, 0x0a, 0x0e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
+ 0x48, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x59, 0x53, 0x54,
+ 0x45, 0x4d, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41,
+ 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x59, 0x53, 0x54,
+ 0x45, 0x4d, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41,
+ 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x10, 0x01, 0x12,
+ 0x25, 0x0a, 0x21, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x5f, 0x57,
+ 0x4f, 0x52, 0x4c, 0x44, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChatInfo_proto_rawDescOnce sync.Once
+ file_ChatInfo_proto_rawDescData = file_ChatInfo_proto_rawDesc
+)
+
+func file_ChatInfo_proto_rawDescGZIP() []byte {
+ file_ChatInfo_proto_rawDescOnce.Do(func() {
+ file_ChatInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChatInfo_proto_rawDescData)
+ })
+ return file_ChatInfo_proto_rawDescData
+}
+
+var file_ChatInfo_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ChatInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ChatInfo_proto_goTypes = []interface{}{
+ (ChatInfo_SystemHintType)(0), // 0: proto.ChatInfo.SystemHintType
+ (*ChatInfo)(nil), // 1: proto.ChatInfo
+ (*ChatInfo_SystemHint)(nil), // 2: proto.ChatInfo.SystemHint
+}
+var file_ChatInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.ChatInfo.system_hint:type_name -> proto.ChatInfo.SystemHint
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChatInfo_proto_init() }
+func file_ChatInfo_proto_init() {
+ if File_ChatInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChatInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChatInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ChatInfo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChatInfo_SystemHint); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ChatInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*ChatInfo_Text)(nil),
+ (*ChatInfo_Icon)(nil),
+ (*ChatInfo_SystemHint_)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChatInfo_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChatInfo_proto_goTypes,
+ DependencyIndexes: file_ChatInfo_proto_depIdxs,
+ EnumInfos: file_ChatInfo_proto_enumTypes,
+ MessageInfos: file_ChatInfo_proto_msgTypes,
+ }.Build()
+ File_ChatInfo_proto = out.File
+ file_ChatInfo_proto_rawDesc = nil
+ file_ChatInfo_proto_goTypes = nil
+ file_ChatInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckAddItemExceedLimitNotify.pb.go b/protocol/proto/CheckAddItemExceedLimitNotify.pb.go
new file mode 100644
index 00000000..1041c979
--- /dev/null
+++ b/protocol/proto/CheckAddItemExceedLimitNotify.pb.go
@@ -0,0 +1,276 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckAddItemExceedLimitNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType int32
+
+const (
+ CheckAddItemExceedLimitNotify_ITEM_EXCEED_LIMIT_MSG_TYPE_DEFAULT CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType = 0
+ CheckAddItemExceedLimitNotify_ITEM_EXCEED_LIMIT_MSG_TYPE_TEXT CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType = 1
+ CheckAddItemExceedLimitNotify_ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType = 2
+ CheckAddItemExceedLimitNotify_ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG_NONBLOCK CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType = 3
+)
+
+// Enum value maps for CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType.
+var (
+ CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType_name = map[int32]string{
+ 0: "ITEM_EXCEED_LIMIT_MSG_TYPE_DEFAULT",
+ 1: "ITEM_EXCEED_LIMIT_MSG_TYPE_TEXT",
+ 2: "ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG",
+ 3: "ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG_NONBLOCK",
+ }
+ CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType_value = map[string]int32{
+ "ITEM_EXCEED_LIMIT_MSG_TYPE_DEFAULT": 0,
+ "ITEM_EXCEED_LIMIT_MSG_TYPE_TEXT": 1,
+ "ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG": 2,
+ "ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG_NONBLOCK": 3,
+ }
+)
+
+func (x CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType) Enum() *CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType {
+ p := new(CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType)
+ *p = x
+ return p
+}
+
+func (x CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType) Descriptor() protoreflect.EnumDescriptor {
+ return file_CheckAddItemExceedLimitNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType) Type() protoreflect.EnumType {
+ return &file_CheckAddItemExceedLimitNotify_proto_enumTypes[0]
+}
+
+func (x CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType.Descriptor instead.
+func (CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType) EnumDescriptor() ([]byte, []int) {
+ return file_CheckAddItemExceedLimitNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 692
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CheckAddItemExceedLimitNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsDrop bool `protobuf:"varint,5,opt,name=is_drop,json=isDrop,proto3" json:"is_drop,omitempty"`
+ MsgType CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType `protobuf:"varint,4,opt,name=msg_type,json=msgType,proto3,enum=proto.CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType" json:"msg_type,omitempty"`
+ ExceededItemTypeList []uint32 `protobuf:"varint,10,rep,packed,name=exceeded_item_type_list,json=exceededItemTypeList,proto3" json:"exceeded_item_type_list,omitempty"`
+ ExceededItemList []uint32 `protobuf:"varint,12,rep,packed,name=exceeded_item_list,json=exceededItemList,proto3" json:"exceeded_item_list,omitempty"`
+ Reason uint32 `protobuf:"varint,14,opt,name=reason,proto3" json:"reason,omitempty"`
+}
+
+func (x *CheckAddItemExceedLimitNotify) Reset() {
+ *x = CheckAddItemExceedLimitNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckAddItemExceedLimitNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckAddItemExceedLimitNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckAddItemExceedLimitNotify) ProtoMessage() {}
+
+func (x *CheckAddItemExceedLimitNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckAddItemExceedLimitNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckAddItemExceedLimitNotify.ProtoReflect.Descriptor instead.
+func (*CheckAddItemExceedLimitNotify) Descriptor() ([]byte, []int) {
+ return file_CheckAddItemExceedLimitNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CheckAddItemExceedLimitNotify) GetIsDrop() bool {
+ if x != nil {
+ return x.IsDrop
+ }
+ return false
+}
+
+func (x *CheckAddItemExceedLimitNotify) GetMsgType() CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType {
+ if x != nil {
+ return x.MsgType
+ }
+ return CheckAddItemExceedLimitNotify_ITEM_EXCEED_LIMIT_MSG_TYPE_DEFAULT
+}
+
+func (x *CheckAddItemExceedLimitNotify) GetExceededItemTypeList() []uint32 {
+ if x != nil {
+ return x.ExceededItemTypeList
+ }
+ return nil
+}
+
+func (x *CheckAddItemExceedLimitNotify) GetExceededItemList() []uint32 {
+ if x != nil {
+ return x.ExceededItemList
+ }
+ return nil
+}
+
+func (x *CheckAddItemExceedLimitNotify) GetReason() uint32 {
+ if x != nil {
+ return x.Reason
+ }
+ return 0
+}
+
+var File_CheckAddItemExceedLimitNotify_proto protoreflect.FileDescriptor
+
+var file_CheckAddItemExceedLimitNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78,
+ 0x63, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x03, 0x0a,
+ 0x1d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78, 0x63,
+ 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17,
+ 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x06, 0x69, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x56, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78,
+ 0x63, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d,
+ 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x35, 0x0a, 0x17, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x14, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79,
+ 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64,
+ 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x10, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0x0a,
+ 0x16, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74,
+ 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x49, 0x54, 0x45, 0x4d, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4d, 0x53, 0x47,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12,
+ 0x23, 0x0a, 0x1f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45,
+ 0x58, 0x54, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x58, 0x43,
+ 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0x02, 0x12, 0x2e, 0x0a, 0x2a, 0x49,
+ 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54,
+ 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47,
+ 0x5f, 0x4e, 0x4f, 0x4e, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CheckAddItemExceedLimitNotify_proto_rawDescOnce sync.Once
+ file_CheckAddItemExceedLimitNotify_proto_rawDescData = file_CheckAddItemExceedLimitNotify_proto_rawDesc
+)
+
+func file_CheckAddItemExceedLimitNotify_proto_rawDescGZIP() []byte {
+ file_CheckAddItemExceedLimitNotify_proto_rawDescOnce.Do(func() {
+ file_CheckAddItemExceedLimitNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckAddItemExceedLimitNotify_proto_rawDescData)
+ })
+ return file_CheckAddItemExceedLimitNotify_proto_rawDescData
+}
+
+var file_CheckAddItemExceedLimitNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CheckAddItemExceedLimitNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckAddItemExceedLimitNotify_proto_goTypes = []interface{}{
+ (CheckAddItemExceedLimitNotify_ItemExceedLimitMsgType)(0), // 0: proto.CheckAddItemExceedLimitNotify.ItemExceedLimitMsgType
+ (*CheckAddItemExceedLimitNotify)(nil), // 1: proto.CheckAddItemExceedLimitNotify
+}
+var file_CheckAddItemExceedLimitNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.CheckAddItemExceedLimitNotify.msg_type:type_name -> proto.CheckAddItemExceedLimitNotify.ItemExceedLimitMsgType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CheckAddItemExceedLimitNotify_proto_init() }
+func file_CheckAddItemExceedLimitNotify_proto_init() {
+ if File_CheckAddItemExceedLimitNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CheckAddItemExceedLimitNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckAddItemExceedLimitNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckAddItemExceedLimitNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckAddItemExceedLimitNotify_proto_goTypes,
+ DependencyIndexes: file_CheckAddItemExceedLimitNotify_proto_depIdxs,
+ EnumInfos: file_CheckAddItemExceedLimitNotify_proto_enumTypes,
+ MessageInfos: file_CheckAddItemExceedLimitNotify_proto_msgTypes,
+ }.Build()
+ File_CheckAddItemExceedLimitNotify_proto = out.File
+ file_CheckAddItemExceedLimitNotify_proto_rawDesc = nil
+ file_CheckAddItemExceedLimitNotify_proto_goTypes = nil
+ file_CheckAddItemExceedLimitNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckGroupReplacedReq.pb.go b/protocol/proto/CheckGroupReplacedReq.pb.go
new file mode 100644
index 00000000..e97a4611
--- /dev/null
+++ b/protocol/proto/CheckGroupReplacedReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckGroupReplacedReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3113
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CheckGroupReplacedReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupIdList []uint32 `protobuf:"varint,7,rep,packed,name=group_id_list,json=groupIdList,proto3" json:"group_id_list,omitempty"`
+}
+
+func (x *CheckGroupReplacedReq) Reset() {
+ *x = CheckGroupReplacedReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckGroupReplacedReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckGroupReplacedReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckGroupReplacedReq) ProtoMessage() {}
+
+func (x *CheckGroupReplacedReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckGroupReplacedReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckGroupReplacedReq.ProtoReflect.Descriptor instead.
+func (*CheckGroupReplacedReq) Descriptor() ([]byte, []int) {
+ return file_CheckGroupReplacedReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CheckGroupReplacedReq) GetGroupIdList() []uint32 {
+ if x != nil {
+ return x.GroupIdList
+ }
+ return nil
+}
+
+var File_CheckGroupReplacedReq_proto protoreflect.FileDescriptor
+
+var file_CheckGroupReplacedReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6c,
+ 0x61, 0x63, 0x65, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a,
+ 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CheckGroupReplacedReq_proto_rawDescOnce sync.Once
+ file_CheckGroupReplacedReq_proto_rawDescData = file_CheckGroupReplacedReq_proto_rawDesc
+)
+
+func file_CheckGroupReplacedReq_proto_rawDescGZIP() []byte {
+ file_CheckGroupReplacedReq_proto_rawDescOnce.Do(func() {
+ file_CheckGroupReplacedReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckGroupReplacedReq_proto_rawDescData)
+ })
+ return file_CheckGroupReplacedReq_proto_rawDescData
+}
+
+var file_CheckGroupReplacedReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckGroupReplacedReq_proto_goTypes = []interface{}{
+ (*CheckGroupReplacedReq)(nil), // 0: proto.CheckGroupReplacedReq
+}
+var file_CheckGroupReplacedReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CheckGroupReplacedReq_proto_init() }
+func file_CheckGroupReplacedReq_proto_init() {
+ if File_CheckGroupReplacedReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CheckGroupReplacedReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckGroupReplacedReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckGroupReplacedReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckGroupReplacedReq_proto_goTypes,
+ DependencyIndexes: file_CheckGroupReplacedReq_proto_depIdxs,
+ MessageInfos: file_CheckGroupReplacedReq_proto_msgTypes,
+ }.Build()
+ File_CheckGroupReplacedReq_proto = out.File
+ file_CheckGroupReplacedReq_proto_rawDesc = nil
+ file_CheckGroupReplacedReq_proto_goTypes = nil
+ file_CheckGroupReplacedReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckGroupReplacedRsp.pb.go b/protocol/proto/CheckGroupReplacedRsp.pb.go
new file mode 100644
index 00000000..3f807e97
--- /dev/null
+++ b/protocol/proto/CheckGroupReplacedRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckGroupReplacedRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3152
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CheckGroupReplacedRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ReplacedGroupIdList []uint32 `protobuf:"varint,6,rep,packed,name=replaced_group_id_list,json=replacedGroupIdList,proto3" json:"replaced_group_id_list,omitempty"`
+}
+
+func (x *CheckGroupReplacedRsp) Reset() {
+ *x = CheckGroupReplacedRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckGroupReplacedRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckGroupReplacedRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckGroupReplacedRsp) ProtoMessage() {}
+
+func (x *CheckGroupReplacedRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckGroupReplacedRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckGroupReplacedRsp.ProtoReflect.Descriptor instead.
+func (*CheckGroupReplacedRsp) Descriptor() ([]byte, []int) {
+ return file_CheckGroupReplacedRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CheckGroupReplacedRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *CheckGroupReplacedRsp) GetReplacedGroupIdList() []uint32 {
+ if x != nil {
+ return x.ReplacedGroupIdList
+ }
+ return nil
+}
+
+var File_CheckGroupReplacedRsp_proto protoreflect.FileDescriptor
+
+var file_CheckGroupReplacedRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6c,
+ 0x61, 0x63, 0x65, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x6c, 0x61,
+ 0x63, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65,
+ 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CheckGroupReplacedRsp_proto_rawDescOnce sync.Once
+ file_CheckGroupReplacedRsp_proto_rawDescData = file_CheckGroupReplacedRsp_proto_rawDesc
+)
+
+func file_CheckGroupReplacedRsp_proto_rawDescGZIP() []byte {
+ file_CheckGroupReplacedRsp_proto_rawDescOnce.Do(func() {
+ file_CheckGroupReplacedRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckGroupReplacedRsp_proto_rawDescData)
+ })
+ return file_CheckGroupReplacedRsp_proto_rawDescData
+}
+
+var file_CheckGroupReplacedRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckGroupReplacedRsp_proto_goTypes = []interface{}{
+ (*CheckGroupReplacedRsp)(nil), // 0: proto.CheckGroupReplacedRsp
+}
+var file_CheckGroupReplacedRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CheckGroupReplacedRsp_proto_init() }
+func file_CheckGroupReplacedRsp_proto_init() {
+ if File_CheckGroupReplacedRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CheckGroupReplacedRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckGroupReplacedRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckGroupReplacedRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckGroupReplacedRsp_proto_goTypes,
+ DependencyIndexes: file_CheckGroupReplacedRsp_proto_depIdxs,
+ MessageInfos: file_CheckGroupReplacedRsp_proto_msgTypes,
+ }.Build()
+ File_CheckGroupReplacedRsp_proto = out.File
+ file_CheckGroupReplacedRsp_proto_rawDesc = nil
+ file_CheckGroupReplacedRsp_proto_goTypes = nil
+ file_CheckGroupReplacedRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckSegmentCRCNotify.pb.go b/protocol/proto/CheckSegmentCRCNotify.pb.go
new file mode 100644
index 00000000..d43fb054
--- /dev/null
+++ b/protocol/proto/CheckSegmentCRCNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckSegmentCRCNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 39
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CheckSegmentCRCNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InfoList []*SegmentInfo `protobuf:"bytes,6,rep,name=info_list,json=infoList,proto3" json:"info_list,omitempty"`
+}
+
+func (x *CheckSegmentCRCNotify) Reset() {
+ *x = CheckSegmentCRCNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckSegmentCRCNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckSegmentCRCNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckSegmentCRCNotify) ProtoMessage() {}
+
+func (x *CheckSegmentCRCNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckSegmentCRCNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckSegmentCRCNotify.ProtoReflect.Descriptor instead.
+func (*CheckSegmentCRCNotify) Descriptor() ([]byte, []int) {
+ return file_CheckSegmentCRCNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CheckSegmentCRCNotify) GetInfoList() []*SegmentInfo {
+ if x != nil {
+ return x.InfoList
+ }
+ return nil
+}
+
+var File_CheckSegmentCRCNotify_proto protoreflect.FileDescriptor
+
+var file_CheckSegmentCRCNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x52,
+ 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x52, 0x43, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x2f, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x67, 0x6d,
+ 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CheckSegmentCRCNotify_proto_rawDescOnce sync.Once
+ file_CheckSegmentCRCNotify_proto_rawDescData = file_CheckSegmentCRCNotify_proto_rawDesc
+)
+
+func file_CheckSegmentCRCNotify_proto_rawDescGZIP() []byte {
+ file_CheckSegmentCRCNotify_proto_rawDescOnce.Do(func() {
+ file_CheckSegmentCRCNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckSegmentCRCNotify_proto_rawDescData)
+ })
+ return file_CheckSegmentCRCNotify_proto_rawDescData
+}
+
+var file_CheckSegmentCRCNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckSegmentCRCNotify_proto_goTypes = []interface{}{
+ (*CheckSegmentCRCNotify)(nil), // 0: proto.CheckSegmentCRCNotify
+ (*SegmentInfo)(nil), // 1: proto.SegmentInfo
+}
+var file_CheckSegmentCRCNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CheckSegmentCRCNotify.info_list:type_name -> proto.SegmentInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CheckSegmentCRCNotify_proto_init() }
+func file_CheckSegmentCRCNotify_proto_init() {
+ if File_CheckSegmentCRCNotify_proto != nil {
+ return
+ }
+ file_SegmentInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CheckSegmentCRCNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckSegmentCRCNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckSegmentCRCNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckSegmentCRCNotify_proto_goTypes,
+ DependencyIndexes: file_CheckSegmentCRCNotify_proto_depIdxs,
+ MessageInfos: file_CheckSegmentCRCNotify_proto_msgTypes,
+ }.Build()
+ File_CheckSegmentCRCNotify_proto = out.File
+ file_CheckSegmentCRCNotify_proto_rawDesc = nil
+ file_CheckSegmentCRCNotify_proto_goTypes = nil
+ file_CheckSegmentCRCNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckSegmentCRCReq.pb.go b/protocol/proto/CheckSegmentCRCReq.pb.go
new file mode 100644
index 00000000..31596618
--- /dev/null
+++ b/protocol/proto/CheckSegmentCRCReq.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckSegmentCRCReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 53
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CheckSegmentCRCReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InfoList []*SegmentCRCInfo `protobuf:"bytes,1,rep,name=info_list,json=infoList,proto3" json:"info_list,omitempty"`
+}
+
+func (x *CheckSegmentCRCReq) Reset() {
+ *x = CheckSegmentCRCReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckSegmentCRCReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckSegmentCRCReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckSegmentCRCReq) ProtoMessage() {}
+
+func (x *CheckSegmentCRCReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckSegmentCRCReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckSegmentCRCReq.ProtoReflect.Descriptor instead.
+func (*CheckSegmentCRCReq) Descriptor() ([]byte, []int) {
+ return file_CheckSegmentCRCReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CheckSegmentCRCReq) GetInfoList() []*SegmentCRCInfo {
+ if x != nil {
+ return x.InfoList
+ }
+ return nil
+}
+
+var File_CheckSegmentCRCReq_proto protoreflect.FileDescriptor
+
+var file_CheckSegmentCRCReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x52,
+ 0x43, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x14, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x52, 0x43, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x12, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x52, 0x43, 0x52, 0x65, 0x71, 0x12, 0x32, 0x0a,
+ 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74,
+ 0x43, 0x52, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CheckSegmentCRCReq_proto_rawDescOnce sync.Once
+ file_CheckSegmentCRCReq_proto_rawDescData = file_CheckSegmentCRCReq_proto_rawDesc
+)
+
+func file_CheckSegmentCRCReq_proto_rawDescGZIP() []byte {
+ file_CheckSegmentCRCReq_proto_rawDescOnce.Do(func() {
+ file_CheckSegmentCRCReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckSegmentCRCReq_proto_rawDescData)
+ })
+ return file_CheckSegmentCRCReq_proto_rawDescData
+}
+
+var file_CheckSegmentCRCReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckSegmentCRCReq_proto_goTypes = []interface{}{
+ (*CheckSegmentCRCReq)(nil), // 0: proto.CheckSegmentCRCReq
+ (*SegmentCRCInfo)(nil), // 1: proto.SegmentCRCInfo
+}
+var file_CheckSegmentCRCReq_proto_depIdxs = []int32{
+ 1, // 0: proto.CheckSegmentCRCReq.info_list:type_name -> proto.SegmentCRCInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CheckSegmentCRCReq_proto_init() }
+func file_CheckSegmentCRCReq_proto_init() {
+ if File_CheckSegmentCRCReq_proto != nil {
+ return
+ }
+ file_SegmentCRCInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CheckSegmentCRCReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckSegmentCRCReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckSegmentCRCReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckSegmentCRCReq_proto_goTypes,
+ DependencyIndexes: file_CheckSegmentCRCReq_proto_depIdxs,
+ MessageInfos: file_CheckSegmentCRCReq_proto_msgTypes,
+ }.Build()
+ File_CheckSegmentCRCReq_proto = out.File
+ file_CheckSegmentCRCReq_proto_rawDesc = nil
+ file_CheckSegmentCRCReq_proto_goTypes = nil
+ file_CheckSegmentCRCReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckUgcStateReq.pb.go b/protocol/proto/CheckUgcStateReq.pb.go
new file mode 100644
index 00000000..894ded0a
--- /dev/null
+++ b/protocol/proto/CheckUgcStateReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckUgcStateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6342
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CheckUgcStateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *CheckUgcStateReq) Reset() {
+ *x = CheckUgcStateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckUgcStateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckUgcStateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckUgcStateReq) ProtoMessage() {}
+
+func (x *CheckUgcStateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckUgcStateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckUgcStateReq.ProtoReflect.Descriptor instead.
+func (*CheckUgcStateReq) Descriptor() ([]byte, []int) {
+ return file_CheckUgcStateReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CheckUgcStateReq_proto protoreflect.FileDescriptor
+
+var file_CheckUgcStateReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x67, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x12, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x67, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CheckUgcStateReq_proto_rawDescOnce sync.Once
+ file_CheckUgcStateReq_proto_rawDescData = file_CheckUgcStateReq_proto_rawDesc
+)
+
+func file_CheckUgcStateReq_proto_rawDescGZIP() []byte {
+ file_CheckUgcStateReq_proto_rawDescOnce.Do(func() {
+ file_CheckUgcStateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckUgcStateReq_proto_rawDescData)
+ })
+ return file_CheckUgcStateReq_proto_rawDescData
+}
+
+var file_CheckUgcStateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckUgcStateReq_proto_goTypes = []interface{}{
+ (*CheckUgcStateReq)(nil), // 0: proto.CheckUgcStateReq
+}
+var file_CheckUgcStateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CheckUgcStateReq_proto_init() }
+func file_CheckUgcStateReq_proto_init() {
+ if File_CheckUgcStateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CheckUgcStateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckUgcStateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckUgcStateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckUgcStateReq_proto_goTypes,
+ DependencyIndexes: file_CheckUgcStateReq_proto_depIdxs,
+ MessageInfos: file_CheckUgcStateReq_proto_msgTypes,
+ }.Build()
+ File_CheckUgcStateReq_proto = out.File
+ file_CheckUgcStateReq_proto_rawDesc = nil
+ file_CheckUgcStateReq_proto_goTypes = nil
+ file_CheckUgcStateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckUgcStateRsp.pb.go b/protocol/proto/CheckUgcStateRsp.pb.go
new file mode 100644
index 00000000..825d782e
--- /dev/null
+++ b/protocol/proto/CheckUgcStateRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckUgcStateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6314
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CheckUgcStateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *CheckUgcStateRsp) Reset() {
+ *x = CheckUgcStateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckUgcStateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckUgcStateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckUgcStateRsp) ProtoMessage() {}
+
+func (x *CheckUgcStateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckUgcStateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckUgcStateRsp.ProtoReflect.Descriptor instead.
+func (*CheckUgcStateRsp) Descriptor() ([]byte, []int) {
+ return file_CheckUgcStateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CheckUgcStateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_CheckUgcStateRsp_proto protoreflect.FileDescriptor
+
+var file_CheckUgcStateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x67, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2c, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x67, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_CheckUgcStateRsp_proto_rawDescOnce sync.Once
+ file_CheckUgcStateRsp_proto_rawDescData = file_CheckUgcStateRsp_proto_rawDesc
+)
+
+func file_CheckUgcStateRsp_proto_rawDescGZIP() []byte {
+ file_CheckUgcStateRsp_proto_rawDescOnce.Do(func() {
+ file_CheckUgcStateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckUgcStateRsp_proto_rawDescData)
+ })
+ return file_CheckUgcStateRsp_proto_rawDescData
+}
+
+var file_CheckUgcStateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckUgcStateRsp_proto_goTypes = []interface{}{
+ (*CheckUgcStateRsp)(nil), // 0: proto.CheckUgcStateRsp
+}
+var file_CheckUgcStateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CheckUgcStateRsp_proto_init() }
+func file_CheckUgcStateRsp_proto_init() {
+ if File_CheckUgcStateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CheckUgcStateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckUgcStateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckUgcStateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckUgcStateRsp_proto_goTypes,
+ DependencyIndexes: file_CheckUgcStateRsp_proto_depIdxs,
+ MessageInfos: file_CheckUgcStateRsp_proto_msgTypes,
+ }.Build()
+ File_CheckUgcStateRsp_proto = out.File
+ file_CheckUgcStateRsp_proto_rawDesc = nil
+ file_CheckUgcStateRsp_proto_goTypes = nil
+ file_CheckUgcStateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckUgcUpdateReq.pb.go b/protocol/proto/CheckUgcUpdateReq.pb.go
new file mode 100644
index 00000000..c48960b9
--- /dev/null
+++ b/protocol/proto/CheckUgcUpdateReq.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckUgcUpdateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6320
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CheckUgcUpdateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcType UgcType `protobuf:"varint,13,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+}
+
+func (x *CheckUgcUpdateReq) Reset() {
+ *x = CheckUgcUpdateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckUgcUpdateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckUgcUpdateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckUgcUpdateReq) ProtoMessage() {}
+
+func (x *CheckUgcUpdateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckUgcUpdateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckUgcUpdateReq.ProtoReflect.Descriptor instead.
+func (*CheckUgcUpdateReq) Descriptor() ([]byte, []int) {
+ return file_CheckUgcUpdateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CheckUgcUpdateReq) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+var File_CheckUgcUpdateReq_proto protoreflect.FileDescriptor
+
+var file_CheckUgcUpdateReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x67, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0d, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x3e, 0x0a, 0x11, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x67, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55,
+ 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x75, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CheckUgcUpdateReq_proto_rawDescOnce sync.Once
+ file_CheckUgcUpdateReq_proto_rawDescData = file_CheckUgcUpdateReq_proto_rawDesc
+)
+
+func file_CheckUgcUpdateReq_proto_rawDescGZIP() []byte {
+ file_CheckUgcUpdateReq_proto_rawDescOnce.Do(func() {
+ file_CheckUgcUpdateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckUgcUpdateReq_proto_rawDescData)
+ })
+ return file_CheckUgcUpdateReq_proto_rawDescData
+}
+
+var file_CheckUgcUpdateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckUgcUpdateReq_proto_goTypes = []interface{}{
+ (*CheckUgcUpdateReq)(nil), // 0: proto.CheckUgcUpdateReq
+ (UgcType)(0), // 1: proto.UgcType
+}
+var file_CheckUgcUpdateReq_proto_depIdxs = []int32{
+ 1, // 0: proto.CheckUgcUpdateReq.ugc_type:type_name -> proto.UgcType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CheckUgcUpdateReq_proto_init() }
+func file_CheckUgcUpdateReq_proto_init() {
+ if File_CheckUgcUpdateReq_proto != nil {
+ return
+ }
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CheckUgcUpdateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckUgcUpdateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckUgcUpdateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckUgcUpdateReq_proto_goTypes,
+ DependencyIndexes: file_CheckUgcUpdateReq_proto_depIdxs,
+ MessageInfos: file_CheckUgcUpdateReq_proto_msgTypes,
+ }.Build()
+ File_CheckUgcUpdateReq_proto = out.File
+ file_CheckUgcUpdateReq_proto_rawDesc = nil
+ file_CheckUgcUpdateReq_proto_goTypes = nil
+ file_CheckUgcUpdateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CheckUgcUpdateRsp.pb.go b/protocol/proto/CheckUgcUpdateRsp.pb.go
new file mode 100644
index 00000000..06cedc75
--- /dev/null
+++ b/protocol/proto/CheckUgcUpdateRsp.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CheckUgcUpdateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6345
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CheckUgcUpdateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UpdateUgcGuidList []uint64 `protobuf:"varint,15,rep,packed,name=update_ugc_guid_list,json=updateUgcGuidList,proto3" json:"update_ugc_guid_list,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ UgcType UgcType `protobuf:"varint,12,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+}
+
+func (x *CheckUgcUpdateRsp) Reset() {
+ *x = CheckUgcUpdateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CheckUgcUpdateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CheckUgcUpdateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CheckUgcUpdateRsp) ProtoMessage() {}
+
+func (x *CheckUgcUpdateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CheckUgcUpdateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CheckUgcUpdateRsp.ProtoReflect.Descriptor instead.
+func (*CheckUgcUpdateRsp) Descriptor() ([]byte, []int) {
+ return file_CheckUgcUpdateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CheckUgcUpdateRsp) GetUpdateUgcGuidList() []uint64 {
+ if x != nil {
+ return x.UpdateUgcGuidList
+ }
+ return nil
+}
+
+func (x *CheckUgcUpdateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *CheckUgcUpdateRsp) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+var File_CheckUgcUpdateRsp_proto protoreflect.FileDescriptor
+
+var file_CheckUgcUpdateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x67, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0d, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x89, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x67, 0x63, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f,
+ 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20,
+ 0x03, 0x28, 0x04, 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x67, 0x63, 0x47, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x29, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x07, 0x75, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CheckUgcUpdateRsp_proto_rawDescOnce sync.Once
+ file_CheckUgcUpdateRsp_proto_rawDescData = file_CheckUgcUpdateRsp_proto_rawDesc
+)
+
+func file_CheckUgcUpdateRsp_proto_rawDescGZIP() []byte {
+ file_CheckUgcUpdateRsp_proto_rawDescOnce.Do(func() {
+ file_CheckUgcUpdateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CheckUgcUpdateRsp_proto_rawDescData)
+ })
+ return file_CheckUgcUpdateRsp_proto_rawDescData
+}
+
+var file_CheckUgcUpdateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CheckUgcUpdateRsp_proto_goTypes = []interface{}{
+ (*CheckUgcUpdateRsp)(nil), // 0: proto.CheckUgcUpdateRsp
+ (UgcType)(0), // 1: proto.UgcType
+}
+var file_CheckUgcUpdateRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.CheckUgcUpdateRsp.ugc_type:type_name -> proto.UgcType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CheckUgcUpdateRsp_proto_init() }
+func file_CheckUgcUpdateRsp_proto_init() {
+ if File_CheckUgcUpdateRsp_proto != nil {
+ return
+ }
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CheckUgcUpdateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CheckUgcUpdateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CheckUgcUpdateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CheckUgcUpdateRsp_proto_goTypes,
+ DependencyIndexes: file_CheckUgcUpdateRsp_proto_depIdxs,
+ MessageInfos: file_CheckUgcUpdateRsp_proto_msgTypes,
+ }.Build()
+ File_CheckUgcUpdateRsp_proto = out.File
+ file_CheckUgcUpdateRsp_proto_rawDesc = nil
+ file_CheckUgcUpdateRsp_proto_goTypes = nil
+ file_CheckUgcUpdateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessActivityDetailInfo.pb.go b/protocol/proto/ChessActivityDetailInfo.pb.go
new file mode 100644
index 00000000..2e95ee6a
--- /dev/null
+++ b/protocol/proto/ChessActivityDetailInfo.pb.go
@@ -0,0 +1,244 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChessActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,4,opt,name=level,proto3" json:"level,omitempty"`
+ IsTeachDungeonFinished bool `protobuf:"varint,9,opt,name=is_teach_dungeon_finished,json=isTeachDungeonFinished,proto3" json:"is_teach_dungeon_finished,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,14,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ ObtainedExp uint32 `protobuf:"varint,8,opt,name=obtained_exp,json=obtainedExp,proto3" json:"obtained_exp,omitempty"`
+ IsContentClosed bool `protobuf:"varint,5,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ AvailableExp uint32 `protobuf:"varint,2,opt,name=available_exp,json=availableExp,proto3" json:"available_exp,omitempty"`
+ Exp uint32 `protobuf:"varint,13,opt,name=exp,proto3" json:"exp,omitempty"`
+ FinishedMapIdList []uint32 `protobuf:"varint,1,rep,packed,name=finished_map_id_list,json=finishedMapIdList,proto3" json:"finished_map_id_list,omitempty"`
+ PunishOverTime uint32 `protobuf:"varint,3,opt,name=punish_over_time,json=punishOverTime,proto3" json:"punish_over_time,omitempty"`
+}
+
+func (x *ChessActivityDetailInfo) Reset() {
+ *x = ChessActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessActivityDetailInfo) ProtoMessage() {}
+
+func (x *ChessActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*ChessActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_ChessActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessActivityDetailInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *ChessActivityDetailInfo) GetIsTeachDungeonFinished() bool {
+ if x != nil {
+ return x.IsTeachDungeonFinished
+ }
+ return false
+}
+
+func (x *ChessActivityDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *ChessActivityDetailInfo) GetObtainedExp() uint32 {
+ if x != nil {
+ return x.ObtainedExp
+ }
+ return 0
+}
+
+func (x *ChessActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *ChessActivityDetailInfo) GetAvailableExp() uint32 {
+ if x != nil {
+ return x.AvailableExp
+ }
+ return 0
+}
+
+func (x *ChessActivityDetailInfo) GetExp() uint32 {
+ if x != nil {
+ return x.Exp
+ }
+ return 0
+}
+
+func (x *ChessActivityDetailInfo) GetFinishedMapIdList() []uint32 {
+ if x != nil {
+ return x.FinishedMapIdList
+ }
+ return nil
+}
+
+func (x *ChessActivityDetailInfo) GetPunishOverTime() uint32 {
+ if x != nil {
+ return x.PunishOverTime
+ }
+ return 0
+}
+
+var File_ChessActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_ChessActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x02, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x73, 0x73,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x39, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x74,
+ 0x65, 0x61, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x54,
+ 0x65, 0x61, 0x63, 0x68, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63,
+ 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x78,
+ 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x65,
+ 0x64, 0x45, 0x78, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64,
+ 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78,
+ 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
+ 0x6c, 0x65, 0x45, 0x78, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4d,
+ 0x61, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x75, 0x6e, 0x69,
+ 0x73, 0x68, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x69,
+ 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_ChessActivityDetailInfo_proto_rawDescData = file_ChessActivityDetailInfo_proto_rawDesc
+)
+
+func file_ChessActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_ChessActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_ChessActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessActivityDetailInfo_proto_rawDescData)
+ })
+ return file_ChessActivityDetailInfo_proto_rawDescData
+}
+
+var file_ChessActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessActivityDetailInfo_proto_goTypes = []interface{}{
+ (*ChessActivityDetailInfo)(nil), // 0: proto.ChessActivityDetailInfo
+}
+var file_ChessActivityDetailInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessActivityDetailInfo_proto_init() }
+func file_ChessActivityDetailInfo_proto_init() {
+ if File_ChessActivityDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_ChessActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_ChessActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_ChessActivityDetailInfo_proto = out.File
+ file_ChessActivityDetailInfo_proto_rawDesc = nil
+ file_ChessActivityDetailInfo_proto_goTypes = nil
+ file_ChessActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessCardInfo.pb.go b/protocol/proto/ChessCardInfo.pb.go
new file mode 100644
index 00000000..d2823243
--- /dev/null
+++ b/protocol/proto/ChessCardInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessCardInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChessCardInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EffectStack uint32 `protobuf:"varint,12,opt,name=effect_stack,json=effectStack,proto3" json:"effect_stack,omitempty"`
+ CardId uint32 `protobuf:"varint,11,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *ChessCardInfo) Reset() {
+ *x = ChessCardInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessCardInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessCardInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessCardInfo) ProtoMessage() {}
+
+func (x *ChessCardInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessCardInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessCardInfo.ProtoReflect.Descriptor instead.
+func (*ChessCardInfo) Descriptor() ([]byte, []int) {
+ return file_ChessCardInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessCardInfo) GetEffectStack() uint32 {
+ if x != nil {
+ return x.EffectStack
+ }
+ return 0
+}
+
+func (x *ChessCardInfo) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_ChessCardInfo_proto protoreflect.FileDescriptor
+
+var file_ChessCardInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x43, 0x68, 0x65, 0x73, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x0d,
+ 0x43, 0x68, 0x65, 0x73, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a,
+ 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b,
+ 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessCardInfo_proto_rawDescOnce sync.Once
+ file_ChessCardInfo_proto_rawDescData = file_ChessCardInfo_proto_rawDesc
+)
+
+func file_ChessCardInfo_proto_rawDescGZIP() []byte {
+ file_ChessCardInfo_proto_rawDescOnce.Do(func() {
+ file_ChessCardInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessCardInfo_proto_rawDescData)
+ })
+ return file_ChessCardInfo_proto_rawDescData
+}
+
+var file_ChessCardInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessCardInfo_proto_goTypes = []interface{}{
+ (*ChessCardInfo)(nil), // 0: proto.ChessCardInfo
+}
+var file_ChessCardInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessCardInfo_proto_init() }
+func file_ChessCardInfo_proto_init() {
+ if File_ChessCardInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessCardInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessCardInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessCardInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessCardInfo_proto_goTypes,
+ DependencyIndexes: file_ChessCardInfo_proto_depIdxs,
+ MessageInfos: file_ChessCardInfo_proto_msgTypes,
+ }.Build()
+ File_ChessCardInfo_proto = out.File
+ file_ChessCardInfo_proto_rawDesc = nil
+ file_ChessCardInfo_proto_goTypes = nil
+ file_ChessCardInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessEntranceDetailInfo.pb.go b/protocol/proto/ChessEntranceDetailInfo.pb.go
new file mode 100644
index 00000000..d80b5b00
--- /dev/null
+++ b/protocol/proto/ChessEntranceDetailInfo.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessEntranceDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChessEntranceDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InfoList []*ChessEntranceInfo `protobuf:"bytes,4,rep,name=info_list,json=infoList,proto3" json:"info_list,omitempty"`
+}
+
+func (x *ChessEntranceDetailInfo) Reset() {
+ *x = ChessEntranceDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessEntranceDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessEntranceDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessEntranceDetailInfo) ProtoMessage() {}
+
+func (x *ChessEntranceDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessEntranceDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessEntranceDetailInfo.ProtoReflect.Descriptor instead.
+func (*ChessEntranceDetailInfo) Descriptor() ([]byte, []int) {
+ return file_ChessEntranceDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessEntranceDetailInfo) GetInfoList() []*ChessEntranceInfo {
+ if x != nil {
+ return x.InfoList
+ }
+ return nil
+}
+
+var File_ChessEntranceDetailInfo_proto protoreflect.FileDescriptor
+
+var file_ChessEntranceDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x50, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x09, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61,
+ 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessEntranceDetailInfo_proto_rawDescOnce sync.Once
+ file_ChessEntranceDetailInfo_proto_rawDescData = file_ChessEntranceDetailInfo_proto_rawDesc
+)
+
+func file_ChessEntranceDetailInfo_proto_rawDescGZIP() []byte {
+ file_ChessEntranceDetailInfo_proto_rawDescOnce.Do(func() {
+ file_ChessEntranceDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessEntranceDetailInfo_proto_rawDescData)
+ })
+ return file_ChessEntranceDetailInfo_proto_rawDescData
+}
+
+var file_ChessEntranceDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessEntranceDetailInfo_proto_goTypes = []interface{}{
+ (*ChessEntranceDetailInfo)(nil), // 0: proto.ChessEntranceDetailInfo
+ (*ChessEntranceInfo)(nil), // 1: proto.ChessEntranceInfo
+}
+var file_ChessEntranceDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ChessEntranceDetailInfo.info_list:type_name -> proto.ChessEntranceInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChessEntranceDetailInfo_proto_init() }
+func file_ChessEntranceDetailInfo_proto_init() {
+ if File_ChessEntranceDetailInfo_proto != nil {
+ return
+ }
+ file_ChessEntranceInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChessEntranceDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessEntranceDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessEntranceDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessEntranceDetailInfo_proto_goTypes,
+ DependencyIndexes: file_ChessEntranceDetailInfo_proto_depIdxs,
+ MessageInfos: file_ChessEntranceDetailInfo_proto_msgTypes,
+ }.Build()
+ File_ChessEntranceDetailInfo_proto = out.File
+ file_ChessEntranceDetailInfo_proto_rawDesc = nil
+ file_ChessEntranceDetailInfo_proto_goTypes = nil
+ file_ChessEntranceDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessEntranceInfo.pb.go b/protocol/proto/ChessEntranceInfo.pb.go
new file mode 100644
index 00000000..b8132da5
--- /dev/null
+++ b/protocol/proto/ChessEntranceInfo.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessEntranceInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChessEntranceInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterInfoList []*ChessMonsterInfo `protobuf:"bytes,14,rep,name=monster_info_list,json=monsterInfoList,proto3" json:"monster_info_list,omitempty"`
+ EntranceIndex uint32 `protobuf:"varint,15,opt,name=entrance_index,json=entranceIndex,proto3" json:"entrance_index,omitempty"`
+ EntrancePointId uint32 `protobuf:"varint,8,opt,name=entrance_point_id,json=entrancePointId,proto3" json:"entrance_point_id,omitempty"`
+}
+
+func (x *ChessEntranceInfo) Reset() {
+ *x = ChessEntranceInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessEntranceInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessEntranceInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessEntranceInfo) ProtoMessage() {}
+
+func (x *ChessEntranceInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessEntranceInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessEntranceInfo.ProtoReflect.Descriptor instead.
+func (*ChessEntranceInfo) Descriptor() ([]byte, []int) {
+ return file_ChessEntranceInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessEntranceInfo) GetMonsterInfoList() []*ChessMonsterInfo {
+ if x != nil {
+ return x.MonsterInfoList
+ }
+ return nil
+}
+
+func (x *ChessEntranceInfo) GetEntranceIndex() uint32 {
+ if x != nil {
+ return x.EntranceIndex
+ }
+ return 0
+}
+
+func (x *ChessEntranceInfo) GetEntrancePointId() uint32 {
+ if x != nil {
+ return x.EntrancePointId
+ }
+ return 0
+}
+
+var File_ChessEntranceInfo_proto protoreflect.FileDescriptor
+
+var file_ChessEntranceInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x65,
+ 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43,
+ 0x0a, 0x11, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x6e, 0x74,
+ 0x72, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e,
+ 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessEntranceInfo_proto_rawDescOnce sync.Once
+ file_ChessEntranceInfo_proto_rawDescData = file_ChessEntranceInfo_proto_rawDesc
+)
+
+func file_ChessEntranceInfo_proto_rawDescGZIP() []byte {
+ file_ChessEntranceInfo_proto_rawDescOnce.Do(func() {
+ file_ChessEntranceInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessEntranceInfo_proto_rawDescData)
+ })
+ return file_ChessEntranceInfo_proto_rawDescData
+}
+
+var file_ChessEntranceInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessEntranceInfo_proto_goTypes = []interface{}{
+ (*ChessEntranceInfo)(nil), // 0: proto.ChessEntranceInfo
+ (*ChessMonsterInfo)(nil), // 1: proto.ChessMonsterInfo
+}
+var file_ChessEntranceInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ChessEntranceInfo.monster_info_list:type_name -> proto.ChessMonsterInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChessEntranceInfo_proto_init() }
+func file_ChessEntranceInfo_proto_init() {
+ if File_ChessEntranceInfo_proto != nil {
+ return
+ }
+ file_ChessMonsterInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChessEntranceInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessEntranceInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessEntranceInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessEntranceInfo_proto_goTypes,
+ DependencyIndexes: file_ChessEntranceInfo_proto_depIdxs,
+ MessageInfos: file_ChessEntranceInfo_proto_msgTypes,
+ }.Build()
+ File_ChessEntranceInfo_proto = out.File
+ file_ChessEntranceInfo_proto_rawDesc = nil
+ file_ChessEntranceInfo_proto_goTypes = nil
+ file_ChessEntranceInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessEscapedMonstersNotify.pb.go b/protocol/proto/ChessEscapedMonstersNotify.pb.go
new file mode 100644
index 00000000..8463b92c
--- /dev/null
+++ b/protocol/proto/ChessEscapedMonstersNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessEscapedMonstersNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5314
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChessEscapedMonstersNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EscapedMonsters uint32 `protobuf:"varint,14,opt,name=escaped_monsters,json=escapedMonsters,proto3" json:"escaped_monsters,omitempty"`
+}
+
+func (x *ChessEscapedMonstersNotify) Reset() {
+ *x = ChessEscapedMonstersNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessEscapedMonstersNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessEscapedMonstersNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessEscapedMonstersNotify) ProtoMessage() {}
+
+func (x *ChessEscapedMonstersNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessEscapedMonstersNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessEscapedMonstersNotify.ProtoReflect.Descriptor instead.
+func (*ChessEscapedMonstersNotify) Descriptor() ([]byte, []int) {
+ return file_ChessEscapedMonstersNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessEscapedMonstersNotify) GetEscapedMonsters() uint32 {
+ if x != nil {
+ return x.EscapedMonsters
+ }
+ return 0
+}
+
+var File_ChessEscapedMonstersNotify_proto protoreflect.FileDescriptor
+
+var file_ChessEscapedMonstersNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x1a, 0x43, 0x68, 0x65,
+ 0x73, 0x73, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x73, 0x63, 0x61, 0x70,
+ 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessEscapedMonstersNotify_proto_rawDescOnce sync.Once
+ file_ChessEscapedMonstersNotify_proto_rawDescData = file_ChessEscapedMonstersNotify_proto_rawDesc
+)
+
+func file_ChessEscapedMonstersNotify_proto_rawDescGZIP() []byte {
+ file_ChessEscapedMonstersNotify_proto_rawDescOnce.Do(func() {
+ file_ChessEscapedMonstersNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessEscapedMonstersNotify_proto_rawDescData)
+ })
+ return file_ChessEscapedMonstersNotify_proto_rawDescData
+}
+
+var file_ChessEscapedMonstersNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessEscapedMonstersNotify_proto_goTypes = []interface{}{
+ (*ChessEscapedMonstersNotify)(nil), // 0: proto.ChessEscapedMonstersNotify
+}
+var file_ChessEscapedMonstersNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessEscapedMonstersNotify_proto_init() }
+func file_ChessEscapedMonstersNotify_proto_init() {
+ if File_ChessEscapedMonstersNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessEscapedMonstersNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessEscapedMonstersNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessEscapedMonstersNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessEscapedMonstersNotify_proto_goTypes,
+ DependencyIndexes: file_ChessEscapedMonstersNotify_proto_depIdxs,
+ MessageInfos: file_ChessEscapedMonstersNotify_proto_msgTypes,
+ }.Build()
+ File_ChessEscapedMonstersNotify_proto = out.File
+ file_ChessEscapedMonstersNotify_proto_rawDesc = nil
+ file_ChessEscapedMonstersNotify_proto_goTypes = nil
+ file_ChessEscapedMonstersNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessLeftMonstersNotify.pb.go b/protocol/proto/ChessLeftMonstersNotify.pb.go
new file mode 100644
index 00000000..6e15b42a
--- /dev/null
+++ b/protocol/proto/ChessLeftMonstersNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessLeftMonstersNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5360
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChessLeftMonstersNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LeftMonsters uint32 `protobuf:"varint,6,opt,name=left_monsters,json=leftMonsters,proto3" json:"left_monsters,omitempty"`
+}
+
+func (x *ChessLeftMonstersNotify) Reset() {
+ *x = ChessLeftMonstersNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessLeftMonstersNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessLeftMonstersNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessLeftMonstersNotify) ProtoMessage() {}
+
+func (x *ChessLeftMonstersNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessLeftMonstersNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessLeftMonstersNotify.ProtoReflect.Descriptor instead.
+func (*ChessLeftMonstersNotify) Descriptor() ([]byte, []int) {
+ return file_ChessLeftMonstersNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessLeftMonstersNotify) GetLeftMonsters() uint32 {
+ if x != nil {
+ return x.LeftMonsters
+ }
+ return 0
+}
+
+var File_ChessLeftMonstersNotify_proto protoreflect.FileDescriptor
+
+var file_ChessLeftMonstersNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4c,
+ 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessLeftMonstersNotify_proto_rawDescOnce sync.Once
+ file_ChessLeftMonstersNotify_proto_rawDescData = file_ChessLeftMonstersNotify_proto_rawDesc
+)
+
+func file_ChessLeftMonstersNotify_proto_rawDescGZIP() []byte {
+ file_ChessLeftMonstersNotify_proto_rawDescOnce.Do(func() {
+ file_ChessLeftMonstersNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessLeftMonstersNotify_proto_rawDescData)
+ })
+ return file_ChessLeftMonstersNotify_proto_rawDescData
+}
+
+var file_ChessLeftMonstersNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessLeftMonstersNotify_proto_goTypes = []interface{}{
+ (*ChessLeftMonstersNotify)(nil), // 0: proto.ChessLeftMonstersNotify
+}
+var file_ChessLeftMonstersNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessLeftMonstersNotify_proto_init() }
+func file_ChessLeftMonstersNotify_proto_init() {
+ if File_ChessLeftMonstersNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessLeftMonstersNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessLeftMonstersNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessLeftMonstersNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessLeftMonstersNotify_proto_goTypes,
+ DependencyIndexes: file_ChessLeftMonstersNotify_proto_depIdxs,
+ MessageInfos: file_ChessLeftMonstersNotify_proto_msgTypes,
+ }.Build()
+ File_ChessLeftMonstersNotify_proto = out.File
+ file_ChessLeftMonstersNotify_proto_rawDesc = nil
+ file_ChessLeftMonstersNotify_proto_goTypes = nil
+ file_ChessLeftMonstersNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessManualRefreshCardsReq.pb.go b/protocol/proto/ChessManualRefreshCardsReq.pb.go
new file mode 100644
index 00000000..e8d687f1
--- /dev/null
+++ b/protocol/proto/ChessManualRefreshCardsReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessManualRefreshCardsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5389
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChessManualRefreshCardsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ChessManualRefreshCardsReq) Reset() {
+ *x = ChessManualRefreshCardsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessManualRefreshCardsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessManualRefreshCardsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessManualRefreshCardsReq) ProtoMessage() {}
+
+func (x *ChessManualRefreshCardsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessManualRefreshCardsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessManualRefreshCardsReq.ProtoReflect.Descriptor instead.
+func (*ChessManualRefreshCardsReq) Descriptor() ([]byte, []int) {
+ return file_ChessManualRefreshCardsReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ChessManualRefreshCardsReq_proto protoreflect.FileDescriptor
+
+var file_ChessManualRefreshCardsReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x43, 0x68, 0x65,
+ 0x73, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43,
+ 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessManualRefreshCardsReq_proto_rawDescOnce sync.Once
+ file_ChessManualRefreshCardsReq_proto_rawDescData = file_ChessManualRefreshCardsReq_proto_rawDesc
+)
+
+func file_ChessManualRefreshCardsReq_proto_rawDescGZIP() []byte {
+ file_ChessManualRefreshCardsReq_proto_rawDescOnce.Do(func() {
+ file_ChessManualRefreshCardsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessManualRefreshCardsReq_proto_rawDescData)
+ })
+ return file_ChessManualRefreshCardsReq_proto_rawDescData
+}
+
+var file_ChessManualRefreshCardsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessManualRefreshCardsReq_proto_goTypes = []interface{}{
+ (*ChessManualRefreshCardsReq)(nil), // 0: proto.ChessManualRefreshCardsReq
+}
+var file_ChessManualRefreshCardsReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessManualRefreshCardsReq_proto_init() }
+func file_ChessManualRefreshCardsReq_proto_init() {
+ if File_ChessManualRefreshCardsReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessManualRefreshCardsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessManualRefreshCardsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessManualRefreshCardsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessManualRefreshCardsReq_proto_goTypes,
+ DependencyIndexes: file_ChessManualRefreshCardsReq_proto_depIdxs,
+ MessageInfos: file_ChessManualRefreshCardsReq_proto_msgTypes,
+ }.Build()
+ File_ChessManualRefreshCardsReq_proto = out.File
+ file_ChessManualRefreshCardsReq_proto_rawDesc = nil
+ file_ChessManualRefreshCardsReq_proto_goTypes = nil
+ file_ChessManualRefreshCardsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessManualRefreshCardsRsp.pb.go b/protocol/proto/ChessManualRefreshCardsRsp.pb.go
new file mode 100644
index 00000000..a32f0f85
--- /dev/null
+++ b/protocol/proto/ChessManualRefreshCardsRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessManualRefreshCardsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5359
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChessManualRefreshCardsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ChessManualRefreshCardsRsp) Reset() {
+ *x = ChessManualRefreshCardsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessManualRefreshCardsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessManualRefreshCardsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessManualRefreshCardsRsp) ProtoMessage() {}
+
+func (x *ChessManualRefreshCardsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessManualRefreshCardsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessManualRefreshCardsRsp.ProtoReflect.Descriptor instead.
+func (*ChessManualRefreshCardsRsp) Descriptor() ([]byte, []int) {
+ return file_ChessManualRefreshCardsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessManualRefreshCardsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ChessManualRefreshCardsRsp_proto protoreflect.FileDescriptor
+
+var file_ChessManualRefreshCardsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x72, 0x64, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x43, 0x68, 0x65,
+ 0x73, 0x73, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43,
+ 0x61, 0x72, 0x64, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessManualRefreshCardsRsp_proto_rawDescOnce sync.Once
+ file_ChessManualRefreshCardsRsp_proto_rawDescData = file_ChessManualRefreshCardsRsp_proto_rawDesc
+)
+
+func file_ChessManualRefreshCardsRsp_proto_rawDescGZIP() []byte {
+ file_ChessManualRefreshCardsRsp_proto_rawDescOnce.Do(func() {
+ file_ChessManualRefreshCardsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessManualRefreshCardsRsp_proto_rawDescData)
+ })
+ return file_ChessManualRefreshCardsRsp_proto_rawDescData
+}
+
+var file_ChessManualRefreshCardsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessManualRefreshCardsRsp_proto_goTypes = []interface{}{
+ (*ChessManualRefreshCardsRsp)(nil), // 0: proto.ChessManualRefreshCardsRsp
+}
+var file_ChessManualRefreshCardsRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessManualRefreshCardsRsp_proto_init() }
+func file_ChessManualRefreshCardsRsp_proto_init() {
+ if File_ChessManualRefreshCardsRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessManualRefreshCardsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessManualRefreshCardsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessManualRefreshCardsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessManualRefreshCardsRsp_proto_goTypes,
+ DependencyIndexes: file_ChessManualRefreshCardsRsp_proto_depIdxs,
+ MessageInfos: file_ChessManualRefreshCardsRsp_proto_msgTypes,
+ }.Build()
+ File_ChessManualRefreshCardsRsp_proto = out.File
+ file_ChessManualRefreshCardsRsp_proto_rawDesc = nil
+ file_ChessManualRefreshCardsRsp_proto_goTypes = nil
+ file_ChessManualRefreshCardsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessMonsterInfo.pb.go b/protocol/proto/ChessMonsterInfo.pb.go
new file mode 100644
index 00000000..39e5a706
--- /dev/null
+++ b/protocol/proto/ChessMonsterInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessMonsterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChessMonsterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterId uint32 `protobuf:"varint,12,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ Level uint32 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"`
+ AffixList []uint32 `protobuf:"varint,13,rep,packed,name=affix_list,json=affixList,proto3" json:"affix_list,omitempty"`
+}
+
+func (x *ChessMonsterInfo) Reset() {
+ *x = ChessMonsterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessMonsterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessMonsterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessMonsterInfo) ProtoMessage() {}
+
+func (x *ChessMonsterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessMonsterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessMonsterInfo.ProtoReflect.Descriptor instead.
+func (*ChessMonsterInfo) Descriptor() ([]byte, []int) {
+ return file_ChessMonsterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessMonsterInfo) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *ChessMonsterInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *ChessMonsterInfo) GetAffixList() []uint32 {
+ if x != nil {
+ return x.AffixList
+ }
+ return nil
+}
+
+var File_ChessMonsterInfo_proto protoreflect.FileDescriptor
+
+var file_ChessMonsterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x66, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x66, 0x66, 0x69,
+ 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x66,
+ 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessMonsterInfo_proto_rawDescOnce sync.Once
+ file_ChessMonsterInfo_proto_rawDescData = file_ChessMonsterInfo_proto_rawDesc
+)
+
+func file_ChessMonsterInfo_proto_rawDescGZIP() []byte {
+ file_ChessMonsterInfo_proto_rawDescOnce.Do(func() {
+ file_ChessMonsterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessMonsterInfo_proto_rawDescData)
+ })
+ return file_ChessMonsterInfo_proto_rawDescData
+}
+
+var file_ChessMonsterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessMonsterInfo_proto_goTypes = []interface{}{
+ (*ChessMonsterInfo)(nil), // 0: proto.ChessMonsterInfo
+}
+var file_ChessMonsterInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessMonsterInfo_proto_init() }
+func file_ChessMonsterInfo_proto_init() {
+ if File_ChessMonsterInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessMonsterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessMonsterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessMonsterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessMonsterInfo_proto_goTypes,
+ DependencyIndexes: file_ChessMonsterInfo_proto_depIdxs,
+ MessageInfos: file_ChessMonsterInfo_proto_msgTypes,
+ }.Build()
+ File_ChessMonsterInfo_proto = out.File
+ file_ChessMonsterInfo_proto_rawDesc = nil
+ file_ChessMonsterInfo_proto_goTypes = nil
+ file_ChessMonsterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessMysteryInfo.pb.go b/protocol/proto/ChessMysteryInfo.pb.go
new file mode 100644
index 00000000..78296166
--- /dev/null
+++ b/protocol/proto/ChessMysteryInfo.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessMysteryInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChessMysteryInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntrancePointMap map[uint32]uint32 `protobuf:"bytes,13,rep,name=entrance_point_map,json=entrancePointMap,proto3" json:"entrance_point_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ExitPointIdList []uint32 `protobuf:"varint,3,rep,packed,name=exit_point_id_list,json=exitPointIdList,proto3" json:"exit_point_id_list,omitempty"`
+ DetailInfoMap map[uint32]*ChessEntranceDetailInfo `protobuf:"bytes,5,rep,name=detail_info_map,json=detailInfoMap,proto3" json:"detail_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *ChessMysteryInfo) Reset() {
+ *x = ChessMysteryInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessMysteryInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessMysteryInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessMysteryInfo) ProtoMessage() {}
+
+func (x *ChessMysteryInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessMysteryInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessMysteryInfo.ProtoReflect.Descriptor instead.
+func (*ChessMysteryInfo) Descriptor() ([]byte, []int) {
+ return file_ChessMysteryInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessMysteryInfo) GetEntrancePointMap() map[uint32]uint32 {
+ if x != nil {
+ return x.EntrancePointMap
+ }
+ return nil
+}
+
+func (x *ChessMysteryInfo) GetExitPointIdList() []uint32 {
+ if x != nil {
+ return x.ExitPointIdList
+ }
+ return nil
+}
+
+func (x *ChessMysteryInfo) GetDetailInfoMap() map[uint32]*ChessEntranceDetailInfo {
+ if x != nil {
+ return x.DetailInfoMap
+ }
+ return nil
+}
+
+var File_ChessMysteryInfo_proto protoreflect.FileDescriptor
+
+var file_ChessMysteryInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79, 0x73, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97,
+ 0x03, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79, 0x73, 0x74, 0x65, 0x72, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x12, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79, 0x73,
+ 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63,
+ 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10,
+ 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4d, 0x61, 0x70,
+ 0x12, 0x2b, 0x0a, 0x12, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x78,
+ 0x69, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x52, 0x0a,
+ 0x0f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79, 0x73, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x0d, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61,
+ 0x70, 0x1a, 0x43, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, 0x0a, 0x12, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61,
+ 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessMysteryInfo_proto_rawDescOnce sync.Once
+ file_ChessMysteryInfo_proto_rawDescData = file_ChessMysteryInfo_proto_rawDesc
+)
+
+func file_ChessMysteryInfo_proto_rawDescGZIP() []byte {
+ file_ChessMysteryInfo_proto_rawDescOnce.Do(func() {
+ file_ChessMysteryInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessMysteryInfo_proto_rawDescData)
+ })
+ return file_ChessMysteryInfo_proto_rawDescData
+}
+
+var file_ChessMysteryInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_ChessMysteryInfo_proto_goTypes = []interface{}{
+ (*ChessMysteryInfo)(nil), // 0: proto.ChessMysteryInfo
+ nil, // 1: proto.ChessMysteryInfo.EntrancePointMapEntry
+ nil, // 2: proto.ChessMysteryInfo.DetailInfoMapEntry
+ (*ChessEntranceDetailInfo)(nil), // 3: proto.ChessEntranceDetailInfo
+}
+var file_ChessMysteryInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ChessMysteryInfo.entrance_point_map:type_name -> proto.ChessMysteryInfo.EntrancePointMapEntry
+ 2, // 1: proto.ChessMysteryInfo.detail_info_map:type_name -> proto.ChessMysteryInfo.DetailInfoMapEntry
+ 3, // 2: proto.ChessMysteryInfo.DetailInfoMapEntry.value:type_name -> proto.ChessEntranceDetailInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ChessMysteryInfo_proto_init() }
+func file_ChessMysteryInfo_proto_init() {
+ if File_ChessMysteryInfo_proto != nil {
+ return
+ }
+ file_ChessEntranceDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChessMysteryInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessMysteryInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessMysteryInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessMysteryInfo_proto_goTypes,
+ DependencyIndexes: file_ChessMysteryInfo_proto_depIdxs,
+ MessageInfos: file_ChessMysteryInfo_proto_msgTypes,
+ }.Build()
+ File_ChessMysteryInfo_proto = out.File
+ file_ChessMysteryInfo_proto_rawDesc = nil
+ file_ChessMysteryInfo_proto_goTypes = nil
+ file_ChessMysteryInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessNormalCardInfo.pb.go b/protocol/proto/ChessNormalCardInfo.pb.go
new file mode 100644
index 00000000..3759346a
--- /dev/null
+++ b/protocol/proto/ChessNormalCardInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessNormalCardInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChessNormalCardInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,2,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ CostPoints uint32 `protobuf:"varint,15,opt,name=cost_points,json=costPoints,proto3" json:"cost_points,omitempty"`
+ IsAttachCurse bool `protobuf:"varint,6,opt,name=is_attach_curse,json=isAttachCurse,proto3" json:"is_attach_curse,omitempty"`
+}
+
+func (x *ChessNormalCardInfo) Reset() {
+ *x = ChessNormalCardInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessNormalCardInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessNormalCardInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessNormalCardInfo) ProtoMessage() {}
+
+func (x *ChessNormalCardInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessNormalCardInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessNormalCardInfo.ProtoReflect.Descriptor instead.
+func (*ChessNormalCardInfo) Descriptor() ([]byte, []int) {
+ return file_ChessNormalCardInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessNormalCardInfo) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *ChessNormalCardInfo) GetCostPoints() uint32 {
+ if x != nil {
+ return x.CostPoints
+ }
+ return 0
+}
+
+func (x *ChessNormalCardInfo) GetIsAttachCurse() bool {
+ if x != nil {
+ return x.IsAttachCurse
+ }
+ return false
+}
+
+var File_ChessNormalCardInfo_proto protoreflect.FileDescriptor
+
+var file_ChessNormalCardInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x72,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x72, 0x6d, 0x61,
+ 0x6c, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68,
+ 0x5f, 0x63, 0x75, 0x72, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73,
+ 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x43, 0x75, 0x72, 0x73, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessNormalCardInfo_proto_rawDescOnce sync.Once
+ file_ChessNormalCardInfo_proto_rawDescData = file_ChessNormalCardInfo_proto_rawDesc
+)
+
+func file_ChessNormalCardInfo_proto_rawDescGZIP() []byte {
+ file_ChessNormalCardInfo_proto_rawDescOnce.Do(func() {
+ file_ChessNormalCardInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessNormalCardInfo_proto_rawDescData)
+ })
+ return file_ChessNormalCardInfo_proto_rawDescData
+}
+
+var file_ChessNormalCardInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessNormalCardInfo_proto_goTypes = []interface{}{
+ (*ChessNormalCardInfo)(nil), // 0: proto.ChessNormalCardInfo
+}
+var file_ChessNormalCardInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessNormalCardInfo_proto_init() }
+func file_ChessNormalCardInfo_proto_init() {
+ if File_ChessNormalCardInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessNormalCardInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessNormalCardInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessNormalCardInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessNormalCardInfo_proto_goTypes,
+ DependencyIndexes: file_ChessNormalCardInfo_proto_depIdxs,
+ MessageInfos: file_ChessNormalCardInfo_proto_msgTypes,
+ }.Build()
+ File_ChessNormalCardInfo_proto = out.File
+ file_ChessNormalCardInfo_proto_rawDesc = nil
+ file_ChessNormalCardInfo_proto_goTypes = nil
+ file_ChessNormalCardInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessPickCardNotify.pb.go b/protocol/proto/ChessPickCardNotify.pb.go
new file mode 100644
index 00000000..5d560ea9
--- /dev/null
+++ b/protocol/proto/ChessPickCardNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessPickCardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5380
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChessPickCardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurseCardId uint32 `protobuf:"varint,13,opt,name=curse_card_id,json=curseCardId,proto3" json:"curse_card_id,omitempty"`
+ NormalCardInfo *ChessNormalCardInfo `protobuf:"bytes,1,opt,name=normal_card_info,json=normalCardInfo,proto3" json:"normal_card_info,omitempty"`
+}
+
+func (x *ChessPickCardNotify) Reset() {
+ *x = ChessPickCardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessPickCardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessPickCardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessPickCardNotify) ProtoMessage() {}
+
+func (x *ChessPickCardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessPickCardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessPickCardNotify.ProtoReflect.Descriptor instead.
+func (*ChessPickCardNotify) Descriptor() ([]byte, []int) {
+ return file_ChessPickCardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessPickCardNotify) GetCurseCardId() uint32 {
+ if x != nil {
+ return x.CurseCardId
+ }
+ return 0
+}
+
+func (x *ChessPickCardNotify) GetNormalCardInfo() *ChessNormalCardInfo {
+ if x != nil {
+ return x.NormalCardInfo
+ }
+ return nil
+}
+
+var File_ChessPickCardNotify_proto protoreflect.FileDescriptor
+
+var file_ChessPickCardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43,
+ 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a,
+ 0x13, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f, 0x63, 0x61,
+ 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72,
+ 0x73, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x6e, 0x6f, 0x72, 0x6d,
+ 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73,
+ 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e,
+ 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ChessPickCardNotify_proto_rawDescOnce sync.Once
+ file_ChessPickCardNotify_proto_rawDescData = file_ChessPickCardNotify_proto_rawDesc
+)
+
+func file_ChessPickCardNotify_proto_rawDescGZIP() []byte {
+ file_ChessPickCardNotify_proto_rawDescOnce.Do(func() {
+ file_ChessPickCardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessPickCardNotify_proto_rawDescData)
+ })
+ return file_ChessPickCardNotify_proto_rawDescData
+}
+
+var file_ChessPickCardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessPickCardNotify_proto_goTypes = []interface{}{
+ (*ChessPickCardNotify)(nil), // 0: proto.ChessPickCardNotify
+ (*ChessNormalCardInfo)(nil), // 1: proto.ChessNormalCardInfo
+}
+var file_ChessPickCardNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ChessPickCardNotify.normal_card_info:type_name -> proto.ChessNormalCardInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChessPickCardNotify_proto_init() }
+func file_ChessPickCardNotify_proto_init() {
+ if File_ChessPickCardNotify_proto != nil {
+ return
+ }
+ file_ChessNormalCardInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChessPickCardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessPickCardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessPickCardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessPickCardNotify_proto_goTypes,
+ DependencyIndexes: file_ChessPickCardNotify_proto_depIdxs,
+ MessageInfos: file_ChessPickCardNotify_proto_msgTypes,
+ }.Build()
+ File_ChessPickCardNotify_proto = out.File
+ file_ChessPickCardNotify_proto_rawDesc = nil
+ file_ChessPickCardNotify_proto_goTypes = nil
+ file_ChessPickCardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessPickCardReq.pb.go b/protocol/proto/ChessPickCardReq.pb.go
new file mode 100644
index 00000000..57decf43
--- /dev/null
+++ b/protocol/proto/ChessPickCardReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessPickCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5333
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChessPickCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ CardIndex uint32 `protobuf:"varint,4,opt,name=card_index,json=cardIndex,proto3" json:"card_index,omitempty"`
+}
+
+func (x *ChessPickCardReq) Reset() {
+ *x = ChessPickCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessPickCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessPickCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessPickCardReq) ProtoMessage() {}
+
+func (x *ChessPickCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessPickCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessPickCardReq.ProtoReflect.Descriptor instead.
+func (*ChessPickCardReq) Descriptor() ([]byte, []int) {
+ return file_ChessPickCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessPickCardReq) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *ChessPickCardReq) GetCardIndex() uint32 {
+ if x != nil {
+ return x.CardIndex
+ }
+ return 0
+}
+
+var File_ChessPickCardReq_proto protoreflect.FileDescriptor
+
+var file_ChessPickCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x4a, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x63, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessPickCardReq_proto_rawDescOnce sync.Once
+ file_ChessPickCardReq_proto_rawDescData = file_ChessPickCardReq_proto_rawDesc
+)
+
+func file_ChessPickCardReq_proto_rawDescGZIP() []byte {
+ file_ChessPickCardReq_proto_rawDescOnce.Do(func() {
+ file_ChessPickCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessPickCardReq_proto_rawDescData)
+ })
+ return file_ChessPickCardReq_proto_rawDescData
+}
+
+var file_ChessPickCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessPickCardReq_proto_goTypes = []interface{}{
+ (*ChessPickCardReq)(nil), // 0: proto.ChessPickCardReq
+}
+var file_ChessPickCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessPickCardReq_proto_init() }
+func file_ChessPickCardReq_proto_init() {
+ if File_ChessPickCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessPickCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessPickCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessPickCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessPickCardReq_proto_goTypes,
+ DependencyIndexes: file_ChessPickCardReq_proto_depIdxs,
+ MessageInfos: file_ChessPickCardReq_proto_msgTypes,
+ }.Build()
+ File_ChessPickCardReq_proto = out.File
+ file_ChessPickCardReq_proto_rawDesc = nil
+ file_ChessPickCardReq_proto_goTypes = nil
+ file_ChessPickCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessPickCardRsp.pb.go b/protocol/proto/ChessPickCardRsp.pb.go
new file mode 100644
index 00000000..d1f92b64
--- /dev/null
+++ b/protocol/proto/ChessPickCardRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessPickCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5384
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChessPickCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardIndex uint32 `protobuf:"varint,11,opt,name=card_index,json=cardIndex,proto3" json:"card_index,omitempty"`
+ CardId uint32 `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ChessPickCardRsp) Reset() {
+ *x = ChessPickCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessPickCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessPickCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessPickCardRsp) ProtoMessage() {}
+
+func (x *ChessPickCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessPickCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessPickCardRsp.ProtoReflect.Descriptor instead.
+func (*ChessPickCardRsp) Descriptor() ([]byte, []int) {
+ return file_ChessPickCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessPickCardRsp) GetCardIndex() uint32 {
+ if x != nil {
+ return x.CardIndex
+ }
+ return 0
+}
+
+func (x *ChessPickCardRsp) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *ChessPickCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ChessPickCardRsp_proto protoreflect.FileDescriptor
+
+var file_ChessPickCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x64, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessPickCardRsp_proto_rawDescOnce sync.Once
+ file_ChessPickCardRsp_proto_rawDescData = file_ChessPickCardRsp_proto_rawDesc
+)
+
+func file_ChessPickCardRsp_proto_rawDescGZIP() []byte {
+ file_ChessPickCardRsp_proto_rawDescOnce.Do(func() {
+ file_ChessPickCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessPickCardRsp_proto_rawDescData)
+ })
+ return file_ChessPickCardRsp_proto_rawDescData
+}
+
+var file_ChessPickCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessPickCardRsp_proto_goTypes = []interface{}{
+ (*ChessPickCardRsp)(nil), // 0: proto.ChessPickCardRsp
+}
+var file_ChessPickCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChessPickCardRsp_proto_init() }
+func file_ChessPickCardRsp_proto_init() {
+ if File_ChessPickCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChessPickCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessPickCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessPickCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessPickCardRsp_proto_goTypes,
+ DependencyIndexes: file_ChessPickCardRsp_proto_depIdxs,
+ MessageInfos: file_ChessPickCardRsp_proto_msgTypes,
+ }.Build()
+ File_ChessPickCardRsp_proto = out.File
+ file_ChessPickCardRsp_proto_rawDesc = nil
+ file_ChessPickCardRsp_proto_goTypes = nil
+ file_ChessPickCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessPlayerInfo.pb.go b/protocol/proto/ChessPlayerInfo.pb.go
new file mode 100644
index 00000000..67984107
--- /dev/null
+++ b/protocol/proto/ChessPlayerInfo.pb.go
@@ -0,0 +1,229 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessPlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChessPlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,5,opt,name=uid,proto3" json:"uid,omitempty"`
+ FreeRefreshLimit uint32 `protobuf:"varint,10,opt,name=free_refresh_limit,json=freeRefreshLimit,proto3" json:"free_refresh_limit,omitempty"`
+ CandidateCardInfoList []*ChessNormalCardInfo `protobuf:"bytes,3,rep,name=candidate_card_info_list,json=candidateCardInfoList,proto3" json:"candidate_card_info_list,omitempty"`
+ BuildingPoints uint32 `protobuf:"varint,12,opt,name=building_points,json=buildingPoints,proto3" json:"building_points,omitempty"`
+ CandidateIndex uint32 `protobuf:"varint,6,opt,name=candidate_index,json=candidateIndex,proto3" json:"candidate_index,omitempty"`
+ FreeRefreshCount uint32 `protobuf:"varint,13,opt,name=free_refresh_count,json=freeRefreshCount,proto3" json:"free_refresh_count,omitempty"`
+ RefreshCost uint32 `protobuf:"varint,7,opt,name=refresh_cost,json=refreshCost,proto3" json:"refresh_cost,omitempty"`
+}
+
+func (x *ChessPlayerInfo) Reset() {
+ *x = ChessPlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessPlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessPlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessPlayerInfo) ProtoMessage() {}
+
+func (x *ChessPlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessPlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessPlayerInfo.ProtoReflect.Descriptor instead.
+func (*ChessPlayerInfo) Descriptor() ([]byte, []int) {
+ return file_ChessPlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessPlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *ChessPlayerInfo) GetFreeRefreshLimit() uint32 {
+ if x != nil {
+ return x.FreeRefreshLimit
+ }
+ return 0
+}
+
+func (x *ChessPlayerInfo) GetCandidateCardInfoList() []*ChessNormalCardInfo {
+ if x != nil {
+ return x.CandidateCardInfoList
+ }
+ return nil
+}
+
+func (x *ChessPlayerInfo) GetBuildingPoints() uint32 {
+ if x != nil {
+ return x.BuildingPoints
+ }
+ return 0
+}
+
+func (x *ChessPlayerInfo) GetCandidateIndex() uint32 {
+ if x != nil {
+ return x.CandidateIndex
+ }
+ return 0
+}
+
+func (x *ChessPlayerInfo) GetFreeRefreshCount() uint32 {
+ if x != nil {
+ return x.FreeRefreshCount
+ }
+ return 0
+}
+
+func (x *ChessPlayerInfo) GetRefreshCost() uint32 {
+ if x != nil {
+ return x.RefreshCost
+ }
+ return 0
+}
+
+var File_ChessPlayerInfo_proto protoreflect.FileDescriptor
+
+var file_ChessPlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x43, 0x68, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x02, 0x0a, 0x0f, 0x43, 0x68,
+ 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a,
+ 0x03, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
+ 0x2c, 0x0a, 0x12, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f,
+ 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x66, 0x72, 0x65,
+ 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x53, 0x0a,
+ 0x18, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x63, 0x61, 0x6e,
+ 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x75, 0x69,
+ 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63,
+ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x10, 0x66, 0x72, 0x65, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f,
+ 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x43, 0x6f, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessPlayerInfo_proto_rawDescOnce sync.Once
+ file_ChessPlayerInfo_proto_rawDescData = file_ChessPlayerInfo_proto_rawDesc
+)
+
+func file_ChessPlayerInfo_proto_rawDescGZIP() []byte {
+ file_ChessPlayerInfo_proto_rawDescOnce.Do(func() {
+ file_ChessPlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessPlayerInfo_proto_rawDescData)
+ })
+ return file_ChessPlayerInfo_proto_rawDescData
+}
+
+var file_ChessPlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessPlayerInfo_proto_goTypes = []interface{}{
+ (*ChessPlayerInfo)(nil), // 0: proto.ChessPlayerInfo
+ (*ChessNormalCardInfo)(nil), // 1: proto.ChessNormalCardInfo
+}
+var file_ChessPlayerInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ChessPlayerInfo.candidate_card_info_list:type_name -> proto.ChessNormalCardInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChessPlayerInfo_proto_init() }
+func file_ChessPlayerInfo_proto_init() {
+ if File_ChessPlayerInfo_proto != nil {
+ return
+ }
+ file_ChessNormalCardInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChessPlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessPlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessPlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessPlayerInfo_proto_goTypes,
+ DependencyIndexes: file_ChessPlayerInfo_proto_depIdxs,
+ MessageInfos: file_ChessPlayerInfo_proto_msgTypes,
+ }.Build()
+ File_ChessPlayerInfo_proto = out.File
+ file_ChessPlayerInfo_proto_rawDesc = nil
+ file_ChessPlayerInfo_proto_goTypes = nil
+ file_ChessPlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessPlayerInfoNotify.pb.go b/protocol/proto/ChessPlayerInfoNotify.pb.go
new file mode 100644
index 00000000..8189b63d
--- /dev/null
+++ b/protocol/proto/ChessPlayerInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessPlayerInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5332
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChessPlayerInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerInfo *ChessPlayerInfo `protobuf:"bytes,10,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+}
+
+func (x *ChessPlayerInfoNotify) Reset() {
+ *x = ChessPlayerInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessPlayerInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessPlayerInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessPlayerInfoNotify) ProtoMessage() {}
+
+func (x *ChessPlayerInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessPlayerInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessPlayerInfoNotify.ProtoReflect.Descriptor instead.
+func (*ChessPlayerInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ChessPlayerInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessPlayerInfoNotify) GetPlayerInfo() *ChessPlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+var File_ChessPlayerInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ChessPlayerInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x15, 0x43,
+ 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x37, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ChessPlayerInfoNotify_proto_rawDescOnce sync.Once
+ file_ChessPlayerInfoNotify_proto_rawDescData = file_ChessPlayerInfoNotify_proto_rawDesc
+)
+
+func file_ChessPlayerInfoNotify_proto_rawDescGZIP() []byte {
+ file_ChessPlayerInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ChessPlayerInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessPlayerInfoNotify_proto_rawDescData)
+ })
+ return file_ChessPlayerInfoNotify_proto_rawDescData
+}
+
+var file_ChessPlayerInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessPlayerInfoNotify_proto_goTypes = []interface{}{
+ (*ChessPlayerInfoNotify)(nil), // 0: proto.ChessPlayerInfoNotify
+ (*ChessPlayerInfo)(nil), // 1: proto.ChessPlayerInfo
+}
+var file_ChessPlayerInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ChessPlayerInfoNotify.player_info:type_name -> proto.ChessPlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChessPlayerInfoNotify_proto_init() }
+func file_ChessPlayerInfoNotify_proto_init() {
+ if File_ChessPlayerInfoNotify_proto != nil {
+ return
+ }
+ file_ChessPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChessPlayerInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessPlayerInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessPlayerInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessPlayerInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ChessPlayerInfoNotify_proto_depIdxs,
+ MessageInfos: file_ChessPlayerInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ChessPlayerInfoNotify_proto = out.File
+ file_ChessPlayerInfoNotify_proto_rawDesc = nil
+ file_ChessPlayerInfoNotify_proto_goTypes = nil
+ file_ChessPlayerInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChessSelectedCardsNotify.pb.go b/protocol/proto/ChessSelectedCardsNotify.pb.go
new file mode 100644
index 00000000..77a30e09
--- /dev/null
+++ b/protocol/proto/ChessSelectedCardsNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChessSelectedCardsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5392
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChessSelectedCardsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SelectedCardInfoList []*ChessCardInfo `protobuf:"bytes,4,rep,name=selected_card_info_list,json=selectedCardInfoList,proto3" json:"selected_card_info_list,omitempty"`
+}
+
+func (x *ChessSelectedCardsNotify) Reset() {
+ *x = ChessSelectedCardsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChessSelectedCardsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChessSelectedCardsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChessSelectedCardsNotify) ProtoMessage() {}
+
+func (x *ChessSelectedCardsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ChessSelectedCardsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChessSelectedCardsNotify.ProtoReflect.Descriptor instead.
+func (*ChessSelectedCardsNotify) Descriptor() ([]byte, []int) {
+ return file_ChessSelectedCardsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChessSelectedCardsNotify) GetSelectedCardInfoList() []*ChessCardInfo {
+ if x != nil {
+ return x.SelectedCardInfoList
+ }
+ return nil
+}
+
+var File_ChessSelectedCardsNotify_proto protoreflect.FileDescriptor
+
+var file_ChessSelectedCardsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43,
+ 0x61, 0x72, 0x64, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x43, 0x68, 0x65, 0x73, 0x73, 0x43, 0x61,
+ 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x18,
+ 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72,
+ 0x64, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x4b, 0x0a, 0x17, 0x73, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x14, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChessSelectedCardsNotify_proto_rawDescOnce sync.Once
+ file_ChessSelectedCardsNotify_proto_rawDescData = file_ChessSelectedCardsNotify_proto_rawDesc
+)
+
+func file_ChessSelectedCardsNotify_proto_rawDescGZIP() []byte {
+ file_ChessSelectedCardsNotify_proto_rawDescOnce.Do(func() {
+ file_ChessSelectedCardsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChessSelectedCardsNotify_proto_rawDescData)
+ })
+ return file_ChessSelectedCardsNotify_proto_rawDescData
+}
+
+var file_ChessSelectedCardsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChessSelectedCardsNotify_proto_goTypes = []interface{}{
+ (*ChessSelectedCardsNotify)(nil), // 0: proto.ChessSelectedCardsNotify
+ (*ChessCardInfo)(nil), // 1: proto.ChessCardInfo
+}
+var file_ChessSelectedCardsNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ChessSelectedCardsNotify.selected_card_info_list:type_name -> proto.ChessCardInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ChessSelectedCardsNotify_proto_init() }
+func file_ChessSelectedCardsNotify_proto_init() {
+ if File_ChessSelectedCardsNotify_proto != nil {
+ return
+ }
+ file_ChessCardInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ChessSelectedCardsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChessSelectedCardsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChessSelectedCardsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChessSelectedCardsNotify_proto_goTypes,
+ DependencyIndexes: file_ChessSelectedCardsNotify_proto_depIdxs,
+ MessageInfos: file_ChessSelectedCardsNotify_proto_msgTypes,
+ }.Build()
+ File_ChessSelectedCardsNotify_proto = out.File
+ file_ChessSelectedCardsNotify_proto_rawDesc = nil
+ file_ChessSelectedCardsNotify_proto_goTypes = nil
+ file_ChessSelectedCardsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChildQuest.pb.go b/protocol/proto/ChildQuest.pb.go
new file mode 100644
index 00000000..5fb57170
--- /dev/null
+++ b/protocol/proto/ChildQuest.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChildQuest.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ChildQuest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestConfigId uint32 `protobuf:"varint,8,opt,name=quest_config_id,json=questConfigId,proto3" json:"quest_config_id,omitempty"`
+ State uint32 `protobuf:"varint,4,opt,name=state,proto3" json:"state,omitempty"`
+ QuestId uint32 `protobuf:"varint,15,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *ChildQuest) Reset() {
+ *x = ChildQuest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChildQuest_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChildQuest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChildQuest) ProtoMessage() {}
+
+func (x *ChildQuest) ProtoReflect() protoreflect.Message {
+ mi := &file_ChildQuest_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChildQuest.ProtoReflect.Descriptor instead.
+func (*ChildQuest) Descriptor() ([]byte, []int) {
+ return file_ChildQuest_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChildQuest) GetQuestConfigId() uint32 {
+ if x != nil {
+ return x.QuestConfigId
+ }
+ return 0
+}
+
+func (x *ChildQuest) GetState() uint32 {
+ if x != nil {
+ return x.State
+ }
+ return 0
+}
+
+func (x *ChildQuest) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_ChildQuest_proto protoreflect.FileDescriptor
+
+var file_ChildQuest_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x0a, 0x43, 0x68, 0x69,
+ 0x6c, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChildQuest_proto_rawDescOnce sync.Once
+ file_ChildQuest_proto_rawDescData = file_ChildQuest_proto_rawDesc
+)
+
+func file_ChildQuest_proto_rawDescGZIP() []byte {
+ file_ChildQuest_proto_rawDescOnce.Do(func() {
+ file_ChildQuest_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChildQuest_proto_rawDescData)
+ })
+ return file_ChildQuest_proto_rawDescData
+}
+
+var file_ChildQuest_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChildQuest_proto_goTypes = []interface{}{
+ (*ChildQuest)(nil), // 0: proto.ChildQuest
+}
+var file_ChildQuest_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChildQuest_proto_init() }
+func file_ChildQuest_proto_init() {
+ if File_ChildQuest_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChildQuest_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChildQuest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChildQuest_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChildQuest_proto_goTypes,
+ DependencyIndexes: file_ChildQuest_proto_depIdxs,
+ MessageInfos: file_ChildQuest_proto_msgTypes,
+ }.Build()
+ File_ChildQuest_proto = out.File
+ file_ChildQuest_proto_rawDesc = nil
+ file_ChildQuest_proto_goTypes = nil
+ file_ChildQuest_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChooseCurAvatarTeamReq.pb.go b/protocol/proto/ChooseCurAvatarTeamReq.pb.go
new file mode 100644
index 00000000..f7f1babe
--- /dev/null
+++ b/protocol/proto/ChooseCurAvatarTeamReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChooseCurAvatarTeamReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1796
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ChooseCurAvatarTeamReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TeamId uint32 `protobuf:"varint,9,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"`
+}
+
+func (x *ChooseCurAvatarTeamReq) Reset() {
+ *x = ChooseCurAvatarTeamReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChooseCurAvatarTeamReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChooseCurAvatarTeamReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChooseCurAvatarTeamReq) ProtoMessage() {}
+
+func (x *ChooseCurAvatarTeamReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ChooseCurAvatarTeamReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChooseCurAvatarTeamReq.ProtoReflect.Descriptor instead.
+func (*ChooseCurAvatarTeamReq) Descriptor() ([]byte, []int) {
+ return file_ChooseCurAvatarTeamReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChooseCurAvatarTeamReq) GetTeamId() uint32 {
+ if x != nil {
+ return x.TeamId
+ }
+ return 0
+}
+
+var File_ChooseCurAvatarTeamReq_proto protoreflect.FileDescriptor
+
+var file_ChooseCurAvatarTeamReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x43, 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x16, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x43,
+ 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChooseCurAvatarTeamReq_proto_rawDescOnce sync.Once
+ file_ChooseCurAvatarTeamReq_proto_rawDescData = file_ChooseCurAvatarTeamReq_proto_rawDesc
+)
+
+func file_ChooseCurAvatarTeamReq_proto_rawDescGZIP() []byte {
+ file_ChooseCurAvatarTeamReq_proto_rawDescOnce.Do(func() {
+ file_ChooseCurAvatarTeamReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChooseCurAvatarTeamReq_proto_rawDescData)
+ })
+ return file_ChooseCurAvatarTeamReq_proto_rawDescData
+}
+
+var file_ChooseCurAvatarTeamReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChooseCurAvatarTeamReq_proto_goTypes = []interface{}{
+ (*ChooseCurAvatarTeamReq)(nil), // 0: proto.ChooseCurAvatarTeamReq
+}
+var file_ChooseCurAvatarTeamReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChooseCurAvatarTeamReq_proto_init() }
+func file_ChooseCurAvatarTeamReq_proto_init() {
+ if File_ChooseCurAvatarTeamReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChooseCurAvatarTeamReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChooseCurAvatarTeamReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChooseCurAvatarTeamReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChooseCurAvatarTeamReq_proto_goTypes,
+ DependencyIndexes: file_ChooseCurAvatarTeamReq_proto_depIdxs,
+ MessageInfos: file_ChooseCurAvatarTeamReq_proto_msgTypes,
+ }.Build()
+ File_ChooseCurAvatarTeamReq_proto = out.File
+ file_ChooseCurAvatarTeamReq_proto_rawDesc = nil
+ file_ChooseCurAvatarTeamReq_proto_goTypes = nil
+ file_ChooseCurAvatarTeamReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ChooseCurAvatarTeamRsp.pb.go b/protocol/proto/ChooseCurAvatarTeamRsp.pb.go
new file mode 100644
index 00000000..393bc089
--- /dev/null
+++ b/protocol/proto/ChooseCurAvatarTeamRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ChooseCurAvatarTeamRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1661
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ChooseCurAvatarTeamRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurTeamId uint32 `protobuf:"varint,1,opt,name=cur_team_id,json=curTeamId,proto3" json:"cur_team_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ChooseCurAvatarTeamRsp) Reset() {
+ *x = ChooseCurAvatarTeamRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ChooseCurAvatarTeamRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChooseCurAvatarTeamRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChooseCurAvatarTeamRsp) ProtoMessage() {}
+
+func (x *ChooseCurAvatarTeamRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ChooseCurAvatarTeamRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChooseCurAvatarTeamRsp.ProtoReflect.Descriptor instead.
+func (*ChooseCurAvatarTeamRsp) Descriptor() ([]byte, []int) {
+ return file_ChooseCurAvatarTeamRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ChooseCurAvatarTeamRsp) GetCurTeamId() uint32 {
+ if x != nil {
+ return x.CurTeamId
+ }
+ return 0
+}
+
+func (x *ChooseCurAvatarTeamRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ChooseCurAvatarTeamRsp_proto protoreflect.FileDescriptor
+
+var file_ChooseCurAvatarTeamRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x43, 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x16, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x43,
+ 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x12,
+ 0x1e, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ChooseCurAvatarTeamRsp_proto_rawDescOnce sync.Once
+ file_ChooseCurAvatarTeamRsp_proto_rawDescData = file_ChooseCurAvatarTeamRsp_proto_rawDesc
+)
+
+func file_ChooseCurAvatarTeamRsp_proto_rawDescGZIP() []byte {
+ file_ChooseCurAvatarTeamRsp_proto_rawDescOnce.Do(func() {
+ file_ChooseCurAvatarTeamRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ChooseCurAvatarTeamRsp_proto_rawDescData)
+ })
+ return file_ChooseCurAvatarTeamRsp_proto_rawDescData
+}
+
+var file_ChooseCurAvatarTeamRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ChooseCurAvatarTeamRsp_proto_goTypes = []interface{}{
+ (*ChooseCurAvatarTeamRsp)(nil), // 0: proto.ChooseCurAvatarTeamRsp
+}
+var file_ChooseCurAvatarTeamRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ChooseCurAvatarTeamRsp_proto_init() }
+func file_ChooseCurAvatarTeamRsp_proto_init() {
+ if File_ChooseCurAvatarTeamRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ChooseCurAvatarTeamRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChooseCurAvatarTeamRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ChooseCurAvatarTeamRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ChooseCurAvatarTeamRsp_proto_goTypes,
+ DependencyIndexes: file_ChooseCurAvatarTeamRsp_proto_depIdxs,
+ MessageInfos: file_ChooseCurAvatarTeamRsp_proto_msgTypes,
+ }.Build()
+ File_ChooseCurAvatarTeamRsp_proto = out.File
+ file_ChooseCurAvatarTeamRsp_proto_rawDesc = nil
+ file_ChooseCurAvatarTeamRsp_proto_goTypes = nil
+ file_ChooseCurAvatarTeamRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityInfo.pb.go b/protocol/proto/CityInfo.pb.go
new file mode 100644
index 00000000..95fd7112
--- /dev/null
+++ b/protocol/proto/CityInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,15,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ CrystalNum uint32 `protobuf:"varint,3,opt,name=crystal_num,json=crystalNum,proto3" json:"crystal_num,omitempty"`
+ Level uint32 `protobuf:"varint,4,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *CityInfo) Reset() {
+ *x = CityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityInfo) ProtoMessage() {}
+
+func (x *CityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityInfo.ProtoReflect.Descriptor instead.
+func (*CityInfo) Descriptor() ([]byte, []int) {
+ return file_CityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityInfo) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *CityInfo) GetCrystalNum() uint32 {
+ if x != nil {
+ return x.CrystalNum
+ }
+ return 0
+}
+
+func (x *CityInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_CityInfo_proto protoreflect.FileDescriptor
+
+var file_CityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x08, 0x43, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a,
+ 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CityInfo_proto_rawDescOnce sync.Once
+ file_CityInfo_proto_rawDescData = file_CityInfo_proto_rawDesc
+)
+
+func file_CityInfo_proto_rawDescGZIP() []byte {
+ file_CityInfo_proto_rawDescOnce.Do(func() {
+ file_CityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityInfo_proto_rawDescData)
+ })
+ return file_CityInfo_proto_rawDescData
+}
+
+var file_CityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CityInfo_proto_goTypes = []interface{}{
+ (*CityInfo)(nil), // 0: proto.CityInfo
+}
+var file_CityInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CityInfo_proto_init() }
+func file_CityInfo_proto_init() {
+ if File_CityInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityInfo_proto_goTypes,
+ DependencyIndexes: file_CityInfo_proto_depIdxs,
+ MessageInfos: file_CityInfo_proto_msgTypes,
+ }.Build()
+ File_CityInfo_proto = out.File
+ file_CityInfo_proto_rawDesc = nil
+ file_CityInfo_proto_goTypes = nil
+ file_CityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityReputationDataNotify.pb.go b/protocol/proto/CityReputationDataNotify.pb.go
new file mode 100644
index 00000000..62c983bd
--- /dev/null
+++ b/protocol/proto/CityReputationDataNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityReputationDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2805
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CityReputationDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SimpleInfoList []*CityReputationSimpleInfo `protobuf:"bytes,7,rep,name=simple_info_list,json=simpleInfoList,proto3" json:"simple_info_list,omitempty"`
+}
+
+func (x *CityReputationDataNotify) Reset() {
+ *x = CityReputationDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationDataNotify) ProtoMessage() {}
+
+func (x *CityReputationDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationDataNotify.ProtoReflect.Descriptor instead.
+func (*CityReputationDataNotify) Descriptor() ([]byte, []int) {
+ return file_CityReputationDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityReputationDataNotify) GetSimpleInfoList() []*CityReputationSimpleInfo {
+ if x != nil {
+ return x.SimpleInfoList
+ }
+ return nil
+}
+
+var File_CityReputationDataNotify_proto protoreflect.FileDescriptor
+
+var file_CityReputationDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x18, 0x43, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e,
+ 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CityReputationDataNotify_proto_rawDescOnce sync.Once
+ file_CityReputationDataNotify_proto_rawDescData = file_CityReputationDataNotify_proto_rawDesc
+)
+
+func file_CityReputationDataNotify_proto_rawDescGZIP() []byte {
+ file_CityReputationDataNotify_proto_rawDescOnce.Do(func() {
+ file_CityReputationDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityReputationDataNotify_proto_rawDescData)
+ })
+ return file_CityReputationDataNotify_proto_rawDescData
+}
+
+var file_CityReputationDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CityReputationDataNotify_proto_goTypes = []interface{}{
+ (*CityReputationDataNotify)(nil), // 0: proto.CityReputationDataNotify
+ (*CityReputationSimpleInfo)(nil), // 1: proto.CityReputationSimpleInfo
+}
+var file_CityReputationDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CityReputationDataNotify.simple_info_list:type_name -> proto.CityReputationSimpleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CityReputationDataNotify_proto_init() }
+func file_CityReputationDataNotify_proto_init() {
+ if File_CityReputationDataNotify_proto != nil {
+ return
+ }
+ file_CityReputationSimpleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CityReputationDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityReputationDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityReputationDataNotify_proto_goTypes,
+ DependencyIndexes: file_CityReputationDataNotify_proto_depIdxs,
+ MessageInfos: file_CityReputationDataNotify_proto_msgTypes,
+ }.Build()
+ File_CityReputationDataNotify_proto = out.File
+ file_CityReputationDataNotify_proto_rawDesc = nil
+ file_CityReputationDataNotify_proto_goTypes = nil
+ file_CityReputationDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityReputationExploreInfo.pb.go b/protocol/proto/CityReputationExploreInfo.pb.go
new file mode 100644
index 00000000..e0c7c109
--- /dev/null
+++ b/protocol/proto/CityReputationExploreInfo.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityReputationExploreInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CityReputationExploreInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TakenExploreRewardList []uint32 `protobuf:"varint,2,rep,packed,name=taken_explore_reward_list,json=takenExploreRewardList,proto3" json:"taken_explore_reward_list,omitempty"`
+ ExplorePercent uint32 `protobuf:"varint,14,opt,name=explore_percent,json=explorePercent,proto3" json:"explore_percent,omitempty"`
+ IsOpen bool `protobuf:"varint,15,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *CityReputationExploreInfo) Reset() {
+ *x = CityReputationExploreInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationExploreInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationExploreInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationExploreInfo) ProtoMessage() {}
+
+func (x *CityReputationExploreInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationExploreInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationExploreInfo.ProtoReflect.Descriptor instead.
+func (*CityReputationExploreInfo) Descriptor() ([]byte, []int) {
+ return file_CityReputationExploreInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityReputationExploreInfo) GetTakenExploreRewardList() []uint32 {
+ if x != nil {
+ return x.TakenExploreRewardList
+ }
+ return nil
+}
+
+func (x *CityReputationExploreInfo) GetExplorePercent() uint32 {
+ if x != nil {
+ return x.ExplorePercent
+ }
+ return 0
+}
+
+func (x *CityReputationExploreInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_CityReputationExploreInfo_proto protoreflect.FileDescriptor
+
+var file_CityReputationExploreInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x19, 0x43, 0x69, 0x74,
+ 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x6f,
+ 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x19, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f,
+ 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x16, 0x74, 0x61, 0x6b, 0x65, 0x6e,
+ 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x65, 0x72,
+ 0x63, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6c,
+ 0x6f, 0x72, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73,
+ 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f,
+ 0x70, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CityReputationExploreInfo_proto_rawDescOnce sync.Once
+ file_CityReputationExploreInfo_proto_rawDescData = file_CityReputationExploreInfo_proto_rawDesc
+)
+
+func file_CityReputationExploreInfo_proto_rawDescGZIP() []byte {
+ file_CityReputationExploreInfo_proto_rawDescOnce.Do(func() {
+ file_CityReputationExploreInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityReputationExploreInfo_proto_rawDescData)
+ })
+ return file_CityReputationExploreInfo_proto_rawDescData
+}
+
+var file_CityReputationExploreInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CityReputationExploreInfo_proto_goTypes = []interface{}{
+ (*CityReputationExploreInfo)(nil), // 0: proto.CityReputationExploreInfo
+}
+var file_CityReputationExploreInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CityReputationExploreInfo_proto_init() }
+func file_CityReputationExploreInfo_proto_init() {
+ if File_CityReputationExploreInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CityReputationExploreInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationExploreInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityReputationExploreInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityReputationExploreInfo_proto_goTypes,
+ DependencyIndexes: file_CityReputationExploreInfo_proto_depIdxs,
+ MessageInfos: file_CityReputationExploreInfo_proto_msgTypes,
+ }.Build()
+ File_CityReputationExploreInfo_proto = out.File
+ file_CityReputationExploreInfo_proto_rawDesc = nil
+ file_CityReputationExploreInfo_proto_goTypes = nil
+ file_CityReputationExploreInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityReputationHuntInfo.pb.go b/protocol/proto/CityReputationHuntInfo.pb.go
new file mode 100644
index 00000000..06ce7057
--- /dev/null
+++ b/protocol/proto/CityReputationHuntInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityReputationHuntInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CityReputationHuntInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,6,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ CurWeekFinishNum uint32 `protobuf:"varint,15,opt,name=cur_week_finish_num,json=curWeekFinishNum,proto3" json:"cur_week_finish_num,omitempty"`
+ HasReward bool `protobuf:"varint,5,opt,name=has_reward,json=hasReward,proto3" json:"has_reward,omitempty"`
+}
+
+func (x *CityReputationHuntInfo) Reset() {
+ *x = CityReputationHuntInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationHuntInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationHuntInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationHuntInfo) ProtoMessage() {}
+
+func (x *CityReputationHuntInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationHuntInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationHuntInfo.ProtoReflect.Descriptor instead.
+func (*CityReputationHuntInfo) Descriptor() ([]byte, []int) {
+ return file_CityReputationHuntInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityReputationHuntInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *CityReputationHuntInfo) GetCurWeekFinishNum() uint32 {
+ if x != nil {
+ return x.CurWeekFinishNum
+ }
+ return 0
+}
+
+func (x *CityReputationHuntInfo) GetHasReward() bool {
+ if x != nil {
+ return x.HasReward
+ }
+ return false
+}
+
+var File_CityReputationHuntInfo_proto protoreflect.FileDescriptor
+
+var file_CityReputationHuntInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x48, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x16, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x5f,
+ 0x77, 0x65, 0x65, 0x6b, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x75, 0x72, 0x57, 0x65, 0x65, 0x6b, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CityReputationHuntInfo_proto_rawDescOnce sync.Once
+ file_CityReputationHuntInfo_proto_rawDescData = file_CityReputationHuntInfo_proto_rawDesc
+)
+
+func file_CityReputationHuntInfo_proto_rawDescGZIP() []byte {
+ file_CityReputationHuntInfo_proto_rawDescOnce.Do(func() {
+ file_CityReputationHuntInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityReputationHuntInfo_proto_rawDescData)
+ })
+ return file_CityReputationHuntInfo_proto_rawDescData
+}
+
+var file_CityReputationHuntInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CityReputationHuntInfo_proto_goTypes = []interface{}{
+ (*CityReputationHuntInfo)(nil), // 0: proto.CityReputationHuntInfo
+}
+var file_CityReputationHuntInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CityReputationHuntInfo_proto_init() }
+func file_CityReputationHuntInfo_proto_init() {
+ if File_CityReputationHuntInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CityReputationHuntInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationHuntInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityReputationHuntInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityReputationHuntInfo_proto_goTypes,
+ DependencyIndexes: file_CityReputationHuntInfo_proto_depIdxs,
+ MessageInfos: file_CityReputationHuntInfo_proto_msgTypes,
+ }.Build()
+ File_CityReputationHuntInfo_proto = out.File
+ file_CityReputationHuntInfo_proto_rawDesc = nil
+ file_CityReputationHuntInfo_proto_goTypes = nil
+ file_CityReputationHuntInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityReputationInfo.pb.go b/protocol/proto/CityReputationInfo.pb.go
new file mode 100644
index 00000000..189486a5
--- /dev/null
+++ b/protocol/proto/CityReputationInfo.pb.go
@@ -0,0 +1,270 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityReputationInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CityReputationInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,4,opt,name=level,proto3" json:"level,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,3,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ HuntInfo *CityReputationHuntInfo `protobuf:"bytes,11,opt,name=hunt_info,json=huntInfo,proto3" json:"hunt_info,omitempty"`
+ TakenLevelRewardList []uint32 `protobuf:"varint,2,rep,packed,name=taken_level_reward_list,json=takenLevelRewardList,proto3" json:"taken_level_reward_list,omitempty"`
+ TotalAcceptRequestNum uint32 `protobuf:"varint,6,opt,name=total_accept_request_num,json=totalAcceptRequestNum,proto3" json:"total_accept_request_num,omitempty"`
+ RequestInfo *CityReputationRequestInfo `protobuf:"bytes,5,opt,name=request_info,json=requestInfo,proto3" json:"request_info,omitempty"`
+ QuestInfo *CityReputationQuestInfo `protobuf:"bytes,9,opt,name=quest_info,json=questInfo,proto3" json:"quest_info,omitempty"`
+ Exp uint32 `protobuf:"varint,13,opt,name=exp,proto3" json:"exp,omitempty"`
+ ExploreInfo *CityReputationExploreInfo `protobuf:"bytes,10,opt,name=explore_info,json=exploreInfo,proto3" json:"explore_info,omitempty"`
+}
+
+func (x *CityReputationInfo) Reset() {
+ *x = CityReputationInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationInfo) ProtoMessage() {}
+
+func (x *CityReputationInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationInfo.ProtoReflect.Descriptor instead.
+func (*CityReputationInfo) Descriptor() ([]byte, []int) {
+ return file_CityReputationInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityReputationInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *CityReputationInfo) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *CityReputationInfo) GetHuntInfo() *CityReputationHuntInfo {
+ if x != nil {
+ return x.HuntInfo
+ }
+ return nil
+}
+
+func (x *CityReputationInfo) GetTakenLevelRewardList() []uint32 {
+ if x != nil {
+ return x.TakenLevelRewardList
+ }
+ return nil
+}
+
+func (x *CityReputationInfo) GetTotalAcceptRequestNum() uint32 {
+ if x != nil {
+ return x.TotalAcceptRequestNum
+ }
+ return 0
+}
+
+func (x *CityReputationInfo) GetRequestInfo() *CityReputationRequestInfo {
+ if x != nil {
+ return x.RequestInfo
+ }
+ return nil
+}
+
+func (x *CityReputationInfo) GetQuestInfo() *CityReputationQuestInfo {
+ if x != nil {
+ return x.QuestInfo
+ }
+ return nil
+}
+
+func (x *CityReputationInfo) GetExp() uint32 {
+ if x != nil {
+ return x.Exp
+ }
+ return 0
+}
+
+func (x *CityReputationInfo) GetExploreInfo() *CityReputationExploreInfo {
+ if x != nil {
+ return x.ExploreInfo
+ }
+ return nil
+}
+
+var File_CityReputationInfo_proto protoreflect.FileDescriptor
+
+var file_CityReputationInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1f, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1c, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x48, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1d, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1f, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xdd, 0x03, 0x0a, 0x12, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2a, 0x0a,
+ 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x09, 0x68, 0x75, 0x6e,
+ 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x48, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x68, 0x75, 0x6e,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x18,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x72, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x72,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0a, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x65,
+ 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65,
+ 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CityReputationInfo_proto_rawDescOnce sync.Once
+ file_CityReputationInfo_proto_rawDescData = file_CityReputationInfo_proto_rawDesc
+)
+
+func file_CityReputationInfo_proto_rawDescGZIP() []byte {
+ file_CityReputationInfo_proto_rawDescOnce.Do(func() {
+ file_CityReputationInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityReputationInfo_proto_rawDescData)
+ })
+ return file_CityReputationInfo_proto_rawDescData
+}
+
+var file_CityReputationInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CityReputationInfo_proto_goTypes = []interface{}{
+ (*CityReputationInfo)(nil), // 0: proto.CityReputationInfo
+ (*CityReputationHuntInfo)(nil), // 1: proto.CityReputationHuntInfo
+ (*CityReputationRequestInfo)(nil), // 2: proto.CityReputationRequestInfo
+ (*CityReputationQuestInfo)(nil), // 3: proto.CityReputationQuestInfo
+ (*CityReputationExploreInfo)(nil), // 4: proto.CityReputationExploreInfo
+}
+var file_CityReputationInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CityReputationInfo.hunt_info:type_name -> proto.CityReputationHuntInfo
+ 2, // 1: proto.CityReputationInfo.request_info:type_name -> proto.CityReputationRequestInfo
+ 3, // 2: proto.CityReputationInfo.quest_info:type_name -> proto.CityReputationQuestInfo
+ 4, // 3: proto.CityReputationInfo.explore_info:type_name -> proto.CityReputationExploreInfo
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_CityReputationInfo_proto_init() }
+func file_CityReputationInfo_proto_init() {
+ if File_CityReputationInfo_proto != nil {
+ return
+ }
+ file_CityReputationExploreInfo_proto_init()
+ file_CityReputationHuntInfo_proto_init()
+ file_CityReputationQuestInfo_proto_init()
+ file_CityReputationRequestInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CityReputationInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityReputationInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityReputationInfo_proto_goTypes,
+ DependencyIndexes: file_CityReputationInfo_proto_depIdxs,
+ MessageInfos: file_CityReputationInfo_proto_msgTypes,
+ }.Build()
+ File_CityReputationInfo_proto = out.File
+ file_CityReputationInfo_proto_rawDesc = nil
+ file_CityReputationInfo_proto_goTypes = nil
+ file_CityReputationInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityReputationLevelupNotify.pb.go b/protocol/proto/CityReputationLevelupNotify.pb.go
new file mode 100644
index 00000000..8bfa87fa
--- /dev/null
+++ b/protocol/proto/CityReputationLevelupNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityReputationLevelupNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2807
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CityReputationLevelupNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,12,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ Level uint32 `protobuf:"varint,15,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *CityReputationLevelupNotify) Reset() {
+ *x = CityReputationLevelupNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationLevelupNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationLevelupNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationLevelupNotify) ProtoMessage() {}
+
+func (x *CityReputationLevelupNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationLevelupNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationLevelupNotify.ProtoReflect.Descriptor instead.
+func (*CityReputationLevelupNotify) Descriptor() ([]byte, []int) {
+ return file_CityReputationLevelupNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityReputationLevelupNotify) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *CityReputationLevelupNotify) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_CityReputationLevelupNotify_proto protoreflect.FileDescriptor
+
+var file_CityReputationLevelupNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x1b, 0x43, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x75, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CityReputationLevelupNotify_proto_rawDescOnce sync.Once
+ file_CityReputationLevelupNotify_proto_rawDescData = file_CityReputationLevelupNotify_proto_rawDesc
+)
+
+func file_CityReputationLevelupNotify_proto_rawDescGZIP() []byte {
+ file_CityReputationLevelupNotify_proto_rawDescOnce.Do(func() {
+ file_CityReputationLevelupNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityReputationLevelupNotify_proto_rawDescData)
+ })
+ return file_CityReputationLevelupNotify_proto_rawDescData
+}
+
+var file_CityReputationLevelupNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CityReputationLevelupNotify_proto_goTypes = []interface{}{
+ (*CityReputationLevelupNotify)(nil), // 0: proto.CityReputationLevelupNotify
+}
+var file_CityReputationLevelupNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CityReputationLevelupNotify_proto_init() }
+func file_CityReputationLevelupNotify_proto_init() {
+ if File_CityReputationLevelupNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CityReputationLevelupNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationLevelupNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityReputationLevelupNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityReputationLevelupNotify_proto_goTypes,
+ DependencyIndexes: file_CityReputationLevelupNotify_proto_depIdxs,
+ MessageInfos: file_CityReputationLevelupNotify_proto_msgTypes,
+ }.Build()
+ File_CityReputationLevelupNotify_proto = out.File
+ file_CityReputationLevelupNotify_proto_rawDesc = nil
+ file_CityReputationLevelupNotify_proto_goTypes = nil
+ file_CityReputationLevelupNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityReputationQuestInfo.pb.go b/protocol/proto/CityReputationQuestInfo.pb.go
new file mode 100644
index 00000000..f821ea7e
--- /dev/null
+++ b/protocol/proto/CityReputationQuestInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityReputationQuestInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CityReputationQuestInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,2,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ TakenParentQuestRewardList []uint32 `protobuf:"varint,12,rep,packed,name=taken_parent_quest_reward_list,json=takenParentQuestRewardList,proto3" json:"taken_parent_quest_reward_list,omitempty"`
+ FinishedParentQuestList []uint32 `protobuf:"varint,7,rep,packed,name=finished_parent_quest_list,json=finishedParentQuestList,proto3" json:"finished_parent_quest_list,omitempty"`
+}
+
+func (x *CityReputationQuestInfo) Reset() {
+ *x = CityReputationQuestInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationQuestInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationQuestInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationQuestInfo) ProtoMessage() {}
+
+func (x *CityReputationQuestInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationQuestInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationQuestInfo.ProtoReflect.Descriptor instead.
+func (*CityReputationQuestInfo) Descriptor() ([]byte, []int) {
+ return file_CityReputationQuestInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityReputationQuestInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *CityReputationQuestInfo) GetTakenParentQuestRewardList() []uint32 {
+ if x != nil {
+ return x.TakenParentQuestRewardList
+ }
+ return nil
+}
+
+func (x *CityReputationQuestInfo) GetFinishedParentQuestList() []uint32 {
+ if x != nil {
+ return x.FinishedParentQuestList
+ }
+ return nil
+}
+
+var File_CityReputationQuestInfo_proto protoreflect.FileDescriptor
+
+var file_CityReputationQuestInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x01, 0x0a, 0x17, 0x43, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x42, 0x0a, 0x1e, 0x74,
+ 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x1a, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x3b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x17, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x72,
+ 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CityReputationQuestInfo_proto_rawDescOnce sync.Once
+ file_CityReputationQuestInfo_proto_rawDescData = file_CityReputationQuestInfo_proto_rawDesc
+)
+
+func file_CityReputationQuestInfo_proto_rawDescGZIP() []byte {
+ file_CityReputationQuestInfo_proto_rawDescOnce.Do(func() {
+ file_CityReputationQuestInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityReputationQuestInfo_proto_rawDescData)
+ })
+ return file_CityReputationQuestInfo_proto_rawDescData
+}
+
+var file_CityReputationQuestInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CityReputationQuestInfo_proto_goTypes = []interface{}{
+ (*CityReputationQuestInfo)(nil), // 0: proto.CityReputationQuestInfo
+}
+var file_CityReputationQuestInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CityReputationQuestInfo_proto_init() }
+func file_CityReputationQuestInfo_proto_init() {
+ if File_CityReputationQuestInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CityReputationQuestInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationQuestInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityReputationQuestInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityReputationQuestInfo_proto_goTypes,
+ DependencyIndexes: file_CityReputationQuestInfo_proto_depIdxs,
+ MessageInfos: file_CityReputationQuestInfo_proto_msgTypes,
+ }.Build()
+ File_CityReputationQuestInfo_proto = out.File
+ file_CityReputationQuestInfo_proto_rawDesc = nil
+ file_CityReputationQuestInfo_proto_goTypes = nil
+ file_CityReputationQuestInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityReputationRequestInfo.pb.go b/protocol/proto/CityReputationRequestInfo.pb.go
new file mode 100644
index 00000000..8f10f6be
--- /dev/null
+++ b/protocol/proto/CityReputationRequestInfo.pb.go
@@ -0,0 +1,257 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityReputationRequestInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CityReputationRequestInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,2,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ RequestInfoList []*CityReputationRequestInfo_RequestInfo `protobuf:"bytes,1,rep,name=request_info_list,json=requestInfoList,proto3" json:"request_info_list,omitempty"`
+}
+
+func (x *CityReputationRequestInfo) Reset() {
+ *x = CityReputationRequestInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationRequestInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationRequestInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationRequestInfo) ProtoMessage() {}
+
+func (x *CityReputationRequestInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationRequestInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationRequestInfo.ProtoReflect.Descriptor instead.
+func (*CityReputationRequestInfo) Descriptor() ([]byte, []int) {
+ return file_CityReputationRequestInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityReputationRequestInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *CityReputationRequestInfo) GetRequestInfoList() []*CityReputationRequestInfo_RequestInfo {
+ if x != nil {
+ return x.RequestInfoList
+ }
+ return nil
+}
+
+type CityReputationRequestInfo_RequestInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RequestId uint32 `protobuf:"varint,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
+ QuestId uint32 `protobuf:"varint,9,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ IsTakenReward bool `protobuf:"varint,6,opt,name=is_taken_reward,json=isTakenReward,proto3" json:"is_taken_reward,omitempty"`
+}
+
+func (x *CityReputationRequestInfo_RequestInfo) Reset() {
+ *x = CityReputationRequestInfo_RequestInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationRequestInfo_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationRequestInfo_RequestInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationRequestInfo_RequestInfo) ProtoMessage() {}
+
+func (x *CityReputationRequestInfo_RequestInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationRequestInfo_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationRequestInfo_RequestInfo.ProtoReflect.Descriptor instead.
+func (*CityReputationRequestInfo_RequestInfo) Descriptor() ([]byte, []int) {
+ return file_CityReputationRequestInfo_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *CityReputationRequestInfo_RequestInfo) GetRequestId() uint32 {
+ if x != nil {
+ return x.RequestId
+ }
+ return 0
+}
+
+func (x *CityReputationRequestInfo_RequestInfo) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *CityReputationRequestInfo_RequestInfo) GetIsTakenReward() bool {
+ if x != nil {
+ return x.IsTakenReward
+ }
+ return false
+}
+
+var File_CityReputationRequestInfo_proto protoreflect.FileDescriptor
+
+var file_CityReputationRequestInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x01, 0x0a, 0x19, 0x43, 0x69, 0x74,
+ 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12,
+ 0x58, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x6f, 0x0a, 0x0b, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x54,
+ 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CityReputationRequestInfo_proto_rawDescOnce sync.Once
+ file_CityReputationRequestInfo_proto_rawDescData = file_CityReputationRequestInfo_proto_rawDesc
+)
+
+func file_CityReputationRequestInfo_proto_rawDescGZIP() []byte {
+ file_CityReputationRequestInfo_proto_rawDescOnce.Do(func() {
+ file_CityReputationRequestInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityReputationRequestInfo_proto_rawDescData)
+ })
+ return file_CityReputationRequestInfo_proto_rawDescData
+}
+
+var file_CityReputationRequestInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_CityReputationRequestInfo_proto_goTypes = []interface{}{
+ (*CityReputationRequestInfo)(nil), // 0: proto.CityReputationRequestInfo
+ (*CityReputationRequestInfo_RequestInfo)(nil), // 1: proto.CityReputationRequestInfo.RequestInfo
+}
+var file_CityReputationRequestInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CityReputationRequestInfo.request_info_list:type_name -> proto.CityReputationRequestInfo.RequestInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CityReputationRequestInfo_proto_init() }
+func file_CityReputationRequestInfo_proto_init() {
+ if File_CityReputationRequestInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CityReputationRequestInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationRequestInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_CityReputationRequestInfo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationRequestInfo_RequestInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityReputationRequestInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityReputationRequestInfo_proto_goTypes,
+ DependencyIndexes: file_CityReputationRequestInfo_proto_depIdxs,
+ MessageInfos: file_CityReputationRequestInfo_proto_msgTypes,
+ }.Build()
+ File_CityReputationRequestInfo_proto = out.File
+ file_CityReputationRequestInfo_proto_rawDesc = nil
+ file_CityReputationRequestInfo_proto_goTypes = nil
+ file_CityReputationRequestInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CityReputationSimpleInfo.pb.go b/protocol/proto/CityReputationSimpleInfo.pb.go
new file mode 100644
index 00000000..e4724662
--- /dev/null
+++ b/protocol/proto/CityReputationSimpleInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CityReputationSimpleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CityReputationSimpleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,15,opt,name=level,proto3" json:"level,omitempty"`
+ CityId uint32 `protobuf:"varint,9,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *CityReputationSimpleInfo) Reset() {
+ *x = CityReputationSimpleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CityReputationSimpleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CityReputationSimpleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CityReputationSimpleInfo) ProtoMessage() {}
+
+func (x *CityReputationSimpleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CityReputationSimpleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CityReputationSimpleInfo.ProtoReflect.Descriptor instead.
+func (*CityReputationSimpleInfo) Descriptor() ([]byte, []int) {
+ return file_CityReputationSimpleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CityReputationSimpleInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *CityReputationSimpleInfo) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_CityReputationSimpleInfo_proto protoreflect.FileDescriptor
+
+var file_CityReputationSimpleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x18, 0x43, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CityReputationSimpleInfo_proto_rawDescOnce sync.Once
+ file_CityReputationSimpleInfo_proto_rawDescData = file_CityReputationSimpleInfo_proto_rawDesc
+)
+
+func file_CityReputationSimpleInfo_proto_rawDescGZIP() []byte {
+ file_CityReputationSimpleInfo_proto_rawDescOnce.Do(func() {
+ file_CityReputationSimpleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CityReputationSimpleInfo_proto_rawDescData)
+ })
+ return file_CityReputationSimpleInfo_proto_rawDescData
+}
+
+var file_CityReputationSimpleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CityReputationSimpleInfo_proto_goTypes = []interface{}{
+ (*CityReputationSimpleInfo)(nil), // 0: proto.CityReputationSimpleInfo
+}
+var file_CityReputationSimpleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CityReputationSimpleInfo_proto_init() }
+func file_CityReputationSimpleInfo_proto_init() {
+ if File_CityReputationSimpleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CityReputationSimpleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CityReputationSimpleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CityReputationSimpleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CityReputationSimpleInfo_proto_goTypes,
+ DependencyIndexes: file_CityReputationSimpleInfo_proto_depIdxs,
+ MessageInfos: file_CityReputationSimpleInfo_proto_msgTypes,
+ }.Build()
+ File_CityReputationSimpleInfo_proto = out.File
+ file_CityReputationSimpleInfo_proto_rawDesc = nil
+ file_CityReputationSimpleInfo_proto_goTypes = nil
+ file_CityReputationSimpleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClearRoguelikeCurseNotify.pb.go b/protocol/proto/ClearRoguelikeCurseNotify.pb.go
new file mode 100644
index 00000000..4ee615f7
--- /dev/null
+++ b/protocol/proto/ClearRoguelikeCurseNotify.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClearRoguelikeCurseNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8207
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ClearRoguelikeCurseNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClearCurseMap map[uint32]uint32 `protobuf:"bytes,10,rep,name=clear_curse_map,json=clearCurseMap,proto3" json:"clear_curse_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ IsClearAll bool `protobuf:"varint,11,opt,name=is_clear_all,json=isClearAll,proto3" json:"is_clear_all,omitempty"`
+ CardId uint32 `protobuf:"varint,8,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ IsCurseAllClear bool `protobuf:"varint,1,opt,name=is_curse_all_clear,json=isCurseAllClear,proto3" json:"is_curse_all_clear,omitempty"`
+}
+
+func (x *ClearRoguelikeCurseNotify) Reset() {
+ *x = ClearRoguelikeCurseNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClearRoguelikeCurseNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClearRoguelikeCurseNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClearRoguelikeCurseNotify) ProtoMessage() {}
+
+func (x *ClearRoguelikeCurseNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClearRoguelikeCurseNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClearRoguelikeCurseNotify.ProtoReflect.Descriptor instead.
+func (*ClearRoguelikeCurseNotify) Descriptor() ([]byte, []int) {
+ return file_ClearRoguelikeCurseNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClearRoguelikeCurseNotify) GetClearCurseMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ClearCurseMap
+ }
+ return nil
+}
+
+func (x *ClearRoguelikeCurseNotify) GetIsClearAll() bool {
+ if x != nil {
+ return x.IsClearAll
+ }
+ return false
+}
+
+func (x *ClearRoguelikeCurseNotify) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *ClearRoguelikeCurseNotify) GetIsCurseAllClear() bool {
+ if x != nil {
+ return x.IsCurseAllClear
+ }
+ return false
+}
+
+var File_ClearRoguelikeCurseNotify_proto protoreflect.FileDescriptor
+
+var file_ClearRoguelikeCurseNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x43, 0x75, 0x72, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x02, 0x0a, 0x19, 0x43, 0x6c, 0x65,
+ 0x61, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x75, 0x72, 0x73, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x5b, 0x0a, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f,
+ 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x75, 0x72, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x75, 0x72, 0x73, 0x65, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x43, 0x75, 0x72, 0x73, 0x65,
+ 0x4d, 0x61, 0x70, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f,
+ 0x61, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x6c, 0x65,
+ 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x2b,
+ 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63,
+ 0x6c, 0x65, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x75,
+ 0x72, 0x73, 0x65, 0x41, 0x6c, 0x6c, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x43,
+ 0x6c, 0x65, 0x61, 0x72, 0x43, 0x75, 0x72, 0x73, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ClearRoguelikeCurseNotify_proto_rawDescOnce sync.Once
+ file_ClearRoguelikeCurseNotify_proto_rawDescData = file_ClearRoguelikeCurseNotify_proto_rawDesc
+)
+
+func file_ClearRoguelikeCurseNotify_proto_rawDescGZIP() []byte {
+ file_ClearRoguelikeCurseNotify_proto_rawDescOnce.Do(func() {
+ file_ClearRoguelikeCurseNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClearRoguelikeCurseNotify_proto_rawDescData)
+ })
+ return file_ClearRoguelikeCurseNotify_proto_rawDescData
+}
+
+var file_ClearRoguelikeCurseNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ClearRoguelikeCurseNotify_proto_goTypes = []interface{}{
+ (*ClearRoguelikeCurseNotify)(nil), // 0: proto.ClearRoguelikeCurseNotify
+ nil, // 1: proto.ClearRoguelikeCurseNotify.ClearCurseMapEntry
+}
+var file_ClearRoguelikeCurseNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ClearRoguelikeCurseNotify.clear_curse_map:type_name -> proto.ClearRoguelikeCurseNotify.ClearCurseMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ClearRoguelikeCurseNotify_proto_init() }
+func file_ClearRoguelikeCurseNotify_proto_init() {
+ if File_ClearRoguelikeCurseNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClearRoguelikeCurseNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClearRoguelikeCurseNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClearRoguelikeCurseNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClearRoguelikeCurseNotify_proto_goTypes,
+ DependencyIndexes: file_ClearRoguelikeCurseNotify_proto_depIdxs,
+ MessageInfos: file_ClearRoguelikeCurseNotify_proto_msgTypes,
+ }.Build()
+ File_ClearRoguelikeCurseNotify_proto = out.File
+ file_ClearRoguelikeCurseNotify_proto_rawDesc = nil
+ file_ClearRoguelikeCurseNotify_proto_goTypes = nil
+ file_ClearRoguelikeCurseNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientAIStateNotify.pb.go b/protocol/proto/ClientAIStateNotify.pb.go
new file mode 100644
index 00000000..1cb8a356
--- /dev/null
+++ b/protocol/proto/ClientAIStateNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientAIStateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1181
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientAIStateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ CurTactic uint32 `protobuf:"varint,15,opt,name=cur_tactic,json=curTactic,proto3" json:"cur_tactic,omitempty"`
+}
+
+func (x *ClientAIStateNotify) Reset() {
+ *x = ClientAIStateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientAIStateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientAIStateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientAIStateNotify) ProtoMessage() {}
+
+func (x *ClientAIStateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientAIStateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientAIStateNotify.ProtoReflect.Descriptor instead.
+func (*ClientAIStateNotify) Descriptor() ([]byte, []int) {
+ return file_ClientAIStateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientAIStateNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *ClientAIStateNotify) GetCurTactic() uint32 {
+ if x != nil {
+ return x.CurTactic
+ }
+ return 0
+}
+
+var File_ClientAIStateNotify_proto protoreflect.FileDescriptor
+
+var file_ClientAIStateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x49, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x61,
+ 0x63, 0x74, 0x69, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x75, 0x72, 0x54,
+ 0x61, 0x63, 0x74, 0x69, 0x63, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientAIStateNotify_proto_rawDescOnce sync.Once
+ file_ClientAIStateNotify_proto_rawDescData = file_ClientAIStateNotify_proto_rawDesc
+)
+
+func file_ClientAIStateNotify_proto_rawDescGZIP() []byte {
+ file_ClientAIStateNotify_proto_rawDescOnce.Do(func() {
+ file_ClientAIStateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientAIStateNotify_proto_rawDescData)
+ })
+ return file_ClientAIStateNotify_proto_rawDescData
+}
+
+var file_ClientAIStateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientAIStateNotify_proto_goTypes = []interface{}{
+ (*ClientAIStateNotify)(nil), // 0: proto.ClientAIStateNotify
+}
+var file_ClientAIStateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientAIStateNotify_proto_init() }
+func file_ClientAIStateNotify_proto_init() {
+ if File_ClientAIStateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientAIStateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientAIStateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientAIStateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientAIStateNotify_proto_goTypes,
+ DependencyIndexes: file_ClientAIStateNotify_proto_depIdxs,
+ MessageInfos: file_ClientAIStateNotify_proto_msgTypes,
+ }.Build()
+ File_ClientAIStateNotify_proto = out.File
+ file_ClientAIStateNotify_proto_rawDesc = nil
+ file_ClientAIStateNotify_proto_goTypes = nil
+ file_ClientAIStateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientAbilitiesInitFinishCombineNotify.pb.go b/protocol/proto/ClientAbilitiesInitFinishCombineNotify.pb.go
new file mode 100644
index 00000000..f35cc9ea
--- /dev/null
+++ b/protocol/proto/ClientAbilitiesInitFinishCombineNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientAbilitiesInitFinishCombineNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1103
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientAbilitiesInitFinishCombineNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityInvokeList []*EntityAbilityInvokeEntry `protobuf:"bytes,1,rep,name=entity_invoke_list,json=entityInvokeList,proto3" json:"entity_invoke_list,omitempty"`
+}
+
+func (x *ClientAbilitiesInitFinishCombineNotify) Reset() {
+ *x = ClientAbilitiesInitFinishCombineNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientAbilitiesInitFinishCombineNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientAbilitiesInitFinishCombineNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientAbilitiesInitFinishCombineNotify) ProtoMessage() {}
+
+func (x *ClientAbilitiesInitFinishCombineNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientAbilitiesInitFinishCombineNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientAbilitiesInitFinishCombineNotify.ProtoReflect.Descriptor instead.
+func (*ClientAbilitiesInitFinishCombineNotify) Descriptor() ([]byte, []int) {
+ return file_ClientAbilitiesInitFinishCombineNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientAbilitiesInitFinishCombineNotify) GetEntityInvokeList() []*EntityAbilityInvokeEntry {
+ if x != nil {
+ return x.EntityInvokeList
+ }
+ return nil
+}
+
+var File_ClientAbilitiesInitFinishCombineNotify_proto protoreflect.FileDescriptor
+
+var file_ClientAbilitiesInitFinishCombineNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65,
+ 0x73, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6d, 0x62, 0x69,
+ 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x26, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x4d, 0x0a, 0x12, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ClientAbilitiesInitFinishCombineNotify_proto_rawDescOnce sync.Once
+ file_ClientAbilitiesInitFinishCombineNotify_proto_rawDescData = file_ClientAbilitiesInitFinishCombineNotify_proto_rawDesc
+)
+
+func file_ClientAbilitiesInitFinishCombineNotify_proto_rawDescGZIP() []byte {
+ file_ClientAbilitiesInitFinishCombineNotify_proto_rawDescOnce.Do(func() {
+ file_ClientAbilitiesInitFinishCombineNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientAbilitiesInitFinishCombineNotify_proto_rawDescData)
+ })
+ return file_ClientAbilitiesInitFinishCombineNotify_proto_rawDescData
+}
+
+var file_ClientAbilitiesInitFinishCombineNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientAbilitiesInitFinishCombineNotify_proto_goTypes = []interface{}{
+ (*ClientAbilitiesInitFinishCombineNotify)(nil), // 0: proto.ClientAbilitiesInitFinishCombineNotify
+ (*EntityAbilityInvokeEntry)(nil), // 1: proto.EntityAbilityInvokeEntry
+}
+var file_ClientAbilitiesInitFinishCombineNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientAbilitiesInitFinishCombineNotify.entity_invoke_list:type_name -> proto.EntityAbilityInvokeEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ClientAbilitiesInitFinishCombineNotify_proto_init() }
+func file_ClientAbilitiesInitFinishCombineNotify_proto_init() {
+ if File_ClientAbilitiesInitFinishCombineNotify_proto != nil {
+ return
+ }
+ file_EntityAbilityInvokeEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientAbilitiesInitFinishCombineNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientAbilitiesInitFinishCombineNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientAbilitiesInitFinishCombineNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientAbilitiesInitFinishCombineNotify_proto_goTypes,
+ DependencyIndexes: file_ClientAbilitiesInitFinishCombineNotify_proto_depIdxs,
+ MessageInfos: file_ClientAbilitiesInitFinishCombineNotify_proto_msgTypes,
+ }.Build()
+ File_ClientAbilitiesInitFinishCombineNotify_proto = out.File
+ file_ClientAbilitiesInitFinishCombineNotify_proto_rawDesc = nil
+ file_ClientAbilitiesInitFinishCombineNotify_proto_goTypes = nil
+ file_ClientAbilitiesInitFinishCombineNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientAbilityChangeNotify.pb.go b/protocol/proto/ClientAbilityChangeNotify.pb.go
new file mode 100644
index 00000000..a2f08477
--- /dev/null
+++ b/protocol/proto/ClientAbilityChangeNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientAbilityChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1175
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientAbilityChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsInitHash bool `protobuf:"varint,9,opt,name=is_init_hash,json=isInitHash,proto3" json:"is_init_hash,omitempty"`
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Invokes []*AbilityInvokeEntry `protobuf:"bytes,3,rep,name=invokes,proto3" json:"invokes,omitempty"`
+}
+
+func (x *ClientAbilityChangeNotify) Reset() {
+ *x = ClientAbilityChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientAbilityChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientAbilityChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientAbilityChangeNotify) ProtoMessage() {}
+
+func (x *ClientAbilityChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientAbilityChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientAbilityChangeNotify.ProtoReflect.Descriptor instead.
+func (*ClientAbilityChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ClientAbilityChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientAbilityChangeNotify) GetIsInitHash() bool {
+ if x != nil {
+ return x.IsInitHash
+ }
+ return false
+}
+
+func (x *ClientAbilityChangeNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *ClientAbilityChangeNotify) GetInvokes() []*AbilityInvokeEntry {
+ if x != nil {
+ return x.Invokes
+ }
+ return nil
+}
+
+var File_ClientAbilityChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ClientAbilityChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x61,
+ 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12,
+ 0x33, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x69, 0x6e, 0x76,
+ 0x6f, 0x6b, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientAbilityChangeNotify_proto_rawDescOnce sync.Once
+ file_ClientAbilityChangeNotify_proto_rawDescData = file_ClientAbilityChangeNotify_proto_rawDesc
+)
+
+func file_ClientAbilityChangeNotify_proto_rawDescGZIP() []byte {
+ file_ClientAbilityChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ClientAbilityChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientAbilityChangeNotify_proto_rawDescData)
+ })
+ return file_ClientAbilityChangeNotify_proto_rawDescData
+}
+
+var file_ClientAbilityChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientAbilityChangeNotify_proto_goTypes = []interface{}{
+ (*ClientAbilityChangeNotify)(nil), // 0: proto.ClientAbilityChangeNotify
+ (*AbilityInvokeEntry)(nil), // 1: proto.AbilityInvokeEntry
+}
+var file_ClientAbilityChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientAbilityChangeNotify.invokes:type_name -> proto.AbilityInvokeEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ClientAbilityChangeNotify_proto_init() }
+func file_ClientAbilityChangeNotify_proto_init() {
+ if File_ClientAbilityChangeNotify_proto != nil {
+ return
+ }
+ file_AbilityInvokeEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientAbilityChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientAbilityChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientAbilityChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientAbilityChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ClientAbilityChangeNotify_proto_depIdxs,
+ MessageInfos: file_ClientAbilityChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ClientAbilityChangeNotify_proto = out.File
+ file_ClientAbilityChangeNotify_proto_rawDesc = nil
+ file_ClientAbilityChangeNotify_proto_goTypes = nil
+ file_ClientAbilityChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientAbilityInitBeginNotify.pb.go b/protocol/proto/ClientAbilityInitBeginNotify.pb.go
new file mode 100644
index 00000000..4823aa41
--- /dev/null
+++ b/protocol/proto/ClientAbilityInitBeginNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientAbilityInitBeginNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1112
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientAbilityInitBeginNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *ClientAbilityInitBeginNotify) Reset() {
+ *x = ClientAbilityInitBeginNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientAbilityInitBeginNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientAbilityInitBeginNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientAbilityInitBeginNotify) ProtoMessage() {}
+
+func (x *ClientAbilityInitBeginNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientAbilityInitBeginNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientAbilityInitBeginNotify.ProtoReflect.Descriptor instead.
+func (*ClientAbilityInitBeginNotify) Descriptor() ([]byte, []int) {
+ return file_ClientAbilityInitBeginNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientAbilityInitBeginNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_ClientAbilityInitBeginNotify_proto protoreflect.FileDescriptor
+
+var file_ClientAbilityInitBeginNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x69, 0x74, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x1c, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x69, 0x74,
+ 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientAbilityInitBeginNotify_proto_rawDescOnce sync.Once
+ file_ClientAbilityInitBeginNotify_proto_rawDescData = file_ClientAbilityInitBeginNotify_proto_rawDesc
+)
+
+func file_ClientAbilityInitBeginNotify_proto_rawDescGZIP() []byte {
+ file_ClientAbilityInitBeginNotify_proto_rawDescOnce.Do(func() {
+ file_ClientAbilityInitBeginNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientAbilityInitBeginNotify_proto_rawDescData)
+ })
+ return file_ClientAbilityInitBeginNotify_proto_rawDescData
+}
+
+var file_ClientAbilityInitBeginNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientAbilityInitBeginNotify_proto_goTypes = []interface{}{
+ (*ClientAbilityInitBeginNotify)(nil), // 0: proto.ClientAbilityInitBeginNotify
+}
+var file_ClientAbilityInitBeginNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientAbilityInitBeginNotify_proto_init() }
+func file_ClientAbilityInitBeginNotify_proto_init() {
+ if File_ClientAbilityInitBeginNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientAbilityInitBeginNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientAbilityInitBeginNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientAbilityInitBeginNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientAbilityInitBeginNotify_proto_goTypes,
+ DependencyIndexes: file_ClientAbilityInitBeginNotify_proto_depIdxs,
+ MessageInfos: file_ClientAbilityInitBeginNotify_proto_msgTypes,
+ }.Build()
+ File_ClientAbilityInitBeginNotify_proto = out.File
+ file_ClientAbilityInitBeginNotify_proto_rawDesc = nil
+ file_ClientAbilityInitBeginNotify_proto_goTypes = nil
+ file_ClientAbilityInitBeginNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientAbilityInitFinishNotify.pb.go b/protocol/proto/ClientAbilityInitFinishNotify.pb.go
new file mode 100644
index 00000000..24d60df8
--- /dev/null
+++ b/protocol/proto/ClientAbilityInitFinishNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientAbilityInitFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1135
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientAbilityInitFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Invokes []*AbilityInvokeEntry `protobuf:"bytes,14,rep,name=invokes,proto3" json:"invokes,omitempty"`
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *ClientAbilityInitFinishNotify) Reset() {
+ *x = ClientAbilityInitFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientAbilityInitFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientAbilityInitFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientAbilityInitFinishNotify) ProtoMessage() {}
+
+func (x *ClientAbilityInitFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientAbilityInitFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientAbilityInitFinishNotify.ProtoReflect.Descriptor instead.
+func (*ClientAbilityInitFinishNotify) Descriptor() ([]byte, []int) {
+ return file_ClientAbilityInitFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientAbilityInitFinishNotify) GetInvokes() []*AbilityInvokeEntry {
+ if x != nil {
+ return x.Invokes
+ }
+ return nil
+}
+
+func (x *ClientAbilityInitFinishNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_ClientAbilityInitFinishNotify_proto protoreflect.FileDescriptor
+
+var file_ClientAbilityInitFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x1d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b,
+ 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientAbilityInitFinishNotify_proto_rawDescOnce sync.Once
+ file_ClientAbilityInitFinishNotify_proto_rawDescData = file_ClientAbilityInitFinishNotify_proto_rawDesc
+)
+
+func file_ClientAbilityInitFinishNotify_proto_rawDescGZIP() []byte {
+ file_ClientAbilityInitFinishNotify_proto_rawDescOnce.Do(func() {
+ file_ClientAbilityInitFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientAbilityInitFinishNotify_proto_rawDescData)
+ })
+ return file_ClientAbilityInitFinishNotify_proto_rawDescData
+}
+
+var file_ClientAbilityInitFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientAbilityInitFinishNotify_proto_goTypes = []interface{}{
+ (*ClientAbilityInitFinishNotify)(nil), // 0: proto.ClientAbilityInitFinishNotify
+ (*AbilityInvokeEntry)(nil), // 1: proto.AbilityInvokeEntry
+}
+var file_ClientAbilityInitFinishNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientAbilityInitFinishNotify.invokes:type_name -> proto.AbilityInvokeEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ClientAbilityInitFinishNotify_proto_init() }
+func file_ClientAbilityInitFinishNotify_proto_init() {
+ if File_ClientAbilityInitFinishNotify_proto != nil {
+ return
+ }
+ file_AbilityInvokeEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientAbilityInitFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientAbilityInitFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientAbilityInitFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientAbilityInitFinishNotify_proto_goTypes,
+ DependencyIndexes: file_ClientAbilityInitFinishNotify_proto_depIdxs,
+ MessageInfos: file_ClientAbilityInitFinishNotify_proto_msgTypes,
+ }.Build()
+ File_ClientAbilityInitFinishNotify_proto = out.File
+ file_ClientAbilityInitFinishNotify_proto_rawDesc = nil
+ file_ClientAbilityInitFinishNotify_proto_goTypes = nil
+ file_ClientAbilityInitFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientBulletCreateNotify.pb.go b/protocol/proto/ClientBulletCreateNotify.pb.go
new file mode 100644
index 00000000..eb95faa6
--- /dev/null
+++ b/protocol/proto/ClientBulletCreateNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientBulletCreateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientBulletCreateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param uint32 `protobuf:"varint,6,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *ClientBulletCreateNotify) Reset() {
+ *x = ClientBulletCreateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientBulletCreateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientBulletCreateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientBulletCreateNotify) ProtoMessage() {}
+
+func (x *ClientBulletCreateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientBulletCreateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientBulletCreateNotify.ProtoReflect.Descriptor instead.
+func (*ClientBulletCreateNotify) Descriptor() ([]byte, []int) {
+ return file_ClientBulletCreateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientBulletCreateNotify) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_ClientBulletCreateNotify_proto protoreflect.FileDescriptor
+
+var file_ClientBulletCreateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x18, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientBulletCreateNotify_proto_rawDescOnce sync.Once
+ file_ClientBulletCreateNotify_proto_rawDescData = file_ClientBulletCreateNotify_proto_rawDesc
+)
+
+func file_ClientBulletCreateNotify_proto_rawDescGZIP() []byte {
+ file_ClientBulletCreateNotify_proto_rawDescOnce.Do(func() {
+ file_ClientBulletCreateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientBulletCreateNotify_proto_rawDescData)
+ })
+ return file_ClientBulletCreateNotify_proto_rawDescData
+}
+
+var file_ClientBulletCreateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientBulletCreateNotify_proto_goTypes = []interface{}{
+ (*ClientBulletCreateNotify)(nil), // 0: proto.ClientBulletCreateNotify
+}
+var file_ClientBulletCreateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientBulletCreateNotify_proto_init() }
+func file_ClientBulletCreateNotify_proto_init() {
+ if File_ClientBulletCreateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientBulletCreateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientBulletCreateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientBulletCreateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientBulletCreateNotify_proto_goTypes,
+ DependencyIndexes: file_ClientBulletCreateNotify_proto_depIdxs,
+ MessageInfos: file_ClientBulletCreateNotify_proto_msgTypes,
+ }.Build()
+ File_ClientBulletCreateNotify_proto = out.File
+ file_ClientBulletCreateNotify_proto_rawDesc = nil
+ file_ClientBulletCreateNotify_proto_goTypes = nil
+ file_ClientBulletCreateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientCollectorData.pb.go b/protocol/proto/ClientCollectorData.pb.go
new file mode 100644
index 00000000..90ab375b
--- /dev/null
+++ b/protocol/proto/ClientCollectorData.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientCollectorData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ClientCollectorData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaterialId uint32 `protobuf:"varint,10,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ MaxPoints uint32 `protobuf:"varint,8,opt,name=max_points,json=maxPoints,proto3" json:"max_points,omitempty"`
+ CurrPoints uint32 `protobuf:"varint,13,opt,name=curr_points,json=currPoints,proto3" json:"curr_points,omitempty"`
+}
+
+func (x *ClientCollectorData) Reset() {
+ *x = ClientCollectorData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientCollectorData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientCollectorData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientCollectorData) ProtoMessage() {}
+
+func (x *ClientCollectorData) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientCollectorData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientCollectorData.ProtoReflect.Descriptor instead.
+func (*ClientCollectorData) Descriptor() ([]byte, []int) {
+ return file_ClientCollectorData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientCollectorData) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *ClientCollectorData) GetMaxPoints() uint32 {
+ if x != nil {
+ return x.MaxPoints
+ }
+ return 0
+}
+
+func (x *ClientCollectorData) GetCurrPoints() uint32 {
+ if x != nil {
+ return x.CurrPoints
+ }
+ return 0
+}
+
+var File_ClientCollectorData_proto protoreflect.FileDescriptor
+
+var file_ClientCollectorData_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74,
+ 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61,
+ 0x78, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72,
+ 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x63, 0x75, 0x72, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientCollectorData_proto_rawDescOnce sync.Once
+ file_ClientCollectorData_proto_rawDescData = file_ClientCollectorData_proto_rawDesc
+)
+
+func file_ClientCollectorData_proto_rawDescGZIP() []byte {
+ file_ClientCollectorData_proto_rawDescOnce.Do(func() {
+ file_ClientCollectorData_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientCollectorData_proto_rawDescData)
+ })
+ return file_ClientCollectorData_proto_rawDescData
+}
+
+var file_ClientCollectorData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientCollectorData_proto_goTypes = []interface{}{
+ (*ClientCollectorData)(nil), // 0: proto.ClientCollectorData
+}
+var file_ClientCollectorData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientCollectorData_proto_init() }
+func file_ClientCollectorData_proto_init() {
+ if File_ClientCollectorData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientCollectorData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientCollectorData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientCollectorData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientCollectorData_proto_goTypes,
+ DependencyIndexes: file_ClientCollectorData_proto_depIdxs,
+ MessageInfos: file_ClientCollectorData_proto_msgTypes,
+ }.Build()
+ File_ClientCollectorData_proto = out.File
+ file_ClientCollectorData_proto_rawDesc = nil
+ file_ClientCollectorData_proto_goTypes = nil
+ file_ClientCollectorData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientCollectorDataNotify.pb.go b/protocol/proto/ClientCollectorDataNotify.pb.go
new file mode 100644
index 00000000..c2eaa839
--- /dev/null
+++ b/protocol/proto/ClientCollectorDataNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientCollectorDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4264
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ClientCollectorDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClientCollectorDataList []*ClientCollectorData `protobuf:"bytes,13,rep,name=client_collector_data_list,json=clientCollectorDataList,proto3" json:"client_collector_data_list,omitempty"`
+}
+
+func (x *ClientCollectorDataNotify) Reset() {
+ *x = ClientCollectorDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientCollectorDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientCollectorDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientCollectorDataNotify) ProtoMessage() {}
+
+func (x *ClientCollectorDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientCollectorDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientCollectorDataNotify.ProtoReflect.Descriptor instead.
+func (*ClientCollectorDataNotify) Descriptor() ([]byte, []int) {
+ return file_ClientCollectorDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientCollectorDataNotify) GetClientCollectorDataList() []*ClientCollectorData {
+ if x != nil {
+ return x.ClientCollectorDataList
+ }
+ return nil
+}
+
+var File_ClientCollectorDataNotify_proto protoreflect.FileDescriptor
+
+var file_ClientCollectorDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x57, 0x0a, 0x1a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x17, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientCollectorDataNotify_proto_rawDescOnce sync.Once
+ file_ClientCollectorDataNotify_proto_rawDescData = file_ClientCollectorDataNotify_proto_rawDesc
+)
+
+func file_ClientCollectorDataNotify_proto_rawDescGZIP() []byte {
+ file_ClientCollectorDataNotify_proto_rawDescOnce.Do(func() {
+ file_ClientCollectorDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientCollectorDataNotify_proto_rawDescData)
+ })
+ return file_ClientCollectorDataNotify_proto_rawDescData
+}
+
+var file_ClientCollectorDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientCollectorDataNotify_proto_goTypes = []interface{}{
+ (*ClientCollectorDataNotify)(nil), // 0: proto.ClientCollectorDataNotify
+ (*ClientCollectorData)(nil), // 1: proto.ClientCollectorData
+}
+var file_ClientCollectorDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientCollectorDataNotify.client_collector_data_list:type_name -> proto.ClientCollectorData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ClientCollectorDataNotify_proto_init() }
+func file_ClientCollectorDataNotify_proto_init() {
+ if File_ClientCollectorDataNotify_proto != nil {
+ return
+ }
+ file_ClientCollectorData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientCollectorDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientCollectorDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientCollectorDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientCollectorDataNotify_proto_goTypes,
+ DependencyIndexes: file_ClientCollectorDataNotify_proto_depIdxs,
+ MessageInfos: file_ClientCollectorDataNotify_proto_msgTypes,
+ }.Build()
+ File_ClientCollectorDataNotify_proto = out.File
+ file_ClientCollectorDataNotify_proto_rawDesc = nil
+ file_ClientCollectorDataNotify_proto_goTypes = nil
+ file_ClientCollectorDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientGadgetInfo.pb.go b/protocol/proto/ClientGadgetInfo.pb.go
new file mode 100644
index 00000000..46bc71ef
--- /dev/null
+++ b/protocol/proto/ClientGadgetInfo.pb.go
@@ -0,0 +1,231 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ClientGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CampId uint32 `protobuf:"varint,1,opt,name=camp_id,json=campId,proto3" json:"camp_id,omitempty"`
+ CampType uint32 `protobuf:"varint,2,opt,name=camp_type,json=campType,proto3" json:"camp_type,omitempty"`
+ Guid uint64 `protobuf:"varint,3,opt,name=guid,proto3" json:"guid,omitempty"`
+ OwnerEntityId uint32 `protobuf:"varint,4,opt,name=owner_entity_id,json=ownerEntityId,proto3" json:"owner_entity_id,omitempty"`
+ TargetEntityId uint32 `protobuf:"varint,5,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+ AsyncLoad bool `protobuf:"varint,6,opt,name=async_load,json=asyncLoad,proto3" json:"async_load,omitempty"`
+ IsPeerIdFromPlayer bool `protobuf:"varint,7,opt,name=is_peer_id_from_player,json=isPeerIdFromPlayer,proto3" json:"is_peer_id_from_player,omitempty"`
+ TargetEntityIdList []uint32 `protobuf:"varint,8,rep,packed,name=target_entity_id_list,json=targetEntityIdList,proto3" json:"target_entity_id_list,omitempty"`
+}
+
+func (x *ClientGadgetInfo) Reset() {
+ *x = ClientGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientGadgetInfo) ProtoMessage() {}
+
+func (x *ClientGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientGadgetInfo.ProtoReflect.Descriptor instead.
+func (*ClientGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_ClientGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientGadgetInfo) GetCampId() uint32 {
+ if x != nil {
+ return x.CampId
+ }
+ return 0
+}
+
+func (x *ClientGadgetInfo) GetCampType() uint32 {
+ if x != nil {
+ return x.CampType
+ }
+ return 0
+}
+
+func (x *ClientGadgetInfo) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *ClientGadgetInfo) GetOwnerEntityId() uint32 {
+ if x != nil {
+ return x.OwnerEntityId
+ }
+ return 0
+}
+
+func (x *ClientGadgetInfo) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+func (x *ClientGadgetInfo) GetAsyncLoad() bool {
+ if x != nil {
+ return x.AsyncLoad
+ }
+ return false
+}
+
+func (x *ClientGadgetInfo) GetIsPeerIdFromPlayer() bool {
+ if x != nil {
+ return x.IsPeerIdFromPlayer
+ }
+ return false
+}
+
+func (x *ClientGadgetInfo) GetTargetEntityIdList() []uint32 {
+ if x != nil {
+ return x.TargetEntityIdList
+ }
+ return nil
+}
+
+var File_ClientGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_ClientGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb4, 0x02, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x26,
+ 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x4c, 0x6f, 0x61, 0x64, 0x12,
+ 0x32, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x72,
+ 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x12, 0x69, 0x73, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientGadgetInfo_proto_rawDescOnce sync.Once
+ file_ClientGadgetInfo_proto_rawDescData = file_ClientGadgetInfo_proto_rawDesc
+)
+
+func file_ClientGadgetInfo_proto_rawDescGZIP() []byte {
+ file_ClientGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_ClientGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientGadgetInfo_proto_rawDescData)
+ })
+ return file_ClientGadgetInfo_proto_rawDescData
+}
+
+var file_ClientGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientGadgetInfo_proto_goTypes = []interface{}{
+ (*ClientGadgetInfo)(nil), // 0: proto.ClientGadgetInfo
+}
+var file_ClientGadgetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientGadgetInfo_proto_init() }
+func file_ClientGadgetInfo_proto_init() {
+ if File_ClientGadgetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_ClientGadgetInfo_proto_depIdxs,
+ MessageInfos: file_ClientGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_ClientGadgetInfo_proto = out.File
+ file_ClientGadgetInfo_proto_rawDesc = nil
+ file_ClientGadgetInfo_proto_goTypes = nil
+ file_ClientGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientHashDebugNotify.pb.go b/protocol/proto/ClientHashDebugNotify.pb.go
new file mode 100644
index 00000000..0fb61052
--- /dev/null
+++ b/protocol/proto/ClientHashDebugNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientHashDebugNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3086
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ClientHashDebugNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ JobId uint32 `protobuf:"varint,12,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
+}
+
+func (x *ClientHashDebugNotify) Reset() {
+ *x = ClientHashDebugNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientHashDebugNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientHashDebugNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientHashDebugNotify) ProtoMessage() {}
+
+func (x *ClientHashDebugNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientHashDebugNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientHashDebugNotify.ProtoReflect.Descriptor instead.
+func (*ClientHashDebugNotify) Descriptor() ([]byte, []int) {
+ return file_ClientHashDebugNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientHashDebugNotify) GetJobId() uint32 {
+ if x != nil {
+ return x.JobId
+ }
+ return 0
+}
+
+var File_ClientHashDebugNotify_proto protoreflect.FileDescriptor
+
+var file_ClientHashDebugNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x44, 0x65, 0x62, 0x75,
+ 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x61,
+ 0x73, 0x68, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a,
+ 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6a,
+ 0x6f, 0x62, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientHashDebugNotify_proto_rawDescOnce sync.Once
+ file_ClientHashDebugNotify_proto_rawDescData = file_ClientHashDebugNotify_proto_rawDesc
+)
+
+func file_ClientHashDebugNotify_proto_rawDescGZIP() []byte {
+ file_ClientHashDebugNotify_proto_rawDescOnce.Do(func() {
+ file_ClientHashDebugNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientHashDebugNotify_proto_rawDescData)
+ })
+ return file_ClientHashDebugNotify_proto_rawDescData
+}
+
+var file_ClientHashDebugNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientHashDebugNotify_proto_goTypes = []interface{}{
+ (*ClientHashDebugNotify)(nil), // 0: proto.ClientHashDebugNotify
+}
+var file_ClientHashDebugNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientHashDebugNotify_proto_init() }
+func file_ClientHashDebugNotify_proto_init() {
+ if File_ClientHashDebugNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientHashDebugNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientHashDebugNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientHashDebugNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientHashDebugNotify_proto_goTypes,
+ DependencyIndexes: file_ClientHashDebugNotify_proto_depIdxs,
+ MessageInfos: file_ClientHashDebugNotify_proto_msgTypes,
+ }.Build()
+ File_ClientHashDebugNotify_proto = out.File
+ file_ClientHashDebugNotify_proto_rawDesc = nil
+ file_ClientHashDebugNotify_proto_goTypes = nil
+ file_ClientHashDebugNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientInputType.pb.go b/protocol/proto/ClientInputType.pb.go
new file mode 100644
index 00000000..86b92628
--- /dev/null
+++ b/protocol/proto/ClientInputType.pb.go
@@ -0,0 +1,156 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientInputType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ClientInputType int32
+
+const (
+ ClientInputType_CLIENT_INPUT_TYPE_NONE ClientInputType = 0
+ ClientInputType_CLIENT_INPUT_TYPE_KEYBORD_MOUSE ClientInputType = 1
+ ClientInputType_CLIENT_INPUT_TYPE_GAMEPAD ClientInputType = 2
+ ClientInputType_CLIENT_INPUT_TYPE_TOUCH_PANEL ClientInputType = 3
+)
+
+// Enum value maps for ClientInputType.
+var (
+ ClientInputType_name = map[int32]string{
+ 0: "CLIENT_INPUT_TYPE_NONE",
+ 1: "CLIENT_INPUT_TYPE_KEYBORD_MOUSE",
+ 2: "CLIENT_INPUT_TYPE_GAMEPAD",
+ 3: "CLIENT_INPUT_TYPE_TOUCH_PANEL",
+ }
+ ClientInputType_value = map[string]int32{
+ "CLIENT_INPUT_TYPE_NONE": 0,
+ "CLIENT_INPUT_TYPE_KEYBORD_MOUSE": 1,
+ "CLIENT_INPUT_TYPE_GAMEPAD": 2,
+ "CLIENT_INPUT_TYPE_TOUCH_PANEL": 3,
+ }
+)
+
+func (x ClientInputType) Enum() *ClientInputType {
+ p := new(ClientInputType)
+ *p = x
+ return p
+}
+
+func (x ClientInputType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ClientInputType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ClientInputType_proto_enumTypes[0].Descriptor()
+}
+
+func (ClientInputType) Type() protoreflect.EnumType {
+ return &file_ClientInputType_proto_enumTypes[0]
+}
+
+func (x ClientInputType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ClientInputType.Descriptor instead.
+func (ClientInputType) EnumDescriptor() ([]byte, []int) {
+ return file_ClientInputType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ClientInputType_proto protoreflect.FileDescriptor
+
+var file_ClientInputType_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x94,
+ 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x50,
+ 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x23,
+ 0x0a, 0x1f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x42, 0x4f, 0x52, 0x44, 0x5f, 0x4d, 0x4f, 0x55, 0x53,
+ 0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e,
+ 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x50, 0x41, 0x44,
+ 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x50,
+ 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x55, 0x43, 0x48, 0x5f, 0x50, 0x41,
+ 0x4e, 0x45, 0x4c, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientInputType_proto_rawDescOnce sync.Once
+ file_ClientInputType_proto_rawDescData = file_ClientInputType_proto_rawDesc
+)
+
+func file_ClientInputType_proto_rawDescGZIP() []byte {
+ file_ClientInputType_proto_rawDescOnce.Do(func() {
+ file_ClientInputType_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientInputType_proto_rawDescData)
+ })
+ return file_ClientInputType_proto_rawDescData
+}
+
+var file_ClientInputType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ClientInputType_proto_goTypes = []interface{}{
+ (ClientInputType)(0), // 0: proto.ClientInputType
+}
+var file_ClientInputType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientInputType_proto_init() }
+func file_ClientInputType_proto_init() {
+ if File_ClientInputType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientInputType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientInputType_proto_goTypes,
+ DependencyIndexes: file_ClientInputType_proto_depIdxs,
+ EnumInfos: file_ClientInputType_proto_enumTypes,
+ }.Build()
+ File_ClientInputType_proto = out.File
+ file_ClientInputType_proto_rawDesc = nil
+ file_ClientInputType_proto_goTypes = nil
+ file_ClientInputType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientLoadingCostumeVerificationNotify.pb.go b/protocol/proto/ClientLoadingCostumeVerificationNotify.pb.go
new file mode 100644
index 00000000..abee430d
--- /dev/null
+++ b/protocol/proto/ClientLoadingCostumeVerificationNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientLoadingCostumeVerificationNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3487
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientLoadingCostumeVerificationNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostumeId uint32 `protobuf:"varint,9,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ PrefabHash uint64 `protobuf:"varint,2,opt,name=prefab_hash,json=prefabHash,proto3" json:"prefab_hash,omitempty"`
+ Guid uint64 `protobuf:"varint,14,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *ClientLoadingCostumeVerificationNotify) Reset() {
+ *x = ClientLoadingCostumeVerificationNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientLoadingCostumeVerificationNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientLoadingCostumeVerificationNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientLoadingCostumeVerificationNotify) ProtoMessage() {}
+
+func (x *ClientLoadingCostumeVerificationNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientLoadingCostumeVerificationNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientLoadingCostumeVerificationNotify.ProtoReflect.Descriptor instead.
+func (*ClientLoadingCostumeVerificationNotify) Descriptor() ([]byte, []int) {
+ return file_ClientLoadingCostumeVerificationNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientLoadingCostumeVerificationNotify) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *ClientLoadingCostumeVerificationNotify) GetPrefabHash() uint64 {
+ if x != nil {
+ return x.PrefabHash
+ }
+ return 0
+}
+
+func (x *ClientLoadingCostumeVerificationNotify) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_ClientLoadingCostumeVerificationNotify_proto protoreflect.FileDescriptor
+
+var file_ClientLoadingCostumeVerificationNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43,
+ 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x26, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c,
+ 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x56, 0x65, 0x72,
+ 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x61, 0x62, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x61, 0x62, 0x48, 0x61, 0x73, 0x68, 0x12,
+ 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67,
+ 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientLoadingCostumeVerificationNotify_proto_rawDescOnce sync.Once
+ file_ClientLoadingCostumeVerificationNotify_proto_rawDescData = file_ClientLoadingCostumeVerificationNotify_proto_rawDesc
+)
+
+func file_ClientLoadingCostumeVerificationNotify_proto_rawDescGZIP() []byte {
+ file_ClientLoadingCostumeVerificationNotify_proto_rawDescOnce.Do(func() {
+ file_ClientLoadingCostumeVerificationNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientLoadingCostumeVerificationNotify_proto_rawDescData)
+ })
+ return file_ClientLoadingCostumeVerificationNotify_proto_rawDescData
+}
+
+var file_ClientLoadingCostumeVerificationNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientLoadingCostumeVerificationNotify_proto_goTypes = []interface{}{
+ (*ClientLoadingCostumeVerificationNotify)(nil), // 0: proto.ClientLoadingCostumeVerificationNotify
+}
+var file_ClientLoadingCostumeVerificationNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientLoadingCostumeVerificationNotify_proto_init() }
+func file_ClientLoadingCostumeVerificationNotify_proto_init() {
+ if File_ClientLoadingCostumeVerificationNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientLoadingCostumeVerificationNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientLoadingCostumeVerificationNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientLoadingCostumeVerificationNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientLoadingCostumeVerificationNotify_proto_goTypes,
+ DependencyIndexes: file_ClientLoadingCostumeVerificationNotify_proto_depIdxs,
+ MessageInfos: file_ClientLoadingCostumeVerificationNotify_proto_msgTypes,
+ }.Build()
+ File_ClientLoadingCostumeVerificationNotify_proto = out.File
+ file_ClientLoadingCostumeVerificationNotify_proto_rawDesc = nil
+ file_ClientLoadingCostumeVerificationNotify_proto_goTypes = nil
+ file_ClientLoadingCostumeVerificationNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientLockGameTimeNotify.pb.go b/protocol/proto/ClientLockGameTimeNotify.pb.go
new file mode 100644
index 00000000..18a5337e
--- /dev/null
+++ b/protocol/proto/ClientLockGameTimeNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientLockGameTimeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 114
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientLockGameTimeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsLock bool `protobuf:"varint,5,opt,name=is_lock,json=isLock,proto3" json:"is_lock,omitempty"`
+}
+
+func (x *ClientLockGameTimeNotify) Reset() {
+ *x = ClientLockGameTimeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientLockGameTimeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientLockGameTimeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientLockGameTimeNotify) ProtoMessage() {}
+
+func (x *ClientLockGameTimeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientLockGameTimeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientLockGameTimeNotify.ProtoReflect.Descriptor instead.
+func (*ClientLockGameTimeNotify) Descriptor() ([]byte, []int) {
+ return file_ClientLockGameTimeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientLockGameTimeNotify) GetIsLock() bool {
+ if x != nil {
+ return x.IsLock
+ }
+ return false
+}
+
+var File_ClientLockGameTimeNotify_proto protoreflect.FileDescriptor
+
+var file_ClientLockGameTimeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x47, 0x61, 0x6d, 0x65,
+ 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x18, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientLockGameTimeNotify_proto_rawDescOnce sync.Once
+ file_ClientLockGameTimeNotify_proto_rawDescData = file_ClientLockGameTimeNotify_proto_rawDesc
+)
+
+func file_ClientLockGameTimeNotify_proto_rawDescGZIP() []byte {
+ file_ClientLockGameTimeNotify_proto_rawDescOnce.Do(func() {
+ file_ClientLockGameTimeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientLockGameTimeNotify_proto_rawDescData)
+ })
+ return file_ClientLockGameTimeNotify_proto_rawDescData
+}
+
+var file_ClientLockGameTimeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientLockGameTimeNotify_proto_goTypes = []interface{}{
+ (*ClientLockGameTimeNotify)(nil), // 0: proto.ClientLockGameTimeNotify
+}
+var file_ClientLockGameTimeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientLockGameTimeNotify_proto_init() }
+func file_ClientLockGameTimeNotify_proto_init() {
+ if File_ClientLockGameTimeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientLockGameTimeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientLockGameTimeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientLockGameTimeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientLockGameTimeNotify_proto_goTypes,
+ DependencyIndexes: file_ClientLockGameTimeNotify_proto_depIdxs,
+ MessageInfos: file_ClientLockGameTimeNotify_proto_msgTypes,
+ }.Build()
+ File_ClientLockGameTimeNotify_proto = out.File
+ file_ClientLockGameTimeNotify_proto_rawDesc = nil
+ file_ClientLockGameTimeNotify_proto_goTypes = nil
+ file_ClientLockGameTimeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientLogBodyLogin.pb.go b/protocol/proto/ClientLogBodyLogin.pb.go
new file mode 100644
index 00000000..d58933ce
--- /dev/null
+++ b/protocol/proto/ClientLogBodyLogin.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientLogBodyLogin.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ClientLogBodyLogin struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActionType string `protobuf:"bytes,1,opt,name=action_type,json=actionType,proto3" json:"action_type,omitempty"`
+ ActionResult string `protobuf:"bytes,2,opt,name=action_result,json=actionResult,proto3" json:"action_result,omitempty"`
+ ActionTime uint32 `protobuf:"varint,3,opt,name=action_time,json=actionTime,proto3" json:"action_time,omitempty"`
+ Xg string `protobuf:"bytes,4,opt,name=xg,proto3" json:"xg,omitempty"`
+ SignalLevel uint32 `protobuf:"varint,5,opt,name=signal_level,json=signalLevel,proto3" json:"signal_level,omitempty"`
+ Dns string `protobuf:"bytes,6,opt,name=dns,proto3" json:"dns,omitempty"`
+}
+
+func (x *ClientLogBodyLogin) Reset() {
+ *x = ClientLogBodyLogin{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientLogBodyLogin_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientLogBodyLogin) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientLogBodyLogin) ProtoMessage() {}
+
+func (x *ClientLogBodyLogin) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientLogBodyLogin_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientLogBodyLogin.ProtoReflect.Descriptor instead.
+func (*ClientLogBodyLogin) Descriptor() ([]byte, []int) {
+ return file_ClientLogBodyLogin_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientLogBodyLogin) GetActionType() string {
+ if x != nil {
+ return x.ActionType
+ }
+ return ""
+}
+
+func (x *ClientLogBodyLogin) GetActionResult() string {
+ if x != nil {
+ return x.ActionResult
+ }
+ return ""
+}
+
+func (x *ClientLogBodyLogin) GetActionTime() uint32 {
+ if x != nil {
+ return x.ActionTime
+ }
+ return 0
+}
+
+func (x *ClientLogBodyLogin) GetXg() string {
+ if x != nil {
+ return x.Xg
+ }
+ return ""
+}
+
+func (x *ClientLogBodyLogin) GetSignalLevel() uint32 {
+ if x != nil {
+ return x.SignalLevel
+ }
+ return 0
+}
+
+func (x *ClientLogBodyLogin) GetDns() string {
+ if x != nil {
+ return x.Dns
+ }
+ return ""
+}
+
+var File_ClientLogBodyLogin_proto protoreflect.FileDescriptor
+
+var file_ClientLogBodyLogin_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x6f, 0x64, 0x79, 0x4c,
+ 0x6f, 0x67, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42,
+ 0x6f, 0x64, 0x79, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x0e, 0x0a, 0x02, 0x78, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x78, 0x67, 0x12,
+ 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x03, 0x64, 0x6e, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientLogBodyLogin_proto_rawDescOnce sync.Once
+ file_ClientLogBodyLogin_proto_rawDescData = file_ClientLogBodyLogin_proto_rawDesc
+)
+
+func file_ClientLogBodyLogin_proto_rawDescGZIP() []byte {
+ file_ClientLogBodyLogin_proto_rawDescOnce.Do(func() {
+ file_ClientLogBodyLogin_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientLogBodyLogin_proto_rawDescData)
+ })
+ return file_ClientLogBodyLogin_proto_rawDescData
+}
+
+var file_ClientLogBodyLogin_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientLogBodyLogin_proto_goTypes = []interface{}{
+ (*ClientLogBodyLogin)(nil), // 0: proto.ClientLogBodyLogin
+}
+var file_ClientLogBodyLogin_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientLogBodyLogin_proto_init() }
+func file_ClientLogBodyLogin_proto_init() {
+ if File_ClientLogBodyLogin_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientLogBodyLogin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientLogBodyLogin); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientLogBodyLogin_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientLogBodyLogin_proto_goTypes,
+ DependencyIndexes: file_ClientLogBodyLogin_proto_depIdxs,
+ MessageInfos: file_ClientLogBodyLogin_proto_msgTypes,
+ }.Build()
+ File_ClientLogBodyLogin_proto = out.File
+ file_ClientLogBodyLogin_proto_rawDesc = nil
+ file_ClientLogBodyLogin_proto_goTypes = nil
+ file_ClientLogBodyLogin_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientLogBodyPing.pb.go b/protocol/proto/ClientLogBodyPing.pb.go
new file mode 100644
index 00000000..9968c47f
--- /dev/null
+++ b/protocol/proto/ClientLogBodyPing.pb.go
@@ -0,0 +1,235 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientLogBodyPing.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ClientLogBodyPing struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Xg string `protobuf:"bytes,1,opt,name=xg,proto3" json:"xg,omitempty"`
+ SignalLevel uint32 `protobuf:"varint,2,opt,name=signal_level,json=signalLevel,proto3" json:"signal_level,omitempty"`
+ Ping uint32 `protobuf:"varint,3,opt,name=ping,proto3" json:"ping,omitempty"`
+ Servertype string `protobuf:"bytes,4,opt,name=servertype,proto3" json:"servertype,omitempty"`
+ Serverip string `protobuf:"bytes,5,opt,name=serverip,proto3" json:"serverip,omitempty"`
+ Serverport string `protobuf:"bytes,6,opt,name=serverport,proto3" json:"serverport,omitempty"`
+ Pcount uint32 `protobuf:"varint,7,opt,name=pcount,proto3" json:"pcount,omitempty"`
+ Plost uint32 `protobuf:"varint,8,opt,name=plost,proto3" json:"plost,omitempty"`
+ Dns string `protobuf:"bytes,9,opt,name=dns,proto3" json:"dns,omitempty"`
+}
+
+func (x *ClientLogBodyPing) Reset() {
+ *x = ClientLogBodyPing{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientLogBodyPing_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientLogBodyPing) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientLogBodyPing) ProtoMessage() {}
+
+func (x *ClientLogBodyPing) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientLogBodyPing_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientLogBodyPing.ProtoReflect.Descriptor instead.
+func (*ClientLogBodyPing) Descriptor() ([]byte, []int) {
+ return file_ClientLogBodyPing_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientLogBodyPing) GetXg() string {
+ if x != nil {
+ return x.Xg
+ }
+ return ""
+}
+
+func (x *ClientLogBodyPing) GetSignalLevel() uint32 {
+ if x != nil {
+ return x.SignalLevel
+ }
+ return 0
+}
+
+func (x *ClientLogBodyPing) GetPing() uint32 {
+ if x != nil {
+ return x.Ping
+ }
+ return 0
+}
+
+func (x *ClientLogBodyPing) GetServertype() string {
+ if x != nil {
+ return x.Servertype
+ }
+ return ""
+}
+
+func (x *ClientLogBodyPing) GetServerip() string {
+ if x != nil {
+ return x.Serverip
+ }
+ return ""
+}
+
+func (x *ClientLogBodyPing) GetServerport() string {
+ if x != nil {
+ return x.Serverport
+ }
+ return ""
+}
+
+func (x *ClientLogBodyPing) GetPcount() uint32 {
+ if x != nil {
+ return x.Pcount
+ }
+ return 0
+}
+
+func (x *ClientLogBodyPing) GetPlost() uint32 {
+ if x != nil {
+ return x.Plost
+ }
+ return 0
+}
+
+func (x *ClientLogBodyPing) GetDns() string {
+ if x != nil {
+ return x.Dns
+ }
+ return ""
+}
+
+var File_ClientLogBodyPing_proto protoreflect.FileDescriptor
+
+var file_ClientLogBodyPing_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x6f, 0x64, 0x79, 0x50,
+ 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xf6, 0x01, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x42, 0x6f,
+ 0x64, 0x79, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x78, 0x67, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x02, 0x78, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x69,
+ 0x67, 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e,
+ 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a,
+ 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a,
+ 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6c, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x70, 0x6c, 0x6f, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientLogBodyPing_proto_rawDescOnce sync.Once
+ file_ClientLogBodyPing_proto_rawDescData = file_ClientLogBodyPing_proto_rawDesc
+)
+
+func file_ClientLogBodyPing_proto_rawDescGZIP() []byte {
+ file_ClientLogBodyPing_proto_rawDescOnce.Do(func() {
+ file_ClientLogBodyPing_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientLogBodyPing_proto_rawDescData)
+ })
+ return file_ClientLogBodyPing_proto_rawDescData
+}
+
+var file_ClientLogBodyPing_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientLogBodyPing_proto_goTypes = []interface{}{
+ (*ClientLogBodyPing)(nil), // 0: proto.ClientLogBodyPing
+}
+var file_ClientLogBodyPing_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientLogBodyPing_proto_init() }
+func file_ClientLogBodyPing_proto_init() {
+ if File_ClientLogBodyPing_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientLogBodyPing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientLogBodyPing); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientLogBodyPing_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientLogBodyPing_proto_goTypes,
+ DependencyIndexes: file_ClientLogBodyPing_proto_depIdxs,
+ MessageInfos: file_ClientLogBodyPing_proto_msgTypes,
+ }.Build()
+ File_ClientLogBodyPing_proto = out.File
+ file_ClientLogBodyPing_proto_rawDesc = nil
+ file_ClientLogBodyPing_proto_goTypes = nil
+ file_ClientLogBodyPing_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientLogHead.pb.go b/protocol/proto/ClientLogHead.pb.go
new file mode 100644
index 00000000..3c4b076d
--- /dev/null
+++ b/protocol/proto/ClientLogHead.pb.go
@@ -0,0 +1,289 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientLogHead.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ClientLogHead struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EventTime string `protobuf:"bytes,1,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"`
+ LogSerialNumber string `protobuf:"bytes,2,opt,name=log_serial_number,json=logSerialNumber,proto3" json:"log_serial_number,omitempty"`
+ ActionId uint32 `protobuf:"varint,3,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"`
+ ActionName string `protobuf:"bytes,4,opt,name=action_name,json=actionName,proto3" json:"action_name,omitempty"`
+ UploadIp string `protobuf:"bytes,5,opt,name=upload_ip,json=uploadIp,proto3" json:"upload_ip,omitempty"`
+ ProductId string `protobuf:"bytes,6,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ ChannelId string `protobuf:"bytes,7,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+ RegionName string `protobuf:"bytes,8,opt,name=region_name,json=regionName,proto3" json:"region_name,omitempty"`
+ GameVersion string `protobuf:"bytes,9,opt,name=game_version,json=gameVersion,proto3" json:"game_version,omitempty"`
+ DeviceType string `protobuf:"bytes,10,opt,name=device_type,json=deviceType,proto3" json:"device_type,omitempty"`
+ DeviceUuid string `protobuf:"bytes,11,opt,name=device_uuid,json=deviceUuid,proto3" json:"device_uuid,omitempty"`
+ MacAddr string `protobuf:"bytes,12,opt,name=mac_addr,json=macAddr,proto3" json:"mac_addr,omitempty"`
+ AccountName string `protobuf:"bytes,13,opt,name=account_name,json=accountName,proto3" json:"account_name,omitempty"`
+ AccountUuid string `protobuf:"bytes,14,opt,name=account_uuid,json=accountUuid,proto3" json:"account_uuid,omitempty"`
+}
+
+func (x *ClientLogHead) Reset() {
+ *x = ClientLogHead{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientLogHead_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientLogHead) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientLogHead) ProtoMessage() {}
+
+func (x *ClientLogHead) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientLogHead_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientLogHead.ProtoReflect.Descriptor instead.
+func (*ClientLogHead) Descriptor() ([]byte, []int) {
+ return file_ClientLogHead_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientLogHead) GetEventTime() string {
+ if x != nil {
+ return x.EventTime
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetLogSerialNumber() string {
+ if x != nil {
+ return x.LogSerialNumber
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetActionId() uint32 {
+ if x != nil {
+ return x.ActionId
+ }
+ return 0
+}
+
+func (x *ClientLogHead) GetActionName() string {
+ if x != nil {
+ return x.ActionName
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetUploadIp() string {
+ if x != nil {
+ return x.UploadIp
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetChannelId() string {
+ if x != nil {
+ return x.ChannelId
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetRegionName() string {
+ if x != nil {
+ return x.RegionName
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetGameVersion() string {
+ if x != nil {
+ return x.GameVersion
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetDeviceType() string {
+ if x != nil {
+ return x.DeviceType
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetDeviceUuid() string {
+ if x != nil {
+ return x.DeviceUuid
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetMacAddr() string {
+ if x != nil {
+ return x.MacAddr
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetAccountName() string {
+ if x != nil {
+ return x.AccountName
+ }
+ return ""
+}
+
+func (x *ClientLogHead) GetAccountUuid() string {
+ if x != nil {
+ return x.AccountUuid
+ }
+ return ""
+}
+
+var File_ClientLogHead_proto protoreflect.FileDescriptor
+
+var file_ClientLogHead_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x48, 0x65, 0x61, 0x64, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a,
+ 0x0d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x48, 0x65, 0x61, 0x64, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a,
+ 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
+ 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x72,
+ 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61,
+ 0x64, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f,
+ 0x61, 0x64, 0x49, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
+ 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x61, 0x6d, 0x65, 0x56,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76,
+ 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63,
+ 0x65, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x5f,
+ 0x61, 0x64, 0x64, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x41,
+ 0x64, 0x64, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientLogHead_proto_rawDescOnce sync.Once
+ file_ClientLogHead_proto_rawDescData = file_ClientLogHead_proto_rawDesc
+)
+
+func file_ClientLogHead_proto_rawDescGZIP() []byte {
+ file_ClientLogHead_proto_rawDescOnce.Do(func() {
+ file_ClientLogHead_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientLogHead_proto_rawDescData)
+ })
+ return file_ClientLogHead_proto_rawDescData
+}
+
+var file_ClientLogHead_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientLogHead_proto_goTypes = []interface{}{
+ (*ClientLogHead)(nil), // 0: proto.ClientLogHead
+}
+var file_ClientLogHead_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientLogHead_proto_init() }
+func file_ClientLogHead_proto_init() {
+ if File_ClientLogHead_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientLogHead_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientLogHead); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientLogHead_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientLogHead_proto_goTypes,
+ DependencyIndexes: file_ClientLogHead_proto_depIdxs,
+ MessageInfos: file_ClientLogHead_proto_msgTypes,
+ }.Build()
+ File_ClientLogHead_proto = out.File
+ file_ClientLogHead_proto_rawDesc = nil
+ file_ClientLogHead_proto_goTypes = nil
+ file_ClientLogHead_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientMassiveEntity.pb.go b/protocol/proto/ClientMassiveEntity.pb.go
new file mode 100644
index 00000000..50809cfb
--- /dev/null
+++ b/protocol/proto/ClientMassiveEntity.pb.go
@@ -0,0 +1,264 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientMassiveEntity.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ClientMassiveEntity struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityType uint32 `protobuf:"varint,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
+ ConfigId uint32 `protobuf:"varint,2,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ ObjId int64 `protobuf:"varint,3,opt,name=obj_id,json=objId,proto3" json:"obj_id,omitempty"`
+ // Types that are assignable to EntityInfo:
+ //
+ // *ClientMassiveEntity_WaterInfo
+ // *ClientMassiveEntity_GrassInfo
+ // *ClientMassiveEntity_BoxInfo
+ EntityInfo isClientMassiveEntity_EntityInfo `protobuf_oneof:"entity_info"`
+}
+
+func (x *ClientMassiveEntity) Reset() {
+ *x = ClientMassiveEntity{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientMassiveEntity_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientMassiveEntity) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientMassiveEntity) ProtoMessage() {}
+
+func (x *ClientMassiveEntity) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientMassiveEntity_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientMassiveEntity.ProtoReflect.Descriptor instead.
+func (*ClientMassiveEntity) Descriptor() ([]byte, []int) {
+ return file_ClientMassiveEntity_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientMassiveEntity) GetEntityType() uint32 {
+ if x != nil {
+ return x.EntityType
+ }
+ return 0
+}
+
+func (x *ClientMassiveEntity) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *ClientMassiveEntity) GetObjId() int64 {
+ if x != nil {
+ return x.ObjId
+ }
+ return 0
+}
+
+func (m *ClientMassiveEntity) GetEntityInfo() isClientMassiveEntity_EntityInfo {
+ if m != nil {
+ return m.EntityInfo
+ }
+ return nil
+}
+
+func (x *ClientMassiveEntity) GetWaterInfo() *MassiveWaterInfo {
+ if x, ok := x.GetEntityInfo().(*ClientMassiveEntity_WaterInfo); ok {
+ return x.WaterInfo
+ }
+ return nil
+}
+
+func (x *ClientMassiveEntity) GetGrassInfo() *MassiveGrassInfo {
+ if x, ok := x.GetEntityInfo().(*ClientMassiveEntity_GrassInfo); ok {
+ return x.GrassInfo
+ }
+ return nil
+}
+
+func (x *ClientMassiveEntity) GetBoxInfo() *MassiveBoxInfo {
+ if x, ok := x.GetEntityInfo().(*ClientMassiveEntity_BoxInfo); ok {
+ return x.BoxInfo
+ }
+ return nil
+}
+
+type isClientMassiveEntity_EntityInfo interface {
+ isClientMassiveEntity_EntityInfo()
+}
+
+type ClientMassiveEntity_WaterInfo struct {
+ WaterInfo *MassiveWaterInfo `protobuf:"bytes,4,opt,name=water_info,json=waterInfo,proto3,oneof"`
+}
+
+type ClientMassiveEntity_GrassInfo struct {
+ GrassInfo *MassiveGrassInfo `protobuf:"bytes,5,opt,name=grass_info,json=grassInfo,proto3,oneof"`
+}
+
+type ClientMassiveEntity_BoxInfo struct {
+ BoxInfo *MassiveBoxInfo `protobuf:"bytes,6,opt,name=box_info,json=boxInfo,proto3,oneof"`
+}
+
+func (*ClientMassiveEntity_WaterInfo) isClientMassiveEntity_EntityInfo() {}
+
+func (*ClientMassiveEntity_GrassInfo) isClientMassiveEntity_EntityInfo() {}
+
+func (*ClientMassiveEntity_BoxInfo) isClientMassiveEntity_EntityInfo() {}
+
+var File_ClientMassiveEntity_proto protoreflect.FileDescriptor
+
+var file_ClientMassiveEntity_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x14, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x42, 0x6f, 0x78, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76,
+ 0x65, 0x47, 0x72, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x57, 0x61, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x02, 0x0a, 0x13, 0x43, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x15,
+ 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
+ 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x57, 0x61, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x77, 0x61, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x38, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x73, 0x73,
+ 0x69, 0x76, 0x65, 0x47, 0x72, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09,
+ 0x67, 0x72, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x6f, 0x78,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x42, 0x6f, 0x78, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0d, 0x0a,
+ 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientMassiveEntity_proto_rawDescOnce sync.Once
+ file_ClientMassiveEntity_proto_rawDescData = file_ClientMassiveEntity_proto_rawDesc
+)
+
+func file_ClientMassiveEntity_proto_rawDescGZIP() []byte {
+ file_ClientMassiveEntity_proto_rawDescOnce.Do(func() {
+ file_ClientMassiveEntity_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientMassiveEntity_proto_rawDescData)
+ })
+ return file_ClientMassiveEntity_proto_rawDescData
+}
+
+var file_ClientMassiveEntity_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientMassiveEntity_proto_goTypes = []interface{}{
+ (*ClientMassiveEntity)(nil), // 0: proto.ClientMassiveEntity
+ (*MassiveWaterInfo)(nil), // 1: proto.MassiveWaterInfo
+ (*MassiveGrassInfo)(nil), // 2: proto.MassiveGrassInfo
+ (*MassiveBoxInfo)(nil), // 3: proto.MassiveBoxInfo
+}
+var file_ClientMassiveEntity_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientMassiveEntity.water_info:type_name -> proto.MassiveWaterInfo
+ 2, // 1: proto.ClientMassiveEntity.grass_info:type_name -> proto.MassiveGrassInfo
+ 3, // 2: proto.ClientMassiveEntity.box_info:type_name -> proto.MassiveBoxInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ClientMassiveEntity_proto_init() }
+func file_ClientMassiveEntity_proto_init() {
+ if File_ClientMassiveEntity_proto != nil {
+ return
+ }
+ file_MassiveBoxInfo_proto_init()
+ file_MassiveGrassInfo_proto_init()
+ file_MassiveWaterInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientMassiveEntity_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientMassiveEntity); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ClientMassiveEntity_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*ClientMassiveEntity_WaterInfo)(nil),
+ (*ClientMassiveEntity_GrassInfo)(nil),
+ (*ClientMassiveEntity_BoxInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientMassiveEntity_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientMassiveEntity_proto_goTypes,
+ DependencyIndexes: file_ClientMassiveEntity_proto_depIdxs,
+ MessageInfos: file_ClientMassiveEntity_proto_msgTypes,
+ }.Build()
+ File_ClientMassiveEntity_proto = out.File
+ file_ClientMassiveEntity_proto_rawDesc = nil
+ file_ClientMassiveEntity_proto_goTypes = nil
+ file_ClientMassiveEntity_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientNewMailNotify.pb.go b/protocol/proto/ClientNewMailNotify.pb.go
new file mode 100644
index 00000000..6f146fb8
--- /dev/null
+++ b/protocol/proto/ClientNewMailNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientNewMailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1499
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ClientNewMailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NotReadNum uint32 `protobuf:"varint,7,opt,name=not_read_num,json=notReadNum,proto3" json:"not_read_num,omitempty"`
+ NotGotAttachmentNum uint32 `protobuf:"varint,2,opt,name=not_got_attachment_num,json=notGotAttachmentNum,proto3" json:"not_got_attachment_num,omitempty"`
+}
+
+func (x *ClientNewMailNotify) Reset() {
+ *x = ClientNewMailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientNewMailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientNewMailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientNewMailNotify) ProtoMessage() {}
+
+func (x *ClientNewMailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientNewMailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientNewMailNotify.ProtoReflect.Descriptor instead.
+func (*ClientNewMailNotify) Descriptor() ([]byte, []int) {
+ return file_ClientNewMailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientNewMailNotify) GetNotReadNum() uint32 {
+ if x != nil {
+ return x.NotReadNum
+ }
+ return 0
+}
+
+func (x *ClientNewMailNotify) GetNotGotAttachmentNum() uint32 {
+ if x != nil {
+ return x.NotGotAttachmentNum
+ }
+ return 0
+}
+
+var File_ClientNewMailNotify_proto protoreflect.FileDescriptor
+
+var file_ClientNewMailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x77, 0x4d, 0x61, 0x69, 0x6c, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x77, 0x4d,
+ 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x6f, 0x74,
+ 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x6e, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x33, 0x0a, 0x16, 0x6e,
+ 0x6f, 0x74, 0x5f, 0x67, 0x6f, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e,
+ 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x6f, 0x74,
+ 0x47, 0x6f, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientNewMailNotify_proto_rawDescOnce sync.Once
+ file_ClientNewMailNotify_proto_rawDescData = file_ClientNewMailNotify_proto_rawDesc
+)
+
+func file_ClientNewMailNotify_proto_rawDescGZIP() []byte {
+ file_ClientNewMailNotify_proto_rawDescOnce.Do(func() {
+ file_ClientNewMailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientNewMailNotify_proto_rawDescData)
+ })
+ return file_ClientNewMailNotify_proto_rawDescData
+}
+
+var file_ClientNewMailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientNewMailNotify_proto_goTypes = []interface{}{
+ (*ClientNewMailNotify)(nil), // 0: proto.ClientNewMailNotify
+}
+var file_ClientNewMailNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientNewMailNotify_proto_init() }
+func file_ClientNewMailNotify_proto_init() {
+ if File_ClientNewMailNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientNewMailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientNewMailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientNewMailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientNewMailNotify_proto_goTypes,
+ DependencyIndexes: file_ClientNewMailNotify_proto_depIdxs,
+ MessageInfos: file_ClientNewMailNotify_proto_msgTypes,
+ }.Build()
+ File_ClientNewMailNotify_proto = out.File
+ file_ClientNewMailNotify_proto_rawDesc = nil
+ file_ClientNewMailNotify_proto_goTypes = nil
+ file_ClientNewMailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientPauseNotify.pb.go b/protocol/proto/ClientPauseNotify.pb.go
new file mode 100644
index 00000000..cb0fabc5
--- /dev/null
+++ b/protocol/proto/ClientPauseNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientPauseNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 260
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientPauseNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,1,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *ClientPauseNotify) Reset() {
+ *x = ClientPauseNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientPauseNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientPauseNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientPauseNotify) ProtoMessage() {}
+
+func (x *ClientPauseNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientPauseNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientPauseNotify.ProtoReflect.Descriptor instead.
+func (*ClientPauseNotify) Descriptor() ([]byte, []int) {
+ return file_ClientPauseNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientPauseNotify) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_ClientPauseNotify_proto protoreflect.FileDescriptor
+
+var file_ClientPauseNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x2c, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ClientPauseNotify_proto_rawDescOnce sync.Once
+ file_ClientPauseNotify_proto_rawDescData = file_ClientPauseNotify_proto_rawDesc
+)
+
+func file_ClientPauseNotify_proto_rawDescGZIP() []byte {
+ file_ClientPauseNotify_proto_rawDescOnce.Do(func() {
+ file_ClientPauseNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientPauseNotify_proto_rawDescData)
+ })
+ return file_ClientPauseNotify_proto_rawDescData
+}
+
+var file_ClientPauseNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientPauseNotify_proto_goTypes = []interface{}{
+ (*ClientPauseNotify)(nil), // 0: proto.ClientPauseNotify
+}
+var file_ClientPauseNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientPauseNotify_proto_init() }
+func file_ClientPauseNotify_proto_init() {
+ if File_ClientPauseNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientPauseNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientPauseNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientPauseNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientPauseNotify_proto_goTypes,
+ DependencyIndexes: file_ClientPauseNotify_proto_depIdxs,
+ MessageInfos: file_ClientPauseNotify_proto_msgTypes,
+ }.Build()
+ File_ClientPauseNotify_proto = out.File
+ file_ClientPauseNotify_proto_rawDesc = nil
+ file_ClientPauseNotify_proto_goTypes = nil
+ file_ClientPauseNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientReconnectNotify.pb.go b/protocol/proto/ClientReconnectNotify.pb.go
new file mode 100644
index 00000000..f508f25b
--- /dev/null
+++ b/protocol/proto/ClientReconnectNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientReconnectNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 75
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ClientReconnectNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason ClientReconnectReason `protobuf:"varint,6,opt,name=reason,proto3,enum=proto.ClientReconnectReason" json:"reason,omitempty"`
+}
+
+func (x *ClientReconnectNotify) Reset() {
+ *x = ClientReconnectNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientReconnectNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientReconnectNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientReconnectNotify) ProtoMessage() {}
+
+func (x *ClientReconnectNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientReconnectNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientReconnectNotify.ProtoReflect.Descriptor instead.
+func (*ClientReconnectNotify) Descriptor() ([]byte, []int) {
+ return file_ClientReconnectNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientReconnectNotify) GetReason() ClientReconnectReason {
+ if x != nil {
+ return x.Reason
+ }
+ return ClientReconnectReason_CLIENT_RECONNECT_REASON_RECONNNECT_NONE
+}
+
+var File_ClientReconnectNotify_proto protoreflect.FileDescriptor
+
+var file_ClientReconnectNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x4d, 0x0a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientReconnectNotify_proto_rawDescOnce sync.Once
+ file_ClientReconnectNotify_proto_rawDescData = file_ClientReconnectNotify_proto_rawDesc
+)
+
+func file_ClientReconnectNotify_proto_rawDescGZIP() []byte {
+ file_ClientReconnectNotify_proto_rawDescOnce.Do(func() {
+ file_ClientReconnectNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientReconnectNotify_proto_rawDescData)
+ })
+ return file_ClientReconnectNotify_proto_rawDescData
+}
+
+var file_ClientReconnectNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientReconnectNotify_proto_goTypes = []interface{}{
+ (*ClientReconnectNotify)(nil), // 0: proto.ClientReconnectNotify
+ (ClientReconnectReason)(0), // 1: proto.ClientReconnectReason
+}
+var file_ClientReconnectNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientReconnectNotify.reason:type_name -> proto.ClientReconnectReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ClientReconnectNotify_proto_init() }
+func file_ClientReconnectNotify_proto_init() {
+ if File_ClientReconnectNotify_proto != nil {
+ return
+ }
+ file_ClientReconnectReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientReconnectNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientReconnectNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientReconnectNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientReconnectNotify_proto_goTypes,
+ DependencyIndexes: file_ClientReconnectNotify_proto_depIdxs,
+ MessageInfos: file_ClientReconnectNotify_proto_msgTypes,
+ }.Build()
+ File_ClientReconnectNotify_proto = out.File
+ file_ClientReconnectNotify_proto_rawDesc = nil
+ file_ClientReconnectNotify_proto_goTypes = nil
+ file_ClientReconnectNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientReconnectReason.pb.go b/protocol/proto/ClientReconnectReason.pb.go
new file mode 100644
index 00000000..43bc5254
--- /dev/null
+++ b/protocol/proto/ClientReconnectReason.pb.go
@@ -0,0 +1,148 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientReconnectReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ClientReconnectReason int32
+
+const (
+ ClientReconnectReason_CLIENT_RECONNECT_REASON_RECONNNECT_NONE ClientReconnectReason = 0
+ ClientReconnectReason_CLIENT_RECONNECT_REASON_RECONNNECT_QUIT_MP ClientReconnectReason = 1
+)
+
+// Enum value maps for ClientReconnectReason.
+var (
+ ClientReconnectReason_name = map[int32]string{
+ 0: "CLIENT_RECONNECT_REASON_RECONNNECT_NONE",
+ 1: "CLIENT_RECONNECT_REASON_RECONNNECT_QUIT_MP",
+ }
+ ClientReconnectReason_value = map[string]int32{
+ "CLIENT_RECONNECT_REASON_RECONNNECT_NONE": 0,
+ "CLIENT_RECONNECT_REASON_RECONNNECT_QUIT_MP": 1,
+ }
+)
+
+func (x ClientReconnectReason) Enum() *ClientReconnectReason {
+ p := new(ClientReconnectReason)
+ *p = x
+ return p
+}
+
+func (x ClientReconnectReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ClientReconnectReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_ClientReconnectReason_proto_enumTypes[0].Descriptor()
+}
+
+func (ClientReconnectReason) Type() protoreflect.EnumType {
+ return &file_ClientReconnectReason_proto_enumTypes[0]
+}
+
+func (x ClientReconnectReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ClientReconnectReason.Descriptor instead.
+func (ClientReconnectReason) EnumDescriptor() ([]byte, []int) {
+ return file_ClientReconnectReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ClientReconnectReason_proto protoreflect.FileDescriptor
+
+var file_ClientReconnectReason_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+ 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x74, 0x0a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a,
+ 0x27, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43,
+ 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x4e,
+ 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x4c,
+ 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x4e, 0x45, 0x43, 0x54,
+ 0x5f, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x4d, 0x50, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientReconnectReason_proto_rawDescOnce sync.Once
+ file_ClientReconnectReason_proto_rawDescData = file_ClientReconnectReason_proto_rawDesc
+)
+
+func file_ClientReconnectReason_proto_rawDescGZIP() []byte {
+ file_ClientReconnectReason_proto_rawDescOnce.Do(func() {
+ file_ClientReconnectReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientReconnectReason_proto_rawDescData)
+ })
+ return file_ClientReconnectReason_proto_rawDescData
+}
+
+var file_ClientReconnectReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ClientReconnectReason_proto_goTypes = []interface{}{
+ (ClientReconnectReason)(0), // 0: proto.ClientReconnectReason
+}
+var file_ClientReconnectReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientReconnectReason_proto_init() }
+func file_ClientReconnectReason_proto_init() {
+ if File_ClientReconnectReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientReconnectReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientReconnectReason_proto_goTypes,
+ DependencyIndexes: file_ClientReconnectReason_proto_depIdxs,
+ EnumInfos: file_ClientReconnectReason_proto_enumTypes,
+ }.Build()
+ File_ClientReconnectReason_proto = out.File
+ file_ClientReconnectReason_proto_rawDesc = nil
+ file_ClientReconnectReason_proto_goTypes = nil
+ file_ClientReconnectReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientRemoveCombatEndModifierNotify.pb.go b/protocol/proto/ClientRemoveCombatEndModifierNotify.pb.go
new file mode 100644
index 00000000..b666bd67
--- /dev/null
+++ b/protocol/proto/ClientRemoveCombatEndModifierNotify.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientRemoveCombatEndModifierNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1182
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientRemoveCombatEndModifierNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CombatEndTypeList []uint32 `protobuf:"varint,7,rep,packed,name=combat_end_type_list,json=combatEndTypeList,proto3" json:"combat_end_type_list,omitempty"`
+}
+
+func (x *ClientRemoveCombatEndModifierNotify) Reset() {
+ *x = ClientRemoveCombatEndModifierNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientRemoveCombatEndModifierNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientRemoveCombatEndModifierNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientRemoveCombatEndModifierNotify) ProtoMessage() {}
+
+func (x *ClientRemoveCombatEndModifierNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientRemoveCombatEndModifierNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientRemoveCombatEndModifierNotify.ProtoReflect.Descriptor instead.
+func (*ClientRemoveCombatEndModifierNotify) Descriptor() ([]byte, []int) {
+ return file_ClientRemoveCombatEndModifierNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientRemoveCombatEndModifierNotify) GetCombatEndTypeList() []uint32 {
+ if x != nil {
+ return x.CombatEndTypeList
+ }
+ return nil
+}
+
+var File_ClientRemoveCombatEndModifierNotify_proto protoreflect.FileDescriptor
+
+var file_ClientRemoveCombatEndModifierNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f,
+ 0x6d, 0x62, 0x61, 0x74, 0x45, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x23, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x45, 0x6e, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x6f, 0x6d,
+ 0x62, 0x61, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x45,
+ 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientRemoveCombatEndModifierNotify_proto_rawDescOnce sync.Once
+ file_ClientRemoveCombatEndModifierNotify_proto_rawDescData = file_ClientRemoveCombatEndModifierNotify_proto_rawDesc
+)
+
+func file_ClientRemoveCombatEndModifierNotify_proto_rawDescGZIP() []byte {
+ file_ClientRemoveCombatEndModifierNotify_proto_rawDescOnce.Do(func() {
+ file_ClientRemoveCombatEndModifierNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientRemoveCombatEndModifierNotify_proto_rawDescData)
+ })
+ return file_ClientRemoveCombatEndModifierNotify_proto_rawDescData
+}
+
+var file_ClientRemoveCombatEndModifierNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientRemoveCombatEndModifierNotify_proto_goTypes = []interface{}{
+ (*ClientRemoveCombatEndModifierNotify)(nil), // 0: proto.ClientRemoveCombatEndModifierNotify
+}
+var file_ClientRemoveCombatEndModifierNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientRemoveCombatEndModifierNotify_proto_init() }
+func file_ClientRemoveCombatEndModifierNotify_proto_init() {
+ if File_ClientRemoveCombatEndModifierNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientRemoveCombatEndModifierNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientRemoveCombatEndModifierNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientRemoveCombatEndModifierNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientRemoveCombatEndModifierNotify_proto_goTypes,
+ DependencyIndexes: file_ClientRemoveCombatEndModifierNotify_proto_depIdxs,
+ MessageInfos: file_ClientRemoveCombatEndModifierNotify_proto_msgTypes,
+ }.Build()
+ File_ClientRemoveCombatEndModifierNotify_proto = out.File
+ file_ClientRemoveCombatEndModifierNotify_proto_rawDesc = nil
+ file_ClientRemoveCombatEndModifierNotify_proto_goTypes = nil
+ file_ClientRemoveCombatEndModifierNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientReportNotify.pb.go b/protocol/proto/ClientReportNotify.pb.go
new file mode 100644
index 00000000..ad273850
--- /dev/null
+++ b/protocol/proto/ClientReportNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientReportNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 81
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientReportNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReportType string `protobuf:"bytes,1,opt,name=report_type,json=reportType,proto3" json:"report_type,omitempty"`
+ ReportValue string `protobuf:"bytes,4,opt,name=report_value,json=reportValue,proto3" json:"report_value,omitempty"`
+}
+
+func (x *ClientReportNotify) Reset() {
+ *x = ClientReportNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientReportNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientReportNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientReportNotify) ProtoMessage() {}
+
+func (x *ClientReportNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientReportNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientReportNotify.ProtoReflect.Descriptor instead.
+func (*ClientReportNotify) Descriptor() ([]byte, []int) {
+ return file_ClientReportNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientReportNotify) GetReportType() string {
+ if x != nil {
+ return x.ReportType
+ }
+ return ""
+}
+
+func (x *ClientReportNotify) GetReportValue() string {
+ if x != nil {
+ return x.ReportValue
+ }
+ return ""
+}
+
+var File_ClientReportNotify_proto protoreflect.FileDescriptor
+
+var file_ClientReportNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x58, 0x0a, 0x12, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72,
+ 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
+ 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+ 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientReportNotify_proto_rawDescOnce sync.Once
+ file_ClientReportNotify_proto_rawDescData = file_ClientReportNotify_proto_rawDesc
+)
+
+func file_ClientReportNotify_proto_rawDescGZIP() []byte {
+ file_ClientReportNotify_proto_rawDescOnce.Do(func() {
+ file_ClientReportNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientReportNotify_proto_rawDescData)
+ })
+ return file_ClientReportNotify_proto_rawDescData
+}
+
+var file_ClientReportNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientReportNotify_proto_goTypes = []interface{}{
+ (*ClientReportNotify)(nil), // 0: proto.ClientReportNotify
+}
+var file_ClientReportNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientReportNotify_proto_init() }
+func file_ClientReportNotify_proto_init() {
+ if File_ClientReportNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientReportNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientReportNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientReportNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientReportNotify_proto_goTypes,
+ DependencyIndexes: file_ClientReportNotify_proto_depIdxs,
+ MessageInfos: file_ClientReportNotify_proto_msgTypes,
+ }.Build()
+ File_ClientReportNotify_proto = out.File
+ file_ClientReportNotify_proto_rawDesc = nil
+ file_ClientReportNotify_proto_goTypes = nil
+ file_ClientReportNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientScriptEventNotify.pb.go b/protocol/proto/ClientScriptEventNotify.pb.go
new file mode 100644
index 00000000..12581591
--- /dev/null
+++ b/protocol/proto/ClientScriptEventNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientScriptEventNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 213
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientScriptEventNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParamList []int32 `protobuf:"varint,9,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ SourceEntityId uint32 `protobuf:"varint,14,opt,name=source_entity_id,json=sourceEntityId,proto3" json:"source_entity_id,omitempty"`
+ EventType uint32 `protobuf:"varint,10,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
+ TargetEntityId uint32 `protobuf:"varint,13,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+}
+
+func (x *ClientScriptEventNotify) Reset() {
+ *x = ClientScriptEventNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientScriptEventNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientScriptEventNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientScriptEventNotify) ProtoMessage() {}
+
+func (x *ClientScriptEventNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientScriptEventNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientScriptEventNotify.ProtoReflect.Descriptor instead.
+func (*ClientScriptEventNotify) Descriptor() ([]byte, []int) {
+ return file_ClientScriptEventNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientScriptEventNotify) GetParamList() []int32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *ClientScriptEventNotify) GetSourceEntityId() uint32 {
+ if x != nil {
+ return x.SourceEntityId
+ }
+ return 0
+}
+
+func (x *ClientScriptEventNotify) GetEventType() uint32 {
+ if x != nil {
+ return x.EventType
+ }
+ return 0
+}
+
+func (x *ClientScriptEventNotify) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+var File_ClientScriptEventNotify_proto protoreflect.FileDescriptor
+
+var file_ClientScriptEventNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x17, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientScriptEventNotify_proto_rawDescOnce sync.Once
+ file_ClientScriptEventNotify_proto_rawDescData = file_ClientScriptEventNotify_proto_rawDesc
+)
+
+func file_ClientScriptEventNotify_proto_rawDescGZIP() []byte {
+ file_ClientScriptEventNotify_proto_rawDescOnce.Do(func() {
+ file_ClientScriptEventNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientScriptEventNotify_proto_rawDescData)
+ })
+ return file_ClientScriptEventNotify_proto_rawDescData
+}
+
+var file_ClientScriptEventNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientScriptEventNotify_proto_goTypes = []interface{}{
+ (*ClientScriptEventNotify)(nil), // 0: proto.ClientScriptEventNotify
+}
+var file_ClientScriptEventNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClientScriptEventNotify_proto_init() }
+func file_ClientScriptEventNotify_proto_init() {
+ if File_ClientScriptEventNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClientScriptEventNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientScriptEventNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientScriptEventNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientScriptEventNotify_proto_goTypes,
+ DependencyIndexes: file_ClientScriptEventNotify_proto_depIdxs,
+ MessageInfos: file_ClientScriptEventNotify_proto_msgTypes,
+ }.Build()
+ File_ClientScriptEventNotify_proto = out.File
+ file_ClientScriptEventNotify_proto_rawDesc = nil
+ file_ClientScriptEventNotify_proto_goTypes = nil
+ file_ClientScriptEventNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientTransmitReq.pb.go b/protocol/proto/ClientTransmitReq.pb.go
new file mode 100644
index 00000000..6373a368
--- /dev/null
+++ b/protocol/proto/ClientTransmitReq.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientTransmitReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 291
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientTransmitReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,2,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Reason TransmitReason `protobuf:"varint,14,opt,name=reason,proto3,enum=proto.TransmitReason" json:"reason,omitempty"`
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,9,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *ClientTransmitReq) Reset() {
+ *x = ClientTransmitReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientTransmitReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientTransmitReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientTransmitReq) ProtoMessage() {}
+
+func (x *ClientTransmitReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientTransmitReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientTransmitReq.ProtoReflect.Descriptor instead.
+func (*ClientTransmitReq) Descriptor() ([]byte, []int) {
+ return file_ClientTransmitReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientTransmitReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *ClientTransmitReq) GetReason() TransmitReason {
+ if x != nil {
+ return x.Reason
+ }
+ return TransmitReason_TRANSMIT_REASON_NONE
+}
+
+func (x *ClientTransmitReq) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *ClientTransmitReq) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_ClientTransmitReq_proto protoreflect.FileDescriptor
+
+var file_ClientTransmitReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x01, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientTransmitReq_proto_rawDescOnce sync.Once
+ file_ClientTransmitReq_proto_rawDescData = file_ClientTransmitReq_proto_rawDesc
+)
+
+func file_ClientTransmitReq_proto_rawDescGZIP() []byte {
+ file_ClientTransmitReq_proto_rawDescOnce.Do(func() {
+ file_ClientTransmitReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientTransmitReq_proto_rawDescData)
+ })
+ return file_ClientTransmitReq_proto_rawDescData
+}
+
+var file_ClientTransmitReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientTransmitReq_proto_goTypes = []interface{}{
+ (*ClientTransmitReq)(nil), // 0: proto.ClientTransmitReq
+ (TransmitReason)(0), // 1: proto.TransmitReason
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_ClientTransmitReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientTransmitReq.reason:type_name -> proto.TransmitReason
+ 2, // 1: proto.ClientTransmitReq.pos:type_name -> proto.Vector
+ 2, // 2: proto.ClientTransmitReq.rot:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ClientTransmitReq_proto_init() }
+func file_ClientTransmitReq_proto_init() {
+ if File_ClientTransmitReq_proto != nil {
+ return
+ }
+ file_TransmitReason_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientTransmitReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientTransmitReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientTransmitReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientTransmitReq_proto_goTypes,
+ DependencyIndexes: file_ClientTransmitReq_proto_depIdxs,
+ MessageInfos: file_ClientTransmitReq_proto_msgTypes,
+ }.Build()
+ File_ClientTransmitReq_proto = out.File
+ file_ClientTransmitReq_proto_rawDesc = nil
+ file_ClientTransmitReq_proto_goTypes = nil
+ file_ClientTransmitReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientTransmitRsp.pb.go b/protocol/proto/ClientTransmitRsp.pb.go
new file mode 100644
index 00000000..a1706165
--- /dev/null
+++ b/protocol/proto/ClientTransmitRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientTransmitRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 224
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ClientTransmitRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason TransmitReason `protobuf:"varint,3,opt,name=reason,proto3,enum=proto.TransmitReason" json:"reason,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ClientTransmitRsp) Reset() {
+ *x = ClientTransmitRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientTransmitRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientTransmitRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientTransmitRsp) ProtoMessage() {}
+
+func (x *ClientTransmitRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientTransmitRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientTransmitRsp.ProtoReflect.Descriptor instead.
+func (*ClientTransmitRsp) Descriptor() ([]byte, []int) {
+ return file_ClientTransmitRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientTransmitRsp) GetReason() TransmitReason {
+ if x != nil {
+ return x.Reason
+ }
+ return TransmitReason_TRANSMIT_REASON_NONE
+}
+
+func (x *ClientTransmitRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ClientTransmitRsp_proto protoreflect.FileDescriptor
+
+var file_ClientTransmitRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClientTransmitRsp_proto_rawDescOnce sync.Once
+ file_ClientTransmitRsp_proto_rawDescData = file_ClientTransmitRsp_proto_rawDesc
+)
+
+func file_ClientTransmitRsp_proto_rawDescGZIP() []byte {
+ file_ClientTransmitRsp_proto_rawDescOnce.Do(func() {
+ file_ClientTransmitRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientTransmitRsp_proto_rawDescData)
+ })
+ return file_ClientTransmitRsp_proto_rawDescData
+}
+
+var file_ClientTransmitRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientTransmitRsp_proto_goTypes = []interface{}{
+ (*ClientTransmitRsp)(nil), // 0: proto.ClientTransmitRsp
+ (TransmitReason)(0), // 1: proto.TransmitReason
+}
+var file_ClientTransmitRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientTransmitRsp.reason:type_name -> proto.TransmitReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ClientTransmitRsp_proto_init() }
+func file_ClientTransmitRsp_proto_init() {
+ if File_ClientTransmitRsp_proto != nil {
+ return
+ }
+ file_TransmitReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientTransmitRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientTransmitRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientTransmitRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientTransmitRsp_proto_goTypes,
+ DependencyIndexes: file_ClientTransmitRsp_proto_depIdxs,
+ MessageInfos: file_ClientTransmitRsp_proto_msgTypes,
+ }.Build()
+ File_ClientTransmitRsp_proto = out.File
+ file_ClientTransmitRsp_proto_rawDesc = nil
+ file_ClientTransmitRsp_proto_goTypes = nil
+ file_ClientTransmitRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClientTriggerEventNotify.pb.go b/protocol/proto/ClientTriggerEventNotify.pb.go
new file mode 100644
index 00000000..3feca09b
--- /dev/null
+++ b/protocol/proto/ClientTriggerEventNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClientTriggerEventNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 148
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ClientTriggerEventNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForceId uint32 `protobuf:"varint,3,opt,name=force_id,json=forceId,proto3" json:"force_id,omitempty"`
+ EventType EventTriggerType `protobuf:"varint,2,opt,name=event_type,json=eventType,proto3,enum=proto.EventTriggerType" json:"event_type,omitempty"`
+}
+
+func (x *ClientTriggerEventNotify) Reset() {
+ *x = ClientTriggerEventNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClientTriggerEventNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClientTriggerEventNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClientTriggerEventNotify) ProtoMessage() {}
+
+func (x *ClientTriggerEventNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClientTriggerEventNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClientTriggerEventNotify.ProtoReflect.Descriptor instead.
+func (*ClientTriggerEventNotify) Descriptor() ([]byte, []int) {
+ return file_ClientTriggerEventNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClientTriggerEventNotify) GetForceId() uint32 {
+ if x != nil {
+ return x.ForceId
+ }
+ return 0
+}
+
+func (x *ClientTriggerEventNotify) GetEventType() EventTriggerType {
+ if x != nil {
+ return x.EventType
+ }
+ return EventTriggerType_EVENT_TRIGGER_TYPE_NONE
+}
+
+var File_ClientTriggerEventNotify_proto protoreflect.FileDescriptor
+
+var file_ClientTriggerEventNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72,
+ 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x6d, 0x0a, 0x18, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x66,
+ 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66,
+ 0x6f, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ClientTriggerEventNotify_proto_rawDescOnce sync.Once
+ file_ClientTriggerEventNotify_proto_rawDescData = file_ClientTriggerEventNotify_proto_rawDesc
+)
+
+func file_ClientTriggerEventNotify_proto_rawDescGZIP() []byte {
+ file_ClientTriggerEventNotify_proto_rawDescOnce.Do(func() {
+ file_ClientTriggerEventNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClientTriggerEventNotify_proto_rawDescData)
+ })
+ return file_ClientTriggerEventNotify_proto_rawDescData
+}
+
+var file_ClientTriggerEventNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClientTriggerEventNotify_proto_goTypes = []interface{}{
+ (*ClientTriggerEventNotify)(nil), // 0: proto.ClientTriggerEventNotify
+ (EventTriggerType)(0), // 1: proto.EventTriggerType
+}
+var file_ClientTriggerEventNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ClientTriggerEventNotify.event_type:type_name -> proto.EventTriggerType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ClientTriggerEventNotify_proto_init() }
+func file_ClientTriggerEventNotify_proto_init() {
+ if File_ClientTriggerEventNotify_proto != nil {
+ return
+ }
+ file_EventTriggerType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ClientTriggerEventNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClientTriggerEventNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClientTriggerEventNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClientTriggerEventNotify_proto_goTypes,
+ DependencyIndexes: file_ClientTriggerEventNotify_proto_depIdxs,
+ MessageInfos: file_ClientTriggerEventNotify_proto_msgTypes,
+ }.Build()
+ File_ClientTriggerEventNotify_proto = out.File
+ file_ClientTriggerEventNotify_proto_rawDesc = nil
+ file_ClientTriggerEventNotify_proto_goTypes = nil
+ file_ClientTriggerEventNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CloseCommonTipsNotify.pb.go b/protocol/proto/CloseCommonTipsNotify.pb.go
new file mode 100644
index 00000000..b55cc8da
--- /dev/null
+++ b/protocol/proto/CloseCommonTipsNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CloseCommonTipsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3194
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CloseCommonTipsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *CloseCommonTipsNotify) Reset() {
+ *x = CloseCommonTipsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CloseCommonTipsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CloseCommonTipsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CloseCommonTipsNotify) ProtoMessage() {}
+
+func (x *CloseCommonTipsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CloseCommonTipsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CloseCommonTipsNotify.ProtoReflect.Descriptor instead.
+func (*CloseCommonTipsNotify) Descriptor() ([]byte, []int) {
+ return file_CloseCommonTipsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CloseCommonTipsNotify_proto protoreflect.FileDescriptor
+
+var file_CloseCommonTipsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x69, 0x70,
+ 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x6f, 0x6e, 0x54, 0x69, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_CloseCommonTipsNotify_proto_rawDescOnce sync.Once
+ file_CloseCommonTipsNotify_proto_rawDescData = file_CloseCommonTipsNotify_proto_rawDesc
+)
+
+func file_CloseCommonTipsNotify_proto_rawDescGZIP() []byte {
+ file_CloseCommonTipsNotify_proto_rawDescOnce.Do(func() {
+ file_CloseCommonTipsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CloseCommonTipsNotify_proto_rawDescData)
+ })
+ return file_CloseCommonTipsNotify_proto_rawDescData
+}
+
+var file_CloseCommonTipsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CloseCommonTipsNotify_proto_goTypes = []interface{}{
+ (*CloseCommonTipsNotify)(nil), // 0: proto.CloseCommonTipsNotify
+}
+var file_CloseCommonTipsNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CloseCommonTipsNotify_proto_init() }
+func file_CloseCommonTipsNotify_proto_init() {
+ if File_CloseCommonTipsNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CloseCommonTipsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CloseCommonTipsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CloseCommonTipsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CloseCommonTipsNotify_proto_goTypes,
+ DependencyIndexes: file_CloseCommonTipsNotify_proto_depIdxs,
+ MessageInfos: file_CloseCommonTipsNotify_proto_msgTypes,
+ }.Build()
+ File_CloseCommonTipsNotify_proto = out.File
+ file_CloseCommonTipsNotify_proto_rawDesc = nil
+ file_CloseCommonTipsNotify_proto_goTypes = nil
+ file_CloseCommonTipsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ClosedItemNotify.pb.go b/protocol/proto/ClosedItemNotify.pb.go
new file mode 100644
index 00000000..b0acd0c0
--- /dev/null
+++ b/protocol/proto/ClosedItemNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ClosedItemNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 614
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ClosedItemNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemIdList []uint32 `protobuf:"varint,8,rep,packed,name=item_id_list,json=itemIdList,proto3" json:"item_id_list,omitempty"`
+}
+
+func (x *ClosedItemNotify) Reset() {
+ *x = ClosedItemNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ClosedItemNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ClosedItemNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ClosedItemNotify) ProtoMessage() {}
+
+func (x *ClosedItemNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ClosedItemNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ClosedItemNotify.ProtoReflect.Descriptor instead.
+func (*ClosedItemNotify) Descriptor() ([]byte, []int) {
+ return file_ClosedItemNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ClosedItemNotify) GetItemIdList() []uint32 {
+ if x != nil {
+ return x.ItemIdList
+ }
+ return nil
+}
+
+var File_ClosedItemNotify_proto protoreflect.FileDescriptor
+
+var file_ClosedItemNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x34, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ClosedItemNotify_proto_rawDescOnce sync.Once
+ file_ClosedItemNotify_proto_rawDescData = file_ClosedItemNotify_proto_rawDesc
+)
+
+func file_ClosedItemNotify_proto_rawDescGZIP() []byte {
+ file_ClosedItemNotify_proto_rawDescOnce.Do(func() {
+ file_ClosedItemNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ClosedItemNotify_proto_rawDescData)
+ })
+ return file_ClosedItemNotify_proto_rawDescData
+}
+
+var file_ClosedItemNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ClosedItemNotify_proto_goTypes = []interface{}{
+ (*ClosedItemNotify)(nil), // 0: proto.ClosedItemNotify
+}
+var file_ClosedItemNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ClosedItemNotify_proto_init() }
+func file_ClosedItemNotify_proto_init() {
+ if File_ClosedItemNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ClosedItemNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ClosedItemNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ClosedItemNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ClosedItemNotify_proto_goTypes,
+ DependencyIndexes: file_ClosedItemNotify_proto_depIdxs,
+ MessageInfos: file_ClosedItemNotify_proto_msgTypes,
+ }.Build()
+ File_ClosedItemNotify_proto = out.File
+ file_ClosedItemNotify_proto_rawDesc = nil
+ file_ClosedItemNotify_proto_goTypes = nil
+ file_ClosedItemNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CodexDataFullNotify.pb.go b/protocol/proto/CodexDataFullNotify.pb.go
new file mode 100644
index 00000000..dfa9ccf4
--- /dev/null
+++ b/protocol/proto/CodexDataFullNotify.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CodexDataFullNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4205
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CodexDataFullNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LastReadPushtipsCodexId uint32 `protobuf:"varint,4,opt,name=last_read_pushtips_codex_id,json=lastReadPushtipsCodexId,proto3" json:"last_read_pushtips_codex_id,omitempty"`
+ RecentViewedPushtipsList []uint32 `protobuf:"varint,2,rep,packed,name=recent_viewed_pushtips_list,json=recentViewedPushtipsList,proto3" json:"recent_viewed_pushtips_list,omitempty"`
+ LastReadPushtipsTypeId uint32 `protobuf:"varint,3,opt,name=last_read_pushtips_type_id,json=lastReadPushtipsTypeId,proto3" json:"last_read_pushtips_type_id,omitempty"`
+ TypeDataList []*CodexTypeData `protobuf:"bytes,6,rep,name=type_data_list,json=typeDataList,proto3" json:"type_data_list,omitempty"`
+}
+
+func (x *CodexDataFullNotify) Reset() {
+ *x = CodexDataFullNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CodexDataFullNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CodexDataFullNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CodexDataFullNotify) ProtoMessage() {}
+
+func (x *CodexDataFullNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CodexDataFullNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CodexDataFullNotify.ProtoReflect.Descriptor instead.
+func (*CodexDataFullNotify) Descriptor() ([]byte, []int) {
+ return file_CodexDataFullNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CodexDataFullNotify) GetLastReadPushtipsCodexId() uint32 {
+ if x != nil {
+ return x.LastReadPushtipsCodexId
+ }
+ return 0
+}
+
+func (x *CodexDataFullNotify) GetRecentViewedPushtipsList() []uint32 {
+ if x != nil {
+ return x.RecentViewedPushtipsList
+ }
+ return nil
+}
+
+func (x *CodexDataFullNotify) GetLastReadPushtipsTypeId() uint32 {
+ if x != nil {
+ return x.LastReadPushtipsTypeId
+ }
+ return 0
+}
+
+func (x *CodexDataFullNotify) GetTypeDataList() []*CodexTypeData {
+ if x != nil {
+ return x.TypeDataList
+ }
+ return nil
+}
+
+var File_CodexDataFullNotify_proto protoreflect.FileDescriptor
+
+var file_CodexDataFullNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x46, 0x75, 0x6c, 0x6c, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x13, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a, 0x13, 0x43, 0x6f, 0x64, 0x65,
+ 0x78, 0x44, 0x61, 0x74, 0x61, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x3c, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x75, 0x73,
+ 0x68, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x50, 0x75,
+ 0x73, 0x68, 0x74, 0x69, 0x70, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x49, 0x64, 0x12, 0x3d, 0x0a,
+ 0x1b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x5f, 0x70,
+ 0x75, 0x73, 0x68, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x18, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64,
+ 0x50, 0x75, 0x73, 0x68, 0x74, 0x69, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x1a,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x74, 0x69,
+ 0x70, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x61, 0x64, 0x50, 0x75, 0x73, 0x68, 0x74, 0x69,
+ 0x70, 0x73, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0e, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79,
+ 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CodexDataFullNotify_proto_rawDescOnce sync.Once
+ file_CodexDataFullNotify_proto_rawDescData = file_CodexDataFullNotify_proto_rawDesc
+)
+
+func file_CodexDataFullNotify_proto_rawDescGZIP() []byte {
+ file_CodexDataFullNotify_proto_rawDescOnce.Do(func() {
+ file_CodexDataFullNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CodexDataFullNotify_proto_rawDescData)
+ })
+ return file_CodexDataFullNotify_proto_rawDescData
+}
+
+var file_CodexDataFullNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CodexDataFullNotify_proto_goTypes = []interface{}{
+ (*CodexDataFullNotify)(nil), // 0: proto.CodexDataFullNotify
+ (*CodexTypeData)(nil), // 1: proto.CodexTypeData
+}
+var file_CodexDataFullNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CodexDataFullNotify.type_data_list:type_name -> proto.CodexTypeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CodexDataFullNotify_proto_init() }
+func file_CodexDataFullNotify_proto_init() {
+ if File_CodexDataFullNotify_proto != nil {
+ return
+ }
+ file_CodexTypeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CodexDataFullNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CodexDataFullNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CodexDataFullNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CodexDataFullNotify_proto_goTypes,
+ DependencyIndexes: file_CodexDataFullNotify_proto_depIdxs,
+ MessageInfos: file_CodexDataFullNotify_proto_msgTypes,
+ }.Build()
+ File_CodexDataFullNotify_proto = out.File
+ file_CodexDataFullNotify_proto_rawDesc = nil
+ file_CodexDataFullNotify_proto_goTypes = nil
+ file_CodexDataFullNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CodexDataUpdateNotify.pb.go b/protocol/proto/CodexDataUpdateNotify.pb.go
new file mode 100644
index 00000000..045fc91b
--- /dev/null
+++ b/protocol/proto/CodexDataUpdateNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CodexDataUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4207
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CodexDataUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,8,opt,name=id,proto3" json:"id,omitempty"`
+ WeaponMaxPromoteLevel uint32 `protobuf:"varint,15,opt,name=weapon_max_promote_level,json=weaponMaxPromoteLevel,proto3" json:"weapon_max_promote_level,omitempty"`
+ Type CodexType `protobuf:"varint,11,opt,name=type,proto3,enum=proto.CodexType" json:"type,omitempty"`
+}
+
+func (x *CodexDataUpdateNotify) Reset() {
+ *x = CodexDataUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CodexDataUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CodexDataUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CodexDataUpdateNotify) ProtoMessage() {}
+
+func (x *CodexDataUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CodexDataUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CodexDataUpdateNotify.ProtoReflect.Descriptor instead.
+func (*CodexDataUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_CodexDataUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CodexDataUpdateNotify) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *CodexDataUpdateNotify) GetWeaponMaxPromoteLevel() uint32 {
+ if x != nil {
+ return x.WeaponMaxPromoteLevel
+ }
+ return 0
+}
+
+func (x *CodexDataUpdateNotify) GetType() CodexType {
+ if x != nil {
+ return x.Type
+ }
+ return CodexType_CODEX_TYPE_NONE
+}
+
+var File_CodexDataUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_CodexDataUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x44,
+ 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12,
+ 0x37, 0x0a, 0x18, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72,
+ 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x15, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x6d,
+ 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CodexDataUpdateNotify_proto_rawDescOnce sync.Once
+ file_CodexDataUpdateNotify_proto_rawDescData = file_CodexDataUpdateNotify_proto_rawDesc
+)
+
+func file_CodexDataUpdateNotify_proto_rawDescGZIP() []byte {
+ file_CodexDataUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_CodexDataUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CodexDataUpdateNotify_proto_rawDescData)
+ })
+ return file_CodexDataUpdateNotify_proto_rawDescData
+}
+
+var file_CodexDataUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CodexDataUpdateNotify_proto_goTypes = []interface{}{
+ (*CodexDataUpdateNotify)(nil), // 0: proto.CodexDataUpdateNotify
+ (CodexType)(0), // 1: proto.CodexType
+}
+var file_CodexDataUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CodexDataUpdateNotify.type:type_name -> proto.CodexType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CodexDataUpdateNotify_proto_init() }
+func file_CodexDataUpdateNotify_proto_init() {
+ if File_CodexDataUpdateNotify_proto != nil {
+ return
+ }
+ file_CodexType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CodexDataUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CodexDataUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CodexDataUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CodexDataUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_CodexDataUpdateNotify_proto_depIdxs,
+ MessageInfos: file_CodexDataUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_CodexDataUpdateNotify_proto = out.File
+ file_CodexDataUpdateNotify_proto_rawDesc = nil
+ file_CodexDataUpdateNotify_proto_goTypes = nil
+ file_CodexDataUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CodexType.pb.go b/protocol/proto/CodexType.pb.go
new file mode 100644
index 00000000..84f911c7
--- /dev/null
+++ b/protocol/proto/CodexType.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CodexType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CodexType int32
+
+const (
+ CodexType_CODEX_TYPE_NONE CodexType = 0
+ CodexType_CODEX_TYPE_QUEST CodexType = 1
+ CodexType_CODEX_TYPE_WEAPON CodexType = 2
+ CodexType_CODEX_TYPE_ANIMAL CodexType = 3
+ CodexType_CODEX_TYPE_MATERIAL CodexType = 4
+ CodexType_CODEX_TYPE_BOOKS CodexType = 5
+ CodexType_CODEX_TYPE_PUSHTIPS CodexType = 6
+ CodexType_CODEX_TYPE_VIEW CodexType = 7
+ CodexType_CODEX_TYPE_RELIQUARY CodexType = 8
+)
+
+// Enum value maps for CodexType.
+var (
+ CodexType_name = map[int32]string{
+ 0: "CODEX_TYPE_NONE",
+ 1: "CODEX_TYPE_QUEST",
+ 2: "CODEX_TYPE_WEAPON",
+ 3: "CODEX_TYPE_ANIMAL",
+ 4: "CODEX_TYPE_MATERIAL",
+ 5: "CODEX_TYPE_BOOKS",
+ 6: "CODEX_TYPE_PUSHTIPS",
+ 7: "CODEX_TYPE_VIEW",
+ 8: "CODEX_TYPE_RELIQUARY",
+ }
+ CodexType_value = map[string]int32{
+ "CODEX_TYPE_NONE": 0,
+ "CODEX_TYPE_QUEST": 1,
+ "CODEX_TYPE_WEAPON": 2,
+ "CODEX_TYPE_ANIMAL": 3,
+ "CODEX_TYPE_MATERIAL": 4,
+ "CODEX_TYPE_BOOKS": 5,
+ "CODEX_TYPE_PUSHTIPS": 6,
+ "CODEX_TYPE_VIEW": 7,
+ "CODEX_TYPE_RELIQUARY": 8,
+ }
+)
+
+func (x CodexType) Enum() *CodexType {
+ p := new(CodexType)
+ *p = x
+ return p
+}
+
+func (x CodexType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CodexType) Descriptor() protoreflect.EnumDescriptor {
+ return file_CodexType_proto_enumTypes[0].Descriptor()
+}
+
+func (CodexType) Type() protoreflect.EnumType {
+ return &file_CodexType_proto_enumTypes[0]
+}
+
+func (x CodexType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CodexType.Descriptor instead.
+func (CodexType) EnumDescriptor() ([]byte, []int) {
+ return file_CodexType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CodexType_proto protoreflect.FileDescriptor
+
+var file_CodexType_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xdb, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x64,
+ 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x44, 0x45, 0x58, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43,
+ 0x4f, 0x44, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10,
+ 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x44, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x57, 0x45, 0x41, 0x50, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x44, 0x45,
+ 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x03, 0x12,
+ 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x44, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41,
+ 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x44, 0x45,
+ 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4b, 0x53, 0x10, 0x05, 0x12, 0x17,
+ 0x0a, 0x13, 0x43, 0x4f, 0x44, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x53,
+ 0x48, 0x54, 0x49, 0x50, 0x53, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x44, 0x45, 0x58,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14,
+ 0x43, 0x4f, 0x44, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x51,
+ 0x55, 0x41, 0x52, 0x59, 0x10, 0x08, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CodexType_proto_rawDescOnce sync.Once
+ file_CodexType_proto_rawDescData = file_CodexType_proto_rawDesc
+)
+
+func file_CodexType_proto_rawDescGZIP() []byte {
+ file_CodexType_proto_rawDescOnce.Do(func() {
+ file_CodexType_proto_rawDescData = protoimpl.X.CompressGZIP(file_CodexType_proto_rawDescData)
+ })
+ return file_CodexType_proto_rawDescData
+}
+
+var file_CodexType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CodexType_proto_goTypes = []interface{}{
+ (CodexType)(0), // 0: proto.CodexType
+}
+var file_CodexType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CodexType_proto_init() }
+func file_CodexType_proto_init() {
+ if File_CodexType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CodexType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CodexType_proto_goTypes,
+ DependencyIndexes: file_CodexType_proto_depIdxs,
+ EnumInfos: file_CodexType_proto_enumTypes,
+ }.Build()
+ File_CodexType_proto = out.File
+ file_CodexType_proto_rawDesc = nil
+ file_CodexType_proto_goTypes = nil
+ file_CodexType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CodexTypeData.pb.go b/protocol/proto/CodexTypeData.pb.go
new file mode 100644
index 00000000..4b0bdfb7
--- /dev/null
+++ b/protocol/proto/CodexTypeData.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CodexTypeData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CodexTypeData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CodexIdList []uint32 `protobuf:"varint,14,rep,packed,name=codex_id_list,json=codexIdList,proto3" json:"codex_id_list,omitempty"`
+ WeaponMaxPromoteLevelMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=weapon_max_promote_level_map,json=weaponMaxPromoteLevelMap,proto3" json:"weapon_max_promote_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Type CodexType `protobuf:"varint,13,opt,name=type,proto3,enum=proto.CodexType" json:"type,omitempty"`
+ HaveViewedList []bool `protobuf:"varint,5,rep,packed,name=have_viewed_list,json=haveViewedList,proto3" json:"have_viewed_list,omitempty"`
+}
+
+func (x *CodexTypeData) Reset() {
+ *x = CodexTypeData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CodexTypeData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CodexTypeData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CodexTypeData) ProtoMessage() {}
+
+func (x *CodexTypeData) ProtoReflect() protoreflect.Message {
+ mi := &file_CodexTypeData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CodexTypeData.ProtoReflect.Descriptor instead.
+func (*CodexTypeData) Descriptor() ([]byte, []int) {
+ return file_CodexTypeData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CodexTypeData) GetCodexIdList() []uint32 {
+ if x != nil {
+ return x.CodexIdList
+ }
+ return nil
+}
+
+func (x *CodexTypeData) GetWeaponMaxPromoteLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.WeaponMaxPromoteLevelMap
+ }
+ return nil
+}
+
+func (x *CodexTypeData) GetType() CodexType {
+ if x != nil {
+ return x.Type
+ }
+ return CodexType_CODEX_TYPE_NONE
+}
+
+func (x *CodexTypeData) GetHaveViewedList() []bool {
+ if x != nil {
+ return x.HaveViewedList
+ }
+ return nil
+}
+
+var File_CodexTypeData_proto protoreflect.FileDescriptor
+
+var file_CodexTypeData_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x43, 0x6f,
+ 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x02,
+ 0x0a, 0x0d, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12,
+ 0x22, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x78, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x72, 0x0a, 0x1c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x6d, 0x61,
+ 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x77,
+ 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
+ 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a,
+ 0x10, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x76, 0x65, 0x56, 0x69, 0x65,
+ 0x77, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x4b, 0x0a, 0x1d, 0x57, 0x65, 0x61, 0x70, 0x6f,
+ 0x6e, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CodexTypeData_proto_rawDescOnce sync.Once
+ file_CodexTypeData_proto_rawDescData = file_CodexTypeData_proto_rawDesc
+)
+
+func file_CodexTypeData_proto_rawDescGZIP() []byte {
+ file_CodexTypeData_proto_rawDescOnce.Do(func() {
+ file_CodexTypeData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CodexTypeData_proto_rawDescData)
+ })
+ return file_CodexTypeData_proto_rawDescData
+}
+
+var file_CodexTypeData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_CodexTypeData_proto_goTypes = []interface{}{
+ (*CodexTypeData)(nil), // 0: proto.CodexTypeData
+ nil, // 1: proto.CodexTypeData.WeaponMaxPromoteLevelMapEntry
+ (CodexType)(0), // 2: proto.CodexType
+}
+var file_CodexTypeData_proto_depIdxs = []int32{
+ 1, // 0: proto.CodexTypeData.weapon_max_promote_level_map:type_name -> proto.CodexTypeData.WeaponMaxPromoteLevelMapEntry
+ 2, // 1: proto.CodexTypeData.type:type_name -> proto.CodexType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CodexTypeData_proto_init() }
+func file_CodexTypeData_proto_init() {
+ if File_CodexTypeData_proto != nil {
+ return
+ }
+ file_CodexType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CodexTypeData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CodexTypeData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CodexTypeData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CodexTypeData_proto_goTypes,
+ DependencyIndexes: file_CodexTypeData_proto_depIdxs,
+ MessageInfos: file_CodexTypeData_proto_msgTypes,
+ }.Build()
+ File_CodexTypeData_proto = out.File
+ file_CodexTypeData_proto_rawDesc = nil
+ file_CodexTypeData_proto_goTypes = nil
+ file_CodexTypeData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CombatInvocationsNotify.pb.go b/protocol/proto/CombatInvocationsNotify.pb.go
new file mode 100644
index 00000000..d7786974
--- /dev/null
+++ b/protocol/proto/CombatInvocationsNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CombatInvocationsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 319
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CombatInvocationsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InvokeList []*CombatInvokeEntry `protobuf:"bytes,14,rep,name=invoke_list,json=invokeList,proto3" json:"invoke_list,omitempty"`
+}
+
+func (x *CombatInvocationsNotify) Reset() {
+ *x = CombatInvocationsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CombatInvocationsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CombatInvocationsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CombatInvocationsNotify) ProtoMessage() {}
+
+func (x *CombatInvocationsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CombatInvocationsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CombatInvocationsNotify.ProtoReflect.Descriptor instead.
+func (*CombatInvocationsNotify) Descriptor() ([]byte, []int) {
+ return file_CombatInvocationsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CombatInvocationsNotify) GetInvokeList() []*CombatInvokeEntry {
+ if x != nil {
+ return x.InvokeList
+ }
+ return nil
+}
+
+var File_CombatInvocationsNotify_proto protoreflect.FileDescriptor
+
+var file_CombatInvocationsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e,
+ 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x54, 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x39, 0x0a, 0x0b, 0x69, 0x6e,
+ 0x76, 0x6f, 0x6b, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e,
+ 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x6b,
+ 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CombatInvocationsNotify_proto_rawDescOnce sync.Once
+ file_CombatInvocationsNotify_proto_rawDescData = file_CombatInvocationsNotify_proto_rawDesc
+)
+
+func file_CombatInvocationsNotify_proto_rawDescGZIP() []byte {
+ file_CombatInvocationsNotify_proto_rawDescOnce.Do(func() {
+ file_CombatInvocationsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CombatInvocationsNotify_proto_rawDescData)
+ })
+ return file_CombatInvocationsNotify_proto_rawDescData
+}
+
+var file_CombatInvocationsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CombatInvocationsNotify_proto_goTypes = []interface{}{
+ (*CombatInvocationsNotify)(nil), // 0: proto.CombatInvocationsNotify
+ (*CombatInvokeEntry)(nil), // 1: proto.CombatInvokeEntry
+}
+var file_CombatInvocationsNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CombatInvocationsNotify.invoke_list:type_name -> proto.CombatInvokeEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CombatInvocationsNotify_proto_init() }
+func file_CombatInvocationsNotify_proto_init() {
+ if File_CombatInvocationsNotify_proto != nil {
+ return
+ }
+ file_CombatInvokeEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CombatInvocationsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CombatInvocationsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CombatInvocationsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CombatInvocationsNotify_proto_goTypes,
+ DependencyIndexes: file_CombatInvocationsNotify_proto_depIdxs,
+ MessageInfos: file_CombatInvocationsNotify_proto_msgTypes,
+ }.Build()
+ File_CombatInvocationsNotify_proto = out.File
+ file_CombatInvocationsNotify_proto_rawDesc = nil
+ file_CombatInvocationsNotify_proto_goTypes = nil
+ file_CombatInvocationsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CombatInvokeEntry.pb.go b/protocol/proto/CombatInvokeEntry.pb.go
new file mode 100644
index 00000000..069232c1
--- /dev/null
+++ b/protocol/proto/CombatInvokeEntry.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CombatInvokeEntry.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CombatInvokeEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CombatData []byte `protobuf:"bytes,12,opt,name=combat_data,json=combatData,proto3" json:"combat_data,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,10,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ ArgumentType CombatTypeArgument `protobuf:"varint,11,opt,name=argument_type,json=argumentType,proto3,enum=proto.CombatTypeArgument" json:"argument_type,omitempty"`
+}
+
+func (x *CombatInvokeEntry) Reset() {
+ *x = CombatInvokeEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CombatInvokeEntry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CombatInvokeEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CombatInvokeEntry) ProtoMessage() {}
+
+func (x *CombatInvokeEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_CombatInvokeEntry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CombatInvokeEntry.ProtoReflect.Descriptor instead.
+func (*CombatInvokeEntry) Descriptor() ([]byte, []int) {
+ return file_CombatInvokeEntry_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CombatInvokeEntry) GetCombatData() []byte {
+ if x != nil {
+ return x.CombatData
+ }
+ return nil
+}
+
+func (x *CombatInvokeEntry) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *CombatInvokeEntry) GetArgumentType() CombatTypeArgument {
+ if x != nil {
+ return x.ArgumentType
+ }
+ return CombatTypeArgument_COMBAT_TYPE_ARGUMENT_NONE
+}
+
+var File_CombatInvokeEntry_proto protoreflect.FileDescriptor
+
+var file_CombatInvokeEntry_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x18, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x72, 0x67, 0x75,
+ 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77,
+ 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01,
+ 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
+ 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x61,
+ 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x61,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x61,
+ 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CombatInvokeEntry_proto_rawDescOnce sync.Once
+ file_CombatInvokeEntry_proto_rawDescData = file_CombatInvokeEntry_proto_rawDesc
+)
+
+func file_CombatInvokeEntry_proto_rawDescGZIP() []byte {
+ file_CombatInvokeEntry_proto_rawDescOnce.Do(func() {
+ file_CombatInvokeEntry_proto_rawDescData = protoimpl.X.CompressGZIP(file_CombatInvokeEntry_proto_rawDescData)
+ })
+ return file_CombatInvokeEntry_proto_rawDescData
+}
+
+var file_CombatInvokeEntry_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CombatInvokeEntry_proto_goTypes = []interface{}{
+ (*CombatInvokeEntry)(nil), // 0: proto.CombatInvokeEntry
+ (ForwardType)(0), // 1: proto.ForwardType
+ (CombatTypeArgument)(0), // 2: proto.CombatTypeArgument
+}
+var file_CombatInvokeEntry_proto_depIdxs = []int32{
+ 1, // 0: proto.CombatInvokeEntry.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.CombatInvokeEntry.argument_type:type_name -> proto.CombatTypeArgument
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CombatInvokeEntry_proto_init() }
+func file_CombatInvokeEntry_proto_init() {
+ if File_CombatInvokeEntry_proto != nil {
+ return
+ }
+ file_CombatTypeArgument_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CombatInvokeEntry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CombatInvokeEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CombatInvokeEntry_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CombatInvokeEntry_proto_goTypes,
+ DependencyIndexes: file_CombatInvokeEntry_proto_depIdxs,
+ MessageInfos: file_CombatInvokeEntry_proto_msgTypes,
+ }.Build()
+ File_CombatInvokeEntry_proto = out.File
+ file_CombatInvokeEntry_proto_rawDesc = nil
+ file_CombatInvokeEntry_proto_goTypes = nil
+ file_CombatInvokeEntry_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CombatTypeArgument.pb.go b/protocol/proto/CombatTypeArgument.pb.go
new file mode 100644
index 00000000..9006a9b8
--- /dev/null
+++ b/protocol/proto/CombatTypeArgument.pb.go
@@ -0,0 +1,244 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CombatTypeArgument.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CombatTypeArgument int32
+
+const (
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_NONE CombatTypeArgument = 0
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_EVT_BEING_HIT CombatTypeArgument = 1
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_ANIMATOR_STATE_CHANGED CombatTypeArgument = 2
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_FACE_TO_DIR CombatTypeArgument = 3
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_SET_ATTACK_TARGET CombatTypeArgument = 4
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_RUSH_MOVE CombatTypeArgument = 5
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_ANIMATOR_PARAMETER_CHANGED CombatTypeArgument = 6
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_ENTITY_MOVE CombatTypeArgument = 7
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_SYNC_ENTITY_POSITION CombatTypeArgument = 8
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_STEER_MOTION_INFO CombatTypeArgument = 9
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_FORCE_SET_POS_INFO CombatTypeArgument = 10
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_COMPENSATE_POS_DIFF CombatTypeArgument = 11
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_MONSTER_DO_BLINK CombatTypeArgument = 12
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_FIXED_RUSH_MOVE CombatTypeArgument = 13
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_SYNC_TRANSFORM CombatTypeArgument = 14
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_LIGHT_CORE_MOVE CombatTypeArgument = 15
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_BEING_HEALED_NTF CombatTypeArgument = 16
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_SKILL_ANCHOR_POSITION_NTF CombatTypeArgument = 17
+ CombatTypeArgument_COMBAT_TYPE_ARGUMENT_GRAPPLING_HOOK_MOVE CombatTypeArgument = 18
+)
+
+// Enum value maps for CombatTypeArgument.
+var (
+ CombatTypeArgument_name = map[int32]string{
+ 0: "COMBAT_TYPE_ARGUMENT_NONE",
+ 1: "COMBAT_TYPE_ARGUMENT_EVT_BEING_HIT",
+ 2: "COMBAT_TYPE_ARGUMENT_ANIMATOR_STATE_CHANGED",
+ 3: "COMBAT_TYPE_ARGUMENT_FACE_TO_DIR",
+ 4: "COMBAT_TYPE_ARGUMENT_SET_ATTACK_TARGET",
+ 5: "COMBAT_TYPE_ARGUMENT_RUSH_MOVE",
+ 6: "COMBAT_TYPE_ARGUMENT_ANIMATOR_PARAMETER_CHANGED",
+ 7: "COMBAT_TYPE_ARGUMENT_ENTITY_MOVE",
+ 8: "COMBAT_TYPE_ARGUMENT_SYNC_ENTITY_POSITION",
+ 9: "COMBAT_TYPE_ARGUMENT_STEER_MOTION_INFO",
+ 10: "COMBAT_TYPE_ARGUMENT_FORCE_SET_POS_INFO",
+ 11: "COMBAT_TYPE_ARGUMENT_COMPENSATE_POS_DIFF",
+ 12: "COMBAT_TYPE_ARGUMENT_MONSTER_DO_BLINK",
+ 13: "COMBAT_TYPE_ARGUMENT_FIXED_RUSH_MOVE",
+ 14: "COMBAT_TYPE_ARGUMENT_SYNC_TRANSFORM",
+ 15: "COMBAT_TYPE_ARGUMENT_LIGHT_CORE_MOVE",
+ 16: "COMBAT_TYPE_ARGUMENT_BEING_HEALED_NTF",
+ 17: "COMBAT_TYPE_ARGUMENT_SKILL_ANCHOR_POSITION_NTF",
+ 18: "COMBAT_TYPE_ARGUMENT_GRAPPLING_HOOK_MOVE",
+ }
+ CombatTypeArgument_value = map[string]int32{
+ "COMBAT_TYPE_ARGUMENT_NONE": 0,
+ "COMBAT_TYPE_ARGUMENT_EVT_BEING_HIT": 1,
+ "COMBAT_TYPE_ARGUMENT_ANIMATOR_STATE_CHANGED": 2,
+ "COMBAT_TYPE_ARGUMENT_FACE_TO_DIR": 3,
+ "COMBAT_TYPE_ARGUMENT_SET_ATTACK_TARGET": 4,
+ "COMBAT_TYPE_ARGUMENT_RUSH_MOVE": 5,
+ "COMBAT_TYPE_ARGUMENT_ANIMATOR_PARAMETER_CHANGED": 6,
+ "COMBAT_TYPE_ARGUMENT_ENTITY_MOVE": 7,
+ "COMBAT_TYPE_ARGUMENT_SYNC_ENTITY_POSITION": 8,
+ "COMBAT_TYPE_ARGUMENT_STEER_MOTION_INFO": 9,
+ "COMBAT_TYPE_ARGUMENT_FORCE_SET_POS_INFO": 10,
+ "COMBAT_TYPE_ARGUMENT_COMPENSATE_POS_DIFF": 11,
+ "COMBAT_TYPE_ARGUMENT_MONSTER_DO_BLINK": 12,
+ "COMBAT_TYPE_ARGUMENT_FIXED_RUSH_MOVE": 13,
+ "COMBAT_TYPE_ARGUMENT_SYNC_TRANSFORM": 14,
+ "COMBAT_TYPE_ARGUMENT_LIGHT_CORE_MOVE": 15,
+ "COMBAT_TYPE_ARGUMENT_BEING_HEALED_NTF": 16,
+ "COMBAT_TYPE_ARGUMENT_SKILL_ANCHOR_POSITION_NTF": 17,
+ "COMBAT_TYPE_ARGUMENT_GRAPPLING_HOOK_MOVE": 18,
+ }
+)
+
+func (x CombatTypeArgument) Enum() *CombatTypeArgument {
+ p := new(CombatTypeArgument)
+ *p = x
+ return p
+}
+
+func (x CombatTypeArgument) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CombatTypeArgument) Descriptor() protoreflect.EnumDescriptor {
+ return file_CombatTypeArgument_proto_enumTypes[0].Descriptor()
+}
+
+func (CombatTypeArgument) Type() protoreflect.EnumType {
+ return &file_CombatTypeArgument_proto_enumTypes[0]
+}
+
+func (x CombatTypeArgument) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CombatTypeArgument.Descriptor instead.
+func (CombatTypeArgument) EnumDescriptor() ([]byte, []int) {
+ return file_CombatTypeArgument_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CombatTypeArgument_proto protoreflect.FileDescriptor
+
+var file_CombatTypeArgument_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 0x72, 0x67, 0x75,
+ 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2a, 0xc8, 0x06, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65,
+ 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x4d, 0x42,
+ 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54,
+ 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x43, 0x4f, 0x4d, 0x42, 0x41,
+ 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
+ 0x45, 0x56, 0x54, 0x5f, 0x42, 0x45, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x49, 0x54, 0x10, 0x01, 0x12,
+ 0x2f, 0x0a, 0x2b, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41,
+ 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x54, 0x4f, 0x52,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x02,
+ 0x12, 0x24, 0x0a, 0x20, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x54, 0x4f,
+ 0x5f, 0x44, 0x49, 0x52, 0x10, 0x03, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53,
+ 0x45, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54,
+ 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x55, 0x53, 0x48, 0x5f,
+ 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x05, 0x12, 0x33, 0x0a, 0x2f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41,
+ 0x4e, 0x49, 0x4d, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45,
+ 0x52, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x43,
+ 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d,
+ 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10,
+ 0x07, 0x12, 0x2d, 0x0a, 0x29, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x45,
+ 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x08,
+ 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x45, 0x52, 0x5f, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x09, 0x12, 0x2b, 0x0a, 0x27,
+ 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55,
+ 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x50,
+ 0x4f, 0x53, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x0a, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4f, 0x4d,
+ 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e,
+ 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x45, 0x4e, 0x53, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x53,
+ 0x5f, 0x44, 0x49, 0x46, 0x46, 0x10, 0x0b, 0x12, 0x29, 0x0a, 0x25, 0x43, 0x4f, 0x4d, 0x42, 0x41,
+ 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f,
+ 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x44, 0x4f, 0x5f, 0x42, 0x4c, 0x49, 0x4e, 0x4b,
+ 0x10, 0x0c, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44,
+ 0x5f, 0x52, 0x55, 0x53, 0x48, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x0d, 0x12, 0x27, 0x0a, 0x23,
+ 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55,
+ 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46,
+ 0x4f, 0x52, 0x4d, 0x10, 0x0e, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x49,
+ 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x0f, 0x12,
+ 0x29, 0x0a, 0x25, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41,
+ 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x45,
+ 0x41, 0x4c, 0x45, 0x44, 0x5f, 0x4e, 0x54, 0x46, 0x10, 0x10, 0x12, 0x32, 0x0a, 0x2e, 0x43, 0x4f,
+ 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45,
+ 0x4e, 0x54, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x5f,
+ 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x54, 0x46, 0x10, 0x11, 0x12, 0x2c,
+ 0x0a, 0x28, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52,
+ 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x4e, 0x47,
+ 0x5f, 0x48, 0x4f, 0x4f, 0x4b, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x12, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CombatTypeArgument_proto_rawDescOnce sync.Once
+ file_CombatTypeArgument_proto_rawDescData = file_CombatTypeArgument_proto_rawDesc
+)
+
+func file_CombatTypeArgument_proto_rawDescGZIP() []byte {
+ file_CombatTypeArgument_proto_rawDescOnce.Do(func() {
+ file_CombatTypeArgument_proto_rawDescData = protoimpl.X.CompressGZIP(file_CombatTypeArgument_proto_rawDescData)
+ })
+ return file_CombatTypeArgument_proto_rawDescData
+}
+
+var file_CombatTypeArgument_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CombatTypeArgument_proto_goTypes = []interface{}{
+ (CombatTypeArgument)(0), // 0: proto.CombatTypeArgument
+}
+var file_CombatTypeArgument_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CombatTypeArgument_proto_init() }
+func file_CombatTypeArgument_proto_init() {
+ if File_CombatTypeArgument_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CombatTypeArgument_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CombatTypeArgument_proto_goTypes,
+ DependencyIndexes: file_CombatTypeArgument_proto_depIdxs,
+ EnumInfos: file_CombatTypeArgument_proto_enumTypes,
+ }.Build()
+ File_CombatTypeArgument_proto = out.File
+ file_CombatTypeArgument_proto_rawDesc = nil
+ file_CombatTypeArgument_proto_goTypes = nil
+ file_CombatTypeArgument_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CombineDataNotify.pb.go b/protocol/proto/CombineDataNotify.pb.go
new file mode 100644
index 00000000..f8b96647
--- /dev/null
+++ b/protocol/proto/CombineDataNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CombineDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 659
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CombineDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CombineIdList []uint32 `protobuf:"varint,5,rep,packed,name=combine_id_list,json=combineIdList,proto3" json:"combine_id_list,omitempty"`
+}
+
+func (x *CombineDataNotify) Reset() {
+ *x = CombineDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CombineDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CombineDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CombineDataNotify) ProtoMessage() {}
+
+func (x *CombineDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CombineDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CombineDataNotify.ProtoReflect.Descriptor instead.
+func (*CombineDataNotify) Descriptor() ([]byte, []int) {
+ return file_CombineDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CombineDataNotify) GetCombineIdList() []uint32 {
+ if x != nil {
+ return x.CombineIdList
+ }
+ return nil
+}
+
+var File_CombineDataNotify_proto protoreflect.FileDescriptor
+
+var file_CombineDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x3b, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d,
+ 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_CombineDataNotify_proto_rawDescOnce sync.Once
+ file_CombineDataNotify_proto_rawDescData = file_CombineDataNotify_proto_rawDesc
+)
+
+func file_CombineDataNotify_proto_rawDescGZIP() []byte {
+ file_CombineDataNotify_proto_rawDescOnce.Do(func() {
+ file_CombineDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CombineDataNotify_proto_rawDescData)
+ })
+ return file_CombineDataNotify_proto_rawDescData
+}
+
+var file_CombineDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CombineDataNotify_proto_goTypes = []interface{}{
+ (*CombineDataNotify)(nil), // 0: proto.CombineDataNotify
+}
+var file_CombineDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CombineDataNotify_proto_init() }
+func file_CombineDataNotify_proto_init() {
+ if File_CombineDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CombineDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CombineDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CombineDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CombineDataNotify_proto_goTypes,
+ DependencyIndexes: file_CombineDataNotify_proto_depIdxs,
+ MessageInfos: file_CombineDataNotify_proto_msgTypes,
+ }.Build()
+ File_CombineDataNotify_proto = out.File
+ file_CombineDataNotify_proto_rawDesc = nil
+ file_CombineDataNotify_proto_goTypes = nil
+ file_CombineDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CombineFormulaDataNotify.pb.go b/protocol/proto/CombineFormulaDataNotify.pb.go
new file mode 100644
index 00000000..437145e1
--- /dev/null
+++ b/protocol/proto/CombineFormulaDataNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CombineFormulaDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 632
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CombineFormulaDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CombineId uint32 `protobuf:"varint,6,opt,name=combine_id,json=combineId,proto3" json:"combine_id,omitempty"`
+ IsLocked bool `protobuf:"varint,3,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
+}
+
+func (x *CombineFormulaDataNotify) Reset() {
+ *x = CombineFormulaDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CombineFormulaDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CombineFormulaDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CombineFormulaDataNotify) ProtoMessage() {}
+
+func (x *CombineFormulaDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CombineFormulaDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CombineFormulaDataNotify.ProtoReflect.Descriptor instead.
+func (*CombineFormulaDataNotify) Descriptor() ([]byte, []int) {
+ return file_CombineFormulaDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CombineFormulaDataNotify) GetCombineId() uint32 {
+ if x != nil {
+ return x.CombineId
+ }
+ return 0
+}
+
+func (x *CombineFormulaDataNotify) GetIsLocked() bool {
+ if x != nil {
+ return x.IsLocked
+ }
+ return false
+}
+
+var File_CombineFormulaDataNotify_proto protoreflect.FileDescriptor
+
+var file_CombineFormulaDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61,
+ 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x62, 0x69,
+ 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65,
+ 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CombineFormulaDataNotify_proto_rawDescOnce sync.Once
+ file_CombineFormulaDataNotify_proto_rawDescData = file_CombineFormulaDataNotify_proto_rawDesc
+)
+
+func file_CombineFormulaDataNotify_proto_rawDescGZIP() []byte {
+ file_CombineFormulaDataNotify_proto_rawDescOnce.Do(func() {
+ file_CombineFormulaDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CombineFormulaDataNotify_proto_rawDescData)
+ })
+ return file_CombineFormulaDataNotify_proto_rawDescData
+}
+
+var file_CombineFormulaDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CombineFormulaDataNotify_proto_goTypes = []interface{}{
+ (*CombineFormulaDataNotify)(nil), // 0: proto.CombineFormulaDataNotify
+}
+var file_CombineFormulaDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CombineFormulaDataNotify_proto_init() }
+func file_CombineFormulaDataNotify_proto_init() {
+ if File_CombineFormulaDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CombineFormulaDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CombineFormulaDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CombineFormulaDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CombineFormulaDataNotify_proto_goTypes,
+ DependencyIndexes: file_CombineFormulaDataNotify_proto_depIdxs,
+ MessageInfos: file_CombineFormulaDataNotify_proto_msgTypes,
+ }.Build()
+ File_CombineFormulaDataNotify_proto = out.File
+ file_CombineFormulaDataNotify_proto_rawDesc = nil
+ file_CombineFormulaDataNotify_proto_goTypes = nil
+ file_CombineFormulaDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CombineReq.pb.go b/protocol/proto/CombineReq.pb.go
new file mode 100644
index 00000000..5899762c
--- /dev/null
+++ b/protocol/proto/CombineReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CombineReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 643
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CombineReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CombineCount uint32 `protobuf:"varint,12,opt,name=combine_count,json=combineCount,proto3" json:"combine_count,omitempty"`
+ CombineId uint32 `protobuf:"varint,9,opt,name=combine_id,json=combineId,proto3" json:"combine_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,14,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *CombineReq) Reset() {
+ *x = CombineReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CombineReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CombineReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CombineReq) ProtoMessage() {}
+
+func (x *CombineReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CombineReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CombineReq.ProtoReflect.Descriptor instead.
+func (*CombineReq) Descriptor() ([]byte, []int) {
+ return file_CombineReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CombineReq) GetCombineCount() uint32 {
+ if x != nil {
+ return x.CombineCount
+ }
+ return 0
+}
+
+func (x *CombineReq) GetCombineId() uint32 {
+ if x != nil {
+ return x.CombineId
+ }
+ return 0
+}
+
+func (x *CombineReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_CombineReq_proto protoreflect.FileDescriptor
+
+var file_CombineReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x0a, 0x43, 0x6f, 0x6d,
+ 0x62, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x62, 0x69,
+ 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CombineReq_proto_rawDescOnce sync.Once
+ file_CombineReq_proto_rawDescData = file_CombineReq_proto_rawDesc
+)
+
+func file_CombineReq_proto_rawDescGZIP() []byte {
+ file_CombineReq_proto_rawDescOnce.Do(func() {
+ file_CombineReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CombineReq_proto_rawDescData)
+ })
+ return file_CombineReq_proto_rawDescData
+}
+
+var file_CombineReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CombineReq_proto_goTypes = []interface{}{
+ (*CombineReq)(nil), // 0: proto.CombineReq
+}
+var file_CombineReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CombineReq_proto_init() }
+func file_CombineReq_proto_init() {
+ if File_CombineReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CombineReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CombineReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CombineReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CombineReq_proto_goTypes,
+ DependencyIndexes: file_CombineReq_proto_depIdxs,
+ MessageInfos: file_CombineReq_proto_msgTypes,
+ }.Build()
+ File_CombineReq_proto = out.File
+ file_CombineReq_proto_rawDesc = nil
+ file_CombineReq_proto_goTypes = nil
+ file_CombineReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CombineRsp.pb.go b/protocol/proto/CombineRsp.pb.go
new file mode 100644
index 00000000..d9b466ee
--- /dev/null
+++ b/protocol/proto/CombineRsp.pb.go
@@ -0,0 +1,260 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CombineRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 674
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CombineRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostItemList []*ItemParam `protobuf:"bytes,3,rep,name=cost_item_list,json=costItemList,proto3" json:"cost_item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TotalExtraItemList []*ItemParam `protobuf:"bytes,6,rep,name=total_extra_item_list,json=totalExtraItemList,proto3" json:"total_extra_item_list,omitempty"`
+ CombineId uint32 `protobuf:"varint,11,opt,name=combine_id,json=combineId,proto3" json:"combine_id,omitempty"`
+ TotalRandomItemList []*ItemParam `protobuf:"bytes,9,rep,name=total_random_item_list,json=totalRandomItemList,proto3" json:"total_random_item_list,omitempty"`
+ ResultItemList []*ItemParam `protobuf:"bytes,2,rep,name=result_item_list,json=resultItemList,proto3" json:"result_item_list,omitempty"`
+ CombineCount uint32 `protobuf:"varint,13,opt,name=combine_count,json=combineCount,proto3" json:"combine_count,omitempty"`
+ TotalReturnItemList []*ItemParam `protobuf:"bytes,12,rep,name=total_return_item_list,json=totalReturnItemList,proto3" json:"total_return_item_list,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,10,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *CombineRsp) Reset() {
+ *x = CombineRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CombineRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CombineRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CombineRsp) ProtoMessage() {}
+
+func (x *CombineRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CombineRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CombineRsp.ProtoReflect.Descriptor instead.
+func (*CombineRsp) Descriptor() ([]byte, []int) {
+ return file_CombineRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CombineRsp) GetCostItemList() []*ItemParam {
+ if x != nil {
+ return x.CostItemList
+ }
+ return nil
+}
+
+func (x *CombineRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *CombineRsp) GetTotalExtraItemList() []*ItemParam {
+ if x != nil {
+ return x.TotalExtraItemList
+ }
+ return nil
+}
+
+func (x *CombineRsp) GetCombineId() uint32 {
+ if x != nil {
+ return x.CombineId
+ }
+ return 0
+}
+
+func (x *CombineRsp) GetTotalRandomItemList() []*ItemParam {
+ if x != nil {
+ return x.TotalRandomItemList
+ }
+ return nil
+}
+
+func (x *CombineRsp) GetResultItemList() []*ItemParam {
+ if x != nil {
+ return x.ResultItemList
+ }
+ return nil
+}
+
+func (x *CombineRsp) GetCombineCount() uint32 {
+ if x != nil {
+ return x.CombineCount
+ }
+ return 0
+}
+
+func (x *CombineRsp) GetTotalReturnItemList() []*ItemParam {
+ if x != nil {
+ return x.TotalReturnItemList
+ }
+ return nil
+}
+
+func (x *CombineRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_CombineRsp_proto protoreflect.FileDescriptor
+
+var file_CombineRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x03, 0x0a, 0x0a, 0x43,
+ 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6f, 0x73,
+ 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x43, 0x0a, 0x15, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x12, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12,
+ 0x45, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f,
+ 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x49, 0x74,
+ 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x62, 0x69,
+ 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CombineRsp_proto_rawDescOnce sync.Once
+ file_CombineRsp_proto_rawDescData = file_CombineRsp_proto_rawDesc
+)
+
+func file_CombineRsp_proto_rawDescGZIP() []byte {
+ file_CombineRsp_proto_rawDescOnce.Do(func() {
+ file_CombineRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CombineRsp_proto_rawDescData)
+ })
+ return file_CombineRsp_proto_rawDescData
+}
+
+var file_CombineRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CombineRsp_proto_goTypes = []interface{}{
+ (*CombineRsp)(nil), // 0: proto.CombineRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_CombineRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.CombineRsp.cost_item_list:type_name -> proto.ItemParam
+ 1, // 1: proto.CombineRsp.total_extra_item_list:type_name -> proto.ItemParam
+ 1, // 2: proto.CombineRsp.total_random_item_list:type_name -> proto.ItemParam
+ 1, // 3: proto.CombineRsp.result_item_list:type_name -> proto.ItemParam
+ 1, // 4: proto.CombineRsp.total_return_item_list:type_name -> proto.ItemParam
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_CombineRsp_proto_init() }
+func file_CombineRsp_proto_init() {
+ if File_CombineRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CombineRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CombineRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CombineRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CombineRsp_proto_goTypes,
+ DependencyIndexes: file_CombineRsp_proto_depIdxs,
+ MessageInfos: file_CombineRsp_proto_msgTypes,
+ }.Build()
+ File_CombineRsp_proto = out.File
+ file_CombineRsp_proto_rawDesc = nil
+ file_CombineRsp_proto_goTypes = nil
+ file_CombineRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CommonPlayerTipsNotify.pb.go b/protocol/proto/CommonPlayerTipsNotify.pb.go
new file mode 100644
index 00000000..25275128
--- /dev/null
+++ b/protocol/proto/CommonPlayerTipsNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CommonPlayerTipsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8466
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CommonPlayerTipsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NotifyType uint32 `protobuf:"varint,3,opt,name=notify_type,json=notifyType,proto3" json:"notify_type,omitempty"`
+ TextMapIdList []string `protobuf:"bytes,9,rep,name=text_map_id_list,json=textMapIdList,proto3" json:"text_map_id_list,omitempty"`
+}
+
+func (x *CommonPlayerTipsNotify) Reset() {
+ *x = CommonPlayerTipsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CommonPlayerTipsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CommonPlayerTipsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CommonPlayerTipsNotify) ProtoMessage() {}
+
+func (x *CommonPlayerTipsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CommonPlayerTipsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CommonPlayerTipsNotify.ProtoReflect.Descriptor instead.
+func (*CommonPlayerTipsNotify) Descriptor() ([]byte, []int) {
+ return file_CommonPlayerTipsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CommonPlayerTipsNotify) GetNotifyType() uint32 {
+ if x != nil {
+ return x.NotifyType
+ }
+ return 0
+}
+
+func (x *CommonPlayerTipsNotify) GetTextMapIdList() []string {
+ if x != nil {
+ return x.TextMapIdList
+ }
+ return nil
+}
+
+var File_CommonPlayerTipsNotify_proto protoreflect.FileDescriptor
+
+var file_CommonPlayerTipsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69,
+ 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x16, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x27, 0x0a, 0x10, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x65, 0x78, 0x74,
+ 0x4d, 0x61, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CommonPlayerTipsNotify_proto_rawDescOnce sync.Once
+ file_CommonPlayerTipsNotify_proto_rawDescData = file_CommonPlayerTipsNotify_proto_rawDesc
+)
+
+func file_CommonPlayerTipsNotify_proto_rawDescGZIP() []byte {
+ file_CommonPlayerTipsNotify_proto_rawDescOnce.Do(func() {
+ file_CommonPlayerTipsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CommonPlayerTipsNotify_proto_rawDescData)
+ })
+ return file_CommonPlayerTipsNotify_proto_rawDescData
+}
+
+var file_CommonPlayerTipsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CommonPlayerTipsNotify_proto_goTypes = []interface{}{
+ (*CommonPlayerTipsNotify)(nil), // 0: proto.CommonPlayerTipsNotify
+}
+var file_CommonPlayerTipsNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CommonPlayerTipsNotify_proto_init() }
+func file_CommonPlayerTipsNotify_proto_init() {
+ if File_CommonPlayerTipsNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CommonPlayerTipsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CommonPlayerTipsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CommonPlayerTipsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CommonPlayerTipsNotify_proto_goTypes,
+ DependencyIndexes: file_CommonPlayerTipsNotify_proto_depIdxs,
+ MessageInfos: file_CommonPlayerTipsNotify_proto_msgTypes,
+ }.Build()
+ File_CommonPlayerTipsNotify_proto = out.File
+ file_CommonPlayerTipsNotify_proto_rawDesc = nil
+ file_CommonPlayerTipsNotify_proto_goTypes = nil
+ file_CommonPlayerTipsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CompoundBoostTakeStatusType.pb.go b/protocol/proto/CompoundBoostTakeStatusType.pb.go
new file mode 100644
index 00000000..742f63e1
--- /dev/null
+++ b/protocol/proto/CompoundBoostTakeStatusType.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CompoundBoostTakeStatusType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CompoundBoostTakeStatusType int32
+
+const (
+ CompoundBoostTakeStatusType_COMPOUND_BOOST_TAKE_STATUS_TYPE_NONE CompoundBoostTakeStatusType = 0
+ CompoundBoostTakeStatusType_COMPOUND_BOOST_TAKE_STATUS_TYPE_BOOST_ONLY CompoundBoostTakeStatusType = 1
+ CompoundBoostTakeStatusType_COMPOUND_BOOST_TAKE_STATUS_TYPE_BOOST_AND_TAKE CompoundBoostTakeStatusType = 2
+ CompoundBoostTakeStatusType_COMPOUND_BOOST_TAKE_STATUS_TYPE_BAG_FULL CompoundBoostTakeStatusType = 3
+)
+
+// Enum value maps for CompoundBoostTakeStatusType.
+var (
+ CompoundBoostTakeStatusType_name = map[int32]string{
+ 0: "COMPOUND_BOOST_TAKE_STATUS_TYPE_NONE",
+ 1: "COMPOUND_BOOST_TAKE_STATUS_TYPE_BOOST_ONLY",
+ 2: "COMPOUND_BOOST_TAKE_STATUS_TYPE_BOOST_AND_TAKE",
+ 3: "COMPOUND_BOOST_TAKE_STATUS_TYPE_BAG_FULL",
+ }
+ CompoundBoostTakeStatusType_value = map[string]int32{
+ "COMPOUND_BOOST_TAKE_STATUS_TYPE_NONE": 0,
+ "COMPOUND_BOOST_TAKE_STATUS_TYPE_BOOST_ONLY": 1,
+ "COMPOUND_BOOST_TAKE_STATUS_TYPE_BOOST_AND_TAKE": 2,
+ "COMPOUND_BOOST_TAKE_STATUS_TYPE_BAG_FULL": 3,
+ }
+)
+
+func (x CompoundBoostTakeStatusType) Enum() *CompoundBoostTakeStatusType {
+ p := new(CompoundBoostTakeStatusType)
+ *p = x
+ return p
+}
+
+func (x CompoundBoostTakeStatusType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CompoundBoostTakeStatusType) Descriptor() protoreflect.EnumDescriptor {
+ return file_CompoundBoostTakeStatusType_proto_enumTypes[0].Descriptor()
+}
+
+func (CompoundBoostTakeStatusType) Type() protoreflect.EnumType {
+ return &file_CompoundBoostTakeStatusType_proto_enumTypes[0]
+}
+
+func (x CompoundBoostTakeStatusType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CompoundBoostTakeStatusType.Descriptor instead.
+func (CompoundBoostTakeStatusType) EnumDescriptor() ([]byte, []int) {
+ return file_CompoundBoostTakeStatusType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CompoundBoostTakeStatusType_proto protoreflect.FileDescriptor
+
+var file_CompoundBoostTakeStatusType_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54,
+ 0x61, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xd9, 0x01, 0x0a, 0x1b, 0x43,
+ 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x61, 0x6b, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x43, 0x4f,
+ 0x4d, 0x50, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x4b,
+ 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x2a, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x55, 0x4e, 0x44,
+ 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54,
+ 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x5f, 0x4f, 0x4e,
+ 0x4c, 0x59, 0x10, 0x01, 0x12, 0x32, 0x0a, 0x2e, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x55, 0x4e, 0x44,
+ 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54,
+ 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x5f, 0x41, 0x4e,
+ 0x44, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4f, 0x4d, 0x50,
+ 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x41, 0x47, 0x5f,
+ 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CompoundBoostTakeStatusType_proto_rawDescOnce sync.Once
+ file_CompoundBoostTakeStatusType_proto_rawDescData = file_CompoundBoostTakeStatusType_proto_rawDesc
+)
+
+func file_CompoundBoostTakeStatusType_proto_rawDescGZIP() []byte {
+ file_CompoundBoostTakeStatusType_proto_rawDescOnce.Do(func() {
+ file_CompoundBoostTakeStatusType_proto_rawDescData = protoimpl.X.CompressGZIP(file_CompoundBoostTakeStatusType_proto_rawDescData)
+ })
+ return file_CompoundBoostTakeStatusType_proto_rawDescData
+}
+
+var file_CompoundBoostTakeStatusType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CompoundBoostTakeStatusType_proto_goTypes = []interface{}{
+ (CompoundBoostTakeStatusType)(0), // 0: proto.CompoundBoostTakeStatusType
+}
+var file_CompoundBoostTakeStatusType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CompoundBoostTakeStatusType_proto_init() }
+func file_CompoundBoostTakeStatusType_proto_init() {
+ if File_CompoundBoostTakeStatusType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CompoundBoostTakeStatusType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CompoundBoostTakeStatusType_proto_goTypes,
+ DependencyIndexes: file_CompoundBoostTakeStatusType_proto_depIdxs,
+ EnumInfos: file_CompoundBoostTakeStatusType_proto_enumTypes,
+ }.Build()
+ File_CompoundBoostTakeStatusType_proto = out.File
+ file_CompoundBoostTakeStatusType_proto_rawDesc = nil
+ file_CompoundBoostTakeStatusType_proto_goTypes = nil
+ file_CompoundBoostTakeStatusType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CompoundDataNotify.pb.go b/protocol/proto/CompoundDataNotify.pb.go
new file mode 100644
index 00000000..e36edc44
--- /dev/null
+++ b/protocol/proto/CompoundDataNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CompoundDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 146
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CompoundDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnlockCompoundList []uint32 `protobuf:"varint,1,rep,packed,name=unlock_compound_list,json=unlockCompoundList,proto3" json:"unlock_compound_list,omitempty"`
+ CompoundQueDataList []*CompoundQueueData `protobuf:"bytes,9,rep,name=compound_que_data_list,json=compoundQueDataList,proto3" json:"compound_que_data_list,omitempty"`
+}
+
+func (x *CompoundDataNotify) Reset() {
+ *x = CompoundDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CompoundDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CompoundDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CompoundDataNotify) ProtoMessage() {}
+
+func (x *CompoundDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CompoundDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CompoundDataNotify.ProtoReflect.Descriptor instead.
+func (*CompoundDataNotify) Descriptor() ([]byte, []int) {
+ return file_CompoundDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CompoundDataNotify) GetUnlockCompoundList() []uint32 {
+ if x != nil {
+ return x.UnlockCompoundList
+ }
+ return nil
+}
+
+func (x *CompoundDataNotify) GetCompoundQueDataList() []*CompoundQueueData {
+ if x != nil {
+ return x.CompoundQueDataList
+ }
+ return nil
+}
+
+var File_CompoundDataNotify_proto protoreflect.FileDescriptor
+
+var file_CompoundDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x43,
+ 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
+ 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f,
+ 0x71, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
+ 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x13, 0x63,
+ 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CompoundDataNotify_proto_rawDescOnce sync.Once
+ file_CompoundDataNotify_proto_rawDescData = file_CompoundDataNotify_proto_rawDesc
+)
+
+func file_CompoundDataNotify_proto_rawDescGZIP() []byte {
+ file_CompoundDataNotify_proto_rawDescOnce.Do(func() {
+ file_CompoundDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CompoundDataNotify_proto_rawDescData)
+ })
+ return file_CompoundDataNotify_proto_rawDescData
+}
+
+var file_CompoundDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CompoundDataNotify_proto_goTypes = []interface{}{
+ (*CompoundDataNotify)(nil), // 0: proto.CompoundDataNotify
+ (*CompoundQueueData)(nil), // 1: proto.CompoundQueueData
+}
+var file_CompoundDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CompoundDataNotify.compound_que_data_list:type_name -> proto.CompoundQueueData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CompoundDataNotify_proto_init() }
+func file_CompoundDataNotify_proto_init() {
+ if File_CompoundDataNotify_proto != nil {
+ return
+ }
+ file_CompoundQueueData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CompoundDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CompoundDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CompoundDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CompoundDataNotify_proto_goTypes,
+ DependencyIndexes: file_CompoundDataNotify_proto_depIdxs,
+ MessageInfos: file_CompoundDataNotify_proto_msgTypes,
+ }.Build()
+ File_CompoundDataNotify_proto = out.File
+ file_CompoundDataNotify_proto_rawDesc = nil
+ file_CompoundDataNotify_proto_goTypes = nil
+ file_CompoundDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CompoundQueueData.pb.go b/protocol/proto/CompoundQueueData.pb.go
new file mode 100644
index 00000000..80d7dadc
--- /dev/null
+++ b/protocol/proto/CompoundQueueData.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CompoundQueueData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CompoundQueueData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OutputCount uint32 `protobuf:"varint,1,opt,name=output_count,json=outputCount,proto3" json:"output_count,omitempty"`
+ CompoundId uint32 `protobuf:"varint,4,opt,name=compound_id,json=compoundId,proto3" json:"compound_id,omitempty"`
+ OutputTime uint32 `protobuf:"varint,14,opt,name=output_time,json=outputTime,proto3" json:"output_time,omitempty"`
+ WaitCount uint32 `protobuf:"varint,8,opt,name=wait_count,json=waitCount,proto3" json:"wait_count,omitempty"`
+}
+
+func (x *CompoundQueueData) Reset() {
+ *x = CompoundQueueData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CompoundQueueData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CompoundQueueData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CompoundQueueData) ProtoMessage() {}
+
+func (x *CompoundQueueData) ProtoReflect() protoreflect.Message {
+ mi := &file_CompoundQueueData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CompoundQueueData.ProtoReflect.Descriptor instead.
+func (*CompoundQueueData) Descriptor() ([]byte, []int) {
+ return file_CompoundQueueData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CompoundQueueData) GetOutputCount() uint32 {
+ if x != nil {
+ return x.OutputCount
+ }
+ return 0
+}
+
+func (x *CompoundQueueData) GetCompoundId() uint32 {
+ if x != nil {
+ return x.CompoundId
+ }
+ return 0
+}
+
+func (x *CompoundQueueData) GetOutputTime() uint32 {
+ if x != nil {
+ return x.OutputTime
+ }
+ return 0
+}
+
+func (x *CompoundQueueData) GetWaitCount() uint32 {
+ if x != nil {
+ return x.WaitCount
+ }
+ return 0
+}
+
+var File_CompoundQueueData_proto protoreflect.FileDescriptor
+
+var file_CompoundQueueData_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x97, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65,
+ 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75,
+ 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x75,
+ 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x77,
+ 0x61, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x77, 0x61, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CompoundQueueData_proto_rawDescOnce sync.Once
+ file_CompoundQueueData_proto_rawDescData = file_CompoundQueueData_proto_rawDesc
+)
+
+func file_CompoundQueueData_proto_rawDescGZIP() []byte {
+ file_CompoundQueueData_proto_rawDescOnce.Do(func() {
+ file_CompoundQueueData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CompoundQueueData_proto_rawDescData)
+ })
+ return file_CompoundQueueData_proto_rawDescData
+}
+
+var file_CompoundQueueData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CompoundQueueData_proto_goTypes = []interface{}{
+ (*CompoundQueueData)(nil), // 0: proto.CompoundQueueData
+}
+var file_CompoundQueueData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CompoundQueueData_proto_init() }
+func file_CompoundQueueData_proto_init() {
+ if File_CompoundQueueData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CompoundQueueData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CompoundQueueData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CompoundQueueData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CompoundQueueData_proto_goTypes,
+ DependencyIndexes: file_CompoundQueueData_proto_depIdxs,
+ MessageInfos: file_CompoundQueueData_proto_msgTypes,
+ }.Build()
+ File_CompoundQueueData_proto = out.File
+ file_CompoundQueueData_proto_rawDesc = nil
+ file_CompoundQueueData_proto_goTypes = nil
+ file_CompoundQueueData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CompoundUnlockNotify.pb.go b/protocol/proto/CompoundUnlockNotify.pb.go
new file mode 100644
index 00000000..d0f4bfe6
--- /dev/null
+++ b/protocol/proto/CompoundUnlockNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CompoundUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 128
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CompoundUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CompoundId uint32 `protobuf:"varint,3,opt,name=compound_id,json=compoundId,proto3" json:"compound_id,omitempty"`
+}
+
+func (x *CompoundUnlockNotify) Reset() {
+ *x = CompoundUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CompoundUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CompoundUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CompoundUnlockNotify) ProtoMessage() {}
+
+func (x *CompoundUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CompoundUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CompoundUnlockNotify.ProtoReflect.Descriptor instead.
+func (*CompoundUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_CompoundUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CompoundUnlockNotify) GetCompoundId() uint32 {
+ if x != nil {
+ return x.CompoundId
+ }
+ return 0
+}
+
+var File_CompoundUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_CompoundUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x55,
+ 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
+ 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CompoundUnlockNotify_proto_rawDescOnce sync.Once
+ file_CompoundUnlockNotify_proto_rawDescData = file_CompoundUnlockNotify_proto_rawDesc
+)
+
+func file_CompoundUnlockNotify_proto_rawDescGZIP() []byte {
+ file_CompoundUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_CompoundUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CompoundUnlockNotify_proto_rawDescData)
+ })
+ return file_CompoundUnlockNotify_proto_rawDescData
+}
+
+var file_CompoundUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CompoundUnlockNotify_proto_goTypes = []interface{}{
+ (*CompoundUnlockNotify)(nil), // 0: proto.CompoundUnlockNotify
+}
+var file_CompoundUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CompoundUnlockNotify_proto_init() }
+func file_CompoundUnlockNotify_proto_init() {
+ if File_CompoundUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CompoundUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CompoundUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CompoundUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CompoundUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_CompoundUnlockNotify_proto_depIdxs,
+ MessageInfos: file_CompoundUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_CompoundUnlockNotify_proto = out.File
+ file_CompoundUnlockNotify_proto_rawDesc = nil
+ file_CompoundUnlockNotify_proto_goTypes = nil
+ file_CompoundUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ContentAuditAuxiliaryField.pb.go b/protocol/proto/ContentAuditAuxiliaryField.pb.go
new file mode 100644
index 00000000..ff701305
--- /dev/null
+++ b/protocol/proto/ContentAuditAuxiliaryField.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ContentAuditAuxiliaryField.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ContentAuditAuxiliaryField struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *ContentAuditAuxiliaryField) Reset() {
+ *x = ContentAuditAuxiliaryField{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ContentAuditAuxiliaryField_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContentAuditAuxiliaryField) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContentAuditAuxiliaryField) ProtoMessage() {}
+
+func (x *ContentAuditAuxiliaryField) ProtoReflect() protoreflect.Message {
+ mi := &file_ContentAuditAuxiliaryField_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContentAuditAuxiliaryField.ProtoReflect.Descriptor instead.
+func (*ContentAuditAuxiliaryField) Descriptor() ([]byte, []int) {
+ return file_ContentAuditAuxiliaryField_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ContentAuditAuxiliaryField) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ContentAuditAuxiliaryField) GetValue() string {
+ if x != nil {
+ return x.Value
+ }
+ return ""
+}
+
+var File_ContentAuditAuxiliaryField_proto protoreflect.FileDescriptor
+
+var file_ContentAuditAuxiliaryField_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x75,
+ 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61,
+ 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ContentAuditAuxiliaryField_proto_rawDescOnce sync.Once
+ file_ContentAuditAuxiliaryField_proto_rawDescData = file_ContentAuditAuxiliaryField_proto_rawDesc
+)
+
+func file_ContentAuditAuxiliaryField_proto_rawDescGZIP() []byte {
+ file_ContentAuditAuxiliaryField_proto_rawDescOnce.Do(func() {
+ file_ContentAuditAuxiliaryField_proto_rawDescData = protoimpl.X.CompressGZIP(file_ContentAuditAuxiliaryField_proto_rawDescData)
+ })
+ return file_ContentAuditAuxiliaryField_proto_rawDescData
+}
+
+var file_ContentAuditAuxiliaryField_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ContentAuditAuxiliaryField_proto_goTypes = []interface{}{
+ (*ContentAuditAuxiliaryField)(nil), // 0: proto.ContentAuditAuxiliaryField
+}
+var file_ContentAuditAuxiliaryField_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ContentAuditAuxiliaryField_proto_init() }
+func file_ContentAuditAuxiliaryField_proto_init() {
+ if File_ContentAuditAuxiliaryField_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ContentAuditAuxiliaryField_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContentAuditAuxiliaryField); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ContentAuditAuxiliaryField_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ContentAuditAuxiliaryField_proto_goTypes,
+ DependencyIndexes: file_ContentAuditAuxiliaryField_proto_depIdxs,
+ MessageInfos: file_ContentAuditAuxiliaryField_proto_msgTypes,
+ }.Build()
+ File_ContentAuditAuxiliaryField_proto = out.File
+ file_ContentAuditAuxiliaryField_proto_rawDesc = nil
+ file_ContentAuditAuxiliaryField_proto_goTypes = nil
+ file_ContentAuditAuxiliaryField_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ContentAuditData.pb.go b/protocol/proto/ContentAuditData.pb.go
new file mode 100644
index 00000000..84c9dee7
--- /dev/null
+++ b/protocol/proto/ContentAuditData.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ContentAuditData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ContentAuditData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
+ Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
+ AutoPassTime uint32 `protobuf:"varint,3,opt,name=auto_pass_time,json=autoPassTime,proto3" json:"auto_pass_time,omitempty"`
+}
+
+func (x *ContentAuditData) Reset() {
+ *x = ContentAuditData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ContentAuditData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContentAuditData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContentAuditData) ProtoMessage() {}
+
+func (x *ContentAuditData) ProtoReflect() protoreflect.Message {
+ mi := &file_ContentAuditData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContentAuditData.ProtoReflect.Descriptor instead.
+func (*ContentAuditData) Descriptor() ([]byte, []int) {
+ return file_ContentAuditData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ContentAuditData) GetType() string {
+ if x != nil {
+ return x.Type
+ }
+ return ""
+}
+
+func (x *ContentAuditData) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+func (x *ContentAuditData) GetAutoPassTime() uint32 {
+ if x != nil {
+ return x.AutoPassTime
+ }
+ return 0
+}
+
+var File_ContentAuditData_proto protoreflect.FileDescriptor
+
+var file_ContentAuditData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x66, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x50,
+ 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ContentAuditData_proto_rawDescOnce sync.Once
+ file_ContentAuditData_proto_rawDescData = file_ContentAuditData_proto_rawDesc
+)
+
+func file_ContentAuditData_proto_rawDescGZIP() []byte {
+ file_ContentAuditData_proto_rawDescOnce.Do(func() {
+ file_ContentAuditData_proto_rawDescData = protoimpl.X.CompressGZIP(file_ContentAuditData_proto_rawDescData)
+ })
+ return file_ContentAuditData_proto_rawDescData
+}
+
+var file_ContentAuditData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ContentAuditData_proto_goTypes = []interface{}{
+ (*ContentAuditData)(nil), // 0: proto.ContentAuditData
+}
+var file_ContentAuditData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ContentAuditData_proto_init() }
+func file_ContentAuditData_proto_init() {
+ if File_ContentAuditData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ContentAuditData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContentAuditData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ContentAuditData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ContentAuditData_proto_goTypes,
+ DependencyIndexes: file_ContentAuditData_proto_depIdxs,
+ MessageInfos: file_ContentAuditData_proto_msgTypes,
+ }.Build()
+ File_ContentAuditData_proto = out.File
+ file_ContentAuditData_proto_rawDesc = nil
+ file_ContentAuditData_proto_goTypes = nil
+ file_ContentAuditData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ContentAuditField.pb.go b/protocol/proto/ContentAuditField.pb.go
new file mode 100644
index 00000000..1c9e6385
--- /dev/null
+++ b/protocol/proto/ContentAuditField.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ContentAuditField.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ContentAuditField struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SegmentList []*ContentAuditData `protobuf:"bytes,1,rep,name=segment_list,json=segmentList,proto3" json:"segment_list,omitempty"`
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *ContentAuditField) Reset() {
+ *x = ContentAuditField{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ContentAuditField_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContentAuditField) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContentAuditField) ProtoMessage() {}
+
+func (x *ContentAuditField) ProtoReflect() protoreflect.Message {
+ mi := &file_ContentAuditField_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContentAuditField.ProtoReflect.Descriptor instead.
+func (*ContentAuditField) Descriptor() ([]byte, []int) {
+ return file_ContentAuditField_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ContentAuditField) GetSegmentList() []*ContentAuditData {
+ if x != nil {
+ return x.SegmentList
+ }
+ return nil
+}
+
+func (x *ContentAuditField) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+var File_ContentAuditField_proto protoreflect.FileDescriptor
+
+var file_ContentAuditField_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x3a, 0x0a,
+ 0x0c, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x73, 0x65,
+ 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ContentAuditField_proto_rawDescOnce sync.Once
+ file_ContentAuditField_proto_rawDescData = file_ContentAuditField_proto_rawDesc
+)
+
+func file_ContentAuditField_proto_rawDescGZIP() []byte {
+ file_ContentAuditField_proto_rawDescOnce.Do(func() {
+ file_ContentAuditField_proto_rawDescData = protoimpl.X.CompressGZIP(file_ContentAuditField_proto_rawDescData)
+ })
+ return file_ContentAuditField_proto_rawDescData
+}
+
+var file_ContentAuditField_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ContentAuditField_proto_goTypes = []interface{}{
+ (*ContentAuditField)(nil), // 0: proto.ContentAuditField
+ (*ContentAuditData)(nil), // 1: proto.ContentAuditData
+}
+var file_ContentAuditField_proto_depIdxs = []int32{
+ 1, // 0: proto.ContentAuditField.segment_list:type_name -> proto.ContentAuditData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ContentAuditField_proto_init() }
+func file_ContentAuditField_proto_init() {
+ if File_ContentAuditField_proto != nil {
+ return
+ }
+ file_ContentAuditData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ContentAuditField_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContentAuditField); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ContentAuditField_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ContentAuditField_proto_goTypes,
+ DependencyIndexes: file_ContentAuditField_proto_depIdxs,
+ MessageInfos: file_ContentAuditField_proto_msgTypes,
+ }.Build()
+ File_ContentAuditField_proto = out.File
+ file_ContentAuditField_proto_rawDesc = nil
+ file_ContentAuditField_proto_goTypes = nil
+ file_ContentAuditField_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ContentAuditInfo.pb.go b/protocol/proto/ContentAuditInfo.pb.go
new file mode 100644
index 00000000..de3df92b
--- /dev/null
+++ b/protocol/proto/ContentAuditInfo.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ContentAuditInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ContentAuditInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,1,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
+ SubmitCount uint32 `protobuf:"varint,3,opt,name=submit_count,json=submitCount,proto3" json:"submit_count,omitempty"`
+ AuditState AuditState `protobuf:"varint,4,opt,name=audit_state,json=auditState,proto3,enum=proto.AuditState" json:"audit_state,omitempty"`
+ SubmitLimit uint32 `protobuf:"varint,5,opt,name=submit_limit,json=submitLimit,proto3" json:"submit_limit,omitempty"`
+}
+
+func (x *ContentAuditInfo) Reset() {
+ *x = ContentAuditInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ContentAuditInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContentAuditInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContentAuditInfo) ProtoMessage() {}
+
+func (x *ContentAuditInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ContentAuditInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContentAuditInfo.ProtoReflect.Descriptor instead.
+func (*ContentAuditInfo) Descriptor() ([]byte, []int) {
+ return file_ContentAuditInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ContentAuditInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *ContentAuditInfo) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+func (x *ContentAuditInfo) GetSubmitCount() uint32 {
+ if x != nil {
+ return x.SubmitCount
+ }
+ return 0
+}
+
+func (x *ContentAuditInfo) GetAuditState() AuditState {
+ if x != nil {
+ return x.AuditState
+ }
+ return AuditState_AUDIT_STATE_NONE
+}
+
+func (x *ContentAuditInfo) GetSubmitLimit() uint32 {
+ if x != nil {
+ return x.SubmitLimit
+ }
+ return 0
+}
+
+var File_ContentAuditInfo_proto protoreflect.FileDescriptor
+
+var file_ContentAuditInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x10, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64,
+ 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12,
+ 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x62,
+ 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x0b,
+ 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4c, 0x69,
+ 0x6d, 0x69, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ContentAuditInfo_proto_rawDescOnce sync.Once
+ file_ContentAuditInfo_proto_rawDescData = file_ContentAuditInfo_proto_rawDesc
+)
+
+func file_ContentAuditInfo_proto_rawDescGZIP() []byte {
+ file_ContentAuditInfo_proto_rawDescOnce.Do(func() {
+ file_ContentAuditInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ContentAuditInfo_proto_rawDescData)
+ })
+ return file_ContentAuditInfo_proto_rawDescData
+}
+
+var file_ContentAuditInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ContentAuditInfo_proto_goTypes = []interface{}{
+ (*ContentAuditInfo)(nil), // 0: proto.ContentAuditInfo
+ (AuditState)(0), // 1: proto.AuditState
+}
+var file_ContentAuditInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ContentAuditInfo.audit_state:type_name -> proto.AuditState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ContentAuditInfo_proto_init() }
+func file_ContentAuditInfo_proto_init() {
+ if File_ContentAuditInfo_proto != nil {
+ return
+ }
+ file_AuditState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ContentAuditInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ContentAuditInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ContentAuditInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ContentAuditInfo_proto_goTypes,
+ DependencyIndexes: file_ContentAuditInfo_proto_depIdxs,
+ MessageInfos: file_ContentAuditInfo_proto_msgTypes,
+ }.Build()
+ File_ContentAuditInfo_proto = out.File
+ file_ContentAuditInfo_proto_rawDesc = nil
+ file_ContentAuditInfo_proto_goTypes = nil
+ file_ContentAuditInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CookDataNotify.pb.go b/protocol/proto/CookDataNotify.pb.go
new file mode 100644
index 00000000..05e0eec7
--- /dev/null
+++ b/protocol/proto/CookDataNotify.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CookDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 195
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CookDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecipeDataList []*CookRecipeData `protobuf:"bytes,2,rep,name=recipe_data_list,json=recipeDataList,proto3" json:"recipe_data_list,omitempty"`
+ Grade uint32 `protobuf:"varint,11,opt,name=grade,proto3" json:"grade,omitempty"`
+}
+
+func (x *CookDataNotify) Reset() {
+ *x = CookDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CookDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CookDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CookDataNotify) ProtoMessage() {}
+
+func (x *CookDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CookDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CookDataNotify.ProtoReflect.Descriptor instead.
+func (*CookDataNotify) Descriptor() ([]byte, []int) {
+ return file_CookDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CookDataNotify) GetRecipeDataList() []*CookRecipeData {
+ if x != nil {
+ return x.RecipeDataList
+ }
+ return nil
+}
+
+func (x *CookDataNotify) GetGrade() uint32 {
+ if x != nil {
+ return x.Grade
+ }
+ return 0
+}
+
+var File_CookDataNotify_proto protoreflect.FileDescriptor
+
+var file_CookDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x43, 0x6f, 0x6f, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x43,
+ 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x0e, 0x43, 0x6f, 0x6f, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x5f,
+ 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69,
+ 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CookDataNotify_proto_rawDescOnce sync.Once
+ file_CookDataNotify_proto_rawDescData = file_CookDataNotify_proto_rawDesc
+)
+
+func file_CookDataNotify_proto_rawDescGZIP() []byte {
+ file_CookDataNotify_proto_rawDescOnce.Do(func() {
+ file_CookDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CookDataNotify_proto_rawDescData)
+ })
+ return file_CookDataNotify_proto_rawDescData
+}
+
+var file_CookDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CookDataNotify_proto_goTypes = []interface{}{
+ (*CookDataNotify)(nil), // 0: proto.CookDataNotify
+ (*CookRecipeData)(nil), // 1: proto.CookRecipeData
+}
+var file_CookDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CookDataNotify.recipe_data_list:type_name -> proto.CookRecipeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CookDataNotify_proto_init() }
+func file_CookDataNotify_proto_init() {
+ if File_CookDataNotify_proto != nil {
+ return
+ }
+ file_CookRecipeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CookDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CookDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CookDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CookDataNotify_proto_goTypes,
+ DependencyIndexes: file_CookDataNotify_proto_depIdxs,
+ MessageInfos: file_CookDataNotify_proto_msgTypes,
+ }.Build()
+ File_CookDataNotify_proto = out.File
+ file_CookDataNotify_proto_rawDesc = nil
+ file_CookDataNotify_proto_goTypes = nil
+ file_CookDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CookGradeDataNotify.pb.go b/protocol/proto/CookGradeDataNotify.pb.go
new file mode 100644
index 00000000..7c5acbd5
--- /dev/null
+++ b/protocol/proto/CookGradeDataNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CookGradeDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 134
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CookGradeDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Grade uint32 `protobuf:"varint,12,opt,name=grade,proto3" json:"grade,omitempty"`
+}
+
+func (x *CookGradeDataNotify) Reset() {
+ *x = CookGradeDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CookGradeDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CookGradeDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CookGradeDataNotify) ProtoMessage() {}
+
+func (x *CookGradeDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CookGradeDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CookGradeDataNotify.ProtoReflect.Descriptor instead.
+func (*CookGradeDataNotify) Descriptor() ([]byte, []int) {
+ return file_CookGradeDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CookGradeDataNotify) GetGrade() uint32 {
+ if x != nil {
+ return x.Grade
+ }
+ return 0
+}
+
+var File_CookGradeDataNotify_proto protoreflect.FileDescriptor
+
+var file_CookGradeDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x6f, 0x6f, 0x6b, 0x47, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x13, 0x43, 0x6f, 0x6f, 0x6b, 0x47, 0x72, 0x61, 0x64, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x61,
+ 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CookGradeDataNotify_proto_rawDescOnce sync.Once
+ file_CookGradeDataNotify_proto_rawDescData = file_CookGradeDataNotify_proto_rawDesc
+)
+
+func file_CookGradeDataNotify_proto_rawDescGZIP() []byte {
+ file_CookGradeDataNotify_proto_rawDescOnce.Do(func() {
+ file_CookGradeDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CookGradeDataNotify_proto_rawDescData)
+ })
+ return file_CookGradeDataNotify_proto_rawDescData
+}
+
+var file_CookGradeDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CookGradeDataNotify_proto_goTypes = []interface{}{
+ (*CookGradeDataNotify)(nil), // 0: proto.CookGradeDataNotify
+}
+var file_CookGradeDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CookGradeDataNotify_proto_init() }
+func file_CookGradeDataNotify_proto_init() {
+ if File_CookGradeDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CookGradeDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CookGradeDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CookGradeDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CookGradeDataNotify_proto_goTypes,
+ DependencyIndexes: file_CookGradeDataNotify_proto_depIdxs,
+ MessageInfos: file_CookGradeDataNotify_proto_msgTypes,
+ }.Build()
+ File_CookGradeDataNotify_proto = out.File
+ file_CookGradeDataNotify_proto_rawDesc = nil
+ file_CookGradeDataNotify_proto_goTypes = nil
+ file_CookGradeDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CookRecipeData.pb.go b/protocol/proto/CookRecipeData.pb.go
new file mode 100644
index 00000000..94ab871d
--- /dev/null
+++ b/protocol/proto/CookRecipeData.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CookRecipeData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CookRecipeData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Proficiency uint32 `protobuf:"varint,13,opt,name=proficiency,proto3" json:"proficiency,omitempty"`
+ RecipeId uint32 `protobuf:"varint,9,opt,name=recipe_id,json=recipeId,proto3" json:"recipe_id,omitempty"`
+}
+
+func (x *CookRecipeData) Reset() {
+ *x = CookRecipeData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CookRecipeData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CookRecipeData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CookRecipeData) ProtoMessage() {}
+
+func (x *CookRecipeData) ProtoReflect() protoreflect.Message {
+ mi := &file_CookRecipeData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CookRecipeData.ProtoReflect.Descriptor instead.
+func (*CookRecipeData) Descriptor() ([]byte, []int) {
+ return file_CookRecipeData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CookRecipeData) GetProficiency() uint32 {
+ if x != nil {
+ return x.Proficiency
+ }
+ return 0
+}
+
+func (x *CookRecipeData) GetRecipeId() uint32 {
+ if x != nil {
+ return x.RecipeId
+ }
+ return 0
+}
+
+var File_CookRecipeData_proto protoreflect.FileDescriptor
+
+var file_CookRecipeData_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a,
+ 0x0e, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12,
+ 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63,
+ 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CookRecipeData_proto_rawDescOnce sync.Once
+ file_CookRecipeData_proto_rawDescData = file_CookRecipeData_proto_rawDesc
+)
+
+func file_CookRecipeData_proto_rawDescGZIP() []byte {
+ file_CookRecipeData_proto_rawDescOnce.Do(func() {
+ file_CookRecipeData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CookRecipeData_proto_rawDescData)
+ })
+ return file_CookRecipeData_proto_rawDescData
+}
+
+var file_CookRecipeData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CookRecipeData_proto_goTypes = []interface{}{
+ (*CookRecipeData)(nil), // 0: proto.CookRecipeData
+}
+var file_CookRecipeData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CookRecipeData_proto_init() }
+func file_CookRecipeData_proto_init() {
+ if File_CookRecipeData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CookRecipeData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CookRecipeData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CookRecipeData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CookRecipeData_proto_goTypes,
+ DependencyIndexes: file_CookRecipeData_proto_depIdxs,
+ MessageInfos: file_CookRecipeData_proto_msgTypes,
+ }.Build()
+ File_CookRecipeData_proto = out.File
+ file_CookRecipeData_proto_rawDesc = nil
+ file_CookRecipeData_proto_goTypes = nil
+ file_CookRecipeData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CookRecipeDataNotify.pb.go b/protocol/proto/CookRecipeDataNotify.pb.go
new file mode 100644
index 00000000..cb003431
--- /dev/null
+++ b/protocol/proto/CookRecipeDataNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CookRecipeDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 106
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CookRecipeDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecipeData *CookRecipeData `protobuf:"bytes,4,opt,name=recipe_data,json=recipeData,proto3" json:"recipe_data,omitempty"`
+}
+
+func (x *CookRecipeDataNotify) Reset() {
+ *x = CookRecipeDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CookRecipeDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CookRecipeDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CookRecipeDataNotify) ProtoMessage() {}
+
+func (x *CookRecipeDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CookRecipeDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CookRecipeDataNotify.ProtoReflect.Descriptor instead.
+func (*CookRecipeDataNotify) Descriptor() ([]byte, []int) {
+ return file_CookRecipeDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CookRecipeDataNotify) GetRecipeData() *CookRecipeData {
+ if x != nil {
+ return x.RecipeData
+ }
+ return nil
+}
+
+var File_CookRecipeDataNotify_proto protoreflect.FileDescriptor
+
+var file_CookRecipeDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x14, 0x43, 0x6f, 0x6f,
+ 0x6b, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x72,
+ 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CookRecipeDataNotify_proto_rawDescOnce sync.Once
+ file_CookRecipeDataNotify_proto_rawDescData = file_CookRecipeDataNotify_proto_rawDesc
+)
+
+func file_CookRecipeDataNotify_proto_rawDescGZIP() []byte {
+ file_CookRecipeDataNotify_proto_rawDescOnce.Do(func() {
+ file_CookRecipeDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CookRecipeDataNotify_proto_rawDescData)
+ })
+ return file_CookRecipeDataNotify_proto_rawDescData
+}
+
+var file_CookRecipeDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CookRecipeDataNotify_proto_goTypes = []interface{}{
+ (*CookRecipeDataNotify)(nil), // 0: proto.CookRecipeDataNotify
+ (*CookRecipeData)(nil), // 1: proto.CookRecipeData
+}
+var file_CookRecipeDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CookRecipeDataNotify.recipe_data:type_name -> proto.CookRecipeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CookRecipeDataNotify_proto_init() }
+func file_CookRecipeDataNotify_proto_init() {
+ if File_CookRecipeDataNotify_proto != nil {
+ return
+ }
+ file_CookRecipeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CookRecipeDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CookRecipeDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CookRecipeDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CookRecipeDataNotify_proto_goTypes,
+ DependencyIndexes: file_CookRecipeDataNotify_proto_depIdxs,
+ MessageInfos: file_CookRecipeDataNotify_proto_msgTypes,
+ }.Build()
+ File_CookRecipeDataNotify_proto = out.File
+ file_CookRecipeDataNotify_proto_rawDesc = nil
+ file_CookRecipeDataNotify_proto_goTypes = nil
+ file_CookRecipeDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopCg.pb.go b/protocol/proto/CoopCg.pb.go
new file mode 100644
index 00000000..854488cc
--- /dev/null
+++ b/protocol/proto/CoopCg.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopCg.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CoopCg struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsUnlock bool `protobuf:"varint,14,opt,name=is_unlock,json=isUnlock,proto3" json:"is_unlock,omitempty"`
+ Id uint32 `protobuf:"varint,8,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *CoopCg) Reset() {
+ *x = CoopCg{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopCg_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopCg) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopCg) ProtoMessage() {}
+
+func (x *CoopCg) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopCg_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopCg.ProtoReflect.Descriptor instead.
+func (*CoopCg) Descriptor() ([]byte, []int) {
+ return file_CoopCg_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopCg) GetIsUnlock() bool {
+ if x != nil {
+ return x.IsUnlock
+ }
+ return false
+}
+
+func (x *CoopCg) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_CoopCg_proto protoreflect.FileDescriptor
+
+var file_CoopCg_proto_rawDesc = []byte{
+ 0x0a, 0x0c, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x06, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x67, 0x12,
+ 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopCg_proto_rawDescOnce sync.Once
+ file_CoopCg_proto_rawDescData = file_CoopCg_proto_rawDesc
+)
+
+func file_CoopCg_proto_rawDescGZIP() []byte {
+ file_CoopCg_proto_rawDescOnce.Do(func() {
+ file_CoopCg_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopCg_proto_rawDescData)
+ })
+ return file_CoopCg_proto_rawDescData
+}
+
+var file_CoopCg_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopCg_proto_goTypes = []interface{}{
+ (*CoopCg)(nil), // 0: proto.CoopCg
+}
+var file_CoopCg_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CoopCg_proto_init() }
+func file_CoopCg_proto_init() {
+ if File_CoopCg_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CoopCg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopCg); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopCg_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopCg_proto_goTypes,
+ DependencyIndexes: file_CoopCg_proto_depIdxs,
+ MessageInfos: file_CoopCg_proto_msgTypes,
+ }.Build()
+ File_CoopCg_proto = out.File
+ file_CoopCg_proto_rawDesc = nil
+ file_CoopCg_proto_goTypes = nil
+ file_CoopCg_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopCgShowNotify.pb.go b/protocol/proto/CoopCgShowNotify.pb.go
new file mode 100644
index 00000000..a66c59b2
--- /dev/null
+++ b/protocol/proto/CoopCgShowNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopCgShowNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1983
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CoopCgShowNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CgList []uint32 `protobuf:"varint,10,rep,packed,name=cg_list,json=cgList,proto3" json:"cg_list,omitempty"`
+}
+
+func (x *CoopCgShowNotify) Reset() {
+ *x = CoopCgShowNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopCgShowNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopCgShowNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopCgShowNotify) ProtoMessage() {}
+
+func (x *CoopCgShowNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopCgShowNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopCgShowNotify.ProtoReflect.Descriptor instead.
+func (*CoopCgShowNotify) Descriptor() ([]byte, []int) {
+ return file_CoopCgShowNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopCgShowNotify) GetCgList() []uint32 {
+ if x != nil {
+ return x.CgList
+ }
+ return nil
+}
+
+var File_CoopCgShowNotify_proto protoreflect.FileDescriptor
+
+var file_CoopCgShowNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x67, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2b, 0x0a, 0x10, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x67, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopCgShowNotify_proto_rawDescOnce sync.Once
+ file_CoopCgShowNotify_proto_rawDescData = file_CoopCgShowNotify_proto_rawDesc
+)
+
+func file_CoopCgShowNotify_proto_rawDescGZIP() []byte {
+ file_CoopCgShowNotify_proto_rawDescOnce.Do(func() {
+ file_CoopCgShowNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopCgShowNotify_proto_rawDescData)
+ })
+ return file_CoopCgShowNotify_proto_rawDescData
+}
+
+var file_CoopCgShowNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopCgShowNotify_proto_goTypes = []interface{}{
+ (*CoopCgShowNotify)(nil), // 0: proto.CoopCgShowNotify
+}
+var file_CoopCgShowNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CoopCgShowNotify_proto_init() }
+func file_CoopCgShowNotify_proto_init() {
+ if File_CoopCgShowNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CoopCgShowNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopCgShowNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopCgShowNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopCgShowNotify_proto_goTypes,
+ DependencyIndexes: file_CoopCgShowNotify_proto_depIdxs,
+ MessageInfos: file_CoopCgShowNotify_proto_msgTypes,
+ }.Build()
+ File_CoopCgShowNotify_proto = out.File
+ file_CoopCgShowNotify_proto_rawDesc = nil
+ file_CoopCgShowNotify_proto_goTypes = nil
+ file_CoopCgShowNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopCgUpdateNotify.pb.go b/protocol/proto/CoopCgUpdateNotify.pb.go
new file mode 100644
index 00000000..2e5efd77
--- /dev/null
+++ b/protocol/proto/CoopCgUpdateNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopCgUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1994
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CoopCgUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CgList []uint32 `protobuf:"varint,13,rep,packed,name=cg_list,json=cgList,proto3" json:"cg_list,omitempty"`
+}
+
+func (x *CoopCgUpdateNotify) Reset() {
+ *x = CoopCgUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopCgUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopCgUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopCgUpdateNotify) ProtoMessage() {}
+
+func (x *CoopCgUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopCgUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopCgUpdateNotify.ProtoReflect.Descriptor instead.
+func (*CoopCgUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_CoopCgUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopCgUpdateNotify) GetCgList() []uint32 {
+ if x != nil {
+ return x.CgList
+ }
+ return nil
+}
+
+var File_CoopCgUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_CoopCgUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2d, 0x0a, 0x12, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x67, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x67, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopCgUpdateNotify_proto_rawDescOnce sync.Once
+ file_CoopCgUpdateNotify_proto_rawDescData = file_CoopCgUpdateNotify_proto_rawDesc
+)
+
+func file_CoopCgUpdateNotify_proto_rawDescGZIP() []byte {
+ file_CoopCgUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_CoopCgUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopCgUpdateNotify_proto_rawDescData)
+ })
+ return file_CoopCgUpdateNotify_proto_rawDescData
+}
+
+var file_CoopCgUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopCgUpdateNotify_proto_goTypes = []interface{}{
+ (*CoopCgUpdateNotify)(nil), // 0: proto.CoopCgUpdateNotify
+}
+var file_CoopCgUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CoopCgUpdateNotify_proto_init() }
+func file_CoopCgUpdateNotify_proto_init() {
+ if File_CoopCgUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CoopCgUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopCgUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopCgUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopCgUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_CoopCgUpdateNotify_proto_depIdxs,
+ MessageInfos: file_CoopCgUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_CoopCgUpdateNotify_proto = out.File
+ file_CoopCgUpdateNotify_proto_rawDesc = nil
+ file_CoopCgUpdateNotify_proto_goTypes = nil
+ file_CoopCgUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopChapter.pb.go b/protocol/proto/CoopChapter.pb.go
new file mode 100644
index 00000000..c11908ff
--- /dev/null
+++ b/protocol/proto/CoopChapter.pb.go
@@ -0,0 +1,338 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopChapter.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CoopChapter_State int32
+
+const (
+ CoopChapter_STATE_CLOSE CoopChapter_State = 0
+ CoopChapter_STATE_COND_NOT_MEET CoopChapter_State = 1
+ CoopChapter_STATE_COND_MEET CoopChapter_State = 2
+ CoopChapter_STATE_ACCEPT CoopChapter_State = 3
+)
+
+// Enum value maps for CoopChapter_State.
+var (
+ CoopChapter_State_name = map[int32]string{
+ 0: "STATE_CLOSE",
+ 1: "STATE_COND_NOT_MEET",
+ 2: "STATE_COND_MEET",
+ 3: "STATE_ACCEPT",
+ }
+ CoopChapter_State_value = map[string]int32{
+ "STATE_CLOSE": 0,
+ "STATE_COND_NOT_MEET": 1,
+ "STATE_COND_MEET": 2,
+ "STATE_ACCEPT": 3,
+ }
+)
+
+func (x CoopChapter_State) Enum() *CoopChapter_State {
+ p := new(CoopChapter_State)
+ *p = x
+ return p
+}
+
+func (x CoopChapter_State) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CoopChapter_State) Descriptor() protoreflect.EnumDescriptor {
+ return file_CoopChapter_proto_enumTypes[0].Descriptor()
+}
+
+func (CoopChapter_State) Type() protoreflect.EnumType {
+ return &file_CoopChapter_proto_enumTypes[0]
+}
+
+func (x CoopChapter_State) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CoopChapter_State.Descriptor instead.
+func (CoopChapter_State) EnumDescriptor() ([]byte, []int) {
+ return file_CoopChapter_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type CoopChapter struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CoopCgList []*CoopCg `protobuf:"bytes,1,rep,name=coop_cg_list,json=coopCgList,proto3" json:"coop_cg_list,omitempty"`
+ Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
+ CoopPointList []*CoopPoint `protobuf:"bytes,11,rep,name=coop_point_list,json=coopPointList,proto3" json:"coop_point_list,omitempty"`
+ FinishDialogList []uint32 `protobuf:"varint,10,rep,packed,name=finish_dialog_list,json=finishDialogList,proto3" json:"finish_dialog_list,omitempty"`
+ FinishedEndCount uint32 `protobuf:"varint,14,opt,name=finished_end_count,json=finishedEndCount,proto3" json:"finished_end_count,omitempty"`
+ TotalEndCount uint32 `protobuf:"varint,7,opt,name=total_end_count,json=totalEndCount,proto3" json:"total_end_count,omitempty"`
+ CoopRewardList []*CoopReward `protobuf:"bytes,5,rep,name=coop_reward_list,json=coopRewardList,proto3" json:"coop_reward_list,omitempty"`
+ LockReasonList []uint32 `protobuf:"varint,12,rep,packed,name=lock_reason_list,json=lockReasonList,proto3" json:"lock_reason_list,omitempty"`
+ State CoopChapter_State `protobuf:"varint,4,opt,name=state,proto3,enum=proto.CoopChapter_State" json:"state,omitempty"`
+ SeenEndingMap map[uint32]uint32 `protobuf:"bytes,9,rep,name=seen_ending_map,json=seenEndingMap,proto3" json:"seen_ending_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *CoopChapter) Reset() {
+ *x = CoopChapter{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopChapter_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopChapter) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopChapter) ProtoMessage() {}
+
+func (x *CoopChapter) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopChapter_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopChapter.ProtoReflect.Descriptor instead.
+func (*CoopChapter) Descriptor() ([]byte, []int) {
+ return file_CoopChapter_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopChapter) GetCoopCgList() []*CoopCg {
+ if x != nil {
+ return x.CoopCgList
+ }
+ return nil
+}
+
+func (x *CoopChapter) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *CoopChapter) GetCoopPointList() []*CoopPoint {
+ if x != nil {
+ return x.CoopPointList
+ }
+ return nil
+}
+
+func (x *CoopChapter) GetFinishDialogList() []uint32 {
+ if x != nil {
+ return x.FinishDialogList
+ }
+ return nil
+}
+
+func (x *CoopChapter) GetFinishedEndCount() uint32 {
+ if x != nil {
+ return x.FinishedEndCount
+ }
+ return 0
+}
+
+func (x *CoopChapter) GetTotalEndCount() uint32 {
+ if x != nil {
+ return x.TotalEndCount
+ }
+ return 0
+}
+
+func (x *CoopChapter) GetCoopRewardList() []*CoopReward {
+ if x != nil {
+ return x.CoopRewardList
+ }
+ return nil
+}
+
+func (x *CoopChapter) GetLockReasonList() []uint32 {
+ if x != nil {
+ return x.LockReasonList
+ }
+ return nil
+}
+
+func (x *CoopChapter) GetState() CoopChapter_State {
+ if x != nil {
+ return x.State
+ }
+ return CoopChapter_STATE_CLOSE
+}
+
+func (x *CoopChapter) GetSeenEndingMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SeenEndingMap
+ }
+ return nil
+}
+
+var File_CoopChapter_proto protoreflect.FileDescriptor
+
+var file_CoopChapter_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x43, 0x6f, 0x6f, 0x70,
+ 0x43, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x43, 0x6f, 0x6f, 0x70, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x05, 0x0a, 0x0b,
+ 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x0c, 0x63,
+ 0x6f, 0x6f, 0x70, 0x5f, 0x63, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x67,
+ 0x52, 0x0a, 0x63, 0x6f, 0x6f, 0x70, 0x43, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x0f,
+ 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
+ 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x63, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x10, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x10, 0x63, 0x6f,
+ 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f,
+ 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x0e, 0x63, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x6b, 0x5f,
+ 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61,
+ 0x70, 0x74, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x2e, 0x53,
+ 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0d, 0x73, 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70,
+ 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x22, 0x58, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53,
+ 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d,
+ 0x45, 0x45, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43,
+ 0x4f, 0x4e, 0x44, 0x5f, 0x4d, 0x45, 0x45, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54,
+ 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopChapter_proto_rawDescOnce sync.Once
+ file_CoopChapter_proto_rawDescData = file_CoopChapter_proto_rawDesc
+)
+
+func file_CoopChapter_proto_rawDescGZIP() []byte {
+ file_CoopChapter_proto_rawDescOnce.Do(func() {
+ file_CoopChapter_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopChapter_proto_rawDescData)
+ })
+ return file_CoopChapter_proto_rawDescData
+}
+
+var file_CoopChapter_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CoopChapter_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_CoopChapter_proto_goTypes = []interface{}{
+ (CoopChapter_State)(0), // 0: proto.CoopChapter.State
+ (*CoopChapter)(nil), // 1: proto.CoopChapter
+ nil, // 2: proto.CoopChapter.SeenEndingMapEntry
+ (*CoopCg)(nil), // 3: proto.CoopCg
+ (*CoopPoint)(nil), // 4: proto.CoopPoint
+ (*CoopReward)(nil), // 5: proto.CoopReward
+}
+var file_CoopChapter_proto_depIdxs = []int32{
+ 3, // 0: proto.CoopChapter.coop_cg_list:type_name -> proto.CoopCg
+ 4, // 1: proto.CoopChapter.coop_point_list:type_name -> proto.CoopPoint
+ 5, // 2: proto.CoopChapter.coop_reward_list:type_name -> proto.CoopReward
+ 0, // 3: proto.CoopChapter.state:type_name -> proto.CoopChapter.State
+ 2, // 4: proto.CoopChapter.seen_ending_map:type_name -> proto.CoopChapter.SeenEndingMapEntry
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_CoopChapter_proto_init() }
+func file_CoopChapter_proto_init() {
+ if File_CoopChapter_proto != nil {
+ return
+ }
+ file_CoopCg_proto_init()
+ file_CoopPoint_proto_init()
+ file_CoopReward_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CoopChapter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopChapter); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopChapter_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopChapter_proto_goTypes,
+ DependencyIndexes: file_CoopChapter_proto_depIdxs,
+ EnumInfos: file_CoopChapter_proto_enumTypes,
+ MessageInfos: file_CoopChapter_proto_msgTypes,
+ }.Build()
+ File_CoopChapter_proto = out.File
+ file_CoopChapter_proto_rawDesc = nil
+ file_CoopChapter_proto_goTypes = nil
+ file_CoopChapter_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopChapterUpdateNotify.pb.go b/protocol/proto/CoopChapterUpdateNotify.pb.go
new file mode 100644
index 00000000..b58860d1
--- /dev/null
+++ b/protocol/proto/CoopChapterUpdateNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopChapterUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1972
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CoopChapterUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterList []*CoopChapter `protobuf:"bytes,14,rep,name=chapter_list,json=chapterList,proto3" json:"chapter_list,omitempty"`
+}
+
+func (x *CoopChapterUpdateNotify) Reset() {
+ *x = CoopChapterUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopChapterUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopChapterUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopChapterUpdateNotify) ProtoMessage() {}
+
+func (x *CoopChapterUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopChapterUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopChapterUpdateNotify.ProtoReflect.Descriptor instead.
+func (*CoopChapterUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_CoopChapterUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopChapterUpdateNotify) GetChapterList() []*CoopChapter {
+ if x != nil {
+ return x.ChapterList
+ }
+ return nil
+}
+
+var File_CoopChapterUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_CoopChapterUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x17, 0x43, 0x6f, 0x6f,
+ 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x0b,
+ 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopChapterUpdateNotify_proto_rawDescOnce sync.Once
+ file_CoopChapterUpdateNotify_proto_rawDescData = file_CoopChapterUpdateNotify_proto_rawDesc
+)
+
+func file_CoopChapterUpdateNotify_proto_rawDescGZIP() []byte {
+ file_CoopChapterUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_CoopChapterUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopChapterUpdateNotify_proto_rawDescData)
+ })
+ return file_CoopChapterUpdateNotify_proto_rawDescData
+}
+
+var file_CoopChapterUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopChapterUpdateNotify_proto_goTypes = []interface{}{
+ (*CoopChapterUpdateNotify)(nil), // 0: proto.CoopChapterUpdateNotify
+ (*CoopChapter)(nil), // 1: proto.CoopChapter
+}
+var file_CoopChapterUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CoopChapterUpdateNotify.chapter_list:type_name -> proto.CoopChapter
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CoopChapterUpdateNotify_proto_init() }
+func file_CoopChapterUpdateNotify_proto_init() {
+ if File_CoopChapterUpdateNotify_proto != nil {
+ return
+ }
+ file_CoopChapter_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CoopChapterUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopChapterUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopChapterUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopChapterUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_CoopChapterUpdateNotify_proto_depIdxs,
+ MessageInfos: file_CoopChapterUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_CoopChapterUpdateNotify_proto = out.File
+ file_CoopChapterUpdateNotify_proto_rawDesc = nil
+ file_CoopChapterUpdateNotify_proto_goTypes = nil
+ file_CoopChapterUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopDataNotify.pb.go b/protocol/proto/CoopDataNotify.pb.go
new file mode 100644
index 00000000..55b51cee
--- /dev/null
+++ b/protocol/proto/CoopDataNotify.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1979
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CoopDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterList []*CoopChapter `protobuf:"bytes,15,rep,name=chapter_list,json=chapterList,proto3" json:"chapter_list,omitempty"`
+ ViewedChapterList []uint32 `protobuf:"varint,7,rep,packed,name=viewed_chapter_list,json=viewedChapterList,proto3" json:"viewed_chapter_list,omitempty"`
+ IsHaveProgress bool `protobuf:"varint,10,opt,name=is_have_progress,json=isHaveProgress,proto3" json:"is_have_progress,omitempty"`
+ CurCoopPoint uint32 `protobuf:"varint,5,opt,name=cur_coop_point,json=curCoopPoint,proto3" json:"cur_coop_point,omitempty"`
+}
+
+func (x *CoopDataNotify) Reset() {
+ *x = CoopDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopDataNotify) ProtoMessage() {}
+
+func (x *CoopDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopDataNotify.ProtoReflect.Descriptor instead.
+func (*CoopDataNotify) Descriptor() ([]byte, []int) {
+ return file_CoopDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopDataNotify) GetChapterList() []*CoopChapter {
+ if x != nil {
+ return x.ChapterList
+ }
+ return nil
+}
+
+func (x *CoopDataNotify) GetViewedChapterList() []uint32 {
+ if x != nil {
+ return x.ViewedChapterList
+ }
+ return nil
+}
+
+func (x *CoopDataNotify) GetIsHaveProgress() bool {
+ if x != nil {
+ return x.IsHaveProgress
+ }
+ return false
+}
+
+func (x *CoopDataNotify) GetCurCoopPoint() uint32 {
+ if x != nil {
+ return x.CurCoopPoint
+ }
+ return 0
+}
+
+var File_CoopDataNotify_proto protoreflect.FileDescriptor
+
+var file_CoopDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x43, 0x6f, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x43,
+ 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xc7, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x63,
+ 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x76, 0x69,
+ 0x65, 0x77, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x43,
+ 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73,
+ 0x5f, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x70,
+ 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75,
+ 0x72, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopDataNotify_proto_rawDescOnce sync.Once
+ file_CoopDataNotify_proto_rawDescData = file_CoopDataNotify_proto_rawDesc
+)
+
+func file_CoopDataNotify_proto_rawDescGZIP() []byte {
+ file_CoopDataNotify_proto_rawDescOnce.Do(func() {
+ file_CoopDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopDataNotify_proto_rawDescData)
+ })
+ return file_CoopDataNotify_proto_rawDescData
+}
+
+var file_CoopDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopDataNotify_proto_goTypes = []interface{}{
+ (*CoopDataNotify)(nil), // 0: proto.CoopDataNotify
+ (*CoopChapter)(nil), // 1: proto.CoopChapter
+}
+var file_CoopDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CoopDataNotify.chapter_list:type_name -> proto.CoopChapter
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CoopDataNotify_proto_init() }
+func file_CoopDataNotify_proto_init() {
+ if File_CoopDataNotify_proto != nil {
+ return
+ }
+ file_CoopChapter_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CoopDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopDataNotify_proto_goTypes,
+ DependencyIndexes: file_CoopDataNotify_proto_depIdxs,
+ MessageInfos: file_CoopDataNotify_proto_msgTypes,
+ }.Build()
+ File_CoopDataNotify_proto = out.File
+ file_CoopDataNotify_proto_rawDesc = nil
+ file_CoopDataNotify_proto_goTypes = nil
+ file_CoopDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopPoint.pb.go b/protocol/proto/CoopPoint.pb.go
new file mode 100644
index 00000000..0f41de9c
--- /dev/null
+++ b/protocol/proto/CoopPoint.pb.go
@@ -0,0 +1,236 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopPoint.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CoopPoint_State int32
+
+const (
+ CoopPoint_STATE_UNSTARTED CoopPoint_State = 0
+ CoopPoint_STATE_STARTED CoopPoint_State = 1
+ CoopPoint_STATE_FINISHED CoopPoint_State = 2
+)
+
+// Enum value maps for CoopPoint_State.
+var (
+ CoopPoint_State_name = map[int32]string{
+ 0: "STATE_UNSTARTED",
+ 1: "STATE_STARTED",
+ 2: "STATE_FINISHED",
+ }
+ CoopPoint_State_value = map[string]int32{
+ "STATE_UNSTARTED": 0,
+ "STATE_STARTED": 1,
+ "STATE_FINISHED": 2,
+ }
+)
+
+func (x CoopPoint_State) Enum() *CoopPoint_State {
+ p := new(CoopPoint_State)
+ *p = x
+ return p
+}
+
+func (x CoopPoint_State) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CoopPoint_State) Descriptor() protoreflect.EnumDescriptor {
+ return file_CoopPoint_proto_enumTypes[0].Descriptor()
+}
+
+func (CoopPoint_State) Type() protoreflect.EnumType {
+ return &file_CoopPoint_proto_enumTypes[0]
+}
+
+func (x CoopPoint_State) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CoopPoint_State.Descriptor instead.
+func (CoopPoint_State) EnumDescriptor() ([]byte, []int) {
+ return file_CoopPoint_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type CoopPoint struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SelfConfidence uint32 `protobuf:"varint,15,opt,name=self_confidence,json=selfConfidence,proto3" json:"self_confidence,omitempty"`
+ State CoopPoint_State `protobuf:"varint,10,opt,name=state,proto3,enum=proto.CoopPoint_State" json:"state,omitempty"`
+ Id uint32 `protobuf:"varint,14,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *CoopPoint) Reset() {
+ *x = CoopPoint{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopPoint_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopPoint) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopPoint) ProtoMessage() {}
+
+func (x *CoopPoint) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopPoint_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopPoint.ProtoReflect.Descriptor instead.
+func (*CoopPoint) Descriptor() ([]byte, []int) {
+ return file_CoopPoint_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopPoint) GetSelfConfidence() uint32 {
+ if x != nil {
+ return x.SelfConfidence
+ }
+ return 0
+}
+
+func (x *CoopPoint) GetState() CoopPoint_State {
+ if x != nil {
+ return x.State
+ }
+ return CoopPoint_STATE_UNSTARTED
+}
+
+func (x *CoopPoint) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_CoopPoint_proto protoreflect.FileDescriptor
+
+var file_CoopPoint_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6f,
+ 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12,
+ 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a,
+ 0x02, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a,
+ 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x55, 0x4e, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53,
+ 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12,
+ 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44,
+ 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopPoint_proto_rawDescOnce sync.Once
+ file_CoopPoint_proto_rawDescData = file_CoopPoint_proto_rawDesc
+)
+
+func file_CoopPoint_proto_rawDescGZIP() []byte {
+ file_CoopPoint_proto_rawDescOnce.Do(func() {
+ file_CoopPoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopPoint_proto_rawDescData)
+ })
+ return file_CoopPoint_proto_rawDescData
+}
+
+var file_CoopPoint_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CoopPoint_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopPoint_proto_goTypes = []interface{}{
+ (CoopPoint_State)(0), // 0: proto.CoopPoint.State
+ (*CoopPoint)(nil), // 1: proto.CoopPoint
+}
+var file_CoopPoint_proto_depIdxs = []int32{
+ 0, // 0: proto.CoopPoint.state:type_name -> proto.CoopPoint.State
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CoopPoint_proto_init() }
+func file_CoopPoint_proto_init() {
+ if File_CoopPoint_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CoopPoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopPoint); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopPoint_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopPoint_proto_goTypes,
+ DependencyIndexes: file_CoopPoint_proto_depIdxs,
+ EnumInfos: file_CoopPoint_proto_enumTypes,
+ MessageInfos: file_CoopPoint_proto_msgTypes,
+ }.Build()
+ File_CoopPoint_proto = out.File
+ file_CoopPoint_proto_rawDesc = nil
+ file_CoopPoint_proto_goTypes = nil
+ file_CoopPoint_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopPointUpdateNotify.pb.go b/protocol/proto/CoopPointUpdateNotify.pb.go
new file mode 100644
index 00000000..81602a68
--- /dev/null
+++ b/protocol/proto/CoopPointUpdateNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopPointUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1991
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CoopPointUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CoopPoint *CoopPoint `protobuf:"bytes,13,opt,name=coop_point,json=coopPoint,proto3" json:"coop_point,omitempty"`
+}
+
+func (x *CoopPointUpdateNotify) Reset() {
+ *x = CoopPointUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopPointUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopPointUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopPointUpdateNotify) ProtoMessage() {}
+
+func (x *CoopPointUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopPointUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopPointUpdateNotify.ProtoReflect.Descriptor instead.
+func (*CoopPointUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_CoopPointUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopPointUpdateNotify) GetCoopPoint() *CoopPoint {
+ if x != nil {
+ return x.CoopPoint
+ }
+ return nil
+}
+
+var File_CoopPointUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_CoopPointUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x15, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f,
+ 0x0a, 0x0a, 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x70, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopPointUpdateNotify_proto_rawDescOnce sync.Once
+ file_CoopPointUpdateNotify_proto_rawDescData = file_CoopPointUpdateNotify_proto_rawDesc
+)
+
+func file_CoopPointUpdateNotify_proto_rawDescGZIP() []byte {
+ file_CoopPointUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_CoopPointUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopPointUpdateNotify_proto_rawDescData)
+ })
+ return file_CoopPointUpdateNotify_proto_rawDescData
+}
+
+var file_CoopPointUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopPointUpdateNotify_proto_goTypes = []interface{}{
+ (*CoopPointUpdateNotify)(nil), // 0: proto.CoopPointUpdateNotify
+ (*CoopPoint)(nil), // 1: proto.CoopPoint
+}
+var file_CoopPointUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CoopPointUpdateNotify.coop_point:type_name -> proto.CoopPoint
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CoopPointUpdateNotify_proto_init() }
+func file_CoopPointUpdateNotify_proto_init() {
+ if File_CoopPointUpdateNotify_proto != nil {
+ return
+ }
+ file_CoopPoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CoopPointUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopPointUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopPointUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopPointUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_CoopPointUpdateNotify_proto_depIdxs,
+ MessageInfos: file_CoopPointUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_CoopPointUpdateNotify_proto = out.File
+ file_CoopPointUpdateNotify_proto_rawDesc = nil
+ file_CoopPointUpdateNotify_proto_goTypes = nil
+ file_CoopPointUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopProgressUpdateNotify.pb.go b/protocol/proto/CoopProgressUpdateNotify.pb.go
new file mode 100644
index 00000000..b77ac765
--- /dev/null
+++ b/protocol/proto/CoopProgressUpdateNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopProgressUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1998
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CoopProgressUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurCoopPoint uint32 `protobuf:"varint,11,opt,name=cur_coop_point,json=curCoopPoint,proto3" json:"cur_coop_point,omitempty"`
+ IsHaveProgress bool `protobuf:"varint,12,opt,name=is_have_progress,json=isHaveProgress,proto3" json:"is_have_progress,omitempty"`
+}
+
+func (x *CoopProgressUpdateNotify) Reset() {
+ *x = CoopProgressUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopProgressUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopProgressUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopProgressUpdateNotify) ProtoMessage() {}
+
+func (x *CoopProgressUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopProgressUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopProgressUpdateNotify.ProtoReflect.Descriptor instead.
+func (*CoopProgressUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_CoopProgressUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopProgressUpdateNotify) GetCurCoopPoint() uint32 {
+ if x != nil {
+ return x.CurCoopPoint
+ }
+ return 0
+}
+
+func (x *CoopProgressUpdateNotify) GetIsHaveProgress() bool {
+ if x != nil {
+ return x.IsHaveProgress
+ }
+ return false
+}
+
+var File_CoopProgressUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_CoopProgressUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x18, 0x43, 0x6f, 0x6f, 0x70, 0x50,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x5f,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72,
+ 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f,
+ 0x68, 0x61, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopProgressUpdateNotify_proto_rawDescOnce sync.Once
+ file_CoopProgressUpdateNotify_proto_rawDescData = file_CoopProgressUpdateNotify_proto_rawDesc
+)
+
+func file_CoopProgressUpdateNotify_proto_rawDescGZIP() []byte {
+ file_CoopProgressUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_CoopProgressUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopProgressUpdateNotify_proto_rawDescData)
+ })
+ return file_CoopProgressUpdateNotify_proto_rawDescData
+}
+
+var file_CoopProgressUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopProgressUpdateNotify_proto_goTypes = []interface{}{
+ (*CoopProgressUpdateNotify)(nil), // 0: proto.CoopProgressUpdateNotify
+}
+var file_CoopProgressUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CoopProgressUpdateNotify_proto_init() }
+func file_CoopProgressUpdateNotify_proto_init() {
+ if File_CoopProgressUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CoopProgressUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopProgressUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopProgressUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopProgressUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_CoopProgressUpdateNotify_proto_depIdxs,
+ MessageInfos: file_CoopProgressUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_CoopProgressUpdateNotify_proto = out.File
+ file_CoopProgressUpdateNotify_proto_rawDesc = nil
+ file_CoopProgressUpdateNotify_proto_goTypes = nil
+ file_CoopProgressUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopReward.pb.go b/protocol/proto/CoopReward.pb.go
new file mode 100644
index 00000000..6e2b16e5
--- /dev/null
+++ b/protocol/proto/CoopReward.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopReward.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CoopReward_State int32
+
+const (
+ CoopReward_STATE_UNLOCK CoopReward_State = 0
+ CoopReward_STATE_LOCK CoopReward_State = 1
+ CoopReward_STATE_TAKEN CoopReward_State = 2
+)
+
+// Enum value maps for CoopReward_State.
+var (
+ CoopReward_State_name = map[int32]string{
+ 0: "STATE_UNLOCK",
+ 1: "STATE_LOCK",
+ 2: "STATE_TAKEN",
+ }
+ CoopReward_State_value = map[string]int32{
+ "STATE_UNLOCK": 0,
+ "STATE_LOCK": 1,
+ "STATE_TAKEN": 2,
+ }
+)
+
+func (x CoopReward_State) Enum() *CoopReward_State {
+ p := new(CoopReward_State)
+ *p = x
+ return p
+}
+
+func (x CoopReward_State) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CoopReward_State) Descriptor() protoreflect.EnumDescriptor {
+ return file_CoopReward_proto_enumTypes[0].Descriptor()
+}
+
+func (CoopReward_State) Type() protoreflect.EnumType {
+ return &file_CoopReward_proto_enumTypes[0]
+}
+
+func (x CoopReward_State) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CoopReward_State.Descriptor instead.
+func (CoopReward_State) EnumDescriptor() ([]byte, []int) {
+ return file_CoopReward_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type CoopReward struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
+ State CoopReward_State `protobuf:"varint,6,opt,name=state,proto3,enum=proto.CoopReward_State" json:"state,omitempty"`
+}
+
+func (x *CoopReward) Reset() {
+ *x = CoopReward{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopReward_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopReward) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopReward) ProtoMessage() {}
+
+func (x *CoopReward) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopReward_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopReward.ProtoReflect.Descriptor instead.
+func (*CoopReward) Descriptor() ([]byte, []int) {
+ return file_CoopReward_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopReward) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *CoopReward) GetState() CoopReward_State {
+ if x != nil {
+ return x.State
+ }
+ return CoopReward_STATE_UNLOCK
+}
+
+var File_CoopReward_proto protoreflect.FileDescriptor
+
+var file_CoopReward_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x0a, 0x43, 0x6f,
+ 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3a, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b,
+ 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b,
+ 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x4b, 0x45,
+ 0x4e, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopReward_proto_rawDescOnce sync.Once
+ file_CoopReward_proto_rawDescData = file_CoopReward_proto_rawDesc
+)
+
+func file_CoopReward_proto_rawDescGZIP() []byte {
+ file_CoopReward_proto_rawDescOnce.Do(func() {
+ file_CoopReward_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopReward_proto_rawDescData)
+ })
+ return file_CoopReward_proto_rawDescData
+}
+
+var file_CoopReward_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CoopReward_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopReward_proto_goTypes = []interface{}{
+ (CoopReward_State)(0), // 0: proto.CoopReward.State
+ (*CoopReward)(nil), // 1: proto.CoopReward
+}
+var file_CoopReward_proto_depIdxs = []int32{
+ 0, // 0: proto.CoopReward.state:type_name -> proto.CoopReward.State
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CoopReward_proto_init() }
+func file_CoopReward_proto_init() {
+ if File_CoopReward_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CoopReward_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopReward); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopReward_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopReward_proto_goTypes,
+ DependencyIndexes: file_CoopReward_proto_depIdxs,
+ EnumInfos: file_CoopReward_proto_enumTypes,
+ MessageInfos: file_CoopReward_proto_msgTypes,
+ }.Build()
+ File_CoopReward_proto = out.File
+ file_CoopReward_proto_rawDesc = nil
+ file_CoopReward_proto_goTypes = nil
+ file_CoopReward_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CoopRewardUpdateNotify.pb.go b/protocol/proto/CoopRewardUpdateNotify.pb.go
new file mode 100644
index 00000000..3e99cf18
--- /dev/null
+++ b/protocol/proto/CoopRewardUpdateNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CoopRewardUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1999
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CoopRewardUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardList []*CoopReward `protobuf:"bytes,7,rep,name=reward_list,json=rewardList,proto3" json:"reward_list,omitempty"`
+}
+
+func (x *CoopRewardUpdateNotify) Reset() {
+ *x = CoopRewardUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CoopRewardUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CoopRewardUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CoopRewardUpdateNotify) ProtoMessage() {}
+
+func (x *CoopRewardUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CoopRewardUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CoopRewardUpdateNotify.ProtoReflect.Descriptor instead.
+func (*CoopRewardUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_CoopRewardUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CoopRewardUpdateNotify) GetRewardList() []*CoopReward {
+ if x != nil {
+ return x.RewardList
+ }
+ return nil
+}
+
+var File_CoopRewardUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_CoopRewardUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x16, 0x43, 0x6f, 0x6f, 0x70, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x32, 0x0a, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CoopRewardUpdateNotify_proto_rawDescOnce sync.Once
+ file_CoopRewardUpdateNotify_proto_rawDescData = file_CoopRewardUpdateNotify_proto_rawDesc
+)
+
+func file_CoopRewardUpdateNotify_proto_rawDescGZIP() []byte {
+ file_CoopRewardUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_CoopRewardUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CoopRewardUpdateNotify_proto_rawDescData)
+ })
+ return file_CoopRewardUpdateNotify_proto_rawDescData
+}
+
+var file_CoopRewardUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CoopRewardUpdateNotify_proto_goTypes = []interface{}{
+ (*CoopRewardUpdateNotify)(nil), // 0: proto.CoopRewardUpdateNotify
+ (*CoopReward)(nil), // 1: proto.CoopReward
+}
+var file_CoopRewardUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CoopRewardUpdateNotify.reward_list:type_name -> proto.CoopReward
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CoopRewardUpdateNotify_proto_init() }
+func file_CoopRewardUpdateNotify_proto_init() {
+ if File_CoopRewardUpdateNotify_proto != nil {
+ return
+ }
+ file_CoopReward_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CoopRewardUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CoopRewardUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CoopRewardUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CoopRewardUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_CoopRewardUpdateNotify_proto_depIdxs,
+ MessageInfos: file_CoopRewardUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_CoopRewardUpdateNotify_proto = out.File
+ file_CoopRewardUpdateNotify_proto_rawDesc = nil
+ file_CoopRewardUpdateNotify_proto_goTypes = nil
+ file_CoopRewardUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CreateEntityInfo.pb.go b/protocol/proto/CreateEntityInfo.pb.go
new file mode 100644
index 00000000..85450cdc
--- /dev/null
+++ b/protocol/proto/CreateEntityInfo.pb.go
@@ -0,0 +1,335 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CreateEntityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CreateEntityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,5,opt,name=level,proto3" json:"level,omitempty"`
+ Pos *Vector `protobuf:"bytes,6,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,7,opt,name=rot,proto3" json:"rot,omitempty"`
+ SceneId uint32 `protobuf:"varint,10,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ RoomId uint32 `protobuf:"varint,11,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ ClientUniqueId uint32 `protobuf:"varint,12,opt,name=client_unique_id,json=clientUniqueId,proto3" json:"client_unique_id,omitempty"`
+ // Types that are assignable to Entity:
+ //
+ // *CreateEntityInfo_MonsterId
+ // *CreateEntityInfo_NpcId
+ // *CreateEntityInfo_GadgetId
+ // *CreateEntityInfo_ItemId
+ Entity isCreateEntityInfo_Entity `protobuf_oneof:"entity"`
+ // Types that are assignable to EntityCreateInfo:
+ //
+ // *CreateEntityInfo_Gadget
+ EntityCreateInfo isCreateEntityInfo_EntityCreateInfo `protobuf_oneof:"entity_create_info"`
+}
+
+func (x *CreateEntityInfo) Reset() {
+ *x = CreateEntityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CreateEntityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateEntityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateEntityInfo) ProtoMessage() {}
+
+func (x *CreateEntityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CreateEntityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateEntityInfo.ProtoReflect.Descriptor instead.
+func (*CreateEntityInfo) Descriptor() ([]byte, []int) {
+ return file_CreateEntityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CreateEntityInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *CreateEntityInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *CreateEntityInfo) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *CreateEntityInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *CreateEntityInfo) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *CreateEntityInfo) GetClientUniqueId() uint32 {
+ if x != nil {
+ return x.ClientUniqueId
+ }
+ return 0
+}
+
+func (m *CreateEntityInfo) GetEntity() isCreateEntityInfo_Entity {
+ if m != nil {
+ return m.Entity
+ }
+ return nil
+}
+
+func (x *CreateEntityInfo) GetMonsterId() uint32 {
+ if x, ok := x.GetEntity().(*CreateEntityInfo_MonsterId); ok {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *CreateEntityInfo) GetNpcId() uint32 {
+ if x, ok := x.GetEntity().(*CreateEntityInfo_NpcId); ok {
+ return x.NpcId
+ }
+ return 0
+}
+
+func (x *CreateEntityInfo) GetGadgetId() uint32 {
+ if x, ok := x.GetEntity().(*CreateEntityInfo_GadgetId); ok {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *CreateEntityInfo) GetItemId() uint32 {
+ if x, ok := x.GetEntity().(*CreateEntityInfo_ItemId); ok {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (m *CreateEntityInfo) GetEntityCreateInfo() isCreateEntityInfo_EntityCreateInfo {
+ if m != nil {
+ return m.EntityCreateInfo
+ }
+ return nil
+}
+
+func (x *CreateEntityInfo) GetGadget() *CreateGadgetInfo {
+ if x, ok := x.GetEntityCreateInfo().(*CreateEntityInfo_Gadget); ok {
+ return x.Gadget
+ }
+ return nil
+}
+
+type isCreateEntityInfo_Entity interface {
+ isCreateEntityInfo_Entity()
+}
+
+type CreateEntityInfo_MonsterId struct {
+ MonsterId uint32 `protobuf:"varint,1,opt,name=monster_id,json=monsterId,proto3,oneof"`
+}
+
+type CreateEntityInfo_NpcId struct {
+ NpcId uint32 `protobuf:"varint,2,opt,name=npc_id,json=npcId,proto3,oneof"`
+}
+
+type CreateEntityInfo_GadgetId struct {
+ GadgetId uint32 `protobuf:"varint,3,opt,name=gadget_id,json=gadgetId,proto3,oneof"`
+}
+
+type CreateEntityInfo_ItemId struct {
+ ItemId uint32 `protobuf:"varint,4,opt,name=item_id,json=itemId,proto3,oneof"`
+}
+
+func (*CreateEntityInfo_MonsterId) isCreateEntityInfo_Entity() {}
+
+func (*CreateEntityInfo_NpcId) isCreateEntityInfo_Entity() {}
+
+func (*CreateEntityInfo_GadgetId) isCreateEntityInfo_Entity() {}
+
+func (*CreateEntityInfo_ItemId) isCreateEntityInfo_Entity() {}
+
+type isCreateEntityInfo_EntityCreateInfo interface {
+ isCreateEntityInfo_EntityCreateInfo()
+}
+
+type CreateEntityInfo_Gadget struct {
+ Gadget *CreateGadgetInfo `protobuf:"bytes,13,opt,name=gadget,proto3,oneof"`
+}
+
+func (*CreateEntityInfo_Gadget) isCreateEntityInfo_EntityCreateInfo() {}
+
+var File_CreateEntityInfo_proto protoreflect.FileDescriptor
+
+var file_CreateEntityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x03, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f,
+ 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72,
+ 0x6f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a,
+ 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x17, 0x0a, 0x06, 0x6e, 0x70, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x70, 0x63, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x67, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52,
+ 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x07, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x06, 0x69, 0x74,
+ 0x65, 0x6d, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x01, 0x52,
+ 0x06, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x42, 0x14, 0x0a, 0x12, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CreateEntityInfo_proto_rawDescOnce sync.Once
+ file_CreateEntityInfo_proto_rawDescData = file_CreateEntityInfo_proto_rawDesc
+)
+
+func file_CreateEntityInfo_proto_rawDescGZIP() []byte {
+ file_CreateEntityInfo_proto_rawDescOnce.Do(func() {
+ file_CreateEntityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CreateEntityInfo_proto_rawDescData)
+ })
+ return file_CreateEntityInfo_proto_rawDescData
+}
+
+var file_CreateEntityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CreateEntityInfo_proto_goTypes = []interface{}{
+ (*CreateEntityInfo)(nil), // 0: proto.CreateEntityInfo
+ (*Vector)(nil), // 1: proto.Vector
+ (*CreateGadgetInfo)(nil), // 2: proto.CreateGadgetInfo
+}
+var file_CreateEntityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CreateEntityInfo.pos:type_name -> proto.Vector
+ 1, // 1: proto.CreateEntityInfo.rot:type_name -> proto.Vector
+ 2, // 2: proto.CreateEntityInfo.gadget:type_name -> proto.CreateGadgetInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_CreateEntityInfo_proto_init() }
+func file_CreateEntityInfo_proto_init() {
+ if File_CreateEntityInfo_proto != nil {
+ return
+ }
+ file_CreateGadgetInfo_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CreateEntityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateEntityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_CreateEntityInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*CreateEntityInfo_MonsterId)(nil),
+ (*CreateEntityInfo_NpcId)(nil),
+ (*CreateEntityInfo_GadgetId)(nil),
+ (*CreateEntityInfo_ItemId)(nil),
+ (*CreateEntityInfo_Gadget)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CreateEntityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CreateEntityInfo_proto_goTypes,
+ DependencyIndexes: file_CreateEntityInfo_proto_depIdxs,
+ MessageInfos: file_CreateEntityInfo_proto_msgTypes,
+ }.Build()
+ File_CreateEntityInfo_proto = out.File
+ file_CreateEntityInfo_proto_rawDesc = nil
+ file_CreateEntityInfo_proto_goTypes = nil
+ file_CreateEntityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CreateGadgetInfo.pb.go b/protocol/proto/CreateGadgetInfo.pb.go
new file mode 100644
index 00000000..79cb5d73
--- /dev/null
+++ b/protocol/proto/CreateGadgetInfo.pb.go
@@ -0,0 +1,250 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CreateGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CreateGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BornType GadgetBornType `protobuf:"varint,1,opt,name=born_type,json=bornType,proto3,enum=proto.GadgetBornType" json:"born_type,omitempty"`
+ Chest *CreateGadgetInfo_Chest `protobuf:"bytes,2,opt,name=chest,proto3" json:"chest,omitempty"`
+}
+
+func (x *CreateGadgetInfo) Reset() {
+ *x = CreateGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CreateGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateGadgetInfo) ProtoMessage() {}
+
+func (x *CreateGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CreateGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateGadgetInfo.ProtoReflect.Descriptor instead.
+func (*CreateGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_CreateGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CreateGadgetInfo) GetBornType() GadgetBornType {
+ if x != nil {
+ return x.BornType
+ }
+ return GadgetBornType_GADGET_BORN_TYPE_NONE
+}
+
+func (x *CreateGadgetInfo) GetChest() *CreateGadgetInfo_Chest {
+ if x != nil {
+ return x.Chest
+ }
+ return nil
+}
+
+type CreateGadgetInfo_Chest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChestDropId uint32 `protobuf:"varint,1,opt,name=chest_drop_id,json=chestDropId,proto3" json:"chest_drop_id,omitempty"`
+ IsShowCutscene bool `protobuf:"varint,2,opt,name=is_show_cutscene,json=isShowCutscene,proto3" json:"is_show_cutscene,omitempty"`
+}
+
+func (x *CreateGadgetInfo_Chest) Reset() {
+ *x = CreateGadgetInfo_Chest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CreateGadgetInfo_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateGadgetInfo_Chest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateGadgetInfo_Chest) ProtoMessage() {}
+
+func (x *CreateGadgetInfo_Chest) ProtoReflect() protoreflect.Message {
+ mi := &file_CreateGadgetInfo_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateGadgetInfo_Chest.ProtoReflect.Descriptor instead.
+func (*CreateGadgetInfo_Chest) Descriptor() ([]byte, []int) {
+ return file_CreateGadgetInfo_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *CreateGadgetInfo_Chest) GetChestDropId() uint32 {
+ if x != nil {
+ return x.ChestDropId
+ }
+ return 0
+}
+
+func (x *CreateGadgetInfo_Chest) GetIsShowCutscene() bool {
+ if x != nil {
+ return x.IsShowCutscene
+ }
+ return false
+}
+
+var File_CreateGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_CreateGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x14, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x09, 0x62, 0x6f,
+ 0x72, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x42, 0x6f, 0x72, 0x6e,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x62, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33,
+ 0x0a, 0x05, 0x63, 0x68, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x74, 0x52, 0x05, 0x63, 0x68,
+ 0x65, 0x73, 0x74, 0x1a, 0x55, 0x0a, 0x05, 0x43, 0x68, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d,
+ 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x73, 0x74, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x64,
+ 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x63, 0x75, 0x74, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x68,
+ 0x6f, 0x77, 0x43, 0x75, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CreateGadgetInfo_proto_rawDescOnce sync.Once
+ file_CreateGadgetInfo_proto_rawDescData = file_CreateGadgetInfo_proto_rawDesc
+)
+
+func file_CreateGadgetInfo_proto_rawDescGZIP() []byte {
+ file_CreateGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_CreateGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CreateGadgetInfo_proto_rawDescData)
+ })
+ return file_CreateGadgetInfo_proto_rawDescData
+}
+
+var file_CreateGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_CreateGadgetInfo_proto_goTypes = []interface{}{
+ (*CreateGadgetInfo)(nil), // 0: proto.CreateGadgetInfo
+ (*CreateGadgetInfo_Chest)(nil), // 1: proto.CreateGadgetInfo.Chest
+ (GadgetBornType)(0), // 2: proto.GadgetBornType
+}
+var file_CreateGadgetInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.CreateGadgetInfo.born_type:type_name -> proto.GadgetBornType
+ 1, // 1: proto.CreateGadgetInfo.chest:type_name -> proto.CreateGadgetInfo.Chest
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CreateGadgetInfo_proto_init() }
+func file_CreateGadgetInfo_proto_init() {
+ if File_CreateGadgetInfo_proto != nil {
+ return
+ }
+ file_GadgetBornType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CreateGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_CreateGadgetInfo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateGadgetInfo_Chest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CreateGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CreateGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_CreateGadgetInfo_proto_depIdxs,
+ MessageInfos: file_CreateGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_CreateGadgetInfo_proto = out.File
+ file_CreateGadgetInfo_proto_rawDesc = nil
+ file_CreateGadgetInfo_proto_goTypes = nil
+ file_CreateGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CreateMassiveEntityNotify.pb.go b/protocol/proto/CreateMassiveEntityNotify.pb.go
new file mode 100644
index 00000000..89caa0f5
--- /dev/null
+++ b/protocol/proto/CreateMassiveEntityNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CreateMassiveEntityNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 367
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CreateMassiveEntityNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MassiveEntityList []*ServerMassiveEntity `protobuf:"bytes,15,rep,name=massive_entity_list,json=massiveEntityList,proto3" json:"massive_entity_list,omitempty"`
+}
+
+func (x *CreateMassiveEntityNotify) Reset() {
+ *x = CreateMassiveEntityNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CreateMassiveEntityNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateMassiveEntityNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateMassiveEntityNotify) ProtoMessage() {}
+
+func (x *CreateMassiveEntityNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CreateMassiveEntityNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateMassiveEntityNotify.ProtoReflect.Descriptor instead.
+func (*CreateMassiveEntityNotify) Descriptor() ([]byte, []int) {
+ return file_CreateMassiveEntityNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CreateMassiveEntityNotify) GetMassiveEntityList() []*ServerMassiveEntity {
+ if x != nil {
+ return x.MassiveEntityList
+ }
+ return nil
+}
+
+var File_CreateMassiveEntityNotify_proto protoreflect.FileDescriptor
+
+var file_CreateMassiveEntityNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73,
+ 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x4a, 0x0a, 0x13, 0x6d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x73,
+ 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x73, 0x73, 0x69,
+ 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CreateMassiveEntityNotify_proto_rawDescOnce sync.Once
+ file_CreateMassiveEntityNotify_proto_rawDescData = file_CreateMassiveEntityNotify_proto_rawDesc
+)
+
+func file_CreateMassiveEntityNotify_proto_rawDescGZIP() []byte {
+ file_CreateMassiveEntityNotify_proto_rawDescOnce.Do(func() {
+ file_CreateMassiveEntityNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CreateMassiveEntityNotify_proto_rawDescData)
+ })
+ return file_CreateMassiveEntityNotify_proto_rawDescData
+}
+
+var file_CreateMassiveEntityNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CreateMassiveEntityNotify_proto_goTypes = []interface{}{
+ (*CreateMassiveEntityNotify)(nil), // 0: proto.CreateMassiveEntityNotify
+ (*ServerMassiveEntity)(nil), // 1: proto.ServerMassiveEntity
+}
+var file_CreateMassiveEntityNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CreateMassiveEntityNotify.massive_entity_list:type_name -> proto.ServerMassiveEntity
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CreateMassiveEntityNotify_proto_init() }
+func file_CreateMassiveEntityNotify_proto_init() {
+ if File_CreateMassiveEntityNotify_proto != nil {
+ return
+ }
+ file_ServerMassiveEntity_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CreateMassiveEntityNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateMassiveEntityNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CreateMassiveEntityNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CreateMassiveEntityNotify_proto_goTypes,
+ DependencyIndexes: file_CreateMassiveEntityNotify_proto_depIdxs,
+ MessageInfos: file_CreateMassiveEntityNotify_proto_msgTypes,
+ }.Build()
+ File_CreateMassiveEntityNotify_proto = out.File
+ file_CreateMassiveEntityNotify_proto_rawDesc = nil
+ file_CreateMassiveEntityNotify_proto_goTypes = nil
+ file_CreateMassiveEntityNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CreateMassiveEntityReq.pb.go b/protocol/proto/CreateMassiveEntityReq.pb.go
new file mode 100644
index 00000000..28bc022a
--- /dev/null
+++ b/protocol/proto/CreateMassiveEntityReq.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CreateMassiveEntityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 342
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CreateMassiveEntityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MassiveEntityList []*ClientMassiveEntity `protobuf:"bytes,1,rep,name=massive_entity_list,json=massiveEntityList,proto3" json:"massive_entity_list,omitempty"`
+}
+
+func (x *CreateMassiveEntityReq) Reset() {
+ *x = CreateMassiveEntityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CreateMassiveEntityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateMassiveEntityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateMassiveEntityReq) ProtoMessage() {}
+
+func (x *CreateMassiveEntityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CreateMassiveEntityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateMassiveEntityReq.ProtoReflect.Descriptor instead.
+func (*CreateMassiveEntityReq) Descriptor() ([]byte, []int) {
+ return file_CreateMassiveEntityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CreateMassiveEntityReq) GetMassiveEntityList() []*ClientMassiveEntity {
+ if x != nil {
+ return x.MassiveEntityList
+ }
+ return nil
+}
+
+var File_CreateMassiveEntityReq_proto protoreflect.FileDescriptor
+
+var file_CreateMassiveEntityReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73,
+ 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x64, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76,
+ 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12, 0x4a, 0x0a, 0x13, 0x6d, 0x61,
+ 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CreateMassiveEntityReq_proto_rawDescOnce sync.Once
+ file_CreateMassiveEntityReq_proto_rawDescData = file_CreateMassiveEntityReq_proto_rawDesc
+)
+
+func file_CreateMassiveEntityReq_proto_rawDescGZIP() []byte {
+ file_CreateMassiveEntityReq_proto_rawDescOnce.Do(func() {
+ file_CreateMassiveEntityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CreateMassiveEntityReq_proto_rawDescData)
+ })
+ return file_CreateMassiveEntityReq_proto_rawDescData
+}
+
+var file_CreateMassiveEntityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CreateMassiveEntityReq_proto_goTypes = []interface{}{
+ (*CreateMassiveEntityReq)(nil), // 0: proto.CreateMassiveEntityReq
+ (*ClientMassiveEntity)(nil), // 1: proto.ClientMassiveEntity
+}
+var file_CreateMassiveEntityReq_proto_depIdxs = []int32{
+ 1, // 0: proto.CreateMassiveEntityReq.massive_entity_list:type_name -> proto.ClientMassiveEntity
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CreateMassiveEntityReq_proto_init() }
+func file_CreateMassiveEntityReq_proto_init() {
+ if File_CreateMassiveEntityReq_proto != nil {
+ return
+ }
+ file_ClientMassiveEntity_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CreateMassiveEntityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateMassiveEntityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CreateMassiveEntityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CreateMassiveEntityReq_proto_goTypes,
+ DependencyIndexes: file_CreateMassiveEntityReq_proto_depIdxs,
+ MessageInfos: file_CreateMassiveEntityReq_proto_msgTypes,
+ }.Build()
+ File_CreateMassiveEntityReq_proto = out.File
+ file_CreateMassiveEntityReq_proto_rawDesc = nil
+ file_CreateMassiveEntityReq_proto_goTypes = nil
+ file_CreateMassiveEntityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CreateMassiveEntityRsp.pb.go b/protocol/proto/CreateMassiveEntityRsp.pb.go
new file mode 100644
index 00000000..fd5dc6b3
--- /dev/null
+++ b/protocol/proto/CreateMassiveEntityRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CreateMassiveEntityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 330
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CreateMassiveEntityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *CreateMassiveEntityRsp) Reset() {
+ *x = CreateMassiveEntityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CreateMassiveEntityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateMassiveEntityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateMassiveEntityRsp) ProtoMessage() {}
+
+func (x *CreateMassiveEntityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CreateMassiveEntityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateMassiveEntityRsp.ProtoReflect.Descriptor instead.
+func (*CreateMassiveEntityRsp) Descriptor() ([]byte, []int) {
+ return file_CreateMassiveEntityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CreateMassiveEntityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_CreateMassiveEntityRsp_proto protoreflect.FileDescriptor
+
+var file_CreateMassiveEntityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d,
+ 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CreateMassiveEntityRsp_proto_rawDescOnce sync.Once
+ file_CreateMassiveEntityRsp_proto_rawDescData = file_CreateMassiveEntityRsp_proto_rawDesc
+)
+
+func file_CreateMassiveEntityRsp_proto_rawDescGZIP() []byte {
+ file_CreateMassiveEntityRsp_proto_rawDescOnce.Do(func() {
+ file_CreateMassiveEntityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CreateMassiveEntityRsp_proto_rawDescData)
+ })
+ return file_CreateMassiveEntityRsp_proto_rawDescData
+}
+
+var file_CreateMassiveEntityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CreateMassiveEntityRsp_proto_goTypes = []interface{}{
+ (*CreateMassiveEntityRsp)(nil), // 0: proto.CreateMassiveEntityRsp
+}
+var file_CreateMassiveEntityRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CreateMassiveEntityRsp_proto_init() }
+func file_CreateMassiveEntityRsp_proto_init() {
+ if File_CreateMassiveEntityRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CreateMassiveEntityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateMassiveEntityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CreateMassiveEntityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CreateMassiveEntityRsp_proto_goTypes,
+ DependencyIndexes: file_CreateMassiveEntityRsp_proto_depIdxs,
+ MessageInfos: file_CreateMassiveEntityRsp_proto_msgTypes,
+ }.Build()
+ File_CreateMassiveEntityRsp_proto = out.File
+ file_CreateMassiveEntityRsp_proto_rawDesc = nil
+ file_CreateMassiveEntityRsp_proto_goTypes = nil
+ file_CreateMassiveEntityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CreateReason.pb.go b/protocol/proto/CreateReason.pb.go
new file mode 100644
index 00000000..c49a686f
--- /dev/null
+++ b/protocol/proto/CreateReason.pb.go
@@ -0,0 +1,149 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CreateReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CreateReason int32
+
+const (
+ CreateReason_CREATE_REASON_NONE CreateReason = 0
+ CreateReason_CREATE_REASON_QUEST CreateReason = 1
+ CreateReason_CREATE_REASON_ENERGY CreateReason = 2
+)
+
+// Enum value maps for CreateReason.
+var (
+ CreateReason_name = map[int32]string{
+ 0: "CREATE_REASON_NONE",
+ 1: "CREATE_REASON_QUEST",
+ 2: "CREATE_REASON_ENERGY",
+ }
+ CreateReason_value = map[string]int32{
+ "CREATE_REASON_NONE": 0,
+ "CREATE_REASON_QUEST": 1,
+ "CREATE_REASON_ENERGY": 2,
+ }
+)
+
+func (x CreateReason) Enum() *CreateReason {
+ p := new(CreateReason)
+ *p = x
+ return p
+}
+
+func (x CreateReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CreateReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_CreateReason_proto_enumTypes[0].Descriptor()
+}
+
+func (CreateReason) Type() protoreflect.EnumType {
+ return &file_CreateReason_proto_enumTypes[0]
+}
+
+func (x CreateReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CreateReason.Descriptor instead.
+func (CreateReason) EnumDescriptor() ([]byte, []int) {
+ return file_CreateReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CreateReason_proto protoreflect.FileDescriptor
+
+var file_CreateReason_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x59, 0x0a, 0x0c, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x43,
+ 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e,
+ 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14,
+ 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e,
+ 0x45, 0x52, 0x47, 0x59, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CreateReason_proto_rawDescOnce sync.Once
+ file_CreateReason_proto_rawDescData = file_CreateReason_proto_rawDesc
+)
+
+func file_CreateReason_proto_rawDescGZIP() []byte {
+ file_CreateReason_proto_rawDescOnce.Do(func() {
+ file_CreateReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_CreateReason_proto_rawDescData)
+ })
+ return file_CreateReason_proto_rawDescData
+}
+
+var file_CreateReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CreateReason_proto_goTypes = []interface{}{
+ (CreateReason)(0), // 0: proto.CreateReason
+}
+var file_CreateReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CreateReason_proto_init() }
+func file_CreateReason_proto_init() {
+ if File_CreateReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CreateReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CreateReason_proto_goTypes,
+ DependencyIndexes: file_CreateReason_proto_depIdxs,
+ EnumInfos: file_CreateReason_proto_enumTypes,
+ }.Build()
+ File_CreateReason_proto = out.File
+ file_CreateReason_proto_rawDesc = nil
+ file_CreateReason_proto_goTypes = nil
+ file_CreateReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CreateVehicleReq.pb.go b/protocol/proto/CreateVehicleReq.pb.go
new file mode 100644
index 00000000..e6e565e5
--- /dev/null
+++ b/protocol/proto/CreateVehicleReq.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CreateVehicleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 893
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CreateVehicleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,11,opt,name=pos,proto3" json:"pos,omitempty"`
+ VehicleId uint32 `protobuf:"varint,2,opt,name=vehicle_id,json=vehicleId,proto3" json:"vehicle_id,omitempty"`
+ ScenePointId uint32 `protobuf:"varint,7,opt,name=scene_point_id,json=scenePointId,proto3" json:"scene_point_id,omitempty"`
+ Rot *Vector `protobuf:"bytes,5,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *CreateVehicleReq) Reset() {
+ *x = CreateVehicleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CreateVehicleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateVehicleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateVehicleReq) ProtoMessage() {}
+
+func (x *CreateVehicleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CreateVehicleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateVehicleReq.ProtoReflect.Descriptor instead.
+func (*CreateVehicleReq) Descriptor() ([]byte, []int) {
+ return file_CreateVehicleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CreateVehicleReq) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *CreateVehicleReq) GetVehicleId() uint32 {
+ if x != nil {
+ return x.VehicleId
+ }
+ return 0
+}
+
+func (x *CreateVehicleReq) GetScenePointId() uint32 {
+ if x != nil {
+ return x.ScenePointId
+ }
+ return 0
+}
+
+func (x *CreateVehicleReq) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_CreateVehicleReq_proto protoreflect.FileDescriptor
+
+var file_CreateVehicleReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x01,
+ 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x52,
+ 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
+ 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CreateVehicleReq_proto_rawDescOnce sync.Once
+ file_CreateVehicleReq_proto_rawDescData = file_CreateVehicleReq_proto_rawDesc
+)
+
+func file_CreateVehicleReq_proto_rawDescGZIP() []byte {
+ file_CreateVehicleReq_proto_rawDescOnce.Do(func() {
+ file_CreateVehicleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CreateVehicleReq_proto_rawDescData)
+ })
+ return file_CreateVehicleReq_proto_rawDescData
+}
+
+var file_CreateVehicleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CreateVehicleReq_proto_goTypes = []interface{}{
+ (*CreateVehicleReq)(nil), // 0: proto.CreateVehicleReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_CreateVehicleReq_proto_depIdxs = []int32{
+ 1, // 0: proto.CreateVehicleReq.pos:type_name -> proto.Vector
+ 1, // 1: proto.CreateVehicleReq.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CreateVehicleReq_proto_init() }
+func file_CreateVehicleReq_proto_init() {
+ if File_CreateVehicleReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CreateVehicleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateVehicleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CreateVehicleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CreateVehicleReq_proto_goTypes,
+ DependencyIndexes: file_CreateVehicleReq_proto_depIdxs,
+ MessageInfos: file_CreateVehicleReq_proto_msgTypes,
+ }.Build()
+ File_CreateVehicleReq_proto = out.File
+ file_CreateVehicleReq_proto_rawDesc = nil
+ file_CreateVehicleReq_proto_goTypes = nil
+ file_CreateVehicleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CreateVehicleRsp.pb.go b/protocol/proto/CreateVehicleRsp.pb.go
new file mode 100644
index 00000000..2efcb338
--- /dev/null
+++ b/protocol/proto/CreateVehicleRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CreateVehicleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 827
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CreateVehicleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ VehicleId uint32 `protobuf:"varint,9,opt,name=vehicle_id,json=vehicleId,proto3" json:"vehicle_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *CreateVehicleRsp) Reset() {
+ *x = CreateVehicleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CreateVehicleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CreateVehicleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CreateVehicleRsp) ProtoMessage() {}
+
+func (x *CreateVehicleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CreateVehicleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CreateVehicleRsp.ProtoReflect.Descriptor instead.
+func (*CreateVehicleRsp) Descriptor() ([]byte, []int) {
+ return file_CreateVehicleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CreateVehicleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *CreateVehicleRsp) GetVehicleId() uint32 {
+ if x != nil {
+ return x.VehicleId
+ }
+ return 0
+}
+
+func (x *CreateVehicleRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_CreateVehicleRsp_proto protoreflect.FileDescriptor
+
+var file_CreateVehicleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x68, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CreateVehicleRsp_proto_rawDescOnce sync.Once
+ file_CreateVehicleRsp_proto_rawDescData = file_CreateVehicleRsp_proto_rawDesc
+)
+
+func file_CreateVehicleRsp_proto_rawDescGZIP() []byte {
+ file_CreateVehicleRsp_proto_rawDescOnce.Do(func() {
+ file_CreateVehicleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CreateVehicleRsp_proto_rawDescData)
+ })
+ return file_CreateVehicleRsp_proto_rawDescData
+}
+
+var file_CreateVehicleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CreateVehicleRsp_proto_goTypes = []interface{}{
+ (*CreateVehicleRsp)(nil), // 0: proto.CreateVehicleRsp
+}
+var file_CreateVehicleRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CreateVehicleRsp_proto_init() }
+func file_CreateVehicleRsp_proto_init() {
+ if File_CreateVehicleRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CreateVehicleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateVehicleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CreateVehicleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CreateVehicleRsp_proto_goTypes,
+ DependencyIndexes: file_CreateVehicleRsp_proto_depIdxs,
+ MessageInfos: file_CreateVehicleRsp_proto_msgTypes,
+ }.Build()
+ File_CreateVehicleRsp_proto = out.File
+ file_CreateVehicleRsp_proto_rawDesc = nil
+ file_CreateVehicleRsp_proto_goTypes = nil
+ file_CreateVehicleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrucibleActivityDetailInfo.pb.go b/protocol/proto/CrucibleActivityDetailInfo.pb.go
new file mode 100644
index 00000000..7b56e177
--- /dev/null
+++ b/protocol/proto/CrucibleActivityDetailInfo.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrucibleActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrucibleActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostTime uint32 `protobuf:"varint,5,opt,name=cost_time,json=costTime,proto3" json:"cost_time,omitempty"`
+ BattleWorldLevel uint32 `protobuf:"varint,12,opt,name=battle_world_level,json=battleWorldLevel,proto3" json:"battle_world_level,omitempty"`
+ UidInfoList []*CrucibleBattleUidInfo `protobuf:"bytes,3,rep,name=uid_info_list,json=uidInfoList,proto3" json:"uid_info_list,omitempty"`
+ Pos *Vector `protobuf:"bytes,9,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *CrucibleActivityDetailInfo) Reset() {
+ *x = CrucibleActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrucibleActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrucibleActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrucibleActivityDetailInfo) ProtoMessage() {}
+
+func (x *CrucibleActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrucibleActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrucibleActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*CrucibleActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_CrucibleActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrucibleActivityDetailInfo) GetCostTime() uint32 {
+ if x != nil {
+ return x.CostTime
+ }
+ return 0
+}
+
+func (x *CrucibleActivityDetailInfo) GetBattleWorldLevel() uint32 {
+ if x != nil {
+ return x.BattleWorldLevel
+ }
+ return 0
+}
+
+func (x *CrucibleActivityDetailInfo) GetUidInfoList() []*CrucibleBattleUidInfo {
+ if x != nil {
+ return x.UidInfoList
+ }
+ return nil
+}
+
+func (x *CrucibleActivityDetailInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_CrucibleActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_CrucibleActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x43, 0x72, 0x75, 0x63, 0x69,
+ 0x62, 0x6c, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c,
+ 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x62, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x40,
+ 0x0a, 0x0d, 0x75, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72,
+ 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x69, 0x64, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x75, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f,
+ 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrucibleActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_CrucibleActivityDetailInfo_proto_rawDescData = file_CrucibleActivityDetailInfo_proto_rawDesc
+)
+
+func file_CrucibleActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_CrucibleActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_CrucibleActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrucibleActivityDetailInfo_proto_rawDescData)
+ })
+ return file_CrucibleActivityDetailInfo_proto_rawDescData
+}
+
+var file_CrucibleActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrucibleActivityDetailInfo_proto_goTypes = []interface{}{
+ (*CrucibleActivityDetailInfo)(nil), // 0: proto.CrucibleActivityDetailInfo
+ (*CrucibleBattleUidInfo)(nil), // 1: proto.CrucibleBattleUidInfo
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_CrucibleActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CrucibleActivityDetailInfo.uid_info_list:type_name -> proto.CrucibleBattleUidInfo
+ 2, // 1: proto.CrucibleActivityDetailInfo.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CrucibleActivityDetailInfo_proto_init() }
+func file_CrucibleActivityDetailInfo_proto_init() {
+ if File_CrucibleActivityDetailInfo_proto != nil {
+ return
+ }
+ file_CrucibleBattleUidInfo_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CrucibleActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrucibleActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrucibleActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrucibleActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_CrucibleActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_CrucibleActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_CrucibleActivityDetailInfo_proto = out.File
+ file_CrucibleActivityDetailInfo_proto_rawDesc = nil
+ file_CrucibleActivityDetailInfo_proto_goTypes = nil
+ file_CrucibleActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrucibleBattleUidInfo.pb.go b/protocol/proto/CrucibleBattleUidInfo.pb.go
new file mode 100644
index 00000000..b7c18f5a
--- /dev/null
+++ b/protocol/proto/CrucibleBattleUidInfo.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrucibleBattleUidInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrucibleBattleUidInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProfilePicture *ProfilePicture `protobuf:"bytes,15,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ Uid uint32 `protobuf:"varint,4,opt,name=uid,proto3" json:"uid,omitempty"`
+ Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ OnlineId string `protobuf:"bytes,13,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ Icon uint32 `protobuf:"varint,11,opt,name=icon,proto3" json:"icon,omitempty"`
+}
+
+func (x *CrucibleBattleUidInfo) Reset() {
+ *x = CrucibleBattleUidInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrucibleBattleUidInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrucibleBattleUidInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrucibleBattleUidInfo) ProtoMessage() {}
+
+func (x *CrucibleBattleUidInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrucibleBattleUidInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrucibleBattleUidInfo.ProtoReflect.Descriptor instead.
+func (*CrucibleBattleUidInfo) Descriptor() ([]byte, []int) {
+ return file_CrucibleBattleUidInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrucibleBattleUidInfo) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *CrucibleBattleUidInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *CrucibleBattleUidInfo) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *CrucibleBattleUidInfo) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *CrucibleBattleUidInfo) GetIcon() uint32 {
+ if x != nil {
+ return x.Icon
+ }
+ return 0
+}
+
+var File_CrucibleBattleUidInfo_proto protoreflect.FileDescriptor
+
+var file_CrucibleBattleUidInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x55, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x15, 0x43,
+ 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x69, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
+ 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12,
+ 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x69,
+ 0x63, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrucibleBattleUidInfo_proto_rawDescOnce sync.Once
+ file_CrucibleBattleUidInfo_proto_rawDescData = file_CrucibleBattleUidInfo_proto_rawDesc
+)
+
+func file_CrucibleBattleUidInfo_proto_rawDescGZIP() []byte {
+ file_CrucibleBattleUidInfo_proto_rawDescOnce.Do(func() {
+ file_CrucibleBattleUidInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrucibleBattleUidInfo_proto_rawDescData)
+ })
+ return file_CrucibleBattleUidInfo_proto_rawDescData
+}
+
+var file_CrucibleBattleUidInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrucibleBattleUidInfo_proto_goTypes = []interface{}{
+ (*CrucibleBattleUidInfo)(nil), // 0: proto.CrucibleBattleUidInfo
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_CrucibleBattleUidInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CrucibleBattleUidInfo.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CrucibleBattleUidInfo_proto_init() }
+func file_CrucibleBattleUidInfo_proto_init() {
+ if File_CrucibleBattleUidInfo_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CrucibleBattleUidInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrucibleBattleUidInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrucibleBattleUidInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrucibleBattleUidInfo_proto_goTypes,
+ DependencyIndexes: file_CrucibleBattleUidInfo_proto_depIdxs,
+ MessageInfos: file_CrucibleBattleUidInfo_proto_msgTypes,
+ }.Build()
+ File_CrucibleBattleUidInfo_proto = out.File
+ file_CrucibleBattleUidInfo_proto_rawDesc = nil
+ file_CrucibleBattleUidInfo_proto_goTypes = nil
+ file_CrucibleBattleUidInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkActivityDetailInfo.pb.go b/protocol/proto/CrystalLinkActivityDetailInfo.pb.go
new file mode 100644
index 00000000..4c43c533
--- /dev/null
+++ b/protocol/proto/CrystalLinkActivityDetailInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrystalLinkActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelInfoList []*CrystalLinkLevelInfo `protobuf:"bytes,3,rep,name=level_info_list,json=levelInfoList,proto3" json:"level_info_list,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,7,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *CrystalLinkActivityDetailInfo) Reset() {
+ *x = CrystalLinkActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkActivityDetailInfo) ProtoMessage() {}
+
+func (x *CrystalLinkActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*CrystalLinkActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkActivityDetailInfo) GetLevelInfoList() []*CrystalLinkLevelInfo {
+ if x != nil {
+ return x.LevelInfoList
+ }
+ return nil
+}
+
+func (x *CrystalLinkActivityDetailInfo) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_CrystalLinkActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x72,
+ 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x79,
+ 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x79, 0x73,
+ 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
+ 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_CrystalLinkActivityDetailInfo_proto_rawDescData = file_CrystalLinkActivityDetailInfo_proto_rawDesc
+)
+
+func file_CrystalLinkActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_CrystalLinkActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkActivityDetailInfo_proto_rawDescData)
+ })
+ return file_CrystalLinkActivityDetailInfo_proto_rawDescData
+}
+
+var file_CrystalLinkActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkActivityDetailInfo_proto_goTypes = []interface{}{
+ (*CrystalLinkActivityDetailInfo)(nil), // 0: proto.CrystalLinkActivityDetailInfo
+ (*CrystalLinkLevelInfo)(nil), // 1: proto.CrystalLinkLevelInfo
+}
+var file_CrystalLinkActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CrystalLinkActivityDetailInfo.level_info_list:type_name -> proto.CrystalLinkLevelInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkActivityDetailInfo_proto_init() }
+func file_CrystalLinkActivityDetailInfo_proto_init() {
+ if File_CrystalLinkActivityDetailInfo_proto != nil {
+ return
+ }
+ file_CrystalLinkLevelInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_CrystalLinkActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkActivityDetailInfo_proto = out.File
+ file_CrystalLinkActivityDetailInfo_proto_rawDesc = nil
+ file_CrystalLinkActivityDetailInfo_proto_goTypes = nil
+ file_CrystalLinkActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkAvatarInfo.pb.go b/protocol/proto/CrystalLinkAvatarInfo.pb.go
new file mode 100644
index 00000000..19f82b40
--- /dev/null
+++ b/protocol/proto/CrystalLinkAvatarInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrystalLinkAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint64 `protobuf:"varint,3,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ IsTrial bool `protobuf:"varint,13,opt,name=is_trial,json=isTrial,proto3" json:"is_trial,omitempty"`
+}
+
+func (x *CrystalLinkAvatarInfo) Reset() {
+ *x = CrystalLinkAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkAvatarInfo) ProtoMessage() {}
+
+func (x *CrystalLinkAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkAvatarInfo.ProtoReflect.Descriptor instead.
+func (*CrystalLinkAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkAvatarInfo) GetAvatarId() uint64 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *CrystalLinkAvatarInfo) GetIsTrial() bool {
+ if x != nil {
+ return x.IsTrial
+ }
+ return false
+}
+
+var File_CrystalLinkAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x15, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c,
+ 0x69, 0x6e, 0x6b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a,
+ 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,
+ 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
+ 0x54, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkAvatarInfo_proto_rawDescOnce sync.Once
+ file_CrystalLinkAvatarInfo_proto_rawDescData = file_CrystalLinkAvatarInfo_proto_rawDesc
+)
+
+func file_CrystalLinkAvatarInfo_proto_rawDescGZIP() []byte {
+ file_CrystalLinkAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkAvatarInfo_proto_rawDescData)
+ })
+ return file_CrystalLinkAvatarInfo_proto_rawDescData
+}
+
+var file_CrystalLinkAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkAvatarInfo_proto_goTypes = []interface{}{
+ (*CrystalLinkAvatarInfo)(nil), // 0: proto.CrystalLinkAvatarInfo
+}
+var file_CrystalLinkAvatarInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkAvatarInfo_proto_init() }
+func file_CrystalLinkAvatarInfo_proto_init() {
+ if File_CrystalLinkAvatarInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkAvatarInfo_proto_depIdxs,
+ MessageInfos: file_CrystalLinkAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkAvatarInfo_proto = out.File
+ file_CrystalLinkAvatarInfo_proto_rawDesc = nil
+ file_CrystalLinkAvatarInfo_proto_goTypes = nil
+ file_CrystalLinkAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkBuffInfo.pb.go b/protocol/proto/CrystalLinkBuffInfo.pb.go
new file mode 100644
index 00000000..056638aa
--- /dev/null
+++ b/protocol/proto/CrystalLinkBuffInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkBuffInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrystalLinkBuffInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EffectBuffId uint32 `protobuf:"varint,1,opt,name=effect_buff_id,json=effectBuffId,proto3" json:"effect_buff_id,omitempty"`
+ CondBuffId uint32 `protobuf:"varint,10,opt,name=cond_buff_id,json=condBuffId,proto3" json:"cond_buff_id,omitempty"`
+}
+
+func (x *CrystalLinkBuffInfo) Reset() {
+ *x = CrystalLinkBuffInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkBuffInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkBuffInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkBuffInfo) ProtoMessage() {}
+
+func (x *CrystalLinkBuffInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkBuffInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkBuffInfo.ProtoReflect.Descriptor instead.
+func (*CrystalLinkBuffInfo) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkBuffInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkBuffInfo) GetEffectBuffId() uint32 {
+ if x != nil {
+ return x.EffectBuffId
+ }
+ return 0
+}
+
+func (x *CrystalLinkBuffInfo) GetCondBuffId() uint32 {
+ if x != nil {
+ return x.CondBuffId
+ }
+ return 0
+}
+
+var File_CrystalLinkBuffInfo_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkBuffInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x66,
+ 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x13, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e,
+ 0x6b, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x42, 0x75, 0x66, 0x66, 0x49, 0x64, 0x12,
+ 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x42, 0x75, 0x66, 0x66, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkBuffInfo_proto_rawDescOnce sync.Once
+ file_CrystalLinkBuffInfo_proto_rawDescData = file_CrystalLinkBuffInfo_proto_rawDesc
+)
+
+func file_CrystalLinkBuffInfo_proto_rawDescGZIP() []byte {
+ file_CrystalLinkBuffInfo_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkBuffInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkBuffInfo_proto_rawDescData)
+ })
+ return file_CrystalLinkBuffInfo_proto_rawDescData
+}
+
+var file_CrystalLinkBuffInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkBuffInfo_proto_goTypes = []interface{}{
+ (*CrystalLinkBuffInfo)(nil), // 0: proto.CrystalLinkBuffInfo
+}
+var file_CrystalLinkBuffInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkBuffInfo_proto_init() }
+func file_CrystalLinkBuffInfo_proto_init() {
+ if File_CrystalLinkBuffInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkBuffInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkBuffInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkBuffInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkBuffInfo_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkBuffInfo_proto_depIdxs,
+ MessageInfos: file_CrystalLinkBuffInfo_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkBuffInfo_proto = out.File
+ file_CrystalLinkBuffInfo_proto_rawDesc = nil
+ file_CrystalLinkBuffInfo_proto_goTypes = nil
+ file_CrystalLinkBuffInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkDungeonAvatarInfo.pb.go b/protocol/proto/CrystalLinkDungeonAvatarInfo.pb.go
new file mode 100644
index 00000000..9eb99b6f
--- /dev/null
+++ b/protocol/proto/CrystalLinkDungeonAvatarInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkDungeonAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrystalLinkDungeonAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsTrial bool `protobuf:"varint,8,opt,name=is_trial,json=isTrial,proto3" json:"is_trial,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,11,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *CrystalLinkDungeonAvatarInfo) Reset() {
+ *x = CrystalLinkDungeonAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkDungeonAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkDungeonAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkDungeonAvatarInfo) ProtoMessage() {}
+
+func (x *CrystalLinkDungeonAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkDungeonAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkDungeonAvatarInfo.ProtoReflect.Descriptor instead.
+func (*CrystalLinkDungeonAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkDungeonAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkDungeonAvatarInfo) GetIsTrial() bool {
+ if x != nil {
+ return x.IsTrial
+ }
+ return false
+}
+
+func (x *CrystalLinkDungeonAvatarInfo) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_CrystalLinkDungeonAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkDungeonAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x1c, 0x43,
+ 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x69,
+ 0x73, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69,
+ 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkDungeonAvatarInfo_proto_rawDescOnce sync.Once
+ file_CrystalLinkDungeonAvatarInfo_proto_rawDescData = file_CrystalLinkDungeonAvatarInfo_proto_rawDesc
+)
+
+func file_CrystalLinkDungeonAvatarInfo_proto_rawDescGZIP() []byte {
+ file_CrystalLinkDungeonAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkDungeonAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkDungeonAvatarInfo_proto_rawDescData)
+ })
+ return file_CrystalLinkDungeonAvatarInfo_proto_rawDescData
+}
+
+var file_CrystalLinkDungeonAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkDungeonAvatarInfo_proto_goTypes = []interface{}{
+ (*CrystalLinkDungeonAvatarInfo)(nil), // 0: proto.CrystalLinkDungeonAvatarInfo
+}
+var file_CrystalLinkDungeonAvatarInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkDungeonAvatarInfo_proto_init() }
+func file_CrystalLinkDungeonAvatarInfo_proto_init() {
+ if File_CrystalLinkDungeonAvatarInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkDungeonAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkDungeonAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkDungeonAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkDungeonAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkDungeonAvatarInfo_proto_depIdxs,
+ MessageInfos: file_CrystalLinkDungeonAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkDungeonAvatarInfo_proto = out.File
+ file_CrystalLinkDungeonAvatarInfo_proto_rawDesc = nil
+ file_CrystalLinkDungeonAvatarInfo_proto_goTypes = nil
+ file_CrystalLinkDungeonAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkDungeonInfoNotify.pb.go b/protocol/proto/CrystalLinkDungeonInfoNotify.pb.go
new file mode 100644
index 00000000..5b879e36
--- /dev/null
+++ b/protocol/proto/CrystalLinkDungeonInfoNotify.pb.go
@@ -0,0 +1,231 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkDungeonInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8858
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CrystalLinkDungeonInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuffInfoList []*CrystalLinkBuffInfo `protobuf:"bytes,8,rep,name=buff_info_list,json=buffInfoList,proto3" json:"buff_info_list,omitempty"`
+ LevelId uint32 `protobuf:"varint,1,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ IsUpperPart bool `protobuf:"varint,15,opt,name=is_upper_part,json=isUpperPart,proto3" json:"is_upper_part,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,11,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ DungeonAvatarInfoList []*CrystalLinkDungeonAvatarInfo `protobuf:"bytes,3,rep,name=dungeon_avatar_info_list,json=dungeonAvatarInfoList,proto3" json:"dungeon_avatar_info_list,omitempty"`
+ InitGalleryProgress uint32 `protobuf:"varint,7,opt,name=init_gallery_progress,json=initGalleryProgress,proto3" json:"init_gallery_progress,omitempty"`
+}
+
+func (x *CrystalLinkDungeonInfoNotify) Reset() {
+ *x = CrystalLinkDungeonInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkDungeonInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkDungeonInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkDungeonInfoNotify) ProtoMessage() {}
+
+func (x *CrystalLinkDungeonInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkDungeonInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkDungeonInfoNotify.ProtoReflect.Descriptor instead.
+func (*CrystalLinkDungeonInfoNotify) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkDungeonInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkDungeonInfoNotify) GetBuffInfoList() []*CrystalLinkBuffInfo {
+ if x != nil {
+ return x.BuffInfoList
+ }
+ return nil
+}
+
+func (x *CrystalLinkDungeonInfoNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *CrystalLinkDungeonInfoNotify) GetIsUpperPart() bool {
+ if x != nil {
+ return x.IsUpperPart
+ }
+ return false
+}
+
+func (x *CrystalLinkDungeonInfoNotify) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *CrystalLinkDungeonInfoNotify) GetDungeonAvatarInfoList() []*CrystalLinkDungeonAvatarInfo {
+ if x != nil {
+ return x.DungeonAvatarInfoList
+ }
+ return nil
+}
+
+func (x *CrystalLinkDungeonInfoNotify) GetInitGalleryProgress() uint32 {
+ if x != nil {
+ return x.InitGalleryProgress
+ }
+ return 0
+}
+
+var File_CrystalLinkDungeonInfoNotify_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkDungeonInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x72, 0x79,
+ 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c,
+ 0x69, 0x6e, 0x6b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x02, 0x0a, 0x1c, 0x43,
+ 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x40, 0x0a, 0x0e, 0x62,
+ 0x75, 0x66, 0x66, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x79, 0x73,
+ 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0c, 0x62, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a,
+ 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x75,
+ 0x70, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x55, 0x70, 0x70, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d,
+ 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x5c, 0x0a, 0x18, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x79, 0x73,
+ 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f,
+ 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13,
+ 0x69, 0x6e, 0x69, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkDungeonInfoNotify_proto_rawDescOnce sync.Once
+ file_CrystalLinkDungeonInfoNotify_proto_rawDescData = file_CrystalLinkDungeonInfoNotify_proto_rawDesc
+)
+
+func file_CrystalLinkDungeonInfoNotify_proto_rawDescGZIP() []byte {
+ file_CrystalLinkDungeonInfoNotify_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkDungeonInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkDungeonInfoNotify_proto_rawDescData)
+ })
+ return file_CrystalLinkDungeonInfoNotify_proto_rawDescData
+}
+
+var file_CrystalLinkDungeonInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkDungeonInfoNotify_proto_goTypes = []interface{}{
+ (*CrystalLinkDungeonInfoNotify)(nil), // 0: proto.CrystalLinkDungeonInfoNotify
+ (*CrystalLinkBuffInfo)(nil), // 1: proto.CrystalLinkBuffInfo
+ (*CrystalLinkDungeonAvatarInfo)(nil), // 2: proto.CrystalLinkDungeonAvatarInfo
+}
+var file_CrystalLinkDungeonInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CrystalLinkDungeonInfoNotify.buff_info_list:type_name -> proto.CrystalLinkBuffInfo
+ 2, // 1: proto.CrystalLinkDungeonInfoNotify.dungeon_avatar_info_list:type_name -> proto.CrystalLinkDungeonAvatarInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkDungeonInfoNotify_proto_init() }
+func file_CrystalLinkDungeonInfoNotify_proto_init() {
+ if File_CrystalLinkDungeonInfoNotify_proto != nil {
+ return
+ }
+ file_CrystalLinkBuffInfo_proto_init()
+ file_CrystalLinkDungeonAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkDungeonInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkDungeonInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkDungeonInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkDungeonInfoNotify_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkDungeonInfoNotify_proto_depIdxs,
+ MessageInfos: file_CrystalLinkDungeonInfoNotify_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkDungeonInfoNotify_proto = out.File
+ file_CrystalLinkDungeonInfoNotify_proto_rawDesc = nil
+ file_CrystalLinkDungeonInfoNotify_proto_goTypes = nil
+ file_CrystalLinkDungeonInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkEnterDungeonReq.pb.go b/protocol/proto/CrystalLinkEnterDungeonReq.pb.go
new file mode 100644
index 00000000..b69e6d7b
--- /dev/null
+++ b/protocol/proto/CrystalLinkEnterDungeonReq.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkEnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8325
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CrystalLinkEnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,7,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ TeamInfoList []*CrystalLinkTeamInfo `protobuf:"bytes,13,rep,name=team_info_list,json=teamInfoList,proto3" json:"team_info_list,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,10,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *CrystalLinkEnterDungeonReq) Reset() {
+ *x = CrystalLinkEnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkEnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkEnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkEnterDungeonReq) ProtoMessage() {}
+
+func (x *CrystalLinkEnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkEnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkEnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*CrystalLinkEnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkEnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkEnterDungeonReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *CrystalLinkEnterDungeonReq) GetTeamInfoList() []*CrystalLinkTeamInfo {
+ if x != nil {
+ return x.TeamInfoList
+ }
+ return nil
+}
+
+func (x *CrystalLinkEnterDungeonReq) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_CrystalLinkEnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkEnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x72, 0x79, 0x73, 0x74,
+ 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c,
+ 0x4c, 0x69, 0x6e, 0x6b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x40,
+ 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
+ 0x6c, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkEnterDungeonReq_proto_rawDescOnce sync.Once
+ file_CrystalLinkEnterDungeonReq_proto_rawDescData = file_CrystalLinkEnterDungeonReq_proto_rawDesc
+)
+
+func file_CrystalLinkEnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_CrystalLinkEnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkEnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkEnterDungeonReq_proto_rawDescData)
+ })
+ return file_CrystalLinkEnterDungeonReq_proto_rawDescData
+}
+
+var file_CrystalLinkEnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkEnterDungeonReq_proto_goTypes = []interface{}{
+ (*CrystalLinkEnterDungeonReq)(nil), // 0: proto.CrystalLinkEnterDungeonReq
+ (*CrystalLinkTeamInfo)(nil), // 1: proto.CrystalLinkTeamInfo
+}
+var file_CrystalLinkEnterDungeonReq_proto_depIdxs = []int32{
+ 1, // 0: proto.CrystalLinkEnterDungeonReq.team_info_list:type_name -> proto.CrystalLinkTeamInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkEnterDungeonReq_proto_init() }
+func file_CrystalLinkEnterDungeonReq_proto_init() {
+ if File_CrystalLinkEnterDungeonReq_proto != nil {
+ return
+ }
+ file_CrystalLinkTeamInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkEnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkEnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkEnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkEnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkEnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_CrystalLinkEnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkEnterDungeonReq_proto = out.File
+ file_CrystalLinkEnterDungeonReq_proto_rawDesc = nil
+ file_CrystalLinkEnterDungeonReq_proto_goTypes = nil
+ file_CrystalLinkEnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkEnterDungeonRsp.pb.go b/protocol/proto/CrystalLinkEnterDungeonRsp.pb.go
new file mode 100644
index 00000000..cec64627
--- /dev/null
+++ b/protocol/proto/CrystalLinkEnterDungeonRsp.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkEnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8147
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CrystalLinkEnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,1,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,14,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TeamInfoList []*CrystalLinkTeamInfo `protobuf:"bytes,8,rep,name=team_info_list,json=teamInfoList,proto3" json:"team_info_list,omitempty"`
+}
+
+func (x *CrystalLinkEnterDungeonRsp) Reset() {
+ *x = CrystalLinkEnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkEnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkEnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkEnterDungeonRsp) ProtoMessage() {}
+
+func (x *CrystalLinkEnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkEnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkEnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*CrystalLinkEnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkEnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkEnterDungeonRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *CrystalLinkEnterDungeonRsp) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *CrystalLinkEnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *CrystalLinkEnterDungeonRsp) GetTeamInfoList() []*CrystalLinkTeamInfo {
+ if x != nil {
+ return x.TeamInfoList
+ }
+ return nil
+}
+
+var File_CrystalLinkEnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkEnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x72, 0x79, 0x73, 0x74,
+ 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c,
+ 0x4c, 0x69, 0x6e, 0x6b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x23,
+ 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a,
+ 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72,
+ 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkEnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_CrystalLinkEnterDungeonRsp_proto_rawDescData = file_CrystalLinkEnterDungeonRsp_proto_rawDesc
+)
+
+func file_CrystalLinkEnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_CrystalLinkEnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkEnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkEnterDungeonRsp_proto_rawDescData)
+ })
+ return file_CrystalLinkEnterDungeonRsp_proto_rawDescData
+}
+
+var file_CrystalLinkEnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkEnterDungeonRsp_proto_goTypes = []interface{}{
+ (*CrystalLinkEnterDungeonRsp)(nil), // 0: proto.CrystalLinkEnterDungeonRsp
+ (*CrystalLinkTeamInfo)(nil), // 1: proto.CrystalLinkTeamInfo
+}
+var file_CrystalLinkEnterDungeonRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.CrystalLinkEnterDungeonRsp.team_info_list:type_name -> proto.CrystalLinkTeamInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkEnterDungeonRsp_proto_init() }
+func file_CrystalLinkEnterDungeonRsp_proto_init() {
+ if File_CrystalLinkEnterDungeonRsp_proto != nil {
+ return
+ }
+ file_CrystalLinkTeamInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkEnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkEnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkEnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkEnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkEnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_CrystalLinkEnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkEnterDungeonRsp_proto = out.File
+ file_CrystalLinkEnterDungeonRsp_proto_rawDesc = nil
+ file_CrystalLinkEnterDungeonRsp_proto_goTypes = nil
+ file_CrystalLinkEnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkLevelInfo.pb.go b/protocol/proto/CrystalLinkLevelInfo.pb.go
new file mode 100644
index 00000000..98d2308c
--- /dev/null
+++ b/protocol/proto/CrystalLinkLevelInfo.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkLevelInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrystalLinkLevelInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TeamInfoList []*CrystalLinkTeamInfo `protobuf:"bytes,10,rep,name=team_info_list,json=teamInfoList,proto3" json:"team_info_list,omitempty"`
+ IsOpen bool `protobuf:"varint,9,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ LevelId uint32 `protobuf:"varint,14,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ BestScore uint32 `protobuf:"varint,5,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+}
+
+func (x *CrystalLinkLevelInfo) Reset() {
+ *x = CrystalLinkLevelInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkLevelInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkLevelInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkLevelInfo) ProtoMessage() {}
+
+func (x *CrystalLinkLevelInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkLevelInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkLevelInfo.ProtoReflect.Descriptor instead.
+func (*CrystalLinkLevelInfo) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkLevelInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkLevelInfo) GetTeamInfoList() []*CrystalLinkTeamInfo {
+ if x != nil {
+ return x.TeamInfoList
+ }
+ return nil
+}
+
+func (x *CrystalLinkLevelInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *CrystalLinkLevelInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *CrystalLinkLevelInfo) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+var File_CrystalLinkLevelInfo_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkLevelInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b,
+ 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab,
+ 0x01, 0x0a, 0x14, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c,
+ 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x74, 0x65, 0x61,
+ 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkLevelInfo_proto_rawDescOnce sync.Once
+ file_CrystalLinkLevelInfo_proto_rawDescData = file_CrystalLinkLevelInfo_proto_rawDesc
+)
+
+func file_CrystalLinkLevelInfo_proto_rawDescGZIP() []byte {
+ file_CrystalLinkLevelInfo_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkLevelInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkLevelInfo_proto_rawDescData)
+ })
+ return file_CrystalLinkLevelInfo_proto_rawDescData
+}
+
+var file_CrystalLinkLevelInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkLevelInfo_proto_goTypes = []interface{}{
+ (*CrystalLinkLevelInfo)(nil), // 0: proto.CrystalLinkLevelInfo
+ (*CrystalLinkTeamInfo)(nil), // 1: proto.CrystalLinkTeamInfo
+}
+var file_CrystalLinkLevelInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CrystalLinkLevelInfo.team_info_list:type_name -> proto.CrystalLinkTeamInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkLevelInfo_proto_init() }
+func file_CrystalLinkLevelInfo_proto_init() {
+ if File_CrystalLinkLevelInfo_proto != nil {
+ return
+ }
+ file_CrystalLinkTeamInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkLevelInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkLevelInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkLevelInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkLevelInfo_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkLevelInfo_proto_depIdxs,
+ MessageInfos: file_CrystalLinkLevelInfo_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkLevelInfo_proto = out.File
+ file_CrystalLinkLevelInfo_proto_rawDesc = nil
+ file_CrystalLinkLevelInfo_proto_goTypes = nil
+ file_CrystalLinkLevelInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkRestartDungeonReq.pb.go b/protocol/proto/CrystalLinkRestartDungeonReq.pb.go
new file mode 100644
index 00000000..aeb59088
--- /dev/null
+++ b/protocol/proto/CrystalLinkRestartDungeonReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkRestartDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8022
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CrystalLinkRestartDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *CrystalLinkRestartDungeonReq) Reset() {
+ *x = CrystalLinkRestartDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkRestartDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkRestartDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkRestartDungeonReq) ProtoMessage() {}
+
+func (x *CrystalLinkRestartDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkRestartDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkRestartDungeonReq.ProtoReflect.Descriptor instead.
+func (*CrystalLinkRestartDungeonReq) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkRestartDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CrystalLinkRestartDungeonReq_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkRestartDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x43,
+ 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkRestartDungeonReq_proto_rawDescOnce sync.Once
+ file_CrystalLinkRestartDungeonReq_proto_rawDescData = file_CrystalLinkRestartDungeonReq_proto_rawDesc
+)
+
+func file_CrystalLinkRestartDungeonReq_proto_rawDescGZIP() []byte {
+ file_CrystalLinkRestartDungeonReq_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkRestartDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkRestartDungeonReq_proto_rawDescData)
+ })
+ return file_CrystalLinkRestartDungeonReq_proto_rawDescData
+}
+
+var file_CrystalLinkRestartDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkRestartDungeonReq_proto_goTypes = []interface{}{
+ (*CrystalLinkRestartDungeonReq)(nil), // 0: proto.CrystalLinkRestartDungeonReq
+}
+var file_CrystalLinkRestartDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkRestartDungeonReq_proto_init() }
+func file_CrystalLinkRestartDungeonReq_proto_init() {
+ if File_CrystalLinkRestartDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkRestartDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkRestartDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkRestartDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkRestartDungeonReq_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkRestartDungeonReq_proto_depIdxs,
+ MessageInfos: file_CrystalLinkRestartDungeonReq_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkRestartDungeonReq_proto = out.File
+ file_CrystalLinkRestartDungeonReq_proto_rawDesc = nil
+ file_CrystalLinkRestartDungeonReq_proto_goTypes = nil
+ file_CrystalLinkRestartDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkRestartDungeonRsp.pb.go b/protocol/proto/CrystalLinkRestartDungeonRsp.pb.go
new file mode 100644
index 00000000..c2d87c21
--- /dev/null
+++ b/protocol/proto/CrystalLinkRestartDungeonRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkRestartDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8119
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CrystalLinkRestartDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *CrystalLinkRestartDungeonRsp) Reset() {
+ *x = CrystalLinkRestartDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkRestartDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkRestartDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkRestartDungeonRsp) ProtoMessage() {}
+
+func (x *CrystalLinkRestartDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkRestartDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkRestartDungeonRsp.ProtoReflect.Descriptor instead.
+func (*CrystalLinkRestartDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkRestartDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkRestartDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_CrystalLinkRestartDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkRestartDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1c, 0x43,
+ 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkRestartDungeonRsp_proto_rawDescOnce sync.Once
+ file_CrystalLinkRestartDungeonRsp_proto_rawDescData = file_CrystalLinkRestartDungeonRsp_proto_rawDesc
+)
+
+func file_CrystalLinkRestartDungeonRsp_proto_rawDescGZIP() []byte {
+ file_CrystalLinkRestartDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkRestartDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkRestartDungeonRsp_proto_rawDescData)
+ })
+ return file_CrystalLinkRestartDungeonRsp_proto_rawDescData
+}
+
+var file_CrystalLinkRestartDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkRestartDungeonRsp_proto_goTypes = []interface{}{
+ (*CrystalLinkRestartDungeonRsp)(nil), // 0: proto.CrystalLinkRestartDungeonRsp
+}
+var file_CrystalLinkRestartDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkRestartDungeonRsp_proto_init() }
+func file_CrystalLinkRestartDungeonRsp_proto_init() {
+ if File_CrystalLinkRestartDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkRestartDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkRestartDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkRestartDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkRestartDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkRestartDungeonRsp_proto_depIdxs,
+ MessageInfos: file_CrystalLinkRestartDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkRestartDungeonRsp_proto = out.File
+ file_CrystalLinkRestartDungeonRsp_proto_rawDesc = nil
+ file_CrystalLinkRestartDungeonRsp_proto_goTypes = nil
+ file_CrystalLinkRestartDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkSettleInfo.pb.go b/protocol/proto/CrystalLinkSettleInfo.pb.go
new file mode 100644
index 00000000..5cff9bba
--- /dev/null
+++ b/protocol/proto/CrystalLinkSettleInfo.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrystalLinkSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ KillEliteMonsterNum uint32 `protobuf:"varint,2,opt,name=kill_elite_monster_num,json=killEliteMonsterNum,proto3" json:"kill_elite_monster_num,omitempty"`
+ FinalScore uint32 `protobuf:"varint,6,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+ LevelId uint32 `protobuf:"varint,12,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ IsNewRecord bool `protobuf:"varint,13,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,9,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ KillNormalMosnterNum uint32 `protobuf:"varint,3,opt,name=kill_normal_mosnter_num,json=killNormalMosnterNum,proto3" json:"kill_normal_mosnter_num,omitempty"`
+}
+
+func (x *CrystalLinkSettleInfo) Reset() {
+ *x = CrystalLinkSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkSettleInfo) ProtoMessage() {}
+
+func (x *CrystalLinkSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkSettleInfo.ProtoReflect.Descriptor instead.
+func (*CrystalLinkSettleInfo) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkSettleInfo) GetKillEliteMonsterNum() uint32 {
+ if x != nil {
+ return x.KillEliteMonsterNum
+ }
+ return 0
+}
+
+func (x *CrystalLinkSettleInfo) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+func (x *CrystalLinkSettleInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *CrystalLinkSettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *CrystalLinkSettleInfo) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *CrystalLinkSettleInfo) GetKillNormalMosnterNum() uint32 {
+ if x != nil {
+ return x.KillNormalMosnterNum
+ }
+ return 0
+}
+
+var File_CrystalLinkSettleInfo_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x02, 0x0a, 0x15, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c,
+ 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33,
+ 0x0a, 0x16, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6c, 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x4e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12,
+ 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x73, 0x6e, 0x74, 0x65, 0x72, 0x5f,
+ 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6b, 0x69, 0x6c, 0x6c, 0x4e,
+ 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x6f, 0x73, 0x6e, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkSettleInfo_proto_rawDescOnce sync.Once
+ file_CrystalLinkSettleInfo_proto_rawDescData = file_CrystalLinkSettleInfo_proto_rawDesc
+)
+
+func file_CrystalLinkSettleInfo_proto_rawDescGZIP() []byte {
+ file_CrystalLinkSettleInfo_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkSettleInfo_proto_rawDescData)
+ })
+ return file_CrystalLinkSettleInfo_proto_rawDescData
+}
+
+var file_CrystalLinkSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkSettleInfo_proto_goTypes = []interface{}{
+ (*CrystalLinkSettleInfo)(nil), // 0: proto.CrystalLinkSettleInfo
+}
+var file_CrystalLinkSettleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkSettleInfo_proto_init() }
+func file_CrystalLinkSettleInfo_proto_init() {
+ if File_CrystalLinkSettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkSettleInfo_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkSettleInfo_proto_depIdxs,
+ MessageInfos: file_CrystalLinkSettleInfo_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkSettleInfo_proto = out.File
+ file_CrystalLinkSettleInfo_proto_rawDesc = nil
+ file_CrystalLinkSettleInfo_proto_goTypes = nil
+ file_CrystalLinkSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CrystalLinkTeamInfo.pb.go b/protocol/proto/CrystalLinkTeamInfo.pb.go
new file mode 100644
index 00000000..462f3745
--- /dev/null
+++ b/protocol/proto/CrystalLinkTeamInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CrystalLinkTeamInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CrystalLinkTeamInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuffInfoList []*CrystalLinkBuffInfo `protobuf:"bytes,2,rep,name=buff_info_list,json=buffInfoList,proto3" json:"buff_info_list,omitempty"`
+ AvatarInfoList []*CrystalLinkAvatarInfo `protobuf:"bytes,11,rep,name=avatar_info_list,json=avatarInfoList,proto3" json:"avatar_info_list,omitempty"`
+}
+
+func (x *CrystalLinkTeamInfo) Reset() {
+ *x = CrystalLinkTeamInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CrystalLinkTeamInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CrystalLinkTeamInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CrystalLinkTeamInfo) ProtoMessage() {}
+
+func (x *CrystalLinkTeamInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CrystalLinkTeamInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CrystalLinkTeamInfo.ProtoReflect.Descriptor instead.
+func (*CrystalLinkTeamInfo) Descriptor() ([]byte, []int) {
+ return file_CrystalLinkTeamInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CrystalLinkTeamInfo) GetBuffInfoList() []*CrystalLinkBuffInfo {
+ if x != nil {
+ return x.BuffInfoList
+ }
+ return nil
+}
+
+func (x *CrystalLinkTeamInfo) GetAvatarInfoList() []*CrystalLinkAvatarInfo {
+ if x != nil {
+ return x.AvatarInfoList
+ }
+ return nil
+}
+
+var File_CrystalLinkTeamInfo_proto protoreflect.FileDescriptor
+
+var file_CrystalLinkTeamInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x61,
+ 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1b, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x19, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x66, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x43,
+ 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75,
+ 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x62, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69,
+ 0x6e, 0x6b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CrystalLinkTeamInfo_proto_rawDescOnce sync.Once
+ file_CrystalLinkTeamInfo_proto_rawDescData = file_CrystalLinkTeamInfo_proto_rawDesc
+)
+
+func file_CrystalLinkTeamInfo_proto_rawDescGZIP() []byte {
+ file_CrystalLinkTeamInfo_proto_rawDescOnce.Do(func() {
+ file_CrystalLinkTeamInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CrystalLinkTeamInfo_proto_rawDescData)
+ })
+ return file_CrystalLinkTeamInfo_proto_rawDescData
+}
+
+var file_CrystalLinkTeamInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CrystalLinkTeamInfo_proto_goTypes = []interface{}{
+ (*CrystalLinkTeamInfo)(nil), // 0: proto.CrystalLinkTeamInfo
+ (*CrystalLinkBuffInfo)(nil), // 1: proto.CrystalLinkBuffInfo
+ (*CrystalLinkAvatarInfo)(nil), // 2: proto.CrystalLinkAvatarInfo
+}
+var file_CrystalLinkTeamInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CrystalLinkTeamInfo.buff_info_list:type_name -> proto.CrystalLinkBuffInfo
+ 2, // 1: proto.CrystalLinkTeamInfo.avatar_info_list:type_name -> proto.CrystalLinkAvatarInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CrystalLinkTeamInfo_proto_init() }
+func file_CrystalLinkTeamInfo_proto_init() {
+ if File_CrystalLinkTeamInfo_proto != nil {
+ return
+ }
+ file_CrystalLinkAvatarInfo_proto_init()
+ file_CrystalLinkBuffInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CrystalLinkTeamInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CrystalLinkTeamInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CrystalLinkTeamInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CrystalLinkTeamInfo_proto_goTypes,
+ DependencyIndexes: file_CrystalLinkTeamInfo_proto_depIdxs,
+ MessageInfos: file_CrystalLinkTeamInfo_proto_msgTypes,
+ }.Build()
+ File_CrystalLinkTeamInfo_proto = out.File
+ file_CrystalLinkTeamInfo_proto_rawDesc = nil
+ file_CrystalLinkTeamInfo_proto_goTypes = nil
+ file_CrystalLinkTeamInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CurVehicleInfo.pb.go b/protocol/proto/CurVehicleInfo.pb.go
new file mode 100644
index 00000000..3434b4af
--- /dev/null
+++ b/protocol/proto/CurVehicleInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CurVehicleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CurVehicleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Pos uint32 `protobuf:"varint,2,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *CurVehicleInfo) Reset() {
+ *x = CurVehicleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CurVehicleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CurVehicleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CurVehicleInfo) ProtoMessage() {}
+
+func (x *CurVehicleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CurVehicleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CurVehicleInfo.ProtoReflect.Descriptor instead.
+func (*CurVehicleInfo) Descriptor() ([]byte, []int) {
+ return file_CurVehicleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CurVehicleInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *CurVehicleInfo) GetPos() uint32 {
+ if x != nil {
+ return x.Pos
+ }
+ return 0
+}
+
+var File_CurVehicleInfo_proto protoreflect.FileDescriptor
+
+var file_CurVehicleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x43, 0x75, 0x72, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a,
+ 0x0e, 0x43, 0x75, 0x72, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03,
+ 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CurVehicleInfo_proto_rawDescOnce sync.Once
+ file_CurVehicleInfo_proto_rawDescData = file_CurVehicleInfo_proto_rawDesc
+)
+
+func file_CurVehicleInfo_proto_rawDescGZIP() []byte {
+ file_CurVehicleInfo_proto_rawDescOnce.Do(func() {
+ file_CurVehicleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CurVehicleInfo_proto_rawDescData)
+ })
+ return file_CurVehicleInfo_proto_rawDescData
+}
+
+var file_CurVehicleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CurVehicleInfo_proto_goTypes = []interface{}{
+ (*CurVehicleInfo)(nil), // 0: proto.CurVehicleInfo
+}
+var file_CurVehicleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CurVehicleInfo_proto_init() }
+func file_CurVehicleInfo_proto_init() {
+ if File_CurVehicleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CurVehicleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CurVehicleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CurVehicleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CurVehicleInfo_proto_goTypes,
+ DependencyIndexes: file_CurVehicleInfo_proto_depIdxs,
+ MessageInfos: file_CurVehicleInfo_proto_msgTypes,
+ }.Build()
+ File_CurVehicleInfo_proto = out.File
+ file_CurVehicleInfo_proto_rawDesc = nil
+ file_CurVehicleInfo_proto_goTypes = nil
+ file_CurVehicleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomCommonNodeInfo.pb.go b/protocol/proto/CustomCommonNodeInfo.pb.go
new file mode 100644
index 00000000..cdd06ae6
--- /dev/null
+++ b/protocol/proto/CustomCommonNodeInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomCommonNodeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomCommonNodeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentIndex int32 `protobuf:"varint,1,opt,name=parent_index,json=parentIndex,proto3" json:"parent_index,omitempty"`
+ ConfigId uint32 `protobuf:"varint,2,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ SlotIdentifier string `protobuf:"bytes,3,opt,name=slot_identifier,json=slotIdentifier,proto3" json:"slot_identifier,omitempty"`
+}
+
+func (x *CustomCommonNodeInfo) Reset() {
+ *x = CustomCommonNodeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomCommonNodeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomCommonNodeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomCommonNodeInfo) ProtoMessage() {}
+
+func (x *CustomCommonNodeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomCommonNodeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomCommonNodeInfo.ProtoReflect.Descriptor instead.
+func (*CustomCommonNodeInfo) Descriptor() ([]byte, []int) {
+ return file_CustomCommonNodeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomCommonNodeInfo) GetParentIndex() int32 {
+ if x != nil {
+ return x.ParentIndex
+ }
+ return 0
+}
+
+func (x *CustomCommonNodeInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *CustomCommonNodeInfo) GetSlotIdentifier() string {
+ if x != nil {
+ return x.SlotIdentifier
+ }
+ return ""
+}
+
+var File_CustomCommonNodeInfo_proto protoreflect.FileDescriptor
+
+var file_CustomCommonNodeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f,
+ 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x14, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6d,
+ 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x70,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73,
+ 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
+ 0x66, 0x69, 0x65, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomCommonNodeInfo_proto_rawDescOnce sync.Once
+ file_CustomCommonNodeInfo_proto_rawDescData = file_CustomCommonNodeInfo_proto_rawDesc
+)
+
+func file_CustomCommonNodeInfo_proto_rawDescGZIP() []byte {
+ file_CustomCommonNodeInfo_proto_rawDescOnce.Do(func() {
+ file_CustomCommonNodeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomCommonNodeInfo_proto_rawDescData)
+ })
+ return file_CustomCommonNodeInfo_proto_rawDescData
+}
+
+var file_CustomCommonNodeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomCommonNodeInfo_proto_goTypes = []interface{}{
+ (*CustomCommonNodeInfo)(nil), // 0: proto.CustomCommonNodeInfo
+}
+var file_CustomCommonNodeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomCommonNodeInfo_proto_init() }
+func file_CustomCommonNodeInfo_proto_init() {
+ if File_CustomCommonNodeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomCommonNodeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomCommonNodeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomCommonNodeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomCommonNodeInfo_proto_goTypes,
+ DependencyIndexes: file_CustomCommonNodeInfo_proto_depIdxs,
+ MessageInfos: file_CustomCommonNodeInfo_proto_msgTypes,
+ }.Build()
+ File_CustomCommonNodeInfo_proto = out.File
+ file_CustomCommonNodeInfo_proto_rawDesc = nil
+ file_CustomCommonNodeInfo_proto_goTypes = nil
+ file_CustomCommonNodeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeon.pb.go b/protocol/proto/CustomDungeon.pb.go
new file mode 100644
index 00000000..d030cbec
--- /dev/null
+++ b/protocol/proto/CustomDungeon.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeon.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeon struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Setting *CustomDungeonSetting `protobuf:"bytes,1,opt,name=setting,proto3" json:"setting,omitempty"`
+ RoomList []*CustomDungeonRoom `protobuf:"bytes,15,rep,name=room_list,json=roomList,proto3" json:"room_list,omitempty"`
+ DungeonId uint32 `protobuf:"varint,3,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,10,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+}
+
+func (x *CustomDungeon) Reset() {
+ *x = CustomDungeon{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeon_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeon) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeon) ProtoMessage() {}
+
+func (x *CustomDungeon) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeon_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeon.ProtoReflect.Descriptor instead.
+func (*CustomDungeon) Descriptor() ([]byte, []int) {
+ return file_CustomDungeon_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeon) GetSetting() *CustomDungeonSetting {
+ if x != nil {
+ return x.Setting
+ }
+ return nil
+}
+
+func (x *CustomDungeon) GetRoomList() []*CustomDungeonRoom {
+ if x != nil {
+ return x.RoomList
+ }
+ return nil
+}
+
+func (x *CustomDungeon) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *CustomDungeon) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+var File_CustomDungeon_proto protoreflect.FileDescriptor
+
+var file_CustomDungeon_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x0d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x6f,
+ 0x6f, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64,
+ 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47,
+ 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeon_proto_rawDescOnce sync.Once
+ file_CustomDungeon_proto_rawDescData = file_CustomDungeon_proto_rawDesc
+)
+
+func file_CustomDungeon_proto_rawDescGZIP() []byte {
+ file_CustomDungeon_proto_rawDescOnce.Do(func() {
+ file_CustomDungeon_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeon_proto_rawDescData)
+ })
+ return file_CustomDungeon_proto_rawDescData
+}
+
+var file_CustomDungeon_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeon_proto_goTypes = []interface{}{
+ (*CustomDungeon)(nil), // 0: proto.CustomDungeon
+ (*CustomDungeonSetting)(nil), // 1: proto.CustomDungeonSetting
+ (*CustomDungeonRoom)(nil), // 2: proto.CustomDungeonRoom
+}
+var file_CustomDungeon_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeon.setting:type_name -> proto.CustomDungeonSetting
+ 2, // 1: proto.CustomDungeon.room_list:type_name -> proto.CustomDungeonRoom
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeon_proto_init() }
+func file_CustomDungeon_proto_init() {
+ if File_CustomDungeon_proto != nil {
+ return
+ }
+ file_CustomDungeonRoom_proto_init()
+ file_CustomDungeonSetting_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeon_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeon); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeon_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeon_proto_goTypes,
+ DependencyIndexes: file_CustomDungeon_proto_depIdxs,
+ MessageInfos: file_CustomDungeon_proto_msgTypes,
+ }.Build()
+ File_CustomDungeon_proto = out.File
+ file_CustomDungeon_proto_rawDesc = nil
+ file_CustomDungeon_proto_goTypes = nil
+ file_CustomDungeon_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonAbstract.pb.go b/protocol/proto/CustomDungeonAbstract.pb.go
new file mode 100644
index 00000000..12148683
--- /dev/null
+++ b/protocol/proto/CustomDungeonAbstract.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonAbstract.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonAbstract struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BrickStatisticsMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=brick_statistics_map,json=brickStatisticsMap,proto3" json:"brick_statistics_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ FirstPublishTime uint32 `protobuf:"varint,3,opt,name=first_publish_time,json=firstPublishTime,proto3" json:"first_publish_time,omitempty"`
+ TotalCoinNum uint32 `protobuf:"varint,15,opt,name=total_coin_num,json=totalCoinNum,proto3" json:"total_coin_num,omitempty"`
+ LastPublishTime uint32 `protobuf:"varint,6,opt,name=last_publish_time,json=lastPublishTime,proto3" json:"last_publish_time,omitempty"`
+ FinishRoomId uint32 `protobuf:"varint,7,opt,name=finish_room_id,json=finishRoomId,proto3" json:"finish_room_id,omitempty"`
+}
+
+func (x *CustomDungeonAbstract) Reset() {
+ *x = CustomDungeonAbstract{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonAbstract_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonAbstract) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonAbstract) ProtoMessage() {}
+
+func (x *CustomDungeonAbstract) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonAbstract_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonAbstract.ProtoReflect.Descriptor instead.
+func (*CustomDungeonAbstract) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonAbstract_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonAbstract) GetBrickStatisticsMap() map[uint32]uint32 {
+ if x != nil {
+ return x.BrickStatisticsMap
+ }
+ return nil
+}
+
+func (x *CustomDungeonAbstract) GetFirstPublishTime() uint32 {
+ if x != nil {
+ return x.FirstPublishTime
+ }
+ return 0
+}
+
+func (x *CustomDungeonAbstract) GetTotalCoinNum() uint32 {
+ if x != nil {
+ return x.TotalCoinNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonAbstract) GetLastPublishTime() uint32 {
+ if x != nil {
+ return x.LastPublishTime
+ }
+ return 0
+}
+
+func (x *CustomDungeonAbstract) GetFinishRoomId() uint32 {
+ if x != nil {
+ return x.FinishRoomId
+ }
+ return 0
+}
+
+var File_CustomDungeonAbstract_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonAbstract_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41,
+ 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x02, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x66,
+ 0x0a, 0x14, 0x62, 0x72, 0x69, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69,
+ 0x63, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x42, 0x72, 0x69, 0x63, 0x6b,
+ 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x12, 0x62, 0x72, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
+ 0x69, 0x63, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f,
+ 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f,
+ 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69,
+ 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x1a, 0x45, 0x0a, 0x17,
+ 0x42, 0x72, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonAbstract_proto_rawDescOnce sync.Once
+ file_CustomDungeonAbstract_proto_rawDescData = file_CustomDungeonAbstract_proto_rawDesc
+)
+
+func file_CustomDungeonAbstract_proto_rawDescGZIP() []byte {
+ file_CustomDungeonAbstract_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonAbstract_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonAbstract_proto_rawDescData)
+ })
+ return file_CustomDungeonAbstract_proto_rawDescData
+}
+
+var file_CustomDungeonAbstract_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_CustomDungeonAbstract_proto_goTypes = []interface{}{
+ (*CustomDungeonAbstract)(nil), // 0: proto.CustomDungeonAbstract
+ nil, // 1: proto.CustomDungeonAbstract.BrickStatisticsMapEntry
+}
+var file_CustomDungeonAbstract_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonAbstract.brick_statistics_map:type_name -> proto.CustomDungeonAbstract.BrickStatisticsMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonAbstract_proto_init() }
+func file_CustomDungeonAbstract_proto_init() {
+ if File_CustomDungeonAbstract_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonAbstract_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonAbstract); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonAbstract_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonAbstract_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonAbstract_proto_depIdxs,
+ MessageInfos: file_CustomDungeonAbstract_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonAbstract_proto = out.File
+ file_CustomDungeonAbstract_proto_rawDesc = nil
+ file_CustomDungeonAbstract_proto_goTypes = nil
+ file_CustomDungeonAbstract_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonAbstractMuipData.pb.go b/protocol/proto/CustomDungeonAbstractMuipData.pb.go
new file mode 100644
index 00000000..331d9c56
--- /dev/null
+++ b/protocol/proto/CustomDungeonAbstractMuipData.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonAbstractMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonAbstractMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FirstPublishTime uint32 `protobuf:"varint,1,opt,name=first_publish_time,json=firstPublishTime,proto3" json:"first_publish_time,omitempty"`
+ LastPublishTime uint32 `protobuf:"varint,2,opt,name=last_publish_time,json=lastPublishTime,proto3" json:"last_publish_time,omitempty"`
+ BrickStatisticsMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=brick_statistics_map,json=brickStatisticsMap,proto3" json:"brick_statistics_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *CustomDungeonAbstractMuipData) Reset() {
+ *x = CustomDungeonAbstractMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonAbstractMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonAbstractMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonAbstractMuipData) ProtoMessage() {}
+
+func (x *CustomDungeonAbstractMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonAbstractMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonAbstractMuipData.ProtoReflect.Descriptor instead.
+func (*CustomDungeonAbstractMuipData) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonAbstractMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonAbstractMuipData) GetFirstPublishTime() uint32 {
+ if x != nil {
+ return x.FirstPublishTime
+ }
+ return 0
+}
+
+func (x *CustomDungeonAbstractMuipData) GetLastPublishTime() uint32 {
+ if x != nil {
+ return x.LastPublishTime
+ }
+ return 0
+}
+
+func (x *CustomDungeonAbstractMuipData) GetBrickStatisticsMap() map[uint32]uint32 {
+ if x != nil {
+ return x.BrickStatisticsMap
+ }
+ return nil
+}
+
+var File_CustomDungeonAbstractMuipData_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonAbstractMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41,
+ 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x02, 0x0a,
+ 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x62,
+ 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c,
+ 0x0a, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73,
+ 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x75, 0x62,
+ 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x6e, 0x0a, 0x14, 0x62, 0x72, 0x69, 0x63,
+ 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x62, 0x73, 0x74,
+ 0x72, 0x61, 0x63, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x42, 0x72, 0x69,
+ 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x62, 0x72, 0x69, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69,
+ 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x70, 0x1a, 0x45, 0x0a, 0x17, 0x42, 0x72, 0x69, 0x63,
+ 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonAbstractMuipData_proto_rawDescOnce sync.Once
+ file_CustomDungeonAbstractMuipData_proto_rawDescData = file_CustomDungeonAbstractMuipData_proto_rawDesc
+)
+
+func file_CustomDungeonAbstractMuipData_proto_rawDescGZIP() []byte {
+ file_CustomDungeonAbstractMuipData_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonAbstractMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonAbstractMuipData_proto_rawDescData)
+ })
+ return file_CustomDungeonAbstractMuipData_proto_rawDescData
+}
+
+var file_CustomDungeonAbstractMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_CustomDungeonAbstractMuipData_proto_goTypes = []interface{}{
+ (*CustomDungeonAbstractMuipData)(nil), // 0: proto.CustomDungeonAbstractMuipData
+ nil, // 1: proto.CustomDungeonAbstractMuipData.BrickStatisticsMapEntry
+}
+var file_CustomDungeonAbstractMuipData_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonAbstractMuipData.brick_statistics_map:type_name -> proto.CustomDungeonAbstractMuipData.BrickStatisticsMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonAbstractMuipData_proto_init() }
+func file_CustomDungeonAbstractMuipData_proto_init() {
+ if File_CustomDungeonAbstractMuipData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonAbstractMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonAbstractMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonAbstractMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonAbstractMuipData_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonAbstractMuipData_proto_depIdxs,
+ MessageInfos: file_CustomDungeonAbstractMuipData_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonAbstractMuipData_proto = out.File
+ file_CustomDungeonAbstractMuipData_proto_rawDesc = nil
+ file_CustomDungeonAbstractMuipData_proto_goTypes = nil
+ file_CustomDungeonAbstractMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonBanInfo.pb.go b/protocol/proto/CustomDungeonBanInfo.pb.go
new file mode 100644
index 00000000..45b5d471
--- /dev/null
+++ b/protocol/proto/CustomDungeonBanInfo.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonBanInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonBanInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BanType CustomDungeonBanType `protobuf:"varint,11,opt,name=ban_type,json=banType,proto3,enum=proto.CustomDungeonBanType" json:"ban_type,omitempty"`
+ ExpireTime uint32 `protobuf:"varint,6,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,5,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+}
+
+func (x *CustomDungeonBanInfo) Reset() {
+ *x = CustomDungeonBanInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonBanInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonBanInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonBanInfo) ProtoMessage() {}
+
+func (x *CustomDungeonBanInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonBanInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonBanInfo.ProtoReflect.Descriptor instead.
+func (*CustomDungeonBanInfo) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonBanInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonBanInfo) GetBanType() CustomDungeonBanType {
+ if x != nil {
+ return x.BanType
+ }
+ return CustomDungeonBanType_CUSTOM_DUNGEON_BAN_TYPE_NONE
+}
+
+func (x *CustomDungeonBanInfo) GetExpireTime() uint32 {
+ if x != nil {
+ return x.ExpireTime
+ }
+ return 0
+}
+
+func (x *CustomDungeonBanInfo) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+var File_CustomDungeonBanInfo_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonBanInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x92, 0x01, 0x0a, 0x14, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x42, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x42, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x62, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonBanInfo_proto_rawDescOnce sync.Once
+ file_CustomDungeonBanInfo_proto_rawDescData = file_CustomDungeonBanInfo_proto_rawDesc
+)
+
+func file_CustomDungeonBanInfo_proto_rawDescGZIP() []byte {
+ file_CustomDungeonBanInfo_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonBanInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonBanInfo_proto_rawDescData)
+ })
+ return file_CustomDungeonBanInfo_proto_rawDescData
+}
+
+var file_CustomDungeonBanInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonBanInfo_proto_goTypes = []interface{}{
+ (*CustomDungeonBanInfo)(nil), // 0: proto.CustomDungeonBanInfo
+ (CustomDungeonBanType)(0), // 1: proto.CustomDungeonBanType
+}
+var file_CustomDungeonBanInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonBanInfo.ban_type:type_name -> proto.CustomDungeonBanType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonBanInfo_proto_init() }
+func file_CustomDungeonBanInfo_proto_init() {
+ if File_CustomDungeonBanInfo_proto != nil {
+ return
+ }
+ file_CustomDungeonBanType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonBanInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonBanInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonBanInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonBanInfo_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonBanInfo_proto_depIdxs,
+ MessageInfos: file_CustomDungeonBanInfo_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonBanInfo_proto = out.File
+ file_CustomDungeonBanInfo_proto_rawDesc = nil
+ file_CustomDungeonBanInfo_proto_goTypes = nil
+ file_CustomDungeonBanInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonBanType.pb.go b/protocol/proto/CustomDungeonBanType.pb.go
new file mode 100644
index 00000000..af40d022
--- /dev/null
+++ b/protocol/proto/CustomDungeonBanType.pb.go
@@ -0,0 +1,147 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonBanType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonBanType int32
+
+const (
+ CustomDungeonBanType_CUSTOM_DUNGEON_BAN_TYPE_NONE CustomDungeonBanType = 0
+ CustomDungeonBanType_CUSTOM_DUNGEON_BAN_TYPE_LAYOUT CustomDungeonBanType = 1
+)
+
+// Enum value maps for CustomDungeonBanType.
+var (
+ CustomDungeonBanType_name = map[int32]string{
+ 0: "CUSTOM_DUNGEON_BAN_TYPE_NONE",
+ 1: "CUSTOM_DUNGEON_BAN_TYPE_LAYOUT",
+ }
+ CustomDungeonBanType_value = map[string]int32{
+ "CUSTOM_DUNGEON_BAN_TYPE_NONE": 0,
+ "CUSTOM_DUNGEON_BAN_TYPE_LAYOUT": 1,
+ }
+)
+
+func (x CustomDungeonBanType) Enum() *CustomDungeonBanType {
+ p := new(CustomDungeonBanType)
+ *p = x
+ return p
+}
+
+func (x CustomDungeonBanType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CustomDungeonBanType) Descriptor() protoreflect.EnumDescriptor {
+ return file_CustomDungeonBanType_proto_enumTypes[0].Descriptor()
+}
+
+func (CustomDungeonBanType) Type() protoreflect.EnumType {
+ return &file_CustomDungeonBanType_proto_enumTypes[0]
+}
+
+func (x CustomDungeonBanType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CustomDungeonBanType.Descriptor instead.
+func (CustomDungeonBanType) EnumDescriptor() ([]byte, []int) {
+ return file_CustomDungeonBanType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CustomDungeonBanType_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonBanType_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0x5c, 0x0a, 0x14, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x43,
+ 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x42, 0x41,
+ 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a,
+ 0x1e, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x42, 0x41, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x10,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonBanType_proto_rawDescOnce sync.Once
+ file_CustomDungeonBanType_proto_rawDescData = file_CustomDungeonBanType_proto_rawDesc
+)
+
+func file_CustomDungeonBanType_proto_rawDescGZIP() []byte {
+ file_CustomDungeonBanType_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonBanType_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonBanType_proto_rawDescData)
+ })
+ return file_CustomDungeonBanType_proto_rawDescData
+}
+
+var file_CustomDungeonBanType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CustomDungeonBanType_proto_goTypes = []interface{}{
+ (CustomDungeonBanType)(0), // 0: proto.CustomDungeonBanType
+}
+var file_CustomDungeonBanType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonBanType_proto_init() }
+func file_CustomDungeonBanType_proto_init() {
+ if File_CustomDungeonBanType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonBanType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonBanType_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonBanType_proto_depIdxs,
+ EnumInfos: file_CustomDungeonBanType_proto_enumTypes,
+ }.Build()
+ File_CustomDungeonBanType_proto = out.File
+ file_CustomDungeonBanType_proto_rawDesc = nil
+ file_CustomDungeonBanType_proto_goTypes = nil
+ file_CustomDungeonBanType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonBatchBriefMuipData.pb.go b/protocol/proto/CustomDungeonBatchBriefMuipData.pb.go
new file mode 100644
index 00000000..84fd9b88
--- /dev/null
+++ b/protocol/proto/CustomDungeonBatchBriefMuipData.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonBatchBriefMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonBatchBriefMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BriefList []*CustomDungeonBriefMuipData `protobuf:"bytes,1,rep,name=brief_list,json=briefList,proto3" json:"brief_list,omitempty"`
+}
+
+func (x *CustomDungeonBatchBriefMuipData) Reset() {
+ *x = CustomDungeonBatchBriefMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonBatchBriefMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonBatchBriefMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonBatchBriefMuipData) ProtoMessage() {}
+
+func (x *CustomDungeonBatchBriefMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonBatchBriefMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonBatchBriefMuipData.ProtoReflect.Descriptor instead.
+func (*CustomDungeonBatchBriefMuipData) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonBatchBriefMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonBatchBriefMuipData) GetBriefList() []*CustomDungeonBriefMuipData {
+ if x != nil {
+ return x.BriefList
+ }
+ return nil
+}
+
+var File_CustomDungeonBatchBriefMuipData_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonBatchBriefMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x61, 0x74, 0x63, 0x68, 0x42, 0x72, 0x69, 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x63, 0x0a, 0x1f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x72, 0x69, 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0a, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x62, 0x72, 0x69, 0x65,
+ 0x66, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonBatchBriefMuipData_proto_rawDescOnce sync.Once
+ file_CustomDungeonBatchBriefMuipData_proto_rawDescData = file_CustomDungeonBatchBriefMuipData_proto_rawDesc
+)
+
+func file_CustomDungeonBatchBriefMuipData_proto_rawDescGZIP() []byte {
+ file_CustomDungeonBatchBriefMuipData_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonBatchBriefMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonBatchBriefMuipData_proto_rawDescData)
+ })
+ return file_CustomDungeonBatchBriefMuipData_proto_rawDescData
+}
+
+var file_CustomDungeonBatchBriefMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonBatchBriefMuipData_proto_goTypes = []interface{}{
+ (*CustomDungeonBatchBriefMuipData)(nil), // 0: proto.CustomDungeonBatchBriefMuipData
+ (*CustomDungeonBriefMuipData)(nil), // 1: proto.CustomDungeonBriefMuipData
+}
+var file_CustomDungeonBatchBriefMuipData_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonBatchBriefMuipData.brief_list:type_name -> proto.CustomDungeonBriefMuipData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonBatchBriefMuipData_proto_init() }
+func file_CustomDungeonBatchBriefMuipData_proto_init() {
+ if File_CustomDungeonBatchBriefMuipData_proto != nil {
+ return
+ }
+ file_CustomDungeonBriefMuipData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonBatchBriefMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonBatchBriefMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonBatchBriefMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonBatchBriefMuipData_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonBatchBriefMuipData_proto_depIdxs,
+ MessageInfos: file_CustomDungeonBatchBriefMuipData_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonBatchBriefMuipData_proto = out.File
+ file_CustomDungeonBatchBriefMuipData_proto_rawDesc = nil
+ file_CustomDungeonBatchBriefMuipData_proto_goTypes = nil
+ file_CustomDungeonBatchBriefMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonBattleRecordMuipData.pb.go b/protocol/proto/CustomDungeonBattleRecordMuipData.pb.go
new file mode 100644
index 00000000..8fe7d7b9
--- /dev/null
+++ b/protocol/proto/CustomDungeonBattleRecordMuipData.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonBattleRecordMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonBattleRecordMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonGuid uint64 `protobuf:"varint,1,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+ MinCostTime uint32 `protobuf:"varint,2,opt,name=min_cost_time,json=minCostTime,proto3" json:"min_cost_time,omitempty"`
+}
+
+func (x *CustomDungeonBattleRecordMuipData) Reset() {
+ *x = CustomDungeonBattleRecordMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonBattleRecordMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonBattleRecordMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonBattleRecordMuipData) ProtoMessage() {}
+
+func (x *CustomDungeonBattleRecordMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonBattleRecordMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonBattleRecordMuipData.ProtoReflect.Descriptor instead.
+func (*CustomDungeonBattleRecordMuipData) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonBattleRecordMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonBattleRecordMuipData) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+func (x *CustomDungeonBattleRecordMuipData) GetMinCostTime() uint32 {
+ if x != nil {
+ return x.MinCostTime
+ }
+ return 0
+}
+
+var File_CustomDungeonBattleRecordMuipData_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonBattleRecordMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x75, 0x69, 0x70, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6a, 0x0a, 0x21, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x75, 0x69,
+ 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f,
+ 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonBattleRecordMuipData_proto_rawDescOnce sync.Once
+ file_CustomDungeonBattleRecordMuipData_proto_rawDescData = file_CustomDungeonBattleRecordMuipData_proto_rawDesc
+)
+
+func file_CustomDungeonBattleRecordMuipData_proto_rawDescGZIP() []byte {
+ file_CustomDungeonBattleRecordMuipData_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonBattleRecordMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonBattleRecordMuipData_proto_rawDescData)
+ })
+ return file_CustomDungeonBattleRecordMuipData_proto_rawDescData
+}
+
+var file_CustomDungeonBattleRecordMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonBattleRecordMuipData_proto_goTypes = []interface{}{
+ (*CustomDungeonBattleRecordMuipData)(nil), // 0: proto.CustomDungeonBattleRecordMuipData
+}
+var file_CustomDungeonBattleRecordMuipData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonBattleRecordMuipData_proto_init() }
+func file_CustomDungeonBattleRecordMuipData_proto_init() {
+ if File_CustomDungeonBattleRecordMuipData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonBattleRecordMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonBattleRecordMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonBattleRecordMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonBattleRecordMuipData_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonBattleRecordMuipData_proto_depIdxs,
+ MessageInfos: file_CustomDungeonBattleRecordMuipData_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonBattleRecordMuipData_proto = out.File
+ file_CustomDungeonBattleRecordMuipData_proto_rawDesc = nil
+ file_CustomDungeonBattleRecordMuipData_proto_goTypes = nil
+ file_CustomDungeonBattleRecordMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonBattleRecordNotify.pb.go b/protocol/proto/CustomDungeonBattleRecordNotify.pb.go
new file mode 100644
index 00000000..40af49ff
--- /dev/null
+++ b/protocol/proto/CustomDungeonBattleRecordNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonBattleRecordNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6236
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CustomDungeonBattleRecordNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MinCostTime uint32 `protobuf:"varint,13,opt,name=min_cost_time,json=minCostTime,proto3" json:"min_cost_time,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,12,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+}
+
+func (x *CustomDungeonBattleRecordNotify) Reset() {
+ *x = CustomDungeonBattleRecordNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonBattleRecordNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonBattleRecordNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonBattleRecordNotify) ProtoMessage() {}
+
+func (x *CustomDungeonBattleRecordNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonBattleRecordNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonBattleRecordNotify.ProtoReflect.Descriptor instead.
+func (*CustomDungeonBattleRecordNotify) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonBattleRecordNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonBattleRecordNotify) GetMinCostTime() uint32 {
+ if x != nil {
+ return x.MinCostTime
+ }
+ return 0
+}
+
+func (x *CustomDungeonBattleRecordNotify) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+var File_CustomDungeonBattleRecordNotify_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonBattleRecordNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68,
+ 0x0a, 0x1f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x73,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonBattleRecordNotify_proto_rawDescOnce sync.Once
+ file_CustomDungeonBattleRecordNotify_proto_rawDescData = file_CustomDungeonBattleRecordNotify_proto_rawDesc
+)
+
+func file_CustomDungeonBattleRecordNotify_proto_rawDescGZIP() []byte {
+ file_CustomDungeonBattleRecordNotify_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonBattleRecordNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonBattleRecordNotify_proto_rawDescData)
+ })
+ return file_CustomDungeonBattleRecordNotify_proto_rawDescData
+}
+
+var file_CustomDungeonBattleRecordNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonBattleRecordNotify_proto_goTypes = []interface{}{
+ (*CustomDungeonBattleRecordNotify)(nil), // 0: proto.CustomDungeonBattleRecordNotify
+}
+var file_CustomDungeonBattleRecordNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonBattleRecordNotify_proto_init() }
+func file_CustomDungeonBattleRecordNotify_proto_init() {
+ if File_CustomDungeonBattleRecordNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonBattleRecordNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonBattleRecordNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonBattleRecordNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonBattleRecordNotify_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonBattleRecordNotify_proto_depIdxs,
+ MessageInfos: file_CustomDungeonBattleRecordNotify_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonBattleRecordNotify_proto = out.File
+ file_CustomDungeonBattleRecordNotify_proto_rawDesc = nil
+ file_CustomDungeonBattleRecordNotify_proto_goTypes = nil
+ file_CustomDungeonBattleRecordNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonBlock.pb.go b/protocol/proto/CustomDungeonBlock.pb.go
new file mode 100644
index 00000000..c434e3d0
--- /dev/null
+++ b/protocol/proto/CustomDungeonBlock.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonBlock.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonBlock struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BlockId uint32 `protobuf:"varint,8,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+ Rot *Vector `protobuf:"bytes,12,opt,name=rot,proto3" json:"rot,omitempty"`
+ Guid uint32 `protobuf:"varint,4,opt,name=guid,proto3" json:"guid,omitempty"`
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *CustomDungeonBlock) Reset() {
+ *x = CustomDungeonBlock{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonBlock_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonBlock) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonBlock) ProtoMessage() {}
+
+func (x *CustomDungeonBlock) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonBlock_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonBlock.ProtoReflect.Descriptor instead.
+func (*CustomDungeonBlock) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonBlock_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonBlock) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+func (x *CustomDungeonBlock) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *CustomDungeonBlock) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *CustomDungeonBlock) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_CustomDungeonBlock_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonBlock_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x85, 0x01, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
+ 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72,
+ 0x6f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonBlock_proto_rawDescOnce sync.Once
+ file_CustomDungeonBlock_proto_rawDescData = file_CustomDungeonBlock_proto_rawDesc
+)
+
+func file_CustomDungeonBlock_proto_rawDescGZIP() []byte {
+ file_CustomDungeonBlock_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonBlock_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonBlock_proto_rawDescData)
+ })
+ return file_CustomDungeonBlock_proto_rawDescData
+}
+
+var file_CustomDungeonBlock_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonBlock_proto_goTypes = []interface{}{
+ (*CustomDungeonBlock)(nil), // 0: proto.CustomDungeonBlock
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_CustomDungeonBlock_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonBlock.rot:type_name -> proto.Vector
+ 1, // 1: proto.CustomDungeonBlock.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonBlock_proto_init() }
+func file_CustomDungeonBlock_proto_init() {
+ if File_CustomDungeonBlock_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonBlock_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonBlock); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonBlock_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonBlock_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonBlock_proto_depIdxs,
+ MessageInfos: file_CustomDungeonBlock_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonBlock_proto = out.File
+ file_CustomDungeonBlock_proto_rawDesc = nil
+ file_CustomDungeonBlock_proto_goTypes = nil
+ file_CustomDungeonBlock_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonBrief.pb.go b/protocol/proto/CustomDungeonBrief.pb.go
new file mode 100644
index 00000000..f3173d37
--- /dev/null
+++ b/protocol/proto/CustomDungeonBrief.pb.go
@@ -0,0 +1,275 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonBrief.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonBrief struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Setting *CustomDungeonSetting `protobuf:"bytes,2,opt,name=setting,proto3" json:"setting,omitempty"`
+ IsPsnPlatform bool `protobuf:"varint,13,opt,name=is_psn_platform,json=isPsnPlatform,proto3" json:"is_psn_platform,omitempty"`
+ Social *CustomDungeonSocial `protobuf:"bytes,7,opt,name=social,proto3" json:"social,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,10,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+ LastSaveTime uint32 `protobuf:"varint,14,opt,name=last_save_time,json=lastSaveTime,proto3" json:"last_save_time,omitempty"`
+ TagList []uint32 `protobuf:"varint,15,rep,packed,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
+ DungeonId uint32 `protobuf:"varint,5,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ BattleMinCostTime uint32 `protobuf:"varint,12,opt,name=battle_min_cost_time,json=battleMinCostTime,proto3" json:"battle_min_cost_time,omitempty"`
+ State CustomDungeonState `protobuf:"varint,1,opt,name=state,proto3,enum=proto.CustomDungeonState" json:"state,omitempty"`
+ Abstract *CustomDungeonAbstract `protobuf:"bytes,4,opt,name=abstract,proto3" json:"abstract,omitempty"`
+}
+
+func (x *CustomDungeonBrief) Reset() {
+ *x = CustomDungeonBrief{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonBrief_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonBrief) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonBrief) ProtoMessage() {}
+
+func (x *CustomDungeonBrief) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonBrief_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonBrief.ProtoReflect.Descriptor instead.
+func (*CustomDungeonBrief) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonBrief_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonBrief) GetSetting() *CustomDungeonSetting {
+ if x != nil {
+ return x.Setting
+ }
+ return nil
+}
+
+func (x *CustomDungeonBrief) GetIsPsnPlatform() bool {
+ if x != nil {
+ return x.IsPsnPlatform
+ }
+ return false
+}
+
+func (x *CustomDungeonBrief) GetSocial() *CustomDungeonSocial {
+ if x != nil {
+ return x.Social
+ }
+ return nil
+}
+
+func (x *CustomDungeonBrief) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+func (x *CustomDungeonBrief) GetLastSaveTime() uint32 {
+ if x != nil {
+ return x.LastSaveTime
+ }
+ return 0
+}
+
+func (x *CustomDungeonBrief) GetTagList() []uint32 {
+ if x != nil {
+ return x.TagList
+ }
+ return nil
+}
+
+func (x *CustomDungeonBrief) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *CustomDungeonBrief) GetBattleMinCostTime() uint32 {
+ if x != nil {
+ return x.BattleMinCostTime
+ }
+ return 0
+}
+
+func (x *CustomDungeonBrief) GetState() CustomDungeonState {
+ if x != nil {
+ return x.State
+ }
+ return CustomDungeonState_CUSTOM_DUNGEON_STATE_EDIT
+}
+
+func (x *CustomDungeonBrief) GetAbstract() *CustomDungeonAbstract {
+ if x != nil {
+ return x.Abstract
+ }
+ return nil
+}
+
+var File_CustomDungeonBrief_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonBrief_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xc6, 0x03, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x35, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e,
+ 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a,
+ 0x0f, 0x69, 0x73, 0x5f, 0x70, 0x73, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x73, 0x6e, 0x50, 0x6c, 0x61,
+ 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x6c, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14,
+ 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x4d, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a,
+ 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38,
+ 0x0a, 0x08, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x08,
+ 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonBrief_proto_rawDescOnce sync.Once
+ file_CustomDungeonBrief_proto_rawDescData = file_CustomDungeonBrief_proto_rawDesc
+)
+
+func file_CustomDungeonBrief_proto_rawDescGZIP() []byte {
+ file_CustomDungeonBrief_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonBrief_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonBrief_proto_rawDescData)
+ })
+ return file_CustomDungeonBrief_proto_rawDescData
+}
+
+var file_CustomDungeonBrief_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonBrief_proto_goTypes = []interface{}{
+ (*CustomDungeonBrief)(nil), // 0: proto.CustomDungeonBrief
+ (*CustomDungeonSetting)(nil), // 1: proto.CustomDungeonSetting
+ (*CustomDungeonSocial)(nil), // 2: proto.CustomDungeonSocial
+ (CustomDungeonState)(0), // 3: proto.CustomDungeonState
+ (*CustomDungeonAbstract)(nil), // 4: proto.CustomDungeonAbstract
+}
+var file_CustomDungeonBrief_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonBrief.setting:type_name -> proto.CustomDungeonSetting
+ 2, // 1: proto.CustomDungeonBrief.social:type_name -> proto.CustomDungeonSocial
+ 3, // 2: proto.CustomDungeonBrief.state:type_name -> proto.CustomDungeonState
+ 4, // 3: proto.CustomDungeonBrief.abstract:type_name -> proto.CustomDungeonAbstract
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonBrief_proto_init() }
+func file_CustomDungeonBrief_proto_init() {
+ if File_CustomDungeonBrief_proto != nil {
+ return
+ }
+ file_CustomDungeonAbstract_proto_init()
+ file_CustomDungeonSetting_proto_init()
+ file_CustomDungeonSocial_proto_init()
+ file_CustomDungeonState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonBrief_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonBrief); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonBrief_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonBrief_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonBrief_proto_depIdxs,
+ MessageInfos: file_CustomDungeonBrief_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonBrief_proto = out.File
+ file_CustomDungeonBrief_proto_rawDesc = nil
+ file_CustomDungeonBrief_proto_goTypes = nil
+ file_CustomDungeonBrief_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonBriefMuipData.pb.go b/protocol/proto/CustomDungeonBriefMuipData.pb.go
new file mode 100644
index 00000000..7b87c7fc
--- /dev/null
+++ b/protocol/proto/CustomDungeonBriefMuipData.pb.go
@@ -0,0 +1,242 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonBriefMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonBriefMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonGuid uint64 `protobuf:"varint,1,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+ DungeonId uint32 `protobuf:"varint,2,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CreatorNickname string `protobuf:"bytes,3,opt,name=creator_nickname,json=creatorNickname,proto3" json:"creator_nickname,omitempty"`
+ TagList []uint32 `protobuf:"varint,4,rep,packed,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
+ Setting *CustomDungeonSettingMuipData `protobuf:"bytes,5,opt,name=setting,proto3" json:"setting,omitempty"`
+ Abstract *CustomDungeonAbstractMuipData `protobuf:"bytes,6,opt,name=abstract,proto3" json:"abstract,omitempty"`
+ Social *CustomDungeonSocialMuipData `protobuf:"bytes,7,opt,name=social,proto3" json:"social,omitempty"`
+}
+
+func (x *CustomDungeonBriefMuipData) Reset() {
+ *x = CustomDungeonBriefMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonBriefMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonBriefMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonBriefMuipData) ProtoMessage() {}
+
+func (x *CustomDungeonBriefMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonBriefMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonBriefMuipData.ProtoReflect.Descriptor instead.
+func (*CustomDungeonBriefMuipData) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonBriefMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonBriefMuipData) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+func (x *CustomDungeonBriefMuipData) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *CustomDungeonBriefMuipData) GetCreatorNickname() string {
+ if x != nil {
+ return x.CreatorNickname
+ }
+ return ""
+}
+
+func (x *CustomDungeonBriefMuipData) GetTagList() []uint32 {
+ if x != nil {
+ return x.TagList
+ }
+ return nil
+}
+
+func (x *CustomDungeonBriefMuipData) GetSetting() *CustomDungeonSettingMuipData {
+ if x != nil {
+ return x.Setting
+ }
+ return nil
+}
+
+func (x *CustomDungeonBriefMuipData) GetAbstract() *CustomDungeonAbstractMuipData {
+ if x != nil {
+ return x.Abstract
+ }
+ return nil
+}
+
+func (x *CustomDungeonBriefMuipData) GetSocial() *CustomDungeonSocialMuipData {
+ if x != nil {
+ return x.Social
+ }
+ return nil
+}
+
+var File_CustomDungeonBriefMuipData_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonBriefMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74,
+ 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x21, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x02, 0x0a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f,
+ 0x72, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x07,
+ 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x08, 0x61,
+ 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x08, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x12, 0x3a, 0x0a,
+ 0x06, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonBriefMuipData_proto_rawDescOnce sync.Once
+ file_CustomDungeonBriefMuipData_proto_rawDescData = file_CustomDungeonBriefMuipData_proto_rawDesc
+)
+
+func file_CustomDungeonBriefMuipData_proto_rawDescGZIP() []byte {
+ file_CustomDungeonBriefMuipData_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonBriefMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonBriefMuipData_proto_rawDescData)
+ })
+ return file_CustomDungeonBriefMuipData_proto_rawDescData
+}
+
+var file_CustomDungeonBriefMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonBriefMuipData_proto_goTypes = []interface{}{
+ (*CustomDungeonBriefMuipData)(nil), // 0: proto.CustomDungeonBriefMuipData
+ (*CustomDungeonSettingMuipData)(nil), // 1: proto.CustomDungeonSettingMuipData
+ (*CustomDungeonAbstractMuipData)(nil), // 2: proto.CustomDungeonAbstractMuipData
+ (*CustomDungeonSocialMuipData)(nil), // 3: proto.CustomDungeonSocialMuipData
+}
+var file_CustomDungeonBriefMuipData_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonBriefMuipData.setting:type_name -> proto.CustomDungeonSettingMuipData
+ 2, // 1: proto.CustomDungeonBriefMuipData.abstract:type_name -> proto.CustomDungeonAbstractMuipData
+ 3, // 2: proto.CustomDungeonBriefMuipData.social:type_name -> proto.CustomDungeonSocialMuipData
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonBriefMuipData_proto_init() }
+func file_CustomDungeonBriefMuipData_proto_init() {
+ if File_CustomDungeonBriefMuipData_proto != nil {
+ return
+ }
+ file_CustomDungeonAbstractMuipData_proto_init()
+ file_CustomDungeonSettingMuipData_proto_init()
+ file_CustomDungeonSocialMuipData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonBriefMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonBriefMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonBriefMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonBriefMuipData_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonBriefMuipData_proto_depIdxs,
+ MessageInfos: file_CustomDungeonBriefMuipData_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonBriefMuipData_proto = out.File
+ file_CustomDungeonBriefMuipData_proto_rawDesc = nil
+ file_CustomDungeonBriefMuipData_proto_goTypes = nil
+ file_CustomDungeonBriefMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonFinishType.pb.go b/protocol/proto/CustomDungeonFinishType.pb.go
new file mode 100644
index 00000000..45ec1da6
--- /dev/null
+++ b/protocol/proto/CustomDungeonFinishType.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonFinishType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonFinishType int32
+
+const (
+ CustomDungeonFinishType_CUSTOM_DUNGEON_FINISH_TYPE_PLAY_NORMAL CustomDungeonFinishType = 0
+ CustomDungeonFinishType_CUSTOM_DUNGEON_FINISH_TYPE_PLAY_TRY CustomDungeonFinishType = 1
+ CustomDungeonFinishType_CUSTOM_DUNGEON_FINISH_TYPE_EDIT_TRY CustomDungeonFinishType = 2
+ CustomDungeonFinishType_CUSTOM_DUNGEON_FINISH_TYPE_SELF_PLAY_NORMAL CustomDungeonFinishType = 3
+)
+
+// Enum value maps for CustomDungeonFinishType.
+var (
+ CustomDungeonFinishType_name = map[int32]string{
+ 0: "CUSTOM_DUNGEON_FINISH_TYPE_PLAY_NORMAL",
+ 1: "CUSTOM_DUNGEON_FINISH_TYPE_PLAY_TRY",
+ 2: "CUSTOM_DUNGEON_FINISH_TYPE_EDIT_TRY",
+ 3: "CUSTOM_DUNGEON_FINISH_TYPE_SELF_PLAY_NORMAL",
+ }
+ CustomDungeonFinishType_value = map[string]int32{
+ "CUSTOM_DUNGEON_FINISH_TYPE_PLAY_NORMAL": 0,
+ "CUSTOM_DUNGEON_FINISH_TYPE_PLAY_TRY": 1,
+ "CUSTOM_DUNGEON_FINISH_TYPE_EDIT_TRY": 2,
+ "CUSTOM_DUNGEON_FINISH_TYPE_SELF_PLAY_NORMAL": 3,
+ }
+)
+
+func (x CustomDungeonFinishType) Enum() *CustomDungeonFinishType {
+ p := new(CustomDungeonFinishType)
+ *p = x
+ return p
+}
+
+func (x CustomDungeonFinishType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CustomDungeonFinishType) Descriptor() protoreflect.EnumDescriptor {
+ return file_CustomDungeonFinishType_proto_enumTypes[0].Descriptor()
+}
+
+func (CustomDungeonFinishType) Type() protoreflect.EnumType {
+ return &file_CustomDungeonFinishType_proto_enumTypes[0]
+}
+
+func (x CustomDungeonFinishType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CustomDungeonFinishType.Descriptor instead.
+func (CustomDungeonFinishType) EnumDescriptor() ([]byte, []int) {
+ return file_CustomDungeonFinishType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CustomDungeonFinishType_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonFinishType_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xc8, 0x01, 0x0a, 0x17, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e,
+ 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x27,
+ 0x0a, 0x23, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41,
+ 0x59, 0x5f, 0x54, 0x52, 0x59, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x43, 0x55, 0x53, 0x54, 0x4f,
+ 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x54, 0x52, 0x59, 0x10, 0x02,
+ 0x12, 0x2f, 0x0a, 0x2b, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53,
+ 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10,
+ 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonFinishType_proto_rawDescOnce sync.Once
+ file_CustomDungeonFinishType_proto_rawDescData = file_CustomDungeonFinishType_proto_rawDesc
+)
+
+func file_CustomDungeonFinishType_proto_rawDescGZIP() []byte {
+ file_CustomDungeonFinishType_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonFinishType_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonFinishType_proto_rawDescData)
+ })
+ return file_CustomDungeonFinishType_proto_rawDescData
+}
+
+var file_CustomDungeonFinishType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CustomDungeonFinishType_proto_goTypes = []interface{}{
+ (CustomDungeonFinishType)(0), // 0: proto.CustomDungeonFinishType
+}
+var file_CustomDungeonFinishType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonFinishType_proto_init() }
+func file_CustomDungeonFinishType_proto_init() {
+ if File_CustomDungeonFinishType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonFinishType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonFinishType_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonFinishType_proto_depIdxs,
+ EnumInfos: file_CustomDungeonFinishType_proto_enumTypes,
+ }.Build()
+ File_CustomDungeonFinishType_proto = out.File
+ file_CustomDungeonFinishType_proto_rawDesc = nil
+ file_CustomDungeonFinishType_proto_goTypes = nil
+ file_CustomDungeonFinishType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonOfficialNotify.pb.go b/protocol/proto/CustomDungeonOfficialNotify.pb.go
new file mode 100644
index 00000000..64acf869
--- /dev/null
+++ b/protocol/proto/CustomDungeonOfficialNotify.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonOfficialNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6221
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CustomDungeonOfficialNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TryType TryCustomDungeonType `protobuf:"varint,9,opt,name=try_type,json=tryType,proto3,enum=proto.TryCustomDungeonType" json:"try_type,omitempty"`
+ OfficialBlackCoinList []uint32 `protobuf:"varint,14,rep,packed,name=official_black_coin_list,json=officialBlackCoinList,proto3" json:"official_black_coin_list,omitempty"`
+ EnterType EnterCustomDungeonType `protobuf:"varint,15,opt,name=enter_type,json=enterType,proto3,enum=proto.EnterCustomDungeonType" json:"enter_type,omitempty"`
+}
+
+func (x *CustomDungeonOfficialNotify) Reset() {
+ *x = CustomDungeonOfficialNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonOfficialNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonOfficialNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonOfficialNotify) ProtoMessage() {}
+
+func (x *CustomDungeonOfficialNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonOfficialNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonOfficialNotify.ProtoReflect.Descriptor instead.
+func (*CustomDungeonOfficialNotify) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonOfficialNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonOfficialNotify) GetTryType() TryCustomDungeonType {
+ if x != nil {
+ return x.TryType
+ }
+ return TryCustomDungeonType_TRY_CUSTOM_DUNGEON_TYPE_NONE
+}
+
+func (x *CustomDungeonOfficialNotify) GetOfficialBlackCoinList() []uint32 {
+ if x != nil {
+ return x.OfficialBlackCoinList
+ }
+ return nil
+}
+
+func (x *CustomDungeonOfficialNotify) GetEnterType() EnterCustomDungeonType {
+ if x != nil {
+ return x.EnterType
+ }
+ return EnterCustomDungeonType_ENTER_CUSTOM_DUNGEON_TYPE_NONE
+}
+
+var File_CustomDungeonOfficialNotify_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonOfficialNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4f,
+ 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x54, 0x72, 0x79, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x1b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x36, 0x0a, 0x08, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54,
+ 0x72, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x07, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x18,
+ 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x63,
+ 0x6f, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x15,
+ 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x69,
+ 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54,
+ 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonOfficialNotify_proto_rawDescOnce sync.Once
+ file_CustomDungeonOfficialNotify_proto_rawDescData = file_CustomDungeonOfficialNotify_proto_rawDesc
+)
+
+func file_CustomDungeonOfficialNotify_proto_rawDescGZIP() []byte {
+ file_CustomDungeonOfficialNotify_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonOfficialNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonOfficialNotify_proto_rawDescData)
+ })
+ return file_CustomDungeonOfficialNotify_proto_rawDescData
+}
+
+var file_CustomDungeonOfficialNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonOfficialNotify_proto_goTypes = []interface{}{
+ (*CustomDungeonOfficialNotify)(nil), // 0: proto.CustomDungeonOfficialNotify
+ (TryCustomDungeonType)(0), // 1: proto.TryCustomDungeonType
+ (EnterCustomDungeonType)(0), // 2: proto.EnterCustomDungeonType
+}
+var file_CustomDungeonOfficialNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonOfficialNotify.try_type:type_name -> proto.TryCustomDungeonType
+ 2, // 1: proto.CustomDungeonOfficialNotify.enter_type:type_name -> proto.EnterCustomDungeonType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonOfficialNotify_proto_init() }
+func file_CustomDungeonOfficialNotify_proto_init() {
+ if File_CustomDungeonOfficialNotify_proto != nil {
+ return
+ }
+ file_EnterCustomDungeonType_proto_init()
+ file_TryCustomDungeonType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonOfficialNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonOfficialNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonOfficialNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonOfficialNotify_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonOfficialNotify_proto_depIdxs,
+ MessageInfos: file_CustomDungeonOfficialNotify_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonOfficialNotify_proto = out.File
+ file_CustomDungeonOfficialNotify_proto_rawDesc = nil
+ file_CustomDungeonOfficialNotify_proto_goTypes = nil
+ file_CustomDungeonOfficialNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonRecoverNotify.pb.go b/protocol/proto/CustomDungeonRecoverNotify.pb.go
new file mode 100644
index 00000000..b5ad9b3a
--- /dev/null
+++ b/protocol/proto/CustomDungeonRecoverNotify.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonRecoverNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6217
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CustomDungeonRecoverNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterType EnterCustomDungeonType `protobuf:"varint,14,opt,name=enter_type,json=enterType,proto3,enum=proto.EnterCustomDungeonType" json:"enter_type,omitempty"`
+ TryType TryCustomDungeonType `protobuf:"varint,3,opt,name=try_type,json=tryType,proto3,enum=proto.TryCustomDungeonType" json:"try_type,omitempty"`
+ CustomDungeon *CustomDungeon `protobuf:"bytes,10,opt,name=custom_dungeon,json=customDungeon,proto3" json:"custom_dungeon,omitempty"`
+ OfficialBlackCoinList []uint32 `protobuf:"varint,12,rep,packed,name=official_black_coin_list,json=officialBlackCoinList,proto3" json:"official_black_coin_list,omitempty"`
+}
+
+func (x *CustomDungeonRecoverNotify) Reset() {
+ *x = CustomDungeonRecoverNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonRecoverNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonRecoverNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonRecoverNotify) ProtoMessage() {}
+
+func (x *CustomDungeonRecoverNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonRecoverNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonRecoverNotify.ProtoReflect.Descriptor instead.
+func (*CustomDungeonRecoverNotify) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonRecoverNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonRecoverNotify) GetEnterType() EnterCustomDungeonType {
+ if x != nil {
+ return x.EnterType
+ }
+ return EnterCustomDungeonType_ENTER_CUSTOM_DUNGEON_TYPE_NONE
+}
+
+func (x *CustomDungeonRecoverNotify) GetTryType() TryCustomDungeonType {
+ if x != nil {
+ return x.TryType
+ }
+ return TryCustomDungeonType_TRY_CUSTOM_DUNGEON_TYPE_NONE
+}
+
+func (x *CustomDungeonRecoverNotify) GetCustomDungeon() *CustomDungeon {
+ if x != nil {
+ return x.CustomDungeon
+ }
+ return nil
+}
+
+func (x *CustomDungeonRecoverNotify) GetOfficialBlackCoinList() []uint32 {
+ if x != nil {
+ return x.OfficialBlackCoinList
+ }
+ return nil
+}
+
+var File_CustomDungeonRecoverNotify_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonRecoverNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
+ 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x54, 0x72,
+ 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x02, 0x0a, 0x1a, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65,
+ 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x65, 0x72,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x54, 0x72, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a,
+ 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x6f, 0x66,
+ 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x69,
+ 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x15, 0x6f, 0x66,
+ 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x69, 0x6e, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonRecoverNotify_proto_rawDescOnce sync.Once
+ file_CustomDungeonRecoverNotify_proto_rawDescData = file_CustomDungeonRecoverNotify_proto_rawDesc
+)
+
+func file_CustomDungeonRecoverNotify_proto_rawDescGZIP() []byte {
+ file_CustomDungeonRecoverNotify_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonRecoverNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonRecoverNotify_proto_rawDescData)
+ })
+ return file_CustomDungeonRecoverNotify_proto_rawDescData
+}
+
+var file_CustomDungeonRecoverNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonRecoverNotify_proto_goTypes = []interface{}{
+ (*CustomDungeonRecoverNotify)(nil), // 0: proto.CustomDungeonRecoverNotify
+ (EnterCustomDungeonType)(0), // 1: proto.EnterCustomDungeonType
+ (TryCustomDungeonType)(0), // 2: proto.TryCustomDungeonType
+ (*CustomDungeon)(nil), // 3: proto.CustomDungeon
+}
+var file_CustomDungeonRecoverNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonRecoverNotify.enter_type:type_name -> proto.EnterCustomDungeonType
+ 2, // 1: proto.CustomDungeonRecoverNotify.try_type:type_name -> proto.TryCustomDungeonType
+ 3, // 2: proto.CustomDungeonRecoverNotify.custom_dungeon:type_name -> proto.CustomDungeon
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonRecoverNotify_proto_init() }
+func file_CustomDungeonRecoverNotify_proto_init() {
+ if File_CustomDungeonRecoverNotify_proto != nil {
+ return
+ }
+ file_CustomDungeon_proto_init()
+ file_EnterCustomDungeonType_proto_init()
+ file_TryCustomDungeonType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonRecoverNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonRecoverNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonRecoverNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonRecoverNotify_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonRecoverNotify_proto_depIdxs,
+ MessageInfos: file_CustomDungeonRecoverNotify_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonRecoverNotify_proto = out.File
+ file_CustomDungeonRecoverNotify_proto_rawDesc = nil
+ file_CustomDungeonRecoverNotify_proto_goTypes = nil
+ file_CustomDungeonRecoverNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonResultInfo.pb.go b/protocol/proto/CustomDungeonResultInfo.pb.go
new file mode 100644
index 00000000..960532e7
--- /dev/null
+++ b/protocol/proto/CustomDungeonResultInfo.pb.go
@@ -0,0 +1,244 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonResultInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonResultInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsLiked bool `protobuf:"varint,12,opt,name=is_liked,json=isLiked,proto3" json:"is_liked,omitempty"`
+ GotCoinNum uint32 `protobuf:"varint,9,opt,name=got_coin_num,json=gotCoinNum,proto3" json:"got_coin_num,omitempty"`
+ ChildChallengeList []*ChallengeBrief `protobuf:"bytes,6,rep,name=child_challenge_list,json=childChallengeList,proto3" json:"child_challenge_list,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,3,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+ FinishType CustomDungeonFinishType `protobuf:"varint,7,opt,name=finish_type,json=finishType,proto3,enum=proto.CustomDungeonFinishType" json:"finish_type,omitempty"`
+ TimeCost uint32 `protobuf:"varint,11,opt,name=time_cost,json=timeCost,proto3" json:"time_cost,omitempty"`
+ IsArriveFinish bool `protobuf:"varint,2,opt,name=is_arrive_finish,json=isArriveFinish,proto3" json:"is_arrive_finish,omitempty"`
+ IsStored bool `protobuf:"varint,14,opt,name=is_stored,json=isStored,proto3" json:"is_stored,omitempty"`
+}
+
+func (x *CustomDungeonResultInfo) Reset() {
+ *x = CustomDungeonResultInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonResultInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonResultInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonResultInfo) ProtoMessage() {}
+
+func (x *CustomDungeonResultInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonResultInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonResultInfo.ProtoReflect.Descriptor instead.
+func (*CustomDungeonResultInfo) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonResultInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonResultInfo) GetIsLiked() bool {
+ if x != nil {
+ return x.IsLiked
+ }
+ return false
+}
+
+func (x *CustomDungeonResultInfo) GetGotCoinNum() uint32 {
+ if x != nil {
+ return x.GotCoinNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonResultInfo) GetChildChallengeList() []*ChallengeBrief {
+ if x != nil {
+ return x.ChildChallengeList
+ }
+ return nil
+}
+
+func (x *CustomDungeonResultInfo) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+func (x *CustomDungeonResultInfo) GetFinishType() CustomDungeonFinishType {
+ if x != nil {
+ return x.FinishType
+ }
+ return CustomDungeonFinishType_CUSTOM_DUNGEON_FINISH_TYPE_PLAY_NORMAL
+}
+
+func (x *CustomDungeonResultInfo) GetTimeCost() uint32 {
+ if x != nil {
+ return x.TimeCost
+ }
+ return 0
+}
+
+func (x *CustomDungeonResultInfo) GetIsArriveFinish() bool {
+ if x != nil {
+ return x.IsArriveFinish
+ }
+ return false
+}
+
+func (x *CustomDungeonResultInfo) GetIsStored() bool {
+ if x != nil {
+ return x.IsStored
+ }
+ return false
+}
+
+var File_CustomDungeonResultInfo_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonResultInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x02, 0x0a, 0x17,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x69,
+ 0x6b, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x69, 0x6b,
+ 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x67, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6e,
+ 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x6f, 0x74, 0x43, 0x6f, 0x69,
+ 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x47, 0x0a, 0x14, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x12, 0x63, 0x68, 0x69, 0x6c, 0x64,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a,
+ 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64,
+ 0x12, 0x3f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x28,
+ 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x41, 0x72, 0x72, 0x69,
+ 0x76, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73,
+ 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonResultInfo_proto_rawDescOnce sync.Once
+ file_CustomDungeonResultInfo_proto_rawDescData = file_CustomDungeonResultInfo_proto_rawDesc
+)
+
+func file_CustomDungeonResultInfo_proto_rawDescGZIP() []byte {
+ file_CustomDungeonResultInfo_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonResultInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonResultInfo_proto_rawDescData)
+ })
+ return file_CustomDungeonResultInfo_proto_rawDescData
+}
+
+var file_CustomDungeonResultInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonResultInfo_proto_goTypes = []interface{}{
+ (*CustomDungeonResultInfo)(nil), // 0: proto.CustomDungeonResultInfo
+ (*ChallengeBrief)(nil), // 1: proto.ChallengeBrief
+ (CustomDungeonFinishType)(0), // 2: proto.CustomDungeonFinishType
+}
+var file_CustomDungeonResultInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonResultInfo.child_challenge_list:type_name -> proto.ChallengeBrief
+ 2, // 1: proto.CustomDungeonResultInfo.finish_type:type_name -> proto.CustomDungeonFinishType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonResultInfo_proto_init() }
+func file_CustomDungeonResultInfo_proto_init() {
+ if File_CustomDungeonResultInfo_proto != nil {
+ return
+ }
+ file_ChallengeBrief_proto_init()
+ file_CustomDungeonFinishType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonResultInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonResultInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonResultInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonResultInfo_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonResultInfo_proto_depIdxs,
+ MessageInfos: file_CustomDungeonResultInfo_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonResultInfo_proto = out.File
+ file_CustomDungeonResultInfo_proto_rawDesc = nil
+ file_CustomDungeonResultInfo_proto_goTypes = nil
+ file_CustomDungeonResultInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonRoom.pb.go b/protocol/proto/CustomDungeonRoom.pb.go
new file mode 100644
index 00000000..43fa0c08
--- /dev/null
+++ b/protocol/proto/CustomDungeonRoom.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonRoom.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonRoom struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,15,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ BlockList []*CustomDungeonBlock `protobuf:"bytes,4,rep,name=block_list,json=blockList,proto3" json:"block_list,omitempty"`
+}
+
+func (x *CustomDungeonRoom) Reset() {
+ *x = CustomDungeonRoom{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonRoom_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonRoom) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonRoom) ProtoMessage() {}
+
+func (x *CustomDungeonRoom) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonRoom_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonRoom.ProtoReflect.Descriptor instead.
+func (*CustomDungeonRoom) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonRoom_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonRoom) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *CustomDungeonRoom) GetBlockList() []*CustomDungeonBlock {
+ if x != nil {
+ return x.BlockList
+ }
+ return nil
+}
+
+var File_CustomDungeonRoom_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonRoom_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x6f, 0x6f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x18, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x11, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x12,
+ 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonRoom_proto_rawDescOnce sync.Once
+ file_CustomDungeonRoom_proto_rawDescData = file_CustomDungeonRoom_proto_rawDesc
+)
+
+func file_CustomDungeonRoom_proto_rawDescGZIP() []byte {
+ file_CustomDungeonRoom_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonRoom_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonRoom_proto_rawDescData)
+ })
+ return file_CustomDungeonRoom_proto_rawDescData
+}
+
+var file_CustomDungeonRoom_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonRoom_proto_goTypes = []interface{}{
+ (*CustomDungeonRoom)(nil), // 0: proto.CustomDungeonRoom
+ (*CustomDungeonBlock)(nil), // 1: proto.CustomDungeonBlock
+}
+var file_CustomDungeonRoom_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonRoom.block_list:type_name -> proto.CustomDungeonBlock
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonRoom_proto_init() }
+func file_CustomDungeonRoom_proto_init() {
+ if File_CustomDungeonRoom_proto != nil {
+ return
+ }
+ file_CustomDungeonBlock_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonRoom_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonRoom); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonRoom_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonRoom_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonRoom_proto_depIdxs,
+ MessageInfos: file_CustomDungeonRoom_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonRoom_proto = out.File
+ file_CustomDungeonRoom_proto_rawDesc = nil
+ file_CustomDungeonRoom_proto_goTypes = nil
+ file_CustomDungeonRoom_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonSetting.pb.go b/protocol/proto/CustomDungeonSetting.pb.go
new file mode 100644
index 00000000..6e632f0f
--- /dev/null
+++ b/protocol/proto/CustomDungeonSetting.pb.go
@@ -0,0 +1,221 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonSetting.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonSetting struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenRoomList []uint32 `protobuf:"varint,1,rep,packed,name=open_room_list,json=openRoomList,proto3" json:"open_room_list,omitempty"`
+ IsArriveFinish bool `protobuf:"varint,14,opt,name=is_arrive_finish,json=isArriveFinish,proto3" json:"is_arrive_finish,omitempty"`
+ LifeNum uint32 `protobuf:"varint,6,opt,name=life_num,json=lifeNum,proto3" json:"life_num,omitempty"`
+ StartRoomId uint32 `protobuf:"varint,4,opt,name=start_room_id,json=startRoomId,proto3" json:"start_room_id,omitempty"`
+ IsForbidSkill bool `protobuf:"varint,3,opt,name=is_forbid_skill,json=isForbidSkill,proto3" json:"is_forbid_skill,omitempty"`
+ CoinLimit uint32 `protobuf:"varint,10,opt,name=coin_limit,json=coinLimit,proto3" json:"coin_limit,omitempty"`
+ TimeLimit uint32 `protobuf:"varint,9,opt,name=time_limit,json=timeLimit,proto3" json:"time_limit,omitempty"`
+}
+
+func (x *CustomDungeonSetting) Reset() {
+ *x = CustomDungeonSetting{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonSetting_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonSetting) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonSetting) ProtoMessage() {}
+
+func (x *CustomDungeonSetting) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonSetting_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonSetting.ProtoReflect.Descriptor instead.
+func (*CustomDungeonSetting) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonSetting_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonSetting) GetOpenRoomList() []uint32 {
+ if x != nil {
+ return x.OpenRoomList
+ }
+ return nil
+}
+
+func (x *CustomDungeonSetting) GetIsArriveFinish() bool {
+ if x != nil {
+ return x.IsArriveFinish
+ }
+ return false
+}
+
+func (x *CustomDungeonSetting) GetLifeNum() uint32 {
+ if x != nil {
+ return x.LifeNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonSetting) GetStartRoomId() uint32 {
+ if x != nil {
+ return x.StartRoomId
+ }
+ return 0
+}
+
+func (x *CustomDungeonSetting) GetIsForbidSkill() bool {
+ if x != nil {
+ return x.IsForbidSkill
+ }
+ return false
+}
+
+func (x *CustomDungeonSetting) GetCoinLimit() uint32 {
+ if x != nil {
+ return x.CoinLimit
+ }
+ return 0
+}
+
+func (x *CustomDungeonSetting) GetTimeLimit() uint32 {
+ if x != nil {
+ return x.TimeLimit
+ }
+ return 0
+}
+
+var File_CustomDungeonSetting_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonSetting_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x14, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0e,
+ 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73,
+ 0x41, 0x72, 0x72, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x08,
+ 0x6c, 0x69, 0x66, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x6c, 0x69, 0x66, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69,
+ 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
+ 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x69, 0x6e, 0x4c, 0x69, 0x6d,
+ 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonSetting_proto_rawDescOnce sync.Once
+ file_CustomDungeonSetting_proto_rawDescData = file_CustomDungeonSetting_proto_rawDesc
+)
+
+func file_CustomDungeonSetting_proto_rawDescGZIP() []byte {
+ file_CustomDungeonSetting_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonSetting_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonSetting_proto_rawDescData)
+ })
+ return file_CustomDungeonSetting_proto_rawDescData
+}
+
+var file_CustomDungeonSetting_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonSetting_proto_goTypes = []interface{}{
+ (*CustomDungeonSetting)(nil), // 0: proto.CustomDungeonSetting
+}
+var file_CustomDungeonSetting_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonSetting_proto_init() }
+func file_CustomDungeonSetting_proto_init() {
+ if File_CustomDungeonSetting_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonSetting_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonSetting); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonSetting_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonSetting_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonSetting_proto_depIdxs,
+ MessageInfos: file_CustomDungeonSetting_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonSetting_proto = out.File
+ file_CustomDungeonSetting_proto_rawDesc = nil
+ file_CustomDungeonSetting_proto_goTypes = nil
+ file_CustomDungeonSetting_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonSettingMuipData.pb.go b/protocol/proto/CustomDungeonSettingMuipData.pb.go
new file mode 100644
index 00000000..c009aa9b
--- /dev/null
+++ b/protocol/proto/CustomDungeonSettingMuipData.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonSettingMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonSettingMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsArriveFinish bool `protobuf:"varint,1,opt,name=is_arrive_finish,json=isArriveFinish,proto3" json:"is_arrive_finish,omitempty"`
+ CoinLimit uint32 `protobuf:"varint,2,opt,name=coin_limit,json=coinLimit,proto3" json:"coin_limit,omitempty"`
+ TimeLimit uint32 `protobuf:"varint,3,opt,name=time_limit,json=timeLimit,proto3" json:"time_limit,omitempty"`
+ IsForbidSkill bool `protobuf:"varint,4,opt,name=is_forbid_skill,json=isForbidSkill,proto3" json:"is_forbid_skill,omitempty"`
+ LifeNum uint32 `protobuf:"varint,5,opt,name=life_num,json=lifeNum,proto3" json:"life_num,omitempty"`
+}
+
+func (x *CustomDungeonSettingMuipData) Reset() {
+ *x = CustomDungeonSettingMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonSettingMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonSettingMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonSettingMuipData) ProtoMessage() {}
+
+func (x *CustomDungeonSettingMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonSettingMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonSettingMuipData.ProtoReflect.Descriptor instead.
+func (*CustomDungeonSettingMuipData) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonSettingMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonSettingMuipData) GetIsArriveFinish() bool {
+ if x != nil {
+ return x.IsArriveFinish
+ }
+ return false
+}
+
+func (x *CustomDungeonSettingMuipData) GetCoinLimit() uint32 {
+ if x != nil {
+ return x.CoinLimit
+ }
+ return 0
+}
+
+func (x *CustomDungeonSettingMuipData) GetTimeLimit() uint32 {
+ if x != nil {
+ return x.TimeLimit
+ }
+ return 0
+}
+
+func (x *CustomDungeonSettingMuipData) GetIsForbidSkill() bool {
+ if x != nil {
+ return x.IsForbidSkill
+ }
+ return false
+}
+
+func (x *CustomDungeonSettingMuipData) GetLifeNum() uint32 {
+ if x != nil {
+ return x.LifeNum
+ }
+ return 0
+}
+
+var File_CustomDungeonSettingMuipData_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonSettingMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x1c,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10,
+ 0x69, 0x73, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x41, 0x72, 0x72, 0x69, 0x76, 0x65,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6c,
+ 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x69, 0x6e,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69,
+ 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x4c,
+ 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x62, 0x69,
+ 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69,
+ 0x73, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08,
+ 0x6c, 0x69, 0x66, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x6c, 0x69, 0x66, 0x65, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonSettingMuipData_proto_rawDescOnce sync.Once
+ file_CustomDungeonSettingMuipData_proto_rawDescData = file_CustomDungeonSettingMuipData_proto_rawDesc
+)
+
+func file_CustomDungeonSettingMuipData_proto_rawDescGZIP() []byte {
+ file_CustomDungeonSettingMuipData_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonSettingMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonSettingMuipData_proto_rawDescData)
+ })
+ return file_CustomDungeonSettingMuipData_proto_rawDescData
+}
+
+var file_CustomDungeonSettingMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonSettingMuipData_proto_goTypes = []interface{}{
+ (*CustomDungeonSettingMuipData)(nil), // 0: proto.CustomDungeonSettingMuipData
+}
+var file_CustomDungeonSettingMuipData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonSettingMuipData_proto_init() }
+func file_CustomDungeonSettingMuipData_proto_init() {
+ if File_CustomDungeonSettingMuipData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonSettingMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonSettingMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonSettingMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonSettingMuipData_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonSettingMuipData_proto_depIdxs,
+ MessageInfos: file_CustomDungeonSettingMuipData_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonSettingMuipData_proto = out.File
+ file_CustomDungeonSettingMuipData_proto_rawDesc = nil
+ file_CustomDungeonSettingMuipData_proto_goTypes = nil
+ file_CustomDungeonSettingMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonSocial.pb.go b/protocol/proto/CustomDungeonSocial.pb.go
new file mode 100644
index 00000000..d10e584a
--- /dev/null
+++ b/protocol/proto/CustomDungeonSocial.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonSocial.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonSocial struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WinNum uint32 `protobuf:"varint,4,opt,name=win_num,json=winNum,proto3" json:"win_num,omitempty"`
+ LikeNum uint32 `protobuf:"varint,12,opt,name=like_num,json=likeNum,proto3" json:"like_num,omitempty"`
+ PlayNum uint32 `protobuf:"varint,7,opt,name=play_num,json=playNum,proto3" json:"play_num,omitempty"`
+ StoreNum uint32 `protobuf:"varint,2,opt,name=store_num,json=storeNum,proto3" json:"store_num,omitempty"`
+}
+
+func (x *CustomDungeonSocial) Reset() {
+ *x = CustomDungeonSocial{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonSocial_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonSocial) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonSocial) ProtoMessage() {}
+
+func (x *CustomDungeonSocial) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonSocial_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonSocial.ProtoReflect.Descriptor instead.
+func (*CustomDungeonSocial) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonSocial_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonSocial) GetWinNum() uint32 {
+ if x != nil {
+ return x.WinNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonSocial) GetLikeNum() uint32 {
+ if x != nil {
+ return x.LikeNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonSocial) GetPlayNum() uint32 {
+ if x != nil {
+ return x.PlayNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonSocial) GetStoreNum() uint32 {
+ if x != nil {
+ return x.StoreNum
+ }
+ return 0
+}
+
+var File_CustomDungeonSocial_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonSocial_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x69,
+ 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x69, 0x6e,
+ 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x69, 0x6b, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x19,
+ 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonSocial_proto_rawDescOnce sync.Once
+ file_CustomDungeonSocial_proto_rawDescData = file_CustomDungeonSocial_proto_rawDesc
+)
+
+func file_CustomDungeonSocial_proto_rawDescGZIP() []byte {
+ file_CustomDungeonSocial_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonSocial_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonSocial_proto_rawDescData)
+ })
+ return file_CustomDungeonSocial_proto_rawDescData
+}
+
+var file_CustomDungeonSocial_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonSocial_proto_goTypes = []interface{}{
+ (*CustomDungeonSocial)(nil), // 0: proto.CustomDungeonSocial
+}
+var file_CustomDungeonSocial_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonSocial_proto_init() }
+func file_CustomDungeonSocial_proto_init() {
+ if File_CustomDungeonSocial_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonSocial_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonSocial); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonSocial_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonSocial_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonSocial_proto_depIdxs,
+ MessageInfos: file_CustomDungeonSocial_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonSocial_proto = out.File
+ file_CustomDungeonSocial_proto_rawDesc = nil
+ file_CustomDungeonSocial_proto_goTypes = nil
+ file_CustomDungeonSocial_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonSocialMuipData.pb.go b/protocol/proto/CustomDungeonSocialMuipData.pb.go
new file mode 100644
index 00000000..60a68ea9
--- /dev/null
+++ b/protocol/proto/CustomDungeonSocialMuipData.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonSocialMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonSocialMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayNum uint32 `protobuf:"varint,1,opt,name=play_num,json=playNum,proto3" json:"play_num,omitempty"`
+ LikeNum uint32 `protobuf:"varint,2,opt,name=like_num,json=likeNum,proto3" json:"like_num,omitempty"`
+ StoreNum uint32 `protobuf:"varint,3,opt,name=store_num,json=storeNum,proto3" json:"store_num,omitempty"`
+ WinNum uint32 `protobuf:"varint,4,opt,name=win_num,json=winNum,proto3" json:"win_num,omitempty"`
+}
+
+func (x *CustomDungeonSocialMuipData) Reset() {
+ *x = CustomDungeonSocialMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonSocialMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonSocialMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonSocialMuipData) ProtoMessage() {}
+
+func (x *CustomDungeonSocialMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonSocialMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonSocialMuipData.ProtoReflect.Descriptor instead.
+func (*CustomDungeonSocialMuipData) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonSocialMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonSocialMuipData) GetPlayNum() uint32 {
+ if x != nil {
+ return x.PlayNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonSocialMuipData) GetLikeNum() uint32 {
+ if x != nil {
+ return x.LikeNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonSocialMuipData) GetStoreNum() uint32 {
+ if x != nil {
+ return x.StoreNum
+ }
+ return 0
+}
+
+func (x *CustomDungeonSocialMuipData) GetWinNum() uint32 {
+ if x != nil {
+ return x.WinNum
+ }
+ return 0
+}
+
+var File_CustomDungeonSocialMuipData_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonSocialMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x1b, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6f, 0x63, 0x69,
+ 0x61, 0x6c, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6c,
+ 0x61, 0x79, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6c,
+ 0x61, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x69, 0x6b, 0x65, 0x4e, 0x75, 0x6d,
+ 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x17, 0x0a,
+ 0x07, 0x77, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x77, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonSocialMuipData_proto_rawDescOnce sync.Once
+ file_CustomDungeonSocialMuipData_proto_rawDescData = file_CustomDungeonSocialMuipData_proto_rawDesc
+)
+
+func file_CustomDungeonSocialMuipData_proto_rawDescGZIP() []byte {
+ file_CustomDungeonSocialMuipData_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonSocialMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonSocialMuipData_proto_rawDescData)
+ })
+ return file_CustomDungeonSocialMuipData_proto_rawDescData
+}
+
+var file_CustomDungeonSocialMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonSocialMuipData_proto_goTypes = []interface{}{
+ (*CustomDungeonSocialMuipData)(nil), // 0: proto.CustomDungeonSocialMuipData
+}
+var file_CustomDungeonSocialMuipData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonSocialMuipData_proto_init() }
+func file_CustomDungeonSocialMuipData_proto_init() {
+ if File_CustomDungeonSocialMuipData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonSocialMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonSocialMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonSocialMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonSocialMuipData_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonSocialMuipData_proto_depIdxs,
+ MessageInfos: file_CustomDungeonSocialMuipData_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonSocialMuipData_proto = out.File
+ file_CustomDungeonSocialMuipData_proto_rawDesc = nil
+ file_CustomDungeonSocialMuipData_proto_goTypes = nil
+ file_CustomDungeonSocialMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonState.pb.go b/protocol/proto/CustomDungeonState.pb.go
new file mode 100644
index 00000000..c7a4237a
--- /dev/null
+++ b/protocol/proto/CustomDungeonState.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonState int32
+
+const (
+ CustomDungeonState_CUSTOM_DUNGEON_STATE_EDIT CustomDungeonState = 0
+ CustomDungeonState_CUSTOM_DUNGEON_STATE_SELF_PASS CustomDungeonState = 1
+ CustomDungeonState_CUSTOM_DUNGEON_STATE_PUBLISHED CustomDungeonState = 2
+)
+
+// Enum value maps for CustomDungeonState.
+var (
+ CustomDungeonState_name = map[int32]string{
+ 0: "CUSTOM_DUNGEON_STATE_EDIT",
+ 1: "CUSTOM_DUNGEON_STATE_SELF_PASS",
+ 2: "CUSTOM_DUNGEON_STATE_PUBLISHED",
+ }
+ CustomDungeonState_value = map[string]int32{
+ "CUSTOM_DUNGEON_STATE_EDIT": 0,
+ "CUSTOM_DUNGEON_STATE_SELF_PASS": 1,
+ "CUSTOM_DUNGEON_STATE_PUBLISHED": 2,
+ }
+)
+
+func (x CustomDungeonState) Enum() *CustomDungeonState {
+ p := new(CustomDungeonState)
+ *p = x
+ return p
+}
+
+func (x CustomDungeonState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CustomDungeonState) Descriptor() protoreflect.EnumDescriptor {
+ return file_CustomDungeonState_proto_enumTypes[0].Descriptor()
+}
+
+func (CustomDungeonState) Type() protoreflect.EnumType {
+ return &file_CustomDungeonState_proto_enumTypes[0]
+}
+
+func (x CustomDungeonState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CustomDungeonState.Descriptor instead.
+func (CustomDungeonState) EnumDescriptor() ([]byte, []int) {
+ return file_CustomDungeonState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_CustomDungeonState_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonState_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2a, 0x7b, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x55, 0x53, 0x54, 0x4f,
+ 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x45, 0x44, 0x49, 0x54, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d,
+ 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53,
+ 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x02, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonState_proto_rawDescOnce sync.Once
+ file_CustomDungeonState_proto_rawDescData = file_CustomDungeonState_proto_rawDesc
+)
+
+func file_CustomDungeonState_proto_rawDescGZIP() []byte {
+ file_CustomDungeonState_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonState_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonState_proto_rawDescData)
+ })
+ return file_CustomDungeonState_proto_rawDescData
+}
+
+var file_CustomDungeonState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_CustomDungeonState_proto_goTypes = []interface{}{
+ (CustomDungeonState)(0), // 0: proto.CustomDungeonState
+}
+var file_CustomDungeonState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonState_proto_init() }
+func file_CustomDungeonState_proto_init() {
+ if File_CustomDungeonState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonState_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonState_proto_depIdxs,
+ EnumInfos: file_CustomDungeonState_proto_enumTypes,
+ }.Build()
+ File_CustomDungeonState_proto = out.File
+ file_CustomDungeonState_proto_rawDesc = nil
+ file_CustomDungeonState_proto_goTypes = nil
+ file_CustomDungeonState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonUpdateNotify.pb.go b/protocol/proto/CustomDungeonUpdateNotify.pb.go
new file mode 100644
index 00000000..2d99c375
--- /dev/null
+++ b/protocol/proto/CustomDungeonUpdateNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6223
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CustomDungeonUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonBrief *CustomDungeonBrief `protobuf:"bytes,12,opt,name=dungeon_brief,json=dungeonBrief,proto3" json:"dungeon_brief,omitempty"`
+}
+
+func (x *CustomDungeonUpdateNotify) Reset() {
+ *x = CustomDungeonUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonUpdateNotify) ProtoMessage() {}
+
+func (x *CustomDungeonUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonUpdateNotify.ProtoReflect.Descriptor instead.
+func (*CustomDungeonUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonUpdateNotify) GetDungeonBrief() *CustomDungeonBrief {
+ if x != nil {
+ return x.DungeonBrief
+ }
+ return nil
+}
+
+var File_CustomDungeonUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x19, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x3e, 0x0a, 0x0d, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x52, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonUpdateNotify_proto_rawDescOnce sync.Once
+ file_CustomDungeonUpdateNotify_proto_rawDescData = file_CustomDungeonUpdateNotify_proto_rawDesc
+)
+
+func file_CustomDungeonUpdateNotify_proto_rawDescGZIP() []byte {
+ file_CustomDungeonUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonUpdateNotify_proto_rawDescData)
+ })
+ return file_CustomDungeonUpdateNotify_proto_rawDescData
+}
+
+var file_CustomDungeonUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonUpdateNotify_proto_goTypes = []interface{}{
+ (*CustomDungeonUpdateNotify)(nil), // 0: proto.CustomDungeonUpdateNotify
+ (*CustomDungeonBrief)(nil), // 1: proto.CustomDungeonBrief
+}
+var file_CustomDungeonUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomDungeonUpdateNotify.dungeon_brief:type_name -> proto.CustomDungeonBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonUpdateNotify_proto_init() }
+func file_CustomDungeonUpdateNotify_proto_init() {
+ if File_CustomDungeonUpdateNotify_proto != nil {
+ return
+ }
+ file_CustomDungeonBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonUpdateNotify_proto_depIdxs,
+ MessageInfos: file_CustomDungeonUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonUpdateNotify_proto = out.File
+ file_CustomDungeonUpdateNotify_proto_rawDesc = nil
+ file_CustomDungeonUpdateNotify_proto_goTypes = nil
+ file_CustomDungeonUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomDungeonVerify.pb.go b/protocol/proto/CustomDungeonVerify.pb.go
new file mode 100644
index 00000000..3a39bd25
--- /dev/null
+++ b/protocol/proto/CustomDungeonVerify.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomDungeonVerify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomDungeonVerify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonGuid uint64 `protobuf:"varint,3,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+ Uid uint32 `protobuf:"varint,15,opt,name=uid,proto3" json:"uid,omitempty"`
+ Timestamp uint32 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+ Region string `protobuf:"bytes,11,opt,name=region,proto3" json:"region,omitempty"`
+ Lang uint32 `protobuf:"varint,13,opt,name=lang,proto3" json:"lang,omitempty"`
+}
+
+func (x *CustomDungeonVerify) Reset() {
+ *x = CustomDungeonVerify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomDungeonVerify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomDungeonVerify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomDungeonVerify) ProtoMessage() {}
+
+func (x *CustomDungeonVerify) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomDungeonVerify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomDungeonVerify.ProtoReflect.Descriptor instead.
+func (*CustomDungeonVerify) Descriptor() ([]byte, []int) {
+ return file_CustomDungeonVerify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomDungeonVerify) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+func (x *CustomDungeonVerify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *CustomDungeonVerify) GetTimestamp() uint32 {
+ if x != nil {
+ return x.Timestamp
+ }
+ return 0
+}
+
+func (x *CustomDungeonVerify) GetRegion() string {
+ if x != nil {
+ return x.Region
+ }
+ return ""
+}
+
+func (x *CustomDungeonVerify) GetLang() uint32 {
+ if x != nil {
+ return x.Lang
+ }
+ return 0
+}
+
+var File_CustomDungeonVerify_proto protoreflect.FileDescriptor
+
+var file_CustomDungeonVerify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x56,
+ 0x65, 0x72, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a,
+ 0x03, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
+ 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a,
+ 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomDungeonVerify_proto_rawDescOnce sync.Once
+ file_CustomDungeonVerify_proto_rawDescData = file_CustomDungeonVerify_proto_rawDesc
+)
+
+func file_CustomDungeonVerify_proto_rawDescGZIP() []byte {
+ file_CustomDungeonVerify_proto_rawDescOnce.Do(func() {
+ file_CustomDungeonVerify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomDungeonVerify_proto_rawDescData)
+ })
+ return file_CustomDungeonVerify_proto_rawDescData
+}
+
+var file_CustomDungeonVerify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomDungeonVerify_proto_goTypes = []interface{}{
+ (*CustomDungeonVerify)(nil), // 0: proto.CustomDungeonVerify
+}
+var file_CustomDungeonVerify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CustomDungeonVerify_proto_init() }
+func file_CustomDungeonVerify_proto_init() {
+ if File_CustomDungeonVerify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CustomDungeonVerify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomDungeonVerify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomDungeonVerify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomDungeonVerify_proto_goTypes,
+ DependencyIndexes: file_CustomDungeonVerify_proto_depIdxs,
+ MessageInfos: file_CustomDungeonVerify_proto_msgTypes,
+ }.Build()
+ File_CustomDungeonVerify_proto = out.File
+ file_CustomDungeonVerify_proto_rawDesc = nil
+ file_CustomDungeonVerify_proto_goTypes = nil
+ file_CustomDungeonVerify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CustomGadgetTreeInfo.pb.go b/protocol/proto/CustomGadgetTreeInfo.pb.go
new file mode 100644
index 00000000..c13b63e4
--- /dev/null
+++ b/protocol/proto/CustomGadgetTreeInfo.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CustomGadgetTreeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CustomGadgetTreeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NodeList []*CustomCommonNodeInfo `protobuf:"bytes,1,rep,name=node_list,json=nodeList,proto3" json:"node_list,omitempty"`
+}
+
+func (x *CustomGadgetTreeInfo) Reset() {
+ *x = CustomGadgetTreeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CustomGadgetTreeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomGadgetTreeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomGadgetTreeInfo) ProtoMessage() {}
+
+func (x *CustomGadgetTreeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_CustomGadgetTreeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomGadgetTreeInfo.ProtoReflect.Descriptor instead.
+func (*CustomGadgetTreeInfo) Descriptor() ([]byte, []int) {
+ return file_CustomGadgetTreeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CustomGadgetTreeInfo) GetNodeList() []*CustomCommonNodeInfo {
+ if x != nil {
+ return x.NodeList
+ }
+ return nil
+}
+
+var File_CustomGadgetTreeInfo_proto protoreflect.FileDescriptor
+
+var file_CustomGadgetTreeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72,
+ 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x50, 0x0a, 0x14, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54,
+ 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e,
+ 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CustomGadgetTreeInfo_proto_rawDescOnce sync.Once
+ file_CustomGadgetTreeInfo_proto_rawDescData = file_CustomGadgetTreeInfo_proto_rawDesc
+)
+
+func file_CustomGadgetTreeInfo_proto_rawDescGZIP() []byte {
+ file_CustomGadgetTreeInfo_proto_rawDescOnce.Do(func() {
+ file_CustomGadgetTreeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_CustomGadgetTreeInfo_proto_rawDescData)
+ })
+ return file_CustomGadgetTreeInfo_proto_rawDescData
+}
+
+var file_CustomGadgetTreeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CustomGadgetTreeInfo_proto_goTypes = []interface{}{
+ (*CustomGadgetTreeInfo)(nil), // 0: proto.CustomGadgetTreeInfo
+ (*CustomCommonNodeInfo)(nil), // 1: proto.CustomCommonNodeInfo
+}
+var file_CustomGadgetTreeInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.CustomGadgetTreeInfo.node_list:type_name -> proto.CustomCommonNodeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CustomGadgetTreeInfo_proto_init() }
+func file_CustomGadgetTreeInfo_proto_init() {
+ if File_CustomGadgetTreeInfo_proto != nil {
+ return
+ }
+ file_CustomCommonNodeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CustomGadgetTreeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomGadgetTreeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CustomGadgetTreeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CustomGadgetTreeInfo_proto_goTypes,
+ DependencyIndexes: file_CustomGadgetTreeInfo_proto_depIdxs,
+ MessageInfos: file_CustomGadgetTreeInfo_proto_msgTypes,
+ }.Build()
+ File_CustomGadgetTreeInfo_proto = out.File
+ file_CustomGadgetTreeInfo_proto_rawDesc = nil
+ file_CustomGadgetTreeInfo_proto_goTypes = nil
+ file_CustomGadgetTreeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CutSceneBeginNotify.pb.go b/protocol/proto/CutSceneBeginNotify.pb.go
new file mode 100644
index 00000000..348988db
--- /dev/null
+++ b/protocol/proto/CutSceneBeginNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CutSceneBeginNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 296
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CutSceneBeginNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsWaitOthers bool `protobuf:"varint,9,opt,name=is_wait_others,json=isWaitOthers,proto3" json:"is_wait_others,omitempty"`
+ CutsceneId uint32 `protobuf:"varint,14,opt,name=cutscene_id,json=cutsceneId,proto3" json:"cutscene_id,omitempty"`
+ ExtraParamList []*CutSceneExtraParam `protobuf:"bytes,3,rep,name=extra_param_list,json=extraParamList,proto3" json:"extra_param_list,omitempty"`
+}
+
+func (x *CutSceneBeginNotify) Reset() {
+ *x = CutSceneBeginNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CutSceneBeginNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CutSceneBeginNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CutSceneBeginNotify) ProtoMessage() {}
+
+func (x *CutSceneBeginNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CutSceneBeginNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CutSceneBeginNotify.ProtoReflect.Descriptor instead.
+func (*CutSceneBeginNotify) Descriptor() ([]byte, []int) {
+ return file_CutSceneBeginNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CutSceneBeginNotify) GetIsWaitOthers() bool {
+ if x != nil {
+ return x.IsWaitOthers
+ }
+ return false
+}
+
+func (x *CutSceneBeginNotify) GetCutsceneId() uint32 {
+ if x != nil {
+ return x.CutsceneId
+ }
+ return 0
+}
+
+func (x *CutSceneBeginNotify) GetExtraParamList() []*CutSceneExtraParam {
+ if x != nil {
+ return x.ExtraParamList
+ }
+ return nil
+}
+
+var File_CutSceneBeginNotify_proto protoreflect.FileDescriptor
+
+var file_CutSceneBeginNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x18, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x78, 0x74, 0x72,
+ 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a,
+ 0x13, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f,
+ 0x6f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73,
+ 0x57, 0x61, 0x69, 0x74, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75,
+ 0x74, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x63, 0x75, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x10, 0x65,
+ 0x78, 0x74, 0x72, 0x61, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75,
+ 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CutSceneBeginNotify_proto_rawDescOnce sync.Once
+ file_CutSceneBeginNotify_proto_rawDescData = file_CutSceneBeginNotify_proto_rawDesc
+)
+
+func file_CutSceneBeginNotify_proto_rawDescGZIP() []byte {
+ file_CutSceneBeginNotify_proto_rawDescOnce.Do(func() {
+ file_CutSceneBeginNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CutSceneBeginNotify_proto_rawDescData)
+ })
+ return file_CutSceneBeginNotify_proto_rawDescData
+}
+
+var file_CutSceneBeginNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CutSceneBeginNotify_proto_goTypes = []interface{}{
+ (*CutSceneBeginNotify)(nil), // 0: proto.CutSceneBeginNotify
+ (*CutSceneExtraParam)(nil), // 1: proto.CutSceneExtraParam
+}
+var file_CutSceneBeginNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.CutSceneBeginNotify.extra_param_list:type_name -> proto.CutSceneExtraParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_CutSceneBeginNotify_proto_init() }
+func file_CutSceneBeginNotify_proto_init() {
+ if File_CutSceneBeginNotify_proto != nil {
+ return
+ }
+ file_CutSceneExtraParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_CutSceneBeginNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CutSceneBeginNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CutSceneBeginNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CutSceneBeginNotify_proto_goTypes,
+ DependencyIndexes: file_CutSceneBeginNotify_proto_depIdxs,
+ MessageInfos: file_CutSceneBeginNotify_proto_msgTypes,
+ }.Build()
+ File_CutSceneBeginNotify_proto = out.File
+ file_CutSceneBeginNotify_proto_rawDesc = nil
+ file_CutSceneBeginNotify_proto_goTypes = nil
+ file_CutSceneBeginNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CutSceneEndNotify.pb.go b/protocol/proto/CutSceneEndNotify.pb.go
new file mode 100644
index 00000000..1f4eff04
--- /dev/null
+++ b/protocol/proto/CutSceneEndNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CutSceneEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 215
+// EnetChannelId: 0
+// EnetIsReliable: true
+type CutSceneEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CutsceneId uint32 `protobuf:"varint,14,opt,name=cutscene_id,json=cutsceneId,proto3" json:"cutscene_id,omitempty"`
+}
+
+func (x *CutSceneEndNotify) Reset() {
+ *x = CutSceneEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CutSceneEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CutSceneEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CutSceneEndNotify) ProtoMessage() {}
+
+func (x *CutSceneEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CutSceneEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CutSceneEndNotify.ProtoReflect.Descriptor instead.
+func (*CutSceneEndNotify) Descriptor() ([]byte, []int) {
+ return file_CutSceneEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CutSceneEndNotify) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *CutSceneEndNotify) GetCutsceneId() uint32 {
+ if x != nil {
+ return x.CutsceneId
+ }
+ return 0
+}
+
+var File_CutSceneEndNotify_proto protoreflect.FileDescriptor
+
+var file_CutSceneEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x4e, 0x0a, 0x11, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x75, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CutSceneEndNotify_proto_rawDescOnce sync.Once
+ file_CutSceneEndNotify_proto_rawDescData = file_CutSceneEndNotify_proto_rawDesc
+)
+
+func file_CutSceneEndNotify_proto_rawDescGZIP() []byte {
+ file_CutSceneEndNotify_proto_rawDescOnce.Do(func() {
+ file_CutSceneEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CutSceneEndNotify_proto_rawDescData)
+ })
+ return file_CutSceneEndNotify_proto_rawDescData
+}
+
+var file_CutSceneEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CutSceneEndNotify_proto_goTypes = []interface{}{
+ (*CutSceneEndNotify)(nil), // 0: proto.CutSceneEndNotify
+}
+var file_CutSceneEndNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CutSceneEndNotify_proto_init() }
+func file_CutSceneEndNotify_proto_init() {
+ if File_CutSceneEndNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CutSceneEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CutSceneEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CutSceneEndNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CutSceneEndNotify_proto_goTypes,
+ DependencyIndexes: file_CutSceneEndNotify_proto_depIdxs,
+ MessageInfos: file_CutSceneEndNotify_proto_msgTypes,
+ }.Build()
+ File_CutSceneEndNotify_proto = out.File
+ file_CutSceneEndNotify_proto_rawDesc = nil
+ file_CutSceneEndNotify_proto_goTypes = nil
+ file_CutSceneEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CutSceneExtraParam.pb.go b/protocol/proto/CutSceneExtraParam.pb.go
new file mode 100644
index 00000000..72a9950e
--- /dev/null
+++ b/protocol/proto/CutSceneExtraParam.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CutSceneExtraParam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CutSceneExtraParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DetailParamList []float64 `protobuf:"fixed64,1,rep,packed,name=detail_param_list,json=detailParamList,proto3" json:"detail_param_list,omitempty"`
+}
+
+func (x *CutSceneExtraParam) Reset() {
+ *x = CutSceneExtraParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CutSceneExtraParam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CutSceneExtraParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CutSceneExtraParam) ProtoMessage() {}
+
+func (x *CutSceneExtraParam) ProtoReflect() protoreflect.Message {
+ mi := &file_CutSceneExtraParam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CutSceneExtraParam.ProtoReflect.Descriptor instead.
+func (*CutSceneExtraParam) Descriptor() ([]byte, []int) {
+ return file_CutSceneExtraParam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CutSceneExtraParam) GetDetailParamList() []float64 {
+ if x != nil {
+ return x.DetailParamList
+ }
+ return nil
+}
+
+var File_CutSceneExtraParam_proto protoreflect.FileDescriptor
+
+var file_CutSceneExtraParam_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x78, 0x74,
+ 0x72, 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CutSceneExtraParam_proto_rawDescOnce sync.Once
+ file_CutSceneExtraParam_proto_rawDescData = file_CutSceneExtraParam_proto_rawDesc
+)
+
+func file_CutSceneExtraParam_proto_rawDescGZIP() []byte {
+ file_CutSceneExtraParam_proto_rawDescOnce.Do(func() {
+ file_CutSceneExtraParam_proto_rawDescData = protoimpl.X.CompressGZIP(file_CutSceneExtraParam_proto_rawDescData)
+ })
+ return file_CutSceneExtraParam_proto_rawDescData
+}
+
+var file_CutSceneExtraParam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CutSceneExtraParam_proto_goTypes = []interface{}{
+ (*CutSceneExtraParam)(nil), // 0: proto.CutSceneExtraParam
+}
+var file_CutSceneExtraParam_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CutSceneExtraParam_proto_init() }
+func file_CutSceneExtraParam_proto_init() {
+ if File_CutSceneExtraParam_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CutSceneExtraParam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CutSceneExtraParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CutSceneExtraParam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CutSceneExtraParam_proto_goTypes,
+ DependencyIndexes: file_CutSceneExtraParam_proto_depIdxs,
+ MessageInfos: file_CutSceneExtraParam_proto_msgTypes,
+ }.Build()
+ File_CutSceneExtraParam_proto = out.File
+ file_CutSceneExtraParam_proto_rawDesc = nil
+ file_CutSceneExtraParam_proto_goTypes = nil
+ file_CutSceneExtraParam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CutSceneFinishNotify.pb.go b/protocol/proto/CutSceneFinishNotify.pb.go
new file mode 100644
index 00000000..750c5ca9
--- /dev/null
+++ b/protocol/proto/CutSceneFinishNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CutSceneFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 262
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type CutSceneFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CutsceneId uint32 `protobuf:"varint,12,opt,name=cutscene_id,json=cutsceneId,proto3" json:"cutscene_id,omitempty"`
+}
+
+func (x *CutSceneFinishNotify) Reset() {
+ *x = CutSceneFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CutSceneFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CutSceneFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CutSceneFinishNotify) ProtoMessage() {}
+
+func (x *CutSceneFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_CutSceneFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CutSceneFinishNotify.ProtoReflect.Descriptor instead.
+func (*CutSceneFinishNotify) Descriptor() ([]byte, []int) {
+ return file_CutSceneFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CutSceneFinishNotify) GetCutsceneId() uint32 {
+ if x != nil {
+ return x.CutsceneId
+ }
+ return 0
+}
+
+var File_CutSceneFinishNotify_proto protoreflect.FileDescriptor
+
+var file_CutSceneFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x14, 0x43, 0x75, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
+ 0x75, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x63, 0x75, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CutSceneFinishNotify_proto_rawDescOnce sync.Once
+ file_CutSceneFinishNotify_proto_rawDescData = file_CutSceneFinishNotify_proto_rawDesc
+)
+
+func file_CutSceneFinishNotify_proto_rawDescGZIP() []byte {
+ file_CutSceneFinishNotify_proto_rawDescOnce.Do(func() {
+ file_CutSceneFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_CutSceneFinishNotify_proto_rawDescData)
+ })
+ return file_CutSceneFinishNotify_proto_rawDescData
+}
+
+var file_CutSceneFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CutSceneFinishNotify_proto_goTypes = []interface{}{
+ (*CutSceneFinishNotify)(nil), // 0: proto.CutSceneFinishNotify
+}
+var file_CutSceneFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CutSceneFinishNotify_proto_init() }
+func file_CutSceneFinishNotify_proto_init() {
+ if File_CutSceneFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CutSceneFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CutSceneFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CutSceneFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CutSceneFinishNotify_proto_goTypes,
+ DependencyIndexes: file_CutSceneFinishNotify_proto_depIdxs,
+ MessageInfos: file_CutSceneFinishNotify_proto_msgTypes,
+ }.Build()
+ File_CutSceneFinishNotify_proto = out.File
+ file_CutSceneFinishNotify_proto_rawDesc = nil
+ file_CutSceneFinishNotify_proto_goTypes = nil
+ file_CutSceneFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/CylinderRegionSize.pb.go b/protocol/proto/CylinderRegionSize.pb.go
new file mode 100644
index 00000000..5a840f89
--- /dev/null
+++ b/protocol/proto/CylinderRegionSize.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: CylinderRegionSize.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type CylinderRegionSize struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Radius float32 `protobuf:"fixed32,8,opt,name=radius,proto3" json:"radius,omitempty"`
+ Height float32 `protobuf:"fixed32,7,opt,name=height,proto3" json:"height,omitempty"`
+}
+
+func (x *CylinderRegionSize) Reset() {
+ *x = CylinderRegionSize{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_CylinderRegionSize_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CylinderRegionSize) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CylinderRegionSize) ProtoMessage() {}
+
+func (x *CylinderRegionSize) ProtoReflect() protoreflect.Message {
+ mi := &file_CylinderRegionSize_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CylinderRegionSize.ProtoReflect.Descriptor instead.
+func (*CylinderRegionSize) Descriptor() ([]byte, []int) {
+ return file_CylinderRegionSize_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *CylinderRegionSize) GetRadius() float32 {
+ if x != nil {
+ return x.Radius
+ }
+ return 0
+}
+
+func (x *CylinderRegionSize) GetHeight() float32 {
+ if x != nil {
+ return x.Height
+ }
+ return 0
+}
+
+var File_CylinderRegionSize_proto protoreflect.FileDescriptor
+
+var file_CylinderRegionSize_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x43, 0x79, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x53, 0x69, 0x7a, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x44, 0x0a, 0x12, 0x43, 0x79, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75,
+ 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12,
+ 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52,
+ 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_CylinderRegionSize_proto_rawDescOnce sync.Once
+ file_CylinderRegionSize_proto_rawDescData = file_CylinderRegionSize_proto_rawDesc
+)
+
+func file_CylinderRegionSize_proto_rawDescGZIP() []byte {
+ file_CylinderRegionSize_proto_rawDescOnce.Do(func() {
+ file_CylinderRegionSize_proto_rawDescData = protoimpl.X.CompressGZIP(file_CylinderRegionSize_proto_rawDescData)
+ })
+ return file_CylinderRegionSize_proto_rawDescData
+}
+
+var file_CylinderRegionSize_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_CylinderRegionSize_proto_goTypes = []interface{}{
+ (*CylinderRegionSize)(nil), // 0: proto.CylinderRegionSize
+}
+var file_CylinderRegionSize_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_CylinderRegionSize_proto_init() }
+func file_CylinderRegionSize_proto_init() {
+ if File_CylinderRegionSize_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_CylinderRegionSize_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CylinderRegionSize); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_CylinderRegionSize_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_CylinderRegionSize_proto_goTypes,
+ DependencyIndexes: file_CylinderRegionSize_proto_depIdxs,
+ MessageInfos: file_CylinderRegionSize_proto_msgTypes,
+ }.Build()
+ File_CylinderRegionSize_proto = out.File
+ file_CylinderRegionSize_proto_rawDesc = nil
+ file_CylinderRegionSize_proto_goTypes = nil
+ file_CylinderRegionSize_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DailyDungeonEntryInfo.pb.go b/protocol/proto/DailyDungeonEntryInfo.pb.go
new file mode 100644
index 00000000..7332acb5
--- /dev/null
+++ b/protocol/proto/DailyDungeonEntryInfo.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DailyDungeonEntryInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DailyDungeonEntryInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonEntryConfigId uint32 `protobuf:"varint,12,opt,name=dungeon_entry_config_id,json=dungeonEntryConfigId,proto3" json:"dungeon_entry_config_id,omitempty"`
+ DungeonEntryId uint32 `protobuf:"varint,15,opt,name=dungeon_entry_id,json=dungeonEntryId,proto3" json:"dungeon_entry_id,omitempty"`
+ RecommendDungeonEntryInfo *DungeonEntryInfo `protobuf:"bytes,1,opt,name=recommend_dungeon_entry_info,json=recommendDungeonEntryInfo,proto3" json:"recommend_dungeon_entry_info,omitempty"`
+ RecommendDungeonId uint32 `protobuf:"varint,4,opt,name=recommend_dungeon_id,json=recommendDungeonId,proto3" json:"recommend_dungeon_id,omitempty"`
+}
+
+func (x *DailyDungeonEntryInfo) Reset() {
+ *x = DailyDungeonEntryInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DailyDungeonEntryInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DailyDungeonEntryInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DailyDungeonEntryInfo) ProtoMessage() {}
+
+func (x *DailyDungeonEntryInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DailyDungeonEntryInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DailyDungeonEntryInfo.ProtoReflect.Descriptor instead.
+func (*DailyDungeonEntryInfo) Descriptor() ([]byte, []int) {
+ return file_DailyDungeonEntryInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DailyDungeonEntryInfo) GetDungeonEntryConfigId() uint32 {
+ if x != nil {
+ return x.DungeonEntryConfigId
+ }
+ return 0
+}
+
+func (x *DailyDungeonEntryInfo) GetDungeonEntryId() uint32 {
+ if x != nil {
+ return x.DungeonEntryId
+ }
+ return 0
+}
+
+func (x *DailyDungeonEntryInfo) GetRecommendDungeonEntryInfo() *DungeonEntryInfo {
+ if x != nil {
+ return x.RecommendDungeonEntryInfo
+ }
+ return nil
+}
+
+func (x *DailyDungeonEntryInfo) GetRecommendDungeonId() uint32 {
+ if x != nil {
+ return x.RecommendDungeonId
+ }
+ return 0
+}
+
+var File_DailyDungeonEntryInfo_proto protoreflect.FileDescriptor
+
+var file_DailyDungeonEntryInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x02, 0x0a,
+ 0x15, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x17, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x28, 0x0a,
+ 0x10, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x1c, 0x72, 0x65, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74,
+ 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x19, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+ 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x5f, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x12, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DailyDungeonEntryInfo_proto_rawDescOnce sync.Once
+ file_DailyDungeonEntryInfo_proto_rawDescData = file_DailyDungeonEntryInfo_proto_rawDesc
+)
+
+func file_DailyDungeonEntryInfo_proto_rawDescGZIP() []byte {
+ file_DailyDungeonEntryInfo_proto_rawDescOnce.Do(func() {
+ file_DailyDungeonEntryInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DailyDungeonEntryInfo_proto_rawDescData)
+ })
+ return file_DailyDungeonEntryInfo_proto_rawDescData
+}
+
+var file_DailyDungeonEntryInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DailyDungeonEntryInfo_proto_goTypes = []interface{}{
+ (*DailyDungeonEntryInfo)(nil), // 0: proto.DailyDungeonEntryInfo
+ (*DungeonEntryInfo)(nil), // 1: proto.DungeonEntryInfo
+}
+var file_DailyDungeonEntryInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.DailyDungeonEntryInfo.recommend_dungeon_entry_info:type_name -> proto.DungeonEntryInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DailyDungeonEntryInfo_proto_init() }
+func file_DailyDungeonEntryInfo_proto_init() {
+ if File_DailyDungeonEntryInfo_proto != nil {
+ return
+ }
+ file_DungeonEntryInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DailyDungeonEntryInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DailyDungeonEntryInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DailyDungeonEntryInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DailyDungeonEntryInfo_proto_goTypes,
+ DependencyIndexes: file_DailyDungeonEntryInfo_proto_depIdxs,
+ MessageInfos: file_DailyDungeonEntryInfo_proto_msgTypes,
+ }.Build()
+ File_DailyDungeonEntryInfo_proto = out.File
+ file_DailyDungeonEntryInfo_proto_rawDesc = nil
+ file_DailyDungeonEntryInfo_proto_goTypes = nil
+ file_DailyDungeonEntryInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DailyTaskDataNotify.pb.go b/protocol/proto/DailyTaskDataNotify.pb.go
new file mode 100644
index 00000000..a1eca392
--- /dev/null
+++ b/protocol/proto/DailyTaskDataNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DailyTaskDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 158
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DailyTaskDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScoreRewardId uint32 `protobuf:"varint,11,opt,name=score_reward_id,json=scoreRewardId,proto3" json:"score_reward_id,omitempty"`
+ FinishedNum uint32 `protobuf:"varint,4,opt,name=finished_num,json=finishedNum,proto3" json:"finished_num,omitempty"`
+ IsTakenScoreReward bool `protobuf:"varint,9,opt,name=is_taken_score_reward,json=isTakenScoreReward,proto3" json:"is_taken_score_reward,omitempty"`
+}
+
+func (x *DailyTaskDataNotify) Reset() {
+ *x = DailyTaskDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DailyTaskDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DailyTaskDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DailyTaskDataNotify) ProtoMessage() {}
+
+func (x *DailyTaskDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DailyTaskDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DailyTaskDataNotify.ProtoReflect.Descriptor instead.
+func (*DailyTaskDataNotify) Descriptor() ([]byte, []int) {
+ return file_DailyTaskDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DailyTaskDataNotify) GetScoreRewardId() uint32 {
+ if x != nil {
+ return x.ScoreRewardId
+ }
+ return 0
+}
+
+func (x *DailyTaskDataNotify) GetFinishedNum() uint32 {
+ if x != nil {
+ return x.FinishedNum
+ }
+ return 0
+}
+
+func (x *DailyTaskDataNotify) GetIsTakenScoreReward() bool {
+ if x != nil {
+ return x.IsTakenScoreReward
+ }
+ return false
+}
+
+var File_DailyTaskDataNotify_proto protoreflect.FileDescriptor
+
+var file_DailyTaskDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x13, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b,
+ 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6e,
+ 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65,
+ 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DailyTaskDataNotify_proto_rawDescOnce sync.Once
+ file_DailyTaskDataNotify_proto_rawDescData = file_DailyTaskDataNotify_proto_rawDesc
+)
+
+func file_DailyTaskDataNotify_proto_rawDescGZIP() []byte {
+ file_DailyTaskDataNotify_proto_rawDescOnce.Do(func() {
+ file_DailyTaskDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DailyTaskDataNotify_proto_rawDescData)
+ })
+ return file_DailyTaskDataNotify_proto_rawDescData
+}
+
+var file_DailyTaskDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DailyTaskDataNotify_proto_goTypes = []interface{}{
+ (*DailyTaskDataNotify)(nil), // 0: proto.DailyTaskDataNotify
+}
+var file_DailyTaskDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DailyTaskDataNotify_proto_init() }
+func file_DailyTaskDataNotify_proto_init() {
+ if File_DailyTaskDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DailyTaskDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DailyTaskDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DailyTaskDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DailyTaskDataNotify_proto_goTypes,
+ DependencyIndexes: file_DailyTaskDataNotify_proto_depIdxs,
+ MessageInfos: file_DailyTaskDataNotify_proto_msgTypes,
+ }.Build()
+ File_DailyTaskDataNotify_proto = out.File
+ file_DailyTaskDataNotify_proto_rawDesc = nil
+ file_DailyTaskDataNotify_proto_goTypes = nil
+ file_DailyTaskDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DailyTaskFilterCityReq.pb.go b/protocol/proto/DailyTaskFilterCityReq.pb.go
new file mode 100644
index 00000000..1b816bd4
--- /dev/null
+++ b/protocol/proto/DailyTaskFilterCityReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DailyTaskFilterCityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 111
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DailyTaskFilterCityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,8,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *DailyTaskFilterCityReq) Reset() {
+ *x = DailyTaskFilterCityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DailyTaskFilterCityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DailyTaskFilterCityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DailyTaskFilterCityReq) ProtoMessage() {}
+
+func (x *DailyTaskFilterCityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DailyTaskFilterCityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DailyTaskFilterCityReq.ProtoReflect.Descriptor instead.
+func (*DailyTaskFilterCityReq) Descriptor() ([]byte, []int) {
+ return file_DailyTaskFilterCityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DailyTaskFilterCityReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_DailyTaskFilterCityReq_proto protoreflect.FileDescriptor
+
+var file_DailyTaskFilterCityReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x16, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61,
+ 0x73, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DailyTaskFilterCityReq_proto_rawDescOnce sync.Once
+ file_DailyTaskFilterCityReq_proto_rawDescData = file_DailyTaskFilterCityReq_proto_rawDesc
+)
+
+func file_DailyTaskFilterCityReq_proto_rawDescGZIP() []byte {
+ file_DailyTaskFilterCityReq_proto_rawDescOnce.Do(func() {
+ file_DailyTaskFilterCityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DailyTaskFilterCityReq_proto_rawDescData)
+ })
+ return file_DailyTaskFilterCityReq_proto_rawDescData
+}
+
+var file_DailyTaskFilterCityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DailyTaskFilterCityReq_proto_goTypes = []interface{}{
+ (*DailyTaskFilterCityReq)(nil), // 0: proto.DailyTaskFilterCityReq
+}
+var file_DailyTaskFilterCityReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DailyTaskFilterCityReq_proto_init() }
+func file_DailyTaskFilterCityReq_proto_init() {
+ if File_DailyTaskFilterCityReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DailyTaskFilterCityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DailyTaskFilterCityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DailyTaskFilterCityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DailyTaskFilterCityReq_proto_goTypes,
+ DependencyIndexes: file_DailyTaskFilterCityReq_proto_depIdxs,
+ MessageInfos: file_DailyTaskFilterCityReq_proto_msgTypes,
+ }.Build()
+ File_DailyTaskFilterCityReq_proto = out.File
+ file_DailyTaskFilterCityReq_proto_rawDesc = nil
+ file_DailyTaskFilterCityReq_proto_goTypes = nil
+ file_DailyTaskFilterCityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DailyTaskFilterCityRsp.pb.go b/protocol/proto/DailyTaskFilterCityRsp.pb.go
new file mode 100644
index 00000000..e0761f30
--- /dev/null
+++ b/protocol/proto/DailyTaskFilterCityRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DailyTaskFilterCityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 144
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DailyTaskFilterCityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CityId uint32 `protobuf:"varint,9,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *DailyTaskFilterCityRsp) Reset() {
+ *x = DailyTaskFilterCityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DailyTaskFilterCityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DailyTaskFilterCityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DailyTaskFilterCityRsp) ProtoMessage() {}
+
+func (x *DailyTaskFilterCityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DailyTaskFilterCityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DailyTaskFilterCityRsp.ProtoReflect.Descriptor instead.
+func (*DailyTaskFilterCityRsp) Descriptor() ([]byte, []int) {
+ return file_DailyTaskFilterCityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DailyTaskFilterCityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DailyTaskFilterCityRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_DailyTaskFilterCityRsp_proto protoreflect.FileDescriptor
+
+var file_DailyTaskFilterCityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x43, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x16, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61,
+ 0x73, 0x6b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DailyTaskFilterCityRsp_proto_rawDescOnce sync.Once
+ file_DailyTaskFilterCityRsp_proto_rawDescData = file_DailyTaskFilterCityRsp_proto_rawDesc
+)
+
+func file_DailyTaskFilterCityRsp_proto_rawDescGZIP() []byte {
+ file_DailyTaskFilterCityRsp_proto_rawDescOnce.Do(func() {
+ file_DailyTaskFilterCityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DailyTaskFilterCityRsp_proto_rawDescData)
+ })
+ return file_DailyTaskFilterCityRsp_proto_rawDescData
+}
+
+var file_DailyTaskFilterCityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DailyTaskFilterCityRsp_proto_goTypes = []interface{}{
+ (*DailyTaskFilterCityRsp)(nil), // 0: proto.DailyTaskFilterCityRsp
+}
+var file_DailyTaskFilterCityRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DailyTaskFilterCityRsp_proto_init() }
+func file_DailyTaskFilterCityRsp_proto_init() {
+ if File_DailyTaskFilterCityRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DailyTaskFilterCityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DailyTaskFilterCityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DailyTaskFilterCityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DailyTaskFilterCityRsp_proto_goTypes,
+ DependencyIndexes: file_DailyTaskFilterCityRsp_proto_depIdxs,
+ MessageInfos: file_DailyTaskFilterCityRsp_proto_msgTypes,
+ }.Build()
+ File_DailyTaskFilterCityRsp_proto = out.File
+ file_DailyTaskFilterCityRsp_proto_rawDesc = nil
+ file_DailyTaskFilterCityRsp_proto_goTypes = nil
+ file_DailyTaskFilterCityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DailyTaskInfo.pb.go b/protocol/proto/DailyTaskInfo.pb.go
new file mode 100644
index 00000000..f0a1c772
--- /dev/null
+++ b/protocol/proto/DailyTaskInfo.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DailyTaskInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DailyTaskInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId uint32 `protobuf:"varint,3,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ Progress uint32 `protobuf:"varint,13,opt,name=progress,proto3" json:"progress,omitempty"`
+ FinishProgress uint32 `protobuf:"varint,10,opt,name=finish_progress,json=finishProgress,proto3" json:"finish_progress,omitempty"`
+ DailyTaskId uint32 `protobuf:"varint,4,opt,name=daily_task_id,json=dailyTaskId,proto3" json:"daily_task_id,omitempty"`
+ IsFinished bool `protobuf:"varint,14,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+}
+
+func (x *DailyTaskInfo) Reset() {
+ *x = DailyTaskInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DailyTaskInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DailyTaskInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DailyTaskInfo) ProtoMessage() {}
+
+func (x *DailyTaskInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DailyTaskInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DailyTaskInfo.ProtoReflect.Descriptor instead.
+func (*DailyTaskInfo) Descriptor() ([]byte, []int) {
+ return file_DailyTaskInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DailyTaskInfo) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *DailyTaskInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *DailyTaskInfo) GetFinishProgress() uint32 {
+ if x != nil {
+ return x.FinishProgress
+ }
+ return 0
+}
+
+func (x *DailyTaskInfo) GetDailyTaskId() uint32 {
+ if x != nil {
+ return x.DailyTaskId
+ }
+ return 0
+}
+
+func (x *DailyTaskInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+var File_DailyTaskInfo_proto protoreflect.FileDescriptor
+
+var file_DailyTaskInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, 0x0a,
+ 0x0d, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b,
+ 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61,
+ 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DailyTaskInfo_proto_rawDescOnce sync.Once
+ file_DailyTaskInfo_proto_rawDescData = file_DailyTaskInfo_proto_rawDesc
+)
+
+func file_DailyTaskInfo_proto_rawDescGZIP() []byte {
+ file_DailyTaskInfo_proto_rawDescOnce.Do(func() {
+ file_DailyTaskInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DailyTaskInfo_proto_rawDescData)
+ })
+ return file_DailyTaskInfo_proto_rawDescData
+}
+
+var file_DailyTaskInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DailyTaskInfo_proto_goTypes = []interface{}{
+ (*DailyTaskInfo)(nil), // 0: proto.DailyTaskInfo
+}
+var file_DailyTaskInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DailyTaskInfo_proto_init() }
+func file_DailyTaskInfo_proto_init() {
+ if File_DailyTaskInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DailyTaskInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DailyTaskInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DailyTaskInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DailyTaskInfo_proto_goTypes,
+ DependencyIndexes: file_DailyTaskInfo_proto_depIdxs,
+ MessageInfos: file_DailyTaskInfo_proto_msgTypes,
+ }.Build()
+ File_DailyTaskInfo_proto = out.File
+ file_DailyTaskInfo_proto_rawDesc = nil
+ file_DailyTaskInfo_proto_goTypes = nil
+ file_DailyTaskInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DailyTaskProgressNotify.pb.go b/protocol/proto/DailyTaskProgressNotify.pb.go
new file mode 100644
index 00000000..45b6b54e
--- /dev/null
+++ b/protocol/proto/DailyTaskProgressNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DailyTaskProgressNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 170
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DailyTaskProgressNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *DailyTaskInfo `protobuf:"bytes,12,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *DailyTaskProgressNotify) Reset() {
+ *x = DailyTaskProgressNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DailyTaskProgressNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DailyTaskProgressNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DailyTaskProgressNotify) ProtoMessage() {}
+
+func (x *DailyTaskProgressNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DailyTaskProgressNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DailyTaskProgressNotify.ProtoReflect.Descriptor instead.
+func (*DailyTaskProgressNotify) Descriptor() ([]byte, []int) {
+ return file_DailyTaskProgressNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DailyTaskProgressNotify) GetInfo() *DailyTaskInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_DailyTaskProgressNotify_proto protoreflect.FileDescriptor
+
+var file_DailyTaskProgressNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73,
+ 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x17, 0x44,
+ 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x69,
+ 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DailyTaskProgressNotify_proto_rawDescOnce sync.Once
+ file_DailyTaskProgressNotify_proto_rawDescData = file_DailyTaskProgressNotify_proto_rawDesc
+)
+
+func file_DailyTaskProgressNotify_proto_rawDescGZIP() []byte {
+ file_DailyTaskProgressNotify_proto_rawDescOnce.Do(func() {
+ file_DailyTaskProgressNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DailyTaskProgressNotify_proto_rawDescData)
+ })
+ return file_DailyTaskProgressNotify_proto_rawDescData
+}
+
+var file_DailyTaskProgressNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DailyTaskProgressNotify_proto_goTypes = []interface{}{
+ (*DailyTaskProgressNotify)(nil), // 0: proto.DailyTaskProgressNotify
+ (*DailyTaskInfo)(nil), // 1: proto.DailyTaskInfo
+}
+var file_DailyTaskProgressNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DailyTaskProgressNotify.info:type_name -> proto.DailyTaskInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DailyTaskProgressNotify_proto_init() }
+func file_DailyTaskProgressNotify_proto_init() {
+ if File_DailyTaskProgressNotify_proto != nil {
+ return
+ }
+ file_DailyTaskInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DailyTaskProgressNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DailyTaskProgressNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DailyTaskProgressNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DailyTaskProgressNotify_proto_goTypes,
+ DependencyIndexes: file_DailyTaskProgressNotify_proto_depIdxs,
+ MessageInfos: file_DailyTaskProgressNotify_proto_msgTypes,
+ }.Build()
+ File_DailyTaskProgressNotify_proto = out.File
+ file_DailyTaskProgressNotify_proto_rawDesc = nil
+ file_DailyTaskProgressNotify_proto_goTypes = nil
+ file_DailyTaskProgressNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DailyTaskScoreRewardNotify.pb.go b/protocol/proto/DailyTaskScoreRewardNotify.pb.go
new file mode 100644
index 00000000..5e1d400d
--- /dev/null
+++ b/protocol/proto/DailyTaskScoreRewardNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DailyTaskScoreRewardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 117
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DailyTaskScoreRewardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId uint32 `protobuf:"varint,14,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+}
+
+func (x *DailyTaskScoreRewardNotify) Reset() {
+ *x = DailyTaskScoreRewardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DailyTaskScoreRewardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DailyTaskScoreRewardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DailyTaskScoreRewardNotify) ProtoMessage() {}
+
+func (x *DailyTaskScoreRewardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DailyTaskScoreRewardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DailyTaskScoreRewardNotify.ProtoReflect.Descriptor instead.
+func (*DailyTaskScoreRewardNotify) Descriptor() ([]byte, []int) {
+ return file_DailyTaskScoreRewardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DailyTaskScoreRewardNotify) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+var File_DailyTaskScoreRewardNotify_proto protoreflect.FileDescriptor
+
+var file_DailyTaskScoreRewardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1a, 0x44, 0x61, 0x69,
+ 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DailyTaskScoreRewardNotify_proto_rawDescOnce sync.Once
+ file_DailyTaskScoreRewardNotify_proto_rawDescData = file_DailyTaskScoreRewardNotify_proto_rawDesc
+)
+
+func file_DailyTaskScoreRewardNotify_proto_rawDescGZIP() []byte {
+ file_DailyTaskScoreRewardNotify_proto_rawDescOnce.Do(func() {
+ file_DailyTaskScoreRewardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DailyTaskScoreRewardNotify_proto_rawDescData)
+ })
+ return file_DailyTaskScoreRewardNotify_proto_rawDescData
+}
+
+var file_DailyTaskScoreRewardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DailyTaskScoreRewardNotify_proto_goTypes = []interface{}{
+ (*DailyTaskScoreRewardNotify)(nil), // 0: proto.DailyTaskScoreRewardNotify
+}
+var file_DailyTaskScoreRewardNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DailyTaskScoreRewardNotify_proto_init() }
+func file_DailyTaskScoreRewardNotify_proto_init() {
+ if File_DailyTaskScoreRewardNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DailyTaskScoreRewardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DailyTaskScoreRewardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DailyTaskScoreRewardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DailyTaskScoreRewardNotify_proto_goTypes,
+ DependencyIndexes: file_DailyTaskScoreRewardNotify_proto_depIdxs,
+ MessageInfos: file_DailyTaskScoreRewardNotify_proto_msgTypes,
+ }.Build()
+ File_DailyTaskScoreRewardNotify_proto = out.File
+ file_DailyTaskScoreRewardNotify_proto_rawDesc = nil
+ file_DailyTaskScoreRewardNotify_proto_goTypes = nil
+ file_DailyTaskScoreRewardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DailyTaskUnlockedCitiesNotify.pb.go b/protocol/proto/DailyTaskUnlockedCitiesNotify.pb.go
new file mode 100644
index 00000000..f28393be
--- /dev/null
+++ b/protocol/proto/DailyTaskUnlockedCitiesNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DailyTaskUnlockedCitiesNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 186
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DailyTaskUnlockedCitiesNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnlockedCityList []uint32 `protobuf:"varint,12,rep,packed,name=unlocked_city_list,json=unlockedCityList,proto3" json:"unlocked_city_list,omitempty"`
+}
+
+func (x *DailyTaskUnlockedCitiesNotify) Reset() {
+ *x = DailyTaskUnlockedCitiesNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DailyTaskUnlockedCitiesNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DailyTaskUnlockedCitiesNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DailyTaskUnlockedCitiesNotify) ProtoMessage() {}
+
+func (x *DailyTaskUnlockedCitiesNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DailyTaskUnlockedCitiesNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DailyTaskUnlockedCitiesNotify.ProtoReflect.Descriptor instead.
+func (*DailyTaskUnlockedCitiesNotify) Descriptor() ([]byte, []int) {
+ return file_DailyTaskUnlockedCitiesNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DailyTaskUnlockedCitiesNotify) GetUnlockedCityList() []uint32 {
+ if x != nil {
+ return x.UnlockedCityList
+ }
+ return nil
+}
+
+var File_DailyTaskUnlockedCitiesNotify_proto protoreflect.FileDescriptor
+
+var file_DailyTaskUnlockedCitiesNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x65, 0x64, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x1d,
+ 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
+ 0x64, 0x43, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a,
+ 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x75, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x65, 0x64, 0x43, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DailyTaskUnlockedCitiesNotify_proto_rawDescOnce sync.Once
+ file_DailyTaskUnlockedCitiesNotify_proto_rawDescData = file_DailyTaskUnlockedCitiesNotify_proto_rawDesc
+)
+
+func file_DailyTaskUnlockedCitiesNotify_proto_rawDescGZIP() []byte {
+ file_DailyTaskUnlockedCitiesNotify_proto_rawDescOnce.Do(func() {
+ file_DailyTaskUnlockedCitiesNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DailyTaskUnlockedCitiesNotify_proto_rawDescData)
+ })
+ return file_DailyTaskUnlockedCitiesNotify_proto_rawDescData
+}
+
+var file_DailyTaskUnlockedCitiesNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DailyTaskUnlockedCitiesNotify_proto_goTypes = []interface{}{
+ (*DailyTaskUnlockedCitiesNotify)(nil), // 0: proto.DailyTaskUnlockedCitiesNotify
+}
+var file_DailyTaskUnlockedCitiesNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DailyTaskUnlockedCitiesNotify_proto_init() }
+func file_DailyTaskUnlockedCitiesNotify_proto_init() {
+ if File_DailyTaskUnlockedCitiesNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DailyTaskUnlockedCitiesNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DailyTaskUnlockedCitiesNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DailyTaskUnlockedCitiesNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DailyTaskUnlockedCitiesNotify_proto_goTypes,
+ DependencyIndexes: file_DailyTaskUnlockedCitiesNotify_proto_depIdxs,
+ MessageInfos: file_DailyTaskUnlockedCitiesNotify_proto_msgTypes,
+ }.Build()
+ File_DailyTaskUnlockedCitiesNotify_proto = out.File
+ file_DailyTaskUnlockedCitiesNotify_proto_rawDesc = nil
+ file_DailyTaskUnlockedCitiesNotify_proto_goTypes = nil
+ file_DailyTaskUnlockedCitiesNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DataResVersionNotify.pb.go b/protocol/proto/DataResVersionNotify.pb.go
new file mode 100644
index 00000000..a1a928f6
--- /dev/null
+++ b/protocol/proto/DataResVersionNotify.pb.go
@@ -0,0 +1,322 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DataResVersionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DataResVersionNotify_DataResVersionOpType int32
+
+const (
+ DataResVersionNotify_DATA_RES_VERSION_OP_TYPE_NONE DataResVersionNotify_DataResVersionOpType = 0
+ DataResVersionNotify_DATA_RES_VERSION_OP_TYPE_RELOGIN DataResVersionNotify_DataResVersionOpType = 1
+ DataResVersionNotify_DATA_RES_VERSION_OP_TYPE_MP_RELOGIN DataResVersionNotify_DataResVersionOpType = 2
+)
+
+// Enum value maps for DataResVersionNotify_DataResVersionOpType.
+var (
+ DataResVersionNotify_DataResVersionOpType_name = map[int32]string{
+ 0: "DATA_RES_VERSION_OP_TYPE_NONE",
+ 1: "DATA_RES_VERSION_OP_TYPE_RELOGIN",
+ 2: "DATA_RES_VERSION_OP_TYPE_MP_RELOGIN",
+ }
+ DataResVersionNotify_DataResVersionOpType_value = map[string]int32{
+ "DATA_RES_VERSION_OP_TYPE_NONE": 0,
+ "DATA_RES_VERSION_OP_TYPE_RELOGIN": 1,
+ "DATA_RES_VERSION_OP_TYPE_MP_RELOGIN": 2,
+ }
+)
+
+func (x DataResVersionNotify_DataResVersionOpType) Enum() *DataResVersionNotify_DataResVersionOpType {
+ p := new(DataResVersionNotify_DataResVersionOpType)
+ *p = x
+ return p
+}
+
+func (x DataResVersionNotify_DataResVersionOpType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DataResVersionNotify_DataResVersionOpType) Descriptor() protoreflect.EnumDescriptor {
+ return file_DataResVersionNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (DataResVersionNotify_DataResVersionOpType) Type() protoreflect.EnumType {
+ return &file_DataResVersionNotify_proto_enumTypes[0]
+}
+
+func (x DataResVersionNotify_DataResVersionOpType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DataResVersionNotify_DataResVersionOpType.Descriptor instead.
+func (DataResVersionNotify_DataResVersionOpType) EnumDescriptor() ([]byte, []int) {
+ return file_DataResVersionNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 167
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DataResVersionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClientSilenceMd5 string `protobuf:"bytes,10,opt,name=client_silence_md5,json=clientSilenceMd5,proto3" json:"client_silence_md5,omitempty"`
+ ClientSilenceVersionSuffix string `protobuf:"bytes,15,opt,name=client_silence_version_suffix,json=clientSilenceVersionSuffix,proto3" json:"client_silence_version_suffix,omitempty"`
+ ResVersionConfig *ResVersionConfig `protobuf:"bytes,9,opt,name=res_version_config,json=resVersionConfig,proto3" json:"res_version_config,omitempty"`
+ IsDataNeedRelogin bool `protobuf:"varint,7,opt,name=is_data_need_relogin,json=isDataNeedRelogin,proto3" json:"is_data_need_relogin,omitempty"`
+ OpType DataResVersionNotify_DataResVersionOpType `protobuf:"varint,12,opt,name=op_type,json=opType,proto3,enum=proto.DataResVersionNotify_DataResVersionOpType" json:"op_type,omitempty"`
+ ClientDataVersion uint32 `protobuf:"varint,2,opt,name=client_data_version,json=clientDataVersion,proto3" json:"client_data_version,omitempty"`
+ ClientVersionSuffix string `protobuf:"bytes,5,opt,name=client_version_suffix,json=clientVersionSuffix,proto3" json:"client_version_suffix,omitempty"`
+ ClientSilenceDataVersion uint32 `protobuf:"varint,1,opt,name=client_silence_data_version,json=clientSilenceDataVersion,proto3" json:"client_silence_data_version,omitempty"`
+ ClientMd5 string `protobuf:"bytes,14,opt,name=client_md5,json=clientMd5,proto3" json:"client_md5,omitempty"`
+}
+
+func (x *DataResVersionNotify) Reset() {
+ *x = DataResVersionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DataResVersionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DataResVersionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DataResVersionNotify) ProtoMessage() {}
+
+func (x *DataResVersionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DataResVersionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DataResVersionNotify.ProtoReflect.Descriptor instead.
+func (*DataResVersionNotify) Descriptor() ([]byte, []int) {
+ return file_DataResVersionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DataResVersionNotify) GetClientSilenceMd5() string {
+ if x != nil {
+ return x.ClientSilenceMd5
+ }
+ return ""
+}
+
+func (x *DataResVersionNotify) GetClientSilenceVersionSuffix() string {
+ if x != nil {
+ return x.ClientSilenceVersionSuffix
+ }
+ return ""
+}
+
+func (x *DataResVersionNotify) GetResVersionConfig() *ResVersionConfig {
+ if x != nil {
+ return x.ResVersionConfig
+ }
+ return nil
+}
+
+func (x *DataResVersionNotify) GetIsDataNeedRelogin() bool {
+ if x != nil {
+ return x.IsDataNeedRelogin
+ }
+ return false
+}
+
+func (x *DataResVersionNotify) GetOpType() DataResVersionNotify_DataResVersionOpType {
+ if x != nil {
+ return x.OpType
+ }
+ return DataResVersionNotify_DATA_RES_VERSION_OP_TYPE_NONE
+}
+
+func (x *DataResVersionNotify) GetClientDataVersion() uint32 {
+ if x != nil {
+ return x.ClientDataVersion
+ }
+ return 0
+}
+
+func (x *DataResVersionNotify) GetClientVersionSuffix() string {
+ if x != nil {
+ return x.ClientVersionSuffix
+ }
+ return ""
+}
+
+func (x *DataResVersionNotify) GetClientSilenceDataVersion() uint32 {
+ if x != nil {
+ return x.ClientSilenceDataVersion
+ }
+ return 0
+}
+
+func (x *DataResVersionNotify) GetClientMd5() string {
+ if x != nil {
+ return x.ClientMd5
+ }
+ return ""
+}
+
+var File_DataResVersionNotify_proto protoreflect.FileDescriptor
+
+var file_DataResVersionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x05, 0x0a, 0x14,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
+ 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x4d,
+ 0x64, 0x35, 0x12, 0x41, 0x0a, 0x1d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6c,
+ 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x66,
+ 0x66, 0x69, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53,
+ 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x45, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x5f, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x72, 0x65, 0x73, 0x56,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x14,
+ 0x69, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c,
+ 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x49, 0x0a,
+ 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69,
+ 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56,
+ 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x3d, 0x0a, 0x1b,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64,
+ 0x61, 0x74, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x22, 0x88, 0x01, 0x0a, 0x14, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x53, 0x5f,
+ 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52,
+ 0x45, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23,
+ 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, 0x5f, 0x52, 0x45, 0x4c, 0x4f,
+ 0x47, 0x49, 0x4e, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DataResVersionNotify_proto_rawDescOnce sync.Once
+ file_DataResVersionNotify_proto_rawDescData = file_DataResVersionNotify_proto_rawDesc
+)
+
+func file_DataResVersionNotify_proto_rawDescGZIP() []byte {
+ file_DataResVersionNotify_proto_rawDescOnce.Do(func() {
+ file_DataResVersionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DataResVersionNotify_proto_rawDescData)
+ })
+ return file_DataResVersionNotify_proto_rawDescData
+}
+
+var file_DataResVersionNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_DataResVersionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DataResVersionNotify_proto_goTypes = []interface{}{
+ (DataResVersionNotify_DataResVersionOpType)(0), // 0: proto.DataResVersionNotify.DataResVersionOpType
+ (*DataResVersionNotify)(nil), // 1: proto.DataResVersionNotify
+ (*ResVersionConfig)(nil), // 2: proto.ResVersionConfig
+}
+var file_DataResVersionNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.DataResVersionNotify.res_version_config:type_name -> proto.ResVersionConfig
+ 0, // 1: proto.DataResVersionNotify.op_type:type_name -> proto.DataResVersionNotify.DataResVersionOpType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_DataResVersionNotify_proto_init() }
+func file_DataResVersionNotify_proto_init() {
+ if File_DataResVersionNotify_proto != nil {
+ return
+ }
+ file_ResVersionConfig_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DataResVersionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DataResVersionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DataResVersionNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DataResVersionNotify_proto_goTypes,
+ DependencyIndexes: file_DataResVersionNotify_proto_depIdxs,
+ EnumInfos: file_DataResVersionNotify_proto_enumTypes,
+ MessageInfos: file_DataResVersionNotify_proto_msgTypes,
+ }.Build()
+ File_DataResVersionNotify_proto = out.File
+ file_DataResVersionNotify_proto_rawDesc = nil
+ file_DataResVersionNotify_proto_goTypes = nil
+ file_DataResVersionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DealAddFriendReq.pb.go b/protocol/proto/DealAddFriendReq.pb.go
new file mode 100644
index 00000000..2044c898
--- /dev/null
+++ b/protocol/proto/DealAddFriendReq.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DealAddFriendReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4003
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DealAddFriendReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DealAddFriendResult DealAddFriendResultType `protobuf:"varint,12,opt,name=deal_add_friend_result,json=dealAddFriendResult,proto3,enum=proto.DealAddFriendResultType" json:"deal_add_friend_result,omitempty"`
+ TargetUid uint32 `protobuf:"varint,10,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *DealAddFriendReq) Reset() {
+ *x = DealAddFriendReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DealAddFriendReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DealAddFriendReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DealAddFriendReq) ProtoMessage() {}
+
+func (x *DealAddFriendReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DealAddFriendReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DealAddFriendReq.ProtoReflect.Descriptor instead.
+func (*DealAddFriendReq) Descriptor() ([]byte, []int) {
+ return file_DealAddFriendReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DealAddFriendReq) GetDealAddFriendResult() DealAddFriendResultType {
+ if x != nil {
+ return x.DealAddFriendResult
+ }
+ return DealAddFriendResultType_DEAL_ADD_FRIEND_RESULT_TYPE_REJECT
+}
+
+func (x *DealAddFriendReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_DealAddFriendReq_proto protoreflect.FileDescriptor
+
+var file_DealAddFriendReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1d, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86,
+ 0x01, 0x0a, 0x10, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x53, 0x0a, 0x16, 0x64, 0x65, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x5f,
+ 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x61, 0x6c,
+ 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x13, 0x64, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DealAddFriendReq_proto_rawDescOnce sync.Once
+ file_DealAddFriendReq_proto_rawDescData = file_DealAddFriendReq_proto_rawDesc
+)
+
+func file_DealAddFriendReq_proto_rawDescGZIP() []byte {
+ file_DealAddFriendReq_proto_rawDescOnce.Do(func() {
+ file_DealAddFriendReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DealAddFriendReq_proto_rawDescData)
+ })
+ return file_DealAddFriendReq_proto_rawDescData
+}
+
+var file_DealAddFriendReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DealAddFriendReq_proto_goTypes = []interface{}{
+ (*DealAddFriendReq)(nil), // 0: proto.DealAddFriendReq
+ (DealAddFriendResultType)(0), // 1: proto.DealAddFriendResultType
+}
+var file_DealAddFriendReq_proto_depIdxs = []int32{
+ 1, // 0: proto.DealAddFriendReq.deal_add_friend_result:type_name -> proto.DealAddFriendResultType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DealAddFriendReq_proto_init() }
+func file_DealAddFriendReq_proto_init() {
+ if File_DealAddFriendReq_proto != nil {
+ return
+ }
+ file_DealAddFriendResultType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DealAddFriendReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DealAddFriendReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DealAddFriendReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DealAddFriendReq_proto_goTypes,
+ DependencyIndexes: file_DealAddFriendReq_proto_depIdxs,
+ MessageInfos: file_DealAddFriendReq_proto_msgTypes,
+ }.Build()
+ File_DealAddFriendReq_proto = out.File
+ file_DealAddFriendReq_proto_rawDesc = nil
+ file_DealAddFriendReq_proto_goTypes = nil
+ file_DealAddFriendReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DealAddFriendResultType.pb.go b/protocol/proto/DealAddFriendResultType.pb.go
new file mode 100644
index 00000000..614ac6cc
--- /dev/null
+++ b/protocol/proto/DealAddFriendResultType.pb.go
@@ -0,0 +1,148 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DealAddFriendResultType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DealAddFriendResultType int32
+
+const (
+ DealAddFriendResultType_DEAL_ADD_FRIEND_RESULT_TYPE_REJECT DealAddFriendResultType = 0
+ DealAddFriendResultType_DEAL_ADD_FRIEND_RESULT_TYPE_ACCEPT DealAddFriendResultType = 1
+)
+
+// Enum value maps for DealAddFriendResultType.
+var (
+ DealAddFriendResultType_name = map[int32]string{
+ 0: "DEAL_ADD_FRIEND_RESULT_TYPE_REJECT",
+ 1: "DEAL_ADD_FRIEND_RESULT_TYPE_ACCEPT",
+ }
+ DealAddFriendResultType_value = map[string]int32{
+ "DEAL_ADD_FRIEND_RESULT_TYPE_REJECT": 0,
+ "DEAL_ADD_FRIEND_RESULT_TYPE_ACCEPT": 1,
+ }
+)
+
+func (x DealAddFriendResultType) Enum() *DealAddFriendResultType {
+ p := new(DealAddFriendResultType)
+ *p = x
+ return p
+}
+
+func (x DealAddFriendResultType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DealAddFriendResultType) Descriptor() protoreflect.EnumDescriptor {
+ return file_DealAddFriendResultType_proto_enumTypes[0].Descriptor()
+}
+
+func (DealAddFriendResultType) Type() protoreflect.EnumType {
+ return &file_DealAddFriendResultType_proto_enumTypes[0]
+}
+
+func (x DealAddFriendResultType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DealAddFriendResultType.Descriptor instead.
+func (DealAddFriendResultType) EnumDescriptor() ([]byte, []int) {
+ return file_DealAddFriendResultType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DealAddFriendResultType_proto protoreflect.FileDescriptor
+
+var file_DealAddFriendResultType_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x69, 0x0a, 0x17, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64,
+ 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x45, 0x41, 0x4c, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x52,
+ 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x45, 0x41,
+ 0x4c, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x53,
+ 0x55, 0x4c, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DealAddFriendResultType_proto_rawDescOnce sync.Once
+ file_DealAddFriendResultType_proto_rawDescData = file_DealAddFriendResultType_proto_rawDesc
+)
+
+func file_DealAddFriendResultType_proto_rawDescGZIP() []byte {
+ file_DealAddFriendResultType_proto_rawDescOnce.Do(func() {
+ file_DealAddFriendResultType_proto_rawDescData = protoimpl.X.CompressGZIP(file_DealAddFriendResultType_proto_rawDescData)
+ })
+ return file_DealAddFriendResultType_proto_rawDescData
+}
+
+var file_DealAddFriendResultType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_DealAddFriendResultType_proto_goTypes = []interface{}{
+ (DealAddFriendResultType)(0), // 0: proto.DealAddFriendResultType
+}
+var file_DealAddFriendResultType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DealAddFriendResultType_proto_init() }
+func file_DealAddFriendResultType_proto_init() {
+ if File_DealAddFriendResultType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DealAddFriendResultType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DealAddFriendResultType_proto_goTypes,
+ DependencyIndexes: file_DealAddFriendResultType_proto_depIdxs,
+ EnumInfos: file_DealAddFriendResultType_proto_enumTypes,
+ }.Build()
+ File_DealAddFriendResultType_proto = out.File
+ file_DealAddFriendResultType_proto_rawDesc = nil
+ file_DealAddFriendResultType_proto_goTypes = nil
+ file_DealAddFriendResultType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DealAddFriendRsp.pb.go b/protocol/proto/DealAddFriendRsp.pb.go
new file mode 100644
index 00000000..c7928519
--- /dev/null
+++ b/protocol/proto/DealAddFriendRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DealAddFriendRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4090
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DealAddFriendRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetUid uint32 `protobuf:"varint,5,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ DealAddFriendResult DealAddFriendResultType `protobuf:"varint,6,opt,name=deal_add_friend_result,json=dealAddFriendResult,proto3,enum=proto.DealAddFriendResultType" json:"deal_add_friend_result,omitempty"`
+}
+
+func (x *DealAddFriendRsp) Reset() {
+ *x = DealAddFriendRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DealAddFriendRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DealAddFriendRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DealAddFriendRsp) ProtoMessage() {}
+
+func (x *DealAddFriendRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DealAddFriendRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DealAddFriendRsp.ProtoReflect.Descriptor instead.
+func (*DealAddFriendRsp) Descriptor() ([]byte, []int) {
+ return file_DealAddFriendRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DealAddFriendRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DealAddFriendRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *DealAddFriendRsp) GetDealAddFriendResult() DealAddFriendResultType {
+ if x != nil {
+ return x.DealAddFriendResult
+ }
+ return DealAddFriendResultType_DEAL_ADD_FRIEND_RESULT_TYPE_REJECT
+}
+
+var File_DealAddFriendRsp_proto protoreflect.FileDescriptor
+
+var file_DealAddFriendRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1d, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0,
+ 0x01, 0x0a, 0x10, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x53, 0x0a, 0x16,
+ 0x64, 0x65, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x64, 0x65,
+ 0x61, 0x6c, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DealAddFriendRsp_proto_rawDescOnce sync.Once
+ file_DealAddFriendRsp_proto_rawDescData = file_DealAddFriendRsp_proto_rawDesc
+)
+
+func file_DealAddFriendRsp_proto_rawDescGZIP() []byte {
+ file_DealAddFriendRsp_proto_rawDescOnce.Do(func() {
+ file_DealAddFriendRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DealAddFriendRsp_proto_rawDescData)
+ })
+ return file_DealAddFriendRsp_proto_rawDescData
+}
+
+var file_DealAddFriendRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DealAddFriendRsp_proto_goTypes = []interface{}{
+ (*DealAddFriendRsp)(nil), // 0: proto.DealAddFriendRsp
+ (DealAddFriendResultType)(0), // 1: proto.DealAddFriendResultType
+}
+var file_DealAddFriendRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.DealAddFriendRsp.deal_add_friend_result:type_name -> proto.DealAddFriendResultType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DealAddFriendRsp_proto_init() }
+func file_DealAddFriendRsp_proto_init() {
+ if File_DealAddFriendRsp_proto != nil {
+ return
+ }
+ file_DealAddFriendResultType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DealAddFriendRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DealAddFriendRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DealAddFriendRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DealAddFriendRsp_proto_goTypes,
+ DependencyIndexes: file_DealAddFriendRsp_proto_depIdxs,
+ MessageInfos: file_DealAddFriendRsp_proto_msgTypes,
+ }.Build()
+ File_DealAddFriendRsp_proto = out.File
+ file_DealAddFriendRsp_proto_rawDesc = nil
+ file_DealAddFriendRsp_proto_goTypes = nil
+ file_DealAddFriendRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeathZoneInfo.pb.go b/protocol/proto/DeathZoneInfo.pb.go
new file mode 100644
index 00000000..92853f6a
--- /dev/null
+++ b/protocol/proto/DeathZoneInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeathZoneInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DeathZoneInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,9,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ Id uint32 `protobuf:"varint,14,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *DeathZoneInfo) Reset() {
+ *x = DeathZoneInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeathZoneInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeathZoneInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeathZoneInfo) ProtoMessage() {}
+
+func (x *DeathZoneInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DeathZoneInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeathZoneInfo.ProtoReflect.Descriptor instead.
+func (*DeathZoneInfo) Descriptor() ([]byte, []int) {
+ return file_DeathZoneInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeathZoneInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *DeathZoneInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_DeathZoneInfo_proto protoreflect.FileDescriptor
+
+var file_DeathZoneInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x44, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x0d,
+ 0x44, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a,
+ 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
+ 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeathZoneInfo_proto_rawDescOnce sync.Once
+ file_DeathZoneInfo_proto_rawDescData = file_DeathZoneInfo_proto_rawDesc
+)
+
+func file_DeathZoneInfo_proto_rawDescGZIP() []byte {
+ file_DeathZoneInfo_proto_rawDescOnce.Do(func() {
+ file_DeathZoneInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeathZoneInfo_proto_rawDescData)
+ })
+ return file_DeathZoneInfo_proto_rawDescData
+}
+
+var file_DeathZoneInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeathZoneInfo_proto_goTypes = []interface{}{
+ (*DeathZoneInfo)(nil), // 0: proto.DeathZoneInfo
+}
+var file_DeathZoneInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DeathZoneInfo_proto_init() }
+func file_DeathZoneInfo_proto_init() {
+ if File_DeathZoneInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DeathZoneInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeathZoneInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeathZoneInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeathZoneInfo_proto_goTypes,
+ DependencyIndexes: file_DeathZoneInfo_proto_depIdxs,
+ MessageInfos: file_DeathZoneInfo_proto_msgTypes,
+ }.Build()
+ File_DeathZoneInfo_proto = out.File
+ file_DeathZoneInfo_proto_rawDesc = nil
+ file_DeathZoneInfo_proto_goTypes = nil
+ file_DeathZoneInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeathZoneInfoNotify.pb.go b/protocol/proto/DeathZoneInfoNotify.pb.go
new file mode 100644
index 00000000..b7fbd2d9
--- /dev/null
+++ b/protocol/proto/DeathZoneInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeathZoneInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6268
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DeathZoneInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeathZoneInfoList []*DeathZoneInfo `protobuf:"bytes,8,rep,name=death_zone_info_list,json=deathZoneInfoList,proto3" json:"death_zone_info_list,omitempty"`
+}
+
+func (x *DeathZoneInfoNotify) Reset() {
+ *x = DeathZoneInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeathZoneInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeathZoneInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeathZoneInfoNotify) ProtoMessage() {}
+
+func (x *DeathZoneInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DeathZoneInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeathZoneInfoNotify.ProtoReflect.Descriptor instead.
+func (*DeathZoneInfoNotify) Descriptor() ([]byte, []int) {
+ return file_DeathZoneInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeathZoneInfoNotify) GetDeathZoneInfoList() []*DeathZoneInfo {
+ if x != nil {
+ return x.DeathZoneInfoList
+ }
+ return nil
+}
+
+var File_DeathZoneInfoNotify_proto protoreflect.FileDescriptor
+
+var file_DeathZoneInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x13, 0x44, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x13, 0x44, 0x65, 0x61, 0x74, 0x68,
+ 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x45,
+ 0x0a, 0x14, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x11, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeathZoneInfoNotify_proto_rawDescOnce sync.Once
+ file_DeathZoneInfoNotify_proto_rawDescData = file_DeathZoneInfoNotify_proto_rawDesc
+)
+
+func file_DeathZoneInfoNotify_proto_rawDescGZIP() []byte {
+ file_DeathZoneInfoNotify_proto_rawDescOnce.Do(func() {
+ file_DeathZoneInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeathZoneInfoNotify_proto_rawDescData)
+ })
+ return file_DeathZoneInfoNotify_proto_rawDescData
+}
+
+var file_DeathZoneInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeathZoneInfoNotify_proto_goTypes = []interface{}{
+ (*DeathZoneInfoNotify)(nil), // 0: proto.DeathZoneInfoNotify
+ (*DeathZoneInfo)(nil), // 1: proto.DeathZoneInfo
+}
+var file_DeathZoneInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DeathZoneInfoNotify.death_zone_info_list:type_name -> proto.DeathZoneInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DeathZoneInfoNotify_proto_init() }
+func file_DeathZoneInfoNotify_proto_init() {
+ if File_DeathZoneInfoNotify_proto != nil {
+ return
+ }
+ file_DeathZoneInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DeathZoneInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeathZoneInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeathZoneInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeathZoneInfoNotify_proto_goTypes,
+ DependencyIndexes: file_DeathZoneInfoNotify_proto_depIdxs,
+ MessageInfos: file_DeathZoneInfoNotify_proto_msgTypes,
+ }.Build()
+ File_DeathZoneInfoNotify_proto = out.File
+ file_DeathZoneInfoNotify_proto_rawDesc = nil
+ file_DeathZoneInfoNotify_proto_goTypes = nil
+ file_DeathZoneInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeathZoneObserveNotify.pb.go b/protocol/proto/DeathZoneObserveNotify.pb.go
new file mode 100644
index 00000000..f300a2b7
--- /dev/null
+++ b/protocol/proto/DeathZoneObserveNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeathZoneObserveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3475
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DeathZoneObserveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetEntityId uint32 `protobuf:"varint,14,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+ SourceEntityId uint32 `protobuf:"varint,12,opt,name=source_entity_id,json=sourceEntityId,proto3" json:"source_entity_id,omitempty"`
+}
+
+func (x *DeathZoneObserveNotify) Reset() {
+ *x = DeathZoneObserveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeathZoneObserveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeathZoneObserveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeathZoneObserveNotify) ProtoMessage() {}
+
+func (x *DeathZoneObserveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DeathZoneObserveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeathZoneObserveNotify.ProtoReflect.Descriptor instead.
+func (*DeathZoneObserveNotify) Descriptor() ([]byte, []int) {
+ return file_DeathZoneObserveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeathZoneObserveNotify) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+func (x *DeathZoneObserveNotify) GetSourceEntityId() uint32 {
+ if x != nil {
+ return x.SourceEntityId
+ }
+ return 0
+}
+
+var File_DeathZoneObserveNotify_proto protoreflect.FileDescriptor
+
+var file_DeathZoneObserveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x44, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x16, 0x44, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f,
+ 0x6e, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeathZoneObserveNotify_proto_rawDescOnce sync.Once
+ file_DeathZoneObserveNotify_proto_rawDescData = file_DeathZoneObserveNotify_proto_rawDesc
+)
+
+func file_DeathZoneObserveNotify_proto_rawDescGZIP() []byte {
+ file_DeathZoneObserveNotify_proto_rawDescOnce.Do(func() {
+ file_DeathZoneObserveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeathZoneObserveNotify_proto_rawDescData)
+ })
+ return file_DeathZoneObserveNotify_proto_rawDescData
+}
+
+var file_DeathZoneObserveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeathZoneObserveNotify_proto_goTypes = []interface{}{
+ (*DeathZoneObserveNotify)(nil), // 0: proto.DeathZoneObserveNotify
+}
+var file_DeathZoneObserveNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DeathZoneObserveNotify_proto_init() }
+func file_DeathZoneObserveNotify_proto_init() {
+ if File_DeathZoneObserveNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DeathZoneObserveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeathZoneObserveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeathZoneObserveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeathZoneObserveNotify_proto_goTypes,
+ DependencyIndexes: file_DeathZoneObserveNotify_proto_depIdxs,
+ MessageInfos: file_DeathZoneObserveNotify_proto_msgTypes,
+ }.Build()
+ File_DeathZoneObserveNotify_proto = out.File
+ file_DeathZoneObserveNotify_proto_rawDesc = nil
+ file_DeathZoneObserveNotify_proto_goTypes = nil
+ file_DeathZoneObserveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DebugNotify.pb.go b/protocol/proto/DebugNotify.pb.go
new file mode 100644
index 00000000..2433d7e5
--- /dev/null
+++ b/protocol/proto/DebugNotify.pb.go
@@ -0,0 +1,235 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DebugNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DebugNotify_Retcode int32
+
+const (
+ DebugNotify_RETCODE_SUCC DebugNotify_Retcode = 0
+ DebugNotify_RETCODE_FAIL DebugNotify_Retcode = 1
+)
+
+// Enum value maps for DebugNotify_Retcode.
+var (
+ DebugNotify_Retcode_name = map[int32]string{
+ 0: "RETCODE_SUCC",
+ 1: "RETCODE_FAIL",
+ }
+ DebugNotify_Retcode_value = map[string]int32{
+ "RETCODE_SUCC": 0,
+ "RETCODE_FAIL": 1,
+ }
+)
+
+func (x DebugNotify_Retcode) Enum() *DebugNotify_Retcode {
+ p := new(DebugNotify_Retcode)
+ *p = x
+ return p
+}
+
+func (x DebugNotify_Retcode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DebugNotify_Retcode) Descriptor() protoreflect.EnumDescriptor {
+ return file_DebugNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (DebugNotify_Retcode) Type() protoreflect.EnumType {
+ return &file_DebugNotify_proto_enumTypes[0]
+}
+
+func (x DebugNotify_Retcode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DebugNotify_Retcode.Descriptor instead.
+func (DebugNotify_Retcode) EnumDescriptor() ([]byte, []int) {
+ return file_DebugNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 101
+// TargetService: 101
+// EnetChannelId: 2
+// EnetIsReliable: true
+type DebugNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ Retcode DebugNotify_Retcode `protobuf:"varint,3,opt,name=retcode,proto3,enum=proto.DebugNotify_Retcode" json:"retcode,omitempty"`
+}
+
+func (x *DebugNotify) Reset() {
+ *x = DebugNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DebugNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DebugNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DebugNotify) ProtoMessage() {}
+
+func (x *DebugNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DebugNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DebugNotify.ProtoReflect.Descriptor instead.
+func (*DebugNotify) Descriptor() ([]byte, []int) {
+ return file_DebugNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DebugNotify) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *DebugNotify) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *DebugNotify) GetRetcode() DebugNotify_Retcode {
+ if x != nil {
+ return x.Retcode
+ }
+ return DebugNotify_RETCODE_SUCC
+}
+
+var File_DebugNotify_proto protoreflect.FileDescriptor
+
+var file_DebugNotify_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x0b, 0x44,
+ 0x65, 0x62, 0x75, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x22, 0x2d, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x10,
+ 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x49,
+ 0x4c, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DebugNotify_proto_rawDescOnce sync.Once
+ file_DebugNotify_proto_rawDescData = file_DebugNotify_proto_rawDesc
+)
+
+func file_DebugNotify_proto_rawDescGZIP() []byte {
+ file_DebugNotify_proto_rawDescOnce.Do(func() {
+ file_DebugNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DebugNotify_proto_rawDescData)
+ })
+ return file_DebugNotify_proto_rawDescData
+}
+
+var file_DebugNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_DebugNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DebugNotify_proto_goTypes = []interface{}{
+ (DebugNotify_Retcode)(0), // 0: proto.DebugNotify.Retcode
+ (*DebugNotify)(nil), // 1: proto.DebugNotify
+}
+var file_DebugNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.DebugNotify.retcode:type_name -> proto.DebugNotify.Retcode
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DebugNotify_proto_init() }
+func file_DebugNotify_proto_init() {
+ if File_DebugNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DebugNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DebugNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DebugNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DebugNotify_proto_goTypes,
+ DependencyIndexes: file_DebugNotify_proto_depIdxs,
+ EnumInfos: file_DebugNotify_proto_enumTypes,
+ MessageInfos: file_DebugNotify_proto_msgTypes,
+ }.Build()
+ File_DebugNotify_proto = out.File
+ file_DebugNotify_proto_rawDesc = nil
+ file_DebugNotify_proto_goTypes = nil
+ file_DebugNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DelBackupAvatarTeamReq.pb.go b/protocol/proto/DelBackupAvatarTeamReq.pb.go
new file mode 100644
index 00000000..606f1999
--- /dev/null
+++ b/protocol/proto/DelBackupAvatarTeamReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DelBackupAvatarTeamReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1731
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DelBackupAvatarTeamReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BackupAvatarTeamId uint32 `protobuf:"varint,4,opt,name=backup_avatar_team_id,json=backupAvatarTeamId,proto3" json:"backup_avatar_team_id,omitempty"`
+}
+
+func (x *DelBackupAvatarTeamReq) Reset() {
+ *x = DelBackupAvatarTeamReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DelBackupAvatarTeamReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DelBackupAvatarTeamReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DelBackupAvatarTeamReq) ProtoMessage() {}
+
+func (x *DelBackupAvatarTeamReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DelBackupAvatarTeamReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DelBackupAvatarTeamReq.ProtoReflect.Descriptor instead.
+func (*DelBackupAvatarTeamReq) Descriptor() ([]byte, []int) {
+ return file_DelBackupAvatarTeamReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DelBackupAvatarTeamReq) GetBackupAvatarTeamId() uint32 {
+ if x != nil {
+ return x.BackupAvatarTeamId
+ }
+ return 0
+}
+
+var File_DelBackupAvatarTeamReq_proto protoreflect.FileDescriptor
+
+var file_DelBackupAvatarTeamReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12,
+ 0x31, 0x0a, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12,
+ 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DelBackupAvatarTeamReq_proto_rawDescOnce sync.Once
+ file_DelBackupAvatarTeamReq_proto_rawDescData = file_DelBackupAvatarTeamReq_proto_rawDesc
+)
+
+func file_DelBackupAvatarTeamReq_proto_rawDescGZIP() []byte {
+ file_DelBackupAvatarTeamReq_proto_rawDescOnce.Do(func() {
+ file_DelBackupAvatarTeamReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DelBackupAvatarTeamReq_proto_rawDescData)
+ })
+ return file_DelBackupAvatarTeamReq_proto_rawDescData
+}
+
+var file_DelBackupAvatarTeamReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DelBackupAvatarTeamReq_proto_goTypes = []interface{}{
+ (*DelBackupAvatarTeamReq)(nil), // 0: proto.DelBackupAvatarTeamReq
+}
+var file_DelBackupAvatarTeamReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DelBackupAvatarTeamReq_proto_init() }
+func file_DelBackupAvatarTeamReq_proto_init() {
+ if File_DelBackupAvatarTeamReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DelBackupAvatarTeamReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DelBackupAvatarTeamReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DelBackupAvatarTeamReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DelBackupAvatarTeamReq_proto_goTypes,
+ DependencyIndexes: file_DelBackupAvatarTeamReq_proto_depIdxs,
+ MessageInfos: file_DelBackupAvatarTeamReq_proto_msgTypes,
+ }.Build()
+ File_DelBackupAvatarTeamReq_proto = out.File
+ file_DelBackupAvatarTeamReq_proto_rawDesc = nil
+ file_DelBackupAvatarTeamReq_proto_goTypes = nil
+ file_DelBackupAvatarTeamReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DelBackupAvatarTeamRsp.pb.go b/protocol/proto/DelBackupAvatarTeamRsp.pb.go
new file mode 100644
index 00000000..98d523f8
--- /dev/null
+++ b/protocol/proto/DelBackupAvatarTeamRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DelBackupAvatarTeamRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1729
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DelBackupAvatarTeamRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BackupAvatarTeamId uint32 `protobuf:"varint,15,opt,name=backup_avatar_team_id,json=backupAvatarTeamId,proto3" json:"backup_avatar_team_id,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DelBackupAvatarTeamRsp) Reset() {
+ *x = DelBackupAvatarTeamRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DelBackupAvatarTeamRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DelBackupAvatarTeamRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DelBackupAvatarTeamRsp) ProtoMessage() {}
+
+func (x *DelBackupAvatarTeamRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DelBackupAvatarTeamRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DelBackupAvatarTeamRsp.ProtoReflect.Descriptor instead.
+func (*DelBackupAvatarTeamRsp) Descriptor() ([]byte, []int) {
+ return file_DelBackupAvatarTeamRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DelBackupAvatarTeamRsp) GetBackupAvatarTeamId() uint32 {
+ if x != nil {
+ return x.BackupAvatarTeamId
+ }
+ return 0
+}
+
+func (x *DelBackupAvatarTeamRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DelBackupAvatarTeamRsp_proto protoreflect.FileDescriptor
+
+var file_DelBackupAvatarTeamRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b,
+ 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x12,
+ 0x31, 0x0a, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12,
+ 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d,
+ 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DelBackupAvatarTeamRsp_proto_rawDescOnce sync.Once
+ file_DelBackupAvatarTeamRsp_proto_rawDescData = file_DelBackupAvatarTeamRsp_proto_rawDesc
+)
+
+func file_DelBackupAvatarTeamRsp_proto_rawDescGZIP() []byte {
+ file_DelBackupAvatarTeamRsp_proto_rawDescOnce.Do(func() {
+ file_DelBackupAvatarTeamRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DelBackupAvatarTeamRsp_proto_rawDescData)
+ })
+ return file_DelBackupAvatarTeamRsp_proto_rawDescData
+}
+
+var file_DelBackupAvatarTeamRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DelBackupAvatarTeamRsp_proto_goTypes = []interface{}{
+ (*DelBackupAvatarTeamRsp)(nil), // 0: proto.DelBackupAvatarTeamRsp
+}
+var file_DelBackupAvatarTeamRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DelBackupAvatarTeamRsp_proto_init() }
+func file_DelBackupAvatarTeamRsp_proto_init() {
+ if File_DelBackupAvatarTeamRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DelBackupAvatarTeamRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DelBackupAvatarTeamRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DelBackupAvatarTeamRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DelBackupAvatarTeamRsp_proto_goTypes,
+ DependencyIndexes: file_DelBackupAvatarTeamRsp_proto_depIdxs,
+ MessageInfos: file_DelBackupAvatarTeamRsp_proto_msgTypes,
+ }.Build()
+ File_DelBackupAvatarTeamRsp_proto = out.File
+ file_DelBackupAvatarTeamRsp_proto_rawDesc = nil
+ file_DelBackupAvatarTeamRsp_proto_goTypes = nil
+ file_DelBackupAvatarTeamRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DelMailReq.pb.go b/protocol/proto/DelMailReq.pb.go
new file mode 100644
index 00000000..595d624f
--- /dev/null
+++ b/protocol/proto/DelMailReq.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DelMailReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DelMailReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MailIdList []uint32 `protobuf:"varint,12,rep,packed,name=mail_id_list,json=mailIdList,proto3" json:"mail_id_list,omitempty"`
+}
+
+func (x *DelMailReq) Reset() {
+ *x = DelMailReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DelMailReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DelMailReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DelMailReq) ProtoMessage() {}
+
+func (x *DelMailReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DelMailReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DelMailReq.ProtoReflect.Descriptor instead.
+func (*DelMailReq) Descriptor() ([]byte, []int) {
+ return file_DelMailReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DelMailReq) GetMailIdList() []uint32 {
+ if x != nil {
+ return x.MailIdList
+ }
+ return nil
+}
+
+var File_DelMailReq_proto protoreflect.FileDescriptor
+
+var file_DelMailReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x0a, 0x44, 0x65, 0x6c,
+ 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x6d,
+ 0x61, 0x69, 0x6c, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DelMailReq_proto_rawDescOnce sync.Once
+ file_DelMailReq_proto_rawDescData = file_DelMailReq_proto_rawDesc
+)
+
+func file_DelMailReq_proto_rawDescGZIP() []byte {
+ file_DelMailReq_proto_rawDescOnce.Do(func() {
+ file_DelMailReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DelMailReq_proto_rawDescData)
+ })
+ return file_DelMailReq_proto_rawDescData
+}
+
+var file_DelMailReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DelMailReq_proto_goTypes = []interface{}{
+ (*DelMailReq)(nil), // 0: proto.DelMailReq
+}
+var file_DelMailReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DelMailReq_proto_init() }
+func file_DelMailReq_proto_init() {
+ if File_DelMailReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DelMailReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DelMailReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DelMailReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DelMailReq_proto_goTypes,
+ DependencyIndexes: file_DelMailReq_proto_depIdxs,
+ MessageInfos: file_DelMailReq_proto_msgTypes,
+ }.Build()
+ File_DelMailReq_proto = out.File
+ file_DelMailReq_proto_rawDesc = nil
+ file_DelMailReq_proto_goTypes = nil
+ file_DelMailReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DelMailRsp.pb.go b/protocol/proto/DelMailRsp.pb.go
new file mode 100644
index 00000000..86ffbbb2
--- /dev/null
+++ b/protocol/proto/DelMailRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DelMailRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1403
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DelMailRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MailIdList []uint32 `protobuf:"varint,5,rep,packed,name=mail_id_list,json=mailIdList,proto3" json:"mail_id_list,omitempty"`
+}
+
+func (x *DelMailRsp) Reset() {
+ *x = DelMailRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DelMailRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DelMailRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DelMailRsp) ProtoMessage() {}
+
+func (x *DelMailRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DelMailRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DelMailRsp.ProtoReflect.Descriptor instead.
+func (*DelMailRsp) Descriptor() ([]byte, []int) {
+ return file_DelMailRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DelMailRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DelMailRsp) GetMailIdList() []uint32 {
+ if x != nil {
+ return x.MailIdList
+ }
+ return nil
+}
+
+var File_DelMailRsp_proto protoreflect.FileDescriptor
+
+var file_DelMailRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x0a, 0x44, 0x65, 0x6c,
+ 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DelMailRsp_proto_rawDescOnce sync.Once
+ file_DelMailRsp_proto_rawDescData = file_DelMailRsp_proto_rawDesc
+)
+
+func file_DelMailRsp_proto_rawDescGZIP() []byte {
+ file_DelMailRsp_proto_rawDescOnce.Do(func() {
+ file_DelMailRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DelMailRsp_proto_rawDescData)
+ })
+ return file_DelMailRsp_proto_rawDescData
+}
+
+var file_DelMailRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DelMailRsp_proto_goTypes = []interface{}{
+ (*DelMailRsp)(nil), // 0: proto.DelMailRsp
+}
+var file_DelMailRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DelMailRsp_proto_init() }
+func file_DelMailRsp_proto_init() {
+ if File_DelMailRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DelMailRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DelMailRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DelMailRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DelMailRsp_proto_goTypes,
+ DependencyIndexes: file_DelMailRsp_proto_depIdxs,
+ MessageInfos: file_DelMailRsp_proto_msgTypes,
+ }.Build()
+ File_DelMailRsp_proto = out.File
+ file_DelMailRsp_proto_rawDesc = nil
+ file_DelMailRsp_proto_goTypes = nil
+ file_DelMailRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DelScenePlayTeamEntityNotify.pb.go b/protocol/proto/DelScenePlayTeamEntityNotify.pb.go
new file mode 100644
index 00000000..3939ccfd
--- /dev/null
+++ b/protocol/proto/DelScenePlayTeamEntityNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DelScenePlayTeamEntityNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3318
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DelScenePlayTeamEntityNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DelEntityIdList []uint32 `protobuf:"varint,2,rep,packed,name=del_entity_id_list,json=delEntityIdList,proto3" json:"del_entity_id_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *DelScenePlayTeamEntityNotify) Reset() {
+ *x = DelScenePlayTeamEntityNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DelScenePlayTeamEntityNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DelScenePlayTeamEntityNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DelScenePlayTeamEntityNotify) ProtoMessage() {}
+
+func (x *DelScenePlayTeamEntityNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DelScenePlayTeamEntityNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DelScenePlayTeamEntityNotify.ProtoReflect.Descriptor instead.
+func (*DelScenePlayTeamEntityNotify) Descriptor() ([]byte, []int) {
+ return file_DelScenePlayTeamEntityNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DelScenePlayTeamEntityNotify) GetDelEntityIdList() []uint32 {
+ if x != nil {
+ return x.DelEntityIdList
+ }
+ return nil
+}
+
+func (x *DelScenePlayTeamEntityNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_DelScenePlayTeamEntityNotify_proto protoreflect.FileDescriptor
+
+var file_DelScenePlayTeamEntityNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65,
+ 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x1c, 0x44,
+ 0x65, 0x6c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2b, 0x0a, 0x12, 0x64,
+ 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DelScenePlayTeamEntityNotify_proto_rawDescOnce sync.Once
+ file_DelScenePlayTeamEntityNotify_proto_rawDescData = file_DelScenePlayTeamEntityNotify_proto_rawDesc
+)
+
+func file_DelScenePlayTeamEntityNotify_proto_rawDescGZIP() []byte {
+ file_DelScenePlayTeamEntityNotify_proto_rawDescOnce.Do(func() {
+ file_DelScenePlayTeamEntityNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DelScenePlayTeamEntityNotify_proto_rawDescData)
+ })
+ return file_DelScenePlayTeamEntityNotify_proto_rawDescData
+}
+
+var file_DelScenePlayTeamEntityNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DelScenePlayTeamEntityNotify_proto_goTypes = []interface{}{
+ (*DelScenePlayTeamEntityNotify)(nil), // 0: proto.DelScenePlayTeamEntityNotify
+}
+var file_DelScenePlayTeamEntityNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DelScenePlayTeamEntityNotify_proto_init() }
+func file_DelScenePlayTeamEntityNotify_proto_init() {
+ if File_DelScenePlayTeamEntityNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DelScenePlayTeamEntityNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DelScenePlayTeamEntityNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DelScenePlayTeamEntityNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DelScenePlayTeamEntityNotify_proto_goTypes,
+ DependencyIndexes: file_DelScenePlayTeamEntityNotify_proto_depIdxs,
+ MessageInfos: file_DelScenePlayTeamEntityNotify_proto_msgTypes,
+ }.Build()
+ File_DelScenePlayTeamEntityNotify_proto = out.File
+ file_DelScenePlayTeamEntityNotify_proto_rawDesc = nil
+ file_DelScenePlayTeamEntityNotify_proto_goTypes = nil
+ file_DelScenePlayTeamEntityNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DelTeamEntityNotify.pb.go b/protocol/proto/DelTeamEntityNotify.pb.go
new file mode 100644
index 00000000..f1addd3a
--- /dev/null
+++ b/protocol/proto/DelTeamEntityNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DelTeamEntityNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 302
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DelTeamEntityNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DelEntityIdList []uint32 `protobuf:"varint,15,rep,packed,name=del_entity_id_list,json=delEntityIdList,proto3" json:"del_entity_id_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,8,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *DelTeamEntityNotify) Reset() {
+ *x = DelTeamEntityNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DelTeamEntityNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DelTeamEntityNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DelTeamEntityNotify) ProtoMessage() {}
+
+func (x *DelTeamEntityNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DelTeamEntityNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DelTeamEntityNotify.ProtoReflect.Descriptor instead.
+func (*DelTeamEntityNotify) Descriptor() ([]byte, []int) {
+ return file_DelTeamEntityNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DelTeamEntityNotify) GetDelEntityIdList() []uint32 {
+ if x != nil {
+ return x.DelEntityIdList
+ }
+ return nil
+}
+
+func (x *DelTeamEntityNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_DelTeamEntityNotify_proto protoreflect.FileDescriptor
+
+var file_DelTeamEntityNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2b, 0x0a, 0x12, 0x64, 0x65, 0x6c,
+ 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DelTeamEntityNotify_proto_rawDescOnce sync.Once
+ file_DelTeamEntityNotify_proto_rawDescData = file_DelTeamEntityNotify_proto_rawDesc
+)
+
+func file_DelTeamEntityNotify_proto_rawDescGZIP() []byte {
+ file_DelTeamEntityNotify_proto_rawDescOnce.Do(func() {
+ file_DelTeamEntityNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DelTeamEntityNotify_proto_rawDescData)
+ })
+ return file_DelTeamEntityNotify_proto_rawDescData
+}
+
+var file_DelTeamEntityNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DelTeamEntityNotify_proto_goTypes = []interface{}{
+ (*DelTeamEntityNotify)(nil), // 0: proto.DelTeamEntityNotify
+}
+var file_DelTeamEntityNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DelTeamEntityNotify_proto_init() }
+func file_DelTeamEntityNotify_proto_init() {
+ if File_DelTeamEntityNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DelTeamEntityNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DelTeamEntityNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DelTeamEntityNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DelTeamEntityNotify_proto_goTypes,
+ DependencyIndexes: file_DelTeamEntityNotify_proto_depIdxs,
+ MessageInfos: file_DelTeamEntityNotify_proto_msgTypes,
+ }.Build()
+ File_DelTeamEntityNotify_proto = out.File
+ file_DelTeamEntityNotify_proto_rawDesc = nil
+ file_DelTeamEntityNotify_proto_goTypes = nil
+ file_DelTeamEntityNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeleteFriendNotify.pb.go b/protocol/proto/DeleteFriendNotify.pb.go
new file mode 100644
index 00000000..6d7e5cc4
--- /dev/null
+++ b/protocol/proto/DeleteFriendNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeleteFriendNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4053
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DeleteFriendNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,12,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *DeleteFriendNotify) Reset() {
+ *x = DeleteFriendNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeleteFriendNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteFriendNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteFriendNotify) ProtoMessage() {}
+
+func (x *DeleteFriendNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DeleteFriendNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteFriendNotify.ProtoReflect.Descriptor instead.
+func (*DeleteFriendNotify) Descriptor() ([]byte, []int) {
+ return file_DeleteFriendNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeleteFriendNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_DeleteFriendNotify_proto protoreflect.FileDescriptor
+
+var file_DeleteFriendNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x33, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeleteFriendNotify_proto_rawDescOnce sync.Once
+ file_DeleteFriendNotify_proto_rawDescData = file_DeleteFriendNotify_proto_rawDesc
+)
+
+func file_DeleteFriendNotify_proto_rawDescGZIP() []byte {
+ file_DeleteFriendNotify_proto_rawDescOnce.Do(func() {
+ file_DeleteFriendNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeleteFriendNotify_proto_rawDescData)
+ })
+ return file_DeleteFriendNotify_proto_rawDescData
+}
+
+var file_DeleteFriendNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeleteFriendNotify_proto_goTypes = []interface{}{
+ (*DeleteFriendNotify)(nil), // 0: proto.DeleteFriendNotify
+}
+var file_DeleteFriendNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DeleteFriendNotify_proto_init() }
+func file_DeleteFriendNotify_proto_init() {
+ if File_DeleteFriendNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DeleteFriendNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteFriendNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeleteFriendNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeleteFriendNotify_proto_goTypes,
+ DependencyIndexes: file_DeleteFriendNotify_proto_depIdxs,
+ MessageInfos: file_DeleteFriendNotify_proto_msgTypes,
+ }.Build()
+ File_DeleteFriendNotify_proto = out.File
+ file_DeleteFriendNotify_proto_rawDesc = nil
+ file_DeleteFriendNotify_proto_goTypes = nil
+ file_DeleteFriendNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeleteFriendReq.pb.go b/protocol/proto/DeleteFriendReq.pb.go
new file mode 100644
index 00000000..4bd2f4b2
--- /dev/null
+++ b/protocol/proto/DeleteFriendReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeleteFriendReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4031
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DeleteFriendReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,13,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *DeleteFriendReq) Reset() {
+ *x = DeleteFriendReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeleteFriendReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteFriendReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteFriendReq) ProtoMessage() {}
+
+func (x *DeleteFriendReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DeleteFriendReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteFriendReq.ProtoReflect.Descriptor instead.
+func (*DeleteFriendReq) Descriptor() ([]byte, []int) {
+ return file_DeleteFriendReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeleteFriendReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_DeleteFriendReq_proto protoreflect.FileDescriptor
+
+var file_DeleteFriendReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30,
+ 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeleteFriendReq_proto_rawDescOnce sync.Once
+ file_DeleteFriendReq_proto_rawDescData = file_DeleteFriendReq_proto_rawDesc
+)
+
+func file_DeleteFriendReq_proto_rawDescGZIP() []byte {
+ file_DeleteFriendReq_proto_rawDescOnce.Do(func() {
+ file_DeleteFriendReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeleteFriendReq_proto_rawDescData)
+ })
+ return file_DeleteFriendReq_proto_rawDescData
+}
+
+var file_DeleteFriendReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeleteFriendReq_proto_goTypes = []interface{}{
+ (*DeleteFriendReq)(nil), // 0: proto.DeleteFriendReq
+}
+var file_DeleteFriendReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DeleteFriendReq_proto_init() }
+func file_DeleteFriendReq_proto_init() {
+ if File_DeleteFriendReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DeleteFriendReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteFriendReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeleteFriendReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeleteFriendReq_proto_goTypes,
+ DependencyIndexes: file_DeleteFriendReq_proto_depIdxs,
+ MessageInfos: file_DeleteFriendReq_proto_msgTypes,
+ }.Build()
+ File_DeleteFriendReq_proto = out.File
+ file_DeleteFriendReq_proto_rawDesc = nil
+ file_DeleteFriendReq_proto_goTypes = nil
+ file_DeleteFriendReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeleteFriendRsp.pb.go b/protocol/proto/DeleteFriendRsp.pb.go
new file mode 100644
index 00000000..a0581ece
--- /dev/null
+++ b/protocol/proto/DeleteFriendRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeleteFriendRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4075
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DeleteFriendRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,14,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DeleteFriendRsp) Reset() {
+ *x = DeleteFriendRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeleteFriendRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeleteFriendRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeleteFriendRsp) ProtoMessage() {}
+
+func (x *DeleteFriendRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DeleteFriendRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeleteFriendRsp.ProtoReflect.Descriptor instead.
+func (*DeleteFriendRsp) Descriptor() ([]byte, []int) {
+ return file_DeleteFriendRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeleteFriendRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *DeleteFriendRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DeleteFriendRsp_proto protoreflect.FileDescriptor
+
+var file_DeleteFriendRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a,
+ 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x73,
+ 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeleteFriendRsp_proto_rawDescOnce sync.Once
+ file_DeleteFriendRsp_proto_rawDescData = file_DeleteFriendRsp_proto_rawDesc
+)
+
+func file_DeleteFriendRsp_proto_rawDescGZIP() []byte {
+ file_DeleteFriendRsp_proto_rawDescOnce.Do(func() {
+ file_DeleteFriendRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeleteFriendRsp_proto_rawDescData)
+ })
+ return file_DeleteFriendRsp_proto_rawDescData
+}
+
+var file_DeleteFriendRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeleteFriendRsp_proto_goTypes = []interface{}{
+ (*DeleteFriendRsp)(nil), // 0: proto.DeleteFriendRsp
+}
+var file_DeleteFriendRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DeleteFriendRsp_proto_init() }
+func file_DeleteFriendRsp_proto_init() {
+ if File_DeleteFriendRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DeleteFriendRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteFriendRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeleteFriendRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeleteFriendRsp_proto_goTypes,
+ DependencyIndexes: file_DeleteFriendRsp_proto_depIdxs,
+ MessageInfos: file_DeleteFriendRsp_proto_msgTypes,
+ }.Build()
+ File_DeleteFriendRsp_proto = out.File
+ file_DeleteFriendRsp_proto_rawDesc = nil
+ file_DeleteFriendRsp_proto_goTypes = nil
+ file_DeleteFriendRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeliveryActivityDetailInfo.pb.go b/protocol/proto/DeliveryActivityDetailInfo.pb.go
new file mode 100644
index 00000000..88b07ebb
--- /dev/null
+++ b/protocol/proto/DeliveryActivityDetailInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeliveryActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DeliveryActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DayIndex uint32 `protobuf:"varint,14,opt,name=day_index,json=dayIndex,proto3" json:"day_index,omitempty"`
+ IsTakenReward bool `protobuf:"varint,13,opt,name=is_taken_reward,json=isTakenReward,proto3" json:"is_taken_reward,omitempty"`
+ FinishedDeliveryQuestIndex []uint32 `protobuf:"varint,4,rep,packed,name=finished_delivery_quest_index,json=finishedDeliveryQuestIndex,proto3" json:"finished_delivery_quest_index,omitempty"`
+}
+
+func (x *DeliveryActivityDetailInfo) Reset() {
+ *x = DeliveryActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeliveryActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeliveryActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeliveryActivityDetailInfo) ProtoMessage() {}
+
+func (x *DeliveryActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DeliveryActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeliveryActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*DeliveryActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_DeliveryActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeliveryActivityDetailInfo) GetDayIndex() uint32 {
+ if x != nil {
+ return x.DayIndex
+ }
+ return 0
+}
+
+func (x *DeliveryActivityDetailInfo) GetIsTakenReward() bool {
+ if x != nil {
+ return x.IsTakenReward
+ }
+ return false
+}
+
+func (x *DeliveryActivityDetailInfo) GetFinishedDeliveryQuestIndex() []uint32 {
+ if x != nil {
+ return x.FinishedDeliveryQuestIndex
+ }
+ return nil
+}
+
+var File_DeliveryActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_DeliveryActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x1a, 0x44, 0x65,
+ 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x79, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61, 0x79,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65,
+ 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
+ 0x69, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x41, 0x0a,
+ 0x1d, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65,
+ 0x72, 0x79, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x44, 0x65,
+ 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeliveryActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_DeliveryActivityDetailInfo_proto_rawDescData = file_DeliveryActivityDetailInfo_proto_rawDesc
+)
+
+func file_DeliveryActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_DeliveryActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_DeliveryActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeliveryActivityDetailInfo_proto_rawDescData)
+ })
+ return file_DeliveryActivityDetailInfo_proto_rawDescData
+}
+
+var file_DeliveryActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeliveryActivityDetailInfo_proto_goTypes = []interface{}{
+ (*DeliveryActivityDetailInfo)(nil), // 0: proto.DeliveryActivityDetailInfo
+}
+var file_DeliveryActivityDetailInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DeliveryActivityDetailInfo_proto_init() }
+func file_DeliveryActivityDetailInfo_proto_init() {
+ if File_DeliveryActivityDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DeliveryActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeliveryActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeliveryActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeliveryActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_DeliveryActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_DeliveryActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_DeliveryActivityDetailInfo_proto = out.File
+ file_DeliveryActivityDetailInfo_proto_rawDesc = nil
+ file_DeliveryActivityDetailInfo_proto_goTypes = nil
+ file_DeliveryActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeshretObeliskChestInfo.pb.go b/protocol/proto/DeshretObeliskChestInfo.pb.go
new file mode 100644
index 00000000..c102735d
--- /dev/null
+++ b/protocol/proto/DeshretObeliskChestInfo.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeshretObeliskChestInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DeshretObeliskChestInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,5,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,9,opt,name=pos,proto3" json:"pos,omitempty"`
+ GroupId uint32 `protobuf:"varint,7,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,3,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *DeshretObeliskChestInfo) Reset() {
+ *x = DeshretObeliskChestInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeshretObeliskChestInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeshretObeliskChestInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeshretObeliskChestInfo) ProtoMessage() {}
+
+func (x *DeshretObeliskChestInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DeshretObeliskChestInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeshretObeliskChestInfo.ProtoReflect.Descriptor instead.
+func (*DeshretObeliskChestInfo) Descriptor() ([]byte, []int) {
+ return file_DeshretObeliskChestInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeshretObeliskChestInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *DeshretObeliskChestInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *DeshretObeliskChestInfo) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *DeshretObeliskChestInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_DeshretObeliskChestInfo_proto protoreflect.FileDescriptor
+
+var file_DeshretObeliskChestInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x44, 0x65, 0x73, 0x68, 0x72, 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b,
+ 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x73, 0x68, 0x72, 0x65, 0x74,
+ 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70,
+ 0x6f, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08,
+ 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeshretObeliskChestInfo_proto_rawDescOnce sync.Once
+ file_DeshretObeliskChestInfo_proto_rawDescData = file_DeshretObeliskChestInfo_proto_rawDesc
+)
+
+func file_DeshretObeliskChestInfo_proto_rawDescGZIP() []byte {
+ file_DeshretObeliskChestInfo_proto_rawDescOnce.Do(func() {
+ file_DeshretObeliskChestInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeshretObeliskChestInfo_proto_rawDescData)
+ })
+ return file_DeshretObeliskChestInfo_proto_rawDescData
+}
+
+var file_DeshretObeliskChestInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeshretObeliskChestInfo_proto_goTypes = []interface{}{
+ (*DeshretObeliskChestInfo)(nil), // 0: proto.DeshretObeliskChestInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_DeshretObeliskChestInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.DeshretObeliskChestInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DeshretObeliskChestInfo_proto_init() }
+func file_DeshretObeliskChestInfo_proto_init() {
+ if File_DeshretObeliskChestInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DeshretObeliskChestInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeshretObeliskChestInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeshretObeliskChestInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeshretObeliskChestInfo_proto_goTypes,
+ DependencyIndexes: file_DeshretObeliskChestInfo_proto_depIdxs,
+ MessageInfos: file_DeshretObeliskChestInfo_proto_msgTypes,
+ }.Build()
+ File_DeshretObeliskChestInfo_proto = out.File
+ file_DeshretObeliskChestInfo_proto_rawDesc = nil
+ file_DeshretObeliskChestInfo_proto_goTypes = nil
+ file_DeshretObeliskChestInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeshretObeliskChestInfoNotify.pb.go b/protocol/proto/DeshretObeliskChestInfoNotify.pb.go
new file mode 100644
index 00000000..4b23ca0d
--- /dev/null
+++ b/protocol/proto/DeshretObeliskChestInfoNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeshretObeliskChestInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 841
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DeshretObeliskChestInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChestInfoList []*DeshretObeliskChestInfo `protobuf:"bytes,14,rep,name=chest_info_list,json=chestInfoList,proto3" json:"chest_info_list,omitempty"`
+}
+
+func (x *DeshretObeliskChestInfoNotify) Reset() {
+ *x = DeshretObeliskChestInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeshretObeliskChestInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeshretObeliskChestInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeshretObeliskChestInfoNotify) ProtoMessage() {}
+
+func (x *DeshretObeliskChestInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DeshretObeliskChestInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeshretObeliskChestInfoNotify.ProtoReflect.Descriptor instead.
+func (*DeshretObeliskChestInfoNotify) Descriptor() ([]byte, []int) {
+ return file_DeshretObeliskChestInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeshretObeliskChestInfoNotify) GetChestInfoList() []*DeshretObeliskChestInfo {
+ if x != nil {
+ return x.ChestInfoList
+ }
+ return nil
+}
+
+var File_DeshretObeliskChestInfoNotify_proto protoreflect.FileDescriptor
+
+var file_DeshretObeliskChestInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x65, 0x73, 0x68, 0x72, 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b,
+ 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x44, 0x65,
+ 0x73, 0x68, 0x72, 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x43, 0x68, 0x65, 0x73,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x1d, 0x44,
+ 0x65, 0x73, 0x68, 0x72, 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x43, 0x68, 0x65,
+ 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x46, 0x0a, 0x0f,
+ 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x65,
+ 0x73, 0x68, 0x72, 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x43, 0x68, 0x65, 0x73,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x63, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeshretObeliskChestInfoNotify_proto_rawDescOnce sync.Once
+ file_DeshretObeliskChestInfoNotify_proto_rawDescData = file_DeshretObeliskChestInfoNotify_proto_rawDesc
+)
+
+func file_DeshretObeliskChestInfoNotify_proto_rawDescGZIP() []byte {
+ file_DeshretObeliskChestInfoNotify_proto_rawDescOnce.Do(func() {
+ file_DeshretObeliskChestInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeshretObeliskChestInfoNotify_proto_rawDescData)
+ })
+ return file_DeshretObeliskChestInfoNotify_proto_rawDescData
+}
+
+var file_DeshretObeliskChestInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeshretObeliskChestInfoNotify_proto_goTypes = []interface{}{
+ (*DeshretObeliskChestInfoNotify)(nil), // 0: proto.DeshretObeliskChestInfoNotify
+ (*DeshretObeliskChestInfo)(nil), // 1: proto.DeshretObeliskChestInfo
+}
+var file_DeshretObeliskChestInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DeshretObeliskChestInfoNotify.chest_info_list:type_name -> proto.DeshretObeliskChestInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DeshretObeliskChestInfoNotify_proto_init() }
+func file_DeshretObeliskChestInfoNotify_proto_init() {
+ if File_DeshretObeliskChestInfoNotify_proto != nil {
+ return
+ }
+ file_DeshretObeliskChestInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DeshretObeliskChestInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeshretObeliskChestInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeshretObeliskChestInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeshretObeliskChestInfoNotify_proto_goTypes,
+ DependencyIndexes: file_DeshretObeliskChestInfoNotify_proto_depIdxs,
+ MessageInfos: file_DeshretObeliskChestInfoNotify_proto_msgTypes,
+ }.Build()
+ File_DeshretObeliskChestInfoNotify_proto = out.File
+ file_DeshretObeliskChestInfoNotify_proto_rawDesc = nil
+ file_DeshretObeliskChestInfoNotify_proto_goTypes = nil
+ file_DeshretObeliskChestInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DeshretObeliskGadgetInfo.pb.go b/protocol/proto/DeshretObeliskGadgetInfo.pb.go
new file mode 100644
index 00000000..a724bbde
--- /dev/null
+++ b/protocol/proto/DeshretObeliskGadgetInfo.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DeshretObeliskGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DeshretObeliskGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArgumentList []uint32 `protobuf:"varint,1,rep,packed,name=argument_list,json=argumentList,proto3" json:"argument_list,omitempty"`
+}
+
+func (x *DeshretObeliskGadgetInfo) Reset() {
+ *x = DeshretObeliskGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DeshretObeliskGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DeshretObeliskGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DeshretObeliskGadgetInfo) ProtoMessage() {}
+
+func (x *DeshretObeliskGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DeshretObeliskGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DeshretObeliskGadgetInfo.ProtoReflect.Descriptor instead.
+func (*DeshretObeliskGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_DeshretObeliskGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DeshretObeliskGadgetInfo) GetArgumentList() []uint32 {
+ if x != nil {
+ return x.ArgumentList
+ }
+ return nil
+}
+
+var File_DeshretObeliskGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_DeshretObeliskGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x44, 0x65, 0x73, 0x68, 0x72, 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x18, 0x44, 0x65, 0x73, 0x68, 0x72,
+ 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x67, 0x75,
+ 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DeshretObeliskGadgetInfo_proto_rawDescOnce sync.Once
+ file_DeshretObeliskGadgetInfo_proto_rawDescData = file_DeshretObeliskGadgetInfo_proto_rawDesc
+)
+
+func file_DeshretObeliskGadgetInfo_proto_rawDescGZIP() []byte {
+ file_DeshretObeliskGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_DeshretObeliskGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DeshretObeliskGadgetInfo_proto_rawDescData)
+ })
+ return file_DeshretObeliskGadgetInfo_proto_rawDescData
+}
+
+var file_DeshretObeliskGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DeshretObeliskGadgetInfo_proto_goTypes = []interface{}{
+ (*DeshretObeliskGadgetInfo)(nil), // 0: proto.DeshretObeliskGadgetInfo
+}
+var file_DeshretObeliskGadgetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DeshretObeliskGadgetInfo_proto_init() }
+func file_DeshretObeliskGadgetInfo_proto_init() {
+ if File_DeshretObeliskGadgetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DeshretObeliskGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeshretObeliskGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DeshretObeliskGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DeshretObeliskGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_DeshretObeliskGadgetInfo_proto_depIdxs,
+ MessageInfos: file_DeshretObeliskGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_DeshretObeliskGadgetInfo_proto = out.File
+ file_DeshretObeliskGadgetInfo_proto_rawDesc = nil
+ file_DeshretObeliskGadgetInfo_proto_goTypes = nil
+ file_DeshretObeliskGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DestroyMassiveEntityNotify.pb.go b/protocol/proto/DestroyMassiveEntityNotify.pb.go
new file mode 100644
index 00000000..a221e84c
--- /dev/null
+++ b/protocol/proto/DestroyMassiveEntityNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DestroyMassiveEntityNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 358
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DestroyMassiveEntityNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MassiveEntityList []*ClientMassiveEntity `protobuf:"bytes,7,rep,name=massive_entity_list,json=massiveEntityList,proto3" json:"massive_entity_list,omitempty"`
+}
+
+func (x *DestroyMassiveEntityNotify) Reset() {
+ *x = DestroyMassiveEntityNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DestroyMassiveEntityNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DestroyMassiveEntityNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DestroyMassiveEntityNotify) ProtoMessage() {}
+
+func (x *DestroyMassiveEntityNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DestroyMassiveEntityNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DestroyMassiveEntityNotify.ProtoReflect.Descriptor instead.
+func (*DestroyMassiveEntityNotify) Descriptor() ([]byte, []int) {
+ return file_DestroyMassiveEntityNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DestroyMassiveEntityNotify) GetMassiveEntityList() []*ClientMassiveEntity {
+ if x != nil {
+ return x.MassiveEntityList
+ }
+ return nil
+}
+
+var File_DestroyMassiveEntityNotify_proto protoreflect.FileDescriptor
+
+var file_DestroyMassiveEntityNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x1a, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4d,
+ 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x4a, 0x0a, 0x13, 0x6d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61,
+ 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x73,
+ 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DestroyMassiveEntityNotify_proto_rawDescOnce sync.Once
+ file_DestroyMassiveEntityNotify_proto_rawDescData = file_DestroyMassiveEntityNotify_proto_rawDesc
+)
+
+func file_DestroyMassiveEntityNotify_proto_rawDescGZIP() []byte {
+ file_DestroyMassiveEntityNotify_proto_rawDescOnce.Do(func() {
+ file_DestroyMassiveEntityNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DestroyMassiveEntityNotify_proto_rawDescData)
+ })
+ return file_DestroyMassiveEntityNotify_proto_rawDescData
+}
+
+var file_DestroyMassiveEntityNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DestroyMassiveEntityNotify_proto_goTypes = []interface{}{
+ (*DestroyMassiveEntityNotify)(nil), // 0: proto.DestroyMassiveEntityNotify
+ (*ClientMassiveEntity)(nil), // 1: proto.ClientMassiveEntity
+}
+var file_DestroyMassiveEntityNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DestroyMassiveEntityNotify.massive_entity_list:type_name -> proto.ClientMassiveEntity
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DestroyMassiveEntityNotify_proto_init() }
+func file_DestroyMassiveEntityNotify_proto_init() {
+ if File_DestroyMassiveEntityNotify_proto != nil {
+ return
+ }
+ file_ClientMassiveEntity_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DestroyMassiveEntityNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DestroyMassiveEntityNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DestroyMassiveEntityNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DestroyMassiveEntityNotify_proto_goTypes,
+ DependencyIndexes: file_DestroyMassiveEntityNotify_proto_depIdxs,
+ MessageInfos: file_DestroyMassiveEntityNotify_proto_msgTypes,
+ }.Build()
+ File_DestroyMassiveEntityNotify_proto = out.File
+ file_DestroyMassiveEntityNotify_proto_rawDesc = nil
+ file_DestroyMassiveEntityNotify_proto_goTypes = nil
+ file_DestroyMassiveEntityNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DestroyMaterialReq.pb.go b/protocol/proto/DestroyMaterialReq.pb.go
new file mode 100644
index 00000000..b7c528d6
--- /dev/null
+++ b/protocol/proto/DestroyMaterialReq.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DestroyMaterialReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 640
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DestroyMaterialReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaterialList []*MaterialInfo `protobuf:"bytes,5,rep,name=material_list,json=materialList,proto3" json:"material_list,omitempty"`
+}
+
+func (x *DestroyMaterialReq) Reset() {
+ *x = DestroyMaterialReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DestroyMaterialReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DestroyMaterialReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DestroyMaterialReq) ProtoMessage() {}
+
+func (x *DestroyMaterialReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DestroyMaterialReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DestroyMaterialReq.ProtoReflect.Descriptor instead.
+func (*DestroyMaterialReq) Descriptor() ([]byte, []int) {
+ return file_DestroyMaterialReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DestroyMaterialReq) GetMaterialList() []*MaterialInfo {
+ if x != nil {
+ return x.MaterialList
+ }
+ return nil
+}
+
+var File_DestroyMaterialReq_proto protoreflect.FileDescriptor
+
+var file_DestroyMaterialReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79,
+ 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x0d, 0x6d,
+ 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72,
+ 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DestroyMaterialReq_proto_rawDescOnce sync.Once
+ file_DestroyMaterialReq_proto_rawDescData = file_DestroyMaterialReq_proto_rawDesc
+)
+
+func file_DestroyMaterialReq_proto_rawDescGZIP() []byte {
+ file_DestroyMaterialReq_proto_rawDescOnce.Do(func() {
+ file_DestroyMaterialReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DestroyMaterialReq_proto_rawDescData)
+ })
+ return file_DestroyMaterialReq_proto_rawDescData
+}
+
+var file_DestroyMaterialReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DestroyMaterialReq_proto_goTypes = []interface{}{
+ (*DestroyMaterialReq)(nil), // 0: proto.DestroyMaterialReq
+ (*MaterialInfo)(nil), // 1: proto.MaterialInfo
+}
+var file_DestroyMaterialReq_proto_depIdxs = []int32{
+ 1, // 0: proto.DestroyMaterialReq.material_list:type_name -> proto.MaterialInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DestroyMaterialReq_proto_init() }
+func file_DestroyMaterialReq_proto_init() {
+ if File_DestroyMaterialReq_proto != nil {
+ return
+ }
+ file_MaterialInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DestroyMaterialReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DestroyMaterialReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DestroyMaterialReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DestroyMaterialReq_proto_goTypes,
+ DependencyIndexes: file_DestroyMaterialReq_proto_depIdxs,
+ MessageInfos: file_DestroyMaterialReq_proto_msgTypes,
+ }.Build()
+ File_DestroyMaterialReq_proto = out.File
+ file_DestroyMaterialReq_proto_rawDesc = nil
+ file_DestroyMaterialReq_proto_goTypes = nil
+ file_DestroyMaterialReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DestroyMaterialRsp.pb.go b/protocol/proto/DestroyMaterialRsp.pb.go
new file mode 100644
index 00000000..937226d7
--- /dev/null
+++ b/protocol/proto/DestroyMaterialRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DestroyMaterialRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 618
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DestroyMaterialRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemCountList []uint32 `protobuf:"varint,12,rep,packed,name=item_count_list,json=itemCountList,proto3" json:"item_count_list,omitempty"`
+ ItemIdList []uint32 `protobuf:"varint,13,rep,packed,name=item_id_list,json=itemIdList,proto3" json:"item_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DestroyMaterialRsp) Reset() {
+ *x = DestroyMaterialRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DestroyMaterialRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DestroyMaterialRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DestroyMaterialRsp) ProtoMessage() {}
+
+func (x *DestroyMaterialRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DestroyMaterialRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DestroyMaterialRsp.ProtoReflect.Descriptor instead.
+func (*DestroyMaterialRsp) Descriptor() ([]byte, []int) {
+ return file_DestroyMaterialRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DestroyMaterialRsp) GetItemCountList() []uint32 {
+ if x != nil {
+ return x.ItemCountList
+ }
+ return nil
+}
+
+func (x *DestroyMaterialRsp) GetItemIdList() []uint32 {
+ if x != nil {
+ return x.ItemIdList
+ }
+ return nil
+}
+
+func (x *DestroyMaterialRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DestroyMaterialRsp_proto protoreflect.FileDescriptor
+
+var file_DestroyMaterialRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x78, 0x0a, 0x12, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4d, 0x61, 0x74, 0x65,
+ 0x72, 0x69, 0x61, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DestroyMaterialRsp_proto_rawDescOnce sync.Once
+ file_DestroyMaterialRsp_proto_rawDescData = file_DestroyMaterialRsp_proto_rawDesc
+)
+
+func file_DestroyMaterialRsp_proto_rawDescGZIP() []byte {
+ file_DestroyMaterialRsp_proto_rawDescOnce.Do(func() {
+ file_DestroyMaterialRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DestroyMaterialRsp_proto_rawDescData)
+ })
+ return file_DestroyMaterialRsp_proto_rawDescData
+}
+
+var file_DestroyMaterialRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DestroyMaterialRsp_proto_goTypes = []interface{}{
+ (*DestroyMaterialRsp)(nil), // 0: proto.DestroyMaterialRsp
+}
+var file_DestroyMaterialRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DestroyMaterialRsp_proto_init() }
+func file_DestroyMaterialRsp_proto_init() {
+ if File_DestroyMaterialRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DestroyMaterialRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DestroyMaterialRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DestroyMaterialRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DestroyMaterialRsp_proto_goTypes,
+ DependencyIndexes: file_DestroyMaterialRsp_proto_depIdxs,
+ MessageInfos: file_DestroyMaterialRsp_proto_msgTypes,
+ }.Build()
+ File_DestroyMaterialRsp_proto = out.File
+ file_DestroyMaterialRsp_proto_rawDesc = nil
+ file_DestroyMaterialRsp_proto_goTypes = nil
+ file_DestroyMaterialRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DigActivityChangeGadgetStateReq.pb.go b/protocol/proto/DigActivityChangeGadgetStateReq.pb.go
new file mode 100644
index 00000000..e80cccea
--- /dev/null
+++ b/protocol/proto/DigActivityChangeGadgetStateReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DigActivityChangeGadgetStateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8464
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DigActivityChangeGadgetStateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,10,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *DigActivityChangeGadgetStateReq) Reset() {
+ *x = DigActivityChangeGadgetStateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DigActivityChangeGadgetStateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DigActivityChangeGadgetStateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DigActivityChangeGadgetStateReq) ProtoMessage() {}
+
+func (x *DigActivityChangeGadgetStateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DigActivityChangeGadgetStateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DigActivityChangeGadgetStateReq.ProtoReflect.Descriptor instead.
+func (*DigActivityChangeGadgetStateReq) Descriptor() ([]byte, []int) {
+ return file_DigActivityChangeGadgetStateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DigActivityChangeGadgetStateReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_DigActivityChangeGadgetStateReq_proto protoreflect.FileDescriptor
+
+var file_DigActivityChangeGadgetStateReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e,
+ 0x0a, 0x1f, 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DigActivityChangeGadgetStateReq_proto_rawDescOnce sync.Once
+ file_DigActivityChangeGadgetStateReq_proto_rawDescData = file_DigActivityChangeGadgetStateReq_proto_rawDesc
+)
+
+func file_DigActivityChangeGadgetStateReq_proto_rawDescGZIP() []byte {
+ file_DigActivityChangeGadgetStateReq_proto_rawDescOnce.Do(func() {
+ file_DigActivityChangeGadgetStateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DigActivityChangeGadgetStateReq_proto_rawDescData)
+ })
+ return file_DigActivityChangeGadgetStateReq_proto_rawDescData
+}
+
+var file_DigActivityChangeGadgetStateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DigActivityChangeGadgetStateReq_proto_goTypes = []interface{}{
+ (*DigActivityChangeGadgetStateReq)(nil), // 0: proto.DigActivityChangeGadgetStateReq
+}
+var file_DigActivityChangeGadgetStateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DigActivityChangeGadgetStateReq_proto_init() }
+func file_DigActivityChangeGadgetStateReq_proto_init() {
+ if File_DigActivityChangeGadgetStateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DigActivityChangeGadgetStateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DigActivityChangeGadgetStateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DigActivityChangeGadgetStateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DigActivityChangeGadgetStateReq_proto_goTypes,
+ DependencyIndexes: file_DigActivityChangeGadgetStateReq_proto_depIdxs,
+ MessageInfos: file_DigActivityChangeGadgetStateReq_proto_msgTypes,
+ }.Build()
+ File_DigActivityChangeGadgetStateReq_proto = out.File
+ file_DigActivityChangeGadgetStateReq_proto_rawDesc = nil
+ file_DigActivityChangeGadgetStateReq_proto_goTypes = nil
+ file_DigActivityChangeGadgetStateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DigActivityChangeGadgetStateRsp.pb.go b/protocol/proto/DigActivityChangeGadgetStateRsp.pb.go
new file mode 100644
index 00000000..92289b7c
--- /dev/null
+++ b/protocol/proto/DigActivityChangeGadgetStateRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DigActivityChangeGadgetStateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8430
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DigActivityChangeGadgetStateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DigActivityChangeGadgetStateRsp) Reset() {
+ *x = DigActivityChangeGadgetStateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DigActivityChangeGadgetStateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DigActivityChangeGadgetStateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DigActivityChangeGadgetStateRsp) ProtoMessage() {}
+
+func (x *DigActivityChangeGadgetStateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DigActivityChangeGadgetStateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DigActivityChangeGadgetStateRsp.ProtoReflect.Descriptor instead.
+func (*DigActivityChangeGadgetStateRsp) Descriptor() ([]byte, []int) {
+ return file_DigActivityChangeGadgetStateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DigActivityChangeGadgetStateRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *DigActivityChangeGadgetStateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DigActivityChangeGadgetStateRsp_proto protoreflect.FileDescriptor
+
+var file_DigActivityChangeGadgetStateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58,
+ 0x0a, 0x1f, 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DigActivityChangeGadgetStateRsp_proto_rawDescOnce sync.Once
+ file_DigActivityChangeGadgetStateRsp_proto_rawDescData = file_DigActivityChangeGadgetStateRsp_proto_rawDesc
+)
+
+func file_DigActivityChangeGadgetStateRsp_proto_rawDescGZIP() []byte {
+ file_DigActivityChangeGadgetStateRsp_proto_rawDescOnce.Do(func() {
+ file_DigActivityChangeGadgetStateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DigActivityChangeGadgetStateRsp_proto_rawDescData)
+ })
+ return file_DigActivityChangeGadgetStateRsp_proto_rawDescData
+}
+
+var file_DigActivityChangeGadgetStateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DigActivityChangeGadgetStateRsp_proto_goTypes = []interface{}{
+ (*DigActivityChangeGadgetStateRsp)(nil), // 0: proto.DigActivityChangeGadgetStateRsp
+}
+var file_DigActivityChangeGadgetStateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DigActivityChangeGadgetStateRsp_proto_init() }
+func file_DigActivityChangeGadgetStateRsp_proto_init() {
+ if File_DigActivityChangeGadgetStateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DigActivityChangeGadgetStateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DigActivityChangeGadgetStateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DigActivityChangeGadgetStateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DigActivityChangeGadgetStateRsp_proto_goTypes,
+ DependencyIndexes: file_DigActivityChangeGadgetStateRsp_proto_depIdxs,
+ MessageInfos: file_DigActivityChangeGadgetStateRsp_proto_msgTypes,
+ }.Build()
+ File_DigActivityChangeGadgetStateRsp_proto = out.File
+ file_DigActivityChangeGadgetStateRsp_proto_rawDesc = nil
+ file_DigActivityChangeGadgetStateRsp_proto_goTypes = nil
+ file_DigActivityChangeGadgetStateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DigActivityDetailInfo.pb.go b/protocol/proto/DigActivityDetailInfo.pb.go
new file mode 100644
index 00000000..5dcc3249
--- /dev/null
+++ b/protocol/proto/DigActivityDetailInfo.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DigActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DigActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageIdList []uint32 `protobuf:"varint,15,rep,packed,name=stage_id_list,json=stageIdList,proto3" json:"stage_id_list,omitempty"`
+ DigMarkPointList []*DigMarkPoint `protobuf:"bytes,11,rep,name=dig_mark_point_list,json=digMarkPointList,proto3" json:"dig_mark_point_list,omitempty"`
+ StageId uint32 `protobuf:"varint,8,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *DigActivityDetailInfo) Reset() {
+ *x = DigActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DigActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DigActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DigActivityDetailInfo) ProtoMessage() {}
+
+func (x *DigActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DigActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DigActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*DigActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_DigActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DigActivityDetailInfo) GetStageIdList() []uint32 {
+ if x != nil {
+ return x.StageIdList
+ }
+ return nil
+}
+
+func (x *DigActivityDetailInfo) GetDigMarkPointList() []*DigMarkPoint {
+ if x != nil {
+ return x.DigMarkPointList
+ }
+ return nil
+}
+
+func (x *DigActivityDetailInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_DigActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_DigActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x44, 0x69, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x67,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x13, 0x64, 0x69, 0x67, 0x5f, 0x6d, 0x61,
+ 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x67, 0x4d,
+ 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x64, 0x69, 0x67, 0x4d, 0x61, 0x72,
+ 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DigActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_DigActivityDetailInfo_proto_rawDescData = file_DigActivityDetailInfo_proto_rawDesc
+)
+
+func file_DigActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_DigActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_DigActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DigActivityDetailInfo_proto_rawDescData)
+ })
+ return file_DigActivityDetailInfo_proto_rawDescData
+}
+
+var file_DigActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DigActivityDetailInfo_proto_goTypes = []interface{}{
+ (*DigActivityDetailInfo)(nil), // 0: proto.DigActivityDetailInfo
+ (*DigMarkPoint)(nil), // 1: proto.DigMarkPoint
+}
+var file_DigActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.DigActivityDetailInfo.dig_mark_point_list:type_name -> proto.DigMarkPoint
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DigActivityDetailInfo_proto_init() }
+func file_DigActivityDetailInfo_proto_init() {
+ if File_DigActivityDetailInfo_proto != nil {
+ return
+ }
+ file_DigMarkPoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DigActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DigActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DigActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DigActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_DigActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_DigActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_DigActivityDetailInfo_proto = out.File
+ file_DigActivityDetailInfo_proto_rawDesc = nil
+ file_DigActivityDetailInfo_proto_goTypes = nil
+ file_DigActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DigActivityMarkPointChangeNotify.pb.go b/protocol/proto/DigActivityMarkPointChangeNotify.pb.go
new file mode 100644
index 00000000..d60abf2b
--- /dev/null
+++ b/protocol/proto/DigActivityMarkPointChangeNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DigActivityMarkPointChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8109
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DigActivityMarkPointChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DigMarkPointList []*DigMarkPoint `protobuf:"bytes,11,rep,name=dig_mark_point_list,json=digMarkPointList,proto3" json:"dig_mark_point_list,omitempty"`
+}
+
+func (x *DigActivityMarkPointChangeNotify) Reset() {
+ *x = DigActivityMarkPointChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DigActivityMarkPointChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DigActivityMarkPointChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DigActivityMarkPointChangeNotify) ProtoMessage() {}
+
+func (x *DigActivityMarkPointChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DigActivityMarkPointChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DigActivityMarkPointChangeNotify.ProtoReflect.Descriptor instead.
+func (*DigActivityMarkPointChangeNotify) Descriptor() ([]byte, []int) {
+ return file_DigActivityMarkPointChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DigActivityMarkPointChangeNotify) GetDigMarkPointList() []*DigMarkPoint {
+ if x != nil {
+ return x.DigMarkPointList
+ }
+ return nil
+}
+
+var File_DigActivityMarkPointChangeNotify_proto protoreflect.FileDescriptor
+
+var file_DigActivityMarkPointChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x72,
+ 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x12, 0x44, 0x69, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x20, 0x44, 0x69, 0x67, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x42, 0x0a, 0x13, 0x64, 0x69, 0x67, 0x5f, 0x6d,
+ 0x61, 0x72, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x69, 0x67,
+ 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x64, 0x69, 0x67, 0x4d, 0x61,
+ 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DigActivityMarkPointChangeNotify_proto_rawDescOnce sync.Once
+ file_DigActivityMarkPointChangeNotify_proto_rawDescData = file_DigActivityMarkPointChangeNotify_proto_rawDesc
+)
+
+func file_DigActivityMarkPointChangeNotify_proto_rawDescGZIP() []byte {
+ file_DigActivityMarkPointChangeNotify_proto_rawDescOnce.Do(func() {
+ file_DigActivityMarkPointChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DigActivityMarkPointChangeNotify_proto_rawDescData)
+ })
+ return file_DigActivityMarkPointChangeNotify_proto_rawDescData
+}
+
+var file_DigActivityMarkPointChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DigActivityMarkPointChangeNotify_proto_goTypes = []interface{}{
+ (*DigActivityMarkPointChangeNotify)(nil), // 0: proto.DigActivityMarkPointChangeNotify
+ (*DigMarkPoint)(nil), // 1: proto.DigMarkPoint
+}
+var file_DigActivityMarkPointChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DigActivityMarkPointChangeNotify.dig_mark_point_list:type_name -> proto.DigMarkPoint
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DigActivityMarkPointChangeNotify_proto_init() }
+func file_DigActivityMarkPointChangeNotify_proto_init() {
+ if File_DigActivityMarkPointChangeNotify_proto != nil {
+ return
+ }
+ file_DigMarkPoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DigActivityMarkPointChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DigActivityMarkPointChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DigActivityMarkPointChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DigActivityMarkPointChangeNotify_proto_goTypes,
+ DependencyIndexes: file_DigActivityMarkPointChangeNotify_proto_depIdxs,
+ MessageInfos: file_DigActivityMarkPointChangeNotify_proto_msgTypes,
+ }.Build()
+ File_DigActivityMarkPointChangeNotify_proto = out.File
+ file_DigActivityMarkPointChangeNotify_proto_rawDesc = nil
+ file_DigActivityMarkPointChangeNotify_proto_goTypes = nil
+ file_DigActivityMarkPointChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DigMarkPoint.pb.go b/protocol/proto/DigMarkPoint.pb.go
new file mode 100644
index 00000000..497b3993
--- /dev/null
+++ b/protocol/proto/DigMarkPoint.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DigMarkPoint.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DigMarkPoint struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+ BundleId uint32 `protobuf:"varint,13,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"`
+ Rot *Vector `protobuf:"bytes,3,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *DigMarkPoint) Reset() {
+ *x = DigMarkPoint{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DigMarkPoint_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DigMarkPoint) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DigMarkPoint) ProtoMessage() {}
+
+func (x *DigMarkPoint) ProtoReflect() protoreflect.Message {
+ mi := &file_DigMarkPoint_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DigMarkPoint.ProtoReflect.Descriptor instead.
+func (*DigMarkPoint) Descriptor() ([]byte, []int) {
+ return file_DigMarkPoint_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DigMarkPoint) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *DigMarkPoint) GetBundleId() uint32 {
+ if x != nil {
+ return x.BundleId
+ }
+ return 0
+}
+
+func (x *DigMarkPoint) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_DigMarkPoint_proto protoreflect.FileDescriptor
+
+var file_DigMarkPoint_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x44, 0x69, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x0c, 0x44, 0x69, 0x67,
+ 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75,
+ 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62,
+ 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DigMarkPoint_proto_rawDescOnce sync.Once
+ file_DigMarkPoint_proto_rawDescData = file_DigMarkPoint_proto_rawDesc
+)
+
+func file_DigMarkPoint_proto_rawDescGZIP() []byte {
+ file_DigMarkPoint_proto_rawDescOnce.Do(func() {
+ file_DigMarkPoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_DigMarkPoint_proto_rawDescData)
+ })
+ return file_DigMarkPoint_proto_rawDescData
+}
+
+var file_DigMarkPoint_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DigMarkPoint_proto_goTypes = []interface{}{
+ (*DigMarkPoint)(nil), // 0: proto.DigMarkPoint
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_DigMarkPoint_proto_depIdxs = []int32{
+ 1, // 0: proto.DigMarkPoint.pos:type_name -> proto.Vector
+ 1, // 1: proto.DigMarkPoint.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_DigMarkPoint_proto_init() }
+func file_DigMarkPoint_proto_init() {
+ if File_DigMarkPoint_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DigMarkPoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DigMarkPoint); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DigMarkPoint_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DigMarkPoint_proto_goTypes,
+ DependencyIndexes: file_DigMarkPoint_proto_depIdxs,
+ MessageInfos: file_DigMarkPoint_proto_msgTypes,
+ }.Build()
+ File_DigMarkPoint_proto = out.File
+ file_DigMarkPoint_proto_rawDesc = nil
+ file_DigMarkPoint_proto_goTypes = nil
+ file_DigMarkPoint_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DisableRoguelikeTrapNotify.pb.go b/protocol/proto/DisableRoguelikeTrapNotify.pb.go
new file mode 100644
index 00000000..24a6d0f6
--- /dev/null
+++ b/protocol/proto/DisableRoguelikeTrapNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DisableRoguelikeTrapNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8259
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DisableRoguelikeTrapNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,13,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *DisableRoguelikeTrapNotify) Reset() {
+ *x = DisableRoguelikeTrapNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DisableRoguelikeTrapNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DisableRoguelikeTrapNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DisableRoguelikeTrapNotify) ProtoMessage() {}
+
+func (x *DisableRoguelikeTrapNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DisableRoguelikeTrapNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DisableRoguelikeTrapNotify.ProtoReflect.Descriptor instead.
+func (*DisableRoguelikeTrapNotify) Descriptor() ([]byte, []int) {
+ return file_DisableRoguelikeTrapNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DisableRoguelikeTrapNotify) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_DisableRoguelikeTrapNotify_proto protoreflect.FileDescriptor
+
+var file_DisableRoguelikeTrapNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x54, 0x72, 0x61, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x1a, 0x44, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x54, 0x72, 0x61,
+ 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DisableRoguelikeTrapNotify_proto_rawDescOnce sync.Once
+ file_DisableRoguelikeTrapNotify_proto_rawDescData = file_DisableRoguelikeTrapNotify_proto_rawDesc
+)
+
+func file_DisableRoguelikeTrapNotify_proto_rawDescGZIP() []byte {
+ file_DisableRoguelikeTrapNotify_proto_rawDescOnce.Do(func() {
+ file_DisableRoguelikeTrapNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DisableRoguelikeTrapNotify_proto_rawDescData)
+ })
+ return file_DisableRoguelikeTrapNotify_proto_rawDescData
+}
+
+var file_DisableRoguelikeTrapNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DisableRoguelikeTrapNotify_proto_goTypes = []interface{}{
+ (*DisableRoguelikeTrapNotify)(nil), // 0: proto.DisableRoguelikeTrapNotify
+}
+var file_DisableRoguelikeTrapNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DisableRoguelikeTrapNotify_proto_init() }
+func file_DisableRoguelikeTrapNotify_proto_init() {
+ if File_DisableRoguelikeTrapNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DisableRoguelikeTrapNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DisableRoguelikeTrapNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DisableRoguelikeTrapNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DisableRoguelikeTrapNotify_proto_goTypes,
+ DependencyIndexes: file_DisableRoguelikeTrapNotify_proto_depIdxs,
+ MessageInfos: file_DisableRoguelikeTrapNotify_proto_msgTypes,
+ }.Build()
+ File_DisableRoguelikeTrapNotify_proto = out.File
+ file_DisableRoguelikeTrapNotify_proto_rawDesc = nil
+ file_DisableRoguelikeTrapNotify_proto_goTypes = nil
+ file_DisableRoguelikeTrapNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DoGachaReq.pb.go b/protocol/proto/DoGachaReq.pb.go
new file mode 100644
index 00000000..5b3bf1a3
--- /dev/null
+++ b/protocol/proto/DoGachaReq.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DoGachaReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1512
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DoGachaReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GachaTimes uint32 `protobuf:"varint,10,opt,name=gacha_times,json=gachaTimes,proto3" json:"gacha_times,omitempty"`
+ GachaScheduleId uint32 `protobuf:"varint,7,opt,name=gacha_schedule_id,json=gachaScheduleId,proto3" json:"gacha_schedule_id,omitempty"`
+ GachaType uint32 `protobuf:"varint,14,opt,name=gacha_type,json=gachaType,proto3" json:"gacha_type,omitempty"`
+ GachaRandom uint32 `protobuf:"varint,13,opt,name=gacha_random,json=gachaRandom,proto3" json:"gacha_random,omitempty"`
+ GachaTag string `protobuf:"bytes,4,opt,name=gacha_tag,json=gachaTag,proto3" json:"gacha_tag,omitempty"`
+}
+
+func (x *DoGachaReq) Reset() {
+ *x = DoGachaReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DoGachaReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DoGachaReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DoGachaReq) ProtoMessage() {}
+
+func (x *DoGachaReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DoGachaReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DoGachaReq.ProtoReflect.Descriptor instead.
+func (*DoGachaReq) Descriptor() ([]byte, []int) {
+ return file_DoGachaReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DoGachaReq) GetGachaTimes() uint32 {
+ if x != nil {
+ return x.GachaTimes
+ }
+ return 0
+}
+
+func (x *DoGachaReq) GetGachaScheduleId() uint32 {
+ if x != nil {
+ return x.GachaScheduleId
+ }
+ return 0
+}
+
+func (x *DoGachaReq) GetGachaType() uint32 {
+ if x != nil {
+ return x.GachaType
+ }
+ return 0
+}
+
+func (x *DoGachaReq) GetGachaRandom() uint32 {
+ if x != nil {
+ return x.GachaRandom
+ }
+ return 0
+}
+
+func (x *DoGachaReq) GetGachaTag() string {
+ if x != nil {
+ return x.GachaTag
+ }
+ return ""
+}
+
+var File_DoGachaReq_proto protoreflect.FileDescriptor
+
+var file_DoGachaReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x44, 0x6f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x0a, 0x44, 0x6f,
+ 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x61, 0x63, 0x68,
+ 0x61, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67,
+ 0x61, 0x63, 0x68, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x61, 0x63,
+ 0x68, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x53, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x63, 0x68, 0x61,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x72, 0x61,
+ 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x61, 0x63, 0x68,
+ 0x61, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x63, 0x68, 0x61,
+ 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x61, 0x63, 0x68,
+ 0x61, 0x54, 0x61, 0x67, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DoGachaReq_proto_rawDescOnce sync.Once
+ file_DoGachaReq_proto_rawDescData = file_DoGachaReq_proto_rawDesc
+)
+
+func file_DoGachaReq_proto_rawDescGZIP() []byte {
+ file_DoGachaReq_proto_rawDescOnce.Do(func() {
+ file_DoGachaReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DoGachaReq_proto_rawDescData)
+ })
+ return file_DoGachaReq_proto_rawDescData
+}
+
+var file_DoGachaReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DoGachaReq_proto_goTypes = []interface{}{
+ (*DoGachaReq)(nil), // 0: proto.DoGachaReq
+}
+var file_DoGachaReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DoGachaReq_proto_init() }
+func file_DoGachaReq_proto_init() {
+ if File_DoGachaReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DoGachaReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DoGachaReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DoGachaReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DoGachaReq_proto_goTypes,
+ DependencyIndexes: file_DoGachaReq_proto_depIdxs,
+ MessageInfos: file_DoGachaReq_proto_msgTypes,
+ }.Build()
+ File_DoGachaReq_proto = out.File
+ file_DoGachaReq_proto_rawDesc = nil
+ file_DoGachaReq_proto_goTypes = nil
+ file_DoGachaReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DoGachaRsp.pb.go b/protocol/proto/DoGachaRsp.pb.go
new file mode 100644
index 00000000..a1768b60
--- /dev/null
+++ b/protocol/proto/DoGachaRsp.pb.go
@@ -0,0 +1,359 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DoGachaRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1535
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DoGachaRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurScheduleDailyGachaTimes uint32 `protobuf:"varint,155,opt,name=cur_schedule_daily_gacha_times,json=curScheduleDailyGachaTimes,proto3" json:"cur_schedule_daily_gacha_times,omitempty"`
+ CostItemNum uint32 `protobuf:"varint,10,opt,name=cost_item_num,json=costItemNum,proto3" json:"cost_item_num,omitempty"`
+ WishMaxProgress uint32 `protobuf:"varint,9,opt,name=wish_max_progress,json=wishMaxProgress,proto3" json:"wish_max_progress,omitempty"`
+ WishItemId uint32 `protobuf:"varint,8,opt,name=wish_item_id,json=wishItemId,proto3" json:"wish_item_id,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TenCostItemNum uint32 `protobuf:"varint,3,opt,name=ten_cost_item_num,json=tenCostItemNum,proto3" json:"ten_cost_item_num,omitempty"`
+ WishProgress uint32 `protobuf:"varint,2,opt,name=wish_progress,json=wishProgress,proto3" json:"wish_progress,omitempty"`
+ GachaItemList []*GachaItem `protobuf:"bytes,15,rep,name=gacha_item_list,json=gachaItemList,proto3" json:"gacha_item_list,omitempty"`
+ TenCostItemId uint32 `protobuf:"varint,7,opt,name=ten_cost_item_id,json=tenCostItemId,proto3" json:"ten_cost_item_id,omitempty"`
+ GachaTimes uint32 `protobuf:"varint,4,opt,name=gacha_times,json=gachaTimes,proto3" json:"gacha_times,omitempty"`
+ IsUnderMinorsRestrict bool `protobuf:"varint,1435,opt,name=is_under_minors_restrict,json=isUnderMinorsRestrict,proto3" json:"is_under_minors_restrict,omitempty"`
+ IsUnderGeneralRestrict bool `protobuf:"varint,1868,opt,name=is_under_general_restrict,json=isUnderGeneralRestrict,proto3" json:"is_under_general_restrict,omitempty"`
+ GachaType uint32 `protobuf:"varint,12,opt,name=gacha_type,json=gachaType,proto3" json:"gacha_type,omitempty"`
+ GachaTimesLimit uint32 `protobuf:"varint,1,opt,name=gacha_times_limit,json=gachaTimesLimit,proto3" json:"gacha_times_limit,omitempty"`
+ CostItemId uint32 `protobuf:"varint,14,opt,name=cost_item_id,json=costItemId,proto3" json:"cost_item_id,omitempty"`
+ DailyGachaTimes uint32 `protobuf:"varint,1240,opt,name=daily_gacha_times,json=dailyGachaTimes,proto3" json:"daily_gacha_times,omitempty"`
+ LeftGachaTimes uint32 `protobuf:"varint,6,opt,name=left_gacha_times,json=leftGachaTimes,proto3" json:"left_gacha_times,omitempty"`
+ NewGachaRandom uint32 `protobuf:"varint,11,opt,name=new_gacha_random,json=newGachaRandom,proto3" json:"new_gacha_random,omitempty"`
+ GachaScheduleId uint32 `protobuf:"varint,5,opt,name=gacha_schedule_id,json=gachaScheduleId,proto3" json:"gacha_schedule_id,omitempty"`
+}
+
+func (x *DoGachaRsp) Reset() {
+ *x = DoGachaRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DoGachaRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DoGachaRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DoGachaRsp) ProtoMessage() {}
+
+func (x *DoGachaRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DoGachaRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DoGachaRsp.ProtoReflect.Descriptor instead.
+func (*DoGachaRsp) Descriptor() ([]byte, []int) {
+ return file_DoGachaRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DoGachaRsp) GetCurScheduleDailyGachaTimes() uint32 {
+ if x != nil {
+ return x.CurScheduleDailyGachaTimes
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetCostItemNum() uint32 {
+ if x != nil {
+ return x.CostItemNum
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetWishMaxProgress() uint32 {
+ if x != nil {
+ return x.WishMaxProgress
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetWishItemId() uint32 {
+ if x != nil {
+ return x.WishItemId
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetTenCostItemNum() uint32 {
+ if x != nil {
+ return x.TenCostItemNum
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetWishProgress() uint32 {
+ if x != nil {
+ return x.WishProgress
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetGachaItemList() []*GachaItem {
+ if x != nil {
+ return x.GachaItemList
+ }
+ return nil
+}
+
+func (x *DoGachaRsp) GetTenCostItemId() uint32 {
+ if x != nil {
+ return x.TenCostItemId
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetGachaTimes() uint32 {
+ if x != nil {
+ return x.GachaTimes
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetIsUnderMinorsRestrict() bool {
+ if x != nil {
+ return x.IsUnderMinorsRestrict
+ }
+ return false
+}
+
+func (x *DoGachaRsp) GetIsUnderGeneralRestrict() bool {
+ if x != nil {
+ return x.IsUnderGeneralRestrict
+ }
+ return false
+}
+
+func (x *DoGachaRsp) GetGachaType() uint32 {
+ if x != nil {
+ return x.GachaType
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetGachaTimesLimit() uint32 {
+ if x != nil {
+ return x.GachaTimesLimit
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetCostItemId() uint32 {
+ if x != nil {
+ return x.CostItemId
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetDailyGachaTimes() uint32 {
+ if x != nil {
+ return x.DailyGachaTimes
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetLeftGachaTimes() uint32 {
+ if x != nil {
+ return x.LeftGachaTimes
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetNewGachaRandom() uint32 {
+ if x != nil {
+ return x.NewGachaRandom
+ }
+ return 0
+}
+
+func (x *DoGachaRsp) GetGachaScheduleId() uint32 {
+ if x != nil {
+ return x.GachaScheduleId
+ }
+ return 0
+}
+
+var File_DoGachaRsp_proto protoreflect.FileDescriptor
+
+var file_DoGachaRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x44, 0x6f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x47, 0x61, 0x63, 0x68, 0x61,
+ 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x06, 0x0a, 0x0a, 0x44,
+ 0x6f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x1e, 0x63, 0x75, 0x72,
+ 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f,
+ 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x9b, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x1a, 0x63, 0x75, 0x72, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44,
+ 0x61, 0x69, 0x6c, 0x79, 0x47, 0x61, 0x63, 0x68, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x22,
+ 0x0a, 0x0d, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e,
+ 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77,
+ 0x69, 0x73, 0x68, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20,
+ 0x0a, 0x0c, 0x77, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x69, 0x73, 0x68, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x74, 0x65,
+ 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x65, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74,
+ 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x69,
+ 0x73, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x0f, 0x67, 0x61,
+ 0x63, 0x68, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68,
+ 0x61, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0d, 0x67, 0x61, 0x63, 0x68, 0x61, 0x49, 0x74, 0x65, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x10, 0x74, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74,
+ 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
+ 0x74, 0x65, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61, 0x63, 0x68, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x38,
+ 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72,
+ 0x73, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x9b, 0x0b, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x15, 0x69, 0x73, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x73,
+ 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x75,
+ 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73,
+ 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0xcc, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73,
+ 0x55, 0x6e, 0x64, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x74,
+ 0x72, 0x69, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x63, 0x68, 0x61, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x67, 0x61, 0x63, 0x68, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
+ 0x20, 0x0a, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49,
+ 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x67, 0x61, 0x63, 0x68, 0x61,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0xd8, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64,
+ 0x61, 0x69, 0x6c, 0x79, 0x47, 0x61, 0x63, 0x68, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x28,
+ 0x0a, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x65, 0x66, 0x74, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f,
+ 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x61, 0x6e, 0x64,
+ 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67,
+ 0x61, 0x63, 0x68, 0x61, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DoGachaRsp_proto_rawDescOnce sync.Once
+ file_DoGachaRsp_proto_rawDescData = file_DoGachaRsp_proto_rawDesc
+)
+
+func file_DoGachaRsp_proto_rawDescGZIP() []byte {
+ file_DoGachaRsp_proto_rawDescOnce.Do(func() {
+ file_DoGachaRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DoGachaRsp_proto_rawDescData)
+ })
+ return file_DoGachaRsp_proto_rawDescData
+}
+
+var file_DoGachaRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DoGachaRsp_proto_goTypes = []interface{}{
+ (*DoGachaRsp)(nil), // 0: proto.DoGachaRsp
+ (*GachaItem)(nil), // 1: proto.GachaItem
+}
+var file_DoGachaRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.DoGachaRsp.gacha_item_list:type_name -> proto.GachaItem
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DoGachaRsp_proto_init() }
+func file_DoGachaRsp_proto_init() {
+ if File_DoGachaRsp_proto != nil {
+ return
+ }
+ file_GachaItem_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DoGachaRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DoGachaRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DoGachaRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DoGachaRsp_proto_goTypes,
+ DependencyIndexes: file_DoGachaRsp_proto_depIdxs,
+ MessageInfos: file_DoGachaRsp_proto_msgTypes,
+ }.Build()
+ File_DoGachaRsp_proto = out.File
+ file_DoGachaRsp_proto_rawDesc = nil
+ file_DoGachaRsp_proto_goTypes = nil
+ file_DoGachaRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DoRoguelikeDungeonCardGachaReq.pb.go b/protocol/proto/DoRoguelikeDungeonCardGachaReq.pb.go
new file mode 100644
index 00000000..0829b349
--- /dev/null
+++ b/protocol/proto/DoRoguelikeDungeonCardGachaReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DoRoguelikeDungeonCardGachaReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8148
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DoRoguelikeDungeonCardGachaReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,13,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CellId uint32 `protobuf:"varint,6,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+}
+
+func (x *DoRoguelikeDungeonCardGachaReq) Reset() {
+ *x = DoRoguelikeDungeonCardGachaReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DoRoguelikeDungeonCardGachaReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DoRoguelikeDungeonCardGachaReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DoRoguelikeDungeonCardGachaReq) ProtoMessage() {}
+
+func (x *DoRoguelikeDungeonCardGachaReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DoRoguelikeDungeonCardGachaReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DoRoguelikeDungeonCardGachaReq.ProtoReflect.Descriptor instead.
+func (*DoRoguelikeDungeonCardGachaReq) Descriptor() ([]byte, []int) {
+ return file_DoRoguelikeDungeonCardGachaReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DoRoguelikeDungeonCardGachaReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *DoRoguelikeDungeonCardGachaReq) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+var File_DoRoguelikeDungeonCardGachaReq_proto protoreflect.FileDescriptor
+
+var file_DoRoguelikeDungeonCardGachaReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x44, 0x6f, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a,
+ 0x1e, 0x44, 0x6f, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x65, 0x71, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DoRoguelikeDungeonCardGachaReq_proto_rawDescOnce sync.Once
+ file_DoRoguelikeDungeonCardGachaReq_proto_rawDescData = file_DoRoguelikeDungeonCardGachaReq_proto_rawDesc
+)
+
+func file_DoRoguelikeDungeonCardGachaReq_proto_rawDescGZIP() []byte {
+ file_DoRoguelikeDungeonCardGachaReq_proto_rawDescOnce.Do(func() {
+ file_DoRoguelikeDungeonCardGachaReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DoRoguelikeDungeonCardGachaReq_proto_rawDescData)
+ })
+ return file_DoRoguelikeDungeonCardGachaReq_proto_rawDescData
+}
+
+var file_DoRoguelikeDungeonCardGachaReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DoRoguelikeDungeonCardGachaReq_proto_goTypes = []interface{}{
+ (*DoRoguelikeDungeonCardGachaReq)(nil), // 0: proto.DoRoguelikeDungeonCardGachaReq
+}
+var file_DoRoguelikeDungeonCardGachaReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DoRoguelikeDungeonCardGachaReq_proto_init() }
+func file_DoRoguelikeDungeonCardGachaReq_proto_init() {
+ if File_DoRoguelikeDungeonCardGachaReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DoRoguelikeDungeonCardGachaReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DoRoguelikeDungeonCardGachaReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DoRoguelikeDungeonCardGachaReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DoRoguelikeDungeonCardGachaReq_proto_goTypes,
+ DependencyIndexes: file_DoRoguelikeDungeonCardGachaReq_proto_depIdxs,
+ MessageInfos: file_DoRoguelikeDungeonCardGachaReq_proto_msgTypes,
+ }.Build()
+ File_DoRoguelikeDungeonCardGachaReq_proto = out.File
+ file_DoRoguelikeDungeonCardGachaReq_proto_rawDesc = nil
+ file_DoRoguelikeDungeonCardGachaReq_proto_goTypes = nil
+ file_DoRoguelikeDungeonCardGachaReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DoRoguelikeDungeonCardGachaRsp.pb.go b/protocol/proto/DoRoguelikeDungeonCardGachaRsp.pb.go
new file mode 100644
index 00000000..a144ac1b
--- /dev/null
+++ b/protocol/proto/DoRoguelikeDungeonCardGachaRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DoRoguelikeDungeonCardGachaRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8472
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DoRoguelikeDungeonCardGachaRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCanRefresh bool `protobuf:"varint,8,opt,name=is_can_refresh,json=isCanRefresh,proto3" json:"is_can_refresh,omitempty"`
+ CardList []uint32 `protobuf:"varint,15,rep,packed,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DoRoguelikeDungeonCardGachaRsp) Reset() {
+ *x = DoRoguelikeDungeonCardGachaRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DoRoguelikeDungeonCardGachaRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DoRoguelikeDungeonCardGachaRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DoRoguelikeDungeonCardGachaRsp) ProtoMessage() {}
+
+func (x *DoRoguelikeDungeonCardGachaRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DoRoguelikeDungeonCardGachaRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DoRoguelikeDungeonCardGachaRsp.ProtoReflect.Descriptor instead.
+func (*DoRoguelikeDungeonCardGachaRsp) Descriptor() ([]byte, []int) {
+ return file_DoRoguelikeDungeonCardGachaRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DoRoguelikeDungeonCardGachaRsp) GetIsCanRefresh() bool {
+ if x != nil {
+ return x.IsCanRefresh
+ }
+ return false
+}
+
+func (x *DoRoguelikeDungeonCardGachaRsp) GetCardList() []uint32 {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *DoRoguelikeDungeonCardGachaRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DoRoguelikeDungeonCardGachaRsp_proto protoreflect.FileDescriptor
+
+var file_DoRoguelikeDungeonCardGachaRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x44, 0x6f, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a,
+ 0x1e, 0x44, 0x6f, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x63, 0x68, 0x61, 0x52, 0x73, 0x70, 0x12,
+ 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x52, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DoRoguelikeDungeonCardGachaRsp_proto_rawDescOnce sync.Once
+ file_DoRoguelikeDungeonCardGachaRsp_proto_rawDescData = file_DoRoguelikeDungeonCardGachaRsp_proto_rawDesc
+)
+
+func file_DoRoguelikeDungeonCardGachaRsp_proto_rawDescGZIP() []byte {
+ file_DoRoguelikeDungeonCardGachaRsp_proto_rawDescOnce.Do(func() {
+ file_DoRoguelikeDungeonCardGachaRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DoRoguelikeDungeonCardGachaRsp_proto_rawDescData)
+ })
+ return file_DoRoguelikeDungeonCardGachaRsp_proto_rawDescData
+}
+
+var file_DoRoguelikeDungeonCardGachaRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DoRoguelikeDungeonCardGachaRsp_proto_goTypes = []interface{}{
+ (*DoRoguelikeDungeonCardGachaRsp)(nil), // 0: proto.DoRoguelikeDungeonCardGachaRsp
+}
+var file_DoRoguelikeDungeonCardGachaRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DoRoguelikeDungeonCardGachaRsp_proto_init() }
+func file_DoRoguelikeDungeonCardGachaRsp_proto_init() {
+ if File_DoRoguelikeDungeonCardGachaRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DoRoguelikeDungeonCardGachaRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DoRoguelikeDungeonCardGachaRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DoRoguelikeDungeonCardGachaRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DoRoguelikeDungeonCardGachaRsp_proto_goTypes,
+ DependencyIndexes: file_DoRoguelikeDungeonCardGachaRsp_proto_depIdxs,
+ MessageInfos: file_DoRoguelikeDungeonCardGachaRsp_proto_msgTypes,
+ }.Build()
+ File_DoRoguelikeDungeonCardGachaRsp_proto = out.File
+ file_DoRoguelikeDungeonCardGachaRsp_proto_rawDesc = nil
+ file_DoRoguelikeDungeonCardGachaRsp_proto_goTypes = nil
+ file_DoRoguelikeDungeonCardGachaRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DoSetPlayerBornDataNotify.pb.go b/protocol/proto/DoSetPlayerBornDataNotify.pb.go
new file mode 100644
index 00000000..54974f98
--- /dev/null
+++ b/protocol/proto/DoSetPlayerBornDataNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DoSetPlayerBornDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 147
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DoSetPlayerBornDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DoSetPlayerBornDataNotify) Reset() {
+ *x = DoSetPlayerBornDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DoSetPlayerBornDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DoSetPlayerBornDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DoSetPlayerBornDataNotify) ProtoMessage() {}
+
+func (x *DoSetPlayerBornDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DoSetPlayerBornDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DoSetPlayerBornDataNotify.ProtoReflect.Descriptor instead.
+func (*DoSetPlayerBornDataNotify) Descriptor() ([]byte, []int) {
+ return file_DoSetPlayerBornDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DoSetPlayerBornDataNotify_proto protoreflect.FileDescriptor
+
+var file_DoSetPlayerBornDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x44, 0x6f, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x6f, 0x72,
+ 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x6f, 0x53, 0x65,
+ 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x6f, 0x72, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DoSetPlayerBornDataNotify_proto_rawDescOnce sync.Once
+ file_DoSetPlayerBornDataNotify_proto_rawDescData = file_DoSetPlayerBornDataNotify_proto_rawDesc
+)
+
+func file_DoSetPlayerBornDataNotify_proto_rawDescGZIP() []byte {
+ file_DoSetPlayerBornDataNotify_proto_rawDescOnce.Do(func() {
+ file_DoSetPlayerBornDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DoSetPlayerBornDataNotify_proto_rawDescData)
+ })
+ return file_DoSetPlayerBornDataNotify_proto_rawDescData
+}
+
+var file_DoSetPlayerBornDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DoSetPlayerBornDataNotify_proto_goTypes = []interface{}{
+ (*DoSetPlayerBornDataNotify)(nil), // 0: proto.DoSetPlayerBornDataNotify
+}
+var file_DoSetPlayerBornDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DoSetPlayerBornDataNotify_proto_init() }
+func file_DoSetPlayerBornDataNotify_proto_init() {
+ if File_DoSetPlayerBornDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DoSetPlayerBornDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DoSetPlayerBornDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DoSetPlayerBornDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DoSetPlayerBornDataNotify_proto_goTypes,
+ DependencyIndexes: file_DoSetPlayerBornDataNotify_proto_depIdxs,
+ MessageInfos: file_DoSetPlayerBornDataNotify_proto_msgTypes,
+ }.Build()
+ File_DoSetPlayerBornDataNotify_proto = out.File
+ file_DoSetPlayerBornDataNotify_proto_rawDesc = nil
+ file_DoSetPlayerBornDataNotify_proto_goTypes = nil
+ file_DoSetPlayerBornDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftGuestReplyInviteNotify.pb.go b/protocol/proto/DraftGuestReplyInviteNotify.pb.go
new file mode 100644
index 00000000..75fe17b1
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyInviteNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftGuestReplyInviteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5490
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DraftGuestReplyInviteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DraftId uint32 `protobuf:"varint,5,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+ IsAgree bool `protobuf:"varint,9,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ GuestUid uint32 `protobuf:"varint,10,opt,name=guest_uid,json=guestUid,proto3" json:"guest_uid,omitempty"`
+}
+
+func (x *DraftGuestReplyInviteNotify) Reset() {
+ *x = DraftGuestReplyInviteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftGuestReplyInviteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftGuestReplyInviteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftGuestReplyInviteNotify) ProtoMessage() {}
+
+func (x *DraftGuestReplyInviteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftGuestReplyInviteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftGuestReplyInviteNotify.ProtoReflect.Descriptor instead.
+func (*DraftGuestReplyInviteNotify) Descriptor() ([]byte, []int) {
+ return file_DraftGuestReplyInviteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftGuestReplyInviteNotify) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+func (x *DraftGuestReplyInviteNotify) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *DraftGuestReplyInviteNotify) GetGuestUid() uint32 {
+ if x != nil {
+ return x.GuestUid
+ }
+ return 0
+}
+
+var File_DraftGuestReplyInviteNotify_proto protoreflect.FileDescriptor
+
+var file_DraftGuestReplyInviteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x1b, 0x44, 0x72,
+ 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76,
+ 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61,
+ 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61,
+ 0x66, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x67, 0x75, 0x65, 0x73, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftGuestReplyInviteNotify_proto_rawDescOnce sync.Once
+ file_DraftGuestReplyInviteNotify_proto_rawDescData = file_DraftGuestReplyInviteNotify_proto_rawDesc
+)
+
+func file_DraftGuestReplyInviteNotify_proto_rawDescGZIP() []byte {
+ file_DraftGuestReplyInviteNotify_proto_rawDescOnce.Do(func() {
+ file_DraftGuestReplyInviteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftGuestReplyInviteNotify_proto_rawDescData)
+ })
+ return file_DraftGuestReplyInviteNotify_proto_rawDescData
+}
+
+var file_DraftGuestReplyInviteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftGuestReplyInviteNotify_proto_goTypes = []interface{}{
+ (*DraftGuestReplyInviteNotify)(nil), // 0: proto.DraftGuestReplyInviteNotify
+}
+var file_DraftGuestReplyInviteNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftGuestReplyInviteNotify_proto_init() }
+func file_DraftGuestReplyInviteNotify_proto_init() {
+ if File_DraftGuestReplyInviteNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftGuestReplyInviteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftGuestReplyInviteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftGuestReplyInviteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftGuestReplyInviteNotify_proto_goTypes,
+ DependencyIndexes: file_DraftGuestReplyInviteNotify_proto_depIdxs,
+ MessageInfos: file_DraftGuestReplyInviteNotify_proto_msgTypes,
+ }.Build()
+ File_DraftGuestReplyInviteNotify_proto = out.File
+ file_DraftGuestReplyInviteNotify_proto_rawDesc = nil
+ file_DraftGuestReplyInviteNotify_proto_goTypes = nil
+ file_DraftGuestReplyInviteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftGuestReplyInviteReq.pb.go b/protocol/proto/DraftGuestReplyInviteReq.pb.go
new file mode 100644
index 00000000..95d212fb
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyInviteReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftGuestReplyInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DraftGuestReplyInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DraftId uint32 `protobuf:"varint,10,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+ IsAgree bool `protobuf:"varint,3,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+}
+
+func (x *DraftGuestReplyInviteReq) Reset() {
+ *x = DraftGuestReplyInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftGuestReplyInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftGuestReplyInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftGuestReplyInviteReq) ProtoMessage() {}
+
+func (x *DraftGuestReplyInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftGuestReplyInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftGuestReplyInviteReq.ProtoReflect.Descriptor instead.
+func (*DraftGuestReplyInviteReq) Descriptor() ([]byte, []int) {
+ return file_DraftGuestReplyInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftGuestReplyInviteReq) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+func (x *DraftGuestReplyInviteReq) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+var File_DraftGuestReplyInviteReq_proto protoreflect.FileDescriptor
+
+var file_DraftGuestReplyInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x18, 0x44, 0x72, 0x61, 0x66, 0x74,
+ 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftGuestReplyInviteReq_proto_rawDescOnce sync.Once
+ file_DraftGuestReplyInviteReq_proto_rawDescData = file_DraftGuestReplyInviteReq_proto_rawDesc
+)
+
+func file_DraftGuestReplyInviteReq_proto_rawDescGZIP() []byte {
+ file_DraftGuestReplyInviteReq_proto_rawDescOnce.Do(func() {
+ file_DraftGuestReplyInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftGuestReplyInviteReq_proto_rawDescData)
+ })
+ return file_DraftGuestReplyInviteReq_proto_rawDescData
+}
+
+var file_DraftGuestReplyInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftGuestReplyInviteReq_proto_goTypes = []interface{}{
+ (*DraftGuestReplyInviteReq)(nil), // 0: proto.DraftGuestReplyInviteReq
+}
+var file_DraftGuestReplyInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftGuestReplyInviteReq_proto_init() }
+func file_DraftGuestReplyInviteReq_proto_init() {
+ if File_DraftGuestReplyInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftGuestReplyInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftGuestReplyInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftGuestReplyInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftGuestReplyInviteReq_proto_goTypes,
+ DependencyIndexes: file_DraftGuestReplyInviteReq_proto_depIdxs,
+ MessageInfos: file_DraftGuestReplyInviteReq_proto_msgTypes,
+ }.Build()
+ File_DraftGuestReplyInviteReq_proto = out.File
+ file_DraftGuestReplyInviteReq_proto_rawDesc = nil
+ file_DraftGuestReplyInviteReq_proto_goTypes = nil
+ file_DraftGuestReplyInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftGuestReplyInviteRsp.pb.go b/protocol/proto/DraftGuestReplyInviteRsp.pb.go
new file mode 100644
index 00000000..9af5332c
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyInviteRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftGuestReplyInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5403
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DraftGuestReplyInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DraftId uint32 `protobuf:"varint,3,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsAgree bool `protobuf:"varint,10,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+}
+
+func (x *DraftGuestReplyInviteRsp) Reset() {
+ *x = DraftGuestReplyInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftGuestReplyInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftGuestReplyInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftGuestReplyInviteRsp) ProtoMessage() {}
+
+func (x *DraftGuestReplyInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftGuestReplyInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftGuestReplyInviteRsp.ProtoReflect.Descriptor instead.
+func (*DraftGuestReplyInviteRsp) Descriptor() ([]byte, []int) {
+ return file_DraftGuestReplyInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftGuestReplyInviteRsp) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+func (x *DraftGuestReplyInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DraftGuestReplyInviteRsp) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+var File_DraftGuestReplyInviteRsp_proto protoreflect.FileDescriptor
+
+var file_DraftGuestReplyInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x18, 0x44, 0x72, 0x61, 0x66, 0x74,
+ 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61,
+ 0x67, 0x72, 0x65, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67,
+ 0x72, 0x65, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftGuestReplyInviteRsp_proto_rawDescOnce sync.Once
+ file_DraftGuestReplyInviteRsp_proto_rawDescData = file_DraftGuestReplyInviteRsp_proto_rawDesc
+)
+
+func file_DraftGuestReplyInviteRsp_proto_rawDescGZIP() []byte {
+ file_DraftGuestReplyInviteRsp_proto_rawDescOnce.Do(func() {
+ file_DraftGuestReplyInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftGuestReplyInviteRsp_proto_rawDescData)
+ })
+ return file_DraftGuestReplyInviteRsp_proto_rawDescData
+}
+
+var file_DraftGuestReplyInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftGuestReplyInviteRsp_proto_goTypes = []interface{}{
+ (*DraftGuestReplyInviteRsp)(nil), // 0: proto.DraftGuestReplyInviteRsp
+}
+var file_DraftGuestReplyInviteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftGuestReplyInviteRsp_proto_init() }
+func file_DraftGuestReplyInviteRsp_proto_init() {
+ if File_DraftGuestReplyInviteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftGuestReplyInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftGuestReplyInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftGuestReplyInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftGuestReplyInviteRsp_proto_goTypes,
+ DependencyIndexes: file_DraftGuestReplyInviteRsp_proto_depIdxs,
+ MessageInfos: file_DraftGuestReplyInviteRsp_proto_msgTypes,
+ }.Build()
+ File_DraftGuestReplyInviteRsp_proto = out.File
+ file_DraftGuestReplyInviteRsp_proto_rawDesc = nil
+ file_DraftGuestReplyInviteRsp_proto_goTypes = nil
+ file_DraftGuestReplyInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftGuestReplyTwiceConfirmNotify.pb.go b/protocol/proto/DraftGuestReplyTwiceConfirmNotify.pb.go
new file mode 100644
index 00000000..b17eba30
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyTwiceConfirmNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftGuestReplyTwiceConfirmNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5497
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DraftGuestReplyTwiceConfirmNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAgree bool `protobuf:"varint,14,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ DraftId uint32 `protobuf:"varint,15,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+ GuestUid uint32 `protobuf:"varint,7,opt,name=guest_uid,json=guestUid,proto3" json:"guest_uid,omitempty"`
+}
+
+func (x *DraftGuestReplyTwiceConfirmNotify) Reset() {
+ *x = DraftGuestReplyTwiceConfirmNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftGuestReplyTwiceConfirmNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftGuestReplyTwiceConfirmNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftGuestReplyTwiceConfirmNotify) ProtoMessage() {}
+
+func (x *DraftGuestReplyTwiceConfirmNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftGuestReplyTwiceConfirmNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftGuestReplyTwiceConfirmNotify.ProtoReflect.Descriptor instead.
+func (*DraftGuestReplyTwiceConfirmNotify) Descriptor() ([]byte, []int) {
+ return file_DraftGuestReplyTwiceConfirmNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftGuestReplyTwiceConfirmNotify) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *DraftGuestReplyTwiceConfirmNotify) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+func (x *DraftGuestReplyTwiceConfirmNotify) GetGuestUid() uint32 {
+ if x != nil {
+ return x.GuestUid
+ }
+ return 0
+}
+
+var File_DraftGuestReplyTwiceConfirmNotify_proto protoreflect.FileDescriptor
+
+var file_DraftGuestReplyTwiceConfirmNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x79, 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x76, 0x0a, 0x21, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65,
+ 0x70, 0x6c, 0x79, 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65,
+ 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65,
+ 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67,
+ 0x75, 0x65, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x67, 0x75, 0x65, 0x73, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftGuestReplyTwiceConfirmNotify_proto_rawDescOnce sync.Once
+ file_DraftGuestReplyTwiceConfirmNotify_proto_rawDescData = file_DraftGuestReplyTwiceConfirmNotify_proto_rawDesc
+)
+
+func file_DraftGuestReplyTwiceConfirmNotify_proto_rawDescGZIP() []byte {
+ file_DraftGuestReplyTwiceConfirmNotify_proto_rawDescOnce.Do(func() {
+ file_DraftGuestReplyTwiceConfirmNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftGuestReplyTwiceConfirmNotify_proto_rawDescData)
+ })
+ return file_DraftGuestReplyTwiceConfirmNotify_proto_rawDescData
+}
+
+var file_DraftGuestReplyTwiceConfirmNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftGuestReplyTwiceConfirmNotify_proto_goTypes = []interface{}{
+ (*DraftGuestReplyTwiceConfirmNotify)(nil), // 0: proto.DraftGuestReplyTwiceConfirmNotify
+}
+var file_DraftGuestReplyTwiceConfirmNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftGuestReplyTwiceConfirmNotify_proto_init() }
+func file_DraftGuestReplyTwiceConfirmNotify_proto_init() {
+ if File_DraftGuestReplyTwiceConfirmNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftGuestReplyTwiceConfirmNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftGuestReplyTwiceConfirmNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftGuestReplyTwiceConfirmNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftGuestReplyTwiceConfirmNotify_proto_goTypes,
+ DependencyIndexes: file_DraftGuestReplyTwiceConfirmNotify_proto_depIdxs,
+ MessageInfos: file_DraftGuestReplyTwiceConfirmNotify_proto_msgTypes,
+ }.Build()
+ File_DraftGuestReplyTwiceConfirmNotify_proto = out.File
+ file_DraftGuestReplyTwiceConfirmNotify_proto_rawDesc = nil
+ file_DraftGuestReplyTwiceConfirmNotify_proto_goTypes = nil
+ file_DraftGuestReplyTwiceConfirmNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftGuestReplyTwiceConfirmReq.pb.go b/protocol/proto/DraftGuestReplyTwiceConfirmReq.pb.go
new file mode 100644
index 00000000..4071ddc2
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyTwiceConfirmReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftGuestReplyTwiceConfirmReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5431
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DraftGuestReplyTwiceConfirmReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAgree bool `protobuf:"varint,15,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ DraftId uint32 `protobuf:"varint,14,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+}
+
+func (x *DraftGuestReplyTwiceConfirmReq) Reset() {
+ *x = DraftGuestReplyTwiceConfirmReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftGuestReplyTwiceConfirmReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftGuestReplyTwiceConfirmReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftGuestReplyTwiceConfirmReq) ProtoMessage() {}
+
+func (x *DraftGuestReplyTwiceConfirmReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftGuestReplyTwiceConfirmReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftGuestReplyTwiceConfirmReq.ProtoReflect.Descriptor instead.
+func (*DraftGuestReplyTwiceConfirmReq) Descriptor() ([]byte, []int) {
+ return file_DraftGuestReplyTwiceConfirmReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftGuestReplyTwiceConfirmReq) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *DraftGuestReplyTwiceConfirmReq) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+var File_DraftGuestReplyTwiceConfirmReq_proto protoreflect.FileDescriptor
+
+var file_DraftGuestReplyTwiceConfirmReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x79, 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a,
+ 0x1e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
+ 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12,
+ 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72,
+ 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72,
+ 0x61, 0x66, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftGuestReplyTwiceConfirmReq_proto_rawDescOnce sync.Once
+ file_DraftGuestReplyTwiceConfirmReq_proto_rawDescData = file_DraftGuestReplyTwiceConfirmReq_proto_rawDesc
+)
+
+func file_DraftGuestReplyTwiceConfirmReq_proto_rawDescGZIP() []byte {
+ file_DraftGuestReplyTwiceConfirmReq_proto_rawDescOnce.Do(func() {
+ file_DraftGuestReplyTwiceConfirmReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftGuestReplyTwiceConfirmReq_proto_rawDescData)
+ })
+ return file_DraftGuestReplyTwiceConfirmReq_proto_rawDescData
+}
+
+var file_DraftGuestReplyTwiceConfirmReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftGuestReplyTwiceConfirmReq_proto_goTypes = []interface{}{
+ (*DraftGuestReplyTwiceConfirmReq)(nil), // 0: proto.DraftGuestReplyTwiceConfirmReq
+}
+var file_DraftGuestReplyTwiceConfirmReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftGuestReplyTwiceConfirmReq_proto_init() }
+func file_DraftGuestReplyTwiceConfirmReq_proto_init() {
+ if File_DraftGuestReplyTwiceConfirmReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftGuestReplyTwiceConfirmReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftGuestReplyTwiceConfirmReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftGuestReplyTwiceConfirmReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftGuestReplyTwiceConfirmReq_proto_goTypes,
+ DependencyIndexes: file_DraftGuestReplyTwiceConfirmReq_proto_depIdxs,
+ MessageInfos: file_DraftGuestReplyTwiceConfirmReq_proto_msgTypes,
+ }.Build()
+ File_DraftGuestReplyTwiceConfirmReq_proto = out.File
+ file_DraftGuestReplyTwiceConfirmReq_proto_rawDesc = nil
+ file_DraftGuestReplyTwiceConfirmReq_proto_goTypes = nil
+ file_DraftGuestReplyTwiceConfirmReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftGuestReplyTwiceConfirmRsp.pb.go b/protocol/proto/DraftGuestReplyTwiceConfirmRsp.pb.go
new file mode 100644
index 00000000..0759ae89
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyTwiceConfirmRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftGuestReplyTwiceConfirmRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5475
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DraftGuestReplyTwiceConfirmRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DraftId uint32 `protobuf:"varint,5,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+ IsAgree bool `protobuf:"varint,13,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DraftGuestReplyTwiceConfirmRsp) Reset() {
+ *x = DraftGuestReplyTwiceConfirmRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftGuestReplyTwiceConfirmRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftGuestReplyTwiceConfirmRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftGuestReplyTwiceConfirmRsp) ProtoMessage() {}
+
+func (x *DraftGuestReplyTwiceConfirmRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftGuestReplyTwiceConfirmRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftGuestReplyTwiceConfirmRsp.ProtoReflect.Descriptor instead.
+func (*DraftGuestReplyTwiceConfirmRsp) Descriptor() ([]byte, []int) {
+ return file_DraftGuestReplyTwiceConfirmRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftGuestReplyTwiceConfirmRsp) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+func (x *DraftGuestReplyTwiceConfirmRsp) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *DraftGuestReplyTwiceConfirmRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DraftGuestReplyTwiceConfirmRsp_proto protoreflect.FileDescriptor
+
+var file_DraftGuestReplyTwiceConfirmRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c,
+ 0x79, 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a,
+ 0x1e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
+ 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x73, 0x70, 0x12,
+ 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,
+ 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
+ 0x41, 0x67, 0x72, 0x65, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftGuestReplyTwiceConfirmRsp_proto_rawDescOnce sync.Once
+ file_DraftGuestReplyTwiceConfirmRsp_proto_rawDescData = file_DraftGuestReplyTwiceConfirmRsp_proto_rawDesc
+)
+
+func file_DraftGuestReplyTwiceConfirmRsp_proto_rawDescGZIP() []byte {
+ file_DraftGuestReplyTwiceConfirmRsp_proto_rawDescOnce.Do(func() {
+ file_DraftGuestReplyTwiceConfirmRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftGuestReplyTwiceConfirmRsp_proto_rawDescData)
+ })
+ return file_DraftGuestReplyTwiceConfirmRsp_proto_rawDescData
+}
+
+var file_DraftGuestReplyTwiceConfirmRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftGuestReplyTwiceConfirmRsp_proto_goTypes = []interface{}{
+ (*DraftGuestReplyTwiceConfirmRsp)(nil), // 0: proto.DraftGuestReplyTwiceConfirmRsp
+}
+var file_DraftGuestReplyTwiceConfirmRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftGuestReplyTwiceConfirmRsp_proto_init() }
+func file_DraftGuestReplyTwiceConfirmRsp_proto_init() {
+ if File_DraftGuestReplyTwiceConfirmRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftGuestReplyTwiceConfirmRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftGuestReplyTwiceConfirmRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftGuestReplyTwiceConfirmRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftGuestReplyTwiceConfirmRsp_proto_goTypes,
+ DependencyIndexes: file_DraftGuestReplyTwiceConfirmRsp_proto_depIdxs,
+ MessageInfos: file_DraftGuestReplyTwiceConfirmRsp_proto_msgTypes,
+ }.Build()
+ File_DraftGuestReplyTwiceConfirmRsp_proto = out.File
+ file_DraftGuestReplyTwiceConfirmRsp_proto_rawDesc = nil
+ file_DraftGuestReplyTwiceConfirmRsp_proto_goTypes = nil
+ file_DraftGuestReplyTwiceConfirmRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftInviteFailInfo.pb.go b/protocol/proto/DraftInviteFailInfo.pb.go
new file mode 100644
index 00000000..ea09ba5c
--- /dev/null
+++ b/protocol/proto/DraftInviteFailInfo.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftInviteFailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DraftInviteFailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,8,opt,name=uid,proto3" json:"uid,omitempty"`
+ Reason DraftInviteFailReason `protobuf:"varint,5,opt,name=reason,proto3,enum=proto.DraftInviteFailReason" json:"reason,omitempty"`
+}
+
+func (x *DraftInviteFailInfo) Reset() {
+ *x = DraftInviteFailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftInviteFailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftInviteFailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftInviteFailInfo) ProtoMessage() {}
+
+func (x *DraftInviteFailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftInviteFailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftInviteFailInfo.ProtoReflect.Descriptor instead.
+func (*DraftInviteFailInfo) Descriptor() ([]byte, []int) {
+ return file_DraftInviteFailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftInviteFailInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *DraftInviteFailInfo) GetReason() DraftInviteFailReason {
+ if x != nil {
+ return x.Reason
+ }
+ return DraftInviteFailReason_DRAFT_INVITE_FAIL_REASON_UNKNOWN
+}
+
+var File_DraftInviteFailInfo_proto protoreflect.FileDescriptor
+
+var file_DraftInviteFailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1b, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46,
+ 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5d, 0x0a, 0x13, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DraftInviteFailInfo_proto_rawDescOnce sync.Once
+ file_DraftInviteFailInfo_proto_rawDescData = file_DraftInviteFailInfo_proto_rawDesc
+)
+
+func file_DraftInviteFailInfo_proto_rawDescGZIP() []byte {
+ file_DraftInviteFailInfo_proto_rawDescOnce.Do(func() {
+ file_DraftInviteFailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftInviteFailInfo_proto_rawDescData)
+ })
+ return file_DraftInviteFailInfo_proto_rawDescData
+}
+
+var file_DraftInviteFailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftInviteFailInfo_proto_goTypes = []interface{}{
+ (*DraftInviteFailInfo)(nil), // 0: proto.DraftInviteFailInfo
+ (DraftInviteFailReason)(0), // 1: proto.DraftInviteFailReason
+}
+var file_DraftInviteFailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.DraftInviteFailInfo.reason:type_name -> proto.DraftInviteFailReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DraftInviteFailInfo_proto_init() }
+func file_DraftInviteFailInfo_proto_init() {
+ if File_DraftInviteFailInfo_proto != nil {
+ return
+ }
+ file_DraftInviteFailReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DraftInviteFailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftInviteFailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftInviteFailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftInviteFailInfo_proto_goTypes,
+ DependencyIndexes: file_DraftInviteFailInfo_proto_depIdxs,
+ MessageInfos: file_DraftInviteFailInfo_proto_msgTypes,
+ }.Build()
+ File_DraftInviteFailInfo_proto = out.File
+ file_DraftInviteFailInfo_proto_rawDesc = nil
+ file_DraftInviteFailInfo_proto_goTypes = nil
+ file_DraftInviteFailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftInviteFailReason.pb.go b/protocol/proto/DraftInviteFailReason.pb.go
new file mode 100644
index 00000000..cc7430b4
--- /dev/null
+++ b/protocol/proto/DraftInviteFailReason.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftInviteFailReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DraftInviteFailReason int32
+
+const (
+ DraftInviteFailReason_DRAFT_INVITE_FAIL_REASON_UNKNOWN DraftInviteFailReason = 0
+ DraftInviteFailReason_DRAFT_INVITE_FAIL_REASON_ACTIVITY_NOT_OPEN DraftInviteFailReason = 1
+ DraftInviteFailReason_DRAFT_INVITE_FAIL_REASON_ACTIVITY_PLAY_NOT_OPEN DraftInviteFailReason = 2
+ DraftInviteFailReason_DRAFT_INVITE_FAIL_REASON_SCENE_NOT_MEET DraftInviteFailReason = 3
+ DraftInviteFailReason_DRAFT_INVITE_FAIL_REASON_WORLD_NOT_MEET DraftInviteFailReason = 4
+ DraftInviteFailReason_DRAFT_INVITE_FAIL_REASON_PLAY_LIMIT_NOT_MEET DraftInviteFailReason = 5
+)
+
+// Enum value maps for DraftInviteFailReason.
+var (
+ DraftInviteFailReason_name = map[int32]string{
+ 0: "DRAFT_INVITE_FAIL_REASON_UNKNOWN",
+ 1: "DRAFT_INVITE_FAIL_REASON_ACTIVITY_NOT_OPEN",
+ 2: "DRAFT_INVITE_FAIL_REASON_ACTIVITY_PLAY_NOT_OPEN",
+ 3: "DRAFT_INVITE_FAIL_REASON_SCENE_NOT_MEET",
+ 4: "DRAFT_INVITE_FAIL_REASON_WORLD_NOT_MEET",
+ 5: "DRAFT_INVITE_FAIL_REASON_PLAY_LIMIT_NOT_MEET",
+ }
+ DraftInviteFailReason_value = map[string]int32{
+ "DRAFT_INVITE_FAIL_REASON_UNKNOWN": 0,
+ "DRAFT_INVITE_FAIL_REASON_ACTIVITY_NOT_OPEN": 1,
+ "DRAFT_INVITE_FAIL_REASON_ACTIVITY_PLAY_NOT_OPEN": 2,
+ "DRAFT_INVITE_FAIL_REASON_SCENE_NOT_MEET": 3,
+ "DRAFT_INVITE_FAIL_REASON_WORLD_NOT_MEET": 4,
+ "DRAFT_INVITE_FAIL_REASON_PLAY_LIMIT_NOT_MEET": 5,
+ }
+)
+
+func (x DraftInviteFailReason) Enum() *DraftInviteFailReason {
+ p := new(DraftInviteFailReason)
+ *p = x
+ return p
+}
+
+func (x DraftInviteFailReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DraftInviteFailReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_DraftInviteFailReason_proto_enumTypes[0].Descriptor()
+}
+
+func (DraftInviteFailReason) Type() protoreflect.EnumType {
+ return &file_DraftInviteFailReason_proto_enumTypes[0]
+}
+
+func (x DraftInviteFailReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DraftInviteFailReason.Descriptor instead.
+func (DraftInviteFailReason) EnumDescriptor() ([]byte, []int) {
+ return file_DraftInviteFailReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DraftInviteFailReason_proto protoreflect.FileDescriptor
+
+var file_DraftInviteFailReason_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x61, 0x69,
+ 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xae, 0x02, 0x0a, 0x15, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e,
+ 0x76, 0x69, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24,
+ 0x0a, 0x20, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x46,
+ 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
+ 0x57, 0x4e, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x2a, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x49, 0x4e,
+ 0x56, 0x49, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50,
+ 0x45, 0x4e, 0x10, 0x01, 0x12, 0x33, 0x0a, 0x2f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x49, 0x4e,
+ 0x56, 0x49, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x52, 0x41,
+ 0x46, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x4d, 0x45, 0x45, 0x54, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f,
+ 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x45,
+ 0x54, 0x10, 0x04, 0x12, 0x30, 0x0a, 0x2c, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x49, 0x4e, 0x56,
+ 0x49, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d,
+ 0x45, 0x45, 0x54, 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftInviteFailReason_proto_rawDescOnce sync.Once
+ file_DraftInviteFailReason_proto_rawDescData = file_DraftInviteFailReason_proto_rawDesc
+)
+
+func file_DraftInviteFailReason_proto_rawDescGZIP() []byte {
+ file_DraftInviteFailReason_proto_rawDescOnce.Do(func() {
+ file_DraftInviteFailReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftInviteFailReason_proto_rawDescData)
+ })
+ return file_DraftInviteFailReason_proto_rawDescData
+}
+
+var file_DraftInviteFailReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_DraftInviteFailReason_proto_goTypes = []interface{}{
+ (DraftInviteFailReason)(0), // 0: proto.DraftInviteFailReason
+}
+var file_DraftInviteFailReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftInviteFailReason_proto_init() }
+func file_DraftInviteFailReason_proto_init() {
+ if File_DraftInviteFailReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftInviteFailReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftInviteFailReason_proto_goTypes,
+ DependencyIndexes: file_DraftInviteFailReason_proto_depIdxs,
+ EnumInfos: file_DraftInviteFailReason_proto_enumTypes,
+ }.Build()
+ File_DraftInviteFailReason_proto = out.File
+ file_DraftInviteFailReason_proto_rawDesc = nil
+ file_DraftInviteFailReason_proto_goTypes = nil
+ file_DraftInviteFailReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftInviteResultNotify.pb.go b/protocol/proto/DraftInviteResultNotify.pb.go
new file mode 100644
index 00000000..6ee9760d
--- /dev/null
+++ b/protocol/proto/DraftInviteResultNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftInviteResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5473
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DraftInviteResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAllArgee bool `protobuf:"varint,9,opt,name=is_all_argee,json=isAllArgee,proto3" json:"is_all_argee,omitempty"`
+ DraftId uint32 `protobuf:"varint,13,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+}
+
+func (x *DraftInviteResultNotify) Reset() {
+ *x = DraftInviteResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftInviteResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftInviteResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftInviteResultNotify) ProtoMessage() {}
+
+func (x *DraftInviteResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftInviteResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftInviteResultNotify.ProtoReflect.Descriptor instead.
+func (*DraftInviteResultNotify) Descriptor() ([]byte, []int) {
+ return file_DraftInviteResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftInviteResultNotify) GetIsAllArgee() bool {
+ if x != nil {
+ return x.IsAllArgee
+ }
+ return false
+}
+
+func (x *DraftInviteResultNotify) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+var File_DraftInviteResultNotify_proto protoreflect.FileDescriptor
+
+var file_DraftInviteResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x17, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49,
+ 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x65,
+ 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x41, 0x72,
+ 0x67, 0x65, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DraftInviteResultNotify_proto_rawDescOnce sync.Once
+ file_DraftInviteResultNotify_proto_rawDescData = file_DraftInviteResultNotify_proto_rawDesc
+)
+
+func file_DraftInviteResultNotify_proto_rawDescGZIP() []byte {
+ file_DraftInviteResultNotify_proto_rawDescOnce.Do(func() {
+ file_DraftInviteResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftInviteResultNotify_proto_rawDescData)
+ })
+ return file_DraftInviteResultNotify_proto_rawDescData
+}
+
+var file_DraftInviteResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftInviteResultNotify_proto_goTypes = []interface{}{
+ (*DraftInviteResultNotify)(nil), // 0: proto.DraftInviteResultNotify
+}
+var file_DraftInviteResultNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftInviteResultNotify_proto_init() }
+func file_DraftInviteResultNotify_proto_init() {
+ if File_DraftInviteResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftInviteResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftInviteResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftInviteResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftInviteResultNotify_proto_goTypes,
+ DependencyIndexes: file_DraftInviteResultNotify_proto_depIdxs,
+ MessageInfos: file_DraftInviteResultNotify_proto_msgTypes,
+ }.Build()
+ File_DraftInviteResultNotify_proto = out.File
+ file_DraftInviteResultNotify_proto_rawDesc = nil
+ file_DraftInviteResultNotify_proto_goTypes = nil
+ file_DraftInviteResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftOwnerInviteNotify.pb.go b/protocol/proto/DraftOwnerInviteNotify.pb.go
new file mode 100644
index 00000000..fc7e52c3
--- /dev/null
+++ b/protocol/proto/DraftOwnerInviteNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftOwnerInviteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5407
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DraftOwnerInviteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DraftId uint32 `protobuf:"varint,4,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+ InviteDeadlineTime uint32 `protobuf:"varint,15,opt,name=invite_deadline_time,json=inviteDeadlineTime,proto3" json:"invite_deadline_time,omitempty"`
+}
+
+func (x *DraftOwnerInviteNotify) Reset() {
+ *x = DraftOwnerInviteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftOwnerInviteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftOwnerInviteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftOwnerInviteNotify) ProtoMessage() {}
+
+func (x *DraftOwnerInviteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftOwnerInviteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftOwnerInviteNotify.ProtoReflect.Descriptor instead.
+func (*DraftOwnerInviteNotify) Descriptor() ([]byte, []int) {
+ return file_DraftOwnerInviteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftOwnerInviteNotify) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+func (x *DraftOwnerInviteNotify) GetInviteDeadlineTime() uint32 {
+ if x != nil {
+ return x.InviteDeadlineTime
+ }
+ return 0
+}
+
+var File_DraftOwnerInviteNotify_proto protoreflect.FileDescriptor
+
+var file_DraftOwnerInviteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x16, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4f, 0x77,
+ 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e,
+ 0x76, 0x69, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65,
+ 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftOwnerInviteNotify_proto_rawDescOnce sync.Once
+ file_DraftOwnerInviteNotify_proto_rawDescData = file_DraftOwnerInviteNotify_proto_rawDesc
+)
+
+func file_DraftOwnerInviteNotify_proto_rawDescGZIP() []byte {
+ file_DraftOwnerInviteNotify_proto_rawDescOnce.Do(func() {
+ file_DraftOwnerInviteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftOwnerInviteNotify_proto_rawDescData)
+ })
+ return file_DraftOwnerInviteNotify_proto_rawDescData
+}
+
+var file_DraftOwnerInviteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftOwnerInviteNotify_proto_goTypes = []interface{}{
+ (*DraftOwnerInviteNotify)(nil), // 0: proto.DraftOwnerInviteNotify
+}
+var file_DraftOwnerInviteNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftOwnerInviteNotify_proto_init() }
+func file_DraftOwnerInviteNotify_proto_init() {
+ if File_DraftOwnerInviteNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftOwnerInviteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftOwnerInviteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftOwnerInviteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftOwnerInviteNotify_proto_goTypes,
+ DependencyIndexes: file_DraftOwnerInviteNotify_proto_depIdxs,
+ MessageInfos: file_DraftOwnerInviteNotify_proto_msgTypes,
+ }.Build()
+ File_DraftOwnerInviteNotify_proto = out.File
+ file_DraftOwnerInviteNotify_proto_rawDesc = nil
+ file_DraftOwnerInviteNotify_proto_goTypes = nil
+ file_DraftOwnerInviteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftOwnerStartInviteReq.pb.go b/protocol/proto/DraftOwnerStartInviteReq.pb.go
new file mode 100644
index 00000000..86a649bf
--- /dev/null
+++ b/protocol/proto/DraftOwnerStartInviteReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftOwnerStartInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5412
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DraftOwnerStartInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DraftId uint32 `protobuf:"varint,14,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+}
+
+func (x *DraftOwnerStartInviteReq) Reset() {
+ *x = DraftOwnerStartInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftOwnerStartInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftOwnerStartInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftOwnerStartInviteReq) ProtoMessage() {}
+
+func (x *DraftOwnerStartInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftOwnerStartInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftOwnerStartInviteReq.ProtoReflect.Descriptor instead.
+func (*DraftOwnerStartInviteReq) Descriptor() ([]byte, []int) {
+ return file_DraftOwnerStartInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftOwnerStartInviteReq) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+var File_DraftOwnerStartInviteReq_proto protoreflect.FileDescriptor
+
+var file_DraftOwnerStartInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x18, 0x44, 0x72, 0x61, 0x66, 0x74,
+ 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DraftOwnerStartInviteReq_proto_rawDescOnce sync.Once
+ file_DraftOwnerStartInviteReq_proto_rawDescData = file_DraftOwnerStartInviteReq_proto_rawDesc
+)
+
+func file_DraftOwnerStartInviteReq_proto_rawDescGZIP() []byte {
+ file_DraftOwnerStartInviteReq_proto_rawDescOnce.Do(func() {
+ file_DraftOwnerStartInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftOwnerStartInviteReq_proto_rawDescData)
+ })
+ return file_DraftOwnerStartInviteReq_proto_rawDescData
+}
+
+var file_DraftOwnerStartInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftOwnerStartInviteReq_proto_goTypes = []interface{}{
+ (*DraftOwnerStartInviteReq)(nil), // 0: proto.DraftOwnerStartInviteReq
+}
+var file_DraftOwnerStartInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftOwnerStartInviteReq_proto_init() }
+func file_DraftOwnerStartInviteReq_proto_init() {
+ if File_DraftOwnerStartInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftOwnerStartInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftOwnerStartInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftOwnerStartInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftOwnerStartInviteReq_proto_goTypes,
+ DependencyIndexes: file_DraftOwnerStartInviteReq_proto_depIdxs,
+ MessageInfos: file_DraftOwnerStartInviteReq_proto_msgTypes,
+ }.Build()
+ File_DraftOwnerStartInviteReq_proto = out.File
+ file_DraftOwnerStartInviteReq_proto_rawDesc = nil
+ file_DraftOwnerStartInviteReq_proto_goTypes = nil
+ file_DraftOwnerStartInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftOwnerStartInviteRsp.pb.go b/protocol/proto/DraftOwnerStartInviteRsp.pb.go
new file mode 100644
index 00000000..0e0928e2
--- /dev/null
+++ b/protocol/proto/DraftOwnerStartInviteRsp.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftOwnerStartInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5435
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DraftOwnerStartInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InviteFailInfoList []*DraftInviteFailInfo `protobuf:"bytes,15,rep,name=invite_fail_info_list,json=inviteFailInfoList,proto3" json:"invite_fail_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ WrongUid uint32 `protobuf:"varint,3,opt,name=wrong_uid,json=wrongUid,proto3" json:"wrong_uid,omitempty"`
+ DraftId uint32 `protobuf:"varint,14,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+}
+
+func (x *DraftOwnerStartInviteRsp) Reset() {
+ *x = DraftOwnerStartInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftOwnerStartInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftOwnerStartInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftOwnerStartInviteRsp) ProtoMessage() {}
+
+func (x *DraftOwnerStartInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftOwnerStartInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftOwnerStartInviteRsp.ProtoReflect.Descriptor instead.
+func (*DraftOwnerStartInviteRsp) Descriptor() ([]byte, []int) {
+ return file_DraftOwnerStartInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftOwnerStartInviteRsp) GetInviteFailInfoList() []*DraftInviteFailInfo {
+ if x != nil {
+ return x.InviteFailInfoList
+ }
+ return nil
+}
+
+func (x *DraftOwnerStartInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DraftOwnerStartInviteRsp) GetWrongUid() uint32 {
+ if x != nil {
+ return x.WrongUid
+ }
+ return 0
+}
+
+func (x *DraftOwnerStartInviteRsp) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+var File_DraftOwnerStartInviteRsp_proto protoreflect.FileDescriptor
+
+var file_DraftOwnerStartInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e,
+ 0x76, 0x69, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x18, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4f, 0x77, 0x6e, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12,
+ 0x4d, 0x0a, 0x15, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x72, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x69, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x72, 0x6f, 0x6e,
+ 0x67, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x72, 0x6f,
+ 0x6e, 0x67, 0x55, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftOwnerStartInviteRsp_proto_rawDescOnce sync.Once
+ file_DraftOwnerStartInviteRsp_proto_rawDescData = file_DraftOwnerStartInviteRsp_proto_rawDesc
+)
+
+func file_DraftOwnerStartInviteRsp_proto_rawDescGZIP() []byte {
+ file_DraftOwnerStartInviteRsp_proto_rawDescOnce.Do(func() {
+ file_DraftOwnerStartInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftOwnerStartInviteRsp_proto_rawDescData)
+ })
+ return file_DraftOwnerStartInviteRsp_proto_rawDescData
+}
+
+var file_DraftOwnerStartInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftOwnerStartInviteRsp_proto_goTypes = []interface{}{
+ (*DraftOwnerStartInviteRsp)(nil), // 0: proto.DraftOwnerStartInviteRsp
+ (*DraftInviteFailInfo)(nil), // 1: proto.DraftInviteFailInfo
+}
+var file_DraftOwnerStartInviteRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.DraftOwnerStartInviteRsp.invite_fail_info_list:type_name -> proto.DraftInviteFailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DraftOwnerStartInviteRsp_proto_init() }
+func file_DraftOwnerStartInviteRsp_proto_init() {
+ if File_DraftOwnerStartInviteRsp_proto != nil {
+ return
+ }
+ file_DraftInviteFailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DraftOwnerStartInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftOwnerStartInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftOwnerStartInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftOwnerStartInviteRsp_proto_goTypes,
+ DependencyIndexes: file_DraftOwnerStartInviteRsp_proto_depIdxs,
+ MessageInfos: file_DraftOwnerStartInviteRsp_proto_msgTypes,
+ }.Build()
+ File_DraftOwnerStartInviteRsp_proto = out.File
+ file_DraftOwnerStartInviteRsp_proto_rawDesc = nil
+ file_DraftOwnerStartInviteRsp_proto_goTypes = nil
+ file_DraftOwnerStartInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftOwnerTwiceConfirmNotify.pb.go b/protocol/proto/DraftOwnerTwiceConfirmNotify.pb.go
new file mode 100644
index 00000000..f7d409fd
--- /dev/null
+++ b/protocol/proto/DraftOwnerTwiceConfirmNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftOwnerTwiceConfirmNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5499
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DraftOwnerTwiceConfirmNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TwiceConfirmDeadlineTime uint32 `protobuf:"varint,15,opt,name=twice_confirm_deadline_time,json=twiceConfirmDeadlineTime,proto3" json:"twice_confirm_deadline_time,omitempty"`
+ DraftId uint32 `protobuf:"varint,14,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+}
+
+func (x *DraftOwnerTwiceConfirmNotify) Reset() {
+ *x = DraftOwnerTwiceConfirmNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftOwnerTwiceConfirmNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftOwnerTwiceConfirmNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftOwnerTwiceConfirmNotify) ProtoMessage() {}
+
+func (x *DraftOwnerTwiceConfirmNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftOwnerTwiceConfirmNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftOwnerTwiceConfirmNotify.ProtoReflect.Descriptor instead.
+func (*DraftOwnerTwiceConfirmNotify) Descriptor() ([]byte, []int) {
+ return file_DraftOwnerTwiceConfirmNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftOwnerTwiceConfirmNotify) GetTwiceConfirmDeadlineTime() uint32 {
+ if x != nil {
+ return x.TwiceConfirmDeadlineTime
+ }
+ return 0
+}
+
+func (x *DraftOwnerTwiceConfirmNotify) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+var File_DraftOwnerTwiceConfirmNotify_proto protoreflect.FileDescriptor
+
+var file_DraftOwnerTwiceConfirmNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x72, 0x61, 0x66, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x77, 0x69, 0x63,
+ 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x1c, 0x44,
+ 0x72, 0x61, 0x66, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3d, 0x0a, 0x1b, 0x74,
+ 0x77, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x5f, 0x64, 0x65, 0x61,
+ 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x18, 0x74, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x44, 0x65,
+ 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72,
+ 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72,
+ 0x61, 0x66, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftOwnerTwiceConfirmNotify_proto_rawDescOnce sync.Once
+ file_DraftOwnerTwiceConfirmNotify_proto_rawDescData = file_DraftOwnerTwiceConfirmNotify_proto_rawDesc
+)
+
+func file_DraftOwnerTwiceConfirmNotify_proto_rawDescGZIP() []byte {
+ file_DraftOwnerTwiceConfirmNotify_proto_rawDescOnce.Do(func() {
+ file_DraftOwnerTwiceConfirmNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftOwnerTwiceConfirmNotify_proto_rawDescData)
+ })
+ return file_DraftOwnerTwiceConfirmNotify_proto_rawDescData
+}
+
+var file_DraftOwnerTwiceConfirmNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftOwnerTwiceConfirmNotify_proto_goTypes = []interface{}{
+ (*DraftOwnerTwiceConfirmNotify)(nil), // 0: proto.DraftOwnerTwiceConfirmNotify
+}
+var file_DraftOwnerTwiceConfirmNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftOwnerTwiceConfirmNotify_proto_init() }
+func file_DraftOwnerTwiceConfirmNotify_proto_init() {
+ if File_DraftOwnerTwiceConfirmNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftOwnerTwiceConfirmNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftOwnerTwiceConfirmNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftOwnerTwiceConfirmNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftOwnerTwiceConfirmNotify_proto_goTypes,
+ DependencyIndexes: file_DraftOwnerTwiceConfirmNotify_proto_depIdxs,
+ MessageInfos: file_DraftOwnerTwiceConfirmNotify_proto_msgTypes,
+ }.Build()
+ File_DraftOwnerTwiceConfirmNotify_proto = out.File
+ file_DraftOwnerTwiceConfirmNotify_proto_rawDesc = nil
+ file_DraftOwnerTwiceConfirmNotify_proto_goTypes = nil
+ file_DraftOwnerTwiceConfirmNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DraftTwiceConfirmResultNotify.pb.go b/protocol/proto/DraftTwiceConfirmResultNotify.pb.go
new file mode 100644
index 00000000..17263714
--- /dev/null
+++ b/protocol/proto/DraftTwiceConfirmResultNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DraftTwiceConfirmResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5448
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DraftTwiceConfirmResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAllArgee bool `protobuf:"varint,7,opt,name=is_all_argee,json=isAllArgee,proto3" json:"is_all_argee,omitempty"`
+ DraftId uint32 `protobuf:"varint,1,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+}
+
+func (x *DraftTwiceConfirmResultNotify) Reset() {
+ *x = DraftTwiceConfirmResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DraftTwiceConfirmResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DraftTwiceConfirmResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DraftTwiceConfirmResultNotify) ProtoMessage() {}
+
+func (x *DraftTwiceConfirmResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DraftTwiceConfirmResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DraftTwiceConfirmResultNotify.ProtoReflect.Descriptor instead.
+func (*DraftTwiceConfirmResultNotify) Descriptor() ([]byte, []int) {
+ return file_DraftTwiceConfirmResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DraftTwiceConfirmResultNotify) GetIsAllArgee() bool {
+ if x != nil {
+ return x.IsAllArgee
+ }
+ return false
+}
+
+func (x *DraftTwiceConfirmResultNotify) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+var File_DraftTwiceConfirmResultNotify_proto protoreflect.FileDescriptor
+
+var file_DraftTwiceConfirmResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x1d,
+ 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x77, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72,
+ 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a,
+ 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x65, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x41, 0x72, 0x67, 0x65, 0x65, 0x12,
+ 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DraftTwiceConfirmResultNotify_proto_rawDescOnce sync.Once
+ file_DraftTwiceConfirmResultNotify_proto_rawDescData = file_DraftTwiceConfirmResultNotify_proto_rawDesc
+)
+
+func file_DraftTwiceConfirmResultNotify_proto_rawDescGZIP() []byte {
+ file_DraftTwiceConfirmResultNotify_proto_rawDescOnce.Do(func() {
+ file_DraftTwiceConfirmResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DraftTwiceConfirmResultNotify_proto_rawDescData)
+ })
+ return file_DraftTwiceConfirmResultNotify_proto_rawDescData
+}
+
+var file_DraftTwiceConfirmResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DraftTwiceConfirmResultNotify_proto_goTypes = []interface{}{
+ (*DraftTwiceConfirmResultNotify)(nil), // 0: proto.DraftTwiceConfirmResultNotify
+}
+var file_DraftTwiceConfirmResultNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DraftTwiceConfirmResultNotify_proto_init() }
+func file_DraftTwiceConfirmResultNotify_proto_init() {
+ if File_DraftTwiceConfirmResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DraftTwiceConfirmResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DraftTwiceConfirmResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DraftTwiceConfirmResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DraftTwiceConfirmResultNotify_proto_goTypes,
+ DependencyIndexes: file_DraftTwiceConfirmResultNotify_proto_depIdxs,
+ MessageInfos: file_DraftTwiceConfirmResultNotify_proto_msgTypes,
+ }.Build()
+ File_DraftTwiceConfirmResultNotify_proto = out.File
+ file_DraftTwiceConfirmResultNotify_proto_rawDesc = nil
+ file_DraftTwiceConfirmResultNotify_proto_goTypes = nil
+ file_DraftTwiceConfirmResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DragonSpineActivityDetailInfo.pb.go b/protocol/proto/DragonSpineActivityDetailInfo.pb.go
new file mode 100644
index 00000000..b519c808
--- /dev/null
+++ b/protocol/proto/DragonSpineActivityDetailInfo.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DragonSpineActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DragonSpineActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsContentClosed bool `protobuf:"varint,10,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ ChapterInfoList []*DragonSpineChapterInfo `protobuf:"bytes,4,rep,name=chapter_info_list,json=chapterInfoList,proto3" json:"chapter_info_list,omitempty"`
+ WeaponEnhanceLevel uint32 `protobuf:"varint,2,opt,name=weapon_enhance_level,json=weaponEnhanceLevel,proto3" json:"weapon_enhance_level,omitempty"`
+ ContentFinishTime uint32 `protobuf:"varint,15,opt,name=content_finish_time,json=contentFinishTime,proto3" json:"content_finish_time,omitempty"`
+ ShimmeringEssence uint32 `protobuf:"varint,13,opt,name=shimmering_essence,json=shimmeringEssence,proto3" json:"shimmering_essence,omitempty"`
+ WarmEssence uint32 `protobuf:"varint,11,opt,name=warm_essence,json=warmEssence,proto3" json:"warm_essence,omitempty"`
+ WondrousEssence uint32 `protobuf:"varint,7,opt,name=wondrous_essence,json=wondrousEssence,proto3" json:"wondrous_essence,omitempty"`
+}
+
+func (x *DragonSpineActivityDetailInfo) Reset() {
+ *x = DragonSpineActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DragonSpineActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DragonSpineActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DragonSpineActivityDetailInfo) ProtoMessage() {}
+
+func (x *DragonSpineActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DragonSpineActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DragonSpineActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*DragonSpineActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_DragonSpineActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DragonSpineActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *DragonSpineActivityDetailInfo) GetChapterInfoList() []*DragonSpineChapterInfo {
+ if x != nil {
+ return x.ChapterInfoList
+ }
+ return nil
+}
+
+func (x *DragonSpineActivityDetailInfo) GetWeaponEnhanceLevel() uint32 {
+ if x != nil {
+ return x.WeaponEnhanceLevel
+ }
+ return 0
+}
+
+func (x *DragonSpineActivityDetailInfo) GetContentFinishTime() uint32 {
+ if x != nil {
+ return x.ContentFinishTime
+ }
+ return 0
+}
+
+func (x *DragonSpineActivityDetailInfo) GetShimmeringEssence() uint32 {
+ if x != nil {
+ return x.ShimmeringEssence
+ }
+ return 0
+}
+
+func (x *DragonSpineActivityDetailInfo) GetWarmEssence() uint32 {
+ if x != nil {
+ return x.WarmEssence
+ }
+ return 0
+}
+
+func (x *DragonSpineActivityDetailInfo) GetWondrousEssence() uint32 {
+ if x != nil {
+ return x.WondrousEssence
+ }
+ return 0
+}
+
+var File_DragonSpineActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_DragonSpineActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x44, 0x72,
+ 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x02, 0x0a, 0x1d, 0x44,
+ 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11,
+ 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x72, 0x61, 0x67,
+ 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x65, 0x6e,
+ 0x68, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x12, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x68, 0x69, 0x6d, 0x6d, 0x65, 0x72,
+ 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x11, 0x73, 0x68, 0x69, 0x6d, 0x6d, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x73, 0x73,
+ 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x72, 0x6d, 0x5f, 0x65, 0x73, 0x73,
+ 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x72, 0x6d,
+ 0x45, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x77, 0x6f, 0x6e, 0x64, 0x72,
+ 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x77, 0x6f, 0x6e, 0x64, 0x72, 0x6f, 0x75, 0x73, 0x45, 0x73, 0x73, 0x65, 0x6e,
+ 0x63, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DragonSpineActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_DragonSpineActivityDetailInfo_proto_rawDescData = file_DragonSpineActivityDetailInfo_proto_rawDesc
+)
+
+func file_DragonSpineActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_DragonSpineActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_DragonSpineActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DragonSpineActivityDetailInfo_proto_rawDescData)
+ })
+ return file_DragonSpineActivityDetailInfo_proto_rawDescData
+}
+
+var file_DragonSpineActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DragonSpineActivityDetailInfo_proto_goTypes = []interface{}{
+ (*DragonSpineActivityDetailInfo)(nil), // 0: proto.DragonSpineActivityDetailInfo
+ (*DragonSpineChapterInfo)(nil), // 1: proto.DragonSpineChapterInfo
+}
+var file_DragonSpineActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.DragonSpineActivityDetailInfo.chapter_info_list:type_name -> proto.DragonSpineChapterInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DragonSpineActivityDetailInfo_proto_init() }
+func file_DragonSpineActivityDetailInfo_proto_init() {
+ if File_DragonSpineActivityDetailInfo_proto != nil {
+ return
+ }
+ file_DragonSpineChapterInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DragonSpineActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DragonSpineActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DragonSpineActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DragonSpineActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_DragonSpineActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_DragonSpineActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_DragonSpineActivityDetailInfo_proto = out.File
+ file_DragonSpineActivityDetailInfo_proto_rawDesc = nil
+ file_DragonSpineActivityDetailInfo_proto_goTypes = nil
+ file_DragonSpineActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DragonSpineChapterFinishNotify.pb.go b/protocol/proto/DragonSpineChapterFinishNotify.pb.go
new file mode 100644
index 00000000..26f66ef5
--- /dev/null
+++ b/protocol/proto/DragonSpineChapterFinishNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DragonSpineChapterFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2069
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DragonSpineChapterFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,13,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ChapterId uint32 `protobuf:"varint,11,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+ WeaponEnhanceLevel uint32 `protobuf:"varint,14,opt,name=weapon_enhance_level,json=weaponEnhanceLevel,proto3" json:"weapon_enhance_level,omitempty"`
+}
+
+func (x *DragonSpineChapterFinishNotify) Reset() {
+ *x = DragonSpineChapterFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DragonSpineChapterFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DragonSpineChapterFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DragonSpineChapterFinishNotify) ProtoMessage() {}
+
+func (x *DragonSpineChapterFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DragonSpineChapterFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DragonSpineChapterFinishNotify.ProtoReflect.Descriptor instead.
+func (*DragonSpineChapterFinishNotify) Descriptor() ([]byte, []int) {
+ return file_DragonSpineChapterFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DragonSpineChapterFinishNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *DragonSpineChapterFinishNotify) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+func (x *DragonSpineChapterFinishNotify) GetWeaponEnhanceLevel() uint32 {
+ if x != nil {
+ return x.WeaponEnhanceLevel
+ }
+ return 0
+}
+
+var File_DragonSpineChapterFinishNotify_proto protoreflect.FileDescriptor
+
+var file_DragonSpineChapterFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61,
+ 0x70, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01,
+ 0x0a, 0x1e, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61,
+ 0x70, 0x74, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x30, 0x0a, 0x14, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x68, 0x61, 0x6e,
+ 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12,
+ 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x45, 0x6e, 0x68, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DragonSpineChapterFinishNotify_proto_rawDescOnce sync.Once
+ file_DragonSpineChapterFinishNotify_proto_rawDescData = file_DragonSpineChapterFinishNotify_proto_rawDesc
+)
+
+func file_DragonSpineChapterFinishNotify_proto_rawDescGZIP() []byte {
+ file_DragonSpineChapterFinishNotify_proto_rawDescOnce.Do(func() {
+ file_DragonSpineChapterFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DragonSpineChapterFinishNotify_proto_rawDescData)
+ })
+ return file_DragonSpineChapterFinishNotify_proto_rawDescData
+}
+
+var file_DragonSpineChapterFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DragonSpineChapterFinishNotify_proto_goTypes = []interface{}{
+ (*DragonSpineChapterFinishNotify)(nil), // 0: proto.DragonSpineChapterFinishNotify
+}
+var file_DragonSpineChapterFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DragonSpineChapterFinishNotify_proto_init() }
+func file_DragonSpineChapterFinishNotify_proto_init() {
+ if File_DragonSpineChapterFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DragonSpineChapterFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DragonSpineChapterFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DragonSpineChapterFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DragonSpineChapterFinishNotify_proto_goTypes,
+ DependencyIndexes: file_DragonSpineChapterFinishNotify_proto_depIdxs,
+ MessageInfos: file_DragonSpineChapterFinishNotify_proto_msgTypes,
+ }.Build()
+ File_DragonSpineChapterFinishNotify_proto = out.File
+ file_DragonSpineChapterFinishNotify_proto_rawDesc = nil
+ file_DragonSpineChapterFinishNotify_proto_goTypes = nil
+ file_DragonSpineChapterFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DragonSpineChapterInfo.pb.go b/protocol/proto/DragonSpineChapterInfo.pb.go
new file mode 100644
index 00000000..f12db099
--- /dev/null
+++ b/protocol/proto/DragonSpineChapterInfo.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DragonSpineChapterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DragonSpineChapterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Progress uint32 `protobuf:"varint,14,opt,name=progress,proto3" json:"progress,omitempty"`
+ OpenTime uint32 `protobuf:"varint,6,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsOpen bool `protobuf:"varint,11,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ ChapterId uint32 `protobuf:"varint,9,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+ FinishedMissionNum uint32 `protobuf:"varint,10,opt,name=finished_mission_num,json=finishedMissionNum,proto3" json:"finished_mission_num,omitempty"`
+}
+
+func (x *DragonSpineChapterInfo) Reset() {
+ *x = DragonSpineChapterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DragonSpineChapterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DragonSpineChapterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DragonSpineChapterInfo) ProtoMessage() {}
+
+func (x *DragonSpineChapterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DragonSpineChapterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DragonSpineChapterInfo.ProtoReflect.Descriptor instead.
+func (*DragonSpineChapterInfo) Descriptor() ([]byte, []int) {
+ return file_DragonSpineChapterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DragonSpineChapterInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *DragonSpineChapterInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *DragonSpineChapterInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *DragonSpineChapterInfo) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+func (x *DragonSpineChapterInfo) GetFinishedMissionNum() uint32 {
+ if x != nil {
+ return x.FinishedMissionNum
+ }
+ return 0
+}
+
+var File_DragonSpineChapterInfo_proto protoreflect.FileDescriptor
+
+var file_DragonSpineChapterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61,
+ 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x16, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e,
+ 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09,
+ 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x12, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DragonSpineChapterInfo_proto_rawDescOnce sync.Once
+ file_DragonSpineChapterInfo_proto_rawDescData = file_DragonSpineChapterInfo_proto_rawDesc
+)
+
+func file_DragonSpineChapterInfo_proto_rawDescGZIP() []byte {
+ file_DragonSpineChapterInfo_proto_rawDescOnce.Do(func() {
+ file_DragonSpineChapterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DragonSpineChapterInfo_proto_rawDescData)
+ })
+ return file_DragonSpineChapterInfo_proto_rawDescData
+}
+
+var file_DragonSpineChapterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DragonSpineChapterInfo_proto_goTypes = []interface{}{
+ (*DragonSpineChapterInfo)(nil), // 0: proto.DragonSpineChapterInfo
+}
+var file_DragonSpineChapterInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DragonSpineChapterInfo_proto_init() }
+func file_DragonSpineChapterInfo_proto_init() {
+ if File_DragonSpineChapterInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DragonSpineChapterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DragonSpineChapterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DragonSpineChapterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DragonSpineChapterInfo_proto_goTypes,
+ DependencyIndexes: file_DragonSpineChapterInfo_proto_depIdxs,
+ MessageInfos: file_DragonSpineChapterInfo_proto_msgTypes,
+ }.Build()
+ File_DragonSpineChapterInfo_proto = out.File
+ file_DragonSpineChapterInfo_proto_rawDesc = nil
+ file_DragonSpineChapterInfo_proto_goTypes = nil
+ file_DragonSpineChapterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DragonSpineChapterOpenNotify.pb.go b/protocol/proto/DragonSpineChapterOpenNotify.pb.go
new file mode 100644
index 00000000..3032cb82
--- /dev/null
+++ b/protocol/proto/DragonSpineChapterOpenNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DragonSpineChapterOpenNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2022
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DragonSpineChapterOpenNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,12,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ChapterId uint32 `protobuf:"varint,10,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *DragonSpineChapterOpenNotify) Reset() {
+ *x = DragonSpineChapterOpenNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DragonSpineChapterOpenNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DragonSpineChapterOpenNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DragonSpineChapterOpenNotify) ProtoMessage() {}
+
+func (x *DragonSpineChapterOpenNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DragonSpineChapterOpenNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DragonSpineChapterOpenNotify.ProtoReflect.Descriptor instead.
+func (*DragonSpineChapterOpenNotify) Descriptor() ([]byte, []int) {
+ return file_DragonSpineChapterOpenNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DragonSpineChapterOpenNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *DragonSpineChapterOpenNotify) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+var File_DragonSpineChapterOpenNotify_proto protoreflect.FileDescriptor
+
+var file_DragonSpineChapterOpenNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61,
+ 0x70, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x1c, 0x44,
+ 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65,
+ 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DragonSpineChapterOpenNotify_proto_rawDescOnce sync.Once
+ file_DragonSpineChapterOpenNotify_proto_rawDescData = file_DragonSpineChapterOpenNotify_proto_rawDesc
+)
+
+func file_DragonSpineChapterOpenNotify_proto_rawDescGZIP() []byte {
+ file_DragonSpineChapterOpenNotify_proto_rawDescOnce.Do(func() {
+ file_DragonSpineChapterOpenNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DragonSpineChapterOpenNotify_proto_rawDescData)
+ })
+ return file_DragonSpineChapterOpenNotify_proto_rawDescData
+}
+
+var file_DragonSpineChapterOpenNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DragonSpineChapterOpenNotify_proto_goTypes = []interface{}{
+ (*DragonSpineChapterOpenNotify)(nil), // 0: proto.DragonSpineChapterOpenNotify
+}
+var file_DragonSpineChapterOpenNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DragonSpineChapterOpenNotify_proto_init() }
+func file_DragonSpineChapterOpenNotify_proto_init() {
+ if File_DragonSpineChapterOpenNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DragonSpineChapterOpenNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DragonSpineChapterOpenNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DragonSpineChapterOpenNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DragonSpineChapterOpenNotify_proto_goTypes,
+ DependencyIndexes: file_DragonSpineChapterOpenNotify_proto_depIdxs,
+ MessageInfos: file_DragonSpineChapterOpenNotify_proto_msgTypes,
+ }.Build()
+ File_DragonSpineChapterOpenNotify_proto = out.File
+ file_DragonSpineChapterOpenNotify_proto_rawDesc = nil
+ file_DragonSpineChapterOpenNotify_proto_goTypes = nil
+ file_DragonSpineChapterOpenNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DragonSpineChapterProgressChangeNotify.pb.go b/protocol/proto/DragonSpineChapterProgressChangeNotify.pb.go
new file mode 100644
index 00000000..b618a689
--- /dev/null
+++ b/protocol/proto/DragonSpineChapterProgressChangeNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DragonSpineChapterProgressChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2065
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DragonSpineChapterProgressChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,7,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ ChapterId uint32 `protobuf:"varint,11,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+ CurProgress uint32 `protobuf:"varint,5,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+}
+
+func (x *DragonSpineChapterProgressChangeNotify) Reset() {
+ *x = DragonSpineChapterProgressChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DragonSpineChapterProgressChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DragonSpineChapterProgressChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DragonSpineChapterProgressChangeNotify) ProtoMessage() {}
+
+func (x *DragonSpineChapterProgressChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DragonSpineChapterProgressChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DragonSpineChapterProgressChangeNotify.ProtoReflect.Descriptor instead.
+func (*DragonSpineChapterProgressChangeNotify) Descriptor() ([]byte, []int) {
+ return file_DragonSpineChapterProgressChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DragonSpineChapterProgressChangeNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *DragonSpineChapterProgressChangeNotify) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+func (x *DragonSpineChapterProgressChangeNotify) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+var File_DragonSpineChapterProgressChangeNotify_proto protoreflect.FileDescriptor
+
+var file_DragonSpineChapterProgressChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61,
+ 0x70, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x26, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e,
+ 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DragonSpineChapterProgressChangeNotify_proto_rawDescOnce sync.Once
+ file_DragonSpineChapterProgressChangeNotify_proto_rawDescData = file_DragonSpineChapterProgressChangeNotify_proto_rawDesc
+)
+
+func file_DragonSpineChapterProgressChangeNotify_proto_rawDescGZIP() []byte {
+ file_DragonSpineChapterProgressChangeNotify_proto_rawDescOnce.Do(func() {
+ file_DragonSpineChapterProgressChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DragonSpineChapterProgressChangeNotify_proto_rawDescData)
+ })
+ return file_DragonSpineChapterProgressChangeNotify_proto_rawDescData
+}
+
+var file_DragonSpineChapterProgressChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DragonSpineChapterProgressChangeNotify_proto_goTypes = []interface{}{
+ (*DragonSpineChapterProgressChangeNotify)(nil), // 0: proto.DragonSpineChapterProgressChangeNotify
+}
+var file_DragonSpineChapterProgressChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DragonSpineChapterProgressChangeNotify_proto_init() }
+func file_DragonSpineChapterProgressChangeNotify_proto_init() {
+ if File_DragonSpineChapterProgressChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DragonSpineChapterProgressChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DragonSpineChapterProgressChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DragonSpineChapterProgressChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DragonSpineChapterProgressChangeNotify_proto_goTypes,
+ DependencyIndexes: file_DragonSpineChapterProgressChangeNotify_proto_depIdxs,
+ MessageInfos: file_DragonSpineChapterProgressChangeNotify_proto_msgTypes,
+ }.Build()
+ File_DragonSpineChapterProgressChangeNotify_proto = out.File
+ file_DragonSpineChapterProgressChangeNotify_proto_rawDesc = nil
+ file_DragonSpineChapterProgressChangeNotify_proto_goTypes = nil
+ file_DragonSpineChapterProgressChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DragonSpineCoinChangeNotify.pb.go b/protocol/proto/DragonSpineCoinChangeNotify.pb.go
new file mode 100644
index 00000000..405c819e
--- /dev/null
+++ b/protocol/proto/DragonSpineCoinChangeNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DragonSpineCoinChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2088
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DragonSpineCoinChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShimmeringEssence uint32 `protobuf:"varint,4,opt,name=shimmering_essence,json=shimmeringEssence,proto3" json:"shimmering_essence,omitempty"`
+ WarmEssence uint32 `protobuf:"varint,13,opt,name=warm_essence,json=warmEssence,proto3" json:"warm_essence,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,12,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ WondrousEssence uint32 `protobuf:"varint,11,opt,name=wondrous_essence,json=wondrousEssence,proto3" json:"wondrous_essence,omitempty"`
+}
+
+func (x *DragonSpineCoinChangeNotify) Reset() {
+ *x = DragonSpineCoinChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DragonSpineCoinChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DragonSpineCoinChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DragonSpineCoinChangeNotify) ProtoMessage() {}
+
+func (x *DragonSpineCoinChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DragonSpineCoinChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DragonSpineCoinChangeNotify.ProtoReflect.Descriptor instead.
+func (*DragonSpineCoinChangeNotify) Descriptor() ([]byte, []int) {
+ return file_DragonSpineCoinChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DragonSpineCoinChangeNotify) GetShimmeringEssence() uint32 {
+ if x != nil {
+ return x.ShimmeringEssence
+ }
+ return 0
+}
+
+func (x *DragonSpineCoinChangeNotify) GetWarmEssence() uint32 {
+ if x != nil {
+ return x.WarmEssence
+ }
+ return 0
+}
+
+func (x *DragonSpineCoinChangeNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *DragonSpineCoinChangeNotify) GetWondrousEssence() uint32 {
+ if x != nil {
+ return x.WondrousEssence
+ }
+ return 0
+}
+
+var File_DragonSpineCoinChangeNotify_proto protoreflect.FileDescriptor
+
+var file_DragonSpineCoinChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x44, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x69,
+ 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x1b, 0x44,
+ 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x53, 0x70, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x68,
+ 0x69, 0x6d, 0x6d, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x68, 0x69, 0x6d, 0x6d, 0x65, 0x72, 0x69,
+ 0x6e, 0x67, 0x45, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x72,
+ 0x6d, 0x5f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x77, 0x61, 0x72, 0x6d, 0x45, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a,
+ 0x10, 0x77, 0x6f, 0x6e, 0x64, 0x72, 0x6f, 0x75, 0x73, 0x5f, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x63,
+ 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x6f, 0x6e, 0x64, 0x72, 0x6f, 0x75,
+ 0x73, 0x45, 0x73, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DragonSpineCoinChangeNotify_proto_rawDescOnce sync.Once
+ file_DragonSpineCoinChangeNotify_proto_rawDescData = file_DragonSpineCoinChangeNotify_proto_rawDesc
+)
+
+func file_DragonSpineCoinChangeNotify_proto_rawDescGZIP() []byte {
+ file_DragonSpineCoinChangeNotify_proto_rawDescOnce.Do(func() {
+ file_DragonSpineCoinChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DragonSpineCoinChangeNotify_proto_rawDescData)
+ })
+ return file_DragonSpineCoinChangeNotify_proto_rawDescData
+}
+
+var file_DragonSpineCoinChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DragonSpineCoinChangeNotify_proto_goTypes = []interface{}{
+ (*DragonSpineCoinChangeNotify)(nil), // 0: proto.DragonSpineCoinChangeNotify
+}
+var file_DragonSpineCoinChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DragonSpineCoinChangeNotify_proto_init() }
+func file_DragonSpineCoinChangeNotify_proto_init() {
+ if File_DragonSpineCoinChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DragonSpineCoinChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DragonSpineCoinChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DragonSpineCoinChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DragonSpineCoinChangeNotify_proto_goTypes,
+ DependencyIndexes: file_DragonSpineCoinChangeNotify_proto_depIdxs,
+ MessageInfos: file_DragonSpineCoinChangeNotify_proto_msgTypes,
+ }.Build()
+ File_DragonSpineCoinChangeNotify_proto = out.File
+ file_DragonSpineCoinChangeNotify_proto_rawDesc = nil
+ file_DragonSpineCoinChangeNotify_proto_goTypes = nil
+ file_DragonSpineCoinChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DropHintNotify.pb.go b/protocol/proto/DropHintNotify.pb.go
new file mode 100644
index 00000000..1d13c989
--- /dev/null
+++ b/protocol/proto/DropHintNotify.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DropHintNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 650
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DropHintNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Position *Vector `protobuf:"bytes,7,opt,name=position,proto3" json:"position,omitempty"`
+ ItemIdList []uint32 `protobuf:"varint,14,rep,packed,name=item_id_list,json=itemIdList,proto3" json:"item_id_list,omitempty"`
+}
+
+func (x *DropHintNotify) Reset() {
+ *x = DropHintNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DropHintNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DropHintNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DropHintNotify) ProtoMessage() {}
+
+func (x *DropHintNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DropHintNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DropHintNotify.ProtoReflect.Descriptor instead.
+func (*DropHintNotify) Descriptor() ([]byte, []int) {
+ return file_DropHintNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DropHintNotify) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+func (x *DropHintNotify) GetItemIdList() []uint32 {
+ if x != nil {
+ return x.ItemIdList
+ }
+ return nil
+}
+
+var File_DropHintNotify_proto protoreflect.FileDescriptor
+
+var file_DropHintNotify_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x44, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x0e, 0x44,
+ 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a,
+ 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a,
+ 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DropHintNotify_proto_rawDescOnce sync.Once
+ file_DropHintNotify_proto_rawDescData = file_DropHintNotify_proto_rawDesc
+)
+
+func file_DropHintNotify_proto_rawDescGZIP() []byte {
+ file_DropHintNotify_proto_rawDescOnce.Do(func() {
+ file_DropHintNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DropHintNotify_proto_rawDescData)
+ })
+ return file_DropHintNotify_proto_rawDescData
+}
+
+var file_DropHintNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DropHintNotify_proto_goTypes = []interface{}{
+ (*DropHintNotify)(nil), // 0: proto.DropHintNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_DropHintNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DropHintNotify.position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DropHintNotify_proto_init() }
+func file_DropHintNotify_proto_init() {
+ if File_DropHintNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DropHintNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DropHintNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DropHintNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DropHintNotify_proto_goTypes,
+ DependencyIndexes: file_DropHintNotify_proto_depIdxs,
+ MessageInfos: file_DropHintNotify_proto_msgTypes,
+ }.Build()
+ File_DropHintNotify_proto = out.File
+ file_DropHintNotify_proto_rawDesc = nil
+ file_DropHintNotify_proto_goTypes = nil
+ file_DropHintNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DropItemReq.pb.go b/protocol/proto/DropItemReq.pb.go
new file mode 100644
index 00000000..c98d78e2
--- /dev/null
+++ b/protocol/proto/DropItemReq.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DropItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 699
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DropItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,11,opt,name=pos,proto3" json:"pos,omitempty"`
+ StoreType StoreType `protobuf:"varint,1,opt,name=store_type,json=storeType,proto3,enum=proto.StoreType" json:"store_type,omitempty"`
+ Count uint32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+ Guid uint64 `protobuf:"varint,13,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *DropItemReq) Reset() {
+ *x = DropItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DropItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DropItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DropItemReq) ProtoMessage() {}
+
+func (x *DropItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DropItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DropItemReq.ProtoReflect.Descriptor instead.
+func (*DropItemReq) Descriptor() ([]byte, []int) {
+ return file_DropItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DropItemReq) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *DropItemReq) GetStoreType() StoreType {
+ if x != nil {
+ return x.StoreType
+ }
+ return StoreType_STORE_TYPE_NONE
+}
+
+func (x *DropItemReq) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *DropItemReq) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_DropItemReq_proto protoreflect.FileDescriptor
+
+var file_DropItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x53, 0x74, 0x6f, 0x72,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x0b, 0x44, 0x72,
+ 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x2f, 0x0a, 0x0a, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x04, 0x67, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DropItemReq_proto_rawDescOnce sync.Once
+ file_DropItemReq_proto_rawDescData = file_DropItemReq_proto_rawDesc
+)
+
+func file_DropItemReq_proto_rawDescGZIP() []byte {
+ file_DropItemReq_proto_rawDescOnce.Do(func() {
+ file_DropItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DropItemReq_proto_rawDescData)
+ })
+ return file_DropItemReq_proto_rawDescData
+}
+
+var file_DropItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DropItemReq_proto_goTypes = []interface{}{
+ (*DropItemReq)(nil), // 0: proto.DropItemReq
+ (*Vector)(nil), // 1: proto.Vector
+ (StoreType)(0), // 2: proto.StoreType
+}
+var file_DropItemReq_proto_depIdxs = []int32{
+ 1, // 0: proto.DropItemReq.pos:type_name -> proto.Vector
+ 2, // 1: proto.DropItemReq.store_type:type_name -> proto.StoreType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_DropItemReq_proto_init() }
+func file_DropItemReq_proto_init() {
+ if File_DropItemReq_proto != nil {
+ return
+ }
+ file_StoreType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DropItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DropItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DropItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DropItemReq_proto_goTypes,
+ DependencyIndexes: file_DropItemReq_proto_depIdxs,
+ MessageInfos: file_DropItemReq_proto_msgTypes,
+ }.Build()
+ File_DropItemReq_proto = out.File
+ file_DropItemReq_proto_rawDesc = nil
+ file_DropItemReq_proto_goTypes = nil
+ file_DropItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DropItemRsp.pb.go b/protocol/proto/DropItemRsp.pb.go
new file mode 100644
index 00000000..e412e96f
--- /dev/null
+++ b/protocol/proto/DropItemRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DropItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 631
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DropItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Guid uint64 `protobuf:"varint,1,opt,name=guid,proto3" json:"guid,omitempty"`
+ StoreType StoreType `protobuf:"varint,15,opt,name=store_type,json=storeType,proto3,enum=proto.StoreType" json:"store_type,omitempty"`
+}
+
+func (x *DropItemRsp) Reset() {
+ *x = DropItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DropItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DropItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DropItemRsp) ProtoMessage() {}
+
+func (x *DropItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DropItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DropItemRsp.ProtoReflect.Descriptor instead.
+func (*DropItemRsp) Descriptor() ([]byte, []int) {
+ return file_DropItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DropItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DropItemRsp) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *DropItemRsp) GetStoreType() StoreType {
+ if x != nil {
+ return x.StoreType
+ }
+ return StoreType_STORE_TYPE_NONE
+}
+
+var File_DropItemRsp_proto protoreflect.FileDescriptor
+
+var file_DropItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x53, 0x74, 0x6f, 0x72,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x0b, 0x44,
+ 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72,
+ 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09,
+ 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DropItemRsp_proto_rawDescOnce sync.Once
+ file_DropItemRsp_proto_rawDescData = file_DropItemRsp_proto_rawDesc
+)
+
+func file_DropItemRsp_proto_rawDescGZIP() []byte {
+ file_DropItemRsp_proto_rawDescOnce.Do(func() {
+ file_DropItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DropItemRsp_proto_rawDescData)
+ })
+ return file_DropItemRsp_proto_rawDescData
+}
+
+var file_DropItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DropItemRsp_proto_goTypes = []interface{}{
+ (*DropItemRsp)(nil), // 0: proto.DropItemRsp
+ (StoreType)(0), // 1: proto.StoreType
+}
+var file_DropItemRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.DropItemRsp.store_type:type_name -> proto.StoreType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DropItemRsp_proto_init() }
+func file_DropItemRsp_proto_init() {
+ if File_DropItemRsp_proto != nil {
+ return
+ }
+ file_StoreType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DropItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DropItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DropItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DropItemRsp_proto_goTypes,
+ DependencyIndexes: file_DropItemRsp_proto_depIdxs,
+ MessageInfos: file_DropItemRsp_proto_msgTypes,
+ }.Build()
+ File_DropItemRsp_proto = out.File
+ file_DropItemRsp_proto_rawDesc = nil
+ file_DropItemRsp_proto_goTypes = nil
+ file_DropItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamAvatar.pb.go b/protocol/proto/DungeonCandidateTeamAvatar.pb.go
new file mode 100644
index 00000000..ed37d88e
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamAvatar.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamAvatar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonCandidateTeamAvatar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerUid uint32 `protobuf:"varint,2,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+ AvatarInfo *AvatarInfo `protobuf:"bytes,6,opt,name=avatar_info,json=avatarInfo,proto3" json:"avatar_info,omitempty"`
+}
+
+func (x *DungeonCandidateTeamAvatar) Reset() {
+ *x = DungeonCandidateTeamAvatar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamAvatar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamAvatar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamAvatar) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamAvatar) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamAvatar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamAvatar.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamAvatar) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamAvatar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamAvatar) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+func (x *DungeonCandidateTeamAvatar) GetAvatarInfo() *AvatarInfo {
+ if x != nil {
+ return x.AvatarInfo
+ }
+ return nil
+}
+
+var File_DungeonCandidateTeamAvatar_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamAvatar_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x1a, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54,
+ 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamAvatar_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamAvatar_proto_rawDescData = file_DungeonCandidateTeamAvatar_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamAvatar_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamAvatar_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamAvatar_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamAvatar_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamAvatar_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamAvatar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamAvatar_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamAvatar)(nil), // 0: proto.DungeonCandidateTeamAvatar
+ (*AvatarInfo)(nil), // 1: proto.AvatarInfo
+}
+var file_DungeonCandidateTeamAvatar_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonCandidateTeamAvatar.avatar_info:type_name -> proto.AvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamAvatar_proto_init() }
+func file_DungeonCandidateTeamAvatar_proto_init() {
+ if File_DungeonCandidateTeamAvatar_proto != nil {
+ return
+ }
+ file_AvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamAvatar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamAvatar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamAvatar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamAvatar_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamAvatar_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamAvatar_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamAvatar_proto = out.File
+ file_DungeonCandidateTeamAvatar_proto_rawDesc = nil
+ file_DungeonCandidateTeamAvatar_proto_goTypes = nil
+ file_DungeonCandidateTeamAvatar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamChangeAvatarReq.pb.go b/protocol/proto/DungeonCandidateTeamChangeAvatarReq.pb.go
new file mode 100644
index 00000000..b3953a81
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamChangeAvatarReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamChangeAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 956
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonCandidateTeamChangeAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuidList []uint64 `protobuf:"varint,5,rep,packed,name=avatar_guid_list,json=avatarGuidList,proto3" json:"avatar_guid_list,omitempty"`
+}
+
+func (x *DungeonCandidateTeamChangeAvatarReq) Reset() {
+ *x = DungeonCandidateTeamChangeAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamChangeAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamChangeAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamChangeAvatarReq) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamChangeAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamChangeAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamChangeAvatarReq.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamChangeAvatarReq) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamChangeAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamChangeAvatarReq) GetAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarGuidList
+ }
+ return nil
+}
+
+var File_DungeonCandidateTeamChangeAvatarReq_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamChangeAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x23, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e,
+ 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x04, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamChangeAvatarReq_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamChangeAvatarReq_proto_rawDescData = file_DungeonCandidateTeamChangeAvatarReq_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamChangeAvatarReq_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamChangeAvatarReq_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamChangeAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamChangeAvatarReq_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamChangeAvatarReq_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamChangeAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamChangeAvatarReq_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamChangeAvatarReq)(nil), // 0: proto.DungeonCandidateTeamChangeAvatarReq
+}
+var file_DungeonCandidateTeamChangeAvatarReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamChangeAvatarReq_proto_init() }
+func file_DungeonCandidateTeamChangeAvatarReq_proto_init() {
+ if File_DungeonCandidateTeamChangeAvatarReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamChangeAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamChangeAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamChangeAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamChangeAvatarReq_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamChangeAvatarReq_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamChangeAvatarReq_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamChangeAvatarReq_proto = out.File
+ file_DungeonCandidateTeamChangeAvatarReq_proto_rawDesc = nil
+ file_DungeonCandidateTeamChangeAvatarReq_proto_goTypes = nil
+ file_DungeonCandidateTeamChangeAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamChangeAvatarRsp.pb.go b/protocol/proto/DungeonCandidateTeamChangeAvatarRsp.pb.go
new file mode 100644
index 00000000..449afdc1
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamChangeAvatarRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamChangeAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 942
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamChangeAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonCandidateTeamChangeAvatarRsp) Reset() {
+ *x = DungeonCandidateTeamChangeAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamChangeAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamChangeAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamChangeAvatarRsp) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamChangeAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamChangeAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamChangeAvatarRsp.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamChangeAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamChangeAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamChangeAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x23, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e,
+ 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDescData = file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamChangeAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamChangeAvatarRsp_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamChangeAvatarRsp)(nil), // 0: proto.DungeonCandidateTeamChangeAvatarRsp
+}
+var file_DungeonCandidateTeamChangeAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamChangeAvatarRsp_proto_init() }
+func file_DungeonCandidateTeamChangeAvatarRsp_proto_init() {
+ if File_DungeonCandidateTeamChangeAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamChangeAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamChangeAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamChangeAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamChangeAvatarRsp_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamChangeAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamChangeAvatarRsp_proto = out.File
+ file_DungeonCandidateTeamChangeAvatarRsp_proto_rawDesc = nil
+ file_DungeonCandidateTeamChangeAvatarRsp_proto_goTypes = nil
+ file_DungeonCandidateTeamChangeAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamCreateReq.pb.go b/protocol/proto/DungeonCandidateTeamCreateReq.pb.go
new file mode 100644
index 00000000..2e979606
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamCreateReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamCreateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 995
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonCandidateTeamCreateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,7,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ DungeonId uint32 `protobuf:"varint,6,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *DungeonCandidateTeamCreateReq) Reset() {
+ *x = DungeonCandidateTeamCreateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamCreateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamCreateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamCreateReq) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamCreateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamCreateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamCreateReq.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamCreateReq) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamCreateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamCreateReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *DungeonCandidateTeamCreateReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamCreateReq_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamCreateReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x54, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a,
+ 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamCreateReq_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamCreateReq_proto_rawDescData = file_DungeonCandidateTeamCreateReq_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamCreateReq_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamCreateReq_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamCreateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamCreateReq_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamCreateReq_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamCreateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamCreateReq_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamCreateReq)(nil), // 0: proto.DungeonCandidateTeamCreateReq
+}
+var file_DungeonCandidateTeamCreateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamCreateReq_proto_init() }
+func file_DungeonCandidateTeamCreateReq_proto_init() {
+ if File_DungeonCandidateTeamCreateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamCreateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamCreateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamCreateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamCreateReq_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamCreateReq_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamCreateReq_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamCreateReq_proto = out.File
+ file_DungeonCandidateTeamCreateReq_proto_rawDesc = nil
+ file_DungeonCandidateTeamCreateReq_proto_goTypes = nil
+ file_DungeonCandidateTeamCreateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamCreateRsp.pb.go b/protocol/proto/DungeonCandidateTeamCreateRsp.pb.go
new file mode 100644
index 00000000..d5568706
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamCreateRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamCreateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 906
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamCreateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonCandidateTeamCreateRsp) Reset() {
+ *x = DungeonCandidateTeamCreateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamCreateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamCreateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamCreateRsp) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamCreateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamCreateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamCreateRsp.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamCreateRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamCreateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamCreateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamCreateRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamCreateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x54, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamCreateRsp_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamCreateRsp_proto_rawDescData = file_DungeonCandidateTeamCreateRsp_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamCreateRsp_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamCreateRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamCreateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamCreateRsp_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamCreateRsp_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamCreateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamCreateRsp_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamCreateRsp)(nil), // 0: proto.DungeonCandidateTeamCreateRsp
+}
+var file_DungeonCandidateTeamCreateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamCreateRsp_proto_init() }
+func file_DungeonCandidateTeamCreateRsp_proto_init() {
+ if File_DungeonCandidateTeamCreateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamCreateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamCreateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamCreateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamCreateRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamCreateRsp_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamCreateRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamCreateRsp_proto = out.File
+ file_DungeonCandidateTeamCreateRsp_proto_rawDesc = nil
+ file_DungeonCandidateTeamCreateRsp_proto_goTypes = nil
+ file_DungeonCandidateTeamCreateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamDismissNotify.pb.go b/protocol/proto/DungeonCandidateTeamDismissNotify.pb.go
new file mode 100644
index 00000000..7556e054
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamDismissNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamDismissNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 963
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamDismissNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason DungeonCandidateTeamDismissReason `protobuf:"varint,9,opt,name=reason,proto3,enum=proto.DungeonCandidateTeamDismissReason" json:"reason,omitempty"`
+ PlayerUid uint32 `protobuf:"varint,12,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+}
+
+func (x *DungeonCandidateTeamDismissNotify) Reset() {
+ *x = DungeonCandidateTeamDismissNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamDismissNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamDismissNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamDismissNotify) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamDismissNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamDismissNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamDismissNotify.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamDismissNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamDismissNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamDismissNotify) GetReason() DungeonCandidateTeamDismissReason {
+ if x != nil {
+ return x.Reason
+ }
+ return DungeonCandidateTeamDismissReason_DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_NORMAL
+}
+
+func (x *DungeonCandidateTeamDismissNotify) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamDismissNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamDismissNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x27, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x21, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65,
+ 0x61, 0x6d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x40, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43,
+ 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x6d,
+ 0x69, 0x73, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamDismissNotify_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamDismissNotify_proto_rawDescData = file_DungeonCandidateTeamDismissNotify_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamDismissNotify_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamDismissNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamDismissNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamDismissNotify_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamDismissNotify_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamDismissNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamDismissNotify_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamDismissNotify)(nil), // 0: proto.DungeonCandidateTeamDismissNotify
+ (DungeonCandidateTeamDismissReason)(0), // 1: proto.DungeonCandidateTeamDismissReason
+}
+var file_DungeonCandidateTeamDismissNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonCandidateTeamDismissNotify.reason:type_name -> proto.DungeonCandidateTeamDismissReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamDismissNotify_proto_init() }
+func file_DungeonCandidateTeamDismissNotify_proto_init() {
+ if File_DungeonCandidateTeamDismissNotify_proto != nil {
+ return
+ }
+ file_DungeonCandidateTeamDismissReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamDismissNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamDismissNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamDismissNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamDismissNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamDismissNotify_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamDismissNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamDismissNotify_proto = out.File
+ file_DungeonCandidateTeamDismissNotify_proto_rawDesc = nil
+ file_DungeonCandidateTeamDismissNotify_proto_goTypes = nil
+ file_DungeonCandidateTeamDismissNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamDismissReason.pb.go b/protocol/proto/DungeonCandidateTeamDismissReason.pb.go
new file mode 100644
index 00000000..d3798f19
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamDismissReason.pb.go
@@ -0,0 +1,157 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamDismissReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonCandidateTeamDismissReason int32
+
+const (
+ DungeonCandidateTeamDismissReason_DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_NORMAL DungeonCandidateTeamDismissReason = 0
+ DungeonCandidateTeamDismissReason_DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DIE DungeonCandidateTeamDismissReason = 1
+ DungeonCandidateTeamDismissReason_DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DISCONNECT DungeonCandidateTeamDismissReason = 2
+)
+
+// Enum value maps for DungeonCandidateTeamDismissReason.
+var (
+ DungeonCandidateTeamDismissReason_name = map[int32]string{
+ 0: "DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_NORMAL",
+ 1: "DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DIE",
+ 2: "DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DISCONNECT",
+ }
+ DungeonCandidateTeamDismissReason_value = map[string]int32{
+ "DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_NORMAL": 0,
+ "DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DIE": 1,
+ "DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DISCONNECT": 2,
+ }
+)
+
+func (x DungeonCandidateTeamDismissReason) Enum() *DungeonCandidateTeamDismissReason {
+ p := new(DungeonCandidateTeamDismissReason)
+ *p = x
+ return p
+}
+
+func (x DungeonCandidateTeamDismissReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DungeonCandidateTeamDismissReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_DungeonCandidateTeamDismissReason_proto_enumTypes[0].Descriptor()
+}
+
+func (DungeonCandidateTeamDismissReason) Type() protoreflect.EnumType {
+ return &file_DungeonCandidateTeamDismissReason_proto_enumTypes[0]
+}
+
+func (x DungeonCandidateTeamDismissReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamDismissReason.Descriptor instead.
+func (DungeonCandidateTeamDismissReason) EnumDescriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamDismissReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DungeonCandidateTeamDismissReason_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamDismissReason_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2a, 0xc9, 0x01, 0x0a, 0x21, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x31, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d,
+ 0x5f, 0x44, 0x49, 0x53, 0x4d, 0x49, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x54, 0x50, 0x44, 0x52, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x32, 0x0a,
+ 0x2e, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41,
+ 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x44, 0x49, 0x53, 0x4d, 0x49, 0x53, 0x53, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x44, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x10,
+ 0x01, 0x12, 0x39, 0x0a, 0x35, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e,
+ 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x44, 0x49, 0x53, 0x4d,
+ 0x49, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x44, 0x52, 0x5f,
+ 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamDismissReason_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamDismissReason_proto_rawDescData = file_DungeonCandidateTeamDismissReason_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamDismissReason_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamDismissReason_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamDismissReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamDismissReason_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamDismissReason_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamDismissReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_DungeonCandidateTeamDismissReason_proto_goTypes = []interface{}{
+ (DungeonCandidateTeamDismissReason)(0), // 0: proto.DungeonCandidateTeamDismissReason
+}
+var file_DungeonCandidateTeamDismissReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamDismissReason_proto_init() }
+func file_DungeonCandidateTeamDismissReason_proto_init() {
+ if File_DungeonCandidateTeamDismissReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamDismissReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamDismissReason_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamDismissReason_proto_depIdxs,
+ EnumInfos: file_DungeonCandidateTeamDismissReason_proto_enumTypes,
+ }.Build()
+ File_DungeonCandidateTeamDismissReason_proto = out.File
+ file_DungeonCandidateTeamDismissReason_proto_rawDesc = nil
+ file_DungeonCandidateTeamDismissReason_proto_goTypes = nil
+ file_DungeonCandidateTeamDismissReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamInfoNotify.pb.go b/protocol/proto/DungeonCandidateTeamInfoNotify.pb.go
new file mode 100644
index 00000000..380c9bfb
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamInfoNotify.pb.go
@@ -0,0 +1,230 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 927
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerStateMap map[uint32]DungeonCandidateTeamPlayerState `protobuf:"bytes,10,rep,name=player_state_map,json=playerStateMap,proto3" json:"player_state_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=proto.DungeonCandidateTeamPlayerState"`
+ DungeonId uint32 `protobuf:"varint,9,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ ReadyPlayerUid []uint32 `protobuf:"varint,13,rep,packed,name=ready_player_uid,json=readyPlayerUid,proto3" json:"ready_player_uid,omitempty"`
+ MatchType uint32 `protobuf:"varint,2,opt,name=match_type,json=matchType,proto3" json:"match_type,omitempty"`
+ AvatarList []*DungeonCandidateTeamAvatar `protobuf:"bytes,4,rep,name=avatar_list,json=avatarList,proto3" json:"avatar_list,omitempty"`
+}
+
+func (x *DungeonCandidateTeamInfoNotify) Reset() {
+ *x = DungeonCandidateTeamInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamInfoNotify) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamInfoNotify.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamInfoNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamInfoNotify) GetPlayerStateMap() map[uint32]DungeonCandidateTeamPlayerState {
+ if x != nil {
+ return x.PlayerStateMap
+ }
+ return nil
+}
+
+func (x *DungeonCandidateTeamInfoNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *DungeonCandidateTeamInfoNotify) GetReadyPlayerUid() []uint32 {
+ if x != nil {
+ return x.ReadyPlayerUid
+ }
+ return nil
+}
+
+func (x *DungeonCandidateTeamInfoNotify) GetMatchType() uint32 {
+ if x != nil {
+ return x.MatchType
+ }
+ return 0
+}
+
+func (x *DungeonCandidateTeamInfoNotify) GetAvatarList() []*DungeonCandidateTeamAvatar {
+ if x != nil {
+ return x.AvatarList
+ }
+ return nil
+}
+
+var File_DungeonCandidateTeamInfoNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54,
+ 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x25, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74,
+ 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x03, 0x0a, 0x1e, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x63, 0x0a, 0x10, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a,
+ 0x10, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x79, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x0a,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x69, 0x0a, 0x13, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamInfoNotify_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamInfoNotify_proto_rawDescData = file_DungeonCandidateTeamInfoNotify_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamInfoNotify_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamInfoNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamInfoNotify_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamInfoNotify_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_DungeonCandidateTeamInfoNotify_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamInfoNotify)(nil), // 0: proto.DungeonCandidateTeamInfoNotify
+ nil, // 1: proto.DungeonCandidateTeamInfoNotify.PlayerStateMapEntry
+ (*DungeonCandidateTeamAvatar)(nil), // 2: proto.DungeonCandidateTeamAvatar
+ (DungeonCandidateTeamPlayerState)(0), // 3: proto.DungeonCandidateTeamPlayerState
+}
+var file_DungeonCandidateTeamInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonCandidateTeamInfoNotify.player_state_map:type_name -> proto.DungeonCandidateTeamInfoNotify.PlayerStateMapEntry
+ 2, // 1: proto.DungeonCandidateTeamInfoNotify.avatar_list:type_name -> proto.DungeonCandidateTeamAvatar
+ 3, // 2: proto.DungeonCandidateTeamInfoNotify.PlayerStateMapEntry.value:type_name -> proto.DungeonCandidateTeamPlayerState
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamInfoNotify_proto_init() }
+func file_DungeonCandidateTeamInfoNotify_proto_init() {
+ if File_DungeonCandidateTeamInfoNotify_proto != nil {
+ return
+ }
+ file_DungeonCandidateTeamAvatar_proto_init()
+ file_DungeonCandidateTeamPlayerState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamInfoNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamInfoNotify_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamInfoNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamInfoNotify_proto = out.File
+ file_DungeonCandidateTeamInfoNotify_proto_rawDesc = nil
+ file_DungeonCandidateTeamInfoNotify_proto_goTypes = nil
+ file_DungeonCandidateTeamInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamInviteNotify.pb.go b/protocol/proto/DungeonCandidateTeamInviteNotify.pb.go
new file mode 100644
index 00000000..06e4aa7b
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamInviteNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamInviteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 994
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamInviteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerUid uint32 `protobuf:"varint,5,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+ VaildDeadlineTimeSec uint32 `protobuf:"varint,9,opt,name=vaild_deadline_time_sec,json=vaildDeadlineTimeSec,proto3" json:"vaild_deadline_time_sec,omitempty"`
+ DungeonId uint32 `protobuf:"varint,6,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *DungeonCandidateTeamInviteNotify) Reset() {
+ *x = DungeonCandidateTeamInviteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamInviteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamInviteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamInviteNotify) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamInviteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamInviteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamInviteNotify.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamInviteNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamInviteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamInviteNotify) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+func (x *DungeonCandidateTeamInviteNotify) GetVaildDeadlineTimeSec() uint32 {
+ if x != nil {
+ return x.VaildDeadlineTimeSec
+ }
+ return 0
+}
+
+func (x *DungeonCandidateTeamInviteNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamInviteNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamInviteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x97, 0x01, 0x0a, 0x20, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x55, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x76, 0x61, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x61,
+ 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x76, 0x61, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x61, 0x64, 0x6c,
+ 0x69, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamInviteNotify_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamInviteNotify_proto_rawDescData = file_DungeonCandidateTeamInviteNotify_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamInviteNotify_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamInviteNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamInviteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamInviteNotify_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamInviteNotify_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamInviteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamInviteNotify_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamInviteNotify)(nil), // 0: proto.DungeonCandidateTeamInviteNotify
+}
+var file_DungeonCandidateTeamInviteNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamInviteNotify_proto_init() }
+func file_DungeonCandidateTeamInviteNotify_proto_init() {
+ if File_DungeonCandidateTeamInviteNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamInviteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamInviteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamInviteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamInviteNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamInviteNotify_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamInviteNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamInviteNotify_proto = out.File
+ file_DungeonCandidateTeamInviteNotify_proto_rawDesc = nil
+ file_DungeonCandidateTeamInviteNotify_proto_goTypes = nil
+ file_DungeonCandidateTeamInviteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamInviteReq.pb.go b/protocol/proto/DungeonCandidateTeamInviteReq.pb.go
new file mode 100644
index 00000000..6ba36b5e
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamInviteReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 934
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonCandidateTeamInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerUids []uint32 `protobuf:"varint,5,rep,packed,name=player_uids,json=playerUids,proto3" json:"player_uids,omitempty"`
+}
+
+func (x *DungeonCandidateTeamInviteReq) Reset() {
+ *x = DungeonCandidateTeamInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamInviteReq) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamInviteReq.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamInviteReq) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamInviteReq) GetPlayerUids() []uint32 {
+ if x != nil {
+ return x.PlayerUids
+ }
+ return nil
+}
+
+var File_DungeonCandidateTeamInviteReq_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x1d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x73, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamInviteReq_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamInviteReq_proto_rawDescData = file_DungeonCandidateTeamInviteReq_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamInviteReq_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamInviteReq_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamInviteReq_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamInviteReq_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamInviteReq_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamInviteReq)(nil), // 0: proto.DungeonCandidateTeamInviteReq
+}
+var file_DungeonCandidateTeamInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamInviteReq_proto_init() }
+func file_DungeonCandidateTeamInviteReq_proto_init() {
+ if File_DungeonCandidateTeamInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamInviteReq_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamInviteReq_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamInviteReq_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamInviteReq_proto = out.File
+ file_DungeonCandidateTeamInviteReq_proto_rawDesc = nil
+ file_DungeonCandidateTeamInviteReq_proto_goTypes = nil
+ file_DungeonCandidateTeamInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamInviteRsp.pb.go b/protocol/proto/DungeonCandidateTeamInviteRsp.pb.go
new file mode 100644
index 00000000..aefe8838
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamInviteRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 950
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ InvalidPlayerUids []uint32 `protobuf:"varint,7,rep,packed,name=invalid_player_uids,json=invalidPlayerUids,proto3" json:"invalid_player_uids,omitempty"`
+}
+
+func (x *DungeonCandidateTeamInviteRsp) Reset() {
+ *x = DungeonCandidateTeamInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamInviteRsp) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamInviteRsp.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamInviteRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DungeonCandidateTeamInviteRsp) GetInvalidPlayerUids() []uint32 {
+ if x != nil {
+ return x.InvalidPlayerUids
+ }
+ return nil
+}
+
+var File_DungeonCandidateTeamInviteRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x1d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65,
+ 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x61, 0x6c,
+ 0x69, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x73, 0x18, 0x07,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamInviteRsp_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamInviteRsp_proto_rawDescData = file_DungeonCandidateTeamInviteRsp_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamInviteRsp_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamInviteRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamInviteRsp_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamInviteRsp_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamInviteRsp_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamInviteRsp)(nil), // 0: proto.DungeonCandidateTeamInviteRsp
+}
+var file_DungeonCandidateTeamInviteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamInviteRsp_proto_init() }
+func file_DungeonCandidateTeamInviteRsp_proto_init() {
+ if File_DungeonCandidateTeamInviteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamInviteRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamInviteRsp_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamInviteRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamInviteRsp_proto = out.File
+ file_DungeonCandidateTeamInviteRsp_proto_rawDesc = nil
+ file_DungeonCandidateTeamInviteRsp_proto_goTypes = nil
+ file_DungeonCandidateTeamInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamKickReq.pb.go b/protocol/proto/DungeonCandidateTeamKickReq.pb.go
new file mode 100644
index 00000000..5e6e309c
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamKickReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamKickReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 943
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonCandidateTeamKickReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerUid uint32 `protobuf:"varint,9,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+}
+
+func (x *DungeonCandidateTeamKickReq) Reset() {
+ *x = DungeonCandidateTeamKickReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamKickReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamKickReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamKickReq) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamKickReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamKickReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamKickReq.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamKickReq) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamKickReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamKickReq) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamKickReq_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamKickReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4b, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x1b, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65,
+ 0x61, 0x6d, 0x4b, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamKickReq_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamKickReq_proto_rawDescData = file_DungeonCandidateTeamKickReq_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamKickReq_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamKickReq_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamKickReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamKickReq_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamKickReq_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamKickReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamKickReq_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamKickReq)(nil), // 0: proto.DungeonCandidateTeamKickReq
+}
+var file_DungeonCandidateTeamKickReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamKickReq_proto_init() }
+func file_DungeonCandidateTeamKickReq_proto_init() {
+ if File_DungeonCandidateTeamKickReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamKickReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamKickReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamKickReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamKickReq_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamKickReq_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamKickReq_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamKickReq_proto = out.File
+ file_DungeonCandidateTeamKickReq_proto_rawDesc = nil
+ file_DungeonCandidateTeamKickReq_proto_goTypes = nil
+ file_DungeonCandidateTeamKickReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamKickRsp.pb.go b/protocol/proto/DungeonCandidateTeamKickRsp.pb.go
new file mode 100644
index 00000000..8deeaaa2
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamKickRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamKickRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 974
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamKickRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonCandidateTeamKickRsp) Reset() {
+ *x = DungeonCandidateTeamKickRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamKickRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamKickRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamKickRsp) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamKickRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamKickRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamKickRsp.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamKickRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamKickRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamKickRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamKickRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamKickRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4b, 0x69, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x1b, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65,
+ 0x61, 0x6d, 0x4b, 0x69, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamKickRsp_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamKickRsp_proto_rawDescData = file_DungeonCandidateTeamKickRsp_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamKickRsp_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamKickRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamKickRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamKickRsp_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamKickRsp_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamKickRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamKickRsp_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamKickRsp)(nil), // 0: proto.DungeonCandidateTeamKickRsp
+}
+var file_DungeonCandidateTeamKickRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamKickRsp_proto_init() }
+func file_DungeonCandidateTeamKickRsp_proto_init() {
+ if File_DungeonCandidateTeamKickRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamKickRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamKickRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamKickRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamKickRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamKickRsp_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamKickRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamKickRsp_proto = out.File
+ file_DungeonCandidateTeamKickRsp_proto_rawDesc = nil
+ file_DungeonCandidateTeamKickRsp_proto_goTypes = nil
+ file_DungeonCandidateTeamKickRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamLeaveReq.pb.go b/protocol/proto/DungeonCandidateTeamLeaveReq.pb.go
new file mode 100644
index 00000000..a15a6590
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamLeaveReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamLeaveReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 976
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonCandidateTeamLeaveReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DungeonCandidateTeamLeaveReq) Reset() {
+ *x = DungeonCandidateTeamLeaveReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamLeaveReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamLeaveReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamLeaveReq) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamLeaveReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamLeaveReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamLeaveReq.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamLeaveReq) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamLeaveReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DungeonCandidateTeamLeaveReq_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamLeaveReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54,
+ 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamLeaveReq_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamLeaveReq_proto_rawDescData = file_DungeonCandidateTeamLeaveReq_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamLeaveReq_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamLeaveReq_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamLeaveReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamLeaveReq_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamLeaveReq_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamLeaveReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamLeaveReq_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamLeaveReq)(nil), // 0: proto.DungeonCandidateTeamLeaveReq
+}
+var file_DungeonCandidateTeamLeaveReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamLeaveReq_proto_init() }
+func file_DungeonCandidateTeamLeaveReq_proto_init() {
+ if File_DungeonCandidateTeamLeaveReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamLeaveReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamLeaveReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamLeaveReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamLeaveReq_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamLeaveReq_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamLeaveReq_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamLeaveReq_proto = out.File
+ file_DungeonCandidateTeamLeaveReq_proto_rawDesc = nil
+ file_DungeonCandidateTeamLeaveReq_proto_goTypes = nil
+ file_DungeonCandidateTeamLeaveReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamLeaveRsp.pb.go b/protocol/proto/DungeonCandidateTeamLeaveRsp.pb.go
new file mode 100644
index 00000000..0fe11155
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamLeaveRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamLeaveRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 946
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamLeaveRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonCandidateTeamLeaveRsp) Reset() {
+ *x = DungeonCandidateTeamLeaveRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamLeaveRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamLeaveRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamLeaveRsp) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamLeaveRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamLeaveRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamLeaveRsp.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamLeaveRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamLeaveRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamLeaveRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamLeaveRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamLeaveRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1c, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54,
+ 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamLeaveRsp_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamLeaveRsp_proto_rawDescData = file_DungeonCandidateTeamLeaveRsp_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamLeaveRsp_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamLeaveRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamLeaveRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamLeaveRsp_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamLeaveRsp_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamLeaveRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamLeaveRsp_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamLeaveRsp)(nil), // 0: proto.DungeonCandidateTeamLeaveRsp
+}
+var file_DungeonCandidateTeamLeaveRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamLeaveRsp_proto_init() }
+func file_DungeonCandidateTeamLeaveRsp_proto_init() {
+ if File_DungeonCandidateTeamLeaveRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamLeaveRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamLeaveRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamLeaveRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamLeaveRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamLeaveRsp_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamLeaveRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamLeaveRsp_proto = out.File
+ file_DungeonCandidateTeamLeaveRsp_proto_rawDesc = nil
+ file_DungeonCandidateTeamLeaveRsp_proto_goTypes = nil
+ file_DungeonCandidateTeamLeaveRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamPlayerLeaveNotify.pb.go b/protocol/proto/DungeonCandidateTeamPlayerLeaveNotify.pb.go
new file mode 100644
index 00000000..ded1e961
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamPlayerLeaveNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamPlayerLeaveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 926
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamPlayerLeaveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason DungeonCandidateTeamPlayerLeaveReason `protobuf:"varint,3,opt,name=reason,proto3,enum=proto.DungeonCandidateTeamPlayerLeaveReason" json:"reason,omitempty"`
+ PlayerUid uint32 `protobuf:"varint,13,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+}
+
+func (x *DungeonCandidateTeamPlayerLeaveNotify) Reset() {
+ *x = DungeonCandidateTeamPlayerLeaveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamPlayerLeaveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamPlayerLeaveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamPlayerLeaveNotify) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamPlayerLeaveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamPlayerLeaveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamPlayerLeaveNotify.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamPlayerLeaveNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamPlayerLeaveNotify) GetReason() DungeonCandidateTeamPlayerLeaveReason {
+ if x != nil {
+ return x.Reason
+ }
+ return DungeonCandidateTeamPlayerLeaveReason_DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_NORMAL
+}
+
+func (x *DungeonCandidateTeamPlayerLeaveNotify) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamPlayerLeaveNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e,
+ 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x25, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e,
+ 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x4c, 0x65, 0x61, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x44, 0x0a, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69,
+ 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65,
+ 0x61, 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDescData = file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamPlayerLeaveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamPlayerLeaveNotify_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamPlayerLeaveNotify)(nil), // 0: proto.DungeonCandidateTeamPlayerLeaveNotify
+ (DungeonCandidateTeamPlayerLeaveReason)(0), // 1: proto.DungeonCandidateTeamPlayerLeaveReason
+}
+var file_DungeonCandidateTeamPlayerLeaveNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonCandidateTeamPlayerLeaveNotify.reason:type_name -> proto.DungeonCandidateTeamPlayerLeaveReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamPlayerLeaveNotify_proto_init() }
+func file_DungeonCandidateTeamPlayerLeaveNotify_proto_init() {
+ if File_DungeonCandidateTeamPlayerLeaveNotify_proto != nil {
+ return
+ }
+ file_DungeonCandidateTeamPlayerLeaveReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamPlayerLeaveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamPlayerLeaveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamPlayerLeaveNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamPlayerLeaveNotify_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamPlayerLeaveNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamPlayerLeaveNotify_proto = out.File
+ file_DungeonCandidateTeamPlayerLeaveNotify_proto_rawDesc = nil
+ file_DungeonCandidateTeamPlayerLeaveNotify_proto_goTypes = nil
+ file_DungeonCandidateTeamPlayerLeaveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamPlayerLeaveReason.pb.go b/protocol/proto/DungeonCandidateTeamPlayerLeaveReason.pb.go
new file mode 100644
index 00000000..9554f1ed
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamPlayerLeaveReason.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamPlayerLeaveReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonCandidateTeamPlayerLeaveReason int32
+
+const (
+ DungeonCandidateTeamPlayerLeaveReason_DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_NORMAL DungeonCandidateTeamPlayerLeaveReason = 0
+ DungeonCandidateTeamPlayerLeaveReason_DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_DIE DungeonCandidateTeamPlayerLeaveReason = 1
+ DungeonCandidateTeamPlayerLeaveReason_DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_BE_KICK DungeonCandidateTeamPlayerLeaveReason = 2
+ DungeonCandidateTeamPlayerLeaveReason_DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_DISCONNECT DungeonCandidateTeamPlayerLeaveReason = 3
+)
+
+// Enum value maps for DungeonCandidateTeamPlayerLeaveReason.
+var (
+ DungeonCandidateTeamPlayerLeaveReason_name = map[int32]string{
+ 0: "DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_NORMAL",
+ 1: "DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_DIE",
+ 2: "DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_BE_KICK",
+ 3: "DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_DISCONNECT",
+ }
+ DungeonCandidateTeamPlayerLeaveReason_value = map[string]int32{
+ "DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_NORMAL": 0,
+ "DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_DIE": 1,
+ "DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_BE_KICK": 2,
+ "DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_DISCONNECT": 3,
+ }
+)
+
+func (x DungeonCandidateTeamPlayerLeaveReason) Enum() *DungeonCandidateTeamPlayerLeaveReason {
+ p := new(DungeonCandidateTeamPlayerLeaveReason)
+ *p = x
+ return p
+}
+
+func (x DungeonCandidateTeamPlayerLeaveReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DungeonCandidateTeamPlayerLeaveReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_DungeonCandidateTeamPlayerLeaveReason_proto_enumTypes[0].Descriptor()
+}
+
+func (DungeonCandidateTeamPlayerLeaveReason) Type() protoreflect.EnumType {
+ return &file_DungeonCandidateTeamPlayerLeaveReason_proto_enumTypes[0]
+}
+
+func (x DungeonCandidateTeamPlayerLeaveReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamPlayerLeaveReason.Descriptor instead.
+func (DungeonCandidateTeamPlayerLeaveReason) EnumDescriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DungeonCandidateTeamPlayerLeaveReason_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76,
+ 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x94, 0x02, 0x0a, 0x25, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3a,
+ 0x0a, 0x36, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44,
+ 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f,
+ 0x4c, 0x45, 0x41, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x4c,
+ 0x52, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x37, 0x0a, 0x33, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f,
+ 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x41, 0x56,
+ 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x50, 0x4c, 0x52, 0x5f, 0x44, 0x49,
+ 0x45, 0x10, 0x01, 0x12, 0x3b, 0x0a, 0x37, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43,
+ 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c,
+ 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x54, 0x50, 0x4c, 0x52, 0x5f, 0x42, 0x45, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x10, 0x02,
+ 0x12, 0x39, 0x0a, 0x35, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44,
+ 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45,
+ 0x52, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44,
+ 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDescData = file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamPlayerLeaveReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_DungeonCandidateTeamPlayerLeaveReason_proto_goTypes = []interface{}{
+ (DungeonCandidateTeamPlayerLeaveReason)(0), // 0: proto.DungeonCandidateTeamPlayerLeaveReason
+}
+var file_DungeonCandidateTeamPlayerLeaveReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamPlayerLeaveReason_proto_init() }
+func file_DungeonCandidateTeamPlayerLeaveReason_proto_init() {
+ if File_DungeonCandidateTeamPlayerLeaveReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamPlayerLeaveReason_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamPlayerLeaveReason_proto_depIdxs,
+ EnumInfos: file_DungeonCandidateTeamPlayerLeaveReason_proto_enumTypes,
+ }.Build()
+ File_DungeonCandidateTeamPlayerLeaveReason_proto = out.File
+ file_DungeonCandidateTeamPlayerLeaveReason_proto_rawDesc = nil
+ file_DungeonCandidateTeamPlayerLeaveReason_proto_goTypes = nil
+ file_DungeonCandidateTeamPlayerLeaveReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamPlayerState.pb.go b/protocol/proto/DungeonCandidateTeamPlayerState.pb.go
new file mode 100644
index 00000000..e30685e9
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamPlayerState.pb.go
@@ -0,0 +1,156 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamPlayerState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonCandidateTeamPlayerState int32
+
+const (
+ DungeonCandidateTeamPlayerState_DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_IDLE DungeonCandidateTeamPlayerState = 0
+ DungeonCandidateTeamPlayerState_DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_CHANGING_AVATAR DungeonCandidateTeamPlayerState = 1
+ DungeonCandidateTeamPlayerState_DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_READY DungeonCandidateTeamPlayerState = 2
+)
+
+// Enum value maps for DungeonCandidateTeamPlayerState.
+var (
+ DungeonCandidateTeamPlayerState_name = map[int32]string{
+ 0: "DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_IDLE",
+ 1: "DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_CHANGING_AVATAR",
+ 2: "DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_READY",
+ }
+ DungeonCandidateTeamPlayerState_value = map[string]int32{
+ "DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_IDLE": 0,
+ "DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_CHANGING_AVATAR": 1,
+ "DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_READY": 2,
+ }
+)
+
+func (x DungeonCandidateTeamPlayerState) Enum() *DungeonCandidateTeamPlayerState {
+ p := new(DungeonCandidateTeamPlayerState)
+ *p = x
+ return p
+}
+
+func (x DungeonCandidateTeamPlayerState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DungeonCandidateTeamPlayerState) Descriptor() protoreflect.EnumDescriptor {
+ return file_DungeonCandidateTeamPlayerState_proto_enumTypes[0].Descriptor()
+}
+
+func (DungeonCandidateTeamPlayerState) Type() protoreflect.EnumType {
+ return &file_DungeonCandidateTeamPlayerState_proto_enumTypes[0]
+}
+
+func (x DungeonCandidateTeamPlayerState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamPlayerState.Descriptor instead.
+func (DungeonCandidateTeamPlayerState) EnumDescriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamPlayerState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DungeonCandidateTeamPlayerState_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamPlayerState_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xb7,
+ 0x01, 0x0a, 0x1f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64,
+ 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41,
+ 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41,
+ 0x59, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x00,
+ 0x12, 0x37, 0x0a, 0x33, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44,
+ 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45,
+ 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x49, 0x4e, 0x47,
+ 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x44, 0x55, 0x4e,
+ 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54,
+ 0x45, 0x41, 0x4d, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
+ 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamPlayerState_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamPlayerState_proto_rawDescData = file_DungeonCandidateTeamPlayerState_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamPlayerState_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamPlayerState_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamPlayerState_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamPlayerState_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamPlayerState_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamPlayerState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_DungeonCandidateTeamPlayerState_proto_goTypes = []interface{}{
+ (DungeonCandidateTeamPlayerState)(0), // 0: proto.DungeonCandidateTeamPlayerState
+}
+var file_DungeonCandidateTeamPlayerState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamPlayerState_proto_init() }
+func file_DungeonCandidateTeamPlayerState_proto_init() {
+ if File_DungeonCandidateTeamPlayerState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamPlayerState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamPlayerState_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamPlayerState_proto_depIdxs,
+ EnumInfos: file_DungeonCandidateTeamPlayerState_proto_enumTypes,
+ }.Build()
+ File_DungeonCandidateTeamPlayerState_proto = out.File
+ file_DungeonCandidateTeamPlayerState_proto_rawDesc = nil
+ file_DungeonCandidateTeamPlayerState_proto_goTypes = nil
+ file_DungeonCandidateTeamPlayerState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamRefuseNotify.pb.go b/protocol/proto/DungeonCandidateTeamRefuseNotify.pb.go
new file mode 100644
index 00000000..6c5e2181
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamRefuseNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamRefuseNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 988
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamRefuseNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerUid uint32 `protobuf:"varint,3,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+}
+
+func (x *DungeonCandidateTeamRefuseNotify) Reset() {
+ *x = DungeonCandidateTeamRefuseNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamRefuseNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamRefuseNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamRefuseNotify) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamRefuseNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamRefuseNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamRefuseNotify.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamRefuseNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamRefuseNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamRefuseNotify) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamRefuseNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamRefuseNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x41, 0x0a, 0x20, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64,
+ 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55,
+ 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamRefuseNotify_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamRefuseNotify_proto_rawDescData = file_DungeonCandidateTeamRefuseNotify_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamRefuseNotify_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamRefuseNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamRefuseNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamRefuseNotify_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamRefuseNotify_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamRefuseNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamRefuseNotify_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamRefuseNotify)(nil), // 0: proto.DungeonCandidateTeamRefuseNotify
+}
+var file_DungeonCandidateTeamRefuseNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamRefuseNotify_proto_init() }
+func file_DungeonCandidateTeamRefuseNotify_proto_init() {
+ if File_DungeonCandidateTeamRefuseNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamRefuseNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamRefuseNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamRefuseNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamRefuseNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamRefuseNotify_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamRefuseNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamRefuseNotify_proto = out.File
+ file_DungeonCandidateTeamRefuseNotify_proto_rawDesc = nil
+ file_DungeonCandidateTeamRefuseNotify_proto_goTypes = nil
+ file_DungeonCandidateTeamRefuseNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamReplyInviteReq.pb.go b/protocol/proto/DungeonCandidateTeamReplyInviteReq.pb.go
new file mode 100644
index 00000000..1d631ae9
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamReplyInviteReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamReplyInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 941
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonCandidateTeamReplyInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAccept bool `protobuf:"varint,5,opt,name=is_accept,json=isAccept,proto3" json:"is_accept,omitempty"`
+}
+
+func (x *DungeonCandidateTeamReplyInviteReq) Reset() {
+ *x = DungeonCandidateTeamReplyInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamReplyInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamReplyInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamReplyInviteReq) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamReplyInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamReplyInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamReplyInviteReq.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamReplyInviteReq) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamReplyInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamReplyInviteReq) GetIsAccept() bool {
+ if x != nil {
+ return x.IsAccept
+ }
+ return false
+}
+
+var File_DungeonCandidateTeamReplyInviteReq_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamReplyInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x41, 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e,
+ 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamReplyInviteReq_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamReplyInviteReq_proto_rawDescData = file_DungeonCandidateTeamReplyInviteReq_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamReplyInviteReq_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamReplyInviteReq_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamReplyInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamReplyInviteReq_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamReplyInviteReq_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamReplyInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamReplyInviteReq_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamReplyInviteReq)(nil), // 0: proto.DungeonCandidateTeamReplyInviteReq
+}
+var file_DungeonCandidateTeamReplyInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamReplyInviteReq_proto_init() }
+func file_DungeonCandidateTeamReplyInviteReq_proto_init() {
+ if File_DungeonCandidateTeamReplyInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamReplyInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamReplyInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamReplyInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamReplyInviteReq_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamReplyInviteReq_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamReplyInviteReq_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamReplyInviteReq_proto = out.File
+ file_DungeonCandidateTeamReplyInviteReq_proto_rawDesc = nil
+ file_DungeonCandidateTeamReplyInviteReq_proto_goTypes = nil
+ file_DungeonCandidateTeamReplyInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamReplyInviteRsp.pb.go b/protocol/proto/DungeonCandidateTeamReplyInviteRsp.pb.go
new file mode 100644
index 00000000..bb56071f
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamReplyInviteRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamReplyInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 949
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamReplyInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsTransPoint bool `protobuf:"varint,4,opt,name=is_trans_point,json=isTransPoint,proto3" json:"is_trans_point,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonCandidateTeamReplyInviteRsp) Reset() {
+ *x = DungeonCandidateTeamReplyInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamReplyInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamReplyInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamReplyInviteRsp) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamReplyInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamReplyInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamReplyInviteRsp.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamReplyInviteRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamReplyInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamReplyInviteRsp) GetIsTransPoint() bool {
+ if x != nil {
+ return x.IsTransPoint
+ }
+ return false
+}
+
+func (x *DungeonCandidateTeamReplyInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamReplyInviteRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamReplyInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74,
+ 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x64, 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e,
+ 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamReplyInviteRsp_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamReplyInviteRsp_proto_rawDescData = file_DungeonCandidateTeamReplyInviteRsp_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamReplyInviteRsp_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamReplyInviteRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamReplyInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamReplyInviteRsp_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamReplyInviteRsp_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamReplyInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamReplyInviteRsp_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamReplyInviteRsp)(nil), // 0: proto.DungeonCandidateTeamReplyInviteRsp
+}
+var file_DungeonCandidateTeamReplyInviteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamReplyInviteRsp_proto_init() }
+func file_DungeonCandidateTeamReplyInviteRsp_proto_init() {
+ if File_DungeonCandidateTeamReplyInviteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamReplyInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamReplyInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamReplyInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamReplyInviteRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamReplyInviteRsp_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamReplyInviteRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamReplyInviteRsp_proto = out.File
+ file_DungeonCandidateTeamReplyInviteRsp_proto_rawDesc = nil
+ file_DungeonCandidateTeamReplyInviteRsp_proto_goTypes = nil
+ file_DungeonCandidateTeamReplyInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamSetChangingAvatarReq.pb.go b/protocol/proto/DungeonCandidateTeamSetChangingAvatarReq.pb.go
new file mode 100644
index 00000000..7ad8e694
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamSetChangingAvatarReq.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamSetChangingAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 918
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonCandidateTeamSetChangingAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsChangingAvatar bool `protobuf:"varint,12,opt,name=is_changing_avatar,json=isChangingAvatar,proto3" json:"is_changing_avatar,omitempty"`
+}
+
+func (x *DungeonCandidateTeamSetChangingAvatarReq) Reset() {
+ *x = DungeonCandidateTeamSetChangingAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamSetChangingAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamSetChangingAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamSetChangingAvatarReq) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamSetChangingAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamSetChangingAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamSetChangingAvatarReq.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamSetChangingAvatarReq) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamSetChangingAvatarReq) GetIsChangingAvatar() bool {
+ if x != nil {
+ return x.IsChangingAvatar
+ }
+ return false
+}
+
+var File_DungeonCandidateTeamSetChangingAvatarReq_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e,
+ 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x28, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53,
+ 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x69,
+ 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x10, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDescData = file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamSetChangingAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamSetChangingAvatarReq_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamSetChangingAvatarReq)(nil), // 0: proto.DungeonCandidateTeamSetChangingAvatarReq
+}
+var file_DungeonCandidateTeamSetChangingAvatarReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamSetChangingAvatarReq_proto_init() }
+func file_DungeonCandidateTeamSetChangingAvatarReq_proto_init() {
+ if File_DungeonCandidateTeamSetChangingAvatarReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamSetChangingAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamSetChangingAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamSetChangingAvatarReq_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamSetChangingAvatarReq_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamSetChangingAvatarReq_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamSetChangingAvatarReq_proto = out.File
+ file_DungeonCandidateTeamSetChangingAvatarReq_proto_rawDesc = nil
+ file_DungeonCandidateTeamSetChangingAvatarReq_proto_goTypes = nil
+ file_DungeonCandidateTeamSetChangingAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamSetChangingAvatarRsp.pb.go b/protocol/proto/DungeonCandidateTeamSetChangingAvatarRsp.pb.go
new file mode 100644
index 00000000..7dce4c16
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamSetChangingAvatarRsp.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamSetChangingAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 966
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamSetChangingAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonCandidateTeamSetChangingAvatarRsp) Reset() {
+ *x = DungeonCandidateTeamSetChangingAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamSetChangingAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamSetChangingAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamSetChangingAvatarRsp) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamSetChangingAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamSetChangingAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamSetChangingAvatarRsp.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamSetChangingAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamSetChangingAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamSetChangingAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e,
+ 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x28, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53,
+ 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDescData = file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamSetChangingAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamSetChangingAvatarRsp_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamSetChangingAvatarRsp)(nil), // 0: proto.DungeonCandidateTeamSetChangingAvatarRsp
+}
+var file_DungeonCandidateTeamSetChangingAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamSetChangingAvatarRsp_proto_init() }
+func file_DungeonCandidateTeamSetChangingAvatarRsp_proto_init() {
+ if File_DungeonCandidateTeamSetChangingAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamSetChangingAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamSetChangingAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamSetChangingAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamSetChangingAvatarRsp_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamSetChangingAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamSetChangingAvatarRsp_proto = out.File
+ file_DungeonCandidateTeamSetChangingAvatarRsp_proto_rawDesc = nil
+ file_DungeonCandidateTeamSetChangingAvatarRsp_proto_goTypes = nil
+ file_DungeonCandidateTeamSetChangingAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamSetReadyReq.pb.go b/protocol/proto/DungeonCandidateTeamSetReadyReq.pb.go
new file mode 100644
index 00000000..6fe45034
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamSetReadyReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamSetReadyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 991
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonCandidateTeamSetReadyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsReady bool `protobuf:"varint,15,opt,name=is_ready,json=isReady,proto3" json:"is_ready,omitempty"`
+}
+
+func (x *DungeonCandidateTeamSetReadyReq) Reset() {
+ *x = DungeonCandidateTeamSetReadyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamSetReadyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamSetReadyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamSetReadyReq) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamSetReadyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamSetReadyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamSetReadyReq.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamSetReadyReq) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamSetReadyReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamSetReadyReq) GetIsReady() bool {
+ if x != nil {
+ return x.IsReady
+ }
+ return false
+}
+
+var File_DungeonCandidateTeamSetReadyReq_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamSetReadyReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c,
+ 0x0a, 0x1f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x79, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamSetReadyReq_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamSetReadyReq_proto_rawDescData = file_DungeonCandidateTeamSetReadyReq_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamSetReadyReq_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamSetReadyReq_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamSetReadyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamSetReadyReq_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamSetReadyReq_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamSetReadyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamSetReadyReq_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamSetReadyReq)(nil), // 0: proto.DungeonCandidateTeamSetReadyReq
+}
+var file_DungeonCandidateTeamSetReadyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamSetReadyReq_proto_init() }
+func file_DungeonCandidateTeamSetReadyReq_proto_init() {
+ if File_DungeonCandidateTeamSetReadyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamSetReadyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamSetReadyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamSetReadyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamSetReadyReq_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamSetReadyReq_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamSetReadyReq_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamSetReadyReq_proto = out.File
+ file_DungeonCandidateTeamSetReadyReq_proto_rawDesc = nil
+ file_DungeonCandidateTeamSetReadyReq_proto_goTypes = nil
+ file_DungeonCandidateTeamSetReadyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonCandidateTeamSetReadyRsp.pb.go b/protocol/proto/DungeonCandidateTeamSetReadyRsp.pb.go
new file mode 100644
index 00000000..030f24bb
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamSetReadyRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonCandidateTeamSetReadyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 924
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonCandidateTeamSetReadyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonCandidateTeamSetReadyRsp) Reset() {
+ *x = DungeonCandidateTeamSetReadyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonCandidateTeamSetReadyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonCandidateTeamSetReadyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonCandidateTeamSetReadyRsp) ProtoMessage() {}
+
+func (x *DungeonCandidateTeamSetReadyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonCandidateTeamSetReadyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonCandidateTeamSetReadyRsp.ProtoReflect.Descriptor instead.
+func (*DungeonCandidateTeamSetReadyRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonCandidateTeamSetReadyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonCandidateTeamSetReadyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonCandidateTeamSetReadyRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonCandidateTeamSetReadyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x1f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonCandidateTeamSetReadyRsp_proto_rawDescOnce sync.Once
+ file_DungeonCandidateTeamSetReadyRsp_proto_rawDescData = file_DungeonCandidateTeamSetReadyRsp_proto_rawDesc
+)
+
+func file_DungeonCandidateTeamSetReadyRsp_proto_rawDescGZIP() []byte {
+ file_DungeonCandidateTeamSetReadyRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonCandidateTeamSetReadyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonCandidateTeamSetReadyRsp_proto_rawDescData)
+ })
+ return file_DungeonCandidateTeamSetReadyRsp_proto_rawDescData
+}
+
+var file_DungeonCandidateTeamSetReadyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonCandidateTeamSetReadyRsp_proto_goTypes = []interface{}{
+ (*DungeonCandidateTeamSetReadyRsp)(nil), // 0: proto.DungeonCandidateTeamSetReadyRsp
+}
+var file_DungeonCandidateTeamSetReadyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonCandidateTeamSetReadyRsp_proto_init() }
+func file_DungeonCandidateTeamSetReadyRsp_proto_init() {
+ if File_DungeonCandidateTeamSetReadyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonCandidateTeamSetReadyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonCandidateTeamSetReadyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonCandidateTeamSetReadyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonCandidateTeamSetReadyRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonCandidateTeamSetReadyRsp_proto_depIdxs,
+ MessageInfos: file_DungeonCandidateTeamSetReadyRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonCandidateTeamSetReadyRsp_proto = out.File
+ file_DungeonCandidateTeamSetReadyRsp_proto_rawDesc = nil
+ file_DungeonCandidateTeamSetReadyRsp_proto_goTypes = nil
+ file_DungeonCandidateTeamSetReadyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonChallengeBeginNotify.pb.go b/protocol/proto/DungeonChallengeBeginNotify.pb.go
new file mode 100644
index 00000000..a69a1d3e
--- /dev/null
+++ b/protocol/proto/DungeonChallengeBeginNotify.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonChallengeBeginNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 947
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonChallengeBeginNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FatherIndex uint32 `protobuf:"varint,5,opt,name=father_index,json=fatherIndex,proto3" json:"father_index,omitempty"`
+ ParamList []uint32 `protobuf:"varint,14,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,6,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,4,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ UidList []uint32 `protobuf:"varint,12,rep,packed,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"`
+}
+
+func (x *DungeonChallengeBeginNotify) Reset() {
+ *x = DungeonChallengeBeginNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonChallengeBeginNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonChallengeBeginNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonChallengeBeginNotify) ProtoMessage() {}
+
+func (x *DungeonChallengeBeginNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonChallengeBeginNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonChallengeBeginNotify.ProtoReflect.Descriptor instead.
+func (*DungeonChallengeBeginNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonChallengeBeginNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonChallengeBeginNotify) GetFatherIndex() uint32 {
+ if x != nil {
+ return x.FatherIndex
+ }
+ return 0
+}
+
+func (x *DungeonChallengeBeginNotify) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *DungeonChallengeBeginNotify) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (x *DungeonChallengeBeginNotify) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *DungeonChallengeBeginNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *DungeonChallengeBeginNotify) GetUidList() []uint32 {
+ if x != nil {
+ return x.UidList
+ }
+ return nil
+}
+
+var File_DungeonChallengeBeginNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonChallengeBeginNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x01, 0x0a, 0x1b, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42,
+ 0x65, 0x67, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x66, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75,
+ 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75,
+ 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DungeonChallengeBeginNotify_proto_rawDescOnce sync.Once
+ file_DungeonChallengeBeginNotify_proto_rawDescData = file_DungeonChallengeBeginNotify_proto_rawDesc
+)
+
+func file_DungeonChallengeBeginNotify_proto_rawDescGZIP() []byte {
+ file_DungeonChallengeBeginNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonChallengeBeginNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonChallengeBeginNotify_proto_rawDescData)
+ })
+ return file_DungeonChallengeBeginNotify_proto_rawDescData
+}
+
+var file_DungeonChallengeBeginNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonChallengeBeginNotify_proto_goTypes = []interface{}{
+ (*DungeonChallengeBeginNotify)(nil), // 0: proto.DungeonChallengeBeginNotify
+}
+var file_DungeonChallengeBeginNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonChallengeBeginNotify_proto_init() }
+func file_DungeonChallengeBeginNotify_proto_init() {
+ if File_DungeonChallengeBeginNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonChallengeBeginNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonChallengeBeginNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonChallengeBeginNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonChallengeBeginNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonChallengeBeginNotify_proto_depIdxs,
+ MessageInfos: file_DungeonChallengeBeginNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonChallengeBeginNotify_proto = out.File
+ file_DungeonChallengeBeginNotify_proto_rawDesc = nil
+ file_DungeonChallengeBeginNotify_proto_goTypes = nil
+ file_DungeonChallengeBeginNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonChallengeFinishNotify.pb.go b/protocol/proto/DungeonChallengeFinishNotify.pb.go
new file mode 100644
index 00000000..277f22b0
--- /dev/null
+++ b/protocol/proto/DungeonChallengeFinishNotify.pb.go
@@ -0,0 +1,391 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonChallengeFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 939
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonChallengeFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StrengthenPointDataMap map[uint32]*StrengthenPointData `protobuf:"bytes,13,rep,name=strengthen_point_data_map,json=strengthenPointDataMap,proto3" json:"strengthen_point_data_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ FinishType ChallengeFinishType `protobuf:"varint,9,opt,name=finish_type,json=finishType,proto3,enum=proto.ChallengeFinishType" json:"finish_type,omitempty"`
+ IsNewRecord bool `protobuf:"varint,10,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ ChallengeRecordType uint32 `protobuf:"varint,7,opt,name=challenge_record_type,json=challengeRecordType,proto3" json:"challenge_record_type,omitempty"`
+ TimeCost uint32 `protobuf:"varint,4,opt,name=time_cost,json=timeCost,proto3" json:"time_cost,omitempty"`
+ CurrentValue uint32 `protobuf:"varint,15,opt,name=current_value,json=currentValue,proto3" json:"current_value,omitempty"`
+ IsSuccess bool `protobuf:"varint,3,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,5,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *DungeonChallengeFinishNotify_ChannelerSlabLoopDungeonResultInfo
+ // *DungeonChallengeFinishNotify_EffigyChallengeDungeonResultInfo
+ // *DungeonChallengeFinishNotify_PotionDungeonResultInfo
+ // *DungeonChallengeFinishNotify_CustomDungeonResultInfo
+ Detail isDungeonChallengeFinishNotify_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *DungeonChallengeFinishNotify) Reset() {
+ *x = DungeonChallengeFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonChallengeFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonChallengeFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonChallengeFinishNotify) ProtoMessage() {}
+
+func (x *DungeonChallengeFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonChallengeFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonChallengeFinishNotify.ProtoReflect.Descriptor instead.
+func (*DungeonChallengeFinishNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonChallengeFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonChallengeFinishNotify) GetStrengthenPointDataMap() map[uint32]*StrengthenPointData {
+ if x != nil {
+ return x.StrengthenPointDataMap
+ }
+ return nil
+}
+
+func (x *DungeonChallengeFinishNotify) GetFinishType() ChallengeFinishType {
+ if x != nil {
+ return x.FinishType
+ }
+ return ChallengeFinishType_CHALLENGE_FINISH_TYPE_NONE
+}
+
+func (x *DungeonChallengeFinishNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *DungeonChallengeFinishNotify) GetChallengeRecordType() uint32 {
+ if x != nil {
+ return x.ChallengeRecordType
+ }
+ return 0
+}
+
+func (x *DungeonChallengeFinishNotify) GetTimeCost() uint32 {
+ if x != nil {
+ return x.TimeCost
+ }
+ return 0
+}
+
+func (x *DungeonChallengeFinishNotify) GetCurrentValue() uint32 {
+ if x != nil {
+ return x.CurrentValue
+ }
+ return 0
+}
+
+func (x *DungeonChallengeFinishNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *DungeonChallengeFinishNotify) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (m *DungeonChallengeFinishNotify) GetDetail() isDungeonChallengeFinishNotify_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *DungeonChallengeFinishNotify) GetChannelerSlabLoopDungeonResultInfo() *ChannelerSlabLoopDungeonResultInfo {
+ if x, ok := x.GetDetail().(*DungeonChallengeFinishNotify_ChannelerSlabLoopDungeonResultInfo); ok {
+ return x.ChannelerSlabLoopDungeonResultInfo
+ }
+ return nil
+}
+
+func (x *DungeonChallengeFinishNotify) GetEffigyChallengeDungeonResultInfo() *EffigyChallengeDungeonResultInfo {
+ if x, ok := x.GetDetail().(*DungeonChallengeFinishNotify_EffigyChallengeDungeonResultInfo); ok {
+ return x.EffigyChallengeDungeonResultInfo
+ }
+ return nil
+}
+
+func (x *DungeonChallengeFinishNotify) GetPotionDungeonResultInfo() *PotionDungeonResultInfo {
+ if x, ok := x.GetDetail().(*DungeonChallengeFinishNotify_PotionDungeonResultInfo); ok {
+ return x.PotionDungeonResultInfo
+ }
+ return nil
+}
+
+func (x *DungeonChallengeFinishNotify) GetCustomDungeonResultInfo() *CustomDungeonResultInfo {
+ if x, ok := x.GetDetail().(*DungeonChallengeFinishNotify_CustomDungeonResultInfo); ok {
+ return x.CustomDungeonResultInfo
+ }
+ return nil
+}
+
+type isDungeonChallengeFinishNotify_Detail interface {
+ isDungeonChallengeFinishNotify_Detail()
+}
+
+type DungeonChallengeFinishNotify_ChannelerSlabLoopDungeonResultInfo struct {
+ ChannelerSlabLoopDungeonResultInfo *ChannelerSlabLoopDungeonResultInfo `protobuf:"bytes,1521,opt,name=channeler_slab_loop_dungeon_result_info,json=channelerSlabLoopDungeonResultInfo,proto3,oneof"`
+}
+
+type DungeonChallengeFinishNotify_EffigyChallengeDungeonResultInfo struct {
+ EffigyChallengeDungeonResultInfo *EffigyChallengeDungeonResultInfo `protobuf:"bytes,1627,opt,name=effigy_challenge_dungeon_result_info,json=effigyChallengeDungeonResultInfo,proto3,oneof"`
+}
+
+type DungeonChallengeFinishNotify_PotionDungeonResultInfo struct {
+ PotionDungeonResultInfo *PotionDungeonResultInfo `protobuf:"bytes,1824,opt,name=potion_dungeon_result_info,json=potionDungeonResultInfo,proto3,oneof"`
+}
+
+type DungeonChallengeFinishNotify_CustomDungeonResultInfo struct {
+ CustomDungeonResultInfo *CustomDungeonResultInfo `protobuf:"bytes,1664,opt,name=custom_dungeon_result_info,json=customDungeonResultInfo,proto3,oneof"`
+}
+
+func (*DungeonChallengeFinishNotify_ChannelerSlabLoopDungeonResultInfo) isDungeonChallengeFinishNotify_Detail() {
+}
+
+func (*DungeonChallengeFinishNotify_EffigyChallengeDungeonResultInfo) isDungeonChallengeFinishNotify_Detail() {
+}
+
+func (*DungeonChallengeFinishNotify_PotionDungeonResultInfo) isDungeonChallengeFinishNotify_Detail() {
+}
+
+func (*DungeonChallengeFinishNotify_CustomDungeonResultInfo) isDungeonChallengeFinishNotify_Detail() {
+}
+
+var File_DungeonChallengeFinishNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonChallengeFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65,
+ 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x26, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68,
+ 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xea, 0x07, 0x0a, 0x1c, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x7a, 0x0a, 0x19, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e,
+ 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x6e,
+ 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68,
+ 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70, 0x12, 0x3b,
+ 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
+ 0x32, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x73, 0x74,
+ 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x81, 0x01,
+ 0x0a, 0x27, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x62,
+ 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xf1, 0x0b, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x22, 0x63,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x7a, 0x0a, 0x24, 0x65, 0x66, 0x66, 0x69, 0x67, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xdb, 0x0c, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x20, 0x65, 0x66, 0x66,
+ 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a,
+ 0x1a, 0x70, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xa0, 0x0e, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x74, 0x69, 0x6f,
+ 0x6e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x17, 0x70, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a,
+ 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x80, 0x0d, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x65, 0x0a,
+ 0x1b, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DungeonChallengeFinishNotify_proto_rawDescOnce sync.Once
+ file_DungeonChallengeFinishNotify_proto_rawDescData = file_DungeonChallengeFinishNotify_proto_rawDesc
+)
+
+func file_DungeonChallengeFinishNotify_proto_rawDescGZIP() []byte {
+ file_DungeonChallengeFinishNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonChallengeFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonChallengeFinishNotify_proto_rawDescData)
+ })
+ return file_DungeonChallengeFinishNotify_proto_rawDescData
+}
+
+var file_DungeonChallengeFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_DungeonChallengeFinishNotify_proto_goTypes = []interface{}{
+ (*DungeonChallengeFinishNotify)(nil), // 0: proto.DungeonChallengeFinishNotify
+ nil, // 1: proto.DungeonChallengeFinishNotify.StrengthenPointDataMapEntry
+ (ChallengeFinishType)(0), // 2: proto.ChallengeFinishType
+ (*ChannelerSlabLoopDungeonResultInfo)(nil), // 3: proto.ChannelerSlabLoopDungeonResultInfo
+ (*EffigyChallengeDungeonResultInfo)(nil), // 4: proto.EffigyChallengeDungeonResultInfo
+ (*PotionDungeonResultInfo)(nil), // 5: proto.PotionDungeonResultInfo
+ (*CustomDungeonResultInfo)(nil), // 6: proto.CustomDungeonResultInfo
+ (*StrengthenPointData)(nil), // 7: proto.StrengthenPointData
+}
+var file_DungeonChallengeFinishNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonChallengeFinishNotify.strengthen_point_data_map:type_name -> proto.DungeonChallengeFinishNotify.StrengthenPointDataMapEntry
+ 2, // 1: proto.DungeonChallengeFinishNotify.finish_type:type_name -> proto.ChallengeFinishType
+ 3, // 2: proto.DungeonChallengeFinishNotify.channeler_slab_loop_dungeon_result_info:type_name -> proto.ChannelerSlabLoopDungeonResultInfo
+ 4, // 3: proto.DungeonChallengeFinishNotify.effigy_challenge_dungeon_result_info:type_name -> proto.EffigyChallengeDungeonResultInfo
+ 5, // 4: proto.DungeonChallengeFinishNotify.potion_dungeon_result_info:type_name -> proto.PotionDungeonResultInfo
+ 6, // 5: proto.DungeonChallengeFinishNotify.custom_dungeon_result_info:type_name -> proto.CustomDungeonResultInfo
+ 7, // 6: proto.DungeonChallengeFinishNotify.StrengthenPointDataMapEntry.value:type_name -> proto.StrengthenPointData
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
+}
+
+func init() { file_DungeonChallengeFinishNotify_proto_init() }
+func file_DungeonChallengeFinishNotify_proto_init() {
+ if File_DungeonChallengeFinishNotify_proto != nil {
+ return
+ }
+ file_ChallengeFinishType_proto_init()
+ file_ChannelerSlabLoopDungeonResultInfo_proto_init()
+ file_CustomDungeonResultInfo_proto_init()
+ file_EffigyChallengeDungeonResultInfo_proto_init()
+ file_PotionDungeonResultInfo_proto_init()
+ file_StrengthenPointData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonChallengeFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonChallengeFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_DungeonChallengeFinishNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*DungeonChallengeFinishNotify_ChannelerSlabLoopDungeonResultInfo)(nil),
+ (*DungeonChallengeFinishNotify_EffigyChallengeDungeonResultInfo)(nil),
+ (*DungeonChallengeFinishNotify_PotionDungeonResultInfo)(nil),
+ (*DungeonChallengeFinishNotify_CustomDungeonResultInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonChallengeFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonChallengeFinishNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonChallengeFinishNotify_proto_depIdxs,
+ MessageInfos: file_DungeonChallengeFinishNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonChallengeFinishNotify_proto = out.File
+ file_DungeonChallengeFinishNotify_proto_rawDesc = nil
+ file_DungeonChallengeFinishNotify_proto_goTypes = nil
+ file_DungeonChallengeFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonDataNotify.pb.go b/protocol/proto/DungeonDataNotify.pb.go
new file mode 100644
index 00000000..81a34ac8
--- /dev/null
+++ b/protocol/proto/DungeonDataNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 982
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonDataMap map[uint32]uint32 `protobuf:"bytes,1,rep,name=dungeon_data_map,json=dungeonDataMap,proto3" json:"dungeon_data_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *DungeonDataNotify) Reset() {
+ *x = DungeonDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonDataNotify) ProtoMessage() {}
+
+func (x *DungeonDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonDataNotify.ProtoReflect.Descriptor instead.
+func (*DungeonDataNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonDataNotify) GetDungeonDataMap() map[uint32]uint32 {
+ if x != nil {
+ return x.DungeonDataMap
+ }
+ return nil
+}
+
+var File_DungeonDataNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xae, 0x01, 0x0a, 0x11, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x56, 0x0a, 0x10, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70, 0x1a, 0x41,
+ 0x0a, 0x13, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonDataNotify_proto_rawDescOnce sync.Once
+ file_DungeonDataNotify_proto_rawDescData = file_DungeonDataNotify_proto_rawDesc
+)
+
+func file_DungeonDataNotify_proto_rawDescGZIP() []byte {
+ file_DungeonDataNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonDataNotify_proto_rawDescData)
+ })
+ return file_DungeonDataNotify_proto_rawDescData
+}
+
+var file_DungeonDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_DungeonDataNotify_proto_goTypes = []interface{}{
+ (*DungeonDataNotify)(nil), // 0: proto.DungeonDataNotify
+ nil, // 1: proto.DungeonDataNotify.DungeonDataMapEntry
+}
+var file_DungeonDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonDataNotify.dungeon_data_map:type_name -> proto.DungeonDataNotify.DungeonDataMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonDataNotify_proto_init() }
+func file_DungeonDataNotify_proto_init() {
+ if File_DungeonDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonDataNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonDataNotify_proto_depIdxs,
+ MessageInfos: file_DungeonDataNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonDataNotify_proto = out.File
+ file_DungeonDataNotify_proto_rawDesc = nil
+ file_DungeonDataNotify_proto_goTypes = nil
+ file_DungeonDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonDieOptionReq.pb.go b/protocol/proto/DungeonDieOptionReq.pb.go
new file mode 100644
index 00000000..b5360966
--- /dev/null
+++ b/protocol/proto/DungeonDieOptionReq.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonDieOptionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 975
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonDieOptionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DieOption PlayerDieOption `protobuf:"varint,11,opt,name=die_option,json=dieOption,proto3,enum=proto.PlayerDieOption" json:"die_option,omitempty"`
+ IsQuitImmediately bool `protobuf:"varint,14,opt,name=is_quit_immediately,json=isQuitImmediately,proto3" json:"is_quit_immediately,omitempty"`
+}
+
+func (x *DungeonDieOptionReq) Reset() {
+ *x = DungeonDieOptionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonDieOptionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonDieOptionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonDieOptionReq) ProtoMessage() {}
+
+func (x *DungeonDieOptionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonDieOptionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonDieOptionReq.ProtoReflect.Descriptor instead.
+func (*DungeonDieOptionReq) Descriptor() ([]byte, []int) {
+ return file_DungeonDieOptionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonDieOptionReq) GetDieOption() PlayerDieOption {
+ if x != nil {
+ return x.DieOption
+ }
+ return PlayerDieOption_PLAYER_DIE_OPTION_OPT_NONE
+}
+
+func (x *DungeonDieOptionReq) GetIsQuitImmediately() bool {
+ if x != nil {
+ return x.IsQuitImmediately
+ }
+ return false
+}
+
+var File_DungeonDieOptionReq_proto protoreflect.FileDescriptor
+
+var file_DungeonDieOptionReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x13, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x12, 0x35, 0x0a, 0x0a, 0x64, 0x69, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69,
+ 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x71, 0x75,
+ 0x69, 0x74, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x51, 0x75, 0x69, 0x74, 0x49, 0x6d, 0x6d, 0x65,
+ 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonDieOptionReq_proto_rawDescOnce sync.Once
+ file_DungeonDieOptionReq_proto_rawDescData = file_DungeonDieOptionReq_proto_rawDesc
+)
+
+func file_DungeonDieOptionReq_proto_rawDescGZIP() []byte {
+ file_DungeonDieOptionReq_proto_rawDescOnce.Do(func() {
+ file_DungeonDieOptionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonDieOptionReq_proto_rawDescData)
+ })
+ return file_DungeonDieOptionReq_proto_rawDescData
+}
+
+var file_DungeonDieOptionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonDieOptionReq_proto_goTypes = []interface{}{
+ (*DungeonDieOptionReq)(nil), // 0: proto.DungeonDieOptionReq
+ (PlayerDieOption)(0), // 1: proto.PlayerDieOption
+}
+var file_DungeonDieOptionReq_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonDieOptionReq.die_option:type_name -> proto.PlayerDieOption
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonDieOptionReq_proto_init() }
+func file_DungeonDieOptionReq_proto_init() {
+ if File_DungeonDieOptionReq_proto != nil {
+ return
+ }
+ file_PlayerDieOption_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonDieOptionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonDieOptionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonDieOptionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonDieOptionReq_proto_goTypes,
+ DependencyIndexes: file_DungeonDieOptionReq_proto_depIdxs,
+ MessageInfos: file_DungeonDieOptionReq_proto_msgTypes,
+ }.Build()
+ File_DungeonDieOptionReq_proto = out.File
+ file_DungeonDieOptionReq_proto_rawDesc = nil
+ file_DungeonDieOptionReq_proto_goTypes = nil
+ file_DungeonDieOptionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonDieOptionRsp.pb.go b/protocol/proto/DungeonDieOptionRsp.pb.go
new file mode 100644
index 00000000..069f16aa
--- /dev/null
+++ b/protocol/proto/DungeonDieOptionRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonDieOptionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 948
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonDieOptionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ReviveCount uint32 `protobuf:"varint,10,opt,name=revive_count,json=reviveCount,proto3" json:"revive_count,omitempty"`
+ DieOption PlayerDieOption `protobuf:"varint,6,opt,name=die_option,json=dieOption,proto3,enum=proto.PlayerDieOption" json:"die_option,omitempty"`
+}
+
+func (x *DungeonDieOptionRsp) Reset() {
+ *x = DungeonDieOptionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonDieOptionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonDieOptionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonDieOptionRsp) ProtoMessage() {}
+
+func (x *DungeonDieOptionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonDieOptionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonDieOptionRsp.ProtoReflect.Descriptor instead.
+func (*DungeonDieOptionRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonDieOptionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonDieOptionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DungeonDieOptionRsp) GetReviveCount() uint32 {
+ if x != nil {
+ return x.ReviveCount
+ }
+ return 0
+}
+
+func (x *DungeonDieOptionRsp) GetDieOption() PlayerDieOption {
+ if x != nil {
+ return x.DieOption
+ }
+ return PlayerDieOption_PLAYER_DIE_OPTION_OPT_NONE
+}
+
+var File_DungeonDieOptionRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonDieOptionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x13, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72,
+ 0x65, 0x76, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x35,
+ 0x0a, 0x0a, 0x64, 0x69, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x65, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonDieOptionRsp_proto_rawDescOnce sync.Once
+ file_DungeonDieOptionRsp_proto_rawDescData = file_DungeonDieOptionRsp_proto_rawDesc
+)
+
+func file_DungeonDieOptionRsp_proto_rawDescGZIP() []byte {
+ file_DungeonDieOptionRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonDieOptionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonDieOptionRsp_proto_rawDescData)
+ })
+ return file_DungeonDieOptionRsp_proto_rawDescData
+}
+
+var file_DungeonDieOptionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonDieOptionRsp_proto_goTypes = []interface{}{
+ (*DungeonDieOptionRsp)(nil), // 0: proto.DungeonDieOptionRsp
+ (PlayerDieOption)(0), // 1: proto.PlayerDieOption
+}
+var file_DungeonDieOptionRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonDieOptionRsp.die_option:type_name -> proto.PlayerDieOption
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonDieOptionRsp_proto_init() }
+func file_DungeonDieOptionRsp_proto_init() {
+ if File_DungeonDieOptionRsp_proto != nil {
+ return
+ }
+ file_PlayerDieOption_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonDieOptionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonDieOptionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonDieOptionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonDieOptionRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonDieOptionRsp_proto_depIdxs,
+ MessageInfos: file_DungeonDieOptionRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonDieOptionRsp_proto = out.File
+ file_DungeonDieOptionRsp_proto_rawDesc = nil
+ file_DungeonDieOptionRsp_proto_goTypes = nil
+ file_DungeonDieOptionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonEnterPosInfo.pb.go b/protocol/proto/DungeonEnterPosInfo.pb.go
new file mode 100644
index 00000000..81798ace
--- /dev/null
+++ b/protocol/proto/DungeonEnterPosInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonEnterPosInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonEnterPosInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,13,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ PointId uint32 `protobuf:"varint,6,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *DungeonEnterPosInfo) Reset() {
+ *x = DungeonEnterPosInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonEnterPosInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonEnterPosInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonEnterPosInfo) ProtoMessage() {}
+
+func (x *DungeonEnterPosInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonEnterPosInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonEnterPosInfo.ProtoReflect.Descriptor instead.
+func (*DungeonEnterPosInfo) Descriptor() ([]byte, []int) {
+ return file_DungeonEnterPosInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonEnterPosInfo) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *DungeonEnterPosInfo) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_DungeonEnterPosInfo_proto protoreflect.FileDescriptor
+
+var file_DungeonEnterPosInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f,
+ 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x13, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x50, 0x6f, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonEnterPosInfo_proto_rawDescOnce sync.Once
+ file_DungeonEnterPosInfo_proto_rawDescData = file_DungeonEnterPosInfo_proto_rawDesc
+)
+
+func file_DungeonEnterPosInfo_proto_rawDescGZIP() []byte {
+ file_DungeonEnterPosInfo_proto_rawDescOnce.Do(func() {
+ file_DungeonEnterPosInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonEnterPosInfo_proto_rawDescData)
+ })
+ return file_DungeonEnterPosInfo_proto_rawDescData
+}
+
+var file_DungeonEnterPosInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonEnterPosInfo_proto_goTypes = []interface{}{
+ (*DungeonEnterPosInfo)(nil), // 0: proto.DungeonEnterPosInfo
+}
+var file_DungeonEnterPosInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonEnterPosInfo_proto_init() }
+func file_DungeonEnterPosInfo_proto_init() {
+ if File_DungeonEnterPosInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonEnterPosInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonEnterPosInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonEnterPosInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonEnterPosInfo_proto_goTypes,
+ DependencyIndexes: file_DungeonEnterPosInfo_proto_depIdxs,
+ MessageInfos: file_DungeonEnterPosInfo_proto_msgTypes,
+ }.Build()
+ File_DungeonEnterPosInfo_proto = out.File
+ file_DungeonEnterPosInfo_proto_rawDesc = nil
+ file_DungeonEnterPosInfo_proto_goTypes = nil
+ file_DungeonEnterPosInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonEntryBlockReason.pb.go b/protocol/proto/DungeonEntryBlockReason.pb.go
new file mode 100644
index 00000000..ccb016b1
--- /dev/null
+++ b/protocol/proto/DungeonEntryBlockReason.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonEntryBlockReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonEntryBlockReason int32
+
+const (
+ DungeonEntryBlockReason_DUNGEON_ENTRY_BLOCK_REASON_NONE DungeonEntryBlockReason = 0
+ DungeonEntryBlockReason_DUNGEON_ENTRY_BLOCK_REASON_LEVEL DungeonEntryBlockReason = 1
+ DungeonEntryBlockReason_DUNGEON_ENTRY_BLOCK_REASON_QUEST DungeonEntryBlockReason = 2
+ DungeonEntryBlockReason_DUNGEON_ENTRY_BLOCK_REASON_MULIPLE DungeonEntryBlockReason = 3
+)
+
+// Enum value maps for DungeonEntryBlockReason.
+var (
+ DungeonEntryBlockReason_name = map[int32]string{
+ 0: "DUNGEON_ENTRY_BLOCK_REASON_NONE",
+ 1: "DUNGEON_ENTRY_BLOCK_REASON_LEVEL",
+ 2: "DUNGEON_ENTRY_BLOCK_REASON_QUEST",
+ 3: "DUNGEON_ENTRY_BLOCK_REASON_MULIPLE",
+ }
+ DungeonEntryBlockReason_value = map[string]int32{
+ "DUNGEON_ENTRY_BLOCK_REASON_NONE": 0,
+ "DUNGEON_ENTRY_BLOCK_REASON_LEVEL": 1,
+ "DUNGEON_ENTRY_BLOCK_REASON_QUEST": 2,
+ "DUNGEON_ENTRY_BLOCK_REASON_MULIPLE": 3,
+ }
+)
+
+func (x DungeonEntryBlockReason) Enum() *DungeonEntryBlockReason {
+ p := new(DungeonEntryBlockReason)
+ *p = x
+ return p
+}
+
+func (x DungeonEntryBlockReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (DungeonEntryBlockReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_DungeonEntryBlockReason_proto_enumTypes[0].Descriptor()
+}
+
+func (DungeonEntryBlockReason) Type() protoreflect.EnumType {
+ return &file_DungeonEntryBlockReason_proto_enumTypes[0]
+}
+
+func (x DungeonEntryBlockReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use DungeonEntryBlockReason.Descriptor instead.
+func (DungeonEntryBlockReason) EnumDescriptor() ([]byte, []int) {
+ return file_DungeonEntryBlockReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DungeonEntryBlockReason_proto protoreflect.FileDescriptor
+
+var file_DungeonEntryBlockReason_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xb2, 0x01, 0x0a, 0x17, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x45, 0x4e,
+ 0x54, 0x52, 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x24, 0x0a,
+ 0x20, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x42,
+ 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x53,
+ 0x54, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x45,
+ 0x4e, 0x54, 0x52, 0x59, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x4d, 0x55, 0x4c, 0x49, 0x50, 0x4c, 0x45, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonEntryBlockReason_proto_rawDescOnce sync.Once
+ file_DungeonEntryBlockReason_proto_rawDescData = file_DungeonEntryBlockReason_proto_rawDesc
+)
+
+func file_DungeonEntryBlockReason_proto_rawDescGZIP() []byte {
+ file_DungeonEntryBlockReason_proto_rawDescOnce.Do(func() {
+ file_DungeonEntryBlockReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonEntryBlockReason_proto_rawDescData)
+ })
+ return file_DungeonEntryBlockReason_proto_rawDescData
+}
+
+var file_DungeonEntryBlockReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_DungeonEntryBlockReason_proto_goTypes = []interface{}{
+ (DungeonEntryBlockReason)(0), // 0: proto.DungeonEntryBlockReason
+}
+var file_DungeonEntryBlockReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonEntryBlockReason_proto_init() }
+func file_DungeonEntryBlockReason_proto_init() {
+ if File_DungeonEntryBlockReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonEntryBlockReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonEntryBlockReason_proto_goTypes,
+ DependencyIndexes: file_DungeonEntryBlockReason_proto_depIdxs,
+ EnumInfos: file_DungeonEntryBlockReason_proto_enumTypes,
+ }.Build()
+ File_DungeonEntryBlockReason_proto = out.File
+ file_DungeonEntryBlockReason_proto_rawDesc = nil
+ file_DungeonEntryBlockReason_proto_goTypes = nil
+ file_DungeonEntryBlockReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonEntryCond.pb.go b/protocol/proto/DungeonEntryCond.pb.go
new file mode 100644
index 00000000..7c109f8b
--- /dev/null
+++ b/protocol/proto/DungeonEntryCond.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonEntryCond.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonEntryCond struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CondReason DungeonEntryBlockReason `protobuf:"varint,7,opt,name=cond_reason,json=condReason,proto3,enum=proto.DungeonEntryBlockReason" json:"cond_reason,omitempty"`
+ Param1 uint32 `protobuf:"varint,8,opt,name=param1,proto3" json:"param1,omitempty"`
+}
+
+func (x *DungeonEntryCond) Reset() {
+ *x = DungeonEntryCond{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonEntryCond_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonEntryCond) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonEntryCond) ProtoMessage() {}
+
+func (x *DungeonEntryCond) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonEntryCond_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonEntryCond.ProtoReflect.Descriptor instead.
+func (*DungeonEntryCond) Descriptor() ([]byte, []int) {
+ return file_DungeonEntryCond_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonEntryCond) GetCondReason() DungeonEntryBlockReason {
+ if x != nil {
+ return x.CondReason
+ }
+ return DungeonEntryBlockReason_DUNGEON_ENTRY_BLOCK_REASON_NONE
+}
+
+func (x *DungeonEntryCond) GetParam1() uint32 {
+ if x != nil {
+ return x.Param1
+ }
+ return 0
+}
+
+var File_DungeonEntryCond_proto protoreflect.FileDescriptor
+
+var file_DungeonEntryCond_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f,
+ 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b,
+ 0x0a, 0x10, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f,
+ 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonEntryCond_proto_rawDescOnce sync.Once
+ file_DungeonEntryCond_proto_rawDescData = file_DungeonEntryCond_proto_rawDesc
+)
+
+func file_DungeonEntryCond_proto_rawDescGZIP() []byte {
+ file_DungeonEntryCond_proto_rawDescOnce.Do(func() {
+ file_DungeonEntryCond_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonEntryCond_proto_rawDescData)
+ })
+ return file_DungeonEntryCond_proto_rawDescData
+}
+
+var file_DungeonEntryCond_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonEntryCond_proto_goTypes = []interface{}{
+ (*DungeonEntryCond)(nil), // 0: proto.DungeonEntryCond
+ (DungeonEntryBlockReason)(0), // 1: proto.DungeonEntryBlockReason
+}
+var file_DungeonEntryCond_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonEntryCond.cond_reason:type_name -> proto.DungeonEntryBlockReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonEntryCond_proto_init() }
+func file_DungeonEntryCond_proto_init() {
+ if File_DungeonEntryCond_proto != nil {
+ return
+ }
+ file_DungeonEntryBlockReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonEntryCond_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonEntryCond); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonEntryCond_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonEntryCond_proto_goTypes,
+ DependencyIndexes: file_DungeonEntryCond_proto_depIdxs,
+ MessageInfos: file_DungeonEntryCond_proto_msgTypes,
+ }.Build()
+ File_DungeonEntryCond_proto = out.File
+ file_DungeonEntryCond_proto_rawDesc = nil
+ file_DungeonEntryCond_proto_goTypes = nil
+ file_DungeonEntryCond_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonEntryInfo.pb.go b/protocol/proto/DungeonEntryInfo.pb.go
new file mode 100644
index 00000000..1f1769e0
--- /dev/null
+++ b/protocol/proto/DungeonEntryInfo.pb.go
@@ -0,0 +1,250 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonEntryInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonEntryInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndTime uint32 `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ DungeonId uint32 `protobuf:"varint,5,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ BossChestNum uint32 `protobuf:"varint,12,opt,name=boss_chest_num,json=bossChestNum,proto3" json:"boss_chest_num,omitempty"`
+ MaxBossChestNum uint32 `protobuf:"varint,13,opt,name=max_boss_chest_num,json=maxBossChestNum,proto3" json:"max_boss_chest_num,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,11,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ WeeklyBossResinDiscountInfo *WeeklyBossResinDiscountInfo `protobuf:"bytes,9,opt,name=weekly_boss_resin_discount_info,json=weeklyBossResinDiscountInfo,proto3" json:"weekly_boss_resin_discount_info,omitempty"`
+ StartTime uint32 `protobuf:"varint,15,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ IsPassed bool `protobuf:"varint,4,opt,name=is_passed,json=isPassed,proto3" json:"is_passed,omitempty"`
+ LeftTimes uint32 `protobuf:"varint,7,opt,name=left_times,json=leftTimes,proto3" json:"left_times,omitempty"`
+}
+
+func (x *DungeonEntryInfo) Reset() {
+ *x = DungeonEntryInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonEntryInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonEntryInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonEntryInfo) ProtoMessage() {}
+
+func (x *DungeonEntryInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonEntryInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonEntryInfo.ProtoReflect.Descriptor instead.
+func (*DungeonEntryInfo) Descriptor() ([]byte, []int) {
+ return file_DungeonEntryInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonEntryInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfo) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfo) GetBossChestNum() uint32 {
+ if x != nil {
+ return x.BossChestNum
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfo) GetMaxBossChestNum() uint32 {
+ if x != nil {
+ return x.MaxBossChestNum
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfo) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfo) GetWeeklyBossResinDiscountInfo() *WeeklyBossResinDiscountInfo {
+ if x != nil {
+ return x.WeeklyBossResinDiscountInfo
+ }
+ return nil
+}
+
+func (x *DungeonEntryInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfo) GetIsPassed() bool {
+ if x != nil {
+ return x.IsPassed
+ }
+ return false
+}
+
+func (x *DungeonEntryInfo) GetLeftTimes() uint32 {
+ if x != nil {
+ return x.LeftTimes
+ }
+ return 0
+}
+
+var File_DungeonEntryInfo_proto protoreflect.FileDescriptor
+
+var file_DungeonEntryInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x21, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69, 0x6e,
+ 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x90, 0x03, 0x0a, 0x10, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49,
+ 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f,
+ 0x6e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62, 0x6f, 0x73, 0x73, 0x43,
+ 0x68, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x2b, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x62,
+ 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73,
+ 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x68, 0x0a, 0x1f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x62, 0x6f, 0x73, 0x73, 0x5f,
+ 0x72, 0x65, 0x73, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69,
+ 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1b, 0x77,
+ 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x44, 0x69,
+ 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f,
+ 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73,
+ 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x65, 0x66, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonEntryInfo_proto_rawDescOnce sync.Once
+ file_DungeonEntryInfo_proto_rawDescData = file_DungeonEntryInfo_proto_rawDesc
+)
+
+func file_DungeonEntryInfo_proto_rawDescGZIP() []byte {
+ file_DungeonEntryInfo_proto_rawDescOnce.Do(func() {
+ file_DungeonEntryInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonEntryInfo_proto_rawDescData)
+ })
+ return file_DungeonEntryInfo_proto_rawDescData
+}
+
+var file_DungeonEntryInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonEntryInfo_proto_goTypes = []interface{}{
+ (*DungeonEntryInfo)(nil), // 0: proto.DungeonEntryInfo
+ (*WeeklyBossResinDiscountInfo)(nil), // 1: proto.WeeklyBossResinDiscountInfo
+}
+var file_DungeonEntryInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonEntryInfo.weekly_boss_resin_discount_info:type_name -> proto.WeeklyBossResinDiscountInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonEntryInfo_proto_init() }
+func file_DungeonEntryInfo_proto_init() {
+ if File_DungeonEntryInfo_proto != nil {
+ return
+ }
+ file_WeeklyBossResinDiscountInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonEntryInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonEntryInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonEntryInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonEntryInfo_proto_goTypes,
+ DependencyIndexes: file_DungeonEntryInfo_proto_depIdxs,
+ MessageInfos: file_DungeonEntryInfo_proto_msgTypes,
+ }.Build()
+ File_DungeonEntryInfo_proto = out.File
+ file_DungeonEntryInfo_proto_rawDesc = nil
+ file_DungeonEntryInfo_proto_goTypes = nil
+ file_DungeonEntryInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonEntryInfoReq.pb.go b/protocol/proto/DungeonEntryInfoReq.pb.go
new file mode 100644
index 00000000..a120d20e
--- /dev/null
+++ b/protocol/proto/DungeonEntryInfoReq.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonEntryInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 972
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonEntryInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,2,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,9,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ ScenePointIdList []*Uint32Pair `protobuf:"bytes,4,rep,name=scene_point_id_list,json=scenePointIdList,proto3" json:"scene_point_id_list,omitempty"`
+}
+
+func (x *DungeonEntryInfoReq) Reset() {
+ *x = DungeonEntryInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonEntryInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonEntryInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonEntryInfoReq) ProtoMessage() {}
+
+func (x *DungeonEntryInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonEntryInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonEntryInfoReq.ProtoReflect.Descriptor instead.
+func (*DungeonEntryInfoReq) Descriptor() ([]byte, []int) {
+ return file_DungeonEntryInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonEntryInfoReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfoReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfoReq) GetScenePointIdList() []*Uint32Pair {
+ if x != nil {
+ return x.ScenePointIdList
+ }
+ return nil
+}
+
+var File_DungeonEntryInfoReq_proto protoreflect.FileDescriptor
+
+var file_DungeonEntryInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x10, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x49, 0x64, 0x12, 0x40, 0x0a, 0x13, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61,
+ 0x69, 0x72, 0x52, 0x10, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonEntryInfoReq_proto_rawDescOnce sync.Once
+ file_DungeonEntryInfoReq_proto_rawDescData = file_DungeonEntryInfoReq_proto_rawDesc
+)
+
+func file_DungeonEntryInfoReq_proto_rawDescGZIP() []byte {
+ file_DungeonEntryInfoReq_proto_rawDescOnce.Do(func() {
+ file_DungeonEntryInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonEntryInfoReq_proto_rawDescData)
+ })
+ return file_DungeonEntryInfoReq_proto_rawDescData
+}
+
+var file_DungeonEntryInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonEntryInfoReq_proto_goTypes = []interface{}{
+ (*DungeonEntryInfoReq)(nil), // 0: proto.DungeonEntryInfoReq
+ (*Uint32Pair)(nil), // 1: proto.Uint32Pair
+}
+var file_DungeonEntryInfoReq_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonEntryInfoReq.scene_point_id_list:type_name -> proto.Uint32Pair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonEntryInfoReq_proto_init() }
+func file_DungeonEntryInfoReq_proto_init() {
+ if File_DungeonEntryInfoReq_proto != nil {
+ return
+ }
+ file_Uint32Pair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonEntryInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonEntryInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonEntryInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonEntryInfoReq_proto_goTypes,
+ DependencyIndexes: file_DungeonEntryInfoReq_proto_depIdxs,
+ MessageInfos: file_DungeonEntryInfoReq_proto_msgTypes,
+ }.Build()
+ File_DungeonEntryInfoReq_proto = out.File
+ file_DungeonEntryInfoReq_proto_rawDesc = nil
+ file_DungeonEntryInfoReq_proto_goTypes = nil
+ file_DungeonEntryInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonEntryInfoRsp.pb.go b/protocol/proto/DungeonEntryInfoRsp.pb.go
new file mode 100644
index 00000000..d83af18a
--- /dev/null
+++ b/protocol/proto/DungeonEntryInfoRsp.pb.go
@@ -0,0 +1,218 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonEntryInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 998
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonEntryInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonEntryList []*DungeonEntryInfo `protobuf:"bytes,12,rep,name=dungeon_entry_list,json=dungeonEntryList,proto3" json:"dungeon_entry_list,omitempty"`
+ PointId uint32 `protobuf:"varint,15,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ DungeonEntryPointList []*DungeonEntryPointInfo `protobuf:"bytes,4,rep,name=dungeon_entry_point_list,json=dungeonEntryPointList,proto3" json:"dungeon_entry_point_list,omitempty"`
+ RecommendDungeonId uint32 `protobuf:"varint,14,opt,name=recommend_dungeon_id,json=recommendDungeonId,proto3" json:"recommend_dungeon_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonEntryInfoRsp) Reset() {
+ *x = DungeonEntryInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonEntryInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonEntryInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonEntryInfoRsp) ProtoMessage() {}
+
+func (x *DungeonEntryInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonEntryInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonEntryInfoRsp.ProtoReflect.Descriptor instead.
+func (*DungeonEntryInfoRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonEntryInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonEntryInfoRsp) GetDungeonEntryList() []*DungeonEntryInfo {
+ if x != nil {
+ return x.DungeonEntryList
+ }
+ return nil
+}
+
+func (x *DungeonEntryInfoRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfoRsp) GetDungeonEntryPointList() []*DungeonEntryPointInfo {
+ if x != nil {
+ return x.DungeonEntryPointList
+ }
+ return nil
+}
+
+func (x *DungeonEntryInfoRsp) GetRecommendDungeonId() uint32 {
+ if x != nil {
+ return x.RecommendDungeonId
+ }
+ return 0
+}
+
+func (x *DungeonEntryInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonEntryInfoRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonEntryInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x16, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x02, 0x0a, 0x13, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12,
+ 0x45, 0x0a, 0x12, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49,
+ 0x64, 0x12, 0x55, 0x0a, 0x18, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74,
+ 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x15, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+ 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonEntryInfoRsp_proto_rawDescOnce sync.Once
+ file_DungeonEntryInfoRsp_proto_rawDescData = file_DungeonEntryInfoRsp_proto_rawDesc
+)
+
+func file_DungeonEntryInfoRsp_proto_rawDescGZIP() []byte {
+ file_DungeonEntryInfoRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonEntryInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonEntryInfoRsp_proto_rawDescData)
+ })
+ return file_DungeonEntryInfoRsp_proto_rawDescData
+}
+
+var file_DungeonEntryInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonEntryInfoRsp_proto_goTypes = []interface{}{
+ (*DungeonEntryInfoRsp)(nil), // 0: proto.DungeonEntryInfoRsp
+ (*DungeonEntryInfo)(nil), // 1: proto.DungeonEntryInfo
+ (*DungeonEntryPointInfo)(nil), // 2: proto.DungeonEntryPointInfo
+}
+var file_DungeonEntryInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonEntryInfoRsp.dungeon_entry_list:type_name -> proto.DungeonEntryInfo
+ 2, // 1: proto.DungeonEntryInfoRsp.dungeon_entry_point_list:type_name -> proto.DungeonEntryPointInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_DungeonEntryInfoRsp_proto_init() }
+func file_DungeonEntryInfoRsp_proto_init() {
+ if File_DungeonEntryInfoRsp_proto != nil {
+ return
+ }
+ file_DungeonEntryInfo_proto_init()
+ file_DungeonEntryPointInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonEntryInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonEntryInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonEntryInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonEntryInfoRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonEntryInfoRsp_proto_depIdxs,
+ MessageInfos: file_DungeonEntryInfoRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonEntryInfoRsp_proto = out.File
+ file_DungeonEntryInfoRsp_proto_rawDesc = nil
+ file_DungeonEntryInfoRsp_proto_goTypes = nil
+ file_DungeonEntryInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonEntryPointInfo.pb.go b/protocol/proto/DungeonEntryPointInfo.pb.go
new file mode 100644
index 00000000..b73954b5
--- /dev/null
+++ b/protocol/proto/DungeonEntryPointInfo.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonEntryPointInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonEntryPointInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,12,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ PointId uint32 `protobuf:"varint,6,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ DungeonEntryList []*DungeonEntryInfo `protobuf:"bytes,1,rep,name=dungeon_entry_list,json=dungeonEntryList,proto3" json:"dungeon_entry_list,omitempty"`
+ RecommendDungeonId uint32 `protobuf:"varint,8,opt,name=recommend_dungeon_id,json=recommendDungeonId,proto3" json:"recommend_dungeon_id,omitempty"`
+}
+
+func (x *DungeonEntryPointInfo) Reset() {
+ *x = DungeonEntryPointInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonEntryPointInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonEntryPointInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonEntryPointInfo) ProtoMessage() {}
+
+func (x *DungeonEntryPointInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonEntryPointInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonEntryPointInfo.ProtoReflect.Descriptor instead.
+func (*DungeonEntryPointInfo) Descriptor() ([]byte, []int) {
+ return file_DungeonEntryPointInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonEntryPointInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *DungeonEntryPointInfo) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *DungeonEntryPointInfo) GetDungeonEntryList() []*DungeonEntryInfo {
+ if x != nil {
+ return x.DungeonEntryList
+ }
+ return nil
+}
+
+func (x *DungeonEntryPointInfo) GetRecommendDungeonId() uint32 {
+ if x != nil {
+ return x.RecommendDungeonId
+ }
+ return 0
+}
+
+var File_DungeonEntryPointInfo_proto protoreflect.FileDescriptor
+
+var file_DungeonEntryPointInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x01, 0x0a,
+ 0x15, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x12,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x10, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
+ 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonEntryPointInfo_proto_rawDescOnce sync.Once
+ file_DungeonEntryPointInfo_proto_rawDescData = file_DungeonEntryPointInfo_proto_rawDesc
+)
+
+func file_DungeonEntryPointInfo_proto_rawDescGZIP() []byte {
+ file_DungeonEntryPointInfo_proto_rawDescOnce.Do(func() {
+ file_DungeonEntryPointInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonEntryPointInfo_proto_rawDescData)
+ })
+ return file_DungeonEntryPointInfo_proto_rawDescData
+}
+
+var file_DungeonEntryPointInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonEntryPointInfo_proto_goTypes = []interface{}{
+ (*DungeonEntryPointInfo)(nil), // 0: proto.DungeonEntryPointInfo
+ (*DungeonEntryInfo)(nil), // 1: proto.DungeonEntryInfo
+}
+var file_DungeonEntryPointInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonEntryPointInfo.dungeon_entry_list:type_name -> proto.DungeonEntryInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonEntryPointInfo_proto_init() }
+func file_DungeonEntryPointInfo_proto_init() {
+ if File_DungeonEntryPointInfo_proto != nil {
+ return
+ }
+ file_DungeonEntryInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonEntryPointInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonEntryPointInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonEntryPointInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonEntryPointInfo_proto_goTypes,
+ DependencyIndexes: file_DungeonEntryPointInfo_proto_depIdxs,
+ MessageInfos: file_DungeonEntryPointInfo_proto_msgTypes,
+ }.Build()
+ File_DungeonEntryPointInfo_proto = out.File
+ file_DungeonEntryPointInfo_proto_rawDesc = nil
+ file_DungeonEntryPointInfo_proto_goTypes = nil
+ file_DungeonEntryPointInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonEntryToBeExploreNotify.pb.go b/protocol/proto/DungeonEntryToBeExploreNotify.pb.go
new file mode 100644
index 00000000..2d8c3fca
--- /dev/null
+++ b/protocol/proto/DungeonEntryToBeExploreNotify.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonEntryToBeExploreNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3147
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonEntryToBeExploreNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonEntryScenePointId uint32 `protobuf:"varint,2,opt,name=dungeon_entry_scene_point_id,json=dungeonEntryScenePointId,proto3" json:"dungeon_entry_scene_point_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ DungeonEntryConfigId uint32 `protobuf:"varint,10,opt,name=dungeon_entry_config_id,json=dungeonEntryConfigId,proto3" json:"dungeon_entry_config_id,omitempty"`
+}
+
+func (x *DungeonEntryToBeExploreNotify) Reset() {
+ *x = DungeonEntryToBeExploreNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonEntryToBeExploreNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonEntryToBeExploreNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonEntryToBeExploreNotify) ProtoMessage() {}
+
+func (x *DungeonEntryToBeExploreNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonEntryToBeExploreNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonEntryToBeExploreNotify.ProtoReflect.Descriptor instead.
+func (*DungeonEntryToBeExploreNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonEntryToBeExploreNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonEntryToBeExploreNotify) GetDungeonEntryScenePointId() uint32 {
+ if x != nil {
+ return x.DungeonEntryScenePointId
+ }
+ return 0
+}
+
+func (x *DungeonEntryToBeExploreNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *DungeonEntryToBeExploreNotify) GetDungeonEntryConfigId() uint32 {
+ if x != nil {
+ return x.DungeonEntryConfigId
+ }
+ return 0
+}
+
+var File_DungeonEntryToBeExploreNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonEntryToBeExploreNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x54, 0x6f,
+ 0x42, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a,
+ 0x1d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x54, 0x6f, 0x42,
+ 0x65, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3e,
+ 0x0a, 0x1c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f,
+ 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonEntryToBeExploreNotify_proto_rawDescOnce sync.Once
+ file_DungeonEntryToBeExploreNotify_proto_rawDescData = file_DungeonEntryToBeExploreNotify_proto_rawDesc
+)
+
+func file_DungeonEntryToBeExploreNotify_proto_rawDescGZIP() []byte {
+ file_DungeonEntryToBeExploreNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonEntryToBeExploreNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonEntryToBeExploreNotify_proto_rawDescData)
+ })
+ return file_DungeonEntryToBeExploreNotify_proto_rawDescData
+}
+
+var file_DungeonEntryToBeExploreNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonEntryToBeExploreNotify_proto_goTypes = []interface{}{
+ (*DungeonEntryToBeExploreNotify)(nil), // 0: proto.DungeonEntryToBeExploreNotify
+}
+var file_DungeonEntryToBeExploreNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonEntryToBeExploreNotify_proto_init() }
+func file_DungeonEntryToBeExploreNotify_proto_init() {
+ if File_DungeonEntryToBeExploreNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonEntryToBeExploreNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonEntryToBeExploreNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonEntryToBeExploreNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonEntryToBeExploreNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonEntryToBeExploreNotify_proto_depIdxs,
+ MessageInfos: file_DungeonEntryToBeExploreNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonEntryToBeExploreNotify_proto = out.File
+ file_DungeonEntryToBeExploreNotify_proto_rawDesc = nil
+ file_DungeonEntryToBeExploreNotify_proto_goTypes = nil
+ file_DungeonEntryToBeExploreNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonFollowNotify.pb.go b/protocol/proto/DungeonFollowNotify.pb.go
new file mode 100644
index 00000000..99efcf24
--- /dev/null
+++ b/protocol/proto/DungeonFollowNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonFollowNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 922
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonFollowNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,8,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *DungeonFollowNotify) Reset() {
+ *x = DungeonFollowNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonFollowNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonFollowNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonFollowNotify) ProtoMessage() {}
+
+func (x *DungeonFollowNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonFollowNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonFollowNotify.ProtoReflect.Descriptor instead.
+func (*DungeonFollowNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonFollowNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonFollowNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_DungeonFollowNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonFollowNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x13, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46, 0x6f, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonFollowNotify_proto_rawDescOnce sync.Once
+ file_DungeonFollowNotify_proto_rawDescData = file_DungeonFollowNotify_proto_rawDesc
+)
+
+func file_DungeonFollowNotify_proto_rawDescGZIP() []byte {
+ file_DungeonFollowNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonFollowNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonFollowNotify_proto_rawDescData)
+ })
+ return file_DungeonFollowNotify_proto_rawDescData
+}
+
+var file_DungeonFollowNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonFollowNotify_proto_goTypes = []interface{}{
+ (*DungeonFollowNotify)(nil), // 0: proto.DungeonFollowNotify
+}
+var file_DungeonFollowNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonFollowNotify_proto_init() }
+func file_DungeonFollowNotify_proto_init() {
+ if File_DungeonFollowNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonFollowNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonFollowNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonFollowNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonFollowNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonFollowNotify_proto_depIdxs,
+ MessageInfos: file_DungeonFollowNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonFollowNotify_proto = out.File
+ file_DungeonFollowNotify_proto_rawDesc = nil
+ file_DungeonFollowNotify_proto_goTypes = nil
+ file_DungeonFollowNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonGetStatueDropReq.pb.go b/protocol/proto/DungeonGetStatueDropReq.pb.go
new file mode 100644
index 00000000..fc9374da
--- /dev/null
+++ b/protocol/proto/DungeonGetStatueDropReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonGetStatueDropReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 965
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonGetStatueDropReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DungeonGetStatueDropReq) Reset() {
+ *x = DungeonGetStatueDropReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonGetStatueDropReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonGetStatueDropReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonGetStatueDropReq) ProtoMessage() {}
+
+func (x *DungeonGetStatueDropReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonGetStatueDropReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonGetStatueDropReq.ProtoReflect.Descriptor instead.
+func (*DungeonGetStatueDropReq) Descriptor() ([]byte, []int) {
+ return file_DungeonGetStatueDropReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DungeonGetStatueDropReq_proto protoreflect.FileDescriptor
+
+var file_DungeonGetStatueDropReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonGetStatueDropReq_proto_rawDescOnce sync.Once
+ file_DungeonGetStatueDropReq_proto_rawDescData = file_DungeonGetStatueDropReq_proto_rawDesc
+)
+
+func file_DungeonGetStatueDropReq_proto_rawDescGZIP() []byte {
+ file_DungeonGetStatueDropReq_proto_rawDescOnce.Do(func() {
+ file_DungeonGetStatueDropReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonGetStatueDropReq_proto_rawDescData)
+ })
+ return file_DungeonGetStatueDropReq_proto_rawDescData
+}
+
+var file_DungeonGetStatueDropReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonGetStatueDropReq_proto_goTypes = []interface{}{
+ (*DungeonGetStatueDropReq)(nil), // 0: proto.DungeonGetStatueDropReq
+}
+var file_DungeonGetStatueDropReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonGetStatueDropReq_proto_init() }
+func file_DungeonGetStatueDropReq_proto_init() {
+ if File_DungeonGetStatueDropReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonGetStatueDropReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonGetStatueDropReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonGetStatueDropReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonGetStatueDropReq_proto_goTypes,
+ DependencyIndexes: file_DungeonGetStatueDropReq_proto_depIdxs,
+ MessageInfos: file_DungeonGetStatueDropReq_proto_msgTypes,
+ }.Build()
+ File_DungeonGetStatueDropReq_proto = out.File
+ file_DungeonGetStatueDropReq_proto_rawDesc = nil
+ file_DungeonGetStatueDropReq_proto_goTypes = nil
+ file_DungeonGetStatueDropReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonGetStatueDropRsp.pb.go b/protocol/proto/DungeonGetStatueDropRsp.pb.go
new file mode 100644
index 00000000..f4139ee4
--- /dev/null
+++ b/protocol/proto/DungeonGetStatueDropRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonGetStatueDropRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 904
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonGetStatueDropRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonGetStatueDropRsp) Reset() {
+ *x = DungeonGetStatueDropRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonGetStatueDropRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonGetStatueDropRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonGetStatueDropRsp) ProtoMessage() {}
+
+func (x *DungeonGetStatueDropRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonGetStatueDropRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonGetStatueDropRsp.ProtoReflect.Descriptor instead.
+func (*DungeonGetStatueDropRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonGetStatueDropRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonGetStatueDropRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonGetStatueDropRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonGetStatueDropRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonGetStatueDropRsp_proto_rawDescOnce sync.Once
+ file_DungeonGetStatueDropRsp_proto_rawDescData = file_DungeonGetStatueDropRsp_proto_rawDesc
+)
+
+func file_DungeonGetStatueDropRsp_proto_rawDescGZIP() []byte {
+ file_DungeonGetStatueDropRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonGetStatueDropRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonGetStatueDropRsp_proto_rawDescData)
+ })
+ return file_DungeonGetStatueDropRsp_proto_rawDescData
+}
+
+var file_DungeonGetStatueDropRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonGetStatueDropRsp_proto_goTypes = []interface{}{
+ (*DungeonGetStatueDropRsp)(nil), // 0: proto.DungeonGetStatueDropRsp
+}
+var file_DungeonGetStatueDropRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonGetStatueDropRsp_proto_init() }
+func file_DungeonGetStatueDropRsp_proto_init() {
+ if File_DungeonGetStatueDropRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonGetStatueDropRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonGetStatueDropRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonGetStatueDropRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonGetStatueDropRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonGetStatueDropRsp_proto_depIdxs,
+ MessageInfos: file_DungeonGetStatueDropRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonGetStatueDropRsp_proto = out.File
+ file_DungeonGetStatueDropRsp_proto_rawDesc = nil
+ file_DungeonGetStatueDropRsp_proto_goTypes = nil
+ file_DungeonGetStatueDropRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonInterruptChallengeReq.pb.go b/protocol/proto/DungeonInterruptChallengeReq.pb.go
new file mode 100644
index 00000000..07da2ba9
--- /dev/null
+++ b/protocol/proto/DungeonInterruptChallengeReq.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonInterruptChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 917
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonInterruptChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeIndex uint32 `protobuf:"varint,14,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ GroupId uint32 `protobuf:"varint,13,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,11,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *DungeonInterruptChallengeReq) Reset() {
+ *x = DungeonInterruptChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonInterruptChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonInterruptChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonInterruptChallengeReq) ProtoMessage() {}
+
+func (x *DungeonInterruptChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonInterruptChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonInterruptChallengeReq.ProtoReflect.Descriptor instead.
+func (*DungeonInterruptChallengeReq) Descriptor() ([]byte, []int) {
+ return file_DungeonInterruptChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonInterruptChallengeReq) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (x *DungeonInterruptChallengeReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *DungeonInterruptChallengeReq) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_DungeonInterruptChallengeReq_proto protoreflect.FileDescriptor
+
+var file_DungeonInterruptChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75,
+ 0x70, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x1c,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x0f,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
+ 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonInterruptChallengeReq_proto_rawDescOnce sync.Once
+ file_DungeonInterruptChallengeReq_proto_rawDescData = file_DungeonInterruptChallengeReq_proto_rawDesc
+)
+
+func file_DungeonInterruptChallengeReq_proto_rawDescGZIP() []byte {
+ file_DungeonInterruptChallengeReq_proto_rawDescOnce.Do(func() {
+ file_DungeonInterruptChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonInterruptChallengeReq_proto_rawDescData)
+ })
+ return file_DungeonInterruptChallengeReq_proto_rawDescData
+}
+
+var file_DungeonInterruptChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonInterruptChallengeReq_proto_goTypes = []interface{}{
+ (*DungeonInterruptChallengeReq)(nil), // 0: proto.DungeonInterruptChallengeReq
+}
+var file_DungeonInterruptChallengeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonInterruptChallengeReq_proto_init() }
+func file_DungeonInterruptChallengeReq_proto_init() {
+ if File_DungeonInterruptChallengeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonInterruptChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonInterruptChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonInterruptChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonInterruptChallengeReq_proto_goTypes,
+ DependencyIndexes: file_DungeonInterruptChallengeReq_proto_depIdxs,
+ MessageInfos: file_DungeonInterruptChallengeReq_proto_msgTypes,
+ }.Build()
+ File_DungeonInterruptChallengeReq_proto = out.File
+ file_DungeonInterruptChallengeReq_proto_rawDesc = nil
+ file_DungeonInterruptChallengeReq_proto_goTypes = nil
+ file_DungeonInterruptChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonInterruptChallengeRsp.pb.go b/protocol/proto/DungeonInterruptChallengeRsp.pb.go
new file mode 100644
index 00000000..66115a4c
--- /dev/null
+++ b/protocol/proto/DungeonInterruptChallengeRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonInterruptChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 902
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonInterruptChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,2,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+ GroupId uint32 `protobuf:"varint,15,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,11,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *DungeonInterruptChallengeRsp) Reset() {
+ *x = DungeonInterruptChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonInterruptChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonInterruptChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonInterruptChallengeRsp) ProtoMessage() {}
+
+func (x *DungeonInterruptChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonInterruptChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonInterruptChallengeRsp.ProtoReflect.Descriptor instead.
+func (*DungeonInterruptChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonInterruptChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonInterruptChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DungeonInterruptChallengeRsp) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+func (x *DungeonInterruptChallengeRsp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *DungeonInterruptChallengeRsp) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_DungeonInterruptChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonInterruptChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75,
+ 0x70, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x01, 0x0a, 0x1c,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
+ 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_DungeonInterruptChallengeRsp_proto_rawDescOnce sync.Once
+ file_DungeonInterruptChallengeRsp_proto_rawDescData = file_DungeonInterruptChallengeRsp_proto_rawDesc
+)
+
+func file_DungeonInterruptChallengeRsp_proto_rawDescGZIP() []byte {
+ file_DungeonInterruptChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonInterruptChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonInterruptChallengeRsp_proto_rawDescData)
+ })
+ return file_DungeonInterruptChallengeRsp_proto_rawDescData
+}
+
+var file_DungeonInterruptChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonInterruptChallengeRsp_proto_goTypes = []interface{}{
+ (*DungeonInterruptChallengeRsp)(nil), // 0: proto.DungeonInterruptChallengeRsp
+}
+var file_DungeonInterruptChallengeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonInterruptChallengeRsp_proto_init() }
+func file_DungeonInterruptChallengeRsp_proto_init() {
+ if File_DungeonInterruptChallengeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonInterruptChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonInterruptChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonInterruptChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonInterruptChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonInterruptChallengeRsp_proto_depIdxs,
+ MessageInfos: file_DungeonInterruptChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonInterruptChallengeRsp_proto = out.File
+ file_DungeonInterruptChallengeRsp_proto_rawDesc = nil
+ file_DungeonInterruptChallengeRsp_proto_goTypes = nil
+ file_DungeonInterruptChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonPlayerDieNotify.pb.go b/protocol/proto/DungeonPlayerDieNotify.pb.go
new file mode 100644
index 00000000..dde259d6
--- /dev/null
+++ b/protocol/proto/DungeonPlayerDieNotify.pb.go
@@ -0,0 +1,288 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonPlayerDieNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 931
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonPlayerDieNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StrengthenPointDataMap map[uint32]*StrengthenPointData `protobuf:"bytes,15,rep,name=strengthen_point_data_map,json=strengthenPointDataMap,proto3" json:"strengthen_point_data_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ WaitTime uint32 `protobuf:"varint,1,opt,name=wait_time,json=waitTime,proto3" json:"wait_time,omitempty"`
+ DungeonId uint32 `protobuf:"varint,9,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ MurdererEntityId uint32 `protobuf:"varint,13,opt,name=murderer_entity_id,json=murdererEntityId,proto3" json:"murderer_entity_id,omitempty"`
+ DieType PlayerDieType `protobuf:"varint,3,opt,name=die_type,json=dieType,proto3,enum=proto.PlayerDieType" json:"die_type,omitempty"`
+ ReviveCount uint32 `protobuf:"varint,6,opt,name=revive_count,json=reviveCount,proto3" json:"revive_count,omitempty"`
+ // Types that are assignable to Entity:
+ //
+ // *DungeonPlayerDieNotify_MonsterId
+ // *DungeonPlayerDieNotify_GadgetId
+ Entity isDungeonPlayerDieNotify_Entity `protobuf_oneof:"entity"`
+}
+
+func (x *DungeonPlayerDieNotify) Reset() {
+ *x = DungeonPlayerDieNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonPlayerDieNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonPlayerDieNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonPlayerDieNotify) ProtoMessage() {}
+
+func (x *DungeonPlayerDieNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonPlayerDieNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonPlayerDieNotify.ProtoReflect.Descriptor instead.
+func (*DungeonPlayerDieNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonPlayerDieNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonPlayerDieNotify) GetStrengthenPointDataMap() map[uint32]*StrengthenPointData {
+ if x != nil {
+ return x.StrengthenPointDataMap
+ }
+ return nil
+}
+
+func (x *DungeonPlayerDieNotify) GetWaitTime() uint32 {
+ if x != nil {
+ return x.WaitTime
+ }
+ return 0
+}
+
+func (x *DungeonPlayerDieNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *DungeonPlayerDieNotify) GetMurdererEntityId() uint32 {
+ if x != nil {
+ return x.MurdererEntityId
+ }
+ return 0
+}
+
+func (x *DungeonPlayerDieNotify) GetDieType() PlayerDieType {
+ if x != nil {
+ return x.DieType
+ }
+ return PlayerDieType_PLAYER_DIE_TYPE_NONE
+}
+
+func (x *DungeonPlayerDieNotify) GetReviveCount() uint32 {
+ if x != nil {
+ return x.ReviveCount
+ }
+ return 0
+}
+
+func (m *DungeonPlayerDieNotify) GetEntity() isDungeonPlayerDieNotify_Entity {
+ if m != nil {
+ return m.Entity
+ }
+ return nil
+}
+
+func (x *DungeonPlayerDieNotify) GetMonsterId() uint32 {
+ if x, ok := x.GetEntity().(*DungeonPlayerDieNotify_MonsterId); ok {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *DungeonPlayerDieNotify) GetGadgetId() uint32 {
+ if x, ok := x.GetEntity().(*DungeonPlayerDieNotify_GadgetId); ok {
+ return x.GadgetId
+ }
+ return 0
+}
+
+type isDungeonPlayerDieNotify_Entity interface {
+ isDungeonPlayerDieNotify_Entity()
+}
+
+type DungeonPlayerDieNotify_MonsterId struct {
+ MonsterId uint32 `protobuf:"varint,4,opt,name=monster_id,json=monsterId,proto3,oneof"`
+}
+
+type DungeonPlayerDieNotify_GadgetId struct {
+ GadgetId uint32 `protobuf:"varint,8,opt,name=gadget_id,json=gadgetId,proto3,oneof"`
+}
+
+func (*DungeonPlayerDieNotify_MonsterId) isDungeonPlayerDieNotify_Entity() {}
+
+func (*DungeonPlayerDieNotify_GadgetId) isDungeonPlayerDieNotify_Entity() {}
+
+var File_DungeonPlayerDieNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonPlayerDieNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44,
+ 0x69, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x53, 0x74, 0x72, 0x65,
+ 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x03, 0x0a, 0x16, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x74, 0x0a, 0x19, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16,
+ 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x61, 0x69, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x72, 0x64, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10,
+ 0x6d, 0x75, 0x72, 0x64, 0x65, 0x72, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x2f, 0x0a, 0x08, 0x64, 0x69, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x44, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x64, 0x69, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x76, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x76, 0x65, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x49, 0x64, 0x1a, 0x65, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68,
+ 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x72,
+ 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonPlayerDieNotify_proto_rawDescOnce sync.Once
+ file_DungeonPlayerDieNotify_proto_rawDescData = file_DungeonPlayerDieNotify_proto_rawDesc
+)
+
+func file_DungeonPlayerDieNotify_proto_rawDescGZIP() []byte {
+ file_DungeonPlayerDieNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonPlayerDieNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonPlayerDieNotify_proto_rawDescData)
+ })
+ return file_DungeonPlayerDieNotify_proto_rawDescData
+}
+
+var file_DungeonPlayerDieNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_DungeonPlayerDieNotify_proto_goTypes = []interface{}{
+ (*DungeonPlayerDieNotify)(nil), // 0: proto.DungeonPlayerDieNotify
+ nil, // 1: proto.DungeonPlayerDieNotify.StrengthenPointDataMapEntry
+ (PlayerDieType)(0), // 2: proto.PlayerDieType
+ (*StrengthenPointData)(nil), // 3: proto.StrengthenPointData
+}
+var file_DungeonPlayerDieNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonPlayerDieNotify.strengthen_point_data_map:type_name -> proto.DungeonPlayerDieNotify.StrengthenPointDataMapEntry
+ 2, // 1: proto.DungeonPlayerDieNotify.die_type:type_name -> proto.PlayerDieType
+ 3, // 2: proto.DungeonPlayerDieNotify.StrengthenPointDataMapEntry.value:type_name -> proto.StrengthenPointData
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_DungeonPlayerDieNotify_proto_init() }
+func file_DungeonPlayerDieNotify_proto_init() {
+ if File_DungeonPlayerDieNotify_proto != nil {
+ return
+ }
+ file_PlayerDieType_proto_init()
+ file_StrengthenPointData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonPlayerDieNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonPlayerDieNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_DungeonPlayerDieNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*DungeonPlayerDieNotify_MonsterId)(nil),
+ (*DungeonPlayerDieNotify_GadgetId)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonPlayerDieNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonPlayerDieNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonPlayerDieNotify_proto_depIdxs,
+ MessageInfos: file_DungeonPlayerDieNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonPlayerDieNotify_proto = out.File
+ file_DungeonPlayerDieNotify_proto_rawDesc = nil
+ file_DungeonPlayerDieNotify_proto_goTypes = nil
+ file_DungeonPlayerDieNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonPlayerDieReq.pb.go b/protocol/proto/DungeonPlayerDieReq.pb.go
new file mode 100644
index 00000000..5b1c97ab
--- /dev/null
+++ b/protocol/proto/DungeonPlayerDieReq.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonPlayerDieReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 981
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonPlayerDieReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DieType PlayerDieType `protobuf:"varint,6,opt,name=die_type,json=dieType,proto3,enum=proto.PlayerDieType" json:"die_type,omitempty"`
+ DungeonId uint32 `protobuf:"varint,8,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *DungeonPlayerDieReq) Reset() {
+ *x = DungeonPlayerDieReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonPlayerDieReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonPlayerDieReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonPlayerDieReq) ProtoMessage() {}
+
+func (x *DungeonPlayerDieReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonPlayerDieReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonPlayerDieReq.ProtoReflect.Descriptor instead.
+func (*DungeonPlayerDieReq) Descriptor() ([]byte, []int) {
+ return file_DungeonPlayerDieReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonPlayerDieReq) GetDieType() PlayerDieType {
+ if x != nil {
+ return x.DieType
+ }
+ return PlayerDieType_PLAYER_DIE_TYPE_NONE
+}
+
+func (x *DungeonPlayerDieReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_DungeonPlayerDieReq_proto protoreflect.FileDescriptor
+
+var file_DungeonPlayerDieReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44,
+ 0x69, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x13, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2f,
+ 0x0a, 0x08, 0x64, 0x69, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44,
+ 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x64, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DungeonPlayerDieReq_proto_rawDescOnce sync.Once
+ file_DungeonPlayerDieReq_proto_rawDescData = file_DungeonPlayerDieReq_proto_rawDesc
+)
+
+func file_DungeonPlayerDieReq_proto_rawDescGZIP() []byte {
+ file_DungeonPlayerDieReq_proto_rawDescOnce.Do(func() {
+ file_DungeonPlayerDieReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonPlayerDieReq_proto_rawDescData)
+ })
+ return file_DungeonPlayerDieReq_proto_rawDescData
+}
+
+var file_DungeonPlayerDieReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonPlayerDieReq_proto_goTypes = []interface{}{
+ (*DungeonPlayerDieReq)(nil), // 0: proto.DungeonPlayerDieReq
+ (PlayerDieType)(0), // 1: proto.PlayerDieType
+}
+var file_DungeonPlayerDieReq_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonPlayerDieReq.die_type:type_name -> proto.PlayerDieType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DungeonPlayerDieReq_proto_init() }
+func file_DungeonPlayerDieReq_proto_init() {
+ if File_DungeonPlayerDieReq_proto != nil {
+ return
+ }
+ file_PlayerDieType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonPlayerDieReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonPlayerDieReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonPlayerDieReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonPlayerDieReq_proto_goTypes,
+ DependencyIndexes: file_DungeonPlayerDieReq_proto_depIdxs,
+ MessageInfos: file_DungeonPlayerDieReq_proto_msgTypes,
+ }.Build()
+ File_DungeonPlayerDieReq_proto = out.File
+ file_DungeonPlayerDieReq_proto_rawDesc = nil
+ file_DungeonPlayerDieReq_proto_goTypes = nil
+ file_DungeonPlayerDieReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonPlayerDieRsp.pb.go b/protocol/proto/DungeonPlayerDieRsp.pb.go
new file mode 100644
index 00000000..73978424
--- /dev/null
+++ b/protocol/proto/DungeonPlayerDieRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonPlayerDieRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 905
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonPlayerDieRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonPlayerDieRsp) Reset() {
+ *x = DungeonPlayerDieRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonPlayerDieRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonPlayerDieRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonPlayerDieRsp) ProtoMessage() {}
+
+func (x *DungeonPlayerDieRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonPlayerDieRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonPlayerDieRsp.ProtoReflect.Descriptor instead.
+func (*DungeonPlayerDieRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonPlayerDieRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonPlayerDieRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonPlayerDieRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonPlayerDieRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44,
+ 0x69, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x13, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonPlayerDieRsp_proto_rawDescOnce sync.Once
+ file_DungeonPlayerDieRsp_proto_rawDescData = file_DungeonPlayerDieRsp_proto_rawDesc
+)
+
+func file_DungeonPlayerDieRsp_proto_rawDescGZIP() []byte {
+ file_DungeonPlayerDieRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonPlayerDieRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonPlayerDieRsp_proto_rawDescData)
+ })
+ return file_DungeonPlayerDieRsp_proto_rawDescData
+}
+
+var file_DungeonPlayerDieRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonPlayerDieRsp_proto_goTypes = []interface{}{
+ (*DungeonPlayerDieRsp)(nil), // 0: proto.DungeonPlayerDieRsp
+}
+var file_DungeonPlayerDieRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonPlayerDieRsp_proto_init() }
+func file_DungeonPlayerDieRsp_proto_init() {
+ if File_DungeonPlayerDieRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonPlayerDieRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonPlayerDieRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonPlayerDieRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonPlayerDieRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonPlayerDieRsp_proto_depIdxs,
+ MessageInfos: file_DungeonPlayerDieRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonPlayerDieRsp_proto = out.File
+ file_DungeonPlayerDieRsp_proto_rawDesc = nil
+ file_DungeonPlayerDieRsp_proto_goTypes = nil
+ file_DungeonPlayerDieRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonRestartInviteNotify.pb.go b/protocol/proto/DungeonRestartInviteNotify.pb.go
new file mode 100644
index 00000000..b1537c7c
--- /dev/null
+++ b/protocol/proto/DungeonRestartInviteNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonRestartInviteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 957
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonRestartInviteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerUid uint32 `protobuf:"varint,3,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+ Cd uint32 `protobuf:"varint,15,opt,name=cd,proto3" json:"cd,omitempty"`
+ PointId uint32 `protobuf:"varint,13,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ DungeonId uint32 `protobuf:"varint,10,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *DungeonRestartInviteNotify) Reset() {
+ *x = DungeonRestartInviteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonRestartInviteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonRestartInviteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonRestartInviteNotify) ProtoMessage() {}
+
+func (x *DungeonRestartInviteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonRestartInviteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonRestartInviteNotify.ProtoReflect.Descriptor instead.
+func (*DungeonRestartInviteNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonRestartInviteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonRestartInviteNotify) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+func (x *DungeonRestartInviteNotify) GetCd() uint32 {
+ if x != nil {
+ return x.Cd
+ }
+ return 0
+}
+
+func (x *DungeonRestartInviteNotify) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *DungeonRestartInviteNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_DungeonRestartInviteNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonRestartInviteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x1a, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x02, 0x63, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonRestartInviteNotify_proto_rawDescOnce sync.Once
+ file_DungeonRestartInviteNotify_proto_rawDescData = file_DungeonRestartInviteNotify_proto_rawDesc
+)
+
+func file_DungeonRestartInviteNotify_proto_rawDescGZIP() []byte {
+ file_DungeonRestartInviteNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonRestartInviteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonRestartInviteNotify_proto_rawDescData)
+ })
+ return file_DungeonRestartInviteNotify_proto_rawDescData
+}
+
+var file_DungeonRestartInviteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonRestartInviteNotify_proto_goTypes = []interface{}{
+ (*DungeonRestartInviteNotify)(nil), // 0: proto.DungeonRestartInviteNotify
+}
+var file_DungeonRestartInviteNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonRestartInviteNotify_proto_init() }
+func file_DungeonRestartInviteNotify_proto_init() {
+ if File_DungeonRestartInviteNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonRestartInviteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonRestartInviteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonRestartInviteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonRestartInviteNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonRestartInviteNotify_proto_depIdxs,
+ MessageInfos: file_DungeonRestartInviteNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonRestartInviteNotify_proto = out.File
+ file_DungeonRestartInviteNotify_proto_rawDesc = nil
+ file_DungeonRestartInviteNotify_proto_goTypes = nil
+ file_DungeonRestartInviteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonRestartInviteReplyNotify.pb.go b/protocol/proto/DungeonRestartInviteReplyNotify.pb.go
new file mode 100644
index 00000000..c2618a0f
--- /dev/null
+++ b/protocol/proto/DungeonRestartInviteReplyNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonRestartInviteReplyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 987
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonRestartInviteReplyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAccept bool `protobuf:"varint,6,opt,name=is_accept,json=isAccept,proto3" json:"is_accept,omitempty"`
+ PlayerUid uint32 `protobuf:"varint,9,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+}
+
+func (x *DungeonRestartInviteReplyNotify) Reset() {
+ *x = DungeonRestartInviteReplyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonRestartInviteReplyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonRestartInviteReplyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonRestartInviteReplyNotify) ProtoMessage() {}
+
+func (x *DungeonRestartInviteReplyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonRestartInviteReplyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonRestartInviteReplyNotify.ProtoReflect.Descriptor instead.
+func (*DungeonRestartInviteReplyNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonRestartInviteReplyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonRestartInviteReplyNotify) GetIsAccept() bool {
+ if x != nil {
+ return x.IsAccept
+ }
+ return false
+}
+
+func (x *DungeonRestartInviteReplyNotify) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+var File_DungeonRestartInviteReplyNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonRestartInviteReplyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d,
+ 0x0a, 0x1f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_DungeonRestartInviteReplyNotify_proto_rawDescOnce sync.Once
+ file_DungeonRestartInviteReplyNotify_proto_rawDescData = file_DungeonRestartInviteReplyNotify_proto_rawDesc
+)
+
+func file_DungeonRestartInviteReplyNotify_proto_rawDescGZIP() []byte {
+ file_DungeonRestartInviteReplyNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonRestartInviteReplyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonRestartInviteReplyNotify_proto_rawDescData)
+ })
+ return file_DungeonRestartInviteReplyNotify_proto_rawDescData
+}
+
+var file_DungeonRestartInviteReplyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonRestartInviteReplyNotify_proto_goTypes = []interface{}{
+ (*DungeonRestartInviteReplyNotify)(nil), // 0: proto.DungeonRestartInviteReplyNotify
+}
+var file_DungeonRestartInviteReplyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonRestartInviteReplyNotify_proto_init() }
+func file_DungeonRestartInviteReplyNotify_proto_init() {
+ if File_DungeonRestartInviteReplyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonRestartInviteReplyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonRestartInviteReplyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonRestartInviteReplyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonRestartInviteReplyNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonRestartInviteReplyNotify_proto_depIdxs,
+ MessageInfos: file_DungeonRestartInviteReplyNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonRestartInviteReplyNotify_proto = out.File
+ file_DungeonRestartInviteReplyNotify_proto_rawDesc = nil
+ file_DungeonRestartInviteReplyNotify_proto_goTypes = nil
+ file_DungeonRestartInviteReplyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonRestartInviteReplyReq.pb.go b/protocol/proto/DungeonRestartInviteReplyReq.pb.go
new file mode 100644
index 00000000..3adc2bb6
--- /dev/null
+++ b/protocol/proto/DungeonRestartInviteReplyReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonRestartInviteReplyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1000
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonRestartInviteReplyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAccept bool `protobuf:"varint,11,opt,name=is_accept,json=isAccept,proto3" json:"is_accept,omitempty"`
+}
+
+func (x *DungeonRestartInviteReplyReq) Reset() {
+ *x = DungeonRestartInviteReplyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonRestartInviteReplyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonRestartInviteReplyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonRestartInviteReplyReq) ProtoMessage() {}
+
+func (x *DungeonRestartInviteReplyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonRestartInviteReplyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonRestartInviteReplyReq.ProtoReflect.Descriptor instead.
+func (*DungeonRestartInviteReplyReq) Descriptor() ([]byte, []int) {
+ return file_DungeonRestartInviteReplyReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonRestartInviteReplyReq) GetIsAccept() bool {
+ if x != nil {
+ return x.IsAccept
+ }
+ return false
+}
+
+var File_DungeonRestartInviteReplyReq_proto protoreflect.FileDescriptor
+
+var file_DungeonRestartInviteReplyReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x1c, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76,
+ 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonRestartInviteReplyReq_proto_rawDescOnce sync.Once
+ file_DungeonRestartInviteReplyReq_proto_rawDescData = file_DungeonRestartInviteReplyReq_proto_rawDesc
+)
+
+func file_DungeonRestartInviteReplyReq_proto_rawDescGZIP() []byte {
+ file_DungeonRestartInviteReplyReq_proto_rawDescOnce.Do(func() {
+ file_DungeonRestartInviteReplyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonRestartInviteReplyReq_proto_rawDescData)
+ })
+ return file_DungeonRestartInviteReplyReq_proto_rawDescData
+}
+
+var file_DungeonRestartInviteReplyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonRestartInviteReplyReq_proto_goTypes = []interface{}{
+ (*DungeonRestartInviteReplyReq)(nil), // 0: proto.DungeonRestartInviteReplyReq
+}
+var file_DungeonRestartInviteReplyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonRestartInviteReplyReq_proto_init() }
+func file_DungeonRestartInviteReplyReq_proto_init() {
+ if File_DungeonRestartInviteReplyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonRestartInviteReplyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonRestartInviteReplyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonRestartInviteReplyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonRestartInviteReplyReq_proto_goTypes,
+ DependencyIndexes: file_DungeonRestartInviteReplyReq_proto_depIdxs,
+ MessageInfos: file_DungeonRestartInviteReplyReq_proto_msgTypes,
+ }.Build()
+ File_DungeonRestartInviteReplyReq_proto = out.File
+ file_DungeonRestartInviteReplyReq_proto_rawDesc = nil
+ file_DungeonRestartInviteReplyReq_proto_goTypes = nil
+ file_DungeonRestartInviteReplyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonRestartInviteReplyRsp.pb.go b/protocol/proto/DungeonRestartInviteReplyRsp.pb.go
new file mode 100644
index 00000000..a670a384
--- /dev/null
+++ b/protocol/proto/DungeonRestartInviteReplyRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonRestartInviteReplyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 916
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonRestartInviteReplyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAccept bool `protobuf:"varint,10,opt,name=is_accept,json=isAccept,proto3" json:"is_accept,omitempty"`
+ IsTransPoint bool `protobuf:"varint,1,opt,name=is_trans_point,json=isTransPoint,proto3" json:"is_trans_point,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonRestartInviteReplyRsp) Reset() {
+ *x = DungeonRestartInviteReplyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonRestartInviteReplyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonRestartInviteReplyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonRestartInviteReplyRsp) ProtoMessage() {}
+
+func (x *DungeonRestartInviteReplyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonRestartInviteReplyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonRestartInviteReplyRsp.ProtoReflect.Descriptor instead.
+func (*DungeonRestartInviteReplyRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonRestartInviteReplyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonRestartInviteReplyRsp) GetIsAccept() bool {
+ if x != nil {
+ return x.IsAccept
+ }
+ return false
+}
+
+func (x *DungeonRestartInviteReplyRsp) GetIsTransPoint() bool {
+ if x != nil {
+ return x.IsTransPoint
+ }
+ return false
+}
+
+func (x *DungeonRestartInviteReplyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonRestartInviteReplyRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonRestartInviteReplyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x1c, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76,
+ 0x69, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonRestartInviteReplyRsp_proto_rawDescOnce sync.Once
+ file_DungeonRestartInviteReplyRsp_proto_rawDescData = file_DungeonRestartInviteReplyRsp_proto_rawDesc
+)
+
+func file_DungeonRestartInviteReplyRsp_proto_rawDescGZIP() []byte {
+ file_DungeonRestartInviteReplyRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonRestartInviteReplyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonRestartInviteReplyRsp_proto_rawDescData)
+ })
+ return file_DungeonRestartInviteReplyRsp_proto_rawDescData
+}
+
+var file_DungeonRestartInviteReplyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonRestartInviteReplyRsp_proto_goTypes = []interface{}{
+ (*DungeonRestartInviteReplyRsp)(nil), // 0: proto.DungeonRestartInviteReplyRsp
+}
+var file_DungeonRestartInviteReplyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonRestartInviteReplyRsp_proto_init() }
+func file_DungeonRestartInviteReplyRsp_proto_init() {
+ if File_DungeonRestartInviteReplyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonRestartInviteReplyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonRestartInviteReplyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonRestartInviteReplyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonRestartInviteReplyRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonRestartInviteReplyRsp_proto_depIdxs,
+ MessageInfos: file_DungeonRestartInviteReplyRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonRestartInviteReplyRsp_proto = out.File
+ file_DungeonRestartInviteReplyRsp_proto_rawDesc = nil
+ file_DungeonRestartInviteReplyRsp_proto_goTypes = nil
+ file_DungeonRestartInviteReplyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonRestartReq.pb.go b/protocol/proto/DungeonRestartReq.pb.go
new file mode 100644
index 00000000..5d528373
--- /dev/null
+++ b/protocol/proto/DungeonRestartReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonRestartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 961
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonRestartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *DungeonRestartReq) Reset() {
+ *x = DungeonRestartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonRestartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonRestartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonRestartReq) ProtoMessage() {}
+
+func (x *DungeonRestartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonRestartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonRestartReq.ProtoReflect.Descriptor instead.
+func (*DungeonRestartReq) Descriptor() ([]byte, []int) {
+ return file_DungeonRestartReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_DungeonRestartReq_proto protoreflect.FileDescriptor
+
+var file_DungeonRestartReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x13, 0x0a, 0x11, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonRestartReq_proto_rawDescOnce sync.Once
+ file_DungeonRestartReq_proto_rawDescData = file_DungeonRestartReq_proto_rawDesc
+)
+
+func file_DungeonRestartReq_proto_rawDescGZIP() []byte {
+ file_DungeonRestartReq_proto_rawDescOnce.Do(func() {
+ file_DungeonRestartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonRestartReq_proto_rawDescData)
+ })
+ return file_DungeonRestartReq_proto_rawDescData
+}
+
+var file_DungeonRestartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonRestartReq_proto_goTypes = []interface{}{
+ (*DungeonRestartReq)(nil), // 0: proto.DungeonRestartReq
+}
+var file_DungeonRestartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonRestartReq_proto_init() }
+func file_DungeonRestartReq_proto_init() {
+ if File_DungeonRestartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonRestartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonRestartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonRestartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonRestartReq_proto_goTypes,
+ DependencyIndexes: file_DungeonRestartReq_proto_depIdxs,
+ MessageInfos: file_DungeonRestartReq_proto_msgTypes,
+ }.Build()
+ File_DungeonRestartReq_proto = out.File
+ file_DungeonRestartReq_proto_rawDesc = nil
+ file_DungeonRestartReq_proto_goTypes = nil
+ file_DungeonRestartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonRestartResultNotify.pb.go b/protocol/proto/DungeonRestartResultNotify.pb.go
new file mode 100644
index 00000000..9506c94a
--- /dev/null
+++ b/protocol/proto/DungeonRestartResultNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonRestartResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 940
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonRestartResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAddAccpet bool `protobuf:"varint,9,opt,name=is_add_accpet,json=isAddAccpet,proto3" json:"is_add_accpet,omitempty"`
+}
+
+func (x *DungeonRestartResultNotify) Reset() {
+ *x = DungeonRestartResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonRestartResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonRestartResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonRestartResultNotify) ProtoMessage() {}
+
+func (x *DungeonRestartResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonRestartResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonRestartResultNotify.ProtoReflect.Descriptor instead.
+func (*DungeonRestartResultNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonRestartResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonRestartResultNotify) GetIsAddAccpet() bool {
+ if x != nil {
+ return x.IsAddAccpet
+ }
+ return false
+}
+
+var File_DungeonRestartResultNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonRestartResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x1a, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x64,
+ 0x64, 0x5f, 0x61, 0x63, 0x63, 0x70, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
+ 0x69, 0x73, 0x41, 0x64, 0x64, 0x41, 0x63, 0x63, 0x70, 0x65, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonRestartResultNotify_proto_rawDescOnce sync.Once
+ file_DungeonRestartResultNotify_proto_rawDescData = file_DungeonRestartResultNotify_proto_rawDesc
+)
+
+func file_DungeonRestartResultNotify_proto_rawDescGZIP() []byte {
+ file_DungeonRestartResultNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonRestartResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonRestartResultNotify_proto_rawDescData)
+ })
+ return file_DungeonRestartResultNotify_proto_rawDescData
+}
+
+var file_DungeonRestartResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonRestartResultNotify_proto_goTypes = []interface{}{
+ (*DungeonRestartResultNotify)(nil), // 0: proto.DungeonRestartResultNotify
+}
+var file_DungeonRestartResultNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonRestartResultNotify_proto_init() }
+func file_DungeonRestartResultNotify_proto_init() {
+ if File_DungeonRestartResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonRestartResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonRestartResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonRestartResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonRestartResultNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonRestartResultNotify_proto_depIdxs,
+ MessageInfos: file_DungeonRestartResultNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonRestartResultNotify_proto = out.File
+ file_DungeonRestartResultNotify_proto_rawDesc = nil
+ file_DungeonRestartResultNotify_proto_goTypes = nil
+ file_DungeonRestartResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonRestartRsp.pb.go b/protocol/proto/DungeonRestartRsp.pb.go
new file mode 100644
index 00000000..5ac18a8f
--- /dev/null
+++ b/protocol/proto/DungeonRestartRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonRestartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 929
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonRestartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,15,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PointId uint32 `protobuf:"varint,14,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *DungeonRestartRsp) Reset() {
+ *x = DungeonRestartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonRestartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonRestartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonRestartRsp) ProtoMessage() {}
+
+func (x *DungeonRestartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonRestartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonRestartRsp.ProtoReflect.Descriptor instead.
+func (*DungeonRestartRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonRestartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonRestartRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *DungeonRestartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DungeonRestartRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_DungeonRestartRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonRestartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x67, 0x0a, 0x11, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19,
+ 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonRestartRsp_proto_rawDescOnce sync.Once
+ file_DungeonRestartRsp_proto_rawDescData = file_DungeonRestartRsp_proto_rawDesc
+)
+
+func file_DungeonRestartRsp_proto_rawDescGZIP() []byte {
+ file_DungeonRestartRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonRestartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonRestartRsp_proto_rawDescData)
+ })
+ return file_DungeonRestartRsp_proto_rawDescData
+}
+
+var file_DungeonRestartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonRestartRsp_proto_goTypes = []interface{}{
+ (*DungeonRestartRsp)(nil), // 0: proto.DungeonRestartRsp
+}
+var file_DungeonRestartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonRestartRsp_proto_init() }
+func file_DungeonRestartRsp_proto_init() {
+ if File_DungeonRestartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonRestartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonRestartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonRestartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonRestartRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonRestartRsp_proto_depIdxs,
+ MessageInfos: file_DungeonRestartRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonRestartRsp_proto = out.File
+ file_DungeonRestartRsp_proto_rawDesc = nil
+ file_DungeonRestartRsp_proto_goTypes = nil
+ file_DungeonRestartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonReviseLevelNotify.pb.go b/protocol/proto/DungeonReviseLevelNotify.pb.go
new file mode 100644
index 00000000..e1e09845
--- /dev/null
+++ b/protocol/proto/DungeonReviseLevelNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonReviseLevelNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 933
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonReviseLevelNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneLevel uint32 `protobuf:"varint,5,opt,name=scene_level,json=sceneLevel,proto3" json:"scene_level,omitempty"`
+ ReviseLevel uint32 `protobuf:"varint,10,opt,name=revise_level,json=reviseLevel,proto3" json:"revise_level,omitempty"`
+ DungeonId uint32 `protobuf:"varint,3,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *DungeonReviseLevelNotify) Reset() {
+ *x = DungeonReviseLevelNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonReviseLevelNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonReviseLevelNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonReviseLevelNotify) ProtoMessage() {}
+
+func (x *DungeonReviseLevelNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonReviseLevelNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonReviseLevelNotify.ProtoReflect.Descriptor instead.
+func (*DungeonReviseLevelNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonReviseLevelNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonReviseLevelNotify) GetSceneLevel() uint32 {
+ if x != nil {
+ return x.SceneLevel
+ }
+ return 0
+}
+
+func (x *DungeonReviseLevelNotify) GetReviseLevel() uint32 {
+ if x != nil {
+ return x.ReviseLevel
+ }
+ return 0
+}
+
+func (x *DungeonReviseLevelNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_DungeonReviseLevelNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonReviseLevelNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x18, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x76, 0x69, 0x73, 0x65, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x76, 0x69,
+ 0x73, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonReviseLevelNotify_proto_rawDescOnce sync.Once
+ file_DungeonReviseLevelNotify_proto_rawDescData = file_DungeonReviseLevelNotify_proto_rawDesc
+)
+
+func file_DungeonReviseLevelNotify_proto_rawDescGZIP() []byte {
+ file_DungeonReviseLevelNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonReviseLevelNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonReviseLevelNotify_proto_rawDescData)
+ })
+ return file_DungeonReviseLevelNotify_proto_rawDescData
+}
+
+var file_DungeonReviseLevelNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonReviseLevelNotify_proto_goTypes = []interface{}{
+ (*DungeonReviseLevelNotify)(nil), // 0: proto.DungeonReviseLevelNotify
+}
+var file_DungeonReviseLevelNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonReviseLevelNotify_proto_init() }
+func file_DungeonReviseLevelNotify_proto_init() {
+ if File_DungeonReviseLevelNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonReviseLevelNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonReviseLevelNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonReviseLevelNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonReviseLevelNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonReviseLevelNotify_proto_depIdxs,
+ MessageInfos: file_DungeonReviseLevelNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonReviseLevelNotify_proto = out.File
+ file_DungeonReviseLevelNotify_proto_rawDesc = nil
+ file_DungeonReviseLevelNotify_proto_goTypes = nil
+ file_DungeonReviseLevelNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonSettleExhibitionInfo.pb.go b/protocol/proto/DungeonSettleExhibitionInfo.pb.go
new file mode 100644
index 00000000..229653f3
--- /dev/null
+++ b/protocol/proto/DungeonSettleExhibitionInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonSettleExhibitionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DungeonSettleExhibitionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerInfo *OnlinePlayerInfo `protobuf:"bytes,3,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+ CardList []*ExhibitionDisplayInfo `protobuf:"bytes,13,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+}
+
+func (x *DungeonSettleExhibitionInfo) Reset() {
+ *x = DungeonSettleExhibitionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonSettleExhibitionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonSettleExhibitionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonSettleExhibitionInfo) ProtoMessage() {}
+
+func (x *DungeonSettleExhibitionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonSettleExhibitionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonSettleExhibitionInfo.ProtoReflect.Descriptor instead.
+func (*DungeonSettleExhibitionInfo) Descriptor() ([]byte, []int) {
+ return file_DungeonSettleExhibitionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonSettleExhibitionInfo) GetPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+func (x *DungeonSettleExhibitionInfo) GetCardList() []*ExhibitionDisplayInfo {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+var File_DungeonSettleExhibitionInfo_proto protoreflect.FileDescriptor
+
+var file_DungeonSettleExhibitionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x45,
+ 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x78, 0x68, 0x69,
+ 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x92, 0x01, 0x0a, 0x1b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x38, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x61, 0x72,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonSettleExhibitionInfo_proto_rawDescOnce sync.Once
+ file_DungeonSettleExhibitionInfo_proto_rawDescData = file_DungeonSettleExhibitionInfo_proto_rawDesc
+)
+
+func file_DungeonSettleExhibitionInfo_proto_rawDescGZIP() []byte {
+ file_DungeonSettleExhibitionInfo_proto_rawDescOnce.Do(func() {
+ file_DungeonSettleExhibitionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonSettleExhibitionInfo_proto_rawDescData)
+ })
+ return file_DungeonSettleExhibitionInfo_proto_rawDescData
+}
+
+var file_DungeonSettleExhibitionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonSettleExhibitionInfo_proto_goTypes = []interface{}{
+ (*DungeonSettleExhibitionInfo)(nil), // 0: proto.DungeonSettleExhibitionInfo
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+ (*ExhibitionDisplayInfo)(nil), // 2: proto.ExhibitionDisplayInfo
+}
+var file_DungeonSettleExhibitionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonSettleExhibitionInfo.player_info:type_name -> proto.OnlinePlayerInfo
+ 2, // 1: proto.DungeonSettleExhibitionInfo.card_list:type_name -> proto.ExhibitionDisplayInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_DungeonSettleExhibitionInfo_proto_init() }
+func file_DungeonSettleExhibitionInfo_proto_init() {
+ if File_DungeonSettleExhibitionInfo_proto != nil {
+ return
+ }
+ file_ExhibitionDisplayInfo_proto_init()
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonSettleExhibitionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonSettleExhibitionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonSettleExhibitionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonSettleExhibitionInfo_proto_goTypes,
+ DependencyIndexes: file_DungeonSettleExhibitionInfo_proto_depIdxs,
+ MessageInfos: file_DungeonSettleExhibitionInfo_proto_msgTypes,
+ }.Build()
+ File_DungeonSettleExhibitionInfo_proto = out.File
+ file_DungeonSettleExhibitionInfo_proto_rawDesc = nil
+ file_DungeonSettleExhibitionInfo_proto_goTypes = nil
+ file_DungeonSettleExhibitionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonSettleNotify.pb.go b/protocol/proto/DungeonSettleNotify.pb.go
new file mode 100644
index 00000000..4e00b470
--- /dev/null
+++ b/protocol/proto/DungeonSettleNotify.pb.go
@@ -0,0 +1,580 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 999
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Result uint32 `protobuf:"varint,10,opt,name=result,proto3" json:"result,omitempty"`
+ DungeonId uint32 `protobuf:"varint,13,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ StrengthenPointDataMap map[uint32]*StrengthenPointData `protobuf:"bytes,14,rep,name=strengthen_point_data_map,json=strengthenPointDataMap,proto3" json:"strengthen_point_data_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ ExhibitionInfoList []*DungeonSettleExhibitionInfo `protobuf:"bytes,8,rep,name=exhibition_info_list,json=exhibitionInfoList,proto3" json:"exhibition_info_list,omitempty"`
+ CreatePlayerUid uint32 `protobuf:"varint,12,opt,name=create_player_uid,json=createPlayerUid,proto3" json:"create_player_uid,omitempty"`
+ FailCondList []uint32 `protobuf:"varint,11,rep,packed,name=fail_cond_list,json=failCondList,proto3" json:"fail_cond_list,omitempty"`
+ UseTime uint32 `protobuf:"varint,1,opt,name=use_time,json=useTime,proto3" json:"use_time,omitempty"`
+ CloseTime uint32 `protobuf:"varint,4,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"`
+ IsSuccess bool `protobuf:"varint,7,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ SettleShow map[uint32]*ParamList `protobuf:"bytes,5,rep,name=settle_show,json=settleShow,proto3" json:"settle_show,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Types that are assignable to Detail:
+ //
+ // *DungeonSettleNotify_TowerLevelEndNotify
+ // *DungeonSettleNotify_TrialAvatarFirstPassDungeonNotify
+ // *DungeonSettleNotify_ChannelerSlabLoopDungeonResultInfo
+ // *DungeonSettleNotify_EffigyChallengeDungeonResultInfo
+ // *DungeonSettleNotify_RoguelikeDungeonSettleInfo
+ // *DungeonSettleNotify_CrystalLinkSettleInfo
+ // *DungeonSettleNotify_SummerTimeV2DungeonSettleInfo
+ // *DungeonSettleNotify_InstableSpraySettleInfo
+ // *DungeonSettleNotify_WindFieldDungeonSettleInfo
+ // *DungeonSettleNotify_EffigyChallengeV2SettleInfo
+ Detail isDungeonSettleNotify_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *DungeonSettleNotify) Reset() {
+ *x = DungeonSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonSettleNotify) ProtoMessage() {}
+
+func (x *DungeonSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonSettleNotify.ProtoReflect.Descriptor instead.
+func (*DungeonSettleNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonSettleNotify) GetResult() uint32 {
+ if x != nil {
+ return x.Result
+ }
+ return 0
+}
+
+func (x *DungeonSettleNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *DungeonSettleNotify) GetStrengthenPointDataMap() map[uint32]*StrengthenPointData {
+ if x != nil {
+ return x.StrengthenPointDataMap
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetExhibitionInfoList() []*DungeonSettleExhibitionInfo {
+ if x != nil {
+ return x.ExhibitionInfoList
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetCreatePlayerUid() uint32 {
+ if x != nil {
+ return x.CreatePlayerUid
+ }
+ return 0
+}
+
+func (x *DungeonSettleNotify) GetFailCondList() []uint32 {
+ if x != nil {
+ return x.FailCondList
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetUseTime() uint32 {
+ if x != nil {
+ return x.UseTime
+ }
+ return 0
+}
+
+func (x *DungeonSettleNotify) GetCloseTime() uint32 {
+ if x != nil {
+ return x.CloseTime
+ }
+ return 0
+}
+
+func (x *DungeonSettleNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *DungeonSettleNotify) GetSettleShow() map[uint32]*ParamList {
+ if x != nil {
+ return x.SettleShow
+ }
+ return nil
+}
+
+func (m *DungeonSettleNotify) GetDetail() isDungeonSettleNotify_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetTowerLevelEndNotify() *TowerLevelEndNotify {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_TowerLevelEndNotify); ok {
+ return x.TowerLevelEndNotify
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetTrialAvatarFirstPassDungeonNotify() *TrialAvatarFirstPassDungeonNotify {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_TrialAvatarFirstPassDungeonNotify); ok {
+ return x.TrialAvatarFirstPassDungeonNotify
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetChannelerSlabLoopDungeonResultInfo() *ChannelerSlabLoopDungeonResultInfo {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_ChannelerSlabLoopDungeonResultInfo); ok {
+ return x.ChannelerSlabLoopDungeonResultInfo
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetEffigyChallengeDungeonResultInfo() *EffigyChallengeDungeonResultInfo {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_EffigyChallengeDungeonResultInfo); ok {
+ return x.EffigyChallengeDungeonResultInfo
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetRoguelikeDungeonSettleInfo() *RoguelikeDungeonSettleInfo {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_RoguelikeDungeonSettleInfo); ok {
+ return x.RoguelikeDungeonSettleInfo
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetCrystalLinkSettleInfo() *CrystalLinkSettleInfo {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_CrystalLinkSettleInfo); ok {
+ return x.CrystalLinkSettleInfo
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetSummerTimeV2DungeonSettleInfo() *SummerTimeV2DungeonSettleInfo {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_SummerTimeV2DungeonSettleInfo); ok {
+ return x.SummerTimeV2DungeonSettleInfo
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetInstableSpraySettleInfo() *InstableSpraySettleInfo {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_InstableSpraySettleInfo); ok {
+ return x.InstableSpraySettleInfo
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetWindFieldDungeonSettleInfo() *WindFieldDungeonSettleInfo {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_WindFieldDungeonSettleInfo); ok {
+ return x.WindFieldDungeonSettleInfo
+ }
+ return nil
+}
+
+func (x *DungeonSettleNotify) GetEffigyChallengeV2SettleInfo() *EffigyChallengeV2SettleInfo {
+ if x, ok := x.GetDetail().(*DungeonSettleNotify_EffigyChallengeV2SettleInfo); ok {
+ return x.EffigyChallengeV2SettleInfo
+ }
+ return nil
+}
+
+type isDungeonSettleNotify_Detail interface {
+ isDungeonSettleNotify_Detail()
+}
+
+type DungeonSettleNotify_TowerLevelEndNotify struct {
+ TowerLevelEndNotify *TowerLevelEndNotify `protobuf:"bytes,351,opt,name=tower_level_end_notify,json=towerLevelEndNotify,proto3,oneof"`
+}
+
+type DungeonSettleNotify_TrialAvatarFirstPassDungeonNotify struct {
+ TrialAvatarFirstPassDungeonNotify *TrialAvatarFirstPassDungeonNotify `protobuf:"bytes,635,opt,name=trial_avatar_first_pass_dungeon_notify,json=trialAvatarFirstPassDungeonNotify,proto3,oneof"`
+}
+
+type DungeonSettleNotify_ChannelerSlabLoopDungeonResultInfo struct {
+ ChannelerSlabLoopDungeonResultInfo *ChannelerSlabLoopDungeonResultInfo `protobuf:"bytes,686,opt,name=channeler_slab_loop_dungeon_result_info,json=channelerSlabLoopDungeonResultInfo,proto3,oneof"`
+}
+
+type DungeonSettleNotify_EffigyChallengeDungeonResultInfo struct {
+ EffigyChallengeDungeonResultInfo *EffigyChallengeDungeonResultInfo `protobuf:"bytes,328,opt,name=effigy_challenge_dungeon_result_info,json=effigyChallengeDungeonResultInfo,proto3,oneof"`
+}
+
+type DungeonSettleNotify_RoguelikeDungeonSettleInfo struct {
+ RoguelikeDungeonSettleInfo *RoguelikeDungeonSettleInfo `protobuf:"bytes,1482,opt,name=roguelike_dungeon_settle_info,json=roguelikeDungeonSettleInfo,proto3,oneof"`
+}
+
+type DungeonSettleNotify_CrystalLinkSettleInfo struct {
+ CrystalLinkSettleInfo *CrystalLinkSettleInfo `protobuf:"bytes,112,opt,name=crystal_link_settle_info,json=crystalLinkSettleInfo,proto3,oneof"`
+}
+
+type DungeonSettleNotify_SummerTimeV2DungeonSettleInfo struct {
+ SummerTimeV2DungeonSettleInfo *SummerTimeV2DungeonSettleInfo `protobuf:"bytes,1882,opt,name=summer_time_v2_dungeon_settle_info,json=summerTimeV2DungeonSettleInfo,proto3,oneof"`
+}
+
+type DungeonSettleNotify_InstableSpraySettleInfo struct {
+ InstableSpraySettleInfo *InstableSpraySettleInfo `protobuf:"bytes,193,opt,name=instable_spray_settle_info,json=instableSpraySettleInfo,proto3,oneof"`
+}
+
+type DungeonSettleNotify_WindFieldDungeonSettleInfo struct {
+ WindFieldDungeonSettleInfo *WindFieldDungeonSettleInfo `protobuf:"bytes,1825,opt,name=wind_field_dungeon_settle_info,json=windFieldDungeonSettleInfo,proto3,oneof"`
+}
+
+type DungeonSettleNotify_EffigyChallengeV2SettleInfo struct {
+ EffigyChallengeV2SettleInfo *EffigyChallengeV2SettleInfo `protobuf:"bytes,1802,opt,name=effigy_challenge_v2_settle_info,json=effigyChallengeV2SettleInfo,proto3,oneof"`
+}
+
+func (*DungeonSettleNotify_TowerLevelEndNotify) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_TrialAvatarFirstPassDungeonNotify) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_ChannelerSlabLoopDungeonResultInfo) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_EffigyChallengeDungeonResultInfo) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_RoguelikeDungeonSettleInfo) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_CrystalLinkSettleInfo) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_SummerTimeV2DungeonSettleInfo) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_InstableSpraySettleInfo) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_WindFieldDungeonSettleInfo) isDungeonSettleNotify_Detail() {}
+
+func (*DungeonSettleNotify_EffigyChallengeV2SettleInfo) isDungeonSettleNotify_Detail() {}
+
+var File_DungeonSettleNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x28, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61,
+ 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x43, 0x72,
+ 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x45, 0x66,
+ 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x6e,
+ 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
+ 0x56, 0x32, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x54, 0x6f, 0x77, 0x65, 0x72,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x57,
+ 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x90, 0x0e, 0x0a, 0x13, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x71,
+ 0x0a, 0x19, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x5f, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x53, 0x74,
+ 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x73, 0x74, 0x72, 0x65, 0x6e,
+ 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61,
+ 0x70, 0x12, 0x54, 0x0a, 0x14, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x55, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x61, 0x69,
+ 0x6c, 0x43, 0x6f, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x73, 0x65,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x6f,
+ 0x77, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x12,
+ 0x52, 0x0a, 0x16, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x65,
+ 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0xdf, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x00, 0x52, 0x13,
+ 0x74, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x7e, 0x0a, 0x26, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0xfb, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x69,
+ 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x73,
+ 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x00,
+ 0x52, 0x21, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x69, 0x72,
+ 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x81, 0x01, 0x0a, 0x27, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65,
+ 0x72, 0x5f, 0x73, 0x6c, 0x61, 0x62, 0x5f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0xae, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c, 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x22, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x65, 0x72, 0x53, 0x6c,
+ 0x61, 0x62, 0x4c, 0x6f, 0x6f, 0x70, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x7a, 0x0a, 0x24, 0x65, 0x66, 0x66, 0x69, 0x67,
+ 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0xc8, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45,
+ 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x20, 0x65, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x67, 0x0a, 0x1d, 0x72, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xca, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x1a, 0x72, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a, 0x18,
+ 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x73, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69,
+ 0x6e, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x15,
+ 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x72, 0x0a, 0x22, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xda, 0x0e, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x65,
+ 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x1d, 0x73, 0x75, 0x6d, 0x6d,
+ 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a, 0x1a, 0x69, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x72, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x70, 0x72, 0x61, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x68, 0x0a, 0x1e, 0x77, 0x69, 0x6e,
+ 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xa1, 0x0e, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x1a, 0x77, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x6b, 0x0a, 0x1f, 0x65, 0x66, 0x66, 0x69, 0x67, 0x79, 0x5f, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x32, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x8a, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x1b, 0x65, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x1a, 0x65, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74,
+ 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4f, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x53, 0x68, 0x6f, 0x77, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonSettleNotify_proto_rawDescOnce sync.Once
+ file_DungeonSettleNotify_proto_rawDescData = file_DungeonSettleNotify_proto_rawDesc
+)
+
+func file_DungeonSettleNotify_proto_rawDescGZIP() []byte {
+ file_DungeonSettleNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonSettleNotify_proto_rawDescData)
+ })
+ return file_DungeonSettleNotify_proto_rawDescData
+}
+
+var file_DungeonSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_DungeonSettleNotify_proto_goTypes = []interface{}{
+ (*DungeonSettleNotify)(nil), // 0: proto.DungeonSettleNotify
+ nil, // 1: proto.DungeonSettleNotify.StrengthenPointDataMapEntry
+ nil, // 2: proto.DungeonSettleNotify.SettleShowEntry
+ (*DungeonSettleExhibitionInfo)(nil), // 3: proto.DungeonSettleExhibitionInfo
+ (*TowerLevelEndNotify)(nil), // 4: proto.TowerLevelEndNotify
+ (*TrialAvatarFirstPassDungeonNotify)(nil), // 5: proto.TrialAvatarFirstPassDungeonNotify
+ (*ChannelerSlabLoopDungeonResultInfo)(nil), // 6: proto.ChannelerSlabLoopDungeonResultInfo
+ (*EffigyChallengeDungeonResultInfo)(nil), // 7: proto.EffigyChallengeDungeonResultInfo
+ (*RoguelikeDungeonSettleInfo)(nil), // 8: proto.RoguelikeDungeonSettleInfo
+ (*CrystalLinkSettleInfo)(nil), // 9: proto.CrystalLinkSettleInfo
+ (*SummerTimeV2DungeonSettleInfo)(nil), // 10: proto.SummerTimeV2DungeonSettleInfo
+ (*InstableSpraySettleInfo)(nil), // 11: proto.InstableSpraySettleInfo
+ (*WindFieldDungeonSettleInfo)(nil), // 12: proto.WindFieldDungeonSettleInfo
+ (*EffigyChallengeV2SettleInfo)(nil), // 13: proto.EffigyChallengeV2SettleInfo
+ (*StrengthenPointData)(nil), // 14: proto.StrengthenPointData
+ (*ParamList)(nil), // 15: proto.ParamList
+}
+var file_DungeonSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.DungeonSettleNotify.strengthen_point_data_map:type_name -> proto.DungeonSettleNotify.StrengthenPointDataMapEntry
+ 3, // 1: proto.DungeonSettleNotify.exhibition_info_list:type_name -> proto.DungeonSettleExhibitionInfo
+ 2, // 2: proto.DungeonSettleNotify.settle_show:type_name -> proto.DungeonSettleNotify.SettleShowEntry
+ 4, // 3: proto.DungeonSettleNotify.tower_level_end_notify:type_name -> proto.TowerLevelEndNotify
+ 5, // 4: proto.DungeonSettleNotify.trial_avatar_first_pass_dungeon_notify:type_name -> proto.TrialAvatarFirstPassDungeonNotify
+ 6, // 5: proto.DungeonSettleNotify.channeler_slab_loop_dungeon_result_info:type_name -> proto.ChannelerSlabLoopDungeonResultInfo
+ 7, // 6: proto.DungeonSettleNotify.effigy_challenge_dungeon_result_info:type_name -> proto.EffigyChallengeDungeonResultInfo
+ 8, // 7: proto.DungeonSettleNotify.roguelike_dungeon_settle_info:type_name -> proto.RoguelikeDungeonSettleInfo
+ 9, // 8: proto.DungeonSettleNotify.crystal_link_settle_info:type_name -> proto.CrystalLinkSettleInfo
+ 10, // 9: proto.DungeonSettleNotify.summer_time_v2_dungeon_settle_info:type_name -> proto.SummerTimeV2DungeonSettleInfo
+ 11, // 10: proto.DungeonSettleNotify.instable_spray_settle_info:type_name -> proto.InstableSpraySettleInfo
+ 12, // 11: proto.DungeonSettleNotify.wind_field_dungeon_settle_info:type_name -> proto.WindFieldDungeonSettleInfo
+ 13, // 12: proto.DungeonSettleNotify.effigy_challenge_v2_settle_info:type_name -> proto.EffigyChallengeV2SettleInfo
+ 14, // 13: proto.DungeonSettleNotify.StrengthenPointDataMapEntry.value:type_name -> proto.StrengthenPointData
+ 15, // 14: proto.DungeonSettleNotify.SettleShowEntry.value:type_name -> proto.ParamList
+ 15, // [15:15] is the sub-list for method output_type
+ 15, // [15:15] is the sub-list for method input_type
+ 15, // [15:15] is the sub-list for extension type_name
+ 15, // [15:15] is the sub-list for extension extendee
+ 0, // [0:15] is the sub-list for field type_name
+}
+
+func init() { file_DungeonSettleNotify_proto_init() }
+func file_DungeonSettleNotify_proto_init() {
+ if File_DungeonSettleNotify_proto != nil {
+ return
+ }
+ file_ChannelerSlabLoopDungeonResultInfo_proto_init()
+ file_CrystalLinkSettleInfo_proto_init()
+ file_DungeonSettleExhibitionInfo_proto_init()
+ file_EffigyChallengeDungeonResultInfo_proto_init()
+ file_EffigyChallengeV2SettleInfo_proto_init()
+ file_InstableSpraySettleInfo_proto_init()
+ file_ParamList_proto_init()
+ file_RoguelikeDungeonSettleInfo_proto_init()
+ file_StrengthenPointData_proto_init()
+ file_SummerTimeV2DungeonSettleInfo_proto_init()
+ file_TowerLevelEndNotify_proto_init()
+ file_TrialAvatarFirstPassDungeonNotify_proto_init()
+ file_WindFieldDungeonSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_DungeonSettleNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*DungeonSettleNotify_TowerLevelEndNotify)(nil),
+ (*DungeonSettleNotify_TrialAvatarFirstPassDungeonNotify)(nil),
+ (*DungeonSettleNotify_ChannelerSlabLoopDungeonResultInfo)(nil),
+ (*DungeonSettleNotify_EffigyChallengeDungeonResultInfo)(nil),
+ (*DungeonSettleNotify_RoguelikeDungeonSettleInfo)(nil),
+ (*DungeonSettleNotify_CrystalLinkSettleInfo)(nil),
+ (*DungeonSettleNotify_SummerTimeV2DungeonSettleInfo)(nil),
+ (*DungeonSettleNotify_InstableSpraySettleInfo)(nil),
+ (*DungeonSettleNotify_WindFieldDungeonSettleInfo)(nil),
+ (*DungeonSettleNotify_EffigyChallengeV2SettleInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonSettleNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonSettleNotify_proto_depIdxs,
+ MessageInfos: file_DungeonSettleNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonSettleNotify_proto = out.File
+ file_DungeonSettleNotify_proto_rawDesc = nil
+ file_DungeonSettleNotify_proto_goTypes = nil
+ file_DungeonSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonShowReminderNotify.pb.go b/protocol/proto/DungeonShowReminderNotify.pb.go
new file mode 100644
index 00000000..67b79cc5
--- /dev/null
+++ b/protocol/proto/DungeonShowReminderNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonShowReminderNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 997
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonShowReminderNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReminderId uint32 `protobuf:"varint,9,opt,name=reminder_id,json=reminderId,proto3" json:"reminder_id,omitempty"`
+}
+
+func (x *DungeonShowReminderNotify) Reset() {
+ *x = DungeonShowReminderNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonShowReminderNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonShowReminderNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonShowReminderNotify) ProtoMessage() {}
+
+func (x *DungeonShowReminderNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonShowReminderNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonShowReminderNotify.ProtoReflect.Descriptor instead.
+func (*DungeonShowReminderNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonShowReminderNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonShowReminderNotify) GetReminderId() uint32 {
+ if x != nil {
+ return x.ReminderId
+ }
+ return 0
+}
+
+var File_DungeonShowReminderNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonShowReminderNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x6d,
+ 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x19, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x69,
+ 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonShowReminderNotify_proto_rawDescOnce sync.Once
+ file_DungeonShowReminderNotify_proto_rawDescData = file_DungeonShowReminderNotify_proto_rawDesc
+)
+
+func file_DungeonShowReminderNotify_proto_rawDescGZIP() []byte {
+ file_DungeonShowReminderNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonShowReminderNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonShowReminderNotify_proto_rawDescData)
+ })
+ return file_DungeonShowReminderNotify_proto_rawDescData
+}
+
+var file_DungeonShowReminderNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonShowReminderNotify_proto_goTypes = []interface{}{
+ (*DungeonShowReminderNotify)(nil), // 0: proto.DungeonShowReminderNotify
+}
+var file_DungeonShowReminderNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonShowReminderNotify_proto_init() }
+func file_DungeonShowReminderNotify_proto_init() {
+ if File_DungeonShowReminderNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonShowReminderNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonShowReminderNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonShowReminderNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonShowReminderNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonShowReminderNotify_proto_depIdxs,
+ MessageInfos: file_DungeonShowReminderNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonShowReminderNotify_proto = out.File
+ file_DungeonShowReminderNotify_proto_rawDesc = nil
+ file_DungeonShowReminderNotify_proto_goTypes = nil
+ file_DungeonShowReminderNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonSlipRevivePointActivateReq.pb.go b/protocol/proto/DungeonSlipRevivePointActivateReq.pb.go
new file mode 100644
index 00000000..69737546
--- /dev/null
+++ b/protocol/proto/DungeonSlipRevivePointActivateReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonSlipRevivePointActivateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 958
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonSlipRevivePointActivateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlipRevivePointId uint32 `protobuf:"varint,9,opt,name=slip_revive_point_id,json=slipRevivePointId,proto3" json:"slip_revive_point_id,omitempty"`
+}
+
+func (x *DungeonSlipRevivePointActivateReq) Reset() {
+ *x = DungeonSlipRevivePointActivateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonSlipRevivePointActivateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonSlipRevivePointActivateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonSlipRevivePointActivateReq) ProtoMessage() {}
+
+func (x *DungeonSlipRevivePointActivateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonSlipRevivePointActivateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonSlipRevivePointActivateReq.ProtoReflect.Descriptor instead.
+func (*DungeonSlipRevivePointActivateReq) Descriptor() ([]byte, []int) {
+ return file_DungeonSlipRevivePointActivateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonSlipRevivePointActivateReq) GetSlipRevivePointId() uint32 {
+ if x != nil {
+ return x.SlipRevivePointId
+ }
+ return 0
+}
+
+var File_DungeonSlipRevivePointActivateReq_proto protoreflect.FileDescriptor
+
+var file_DungeonSlipRevivePointActivateReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x76,
+ 0x69, 0x76, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x54, 0x0a, 0x21, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x70, 0x52,
+ 0x65, 0x76, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
+ 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x6c, 0x69, 0x70, 0x5f, 0x72, 0x65,
+ 0x76, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x76, 0x69, 0x76, 0x65, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonSlipRevivePointActivateReq_proto_rawDescOnce sync.Once
+ file_DungeonSlipRevivePointActivateReq_proto_rawDescData = file_DungeonSlipRevivePointActivateReq_proto_rawDesc
+)
+
+func file_DungeonSlipRevivePointActivateReq_proto_rawDescGZIP() []byte {
+ file_DungeonSlipRevivePointActivateReq_proto_rawDescOnce.Do(func() {
+ file_DungeonSlipRevivePointActivateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonSlipRevivePointActivateReq_proto_rawDescData)
+ })
+ return file_DungeonSlipRevivePointActivateReq_proto_rawDescData
+}
+
+var file_DungeonSlipRevivePointActivateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonSlipRevivePointActivateReq_proto_goTypes = []interface{}{
+ (*DungeonSlipRevivePointActivateReq)(nil), // 0: proto.DungeonSlipRevivePointActivateReq
+}
+var file_DungeonSlipRevivePointActivateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonSlipRevivePointActivateReq_proto_init() }
+func file_DungeonSlipRevivePointActivateReq_proto_init() {
+ if File_DungeonSlipRevivePointActivateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonSlipRevivePointActivateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonSlipRevivePointActivateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonSlipRevivePointActivateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonSlipRevivePointActivateReq_proto_goTypes,
+ DependencyIndexes: file_DungeonSlipRevivePointActivateReq_proto_depIdxs,
+ MessageInfos: file_DungeonSlipRevivePointActivateReq_proto_msgTypes,
+ }.Build()
+ File_DungeonSlipRevivePointActivateReq_proto = out.File
+ file_DungeonSlipRevivePointActivateReq_proto_rawDesc = nil
+ file_DungeonSlipRevivePointActivateReq_proto_goTypes = nil
+ file_DungeonSlipRevivePointActivateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonSlipRevivePointActivateRsp.pb.go b/protocol/proto/DungeonSlipRevivePointActivateRsp.pb.go
new file mode 100644
index 00000000..7d828174
--- /dev/null
+++ b/protocol/proto/DungeonSlipRevivePointActivateRsp.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonSlipRevivePointActivateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 970
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonSlipRevivePointActivateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlipRevivePointId uint32 `protobuf:"varint,14,opt,name=slip_revive_point_id,json=slipRevivePointId,proto3" json:"slip_revive_point_id,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *DungeonSlipRevivePointActivateRsp) Reset() {
+ *x = DungeonSlipRevivePointActivateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonSlipRevivePointActivateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonSlipRevivePointActivateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonSlipRevivePointActivateRsp) ProtoMessage() {}
+
+func (x *DungeonSlipRevivePointActivateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonSlipRevivePointActivateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonSlipRevivePointActivateRsp.ProtoReflect.Descriptor instead.
+func (*DungeonSlipRevivePointActivateRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonSlipRevivePointActivateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonSlipRevivePointActivateRsp) GetSlipRevivePointId() uint32 {
+ if x != nil {
+ return x.SlipRevivePointId
+ }
+ return 0
+}
+
+func (x *DungeonSlipRevivePointActivateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_DungeonSlipRevivePointActivateRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonSlipRevivePointActivateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x76,
+ 0x69, 0x76, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6e, 0x0a, 0x21, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6c, 0x69, 0x70, 0x52,
+ 0x65, 0x76, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
+ 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x6c, 0x69, 0x70, 0x5f, 0x72, 0x65,
+ 0x76, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x76, 0x69, 0x76, 0x65, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonSlipRevivePointActivateRsp_proto_rawDescOnce sync.Once
+ file_DungeonSlipRevivePointActivateRsp_proto_rawDescData = file_DungeonSlipRevivePointActivateRsp_proto_rawDesc
+)
+
+func file_DungeonSlipRevivePointActivateRsp_proto_rawDescGZIP() []byte {
+ file_DungeonSlipRevivePointActivateRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonSlipRevivePointActivateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonSlipRevivePointActivateRsp_proto_rawDescData)
+ })
+ return file_DungeonSlipRevivePointActivateRsp_proto_rawDescData
+}
+
+var file_DungeonSlipRevivePointActivateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonSlipRevivePointActivateRsp_proto_goTypes = []interface{}{
+ (*DungeonSlipRevivePointActivateRsp)(nil), // 0: proto.DungeonSlipRevivePointActivateRsp
+}
+var file_DungeonSlipRevivePointActivateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonSlipRevivePointActivateRsp_proto_init() }
+func file_DungeonSlipRevivePointActivateRsp_proto_init() {
+ if File_DungeonSlipRevivePointActivateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonSlipRevivePointActivateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonSlipRevivePointActivateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonSlipRevivePointActivateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonSlipRevivePointActivateRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonSlipRevivePointActivateRsp_proto_depIdxs,
+ MessageInfos: file_DungeonSlipRevivePointActivateRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonSlipRevivePointActivateRsp_proto = out.File
+ file_DungeonSlipRevivePointActivateRsp_proto_rawDesc = nil
+ file_DungeonSlipRevivePointActivateRsp_proto_goTypes = nil
+ file_DungeonSlipRevivePointActivateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonWayPointActivateReq.pb.go b/protocol/proto/DungeonWayPointActivateReq.pb.go
new file mode 100644
index 00000000..c9ec768a
--- /dev/null
+++ b/protocol/proto/DungeonWayPointActivateReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonWayPointActivateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 990
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type DungeonWayPointActivateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WayPointId uint32 `protobuf:"varint,3,opt,name=way_point_id,json=wayPointId,proto3" json:"way_point_id,omitempty"`
+}
+
+func (x *DungeonWayPointActivateReq) Reset() {
+ *x = DungeonWayPointActivateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonWayPointActivateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonWayPointActivateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonWayPointActivateReq) ProtoMessage() {}
+
+func (x *DungeonWayPointActivateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonWayPointActivateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonWayPointActivateReq.ProtoReflect.Descriptor instead.
+func (*DungeonWayPointActivateReq) Descriptor() ([]byte, []int) {
+ return file_DungeonWayPointActivateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonWayPointActivateReq) GetWayPointId() uint32 {
+ if x != nil {
+ return x.WayPointId
+ }
+ return 0
+}
+
+var File_DungeonWayPointActivateReq_proto protoreflect.FileDescriptor
+
+var file_DungeonWayPointActivateReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x57, 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x1a, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x57, 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77,
+ 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonWayPointActivateReq_proto_rawDescOnce sync.Once
+ file_DungeonWayPointActivateReq_proto_rawDescData = file_DungeonWayPointActivateReq_proto_rawDesc
+)
+
+func file_DungeonWayPointActivateReq_proto_rawDescGZIP() []byte {
+ file_DungeonWayPointActivateReq_proto_rawDescOnce.Do(func() {
+ file_DungeonWayPointActivateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonWayPointActivateReq_proto_rawDescData)
+ })
+ return file_DungeonWayPointActivateReq_proto_rawDescData
+}
+
+var file_DungeonWayPointActivateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonWayPointActivateReq_proto_goTypes = []interface{}{
+ (*DungeonWayPointActivateReq)(nil), // 0: proto.DungeonWayPointActivateReq
+}
+var file_DungeonWayPointActivateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonWayPointActivateReq_proto_init() }
+func file_DungeonWayPointActivateReq_proto_init() {
+ if File_DungeonWayPointActivateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonWayPointActivateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonWayPointActivateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonWayPointActivateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonWayPointActivateReq_proto_goTypes,
+ DependencyIndexes: file_DungeonWayPointActivateReq_proto_depIdxs,
+ MessageInfos: file_DungeonWayPointActivateReq_proto_msgTypes,
+ }.Build()
+ File_DungeonWayPointActivateReq_proto = out.File
+ file_DungeonWayPointActivateReq_proto_rawDesc = nil
+ file_DungeonWayPointActivateReq_proto_goTypes = nil
+ file_DungeonWayPointActivateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonWayPointActivateRsp.pb.go b/protocol/proto/DungeonWayPointActivateRsp.pb.go
new file mode 100644
index 00000000..9097f03f
--- /dev/null
+++ b/protocol/proto/DungeonWayPointActivateRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonWayPointActivateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 973
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonWayPointActivateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ WayPointId uint32 `protobuf:"varint,7,opt,name=way_point_id,json=wayPointId,proto3" json:"way_point_id,omitempty"`
+}
+
+func (x *DungeonWayPointActivateRsp) Reset() {
+ *x = DungeonWayPointActivateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonWayPointActivateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonWayPointActivateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonWayPointActivateRsp) ProtoMessage() {}
+
+func (x *DungeonWayPointActivateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonWayPointActivateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonWayPointActivateRsp.ProtoReflect.Descriptor instead.
+func (*DungeonWayPointActivateRsp) Descriptor() ([]byte, []int) {
+ return file_DungeonWayPointActivateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonWayPointActivateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *DungeonWayPointActivateRsp) GetWayPointId() uint32 {
+ if x != nil {
+ return x.WayPointId
+ }
+ return 0
+}
+
+var File_DungeonWayPointActivateRsp_proto protoreflect.FileDescriptor
+
+var file_DungeonWayPointActivateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x57, 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1a, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x57, 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonWayPointActivateRsp_proto_rawDescOnce sync.Once
+ file_DungeonWayPointActivateRsp_proto_rawDescData = file_DungeonWayPointActivateRsp_proto_rawDesc
+)
+
+func file_DungeonWayPointActivateRsp_proto_rawDescGZIP() []byte {
+ file_DungeonWayPointActivateRsp_proto_rawDescOnce.Do(func() {
+ file_DungeonWayPointActivateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonWayPointActivateRsp_proto_rawDescData)
+ })
+ return file_DungeonWayPointActivateRsp_proto_rawDescData
+}
+
+var file_DungeonWayPointActivateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonWayPointActivateRsp_proto_goTypes = []interface{}{
+ (*DungeonWayPointActivateRsp)(nil), // 0: proto.DungeonWayPointActivateRsp
+}
+var file_DungeonWayPointActivateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonWayPointActivateRsp_proto_init() }
+func file_DungeonWayPointActivateRsp_proto_init() {
+ if File_DungeonWayPointActivateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonWayPointActivateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonWayPointActivateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonWayPointActivateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonWayPointActivateRsp_proto_goTypes,
+ DependencyIndexes: file_DungeonWayPointActivateRsp_proto_depIdxs,
+ MessageInfos: file_DungeonWayPointActivateRsp_proto_msgTypes,
+ }.Build()
+ File_DungeonWayPointActivateRsp_proto = out.File
+ file_DungeonWayPointActivateRsp_proto_rawDesc = nil
+ file_DungeonWayPointActivateRsp_proto_goTypes = nil
+ file_DungeonWayPointActivateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DungeonWayPointNotify.pb.go b/protocol/proto/DungeonWayPointNotify.pb.go
new file mode 100644
index 00000000..02fe4df8
--- /dev/null
+++ b/protocol/proto/DungeonWayPointNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DungeonWayPointNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 903
+// EnetChannelId: 0
+// EnetIsReliable: true
+type DungeonWayPointNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAdd bool `protobuf:"varint,9,opt,name=is_add,json=isAdd,proto3" json:"is_add,omitempty"`
+ ActiveWayPointList []uint32 `protobuf:"varint,4,rep,packed,name=active_way_point_list,json=activeWayPointList,proto3" json:"active_way_point_list,omitempty"`
+}
+
+func (x *DungeonWayPointNotify) Reset() {
+ *x = DungeonWayPointNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DungeonWayPointNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DungeonWayPointNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DungeonWayPointNotify) ProtoMessage() {}
+
+func (x *DungeonWayPointNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_DungeonWayPointNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DungeonWayPointNotify.ProtoReflect.Descriptor instead.
+func (*DungeonWayPointNotify) Descriptor() ([]byte, []int) {
+ return file_DungeonWayPointNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DungeonWayPointNotify) GetIsAdd() bool {
+ if x != nil {
+ return x.IsAdd
+ }
+ return false
+}
+
+func (x *DungeonWayPointNotify) GetActiveWayPointList() []uint32 {
+ if x != nil {
+ return x.ActiveWayPointList
+ }
+ return nil
+}
+
+var File_DungeonWayPointNotify_proto protoreflect.FileDescriptor
+
+var file_DungeonWayPointNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x57, 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x15, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x57,
+ 0x61, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a,
+ 0x06, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69,
+ 0x73, 0x41, 0x64, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x77,
+ 0x61, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x12, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x57, 0x61, 0x79, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DungeonWayPointNotify_proto_rawDescOnce sync.Once
+ file_DungeonWayPointNotify_proto_rawDescData = file_DungeonWayPointNotify_proto_rawDesc
+)
+
+func file_DungeonWayPointNotify_proto_rawDescGZIP() []byte {
+ file_DungeonWayPointNotify_proto_rawDescOnce.Do(func() {
+ file_DungeonWayPointNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_DungeonWayPointNotify_proto_rawDescData)
+ })
+ return file_DungeonWayPointNotify_proto_rawDescData
+}
+
+var file_DungeonWayPointNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DungeonWayPointNotify_proto_goTypes = []interface{}{
+ (*DungeonWayPointNotify)(nil), // 0: proto.DungeonWayPointNotify
+}
+var file_DungeonWayPointNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_DungeonWayPointNotify_proto_init() }
+func file_DungeonWayPointNotify_proto_init() {
+ if File_DungeonWayPointNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_DungeonWayPointNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DungeonWayPointNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DungeonWayPointNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DungeonWayPointNotify_proto_goTypes,
+ DependencyIndexes: file_DungeonWayPointNotify_proto_depIdxs,
+ MessageInfos: file_DungeonWayPointNotify_proto_msgTypes,
+ }.Build()
+ File_DungeonWayPointNotify_proto = out.File
+ file_DungeonWayPointNotify_proto_rawDesc = nil
+ file_DungeonWayPointNotify_proto_goTypes = nil
+ file_DungeonWayPointNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DynamicLayerNodes.pb.go b/protocol/proto/DynamicLayerNodes.pb.go
new file mode 100644
index 00000000..cf6b030e
--- /dev/null
+++ b/protocol/proto/DynamicLayerNodes.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DynamicLayerNodes.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DynamicLayerNodes struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level int32 `protobuf:"varint,10,opt,name=level,proto3" json:"level,omitempty"`
+ Nodes []*DynamicSVONode `protobuf:"bytes,6,rep,name=nodes,proto3" json:"nodes,omitempty"`
+}
+
+func (x *DynamicLayerNodes) Reset() {
+ *x = DynamicLayerNodes{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DynamicLayerNodes_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DynamicLayerNodes) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DynamicLayerNodes) ProtoMessage() {}
+
+func (x *DynamicLayerNodes) ProtoReflect() protoreflect.Message {
+ mi := &file_DynamicLayerNodes_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DynamicLayerNodes.ProtoReflect.Descriptor instead.
+func (*DynamicLayerNodes) Descriptor() ([]byte, []int) {
+ return file_DynamicLayerNodes_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DynamicLayerNodes) GetLevel() int32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *DynamicLayerNodes) GetNodes() []*DynamicSVONode {
+ if x != nil {
+ return x.Nodes
+ }
+ return nil
+}
+
+var File_DynamicLayerNodes_proto protoreflect.FileDescriptor
+
+var file_DynamicLayerNodes_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f,
+ 0x64, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x14, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x56, 0x4f, 0x4e, 0x6f, 0x64, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x11, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69,
+ 0x63, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x2b, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63,
+ 0x53, 0x56, 0x4f, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_DynamicLayerNodes_proto_rawDescOnce sync.Once
+ file_DynamicLayerNodes_proto_rawDescData = file_DynamicLayerNodes_proto_rawDesc
+)
+
+func file_DynamicLayerNodes_proto_rawDescGZIP() []byte {
+ file_DynamicLayerNodes_proto_rawDescOnce.Do(func() {
+ file_DynamicLayerNodes_proto_rawDescData = protoimpl.X.CompressGZIP(file_DynamicLayerNodes_proto_rawDescData)
+ })
+ return file_DynamicLayerNodes_proto_rawDescData
+}
+
+var file_DynamicLayerNodes_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DynamicLayerNodes_proto_goTypes = []interface{}{
+ (*DynamicLayerNodes)(nil), // 0: proto.DynamicLayerNodes
+ (*DynamicSVONode)(nil), // 1: proto.DynamicSVONode
+}
+var file_DynamicLayerNodes_proto_depIdxs = []int32{
+ 1, // 0: proto.DynamicLayerNodes.nodes:type_name -> proto.DynamicSVONode
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DynamicLayerNodes_proto_init() }
+func file_DynamicLayerNodes_proto_init() {
+ if File_DynamicLayerNodes_proto != nil {
+ return
+ }
+ file_DynamicSVONode_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DynamicLayerNodes_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DynamicLayerNodes); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DynamicLayerNodes_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DynamicLayerNodes_proto_goTypes,
+ DependencyIndexes: file_DynamicLayerNodes_proto_depIdxs,
+ MessageInfos: file_DynamicLayerNodes_proto_msgTypes,
+ }.Build()
+ File_DynamicLayerNodes_proto = out.File
+ file_DynamicLayerNodes_proto_rawDesc = nil
+ file_DynamicLayerNodes_proto_goTypes = nil
+ file_DynamicLayerNodes_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DynamicNodes.pb.go b/protocol/proto/DynamicNodes.pb.go
new file mode 100644
index 00000000..ba9ba77e
--- /dev/null
+++ b/protocol/proto/DynamicNodes.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DynamicNodes.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DynamicNodes struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Nodes []*DynamicLayerNodes `protobuf:"bytes,3,rep,name=nodes,proto3" json:"nodes,omitempty"`
+}
+
+func (x *DynamicNodes) Reset() {
+ *x = DynamicNodes{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DynamicNodes_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DynamicNodes) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DynamicNodes) ProtoMessage() {}
+
+func (x *DynamicNodes) ProtoReflect() protoreflect.Message {
+ mi := &file_DynamicNodes_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DynamicNodes.ProtoReflect.Descriptor instead.
+func (*DynamicNodes) Descriptor() ([]byte, []int) {
+ return file_DynamicNodes_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DynamicNodes) GetNodes() []*DynamicLayerNodes {
+ if x != nil {
+ return x.Nodes
+ }
+ return nil
+}
+
+var File_DynamicNodes_proto protoreflect.FileDescriptor
+
+var file_DynamicNodes_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x44, 0x79, 0x6e,
+ 0x61, 0x6d, 0x69, 0x63, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x0c, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e,
+ 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x79, 0x6e, 0x61,
+ 0x6d, 0x69, 0x63, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, 0x6e,
+ 0x6f, 0x64, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DynamicNodes_proto_rawDescOnce sync.Once
+ file_DynamicNodes_proto_rawDescData = file_DynamicNodes_proto_rawDesc
+)
+
+func file_DynamicNodes_proto_rawDescGZIP() []byte {
+ file_DynamicNodes_proto_rawDescOnce.Do(func() {
+ file_DynamicNodes_proto_rawDescData = protoimpl.X.CompressGZIP(file_DynamicNodes_proto_rawDescData)
+ })
+ return file_DynamicNodes_proto_rawDescData
+}
+
+var file_DynamicNodes_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DynamicNodes_proto_goTypes = []interface{}{
+ (*DynamicNodes)(nil), // 0: proto.DynamicNodes
+ (*DynamicLayerNodes)(nil), // 1: proto.DynamicLayerNodes
+}
+var file_DynamicNodes_proto_depIdxs = []int32{
+ 1, // 0: proto.DynamicNodes.nodes:type_name -> proto.DynamicLayerNodes
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DynamicNodes_proto_init() }
+func file_DynamicNodes_proto_init() {
+ if File_DynamicNodes_proto != nil {
+ return
+ }
+ file_DynamicLayerNodes_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DynamicNodes_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DynamicNodes); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DynamicNodes_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DynamicNodes_proto_goTypes,
+ DependencyIndexes: file_DynamicNodes_proto_depIdxs,
+ MessageInfos: file_DynamicNodes_proto_msgTypes,
+ }.Build()
+ File_DynamicNodes_proto = out.File
+ file_DynamicNodes_proto_rawDesc = nil
+ file_DynamicNodes_proto_goTypes = nil
+ file_DynamicNodes_proto_depIdxs = nil
+}
diff --git a/protocol/proto/DynamicSVONode.pb.go b/protocol/proto/DynamicSVONode.pb.go
new file mode 100644
index 00000000..3fb415ef
--- /dev/null
+++ b/protocol/proto/DynamicSVONode.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: DynamicSVONode.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type DynamicSVONode struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index int64 `protobuf:"varint,8,opt,name=index,proto3" json:"index,omitempty"`
+ Area int32 `protobuf:"varint,5,opt,name=area,proto3" json:"area,omitempty"`
+ ReferPos *Vector `protobuf:"bytes,1,opt,name=refer_pos,json=referPos,proto3" json:"refer_pos,omitempty"`
+}
+
+func (x *DynamicSVONode) Reset() {
+ *x = DynamicSVONode{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_DynamicSVONode_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *DynamicSVONode) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*DynamicSVONode) ProtoMessage() {}
+
+func (x *DynamicSVONode) ProtoReflect() protoreflect.Message {
+ mi := &file_DynamicSVONode_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use DynamicSVONode.ProtoReflect.Descriptor instead.
+func (*DynamicSVONode) Descriptor() ([]byte, []int) {
+ return file_DynamicSVONode_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *DynamicSVONode) GetIndex() int64 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *DynamicSVONode) GetArea() int32 {
+ if x != nil {
+ return x.Area
+ }
+ return 0
+}
+
+func (x *DynamicSVONode) GetReferPos() *Vector {
+ if x != nil {
+ return x.ReferPos
+ }
+ return nil
+}
+
+var File_DynamicSVONode_proto protoreflect.FileDescriptor
+
+var file_DynamicSVONode_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x56, 0x4f, 0x4e, 0x6f, 0x64, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x0e, 0x44,
+ 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x56, 0x4f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x65, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61, 0x12, 0x2a, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72,
+ 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x72, 0x65, 0x66, 0x65, 0x72,
+ 0x50, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_DynamicSVONode_proto_rawDescOnce sync.Once
+ file_DynamicSVONode_proto_rawDescData = file_DynamicSVONode_proto_rawDesc
+)
+
+func file_DynamicSVONode_proto_rawDescGZIP() []byte {
+ file_DynamicSVONode_proto_rawDescOnce.Do(func() {
+ file_DynamicSVONode_proto_rawDescData = protoimpl.X.CompressGZIP(file_DynamicSVONode_proto_rawDescData)
+ })
+ return file_DynamicSVONode_proto_rawDescData
+}
+
+var file_DynamicSVONode_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_DynamicSVONode_proto_goTypes = []interface{}{
+ (*DynamicSVONode)(nil), // 0: proto.DynamicSVONode
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_DynamicSVONode_proto_depIdxs = []int32{
+ 1, // 0: proto.DynamicSVONode.refer_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_DynamicSVONode_proto_init() }
+func file_DynamicSVONode_proto_init() {
+ if File_DynamicSVONode_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_DynamicSVONode_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DynamicSVONode); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_DynamicSVONode_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_DynamicSVONode_proto_goTypes,
+ DependencyIndexes: file_DynamicSVONode_proto_depIdxs,
+ MessageInfos: file_DynamicSVONode_proto_msgTypes,
+ }.Build()
+ File_DynamicSVONode_proto = out.File
+ file_DynamicSVONode_proto_rawDesc = nil
+ file_DynamicSVONode_proto_goTypes = nil
+ file_DynamicSVONode_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EchoNotify.pb.go b/protocol/proto/EchoNotify.pb.go
new file mode 100644
index 00000000..df41bda0
--- /dev/null
+++ b/protocol/proto/EchoNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EchoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 65
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EchoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SeqId uint32 `protobuf:"varint,4,opt,name=seq_id,json=seqId,proto3" json:"seq_id,omitempty"`
+ Content string `protobuf:"bytes,9,opt,name=content,proto3" json:"content,omitempty"`
+}
+
+func (x *EchoNotify) Reset() {
+ *x = EchoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EchoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EchoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EchoNotify) ProtoMessage() {}
+
+func (x *EchoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EchoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EchoNotify.ProtoReflect.Descriptor instead.
+func (*EchoNotify) Descriptor() ([]byte, []int) {
+ return file_EchoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EchoNotify) GetSeqId() uint32 {
+ if x != nil {
+ return x.SeqId
+ }
+ return 0
+}
+
+func (x *EchoNotify) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+var File_EchoNotify_proto protoreflect.FileDescriptor
+
+var file_EchoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x45, 0x63, 0x68, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x0a, 0x45, 0x63, 0x68,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x71, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x65, 0x71, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EchoNotify_proto_rawDescOnce sync.Once
+ file_EchoNotify_proto_rawDescData = file_EchoNotify_proto_rawDesc
+)
+
+func file_EchoNotify_proto_rawDescGZIP() []byte {
+ file_EchoNotify_proto_rawDescOnce.Do(func() {
+ file_EchoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EchoNotify_proto_rawDescData)
+ })
+ return file_EchoNotify_proto_rawDescData
+}
+
+var file_EchoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EchoNotify_proto_goTypes = []interface{}{
+ (*EchoNotify)(nil), // 0: proto.EchoNotify
+}
+var file_EchoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EchoNotify_proto_init() }
+func file_EchoNotify_proto_init() {
+ if File_EchoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EchoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EchoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EchoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EchoNotify_proto_goTypes,
+ DependencyIndexes: file_EchoNotify_proto_depIdxs,
+ MessageInfos: file_EchoNotify_proto_msgTypes,
+ }.Build()
+ File_EchoNotify_proto = out.File
+ file_EchoNotify_proto_rawDesc = nil
+ file_EchoNotify_proto_goTypes = nil
+ file_EchoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EchoShellDetailInfo.pb.go b/protocol/proto/EchoShellDetailInfo.pb.go
new file mode 100644
index 00000000..76ec2df1
--- /dev/null
+++ b/protocol/proto/EchoShellDetailInfo.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EchoShellDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EchoShellDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SummerTimeDungeonList []*SummerTimeDungeonInfo `protobuf:"bytes,8,rep,name=summer_time_dungeon_list,json=summerTimeDungeonList,proto3" json:"summer_time_dungeon_list,omitempty"`
+ ShellList []uint32 `protobuf:"varint,13,rep,packed,name=shell_list,json=shellList,proto3" json:"shell_list,omitempty"`
+ PassDungeonList []uint32 `protobuf:"varint,4,rep,packed,name=pass_dungeon_list,json=passDungeonList,proto3" json:"pass_dungeon_list,omitempty"`
+ TakenRewardList []uint32 `protobuf:"varint,2,rep,packed,name=taken_reward_list,json=takenRewardList,proto3" json:"taken_reward_list,omitempty"`
+}
+
+func (x *EchoShellDetailInfo) Reset() {
+ *x = EchoShellDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EchoShellDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EchoShellDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EchoShellDetailInfo) ProtoMessage() {}
+
+func (x *EchoShellDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EchoShellDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EchoShellDetailInfo.ProtoReflect.Descriptor instead.
+func (*EchoShellDetailInfo) Descriptor() ([]byte, []int) {
+ return file_EchoShellDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EchoShellDetailInfo) GetSummerTimeDungeonList() []*SummerTimeDungeonInfo {
+ if x != nil {
+ return x.SummerTimeDungeonList
+ }
+ return nil
+}
+
+func (x *EchoShellDetailInfo) GetShellList() []uint32 {
+ if x != nil {
+ return x.ShellList
+ }
+ return nil
+}
+
+func (x *EchoShellDetailInfo) GetPassDungeonList() []uint32 {
+ if x != nil {
+ return x.PassDungeonList
+ }
+ return nil
+}
+
+func (x *EchoShellDetailInfo) GetTakenRewardList() []uint32 {
+ if x != nil {
+ return x.TakenRewardList
+ }
+ return nil
+}
+
+var File_EchoShellDetailInfo_proto protoreflect.FileDescriptor
+
+var file_EchoShellDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1b, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xe3, 0x01, 0x0a, 0x13, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x55, 0x0a, 0x18, 0x73, 0x75, 0x6d, 0x6d, 0x65,
+ 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54,
+ 0x69, 0x6d, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x09, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a,
+ 0x11, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x6b,
+ 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EchoShellDetailInfo_proto_rawDescOnce sync.Once
+ file_EchoShellDetailInfo_proto_rawDescData = file_EchoShellDetailInfo_proto_rawDesc
+)
+
+func file_EchoShellDetailInfo_proto_rawDescGZIP() []byte {
+ file_EchoShellDetailInfo_proto_rawDescOnce.Do(func() {
+ file_EchoShellDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EchoShellDetailInfo_proto_rawDescData)
+ })
+ return file_EchoShellDetailInfo_proto_rawDescData
+}
+
+var file_EchoShellDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EchoShellDetailInfo_proto_goTypes = []interface{}{
+ (*EchoShellDetailInfo)(nil), // 0: proto.EchoShellDetailInfo
+ (*SummerTimeDungeonInfo)(nil), // 1: proto.SummerTimeDungeonInfo
+}
+var file_EchoShellDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EchoShellDetailInfo.summer_time_dungeon_list:type_name -> proto.SummerTimeDungeonInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EchoShellDetailInfo_proto_init() }
+func file_EchoShellDetailInfo_proto_init() {
+ if File_EchoShellDetailInfo_proto != nil {
+ return
+ }
+ file_SummerTimeDungeonInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EchoShellDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EchoShellDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EchoShellDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EchoShellDetailInfo_proto_goTypes,
+ DependencyIndexes: file_EchoShellDetailInfo_proto_depIdxs,
+ MessageInfos: file_EchoShellDetailInfo_proto_msgTypes,
+ }.Build()
+ File_EchoShellDetailInfo_proto = out.File
+ file_EchoShellDetailInfo_proto_rawDesc = nil
+ file_EchoShellDetailInfo_proto_goTypes = nil
+ file_EchoShellDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EchoShellInfo.pb.go b/protocol/proto/EchoShellInfo.pb.go
new file mode 100644
index 00000000..f77575ce
--- /dev/null
+++ b/protocol/proto/EchoShellInfo.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EchoShellInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EchoShellInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShellId uint32 `protobuf:"varint,1,opt,name=shell_id,json=shellId,proto3" json:"shell_id,omitempty"`
+}
+
+func (x *EchoShellInfo) Reset() {
+ *x = EchoShellInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EchoShellInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EchoShellInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EchoShellInfo) ProtoMessage() {}
+
+func (x *EchoShellInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EchoShellInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EchoShellInfo.ProtoReflect.Descriptor instead.
+func (*EchoShellInfo) Descriptor() ([]byte, []int) {
+ return file_EchoShellInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EchoShellInfo) GetShellId() uint32 {
+ if x != nil {
+ return x.ShellId
+ }
+ return 0
+}
+
+var File_EchoShellInfo_proto protoreflect.FileDescriptor
+
+var file_EchoShellInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a, 0x0d,
+ 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EchoShellInfo_proto_rawDescOnce sync.Once
+ file_EchoShellInfo_proto_rawDescData = file_EchoShellInfo_proto_rawDesc
+)
+
+func file_EchoShellInfo_proto_rawDescGZIP() []byte {
+ file_EchoShellInfo_proto_rawDescOnce.Do(func() {
+ file_EchoShellInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EchoShellInfo_proto_rawDescData)
+ })
+ return file_EchoShellInfo_proto_rawDescData
+}
+
+var file_EchoShellInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EchoShellInfo_proto_goTypes = []interface{}{
+ (*EchoShellInfo)(nil), // 0: proto.EchoShellInfo
+}
+var file_EchoShellInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EchoShellInfo_proto_init() }
+func file_EchoShellInfo_proto_init() {
+ if File_EchoShellInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EchoShellInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EchoShellInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EchoShellInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EchoShellInfo_proto_goTypes,
+ DependencyIndexes: file_EchoShellInfo_proto_depIdxs,
+ MessageInfos: file_EchoShellInfo_proto_msgTypes,
+ }.Build()
+ File_EchoShellInfo_proto = out.File
+ file_EchoShellInfo_proto_rawDesc = nil
+ file_EchoShellInfo_proto_goTypes = nil
+ file_EchoShellInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EchoShellTakeRewardReq.pb.go b/protocol/proto/EchoShellTakeRewardReq.pb.go
new file mode 100644
index 00000000..5095aac5
--- /dev/null
+++ b/protocol/proto/EchoShellTakeRewardReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EchoShellTakeRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8114
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EchoShellTakeRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId uint32 `protobuf:"varint,10,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+}
+
+func (x *EchoShellTakeRewardReq) Reset() {
+ *x = EchoShellTakeRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EchoShellTakeRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EchoShellTakeRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EchoShellTakeRewardReq) ProtoMessage() {}
+
+func (x *EchoShellTakeRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EchoShellTakeRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EchoShellTakeRewardReq.ProtoReflect.Descriptor instead.
+func (*EchoShellTakeRewardReq) Descriptor() ([]byte, []int) {
+ return file_EchoShellTakeRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EchoShellTakeRewardReq) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+var File_EchoShellTakeRewardReq_proto protoreflect.FileDescriptor
+
+var file_EchoShellTakeRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x54, 0x61, 0x6b, 0x65, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x16, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65,
+ 0x6c, 0x6c, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12,
+ 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EchoShellTakeRewardReq_proto_rawDescOnce sync.Once
+ file_EchoShellTakeRewardReq_proto_rawDescData = file_EchoShellTakeRewardReq_proto_rawDesc
+)
+
+func file_EchoShellTakeRewardReq_proto_rawDescGZIP() []byte {
+ file_EchoShellTakeRewardReq_proto_rawDescOnce.Do(func() {
+ file_EchoShellTakeRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EchoShellTakeRewardReq_proto_rawDescData)
+ })
+ return file_EchoShellTakeRewardReq_proto_rawDescData
+}
+
+var file_EchoShellTakeRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EchoShellTakeRewardReq_proto_goTypes = []interface{}{
+ (*EchoShellTakeRewardReq)(nil), // 0: proto.EchoShellTakeRewardReq
+}
+var file_EchoShellTakeRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EchoShellTakeRewardReq_proto_init() }
+func file_EchoShellTakeRewardReq_proto_init() {
+ if File_EchoShellTakeRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EchoShellTakeRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EchoShellTakeRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EchoShellTakeRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EchoShellTakeRewardReq_proto_goTypes,
+ DependencyIndexes: file_EchoShellTakeRewardReq_proto_depIdxs,
+ MessageInfos: file_EchoShellTakeRewardReq_proto_msgTypes,
+ }.Build()
+ File_EchoShellTakeRewardReq_proto = out.File
+ file_EchoShellTakeRewardReq_proto_rawDesc = nil
+ file_EchoShellTakeRewardReq_proto_goTypes = nil
+ file_EchoShellTakeRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EchoShellTakeRewardRsp.pb.go b/protocol/proto/EchoShellTakeRewardRsp.pb.go
new file mode 100644
index 00000000..981d27d8
--- /dev/null
+++ b/protocol/proto/EchoShellTakeRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EchoShellTakeRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8797
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EchoShellTakeRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId uint32 `protobuf:"varint,6,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *EchoShellTakeRewardRsp) Reset() {
+ *x = EchoShellTakeRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EchoShellTakeRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EchoShellTakeRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EchoShellTakeRewardRsp) ProtoMessage() {}
+
+func (x *EchoShellTakeRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EchoShellTakeRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EchoShellTakeRewardRsp.ProtoReflect.Descriptor instead.
+func (*EchoShellTakeRewardRsp) Descriptor() ([]byte, []int) {
+ return file_EchoShellTakeRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EchoShellTakeRewardRsp) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *EchoShellTakeRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_EchoShellTakeRewardRsp_proto protoreflect.FileDescriptor
+
+var file_EchoShellTakeRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x54, 0x61, 0x6b, 0x65, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x16, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65,
+ 0x6c, 0x6c, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EchoShellTakeRewardRsp_proto_rawDescOnce sync.Once
+ file_EchoShellTakeRewardRsp_proto_rawDescData = file_EchoShellTakeRewardRsp_proto_rawDesc
+)
+
+func file_EchoShellTakeRewardRsp_proto_rawDescGZIP() []byte {
+ file_EchoShellTakeRewardRsp_proto_rawDescOnce.Do(func() {
+ file_EchoShellTakeRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EchoShellTakeRewardRsp_proto_rawDescData)
+ })
+ return file_EchoShellTakeRewardRsp_proto_rawDescData
+}
+
+var file_EchoShellTakeRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EchoShellTakeRewardRsp_proto_goTypes = []interface{}{
+ (*EchoShellTakeRewardRsp)(nil), // 0: proto.EchoShellTakeRewardRsp
+}
+var file_EchoShellTakeRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EchoShellTakeRewardRsp_proto_init() }
+func file_EchoShellTakeRewardRsp_proto_init() {
+ if File_EchoShellTakeRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EchoShellTakeRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EchoShellTakeRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EchoShellTakeRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EchoShellTakeRewardRsp_proto_goTypes,
+ DependencyIndexes: file_EchoShellTakeRewardRsp_proto_depIdxs,
+ MessageInfos: file_EchoShellTakeRewardRsp_proto_msgTypes,
+ }.Build()
+ File_EchoShellTakeRewardRsp_proto = out.File
+ file_EchoShellTakeRewardRsp_proto_rawDesc = nil
+ file_EchoShellTakeRewardRsp_proto_goTypes = nil
+ file_EchoShellTakeRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EchoShellUpdateNotify.pb.go b/protocol/proto/EchoShellUpdateNotify.pb.go
new file mode 100644
index 00000000..88bfeb32
--- /dev/null
+++ b/protocol/proto/EchoShellUpdateNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EchoShellUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8150
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EchoShellUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShellId uint32 `protobuf:"varint,1,opt,name=shell_id,json=shellId,proto3" json:"shell_id,omitempty"`
+}
+
+func (x *EchoShellUpdateNotify) Reset() {
+ *x = EchoShellUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EchoShellUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EchoShellUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EchoShellUpdateNotify) ProtoMessage() {}
+
+func (x *EchoShellUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EchoShellUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EchoShellUpdateNotify.ProtoReflect.Descriptor instead.
+func (*EchoShellUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_EchoShellUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EchoShellUpdateNotify) GetShellId() uint32 {
+ if x != nil {
+ return x.ShellId
+ }
+ return 0
+}
+
+var File_EchoShellUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_EchoShellUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x15, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68, 0x65, 0x6c,
+ 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EchoShellUpdateNotify_proto_rawDescOnce sync.Once
+ file_EchoShellUpdateNotify_proto_rawDescData = file_EchoShellUpdateNotify_proto_rawDesc
+)
+
+func file_EchoShellUpdateNotify_proto_rawDescGZIP() []byte {
+ file_EchoShellUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_EchoShellUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EchoShellUpdateNotify_proto_rawDescData)
+ })
+ return file_EchoShellUpdateNotify_proto_rawDescData
+}
+
+var file_EchoShellUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EchoShellUpdateNotify_proto_goTypes = []interface{}{
+ (*EchoShellUpdateNotify)(nil), // 0: proto.EchoShellUpdateNotify
+}
+var file_EchoShellUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EchoShellUpdateNotify_proto_init() }
+func file_EchoShellUpdateNotify_proto_init() {
+ if File_EchoShellUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EchoShellUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EchoShellUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EchoShellUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EchoShellUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_EchoShellUpdateNotify_proto_depIdxs,
+ MessageInfos: file_EchoShellUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_EchoShellUpdateNotify_proto = out.File
+ file_EchoShellUpdateNotify_proto_rawDesc = nil
+ file_EchoShellUpdateNotify_proto_goTypes = nil
+ file_EchoShellUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyActivityDetailInfo.pb.go b/protocol/proto/EffigyActivityDetailInfo.pb.go
new file mode 100644
index 00000000..68592140
--- /dev/null
+++ b/protocol/proto/EffigyActivityDetailInfo.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EffigyActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurScore uint32 `protobuf:"varint,5,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ DailyInfoList []*EffigyDailyInfo `protobuf:"bytes,14,rep,name=daily_info_list,json=dailyInfoList,proto3" json:"daily_info_list,omitempty"`
+ LastDifficultyId uint32 `protobuf:"varint,9,opt,name=last_difficulty_id,json=lastDifficultyId,proto3" json:"last_difficulty_id,omitempty"`
+ TakenRewardIndexList []uint32 `protobuf:"varint,2,rep,packed,name=taken_reward_index_list,json=takenRewardIndexList,proto3" json:"taken_reward_index_list,omitempty"`
+}
+
+func (x *EffigyActivityDetailInfo) Reset() {
+ *x = EffigyActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyActivityDetailInfo) ProtoMessage() {}
+
+func (x *EffigyActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*EffigyActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_EffigyActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyActivityDetailInfo) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *EffigyActivityDetailInfo) GetDailyInfoList() []*EffigyDailyInfo {
+ if x != nil {
+ return x.DailyInfoList
+ }
+ return nil
+}
+
+func (x *EffigyActivityDetailInfo) GetLastDifficultyId() uint32 {
+ if x != nil {
+ return x.LastDifficultyId
+ }
+ return 0
+}
+
+func (x *EffigyActivityDetailInfo) GetTakenRewardIndexList() []uint32 {
+ if x != nil {
+ return x.TakenRewardIndexList
+ }
+ return nil
+}
+
+var File_EffigyActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_EffigyActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x44,
+ 0x61, 0x69, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc,
+ 0x01, 0x0a, 0x18, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x63,
+ 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x64, 0x61, 0x69, 0x6c,
+ 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79,
+ 0x44, 0x61, 0x69, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63,
+ 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f,
+ 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_EffigyActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_EffigyActivityDetailInfo_proto_rawDescData = file_EffigyActivityDetailInfo_proto_rawDesc
+)
+
+func file_EffigyActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_EffigyActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_EffigyActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyActivityDetailInfo_proto_rawDescData)
+ })
+ return file_EffigyActivityDetailInfo_proto_rawDescData
+}
+
+var file_EffigyActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyActivityDetailInfo_proto_goTypes = []interface{}{
+ (*EffigyActivityDetailInfo)(nil), // 0: proto.EffigyActivityDetailInfo
+ (*EffigyDailyInfo)(nil), // 1: proto.EffigyDailyInfo
+}
+var file_EffigyActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EffigyActivityDetailInfo.daily_info_list:type_name -> proto.EffigyDailyInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EffigyActivityDetailInfo_proto_init() }
+func file_EffigyActivityDetailInfo_proto_init() {
+ if File_EffigyActivityDetailInfo_proto != nil {
+ return
+ }
+ file_EffigyDailyInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_EffigyActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_EffigyActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_EffigyActivityDetailInfo_proto = out.File
+ file_EffigyActivityDetailInfo_proto_rawDesc = nil
+ file_EffigyActivityDetailInfo_proto_goTypes = nil
+ file_EffigyActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeDungeonResultInfo.pb.go b/protocol/proto/EffigyChallengeDungeonResultInfo.pb.go
new file mode 100644
index 00000000..634295fe
--- /dev/null
+++ b/protocol/proto/EffigyChallengeDungeonResultInfo.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeDungeonResultInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EffigyChallengeDungeonResultInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeScore uint32 `protobuf:"varint,7,opt,name=challenge_score,json=challengeScore,proto3" json:"challenge_score,omitempty"`
+ IsInTimeLimit bool `protobuf:"varint,8,opt,name=is_in_time_limit,json=isInTimeLimit,proto3" json:"is_in_time_limit,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,6,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ IsSuccess bool `protobuf:"varint,15,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ ChallengeMaxScore uint32 `protobuf:"varint,13,opt,name=challenge_max_score,json=challengeMaxScore,proto3" json:"challenge_max_score,omitempty"`
+}
+
+func (x *EffigyChallengeDungeonResultInfo) Reset() {
+ *x = EffigyChallengeDungeonResultInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeDungeonResultInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeDungeonResultInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeDungeonResultInfo) ProtoMessage() {}
+
+func (x *EffigyChallengeDungeonResultInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeDungeonResultInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeDungeonResultInfo.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeDungeonResultInfo) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeDungeonResultInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeDungeonResultInfo) GetChallengeScore() uint32 {
+ if x != nil {
+ return x.ChallengeScore
+ }
+ return 0
+}
+
+func (x *EffigyChallengeDungeonResultInfo) GetIsInTimeLimit() bool {
+ if x != nil {
+ return x.IsInTimeLimit
+ }
+ return false
+}
+
+func (x *EffigyChallengeDungeonResultInfo) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *EffigyChallengeDungeonResultInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *EffigyChallengeDungeonResultInfo) GetChallengeMaxScore() uint32 {
+ if x != nil {
+ return x.ChallengeMaxScore
+ }
+ return 0
+}
+
+var File_EffigyChallengeDungeonResultInfo_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeDungeonResultInfo_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xe6, 0x01, 0x0a, 0x20, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a,
+ 0x10, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
+ 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x49, 0x6e, 0x54, 0x69, 0x6d,
+ 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f,
+ 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69,
+ 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeDungeonResultInfo_proto_rawDescOnce sync.Once
+ file_EffigyChallengeDungeonResultInfo_proto_rawDescData = file_EffigyChallengeDungeonResultInfo_proto_rawDesc
+)
+
+func file_EffigyChallengeDungeonResultInfo_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeDungeonResultInfo_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeDungeonResultInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeDungeonResultInfo_proto_rawDescData)
+ })
+ return file_EffigyChallengeDungeonResultInfo_proto_rawDescData
+}
+
+var file_EffigyChallengeDungeonResultInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeDungeonResultInfo_proto_goTypes = []interface{}{
+ (*EffigyChallengeDungeonResultInfo)(nil), // 0: proto.EffigyChallengeDungeonResultInfo
+}
+var file_EffigyChallengeDungeonResultInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeDungeonResultInfo_proto_init() }
+func file_EffigyChallengeDungeonResultInfo_proto_init() {
+ if File_EffigyChallengeDungeonResultInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeDungeonResultInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeDungeonResultInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeDungeonResultInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeDungeonResultInfo_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeDungeonResultInfo_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeDungeonResultInfo_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeDungeonResultInfo_proto = out.File
+ file_EffigyChallengeDungeonResultInfo_proto_rawDesc = nil
+ file_EffigyChallengeDungeonResultInfo_proto_goTypes = nil
+ file_EffigyChallengeDungeonResultInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeInfoNotify.pb.go b/protocol/proto/EffigyChallengeInfoNotify.pb.go
new file mode 100644
index 00000000..6f3e840a
--- /dev/null
+++ b/protocol/proto/EffigyChallengeInfoNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2090
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EffigyChallengeInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DifficultyId uint32 `protobuf:"varint,9,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ ConditionIdList []uint32 `protobuf:"varint,11,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ ChallengeScore uint32 `protobuf:"varint,14,opt,name=challenge_score,json=challengeScore,proto3" json:"challenge_score,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,8,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *EffigyChallengeInfoNotify) Reset() {
+ *x = EffigyChallengeInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeInfoNotify) ProtoMessage() {}
+
+func (x *EffigyChallengeInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeInfoNotify.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeInfoNotify) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeInfoNotify) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *EffigyChallengeInfoNotify) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *EffigyChallengeInfoNotify) GetChallengeScore() uint32 {
+ if x != nil {
+ return x.ChallengeScore
+ }
+ return 0
+}
+
+func (x *EffigyChallengeInfoNotify) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_EffigyChallengeInfoNotify_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x19, 0x45, 0x66, 0x66,
+ 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63,
+ 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64,
+ 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63,
+ 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65,
+ 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeInfoNotify_proto_rawDescOnce sync.Once
+ file_EffigyChallengeInfoNotify_proto_rawDescData = file_EffigyChallengeInfoNotify_proto_rawDesc
+)
+
+func file_EffigyChallengeInfoNotify_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeInfoNotify_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeInfoNotify_proto_rawDescData)
+ })
+ return file_EffigyChallengeInfoNotify_proto_rawDescData
+}
+
+var file_EffigyChallengeInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeInfoNotify_proto_goTypes = []interface{}{
+ (*EffigyChallengeInfoNotify)(nil), // 0: proto.EffigyChallengeInfoNotify
+}
+var file_EffigyChallengeInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeInfoNotify_proto_init() }
+func file_EffigyChallengeInfoNotify_proto_init() {
+ if File_EffigyChallengeInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeInfoNotify_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeInfoNotify_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeInfoNotify_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeInfoNotify_proto = out.File
+ file_EffigyChallengeInfoNotify_proto_rawDesc = nil
+ file_EffigyChallengeInfoNotify_proto_goTypes = nil
+ file_EffigyChallengeInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeResultNotify.pb.go b/protocol/proto/EffigyChallengeResultNotify.pb.go
new file mode 100644
index 00000000..c3cb688e
--- /dev/null
+++ b/protocol/proto/EffigyChallengeResultNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2046
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EffigyChallengeResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSuccess bool `protobuf:"varint,5,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ ChallengeMaxScore uint32 `protobuf:"varint,12,opt,name=challenge_max_score,json=challengeMaxScore,proto3" json:"challenge_max_score,omitempty"`
+ ChallengeScore uint32 `protobuf:"varint,3,opt,name=challenge_score,json=challengeScore,proto3" json:"challenge_score,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,7,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *EffigyChallengeResultNotify) Reset() {
+ *x = EffigyChallengeResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeResultNotify) ProtoMessage() {}
+
+func (x *EffigyChallengeResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeResultNotify.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeResultNotify) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeResultNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *EffigyChallengeResultNotify) GetChallengeMaxScore() uint32 {
+ if x != nil {
+ return x.ChallengeMaxScore
+ }
+ return 0
+}
+
+func (x *EffigyChallengeResultNotify) GetChallengeScore() uint32 {
+ if x != nil {
+ return x.ChallengeScore
+ }
+ return 0
+}
+
+func (x *EffigyChallengeResultNotify) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_EffigyChallengeResultNotify_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x1b, 0x45,
+ 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73,
+ 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
+ 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeResultNotify_proto_rawDescOnce sync.Once
+ file_EffigyChallengeResultNotify_proto_rawDescData = file_EffigyChallengeResultNotify_proto_rawDesc
+)
+
+func file_EffigyChallengeResultNotify_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeResultNotify_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeResultNotify_proto_rawDescData)
+ })
+ return file_EffigyChallengeResultNotify_proto_rawDescData
+}
+
+var file_EffigyChallengeResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeResultNotify_proto_goTypes = []interface{}{
+ (*EffigyChallengeResultNotify)(nil), // 0: proto.EffigyChallengeResultNotify
+}
+var file_EffigyChallengeResultNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeResultNotify_proto_init() }
+func file_EffigyChallengeResultNotify_proto_init() {
+ if File_EffigyChallengeResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeResultNotify_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeResultNotify_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeResultNotify_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeResultNotify_proto = out.File
+ file_EffigyChallengeResultNotify_proto_rawDesc = nil
+ file_EffigyChallengeResultNotify_proto_goTypes = nil
+ file_EffigyChallengeResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2ChooseSkillReq.pb.go b/protocol/proto/EffigyChallengeV2ChooseSkillReq.pb.go
new file mode 100644
index 00000000..817521ff
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2ChooseSkillReq.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2ChooseSkillReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21269
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EffigyChallengeV2ChooseSkillReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,6,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ ChallengeModeSkillNo uint32 `protobuf:"varint,7,opt,name=challenge_mode_skill_no,json=challengeModeSkillNo,proto3" json:"challenge_mode_skill_no,omitempty"`
+}
+
+func (x *EffigyChallengeV2ChooseSkillReq) Reset() {
+ *x = EffigyChallengeV2ChooseSkillReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2ChooseSkillReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2ChooseSkillReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2ChooseSkillReq) ProtoMessage() {}
+
+func (x *EffigyChallengeV2ChooseSkillReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2ChooseSkillReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2ChooseSkillReq.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2ChooseSkillReq) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2ChooseSkillReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2ChooseSkillReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2ChooseSkillReq) GetChallengeModeSkillNo() uint32 {
+ if x != nil {
+ return x.ChallengeModeSkillNo
+ }
+ return 0
+}
+
+var File_EffigyChallengeV2ChooseSkillReq_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2ChooseSkillReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73,
+ 0x0a, 0x1f, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x4e, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2ChooseSkillReq_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2ChooseSkillReq_proto_rawDescData = file_EffigyChallengeV2ChooseSkillReq_proto_rawDesc
+)
+
+func file_EffigyChallengeV2ChooseSkillReq_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2ChooseSkillReq_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2ChooseSkillReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2ChooseSkillReq_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2ChooseSkillReq_proto_rawDescData
+}
+
+var file_EffigyChallengeV2ChooseSkillReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2ChooseSkillReq_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2ChooseSkillReq)(nil), // 0: proto.EffigyChallengeV2ChooseSkillReq
+}
+var file_EffigyChallengeV2ChooseSkillReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2ChooseSkillReq_proto_init() }
+func file_EffigyChallengeV2ChooseSkillReq_proto_init() {
+ if File_EffigyChallengeV2ChooseSkillReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2ChooseSkillReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2ChooseSkillReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2ChooseSkillReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2ChooseSkillReq_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2ChooseSkillReq_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2ChooseSkillReq_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2ChooseSkillReq_proto = out.File
+ file_EffigyChallengeV2ChooseSkillReq_proto_rawDesc = nil
+ file_EffigyChallengeV2ChooseSkillReq_proto_goTypes = nil
+ file_EffigyChallengeV2ChooseSkillReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2ChooseSkillRsp.pb.go b/protocol/proto/EffigyChallengeV2ChooseSkillRsp.pb.go
new file mode 100644
index 00000000..3ecdc9c4
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2ChooseSkillRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2ChooseSkillRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22448
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EffigyChallengeV2ChooseSkillRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,15,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ChallengeModeSkillNo uint32 `protobuf:"varint,3,opt,name=challenge_mode_skill_no,json=challengeModeSkillNo,proto3" json:"challenge_mode_skill_no,omitempty"`
+}
+
+func (x *EffigyChallengeV2ChooseSkillRsp) Reset() {
+ *x = EffigyChallengeV2ChooseSkillRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2ChooseSkillRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2ChooseSkillRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2ChooseSkillRsp) ProtoMessage() {}
+
+func (x *EffigyChallengeV2ChooseSkillRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2ChooseSkillRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2ChooseSkillRsp.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2ChooseSkillRsp) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2ChooseSkillRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2ChooseSkillRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2ChooseSkillRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2ChooseSkillRsp) GetChallengeModeSkillNo() uint32 {
+ if x != nil {
+ return x.ChallengeModeSkillNo
+ }
+ return 0
+}
+
+var File_EffigyChallengeV2ChooseSkillRsp_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2ChooseSkillRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d,
+ 0x01, 0x0a, 0x1f, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x56, 0x32, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52,
+ 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
+ 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2ChooseSkillRsp_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2ChooseSkillRsp_proto_rawDescData = file_EffigyChallengeV2ChooseSkillRsp_proto_rawDesc
+)
+
+func file_EffigyChallengeV2ChooseSkillRsp_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2ChooseSkillRsp_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2ChooseSkillRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2ChooseSkillRsp_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2ChooseSkillRsp_proto_rawDescData
+}
+
+var file_EffigyChallengeV2ChooseSkillRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2ChooseSkillRsp_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2ChooseSkillRsp)(nil), // 0: proto.EffigyChallengeV2ChooseSkillRsp
+}
+var file_EffigyChallengeV2ChooseSkillRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2ChooseSkillRsp_proto_init() }
+func file_EffigyChallengeV2ChooseSkillRsp_proto_init() {
+ if File_EffigyChallengeV2ChooseSkillRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2ChooseSkillRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2ChooseSkillRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2ChooseSkillRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2ChooseSkillRsp_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2ChooseSkillRsp_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2ChooseSkillRsp_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2ChooseSkillRsp_proto = out.File
+ file_EffigyChallengeV2ChooseSkillRsp_proto_rawDesc = nil
+ file_EffigyChallengeV2ChooseSkillRsp_proto_goTypes = nil
+ file_EffigyChallengeV2ChooseSkillRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2DetailInfo.pb.go b/protocol/proto/EffigyChallengeV2DetailInfo.pb.go
new file mode 100644
index 00000000..2f966931
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2DetailInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2DetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EffigyChallengeV2DetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelDataList []*EffigyChallengeV2LevelData `protobuf:"bytes,3,rep,name=level_data_list,json=levelDataList,proto3" json:"level_data_list,omitempty"`
+}
+
+func (x *EffigyChallengeV2DetailInfo) Reset() {
+ *x = EffigyChallengeV2DetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2DetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2DetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2DetailInfo) ProtoMessage() {}
+
+func (x *EffigyChallengeV2DetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2DetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2DetailInfo.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2DetailInfo) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2DetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2DetailInfo) GetLevelDataList() []*EffigyChallengeV2LevelData {
+ if x != nil {
+ return x.LevelDataList
+ }
+ return nil
+}
+
+var File_EffigyChallengeV2DetailInfo_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2DetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x45, 0x66, 0x66, 0x69,
+ 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x1b,
+ 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56,
+ 0x32, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x0f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x66, 0x66,
+ 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61,
+ 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2DetailInfo_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2DetailInfo_proto_rawDescData = file_EffigyChallengeV2DetailInfo_proto_rawDesc
+)
+
+func file_EffigyChallengeV2DetailInfo_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2DetailInfo_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2DetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2DetailInfo_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2DetailInfo_proto_rawDescData
+}
+
+var file_EffigyChallengeV2DetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2DetailInfo_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2DetailInfo)(nil), // 0: proto.EffigyChallengeV2DetailInfo
+ (*EffigyChallengeV2LevelData)(nil), // 1: proto.EffigyChallengeV2LevelData
+}
+var file_EffigyChallengeV2DetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EffigyChallengeV2DetailInfo.level_data_list:type_name -> proto.EffigyChallengeV2LevelData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2DetailInfo_proto_init() }
+func file_EffigyChallengeV2DetailInfo_proto_init() {
+ if File_EffigyChallengeV2DetailInfo_proto != nil {
+ return
+ }
+ file_EffigyChallengeV2LevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2DetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2DetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2DetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2DetailInfo_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2DetailInfo_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2DetailInfo_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2DetailInfo_proto = out.File
+ file_EffigyChallengeV2DetailInfo_proto_rawDesc = nil
+ file_EffigyChallengeV2DetailInfo_proto_goTypes = nil
+ file_EffigyChallengeV2DetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2DungeonInfoNotify.pb.go b/protocol/proto/EffigyChallengeV2DungeonInfoNotify.pb.go
new file mode 100644
index 00000000..1888626a
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2DungeonInfoNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2DungeonInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22835
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EffigyChallengeV2DungeonInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeModeDifficulty uint32 `protobuf:"varint,2,opt,name=challenge_mode_difficulty,json=challengeModeDifficulty,proto3" json:"challenge_mode_difficulty,omitempty"`
+ SkillNo uint32 `protobuf:"varint,4,opt,name=skill_no,json=skillNo,proto3" json:"skill_no,omitempty"`
+ LevelId uint32 `protobuf:"varint,13,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *EffigyChallengeV2DungeonInfoNotify) Reset() {
+ *x = EffigyChallengeV2DungeonInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2DungeonInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2DungeonInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2DungeonInfoNotify) ProtoMessage() {}
+
+func (x *EffigyChallengeV2DungeonInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2DungeonInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2DungeonInfoNotify.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2DungeonInfoNotify) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2DungeonInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2DungeonInfoNotify) GetChallengeModeDifficulty() uint32 {
+ if x != nil {
+ return x.ChallengeModeDifficulty
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2DungeonInfoNotify) GetSkillNo() uint32 {
+ if x != nil {
+ return x.SkillNo
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2DungeonInfoNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_EffigyChallengeV2DungeonInfoNotify_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2DungeonInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x22, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69,
+ 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63,
+ 0x75, 0x6c, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x12,
+ 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2DungeonInfoNotify_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2DungeonInfoNotify_proto_rawDescData = file_EffigyChallengeV2DungeonInfoNotify_proto_rawDesc
+)
+
+func file_EffigyChallengeV2DungeonInfoNotify_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2DungeonInfoNotify_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2DungeonInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2DungeonInfoNotify_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2DungeonInfoNotify_proto_rawDescData
+}
+
+var file_EffigyChallengeV2DungeonInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2DungeonInfoNotify_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2DungeonInfoNotify)(nil), // 0: proto.EffigyChallengeV2DungeonInfoNotify
+}
+var file_EffigyChallengeV2DungeonInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2DungeonInfoNotify_proto_init() }
+func file_EffigyChallengeV2DungeonInfoNotify_proto_init() {
+ if File_EffigyChallengeV2DungeonInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2DungeonInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2DungeonInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2DungeonInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2DungeonInfoNotify_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2DungeonInfoNotify_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2DungeonInfoNotify_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2DungeonInfoNotify_proto = out.File
+ file_EffigyChallengeV2DungeonInfoNotify_proto_rawDesc = nil
+ file_EffigyChallengeV2DungeonInfoNotify_proto_goTypes = nil
+ file_EffigyChallengeV2DungeonInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2EnterDungeonReq.pb.go b/protocol/proto/EffigyChallengeV2EnterDungeonReq.pb.go
new file mode 100644
index 00000000..e2266060
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2EnterDungeonReq.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2EnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23489
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EffigyChallengeV2EnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeModeDifficulty uint32 `protobuf:"varint,7,opt,name=challenge_mode_difficulty,json=challengeModeDifficulty,proto3" json:"challenge_mode_difficulty,omitempty"`
+ LevelId uint32 `protobuf:"varint,12,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ ChallengeModeSkillNo uint32 `protobuf:"varint,11,opt,name=challenge_mode_skill_no,json=challengeModeSkillNo,proto3" json:"challenge_mode_skill_no,omitempty"`
+}
+
+func (x *EffigyChallengeV2EnterDungeonReq) Reset() {
+ *x = EffigyChallengeV2EnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2EnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2EnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2EnterDungeonReq) ProtoMessage() {}
+
+func (x *EffigyChallengeV2EnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2EnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2EnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2EnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2EnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2EnterDungeonReq) GetChallengeModeDifficulty() uint32 {
+ if x != nil {
+ return x.ChallengeModeDifficulty
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2EnterDungeonReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2EnterDungeonReq) GetChallengeModeSkillNo() uint32 {
+ if x != nil {
+ return x.ChallengeModeSkillNo
+ }
+ return 0
+}
+
+var File_EffigyChallengeV2EnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2EnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb0, 0x01, 0x0a, 0x20, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x56, 0x32, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79,
+ 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x4e, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2EnterDungeonReq_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2EnterDungeonReq_proto_rawDescData = file_EffigyChallengeV2EnterDungeonReq_proto_rawDesc
+)
+
+func file_EffigyChallengeV2EnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2EnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2EnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2EnterDungeonReq_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2EnterDungeonReq_proto_rawDescData
+}
+
+var file_EffigyChallengeV2EnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2EnterDungeonReq_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2EnterDungeonReq)(nil), // 0: proto.EffigyChallengeV2EnterDungeonReq
+}
+var file_EffigyChallengeV2EnterDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2EnterDungeonReq_proto_init() }
+func file_EffigyChallengeV2EnterDungeonReq_proto_init() {
+ if File_EffigyChallengeV2EnterDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2EnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2EnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2EnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2EnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2EnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2EnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2EnterDungeonReq_proto = out.File
+ file_EffigyChallengeV2EnterDungeonReq_proto_rawDesc = nil
+ file_EffigyChallengeV2EnterDungeonReq_proto_goTypes = nil
+ file_EffigyChallengeV2EnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2EnterDungeonRsp.pb.go b/protocol/proto/EffigyChallengeV2EnterDungeonRsp.pb.go
new file mode 100644
index 00000000..1d81b5ed
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2EnterDungeonRsp.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2EnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24917
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EffigyChallengeV2EnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeModeSkillNo uint32 `protobuf:"varint,11,opt,name=challenge_mode_skill_no,json=challengeModeSkillNo,proto3" json:"challenge_mode_skill_no,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ChallengeModeDifficulty uint32 `protobuf:"varint,14,opt,name=challenge_mode_difficulty,json=challengeModeDifficulty,proto3" json:"challenge_mode_difficulty,omitempty"`
+ LevelId uint32 `protobuf:"varint,13,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *EffigyChallengeV2EnterDungeonRsp) Reset() {
+ *x = EffigyChallengeV2EnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2EnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2EnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2EnterDungeonRsp) ProtoMessage() {}
+
+func (x *EffigyChallengeV2EnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2EnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2EnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2EnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2EnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2EnterDungeonRsp) GetChallengeModeSkillNo() uint32 {
+ if x != nil {
+ return x.ChallengeModeSkillNo
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2EnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2EnterDungeonRsp) GetChallengeModeDifficulty() uint32 {
+ if x != nil {
+ return x.ChallengeModeDifficulty
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2EnterDungeonRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_EffigyChallengeV2EnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2EnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xca, 0x01, 0x0a, 0x20, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x56, 0x32, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
+ 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2EnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2EnterDungeonRsp_proto_rawDescData = file_EffigyChallengeV2EnterDungeonRsp_proto_rawDesc
+)
+
+func file_EffigyChallengeV2EnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2EnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2EnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2EnterDungeonRsp_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2EnterDungeonRsp_proto_rawDescData
+}
+
+var file_EffigyChallengeV2EnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2EnterDungeonRsp_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2EnterDungeonRsp)(nil), // 0: proto.EffigyChallengeV2EnterDungeonRsp
+}
+var file_EffigyChallengeV2EnterDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2EnterDungeonRsp_proto_init() }
+func file_EffigyChallengeV2EnterDungeonRsp_proto_init() {
+ if File_EffigyChallengeV2EnterDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2EnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2EnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2EnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2EnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2EnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2EnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2EnterDungeonRsp_proto = out.File
+ file_EffigyChallengeV2EnterDungeonRsp_proto_rawDesc = nil
+ file_EffigyChallengeV2EnterDungeonRsp_proto_goTypes = nil
+ file_EffigyChallengeV2EnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2LevelData.pb.go b/protocol/proto/EffigyChallengeV2LevelData.pb.go
new file mode 100644
index 00000000..45f6bc67
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2LevelData.pb.go
@@ -0,0 +1,218 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2LevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EffigyChallengeV2LevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeModeDifficultyPass uint32 `protobuf:"varint,1,opt,name=challenge_mode_difficulty_pass,json=challengeModeDifficultyPass,proto3" json:"challenge_mode_difficulty_pass,omitempty"`
+ LevelId uint32 `protobuf:"varint,5,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ ChallengeModeLastChooseSkillNo uint32 `protobuf:"varint,10,opt,name=challenge_mode_last_choose_skill_no,json=challengeModeLastChooseSkillNo,proto3" json:"challenge_mode_last_choose_skill_no,omitempty"`
+ BestCostTime uint32 `protobuf:"varint,12,opt,name=best_cost_time,json=bestCostTime,proto3" json:"best_cost_time,omitempty"`
+ IsLevelOpen bool `protobuf:"varint,7,opt,name=is_level_open,json=isLevelOpen,proto3" json:"is_level_open,omitempty"`
+ ChallengeModeDifficultyOpen uint32 `protobuf:"varint,13,opt,name=challenge_mode_difficulty_open,json=challengeModeDifficultyOpen,proto3" json:"challenge_mode_difficulty_open,omitempty"`
+}
+
+func (x *EffigyChallengeV2LevelData) Reset() {
+ *x = EffigyChallengeV2LevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2LevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2LevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2LevelData) ProtoMessage() {}
+
+func (x *EffigyChallengeV2LevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2LevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2LevelData.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2LevelData) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2LevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2LevelData) GetChallengeModeDifficultyPass() uint32 {
+ if x != nil {
+ return x.ChallengeModeDifficultyPass
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2LevelData) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2LevelData) GetChallengeModeLastChooseSkillNo() uint32 {
+ if x != nil {
+ return x.ChallengeModeLastChooseSkillNo
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2LevelData) GetBestCostTime() uint32 {
+ if x != nil {
+ return x.BestCostTime
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2LevelData) GetIsLevelOpen() bool {
+ if x != nil {
+ return x.IsLevelOpen
+ }
+ return false
+}
+
+func (x *EffigyChallengeV2LevelData) GetChallengeModeDifficultyOpen() uint32 {
+ if x != nil {
+ return x.ChallengeModeDifficultyOpen
+ }
+ return 0
+}
+
+var File_EffigyChallengeV2LevelData_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2LevelData_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x02, 0x0a, 0x1a, 0x45, 0x66,
+ 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x1e, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69,
+ 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x1b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44,
+ 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x50, 0x61, 0x73, 0x73, 0x12, 0x19, 0x0a,
+ 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x23, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f,
+ 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x4d, 0x6f, 0x64, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f,
+ 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62,
+ 0x65, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x12,
+ 0x43, 0x0a, 0x1e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64,
+ 0x65, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79,
+ 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2LevelData_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2LevelData_proto_rawDescData = file_EffigyChallengeV2LevelData_proto_rawDesc
+)
+
+func file_EffigyChallengeV2LevelData_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2LevelData_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2LevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2LevelData_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2LevelData_proto_rawDescData
+}
+
+var file_EffigyChallengeV2LevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2LevelData_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2LevelData)(nil), // 0: proto.EffigyChallengeV2LevelData
+}
+var file_EffigyChallengeV2LevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2LevelData_proto_init() }
+func file_EffigyChallengeV2LevelData_proto_init() {
+ if File_EffigyChallengeV2LevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2LevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2LevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2LevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2LevelData_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2LevelData_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2LevelData_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2LevelData_proto = out.File
+ file_EffigyChallengeV2LevelData_proto_rawDesc = nil
+ file_EffigyChallengeV2LevelData_proto_goTypes = nil
+ file_EffigyChallengeV2LevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2RestartDungeonReq.pb.go b/protocol/proto/EffigyChallengeV2RestartDungeonReq.pb.go
new file mode 100644
index 00000000..ad41bc5e
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2RestartDungeonReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2RestartDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24522
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EffigyChallengeV2RestartDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *EffigyChallengeV2RestartDungeonReq) Reset() {
+ *x = EffigyChallengeV2RestartDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2RestartDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2RestartDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2RestartDungeonReq) ProtoMessage() {}
+
+func (x *EffigyChallengeV2RestartDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2RestartDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2RestartDungeonReq.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2RestartDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2RestartDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_EffigyChallengeV2RestartDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2RestartDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x24, 0x0a, 0x22, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2RestartDungeonReq_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2RestartDungeonReq_proto_rawDescData = file_EffigyChallengeV2RestartDungeonReq_proto_rawDesc
+)
+
+func file_EffigyChallengeV2RestartDungeonReq_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2RestartDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2RestartDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2RestartDungeonReq_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2RestartDungeonReq_proto_rawDescData
+}
+
+var file_EffigyChallengeV2RestartDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2RestartDungeonReq_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2RestartDungeonReq)(nil), // 0: proto.EffigyChallengeV2RestartDungeonReq
+}
+var file_EffigyChallengeV2RestartDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2RestartDungeonReq_proto_init() }
+func file_EffigyChallengeV2RestartDungeonReq_proto_init() {
+ if File_EffigyChallengeV2RestartDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2RestartDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2RestartDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2RestartDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2RestartDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2RestartDungeonReq_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2RestartDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2RestartDungeonReq_proto = out.File
+ file_EffigyChallengeV2RestartDungeonReq_proto_rawDesc = nil
+ file_EffigyChallengeV2RestartDungeonReq_proto_goTypes = nil
+ file_EffigyChallengeV2RestartDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2RestartDungeonRsp.pb.go b/protocol/proto/EffigyChallengeV2RestartDungeonRsp.pb.go
new file mode 100644
index 00000000..b2fe757e
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2RestartDungeonRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2RestartDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23167
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EffigyChallengeV2RestartDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *EffigyChallengeV2RestartDungeonRsp) Reset() {
+ *x = EffigyChallengeV2RestartDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2RestartDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2RestartDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2RestartDungeonRsp) ProtoMessage() {}
+
+func (x *EffigyChallengeV2RestartDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2RestartDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2RestartDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2RestartDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2RestartDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2RestartDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_EffigyChallengeV2RestartDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2RestartDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x3e, 0x0a, 0x22, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2RestartDungeonRsp_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2RestartDungeonRsp_proto_rawDescData = file_EffigyChallengeV2RestartDungeonRsp_proto_rawDesc
+)
+
+func file_EffigyChallengeV2RestartDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2RestartDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2RestartDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2RestartDungeonRsp_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2RestartDungeonRsp_proto_rawDescData
+}
+
+var file_EffigyChallengeV2RestartDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2RestartDungeonRsp_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2RestartDungeonRsp)(nil), // 0: proto.EffigyChallengeV2RestartDungeonRsp
+}
+var file_EffigyChallengeV2RestartDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2RestartDungeonRsp_proto_init() }
+func file_EffigyChallengeV2RestartDungeonRsp_proto_init() {
+ if File_EffigyChallengeV2RestartDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2RestartDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2RestartDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2RestartDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2RestartDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2RestartDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2RestartDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2RestartDungeonRsp_proto = out.File
+ file_EffigyChallengeV2RestartDungeonRsp_proto_rawDesc = nil
+ file_EffigyChallengeV2RestartDungeonRsp_proto_goTypes = nil
+ file_EffigyChallengeV2RestartDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyChallengeV2SettleInfo.pb.go b/protocol/proto/EffigyChallengeV2SettleInfo.pb.go
new file mode 100644
index 00000000..4fc2b557
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2SettleInfo.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyChallengeV2SettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EffigyChallengeV2SettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsChallengeHighestDifficulty bool `protobuf:"varint,7,opt,name=is_challenge_highest_difficulty,json=isChallengeHighestDifficulty,proto3" json:"is_challenge_highest_difficulty,omitempty"`
+ CreateDungeonPlayerUid uint32 `protobuf:"varint,4,opt,name=create_dungeon_player_uid,json=createDungeonPlayerUid,proto3" json:"create_dungeon_player_uid,omitempty"`
+ ChallengeModeDifficulty uint32 `protobuf:"varint,6,opt,name=challenge_mode_difficulty,json=challengeModeDifficulty,proto3" json:"challenge_mode_difficulty,omitempty"`
+ IsNewRecordTime bool `protobuf:"varint,1,opt,name=is_new_record_time,json=isNewRecordTime,proto3" json:"is_new_record_time,omitempty"`
+ RecordTime uint32 `protobuf:"varint,12,opt,name=record_time,json=recordTime,proto3" json:"record_time,omitempty"`
+ FirstTimeFinishDifficulty uint32 `protobuf:"varint,5,opt,name=first_time_finish_difficulty,json=firstTimeFinishDifficulty,proto3" json:"first_time_finish_difficulty,omitempty"`
+}
+
+func (x *EffigyChallengeV2SettleInfo) Reset() {
+ *x = EffigyChallengeV2SettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyChallengeV2SettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyChallengeV2SettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyChallengeV2SettleInfo) ProtoMessage() {}
+
+func (x *EffigyChallengeV2SettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyChallengeV2SettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyChallengeV2SettleInfo.ProtoReflect.Descriptor instead.
+func (*EffigyChallengeV2SettleInfo) Descriptor() ([]byte, []int) {
+ return file_EffigyChallengeV2SettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyChallengeV2SettleInfo) GetIsChallengeHighestDifficulty() bool {
+ if x != nil {
+ return x.IsChallengeHighestDifficulty
+ }
+ return false
+}
+
+func (x *EffigyChallengeV2SettleInfo) GetCreateDungeonPlayerUid() uint32 {
+ if x != nil {
+ return x.CreateDungeonPlayerUid
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2SettleInfo) GetChallengeModeDifficulty() uint32 {
+ if x != nil {
+ return x.ChallengeModeDifficulty
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2SettleInfo) GetIsNewRecordTime() bool {
+ if x != nil {
+ return x.IsNewRecordTime
+ }
+ return false
+}
+
+func (x *EffigyChallengeV2SettleInfo) GetRecordTime() uint32 {
+ if x != nil {
+ return x.RecordTime
+ }
+ return 0
+}
+
+func (x *EffigyChallengeV2SettleInfo) GetFirstTimeFinishDifficulty() uint32 {
+ if x != nil {
+ return x.FirstTimeFinishDifficulty
+ }
+ return 0
+}
+
+var File_EffigyChallengeV2SettleInfo_proto protoreflect.FileDescriptor
+
+var file_EffigyChallengeV2SettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xea, 0x02, 0x0a, 0x1b, 0x45,
+ 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x1f, 0x69, 0x73,
+ 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x65,
+ 0x73, 0x74, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x1c, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x12, 0x39, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x19,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x64,
+ 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x17, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x44, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x6e,
+ 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x66, 0x69,
+ 0x72, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyChallengeV2SettleInfo_proto_rawDescOnce sync.Once
+ file_EffigyChallengeV2SettleInfo_proto_rawDescData = file_EffigyChallengeV2SettleInfo_proto_rawDesc
+)
+
+func file_EffigyChallengeV2SettleInfo_proto_rawDescGZIP() []byte {
+ file_EffigyChallengeV2SettleInfo_proto_rawDescOnce.Do(func() {
+ file_EffigyChallengeV2SettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyChallengeV2SettleInfo_proto_rawDescData)
+ })
+ return file_EffigyChallengeV2SettleInfo_proto_rawDescData
+}
+
+var file_EffigyChallengeV2SettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyChallengeV2SettleInfo_proto_goTypes = []interface{}{
+ (*EffigyChallengeV2SettleInfo)(nil), // 0: proto.EffigyChallengeV2SettleInfo
+}
+var file_EffigyChallengeV2SettleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyChallengeV2SettleInfo_proto_init() }
+func file_EffigyChallengeV2SettleInfo_proto_init() {
+ if File_EffigyChallengeV2SettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyChallengeV2SettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyChallengeV2SettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyChallengeV2SettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyChallengeV2SettleInfo_proto_goTypes,
+ DependencyIndexes: file_EffigyChallengeV2SettleInfo_proto_depIdxs,
+ MessageInfos: file_EffigyChallengeV2SettleInfo_proto_msgTypes,
+ }.Build()
+ File_EffigyChallengeV2SettleInfo_proto = out.File
+ file_EffigyChallengeV2SettleInfo_proto_rawDesc = nil
+ file_EffigyChallengeV2SettleInfo_proto_goTypes = nil
+ file_EffigyChallengeV2SettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EffigyDailyInfo.pb.go b/protocol/proto/EffigyDailyInfo.pb.go
new file mode 100644
index 00000000..95a2e348
--- /dev/null
+++ b/protocol/proto/EffigyDailyInfo.pb.go
@@ -0,0 +1,223 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EffigyDailyInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EffigyDailyInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeMaxScore uint32 `protobuf:"varint,6,opt,name=challenge_max_score,json=challengeMaxScore,proto3" json:"challenge_max_score,omitempty"`
+ IsFirstPassRewardTaken bool `protobuf:"varint,12,opt,name=is_first_pass_reward_taken,json=isFirstPassRewardTaken,proto3" json:"is_first_pass_reward_taken,omitempty"`
+ ChallengeTotalScore uint32 `protobuf:"varint,15,opt,name=challenge_total_score,json=challengeTotalScore,proto3" json:"challenge_total_score,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ ChallengeCount uint32 `protobuf:"varint,3,opt,name=challenge_count,json=challengeCount,proto3" json:"challenge_count,omitempty"`
+ DayIndex uint32 `protobuf:"varint,14,opt,name=day_index,json=dayIndex,proto3" json:"day_index,omitempty"`
+ BeginTime uint32 `protobuf:"varint,2,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+}
+
+func (x *EffigyDailyInfo) Reset() {
+ *x = EffigyDailyInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EffigyDailyInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EffigyDailyInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EffigyDailyInfo) ProtoMessage() {}
+
+func (x *EffigyDailyInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EffigyDailyInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EffigyDailyInfo.ProtoReflect.Descriptor instead.
+func (*EffigyDailyInfo) Descriptor() ([]byte, []int) {
+ return file_EffigyDailyInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EffigyDailyInfo) GetChallengeMaxScore() uint32 {
+ if x != nil {
+ return x.ChallengeMaxScore
+ }
+ return 0
+}
+
+func (x *EffigyDailyInfo) GetIsFirstPassRewardTaken() bool {
+ if x != nil {
+ return x.IsFirstPassRewardTaken
+ }
+ return false
+}
+
+func (x *EffigyDailyInfo) GetChallengeTotalScore() uint32 {
+ if x != nil {
+ return x.ChallengeTotalScore
+ }
+ return 0
+}
+
+func (x *EffigyDailyInfo) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *EffigyDailyInfo) GetChallengeCount() uint32 {
+ if x != nil {
+ return x.ChallengeCount
+ }
+ return 0
+}
+
+func (x *EffigyDailyInfo) GetDayIndex() uint32 {
+ if x != nil {
+ return x.DayIndex
+ }
+ return 0
+}
+
+func (x *EffigyDailyInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+var File_EffigyDailyInfo_proto protoreflect.FileDescriptor
+
+var file_EffigyDailyInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9,
+ 0x02, 0x0a, 0x0f, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f,
+ 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70,
+ 0x61, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50,
+ 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x12, 0x32,
+ 0x0a, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b,
+ 0x0a, 0x09, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x62,
+ 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EffigyDailyInfo_proto_rawDescOnce sync.Once
+ file_EffigyDailyInfo_proto_rawDescData = file_EffigyDailyInfo_proto_rawDesc
+)
+
+func file_EffigyDailyInfo_proto_rawDescGZIP() []byte {
+ file_EffigyDailyInfo_proto_rawDescOnce.Do(func() {
+ file_EffigyDailyInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EffigyDailyInfo_proto_rawDescData)
+ })
+ return file_EffigyDailyInfo_proto_rawDescData
+}
+
+var file_EffigyDailyInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EffigyDailyInfo_proto_goTypes = []interface{}{
+ (*EffigyDailyInfo)(nil), // 0: proto.EffigyDailyInfo
+}
+var file_EffigyDailyInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EffigyDailyInfo_proto_init() }
+func file_EffigyDailyInfo_proto_init() {
+ if File_EffigyDailyInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EffigyDailyInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EffigyDailyInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EffigyDailyInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EffigyDailyInfo_proto_goTypes,
+ DependencyIndexes: file_EffigyDailyInfo_proto_depIdxs,
+ MessageInfos: file_EffigyDailyInfo_proto_msgTypes,
+ }.Build()
+ File_EffigyDailyInfo_proto = out.File
+ file_EffigyDailyInfo_proto_rawDesc = nil
+ file_EffigyDailyInfo_proto_goTypes = nil
+ file_EffigyDailyInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EndCameraSceneLookNotify.pb.go b/protocol/proto/EndCameraSceneLookNotify.pb.go
new file mode 100644
index 00000000..81151384
--- /dev/null
+++ b/protocol/proto/EndCameraSceneLookNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EndCameraSceneLookNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 217
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EndCameraSceneLookNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *EndCameraSceneLookNotify) Reset() {
+ *x = EndCameraSceneLookNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EndCameraSceneLookNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EndCameraSceneLookNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EndCameraSceneLookNotify) ProtoMessage() {}
+
+func (x *EndCameraSceneLookNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EndCameraSceneLookNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EndCameraSceneLookNotify.ProtoReflect.Descriptor instead.
+func (*EndCameraSceneLookNotify) Descriptor() ([]byte, []int) {
+ return file_EndCameraSceneLookNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_EndCameraSceneLookNotify_proto protoreflect.FileDescriptor
+
+var file_EndCameraSceneLookNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x6e, 0x64, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x45, 0x6e, 0x64, 0x43, 0x61,
+ 0x6d, 0x65, 0x72, 0x61, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EndCameraSceneLookNotify_proto_rawDescOnce sync.Once
+ file_EndCameraSceneLookNotify_proto_rawDescData = file_EndCameraSceneLookNotify_proto_rawDesc
+)
+
+func file_EndCameraSceneLookNotify_proto_rawDescGZIP() []byte {
+ file_EndCameraSceneLookNotify_proto_rawDescOnce.Do(func() {
+ file_EndCameraSceneLookNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EndCameraSceneLookNotify_proto_rawDescData)
+ })
+ return file_EndCameraSceneLookNotify_proto_rawDescData
+}
+
+var file_EndCameraSceneLookNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EndCameraSceneLookNotify_proto_goTypes = []interface{}{
+ (*EndCameraSceneLookNotify)(nil), // 0: proto.EndCameraSceneLookNotify
+}
+var file_EndCameraSceneLookNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EndCameraSceneLookNotify_proto_init() }
+func file_EndCameraSceneLookNotify_proto_init() {
+ if File_EndCameraSceneLookNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EndCameraSceneLookNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EndCameraSceneLookNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EndCameraSceneLookNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EndCameraSceneLookNotify_proto_goTypes,
+ DependencyIndexes: file_EndCameraSceneLookNotify_proto_depIdxs,
+ MessageInfos: file_EndCameraSceneLookNotify_proto_msgTypes,
+ }.Build()
+ File_EndCameraSceneLookNotify_proto = out.File
+ file_EndCameraSceneLookNotify_proto_rawDesc = nil
+ file_EndCameraSceneLookNotify_proto_goTypes = nil
+ file_EndCameraSceneLookNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterChessDungeonReq.pb.go b/protocol/proto/EnterChessDungeonReq.pb.go
new file mode 100644
index 00000000..fca8a804
--- /dev/null
+++ b/protocol/proto/EnterChessDungeonReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterChessDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8191
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterChessDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MapId uint32 `protobuf:"varint,12,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"`
+}
+
+func (x *EnterChessDungeonReq) Reset() {
+ *x = EnterChessDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterChessDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterChessDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterChessDungeonReq) ProtoMessage() {}
+
+func (x *EnterChessDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterChessDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterChessDungeonReq.ProtoReflect.Descriptor instead.
+func (*EnterChessDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EnterChessDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterChessDungeonReq) GetMapId() uint32 {
+ if x != nil {
+ return x.MapId
+ }
+ return 0
+}
+
+var File_EnterChessDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EnterChessDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x68, 0x65, 0x73,
+ 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6d,
+ 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x70,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterChessDungeonReq_proto_rawDescOnce sync.Once
+ file_EnterChessDungeonReq_proto_rawDescData = file_EnterChessDungeonReq_proto_rawDesc
+)
+
+func file_EnterChessDungeonReq_proto_rawDescGZIP() []byte {
+ file_EnterChessDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EnterChessDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterChessDungeonReq_proto_rawDescData)
+ })
+ return file_EnterChessDungeonReq_proto_rawDescData
+}
+
+var file_EnterChessDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterChessDungeonReq_proto_goTypes = []interface{}{
+ (*EnterChessDungeonReq)(nil), // 0: proto.EnterChessDungeonReq
+}
+var file_EnterChessDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterChessDungeonReq_proto_init() }
+func file_EnterChessDungeonReq_proto_init() {
+ if File_EnterChessDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterChessDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterChessDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterChessDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterChessDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EnterChessDungeonReq_proto_depIdxs,
+ MessageInfos: file_EnterChessDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EnterChessDungeonReq_proto = out.File
+ file_EnterChessDungeonReq_proto_rawDesc = nil
+ file_EnterChessDungeonReq_proto_goTypes = nil
+ file_EnterChessDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterChessDungeonRsp.pb.go b/protocol/proto/EnterChessDungeonRsp.pb.go
new file mode 100644
index 00000000..9f040b29
--- /dev/null
+++ b/protocol/proto/EnterChessDungeonRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterChessDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8592
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterChessDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MapId uint32 `protobuf:"varint,13,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"`
+}
+
+func (x *EnterChessDungeonRsp) Reset() {
+ *x = EnterChessDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterChessDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterChessDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterChessDungeonRsp) ProtoMessage() {}
+
+func (x *EnterChessDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterChessDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterChessDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EnterChessDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EnterChessDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterChessDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EnterChessDungeonRsp) GetMapId() uint32 {
+ if x != nil {
+ return x.MapId
+ }
+ return 0
+}
+
+var File_EnterChessDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EnterChessDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x68, 0x65, 0x73,
+ 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterChessDungeonRsp_proto_rawDescOnce sync.Once
+ file_EnterChessDungeonRsp_proto_rawDescData = file_EnterChessDungeonRsp_proto_rawDesc
+)
+
+func file_EnterChessDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EnterChessDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EnterChessDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterChessDungeonRsp_proto_rawDescData)
+ })
+ return file_EnterChessDungeonRsp_proto_rawDescData
+}
+
+var file_EnterChessDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterChessDungeonRsp_proto_goTypes = []interface{}{
+ (*EnterChessDungeonRsp)(nil), // 0: proto.EnterChessDungeonRsp
+}
+var file_EnterChessDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterChessDungeonRsp_proto_init() }
+func file_EnterChessDungeonRsp_proto_init() {
+ if File_EnterChessDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterChessDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterChessDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterChessDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterChessDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EnterChessDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EnterChessDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EnterChessDungeonRsp_proto = out.File
+ file_EnterChessDungeonRsp_proto_rawDesc = nil
+ file_EnterChessDungeonRsp_proto_goTypes = nil
+ file_EnterChessDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterCustomDungeonReq.pb.go b/protocol/proto/EnterCustomDungeonReq.pb.go
new file mode 100644
index 00000000..05d90c42
--- /dev/null
+++ b/protocol/proto/EnterCustomDungeonReq.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6226
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonGuid uint64 `protobuf:"varint,11,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+ DungeonId uint32 `protobuf:"varint,12,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ EnterType EnterCustomDungeonType `protobuf:"varint,10,opt,name=enter_type,json=enterType,proto3,enum=proto.EnterCustomDungeonType" json:"enter_type,omitempty"`
+}
+
+func (x *EnterCustomDungeonReq) Reset() {
+ *x = EnterCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterCustomDungeonReq) ProtoMessage() {}
+
+func (x *EnterCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*EnterCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EnterCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterCustomDungeonReq) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+func (x *EnterCustomDungeonReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *EnterCustomDungeonReq) GetEnterType() EnterCustomDungeonType {
+ if x != nil {
+ return x.EnterType
+ }
+ return EnterCustomDungeonType_ENTER_CUSTOM_DUNGEON_TYPE_NONE
+}
+
+var File_EnterCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EnterCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3c,
+ 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_EnterCustomDungeonReq_proto_rawDescData = file_EnterCustomDungeonReq_proto_rawDesc
+)
+
+func file_EnterCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_EnterCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EnterCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterCustomDungeonReq_proto_rawDescData)
+ })
+ return file_EnterCustomDungeonReq_proto_rawDescData
+}
+
+var file_EnterCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterCustomDungeonReq_proto_goTypes = []interface{}{
+ (*EnterCustomDungeonReq)(nil), // 0: proto.EnterCustomDungeonReq
+ (EnterCustomDungeonType)(0), // 1: proto.EnterCustomDungeonType
+}
+var file_EnterCustomDungeonReq_proto_depIdxs = []int32{
+ 1, // 0: proto.EnterCustomDungeonReq.enter_type:type_name -> proto.EnterCustomDungeonType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EnterCustomDungeonReq_proto_init() }
+func file_EnterCustomDungeonReq_proto_init() {
+ if File_EnterCustomDungeonReq_proto != nil {
+ return
+ }
+ file_EnterCustomDungeonType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EnterCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EnterCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_EnterCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EnterCustomDungeonReq_proto = out.File
+ file_EnterCustomDungeonReq_proto_rawDesc = nil
+ file_EnterCustomDungeonReq_proto_goTypes = nil
+ file_EnterCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterCustomDungeonRsp.pb.go b/protocol/proto/EnterCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..5ae660f0
--- /dev/null
+++ b/protocol/proto/EnterCustomDungeonRsp.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6218
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CustomDungeon *CustomDungeon `protobuf:"bytes,14,opt,name=custom_dungeon,json=customDungeon,proto3" json:"custom_dungeon,omitempty"`
+ EnterType EnterCustomDungeonType `protobuf:"varint,2,opt,name=enter_type,json=enterType,proto3,enum=proto.EnterCustomDungeonType" json:"enter_type,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RoomCostMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=room_cost_map,json=roomCostMap,proto3" json:"room_cost_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *EnterCustomDungeonRsp) Reset() {
+ *x = EnterCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterCustomDungeonRsp) ProtoMessage() {}
+
+func (x *EnterCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EnterCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EnterCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterCustomDungeonRsp) GetCustomDungeon() *CustomDungeon {
+ if x != nil {
+ return x.CustomDungeon
+ }
+ return nil
+}
+
+func (x *EnterCustomDungeonRsp) GetEnterType() EnterCustomDungeonType {
+ if x != nil {
+ return x.EnterType
+ }
+ return EnterCustomDungeonType_ENTER_CUSTOM_DUNGEON_TYPE_NONE
+}
+
+func (x *EnterCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EnterCustomDungeonRsp) GetRoomCostMap() map[uint32]uint32 {
+ if x != nil {
+ return x.RoomCostMap
+ }
+ return nil
+}
+
+var File_EnterCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EnterCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x02, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x3b, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x12, 0x3c,
+ 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x63,
+ 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x52, 0x6f, 0x6f, 0x6d,
+ 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x6f,
+ 0x6f, 0x6d, 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x1a, 0x3e, 0x0a, 0x10, 0x52, 0x6f, 0x6f,
+ 0x6d, 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_EnterCustomDungeonRsp_proto_rawDescData = file_EnterCustomDungeonRsp_proto_rawDesc
+)
+
+func file_EnterCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EnterCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EnterCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_EnterCustomDungeonRsp_proto_rawDescData
+}
+
+var file_EnterCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_EnterCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*EnterCustomDungeonRsp)(nil), // 0: proto.EnterCustomDungeonRsp
+ nil, // 1: proto.EnterCustomDungeonRsp.RoomCostMapEntry
+ (*CustomDungeon)(nil), // 2: proto.CustomDungeon
+ (EnterCustomDungeonType)(0), // 3: proto.EnterCustomDungeonType
+}
+var file_EnterCustomDungeonRsp_proto_depIdxs = []int32{
+ 2, // 0: proto.EnterCustomDungeonRsp.custom_dungeon:type_name -> proto.CustomDungeon
+ 3, // 1: proto.EnterCustomDungeonRsp.enter_type:type_name -> proto.EnterCustomDungeonType
+ 1, // 2: proto.EnterCustomDungeonRsp.room_cost_map:type_name -> proto.EnterCustomDungeonRsp.RoomCostMapEntry
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_EnterCustomDungeonRsp_proto_init() }
+func file_EnterCustomDungeonRsp_proto_init() {
+ if File_EnterCustomDungeonRsp_proto != nil {
+ return
+ }
+ file_CustomDungeon_proto_init()
+ file_EnterCustomDungeonType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EnterCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EnterCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EnterCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EnterCustomDungeonRsp_proto = out.File
+ file_EnterCustomDungeonRsp_proto_rawDesc = nil
+ file_EnterCustomDungeonRsp_proto_goTypes = nil
+ file_EnterCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterCustomDungeonType.pb.go b/protocol/proto/EnterCustomDungeonType.pb.go
new file mode 100644
index 00000000..a0cbd753
--- /dev/null
+++ b/protocol/proto/EnterCustomDungeonType.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterCustomDungeonType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EnterCustomDungeonType int32
+
+const (
+ EnterCustomDungeonType_ENTER_CUSTOM_DUNGEON_TYPE_NONE EnterCustomDungeonType = 0
+ EnterCustomDungeonType_ENTER_CUSTOM_DUNGEON_TYPE_EDIT EnterCustomDungeonType = 1
+ EnterCustomDungeonType_ENTER_CUSTOM_DUNGEON_TYPE_PLAY EnterCustomDungeonType = 2
+ EnterCustomDungeonType_ENTER_CUSTOM_DUNGEON_TYPE_OFFICIAL EnterCustomDungeonType = 3
+)
+
+// Enum value maps for EnterCustomDungeonType.
+var (
+ EnterCustomDungeonType_name = map[int32]string{
+ 0: "ENTER_CUSTOM_DUNGEON_TYPE_NONE",
+ 1: "ENTER_CUSTOM_DUNGEON_TYPE_EDIT",
+ 2: "ENTER_CUSTOM_DUNGEON_TYPE_PLAY",
+ 3: "ENTER_CUSTOM_DUNGEON_TYPE_OFFICIAL",
+ }
+ EnterCustomDungeonType_value = map[string]int32{
+ "ENTER_CUSTOM_DUNGEON_TYPE_NONE": 0,
+ "ENTER_CUSTOM_DUNGEON_TYPE_EDIT": 1,
+ "ENTER_CUSTOM_DUNGEON_TYPE_PLAY": 2,
+ "ENTER_CUSTOM_DUNGEON_TYPE_OFFICIAL": 3,
+ }
+)
+
+func (x EnterCustomDungeonType) Enum() *EnterCustomDungeonType {
+ p := new(EnterCustomDungeonType)
+ *p = x
+ return p
+}
+
+func (x EnterCustomDungeonType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EnterCustomDungeonType) Descriptor() protoreflect.EnumDescriptor {
+ return file_EnterCustomDungeonType_proto_enumTypes[0].Descriptor()
+}
+
+func (EnterCustomDungeonType) Type() protoreflect.EnumType {
+ return &file_EnterCustomDungeonType_proto_enumTypes[0]
+}
+
+func (x EnterCustomDungeonType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EnterCustomDungeonType.Descriptor instead.
+func (EnterCustomDungeonType) EnumDescriptor() ([]byte, []int) {
+ return file_EnterCustomDungeonType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_EnterCustomDungeonType_proto protoreflect.FileDescriptor
+
+var file_EnterCustomDungeonType_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xac, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d,
+ 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x4e, 0x54, 0x45,
+ 0x52, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22,
+ 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e,
+ 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x49, 0x43, 0x49,
+ 0x41, 0x4c, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterCustomDungeonType_proto_rawDescOnce sync.Once
+ file_EnterCustomDungeonType_proto_rawDescData = file_EnterCustomDungeonType_proto_rawDesc
+)
+
+func file_EnterCustomDungeonType_proto_rawDescGZIP() []byte {
+ file_EnterCustomDungeonType_proto_rawDescOnce.Do(func() {
+ file_EnterCustomDungeonType_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterCustomDungeonType_proto_rawDescData)
+ })
+ return file_EnterCustomDungeonType_proto_rawDescData
+}
+
+var file_EnterCustomDungeonType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_EnterCustomDungeonType_proto_goTypes = []interface{}{
+ (EnterCustomDungeonType)(0), // 0: proto.EnterCustomDungeonType
+}
+var file_EnterCustomDungeonType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterCustomDungeonType_proto_init() }
+func file_EnterCustomDungeonType_proto_init() {
+ if File_EnterCustomDungeonType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterCustomDungeonType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterCustomDungeonType_proto_goTypes,
+ DependencyIndexes: file_EnterCustomDungeonType_proto_depIdxs,
+ EnumInfos: file_EnterCustomDungeonType_proto_enumTypes,
+ }.Build()
+ File_EnterCustomDungeonType_proto = out.File
+ file_EnterCustomDungeonType_proto_rawDesc = nil
+ file_EnterCustomDungeonType_proto_goTypes = nil
+ file_EnterCustomDungeonType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterFishingReq.pb.go b/protocol/proto/EnterFishingReq.pb.go
new file mode 100644
index 00000000..c2464d05
--- /dev/null
+++ b/protocol/proto/EnterFishingReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterFishingReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5826
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterFishingReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishPoolId uint32 `protobuf:"varint,3,opt,name=fish_pool_id,json=fishPoolId,proto3" json:"fish_pool_id,omitempty"`
+}
+
+func (x *EnterFishingReq) Reset() {
+ *x = EnterFishingReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterFishingReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterFishingReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterFishingReq) ProtoMessage() {}
+
+func (x *EnterFishingReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterFishingReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterFishingReq.ProtoReflect.Descriptor instead.
+func (*EnterFishingReq) Descriptor() ([]byte, []int) {
+ return file_EnterFishingReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterFishingReq) GetFishPoolId() uint32 {
+ if x != nil {
+ return x.FishPoolId
+ }
+ return 0
+}
+
+var File_EnterFishingReq_proto protoreflect.FileDescriptor
+
+var file_EnterFishingReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33,
+ 0x0a, 0x0f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65,
+ 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f,
+ 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterFishingReq_proto_rawDescOnce sync.Once
+ file_EnterFishingReq_proto_rawDescData = file_EnterFishingReq_proto_rawDesc
+)
+
+func file_EnterFishingReq_proto_rawDescGZIP() []byte {
+ file_EnterFishingReq_proto_rawDescOnce.Do(func() {
+ file_EnterFishingReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterFishingReq_proto_rawDescData)
+ })
+ return file_EnterFishingReq_proto_rawDescData
+}
+
+var file_EnterFishingReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterFishingReq_proto_goTypes = []interface{}{
+ (*EnterFishingReq)(nil), // 0: proto.EnterFishingReq
+}
+var file_EnterFishingReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterFishingReq_proto_init() }
+func file_EnterFishingReq_proto_init() {
+ if File_EnterFishingReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterFishingReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterFishingReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterFishingReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterFishingReq_proto_goTypes,
+ DependencyIndexes: file_EnterFishingReq_proto_depIdxs,
+ MessageInfos: file_EnterFishingReq_proto_msgTypes,
+ }.Build()
+ File_EnterFishingReq_proto = out.File
+ file_EnterFishingReq_proto_rawDesc = nil
+ file_EnterFishingReq_proto_goTypes = nil
+ file_EnterFishingReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterFishingRsp.pb.go b/protocol/proto/EnterFishingRsp.pb.go
new file mode 100644
index 00000000..5e14c37c
--- /dev/null
+++ b/protocol/proto/EnterFishingRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterFishingRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5818
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterFishingRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FishPoolId uint32 `protobuf:"varint,9,opt,name=fish_pool_id,json=fishPoolId,proto3" json:"fish_pool_id,omitempty"`
+}
+
+func (x *EnterFishingRsp) Reset() {
+ *x = EnterFishingRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterFishingRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterFishingRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterFishingRsp) ProtoMessage() {}
+
+func (x *EnterFishingRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterFishingRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterFishingRsp.ProtoReflect.Descriptor instead.
+func (*EnterFishingRsp) Descriptor() ([]byte, []int) {
+ return file_EnterFishingRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterFishingRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EnterFishingRsp) GetFishPoolId() uint32 {
+ if x != nil {
+ return x.FishPoolId
+ }
+ return 0
+}
+
+var File_EnterFishingRsp_proto protoreflect.FileDescriptor
+
+var file_EnterFishingRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d,
+ 0x0a, 0x0f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x66,
+ 0x69, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_EnterFishingRsp_proto_rawDescOnce sync.Once
+ file_EnterFishingRsp_proto_rawDescData = file_EnterFishingRsp_proto_rawDesc
+)
+
+func file_EnterFishingRsp_proto_rawDescGZIP() []byte {
+ file_EnterFishingRsp_proto_rawDescOnce.Do(func() {
+ file_EnterFishingRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterFishingRsp_proto_rawDescData)
+ })
+ return file_EnterFishingRsp_proto_rawDescData
+}
+
+var file_EnterFishingRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterFishingRsp_proto_goTypes = []interface{}{
+ (*EnterFishingRsp)(nil), // 0: proto.EnterFishingRsp
+}
+var file_EnterFishingRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterFishingRsp_proto_init() }
+func file_EnterFishingRsp_proto_init() {
+ if File_EnterFishingRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterFishingRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterFishingRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterFishingRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterFishingRsp_proto_goTypes,
+ DependencyIndexes: file_EnterFishingRsp_proto_depIdxs,
+ MessageInfos: file_EnterFishingRsp_proto_msgTypes,
+ }.Build()
+ File_EnterFishingRsp_proto = out.File
+ file_EnterFishingRsp_proto_rawDesc = nil
+ file_EnterFishingRsp_proto_goTypes = nil
+ file_EnterFishingRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterFungusFighterPlotDungeonReq.pb.go b/protocol/proto/EnterFungusFighterPlotDungeonReq.pb.go
new file mode 100644
index 00000000..7638dff4
--- /dev/null
+++ b/protocol/proto/EnterFungusFighterPlotDungeonReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterFungusFighterPlotDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23053
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterFungusFighterPlotDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,14,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ FungusIdList []uint32 `protobuf:"varint,8,rep,packed,name=fungus_id_list,json=fungusIdList,proto3" json:"fungus_id_list,omitempty"`
+}
+
+func (x *EnterFungusFighterPlotDungeonReq) Reset() {
+ *x = EnterFungusFighterPlotDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterFungusFighterPlotDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterFungusFighterPlotDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterFungusFighterPlotDungeonReq) ProtoMessage() {}
+
+func (x *EnterFungusFighterPlotDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterFungusFighterPlotDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterFungusFighterPlotDungeonReq.ProtoReflect.Descriptor instead.
+func (*EnterFungusFighterPlotDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EnterFungusFighterPlotDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterFungusFighterPlotDungeonReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *EnterFungusFighterPlotDungeonReq) GetFungusIdList() []uint32 {
+ if x != nil {
+ return x.FungusIdList
+ }
+ return nil
+}
+
+var File_EnterFungusFighterPlotDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EnterFungusFighterPlotDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x6f, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x67, 0x0a, 0x20, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69,
+ 0x67, 0x68, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x6f, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterFungusFighterPlotDungeonReq_proto_rawDescOnce sync.Once
+ file_EnterFungusFighterPlotDungeonReq_proto_rawDescData = file_EnterFungusFighterPlotDungeonReq_proto_rawDesc
+)
+
+func file_EnterFungusFighterPlotDungeonReq_proto_rawDescGZIP() []byte {
+ file_EnterFungusFighterPlotDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EnterFungusFighterPlotDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterFungusFighterPlotDungeonReq_proto_rawDescData)
+ })
+ return file_EnterFungusFighterPlotDungeonReq_proto_rawDescData
+}
+
+var file_EnterFungusFighterPlotDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterFungusFighterPlotDungeonReq_proto_goTypes = []interface{}{
+ (*EnterFungusFighterPlotDungeonReq)(nil), // 0: proto.EnterFungusFighterPlotDungeonReq
+}
+var file_EnterFungusFighterPlotDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterFungusFighterPlotDungeonReq_proto_init() }
+func file_EnterFungusFighterPlotDungeonReq_proto_init() {
+ if File_EnterFungusFighterPlotDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterFungusFighterPlotDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterFungusFighterPlotDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterFungusFighterPlotDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterFungusFighterPlotDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EnterFungusFighterPlotDungeonReq_proto_depIdxs,
+ MessageInfos: file_EnterFungusFighterPlotDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EnterFungusFighterPlotDungeonReq_proto = out.File
+ file_EnterFungusFighterPlotDungeonReq_proto_rawDesc = nil
+ file_EnterFungusFighterPlotDungeonReq_proto_goTypes = nil
+ file_EnterFungusFighterPlotDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterFungusFighterPlotDungeonRsp.pb.go b/protocol/proto/EnterFungusFighterPlotDungeonRsp.pb.go
new file mode 100644
index 00000000..383ac182
--- /dev/null
+++ b/protocol/proto/EnterFungusFighterPlotDungeonRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterFungusFighterPlotDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21008
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterFungusFighterPlotDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DungeonId uint32 `protobuf:"varint,15,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ FungusIdList []uint32 `protobuf:"varint,2,rep,packed,name=fungus_id_list,json=fungusIdList,proto3" json:"fungus_id_list,omitempty"`
+}
+
+func (x *EnterFungusFighterPlotDungeonRsp) Reset() {
+ *x = EnterFungusFighterPlotDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterFungusFighterPlotDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterFungusFighterPlotDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterFungusFighterPlotDungeonRsp) ProtoMessage() {}
+
+func (x *EnterFungusFighterPlotDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterFungusFighterPlotDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterFungusFighterPlotDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EnterFungusFighterPlotDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EnterFungusFighterPlotDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterFungusFighterPlotDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EnterFungusFighterPlotDungeonRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *EnterFungusFighterPlotDungeonRsp) GetFungusIdList() []uint32 {
+ if x != nil {
+ return x.FungusIdList
+ }
+ return nil
+}
+
+var File_EnterFungusFighterPlotDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EnterFungusFighterPlotDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x6f, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x81, 0x01, 0x0a, 0x20, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46,
+ 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x6f, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a,
+ 0x0e, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterFungusFighterPlotDungeonRsp_proto_rawDescOnce sync.Once
+ file_EnterFungusFighterPlotDungeonRsp_proto_rawDescData = file_EnterFungusFighterPlotDungeonRsp_proto_rawDesc
+)
+
+func file_EnterFungusFighterPlotDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EnterFungusFighterPlotDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EnterFungusFighterPlotDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterFungusFighterPlotDungeonRsp_proto_rawDescData)
+ })
+ return file_EnterFungusFighterPlotDungeonRsp_proto_rawDescData
+}
+
+var file_EnterFungusFighterPlotDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterFungusFighterPlotDungeonRsp_proto_goTypes = []interface{}{
+ (*EnterFungusFighterPlotDungeonRsp)(nil), // 0: proto.EnterFungusFighterPlotDungeonRsp
+}
+var file_EnterFungusFighterPlotDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterFungusFighterPlotDungeonRsp_proto_init() }
+func file_EnterFungusFighterPlotDungeonRsp_proto_init() {
+ if File_EnterFungusFighterPlotDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterFungusFighterPlotDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterFungusFighterPlotDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterFungusFighterPlotDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterFungusFighterPlotDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EnterFungusFighterPlotDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EnterFungusFighterPlotDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EnterFungusFighterPlotDungeonRsp_proto = out.File
+ file_EnterFungusFighterPlotDungeonRsp_proto_rawDesc = nil
+ file_EnterFungusFighterPlotDungeonRsp_proto_goTypes = nil
+ file_EnterFungusFighterPlotDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterFungusFighterTrainingDungeonReq.pb.go b/protocol/proto/EnterFungusFighterTrainingDungeonReq.pb.go
new file mode 100644
index 00000000..9f897a75
--- /dev/null
+++ b/protocol/proto/EnterFungusFighterTrainingDungeonReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterFungusFighterTrainingDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23860
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterFungusFighterTrainingDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,3,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *EnterFungusFighterTrainingDungeonReq) Reset() {
+ *x = EnterFungusFighterTrainingDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterFungusFighterTrainingDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterFungusFighterTrainingDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterFungusFighterTrainingDungeonReq) ProtoMessage() {}
+
+func (x *EnterFungusFighterTrainingDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterFungusFighterTrainingDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterFungusFighterTrainingDungeonReq.ProtoReflect.Descriptor instead.
+func (*EnterFungusFighterTrainingDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EnterFungusFighterTrainingDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterFungusFighterTrainingDungeonReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_EnterFungusFighterTrainingDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EnterFungusFighterTrainingDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x24, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e,
+ 0x67, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterFungusFighterTrainingDungeonReq_proto_rawDescOnce sync.Once
+ file_EnterFungusFighterTrainingDungeonReq_proto_rawDescData = file_EnterFungusFighterTrainingDungeonReq_proto_rawDesc
+)
+
+func file_EnterFungusFighterTrainingDungeonReq_proto_rawDescGZIP() []byte {
+ file_EnterFungusFighterTrainingDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EnterFungusFighterTrainingDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterFungusFighterTrainingDungeonReq_proto_rawDescData)
+ })
+ return file_EnterFungusFighterTrainingDungeonReq_proto_rawDescData
+}
+
+var file_EnterFungusFighterTrainingDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterFungusFighterTrainingDungeonReq_proto_goTypes = []interface{}{
+ (*EnterFungusFighterTrainingDungeonReq)(nil), // 0: proto.EnterFungusFighterTrainingDungeonReq
+}
+var file_EnterFungusFighterTrainingDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterFungusFighterTrainingDungeonReq_proto_init() }
+func file_EnterFungusFighterTrainingDungeonReq_proto_init() {
+ if File_EnterFungusFighterTrainingDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterFungusFighterTrainingDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterFungusFighterTrainingDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterFungusFighterTrainingDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterFungusFighterTrainingDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EnterFungusFighterTrainingDungeonReq_proto_depIdxs,
+ MessageInfos: file_EnterFungusFighterTrainingDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EnterFungusFighterTrainingDungeonReq_proto = out.File
+ file_EnterFungusFighterTrainingDungeonReq_proto_rawDesc = nil
+ file_EnterFungusFighterTrainingDungeonReq_proto_goTypes = nil
+ file_EnterFungusFighterTrainingDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterFungusFighterTrainingDungeonRsp.pb.go b/protocol/proto/EnterFungusFighterTrainingDungeonRsp.pb.go
new file mode 100644
index 00000000..0b21dfb7
--- /dev/null
+++ b/protocol/proto/EnterFungusFighterTrainingDungeonRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterFungusFighterTrainingDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21593
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterFungusFighterTrainingDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DungeonId uint32 `protobuf:"varint,11,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *EnterFungusFighterTrainingDungeonRsp) Reset() {
+ *x = EnterFungusFighterTrainingDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterFungusFighterTrainingDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterFungusFighterTrainingDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterFungusFighterTrainingDungeonRsp) ProtoMessage() {}
+
+func (x *EnterFungusFighterTrainingDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterFungusFighterTrainingDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterFungusFighterTrainingDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EnterFungusFighterTrainingDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EnterFungusFighterTrainingDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterFungusFighterTrainingDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EnterFungusFighterTrainingDungeonRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_EnterFungusFighterTrainingDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EnterFungusFighterTrainingDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x24, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e,
+ 0x67, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterFungusFighterTrainingDungeonRsp_proto_rawDescOnce sync.Once
+ file_EnterFungusFighterTrainingDungeonRsp_proto_rawDescData = file_EnterFungusFighterTrainingDungeonRsp_proto_rawDesc
+)
+
+func file_EnterFungusFighterTrainingDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EnterFungusFighterTrainingDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EnterFungusFighterTrainingDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterFungusFighterTrainingDungeonRsp_proto_rawDescData)
+ })
+ return file_EnterFungusFighterTrainingDungeonRsp_proto_rawDescData
+}
+
+var file_EnterFungusFighterTrainingDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterFungusFighterTrainingDungeonRsp_proto_goTypes = []interface{}{
+ (*EnterFungusFighterTrainingDungeonRsp)(nil), // 0: proto.EnterFungusFighterTrainingDungeonRsp
+}
+var file_EnterFungusFighterTrainingDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterFungusFighterTrainingDungeonRsp_proto_init() }
+func file_EnterFungusFighterTrainingDungeonRsp_proto_init() {
+ if File_EnterFungusFighterTrainingDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterFungusFighterTrainingDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterFungusFighterTrainingDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterFungusFighterTrainingDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterFungusFighterTrainingDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EnterFungusFighterTrainingDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EnterFungusFighterTrainingDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EnterFungusFighterTrainingDungeonRsp_proto = out.File
+ file_EnterFungusFighterTrainingDungeonRsp_proto_rawDesc = nil
+ file_EnterFungusFighterTrainingDungeonRsp_proto_goTypes = nil
+ file_EnterFungusFighterTrainingDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterIrodoriChessDungeonReq.pb.go b/protocol/proto/EnterIrodoriChessDungeonReq.pb.go
new file mode 100644
index 00000000..f0023223
--- /dev/null
+++ b/protocol/proto/EnterIrodoriChessDungeonReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterIrodoriChessDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8717
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterIrodoriChessDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsHardMap bool `protobuf:"varint,1,opt,name=is_hard_map,json=isHardMap,proto3" json:"is_hard_map,omitempty"`
+ LevelId uint32 `protobuf:"varint,11,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *EnterIrodoriChessDungeonReq) Reset() {
+ *x = EnterIrodoriChessDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterIrodoriChessDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterIrodoriChessDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterIrodoriChessDungeonReq) ProtoMessage() {}
+
+func (x *EnterIrodoriChessDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterIrodoriChessDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterIrodoriChessDungeonReq.ProtoReflect.Descriptor instead.
+func (*EnterIrodoriChessDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EnterIrodoriChessDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterIrodoriChessDungeonReq) GetIsHardMap() bool {
+ if x != nil {
+ return x.IsHardMap
+ }
+ return false
+}
+
+func (x *EnterIrodoriChessDungeonReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_EnterIrodoriChessDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EnterIrodoriChessDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68,
+ 0x65, 0x73, 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1b, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f,
+ 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
+ 0x69, 0x73, 0x48, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterIrodoriChessDungeonReq_proto_rawDescOnce sync.Once
+ file_EnterIrodoriChessDungeonReq_proto_rawDescData = file_EnterIrodoriChessDungeonReq_proto_rawDesc
+)
+
+func file_EnterIrodoriChessDungeonReq_proto_rawDescGZIP() []byte {
+ file_EnterIrodoriChessDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EnterIrodoriChessDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterIrodoriChessDungeonReq_proto_rawDescData)
+ })
+ return file_EnterIrodoriChessDungeonReq_proto_rawDescData
+}
+
+var file_EnterIrodoriChessDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterIrodoriChessDungeonReq_proto_goTypes = []interface{}{
+ (*EnterIrodoriChessDungeonReq)(nil), // 0: proto.EnterIrodoriChessDungeonReq
+}
+var file_EnterIrodoriChessDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterIrodoriChessDungeonReq_proto_init() }
+func file_EnterIrodoriChessDungeonReq_proto_init() {
+ if File_EnterIrodoriChessDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterIrodoriChessDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterIrodoriChessDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterIrodoriChessDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterIrodoriChessDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EnterIrodoriChessDungeonReq_proto_depIdxs,
+ MessageInfos: file_EnterIrodoriChessDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EnterIrodoriChessDungeonReq_proto = out.File
+ file_EnterIrodoriChessDungeonReq_proto_rawDesc = nil
+ file_EnterIrodoriChessDungeonReq_proto_goTypes = nil
+ file_EnterIrodoriChessDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterIrodoriChessDungeonRsp.pb.go b/protocol/proto/EnterIrodoriChessDungeonRsp.pb.go
new file mode 100644
index 00000000..1b5fe5fd
--- /dev/null
+++ b/protocol/proto/EnterIrodoriChessDungeonRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterIrodoriChessDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8546
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterIrodoriChessDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsHardMap bool `protobuf:"varint,7,opt,name=is_hard_map,json=isHardMap,proto3" json:"is_hard_map,omitempty"`
+ LevelId uint32 `protobuf:"varint,13,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *EnterIrodoriChessDungeonRsp) Reset() {
+ *x = EnterIrodoriChessDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterIrodoriChessDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterIrodoriChessDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterIrodoriChessDungeonRsp) ProtoMessage() {}
+
+func (x *EnterIrodoriChessDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterIrodoriChessDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterIrodoriChessDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EnterIrodoriChessDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EnterIrodoriChessDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterIrodoriChessDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EnterIrodoriChessDungeonRsp) GetIsHardMap() bool {
+ if x != nil {
+ return x.IsHardMap
+ }
+ return false
+}
+
+func (x *EnterIrodoriChessDungeonRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_EnterIrodoriChessDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EnterIrodoriChessDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68,
+ 0x65, 0x73, 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1b, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x48, 0x61, 0x72, 0x64,
+ 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_EnterIrodoriChessDungeonRsp_proto_rawDescOnce sync.Once
+ file_EnterIrodoriChessDungeonRsp_proto_rawDescData = file_EnterIrodoriChessDungeonRsp_proto_rawDesc
+)
+
+func file_EnterIrodoriChessDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EnterIrodoriChessDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EnterIrodoriChessDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterIrodoriChessDungeonRsp_proto_rawDescData)
+ })
+ return file_EnterIrodoriChessDungeonRsp_proto_rawDescData
+}
+
+var file_EnterIrodoriChessDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterIrodoriChessDungeonRsp_proto_goTypes = []interface{}{
+ (*EnterIrodoriChessDungeonRsp)(nil), // 0: proto.EnterIrodoriChessDungeonRsp
+}
+var file_EnterIrodoriChessDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterIrodoriChessDungeonRsp_proto_init() }
+func file_EnterIrodoriChessDungeonRsp_proto_init() {
+ if File_EnterIrodoriChessDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterIrodoriChessDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterIrodoriChessDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterIrodoriChessDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterIrodoriChessDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EnterIrodoriChessDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EnterIrodoriChessDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EnterIrodoriChessDungeonRsp_proto = out.File
+ file_EnterIrodoriChessDungeonRsp_proto_rawDesc = nil
+ file_EnterIrodoriChessDungeonRsp_proto_goTypes = nil
+ file_EnterIrodoriChessDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterMechanicusDungeonReq.pb.go b/protocol/proto/EnterMechanicusDungeonReq.pb.go
new file mode 100644
index 00000000..a7122c84
--- /dev/null
+++ b/protocol/proto/EnterMechanicusDungeonReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterMechanicusDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3931
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterMechanicusDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DifficultLevel uint32 `protobuf:"varint,7,opt,name=difficult_level,json=difficultLevel,proto3" json:"difficult_level,omitempty"`
+}
+
+func (x *EnterMechanicusDungeonReq) Reset() {
+ *x = EnterMechanicusDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterMechanicusDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterMechanicusDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterMechanicusDungeonReq) ProtoMessage() {}
+
+func (x *EnterMechanicusDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterMechanicusDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterMechanicusDungeonReq.ProtoReflect.Descriptor instead.
+func (*EnterMechanicusDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EnterMechanicusDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterMechanicusDungeonReq) GetDifficultLevel() uint32 {
+ if x != nil {
+ return x.DifficultLevel
+ }
+ return 0
+}
+
+var File_EnterMechanicusDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EnterMechanicusDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75,
+ 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
+ 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
+ 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_EnterMechanicusDungeonReq_proto_rawDescOnce sync.Once
+ file_EnterMechanicusDungeonReq_proto_rawDescData = file_EnterMechanicusDungeonReq_proto_rawDesc
+)
+
+func file_EnterMechanicusDungeonReq_proto_rawDescGZIP() []byte {
+ file_EnterMechanicusDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EnterMechanicusDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterMechanicusDungeonReq_proto_rawDescData)
+ })
+ return file_EnterMechanicusDungeonReq_proto_rawDescData
+}
+
+var file_EnterMechanicusDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterMechanicusDungeonReq_proto_goTypes = []interface{}{
+ (*EnterMechanicusDungeonReq)(nil), // 0: proto.EnterMechanicusDungeonReq
+}
+var file_EnterMechanicusDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterMechanicusDungeonReq_proto_init() }
+func file_EnterMechanicusDungeonReq_proto_init() {
+ if File_EnterMechanicusDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterMechanicusDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterMechanicusDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterMechanicusDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterMechanicusDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EnterMechanicusDungeonReq_proto_depIdxs,
+ MessageInfos: file_EnterMechanicusDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EnterMechanicusDungeonReq_proto = out.File
+ file_EnterMechanicusDungeonReq_proto_rawDesc = nil
+ file_EnterMechanicusDungeonReq_proto_goTypes = nil
+ file_EnterMechanicusDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterMechanicusDungeonRsp.pb.go b/protocol/proto/EnterMechanicusDungeonRsp.pb.go
new file mode 100644
index 00000000..4a4b5855
--- /dev/null
+++ b/protocol/proto/EnterMechanicusDungeonRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterMechanicusDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3975
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterMechanicusDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WrongUid uint32 `protobuf:"varint,12,opt,name=wrong_uid,json=wrongUid,proto3" json:"wrong_uid,omitempty"`
+ DifficultLevel uint32 `protobuf:"varint,13,opt,name=difficult_level,json=difficultLevel,proto3" json:"difficult_level,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DungeonId uint32 `protobuf:"varint,11,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *EnterMechanicusDungeonRsp) Reset() {
+ *x = EnterMechanicusDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterMechanicusDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterMechanicusDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterMechanicusDungeonRsp) ProtoMessage() {}
+
+func (x *EnterMechanicusDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterMechanicusDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterMechanicusDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EnterMechanicusDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EnterMechanicusDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterMechanicusDungeonRsp) GetWrongUid() uint32 {
+ if x != nil {
+ return x.WrongUid
+ }
+ return 0
+}
+
+func (x *EnterMechanicusDungeonRsp) GetDifficultLevel() uint32 {
+ if x != nil {
+ return x.DifficultLevel
+ }
+ return 0
+}
+
+func (x *EnterMechanicusDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EnterMechanicusDungeonRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_EnterMechanicusDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EnterMechanicusDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75,
+ 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x5f,
+ 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x72, 0x6f, 0x6e, 0x67,
+ 0x55, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterMechanicusDungeonRsp_proto_rawDescOnce sync.Once
+ file_EnterMechanicusDungeonRsp_proto_rawDescData = file_EnterMechanicusDungeonRsp_proto_rawDesc
+)
+
+func file_EnterMechanicusDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EnterMechanicusDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EnterMechanicusDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterMechanicusDungeonRsp_proto_rawDescData)
+ })
+ return file_EnterMechanicusDungeonRsp_proto_rawDescData
+}
+
+var file_EnterMechanicusDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterMechanicusDungeonRsp_proto_goTypes = []interface{}{
+ (*EnterMechanicusDungeonRsp)(nil), // 0: proto.EnterMechanicusDungeonRsp
+}
+var file_EnterMechanicusDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterMechanicusDungeonRsp_proto_init() }
+func file_EnterMechanicusDungeonRsp_proto_init() {
+ if File_EnterMechanicusDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterMechanicusDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterMechanicusDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterMechanicusDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterMechanicusDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EnterMechanicusDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EnterMechanicusDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EnterMechanicusDungeonRsp_proto = out.File
+ file_EnterMechanicusDungeonRsp_proto_rawDesc = nil
+ file_EnterMechanicusDungeonRsp_proto_goTypes = nil
+ file_EnterMechanicusDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterRogueDiaryDungeonReq.pb.go b/protocol/proto/EnterRogueDiaryDungeonReq.pb.go
new file mode 100644
index 00000000..04663eec
--- /dev/null
+++ b/protocol/proto/EnterRogueDiaryDungeonReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterRogueDiaryDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8943
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterRogueDiaryDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChosenCardList []uint32 `protobuf:"varint,9,rep,packed,name=chosen_card_list,json=chosenCardList,proto3" json:"chosen_card_list,omitempty"`
+ ChosenAvatarList []*RogueDiaryAvatar `protobuf:"bytes,11,rep,name=chosen_avatar_list,json=chosenAvatarList,proto3" json:"chosen_avatar_list,omitempty"`
+}
+
+func (x *EnterRogueDiaryDungeonReq) Reset() {
+ *x = EnterRogueDiaryDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterRogueDiaryDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterRogueDiaryDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterRogueDiaryDungeonReq) ProtoMessage() {}
+
+func (x *EnterRogueDiaryDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterRogueDiaryDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterRogueDiaryDungeonReq.ProtoReflect.Descriptor instead.
+func (*EnterRogueDiaryDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EnterRogueDiaryDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterRogueDiaryDungeonReq) GetChosenCardList() []uint32 {
+ if x != nil {
+ return x.ChosenCardList
+ }
+ return nil
+}
+
+func (x *EnterRogueDiaryDungeonReq) GetChosenAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.ChosenAvatarList
+ }
+ return nil
+}
+
+var File_EnterRogueDiaryDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EnterRogueDiaryDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44,
+ 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x8c, 0x01, 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44,
+ 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x28,
+ 0x0a, 0x10, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e,
+ 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x12, 0x63, 0x68, 0x6f, 0x73,
+ 0x65, 0x6e, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x10, 0x63,
+ 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterRogueDiaryDungeonReq_proto_rawDescOnce sync.Once
+ file_EnterRogueDiaryDungeonReq_proto_rawDescData = file_EnterRogueDiaryDungeonReq_proto_rawDesc
+)
+
+func file_EnterRogueDiaryDungeonReq_proto_rawDescGZIP() []byte {
+ file_EnterRogueDiaryDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EnterRogueDiaryDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterRogueDiaryDungeonReq_proto_rawDescData)
+ })
+ return file_EnterRogueDiaryDungeonReq_proto_rawDescData
+}
+
+var file_EnterRogueDiaryDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterRogueDiaryDungeonReq_proto_goTypes = []interface{}{
+ (*EnterRogueDiaryDungeonReq)(nil), // 0: proto.EnterRogueDiaryDungeonReq
+ (*RogueDiaryAvatar)(nil), // 1: proto.RogueDiaryAvatar
+}
+var file_EnterRogueDiaryDungeonReq_proto_depIdxs = []int32{
+ 1, // 0: proto.EnterRogueDiaryDungeonReq.chosen_avatar_list:type_name -> proto.RogueDiaryAvatar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EnterRogueDiaryDungeonReq_proto_init() }
+func file_EnterRogueDiaryDungeonReq_proto_init() {
+ if File_EnterRogueDiaryDungeonReq_proto != nil {
+ return
+ }
+ file_RogueDiaryAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EnterRogueDiaryDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterRogueDiaryDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterRogueDiaryDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterRogueDiaryDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EnterRogueDiaryDungeonReq_proto_depIdxs,
+ MessageInfos: file_EnterRogueDiaryDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EnterRogueDiaryDungeonReq_proto = out.File
+ file_EnterRogueDiaryDungeonReq_proto_rawDesc = nil
+ file_EnterRogueDiaryDungeonReq_proto_goTypes = nil
+ file_EnterRogueDiaryDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterRogueDiaryDungeonRsp.pb.go b/protocol/proto/EnterRogueDiaryDungeonRsp.pb.go
new file mode 100644
index 00000000..47a4a366
--- /dev/null
+++ b/protocol/proto/EnterRogueDiaryDungeonRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterRogueDiaryDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8352
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterRogueDiaryDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *EnterRogueDiaryDungeonRsp) Reset() {
+ *x = EnterRogueDiaryDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterRogueDiaryDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterRogueDiaryDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterRogueDiaryDungeonRsp) ProtoMessage() {}
+
+func (x *EnterRogueDiaryDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterRogueDiaryDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterRogueDiaryDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EnterRogueDiaryDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EnterRogueDiaryDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterRogueDiaryDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_EnterRogueDiaryDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EnterRogueDiaryDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterRogueDiaryDungeonRsp_proto_rawDescOnce sync.Once
+ file_EnterRogueDiaryDungeonRsp_proto_rawDescData = file_EnterRogueDiaryDungeonRsp_proto_rawDesc
+)
+
+func file_EnterRogueDiaryDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EnterRogueDiaryDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EnterRogueDiaryDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterRogueDiaryDungeonRsp_proto_rawDescData)
+ })
+ return file_EnterRogueDiaryDungeonRsp_proto_rawDescData
+}
+
+var file_EnterRogueDiaryDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterRogueDiaryDungeonRsp_proto_goTypes = []interface{}{
+ (*EnterRogueDiaryDungeonRsp)(nil), // 0: proto.EnterRogueDiaryDungeonRsp
+}
+var file_EnterRogueDiaryDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterRogueDiaryDungeonRsp_proto_init() }
+func file_EnterRogueDiaryDungeonRsp_proto_init() {
+ if File_EnterRogueDiaryDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterRogueDiaryDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterRogueDiaryDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterRogueDiaryDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterRogueDiaryDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EnterRogueDiaryDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EnterRogueDiaryDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EnterRogueDiaryDungeonRsp_proto = out.File
+ file_EnterRogueDiaryDungeonRsp_proto_rawDesc = nil
+ file_EnterRogueDiaryDungeonRsp_proto_goTypes = nil
+ file_EnterRogueDiaryDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterRoguelikeDungeonNotify.pb.go b/protocol/proto/EnterRoguelikeDungeonNotify.pb.go
new file mode 100644
index 00000000..61807d2a
--- /dev/null
+++ b/protocol/proto/EnterRoguelikeDungeonNotify.pb.go
@@ -0,0 +1,346 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterRoguelikeDungeonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8652
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterRoguelikeDungeonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsMistClear bool `protobuf:"varint,14,opt,name=is_mist_clear,json=isMistClear,proto3" json:"is_mist_clear,omitempty"`
+ DungeonWeightConfigId uint32 `protobuf:"varint,2,opt,name=dungeon_weight_config_id,json=dungeonWeightConfigId,proto3" json:"dungeon_weight_config_id,omitempty"`
+ RuneRecordList []*RoguelikeRuneRecord `protobuf:"bytes,6,rep,name=rune_record_list,json=runeRecordList,proto3" json:"rune_record_list,omitempty"`
+ OnstageAvatarGuidList []uint64 `protobuf:"varint,9,rep,packed,name=onstage_avatar_guid_list,json=onstageAvatarGuidList,proto3" json:"onstage_avatar_guid_list,omitempty"`
+ IsFirstEnter bool `protobuf:"varint,205,opt,name=is_first_enter,json=isFirstEnter,proto3" json:"is_first_enter,omitempty"`
+ ExploredCellList []uint32 `protobuf:"varint,3,rep,packed,name=explored_cell_list,json=exploredCellList,proto3" json:"explored_cell_list,omitempty"`
+ CellInfoMap map[uint32]*RogueCellInfo `protobuf:"bytes,11,rep,name=cell_info_map,json=cellInfoMap,proto3" json:"cell_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ DungeonId uint32 `protobuf:"varint,1,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ RefreshCostItemCount uint32 `protobuf:"varint,1999,opt,name=refresh_cost_item_count,json=refreshCostItemCount,proto3" json:"refresh_cost_item_count,omitempty"`
+ BonusResourceProp float32 `protobuf:"fixed32,13,opt,name=bonus_resource_prop,json=bonusResourceProp,proto3" json:"bonus_resource_prop,omitempty"`
+ ReviseMonsterLevel uint32 `protobuf:"varint,1541,opt,name=revise_monster_level,json=reviseMonsterLevel,proto3" json:"revise_monster_level,omitempty"`
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ BackstageAvatarGuidList []uint64 `protobuf:"varint,10,rep,packed,name=backstage_avatar_guid_list,json=backstageAvatarGuidList,proto3" json:"backstage_avatar_guid_list,omitempty"`
+ CurCellId uint32 `protobuf:"varint,12,opt,name=cur_cell_id,json=curCellId,proto3" json:"cur_cell_id,omitempty"`
+ RefreshCostItemId uint32 `protobuf:"varint,7,opt,name=refresh_cost_item_id,json=refreshCostItemId,proto3" json:"refresh_cost_item_id,omitempty"`
+ CurLevel uint32 `protobuf:"varint,8,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+}
+
+func (x *EnterRoguelikeDungeonNotify) Reset() {
+ *x = EnterRoguelikeDungeonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterRoguelikeDungeonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterRoguelikeDungeonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterRoguelikeDungeonNotify) ProtoMessage() {}
+
+func (x *EnterRoguelikeDungeonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterRoguelikeDungeonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterRoguelikeDungeonNotify.ProtoReflect.Descriptor instead.
+func (*EnterRoguelikeDungeonNotify) Descriptor() ([]byte, []int) {
+ return file_EnterRoguelikeDungeonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetIsMistClear() bool {
+ if x != nil {
+ return x.IsMistClear
+ }
+ return false
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetDungeonWeightConfigId() uint32 {
+ if x != nil {
+ return x.DungeonWeightConfigId
+ }
+ return 0
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetRuneRecordList() []*RoguelikeRuneRecord {
+ if x != nil {
+ return x.RuneRecordList
+ }
+ return nil
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetOnstageAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.OnstageAvatarGuidList
+ }
+ return nil
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetIsFirstEnter() bool {
+ if x != nil {
+ return x.IsFirstEnter
+ }
+ return false
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetExploredCellList() []uint32 {
+ if x != nil {
+ return x.ExploredCellList
+ }
+ return nil
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetCellInfoMap() map[uint32]*RogueCellInfo {
+ if x != nil {
+ return x.CellInfoMap
+ }
+ return nil
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetRefreshCostItemCount() uint32 {
+ if x != nil {
+ return x.RefreshCostItemCount
+ }
+ return 0
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetBonusResourceProp() float32 {
+ if x != nil {
+ return x.BonusResourceProp
+ }
+ return 0
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetReviseMonsterLevel() uint32 {
+ if x != nil {
+ return x.ReviseMonsterLevel
+ }
+ return 0
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetBackstageAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.BackstageAvatarGuidList
+ }
+ return nil
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetCurCellId() uint32 {
+ if x != nil {
+ return x.CurCellId
+ }
+ return 0
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetRefreshCostItemId() uint32 {
+ if x != nil {
+ return x.RefreshCostItemId
+ }
+ return 0
+}
+
+func (x *EnterRoguelikeDungeonNotify) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+var File_EnterRoguelikeDungeonNotify_proto protoreflect.FileDescriptor
+
+var file_EnterRoguelikeDungeonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x06, 0x0a, 0x1b, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73,
+ 0x5f, 0x6d, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4d, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x12, 0x37,
+ 0x0a, 0x18, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x15, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x65, 0x5f,
+ 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c,
+ 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0e, 0x72,
+ 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a,
+ 0x18, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x04, 0x52,
+ 0x15, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72,
+ 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0c, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a,
+ 0x12, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x6f,
+ 0x72, 0x65, 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0d, 0x63,
+ 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63,
+ 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xcf,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f,
+ 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x62,
+ 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72,
+ 0x6f, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x52,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x12, 0x31, 0x0a, 0x14, 0x72,
+ 0x65, 0x76, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x18, 0x85, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x76, 0x69,
+ 0x73, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x61, 0x63,
+ 0x6b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x04, 0x52, 0x17, 0x62,
+ 0x61, 0x63, 0x6b, 0x73, 0x74, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x5f, 0x63, 0x65,
+ 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x75, 0x72,
+ 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x73,
+ 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x1a, 0x54, 0x0a, 0x10, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterRoguelikeDungeonNotify_proto_rawDescOnce sync.Once
+ file_EnterRoguelikeDungeonNotify_proto_rawDescData = file_EnterRoguelikeDungeonNotify_proto_rawDesc
+)
+
+func file_EnterRoguelikeDungeonNotify_proto_rawDescGZIP() []byte {
+ file_EnterRoguelikeDungeonNotify_proto_rawDescOnce.Do(func() {
+ file_EnterRoguelikeDungeonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterRoguelikeDungeonNotify_proto_rawDescData)
+ })
+ return file_EnterRoguelikeDungeonNotify_proto_rawDescData
+}
+
+var file_EnterRoguelikeDungeonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_EnterRoguelikeDungeonNotify_proto_goTypes = []interface{}{
+ (*EnterRoguelikeDungeonNotify)(nil), // 0: proto.EnterRoguelikeDungeonNotify
+ nil, // 1: proto.EnterRoguelikeDungeonNotify.CellInfoMapEntry
+ (*RoguelikeRuneRecord)(nil), // 2: proto.RoguelikeRuneRecord
+ (*RogueCellInfo)(nil), // 3: proto.RogueCellInfo
+}
+var file_EnterRoguelikeDungeonNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.EnterRoguelikeDungeonNotify.rune_record_list:type_name -> proto.RoguelikeRuneRecord
+ 1, // 1: proto.EnterRoguelikeDungeonNotify.cell_info_map:type_name -> proto.EnterRoguelikeDungeonNotify.CellInfoMapEntry
+ 3, // 2: proto.EnterRoguelikeDungeonNotify.CellInfoMapEntry.value:type_name -> proto.RogueCellInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_EnterRoguelikeDungeonNotify_proto_init() }
+func file_EnterRoguelikeDungeonNotify_proto_init() {
+ if File_EnterRoguelikeDungeonNotify_proto != nil {
+ return
+ }
+ file_RogueCellInfo_proto_init()
+ file_RoguelikeRuneRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EnterRoguelikeDungeonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterRoguelikeDungeonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterRoguelikeDungeonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterRoguelikeDungeonNotify_proto_goTypes,
+ DependencyIndexes: file_EnterRoguelikeDungeonNotify_proto_depIdxs,
+ MessageInfos: file_EnterRoguelikeDungeonNotify_proto_msgTypes,
+ }.Build()
+ File_EnterRoguelikeDungeonNotify_proto = out.File
+ file_EnterRoguelikeDungeonNotify_proto_rawDesc = nil
+ file_EnterRoguelikeDungeonNotify_proto_goTypes = nil
+ file_EnterRoguelikeDungeonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterSceneDoneReq.pb.go b/protocol/proto/EnterSceneDoneReq.pb.go
new file mode 100644
index 00000000..9c005f26
--- /dev/null
+++ b/protocol/proto/EnterSceneDoneReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterSceneDoneReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 277
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterSceneDoneReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterSceneToken uint32 `protobuf:"varint,11,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+}
+
+func (x *EnterSceneDoneReq) Reset() {
+ *x = EnterSceneDoneReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterSceneDoneReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterSceneDoneReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterSceneDoneReq) ProtoMessage() {}
+
+func (x *EnterSceneDoneReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterSceneDoneReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterSceneDoneReq.ProtoReflect.Descriptor instead.
+func (*EnterSceneDoneReq) Descriptor() ([]byte, []int) {
+ return file_EnterSceneDoneReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterSceneDoneReq) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+var File_EnterSceneDoneReq_proto protoreflect.FileDescriptor
+
+var file_EnterSceneDoneReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x6f, 0x6e, 0x65,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x3f, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x6f,
+ 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterSceneDoneReq_proto_rawDescOnce sync.Once
+ file_EnterSceneDoneReq_proto_rawDescData = file_EnterSceneDoneReq_proto_rawDesc
+)
+
+func file_EnterSceneDoneReq_proto_rawDescGZIP() []byte {
+ file_EnterSceneDoneReq_proto_rawDescOnce.Do(func() {
+ file_EnterSceneDoneReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterSceneDoneReq_proto_rawDescData)
+ })
+ return file_EnterSceneDoneReq_proto_rawDescData
+}
+
+var file_EnterSceneDoneReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterSceneDoneReq_proto_goTypes = []interface{}{
+ (*EnterSceneDoneReq)(nil), // 0: proto.EnterSceneDoneReq
+}
+var file_EnterSceneDoneReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterSceneDoneReq_proto_init() }
+func file_EnterSceneDoneReq_proto_init() {
+ if File_EnterSceneDoneReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterSceneDoneReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterSceneDoneReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterSceneDoneReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterSceneDoneReq_proto_goTypes,
+ DependencyIndexes: file_EnterSceneDoneReq_proto_depIdxs,
+ MessageInfos: file_EnterSceneDoneReq_proto_msgTypes,
+ }.Build()
+ File_EnterSceneDoneReq_proto = out.File
+ file_EnterSceneDoneReq_proto_rawDesc = nil
+ file_EnterSceneDoneReq_proto_goTypes = nil
+ file_EnterSceneDoneReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterSceneDoneRsp.pb.go b/protocol/proto/EnterSceneDoneRsp.pb.go
new file mode 100644
index 00000000..0e5037ef
--- /dev/null
+++ b/protocol/proto/EnterSceneDoneRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterSceneDoneRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 237
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterSceneDoneRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterSceneToken uint32 `protobuf:"varint,15,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *EnterSceneDoneRsp) Reset() {
+ *x = EnterSceneDoneRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterSceneDoneRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterSceneDoneRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterSceneDoneRsp) ProtoMessage() {}
+
+func (x *EnterSceneDoneRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterSceneDoneRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterSceneDoneRsp.ProtoReflect.Descriptor instead.
+func (*EnterSceneDoneRsp) Descriptor() ([]byte, []int) {
+ return file_EnterSceneDoneRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterSceneDoneRsp) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+func (x *EnterSceneDoneRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_EnterSceneDoneRsp_proto protoreflect.FileDescriptor
+
+var file_EnterSceneDoneRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x6f, 0x6e, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x59, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x6f,
+ 0x6e, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterSceneDoneRsp_proto_rawDescOnce sync.Once
+ file_EnterSceneDoneRsp_proto_rawDescData = file_EnterSceneDoneRsp_proto_rawDesc
+)
+
+func file_EnterSceneDoneRsp_proto_rawDescGZIP() []byte {
+ file_EnterSceneDoneRsp_proto_rawDescOnce.Do(func() {
+ file_EnterSceneDoneRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterSceneDoneRsp_proto_rawDescData)
+ })
+ return file_EnterSceneDoneRsp_proto_rawDescData
+}
+
+var file_EnterSceneDoneRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterSceneDoneRsp_proto_goTypes = []interface{}{
+ (*EnterSceneDoneRsp)(nil), // 0: proto.EnterSceneDoneRsp
+}
+var file_EnterSceneDoneRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterSceneDoneRsp_proto_init() }
+func file_EnterSceneDoneRsp_proto_init() {
+ if File_EnterSceneDoneRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterSceneDoneRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterSceneDoneRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterSceneDoneRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterSceneDoneRsp_proto_goTypes,
+ DependencyIndexes: file_EnterSceneDoneRsp_proto_depIdxs,
+ MessageInfos: file_EnterSceneDoneRsp_proto_msgTypes,
+ }.Build()
+ File_EnterSceneDoneRsp_proto = out.File
+ file_EnterSceneDoneRsp_proto_rawDesc = nil
+ file_EnterSceneDoneRsp_proto_goTypes = nil
+ file_EnterSceneDoneRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterScenePeerNotify.pb.go b/protocol/proto/EnterScenePeerNotify.pb.go
new file mode 100644
index 00000000..388ce459
--- /dev/null
+++ b/protocol/proto/EnterScenePeerNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterScenePeerNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 252
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterScenePeerNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DestSceneId uint32 `protobuf:"varint,12,opt,name=dest_scene_id,json=destSceneId,proto3" json:"dest_scene_id,omitempty"`
+ EnterSceneToken uint32 `protobuf:"varint,11,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+ HostPeerId uint32 `protobuf:"varint,14,opt,name=host_peer_id,json=hostPeerId,proto3" json:"host_peer_id,omitempty"`
+ PeerId uint32 `protobuf:"varint,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
+}
+
+func (x *EnterScenePeerNotify) Reset() {
+ *x = EnterScenePeerNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterScenePeerNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterScenePeerNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterScenePeerNotify) ProtoMessage() {}
+
+func (x *EnterScenePeerNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterScenePeerNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterScenePeerNotify.ProtoReflect.Descriptor instead.
+func (*EnterScenePeerNotify) Descriptor() ([]byte, []int) {
+ return file_EnterScenePeerNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterScenePeerNotify) GetDestSceneId() uint32 {
+ if x != nil {
+ return x.DestSceneId
+ }
+ return 0
+}
+
+func (x *EnterScenePeerNotify) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+func (x *EnterScenePeerNotify) GetHostPeerId() uint32 {
+ if x != nil {
+ return x.HostPeerId
+ }
+ return 0
+}
+
+func (x *EnterScenePeerNotify) GetPeerId() uint32 {
+ if x != nil {
+ return x.PeerId
+ }
+ return 0
+}
+
+var File_EnterScenePeerNotify_proto protoreflect.FileDescriptor
+
+var file_EnterScenePeerNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x65, 0x65, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d,
+ 0x64, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64,
+ 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74,
+ 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0c,
+ 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterScenePeerNotify_proto_rawDescOnce sync.Once
+ file_EnterScenePeerNotify_proto_rawDescData = file_EnterScenePeerNotify_proto_rawDesc
+)
+
+func file_EnterScenePeerNotify_proto_rawDescGZIP() []byte {
+ file_EnterScenePeerNotify_proto_rawDescOnce.Do(func() {
+ file_EnterScenePeerNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterScenePeerNotify_proto_rawDescData)
+ })
+ return file_EnterScenePeerNotify_proto_rawDescData
+}
+
+var file_EnterScenePeerNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterScenePeerNotify_proto_goTypes = []interface{}{
+ (*EnterScenePeerNotify)(nil), // 0: proto.EnterScenePeerNotify
+}
+var file_EnterScenePeerNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterScenePeerNotify_proto_init() }
+func file_EnterScenePeerNotify_proto_init() {
+ if File_EnterScenePeerNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterScenePeerNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterScenePeerNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterScenePeerNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterScenePeerNotify_proto_goTypes,
+ DependencyIndexes: file_EnterScenePeerNotify_proto_depIdxs,
+ MessageInfos: file_EnterScenePeerNotify_proto_msgTypes,
+ }.Build()
+ File_EnterScenePeerNotify_proto = out.File
+ file_EnterScenePeerNotify_proto_rawDesc = nil
+ file_EnterScenePeerNotify_proto_goTypes = nil
+ file_EnterScenePeerNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterSceneReadyReq.pb.go b/protocol/proto/EnterSceneReadyReq.pb.go
new file mode 100644
index 00000000..50681d97
--- /dev/null
+++ b/protocol/proto/EnterSceneReadyReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterSceneReadyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 208
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterSceneReadyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterSceneToken uint32 `protobuf:"varint,9,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+}
+
+func (x *EnterSceneReadyReq) Reset() {
+ *x = EnterSceneReadyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterSceneReadyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterSceneReadyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterSceneReadyReq) ProtoMessage() {}
+
+func (x *EnterSceneReadyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterSceneReadyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterSceneReadyReq.ProtoReflect.Descriptor instead.
+func (*EnterSceneReadyReq) Descriptor() ([]byte, []int) {
+ return file_EnterSceneReadyReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterSceneReadyReq) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+var File_EnterSceneReadyReq_proto protoreflect.FileDescriptor
+
+var file_EnterSceneReadyReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x61, 0x64,
+ 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x40, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52,
+ 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72,
+ 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterSceneReadyReq_proto_rawDescOnce sync.Once
+ file_EnterSceneReadyReq_proto_rawDescData = file_EnterSceneReadyReq_proto_rawDesc
+)
+
+func file_EnterSceneReadyReq_proto_rawDescGZIP() []byte {
+ file_EnterSceneReadyReq_proto_rawDescOnce.Do(func() {
+ file_EnterSceneReadyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterSceneReadyReq_proto_rawDescData)
+ })
+ return file_EnterSceneReadyReq_proto_rawDescData
+}
+
+var file_EnterSceneReadyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterSceneReadyReq_proto_goTypes = []interface{}{
+ (*EnterSceneReadyReq)(nil), // 0: proto.EnterSceneReadyReq
+}
+var file_EnterSceneReadyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterSceneReadyReq_proto_init() }
+func file_EnterSceneReadyReq_proto_init() {
+ if File_EnterSceneReadyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterSceneReadyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterSceneReadyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterSceneReadyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterSceneReadyReq_proto_goTypes,
+ DependencyIndexes: file_EnterSceneReadyReq_proto_depIdxs,
+ MessageInfos: file_EnterSceneReadyReq_proto_msgTypes,
+ }.Build()
+ File_EnterSceneReadyReq_proto = out.File
+ file_EnterSceneReadyReq_proto_rawDesc = nil
+ file_EnterSceneReadyReq_proto_goTypes = nil
+ file_EnterSceneReadyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterSceneReadyRsp.pb.go b/protocol/proto/EnterSceneReadyRsp.pb.go
new file mode 100644
index 00000000..f7118633
--- /dev/null
+++ b/protocol/proto/EnterSceneReadyRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterSceneReadyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 209
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterSceneReadyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterSceneToken uint32 `protobuf:"varint,1,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *EnterSceneReadyRsp) Reset() {
+ *x = EnterSceneReadyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterSceneReadyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterSceneReadyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterSceneReadyRsp) ProtoMessage() {}
+
+func (x *EnterSceneReadyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterSceneReadyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterSceneReadyRsp.ProtoReflect.Descriptor instead.
+func (*EnterSceneReadyRsp) Descriptor() ([]byte, []int) {
+ return file_EnterSceneReadyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterSceneReadyRsp) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+func (x *EnterSceneReadyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_EnterSceneReadyRsp_proto protoreflect.FileDescriptor
+
+var file_EnterSceneReadyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x61, 0x64,
+ 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x5a, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52,
+ 0x65, 0x61, 0x64, 0x79, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72,
+ 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_EnterSceneReadyRsp_proto_rawDescOnce sync.Once
+ file_EnterSceneReadyRsp_proto_rawDescData = file_EnterSceneReadyRsp_proto_rawDesc
+)
+
+func file_EnterSceneReadyRsp_proto_rawDescGZIP() []byte {
+ file_EnterSceneReadyRsp_proto_rawDescOnce.Do(func() {
+ file_EnterSceneReadyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterSceneReadyRsp_proto_rawDescData)
+ })
+ return file_EnterSceneReadyRsp_proto_rawDescData
+}
+
+var file_EnterSceneReadyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterSceneReadyRsp_proto_goTypes = []interface{}{
+ (*EnterSceneReadyRsp)(nil), // 0: proto.EnterSceneReadyRsp
+}
+var file_EnterSceneReadyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterSceneReadyRsp_proto_init() }
+func file_EnterSceneReadyRsp_proto_init() {
+ if File_EnterSceneReadyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterSceneReadyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterSceneReadyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterSceneReadyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterSceneReadyRsp_proto_goTypes,
+ DependencyIndexes: file_EnterSceneReadyRsp_proto_depIdxs,
+ MessageInfos: file_EnterSceneReadyRsp_proto_msgTypes,
+ }.Build()
+ File_EnterSceneReadyRsp_proto = out.File
+ file_EnterSceneReadyRsp_proto_rawDesc = nil
+ file_EnterSceneReadyRsp_proto_goTypes = nil
+ file_EnterSceneReadyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterSceneWeatherAreaNotify.pb.go b/protocol/proto/EnterSceneWeatherAreaNotify.pb.go
new file mode 100644
index 00000000..f996025b
--- /dev/null
+++ b/protocol/proto/EnterSceneWeatherAreaNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterSceneWeatherAreaNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 256
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterSceneWeatherAreaNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WeatherGadgetId uint32 `protobuf:"varint,13,opt,name=weather_gadget_id,json=weatherGadgetId,proto3" json:"weather_gadget_id,omitempty"`
+}
+
+func (x *EnterSceneWeatherAreaNotify) Reset() {
+ *x = EnterSceneWeatherAreaNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterSceneWeatherAreaNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterSceneWeatherAreaNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterSceneWeatherAreaNotify) ProtoMessage() {}
+
+func (x *EnterSceneWeatherAreaNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterSceneWeatherAreaNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterSceneWeatherAreaNotify.ProtoReflect.Descriptor instead.
+func (*EnterSceneWeatherAreaNotify) Descriptor() ([]byte, []int) {
+ return file_EnterSceneWeatherAreaNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterSceneWeatherAreaNotify) GetWeatherGadgetId() uint32 {
+ if x != nil {
+ return x.WeatherGadgetId
+ }
+ return 0
+}
+
+var File_EnterSceneWeatherAreaNotify_proto protoreflect.FileDescriptor
+
+var file_EnterSceneWeatherAreaNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74,
+ 0x68, 0x65, 0x72, 0x41, 0x72, 0x65, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x1b, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x41,
+ 0x72, 0x65, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x65, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterSceneWeatherAreaNotify_proto_rawDescOnce sync.Once
+ file_EnterSceneWeatherAreaNotify_proto_rawDescData = file_EnterSceneWeatherAreaNotify_proto_rawDesc
+)
+
+func file_EnterSceneWeatherAreaNotify_proto_rawDescGZIP() []byte {
+ file_EnterSceneWeatherAreaNotify_proto_rawDescOnce.Do(func() {
+ file_EnterSceneWeatherAreaNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterSceneWeatherAreaNotify_proto_rawDescData)
+ })
+ return file_EnterSceneWeatherAreaNotify_proto_rawDescData
+}
+
+var file_EnterSceneWeatherAreaNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterSceneWeatherAreaNotify_proto_goTypes = []interface{}{
+ (*EnterSceneWeatherAreaNotify)(nil), // 0: proto.EnterSceneWeatherAreaNotify
+}
+var file_EnterSceneWeatherAreaNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterSceneWeatherAreaNotify_proto_init() }
+func file_EnterSceneWeatherAreaNotify_proto_init() {
+ if File_EnterSceneWeatherAreaNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterSceneWeatherAreaNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterSceneWeatherAreaNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterSceneWeatherAreaNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterSceneWeatherAreaNotify_proto_goTypes,
+ DependencyIndexes: file_EnterSceneWeatherAreaNotify_proto_depIdxs,
+ MessageInfos: file_EnterSceneWeatherAreaNotify_proto_msgTypes,
+ }.Build()
+ File_EnterSceneWeatherAreaNotify_proto = out.File
+ file_EnterSceneWeatherAreaNotify_proto_rawDesc = nil
+ file_EnterSceneWeatherAreaNotify_proto_goTypes = nil
+ file_EnterSceneWeatherAreaNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterTransPointRegionNotify.pb.go b/protocol/proto/EnterTransPointRegionNotify.pb.go
new file mode 100644
index 00000000..69cd48cb
--- /dev/null
+++ b/protocol/proto/EnterTransPointRegionNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterTransPointRegionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 205
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterTransPointRegionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,8,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ PointId uint32 `protobuf:"varint,6,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *EnterTransPointRegionNotify) Reset() {
+ *x = EnterTransPointRegionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterTransPointRegionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterTransPointRegionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterTransPointRegionNotify) ProtoMessage() {}
+
+func (x *EnterTransPointRegionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterTransPointRegionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterTransPointRegionNotify.ProtoReflect.Descriptor instead.
+func (*EnterTransPointRegionNotify) Descriptor() ([]byte, []int) {
+ return file_EnterTransPointRegionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterTransPointRegionNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *EnterTransPointRegionNotify) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_EnterTransPointRegionNotify_proto protoreflect.FileDescriptor
+
+var file_EnterTransPointRegionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1b, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterTransPointRegionNotify_proto_rawDescOnce sync.Once
+ file_EnterTransPointRegionNotify_proto_rawDescData = file_EnterTransPointRegionNotify_proto_rawDesc
+)
+
+func file_EnterTransPointRegionNotify_proto_rawDescGZIP() []byte {
+ file_EnterTransPointRegionNotify_proto_rawDescOnce.Do(func() {
+ file_EnterTransPointRegionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterTransPointRegionNotify_proto_rawDescData)
+ })
+ return file_EnterTransPointRegionNotify_proto_rawDescData
+}
+
+var file_EnterTransPointRegionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterTransPointRegionNotify_proto_goTypes = []interface{}{
+ (*EnterTransPointRegionNotify)(nil), // 0: proto.EnterTransPointRegionNotify
+}
+var file_EnterTransPointRegionNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterTransPointRegionNotify_proto_init() }
+func file_EnterTransPointRegionNotify_proto_init() {
+ if File_EnterTransPointRegionNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterTransPointRegionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterTransPointRegionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterTransPointRegionNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterTransPointRegionNotify_proto_goTypes,
+ DependencyIndexes: file_EnterTransPointRegionNotify_proto_depIdxs,
+ MessageInfos: file_EnterTransPointRegionNotify_proto_msgTypes,
+ }.Build()
+ File_EnterTransPointRegionNotify_proto = out.File
+ file_EnterTransPointRegionNotify_proto_rawDesc = nil
+ file_EnterTransPointRegionNotify_proto_goTypes = nil
+ file_EnterTransPointRegionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterTrialAvatarActivityDungeonReq.pb.go b/protocol/proto/EnterTrialAvatarActivityDungeonReq.pb.go
new file mode 100644
index 00000000..3a69e7b8
--- /dev/null
+++ b/protocol/proto/EnterTrialAvatarActivityDungeonReq.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterTrialAvatarActivityDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2118
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterTrialAvatarActivityDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterPointId uint32 `protobuf:"varint,10,opt,name=enter_point_id,json=enterPointId,proto3" json:"enter_point_id,omitempty"`
+ TrialAvatarIndexId uint32 `protobuf:"varint,5,opt,name=trial_avatar_index_id,json=trialAvatarIndexId,proto3" json:"trial_avatar_index_id,omitempty"`
+ ActivityId uint32 `protobuf:"varint,14,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *EnterTrialAvatarActivityDungeonReq) Reset() {
+ *x = EnterTrialAvatarActivityDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterTrialAvatarActivityDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterTrialAvatarActivityDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterTrialAvatarActivityDungeonReq) ProtoMessage() {}
+
+func (x *EnterTrialAvatarActivityDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterTrialAvatarActivityDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterTrialAvatarActivityDungeonReq.ProtoReflect.Descriptor instead.
+func (*EnterTrialAvatarActivityDungeonReq) Descriptor() ([]byte, []int) {
+ return file_EnterTrialAvatarActivityDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterTrialAvatarActivityDungeonReq) GetEnterPointId() uint32 {
+ if x != nil {
+ return x.EnterPointId
+ }
+ return 0
+}
+
+func (x *EnterTrialAvatarActivityDungeonReq) GetTrialAvatarIndexId() uint32 {
+ if x != nil {
+ return x.TrialAvatarIndexId
+ }
+ return 0
+}
+
+func (x *EnterTrialAvatarActivityDungeonReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_EnterTrialAvatarActivityDungeonReq_proto protoreflect.FileDescriptor
+
+var file_EnterTrialAvatarActivityDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x9e, 0x01, 0x0a, 0x22, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x31,
+ 0x0a, 0x15, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74,
+ 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49,
+ 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterTrialAvatarActivityDungeonReq_proto_rawDescOnce sync.Once
+ file_EnterTrialAvatarActivityDungeonReq_proto_rawDescData = file_EnterTrialAvatarActivityDungeonReq_proto_rawDesc
+)
+
+func file_EnterTrialAvatarActivityDungeonReq_proto_rawDescGZIP() []byte {
+ file_EnterTrialAvatarActivityDungeonReq_proto_rawDescOnce.Do(func() {
+ file_EnterTrialAvatarActivityDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterTrialAvatarActivityDungeonReq_proto_rawDescData)
+ })
+ return file_EnterTrialAvatarActivityDungeonReq_proto_rawDescData
+}
+
+var file_EnterTrialAvatarActivityDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterTrialAvatarActivityDungeonReq_proto_goTypes = []interface{}{
+ (*EnterTrialAvatarActivityDungeonReq)(nil), // 0: proto.EnterTrialAvatarActivityDungeonReq
+}
+var file_EnterTrialAvatarActivityDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterTrialAvatarActivityDungeonReq_proto_init() }
+func file_EnterTrialAvatarActivityDungeonReq_proto_init() {
+ if File_EnterTrialAvatarActivityDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterTrialAvatarActivityDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterTrialAvatarActivityDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterTrialAvatarActivityDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterTrialAvatarActivityDungeonReq_proto_goTypes,
+ DependencyIndexes: file_EnterTrialAvatarActivityDungeonReq_proto_depIdxs,
+ MessageInfos: file_EnterTrialAvatarActivityDungeonReq_proto_msgTypes,
+ }.Build()
+ File_EnterTrialAvatarActivityDungeonReq_proto = out.File
+ file_EnterTrialAvatarActivityDungeonReq_proto_rawDesc = nil
+ file_EnterTrialAvatarActivityDungeonReq_proto_goTypes = nil
+ file_EnterTrialAvatarActivityDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterTrialAvatarActivityDungeonRsp.pb.go b/protocol/proto/EnterTrialAvatarActivityDungeonRsp.pb.go
new file mode 100644
index 00000000..3d419fea
--- /dev/null
+++ b/protocol/proto/EnterTrialAvatarActivityDungeonRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterTrialAvatarActivityDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2183
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterTrialAvatarActivityDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TrialAvatarIndexId uint32 `protobuf:"varint,13,opt,name=trial_avatar_index_id,json=trialAvatarIndexId,proto3" json:"trial_avatar_index_id,omitempty"`
+ ActivityId uint32 `protobuf:"varint,10,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *EnterTrialAvatarActivityDungeonRsp) Reset() {
+ *x = EnterTrialAvatarActivityDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterTrialAvatarActivityDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterTrialAvatarActivityDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterTrialAvatarActivityDungeonRsp) ProtoMessage() {}
+
+func (x *EnterTrialAvatarActivityDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterTrialAvatarActivityDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterTrialAvatarActivityDungeonRsp.ProtoReflect.Descriptor instead.
+func (*EnterTrialAvatarActivityDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_EnterTrialAvatarActivityDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterTrialAvatarActivityDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EnterTrialAvatarActivityDungeonRsp) GetTrialAvatarIndexId() uint32 {
+ if x != nil {
+ return x.TrialAvatarIndexId
+ }
+ return 0
+}
+
+func (x *EnterTrialAvatarActivityDungeonRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_EnterTrialAvatarActivityDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_EnterTrialAvatarActivityDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x22, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x12, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterTrialAvatarActivityDungeonRsp_proto_rawDescOnce sync.Once
+ file_EnterTrialAvatarActivityDungeonRsp_proto_rawDescData = file_EnterTrialAvatarActivityDungeonRsp_proto_rawDesc
+)
+
+func file_EnterTrialAvatarActivityDungeonRsp_proto_rawDescGZIP() []byte {
+ file_EnterTrialAvatarActivityDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_EnterTrialAvatarActivityDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterTrialAvatarActivityDungeonRsp_proto_rawDescData)
+ })
+ return file_EnterTrialAvatarActivityDungeonRsp_proto_rawDescData
+}
+
+var file_EnterTrialAvatarActivityDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterTrialAvatarActivityDungeonRsp_proto_goTypes = []interface{}{
+ (*EnterTrialAvatarActivityDungeonRsp)(nil), // 0: proto.EnterTrialAvatarActivityDungeonRsp
+}
+var file_EnterTrialAvatarActivityDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterTrialAvatarActivityDungeonRsp_proto_init() }
+func file_EnterTrialAvatarActivityDungeonRsp_proto_init() {
+ if File_EnterTrialAvatarActivityDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterTrialAvatarActivityDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterTrialAvatarActivityDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterTrialAvatarActivityDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterTrialAvatarActivityDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_EnterTrialAvatarActivityDungeonRsp_proto_depIdxs,
+ MessageInfos: file_EnterTrialAvatarActivityDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_EnterTrialAvatarActivityDungeonRsp_proto = out.File
+ file_EnterTrialAvatarActivityDungeonRsp_proto_rawDesc = nil
+ file_EnterTrialAvatarActivityDungeonRsp_proto_goTypes = nil
+ file_EnterTrialAvatarActivityDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterType.pb.go b/protocol/proto/EnterType.pb.go
new file mode 100644
index 00000000..c56ff2cc
--- /dev/null
+++ b/protocol/proto/EnterType.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EnterType int32
+
+const (
+ EnterType_ENTER_TYPE_NONE EnterType = 0
+ EnterType_ENTER_TYPE_SELF EnterType = 1
+ EnterType_ENTER_TYPE_GOTO EnterType = 2
+ EnterType_ENTER_TYPE_JUMP EnterType = 3
+ EnterType_ENTER_TYPE_OTHER EnterType = 4
+ EnterType_ENTER_TYPE_BACK EnterType = 5
+ EnterType_ENTER_TYPE_DUNGEON EnterType = 6
+ EnterType_ENTER_TYPE_DUNGEON_REPLAY EnterType = 7
+ EnterType_ENTER_TYPE_GOTO_BY_PORTAL EnterType = 8
+ EnterType_ENTER_TYPE_SELF_HOME EnterType = 9
+ EnterType_ENTER_TYPE_OTHER_HOME EnterType = 10
+ EnterType_ENTER_TYPE_GOTO_RECREATE EnterType = 11
+)
+
+// Enum value maps for EnterType.
+var (
+ EnterType_name = map[int32]string{
+ 0: "ENTER_TYPE_NONE",
+ 1: "ENTER_TYPE_SELF",
+ 2: "ENTER_TYPE_GOTO",
+ 3: "ENTER_TYPE_JUMP",
+ 4: "ENTER_TYPE_OTHER",
+ 5: "ENTER_TYPE_BACK",
+ 6: "ENTER_TYPE_DUNGEON",
+ 7: "ENTER_TYPE_DUNGEON_REPLAY",
+ 8: "ENTER_TYPE_GOTO_BY_PORTAL",
+ 9: "ENTER_TYPE_SELF_HOME",
+ 10: "ENTER_TYPE_OTHER_HOME",
+ 11: "ENTER_TYPE_GOTO_RECREATE",
+ }
+ EnterType_value = map[string]int32{
+ "ENTER_TYPE_NONE": 0,
+ "ENTER_TYPE_SELF": 1,
+ "ENTER_TYPE_GOTO": 2,
+ "ENTER_TYPE_JUMP": 3,
+ "ENTER_TYPE_OTHER": 4,
+ "ENTER_TYPE_BACK": 5,
+ "ENTER_TYPE_DUNGEON": 6,
+ "ENTER_TYPE_DUNGEON_REPLAY": 7,
+ "ENTER_TYPE_GOTO_BY_PORTAL": 8,
+ "ENTER_TYPE_SELF_HOME": 9,
+ "ENTER_TYPE_OTHER_HOME": 10,
+ "ENTER_TYPE_GOTO_RECREATE": 11,
+ }
+)
+
+func (x EnterType) Enum() *EnterType {
+ p := new(EnterType)
+ *p = x
+ return p
+}
+
+func (x EnterType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EnterType) Descriptor() protoreflect.EnumDescriptor {
+ return file_EnterType_proto_enumTypes[0].Descriptor()
+}
+
+func (EnterType) Type() protoreflect.EnumType {
+ return &file_EnterType_proto_enumTypes[0]
+}
+
+func (x EnterType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EnterType.Descriptor instead.
+func (EnterType) EnumDescriptor() ([]byte, []int) {
+ return file_EnterType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_EnterType_proto protoreflect.FileDescriptor
+
+var file_EnterType_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xb3, 0x02, 0x0a, 0x09, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x45,
+ 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x10, 0x01,
+ 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47,
+ 0x4f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x55, 0x4d, 0x50, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e,
+ 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x04,
+ 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42,
+ 0x41, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x1d, 0x0a,
+ 0x19, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x55, 0x4e, 0x47,
+ 0x45, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19,
+ 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4f, 0x54, 0x4f, 0x5f,
+ 0x42, 0x59, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x41, 0x4c, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x45,
+ 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x48,
+ 0x4f, 0x4d, 0x45, 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x10, 0x0a,
+ 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47,
+ 0x4f, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_EnterType_proto_rawDescOnce sync.Once
+ file_EnterType_proto_rawDescData = file_EnterType_proto_rawDesc
+)
+
+func file_EnterType_proto_rawDescGZIP() []byte {
+ file_EnterType_proto_rawDescOnce.Do(func() {
+ file_EnterType_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterType_proto_rawDescData)
+ })
+ return file_EnterType_proto_rawDescData
+}
+
+var file_EnterType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_EnterType_proto_goTypes = []interface{}{
+ (EnterType)(0), // 0: proto.EnterType
+}
+var file_EnterType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterType_proto_init() }
+func file_EnterType_proto_init() {
+ if File_EnterType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterType_proto_goTypes,
+ DependencyIndexes: file_EnterType_proto_depIdxs,
+ EnumInfos: file_EnterType_proto_enumTypes,
+ }.Build()
+ File_EnterType_proto = out.File
+ file_EnterType_proto_rawDesc = nil
+ file_EnterType_proto_goTypes = nil
+ file_EnterType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterWorldAreaReq.pb.go b/protocol/proto/EnterWorldAreaReq.pb.go
new file mode 100644
index 00000000..98c4c19f
--- /dev/null
+++ b/protocol/proto/EnterWorldAreaReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterWorldAreaReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 250
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EnterWorldAreaReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaType uint32 `protobuf:"varint,8,opt,name=area_type,json=areaType,proto3" json:"area_type,omitempty"`
+ AreaId uint32 `protobuf:"varint,1,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+}
+
+func (x *EnterWorldAreaReq) Reset() {
+ *x = EnterWorldAreaReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterWorldAreaReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterWorldAreaReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterWorldAreaReq) ProtoMessage() {}
+
+func (x *EnterWorldAreaReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterWorldAreaReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterWorldAreaReq.ProtoReflect.Descriptor instead.
+func (*EnterWorldAreaReq) Descriptor() ([]byte, []int) {
+ return file_EnterWorldAreaReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterWorldAreaReq) GetAreaType() uint32 {
+ if x != nil {
+ return x.AreaType
+ }
+ return 0
+}
+
+func (x *EnterWorldAreaReq) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+var File_EnterWorldAreaReq_proto protoreflect.FileDescriptor
+
+var file_EnterWorldAreaReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x72, 0x65, 0x61,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x49, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x72,
+ 0x65, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterWorldAreaReq_proto_rawDescOnce sync.Once
+ file_EnterWorldAreaReq_proto_rawDescData = file_EnterWorldAreaReq_proto_rawDesc
+)
+
+func file_EnterWorldAreaReq_proto_rawDescGZIP() []byte {
+ file_EnterWorldAreaReq_proto_rawDescOnce.Do(func() {
+ file_EnterWorldAreaReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterWorldAreaReq_proto_rawDescData)
+ })
+ return file_EnterWorldAreaReq_proto_rawDescData
+}
+
+var file_EnterWorldAreaReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterWorldAreaReq_proto_goTypes = []interface{}{
+ (*EnterWorldAreaReq)(nil), // 0: proto.EnterWorldAreaReq
+}
+var file_EnterWorldAreaReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterWorldAreaReq_proto_init() }
+func file_EnterWorldAreaReq_proto_init() {
+ if File_EnterWorldAreaReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterWorldAreaReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterWorldAreaReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterWorldAreaReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterWorldAreaReq_proto_goTypes,
+ DependencyIndexes: file_EnterWorldAreaReq_proto_depIdxs,
+ MessageInfos: file_EnterWorldAreaReq_proto_msgTypes,
+ }.Build()
+ File_EnterWorldAreaReq_proto = out.File
+ file_EnterWorldAreaReq_proto_rawDesc = nil
+ file_EnterWorldAreaReq_proto_goTypes = nil
+ file_EnterWorldAreaReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EnterWorldAreaRsp.pb.go b/protocol/proto/EnterWorldAreaRsp.pb.go
new file mode 100644
index 00000000..03b30411
--- /dev/null
+++ b/protocol/proto/EnterWorldAreaRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EnterWorldAreaRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 243
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EnterWorldAreaRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaType uint32 `protobuf:"varint,1,opt,name=area_type,json=areaType,proto3" json:"area_type,omitempty"`
+ AreaId uint32 `protobuf:"varint,7,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *EnterWorldAreaRsp) Reset() {
+ *x = EnterWorldAreaRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EnterWorldAreaRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EnterWorldAreaRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EnterWorldAreaRsp) ProtoMessage() {}
+
+func (x *EnterWorldAreaRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EnterWorldAreaRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EnterWorldAreaRsp.ProtoReflect.Descriptor instead.
+func (*EnterWorldAreaRsp) Descriptor() ([]byte, []int) {
+ return file_EnterWorldAreaRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EnterWorldAreaRsp) GetAreaType() uint32 {
+ if x != nil {
+ return x.AreaType
+ }
+ return 0
+}
+
+func (x *EnterWorldAreaRsp) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *EnterWorldAreaRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_EnterWorldAreaRsp_proto protoreflect.FileDescriptor
+
+var file_EnterWorldAreaRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x72, 0x65, 0x61,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x63, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x72,
+ 0x65, 0x61, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EnterWorldAreaRsp_proto_rawDescOnce sync.Once
+ file_EnterWorldAreaRsp_proto_rawDescData = file_EnterWorldAreaRsp_proto_rawDesc
+)
+
+func file_EnterWorldAreaRsp_proto_rawDescGZIP() []byte {
+ file_EnterWorldAreaRsp_proto_rawDescOnce.Do(func() {
+ file_EnterWorldAreaRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EnterWorldAreaRsp_proto_rawDescData)
+ })
+ return file_EnterWorldAreaRsp_proto_rawDescData
+}
+
+var file_EnterWorldAreaRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EnterWorldAreaRsp_proto_goTypes = []interface{}{
+ (*EnterWorldAreaRsp)(nil), // 0: proto.EnterWorldAreaRsp
+}
+var file_EnterWorldAreaRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EnterWorldAreaRsp_proto_init() }
+func file_EnterWorldAreaRsp_proto_init() {
+ if File_EnterWorldAreaRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EnterWorldAreaRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EnterWorldAreaRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EnterWorldAreaRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EnterWorldAreaRsp_proto_goTypes,
+ DependencyIndexes: file_EnterWorldAreaRsp_proto_depIdxs,
+ MessageInfos: file_EnterWorldAreaRsp_proto_msgTypes,
+ }.Build()
+ File_EnterWorldAreaRsp_proto = out.File
+ file_EnterWorldAreaRsp_proto_rawDesc = nil
+ file_EnterWorldAreaRsp_proto_goTypes = nil
+ file_EnterWorldAreaRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityAbilityInvokeEntry.pb.go b/protocol/proto/EntityAbilityInvokeEntry.pb.go
new file mode 100644
index 00000000..22f29c85
--- /dev/null
+++ b/protocol/proto/EntityAbilityInvokeEntry.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityAbilityInvokeEntry.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityAbilityInvokeEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Invokes []*AbilityInvokeEntry `protobuf:"bytes,1,rep,name=invokes,proto3" json:"invokes,omitempty"`
+}
+
+func (x *EntityAbilityInvokeEntry) Reset() {
+ *x = EntityAbilityInvokeEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityAbilityInvokeEntry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityAbilityInvokeEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityAbilityInvokeEntry) ProtoMessage() {}
+
+func (x *EntityAbilityInvokeEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityAbilityInvokeEntry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityAbilityInvokeEntry.ProtoReflect.Descriptor instead.
+func (*EntityAbilityInvokeEntry) Descriptor() ([]byte, []int) {
+ return file_EntityAbilityInvokeEntry_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityAbilityInvokeEntry) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EntityAbilityInvokeEntry) GetInvokes() []*AbilityInvokeEntry {
+ if x != nil {
+ return x.Invokes
+ }
+ return nil
+}
+
+var File_EntityAbilityInvokeEntry_proto protoreflect.FileDescriptor
+
+var file_EntityAbilityInvokeEntry_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6c, 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x07, 0x69, 0x6e,
+ 0x76, 0x6f, 0x6b, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x6b,
+ 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x6b, 0x65, 0x73, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityAbilityInvokeEntry_proto_rawDescOnce sync.Once
+ file_EntityAbilityInvokeEntry_proto_rawDescData = file_EntityAbilityInvokeEntry_proto_rawDesc
+)
+
+func file_EntityAbilityInvokeEntry_proto_rawDescGZIP() []byte {
+ file_EntityAbilityInvokeEntry_proto_rawDescOnce.Do(func() {
+ file_EntityAbilityInvokeEntry_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityAbilityInvokeEntry_proto_rawDescData)
+ })
+ return file_EntityAbilityInvokeEntry_proto_rawDescData
+}
+
+var file_EntityAbilityInvokeEntry_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityAbilityInvokeEntry_proto_goTypes = []interface{}{
+ (*EntityAbilityInvokeEntry)(nil), // 0: proto.EntityAbilityInvokeEntry
+ (*AbilityInvokeEntry)(nil), // 1: proto.AbilityInvokeEntry
+}
+var file_EntityAbilityInvokeEntry_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityAbilityInvokeEntry.invokes:type_name -> proto.AbilityInvokeEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityAbilityInvokeEntry_proto_init() }
+func file_EntityAbilityInvokeEntry_proto_init() {
+ if File_EntityAbilityInvokeEntry_proto != nil {
+ return
+ }
+ file_AbilityInvokeEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityAbilityInvokeEntry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityAbilityInvokeEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityAbilityInvokeEntry_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityAbilityInvokeEntry_proto_goTypes,
+ DependencyIndexes: file_EntityAbilityInvokeEntry_proto_depIdxs,
+ MessageInfos: file_EntityAbilityInvokeEntry_proto_msgTypes,
+ }.Build()
+ File_EntityAbilityInvokeEntry_proto = out.File
+ file_EntityAbilityInvokeEntry_proto_rawDesc = nil
+ file_EntityAbilityInvokeEntry_proto_goTypes = nil
+ file_EntityAbilityInvokeEntry_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityAiKillSelfNotify.pb.go b/protocol/proto/EntityAiKillSelfNotify.pb.go
new file mode 100644
index 00000000..9eb65c2a
--- /dev/null
+++ b/protocol/proto/EntityAiKillSelfNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityAiKillSelfNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 340
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EntityAiKillSelfNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,12,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EntityAiKillSelfNotify) Reset() {
+ *x = EntityAiKillSelfNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityAiKillSelfNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityAiKillSelfNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityAiKillSelfNotify) ProtoMessage() {}
+
+func (x *EntityAiKillSelfNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityAiKillSelfNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityAiKillSelfNotify.ProtoReflect.Descriptor instead.
+func (*EntityAiKillSelfNotify) Descriptor() ([]byte, []int) {
+ return file_EntityAiKillSelfNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityAiKillSelfNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EntityAiKillSelfNotify_proto protoreflect.FileDescriptor
+
+var file_EntityAiKillSelfNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65,
+ 0x6c, 0x66, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41,
+ 0x69, 0x4b, 0x69, 0x6c, 0x6c, 0x53, 0x65, 0x6c, 0x66, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityAiKillSelfNotify_proto_rawDescOnce sync.Once
+ file_EntityAiKillSelfNotify_proto_rawDescData = file_EntityAiKillSelfNotify_proto_rawDesc
+)
+
+func file_EntityAiKillSelfNotify_proto_rawDescGZIP() []byte {
+ file_EntityAiKillSelfNotify_proto_rawDescOnce.Do(func() {
+ file_EntityAiKillSelfNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityAiKillSelfNotify_proto_rawDescData)
+ })
+ return file_EntityAiKillSelfNotify_proto_rawDescData
+}
+
+var file_EntityAiKillSelfNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityAiKillSelfNotify_proto_goTypes = []interface{}{
+ (*EntityAiKillSelfNotify)(nil), // 0: proto.EntityAiKillSelfNotify
+}
+var file_EntityAiKillSelfNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EntityAiKillSelfNotify_proto_init() }
+func file_EntityAiKillSelfNotify_proto_init() {
+ if File_EntityAiKillSelfNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityAiKillSelfNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityAiKillSelfNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityAiKillSelfNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityAiKillSelfNotify_proto_goTypes,
+ DependencyIndexes: file_EntityAiKillSelfNotify_proto_depIdxs,
+ MessageInfos: file_EntityAiKillSelfNotify_proto_msgTypes,
+ }.Build()
+ File_EntityAiKillSelfNotify_proto = out.File
+ file_EntityAiKillSelfNotify_proto_rawDesc = nil
+ file_EntityAiKillSelfNotify_proto_goTypes = nil
+ file_EntityAiKillSelfNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityAiSyncNotify.pb.go b/protocol/proto/EntityAiSyncNotify.pb.go
new file mode 100644
index 00000000..33eeb174
--- /dev/null
+++ b/protocol/proto/EntityAiSyncNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityAiSyncNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 400
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EntityAiSyncNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LocalAvatarAlertedMonsterList []uint32 `protobuf:"varint,15,rep,packed,name=local_avatar_alerted_monster_list,json=localAvatarAlertedMonsterList,proto3" json:"local_avatar_alerted_monster_list,omitempty"`
+ InfoList []*AiSyncInfo `protobuf:"bytes,1,rep,name=info_list,json=infoList,proto3" json:"info_list,omitempty"`
+}
+
+func (x *EntityAiSyncNotify) Reset() {
+ *x = EntityAiSyncNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityAiSyncNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityAiSyncNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityAiSyncNotify) ProtoMessage() {}
+
+func (x *EntityAiSyncNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityAiSyncNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityAiSyncNotify.ProtoReflect.Descriptor instead.
+func (*EntityAiSyncNotify) Descriptor() ([]byte, []int) {
+ return file_EntityAiSyncNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityAiSyncNotify) GetLocalAvatarAlertedMonsterList() []uint32 {
+ if x != nil {
+ return x.LocalAvatarAlertedMonsterList
+ }
+ return nil
+}
+
+func (x *EntityAiSyncNotify) GetInfoList() []*AiSyncInfo {
+ if x != nil {
+ return x.InfoList
+ }
+ return nil
+}
+
+var File_EntityAiSyncNotify_proto protoreflect.FileDescriptor
+
+var file_EntityAiSyncNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x69,
+ 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x48, 0x0a, 0x21, 0x6c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74,
+ 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityAiSyncNotify_proto_rawDescOnce sync.Once
+ file_EntityAiSyncNotify_proto_rawDescData = file_EntityAiSyncNotify_proto_rawDesc
+)
+
+func file_EntityAiSyncNotify_proto_rawDescGZIP() []byte {
+ file_EntityAiSyncNotify_proto_rawDescOnce.Do(func() {
+ file_EntityAiSyncNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityAiSyncNotify_proto_rawDescData)
+ })
+ return file_EntityAiSyncNotify_proto_rawDescData
+}
+
+var file_EntityAiSyncNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityAiSyncNotify_proto_goTypes = []interface{}{
+ (*EntityAiSyncNotify)(nil), // 0: proto.EntityAiSyncNotify
+ (*AiSyncInfo)(nil), // 1: proto.AiSyncInfo
+}
+var file_EntityAiSyncNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityAiSyncNotify.info_list:type_name -> proto.AiSyncInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityAiSyncNotify_proto_init() }
+func file_EntityAiSyncNotify_proto_init() {
+ if File_EntityAiSyncNotify_proto != nil {
+ return
+ }
+ file_AiSyncInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityAiSyncNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityAiSyncNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityAiSyncNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityAiSyncNotify_proto_goTypes,
+ DependencyIndexes: file_EntityAiSyncNotify_proto_depIdxs,
+ MessageInfos: file_EntityAiSyncNotify_proto_msgTypes,
+ }.Build()
+ File_EntityAiSyncNotify_proto = out.File
+ file_EntityAiSyncNotify_proto_rawDesc = nil
+ file_EntityAiSyncNotify_proto_goTypes = nil
+ file_EntityAiSyncNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityAuthorityChangeNotify.pb.go b/protocol/proto/EntityAuthorityChangeNotify.pb.go
new file mode 100644
index 00000000..e79d14e8
--- /dev/null
+++ b/protocol/proto/EntityAuthorityChangeNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityAuthorityChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 394
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EntityAuthorityChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AuthorityChangeList []*AuthorityChange `protobuf:"bytes,15,rep,name=authority_change_list,json=authorityChangeList,proto3" json:"authority_change_list,omitempty"`
+}
+
+func (x *EntityAuthorityChangeNotify) Reset() {
+ *x = EntityAuthorityChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityAuthorityChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityAuthorityChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityAuthorityChangeNotify) ProtoMessage() {}
+
+func (x *EntityAuthorityChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityAuthorityChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityAuthorityChangeNotify.ProtoReflect.Descriptor instead.
+func (*EntityAuthorityChangeNotify) Descriptor() ([]byte, []int) {
+ return file_EntityAuthorityChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityAuthorityChangeNotify) GetAuthorityChangeList() []*AuthorityChange {
+ if x != nil {
+ return x.AuthorityChangeList
+ }
+ return nil
+}
+
+var File_EntityAuthorityChangeNotify_proto protoreflect.FileDescriptor
+
+var file_EntityAuthorityChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
+ 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x41, 0x75, 0x74, 0x68,
+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x69, 0x0a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f,
+ 0x72, 0x69, 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x4a, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
+ 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
+ 0x74, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityAuthorityChangeNotify_proto_rawDescOnce sync.Once
+ file_EntityAuthorityChangeNotify_proto_rawDescData = file_EntityAuthorityChangeNotify_proto_rawDesc
+)
+
+func file_EntityAuthorityChangeNotify_proto_rawDescGZIP() []byte {
+ file_EntityAuthorityChangeNotify_proto_rawDescOnce.Do(func() {
+ file_EntityAuthorityChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityAuthorityChangeNotify_proto_rawDescData)
+ })
+ return file_EntityAuthorityChangeNotify_proto_rawDescData
+}
+
+var file_EntityAuthorityChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityAuthorityChangeNotify_proto_goTypes = []interface{}{
+ (*EntityAuthorityChangeNotify)(nil), // 0: proto.EntityAuthorityChangeNotify
+ (*AuthorityChange)(nil), // 1: proto.AuthorityChange
+}
+var file_EntityAuthorityChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityAuthorityChangeNotify.authority_change_list:type_name -> proto.AuthorityChange
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityAuthorityChangeNotify_proto_init() }
+func file_EntityAuthorityChangeNotify_proto_init() {
+ if File_EntityAuthorityChangeNotify_proto != nil {
+ return
+ }
+ file_AuthorityChange_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityAuthorityChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityAuthorityChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityAuthorityChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityAuthorityChangeNotify_proto_goTypes,
+ DependencyIndexes: file_EntityAuthorityChangeNotify_proto_depIdxs,
+ MessageInfos: file_EntityAuthorityChangeNotify_proto_msgTypes,
+ }.Build()
+ File_EntityAuthorityChangeNotify_proto = out.File
+ file_EntityAuthorityChangeNotify_proto_rawDesc = nil
+ file_EntityAuthorityChangeNotify_proto_goTypes = nil
+ file_EntityAuthorityChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityAuthorityInfo.pb.go b/protocol/proto/EntityAuthorityInfo.pb.go
new file mode 100644
index 00000000..f597418c
--- /dev/null
+++ b/protocol/proto/EntityAuthorityInfo.pb.go
@@ -0,0 +1,250 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityAuthorityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityAuthorityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,1,opt,name=ability_info,json=abilityInfo,proto3" json:"ability_info,omitempty"`
+ RendererChangedInfo *EntityRendererChangedInfo `protobuf:"bytes,2,opt,name=renderer_changed_info,json=rendererChangedInfo,proto3" json:"renderer_changed_info,omitempty"`
+ AiInfo *SceneEntityAiInfo `protobuf:"bytes,3,opt,name=ai_info,json=aiInfo,proto3" json:"ai_info,omitempty"`
+ BornPos *Vector `protobuf:"bytes,4,opt,name=born_pos,json=bornPos,proto3" json:"born_pos,omitempty"`
+ PoseParaList []*AnimatorParameterValueInfoPair `protobuf:"bytes,5,rep,name=pose_para_list,json=poseParaList,proto3" json:"pose_para_list,omitempty"`
+ ClientExtraInfo *EntityClientExtraInfo `protobuf:"bytes,6,opt,name=client_extra_info,json=clientExtraInfo,proto3" json:"client_extra_info,omitempty"`
+}
+
+func (x *EntityAuthorityInfo) Reset() {
+ *x = EntityAuthorityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityAuthorityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityAuthorityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityAuthorityInfo) ProtoMessage() {}
+
+func (x *EntityAuthorityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityAuthorityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityAuthorityInfo.ProtoReflect.Descriptor instead.
+func (*EntityAuthorityInfo) Descriptor() ([]byte, []int) {
+ return file_EntityAuthorityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityAuthorityInfo) GetAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.AbilityInfo
+ }
+ return nil
+}
+
+func (x *EntityAuthorityInfo) GetRendererChangedInfo() *EntityRendererChangedInfo {
+ if x != nil {
+ return x.RendererChangedInfo
+ }
+ return nil
+}
+
+func (x *EntityAuthorityInfo) GetAiInfo() *SceneEntityAiInfo {
+ if x != nil {
+ return x.AiInfo
+ }
+ return nil
+}
+
+func (x *EntityAuthorityInfo) GetBornPos() *Vector {
+ if x != nil {
+ return x.BornPos
+ }
+ return nil
+}
+
+func (x *EntityAuthorityInfo) GetPoseParaList() []*AnimatorParameterValueInfoPair {
+ if x != nil {
+ return x.PoseParaList
+ }
+ return nil
+}
+
+func (x *EntityAuthorityInfo) GetClientExtraInfo() *EntityClientExtraInfo {
+ if x != nil {
+ return x.ClientExtraInfo
+ }
+ return nil
+}
+
+var File_EntityAuthorityInfo_proto protoreflect.FileDescriptor
+
+var file_EntityAuthorityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24,
+ 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
+ 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65,
+ 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x17, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41,
+ 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x03, 0x0a, 0x13, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x3e, 0x0a, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x54, 0x0a, 0x15, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x13, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x69, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x69, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x06, 0x61, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x08, 0x62, 0x6f,
+ 0x72, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x62, 0x6f, 0x72,
+ 0x6e, 0x50, 0x6f, 0x73, 0x12, 0x4b, 0x0a, 0x0e, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x72,
+ 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50,
+ 0x61, 0x69, 0x72, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x65, 0x50, 0x61, 0x72, 0x61, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x72,
+ 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityAuthorityInfo_proto_rawDescOnce sync.Once
+ file_EntityAuthorityInfo_proto_rawDescData = file_EntityAuthorityInfo_proto_rawDesc
+)
+
+func file_EntityAuthorityInfo_proto_rawDescGZIP() []byte {
+ file_EntityAuthorityInfo_proto_rawDescOnce.Do(func() {
+ file_EntityAuthorityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityAuthorityInfo_proto_rawDescData)
+ })
+ return file_EntityAuthorityInfo_proto_rawDescData
+}
+
+var file_EntityAuthorityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityAuthorityInfo_proto_goTypes = []interface{}{
+ (*EntityAuthorityInfo)(nil), // 0: proto.EntityAuthorityInfo
+ (*AbilitySyncStateInfo)(nil), // 1: proto.AbilitySyncStateInfo
+ (*EntityRendererChangedInfo)(nil), // 2: proto.EntityRendererChangedInfo
+ (*SceneEntityAiInfo)(nil), // 3: proto.SceneEntityAiInfo
+ (*Vector)(nil), // 4: proto.Vector
+ (*AnimatorParameterValueInfoPair)(nil), // 5: proto.AnimatorParameterValueInfoPair
+ (*EntityClientExtraInfo)(nil), // 6: proto.EntityClientExtraInfo
+}
+var file_EntityAuthorityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityAuthorityInfo.ability_info:type_name -> proto.AbilitySyncStateInfo
+ 2, // 1: proto.EntityAuthorityInfo.renderer_changed_info:type_name -> proto.EntityRendererChangedInfo
+ 3, // 2: proto.EntityAuthorityInfo.ai_info:type_name -> proto.SceneEntityAiInfo
+ 4, // 3: proto.EntityAuthorityInfo.born_pos:type_name -> proto.Vector
+ 5, // 4: proto.EntityAuthorityInfo.pose_para_list:type_name -> proto.AnimatorParameterValueInfoPair
+ 6, // 5: proto.EntityAuthorityInfo.client_extra_info:type_name -> proto.EntityClientExtraInfo
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_EntityAuthorityInfo_proto_init() }
+func file_EntityAuthorityInfo_proto_init() {
+ if File_EntityAuthorityInfo_proto != nil {
+ return
+ }
+ file_AbilitySyncStateInfo_proto_init()
+ file_AnimatorParameterValueInfoPair_proto_init()
+ file_EntityClientExtraInfo_proto_init()
+ file_EntityRendererChangedInfo_proto_init()
+ file_SceneEntityAiInfo_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityAuthorityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityAuthorityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityAuthorityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityAuthorityInfo_proto_goTypes,
+ DependencyIndexes: file_EntityAuthorityInfo_proto_depIdxs,
+ MessageInfos: file_EntityAuthorityInfo_proto_msgTypes,
+ }.Build()
+ File_EntityAuthorityInfo_proto = out.File
+ file_EntityAuthorityInfo_proto_rawDesc = nil
+ file_EntityAuthorityInfo_proto_goTypes = nil
+ file_EntityAuthorityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityClientData.pb.go b/protocol/proto/EntityClientData.pb.go
new file mode 100644
index 00000000..2da0acf4
--- /dev/null
+++ b/protocol/proto/EntityClientData.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityClientData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityClientData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WindChangeSceneTime uint32 `protobuf:"varint,1,opt,name=wind_change_scene_time,json=windChangeSceneTime,proto3" json:"wind_change_scene_time,omitempty"`
+ WindmillSyncAngle float32 `protobuf:"fixed32,2,opt,name=windmill_sync_angle,json=windmillSyncAngle,proto3" json:"windmill_sync_angle,omitempty"`
+ WindChangeTargetLevel int32 `protobuf:"varint,3,opt,name=wind_change_target_level,json=windChangeTargetLevel,proto3" json:"wind_change_target_level,omitempty"`
+}
+
+func (x *EntityClientData) Reset() {
+ *x = EntityClientData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityClientData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityClientData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityClientData) ProtoMessage() {}
+
+func (x *EntityClientData) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityClientData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityClientData.ProtoReflect.Descriptor instead.
+func (*EntityClientData) Descriptor() ([]byte, []int) {
+ return file_EntityClientData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityClientData) GetWindChangeSceneTime() uint32 {
+ if x != nil {
+ return x.WindChangeSceneTime
+ }
+ return 0
+}
+
+func (x *EntityClientData) GetWindmillSyncAngle() float32 {
+ if x != nil {
+ return x.WindmillSyncAngle
+ }
+ return 0
+}
+
+func (x *EntityClientData) GetWindChangeTargetLevel() int32 {
+ if x != nil {
+ return x.WindChangeTargetLevel
+ }
+ return 0
+}
+
+var File_EntityClientData_proto protoreflect.FileDescriptor
+
+var file_EntityClientData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb0, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x16, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x77, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x77, 0x69, 0x6e,
+ 0x64, 0x6d, 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x77, 0x69, 0x6e, 0x64, 0x6d, 0x69, 0x6c, 0x6c,
+ 0x53, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x77, 0x69, 0x6e,
+ 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x77, 0x69, 0x6e,
+ 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityClientData_proto_rawDescOnce sync.Once
+ file_EntityClientData_proto_rawDescData = file_EntityClientData_proto_rawDesc
+)
+
+func file_EntityClientData_proto_rawDescGZIP() []byte {
+ file_EntityClientData_proto_rawDescOnce.Do(func() {
+ file_EntityClientData_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityClientData_proto_rawDescData)
+ })
+ return file_EntityClientData_proto_rawDescData
+}
+
+var file_EntityClientData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityClientData_proto_goTypes = []interface{}{
+ (*EntityClientData)(nil), // 0: proto.EntityClientData
+}
+var file_EntityClientData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EntityClientData_proto_init() }
+func file_EntityClientData_proto_init() {
+ if File_EntityClientData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityClientData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityClientData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityClientData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityClientData_proto_goTypes,
+ DependencyIndexes: file_EntityClientData_proto_depIdxs,
+ MessageInfos: file_EntityClientData_proto_msgTypes,
+ }.Build()
+ File_EntityClientData_proto = out.File
+ file_EntityClientData_proto_rawDesc = nil
+ file_EntityClientData_proto_goTypes = nil
+ file_EntityClientData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityClientExtraInfo.pb.go b/protocol/proto/EntityClientExtraInfo.pb.go
new file mode 100644
index 00000000..5b60e531
--- /dev/null
+++ b/protocol/proto/EntityClientExtraInfo.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityClientExtraInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityClientExtraInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillAnchorPosition *Vector `protobuf:"bytes,1,opt,name=skill_anchor_position,json=skillAnchorPosition,proto3" json:"skill_anchor_position,omitempty"`
+}
+
+func (x *EntityClientExtraInfo) Reset() {
+ *x = EntityClientExtraInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityClientExtraInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityClientExtraInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityClientExtraInfo) ProtoMessage() {}
+
+func (x *EntityClientExtraInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityClientExtraInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityClientExtraInfo.ProtoReflect.Descriptor instead.
+func (*EntityClientExtraInfo) Descriptor() ([]byte, []int) {
+ return file_EntityClientExtraInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityClientExtraInfo) GetSkillAnchorPosition() *Vector {
+ if x != nil {
+ return x.SkillAnchorPosition
+ }
+ return nil
+}
+
+var File_EntityClientExtraInfo_proto protoreflect.FileDescriptor
+
+var file_EntityClientExtraInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x78,
+ 0x74, 0x72, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x15, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_EntityClientExtraInfo_proto_rawDescOnce sync.Once
+ file_EntityClientExtraInfo_proto_rawDescData = file_EntityClientExtraInfo_proto_rawDesc
+)
+
+func file_EntityClientExtraInfo_proto_rawDescGZIP() []byte {
+ file_EntityClientExtraInfo_proto_rawDescOnce.Do(func() {
+ file_EntityClientExtraInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityClientExtraInfo_proto_rawDescData)
+ })
+ return file_EntityClientExtraInfo_proto_rawDescData
+}
+
+var file_EntityClientExtraInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityClientExtraInfo_proto_goTypes = []interface{}{
+ (*EntityClientExtraInfo)(nil), // 0: proto.EntityClientExtraInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EntityClientExtraInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityClientExtraInfo.skill_anchor_position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityClientExtraInfo_proto_init() }
+func file_EntityClientExtraInfo_proto_init() {
+ if File_EntityClientExtraInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityClientExtraInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityClientExtraInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityClientExtraInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityClientExtraInfo_proto_goTypes,
+ DependencyIndexes: file_EntityClientExtraInfo_proto_depIdxs,
+ MessageInfos: file_EntityClientExtraInfo_proto_msgTypes,
+ }.Build()
+ File_EntityClientExtraInfo_proto = out.File
+ file_EntityClientExtraInfo_proto_rawDesc = nil
+ file_EntityClientExtraInfo_proto_goTypes = nil
+ file_EntityClientExtraInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityConfigHashEntry.pb.go b/protocol/proto/EntityConfigHashEntry.pb.go
new file mode 100644
index 00000000..7c4e7b17
--- /dev/null
+++ b/protocol/proto/EntityConfigHashEntry.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityConfigHashEntry.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityConfigHashEntry struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ JobId uint32 `protobuf:"varint,13,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
+ HashValue int32 `protobuf:"varint,6,opt,name=hash_value,json=hashValue,proto3" json:"hash_value,omitempty"`
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EntityConfigHashEntry) Reset() {
+ *x = EntityConfigHashEntry{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityConfigHashEntry_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityConfigHashEntry) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityConfigHashEntry) ProtoMessage() {}
+
+func (x *EntityConfigHashEntry) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityConfigHashEntry_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityConfigHashEntry.ProtoReflect.Descriptor instead.
+func (*EntityConfigHashEntry) Descriptor() ([]byte, []int) {
+ return file_EntityConfigHashEntry_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityConfigHashEntry) GetJobId() uint32 {
+ if x != nil {
+ return x.JobId
+ }
+ return 0
+}
+
+func (x *EntityConfigHashEntry) GetHashValue() int32 {
+ if x != nil {
+ return x.HashValue
+ }
+ return 0
+}
+
+func (x *EntityConfigHashEntry) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EntityConfigHashEntry_proto protoreflect.FileDescriptor
+
+var file_EntityConfigHashEntry_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61,
+ 0x73, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x15, 0x0a,
+ 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6a,
+ 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x68, 0x61, 0x73, 0x68, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityConfigHashEntry_proto_rawDescOnce sync.Once
+ file_EntityConfigHashEntry_proto_rawDescData = file_EntityConfigHashEntry_proto_rawDesc
+)
+
+func file_EntityConfigHashEntry_proto_rawDescGZIP() []byte {
+ file_EntityConfigHashEntry_proto_rawDescOnce.Do(func() {
+ file_EntityConfigHashEntry_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityConfigHashEntry_proto_rawDescData)
+ })
+ return file_EntityConfigHashEntry_proto_rawDescData
+}
+
+var file_EntityConfigHashEntry_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityConfigHashEntry_proto_goTypes = []interface{}{
+ (*EntityConfigHashEntry)(nil), // 0: proto.EntityConfigHashEntry
+}
+var file_EntityConfigHashEntry_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EntityConfigHashEntry_proto_init() }
+func file_EntityConfigHashEntry_proto_init() {
+ if File_EntityConfigHashEntry_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityConfigHashEntry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityConfigHashEntry); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityConfigHashEntry_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityConfigHashEntry_proto_goTypes,
+ DependencyIndexes: file_EntityConfigHashEntry_proto_depIdxs,
+ MessageInfos: file_EntityConfigHashEntry_proto_msgTypes,
+ }.Build()
+ File_EntityConfigHashEntry_proto = out.File
+ file_EntityConfigHashEntry_proto_rawDesc = nil
+ file_EntityConfigHashEntry_proto_goTypes = nil
+ file_EntityConfigHashEntry_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityConfigHashNotify.pb.go b/protocol/proto/EntityConfigHashNotify.pb.go
new file mode 100644
index 00000000..20d978c3
--- /dev/null
+++ b/protocol/proto/EntityConfigHashNotify.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityConfigHashNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3189
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EntityConfigHashNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityEntryList []*EntityConfigHashEntry `protobuf:"bytes,3,rep,name=ability_entry_list,json=abilityEntryList,proto3" json:"ability_entry_list,omitempty"`
+ AvatarEntryList []*EntityConfigHashEntry `protobuf:"bytes,15,rep,name=avatar_entry_list,json=avatarEntryList,proto3" json:"avatar_entry_list,omitempty"`
+ CombatEntryList []*EntityConfigHashEntry `protobuf:"bytes,8,rep,name=combat_entry_list,json=combatEntryList,proto3" json:"combat_entry_list,omitempty"`
+}
+
+func (x *EntityConfigHashNotify) Reset() {
+ *x = EntityConfigHashNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityConfigHashNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityConfigHashNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityConfigHashNotify) ProtoMessage() {}
+
+func (x *EntityConfigHashNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityConfigHashNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityConfigHashNotify.ProtoReflect.Descriptor instead.
+func (*EntityConfigHashNotify) Descriptor() ([]byte, []int) {
+ return file_EntityConfigHashNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityConfigHashNotify) GetAbilityEntryList() []*EntityConfigHashEntry {
+ if x != nil {
+ return x.AbilityEntryList
+ }
+ return nil
+}
+
+func (x *EntityConfigHashNotify) GetAvatarEntryList() []*EntityConfigHashEntry {
+ if x != nil {
+ return x.AvatarEntryList
+ }
+ return nil
+}
+
+func (x *EntityConfigHashNotify) GetCombatEntryList() []*EntityConfigHashEntry {
+ if x != nil {
+ return x.CombatEntryList
+ }
+ return nil
+}
+
+var File_EntityConfigHashNotify_proto protoreflect.FileDescriptor
+
+var file_EntityConfigHashNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61,
+ 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xf8, 0x01, 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x4a, 0x0a,
+ 0x12, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61,
+ 0x73, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x0f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x65, 0x6e,
+ 0x74, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x6f,
+ 0x6d, 0x62, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_EntityConfigHashNotify_proto_rawDescOnce sync.Once
+ file_EntityConfigHashNotify_proto_rawDescData = file_EntityConfigHashNotify_proto_rawDesc
+)
+
+func file_EntityConfigHashNotify_proto_rawDescGZIP() []byte {
+ file_EntityConfigHashNotify_proto_rawDescOnce.Do(func() {
+ file_EntityConfigHashNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityConfigHashNotify_proto_rawDescData)
+ })
+ return file_EntityConfigHashNotify_proto_rawDescData
+}
+
+var file_EntityConfigHashNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityConfigHashNotify_proto_goTypes = []interface{}{
+ (*EntityConfigHashNotify)(nil), // 0: proto.EntityConfigHashNotify
+ (*EntityConfigHashEntry)(nil), // 1: proto.EntityConfigHashEntry
+}
+var file_EntityConfigHashNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityConfigHashNotify.ability_entry_list:type_name -> proto.EntityConfigHashEntry
+ 1, // 1: proto.EntityConfigHashNotify.avatar_entry_list:type_name -> proto.EntityConfigHashEntry
+ 1, // 2: proto.EntityConfigHashNotify.combat_entry_list:type_name -> proto.EntityConfigHashEntry
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_EntityConfigHashNotify_proto_init() }
+func file_EntityConfigHashNotify_proto_init() {
+ if File_EntityConfigHashNotify_proto != nil {
+ return
+ }
+ file_EntityConfigHashEntry_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityConfigHashNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityConfigHashNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityConfigHashNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityConfigHashNotify_proto_goTypes,
+ DependencyIndexes: file_EntityConfigHashNotify_proto_depIdxs,
+ MessageInfos: file_EntityConfigHashNotify_proto_msgTypes,
+ }.Build()
+ File_EntityConfigHashNotify_proto = out.File
+ file_EntityConfigHashNotify_proto_rawDesc = nil
+ file_EntityConfigHashNotify_proto_goTypes = nil
+ file_EntityConfigHashNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityEnvironmentInfo.pb.go b/protocol/proto/EntityEnvironmentInfo.pb.go
new file mode 100644
index 00000000..eb4737e9
--- /dev/null
+++ b/protocol/proto/EntityEnvironmentInfo.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityEnvironmentInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityEnvironmentInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ JsonClimateType uint32 `protobuf:"varint,1,opt,name=json_climate_type,json=jsonClimateType,proto3" json:"json_climate_type,omitempty"`
+ ClimateAreaId uint32 `protobuf:"varint,2,opt,name=climate_area_id,json=climateAreaId,proto3" json:"climate_area_id,omitempty"`
+}
+
+func (x *EntityEnvironmentInfo) Reset() {
+ *x = EntityEnvironmentInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityEnvironmentInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityEnvironmentInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityEnvironmentInfo) ProtoMessage() {}
+
+func (x *EntityEnvironmentInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityEnvironmentInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityEnvironmentInfo.ProtoReflect.Descriptor instead.
+func (*EntityEnvironmentInfo) Descriptor() ([]byte, []int) {
+ return file_EntityEnvironmentInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityEnvironmentInfo) GetJsonClimateType() uint32 {
+ if x != nil {
+ return x.JsonClimateType
+ }
+ return 0
+}
+
+func (x *EntityEnvironmentInfo) GetClimateAreaId() uint32 {
+ if x != nil {
+ return x.ClimateAreaId
+ }
+ return 0
+}
+
+var File_EntityEnvironmentInfo_proto protoreflect.FileDescriptor
+
+var file_EntityEnvironmentInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d,
+ 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e,
+ 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a,
+ 0x11, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6a, 0x73, 0x6f, 0x6e, 0x43, 0x6c,
+ 0x69, 0x6d, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x69,
+ 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityEnvironmentInfo_proto_rawDescOnce sync.Once
+ file_EntityEnvironmentInfo_proto_rawDescData = file_EntityEnvironmentInfo_proto_rawDesc
+)
+
+func file_EntityEnvironmentInfo_proto_rawDescGZIP() []byte {
+ file_EntityEnvironmentInfo_proto_rawDescOnce.Do(func() {
+ file_EntityEnvironmentInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityEnvironmentInfo_proto_rawDescData)
+ })
+ return file_EntityEnvironmentInfo_proto_rawDescData
+}
+
+var file_EntityEnvironmentInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityEnvironmentInfo_proto_goTypes = []interface{}{
+ (*EntityEnvironmentInfo)(nil), // 0: proto.EntityEnvironmentInfo
+}
+var file_EntityEnvironmentInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EntityEnvironmentInfo_proto_init() }
+func file_EntityEnvironmentInfo_proto_init() {
+ if File_EntityEnvironmentInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityEnvironmentInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityEnvironmentInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityEnvironmentInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityEnvironmentInfo_proto_goTypes,
+ DependencyIndexes: file_EntityEnvironmentInfo_proto_depIdxs,
+ MessageInfos: file_EntityEnvironmentInfo_proto_msgTypes,
+ }.Build()
+ File_EntityEnvironmentInfo_proto = out.File
+ file_EntityEnvironmentInfo_proto_rawDesc = nil
+ file_EntityEnvironmentInfo_proto_goTypes = nil
+ file_EntityEnvironmentInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityFightPropChangeReasonNotify.pb.go b/protocol/proto/EntityFightPropChangeReasonNotify.pb.go
new file mode 100644
index 00000000..c3614e2b
--- /dev/null
+++ b/protocol/proto/EntityFightPropChangeReasonNotify.pb.go
@@ -0,0 +1,243 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityFightPropChangeReasonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1203
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EntityFightPropChangeReasonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParamList []uint32 `protobuf:"varint,10,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ PropDelta float32 `protobuf:"fixed32,1,opt,name=prop_delta,json=propDelta,proto3" json:"prop_delta,omitempty"`
+ ChangeHpReason ChangeHpReason `protobuf:"varint,14,opt,name=change_hp_reason,json=changeHpReason,proto3,enum=proto.ChangeHpReason" json:"change_hp_reason,omitempty"`
+ Reason PropChangeReason `protobuf:"varint,6,opt,name=reason,proto3,enum=proto.PropChangeReason" json:"reason,omitempty"`
+ EntityId uint32 `protobuf:"varint,5,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ChangeEnergyReson ChangeEnergyReason `protobuf:"varint,15,opt,name=change_energy_reson,json=changeEnergyReson,proto3,enum=proto.ChangeEnergyReason" json:"change_energy_reson,omitempty"`
+ PropType uint32 `protobuf:"varint,13,opt,name=prop_type,json=propType,proto3" json:"prop_type,omitempty"`
+}
+
+func (x *EntityFightPropChangeReasonNotify) Reset() {
+ *x = EntityFightPropChangeReasonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityFightPropChangeReasonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityFightPropChangeReasonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityFightPropChangeReasonNotify) ProtoMessage() {}
+
+func (x *EntityFightPropChangeReasonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityFightPropChangeReasonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityFightPropChangeReasonNotify.ProtoReflect.Descriptor instead.
+func (*EntityFightPropChangeReasonNotify) Descriptor() ([]byte, []int) {
+ return file_EntityFightPropChangeReasonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityFightPropChangeReasonNotify) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *EntityFightPropChangeReasonNotify) GetPropDelta() float32 {
+ if x != nil {
+ return x.PropDelta
+ }
+ return 0
+}
+
+func (x *EntityFightPropChangeReasonNotify) GetChangeHpReason() ChangeHpReason {
+ if x != nil {
+ return x.ChangeHpReason
+ }
+ return ChangeHpReason_CHANGE_HP_REASON_NONE
+}
+
+func (x *EntityFightPropChangeReasonNotify) GetReason() PropChangeReason {
+ if x != nil {
+ return x.Reason
+ }
+ return PropChangeReason_PROP_CHANGE_REASON_NONE
+}
+
+func (x *EntityFightPropChangeReasonNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EntityFightPropChangeReasonNotify) GetChangeEnergyReson() ChangeEnergyReason {
+ if x != nil {
+ return x.ChangeEnergyReson
+ }
+ return ChangeEnergyReason_CHANGE_ENERGY_REASON_NONE
+}
+
+func (x *EntityFightPropChangeReasonNotify) GetPropType() uint32 {
+ if x != nil {
+ return x.PropType
+ }
+ return 0
+}
+
+var File_EntityFightPropChangeReasonNotify_proto protoreflect.FileDescriptor
+
+var file_EntityFightPropChangeReasonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f,
+ 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x48, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x02, 0x0a, 0x21, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x10,
+ 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x68, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0e, 0x63,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2f, 0x0a,
+ 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x13, 0x63,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x72, 0x65, 0x73,
+ 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67,
+ 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x54,
+ 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityFightPropChangeReasonNotify_proto_rawDescOnce sync.Once
+ file_EntityFightPropChangeReasonNotify_proto_rawDescData = file_EntityFightPropChangeReasonNotify_proto_rawDesc
+)
+
+func file_EntityFightPropChangeReasonNotify_proto_rawDescGZIP() []byte {
+ file_EntityFightPropChangeReasonNotify_proto_rawDescOnce.Do(func() {
+ file_EntityFightPropChangeReasonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityFightPropChangeReasonNotify_proto_rawDescData)
+ })
+ return file_EntityFightPropChangeReasonNotify_proto_rawDescData
+}
+
+var file_EntityFightPropChangeReasonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityFightPropChangeReasonNotify_proto_goTypes = []interface{}{
+ (*EntityFightPropChangeReasonNotify)(nil), // 0: proto.EntityFightPropChangeReasonNotify
+ (ChangeHpReason)(0), // 1: proto.ChangeHpReason
+ (PropChangeReason)(0), // 2: proto.PropChangeReason
+ (ChangeEnergyReason)(0), // 3: proto.ChangeEnergyReason
+}
+var file_EntityFightPropChangeReasonNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityFightPropChangeReasonNotify.change_hp_reason:type_name -> proto.ChangeHpReason
+ 2, // 1: proto.EntityFightPropChangeReasonNotify.reason:type_name -> proto.PropChangeReason
+ 3, // 2: proto.EntityFightPropChangeReasonNotify.change_energy_reson:type_name -> proto.ChangeEnergyReason
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_EntityFightPropChangeReasonNotify_proto_init() }
+func file_EntityFightPropChangeReasonNotify_proto_init() {
+ if File_EntityFightPropChangeReasonNotify_proto != nil {
+ return
+ }
+ file_ChangeEnergyReason_proto_init()
+ file_ChangeHpReason_proto_init()
+ file_PropChangeReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityFightPropChangeReasonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityFightPropChangeReasonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityFightPropChangeReasonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityFightPropChangeReasonNotify_proto_goTypes,
+ DependencyIndexes: file_EntityFightPropChangeReasonNotify_proto_depIdxs,
+ MessageInfos: file_EntityFightPropChangeReasonNotify_proto_msgTypes,
+ }.Build()
+ File_EntityFightPropChangeReasonNotify_proto = out.File
+ file_EntityFightPropChangeReasonNotify_proto_rawDesc = nil
+ file_EntityFightPropChangeReasonNotify_proto_goTypes = nil
+ file_EntityFightPropChangeReasonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityFightPropNotify.pb.go b/protocol/proto/EntityFightPropNotify.pb.go
new file mode 100644
index 00000000..d548141f
--- /dev/null
+++ b/protocol/proto/EntityFightPropNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityFightPropNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1212
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EntityFightPropNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ FightPropMap map[uint32]float32 `protobuf:"bytes,8,rep,name=fight_prop_map,json=fightPropMap,proto3" json:"fight_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+}
+
+func (x *EntityFightPropNotify) Reset() {
+ *x = EntityFightPropNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityFightPropNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityFightPropNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityFightPropNotify) ProtoMessage() {}
+
+func (x *EntityFightPropNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityFightPropNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityFightPropNotify.ProtoReflect.Descriptor instead.
+func (*EntityFightPropNotify) Descriptor() ([]byte, []int) {
+ return file_EntityFightPropNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityFightPropNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EntityFightPropNotify) GetFightPropMap() map[uint32]float32 {
+ if x != nil {
+ return x.FightPropMap
+ }
+ return nil
+}
+
+var File_EntityFightPropNotify_proto protoreflect.FileDescriptor
+
+var file_EntityFightPropNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f,
+ 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46,
+ 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0e, 0x66,
+ 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61,
+ 0x70, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityFightPropNotify_proto_rawDescOnce sync.Once
+ file_EntityFightPropNotify_proto_rawDescData = file_EntityFightPropNotify_proto_rawDesc
+)
+
+func file_EntityFightPropNotify_proto_rawDescGZIP() []byte {
+ file_EntityFightPropNotify_proto_rawDescOnce.Do(func() {
+ file_EntityFightPropNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityFightPropNotify_proto_rawDescData)
+ })
+ return file_EntityFightPropNotify_proto_rawDescData
+}
+
+var file_EntityFightPropNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_EntityFightPropNotify_proto_goTypes = []interface{}{
+ (*EntityFightPropNotify)(nil), // 0: proto.EntityFightPropNotify
+ nil, // 1: proto.EntityFightPropNotify.FightPropMapEntry
+}
+var file_EntityFightPropNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityFightPropNotify.fight_prop_map:type_name -> proto.EntityFightPropNotify.FightPropMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityFightPropNotify_proto_init() }
+func file_EntityFightPropNotify_proto_init() {
+ if File_EntityFightPropNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityFightPropNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityFightPropNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityFightPropNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityFightPropNotify_proto_goTypes,
+ DependencyIndexes: file_EntityFightPropNotify_proto_depIdxs,
+ MessageInfos: file_EntityFightPropNotify_proto_msgTypes,
+ }.Build()
+ File_EntityFightPropNotify_proto = out.File
+ file_EntityFightPropNotify_proto_rawDesc = nil
+ file_EntityFightPropNotify_proto_goTypes = nil
+ file_EntityFightPropNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityFightPropUpdateNotify.pb.go b/protocol/proto/EntityFightPropUpdateNotify.pb.go
new file mode 100644
index 00000000..c0a4a34e
--- /dev/null
+++ b/protocol/proto/EntityFightPropUpdateNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityFightPropUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1235
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EntityFightPropUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FightPropMap map[uint32]float32 `protobuf:"bytes,15,rep,name=fight_prop_map,json=fightPropMap,proto3" json:"fight_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ EntityId uint32 `protobuf:"varint,13,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EntityFightPropUpdateNotify) Reset() {
+ *x = EntityFightPropUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityFightPropUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityFightPropUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityFightPropUpdateNotify) ProtoMessage() {}
+
+func (x *EntityFightPropUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityFightPropUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityFightPropUpdateNotify.ProtoReflect.Descriptor instead.
+func (*EntityFightPropUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_EntityFightPropUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityFightPropUpdateNotify) GetFightPropMap() map[uint32]float32 {
+ if x != nil {
+ return x.FightPropMap
+ }
+ return nil
+}
+
+func (x *EntityFightPropUpdateNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EntityFightPropUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_EntityFightPropUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f,
+ 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x01, 0x0a, 0x1b, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x5a, 0x0a, 0x0e, 0x66, 0x69,
+ 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, 0x50,
+ 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityFightPropUpdateNotify_proto_rawDescOnce sync.Once
+ file_EntityFightPropUpdateNotify_proto_rawDescData = file_EntityFightPropUpdateNotify_proto_rawDesc
+)
+
+func file_EntityFightPropUpdateNotify_proto_rawDescGZIP() []byte {
+ file_EntityFightPropUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_EntityFightPropUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityFightPropUpdateNotify_proto_rawDescData)
+ })
+ return file_EntityFightPropUpdateNotify_proto_rawDescData
+}
+
+var file_EntityFightPropUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_EntityFightPropUpdateNotify_proto_goTypes = []interface{}{
+ (*EntityFightPropUpdateNotify)(nil), // 0: proto.EntityFightPropUpdateNotify
+ nil, // 1: proto.EntityFightPropUpdateNotify.FightPropMapEntry
+}
+var file_EntityFightPropUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityFightPropUpdateNotify.fight_prop_map:type_name -> proto.EntityFightPropUpdateNotify.FightPropMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityFightPropUpdateNotify_proto_init() }
+func file_EntityFightPropUpdateNotify_proto_init() {
+ if File_EntityFightPropUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityFightPropUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityFightPropUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityFightPropUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityFightPropUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_EntityFightPropUpdateNotify_proto_depIdxs,
+ MessageInfos: file_EntityFightPropUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_EntityFightPropUpdateNotify_proto = out.File
+ file_EntityFightPropUpdateNotify_proto_rawDesc = nil
+ file_EntityFightPropUpdateNotify_proto_goTypes = nil
+ file_EntityFightPropUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityForceSyncReq.pb.go b/protocol/proto/EntityForceSyncReq.pb.go
new file mode 100644
index 00000000..41d42aec
--- /dev/null
+++ b/protocol/proto/EntityForceSyncReq.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityForceSyncReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 274
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EntityForceSyncReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,1,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ MotionInfo *MotionInfo `protobuf:"bytes,11,opt,name=motion_info,json=motionInfo,proto3" json:"motion_info,omitempty"`
+ EntityId uint32 `protobuf:"varint,13,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ SceneTime uint32 `protobuf:"varint,12,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+}
+
+func (x *EntityForceSyncReq) Reset() {
+ *x = EntityForceSyncReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityForceSyncReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityForceSyncReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityForceSyncReq) ProtoMessage() {}
+
+func (x *EntityForceSyncReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityForceSyncReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityForceSyncReq.ProtoReflect.Descriptor instead.
+func (*EntityForceSyncReq) Descriptor() ([]byte, []int) {
+ return file_EntityForceSyncReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityForceSyncReq) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *EntityForceSyncReq) GetMotionInfo() *MotionInfo {
+ if x != nil {
+ return x.MotionInfo
+ }
+ return nil
+}
+
+func (x *EntityForceSyncReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EntityForceSyncReq) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+var File_EntityForceSyncReq_proto protoreflect.FileDescriptor
+
+var file_EntityForceSyncReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x79, 0x6e,
+ 0x63, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x6f,
+ 0x72, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f,
+ 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f,
+ 0x6d, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x6f, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityForceSyncReq_proto_rawDescOnce sync.Once
+ file_EntityForceSyncReq_proto_rawDescData = file_EntityForceSyncReq_proto_rawDesc
+)
+
+func file_EntityForceSyncReq_proto_rawDescGZIP() []byte {
+ file_EntityForceSyncReq_proto_rawDescOnce.Do(func() {
+ file_EntityForceSyncReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityForceSyncReq_proto_rawDescData)
+ })
+ return file_EntityForceSyncReq_proto_rawDescData
+}
+
+var file_EntityForceSyncReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityForceSyncReq_proto_goTypes = []interface{}{
+ (*EntityForceSyncReq)(nil), // 0: proto.EntityForceSyncReq
+ (*MotionInfo)(nil), // 1: proto.MotionInfo
+}
+var file_EntityForceSyncReq_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityForceSyncReq.motion_info:type_name -> proto.MotionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityForceSyncReq_proto_init() }
+func file_EntityForceSyncReq_proto_init() {
+ if File_EntityForceSyncReq_proto != nil {
+ return
+ }
+ file_MotionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityForceSyncReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityForceSyncReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityForceSyncReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityForceSyncReq_proto_goTypes,
+ DependencyIndexes: file_EntityForceSyncReq_proto_depIdxs,
+ MessageInfos: file_EntityForceSyncReq_proto_msgTypes,
+ }.Build()
+ File_EntityForceSyncReq_proto = out.File
+ file_EntityForceSyncReq_proto_rawDesc = nil
+ file_EntityForceSyncReq_proto_goTypes = nil
+ file_EntityForceSyncReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityForceSyncRsp.pb.go b/protocol/proto/EntityForceSyncRsp.pb.go
new file mode 100644
index 00000000..2fed21d9
--- /dev/null
+++ b/protocol/proto/EntityForceSyncRsp.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityForceSyncRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 276
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EntityForceSyncRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneTime uint32 `protobuf:"varint,14,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ EntityId uint32 `protobuf:"varint,6,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ FailMotion *MotionInfo `protobuf:"bytes,8,opt,name=fail_motion,json=failMotion,proto3" json:"fail_motion,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *EntityForceSyncRsp) Reset() {
+ *x = EntityForceSyncRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityForceSyncRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityForceSyncRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityForceSyncRsp) ProtoMessage() {}
+
+func (x *EntityForceSyncRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityForceSyncRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityForceSyncRsp.ProtoReflect.Descriptor instead.
+func (*EntityForceSyncRsp) Descriptor() ([]byte, []int) {
+ return file_EntityForceSyncRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityForceSyncRsp) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *EntityForceSyncRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EntityForceSyncRsp) GetFailMotion() *MotionInfo {
+ if x != nil {
+ return x.FailMotion
+ }
+ return nil
+}
+
+func (x *EntityForceSyncRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_EntityForceSyncRsp_proto protoreflect.FileDescriptor
+
+var file_EntityForceSyncRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x79, 0x6e,
+ 0x63, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x46, 0x6f,
+ 0x72, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6d,
+ 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a,
+ 0x66, 0x61, 0x69, 0x6c, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityForceSyncRsp_proto_rawDescOnce sync.Once
+ file_EntityForceSyncRsp_proto_rawDescData = file_EntityForceSyncRsp_proto_rawDesc
+)
+
+func file_EntityForceSyncRsp_proto_rawDescGZIP() []byte {
+ file_EntityForceSyncRsp_proto_rawDescOnce.Do(func() {
+ file_EntityForceSyncRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityForceSyncRsp_proto_rawDescData)
+ })
+ return file_EntityForceSyncRsp_proto_rawDescData
+}
+
+var file_EntityForceSyncRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityForceSyncRsp_proto_goTypes = []interface{}{
+ (*EntityForceSyncRsp)(nil), // 0: proto.EntityForceSyncRsp
+ (*MotionInfo)(nil), // 1: proto.MotionInfo
+}
+var file_EntityForceSyncRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityForceSyncRsp.fail_motion:type_name -> proto.MotionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityForceSyncRsp_proto_init() }
+func file_EntityForceSyncRsp_proto_init() {
+ if File_EntityForceSyncRsp_proto != nil {
+ return
+ }
+ file_MotionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityForceSyncRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityForceSyncRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityForceSyncRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityForceSyncRsp_proto_goTypes,
+ DependencyIndexes: file_EntityForceSyncRsp_proto_depIdxs,
+ MessageInfos: file_EntityForceSyncRsp_proto_msgTypes,
+ }.Build()
+ File_EntityForceSyncRsp_proto = out.File
+ file_EntityForceSyncRsp_proto_rawDesc = nil
+ file_EntityForceSyncRsp_proto_goTypes = nil
+ file_EntityForceSyncRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityJumpNotify.pb.go b/protocol/proto/EntityJumpNotify.pb.go
new file mode 100644
index 00000000..04d50506
--- /dev/null
+++ b/protocol/proto/EntityJumpNotify.pb.go
@@ -0,0 +1,255 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityJumpNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityJumpNotify_Type int32
+
+const (
+ EntityJumpNotify_TYPE_NULL EntityJumpNotify_Type = 0
+ EntityJumpNotify_TYPE_ACTIVE EntityJumpNotify_Type = 1
+ EntityJumpNotify_TYPE_PASSIVE EntityJumpNotify_Type = 2
+)
+
+// Enum value maps for EntityJumpNotify_Type.
+var (
+ EntityJumpNotify_Type_name = map[int32]string{
+ 0: "TYPE_NULL",
+ 1: "TYPE_ACTIVE",
+ 2: "TYPE_PASSIVE",
+ }
+ EntityJumpNotify_Type_value = map[string]int32{
+ "TYPE_NULL": 0,
+ "TYPE_ACTIVE": 1,
+ "TYPE_PASSIVE": 2,
+ }
+)
+
+func (x EntityJumpNotify_Type) Enum() *EntityJumpNotify_Type {
+ p := new(EntityJumpNotify_Type)
+ *p = x
+ return p
+}
+
+func (x EntityJumpNotify_Type) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EntityJumpNotify_Type) Descriptor() protoreflect.EnumDescriptor {
+ return file_EntityJumpNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (EntityJumpNotify_Type) Type() protoreflect.EnumType {
+ return &file_EntityJumpNotify_proto_enumTypes[0]
+}
+
+func (x EntityJumpNotify_Type) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EntityJumpNotify_Type.Descriptor instead.
+func (EntityJumpNotify_Type) EnumDescriptor() ([]byte, []int) {
+ return file_EntityJumpNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 222
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EntityJumpNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ JumpType EntityJumpNotify_Type `protobuf:"varint,9,opt,name=jump_type,json=jumpType,proto3,enum=proto.EntityJumpNotify_Type" json:"jump_type,omitempty"`
+ Rot *Vector `protobuf:"bytes,8,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,12,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EntityJumpNotify) Reset() {
+ *x = EntityJumpNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityJumpNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityJumpNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityJumpNotify) ProtoMessage() {}
+
+func (x *EntityJumpNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityJumpNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityJumpNotify.ProtoReflect.Descriptor instead.
+func (*EntityJumpNotify) Descriptor() ([]byte, []int) {
+ return file_EntityJumpNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityJumpNotify) GetJumpType() EntityJumpNotify_Type {
+ if x != nil {
+ return x.JumpType
+ }
+ return EntityJumpNotify_TYPE_NULL
+}
+
+func (x *EntityJumpNotify) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *EntityJumpNotify) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *EntityJumpNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EntityJumpNotify_proto protoreflect.FileDescriptor
+
+var file_EntityJumpNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4a, 0x75, 0x6d, 0x70, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01,
+ 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4a, 0x75, 0x6d, 0x70, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x39, 0x0a, 0x09, 0x6a, 0x75, 0x6d, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x4a, 0x75, 0x6d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x08, 0x6a, 0x75, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a,
+ 0x03, 0x72, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x12, 0x1f,
+ 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12,
+ 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x04,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4c,
+ 0x4c, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49,
+ 0x56, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x53,
+ 0x53, 0x49, 0x56, 0x45, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityJumpNotify_proto_rawDescOnce sync.Once
+ file_EntityJumpNotify_proto_rawDescData = file_EntityJumpNotify_proto_rawDesc
+)
+
+func file_EntityJumpNotify_proto_rawDescGZIP() []byte {
+ file_EntityJumpNotify_proto_rawDescOnce.Do(func() {
+ file_EntityJumpNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityJumpNotify_proto_rawDescData)
+ })
+ return file_EntityJumpNotify_proto_rawDescData
+}
+
+var file_EntityJumpNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_EntityJumpNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityJumpNotify_proto_goTypes = []interface{}{
+ (EntityJumpNotify_Type)(0), // 0: proto.EntityJumpNotify.Type
+ (*EntityJumpNotify)(nil), // 1: proto.EntityJumpNotify
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_EntityJumpNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.EntityJumpNotify.jump_type:type_name -> proto.EntityJumpNotify.Type
+ 2, // 1: proto.EntityJumpNotify.rot:type_name -> proto.Vector
+ 2, // 2: proto.EntityJumpNotify.pos:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_EntityJumpNotify_proto_init() }
+func file_EntityJumpNotify_proto_init() {
+ if File_EntityJumpNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityJumpNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityJumpNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityJumpNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityJumpNotify_proto_goTypes,
+ DependencyIndexes: file_EntityJumpNotify_proto_depIdxs,
+ EnumInfos: file_EntityJumpNotify_proto_enumTypes,
+ MessageInfos: file_EntityJumpNotify_proto_msgTypes,
+ }.Build()
+ File_EntityJumpNotify_proto = out.File
+ file_EntityJumpNotify_proto_rawDesc = nil
+ file_EntityJumpNotify_proto_goTypes = nil
+ file_EntityJumpNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityMoveFailInfo.pb.go b/protocol/proto/EntityMoveFailInfo.pb.go
new file mode 100644
index 00000000..48bc53b8
--- /dev/null
+++ b/protocol/proto/EntityMoveFailInfo.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityMoveFailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityMoveFailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SceneTime uint32 `protobuf:"varint,9,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ FailMotion *MotionInfo `protobuf:"bytes,14,opt,name=fail_motion,json=failMotion,proto3" json:"fail_motion,omitempty"`
+ ReliableSeq uint32 `protobuf:"varint,4,opt,name=reliable_seq,json=reliableSeq,proto3" json:"reliable_seq,omitempty"`
+ EntityId uint32 `protobuf:"varint,10,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EntityMoveFailInfo) Reset() {
+ *x = EntityMoveFailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityMoveFailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityMoveFailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityMoveFailInfo) ProtoMessage() {}
+
+func (x *EntityMoveFailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityMoveFailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityMoveFailInfo.ProtoReflect.Descriptor instead.
+func (*EntityMoveFailInfo) Descriptor() ([]byte, []int) {
+ return file_EntityMoveFailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityMoveFailInfo) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EntityMoveFailInfo) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *EntityMoveFailInfo) GetFailMotion() *MotionInfo {
+ if x != nil {
+ return x.FailMotion
+ }
+ return nil
+}
+
+func (x *EntityMoveFailInfo) GetReliableSeq() uint32 {
+ if x != nil {
+ return x.ReliableSeq
+ }
+ return 0
+}
+
+func (x *EntityMoveFailInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EntityMoveFailInfo_proto protoreflect.FileDescriptor
+
+var file_EntityMoveFailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x12, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f,
+ 0x76, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x6f, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x66, 0x61, 0x69,
+ 0x6c, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x69, 0x61,
+ 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
+ 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityMoveFailInfo_proto_rawDescOnce sync.Once
+ file_EntityMoveFailInfo_proto_rawDescData = file_EntityMoveFailInfo_proto_rawDesc
+)
+
+func file_EntityMoveFailInfo_proto_rawDescGZIP() []byte {
+ file_EntityMoveFailInfo_proto_rawDescOnce.Do(func() {
+ file_EntityMoveFailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityMoveFailInfo_proto_rawDescData)
+ })
+ return file_EntityMoveFailInfo_proto_rawDescData
+}
+
+var file_EntityMoveFailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityMoveFailInfo_proto_goTypes = []interface{}{
+ (*EntityMoveFailInfo)(nil), // 0: proto.EntityMoveFailInfo
+ (*MotionInfo)(nil), // 1: proto.MotionInfo
+}
+var file_EntityMoveFailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityMoveFailInfo.fail_motion:type_name -> proto.MotionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityMoveFailInfo_proto_init() }
+func file_EntityMoveFailInfo_proto_init() {
+ if File_EntityMoveFailInfo_proto != nil {
+ return
+ }
+ file_MotionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityMoveFailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityMoveFailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityMoveFailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityMoveFailInfo_proto_goTypes,
+ DependencyIndexes: file_EntityMoveFailInfo_proto_depIdxs,
+ MessageInfos: file_EntityMoveFailInfo_proto_msgTypes,
+ }.Build()
+ File_EntityMoveFailInfo_proto = out.File
+ file_EntityMoveFailInfo_proto_rawDesc = nil
+ file_EntityMoveFailInfo_proto_goTypes = nil
+ file_EntityMoveFailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityMoveInfo.pb.go b/protocol/proto/EntityMoveInfo.pb.go
new file mode 100644
index 00000000..0edc8b9e
--- /dev/null
+++ b/protocol/proto/EntityMoveInfo.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityMoveInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityMoveInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ MotionInfo *MotionInfo `protobuf:"bytes,2,opt,name=motion_info,json=motionInfo,proto3" json:"motion_info,omitempty"`
+ SceneTime uint32 `protobuf:"varint,3,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ ReliableSeq uint32 `protobuf:"varint,4,opt,name=reliable_seq,json=reliableSeq,proto3" json:"reliable_seq,omitempty"`
+ IsReliable bool `protobuf:"varint,5,opt,name=is_reliable,json=isReliable,proto3" json:"is_reliable,omitempty"`
+}
+
+func (x *EntityMoveInfo) Reset() {
+ *x = EntityMoveInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityMoveInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityMoveInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityMoveInfo) ProtoMessage() {}
+
+func (x *EntityMoveInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityMoveInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityMoveInfo.ProtoReflect.Descriptor instead.
+func (*EntityMoveInfo) Descriptor() ([]byte, []int) {
+ return file_EntityMoveInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityMoveInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EntityMoveInfo) GetMotionInfo() *MotionInfo {
+ if x != nil {
+ return x.MotionInfo
+ }
+ return nil
+}
+
+func (x *EntityMoveInfo) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *EntityMoveInfo) GetReliableSeq() uint32 {
+ if x != nil {
+ return x.ReliableSeq
+ }
+ return 0
+}
+
+func (x *EntityMoveInfo) GetIsReliable() bool {
+ if x != nil {
+ return x.IsReliable
+ }
+ return false
+}
+
+var File_EntityMoveInfo_proto protoreflect.FileDescriptor
+
+var file_EntityMoveInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x4d,
+ 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xc4, 0x01, 0x0a, 0x0e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12,
+ 0x32, 0x0a, 0x0b, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73,
+ 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62,
+ 0x6c, 0x65, 0x53, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x6c, 0x69,
+ 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65,
+ 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityMoveInfo_proto_rawDescOnce sync.Once
+ file_EntityMoveInfo_proto_rawDescData = file_EntityMoveInfo_proto_rawDesc
+)
+
+func file_EntityMoveInfo_proto_rawDescGZIP() []byte {
+ file_EntityMoveInfo_proto_rawDescOnce.Do(func() {
+ file_EntityMoveInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityMoveInfo_proto_rawDescData)
+ })
+ return file_EntityMoveInfo_proto_rawDescData
+}
+
+var file_EntityMoveInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityMoveInfo_proto_goTypes = []interface{}{
+ (*EntityMoveInfo)(nil), // 0: proto.EntityMoveInfo
+ (*MotionInfo)(nil), // 1: proto.MotionInfo
+}
+var file_EntityMoveInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityMoveInfo.motion_info:type_name -> proto.MotionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityMoveInfo_proto_init() }
+func file_EntityMoveInfo_proto_init() {
+ if File_EntityMoveInfo_proto != nil {
+ return
+ }
+ file_MotionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityMoveInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityMoveInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityMoveInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityMoveInfo_proto_goTypes,
+ DependencyIndexes: file_EntityMoveInfo_proto_depIdxs,
+ MessageInfos: file_EntityMoveInfo_proto_msgTypes,
+ }.Build()
+ File_EntityMoveInfo_proto = out.File
+ file_EntityMoveInfo_proto_rawDesc = nil
+ file_EntityMoveInfo_proto_goTypes = nil
+ file_EntityMoveInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityMoveRoomNotify.pb.go b/protocol/proto/EntityMoveRoomNotify.pb.go
new file mode 100644
index 00000000..e47425dc
--- /dev/null
+++ b/protocol/proto/EntityMoveRoomNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityMoveRoomNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3178
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EntityMoveRoomNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ DestRoomId uint32 `protobuf:"varint,9,opt,name=dest_room_id,json=destRoomId,proto3" json:"dest_room_id,omitempty"`
+}
+
+func (x *EntityMoveRoomNotify) Reset() {
+ *x = EntityMoveRoomNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityMoveRoomNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityMoveRoomNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityMoveRoomNotify) ProtoMessage() {}
+
+func (x *EntityMoveRoomNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityMoveRoomNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityMoveRoomNotify.ProtoReflect.Descriptor instead.
+func (*EntityMoveRoomNotify) Descriptor() ([]byte, []int) {
+ return file_EntityMoveRoomNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityMoveRoomNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EntityMoveRoomNotify) GetDestRoomId() uint32 {
+ if x != nil {
+ return x.DestRoomId
+ }
+ return 0
+}
+
+var File_EntityMoveRoomNotify_proto protoreflect.FileDescriptor
+
+var file_EntityMoveRoomNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x6f, 0x6f, 0x6d,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x14, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76,
+ 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74,
+ 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x64, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityMoveRoomNotify_proto_rawDescOnce sync.Once
+ file_EntityMoveRoomNotify_proto_rawDescData = file_EntityMoveRoomNotify_proto_rawDesc
+)
+
+func file_EntityMoveRoomNotify_proto_rawDescGZIP() []byte {
+ file_EntityMoveRoomNotify_proto_rawDescOnce.Do(func() {
+ file_EntityMoveRoomNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityMoveRoomNotify_proto_rawDescData)
+ })
+ return file_EntityMoveRoomNotify_proto_rawDescData
+}
+
+var file_EntityMoveRoomNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityMoveRoomNotify_proto_goTypes = []interface{}{
+ (*EntityMoveRoomNotify)(nil), // 0: proto.EntityMoveRoomNotify
+}
+var file_EntityMoveRoomNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EntityMoveRoomNotify_proto_init() }
+func file_EntityMoveRoomNotify_proto_init() {
+ if File_EntityMoveRoomNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityMoveRoomNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityMoveRoomNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityMoveRoomNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityMoveRoomNotify_proto_goTypes,
+ DependencyIndexes: file_EntityMoveRoomNotify_proto_depIdxs,
+ MessageInfos: file_EntityMoveRoomNotify_proto_msgTypes,
+ }.Build()
+ File_EntityMoveRoomNotify_proto = out.File
+ file_EntityMoveRoomNotify_proto_rawDesc = nil
+ file_EntityMoveRoomNotify_proto_goTypes = nil
+ file_EntityMoveRoomNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityPropNotify.pb.go b/protocol/proto/EntityPropNotify.pb.go
new file mode 100644
index 00000000..d9399c46
--- /dev/null
+++ b/protocol/proto/EntityPropNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityPropNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1272
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EntityPropNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PropMap map[uint32]*PropValue `protobuf:"bytes,1,rep,name=prop_map,json=propMap,proto3" json:"prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ EntityId uint32 `protobuf:"varint,14,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EntityPropNotify) Reset() {
+ *x = EntityPropNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityPropNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityPropNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityPropNotify) ProtoMessage() {}
+
+func (x *EntityPropNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityPropNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityPropNotify.ProtoReflect.Descriptor instead.
+func (*EntityPropNotify) Descriptor() ([]byte, []int) {
+ return file_EntityPropNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityPropNotify) GetPropMap() map[uint32]*PropValue {
+ if x != nil {
+ return x.PropMap
+ }
+ return nil
+}
+
+func (x *EntityPropNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EntityPropNotify_proto protoreflect.FileDescriptor
+
+var file_EntityPropNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xbe, 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70,
+ 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x1a, 0x4c, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f,
+ 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityPropNotify_proto_rawDescOnce sync.Once
+ file_EntityPropNotify_proto_rawDescData = file_EntityPropNotify_proto_rawDesc
+)
+
+func file_EntityPropNotify_proto_rawDescGZIP() []byte {
+ file_EntityPropNotify_proto_rawDescOnce.Do(func() {
+ file_EntityPropNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityPropNotify_proto_rawDescData)
+ })
+ return file_EntityPropNotify_proto_rawDescData
+}
+
+var file_EntityPropNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_EntityPropNotify_proto_goTypes = []interface{}{
+ (*EntityPropNotify)(nil), // 0: proto.EntityPropNotify
+ nil, // 1: proto.EntityPropNotify.PropMapEntry
+ (*PropValue)(nil), // 2: proto.PropValue
+}
+var file_EntityPropNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityPropNotify.prop_map:type_name -> proto.EntityPropNotify.PropMapEntry
+ 2, // 1: proto.EntityPropNotify.PropMapEntry.value:type_name -> proto.PropValue
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EntityPropNotify_proto_init() }
+func file_EntityPropNotify_proto_init() {
+ if File_EntityPropNotify_proto != nil {
+ return
+ }
+ file_PropValue_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EntityPropNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityPropNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityPropNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityPropNotify_proto_goTypes,
+ DependencyIndexes: file_EntityPropNotify_proto_depIdxs,
+ MessageInfos: file_EntityPropNotify_proto_msgTypes,
+ }.Build()
+ File_EntityPropNotify_proto = out.File
+ file_EntityPropNotify_proto_rawDesc = nil
+ file_EntityPropNotify_proto_goTypes = nil
+ file_EntityPropNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityRendererChangedInfo.pb.go b/protocol/proto/EntityRendererChangedInfo.pb.go
new file mode 100644
index 00000000..37eea549
--- /dev/null
+++ b/protocol/proto/EntityRendererChangedInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityRendererChangedInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EntityRendererChangedInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChangedRenderers map[string]uint32 `protobuf:"bytes,1,rep,name=changed_renderers,json=changedRenderers,proto3" json:"changed_renderers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ VisibilityCount uint32 `protobuf:"varint,2,opt,name=visibility_count,json=visibilityCount,proto3" json:"visibility_count,omitempty"`
+ IsCached bool `protobuf:"varint,3,opt,name=is_cached,json=isCached,proto3" json:"is_cached,omitempty"`
+}
+
+func (x *EntityRendererChangedInfo) Reset() {
+ *x = EntityRendererChangedInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityRendererChangedInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityRendererChangedInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityRendererChangedInfo) ProtoMessage() {}
+
+func (x *EntityRendererChangedInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityRendererChangedInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityRendererChangedInfo.ProtoReflect.Descriptor instead.
+func (*EntityRendererChangedInfo) Descriptor() ([]byte, []int) {
+ return file_EntityRendererChangedInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityRendererChangedInfo) GetChangedRenderers() map[string]uint32 {
+ if x != nil {
+ return x.ChangedRenderers
+ }
+ return nil
+}
+
+func (x *EntityRendererChangedInfo) GetVisibilityCount() uint32 {
+ if x != nil {
+ return x.VisibilityCount
+ }
+ return 0
+}
+
+func (x *EntityRendererChangedInfo) GetIsCached() bool {
+ if x != nil {
+ return x.IsCached
+ }
+ return false
+}
+
+var File_EntityRendererChangedInfo_proto protoreflect.FileDescriptor
+
+var file_EntityRendererChangedInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x02, 0x0a, 0x19, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x63, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x64, 0x5f, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x6e, 0x64, 0x65,
+ 0x72, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x64, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x76,
+ 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x63,
+ 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x43, 0x61, 0x63,
+ 0x68, 0x65, 0x64, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65,
+ 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityRendererChangedInfo_proto_rawDescOnce sync.Once
+ file_EntityRendererChangedInfo_proto_rawDescData = file_EntityRendererChangedInfo_proto_rawDesc
+)
+
+func file_EntityRendererChangedInfo_proto_rawDescGZIP() []byte {
+ file_EntityRendererChangedInfo_proto_rawDescOnce.Do(func() {
+ file_EntityRendererChangedInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityRendererChangedInfo_proto_rawDescData)
+ })
+ return file_EntityRendererChangedInfo_proto_rawDescData
+}
+
+var file_EntityRendererChangedInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_EntityRendererChangedInfo_proto_goTypes = []interface{}{
+ (*EntityRendererChangedInfo)(nil), // 0: proto.EntityRendererChangedInfo
+ nil, // 1: proto.EntityRendererChangedInfo.ChangedRenderersEntry
+}
+var file_EntityRendererChangedInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EntityRendererChangedInfo.changed_renderers:type_name -> proto.EntityRendererChangedInfo.ChangedRenderersEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EntityRendererChangedInfo_proto_init() }
+func file_EntityRendererChangedInfo_proto_init() {
+ if File_EntityRendererChangedInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityRendererChangedInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityRendererChangedInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityRendererChangedInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityRendererChangedInfo_proto_goTypes,
+ DependencyIndexes: file_EntityRendererChangedInfo_proto_depIdxs,
+ MessageInfos: file_EntityRendererChangedInfo_proto_msgTypes,
+ }.Build()
+ File_EntityRendererChangedInfo_proto = out.File
+ file_EntityRendererChangedInfo_proto_rawDesc = nil
+ file_EntityRendererChangedInfo_proto_goTypes = nil
+ file_EntityRendererChangedInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EntityTagChangeNotify.pb.go b/protocol/proto/EntityTagChangeNotify.pb.go
new file mode 100644
index 00000000..86ba6266
--- /dev/null
+++ b/protocol/proto/EntityTagChangeNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EntityTagChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3316
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EntityTagChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"`
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ IsAdd bool `protobuf:"varint,10,opt,name=is_add,json=isAdd,proto3" json:"is_add,omitempty"`
+}
+
+func (x *EntityTagChangeNotify) Reset() {
+ *x = EntityTagChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EntityTagChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EntityTagChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EntityTagChangeNotify) ProtoMessage() {}
+
+func (x *EntityTagChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EntityTagChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EntityTagChangeNotify.ProtoReflect.Descriptor instead.
+func (*EntityTagChangeNotify) Descriptor() ([]byte, []int) {
+ return file_EntityTagChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EntityTagChangeNotify) GetTag() string {
+ if x != nil {
+ return x.Tag
+ }
+ return ""
+}
+
+func (x *EntityTagChangeNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EntityTagChangeNotify) GetIsAdd() bool {
+ if x != nil {
+ return x.IsAdd
+ }
+ return false
+}
+
+var File_EntityTagChangeNotify_proto protoreflect.FileDescriptor
+
+var file_EntityTagChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x61, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x15, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x61,
+ 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12,
+ 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06,
+ 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73,
+ 0x41, 0x64, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EntityTagChangeNotify_proto_rawDescOnce sync.Once
+ file_EntityTagChangeNotify_proto_rawDescData = file_EntityTagChangeNotify_proto_rawDesc
+)
+
+func file_EntityTagChangeNotify_proto_rawDescGZIP() []byte {
+ file_EntityTagChangeNotify_proto_rawDescOnce.Do(func() {
+ file_EntityTagChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EntityTagChangeNotify_proto_rawDescData)
+ })
+ return file_EntityTagChangeNotify_proto_rawDescData
+}
+
+var file_EntityTagChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EntityTagChangeNotify_proto_goTypes = []interface{}{
+ (*EntityTagChangeNotify)(nil), // 0: proto.EntityTagChangeNotify
+}
+var file_EntityTagChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EntityTagChangeNotify_proto_init() }
+func file_EntityTagChangeNotify_proto_init() {
+ if File_EntityTagChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EntityTagChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EntityTagChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EntityTagChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EntityTagChangeNotify_proto_goTypes,
+ DependencyIndexes: file_EntityTagChangeNotify_proto_depIdxs,
+ MessageInfos: file_EntityTagChangeNotify_proto_msgTypes,
+ }.Build()
+ File_EntityTagChangeNotify_proto = out.File
+ file_EntityTagChangeNotify_proto_rawDesc = nil
+ file_EntityTagChangeNotify_proto_goTypes = nil
+ file_EntityTagChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Equip.pb.go b/protocol/proto/Equip.pb.go
new file mode 100644
index 00000000..65b4d8df
--- /dev/null
+++ b/protocol/proto/Equip.pb.go
@@ -0,0 +1,218 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Equip.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Equip struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsLocked bool `protobuf:"varint,3,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *Equip_Reliquary
+ // *Equip_Weapon
+ Detail isEquip_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *Equip) Reset() {
+ *x = Equip{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Equip_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Equip) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Equip) ProtoMessage() {}
+
+func (x *Equip) ProtoReflect() protoreflect.Message {
+ mi := &file_Equip_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Equip.ProtoReflect.Descriptor instead.
+func (*Equip) Descriptor() ([]byte, []int) {
+ return file_Equip_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Equip) GetIsLocked() bool {
+ if x != nil {
+ return x.IsLocked
+ }
+ return false
+}
+
+func (m *Equip) GetDetail() isEquip_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *Equip) GetReliquary() *Reliquary {
+ if x, ok := x.GetDetail().(*Equip_Reliquary); ok {
+ return x.Reliquary
+ }
+ return nil
+}
+
+func (x *Equip) GetWeapon() *Weapon {
+ if x, ok := x.GetDetail().(*Equip_Weapon); ok {
+ return x.Weapon
+ }
+ return nil
+}
+
+type isEquip_Detail interface {
+ isEquip_Detail()
+}
+
+type Equip_Reliquary struct {
+ Reliquary *Reliquary `protobuf:"bytes,1,opt,name=reliquary,proto3,oneof"`
+}
+
+type Equip_Weapon struct {
+ Weapon *Weapon `protobuf:"bytes,2,opt,name=weapon,proto3,oneof"`
+}
+
+func (*Equip_Reliquary) isEquip_Detail() {}
+
+func (*Equip_Weapon) isEquip_Detail() {}
+
+var File_Equip_proto protoreflect.FileDescriptor
+
+var file_Equip_proto_rawDesc = []byte{
+ 0x0a, 0x0b, 0x45, 0x71, 0x75, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x05, 0x45, 0x71, 0x75, 0x69, 0x70, 0x12, 0x1b, 0x0a,
+ 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x72, 0x65,
+ 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x48,
+ 0x00, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x06,
+ 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x77,
+ 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Equip_proto_rawDescOnce sync.Once
+ file_Equip_proto_rawDescData = file_Equip_proto_rawDesc
+)
+
+func file_Equip_proto_rawDescGZIP() []byte {
+ file_Equip_proto_rawDescOnce.Do(func() {
+ file_Equip_proto_rawDescData = protoimpl.X.CompressGZIP(file_Equip_proto_rawDescData)
+ })
+ return file_Equip_proto_rawDescData
+}
+
+var file_Equip_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Equip_proto_goTypes = []interface{}{
+ (*Equip)(nil), // 0: proto.Equip
+ (*Reliquary)(nil), // 1: proto.Reliquary
+ (*Weapon)(nil), // 2: proto.Weapon
+}
+var file_Equip_proto_depIdxs = []int32{
+ 1, // 0: proto.Equip.reliquary:type_name -> proto.Reliquary
+ 2, // 1: proto.Equip.weapon:type_name -> proto.Weapon
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_Equip_proto_init() }
+func file_Equip_proto_init() {
+ if File_Equip_proto != nil {
+ return
+ }
+ file_Reliquary_proto_init()
+ file_Weapon_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_Equip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Equip); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_Equip_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*Equip_Reliquary)(nil),
+ (*Equip_Weapon)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Equip_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Equip_proto_goTypes,
+ DependencyIndexes: file_Equip_proto_depIdxs,
+ MessageInfos: file_Equip_proto_msgTypes,
+ }.Build()
+ File_Equip_proto = out.File
+ file_Equip_proto_rawDesc = nil
+ file_Equip_proto_goTypes = nil
+ file_Equip_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EquipParam.pb.go b/protocol/proto/EquipParam.pb.go
new file mode 100644
index 00000000..5628a60b
--- /dev/null
+++ b/protocol/proto/EquipParam.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EquipParam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EquipParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,1,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ ItemNum uint32 `protobuf:"varint,2,opt,name=item_num,json=itemNum,proto3" json:"item_num,omitempty"`
+ ItemLevel uint32 `protobuf:"varint,3,opt,name=item_level,json=itemLevel,proto3" json:"item_level,omitempty"`
+ PromoteLevel uint32 `protobuf:"varint,4,opt,name=promote_level,json=promoteLevel,proto3" json:"promote_level,omitempty"`
+}
+
+func (x *EquipParam) Reset() {
+ *x = EquipParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EquipParam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EquipParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EquipParam) ProtoMessage() {}
+
+func (x *EquipParam) ProtoReflect() protoreflect.Message {
+ mi := &file_EquipParam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EquipParam.ProtoReflect.Descriptor instead.
+func (*EquipParam) Descriptor() ([]byte, []int) {
+ return file_EquipParam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EquipParam) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *EquipParam) GetItemNum() uint32 {
+ if x != nil {
+ return x.ItemNum
+ }
+ return 0
+}
+
+func (x *EquipParam) GetItemLevel() uint32 {
+ if x != nil {
+ return x.ItemLevel
+ }
+ return 0
+}
+
+func (x *EquipParam) GetPromoteLevel() uint32 {
+ if x != nil {
+ return x.PromoteLevel
+ }
+ return 0
+}
+
+var File_EquipParam_proto protoreflect.FileDescriptor
+
+var file_EquipParam_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x45, 0x71, 0x75, 0x69, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x0a, 0x45, 0x71,
+ 0x75, 0x69, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x70,
+ 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EquipParam_proto_rawDescOnce sync.Once
+ file_EquipParam_proto_rawDescData = file_EquipParam_proto_rawDesc
+)
+
+func file_EquipParam_proto_rawDescGZIP() []byte {
+ file_EquipParam_proto_rawDescOnce.Do(func() {
+ file_EquipParam_proto_rawDescData = protoimpl.X.CompressGZIP(file_EquipParam_proto_rawDescData)
+ })
+ return file_EquipParam_proto_rawDescData
+}
+
+var file_EquipParam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EquipParam_proto_goTypes = []interface{}{
+ (*EquipParam)(nil), // 0: proto.EquipParam
+}
+var file_EquipParam_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EquipParam_proto_init() }
+func file_EquipParam_proto_init() {
+ if File_EquipParam_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EquipParam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EquipParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EquipParam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EquipParam_proto_goTypes,
+ DependencyIndexes: file_EquipParam_proto_depIdxs,
+ MessageInfos: file_EquipParam_proto_msgTypes,
+ }.Build()
+ File_EquipParam_proto = out.File
+ file_EquipParam_proto_rawDesc = nil
+ file_EquipParam_proto_goTypes = nil
+ file_EquipParam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EquipParamList.pb.go b/protocol/proto/EquipParamList.pb.go
new file mode 100644
index 00000000..1ecc2218
--- /dev/null
+++ b/protocol/proto/EquipParamList.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EquipParamList.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EquipParamList struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*EquipParam `protobuf:"bytes,1,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *EquipParamList) Reset() {
+ *x = EquipParamList{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EquipParamList_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EquipParamList) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EquipParamList) ProtoMessage() {}
+
+func (x *EquipParamList) ProtoReflect() protoreflect.Message {
+ mi := &file_EquipParamList_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EquipParamList.ProtoReflect.Descriptor instead.
+func (*EquipParamList) Descriptor() ([]byte, []int) {
+ return file_EquipParamList_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EquipParamList) GetItemList() []*EquipParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_EquipParamList_proto protoreflect.FileDescriptor
+
+var file_EquipParamList_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x45, 0x71, 0x75, 0x69, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x45,
+ 0x71, 0x75, 0x69, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x40, 0x0a, 0x0e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x71, 0x75,
+ 0x69, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EquipParamList_proto_rawDescOnce sync.Once
+ file_EquipParamList_proto_rawDescData = file_EquipParamList_proto_rawDesc
+)
+
+func file_EquipParamList_proto_rawDescGZIP() []byte {
+ file_EquipParamList_proto_rawDescOnce.Do(func() {
+ file_EquipParamList_proto_rawDescData = protoimpl.X.CompressGZIP(file_EquipParamList_proto_rawDescData)
+ })
+ return file_EquipParamList_proto_rawDescData
+}
+
+var file_EquipParamList_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EquipParamList_proto_goTypes = []interface{}{
+ (*EquipParamList)(nil), // 0: proto.EquipParamList
+ (*EquipParam)(nil), // 1: proto.EquipParam
+}
+var file_EquipParamList_proto_depIdxs = []int32{
+ 1, // 0: proto.EquipParamList.item_list:type_name -> proto.EquipParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EquipParamList_proto_init() }
+func file_EquipParamList_proto_init() {
+ if File_EquipParamList_proto != nil {
+ return
+ }
+ file_EquipParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EquipParamList_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EquipParamList); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EquipParamList_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EquipParamList_proto_goTypes,
+ DependencyIndexes: file_EquipParamList_proto_depIdxs,
+ MessageInfos: file_EquipParamList_proto_msgTypes,
+ }.Build()
+ File_EquipParamList_proto = out.File
+ file_EquipParamList_proto_rawDesc = nil
+ file_EquipParamList_proto_goTypes = nil
+ file_EquipParamList_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EquipRoguelikeRuneReq.pb.go b/protocol/proto/EquipRoguelikeRuneReq.pb.go
new file mode 100644
index 00000000..e43bfae1
--- /dev/null
+++ b/protocol/proto/EquipRoguelikeRuneReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EquipRoguelikeRuneReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8306
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EquipRoguelikeRuneReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RuneList []uint32 `protobuf:"varint,3,rep,packed,name=rune_list,json=runeList,proto3" json:"rune_list,omitempty"`
+}
+
+func (x *EquipRoguelikeRuneReq) Reset() {
+ *x = EquipRoguelikeRuneReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EquipRoguelikeRuneReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EquipRoguelikeRuneReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EquipRoguelikeRuneReq) ProtoMessage() {}
+
+func (x *EquipRoguelikeRuneReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EquipRoguelikeRuneReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EquipRoguelikeRuneReq.ProtoReflect.Descriptor instead.
+func (*EquipRoguelikeRuneReq) Descriptor() ([]byte, []int) {
+ return file_EquipRoguelikeRuneReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EquipRoguelikeRuneReq) GetRuneList() []uint32 {
+ if x != nil {
+ return x.RuneList
+ }
+ return nil
+}
+
+var File_EquipRoguelikeRuneReq_proto protoreflect.FileDescriptor
+
+var file_EquipRoguelikeRuneReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x15, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x08, 0x72, 0x75, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EquipRoguelikeRuneReq_proto_rawDescOnce sync.Once
+ file_EquipRoguelikeRuneReq_proto_rawDescData = file_EquipRoguelikeRuneReq_proto_rawDesc
+)
+
+func file_EquipRoguelikeRuneReq_proto_rawDescGZIP() []byte {
+ file_EquipRoguelikeRuneReq_proto_rawDescOnce.Do(func() {
+ file_EquipRoguelikeRuneReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EquipRoguelikeRuneReq_proto_rawDescData)
+ })
+ return file_EquipRoguelikeRuneReq_proto_rawDescData
+}
+
+var file_EquipRoguelikeRuneReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EquipRoguelikeRuneReq_proto_goTypes = []interface{}{
+ (*EquipRoguelikeRuneReq)(nil), // 0: proto.EquipRoguelikeRuneReq
+}
+var file_EquipRoguelikeRuneReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EquipRoguelikeRuneReq_proto_init() }
+func file_EquipRoguelikeRuneReq_proto_init() {
+ if File_EquipRoguelikeRuneReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EquipRoguelikeRuneReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EquipRoguelikeRuneReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EquipRoguelikeRuneReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EquipRoguelikeRuneReq_proto_goTypes,
+ DependencyIndexes: file_EquipRoguelikeRuneReq_proto_depIdxs,
+ MessageInfos: file_EquipRoguelikeRuneReq_proto_msgTypes,
+ }.Build()
+ File_EquipRoguelikeRuneReq_proto = out.File
+ file_EquipRoguelikeRuneReq_proto_rawDesc = nil
+ file_EquipRoguelikeRuneReq_proto_goTypes = nil
+ file_EquipRoguelikeRuneReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EquipRoguelikeRuneRsp.pb.go b/protocol/proto/EquipRoguelikeRuneRsp.pb.go
new file mode 100644
index 00000000..900091c4
--- /dev/null
+++ b/protocol/proto/EquipRoguelikeRuneRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EquipRoguelikeRuneRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8705
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EquipRoguelikeRuneRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RuneList []uint32 `protobuf:"varint,1,rep,packed,name=rune_list,json=runeList,proto3" json:"rune_list,omitempty"`
+}
+
+func (x *EquipRoguelikeRuneRsp) Reset() {
+ *x = EquipRoguelikeRuneRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EquipRoguelikeRuneRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EquipRoguelikeRuneRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EquipRoguelikeRuneRsp) ProtoMessage() {}
+
+func (x *EquipRoguelikeRuneRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EquipRoguelikeRuneRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EquipRoguelikeRuneRsp.ProtoReflect.Descriptor instead.
+func (*EquipRoguelikeRuneRsp) Descriptor() ([]byte, []int) {
+ return file_EquipRoguelikeRuneRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EquipRoguelikeRuneRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *EquipRoguelikeRuneRsp) GetRuneList() []uint32 {
+ if x != nil {
+ return x.RuneList
+ }
+ return nil
+}
+
+var File_EquipRoguelikeRuneRsp_proto protoreflect.FileDescriptor
+
+var file_EquipRoguelikeRuneRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x52, 0x75, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x15, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x65,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EquipRoguelikeRuneRsp_proto_rawDescOnce sync.Once
+ file_EquipRoguelikeRuneRsp_proto_rawDescData = file_EquipRoguelikeRuneRsp_proto_rawDesc
+)
+
+func file_EquipRoguelikeRuneRsp_proto_rawDescGZIP() []byte {
+ file_EquipRoguelikeRuneRsp_proto_rawDescOnce.Do(func() {
+ file_EquipRoguelikeRuneRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EquipRoguelikeRuneRsp_proto_rawDescData)
+ })
+ return file_EquipRoguelikeRuneRsp_proto_rawDescData
+}
+
+var file_EquipRoguelikeRuneRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EquipRoguelikeRuneRsp_proto_goTypes = []interface{}{
+ (*EquipRoguelikeRuneRsp)(nil), // 0: proto.EquipRoguelikeRuneRsp
+}
+var file_EquipRoguelikeRuneRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EquipRoguelikeRuneRsp_proto_init() }
+func file_EquipRoguelikeRuneRsp_proto_init() {
+ if File_EquipRoguelikeRuneRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EquipRoguelikeRuneRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EquipRoguelikeRuneRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EquipRoguelikeRuneRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EquipRoguelikeRuneRsp_proto_goTypes,
+ DependencyIndexes: file_EquipRoguelikeRuneRsp_proto_depIdxs,
+ MessageInfos: file_EquipRoguelikeRuneRsp_proto_msgTypes,
+ }.Build()
+ File_EquipRoguelikeRuneRsp_proto = out.File
+ file_EquipRoguelikeRuneRsp_proto_rawDesc = nil
+ file_EquipRoguelikeRuneRsp_proto_goTypes = nil
+ file_EquipRoguelikeRuneRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EventTriggerType.pb.go b/protocol/proto/EventTriggerType.pb.go
new file mode 100644
index 00000000..908280ae
--- /dev/null
+++ b/protocol/proto/EventTriggerType.pb.go
@@ -0,0 +1,146 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EventTriggerType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EventTriggerType int32
+
+const (
+ EventTriggerType_EVENT_TRIGGER_TYPE_NONE EventTriggerType = 0
+ EventTriggerType_EVENT_TRIGGER_TYPE_ENTER_FORCE EventTriggerType = 1
+)
+
+// Enum value maps for EventTriggerType.
+var (
+ EventTriggerType_name = map[int32]string{
+ 0: "EVENT_TRIGGER_TYPE_NONE",
+ 1: "EVENT_TRIGGER_TYPE_ENTER_FORCE",
+ }
+ EventTriggerType_value = map[string]int32{
+ "EVENT_TRIGGER_TYPE_NONE": 0,
+ "EVENT_TRIGGER_TYPE_ENTER_FORCE": 1,
+ }
+)
+
+func (x EventTriggerType) Enum() *EventTriggerType {
+ p := new(EventTriggerType)
+ *p = x
+ return p
+}
+
+func (x EventTriggerType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (EventTriggerType) Descriptor() protoreflect.EnumDescriptor {
+ return file_EventTriggerType_proto_enumTypes[0].Descriptor()
+}
+
+func (EventTriggerType) Type() protoreflect.EnumType {
+ return &file_EventTriggerType_proto_enumTypes[0]
+}
+
+func (x EventTriggerType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use EventTriggerType.Descriptor instead.
+func (EventTriggerType) EnumDescriptor() ([]byte, []int) {
+ return file_EventTriggerType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_EventTriggerType_proto protoreflect.FileDescriptor
+
+var file_EventTriggerType_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0x53, 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x49,
+ 0x47, 0x47, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
+ 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45,
+ 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x46, 0x4f, 0x52,
+ 0x43, 0x45, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EventTriggerType_proto_rawDescOnce sync.Once
+ file_EventTriggerType_proto_rawDescData = file_EventTriggerType_proto_rawDesc
+)
+
+func file_EventTriggerType_proto_rawDescGZIP() []byte {
+ file_EventTriggerType_proto_rawDescOnce.Do(func() {
+ file_EventTriggerType_proto_rawDescData = protoimpl.X.CompressGZIP(file_EventTriggerType_proto_rawDescData)
+ })
+ return file_EventTriggerType_proto_rawDescData
+}
+
+var file_EventTriggerType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_EventTriggerType_proto_goTypes = []interface{}{
+ (EventTriggerType)(0), // 0: proto.EventTriggerType
+}
+var file_EventTriggerType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EventTriggerType_proto_init() }
+func file_EventTriggerType_proto_init() {
+ if File_EventTriggerType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EventTriggerType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EventTriggerType_proto_goTypes,
+ DependencyIndexes: file_EventTriggerType_proto_depIdxs,
+ EnumInfos: file_EventTriggerType_proto_enumTypes,
+ }.Build()
+ File_EventTriggerType_proto = out.File
+ file_EventTriggerType_proto_rawDesc = nil
+ file_EventTriggerType_proto_goTypes = nil
+ file_EventTriggerType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAiSyncCombatThreatInfoNotify.pb.go b/protocol/proto/EvtAiSyncCombatThreatInfoNotify.pb.go
new file mode 100644
index 00000000..2e036f08
--- /dev/null
+++ b/protocol/proto/EvtAiSyncCombatThreatInfoNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAiSyncCombatThreatInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 329
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAiSyncCombatThreatInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CombatThreatInfoMap map[uint32]*AiThreatInfo `protobuf:"bytes,8,rep,name=combat_threat_info_map,json=combatThreatInfoMap,proto3" json:"combat_threat_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *EvtAiSyncCombatThreatInfoNotify) Reset() {
+ *x = EvtAiSyncCombatThreatInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAiSyncCombatThreatInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAiSyncCombatThreatInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAiSyncCombatThreatInfoNotify) ProtoMessage() {}
+
+func (x *EvtAiSyncCombatThreatInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAiSyncCombatThreatInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAiSyncCombatThreatInfoNotify.ProtoReflect.Descriptor instead.
+func (*EvtAiSyncCombatThreatInfoNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAiSyncCombatThreatInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAiSyncCombatThreatInfoNotify) GetCombatThreatInfoMap() map[uint32]*AiThreatInfo {
+ if x != nil {
+ return x.CombatThreatInfoMap
+ }
+ return nil
+}
+
+var File_EvtAiSyncCombatThreatInfoNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAiSyncCombatThreatInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x45, 0x76, 0x74, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x62, 0x61,
+ 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12,
+ 0x41, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xf4, 0x01, 0x0a, 0x1f, 0x45, 0x76, 0x74, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63,
+ 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x74, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74,
+ 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45,
+ 0x76, 0x74, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x54, 0x68,
+ 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x43,
+ 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x54,
+ 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x1a, 0x5b, 0x0a, 0x18,
+ 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x41, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAiSyncCombatThreatInfoNotify_proto_rawDescOnce sync.Once
+ file_EvtAiSyncCombatThreatInfoNotify_proto_rawDescData = file_EvtAiSyncCombatThreatInfoNotify_proto_rawDesc
+)
+
+func file_EvtAiSyncCombatThreatInfoNotify_proto_rawDescGZIP() []byte {
+ file_EvtAiSyncCombatThreatInfoNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAiSyncCombatThreatInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAiSyncCombatThreatInfoNotify_proto_rawDescData)
+ })
+ return file_EvtAiSyncCombatThreatInfoNotify_proto_rawDescData
+}
+
+var file_EvtAiSyncCombatThreatInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_EvtAiSyncCombatThreatInfoNotify_proto_goTypes = []interface{}{
+ (*EvtAiSyncCombatThreatInfoNotify)(nil), // 0: proto.EvtAiSyncCombatThreatInfoNotify
+ nil, // 1: proto.EvtAiSyncCombatThreatInfoNotify.CombatThreatInfoMapEntry
+ (*AiThreatInfo)(nil), // 2: proto.AiThreatInfo
+}
+var file_EvtAiSyncCombatThreatInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAiSyncCombatThreatInfoNotify.combat_threat_info_map:type_name -> proto.EvtAiSyncCombatThreatInfoNotify.CombatThreatInfoMapEntry
+ 2, // 1: proto.EvtAiSyncCombatThreatInfoNotify.CombatThreatInfoMapEntry.value:type_name -> proto.AiThreatInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtAiSyncCombatThreatInfoNotify_proto_init() }
+func file_EvtAiSyncCombatThreatInfoNotify_proto_init() {
+ if File_EvtAiSyncCombatThreatInfoNotify_proto != nil {
+ return
+ }
+ file_AiThreatInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAiSyncCombatThreatInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAiSyncCombatThreatInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAiSyncCombatThreatInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAiSyncCombatThreatInfoNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAiSyncCombatThreatInfoNotify_proto_depIdxs,
+ MessageInfos: file_EvtAiSyncCombatThreatInfoNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAiSyncCombatThreatInfoNotify_proto = out.File
+ file_EvtAiSyncCombatThreatInfoNotify_proto_rawDesc = nil
+ file_EvtAiSyncCombatThreatInfoNotify_proto_goTypes = nil
+ file_EvtAiSyncCombatThreatInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAiSyncSkillCdNotify.pb.go b/protocol/proto/EvtAiSyncSkillCdNotify.pb.go
new file mode 100644
index 00000000..60f6f924
--- /dev/null
+++ b/protocol/proto/EvtAiSyncSkillCdNotify.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAiSyncSkillCdNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 376
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAiSyncSkillCdNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AiCdMap map[uint32]*AiSkillCdInfo `protobuf:"bytes,7,rep,name=ai_cd_map,json=aiCdMap,proto3" json:"ai_cd_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *EvtAiSyncSkillCdNotify) Reset() {
+ *x = EvtAiSyncSkillCdNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAiSyncSkillCdNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAiSyncSkillCdNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAiSyncSkillCdNotify) ProtoMessage() {}
+
+func (x *EvtAiSyncSkillCdNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAiSyncSkillCdNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAiSyncSkillCdNotify.ProtoReflect.Descriptor instead.
+func (*EvtAiSyncSkillCdNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAiSyncSkillCdNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAiSyncSkillCdNotify) GetAiCdMap() map[uint32]*AiSkillCdInfo {
+ if x != nil {
+ return x.AiCdMap
+ }
+ return nil
+}
+
+var File_EvtAiSyncSkillCdNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAiSyncSkillCdNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x76, 0x74, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x43, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x41, 0x69, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x45,
+ 0x76, 0x74, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x46, 0x0a, 0x09, 0x61, 0x69, 0x5f, 0x63, 0x64, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x45, 0x76, 0x74, 0x41, 0x69, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43,
+ 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x41, 0x69, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x61, 0x69, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x1a, 0x50, 0x0a,
+ 0x0c, 0x41, 0x69, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x69, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAiSyncSkillCdNotify_proto_rawDescOnce sync.Once
+ file_EvtAiSyncSkillCdNotify_proto_rawDescData = file_EvtAiSyncSkillCdNotify_proto_rawDesc
+)
+
+func file_EvtAiSyncSkillCdNotify_proto_rawDescGZIP() []byte {
+ file_EvtAiSyncSkillCdNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAiSyncSkillCdNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAiSyncSkillCdNotify_proto_rawDescData)
+ })
+ return file_EvtAiSyncSkillCdNotify_proto_rawDescData
+}
+
+var file_EvtAiSyncSkillCdNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_EvtAiSyncSkillCdNotify_proto_goTypes = []interface{}{
+ (*EvtAiSyncSkillCdNotify)(nil), // 0: proto.EvtAiSyncSkillCdNotify
+ nil, // 1: proto.EvtAiSyncSkillCdNotify.AiCdMapEntry
+ (*AiSkillCdInfo)(nil), // 2: proto.AiSkillCdInfo
+}
+var file_EvtAiSyncSkillCdNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAiSyncSkillCdNotify.ai_cd_map:type_name -> proto.EvtAiSyncSkillCdNotify.AiCdMapEntry
+ 2, // 1: proto.EvtAiSyncSkillCdNotify.AiCdMapEntry.value:type_name -> proto.AiSkillCdInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtAiSyncSkillCdNotify_proto_init() }
+func file_EvtAiSyncSkillCdNotify_proto_init() {
+ if File_EvtAiSyncSkillCdNotify_proto != nil {
+ return
+ }
+ file_AiSkillCdInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAiSyncSkillCdNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAiSyncSkillCdNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAiSyncSkillCdNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAiSyncSkillCdNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAiSyncSkillCdNotify_proto_depIdxs,
+ MessageInfos: file_EvtAiSyncSkillCdNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAiSyncSkillCdNotify_proto = out.File
+ file_EvtAiSyncSkillCdNotify_proto_rawDesc = nil
+ file_EvtAiSyncSkillCdNotify_proto_goTypes = nil
+ file_EvtAiSyncSkillCdNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAnimatorParameterInfo.pb.go b/protocol/proto/EvtAnimatorParameterInfo.pb.go
new file mode 100644
index 00000000..7a7aa2c4
--- /dev/null
+++ b/protocol/proto/EvtAnimatorParameterInfo.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAnimatorParameterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtAnimatorParameterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ IsServerCache bool `protobuf:"varint,5,opt,name=is_server_cache,json=isServerCache,proto3" json:"is_server_cache,omitempty"`
+ Value *AnimatorParameterValueInfo `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"`
+ NameId int32 `protobuf:"varint,15,opt,name=name_id,json=nameId,proto3" json:"name_id,omitempty"`
+}
+
+func (x *EvtAnimatorParameterInfo) Reset() {
+ *x = EvtAnimatorParameterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAnimatorParameterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAnimatorParameterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAnimatorParameterInfo) ProtoMessage() {}
+
+func (x *EvtAnimatorParameterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAnimatorParameterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAnimatorParameterInfo.ProtoReflect.Descriptor instead.
+func (*EvtAnimatorParameterInfo) Descriptor() ([]byte, []int) {
+ return file_EvtAnimatorParameterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAnimatorParameterInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtAnimatorParameterInfo) GetIsServerCache() bool {
+ if x != nil {
+ return x.IsServerCache
+ }
+ return false
+}
+
+func (x *EvtAnimatorParameterInfo) GetValue() *AnimatorParameterValueInfo {
+ if x != nil {
+ return x.Value
+ }
+ return nil
+}
+
+func (x *EvtAnimatorParameterInfo) GetNameId() int32 {
+ if x != nil {
+ return x.NameId
+ }
+ return 0
+}
+
+var File_EvtAnimatorParameterInfo_proto protoreflect.FileDescriptor
+
+var file_EvtAnimatorParameterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x76, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f,
+ 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a, 0x18, 0x45, 0x76,
+ 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73,
+ 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x37, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x65, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_EvtAnimatorParameterInfo_proto_rawDescOnce sync.Once
+ file_EvtAnimatorParameterInfo_proto_rawDescData = file_EvtAnimatorParameterInfo_proto_rawDesc
+)
+
+func file_EvtAnimatorParameterInfo_proto_rawDescGZIP() []byte {
+ file_EvtAnimatorParameterInfo_proto_rawDescOnce.Do(func() {
+ file_EvtAnimatorParameterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAnimatorParameterInfo_proto_rawDescData)
+ })
+ return file_EvtAnimatorParameterInfo_proto_rawDescData
+}
+
+var file_EvtAnimatorParameterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAnimatorParameterInfo_proto_goTypes = []interface{}{
+ (*EvtAnimatorParameterInfo)(nil), // 0: proto.EvtAnimatorParameterInfo
+ (*AnimatorParameterValueInfo)(nil), // 1: proto.AnimatorParameterValueInfo
+}
+var file_EvtAnimatorParameterInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAnimatorParameterInfo.value:type_name -> proto.AnimatorParameterValueInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtAnimatorParameterInfo_proto_init() }
+func file_EvtAnimatorParameterInfo_proto_init() {
+ if File_EvtAnimatorParameterInfo_proto != nil {
+ return
+ }
+ file_AnimatorParameterValueInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAnimatorParameterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAnimatorParameterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAnimatorParameterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAnimatorParameterInfo_proto_goTypes,
+ DependencyIndexes: file_EvtAnimatorParameterInfo_proto_depIdxs,
+ MessageInfos: file_EvtAnimatorParameterInfo_proto_msgTypes,
+ }.Build()
+ File_EvtAnimatorParameterInfo_proto = out.File
+ file_EvtAnimatorParameterInfo_proto_rawDesc = nil
+ file_EvtAnimatorParameterInfo_proto_goTypes = nil
+ file_EvtAnimatorParameterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAnimatorParameterNotify.pb.go b/protocol/proto/EvtAnimatorParameterNotify.pb.go
new file mode 100644
index 00000000..db9da375
--- /dev/null
+++ b/protocol/proto/EvtAnimatorParameterNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAnimatorParameterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 398
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAnimatorParameterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AnimatorParamInfo *EvtAnimatorParameterInfo `protobuf:"bytes,12,opt,name=animator_param_info,json=animatorParamInfo,proto3" json:"animator_param_info,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,14,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+}
+
+func (x *EvtAnimatorParameterNotify) Reset() {
+ *x = EvtAnimatorParameterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAnimatorParameterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAnimatorParameterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAnimatorParameterNotify) ProtoMessage() {}
+
+func (x *EvtAnimatorParameterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAnimatorParameterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAnimatorParameterNotify.ProtoReflect.Descriptor instead.
+func (*EvtAnimatorParameterNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAnimatorParameterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAnimatorParameterNotify) GetAnimatorParamInfo() *EvtAnimatorParameterInfo {
+ if x != nil {
+ return x.AnimatorParamInfo
+ }
+ return nil
+}
+
+func (x *EvtAnimatorParameterNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+var File_EvtAnimatorParameterNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAnimatorParameterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x45, 0x76, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x45, 0x76, 0x74, 0x41, 0x6e,
+ 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a,
+ 0x1a, 0x45, 0x76, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x4f, 0x0a, 0x13, 0x61,
+ 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x45, 0x76, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x65, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x61, 0x6e, 0x69, 0x6d, 0x61,
+ 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x0c,
+ 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54,
+ 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAnimatorParameterNotify_proto_rawDescOnce sync.Once
+ file_EvtAnimatorParameterNotify_proto_rawDescData = file_EvtAnimatorParameterNotify_proto_rawDesc
+)
+
+func file_EvtAnimatorParameterNotify_proto_rawDescGZIP() []byte {
+ file_EvtAnimatorParameterNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAnimatorParameterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAnimatorParameterNotify_proto_rawDescData)
+ })
+ return file_EvtAnimatorParameterNotify_proto_rawDescData
+}
+
+var file_EvtAnimatorParameterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAnimatorParameterNotify_proto_goTypes = []interface{}{
+ (*EvtAnimatorParameterNotify)(nil), // 0: proto.EvtAnimatorParameterNotify
+ (*EvtAnimatorParameterInfo)(nil), // 1: proto.EvtAnimatorParameterInfo
+ (ForwardType)(0), // 2: proto.ForwardType
+}
+var file_EvtAnimatorParameterNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAnimatorParameterNotify.animator_param_info:type_name -> proto.EvtAnimatorParameterInfo
+ 2, // 1: proto.EvtAnimatorParameterNotify.forward_type:type_name -> proto.ForwardType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtAnimatorParameterNotify_proto_init() }
+func file_EvtAnimatorParameterNotify_proto_init() {
+ if File_EvtAnimatorParameterNotify_proto != nil {
+ return
+ }
+ file_EvtAnimatorParameterInfo_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAnimatorParameterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAnimatorParameterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAnimatorParameterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAnimatorParameterNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAnimatorParameterNotify_proto_depIdxs,
+ MessageInfos: file_EvtAnimatorParameterNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAnimatorParameterNotify_proto = out.File
+ file_EvtAnimatorParameterNotify_proto_rawDesc = nil
+ file_EvtAnimatorParameterNotify_proto_goTypes = nil
+ file_EvtAnimatorParameterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAnimatorStateChangedInfo.pb.go b/protocol/proto/EvtAnimatorStateChangedInfo.pb.go
new file mode 100644
index 00000000..0439b2b1
--- /dev/null
+++ b/protocol/proto/EvtAnimatorStateChangedInfo.pb.go
@@ -0,0 +1,249 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAnimatorStateChangedInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtAnimatorStateChangedInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FaceAngleCompact int32 `protobuf:"varint,14,opt,name=face_angle_compact,json=faceAngleCompact,proto3" json:"face_angle_compact,omitempty"`
+ ToStateHash uint32 `protobuf:"varint,5,opt,name=to_state_hash,json=toStateHash,proto3" json:"to_state_hash,omitempty"`
+ NormalizedTimeCompact uint32 `protobuf:"varint,9,opt,name=normalized_time_compact,json=normalizedTimeCompact,proto3" json:"normalized_time_compact,omitempty"`
+ Layer uint32 `protobuf:"varint,2,opt,name=layer,proto3" json:"layer,omitempty"`
+ Pos *Vector `protobuf:"bytes,13,opt,name=pos,proto3" json:"pos,omitempty"`
+ FadeDuration float32 `protobuf:"fixed32,3,opt,name=fade_duration,json=fadeDuration,proto3" json:"fade_duration,omitempty"`
+ ForceSync bool `protobuf:"varint,1,opt,name=force_sync,json=forceSync,proto3" json:"force_sync,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ HandleAnimatorStateImmediately bool `protobuf:"varint,7,opt,name=handle_animator_state_immediately,json=handleAnimatorStateImmediately,proto3" json:"handle_animator_state_immediately,omitempty"`
+}
+
+func (x *EvtAnimatorStateChangedInfo) Reset() {
+ *x = EvtAnimatorStateChangedInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAnimatorStateChangedInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAnimatorStateChangedInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAnimatorStateChangedInfo) ProtoMessage() {}
+
+func (x *EvtAnimatorStateChangedInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAnimatorStateChangedInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAnimatorStateChangedInfo.ProtoReflect.Descriptor instead.
+func (*EvtAnimatorStateChangedInfo) Descriptor() ([]byte, []int) {
+ return file_EvtAnimatorStateChangedInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetFaceAngleCompact() int32 {
+ if x != nil {
+ return x.FaceAngleCompact
+ }
+ return 0
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetToStateHash() uint32 {
+ if x != nil {
+ return x.ToStateHash
+ }
+ return 0
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetNormalizedTimeCompact() uint32 {
+ if x != nil {
+ return x.NormalizedTimeCompact
+ }
+ return 0
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetLayer() uint32 {
+ if x != nil {
+ return x.Layer
+ }
+ return 0
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetFadeDuration() float32 {
+ if x != nil {
+ return x.FadeDuration
+ }
+ return 0
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetForceSync() bool {
+ if x != nil {
+ return x.ForceSync
+ }
+ return false
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtAnimatorStateChangedInfo) GetHandleAnimatorStateImmediately() bool {
+ if x != nil {
+ return x.HandleAnimatorStateImmediately
+ }
+ return false
+}
+
+var File_EvtAnimatorStateChangedInfo_proto protoreflect.FileDescriptor
+
+var file_EvtAnimatorStateChangedInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x45, 0x76, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x03, 0x0a, 0x1b, 0x45, 0x76, 0x74,
+ 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x63, 0x65,
+ 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x43,
+ 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74,
+ 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x36, 0x0a, 0x17, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f,
+ 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x6e, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61,
+ 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x64,
+ 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0c, 0x66, 0x61, 0x64, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x21, 0x68, 0x61,
+ 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1e, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x6e, 0x69,
+ 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69,
+ 0x61, 0x74, 0x65, 0x6c, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAnimatorStateChangedInfo_proto_rawDescOnce sync.Once
+ file_EvtAnimatorStateChangedInfo_proto_rawDescData = file_EvtAnimatorStateChangedInfo_proto_rawDesc
+)
+
+func file_EvtAnimatorStateChangedInfo_proto_rawDescGZIP() []byte {
+ file_EvtAnimatorStateChangedInfo_proto_rawDescOnce.Do(func() {
+ file_EvtAnimatorStateChangedInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAnimatorStateChangedInfo_proto_rawDescData)
+ })
+ return file_EvtAnimatorStateChangedInfo_proto_rawDescData
+}
+
+var file_EvtAnimatorStateChangedInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAnimatorStateChangedInfo_proto_goTypes = []interface{}{
+ (*EvtAnimatorStateChangedInfo)(nil), // 0: proto.EvtAnimatorStateChangedInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtAnimatorStateChangedInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAnimatorStateChangedInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtAnimatorStateChangedInfo_proto_init() }
+func file_EvtAnimatorStateChangedInfo_proto_init() {
+ if File_EvtAnimatorStateChangedInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAnimatorStateChangedInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAnimatorStateChangedInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAnimatorStateChangedInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAnimatorStateChangedInfo_proto_goTypes,
+ DependencyIndexes: file_EvtAnimatorStateChangedInfo_proto_depIdxs,
+ MessageInfos: file_EvtAnimatorStateChangedInfo_proto_msgTypes,
+ }.Build()
+ File_EvtAnimatorStateChangedInfo_proto = out.File
+ file_EvtAnimatorStateChangedInfo_proto_rawDesc = nil
+ file_EvtAnimatorStateChangedInfo_proto_goTypes = nil
+ file_EvtAnimatorStateChangedInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAnimatorStateChangedNotify.pb.go b/protocol/proto/EvtAnimatorStateChangedNotify.pb.go
new file mode 100644
index 00000000..a15c03ca
--- /dev/null
+++ b/protocol/proto/EvtAnimatorStateChangedNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAnimatorStateChangedNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 331
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAnimatorStateChangedNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,3,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EvtAnimatorStateChangedInfo *EvtAnimatorStateChangedInfo `protobuf:"bytes,10,opt,name=evt_animator_state_changed_info,json=evtAnimatorStateChangedInfo,proto3" json:"evt_animator_state_changed_info,omitempty"`
+}
+
+func (x *EvtAnimatorStateChangedNotify) Reset() {
+ *x = EvtAnimatorStateChangedNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAnimatorStateChangedNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAnimatorStateChangedNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAnimatorStateChangedNotify) ProtoMessage() {}
+
+func (x *EvtAnimatorStateChangedNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAnimatorStateChangedNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAnimatorStateChangedNotify.ProtoReflect.Descriptor instead.
+func (*EvtAnimatorStateChangedNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAnimatorStateChangedNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAnimatorStateChangedNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtAnimatorStateChangedNotify) GetEvtAnimatorStateChangedInfo() *EvtAnimatorStateChangedInfo {
+ if x != nil {
+ return x.EvtAnimatorStateChangedInfo
+ }
+ return nil
+}
+
+var File_EvtAnimatorStateChangedNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAnimatorStateChangedNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x45, 0x76, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x45, 0x76,
+ 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x1d, 0x45, 0x76, 0x74, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74,
+ 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b,
+ 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x68, 0x0a, 0x1f, 0x65,
+ 0x76, 0x74, 0x5f, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x74,
+ 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1b, 0x65, 0x76, 0x74, 0x41, 0x6e, 0x69,
+ 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAnimatorStateChangedNotify_proto_rawDescOnce sync.Once
+ file_EvtAnimatorStateChangedNotify_proto_rawDescData = file_EvtAnimatorStateChangedNotify_proto_rawDesc
+)
+
+func file_EvtAnimatorStateChangedNotify_proto_rawDescGZIP() []byte {
+ file_EvtAnimatorStateChangedNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAnimatorStateChangedNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAnimatorStateChangedNotify_proto_rawDescData)
+ })
+ return file_EvtAnimatorStateChangedNotify_proto_rawDescData
+}
+
+var file_EvtAnimatorStateChangedNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAnimatorStateChangedNotify_proto_goTypes = []interface{}{
+ (*EvtAnimatorStateChangedNotify)(nil), // 0: proto.EvtAnimatorStateChangedNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*EvtAnimatorStateChangedInfo)(nil), // 2: proto.EvtAnimatorStateChangedInfo
+}
+var file_EvtAnimatorStateChangedNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAnimatorStateChangedNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtAnimatorStateChangedNotify.evt_animator_state_changed_info:type_name -> proto.EvtAnimatorStateChangedInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtAnimatorStateChangedNotify_proto_init() }
+func file_EvtAnimatorStateChangedNotify_proto_init() {
+ if File_EvtAnimatorStateChangedNotify_proto != nil {
+ return
+ }
+ file_EvtAnimatorStateChangedInfo_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAnimatorStateChangedNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAnimatorStateChangedNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAnimatorStateChangedNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAnimatorStateChangedNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAnimatorStateChangedNotify_proto_depIdxs,
+ MessageInfos: file_EvtAnimatorStateChangedNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAnimatorStateChangedNotify_proto = out.File
+ file_EvtAnimatorStateChangedNotify_proto_rawDesc = nil
+ file_EvtAnimatorStateChangedNotify_proto_goTypes = nil
+ file_EvtAnimatorStateChangedNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAvatarEnterFocusNotify.pb.go b/protocol/proto/EvtAvatarEnterFocusNotify.pb.go
new file mode 100644
index 00000000..69a4ca52
--- /dev/null
+++ b/protocol/proto/EvtAvatarEnterFocusNotify.pb.go
@@ -0,0 +1,300 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAvatarEnterFocusNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 304
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAvatarEnterFocusNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ CanMove bool `protobuf:"varint,10,opt,name=can_move,json=canMove,proto3" json:"can_move,omitempty"`
+ EnterHoldingFocusShoot bool `protobuf:"varint,13,opt,name=enter_holding_focus_shoot,json=enterHoldingFocusShoot,proto3" json:"enter_holding_focus_shoot,omitempty"`
+ DisableAimLayer bool `protobuf:"varint,6,opt,name=disable_aim_layer,json=disableAimLayer,proto3" json:"disable_aim_layer,omitempty"`
+ UseAutoFocus bool `protobuf:"varint,5,opt,name=use_auto_focus,json=useAutoFocus,proto3" json:"use_auto_focus,omitempty"`
+ FastFocus bool `protobuf:"varint,3,opt,name=fast_focus,json=fastFocus,proto3" json:"fast_focus,omitempty"`
+ ShowCrossHair bool `protobuf:"varint,12,opt,name=show_cross_hair,json=showCrossHair,proto3" json:"show_cross_hair,omitempty"`
+ EnterNormalFocusShoot bool `protobuf:"varint,14,opt,name=enter_normal_focus_shoot,json=enterNormalFocusShoot,proto3" json:"enter_normal_focus_shoot,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,8,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ FocusForward *Vector `protobuf:"bytes,7,opt,name=focus_forward,json=focusForward,proto3" json:"focus_forward,omitempty"`
+ DisableAnim bool `protobuf:"varint,9,opt,name=disable_anim,json=disableAnim,proto3" json:"disable_anim,omitempty"`
+ UseFocusSticky bool `protobuf:"varint,15,opt,name=use_focus_sticky,json=useFocusSticky,proto3" json:"use_focus_sticky,omitempty"`
+ UseGyro bool `protobuf:"varint,11,opt,name=use_gyro,json=useGyro,proto3" json:"use_gyro,omitempty"`
+}
+
+func (x *EvtAvatarEnterFocusNotify) Reset() {
+ *x = EvtAvatarEnterFocusNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAvatarEnterFocusNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAvatarEnterFocusNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAvatarEnterFocusNotify) ProtoMessage() {}
+
+func (x *EvtAvatarEnterFocusNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAvatarEnterFocusNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAvatarEnterFocusNotify.ProtoReflect.Descriptor instead.
+func (*EvtAvatarEnterFocusNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAvatarEnterFocusNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetCanMove() bool {
+ if x != nil {
+ return x.CanMove
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetEnterHoldingFocusShoot() bool {
+ if x != nil {
+ return x.EnterHoldingFocusShoot
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetDisableAimLayer() bool {
+ if x != nil {
+ return x.DisableAimLayer
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetUseAutoFocus() bool {
+ if x != nil {
+ return x.UseAutoFocus
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetFastFocus() bool {
+ if x != nil {
+ return x.FastFocus
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetShowCrossHair() bool {
+ if x != nil {
+ return x.ShowCrossHair
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetEnterNormalFocusShoot() bool {
+ if x != nil {
+ return x.EnterNormalFocusShoot
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetFocusForward() *Vector {
+ if x != nil {
+ return x.FocusForward
+ }
+ return nil
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetDisableAnim() bool {
+ if x != nil {
+ return x.DisableAnim
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetUseFocusSticky() bool {
+ if x != nil {
+ return x.UseFocusSticky
+ }
+ return false
+}
+
+func (x *EvtAvatarEnterFocusNotify) GetUseGyro() bool {
+ if x != nil {
+ return x.UseGyro
+ }
+ return false
+}
+
+var File_EvtAvatarEnterFocusNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAvatarEnterFocusNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x46, 0x6f, 0x63, 0x75, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x04, 0x0a, 0x19, 0x45, 0x76,
+ 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x63, 0x75,
+ 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x5f, 0x6d, 0x6f, 0x76, 0x65,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x4d, 0x6f, 0x76, 0x65, 0x12,
+ 0x39, 0x0a, 0x19, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67,
+ 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x16, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6c, 0x64, 0x69, 0x6e, 0x67,
+ 0x46, 0x6f, 0x63, 0x75, 0x73, 0x53, 0x68, 0x6f, 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x69, 0x6d, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x69,
+ 0x6d, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x75,
+ 0x74, 0x6f, 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c,
+ 0x75, 0x73, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x66, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x09, 0x66, 0x61, 0x73, 0x74, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73,
+ 0x68, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x5f, 0x68, 0x61, 0x69, 0x72, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x68, 0x6f, 0x77, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x48,
+ 0x61, 0x69, 0x72, 0x12, 0x37, 0x0a, 0x18, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x6f, 0x74, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x72, 0x6d,
+ 0x61, 0x6c, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x53, 0x68, 0x6f, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x0c,
+ 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x0d, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x5f, 0x66, 0x6f, 0x72,
+ 0x77, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x66, 0x6f, 0x63, 0x75, 0x73,
+ 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62,
+ 0x6c, 0x65, 0x5f, 0x61, 0x6e, 0x69, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64,
+ 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x73,
+ 0x65, 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x5f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x53, 0x74,
+ 0x69, 0x63, 0x6b, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x67, 0x79, 0x72, 0x6f,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x47, 0x79, 0x72, 0x6f, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAvatarEnterFocusNotify_proto_rawDescOnce sync.Once
+ file_EvtAvatarEnterFocusNotify_proto_rawDescData = file_EvtAvatarEnterFocusNotify_proto_rawDesc
+)
+
+func file_EvtAvatarEnterFocusNotify_proto_rawDescGZIP() []byte {
+ file_EvtAvatarEnterFocusNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAvatarEnterFocusNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAvatarEnterFocusNotify_proto_rawDescData)
+ })
+ return file_EvtAvatarEnterFocusNotify_proto_rawDescData
+}
+
+var file_EvtAvatarEnterFocusNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAvatarEnterFocusNotify_proto_goTypes = []interface{}{
+ (*EvtAvatarEnterFocusNotify)(nil), // 0: proto.EvtAvatarEnterFocusNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_EvtAvatarEnterFocusNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAvatarEnterFocusNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtAvatarEnterFocusNotify.focus_forward:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtAvatarEnterFocusNotify_proto_init() }
+func file_EvtAvatarEnterFocusNotify_proto_init() {
+ if File_EvtAvatarEnterFocusNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAvatarEnterFocusNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAvatarEnterFocusNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAvatarEnterFocusNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAvatarEnterFocusNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAvatarEnterFocusNotify_proto_depIdxs,
+ MessageInfos: file_EvtAvatarEnterFocusNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAvatarEnterFocusNotify_proto = out.File
+ file_EvtAvatarEnterFocusNotify_proto_rawDesc = nil
+ file_EvtAvatarEnterFocusNotify_proto_goTypes = nil
+ file_EvtAvatarEnterFocusNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAvatarExitFocusNotify.pb.go b/protocol/proto/EvtAvatarExitFocusNotify.pb.go
new file mode 100644
index 00000000..c92716f1
--- /dev/null
+++ b/protocol/proto/EvtAvatarExitFocusNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAvatarExitFocusNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 393
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAvatarExitFocusNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishForward *Vector `protobuf:"bytes,12,opt,name=finish_forward,json=finishForward,proto3" json:"finish_forward,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,11,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EntityId uint32 `protobuf:"varint,14,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtAvatarExitFocusNotify) Reset() {
+ *x = EvtAvatarExitFocusNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAvatarExitFocusNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAvatarExitFocusNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAvatarExitFocusNotify) ProtoMessage() {}
+
+func (x *EvtAvatarExitFocusNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAvatarExitFocusNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAvatarExitFocusNotify.ProtoReflect.Descriptor instead.
+func (*EvtAvatarExitFocusNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAvatarExitFocusNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAvatarExitFocusNotify) GetFinishForward() *Vector {
+ if x != nil {
+ return x.FinishForward
+ }
+ return nil
+}
+
+func (x *EvtAvatarExitFocusNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtAvatarExitFocusNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtAvatarExitFocusNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAvatarExitFocusNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x69, 0x74, 0x46,
+ 0x6f, 0x63, 0x75, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x18, 0x45, 0x76, 0x74,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x69, 0x74, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x34, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f,
+ 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0c, 0x66,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAvatarExitFocusNotify_proto_rawDescOnce sync.Once
+ file_EvtAvatarExitFocusNotify_proto_rawDescData = file_EvtAvatarExitFocusNotify_proto_rawDesc
+)
+
+func file_EvtAvatarExitFocusNotify_proto_rawDescGZIP() []byte {
+ file_EvtAvatarExitFocusNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAvatarExitFocusNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAvatarExitFocusNotify_proto_rawDescData)
+ })
+ return file_EvtAvatarExitFocusNotify_proto_rawDescData
+}
+
+var file_EvtAvatarExitFocusNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAvatarExitFocusNotify_proto_goTypes = []interface{}{
+ (*EvtAvatarExitFocusNotify)(nil), // 0: proto.EvtAvatarExitFocusNotify
+ (*Vector)(nil), // 1: proto.Vector
+ (ForwardType)(0), // 2: proto.ForwardType
+}
+var file_EvtAvatarExitFocusNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAvatarExitFocusNotify.finish_forward:type_name -> proto.Vector
+ 2, // 1: proto.EvtAvatarExitFocusNotify.forward_type:type_name -> proto.ForwardType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtAvatarExitFocusNotify_proto_init() }
+func file_EvtAvatarExitFocusNotify_proto_init() {
+ if File_EvtAvatarExitFocusNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAvatarExitFocusNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAvatarExitFocusNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAvatarExitFocusNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAvatarExitFocusNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAvatarExitFocusNotify_proto_depIdxs,
+ MessageInfos: file_EvtAvatarExitFocusNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAvatarExitFocusNotify_proto = out.File
+ file_EvtAvatarExitFocusNotify_proto_rawDesc = nil
+ file_EvtAvatarExitFocusNotify_proto_goTypes = nil
+ file_EvtAvatarExitFocusNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAvatarLockChairReq.pb.go b/protocol/proto/EvtAvatarLockChairReq.pb.go
new file mode 100644
index 00000000..c985da77
--- /dev/null
+++ b/protocol/proto/EvtAvatarLockChairReq.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAvatarLockChairReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 318
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAvatarLockChairReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChairId uint64 `protobuf:"varint,5,opt,name=chair_id,json=chairId,proto3" json:"chair_id,omitempty"`
+ Position *Vector `protobuf:"bytes,8,opt,name=position,proto3" json:"position,omitempty"`
+}
+
+func (x *EvtAvatarLockChairReq) Reset() {
+ *x = EvtAvatarLockChairReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAvatarLockChairReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAvatarLockChairReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAvatarLockChairReq) ProtoMessage() {}
+
+func (x *EvtAvatarLockChairReq) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAvatarLockChairReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAvatarLockChairReq.ProtoReflect.Descriptor instead.
+func (*EvtAvatarLockChairReq) Descriptor() ([]byte, []int) {
+ return file_EvtAvatarLockChairReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAvatarLockChairReq) GetChairId() uint64 {
+ if x != nil {
+ return x.ChairId
+ }
+ return 0
+}
+
+func (x *EvtAvatarLockChairReq) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+var File_EvtAvatarLockChairReq_proto protoreflect.FileDescriptor
+
+var file_EvtAvatarLockChairReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x43,
+ 0x68, 0x61, 0x69, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x15, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c,
+ 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x72, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x63,
+ 0x68, 0x61, 0x69, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63,
+ 0x68, 0x61, 0x69, 0x72, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAvatarLockChairReq_proto_rawDescOnce sync.Once
+ file_EvtAvatarLockChairReq_proto_rawDescData = file_EvtAvatarLockChairReq_proto_rawDesc
+)
+
+func file_EvtAvatarLockChairReq_proto_rawDescGZIP() []byte {
+ file_EvtAvatarLockChairReq_proto_rawDescOnce.Do(func() {
+ file_EvtAvatarLockChairReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAvatarLockChairReq_proto_rawDescData)
+ })
+ return file_EvtAvatarLockChairReq_proto_rawDescData
+}
+
+var file_EvtAvatarLockChairReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAvatarLockChairReq_proto_goTypes = []interface{}{
+ (*EvtAvatarLockChairReq)(nil), // 0: proto.EvtAvatarLockChairReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtAvatarLockChairReq_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAvatarLockChairReq.position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtAvatarLockChairReq_proto_init() }
+func file_EvtAvatarLockChairReq_proto_init() {
+ if File_EvtAvatarLockChairReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAvatarLockChairReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAvatarLockChairReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAvatarLockChairReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAvatarLockChairReq_proto_goTypes,
+ DependencyIndexes: file_EvtAvatarLockChairReq_proto_depIdxs,
+ MessageInfos: file_EvtAvatarLockChairReq_proto_msgTypes,
+ }.Build()
+ File_EvtAvatarLockChairReq_proto = out.File
+ file_EvtAvatarLockChairReq_proto_rawDesc = nil
+ file_EvtAvatarLockChairReq_proto_goTypes = nil
+ file_EvtAvatarLockChairReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAvatarLockChairRsp.pb.go b/protocol/proto/EvtAvatarLockChairRsp.pb.go
new file mode 100644
index 00000000..d6e775ac
--- /dev/null
+++ b/protocol/proto/EvtAvatarLockChairRsp.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAvatarLockChairRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 366
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EvtAvatarLockChairRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChairId uint64 `protobuf:"varint,14,opt,name=chair_id,json=chairId,proto3" json:"chair_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Position *Vector `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *EvtAvatarLockChairRsp) Reset() {
+ *x = EvtAvatarLockChairRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAvatarLockChairRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAvatarLockChairRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAvatarLockChairRsp) ProtoMessage() {}
+
+func (x *EvtAvatarLockChairRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAvatarLockChairRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAvatarLockChairRsp.ProtoReflect.Descriptor instead.
+func (*EvtAvatarLockChairRsp) Descriptor() ([]byte, []int) {
+ return file_EvtAvatarLockChairRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAvatarLockChairRsp) GetChairId() uint64 {
+ if x != nil {
+ return x.ChairId
+ }
+ return 0
+}
+
+func (x *EvtAvatarLockChairRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtAvatarLockChairRsp) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+func (x *EvtAvatarLockChairRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_EvtAvatarLockChairRsp_proto protoreflect.FileDescriptor
+
+var file_EvtAvatarLockChairRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x43,
+ 0x68, 0x61, 0x69, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x69, 0x72, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08,
+ 0x63, 0x68, 0x61, 0x69, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07,
+ 0x63, 0x68, 0x61, 0x69, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAvatarLockChairRsp_proto_rawDescOnce sync.Once
+ file_EvtAvatarLockChairRsp_proto_rawDescData = file_EvtAvatarLockChairRsp_proto_rawDesc
+)
+
+func file_EvtAvatarLockChairRsp_proto_rawDescGZIP() []byte {
+ file_EvtAvatarLockChairRsp_proto_rawDescOnce.Do(func() {
+ file_EvtAvatarLockChairRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAvatarLockChairRsp_proto_rawDescData)
+ })
+ return file_EvtAvatarLockChairRsp_proto_rawDescData
+}
+
+var file_EvtAvatarLockChairRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAvatarLockChairRsp_proto_goTypes = []interface{}{
+ (*EvtAvatarLockChairRsp)(nil), // 0: proto.EvtAvatarLockChairRsp
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtAvatarLockChairRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAvatarLockChairRsp.position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtAvatarLockChairRsp_proto_init() }
+func file_EvtAvatarLockChairRsp_proto_init() {
+ if File_EvtAvatarLockChairRsp_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAvatarLockChairRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAvatarLockChairRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAvatarLockChairRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAvatarLockChairRsp_proto_goTypes,
+ DependencyIndexes: file_EvtAvatarLockChairRsp_proto_depIdxs,
+ MessageInfos: file_EvtAvatarLockChairRsp_proto_msgTypes,
+ }.Build()
+ File_EvtAvatarLockChairRsp_proto = out.File
+ file_EvtAvatarLockChairRsp_proto_rawDesc = nil
+ file_EvtAvatarLockChairRsp_proto_goTypes = nil
+ file_EvtAvatarLockChairRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAvatarSitDownNotify.pb.go b/protocol/proto/EvtAvatarSitDownNotify.pb.go
new file mode 100644
index 00000000..604b2bcd
--- /dev/null
+++ b/protocol/proto/EvtAvatarSitDownNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAvatarSitDownNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 324
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAvatarSitDownNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Position *Vector `protobuf:"bytes,9,opt,name=position,proto3" json:"position,omitempty"`
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ChairId uint64 `protobuf:"varint,6,opt,name=chair_id,json=chairId,proto3" json:"chair_id,omitempty"`
+}
+
+func (x *EvtAvatarSitDownNotify) Reset() {
+ *x = EvtAvatarSitDownNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAvatarSitDownNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAvatarSitDownNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAvatarSitDownNotify) ProtoMessage() {}
+
+func (x *EvtAvatarSitDownNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAvatarSitDownNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAvatarSitDownNotify.ProtoReflect.Descriptor instead.
+func (*EvtAvatarSitDownNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAvatarSitDownNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAvatarSitDownNotify) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+func (x *EvtAvatarSitDownNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtAvatarSitDownNotify) GetChairId() uint64 {
+ if x != nil {
+ return x.ChairId
+ }
+ return 0
+}
+
+var File_EvtAvatarSitDownNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAvatarSitDownNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x69, 0x74, 0x44, 0x6f,
+ 0x77, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x16, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x53, 0x69, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a,
+ 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAvatarSitDownNotify_proto_rawDescOnce sync.Once
+ file_EvtAvatarSitDownNotify_proto_rawDescData = file_EvtAvatarSitDownNotify_proto_rawDesc
+)
+
+func file_EvtAvatarSitDownNotify_proto_rawDescGZIP() []byte {
+ file_EvtAvatarSitDownNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAvatarSitDownNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAvatarSitDownNotify_proto_rawDescData)
+ })
+ return file_EvtAvatarSitDownNotify_proto_rawDescData
+}
+
+var file_EvtAvatarSitDownNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAvatarSitDownNotify_proto_goTypes = []interface{}{
+ (*EvtAvatarSitDownNotify)(nil), // 0: proto.EvtAvatarSitDownNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtAvatarSitDownNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAvatarSitDownNotify.position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtAvatarSitDownNotify_proto_init() }
+func file_EvtAvatarSitDownNotify_proto_init() {
+ if File_EvtAvatarSitDownNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAvatarSitDownNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAvatarSitDownNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAvatarSitDownNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAvatarSitDownNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAvatarSitDownNotify_proto_depIdxs,
+ MessageInfos: file_EvtAvatarSitDownNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAvatarSitDownNotify_proto = out.File
+ file_EvtAvatarSitDownNotify_proto_rawDesc = nil
+ file_EvtAvatarSitDownNotify_proto_goTypes = nil
+ file_EvtAvatarSitDownNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAvatarStandUpNotify.pb.go b/protocol/proto/EvtAvatarStandUpNotify.pb.go
new file mode 100644
index 00000000..e8658587
--- /dev/null
+++ b/protocol/proto/EvtAvatarStandUpNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAvatarStandUpNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 356
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAvatarStandUpNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChairId uint64 `protobuf:"varint,11,opt,name=chair_id,json=chairId,proto3" json:"chair_id,omitempty"`
+ PerformId int32 `protobuf:"varint,6,opt,name=perform_id,json=performId,proto3" json:"perform_id,omitempty"`
+ Direction int32 `protobuf:"varint,1,opt,name=direction,proto3" json:"direction,omitempty"`
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtAvatarStandUpNotify) Reset() {
+ *x = EvtAvatarStandUpNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAvatarStandUpNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAvatarStandUpNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAvatarStandUpNotify) ProtoMessage() {}
+
+func (x *EvtAvatarStandUpNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAvatarStandUpNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAvatarStandUpNotify.ProtoReflect.Descriptor instead.
+func (*EvtAvatarStandUpNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAvatarStandUpNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAvatarStandUpNotify) GetChairId() uint64 {
+ if x != nil {
+ return x.ChairId
+ }
+ return 0
+}
+
+func (x *EvtAvatarStandUpNotify) GetPerformId() int32 {
+ if x != nil {
+ return x.PerformId
+ }
+ return 0
+}
+
+func (x *EvtAvatarStandUpNotify) GetDirection() int32 {
+ if x != nil {
+ return x.Direction
+ }
+ return 0
+}
+
+func (x *EvtAvatarStandUpNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtAvatarStandUpNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAvatarStandUpNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x74, 0x61, 0x6e, 0x64,
+ 0x55, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x16, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x55, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x19, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x69, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x07, 0x63, 0x68, 0x61, 0x69, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70,
+ 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x09, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69,
+ 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAvatarStandUpNotify_proto_rawDescOnce sync.Once
+ file_EvtAvatarStandUpNotify_proto_rawDescData = file_EvtAvatarStandUpNotify_proto_rawDesc
+)
+
+func file_EvtAvatarStandUpNotify_proto_rawDescGZIP() []byte {
+ file_EvtAvatarStandUpNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAvatarStandUpNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAvatarStandUpNotify_proto_rawDescData)
+ })
+ return file_EvtAvatarStandUpNotify_proto_rawDescData
+}
+
+var file_EvtAvatarStandUpNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAvatarStandUpNotify_proto_goTypes = []interface{}{
+ (*EvtAvatarStandUpNotify)(nil), // 0: proto.EvtAvatarStandUpNotify
+}
+var file_EvtAvatarStandUpNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EvtAvatarStandUpNotify_proto_init() }
+func file_EvtAvatarStandUpNotify_proto_init() {
+ if File_EvtAvatarStandUpNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAvatarStandUpNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAvatarStandUpNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAvatarStandUpNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAvatarStandUpNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAvatarStandUpNotify_proto_depIdxs,
+ MessageInfos: file_EvtAvatarStandUpNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAvatarStandUpNotify_proto = out.File
+ file_EvtAvatarStandUpNotify_proto_rawDesc = nil
+ file_EvtAvatarStandUpNotify_proto_goTypes = nil
+ file_EvtAvatarStandUpNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtAvatarUpdateFocusNotify.pb.go b/protocol/proto/EvtAvatarUpdateFocusNotify.pb.go
new file mode 100644
index 00000000..1e3e6543
--- /dev/null
+++ b/protocol/proto/EvtAvatarUpdateFocusNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtAvatarUpdateFocusNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 327
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtAvatarUpdateFocusNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,7,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ FocusForward *Vector `protobuf:"bytes,11,opt,name=focus_forward,json=focusForward,proto3" json:"focus_forward,omitempty"`
+ EntityId uint32 `protobuf:"varint,10,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtAvatarUpdateFocusNotify) Reset() {
+ *x = EvtAvatarUpdateFocusNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtAvatarUpdateFocusNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtAvatarUpdateFocusNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtAvatarUpdateFocusNotify) ProtoMessage() {}
+
+func (x *EvtAvatarUpdateFocusNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtAvatarUpdateFocusNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtAvatarUpdateFocusNotify.ProtoReflect.Descriptor instead.
+func (*EvtAvatarUpdateFocusNotify) Descriptor() ([]byte, []int) {
+ return file_EvtAvatarUpdateFocusNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtAvatarUpdateFocusNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtAvatarUpdateFocusNotify) GetFocusForward() *Vector {
+ if x != nil {
+ return x.FocusForward
+ }
+ return nil
+}
+
+func (x *EvtAvatarUpdateFocusNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtAvatarUpdateFocusNotify_proto protoreflect.FileDescriptor
+
+var file_EvtAvatarUpdateFocusNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x45, 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x1a, 0x45,
+ 0x76, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f,
+ 0x63, 0x75, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x32, 0x0a, 0x0d, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x46, 0x6f, 0x72,
+ 0x77, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtAvatarUpdateFocusNotify_proto_rawDescOnce sync.Once
+ file_EvtAvatarUpdateFocusNotify_proto_rawDescData = file_EvtAvatarUpdateFocusNotify_proto_rawDesc
+)
+
+func file_EvtAvatarUpdateFocusNotify_proto_rawDescGZIP() []byte {
+ file_EvtAvatarUpdateFocusNotify_proto_rawDescOnce.Do(func() {
+ file_EvtAvatarUpdateFocusNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtAvatarUpdateFocusNotify_proto_rawDescData)
+ })
+ return file_EvtAvatarUpdateFocusNotify_proto_rawDescData
+}
+
+var file_EvtAvatarUpdateFocusNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtAvatarUpdateFocusNotify_proto_goTypes = []interface{}{
+ (*EvtAvatarUpdateFocusNotify)(nil), // 0: proto.EvtAvatarUpdateFocusNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_EvtAvatarUpdateFocusNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtAvatarUpdateFocusNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtAvatarUpdateFocusNotify.focus_forward:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtAvatarUpdateFocusNotify_proto_init() }
+func file_EvtAvatarUpdateFocusNotify_proto_init() {
+ if File_EvtAvatarUpdateFocusNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtAvatarUpdateFocusNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtAvatarUpdateFocusNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtAvatarUpdateFocusNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtAvatarUpdateFocusNotify_proto_goTypes,
+ DependencyIndexes: file_EvtAvatarUpdateFocusNotify_proto_depIdxs,
+ MessageInfos: file_EvtAvatarUpdateFocusNotify_proto_msgTypes,
+ }.Build()
+ File_EvtAvatarUpdateFocusNotify_proto = out.File
+ file_EvtAvatarUpdateFocusNotify_proto_rawDesc = nil
+ file_EvtAvatarUpdateFocusNotify_proto_goTypes = nil
+ file_EvtAvatarUpdateFocusNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtBeingHealedNotify.pb.go b/protocol/proto/EvtBeingHealedNotify.pb.go
new file mode 100644
index 00000000..46e2ff34
--- /dev/null
+++ b/protocol/proto/EvtBeingHealedNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtBeingHealedNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 333
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EvtBeingHealedNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetId uint32 `protobuf:"varint,1,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
+ RealHealAmount float32 `protobuf:"fixed32,5,opt,name=real_heal_amount,json=realHealAmount,proto3" json:"real_heal_amount,omitempty"`
+ SourceId uint32 `protobuf:"varint,13,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
+ HealAmount float32 `protobuf:"fixed32,4,opt,name=heal_amount,json=healAmount,proto3" json:"heal_amount,omitempty"`
+}
+
+func (x *EvtBeingHealedNotify) Reset() {
+ *x = EvtBeingHealedNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtBeingHealedNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtBeingHealedNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtBeingHealedNotify) ProtoMessage() {}
+
+func (x *EvtBeingHealedNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtBeingHealedNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtBeingHealedNotify.ProtoReflect.Descriptor instead.
+func (*EvtBeingHealedNotify) Descriptor() ([]byte, []int) {
+ return file_EvtBeingHealedNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtBeingHealedNotify) GetTargetId() uint32 {
+ if x != nil {
+ return x.TargetId
+ }
+ return 0
+}
+
+func (x *EvtBeingHealedNotify) GetRealHealAmount() float32 {
+ if x != nil {
+ return x.RealHealAmount
+ }
+ return 0
+}
+
+func (x *EvtBeingHealedNotify) GetSourceId() uint32 {
+ if x != nil {
+ return x.SourceId
+ }
+ return 0
+}
+
+func (x *EvtBeingHealedNotify) GetHealAmount() float32 {
+ if x != nil {
+ return x.HealAmount
+ }
+ return 0
+}
+
+var File_EvtBeingHealedNotify_proto protoreflect.FileDescriptor
+
+var file_EvtBeingHealedNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x65, 0x61, 0x6c, 0x65, 0x64,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x01, 0x0a, 0x14, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67,
+ 0x48, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x61,
+ 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x48, 0x65, 0x61, 0x6c, 0x41, 0x6d, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtBeingHealedNotify_proto_rawDescOnce sync.Once
+ file_EvtBeingHealedNotify_proto_rawDescData = file_EvtBeingHealedNotify_proto_rawDesc
+)
+
+func file_EvtBeingHealedNotify_proto_rawDescGZIP() []byte {
+ file_EvtBeingHealedNotify_proto_rawDescOnce.Do(func() {
+ file_EvtBeingHealedNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtBeingHealedNotify_proto_rawDescData)
+ })
+ return file_EvtBeingHealedNotify_proto_rawDescData
+}
+
+var file_EvtBeingHealedNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtBeingHealedNotify_proto_goTypes = []interface{}{
+ (*EvtBeingHealedNotify)(nil), // 0: proto.EvtBeingHealedNotify
+}
+var file_EvtBeingHealedNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EvtBeingHealedNotify_proto_init() }
+func file_EvtBeingHealedNotify_proto_init() {
+ if File_EvtBeingHealedNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EvtBeingHealedNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtBeingHealedNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtBeingHealedNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtBeingHealedNotify_proto_goTypes,
+ DependencyIndexes: file_EvtBeingHealedNotify_proto_depIdxs,
+ MessageInfos: file_EvtBeingHealedNotify_proto_msgTypes,
+ }.Build()
+ File_EvtBeingHealedNotify_proto = out.File
+ file_EvtBeingHealedNotify_proto_rawDesc = nil
+ file_EvtBeingHealedNotify_proto_goTypes = nil
+ file_EvtBeingHealedNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtBeingHitInfo.pb.go b/protocol/proto/EvtBeingHitInfo.pb.go
new file mode 100644
index 00000000..339c3a69
--- /dev/null
+++ b/protocol/proto/EvtBeingHitInfo.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtBeingHitInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtBeingHitInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PeerId uint32 `protobuf:"varint,6,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
+ AttackResult *AttackResult `protobuf:"bytes,7,opt,name=attack_result,json=attackResult,proto3" json:"attack_result,omitempty"`
+ FrameNum uint32 `protobuf:"varint,4,opt,name=frame_num,json=frameNum,proto3" json:"frame_num,omitempty"`
+}
+
+func (x *EvtBeingHitInfo) Reset() {
+ *x = EvtBeingHitInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtBeingHitInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtBeingHitInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtBeingHitInfo) ProtoMessage() {}
+
+func (x *EvtBeingHitInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtBeingHitInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtBeingHitInfo.ProtoReflect.Descriptor instead.
+func (*EvtBeingHitInfo) Descriptor() ([]byte, []int) {
+ return file_EvtBeingHitInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtBeingHitInfo) GetPeerId() uint32 {
+ if x != nil {
+ return x.PeerId
+ }
+ return 0
+}
+
+func (x *EvtBeingHitInfo) GetAttackResult() *AttackResult {
+ if x != nil {
+ return x.AttackResult
+ }
+ return nil
+}
+
+func (x *EvtBeingHitInfo) GetFrameNum() uint32 {
+ if x != nil {
+ return x.FrameNum
+ }
+ return 0
+}
+
+var File_EvtBeingHitInfo_proto protoreflect.FileDescriptor
+
+var file_EvtBeingHitInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12,
+ 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x0f, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48,
+ 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x38, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x61, 0x74, 0x74,
+ 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x61,
+ 0x6d, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x72,
+ 0x61, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtBeingHitInfo_proto_rawDescOnce sync.Once
+ file_EvtBeingHitInfo_proto_rawDescData = file_EvtBeingHitInfo_proto_rawDesc
+)
+
+func file_EvtBeingHitInfo_proto_rawDescGZIP() []byte {
+ file_EvtBeingHitInfo_proto_rawDescOnce.Do(func() {
+ file_EvtBeingHitInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtBeingHitInfo_proto_rawDescData)
+ })
+ return file_EvtBeingHitInfo_proto_rawDescData
+}
+
+var file_EvtBeingHitInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtBeingHitInfo_proto_goTypes = []interface{}{
+ (*EvtBeingHitInfo)(nil), // 0: proto.EvtBeingHitInfo
+ (*AttackResult)(nil), // 1: proto.AttackResult
+}
+var file_EvtBeingHitInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtBeingHitInfo.attack_result:type_name -> proto.AttackResult
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtBeingHitInfo_proto_init() }
+func file_EvtBeingHitInfo_proto_init() {
+ if File_EvtBeingHitInfo_proto != nil {
+ return
+ }
+ file_AttackResult_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtBeingHitInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtBeingHitInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtBeingHitInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtBeingHitInfo_proto_goTypes,
+ DependencyIndexes: file_EvtBeingHitInfo_proto_depIdxs,
+ MessageInfos: file_EvtBeingHitInfo_proto_msgTypes,
+ }.Build()
+ File_EvtBeingHitInfo_proto = out.File
+ file_EvtBeingHitInfo_proto_rawDesc = nil
+ file_EvtBeingHitInfo_proto_goTypes = nil
+ file_EvtBeingHitInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtBeingHitNotify.pb.go b/protocol/proto/EvtBeingHitNotify.pb.go
new file mode 100644
index 00000000..e91b9eb9
--- /dev/null
+++ b/protocol/proto/EvtBeingHitNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtBeingHitNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 372
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtBeingHitNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,6,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ BeingHitInfo *EvtBeingHitInfo `protobuf:"bytes,3,opt,name=being_hit_info,json=beingHitInfo,proto3" json:"being_hit_info,omitempty"`
+}
+
+func (x *EvtBeingHitNotify) Reset() {
+ *x = EvtBeingHitNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtBeingHitNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtBeingHitNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtBeingHitNotify) ProtoMessage() {}
+
+func (x *EvtBeingHitNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtBeingHitNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtBeingHitNotify.ProtoReflect.Descriptor instead.
+func (*EvtBeingHitNotify) Descriptor() ([]byte, []int) {
+ return file_EvtBeingHitNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtBeingHitNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtBeingHitNotify) GetBeingHitInfo() *EvtBeingHitInfo {
+ if x != nil {
+ return x.BeingHitInfo
+ }
+ return nil
+}
+
+var File_EvtBeingHitNotify_proto protoreflect.FileDescriptor
+
+var file_EvtBeingHitNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x15, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x11, 0x45,
+ 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77,
+ 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0e, 0x62, 0x65, 0x69, 0x6e, 0x67,
+ 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67,
+ 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x69,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtBeingHitNotify_proto_rawDescOnce sync.Once
+ file_EvtBeingHitNotify_proto_rawDescData = file_EvtBeingHitNotify_proto_rawDesc
+)
+
+func file_EvtBeingHitNotify_proto_rawDescGZIP() []byte {
+ file_EvtBeingHitNotify_proto_rawDescOnce.Do(func() {
+ file_EvtBeingHitNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtBeingHitNotify_proto_rawDescData)
+ })
+ return file_EvtBeingHitNotify_proto_rawDescData
+}
+
+var file_EvtBeingHitNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtBeingHitNotify_proto_goTypes = []interface{}{
+ (*EvtBeingHitNotify)(nil), // 0: proto.EvtBeingHitNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*EvtBeingHitInfo)(nil), // 2: proto.EvtBeingHitInfo
+}
+var file_EvtBeingHitNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtBeingHitNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtBeingHitNotify.being_hit_info:type_name -> proto.EvtBeingHitInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtBeingHitNotify_proto_init() }
+func file_EvtBeingHitNotify_proto_init() {
+ if File_EvtBeingHitNotify_proto != nil {
+ return
+ }
+ file_EvtBeingHitInfo_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtBeingHitNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtBeingHitNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtBeingHitNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtBeingHitNotify_proto_goTypes,
+ DependencyIndexes: file_EvtBeingHitNotify_proto_depIdxs,
+ MessageInfos: file_EvtBeingHitNotify_proto_msgTypes,
+ }.Build()
+ File_EvtBeingHitNotify_proto = out.File
+ file_EvtBeingHitNotify_proto_rawDesc = nil
+ file_EvtBeingHitNotify_proto_goTypes = nil
+ file_EvtBeingHitNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtBeingHitsCombineNotify.pb.go b/protocol/proto/EvtBeingHitsCombineNotify.pb.go
new file mode 100644
index 00000000..d80c6947
--- /dev/null
+++ b/protocol/proto/EvtBeingHitsCombineNotify.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtBeingHitsCombineNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 346
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtBeingHitsCombineNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,11,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EvtBeingHitInfoList []*EvtBeingHitInfo `protobuf:"bytes,7,rep,name=evt_being_hit_info_list,json=evtBeingHitInfoList,proto3" json:"evt_being_hit_info_list,omitempty"`
+}
+
+func (x *EvtBeingHitsCombineNotify) Reset() {
+ *x = EvtBeingHitsCombineNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtBeingHitsCombineNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtBeingHitsCombineNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtBeingHitsCombineNotify) ProtoMessage() {}
+
+func (x *EvtBeingHitsCombineNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtBeingHitsCombineNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtBeingHitsCombineNotify.ProtoReflect.Descriptor instead.
+func (*EvtBeingHitsCombineNotify) Descriptor() ([]byte, []int) {
+ return file_EvtBeingHitsCombineNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtBeingHitsCombineNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtBeingHitsCombineNotify) GetEvtBeingHitInfoList() []*EvtBeingHitInfo {
+ if x != nil {
+ return x.EvtBeingHitInfoList
+ }
+ return nil
+}
+
+var File_EvtBeingHitsCombineNotify_proto protoreflect.FileDescriptor
+
+var file_EvtBeingHitsCombineNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x73, 0x43, 0x6f,
+ 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69,
+ 0x6e, 0x67, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xa0, 0x01, 0x0a, 0x19, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48,
+ 0x69, 0x74, 0x73, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77,
+ 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x17, 0x65, 0x76, 0x74, 0x5f, 0x62,
+ 0x65, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x45, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x13, 0x65, 0x76, 0x74, 0x42, 0x65, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtBeingHitsCombineNotify_proto_rawDescOnce sync.Once
+ file_EvtBeingHitsCombineNotify_proto_rawDescData = file_EvtBeingHitsCombineNotify_proto_rawDesc
+)
+
+func file_EvtBeingHitsCombineNotify_proto_rawDescGZIP() []byte {
+ file_EvtBeingHitsCombineNotify_proto_rawDescOnce.Do(func() {
+ file_EvtBeingHitsCombineNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtBeingHitsCombineNotify_proto_rawDescData)
+ })
+ return file_EvtBeingHitsCombineNotify_proto_rawDescData
+}
+
+var file_EvtBeingHitsCombineNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtBeingHitsCombineNotify_proto_goTypes = []interface{}{
+ (*EvtBeingHitsCombineNotify)(nil), // 0: proto.EvtBeingHitsCombineNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*EvtBeingHitInfo)(nil), // 2: proto.EvtBeingHitInfo
+}
+var file_EvtBeingHitsCombineNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtBeingHitsCombineNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtBeingHitsCombineNotify.evt_being_hit_info_list:type_name -> proto.EvtBeingHitInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtBeingHitsCombineNotify_proto_init() }
+func file_EvtBeingHitsCombineNotify_proto_init() {
+ if File_EvtBeingHitsCombineNotify_proto != nil {
+ return
+ }
+ file_EvtBeingHitInfo_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtBeingHitsCombineNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtBeingHitsCombineNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtBeingHitsCombineNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtBeingHitsCombineNotify_proto_goTypes,
+ DependencyIndexes: file_EvtBeingHitsCombineNotify_proto_depIdxs,
+ MessageInfos: file_EvtBeingHitsCombineNotify_proto_msgTypes,
+ }.Build()
+ File_EvtBeingHitsCombineNotify_proto = out.File
+ file_EvtBeingHitsCombineNotify_proto_rawDesc = nil
+ file_EvtBeingHitsCombineNotify_proto_goTypes = nil
+ file_EvtBeingHitsCombineNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtBulletDeactiveNotify.pb.go b/protocol/proto/EvtBulletDeactiveNotify.pb.go
new file mode 100644
index 00000000..2e21dcc6
--- /dev/null
+++ b/protocol/proto/EvtBulletDeactiveNotify.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtBulletDeactiveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 397
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtBulletDeactiveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,6,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ DisappearPos *Vector `protobuf:"bytes,4,opt,name=disappear_pos,json=disappearPos,proto3" json:"disappear_pos,omitempty"`
+}
+
+func (x *EvtBulletDeactiveNotify) Reset() {
+ *x = EvtBulletDeactiveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtBulletDeactiveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtBulletDeactiveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtBulletDeactiveNotify) ProtoMessage() {}
+
+func (x *EvtBulletDeactiveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtBulletDeactiveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtBulletDeactiveNotify.ProtoReflect.Descriptor instead.
+func (*EvtBulletDeactiveNotify) Descriptor() ([]byte, []int) {
+ return file_EvtBulletDeactiveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtBulletDeactiveNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtBulletDeactiveNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtBulletDeactiveNotify) GetDisappearPos() *Vector {
+ if x != nil {
+ return x.DisappearPos
+ }
+ return nil
+}
+
+var File_EvtBulletDeactiveNotify_proto protoreflect.FileDescriptor
+
+var file_EvtBulletDeactiveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x45, 0x76, 0x74, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x44, 0x65, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x45, 0x76, 0x74, 0x42,
+ 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x70,
+ 0x70, 0x65, 0x61, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x64,
+ 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x50, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtBulletDeactiveNotify_proto_rawDescOnce sync.Once
+ file_EvtBulletDeactiveNotify_proto_rawDescData = file_EvtBulletDeactiveNotify_proto_rawDesc
+)
+
+func file_EvtBulletDeactiveNotify_proto_rawDescGZIP() []byte {
+ file_EvtBulletDeactiveNotify_proto_rawDescOnce.Do(func() {
+ file_EvtBulletDeactiveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtBulletDeactiveNotify_proto_rawDescData)
+ })
+ return file_EvtBulletDeactiveNotify_proto_rawDescData
+}
+
+var file_EvtBulletDeactiveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtBulletDeactiveNotify_proto_goTypes = []interface{}{
+ (*EvtBulletDeactiveNotify)(nil), // 0: proto.EvtBulletDeactiveNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_EvtBulletDeactiveNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtBulletDeactiveNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtBulletDeactiveNotify.disappear_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtBulletDeactiveNotify_proto_init() }
+func file_EvtBulletDeactiveNotify_proto_init() {
+ if File_EvtBulletDeactiveNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtBulletDeactiveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtBulletDeactiveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtBulletDeactiveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtBulletDeactiveNotify_proto_goTypes,
+ DependencyIndexes: file_EvtBulletDeactiveNotify_proto_depIdxs,
+ MessageInfos: file_EvtBulletDeactiveNotify_proto_msgTypes,
+ }.Build()
+ File_EvtBulletDeactiveNotify_proto = out.File
+ file_EvtBulletDeactiveNotify_proto_rawDesc = nil
+ file_EvtBulletDeactiveNotify_proto_goTypes = nil
+ file_EvtBulletDeactiveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtBulletHitNotify.pb.go b/protocol/proto/EvtBulletHitNotify.pb.go
new file mode 100644
index 00000000..b37fa757
--- /dev/null
+++ b/protocol/proto/EvtBulletHitNotify.pb.go
@@ -0,0 +1,263 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtBulletHitNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 348
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtBulletHitNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SingleBulletId uint32 `protobuf:"varint,8,opt,name=single_bullet_id,json=singleBulletId,proto3" json:"single_bullet_id,omitempty"`
+ HitPoint *Vector `protobuf:"bytes,15,opt,name=hit_point,json=hitPoint,proto3" json:"hit_point,omitempty"`
+ HitNormal *Vector `protobuf:"bytes,11,opt,name=hit_normal,json=hitNormal,proto3" json:"hit_normal,omitempty"`
+ HitBoxIndex int32 `protobuf:"varint,9,opt,name=hit_box_index,json=hitBoxIndex,proto3" json:"hit_box_index,omitempty"`
+ HitEntityId uint32 `protobuf:"varint,3,opt,name=hit_entity_id,json=hitEntityId,proto3" json:"hit_entity_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,5,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ForwardPeer uint32 `protobuf:"varint,7,opt,name=forward_peer,json=forwardPeer,proto3" json:"forward_peer,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,2,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ HitColliderType HitColliderType `protobuf:"varint,6,opt,name=hit_collider_type,json=hitColliderType,proto3,enum=proto.HitColliderType" json:"hit_collider_type,omitempty"`
+}
+
+func (x *EvtBulletHitNotify) Reset() {
+ *x = EvtBulletHitNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtBulletHitNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtBulletHitNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtBulletHitNotify) ProtoMessage() {}
+
+func (x *EvtBulletHitNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtBulletHitNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtBulletHitNotify.ProtoReflect.Descriptor instead.
+func (*EvtBulletHitNotify) Descriptor() ([]byte, []int) {
+ return file_EvtBulletHitNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtBulletHitNotify) GetSingleBulletId() uint32 {
+ if x != nil {
+ return x.SingleBulletId
+ }
+ return 0
+}
+
+func (x *EvtBulletHitNotify) GetHitPoint() *Vector {
+ if x != nil {
+ return x.HitPoint
+ }
+ return nil
+}
+
+func (x *EvtBulletHitNotify) GetHitNormal() *Vector {
+ if x != nil {
+ return x.HitNormal
+ }
+ return nil
+}
+
+func (x *EvtBulletHitNotify) GetHitBoxIndex() int32 {
+ if x != nil {
+ return x.HitBoxIndex
+ }
+ return 0
+}
+
+func (x *EvtBulletHitNotify) GetHitEntityId() uint32 {
+ if x != nil {
+ return x.HitEntityId
+ }
+ return 0
+}
+
+func (x *EvtBulletHitNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtBulletHitNotify) GetForwardPeer() uint32 {
+ if x != nil {
+ return x.ForwardPeer
+ }
+ return 0
+}
+
+func (x *EvtBulletHitNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtBulletHitNotify) GetHitColliderType() HitColliderType {
+ if x != nil {
+ return x.HitColliderType
+ }
+ return HitColliderType_HIT_COLLIDER_TYPE_INVALID
+}
+
+var File_EvtBulletHitNotify_proto protoreflect.FileDescriptor
+
+var file_EvtBulletHitNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x76, 0x74, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x48, 0x69, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65,
+ 0x72, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x03, 0x0a, 0x12, 0x45, 0x76,
+ 0x74, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x48, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x28, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x62, 0x75, 0x6c, 0x6c, 0x65,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67,
+ 0x6c, 0x65, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x68, 0x69,
+ 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x68, 0x69,
+ 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0a, 0x68, 0x69, 0x74, 0x5f, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x68, 0x69, 0x74, 0x4e, 0x6f,
+ 0x72, 0x6d, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x69, 0x74, 0x5f, 0x62, 0x6f, 0x78, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x68, 0x69, 0x74,
+ 0x42, 0x6f, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x69, 0x74, 0x5f,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x68, 0x69, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x6f, 0x72,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x0c,
+ 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x11, 0x68, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69,
+ 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x64,
+ 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x68, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69,
+ 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtBulletHitNotify_proto_rawDescOnce sync.Once
+ file_EvtBulletHitNotify_proto_rawDescData = file_EvtBulletHitNotify_proto_rawDesc
+)
+
+func file_EvtBulletHitNotify_proto_rawDescGZIP() []byte {
+ file_EvtBulletHitNotify_proto_rawDescOnce.Do(func() {
+ file_EvtBulletHitNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtBulletHitNotify_proto_rawDescData)
+ })
+ return file_EvtBulletHitNotify_proto_rawDescData
+}
+
+var file_EvtBulletHitNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtBulletHitNotify_proto_goTypes = []interface{}{
+ (*EvtBulletHitNotify)(nil), // 0: proto.EvtBulletHitNotify
+ (*Vector)(nil), // 1: proto.Vector
+ (ForwardType)(0), // 2: proto.ForwardType
+ (HitColliderType)(0), // 3: proto.HitColliderType
+}
+var file_EvtBulletHitNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtBulletHitNotify.hit_point:type_name -> proto.Vector
+ 1, // 1: proto.EvtBulletHitNotify.hit_normal:type_name -> proto.Vector
+ 2, // 2: proto.EvtBulletHitNotify.forward_type:type_name -> proto.ForwardType
+ 3, // 3: proto.EvtBulletHitNotify.hit_collider_type:type_name -> proto.HitColliderType
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_EvtBulletHitNotify_proto_init() }
+func file_EvtBulletHitNotify_proto_init() {
+ if File_EvtBulletHitNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ file_HitColliderType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtBulletHitNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtBulletHitNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtBulletHitNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtBulletHitNotify_proto_goTypes,
+ DependencyIndexes: file_EvtBulletHitNotify_proto_depIdxs,
+ MessageInfos: file_EvtBulletHitNotify_proto_msgTypes,
+ }.Build()
+ File_EvtBulletHitNotify_proto = out.File
+ file_EvtBulletHitNotify_proto_rawDesc = nil
+ file_EvtBulletHitNotify_proto_goTypes = nil
+ file_EvtBulletHitNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtBulletMoveNotify.pb.go b/protocol/proto/EvtBulletMoveNotify.pb.go
new file mode 100644
index 00000000..c0c946d9
--- /dev/null
+++ b/protocol/proto/EvtBulletMoveNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtBulletMoveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 365
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtBulletMoveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,14,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ CurPos *Vector `protobuf:"bytes,1,opt,name=cur_pos,json=curPos,proto3" json:"cur_pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtBulletMoveNotify) Reset() {
+ *x = EvtBulletMoveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtBulletMoveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtBulletMoveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtBulletMoveNotify) ProtoMessage() {}
+
+func (x *EvtBulletMoveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtBulletMoveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtBulletMoveNotify.ProtoReflect.Descriptor instead.
+func (*EvtBulletMoveNotify) Descriptor() ([]byte, []int) {
+ return file_EvtBulletMoveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtBulletMoveNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtBulletMoveNotify) GetCurPos() *Vector {
+ if x != nil {
+ return x.CurPos
+ }
+ return nil
+}
+
+func (x *EvtBulletMoveNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtBulletMoveNotify_proto protoreflect.FileDescriptor
+
+var file_EvtBulletMoveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x76, 0x74, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x45, 0x76, 0x74, 0x42, 0x75, 0x6c, 0x6c, 0x65,
+ 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x66,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x26, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x06, 0x63, 0x75, 0x72, 0x50, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtBulletMoveNotify_proto_rawDescOnce sync.Once
+ file_EvtBulletMoveNotify_proto_rawDescData = file_EvtBulletMoveNotify_proto_rawDesc
+)
+
+func file_EvtBulletMoveNotify_proto_rawDescGZIP() []byte {
+ file_EvtBulletMoveNotify_proto_rawDescOnce.Do(func() {
+ file_EvtBulletMoveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtBulletMoveNotify_proto_rawDescData)
+ })
+ return file_EvtBulletMoveNotify_proto_rawDescData
+}
+
+var file_EvtBulletMoveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtBulletMoveNotify_proto_goTypes = []interface{}{
+ (*EvtBulletMoveNotify)(nil), // 0: proto.EvtBulletMoveNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_EvtBulletMoveNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtBulletMoveNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtBulletMoveNotify.cur_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtBulletMoveNotify_proto_init() }
+func file_EvtBulletMoveNotify_proto_init() {
+ if File_EvtBulletMoveNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtBulletMoveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtBulletMoveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtBulletMoveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtBulletMoveNotify_proto_goTypes,
+ DependencyIndexes: file_EvtBulletMoveNotify_proto_depIdxs,
+ MessageInfos: file_EvtBulletMoveNotify_proto_msgTypes,
+ }.Build()
+ File_EvtBulletMoveNotify_proto = out.File
+ file_EvtBulletMoveNotify_proto_rawDesc = nil
+ file_EvtBulletMoveNotify_proto_goTypes = nil
+ file_EvtBulletMoveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtCombatForceSetPosInfo.pb.go b/protocol/proto/EvtCombatForceSetPosInfo.pb.go
new file mode 100644
index 00000000..3a725fb0
--- /dev/null
+++ b/protocol/proto/EvtCombatForceSetPosInfo.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtCombatForceSetPosInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtCombatForceSetPosInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IceId uint32 `protobuf:"varint,9,opt,name=ice_id,json=iceId,proto3" json:"ice_id,omitempty"`
+ ColliderEntityId uint32 `protobuf:"varint,10,opt,name=collider_entity_id,json=colliderEntityId,proto3" json:"collider_entity_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,6,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ TargetPos *Vector `protobuf:"bytes,1,opt,name=target_pos,json=targetPos,proto3" json:"target_pos,omitempty"`
+}
+
+func (x *EvtCombatForceSetPosInfo) Reset() {
+ *x = EvtCombatForceSetPosInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtCombatForceSetPosInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtCombatForceSetPosInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtCombatForceSetPosInfo) ProtoMessage() {}
+
+func (x *EvtCombatForceSetPosInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtCombatForceSetPosInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtCombatForceSetPosInfo.ProtoReflect.Descriptor instead.
+func (*EvtCombatForceSetPosInfo) Descriptor() ([]byte, []int) {
+ return file_EvtCombatForceSetPosInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtCombatForceSetPosInfo) GetIceId() uint32 {
+ if x != nil {
+ return x.IceId
+ }
+ return 0
+}
+
+func (x *EvtCombatForceSetPosInfo) GetColliderEntityId() uint32 {
+ if x != nil {
+ return x.ColliderEntityId
+ }
+ return 0
+}
+
+func (x *EvtCombatForceSetPosInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtCombatForceSetPosInfo) GetTargetPos() *Vector {
+ if x != nil {
+ return x.TargetPos
+ }
+ return nil
+}
+
+var File_EvtCombatForceSetPosInfo_proto protoreflect.FileDescriptor
+
+var file_EvtCombatForceSetPosInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x76, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65,
+ 0x53, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x18, 0x45, 0x76, 0x74, 0x43, 0x6f, 0x6d,
+ 0x62, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6c,
+ 0x6c, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50,
+ 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtCombatForceSetPosInfo_proto_rawDescOnce sync.Once
+ file_EvtCombatForceSetPosInfo_proto_rawDescData = file_EvtCombatForceSetPosInfo_proto_rawDesc
+)
+
+func file_EvtCombatForceSetPosInfo_proto_rawDescGZIP() []byte {
+ file_EvtCombatForceSetPosInfo_proto_rawDescOnce.Do(func() {
+ file_EvtCombatForceSetPosInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtCombatForceSetPosInfo_proto_rawDescData)
+ })
+ return file_EvtCombatForceSetPosInfo_proto_rawDescData
+}
+
+var file_EvtCombatForceSetPosInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtCombatForceSetPosInfo_proto_goTypes = []interface{}{
+ (*EvtCombatForceSetPosInfo)(nil), // 0: proto.EvtCombatForceSetPosInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtCombatForceSetPosInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtCombatForceSetPosInfo.target_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtCombatForceSetPosInfo_proto_init() }
+func file_EvtCombatForceSetPosInfo_proto_init() {
+ if File_EvtCombatForceSetPosInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtCombatForceSetPosInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtCombatForceSetPosInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtCombatForceSetPosInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtCombatForceSetPosInfo_proto_goTypes,
+ DependencyIndexes: file_EvtCombatForceSetPosInfo_proto_depIdxs,
+ MessageInfos: file_EvtCombatForceSetPosInfo_proto_msgTypes,
+ }.Build()
+ File_EvtCombatForceSetPosInfo_proto = out.File
+ file_EvtCombatForceSetPosInfo_proto_rawDesc = nil
+ file_EvtCombatForceSetPosInfo_proto_goTypes = nil
+ file_EvtCombatForceSetPosInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtCombatSteerMotionInfo.pb.go b/protocol/proto/EvtCombatSteerMotionInfo.pb.go
new file mode 100644
index 00000000..1b53074e
--- /dev/null
+++ b/protocol/proto/EvtCombatSteerMotionInfo.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtCombatSteerMotionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtCombatSteerMotionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,12,opt,name=pos,proto3" json:"pos,omitempty"`
+ Velocity *Vector `protobuf:"bytes,10,opt,name=velocity,proto3" json:"velocity,omitempty"`
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ FaceDir *Vector `protobuf:"bytes,1,opt,name=face_dir,json=faceDir,proto3" json:"face_dir,omitempty"`
+}
+
+func (x *EvtCombatSteerMotionInfo) Reset() {
+ *x = EvtCombatSteerMotionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtCombatSteerMotionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtCombatSteerMotionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtCombatSteerMotionInfo) ProtoMessage() {}
+
+func (x *EvtCombatSteerMotionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtCombatSteerMotionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtCombatSteerMotionInfo.ProtoReflect.Descriptor instead.
+func (*EvtCombatSteerMotionInfo) Descriptor() ([]byte, []int) {
+ return file_EvtCombatSteerMotionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtCombatSteerMotionInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *EvtCombatSteerMotionInfo) GetVelocity() *Vector {
+ if x != nil {
+ return x.Velocity
+ }
+ return nil
+}
+
+func (x *EvtCombatSteerMotionInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtCombatSteerMotionInfo) GetFaceDir() *Vector {
+ if x != nil {
+ return x.FaceDir
+ }
+ return nil
+}
+
+var File_EvtCombatSteerMotionInfo_proto protoreflect.FileDescriptor
+
+var file_EvtCombatSteerMotionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x76, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x53, 0x74, 0x65, 0x65, 0x72,
+ 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x18, 0x45, 0x76, 0x74, 0x43, 0x6f, 0x6d,
+ 0x62, 0x61, 0x74, 0x53, 0x74, 0x65, 0x65, 0x72, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x12, 0x29, 0x0a, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x08, 0x66,
+ 0x61, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x66, 0x61,
+ 0x63, 0x65, 0x44, 0x69, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtCombatSteerMotionInfo_proto_rawDescOnce sync.Once
+ file_EvtCombatSteerMotionInfo_proto_rawDescData = file_EvtCombatSteerMotionInfo_proto_rawDesc
+)
+
+func file_EvtCombatSteerMotionInfo_proto_rawDescGZIP() []byte {
+ file_EvtCombatSteerMotionInfo_proto_rawDescOnce.Do(func() {
+ file_EvtCombatSteerMotionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtCombatSteerMotionInfo_proto_rawDescData)
+ })
+ return file_EvtCombatSteerMotionInfo_proto_rawDescData
+}
+
+var file_EvtCombatSteerMotionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtCombatSteerMotionInfo_proto_goTypes = []interface{}{
+ (*EvtCombatSteerMotionInfo)(nil), // 0: proto.EvtCombatSteerMotionInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtCombatSteerMotionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtCombatSteerMotionInfo.pos:type_name -> proto.Vector
+ 1, // 1: proto.EvtCombatSteerMotionInfo.velocity:type_name -> proto.Vector
+ 1, // 2: proto.EvtCombatSteerMotionInfo.face_dir:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_EvtCombatSteerMotionInfo_proto_init() }
+func file_EvtCombatSteerMotionInfo_proto_init() {
+ if File_EvtCombatSteerMotionInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtCombatSteerMotionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtCombatSteerMotionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtCombatSteerMotionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtCombatSteerMotionInfo_proto_goTypes,
+ DependencyIndexes: file_EvtCombatSteerMotionInfo_proto_depIdxs,
+ MessageInfos: file_EvtCombatSteerMotionInfo_proto_msgTypes,
+ }.Build()
+ File_EvtCombatSteerMotionInfo_proto = out.File
+ file_EvtCombatSteerMotionInfo_proto_rawDesc = nil
+ file_EvtCombatSteerMotionInfo_proto_goTypes = nil
+ file_EvtCombatSteerMotionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtCompensatePosDiffInfo.pb.go b/protocol/proto/EvtCompensatePosDiffInfo.pb.go
new file mode 100644
index 00000000..c9ea2c02
--- /dev/null
+++ b/protocol/proto/EvtCompensatePosDiffInfo.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtCompensatePosDiffInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtCompensatePosDiffInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurPos *Vector `protobuf:"bytes,14,opt,name=cur_pos,json=curPos,proto3" json:"cur_pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ FaceAngleCompact int32 `protobuf:"varint,10,opt,name=face_angle_compact,json=faceAngleCompact,proto3" json:"face_angle_compact,omitempty"`
+ CurHash uint32 `protobuf:"varint,4,opt,name=cur_hash,json=curHash,proto3" json:"cur_hash,omitempty"`
+ NormalizedTimeCompact uint32 `protobuf:"varint,3,opt,name=normalized_time_compact,json=normalizedTimeCompact,proto3" json:"normalized_time_compact,omitempty"`
+}
+
+func (x *EvtCompensatePosDiffInfo) Reset() {
+ *x = EvtCompensatePosDiffInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtCompensatePosDiffInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtCompensatePosDiffInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtCompensatePosDiffInfo) ProtoMessage() {}
+
+func (x *EvtCompensatePosDiffInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtCompensatePosDiffInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtCompensatePosDiffInfo.ProtoReflect.Descriptor instead.
+func (*EvtCompensatePosDiffInfo) Descriptor() ([]byte, []int) {
+ return file_EvtCompensatePosDiffInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtCompensatePosDiffInfo) GetCurPos() *Vector {
+ if x != nil {
+ return x.CurPos
+ }
+ return nil
+}
+
+func (x *EvtCompensatePosDiffInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtCompensatePosDiffInfo) GetFaceAngleCompact() int32 {
+ if x != nil {
+ return x.FaceAngleCompact
+ }
+ return 0
+}
+
+func (x *EvtCompensatePosDiffInfo) GetCurHash() uint32 {
+ if x != nil {
+ return x.CurHash
+ }
+ return 0
+}
+
+func (x *EvtCompensatePosDiffInfo) GetNormalizedTimeCompact() uint32 {
+ if x != nil {
+ return x.NormalizedTimeCompact
+ }
+ return 0
+}
+
+var File_EvtCompensatePosDiffInfo_proto protoreflect.FileDescriptor
+
+var file_EvtCompensatePosDiffInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x76, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x65, 0x50,
+ 0x6f, 0x73, 0x44, 0x69, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x18, 0x45, 0x76, 0x74, 0x43, 0x6f, 0x6d,
+ 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x73, 0x44, 0x69, 0x66, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x06, 0x63, 0x75, 0x72, 0x50, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x63, 0x65, 0x5f,
+ 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x6f,
+ 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x5f, 0x68, 0x61, 0x73,
+ 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x72, 0x48, 0x61, 0x73, 0x68,
+ 0x12, 0x36, 0x0a, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x15, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtCompensatePosDiffInfo_proto_rawDescOnce sync.Once
+ file_EvtCompensatePosDiffInfo_proto_rawDescData = file_EvtCompensatePosDiffInfo_proto_rawDesc
+)
+
+func file_EvtCompensatePosDiffInfo_proto_rawDescGZIP() []byte {
+ file_EvtCompensatePosDiffInfo_proto_rawDescOnce.Do(func() {
+ file_EvtCompensatePosDiffInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtCompensatePosDiffInfo_proto_rawDescData)
+ })
+ return file_EvtCompensatePosDiffInfo_proto_rawDescData
+}
+
+var file_EvtCompensatePosDiffInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtCompensatePosDiffInfo_proto_goTypes = []interface{}{
+ (*EvtCompensatePosDiffInfo)(nil), // 0: proto.EvtCompensatePosDiffInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtCompensatePosDiffInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtCompensatePosDiffInfo.cur_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtCompensatePosDiffInfo_proto_init() }
+func file_EvtCompensatePosDiffInfo_proto_init() {
+ if File_EvtCompensatePosDiffInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtCompensatePosDiffInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtCompensatePosDiffInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtCompensatePosDiffInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtCompensatePosDiffInfo_proto_goTypes,
+ DependencyIndexes: file_EvtCompensatePosDiffInfo_proto_depIdxs,
+ MessageInfos: file_EvtCompensatePosDiffInfo_proto_msgTypes,
+ }.Build()
+ File_EvtCompensatePosDiffInfo_proto = out.File
+ file_EvtCompensatePosDiffInfo_proto_rawDesc = nil
+ file_EvtCompensatePosDiffInfo_proto_goTypes = nil
+ file_EvtCompensatePosDiffInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtCostStaminaNotify.pb.go b/protocol/proto/EvtCostStaminaNotify.pb.go
new file mode 100644
index 00000000..faba2212
--- /dev/null
+++ b/protocol/proto/EvtCostStaminaNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtCostStaminaNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 373
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtCostStaminaNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,6,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ CostStamina float32 `protobuf:"fixed32,11,opt,name=cost_stamina,json=costStamina,proto3" json:"cost_stamina,omitempty"`
+}
+
+func (x *EvtCostStaminaNotify) Reset() {
+ *x = EvtCostStaminaNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtCostStaminaNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtCostStaminaNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtCostStaminaNotify) ProtoMessage() {}
+
+func (x *EvtCostStaminaNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtCostStaminaNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtCostStaminaNotify.ProtoReflect.Descriptor instead.
+func (*EvtCostStaminaNotify) Descriptor() ([]byte, []int) {
+ return file_EvtCostStaminaNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtCostStaminaNotify) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *EvtCostStaminaNotify) GetCostStamina() float32 {
+ if x != nil {
+ return x.CostStamina
+ }
+ return 0
+}
+
+var File_EvtCostStaminaNotify_proto protoreflect.FileDescriptor
+
+var file_EvtCostStaminaNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x76, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x14, 0x45, 0x76, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x53, 0x74,
+ 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x73,
+ 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x6f,
+ 0x73, 0x74, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtCostStaminaNotify_proto_rawDescOnce sync.Once
+ file_EvtCostStaminaNotify_proto_rawDescData = file_EvtCostStaminaNotify_proto_rawDesc
+)
+
+func file_EvtCostStaminaNotify_proto_rawDescGZIP() []byte {
+ file_EvtCostStaminaNotify_proto_rawDescOnce.Do(func() {
+ file_EvtCostStaminaNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtCostStaminaNotify_proto_rawDescData)
+ })
+ return file_EvtCostStaminaNotify_proto_rawDescData
+}
+
+var file_EvtCostStaminaNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtCostStaminaNotify_proto_goTypes = []interface{}{
+ (*EvtCostStaminaNotify)(nil), // 0: proto.EvtCostStaminaNotify
+}
+var file_EvtCostStaminaNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EvtCostStaminaNotify_proto_init() }
+func file_EvtCostStaminaNotify_proto_init() {
+ if File_EvtCostStaminaNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EvtCostStaminaNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtCostStaminaNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtCostStaminaNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtCostStaminaNotify_proto_goTypes,
+ DependencyIndexes: file_EvtCostStaminaNotify_proto_depIdxs,
+ MessageInfos: file_EvtCostStaminaNotify_proto_msgTypes,
+ }.Build()
+ File_EvtCostStaminaNotify_proto = out.File
+ file_EvtCostStaminaNotify_proto_rawDesc = nil
+ file_EvtCostStaminaNotify_proto_goTypes = nil
+ file_EvtCostStaminaNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtCreateGadgetNotify.pb.go b/protocol/proto/EvtCreateGadgetNotify.pb.go
new file mode 100644
index 00000000..a642dcaa
--- /dev/null
+++ b/protocol/proto/EvtCreateGadgetNotify.pb.go
@@ -0,0 +1,366 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtCreateGadgetNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 307
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtCreateGadgetNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAsyncLoad bool `protobuf:"varint,8,opt,name=is_async_load,json=isAsyncLoad,proto3" json:"is_async_load,omitempty"`
+ CampType uint32 `protobuf:"varint,5,opt,name=camp_type,json=campType,proto3" json:"camp_type,omitempty"`
+ SightGroupWithOwner bool `protobuf:"varint,10,opt,name=sight_group_with_owner,json=sightGroupWithOwner,proto3" json:"sight_group_with_owner,omitempty"`
+ TargetEntityIdList []uint32 `protobuf:"varint,889,rep,packed,name=target_entity_id_list,json=targetEntityIdList,proto3" json:"target_entity_id_list,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,12,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ TargetEntityId uint32 `protobuf:"varint,3,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+ CampId uint32 `protobuf:"varint,15,opt,name=camp_id,json=campId,proto3" json:"camp_id,omitempty"`
+ Guid uint64 `protobuf:"varint,6,opt,name=guid,proto3" json:"guid,omitempty"`
+ InitEulerAngles *Vector `protobuf:"bytes,13,opt,name=init_euler_angles,json=initEulerAngles,proto3" json:"init_euler_angles,omitempty"`
+ TargetLockPointIndex uint32 `protobuf:"varint,11,opt,name=target_lock_point_index,json=targetLockPointIndex,proto3" json:"target_lock_point_index,omitempty"`
+ TargetLockPointIndexList []uint32 `protobuf:"varint,1920,rep,packed,name=target_lock_point_index_list,json=targetLockPointIndexList,proto3" json:"target_lock_point_index_list,omitempty"`
+ InitPos *Vector `protobuf:"bytes,4,opt,name=init_pos,json=initPos,proto3" json:"init_pos,omitempty"`
+ OwnerEntityId uint32 `protobuf:"varint,9,opt,name=owner_entity_id,json=ownerEntityId,proto3" json:"owner_entity_id,omitempty"`
+ RoomId uint32 `protobuf:"varint,7,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ IsPeerIdFromPlayer bool `protobuf:"varint,25,opt,name=is_peer_id_from_player,json=isPeerIdFromPlayer,proto3" json:"is_peer_id_from_player,omitempty"`
+ PropOwnerEntityId uint32 `protobuf:"varint,1,opt,name=prop_owner_entity_id,json=propOwnerEntityId,proto3" json:"prop_owner_entity_id,omitempty"`
+ IsTrueLifeTimeByOwner bool `protobuf:"varint,379,opt,name=is_true_life_time_by_owner,json=isTrueLifeTimeByOwner,proto3" json:"is_true_life_time_by_owner,omitempty"`
+ ConfigId uint32 `protobuf:"varint,14,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *EvtCreateGadgetNotify) Reset() {
+ *x = EvtCreateGadgetNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtCreateGadgetNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtCreateGadgetNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtCreateGadgetNotify) ProtoMessage() {}
+
+func (x *EvtCreateGadgetNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtCreateGadgetNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtCreateGadgetNotify.ProtoReflect.Descriptor instead.
+func (*EvtCreateGadgetNotify) Descriptor() ([]byte, []int) {
+ return file_EvtCreateGadgetNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtCreateGadgetNotify) GetIsAsyncLoad() bool {
+ if x != nil {
+ return x.IsAsyncLoad
+ }
+ return false
+}
+
+func (x *EvtCreateGadgetNotify) GetCampType() uint32 {
+ if x != nil {
+ return x.CampType
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetSightGroupWithOwner() bool {
+ if x != nil {
+ return x.SightGroupWithOwner
+ }
+ return false
+}
+
+func (x *EvtCreateGadgetNotify) GetTargetEntityIdList() []uint32 {
+ if x != nil {
+ return x.TargetEntityIdList
+ }
+ return nil
+}
+
+func (x *EvtCreateGadgetNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtCreateGadgetNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetCampId() uint32 {
+ if x != nil {
+ return x.CampId
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetInitEulerAngles() *Vector {
+ if x != nil {
+ return x.InitEulerAngles
+ }
+ return nil
+}
+
+func (x *EvtCreateGadgetNotify) GetTargetLockPointIndex() uint32 {
+ if x != nil {
+ return x.TargetLockPointIndex
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetTargetLockPointIndexList() []uint32 {
+ if x != nil {
+ return x.TargetLockPointIndexList
+ }
+ return nil
+}
+
+func (x *EvtCreateGadgetNotify) GetInitPos() *Vector {
+ if x != nil {
+ return x.InitPos
+ }
+ return nil
+}
+
+func (x *EvtCreateGadgetNotify) GetOwnerEntityId() uint32 {
+ if x != nil {
+ return x.OwnerEntityId
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetIsPeerIdFromPlayer() bool {
+ if x != nil {
+ return x.IsPeerIdFromPlayer
+ }
+ return false
+}
+
+func (x *EvtCreateGadgetNotify) GetPropOwnerEntityId() uint32 {
+ if x != nil {
+ return x.PropOwnerEntityId
+ }
+ return 0
+}
+
+func (x *EvtCreateGadgetNotify) GetIsTrueLifeTimeByOwner() bool {
+ if x != nil {
+ return x.IsTrueLifeTimeByOwner
+ }
+ return false
+}
+
+func (x *EvtCreateGadgetNotify) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_EvtCreateGadgetNotify_proto protoreflect.FileDescriptor
+
+var file_EvtCreateGadgetNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x76, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x06, 0x0a, 0x15, 0x45, 0x76, 0x74, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x61, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x4c,
+ 0x6f, 0x61, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x33, 0x0a, 0x16, 0x73, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+ 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x13, 0x73, 0x69, 0x67, 0x68, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68,
+ 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xf9,
+ 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a,
+ 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x6d, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x6d, 0x70, 0x49, 0x64,
+ 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04,
+ 0x67, 0x75, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x65, 0x75, 0x6c,
+ 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f,
+ 0x69, 0x6e, 0x69, 0x74, 0x45, 0x75, 0x6c, 0x65, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12,
+ 0x35, 0x0a, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3f, 0x0a, 0x1c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x80, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x18, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x08, 0x69, 0x6e, 0x69, 0x74, 0x5f,
+ 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x69, 0x6e, 0x69, 0x74, 0x50, 0x6f,
+ 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65,
+ 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f,
+ 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
+ 0x49, 0x64, 0x12, 0x32, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x19, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x46, 0x72, 0x6f, 0x6d,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6f,
+ 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x74, 0x72,
+ 0x75, 0x65, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x79, 0x5f,
+ 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0xfb, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73,
+ 0x54, 0x72, 0x75, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x79, 0x4f, 0x77,
+ 0x6e, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtCreateGadgetNotify_proto_rawDescOnce sync.Once
+ file_EvtCreateGadgetNotify_proto_rawDescData = file_EvtCreateGadgetNotify_proto_rawDesc
+)
+
+func file_EvtCreateGadgetNotify_proto_rawDescGZIP() []byte {
+ file_EvtCreateGadgetNotify_proto_rawDescOnce.Do(func() {
+ file_EvtCreateGadgetNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtCreateGadgetNotify_proto_rawDescData)
+ })
+ return file_EvtCreateGadgetNotify_proto_rawDescData
+}
+
+var file_EvtCreateGadgetNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtCreateGadgetNotify_proto_goTypes = []interface{}{
+ (*EvtCreateGadgetNotify)(nil), // 0: proto.EvtCreateGadgetNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_EvtCreateGadgetNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtCreateGadgetNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtCreateGadgetNotify.init_euler_angles:type_name -> proto.Vector
+ 2, // 2: proto.EvtCreateGadgetNotify.init_pos:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_EvtCreateGadgetNotify_proto_init() }
+func file_EvtCreateGadgetNotify_proto_init() {
+ if File_EvtCreateGadgetNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtCreateGadgetNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtCreateGadgetNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtCreateGadgetNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtCreateGadgetNotify_proto_goTypes,
+ DependencyIndexes: file_EvtCreateGadgetNotify_proto_depIdxs,
+ MessageInfos: file_EvtCreateGadgetNotify_proto_msgTypes,
+ }.Build()
+ File_EvtCreateGadgetNotify_proto = out.File
+ file_EvtCreateGadgetNotify_proto_rawDesc = nil
+ file_EvtCreateGadgetNotify_proto_goTypes = nil
+ file_EvtCreateGadgetNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtDestroyGadgetNotify.pb.go b/protocol/proto/EvtDestroyGadgetNotify.pb.go
new file mode 100644
index 00000000..a1e7514b
--- /dev/null
+++ b/protocol/proto/EvtDestroyGadgetNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtDestroyGadgetNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 321
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtDestroyGadgetNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,5,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EntityId uint32 `protobuf:"varint,3,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtDestroyGadgetNotify) Reset() {
+ *x = EvtDestroyGadgetNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtDestroyGadgetNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtDestroyGadgetNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtDestroyGadgetNotify) ProtoMessage() {}
+
+func (x *EvtDestroyGadgetNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtDestroyGadgetNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtDestroyGadgetNotify.ProtoReflect.Descriptor instead.
+func (*EvtDestroyGadgetNotify) Descriptor() ([]byte, []int) {
+ return file_EvtDestroyGadgetNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtDestroyGadgetNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtDestroyGadgetNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtDestroyGadgetNotify_proto protoreflect.FileDescriptor
+
+var file_EvtDestroyGadgetNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x76, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x16, 0x45, 0x76, 0x74, 0x44,
+ 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f,
+ 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtDestroyGadgetNotify_proto_rawDescOnce sync.Once
+ file_EvtDestroyGadgetNotify_proto_rawDescData = file_EvtDestroyGadgetNotify_proto_rawDesc
+)
+
+func file_EvtDestroyGadgetNotify_proto_rawDescGZIP() []byte {
+ file_EvtDestroyGadgetNotify_proto_rawDescOnce.Do(func() {
+ file_EvtDestroyGadgetNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtDestroyGadgetNotify_proto_rawDescData)
+ })
+ return file_EvtDestroyGadgetNotify_proto_rawDescData
+}
+
+var file_EvtDestroyGadgetNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtDestroyGadgetNotify_proto_goTypes = []interface{}{
+ (*EvtDestroyGadgetNotify)(nil), // 0: proto.EvtDestroyGadgetNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+}
+var file_EvtDestroyGadgetNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtDestroyGadgetNotify.forward_type:type_name -> proto.ForwardType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtDestroyGadgetNotify_proto_init() }
+func file_EvtDestroyGadgetNotify_proto_init() {
+ if File_EvtDestroyGadgetNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtDestroyGadgetNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtDestroyGadgetNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtDestroyGadgetNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtDestroyGadgetNotify_proto_goTypes,
+ DependencyIndexes: file_EvtDestroyGadgetNotify_proto_depIdxs,
+ MessageInfos: file_EvtDestroyGadgetNotify_proto_msgTypes,
+ }.Build()
+ File_EvtDestroyGadgetNotify_proto = out.File
+ file_EvtDestroyGadgetNotify_proto_rawDesc = nil
+ file_EvtDestroyGadgetNotify_proto_goTypes = nil
+ file_EvtDestroyGadgetNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtDestroyServerGadgetNotify.pb.go b/protocol/proto/EvtDestroyServerGadgetNotify.pb.go
new file mode 100644
index 00000000..9b384b7e
--- /dev/null
+++ b/protocol/proto/EvtDestroyServerGadgetNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtDestroyServerGadgetNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 387
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtDestroyServerGadgetNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtDestroyServerGadgetNotify) Reset() {
+ *x = EvtDestroyServerGadgetNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtDestroyServerGadgetNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtDestroyServerGadgetNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtDestroyServerGadgetNotify) ProtoMessage() {}
+
+func (x *EvtDestroyServerGadgetNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtDestroyServerGadgetNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtDestroyServerGadgetNotify.ProtoReflect.Descriptor instead.
+func (*EvtDestroyServerGadgetNotify) Descriptor() ([]byte, []int) {
+ return file_EvtDestroyServerGadgetNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtDestroyServerGadgetNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtDestroyServerGadgetNotify_proto protoreflect.FileDescriptor
+
+var file_EvtDestroyServerGadgetNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x45, 0x76, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x53, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x1c, 0x45,
+ 0x76, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtDestroyServerGadgetNotify_proto_rawDescOnce sync.Once
+ file_EvtDestroyServerGadgetNotify_proto_rawDescData = file_EvtDestroyServerGadgetNotify_proto_rawDesc
+)
+
+func file_EvtDestroyServerGadgetNotify_proto_rawDescGZIP() []byte {
+ file_EvtDestroyServerGadgetNotify_proto_rawDescOnce.Do(func() {
+ file_EvtDestroyServerGadgetNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtDestroyServerGadgetNotify_proto_rawDescData)
+ })
+ return file_EvtDestroyServerGadgetNotify_proto_rawDescData
+}
+
+var file_EvtDestroyServerGadgetNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtDestroyServerGadgetNotify_proto_goTypes = []interface{}{
+ (*EvtDestroyServerGadgetNotify)(nil), // 0: proto.EvtDestroyServerGadgetNotify
+}
+var file_EvtDestroyServerGadgetNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EvtDestroyServerGadgetNotify_proto_init() }
+func file_EvtDestroyServerGadgetNotify_proto_init() {
+ if File_EvtDestroyServerGadgetNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EvtDestroyServerGadgetNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtDestroyServerGadgetNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtDestroyServerGadgetNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtDestroyServerGadgetNotify_proto_goTypes,
+ DependencyIndexes: file_EvtDestroyServerGadgetNotify_proto_depIdxs,
+ MessageInfos: file_EvtDestroyServerGadgetNotify_proto_msgTypes,
+ }.Build()
+ File_EvtDestroyServerGadgetNotify_proto = out.File
+ file_EvtDestroyServerGadgetNotify_proto_rawDesc = nil
+ file_EvtDestroyServerGadgetNotify_proto_goTypes = nil
+ file_EvtDestroyServerGadgetNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtDoSkillSuccNotify.pb.go b/protocol/proto/EvtDoSkillSuccNotify.pb.go
new file mode 100644
index 00000000..429adf0c
--- /dev/null
+++ b/protocol/proto/EvtDoSkillSuccNotify.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtDoSkillSuccNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 335
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtDoSkillSuccNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CasterId uint32 `protobuf:"varint,13,opt,name=caster_id,json=casterId,proto3" json:"caster_id,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,10,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ Forward *Vector `protobuf:"bytes,15,opt,name=forward,proto3" json:"forward,omitempty"`
+ SkillId uint32 `protobuf:"varint,7,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+}
+
+func (x *EvtDoSkillSuccNotify) Reset() {
+ *x = EvtDoSkillSuccNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtDoSkillSuccNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtDoSkillSuccNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtDoSkillSuccNotify) ProtoMessage() {}
+
+func (x *EvtDoSkillSuccNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtDoSkillSuccNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtDoSkillSuccNotify.ProtoReflect.Descriptor instead.
+func (*EvtDoSkillSuccNotify) Descriptor() ([]byte, []int) {
+ return file_EvtDoSkillSuccNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtDoSkillSuccNotify) GetCasterId() uint32 {
+ if x != nil {
+ return x.CasterId
+ }
+ return 0
+}
+
+func (x *EvtDoSkillSuccNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtDoSkillSuccNotify) GetForward() *Vector {
+ if x != nil {
+ return x.Forward
+ }
+ return nil
+}
+
+func (x *EvtDoSkillSuccNotify) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+var File_EvtDoSkillSuccNotify_proto protoreflect.FileDescriptor
+
+var file_EvtDoSkillSuccNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x76, 0x74, 0x44, 0x6f, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x75, 0x63, 0x63,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x45, 0x76, 0x74, 0x44, 0x6f, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f,
+ 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x27, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtDoSkillSuccNotify_proto_rawDescOnce sync.Once
+ file_EvtDoSkillSuccNotify_proto_rawDescData = file_EvtDoSkillSuccNotify_proto_rawDesc
+)
+
+func file_EvtDoSkillSuccNotify_proto_rawDescGZIP() []byte {
+ file_EvtDoSkillSuccNotify_proto_rawDescOnce.Do(func() {
+ file_EvtDoSkillSuccNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtDoSkillSuccNotify_proto_rawDescData)
+ })
+ return file_EvtDoSkillSuccNotify_proto_rawDescData
+}
+
+var file_EvtDoSkillSuccNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtDoSkillSuccNotify_proto_goTypes = []interface{}{
+ (*EvtDoSkillSuccNotify)(nil), // 0: proto.EvtDoSkillSuccNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_EvtDoSkillSuccNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtDoSkillSuccNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtDoSkillSuccNotify.forward:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtDoSkillSuccNotify_proto_init() }
+func file_EvtDoSkillSuccNotify_proto_init() {
+ if File_EvtDoSkillSuccNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtDoSkillSuccNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtDoSkillSuccNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtDoSkillSuccNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtDoSkillSuccNotify_proto_goTypes,
+ DependencyIndexes: file_EvtDoSkillSuccNotify_proto_depIdxs,
+ MessageInfos: file_EvtDoSkillSuccNotify_proto_msgTypes,
+ }.Build()
+ File_EvtDoSkillSuccNotify_proto = out.File
+ file_EvtDoSkillSuccNotify_proto_rawDesc = nil
+ file_EvtDoSkillSuccNotify_proto_goTypes = nil
+ file_EvtDoSkillSuccNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtEntityRenderersChangedNotify.pb.go b/protocol/proto/EvtEntityRenderersChangedNotify.pb.go
new file mode 100644
index 00000000..96546c45
--- /dev/null
+++ b/protocol/proto/EvtEntityRenderersChangedNotify.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtEntityRenderersChangedNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 343
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtEntityRenderersChangedNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,8,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ IsServerCache bool `protobuf:"varint,3,opt,name=is_server_cache,json=isServerCache,proto3" json:"is_server_cache,omitempty"`
+ RendererChangedInfo *EntityRendererChangedInfo `protobuf:"bytes,5,opt,name=renderer_changed_info,json=rendererChangedInfo,proto3" json:"renderer_changed_info,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtEntityRenderersChangedNotify) Reset() {
+ *x = EvtEntityRenderersChangedNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtEntityRenderersChangedNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtEntityRenderersChangedNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtEntityRenderersChangedNotify) ProtoMessage() {}
+
+func (x *EvtEntityRenderersChangedNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtEntityRenderersChangedNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtEntityRenderersChangedNotify.ProtoReflect.Descriptor instead.
+func (*EvtEntityRenderersChangedNotify) Descriptor() ([]byte, []int) {
+ return file_EvtEntityRenderersChangedNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtEntityRenderersChangedNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtEntityRenderersChangedNotify) GetIsServerCache() bool {
+ if x != nil {
+ return x.IsServerCache
+ }
+ return false
+}
+
+func (x *EvtEntityRenderersChangedNotify) GetRendererChangedInfo() *EntityRendererChangedInfo {
+ if x != nil {
+ return x.RendererChangedInfo
+ }
+ return nil
+}
+
+func (x *EvtEntityRenderersChangedNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtEntityRenderersChangedNotify_proto protoreflect.FileDescriptor
+
+var file_EvtEntityRenderersChangedNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x45, 0x76, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6e, 0x64, 0x65,
+ 0x72, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a, 0x1f, 0x45, 0x76, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a,
+ 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x54, 0x0a, 0x15, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65,
+ 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtEntityRenderersChangedNotify_proto_rawDescOnce sync.Once
+ file_EvtEntityRenderersChangedNotify_proto_rawDescData = file_EvtEntityRenderersChangedNotify_proto_rawDesc
+)
+
+func file_EvtEntityRenderersChangedNotify_proto_rawDescGZIP() []byte {
+ file_EvtEntityRenderersChangedNotify_proto_rawDescOnce.Do(func() {
+ file_EvtEntityRenderersChangedNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtEntityRenderersChangedNotify_proto_rawDescData)
+ })
+ return file_EvtEntityRenderersChangedNotify_proto_rawDescData
+}
+
+var file_EvtEntityRenderersChangedNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtEntityRenderersChangedNotify_proto_goTypes = []interface{}{
+ (*EvtEntityRenderersChangedNotify)(nil), // 0: proto.EvtEntityRenderersChangedNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*EntityRendererChangedInfo)(nil), // 2: proto.EntityRendererChangedInfo
+}
+var file_EvtEntityRenderersChangedNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtEntityRenderersChangedNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtEntityRenderersChangedNotify.renderer_changed_info:type_name -> proto.EntityRendererChangedInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtEntityRenderersChangedNotify_proto_init() }
+func file_EvtEntityRenderersChangedNotify_proto_init() {
+ if File_EvtEntityRenderersChangedNotify_proto != nil {
+ return
+ }
+ file_EntityRendererChangedInfo_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtEntityRenderersChangedNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtEntityRenderersChangedNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtEntityRenderersChangedNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtEntityRenderersChangedNotify_proto_goTypes,
+ DependencyIndexes: file_EvtEntityRenderersChangedNotify_proto_depIdxs,
+ MessageInfos: file_EvtEntityRenderersChangedNotify_proto_msgTypes,
+ }.Build()
+ File_EvtEntityRenderersChangedNotify_proto = out.File
+ file_EvtEntityRenderersChangedNotify_proto_rawDesc = nil
+ file_EvtEntityRenderersChangedNotify_proto_goTypes = nil
+ file_EvtEntityRenderersChangedNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtEntityStartDieEndNotify.pb.go b/protocol/proto/EvtEntityStartDieEndNotify.pb.go
new file mode 100644
index 00000000..e866b2ec
--- /dev/null
+++ b/protocol/proto/EvtEntityStartDieEndNotify.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtEntityStartDieEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 381
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtEntityStartDieEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Immediately bool `protobuf:"varint,15,opt,name=immediately,proto3" json:"immediately,omitempty"`
+ DieStateFlag uint32 `protobuf:"varint,12,opt,name=die_state_flag,json=dieStateFlag,proto3" json:"die_state_flag,omitempty"`
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,11,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+}
+
+func (x *EvtEntityStartDieEndNotify) Reset() {
+ *x = EvtEntityStartDieEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtEntityStartDieEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtEntityStartDieEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtEntityStartDieEndNotify) ProtoMessage() {}
+
+func (x *EvtEntityStartDieEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtEntityStartDieEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtEntityStartDieEndNotify.ProtoReflect.Descriptor instead.
+func (*EvtEntityStartDieEndNotify) Descriptor() ([]byte, []int) {
+ return file_EvtEntityStartDieEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtEntityStartDieEndNotify) GetImmediately() bool {
+ if x != nil {
+ return x.Immediately
+ }
+ return false
+}
+
+func (x *EvtEntityStartDieEndNotify) GetDieStateFlag() uint32 {
+ if x != nil {
+ return x.DieStateFlag
+ }
+ return 0
+}
+
+func (x *EvtEntityStartDieEndNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtEntityStartDieEndNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+var File_EvtEntityStartDieEndNotify_proto protoreflect.FileDescriptor
+
+var file_EvtEntityStartDieEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x45, 0x76, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x44, 0x69, 0x65, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a,
+ 0x1a, 0x45, 0x76, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44,
+ 0x69, 0x65, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x69,
+ 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0b, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x24, 0x0a,
+ 0x0e, 0x64, 0x69, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46,
+ 0x6c, 0x61, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77,
+ 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtEntityStartDieEndNotify_proto_rawDescOnce sync.Once
+ file_EvtEntityStartDieEndNotify_proto_rawDescData = file_EvtEntityStartDieEndNotify_proto_rawDesc
+)
+
+func file_EvtEntityStartDieEndNotify_proto_rawDescGZIP() []byte {
+ file_EvtEntityStartDieEndNotify_proto_rawDescOnce.Do(func() {
+ file_EvtEntityStartDieEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtEntityStartDieEndNotify_proto_rawDescData)
+ })
+ return file_EvtEntityStartDieEndNotify_proto_rawDescData
+}
+
+var file_EvtEntityStartDieEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtEntityStartDieEndNotify_proto_goTypes = []interface{}{
+ (*EvtEntityStartDieEndNotify)(nil), // 0: proto.EvtEntityStartDieEndNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+}
+var file_EvtEntityStartDieEndNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtEntityStartDieEndNotify.forward_type:type_name -> proto.ForwardType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtEntityStartDieEndNotify_proto_init() }
+func file_EvtEntityStartDieEndNotify_proto_init() {
+ if File_EvtEntityStartDieEndNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtEntityStartDieEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtEntityStartDieEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtEntityStartDieEndNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtEntityStartDieEndNotify_proto_goTypes,
+ DependencyIndexes: file_EvtEntityStartDieEndNotify_proto_depIdxs,
+ MessageInfos: file_EvtEntityStartDieEndNotify_proto_msgTypes,
+ }.Build()
+ File_EvtEntityStartDieEndNotify_proto = out.File
+ file_EvtEntityStartDieEndNotify_proto_rawDesc = nil
+ file_EvtEntityStartDieEndNotify_proto_goTypes = nil
+ file_EvtEntityStartDieEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtFaceToDirInfo.pb.go b/protocol/proto/EvtFaceToDirInfo.pb.go
new file mode 100644
index 00000000..52d83105
--- /dev/null
+++ b/protocol/proto/EvtFaceToDirInfo.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtFaceToDirInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtFaceToDirInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,12,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ FaceDir *Vector `protobuf:"bytes,14,opt,name=face_dir,json=faceDir,proto3" json:"face_dir,omitempty"`
+}
+
+func (x *EvtFaceToDirInfo) Reset() {
+ *x = EvtFaceToDirInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtFaceToDirInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtFaceToDirInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtFaceToDirInfo) ProtoMessage() {}
+
+func (x *EvtFaceToDirInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtFaceToDirInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtFaceToDirInfo.ProtoReflect.Descriptor instead.
+func (*EvtFaceToDirInfo) Descriptor() ([]byte, []int) {
+ return file_EvtFaceToDirInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtFaceToDirInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtFaceToDirInfo) GetFaceDir() *Vector {
+ if x != nil {
+ return x.FaceDir
+ }
+ return nil
+}
+
+var File_EvtFaceToDirInfo_proto protoreflect.FileDescriptor
+
+var file_EvtFaceToDirInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x45, 0x76, 0x74, 0x46, 0x61, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x69, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a,
+ 0x10, 0x45, 0x76, 0x74, 0x46, 0x61, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x69, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x28,
+ 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x07, 0x66, 0x61, 0x63, 0x65, 0x44, 0x69, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtFaceToDirInfo_proto_rawDescOnce sync.Once
+ file_EvtFaceToDirInfo_proto_rawDescData = file_EvtFaceToDirInfo_proto_rawDesc
+)
+
+func file_EvtFaceToDirInfo_proto_rawDescGZIP() []byte {
+ file_EvtFaceToDirInfo_proto_rawDescOnce.Do(func() {
+ file_EvtFaceToDirInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtFaceToDirInfo_proto_rawDescData)
+ })
+ return file_EvtFaceToDirInfo_proto_rawDescData
+}
+
+var file_EvtFaceToDirInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtFaceToDirInfo_proto_goTypes = []interface{}{
+ (*EvtFaceToDirInfo)(nil), // 0: proto.EvtFaceToDirInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtFaceToDirInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtFaceToDirInfo.face_dir:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtFaceToDirInfo_proto_init() }
+func file_EvtFaceToDirInfo_proto_init() {
+ if File_EvtFaceToDirInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtFaceToDirInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtFaceToDirInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtFaceToDirInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtFaceToDirInfo_proto_goTypes,
+ DependencyIndexes: file_EvtFaceToDirInfo_proto_depIdxs,
+ MessageInfos: file_EvtFaceToDirInfo_proto_msgTypes,
+ }.Build()
+ File_EvtFaceToDirInfo_proto = out.File
+ file_EvtFaceToDirInfo_proto_rawDesc = nil
+ file_EvtFaceToDirInfo_proto_goTypes = nil
+ file_EvtFaceToDirInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtFaceToDirNotify.pb.go b/protocol/proto/EvtFaceToDirNotify.pb.go
new file mode 100644
index 00000000..8a78b488
--- /dev/null
+++ b/protocol/proto/EvtFaceToDirNotify.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtFaceToDirNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 390
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtFaceToDirNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,13,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EvtFaceToDirInfo *EvtFaceToDirInfo `protobuf:"bytes,5,opt,name=evt_face_to_dir_info,json=evtFaceToDirInfo,proto3" json:"evt_face_to_dir_info,omitempty"`
+}
+
+func (x *EvtFaceToDirNotify) Reset() {
+ *x = EvtFaceToDirNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtFaceToDirNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtFaceToDirNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtFaceToDirNotify) ProtoMessage() {}
+
+func (x *EvtFaceToDirNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtFaceToDirNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtFaceToDirNotify.ProtoReflect.Descriptor instead.
+func (*EvtFaceToDirNotify) Descriptor() ([]byte, []int) {
+ return file_EvtFaceToDirNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtFaceToDirNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtFaceToDirNotify) GetEvtFaceToDirInfo() *EvtFaceToDirInfo {
+ if x != nil {
+ return x.EvtFaceToDirInfo
+ }
+ return nil
+}
+
+var File_EvtFaceToDirNotify_proto protoreflect.FileDescriptor
+
+var file_EvtFaceToDirNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x76, 0x74, 0x46, 0x61, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x69, 0x72, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x16, 0x45, 0x76, 0x74, 0x46, 0x61, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x69, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a,
+ 0x12, 0x45, 0x76, 0x74, 0x46, 0x61, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x69, 0x72, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x65, 0x76,
+ 0x74, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x69, 0x72, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x45, 0x76, 0x74, 0x46, 0x61, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x69, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x10, 0x65, 0x76, 0x74, 0x46, 0x61, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x69, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtFaceToDirNotify_proto_rawDescOnce sync.Once
+ file_EvtFaceToDirNotify_proto_rawDescData = file_EvtFaceToDirNotify_proto_rawDesc
+)
+
+func file_EvtFaceToDirNotify_proto_rawDescGZIP() []byte {
+ file_EvtFaceToDirNotify_proto_rawDescOnce.Do(func() {
+ file_EvtFaceToDirNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtFaceToDirNotify_proto_rawDescData)
+ })
+ return file_EvtFaceToDirNotify_proto_rawDescData
+}
+
+var file_EvtFaceToDirNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtFaceToDirNotify_proto_goTypes = []interface{}{
+ (*EvtFaceToDirNotify)(nil), // 0: proto.EvtFaceToDirNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*EvtFaceToDirInfo)(nil), // 2: proto.EvtFaceToDirInfo
+}
+var file_EvtFaceToDirNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtFaceToDirNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtFaceToDirNotify.evt_face_to_dir_info:type_name -> proto.EvtFaceToDirInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtFaceToDirNotify_proto_init() }
+func file_EvtFaceToDirNotify_proto_init() {
+ if File_EvtFaceToDirNotify_proto != nil {
+ return
+ }
+ file_EvtFaceToDirInfo_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtFaceToDirNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtFaceToDirNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtFaceToDirNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtFaceToDirNotify_proto_goTypes,
+ DependencyIndexes: file_EvtFaceToDirNotify_proto_depIdxs,
+ MessageInfos: file_EvtFaceToDirNotify_proto_msgTypes,
+ }.Build()
+ File_EvtFaceToDirNotify_proto = out.File
+ file_EvtFaceToDirNotify_proto_rawDesc = nil
+ file_EvtFaceToDirNotify_proto_goTypes = nil
+ file_EvtFaceToDirNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtFaceToEntityNotify.pb.go b/protocol/proto/EvtFaceToEntityNotify.pb.go
new file mode 100644
index 00000000..c8ea15ea
--- /dev/null
+++ b/protocol/proto/EvtFaceToEntityNotify.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtFaceToEntityNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 303
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtFaceToEntityNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FaceEntityId uint32 `protobuf:"varint,5,opt,name=face_entity_id,json=faceEntityId,proto3" json:"face_entity_id,omitempty"`
+ ForwardType ForwardType `protobuf:"varint,9,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtFaceToEntityNotify) Reset() {
+ *x = EvtFaceToEntityNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtFaceToEntityNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtFaceToEntityNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtFaceToEntityNotify) ProtoMessage() {}
+
+func (x *EvtFaceToEntityNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtFaceToEntityNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtFaceToEntityNotify.ProtoReflect.Descriptor instead.
+func (*EvtFaceToEntityNotify) Descriptor() ([]byte, []int) {
+ return file_EvtFaceToEntityNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtFaceToEntityNotify) GetFaceEntityId() uint32 {
+ if x != nil {
+ return x.FaceEntityId
+ }
+ return 0
+}
+
+func (x *EvtFaceToEntityNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtFaceToEntityNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtFaceToEntityNotify_proto protoreflect.FileDescriptor
+
+var file_EvtFaceToEntityNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x76, 0x74, 0x46, 0x61, 0x63, 0x65, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x74, 0x46,
+ 0x61, 0x63, 0x65, 0x54, 0x6f, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtFaceToEntityNotify_proto_rawDescOnce sync.Once
+ file_EvtFaceToEntityNotify_proto_rawDescData = file_EvtFaceToEntityNotify_proto_rawDesc
+)
+
+func file_EvtFaceToEntityNotify_proto_rawDescGZIP() []byte {
+ file_EvtFaceToEntityNotify_proto_rawDescOnce.Do(func() {
+ file_EvtFaceToEntityNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtFaceToEntityNotify_proto_rawDescData)
+ })
+ return file_EvtFaceToEntityNotify_proto_rawDescData
+}
+
+var file_EvtFaceToEntityNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtFaceToEntityNotify_proto_goTypes = []interface{}{
+ (*EvtFaceToEntityNotify)(nil), // 0: proto.EvtFaceToEntityNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+}
+var file_EvtFaceToEntityNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtFaceToEntityNotify.forward_type:type_name -> proto.ForwardType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtFaceToEntityNotify_proto_init() }
+func file_EvtFaceToEntityNotify_proto_init() {
+ if File_EvtFaceToEntityNotify_proto != nil {
+ return
+ }
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtFaceToEntityNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtFaceToEntityNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtFaceToEntityNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtFaceToEntityNotify_proto_goTypes,
+ DependencyIndexes: file_EvtFaceToEntityNotify_proto_depIdxs,
+ MessageInfos: file_EvtFaceToEntityNotify_proto_msgTypes,
+ }.Build()
+ File_EvtFaceToEntityNotify_proto = out.File
+ file_EvtFaceToEntityNotify_proto_rawDesc = nil
+ file_EvtFaceToEntityNotify_proto_goTypes = nil
+ file_EvtFaceToEntityNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtFixedRushMove.pb.go b/protocol/proto/EvtFixedRushMove.pb.go
new file mode 100644
index 00000000..007d4e90
--- /dev/null
+++ b/protocol/proto/EvtFixedRushMove.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtFixedRushMove.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtFixedRushMove struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Speed float32 `protobuf:"fixed32,3,opt,name=speed,proto3" json:"speed,omitempty"`
+ NeedSetIsInAir bool `protobuf:"varint,7,opt,name=need_set_is_in_air,json=needSetIsInAir,proto3" json:"need_set_is_in_air,omitempty"`
+ AnimatorStateIdList []uint32 `protobuf:"varint,2,rep,packed,name=animator_state_id_list,json=animatorStateIdList,proto3" json:"animator_state_id_list,omitempty"`
+ TargetPos *Vector `protobuf:"bytes,9,opt,name=target_pos,json=targetPos,proto3" json:"target_pos,omitempty"`
+ CheckAnimatorStateOnExitOnly bool `protobuf:"varint,6,opt,name=check_animator_state_on_exit_only,json=checkAnimatorStateOnExitOnly,proto3" json:"check_animator_state_on_exit_only,omitempty"`
+ OverrideCollider string `protobuf:"bytes,13,opt,name=override_collider,json=overrideCollider,proto3" json:"override_collider,omitempty"`
+}
+
+func (x *EvtFixedRushMove) Reset() {
+ *x = EvtFixedRushMove{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtFixedRushMove_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtFixedRushMove) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtFixedRushMove) ProtoMessage() {}
+
+func (x *EvtFixedRushMove) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtFixedRushMove_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtFixedRushMove.ProtoReflect.Descriptor instead.
+func (*EvtFixedRushMove) Descriptor() ([]byte, []int) {
+ return file_EvtFixedRushMove_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtFixedRushMove) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtFixedRushMove) GetSpeed() float32 {
+ if x != nil {
+ return x.Speed
+ }
+ return 0
+}
+
+func (x *EvtFixedRushMove) GetNeedSetIsInAir() bool {
+ if x != nil {
+ return x.NeedSetIsInAir
+ }
+ return false
+}
+
+func (x *EvtFixedRushMove) GetAnimatorStateIdList() []uint32 {
+ if x != nil {
+ return x.AnimatorStateIdList
+ }
+ return nil
+}
+
+func (x *EvtFixedRushMove) GetTargetPos() *Vector {
+ if x != nil {
+ return x.TargetPos
+ }
+ return nil
+}
+
+func (x *EvtFixedRushMove) GetCheckAnimatorStateOnExitOnly() bool {
+ if x != nil {
+ return x.CheckAnimatorStateOnExitOnly
+ }
+ return false
+}
+
+func (x *EvtFixedRushMove) GetOverrideCollider() string {
+ if x != nil {
+ return x.OverrideCollider
+ }
+ return ""
+}
+
+var File_EvtFixedRushMove_proto protoreflect.FileDescriptor
+
+var file_EvtFixedRushMove_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x45, 0x76, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x52, 0x75, 0x73, 0x68, 0x4d, 0x6f,
+ 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x02,
+ 0x0a, 0x10, 0x45, 0x76, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x52, 0x75, 0x73, 0x68, 0x4d, 0x6f,
+ 0x76, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x12, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x73, 0x65,
+ 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x61, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0e, 0x6e, 0x65, 0x65, 0x64, 0x53, 0x65, 0x74, 0x49, 0x73, 0x49, 0x6e, 0x41, 0x69,
+ 0x72, 0x12, 0x33, 0x0a, 0x16, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x13, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x50, 0x6f, 0x73, 0x12, 0x47, 0x0a, 0x21, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x6e,
+ 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f,
+ 0x65, 0x78, 0x69, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x1c, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x45, 0x78, 0x69, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2b, 0x0a,
+ 0x11, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64,
+ 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
+ 0x64, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtFixedRushMove_proto_rawDescOnce sync.Once
+ file_EvtFixedRushMove_proto_rawDescData = file_EvtFixedRushMove_proto_rawDesc
+)
+
+func file_EvtFixedRushMove_proto_rawDescGZIP() []byte {
+ file_EvtFixedRushMove_proto_rawDescOnce.Do(func() {
+ file_EvtFixedRushMove_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtFixedRushMove_proto_rawDescData)
+ })
+ return file_EvtFixedRushMove_proto_rawDescData
+}
+
+var file_EvtFixedRushMove_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtFixedRushMove_proto_goTypes = []interface{}{
+ (*EvtFixedRushMove)(nil), // 0: proto.EvtFixedRushMove
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtFixedRushMove_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtFixedRushMove.target_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtFixedRushMove_proto_init() }
+func file_EvtFixedRushMove_proto_init() {
+ if File_EvtFixedRushMove_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtFixedRushMove_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtFixedRushMove); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtFixedRushMove_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtFixedRushMove_proto_goTypes,
+ DependencyIndexes: file_EvtFixedRushMove_proto_depIdxs,
+ MessageInfos: file_EvtFixedRushMove_proto_msgTypes,
+ }.Build()
+ File_EvtFixedRushMove_proto = out.File
+ file_EvtFixedRushMove_proto_rawDesc = nil
+ file_EvtFixedRushMove_proto_goTypes = nil
+ file_EvtFixedRushMove_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtGrapplingHookMove.pb.go b/protocol/proto/EvtGrapplingHookMove.pb.go
new file mode 100644
index 00000000..f415412c
--- /dev/null
+++ b/protocol/proto/EvtGrapplingHookMove.pb.go
@@ -0,0 +1,249 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtGrapplingHookMove.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtGrapplingHookMove struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Acceleration float32 `protobuf:"fixed32,1,opt,name=acceleration,proto3" json:"acceleration,omitempty"`
+ AnimatorStateIdList []uint32 `protobuf:"varint,2,rep,packed,name=animator_state_id_list,json=animatorStateIdList,proto3" json:"animator_state_id_list,omitempty"`
+ EntityId uint32 `protobuf:"varint,3,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ NeedSetIsInAir bool `protobuf:"varint,13,opt,name=need_set_is_in_air,json=needSetIsInAir,proto3" json:"need_set_is_in_air,omitempty"`
+ Speed float32 `protobuf:"fixed32,12,opt,name=speed,proto3" json:"speed,omitempty"`
+ MaxSpeed float32 `protobuf:"fixed32,8,opt,name=max_speed,json=maxSpeed,proto3" json:"max_speed,omitempty"`
+ CheckAnimatorStateOnExitOnly bool `protobuf:"varint,11,opt,name=check_animator_state_on_exit_only,json=checkAnimatorStateOnExitOnly,proto3" json:"check_animator_state_on_exit_only,omitempty"`
+ OverrideCollider string `protobuf:"bytes,14,opt,name=override_collider,json=overrideCollider,proto3" json:"override_collider,omitempty"`
+ TargetPos *Vector `protobuf:"bytes,10,opt,name=target_pos,json=targetPos,proto3" json:"target_pos,omitempty"`
+}
+
+func (x *EvtGrapplingHookMove) Reset() {
+ *x = EvtGrapplingHookMove{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtGrapplingHookMove_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtGrapplingHookMove) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtGrapplingHookMove) ProtoMessage() {}
+
+func (x *EvtGrapplingHookMove) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtGrapplingHookMove_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtGrapplingHookMove.ProtoReflect.Descriptor instead.
+func (*EvtGrapplingHookMove) Descriptor() ([]byte, []int) {
+ return file_EvtGrapplingHookMove_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtGrapplingHookMove) GetAcceleration() float32 {
+ if x != nil {
+ return x.Acceleration
+ }
+ return 0
+}
+
+func (x *EvtGrapplingHookMove) GetAnimatorStateIdList() []uint32 {
+ if x != nil {
+ return x.AnimatorStateIdList
+ }
+ return nil
+}
+
+func (x *EvtGrapplingHookMove) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtGrapplingHookMove) GetNeedSetIsInAir() bool {
+ if x != nil {
+ return x.NeedSetIsInAir
+ }
+ return false
+}
+
+func (x *EvtGrapplingHookMove) GetSpeed() float32 {
+ if x != nil {
+ return x.Speed
+ }
+ return 0
+}
+
+func (x *EvtGrapplingHookMove) GetMaxSpeed() float32 {
+ if x != nil {
+ return x.MaxSpeed
+ }
+ return 0
+}
+
+func (x *EvtGrapplingHookMove) GetCheckAnimatorStateOnExitOnly() bool {
+ if x != nil {
+ return x.CheckAnimatorStateOnExitOnly
+ }
+ return false
+}
+
+func (x *EvtGrapplingHookMove) GetOverrideCollider() string {
+ if x != nil {
+ return x.OverrideCollider
+ }
+ return ""
+}
+
+func (x *EvtGrapplingHookMove) GetTargetPos() *Vector {
+ if x != nil {
+ return x.TargetPos
+ }
+ return nil
+}
+
+var File_EvtGrapplingHookMove_proto protoreflect.FileDescriptor
+
+var file_EvtGrapplingHookMove_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x76, 0x74, 0x47, 0x72, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x6f,
+ 0x6f, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x8f, 0x03, 0x0a, 0x14, 0x45, 0x76, 0x74, 0x47, 0x72, 0x61, 0x70, 0x70, 0x6c, 0x69,
+ 0x6e, 0x67, 0x48, 0x6f, 0x6f, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x63,
+ 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33,
+ 0x0a, 0x16, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13,
+ 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x2a, 0x0a, 0x12, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x73, 0x5f,
+ 0x69, 0x6e, 0x5f, 0x61, 0x69, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x6e, 0x65,
+ 0x65, 0x64, 0x53, 0x65, 0x74, 0x49, 0x73, 0x49, 0x6e, 0x41, 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x70, 0x65,
+ 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x70, 0x65, 0x65, 0x64, 0x12,
+ 0x47, 0x0a, 0x21, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f,
+ 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f,
+ 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x63, 0x68, 0x65, 0x63,
+ 0x6b, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x6e,
+ 0x45, 0x78, 0x69, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x76, 0x65, 0x72,
+ 0x72, 0x69, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6c,
+ 0x6c, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x50, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtGrapplingHookMove_proto_rawDescOnce sync.Once
+ file_EvtGrapplingHookMove_proto_rawDescData = file_EvtGrapplingHookMove_proto_rawDesc
+)
+
+func file_EvtGrapplingHookMove_proto_rawDescGZIP() []byte {
+ file_EvtGrapplingHookMove_proto_rawDescOnce.Do(func() {
+ file_EvtGrapplingHookMove_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtGrapplingHookMove_proto_rawDescData)
+ })
+ return file_EvtGrapplingHookMove_proto_rawDescData
+}
+
+var file_EvtGrapplingHookMove_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtGrapplingHookMove_proto_goTypes = []interface{}{
+ (*EvtGrapplingHookMove)(nil), // 0: proto.EvtGrapplingHookMove
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtGrapplingHookMove_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtGrapplingHookMove.target_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtGrapplingHookMove_proto_init() }
+func file_EvtGrapplingHookMove_proto_init() {
+ if File_EvtGrapplingHookMove_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtGrapplingHookMove_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtGrapplingHookMove); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtGrapplingHookMove_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtGrapplingHookMove_proto_goTypes,
+ DependencyIndexes: file_EvtGrapplingHookMove_proto_depIdxs,
+ MessageInfos: file_EvtGrapplingHookMove_proto_msgTypes,
+ }.Build()
+ File_EvtGrapplingHookMove_proto = out.File
+ file_EvtGrapplingHookMove_proto_rawDesc = nil
+ file_EvtGrapplingHookMove_proto_goTypes = nil
+ file_EvtGrapplingHookMove_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtHittingOtherInfo.pb.go b/protocol/proto/EvtHittingOtherInfo.pb.go
new file mode 100644
index 00000000..21895c38
--- /dev/null
+++ b/protocol/proto/EvtHittingOtherInfo.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtHittingOtherInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtHittingOtherInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AttackResult *AttackResult `protobuf:"bytes,2,opt,name=attack_result,json=attackResult,proto3" json:"attack_result,omitempty"`
+ PeerId uint32 `protobuf:"varint,8,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
+}
+
+func (x *EvtHittingOtherInfo) Reset() {
+ *x = EvtHittingOtherInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtHittingOtherInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtHittingOtherInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtHittingOtherInfo) ProtoMessage() {}
+
+func (x *EvtHittingOtherInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtHittingOtherInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtHittingOtherInfo.ProtoReflect.Descriptor instead.
+func (*EvtHittingOtherInfo) Descriptor() ([]byte, []int) {
+ return file_EvtHittingOtherInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtHittingOtherInfo) GetAttackResult() *AttackResult {
+ if x != nil {
+ return x.AttackResult
+ }
+ return nil
+}
+
+func (x *EvtHittingOtherInfo) GetPeerId() uint32 {
+ if x != nil {
+ return x.PeerId
+ }
+ return 0
+}
+
+var File_EvtHittingOtherInfo_proto protoreflect.FileDescriptor
+
+var file_EvtHittingOtherInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x76, 0x74, 0x48, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x74, 0x68, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x12, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x13, 0x45, 0x76, 0x74, 0x48, 0x69, 0x74,
+ 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a,
+ 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x74, 0x74,
+ 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63,
+ 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtHittingOtherInfo_proto_rawDescOnce sync.Once
+ file_EvtHittingOtherInfo_proto_rawDescData = file_EvtHittingOtherInfo_proto_rawDesc
+)
+
+func file_EvtHittingOtherInfo_proto_rawDescGZIP() []byte {
+ file_EvtHittingOtherInfo_proto_rawDescOnce.Do(func() {
+ file_EvtHittingOtherInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtHittingOtherInfo_proto_rawDescData)
+ })
+ return file_EvtHittingOtherInfo_proto_rawDescData
+}
+
+var file_EvtHittingOtherInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtHittingOtherInfo_proto_goTypes = []interface{}{
+ (*EvtHittingOtherInfo)(nil), // 0: proto.EvtHittingOtherInfo
+ (*AttackResult)(nil), // 1: proto.AttackResult
+}
+var file_EvtHittingOtherInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtHittingOtherInfo.attack_result:type_name -> proto.AttackResult
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtHittingOtherInfo_proto_init() }
+func file_EvtHittingOtherInfo_proto_init() {
+ if File_EvtHittingOtherInfo_proto != nil {
+ return
+ }
+ file_AttackResult_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtHittingOtherInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtHittingOtherInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtHittingOtherInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtHittingOtherInfo_proto_goTypes,
+ DependencyIndexes: file_EvtHittingOtherInfo_proto_depIdxs,
+ MessageInfos: file_EvtHittingOtherInfo_proto_msgTypes,
+ }.Build()
+ File_EvtHittingOtherInfo_proto = out.File
+ file_EvtHittingOtherInfo_proto_rawDesc = nil
+ file_EvtHittingOtherInfo_proto_goTypes = nil
+ file_EvtHittingOtherInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtLightCoreMove.pb.go b/protocol/proto/EvtLightCoreMove.pb.go
new file mode 100644
index 00000000..9e093e29
--- /dev/null
+++ b/protocol/proto/EvtLightCoreMove.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtLightCoreMove.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtLightCoreMove struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetPos *Vector `protobuf:"bytes,15,opt,name=target_pos,json=targetPos,proto3" json:"target_pos,omitempty"`
+ Acelerate float32 `protobuf:"fixed32,11,opt,name=acelerate,proto3" json:"acelerate,omitempty"`
+ EntityId uint32 `protobuf:"varint,5,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ MaxAbsorbTime float32 `protobuf:"fixed32,10,opt,name=max_absorb_time,json=maxAbsorbTime,proto3" json:"max_absorb_time,omitempty"`
+ Speed float32 `protobuf:"fixed32,14,opt,name=speed,proto3" json:"speed,omitempty"`
+}
+
+func (x *EvtLightCoreMove) Reset() {
+ *x = EvtLightCoreMove{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtLightCoreMove_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtLightCoreMove) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtLightCoreMove) ProtoMessage() {}
+
+func (x *EvtLightCoreMove) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtLightCoreMove_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtLightCoreMove.ProtoReflect.Descriptor instead.
+func (*EvtLightCoreMove) Descriptor() ([]byte, []int) {
+ return file_EvtLightCoreMove_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtLightCoreMove) GetTargetPos() *Vector {
+ if x != nil {
+ return x.TargetPos
+ }
+ return nil
+}
+
+func (x *EvtLightCoreMove) GetAcelerate() float32 {
+ if x != nil {
+ return x.Acelerate
+ }
+ return 0
+}
+
+func (x *EvtLightCoreMove) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtLightCoreMove) GetMaxAbsorbTime() float32 {
+ if x != nil {
+ return x.MaxAbsorbTime
+ }
+ return 0
+}
+
+func (x *EvtLightCoreMove) GetSpeed() float32 {
+ if x != nil {
+ return x.Speed
+ }
+ return 0
+}
+
+var File_EvtLightCoreMove_proto protoreflect.FileDescriptor
+
+var file_EvtLightCoreMove_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x45, 0x76, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x72, 0x65, 0x4d, 0x6f,
+ 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01,
+ 0x0a, 0x10, 0x45, 0x76, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x72, 0x65, 0x4d, 0x6f,
+ 0x76, 0x65, 0x12, 0x2c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x73,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x73,
+ 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6d,
+ 0x61, 0x78, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x41, 0x62, 0x73, 0x6f, 0x72, 0x62, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtLightCoreMove_proto_rawDescOnce sync.Once
+ file_EvtLightCoreMove_proto_rawDescData = file_EvtLightCoreMove_proto_rawDesc
+)
+
+func file_EvtLightCoreMove_proto_rawDescGZIP() []byte {
+ file_EvtLightCoreMove_proto_rawDescOnce.Do(func() {
+ file_EvtLightCoreMove_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtLightCoreMove_proto_rawDescData)
+ })
+ return file_EvtLightCoreMove_proto_rawDescData
+}
+
+var file_EvtLightCoreMove_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtLightCoreMove_proto_goTypes = []interface{}{
+ (*EvtLightCoreMove)(nil), // 0: proto.EvtLightCoreMove
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtLightCoreMove_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtLightCoreMove.target_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtLightCoreMove_proto_init() }
+func file_EvtLightCoreMove_proto_init() {
+ if File_EvtLightCoreMove_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtLightCoreMove_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtLightCoreMove); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtLightCoreMove_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtLightCoreMove_proto_goTypes,
+ DependencyIndexes: file_EvtLightCoreMove_proto_depIdxs,
+ MessageInfos: file_EvtLightCoreMove_proto_msgTypes,
+ }.Build()
+ File_EvtLightCoreMove_proto = out.File
+ file_EvtLightCoreMove_proto_rawDesc = nil
+ file_EvtLightCoreMove_proto_goTypes = nil
+ file_EvtLightCoreMove_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtLocalGadgetOwnerLeaveSceneNotify.pb.go b/protocol/proto/EvtLocalGadgetOwnerLeaveSceneNotify.pb.go
new file mode 100644
index 00000000..8504cd8a
--- /dev/null
+++ b/protocol/proto/EvtLocalGadgetOwnerLeaveSceneNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtLocalGadgetOwnerLeaveSceneNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 384
+// EnetChannelId: 0
+// EnetIsReliable: true
+type EvtLocalGadgetOwnerLeaveSceneNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,10,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtLocalGadgetOwnerLeaveSceneNotify) Reset() {
+ *x = EvtLocalGadgetOwnerLeaveSceneNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtLocalGadgetOwnerLeaveSceneNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtLocalGadgetOwnerLeaveSceneNotify) ProtoMessage() {}
+
+func (x *EvtLocalGadgetOwnerLeaveSceneNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtLocalGadgetOwnerLeaveSceneNotify.ProtoReflect.Descriptor instead.
+func (*EvtLocalGadgetOwnerLeaveSceneNotify) Descriptor() ([]byte, []int) {
+ return file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtLocalGadgetOwnerLeaveSceneNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtLocalGadgetOwnerLeaveSceneNotify_proto protoreflect.FileDescriptor
+
+var file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x45, 0x76, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x23, 0x45, 0x76, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDescOnce sync.Once
+ file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDescData = file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDesc
+)
+
+func file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDescGZIP() []byte {
+ file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDescOnce.Do(func() {
+ file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDescData)
+ })
+ return file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDescData
+}
+
+var file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_goTypes = []interface{}{
+ (*EvtLocalGadgetOwnerLeaveSceneNotify)(nil), // 0: proto.EvtLocalGadgetOwnerLeaveSceneNotify
+}
+var file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_init() }
+func file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_init() {
+ if File_EvtLocalGadgetOwnerLeaveSceneNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtLocalGadgetOwnerLeaveSceneNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_goTypes,
+ DependencyIndexes: file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_depIdxs,
+ MessageInfos: file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_msgTypes,
+ }.Build()
+ File_EvtLocalGadgetOwnerLeaveSceneNotify_proto = out.File
+ file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_rawDesc = nil
+ file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_goTypes = nil
+ file_EvtLocalGadgetOwnerLeaveSceneNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtMonsterDoBlink.pb.go b/protocol/proto/EvtMonsterDoBlink.pb.go
new file mode 100644
index 00000000..b93ff924
--- /dev/null
+++ b/protocol/proto/EvtMonsterDoBlink.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtMonsterDoBlink.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtMonsterDoBlink struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetRot *Vector `protobuf:"bytes,3,opt,name=target_rot,json=targetRot,proto3" json:"target_rot,omitempty"`
+ TargetPos *Vector `protobuf:"bytes,7,opt,name=target_pos,json=targetPos,proto3" json:"target_pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtMonsterDoBlink) Reset() {
+ *x = EvtMonsterDoBlink{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtMonsterDoBlink_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtMonsterDoBlink) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtMonsterDoBlink) ProtoMessage() {}
+
+func (x *EvtMonsterDoBlink) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtMonsterDoBlink_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtMonsterDoBlink.ProtoReflect.Descriptor instead.
+func (*EvtMonsterDoBlink) Descriptor() ([]byte, []int) {
+ return file_EvtMonsterDoBlink_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtMonsterDoBlink) GetTargetRot() *Vector {
+ if x != nil {
+ return x.TargetRot
+ }
+ return nil
+}
+
+func (x *EvtMonsterDoBlink) GetTargetPos() *Vector {
+ if x != nil {
+ return x.TargetPos
+ }
+ return nil
+}
+
+func (x *EvtMonsterDoBlink) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtMonsterDoBlink_proto protoreflect.FileDescriptor
+
+var file_EvtMonsterDoBlink_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x45, 0x76, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x42, 0x6c,
+ 0x69, 0x6e, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c,
+ 0x01, 0x0a, 0x11, 0x45, 0x76, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x42,
+ 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x2c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72,
+ 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52,
+ 0x6f, 0x74, 0x12, 0x2c, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x73,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x73,
+ 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_EvtMonsterDoBlink_proto_rawDescOnce sync.Once
+ file_EvtMonsterDoBlink_proto_rawDescData = file_EvtMonsterDoBlink_proto_rawDesc
+)
+
+func file_EvtMonsterDoBlink_proto_rawDescGZIP() []byte {
+ file_EvtMonsterDoBlink_proto_rawDescOnce.Do(func() {
+ file_EvtMonsterDoBlink_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtMonsterDoBlink_proto_rawDescData)
+ })
+ return file_EvtMonsterDoBlink_proto_rawDescData
+}
+
+var file_EvtMonsterDoBlink_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtMonsterDoBlink_proto_goTypes = []interface{}{
+ (*EvtMonsterDoBlink)(nil), // 0: proto.EvtMonsterDoBlink
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtMonsterDoBlink_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtMonsterDoBlink.target_rot:type_name -> proto.Vector
+ 1, // 1: proto.EvtMonsterDoBlink.target_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtMonsterDoBlink_proto_init() }
+func file_EvtMonsterDoBlink_proto_init() {
+ if File_EvtMonsterDoBlink_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtMonsterDoBlink_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtMonsterDoBlink); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtMonsterDoBlink_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtMonsterDoBlink_proto_goTypes,
+ DependencyIndexes: file_EvtMonsterDoBlink_proto_depIdxs,
+ MessageInfos: file_EvtMonsterDoBlink_proto_msgTypes,
+ }.Build()
+ File_EvtMonsterDoBlink_proto = out.File
+ file_EvtMonsterDoBlink_proto_rawDesc = nil
+ file_EvtMonsterDoBlink_proto_goTypes = nil
+ file_EvtMonsterDoBlink_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtMotionInfoDuringSteerAttack.pb.go b/protocol/proto/EvtMotionInfoDuringSteerAttack.pb.go
new file mode 100644
index 00000000..2f574b0e
--- /dev/null
+++ b/protocol/proto/EvtMotionInfoDuringSteerAttack.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtMotionInfoDuringSteerAttack.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtMotionInfoDuringSteerAttack struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FaceDir *Vector `protobuf:"bytes,4,opt,name=face_dir,json=faceDir,proto3" json:"face_dir,omitempty"`
+ Velocity *Vector `protobuf:"bytes,3,opt,name=velocity,proto3" json:"velocity,omitempty"`
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,6,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *EvtMotionInfoDuringSteerAttack) Reset() {
+ *x = EvtMotionInfoDuringSteerAttack{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtMotionInfoDuringSteerAttack_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtMotionInfoDuringSteerAttack) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtMotionInfoDuringSteerAttack) ProtoMessage() {}
+
+func (x *EvtMotionInfoDuringSteerAttack) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtMotionInfoDuringSteerAttack_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtMotionInfoDuringSteerAttack.ProtoReflect.Descriptor instead.
+func (*EvtMotionInfoDuringSteerAttack) Descriptor() ([]byte, []int) {
+ return file_EvtMotionInfoDuringSteerAttack_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtMotionInfoDuringSteerAttack) GetFaceDir() *Vector {
+ if x != nil {
+ return x.FaceDir
+ }
+ return nil
+}
+
+func (x *EvtMotionInfoDuringSteerAttack) GetVelocity() *Vector {
+ if x != nil {
+ return x.Velocity
+ }
+ return nil
+}
+
+func (x *EvtMotionInfoDuringSteerAttack) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *EvtMotionInfoDuringSteerAttack) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_EvtMotionInfoDuringSteerAttack_proto protoreflect.FileDescriptor
+
+var file_EvtMotionInfoDuringSteerAttack_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x45, 0x76, 0x74, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x44,
+ 0x75, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x65, 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x01, 0x0a, 0x1e,
+ 0x45, 0x76, 0x74, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x75, 0x72,
+ 0x69, 0x6e, 0x67, 0x53, 0x74, 0x65, 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x28,
+ 0x0a, 0x08, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x07, 0x66, 0x61, 0x63, 0x65, 0x44, 0x69, 0x72, 0x12, 0x29, 0x0a, 0x08, 0x76, 0x65, 0x6c, 0x6f,
+ 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63,
+ 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtMotionInfoDuringSteerAttack_proto_rawDescOnce sync.Once
+ file_EvtMotionInfoDuringSteerAttack_proto_rawDescData = file_EvtMotionInfoDuringSteerAttack_proto_rawDesc
+)
+
+func file_EvtMotionInfoDuringSteerAttack_proto_rawDescGZIP() []byte {
+ file_EvtMotionInfoDuringSteerAttack_proto_rawDescOnce.Do(func() {
+ file_EvtMotionInfoDuringSteerAttack_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtMotionInfoDuringSteerAttack_proto_rawDescData)
+ })
+ return file_EvtMotionInfoDuringSteerAttack_proto_rawDescData
+}
+
+var file_EvtMotionInfoDuringSteerAttack_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtMotionInfoDuringSteerAttack_proto_goTypes = []interface{}{
+ (*EvtMotionInfoDuringSteerAttack)(nil), // 0: proto.EvtMotionInfoDuringSteerAttack
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtMotionInfoDuringSteerAttack_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtMotionInfoDuringSteerAttack.face_dir:type_name -> proto.Vector
+ 1, // 1: proto.EvtMotionInfoDuringSteerAttack.velocity:type_name -> proto.Vector
+ 1, // 2: proto.EvtMotionInfoDuringSteerAttack.pos:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_EvtMotionInfoDuringSteerAttack_proto_init() }
+func file_EvtMotionInfoDuringSteerAttack_proto_init() {
+ if File_EvtMotionInfoDuringSteerAttack_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtMotionInfoDuringSteerAttack_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtMotionInfoDuringSteerAttack); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtMotionInfoDuringSteerAttack_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtMotionInfoDuringSteerAttack_proto_goTypes,
+ DependencyIndexes: file_EvtMotionInfoDuringSteerAttack_proto_depIdxs,
+ MessageInfos: file_EvtMotionInfoDuringSteerAttack_proto_msgTypes,
+ }.Build()
+ File_EvtMotionInfoDuringSteerAttack_proto = out.File
+ file_EvtMotionInfoDuringSteerAttack_proto_rawDesc = nil
+ file_EvtMotionInfoDuringSteerAttack_proto_goTypes = nil
+ file_EvtMotionInfoDuringSteerAttack_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtRushMoveInfo.pb.go b/protocol/proto/EvtRushMoveInfo.pb.go
new file mode 100644
index 00000000..e0f4f9ba
--- /dev/null
+++ b/protocol/proto/EvtRushMoveInfo.pb.go
@@ -0,0 +1,241 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtRushMoveInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtRushMoveInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StateNameHash int32 `protobuf:"varint,11,opt,name=state_name_hash,json=stateNameHash,proto3" json:"state_name_hash,omitempty"`
+ RushToPos *Vector `protobuf:"bytes,9,opt,name=rush_to_pos,json=rushToPos,proto3" json:"rush_to_pos,omitempty"`
+ RushAttackTargetPos *Vector `protobuf:"bytes,8,opt,name=rush_attack_target_pos,json=rushAttackTargetPos,proto3" json:"rush_attack_target_pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ TimeRange float32 `protobuf:"fixed32,15,opt,name=time_range,json=timeRange,proto3" json:"time_range,omitempty"`
+ Velocity *Vector `protobuf:"bytes,6,opt,name=velocity,proto3" json:"velocity,omitempty"`
+ Pos *Vector `protobuf:"bytes,2,opt,name=pos,proto3" json:"pos,omitempty"`
+ FaceAngleCompact int32 `protobuf:"varint,10,opt,name=face_angle_compact,json=faceAngleCompact,proto3" json:"face_angle_compact,omitempty"`
+}
+
+func (x *EvtRushMoveInfo) Reset() {
+ *x = EvtRushMoveInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtRushMoveInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtRushMoveInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtRushMoveInfo) ProtoMessage() {}
+
+func (x *EvtRushMoveInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtRushMoveInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtRushMoveInfo.ProtoReflect.Descriptor instead.
+func (*EvtRushMoveInfo) Descriptor() ([]byte, []int) {
+ return file_EvtRushMoveInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtRushMoveInfo) GetStateNameHash() int32 {
+ if x != nil {
+ return x.StateNameHash
+ }
+ return 0
+}
+
+func (x *EvtRushMoveInfo) GetRushToPos() *Vector {
+ if x != nil {
+ return x.RushToPos
+ }
+ return nil
+}
+
+func (x *EvtRushMoveInfo) GetRushAttackTargetPos() *Vector {
+ if x != nil {
+ return x.RushAttackTargetPos
+ }
+ return nil
+}
+
+func (x *EvtRushMoveInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtRushMoveInfo) GetTimeRange() float32 {
+ if x != nil {
+ return x.TimeRange
+ }
+ return 0
+}
+
+func (x *EvtRushMoveInfo) GetVelocity() *Vector {
+ if x != nil {
+ return x.Velocity
+ }
+ return nil
+}
+
+func (x *EvtRushMoveInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *EvtRushMoveInfo) GetFaceAngleCompact() int32 {
+ if x != nil {
+ return x.FaceAngleCompact
+ }
+ return 0
+}
+
+var File_EvtRushMoveInfo_proto protoreflect.FileDescriptor
+
+var file_EvtRushMoveInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x45, 0x76, 0x74, 0x52, 0x75, 0x73, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x02, 0x0a,
+ 0x0f, 0x45, 0x76, 0x74, 0x52, 0x75, 0x73, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68,
+ 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2d, 0x0a, 0x0b, 0x72, 0x75, 0x73, 0x68,
+ 0x5f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x72, 0x75,
+ 0x73, 0x68, 0x54, 0x6f, 0x50, 0x6f, 0x73, 0x12, 0x42, 0x0a, 0x16, 0x72, 0x75, 0x73, 0x68, 0x5f,
+ 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f,
+ 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x13, 0x72, 0x75, 0x73, 0x68, 0x41, 0x74, 0x74, 0x61,
+ 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65,
+ 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69,
+ 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63,
+ 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69,
+ 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c,
+ 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x10, 0x66, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtRushMoveInfo_proto_rawDescOnce sync.Once
+ file_EvtRushMoveInfo_proto_rawDescData = file_EvtRushMoveInfo_proto_rawDesc
+)
+
+func file_EvtRushMoveInfo_proto_rawDescGZIP() []byte {
+ file_EvtRushMoveInfo_proto_rawDescOnce.Do(func() {
+ file_EvtRushMoveInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtRushMoveInfo_proto_rawDescData)
+ })
+ return file_EvtRushMoveInfo_proto_rawDescData
+}
+
+var file_EvtRushMoveInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtRushMoveInfo_proto_goTypes = []interface{}{
+ (*EvtRushMoveInfo)(nil), // 0: proto.EvtRushMoveInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtRushMoveInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtRushMoveInfo.rush_to_pos:type_name -> proto.Vector
+ 1, // 1: proto.EvtRushMoveInfo.rush_attack_target_pos:type_name -> proto.Vector
+ 1, // 2: proto.EvtRushMoveInfo.velocity:type_name -> proto.Vector
+ 1, // 3: proto.EvtRushMoveInfo.pos:type_name -> proto.Vector
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_EvtRushMoveInfo_proto_init() }
+func file_EvtRushMoveInfo_proto_init() {
+ if File_EvtRushMoveInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtRushMoveInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtRushMoveInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtRushMoveInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtRushMoveInfo_proto_goTypes,
+ DependencyIndexes: file_EvtRushMoveInfo_proto_depIdxs,
+ MessageInfos: file_EvtRushMoveInfo_proto_msgTypes,
+ }.Build()
+ File_EvtRushMoveInfo_proto = out.File
+ file_EvtRushMoveInfo_proto_rawDesc = nil
+ file_EvtRushMoveInfo_proto_goTypes = nil
+ file_EvtRushMoveInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtRushMoveNotify.pb.go b/protocol/proto/EvtRushMoveNotify.pb.go
new file mode 100644
index 00000000..ba062de7
--- /dev/null
+++ b/protocol/proto/EvtRushMoveNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtRushMoveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 375
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtRushMoveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,1,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EvtRushMoveInfo *EvtRushMoveInfo `protobuf:"bytes,15,opt,name=evt_rush_move_info,json=evtRushMoveInfo,proto3" json:"evt_rush_move_info,omitempty"`
+}
+
+func (x *EvtRushMoveNotify) Reset() {
+ *x = EvtRushMoveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtRushMoveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtRushMoveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtRushMoveNotify) ProtoMessage() {}
+
+func (x *EvtRushMoveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtRushMoveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtRushMoveNotify.ProtoReflect.Descriptor instead.
+func (*EvtRushMoveNotify) Descriptor() ([]byte, []int) {
+ return file_EvtRushMoveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtRushMoveNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtRushMoveNotify) GetEvtRushMoveInfo() *EvtRushMoveInfo {
+ if x != nil {
+ return x.EvtRushMoveInfo
+ }
+ return nil
+}
+
+var File_EvtRushMoveNotify_proto protoreflect.FileDescriptor
+
+var file_EvtRushMoveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x45, 0x76, 0x74, 0x52, 0x75, 0x73, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x15, 0x45, 0x76, 0x74, 0x52, 0x75, 0x73, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x11, 0x45,
+ 0x76, 0x74, 0x52, 0x75, 0x73, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x77,
+ 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x65, 0x76, 0x74, 0x5f, 0x72,
+ 0x75, 0x73, 0x68, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x74, 0x52,
+ 0x75, 0x73, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x65, 0x76, 0x74,
+ 0x52, 0x75, 0x73, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtRushMoveNotify_proto_rawDescOnce sync.Once
+ file_EvtRushMoveNotify_proto_rawDescData = file_EvtRushMoveNotify_proto_rawDesc
+)
+
+func file_EvtRushMoveNotify_proto_rawDescGZIP() []byte {
+ file_EvtRushMoveNotify_proto_rawDescOnce.Do(func() {
+ file_EvtRushMoveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtRushMoveNotify_proto_rawDescData)
+ })
+ return file_EvtRushMoveNotify_proto_rawDescData
+}
+
+var file_EvtRushMoveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtRushMoveNotify_proto_goTypes = []interface{}{
+ (*EvtRushMoveNotify)(nil), // 0: proto.EvtRushMoveNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*EvtRushMoveInfo)(nil), // 2: proto.EvtRushMoveInfo
+}
+var file_EvtRushMoveNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtRushMoveNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtRushMoveNotify.evt_rush_move_info:type_name -> proto.EvtRushMoveInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtRushMoveNotify_proto_init() }
+func file_EvtRushMoveNotify_proto_init() {
+ if File_EvtRushMoveNotify_proto != nil {
+ return
+ }
+ file_EvtRushMoveInfo_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtRushMoveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtRushMoveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtRushMoveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtRushMoveNotify_proto_goTypes,
+ DependencyIndexes: file_EvtRushMoveNotify_proto_depIdxs,
+ MessageInfos: file_EvtRushMoveNotify_proto_msgTypes,
+ }.Build()
+ File_EvtRushMoveNotify_proto = out.File
+ file_EvtRushMoveNotify_proto_rawDesc = nil
+ file_EvtRushMoveNotify_proto_goTypes = nil
+ file_EvtRushMoveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtSetAttackTargetInfo.pb.go b/protocol/proto/EvtSetAttackTargetInfo.pb.go
new file mode 100644
index 00000000..94095e22
--- /dev/null
+++ b/protocol/proto/EvtSetAttackTargetInfo.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtSetAttackTargetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtSetAttackTargetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ SelectPointIndex uint32 `protobuf:"varint,6,opt,name=select_point_index,json=selectPointIndex,proto3" json:"select_point_index,omitempty"`
+ AttackTargetId uint32 `protobuf:"varint,7,opt,name=attack_target_id,json=attackTargetId,proto3" json:"attack_target_id,omitempty"`
+}
+
+func (x *EvtSetAttackTargetInfo) Reset() {
+ *x = EvtSetAttackTargetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtSetAttackTargetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtSetAttackTargetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtSetAttackTargetInfo) ProtoMessage() {}
+
+func (x *EvtSetAttackTargetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtSetAttackTargetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtSetAttackTargetInfo.ProtoReflect.Descriptor instead.
+func (*EvtSetAttackTargetInfo) Descriptor() ([]byte, []int) {
+ return file_EvtSetAttackTargetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtSetAttackTargetInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtSetAttackTargetInfo) GetSelectPointIndex() uint32 {
+ if x != nil {
+ return x.SelectPointIndex
+ }
+ return 0
+}
+
+func (x *EvtSetAttackTargetInfo) GetAttackTargetId() uint32 {
+ if x != nil {
+ return x.AttackTargetId
+ }
+ return 0
+}
+
+var File_EvtSetAttackTargetInfo_proto protoreflect.FileDescriptor
+
+var file_EvtSetAttackTargetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x76, 0x74, 0x53, 0x65, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x16, 0x45, 0x76, 0x74, 0x53, 0x65, 0x74,
+ 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2c, 0x0a,
+ 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x61,
+ 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtSetAttackTargetInfo_proto_rawDescOnce sync.Once
+ file_EvtSetAttackTargetInfo_proto_rawDescData = file_EvtSetAttackTargetInfo_proto_rawDesc
+)
+
+func file_EvtSetAttackTargetInfo_proto_rawDescGZIP() []byte {
+ file_EvtSetAttackTargetInfo_proto_rawDescOnce.Do(func() {
+ file_EvtSetAttackTargetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtSetAttackTargetInfo_proto_rawDescData)
+ })
+ return file_EvtSetAttackTargetInfo_proto_rawDescData
+}
+
+var file_EvtSetAttackTargetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtSetAttackTargetInfo_proto_goTypes = []interface{}{
+ (*EvtSetAttackTargetInfo)(nil), // 0: proto.EvtSetAttackTargetInfo
+}
+var file_EvtSetAttackTargetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_EvtSetAttackTargetInfo_proto_init() }
+func file_EvtSetAttackTargetInfo_proto_init() {
+ if File_EvtSetAttackTargetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_EvtSetAttackTargetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtSetAttackTargetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtSetAttackTargetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtSetAttackTargetInfo_proto_goTypes,
+ DependencyIndexes: file_EvtSetAttackTargetInfo_proto_depIdxs,
+ MessageInfos: file_EvtSetAttackTargetInfo_proto_msgTypes,
+ }.Build()
+ File_EvtSetAttackTargetInfo_proto = out.File
+ file_EvtSetAttackTargetInfo_proto_rawDesc = nil
+ file_EvtSetAttackTargetInfo_proto_goTypes = nil
+ file_EvtSetAttackTargetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtSetAttackTargetNotify.pb.go b/protocol/proto/EvtSetAttackTargetNotify.pb.go
new file mode 100644
index 00000000..4b4a0399
--- /dev/null
+++ b/protocol/proto/EvtSetAttackTargetNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtSetAttackTargetNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 399
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type EvtSetAttackTargetNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForwardType ForwardType `protobuf:"varint,1,opt,name=forward_type,json=forwardType,proto3,enum=proto.ForwardType" json:"forward_type,omitempty"`
+ EvtSetAttackTargetInfo *EvtSetAttackTargetInfo `protobuf:"bytes,11,opt,name=evt_set_attack_target_info,json=evtSetAttackTargetInfo,proto3" json:"evt_set_attack_target_info,omitempty"`
+}
+
+func (x *EvtSetAttackTargetNotify) Reset() {
+ *x = EvtSetAttackTargetNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtSetAttackTargetNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtSetAttackTargetNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtSetAttackTargetNotify) ProtoMessage() {}
+
+func (x *EvtSetAttackTargetNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtSetAttackTargetNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtSetAttackTargetNotify.ProtoReflect.Descriptor instead.
+func (*EvtSetAttackTargetNotify) Descriptor() ([]byte, []int) {
+ return file_EvtSetAttackTargetNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtSetAttackTargetNotify) GetForwardType() ForwardType {
+ if x != nil {
+ return x.ForwardType
+ }
+ return ForwardType_FORWARD_TYPE_LOCAL
+}
+
+func (x *EvtSetAttackTargetNotify) GetEvtSetAttackTargetInfo() *EvtSetAttackTargetInfo {
+ if x != nil {
+ return x.EvtSetAttackTargetInfo
+ }
+ return nil
+}
+
+var File_EvtSetAttackTargetNotify_proto protoreflect.FileDescriptor
+
+var file_EvtSetAttackTargetNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x45, 0x76, 0x74, 0x53, 0x65, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x45, 0x76, 0x74, 0x53, 0x65, 0x74, 0x41,
+ 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x18, 0x45, 0x76, 0x74,
+ 0x53, 0x65, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x0b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x59, 0x0a, 0x1a,
+ 0x65, 0x76, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x76, 0x74, 0x53, 0x65, 0x74, 0x41,
+ 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x16, 0x65, 0x76, 0x74, 0x53, 0x65, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtSetAttackTargetNotify_proto_rawDescOnce sync.Once
+ file_EvtSetAttackTargetNotify_proto_rawDescData = file_EvtSetAttackTargetNotify_proto_rawDesc
+)
+
+func file_EvtSetAttackTargetNotify_proto_rawDescGZIP() []byte {
+ file_EvtSetAttackTargetNotify_proto_rawDescOnce.Do(func() {
+ file_EvtSetAttackTargetNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtSetAttackTargetNotify_proto_rawDescData)
+ })
+ return file_EvtSetAttackTargetNotify_proto_rawDescData
+}
+
+var file_EvtSetAttackTargetNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtSetAttackTargetNotify_proto_goTypes = []interface{}{
+ (*EvtSetAttackTargetNotify)(nil), // 0: proto.EvtSetAttackTargetNotify
+ (ForwardType)(0), // 1: proto.ForwardType
+ (*EvtSetAttackTargetInfo)(nil), // 2: proto.EvtSetAttackTargetInfo
+}
+var file_EvtSetAttackTargetNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtSetAttackTargetNotify.forward_type:type_name -> proto.ForwardType
+ 2, // 1: proto.EvtSetAttackTargetNotify.evt_set_attack_target_info:type_name -> proto.EvtSetAttackTargetInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtSetAttackTargetNotify_proto_init() }
+func file_EvtSetAttackTargetNotify_proto_init() {
+ if File_EvtSetAttackTargetNotify_proto != nil {
+ return
+ }
+ file_EvtSetAttackTargetInfo_proto_init()
+ file_ForwardType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtSetAttackTargetNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtSetAttackTargetNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtSetAttackTargetNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtSetAttackTargetNotify_proto_goTypes,
+ DependencyIndexes: file_EvtSetAttackTargetNotify_proto_depIdxs,
+ MessageInfos: file_EvtSetAttackTargetNotify_proto_msgTypes,
+ }.Build()
+ File_EvtSetAttackTargetNotify_proto = out.File
+ file_EvtSetAttackTargetNotify_proto_rawDesc = nil
+ file_EvtSetAttackTargetNotify_proto_goTypes = nil
+ file_EvtSetAttackTargetNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtSyncEntityPositionInfo.pb.go b/protocol/proto/EvtSyncEntityPositionInfo.pb.go
new file mode 100644
index 00000000..df9af963
--- /dev/null
+++ b/protocol/proto/EvtSyncEntityPositionInfo.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtSyncEntityPositionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtSyncEntityPositionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,10,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ NormalizedTimeCompact uint32 `protobuf:"varint,13,opt,name=normalized_time_compact,json=normalizedTimeCompact,proto3" json:"normalized_time_compact,omitempty"`
+ StateHash uint32 `protobuf:"varint,8,opt,name=state_hash,json=stateHash,proto3" json:"state_hash,omitempty"`
+ FaceAngleCompact int32 `protobuf:"varint,7,opt,name=face_angle_compact,json=faceAngleCompact,proto3" json:"face_angle_compact,omitempty"`
+ Pos *Vector `protobuf:"bytes,15,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *EvtSyncEntityPositionInfo) Reset() {
+ *x = EvtSyncEntityPositionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtSyncEntityPositionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtSyncEntityPositionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtSyncEntityPositionInfo) ProtoMessage() {}
+
+func (x *EvtSyncEntityPositionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtSyncEntityPositionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtSyncEntityPositionInfo.ProtoReflect.Descriptor instead.
+func (*EvtSyncEntityPositionInfo) Descriptor() ([]byte, []int) {
+ return file_EvtSyncEntityPositionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtSyncEntityPositionInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtSyncEntityPositionInfo) GetNormalizedTimeCompact() uint32 {
+ if x != nil {
+ return x.NormalizedTimeCompact
+ }
+ return 0
+}
+
+func (x *EvtSyncEntityPositionInfo) GetStateHash() uint32 {
+ if x != nil {
+ return x.StateHash
+ }
+ return 0
+}
+
+func (x *EvtSyncEntityPositionInfo) GetFaceAngleCompact() int32 {
+ if x != nil {
+ return x.FaceAngleCompact
+ }
+ return 0
+}
+
+func (x *EvtSyncEntityPositionInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_EvtSyncEntityPositionInfo_proto protoreflect.FileDescriptor
+
+var file_EvtSyncEntityPositionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x45, 0x76, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x01, 0x0a, 0x19, 0x45, 0x76, 0x74, 0x53, 0x79,
+ 0x6e, 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x36, 0x0a, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x15, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x63, 0x65,
+ 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x66, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x43,
+ 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtSyncEntityPositionInfo_proto_rawDescOnce sync.Once
+ file_EvtSyncEntityPositionInfo_proto_rawDescData = file_EvtSyncEntityPositionInfo_proto_rawDesc
+)
+
+func file_EvtSyncEntityPositionInfo_proto_rawDescGZIP() []byte {
+ file_EvtSyncEntityPositionInfo_proto_rawDescOnce.Do(func() {
+ file_EvtSyncEntityPositionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtSyncEntityPositionInfo_proto_rawDescData)
+ })
+ return file_EvtSyncEntityPositionInfo_proto_rawDescData
+}
+
+var file_EvtSyncEntityPositionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtSyncEntityPositionInfo_proto_goTypes = []interface{}{
+ (*EvtSyncEntityPositionInfo)(nil), // 0: proto.EvtSyncEntityPositionInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtSyncEntityPositionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtSyncEntityPositionInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtSyncEntityPositionInfo_proto_init() }
+func file_EvtSyncEntityPositionInfo_proto_init() {
+ if File_EvtSyncEntityPositionInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtSyncEntityPositionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtSyncEntityPositionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtSyncEntityPositionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtSyncEntityPositionInfo_proto_goTypes,
+ DependencyIndexes: file_EvtSyncEntityPositionInfo_proto_depIdxs,
+ MessageInfos: file_EvtSyncEntityPositionInfo_proto_msgTypes,
+ }.Build()
+ File_EvtSyncEntityPositionInfo_proto = out.File
+ file_EvtSyncEntityPositionInfo_proto_rawDesc = nil
+ file_EvtSyncEntityPositionInfo_proto_goTypes = nil
+ file_EvtSyncEntityPositionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtSyncSkillAnchorPosition.pb.go b/protocol/proto/EvtSyncSkillAnchorPosition.pb.go
new file mode 100644
index 00000000..4527b105
--- /dev/null
+++ b/protocol/proto/EvtSyncSkillAnchorPosition.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtSyncSkillAnchorPosition.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtSyncSkillAnchorPosition struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ SkillAnchorPosition *Vector `protobuf:"bytes,13,opt,name=skill_anchor_position,json=skillAnchorPosition,proto3" json:"skill_anchor_position,omitempty"`
+}
+
+func (x *EvtSyncSkillAnchorPosition) Reset() {
+ *x = EvtSyncSkillAnchorPosition{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtSyncSkillAnchorPosition_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtSyncSkillAnchorPosition) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtSyncSkillAnchorPosition) ProtoMessage() {}
+
+func (x *EvtSyncSkillAnchorPosition) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtSyncSkillAnchorPosition_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtSyncSkillAnchorPosition.ProtoReflect.Descriptor instead.
+func (*EvtSyncSkillAnchorPosition) Descriptor() ([]byte, []int) {
+ return file_EvtSyncSkillAnchorPosition_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtSyncSkillAnchorPosition) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtSyncSkillAnchorPosition) GetSkillAnchorPosition() *Vector {
+ if x != nil {
+ return x.SkillAnchorPosition
+ }
+ return nil
+}
+
+var File_EvtSyncSkillAnchorPosition_proto protoreflect.FileDescriptor
+
+var file_EvtSyncSkillAnchorPosition_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x45, 0x76, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x6e,
+ 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x1a, 0x45, 0x76, 0x74, 0x53, 0x79,
+ 0x6e, 0x63, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x41, 0x0a, 0x15, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68,
+ 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x13, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x50, 0x6f, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtSyncSkillAnchorPosition_proto_rawDescOnce sync.Once
+ file_EvtSyncSkillAnchorPosition_proto_rawDescData = file_EvtSyncSkillAnchorPosition_proto_rawDesc
+)
+
+func file_EvtSyncSkillAnchorPosition_proto_rawDescGZIP() []byte {
+ file_EvtSyncSkillAnchorPosition_proto_rawDescOnce.Do(func() {
+ file_EvtSyncSkillAnchorPosition_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtSyncSkillAnchorPosition_proto_rawDescData)
+ })
+ return file_EvtSyncSkillAnchorPosition_proto_rawDescData
+}
+
+var file_EvtSyncSkillAnchorPosition_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtSyncSkillAnchorPosition_proto_goTypes = []interface{}{
+ (*EvtSyncSkillAnchorPosition)(nil), // 0: proto.EvtSyncSkillAnchorPosition
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtSyncSkillAnchorPosition_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtSyncSkillAnchorPosition.skill_anchor_position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_EvtSyncSkillAnchorPosition_proto_init() }
+func file_EvtSyncSkillAnchorPosition_proto_init() {
+ if File_EvtSyncSkillAnchorPosition_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtSyncSkillAnchorPosition_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtSyncSkillAnchorPosition); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtSyncSkillAnchorPosition_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtSyncSkillAnchorPosition_proto_goTypes,
+ DependencyIndexes: file_EvtSyncSkillAnchorPosition_proto_depIdxs,
+ MessageInfos: file_EvtSyncSkillAnchorPosition_proto_msgTypes,
+ }.Build()
+ File_EvtSyncSkillAnchorPosition_proto = out.File
+ file_EvtSyncSkillAnchorPosition_proto_rawDesc = nil
+ file_EvtSyncSkillAnchorPosition_proto_goTypes = nil
+ file_EvtSyncSkillAnchorPosition_proto_depIdxs = nil
+}
diff --git a/protocol/proto/EvtSyncTransform.pb.go b/protocol/proto/EvtSyncTransform.pb.go
new file mode 100644
index 00000000..4cfcc2db
--- /dev/null
+++ b/protocol/proto/EvtSyncTransform.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: EvtSyncTransform.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type EvtSyncTransform struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ EntityPos *Vector `protobuf:"bytes,6,opt,name=entity_pos,json=entityPos,proto3" json:"entity_pos,omitempty"`
+ EntityRot *Vector `protobuf:"bytes,1,opt,name=entity_rot,json=entityRot,proto3" json:"entity_rot,omitempty"`
+}
+
+func (x *EvtSyncTransform) Reset() {
+ *x = EvtSyncTransform{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_EvtSyncTransform_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *EvtSyncTransform) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EvtSyncTransform) ProtoMessage() {}
+
+func (x *EvtSyncTransform) ProtoReflect() protoreflect.Message {
+ mi := &file_EvtSyncTransform_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use EvtSyncTransform.ProtoReflect.Descriptor instead.
+func (*EvtSyncTransform) Descriptor() ([]byte, []int) {
+ return file_EvtSyncTransform_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *EvtSyncTransform) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *EvtSyncTransform) GetEntityPos() *Vector {
+ if x != nil {
+ return x.EntityPos
+ }
+ return nil
+}
+
+func (x *EvtSyncTransform) GetEntityRot() *Vector {
+ if x != nil {
+ return x.EntityRot
+ }
+ return nil
+}
+
+var File_EvtSyncTransform_proto protoreflect.FileDescriptor
+
+var file_EvtSyncTransform_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x45, 0x76, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,
+ 0x72, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01,
+ 0x0a, 0x10, 0x45, 0x76, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f,
+ 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12,
+ 0x2c, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x73, 0x12, 0x2c, 0x0a,
+ 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_EvtSyncTransform_proto_rawDescOnce sync.Once
+ file_EvtSyncTransform_proto_rawDescData = file_EvtSyncTransform_proto_rawDesc
+)
+
+func file_EvtSyncTransform_proto_rawDescGZIP() []byte {
+ file_EvtSyncTransform_proto_rawDescOnce.Do(func() {
+ file_EvtSyncTransform_proto_rawDescData = protoimpl.X.CompressGZIP(file_EvtSyncTransform_proto_rawDescData)
+ })
+ return file_EvtSyncTransform_proto_rawDescData
+}
+
+var file_EvtSyncTransform_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_EvtSyncTransform_proto_goTypes = []interface{}{
+ (*EvtSyncTransform)(nil), // 0: proto.EvtSyncTransform
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_EvtSyncTransform_proto_depIdxs = []int32{
+ 1, // 0: proto.EvtSyncTransform.entity_pos:type_name -> proto.Vector
+ 1, // 1: proto.EvtSyncTransform.entity_rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_EvtSyncTransform_proto_init() }
+func file_EvtSyncTransform_proto_init() {
+ if File_EvtSyncTransform_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_EvtSyncTransform_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*EvtSyncTransform); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_EvtSyncTransform_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_EvtSyncTransform_proto_goTypes,
+ DependencyIndexes: file_EvtSyncTransform_proto_depIdxs,
+ MessageInfos: file_EvtSyncTransform_proto_msgTypes,
+ }.Build()
+ File_EvtSyncTransform_proto = out.File
+ file_EvtSyncTransform_proto_rawDesc = nil
+ file_EvtSyncTransform_proto_goTypes = nil
+ file_EvtSyncTransform_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExclusiveRuleInfo.pb.go b/protocol/proto/ExclusiveRuleInfo.pb.go
new file mode 100644
index 00000000..dc768d5a
--- /dev/null
+++ b/protocol/proto/ExclusiveRuleInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExclusiveRuleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ExclusiveRuleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ObjectIdList []uint32 `protobuf:"varint,1,rep,packed,name=object_id_list,json=objectIdList,proto3" json:"object_id_list,omitempty"`
+ RuleType uint32 `protobuf:"varint,10,opt,name=rule_type,json=ruleType,proto3" json:"rule_type,omitempty"`
+}
+
+func (x *ExclusiveRuleInfo) Reset() {
+ *x = ExclusiveRuleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExclusiveRuleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExclusiveRuleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExclusiveRuleInfo) ProtoMessage() {}
+
+func (x *ExclusiveRuleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ExclusiveRuleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExclusiveRuleInfo.ProtoReflect.Descriptor instead.
+func (*ExclusiveRuleInfo) Descriptor() ([]byte, []int) {
+ return file_ExclusiveRuleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExclusiveRuleInfo) GetObjectIdList() []uint32 {
+ if x != nil {
+ return x.ObjectIdList
+ }
+ return nil
+}
+
+func (x *ExclusiveRuleInfo) GetRuleType() uint32 {
+ if x != nil {
+ return x.RuleType
+ }
+ return 0
+}
+
+var File_ExclusiveRuleInfo_proto protoreflect.FileDescriptor
+
+var file_ExclusiveRuleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x56, 0x0a, 0x11, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x6f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72,
+ 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x72, 0x75, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExclusiveRuleInfo_proto_rawDescOnce sync.Once
+ file_ExclusiveRuleInfo_proto_rawDescData = file_ExclusiveRuleInfo_proto_rawDesc
+)
+
+func file_ExclusiveRuleInfo_proto_rawDescGZIP() []byte {
+ file_ExclusiveRuleInfo_proto_rawDescOnce.Do(func() {
+ file_ExclusiveRuleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExclusiveRuleInfo_proto_rawDescData)
+ })
+ return file_ExclusiveRuleInfo_proto_rawDescData
+}
+
+var file_ExclusiveRuleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExclusiveRuleInfo_proto_goTypes = []interface{}{
+ (*ExclusiveRuleInfo)(nil), // 0: proto.ExclusiveRuleInfo
+}
+var file_ExclusiveRuleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExclusiveRuleInfo_proto_init() }
+func file_ExclusiveRuleInfo_proto_init() {
+ if File_ExclusiveRuleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExclusiveRuleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExclusiveRuleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExclusiveRuleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExclusiveRuleInfo_proto_goTypes,
+ DependencyIndexes: file_ExclusiveRuleInfo_proto_depIdxs,
+ MessageInfos: file_ExclusiveRuleInfo_proto_msgTypes,
+ }.Build()
+ File_ExclusiveRuleInfo_proto = out.File
+ file_ExclusiveRuleInfo_proto_rawDesc = nil
+ file_ExclusiveRuleInfo_proto_goTypes = nil
+ file_ExclusiveRuleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExclusiveRuleNotify.pb.go b/protocol/proto/ExclusiveRuleNotify.pb.go
new file mode 100644
index 00000000..46b0926a
--- /dev/null
+++ b/protocol/proto/ExclusiveRuleNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExclusiveRuleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 101
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExclusiveRuleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RuleInfoList []*ExclusiveRuleInfo `protobuf:"bytes,5,rep,name=rule_info_list,json=ruleInfoList,proto3" json:"rule_info_list,omitempty"`
+}
+
+func (x *ExclusiveRuleNotify) Reset() {
+ *x = ExclusiveRuleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExclusiveRuleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExclusiveRuleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExclusiveRuleNotify) ProtoMessage() {}
+
+func (x *ExclusiveRuleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ExclusiveRuleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExclusiveRuleNotify.ProtoReflect.Descriptor instead.
+func (*ExclusiveRuleNotify) Descriptor() ([]byte, []int) {
+ return file_ExclusiveRuleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExclusiveRuleNotify) GetRuleInfoList() []*ExclusiveRuleInfo {
+ if x != nil {
+ return x.RuleInfoList
+ }
+ return nil
+}
+
+var File_ExclusiveRuleNotify_proto protoreflect.FileDescriptor
+
+var file_ExclusiveRuleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x17, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x13, 0x45,
+ 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x3e, 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExclusiveRuleNotify_proto_rawDescOnce sync.Once
+ file_ExclusiveRuleNotify_proto_rawDescData = file_ExclusiveRuleNotify_proto_rawDesc
+)
+
+func file_ExclusiveRuleNotify_proto_rawDescGZIP() []byte {
+ file_ExclusiveRuleNotify_proto_rawDescOnce.Do(func() {
+ file_ExclusiveRuleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExclusiveRuleNotify_proto_rawDescData)
+ })
+ return file_ExclusiveRuleNotify_proto_rawDescData
+}
+
+var file_ExclusiveRuleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExclusiveRuleNotify_proto_goTypes = []interface{}{
+ (*ExclusiveRuleNotify)(nil), // 0: proto.ExclusiveRuleNotify
+ (*ExclusiveRuleInfo)(nil), // 1: proto.ExclusiveRuleInfo
+}
+var file_ExclusiveRuleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ExclusiveRuleNotify.rule_info_list:type_name -> proto.ExclusiveRuleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ExclusiveRuleNotify_proto_init() }
+func file_ExclusiveRuleNotify_proto_init() {
+ if File_ExclusiveRuleNotify_proto != nil {
+ return
+ }
+ file_ExclusiveRuleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ExclusiveRuleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExclusiveRuleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExclusiveRuleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExclusiveRuleNotify_proto_goTypes,
+ DependencyIndexes: file_ExclusiveRuleNotify_proto_depIdxs,
+ MessageInfos: file_ExclusiveRuleNotify_proto_msgTypes,
+ }.Build()
+ File_ExclusiveRuleNotify_proto = out.File
+ file_ExclusiveRuleNotify_proto_rawDesc = nil
+ file_ExclusiveRuleNotify_proto_goTypes = nil
+ file_ExclusiveRuleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExecuteGadgetLuaReq.pb.go b/protocol/proto/ExecuteGadgetLuaReq.pb.go
new file mode 100644
index 00000000..55534b04
--- /dev/null
+++ b/protocol/proto/ExecuteGadgetLuaReq.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExecuteGadgetLuaReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 269
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExecuteGadgetLuaReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SourceEntityId uint32 `protobuf:"varint,12,opt,name=source_entity_id,json=sourceEntityId,proto3" json:"source_entity_id,omitempty"`
+ Param3 int32 `protobuf:"varint,1,opt,name=param3,proto3" json:"param3,omitempty"`
+ Param1 int32 `protobuf:"varint,5,opt,name=param1,proto3" json:"param1,omitempty"`
+ Param2 int32 `protobuf:"varint,14,opt,name=param2,proto3" json:"param2,omitempty"`
+}
+
+func (x *ExecuteGadgetLuaReq) Reset() {
+ *x = ExecuteGadgetLuaReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExecuteGadgetLuaReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExecuteGadgetLuaReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExecuteGadgetLuaReq) ProtoMessage() {}
+
+func (x *ExecuteGadgetLuaReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ExecuteGadgetLuaReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExecuteGadgetLuaReq.ProtoReflect.Descriptor instead.
+func (*ExecuteGadgetLuaReq) Descriptor() ([]byte, []int) {
+ return file_ExecuteGadgetLuaReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExecuteGadgetLuaReq) GetSourceEntityId() uint32 {
+ if x != nil {
+ return x.SourceEntityId
+ }
+ return 0
+}
+
+func (x *ExecuteGadgetLuaReq) GetParam3() int32 {
+ if x != nil {
+ return x.Param3
+ }
+ return 0
+}
+
+func (x *ExecuteGadgetLuaReq) GetParam1() int32 {
+ if x != nil {
+ return x.Param1
+ }
+ return 0
+}
+
+func (x *ExecuteGadgetLuaReq) GetParam2() int32 {
+ if x != nil {
+ return x.Param2
+ }
+ return 0
+}
+
+var File_ExecuteGadgetLuaReq_proto protoreflect.FileDescriptor
+
+var file_ExecuteGadgetLuaReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x4c,
+ 0x75, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x4c, 0x75, 0x61, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExecuteGadgetLuaReq_proto_rawDescOnce sync.Once
+ file_ExecuteGadgetLuaReq_proto_rawDescData = file_ExecuteGadgetLuaReq_proto_rawDesc
+)
+
+func file_ExecuteGadgetLuaReq_proto_rawDescGZIP() []byte {
+ file_ExecuteGadgetLuaReq_proto_rawDescOnce.Do(func() {
+ file_ExecuteGadgetLuaReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExecuteGadgetLuaReq_proto_rawDescData)
+ })
+ return file_ExecuteGadgetLuaReq_proto_rawDescData
+}
+
+var file_ExecuteGadgetLuaReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExecuteGadgetLuaReq_proto_goTypes = []interface{}{
+ (*ExecuteGadgetLuaReq)(nil), // 0: proto.ExecuteGadgetLuaReq
+}
+var file_ExecuteGadgetLuaReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExecuteGadgetLuaReq_proto_init() }
+func file_ExecuteGadgetLuaReq_proto_init() {
+ if File_ExecuteGadgetLuaReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExecuteGadgetLuaReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExecuteGadgetLuaReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExecuteGadgetLuaReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExecuteGadgetLuaReq_proto_goTypes,
+ DependencyIndexes: file_ExecuteGadgetLuaReq_proto_depIdxs,
+ MessageInfos: file_ExecuteGadgetLuaReq_proto_msgTypes,
+ }.Build()
+ File_ExecuteGadgetLuaReq_proto = out.File
+ file_ExecuteGadgetLuaReq_proto_rawDesc = nil
+ file_ExecuteGadgetLuaReq_proto_goTypes = nil
+ file_ExecuteGadgetLuaReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExecuteGadgetLuaRsp.pb.go b/protocol/proto/ExecuteGadgetLuaRsp.pb.go
new file mode 100644
index 00000000..0f63de9f
--- /dev/null
+++ b/protocol/proto/ExecuteGadgetLuaRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExecuteGadgetLuaRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 210
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExecuteGadgetLuaRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ExecuteGadgetLuaRsp) Reset() {
+ *x = ExecuteGadgetLuaRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExecuteGadgetLuaRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExecuteGadgetLuaRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExecuteGadgetLuaRsp) ProtoMessage() {}
+
+func (x *ExecuteGadgetLuaRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ExecuteGadgetLuaRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExecuteGadgetLuaRsp.ProtoReflect.Descriptor instead.
+func (*ExecuteGadgetLuaRsp) Descriptor() ([]byte, []int) {
+ return file_ExecuteGadgetLuaRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExecuteGadgetLuaRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ExecuteGadgetLuaRsp_proto protoreflect.FileDescriptor
+
+var file_ExecuteGadgetLuaRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x4c,
+ 0x75, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x4c, 0x75, 0x61, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExecuteGadgetLuaRsp_proto_rawDescOnce sync.Once
+ file_ExecuteGadgetLuaRsp_proto_rawDescData = file_ExecuteGadgetLuaRsp_proto_rawDesc
+)
+
+func file_ExecuteGadgetLuaRsp_proto_rawDescGZIP() []byte {
+ file_ExecuteGadgetLuaRsp_proto_rawDescOnce.Do(func() {
+ file_ExecuteGadgetLuaRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExecuteGadgetLuaRsp_proto_rawDescData)
+ })
+ return file_ExecuteGadgetLuaRsp_proto_rawDescData
+}
+
+var file_ExecuteGadgetLuaRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExecuteGadgetLuaRsp_proto_goTypes = []interface{}{
+ (*ExecuteGadgetLuaRsp)(nil), // 0: proto.ExecuteGadgetLuaRsp
+}
+var file_ExecuteGadgetLuaRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExecuteGadgetLuaRsp_proto_init() }
+func file_ExecuteGadgetLuaRsp_proto_init() {
+ if File_ExecuteGadgetLuaRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExecuteGadgetLuaRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExecuteGadgetLuaRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExecuteGadgetLuaRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExecuteGadgetLuaRsp_proto_goTypes,
+ DependencyIndexes: file_ExecuteGadgetLuaRsp_proto_depIdxs,
+ MessageInfos: file_ExecuteGadgetLuaRsp_proto_msgTypes,
+ }.Build()
+ File_ExecuteGadgetLuaRsp_proto = out.File
+ file_ExecuteGadgetLuaRsp_proto_rawDesc = nil
+ file_ExecuteGadgetLuaRsp_proto_goTypes = nil
+ file_ExecuteGadgetLuaRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExecuteGroupTriggerReq.pb.go b/protocol/proto/ExecuteGroupTriggerReq.pb.go
new file mode 100644
index 00000000..08c5bd57
--- /dev/null
+++ b/protocol/proto/ExecuteGroupTriggerReq.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExecuteGroupTriggerReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 257
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExecuteGroupTriggerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SourceName string `protobuf:"bytes,15,opt,name=source_name,json=sourceName,proto3" json:"source_name,omitempty"`
+ TargetEntityId uint32 `protobuf:"varint,12,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+ Param2 int32 `protobuf:"varint,8,opt,name=param2,proto3" json:"param2,omitempty"`
+ SourceEntityId uint32 `protobuf:"varint,4,opt,name=source_entity_id,json=sourceEntityId,proto3" json:"source_entity_id,omitempty"`
+ Param3 int32 `protobuf:"varint,10,opt,name=param3,proto3" json:"param3,omitempty"`
+ Param1 int32 `protobuf:"varint,9,opt,name=param1,proto3" json:"param1,omitempty"`
+}
+
+func (x *ExecuteGroupTriggerReq) Reset() {
+ *x = ExecuteGroupTriggerReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExecuteGroupTriggerReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExecuteGroupTriggerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExecuteGroupTriggerReq) ProtoMessage() {}
+
+func (x *ExecuteGroupTriggerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ExecuteGroupTriggerReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExecuteGroupTriggerReq.ProtoReflect.Descriptor instead.
+func (*ExecuteGroupTriggerReq) Descriptor() ([]byte, []int) {
+ return file_ExecuteGroupTriggerReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExecuteGroupTriggerReq) GetSourceName() string {
+ if x != nil {
+ return x.SourceName
+ }
+ return ""
+}
+
+func (x *ExecuteGroupTriggerReq) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+func (x *ExecuteGroupTriggerReq) GetParam2() int32 {
+ if x != nil {
+ return x.Param2
+ }
+ return 0
+}
+
+func (x *ExecuteGroupTriggerReq) GetSourceEntityId() uint32 {
+ if x != nil {
+ return x.SourceEntityId
+ }
+ return 0
+}
+
+func (x *ExecuteGroupTriggerReq) GetParam3() int32 {
+ if x != nil {
+ return x.Param3
+ }
+ return 0
+}
+
+func (x *ExecuteGroupTriggerReq) GetParam1() int32 {
+ if x != nil {
+ return x.Param1
+ }
+ return 0
+}
+
+var File_ExecuteGroupTriggerReq_proto protoreflect.FileDescriptor
+
+var file_ExecuteGroupTriggerReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x72,
+ 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x01, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
+ 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x32, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x16, 0x0a,
+ 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ExecuteGroupTriggerReq_proto_rawDescOnce sync.Once
+ file_ExecuteGroupTriggerReq_proto_rawDescData = file_ExecuteGroupTriggerReq_proto_rawDesc
+)
+
+func file_ExecuteGroupTriggerReq_proto_rawDescGZIP() []byte {
+ file_ExecuteGroupTriggerReq_proto_rawDescOnce.Do(func() {
+ file_ExecuteGroupTriggerReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExecuteGroupTriggerReq_proto_rawDescData)
+ })
+ return file_ExecuteGroupTriggerReq_proto_rawDescData
+}
+
+var file_ExecuteGroupTriggerReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExecuteGroupTriggerReq_proto_goTypes = []interface{}{
+ (*ExecuteGroupTriggerReq)(nil), // 0: proto.ExecuteGroupTriggerReq
+}
+var file_ExecuteGroupTriggerReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExecuteGroupTriggerReq_proto_init() }
+func file_ExecuteGroupTriggerReq_proto_init() {
+ if File_ExecuteGroupTriggerReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExecuteGroupTriggerReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExecuteGroupTriggerReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExecuteGroupTriggerReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExecuteGroupTriggerReq_proto_goTypes,
+ DependencyIndexes: file_ExecuteGroupTriggerReq_proto_depIdxs,
+ MessageInfos: file_ExecuteGroupTriggerReq_proto_msgTypes,
+ }.Build()
+ File_ExecuteGroupTriggerReq_proto = out.File
+ file_ExecuteGroupTriggerReq_proto_rawDesc = nil
+ file_ExecuteGroupTriggerReq_proto_goTypes = nil
+ file_ExecuteGroupTriggerReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExecuteGroupTriggerRsp.pb.go b/protocol/proto/ExecuteGroupTriggerRsp.pb.go
new file mode 100644
index 00000000..62a01222
--- /dev/null
+++ b/protocol/proto/ExecuteGroupTriggerRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExecuteGroupTriggerRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 300
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExecuteGroupTriggerRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ExecuteGroupTriggerRsp) Reset() {
+ *x = ExecuteGroupTriggerRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExecuteGroupTriggerRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExecuteGroupTriggerRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExecuteGroupTriggerRsp) ProtoMessage() {}
+
+func (x *ExecuteGroupTriggerRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ExecuteGroupTriggerRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExecuteGroupTriggerRsp.ProtoReflect.Descriptor instead.
+func (*ExecuteGroupTriggerRsp) Descriptor() ([]byte, []int) {
+ return file_ExecuteGroupTriggerRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExecuteGroupTriggerRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ExecuteGroupTriggerRsp_proto protoreflect.FileDescriptor
+
+var file_ExecuteGroupTriggerRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x72,
+ 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65,
+ 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExecuteGroupTriggerRsp_proto_rawDescOnce sync.Once
+ file_ExecuteGroupTriggerRsp_proto_rawDescData = file_ExecuteGroupTriggerRsp_proto_rawDesc
+)
+
+func file_ExecuteGroupTriggerRsp_proto_rawDescGZIP() []byte {
+ file_ExecuteGroupTriggerRsp_proto_rawDescOnce.Do(func() {
+ file_ExecuteGroupTriggerRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExecuteGroupTriggerRsp_proto_rawDescData)
+ })
+ return file_ExecuteGroupTriggerRsp_proto_rawDescData
+}
+
+var file_ExecuteGroupTriggerRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExecuteGroupTriggerRsp_proto_goTypes = []interface{}{
+ (*ExecuteGroupTriggerRsp)(nil), // 0: proto.ExecuteGroupTriggerRsp
+}
+var file_ExecuteGroupTriggerRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExecuteGroupTriggerRsp_proto_init() }
+func file_ExecuteGroupTriggerRsp_proto_init() {
+ if File_ExecuteGroupTriggerRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExecuteGroupTriggerRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExecuteGroupTriggerRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExecuteGroupTriggerRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExecuteGroupTriggerRsp_proto_goTypes,
+ DependencyIndexes: file_ExecuteGroupTriggerRsp_proto_depIdxs,
+ MessageInfos: file_ExecuteGroupTriggerRsp_proto_msgTypes,
+ }.Build()
+ File_ExecuteGroupTriggerRsp_proto = out.File
+ file_ExecuteGroupTriggerRsp_proto_rawDesc = nil
+ file_ExecuteGroupTriggerRsp_proto_goTypes = nil
+ file_ExecuteGroupTriggerRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExhibitionDisplayInfo.pb.go b/protocol/proto/ExhibitionDisplayInfo.pb.go
new file mode 100644
index 00000000..1c84f0e7
--- /dev/null
+++ b/protocol/proto/ExhibitionDisplayInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExhibitionDisplayInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ExhibitionDisplayInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ Param uint32 `protobuf:"varint,2,opt,name=param,proto3" json:"param,omitempty"`
+ DetailParam uint32 `protobuf:"varint,3,opt,name=detail_param,json=detailParam,proto3" json:"detail_param,omitempty"`
+}
+
+func (x *ExhibitionDisplayInfo) Reset() {
+ *x = ExhibitionDisplayInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExhibitionDisplayInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExhibitionDisplayInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExhibitionDisplayInfo) ProtoMessage() {}
+
+func (x *ExhibitionDisplayInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ExhibitionDisplayInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExhibitionDisplayInfo.ProtoReflect.Descriptor instead.
+func (*ExhibitionDisplayInfo) Descriptor() ([]byte, []int) {
+ return file_ExhibitionDisplayInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExhibitionDisplayInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *ExhibitionDisplayInfo) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *ExhibitionDisplayInfo) GetDetailParam() uint32 {
+ if x != nil {
+ return x.DetailParam
+ }
+ return 0
+}
+
+var File_ExhibitionDisplayInfo_proto protoreflect.FileDescriptor
+
+var file_ExhibitionDisplayInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70,
+ 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x15, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a,
+ 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a,
+ 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExhibitionDisplayInfo_proto_rawDescOnce sync.Once
+ file_ExhibitionDisplayInfo_proto_rawDescData = file_ExhibitionDisplayInfo_proto_rawDesc
+)
+
+func file_ExhibitionDisplayInfo_proto_rawDescGZIP() []byte {
+ file_ExhibitionDisplayInfo_proto_rawDescOnce.Do(func() {
+ file_ExhibitionDisplayInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExhibitionDisplayInfo_proto_rawDescData)
+ })
+ return file_ExhibitionDisplayInfo_proto_rawDescData
+}
+
+var file_ExhibitionDisplayInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExhibitionDisplayInfo_proto_goTypes = []interface{}{
+ (*ExhibitionDisplayInfo)(nil), // 0: proto.ExhibitionDisplayInfo
+}
+var file_ExhibitionDisplayInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExhibitionDisplayInfo_proto_init() }
+func file_ExhibitionDisplayInfo_proto_init() {
+ if File_ExhibitionDisplayInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExhibitionDisplayInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExhibitionDisplayInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExhibitionDisplayInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExhibitionDisplayInfo_proto_goTypes,
+ DependencyIndexes: file_ExhibitionDisplayInfo_proto_depIdxs,
+ MessageInfos: file_ExhibitionDisplayInfo_proto_msgTypes,
+ }.Build()
+ File_ExhibitionDisplayInfo_proto = out.File
+ file_ExhibitionDisplayInfo_proto_rawDesc = nil
+ file_ExhibitionDisplayInfo_proto_goTypes = nil
+ file_ExhibitionDisplayInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExitCustomDungeonTryReq.pb.go b/protocol/proto/ExitCustomDungeonTryReq.pb.go
new file mode 100644
index 00000000..3cd0b79e
--- /dev/null
+++ b/protocol/proto/ExitCustomDungeonTryReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExitCustomDungeonTryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6247
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExitCustomDungeonTryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ExitCustomDungeonTryReq) Reset() {
+ *x = ExitCustomDungeonTryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExitCustomDungeonTryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExitCustomDungeonTryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExitCustomDungeonTryReq) ProtoMessage() {}
+
+func (x *ExitCustomDungeonTryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ExitCustomDungeonTryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExitCustomDungeonTryReq.ProtoReflect.Descriptor instead.
+func (*ExitCustomDungeonTryReq) Descriptor() ([]byte, []int) {
+ return file_ExitCustomDungeonTryReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ExitCustomDungeonTryReq_proto protoreflect.FileDescriptor
+
+var file_ExitCustomDungeonTryReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x45, 0x78, 0x69, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x54, 0x72, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x45, 0x78, 0x69, 0x74, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x72, 0x79, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExitCustomDungeonTryReq_proto_rawDescOnce sync.Once
+ file_ExitCustomDungeonTryReq_proto_rawDescData = file_ExitCustomDungeonTryReq_proto_rawDesc
+)
+
+func file_ExitCustomDungeonTryReq_proto_rawDescGZIP() []byte {
+ file_ExitCustomDungeonTryReq_proto_rawDescOnce.Do(func() {
+ file_ExitCustomDungeonTryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExitCustomDungeonTryReq_proto_rawDescData)
+ })
+ return file_ExitCustomDungeonTryReq_proto_rawDescData
+}
+
+var file_ExitCustomDungeonTryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExitCustomDungeonTryReq_proto_goTypes = []interface{}{
+ (*ExitCustomDungeonTryReq)(nil), // 0: proto.ExitCustomDungeonTryReq
+}
+var file_ExitCustomDungeonTryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExitCustomDungeonTryReq_proto_init() }
+func file_ExitCustomDungeonTryReq_proto_init() {
+ if File_ExitCustomDungeonTryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExitCustomDungeonTryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExitCustomDungeonTryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExitCustomDungeonTryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExitCustomDungeonTryReq_proto_goTypes,
+ DependencyIndexes: file_ExitCustomDungeonTryReq_proto_depIdxs,
+ MessageInfos: file_ExitCustomDungeonTryReq_proto_msgTypes,
+ }.Build()
+ File_ExitCustomDungeonTryReq_proto = out.File
+ file_ExitCustomDungeonTryReq_proto_rawDesc = nil
+ file_ExitCustomDungeonTryReq_proto_goTypes = nil
+ file_ExitCustomDungeonTryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExitCustomDungeonTryRsp.pb.go b/protocol/proto/ExitCustomDungeonTryRsp.pb.go
new file mode 100644
index 00000000..f86bf919
--- /dev/null
+++ b/protocol/proto/ExitCustomDungeonTryRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExitCustomDungeonTryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6237
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExitCustomDungeonTryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ExitCustomDungeonTryRsp) Reset() {
+ *x = ExitCustomDungeonTryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExitCustomDungeonTryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExitCustomDungeonTryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExitCustomDungeonTryRsp) ProtoMessage() {}
+
+func (x *ExitCustomDungeonTryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ExitCustomDungeonTryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExitCustomDungeonTryRsp.ProtoReflect.Descriptor instead.
+func (*ExitCustomDungeonTryRsp) Descriptor() ([]byte, []int) {
+ return file_ExitCustomDungeonTryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExitCustomDungeonTryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ExitCustomDungeonTryRsp_proto protoreflect.FileDescriptor
+
+var file_ExitCustomDungeonTryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x45, 0x78, 0x69, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x54, 0x72, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x45, 0x78, 0x69, 0x74, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x72, 0x79, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExitCustomDungeonTryRsp_proto_rawDescOnce sync.Once
+ file_ExitCustomDungeonTryRsp_proto_rawDescData = file_ExitCustomDungeonTryRsp_proto_rawDesc
+)
+
+func file_ExitCustomDungeonTryRsp_proto_rawDescGZIP() []byte {
+ file_ExitCustomDungeonTryRsp_proto_rawDescOnce.Do(func() {
+ file_ExitCustomDungeonTryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExitCustomDungeonTryRsp_proto_rawDescData)
+ })
+ return file_ExitCustomDungeonTryRsp_proto_rawDescData
+}
+
+var file_ExitCustomDungeonTryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExitCustomDungeonTryRsp_proto_goTypes = []interface{}{
+ (*ExitCustomDungeonTryRsp)(nil), // 0: proto.ExitCustomDungeonTryRsp
+}
+var file_ExitCustomDungeonTryRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExitCustomDungeonTryRsp_proto_init() }
+func file_ExitCustomDungeonTryRsp_proto_init() {
+ if File_ExitCustomDungeonTryRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExitCustomDungeonTryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExitCustomDungeonTryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExitCustomDungeonTryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExitCustomDungeonTryRsp_proto_goTypes,
+ DependencyIndexes: file_ExitCustomDungeonTryRsp_proto_depIdxs,
+ MessageInfos: file_ExitCustomDungeonTryRsp_proto_msgTypes,
+ }.Build()
+ File_ExitCustomDungeonTryRsp_proto = out.File
+ file_ExitCustomDungeonTryRsp_proto_rawDesc = nil
+ file_ExitCustomDungeonTryRsp_proto_goTypes = nil
+ file_ExitCustomDungeonTryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExitFishingReq.pb.go b/protocol/proto/ExitFishingReq.pb.go
new file mode 100644
index 00000000..f3ff004f
--- /dev/null
+++ b/protocol/proto/ExitFishingReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExitFishingReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5814
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExitFishingReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ExitFishingReq) Reset() {
+ *x = ExitFishingReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExitFishingReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExitFishingReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExitFishingReq) ProtoMessage() {}
+
+func (x *ExitFishingReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ExitFishingReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExitFishingReq.ProtoReflect.Descriptor instead.
+func (*ExitFishingReq) Descriptor() ([]byte, []int) {
+ return file_ExitFishingReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ExitFishingReq_proto protoreflect.FileDescriptor
+
+var file_ExitFishingReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x45, 0x78, 0x69, 0x74, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a,
+ 0x0e, 0x45, 0x78, 0x69, 0x74, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExitFishingReq_proto_rawDescOnce sync.Once
+ file_ExitFishingReq_proto_rawDescData = file_ExitFishingReq_proto_rawDesc
+)
+
+func file_ExitFishingReq_proto_rawDescGZIP() []byte {
+ file_ExitFishingReq_proto_rawDescOnce.Do(func() {
+ file_ExitFishingReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExitFishingReq_proto_rawDescData)
+ })
+ return file_ExitFishingReq_proto_rawDescData
+}
+
+var file_ExitFishingReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExitFishingReq_proto_goTypes = []interface{}{
+ (*ExitFishingReq)(nil), // 0: proto.ExitFishingReq
+}
+var file_ExitFishingReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExitFishingReq_proto_init() }
+func file_ExitFishingReq_proto_init() {
+ if File_ExitFishingReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExitFishingReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExitFishingReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExitFishingReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExitFishingReq_proto_goTypes,
+ DependencyIndexes: file_ExitFishingReq_proto_depIdxs,
+ MessageInfos: file_ExitFishingReq_proto_msgTypes,
+ }.Build()
+ File_ExitFishingReq_proto = out.File
+ file_ExitFishingReq_proto_rawDesc = nil
+ file_ExitFishingReq_proto_goTypes = nil
+ file_ExitFishingReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExitFishingRsp.pb.go b/protocol/proto/ExitFishingRsp.pb.go
new file mode 100644
index 00000000..65d58e5e
--- /dev/null
+++ b/protocol/proto/ExitFishingRsp.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExitFishingRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5847
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExitFishingRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ExitFishingRsp) Reset() {
+ *x = ExitFishingRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExitFishingRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExitFishingRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExitFishingRsp) ProtoMessage() {}
+
+func (x *ExitFishingRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ExitFishingRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExitFishingRsp.ProtoReflect.Descriptor instead.
+func (*ExitFishingRsp) Descriptor() ([]byte, []int) {
+ return file_ExitFishingRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExitFishingRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ExitFishingRsp_proto protoreflect.FileDescriptor
+
+var file_ExitFishingRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x45, 0x78, 0x69, 0x74, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a,
+ 0x0e, 0x45, 0x78, 0x69, 0x74, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExitFishingRsp_proto_rawDescOnce sync.Once
+ file_ExitFishingRsp_proto_rawDescData = file_ExitFishingRsp_proto_rawDesc
+)
+
+func file_ExitFishingRsp_proto_rawDescGZIP() []byte {
+ file_ExitFishingRsp_proto_rawDescOnce.Do(func() {
+ file_ExitFishingRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExitFishingRsp_proto_rawDescData)
+ })
+ return file_ExitFishingRsp_proto_rawDescData
+}
+
+var file_ExitFishingRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExitFishingRsp_proto_goTypes = []interface{}{
+ (*ExitFishingRsp)(nil), // 0: proto.ExitFishingRsp
+}
+var file_ExitFishingRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExitFishingRsp_proto_init() }
+func file_ExitFishingRsp_proto_init() {
+ if File_ExitFishingRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExitFishingRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExitFishingRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExitFishingRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExitFishingRsp_proto_goTypes,
+ DependencyIndexes: file_ExitFishingRsp_proto_depIdxs,
+ MessageInfos: file_ExitFishingRsp_proto_msgTypes,
+ }.Build()
+ File_ExitFishingRsp_proto = out.File
+ file_ExitFishingRsp_proto_rawDesc = nil
+ file_ExitFishingRsp_proto_goTypes = nil
+ file_ExitFishingRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExitSceneWeatherAreaNotify.pb.go b/protocol/proto/ExitSceneWeatherAreaNotify.pb.go
new file mode 100644
index 00000000..1d19ec67
--- /dev/null
+++ b/protocol/proto/ExitSceneWeatherAreaNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExitSceneWeatherAreaNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 242
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExitSceneWeatherAreaNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WeatherGadgetId uint32 `protobuf:"varint,2,opt,name=weather_gadget_id,json=weatherGadgetId,proto3" json:"weather_gadget_id,omitempty"`
+}
+
+func (x *ExitSceneWeatherAreaNotify) Reset() {
+ *x = ExitSceneWeatherAreaNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExitSceneWeatherAreaNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExitSceneWeatherAreaNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExitSceneWeatherAreaNotify) ProtoMessage() {}
+
+func (x *ExitSceneWeatherAreaNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ExitSceneWeatherAreaNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExitSceneWeatherAreaNotify.ProtoReflect.Descriptor instead.
+func (*ExitSceneWeatherAreaNotify) Descriptor() ([]byte, []int) {
+ return file_ExitSceneWeatherAreaNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExitSceneWeatherAreaNotify) GetWeatherGadgetId() uint32 {
+ if x != nil {
+ return x.WeatherGadgetId
+ }
+ return 0
+}
+
+var File_ExitSceneWeatherAreaNotify_proto protoreflect.FileDescriptor
+
+var file_ExitSceneWeatherAreaNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x45, 0x78, 0x69, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68,
+ 0x65, 0x72, 0x41, 0x72, 0x65, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x1a, 0x45, 0x78, 0x69,
+ 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x41, 0x72, 0x65,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x65, 0x61, 0x74, 0x68,
+ 0x65, 0x72, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExitSceneWeatherAreaNotify_proto_rawDescOnce sync.Once
+ file_ExitSceneWeatherAreaNotify_proto_rawDescData = file_ExitSceneWeatherAreaNotify_proto_rawDesc
+)
+
+func file_ExitSceneWeatherAreaNotify_proto_rawDescGZIP() []byte {
+ file_ExitSceneWeatherAreaNotify_proto_rawDescOnce.Do(func() {
+ file_ExitSceneWeatherAreaNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExitSceneWeatherAreaNotify_proto_rawDescData)
+ })
+ return file_ExitSceneWeatherAreaNotify_proto_rawDescData
+}
+
+var file_ExitSceneWeatherAreaNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExitSceneWeatherAreaNotify_proto_goTypes = []interface{}{
+ (*ExitSceneWeatherAreaNotify)(nil), // 0: proto.ExitSceneWeatherAreaNotify
+}
+var file_ExitSceneWeatherAreaNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExitSceneWeatherAreaNotify_proto_init() }
+func file_ExitSceneWeatherAreaNotify_proto_init() {
+ if File_ExitSceneWeatherAreaNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExitSceneWeatherAreaNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExitSceneWeatherAreaNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExitSceneWeatherAreaNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExitSceneWeatherAreaNotify_proto_goTypes,
+ DependencyIndexes: file_ExitSceneWeatherAreaNotify_proto_depIdxs,
+ MessageInfos: file_ExitSceneWeatherAreaNotify_proto_msgTypes,
+ }.Build()
+ File_ExitSceneWeatherAreaNotify_proto = out.File
+ file_ExitSceneWeatherAreaNotify_proto_rawDesc = nil
+ file_ExitSceneWeatherAreaNotify_proto_goTypes = nil
+ file_ExitSceneWeatherAreaNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExitTransPointRegionNotify.pb.go b/protocol/proto/ExitTransPointRegionNotify.pb.go
new file mode 100644
index 00000000..0ac90fb3
--- /dev/null
+++ b/protocol/proto/ExitTransPointRegionNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExitTransPointRegionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 282
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExitTransPointRegionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,1,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,7,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *ExitTransPointRegionNotify) Reset() {
+ *x = ExitTransPointRegionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExitTransPointRegionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExitTransPointRegionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExitTransPointRegionNotify) ProtoMessage() {}
+
+func (x *ExitTransPointRegionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ExitTransPointRegionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExitTransPointRegionNotify.ProtoReflect.Descriptor instead.
+func (*ExitTransPointRegionNotify) Descriptor() ([]byte, []int) {
+ return file_ExitTransPointRegionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExitTransPointRegionNotify) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *ExitTransPointRegionNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_ExitTransPointRegionNotify_proto protoreflect.FileDescriptor
+
+var file_ExitTransPointRegionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x45, 0x78, 0x69, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x1a, 0x45, 0x78, 0x69,
+ 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ExitTransPointRegionNotify_proto_rawDescOnce sync.Once
+ file_ExitTransPointRegionNotify_proto_rawDescData = file_ExitTransPointRegionNotify_proto_rawDesc
+)
+
+func file_ExitTransPointRegionNotify_proto_rawDescGZIP() []byte {
+ file_ExitTransPointRegionNotify_proto_rawDescOnce.Do(func() {
+ file_ExitTransPointRegionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExitTransPointRegionNotify_proto_rawDescData)
+ })
+ return file_ExitTransPointRegionNotify_proto_rawDescData
+}
+
+var file_ExitTransPointRegionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExitTransPointRegionNotify_proto_goTypes = []interface{}{
+ (*ExitTransPointRegionNotify)(nil), // 0: proto.ExitTransPointRegionNotify
+}
+var file_ExitTransPointRegionNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExitTransPointRegionNotify_proto_init() }
+func file_ExitTransPointRegionNotify_proto_init() {
+ if File_ExitTransPointRegionNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExitTransPointRegionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExitTransPointRegionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExitTransPointRegionNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExitTransPointRegionNotify_proto_goTypes,
+ DependencyIndexes: file_ExitTransPointRegionNotify_proto_depIdxs,
+ MessageInfos: file_ExitTransPointRegionNotify_proto_msgTypes,
+ }.Build()
+ File_ExitTransPointRegionNotify_proto = out.File
+ file_ExitTransPointRegionNotify_proto_rawDesc = nil
+ file_ExitTransPointRegionNotify_proto_goTypes = nil
+ file_ExitTransPointRegionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionActivityDetailInfo.pb.go b/protocol/proto/ExpeditionActivityDetailInfo.pb.go
new file mode 100644
index 00000000..cfae14aa
--- /dev/null
+++ b/protocol/proto/ExpeditionActivityDetailInfo.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ExpeditionActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurChallengeId uint32 `protobuf:"varint,5,opt,name=cur_challenge_id,json=curChallengeId,proto3" json:"cur_challenge_id,omitempty"`
+ ChallengeInfoList []*ExpeditionChallengeInfo `protobuf:"bytes,10,rep,name=challenge_info_list,json=challengeInfoList,proto3" json:"challenge_info_list,omitempty"`
+ ExpeditionCount uint32 `protobuf:"varint,2,opt,name=expedition_count,json=expeditionCount,proto3" json:"expedition_count,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,4,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ IsContentClosed bool `protobuf:"varint,8,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ PathInfoList []*ExpeditionPathInfo `protobuf:"bytes,15,rep,name=path_info_list,json=pathInfoList,proto3" json:"path_info_list,omitempty"`
+}
+
+func (x *ExpeditionActivityDetailInfo) Reset() {
+ *x = ExpeditionActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionActivityDetailInfo) ProtoMessage() {}
+
+func (x *ExpeditionActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*ExpeditionActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_ExpeditionActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionActivityDetailInfo) GetCurChallengeId() uint32 {
+ if x != nil {
+ return x.CurChallengeId
+ }
+ return 0
+}
+
+func (x *ExpeditionActivityDetailInfo) GetChallengeInfoList() []*ExpeditionChallengeInfo {
+ if x != nil {
+ return x.ChallengeInfoList
+ }
+ return nil
+}
+
+func (x *ExpeditionActivityDetailInfo) GetExpeditionCount() uint32 {
+ if x != nil {
+ return x.ExpeditionCount
+ }
+ return 0
+}
+
+func (x *ExpeditionActivityDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *ExpeditionActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *ExpeditionActivityDetailInfo) GetPathInfoList() []*ExpeditionPathInfo {
+ if x != nil {
+ return x.PathInfoList
+ }
+ return nil
+}
+
+var File_ExpeditionActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_ExpeditionActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x45, 0x78, 0x70,
+ 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x45, 0x78, 0x70, 0x65,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x02, 0x0a, 0x1c, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x5f, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x63, 0x75, 0x72, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12,
+ 0x4e, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x29, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43,
+ 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c,
+ 0x6f, 0x73, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0e, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50,
+ 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_ExpeditionActivityDetailInfo_proto_rawDescData = file_ExpeditionActivityDetailInfo_proto_rawDesc
+)
+
+func file_ExpeditionActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_ExpeditionActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_ExpeditionActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionActivityDetailInfo_proto_rawDescData)
+ })
+ return file_ExpeditionActivityDetailInfo_proto_rawDescData
+}
+
+var file_ExpeditionActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionActivityDetailInfo_proto_goTypes = []interface{}{
+ (*ExpeditionActivityDetailInfo)(nil), // 0: proto.ExpeditionActivityDetailInfo
+ (*ExpeditionChallengeInfo)(nil), // 1: proto.ExpeditionChallengeInfo
+ (*ExpeditionPathInfo)(nil), // 2: proto.ExpeditionPathInfo
+}
+var file_ExpeditionActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ExpeditionActivityDetailInfo.challenge_info_list:type_name -> proto.ExpeditionChallengeInfo
+ 2, // 1: proto.ExpeditionActivityDetailInfo.path_info_list:type_name -> proto.ExpeditionPathInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionActivityDetailInfo_proto_init() }
+func file_ExpeditionActivityDetailInfo_proto_init() {
+ if File_ExpeditionActivityDetailInfo_proto != nil {
+ return
+ }
+ file_ExpeditionChallengeInfo_proto_init()
+ file_ExpeditionPathInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_ExpeditionActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_ExpeditionActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_ExpeditionActivityDetailInfo_proto = out.File
+ file_ExpeditionActivityDetailInfo_proto_rawDesc = nil
+ file_ExpeditionActivityDetailInfo_proto_goTypes = nil
+ file_ExpeditionActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionAssistInfo.pb.go b/protocol/proto/ExpeditionAssistInfo.pb.go
new file mode 100644
index 00000000..eea7ec36
--- /dev/null
+++ b/protocol/proto/ExpeditionAssistInfo.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionAssistInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ExpeditionAssistInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OnlineId string `protobuf:"bytes,14,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ AssistTime uint32 `protobuf:"varint,1,opt,name=assist_time,json=assistTime,proto3" json:"assist_time,omitempty"`
+ CostumeId uint32 `protobuf:"varint,6,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ TargetNickName string `protobuf:"bytes,4,opt,name=target_nick_name,json=targetNickName,proto3" json:"target_nick_name,omitempty"`
+ AvatarId uint32 `protobuf:"varint,12,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *ExpeditionAssistInfo) Reset() {
+ *x = ExpeditionAssistInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionAssistInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionAssistInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionAssistInfo) ProtoMessage() {}
+
+func (x *ExpeditionAssistInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionAssistInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionAssistInfo.ProtoReflect.Descriptor instead.
+func (*ExpeditionAssistInfo) Descriptor() ([]byte, []int) {
+ return file_ExpeditionAssistInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionAssistInfo) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *ExpeditionAssistInfo) GetAssistTime() uint32 {
+ if x != nil {
+ return x.AssistTime
+ }
+ return 0
+}
+
+func (x *ExpeditionAssistInfo) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *ExpeditionAssistInfo) GetTargetNickName() string {
+ if x != nil {
+ return x.TargetNickName
+ }
+ return ""
+}
+
+func (x *ExpeditionAssistInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_ExpeditionAssistInfo_proto protoreflect.FileDescriptor
+
+var file_ExpeditionAssistInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x73, 0x73, 0x69,
+ 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09,
+ 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x73, 0x73,
+ 0x69, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f,
+ 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x69, 0x63, 0x6b, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionAssistInfo_proto_rawDescOnce sync.Once
+ file_ExpeditionAssistInfo_proto_rawDescData = file_ExpeditionAssistInfo_proto_rawDesc
+)
+
+func file_ExpeditionAssistInfo_proto_rawDescGZIP() []byte {
+ file_ExpeditionAssistInfo_proto_rawDescOnce.Do(func() {
+ file_ExpeditionAssistInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionAssistInfo_proto_rawDescData)
+ })
+ return file_ExpeditionAssistInfo_proto_rawDescData
+}
+
+var file_ExpeditionAssistInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionAssistInfo_proto_goTypes = []interface{}{
+ (*ExpeditionAssistInfo)(nil), // 0: proto.ExpeditionAssistInfo
+}
+var file_ExpeditionAssistInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionAssistInfo_proto_init() }
+func file_ExpeditionAssistInfo_proto_init() {
+ if File_ExpeditionAssistInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionAssistInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionAssistInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionAssistInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionAssistInfo_proto_goTypes,
+ DependencyIndexes: file_ExpeditionAssistInfo_proto_depIdxs,
+ MessageInfos: file_ExpeditionAssistInfo_proto_msgTypes,
+ }.Build()
+ File_ExpeditionAssistInfo_proto = out.File
+ file_ExpeditionAssistInfo_proto_rawDesc = nil
+ file_ExpeditionAssistInfo_proto_goTypes = nil
+ file_ExpeditionAssistInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionChallengeEnterRegionNotify.pb.go b/protocol/proto/ExpeditionChallengeEnterRegionNotify.pb.go
new file mode 100644
index 00000000..f12fd335
--- /dev/null
+++ b/protocol/proto/ExpeditionChallengeEnterRegionNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionChallengeEnterRegionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2154
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExpeditionChallengeEnterRegionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
+ IsPuzzleFinished bool `protobuf:"varint,10,opt,name=is_puzzle_finished,json=isPuzzleFinished,proto3" json:"is_puzzle_finished,omitempty"`
+}
+
+func (x *ExpeditionChallengeEnterRegionNotify) Reset() {
+ *x = ExpeditionChallengeEnterRegionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionChallengeEnterRegionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionChallengeEnterRegionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionChallengeEnterRegionNotify) ProtoMessage() {}
+
+func (x *ExpeditionChallengeEnterRegionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionChallengeEnterRegionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionChallengeEnterRegionNotify.ProtoReflect.Descriptor instead.
+func (*ExpeditionChallengeEnterRegionNotify) Descriptor() ([]byte, []int) {
+ return file_ExpeditionChallengeEnterRegionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionChallengeEnterRegionNotify) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *ExpeditionChallengeEnterRegionNotify) GetIsPuzzleFinished() bool {
+ if x != nil {
+ return x.IsPuzzleFinished
+ }
+ return false
+}
+
+var File_ExpeditionChallengeEnterRegionNotify_proto protoreflect.FileDescriptor
+
+var file_ExpeditionChallengeEnterRegionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x24, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x69,
+ 0x73, 0x5f, 0x70, 0x75, 0x7a, 0x7a, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x75, 0x7a, 0x7a, 0x6c,
+ 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionChallengeEnterRegionNotify_proto_rawDescOnce sync.Once
+ file_ExpeditionChallengeEnterRegionNotify_proto_rawDescData = file_ExpeditionChallengeEnterRegionNotify_proto_rawDesc
+)
+
+func file_ExpeditionChallengeEnterRegionNotify_proto_rawDescGZIP() []byte {
+ file_ExpeditionChallengeEnterRegionNotify_proto_rawDescOnce.Do(func() {
+ file_ExpeditionChallengeEnterRegionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionChallengeEnterRegionNotify_proto_rawDescData)
+ })
+ return file_ExpeditionChallengeEnterRegionNotify_proto_rawDescData
+}
+
+var file_ExpeditionChallengeEnterRegionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionChallengeEnterRegionNotify_proto_goTypes = []interface{}{
+ (*ExpeditionChallengeEnterRegionNotify)(nil), // 0: proto.ExpeditionChallengeEnterRegionNotify
+}
+var file_ExpeditionChallengeEnterRegionNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionChallengeEnterRegionNotify_proto_init() }
+func file_ExpeditionChallengeEnterRegionNotify_proto_init() {
+ if File_ExpeditionChallengeEnterRegionNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionChallengeEnterRegionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionChallengeEnterRegionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionChallengeEnterRegionNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionChallengeEnterRegionNotify_proto_goTypes,
+ DependencyIndexes: file_ExpeditionChallengeEnterRegionNotify_proto_depIdxs,
+ MessageInfos: file_ExpeditionChallengeEnterRegionNotify_proto_msgTypes,
+ }.Build()
+ File_ExpeditionChallengeEnterRegionNotify_proto = out.File
+ file_ExpeditionChallengeEnterRegionNotify_proto_rawDesc = nil
+ file_ExpeditionChallengeEnterRegionNotify_proto_goTypes = nil
+ file_ExpeditionChallengeEnterRegionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionChallengeFinishedNotify.pb.go b/protocol/proto/ExpeditionChallengeFinishedNotify.pb.go
new file mode 100644
index 00000000..2dab87aa
--- /dev/null
+++ b/protocol/proto/ExpeditionChallengeFinishedNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionChallengeFinishedNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2091
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExpeditionChallengeFinishedNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,13,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *ExpeditionChallengeFinishedNotify) Reset() {
+ *x = ExpeditionChallengeFinishedNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionChallengeFinishedNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionChallengeFinishedNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionChallengeFinishedNotify) ProtoMessage() {}
+
+func (x *ExpeditionChallengeFinishedNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionChallengeFinishedNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionChallengeFinishedNotify.ProtoReflect.Descriptor instead.
+func (*ExpeditionChallengeFinishedNotify) Descriptor() ([]byte, []int) {
+ return file_ExpeditionChallengeFinishedNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionChallengeFinishedNotify) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_ExpeditionChallengeFinishedNotify_proto protoreflect.FileDescriptor
+
+var file_ExpeditionChallengeFinishedNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x33, 0x0a, 0x21, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionChallengeFinishedNotify_proto_rawDescOnce sync.Once
+ file_ExpeditionChallengeFinishedNotify_proto_rawDescData = file_ExpeditionChallengeFinishedNotify_proto_rawDesc
+)
+
+func file_ExpeditionChallengeFinishedNotify_proto_rawDescGZIP() []byte {
+ file_ExpeditionChallengeFinishedNotify_proto_rawDescOnce.Do(func() {
+ file_ExpeditionChallengeFinishedNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionChallengeFinishedNotify_proto_rawDescData)
+ })
+ return file_ExpeditionChallengeFinishedNotify_proto_rawDescData
+}
+
+var file_ExpeditionChallengeFinishedNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionChallengeFinishedNotify_proto_goTypes = []interface{}{
+ (*ExpeditionChallengeFinishedNotify)(nil), // 0: proto.ExpeditionChallengeFinishedNotify
+}
+var file_ExpeditionChallengeFinishedNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionChallengeFinishedNotify_proto_init() }
+func file_ExpeditionChallengeFinishedNotify_proto_init() {
+ if File_ExpeditionChallengeFinishedNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionChallengeFinishedNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionChallengeFinishedNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionChallengeFinishedNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionChallengeFinishedNotify_proto_goTypes,
+ DependencyIndexes: file_ExpeditionChallengeFinishedNotify_proto_depIdxs,
+ MessageInfos: file_ExpeditionChallengeFinishedNotify_proto_msgTypes,
+ }.Build()
+ File_ExpeditionChallengeFinishedNotify_proto = out.File
+ file_ExpeditionChallengeFinishedNotify_proto_rawDesc = nil
+ file_ExpeditionChallengeFinishedNotify_proto_goTypes = nil
+ file_ExpeditionChallengeFinishedNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionChallengeInfo.pb.go b/protocol/proto/ExpeditionChallengeInfo.pb.go
new file mode 100644
index 00000000..a9369b0b
--- /dev/null
+++ b/protocol/proto/ExpeditionChallengeInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ExpeditionChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinished bool `protobuf:"varint,5,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ Id uint32 `protobuf:"varint,11,opt,name=id,proto3" json:"id,omitempty"`
+ OpenTime uint32 `protobuf:"varint,9,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+}
+
+func (x *ExpeditionChallengeInfo) Reset() {
+ *x = ExpeditionChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionChallengeInfo) ProtoMessage() {}
+
+func (x *ExpeditionChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionChallengeInfo.ProtoReflect.Descriptor instead.
+func (*ExpeditionChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_ExpeditionChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionChallengeInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *ExpeditionChallengeInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *ExpeditionChallengeInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+var File_ExpeditionChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_ExpeditionChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02,
+ 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionChallengeInfo_proto_rawDescOnce sync.Once
+ file_ExpeditionChallengeInfo_proto_rawDescData = file_ExpeditionChallengeInfo_proto_rawDesc
+)
+
+func file_ExpeditionChallengeInfo_proto_rawDescGZIP() []byte {
+ file_ExpeditionChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_ExpeditionChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionChallengeInfo_proto_rawDescData)
+ })
+ return file_ExpeditionChallengeInfo_proto_rawDescData
+}
+
+var file_ExpeditionChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionChallengeInfo_proto_goTypes = []interface{}{
+ (*ExpeditionChallengeInfo)(nil), // 0: proto.ExpeditionChallengeInfo
+}
+var file_ExpeditionChallengeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionChallengeInfo_proto_init() }
+func file_ExpeditionChallengeInfo_proto_init() {
+ if File_ExpeditionChallengeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_ExpeditionChallengeInfo_proto_depIdxs,
+ MessageInfos: file_ExpeditionChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_ExpeditionChallengeInfo_proto = out.File
+ file_ExpeditionChallengeInfo_proto_rawDesc = nil
+ file_ExpeditionChallengeInfo_proto_goTypes = nil
+ file_ExpeditionChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionPathInfo.pb.go b/protocol/proto/ExpeditionPathInfo.pb.go
new file mode 100644
index 00000000..36b6a7c2
--- /dev/null
+++ b/protocol/proto/ExpeditionPathInfo.pb.go
@@ -0,0 +1,256 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionPathInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ExpeditionPathInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MarkId uint32 `protobuf:"varint,12,opt,name=mark_id,json=markId,proto3" json:"mark_id,omitempty"`
+ StartTime uint32 `protobuf:"varint,9,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ AssistAvatarId uint32 `protobuf:"varint,7,opt,name=assist_avatar_id,json=assistAvatarId,proto3" json:"assist_avatar_id,omitempty"`
+ BonusProbability float32 `protobuf:"fixed32,4,opt,name=bonus_probability,json=bonusProbability,proto3" json:"bonus_probability,omitempty"`
+ State ExpeditionState `protobuf:"varint,15,opt,name=state,proto3,enum=proto.ExpeditionState" json:"state,omitempty"`
+ AvatarIdList []uint32 `protobuf:"varint,2,rep,packed,name=avatar_id_list,json=avatarIdList,proto3" json:"avatar_id_list,omitempty"`
+ AssistCostumeId uint32 `protobuf:"varint,5,opt,name=assist_costume_id,json=assistCostumeId,proto3" json:"assist_costume_id,omitempty"`
+ PathId uint32 `protobuf:"varint,8,opt,name=path_id,json=pathId,proto3" json:"path_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,11,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ AssistUid uint32 `protobuf:"varint,10,opt,name=assist_uid,json=assistUid,proto3" json:"assist_uid,omitempty"`
+}
+
+func (x *ExpeditionPathInfo) Reset() {
+ *x = ExpeditionPathInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionPathInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionPathInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionPathInfo) ProtoMessage() {}
+
+func (x *ExpeditionPathInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionPathInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionPathInfo.ProtoReflect.Descriptor instead.
+func (*ExpeditionPathInfo) Descriptor() ([]byte, []int) {
+ return file_ExpeditionPathInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionPathInfo) GetMarkId() uint32 {
+ if x != nil {
+ return x.MarkId
+ }
+ return 0
+}
+
+func (x *ExpeditionPathInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *ExpeditionPathInfo) GetAssistAvatarId() uint32 {
+ if x != nil {
+ return x.AssistAvatarId
+ }
+ return 0
+}
+
+func (x *ExpeditionPathInfo) GetBonusProbability() float32 {
+ if x != nil {
+ return x.BonusProbability
+ }
+ return 0
+}
+
+func (x *ExpeditionPathInfo) GetState() ExpeditionState {
+ if x != nil {
+ return x.State
+ }
+ return ExpeditionState_EXPEDITION_STATE_NONE
+}
+
+func (x *ExpeditionPathInfo) GetAvatarIdList() []uint32 {
+ if x != nil {
+ return x.AvatarIdList
+ }
+ return nil
+}
+
+func (x *ExpeditionPathInfo) GetAssistCostumeId() uint32 {
+ if x != nil {
+ return x.AssistCostumeId
+ }
+ return 0
+}
+
+func (x *ExpeditionPathInfo) GetPathId() uint32 {
+ if x != nil {
+ return x.PathId
+ }
+ return 0
+}
+
+func (x *ExpeditionPathInfo) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *ExpeditionPathInfo) GetAssistUid() uint32 {
+ if x != nil {
+ return x.AssistUid
+ }
+ return 0
+}
+
+var File_ExpeditionPathInfo_proto protoreflect.FileDescriptor
+
+var file_ExpeditionPathInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x15, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x02, 0x0a, 0x12, 0x45, 0x78, 0x70,
+ 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x6d, 0x61, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x73,
+ 0x74, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
+ 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x62, 0x6f,
+ 0x6e, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2c,
+ 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x73,
+ 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61,
+ 0x73, 0x73, 0x69, 0x73, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73,
+ 0x73, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionPathInfo_proto_rawDescOnce sync.Once
+ file_ExpeditionPathInfo_proto_rawDescData = file_ExpeditionPathInfo_proto_rawDesc
+)
+
+func file_ExpeditionPathInfo_proto_rawDescGZIP() []byte {
+ file_ExpeditionPathInfo_proto_rawDescOnce.Do(func() {
+ file_ExpeditionPathInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionPathInfo_proto_rawDescData)
+ })
+ return file_ExpeditionPathInfo_proto_rawDescData
+}
+
+var file_ExpeditionPathInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionPathInfo_proto_goTypes = []interface{}{
+ (*ExpeditionPathInfo)(nil), // 0: proto.ExpeditionPathInfo
+ (ExpeditionState)(0), // 1: proto.ExpeditionState
+}
+var file_ExpeditionPathInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ExpeditionPathInfo.state:type_name -> proto.ExpeditionState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionPathInfo_proto_init() }
+func file_ExpeditionPathInfo_proto_init() {
+ if File_ExpeditionPathInfo_proto != nil {
+ return
+ }
+ file_ExpeditionState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionPathInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionPathInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionPathInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionPathInfo_proto_goTypes,
+ DependencyIndexes: file_ExpeditionPathInfo_proto_depIdxs,
+ MessageInfos: file_ExpeditionPathInfo_proto_msgTypes,
+ }.Build()
+ File_ExpeditionPathInfo_proto = out.File
+ file_ExpeditionPathInfo_proto_rawDesc = nil
+ file_ExpeditionPathInfo_proto_goTypes = nil
+ file_ExpeditionPathInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionRecallReq.pb.go b/protocol/proto/ExpeditionRecallReq.pb.go
new file mode 100644
index 00000000..8925bd38
--- /dev/null
+++ b/protocol/proto/ExpeditionRecallReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionRecallReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2131
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExpeditionRecallReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PathId uint32 `protobuf:"varint,13,opt,name=path_id,json=pathId,proto3" json:"path_id,omitempty"`
+}
+
+func (x *ExpeditionRecallReq) Reset() {
+ *x = ExpeditionRecallReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionRecallReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionRecallReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionRecallReq) ProtoMessage() {}
+
+func (x *ExpeditionRecallReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionRecallReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionRecallReq.ProtoReflect.Descriptor instead.
+func (*ExpeditionRecallReq) Descriptor() ([]byte, []int) {
+ return file_ExpeditionRecallReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionRecallReq) GetPathId() uint32 {
+ if x != nil {
+ return x.PathId
+ }
+ return 0
+}
+
+var File_ExpeditionRecallReq_proto protoreflect.FileDescriptor
+
+var file_ExpeditionRecallReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x61,
+ 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74,
+ 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionRecallReq_proto_rawDescOnce sync.Once
+ file_ExpeditionRecallReq_proto_rawDescData = file_ExpeditionRecallReq_proto_rawDesc
+)
+
+func file_ExpeditionRecallReq_proto_rawDescGZIP() []byte {
+ file_ExpeditionRecallReq_proto_rawDescOnce.Do(func() {
+ file_ExpeditionRecallReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionRecallReq_proto_rawDescData)
+ })
+ return file_ExpeditionRecallReq_proto_rawDescData
+}
+
+var file_ExpeditionRecallReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionRecallReq_proto_goTypes = []interface{}{
+ (*ExpeditionRecallReq)(nil), // 0: proto.ExpeditionRecallReq
+}
+var file_ExpeditionRecallReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionRecallReq_proto_init() }
+func file_ExpeditionRecallReq_proto_init() {
+ if File_ExpeditionRecallReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionRecallReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionRecallReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionRecallReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionRecallReq_proto_goTypes,
+ DependencyIndexes: file_ExpeditionRecallReq_proto_depIdxs,
+ MessageInfos: file_ExpeditionRecallReq_proto_msgTypes,
+ }.Build()
+ File_ExpeditionRecallReq_proto = out.File
+ file_ExpeditionRecallReq_proto_rawDesc = nil
+ file_ExpeditionRecallReq_proto_goTypes = nil
+ file_ExpeditionRecallReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionRecallRsp.pb.go b/protocol/proto/ExpeditionRecallRsp.pb.go
new file mode 100644
index 00000000..1bcb0dff
--- /dev/null
+++ b/protocol/proto/ExpeditionRecallRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionRecallRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2129
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExpeditionRecallRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PathId uint32 `protobuf:"varint,1,opt,name=path_id,json=pathId,proto3" json:"path_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ExpeditionRecallRsp) Reset() {
+ *x = ExpeditionRecallRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionRecallRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionRecallRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionRecallRsp) ProtoMessage() {}
+
+func (x *ExpeditionRecallRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionRecallRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionRecallRsp.ProtoReflect.Descriptor instead.
+func (*ExpeditionRecallRsp) Descriptor() ([]byte, []int) {
+ return file_ExpeditionRecallRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionRecallRsp) GetPathId() uint32 {
+ if x != nil {
+ return x.PathId
+ }
+ return 0
+}
+
+func (x *ExpeditionRecallRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ExpeditionRecallRsp_proto protoreflect.FileDescriptor
+
+var file_ExpeditionRecallRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x61,
+ 0x6c, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74,
+ 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68,
+ 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionRecallRsp_proto_rawDescOnce sync.Once
+ file_ExpeditionRecallRsp_proto_rawDescData = file_ExpeditionRecallRsp_proto_rawDesc
+)
+
+func file_ExpeditionRecallRsp_proto_rawDescGZIP() []byte {
+ file_ExpeditionRecallRsp_proto_rawDescOnce.Do(func() {
+ file_ExpeditionRecallRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionRecallRsp_proto_rawDescData)
+ })
+ return file_ExpeditionRecallRsp_proto_rawDescData
+}
+
+var file_ExpeditionRecallRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionRecallRsp_proto_goTypes = []interface{}{
+ (*ExpeditionRecallRsp)(nil), // 0: proto.ExpeditionRecallRsp
+}
+var file_ExpeditionRecallRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionRecallRsp_proto_init() }
+func file_ExpeditionRecallRsp_proto_init() {
+ if File_ExpeditionRecallRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionRecallRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionRecallRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionRecallRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionRecallRsp_proto_goTypes,
+ DependencyIndexes: file_ExpeditionRecallRsp_proto_depIdxs,
+ MessageInfos: file_ExpeditionRecallRsp_proto_msgTypes,
+ }.Build()
+ File_ExpeditionRecallRsp_proto = out.File
+ file_ExpeditionRecallRsp_proto_rawDesc = nil
+ file_ExpeditionRecallRsp_proto_goTypes = nil
+ file_ExpeditionRecallRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionStartReq.pb.go b/protocol/proto/ExpeditionStartReq.pb.go
new file mode 100644
index 00000000..7516f303
--- /dev/null
+++ b/protocol/proto/ExpeditionStartReq.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionStartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2087
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExpeditionStartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarIdList []uint32 `protobuf:"varint,1,rep,packed,name=avatar_id_list,json=avatarIdList,proto3" json:"avatar_id_list,omitempty"`
+ AssistUid uint32 `protobuf:"varint,5,opt,name=assist_uid,json=assistUid,proto3" json:"assist_uid,omitempty"`
+ AssistAvatarId uint32 `protobuf:"varint,8,opt,name=assist_avatar_id,json=assistAvatarId,proto3" json:"assist_avatar_id,omitempty"`
+ PathId uint32 `protobuf:"varint,7,opt,name=path_id,json=pathId,proto3" json:"path_id,omitempty"`
+}
+
+func (x *ExpeditionStartReq) Reset() {
+ *x = ExpeditionStartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionStartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionStartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionStartReq) ProtoMessage() {}
+
+func (x *ExpeditionStartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionStartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionStartReq.ProtoReflect.Descriptor instead.
+func (*ExpeditionStartReq) Descriptor() ([]byte, []int) {
+ return file_ExpeditionStartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionStartReq) GetAvatarIdList() []uint32 {
+ if x != nil {
+ return x.AvatarIdList
+ }
+ return nil
+}
+
+func (x *ExpeditionStartReq) GetAssistUid() uint32 {
+ if x != nil {
+ return x.AssistUid
+ }
+ return 0
+}
+
+func (x *ExpeditionStartReq) GetAssistAvatarId() uint32 {
+ if x != nil {
+ return x.AssistAvatarId
+ }
+ return 0
+}
+
+func (x *ExpeditionStartReq) GetPathId() uint32 {
+ if x != nil {
+ return x.PathId
+ }
+ return 0
+}
+
+var File_ExpeditionStartReq_proto protoreflect.FileDescriptor
+
+var file_ExpeditionStartReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0c, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x28, 0x0a,
+ 0x10, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionStartReq_proto_rawDescOnce sync.Once
+ file_ExpeditionStartReq_proto_rawDescData = file_ExpeditionStartReq_proto_rawDesc
+)
+
+func file_ExpeditionStartReq_proto_rawDescGZIP() []byte {
+ file_ExpeditionStartReq_proto_rawDescOnce.Do(func() {
+ file_ExpeditionStartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionStartReq_proto_rawDescData)
+ })
+ return file_ExpeditionStartReq_proto_rawDescData
+}
+
+var file_ExpeditionStartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionStartReq_proto_goTypes = []interface{}{
+ (*ExpeditionStartReq)(nil), // 0: proto.ExpeditionStartReq
+}
+var file_ExpeditionStartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionStartReq_proto_init() }
+func file_ExpeditionStartReq_proto_init() {
+ if File_ExpeditionStartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionStartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionStartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionStartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionStartReq_proto_goTypes,
+ DependencyIndexes: file_ExpeditionStartReq_proto_depIdxs,
+ MessageInfos: file_ExpeditionStartReq_proto_msgTypes,
+ }.Build()
+ File_ExpeditionStartReq_proto = out.File
+ file_ExpeditionStartReq_proto_rawDesc = nil
+ file_ExpeditionStartReq_proto_goTypes = nil
+ file_ExpeditionStartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionStartRsp.pb.go b/protocol/proto/ExpeditionStartRsp.pb.go
new file mode 100644
index 00000000..f766536a
--- /dev/null
+++ b/protocol/proto/ExpeditionStartRsp.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionStartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2135
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExpeditionStartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AssistUid uint32 `protobuf:"varint,1,opt,name=assist_uid,json=assistUid,proto3" json:"assist_uid,omitempty"`
+ PathId uint32 `protobuf:"varint,7,opt,name=path_id,json=pathId,proto3" json:"path_id,omitempty"`
+ AvatarIdList []uint32 `protobuf:"varint,4,rep,packed,name=avatar_id_list,json=avatarIdList,proto3" json:"avatar_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AssistAvatarId uint32 `protobuf:"varint,2,opt,name=assist_avatar_id,json=assistAvatarId,proto3" json:"assist_avatar_id,omitempty"`
+}
+
+func (x *ExpeditionStartRsp) Reset() {
+ *x = ExpeditionStartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionStartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionStartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionStartRsp) ProtoMessage() {}
+
+func (x *ExpeditionStartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionStartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionStartRsp.ProtoReflect.Descriptor instead.
+func (*ExpeditionStartRsp) Descriptor() ([]byte, []int) {
+ return file_ExpeditionStartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionStartRsp) GetAssistUid() uint32 {
+ if x != nil {
+ return x.AssistUid
+ }
+ return 0
+}
+
+func (x *ExpeditionStartRsp) GetPathId() uint32 {
+ if x != nil {
+ return x.PathId
+ }
+ return 0
+}
+
+func (x *ExpeditionStartRsp) GetAvatarIdList() []uint32 {
+ if x != nil {
+ return x.AvatarIdList
+ }
+ return nil
+}
+
+func (x *ExpeditionStartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ExpeditionStartRsp) GetAssistAvatarId() uint32 {
+ if x != nil {
+ return x.AssistAvatarId
+ }
+ return 0
+}
+
+var File_ExpeditionStartRsp_proto protoreflect.FileDescriptor
+
+var file_ExpeditionStartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69,
+ 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x73,
+ 0x73, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64,
+ 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x28, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69,
+ 0x73, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionStartRsp_proto_rawDescOnce sync.Once
+ file_ExpeditionStartRsp_proto_rawDescData = file_ExpeditionStartRsp_proto_rawDesc
+)
+
+func file_ExpeditionStartRsp_proto_rawDescGZIP() []byte {
+ file_ExpeditionStartRsp_proto_rawDescOnce.Do(func() {
+ file_ExpeditionStartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionStartRsp_proto_rawDescData)
+ })
+ return file_ExpeditionStartRsp_proto_rawDescData
+}
+
+var file_ExpeditionStartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionStartRsp_proto_goTypes = []interface{}{
+ (*ExpeditionStartRsp)(nil), // 0: proto.ExpeditionStartRsp
+}
+var file_ExpeditionStartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionStartRsp_proto_init() }
+func file_ExpeditionStartRsp_proto_init() {
+ if File_ExpeditionStartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionStartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionStartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionStartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionStartRsp_proto_goTypes,
+ DependencyIndexes: file_ExpeditionStartRsp_proto_depIdxs,
+ MessageInfos: file_ExpeditionStartRsp_proto_msgTypes,
+ }.Build()
+ File_ExpeditionStartRsp_proto = out.File
+ file_ExpeditionStartRsp_proto_rawDesc = nil
+ file_ExpeditionStartRsp_proto_goTypes = nil
+ file_ExpeditionStartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionState.pb.go b/protocol/proto/ExpeditionState.pb.go
new file mode 100644
index 00000000..884abb8a
--- /dev/null
+++ b/protocol/proto/ExpeditionState.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ExpeditionState int32
+
+const (
+ ExpeditionState_EXPEDITION_STATE_NONE ExpeditionState = 0
+ ExpeditionState_EXPEDITION_STATE_STARTED ExpeditionState = 1
+ ExpeditionState_EXPEDITION_STATE_FINISHED ExpeditionState = 2
+ ExpeditionState_EXPEDITION_STATE_REWARDED ExpeditionState = 3
+ ExpeditionState_EXPEDITION_STATE_LOCKED ExpeditionState = 4
+)
+
+// Enum value maps for ExpeditionState.
+var (
+ ExpeditionState_name = map[int32]string{
+ 0: "EXPEDITION_STATE_NONE",
+ 1: "EXPEDITION_STATE_STARTED",
+ 2: "EXPEDITION_STATE_FINISHED",
+ 3: "EXPEDITION_STATE_REWARDED",
+ 4: "EXPEDITION_STATE_LOCKED",
+ }
+ ExpeditionState_value = map[string]int32{
+ "EXPEDITION_STATE_NONE": 0,
+ "EXPEDITION_STATE_STARTED": 1,
+ "EXPEDITION_STATE_FINISHED": 2,
+ "EXPEDITION_STATE_REWARDED": 3,
+ "EXPEDITION_STATE_LOCKED": 4,
+ }
+)
+
+func (x ExpeditionState) Enum() *ExpeditionState {
+ p := new(ExpeditionState)
+ *p = x
+ return p
+}
+
+func (x ExpeditionState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ExpeditionState) Descriptor() protoreflect.EnumDescriptor {
+ return file_ExpeditionState_proto_enumTypes[0].Descriptor()
+}
+
+func (ExpeditionState) Type() protoreflect.EnumType {
+ return &file_ExpeditionState_proto_enumTypes[0]
+}
+
+func (x ExpeditionState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ExpeditionState.Descriptor instead.
+func (ExpeditionState) EnumDescriptor() ([]byte, []int) {
+ return file_ExpeditionState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ExpeditionState_proto protoreflect.FileDescriptor
+
+var file_ExpeditionState_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xa5,
+ 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a,
+ 0x18, 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54,
+ 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x45,
+ 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x45, 0x58,
+ 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52,
+ 0x45, 0x57, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, 0x50,
+ 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f,
+ 0x43, 0x4b, 0x45, 0x44, 0x10, 0x04, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionState_proto_rawDescOnce sync.Once
+ file_ExpeditionState_proto_rawDescData = file_ExpeditionState_proto_rawDesc
+)
+
+func file_ExpeditionState_proto_rawDescGZIP() []byte {
+ file_ExpeditionState_proto_rawDescOnce.Do(func() {
+ file_ExpeditionState_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionState_proto_rawDescData)
+ })
+ return file_ExpeditionState_proto_rawDescData
+}
+
+var file_ExpeditionState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ExpeditionState_proto_goTypes = []interface{}{
+ (ExpeditionState)(0), // 0: proto.ExpeditionState
+}
+var file_ExpeditionState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionState_proto_init() }
+func file_ExpeditionState_proto_init() {
+ if File_ExpeditionState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionState_proto_goTypes,
+ DependencyIndexes: file_ExpeditionState_proto_depIdxs,
+ EnumInfos: file_ExpeditionState_proto_enumTypes,
+ }.Build()
+ File_ExpeditionState_proto = out.File
+ file_ExpeditionState_proto_rawDesc = nil
+ file_ExpeditionState_proto_goTypes = nil
+ file_ExpeditionState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionTakeRewardReq.pb.go b/protocol/proto/ExpeditionTakeRewardReq.pb.go
new file mode 100644
index 00000000..0e7fe652
--- /dev/null
+++ b/protocol/proto/ExpeditionTakeRewardReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionTakeRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2149
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ExpeditionTakeRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PathId uint32 `protobuf:"varint,3,opt,name=path_id,json=pathId,proto3" json:"path_id,omitempty"`
+}
+
+func (x *ExpeditionTakeRewardReq) Reset() {
+ *x = ExpeditionTakeRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionTakeRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionTakeRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionTakeRewardReq) ProtoMessage() {}
+
+func (x *ExpeditionTakeRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionTakeRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionTakeRewardReq.ProtoReflect.Descriptor instead.
+func (*ExpeditionTakeRewardReq) Descriptor() ([]byte, []int) {
+ return file_ExpeditionTakeRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionTakeRewardReq) GetPathId() uint32 {
+ if x != nil {
+ return x.PathId
+ }
+ return 0
+}
+
+var File_ExpeditionTakeRewardReq_proto protoreflect.FileDescriptor
+
+var file_ExpeditionTakeRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74, 0x68, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionTakeRewardReq_proto_rawDescOnce sync.Once
+ file_ExpeditionTakeRewardReq_proto_rawDescData = file_ExpeditionTakeRewardReq_proto_rawDesc
+)
+
+func file_ExpeditionTakeRewardReq_proto_rawDescGZIP() []byte {
+ file_ExpeditionTakeRewardReq_proto_rawDescOnce.Do(func() {
+ file_ExpeditionTakeRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionTakeRewardReq_proto_rawDescData)
+ })
+ return file_ExpeditionTakeRewardReq_proto_rawDescData
+}
+
+var file_ExpeditionTakeRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionTakeRewardReq_proto_goTypes = []interface{}{
+ (*ExpeditionTakeRewardReq)(nil), // 0: proto.ExpeditionTakeRewardReq
+}
+var file_ExpeditionTakeRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionTakeRewardReq_proto_init() }
+func file_ExpeditionTakeRewardReq_proto_init() {
+ if File_ExpeditionTakeRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionTakeRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionTakeRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionTakeRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionTakeRewardReq_proto_goTypes,
+ DependencyIndexes: file_ExpeditionTakeRewardReq_proto_depIdxs,
+ MessageInfos: file_ExpeditionTakeRewardReq_proto_msgTypes,
+ }.Build()
+ File_ExpeditionTakeRewardReq_proto = out.File
+ file_ExpeditionTakeRewardReq_proto_rawDesc = nil
+ file_ExpeditionTakeRewardReq_proto_goTypes = nil
+ file_ExpeditionTakeRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ExpeditionTakeRewardRsp.pb.go b/protocol/proto/ExpeditionTakeRewardRsp.pb.go
new file mode 100644
index 00000000..c3fcbace
--- /dev/null
+++ b/protocol/proto/ExpeditionTakeRewardRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ExpeditionTakeRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2080
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ExpeditionTakeRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsBonus bool `protobuf:"varint,11,opt,name=is_bonus,json=isBonus,proto3" json:"is_bonus,omitempty"`
+ RewardLevel uint32 `protobuf:"varint,1,opt,name=reward_level,json=rewardLevel,proto3" json:"reward_level,omitempty"`
+ PathId uint32 `protobuf:"varint,9,opt,name=path_id,json=pathId,proto3" json:"path_id,omitempty"`
+}
+
+func (x *ExpeditionTakeRewardRsp) Reset() {
+ *x = ExpeditionTakeRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ExpeditionTakeRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ExpeditionTakeRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ExpeditionTakeRewardRsp) ProtoMessage() {}
+
+func (x *ExpeditionTakeRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ExpeditionTakeRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ExpeditionTakeRewardRsp.ProtoReflect.Descriptor instead.
+func (*ExpeditionTakeRewardRsp) Descriptor() ([]byte, []int) {
+ return file_ExpeditionTakeRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ExpeditionTakeRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ExpeditionTakeRewardRsp) GetIsBonus() bool {
+ if x != nil {
+ return x.IsBonus
+ }
+ return false
+}
+
+func (x *ExpeditionTakeRewardRsp) GetRewardLevel() uint32 {
+ if x != nil {
+ return x.RewardLevel
+ }
+ return 0
+}
+
+func (x *ExpeditionTakeRewardRsp) GetPathId() uint32 {
+ if x != nil {
+ return x.PathId
+ }
+ return 0
+}
+
+var File_ExpeditionTakeRewardRsp_proto protoreflect.FileDescriptor
+
+var file_ExpeditionTakeRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x65, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08,
+ 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
+ 0x69, 0x73, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61,
+ 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x74,
+ 0x68, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ExpeditionTakeRewardRsp_proto_rawDescOnce sync.Once
+ file_ExpeditionTakeRewardRsp_proto_rawDescData = file_ExpeditionTakeRewardRsp_proto_rawDesc
+)
+
+func file_ExpeditionTakeRewardRsp_proto_rawDescGZIP() []byte {
+ file_ExpeditionTakeRewardRsp_proto_rawDescOnce.Do(func() {
+ file_ExpeditionTakeRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ExpeditionTakeRewardRsp_proto_rawDescData)
+ })
+ return file_ExpeditionTakeRewardRsp_proto_rawDescData
+}
+
+var file_ExpeditionTakeRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ExpeditionTakeRewardRsp_proto_goTypes = []interface{}{
+ (*ExpeditionTakeRewardRsp)(nil), // 0: proto.ExpeditionTakeRewardRsp
+}
+var file_ExpeditionTakeRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ExpeditionTakeRewardRsp_proto_init() }
+func file_ExpeditionTakeRewardRsp_proto_init() {
+ if File_ExpeditionTakeRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ExpeditionTakeRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ExpeditionTakeRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ExpeditionTakeRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ExpeditionTakeRewardRsp_proto_goTypes,
+ DependencyIndexes: file_ExpeditionTakeRewardRsp_proto_depIdxs,
+ MessageInfos: file_ExpeditionTakeRewardRsp_proto_msgTypes,
+ }.Build()
+ File_ExpeditionTakeRewardRsp_proto = out.File
+ file_ExpeditionTakeRewardRsp_proto_rawDesc = nil
+ file_ExpeditionTakeRewardRsp_proto_goTypes = nil
+ file_ExpeditionTakeRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FallPlayerBrief.pb.go b/protocol/proto/FallPlayerBrief.pb.go
new file mode 100644
index 00000000..31eccaae
--- /dev/null
+++ b/protocol/proto/FallPlayerBrief.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FallPlayerBrief.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FallPlayerBrief struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,13,opt,name=uid,proto3" json:"uid,omitempty"`
+ IsGround bool `protobuf:"varint,5,opt,name=is_ground,json=isGround,proto3" json:"is_ground,omitempty"`
+ Score uint32 `protobuf:"varint,10,opt,name=score,proto3" json:"score,omitempty"`
+}
+
+func (x *FallPlayerBrief) Reset() {
+ *x = FallPlayerBrief{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FallPlayerBrief_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FallPlayerBrief) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FallPlayerBrief) ProtoMessage() {}
+
+func (x *FallPlayerBrief) ProtoReflect() protoreflect.Message {
+ mi := &file_FallPlayerBrief_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FallPlayerBrief.ProtoReflect.Descriptor instead.
+func (*FallPlayerBrief) Descriptor() ([]byte, []int) {
+ return file_FallPlayerBrief_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FallPlayerBrief) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *FallPlayerBrief) GetIsGround() bool {
+ if x != nil {
+ return x.IsGround
+ }
+ return false
+}
+
+func (x *FallPlayerBrief) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+var File_FallPlayerBrief_proto protoreflect.FileDescriptor
+
+var file_FallPlayerBrief_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x46, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56,
+ 0x0a, 0x0f, 0x46, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FallPlayerBrief_proto_rawDescOnce sync.Once
+ file_FallPlayerBrief_proto_rawDescData = file_FallPlayerBrief_proto_rawDesc
+)
+
+func file_FallPlayerBrief_proto_rawDescGZIP() []byte {
+ file_FallPlayerBrief_proto_rawDescOnce.Do(func() {
+ file_FallPlayerBrief_proto_rawDescData = protoimpl.X.CompressGZIP(file_FallPlayerBrief_proto_rawDescData)
+ })
+ return file_FallPlayerBrief_proto_rawDescData
+}
+
+var file_FallPlayerBrief_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FallPlayerBrief_proto_goTypes = []interface{}{
+ (*FallPlayerBrief)(nil), // 0: proto.FallPlayerBrief
+}
+var file_FallPlayerBrief_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FallPlayerBrief_proto_init() }
+func file_FallPlayerBrief_proto_init() {
+ if File_FallPlayerBrief_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FallPlayerBrief_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FallPlayerBrief); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FallPlayerBrief_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FallPlayerBrief_proto_goTypes,
+ DependencyIndexes: file_FallPlayerBrief_proto_depIdxs,
+ MessageInfos: file_FallPlayerBrief_proto_msgTypes,
+ }.Build()
+ File_FallPlayerBrief_proto = out.File
+ file_FallPlayerBrief_proto_rawDesc = nil
+ file_FallPlayerBrief_proto_goTypes = nil
+ file_FallPlayerBrief_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FallPlayerInfo.pb.go b/protocol/proto/FallPlayerInfo.pb.go
new file mode 100644
index 00000000..3ffb8d4e
--- /dev/null
+++ b/protocol/proto/FallPlayerInfo.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FallPlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FallPlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TimeCost uint32 `protobuf:"varint,11,opt,name=time_cost,json=timeCost,proto3" json:"time_cost,omitempty"`
+ Uid uint32 `protobuf:"varint,9,opt,name=uid,proto3" json:"uid,omitempty"`
+ BallCatchCountMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=ball_catch_count_map,json=ballCatchCountMap,proto3" json:"ball_catch_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CurScore uint32 `protobuf:"varint,7,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ IsGround bool `protobuf:"varint,15,opt,name=is_ground,json=isGround,proto3" json:"is_ground,omitempty"`
+}
+
+func (x *FallPlayerInfo) Reset() {
+ *x = FallPlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FallPlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FallPlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FallPlayerInfo) ProtoMessage() {}
+
+func (x *FallPlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FallPlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FallPlayerInfo.ProtoReflect.Descriptor instead.
+func (*FallPlayerInfo) Descriptor() ([]byte, []int) {
+ return file_FallPlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FallPlayerInfo) GetTimeCost() uint32 {
+ if x != nil {
+ return x.TimeCost
+ }
+ return 0
+}
+
+func (x *FallPlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *FallPlayerInfo) GetBallCatchCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.BallCatchCountMap
+ }
+ return nil
+}
+
+func (x *FallPlayerInfo) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *FallPlayerInfo) GetIsGround() bool {
+ if x != nil {
+ return x.IsGround
+ }
+ return false
+}
+
+var File_FallPlayerInfo_proto protoreflect.FileDescriptor
+
+var file_FallPlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x46, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x02,
+ 0x0a, 0x0e, 0x46, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x10, 0x0a,
+ 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
+ 0x5d, 0x0a, 0x14, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x62, 0x61, 0x6c,
+ 0x6c, 0x43, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x44, 0x0a, 0x16, 0x42, 0x61, 0x6c, 0x6c,
+ 0x43, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_FallPlayerInfo_proto_rawDescOnce sync.Once
+ file_FallPlayerInfo_proto_rawDescData = file_FallPlayerInfo_proto_rawDesc
+)
+
+func file_FallPlayerInfo_proto_rawDescGZIP() []byte {
+ file_FallPlayerInfo_proto_rawDescOnce.Do(func() {
+ file_FallPlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FallPlayerInfo_proto_rawDescData)
+ })
+ return file_FallPlayerInfo_proto_rawDescData
+}
+
+var file_FallPlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_FallPlayerInfo_proto_goTypes = []interface{}{
+ (*FallPlayerInfo)(nil), // 0: proto.FallPlayerInfo
+ nil, // 1: proto.FallPlayerInfo.BallCatchCountMapEntry
+}
+var file_FallPlayerInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FallPlayerInfo.ball_catch_count_map:type_name -> proto.FallPlayerInfo.BallCatchCountMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FallPlayerInfo_proto_init() }
+func file_FallPlayerInfo_proto_init() {
+ if File_FallPlayerInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FallPlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FallPlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FallPlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FallPlayerInfo_proto_goTypes,
+ DependencyIndexes: file_FallPlayerInfo_proto_depIdxs,
+ MessageInfos: file_FallPlayerInfo_proto_msgTypes,
+ }.Build()
+ File_FallPlayerInfo_proto = out.File
+ file_FallPlayerInfo_proto_rawDesc = nil
+ file_FallPlayerInfo_proto_goTypes = nil
+ file_FallPlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FallSettleInfo.pb.go b/protocol/proto/FallSettleInfo.pb.go
new file mode 100644
index 00000000..a5c52028
--- /dev/null
+++ b/protocol/proto/FallSettleInfo.pb.go
@@ -0,0 +1,226 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FallSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FallSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CatchCount uint32 `protobuf:"varint,15,opt,name=catch_count,json=catchCount,proto3" json:"catch_count,omitempty"`
+ PlayerInfo *OnlinePlayerInfo `protobuf:"bytes,13,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+ Uid uint32 `protobuf:"varint,14,opt,name=uid,proto3" json:"uid,omitempty"`
+ FlowerRingCatchCountMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=flower_ring_catch_count_map,json=flowerRingCatchCountMap,proto3" json:"flower_ring_catch_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ RemainTime uint32 `protobuf:"varint,10,opt,name=remain_time,json=remainTime,proto3" json:"remain_time,omitempty"`
+ FinalScore uint32 `protobuf:"varint,1,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+}
+
+func (x *FallSettleInfo) Reset() {
+ *x = FallSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FallSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FallSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FallSettleInfo) ProtoMessage() {}
+
+func (x *FallSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FallSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FallSettleInfo.ProtoReflect.Descriptor instead.
+func (*FallSettleInfo) Descriptor() ([]byte, []int) {
+ return file_FallSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FallSettleInfo) GetCatchCount() uint32 {
+ if x != nil {
+ return x.CatchCount
+ }
+ return 0
+}
+
+func (x *FallSettleInfo) GetPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+func (x *FallSettleInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *FallSettleInfo) GetFlowerRingCatchCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.FlowerRingCatchCountMap
+ }
+ return nil
+}
+
+func (x *FallSettleInfo) GetRemainTime() uint32 {
+ if x != nil {
+ return x.RemainTime
+ }
+ return 0
+}
+
+func (x *FallSettleInfo) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+var File_FallSettleInfo_proto protoreflect.FileDescriptor
+
+var file_FallSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f,
+ 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x02, 0x0a, 0x0e, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x63,
+ 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63,
+ 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x70, 0x0a, 0x1b, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x63,
+ 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17,
+ 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x63, 0x68, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61, 0x69,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65,
+ 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66,
+ 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x4a, 0x0a, 0x1c, 0x46, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x52, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FallSettleInfo_proto_rawDescOnce sync.Once
+ file_FallSettleInfo_proto_rawDescData = file_FallSettleInfo_proto_rawDesc
+)
+
+func file_FallSettleInfo_proto_rawDescGZIP() []byte {
+ file_FallSettleInfo_proto_rawDescOnce.Do(func() {
+ file_FallSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FallSettleInfo_proto_rawDescData)
+ })
+ return file_FallSettleInfo_proto_rawDescData
+}
+
+var file_FallSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_FallSettleInfo_proto_goTypes = []interface{}{
+ (*FallSettleInfo)(nil), // 0: proto.FallSettleInfo
+ nil, // 1: proto.FallSettleInfo.FlowerRingCatchCountMapEntry
+ (*OnlinePlayerInfo)(nil), // 2: proto.OnlinePlayerInfo
+}
+var file_FallSettleInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.FallSettleInfo.player_info:type_name -> proto.OnlinePlayerInfo
+ 1, // 1: proto.FallSettleInfo.flower_ring_catch_count_map:type_name -> proto.FallSettleInfo.FlowerRingCatchCountMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_FallSettleInfo_proto_init() }
+func file_FallSettleInfo_proto_init() {
+ if File_FallSettleInfo_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FallSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FallSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FallSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FallSettleInfo_proto_goTypes,
+ DependencyIndexes: file_FallSettleInfo_proto_depIdxs,
+ MessageInfos: file_FallSettleInfo_proto_msgTypes,
+ }.Build()
+ File_FallSettleInfo_proto = out.File
+ file_FallSettleInfo_proto_rawDesc = nil
+ file_FallSettleInfo_proto_goTypes = nil
+ file_FallSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FeatureBlockInfo.pb.go b/protocol/proto/FeatureBlockInfo.pb.go
new file mode 100644
index 00000000..3e1ab582
--- /dev/null
+++ b/protocol/proto/FeatureBlockInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FeatureBlockInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FeatureBlockInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FeatureType uint32 `protobuf:"varint,1,opt,name=feature_type,json=featureType,proto3" json:"feature_type,omitempty"`
+ EndTime uint32 `protobuf:"varint,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *FeatureBlockInfo) Reset() {
+ *x = FeatureBlockInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FeatureBlockInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FeatureBlockInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FeatureBlockInfo) ProtoMessage() {}
+
+func (x *FeatureBlockInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FeatureBlockInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FeatureBlockInfo.ProtoReflect.Descriptor instead.
+func (*FeatureBlockInfo) Descriptor() ([]byte, []int) {
+ return file_FeatureBlockInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FeatureBlockInfo) GetFeatureType() uint32 {
+ if x != nil {
+ return x.FeatureType
+ }
+ return 0
+}
+
+func (x *FeatureBlockInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_FeatureBlockInfo_proto protoreflect.FileDescriptor
+
+var file_FeatureBlockInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x50, 0x0a, 0x10, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x65, 0x61, 0x74, 0x75,
+ 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FeatureBlockInfo_proto_rawDescOnce sync.Once
+ file_FeatureBlockInfo_proto_rawDescData = file_FeatureBlockInfo_proto_rawDesc
+)
+
+func file_FeatureBlockInfo_proto_rawDescGZIP() []byte {
+ file_FeatureBlockInfo_proto_rawDescOnce.Do(func() {
+ file_FeatureBlockInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FeatureBlockInfo_proto_rawDescData)
+ })
+ return file_FeatureBlockInfo_proto_rawDescData
+}
+
+var file_FeatureBlockInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FeatureBlockInfo_proto_goTypes = []interface{}{
+ (*FeatureBlockInfo)(nil), // 0: proto.FeatureBlockInfo
+}
+var file_FeatureBlockInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FeatureBlockInfo_proto_init() }
+func file_FeatureBlockInfo_proto_init() {
+ if File_FeatureBlockInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FeatureBlockInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FeatureBlockInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FeatureBlockInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FeatureBlockInfo_proto_goTypes,
+ DependencyIndexes: file_FeatureBlockInfo_proto_depIdxs,
+ MessageInfos: file_FeatureBlockInfo_proto_msgTypes,
+ }.Build()
+ File_FeatureBlockInfo_proto = out.File
+ file_FeatureBlockInfo_proto_rawDesc = nil
+ file_FeatureBlockInfo_proto_goTypes = nil
+ file_FeatureBlockInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FetterData.pb.go b/protocol/proto/FetterData.pb.go
new file mode 100644
index 00000000..0c9ebc15
--- /dev/null
+++ b/protocol/proto/FetterData.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FetterData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FetterData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FetterId uint32 `protobuf:"varint,1,opt,name=fetter_id,json=fetterId,proto3" json:"fetter_id,omitempty"`
+ FetterState uint32 `protobuf:"varint,2,opt,name=fetter_state,json=fetterState,proto3" json:"fetter_state,omitempty"`
+ CondIndexList []uint32 `protobuf:"varint,3,rep,packed,name=cond_index_list,json=condIndexList,proto3" json:"cond_index_list,omitempty"`
+}
+
+func (x *FetterData) Reset() {
+ *x = FetterData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FetterData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FetterData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FetterData) ProtoMessage() {}
+
+func (x *FetterData) ProtoReflect() protoreflect.Message {
+ mi := &file_FetterData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FetterData.ProtoReflect.Descriptor instead.
+func (*FetterData) Descriptor() ([]byte, []int) {
+ return file_FetterData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FetterData) GetFetterId() uint32 {
+ if x != nil {
+ return x.FetterId
+ }
+ return 0
+}
+
+func (x *FetterData) GetFetterState() uint32 {
+ if x != nil {
+ return x.FetterState
+ }
+ return 0
+}
+
+func (x *FetterData) GetCondIndexList() []uint32 {
+ if x != nil {
+ return x.CondIndexList
+ }
+ return nil
+}
+
+var File_FetterData_proto protoreflect.FileDescriptor
+
+var file_FetterData_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x0a, 0x46, 0x65, 0x74,
+ 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x74, 0x74, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x65, 0x74, 0x74,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x65, 0x74, 0x74,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FetterData_proto_rawDescOnce sync.Once
+ file_FetterData_proto_rawDescData = file_FetterData_proto_rawDesc
+)
+
+func file_FetterData_proto_rawDescGZIP() []byte {
+ file_FetterData_proto_rawDescOnce.Do(func() {
+ file_FetterData_proto_rawDescData = protoimpl.X.CompressGZIP(file_FetterData_proto_rawDescData)
+ })
+ return file_FetterData_proto_rawDescData
+}
+
+var file_FetterData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FetterData_proto_goTypes = []interface{}{
+ (*FetterData)(nil), // 0: proto.FetterData
+}
+var file_FetterData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FetterData_proto_init() }
+func file_FetterData_proto_init() {
+ if File_FetterData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FetterData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FetterData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FetterData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FetterData_proto_goTypes,
+ DependencyIndexes: file_FetterData_proto_depIdxs,
+ MessageInfos: file_FetterData_proto_msgTypes,
+ }.Build()
+ File_FetterData_proto = out.File
+ file_FetterData_proto_rawDesc = nil
+ file_FetterData_proto_goTypes = nil
+ file_FetterData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FightPropPair.pb.go b/protocol/proto/FightPropPair.pb.go
new file mode 100644
index 00000000..bd67bceb
--- /dev/null
+++ b/protocol/proto/FightPropPair.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FightPropPair.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FightPropPair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PropType uint32 `protobuf:"varint,1,opt,name=prop_type,json=propType,proto3" json:"prop_type,omitempty"`
+ PropValue float32 `protobuf:"fixed32,2,opt,name=prop_value,json=propValue,proto3" json:"prop_value,omitempty"`
+}
+
+func (x *FightPropPair) Reset() {
+ *x = FightPropPair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FightPropPair_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FightPropPair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FightPropPair) ProtoMessage() {}
+
+func (x *FightPropPair) ProtoReflect() protoreflect.Message {
+ mi := &file_FightPropPair_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FightPropPair.ProtoReflect.Descriptor instead.
+func (*FightPropPair) Descriptor() ([]byte, []int) {
+ return file_FightPropPair_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FightPropPair) GetPropType() uint32 {
+ if x != nil {
+ return x.PropType
+ }
+ return 0
+}
+
+func (x *FightPropPair) GetPropValue() float32 {
+ if x != nil {
+ return x.PropValue
+ }
+ return 0
+}
+
+var File_FightPropPair_proto protoreflect.FileDescriptor
+
+var file_FightPropPair_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x50, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x0d,
+ 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x50, 0x61, 0x69, 0x72, 0x12, 0x1b, 0x0a,
+ 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72,
+ 0x6f, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09,
+ 0x70, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FightPropPair_proto_rawDescOnce sync.Once
+ file_FightPropPair_proto_rawDescData = file_FightPropPair_proto_rawDesc
+)
+
+func file_FightPropPair_proto_rawDescGZIP() []byte {
+ file_FightPropPair_proto_rawDescOnce.Do(func() {
+ file_FightPropPair_proto_rawDescData = protoimpl.X.CompressGZIP(file_FightPropPair_proto_rawDescData)
+ })
+ return file_FightPropPair_proto_rawDescData
+}
+
+var file_FightPropPair_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FightPropPair_proto_goTypes = []interface{}{
+ (*FightPropPair)(nil), // 0: proto.FightPropPair
+}
+var file_FightPropPair_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FightPropPair_proto_init() }
+func file_FightPropPair_proto_init() {
+ if File_FightPropPair_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FightPropPair_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FightPropPair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FightPropPair_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FightPropPair_proto_goTypes,
+ DependencyIndexes: file_FightPropPair_proto_depIdxs,
+ MessageInfos: file_FightPropPair_proto_msgTypes,
+ }.Build()
+ File_FightPropPair_proto = out.File
+ file_FightPropPair_proto_rawDesc = nil
+ file_FightPropPair_proto_goTypes = nil
+ file_FightPropPair_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FindHilichurlAcceptQuestNotify.pb.go b/protocol/proto/FindHilichurlAcceptQuestNotify.pb.go
new file mode 100644
index 00000000..b74e2131
--- /dev/null
+++ b/protocol/proto/FindHilichurlAcceptQuestNotify.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FindHilichurlAcceptQuestNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8659
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FindHilichurlAcceptQuestNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FindHilichurlAcceptQuestNotify) Reset() {
+ *x = FindHilichurlAcceptQuestNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FindHilichurlAcceptQuestNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FindHilichurlAcceptQuestNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FindHilichurlAcceptQuestNotify) ProtoMessage() {}
+
+func (x *FindHilichurlAcceptQuestNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FindHilichurlAcceptQuestNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FindHilichurlAcceptQuestNotify.ProtoReflect.Descriptor instead.
+func (*FindHilichurlAcceptQuestNotify) Descriptor() ([]byte, []int) {
+ return file_FindHilichurlAcceptQuestNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FindHilichurlAcceptQuestNotify_proto protoreflect.FileDescriptor
+
+var file_FindHilichurlAcceptQuestNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x41,
+ 0x63, 0x63, 0x65, 0x70, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x41, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FindHilichurlAcceptQuestNotify_proto_rawDescOnce sync.Once
+ file_FindHilichurlAcceptQuestNotify_proto_rawDescData = file_FindHilichurlAcceptQuestNotify_proto_rawDesc
+)
+
+func file_FindHilichurlAcceptQuestNotify_proto_rawDescGZIP() []byte {
+ file_FindHilichurlAcceptQuestNotify_proto_rawDescOnce.Do(func() {
+ file_FindHilichurlAcceptQuestNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FindHilichurlAcceptQuestNotify_proto_rawDescData)
+ })
+ return file_FindHilichurlAcceptQuestNotify_proto_rawDescData
+}
+
+var file_FindHilichurlAcceptQuestNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FindHilichurlAcceptQuestNotify_proto_goTypes = []interface{}{
+ (*FindHilichurlAcceptQuestNotify)(nil), // 0: proto.FindHilichurlAcceptQuestNotify
+}
+var file_FindHilichurlAcceptQuestNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FindHilichurlAcceptQuestNotify_proto_init() }
+func file_FindHilichurlAcceptQuestNotify_proto_init() {
+ if File_FindHilichurlAcceptQuestNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FindHilichurlAcceptQuestNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FindHilichurlAcceptQuestNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FindHilichurlAcceptQuestNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FindHilichurlAcceptQuestNotify_proto_goTypes,
+ DependencyIndexes: file_FindHilichurlAcceptQuestNotify_proto_depIdxs,
+ MessageInfos: file_FindHilichurlAcceptQuestNotify_proto_msgTypes,
+ }.Build()
+ File_FindHilichurlAcceptQuestNotify_proto = out.File
+ file_FindHilichurlAcceptQuestNotify_proto_rawDesc = nil
+ file_FindHilichurlAcceptQuestNotify_proto_goTypes = nil
+ file_FindHilichurlAcceptQuestNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FindHilichurlDayContentInfo.pb.go b/protocol/proto/FindHilichurlDayContentInfo.pb.go
new file mode 100644
index 00000000..afb91d54
--- /dev/null
+++ b/protocol/proto/FindHilichurlDayContentInfo.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FindHilichurlDayContentInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FindHilichurlDayContentInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StartTime uint32 `protobuf:"varint,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+}
+
+func (x *FindHilichurlDayContentInfo) Reset() {
+ *x = FindHilichurlDayContentInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FindHilichurlDayContentInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FindHilichurlDayContentInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FindHilichurlDayContentInfo) ProtoMessage() {}
+
+func (x *FindHilichurlDayContentInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FindHilichurlDayContentInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FindHilichurlDayContentInfo.ProtoReflect.Descriptor instead.
+func (*FindHilichurlDayContentInfo) Descriptor() ([]byte, []int) {
+ return file_FindHilichurlDayContentInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FindHilichurlDayContentInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+var File_FindHilichurlDayContentInfo_proto protoreflect.FileDescriptor
+
+var file_FindHilichurlDayContentInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x44,
+ 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x1b, 0x46, 0x69,
+ 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x44, 0x61, 0x79, 0x43, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FindHilichurlDayContentInfo_proto_rawDescOnce sync.Once
+ file_FindHilichurlDayContentInfo_proto_rawDescData = file_FindHilichurlDayContentInfo_proto_rawDesc
+)
+
+func file_FindHilichurlDayContentInfo_proto_rawDescGZIP() []byte {
+ file_FindHilichurlDayContentInfo_proto_rawDescOnce.Do(func() {
+ file_FindHilichurlDayContentInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FindHilichurlDayContentInfo_proto_rawDescData)
+ })
+ return file_FindHilichurlDayContentInfo_proto_rawDescData
+}
+
+var file_FindHilichurlDayContentInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FindHilichurlDayContentInfo_proto_goTypes = []interface{}{
+ (*FindHilichurlDayContentInfo)(nil), // 0: proto.FindHilichurlDayContentInfo
+}
+var file_FindHilichurlDayContentInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FindHilichurlDayContentInfo_proto_init() }
+func file_FindHilichurlDayContentInfo_proto_init() {
+ if File_FindHilichurlDayContentInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FindHilichurlDayContentInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FindHilichurlDayContentInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FindHilichurlDayContentInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FindHilichurlDayContentInfo_proto_goTypes,
+ DependencyIndexes: file_FindHilichurlDayContentInfo_proto_depIdxs,
+ MessageInfos: file_FindHilichurlDayContentInfo_proto_msgTypes,
+ }.Build()
+ File_FindHilichurlDayContentInfo_proto = out.File
+ file_FindHilichurlDayContentInfo_proto_rawDesc = nil
+ file_FindHilichurlDayContentInfo_proto_goTypes = nil
+ file_FindHilichurlDayContentInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FindHilichurlDetailInfo.pb.go b/protocol/proto/FindHilichurlDetailInfo.pb.go
new file mode 100644
index 00000000..01f04347
--- /dev/null
+++ b/protocol/proto/FindHilichurlDetailInfo.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FindHilichurlDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FindHilichurlDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DayContentInfoList []*FindHilichurlDayContentInfo `protobuf:"bytes,1,rep,name=day_content_info_list,json=dayContentInfoList,proto3" json:"day_content_info_list,omitempty"`
+ MinOpenPlayerLevel uint32 `protobuf:"varint,12,opt,name=min_open_player_level,json=minOpenPlayerLevel,proto3" json:"min_open_player_level,omitempty"`
+ IsEndQuestAccept bool `protobuf:"varint,7,opt,name=is_end_quest_accept,json=isEndQuestAccept,proto3" json:"is_end_quest_accept,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,6,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ IsContentClosed bool `protobuf:"varint,9,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ PlayerDayIndex uint32 `protobuf:"varint,4,opt,name=player_day_index,json=playerDayIndex,proto3" json:"player_day_index,omitempty"`
+ DayIndex uint32 `protobuf:"varint,15,opt,name=day_index,json=dayIndex,proto3" json:"day_index,omitempty"`
+}
+
+func (x *FindHilichurlDetailInfo) Reset() {
+ *x = FindHilichurlDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FindHilichurlDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FindHilichurlDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FindHilichurlDetailInfo) ProtoMessage() {}
+
+func (x *FindHilichurlDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FindHilichurlDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FindHilichurlDetailInfo.ProtoReflect.Descriptor instead.
+func (*FindHilichurlDetailInfo) Descriptor() ([]byte, []int) {
+ return file_FindHilichurlDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FindHilichurlDetailInfo) GetDayContentInfoList() []*FindHilichurlDayContentInfo {
+ if x != nil {
+ return x.DayContentInfoList
+ }
+ return nil
+}
+
+func (x *FindHilichurlDetailInfo) GetMinOpenPlayerLevel() uint32 {
+ if x != nil {
+ return x.MinOpenPlayerLevel
+ }
+ return 0
+}
+
+func (x *FindHilichurlDetailInfo) GetIsEndQuestAccept() bool {
+ if x != nil {
+ return x.IsEndQuestAccept
+ }
+ return false
+}
+
+func (x *FindHilichurlDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *FindHilichurlDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *FindHilichurlDetailInfo) GetPlayerDayIndex() uint32 {
+ if x != nil {
+ return x.PlayerDayIndex
+ }
+ return 0
+}
+
+func (x *FindHilichurlDetailInfo) GetDayIndex() uint32 {
+ if x != nil {
+ return x.DayIndex
+ }
+ return 0
+}
+
+var File_FindHilichurlDetailInfo_proto protoreflect.FileDescriptor
+
+var file_FindHilichurlDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69,
+ 0x63, 0x68, 0x75, 0x72, 0x6c, 0x44, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x02, 0x0a, 0x17, 0x46, 0x69,
+ 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x55, 0x0a, 0x15, 0x64, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x6e,
+ 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x44, 0x61, 0x79, 0x43, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x64, 0x61, 0x79, 0x43, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x15,
+ 0x6d, 0x69, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, 0x6e,
+ 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
+ 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
+ 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73,
+ 0x45, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x2c,
+ 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11,
+ 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x79, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FindHilichurlDetailInfo_proto_rawDescOnce sync.Once
+ file_FindHilichurlDetailInfo_proto_rawDescData = file_FindHilichurlDetailInfo_proto_rawDesc
+)
+
+func file_FindHilichurlDetailInfo_proto_rawDescGZIP() []byte {
+ file_FindHilichurlDetailInfo_proto_rawDescOnce.Do(func() {
+ file_FindHilichurlDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FindHilichurlDetailInfo_proto_rawDescData)
+ })
+ return file_FindHilichurlDetailInfo_proto_rawDescData
+}
+
+var file_FindHilichurlDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FindHilichurlDetailInfo_proto_goTypes = []interface{}{
+ (*FindHilichurlDetailInfo)(nil), // 0: proto.FindHilichurlDetailInfo
+ (*FindHilichurlDayContentInfo)(nil), // 1: proto.FindHilichurlDayContentInfo
+}
+var file_FindHilichurlDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FindHilichurlDetailInfo.day_content_info_list:type_name -> proto.FindHilichurlDayContentInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FindHilichurlDetailInfo_proto_init() }
+func file_FindHilichurlDetailInfo_proto_init() {
+ if File_FindHilichurlDetailInfo_proto != nil {
+ return
+ }
+ file_FindHilichurlDayContentInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FindHilichurlDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FindHilichurlDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FindHilichurlDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FindHilichurlDetailInfo_proto_goTypes,
+ DependencyIndexes: file_FindHilichurlDetailInfo_proto_depIdxs,
+ MessageInfos: file_FindHilichurlDetailInfo_proto_msgTypes,
+ }.Build()
+ File_FindHilichurlDetailInfo_proto = out.File
+ file_FindHilichurlDetailInfo_proto_rawDesc = nil
+ file_FindHilichurlDetailInfo_proto_goTypes = nil
+ file_FindHilichurlDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FindHilichurlFinishSecondQuestNotify.pb.go b/protocol/proto/FindHilichurlFinishSecondQuestNotify.pb.go
new file mode 100644
index 00000000..c93a3477
--- /dev/null
+++ b/protocol/proto/FindHilichurlFinishSecondQuestNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FindHilichurlFinishSecondQuestNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8901
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FindHilichurlFinishSecondQuestNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DayIndex uint32 `protobuf:"varint,11,opt,name=day_index,json=dayIndex,proto3" json:"day_index,omitempty"`
+}
+
+func (x *FindHilichurlFinishSecondQuestNotify) Reset() {
+ *x = FindHilichurlFinishSecondQuestNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FindHilichurlFinishSecondQuestNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FindHilichurlFinishSecondQuestNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FindHilichurlFinishSecondQuestNotify) ProtoMessage() {}
+
+func (x *FindHilichurlFinishSecondQuestNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FindHilichurlFinishSecondQuestNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FindHilichurlFinishSecondQuestNotify.ProtoReflect.Descriptor instead.
+func (*FindHilichurlFinishSecondQuestNotify) Descriptor() ([]byte, []int) {
+ return file_FindHilichurlFinishSecondQuestNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FindHilichurlFinishSecondQuestNotify) GetDayIndex() uint32 {
+ if x != nil {
+ return x.DayIndex
+ }
+ return 0
+}
+
+var File_FindHilichurlFinishSecondQuestNotify_proto protoreflect.FileDescriptor
+
+var file_FindHilichurlFinishSecondQuestNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63, 0x68, 0x75, 0x72, 0x6c, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x48, 0x69, 0x6c, 0x69, 0x63,
+ 0x68, 0x75, 0x72, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x64,
+ 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x64, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FindHilichurlFinishSecondQuestNotify_proto_rawDescOnce sync.Once
+ file_FindHilichurlFinishSecondQuestNotify_proto_rawDescData = file_FindHilichurlFinishSecondQuestNotify_proto_rawDesc
+)
+
+func file_FindHilichurlFinishSecondQuestNotify_proto_rawDescGZIP() []byte {
+ file_FindHilichurlFinishSecondQuestNotify_proto_rawDescOnce.Do(func() {
+ file_FindHilichurlFinishSecondQuestNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FindHilichurlFinishSecondQuestNotify_proto_rawDescData)
+ })
+ return file_FindHilichurlFinishSecondQuestNotify_proto_rawDescData
+}
+
+var file_FindHilichurlFinishSecondQuestNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FindHilichurlFinishSecondQuestNotify_proto_goTypes = []interface{}{
+ (*FindHilichurlFinishSecondQuestNotify)(nil), // 0: proto.FindHilichurlFinishSecondQuestNotify
+}
+var file_FindHilichurlFinishSecondQuestNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FindHilichurlFinishSecondQuestNotify_proto_init() }
+func file_FindHilichurlFinishSecondQuestNotify_proto_init() {
+ if File_FindHilichurlFinishSecondQuestNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FindHilichurlFinishSecondQuestNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FindHilichurlFinishSecondQuestNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FindHilichurlFinishSecondQuestNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FindHilichurlFinishSecondQuestNotify_proto_goTypes,
+ DependencyIndexes: file_FindHilichurlFinishSecondQuestNotify_proto_depIdxs,
+ MessageInfos: file_FindHilichurlFinishSecondQuestNotify_proto_msgTypes,
+ }.Build()
+ File_FindHilichurlFinishSecondQuestNotify_proto = out.File
+ file_FindHilichurlFinishSecondQuestNotify_proto_rawDesc = nil
+ file_FindHilichurlFinishSecondQuestNotify_proto_goTypes = nil
+ file_FindHilichurlFinishSecondQuestNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FinishDeliveryNotify.pb.go b/protocol/proto/FinishDeliveryNotify.pb.go
new file mode 100644
index 00000000..7d0356c1
--- /dev/null
+++ b/protocol/proto/FinishDeliveryNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FinishDeliveryNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2089
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FinishDeliveryNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedQuestIndex uint32 `protobuf:"varint,1,opt,name=finished_quest_index,json=finishedQuestIndex,proto3" json:"finished_quest_index,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ DayIndex uint32 `protobuf:"varint,12,opt,name=day_index,json=dayIndex,proto3" json:"day_index,omitempty"`
+}
+
+func (x *FinishDeliveryNotify) Reset() {
+ *x = FinishDeliveryNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FinishDeliveryNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinishDeliveryNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinishDeliveryNotify) ProtoMessage() {}
+
+func (x *FinishDeliveryNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FinishDeliveryNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinishDeliveryNotify.ProtoReflect.Descriptor instead.
+func (*FinishDeliveryNotify) Descriptor() ([]byte, []int) {
+ return file_FinishDeliveryNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FinishDeliveryNotify) GetFinishedQuestIndex() uint32 {
+ if x != nil {
+ return x.FinishedQuestIndex
+ }
+ return 0
+}
+
+func (x *FinishDeliveryNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *FinishDeliveryNotify) GetDayIndex() uint32 {
+ if x != nil {
+ return x.DayIndex
+ }
+ return 0
+}
+
+var File_FinishDeliveryNotify_proto protoreflect.FileDescriptor
+
+var file_FinishDeliveryNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x65,
+ 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x30, 0x0a, 0x14,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12,
+ 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FinishDeliveryNotify_proto_rawDescOnce sync.Once
+ file_FinishDeliveryNotify_proto_rawDescData = file_FinishDeliveryNotify_proto_rawDesc
+)
+
+func file_FinishDeliveryNotify_proto_rawDescGZIP() []byte {
+ file_FinishDeliveryNotify_proto_rawDescOnce.Do(func() {
+ file_FinishDeliveryNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FinishDeliveryNotify_proto_rawDescData)
+ })
+ return file_FinishDeliveryNotify_proto_rawDescData
+}
+
+var file_FinishDeliveryNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FinishDeliveryNotify_proto_goTypes = []interface{}{
+ (*FinishDeliveryNotify)(nil), // 0: proto.FinishDeliveryNotify
+}
+var file_FinishDeliveryNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FinishDeliveryNotify_proto_init() }
+func file_FinishDeliveryNotify_proto_init() {
+ if File_FinishDeliveryNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FinishDeliveryNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinishDeliveryNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FinishDeliveryNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FinishDeliveryNotify_proto_goTypes,
+ DependencyIndexes: file_FinishDeliveryNotify_proto_depIdxs,
+ MessageInfos: file_FinishDeliveryNotify_proto_msgTypes,
+ }.Build()
+ File_FinishDeliveryNotify_proto = out.File
+ file_FinishDeliveryNotify_proto_rawDesc = nil
+ file_FinishDeliveryNotify_proto_goTypes = nil
+ file_FinishDeliveryNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FinishLanternProjectionReq.pb.go b/protocol/proto/FinishLanternProjectionReq.pb.go
new file mode 100644
index 00000000..073b8922
--- /dev/null
+++ b/protocol/proto/FinishLanternProjectionReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FinishLanternProjectionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8704
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FinishLanternProjectionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishTime uint32 `protobuf:"varint,3,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
+ LevelId uint32 `protobuf:"varint,11,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *FinishLanternProjectionReq) Reset() {
+ *x = FinishLanternProjectionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FinishLanternProjectionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinishLanternProjectionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinishLanternProjectionReq) ProtoMessage() {}
+
+func (x *FinishLanternProjectionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FinishLanternProjectionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinishLanternProjectionReq.ProtoReflect.Descriptor instead.
+func (*FinishLanternProjectionReq) Descriptor() ([]byte, []int) {
+ return file_FinishLanternProjectionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FinishLanternProjectionReq) GetFinishTime() uint32 {
+ if x != nil {
+ return x.FinishTime
+ }
+ return 0
+}
+
+func (x *FinishLanternProjectionReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_FinishLanternProjectionReq_proto protoreflect.FileDescriptor
+
+var file_FinishLanternProjectionReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1a, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FinishLanternProjectionReq_proto_rawDescOnce sync.Once
+ file_FinishLanternProjectionReq_proto_rawDescData = file_FinishLanternProjectionReq_proto_rawDesc
+)
+
+func file_FinishLanternProjectionReq_proto_rawDescGZIP() []byte {
+ file_FinishLanternProjectionReq_proto_rawDescOnce.Do(func() {
+ file_FinishLanternProjectionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FinishLanternProjectionReq_proto_rawDescData)
+ })
+ return file_FinishLanternProjectionReq_proto_rawDescData
+}
+
+var file_FinishLanternProjectionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FinishLanternProjectionReq_proto_goTypes = []interface{}{
+ (*FinishLanternProjectionReq)(nil), // 0: proto.FinishLanternProjectionReq
+}
+var file_FinishLanternProjectionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FinishLanternProjectionReq_proto_init() }
+func file_FinishLanternProjectionReq_proto_init() {
+ if File_FinishLanternProjectionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FinishLanternProjectionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinishLanternProjectionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FinishLanternProjectionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FinishLanternProjectionReq_proto_goTypes,
+ DependencyIndexes: file_FinishLanternProjectionReq_proto_depIdxs,
+ MessageInfos: file_FinishLanternProjectionReq_proto_msgTypes,
+ }.Build()
+ File_FinishLanternProjectionReq_proto = out.File
+ file_FinishLanternProjectionReq_proto_rawDesc = nil
+ file_FinishLanternProjectionReq_proto_goTypes = nil
+ file_FinishLanternProjectionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FinishLanternProjectionRsp.pb.go b/protocol/proto/FinishLanternProjectionRsp.pb.go
new file mode 100644
index 00000000..a3a4208d
--- /dev/null
+++ b/protocol/proto/FinishLanternProjectionRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FinishLanternProjectionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8713
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FinishLanternProjectionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FinishLanternProjectionRsp) Reset() {
+ *x = FinishLanternProjectionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FinishLanternProjectionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinishLanternProjectionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinishLanternProjectionRsp) ProtoMessage() {}
+
+func (x *FinishLanternProjectionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FinishLanternProjectionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinishLanternProjectionRsp.ProtoReflect.Descriptor instead.
+func (*FinishLanternProjectionRsp) Descriptor() ([]byte, []int) {
+ return file_FinishLanternProjectionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FinishLanternProjectionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FinishLanternProjectionRsp_proto protoreflect.FileDescriptor
+
+var file_FinishLanternProjectionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FinishLanternProjectionRsp_proto_rawDescOnce sync.Once
+ file_FinishLanternProjectionRsp_proto_rawDescData = file_FinishLanternProjectionRsp_proto_rawDesc
+)
+
+func file_FinishLanternProjectionRsp_proto_rawDescGZIP() []byte {
+ file_FinishLanternProjectionRsp_proto_rawDescOnce.Do(func() {
+ file_FinishLanternProjectionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FinishLanternProjectionRsp_proto_rawDescData)
+ })
+ return file_FinishLanternProjectionRsp_proto_rawDescData
+}
+
+var file_FinishLanternProjectionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FinishLanternProjectionRsp_proto_goTypes = []interface{}{
+ (*FinishLanternProjectionRsp)(nil), // 0: proto.FinishLanternProjectionRsp
+}
+var file_FinishLanternProjectionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FinishLanternProjectionRsp_proto_init() }
+func file_FinishLanternProjectionRsp_proto_init() {
+ if File_FinishLanternProjectionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FinishLanternProjectionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinishLanternProjectionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FinishLanternProjectionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FinishLanternProjectionRsp_proto_goTypes,
+ DependencyIndexes: file_FinishLanternProjectionRsp_proto_depIdxs,
+ MessageInfos: file_FinishLanternProjectionRsp_proto_msgTypes,
+ }.Build()
+ File_FinishLanternProjectionRsp_proto = out.File
+ file_FinishLanternProjectionRsp_proto_rawDesc = nil
+ file_FinishLanternProjectionRsp_proto_goTypes = nil
+ file_FinishLanternProjectionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FinishMainCoopReq.pb.go b/protocol/proto/FinishMainCoopReq.pb.go
new file mode 100644
index 00000000..fc2308a0
--- /dev/null
+++ b/protocol/proto/FinishMainCoopReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FinishMainCoopReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1952
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FinishMainCoopReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,10,opt,name=id,proto3" json:"id,omitempty"`
+ EndingSavePointId uint32 `protobuf:"varint,1,opt,name=ending_save_point_id,json=endingSavePointId,proto3" json:"ending_save_point_id,omitempty"`
+}
+
+func (x *FinishMainCoopReq) Reset() {
+ *x = FinishMainCoopReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FinishMainCoopReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinishMainCoopReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinishMainCoopReq) ProtoMessage() {}
+
+func (x *FinishMainCoopReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FinishMainCoopReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinishMainCoopReq.ProtoReflect.Descriptor instead.
+func (*FinishMainCoopReq) Descriptor() ([]byte, []int) {
+ return file_FinishMainCoopReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FinishMainCoopReq) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *FinishMainCoopReq) GetEndingSavePointId() uint32 {
+ if x != nil {
+ return x.EndingSavePointId
+ }
+ return 0
+}
+
+var File_FinishMainCoopReq_proto protoreflect.FileDescriptor
+
+var file_FinishMainCoopReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x54, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f,
+ 0x6f, 0x70, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f,
+ 0x73, 0x61, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x76, 0x65, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FinishMainCoopReq_proto_rawDescOnce sync.Once
+ file_FinishMainCoopReq_proto_rawDescData = file_FinishMainCoopReq_proto_rawDesc
+)
+
+func file_FinishMainCoopReq_proto_rawDescGZIP() []byte {
+ file_FinishMainCoopReq_proto_rawDescOnce.Do(func() {
+ file_FinishMainCoopReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FinishMainCoopReq_proto_rawDescData)
+ })
+ return file_FinishMainCoopReq_proto_rawDescData
+}
+
+var file_FinishMainCoopReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FinishMainCoopReq_proto_goTypes = []interface{}{
+ (*FinishMainCoopReq)(nil), // 0: proto.FinishMainCoopReq
+}
+var file_FinishMainCoopReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FinishMainCoopReq_proto_init() }
+func file_FinishMainCoopReq_proto_init() {
+ if File_FinishMainCoopReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FinishMainCoopReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinishMainCoopReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FinishMainCoopReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FinishMainCoopReq_proto_goTypes,
+ DependencyIndexes: file_FinishMainCoopReq_proto_depIdxs,
+ MessageInfos: file_FinishMainCoopReq_proto_msgTypes,
+ }.Build()
+ File_FinishMainCoopReq_proto = out.File
+ file_FinishMainCoopReq_proto_rawDesc = nil
+ file_FinishMainCoopReq_proto_goTypes = nil
+ file_FinishMainCoopReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FinishMainCoopRsp.pb.go b/protocol/proto/FinishMainCoopRsp.pb.go
new file mode 100644
index 00000000..c585f02c
--- /dev/null
+++ b/protocol/proto/FinishMainCoopRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FinishMainCoopRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1981
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FinishMainCoopRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
+ EndingSavePointId uint32 `protobuf:"varint,6,opt,name=ending_save_point_id,json=endingSavePointId,proto3" json:"ending_save_point_id,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FinishMainCoopRsp) Reset() {
+ *x = FinishMainCoopRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FinishMainCoopRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinishMainCoopRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinishMainCoopRsp) ProtoMessage() {}
+
+func (x *FinishMainCoopRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FinishMainCoopRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinishMainCoopRsp.ProtoReflect.Descriptor instead.
+func (*FinishMainCoopRsp) Descriptor() ([]byte, []int) {
+ return file_FinishMainCoopRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FinishMainCoopRsp) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *FinishMainCoopRsp) GetEndingSavePointId() uint32 {
+ if x != nil {
+ return x.EndingSavePointId
+ }
+ return 0
+}
+
+func (x *FinishMainCoopRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FinishMainCoopRsp_proto protoreflect.FileDescriptor
+
+var file_FinishMainCoopRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6e, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f,
+ 0x6f, 0x70, 0x52, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f,
+ 0x73, 0x61, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x61, 0x76, 0x65, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FinishMainCoopRsp_proto_rawDescOnce sync.Once
+ file_FinishMainCoopRsp_proto_rawDescData = file_FinishMainCoopRsp_proto_rawDesc
+)
+
+func file_FinishMainCoopRsp_proto_rawDescGZIP() []byte {
+ file_FinishMainCoopRsp_proto_rawDescOnce.Do(func() {
+ file_FinishMainCoopRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FinishMainCoopRsp_proto_rawDescData)
+ })
+ return file_FinishMainCoopRsp_proto_rawDescData
+}
+
+var file_FinishMainCoopRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FinishMainCoopRsp_proto_goTypes = []interface{}{
+ (*FinishMainCoopRsp)(nil), // 0: proto.FinishMainCoopRsp
+}
+var file_FinishMainCoopRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FinishMainCoopRsp_proto_init() }
+func file_FinishMainCoopRsp_proto_init() {
+ if File_FinishMainCoopRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FinishMainCoopRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinishMainCoopRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FinishMainCoopRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FinishMainCoopRsp_proto_goTypes,
+ DependencyIndexes: file_FinishMainCoopRsp_proto_depIdxs,
+ MessageInfos: file_FinishMainCoopRsp_proto_msgTypes,
+ }.Build()
+ File_FinishMainCoopRsp_proto = out.File
+ file_FinishMainCoopRsp_proto_rawDesc = nil
+ file_FinishMainCoopRsp_proto_goTypes = nil
+ file_FinishMainCoopRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FinishedParentQuestNotify.pb.go b/protocol/proto/FinishedParentQuestNotify.pb.go
new file mode 100644
index 00000000..62728907
--- /dev/null
+++ b/protocol/proto/FinishedParentQuestNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FinishedParentQuestNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 435
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FinishedParentQuestNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentQuestList []*ParentQuest `protobuf:"bytes,2,rep,name=parent_quest_list,json=parentQuestList,proto3" json:"parent_quest_list,omitempty"`
+}
+
+func (x *FinishedParentQuestNotify) Reset() {
+ *x = FinishedParentQuestNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FinishedParentQuestNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinishedParentQuestNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinishedParentQuestNotify) ProtoMessage() {}
+
+func (x *FinishedParentQuestNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FinishedParentQuestNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinishedParentQuestNotify.ProtoReflect.Descriptor instead.
+func (*FinishedParentQuestNotify) Descriptor() ([]byte, []int) {
+ return file_FinishedParentQuestNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FinishedParentQuestNotify) GetParentQuestList() []*ParentQuest {
+ if x != nil {
+ return x.ParentQuestList
+ }
+ return nil
+}
+
+var File_FinishedParentQuestNotify_proto protoreflect.FileDescriptor
+
+var file_FinishedParentQuestNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x19, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3e, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51,
+ 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FinishedParentQuestNotify_proto_rawDescOnce sync.Once
+ file_FinishedParentQuestNotify_proto_rawDescData = file_FinishedParentQuestNotify_proto_rawDesc
+)
+
+func file_FinishedParentQuestNotify_proto_rawDescGZIP() []byte {
+ file_FinishedParentQuestNotify_proto_rawDescOnce.Do(func() {
+ file_FinishedParentQuestNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FinishedParentQuestNotify_proto_rawDescData)
+ })
+ return file_FinishedParentQuestNotify_proto_rawDescData
+}
+
+var file_FinishedParentQuestNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FinishedParentQuestNotify_proto_goTypes = []interface{}{
+ (*FinishedParentQuestNotify)(nil), // 0: proto.FinishedParentQuestNotify
+ (*ParentQuest)(nil), // 1: proto.ParentQuest
+}
+var file_FinishedParentQuestNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FinishedParentQuestNotify.parent_quest_list:type_name -> proto.ParentQuest
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FinishedParentQuestNotify_proto_init() }
+func file_FinishedParentQuestNotify_proto_init() {
+ if File_FinishedParentQuestNotify_proto != nil {
+ return
+ }
+ file_ParentQuest_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FinishedParentQuestNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinishedParentQuestNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FinishedParentQuestNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FinishedParentQuestNotify_proto_goTypes,
+ DependencyIndexes: file_FinishedParentQuestNotify_proto_depIdxs,
+ MessageInfos: file_FinishedParentQuestNotify_proto_msgTypes,
+ }.Build()
+ File_FinishedParentQuestNotify_proto = out.File
+ file_FinishedParentQuestNotify_proto_rawDesc = nil
+ file_FinishedParentQuestNotify_proto_goTypes = nil
+ file_FinishedParentQuestNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FinishedParentQuestUpdateNotify.pb.go b/protocol/proto/FinishedParentQuestUpdateNotify.pb.go
new file mode 100644
index 00000000..7039e733
--- /dev/null
+++ b/protocol/proto/FinishedParentQuestUpdateNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FinishedParentQuestUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 407
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FinishedParentQuestUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentQuestList []*ParentQuest `protobuf:"bytes,9,rep,name=parent_quest_list,json=parentQuestList,proto3" json:"parent_quest_list,omitempty"`
+}
+
+func (x *FinishedParentQuestUpdateNotify) Reset() {
+ *x = FinishedParentQuestUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FinishedParentQuestUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinishedParentQuestUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinishedParentQuestUpdateNotify) ProtoMessage() {}
+
+func (x *FinishedParentQuestUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FinishedParentQuestUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinishedParentQuestUpdateNotify.ProtoReflect.Descriptor instead.
+func (*FinishedParentQuestUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_FinishedParentQuestUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FinishedParentQuestUpdateNotify) GetParentQuestList() []*ParentQuest {
+ if x != nil {
+ return x.ParentQuestList
+ }
+ return nil
+}
+
+var File_FinishedParentQuestUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_FinishedParentQuestUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11,
+ 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x61, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x50, 0x61, 0x72,
+ 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x3e, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75,
+ 0x65, 0x73, 0x74, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FinishedParentQuestUpdateNotify_proto_rawDescOnce sync.Once
+ file_FinishedParentQuestUpdateNotify_proto_rawDescData = file_FinishedParentQuestUpdateNotify_proto_rawDesc
+)
+
+func file_FinishedParentQuestUpdateNotify_proto_rawDescGZIP() []byte {
+ file_FinishedParentQuestUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_FinishedParentQuestUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FinishedParentQuestUpdateNotify_proto_rawDescData)
+ })
+ return file_FinishedParentQuestUpdateNotify_proto_rawDescData
+}
+
+var file_FinishedParentQuestUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FinishedParentQuestUpdateNotify_proto_goTypes = []interface{}{
+ (*FinishedParentQuestUpdateNotify)(nil), // 0: proto.FinishedParentQuestUpdateNotify
+ (*ParentQuest)(nil), // 1: proto.ParentQuest
+}
+var file_FinishedParentQuestUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FinishedParentQuestUpdateNotify.parent_quest_list:type_name -> proto.ParentQuest
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FinishedParentQuestUpdateNotify_proto_init() }
+func file_FinishedParentQuestUpdateNotify_proto_init() {
+ if File_FinishedParentQuestUpdateNotify_proto != nil {
+ return
+ }
+ file_ParentQuest_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FinishedParentQuestUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinishedParentQuestUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FinishedParentQuestUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FinishedParentQuestUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_FinishedParentQuestUpdateNotify_proto_depIdxs,
+ MessageInfos: file_FinishedParentQuestUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_FinishedParentQuestUpdateNotify_proto = out.File
+ file_FinishedParentQuestUpdateNotify_proto_rawDesc = nil
+ file_FinishedParentQuestUpdateNotify_proto_goTypes = nil
+ file_FinishedParentQuestUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FinishedTalkIdListNotify.pb.go b/protocol/proto/FinishedTalkIdListNotify.pb.go
new file mode 100644
index 00000000..7af11f40
--- /dev/null
+++ b/protocol/proto/FinishedTalkIdListNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FinishedTalkIdListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 573
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FinishedTalkIdListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedTalkIdList []uint32 `protobuf:"varint,1,rep,packed,name=finished_talk_id_list,json=finishedTalkIdList,proto3" json:"finished_talk_id_list,omitempty"`
+}
+
+func (x *FinishedTalkIdListNotify) Reset() {
+ *x = FinishedTalkIdListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FinishedTalkIdListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FinishedTalkIdListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FinishedTalkIdListNotify) ProtoMessage() {}
+
+func (x *FinishedTalkIdListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FinishedTalkIdListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FinishedTalkIdListNotify.ProtoReflect.Descriptor instead.
+func (*FinishedTalkIdListNotify) Descriptor() ([]byte, []int) {
+ return file_FinishedTalkIdListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FinishedTalkIdListNotify) GetFinishedTalkIdList() []uint32 {
+ if x != nil {
+ return x.FinishedTalkIdList
+ }
+ return nil
+}
+
+var File_FinishedTalkIdListNotify_proto protoreflect.FileDescriptor
+
+var file_FinishedTalkIdListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x61, 0x6c, 0x6b, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x54, 0x61, 0x6c, 0x6b, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f,
+ 0x74, 0x61, 0x6c, 0x6b, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x61, 0x6c, 0x6b,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FinishedTalkIdListNotify_proto_rawDescOnce sync.Once
+ file_FinishedTalkIdListNotify_proto_rawDescData = file_FinishedTalkIdListNotify_proto_rawDesc
+)
+
+func file_FinishedTalkIdListNotify_proto_rawDescGZIP() []byte {
+ file_FinishedTalkIdListNotify_proto_rawDescOnce.Do(func() {
+ file_FinishedTalkIdListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FinishedTalkIdListNotify_proto_rawDescData)
+ })
+ return file_FinishedTalkIdListNotify_proto_rawDescData
+}
+
+var file_FinishedTalkIdListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FinishedTalkIdListNotify_proto_goTypes = []interface{}{
+ (*FinishedTalkIdListNotify)(nil), // 0: proto.FinishedTalkIdListNotify
+}
+var file_FinishedTalkIdListNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FinishedTalkIdListNotify_proto_init() }
+func file_FinishedTalkIdListNotify_proto_init() {
+ if File_FinishedTalkIdListNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FinishedTalkIdListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FinishedTalkIdListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FinishedTalkIdListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FinishedTalkIdListNotify_proto_goTypes,
+ DependencyIndexes: file_FinishedTalkIdListNotify_proto_depIdxs,
+ MessageInfos: file_FinishedTalkIdListNotify_proto_msgTypes,
+ }.Build()
+ File_FinishedTalkIdListNotify_proto = out.File
+ file_FinishedTalkIdListNotify_proto_rawDesc = nil
+ file_FinishedTalkIdListNotify_proto_goTypes = nil
+ file_FinishedTalkIdListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FireworksLaunchDataNotify.pb.go b/protocol/proto/FireworksLaunchDataNotify.pb.go
new file mode 100644
index 00000000..3714f293
--- /dev/null
+++ b/protocol/proto/FireworksLaunchDataNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FireworksLaunchDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5928
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FireworksLaunchDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SchemeDataList []*FireworksLaunchSchemeData `protobuf:"bytes,12,rep,name=scheme_data_list,json=schemeDataList,proto3" json:"scheme_data_list,omitempty"`
+ LastUseSchemeId uint32 `protobuf:"varint,4,opt,name=last_use_scheme_id,json=lastUseSchemeId,proto3" json:"last_use_scheme_id,omitempty"`
+}
+
+func (x *FireworksLaunchDataNotify) Reset() {
+ *x = FireworksLaunchDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FireworksLaunchDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FireworksLaunchDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FireworksLaunchDataNotify) ProtoMessage() {}
+
+func (x *FireworksLaunchDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FireworksLaunchDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FireworksLaunchDataNotify.ProtoReflect.Descriptor instead.
+func (*FireworksLaunchDataNotify) Descriptor() ([]byte, []int) {
+ return file_FireworksLaunchDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FireworksLaunchDataNotify) GetSchemeDataList() []*FireworksLaunchSchemeData {
+ if x != nil {
+ return x.SchemeDataList
+ }
+ return nil
+}
+
+func (x *FireworksLaunchDataNotify) GetLastUseSchemeId() uint32 {
+ if x != nil {
+ return x.LastUseSchemeId
+ }
+ return 0
+}
+
+var File_FireworksLaunchDataNotify_proto protoreflect.FileDescriptor
+
+var file_FireworksLaunchDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63,
+ 0x68, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f,
+ 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x19, 0x46, 0x69,
+ 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x4a, 0x0a, 0x10, 0x73, 0x63, 0x68, 0x65, 0x6d,
+ 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f,
+ 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x5f,
+ 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x73, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FireworksLaunchDataNotify_proto_rawDescOnce sync.Once
+ file_FireworksLaunchDataNotify_proto_rawDescData = file_FireworksLaunchDataNotify_proto_rawDesc
+)
+
+func file_FireworksLaunchDataNotify_proto_rawDescGZIP() []byte {
+ file_FireworksLaunchDataNotify_proto_rawDescOnce.Do(func() {
+ file_FireworksLaunchDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FireworksLaunchDataNotify_proto_rawDescData)
+ })
+ return file_FireworksLaunchDataNotify_proto_rawDescData
+}
+
+var file_FireworksLaunchDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FireworksLaunchDataNotify_proto_goTypes = []interface{}{
+ (*FireworksLaunchDataNotify)(nil), // 0: proto.FireworksLaunchDataNotify
+ (*FireworksLaunchSchemeData)(nil), // 1: proto.FireworksLaunchSchemeData
+}
+var file_FireworksLaunchDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FireworksLaunchDataNotify.scheme_data_list:type_name -> proto.FireworksLaunchSchemeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FireworksLaunchDataNotify_proto_init() }
+func file_FireworksLaunchDataNotify_proto_init() {
+ if File_FireworksLaunchDataNotify_proto != nil {
+ return
+ }
+ file_FireworksLaunchSchemeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FireworksLaunchDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FireworksLaunchDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FireworksLaunchDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FireworksLaunchDataNotify_proto_goTypes,
+ DependencyIndexes: file_FireworksLaunchDataNotify_proto_depIdxs,
+ MessageInfos: file_FireworksLaunchDataNotify_proto_msgTypes,
+ }.Build()
+ File_FireworksLaunchDataNotify_proto = out.File
+ file_FireworksLaunchDataNotify_proto_rawDesc = nil
+ file_FireworksLaunchDataNotify_proto_goTypes = nil
+ file_FireworksLaunchDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FireworksLaunchParam.pb.go b/protocol/proto/FireworksLaunchParam.pb.go
new file mode 100644
index 00000000..a314b4a8
--- /dev/null
+++ b/protocol/proto/FireworksLaunchParam.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FireworksLaunchParam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FireworksLaunchParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value int32 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
+ Type FireworksLaunchParamType `protobuf:"varint,4,opt,name=type,proto3,enum=proto.FireworksLaunchParamType" json:"type,omitempty"`
+}
+
+func (x *FireworksLaunchParam) Reset() {
+ *x = FireworksLaunchParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FireworksLaunchParam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FireworksLaunchParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FireworksLaunchParam) ProtoMessage() {}
+
+func (x *FireworksLaunchParam) ProtoReflect() protoreflect.Message {
+ mi := &file_FireworksLaunchParam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FireworksLaunchParam.ProtoReflect.Descriptor instead.
+func (*FireworksLaunchParam) Descriptor() ([]byte, []int) {
+ return file_FireworksLaunchParam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FireworksLaunchParam) GetValue() int32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+func (x *FireworksLaunchParam) GetType() FireworksLaunchParamType {
+ if x != nil {
+ return x.Type
+ }
+ return FireworksLaunchParamType_FIREWORKS_LAUNCH_PARAM_TYPE_NONE
+}
+
+var File_FireworksLaunchParam_proto protoreflect.FileDescriptor
+
+var file_FireworksLaunchParam_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63,
+ 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61,
+ 0x75, 0x6e, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x14, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73,
+ 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b,
+ 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FireworksLaunchParam_proto_rawDescOnce sync.Once
+ file_FireworksLaunchParam_proto_rawDescData = file_FireworksLaunchParam_proto_rawDesc
+)
+
+func file_FireworksLaunchParam_proto_rawDescGZIP() []byte {
+ file_FireworksLaunchParam_proto_rawDescOnce.Do(func() {
+ file_FireworksLaunchParam_proto_rawDescData = protoimpl.X.CompressGZIP(file_FireworksLaunchParam_proto_rawDescData)
+ })
+ return file_FireworksLaunchParam_proto_rawDescData
+}
+
+var file_FireworksLaunchParam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FireworksLaunchParam_proto_goTypes = []interface{}{
+ (*FireworksLaunchParam)(nil), // 0: proto.FireworksLaunchParam
+ (FireworksLaunchParamType)(0), // 1: proto.FireworksLaunchParamType
+}
+var file_FireworksLaunchParam_proto_depIdxs = []int32{
+ 1, // 0: proto.FireworksLaunchParam.type:type_name -> proto.FireworksLaunchParamType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FireworksLaunchParam_proto_init() }
+func file_FireworksLaunchParam_proto_init() {
+ if File_FireworksLaunchParam_proto != nil {
+ return
+ }
+ file_FireworksLaunchParamType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FireworksLaunchParam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FireworksLaunchParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FireworksLaunchParam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FireworksLaunchParam_proto_goTypes,
+ DependencyIndexes: file_FireworksLaunchParam_proto_depIdxs,
+ MessageInfos: file_FireworksLaunchParam_proto_msgTypes,
+ }.Build()
+ File_FireworksLaunchParam_proto = out.File
+ file_FireworksLaunchParam_proto_rawDesc = nil
+ file_FireworksLaunchParam_proto_goTypes = nil
+ file_FireworksLaunchParam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FireworksLaunchParamType.pb.go b/protocol/proto/FireworksLaunchParamType.pb.go
new file mode 100644
index 00000000..01317450
--- /dev/null
+++ b/protocol/proto/FireworksLaunchParamType.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FireworksLaunchParamType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FireworksLaunchParamType int32
+
+const (
+ FireworksLaunchParamType_FIREWORKS_LAUNCH_PARAM_TYPE_NONE FireworksLaunchParamType = 0
+ FireworksLaunchParamType_FIREWORKS_LAUNCH_PARAM_TYPE_REPEAT FireworksLaunchParamType = 1
+ FireworksLaunchParamType_FIREWORKS_LAUNCH_PARAM_TYPE_INTEVAL FireworksLaunchParamType = 2
+ FireworksLaunchParamType_FIREWORKS_LAUNCH_PARAM_TYPE_DELAY FireworksLaunchParamType = 3
+ FireworksLaunchParamType_FIREWORKS_LAUNCH_PARAM_TYPE_ROUND_INTEVAL FireworksLaunchParamType = 4
+ FireworksLaunchParamType_FIREWORKS_LAUNCH_PARAM_TYPE_MAX FireworksLaunchParamType = 5
+)
+
+// Enum value maps for FireworksLaunchParamType.
+var (
+ FireworksLaunchParamType_name = map[int32]string{
+ 0: "FIREWORKS_LAUNCH_PARAM_TYPE_NONE",
+ 1: "FIREWORKS_LAUNCH_PARAM_TYPE_REPEAT",
+ 2: "FIREWORKS_LAUNCH_PARAM_TYPE_INTEVAL",
+ 3: "FIREWORKS_LAUNCH_PARAM_TYPE_DELAY",
+ 4: "FIREWORKS_LAUNCH_PARAM_TYPE_ROUND_INTEVAL",
+ 5: "FIREWORKS_LAUNCH_PARAM_TYPE_MAX",
+ }
+ FireworksLaunchParamType_value = map[string]int32{
+ "FIREWORKS_LAUNCH_PARAM_TYPE_NONE": 0,
+ "FIREWORKS_LAUNCH_PARAM_TYPE_REPEAT": 1,
+ "FIREWORKS_LAUNCH_PARAM_TYPE_INTEVAL": 2,
+ "FIREWORKS_LAUNCH_PARAM_TYPE_DELAY": 3,
+ "FIREWORKS_LAUNCH_PARAM_TYPE_ROUND_INTEVAL": 4,
+ "FIREWORKS_LAUNCH_PARAM_TYPE_MAX": 5,
+ }
+)
+
+func (x FireworksLaunchParamType) Enum() *FireworksLaunchParamType {
+ p := new(FireworksLaunchParamType)
+ *p = x
+ return p
+}
+
+func (x FireworksLaunchParamType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FireworksLaunchParamType) Descriptor() protoreflect.EnumDescriptor {
+ return file_FireworksLaunchParamType_proto_enumTypes[0].Descriptor()
+}
+
+func (FireworksLaunchParamType) Type() protoreflect.EnumType {
+ return &file_FireworksLaunchParamType_proto_enumTypes[0]
+}
+
+func (x FireworksLaunchParamType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FireworksLaunchParamType.Descriptor instead.
+func (FireworksLaunchParamType) EnumDescriptor() ([]byte, []int) {
+ return file_FireworksLaunchParamType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FireworksLaunchParamType_proto protoreflect.FileDescriptor
+
+var file_FireworksLaunchParamType_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63,
+ 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x8c, 0x02, 0x0a, 0x18, 0x46, 0x69, 0x72, 0x65,
+ 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b,
+ 0x53, 0x5f, 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x46, 0x49,
+ 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x5f, 0x50,
+ 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54,
+ 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f,
+ 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x56, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x46,
+ 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x5f,
+ 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x41, 0x59,
+ 0x10, 0x03, 0x12, 0x2d, 0x0a, 0x29, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f,
+ 0x4c, 0x41, 0x55, 0x4e, 0x43, 0x48, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x56, 0x41, 0x4c, 0x10,
+ 0x04, 0x12, 0x23, 0x0a, 0x1f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x4c,
+ 0x41, 0x55, 0x4e, 0x43, 0x48, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FireworksLaunchParamType_proto_rawDescOnce sync.Once
+ file_FireworksLaunchParamType_proto_rawDescData = file_FireworksLaunchParamType_proto_rawDesc
+)
+
+func file_FireworksLaunchParamType_proto_rawDescGZIP() []byte {
+ file_FireworksLaunchParamType_proto_rawDescOnce.Do(func() {
+ file_FireworksLaunchParamType_proto_rawDescData = protoimpl.X.CompressGZIP(file_FireworksLaunchParamType_proto_rawDescData)
+ })
+ return file_FireworksLaunchParamType_proto_rawDescData
+}
+
+var file_FireworksLaunchParamType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FireworksLaunchParamType_proto_goTypes = []interface{}{
+ (FireworksLaunchParamType)(0), // 0: proto.FireworksLaunchParamType
+}
+var file_FireworksLaunchParamType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FireworksLaunchParamType_proto_init() }
+func file_FireworksLaunchParamType_proto_init() {
+ if File_FireworksLaunchParamType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FireworksLaunchParamType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FireworksLaunchParamType_proto_goTypes,
+ DependencyIndexes: file_FireworksLaunchParamType_proto_depIdxs,
+ EnumInfos: file_FireworksLaunchParamType_proto_enumTypes,
+ }.Build()
+ File_FireworksLaunchParamType_proto = out.File
+ file_FireworksLaunchParamType_proto_rawDesc = nil
+ file_FireworksLaunchParamType_proto_goTypes = nil
+ file_FireworksLaunchParamType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FireworksLaunchSchemeData.pb.go b/protocol/proto/FireworksLaunchSchemeData.pb.go
new file mode 100644
index 00000000..5786fd87
--- /dev/null
+++ b/protocol/proto/FireworksLaunchSchemeData.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FireworksLaunchSchemeData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FireworksLaunchSchemeData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SchemeId uint32 `protobuf:"varint,3,opt,name=scheme_id,json=schemeId,proto3" json:"scheme_id,omitempty"`
+ FireworksIdList []uint32 `protobuf:"varint,2,rep,packed,name=fireworks_id_list,json=fireworksIdList,proto3" json:"fireworks_id_list,omitempty"`
+ LaunchParamList []*FireworksLaunchParam `protobuf:"bytes,7,rep,name=launch_param_list,json=launchParamList,proto3" json:"launch_param_list,omitempty"`
+}
+
+func (x *FireworksLaunchSchemeData) Reset() {
+ *x = FireworksLaunchSchemeData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FireworksLaunchSchemeData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FireworksLaunchSchemeData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FireworksLaunchSchemeData) ProtoMessage() {}
+
+func (x *FireworksLaunchSchemeData) ProtoReflect() protoreflect.Message {
+ mi := &file_FireworksLaunchSchemeData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FireworksLaunchSchemeData.ProtoReflect.Descriptor instead.
+func (*FireworksLaunchSchemeData) Descriptor() ([]byte, []int) {
+ return file_FireworksLaunchSchemeData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FireworksLaunchSchemeData) GetSchemeId() uint32 {
+ if x != nil {
+ return x.SchemeId
+ }
+ return 0
+}
+
+func (x *FireworksLaunchSchemeData) GetFireworksIdList() []uint32 {
+ if x != nil {
+ return x.FireworksIdList
+ }
+ return nil
+}
+
+func (x *FireworksLaunchSchemeData) GetLaunchParamList() []*FireworksLaunchParam {
+ if x != nil {
+ return x.LaunchParamList
+ }
+ return nil
+}
+
+var File_FireworksLaunchSchemeData_proto protoreflect.FileDescriptor
+
+var file_FireworksLaunchSchemeData_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63,
+ 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f,
+ 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x19, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72,
+ 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x64, 0x12,
+ 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x65,
+ 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x11, 0x6c,
+ 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x52, 0x0f, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FireworksLaunchSchemeData_proto_rawDescOnce sync.Once
+ file_FireworksLaunchSchemeData_proto_rawDescData = file_FireworksLaunchSchemeData_proto_rawDesc
+)
+
+func file_FireworksLaunchSchemeData_proto_rawDescGZIP() []byte {
+ file_FireworksLaunchSchemeData_proto_rawDescOnce.Do(func() {
+ file_FireworksLaunchSchemeData_proto_rawDescData = protoimpl.X.CompressGZIP(file_FireworksLaunchSchemeData_proto_rawDescData)
+ })
+ return file_FireworksLaunchSchemeData_proto_rawDescData
+}
+
+var file_FireworksLaunchSchemeData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FireworksLaunchSchemeData_proto_goTypes = []interface{}{
+ (*FireworksLaunchSchemeData)(nil), // 0: proto.FireworksLaunchSchemeData
+ (*FireworksLaunchParam)(nil), // 1: proto.FireworksLaunchParam
+}
+var file_FireworksLaunchSchemeData_proto_depIdxs = []int32{
+ 1, // 0: proto.FireworksLaunchSchemeData.launch_param_list:type_name -> proto.FireworksLaunchParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FireworksLaunchSchemeData_proto_init() }
+func file_FireworksLaunchSchemeData_proto_init() {
+ if File_FireworksLaunchSchemeData_proto != nil {
+ return
+ }
+ file_FireworksLaunchParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FireworksLaunchSchemeData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FireworksLaunchSchemeData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FireworksLaunchSchemeData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FireworksLaunchSchemeData_proto_goTypes,
+ DependencyIndexes: file_FireworksLaunchSchemeData_proto_depIdxs,
+ MessageInfos: file_FireworksLaunchSchemeData_proto_msgTypes,
+ }.Build()
+ File_FireworksLaunchSchemeData_proto = out.File
+ file_FireworksLaunchSchemeData_proto_rawDesc = nil
+ file_FireworksLaunchSchemeData_proto_goTypes = nil
+ file_FireworksLaunchSchemeData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FireworksReformData.pb.go b/protocol/proto/FireworksReformData.pb.go
new file mode 100644
index 00000000..3f911e05
--- /dev/null
+++ b/protocol/proto/FireworksReformData.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FireworksReformData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FireworksReformData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,13,opt,name=id,proto3" json:"id,omitempty"`
+ ReformParamList []*FireworksReformParam `protobuf:"bytes,10,rep,name=reform_param_list,json=reformParamList,proto3" json:"reform_param_list,omitempty"`
+}
+
+func (x *FireworksReformData) Reset() {
+ *x = FireworksReformData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FireworksReformData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FireworksReformData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FireworksReformData) ProtoMessage() {}
+
+func (x *FireworksReformData) ProtoReflect() protoreflect.Message {
+ mi := &file_FireworksReformData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FireworksReformData.ProtoReflect.Descriptor instead.
+func (*FireworksReformData) Descriptor() ([]byte, []int) {
+ return file_FireworksReformData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FireworksReformData) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *FireworksReformData) GetReformParamList() []*FireworksReformParam {
+ if x != nil {
+ return x.ReformParamList
+ }
+ return nil
+}
+
+var File_FireworksReformData_proto protoreflect.FileDescriptor
+
+var file_FireworksReformData_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1a, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66,
+ 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e,
+ 0x0a, 0x13, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x5f,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72,
+ 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0f, 0x72,
+ 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_FireworksReformData_proto_rawDescOnce sync.Once
+ file_FireworksReformData_proto_rawDescData = file_FireworksReformData_proto_rawDesc
+)
+
+func file_FireworksReformData_proto_rawDescGZIP() []byte {
+ file_FireworksReformData_proto_rawDescOnce.Do(func() {
+ file_FireworksReformData_proto_rawDescData = protoimpl.X.CompressGZIP(file_FireworksReformData_proto_rawDescData)
+ })
+ return file_FireworksReformData_proto_rawDescData
+}
+
+var file_FireworksReformData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FireworksReformData_proto_goTypes = []interface{}{
+ (*FireworksReformData)(nil), // 0: proto.FireworksReformData
+ (*FireworksReformParam)(nil), // 1: proto.FireworksReformParam
+}
+var file_FireworksReformData_proto_depIdxs = []int32{
+ 1, // 0: proto.FireworksReformData.reform_param_list:type_name -> proto.FireworksReformParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FireworksReformData_proto_init() }
+func file_FireworksReformData_proto_init() {
+ if File_FireworksReformData_proto != nil {
+ return
+ }
+ file_FireworksReformParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FireworksReformData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FireworksReformData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FireworksReformData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FireworksReformData_proto_goTypes,
+ DependencyIndexes: file_FireworksReformData_proto_depIdxs,
+ MessageInfos: file_FireworksReformData_proto_msgTypes,
+ }.Build()
+ File_FireworksReformData_proto = out.File
+ file_FireworksReformData_proto_rawDesc = nil
+ file_FireworksReformData_proto_goTypes = nil
+ file_FireworksReformData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FireworksReformDataNotify.pb.go b/protocol/proto/FireworksReformDataNotify.pb.go
new file mode 100644
index 00000000..3b30f721
--- /dev/null
+++ b/protocol/proto/FireworksReformDataNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FireworksReformDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6033
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FireworksReformDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FireworksReformDataList []*FireworksReformData `protobuf:"bytes,6,rep,name=fireworks_reform_data_list,json=fireworksReformDataList,proto3" json:"fireworks_reform_data_list,omitempty"`
+}
+
+func (x *FireworksReformDataNotify) Reset() {
+ *x = FireworksReformDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FireworksReformDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FireworksReformDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FireworksReformDataNotify) ProtoMessage() {}
+
+func (x *FireworksReformDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FireworksReformDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FireworksReformDataNotify.ProtoReflect.Descriptor instead.
+func (*FireworksReformDataNotify) Descriptor() ([]byte, []int) {
+ return file_FireworksReformDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FireworksReformDataNotify) GetFireworksReformDataList() []*FireworksReformData {
+ if x != nil {
+ return x.FireworksReformDataList
+ }
+ return nil
+}
+
+var File_FireworksReformDataNotify_proto protoreflect.FileDescriptor
+
+var file_FireworksReformDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f,
+ 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x19, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73,
+ 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x57, 0x0a, 0x1a, 0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x72, 0x65,
+ 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x17, 0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FireworksReformDataNotify_proto_rawDescOnce sync.Once
+ file_FireworksReformDataNotify_proto_rawDescData = file_FireworksReformDataNotify_proto_rawDesc
+)
+
+func file_FireworksReformDataNotify_proto_rawDescGZIP() []byte {
+ file_FireworksReformDataNotify_proto_rawDescOnce.Do(func() {
+ file_FireworksReformDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FireworksReformDataNotify_proto_rawDescData)
+ })
+ return file_FireworksReformDataNotify_proto_rawDescData
+}
+
+var file_FireworksReformDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FireworksReformDataNotify_proto_goTypes = []interface{}{
+ (*FireworksReformDataNotify)(nil), // 0: proto.FireworksReformDataNotify
+ (*FireworksReformData)(nil), // 1: proto.FireworksReformData
+}
+var file_FireworksReformDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FireworksReformDataNotify.fireworks_reform_data_list:type_name -> proto.FireworksReformData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FireworksReformDataNotify_proto_init() }
+func file_FireworksReformDataNotify_proto_init() {
+ if File_FireworksReformDataNotify_proto != nil {
+ return
+ }
+ file_FireworksReformData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FireworksReformDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FireworksReformDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FireworksReformDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FireworksReformDataNotify_proto_goTypes,
+ DependencyIndexes: file_FireworksReformDataNotify_proto_depIdxs,
+ MessageInfos: file_FireworksReformDataNotify_proto_msgTypes,
+ }.Build()
+ File_FireworksReformDataNotify_proto = out.File
+ file_FireworksReformDataNotify_proto_rawDesc = nil
+ file_FireworksReformDataNotify_proto_goTypes = nil
+ file_FireworksReformDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FireworksReformParam.pb.go b/protocol/proto/FireworksReformParam.pb.go
new file mode 100644
index 00000000..ffd5f2c8
--- /dev/null
+++ b/protocol/proto/FireworksReformParam.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FireworksReformParam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FireworksReformParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type FireworksReformParamType `protobuf:"varint,8,opt,name=type,proto3,enum=proto.FireworksReformParamType" json:"type,omitempty"`
+ Value int32 `protobuf:"varint,4,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *FireworksReformParam) Reset() {
+ *x = FireworksReformParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FireworksReformParam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FireworksReformParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FireworksReformParam) ProtoMessage() {}
+
+func (x *FireworksReformParam) ProtoReflect() protoreflect.Message {
+ mi := &file_FireworksReformParam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FireworksReformParam.ProtoReflect.Descriptor instead.
+func (*FireworksReformParam) Descriptor() ([]byte, []int) {
+ return file_FireworksReformParam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FireworksReformParam) GetType() FireworksReformParamType {
+ if x != nil {
+ return x.Type
+ }
+ return FireworksReformParamType_FIREWORKS_REFORM_PARAM_TYPE_NONE
+}
+
+func (x *FireworksReformParam) GetValue() int32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+var File_FireworksReformParam_proto protoreflect.FileDescriptor
+
+var file_FireworksReformParam_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65,
+ 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x14, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73,
+ 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x33, 0x0a, 0x04, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FireworksReformParam_proto_rawDescOnce sync.Once
+ file_FireworksReformParam_proto_rawDescData = file_FireworksReformParam_proto_rawDesc
+)
+
+func file_FireworksReformParam_proto_rawDescGZIP() []byte {
+ file_FireworksReformParam_proto_rawDescOnce.Do(func() {
+ file_FireworksReformParam_proto_rawDescData = protoimpl.X.CompressGZIP(file_FireworksReformParam_proto_rawDescData)
+ })
+ return file_FireworksReformParam_proto_rawDescData
+}
+
+var file_FireworksReformParam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FireworksReformParam_proto_goTypes = []interface{}{
+ (*FireworksReformParam)(nil), // 0: proto.FireworksReformParam
+ (FireworksReformParamType)(0), // 1: proto.FireworksReformParamType
+}
+var file_FireworksReformParam_proto_depIdxs = []int32{
+ 1, // 0: proto.FireworksReformParam.type:type_name -> proto.FireworksReformParamType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FireworksReformParam_proto_init() }
+func file_FireworksReformParam_proto_init() {
+ if File_FireworksReformParam_proto != nil {
+ return
+ }
+ file_FireworksReformParamType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FireworksReformParam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FireworksReformParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FireworksReformParam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FireworksReformParam_proto_goTypes,
+ DependencyIndexes: file_FireworksReformParam_proto_depIdxs,
+ MessageInfos: file_FireworksReformParam_proto_msgTypes,
+ }.Build()
+ File_FireworksReformParam_proto = out.File
+ file_FireworksReformParam_proto_rawDesc = nil
+ file_FireworksReformParam_proto_goTypes = nil
+ file_FireworksReformParam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FireworksReformParamType.pb.go b/protocol/proto/FireworksReformParamType.pb.go
new file mode 100644
index 00000000..81740833
--- /dev/null
+++ b/protocol/proto/FireworksReformParamType.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FireworksReformParamType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FireworksReformParamType int32
+
+const (
+ FireworksReformParamType_FIREWORKS_REFORM_PARAM_TYPE_NONE FireworksReformParamType = 0
+ FireworksReformParamType_FIREWORKS_REFORM_PARAM_TYPE_COLOR FireworksReformParamType = 1
+ FireworksReformParamType_FIREWORKS_REFORM_PARAM_TYPE_HEIGHT FireworksReformParamType = 2
+ FireworksReformParamType_FIREWORKS_REFORM_PARAM_TYPE_SIZE FireworksReformParamType = 3
+ FireworksReformParamType_FIREWORKS_REFORM_PARAM_TYPE_DENSITY FireworksReformParamType = 4
+ FireworksReformParamType_FIREWORKS_REFORM_PARAM_TYPE_ROTATION FireworksReformParamType = 5
+)
+
+// Enum value maps for FireworksReformParamType.
+var (
+ FireworksReformParamType_name = map[int32]string{
+ 0: "FIREWORKS_REFORM_PARAM_TYPE_NONE",
+ 1: "FIREWORKS_REFORM_PARAM_TYPE_COLOR",
+ 2: "FIREWORKS_REFORM_PARAM_TYPE_HEIGHT",
+ 3: "FIREWORKS_REFORM_PARAM_TYPE_SIZE",
+ 4: "FIREWORKS_REFORM_PARAM_TYPE_DENSITY",
+ 5: "FIREWORKS_REFORM_PARAM_TYPE_ROTATION",
+ }
+ FireworksReformParamType_value = map[string]int32{
+ "FIREWORKS_REFORM_PARAM_TYPE_NONE": 0,
+ "FIREWORKS_REFORM_PARAM_TYPE_COLOR": 1,
+ "FIREWORKS_REFORM_PARAM_TYPE_HEIGHT": 2,
+ "FIREWORKS_REFORM_PARAM_TYPE_SIZE": 3,
+ "FIREWORKS_REFORM_PARAM_TYPE_DENSITY": 4,
+ "FIREWORKS_REFORM_PARAM_TYPE_ROTATION": 5,
+ }
+)
+
+func (x FireworksReformParamType) Enum() *FireworksReformParamType {
+ p := new(FireworksReformParamType)
+ *p = x
+ return p
+}
+
+func (x FireworksReformParamType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FireworksReformParamType) Descriptor() protoreflect.EnumDescriptor {
+ return file_FireworksReformParamType_proto_enumTypes[0].Descriptor()
+}
+
+func (FireworksReformParamType) Type() protoreflect.EnumType {
+ return &file_FireworksReformParamType_proto_enumTypes[0]
+}
+
+func (x FireworksReformParamType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FireworksReformParamType.Descriptor instead.
+func (FireworksReformParamType) EnumDescriptor() ([]byte, []int) {
+ return file_FireworksReformParamType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FireworksReformParamType_proto protoreflect.FileDescriptor
+
+var file_FireworksReformParamType_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x88, 0x02, 0x0a, 0x18, 0x46, 0x69, 0x72, 0x65,
+ 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b,
+ 0x53, 0x5f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x46, 0x49,
+ 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50,
+ 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x10,
+ 0x01, 0x12, 0x26, 0x0a, 0x22, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x52,
+ 0x45, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x48, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x46, 0x49, 0x52,
+ 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41,
+ 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x03, 0x12,
+ 0x27, 0x0a, 0x23, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x52, 0x45, 0x46,
+ 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44,
+ 0x45, 0x4e, 0x53, 0x49, 0x54, 0x59, 0x10, 0x04, 0x12, 0x28, 0x0a, 0x24, 0x46, 0x49, 0x52, 0x45,
+ 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52,
+ 0x41, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FireworksReformParamType_proto_rawDescOnce sync.Once
+ file_FireworksReformParamType_proto_rawDescData = file_FireworksReformParamType_proto_rawDesc
+)
+
+func file_FireworksReformParamType_proto_rawDescGZIP() []byte {
+ file_FireworksReformParamType_proto_rawDescOnce.Do(func() {
+ file_FireworksReformParamType_proto_rawDescData = protoimpl.X.CompressGZIP(file_FireworksReformParamType_proto_rawDescData)
+ })
+ return file_FireworksReformParamType_proto_rawDescData
+}
+
+var file_FireworksReformParamType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FireworksReformParamType_proto_goTypes = []interface{}{
+ (FireworksReformParamType)(0), // 0: proto.FireworksReformParamType
+}
+var file_FireworksReformParamType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FireworksReformParamType_proto_init() }
+func file_FireworksReformParamType_proto_init() {
+ if File_FireworksReformParamType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FireworksReformParamType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FireworksReformParamType_proto_goTypes,
+ DependencyIndexes: file_FireworksReformParamType_proto_depIdxs,
+ EnumInfos: file_FireworksReformParamType_proto_enumTypes,
+ }.Build()
+ File_FireworksReformParamType_proto = out.File
+ file_FireworksReformParamType_proto_rawDesc = nil
+ file_FireworksReformParamType_proto_goTypes = nil
+ file_FireworksReformParamType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishAttractNotify.pb.go b/protocol/proto/FishAttractNotify.pb.go
new file mode 100644
index 00000000..82e0bff0
--- /dev/null
+++ b/protocol/proto/FishAttractNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishAttractNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5837
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishAttractNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishIdList []uint32 `protobuf:"varint,3,rep,packed,name=fish_id_list,json=fishIdList,proto3" json:"fish_id_list,omitempty"`
+ Pos *Vector `protobuf:"bytes,9,opt,name=pos,proto3" json:"pos,omitempty"`
+ Uid uint32 `protobuf:"varint,2,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *FishAttractNotify) Reset() {
+ *x = FishAttractNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishAttractNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishAttractNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishAttractNotify) ProtoMessage() {}
+
+func (x *FishAttractNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FishAttractNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishAttractNotify.ProtoReflect.Descriptor instead.
+func (*FishAttractNotify) Descriptor() ([]byte, []int) {
+ return file_FishAttractNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishAttractNotify) GetFishIdList() []uint32 {
+ if x != nil {
+ return x.FishIdList
+ }
+ return nil
+}
+
+func (x *FishAttractNotify) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *FishAttractNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_FishAttractNotify_proto protoreflect.FileDescriptor
+
+var file_FishAttractNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x46, 0x69, 0x73, 0x68, 0x41, 0x74, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68,
+ 0x0a, 0x11, 0x46, 0x69, 0x73, 0x68, 0x41, 0x74, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x73, 0x68, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishAttractNotify_proto_rawDescOnce sync.Once
+ file_FishAttractNotify_proto_rawDescData = file_FishAttractNotify_proto_rawDesc
+)
+
+func file_FishAttractNotify_proto_rawDescGZIP() []byte {
+ file_FishAttractNotify_proto_rawDescOnce.Do(func() {
+ file_FishAttractNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishAttractNotify_proto_rawDescData)
+ })
+ return file_FishAttractNotify_proto_rawDescData
+}
+
+var file_FishAttractNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishAttractNotify_proto_goTypes = []interface{}{
+ (*FishAttractNotify)(nil), // 0: proto.FishAttractNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_FishAttractNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FishAttractNotify.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FishAttractNotify_proto_init() }
+func file_FishAttractNotify_proto_init() {
+ if File_FishAttractNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FishAttractNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishAttractNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishAttractNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishAttractNotify_proto_goTypes,
+ DependencyIndexes: file_FishAttractNotify_proto_depIdxs,
+ MessageInfos: file_FishAttractNotify_proto_msgTypes,
+ }.Build()
+ File_FishAttractNotify_proto = out.File
+ file_FishAttractNotify_proto_rawDesc = nil
+ file_FishAttractNotify_proto_goTypes = nil
+ file_FishAttractNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishBaitGoneNotify.pb.go b/protocol/proto/FishBaitGoneNotify.pb.go
new file mode 100644
index 00000000..d3abd54c
--- /dev/null
+++ b/protocol/proto/FishBaitGoneNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishBaitGoneNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5823
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishBaitGoneNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,8,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *FishBaitGoneNotify) Reset() {
+ *x = FishBaitGoneNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishBaitGoneNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishBaitGoneNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishBaitGoneNotify) ProtoMessage() {}
+
+func (x *FishBaitGoneNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FishBaitGoneNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishBaitGoneNotify.ProtoReflect.Descriptor instead.
+func (*FishBaitGoneNotify) Descriptor() ([]byte, []int) {
+ return file_FishBaitGoneNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishBaitGoneNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_FishBaitGoneNotify_proto protoreflect.FileDescriptor
+
+var file_FishBaitGoneNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x69, 0x74, 0x47, 0x6f, 0x6e, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x26, 0x0a, 0x12, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x69, 0x74, 0x47, 0x6f, 0x6e,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishBaitGoneNotify_proto_rawDescOnce sync.Once
+ file_FishBaitGoneNotify_proto_rawDescData = file_FishBaitGoneNotify_proto_rawDesc
+)
+
+func file_FishBaitGoneNotify_proto_rawDescGZIP() []byte {
+ file_FishBaitGoneNotify_proto_rawDescOnce.Do(func() {
+ file_FishBaitGoneNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishBaitGoneNotify_proto_rawDescData)
+ })
+ return file_FishBaitGoneNotify_proto_rawDescData
+}
+
+var file_FishBaitGoneNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishBaitGoneNotify_proto_goTypes = []interface{}{
+ (*FishBaitGoneNotify)(nil), // 0: proto.FishBaitGoneNotify
+}
+var file_FishBaitGoneNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishBaitGoneNotify_proto_init() }
+func file_FishBaitGoneNotify_proto_init() {
+ if File_FishBaitGoneNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishBaitGoneNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishBaitGoneNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishBaitGoneNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishBaitGoneNotify_proto_goTypes,
+ DependencyIndexes: file_FishBaitGoneNotify_proto_depIdxs,
+ MessageInfos: file_FishBaitGoneNotify_proto_msgTypes,
+ }.Build()
+ File_FishBaitGoneNotify_proto = out.File
+ file_FishBaitGoneNotify_proto_rawDesc = nil
+ file_FishBaitGoneNotify_proto_goTypes = nil
+ file_FishBaitGoneNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishBattleBeginReq.pb.go b/protocol/proto/FishBattleBeginReq.pb.go
new file mode 100644
index 00000000..a812cd26
--- /dev/null
+++ b/protocol/proto/FishBattleBeginReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishBattleBeginReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5820
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FishBattleBeginReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FishBattleBeginReq) Reset() {
+ *x = FishBattleBeginReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishBattleBeginReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishBattleBeginReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishBattleBeginReq) ProtoMessage() {}
+
+func (x *FishBattleBeginReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FishBattleBeginReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishBattleBeginReq.ProtoReflect.Descriptor instead.
+func (*FishBattleBeginReq) Descriptor() ([]byte, []int) {
+ return file_FishBattleBeginReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FishBattleBeginReq_proto protoreflect.FileDescriptor
+
+var file_FishBattleBeginReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x42, 0x65, 0x67, 0x69,
+ 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x42,
+ 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishBattleBeginReq_proto_rawDescOnce sync.Once
+ file_FishBattleBeginReq_proto_rawDescData = file_FishBattleBeginReq_proto_rawDesc
+)
+
+func file_FishBattleBeginReq_proto_rawDescGZIP() []byte {
+ file_FishBattleBeginReq_proto_rawDescOnce.Do(func() {
+ file_FishBattleBeginReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishBattleBeginReq_proto_rawDescData)
+ })
+ return file_FishBattleBeginReq_proto_rawDescData
+}
+
+var file_FishBattleBeginReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishBattleBeginReq_proto_goTypes = []interface{}{
+ (*FishBattleBeginReq)(nil), // 0: proto.FishBattleBeginReq
+}
+var file_FishBattleBeginReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishBattleBeginReq_proto_init() }
+func file_FishBattleBeginReq_proto_init() {
+ if File_FishBattleBeginReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishBattleBeginReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishBattleBeginReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishBattleBeginReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishBattleBeginReq_proto_goTypes,
+ DependencyIndexes: file_FishBattleBeginReq_proto_depIdxs,
+ MessageInfos: file_FishBattleBeginReq_proto_msgTypes,
+ }.Build()
+ File_FishBattleBeginReq_proto = out.File
+ file_FishBattleBeginReq_proto_rawDesc = nil
+ file_FishBattleBeginReq_proto_goTypes = nil
+ file_FishBattleBeginReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishBattleBeginRsp.pb.go b/protocol/proto/FishBattleBeginRsp.pb.go
new file mode 100644
index 00000000..29fa88ef
--- /dev/null
+++ b/protocol/proto/FishBattleBeginRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishBattleBeginRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5845
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishBattleBeginRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FishBattleBeginRsp) Reset() {
+ *x = FishBattleBeginRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishBattleBeginRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishBattleBeginRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishBattleBeginRsp) ProtoMessage() {}
+
+func (x *FishBattleBeginRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FishBattleBeginRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishBattleBeginRsp.ProtoReflect.Descriptor instead.
+func (*FishBattleBeginRsp) Descriptor() ([]byte, []int) {
+ return file_FishBattleBeginRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishBattleBeginRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FishBattleBeginRsp_proto protoreflect.FileDescriptor
+
+var file_FishBattleBeginRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x42, 0x65, 0x67, 0x69,
+ 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2e, 0x0a, 0x12, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x42,
+ 0x65, 0x67, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishBattleBeginRsp_proto_rawDescOnce sync.Once
+ file_FishBattleBeginRsp_proto_rawDescData = file_FishBattleBeginRsp_proto_rawDesc
+)
+
+func file_FishBattleBeginRsp_proto_rawDescGZIP() []byte {
+ file_FishBattleBeginRsp_proto_rawDescOnce.Do(func() {
+ file_FishBattleBeginRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishBattleBeginRsp_proto_rawDescData)
+ })
+ return file_FishBattleBeginRsp_proto_rawDescData
+}
+
+var file_FishBattleBeginRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishBattleBeginRsp_proto_goTypes = []interface{}{
+ (*FishBattleBeginRsp)(nil), // 0: proto.FishBattleBeginRsp
+}
+var file_FishBattleBeginRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishBattleBeginRsp_proto_init() }
+func file_FishBattleBeginRsp_proto_init() {
+ if File_FishBattleBeginRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishBattleBeginRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishBattleBeginRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishBattleBeginRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishBattleBeginRsp_proto_goTypes,
+ DependencyIndexes: file_FishBattleBeginRsp_proto_depIdxs,
+ MessageInfos: file_FishBattleBeginRsp_proto_msgTypes,
+ }.Build()
+ File_FishBattleBeginRsp_proto = out.File
+ file_FishBattleBeginRsp_proto_rawDesc = nil
+ file_FishBattleBeginRsp_proto_goTypes = nil
+ file_FishBattleBeginRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishBattleEndReq.pb.go b/protocol/proto/FishBattleEndReq.pb.go
new file mode 100644
index 00000000..492bf514
--- /dev/null
+++ b/protocol/proto/FishBattleEndReq.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishBattleEndReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5841
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FishBattleEndReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaxBonusTime uint32 `protobuf:"varint,3,opt,name=max_bonus_time,json=maxBonusTime,proto3" json:"max_bonus_time,omitempty"`
+ BattleResult FishBattleResult `protobuf:"varint,10,opt,name=battle_result,json=battleResult,proto3,enum=proto.FishBattleResult" json:"battle_result,omitempty"`
+ IsAlwaysBonus bool `protobuf:"varint,11,opt,name=is_always_bonus,json=isAlwaysBonus,proto3" json:"is_always_bonus,omitempty"`
+}
+
+func (x *FishBattleEndReq) Reset() {
+ *x = FishBattleEndReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishBattleEndReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishBattleEndReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishBattleEndReq) ProtoMessage() {}
+
+func (x *FishBattleEndReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FishBattleEndReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishBattleEndReq.ProtoReflect.Descriptor instead.
+func (*FishBattleEndReq) Descriptor() ([]byte, []int) {
+ return file_FishBattleEndReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishBattleEndReq) GetMaxBonusTime() uint32 {
+ if x != nil {
+ return x.MaxBonusTime
+ }
+ return 0
+}
+
+func (x *FishBattleEndReq) GetBattleResult() FishBattleResult {
+ if x != nil {
+ return x.BattleResult
+ }
+ return FishBattleResult_FISH_BATTLE_RESULT_NONE
+}
+
+func (x *FishBattleEndReq) GetIsAlwaysBonus() bool {
+ if x != nil {
+ return x.IsAlwaysBonus
+ }
+ return false
+}
+
+var File_FishBattleEndReq_proto protoreflect.FileDescriptor
+
+var file_FishBattleEndReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x46, 0x69, 0x73, 0x68,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e,
+ 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x62, 0x6f,
+ 0x6e, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x41, 0x6c, 0x77,
+ 0x61, 0x79, 0x73, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishBattleEndReq_proto_rawDescOnce sync.Once
+ file_FishBattleEndReq_proto_rawDescData = file_FishBattleEndReq_proto_rawDesc
+)
+
+func file_FishBattleEndReq_proto_rawDescGZIP() []byte {
+ file_FishBattleEndReq_proto_rawDescOnce.Do(func() {
+ file_FishBattleEndReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishBattleEndReq_proto_rawDescData)
+ })
+ return file_FishBattleEndReq_proto_rawDescData
+}
+
+var file_FishBattleEndReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishBattleEndReq_proto_goTypes = []interface{}{
+ (*FishBattleEndReq)(nil), // 0: proto.FishBattleEndReq
+ (FishBattleResult)(0), // 1: proto.FishBattleResult
+}
+var file_FishBattleEndReq_proto_depIdxs = []int32{
+ 1, // 0: proto.FishBattleEndReq.battle_result:type_name -> proto.FishBattleResult
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FishBattleEndReq_proto_init() }
+func file_FishBattleEndReq_proto_init() {
+ if File_FishBattleEndReq_proto != nil {
+ return
+ }
+ file_FishBattleResult_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FishBattleEndReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishBattleEndReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishBattleEndReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishBattleEndReq_proto_goTypes,
+ DependencyIndexes: file_FishBattleEndReq_proto_depIdxs,
+ MessageInfos: file_FishBattleEndReq_proto_msgTypes,
+ }.Build()
+ File_FishBattleEndReq_proto = out.File
+ file_FishBattleEndReq_proto_rawDesc = nil
+ file_FishBattleEndReq_proto_goTypes = nil
+ file_FishBattleEndReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishBattleEndRsp.pb.go b/protocol/proto/FishBattleEndRsp.pb.go
new file mode 100644
index 00000000..fd13d8d7
--- /dev/null
+++ b/protocol/proto/FishBattleEndRsp.pb.go
@@ -0,0 +1,309 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishBattleEndRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FishBattleEndRsp_FishNoRewardReason int32
+
+const (
+ FishBattleEndRsp_FISH_NO_REWARD_REASON_NONE FishBattleEndRsp_FishNoRewardReason = 0
+ FishBattleEndRsp_FISH_NO_REWARD_REASON_ACTIVITY_LIMIT FishBattleEndRsp_FishNoRewardReason = 1
+ FishBattleEndRsp_FISH_NO_REWARD_REASON_BAG_LIMIT FishBattleEndRsp_FishNoRewardReason = 2
+ FishBattleEndRsp_FISH_NO_REWARD_REASON_POOL_LIMIT FishBattleEndRsp_FishNoRewardReason = 3
+)
+
+// Enum value maps for FishBattleEndRsp_FishNoRewardReason.
+var (
+ FishBattleEndRsp_FishNoRewardReason_name = map[int32]string{
+ 0: "FISH_NO_REWARD_REASON_NONE",
+ 1: "FISH_NO_REWARD_REASON_ACTIVITY_LIMIT",
+ 2: "FISH_NO_REWARD_REASON_BAG_LIMIT",
+ 3: "FISH_NO_REWARD_REASON_POOL_LIMIT",
+ }
+ FishBattleEndRsp_FishNoRewardReason_value = map[string]int32{
+ "FISH_NO_REWARD_REASON_NONE": 0,
+ "FISH_NO_REWARD_REASON_ACTIVITY_LIMIT": 1,
+ "FISH_NO_REWARD_REASON_BAG_LIMIT": 2,
+ "FISH_NO_REWARD_REASON_POOL_LIMIT": 3,
+ }
+)
+
+func (x FishBattleEndRsp_FishNoRewardReason) Enum() *FishBattleEndRsp_FishNoRewardReason {
+ p := new(FishBattleEndRsp_FishNoRewardReason)
+ *p = x
+ return p
+}
+
+func (x FishBattleEndRsp_FishNoRewardReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FishBattleEndRsp_FishNoRewardReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_FishBattleEndRsp_proto_enumTypes[0].Descriptor()
+}
+
+func (FishBattleEndRsp_FishNoRewardReason) Type() protoreflect.EnumType {
+ return &file_FishBattleEndRsp_proto_enumTypes[0]
+}
+
+func (x FishBattleEndRsp_FishNoRewardReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FishBattleEndRsp_FishNoRewardReason.Descriptor instead.
+func (FishBattleEndRsp_FishNoRewardReason) EnumDescriptor() ([]byte, []int) {
+ return file_FishBattleEndRsp_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 5842
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishBattleEndRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsGotReward bool `protobuf:"varint,10,opt,name=is_got_reward,json=isGotReward,proto3" json:"is_got_reward,omitempty"`
+ RewardItemList []*ItemParam `protobuf:"bytes,11,rep,name=reward_item_list,json=rewardItemList,proto3" json:"reward_item_list,omitempty"`
+ TalentItemList []*ItemParam `protobuf:"bytes,13,rep,name=talent_item_list,json=talentItemList,proto3" json:"talent_item_list,omitempty"`
+ DropItemList []*ItemParam `protobuf:"bytes,9,rep,name=drop_item_list,json=dropItemList,proto3" json:"drop_item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ NoRewardReason FishBattleEndRsp_FishNoRewardReason `protobuf:"varint,14,opt,name=no_reward_reason,json=noRewardReason,proto3,enum=proto.FishBattleEndRsp_FishNoRewardReason" json:"no_reward_reason,omitempty"`
+ BattleResult FishBattleResult `protobuf:"varint,6,opt,name=battle_result,json=battleResult,proto3,enum=proto.FishBattleResult" json:"battle_result,omitempty"`
+}
+
+func (x *FishBattleEndRsp) Reset() {
+ *x = FishBattleEndRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishBattleEndRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishBattleEndRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishBattleEndRsp) ProtoMessage() {}
+
+func (x *FishBattleEndRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FishBattleEndRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishBattleEndRsp.ProtoReflect.Descriptor instead.
+func (*FishBattleEndRsp) Descriptor() ([]byte, []int) {
+ return file_FishBattleEndRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishBattleEndRsp) GetIsGotReward() bool {
+ if x != nil {
+ return x.IsGotReward
+ }
+ return false
+}
+
+func (x *FishBattleEndRsp) GetRewardItemList() []*ItemParam {
+ if x != nil {
+ return x.RewardItemList
+ }
+ return nil
+}
+
+func (x *FishBattleEndRsp) GetTalentItemList() []*ItemParam {
+ if x != nil {
+ return x.TalentItemList
+ }
+ return nil
+}
+
+func (x *FishBattleEndRsp) GetDropItemList() []*ItemParam {
+ if x != nil {
+ return x.DropItemList
+ }
+ return nil
+}
+
+func (x *FishBattleEndRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FishBattleEndRsp) GetNoRewardReason() FishBattleEndRsp_FishNoRewardReason {
+ if x != nil {
+ return x.NoRewardReason
+ }
+ return FishBattleEndRsp_FISH_NO_REWARD_REASON_NONE
+}
+
+func (x *FishBattleEndRsp) GetBattleResult() FishBattleResult {
+ if x != nil {
+ return x.BattleResult
+ }
+ return FishBattleResult_FISH_BATTLE_RESULT_NONE
+}
+
+var File_FishBattleEndRsp_proto protoreflect.FileDescriptor
+
+var file_FishBattleEndRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x04, 0x0a, 0x10, 0x46, 0x69, 0x73,
+ 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x73, 0x70, 0x12, 0x22, 0x0a,
+ 0x0d, 0x69, 0x73, 0x5f, 0x67, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x47, 0x6f, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x12, 0x3a, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a,
+ 0x10, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e,
+ 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0e, 0x64, 0x72, 0x6f,
+ 0x70, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x64, 0x72, 0x6f, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x6e,
+ 0x6f, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69,
+ 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x46,
+ 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x52, 0x0e, 0x6e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x12, 0x3c, 0x0a, 0x0d, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22,
+ 0xa9, 0x01, 0x0a, 0x12, 0x46, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x4e,
+ 0x4f, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x4e,
+ 0x4f, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x01,
+ 0x12, 0x23, 0x0a, 0x1f, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x57, 0x41,
+ 0x52, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x41, 0x47, 0x5f, 0x4c, 0x49,
+ 0x4d, 0x49, 0x54, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x4e, 0x4f,
+ 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50,
+ 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishBattleEndRsp_proto_rawDescOnce sync.Once
+ file_FishBattleEndRsp_proto_rawDescData = file_FishBattleEndRsp_proto_rawDesc
+)
+
+func file_FishBattleEndRsp_proto_rawDescGZIP() []byte {
+ file_FishBattleEndRsp_proto_rawDescOnce.Do(func() {
+ file_FishBattleEndRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishBattleEndRsp_proto_rawDescData)
+ })
+ return file_FishBattleEndRsp_proto_rawDescData
+}
+
+var file_FishBattleEndRsp_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FishBattleEndRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishBattleEndRsp_proto_goTypes = []interface{}{
+ (FishBattleEndRsp_FishNoRewardReason)(0), // 0: proto.FishBattleEndRsp.FishNoRewardReason
+ (*FishBattleEndRsp)(nil), // 1: proto.FishBattleEndRsp
+ (*ItemParam)(nil), // 2: proto.ItemParam
+ (FishBattleResult)(0), // 3: proto.FishBattleResult
+}
+var file_FishBattleEndRsp_proto_depIdxs = []int32{
+ 2, // 0: proto.FishBattleEndRsp.reward_item_list:type_name -> proto.ItemParam
+ 2, // 1: proto.FishBattleEndRsp.talent_item_list:type_name -> proto.ItemParam
+ 2, // 2: proto.FishBattleEndRsp.drop_item_list:type_name -> proto.ItemParam
+ 0, // 3: proto.FishBattleEndRsp.no_reward_reason:type_name -> proto.FishBattleEndRsp.FishNoRewardReason
+ 3, // 4: proto.FishBattleEndRsp.battle_result:type_name -> proto.FishBattleResult
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_FishBattleEndRsp_proto_init() }
+func file_FishBattleEndRsp_proto_init() {
+ if File_FishBattleEndRsp_proto != nil {
+ return
+ }
+ file_FishBattleResult_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FishBattleEndRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishBattleEndRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishBattleEndRsp_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishBattleEndRsp_proto_goTypes,
+ DependencyIndexes: file_FishBattleEndRsp_proto_depIdxs,
+ EnumInfos: file_FishBattleEndRsp_proto_enumTypes,
+ MessageInfos: file_FishBattleEndRsp_proto_msgTypes,
+ }.Build()
+ File_FishBattleEndRsp_proto = out.File
+ file_FishBattleEndRsp_proto_rawDesc = nil
+ file_FishBattleEndRsp_proto_goTypes = nil
+ file_FishBattleEndRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishBattleResult.pb.go b/protocol/proto/FishBattleResult.pb.go
new file mode 100644
index 00000000..4b841333
--- /dev/null
+++ b/protocol/proto/FishBattleResult.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishBattleResult.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FishBattleResult int32
+
+const (
+ FishBattleResult_FISH_BATTLE_RESULT_NONE FishBattleResult = 0
+ FishBattleResult_FISH_BATTLE_RESULT_SUCC FishBattleResult = 1
+ FishBattleResult_FISH_BATTLE_RESULT_FAIL FishBattleResult = 2
+ FishBattleResult_FISH_BATTLE_RESULT_TIMEOUT FishBattleResult = 3
+ FishBattleResult_FISH_BATTLE_RESULT_CANCEL FishBattleResult = 4
+ FishBattleResult_FISH_BATTLE_RESULT_EXIT FishBattleResult = 5
+)
+
+// Enum value maps for FishBattleResult.
+var (
+ FishBattleResult_name = map[int32]string{
+ 0: "FISH_BATTLE_RESULT_NONE",
+ 1: "FISH_BATTLE_RESULT_SUCC",
+ 2: "FISH_BATTLE_RESULT_FAIL",
+ 3: "FISH_BATTLE_RESULT_TIMEOUT",
+ 4: "FISH_BATTLE_RESULT_CANCEL",
+ 5: "FISH_BATTLE_RESULT_EXIT",
+ }
+ FishBattleResult_value = map[string]int32{
+ "FISH_BATTLE_RESULT_NONE": 0,
+ "FISH_BATTLE_RESULT_SUCC": 1,
+ "FISH_BATTLE_RESULT_FAIL": 2,
+ "FISH_BATTLE_RESULT_TIMEOUT": 3,
+ "FISH_BATTLE_RESULT_CANCEL": 4,
+ "FISH_BATTLE_RESULT_EXIT": 5,
+ }
+)
+
+func (x FishBattleResult) Enum() *FishBattleResult {
+ p := new(FishBattleResult)
+ *p = x
+ return p
+}
+
+func (x FishBattleResult) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FishBattleResult) Descriptor() protoreflect.EnumDescriptor {
+ return file_FishBattleResult_proto_enumTypes[0].Descriptor()
+}
+
+func (FishBattleResult) Type() protoreflect.EnumType {
+ return &file_FishBattleResult_proto_enumTypes[0]
+}
+
+func (x FishBattleResult) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FishBattleResult.Descriptor instead.
+func (FishBattleResult) EnumDescriptor() ([]byte, []int) {
+ return file_FishBattleResult_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FishBattleResult_proto protoreflect.FileDescriptor
+
+var file_FishBattleResult_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0xc5, 0x01, 0x0a, 0x10, 0x46, 0x69, 0x73, 0x68, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x42, 0x41, 0x54,
+ 0x54, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45,
+ 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x10, 0x01, 0x12, 0x1b,
+ 0x0a, 0x17, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x52, 0x45,
+ 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x46,
+ 0x49, 0x53, 0x48, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c,
+ 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x46,
+ 0x49, 0x53, 0x48, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c,
+ 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x49,
+ 0x53, 0x48, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54,
+ 0x5f, 0x45, 0x58, 0x49, 0x54, 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishBattleResult_proto_rawDescOnce sync.Once
+ file_FishBattleResult_proto_rawDescData = file_FishBattleResult_proto_rawDesc
+)
+
+func file_FishBattleResult_proto_rawDescGZIP() []byte {
+ file_FishBattleResult_proto_rawDescOnce.Do(func() {
+ file_FishBattleResult_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishBattleResult_proto_rawDescData)
+ })
+ return file_FishBattleResult_proto_rawDescData
+}
+
+var file_FishBattleResult_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FishBattleResult_proto_goTypes = []interface{}{
+ (FishBattleResult)(0), // 0: proto.FishBattleResult
+}
+var file_FishBattleResult_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishBattleResult_proto_init() }
+func file_FishBattleResult_proto_init() {
+ if File_FishBattleResult_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishBattleResult_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishBattleResult_proto_goTypes,
+ DependencyIndexes: file_FishBattleResult_proto_depIdxs,
+ EnumInfos: file_FishBattleResult_proto_enumTypes,
+ }.Build()
+ File_FishBattleResult_proto = out.File
+ file_FishBattleResult_proto_rawDesc = nil
+ file_FishBattleResult_proto_goTypes = nil
+ file_FishBattleResult_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishBiteReq.pb.go b/protocol/proto/FishBiteReq.pb.go
new file mode 100644
index 00000000..fe7d7686
--- /dev/null
+++ b/protocol/proto/FishBiteReq.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishBiteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5844
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FishBiteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FishBiteReq) Reset() {
+ *x = FishBiteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishBiteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishBiteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishBiteReq) ProtoMessage() {}
+
+func (x *FishBiteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FishBiteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishBiteReq.ProtoReflect.Descriptor instead.
+func (*FishBiteReq) Descriptor() ([]byte, []int) {
+ return file_FishBiteReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FishBiteReq_proto protoreflect.FileDescriptor
+
+var file_FishBiteReq_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x46, 0x69, 0x73, 0x68, 0x42, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0d, 0x0a, 0x0b, 0x46, 0x69,
+ 0x73, 0x68, 0x42, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishBiteReq_proto_rawDescOnce sync.Once
+ file_FishBiteReq_proto_rawDescData = file_FishBiteReq_proto_rawDesc
+)
+
+func file_FishBiteReq_proto_rawDescGZIP() []byte {
+ file_FishBiteReq_proto_rawDescOnce.Do(func() {
+ file_FishBiteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishBiteReq_proto_rawDescData)
+ })
+ return file_FishBiteReq_proto_rawDescData
+}
+
+var file_FishBiteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishBiteReq_proto_goTypes = []interface{}{
+ (*FishBiteReq)(nil), // 0: proto.FishBiteReq
+}
+var file_FishBiteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishBiteReq_proto_init() }
+func file_FishBiteReq_proto_init() {
+ if File_FishBiteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishBiteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishBiteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishBiteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishBiteReq_proto_goTypes,
+ DependencyIndexes: file_FishBiteReq_proto_depIdxs,
+ MessageInfos: file_FishBiteReq_proto_msgTypes,
+ }.Build()
+ File_FishBiteReq_proto = out.File
+ file_FishBiteReq_proto_rawDesc = nil
+ file_FishBiteReq_proto_goTypes = nil
+ file_FishBiteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishBiteRsp.pb.go b/protocol/proto/FishBiteRsp.pb.go
new file mode 100644
index 00000000..0a4d5e38
--- /dev/null
+++ b/protocol/proto/FishBiteRsp.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishBiteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5849
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishBiteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FishBiteRsp) Reset() {
+ *x = FishBiteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishBiteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishBiteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishBiteRsp) ProtoMessage() {}
+
+func (x *FishBiteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FishBiteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishBiteRsp.ProtoReflect.Descriptor instead.
+func (*FishBiteRsp) Descriptor() ([]byte, []int) {
+ return file_FishBiteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishBiteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FishBiteRsp_proto protoreflect.FileDescriptor
+
+var file_FishBiteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x46, 0x69, 0x73, 0x68, 0x42, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x0b, 0x46, 0x69,
+ 0x73, 0x68, 0x42, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishBiteRsp_proto_rawDescOnce sync.Once
+ file_FishBiteRsp_proto_rawDescData = file_FishBiteRsp_proto_rawDesc
+)
+
+func file_FishBiteRsp_proto_rawDescGZIP() []byte {
+ file_FishBiteRsp_proto_rawDescOnce.Do(func() {
+ file_FishBiteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishBiteRsp_proto_rawDescData)
+ })
+ return file_FishBiteRsp_proto_rawDescData
+}
+
+var file_FishBiteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishBiteRsp_proto_goTypes = []interface{}{
+ (*FishBiteRsp)(nil), // 0: proto.FishBiteRsp
+}
+var file_FishBiteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishBiteRsp_proto_init() }
+func file_FishBiteRsp_proto_init() {
+ if File_FishBiteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishBiteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishBiteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishBiteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishBiteRsp_proto_goTypes,
+ DependencyIndexes: file_FishBiteRsp_proto_depIdxs,
+ MessageInfos: file_FishBiteRsp_proto_msgTypes,
+ }.Build()
+ File_FishBiteRsp_proto = out.File
+ file_FishBiteRsp_proto_rawDesc = nil
+ file_FishBiteRsp_proto_goTypes = nil
+ file_FishBiteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishCastRodReq.pb.go b/protocol/proto/FishCastRodReq.pb.go
new file mode 100644
index 00000000..5a8af447
--- /dev/null
+++ b/protocol/proto/FishCastRodReq.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishCastRodReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5802
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FishCastRodReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BaitId uint32 `protobuf:"varint,14,opt,name=bait_id,json=baitId,proto3" json:"bait_id,omitempty"`
+ RodId uint32 `protobuf:"varint,4,opt,name=rod_id,json=rodId,proto3" json:"rod_id,omitempty"`
+ RodEntityId uint32 `protobuf:"varint,7,opt,name=rod_entity_id,json=rodEntityId,proto3" json:"rod_entity_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,12,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *FishCastRodReq) Reset() {
+ *x = FishCastRodReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishCastRodReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishCastRodReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishCastRodReq) ProtoMessage() {}
+
+func (x *FishCastRodReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FishCastRodReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishCastRodReq.ProtoReflect.Descriptor instead.
+func (*FishCastRodReq) Descriptor() ([]byte, []int) {
+ return file_FishCastRodReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishCastRodReq) GetBaitId() uint32 {
+ if x != nil {
+ return x.BaitId
+ }
+ return 0
+}
+
+func (x *FishCastRodReq) GetRodId() uint32 {
+ if x != nil {
+ return x.RodId
+ }
+ return 0
+}
+
+func (x *FishCastRodReq) GetRodEntityId() uint32 {
+ if x != nil {
+ return x.RodEntityId
+ }
+ return 0
+}
+
+func (x *FishCastRodReq) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_FishCastRodReq_proto protoreflect.FileDescriptor
+
+var file_FishCastRodReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x46, 0x69, 0x73, 0x68, 0x43, 0x61, 0x73, 0x74, 0x52, 0x6f, 0x64, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x0e,
+ 0x46, 0x69, 0x73, 0x68, 0x43, 0x61, 0x73, 0x74, 0x52, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17,
+ 0x0a, 0x07, 0x62, 0x61, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x62, 0x61, 0x69, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x6f, 0x64, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x64, 0x49, 0x64, 0x12, 0x22,
+ 0x0a, 0x0d, 0x72, 0x6f, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishCastRodReq_proto_rawDescOnce sync.Once
+ file_FishCastRodReq_proto_rawDescData = file_FishCastRodReq_proto_rawDesc
+)
+
+func file_FishCastRodReq_proto_rawDescGZIP() []byte {
+ file_FishCastRodReq_proto_rawDescOnce.Do(func() {
+ file_FishCastRodReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishCastRodReq_proto_rawDescData)
+ })
+ return file_FishCastRodReq_proto_rawDescData
+}
+
+var file_FishCastRodReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishCastRodReq_proto_goTypes = []interface{}{
+ (*FishCastRodReq)(nil), // 0: proto.FishCastRodReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_FishCastRodReq_proto_depIdxs = []int32{
+ 1, // 0: proto.FishCastRodReq.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FishCastRodReq_proto_init() }
+func file_FishCastRodReq_proto_init() {
+ if File_FishCastRodReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FishCastRodReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishCastRodReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishCastRodReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishCastRodReq_proto_goTypes,
+ DependencyIndexes: file_FishCastRodReq_proto_depIdxs,
+ MessageInfos: file_FishCastRodReq_proto_msgTypes,
+ }.Build()
+ File_FishCastRodReq_proto = out.File
+ file_FishCastRodReq_proto_rawDesc = nil
+ file_FishCastRodReq_proto_goTypes = nil
+ file_FishCastRodReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishCastRodRsp.pb.go b/protocol/proto/FishCastRodRsp.pb.go
new file mode 100644
index 00000000..74d78abd
--- /dev/null
+++ b/protocol/proto/FishCastRodRsp.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishCastRodRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5831
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishCastRodRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FishCastRodRsp) Reset() {
+ *x = FishCastRodRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishCastRodRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishCastRodRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishCastRodRsp) ProtoMessage() {}
+
+func (x *FishCastRodRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FishCastRodRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishCastRodRsp.ProtoReflect.Descriptor instead.
+func (*FishCastRodRsp) Descriptor() ([]byte, []int) {
+ return file_FishCastRodRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishCastRodRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FishCastRodRsp_proto protoreflect.FileDescriptor
+
+var file_FishCastRodRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x46, 0x69, 0x73, 0x68, 0x43, 0x61, 0x73, 0x74, 0x52, 0x6f, 0x64, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a,
+ 0x0e, 0x46, 0x69, 0x73, 0x68, 0x43, 0x61, 0x73, 0x74, 0x52, 0x6f, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishCastRodRsp_proto_rawDescOnce sync.Once
+ file_FishCastRodRsp_proto_rawDescData = file_FishCastRodRsp_proto_rawDesc
+)
+
+func file_FishCastRodRsp_proto_rawDescGZIP() []byte {
+ file_FishCastRodRsp_proto_rawDescOnce.Do(func() {
+ file_FishCastRodRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishCastRodRsp_proto_rawDescData)
+ })
+ return file_FishCastRodRsp_proto_rawDescData
+}
+
+var file_FishCastRodRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishCastRodRsp_proto_goTypes = []interface{}{
+ (*FishCastRodRsp)(nil), // 0: proto.FishCastRodRsp
+}
+var file_FishCastRodRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishCastRodRsp_proto_init() }
+func file_FishCastRodRsp_proto_init() {
+ if File_FishCastRodRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishCastRodRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishCastRodRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishCastRodRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishCastRodRsp_proto_goTypes,
+ DependencyIndexes: file_FishCastRodRsp_proto_depIdxs,
+ MessageInfos: file_FishCastRodRsp_proto_msgTypes,
+ }.Build()
+ File_FishCastRodRsp_proto = out.File
+ file_FishCastRodRsp_proto_rawDesc = nil
+ file_FishCastRodRsp_proto_goTypes = nil
+ file_FishCastRodRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishChosenNotify.pb.go b/protocol/proto/FishChosenNotify.pb.go
new file mode 100644
index 00000000..d17a8f95
--- /dev/null
+++ b/protocol/proto/FishChosenNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishChosenNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5829
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishChosenNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishId uint32 `protobuf:"varint,12,opt,name=fish_id,json=fishId,proto3" json:"fish_id,omitempty"`
+}
+
+func (x *FishChosenNotify) Reset() {
+ *x = FishChosenNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishChosenNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishChosenNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishChosenNotify) ProtoMessage() {}
+
+func (x *FishChosenNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FishChosenNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishChosenNotify.ProtoReflect.Descriptor instead.
+func (*FishChosenNotify) Descriptor() ([]byte, []int) {
+ return file_FishChosenNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishChosenNotify) GetFishId() uint32 {
+ if x != nil {
+ return x.FishId
+ }
+ return 0
+}
+
+var File_FishChosenNotify_proto protoreflect.FileDescriptor
+
+var file_FishChosenNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x69, 0x73, 0x68, 0x43, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2b, 0x0a, 0x10, 0x46, 0x69, 0x73, 0x68, 0x43, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x69, 0x73, 0x68, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishChosenNotify_proto_rawDescOnce sync.Once
+ file_FishChosenNotify_proto_rawDescData = file_FishChosenNotify_proto_rawDesc
+)
+
+func file_FishChosenNotify_proto_rawDescGZIP() []byte {
+ file_FishChosenNotify_proto_rawDescOnce.Do(func() {
+ file_FishChosenNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishChosenNotify_proto_rawDescData)
+ })
+ return file_FishChosenNotify_proto_rawDescData
+}
+
+var file_FishChosenNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishChosenNotify_proto_goTypes = []interface{}{
+ (*FishChosenNotify)(nil), // 0: proto.FishChosenNotify
+}
+var file_FishChosenNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishChosenNotify_proto_init() }
+func file_FishChosenNotify_proto_init() {
+ if File_FishChosenNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishChosenNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishChosenNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishChosenNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishChosenNotify_proto_goTypes,
+ DependencyIndexes: file_FishChosenNotify_proto_depIdxs,
+ MessageInfos: file_FishChosenNotify_proto_msgTypes,
+ }.Build()
+ File_FishChosenNotify_proto = out.File
+ file_FishChosenNotify_proto_rawDesc = nil
+ file_FishChosenNotify_proto_goTypes = nil
+ file_FishChosenNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishEscapeNotify.pb.go b/protocol/proto/FishEscapeNotify.pb.go
new file mode 100644
index 00000000..927dbc4a
--- /dev/null
+++ b/protocol/proto/FishEscapeNotify.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishEscapeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5822
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishEscapeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason FishEscapeReason `protobuf:"varint,4,opt,name=reason,proto3,enum=proto.FishEscapeReason" json:"reason,omitempty"`
+ Pos *Vector `protobuf:"bytes,7,opt,name=pos,proto3" json:"pos,omitempty"`
+ Uid uint32 `protobuf:"varint,14,opt,name=uid,proto3" json:"uid,omitempty"`
+ FishIdList []uint32 `protobuf:"varint,6,rep,packed,name=fish_id_list,json=fishIdList,proto3" json:"fish_id_list,omitempty"`
+}
+
+func (x *FishEscapeNotify) Reset() {
+ *x = FishEscapeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishEscapeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishEscapeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishEscapeNotify) ProtoMessage() {}
+
+func (x *FishEscapeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FishEscapeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishEscapeNotify.ProtoReflect.Descriptor instead.
+func (*FishEscapeNotify) Descriptor() ([]byte, []int) {
+ return file_FishEscapeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishEscapeNotify) GetReason() FishEscapeReason {
+ if x != nil {
+ return x.Reason
+ }
+ return FishEscapeReason_FISH_ESCAPE_REASON_FISN_ESCAPE_NONE
+}
+
+func (x *FishEscapeNotify) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *FishEscapeNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *FishEscapeNotify) GetFishIdList() []uint32 {
+ if x != nil {
+ return x.FishIdList
+ }
+ return nil
+}
+
+var File_FishEscapeNotify_proto protoreflect.FileDescriptor
+
+var file_FishEscapeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x69, 0x73, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x46, 0x69, 0x73, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x10, 0x46, 0x69, 0x73, 0x68, 0x45, 0x73,
+ 0x63, 0x61, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x03, 0x70,
+ 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x10, 0x0a, 0x03,
+ 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x20,
+ 0x0a, 0x0c, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x73, 0x68, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishEscapeNotify_proto_rawDescOnce sync.Once
+ file_FishEscapeNotify_proto_rawDescData = file_FishEscapeNotify_proto_rawDesc
+)
+
+func file_FishEscapeNotify_proto_rawDescGZIP() []byte {
+ file_FishEscapeNotify_proto_rawDescOnce.Do(func() {
+ file_FishEscapeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishEscapeNotify_proto_rawDescData)
+ })
+ return file_FishEscapeNotify_proto_rawDescData
+}
+
+var file_FishEscapeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishEscapeNotify_proto_goTypes = []interface{}{
+ (*FishEscapeNotify)(nil), // 0: proto.FishEscapeNotify
+ (FishEscapeReason)(0), // 1: proto.FishEscapeReason
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_FishEscapeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FishEscapeNotify.reason:type_name -> proto.FishEscapeReason
+ 2, // 1: proto.FishEscapeNotify.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_FishEscapeNotify_proto_init() }
+func file_FishEscapeNotify_proto_init() {
+ if File_FishEscapeNotify_proto != nil {
+ return
+ }
+ file_FishEscapeReason_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FishEscapeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishEscapeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishEscapeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishEscapeNotify_proto_goTypes,
+ DependencyIndexes: file_FishEscapeNotify_proto_depIdxs,
+ MessageInfos: file_FishEscapeNotify_proto_msgTypes,
+ }.Build()
+ File_FishEscapeNotify_proto = out.File
+ file_FishEscapeNotify_proto_rawDesc = nil
+ file_FishEscapeNotify_proto_goTypes = nil
+ file_FishEscapeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishEscapeReason.pb.go b/protocol/proto/FishEscapeReason.pb.go
new file mode 100644
index 00000000..0a1a0ba5
--- /dev/null
+++ b/protocol/proto/FishEscapeReason.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishEscapeReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FishEscapeReason int32
+
+const (
+ FishEscapeReason_FISH_ESCAPE_REASON_FISN_ESCAPE_NONE FishEscapeReason = 0
+ FishEscapeReason_FISH_ESCAPE_REASON_SHOCKED FishEscapeReason = 1
+ FishEscapeReason_FISH_ESCAPE_REASON_UNHOOK FishEscapeReason = 2
+)
+
+// Enum value maps for FishEscapeReason.
+var (
+ FishEscapeReason_name = map[int32]string{
+ 0: "FISH_ESCAPE_REASON_FISN_ESCAPE_NONE",
+ 1: "FISH_ESCAPE_REASON_SHOCKED",
+ 2: "FISH_ESCAPE_REASON_UNHOOK",
+ }
+ FishEscapeReason_value = map[string]int32{
+ "FISH_ESCAPE_REASON_FISN_ESCAPE_NONE": 0,
+ "FISH_ESCAPE_REASON_SHOCKED": 1,
+ "FISH_ESCAPE_REASON_UNHOOK": 2,
+ }
+)
+
+func (x FishEscapeReason) Enum() *FishEscapeReason {
+ p := new(FishEscapeReason)
+ *p = x
+ return p
+}
+
+func (x FishEscapeReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FishEscapeReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_FishEscapeReason_proto_enumTypes[0].Descriptor()
+}
+
+func (FishEscapeReason) Type() protoreflect.EnumType {
+ return &file_FishEscapeReason_proto_enumTypes[0]
+}
+
+func (x FishEscapeReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FishEscapeReason.Descriptor instead.
+func (FishEscapeReason) EnumDescriptor() ([]byte, []int) {
+ return file_FishEscapeReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FishEscapeReason_proto protoreflect.FileDescriptor
+
+var file_FishEscapeReason_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x69, 0x73, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0x7a, 0x0a, 0x10, 0x46, 0x69, 0x73, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x23, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x45, 0x53, 0x43, 0x41,
+ 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x53, 0x4e, 0x5f, 0x45,
+ 0x53, 0x43, 0x41, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a,
+ 0x46, 0x49, 0x53, 0x48, 0x5f, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x48, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19,
+ 0x46, 0x49, 0x53, 0x48, 0x5f, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x48, 0x4f, 0x4f, 0x4b, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishEscapeReason_proto_rawDescOnce sync.Once
+ file_FishEscapeReason_proto_rawDescData = file_FishEscapeReason_proto_rawDesc
+)
+
+func file_FishEscapeReason_proto_rawDescGZIP() []byte {
+ file_FishEscapeReason_proto_rawDescOnce.Do(func() {
+ file_FishEscapeReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishEscapeReason_proto_rawDescData)
+ })
+ return file_FishEscapeReason_proto_rawDescData
+}
+
+var file_FishEscapeReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FishEscapeReason_proto_goTypes = []interface{}{
+ (FishEscapeReason)(0), // 0: proto.FishEscapeReason
+}
+var file_FishEscapeReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishEscapeReason_proto_init() }
+func file_FishEscapeReason_proto_init() {
+ if File_FishEscapeReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishEscapeReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishEscapeReason_proto_goTypes,
+ DependencyIndexes: file_FishEscapeReason_proto_depIdxs,
+ EnumInfos: file_FishEscapeReason_proto_enumTypes,
+ }.Build()
+ File_FishEscapeReason_proto = out.File
+ file_FishEscapeReason_proto_rawDesc = nil
+ file_FishEscapeReason_proto_goTypes = nil
+ file_FishEscapeReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishInfo.pb.go b/protocol/proto/FishInfo.pb.go
new file mode 100644
index 00000000..79b6681a
--- /dev/null
+++ b/protocol/proto/FishInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FishInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FreeCount uint32 `protobuf:"varint,11,opt,name=free_count,json=freeCount,proto3" json:"free_count,omitempty"`
+ IntoBagCount uint32 `protobuf:"varint,12,opt,name=into_bag_count,json=intoBagCount,proto3" json:"into_bag_count,omitempty"`
+}
+
+func (x *FishInfo) Reset() {
+ *x = FishInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishInfo) ProtoMessage() {}
+
+func (x *FishInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FishInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishInfo.ProtoReflect.Descriptor instead.
+func (*FishInfo) Descriptor() ([]byte, []int) {
+ return file_FishInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishInfo) GetFreeCount() uint32 {
+ if x != nil {
+ return x.FreeCount
+ }
+ return 0
+}
+
+func (x *FishInfo) GetIntoBagCount() uint32 {
+ if x != nil {
+ return x.IntoBagCount
+ }
+ return 0
+}
+
+var File_FishInfo_proto protoreflect.FileDescriptor
+
+var file_FishInfo_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x08, 0x46, 0x69, 0x73, 0x68, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x65, 0x65, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x62, 0x61, 0x67, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x6f,
+ 0x42, 0x61, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishInfo_proto_rawDescOnce sync.Once
+ file_FishInfo_proto_rawDescData = file_FishInfo_proto_rawDesc
+)
+
+func file_FishInfo_proto_rawDescGZIP() []byte {
+ file_FishInfo_proto_rawDescOnce.Do(func() {
+ file_FishInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishInfo_proto_rawDescData)
+ })
+ return file_FishInfo_proto_rawDescData
+}
+
+var file_FishInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishInfo_proto_goTypes = []interface{}{
+ (*FishInfo)(nil), // 0: proto.FishInfo
+}
+var file_FishInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishInfo_proto_init() }
+func file_FishInfo_proto_init() {
+ if File_FishInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishInfo_proto_goTypes,
+ DependencyIndexes: file_FishInfo_proto_depIdxs,
+ MessageInfos: file_FishInfo_proto_msgTypes,
+ }.Build()
+ File_FishInfo_proto = out.File
+ file_FishInfo_proto_rawDesc = nil
+ file_FishInfo_proto_goTypes = nil
+ file_FishInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishPoolDataNotify.pb.go b/protocol/proto/FishPoolDataNotify.pb.go
new file mode 100644
index 00000000..c070f834
--- /dev/null
+++ b/protocol/proto/FishPoolDataNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishPoolDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5848
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishPoolDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,6,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ TodayFishNum uint32 `protobuf:"varint,2,opt,name=today_fish_num,json=todayFishNum,proto3" json:"today_fish_num,omitempty"`
+}
+
+func (x *FishPoolDataNotify) Reset() {
+ *x = FishPoolDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishPoolDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishPoolDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishPoolDataNotify) ProtoMessage() {}
+
+func (x *FishPoolDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FishPoolDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishPoolDataNotify.ProtoReflect.Descriptor instead.
+func (*FishPoolDataNotify) Descriptor() ([]byte, []int) {
+ return file_FishPoolDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishPoolDataNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *FishPoolDataNotify) GetTodayFishNum() uint32 {
+ if x != nil {
+ return x.TodayFishNum
+ }
+ return 0
+}
+
+var File_FishPoolDataNotify_proto protoreflect.FileDescriptor
+
+var file_FishPoolDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x46, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x57, 0x0a, 0x12, 0x46, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x5f, 0x66, 0x69,
+ 0x73, 0x68, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f,
+ 0x64, 0x61, 0x79, 0x46, 0x69, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishPoolDataNotify_proto_rawDescOnce sync.Once
+ file_FishPoolDataNotify_proto_rawDescData = file_FishPoolDataNotify_proto_rawDesc
+)
+
+func file_FishPoolDataNotify_proto_rawDescGZIP() []byte {
+ file_FishPoolDataNotify_proto_rawDescOnce.Do(func() {
+ file_FishPoolDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishPoolDataNotify_proto_rawDescData)
+ })
+ return file_FishPoolDataNotify_proto_rawDescData
+}
+
+var file_FishPoolDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishPoolDataNotify_proto_goTypes = []interface{}{
+ (*FishPoolDataNotify)(nil), // 0: proto.FishPoolDataNotify
+}
+var file_FishPoolDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishPoolDataNotify_proto_init() }
+func file_FishPoolDataNotify_proto_init() {
+ if File_FishPoolDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishPoolDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishPoolDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishPoolDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishPoolDataNotify_proto_goTypes,
+ DependencyIndexes: file_FishPoolDataNotify_proto_depIdxs,
+ MessageInfos: file_FishPoolDataNotify_proto_msgTypes,
+ }.Build()
+ File_FishPoolDataNotify_proto = out.File
+ file_FishPoolDataNotify_proto_rawDesc = nil
+ file_FishPoolDataNotify_proto_goTypes = nil
+ file_FishPoolDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishPoolInfo.pb.go b/protocol/proto/FishPoolInfo.pb.go
new file mode 100644
index 00000000..c36528de
--- /dev/null
+++ b/protocol/proto/FishPoolInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishPoolInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FishPoolInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PoolId uint32 `protobuf:"varint,1,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
+ FishAreaList []uint32 `protobuf:"varint,2,rep,packed,name=fish_area_list,json=fishAreaList,proto3" json:"fish_area_list,omitempty"`
+ TodayFishNum uint32 `protobuf:"varint,3,opt,name=today_fish_num,json=todayFishNum,proto3" json:"today_fish_num,omitempty"`
+}
+
+func (x *FishPoolInfo) Reset() {
+ *x = FishPoolInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishPoolInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishPoolInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishPoolInfo) ProtoMessage() {}
+
+func (x *FishPoolInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FishPoolInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishPoolInfo.ProtoReflect.Descriptor instead.
+func (*FishPoolInfo) Descriptor() ([]byte, []int) {
+ return file_FishPoolInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishPoolInfo) GetPoolId() uint32 {
+ if x != nil {
+ return x.PoolId
+ }
+ return 0
+}
+
+func (x *FishPoolInfo) GetFishAreaList() []uint32 {
+ if x != nil {
+ return x.FishAreaList
+ }
+ return nil
+}
+
+func (x *FishPoolInfo) GetTodayFishNum() uint32 {
+ if x != nil {
+ return x.TodayFishNum
+ }
+ return 0
+}
+
+var File_FishPoolInfo_proto protoreflect.FileDescriptor
+
+var file_FishPoolInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x46, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x0c, 0x46,
+ 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x70,
+ 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f,
+ 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x72, 0x65,
+ 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x69,
+ 0x73, 0x68, 0x41, 0x72, 0x65, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f,
+ 0x64, 0x61, 0x79, 0x5f, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x46, 0x69, 0x73, 0x68, 0x4e, 0x75, 0x6d,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishPoolInfo_proto_rawDescOnce sync.Once
+ file_FishPoolInfo_proto_rawDescData = file_FishPoolInfo_proto_rawDesc
+)
+
+func file_FishPoolInfo_proto_rawDescGZIP() []byte {
+ file_FishPoolInfo_proto_rawDescOnce.Do(func() {
+ file_FishPoolInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishPoolInfo_proto_rawDescData)
+ })
+ return file_FishPoolInfo_proto_rawDescData
+}
+
+var file_FishPoolInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishPoolInfo_proto_goTypes = []interface{}{
+ (*FishPoolInfo)(nil), // 0: proto.FishPoolInfo
+}
+var file_FishPoolInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishPoolInfo_proto_init() }
+func file_FishPoolInfo_proto_init() {
+ if File_FishPoolInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishPoolInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishPoolInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishPoolInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishPoolInfo_proto_goTypes,
+ DependencyIndexes: file_FishPoolInfo_proto_depIdxs,
+ MessageInfos: file_FishPoolInfo_proto_msgTypes,
+ }.Build()
+ File_FishPoolInfo_proto = out.File
+ file_FishPoolInfo_proto_rawDesc = nil
+ file_FishPoolInfo_proto_goTypes = nil
+ file_FishPoolInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishingGallerySettleInfo.pb.go b/protocol/proto/FishingGallerySettleInfo.pb.go
new file mode 100644
index 00000000..283bafe1
--- /dev/null
+++ b/protocol/proto/FishingGallerySettleInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishingGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FishingGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishMap map[uint32]*FishInfo `protobuf:"bytes,11,rep,name=fish_map,json=fishMap,proto3" json:"fish_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ FishingScoreList []*FishingScore `protobuf:"bytes,15,rep,name=fishing_score_list,json=fishingScoreList,proto3" json:"fishing_score_list,omitempty"`
+}
+
+func (x *FishingGallerySettleInfo) Reset() {
+ *x = FishingGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishingGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishingGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishingGallerySettleInfo) ProtoMessage() {}
+
+func (x *FishingGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FishingGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishingGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*FishingGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_FishingGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishingGallerySettleInfo) GetFishMap() map[uint32]*FishInfo {
+ if x != nil {
+ return x.FishMap
+ }
+ return nil
+}
+
+func (x *FishingGallerySettleInfo) GetFishingScoreList() []*FishingScore {
+ if x != nil {
+ return x.FishingScoreList
+ }
+ return nil
+}
+
+var File_FishingGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_FishingGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a, 0x18,
+ 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x08, 0x66, 0x69, 0x73, 0x68,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x73, 0x68,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x66, 0x69, 0x73, 0x68, 0x4d, 0x61,
+ 0x70, 0x12, 0x41, 0x0a, 0x12, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x52, 0x10, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65,
+ 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x4b, 0x0a, 0x0c, 0x46, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69,
+ 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishingGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_FishingGallerySettleInfo_proto_rawDescData = file_FishingGallerySettleInfo_proto_rawDesc
+)
+
+func file_FishingGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_FishingGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_FishingGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishingGallerySettleInfo_proto_rawDescData)
+ })
+ return file_FishingGallerySettleInfo_proto_rawDescData
+}
+
+var file_FishingGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_FishingGallerySettleInfo_proto_goTypes = []interface{}{
+ (*FishingGallerySettleInfo)(nil), // 0: proto.FishingGallerySettleInfo
+ nil, // 1: proto.FishingGallerySettleInfo.FishMapEntry
+ (*FishingScore)(nil), // 2: proto.FishingScore
+ (*FishInfo)(nil), // 3: proto.FishInfo
+}
+var file_FishingGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FishingGallerySettleInfo.fish_map:type_name -> proto.FishingGallerySettleInfo.FishMapEntry
+ 2, // 1: proto.FishingGallerySettleInfo.fishing_score_list:type_name -> proto.FishingScore
+ 3, // 2: proto.FishingGallerySettleInfo.FishMapEntry.value:type_name -> proto.FishInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_FishingGallerySettleInfo_proto_init() }
+func file_FishingGallerySettleInfo_proto_init() {
+ if File_FishingGallerySettleInfo_proto != nil {
+ return
+ }
+ file_FishInfo_proto_init()
+ file_FishingScore_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FishingGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishingGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishingGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishingGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_FishingGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_FishingGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_FishingGallerySettleInfo_proto = out.File
+ file_FishingGallerySettleInfo_proto_rawDesc = nil
+ file_FishingGallerySettleInfo_proto_goTypes = nil
+ file_FishingGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishingGallerySettleNotify.pb.go b/protocol/proto/FishingGallerySettleNotify.pb.go
new file mode 100644
index 00000000..5d59ade7
--- /dev/null
+++ b/protocol/proto/FishingGallerySettleNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishingGallerySettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8780
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FishingGallerySettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,6,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,15,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ SettleInfo *FishingGallerySettleInfo `protobuf:"bytes,13,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+}
+
+func (x *FishingGallerySettleNotify) Reset() {
+ *x = FishingGallerySettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishingGallerySettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishingGallerySettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishingGallerySettleNotify) ProtoMessage() {}
+
+func (x *FishingGallerySettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FishingGallerySettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishingGallerySettleNotify.ProtoReflect.Descriptor instead.
+func (*FishingGallerySettleNotify) Descriptor() ([]byte, []int) {
+ return file_FishingGallerySettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishingGallerySettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *FishingGallerySettleNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *FishingGallerySettleNotify) GetSettleInfo() *FishingGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+var File_FishingGallerySettleNotify_proto protoreflect.FileDescriptor
+
+var file_FishingGallerySettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x46, 0x69, 0x73, 0x68, 0x69,
+ 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x1a, 0x46, 0x69,
+ 0x73, 0x68, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishingGallerySettleNotify_proto_rawDescOnce sync.Once
+ file_FishingGallerySettleNotify_proto_rawDescData = file_FishingGallerySettleNotify_proto_rawDesc
+)
+
+func file_FishingGallerySettleNotify_proto_rawDescGZIP() []byte {
+ file_FishingGallerySettleNotify_proto_rawDescOnce.Do(func() {
+ file_FishingGallerySettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishingGallerySettleNotify_proto_rawDescData)
+ })
+ return file_FishingGallerySettleNotify_proto_rawDescData
+}
+
+var file_FishingGallerySettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishingGallerySettleNotify_proto_goTypes = []interface{}{
+ (*FishingGallerySettleNotify)(nil), // 0: proto.FishingGallerySettleNotify
+ (*FishingGallerySettleInfo)(nil), // 1: proto.FishingGallerySettleInfo
+}
+var file_FishingGallerySettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FishingGallerySettleNotify.settle_info:type_name -> proto.FishingGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FishingGallerySettleNotify_proto_init() }
+func file_FishingGallerySettleNotify_proto_init() {
+ if File_FishingGallerySettleNotify_proto != nil {
+ return
+ }
+ file_FishingGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FishingGallerySettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishingGallerySettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishingGallerySettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishingGallerySettleNotify_proto_goTypes,
+ DependencyIndexes: file_FishingGallerySettleNotify_proto_depIdxs,
+ MessageInfos: file_FishingGallerySettleNotify_proto_msgTypes,
+ }.Build()
+ File_FishingGallerySettleNotify_proto = out.File
+ file_FishingGallerySettleNotify_proto_rawDesc = nil
+ file_FishingGallerySettleNotify_proto_goTypes = nil
+ file_FishingGallerySettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishingScore.pb.go b/protocol/proto/FishingScore.pb.go
new file mode 100644
index 00000000..a2a0d114
--- /dev/null
+++ b/protocol/proto/FishingScore.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishingScore.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FishingScore struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishingScore uint32 `protobuf:"varint,2,opt,name=fishing_score,json=fishingScore,proto3" json:"fishing_score,omitempty"`
+ IsNewRecord bool `protobuf:"varint,4,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *FishingScore) Reset() {
+ *x = FishingScore{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishingScore_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishingScore) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishingScore) ProtoMessage() {}
+
+func (x *FishingScore) ProtoReflect() protoreflect.Message {
+ mi := &file_FishingScore_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishingScore.ProtoReflect.Descriptor instead.
+func (*FishingScore) Descriptor() ([]byte, []int) {
+ return file_FishingScore_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishingScore) GetFishingScore() uint32 {
+ if x != nil {
+ return x.FishingScore
+ }
+ return 0
+}
+
+func (x *FishingScore) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_FishingScore_proto protoreflect.FileDescriptor
+
+var file_FishingScore_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x0c, 0x46,
+ 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66,
+ 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x6f, 0x72, 0x65,
+ 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishingScore_proto_rawDescOnce sync.Once
+ file_FishingScore_proto_rawDescData = file_FishingScore_proto_rawDesc
+)
+
+func file_FishingScore_proto_rawDescGZIP() []byte {
+ file_FishingScore_proto_rawDescOnce.Do(func() {
+ file_FishingScore_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishingScore_proto_rawDescData)
+ })
+ return file_FishingScore_proto_rawDescData
+}
+
+var file_FishingScore_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishingScore_proto_goTypes = []interface{}{
+ (*FishingScore)(nil), // 0: proto.FishingScore
+}
+var file_FishingScore_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishingScore_proto_init() }
+func file_FishingScore_proto_init() {
+ if File_FishingScore_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishingScore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishingScore); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishingScore_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishingScore_proto_goTypes,
+ DependencyIndexes: file_FishingScore_proto_depIdxs,
+ MessageInfos: file_FishingScore_proto_msgTypes,
+ }.Build()
+ File_FishingScore_proto = out.File
+ file_FishingScore_proto_rawDesc = nil
+ file_FishingScore_proto_goTypes = nil
+ file_FishingScore_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FishtankFishInfo.pb.go b/protocol/proto/FishtankFishInfo.pb.go
new file mode 100644
index 00000000..79fee2e5
--- /dev/null
+++ b/protocol/proto/FishtankFishInfo.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FishtankFishInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FishtankFishInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishDistanceFromWater float32 `protobuf:"fixed32,1,opt,name=fish_distance_from_water,json=fishDistanceFromWater,proto3" json:"fish_distance_from_water,omitempty"`
+ FishScale float32 `protobuf:"fixed32,2,opt,name=fish_scale,json=fishScale,proto3" json:"fish_scale,omitempty"`
+ InitialRotationY float32 `protobuf:"fixed32,3,opt,name=initial_rotation_y,json=initialRotationY,proto3" json:"initial_rotation_y,omitempty"`
+}
+
+func (x *FishtankFishInfo) Reset() {
+ *x = FishtankFishInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FishtankFishInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FishtankFishInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FishtankFishInfo) ProtoMessage() {}
+
+func (x *FishtankFishInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FishtankFishInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FishtankFishInfo.ProtoReflect.Descriptor instead.
+func (*FishtankFishInfo) Descriptor() ([]byte, []int) {
+ return file_FishtankFishInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FishtankFishInfo) GetFishDistanceFromWater() float32 {
+ if x != nil {
+ return x.FishDistanceFromWater
+ }
+ return 0
+}
+
+func (x *FishtankFishInfo) GetFishScale() float32 {
+ if x != nil {
+ return x.FishScale
+ }
+ return 0
+}
+
+func (x *FishtankFishInfo) GetInitialRotationY() float32 {
+ if x != nil {
+ return x.InitialRotationY
+ }
+ return 0
+}
+
+var File_FishtankFishInfo_proto protoreflect.FileDescriptor
+
+var file_FishtankFishInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x69, 0x73, 0x68, 0x74, 0x61, 0x6e, 0x6b, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x98, 0x01, 0x0a, 0x10, 0x46, 0x69, 0x73, 0x68, 0x74, 0x61, 0x6e, 0x6b, 0x46, 0x69, 0x73, 0x68,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x18, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x64, 0x69, 0x73,
+ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x77, 0x61, 0x74, 0x65, 0x72,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x66, 0x69, 0x73, 0x68, 0x44, 0x69, 0x73, 0x74,
+ 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x61, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x09, 0x66, 0x69, 0x73, 0x68, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12,
+ 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61,
+ 0x6c, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x59, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FishtankFishInfo_proto_rawDescOnce sync.Once
+ file_FishtankFishInfo_proto_rawDescData = file_FishtankFishInfo_proto_rawDesc
+)
+
+func file_FishtankFishInfo_proto_rawDescGZIP() []byte {
+ file_FishtankFishInfo_proto_rawDescOnce.Do(func() {
+ file_FishtankFishInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FishtankFishInfo_proto_rawDescData)
+ })
+ return file_FishtankFishInfo_proto_rawDescData
+}
+
+var file_FishtankFishInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FishtankFishInfo_proto_goTypes = []interface{}{
+ (*FishtankFishInfo)(nil), // 0: proto.FishtankFishInfo
+}
+var file_FishtankFishInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FishtankFishInfo_proto_init() }
+func file_FishtankFishInfo_proto_init() {
+ if File_FishtankFishInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FishtankFishInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FishtankFishInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FishtankFishInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FishtankFishInfo_proto_goTypes,
+ DependencyIndexes: file_FishtankFishInfo_proto_depIdxs,
+ MessageInfos: file_FishtankFishInfo_proto_msgTypes,
+ }.Build()
+ File_FishtankFishInfo_proto = out.File
+ file_FishtankFishInfo_proto_rawDesc = nil
+ file_FishtankFishInfo_proto_goTypes = nil
+ file_FishtankFishInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairActivityDetailInfo.pb.go b/protocol/proto/FleurFairActivityDetailInfo.pb.go
new file mode 100644
index 00000000..07f1070a
--- /dev/null
+++ b/protocol/proto/FleurFairActivityDetailInfo.pb.go
@@ -0,0 +1,279 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsContentClosed bool `protobuf:"varint,4,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ DungeonPunishOverTime uint32 `protobuf:"varint,6,opt,name=dungeon_punish_over_time,json=dungeonPunishOverTime,proto3" json:"dungeon_punish_over_time,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,15,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ ObtainedToken uint32 `protobuf:"varint,13,opt,name=obtained_token,json=obtainedToken,proto3" json:"obtained_token,omitempty"`
+ ChapterInfoList []*FleurFairChapterInfo `protobuf:"bytes,14,rep,name=chapter_info_list,json=chapterInfoList,proto3" json:"chapter_info_list,omitempty"`
+ MinigameInfoMap map[uint32]*FleurFairMinigameInfo `protobuf:"bytes,9,rep,name=minigame_info_map,json=minigameInfoMap,proto3" json:"minigame_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ DungeonSectionInfoMap map[uint32]*FleurFairDungeonSectionInfo `protobuf:"bytes,3,rep,name=dungeon_section_info_map,json=dungeonSectionInfoMap,proto3" json:"dungeon_section_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ IsDungeonUnlocked bool `protobuf:"varint,11,opt,name=is_dungeon_unlocked,json=isDungeonUnlocked,proto3" json:"is_dungeon_unlocked,omitempty"`
+}
+
+func (x *FleurFairActivityDetailInfo) Reset() {
+ *x = FleurFairActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairActivityDetailInfo) ProtoMessage() {}
+
+func (x *FleurFairActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *FleurFairActivityDetailInfo) GetDungeonPunishOverTime() uint32 {
+ if x != nil {
+ return x.DungeonPunishOverTime
+ }
+ return 0
+}
+
+func (x *FleurFairActivityDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *FleurFairActivityDetailInfo) GetObtainedToken() uint32 {
+ if x != nil {
+ return x.ObtainedToken
+ }
+ return 0
+}
+
+func (x *FleurFairActivityDetailInfo) GetChapterInfoList() []*FleurFairChapterInfo {
+ if x != nil {
+ return x.ChapterInfoList
+ }
+ return nil
+}
+
+func (x *FleurFairActivityDetailInfo) GetMinigameInfoMap() map[uint32]*FleurFairMinigameInfo {
+ if x != nil {
+ return x.MinigameInfoMap
+ }
+ return nil
+}
+
+func (x *FleurFairActivityDetailInfo) GetDungeonSectionInfoMap() map[uint32]*FleurFairDungeonSectionInfo {
+ if x != nil {
+ return x.DungeonSectionInfoMap
+ }
+ return nil
+}
+
+func (x *FleurFairActivityDetailInfo) GetIsDungeonUnlocked() bool {
+ if x != nil {
+ return x.IsDungeonUnlocked
+ }
+ return false
+}
+
+var File_FleurFairActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x46, 0x6c, 0x65, 0x75,
+ 0x72, 0x46, 0x61, 0x69, 0x72, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69,
+ 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x46, 0x6c, 0x65, 0x75, 0x72,
+ 0x46, 0x61, 0x69, 0x72, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x05, 0x0a, 0x1b, 0x46, 0x6c, 0x65, 0x75, 0x72,
+ 0x46, 0x61, 0x69, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73,
+ 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x70, 0x75,
+ 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x50, 0x75, 0x6e,
+ 0x69, 0x73, 0x68, 0x4f, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x63,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x62, 0x74,
+ 0x61, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x12, 0x47, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x43, 0x68, 0x61,
+ 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x11, 0x6d, 0x69, 0x6e,
+ 0x69, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65,
+ 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d,
+ 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x76,
+ 0x0a, 0x18, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x3d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61,
+ 0x69, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x15, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x55, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x1a, 0x60, 0x0a, 0x14, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61,
+ 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69,
+ 0x72, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6c, 0x0a, 0x1a, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_FleurFairActivityDetailInfo_proto_rawDescData = file_FleurFairActivityDetailInfo_proto_rawDesc
+)
+
+func file_FleurFairActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairActivityDetailInfo_proto_rawDescData)
+ })
+ return file_FleurFairActivityDetailInfo_proto_rawDescData
+}
+
+var file_FleurFairActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_FleurFairActivityDetailInfo_proto_goTypes = []interface{}{
+ (*FleurFairActivityDetailInfo)(nil), // 0: proto.FleurFairActivityDetailInfo
+ nil, // 1: proto.FleurFairActivityDetailInfo.MinigameInfoMapEntry
+ nil, // 2: proto.FleurFairActivityDetailInfo.DungeonSectionInfoMapEntry
+ (*FleurFairChapterInfo)(nil), // 3: proto.FleurFairChapterInfo
+ (*FleurFairMinigameInfo)(nil), // 4: proto.FleurFairMinigameInfo
+ (*FleurFairDungeonSectionInfo)(nil), // 5: proto.FleurFairDungeonSectionInfo
+}
+var file_FleurFairActivityDetailInfo_proto_depIdxs = []int32{
+ 3, // 0: proto.FleurFairActivityDetailInfo.chapter_info_list:type_name -> proto.FleurFairChapterInfo
+ 1, // 1: proto.FleurFairActivityDetailInfo.minigame_info_map:type_name -> proto.FleurFairActivityDetailInfo.MinigameInfoMapEntry
+ 2, // 2: proto.FleurFairActivityDetailInfo.dungeon_section_info_map:type_name -> proto.FleurFairActivityDetailInfo.DungeonSectionInfoMapEntry
+ 4, // 3: proto.FleurFairActivityDetailInfo.MinigameInfoMapEntry.value:type_name -> proto.FleurFairMinigameInfo
+ 5, // 4: proto.FleurFairActivityDetailInfo.DungeonSectionInfoMapEntry.value:type_name -> proto.FleurFairDungeonSectionInfo
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairActivityDetailInfo_proto_init() }
+func file_FleurFairActivityDetailInfo_proto_init() {
+ if File_FleurFairActivityDetailInfo_proto != nil {
+ return
+ }
+ file_FleurFairChapterInfo_proto_init()
+ file_FleurFairDungeonSectionInfo_proto_init()
+ file_FleurFairMinigameInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairActivityDetailInfo_proto = out.File
+ file_FleurFairActivityDetailInfo_proto_rawDesc = nil
+ file_FleurFairActivityDetailInfo_proto_goTypes = nil
+ file_FleurFairActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairBalloonInfo.pb.go b/protocol/proto/FleurFairBalloonInfo.pb.go
new file mode 100644
index 00000000..e13ea2c4
--- /dev/null
+++ b/protocol/proto/FleurFairBalloonInfo.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairBalloonInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairBalloonInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BestScore uint32 `protobuf:"varint,4,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+}
+
+func (x *FleurFairBalloonInfo) Reset() {
+ *x = FleurFairBalloonInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairBalloonInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairBalloonInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairBalloonInfo) ProtoMessage() {}
+
+func (x *FleurFairBalloonInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairBalloonInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairBalloonInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairBalloonInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairBalloonInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairBalloonInfo) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+var File_FleurFairBalloonInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairBalloonInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x14, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72,
+ 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x62,
+ 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairBalloonInfo_proto_rawDescOnce sync.Once
+ file_FleurFairBalloonInfo_proto_rawDescData = file_FleurFairBalloonInfo_proto_rawDesc
+)
+
+func file_FleurFairBalloonInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairBalloonInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairBalloonInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairBalloonInfo_proto_rawDescData)
+ })
+ return file_FleurFairBalloonInfo_proto_rawDescData
+}
+
+var file_FleurFairBalloonInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairBalloonInfo_proto_goTypes = []interface{}{
+ (*FleurFairBalloonInfo)(nil), // 0: proto.FleurFairBalloonInfo
+}
+var file_FleurFairBalloonInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairBalloonInfo_proto_init() }
+func file_FleurFairBalloonInfo_proto_init() {
+ if File_FleurFairBalloonInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairBalloonInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairBalloonInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairBalloonInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairBalloonInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairBalloonInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairBalloonInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairBalloonInfo_proto = out.File
+ file_FleurFairBalloonInfo_proto_rawDesc = nil
+ file_FleurFairBalloonInfo_proto_goTypes = nil
+ file_FleurFairBalloonInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairBalloonSettleInfo.pb.go b/protocol/proto/FleurFairBalloonSettleInfo.pb.go
new file mode 100644
index 00000000..e85c3083
--- /dev/null
+++ b/protocol/proto/FleurFairBalloonSettleInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairBalloonSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairBalloonSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SettleInfo *BalloonSettleInfo `protobuf:"bytes,10,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+ IsNewRecord bool `protobuf:"varint,7,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *FleurFairBalloonSettleInfo) Reset() {
+ *x = FleurFairBalloonSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairBalloonSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairBalloonSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairBalloonSettleInfo) ProtoMessage() {}
+
+func (x *FleurFairBalloonSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairBalloonSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairBalloonSettleInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairBalloonSettleInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairBalloonSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairBalloonSettleInfo) GetSettleInfo() *BalloonSettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+func (x *FleurFairBalloonSettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_FleurFairBalloonSettleInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairBalloonSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x1a, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x39, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61,
+ 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairBalloonSettleInfo_proto_rawDescOnce sync.Once
+ file_FleurFairBalloonSettleInfo_proto_rawDescData = file_FleurFairBalloonSettleInfo_proto_rawDesc
+)
+
+func file_FleurFairBalloonSettleInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairBalloonSettleInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairBalloonSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairBalloonSettleInfo_proto_rawDescData)
+ })
+ return file_FleurFairBalloonSettleInfo_proto_rawDescData
+}
+
+var file_FleurFairBalloonSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairBalloonSettleInfo_proto_goTypes = []interface{}{
+ (*FleurFairBalloonSettleInfo)(nil), // 0: proto.FleurFairBalloonSettleInfo
+ (*BalloonSettleInfo)(nil), // 1: proto.BalloonSettleInfo
+}
+var file_FleurFairBalloonSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairBalloonSettleInfo.settle_info:type_name -> proto.BalloonSettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairBalloonSettleInfo_proto_init() }
+func file_FleurFairBalloonSettleInfo_proto_init() {
+ if File_FleurFairBalloonSettleInfo_proto != nil {
+ return
+ }
+ file_BalloonSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairBalloonSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairBalloonSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairBalloonSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairBalloonSettleInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairBalloonSettleInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairBalloonSettleInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairBalloonSettleInfo_proto = out.File
+ file_FleurFairBalloonSettleInfo_proto_rawDesc = nil
+ file_FleurFairBalloonSettleInfo_proto_goTypes = nil
+ file_FleurFairBalloonSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairBalloonSettleNotify.pb.go b/protocol/proto/FleurFairBalloonSettleNotify.pb.go
new file mode 100644
index 00000000..803f8004
--- /dev/null
+++ b/protocol/proto/FleurFairBalloonSettleNotify.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairBalloonSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2099
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FleurFairBalloonSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MinigameId uint32 `protobuf:"varint,9,opt,name=minigame_id,json=minigameId,proto3" json:"minigame_id,omitempty"`
+ SettleInfoMap map[uint32]*FleurFairBalloonSettleInfo `protobuf:"bytes,15,rep,name=settle_info_map,json=settleInfoMap,proto3" json:"settle_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *FleurFairBalloonSettleNotify) Reset() {
+ *x = FleurFairBalloonSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairBalloonSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairBalloonSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairBalloonSettleNotify) ProtoMessage() {}
+
+func (x *FleurFairBalloonSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairBalloonSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairBalloonSettleNotify.ProtoReflect.Descriptor instead.
+func (*FleurFairBalloonSettleNotify) Descriptor() ([]byte, []int) {
+ return file_FleurFairBalloonSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairBalloonSettleNotify) GetMinigameId() uint32 {
+ if x != nil {
+ return x.MinigameId
+ }
+ return 0
+}
+
+func (x *FleurFairBalloonSettleNotify) GetSettleInfoMap() map[uint32]*FleurFairBalloonSettleInfo {
+ if x != nil {
+ return x.SettleInfoMap
+ }
+ return nil
+}
+
+var File_FleurFairBalloonSettleNotify_proto protoreflect.FileDescriptor
+
+var file_FleurFairBalloonSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x46, 0x6c, 0x65,
+ 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x02,
+ 0x0a, 0x1c, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12,
+ 0x5e, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f,
+ 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0d, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x1a,
+ 0x63, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairBalloonSettleNotify_proto_rawDescOnce sync.Once
+ file_FleurFairBalloonSettleNotify_proto_rawDescData = file_FleurFairBalloonSettleNotify_proto_rawDesc
+)
+
+func file_FleurFairBalloonSettleNotify_proto_rawDescGZIP() []byte {
+ file_FleurFairBalloonSettleNotify_proto_rawDescOnce.Do(func() {
+ file_FleurFairBalloonSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairBalloonSettleNotify_proto_rawDescData)
+ })
+ return file_FleurFairBalloonSettleNotify_proto_rawDescData
+}
+
+var file_FleurFairBalloonSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_FleurFairBalloonSettleNotify_proto_goTypes = []interface{}{
+ (*FleurFairBalloonSettleNotify)(nil), // 0: proto.FleurFairBalloonSettleNotify
+ nil, // 1: proto.FleurFairBalloonSettleNotify.SettleInfoMapEntry
+ (*FleurFairBalloonSettleInfo)(nil), // 2: proto.FleurFairBalloonSettleInfo
+}
+var file_FleurFairBalloonSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairBalloonSettleNotify.settle_info_map:type_name -> proto.FleurFairBalloonSettleNotify.SettleInfoMapEntry
+ 2, // 1: proto.FleurFairBalloonSettleNotify.SettleInfoMapEntry.value:type_name -> proto.FleurFairBalloonSettleInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairBalloonSettleNotify_proto_init() }
+func file_FleurFairBalloonSettleNotify_proto_init() {
+ if File_FleurFairBalloonSettleNotify_proto != nil {
+ return
+ }
+ file_FleurFairBalloonSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairBalloonSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairBalloonSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairBalloonSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairBalloonSettleNotify_proto_goTypes,
+ DependencyIndexes: file_FleurFairBalloonSettleNotify_proto_depIdxs,
+ MessageInfos: file_FleurFairBalloonSettleNotify_proto_msgTypes,
+ }.Build()
+ File_FleurFairBalloonSettleNotify_proto = out.File
+ file_FleurFairBalloonSettleNotify_proto_rawDesc = nil
+ file_FleurFairBalloonSettleNotify_proto_goTypes = nil
+ file_FleurFairBalloonSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairBossSettleInfo.pb.go b/protocol/proto/FleurFairBossSettleInfo.pb.go
new file mode 100644
index 00000000..a1fb7ef5
--- /dev/null
+++ b/protocol/proto/FleurFairBossSettleInfo.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairBossSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairBossSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardTokenNum uint32 `protobuf:"varint,15,opt,name=reward_token_num,json=rewardTokenNum,proto3" json:"reward_token_num,omitempty"`
+ StatInfoList []*FleurFairPlayerStatInfo `protobuf:"bytes,1,rep,name=stat_info_list,json=statInfoList,proto3" json:"stat_info_list,omitempty"`
+ IsSuccess bool `protobuf:"varint,10,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ Energy uint32 `protobuf:"varint,12,opt,name=energy,proto3" json:"energy,omitempty"`
+ CostTime uint32 `protobuf:"varint,8,opt,name=cost_time,json=costTime,proto3" json:"cost_time,omitempty"`
+}
+
+func (x *FleurFairBossSettleInfo) Reset() {
+ *x = FleurFairBossSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairBossSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairBossSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairBossSettleInfo) ProtoMessage() {}
+
+func (x *FleurFairBossSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairBossSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairBossSettleInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairBossSettleInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairBossSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairBossSettleInfo) GetRewardTokenNum() uint32 {
+ if x != nil {
+ return x.RewardTokenNum
+ }
+ return 0
+}
+
+func (x *FleurFairBossSettleInfo) GetStatInfoList() []*FleurFairPlayerStatInfo {
+ if x != nil {
+ return x.StatInfoList
+ }
+ return nil
+}
+
+func (x *FleurFairBossSettleInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *FleurFairBossSettleInfo) GetEnergy() uint32 {
+ if x != nil {
+ return x.Energy
+ }
+ return 0
+}
+
+func (x *FleurFairBossSettleInfo) GetCostTime() uint32 {
+ if x != nil {
+ return x.CostTime
+ }
+ return 0
+}
+
+var File_FleurFairBossSettleInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairBossSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x6f, 0x73, 0x73, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69,
+ 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x01, 0x0a, 0x17, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46,
+ 0x61, 0x69, 0x72, 0x42, 0x6f, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x44, 0x0a, 0x0e, 0x73,
+ 0x74, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75,
+ 0x72, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x73,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairBossSettleInfo_proto_rawDescOnce sync.Once
+ file_FleurFairBossSettleInfo_proto_rawDescData = file_FleurFairBossSettleInfo_proto_rawDesc
+)
+
+func file_FleurFairBossSettleInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairBossSettleInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairBossSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairBossSettleInfo_proto_rawDescData)
+ })
+ return file_FleurFairBossSettleInfo_proto_rawDescData
+}
+
+var file_FleurFairBossSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairBossSettleInfo_proto_goTypes = []interface{}{
+ (*FleurFairBossSettleInfo)(nil), // 0: proto.FleurFairBossSettleInfo
+ (*FleurFairPlayerStatInfo)(nil), // 1: proto.FleurFairPlayerStatInfo
+}
+var file_FleurFairBossSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairBossSettleInfo.stat_info_list:type_name -> proto.FleurFairPlayerStatInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairBossSettleInfo_proto_init() }
+func file_FleurFairBossSettleInfo_proto_init() {
+ if File_FleurFairBossSettleInfo_proto != nil {
+ return
+ }
+ file_FleurFairPlayerStatInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairBossSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairBossSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairBossSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairBossSettleInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairBossSettleInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairBossSettleInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairBossSettleInfo_proto = out.File
+ file_FleurFairBossSettleInfo_proto_rawDesc = nil
+ file_FleurFairBossSettleInfo_proto_goTypes = nil
+ file_FleurFairBossSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairBuffEnergyNotify.pb.go b/protocol/proto/FleurFairBuffEnergyNotify.pb.go
new file mode 100644
index 00000000..829c842f
--- /dev/null
+++ b/protocol/proto/FleurFairBuffEnergyNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairBuffEnergyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5324
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FleurFairBuffEnergyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Energy uint32 `protobuf:"varint,4,opt,name=energy,proto3" json:"energy,omitempty"`
+}
+
+func (x *FleurFairBuffEnergyNotify) Reset() {
+ *x = FleurFairBuffEnergyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairBuffEnergyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairBuffEnergyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairBuffEnergyNotify) ProtoMessage() {}
+
+func (x *FleurFairBuffEnergyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairBuffEnergyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairBuffEnergyNotify.ProtoReflect.Descriptor instead.
+func (*FleurFairBuffEnergyNotify) Descriptor() ([]byte, []int) {
+ return file_FleurFairBuffEnergyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairBuffEnergyNotify) GetEnergy() uint32 {
+ if x != nil {
+ return x.Energy
+ }
+ return 0
+}
+
+var File_FleurFairBuffEnergyNotify_proto protoreflect.FileDescriptor
+
+var file_FleurFairBuffEnergyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x75, 0x66, 0x66, 0x45,
+ 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x19, 0x46, 0x6c, 0x65, 0x75,
+ 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x75, 0x66, 0x66, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_FleurFairBuffEnergyNotify_proto_rawDescOnce sync.Once
+ file_FleurFairBuffEnergyNotify_proto_rawDescData = file_FleurFairBuffEnergyNotify_proto_rawDesc
+)
+
+func file_FleurFairBuffEnergyNotify_proto_rawDescGZIP() []byte {
+ file_FleurFairBuffEnergyNotify_proto_rawDescOnce.Do(func() {
+ file_FleurFairBuffEnergyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairBuffEnergyNotify_proto_rawDescData)
+ })
+ return file_FleurFairBuffEnergyNotify_proto_rawDescData
+}
+
+var file_FleurFairBuffEnergyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairBuffEnergyNotify_proto_goTypes = []interface{}{
+ (*FleurFairBuffEnergyNotify)(nil), // 0: proto.FleurFairBuffEnergyNotify
+}
+var file_FleurFairBuffEnergyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairBuffEnergyNotify_proto_init() }
+func file_FleurFairBuffEnergyNotify_proto_init() {
+ if File_FleurFairBuffEnergyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairBuffEnergyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairBuffEnergyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairBuffEnergyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairBuffEnergyNotify_proto_goTypes,
+ DependencyIndexes: file_FleurFairBuffEnergyNotify_proto_depIdxs,
+ MessageInfos: file_FleurFairBuffEnergyNotify_proto_msgTypes,
+ }.Build()
+ File_FleurFairBuffEnergyNotify_proto = out.File
+ file_FleurFairBuffEnergyNotify_proto_rawDesc = nil
+ file_FleurFairBuffEnergyNotify_proto_goTypes = nil
+ file_FleurFairBuffEnergyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairChapterInfo.pb.go b/protocol/proto/FleurFairChapterInfo.pb.go
new file mode 100644
index 00000000..5c729d0b
--- /dev/null
+++ b/protocol/proto/FleurFairChapterInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairChapterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairChapterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenTime uint32 `protobuf:"varint,15,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ ChapterId uint32 `protobuf:"varint,11,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *FleurFairChapterInfo) Reset() {
+ *x = FleurFairChapterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairChapterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairChapterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairChapterInfo) ProtoMessage() {}
+
+func (x *FleurFairChapterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairChapterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairChapterInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairChapterInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairChapterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairChapterInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *FleurFairChapterInfo) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+var File_FleurFairChapterInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairChapterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x43, 0x68, 0x61, 0x70, 0x74,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x14, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72,
+ 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6f,
+ 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68,
+ 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairChapterInfo_proto_rawDescOnce sync.Once
+ file_FleurFairChapterInfo_proto_rawDescData = file_FleurFairChapterInfo_proto_rawDesc
+)
+
+func file_FleurFairChapterInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairChapterInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairChapterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairChapterInfo_proto_rawDescData)
+ })
+ return file_FleurFairChapterInfo_proto_rawDescData
+}
+
+var file_FleurFairChapterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairChapterInfo_proto_goTypes = []interface{}{
+ (*FleurFairChapterInfo)(nil), // 0: proto.FleurFairChapterInfo
+}
+var file_FleurFairChapterInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairChapterInfo_proto_init() }
+func file_FleurFairChapterInfo_proto_init() {
+ if File_FleurFairChapterInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairChapterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairChapterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairChapterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairChapterInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairChapterInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairChapterInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairChapterInfo_proto = out.File
+ file_FleurFairChapterInfo_proto_rawDesc = nil
+ file_FleurFairChapterInfo_proto_goTypes = nil
+ file_FleurFairChapterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairDungeonSectionInfo.pb.go b/protocol/proto/FleurFairDungeonSectionInfo.pb.go
new file mode 100644
index 00000000..07252cec
--- /dev/null
+++ b/protocol/proto/FleurFairDungeonSectionInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairDungeonSectionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairDungeonSectionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SectionId uint32 `protobuf:"varint,10,opt,name=section_id,json=sectionId,proto3" json:"section_id,omitempty"`
+ OpenTime uint32 `protobuf:"varint,13,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsOpen bool `protobuf:"varint,1,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *FleurFairDungeonSectionInfo) Reset() {
+ *x = FleurFairDungeonSectionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairDungeonSectionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairDungeonSectionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairDungeonSectionInfo) ProtoMessage() {}
+
+func (x *FleurFairDungeonSectionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairDungeonSectionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairDungeonSectionInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairDungeonSectionInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairDungeonSectionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairDungeonSectionInfo) GetSectionId() uint32 {
+ if x != nil {
+ return x.SectionId
+ }
+ return 0
+}
+
+func (x *FleurFairDungeonSectionInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *FleurFairDungeonSectionInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_FleurFairDungeonSectionInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairDungeonSectionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1b, 0x46, 0x6c,
+ 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65,
+ 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairDungeonSectionInfo_proto_rawDescOnce sync.Once
+ file_FleurFairDungeonSectionInfo_proto_rawDescData = file_FleurFairDungeonSectionInfo_proto_rawDesc
+)
+
+func file_FleurFairDungeonSectionInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairDungeonSectionInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairDungeonSectionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairDungeonSectionInfo_proto_rawDescData)
+ })
+ return file_FleurFairDungeonSectionInfo_proto_rawDescData
+}
+
+var file_FleurFairDungeonSectionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairDungeonSectionInfo_proto_goTypes = []interface{}{
+ (*FleurFairDungeonSectionInfo)(nil), // 0: proto.FleurFairDungeonSectionInfo
+}
+var file_FleurFairDungeonSectionInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairDungeonSectionInfo_proto_init() }
+func file_FleurFairDungeonSectionInfo_proto_init() {
+ if File_FleurFairDungeonSectionInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairDungeonSectionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairDungeonSectionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairDungeonSectionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairDungeonSectionInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairDungeonSectionInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairDungeonSectionInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairDungeonSectionInfo_proto = out.File
+ file_FleurFairDungeonSectionInfo_proto_rawDesc = nil
+ file_FleurFairDungeonSectionInfo_proto_goTypes = nil
+ file_FleurFairDungeonSectionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairFallInfo.pb.go b/protocol/proto/FleurFairFallInfo.pb.go
new file mode 100644
index 00000000..36948040
--- /dev/null
+++ b/protocol/proto/FleurFairFallInfo.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairFallInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairFallInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BestScore uint32 `protobuf:"varint,10,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+}
+
+func (x *FleurFairFallInfo) Reset() {
+ *x = FleurFairFallInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairFallInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairFallInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairFallInfo) ProtoMessage() {}
+
+func (x *FleurFairFallInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairFallInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairFallInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairFallInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairFallInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairFallInfo) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+var File_FleurFairFallInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairFallInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x32, 0x0a, 0x11, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairFallInfo_proto_rawDescOnce sync.Once
+ file_FleurFairFallInfo_proto_rawDescData = file_FleurFairFallInfo_proto_rawDesc
+)
+
+func file_FleurFairFallInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairFallInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairFallInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairFallInfo_proto_rawDescData)
+ })
+ return file_FleurFairFallInfo_proto_rawDescData
+}
+
+var file_FleurFairFallInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairFallInfo_proto_goTypes = []interface{}{
+ (*FleurFairFallInfo)(nil), // 0: proto.FleurFairFallInfo
+}
+var file_FleurFairFallInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairFallInfo_proto_init() }
+func file_FleurFairFallInfo_proto_init() {
+ if File_FleurFairFallInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairFallInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairFallInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairFallInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairFallInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairFallInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairFallInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairFallInfo_proto = out.File
+ file_FleurFairFallInfo_proto_rawDesc = nil
+ file_FleurFairFallInfo_proto_goTypes = nil
+ file_FleurFairFallInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairFallSettleInfo.pb.go b/protocol/proto/FleurFairFallSettleInfo.pb.go
new file mode 100644
index 00000000..bf57c677
--- /dev/null
+++ b/protocol/proto/FleurFairFallSettleInfo.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairFallSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairFallSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SettleInfo *FallSettleInfo `protobuf:"bytes,4,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+ IsNewRecord bool `protobuf:"varint,10,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *FleurFairFallSettleInfo) Reset() {
+ *x = FleurFairFallSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairFallSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairFallSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairFallSettleInfo) ProtoMessage() {}
+
+func (x *FleurFairFallSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairFallSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairFallSettleInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairFallSettleInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairFallSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairFallSettleInfo) GetSettleInfo() *FallSettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+func (x *FleurFairFallSettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_FleurFairFallSettleInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairFallSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x17,
+ 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairFallSettleInfo_proto_rawDescOnce sync.Once
+ file_FleurFairFallSettleInfo_proto_rawDescData = file_FleurFairFallSettleInfo_proto_rawDesc
+)
+
+func file_FleurFairFallSettleInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairFallSettleInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairFallSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairFallSettleInfo_proto_rawDescData)
+ })
+ return file_FleurFairFallSettleInfo_proto_rawDescData
+}
+
+var file_FleurFairFallSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairFallSettleInfo_proto_goTypes = []interface{}{
+ (*FleurFairFallSettleInfo)(nil), // 0: proto.FleurFairFallSettleInfo
+ (*FallSettleInfo)(nil), // 1: proto.FallSettleInfo
+}
+var file_FleurFairFallSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairFallSettleInfo.settle_info:type_name -> proto.FallSettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairFallSettleInfo_proto_init() }
+func file_FleurFairFallSettleInfo_proto_init() {
+ if File_FleurFairFallSettleInfo_proto != nil {
+ return
+ }
+ file_FallSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairFallSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairFallSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairFallSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairFallSettleInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairFallSettleInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairFallSettleInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairFallSettleInfo_proto = out.File
+ file_FleurFairFallSettleInfo_proto_rawDesc = nil
+ file_FleurFairFallSettleInfo_proto_goTypes = nil
+ file_FleurFairFallSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairFallSettleNotify.pb.go b/protocol/proto/FleurFairFallSettleNotify.pb.go
new file mode 100644
index 00000000..8b167fa1
--- /dev/null
+++ b/protocol/proto/FleurFairFallSettleNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairFallSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2017
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FleurFairFallSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MinigameId uint32 `protobuf:"varint,15,opt,name=minigame_id,json=minigameId,proto3" json:"minigame_id,omitempty"`
+ SettleInfoMap map[uint32]*FleurFairFallSettleInfo `protobuf:"bytes,11,rep,name=settle_info_map,json=settleInfoMap,proto3" json:"settle_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *FleurFairFallSettleNotify) Reset() {
+ *x = FleurFairFallSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairFallSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairFallSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairFallSettleNotify) ProtoMessage() {}
+
+func (x *FleurFairFallSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairFallSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairFallSettleNotify.ProtoReflect.Descriptor instead.
+func (*FleurFairFallSettleNotify) Descriptor() ([]byte, []int) {
+ return file_FleurFairFallSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairFallSettleNotify) GetMinigameId() uint32 {
+ if x != nil {
+ return x.MinigameId
+ }
+ return 0
+}
+
+func (x *FleurFairFallSettleNotify) GetSettleInfoMap() map[uint32]*FleurFairFallSettleInfo {
+ if x != nil {
+ return x.SettleInfoMap
+ }
+ return nil
+}
+
+var File_FleurFairFallSettleNotify_proto protoreflect.FileDescriptor
+
+var file_FleurFairFallSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46,
+ 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x01, 0x0a, 0x19, 0x46, 0x6c, 0x65, 0x75,
+ 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x69,
+ 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69,
+ 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4d, 0x61, 0x70, 0x1a, 0x60, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c, 0x6c,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairFallSettleNotify_proto_rawDescOnce sync.Once
+ file_FleurFairFallSettleNotify_proto_rawDescData = file_FleurFairFallSettleNotify_proto_rawDesc
+)
+
+func file_FleurFairFallSettleNotify_proto_rawDescGZIP() []byte {
+ file_FleurFairFallSettleNotify_proto_rawDescOnce.Do(func() {
+ file_FleurFairFallSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairFallSettleNotify_proto_rawDescData)
+ })
+ return file_FleurFairFallSettleNotify_proto_rawDescData
+}
+
+var file_FleurFairFallSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_FleurFairFallSettleNotify_proto_goTypes = []interface{}{
+ (*FleurFairFallSettleNotify)(nil), // 0: proto.FleurFairFallSettleNotify
+ nil, // 1: proto.FleurFairFallSettleNotify.SettleInfoMapEntry
+ (*FleurFairFallSettleInfo)(nil), // 2: proto.FleurFairFallSettleInfo
+}
+var file_FleurFairFallSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairFallSettleNotify.settle_info_map:type_name -> proto.FleurFairFallSettleNotify.SettleInfoMapEntry
+ 2, // 1: proto.FleurFairFallSettleNotify.SettleInfoMapEntry.value:type_name -> proto.FleurFairFallSettleInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairFallSettleNotify_proto_init() }
+func file_FleurFairFallSettleNotify_proto_init() {
+ if File_FleurFairFallSettleNotify_proto != nil {
+ return
+ }
+ file_FleurFairFallSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairFallSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairFallSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairFallSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairFallSettleNotify_proto_goTypes,
+ DependencyIndexes: file_FleurFairFallSettleNotify_proto_depIdxs,
+ MessageInfos: file_FleurFairFallSettleNotify_proto_msgTypes,
+ }.Build()
+ File_FleurFairFallSettleNotify_proto = out.File
+ file_FleurFairFallSettleNotify_proto_rawDesc = nil
+ file_FleurFairFallSettleNotify_proto_goTypes = nil
+ file_FleurFairFallSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairFinishGalleryStageNotify.pb.go b/protocol/proto/FleurFairFinishGalleryStageNotify.pb.go
new file mode 100644
index 00000000..73b0c7a2
--- /dev/null
+++ b/protocol/proto/FleurFairFinishGalleryStageNotify.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairFinishGalleryStageNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5342
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FleurFairFinishGalleryStageNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FleurFairFinishGalleryStageNotify) Reset() {
+ *x = FleurFairFinishGalleryStageNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairFinishGalleryStageNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairFinishGalleryStageNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairFinishGalleryStageNotify) ProtoMessage() {}
+
+func (x *FleurFairFinishGalleryStageNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairFinishGalleryStageNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairFinishGalleryStageNotify.ProtoReflect.Descriptor instead.
+func (*FleurFairFinishGalleryStageNotify) Descriptor() ([]byte, []int) {
+ return file_FleurFairFinishGalleryStageNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FleurFairFinishGalleryStageNotify_proto protoreflect.FileDescriptor
+
+var file_FleurFairFinishGalleryStageNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x23, 0x0a, 0x21, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairFinishGalleryStageNotify_proto_rawDescOnce sync.Once
+ file_FleurFairFinishGalleryStageNotify_proto_rawDescData = file_FleurFairFinishGalleryStageNotify_proto_rawDesc
+)
+
+func file_FleurFairFinishGalleryStageNotify_proto_rawDescGZIP() []byte {
+ file_FleurFairFinishGalleryStageNotify_proto_rawDescOnce.Do(func() {
+ file_FleurFairFinishGalleryStageNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairFinishGalleryStageNotify_proto_rawDescData)
+ })
+ return file_FleurFairFinishGalleryStageNotify_proto_rawDescData
+}
+
+var file_FleurFairFinishGalleryStageNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairFinishGalleryStageNotify_proto_goTypes = []interface{}{
+ (*FleurFairFinishGalleryStageNotify)(nil), // 0: proto.FleurFairFinishGalleryStageNotify
+}
+var file_FleurFairFinishGalleryStageNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairFinishGalleryStageNotify_proto_init() }
+func file_FleurFairFinishGalleryStageNotify_proto_init() {
+ if File_FleurFairFinishGalleryStageNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairFinishGalleryStageNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairFinishGalleryStageNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairFinishGalleryStageNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairFinishGalleryStageNotify_proto_goTypes,
+ DependencyIndexes: file_FleurFairFinishGalleryStageNotify_proto_depIdxs,
+ MessageInfos: file_FleurFairFinishGalleryStageNotify_proto_msgTypes,
+ }.Build()
+ File_FleurFairFinishGalleryStageNotify_proto = out.File
+ file_FleurFairFinishGalleryStageNotify_proto_rawDesc = nil
+ file_FleurFairFinishGalleryStageNotify_proto_goTypes = nil
+ file_FleurFairFinishGalleryStageNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairGallerySettleInfo.pb.go b/protocol/proto/FleurFairGallerySettleInfo.pb.go
new file mode 100644
index 00000000..a54341d5
--- /dev/null
+++ b/protocol/proto/FleurFairGallerySettleInfo.pb.go
@@ -0,0 +1,212 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Energy uint32 `protobuf:"varint,2,opt,name=energy,proto3" json:"energy,omitempty"`
+ GalleryStageIndex uint32 `protobuf:"varint,11,opt,name=gallery_stage_index,json=galleryStageIndex,proto3" json:"gallery_stage_index,omitempty"`
+ EnergyStatMap map[uint32]int32 `protobuf:"bytes,6,rep,name=energy_stat_map,json=energyStatMap,proto3" json:"energy_stat_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ GalleryStageCount uint32 `protobuf:"varint,9,opt,name=gallery_stage_count,json=galleryStageCount,proto3" json:"gallery_stage_count,omitempty"`
+ IsSuccess bool `protobuf:"varint,1,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *FleurFairGallerySettleInfo) Reset() {
+ *x = FleurFairGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairGallerySettleInfo) ProtoMessage() {}
+
+func (x *FleurFairGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairGallerySettleInfo) GetEnergy() uint32 {
+ if x != nil {
+ return x.Energy
+ }
+ return 0
+}
+
+func (x *FleurFairGallerySettleInfo) GetGalleryStageIndex() uint32 {
+ if x != nil {
+ return x.GalleryStageIndex
+ }
+ return 0
+}
+
+func (x *FleurFairGallerySettleInfo) GetEnergyStatMap() map[uint32]int32 {
+ if x != nil {
+ return x.EnergyStatMap
+ }
+ return nil
+}
+
+func (x *FleurFairGallerySettleInfo) GetGalleryStageCount() uint32 {
+ if x != nil {
+ return x.GalleryStageCount
+ }
+ return 0
+}
+
+func (x *FleurFairGallerySettleInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_FleurFairGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x02, 0x0a, 0x1a, 0x46, 0x6c,
+ 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72,
+ 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
+ 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x5c, 0x0a, 0x0f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x6e, 0x65,
+ 0x72, 0x67, 0x79, 0x53, 0x74, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0d, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x53, 0x74, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x2e,
+ 0x0a, 0x13, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x1a, 0x40, 0x0a,
+ 0x12, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x53, 0x74, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_FleurFairGallerySettleInfo_proto_rawDescData = file_FleurFairGallerySettleInfo_proto_rawDesc
+)
+
+func file_FleurFairGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairGallerySettleInfo_proto_rawDescData)
+ })
+ return file_FleurFairGallerySettleInfo_proto_rawDescData
+}
+
+var file_FleurFairGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_FleurFairGallerySettleInfo_proto_goTypes = []interface{}{
+ (*FleurFairGallerySettleInfo)(nil), // 0: proto.FleurFairGallerySettleInfo
+ nil, // 1: proto.FleurFairGallerySettleInfo.EnergyStatMapEntry
+}
+var file_FleurFairGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairGallerySettleInfo.energy_stat_map:type_name -> proto.FleurFairGallerySettleInfo.EnergyStatMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairGallerySettleInfo_proto_init() }
+func file_FleurFairGallerySettleInfo_proto_init() {
+ if File_FleurFairGallerySettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairGallerySettleInfo_proto = out.File
+ file_FleurFairGallerySettleInfo_proto_rawDesc = nil
+ file_FleurFairGallerySettleInfo_proto_goTypes = nil
+ file_FleurFairGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairMinigameInfo.pb.go b/protocol/proto/FleurFairMinigameInfo.pb.go
new file mode 100644
index 00000000..b939cb44
--- /dev/null
+++ b/protocol/proto/FleurFairMinigameInfo.pb.go
@@ -0,0 +1,267 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairMinigameInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairMinigameInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MinigameId uint32 `protobuf:"varint,13,opt,name=minigame_id,json=minigameId,proto3" json:"minigame_id,omitempty"`
+ IsOpen bool `protobuf:"varint,8,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ OpenTime uint32 `protobuf:"varint,15,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *FleurFairMinigameInfo_BalloonInfo
+ // *FleurFairMinigameInfo_FallInfo
+ // *FleurFairMinigameInfo_MusicInfo
+ Detail isFleurFairMinigameInfo_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *FleurFairMinigameInfo) Reset() {
+ *x = FleurFairMinigameInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairMinigameInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairMinigameInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairMinigameInfo) ProtoMessage() {}
+
+func (x *FleurFairMinigameInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairMinigameInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairMinigameInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairMinigameInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairMinigameInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairMinigameInfo) GetMinigameId() uint32 {
+ if x != nil {
+ return x.MinigameId
+ }
+ return 0
+}
+
+func (x *FleurFairMinigameInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *FleurFairMinigameInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (m *FleurFairMinigameInfo) GetDetail() isFleurFairMinigameInfo_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *FleurFairMinigameInfo) GetBalloonInfo() *FleurFairBalloonInfo {
+ if x, ok := x.GetDetail().(*FleurFairMinigameInfo_BalloonInfo); ok {
+ return x.BalloonInfo
+ }
+ return nil
+}
+
+func (x *FleurFairMinigameInfo) GetFallInfo() *FleurFairFallInfo {
+ if x, ok := x.GetDetail().(*FleurFairMinigameInfo_FallInfo); ok {
+ return x.FallInfo
+ }
+ return nil
+}
+
+func (x *FleurFairMinigameInfo) GetMusicInfo() *FleurFairMusicGameInfo {
+ if x, ok := x.GetDetail().(*FleurFairMinigameInfo_MusicInfo); ok {
+ return x.MusicInfo
+ }
+ return nil
+}
+
+type isFleurFairMinigameInfo_Detail interface {
+ isFleurFairMinigameInfo_Detail()
+}
+
+type FleurFairMinigameInfo_BalloonInfo struct {
+ BalloonInfo *FleurFairBalloonInfo `protobuf:"bytes,12,opt,name=balloon_info,json=balloonInfo,proto3,oneof"`
+}
+
+type FleurFairMinigameInfo_FallInfo struct {
+ FallInfo *FleurFairFallInfo `protobuf:"bytes,11,opt,name=fall_info,json=fallInfo,proto3,oneof"`
+}
+
+type FleurFairMinigameInfo_MusicInfo struct {
+ MusicInfo *FleurFairMusicGameInfo `protobuf:"bytes,9,opt,name=music_info,json=musicInfo,proto3,oneof"`
+}
+
+func (*FleurFairMinigameInfo_BalloonInfo) isFleurFairMinigameInfo_Detail() {}
+
+func (*FleurFairMinigameInfo_FallInfo) isFleurFairMinigameInfo_Detail() {}
+
+func (*FleurFairMinigameInfo_MusicInfo) isFleurFairMinigameInfo_Detail() {}
+
+var File_FleurFairMinigameInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairMinigameInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x69, 0x6e, 0x69, 0x67,
+ 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x17, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x46, 0x6c, 0x65, 0x75, 0x72,
+ 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x02, 0x0a, 0x15, 0x46, 0x6c, 0x65, 0x75,
+ 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65,
+ 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6f,
+ 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x62, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72,
+ 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x62,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x09, 0x66, 0x61,
+ 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x46,
+ 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x66, 0x61, 0x6c, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0a, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61,
+ 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x49,
+ 0x6e, 0x66, 0x6f, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_FleurFairMinigameInfo_proto_rawDescOnce sync.Once
+ file_FleurFairMinigameInfo_proto_rawDescData = file_FleurFairMinigameInfo_proto_rawDesc
+)
+
+func file_FleurFairMinigameInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairMinigameInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairMinigameInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairMinigameInfo_proto_rawDescData)
+ })
+ return file_FleurFairMinigameInfo_proto_rawDescData
+}
+
+var file_FleurFairMinigameInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairMinigameInfo_proto_goTypes = []interface{}{
+ (*FleurFairMinigameInfo)(nil), // 0: proto.FleurFairMinigameInfo
+ (*FleurFairBalloonInfo)(nil), // 1: proto.FleurFairBalloonInfo
+ (*FleurFairFallInfo)(nil), // 2: proto.FleurFairFallInfo
+ (*FleurFairMusicGameInfo)(nil), // 3: proto.FleurFairMusicGameInfo
+}
+var file_FleurFairMinigameInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairMinigameInfo.balloon_info:type_name -> proto.FleurFairBalloonInfo
+ 2, // 1: proto.FleurFairMinigameInfo.fall_info:type_name -> proto.FleurFairFallInfo
+ 3, // 2: proto.FleurFairMinigameInfo.music_info:type_name -> proto.FleurFairMusicGameInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairMinigameInfo_proto_init() }
+func file_FleurFairMinigameInfo_proto_init() {
+ if File_FleurFairMinigameInfo_proto != nil {
+ return
+ }
+ file_FleurFairBalloonInfo_proto_init()
+ file_FleurFairFallInfo_proto_init()
+ file_FleurFairMusicGameInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairMinigameInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairMinigameInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_FleurFairMinigameInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*FleurFairMinigameInfo_BalloonInfo)(nil),
+ (*FleurFairMinigameInfo_FallInfo)(nil),
+ (*FleurFairMinigameInfo_MusicInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairMinigameInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairMinigameInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairMinigameInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairMinigameInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairMinigameInfo_proto = out.File
+ file_FleurFairMinigameInfo_proto_rawDesc = nil
+ file_FleurFairMinigameInfo_proto_goTypes = nil
+ file_FleurFairMinigameInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairMusicGameInfo.pb.go b/protocol/proto/FleurFairMusicGameInfo.pb.go
new file mode 100644
index 00000000..a297be66
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameInfo.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairMusicGameInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairMusicGameInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MusicRecordMap map[uint32]*FleurFairMusicRecord `protobuf:"bytes,10,rep,name=music_record_map,json=musicRecordMap,proto3" json:"music_record_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *FleurFairMusicGameInfo) Reset() {
+ *x = FleurFairMusicGameInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairMusicGameInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairMusicGameInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairMusicGameInfo) ProtoMessage() {}
+
+func (x *FleurFairMusicGameInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairMusicGameInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairMusicGameInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairMusicGameInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairMusicGameInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairMusicGameInfo) GetMusicRecordMap() map[uint32]*FleurFairMusicRecord {
+ if x != nil {
+ return x.MusicRecordMap
+ }
+ return nil
+}
+
+var File_FleurFairMusicGameInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairMusicGameInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63,
+ 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72,
+ 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xd5, 0x01, 0x0a, 0x16, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d,
+ 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x10,
+ 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x1a, 0x5e, 0x0a, 0x13, 0x4d, 0x75, 0x73,
+ 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46,
+ 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairMusicGameInfo_proto_rawDescOnce sync.Once
+ file_FleurFairMusicGameInfo_proto_rawDescData = file_FleurFairMusicGameInfo_proto_rawDesc
+)
+
+func file_FleurFairMusicGameInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairMusicGameInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairMusicGameInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairMusicGameInfo_proto_rawDescData)
+ })
+ return file_FleurFairMusicGameInfo_proto_rawDescData
+}
+
+var file_FleurFairMusicGameInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_FleurFairMusicGameInfo_proto_goTypes = []interface{}{
+ (*FleurFairMusicGameInfo)(nil), // 0: proto.FleurFairMusicGameInfo
+ nil, // 1: proto.FleurFairMusicGameInfo.MusicRecordMapEntry
+ (*FleurFairMusicRecord)(nil), // 2: proto.FleurFairMusicRecord
+}
+var file_FleurFairMusicGameInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairMusicGameInfo.music_record_map:type_name -> proto.FleurFairMusicGameInfo.MusicRecordMapEntry
+ 2, // 1: proto.FleurFairMusicGameInfo.MusicRecordMapEntry.value:type_name -> proto.FleurFairMusicRecord
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairMusicGameInfo_proto_init() }
+func file_FleurFairMusicGameInfo_proto_init() {
+ if File_FleurFairMusicGameInfo_proto != nil {
+ return
+ }
+ file_FleurFairMusicRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairMusicGameInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairMusicGameInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairMusicGameInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairMusicGameInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairMusicGameInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairMusicGameInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairMusicGameInfo_proto = out.File
+ file_FleurFairMusicGameInfo_proto_rawDesc = nil
+ file_FleurFairMusicGameInfo_proto_goTypes = nil
+ file_FleurFairMusicGameInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairMusicGameSettleReq.pb.go b/protocol/proto/FleurFairMusicGameSettleReq.pb.go
new file mode 100644
index 00000000..8318c87c
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameSettleReq.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairMusicGameSettleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2194
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FleurFairMusicGameSettleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,3,opt,name=score,proto3" json:"score,omitempty"`
+ Combo uint32 `protobuf:"varint,6,opt,name=combo,proto3" json:"combo,omitempty"`
+ CorrectHit uint32 `protobuf:"varint,10,opt,name=correct_hit,json=correctHit,proto3" json:"correct_hit,omitempty"`
+ MusicBasicId uint32 `protobuf:"varint,11,opt,name=music_basic_id,json=musicBasicId,proto3" json:"music_basic_id,omitempty"`
+}
+
+func (x *FleurFairMusicGameSettleReq) Reset() {
+ *x = FleurFairMusicGameSettleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairMusicGameSettleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairMusicGameSettleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairMusicGameSettleReq) ProtoMessage() {}
+
+func (x *FleurFairMusicGameSettleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairMusicGameSettleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairMusicGameSettleReq.ProtoReflect.Descriptor instead.
+func (*FleurFairMusicGameSettleReq) Descriptor() ([]byte, []int) {
+ return file_FleurFairMusicGameSettleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairMusicGameSettleReq) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *FleurFairMusicGameSettleReq) GetCombo() uint32 {
+ if x != nil {
+ return x.Combo
+ }
+ return 0
+}
+
+func (x *FleurFairMusicGameSettleReq) GetCorrectHit() uint32 {
+ if x != nil {
+ return x.CorrectHit
+ }
+ return 0
+}
+
+func (x *FleurFairMusicGameSettleReq) GetMusicBasicId() uint32 {
+ if x != nil {
+ return x.MusicBasicId
+ }
+ return 0
+}
+
+var File_FleurFairMusicGameSettleReq_proto protoreflect.FileDescriptor
+
+var file_FleurFairMusicGameSettleReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63,
+ 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x1b, 0x46,
+ 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d,
+ 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63,
+ 0x74, 0x5f, 0x68, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x72,
+ 0x72, 0x65, 0x63, 0x74, 0x48, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63,
+ 0x5f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_FleurFairMusicGameSettleReq_proto_rawDescOnce sync.Once
+ file_FleurFairMusicGameSettleReq_proto_rawDescData = file_FleurFairMusicGameSettleReq_proto_rawDesc
+)
+
+func file_FleurFairMusicGameSettleReq_proto_rawDescGZIP() []byte {
+ file_FleurFairMusicGameSettleReq_proto_rawDescOnce.Do(func() {
+ file_FleurFairMusicGameSettleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairMusicGameSettleReq_proto_rawDescData)
+ })
+ return file_FleurFairMusicGameSettleReq_proto_rawDescData
+}
+
+var file_FleurFairMusicGameSettleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairMusicGameSettleReq_proto_goTypes = []interface{}{
+ (*FleurFairMusicGameSettleReq)(nil), // 0: proto.FleurFairMusicGameSettleReq
+}
+var file_FleurFairMusicGameSettleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairMusicGameSettleReq_proto_init() }
+func file_FleurFairMusicGameSettleReq_proto_init() {
+ if File_FleurFairMusicGameSettleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairMusicGameSettleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairMusicGameSettleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairMusicGameSettleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairMusicGameSettleReq_proto_goTypes,
+ DependencyIndexes: file_FleurFairMusicGameSettleReq_proto_depIdxs,
+ MessageInfos: file_FleurFairMusicGameSettleReq_proto_msgTypes,
+ }.Build()
+ File_FleurFairMusicGameSettleReq_proto = out.File
+ file_FleurFairMusicGameSettleReq_proto_rawDesc = nil
+ file_FleurFairMusicGameSettleReq_proto_goTypes = nil
+ file_FleurFairMusicGameSettleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairMusicGameSettleRsp.pb.go b/protocol/proto/FleurFairMusicGameSettleRsp.pb.go
new file mode 100644
index 00000000..c7a47a7c
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameSettleRsp.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairMusicGameSettleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2113
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FleurFairMusicGameSettleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsUnlockNextLevel bool `protobuf:"varint,4,opt,name=is_unlock_next_level,json=isUnlockNextLevel,proto3" json:"is_unlock_next_level,omitempty"`
+ IsNewRecord bool `protobuf:"varint,12,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MusicBasicId uint32 `protobuf:"varint,9,opt,name=music_basic_id,json=musicBasicId,proto3" json:"music_basic_id,omitempty"`
+}
+
+func (x *FleurFairMusicGameSettleRsp) Reset() {
+ *x = FleurFairMusicGameSettleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairMusicGameSettleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairMusicGameSettleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairMusicGameSettleRsp) ProtoMessage() {}
+
+func (x *FleurFairMusicGameSettleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairMusicGameSettleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairMusicGameSettleRsp.ProtoReflect.Descriptor instead.
+func (*FleurFairMusicGameSettleRsp) Descriptor() ([]byte, []int) {
+ return file_FleurFairMusicGameSettleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairMusicGameSettleRsp) GetIsUnlockNextLevel() bool {
+ if x != nil {
+ return x.IsUnlockNextLevel
+ }
+ return false
+}
+
+func (x *FleurFairMusicGameSettleRsp) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *FleurFairMusicGameSettleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FleurFairMusicGameSettleRsp) GetMusicBasicId() uint32 {
+ if x != nil {
+ return x.MusicBasicId
+ }
+ return 0
+}
+
+var File_FleurFairMusicGameSettleRsp_proto protoreflect.FileDescriptor
+
+var file_FleurFairMusicGameSettleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63,
+ 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x1b, 0x46,
+ 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d,
+ 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73,
+ 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x4e, 0x65, 0x78, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73,
+ 0x69, 0x63, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairMusicGameSettleRsp_proto_rawDescOnce sync.Once
+ file_FleurFairMusicGameSettleRsp_proto_rawDescData = file_FleurFairMusicGameSettleRsp_proto_rawDesc
+)
+
+func file_FleurFairMusicGameSettleRsp_proto_rawDescGZIP() []byte {
+ file_FleurFairMusicGameSettleRsp_proto_rawDescOnce.Do(func() {
+ file_FleurFairMusicGameSettleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairMusicGameSettleRsp_proto_rawDescData)
+ })
+ return file_FleurFairMusicGameSettleRsp_proto_rawDescData
+}
+
+var file_FleurFairMusicGameSettleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairMusicGameSettleRsp_proto_goTypes = []interface{}{
+ (*FleurFairMusicGameSettleRsp)(nil), // 0: proto.FleurFairMusicGameSettleRsp
+}
+var file_FleurFairMusicGameSettleRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairMusicGameSettleRsp_proto_init() }
+func file_FleurFairMusicGameSettleRsp_proto_init() {
+ if File_FleurFairMusicGameSettleRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairMusicGameSettleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairMusicGameSettleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairMusicGameSettleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairMusicGameSettleRsp_proto_goTypes,
+ DependencyIndexes: file_FleurFairMusicGameSettleRsp_proto_depIdxs,
+ MessageInfos: file_FleurFairMusicGameSettleRsp_proto_msgTypes,
+ }.Build()
+ File_FleurFairMusicGameSettleRsp_proto = out.File
+ file_FleurFairMusicGameSettleRsp_proto_rawDesc = nil
+ file_FleurFairMusicGameSettleRsp_proto_goTypes = nil
+ file_FleurFairMusicGameSettleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairMusicGameStartReq.pb.go b/protocol/proto/FleurFairMusicGameStartReq.pb.go
new file mode 100644
index 00000000..2ed1342b
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameStartReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairMusicGameStartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2167
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FleurFairMusicGameStartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MusicBasicId uint32 `protobuf:"varint,2,opt,name=music_basic_id,json=musicBasicId,proto3" json:"music_basic_id,omitempty"`
+}
+
+func (x *FleurFairMusicGameStartReq) Reset() {
+ *x = FleurFairMusicGameStartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairMusicGameStartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairMusicGameStartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairMusicGameStartReq) ProtoMessage() {}
+
+func (x *FleurFairMusicGameStartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairMusicGameStartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairMusicGameStartReq.ProtoReflect.Descriptor instead.
+func (*FleurFairMusicGameStartReq) Descriptor() ([]byte, []int) {
+ return file_FleurFairMusicGameStartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairMusicGameStartReq) GetMusicBasicId() uint32 {
+ if x != nil {
+ return x.MusicBasicId
+ }
+ return 0
+}
+
+var File_FleurFairMusicGameStartReq_proto protoreflect.FileDescriptor
+
+var file_FleurFairMusicGameStartReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63,
+ 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x1a, 0x46, 0x6c, 0x65,
+ 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63,
+ 0x5f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_FleurFairMusicGameStartReq_proto_rawDescOnce sync.Once
+ file_FleurFairMusicGameStartReq_proto_rawDescData = file_FleurFairMusicGameStartReq_proto_rawDesc
+)
+
+func file_FleurFairMusicGameStartReq_proto_rawDescGZIP() []byte {
+ file_FleurFairMusicGameStartReq_proto_rawDescOnce.Do(func() {
+ file_FleurFairMusicGameStartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairMusicGameStartReq_proto_rawDescData)
+ })
+ return file_FleurFairMusicGameStartReq_proto_rawDescData
+}
+
+var file_FleurFairMusicGameStartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairMusicGameStartReq_proto_goTypes = []interface{}{
+ (*FleurFairMusicGameStartReq)(nil), // 0: proto.FleurFairMusicGameStartReq
+}
+var file_FleurFairMusicGameStartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairMusicGameStartReq_proto_init() }
+func file_FleurFairMusicGameStartReq_proto_init() {
+ if File_FleurFairMusicGameStartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairMusicGameStartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairMusicGameStartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairMusicGameStartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairMusicGameStartReq_proto_goTypes,
+ DependencyIndexes: file_FleurFairMusicGameStartReq_proto_depIdxs,
+ MessageInfos: file_FleurFairMusicGameStartReq_proto_msgTypes,
+ }.Build()
+ File_FleurFairMusicGameStartReq_proto = out.File
+ file_FleurFairMusicGameStartReq_proto_rawDesc = nil
+ file_FleurFairMusicGameStartReq_proto_goTypes = nil
+ file_FleurFairMusicGameStartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairMusicGameStartRsp.pb.go b/protocol/proto/FleurFairMusicGameStartRsp.pb.go
new file mode 100644
index 00000000..2bb7a00c
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameStartRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairMusicGameStartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2079
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FleurFairMusicGameStartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MusicBasicId uint32 `protobuf:"varint,7,opt,name=music_basic_id,json=musicBasicId,proto3" json:"music_basic_id,omitempty"`
+}
+
+func (x *FleurFairMusicGameStartRsp) Reset() {
+ *x = FleurFairMusicGameStartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairMusicGameStartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairMusicGameStartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairMusicGameStartRsp) ProtoMessage() {}
+
+func (x *FleurFairMusicGameStartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairMusicGameStartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairMusicGameStartRsp.ProtoReflect.Descriptor instead.
+func (*FleurFairMusicGameStartRsp) Descriptor() ([]byte, []int) {
+ return file_FleurFairMusicGameStartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairMusicGameStartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FleurFairMusicGameStartRsp) GetMusicBasicId() uint32 {
+ if x != nil {
+ return x.MusicBasicId
+ }
+ return 0
+}
+
+var File_FleurFairMusicGameStartRsp_proto protoreflect.FileDescriptor
+
+var file_FleurFairMusicGameStartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63,
+ 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x1a, 0x46, 0x6c, 0x65,
+ 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x63,
+ 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x75, 0x73, 0x69, 0x63,
+ 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairMusicGameStartRsp_proto_rawDescOnce sync.Once
+ file_FleurFairMusicGameStartRsp_proto_rawDescData = file_FleurFairMusicGameStartRsp_proto_rawDesc
+)
+
+func file_FleurFairMusicGameStartRsp_proto_rawDescGZIP() []byte {
+ file_FleurFairMusicGameStartRsp_proto_rawDescOnce.Do(func() {
+ file_FleurFairMusicGameStartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairMusicGameStartRsp_proto_rawDescData)
+ })
+ return file_FleurFairMusicGameStartRsp_proto_rawDescData
+}
+
+var file_FleurFairMusicGameStartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairMusicGameStartRsp_proto_goTypes = []interface{}{
+ (*FleurFairMusicGameStartRsp)(nil), // 0: proto.FleurFairMusicGameStartRsp
+}
+var file_FleurFairMusicGameStartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairMusicGameStartRsp_proto_init() }
+func file_FleurFairMusicGameStartRsp_proto_init() {
+ if File_FleurFairMusicGameStartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairMusicGameStartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairMusicGameStartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairMusicGameStartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairMusicGameStartRsp_proto_goTypes,
+ DependencyIndexes: file_FleurFairMusicGameStartRsp_proto_depIdxs,
+ MessageInfos: file_FleurFairMusicGameStartRsp_proto_msgTypes,
+ }.Build()
+ File_FleurFairMusicGameStartRsp_proto = out.File
+ file_FleurFairMusicGameStartRsp_proto_rawDesc = nil
+ file_FleurFairMusicGameStartRsp_proto_goTypes = nil
+ file_FleurFairMusicGameStartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairMusicRecord.pb.go b/protocol/proto/FleurFairMusicRecord.pb.go
new file mode 100644
index 00000000..de0b0e4d
--- /dev/null
+++ b/protocol/proto/FleurFairMusicRecord.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairMusicRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairMusicRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaxCombo uint32 `protobuf:"varint,1,opt,name=max_combo,json=maxCombo,proto3" json:"max_combo,omitempty"`
+ MaxScore uint32 `protobuf:"varint,11,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ IsUnlock bool `protobuf:"varint,12,opt,name=is_unlock,json=isUnlock,proto3" json:"is_unlock,omitempty"`
+}
+
+func (x *FleurFairMusicRecord) Reset() {
+ *x = FleurFairMusicRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairMusicRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairMusicRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairMusicRecord) ProtoMessage() {}
+
+func (x *FleurFairMusicRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairMusicRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairMusicRecord.ProtoReflect.Descriptor instead.
+func (*FleurFairMusicRecord) Descriptor() ([]byte, []int) {
+ return file_FleurFairMusicRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairMusicRecord) GetMaxCombo() uint32 {
+ if x != nil {
+ return x.MaxCombo
+ }
+ return 0
+}
+
+func (x *FleurFairMusicRecord) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *FleurFairMusicRecord) GetIsUnlock() bool {
+ if x != nil {
+ return x.IsUnlock
+ }
+ return false
+}
+
+var File_FleurFairMusicRecord_proto protoreflect.FileDescriptor
+
+var file_FleurFairMusicRecord_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x4d, 0x75, 0x73, 0x69, 0x63,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x14, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72,
+ 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d,
+ 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairMusicRecord_proto_rawDescOnce sync.Once
+ file_FleurFairMusicRecord_proto_rawDescData = file_FleurFairMusicRecord_proto_rawDesc
+)
+
+func file_FleurFairMusicRecord_proto_rawDescGZIP() []byte {
+ file_FleurFairMusicRecord_proto_rawDescOnce.Do(func() {
+ file_FleurFairMusicRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairMusicRecord_proto_rawDescData)
+ })
+ return file_FleurFairMusicRecord_proto_rawDescData
+}
+
+var file_FleurFairMusicRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairMusicRecord_proto_goTypes = []interface{}{
+ (*FleurFairMusicRecord)(nil), // 0: proto.FleurFairMusicRecord
+}
+var file_FleurFairMusicRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairMusicRecord_proto_init() }
+func file_FleurFairMusicRecord_proto_init() {
+ if File_FleurFairMusicRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairMusicRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairMusicRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairMusicRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairMusicRecord_proto_goTypes,
+ DependencyIndexes: file_FleurFairMusicRecord_proto_depIdxs,
+ MessageInfos: file_FleurFairMusicRecord_proto_msgTypes,
+ }.Build()
+ File_FleurFairMusicRecord_proto = out.File
+ file_FleurFairMusicRecord_proto_rawDesc = nil
+ file_FleurFairMusicRecord_proto_goTypes = nil
+ file_FleurFairMusicRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairPlayerStatInfo.pb.go b/protocol/proto/FleurFairPlayerStatInfo.pb.go
new file mode 100644
index 00000000..f70981c2
--- /dev/null
+++ b/protocol/proto/FleurFairPlayerStatInfo.pb.go
@@ -0,0 +1,224 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairPlayerStatInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FleurFairPlayerStatInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OnlineId string `protobuf:"bytes,11,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ Uid uint32 `protobuf:"varint,8,opt,name=uid,proto3" json:"uid,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,1,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ StatId uint32 `protobuf:"varint,3,opt,name=stat_id,json=statId,proto3" json:"stat_id,omitempty"`
+ HeadImage uint32 `protobuf:"varint,6,opt,name=head_image,json=headImage,proto3" json:"head_image,omitempty"`
+ NickName string `protobuf:"bytes,15,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
+ Param int32 `protobuf:"varint,5,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *FleurFairPlayerStatInfo) Reset() {
+ *x = FleurFairPlayerStatInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairPlayerStatInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairPlayerStatInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairPlayerStatInfo) ProtoMessage() {}
+
+func (x *FleurFairPlayerStatInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairPlayerStatInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairPlayerStatInfo.ProtoReflect.Descriptor instead.
+func (*FleurFairPlayerStatInfo) Descriptor() ([]byte, []int) {
+ return file_FleurFairPlayerStatInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairPlayerStatInfo) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *FleurFairPlayerStatInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *FleurFairPlayerStatInfo) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *FleurFairPlayerStatInfo) GetStatId() uint32 {
+ if x != nil {
+ return x.StatId
+ }
+ return 0
+}
+
+func (x *FleurFairPlayerStatInfo) GetHeadImage() uint32 {
+ if x != nil {
+ return x.HeadImage
+ }
+ return 0
+}
+
+func (x *FleurFairPlayerStatInfo) GetNickName() string {
+ if x != nil {
+ return x.NickName
+ }
+ return ""
+}
+
+func (x *FleurFairPlayerStatInfo) GetParam() int32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_FleurFairPlayerStatInfo_proto protoreflect.FileDescriptor
+
+var file_FleurFairPlayerStatInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50,
+ 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a,
+ 0x17, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x53, 0x74, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x69,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
+ 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
+ 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x49, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairPlayerStatInfo_proto_rawDescOnce sync.Once
+ file_FleurFairPlayerStatInfo_proto_rawDescData = file_FleurFairPlayerStatInfo_proto_rawDesc
+)
+
+func file_FleurFairPlayerStatInfo_proto_rawDescGZIP() []byte {
+ file_FleurFairPlayerStatInfo_proto_rawDescOnce.Do(func() {
+ file_FleurFairPlayerStatInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairPlayerStatInfo_proto_rawDescData)
+ })
+ return file_FleurFairPlayerStatInfo_proto_rawDescData
+}
+
+var file_FleurFairPlayerStatInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairPlayerStatInfo_proto_goTypes = []interface{}{
+ (*FleurFairPlayerStatInfo)(nil), // 0: proto.FleurFairPlayerStatInfo
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_FleurFairPlayerStatInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairPlayerStatInfo.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairPlayerStatInfo_proto_init() }
+func file_FleurFairPlayerStatInfo_proto_init() {
+ if File_FleurFairPlayerStatInfo_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairPlayerStatInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairPlayerStatInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairPlayerStatInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairPlayerStatInfo_proto_goTypes,
+ DependencyIndexes: file_FleurFairPlayerStatInfo_proto_depIdxs,
+ MessageInfos: file_FleurFairPlayerStatInfo_proto_msgTypes,
+ }.Build()
+ File_FleurFairPlayerStatInfo_proto = out.File
+ file_FleurFairPlayerStatInfo_proto_rawDesc = nil
+ file_FleurFairPlayerStatInfo_proto_goTypes = nil
+ file_FleurFairPlayerStatInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairReplayMiniGameReq.pb.go b/protocol/proto/FleurFairReplayMiniGameReq.pb.go
new file mode 100644
index 00000000..1f60f43a
--- /dev/null
+++ b/protocol/proto/FleurFairReplayMiniGameReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairReplayMiniGameReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2181
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FleurFairReplayMiniGameReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MinigameId uint32 `protobuf:"varint,5,opt,name=minigame_id,json=minigameId,proto3" json:"minigame_id,omitempty"`
+}
+
+func (x *FleurFairReplayMiniGameReq) Reset() {
+ *x = FleurFairReplayMiniGameReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairReplayMiniGameReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairReplayMiniGameReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairReplayMiniGameReq) ProtoMessage() {}
+
+func (x *FleurFairReplayMiniGameReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairReplayMiniGameReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairReplayMiniGameReq.ProtoReflect.Descriptor instead.
+func (*FleurFairReplayMiniGameReq) Descriptor() ([]byte, []int) {
+ return file_FleurFairReplayMiniGameReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairReplayMiniGameReq) GetMinigameId() uint32 {
+ if x != nil {
+ return x.MinigameId
+ }
+ return 0
+}
+
+var File_FleurFairReplayMiniGameReq_proto protoreflect.FileDescriptor
+
+var file_FleurFairReplayMiniGameReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x61,
+ 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x1a, 0x46, 0x6c, 0x65,
+ 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x6e, 0x69,
+ 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x69, 0x67,
+ 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69,
+ 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairReplayMiniGameReq_proto_rawDescOnce sync.Once
+ file_FleurFairReplayMiniGameReq_proto_rawDescData = file_FleurFairReplayMiniGameReq_proto_rawDesc
+)
+
+func file_FleurFairReplayMiniGameReq_proto_rawDescGZIP() []byte {
+ file_FleurFairReplayMiniGameReq_proto_rawDescOnce.Do(func() {
+ file_FleurFairReplayMiniGameReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairReplayMiniGameReq_proto_rawDescData)
+ })
+ return file_FleurFairReplayMiniGameReq_proto_rawDescData
+}
+
+var file_FleurFairReplayMiniGameReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairReplayMiniGameReq_proto_goTypes = []interface{}{
+ (*FleurFairReplayMiniGameReq)(nil), // 0: proto.FleurFairReplayMiniGameReq
+}
+var file_FleurFairReplayMiniGameReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairReplayMiniGameReq_proto_init() }
+func file_FleurFairReplayMiniGameReq_proto_init() {
+ if File_FleurFairReplayMiniGameReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairReplayMiniGameReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairReplayMiniGameReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairReplayMiniGameReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairReplayMiniGameReq_proto_goTypes,
+ DependencyIndexes: file_FleurFairReplayMiniGameReq_proto_depIdxs,
+ MessageInfos: file_FleurFairReplayMiniGameReq_proto_msgTypes,
+ }.Build()
+ File_FleurFairReplayMiniGameReq_proto = out.File
+ file_FleurFairReplayMiniGameReq_proto_rawDesc = nil
+ file_FleurFairReplayMiniGameReq_proto_goTypes = nil
+ file_FleurFairReplayMiniGameReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairReplayMiniGameRsp.pb.go b/protocol/proto/FleurFairReplayMiniGameRsp.pb.go
new file mode 100644
index 00000000..ffe5421b
--- /dev/null
+++ b/protocol/proto/FleurFairReplayMiniGameRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairReplayMiniGameRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2052
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FleurFairReplayMiniGameRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MinigameId uint32 `protobuf:"varint,8,opt,name=minigame_id,json=minigameId,proto3" json:"minigame_id,omitempty"`
+}
+
+func (x *FleurFairReplayMiniGameRsp) Reset() {
+ *x = FleurFairReplayMiniGameRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairReplayMiniGameRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairReplayMiniGameRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairReplayMiniGameRsp) ProtoMessage() {}
+
+func (x *FleurFairReplayMiniGameRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairReplayMiniGameRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairReplayMiniGameRsp.ProtoReflect.Descriptor instead.
+func (*FleurFairReplayMiniGameRsp) Descriptor() ([]byte, []int) {
+ return file_FleurFairReplayMiniGameRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairReplayMiniGameRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FleurFairReplayMiniGameRsp) GetMinigameId() uint32 {
+ if x != nil {
+ return x.MinigameId
+ }
+ return 0
+}
+
+var File_FleurFairReplayMiniGameRsp_proto protoreflect.FileDescriptor
+
+var file_FleurFairReplayMiniGameRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x61,
+ 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x1a, 0x46, 0x6c, 0x65,
+ 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x6e, 0x69,
+ 0x47, 0x61, 0x6d, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x69, 0x67, 0x61, 0x6d, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairReplayMiniGameRsp_proto_rawDescOnce sync.Once
+ file_FleurFairReplayMiniGameRsp_proto_rawDescData = file_FleurFairReplayMiniGameRsp_proto_rawDesc
+)
+
+func file_FleurFairReplayMiniGameRsp_proto_rawDescGZIP() []byte {
+ file_FleurFairReplayMiniGameRsp_proto_rawDescOnce.Do(func() {
+ file_FleurFairReplayMiniGameRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairReplayMiniGameRsp_proto_rawDescData)
+ })
+ return file_FleurFairReplayMiniGameRsp_proto_rawDescData
+}
+
+var file_FleurFairReplayMiniGameRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairReplayMiniGameRsp_proto_goTypes = []interface{}{
+ (*FleurFairReplayMiniGameRsp)(nil), // 0: proto.FleurFairReplayMiniGameRsp
+}
+var file_FleurFairReplayMiniGameRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairReplayMiniGameRsp_proto_init() }
+func file_FleurFairReplayMiniGameRsp_proto_init() {
+ if File_FleurFairReplayMiniGameRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairReplayMiniGameRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairReplayMiniGameRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairReplayMiniGameRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairReplayMiniGameRsp_proto_goTypes,
+ DependencyIndexes: file_FleurFairReplayMiniGameRsp_proto_depIdxs,
+ MessageInfos: file_FleurFairReplayMiniGameRsp_proto_msgTypes,
+ }.Build()
+ File_FleurFairReplayMiniGameRsp_proto = out.File
+ file_FleurFairReplayMiniGameRsp_proto_rawDesc = nil
+ file_FleurFairReplayMiniGameRsp_proto_goTypes = nil
+ file_FleurFairReplayMiniGameRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FleurFairStageSettleNotify.pb.go b/protocol/proto/FleurFairStageSettleNotify.pb.go
new file mode 100644
index 00000000..b99a59e6
--- /dev/null
+++ b/protocol/proto/FleurFairStageSettleNotify.pb.go
@@ -0,0 +1,230 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FleurFairStageSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5356
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FleurFairStageSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageType uint32 `protobuf:"varint,10,opt,name=stage_type,json=stageType,proto3" json:"stage_type,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *FleurFairStageSettleNotify_GallerySettleInfo
+ // *FleurFairStageSettleNotify_BossSettleInfo
+ Detail isFleurFairStageSettleNotify_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *FleurFairStageSettleNotify) Reset() {
+ *x = FleurFairStageSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FleurFairStageSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FleurFairStageSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FleurFairStageSettleNotify) ProtoMessage() {}
+
+func (x *FleurFairStageSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FleurFairStageSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FleurFairStageSettleNotify.ProtoReflect.Descriptor instead.
+func (*FleurFairStageSettleNotify) Descriptor() ([]byte, []int) {
+ return file_FleurFairStageSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FleurFairStageSettleNotify) GetStageType() uint32 {
+ if x != nil {
+ return x.StageType
+ }
+ return 0
+}
+
+func (m *FleurFairStageSettleNotify) GetDetail() isFleurFairStageSettleNotify_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *FleurFairStageSettleNotify) GetGallerySettleInfo() *FleurFairGallerySettleInfo {
+ if x, ok := x.GetDetail().(*FleurFairStageSettleNotify_GallerySettleInfo); ok {
+ return x.GallerySettleInfo
+ }
+ return nil
+}
+
+func (x *FleurFairStageSettleNotify) GetBossSettleInfo() *FleurFairBossSettleInfo {
+ if x, ok := x.GetDetail().(*FleurFairStageSettleNotify_BossSettleInfo); ok {
+ return x.BossSettleInfo
+ }
+ return nil
+}
+
+type isFleurFairStageSettleNotify_Detail interface {
+ isFleurFairStageSettleNotify_Detail()
+}
+
+type FleurFairStageSettleNotify_GallerySettleInfo struct {
+ GallerySettleInfo *FleurFairGallerySettleInfo `protobuf:"bytes,13,opt,name=gallery_settle_info,json=gallerySettleInfo,proto3,oneof"`
+}
+
+type FleurFairStageSettleNotify_BossSettleInfo struct {
+ BossSettleInfo *FleurFairBossSettleInfo `protobuf:"bytes,14,opt,name=boss_settle_info,json=bossSettleInfo,proto3,oneof"`
+}
+
+func (*FleurFairStageSettleNotify_GallerySettleInfo) isFleurFairStageSettleNotify_Detail() {}
+
+func (*FleurFairStageSettleNotify_BossSettleInfo) isFleurFairStageSettleNotify_Detail() {}
+
+var File_FleurFairStageSettleNotify_proto protoreflect.FileDescriptor
+
+var file_FleurFairStageSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x46, 0x6c, 0x65, 0x75, 0x72,
+ 0x46, 0x61, 0x69, 0x72, 0x42, 0x6f, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46,
+ 0x61, 0x69, 0x72, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01, 0x0a, 0x1a, 0x46,
+ 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x13, 0x67, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6c,
+ 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x67, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a,
+ 0x10, 0x62, 0x6f, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x42, 0x6f, 0x73, 0x73, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x6f, 0x73, 0x73, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FleurFairStageSettleNotify_proto_rawDescOnce sync.Once
+ file_FleurFairStageSettleNotify_proto_rawDescData = file_FleurFairStageSettleNotify_proto_rawDesc
+)
+
+func file_FleurFairStageSettleNotify_proto_rawDescGZIP() []byte {
+ file_FleurFairStageSettleNotify_proto_rawDescOnce.Do(func() {
+ file_FleurFairStageSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FleurFairStageSettleNotify_proto_rawDescData)
+ })
+ return file_FleurFairStageSettleNotify_proto_rawDescData
+}
+
+var file_FleurFairStageSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FleurFairStageSettleNotify_proto_goTypes = []interface{}{
+ (*FleurFairStageSettleNotify)(nil), // 0: proto.FleurFairStageSettleNotify
+ (*FleurFairGallerySettleInfo)(nil), // 1: proto.FleurFairGallerySettleInfo
+ (*FleurFairBossSettleInfo)(nil), // 2: proto.FleurFairBossSettleInfo
+}
+var file_FleurFairStageSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FleurFairStageSettleNotify.gallery_settle_info:type_name -> proto.FleurFairGallerySettleInfo
+ 2, // 1: proto.FleurFairStageSettleNotify.boss_settle_info:type_name -> proto.FleurFairBossSettleInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_FleurFairStageSettleNotify_proto_init() }
+func file_FleurFairStageSettleNotify_proto_init() {
+ if File_FleurFairStageSettleNotify_proto != nil {
+ return
+ }
+ file_FleurFairBossSettleInfo_proto_init()
+ file_FleurFairGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FleurFairStageSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FleurFairStageSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_FleurFairStageSettleNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*FleurFairStageSettleNotify_GallerySettleInfo)(nil),
+ (*FleurFairStageSettleNotify_BossSettleInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FleurFairStageSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FleurFairStageSettleNotify_proto_goTypes,
+ DependencyIndexes: file_FleurFairStageSettleNotify_proto_depIdxs,
+ MessageInfos: file_FleurFairStageSettleNotify_proto_msgTypes,
+ }.Build()
+ File_FleurFairStageSettleNotify_proto = out.File
+ file_FleurFairStageSettleNotify_proto_rawDesc = nil
+ file_FleurFairStageSettleNotify_proto_goTypes = nil
+ file_FleurFairStageSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FlightActivityDetailInfo.pb.go b/protocol/proto/FlightActivityDetailInfo.pb.go
new file mode 100644
index 00000000..ad3532dc
--- /dev/null
+++ b/protocol/proto/FlightActivityDetailInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FlightActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FlightActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PreviewRewardId uint32 `protobuf:"varint,15,opt,name=preview_reward_id,json=previewRewardId,proto3" json:"preview_reward_id,omitempty"`
+ MinOpenPlayerLevel uint32 `protobuf:"varint,11,opt,name=min_open_player_level,json=minOpenPlayerLevel,proto3" json:"min_open_player_level,omitempty"`
+ DailyRecordList []*FlightDailyRecord `protobuf:"bytes,1,rep,name=daily_record_list,json=dailyRecordList,proto3" json:"daily_record_list,omitempty"`
+}
+
+func (x *FlightActivityDetailInfo) Reset() {
+ *x = FlightActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FlightActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FlightActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FlightActivityDetailInfo) ProtoMessage() {}
+
+func (x *FlightActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FlightActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FlightActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*FlightActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_FlightActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FlightActivityDetailInfo) GetPreviewRewardId() uint32 {
+ if x != nil {
+ return x.PreviewRewardId
+ }
+ return 0
+}
+
+func (x *FlightActivityDetailInfo) GetMinOpenPlayerLevel() uint32 {
+ if x != nil {
+ return x.MinOpenPlayerLevel
+ }
+ return 0
+}
+
+func (x *FlightActivityDetailInfo) GetDailyRecordList() []*FlightDailyRecord {
+ if x != nil {
+ return x.DailyRecordList
+ }
+ return nil
+}
+
+var File_FlightActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_FlightActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x44,
+ 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a,
+ 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x69, 0x6e,
+ 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x4f, 0x70, 0x65,
+ 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x11,
+ 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x52, 0x0f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FlightActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_FlightActivityDetailInfo_proto_rawDescData = file_FlightActivityDetailInfo_proto_rawDesc
+)
+
+func file_FlightActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_FlightActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_FlightActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FlightActivityDetailInfo_proto_rawDescData)
+ })
+ return file_FlightActivityDetailInfo_proto_rawDescData
+}
+
+var file_FlightActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FlightActivityDetailInfo_proto_goTypes = []interface{}{
+ (*FlightActivityDetailInfo)(nil), // 0: proto.FlightActivityDetailInfo
+ (*FlightDailyRecord)(nil), // 1: proto.FlightDailyRecord
+}
+var file_FlightActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FlightActivityDetailInfo.daily_record_list:type_name -> proto.FlightDailyRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FlightActivityDetailInfo_proto_init() }
+func file_FlightActivityDetailInfo_proto_init() {
+ if File_FlightActivityDetailInfo_proto != nil {
+ return
+ }
+ file_FlightDailyRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FlightActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FlightActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FlightActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FlightActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_FlightActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_FlightActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_FlightActivityDetailInfo_proto = out.File
+ file_FlightActivityDetailInfo_proto_rawDesc = nil
+ file_FlightActivityDetailInfo_proto_goTypes = nil
+ file_FlightActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FlightActivityRestartReq.pb.go b/protocol/proto/FlightActivityRestartReq.pb.go
new file mode 100644
index 00000000..8df92a31
--- /dev/null
+++ b/protocol/proto/FlightActivityRestartReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FlightActivityRestartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2037
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FlightActivityRestartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,4,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *FlightActivityRestartReq) Reset() {
+ *x = FlightActivityRestartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FlightActivityRestartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FlightActivityRestartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FlightActivityRestartReq) ProtoMessage() {}
+
+func (x *FlightActivityRestartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FlightActivityRestartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FlightActivityRestartReq.ProtoReflect.Descriptor instead.
+func (*FlightActivityRestartReq) Descriptor() ([]byte, []int) {
+ return file_FlightActivityRestartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FlightActivityRestartReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *FlightActivityRestartReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_FlightActivityRestartReq_proto protoreflect.FileDescriptor
+
+var file_FlightActivityRestartReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x18, 0x46, 0x6c, 0x69, 0x67, 0x68,
+ 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FlightActivityRestartReq_proto_rawDescOnce sync.Once
+ file_FlightActivityRestartReq_proto_rawDescData = file_FlightActivityRestartReq_proto_rawDesc
+)
+
+func file_FlightActivityRestartReq_proto_rawDescGZIP() []byte {
+ file_FlightActivityRestartReq_proto_rawDescOnce.Do(func() {
+ file_FlightActivityRestartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FlightActivityRestartReq_proto_rawDescData)
+ })
+ return file_FlightActivityRestartReq_proto_rawDescData
+}
+
+var file_FlightActivityRestartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FlightActivityRestartReq_proto_goTypes = []interface{}{
+ (*FlightActivityRestartReq)(nil), // 0: proto.FlightActivityRestartReq
+}
+var file_FlightActivityRestartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FlightActivityRestartReq_proto_init() }
+func file_FlightActivityRestartReq_proto_init() {
+ if File_FlightActivityRestartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FlightActivityRestartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FlightActivityRestartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FlightActivityRestartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FlightActivityRestartReq_proto_goTypes,
+ DependencyIndexes: file_FlightActivityRestartReq_proto_depIdxs,
+ MessageInfos: file_FlightActivityRestartReq_proto_msgTypes,
+ }.Build()
+ File_FlightActivityRestartReq_proto = out.File
+ file_FlightActivityRestartReq_proto_rawDesc = nil
+ file_FlightActivityRestartReq_proto_goTypes = nil
+ file_FlightActivityRestartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FlightActivityRestartRsp.pb.go b/protocol/proto/FlightActivityRestartRsp.pb.go
new file mode 100644
index 00000000..2f9273db
--- /dev/null
+++ b/protocol/proto/FlightActivityRestartRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FlightActivityRestartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2165
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FlightActivityRestartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,11,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FlightActivityRestartRsp) Reset() {
+ *x = FlightActivityRestartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FlightActivityRestartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FlightActivityRestartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FlightActivityRestartRsp) ProtoMessage() {}
+
+func (x *FlightActivityRestartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FlightActivityRestartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FlightActivityRestartRsp.ProtoReflect.Descriptor instead.
+func (*FlightActivityRestartRsp) Descriptor() ([]byte, []int) {
+ return file_FlightActivityRestartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FlightActivityRestartRsp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *FlightActivityRestartRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *FlightActivityRestartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FlightActivityRestartRsp_proto protoreflect.FileDescriptor
+
+var file_FlightActivityRestartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x18, 0x46, 0x6c, 0x69, 0x67, 0x68,
+ 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FlightActivityRestartRsp_proto_rawDescOnce sync.Once
+ file_FlightActivityRestartRsp_proto_rawDescData = file_FlightActivityRestartRsp_proto_rawDesc
+)
+
+func file_FlightActivityRestartRsp_proto_rawDescGZIP() []byte {
+ file_FlightActivityRestartRsp_proto_rawDescOnce.Do(func() {
+ file_FlightActivityRestartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FlightActivityRestartRsp_proto_rawDescData)
+ })
+ return file_FlightActivityRestartRsp_proto_rawDescData
+}
+
+var file_FlightActivityRestartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FlightActivityRestartRsp_proto_goTypes = []interface{}{
+ (*FlightActivityRestartRsp)(nil), // 0: proto.FlightActivityRestartRsp
+}
+var file_FlightActivityRestartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FlightActivityRestartRsp_proto_init() }
+func file_FlightActivityRestartRsp_proto_init() {
+ if File_FlightActivityRestartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FlightActivityRestartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FlightActivityRestartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FlightActivityRestartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FlightActivityRestartRsp_proto_goTypes,
+ DependencyIndexes: file_FlightActivityRestartRsp_proto_depIdxs,
+ MessageInfos: file_FlightActivityRestartRsp_proto_msgTypes,
+ }.Build()
+ File_FlightActivityRestartRsp_proto = out.File
+ file_FlightActivityRestartRsp_proto_rawDesc = nil
+ file_FlightActivityRestartRsp_proto_goTypes = nil
+ file_FlightActivityRestartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FlightActivitySettleNotify.pb.go b/protocol/proto/FlightActivitySettleNotify.pb.go
new file mode 100644
index 00000000..5193cd8a
--- /dev/null
+++ b/protocol/proto/FlightActivitySettleNotify.pb.go
@@ -0,0 +1,232 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FlightActivitySettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2195
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FlightActivitySettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,1,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ MedalLevel uint32 `protobuf:"varint,6,opt,name=medal_level,json=medalLevel,proto3" json:"medal_level,omitempty"`
+ LeftTime uint32 `protobuf:"varint,13,opt,name=left_time,json=leftTime,proto3" json:"left_time,omitempty"`
+ CollectNum uint32 `protobuf:"varint,9,opt,name=collect_num,json=collectNum,proto3" json:"collect_num,omitempty"`
+ TotalNum uint32 `protobuf:"varint,5,opt,name=total_num,json=totalNum,proto3" json:"total_num,omitempty"`
+ GroupId uint32 `protobuf:"varint,8,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ Score uint32 `protobuf:"varint,10,opt,name=score,proto3" json:"score,omitempty"`
+ IsSuccess bool `protobuf:"varint,4,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *FlightActivitySettleNotify) Reset() {
+ *x = FlightActivitySettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FlightActivitySettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FlightActivitySettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FlightActivitySettleNotify) ProtoMessage() {}
+
+func (x *FlightActivitySettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FlightActivitySettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FlightActivitySettleNotify.ProtoReflect.Descriptor instead.
+func (*FlightActivitySettleNotify) Descriptor() ([]byte, []int) {
+ return file_FlightActivitySettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FlightActivitySettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *FlightActivitySettleNotify) GetMedalLevel() uint32 {
+ if x != nil {
+ return x.MedalLevel
+ }
+ return 0
+}
+
+func (x *FlightActivitySettleNotify) GetLeftTime() uint32 {
+ if x != nil {
+ return x.LeftTime
+ }
+ return 0
+}
+
+func (x *FlightActivitySettleNotify) GetCollectNum() uint32 {
+ if x != nil {
+ return x.CollectNum
+ }
+ return 0
+}
+
+func (x *FlightActivitySettleNotify) GetTotalNum() uint32 {
+ if x != nil {
+ return x.TotalNum
+ }
+ return 0
+}
+
+func (x *FlightActivitySettleNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *FlightActivitySettleNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *FlightActivitySettleNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_FlightActivitySettleNotify_proto protoreflect.FileDescriptor
+
+var file_FlightActivitySettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x02, 0x0a, 0x1a, 0x46, 0x6c,
+ 0x69, 0x67, 0x68, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e,
+ 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a,
+ 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75,
+ 0x70, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75,
+ 0x70, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f,
+ 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69,
+ 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FlightActivitySettleNotify_proto_rawDescOnce sync.Once
+ file_FlightActivitySettleNotify_proto_rawDescData = file_FlightActivitySettleNotify_proto_rawDesc
+)
+
+func file_FlightActivitySettleNotify_proto_rawDescGZIP() []byte {
+ file_FlightActivitySettleNotify_proto_rawDescOnce.Do(func() {
+ file_FlightActivitySettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FlightActivitySettleNotify_proto_rawDescData)
+ })
+ return file_FlightActivitySettleNotify_proto_rawDescData
+}
+
+var file_FlightActivitySettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FlightActivitySettleNotify_proto_goTypes = []interface{}{
+ (*FlightActivitySettleNotify)(nil), // 0: proto.FlightActivitySettleNotify
+}
+var file_FlightActivitySettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FlightActivitySettleNotify_proto_init() }
+func file_FlightActivitySettleNotify_proto_init() {
+ if File_FlightActivitySettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FlightActivitySettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FlightActivitySettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FlightActivitySettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FlightActivitySettleNotify_proto_goTypes,
+ DependencyIndexes: file_FlightActivitySettleNotify_proto_depIdxs,
+ MessageInfos: file_FlightActivitySettleNotify_proto_msgTypes,
+ }.Build()
+ File_FlightActivitySettleNotify_proto = out.File
+ file_FlightActivitySettleNotify_proto_rawDesc = nil
+ file_FlightActivitySettleNotify_proto_goTypes = nil
+ file_FlightActivitySettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FlightDailyRecord.pb.go b/protocol/proto/FlightDailyRecord.pb.go
new file mode 100644
index 00000000..3cdaef5b
--- /dev/null
+++ b/protocol/proto/FlightDailyRecord.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FlightDailyRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FlightDailyRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,4,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ IsTouched bool `protobuf:"varint,1,opt,name=is_touched,json=isTouched,proto3" json:"is_touched,omitempty"`
+ WatcherIdList []uint32 `protobuf:"varint,11,rep,packed,name=watcher_id_list,json=watcherIdList,proto3" json:"watcher_id_list,omitempty"`
+ BestScore uint32 `protobuf:"varint,7,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+ StartTime uint32 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+}
+
+func (x *FlightDailyRecord) Reset() {
+ *x = FlightDailyRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FlightDailyRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FlightDailyRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FlightDailyRecord) ProtoMessage() {}
+
+func (x *FlightDailyRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_FlightDailyRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FlightDailyRecord.ProtoReflect.Descriptor instead.
+func (*FlightDailyRecord) Descriptor() ([]byte, []int) {
+ return file_FlightDailyRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FlightDailyRecord) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *FlightDailyRecord) GetIsTouched() bool {
+ if x != nil {
+ return x.IsTouched
+ }
+ return false
+}
+
+func (x *FlightDailyRecord) GetWatcherIdList() []uint32 {
+ if x != nil {
+ return x.WatcherIdList
+ }
+ return nil
+}
+
+func (x *FlightDailyRecord) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+func (x *FlightDailyRecord) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+var File_FlightDailyRecord_proto protoreflect.FileDescriptor
+
+var file_FlightDailyRecord_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xb3, 0x01, 0x0a, 0x11, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x64,
+ 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74,
+ 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65,
+ 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FlightDailyRecord_proto_rawDescOnce sync.Once
+ file_FlightDailyRecord_proto_rawDescData = file_FlightDailyRecord_proto_rawDesc
+)
+
+func file_FlightDailyRecord_proto_rawDescGZIP() []byte {
+ file_FlightDailyRecord_proto_rawDescOnce.Do(func() {
+ file_FlightDailyRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_FlightDailyRecord_proto_rawDescData)
+ })
+ return file_FlightDailyRecord_proto_rawDescData
+}
+
+var file_FlightDailyRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FlightDailyRecord_proto_goTypes = []interface{}{
+ (*FlightDailyRecord)(nil), // 0: proto.FlightDailyRecord
+}
+var file_FlightDailyRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FlightDailyRecord_proto_init() }
+func file_FlightDailyRecord_proto_init() {
+ if File_FlightDailyRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FlightDailyRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FlightDailyRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FlightDailyRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FlightDailyRecord_proto_goTypes,
+ DependencyIndexes: file_FlightDailyRecord_proto_depIdxs,
+ MessageInfos: file_FlightDailyRecord_proto_msgTypes,
+ }.Build()
+ File_FlightDailyRecord_proto = out.File
+ file_FlightDailyRecord_proto_rawDesc = nil
+ file_FlightDailyRecord_proto_goTypes = nil
+ file_FlightDailyRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FocusAvatarReq.pb.go b/protocol/proto/FocusAvatarReq.pb.go
new file mode 100644
index 00000000..167fcd4d
--- /dev/null
+++ b/protocol/proto/FocusAvatarReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FocusAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1654
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FocusAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,1,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ IsFocus bool `protobuf:"varint,8,opt,name=is_focus,json=isFocus,proto3" json:"is_focus,omitempty"`
+}
+
+func (x *FocusAvatarReq) Reset() {
+ *x = FocusAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FocusAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FocusAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FocusAvatarReq) ProtoMessage() {}
+
+func (x *FocusAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FocusAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FocusAvatarReq.ProtoReflect.Descriptor instead.
+func (*FocusAvatarReq) Descriptor() ([]byte, []int) {
+ return file_FocusAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FocusAvatarReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *FocusAvatarReq) GetIsFocus() bool {
+ if x != nil {
+ return x.IsFocus
+ }
+ return false
+}
+
+var File_FocusAvatarReq_proto protoreflect.FileDescriptor
+
+var file_FocusAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a,
+ 0x0e, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FocusAvatarReq_proto_rawDescOnce sync.Once
+ file_FocusAvatarReq_proto_rawDescData = file_FocusAvatarReq_proto_rawDesc
+)
+
+func file_FocusAvatarReq_proto_rawDescGZIP() []byte {
+ file_FocusAvatarReq_proto_rawDescOnce.Do(func() {
+ file_FocusAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FocusAvatarReq_proto_rawDescData)
+ })
+ return file_FocusAvatarReq_proto_rawDescData
+}
+
+var file_FocusAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FocusAvatarReq_proto_goTypes = []interface{}{
+ (*FocusAvatarReq)(nil), // 0: proto.FocusAvatarReq
+}
+var file_FocusAvatarReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FocusAvatarReq_proto_init() }
+func file_FocusAvatarReq_proto_init() {
+ if File_FocusAvatarReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FocusAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FocusAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FocusAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FocusAvatarReq_proto_goTypes,
+ DependencyIndexes: file_FocusAvatarReq_proto_depIdxs,
+ MessageInfos: file_FocusAvatarReq_proto_msgTypes,
+ }.Build()
+ File_FocusAvatarReq_proto = out.File
+ file_FocusAvatarReq_proto_rawDesc = nil
+ file_FocusAvatarReq_proto_goTypes = nil
+ file_FocusAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FocusAvatarRsp.pb.go b/protocol/proto/FocusAvatarRsp.pb.go
new file mode 100644
index 00000000..ed66cbd4
--- /dev/null
+++ b/protocol/proto/FocusAvatarRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FocusAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1681
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FocusAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsFocus bool `protobuf:"varint,11,opt,name=is_focus,json=isFocus,proto3" json:"is_focus,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,4,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *FocusAvatarRsp) Reset() {
+ *x = FocusAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FocusAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FocusAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FocusAvatarRsp) ProtoMessage() {}
+
+func (x *FocusAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FocusAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FocusAvatarRsp.ProtoReflect.Descriptor instead.
+func (*FocusAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_FocusAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FocusAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FocusAvatarRsp) GetIsFocus() bool {
+ if x != nil {
+ return x.IsFocus
+ }
+ return false
+}
+
+func (x *FocusAvatarRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_FocusAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_FocusAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a,
+ 0x0e, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f,
+ 0x66, 0x6f, 0x63, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46,
+ 0x6f, 0x63, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FocusAvatarRsp_proto_rawDescOnce sync.Once
+ file_FocusAvatarRsp_proto_rawDescData = file_FocusAvatarRsp_proto_rawDesc
+)
+
+func file_FocusAvatarRsp_proto_rawDescGZIP() []byte {
+ file_FocusAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_FocusAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FocusAvatarRsp_proto_rawDescData)
+ })
+ return file_FocusAvatarRsp_proto_rawDescData
+}
+
+var file_FocusAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FocusAvatarRsp_proto_goTypes = []interface{}{
+ (*FocusAvatarRsp)(nil), // 0: proto.FocusAvatarRsp
+}
+var file_FocusAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FocusAvatarRsp_proto_init() }
+func file_FocusAvatarRsp_proto_init() {
+ if File_FocusAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FocusAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FocusAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FocusAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FocusAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_FocusAvatarRsp_proto_depIdxs,
+ MessageInfos: file_FocusAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_FocusAvatarRsp_proto = out.File
+ file_FocusAvatarRsp_proto_rawDesc = nil
+ file_FocusAvatarRsp_proto_goTypes = nil
+ file_FocusAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForceAddPlayerFriendReq.pb.go b/protocol/proto/ForceAddPlayerFriendReq.pb.go
new file mode 100644
index 00000000..3db43c48
--- /dev/null
+++ b/protocol/proto/ForceAddPlayerFriendReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForceAddPlayerFriendReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4057
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ForceAddPlayerFriendReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,15,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *ForceAddPlayerFriendReq) Reset() {
+ *x = ForceAddPlayerFriendReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForceAddPlayerFriendReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForceAddPlayerFriendReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForceAddPlayerFriendReq) ProtoMessage() {}
+
+func (x *ForceAddPlayerFriendReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ForceAddPlayerFriendReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForceAddPlayerFriendReq.ProtoReflect.Descriptor instead.
+func (*ForceAddPlayerFriendReq) Descriptor() ([]byte, []int) {
+ return file_ForceAddPlayerFriendReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForceAddPlayerFriendReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_ForceAddPlayerFriendReq_proto protoreflect.FileDescriptor
+
+var file_ForceAddPlayerFriendReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x17, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41,
+ 0x64, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForceAddPlayerFriendReq_proto_rawDescOnce sync.Once
+ file_ForceAddPlayerFriendReq_proto_rawDescData = file_ForceAddPlayerFriendReq_proto_rawDesc
+)
+
+func file_ForceAddPlayerFriendReq_proto_rawDescGZIP() []byte {
+ file_ForceAddPlayerFriendReq_proto_rawDescOnce.Do(func() {
+ file_ForceAddPlayerFriendReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForceAddPlayerFriendReq_proto_rawDescData)
+ })
+ return file_ForceAddPlayerFriendReq_proto_rawDescData
+}
+
+var file_ForceAddPlayerFriendReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForceAddPlayerFriendReq_proto_goTypes = []interface{}{
+ (*ForceAddPlayerFriendReq)(nil), // 0: proto.ForceAddPlayerFriendReq
+}
+var file_ForceAddPlayerFriendReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForceAddPlayerFriendReq_proto_init() }
+func file_ForceAddPlayerFriendReq_proto_init() {
+ if File_ForceAddPlayerFriendReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ForceAddPlayerFriendReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForceAddPlayerFriendReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForceAddPlayerFriendReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForceAddPlayerFriendReq_proto_goTypes,
+ DependencyIndexes: file_ForceAddPlayerFriendReq_proto_depIdxs,
+ MessageInfos: file_ForceAddPlayerFriendReq_proto_msgTypes,
+ }.Build()
+ File_ForceAddPlayerFriendReq_proto = out.File
+ file_ForceAddPlayerFriendReq_proto_rawDesc = nil
+ file_ForceAddPlayerFriendReq_proto_goTypes = nil
+ file_ForceAddPlayerFriendReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForceAddPlayerFriendRsp.pb.go b/protocol/proto/ForceAddPlayerFriendRsp.pb.go
new file mode 100644
index 00000000..b94105aa
--- /dev/null
+++ b/protocol/proto/ForceAddPlayerFriendRsp.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForceAddPlayerFriendRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4100
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ForceAddPlayerFriendRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetFriendBrief *FriendBrief `protobuf:"bytes,2,opt,name=target_friend_brief,json=targetFriendBrief,proto3" json:"target_friend_brief,omitempty"`
+ TargetUid uint32 `protobuf:"varint,9,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *ForceAddPlayerFriendRsp) Reset() {
+ *x = ForceAddPlayerFriendRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForceAddPlayerFriendRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForceAddPlayerFriendRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForceAddPlayerFriendRsp) ProtoMessage() {}
+
+func (x *ForceAddPlayerFriendRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ForceAddPlayerFriendRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForceAddPlayerFriendRsp.ProtoReflect.Descriptor instead.
+func (*ForceAddPlayerFriendRsp) Descriptor() ([]byte, []int) {
+ return file_ForceAddPlayerFriendRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForceAddPlayerFriendRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ForceAddPlayerFriendRsp) GetTargetFriendBrief() *FriendBrief {
+ if x != nil {
+ return x.TargetFriendBrief
+ }
+ return nil
+}
+
+func (x *ForceAddPlayerFriendRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_ForceAddPlayerFriendRsp_proto protoreflect.FileDescriptor
+
+var file_ForceAddPlayerFriendRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72,
+ 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x17, 0x46, 0x6f,
+ 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x42, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72,
+ 0x69, 0x65, 0x66, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55,
+ 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForceAddPlayerFriendRsp_proto_rawDescOnce sync.Once
+ file_ForceAddPlayerFriendRsp_proto_rawDescData = file_ForceAddPlayerFriendRsp_proto_rawDesc
+)
+
+func file_ForceAddPlayerFriendRsp_proto_rawDescGZIP() []byte {
+ file_ForceAddPlayerFriendRsp_proto_rawDescOnce.Do(func() {
+ file_ForceAddPlayerFriendRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForceAddPlayerFriendRsp_proto_rawDescData)
+ })
+ return file_ForceAddPlayerFriendRsp_proto_rawDescData
+}
+
+var file_ForceAddPlayerFriendRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForceAddPlayerFriendRsp_proto_goTypes = []interface{}{
+ (*ForceAddPlayerFriendRsp)(nil), // 0: proto.ForceAddPlayerFriendRsp
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_ForceAddPlayerFriendRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ForceAddPlayerFriendRsp.target_friend_brief:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ForceAddPlayerFriendRsp_proto_init() }
+func file_ForceAddPlayerFriendRsp_proto_init() {
+ if File_ForceAddPlayerFriendRsp_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ForceAddPlayerFriendRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForceAddPlayerFriendRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForceAddPlayerFriendRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForceAddPlayerFriendRsp_proto_goTypes,
+ DependencyIndexes: file_ForceAddPlayerFriendRsp_proto_depIdxs,
+ MessageInfos: file_ForceAddPlayerFriendRsp_proto_msgTypes,
+ }.Build()
+ File_ForceAddPlayerFriendRsp_proto = out.File
+ file_ForceAddPlayerFriendRsp_proto_rawDesc = nil
+ file_ForceAddPlayerFriendRsp_proto_goTypes = nil
+ file_ForceAddPlayerFriendRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForceDragAvatarNotify.pb.go b/protocol/proto/ForceDragAvatarNotify.pb.go
new file mode 100644
index 00000000..127ea939
--- /dev/null
+++ b/protocol/proto/ForceDragAvatarNotify.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForceDragAvatarNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3235
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ForceDragAvatarNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneTime uint32 `protobuf:"varint,3,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ DeltaTimeMs uint64 `protobuf:"varint,1,opt,name=delta_time_ms,json=deltaTimeMs,proto3" json:"delta_time_ms,omitempty"`
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ MotionInfo *MotionInfo `protobuf:"bytes,10,opt,name=motion_info,json=motionInfo,proto3" json:"motion_info,omitempty"`
+ IsFirstValid bool `protobuf:"varint,8,opt,name=is_first_valid,json=isFirstValid,proto3" json:"is_first_valid,omitempty"`
+ LastMoveTimeMs uint64 `protobuf:"varint,12,opt,name=last_move_time_ms,json=lastMoveTimeMs,proto3" json:"last_move_time_ms,omitempty"`
+}
+
+func (x *ForceDragAvatarNotify) Reset() {
+ *x = ForceDragAvatarNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForceDragAvatarNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForceDragAvatarNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForceDragAvatarNotify) ProtoMessage() {}
+
+func (x *ForceDragAvatarNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ForceDragAvatarNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForceDragAvatarNotify.ProtoReflect.Descriptor instead.
+func (*ForceDragAvatarNotify) Descriptor() ([]byte, []int) {
+ return file_ForceDragAvatarNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForceDragAvatarNotify) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *ForceDragAvatarNotify) GetDeltaTimeMs() uint64 {
+ if x != nil {
+ return x.DeltaTimeMs
+ }
+ return 0
+}
+
+func (x *ForceDragAvatarNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *ForceDragAvatarNotify) GetMotionInfo() *MotionInfo {
+ if x != nil {
+ return x.MotionInfo
+ }
+ return nil
+}
+
+func (x *ForceDragAvatarNotify) GetIsFirstValid() bool {
+ if x != nil {
+ return x.IsFirstValid
+ }
+ return false
+}
+
+func (x *ForceDragAvatarNotify) GetLastMoveTimeMs() uint64 {
+ if x != nil {
+ return x.LastMoveTimeMs
+ }
+ return 0
+}
+
+var File_ForceDragAvatarNotify_proto protoreflect.FileDescriptor
+
+var file_ForceDragAvatarNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x44, 0x72, 0x61, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x15, 0x46, 0x6f, 0x72, 0x63, 0x65,
+ 0x44, 0x72, 0x61, 0x67, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x22, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x54, 0x69, 0x6d,
+ 0x65, 0x4d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x32, 0x0a, 0x0b, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74,
+ 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73,
+ 0x46, 0x69, 0x72, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x11, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForceDragAvatarNotify_proto_rawDescOnce sync.Once
+ file_ForceDragAvatarNotify_proto_rawDescData = file_ForceDragAvatarNotify_proto_rawDesc
+)
+
+func file_ForceDragAvatarNotify_proto_rawDescGZIP() []byte {
+ file_ForceDragAvatarNotify_proto_rawDescOnce.Do(func() {
+ file_ForceDragAvatarNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForceDragAvatarNotify_proto_rawDescData)
+ })
+ return file_ForceDragAvatarNotify_proto_rawDescData
+}
+
+var file_ForceDragAvatarNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForceDragAvatarNotify_proto_goTypes = []interface{}{
+ (*ForceDragAvatarNotify)(nil), // 0: proto.ForceDragAvatarNotify
+ (*MotionInfo)(nil), // 1: proto.MotionInfo
+}
+var file_ForceDragAvatarNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ForceDragAvatarNotify.motion_info:type_name -> proto.MotionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ForceDragAvatarNotify_proto_init() }
+func file_ForceDragAvatarNotify_proto_init() {
+ if File_ForceDragAvatarNotify_proto != nil {
+ return
+ }
+ file_MotionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ForceDragAvatarNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForceDragAvatarNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForceDragAvatarNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForceDragAvatarNotify_proto_goTypes,
+ DependencyIndexes: file_ForceDragAvatarNotify_proto_depIdxs,
+ MessageInfos: file_ForceDragAvatarNotify_proto_msgTypes,
+ }.Build()
+ File_ForceDragAvatarNotify_proto = out.File
+ file_ForceDragAvatarNotify_proto_rawDesc = nil
+ file_ForceDragAvatarNotify_proto_goTypes = nil
+ file_ForceDragAvatarNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForceDragBackTransferNotify.pb.go b/protocol/proto/ForceDragBackTransferNotify.pb.go
new file mode 100644
index 00000000..92f6f3b7
--- /dev/null
+++ b/protocol/proto/ForceDragBackTransferNotify.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForceDragBackTransferNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3145
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ForceDragBackTransferNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ForceDragBackTransferNotify) Reset() {
+ *x = ForceDragBackTransferNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForceDragBackTransferNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForceDragBackTransferNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForceDragBackTransferNotify) ProtoMessage() {}
+
+func (x *ForceDragBackTransferNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ForceDragBackTransferNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForceDragBackTransferNotify.ProtoReflect.Descriptor instead.
+func (*ForceDragBackTransferNotify) Descriptor() ([]byte, []int) {
+ return file_ForceDragBackTransferNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ForceDragBackTransferNotify_proto protoreflect.FileDescriptor
+
+var file_ForceDragBackTransferNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x44, 0x72, 0x61, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x46, 0x6f,
+ 0x72, 0x63, 0x65, 0x44, 0x72, 0x61, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForceDragBackTransferNotify_proto_rawDescOnce sync.Once
+ file_ForceDragBackTransferNotify_proto_rawDescData = file_ForceDragBackTransferNotify_proto_rawDesc
+)
+
+func file_ForceDragBackTransferNotify_proto_rawDescGZIP() []byte {
+ file_ForceDragBackTransferNotify_proto_rawDescOnce.Do(func() {
+ file_ForceDragBackTransferNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForceDragBackTransferNotify_proto_rawDescData)
+ })
+ return file_ForceDragBackTransferNotify_proto_rawDescData
+}
+
+var file_ForceDragBackTransferNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForceDragBackTransferNotify_proto_goTypes = []interface{}{
+ (*ForceDragBackTransferNotify)(nil), // 0: proto.ForceDragBackTransferNotify
+}
+var file_ForceDragBackTransferNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForceDragBackTransferNotify_proto_init() }
+func file_ForceDragBackTransferNotify_proto_init() {
+ if File_ForceDragBackTransferNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ForceDragBackTransferNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForceDragBackTransferNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForceDragBackTransferNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForceDragBackTransferNotify_proto_goTypes,
+ DependencyIndexes: file_ForceDragBackTransferNotify_proto_depIdxs,
+ MessageInfos: file_ForceDragBackTransferNotify_proto_msgTypes,
+ }.Build()
+ File_ForceDragBackTransferNotify_proto = out.File
+ file_ForceDragBackTransferNotify_proto_rawDesc = nil
+ file_ForceDragBackTransferNotify_proto_goTypes = nil
+ file_ForceDragBackTransferNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForceUpdateInfo.pb.go b/protocol/proto/ForceUpdateInfo.pb.go
new file mode 100644
index 00000000..b6e06bd6
--- /dev/null
+++ b/protocol/proto/ForceUpdateInfo.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForceUpdateInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ForceUpdateInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForceUpdateUrl string `protobuf:"bytes,1,opt,name=force_update_url,json=forceUpdateUrl,proto3" json:"force_update_url,omitempty"`
+}
+
+func (x *ForceUpdateInfo) Reset() {
+ *x = ForceUpdateInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForceUpdateInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForceUpdateInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForceUpdateInfo) ProtoMessage() {}
+
+func (x *ForceUpdateInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ForceUpdateInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForceUpdateInfo.ProtoReflect.Descriptor instead.
+func (*ForceUpdateInfo) Descriptor() ([]byte, []int) {
+ return file_ForceUpdateInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForceUpdateInfo) GetForceUpdateUrl() string {
+ if x != nil {
+ return x.ForceUpdateUrl
+ }
+ return ""
+}
+
+var File_ForceUpdateInfo_proto protoreflect.FileDescriptor
+
+var file_ForceUpdateInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x6f, 0x72,
+ 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForceUpdateInfo_proto_rawDescOnce sync.Once
+ file_ForceUpdateInfo_proto_rawDescData = file_ForceUpdateInfo_proto_rawDesc
+)
+
+func file_ForceUpdateInfo_proto_rawDescGZIP() []byte {
+ file_ForceUpdateInfo_proto_rawDescOnce.Do(func() {
+ file_ForceUpdateInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForceUpdateInfo_proto_rawDescData)
+ })
+ return file_ForceUpdateInfo_proto_rawDescData
+}
+
+var file_ForceUpdateInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForceUpdateInfo_proto_goTypes = []interface{}{
+ (*ForceUpdateInfo)(nil), // 0: proto.ForceUpdateInfo
+}
+var file_ForceUpdateInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForceUpdateInfo_proto_init() }
+func file_ForceUpdateInfo_proto_init() {
+ if File_ForceUpdateInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ForceUpdateInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForceUpdateInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForceUpdateInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForceUpdateInfo_proto_goTypes,
+ DependencyIndexes: file_ForceUpdateInfo_proto_depIdxs,
+ MessageInfos: file_ForceUpdateInfo_proto_msgTypes,
+ }.Build()
+ File_ForceUpdateInfo_proto = out.File
+ file_ForceUpdateInfo_proto_rawDesc = nil
+ file_ForceUpdateInfo_proto_goTypes = nil
+ file_ForceUpdateInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeDataNotify.pb.go b/protocol/proto/ForgeDataNotify.pb.go
new file mode 100644
index 00000000..6ea0eb25
--- /dev/null
+++ b/protocol/proto/ForgeDataNotify.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 680
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ForgeDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForgeIdList []uint32 `protobuf:"varint,5,rep,packed,name=forge_id_list,json=forgeIdList,proto3" json:"forge_id_list,omitempty"`
+ ForgeQueueMap map[uint32]*ForgeQueueData `protobuf:"bytes,8,rep,name=forge_queue_map,json=forgeQueueMap,proto3" json:"forge_queue_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ MaxQueueNum uint32 `protobuf:"varint,14,opt,name=max_queue_num,json=maxQueueNum,proto3" json:"max_queue_num,omitempty"`
+}
+
+func (x *ForgeDataNotify) Reset() {
+ *x = ForgeDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeDataNotify) ProtoMessage() {}
+
+func (x *ForgeDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeDataNotify.ProtoReflect.Descriptor instead.
+func (*ForgeDataNotify) Descriptor() ([]byte, []int) {
+ return file_ForgeDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeDataNotify) GetForgeIdList() []uint32 {
+ if x != nil {
+ return x.ForgeIdList
+ }
+ return nil
+}
+
+func (x *ForgeDataNotify) GetForgeQueueMap() map[uint32]*ForgeQueueData {
+ if x != nil {
+ return x.ForgeQueueMap
+ }
+ return nil
+}
+
+func (x *ForgeDataNotify) GetMaxQueueNum() uint32 {
+ if x != nil {
+ return x.MaxQueueNum
+ }
+ return 0
+}
+
+var File_ForgeDataNotify_proto protoreflect.FileDescriptor
+
+var file_ForgeDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14,
+ 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0b, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0f,
+ 0x66, 0x6f, 0x72, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f,
+ 0x72, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x46, 0x6f,
+ 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x12,
+ 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x6e, 0x75, 0x6d,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65,
+ 0x4e, 0x75, 0x6d, 0x1a, 0x57, 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75,
+ 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeDataNotify_proto_rawDescOnce sync.Once
+ file_ForgeDataNotify_proto_rawDescData = file_ForgeDataNotify_proto_rawDesc
+)
+
+func file_ForgeDataNotify_proto_rawDescGZIP() []byte {
+ file_ForgeDataNotify_proto_rawDescOnce.Do(func() {
+ file_ForgeDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeDataNotify_proto_rawDescData)
+ })
+ return file_ForgeDataNotify_proto_rawDescData
+}
+
+var file_ForgeDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ForgeDataNotify_proto_goTypes = []interface{}{
+ (*ForgeDataNotify)(nil), // 0: proto.ForgeDataNotify
+ nil, // 1: proto.ForgeDataNotify.ForgeQueueMapEntry
+ (*ForgeQueueData)(nil), // 2: proto.ForgeQueueData
+}
+var file_ForgeDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ForgeDataNotify.forge_queue_map:type_name -> proto.ForgeDataNotify.ForgeQueueMapEntry
+ 2, // 1: proto.ForgeDataNotify.ForgeQueueMapEntry.value:type_name -> proto.ForgeQueueData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ForgeDataNotify_proto_init() }
+func file_ForgeDataNotify_proto_init() {
+ if File_ForgeDataNotify_proto != nil {
+ return
+ }
+ file_ForgeQueueData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeDataNotify_proto_goTypes,
+ DependencyIndexes: file_ForgeDataNotify_proto_depIdxs,
+ MessageInfos: file_ForgeDataNotify_proto_msgTypes,
+ }.Build()
+ File_ForgeDataNotify_proto = out.File
+ file_ForgeDataNotify_proto_rawDesc = nil
+ file_ForgeDataNotify_proto_goTypes = nil
+ file_ForgeDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeFormulaDataNotify.pb.go b/protocol/proto/ForgeFormulaDataNotify.pb.go
new file mode 100644
index 00000000..cdd30d74
--- /dev/null
+++ b/protocol/proto/ForgeFormulaDataNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeFormulaDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 689
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ForgeFormulaDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsLocked bool `protobuf:"varint,15,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
+ ForgeId uint32 `protobuf:"varint,13,opt,name=forge_id,json=forgeId,proto3" json:"forge_id,omitempty"`
+}
+
+func (x *ForgeFormulaDataNotify) Reset() {
+ *x = ForgeFormulaDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeFormulaDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeFormulaDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeFormulaDataNotify) ProtoMessage() {}
+
+func (x *ForgeFormulaDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeFormulaDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeFormulaDataNotify.ProtoReflect.Descriptor instead.
+func (*ForgeFormulaDataNotify) Descriptor() ([]byte, []int) {
+ return file_ForgeFormulaDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeFormulaDataNotify) GetIsLocked() bool {
+ if x != nil {
+ return x.IsLocked
+ }
+ return false
+}
+
+func (x *ForgeFormulaDataNotify) GetForgeId() uint32 {
+ if x != nil {
+ return x.ForgeId
+ }
+ return 0
+}
+
+var File_ForgeFormulaDataNotify_proto protoreflect.FileDescriptor
+
+var file_ForgeFormulaDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x16, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x46, 0x6f,
+ 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08,
+ 0x66, 0x6f, 0x72, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x66, 0x6f, 0x72, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeFormulaDataNotify_proto_rawDescOnce sync.Once
+ file_ForgeFormulaDataNotify_proto_rawDescData = file_ForgeFormulaDataNotify_proto_rawDesc
+)
+
+func file_ForgeFormulaDataNotify_proto_rawDescGZIP() []byte {
+ file_ForgeFormulaDataNotify_proto_rawDescOnce.Do(func() {
+ file_ForgeFormulaDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeFormulaDataNotify_proto_rawDescData)
+ })
+ return file_ForgeFormulaDataNotify_proto_rawDescData
+}
+
+var file_ForgeFormulaDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForgeFormulaDataNotify_proto_goTypes = []interface{}{
+ (*ForgeFormulaDataNotify)(nil), // 0: proto.ForgeFormulaDataNotify
+}
+var file_ForgeFormulaDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForgeFormulaDataNotify_proto_init() }
+func file_ForgeFormulaDataNotify_proto_init() {
+ if File_ForgeFormulaDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeFormulaDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeFormulaDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeFormulaDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeFormulaDataNotify_proto_goTypes,
+ DependencyIndexes: file_ForgeFormulaDataNotify_proto_depIdxs,
+ MessageInfos: file_ForgeFormulaDataNotify_proto_msgTypes,
+ }.Build()
+ File_ForgeFormulaDataNotify_proto = out.File
+ file_ForgeFormulaDataNotify_proto_rawDesc = nil
+ file_ForgeFormulaDataNotify_proto_goTypes = nil
+ file_ForgeFormulaDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeGetQueueDataReq.pb.go b/protocol/proto/ForgeGetQueueDataReq.pb.go
new file mode 100644
index 00000000..49b456ae
--- /dev/null
+++ b/protocol/proto/ForgeGetQueueDataReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeGetQueueDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 646
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ForgeGetQueueDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ForgeGetQueueDataReq) Reset() {
+ *x = ForgeGetQueueDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeGetQueueDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeGetQueueDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeGetQueueDataReq) ProtoMessage() {}
+
+func (x *ForgeGetQueueDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeGetQueueDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeGetQueueDataReq.ProtoReflect.Descriptor instead.
+func (*ForgeGetQueueDataReq) Descriptor() ([]byte, []int) {
+ return file_ForgeGetQueueDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ForgeGetQueueDataReq_proto protoreflect.FileDescriptor
+
+var file_ForgeGetQueueDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x47, 0x65, 0x74, 0x51,
+ 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeGetQueueDataReq_proto_rawDescOnce sync.Once
+ file_ForgeGetQueueDataReq_proto_rawDescData = file_ForgeGetQueueDataReq_proto_rawDesc
+)
+
+func file_ForgeGetQueueDataReq_proto_rawDescGZIP() []byte {
+ file_ForgeGetQueueDataReq_proto_rawDescOnce.Do(func() {
+ file_ForgeGetQueueDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeGetQueueDataReq_proto_rawDescData)
+ })
+ return file_ForgeGetQueueDataReq_proto_rawDescData
+}
+
+var file_ForgeGetQueueDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForgeGetQueueDataReq_proto_goTypes = []interface{}{
+ (*ForgeGetQueueDataReq)(nil), // 0: proto.ForgeGetQueueDataReq
+}
+var file_ForgeGetQueueDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForgeGetQueueDataReq_proto_init() }
+func file_ForgeGetQueueDataReq_proto_init() {
+ if File_ForgeGetQueueDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeGetQueueDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeGetQueueDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeGetQueueDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeGetQueueDataReq_proto_goTypes,
+ DependencyIndexes: file_ForgeGetQueueDataReq_proto_depIdxs,
+ MessageInfos: file_ForgeGetQueueDataReq_proto_msgTypes,
+ }.Build()
+ File_ForgeGetQueueDataReq_proto = out.File
+ file_ForgeGetQueueDataReq_proto_rawDesc = nil
+ file_ForgeGetQueueDataReq_proto_goTypes = nil
+ file_ForgeGetQueueDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeGetQueueDataRsp.pb.go b/protocol/proto/ForgeGetQueueDataRsp.pb.go
new file mode 100644
index 00000000..62e85b00
--- /dev/null
+++ b/protocol/proto/ForgeGetQueueDataRsp.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeGetQueueDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 641
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ForgeGetQueueDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForgeQueueMap map[uint32]*ForgeQueueData `protobuf:"bytes,2,rep,name=forge_queue_map,json=forgeQueueMap,proto3" json:"forge_queue_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MaxQueueNum uint32 `protobuf:"varint,6,opt,name=max_queue_num,json=maxQueueNum,proto3" json:"max_queue_num,omitempty"`
+}
+
+func (x *ForgeGetQueueDataRsp) Reset() {
+ *x = ForgeGetQueueDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeGetQueueDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeGetQueueDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeGetQueueDataRsp) ProtoMessage() {}
+
+func (x *ForgeGetQueueDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeGetQueueDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeGetQueueDataRsp.ProtoReflect.Descriptor instead.
+func (*ForgeGetQueueDataRsp) Descriptor() ([]byte, []int) {
+ return file_ForgeGetQueueDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeGetQueueDataRsp) GetForgeQueueMap() map[uint32]*ForgeQueueData {
+ if x != nil {
+ return x.ForgeQueueMap
+ }
+ return nil
+}
+
+func (x *ForgeGetQueueDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ForgeGetQueueDataRsp) GetMaxQueueNum() uint32 {
+ if x != nil {
+ return x.MaxQueueNum
+ }
+ return 0
+}
+
+var File_ForgeGetQueueDataRsp_proto protoreflect.FileDescriptor
+
+var file_ForgeGetQueueDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x14, 0x46, 0x6f,
+ 0x72, 0x67, 0x65, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x73, 0x70, 0x12, 0x56, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x75,
+ 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x75,
+ 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75,
+ 0x65, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x66, 0x6f, 0x72,
+ 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75,
+ 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78,
+ 0x51, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x75, 0x6d, 0x1a, 0x57, 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x67,
+ 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65,
+ 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeGetQueueDataRsp_proto_rawDescOnce sync.Once
+ file_ForgeGetQueueDataRsp_proto_rawDescData = file_ForgeGetQueueDataRsp_proto_rawDesc
+)
+
+func file_ForgeGetQueueDataRsp_proto_rawDescGZIP() []byte {
+ file_ForgeGetQueueDataRsp_proto_rawDescOnce.Do(func() {
+ file_ForgeGetQueueDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeGetQueueDataRsp_proto_rawDescData)
+ })
+ return file_ForgeGetQueueDataRsp_proto_rawDescData
+}
+
+var file_ForgeGetQueueDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ForgeGetQueueDataRsp_proto_goTypes = []interface{}{
+ (*ForgeGetQueueDataRsp)(nil), // 0: proto.ForgeGetQueueDataRsp
+ nil, // 1: proto.ForgeGetQueueDataRsp.ForgeQueueMapEntry
+ (*ForgeQueueData)(nil), // 2: proto.ForgeQueueData
+}
+var file_ForgeGetQueueDataRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ForgeGetQueueDataRsp.forge_queue_map:type_name -> proto.ForgeGetQueueDataRsp.ForgeQueueMapEntry
+ 2, // 1: proto.ForgeGetQueueDataRsp.ForgeQueueMapEntry.value:type_name -> proto.ForgeQueueData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ForgeGetQueueDataRsp_proto_init() }
+func file_ForgeGetQueueDataRsp_proto_init() {
+ if File_ForgeGetQueueDataRsp_proto != nil {
+ return
+ }
+ file_ForgeQueueData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeGetQueueDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeGetQueueDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeGetQueueDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeGetQueueDataRsp_proto_goTypes,
+ DependencyIndexes: file_ForgeGetQueueDataRsp_proto_depIdxs,
+ MessageInfos: file_ForgeGetQueueDataRsp_proto_msgTypes,
+ }.Build()
+ File_ForgeGetQueueDataRsp_proto = out.File
+ file_ForgeGetQueueDataRsp_proto_rawDesc = nil
+ file_ForgeGetQueueDataRsp_proto_goTypes = nil
+ file_ForgeGetQueueDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeQueueData.pb.go b/protocol/proto/ForgeQueueData.pb.go
new file mode 100644
index 00000000..5e9b995f
--- /dev/null
+++ b/protocol/proto/ForgeQueueData.pb.go
@@ -0,0 +1,221 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeQueueData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ForgeQueueData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishCount uint32 `protobuf:"varint,13,opt,name=finish_count,json=finishCount,proto3" json:"finish_count,omitempty"`
+ TotalFinishTimestamp uint32 `protobuf:"varint,14,opt,name=total_finish_timestamp,json=totalFinishTimestamp,proto3" json:"total_finish_timestamp,omitempty"`
+ AvatarId uint32 `protobuf:"varint,7,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ QueueId uint32 `protobuf:"varint,1,opt,name=queue_id,json=queueId,proto3" json:"queue_id,omitempty"`
+ UnfinishCount uint32 `protobuf:"varint,10,opt,name=unfinish_count,json=unfinishCount,proto3" json:"unfinish_count,omitempty"`
+ NextFinishTimestamp uint32 `protobuf:"varint,11,opt,name=next_finish_timestamp,json=nextFinishTimestamp,proto3" json:"next_finish_timestamp,omitempty"`
+ ForgeId uint32 `protobuf:"varint,15,opt,name=forge_id,json=forgeId,proto3" json:"forge_id,omitempty"`
+}
+
+func (x *ForgeQueueData) Reset() {
+ *x = ForgeQueueData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeQueueData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeQueueData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeQueueData) ProtoMessage() {}
+
+func (x *ForgeQueueData) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeQueueData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeQueueData.ProtoReflect.Descriptor instead.
+func (*ForgeQueueData) Descriptor() ([]byte, []int) {
+ return file_ForgeQueueData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeQueueData) GetFinishCount() uint32 {
+ if x != nil {
+ return x.FinishCount
+ }
+ return 0
+}
+
+func (x *ForgeQueueData) GetTotalFinishTimestamp() uint32 {
+ if x != nil {
+ return x.TotalFinishTimestamp
+ }
+ return 0
+}
+
+func (x *ForgeQueueData) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *ForgeQueueData) GetQueueId() uint32 {
+ if x != nil {
+ return x.QueueId
+ }
+ return 0
+}
+
+func (x *ForgeQueueData) GetUnfinishCount() uint32 {
+ if x != nil {
+ return x.UnfinishCount
+ }
+ return 0
+}
+
+func (x *ForgeQueueData) GetNextFinishTimestamp() uint32 {
+ if x != nil {
+ return x.NextFinishTimestamp
+ }
+ return 0
+}
+
+func (x *ForgeQueueData) GetForgeId() uint32 {
+ if x != nil {
+ return x.ForgeId
+ }
+ return 0
+}
+
+var File_ForgeQueueData_proto protoreflect.FileDescriptor
+
+var file_ForgeQueueData_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x02,
+ 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49,
+ 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x75, 0x6e, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x78, 0x74,
+ 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x08,
+ 0x66, 0x6f, 0x72, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x66, 0x6f, 0x72, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeQueueData_proto_rawDescOnce sync.Once
+ file_ForgeQueueData_proto_rawDescData = file_ForgeQueueData_proto_rawDesc
+)
+
+func file_ForgeQueueData_proto_rawDescGZIP() []byte {
+ file_ForgeQueueData_proto_rawDescOnce.Do(func() {
+ file_ForgeQueueData_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeQueueData_proto_rawDescData)
+ })
+ return file_ForgeQueueData_proto_rawDescData
+}
+
+var file_ForgeQueueData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForgeQueueData_proto_goTypes = []interface{}{
+ (*ForgeQueueData)(nil), // 0: proto.ForgeQueueData
+}
+var file_ForgeQueueData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForgeQueueData_proto_init() }
+func file_ForgeQueueData_proto_init() {
+ if File_ForgeQueueData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeQueueData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeQueueData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeQueueData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeQueueData_proto_goTypes,
+ DependencyIndexes: file_ForgeQueueData_proto_depIdxs,
+ MessageInfos: file_ForgeQueueData_proto_msgTypes,
+ }.Build()
+ File_ForgeQueueData_proto = out.File
+ file_ForgeQueueData_proto_rawDesc = nil
+ file_ForgeQueueData_proto_goTypes = nil
+ file_ForgeQueueData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeQueueDataNotify.pb.go b/protocol/proto/ForgeQueueDataNotify.pb.go
new file mode 100644
index 00000000..601879ff
--- /dev/null
+++ b/protocol/proto/ForgeQueueDataNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeQueueDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 676
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ForgeQueueDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForgeQueueMap map[uint32]*ForgeQueueData `protobuf:"bytes,7,rep,name=forge_queue_map,json=forgeQueueMap,proto3" json:"forge_queue_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ RemovedForgeQueueList []uint32 `protobuf:"varint,6,rep,packed,name=removed_forge_queue_list,json=removedForgeQueueList,proto3" json:"removed_forge_queue_list,omitempty"`
+}
+
+func (x *ForgeQueueDataNotify) Reset() {
+ *x = ForgeQueueDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeQueueDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeQueueDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeQueueDataNotify) ProtoMessage() {}
+
+func (x *ForgeQueueDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeQueueDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeQueueDataNotify.ProtoReflect.Descriptor instead.
+func (*ForgeQueueDataNotify) Descriptor() ([]byte, []int) {
+ return file_ForgeQueueDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeQueueDataNotify) GetForgeQueueMap() map[uint32]*ForgeQueueData {
+ if x != nil {
+ return x.ForgeQueueMap
+ }
+ return nil
+}
+
+func (x *ForgeQueueDataNotify) GetRemovedForgeQueueList() []uint32 {
+ if x != nil {
+ return x.RemovedForgeQueueList
+ }
+ return nil
+}
+
+var File_ForgeQueueDataNotify_proto protoreflect.FileDescriptor
+
+var file_ForgeQueueDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x02, 0x0a, 0x14, 0x46, 0x6f,
+ 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x75,
+ 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75,
+ 0x65, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x66, 0x6f, 0x72,
+ 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x37, 0x0a, 0x18, 0x72, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x75,
+ 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x15, 0x72, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4c,
+ 0x69, 0x73, 0x74, 0x1a, 0x57, 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75,
+ 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeQueueDataNotify_proto_rawDescOnce sync.Once
+ file_ForgeQueueDataNotify_proto_rawDescData = file_ForgeQueueDataNotify_proto_rawDesc
+)
+
+func file_ForgeQueueDataNotify_proto_rawDescGZIP() []byte {
+ file_ForgeQueueDataNotify_proto_rawDescOnce.Do(func() {
+ file_ForgeQueueDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeQueueDataNotify_proto_rawDescData)
+ })
+ return file_ForgeQueueDataNotify_proto_rawDescData
+}
+
+var file_ForgeQueueDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ForgeQueueDataNotify_proto_goTypes = []interface{}{
+ (*ForgeQueueDataNotify)(nil), // 0: proto.ForgeQueueDataNotify
+ nil, // 1: proto.ForgeQueueDataNotify.ForgeQueueMapEntry
+ (*ForgeQueueData)(nil), // 2: proto.ForgeQueueData
+}
+var file_ForgeQueueDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ForgeQueueDataNotify.forge_queue_map:type_name -> proto.ForgeQueueDataNotify.ForgeQueueMapEntry
+ 2, // 1: proto.ForgeQueueDataNotify.ForgeQueueMapEntry.value:type_name -> proto.ForgeQueueData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ForgeQueueDataNotify_proto_init() }
+func file_ForgeQueueDataNotify_proto_init() {
+ if File_ForgeQueueDataNotify_proto != nil {
+ return
+ }
+ file_ForgeQueueData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeQueueDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeQueueDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeQueueDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeQueueDataNotify_proto_goTypes,
+ DependencyIndexes: file_ForgeQueueDataNotify_proto_depIdxs,
+ MessageInfos: file_ForgeQueueDataNotify_proto_msgTypes,
+ }.Build()
+ File_ForgeQueueDataNotify_proto = out.File
+ file_ForgeQueueDataNotify_proto_rawDesc = nil
+ file_ForgeQueueDataNotify_proto_goTypes = nil
+ file_ForgeQueueDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeQueueManipulateReq.pb.go b/protocol/proto/ForgeQueueManipulateReq.pb.go
new file mode 100644
index 00000000..ac08d0e6
--- /dev/null
+++ b/protocol/proto/ForgeQueueManipulateReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeQueueManipulateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 624
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ForgeQueueManipulateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForgeQueueId uint32 `protobuf:"varint,5,opt,name=forge_queue_id,json=forgeQueueId,proto3" json:"forge_queue_id,omitempty"`
+ ManipulateType ForgeQueueManipulateType `protobuf:"varint,13,opt,name=manipulate_type,json=manipulateType,proto3,enum=proto.ForgeQueueManipulateType" json:"manipulate_type,omitempty"`
+}
+
+func (x *ForgeQueueManipulateReq) Reset() {
+ *x = ForgeQueueManipulateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeQueueManipulateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeQueueManipulateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeQueueManipulateReq) ProtoMessage() {}
+
+func (x *ForgeQueueManipulateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeQueueManipulateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeQueueManipulateReq.ProtoReflect.Descriptor instead.
+func (*ForgeQueueManipulateReq) Descriptor() ([]byte, []int) {
+ return file_ForgeQueueManipulateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeQueueManipulateReq) GetForgeQueueId() uint32 {
+ if x != nil {
+ return x.ForgeQueueId
+ }
+ return 0
+}
+
+func (x *ForgeQueueManipulateReq) GetManipulateType() ForgeQueueManipulateType {
+ if x != nil {
+ return x.ManipulateType
+ }
+ return ForgeQueueManipulateType_FORGE_QUEUE_MANIPULATE_TYPE_RECEIVE_OUTPUT
+}
+
+var File_ForgeQueueManipulateReq_proto protoreflect.FileDescriptor
+
+var file_ForgeQueueManipulateReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69,
+ 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65,
+ 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x46, 0x6f, 0x72, 0x67, 0x65,
+ 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x75,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x67,
+ 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x69,
+ 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51,
+ 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeQueueManipulateReq_proto_rawDescOnce sync.Once
+ file_ForgeQueueManipulateReq_proto_rawDescData = file_ForgeQueueManipulateReq_proto_rawDesc
+)
+
+func file_ForgeQueueManipulateReq_proto_rawDescGZIP() []byte {
+ file_ForgeQueueManipulateReq_proto_rawDescOnce.Do(func() {
+ file_ForgeQueueManipulateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeQueueManipulateReq_proto_rawDescData)
+ })
+ return file_ForgeQueueManipulateReq_proto_rawDescData
+}
+
+var file_ForgeQueueManipulateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForgeQueueManipulateReq_proto_goTypes = []interface{}{
+ (*ForgeQueueManipulateReq)(nil), // 0: proto.ForgeQueueManipulateReq
+ (ForgeQueueManipulateType)(0), // 1: proto.ForgeQueueManipulateType
+}
+var file_ForgeQueueManipulateReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ForgeQueueManipulateReq.manipulate_type:type_name -> proto.ForgeQueueManipulateType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ForgeQueueManipulateReq_proto_init() }
+func file_ForgeQueueManipulateReq_proto_init() {
+ if File_ForgeQueueManipulateReq_proto != nil {
+ return
+ }
+ file_ForgeQueueManipulateType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeQueueManipulateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeQueueManipulateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeQueueManipulateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeQueueManipulateReq_proto_goTypes,
+ DependencyIndexes: file_ForgeQueueManipulateReq_proto_depIdxs,
+ MessageInfos: file_ForgeQueueManipulateReq_proto_msgTypes,
+ }.Build()
+ File_ForgeQueueManipulateReq_proto = out.File
+ file_ForgeQueueManipulateReq_proto_rawDesc = nil
+ file_ForgeQueueManipulateReq_proto_goTypes = nil
+ file_ForgeQueueManipulateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeQueueManipulateRsp.pb.go b/protocol/proto/ForgeQueueManipulateRsp.pb.go
new file mode 100644
index 00000000..b6f126ae
--- /dev/null
+++ b/protocol/proto/ForgeQueueManipulateRsp.pb.go
@@ -0,0 +1,222 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeQueueManipulateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 656
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ForgeQueueManipulateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ManipulateType ForgeQueueManipulateType `protobuf:"varint,4,opt,name=manipulate_type,json=manipulateType,proto3,enum=proto.ForgeQueueManipulateType" json:"manipulate_type,omitempty"`
+ ExtraOutputItemList []*ItemParam `protobuf:"bytes,13,rep,name=extra_output_item_list,json=extraOutputItemList,proto3" json:"extra_output_item_list,omitempty"`
+ ReturnItemList []*ItemParam `protobuf:"bytes,10,rep,name=return_item_list,json=returnItemList,proto3" json:"return_item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OutputItemList []*ItemParam `protobuf:"bytes,9,rep,name=output_item_list,json=outputItemList,proto3" json:"output_item_list,omitempty"`
+}
+
+func (x *ForgeQueueManipulateRsp) Reset() {
+ *x = ForgeQueueManipulateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeQueueManipulateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeQueueManipulateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeQueueManipulateRsp) ProtoMessage() {}
+
+func (x *ForgeQueueManipulateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeQueueManipulateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeQueueManipulateRsp.ProtoReflect.Descriptor instead.
+func (*ForgeQueueManipulateRsp) Descriptor() ([]byte, []int) {
+ return file_ForgeQueueManipulateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeQueueManipulateRsp) GetManipulateType() ForgeQueueManipulateType {
+ if x != nil {
+ return x.ManipulateType
+ }
+ return ForgeQueueManipulateType_FORGE_QUEUE_MANIPULATE_TYPE_RECEIVE_OUTPUT
+}
+
+func (x *ForgeQueueManipulateRsp) GetExtraOutputItemList() []*ItemParam {
+ if x != nil {
+ return x.ExtraOutputItemList
+ }
+ return nil
+}
+
+func (x *ForgeQueueManipulateRsp) GetReturnItemList() []*ItemParam {
+ if x != nil {
+ return x.ReturnItemList
+ }
+ return nil
+}
+
+func (x *ForgeQueueManipulateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ForgeQueueManipulateRsp) GetOutputItemList() []*ItemParam {
+ if x != nil {
+ return x.OutputItemList
+ }
+ return nil
+}
+
+var File_ForgeQueueManipulateRsp_proto protoreflect.FileDescriptor
+
+var file_ForgeQueueManipulateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69,
+ 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65,
+ 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x02, 0x0a, 0x17, 0x46, 0x6f, 0x72, 0x67,
+ 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74,
+ 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d,
+ 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x6d,
+ 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a,
+ 0x16, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
+ 0x13, 0x65, 0x78, 0x74, 0x72, 0x61, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x74, 0x65, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69,
+ 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x52, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x10, 0x6f, 0x75,
+ 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x74,
+ 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeQueueManipulateRsp_proto_rawDescOnce sync.Once
+ file_ForgeQueueManipulateRsp_proto_rawDescData = file_ForgeQueueManipulateRsp_proto_rawDesc
+)
+
+func file_ForgeQueueManipulateRsp_proto_rawDescGZIP() []byte {
+ file_ForgeQueueManipulateRsp_proto_rawDescOnce.Do(func() {
+ file_ForgeQueueManipulateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeQueueManipulateRsp_proto_rawDescData)
+ })
+ return file_ForgeQueueManipulateRsp_proto_rawDescData
+}
+
+var file_ForgeQueueManipulateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForgeQueueManipulateRsp_proto_goTypes = []interface{}{
+ (*ForgeQueueManipulateRsp)(nil), // 0: proto.ForgeQueueManipulateRsp
+ (ForgeQueueManipulateType)(0), // 1: proto.ForgeQueueManipulateType
+ (*ItemParam)(nil), // 2: proto.ItemParam
+}
+var file_ForgeQueueManipulateRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ForgeQueueManipulateRsp.manipulate_type:type_name -> proto.ForgeQueueManipulateType
+ 2, // 1: proto.ForgeQueueManipulateRsp.extra_output_item_list:type_name -> proto.ItemParam
+ 2, // 2: proto.ForgeQueueManipulateRsp.return_item_list:type_name -> proto.ItemParam
+ 2, // 3: proto.ForgeQueueManipulateRsp.output_item_list:type_name -> proto.ItemParam
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_ForgeQueueManipulateRsp_proto_init() }
+func file_ForgeQueueManipulateRsp_proto_init() {
+ if File_ForgeQueueManipulateRsp_proto != nil {
+ return
+ }
+ file_ForgeQueueManipulateType_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeQueueManipulateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeQueueManipulateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeQueueManipulateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeQueueManipulateRsp_proto_goTypes,
+ DependencyIndexes: file_ForgeQueueManipulateRsp_proto_depIdxs,
+ MessageInfos: file_ForgeQueueManipulateRsp_proto_msgTypes,
+ }.Build()
+ File_ForgeQueueManipulateRsp_proto = out.File
+ file_ForgeQueueManipulateRsp_proto_rawDesc = nil
+ file_ForgeQueueManipulateRsp_proto_goTypes = nil
+ file_ForgeQueueManipulateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeQueueManipulateType.pb.go b/protocol/proto/ForgeQueueManipulateType.pb.go
new file mode 100644
index 00000000..ca605d97
--- /dev/null
+++ b/protocol/proto/ForgeQueueManipulateType.pb.go
@@ -0,0 +1,149 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeQueueManipulateType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ForgeQueueManipulateType int32
+
+const (
+ ForgeQueueManipulateType_FORGE_QUEUE_MANIPULATE_TYPE_RECEIVE_OUTPUT ForgeQueueManipulateType = 0
+ ForgeQueueManipulateType_FORGE_QUEUE_MANIPULATE_TYPE_STOP_FORGE ForgeQueueManipulateType = 1
+)
+
+// Enum value maps for ForgeQueueManipulateType.
+var (
+ ForgeQueueManipulateType_name = map[int32]string{
+ 0: "FORGE_QUEUE_MANIPULATE_TYPE_RECEIVE_OUTPUT",
+ 1: "FORGE_QUEUE_MANIPULATE_TYPE_STOP_FORGE",
+ }
+ ForgeQueueManipulateType_value = map[string]int32{
+ "FORGE_QUEUE_MANIPULATE_TYPE_RECEIVE_OUTPUT": 0,
+ "FORGE_QUEUE_MANIPULATE_TYPE_STOP_FORGE": 1,
+ }
+)
+
+func (x ForgeQueueManipulateType) Enum() *ForgeQueueManipulateType {
+ p := new(ForgeQueueManipulateType)
+ *p = x
+ return p
+}
+
+func (x ForgeQueueManipulateType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ForgeQueueManipulateType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ForgeQueueManipulateType_proto_enumTypes[0].Descriptor()
+}
+
+func (ForgeQueueManipulateType) Type() protoreflect.EnumType {
+ return &file_ForgeQueueManipulateType_proto_enumTypes[0]
+}
+
+func (x ForgeQueueManipulateType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ForgeQueueManipulateType.Descriptor instead.
+func (ForgeQueueManipulateType) EnumDescriptor() ([]byte, []int) {
+ return file_ForgeQueueManipulateType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ForgeQueueManipulateType_proto protoreflect.FileDescriptor
+
+var file_ForgeQueueManipulateType_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69,
+ 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x76, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x67, 0x65,
+ 0x51, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x2a, 0x46, 0x4f, 0x52, 0x47, 0x45, 0x5f, 0x51, 0x55, 0x45,
+ 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x49, 0x50, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55,
+ 0x54, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x46, 0x4f, 0x52, 0x47, 0x45, 0x5f, 0x51, 0x55, 0x45,
+ 0x55, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x49, 0x50, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x46, 0x4f, 0x52, 0x47, 0x45, 0x10, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeQueueManipulateType_proto_rawDescOnce sync.Once
+ file_ForgeQueueManipulateType_proto_rawDescData = file_ForgeQueueManipulateType_proto_rawDesc
+)
+
+func file_ForgeQueueManipulateType_proto_rawDescGZIP() []byte {
+ file_ForgeQueueManipulateType_proto_rawDescOnce.Do(func() {
+ file_ForgeQueueManipulateType_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeQueueManipulateType_proto_rawDescData)
+ })
+ return file_ForgeQueueManipulateType_proto_rawDescData
+}
+
+var file_ForgeQueueManipulateType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ForgeQueueManipulateType_proto_goTypes = []interface{}{
+ (ForgeQueueManipulateType)(0), // 0: proto.ForgeQueueManipulateType
+}
+var file_ForgeQueueManipulateType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForgeQueueManipulateType_proto_init() }
+func file_ForgeQueueManipulateType_proto_init() {
+ if File_ForgeQueueManipulateType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeQueueManipulateType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeQueueManipulateType_proto_goTypes,
+ DependencyIndexes: file_ForgeQueueManipulateType_proto_depIdxs,
+ EnumInfos: file_ForgeQueueManipulateType_proto_enumTypes,
+ }.Build()
+ File_ForgeQueueManipulateType_proto = out.File
+ file_ForgeQueueManipulateType_proto_rawDesc = nil
+ file_ForgeQueueManipulateType_proto_goTypes = nil
+ file_ForgeQueueManipulateType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeStartReq.pb.go b/protocol/proto/ForgeStartReq.pb.go
new file mode 100644
index 00000000..26e528a8
--- /dev/null
+++ b/protocol/proto/ForgeStartReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeStartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 649
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ForgeStartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,7,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ ForgeId uint32 `protobuf:"varint,4,opt,name=forge_id,json=forgeId,proto3" json:"forge_id,omitempty"`
+ ForgeCount uint32 `protobuf:"varint,6,opt,name=forge_count,json=forgeCount,proto3" json:"forge_count,omitempty"`
+}
+
+func (x *ForgeStartReq) Reset() {
+ *x = ForgeStartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeStartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeStartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeStartReq) ProtoMessage() {}
+
+func (x *ForgeStartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeStartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeStartReq.ProtoReflect.Descriptor instead.
+func (*ForgeStartReq) Descriptor() ([]byte, []int) {
+ return file_ForgeStartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeStartReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *ForgeStartReq) GetForgeId() uint32 {
+ if x != nil {
+ return x.ForgeId
+ }
+ return 0
+}
+
+func (x *ForgeStartReq) GetForgeCount() uint32 {
+ if x != nil {
+ return x.ForgeCount
+ }
+ return 0
+}
+
+var File_ForgeStartReq_proto protoreflect.FileDescriptor
+
+var file_ForgeStartReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x0d,
+ 0x46, 0x6f, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6f,
+ 0x72, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6f,
+ 0x72, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x67,
+ 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeStartReq_proto_rawDescOnce sync.Once
+ file_ForgeStartReq_proto_rawDescData = file_ForgeStartReq_proto_rawDesc
+)
+
+func file_ForgeStartReq_proto_rawDescGZIP() []byte {
+ file_ForgeStartReq_proto_rawDescOnce.Do(func() {
+ file_ForgeStartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeStartReq_proto_rawDescData)
+ })
+ return file_ForgeStartReq_proto_rawDescData
+}
+
+var file_ForgeStartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForgeStartReq_proto_goTypes = []interface{}{
+ (*ForgeStartReq)(nil), // 0: proto.ForgeStartReq
+}
+var file_ForgeStartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForgeStartReq_proto_init() }
+func file_ForgeStartReq_proto_init() {
+ if File_ForgeStartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeStartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeStartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeStartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeStartReq_proto_goTypes,
+ DependencyIndexes: file_ForgeStartReq_proto_depIdxs,
+ MessageInfos: file_ForgeStartReq_proto_msgTypes,
+ }.Build()
+ File_ForgeStartReq_proto = out.File
+ file_ForgeStartReq_proto_rawDesc = nil
+ file_ForgeStartReq_proto_goTypes = nil
+ file_ForgeStartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForgeStartRsp.pb.go b/protocol/proto/ForgeStartRsp.pb.go
new file mode 100644
index 00000000..3c26d4ff
--- /dev/null
+++ b/protocol/proto/ForgeStartRsp.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForgeStartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 691
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ForgeStartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ForgeStartRsp) Reset() {
+ *x = ForgeStartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ForgeStartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ForgeStartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ForgeStartRsp) ProtoMessage() {}
+
+func (x *ForgeStartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ForgeStartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ForgeStartRsp.ProtoReflect.Descriptor instead.
+func (*ForgeStartRsp) Descriptor() ([]byte, []int) {
+ return file_ForgeStartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ForgeStartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ForgeStartRsp_proto protoreflect.FileDescriptor
+
+var file_ForgeStartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x29, 0x0a, 0x0d,
+ 0x46, 0x6f, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForgeStartRsp_proto_rawDescOnce sync.Once
+ file_ForgeStartRsp_proto_rawDescData = file_ForgeStartRsp_proto_rawDesc
+)
+
+func file_ForgeStartRsp_proto_rawDescGZIP() []byte {
+ file_ForgeStartRsp_proto_rawDescOnce.Do(func() {
+ file_ForgeStartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForgeStartRsp_proto_rawDescData)
+ })
+ return file_ForgeStartRsp_proto_rawDescData
+}
+
+var file_ForgeStartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ForgeStartRsp_proto_goTypes = []interface{}{
+ (*ForgeStartRsp)(nil), // 0: proto.ForgeStartRsp
+}
+var file_ForgeStartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForgeStartRsp_proto_init() }
+func file_ForgeStartRsp_proto_init() {
+ if File_ForgeStartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ForgeStartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ForgeStartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForgeStartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForgeStartRsp_proto_goTypes,
+ DependencyIndexes: file_ForgeStartRsp_proto_depIdxs,
+ MessageInfos: file_ForgeStartRsp_proto_msgTypes,
+ }.Build()
+ File_ForgeStartRsp_proto = out.File
+ file_ForgeStartRsp_proto_rawDesc = nil
+ file_ForgeStartRsp_proto_goTypes = nil
+ file_ForgeStartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ForwardType.pb.go b/protocol/proto/ForwardType.pb.go
new file mode 100644
index 00000000..075a0eeb
--- /dev/null
+++ b/protocol/proto/ForwardType.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ForwardType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ForwardType int32
+
+const (
+ ForwardType_FORWARD_TYPE_LOCAL ForwardType = 0
+ ForwardType_FORWARD_TYPE_TO_ALL ForwardType = 1
+ ForwardType_FORWARD_TYPE_TO_ALL_EXCEPT_CUR ForwardType = 2
+ ForwardType_FORWARD_TYPE_TO_HOST ForwardType = 3
+ ForwardType_FORWARD_TYPE_TO_ALL_GUEST ForwardType = 4
+ ForwardType_FORWARD_TYPE_TO_PEER ForwardType = 5
+ ForwardType_FORWARD_TYPE_TO_PEERS ForwardType = 6
+ ForwardType_FORWARD_TYPE_ONLY_SERVER ForwardType = 7
+ ForwardType_FORWARD_TYPE_TO_ALL_EXIST_EXCEPT_CUR ForwardType = 8
+)
+
+// Enum value maps for ForwardType.
+var (
+ ForwardType_name = map[int32]string{
+ 0: "FORWARD_TYPE_LOCAL",
+ 1: "FORWARD_TYPE_TO_ALL",
+ 2: "FORWARD_TYPE_TO_ALL_EXCEPT_CUR",
+ 3: "FORWARD_TYPE_TO_HOST",
+ 4: "FORWARD_TYPE_TO_ALL_GUEST",
+ 5: "FORWARD_TYPE_TO_PEER",
+ 6: "FORWARD_TYPE_TO_PEERS",
+ 7: "FORWARD_TYPE_ONLY_SERVER",
+ 8: "FORWARD_TYPE_TO_ALL_EXIST_EXCEPT_CUR",
+ }
+ ForwardType_value = map[string]int32{
+ "FORWARD_TYPE_LOCAL": 0,
+ "FORWARD_TYPE_TO_ALL": 1,
+ "FORWARD_TYPE_TO_ALL_EXCEPT_CUR": 2,
+ "FORWARD_TYPE_TO_HOST": 3,
+ "FORWARD_TYPE_TO_ALL_GUEST": 4,
+ "FORWARD_TYPE_TO_PEER": 5,
+ "FORWARD_TYPE_TO_PEERS": 6,
+ "FORWARD_TYPE_ONLY_SERVER": 7,
+ "FORWARD_TYPE_TO_ALL_EXIST_EXCEPT_CUR": 8,
+ }
+)
+
+func (x ForwardType) Enum() *ForwardType {
+ p := new(ForwardType)
+ *p = x
+ return p
+}
+
+func (x ForwardType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ForwardType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ForwardType_proto_enumTypes[0].Descriptor()
+}
+
+func (ForwardType) Type() protoreflect.EnumType {
+ return &file_ForwardType_proto_enumTypes[0]
+}
+
+func (x ForwardType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ForwardType.Descriptor instead.
+func (ForwardType) EnumDescriptor() ([]byte, []int) {
+ return file_ForwardType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ForwardType_proto protoreflect.FileDescriptor
+
+var file_ForwardType_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x98, 0x02, 0x0a, 0x0b, 0x46,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x4f,
+ 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c,
+ 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x46,
+ 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x41,
+ 0x4c, 0x4c, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x43, 0x55, 0x52, 0x10, 0x02, 0x12,
+ 0x18, 0x0a, 0x14, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x54, 0x4f, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x4f, 0x52,
+ 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x4c, 0x4c,
+ 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x4f, 0x52, 0x57,
+ 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x45, 0x45, 0x52,
+ 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x53, 0x10, 0x06, 0x12, 0x1c, 0x0a,
+ 0x18, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x4e,
+ 0x4c, 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x07, 0x12, 0x28, 0x0a, 0x24, 0x46,
+ 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x41,
+ 0x4c, 0x4c, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x5f,
+ 0x43, 0x55, 0x52, 0x10, 0x08, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ForwardType_proto_rawDescOnce sync.Once
+ file_ForwardType_proto_rawDescData = file_ForwardType_proto_rawDesc
+)
+
+func file_ForwardType_proto_rawDescGZIP() []byte {
+ file_ForwardType_proto_rawDescOnce.Do(func() {
+ file_ForwardType_proto_rawDescData = protoimpl.X.CompressGZIP(file_ForwardType_proto_rawDescData)
+ })
+ return file_ForwardType_proto_rawDescData
+}
+
+var file_ForwardType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ForwardType_proto_goTypes = []interface{}{
+ (ForwardType)(0), // 0: proto.ForwardType
+}
+var file_ForwardType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ForwardType_proto_init() }
+func file_ForwardType_proto_init() {
+ if File_ForwardType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ForwardType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ForwardType_proto_goTypes,
+ DependencyIndexes: file_ForwardType_proto_depIdxs,
+ EnumInfos: file_ForwardType_proto_enumTypes,
+ }.Build()
+ File_ForwardType_proto = out.File
+ file_ForwardType_proto_rawDesc = nil
+ file_ForwardType_proto_goTypes = nil
+ file_ForwardType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FoundationInfo.pb.go b/protocol/proto/FoundationInfo.pb.go
new file mode 100644
index 00000000..0e1af1eb
--- /dev/null
+++ b/protocol/proto/FoundationInfo.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FoundationInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FoundationInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Status FoundationStatus `protobuf:"varint,1,opt,name=status,proto3,enum=proto.FoundationStatus" json:"status,omitempty"`
+ UidList []uint32 `protobuf:"varint,2,rep,packed,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"`
+ CurrentBuildingId uint32 `protobuf:"varint,3,opt,name=current_building_id,json=currentBuildingId,proto3" json:"current_building_id,omitempty"`
+ BeginBuildTimeMs uint32 `protobuf:"varint,4,opt,name=begin_build_time_ms,json=beginBuildTimeMs,proto3" json:"begin_build_time_ms,omitempty"`
+}
+
+func (x *FoundationInfo) Reset() {
+ *x = FoundationInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FoundationInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FoundationInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FoundationInfo) ProtoMessage() {}
+
+func (x *FoundationInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FoundationInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FoundationInfo.ProtoReflect.Descriptor instead.
+func (*FoundationInfo) Descriptor() ([]byte, []int) {
+ return file_FoundationInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FoundationInfo) GetStatus() FoundationStatus {
+ if x != nil {
+ return x.Status
+ }
+ return FoundationStatus_FOUNDATION_STATUS_NONE
+}
+
+func (x *FoundationInfo) GetUidList() []uint32 {
+ if x != nil {
+ return x.UidList
+ }
+ return nil
+}
+
+func (x *FoundationInfo) GetCurrentBuildingId() uint32 {
+ if x != nil {
+ return x.CurrentBuildingId
+ }
+ return 0
+}
+
+func (x *FoundationInfo) GetBeginBuildTimeMs() uint32 {
+ if x != nil {
+ return x.BeginBuildTimeMs
+ }
+ return 0
+}
+
+var File_FoundationInfo_proto protoreflect.FileDescriptor
+
+var file_FoundationInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x46,
+ 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x0e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x69, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
+ 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69,
+ 0x6e, 0x67, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x62, 0x75,
+ 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x10, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x4d, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FoundationInfo_proto_rawDescOnce sync.Once
+ file_FoundationInfo_proto_rawDescData = file_FoundationInfo_proto_rawDesc
+)
+
+func file_FoundationInfo_proto_rawDescGZIP() []byte {
+ file_FoundationInfo_proto_rawDescOnce.Do(func() {
+ file_FoundationInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FoundationInfo_proto_rawDescData)
+ })
+ return file_FoundationInfo_proto_rawDescData
+}
+
+var file_FoundationInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FoundationInfo_proto_goTypes = []interface{}{
+ (*FoundationInfo)(nil), // 0: proto.FoundationInfo
+ (FoundationStatus)(0), // 1: proto.FoundationStatus
+}
+var file_FoundationInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FoundationInfo.status:type_name -> proto.FoundationStatus
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FoundationInfo_proto_init() }
+func file_FoundationInfo_proto_init() {
+ if File_FoundationInfo_proto != nil {
+ return
+ }
+ file_FoundationStatus_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FoundationInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FoundationInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FoundationInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FoundationInfo_proto_goTypes,
+ DependencyIndexes: file_FoundationInfo_proto_depIdxs,
+ MessageInfos: file_FoundationInfo_proto_msgTypes,
+ }.Build()
+ File_FoundationInfo_proto = out.File
+ file_FoundationInfo_proto_rawDesc = nil
+ file_FoundationInfo_proto_goTypes = nil
+ file_FoundationInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FoundationNotify.pb.go b/protocol/proto/FoundationNotify.pb.go
new file mode 100644
index 00000000..de50a218
--- /dev/null
+++ b/protocol/proto/FoundationNotify.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FoundationNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 847
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FoundationNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *FoundationInfo `protobuf:"bytes,7,opt,name=info,proto3" json:"info,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,9,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *FoundationNotify) Reset() {
+ *x = FoundationNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FoundationNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FoundationNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FoundationNotify) ProtoMessage() {}
+
+func (x *FoundationNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FoundationNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FoundationNotify.ProtoReflect.Descriptor instead.
+func (*FoundationNotify) Descriptor() ([]byte, []int) {
+ return file_FoundationNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FoundationNotify) GetInfo() *FoundationInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+func (x *FoundationNotify) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_FoundationNotify_proto protoreflect.FileDescriptor
+
+var file_FoundationNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x14, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x10, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,
+ 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_FoundationNotify_proto_rawDescOnce sync.Once
+ file_FoundationNotify_proto_rawDescData = file_FoundationNotify_proto_rawDesc
+)
+
+func file_FoundationNotify_proto_rawDescGZIP() []byte {
+ file_FoundationNotify_proto_rawDescOnce.Do(func() {
+ file_FoundationNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FoundationNotify_proto_rawDescData)
+ })
+ return file_FoundationNotify_proto_rawDescData
+}
+
+var file_FoundationNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FoundationNotify_proto_goTypes = []interface{}{
+ (*FoundationNotify)(nil), // 0: proto.FoundationNotify
+ (*FoundationInfo)(nil), // 1: proto.FoundationInfo
+}
+var file_FoundationNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FoundationNotify.info:type_name -> proto.FoundationInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FoundationNotify_proto_init() }
+func file_FoundationNotify_proto_init() {
+ if File_FoundationNotify_proto != nil {
+ return
+ }
+ file_FoundationInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FoundationNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FoundationNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FoundationNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FoundationNotify_proto_goTypes,
+ DependencyIndexes: file_FoundationNotify_proto_depIdxs,
+ MessageInfos: file_FoundationNotify_proto_msgTypes,
+ }.Build()
+ File_FoundationNotify_proto = out.File
+ file_FoundationNotify_proto_rawDesc = nil
+ file_FoundationNotify_proto_goTypes = nil
+ file_FoundationNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FoundationOpType.pb.go b/protocol/proto/FoundationOpType.pb.go
new file mode 100644
index 00000000..a5b6838e
--- /dev/null
+++ b/protocol/proto/FoundationOpType.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FoundationOpType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FoundationOpType int32
+
+const (
+ FoundationOpType_FOUNDATION_OP_TYPE_NONE FoundationOpType = 0
+ FoundationOpType_FOUNDATION_OP_TYPE_BUILD FoundationOpType = 1
+ FoundationOpType_FOUNDATION_OP_TYPE_DEMOLITION FoundationOpType = 2
+ FoundationOpType_FOUNDATION_OP_TYPE_REBUILD FoundationOpType = 3
+ FoundationOpType_FOUNDATION_OP_TYPE_ROTATE FoundationOpType = 4
+ FoundationOpType_FOUNDATION_OP_TYPE_LOCK FoundationOpType = 5
+ FoundationOpType_FOUNDATION_OP_TYPE_UNLOCK FoundationOpType = 6
+)
+
+// Enum value maps for FoundationOpType.
+var (
+ FoundationOpType_name = map[int32]string{
+ 0: "FOUNDATION_OP_TYPE_NONE",
+ 1: "FOUNDATION_OP_TYPE_BUILD",
+ 2: "FOUNDATION_OP_TYPE_DEMOLITION",
+ 3: "FOUNDATION_OP_TYPE_REBUILD",
+ 4: "FOUNDATION_OP_TYPE_ROTATE",
+ 5: "FOUNDATION_OP_TYPE_LOCK",
+ 6: "FOUNDATION_OP_TYPE_UNLOCK",
+ }
+ FoundationOpType_value = map[string]int32{
+ "FOUNDATION_OP_TYPE_NONE": 0,
+ "FOUNDATION_OP_TYPE_BUILD": 1,
+ "FOUNDATION_OP_TYPE_DEMOLITION": 2,
+ "FOUNDATION_OP_TYPE_REBUILD": 3,
+ "FOUNDATION_OP_TYPE_ROTATE": 4,
+ "FOUNDATION_OP_TYPE_LOCK": 5,
+ "FOUNDATION_OP_TYPE_UNLOCK": 6,
+ }
+)
+
+func (x FoundationOpType) Enum() *FoundationOpType {
+ p := new(FoundationOpType)
+ *p = x
+ return p
+}
+
+func (x FoundationOpType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FoundationOpType) Descriptor() protoreflect.EnumDescriptor {
+ return file_FoundationOpType_proto_enumTypes[0].Descriptor()
+}
+
+func (FoundationOpType) Type() protoreflect.EnumType {
+ return &file_FoundationOpType_proto_enumTypes[0]
+}
+
+func (x FoundationOpType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FoundationOpType.Descriptor instead.
+func (FoundationOpType) EnumDescriptor() ([]byte, []int) {
+ return file_FoundationOpType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FoundationOpType_proto protoreflect.FileDescriptor
+
+var file_FoundationOpType_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0xeb, 0x01, 0x0a, 0x10, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x01, 0x12,
+ 0x21, 0x0a, 0x1d, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4d, 0x4f, 0x4c, 0x49, 0x54, 0x49, 0x4f, 0x4e,
+ 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x42, 0x55, 0x49, 0x4c, 0x44,
+ 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x54, 0x41, 0x54, 0x45, 0x10,
+ 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x1d,
+ 0x0a, 0x19, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x06, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_FoundationOpType_proto_rawDescOnce sync.Once
+ file_FoundationOpType_proto_rawDescData = file_FoundationOpType_proto_rawDesc
+)
+
+func file_FoundationOpType_proto_rawDescGZIP() []byte {
+ file_FoundationOpType_proto_rawDescOnce.Do(func() {
+ file_FoundationOpType_proto_rawDescData = protoimpl.X.CompressGZIP(file_FoundationOpType_proto_rawDescData)
+ })
+ return file_FoundationOpType_proto_rawDescData
+}
+
+var file_FoundationOpType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FoundationOpType_proto_goTypes = []interface{}{
+ (FoundationOpType)(0), // 0: proto.FoundationOpType
+}
+var file_FoundationOpType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FoundationOpType_proto_init() }
+func file_FoundationOpType_proto_init() {
+ if File_FoundationOpType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FoundationOpType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FoundationOpType_proto_goTypes,
+ DependencyIndexes: file_FoundationOpType_proto_depIdxs,
+ EnumInfos: file_FoundationOpType_proto_enumTypes,
+ }.Build()
+ File_FoundationOpType_proto = out.File
+ file_FoundationOpType_proto_rawDesc = nil
+ file_FoundationOpType_proto_goTypes = nil
+ file_FoundationOpType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FoundationReq.pb.go b/protocol/proto/FoundationReq.pb.go
new file mode 100644
index 00000000..6358aace
--- /dev/null
+++ b/protocol/proto/FoundationReq.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FoundationReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 805
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FoundationReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityId uint32 `protobuf:"varint,14,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ PointConfigId uint32 `protobuf:"varint,12,opt,name=point_config_id,json=pointConfigId,proto3" json:"point_config_id,omitempty"`
+ BuildingId uint32 `protobuf:"varint,13,opt,name=building_id,json=buildingId,proto3" json:"building_id,omitempty"`
+ OpType FoundationOpType `protobuf:"varint,10,opt,name=op_type,json=opType,proto3,enum=proto.FoundationOpType" json:"op_type,omitempty"`
+}
+
+func (x *FoundationReq) Reset() {
+ *x = FoundationReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FoundationReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FoundationReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FoundationReq) ProtoMessage() {}
+
+func (x *FoundationReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FoundationReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FoundationReq.ProtoReflect.Descriptor instead.
+func (*FoundationReq) Descriptor() ([]byte, []int) {
+ return file_FoundationReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FoundationReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *FoundationReq) GetPointConfigId() uint32 {
+ if x != nil {
+ return x.PointConfigId
+ }
+ return 0
+}
+
+func (x *FoundationReq) GetBuildingId() uint32 {
+ if x != nil {
+ return x.BuildingId
+ }
+ return 0
+}
+
+func (x *FoundationReq) GetOpType() FoundationOpType {
+ if x != nil {
+ return x.OpType
+ }
+ return FoundationOpType_FOUNDATION_OP_TYPE_NONE
+}
+
+var File_FoundationReq_proto protoreflect.FileDescriptor
+
+var file_FoundationReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x46, 0x6f,
+ 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x01, 0x0a, 0x0d, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c,
+ 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62,
+ 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x07, 0x6f, 0x70, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FoundationReq_proto_rawDescOnce sync.Once
+ file_FoundationReq_proto_rawDescData = file_FoundationReq_proto_rawDesc
+)
+
+func file_FoundationReq_proto_rawDescGZIP() []byte {
+ file_FoundationReq_proto_rawDescOnce.Do(func() {
+ file_FoundationReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FoundationReq_proto_rawDescData)
+ })
+ return file_FoundationReq_proto_rawDescData
+}
+
+var file_FoundationReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FoundationReq_proto_goTypes = []interface{}{
+ (*FoundationReq)(nil), // 0: proto.FoundationReq
+ (FoundationOpType)(0), // 1: proto.FoundationOpType
+}
+var file_FoundationReq_proto_depIdxs = []int32{
+ 1, // 0: proto.FoundationReq.op_type:type_name -> proto.FoundationOpType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FoundationReq_proto_init() }
+func file_FoundationReq_proto_init() {
+ if File_FoundationReq_proto != nil {
+ return
+ }
+ file_FoundationOpType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FoundationReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FoundationReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FoundationReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FoundationReq_proto_goTypes,
+ DependencyIndexes: file_FoundationReq_proto_depIdxs,
+ MessageInfos: file_FoundationReq_proto_msgTypes,
+ }.Build()
+ File_FoundationReq_proto = out.File
+ file_FoundationReq_proto_rawDesc = nil
+ file_FoundationReq_proto_goTypes = nil
+ file_FoundationReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FoundationRsp.pb.go b/protocol/proto/FoundationRsp.pb.go
new file mode 100644
index 00000000..a1c3bc4d
--- /dev/null
+++ b/protocol/proto/FoundationRsp.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FoundationRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 882
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FoundationRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpType FoundationOpType `protobuf:"varint,13,opt,name=op_type,json=opType,proto3,enum=proto.FoundationOpType" json:"op_type,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,10,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ BuildingId uint32 `protobuf:"varint,11,opt,name=building_id,json=buildingId,proto3" json:"building_id,omitempty"`
+ PointConfigId uint32 `protobuf:"varint,12,opt,name=point_config_id,json=pointConfigId,proto3" json:"point_config_id,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FoundationRsp) Reset() {
+ *x = FoundationRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FoundationRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FoundationRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FoundationRsp) ProtoMessage() {}
+
+func (x *FoundationRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FoundationRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FoundationRsp.ProtoReflect.Descriptor instead.
+func (*FoundationRsp) Descriptor() ([]byte, []int) {
+ return file_FoundationRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FoundationRsp) GetOpType() FoundationOpType {
+ if x != nil {
+ return x.OpType
+ }
+ return FoundationOpType_FOUNDATION_OP_TYPE_NONE
+}
+
+func (x *FoundationRsp) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *FoundationRsp) GetBuildingId() uint32 {
+ if x != nil {
+ return x.BuildingId
+ }
+ return 0
+}
+
+func (x *FoundationRsp) GetPointConfigId() uint32 {
+ if x != nil {
+ return x.PointConfigId
+ }
+ return 0
+}
+
+func (x *FoundationRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FoundationRsp_proto protoreflect.FileDescriptor
+
+var file_FoundationRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x46, 0x6f,
+ 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x01, 0x0a, 0x0d, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e,
+ 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FoundationRsp_proto_rawDescOnce sync.Once
+ file_FoundationRsp_proto_rawDescData = file_FoundationRsp_proto_rawDesc
+)
+
+func file_FoundationRsp_proto_rawDescGZIP() []byte {
+ file_FoundationRsp_proto_rawDescOnce.Do(func() {
+ file_FoundationRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FoundationRsp_proto_rawDescData)
+ })
+ return file_FoundationRsp_proto_rawDescData
+}
+
+var file_FoundationRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FoundationRsp_proto_goTypes = []interface{}{
+ (*FoundationRsp)(nil), // 0: proto.FoundationRsp
+ (FoundationOpType)(0), // 1: proto.FoundationOpType
+}
+var file_FoundationRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.FoundationRsp.op_type:type_name -> proto.FoundationOpType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FoundationRsp_proto_init() }
+func file_FoundationRsp_proto_init() {
+ if File_FoundationRsp_proto != nil {
+ return
+ }
+ file_FoundationOpType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FoundationRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FoundationRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FoundationRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FoundationRsp_proto_goTypes,
+ DependencyIndexes: file_FoundationRsp_proto_depIdxs,
+ MessageInfos: file_FoundationRsp_proto_msgTypes,
+ }.Build()
+ File_FoundationRsp_proto = out.File
+ file_FoundationRsp_proto_rawDesc = nil
+ file_FoundationRsp_proto_goTypes = nil
+ file_FoundationRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FoundationStatus.pb.go b/protocol/proto/FoundationStatus.pb.go
new file mode 100644
index 00000000..1a43ee6c
--- /dev/null
+++ b/protocol/proto/FoundationStatus.pb.go
@@ -0,0 +1,155 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FoundationStatus.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FoundationStatus int32
+
+const (
+ FoundationStatus_FOUNDATION_STATUS_NONE FoundationStatus = 0
+ FoundationStatus_FOUNDATION_STATUS_INIT FoundationStatus = 1
+ FoundationStatus_FOUNDATION_STATUS_BUILDING FoundationStatus = 2
+ FoundationStatus_FOUNDATION_STATUS_BUILT FoundationStatus = 3
+)
+
+// Enum value maps for FoundationStatus.
+var (
+ FoundationStatus_name = map[int32]string{
+ 0: "FOUNDATION_STATUS_NONE",
+ 1: "FOUNDATION_STATUS_INIT",
+ 2: "FOUNDATION_STATUS_BUILDING",
+ 3: "FOUNDATION_STATUS_BUILT",
+ }
+ FoundationStatus_value = map[string]int32{
+ "FOUNDATION_STATUS_NONE": 0,
+ "FOUNDATION_STATUS_INIT": 1,
+ "FOUNDATION_STATUS_BUILDING": 2,
+ "FOUNDATION_STATUS_BUILT": 3,
+ }
+)
+
+func (x FoundationStatus) Enum() *FoundationStatus {
+ p := new(FoundationStatus)
+ *p = x
+ return p
+}
+
+func (x FoundationStatus) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FoundationStatus) Descriptor() protoreflect.EnumDescriptor {
+ return file_FoundationStatus_proto_enumTypes[0].Descriptor()
+}
+
+func (FoundationStatus) Type() protoreflect.EnumType {
+ return &file_FoundationStatus_proto_enumTypes[0]
+}
+
+func (x FoundationStatus) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FoundationStatus.Descriptor instead.
+func (FoundationStatus) EnumDescriptor() ([]byte, []int) {
+ return file_FoundationStatus_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FoundationStatus_proto protoreflect.FileDescriptor
+
+var file_FoundationStatus_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0x87, 0x01, 0x0a, 0x10, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
+ 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53,
+ 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a,
+ 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
+ 0x53, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17,
+ 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
+ 0x53, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FoundationStatus_proto_rawDescOnce sync.Once
+ file_FoundationStatus_proto_rawDescData = file_FoundationStatus_proto_rawDesc
+)
+
+func file_FoundationStatus_proto_rawDescGZIP() []byte {
+ file_FoundationStatus_proto_rawDescOnce.Do(func() {
+ file_FoundationStatus_proto_rawDescData = protoimpl.X.CompressGZIP(file_FoundationStatus_proto_rawDescData)
+ })
+ return file_FoundationStatus_proto_rawDescData
+}
+
+var file_FoundationStatus_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FoundationStatus_proto_goTypes = []interface{}{
+ (FoundationStatus)(0), // 0: proto.FoundationStatus
+}
+var file_FoundationStatus_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FoundationStatus_proto_init() }
+func file_FoundationStatus_proto_init() {
+ if File_FoundationStatus_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FoundationStatus_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FoundationStatus_proto_goTypes,
+ DependencyIndexes: file_FoundationStatus_proto_depIdxs,
+ EnumInfos: file_FoundationStatus_proto_enumTypes,
+ }.Build()
+ File_FoundationStatus_proto = out.File
+ file_FoundationStatus_proto_rawDesc = nil
+ file_FoundationStatus_proto_goTypes = nil
+ file_FoundationStatus_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FriendBrief.pb.go b/protocol/proto/FriendBrief.pb.go
new file mode 100644
index 00000000..44ccdd50
--- /dev/null
+++ b/protocol/proto/FriendBrief.pb.go
@@ -0,0 +1,404 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FriendBrief.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FriendBrief struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ Level uint32 `protobuf:"varint,3,opt,name=level,proto3" json:"level,omitempty"`
+ AvatarId uint32 `protobuf:"varint,4,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ WorldLevel uint32 `protobuf:"varint,5,opt,name=world_level,json=worldLevel,proto3" json:"world_level,omitempty"`
+ Signature string `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"`
+ OnlineState FriendOnlineState `protobuf:"varint,7,opt,name=online_state,json=onlineState,proto3,enum=proto.FriendOnlineState" json:"online_state,omitempty"`
+ Param uint32 `protobuf:"varint,8,opt,name=param,proto3" json:"param,omitempty"`
+ IsMpModeAvailable bool `protobuf:"varint,10,opt,name=is_mp_mode_available,json=isMpModeAvailable,proto3" json:"is_mp_mode_available,omitempty"`
+ OnlineId string `protobuf:"bytes,11,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ LastActiveTime uint32 `protobuf:"varint,12,opt,name=last_active_time,json=lastActiveTime,proto3" json:"last_active_time,omitempty"`
+ NameCardId uint32 `protobuf:"varint,13,opt,name=name_card_id,json=nameCardId,proto3" json:"name_card_id,omitempty"`
+ MpPlayerNum uint32 `protobuf:"varint,14,opt,name=mp_player_num,json=mpPlayerNum,proto3" json:"mp_player_num,omitempty"`
+ IsChatNoDisturb bool `protobuf:"varint,15,opt,name=is_chat_no_disturb,json=isChatNoDisturb,proto3" json:"is_chat_no_disturb,omitempty"`
+ ChatSequence uint32 `protobuf:"varint,16,opt,name=chat_sequence,json=chatSequence,proto3" json:"chat_sequence,omitempty"`
+ RemarkName string `protobuf:"bytes,17,opt,name=remark_name,json=remarkName,proto3" json:"remark_name,omitempty"`
+ ShowAvatarInfoList []*SocialShowAvatarInfo `protobuf:"bytes,22,rep,name=show_avatar_info_list,json=showAvatarInfoList,proto3" json:"show_avatar_info_list,omitempty"`
+ FriendEnterHomeOption FriendEnterHomeOption `protobuf:"varint,23,opt,name=friend_enter_home_option,json=friendEnterHomeOption,proto3,enum=proto.FriendEnterHomeOption" json:"friend_enter_home_option,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,24,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ IsGameSource bool `protobuf:"varint,25,opt,name=is_game_source,json=isGameSource,proto3" json:"is_game_source,omitempty"`
+ IsPsnSource bool `protobuf:"varint,26,opt,name=is_psn_source,json=isPsnSource,proto3" json:"is_psn_source,omitempty"`
+ PlatformType PlatformType `protobuf:"varint,27,opt,name=platform_type,json=platformType,proto3,enum=proto.PlatformType" json:"platform_type,omitempty"`
+}
+
+func (x *FriendBrief) Reset() {
+ *x = FriendBrief{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FriendBrief_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FriendBrief) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FriendBrief) ProtoMessage() {}
+
+func (x *FriendBrief) ProtoReflect() protoreflect.Message {
+ mi := &file_FriendBrief_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FriendBrief.ProtoReflect.Descriptor instead.
+func (*FriendBrief) Descriptor() ([]byte, []int) {
+ return file_FriendBrief_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FriendBrief) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *FriendBrief) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetWorldLevel() uint32 {
+ if x != nil {
+ return x.WorldLevel
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetSignature() string {
+ if x != nil {
+ return x.Signature
+ }
+ return ""
+}
+
+func (x *FriendBrief) GetOnlineState() FriendOnlineState {
+ if x != nil {
+ return x.OnlineState
+ }
+ return FriendOnlineState_FRIEND_ONLINE_STATE_FREIEND_DISCONNECT
+}
+
+func (x *FriendBrief) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetIsMpModeAvailable() bool {
+ if x != nil {
+ return x.IsMpModeAvailable
+ }
+ return false
+}
+
+func (x *FriendBrief) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *FriendBrief) GetLastActiveTime() uint32 {
+ if x != nil {
+ return x.LastActiveTime
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetNameCardId() uint32 {
+ if x != nil {
+ return x.NameCardId
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetMpPlayerNum() uint32 {
+ if x != nil {
+ return x.MpPlayerNum
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetIsChatNoDisturb() bool {
+ if x != nil {
+ return x.IsChatNoDisturb
+ }
+ return false
+}
+
+func (x *FriendBrief) GetChatSequence() uint32 {
+ if x != nil {
+ return x.ChatSequence
+ }
+ return 0
+}
+
+func (x *FriendBrief) GetRemarkName() string {
+ if x != nil {
+ return x.RemarkName
+ }
+ return ""
+}
+
+func (x *FriendBrief) GetShowAvatarInfoList() []*SocialShowAvatarInfo {
+ if x != nil {
+ return x.ShowAvatarInfoList
+ }
+ return nil
+}
+
+func (x *FriendBrief) GetFriendEnterHomeOption() FriendEnterHomeOption {
+ if x != nil {
+ return x.FriendEnterHomeOption
+ }
+ return FriendEnterHomeOption_FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM
+}
+
+func (x *FriendBrief) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *FriendBrief) GetIsGameSource() bool {
+ if x != nil {
+ return x.IsGameSource
+ }
+ return false
+}
+
+func (x *FriendBrief) GetIsPsnSource() bool {
+ if x != nil {
+ return x.IsPsnSource
+ }
+ return false
+}
+
+func (x *FriendBrief) GetPlatformType() PlatformType {
+ if x != nil {
+ return x.PlatformType
+ }
+ return PlatformType_PLATFORM_TYPE_EDITOR
+}
+
+var File_FriendBrief_proto protoreflect.FileDescriptor
+
+var file_FriendBrief_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f,
+ 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x53, 0x6f, 0x63, 0x69,
+ 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x07, 0x0a, 0x0b, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6c, 0x64,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x6f,
+ 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f,
+ 0x6d, 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x4d, 0x70, 0x4d, 0x6f, 0x64,
+ 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e,
+ 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f,
+ 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72,
+ 0x64, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x70, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x63, 0x68,
+ 0x61, 0x74, 0x5f, 0x6e, 0x6f, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x75, 0x72, 0x62, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f, 0x44, 0x69, 0x73,
+ 0x74, 0x75, 0x72, 0x62, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x71,
+ 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61,
+ 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d,
+ 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
+ 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x15, 0x73, 0x68,
+ 0x6f, 0x77, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x18, 0x66, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x66, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+ 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+ 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x47, 0x61, 0x6d,
+ 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x70, 0x73,
+ 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
+ 0x69, 0x73, 0x50, 0x73, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x70,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1b, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
+ 0x6d, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FriendBrief_proto_rawDescOnce sync.Once
+ file_FriendBrief_proto_rawDescData = file_FriendBrief_proto_rawDesc
+)
+
+func file_FriendBrief_proto_rawDescGZIP() []byte {
+ file_FriendBrief_proto_rawDescOnce.Do(func() {
+ file_FriendBrief_proto_rawDescData = protoimpl.X.CompressGZIP(file_FriendBrief_proto_rawDescData)
+ })
+ return file_FriendBrief_proto_rawDescData
+}
+
+var file_FriendBrief_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FriendBrief_proto_goTypes = []interface{}{
+ (*FriendBrief)(nil), // 0: proto.FriendBrief
+ (FriendOnlineState)(0), // 1: proto.FriendOnlineState
+ (*SocialShowAvatarInfo)(nil), // 2: proto.SocialShowAvatarInfo
+ (FriendEnterHomeOption)(0), // 3: proto.FriendEnterHomeOption
+ (*ProfilePicture)(nil), // 4: proto.ProfilePicture
+ (PlatformType)(0), // 5: proto.PlatformType
+}
+var file_FriendBrief_proto_depIdxs = []int32{
+ 1, // 0: proto.FriendBrief.online_state:type_name -> proto.FriendOnlineState
+ 2, // 1: proto.FriendBrief.show_avatar_info_list:type_name -> proto.SocialShowAvatarInfo
+ 3, // 2: proto.FriendBrief.friend_enter_home_option:type_name -> proto.FriendEnterHomeOption
+ 4, // 3: proto.FriendBrief.profile_picture:type_name -> proto.ProfilePicture
+ 5, // 4: proto.FriendBrief.platform_type:type_name -> proto.PlatformType
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_FriendBrief_proto_init() }
+func file_FriendBrief_proto_init() {
+ if File_FriendBrief_proto != nil {
+ return
+ }
+ file_FriendEnterHomeOption_proto_init()
+ file_FriendOnlineState_proto_init()
+ file_PlatformType_proto_init()
+ file_ProfilePicture_proto_init()
+ file_SocialShowAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FriendBrief_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FriendBrief); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FriendBrief_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FriendBrief_proto_goTypes,
+ DependencyIndexes: file_FriendBrief_proto_depIdxs,
+ MessageInfos: file_FriendBrief_proto_msgTypes,
+ }.Build()
+ File_FriendBrief_proto = out.File
+ file_FriendBrief_proto_rawDesc = nil
+ file_FriendBrief_proto_goTypes = nil
+ file_FriendBrief_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FriendEnterHomeOption.pb.go b/protocol/proto/FriendEnterHomeOption.pb.go
new file mode 100644
index 00000000..d34ac072
--- /dev/null
+++ b/protocol/proto/FriendEnterHomeOption.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FriendEnterHomeOption.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FriendEnterHomeOption int32
+
+const (
+ FriendEnterHomeOption_FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM FriendEnterHomeOption = 0
+ FriendEnterHomeOption_FRIEND_ENTER_HOME_OPTION_REFUSE FriendEnterHomeOption = 1
+ FriendEnterHomeOption_FRIEND_ENTER_HOME_OPTION_DIRECT FriendEnterHomeOption = 2
+)
+
+// Enum value maps for FriendEnterHomeOption.
+var (
+ FriendEnterHomeOption_name = map[int32]string{
+ 0: "FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM",
+ 1: "FRIEND_ENTER_HOME_OPTION_REFUSE",
+ 2: "FRIEND_ENTER_HOME_OPTION_DIRECT",
+ }
+ FriendEnterHomeOption_value = map[string]int32{
+ "FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM": 0,
+ "FRIEND_ENTER_HOME_OPTION_REFUSE": 1,
+ "FRIEND_ENTER_HOME_OPTION_DIRECT": 2,
+ }
+)
+
+func (x FriendEnterHomeOption) Enum() *FriendEnterHomeOption {
+ p := new(FriendEnterHomeOption)
+ *p = x
+ return p
+}
+
+func (x FriendEnterHomeOption) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FriendEnterHomeOption) Descriptor() protoreflect.EnumDescriptor {
+ return file_FriendEnterHomeOption_proto_enumTypes[0].Descriptor()
+}
+
+func (FriendEnterHomeOption) Type() protoreflect.EnumType {
+ return &file_FriendEnterHomeOption_proto_enumTypes[0]
+}
+
+func (x FriendEnterHomeOption) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FriendEnterHomeOption.Descriptor instead.
+func (FriendEnterHomeOption) EnumDescriptor() ([]byte, []int) {
+ return file_FriendEnterHomeOption_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FriendEnterHomeOption_proto protoreflect.FileDescriptor
+
+var file_FriendEnterHomeOption_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d,
+ 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x8c, 0x01, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29,
+ 0x0a, 0x25, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x48,
+ 0x4f, 0x4d, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f,
+ 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x46, 0x52, 0x49,
+ 0x45, 0x4e, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4f,
+ 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x23,
+ 0x0a, 0x1f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x48,
+ 0x4f, 0x4d, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43,
+ 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FriendEnterHomeOption_proto_rawDescOnce sync.Once
+ file_FriendEnterHomeOption_proto_rawDescData = file_FriendEnterHomeOption_proto_rawDesc
+)
+
+func file_FriendEnterHomeOption_proto_rawDescGZIP() []byte {
+ file_FriendEnterHomeOption_proto_rawDescOnce.Do(func() {
+ file_FriendEnterHomeOption_proto_rawDescData = protoimpl.X.CompressGZIP(file_FriendEnterHomeOption_proto_rawDescData)
+ })
+ return file_FriendEnterHomeOption_proto_rawDescData
+}
+
+var file_FriendEnterHomeOption_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FriendEnterHomeOption_proto_goTypes = []interface{}{
+ (FriendEnterHomeOption)(0), // 0: proto.FriendEnterHomeOption
+}
+var file_FriendEnterHomeOption_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FriendEnterHomeOption_proto_init() }
+func file_FriendEnterHomeOption_proto_init() {
+ if File_FriendEnterHomeOption_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FriendEnterHomeOption_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FriendEnterHomeOption_proto_goTypes,
+ DependencyIndexes: file_FriendEnterHomeOption_proto_depIdxs,
+ EnumInfos: file_FriendEnterHomeOption_proto_enumTypes,
+ }.Build()
+ File_FriendEnterHomeOption_proto = out.File
+ file_FriendEnterHomeOption_proto_rawDesc = nil
+ file_FriendEnterHomeOption_proto_goTypes = nil
+ file_FriendEnterHomeOption_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FriendInfoChangeNotify.pb.go b/protocol/proto/FriendInfoChangeNotify.pb.go
new file mode 100644
index 00000000..ec75fea3
--- /dev/null
+++ b/protocol/proto/FriendInfoChangeNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FriendInfoChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4032
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FriendInfoChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ OnlineId string `protobuf:"bytes,9,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+}
+
+func (x *FriendInfoChangeNotify) Reset() {
+ *x = FriendInfoChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FriendInfoChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FriendInfoChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FriendInfoChangeNotify) ProtoMessage() {}
+
+func (x *FriendInfoChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FriendInfoChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FriendInfoChangeNotify.ProtoReflect.Descriptor instead.
+func (*FriendInfoChangeNotify) Descriptor() ([]byte, []int) {
+ return file_FriendInfoChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FriendInfoChangeNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *FriendInfoChangeNotify) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+var File_FriendInfoChangeNotify_proto protoreflect.FileDescriptor
+
+var file_FriendInfoChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x16, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49,
+ 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_FriendInfoChangeNotify_proto_rawDescOnce sync.Once
+ file_FriendInfoChangeNotify_proto_rawDescData = file_FriendInfoChangeNotify_proto_rawDesc
+)
+
+func file_FriendInfoChangeNotify_proto_rawDescGZIP() []byte {
+ file_FriendInfoChangeNotify_proto_rawDescOnce.Do(func() {
+ file_FriendInfoChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FriendInfoChangeNotify_proto_rawDescData)
+ })
+ return file_FriendInfoChangeNotify_proto_rawDescData
+}
+
+var file_FriendInfoChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FriendInfoChangeNotify_proto_goTypes = []interface{}{
+ (*FriendInfoChangeNotify)(nil), // 0: proto.FriendInfoChangeNotify
+}
+var file_FriendInfoChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FriendInfoChangeNotify_proto_init() }
+func file_FriendInfoChangeNotify_proto_init() {
+ if File_FriendInfoChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FriendInfoChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FriendInfoChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FriendInfoChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FriendInfoChangeNotify_proto_goTypes,
+ DependencyIndexes: file_FriendInfoChangeNotify_proto_depIdxs,
+ MessageInfos: file_FriendInfoChangeNotify_proto_msgTypes,
+ }.Build()
+ File_FriendInfoChangeNotify_proto = out.File
+ file_FriendInfoChangeNotify_proto_rawDesc = nil
+ file_FriendInfoChangeNotify_proto_goTypes = nil
+ file_FriendInfoChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FriendOnlineState.pb.go b/protocol/proto/FriendOnlineState.pb.go
new file mode 100644
index 00000000..7df4bf2e
--- /dev/null
+++ b/protocol/proto/FriendOnlineState.pb.go
@@ -0,0 +1,147 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FriendOnlineState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FriendOnlineState int32
+
+const (
+ FriendOnlineState_FRIEND_ONLINE_STATE_FREIEND_DISCONNECT FriendOnlineState = 0
+ FriendOnlineState_FRIEND_ONLINE_STATE_ONLINE FriendOnlineState = 1
+)
+
+// Enum value maps for FriendOnlineState.
+var (
+ FriendOnlineState_name = map[int32]string{
+ 0: "FRIEND_ONLINE_STATE_FREIEND_DISCONNECT",
+ 1: "FRIEND_ONLINE_STATE_ONLINE",
+ }
+ FriendOnlineState_value = map[string]int32{
+ "FRIEND_ONLINE_STATE_FREIEND_DISCONNECT": 0,
+ "FRIEND_ONLINE_STATE_ONLINE": 1,
+ }
+)
+
+func (x FriendOnlineState) Enum() *FriendOnlineState {
+ p := new(FriendOnlineState)
+ *p = x
+ return p
+}
+
+func (x FriendOnlineState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (FriendOnlineState) Descriptor() protoreflect.EnumDescriptor {
+ return file_FriendOnlineState_proto_enumTypes[0].Descriptor()
+}
+
+func (FriendOnlineState) Type() protoreflect.EnumType {
+ return &file_FriendOnlineState_proto_enumTypes[0]
+}
+
+func (x FriendOnlineState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use FriendOnlineState.Descriptor instead.
+func (FriendOnlineState) EnumDescriptor() ([]byte, []int) {
+ return file_FriendOnlineState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FriendOnlineState_proto protoreflect.FileDescriptor
+
+var file_FriendOnlineState_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2a, 0x5f, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f,
+ 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x52, 0x45,
+ 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10,
+ 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x49,
+ 0x4e, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FriendOnlineState_proto_rawDescOnce sync.Once
+ file_FriendOnlineState_proto_rawDescData = file_FriendOnlineState_proto_rawDesc
+)
+
+func file_FriendOnlineState_proto_rawDescGZIP() []byte {
+ file_FriendOnlineState_proto_rawDescOnce.Do(func() {
+ file_FriendOnlineState_proto_rawDescData = protoimpl.X.CompressGZIP(file_FriendOnlineState_proto_rawDescData)
+ })
+ return file_FriendOnlineState_proto_rawDescData
+}
+
+var file_FriendOnlineState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_FriendOnlineState_proto_goTypes = []interface{}{
+ (FriendOnlineState)(0), // 0: proto.FriendOnlineState
+}
+var file_FriendOnlineState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FriendOnlineState_proto_init() }
+func file_FriendOnlineState_proto_init() {
+ if File_FriendOnlineState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FriendOnlineState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FriendOnlineState_proto_goTypes,
+ DependencyIndexes: file_FriendOnlineState_proto_depIdxs,
+ EnumInfos: file_FriendOnlineState_proto_enumTypes,
+ }.Build()
+ File_FriendOnlineState_proto = out.File
+ file_FriendOnlineState_proto_rawDesc = nil
+ file_FriendOnlineState_proto_goTypes = nil
+ file_FriendOnlineState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusCaptureSettleNotify.pb.go b/protocol/proto/FungusCaptureSettleNotify.pb.go
new file mode 100644
index 00000000..6ad121a0
--- /dev/null
+++ b/protocol/proto/FungusCaptureSettleNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusCaptureSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5506
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusCaptureSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSuccess bool `protobuf:"varint,2,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *FungusCaptureSettleNotify) Reset() {
+ *x = FungusCaptureSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusCaptureSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusCaptureSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusCaptureSettleNotify) ProtoMessage() {}
+
+func (x *FungusCaptureSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusCaptureSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusCaptureSettleNotify.ProtoReflect.Descriptor instead.
+func (*FungusCaptureSettleNotify) Descriptor() ([]byte, []int) {
+ return file_FungusCaptureSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusCaptureSettleNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_FungusCaptureSettleNotify_proto protoreflect.FileDescriptor
+
+var file_FungusCaptureSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x19, 0x46, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusCaptureSettleNotify_proto_rawDescOnce sync.Once
+ file_FungusCaptureSettleNotify_proto_rawDescData = file_FungusCaptureSettleNotify_proto_rawDesc
+)
+
+func file_FungusCaptureSettleNotify_proto_rawDescGZIP() []byte {
+ file_FungusCaptureSettleNotify_proto_rawDescOnce.Do(func() {
+ file_FungusCaptureSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusCaptureSettleNotify_proto_rawDescData)
+ })
+ return file_FungusCaptureSettleNotify_proto_rawDescData
+}
+
+var file_FungusCaptureSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusCaptureSettleNotify_proto_goTypes = []interface{}{
+ (*FungusCaptureSettleNotify)(nil), // 0: proto.FungusCaptureSettleNotify
+}
+var file_FungusCaptureSettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusCaptureSettleNotify_proto_init() }
+func file_FungusCaptureSettleNotify_proto_init() {
+ if File_FungusCaptureSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusCaptureSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusCaptureSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusCaptureSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusCaptureSettleNotify_proto_goTypes,
+ DependencyIndexes: file_FungusCaptureSettleNotify_proto_depIdxs,
+ MessageInfos: file_FungusCaptureSettleNotify_proto_msgTypes,
+ }.Build()
+ File_FungusCaptureSettleNotify_proto = out.File
+ file_FungusCaptureSettleNotify_proto_rawDesc = nil
+ file_FungusCaptureSettleNotify_proto_goTypes = nil
+ file_FungusCaptureSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusCultivateReq.pb.go b/protocol/proto/FungusCultivateReq.pb.go
new file mode 100644
index 00000000..f4423934
--- /dev/null
+++ b/protocol/proto/FungusCultivateReq.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusCultivateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21749
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FungusCultivateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CultivateId uint32 `protobuf:"varint,8,opt,name=cultivate_id,json=cultivateId,proto3" json:"cultivate_id,omitempty"`
+ CopyStep uint32 `protobuf:"varint,7,opt,name=copy_step,json=copyStep,proto3" json:"copy_step,omitempty"`
+ ExchangeStep uint32 `protobuf:"varint,11,opt,name=exchange_step,json=exchangeStep,proto3" json:"exchange_step,omitempty"`
+ CultivateStep uint32 `protobuf:"varint,13,opt,name=cultivate_step,json=cultivateStep,proto3" json:"cultivate_step,omitempty"`
+ RotateStep uint32 `protobuf:"varint,15,opt,name=rotate_step,json=rotateStep,proto3" json:"rotate_step,omitempty"`
+ UndoStep uint32 `protobuf:"varint,6,opt,name=undo_step,json=undoStep,proto3" json:"undo_step,omitempty"`
+ Time uint32 `protobuf:"varint,2,opt,name=time,proto3" json:"time,omitempty"`
+ PlaceStep uint32 `protobuf:"varint,10,opt,name=place_step,json=placeStep,proto3" json:"place_step,omitempty"`
+}
+
+func (x *FungusCultivateReq) Reset() {
+ *x = FungusCultivateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusCultivateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusCultivateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusCultivateReq) ProtoMessage() {}
+
+func (x *FungusCultivateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusCultivateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusCultivateReq.ProtoReflect.Descriptor instead.
+func (*FungusCultivateReq) Descriptor() ([]byte, []int) {
+ return file_FungusCultivateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusCultivateReq) GetCultivateId() uint32 {
+ if x != nil {
+ return x.CultivateId
+ }
+ return 0
+}
+
+func (x *FungusCultivateReq) GetCopyStep() uint32 {
+ if x != nil {
+ return x.CopyStep
+ }
+ return 0
+}
+
+func (x *FungusCultivateReq) GetExchangeStep() uint32 {
+ if x != nil {
+ return x.ExchangeStep
+ }
+ return 0
+}
+
+func (x *FungusCultivateReq) GetCultivateStep() uint32 {
+ if x != nil {
+ return x.CultivateStep
+ }
+ return 0
+}
+
+func (x *FungusCultivateReq) GetRotateStep() uint32 {
+ if x != nil {
+ return x.RotateStep
+ }
+ return 0
+}
+
+func (x *FungusCultivateReq) GetUndoStep() uint32 {
+ if x != nil {
+ return x.UndoStep
+ }
+ return 0
+}
+
+func (x *FungusCultivateReq) GetTime() uint32 {
+ if x != nil {
+ return x.Time
+ }
+ return 0
+}
+
+func (x *FungusCultivateReq) GetPlaceStep() uint32 {
+ if x != nil {
+ return x.PlaceStep
+ }
+ return 0
+}
+
+var File_FungusCultivateReq_proto protoreflect.FileDescriptor
+
+var file_FungusCultivateReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x43, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x91, 0x02, 0x0a, 0x12, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x43, 0x75, 0x6c, 0x74,
+ 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x6c, 0x74,
+ 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x63, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63,
+ 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x63, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x65, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x25, 0x0a,
+ 0x0e, 0x63, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x53, 0x74, 0x65, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x73,
+ 0x74, 0x65, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x6f, 0x74, 0x61, 0x74,
+ 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x6e, 0x64, 0x6f, 0x5f, 0x73, 0x74,
+ 0x65, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x6e, 0x64, 0x6f, 0x53, 0x74,
+ 0x65, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f,
+ 0x73, 0x74, 0x65, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63,
+ 0x65, 0x53, 0x74, 0x65, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusCultivateReq_proto_rawDescOnce sync.Once
+ file_FungusCultivateReq_proto_rawDescData = file_FungusCultivateReq_proto_rawDesc
+)
+
+func file_FungusCultivateReq_proto_rawDescGZIP() []byte {
+ file_FungusCultivateReq_proto_rawDescOnce.Do(func() {
+ file_FungusCultivateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusCultivateReq_proto_rawDescData)
+ })
+ return file_FungusCultivateReq_proto_rawDescData
+}
+
+var file_FungusCultivateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusCultivateReq_proto_goTypes = []interface{}{
+ (*FungusCultivateReq)(nil), // 0: proto.FungusCultivateReq
+}
+var file_FungusCultivateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusCultivateReq_proto_init() }
+func file_FungusCultivateReq_proto_init() {
+ if File_FungusCultivateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusCultivateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusCultivateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusCultivateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusCultivateReq_proto_goTypes,
+ DependencyIndexes: file_FungusCultivateReq_proto_depIdxs,
+ MessageInfos: file_FungusCultivateReq_proto_msgTypes,
+ }.Build()
+ File_FungusCultivateReq_proto = out.File
+ file_FungusCultivateReq_proto_rawDesc = nil
+ file_FungusCultivateReq_proto_goTypes = nil
+ file_FungusCultivateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusCultivateRsp.pb.go b/protocol/proto/FungusCultivateRsp.pb.go
new file mode 100644
index 00000000..7d7b4a1b
--- /dev/null
+++ b/protocol/proto/FungusCultivateRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusCultivateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23532
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusCultivateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CultivateId uint32 `protobuf:"varint,4,opt,name=cultivate_id,json=cultivateId,proto3" json:"cultivate_id,omitempty"`
+ IsNewRecord bool `protobuf:"varint,13,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FungusCultivateRsp) Reset() {
+ *x = FungusCultivateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusCultivateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusCultivateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusCultivateRsp) ProtoMessage() {}
+
+func (x *FungusCultivateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusCultivateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusCultivateRsp.ProtoReflect.Descriptor instead.
+func (*FungusCultivateRsp) Descriptor() ([]byte, []int) {
+ return file_FungusCultivateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusCultivateRsp) GetCultivateId() uint32 {
+ if x != nil {
+ return x.CultivateId
+ }
+ return 0
+}
+
+func (x *FungusCultivateRsp) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *FungusCultivateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FungusCultivateRsp_proto protoreflect.FileDescriptor
+
+var file_FungusCultivateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x43, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74,
+ 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x75, 0x0a, 0x12, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x43, 0x75, 0x6c, 0x74, 0x69,
+ 0x76, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x6c, 0x74, 0x69,
+ 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63,
+ 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73,
+ 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusCultivateRsp_proto_rawDescOnce sync.Once
+ file_FungusCultivateRsp_proto_rawDescData = file_FungusCultivateRsp_proto_rawDesc
+)
+
+func file_FungusCultivateRsp_proto_rawDescGZIP() []byte {
+ file_FungusCultivateRsp_proto_rawDescOnce.Do(func() {
+ file_FungusCultivateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusCultivateRsp_proto_rawDescData)
+ })
+ return file_FungusCultivateRsp_proto_rawDescData
+}
+
+var file_FungusCultivateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusCultivateRsp_proto_goTypes = []interface{}{
+ (*FungusCultivateRsp)(nil), // 0: proto.FungusCultivateRsp
+}
+var file_FungusCultivateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusCultivateRsp_proto_init() }
+func file_FungusCultivateRsp_proto_init() {
+ if File_FungusCultivateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusCultivateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusCultivateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusCultivateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusCultivateRsp_proto_goTypes,
+ DependencyIndexes: file_FungusCultivateRsp_proto_depIdxs,
+ MessageInfos: file_FungusCultivateRsp_proto_msgTypes,
+ }.Build()
+ File_FungusCultivateRsp_proto = out.File
+ file_FungusCultivateRsp_proto_rawDesc = nil
+ file_FungusCultivateRsp_proto_goTypes = nil
+ file_FungusCultivateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusDetail.pb.go b/protocol/proto/FungusDetail.pb.go
new file mode 100644
index 00000000..caab2ca9
--- /dev/null
+++ b/protocol/proto/FungusDetail.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCultivate bool `protobuf:"varint,5,opt,name=is_cultivate,json=isCultivate,proto3" json:"is_cultivate,omitempty"`
+ CaptureOrder uint32 `protobuf:"varint,6,opt,name=capture_order,json=captureOrder,proto3" json:"capture_order,omitempty"`
+ NameId uint32 `protobuf:"varint,14,opt,name=name_id,json=nameId,proto3" json:"name_id,omitempty"`
+ MinCultivateStep uint32 `protobuf:"varint,1,opt,name=min_cultivate_step,json=minCultivateStep,proto3" json:"min_cultivate_step,omitempty"`
+ FungusId uint32 `protobuf:"varint,9,opt,name=fungus_id,json=fungusId,proto3" json:"fungus_id,omitempty"`
+}
+
+func (x *FungusDetail) Reset() {
+ *x = FungusDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusDetail) ProtoMessage() {}
+
+func (x *FungusDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusDetail.ProtoReflect.Descriptor instead.
+func (*FungusDetail) Descriptor() ([]byte, []int) {
+ return file_FungusDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusDetail) GetIsCultivate() bool {
+ if x != nil {
+ return x.IsCultivate
+ }
+ return false
+}
+
+func (x *FungusDetail) GetCaptureOrder() uint32 {
+ if x != nil {
+ return x.CaptureOrder
+ }
+ return 0
+}
+
+func (x *FungusDetail) GetNameId() uint32 {
+ if x != nil {
+ return x.NameId
+ }
+ return 0
+}
+
+func (x *FungusDetail) GetMinCultivateStep() uint32 {
+ if x != nil {
+ return x.MinCultivateStep
+ }
+ return 0
+}
+
+func (x *FungusDetail) GetFungusId() uint32 {
+ if x != nil {
+ return x.FungusId
+ }
+ return 0
+}
+
+var File_FungusDetail_proto protoreflect.FileDescriptor
+
+var file_FungusDetail_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x0c,
+ 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x0a, 0x0c,
+ 0x69, 0x73, 0x5f, 0x63, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12,
+ 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x4f,
+ 0x72, 0x64, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a,
+ 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x73,
+ 0x74, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x43, 0x75,
+ 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x66,
+ 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusDetail_proto_rawDescOnce sync.Once
+ file_FungusDetail_proto_rawDescData = file_FungusDetail_proto_rawDesc
+)
+
+func file_FungusDetail_proto_rawDescGZIP() []byte {
+ file_FungusDetail_proto_rawDescOnce.Do(func() {
+ file_FungusDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusDetail_proto_rawDescData)
+ })
+ return file_FungusDetail_proto_rawDescData
+}
+
+var file_FungusDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusDetail_proto_goTypes = []interface{}{
+ (*FungusDetail)(nil), // 0: proto.FungusDetail
+}
+var file_FungusDetail_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusDetail_proto_init() }
+func file_FungusDetail_proto_init() {
+ if File_FungusDetail_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusDetail_proto_goTypes,
+ DependencyIndexes: file_FungusDetail_proto_depIdxs,
+ MessageInfos: file_FungusDetail_proto_msgTypes,
+ }.Build()
+ File_FungusDetail_proto = out.File
+ file_FungusDetail_proto_rawDesc = nil
+ file_FungusDetail_proto_goTypes = nil
+ file_FungusDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterClearTrainingRuntimeDataReq.pb.go b/protocol/proto/FungusFighterClearTrainingRuntimeDataReq.pb.go
new file mode 100644
index 00000000..4d790810
--- /dev/null
+++ b/protocol/proto/FungusFighterClearTrainingRuntimeDataReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterClearTrainingRuntimeDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24137
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FungusFighterClearTrainingRuntimeDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,6,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *FungusFighterClearTrainingRuntimeDataReq) Reset() {
+ *x = FungusFighterClearTrainingRuntimeDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterClearTrainingRuntimeDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterClearTrainingRuntimeDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterClearTrainingRuntimeDataReq) ProtoMessage() {}
+
+func (x *FungusFighterClearTrainingRuntimeDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterClearTrainingRuntimeDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterClearTrainingRuntimeDataReq.ProtoReflect.Descriptor instead.
+func (*FungusFighterClearTrainingRuntimeDataReq) Descriptor() ([]byte, []int) {
+ return file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterClearTrainingRuntimeDataReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_FungusFighterClearTrainingRuntimeDataReq_proto protoreflect.FileDescriptor
+
+var file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x43,
+ 0x6c, 0x65, 0x61, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x74,
+ 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x28, 0x46, 0x75, 0x6e, 0x67, 0x75,
+ 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x54, 0x72, 0x61,
+ 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDescOnce sync.Once
+ file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDescData = file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDesc
+)
+
+func file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDescGZIP() []byte {
+ file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDescOnce.Do(func() {
+ file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDescData)
+ })
+ return file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDescData
+}
+
+var file_FungusFighterClearTrainingRuntimeDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterClearTrainingRuntimeDataReq_proto_goTypes = []interface{}{
+ (*FungusFighterClearTrainingRuntimeDataReq)(nil), // 0: proto.FungusFighterClearTrainingRuntimeDataReq
+}
+var file_FungusFighterClearTrainingRuntimeDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterClearTrainingRuntimeDataReq_proto_init() }
+func file_FungusFighterClearTrainingRuntimeDataReq_proto_init() {
+ if File_FungusFighterClearTrainingRuntimeDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterClearTrainingRuntimeDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterClearTrainingRuntimeDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterClearTrainingRuntimeDataReq_proto_goTypes,
+ DependencyIndexes: file_FungusFighterClearTrainingRuntimeDataReq_proto_depIdxs,
+ MessageInfos: file_FungusFighterClearTrainingRuntimeDataReq_proto_msgTypes,
+ }.Build()
+ File_FungusFighterClearTrainingRuntimeDataReq_proto = out.File
+ file_FungusFighterClearTrainingRuntimeDataReq_proto_rawDesc = nil
+ file_FungusFighterClearTrainingRuntimeDataReq_proto_goTypes = nil
+ file_FungusFighterClearTrainingRuntimeDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterClearTrainingRuntimeDataRsp.pb.go b/protocol/proto/FungusFighterClearTrainingRuntimeDataRsp.pb.go
new file mode 100644
index 00000000..845556f8
--- /dev/null
+++ b/protocol/proto/FungusFighterClearTrainingRuntimeDataRsp.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterClearTrainingRuntimeDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22991
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusFighterClearTrainingRuntimeDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FungusFighterClearTrainingRuntimeDataRsp) Reset() {
+ *x = FungusFighterClearTrainingRuntimeDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterClearTrainingRuntimeDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterClearTrainingRuntimeDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterClearTrainingRuntimeDataRsp) ProtoMessage() {}
+
+func (x *FungusFighterClearTrainingRuntimeDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterClearTrainingRuntimeDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterClearTrainingRuntimeDataRsp.ProtoReflect.Descriptor instead.
+func (*FungusFighterClearTrainingRuntimeDataRsp) Descriptor() ([]byte, []int) {
+ return file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterClearTrainingRuntimeDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FungusFighterClearTrainingRuntimeDataRsp_proto protoreflect.FileDescriptor
+
+var file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x43,
+ 0x6c, 0x65, 0x61, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x74,
+ 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x28, 0x46, 0x75, 0x6e, 0x67, 0x75,
+ 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x54, 0x72, 0x61,
+ 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDescOnce sync.Once
+ file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDescData = file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDesc
+)
+
+func file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDescGZIP() []byte {
+ file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDescOnce.Do(func() {
+ file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDescData)
+ })
+ return file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDescData
+}
+
+var file_FungusFighterClearTrainingRuntimeDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterClearTrainingRuntimeDataRsp_proto_goTypes = []interface{}{
+ (*FungusFighterClearTrainingRuntimeDataRsp)(nil), // 0: proto.FungusFighterClearTrainingRuntimeDataRsp
+}
+var file_FungusFighterClearTrainingRuntimeDataRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterClearTrainingRuntimeDataRsp_proto_init() }
+func file_FungusFighterClearTrainingRuntimeDataRsp_proto_init() {
+ if File_FungusFighterClearTrainingRuntimeDataRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterClearTrainingRuntimeDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterClearTrainingRuntimeDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterClearTrainingRuntimeDataRsp_proto_goTypes,
+ DependencyIndexes: file_FungusFighterClearTrainingRuntimeDataRsp_proto_depIdxs,
+ MessageInfos: file_FungusFighterClearTrainingRuntimeDataRsp_proto_msgTypes,
+ }.Build()
+ File_FungusFighterClearTrainingRuntimeDataRsp_proto = out.File
+ file_FungusFighterClearTrainingRuntimeDataRsp_proto_rawDesc = nil
+ file_FungusFighterClearTrainingRuntimeDataRsp_proto_goTypes = nil
+ file_FungusFighterClearTrainingRuntimeDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterDetailInfo.pb.go b/protocol/proto/FungusFighterDetailInfo.pb.go
new file mode 100644
index 00000000..cc1c8d83
--- /dev/null
+++ b/protocol/proto/FungusFighterDetailInfo.pb.go
@@ -0,0 +1,258 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusFighterDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlotStageDetailList []*FungusPlotStageDetail `protobuf:"bytes,6,rep,name=plot_stage_detail_list,json=plotStageDetailList,proto3" json:"plot_stage_detail_list,omitempty"`
+ FungusDetailList []*FungusDetail `protobuf:"bytes,4,rep,name=fungus_detail_list,json=fungusDetailList,proto3" json:"fungus_detail_list,omitempty"`
+ UnlockCampIdList []uint32 `protobuf:"varint,12,rep,packed,name=unlock_camp_id_list,json=unlockCampIdList,proto3" json:"unlock_camp_id_list,omitempty"`
+ TrainingDungeonProgressDetailList []*FungusTrainingProgressDetail `protobuf:"bytes,3,rep,name=training_dungeon_progress_detail_list,json=trainingDungeonProgressDetailList,proto3" json:"training_dungeon_progress_detail_list,omitempty"`
+ TrainingDungeonDetailList []*FungusTrainingDungeonDetail `protobuf:"bytes,15,rep,name=training_dungeon_detail_list,json=trainingDungeonDetailList,proto3" json:"training_dungeon_detail_list,omitempty"`
+ FinishCampIdList []uint32 `protobuf:"varint,1,rep,packed,name=finish_camp_id_list,json=finishCampIdList,proto3" json:"finish_camp_id_list,omitempty"`
+ UnlockCultivateIdList []uint32 `protobuf:"varint,8,rep,packed,name=unlock_cultivate_id_list,json=unlockCultivateIdList,proto3" json:"unlock_cultivate_id_list,omitempty"`
+}
+
+func (x *FungusFighterDetailInfo) Reset() {
+ *x = FungusFighterDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterDetailInfo) ProtoMessage() {}
+
+func (x *FungusFighterDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterDetailInfo.ProtoReflect.Descriptor instead.
+func (*FungusFighterDetailInfo) Descriptor() ([]byte, []int) {
+ return file_FungusFighterDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterDetailInfo) GetPlotStageDetailList() []*FungusPlotStageDetail {
+ if x != nil {
+ return x.PlotStageDetailList
+ }
+ return nil
+}
+
+func (x *FungusFighterDetailInfo) GetFungusDetailList() []*FungusDetail {
+ if x != nil {
+ return x.FungusDetailList
+ }
+ return nil
+}
+
+func (x *FungusFighterDetailInfo) GetUnlockCampIdList() []uint32 {
+ if x != nil {
+ return x.UnlockCampIdList
+ }
+ return nil
+}
+
+func (x *FungusFighterDetailInfo) GetTrainingDungeonProgressDetailList() []*FungusTrainingProgressDetail {
+ if x != nil {
+ return x.TrainingDungeonProgressDetailList
+ }
+ return nil
+}
+
+func (x *FungusFighterDetailInfo) GetTrainingDungeonDetailList() []*FungusTrainingDungeonDetail {
+ if x != nil {
+ return x.TrainingDungeonDetailList
+ }
+ return nil
+}
+
+func (x *FungusFighterDetailInfo) GetFinishCampIdList() []uint32 {
+ if x != nil {
+ return x.FinishCampIdList
+ }
+ return nil
+}
+
+func (x *FungusFighterDetailInfo) GetUnlockCultivateIdList() []uint32 {
+ if x != nil {
+ return x.UnlockCultivateIdList
+ }
+ return nil
+}
+
+var File_FungusFighterDetailInfo_proto protoreflect.FileDescriptor
+
+var file_FungusFighterDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x46, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x50, 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54,
+ 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x46, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2,
+ 0x04, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x16, 0x70, 0x6c,
+ 0x6f, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x50, 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x13, 0x70, 0x6c, 0x6f, 0x74, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x41, 0x0a,
+ 0x12, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x10,
+ 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x2d, 0x0a, 0x13, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x75,
+ 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x75, 0x0a, 0x25, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61,
+ 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x52, 0x21, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x1c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69,
+ 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e,
+ 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x52, 0x19, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x66,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x43, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x75, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x15, 0x75, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x75, 0x6c, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterDetailInfo_proto_rawDescOnce sync.Once
+ file_FungusFighterDetailInfo_proto_rawDescData = file_FungusFighterDetailInfo_proto_rawDesc
+)
+
+func file_FungusFighterDetailInfo_proto_rawDescGZIP() []byte {
+ file_FungusFighterDetailInfo_proto_rawDescOnce.Do(func() {
+ file_FungusFighterDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterDetailInfo_proto_rawDescData)
+ })
+ return file_FungusFighterDetailInfo_proto_rawDescData
+}
+
+var file_FungusFighterDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterDetailInfo_proto_goTypes = []interface{}{
+ (*FungusFighterDetailInfo)(nil), // 0: proto.FungusFighterDetailInfo
+ (*FungusPlotStageDetail)(nil), // 1: proto.FungusPlotStageDetail
+ (*FungusDetail)(nil), // 2: proto.FungusDetail
+ (*FungusTrainingProgressDetail)(nil), // 3: proto.FungusTrainingProgressDetail
+ (*FungusTrainingDungeonDetail)(nil), // 4: proto.FungusTrainingDungeonDetail
+}
+var file_FungusFighterDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FungusFighterDetailInfo.plot_stage_detail_list:type_name -> proto.FungusPlotStageDetail
+ 2, // 1: proto.FungusFighterDetailInfo.fungus_detail_list:type_name -> proto.FungusDetail
+ 3, // 2: proto.FungusFighterDetailInfo.training_dungeon_progress_detail_list:type_name -> proto.FungusTrainingProgressDetail
+ 4, // 3: proto.FungusFighterDetailInfo.training_dungeon_detail_list:type_name -> proto.FungusTrainingDungeonDetail
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterDetailInfo_proto_init() }
+func file_FungusFighterDetailInfo_proto_init() {
+ if File_FungusFighterDetailInfo_proto != nil {
+ return
+ }
+ file_FungusDetail_proto_init()
+ file_FungusPlotStageDetail_proto_init()
+ file_FungusTrainingDungeonDetail_proto_init()
+ file_FungusTrainingProgressDetail_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterDetailInfo_proto_goTypes,
+ DependencyIndexes: file_FungusFighterDetailInfo_proto_depIdxs,
+ MessageInfos: file_FungusFighterDetailInfo_proto_msgTypes,
+ }.Build()
+ File_FungusFighterDetailInfo_proto = out.File
+ file_FungusFighterDetailInfo_proto_rawDesc = nil
+ file_FungusFighterDetailInfo_proto_goTypes = nil
+ file_FungusFighterDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterMonsterDetail.pb.go b/protocol/proto/FungusFighterMonsterDetail.pb.go
new file mode 100644
index 00000000..2fc565fe
--- /dev/null
+++ b/protocol/proto/FungusFighterMonsterDetail.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterMonsterDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusFighterMonsterDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FungusId uint32 `protobuf:"varint,2,opt,name=fungus_id,json=fungusId,proto3" json:"fungus_id,omitempty"`
+ CurHpPercentage float32 `protobuf:"fixed32,7,opt,name=cur_hp_percentage,json=curHpPercentage,proto3" json:"cur_hp_percentage,omitempty"`
+ IsAlive bool `protobuf:"varint,9,opt,name=is_alive,json=isAlive,proto3" json:"is_alive,omitempty"`
+}
+
+func (x *FungusFighterMonsterDetail) Reset() {
+ *x = FungusFighterMonsterDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterMonsterDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterMonsterDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterMonsterDetail) ProtoMessage() {}
+
+func (x *FungusFighterMonsterDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterMonsterDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterMonsterDetail.ProtoReflect.Descriptor instead.
+func (*FungusFighterMonsterDetail) Descriptor() ([]byte, []int) {
+ return file_FungusFighterMonsterDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterMonsterDetail) GetFungusId() uint32 {
+ if x != nil {
+ return x.FungusId
+ }
+ return 0
+}
+
+func (x *FungusFighterMonsterDetail) GetCurHpPercentage() float32 {
+ if x != nil {
+ return x.CurHpPercentage
+ }
+ return 0
+}
+
+func (x *FungusFighterMonsterDetail) GetIsAlive() bool {
+ if x != nil {
+ return x.IsAlive
+ }
+ return false
+}
+
+var File_FungusFighterMonsterDetail_proto protoreflect.FileDescriptor
+
+var file_FungusFighterMonsterDetail_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x1a, 0x46, 0x75,
+ 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x75, 0x6e,
+ 0x67, 0x75, 0x73, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x5f, 0x68, 0x70, 0x5f,
+ 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x0f, 0x63, 0x75, 0x72, 0x48, 0x70, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67,
+ 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterMonsterDetail_proto_rawDescOnce sync.Once
+ file_FungusFighterMonsterDetail_proto_rawDescData = file_FungusFighterMonsterDetail_proto_rawDesc
+)
+
+func file_FungusFighterMonsterDetail_proto_rawDescGZIP() []byte {
+ file_FungusFighterMonsterDetail_proto_rawDescOnce.Do(func() {
+ file_FungusFighterMonsterDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterMonsterDetail_proto_rawDescData)
+ })
+ return file_FungusFighterMonsterDetail_proto_rawDescData
+}
+
+var file_FungusFighterMonsterDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterMonsterDetail_proto_goTypes = []interface{}{
+ (*FungusFighterMonsterDetail)(nil), // 0: proto.FungusFighterMonsterDetail
+}
+var file_FungusFighterMonsterDetail_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterMonsterDetail_proto_init() }
+func file_FungusFighterMonsterDetail_proto_init() {
+ if File_FungusFighterMonsterDetail_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterMonsterDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterMonsterDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterMonsterDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterMonsterDetail_proto_goTypes,
+ DependencyIndexes: file_FungusFighterMonsterDetail_proto_depIdxs,
+ MessageInfos: file_FungusFighterMonsterDetail_proto_msgTypes,
+ }.Build()
+ File_FungusFighterMonsterDetail_proto = out.File
+ file_FungusFighterMonsterDetail_proto_rawDesc = nil
+ file_FungusFighterMonsterDetail_proto_goTypes = nil
+ file_FungusFighterMonsterDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterPlotInfoNotify.pb.go b/protocol/proto/FungusFighterPlotInfoNotify.pb.go
new file mode 100644
index 00000000..c85b9981
--- /dev/null
+++ b/protocol/proto/FungusFighterPlotInfoNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterPlotInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22174
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusFighterPlotInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FungusIdList []uint32 `protobuf:"varint,11,rep,packed,name=fungus_id_list,json=fungusIdList,proto3" json:"fungus_id_list,omitempty"`
+ DungeonId uint32 `protobuf:"varint,4,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *FungusFighterPlotInfoNotify) Reset() {
+ *x = FungusFighterPlotInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterPlotInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterPlotInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterPlotInfoNotify) ProtoMessage() {}
+
+func (x *FungusFighterPlotInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterPlotInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterPlotInfoNotify.ProtoReflect.Descriptor instead.
+func (*FungusFighterPlotInfoNotify) Descriptor() ([]byte, []int) {
+ return file_FungusFighterPlotInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterPlotInfoNotify) GetFungusIdList() []uint32 {
+ if x != nil {
+ return x.FungusIdList
+ }
+ return nil
+}
+
+func (x *FungusFighterPlotInfoNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_FungusFighterPlotInfoNotify_proto protoreflect.FileDescriptor
+
+var file_FungusFighterPlotInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x50,
+ 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x1b, 0x46, 0x75,
+ 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x6f, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x75, 0x6e,
+ 0x67, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterPlotInfoNotify_proto_rawDescOnce sync.Once
+ file_FungusFighterPlotInfoNotify_proto_rawDescData = file_FungusFighterPlotInfoNotify_proto_rawDesc
+)
+
+func file_FungusFighterPlotInfoNotify_proto_rawDescGZIP() []byte {
+ file_FungusFighterPlotInfoNotify_proto_rawDescOnce.Do(func() {
+ file_FungusFighterPlotInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterPlotInfoNotify_proto_rawDescData)
+ })
+ return file_FungusFighterPlotInfoNotify_proto_rawDescData
+}
+
+var file_FungusFighterPlotInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterPlotInfoNotify_proto_goTypes = []interface{}{
+ (*FungusFighterPlotInfoNotify)(nil), // 0: proto.FungusFighterPlotInfoNotify
+}
+var file_FungusFighterPlotInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterPlotInfoNotify_proto_init() }
+func file_FungusFighterPlotInfoNotify_proto_init() {
+ if File_FungusFighterPlotInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterPlotInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterPlotInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterPlotInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterPlotInfoNotify_proto_goTypes,
+ DependencyIndexes: file_FungusFighterPlotInfoNotify_proto_depIdxs,
+ MessageInfos: file_FungusFighterPlotInfoNotify_proto_msgTypes,
+ }.Build()
+ File_FungusFighterPlotInfoNotify_proto = out.File
+ file_FungusFighterPlotInfoNotify_proto_rawDesc = nil
+ file_FungusFighterPlotInfoNotify_proto_goTypes = nil
+ file_FungusFighterPlotInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterRestartTraningDungeonReq.pb.go b/protocol/proto/FungusFighterRestartTraningDungeonReq.pb.go
new file mode 100644
index 00000000..a53b8110
--- /dev/null
+++ b/protocol/proto/FungusFighterRestartTraningDungeonReq.pb.go
@@ -0,0 +1,155 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterRestartTraningDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23980
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FungusFighterRestartTraningDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FungusFighterRestartTraningDungeonReq) Reset() {
+ *x = FungusFighterRestartTraningDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterRestartTraningDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterRestartTraningDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterRestartTraningDungeonReq) ProtoMessage() {}
+
+func (x *FungusFighterRestartTraningDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterRestartTraningDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterRestartTraningDungeonReq.ProtoReflect.Descriptor instead.
+func (*FungusFighterRestartTraningDungeonReq) Descriptor() ([]byte, []int) {
+ return file_FungusFighterRestartTraningDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FungusFighterRestartTraningDungeonReq_proto protoreflect.FileDescriptor
+
+var file_FungusFighterRestartTraningDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x25, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69,
+ 0x67, 0x68, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e,
+ 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_FungusFighterRestartTraningDungeonReq_proto_rawDescOnce sync.Once
+ file_FungusFighterRestartTraningDungeonReq_proto_rawDescData = file_FungusFighterRestartTraningDungeonReq_proto_rawDesc
+)
+
+func file_FungusFighterRestartTraningDungeonReq_proto_rawDescGZIP() []byte {
+ file_FungusFighterRestartTraningDungeonReq_proto_rawDescOnce.Do(func() {
+ file_FungusFighterRestartTraningDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterRestartTraningDungeonReq_proto_rawDescData)
+ })
+ return file_FungusFighterRestartTraningDungeonReq_proto_rawDescData
+}
+
+var file_FungusFighterRestartTraningDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterRestartTraningDungeonReq_proto_goTypes = []interface{}{
+ (*FungusFighterRestartTraningDungeonReq)(nil), // 0: proto.FungusFighterRestartTraningDungeonReq
+}
+var file_FungusFighterRestartTraningDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterRestartTraningDungeonReq_proto_init() }
+func file_FungusFighterRestartTraningDungeonReq_proto_init() {
+ if File_FungusFighterRestartTraningDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterRestartTraningDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterRestartTraningDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterRestartTraningDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterRestartTraningDungeonReq_proto_goTypes,
+ DependencyIndexes: file_FungusFighterRestartTraningDungeonReq_proto_depIdxs,
+ MessageInfos: file_FungusFighterRestartTraningDungeonReq_proto_msgTypes,
+ }.Build()
+ File_FungusFighterRestartTraningDungeonReq_proto = out.File
+ file_FungusFighterRestartTraningDungeonReq_proto_rawDesc = nil
+ file_FungusFighterRestartTraningDungeonReq_proto_goTypes = nil
+ file_FungusFighterRestartTraningDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterRestartTraningDungeonRsp.pb.go b/protocol/proto/FungusFighterRestartTraningDungeonRsp.pb.go
new file mode 100644
index 00000000..2a5490ee
--- /dev/null
+++ b/protocol/proto/FungusFighterRestartTraningDungeonRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterRestartTraningDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22890
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusFighterRestartTraningDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FungusFighterRestartTraningDungeonRsp) Reset() {
+ *x = FungusFighterRestartTraningDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterRestartTraningDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterRestartTraningDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterRestartTraningDungeonRsp) ProtoMessage() {}
+
+func (x *FungusFighterRestartTraningDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterRestartTraningDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterRestartTraningDungeonRsp.ProtoReflect.Descriptor instead.
+func (*FungusFighterRestartTraningDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_FungusFighterRestartTraningDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterRestartTraningDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FungusFighterRestartTraningDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_FungusFighterRestartTraningDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x25, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69,
+ 0x67, 0x68, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e,
+ 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterRestartTraningDungeonRsp_proto_rawDescOnce sync.Once
+ file_FungusFighterRestartTraningDungeonRsp_proto_rawDescData = file_FungusFighterRestartTraningDungeonRsp_proto_rawDesc
+)
+
+func file_FungusFighterRestartTraningDungeonRsp_proto_rawDescGZIP() []byte {
+ file_FungusFighterRestartTraningDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_FungusFighterRestartTraningDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterRestartTraningDungeonRsp_proto_rawDescData)
+ })
+ return file_FungusFighterRestartTraningDungeonRsp_proto_rawDescData
+}
+
+var file_FungusFighterRestartTraningDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterRestartTraningDungeonRsp_proto_goTypes = []interface{}{
+ (*FungusFighterRestartTraningDungeonRsp)(nil), // 0: proto.FungusFighterRestartTraningDungeonRsp
+}
+var file_FungusFighterRestartTraningDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterRestartTraningDungeonRsp_proto_init() }
+func file_FungusFighterRestartTraningDungeonRsp_proto_init() {
+ if File_FungusFighterRestartTraningDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterRestartTraningDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterRestartTraningDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterRestartTraningDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterRestartTraningDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_FungusFighterRestartTraningDungeonRsp_proto_depIdxs,
+ MessageInfos: file_FungusFighterRestartTraningDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_FungusFighterRestartTraningDungeonRsp_proto = out.File
+ file_FungusFighterRestartTraningDungeonRsp_proto_rawDesc = nil
+ file_FungusFighterRestartTraningDungeonRsp_proto_goTypes = nil
+ file_FungusFighterRestartTraningDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterRuntimeDataNotify.pb.go b/protocol/proto/FungusFighterRuntimeDataNotify.pb.go
new file mode 100644
index 00000000..e0ebe689
--- /dev/null
+++ b/protocol/proto/FungusFighterRuntimeDataNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterRuntimeDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24674
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusFighterRuntimeDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProgressDetail *FungusTrainingProgressDetail `protobuf:"bytes,7,opt,name=progress_detail,json=progressDetail,proto3" json:"progress_detail,omitempty"`
+}
+
+func (x *FungusFighterRuntimeDataNotify) Reset() {
+ *x = FungusFighterRuntimeDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterRuntimeDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterRuntimeDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterRuntimeDataNotify) ProtoMessage() {}
+
+func (x *FungusFighterRuntimeDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterRuntimeDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterRuntimeDataNotify.ProtoReflect.Descriptor instead.
+func (*FungusFighterRuntimeDataNotify) Descriptor() ([]byte, []int) {
+ return file_FungusFighterRuntimeDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterRuntimeDataNotify) GetProgressDetail() *FungusTrainingProgressDetail {
+ if x != nil {
+ return x.ProgressDetail
+ }
+ return nil
+}
+
+var File_FungusFighterRuntimeDataNotify_proto protoreflect.FileDescriptor
+
+var file_FungusFighterRuntimeDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x52,
+ 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x46,
+ 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6e, 0x0a, 0x1e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74,
+ 0x65, 0x72, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x4c, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f,
+ 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e,
+ 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterRuntimeDataNotify_proto_rawDescOnce sync.Once
+ file_FungusFighterRuntimeDataNotify_proto_rawDescData = file_FungusFighterRuntimeDataNotify_proto_rawDesc
+)
+
+func file_FungusFighterRuntimeDataNotify_proto_rawDescGZIP() []byte {
+ file_FungusFighterRuntimeDataNotify_proto_rawDescOnce.Do(func() {
+ file_FungusFighterRuntimeDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterRuntimeDataNotify_proto_rawDescData)
+ })
+ return file_FungusFighterRuntimeDataNotify_proto_rawDescData
+}
+
+var file_FungusFighterRuntimeDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterRuntimeDataNotify_proto_goTypes = []interface{}{
+ (*FungusFighterRuntimeDataNotify)(nil), // 0: proto.FungusFighterRuntimeDataNotify
+ (*FungusTrainingProgressDetail)(nil), // 1: proto.FungusTrainingProgressDetail
+}
+var file_FungusFighterRuntimeDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FungusFighterRuntimeDataNotify.progress_detail:type_name -> proto.FungusTrainingProgressDetail
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterRuntimeDataNotify_proto_init() }
+func file_FungusFighterRuntimeDataNotify_proto_init() {
+ if File_FungusFighterRuntimeDataNotify_proto != nil {
+ return
+ }
+ file_FungusTrainingProgressDetail_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterRuntimeDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterRuntimeDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterRuntimeDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterRuntimeDataNotify_proto_goTypes,
+ DependencyIndexes: file_FungusFighterRuntimeDataNotify_proto_depIdxs,
+ MessageInfos: file_FungusFighterRuntimeDataNotify_proto_msgTypes,
+ }.Build()
+ File_FungusFighterRuntimeDataNotify_proto = out.File
+ file_FungusFighterRuntimeDataNotify_proto_rawDesc = nil
+ file_FungusFighterRuntimeDataNotify_proto_goTypes = nil
+ file_FungusFighterRuntimeDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterTrainingGallerySettleNotify.pb.go b/protocol/proto/FungusFighterTrainingGallerySettleNotify.pb.go
new file mode 100644
index 00000000..ec916198
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingGallerySettleNotify.pb.go
@@ -0,0 +1,244 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterTrainingGallerySettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23931
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusFighterTrainingGallerySettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,14,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ TotalUsedTime uint32 `protobuf:"varint,4,opt,name=total_used_time,json=totalUsedTime,proto3" json:"total_used_time,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,5,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ DeadFungusNum uint32 `protobuf:"varint,1,opt,name=dead_fungus_num,json=deadFungusNum,proto3" json:"dead_fungus_num,omitempty"`
+ SettleRound uint32 `protobuf:"varint,15,opt,name=settle_round,json=settleRound,proto3" json:"settle_round,omitempty"`
+ IsFinalSettle bool `protobuf:"varint,10,opt,name=is_final_settle,json=isFinalSettle,proto3" json:"is_final_settle,omitempty"`
+ GadgetLifePercentage uint32 `protobuf:"varint,11,opt,name=gadget_life_percentage,json=gadgetLifePercentage,proto3" json:"gadget_life_percentage,omitempty"`
+ FinalScore uint32 `protobuf:"varint,9,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) Reset() {
+ *x = FungusFighterTrainingGallerySettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterTrainingGallerySettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterTrainingGallerySettleNotify) ProtoMessage() {}
+
+func (x *FungusFighterTrainingGallerySettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterTrainingGallerySettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterTrainingGallerySettleNotify.ProtoReflect.Descriptor instead.
+func (*FungusFighterTrainingGallerySettleNotify) Descriptor() ([]byte, []int) {
+ return file_FungusFighterTrainingGallerySettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) GetTotalUsedTime() uint32 {
+ if x != nil {
+ return x.TotalUsedTime
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) GetDeadFungusNum() uint32 {
+ if x != nil {
+ return x.DeadFungusNum
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) GetSettleRound() uint32 {
+ if x != nil {
+ return x.SettleRound
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) GetIsFinalSettle() bool {
+ if x != nil {
+ return x.IsFinalSettle
+ }
+ return false
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) GetGadgetLifePercentage() uint32 {
+ if x != nil {
+ return x.GadgetLifePercentage
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingGallerySettleNotify) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+var File_FungusFighterTrainingGallerySettleNotify_proto protoreflect.FileDescriptor
+
+var file_FungusFighterTrainingGallerySettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54,
+ 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xf2, 0x02, 0x0a, 0x28, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74,
+ 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a,
+ 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x55, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x64,
+ 0x65, 0x61, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x61, 0x64, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73,
+ 0x4e, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x72, 0x6f,
+ 0x75, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x34,
+ 0x0a, 0x16, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x5f, 0x70, 0x65,
+ 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x66, 0x65, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e,
+ 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterTrainingGallerySettleNotify_proto_rawDescOnce sync.Once
+ file_FungusFighterTrainingGallerySettleNotify_proto_rawDescData = file_FungusFighterTrainingGallerySettleNotify_proto_rawDesc
+)
+
+func file_FungusFighterTrainingGallerySettleNotify_proto_rawDescGZIP() []byte {
+ file_FungusFighterTrainingGallerySettleNotify_proto_rawDescOnce.Do(func() {
+ file_FungusFighterTrainingGallerySettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterTrainingGallerySettleNotify_proto_rawDescData)
+ })
+ return file_FungusFighterTrainingGallerySettleNotify_proto_rawDescData
+}
+
+var file_FungusFighterTrainingGallerySettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterTrainingGallerySettleNotify_proto_goTypes = []interface{}{
+ (*FungusFighterTrainingGallerySettleNotify)(nil), // 0: proto.FungusFighterTrainingGallerySettleNotify
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_FungusFighterTrainingGallerySettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FungusFighterTrainingGallerySettleNotify.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterTrainingGallerySettleNotify_proto_init() }
+func file_FungusFighterTrainingGallerySettleNotify_proto_init() {
+ if File_FungusFighterTrainingGallerySettleNotify_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterTrainingGallerySettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterTrainingGallerySettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterTrainingGallerySettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterTrainingGallerySettleNotify_proto_goTypes,
+ DependencyIndexes: file_FungusFighterTrainingGallerySettleNotify_proto_depIdxs,
+ MessageInfos: file_FungusFighterTrainingGallerySettleNotify_proto_msgTypes,
+ }.Build()
+ File_FungusFighterTrainingGallerySettleNotify_proto = out.File
+ file_FungusFighterTrainingGallerySettleNotify_proto_rawDesc = nil
+ file_FungusFighterTrainingGallerySettleNotify_proto_goTypes = nil
+ file_FungusFighterTrainingGallerySettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterTrainingInfoNotify.pb.go b/protocol/proto/FungusFighterTrainingInfoNotify.pb.go
new file mode 100644
index 00000000..c1389c26
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingInfoNotify.pb.go
@@ -0,0 +1,227 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterTrainingInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5595
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusFighterTrainingInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuffStartTime uint32 `protobuf:"varint,3,opt,name=buff_start_time,json=buffStartTime,proto3" json:"buff_start_time,omitempty"`
+ MaxSkillCount uint32 `protobuf:"varint,7,opt,name=max_skill_count,json=maxSkillCount,proto3" json:"max_skill_count,omitempty"`
+ MaxMonsterCount uint32 `protobuf:"varint,8,opt,name=max_monster_count,json=maxMonsterCount,proto3" json:"max_monster_count,omitempty"`
+ BuffId uint32 `protobuf:"varint,14,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+ BuffLastTime uint32 `protobuf:"varint,4,opt,name=buff_last_time,json=buffLastTime,proto3" json:"buff_last_time,omitempty"`
+ RestSkillCount uint32 `protobuf:"varint,6,opt,name=rest_skill_count,json=restSkillCount,proto3" json:"rest_skill_count,omitempty"`
+ KilledMonsterCount uint32 `protobuf:"varint,15,opt,name=killed_monster_count,json=killedMonsterCount,proto3" json:"killed_monster_count,omitempty"`
+}
+
+func (x *FungusFighterTrainingInfoNotify) Reset() {
+ *x = FungusFighterTrainingInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterTrainingInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterTrainingInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterTrainingInfoNotify) ProtoMessage() {}
+
+func (x *FungusFighterTrainingInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterTrainingInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterTrainingInfoNotify.ProtoReflect.Descriptor instead.
+func (*FungusFighterTrainingInfoNotify) Descriptor() ([]byte, []int) {
+ return file_FungusFighterTrainingInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterTrainingInfoNotify) GetBuffStartTime() uint32 {
+ if x != nil {
+ return x.BuffStartTime
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingInfoNotify) GetMaxSkillCount() uint32 {
+ if x != nil {
+ return x.MaxSkillCount
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingInfoNotify) GetMaxMonsterCount() uint32 {
+ if x != nil {
+ return x.MaxMonsterCount
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingInfoNotify) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingInfoNotify) GetBuffLastTime() uint32 {
+ if x != nil {
+ return x.BuffLastTime
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingInfoNotify) GetRestSkillCount() uint32 {
+ if x != nil {
+ return x.RestSkillCount
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingInfoNotify) GetKilledMonsterCount() uint32 {
+ if x != nil {
+ return x.KilledMonsterCount
+ }
+ return 0
+}
+
+var File_FungusFighterTrainingInfoNotify_proto protoreflect.FileDescriptor
+
+var file_FungusFighterTrainingInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54,
+ 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8,
+ 0x02, 0x0a, 0x1f, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72,
+ 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x75, 0x66,
+ 0x66, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61,
+ 0x78, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d,
+ 0x61, 0x78, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17,
+ 0x0a, 0x07, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x62, 0x75, 0x66, 0x66, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x5f,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x62, 0x75, 0x66, 0x66, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a,
+ 0x10, 0x72, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x6b, 0x69, 0x6c, 0x6c, 0x65,
+ 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterTrainingInfoNotify_proto_rawDescOnce sync.Once
+ file_FungusFighterTrainingInfoNotify_proto_rawDescData = file_FungusFighterTrainingInfoNotify_proto_rawDesc
+)
+
+func file_FungusFighterTrainingInfoNotify_proto_rawDescGZIP() []byte {
+ file_FungusFighterTrainingInfoNotify_proto_rawDescOnce.Do(func() {
+ file_FungusFighterTrainingInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterTrainingInfoNotify_proto_rawDescData)
+ })
+ return file_FungusFighterTrainingInfoNotify_proto_rawDescData
+}
+
+var file_FungusFighterTrainingInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterTrainingInfoNotify_proto_goTypes = []interface{}{
+ (*FungusFighterTrainingInfoNotify)(nil), // 0: proto.FungusFighterTrainingInfoNotify
+}
+var file_FungusFighterTrainingInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterTrainingInfoNotify_proto_init() }
+func file_FungusFighterTrainingInfoNotify_proto_init() {
+ if File_FungusFighterTrainingInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterTrainingInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterTrainingInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterTrainingInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterTrainingInfoNotify_proto_goTypes,
+ DependencyIndexes: file_FungusFighterTrainingInfoNotify_proto_depIdxs,
+ MessageInfos: file_FungusFighterTrainingInfoNotify_proto_msgTypes,
+ }.Build()
+ File_FungusFighterTrainingInfoNotify_proto = out.File
+ file_FungusFighterTrainingInfoNotify_proto_rawDesc = nil
+ file_FungusFighterTrainingInfoNotify_proto_goTypes = nil
+ file_FungusFighterTrainingInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterTrainingSelectFungusReq.pb.go b/protocol/proto/FungusFighterTrainingSelectFungusReq.pb.go
new file mode 100644
index 00000000..9e70e253
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingSelectFungusReq.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterTrainingSelectFungusReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23903
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FungusFighterTrainingSelectFungusReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BackupFungusIdList []uint32 `protobuf:"varint,11,rep,packed,name=backup_fungus_id_list,json=backupFungusIdList,proto3" json:"backup_fungus_id_list,omitempty"`
+ FightFungusIdList []uint32 `protobuf:"varint,7,rep,packed,name=fight_fungus_id_list,json=fightFungusIdList,proto3" json:"fight_fungus_id_list,omitempty"`
+}
+
+func (x *FungusFighterTrainingSelectFungusReq) Reset() {
+ *x = FungusFighterTrainingSelectFungusReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterTrainingSelectFungusReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterTrainingSelectFungusReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterTrainingSelectFungusReq) ProtoMessage() {}
+
+func (x *FungusFighterTrainingSelectFungusReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterTrainingSelectFungusReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterTrainingSelectFungusReq.ProtoReflect.Descriptor instead.
+func (*FungusFighterTrainingSelectFungusReq) Descriptor() ([]byte, []int) {
+ return file_FungusFighterTrainingSelectFungusReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterTrainingSelectFungusReq) GetBackupFungusIdList() []uint32 {
+ if x != nil {
+ return x.BackupFungusIdList
+ }
+ return nil
+}
+
+func (x *FungusFighterTrainingSelectFungusReq) GetFightFungusIdList() []uint32 {
+ if x != nil {
+ return x.FightFungusIdList
+ }
+ return nil
+}
+
+var File_FungusFighterTrainingSelectFungusReq_proto protoreflect.FileDescriptor
+
+var file_FungusFighterTrainingSelectFungusReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54,
+ 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x46, 0x75, 0x6e,
+ 0x67, 0x75, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x24, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69,
+ 0x67, 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x15,
+ 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x62, 0x61, 0x63,
+ 0x6b, 0x75, 0x70, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x2f, 0x0a, 0x14, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x66,
+ 0x69, 0x67, 0x68, 0x74, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterTrainingSelectFungusReq_proto_rawDescOnce sync.Once
+ file_FungusFighterTrainingSelectFungusReq_proto_rawDescData = file_FungusFighterTrainingSelectFungusReq_proto_rawDesc
+)
+
+func file_FungusFighterTrainingSelectFungusReq_proto_rawDescGZIP() []byte {
+ file_FungusFighterTrainingSelectFungusReq_proto_rawDescOnce.Do(func() {
+ file_FungusFighterTrainingSelectFungusReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterTrainingSelectFungusReq_proto_rawDescData)
+ })
+ return file_FungusFighterTrainingSelectFungusReq_proto_rawDescData
+}
+
+var file_FungusFighterTrainingSelectFungusReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterTrainingSelectFungusReq_proto_goTypes = []interface{}{
+ (*FungusFighterTrainingSelectFungusReq)(nil), // 0: proto.FungusFighterTrainingSelectFungusReq
+}
+var file_FungusFighterTrainingSelectFungusReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterTrainingSelectFungusReq_proto_init() }
+func file_FungusFighterTrainingSelectFungusReq_proto_init() {
+ if File_FungusFighterTrainingSelectFungusReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterTrainingSelectFungusReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterTrainingSelectFungusReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterTrainingSelectFungusReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterTrainingSelectFungusReq_proto_goTypes,
+ DependencyIndexes: file_FungusFighterTrainingSelectFungusReq_proto_depIdxs,
+ MessageInfos: file_FungusFighterTrainingSelectFungusReq_proto_msgTypes,
+ }.Build()
+ File_FungusFighterTrainingSelectFungusReq_proto = out.File
+ file_FungusFighterTrainingSelectFungusReq_proto_rawDesc = nil
+ file_FungusFighterTrainingSelectFungusReq_proto_goTypes = nil
+ file_FungusFighterTrainingSelectFungusReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterTrainingSelectFungusRsp.pb.go b/protocol/proto/FungusFighterTrainingSelectFungusRsp.pb.go
new file mode 100644
index 00000000..3eeb5c34
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingSelectFungusRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterTrainingSelectFungusRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21570
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusFighterTrainingSelectFungusRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FungusFighterTrainingSelectFungusRsp) Reset() {
+ *x = FungusFighterTrainingSelectFungusRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterTrainingSelectFungusRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterTrainingSelectFungusRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterTrainingSelectFungusRsp) ProtoMessage() {}
+
+func (x *FungusFighterTrainingSelectFungusRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterTrainingSelectFungusRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterTrainingSelectFungusRsp.ProtoReflect.Descriptor instead.
+func (*FungusFighterTrainingSelectFungusRsp) Descriptor() ([]byte, []int) {
+ return file_FungusFighterTrainingSelectFungusRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterTrainingSelectFungusRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FungusFighterTrainingSelectFungusRsp_proto protoreflect.FileDescriptor
+
+var file_FungusFighterTrainingSelectFungusRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54,
+ 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x46, 0x75, 0x6e,
+ 0x67, 0x75, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x24, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterTrainingSelectFungusRsp_proto_rawDescOnce sync.Once
+ file_FungusFighterTrainingSelectFungusRsp_proto_rawDescData = file_FungusFighterTrainingSelectFungusRsp_proto_rawDesc
+)
+
+func file_FungusFighterTrainingSelectFungusRsp_proto_rawDescGZIP() []byte {
+ file_FungusFighterTrainingSelectFungusRsp_proto_rawDescOnce.Do(func() {
+ file_FungusFighterTrainingSelectFungusRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterTrainingSelectFungusRsp_proto_rawDescData)
+ })
+ return file_FungusFighterTrainingSelectFungusRsp_proto_rawDescData
+}
+
+var file_FungusFighterTrainingSelectFungusRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterTrainingSelectFungusRsp_proto_goTypes = []interface{}{
+ (*FungusFighterTrainingSelectFungusRsp)(nil), // 0: proto.FungusFighterTrainingSelectFungusRsp
+}
+var file_FungusFighterTrainingSelectFungusRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterTrainingSelectFungusRsp_proto_init() }
+func file_FungusFighterTrainingSelectFungusRsp_proto_init() {
+ if File_FungusFighterTrainingSelectFungusRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterTrainingSelectFungusRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterTrainingSelectFungusRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterTrainingSelectFungusRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterTrainingSelectFungusRsp_proto_goTypes,
+ DependencyIndexes: file_FungusFighterTrainingSelectFungusRsp_proto_depIdxs,
+ MessageInfos: file_FungusFighterTrainingSelectFungusRsp_proto_msgTypes,
+ }.Build()
+ File_FungusFighterTrainingSelectFungusRsp_proto = out.File
+ file_FungusFighterTrainingSelectFungusRsp_proto_rawDesc = nil
+ file_FungusFighterTrainingSelectFungusRsp_proto_goTypes = nil
+ file_FungusFighterTrainingSelectFungusRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterTrainingSettleInfo.pb.go b/protocol/proto/FungusFighterTrainingSettleInfo.pb.go
new file mode 100644
index 00000000..16d2cfb3
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingSettleInfo.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterTrainingSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusFighterTrainingSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UsedTime uint32 `protobuf:"varint,15,opt,name=used_time,json=usedTime,proto3" json:"used_time,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,3,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ Transaction string `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"`
+}
+
+func (x *FungusFighterTrainingSettleInfo) Reset() {
+ *x = FungusFighterTrainingSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterTrainingSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterTrainingSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterTrainingSettleInfo) ProtoMessage() {}
+
+func (x *FungusFighterTrainingSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterTrainingSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterTrainingSettleInfo.ProtoReflect.Descriptor instead.
+func (*FungusFighterTrainingSettleInfo) Descriptor() ([]byte, []int) {
+ return file_FungusFighterTrainingSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterTrainingSettleInfo) GetUsedTime() uint32 {
+ if x != nil {
+ return x.UsedTime
+ }
+ return 0
+}
+
+func (x *FungusFighterTrainingSettleInfo) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *FungusFighterTrainingSettleInfo) GetTransaction() string {
+ if x != nil {
+ return x.Transaction
+ }
+ return ""
+}
+
+var File_FungusFighterTrainingSettleInfo_proto protoreflect.FileDescriptor
+
+var file_FungusFighterTrainingSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54,
+ 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x1f, 0x46, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e,
+ 0x67, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x75,
+ 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x75, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterTrainingSettleInfo_proto_rawDescOnce sync.Once
+ file_FungusFighterTrainingSettleInfo_proto_rawDescData = file_FungusFighterTrainingSettleInfo_proto_rawDesc
+)
+
+func file_FungusFighterTrainingSettleInfo_proto_rawDescGZIP() []byte {
+ file_FungusFighterTrainingSettleInfo_proto_rawDescOnce.Do(func() {
+ file_FungusFighterTrainingSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterTrainingSettleInfo_proto_rawDescData)
+ })
+ return file_FungusFighterTrainingSettleInfo_proto_rawDescData
+}
+
+var file_FungusFighterTrainingSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterTrainingSettleInfo_proto_goTypes = []interface{}{
+ (*FungusFighterTrainingSettleInfo)(nil), // 0: proto.FungusFighterTrainingSettleInfo
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_FungusFighterTrainingSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.FungusFighterTrainingSettleInfo.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterTrainingSettleInfo_proto_init() }
+func file_FungusFighterTrainingSettleInfo_proto_init() {
+ if File_FungusFighterTrainingSettleInfo_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterTrainingSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterTrainingSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterTrainingSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterTrainingSettleInfo_proto_goTypes,
+ DependencyIndexes: file_FungusFighterTrainingSettleInfo_proto_depIdxs,
+ MessageInfos: file_FungusFighterTrainingSettleInfo_proto_msgTypes,
+ }.Build()
+ File_FungusFighterTrainingSettleInfo_proto = out.File
+ file_FungusFighterTrainingSettleInfo_proto_rawDesc = nil
+ file_FungusFighterTrainingSettleInfo_proto_goTypes = nil
+ file_FungusFighterTrainingSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterUseBackupFungusReq.pb.go b/protocol/proto/FungusFighterUseBackupFungusReq.pb.go
new file mode 100644
index 00000000..3dfb25e2
--- /dev/null
+++ b/protocol/proto/FungusFighterUseBackupFungusReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterUseBackupFungusReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21266
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FungusFighterUseBackupFungusReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BackupFungusIdList []uint32 `protobuf:"varint,1,rep,packed,name=backup_fungus_id_list,json=backupFungusIdList,proto3" json:"backup_fungus_id_list,omitempty"`
+}
+
+func (x *FungusFighterUseBackupFungusReq) Reset() {
+ *x = FungusFighterUseBackupFungusReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterUseBackupFungusReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterUseBackupFungusReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterUseBackupFungusReq) ProtoMessage() {}
+
+func (x *FungusFighterUseBackupFungusReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterUseBackupFungusReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterUseBackupFungusReq.ProtoReflect.Descriptor instead.
+func (*FungusFighterUseBackupFungusReq) Descriptor() ([]byte, []int) {
+ return file_FungusFighterUseBackupFungusReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterUseBackupFungusReq) GetBackupFungusIdList() []uint32 {
+ if x != nil {
+ return x.BackupFungusIdList
+ }
+ return nil
+}
+
+var File_FungusFighterUseBackupFungusReq_proto protoreflect.FileDescriptor
+
+var file_FungusFighterUseBackupFungusReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x55,
+ 0x73, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54,
+ 0x0a, 0x1f, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x55,
+ 0x73, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x65,
+ 0x71, 0x12, 0x31, 0x0a, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x66, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterUseBackupFungusReq_proto_rawDescOnce sync.Once
+ file_FungusFighterUseBackupFungusReq_proto_rawDescData = file_FungusFighterUseBackupFungusReq_proto_rawDesc
+)
+
+func file_FungusFighterUseBackupFungusReq_proto_rawDescGZIP() []byte {
+ file_FungusFighterUseBackupFungusReq_proto_rawDescOnce.Do(func() {
+ file_FungusFighterUseBackupFungusReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterUseBackupFungusReq_proto_rawDescData)
+ })
+ return file_FungusFighterUseBackupFungusReq_proto_rawDescData
+}
+
+var file_FungusFighterUseBackupFungusReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterUseBackupFungusReq_proto_goTypes = []interface{}{
+ (*FungusFighterUseBackupFungusReq)(nil), // 0: proto.FungusFighterUseBackupFungusReq
+}
+var file_FungusFighterUseBackupFungusReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterUseBackupFungusReq_proto_init() }
+func file_FungusFighterUseBackupFungusReq_proto_init() {
+ if File_FungusFighterUseBackupFungusReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterUseBackupFungusReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterUseBackupFungusReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterUseBackupFungusReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterUseBackupFungusReq_proto_goTypes,
+ DependencyIndexes: file_FungusFighterUseBackupFungusReq_proto_depIdxs,
+ MessageInfos: file_FungusFighterUseBackupFungusReq_proto_msgTypes,
+ }.Build()
+ File_FungusFighterUseBackupFungusReq_proto = out.File
+ file_FungusFighterUseBackupFungusReq_proto_rawDesc = nil
+ file_FungusFighterUseBackupFungusReq_proto_goTypes = nil
+ file_FungusFighterUseBackupFungusReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusFighterUseBackupFungusRsp.pb.go b/protocol/proto/FungusFighterUseBackupFungusRsp.pb.go
new file mode 100644
index 00000000..7078d9aa
--- /dev/null
+++ b/protocol/proto/FungusFighterUseBackupFungusRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusFighterUseBackupFungusRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23428
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusFighterUseBackupFungusRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FungusFighterUseBackupFungusRsp) Reset() {
+ *x = FungusFighterUseBackupFungusRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusFighterUseBackupFungusRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusFighterUseBackupFungusRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusFighterUseBackupFungusRsp) ProtoMessage() {}
+
+func (x *FungusFighterUseBackupFungusRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusFighterUseBackupFungusRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusFighterUseBackupFungusRsp.ProtoReflect.Descriptor instead.
+func (*FungusFighterUseBackupFungusRsp) Descriptor() ([]byte, []int) {
+ return file_FungusFighterUseBackupFungusRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusFighterUseBackupFungusRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FungusFighterUseBackupFungusRsp_proto protoreflect.FileDescriptor
+
+var file_FungusFighterUseBackupFungusRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x55,
+ 0x73, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x1f, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x55,
+ 0x73, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusFighterUseBackupFungusRsp_proto_rawDescOnce sync.Once
+ file_FungusFighterUseBackupFungusRsp_proto_rawDescData = file_FungusFighterUseBackupFungusRsp_proto_rawDesc
+)
+
+func file_FungusFighterUseBackupFungusRsp_proto_rawDescGZIP() []byte {
+ file_FungusFighterUseBackupFungusRsp_proto_rawDescOnce.Do(func() {
+ file_FungusFighterUseBackupFungusRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusFighterUseBackupFungusRsp_proto_rawDescData)
+ })
+ return file_FungusFighterUseBackupFungusRsp_proto_rawDescData
+}
+
+var file_FungusFighterUseBackupFungusRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusFighterUseBackupFungusRsp_proto_goTypes = []interface{}{
+ (*FungusFighterUseBackupFungusRsp)(nil), // 0: proto.FungusFighterUseBackupFungusRsp
+}
+var file_FungusFighterUseBackupFungusRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusFighterUseBackupFungusRsp_proto_init() }
+func file_FungusFighterUseBackupFungusRsp_proto_init() {
+ if File_FungusFighterUseBackupFungusRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusFighterUseBackupFungusRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusFighterUseBackupFungusRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusFighterUseBackupFungusRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusFighterUseBackupFungusRsp_proto_goTypes,
+ DependencyIndexes: file_FungusFighterUseBackupFungusRsp_proto_depIdxs,
+ MessageInfos: file_FungusFighterUseBackupFungusRsp_proto_msgTypes,
+ }.Build()
+ File_FungusFighterUseBackupFungusRsp_proto = out.File
+ file_FungusFighterUseBackupFungusRsp_proto_rawDesc = nil
+ file_FungusFighterUseBackupFungusRsp_proto_goTypes = nil
+ file_FungusFighterUseBackupFungusRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusPlotStageDetail.pb.go b/protocol/proto/FungusPlotStageDetail.pb.go
new file mode 100644
index 00000000..58734a58
--- /dev/null
+++ b/protocol/proto/FungusPlotStageDetail.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusPlotStageDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusPlotStageDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,3,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *FungusPlotStageDetail) Reset() {
+ *x = FungusPlotStageDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusPlotStageDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusPlotStageDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusPlotStageDetail) ProtoMessage() {}
+
+func (x *FungusPlotStageDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusPlotStageDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusPlotStageDetail.ProtoReflect.Descriptor instead.
+func (*FungusPlotStageDetail) Descriptor() ([]byte, []int) {
+ return file_FungusPlotStageDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusPlotStageDetail) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *FungusPlotStageDetail) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_FungusPlotStageDetail_proto protoreflect.FileDescriptor
+
+var file_FungusPlotStageDetail_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x50, 0x6c, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x50, 0x6c,
+ 0x6f, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a,
+ 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
+ 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusPlotStageDetail_proto_rawDescOnce sync.Once
+ file_FungusPlotStageDetail_proto_rawDescData = file_FungusPlotStageDetail_proto_rawDesc
+)
+
+func file_FungusPlotStageDetail_proto_rawDescGZIP() []byte {
+ file_FungusPlotStageDetail_proto_rawDescOnce.Do(func() {
+ file_FungusPlotStageDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusPlotStageDetail_proto_rawDescData)
+ })
+ return file_FungusPlotStageDetail_proto_rawDescData
+}
+
+var file_FungusPlotStageDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusPlotStageDetail_proto_goTypes = []interface{}{
+ (*FungusPlotStageDetail)(nil), // 0: proto.FungusPlotStageDetail
+}
+var file_FungusPlotStageDetail_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusPlotStageDetail_proto_init() }
+func file_FungusPlotStageDetail_proto_init() {
+ if File_FungusPlotStageDetail_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusPlotStageDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusPlotStageDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusPlotStageDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusPlotStageDetail_proto_goTypes,
+ DependencyIndexes: file_FungusPlotStageDetail_proto_depIdxs,
+ MessageInfos: file_FungusPlotStageDetail_proto_msgTypes,
+ }.Build()
+ File_FungusPlotStageDetail_proto = out.File
+ file_FungusPlotStageDetail_proto_rawDesc = nil
+ file_FungusPlotStageDetail_proto_goTypes = nil
+ file_FungusPlotStageDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusRenameReq.pb.go b/protocol/proto/FungusRenameReq.pb.go
new file mode 100644
index 00000000..9b3d74f1
--- /dev/null
+++ b/protocol/proto/FungusRenameReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusRenameReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22006
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FungusRenameReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NameId uint32 `protobuf:"varint,1,opt,name=name_id,json=nameId,proto3" json:"name_id,omitempty"`
+ FungusId uint32 `protobuf:"varint,11,opt,name=fungus_id,json=fungusId,proto3" json:"fungus_id,omitempty"`
+}
+
+func (x *FungusRenameReq) Reset() {
+ *x = FungusRenameReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusRenameReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusRenameReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusRenameReq) ProtoMessage() {}
+
+func (x *FungusRenameReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusRenameReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusRenameReq.ProtoReflect.Descriptor instead.
+func (*FungusRenameReq) Descriptor() ([]byte, []int) {
+ return file_FungusRenameReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusRenameReq) GetNameId() uint32 {
+ if x != nil {
+ return x.NameId
+ }
+ return 0
+}
+
+func (x *FungusRenameReq) GetFungusId() uint32 {
+ if x != nil {
+ return x.FungusId
+ }
+ return 0
+}
+
+var File_FungusRenameReq_proto protoreflect.FileDescriptor
+
+var file_FungusRenameReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47,
+ 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65,
+ 0x71, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75,
+ 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66,
+ 0x75, 0x6e, 0x67, 0x75, 0x73, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusRenameReq_proto_rawDescOnce sync.Once
+ file_FungusRenameReq_proto_rawDescData = file_FungusRenameReq_proto_rawDesc
+)
+
+func file_FungusRenameReq_proto_rawDescGZIP() []byte {
+ file_FungusRenameReq_proto_rawDescOnce.Do(func() {
+ file_FungusRenameReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusRenameReq_proto_rawDescData)
+ })
+ return file_FungusRenameReq_proto_rawDescData
+}
+
+var file_FungusRenameReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusRenameReq_proto_goTypes = []interface{}{
+ (*FungusRenameReq)(nil), // 0: proto.FungusRenameReq
+}
+var file_FungusRenameReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusRenameReq_proto_init() }
+func file_FungusRenameReq_proto_init() {
+ if File_FungusRenameReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusRenameReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusRenameReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusRenameReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusRenameReq_proto_goTypes,
+ DependencyIndexes: file_FungusRenameReq_proto_depIdxs,
+ MessageInfos: file_FungusRenameReq_proto_msgTypes,
+ }.Build()
+ File_FungusRenameReq_proto = out.File
+ file_FungusRenameReq_proto_rawDesc = nil
+ file_FungusRenameReq_proto_goTypes = nil
+ file_FungusRenameReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusRenameRsp.pb.go b/protocol/proto/FungusRenameRsp.pb.go
new file mode 100644
index 00000000..35886067
--- /dev/null
+++ b/protocol/proto/FungusRenameRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusRenameRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20066
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FungusRenameRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FungusId uint32 `protobuf:"varint,15,opt,name=fungus_id,json=fungusId,proto3" json:"fungus_id,omitempty"`
+ NameId uint32 `protobuf:"varint,12,opt,name=name_id,json=nameId,proto3" json:"name_id,omitempty"`
+}
+
+func (x *FungusRenameRsp) Reset() {
+ *x = FungusRenameRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusRenameRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusRenameRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusRenameRsp) ProtoMessage() {}
+
+func (x *FungusRenameRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusRenameRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusRenameRsp.ProtoReflect.Descriptor instead.
+func (*FungusRenameRsp) Descriptor() ([]byte, []int) {
+ return file_FungusRenameRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusRenameRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FungusRenameRsp) GetFungusId() uint32 {
+ if x != nil {
+ return x.FungusId
+ }
+ return 0
+}
+
+func (x *FungusRenameRsp) GetNameId() uint32 {
+ if x != nil {
+ return x.NameId
+ }
+ return 0
+}
+
+var File_FungusRenameRsp_proto protoreflect.FileDescriptor
+
+var file_FungusRenameRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61,
+ 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66,
+ 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x61, 0x6d, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x61, 0x6d, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusRenameRsp_proto_rawDescOnce sync.Once
+ file_FungusRenameRsp_proto_rawDescData = file_FungusRenameRsp_proto_rawDesc
+)
+
+func file_FungusRenameRsp_proto_rawDescGZIP() []byte {
+ file_FungusRenameRsp_proto_rawDescOnce.Do(func() {
+ file_FungusRenameRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusRenameRsp_proto_rawDescData)
+ })
+ return file_FungusRenameRsp_proto_rawDescData
+}
+
+var file_FungusRenameRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusRenameRsp_proto_goTypes = []interface{}{
+ (*FungusRenameRsp)(nil), // 0: proto.FungusRenameRsp
+}
+var file_FungusRenameRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusRenameRsp_proto_init() }
+func file_FungusRenameRsp_proto_init() {
+ if File_FungusRenameRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusRenameRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusRenameRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusRenameRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusRenameRsp_proto_goTypes,
+ DependencyIndexes: file_FungusRenameRsp_proto_depIdxs,
+ MessageInfos: file_FungusRenameRsp_proto_msgTypes,
+ }.Build()
+ File_FungusRenameRsp_proto = out.File
+ file_FungusRenameRsp_proto_rawDesc = nil
+ file_FungusRenameRsp_proto_goTypes = nil
+ file_FungusRenameRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusTrainingDungeonDetail.pb.go b/protocol/proto/FungusTrainingDungeonDetail.pb.go
new file mode 100644
index 00000000..09d4a3bd
--- /dev/null
+++ b/protocol/proto/FungusTrainingDungeonDetail.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusTrainingDungeonDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusTrainingDungeonDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,13,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ DungeonId uint32 `protobuf:"varint,12,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ BestScore uint32 `protobuf:"varint,9,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+}
+
+func (x *FungusTrainingDungeonDetail) Reset() {
+ *x = FungusTrainingDungeonDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusTrainingDungeonDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusTrainingDungeonDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusTrainingDungeonDetail) ProtoMessage() {}
+
+func (x *FungusTrainingDungeonDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusTrainingDungeonDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusTrainingDungeonDetail.ProtoReflect.Descriptor instead.
+func (*FungusTrainingDungeonDetail) Descriptor() ([]byte, []int) {
+ return file_FungusTrainingDungeonDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusTrainingDungeonDetail) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *FungusTrainingDungeonDetail) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *FungusTrainingDungeonDetail) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+var File_FungusTrainingDungeonDetail_proto protoreflect.FileDescriptor
+
+var file_FungusTrainingDungeonDetail_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x1b, 0x46, 0x75,
+ 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusTrainingDungeonDetail_proto_rawDescOnce sync.Once
+ file_FungusTrainingDungeonDetail_proto_rawDescData = file_FungusTrainingDungeonDetail_proto_rawDesc
+)
+
+func file_FungusTrainingDungeonDetail_proto_rawDescGZIP() []byte {
+ file_FungusTrainingDungeonDetail_proto_rawDescOnce.Do(func() {
+ file_FungusTrainingDungeonDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusTrainingDungeonDetail_proto_rawDescData)
+ })
+ return file_FungusTrainingDungeonDetail_proto_rawDescData
+}
+
+var file_FungusTrainingDungeonDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusTrainingDungeonDetail_proto_goTypes = []interface{}{
+ (*FungusTrainingDungeonDetail)(nil), // 0: proto.FungusTrainingDungeonDetail
+}
+var file_FungusTrainingDungeonDetail_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusTrainingDungeonDetail_proto_init() }
+func file_FungusTrainingDungeonDetail_proto_init() {
+ if File_FungusTrainingDungeonDetail_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusTrainingDungeonDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusTrainingDungeonDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusTrainingDungeonDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusTrainingDungeonDetail_proto_goTypes,
+ DependencyIndexes: file_FungusTrainingDungeonDetail_proto_depIdxs,
+ MessageInfos: file_FungusTrainingDungeonDetail_proto_msgTypes,
+ }.Build()
+ File_FungusTrainingDungeonDetail_proto = out.File
+ file_FungusTrainingDungeonDetail_proto_rawDesc = nil
+ file_FungusTrainingDungeonDetail_proto_goTypes = nil
+ file_FungusTrainingDungeonDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusTrainingMonsterPreviewDetail.pb.go b/protocol/proto/FungusTrainingMonsterPreviewDetail.pb.go
new file mode 100644
index 00000000..4eebf34b
--- /dev/null
+++ b/protocol/proto/FungusTrainingMonsterPreviewDetail.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusTrainingMonsterPreviewDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusTrainingMonsterPreviewDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterId uint32 `protobuf:"varint,8,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ Level uint32 `protobuf:"varint,10,opt,name=level,proto3" json:"level,omitempty"`
+ AffixList []uint32 `protobuf:"varint,7,rep,packed,name=affix_list,json=affixList,proto3" json:"affix_list,omitempty"`
+}
+
+func (x *FungusTrainingMonsterPreviewDetail) Reset() {
+ *x = FungusTrainingMonsterPreviewDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusTrainingMonsterPreviewDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusTrainingMonsterPreviewDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusTrainingMonsterPreviewDetail) ProtoMessage() {}
+
+func (x *FungusTrainingMonsterPreviewDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusTrainingMonsterPreviewDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusTrainingMonsterPreviewDetail.ProtoReflect.Descriptor instead.
+func (*FungusTrainingMonsterPreviewDetail) Descriptor() ([]byte, []int) {
+ return file_FungusTrainingMonsterPreviewDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusTrainingMonsterPreviewDetail) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *FungusTrainingMonsterPreviewDetail) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *FungusTrainingMonsterPreviewDetail) GetAffixList() []uint32 {
+ if x != nil {
+ return x.AffixList
+ }
+ return nil
+}
+
+var File_FungusTrainingMonsterPreviewDetail_proto protoreflect.FileDescriptor
+
+var file_FungusTrainingMonsterPreviewDetail_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x78, 0x0a, 0x22, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e,
+ 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x09, 0x61, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusTrainingMonsterPreviewDetail_proto_rawDescOnce sync.Once
+ file_FungusTrainingMonsterPreviewDetail_proto_rawDescData = file_FungusTrainingMonsterPreviewDetail_proto_rawDesc
+)
+
+func file_FungusTrainingMonsterPreviewDetail_proto_rawDescGZIP() []byte {
+ file_FungusTrainingMonsterPreviewDetail_proto_rawDescOnce.Do(func() {
+ file_FungusTrainingMonsterPreviewDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusTrainingMonsterPreviewDetail_proto_rawDescData)
+ })
+ return file_FungusTrainingMonsterPreviewDetail_proto_rawDescData
+}
+
+var file_FungusTrainingMonsterPreviewDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusTrainingMonsterPreviewDetail_proto_goTypes = []interface{}{
+ (*FungusTrainingMonsterPreviewDetail)(nil), // 0: proto.FungusTrainingMonsterPreviewDetail
+}
+var file_FungusTrainingMonsterPreviewDetail_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FungusTrainingMonsterPreviewDetail_proto_init() }
+func file_FungusTrainingMonsterPreviewDetail_proto_init() {
+ if File_FungusTrainingMonsterPreviewDetail_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FungusTrainingMonsterPreviewDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusTrainingMonsterPreviewDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusTrainingMonsterPreviewDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusTrainingMonsterPreviewDetail_proto_goTypes,
+ DependencyIndexes: file_FungusTrainingMonsterPreviewDetail_proto_depIdxs,
+ MessageInfos: file_FungusTrainingMonsterPreviewDetail_proto_msgTypes,
+ }.Build()
+ File_FungusTrainingMonsterPreviewDetail_proto = out.File
+ file_FungusTrainingMonsterPreviewDetail_proto_rawDesc = nil
+ file_FungusTrainingMonsterPreviewDetail_proto_goTypes = nil
+ file_FungusTrainingMonsterPreviewDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusTrainingPoolPreviewDetail.pb.go b/protocol/proto/FungusTrainingPoolPreviewDetail.pb.go
new file mode 100644
index 00000000..8d7a8d5c
--- /dev/null
+++ b/protocol/proto/FungusTrainingPoolPreviewDetail.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusTrainingPoolPreviewDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusTrainingPoolPreviewDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PoolId uint32 `protobuf:"varint,8,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"`
+ MonsterPreviewDetailList []*FungusTrainingMonsterPreviewDetail `protobuf:"bytes,6,rep,name=monster_preview_detail_list,json=monsterPreviewDetailList,proto3" json:"monster_preview_detail_list,omitempty"`
+}
+
+func (x *FungusTrainingPoolPreviewDetail) Reset() {
+ *x = FungusTrainingPoolPreviewDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusTrainingPoolPreviewDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusTrainingPoolPreviewDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusTrainingPoolPreviewDetail) ProtoMessage() {}
+
+func (x *FungusTrainingPoolPreviewDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusTrainingPoolPreviewDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusTrainingPoolPreviewDetail.ProtoReflect.Descriptor instead.
+func (*FungusTrainingPoolPreviewDetail) Descriptor() ([]byte, []int) {
+ return file_FungusTrainingPoolPreviewDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusTrainingPoolPreviewDetail) GetPoolId() uint32 {
+ if x != nil {
+ return x.PoolId
+ }
+ return 0
+}
+
+func (x *FungusTrainingPoolPreviewDetail) GetMonsterPreviewDetailList() []*FungusTrainingMonsterPreviewDetail {
+ if x != nil {
+ return x.MonsterPreviewDetailList
+ }
+ return nil
+}
+
+var File_FungusTrainingPoolPreviewDetail_proto protoreflect.FileDescriptor
+
+var file_FungusTrainingPoolPreviewDetail_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
+ 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28,
+ 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x1f, 0x46, 0x75, 0x6e,
+ 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6f, 0x6c, 0x50,
+ 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a, 0x07,
+ 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70,
+ 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x68, 0x0a, 0x1b, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e,
+ 0x67, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x18, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72,
+ 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusTrainingPoolPreviewDetail_proto_rawDescOnce sync.Once
+ file_FungusTrainingPoolPreviewDetail_proto_rawDescData = file_FungusTrainingPoolPreviewDetail_proto_rawDesc
+)
+
+func file_FungusTrainingPoolPreviewDetail_proto_rawDescGZIP() []byte {
+ file_FungusTrainingPoolPreviewDetail_proto_rawDescOnce.Do(func() {
+ file_FungusTrainingPoolPreviewDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusTrainingPoolPreviewDetail_proto_rawDescData)
+ })
+ return file_FungusTrainingPoolPreviewDetail_proto_rawDescData
+}
+
+var file_FungusTrainingPoolPreviewDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusTrainingPoolPreviewDetail_proto_goTypes = []interface{}{
+ (*FungusTrainingPoolPreviewDetail)(nil), // 0: proto.FungusTrainingPoolPreviewDetail
+ (*FungusTrainingMonsterPreviewDetail)(nil), // 1: proto.FungusTrainingMonsterPreviewDetail
+}
+var file_FungusTrainingPoolPreviewDetail_proto_depIdxs = []int32{
+ 1, // 0: proto.FungusTrainingPoolPreviewDetail.monster_preview_detail_list:type_name -> proto.FungusTrainingMonsterPreviewDetail
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FungusTrainingPoolPreviewDetail_proto_init() }
+func file_FungusTrainingPoolPreviewDetail_proto_init() {
+ if File_FungusTrainingPoolPreviewDetail_proto != nil {
+ return
+ }
+ file_FungusTrainingMonsterPreviewDetail_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FungusTrainingPoolPreviewDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusTrainingPoolPreviewDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusTrainingPoolPreviewDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusTrainingPoolPreviewDetail_proto_goTypes,
+ DependencyIndexes: file_FungusTrainingPoolPreviewDetail_proto_depIdxs,
+ MessageInfos: file_FungusTrainingPoolPreviewDetail_proto_msgTypes,
+ }.Build()
+ File_FungusTrainingPoolPreviewDetail_proto = out.File
+ file_FungusTrainingPoolPreviewDetail_proto_rawDesc = nil
+ file_FungusTrainingPoolPreviewDetail_proto_goTypes = nil
+ file_FungusTrainingPoolPreviewDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FungusTrainingProgressDetail.pb.go b/protocol/proto/FungusTrainingProgressDetail.pb.go
new file mode 100644
index 00000000..5ee45c46
--- /dev/null
+++ b/protocol/proto/FungusTrainingProgressDetail.pb.go
@@ -0,0 +1,241 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FungusTrainingProgressDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FungusTrainingProgressDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurRound uint32 `protobuf:"varint,9,opt,name=cur_round,json=curRound,proto3" json:"cur_round,omitempty"`
+ DungeonId uint32 `protobuf:"varint,10,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ MonsterPoolPreviewList []*FungusTrainingPoolPreviewDetail `protobuf:"bytes,5,rep,name=monster_pool_preview_list,json=monsterPoolPreviewList,proto3" json:"monster_pool_preview_list,omitempty"`
+ MonsterDetailList []*FungusFighterMonsterDetail `protobuf:"bytes,6,rep,name=monster_detail_list,json=monsterDetailList,proto3" json:"monster_detail_list,omitempty"`
+ TotalUsedTime uint32 `protobuf:"varint,7,opt,name=total_used_time,json=totalUsedTime,proto3" json:"total_used_time,omitempty"`
+ BackupMonsterList []uint32 `protobuf:"varint,4,rep,packed,name=backup_monster_list,json=backupMonsterList,proto3" json:"backup_monster_list,omitempty"`
+ ChoosenMonsterList []uint32 `protobuf:"varint,8,rep,packed,name=choosen_monster_list,json=choosenMonsterList,proto3" json:"choosen_monster_list,omitempty"`
+}
+
+func (x *FungusTrainingProgressDetail) Reset() {
+ *x = FungusTrainingProgressDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FungusTrainingProgressDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FungusTrainingProgressDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FungusTrainingProgressDetail) ProtoMessage() {}
+
+func (x *FungusTrainingProgressDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_FungusTrainingProgressDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FungusTrainingProgressDetail.ProtoReflect.Descriptor instead.
+func (*FungusTrainingProgressDetail) Descriptor() ([]byte, []int) {
+ return file_FungusTrainingProgressDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FungusTrainingProgressDetail) GetCurRound() uint32 {
+ if x != nil {
+ return x.CurRound
+ }
+ return 0
+}
+
+func (x *FungusTrainingProgressDetail) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *FungusTrainingProgressDetail) GetMonsterPoolPreviewList() []*FungusTrainingPoolPreviewDetail {
+ if x != nil {
+ return x.MonsterPoolPreviewList
+ }
+ return nil
+}
+
+func (x *FungusTrainingProgressDetail) GetMonsterDetailList() []*FungusFighterMonsterDetail {
+ if x != nil {
+ return x.MonsterDetailList
+ }
+ return nil
+}
+
+func (x *FungusTrainingProgressDetail) GetTotalUsedTime() uint32 {
+ if x != nil {
+ return x.TotalUsedTime
+ }
+ return 0
+}
+
+func (x *FungusTrainingProgressDetail) GetBackupMonsterList() []uint32 {
+ if x != nil {
+ return x.BackupMonsterList
+ }
+ return nil
+}
+
+func (x *FungusTrainingProgressDetail) GetChoosenMonsterList() []uint32 {
+ if x != nil {
+ return x.ChoosenMonsterList
+ }
+ return nil
+}
+
+var File_FungusTrainingProgressDetail_proto protoreflect.FileDescriptor
+
+var file_FungusTrainingProgressDetail_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
+ 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x46, 0x75, 0x6e,
+ 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x46,
+ 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6f,
+ 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x03, 0x0a, 0x1c, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x54,
+ 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x72, 0x6f, 0x75,
+ 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x52, 0x6f, 0x75,
+ 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49,
+ 0x64, 0x12, 0x61, 0x0a, 0x19, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f,
+ 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x6e,
+ 0x67, 0x75, 0x73, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6f, 0x6c, 0x50,
+ 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x16, 0x6d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x13, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73,
+ 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x52, 0x11, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x2e, 0x0a, 0x13, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x61,
+ 0x63, 0x6b, 0x75, 0x70, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x30, 0x0a, 0x14, 0x63, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x6e, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x63,
+ 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FungusTrainingProgressDetail_proto_rawDescOnce sync.Once
+ file_FungusTrainingProgressDetail_proto_rawDescData = file_FungusTrainingProgressDetail_proto_rawDesc
+)
+
+func file_FungusTrainingProgressDetail_proto_rawDescGZIP() []byte {
+ file_FungusTrainingProgressDetail_proto_rawDescOnce.Do(func() {
+ file_FungusTrainingProgressDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_FungusTrainingProgressDetail_proto_rawDescData)
+ })
+ return file_FungusTrainingProgressDetail_proto_rawDescData
+}
+
+var file_FungusTrainingProgressDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FungusTrainingProgressDetail_proto_goTypes = []interface{}{
+ (*FungusTrainingProgressDetail)(nil), // 0: proto.FungusTrainingProgressDetail
+ (*FungusTrainingPoolPreviewDetail)(nil), // 1: proto.FungusTrainingPoolPreviewDetail
+ (*FungusFighterMonsterDetail)(nil), // 2: proto.FungusFighterMonsterDetail
+}
+var file_FungusTrainingProgressDetail_proto_depIdxs = []int32{
+ 1, // 0: proto.FungusTrainingProgressDetail.monster_pool_preview_list:type_name -> proto.FungusTrainingPoolPreviewDetail
+ 2, // 1: proto.FungusTrainingProgressDetail.monster_detail_list:type_name -> proto.FungusFighterMonsterDetail
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_FungusTrainingProgressDetail_proto_init() }
+func file_FungusTrainingProgressDetail_proto_init() {
+ if File_FungusTrainingProgressDetail_proto != nil {
+ return
+ }
+ file_FungusFighterMonsterDetail_proto_init()
+ file_FungusTrainingPoolPreviewDetail_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FungusTrainingProgressDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FungusTrainingProgressDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FungusTrainingProgressDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FungusTrainingProgressDetail_proto_goTypes,
+ DependencyIndexes: file_FungusTrainingProgressDetail_proto_depIdxs,
+ MessageInfos: file_FungusTrainingProgressDetail_proto_msgTypes,
+ }.Build()
+ File_FungusTrainingProgressDetail_proto = out.File
+ file_FungusTrainingProgressDetail_proto_rawDesc = nil
+ file_FungusTrainingProgressDetail_proto_goTypes = nil
+ file_FungusTrainingProgressDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FunitureMakeMakeInfoChangeNotify.pb.go b/protocol/proto/FunitureMakeMakeInfoChangeNotify.pb.go
new file mode 100644
index 00000000..0edb56cf
--- /dev/null
+++ b/protocol/proto/FunitureMakeMakeInfoChangeNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FunitureMakeMakeInfoChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4898
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FunitureMakeMakeInfoChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MakeInfo *FurnitureMakeMakeInfo `protobuf:"bytes,1,opt,name=make_info,json=makeInfo,proto3" json:"make_info,omitempty"`
+}
+
+func (x *FunitureMakeMakeInfoChangeNotify) Reset() {
+ *x = FunitureMakeMakeInfoChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FunitureMakeMakeInfoChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FunitureMakeMakeInfoChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FunitureMakeMakeInfoChangeNotify) ProtoMessage() {}
+
+func (x *FunitureMakeMakeInfoChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FunitureMakeMakeInfoChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FunitureMakeMakeInfoChangeNotify.ProtoReflect.Descriptor instead.
+func (*FunitureMakeMakeInfoChangeNotify) Descriptor() ([]byte, []int) {
+ return file_FunitureMakeMakeInfoChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FunitureMakeMakeInfoChangeNotify) GetMakeInfo() *FurnitureMakeMakeInfo {
+ if x != nil {
+ return x.MakeInfo
+ }
+ return nil
+}
+
+var File_FunitureMakeMakeInfoChangeNotify_proto protoreflect.FileDescriptor
+
+var file_FunitureMakeMakeInfoChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x46, 0x75, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x4d, 0x61,
+ 0x6b, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x4d, 0x61,
+ 0x6b, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x20,
+ 0x46, 0x75, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x6b, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x39, 0x0a, 0x09, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x08, 0x6d, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FunitureMakeMakeInfoChangeNotify_proto_rawDescOnce sync.Once
+ file_FunitureMakeMakeInfoChangeNotify_proto_rawDescData = file_FunitureMakeMakeInfoChangeNotify_proto_rawDesc
+)
+
+func file_FunitureMakeMakeInfoChangeNotify_proto_rawDescGZIP() []byte {
+ file_FunitureMakeMakeInfoChangeNotify_proto_rawDescOnce.Do(func() {
+ file_FunitureMakeMakeInfoChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FunitureMakeMakeInfoChangeNotify_proto_rawDescData)
+ })
+ return file_FunitureMakeMakeInfoChangeNotify_proto_rawDescData
+}
+
+var file_FunitureMakeMakeInfoChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FunitureMakeMakeInfoChangeNotify_proto_goTypes = []interface{}{
+ (*FunitureMakeMakeInfoChangeNotify)(nil), // 0: proto.FunitureMakeMakeInfoChangeNotify
+ (*FurnitureMakeMakeInfo)(nil), // 1: proto.FurnitureMakeMakeInfo
+}
+var file_FunitureMakeMakeInfoChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FunitureMakeMakeInfoChangeNotify.make_info:type_name -> proto.FurnitureMakeMakeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FunitureMakeMakeInfoChangeNotify_proto_init() }
+func file_FunitureMakeMakeInfoChangeNotify_proto_init() {
+ if File_FunitureMakeMakeInfoChangeNotify_proto != nil {
+ return
+ }
+ file_FurnitureMakeMakeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FunitureMakeMakeInfoChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FunitureMakeMakeInfoChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FunitureMakeMakeInfoChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FunitureMakeMakeInfoChangeNotify_proto_goTypes,
+ DependencyIndexes: file_FunitureMakeMakeInfoChangeNotify_proto_depIdxs,
+ MessageInfos: file_FunitureMakeMakeInfoChangeNotify_proto_msgTypes,
+ }.Build()
+ File_FunitureMakeMakeInfoChangeNotify_proto = out.File
+ file_FunitureMakeMakeInfoChangeNotify_proto_rawDesc = nil
+ file_FunitureMakeMakeInfoChangeNotify_proto_goTypes = nil
+ file_FunitureMakeMakeInfoChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Furniture.pb.go b/protocol/proto/Furniture.pb.go
new file mode 100644
index 00000000..ab545fad
--- /dev/null
+++ b/protocol/proto/Furniture.pb.go
@@ -0,0 +1,157 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Furniture.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Furniture struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
+}
+
+func (x *Furniture) Reset() {
+ *x = Furniture{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Furniture_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Furniture) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Furniture) ProtoMessage() {}
+
+func (x *Furniture) ProtoReflect() protoreflect.Message {
+ mi := &file_Furniture_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Furniture.ProtoReflect.Descriptor instead.
+func (*Furniture) Descriptor() ([]byte, []int) {
+ return file_Furniture_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Furniture) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+var File_Furniture_proto protoreflect.FileDescriptor
+
+var file_Furniture_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21, 0x0a, 0x09, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Furniture_proto_rawDescOnce sync.Once
+ file_Furniture_proto_rawDescData = file_Furniture_proto_rawDesc
+)
+
+func file_Furniture_proto_rawDescGZIP() []byte {
+ file_Furniture_proto_rawDescOnce.Do(func() {
+ file_Furniture_proto_rawDescData = protoimpl.X.CompressGZIP(file_Furniture_proto_rawDescData)
+ })
+ return file_Furniture_proto_rawDescData
+}
+
+var file_Furniture_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Furniture_proto_goTypes = []interface{}{
+ (*Furniture)(nil), // 0: proto.Furniture
+}
+var file_Furniture_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_Furniture_proto_init() }
+func file_Furniture_proto_init() {
+ if File_Furniture_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Furniture_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Furniture); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Furniture_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Furniture_proto_goTypes,
+ DependencyIndexes: file_Furniture_proto_depIdxs,
+ MessageInfos: file_Furniture_proto_msgTypes,
+ }.Build()
+ File_Furniture_proto = out.File
+ file_Furniture_proto_rawDesc = nil
+ file_Furniture_proto_goTypes = nil
+ file_Furniture_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureCurModuleArrangeCountNotify.pb.go b/protocol/proto/FurnitureCurModuleArrangeCountNotify.pb.go
new file mode 100644
index 00000000..2a0a6d09
--- /dev/null
+++ b/protocol/proto/FurnitureCurModuleArrangeCountNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureCurModuleArrangeCountNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4498
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FurnitureCurModuleArrangeCountNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureArrangeCountList []*Uint32Pair `protobuf:"bytes,13,rep,name=furniture_arrange_count_list,json=furnitureArrangeCountList,proto3" json:"furniture_arrange_count_list,omitempty"`
+}
+
+func (x *FurnitureCurModuleArrangeCountNotify) Reset() {
+ *x = FurnitureCurModuleArrangeCountNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureCurModuleArrangeCountNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureCurModuleArrangeCountNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureCurModuleArrangeCountNotify) ProtoMessage() {}
+
+func (x *FurnitureCurModuleArrangeCountNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureCurModuleArrangeCountNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureCurModuleArrangeCountNotify.ProtoReflect.Descriptor instead.
+func (*FurnitureCurModuleArrangeCountNotify) Descriptor() ([]byte, []int) {
+ return file_FurnitureCurModuleArrangeCountNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureCurModuleArrangeCountNotify) GetFurnitureArrangeCountList() []*Uint32Pair {
+ if x != nil {
+ return x.FurnitureArrangeCountList
+ }
+ return nil
+}
+
+var File_FurnitureCurModuleArrangeCountNotify_proto protoreflect.FileDescriptor
+
+var file_FurnitureCurModuleArrangeCountNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x43, 0x75, 0x72, 0x4d, 0x6f,
+ 0x64, 0x75, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x24, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x43, 0x75, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e,
+ 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x52, 0x0a,
+ 0x1c, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x6e,
+ 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x69, 0x6e, 0x74,
+ 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x52, 0x19, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureCurModuleArrangeCountNotify_proto_rawDescOnce sync.Once
+ file_FurnitureCurModuleArrangeCountNotify_proto_rawDescData = file_FurnitureCurModuleArrangeCountNotify_proto_rawDesc
+)
+
+func file_FurnitureCurModuleArrangeCountNotify_proto_rawDescGZIP() []byte {
+ file_FurnitureCurModuleArrangeCountNotify_proto_rawDescOnce.Do(func() {
+ file_FurnitureCurModuleArrangeCountNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureCurModuleArrangeCountNotify_proto_rawDescData)
+ })
+ return file_FurnitureCurModuleArrangeCountNotify_proto_rawDescData
+}
+
+var file_FurnitureCurModuleArrangeCountNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureCurModuleArrangeCountNotify_proto_goTypes = []interface{}{
+ (*FurnitureCurModuleArrangeCountNotify)(nil), // 0: proto.FurnitureCurModuleArrangeCountNotify
+ (*Uint32Pair)(nil), // 1: proto.Uint32Pair
+}
+var file_FurnitureCurModuleArrangeCountNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FurnitureCurModuleArrangeCountNotify.furniture_arrange_count_list:type_name -> proto.Uint32Pair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureCurModuleArrangeCountNotify_proto_init() }
+func file_FurnitureCurModuleArrangeCountNotify_proto_init() {
+ if File_FurnitureCurModuleArrangeCountNotify_proto != nil {
+ return
+ }
+ file_Uint32Pair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureCurModuleArrangeCountNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureCurModuleArrangeCountNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureCurModuleArrangeCountNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureCurModuleArrangeCountNotify_proto_goTypes,
+ DependencyIndexes: file_FurnitureCurModuleArrangeCountNotify_proto_depIdxs,
+ MessageInfos: file_FurnitureCurModuleArrangeCountNotify_proto_msgTypes,
+ }.Build()
+ File_FurnitureCurModuleArrangeCountNotify_proto = out.File
+ file_FurnitureCurModuleArrangeCountNotify_proto_rawDesc = nil
+ file_FurnitureCurModuleArrangeCountNotify_proto_goTypes = nil
+ file_FurnitureCurModuleArrangeCountNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeBeHelpedData.pb.go b/protocol/proto/FurnitureMakeBeHelpedData.pb.go
new file mode 100644
index 00000000..6a84a1bf
--- /dev/null
+++ b/protocol/proto/FurnitureMakeBeHelpedData.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeBeHelpedData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FurnitureMakeBeHelpedData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Time uint32 `protobuf:"fixed32,12,opt,name=time,proto3" json:"time,omitempty"`
+ Icon uint32 `protobuf:"varint,11,opt,name=icon,proto3" json:"icon,omitempty"`
+ Uid uint32 `protobuf:"varint,7,opt,name=uid,proto3" json:"uid,omitempty"`
+ PlayerName string `protobuf:"bytes,10,opt,name=player_name,json=playerName,proto3" json:"player_name,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,1,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+}
+
+func (x *FurnitureMakeBeHelpedData) Reset() {
+ *x = FurnitureMakeBeHelpedData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeBeHelpedData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeBeHelpedData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeBeHelpedData) ProtoMessage() {}
+
+func (x *FurnitureMakeBeHelpedData) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeBeHelpedData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeBeHelpedData.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeBeHelpedData) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeBeHelpedData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeBeHelpedData) GetTime() uint32 {
+ if x != nil {
+ return x.Time
+ }
+ return 0
+}
+
+func (x *FurnitureMakeBeHelpedData) GetIcon() uint32 {
+ if x != nil {
+ return x.Icon
+ }
+ return 0
+}
+
+func (x *FurnitureMakeBeHelpedData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *FurnitureMakeBeHelpedData) GetPlayerName() string {
+ if x != nil {
+ return x.PlayerName
+ }
+ return ""
+}
+
+func (x *FurnitureMakeBeHelpedData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+var File_FurnitureMakeBeHelpedData_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeBeHelpedData_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x42,
+ 0x65, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6,
+ 0x01, 0x0a, 0x19, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65,
+ 0x42, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65,
+ 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
+ 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
+ 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
+ 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeBeHelpedData_proto_rawDescOnce sync.Once
+ file_FurnitureMakeBeHelpedData_proto_rawDescData = file_FurnitureMakeBeHelpedData_proto_rawDesc
+)
+
+func file_FurnitureMakeBeHelpedData_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeBeHelpedData_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeBeHelpedData_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeBeHelpedData_proto_rawDescData)
+ })
+ return file_FurnitureMakeBeHelpedData_proto_rawDescData
+}
+
+var file_FurnitureMakeBeHelpedData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeBeHelpedData_proto_goTypes = []interface{}{
+ (*FurnitureMakeBeHelpedData)(nil), // 0: proto.FurnitureMakeBeHelpedData
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_FurnitureMakeBeHelpedData_proto_depIdxs = []int32{
+ 1, // 0: proto.FurnitureMakeBeHelpedData.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeBeHelpedData_proto_init() }
+func file_FurnitureMakeBeHelpedData_proto_init() {
+ if File_FurnitureMakeBeHelpedData_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeBeHelpedData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeBeHelpedData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeBeHelpedData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeBeHelpedData_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeBeHelpedData_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeBeHelpedData_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeBeHelpedData_proto = out.File
+ file_FurnitureMakeBeHelpedData_proto_rawDesc = nil
+ file_FurnitureMakeBeHelpedData_proto_goTypes = nil
+ file_FurnitureMakeBeHelpedData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeBeHelpedNotify.pb.go b/protocol/proto/FurnitureMakeBeHelpedNotify.pb.go
new file mode 100644
index 00000000..4c0b0f41
--- /dev/null
+++ b/protocol/proto/FurnitureMakeBeHelpedNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeBeHelpedNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4578
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FurnitureMakeBeHelpedNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureMakeSlot *FurnitureMakeSlot `protobuf:"bytes,7,opt,name=furniture_make_slot,json=furnitureMakeSlot,proto3" json:"furniture_make_slot,omitempty"`
+ FurnitureMakeHelpedData *FurnitureMakeBeHelpedData `protobuf:"bytes,2,opt,name=furniture_make_helped_data,json=furnitureMakeHelpedData,proto3" json:"furniture_make_helped_data,omitempty"`
+}
+
+func (x *FurnitureMakeBeHelpedNotify) Reset() {
+ *x = FurnitureMakeBeHelpedNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeBeHelpedNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeBeHelpedNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeBeHelpedNotify) ProtoMessage() {}
+
+func (x *FurnitureMakeBeHelpedNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeBeHelpedNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeBeHelpedNotify.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeBeHelpedNotify) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeBeHelpedNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeBeHelpedNotify) GetFurnitureMakeSlot() *FurnitureMakeSlot {
+ if x != nil {
+ return x.FurnitureMakeSlot
+ }
+ return nil
+}
+
+func (x *FurnitureMakeBeHelpedNotify) GetFurnitureMakeHelpedData() *FurnitureMakeBeHelpedData {
+ if x != nil {
+ return x.FurnitureMakeHelpedData
+ }
+ return nil
+}
+
+var File_FurnitureMakeBeHelpedNotify_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeBeHelpedNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x42,
+ 0x65, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x42, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x65,
+ 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x46, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x01, 0x0a, 0x1b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x42, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x48, 0x0a, 0x13, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x11, 0x66, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x5d,
+ 0x0a, 0x1a, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x6b, 0x65,
+ 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x42, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x64,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x17, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x6b, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_FurnitureMakeBeHelpedNotify_proto_rawDescOnce sync.Once
+ file_FurnitureMakeBeHelpedNotify_proto_rawDescData = file_FurnitureMakeBeHelpedNotify_proto_rawDesc
+)
+
+func file_FurnitureMakeBeHelpedNotify_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeBeHelpedNotify_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeBeHelpedNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeBeHelpedNotify_proto_rawDescData)
+ })
+ return file_FurnitureMakeBeHelpedNotify_proto_rawDescData
+}
+
+var file_FurnitureMakeBeHelpedNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeBeHelpedNotify_proto_goTypes = []interface{}{
+ (*FurnitureMakeBeHelpedNotify)(nil), // 0: proto.FurnitureMakeBeHelpedNotify
+ (*FurnitureMakeSlot)(nil), // 1: proto.FurnitureMakeSlot
+ (*FurnitureMakeBeHelpedData)(nil), // 2: proto.FurnitureMakeBeHelpedData
+}
+var file_FurnitureMakeBeHelpedNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.FurnitureMakeBeHelpedNotify.furniture_make_slot:type_name -> proto.FurnitureMakeSlot
+ 2, // 1: proto.FurnitureMakeBeHelpedNotify.furniture_make_helped_data:type_name -> proto.FurnitureMakeBeHelpedData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeBeHelpedNotify_proto_init() }
+func file_FurnitureMakeBeHelpedNotify_proto_init() {
+ if File_FurnitureMakeBeHelpedNotify_proto != nil {
+ return
+ }
+ file_FurnitureMakeBeHelpedData_proto_init()
+ file_FurnitureMakeSlot_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeBeHelpedNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeBeHelpedNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeBeHelpedNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeBeHelpedNotify_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeBeHelpedNotify_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeBeHelpedNotify_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeBeHelpedNotify_proto = out.File
+ file_FurnitureMakeBeHelpedNotify_proto_rawDesc = nil
+ file_FurnitureMakeBeHelpedNotify_proto_goTypes = nil
+ file_FurnitureMakeBeHelpedNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeCancelReq.pb.go b/protocol/proto/FurnitureMakeCancelReq.pb.go
new file mode 100644
index 00000000..9e5b7f2e
--- /dev/null
+++ b/protocol/proto/FurnitureMakeCancelReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeCancelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4555
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FurnitureMakeCancelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
+ MakeId uint32 `protobuf:"varint,15,opt,name=make_id,json=makeId,proto3" json:"make_id,omitempty"`
+}
+
+func (x *FurnitureMakeCancelReq) Reset() {
+ *x = FurnitureMakeCancelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeCancelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeCancelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeCancelReq) ProtoMessage() {}
+
+func (x *FurnitureMakeCancelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeCancelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeCancelReq.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeCancelReq) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeCancelReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeCancelReq) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *FurnitureMakeCancelReq) GetMakeId() uint32 {
+ if x != nil {
+ return x.MakeId
+ }
+ return 0
+}
+
+var File_FurnitureMakeCancelReq_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeCancelReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x43,
+ 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x16, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12,
+ 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x61, 0x6b, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeCancelReq_proto_rawDescOnce sync.Once
+ file_FurnitureMakeCancelReq_proto_rawDescData = file_FurnitureMakeCancelReq_proto_rawDesc
+)
+
+func file_FurnitureMakeCancelReq_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeCancelReq_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeCancelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeCancelReq_proto_rawDescData)
+ })
+ return file_FurnitureMakeCancelReq_proto_rawDescData
+}
+
+var file_FurnitureMakeCancelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeCancelReq_proto_goTypes = []interface{}{
+ (*FurnitureMakeCancelReq)(nil), // 0: proto.FurnitureMakeCancelReq
+}
+var file_FurnitureMakeCancelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeCancelReq_proto_init() }
+func file_FurnitureMakeCancelReq_proto_init() {
+ if File_FurnitureMakeCancelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeCancelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeCancelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeCancelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeCancelReq_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeCancelReq_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeCancelReq_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeCancelReq_proto = out.File
+ file_FurnitureMakeCancelReq_proto_rawDesc = nil
+ file_FurnitureMakeCancelReq_proto_goTypes = nil
+ file_FurnitureMakeCancelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeCancelRsp.pb.go b/protocol/proto/FurnitureMakeCancelRsp.pb.go
new file mode 100644
index 00000000..fe9e51f9
--- /dev/null
+++ b/protocol/proto/FurnitureMakeCancelRsp.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeCancelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4683
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FurnitureMakeCancelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MakeId uint32 `protobuf:"varint,2,opt,name=make_id,json=makeId,proto3" json:"make_id,omitempty"`
+ FurnitureMakeSlot *FurnitureMakeSlot `protobuf:"bytes,15,opt,name=furniture_make_slot,json=furnitureMakeSlot,proto3" json:"furniture_make_slot,omitempty"`
+}
+
+func (x *FurnitureMakeCancelRsp) Reset() {
+ *x = FurnitureMakeCancelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeCancelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeCancelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeCancelRsp) ProtoMessage() {}
+
+func (x *FurnitureMakeCancelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeCancelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeCancelRsp.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeCancelRsp) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeCancelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeCancelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FurnitureMakeCancelRsp) GetMakeId() uint32 {
+ if x != nil {
+ return x.MakeId
+ }
+ return 0
+}
+
+func (x *FurnitureMakeCancelRsp) GetFurnitureMakeSlot() *FurnitureMakeSlot {
+ if x != nil {
+ return x.FurnitureMakeSlot
+ }
+ return nil
+}
+
+var File_FurnitureMakeCancelRsp_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeCancelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x43,
+ 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65,
+ 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95,
+ 0x01, 0x0a, 0x16, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65,
+ 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x61, 0x6b, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x13,
+ 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x73,
+ 0x6c, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53,
+ 0x6c, 0x6f, 0x74, 0x52, 0x11, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61,
+ 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeCancelRsp_proto_rawDescOnce sync.Once
+ file_FurnitureMakeCancelRsp_proto_rawDescData = file_FurnitureMakeCancelRsp_proto_rawDesc
+)
+
+func file_FurnitureMakeCancelRsp_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeCancelRsp_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeCancelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeCancelRsp_proto_rawDescData)
+ })
+ return file_FurnitureMakeCancelRsp_proto_rawDescData
+}
+
+var file_FurnitureMakeCancelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeCancelRsp_proto_goTypes = []interface{}{
+ (*FurnitureMakeCancelRsp)(nil), // 0: proto.FurnitureMakeCancelRsp
+ (*FurnitureMakeSlot)(nil), // 1: proto.FurnitureMakeSlot
+}
+var file_FurnitureMakeCancelRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.FurnitureMakeCancelRsp.furniture_make_slot:type_name -> proto.FurnitureMakeSlot
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeCancelRsp_proto_init() }
+func file_FurnitureMakeCancelRsp_proto_init() {
+ if File_FurnitureMakeCancelRsp_proto != nil {
+ return
+ }
+ file_FurnitureMakeSlot_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeCancelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeCancelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeCancelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeCancelRsp_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeCancelRsp_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeCancelRsp_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeCancelRsp_proto = out.File
+ file_FurnitureMakeCancelRsp_proto_rawDesc = nil
+ file_FurnitureMakeCancelRsp_proto_goTypes = nil
+ file_FurnitureMakeCancelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeData.pb.go b/protocol/proto/FurnitureMakeData.pb.go
new file mode 100644
index 00000000..26a265e3
--- /dev/null
+++ b/protocol/proto/FurnitureMakeData.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FurnitureMakeData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,15,opt,name=index,proto3" json:"index,omitempty"`
+ DurTime uint32 `protobuf:"varint,1,opt,name=dur_time,json=durTime,proto3" json:"dur_time,omitempty"`
+ BeginTime uint32 `protobuf:"fixed32,11,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ AccelerateTime uint32 `protobuf:"fixed32,6,opt,name=accelerate_time,json=accelerateTime,proto3" json:"accelerate_time,omitempty"`
+ AvatarId uint32 `protobuf:"varint,2,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ MakeId uint32 `protobuf:"varint,5,opt,name=make_id,json=makeId,proto3" json:"make_id,omitempty"`
+}
+
+func (x *FurnitureMakeData) Reset() {
+ *x = FurnitureMakeData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeData) ProtoMessage() {}
+
+func (x *FurnitureMakeData) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeData.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeData) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeData) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *FurnitureMakeData) GetDurTime() uint32 {
+ if x != nil {
+ return x.DurTime
+ }
+ return 0
+}
+
+func (x *FurnitureMakeData) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *FurnitureMakeData) GetAccelerateTime() uint32 {
+ if x != nil {
+ return x.AccelerateTime
+ }
+ return 0
+}
+
+func (x *FurnitureMakeData) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *FurnitureMakeData) GetMakeId() uint32 {
+ if x != nil {
+ return x.MakeId
+ }
+ return 0
+}
+
+var File_FurnitureMakeData_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeData_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xc2, 0x01, 0x0a, 0x11, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61,
+ 0x6b, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08,
+ 0x64, 0x75, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x64, 0x75, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x62, 0x65, 0x67,
+ 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65,
+ 0x72, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52,
+ 0x0e, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
+ 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d,
+ 0x61, 0x6b, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeData_proto_rawDescOnce sync.Once
+ file_FurnitureMakeData_proto_rawDescData = file_FurnitureMakeData_proto_rawDesc
+)
+
+func file_FurnitureMakeData_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeData_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeData_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeData_proto_rawDescData)
+ })
+ return file_FurnitureMakeData_proto_rawDescData
+}
+
+var file_FurnitureMakeData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeData_proto_goTypes = []interface{}{
+ (*FurnitureMakeData)(nil), // 0: proto.FurnitureMakeData
+}
+var file_FurnitureMakeData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeData_proto_init() }
+func file_FurnitureMakeData_proto_init() {
+ if File_FurnitureMakeData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeData_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeData_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeData_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeData_proto = out.File
+ file_FurnitureMakeData_proto_rawDesc = nil
+ file_FurnitureMakeData_proto_goTypes = nil
+ file_FurnitureMakeData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeFinishNotify.pb.go b/protocol/proto/FurnitureMakeFinishNotify.pb.go
new file mode 100644
index 00000000..1b04c19a
--- /dev/null
+++ b/protocol/proto/FurnitureMakeFinishNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4841
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FurnitureMakeFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FurnitureMakeFinishNotify) Reset() {
+ *x = FurnitureMakeFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeFinishNotify) ProtoMessage() {}
+
+func (x *FurnitureMakeFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeFinishNotify.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeFinishNotify) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FurnitureMakeFinishNotify_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeFinishNotify_proto_rawDescOnce sync.Once
+ file_FurnitureMakeFinishNotify_proto_rawDescData = file_FurnitureMakeFinishNotify_proto_rawDesc
+)
+
+func file_FurnitureMakeFinishNotify_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeFinishNotify_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeFinishNotify_proto_rawDescData)
+ })
+ return file_FurnitureMakeFinishNotify_proto_rawDescData
+}
+
+var file_FurnitureMakeFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeFinishNotify_proto_goTypes = []interface{}{
+ (*FurnitureMakeFinishNotify)(nil), // 0: proto.FurnitureMakeFinishNotify
+}
+var file_FurnitureMakeFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeFinishNotify_proto_init() }
+func file_FurnitureMakeFinishNotify_proto_init() {
+ if File_FurnitureMakeFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeFinishNotify_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeFinishNotify_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeFinishNotify_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeFinishNotify_proto = out.File
+ file_FurnitureMakeFinishNotify_proto_rawDesc = nil
+ file_FurnitureMakeFinishNotify_proto_goTypes = nil
+ file_FurnitureMakeFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeHelpData.pb.go b/protocol/proto/FurnitureMakeHelpData.pb.go
new file mode 100644
index 00000000..d616fc8a
--- /dev/null
+++ b/protocol/proto/FurnitureMakeHelpData.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeHelpData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FurnitureMakeHelpData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Times uint32 `protobuf:"varint,2,opt,name=times,proto3" json:"times,omitempty"`
+ Uid uint32 `protobuf:"varint,13,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *FurnitureMakeHelpData) Reset() {
+ *x = FurnitureMakeHelpData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeHelpData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeHelpData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeHelpData) ProtoMessage() {}
+
+func (x *FurnitureMakeHelpData) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeHelpData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeHelpData.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeHelpData) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeHelpData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeHelpData) GetTimes() uint32 {
+ if x != nil {
+ return x.Times
+ }
+ return 0
+}
+
+func (x *FurnitureMakeHelpData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_FurnitureMakeHelpData_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeHelpData_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x48,
+ 0x65, 0x6c, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x15, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a,
+ 0x05, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x69,
+ 0x6d, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeHelpData_proto_rawDescOnce sync.Once
+ file_FurnitureMakeHelpData_proto_rawDescData = file_FurnitureMakeHelpData_proto_rawDesc
+)
+
+func file_FurnitureMakeHelpData_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeHelpData_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeHelpData_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeHelpData_proto_rawDescData)
+ })
+ return file_FurnitureMakeHelpData_proto_rawDescData
+}
+
+var file_FurnitureMakeHelpData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeHelpData_proto_goTypes = []interface{}{
+ (*FurnitureMakeHelpData)(nil), // 0: proto.FurnitureMakeHelpData
+}
+var file_FurnitureMakeHelpData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeHelpData_proto_init() }
+func file_FurnitureMakeHelpData_proto_init() {
+ if File_FurnitureMakeHelpData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeHelpData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeHelpData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeHelpData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeHelpData_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeHelpData_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeHelpData_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeHelpData_proto = out.File
+ file_FurnitureMakeHelpData_proto_rawDesc = nil
+ file_FurnitureMakeHelpData_proto_goTypes = nil
+ file_FurnitureMakeHelpData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeHelpReq.pb.go b/protocol/proto/FurnitureMakeHelpReq.pb.go
new file mode 100644
index 00000000..41506b56
--- /dev/null
+++ b/protocol/proto/FurnitureMakeHelpReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeHelpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4865
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FurnitureMakeHelpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FurnitureMakeHelpReq) Reset() {
+ *x = FurnitureMakeHelpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeHelpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeHelpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeHelpReq) ProtoMessage() {}
+
+func (x *FurnitureMakeHelpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeHelpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeHelpReq.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeHelpReq) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeHelpReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FurnitureMakeHelpReq_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeHelpReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x48,
+ 0x65, 0x6c, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65,
+ 0x4d, 0x61, 0x6b, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeHelpReq_proto_rawDescOnce sync.Once
+ file_FurnitureMakeHelpReq_proto_rawDescData = file_FurnitureMakeHelpReq_proto_rawDesc
+)
+
+func file_FurnitureMakeHelpReq_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeHelpReq_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeHelpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeHelpReq_proto_rawDescData)
+ })
+ return file_FurnitureMakeHelpReq_proto_rawDescData
+}
+
+var file_FurnitureMakeHelpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeHelpReq_proto_goTypes = []interface{}{
+ (*FurnitureMakeHelpReq)(nil), // 0: proto.FurnitureMakeHelpReq
+}
+var file_FurnitureMakeHelpReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeHelpReq_proto_init() }
+func file_FurnitureMakeHelpReq_proto_init() {
+ if File_FurnitureMakeHelpReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeHelpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeHelpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeHelpReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeHelpReq_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeHelpReq_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeHelpReq_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeHelpReq_proto = out.File
+ file_FurnitureMakeHelpReq_proto_rawDesc = nil
+ file_FurnitureMakeHelpReq_proto_goTypes = nil
+ file_FurnitureMakeHelpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeHelpRsp.pb.go b/protocol/proto/FurnitureMakeHelpRsp.pb.go
new file mode 100644
index 00000000..c7f42c29
--- /dev/null
+++ b/protocol/proto/FurnitureMakeHelpRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeHelpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4756
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FurnitureMakeHelpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ HelpDataList []*FurnitureMakeHelpData `protobuf:"bytes,6,rep,name=help_data_list,json=helpDataList,proto3" json:"help_data_list,omitempty"`
+}
+
+func (x *FurnitureMakeHelpRsp) Reset() {
+ *x = FurnitureMakeHelpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeHelpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeHelpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeHelpRsp) ProtoMessage() {}
+
+func (x *FurnitureMakeHelpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeHelpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeHelpRsp.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeHelpRsp) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeHelpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeHelpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FurnitureMakeHelpRsp) GetHelpDataList() []*FurnitureMakeHelpData {
+ if x != nil {
+ return x.HelpDataList
+ }
+ return nil
+}
+
+var File_FurnitureMakeHelpRsp_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeHelpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x48,
+ 0x65, 0x6c, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61,
+ 0x6b, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x74, 0x0a, 0x14, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b,
+ 0x65, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65,
+ 0x48, 0x65, 0x6c, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x68, 0x65, 0x6c, 0x70, 0x44, 0x61,
+ 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeHelpRsp_proto_rawDescOnce sync.Once
+ file_FurnitureMakeHelpRsp_proto_rawDescData = file_FurnitureMakeHelpRsp_proto_rawDesc
+)
+
+func file_FurnitureMakeHelpRsp_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeHelpRsp_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeHelpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeHelpRsp_proto_rawDescData)
+ })
+ return file_FurnitureMakeHelpRsp_proto_rawDescData
+}
+
+var file_FurnitureMakeHelpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeHelpRsp_proto_goTypes = []interface{}{
+ (*FurnitureMakeHelpRsp)(nil), // 0: proto.FurnitureMakeHelpRsp
+ (*FurnitureMakeHelpData)(nil), // 1: proto.FurnitureMakeHelpData
+}
+var file_FurnitureMakeHelpRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.FurnitureMakeHelpRsp.help_data_list:type_name -> proto.FurnitureMakeHelpData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeHelpRsp_proto_init() }
+func file_FurnitureMakeHelpRsp_proto_init() {
+ if File_FurnitureMakeHelpRsp_proto != nil {
+ return
+ }
+ file_FurnitureMakeHelpData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeHelpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeHelpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeHelpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeHelpRsp_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeHelpRsp_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeHelpRsp_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeHelpRsp_proto = out.File
+ file_FurnitureMakeHelpRsp_proto_rawDesc = nil
+ file_FurnitureMakeHelpRsp_proto_goTypes = nil
+ file_FurnitureMakeHelpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeMakeInfo.pb.go b/protocol/proto/FurnitureMakeMakeInfo.pb.go
new file mode 100644
index 00000000..6fde48c0
--- /dev/null
+++ b/protocol/proto/FurnitureMakeMakeInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeMakeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FurnitureMakeMakeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureId uint32 `protobuf:"varint,13,opt,name=furniture_id,json=furnitureId,proto3" json:"furniture_id,omitempty"`
+ MakeCount uint32 `protobuf:"varint,9,opt,name=make_count,json=makeCount,proto3" json:"make_count,omitempty"`
+}
+
+func (x *FurnitureMakeMakeInfo) Reset() {
+ *x = FurnitureMakeMakeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeMakeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeMakeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeMakeInfo) ProtoMessage() {}
+
+func (x *FurnitureMakeMakeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeMakeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeMakeInfo.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeMakeInfo) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeMakeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeMakeInfo) GetFurnitureId() uint32 {
+ if x != nil {
+ return x.FurnitureId
+ }
+ return 0
+}
+
+func (x *FurnitureMakeMakeInfo) GetMakeCount() uint32 {
+ if x != nil {
+ return x.MakeCount
+ }
+ return 0
+}
+
+var File_FurnitureMakeMakeInfo_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeMakeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x4d,
+ 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x15, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a,
+ 0x0c, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeMakeInfo_proto_rawDescOnce sync.Once
+ file_FurnitureMakeMakeInfo_proto_rawDescData = file_FurnitureMakeMakeInfo_proto_rawDesc
+)
+
+func file_FurnitureMakeMakeInfo_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeMakeInfo_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeMakeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeMakeInfo_proto_rawDescData)
+ })
+ return file_FurnitureMakeMakeInfo_proto_rawDescData
+}
+
+var file_FurnitureMakeMakeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeMakeInfo_proto_goTypes = []interface{}{
+ (*FurnitureMakeMakeInfo)(nil), // 0: proto.FurnitureMakeMakeInfo
+}
+var file_FurnitureMakeMakeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeMakeInfo_proto_init() }
+func file_FurnitureMakeMakeInfo_proto_init() {
+ if File_FurnitureMakeMakeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeMakeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeMakeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeMakeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeMakeInfo_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeMakeInfo_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeMakeInfo_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeMakeInfo_proto = out.File
+ file_FurnitureMakeMakeInfo_proto_rawDesc = nil
+ file_FurnitureMakeMakeInfo_proto_goTypes = nil
+ file_FurnitureMakeMakeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeReq.pb.go b/protocol/proto/FurnitureMakeReq.pb.go
new file mode 100644
index 00000000..3d4d40aa
--- /dev/null
+++ b/protocol/proto/FurnitureMakeReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4477
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FurnitureMakeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *FurnitureMakeReq) Reset() {
+ *x = FurnitureMakeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeReq) ProtoMessage() {}
+
+func (x *FurnitureMakeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeReq.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeReq) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_FurnitureMakeReq_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x12, 0x0a, 0x10, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeReq_proto_rawDescOnce sync.Once
+ file_FurnitureMakeReq_proto_rawDescData = file_FurnitureMakeReq_proto_rawDesc
+)
+
+func file_FurnitureMakeReq_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeReq_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeReq_proto_rawDescData)
+ })
+ return file_FurnitureMakeReq_proto_rawDescData
+}
+
+var file_FurnitureMakeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeReq_proto_goTypes = []interface{}{
+ (*FurnitureMakeReq)(nil), // 0: proto.FurnitureMakeReq
+}
+var file_FurnitureMakeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeReq_proto_init() }
+func file_FurnitureMakeReq_proto_init() {
+ if File_FurnitureMakeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeReq_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeReq_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeReq_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeReq_proto = out.File
+ file_FurnitureMakeReq_proto_rawDesc = nil
+ file_FurnitureMakeReq_proto_goTypes = nil
+ file_FurnitureMakeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeRsp.pb.go b/protocol/proto/FurnitureMakeRsp.pb.go
new file mode 100644
index 00000000..f134fc65
--- /dev/null
+++ b/protocol/proto/FurnitureMakeRsp.pb.go
@@ -0,0 +1,231 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4782
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FurnitureMakeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HelpedDataList []*FurnitureMakeBeHelpedData `protobuf:"bytes,13,rep,name=helped_data_list,json=helpedDataList,proto3" json:"helped_data_list,omitempty"`
+ MakeInfoList []*FurnitureMakeMakeInfo `protobuf:"bytes,4,rep,name=make_info_list,json=makeInfoList,proto3" json:"make_info_list,omitempty"`
+ FurnitureMakeSlot *FurnitureMakeSlot `protobuf:"bytes,1,opt,name=furniture_make_slot,json=furnitureMakeSlot,proto3" json:"furniture_make_slot,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ HelpDataList []*FurnitureMakeHelpData `protobuf:"bytes,2,rep,name=help_data_list,json=helpDataList,proto3" json:"help_data_list,omitempty"`
+}
+
+func (x *FurnitureMakeRsp) Reset() {
+ *x = FurnitureMakeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeRsp) ProtoMessage() {}
+
+func (x *FurnitureMakeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeRsp.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeRsp) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeRsp) GetHelpedDataList() []*FurnitureMakeBeHelpedData {
+ if x != nil {
+ return x.HelpedDataList
+ }
+ return nil
+}
+
+func (x *FurnitureMakeRsp) GetMakeInfoList() []*FurnitureMakeMakeInfo {
+ if x != nil {
+ return x.MakeInfoList
+ }
+ return nil
+}
+
+func (x *FurnitureMakeRsp) GetFurnitureMakeSlot() *FurnitureMakeSlot {
+ if x != nil {
+ return x.FurnitureMakeSlot
+ }
+ return nil
+}
+
+func (x *FurnitureMakeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *FurnitureMakeRsp) GetHelpDataList() []*FurnitureMakeHelpData {
+ if x != nil {
+ return x.HelpDataList
+ }
+ return nil
+}
+
+var File_FurnitureMakeRsp_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1f, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x42, 0x65,
+ 0x48, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x48,
+ 0x65, 0x6c, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x46,
+ 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x6b, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x02, 0x0a, 0x10, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x52, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x10, 0x68, 0x65, 0x6c, 0x70,
+ 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x42, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x65, 0x64,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61,
+ 0x6b, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x6d, 0x61, 0x6b, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x13, 0x66, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75,
+ 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x52,
+ 0x11, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c,
+ 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x42, 0x0a, 0x0e,
+ 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x0c, 0x68, 0x65, 0x6c, 0x70, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeRsp_proto_rawDescOnce sync.Once
+ file_FurnitureMakeRsp_proto_rawDescData = file_FurnitureMakeRsp_proto_rawDesc
+)
+
+func file_FurnitureMakeRsp_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeRsp_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeRsp_proto_rawDescData)
+ })
+ return file_FurnitureMakeRsp_proto_rawDescData
+}
+
+var file_FurnitureMakeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeRsp_proto_goTypes = []interface{}{
+ (*FurnitureMakeRsp)(nil), // 0: proto.FurnitureMakeRsp
+ (*FurnitureMakeBeHelpedData)(nil), // 1: proto.FurnitureMakeBeHelpedData
+ (*FurnitureMakeMakeInfo)(nil), // 2: proto.FurnitureMakeMakeInfo
+ (*FurnitureMakeSlot)(nil), // 3: proto.FurnitureMakeSlot
+ (*FurnitureMakeHelpData)(nil), // 4: proto.FurnitureMakeHelpData
+}
+var file_FurnitureMakeRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.FurnitureMakeRsp.helped_data_list:type_name -> proto.FurnitureMakeBeHelpedData
+ 2, // 1: proto.FurnitureMakeRsp.make_info_list:type_name -> proto.FurnitureMakeMakeInfo
+ 3, // 2: proto.FurnitureMakeRsp.furniture_make_slot:type_name -> proto.FurnitureMakeSlot
+ 4, // 3: proto.FurnitureMakeRsp.help_data_list:type_name -> proto.FurnitureMakeHelpData
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeRsp_proto_init() }
+func file_FurnitureMakeRsp_proto_init() {
+ if File_FurnitureMakeRsp_proto != nil {
+ return
+ }
+ file_FurnitureMakeBeHelpedData_proto_init()
+ file_FurnitureMakeHelpData_proto_init()
+ file_FurnitureMakeMakeInfo_proto_init()
+ file_FurnitureMakeSlot_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeRsp_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeRsp_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeRsp_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeRsp_proto = out.File
+ file_FurnitureMakeRsp_proto_rawDesc = nil
+ file_FurnitureMakeRsp_proto_goTypes = nil
+ file_FurnitureMakeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeSlot.pb.go b/protocol/proto/FurnitureMakeSlot.pb.go
new file mode 100644
index 00000000..34d57af1
--- /dev/null
+++ b/protocol/proto/FurnitureMakeSlot.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeSlot.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type FurnitureMakeSlot struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureMakeDataList []*FurnitureMakeData `protobuf:"bytes,14,rep,name=furniture_make_data_list,json=furnitureMakeDataList,proto3" json:"furniture_make_data_list,omitempty"`
+}
+
+func (x *FurnitureMakeSlot) Reset() {
+ *x = FurnitureMakeSlot{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeSlot_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeSlot) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeSlot) ProtoMessage() {}
+
+func (x *FurnitureMakeSlot) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeSlot_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeSlot.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeSlot) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeSlot_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeSlot) GetFurnitureMakeDataList() []*FurnitureMakeData {
+ if x != nil {
+ return x.FurnitureMakeDataList
+ }
+ return nil
+}
+
+var File_FurnitureMakeSlot_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeSlot_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53,
+ 0x6c, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x17, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x11, 0x46, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x51,
+ 0x0a, 0x18, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x6b, 0x65,
+ 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x15, 0x66, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeSlot_proto_rawDescOnce sync.Once
+ file_FurnitureMakeSlot_proto_rawDescData = file_FurnitureMakeSlot_proto_rawDesc
+)
+
+func file_FurnitureMakeSlot_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeSlot_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeSlot_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeSlot_proto_rawDescData)
+ })
+ return file_FurnitureMakeSlot_proto_rawDescData
+}
+
+var file_FurnitureMakeSlot_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeSlot_proto_goTypes = []interface{}{
+ (*FurnitureMakeSlot)(nil), // 0: proto.FurnitureMakeSlot
+ (*FurnitureMakeData)(nil), // 1: proto.FurnitureMakeData
+}
+var file_FurnitureMakeSlot_proto_depIdxs = []int32{
+ 1, // 0: proto.FurnitureMakeSlot.furniture_make_data_list:type_name -> proto.FurnitureMakeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeSlot_proto_init() }
+func file_FurnitureMakeSlot_proto_init() {
+ if File_FurnitureMakeSlot_proto != nil {
+ return
+ }
+ file_FurnitureMakeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeSlot_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeSlot); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeSlot_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeSlot_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeSlot_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeSlot_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeSlot_proto = out.File
+ file_FurnitureMakeSlot_proto_rawDesc = nil
+ file_FurnitureMakeSlot_proto_goTypes = nil
+ file_FurnitureMakeSlot_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeStartReq.pb.go b/protocol/proto/FurnitureMakeStartReq.pb.go
new file mode 100644
index 00000000..f1114917
--- /dev/null
+++ b/protocol/proto/FurnitureMakeStartReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeStartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4633
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type FurnitureMakeStartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,9,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ MakeId uint32 `protobuf:"varint,1,opt,name=make_id,json=makeId,proto3" json:"make_id,omitempty"`
+}
+
+func (x *FurnitureMakeStartReq) Reset() {
+ *x = FurnitureMakeStartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeStartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeStartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeStartReq) ProtoMessage() {}
+
+func (x *FurnitureMakeStartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeStartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeStartReq.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeStartReq) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeStartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeStartReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *FurnitureMakeStartReq) GetMakeId() uint32 {
+ if x != nil {
+ return x.MakeId
+ }
+ return 0
+}
+
+var File_FurnitureMakeStartReq_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeStartReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x15, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61,
+ 0x6b, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x61, 0x6b,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeStartReq_proto_rawDescOnce sync.Once
+ file_FurnitureMakeStartReq_proto_rawDescData = file_FurnitureMakeStartReq_proto_rawDesc
+)
+
+func file_FurnitureMakeStartReq_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeStartReq_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeStartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeStartReq_proto_rawDescData)
+ })
+ return file_FurnitureMakeStartReq_proto_rawDescData
+}
+
+var file_FurnitureMakeStartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeStartReq_proto_goTypes = []interface{}{
+ (*FurnitureMakeStartReq)(nil), // 0: proto.FurnitureMakeStartReq
+}
+var file_FurnitureMakeStartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeStartReq_proto_init() }
+func file_FurnitureMakeStartReq_proto_init() {
+ if File_FurnitureMakeStartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeStartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeStartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeStartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeStartReq_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeStartReq_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeStartReq_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeStartReq_proto = out.File
+ file_FurnitureMakeStartReq_proto_rawDesc = nil
+ file_FurnitureMakeStartReq_proto_goTypes = nil
+ file_FurnitureMakeStartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/FurnitureMakeStartRsp.pb.go b/protocol/proto/FurnitureMakeStartRsp.pb.go
new file mode 100644
index 00000000..257a071b
--- /dev/null
+++ b/protocol/proto/FurnitureMakeStartRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: FurnitureMakeStartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4729
+// EnetChannelId: 0
+// EnetIsReliable: true
+type FurnitureMakeStartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureMakeSlot *FurnitureMakeSlot `protobuf:"bytes,5,opt,name=furniture_make_slot,json=furnitureMakeSlot,proto3" json:"furniture_make_slot,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *FurnitureMakeStartRsp) Reset() {
+ *x = FurnitureMakeStartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_FurnitureMakeStartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *FurnitureMakeStartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*FurnitureMakeStartRsp) ProtoMessage() {}
+
+func (x *FurnitureMakeStartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_FurnitureMakeStartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use FurnitureMakeStartRsp.ProtoReflect.Descriptor instead.
+func (*FurnitureMakeStartRsp) Descriptor() ([]byte, []int) {
+ return file_FurnitureMakeStartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *FurnitureMakeStartRsp) GetFurnitureMakeSlot() *FurnitureMakeSlot {
+ if x != nil {
+ return x.FurnitureMakeSlot
+ }
+ return nil
+}
+
+func (x *FurnitureMakeStartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_FurnitureMakeStartRsp_proto protoreflect.FileDescriptor
+
+var file_FurnitureMakeStartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a,
+ 0x15, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x13, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x11, 0x66,
+ 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_FurnitureMakeStartRsp_proto_rawDescOnce sync.Once
+ file_FurnitureMakeStartRsp_proto_rawDescData = file_FurnitureMakeStartRsp_proto_rawDesc
+)
+
+func file_FurnitureMakeStartRsp_proto_rawDescGZIP() []byte {
+ file_FurnitureMakeStartRsp_proto_rawDescOnce.Do(func() {
+ file_FurnitureMakeStartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_FurnitureMakeStartRsp_proto_rawDescData)
+ })
+ return file_FurnitureMakeStartRsp_proto_rawDescData
+}
+
+var file_FurnitureMakeStartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_FurnitureMakeStartRsp_proto_goTypes = []interface{}{
+ (*FurnitureMakeStartRsp)(nil), // 0: proto.FurnitureMakeStartRsp
+ (*FurnitureMakeSlot)(nil), // 1: proto.FurnitureMakeSlot
+}
+var file_FurnitureMakeStartRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.FurnitureMakeStartRsp.furniture_make_slot:type_name -> proto.FurnitureMakeSlot
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_FurnitureMakeStartRsp_proto_init() }
+func file_FurnitureMakeStartRsp_proto_init() {
+ if File_FurnitureMakeStartRsp_proto != nil {
+ return
+ }
+ file_FurnitureMakeSlot_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_FurnitureMakeStartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*FurnitureMakeStartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_FurnitureMakeStartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_FurnitureMakeStartRsp_proto_goTypes,
+ DependencyIndexes: file_FurnitureMakeStartRsp_proto_depIdxs,
+ MessageInfos: file_FurnitureMakeStartRsp_proto_msgTypes,
+ }.Build()
+ File_FurnitureMakeStartRsp_proto = out.File
+ file_FurnitureMakeStartRsp_proto_rawDesc = nil
+ file_FurnitureMakeStartRsp_proto_goTypes = nil
+ file_FurnitureMakeStartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGApplyInviteBattleNotify.pb.go b/protocol/proto/GCGApplyInviteBattleNotify.pb.go
new file mode 100644
index 00000000..52502efd
--- /dev/null
+++ b/protocol/proto/GCGApplyInviteBattleNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGApplyInviteBattleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7820
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGApplyInviteBattleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAgree bool `protobuf:"varint,14,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGApplyInviteBattleNotify) Reset() {
+ *x = GCGApplyInviteBattleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGApplyInviteBattleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGApplyInviteBattleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGApplyInviteBattleNotify) ProtoMessage() {}
+
+func (x *GCGApplyInviteBattleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGApplyInviteBattleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGApplyInviteBattleNotify.ProtoReflect.Descriptor instead.
+func (*GCGApplyInviteBattleNotify) Descriptor() ([]byte, []int) {
+ return file_GCGApplyInviteBattleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGApplyInviteBattleNotify) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *GCGApplyInviteBattleNotify) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGApplyInviteBattleNotify_proto protoreflect.FileDescriptor
+
+var file_GCGApplyInviteBattleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x43, 0x47, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x1a, 0x47, 0x43, 0x47,
+ 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67,
+ 0x72, 0x65, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72,
+ 0x65, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGApplyInviteBattleNotify_proto_rawDescOnce sync.Once
+ file_GCGApplyInviteBattleNotify_proto_rawDescData = file_GCGApplyInviteBattleNotify_proto_rawDesc
+)
+
+func file_GCGApplyInviteBattleNotify_proto_rawDescGZIP() []byte {
+ file_GCGApplyInviteBattleNotify_proto_rawDescOnce.Do(func() {
+ file_GCGApplyInviteBattleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGApplyInviteBattleNotify_proto_rawDescData)
+ })
+ return file_GCGApplyInviteBattleNotify_proto_rawDescData
+}
+
+var file_GCGApplyInviteBattleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGApplyInviteBattleNotify_proto_goTypes = []interface{}{
+ (*GCGApplyInviteBattleNotify)(nil), // 0: proto.GCGApplyInviteBattleNotify
+}
+var file_GCGApplyInviteBattleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGApplyInviteBattleNotify_proto_init() }
+func file_GCGApplyInviteBattleNotify_proto_init() {
+ if File_GCGApplyInviteBattleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGApplyInviteBattleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGApplyInviteBattleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGApplyInviteBattleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGApplyInviteBattleNotify_proto_goTypes,
+ DependencyIndexes: file_GCGApplyInviteBattleNotify_proto_depIdxs,
+ MessageInfos: file_GCGApplyInviteBattleNotify_proto_msgTypes,
+ }.Build()
+ File_GCGApplyInviteBattleNotify_proto = out.File
+ file_GCGApplyInviteBattleNotify_proto_rawDesc = nil
+ file_GCGApplyInviteBattleNotify_proto_goTypes = nil
+ file_GCGApplyInviteBattleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGApplyInviteBattleReq.pb.go b/protocol/proto/GCGApplyInviteBattleReq.pb.go
new file mode 100644
index 00000000..630ff28f
--- /dev/null
+++ b/protocol/proto/GCGApplyInviteBattleReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGApplyInviteBattleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7730
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGApplyInviteBattleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAgree bool `protobuf:"varint,9,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+}
+
+func (x *GCGApplyInviteBattleReq) Reset() {
+ *x = GCGApplyInviteBattleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGApplyInviteBattleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGApplyInviteBattleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGApplyInviteBattleReq) ProtoMessage() {}
+
+func (x *GCGApplyInviteBattleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGApplyInviteBattleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGApplyInviteBattleReq.ProtoReflect.Descriptor instead.
+func (*GCGApplyInviteBattleReq) Descriptor() ([]byte, []int) {
+ return file_GCGApplyInviteBattleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGApplyInviteBattleReq) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+var File_GCGApplyInviteBattleReq_proto protoreflect.FileDescriptor
+
+var file_GCGApplyInviteBattleReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x41, 0x70, 0x70,
+ 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGApplyInviteBattleReq_proto_rawDescOnce sync.Once
+ file_GCGApplyInviteBattleReq_proto_rawDescData = file_GCGApplyInviteBattleReq_proto_rawDesc
+)
+
+func file_GCGApplyInviteBattleReq_proto_rawDescGZIP() []byte {
+ file_GCGApplyInviteBattleReq_proto_rawDescOnce.Do(func() {
+ file_GCGApplyInviteBattleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGApplyInviteBattleReq_proto_rawDescData)
+ })
+ return file_GCGApplyInviteBattleReq_proto_rawDescData
+}
+
+var file_GCGApplyInviteBattleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGApplyInviteBattleReq_proto_goTypes = []interface{}{
+ (*GCGApplyInviteBattleReq)(nil), // 0: proto.GCGApplyInviteBattleReq
+}
+var file_GCGApplyInviteBattleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGApplyInviteBattleReq_proto_init() }
+func file_GCGApplyInviteBattleReq_proto_init() {
+ if File_GCGApplyInviteBattleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGApplyInviteBattleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGApplyInviteBattleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGApplyInviteBattleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGApplyInviteBattleReq_proto_goTypes,
+ DependencyIndexes: file_GCGApplyInviteBattleReq_proto_depIdxs,
+ MessageInfos: file_GCGApplyInviteBattleReq_proto_msgTypes,
+ }.Build()
+ File_GCGApplyInviteBattleReq_proto = out.File
+ file_GCGApplyInviteBattleReq_proto_rawDesc = nil
+ file_GCGApplyInviteBattleReq_proto_goTypes = nil
+ file_GCGApplyInviteBattleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGApplyInviteBattleRsp.pb.go b/protocol/proto/GCGApplyInviteBattleRsp.pb.go
new file mode 100644
index 00000000..d6f6a3ac
--- /dev/null
+++ b/protocol/proto/GCGApplyInviteBattleRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGApplyInviteBattleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7304
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGApplyInviteBattleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGApplyInviteBattleRsp) Reset() {
+ *x = GCGApplyInviteBattleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGApplyInviteBattleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGApplyInviteBattleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGApplyInviteBattleRsp) ProtoMessage() {}
+
+func (x *GCGApplyInviteBattleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGApplyInviteBattleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGApplyInviteBattleRsp.ProtoReflect.Descriptor instead.
+func (*GCGApplyInviteBattleRsp) Descriptor() ([]byte, []int) {
+ return file_GCGApplyInviteBattleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGApplyInviteBattleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGApplyInviteBattleRsp_proto protoreflect.FileDescriptor
+
+var file_GCGApplyInviteBattleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x41, 0x70, 0x70,
+ 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGApplyInviteBattleRsp_proto_rawDescOnce sync.Once
+ file_GCGApplyInviteBattleRsp_proto_rawDescData = file_GCGApplyInviteBattleRsp_proto_rawDesc
+)
+
+func file_GCGApplyInviteBattleRsp_proto_rawDescGZIP() []byte {
+ file_GCGApplyInviteBattleRsp_proto_rawDescOnce.Do(func() {
+ file_GCGApplyInviteBattleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGApplyInviteBattleRsp_proto_rawDescData)
+ })
+ return file_GCGApplyInviteBattleRsp_proto_rawDescData
+}
+
+var file_GCGApplyInviteBattleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGApplyInviteBattleRsp_proto_goTypes = []interface{}{
+ (*GCGApplyInviteBattleRsp)(nil), // 0: proto.GCGApplyInviteBattleRsp
+}
+var file_GCGApplyInviteBattleRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGApplyInviteBattleRsp_proto_init() }
+func file_GCGApplyInviteBattleRsp_proto_init() {
+ if File_GCGApplyInviteBattleRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGApplyInviteBattleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGApplyInviteBattleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGApplyInviteBattleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGApplyInviteBattleRsp_proto_goTypes,
+ DependencyIndexes: file_GCGApplyInviteBattleRsp_proto_depIdxs,
+ MessageInfos: file_GCGApplyInviteBattleRsp_proto_msgTypes,
+ }.Build()
+ File_GCGApplyInviteBattleRsp_proto = out.File
+ file_GCGApplyInviteBattleRsp_proto_rawDesc = nil
+ file_GCGApplyInviteBattleRsp_proto_goTypes = nil
+ file_GCGApplyInviteBattleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGAskDuelReq.pb.go b/protocol/proto/GCGAskDuelReq.pb.go
new file mode 100644
index 00000000..40645f66
--- /dev/null
+++ b/protocol/proto/GCGAskDuelReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGAskDuelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7237
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGAskDuelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GCGAskDuelReq) Reset() {
+ *x = GCGAskDuelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGAskDuelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGAskDuelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGAskDuelReq) ProtoMessage() {}
+
+func (x *GCGAskDuelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGAskDuelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGAskDuelReq.ProtoReflect.Descriptor instead.
+func (*GCGAskDuelReq) Descriptor() ([]byte, []int) {
+ return file_GCGAskDuelReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGAskDuelReq_proto protoreflect.FileDescriptor
+
+var file_GCGAskDuelReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x41, 0x73, 0x6b, 0x44, 0x75, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d,
+ 0x47, 0x43, 0x47, 0x41, 0x73, 0x6b, 0x44, 0x75, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGAskDuelReq_proto_rawDescOnce sync.Once
+ file_GCGAskDuelReq_proto_rawDescData = file_GCGAskDuelReq_proto_rawDesc
+)
+
+func file_GCGAskDuelReq_proto_rawDescGZIP() []byte {
+ file_GCGAskDuelReq_proto_rawDescOnce.Do(func() {
+ file_GCGAskDuelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGAskDuelReq_proto_rawDescData)
+ })
+ return file_GCGAskDuelReq_proto_rawDescData
+}
+
+var file_GCGAskDuelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGAskDuelReq_proto_goTypes = []interface{}{
+ (*GCGAskDuelReq)(nil), // 0: proto.GCGAskDuelReq
+}
+var file_GCGAskDuelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGAskDuelReq_proto_init() }
+func file_GCGAskDuelReq_proto_init() {
+ if File_GCGAskDuelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGAskDuelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGAskDuelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGAskDuelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGAskDuelReq_proto_goTypes,
+ DependencyIndexes: file_GCGAskDuelReq_proto_depIdxs,
+ MessageInfos: file_GCGAskDuelReq_proto_msgTypes,
+ }.Build()
+ File_GCGAskDuelReq_proto = out.File
+ file_GCGAskDuelReq_proto_rawDesc = nil
+ file_GCGAskDuelReq_proto_goTypes = nil
+ file_GCGAskDuelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGAskDuelRsp.pb.go b/protocol/proto/GCGAskDuelRsp.pb.go
new file mode 100644
index 00000000..2e320308
--- /dev/null
+++ b/protocol/proto/GCGAskDuelRsp.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGAskDuelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7869
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGAskDuelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Duel *GCGDuel `protobuf:"bytes,13,opt,name=duel,proto3" json:"duel,omitempty"`
+}
+
+func (x *GCGAskDuelRsp) Reset() {
+ *x = GCGAskDuelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGAskDuelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGAskDuelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGAskDuelRsp) ProtoMessage() {}
+
+func (x *GCGAskDuelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGAskDuelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGAskDuelRsp.ProtoReflect.Descriptor instead.
+func (*GCGAskDuelRsp) Descriptor() ([]byte, []int) {
+ return file_GCGAskDuelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGAskDuelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGAskDuelRsp) GetDuel() *GCGDuel {
+ if x != nil {
+ return x.Duel
+ }
+ return nil
+}
+
+var File_GCGAskDuelRsp_proto protoreflect.FileDescriptor
+
+var file_GCGAskDuelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x41, 0x73, 0x6b, 0x44, 0x75, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x47, 0x43,
+ 0x47, 0x44, 0x75, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x0d, 0x47,
+ 0x43, 0x47, 0x41, 0x73, 0x6b, 0x44, 0x75, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x75, 0x65, 0x6c, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x44, 0x75, 0x65, 0x6c, 0x52, 0x04, 0x64, 0x75, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGAskDuelRsp_proto_rawDescOnce sync.Once
+ file_GCGAskDuelRsp_proto_rawDescData = file_GCGAskDuelRsp_proto_rawDesc
+)
+
+func file_GCGAskDuelRsp_proto_rawDescGZIP() []byte {
+ file_GCGAskDuelRsp_proto_rawDescOnce.Do(func() {
+ file_GCGAskDuelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGAskDuelRsp_proto_rawDescData)
+ })
+ return file_GCGAskDuelRsp_proto_rawDescData
+}
+
+var file_GCGAskDuelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGAskDuelRsp_proto_goTypes = []interface{}{
+ (*GCGAskDuelRsp)(nil), // 0: proto.GCGAskDuelRsp
+ (*GCGDuel)(nil), // 1: proto.GCGDuel
+}
+var file_GCGAskDuelRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGAskDuelRsp.duel:type_name -> proto.GCGDuel
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGAskDuelRsp_proto_init() }
+func file_GCGAskDuelRsp_proto_init() {
+ if File_GCGAskDuelRsp_proto != nil {
+ return
+ }
+ file_GCGDuel_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGAskDuelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGAskDuelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGAskDuelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGAskDuelRsp_proto_goTypes,
+ DependencyIndexes: file_GCGAskDuelRsp_proto_depIdxs,
+ MessageInfos: file_GCGAskDuelRsp_proto_msgTypes,
+ }.Build()
+ File_GCGAskDuelRsp_proto = out.File
+ file_GCGAskDuelRsp_proto_rawDesc = nil
+ file_GCGAskDuelRsp_proto_goTypes = nil
+ file_GCGAskDuelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGAttackCostInfo.pb.go b/protocol/proto/GCGAttackCostInfo.pb.go
new file mode 100644
index 00000000..6c721eb1
--- /dev/null
+++ b/protocol/proto/GCGAttackCostInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGAttackCostInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGAttackCostInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,8,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ CostMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=cost_map,json=costMap,proto3" json:"cost_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GCGAttackCostInfo) Reset() {
+ *x = GCGAttackCostInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGAttackCostInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGAttackCostInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGAttackCostInfo) ProtoMessage() {}
+
+func (x *GCGAttackCostInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGAttackCostInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGAttackCostInfo.ProtoReflect.Descriptor instead.
+func (*GCGAttackCostInfo) Descriptor() ([]byte, []int) {
+ return file_GCGAttackCostInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGAttackCostInfo) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *GCGAttackCostInfo) GetCostMap() map[uint32]uint32 {
+ if x != nil {
+ return x.CostMap
+ }
+ return nil
+}
+
+var File_GCGAttackCostInfo_proto protoreflect.FileDescriptor
+
+var file_GCGAttackCostInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x43, 0x47, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x73, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xac, 0x01, 0x0a, 0x11, 0x47, 0x43, 0x47, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f,
+ 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49,
+ 0x64, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x41,
+ 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f,
+ 0x73, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x73, 0x74,
+ 0x4d, 0x61, 0x70, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGAttackCostInfo_proto_rawDescOnce sync.Once
+ file_GCGAttackCostInfo_proto_rawDescData = file_GCGAttackCostInfo_proto_rawDesc
+)
+
+func file_GCGAttackCostInfo_proto_rawDescGZIP() []byte {
+ file_GCGAttackCostInfo_proto_rawDescOnce.Do(func() {
+ file_GCGAttackCostInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGAttackCostInfo_proto_rawDescData)
+ })
+ return file_GCGAttackCostInfo_proto_rawDescData
+}
+
+var file_GCGAttackCostInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGAttackCostInfo_proto_goTypes = []interface{}{
+ (*GCGAttackCostInfo)(nil), // 0: proto.GCGAttackCostInfo
+ nil, // 1: proto.GCGAttackCostInfo.CostMapEntry
+}
+var file_GCGAttackCostInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGAttackCostInfo.cost_map:type_name -> proto.GCGAttackCostInfo.CostMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGAttackCostInfo_proto_init() }
+func file_GCGAttackCostInfo_proto_init() {
+ if File_GCGAttackCostInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGAttackCostInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGAttackCostInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGAttackCostInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGAttackCostInfo_proto_goTypes,
+ DependencyIndexes: file_GCGAttackCostInfo_proto_depIdxs,
+ MessageInfos: file_GCGAttackCostInfo_proto_msgTypes,
+ }.Build()
+ File_GCGAttackCostInfo_proto = out.File
+ file_GCGAttackCostInfo_proto_rawDesc = nil
+ file_GCGAttackCostInfo_proto_goTypes = nil
+ file_GCGAttackCostInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGBasicDataNotify.pb.go b/protocol/proto/GCGBasicDataNotify.pb.go
new file mode 100644
index 00000000..fd031cd6
--- /dev/null
+++ b/protocol/proto/GCGBasicDataNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGBasicDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7319
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGBasicDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,9,opt,name=level,proto3" json:"level,omitempty"`
+ Exp uint32 `protobuf:"varint,4,opt,name=exp,proto3" json:"exp,omitempty"`
+ LevelRewardTakenList []uint32 `protobuf:"varint,12,rep,packed,name=level_reward_taken_list,json=levelRewardTakenList,proto3" json:"level_reward_taken_list,omitempty"`
+}
+
+func (x *GCGBasicDataNotify) Reset() {
+ *x = GCGBasicDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGBasicDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGBasicDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGBasicDataNotify) ProtoMessage() {}
+
+func (x *GCGBasicDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGBasicDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGBasicDataNotify.ProtoReflect.Descriptor instead.
+func (*GCGBasicDataNotify) Descriptor() ([]byte, []int) {
+ return file_GCGBasicDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGBasicDataNotify) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *GCGBasicDataNotify) GetExp() uint32 {
+ if x != nil {
+ return x.Exp
+ }
+ return 0
+}
+
+func (x *GCGBasicDataNotify) GetLevelRewardTakenList() []uint32 {
+ if x != nil {
+ return x.LevelRewardTakenList
+ }
+ return nil
+}
+
+var File_GCGBasicDataNotify_proto protoreflect.FileDescriptor
+
+var file_GCGBasicDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x42, 0x61, 0x73, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x73, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x42, 0x61, 0x73, 0x69, 0x63, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a,
+ 0x03, 0x65, 0x78, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12,
+ 0x35, 0x0a, 0x17, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x14, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b,
+ 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGBasicDataNotify_proto_rawDescOnce sync.Once
+ file_GCGBasicDataNotify_proto_rawDescData = file_GCGBasicDataNotify_proto_rawDesc
+)
+
+func file_GCGBasicDataNotify_proto_rawDescGZIP() []byte {
+ file_GCGBasicDataNotify_proto_rawDescOnce.Do(func() {
+ file_GCGBasicDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGBasicDataNotify_proto_rawDescData)
+ })
+ return file_GCGBasicDataNotify_proto_rawDescData
+}
+
+var file_GCGBasicDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGBasicDataNotify_proto_goTypes = []interface{}{
+ (*GCGBasicDataNotify)(nil), // 0: proto.GCGBasicDataNotify
+}
+var file_GCGBasicDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGBasicDataNotify_proto_init() }
+func file_GCGBasicDataNotify_proto_init() {
+ if File_GCGBasicDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGBasicDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGBasicDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGBasicDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGBasicDataNotify_proto_goTypes,
+ DependencyIndexes: file_GCGBasicDataNotify_proto_depIdxs,
+ MessageInfos: file_GCGBasicDataNotify_proto_msgTypes,
+ }.Build()
+ File_GCGBasicDataNotify_proto = out.File
+ file_GCGBasicDataNotify_proto_rawDesc = nil
+ file_GCGBasicDataNotify_proto_goTypes = nil
+ file_GCGBasicDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGBossChallengeData.pb.go b/protocol/proto/GCGBossChallengeData.pb.go
new file mode 100644
index 00000000..c8859a96
--- /dev/null
+++ b/protocol/proto/GCGBossChallengeData.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGBossChallengeData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGBossChallengeData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,9,opt,name=id,proto3" json:"id,omitempty"`
+ UnlockLevelIdList []uint32 `protobuf:"varint,14,rep,packed,name=unlock_level_id_list,json=unlockLevelIdList,proto3" json:"unlock_level_id_list,omitempty"`
+}
+
+func (x *GCGBossChallengeData) Reset() {
+ *x = GCGBossChallengeData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGBossChallengeData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGBossChallengeData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGBossChallengeData) ProtoMessage() {}
+
+func (x *GCGBossChallengeData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGBossChallengeData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGBossChallengeData.ProtoReflect.Descriptor instead.
+func (*GCGBossChallengeData) Descriptor() ([]byte, []int) {
+ return file_GCGBossChallengeData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGBossChallengeData) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *GCGBossChallengeData) GetUnlockLevelIdList() []uint32 {
+ if x != nil {
+ return x.UnlockLevelIdList
+ }
+ return nil
+}
+
+var File_GCGBossChallengeData_proto protoreflect.FileDescriptor
+
+var file_GCGBossChallengeData_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x75,
+ 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGBossChallengeData_proto_rawDescOnce sync.Once
+ file_GCGBossChallengeData_proto_rawDescData = file_GCGBossChallengeData_proto_rawDesc
+)
+
+func file_GCGBossChallengeData_proto_rawDescGZIP() []byte {
+ file_GCGBossChallengeData_proto_rawDescOnce.Do(func() {
+ file_GCGBossChallengeData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGBossChallengeData_proto_rawDescData)
+ })
+ return file_GCGBossChallengeData_proto_rawDescData
+}
+
+var file_GCGBossChallengeData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGBossChallengeData_proto_goTypes = []interface{}{
+ (*GCGBossChallengeData)(nil), // 0: proto.GCGBossChallengeData
+}
+var file_GCGBossChallengeData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGBossChallengeData_proto_init() }
+func file_GCGBossChallengeData_proto_init() {
+ if File_GCGBossChallengeData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGBossChallengeData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGBossChallengeData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGBossChallengeData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGBossChallengeData_proto_goTypes,
+ DependencyIndexes: file_GCGBossChallengeData_proto_depIdxs,
+ MessageInfos: file_GCGBossChallengeData_proto_msgTypes,
+ }.Build()
+ File_GCGBossChallengeData_proto = out.File
+ file_GCGBossChallengeData_proto_rawDesc = nil
+ file_GCGBossChallengeData_proto_goTypes = nil
+ file_GCGBossChallengeData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGBossChallengeUpdateNotify.pb.go b/protocol/proto/GCGBossChallengeUpdateNotify.pb.go
new file mode 100644
index 00000000..7a1435d9
--- /dev/null
+++ b/protocol/proto/GCGBossChallengeUpdateNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGBossChallengeUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7073
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGBossChallengeUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BossChallenge *GCGBossChallengeData `protobuf:"bytes,11,opt,name=boss_challenge,json=bossChallenge,proto3" json:"boss_challenge,omitempty"`
+}
+
+func (x *GCGBossChallengeUpdateNotify) Reset() {
+ *x = GCGBossChallengeUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGBossChallengeUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGBossChallengeUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGBossChallengeUpdateNotify) ProtoMessage() {}
+
+func (x *GCGBossChallengeUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGBossChallengeUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGBossChallengeUpdateNotify.ProtoReflect.Descriptor instead.
+func (*GCGBossChallengeUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_GCGBossChallengeUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGBossChallengeUpdateNotify) GetBossChallenge() *GCGBossChallengeData {
+ if x != nil {
+ return x.BossChallenge
+ }
+ return nil
+}
+
+var File_GCGBossChallengeUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_GCGBossChallengeUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x43, 0x47, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x47, 0x43, 0x47,
+ 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x42, 0x6f,
+ 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x42, 0x0a, 0x0e, 0x62, 0x6f, 0x73, 0x73, 0x5f,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x42, 0x6f, 0x73, 0x73, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x62, 0x6f,
+ 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGBossChallengeUpdateNotify_proto_rawDescOnce sync.Once
+ file_GCGBossChallengeUpdateNotify_proto_rawDescData = file_GCGBossChallengeUpdateNotify_proto_rawDesc
+)
+
+func file_GCGBossChallengeUpdateNotify_proto_rawDescGZIP() []byte {
+ file_GCGBossChallengeUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_GCGBossChallengeUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGBossChallengeUpdateNotify_proto_rawDescData)
+ })
+ return file_GCGBossChallengeUpdateNotify_proto_rawDescData
+}
+
+var file_GCGBossChallengeUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGBossChallengeUpdateNotify_proto_goTypes = []interface{}{
+ (*GCGBossChallengeUpdateNotify)(nil), // 0: proto.GCGBossChallengeUpdateNotify
+ (*GCGBossChallengeData)(nil), // 1: proto.GCGBossChallengeData
+}
+var file_GCGBossChallengeUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGBossChallengeUpdateNotify.boss_challenge:type_name -> proto.GCGBossChallengeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGBossChallengeUpdateNotify_proto_init() }
+func file_GCGBossChallengeUpdateNotify_proto_init() {
+ if File_GCGBossChallengeUpdateNotify_proto != nil {
+ return
+ }
+ file_GCGBossChallengeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGBossChallengeUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGBossChallengeUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGBossChallengeUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGBossChallengeUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_GCGBossChallengeUpdateNotify_proto_depIdxs,
+ MessageInfos: file_GCGBossChallengeUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_GCGBossChallengeUpdateNotify_proto = out.File
+ file_GCGBossChallengeUpdateNotify_proto_rawDesc = nil
+ file_GCGBossChallengeUpdateNotify_proto_goTypes = nil
+ file_GCGBossChallengeUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGCard.pb.go b/protocol/proto/GCGCard.pb.go
new file mode 100644
index 00000000..d4e69031
--- /dev/null
+++ b/protocol/proto/GCGCard.pb.go
@@ -0,0 +1,220 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGCard.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGCard struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint32 `protobuf:"varint,15,opt,name=guid,proto3" json:"guid,omitempty"`
+ TokenList []*GCGToken `protobuf:"bytes,2,rep,name=token_list,json=tokenList,proto3" json:"token_list,omitempty"`
+ IsShow bool `protobuf:"varint,14,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"`
+ ControllerId uint32 `protobuf:"varint,7,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ Id uint32 `protobuf:"varint,6,opt,name=id,proto3" json:"id,omitempty"`
+ TagList []uint32 `protobuf:"varint,3,rep,packed,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
+ FaceType uint32 `protobuf:"varint,5,opt,name=face_type,json=faceType,proto3" json:"face_type,omitempty"`
+}
+
+func (x *GCGCard) Reset() {
+ *x = GCGCard{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGCard_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGCard) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGCard) ProtoMessage() {}
+
+func (x *GCGCard) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGCard_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGCard.ProtoReflect.Descriptor instead.
+func (*GCGCard) Descriptor() ([]byte, []int) {
+ return file_GCGCard_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGCard) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *GCGCard) GetTokenList() []*GCGToken {
+ if x != nil {
+ return x.TokenList
+ }
+ return nil
+}
+
+func (x *GCGCard) GetIsShow() bool {
+ if x != nil {
+ return x.IsShow
+ }
+ return false
+}
+
+func (x *GCGCard) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGCard) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *GCGCard) GetTagList() []uint32 {
+ if x != nil {
+ return x.TagList
+ }
+ return nil
+}
+
+func (x *GCGCard) GetFaceType() uint32 {
+ if x != nil {
+ return x.FaceType
+ }
+ return 0
+}
+
+var File_GCGCard_proto protoreflect.FileDescriptor
+
+var file_GCGCard_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x47, 0x43, 0x47, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x47, 0x43, 0x47, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x01, 0x0a, 0x07, 0x47, 0x43, 0x47, 0x43, 0x61,
+ 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x09, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f,
+ 0x77, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12,
+ 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGCard_proto_rawDescOnce sync.Once
+ file_GCGCard_proto_rawDescData = file_GCGCard_proto_rawDesc
+)
+
+func file_GCGCard_proto_rawDescGZIP() []byte {
+ file_GCGCard_proto_rawDescOnce.Do(func() {
+ file_GCGCard_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGCard_proto_rawDescData)
+ })
+ return file_GCGCard_proto_rawDescData
+}
+
+var file_GCGCard_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGCard_proto_goTypes = []interface{}{
+ (*GCGCard)(nil), // 0: proto.GCGCard
+ (*GCGToken)(nil), // 1: proto.GCGToken
+}
+var file_GCGCard_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGCard.token_list:type_name -> proto.GCGToken
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGCard_proto_init() }
+func file_GCGCard_proto_init() {
+ if File_GCGCard_proto != nil {
+ return
+ }
+ file_GCGToken_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGCard_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGCard); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGCard_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGCard_proto_goTypes,
+ DependencyIndexes: file_GCGCard_proto_depIdxs,
+ MessageInfos: file_GCGCard_proto_msgTypes,
+ }.Build()
+ File_GCGCard_proto = out.File
+ file_GCGCard_proto_rawDesc = nil
+ file_GCGCard_proto_goTypes = nil
+ file_GCGCard_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGChallengeData.pb.go b/protocol/proto/GCGChallengeData.pb.go
new file mode 100644
index 00000000..58acc907
--- /dev/null
+++ b/protocol/proto/GCGChallengeData.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGChallengeData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGChallengeData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeId uint32 `protobuf:"varint,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ ChallengeType uint32 `protobuf:"varint,2,opt,name=challenge_type,json=challengeType,proto3" json:"challenge_type,omitempty"`
+ ParamList []uint32 `protobuf:"varint,3,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ Progress uint32 `protobuf:"varint,4,opt,name=progress,proto3" json:"progress,omitempty"`
+}
+
+func (x *GCGChallengeData) Reset() {
+ *x = GCGChallengeData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGChallengeData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGChallengeData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGChallengeData) ProtoMessage() {}
+
+func (x *GCGChallengeData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGChallengeData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGChallengeData.ProtoReflect.Descriptor instead.
+func (*GCGChallengeData) Descriptor() ([]byte, []int) {
+ return file_GCGChallengeData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGChallengeData) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *GCGChallengeData) GetChallengeType() uint32 {
+ if x != nil {
+ return x.ChallengeType
+ }
+ return 0
+}
+
+func (x *GCGChallengeData) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *GCGChallengeData) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+var File_GCGChallengeData_proto protoreflect.FileDescriptor
+
+var file_GCGChallengeData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x97, 0x01, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGChallengeData_proto_rawDescOnce sync.Once
+ file_GCGChallengeData_proto_rawDescData = file_GCGChallengeData_proto_rawDesc
+)
+
+func file_GCGChallengeData_proto_rawDescGZIP() []byte {
+ file_GCGChallengeData_proto_rawDescOnce.Do(func() {
+ file_GCGChallengeData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGChallengeData_proto_rawDescData)
+ })
+ return file_GCGChallengeData_proto_rawDescData
+}
+
+var file_GCGChallengeData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGChallengeData_proto_goTypes = []interface{}{
+ (*GCGChallengeData)(nil), // 0: proto.GCGChallengeData
+}
+var file_GCGChallengeData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGChallengeData_proto_init() }
+func file_GCGChallengeData_proto_init() {
+ if File_GCGChallengeData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGChallengeData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGChallengeData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGChallengeData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGChallengeData_proto_goTypes,
+ DependencyIndexes: file_GCGChallengeData_proto_depIdxs,
+ MessageInfos: file_GCGChallengeData_proto_msgTypes,
+ }.Build()
+ File_GCGChallengeData_proto = out.File
+ file_GCGChallengeData_proto_rawDesc = nil
+ file_GCGChallengeData_proto_goTypes = nil
+ file_GCGChallengeData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGChallengeUpdateNotify.pb.go b/protocol/proto/GCGChallengeUpdateNotify.pb.go
new file mode 100644
index 00000000..7c680a14
--- /dev/null
+++ b/protocol/proto/GCGChallengeUpdateNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGChallengeUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7268
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGChallengeUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerSeq uint32 `protobuf:"varint,12,opt,name=server_seq,json=serverSeq,proto3" json:"server_seq,omitempty"`
+ Challenge *GCGDuelChallenge `protobuf:"bytes,13,opt,name=challenge,proto3" json:"challenge,omitempty"`
+}
+
+func (x *GCGChallengeUpdateNotify) Reset() {
+ *x = GCGChallengeUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGChallengeUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGChallengeUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGChallengeUpdateNotify) ProtoMessage() {}
+
+func (x *GCGChallengeUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGChallengeUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGChallengeUpdateNotify.ProtoReflect.Descriptor instead.
+func (*GCGChallengeUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_GCGChallengeUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGChallengeUpdateNotify) GetServerSeq() uint32 {
+ if x != nil {
+ return x.ServerSeq
+ }
+ return 0
+}
+
+func (x *GCGChallengeUpdateNotify) GetChallenge() *GCGDuelChallenge {
+ if x != nil {
+ return x.Challenge
+ }
+ return nil
+}
+
+var File_GCGChallengeUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_GCGChallengeUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x43, 0x47, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x70, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71, 0x12, 0x35, 0x0a, 0x09, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGChallengeUpdateNotify_proto_rawDescOnce sync.Once
+ file_GCGChallengeUpdateNotify_proto_rawDescData = file_GCGChallengeUpdateNotify_proto_rawDesc
+)
+
+func file_GCGChallengeUpdateNotify_proto_rawDescGZIP() []byte {
+ file_GCGChallengeUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_GCGChallengeUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGChallengeUpdateNotify_proto_rawDescData)
+ })
+ return file_GCGChallengeUpdateNotify_proto_rawDescData
+}
+
+var file_GCGChallengeUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGChallengeUpdateNotify_proto_goTypes = []interface{}{
+ (*GCGChallengeUpdateNotify)(nil), // 0: proto.GCGChallengeUpdateNotify
+ (*GCGDuelChallenge)(nil), // 1: proto.GCGDuelChallenge
+}
+var file_GCGChallengeUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGChallengeUpdateNotify.challenge:type_name -> proto.GCGDuelChallenge
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGChallengeUpdateNotify_proto_init() }
+func file_GCGChallengeUpdateNotify_proto_init() {
+ if File_GCGChallengeUpdateNotify_proto != nil {
+ return
+ }
+ file_GCGDuelChallenge_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGChallengeUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGChallengeUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGChallengeUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGChallengeUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_GCGChallengeUpdateNotify_proto_depIdxs,
+ MessageInfos: file_GCGChallengeUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_GCGChallengeUpdateNotify_proto = out.File
+ file_GCGChallengeUpdateNotify_proto_rawDesc = nil
+ file_GCGChallengeUpdateNotify_proto_goTypes = nil
+ file_GCGChallengeUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGClientPerformType.pb.go b/protocol/proto/GCGClientPerformType.pb.go
new file mode 100644
index 00000000..70f5ba9b
--- /dev/null
+++ b/protocol/proto/GCGClientPerformType.pb.go
@@ -0,0 +1,147 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGClientPerformType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGClientPerformType int32
+
+const (
+ GCGClientPerformType_GCG_CLIENT_PERFORM_TYPE_INVALID GCGClientPerformType = 0
+ GCGClientPerformType_GCG_CLIENT_PERFORM_TYPE_CARD_EXCHANGE GCGClientPerformType = 1
+)
+
+// Enum value maps for GCGClientPerformType.
+var (
+ GCGClientPerformType_name = map[int32]string{
+ 0: "GCG_CLIENT_PERFORM_TYPE_INVALID",
+ 1: "GCG_CLIENT_PERFORM_TYPE_CARD_EXCHANGE",
+ }
+ GCGClientPerformType_value = map[string]int32{
+ "GCG_CLIENT_PERFORM_TYPE_INVALID": 0,
+ "GCG_CLIENT_PERFORM_TYPE_CARD_EXCHANGE": 1,
+ }
+)
+
+func (x GCGClientPerformType) Enum() *GCGClientPerformType {
+ p := new(GCGClientPerformType)
+ *p = x
+ return p
+}
+
+func (x GCGClientPerformType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGClientPerformType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGClientPerformType_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGClientPerformType) Type() protoreflect.EnumType {
+ return &file_GCGClientPerformType_proto_enumTypes[0]
+}
+
+func (x GCGClientPerformType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGClientPerformType.Descriptor instead.
+func (GCGClientPerformType) EnumDescriptor() ([]byte, []int) {
+ return file_GCGClientPerformType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGClientPerformType_proto protoreflect.FileDescriptor
+
+var file_GCGClientPerformType_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x6f,
+ 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0x66, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x47,
+ 0x43, 0x47, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x45, 0x52, 0x46, 0x4f, 0x52,
+ 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00,
+ 0x12, 0x29, 0x0a, 0x25, 0x47, 0x43, 0x47, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x50,
+ 0x45, 0x52, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44,
+ 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGClientPerformType_proto_rawDescOnce sync.Once
+ file_GCGClientPerformType_proto_rawDescData = file_GCGClientPerformType_proto_rawDesc
+)
+
+func file_GCGClientPerformType_proto_rawDescGZIP() []byte {
+ file_GCGClientPerformType_proto_rawDescOnce.Do(func() {
+ file_GCGClientPerformType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGClientPerformType_proto_rawDescData)
+ })
+ return file_GCGClientPerformType_proto_rawDescData
+}
+
+var file_GCGClientPerformType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGClientPerformType_proto_goTypes = []interface{}{
+ (GCGClientPerformType)(0), // 0: proto.GCGClientPerformType
+}
+var file_GCGClientPerformType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGClientPerformType_proto_init() }
+func file_GCGClientPerformType_proto_init() {
+ if File_GCGClientPerformType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGClientPerformType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGClientPerformType_proto_goTypes,
+ DependencyIndexes: file_GCGClientPerformType_proto_depIdxs,
+ EnumInfos: file_GCGClientPerformType_proto_enumTypes,
+ }.Build()
+ File_GCGClientPerformType_proto = out.File
+ file_GCGClientPerformType_proto_rawDesc = nil
+ file_GCGClientPerformType_proto_goTypes = nil
+ file_GCGClientPerformType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGClientSettleReq.pb.go b/protocol/proto/GCGClientSettleReq.pb.go
new file mode 100644
index 00000000..000f4a97
--- /dev/null
+++ b/protocol/proto/GCGClientSettleReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGClientSettleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7506
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGClientSettleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GCGClientSettleReq) Reset() {
+ *x = GCGClientSettleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGClientSettleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGClientSettleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGClientSettleReq) ProtoMessage() {}
+
+func (x *GCGClientSettleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGClientSettleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGClientSettleReq.ProtoReflect.Descriptor instead.
+func (*GCGClientSettleReq) Descriptor() ([]byte, []int) {
+ return file_GCGClientSettleReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGClientSettleReq_proto protoreflect.FileDescriptor
+
+var file_GCGClientSettleReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGClientSettleReq_proto_rawDescOnce sync.Once
+ file_GCGClientSettleReq_proto_rawDescData = file_GCGClientSettleReq_proto_rawDesc
+)
+
+func file_GCGClientSettleReq_proto_rawDescGZIP() []byte {
+ file_GCGClientSettleReq_proto_rawDescOnce.Do(func() {
+ file_GCGClientSettleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGClientSettleReq_proto_rawDescData)
+ })
+ return file_GCGClientSettleReq_proto_rawDescData
+}
+
+var file_GCGClientSettleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGClientSettleReq_proto_goTypes = []interface{}{
+ (*GCGClientSettleReq)(nil), // 0: proto.GCGClientSettleReq
+}
+var file_GCGClientSettleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGClientSettleReq_proto_init() }
+func file_GCGClientSettleReq_proto_init() {
+ if File_GCGClientSettleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGClientSettleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGClientSettleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGClientSettleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGClientSettleReq_proto_goTypes,
+ DependencyIndexes: file_GCGClientSettleReq_proto_depIdxs,
+ MessageInfos: file_GCGClientSettleReq_proto_msgTypes,
+ }.Build()
+ File_GCGClientSettleReq_proto = out.File
+ file_GCGClientSettleReq_proto_rawDesc = nil
+ file_GCGClientSettleReq_proto_goTypes = nil
+ file_GCGClientSettleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGClientSettleRsp.pb.go b/protocol/proto/GCGClientSettleRsp.pb.go
new file mode 100644
index 00000000..867537b9
--- /dev/null
+++ b/protocol/proto/GCGClientSettleRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGClientSettleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7105
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGClientSettleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CloseTime uint32 `protobuf:"varint,4,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGClientSettleRsp) Reset() {
+ *x = GCGClientSettleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGClientSettleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGClientSettleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGClientSettleRsp) ProtoMessage() {}
+
+func (x *GCGClientSettleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGClientSettleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGClientSettleRsp.ProtoReflect.Descriptor instead.
+func (*GCGClientSettleRsp) Descriptor() ([]byte, []int) {
+ return file_GCGClientSettleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGClientSettleRsp) GetCloseTime() uint32 {
+ if x != nil {
+ return x.CloseTime
+ }
+ return 0
+}
+
+func (x *GCGClientSettleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGClientSettleRsp_proto protoreflect.FileDescriptor
+
+var file_GCGClientSettleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x4d, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGClientSettleRsp_proto_rawDescOnce sync.Once
+ file_GCGClientSettleRsp_proto_rawDescData = file_GCGClientSettleRsp_proto_rawDesc
+)
+
+func file_GCGClientSettleRsp_proto_rawDescGZIP() []byte {
+ file_GCGClientSettleRsp_proto_rawDescOnce.Do(func() {
+ file_GCGClientSettleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGClientSettleRsp_proto_rawDescData)
+ })
+ return file_GCGClientSettleRsp_proto_rawDescData
+}
+
+var file_GCGClientSettleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGClientSettleRsp_proto_goTypes = []interface{}{
+ (*GCGClientSettleRsp)(nil), // 0: proto.GCGClientSettleRsp
+}
+var file_GCGClientSettleRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGClientSettleRsp_proto_init() }
+func file_GCGClientSettleRsp_proto_init() {
+ if File_GCGClientSettleRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGClientSettleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGClientSettleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGClientSettleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGClientSettleRsp_proto_goTypes,
+ DependencyIndexes: file_GCGClientSettleRsp_proto_depIdxs,
+ MessageInfos: file_GCGClientSettleRsp_proto_msgTypes,
+ }.Build()
+ File_GCGClientSettleRsp_proto = out.File
+ file_GCGClientSettleRsp_proto_rawDesc = nil
+ file_GCGClientSettleRsp_proto_goTypes = nil
+ file_GCGClientSettleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGControllerShowInfo.pb.go b/protocol/proto/GCGControllerShowInfo.pb.go
new file mode 100644
index 00000000..d774d59a
--- /dev/null
+++ b/protocol/proto/GCGControllerShowInfo.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGControllerShowInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGControllerShowInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProfilePicture *ProfilePicture `protobuf:"bytes,11,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ NickName string `protobuf:"bytes,14,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
+ ControllerId uint32 `protobuf:"varint,9,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+}
+
+func (x *GCGControllerShowInfo) Reset() {
+ *x = GCGControllerShowInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGControllerShowInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGControllerShowInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGControllerShowInfo) ProtoMessage() {}
+
+func (x *GCGControllerShowInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGControllerShowInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGControllerShowInfo.ProtoReflect.Descriptor instead.
+func (*GCGControllerShowInfo) Descriptor() ([]byte, []int) {
+ return file_GCGControllerShowInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGControllerShowInfo) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *GCGControllerShowInfo) GetNickName() string {
+ if x != nil {
+ return x.NickName
+ }
+ return ""
+}
+
+func (x *GCGControllerShowInfo) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+var File_GCGControllerShowInfo_proto protoreflect.FileDescriptor
+
+var file_GCGControllerShowInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53,
+ 0x68, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x01, 0x0a, 0x15, 0x47,
+ 0x43, 0x47, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
+ 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGControllerShowInfo_proto_rawDescOnce sync.Once
+ file_GCGControllerShowInfo_proto_rawDescData = file_GCGControllerShowInfo_proto_rawDesc
+)
+
+func file_GCGControllerShowInfo_proto_rawDescGZIP() []byte {
+ file_GCGControllerShowInfo_proto_rawDescOnce.Do(func() {
+ file_GCGControllerShowInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGControllerShowInfo_proto_rawDescData)
+ })
+ return file_GCGControllerShowInfo_proto_rawDescData
+}
+
+var file_GCGControllerShowInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGControllerShowInfo_proto_goTypes = []interface{}{
+ (*GCGControllerShowInfo)(nil), // 0: proto.GCGControllerShowInfo
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_GCGControllerShowInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGControllerShowInfo.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGControllerShowInfo_proto_init() }
+func file_GCGControllerShowInfo_proto_init() {
+ if File_GCGControllerShowInfo_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGControllerShowInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGControllerShowInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGControllerShowInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGControllerShowInfo_proto_goTypes,
+ DependencyIndexes: file_GCGControllerShowInfo_proto_depIdxs,
+ MessageInfos: file_GCGControllerShowInfo_proto_msgTypes,
+ }.Build()
+ File_GCGControllerShowInfo_proto = out.File
+ file_GCGControllerShowInfo_proto_rawDesc = nil
+ file_GCGControllerShowInfo_proto_goTypes = nil
+ file_GCGControllerShowInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGCostReviseInfo.pb.go b/protocol/proto/GCGCostReviseInfo.pb.go
new file mode 100644
index 00000000..2e522dc6
--- /dev/null
+++ b/protocol/proto/GCGCostReviseInfo.pb.go
@@ -0,0 +1,224 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGCostReviseInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGCostReviseInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCanAttack bool `protobuf:"varint,4,opt,name=is_can_attack,json=isCanAttack,proto3" json:"is_can_attack,omitempty"`
+ CanUseHandCardIdList []uint32 `protobuf:"varint,11,rep,packed,name=can_use_hand_card_id_list,json=canUseHandCardIdList,proto3" json:"can_use_hand_card_id_list,omitempty"`
+ PlayCardCostList []*GCGPlayCardCostInfo `protobuf:"bytes,5,rep,name=play_card_cost_list,json=playCardCostList,proto3" json:"play_card_cost_list,omitempty"`
+ SelectOnStageCostList []*GCGSelectOnStageCostInfo `protobuf:"bytes,10,rep,name=select_on_stage_cost_list,json=selectOnStageCostList,proto3" json:"select_on_stage_cost_list,omitempty"`
+ AttackCostList []*GCGAttackCostInfo `protobuf:"bytes,2,rep,name=attack_cost_list,json=attackCostList,proto3" json:"attack_cost_list,omitempty"`
+}
+
+func (x *GCGCostReviseInfo) Reset() {
+ *x = GCGCostReviseInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGCostReviseInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGCostReviseInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGCostReviseInfo) ProtoMessage() {}
+
+func (x *GCGCostReviseInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGCostReviseInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGCostReviseInfo.ProtoReflect.Descriptor instead.
+func (*GCGCostReviseInfo) Descriptor() ([]byte, []int) {
+ return file_GCGCostReviseInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGCostReviseInfo) GetIsCanAttack() bool {
+ if x != nil {
+ return x.IsCanAttack
+ }
+ return false
+}
+
+func (x *GCGCostReviseInfo) GetCanUseHandCardIdList() []uint32 {
+ if x != nil {
+ return x.CanUseHandCardIdList
+ }
+ return nil
+}
+
+func (x *GCGCostReviseInfo) GetPlayCardCostList() []*GCGPlayCardCostInfo {
+ if x != nil {
+ return x.PlayCardCostList
+ }
+ return nil
+}
+
+func (x *GCGCostReviseInfo) GetSelectOnStageCostList() []*GCGSelectOnStageCostInfo {
+ if x != nil {
+ return x.SelectOnStageCostList
+ }
+ return nil
+}
+
+func (x *GCGCostReviseInfo) GetAttackCostList() []*GCGAttackCostInfo {
+ if x != nil {
+ return x.AttackCostList
+ }
+ return nil
+}
+
+var File_GCGCostReviseInfo_proto protoreflect.FileDescriptor
+
+var file_GCGCostReviseInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x43, 0x47, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x17, 0x47, 0x43, 0x47, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x73, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x47, 0x43, 0x47, 0x50, 0x6c,
+ 0x61, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x47, 0x43, 0x47, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f,
+ 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x02, 0x0a, 0x11, 0x47, 0x43, 0x47, 0x43, 0x6f, 0x73, 0x74,
+ 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73,
+ 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x37,
+ 0x0a, 0x19, 0x63, 0x61, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x14, 0x63, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72,
+ 0x64, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x13, 0x70, 0x6c, 0x61, 0x79, 0x5f,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x50, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x59, 0x0a, 0x19, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x5f,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x43, 0x6f,
+ 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a,
+ 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x43, 0x47, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x73, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGCostReviseInfo_proto_rawDescOnce sync.Once
+ file_GCGCostReviseInfo_proto_rawDescData = file_GCGCostReviseInfo_proto_rawDesc
+)
+
+func file_GCGCostReviseInfo_proto_rawDescGZIP() []byte {
+ file_GCGCostReviseInfo_proto_rawDescOnce.Do(func() {
+ file_GCGCostReviseInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGCostReviseInfo_proto_rawDescData)
+ })
+ return file_GCGCostReviseInfo_proto_rawDescData
+}
+
+var file_GCGCostReviseInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGCostReviseInfo_proto_goTypes = []interface{}{
+ (*GCGCostReviseInfo)(nil), // 0: proto.GCGCostReviseInfo
+ (*GCGPlayCardCostInfo)(nil), // 1: proto.GCGPlayCardCostInfo
+ (*GCGSelectOnStageCostInfo)(nil), // 2: proto.GCGSelectOnStageCostInfo
+ (*GCGAttackCostInfo)(nil), // 3: proto.GCGAttackCostInfo
+}
+var file_GCGCostReviseInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGCostReviseInfo.play_card_cost_list:type_name -> proto.GCGPlayCardCostInfo
+ 2, // 1: proto.GCGCostReviseInfo.select_on_stage_cost_list:type_name -> proto.GCGSelectOnStageCostInfo
+ 3, // 2: proto.GCGCostReviseInfo.attack_cost_list:type_name -> proto.GCGAttackCostInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GCGCostReviseInfo_proto_init() }
+func file_GCGCostReviseInfo_proto_init() {
+ if File_GCGCostReviseInfo_proto != nil {
+ return
+ }
+ file_GCGAttackCostInfo_proto_init()
+ file_GCGPlayCardCostInfo_proto_init()
+ file_GCGSelectOnStageCostInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGCostReviseInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGCostReviseInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGCostReviseInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGCostReviseInfo_proto_goTypes,
+ DependencyIndexes: file_GCGCostReviseInfo_proto_depIdxs,
+ MessageInfos: file_GCGCostReviseInfo_proto_msgTypes,
+ }.Build()
+ File_GCGCostReviseInfo_proto = out.File
+ file_GCGCostReviseInfo_proto_rawDesc = nil
+ file_GCGCostReviseInfo_proto_goTypes = nil
+ file_GCGCostReviseInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSCardBackUnlockNotify.pb.go b/protocol/proto/GCGDSCardBackUnlockNotify.pb.go
new file mode 100644
index 00000000..36655e67
--- /dev/null
+++ b/protocol/proto/GCGDSCardBackUnlockNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSCardBackUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7265
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSCardBackUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardBackId uint32 `protobuf:"varint,6,opt,name=card_back_id,json=cardBackId,proto3" json:"card_back_id,omitempty"`
+}
+
+func (x *GCGDSCardBackUnlockNotify) Reset() {
+ *x = GCGDSCardBackUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSCardBackUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSCardBackUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSCardBackUnlockNotify) ProtoMessage() {}
+
+func (x *GCGDSCardBackUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSCardBackUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSCardBackUnlockNotify.ProtoReflect.Descriptor instead.
+func (*GCGDSCardBackUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_GCGDSCardBackUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSCardBackUnlockNotify) GetCardBackId() uint32 {
+ if x != nil {
+ return x.CardBackId
+ }
+ return 0
+}
+
+var File_GCGDSCardBackUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_GCGDSCardBackUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x55,
+ 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x19, 0x47, 0x43, 0x47, 0x44,
+ 0x53, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x62, 0x61,
+ 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x72,
+ 0x64, 0x42, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSCardBackUnlockNotify_proto_rawDescOnce sync.Once
+ file_GCGDSCardBackUnlockNotify_proto_rawDescData = file_GCGDSCardBackUnlockNotify_proto_rawDesc
+)
+
+func file_GCGDSCardBackUnlockNotify_proto_rawDescGZIP() []byte {
+ file_GCGDSCardBackUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_GCGDSCardBackUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSCardBackUnlockNotify_proto_rawDescData)
+ })
+ return file_GCGDSCardBackUnlockNotify_proto_rawDescData
+}
+
+var file_GCGDSCardBackUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSCardBackUnlockNotify_proto_goTypes = []interface{}{
+ (*GCGDSCardBackUnlockNotify)(nil), // 0: proto.GCGDSCardBackUnlockNotify
+}
+var file_GCGDSCardBackUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSCardBackUnlockNotify_proto_init() }
+func file_GCGDSCardBackUnlockNotify_proto_init() {
+ if File_GCGDSCardBackUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSCardBackUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSCardBackUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSCardBackUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSCardBackUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_GCGDSCardBackUnlockNotify_proto_depIdxs,
+ MessageInfos: file_GCGDSCardBackUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_GCGDSCardBackUnlockNotify_proto = out.File
+ file_GCGDSCardBackUnlockNotify_proto_rawDesc = nil
+ file_GCGDSCardBackUnlockNotify_proto_goTypes = nil
+ file_GCGDSCardBackUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSCardData.pb.go b/protocol/proto/GCGDSCardData.pb.go
new file mode 100644
index 00000000..931c4331
--- /dev/null
+++ b/protocol/proto/GCGDSCardData.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSCardData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGDSCardData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,14,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ UnlockFaceTypeList []uint32 `protobuf:"varint,9,rep,packed,name=unlock_face_type_list,json=unlockFaceTypeList,proto3" json:"unlock_face_type_list,omitempty"`
+ Num uint32 `protobuf:"varint,12,opt,name=num,proto3" json:"num,omitempty"`
+ Proficiency uint32 `protobuf:"varint,8,opt,name=proficiency,proto3" json:"proficiency,omitempty"`
+ FaceType uint32 `protobuf:"varint,6,opt,name=face_type,json=faceType,proto3" json:"face_type,omitempty"`
+}
+
+func (x *GCGDSCardData) Reset() {
+ *x = GCGDSCardData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSCardData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSCardData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSCardData) ProtoMessage() {}
+
+func (x *GCGDSCardData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSCardData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSCardData.ProtoReflect.Descriptor instead.
+func (*GCGDSCardData) Descriptor() ([]byte, []int) {
+ return file_GCGDSCardData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSCardData) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *GCGDSCardData) GetUnlockFaceTypeList() []uint32 {
+ if x != nil {
+ return x.UnlockFaceTypeList
+ }
+ return nil
+}
+
+func (x *GCGDSCardData) GetNum() uint32 {
+ if x != nil {
+ return x.Num
+ }
+ return 0
+}
+
+func (x *GCGDSCardData) GetProficiency() uint32 {
+ if x != nil {
+ return x.Proficiency
+ }
+ return 0
+}
+
+func (x *GCGDSCardData) GetFaceType() uint32 {
+ if x != nil {
+ return x.FaceType
+ }
+ return 0
+}
+
+var File_GCGDSCardData_proto protoreflect.FileDescriptor
+
+var file_GCGDSCardData_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a,
+ 0x0d, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x75, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x61,
+ 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75,
+ 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b,
+ 0x70, 0x72, 0x6f, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1b,
+ 0x0a, 0x09, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSCardData_proto_rawDescOnce sync.Once
+ file_GCGDSCardData_proto_rawDescData = file_GCGDSCardData_proto_rawDesc
+)
+
+func file_GCGDSCardData_proto_rawDescGZIP() []byte {
+ file_GCGDSCardData_proto_rawDescOnce.Do(func() {
+ file_GCGDSCardData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSCardData_proto_rawDescData)
+ })
+ return file_GCGDSCardData_proto_rawDescData
+}
+
+var file_GCGDSCardData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSCardData_proto_goTypes = []interface{}{
+ (*GCGDSCardData)(nil), // 0: proto.GCGDSCardData
+}
+var file_GCGDSCardData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSCardData_proto_init() }
+func file_GCGDSCardData_proto_init() {
+ if File_GCGDSCardData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSCardData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSCardData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSCardData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSCardData_proto_goTypes,
+ DependencyIndexes: file_GCGDSCardData_proto_depIdxs,
+ MessageInfos: file_GCGDSCardData_proto_msgTypes,
+ }.Build()
+ File_GCGDSCardData_proto = out.File
+ file_GCGDSCardData_proto_rawDesc = nil
+ file_GCGDSCardData_proto_goTypes = nil
+ file_GCGDSCardData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSCardFaceUnlockNotify.pb.go b/protocol/proto/GCGDSCardFaceUnlockNotify.pb.go
new file mode 100644
index 00000000..7e68153d
--- /dev/null
+++ b/protocol/proto/GCGDSCardFaceUnlockNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSCardFaceUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7049
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSCardFaceUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,13,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ FaceType uint32 `protobuf:"varint,1,opt,name=face_type,json=faceType,proto3" json:"face_type,omitempty"`
+}
+
+func (x *GCGDSCardFaceUnlockNotify) Reset() {
+ *x = GCGDSCardFaceUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSCardFaceUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSCardFaceUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSCardFaceUnlockNotify) ProtoMessage() {}
+
+func (x *GCGDSCardFaceUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSCardFaceUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSCardFaceUnlockNotify.ProtoReflect.Descriptor instead.
+func (*GCGDSCardFaceUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_GCGDSCardFaceUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSCardFaceUnlockNotify) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *GCGDSCardFaceUnlockNotify) GetFaceType() uint32 {
+ if x != nil {
+ return x.FaceType
+ }
+ return 0
+}
+
+var File_GCGDSCardFaceUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_GCGDSCardFaceUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x55,
+ 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x19, 0x47, 0x43, 0x47, 0x44,
+ 0x53, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSCardFaceUnlockNotify_proto_rawDescOnce sync.Once
+ file_GCGDSCardFaceUnlockNotify_proto_rawDescData = file_GCGDSCardFaceUnlockNotify_proto_rawDesc
+)
+
+func file_GCGDSCardFaceUnlockNotify_proto_rawDescGZIP() []byte {
+ file_GCGDSCardFaceUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_GCGDSCardFaceUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSCardFaceUnlockNotify_proto_rawDescData)
+ })
+ return file_GCGDSCardFaceUnlockNotify_proto_rawDescData
+}
+
+var file_GCGDSCardFaceUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSCardFaceUnlockNotify_proto_goTypes = []interface{}{
+ (*GCGDSCardFaceUnlockNotify)(nil), // 0: proto.GCGDSCardFaceUnlockNotify
+}
+var file_GCGDSCardFaceUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSCardFaceUnlockNotify_proto_init() }
+func file_GCGDSCardFaceUnlockNotify_proto_init() {
+ if File_GCGDSCardFaceUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSCardFaceUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSCardFaceUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSCardFaceUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSCardFaceUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_GCGDSCardFaceUnlockNotify_proto_depIdxs,
+ MessageInfos: file_GCGDSCardFaceUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_GCGDSCardFaceUnlockNotify_proto = out.File
+ file_GCGDSCardFaceUnlockNotify_proto_rawDesc = nil
+ file_GCGDSCardFaceUnlockNotify_proto_goTypes = nil
+ file_GCGDSCardFaceUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSCardNumChangeNotify.pb.go b/protocol/proto/GCGDSCardNumChangeNotify.pb.go
new file mode 100644
index 00000000..4cb42c2c
--- /dev/null
+++ b/protocol/proto/GCGDSCardNumChangeNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSCardNumChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7358
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSCardNumChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,4,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ Num uint32 `protobuf:"varint,10,opt,name=num,proto3" json:"num,omitempty"`
+}
+
+func (x *GCGDSCardNumChangeNotify) Reset() {
+ *x = GCGDSCardNumChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSCardNumChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSCardNumChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSCardNumChangeNotify) ProtoMessage() {}
+
+func (x *GCGDSCardNumChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSCardNumChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSCardNumChangeNotify.ProtoReflect.Descriptor instead.
+func (*GCGDSCardNumChangeNotify) Descriptor() ([]byte, []int) {
+ return file_GCGDSCardNumChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSCardNumChangeNotify) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *GCGDSCardNumChangeNotify) GetNum() uint32 {
+ if x != nil {
+ return x.Num
+ }
+ return 0
+}
+
+var File_GCGDSCardNumChangeNotify_proto protoreflect.FileDescriptor
+
+var file_GCGDSCardNumChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x44, 0x53,
+ 0x43, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03,
+ 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSCardNumChangeNotify_proto_rawDescOnce sync.Once
+ file_GCGDSCardNumChangeNotify_proto_rawDescData = file_GCGDSCardNumChangeNotify_proto_rawDesc
+)
+
+func file_GCGDSCardNumChangeNotify_proto_rawDescGZIP() []byte {
+ file_GCGDSCardNumChangeNotify_proto_rawDescOnce.Do(func() {
+ file_GCGDSCardNumChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSCardNumChangeNotify_proto_rawDescData)
+ })
+ return file_GCGDSCardNumChangeNotify_proto_rawDescData
+}
+
+var file_GCGDSCardNumChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSCardNumChangeNotify_proto_goTypes = []interface{}{
+ (*GCGDSCardNumChangeNotify)(nil), // 0: proto.GCGDSCardNumChangeNotify
+}
+var file_GCGDSCardNumChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSCardNumChangeNotify_proto_init() }
+func file_GCGDSCardNumChangeNotify_proto_init() {
+ if File_GCGDSCardNumChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSCardNumChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSCardNumChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSCardNumChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSCardNumChangeNotify_proto_goTypes,
+ DependencyIndexes: file_GCGDSCardNumChangeNotify_proto_depIdxs,
+ MessageInfos: file_GCGDSCardNumChangeNotify_proto_msgTypes,
+ }.Build()
+ File_GCGDSCardNumChangeNotify_proto = out.File
+ file_GCGDSCardNumChangeNotify_proto_rawDesc = nil
+ file_GCGDSCardNumChangeNotify_proto_goTypes = nil
+ file_GCGDSCardNumChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSCardProficiencyNotify.pb.go b/protocol/proto/GCGDSCardProficiencyNotify.pb.go
new file mode 100644
index 00000000..454755c8
--- /dev/null
+++ b/protocol/proto/GCGDSCardProficiencyNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSCardProficiencyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7680
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSCardProficiencyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Proficiency uint32 `protobuf:"varint,2,opt,name=proficiency,proto3" json:"proficiency,omitempty"`
+ CardId uint32 `protobuf:"varint,12,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *GCGDSCardProficiencyNotify) Reset() {
+ *x = GCGDSCardProficiencyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSCardProficiencyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSCardProficiencyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSCardProficiencyNotify) ProtoMessage() {}
+
+func (x *GCGDSCardProficiencyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSCardProficiencyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSCardProficiencyNotify.ProtoReflect.Descriptor instead.
+func (*GCGDSCardProficiencyNotify) Descriptor() ([]byte, []int) {
+ return file_GCGDSCardProficiencyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSCardProficiencyNotify) GetProficiency() uint32 {
+ if x != nil {
+ return x.Proficiency
+ }
+ return 0
+}
+
+func (x *GCGDSCardProficiencyNotify) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_GCGDSCardProficiencyNotify_proto protoreflect.FileDescriptor
+
+var file_GCGDSCardProficiencyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x1a, 0x47, 0x43, 0x47,
+ 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63,
+ 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69,
+ 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72,
+ 0x6f, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSCardProficiencyNotify_proto_rawDescOnce sync.Once
+ file_GCGDSCardProficiencyNotify_proto_rawDescData = file_GCGDSCardProficiencyNotify_proto_rawDesc
+)
+
+func file_GCGDSCardProficiencyNotify_proto_rawDescGZIP() []byte {
+ file_GCGDSCardProficiencyNotify_proto_rawDescOnce.Do(func() {
+ file_GCGDSCardProficiencyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSCardProficiencyNotify_proto_rawDescData)
+ })
+ return file_GCGDSCardProficiencyNotify_proto_rawDescData
+}
+
+var file_GCGDSCardProficiencyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSCardProficiencyNotify_proto_goTypes = []interface{}{
+ (*GCGDSCardProficiencyNotify)(nil), // 0: proto.GCGDSCardProficiencyNotify
+}
+var file_GCGDSCardProficiencyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSCardProficiencyNotify_proto_init() }
+func file_GCGDSCardProficiencyNotify_proto_init() {
+ if File_GCGDSCardProficiencyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSCardProficiencyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSCardProficiencyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSCardProficiencyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSCardProficiencyNotify_proto_goTypes,
+ DependencyIndexes: file_GCGDSCardProficiencyNotify_proto_depIdxs,
+ MessageInfos: file_GCGDSCardProficiencyNotify_proto_msgTypes,
+ }.Build()
+ File_GCGDSCardProficiencyNotify_proto = out.File
+ file_GCGDSCardProficiencyNotify_proto_rawDesc = nil
+ file_GCGDSCardProficiencyNotify_proto_goTypes = nil
+ file_GCGDSCardProficiencyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeCardBackReq.pb.go b/protocol/proto/GCGDSChangeCardBackReq.pb.go
new file mode 100644
index 00000000..97f79a5d
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCardBackReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeCardBackReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7292
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGDSChangeCardBackReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckId uint32 `protobuf:"varint,10,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+ CardBackId uint32 `protobuf:"varint,12,opt,name=card_back_id,json=cardBackId,proto3" json:"card_back_id,omitempty"`
+}
+
+func (x *GCGDSChangeCardBackReq) Reset() {
+ *x = GCGDSChangeCardBackReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeCardBackReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeCardBackReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeCardBackReq) ProtoMessage() {}
+
+func (x *GCGDSChangeCardBackReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeCardBackReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeCardBackReq.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeCardBackReq) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeCardBackReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeCardBackReq) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+func (x *GCGDSChangeCardBackReq) GetCardBackId() uint32 {
+ if x != nil {
+ return x.CardBackId
+ }
+ return 0
+}
+
+var File_GCGDSChangeCardBackReq_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeCardBackReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72,
+ 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeCardBackReq_proto_rawDescOnce sync.Once
+ file_GCGDSChangeCardBackReq_proto_rawDescData = file_GCGDSChangeCardBackReq_proto_rawDesc
+)
+
+func file_GCGDSChangeCardBackReq_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeCardBackReq_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeCardBackReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeCardBackReq_proto_rawDescData)
+ })
+ return file_GCGDSChangeCardBackReq_proto_rawDescData
+}
+
+var file_GCGDSChangeCardBackReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeCardBackReq_proto_goTypes = []interface{}{
+ (*GCGDSChangeCardBackReq)(nil), // 0: proto.GCGDSChangeCardBackReq
+}
+var file_GCGDSChangeCardBackReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeCardBackReq_proto_init() }
+func file_GCGDSChangeCardBackReq_proto_init() {
+ if File_GCGDSChangeCardBackReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeCardBackReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeCardBackReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeCardBackReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeCardBackReq_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeCardBackReq_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeCardBackReq_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeCardBackReq_proto = out.File
+ file_GCGDSChangeCardBackReq_proto_rawDesc = nil
+ file_GCGDSChangeCardBackReq_proto_goTypes = nil
+ file_GCGDSChangeCardBackReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeCardBackRsp.pb.go b/protocol/proto/GCGDSChangeCardBackRsp.pb.go
new file mode 100644
index 00000000..67e91940
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCardBackRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeCardBackRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7044
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSChangeCardBackRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CardBackId uint32 `protobuf:"varint,6,opt,name=card_back_id,json=cardBackId,proto3" json:"card_back_id,omitempty"`
+ DeckId uint32 `protobuf:"varint,5,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSChangeCardBackRsp) Reset() {
+ *x = GCGDSChangeCardBackRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeCardBackRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeCardBackRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeCardBackRsp) ProtoMessage() {}
+
+func (x *GCGDSChangeCardBackRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeCardBackRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeCardBackRsp.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeCardBackRsp) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeCardBackRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeCardBackRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGDSChangeCardBackRsp) GetCardBackId() uint32 {
+ if x != nil {
+ return x.CardBackId
+ }
+ return 0
+}
+
+func (x *GCGDSChangeCardBackRsp) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSChangeCardBackRsp_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeCardBackRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72,
+ 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x61, 0x72,
+ 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64,
+ 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65,
+ 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeCardBackRsp_proto_rawDescOnce sync.Once
+ file_GCGDSChangeCardBackRsp_proto_rawDescData = file_GCGDSChangeCardBackRsp_proto_rawDesc
+)
+
+func file_GCGDSChangeCardBackRsp_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeCardBackRsp_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeCardBackRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeCardBackRsp_proto_rawDescData)
+ })
+ return file_GCGDSChangeCardBackRsp_proto_rawDescData
+}
+
+var file_GCGDSChangeCardBackRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeCardBackRsp_proto_goTypes = []interface{}{
+ (*GCGDSChangeCardBackRsp)(nil), // 0: proto.GCGDSChangeCardBackRsp
+}
+var file_GCGDSChangeCardBackRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeCardBackRsp_proto_init() }
+func file_GCGDSChangeCardBackRsp_proto_init() {
+ if File_GCGDSChangeCardBackRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeCardBackRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeCardBackRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeCardBackRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeCardBackRsp_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeCardBackRsp_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeCardBackRsp_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeCardBackRsp_proto = out.File
+ file_GCGDSChangeCardBackRsp_proto_rawDesc = nil
+ file_GCGDSChangeCardBackRsp_proto_goTypes = nil
+ file_GCGDSChangeCardBackRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeCardFaceReq.pb.go b/protocol/proto/GCGDSChangeCardFaceReq.pb.go
new file mode 100644
index 00000000..cd518ec4
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCardFaceReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeCardFaceReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7169
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGDSChangeCardFaceReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FaceType uint32 `protobuf:"varint,6,opt,name=face_type,json=faceType,proto3" json:"face_type,omitempty"`
+ CardId uint32 `protobuf:"varint,3,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *GCGDSChangeCardFaceReq) Reset() {
+ *x = GCGDSChangeCardFaceReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeCardFaceReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeCardFaceReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeCardFaceReq) ProtoMessage() {}
+
+func (x *GCGDSChangeCardFaceReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeCardFaceReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeCardFaceReq.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeCardFaceReq) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeCardFaceReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeCardFaceReq) GetFaceType() uint32 {
+ if x != nil {
+ return x.FaceType
+ }
+ return 0
+}
+
+func (x *GCGDSChangeCardFaceReq) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_GCGDSChangeCardFaceReq_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeCardFaceReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72,
+ 0x64, 0x46, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63,
+ 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeCardFaceReq_proto_rawDescOnce sync.Once
+ file_GCGDSChangeCardFaceReq_proto_rawDescData = file_GCGDSChangeCardFaceReq_proto_rawDesc
+)
+
+func file_GCGDSChangeCardFaceReq_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeCardFaceReq_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeCardFaceReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeCardFaceReq_proto_rawDescData)
+ })
+ return file_GCGDSChangeCardFaceReq_proto_rawDescData
+}
+
+var file_GCGDSChangeCardFaceReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeCardFaceReq_proto_goTypes = []interface{}{
+ (*GCGDSChangeCardFaceReq)(nil), // 0: proto.GCGDSChangeCardFaceReq
+}
+var file_GCGDSChangeCardFaceReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeCardFaceReq_proto_init() }
+func file_GCGDSChangeCardFaceReq_proto_init() {
+ if File_GCGDSChangeCardFaceReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeCardFaceReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeCardFaceReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeCardFaceReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeCardFaceReq_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeCardFaceReq_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeCardFaceReq_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeCardFaceReq_proto = out.File
+ file_GCGDSChangeCardFaceReq_proto_rawDesc = nil
+ file_GCGDSChangeCardFaceReq_proto_goTypes = nil
+ file_GCGDSChangeCardFaceReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeCardFaceRsp.pb.go b/protocol/proto/GCGDSChangeCardFaceRsp.pb.go
new file mode 100644
index 00000000..7244ea6e
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCardFaceRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeCardFaceRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7331
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSChangeCardFaceRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FaceType uint32 `protobuf:"varint,8,opt,name=face_type,json=faceType,proto3" json:"face_type,omitempty"`
+ CardId uint32 `protobuf:"varint,4,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGDSChangeCardFaceRsp) Reset() {
+ *x = GCGDSChangeCardFaceRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeCardFaceRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeCardFaceRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeCardFaceRsp) ProtoMessage() {}
+
+func (x *GCGDSChangeCardFaceRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeCardFaceRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeCardFaceRsp.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeCardFaceRsp) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeCardFaceRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeCardFaceRsp) GetFaceType() uint32 {
+ if x != nil {
+ return x.FaceType
+ }
+ return 0
+}
+
+func (x *GCGDSChangeCardFaceRsp) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *GCGDSChangeCardFaceRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGDSChangeCardFaceRsp_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeCardFaceRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72,
+ 0x64, 0x46, 0x61, 0x63, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x52, 0x73, 0x70, 0x12,
+ 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x66, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63,
+ 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeCardFaceRsp_proto_rawDescOnce sync.Once
+ file_GCGDSChangeCardFaceRsp_proto_rawDescData = file_GCGDSChangeCardFaceRsp_proto_rawDesc
+)
+
+func file_GCGDSChangeCardFaceRsp_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeCardFaceRsp_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeCardFaceRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeCardFaceRsp_proto_rawDescData)
+ })
+ return file_GCGDSChangeCardFaceRsp_proto_rawDescData
+}
+
+var file_GCGDSChangeCardFaceRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeCardFaceRsp_proto_goTypes = []interface{}{
+ (*GCGDSChangeCardFaceRsp)(nil), // 0: proto.GCGDSChangeCardFaceRsp
+}
+var file_GCGDSChangeCardFaceRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeCardFaceRsp_proto_init() }
+func file_GCGDSChangeCardFaceRsp_proto_init() {
+ if File_GCGDSChangeCardFaceRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeCardFaceRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeCardFaceRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeCardFaceRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeCardFaceRsp_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeCardFaceRsp_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeCardFaceRsp_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeCardFaceRsp_proto = out.File
+ file_GCGDSChangeCardFaceRsp_proto_rawDesc = nil
+ file_GCGDSChangeCardFaceRsp_proto_goTypes = nil
+ file_GCGDSChangeCardFaceRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeCurDeckReq.pb.go b/protocol/proto/GCGDSChangeCurDeckReq.pb.go
new file mode 100644
index 00000000..e505ed8a
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCurDeckReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeCurDeckReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7131
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGDSChangeCurDeckReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckId uint32 `protobuf:"varint,3,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSChangeCurDeckReq) Reset() {
+ *x = GCGDSChangeCurDeckReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeCurDeckReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeCurDeckReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeCurDeckReq) ProtoMessage() {}
+
+func (x *GCGDSChangeCurDeckReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeCurDeckReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeCurDeckReq.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeCurDeckReq) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeCurDeckReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeCurDeckReq) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSChangeCurDeckReq_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeCurDeckReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x75, 0x72,
+ 0x44, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x43, 0x75, 0x72, 0x44, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a,
+ 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeCurDeckReq_proto_rawDescOnce sync.Once
+ file_GCGDSChangeCurDeckReq_proto_rawDescData = file_GCGDSChangeCurDeckReq_proto_rawDesc
+)
+
+func file_GCGDSChangeCurDeckReq_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeCurDeckReq_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeCurDeckReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeCurDeckReq_proto_rawDescData)
+ })
+ return file_GCGDSChangeCurDeckReq_proto_rawDescData
+}
+
+var file_GCGDSChangeCurDeckReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeCurDeckReq_proto_goTypes = []interface{}{
+ (*GCGDSChangeCurDeckReq)(nil), // 0: proto.GCGDSChangeCurDeckReq
+}
+var file_GCGDSChangeCurDeckReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeCurDeckReq_proto_init() }
+func file_GCGDSChangeCurDeckReq_proto_init() {
+ if File_GCGDSChangeCurDeckReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeCurDeckReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeCurDeckReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeCurDeckReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeCurDeckReq_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeCurDeckReq_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeCurDeckReq_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeCurDeckReq_proto = out.File
+ file_GCGDSChangeCurDeckReq_proto_rawDesc = nil
+ file_GCGDSChangeCurDeckReq_proto_goTypes = nil
+ file_GCGDSChangeCurDeckReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeCurDeckRsp.pb.go b/protocol/proto/GCGDSChangeCurDeckRsp.pb.go
new file mode 100644
index 00000000..da7109d4
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCurDeckRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeCurDeckRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7301
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSChangeCurDeckRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DeckId uint32 `protobuf:"varint,14,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSChangeCurDeckRsp) Reset() {
+ *x = GCGDSChangeCurDeckRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeCurDeckRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeCurDeckRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeCurDeckRsp) ProtoMessage() {}
+
+func (x *GCGDSChangeCurDeckRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeCurDeckRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeCurDeckRsp.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeCurDeckRsp) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeCurDeckRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeCurDeckRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGDSChangeCurDeckRsp) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSChangeCurDeckRsp_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeCurDeckRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x75, 0x72,
+ 0x44, 0x65, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x43, 0x75, 0x72, 0x44, 0x65, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeCurDeckRsp_proto_rawDescOnce sync.Once
+ file_GCGDSChangeCurDeckRsp_proto_rawDescData = file_GCGDSChangeCurDeckRsp_proto_rawDesc
+)
+
+func file_GCGDSChangeCurDeckRsp_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeCurDeckRsp_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeCurDeckRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeCurDeckRsp_proto_rawDescData)
+ })
+ return file_GCGDSChangeCurDeckRsp_proto_rawDescData
+}
+
+var file_GCGDSChangeCurDeckRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeCurDeckRsp_proto_goTypes = []interface{}{
+ (*GCGDSChangeCurDeckRsp)(nil), // 0: proto.GCGDSChangeCurDeckRsp
+}
+var file_GCGDSChangeCurDeckRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeCurDeckRsp_proto_init() }
+func file_GCGDSChangeCurDeckRsp_proto_init() {
+ if File_GCGDSChangeCurDeckRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeCurDeckRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeCurDeckRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeCurDeckRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeCurDeckRsp_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeCurDeckRsp_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeCurDeckRsp_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeCurDeckRsp_proto = out.File
+ file_GCGDSChangeCurDeckRsp_proto_rawDesc = nil
+ file_GCGDSChangeCurDeckRsp_proto_goTypes = nil
+ file_GCGDSChangeCurDeckRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeDeckNameReq.pb.go b/protocol/proto/GCGDSChangeDeckNameReq.pb.go
new file mode 100644
index 00000000..95375d78
--- /dev/null
+++ b/protocol/proto/GCGDSChangeDeckNameReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeDeckNameReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7432
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGDSChangeDeckNameReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckId uint32 `protobuf:"varint,13,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+ Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *GCGDSChangeDeckNameReq) Reset() {
+ *x = GCGDSChangeDeckNameReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeDeckNameReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeDeckNameReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeDeckNameReq) ProtoMessage() {}
+
+func (x *GCGDSChangeDeckNameReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeDeckNameReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeDeckNameReq.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeDeckNameReq) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeDeckNameReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeDeckNameReq) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+func (x *GCGDSChangeDeckNameReq) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+var File_GCGDSChangeDeckNameReq_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeDeckNameReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x63,
+ 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeDeckNameReq_proto_rawDescOnce sync.Once
+ file_GCGDSChangeDeckNameReq_proto_rawDescData = file_GCGDSChangeDeckNameReq_proto_rawDesc
+)
+
+func file_GCGDSChangeDeckNameReq_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeDeckNameReq_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeDeckNameReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeDeckNameReq_proto_rawDescData)
+ })
+ return file_GCGDSChangeDeckNameReq_proto_rawDescData
+}
+
+var file_GCGDSChangeDeckNameReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeDeckNameReq_proto_goTypes = []interface{}{
+ (*GCGDSChangeDeckNameReq)(nil), // 0: proto.GCGDSChangeDeckNameReq
+}
+var file_GCGDSChangeDeckNameReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeDeckNameReq_proto_init() }
+func file_GCGDSChangeDeckNameReq_proto_init() {
+ if File_GCGDSChangeDeckNameReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeDeckNameReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeDeckNameReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeDeckNameReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeDeckNameReq_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeDeckNameReq_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeDeckNameReq_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeDeckNameReq_proto = out.File
+ file_GCGDSChangeDeckNameReq_proto_rawDesc = nil
+ file_GCGDSChangeDeckNameReq_proto_goTypes = nil
+ file_GCGDSChangeDeckNameReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeDeckNameRsp.pb.go b/protocol/proto/GCGDSChangeDeckNameRsp.pb.go
new file mode 100644
index 00000000..30e8c782
--- /dev/null
+++ b/protocol/proto/GCGDSChangeDeckNameRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeDeckNameRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7916
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSChangeDeckNameRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckId uint32 `protobuf:"varint,13,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *GCGDSChangeDeckNameRsp) Reset() {
+ *x = GCGDSChangeDeckNameRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeDeckNameRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeDeckNameRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeDeckNameRsp) ProtoMessage() {}
+
+func (x *GCGDSChangeDeckNameRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeDeckNameRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeDeckNameRsp.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeDeckNameRsp) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeDeckNameRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeDeckNameRsp) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+func (x *GCGDSChangeDeckNameRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGDSChangeDeckNameRsp) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+var File_GCGDSChangeDeckNameRsp_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeDeckNameRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x63,
+ 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x73, 0x70, 0x12,
+ 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeDeckNameRsp_proto_rawDescOnce sync.Once
+ file_GCGDSChangeDeckNameRsp_proto_rawDescData = file_GCGDSChangeDeckNameRsp_proto_rawDesc
+)
+
+func file_GCGDSChangeDeckNameRsp_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeDeckNameRsp_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeDeckNameRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeDeckNameRsp_proto_rawDescData)
+ })
+ return file_GCGDSChangeDeckNameRsp_proto_rawDescData
+}
+
+var file_GCGDSChangeDeckNameRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeDeckNameRsp_proto_goTypes = []interface{}{
+ (*GCGDSChangeDeckNameRsp)(nil), // 0: proto.GCGDSChangeDeckNameRsp
+}
+var file_GCGDSChangeDeckNameRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeDeckNameRsp_proto_init() }
+func file_GCGDSChangeDeckNameRsp_proto_init() {
+ if File_GCGDSChangeDeckNameRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeDeckNameRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeDeckNameRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeDeckNameRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeDeckNameRsp_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeDeckNameRsp_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeDeckNameRsp_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeDeckNameRsp_proto = out.File
+ file_GCGDSChangeDeckNameRsp_proto_rawDesc = nil
+ file_GCGDSChangeDeckNameRsp_proto_goTypes = nil
+ file_GCGDSChangeDeckNameRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeFieldReq.pb.go b/protocol/proto/GCGDSChangeFieldReq.pb.go
new file mode 100644
index 00000000..76834ae6
--- /dev/null
+++ b/protocol/proto/GCGDSChangeFieldReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeFieldReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7541
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGDSChangeFieldReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FieldId uint32 `protobuf:"varint,6,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
+ DeckId uint32 `protobuf:"varint,11,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSChangeFieldReq) Reset() {
+ *x = GCGDSChangeFieldReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeFieldReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeFieldReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeFieldReq) ProtoMessage() {}
+
+func (x *GCGDSChangeFieldReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeFieldReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeFieldReq.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeFieldReq) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeFieldReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeFieldReq) GetFieldId() uint32 {
+ if x != nil {
+ return x.FieldId
+ }
+ return 0
+}
+
+func (x *GCGDSChangeFieldReq) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSChangeFieldReq_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeFieldReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x65,
+ 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x69, 0x65,
+ 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGDSChangeFieldReq_proto_rawDescOnce sync.Once
+ file_GCGDSChangeFieldReq_proto_rawDescData = file_GCGDSChangeFieldReq_proto_rawDesc
+)
+
+func file_GCGDSChangeFieldReq_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeFieldReq_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeFieldReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeFieldReq_proto_rawDescData)
+ })
+ return file_GCGDSChangeFieldReq_proto_rawDescData
+}
+
+var file_GCGDSChangeFieldReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeFieldReq_proto_goTypes = []interface{}{
+ (*GCGDSChangeFieldReq)(nil), // 0: proto.GCGDSChangeFieldReq
+}
+var file_GCGDSChangeFieldReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeFieldReq_proto_init() }
+func file_GCGDSChangeFieldReq_proto_init() {
+ if File_GCGDSChangeFieldReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeFieldReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeFieldReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeFieldReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeFieldReq_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeFieldReq_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeFieldReq_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeFieldReq_proto = out.File
+ file_GCGDSChangeFieldReq_proto_rawDesc = nil
+ file_GCGDSChangeFieldReq_proto_goTypes = nil
+ file_GCGDSChangeFieldReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSChangeFieldRsp.pb.go b/protocol/proto/GCGDSChangeFieldRsp.pb.go
new file mode 100644
index 00000000..6811c990
--- /dev/null
+++ b/protocol/proto/GCGDSChangeFieldRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSChangeFieldRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7444
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSChangeFieldRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FieldId uint32 `protobuf:"varint,3,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
+ DeckId uint32 `protobuf:"varint,2,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSChangeFieldRsp) Reset() {
+ *x = GCGDSChangeFieldRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSChangeFieldRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSChangeFieldRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSChangeFieldRsp) ProtoMessage() {}
+
+func (x *GCGDSChangeFieldRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSChangeFieldRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSChangeFieldRsp.ProtoReflect.Descriptor instead.
+func (*GCGDSChangeFieldRsp) Descriptor() ([]byte, []int) {
+ return file_GCGDSChangeFieldRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSChangeFieldRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGDSChangeFieldRsp) GetFieldId() uint32 {
+ if x != nil {
+ return x.FieldId
+ }
+ return 0
+}
+
+func (x *GCGDSChangeFieldRsp) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSChangeFieldRsp_proto protoreflect.FileDescriptor
+
+var file_GCGDSChangeFieldRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSChangeFieldRsp_proto_rawDescOnce sync.Once
+ file_GCGDSChangeFieldRsp_proto_rawDescData = file_GCGDSChangeFieldRsp_proto_rawDesc
+)
+
+func file_GCGDSChangeFieldRsp_proto_rawDescGZIP() []byte {
+ file_GCGDSChangeFieldRsp_proto_rawDescOnce.Do(func() {
+ file_GCGDSChangeFieldRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSChangeFieldRsp_proto_rawDescData)
+ })
+ return file_GCGDSChangeFieldRsp_proto_rawDescData
+}
+
+var file_GCGDSChangeFieldRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSChangeFieldRsp_proto_goTypes = []interface{}{
+ (*GCGDSChangeFieldRsp)(nil), // 0: proto.GCGDSChangeFieldRsp
+}
+var file_GCGDSChangeFieldRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSChangeFieldRsp_proto_init() }
+func file_GCGDSChangeFieldRsp_proto_init() {
+ if File_GCGDSChangeFieldRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSChangeFieldRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSChangeFieldRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSChangeFieldRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSChangeFieldRsp_proto_goTypes,
+ DependencyIndexes: file_GCGDSChangeFieldRsp_proto_depIdxs,
+ MessageInfos: file_GCGDSChangeFieldRsp_proto_msgTypes,
+ }.Build()
+ File_GCGDSChangeFieldRsp_proto = out.File
+ file_GCGDSChangeFieldRsp_proto_rawDesc = nil
+ file_GCGDSChangeFieldRsp_proto_goTypes = nil
+ file_GCGDSChangeFieldRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSCurDeckChangeNotify.pb.go b/protocol/proto/GCGDSCurDeckChangeNotify.pb.go
new file mode 100644
index 00000000..642b7d70
--- /dev/null
+++ b/protocol/proto/GCGDSCurDeckChangeNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSCurDeckChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7796
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSCurDeckChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckId uint32 `protobuf:"varint,6,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSCurDeckChangeNotify) Reset() {
+ *x = GCGDSCurDeckChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSCurDeckChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSCurDeckChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSCurDeckChangeNotify) ProtoMessage() {}
+
+func (x *GCGDSCurDeckChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSCurDeckChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSCurDeckChangeNotify.ProtoReflect.Descriptor instead.
+func (*GCGDSCurDeckChangeNotify) Descriptor() ([]byte, []int) {
+ return file_GCGDSCurDeckChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSCurDeckChangeNotify) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSCurDeckChangeNotify_proto protoreflect.FileDescriptor
+
+var file_GCGDSCurDeckChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x75, 0x72, 0x44, 0x65, 0x63, 0x6b, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x44, 0x53,
+ 0x43, 0x75, 0x72, 0x44, 0x65, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSCurDeckChangeNotify_proto_rawDescOnce sync.Once
+ file_GCGDSCurDeckChangeNotify_proto_rawDescData = file_GCGDSCurDeckChangeNotify_proto_rawDesc
+)
+
+func file_GCGDSCurDeckChangeNotify_proto_rawDescGZIP() []byte {
+ file_GCGDSCurDeckChangeNotify_proto_rawDescOnce.Do(func() {
+ file_GCGDSCurDeckChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSCurDeckChangeNotify_proto_rawDescData)
+ })
+ return file_GCGDSCurDeckChangeNotify_proto_rawDescData
+}
+
+var file_GCGDSCurDeckChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSCurDeckChangeNotify_proto_goTypes = []interface{}{
+ (*GCGDSCurDeckChangeNotify)(nil), // 0: proto.GCGDSCurDeckChangeNotify
+}
+var file_GCGDSCurDeckChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSCurDeckChangeNotify_proto_init() }
+func file_GCGDSCurDeckChangeNotify_proto_init() {
+ if File_GCGDSCurDeckChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSCurDeckChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSCurDeckChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSCurDeckChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSCurDeckChangeNotify_proto_goTypes,
+ DependencyIndexes: file_GCGDSCurDeckChangeNotify_proto_depIdxs,
+ MessageInfos: file_GCGDSCurDeckChangeNotify_proto_msgTypes,
+ }.Build()
+ File_GCGDSCurDeckChangeNotify_proto = out.File
+ file_GCGDSCurDeckChangeNotify_proto_rawDesc = nil
+ file_GCGDSCurDeckChangeNotify_proto_goTypes = nil
+ file_GCGDSCurDeckChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSDataNotify.pb.go b/protocol/proto/GCGDSDataNotify.pb.go
new file mode 100644
index 00000000..285c289e
--- /dev/null
+++ b/protocol/proto/GCGDSDataNotify.pb.go
@@ -0,0 +1,226 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7122
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckList []*GCGDSDeckData `protobuf:"bytes,4,rep,name=deck_list,json=deckList,proto3" json:"deck_list,omitempty"`
+ UnlockCardBackIdList []uint32 `protobuf:"varint,5,rep,packed,name=unlock_card_back_id_list,json=unlockCardBackIdList,proto3" json:"unlock_card_back_id_list,omitempty"`
+ UnlockFieldIdList []uint32 `protobuf:"varint,6,rep,packed,name=unlock_field_id_list,json=unlockFieldIdList,proto3" json:"unlock_field_id_list,omitempty"`
+ CurDeckId uint32 `protobuf:"varint,10,opt,name=cur_deck_id,json=curDeckId,proto3" json:"cur_deck_id,omitempty"`
+ CardList []*GCGDSCardData `protobuf:"bytes,3,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ UnlockDeckIdList []uint32 `protobuf:"varint,1,rep,packed,name=unlock_deck_id_list,json=unlockDeckIdList,proto3" json:"unlock_deck_id_list,omitempty"`
+}
+
+func (x *GCGDSDataNotify) Reset() {
+ *x = GCGDSDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSDataNotify) ProtoMessage() {}
+
+func (x *GCGDSDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSDataNotify.ProtoReflect.Descriptor instead.
+func (*GCGDSDataNotify) Descriptor() ([]byte, []int) {
+ return file_GCGDSDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSDataNotify) GetDeckList() []*GCGDSDeckData {
+ if x != nil {
+ return x.DeckList
+ }
+ return nil
+}
+
+func (x *GCGDSDataNotify) GetUnlockCardBackIdList() []uint32 {
+ if x != nil {
+ return x.UnlockCardBackIdList
+ }
+ return nil
+}
+
+func (x *GCGDSDataNotify) GetUnlockFieldIdList() []uint32 {
+ if x != nil {
+ return x.UnlockFieldIdList
+ }
+ return nil
+}
+
+func (x *GCGDSDataNotify) GetCurDeckId() uint32 {
+ if x != nil {
+ return x.CurDeckId
+ }
+ return 0
+}
+
+func (x *GCGDSDataNotify) GetCardList() []*GCGDSCardData {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *GCGDSDataNotify) GetUnlockDeckIdList() []uint32 {
+ if x != nil {
+ return x.UnlockDeckIdList
+ }
+ return nil
+}
+
+var File_GCGDSDataNotify_proto protoreflect.FileDescriptor
+
+var file_GCGDSDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13,
+ 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63, 0x6b, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x02, 0x0a, 0x0f, 0x47, 0x43, 0x47,
+ 0x44, 0x53, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x31, 0x0a, 0x09,
+ 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63,
+ 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x64, 0x65, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x36, 0x0a, 0x18, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x62,
+ 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x14, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63,
+ 0x6b, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x5f,
+ 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63,
+ 0x75, 0x72, 0x44, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x44, 0x53, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x75,
+ 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x44, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSDataNotify_proto_rawDescOnce sync.Once
+ file_GCGDSDataNotify_proto_rawDescData = file_GCGDSDataNotify_proto_rawDesc
+)
+
+func file_GCGDSDataNotify_proto_rawDescGZIP() []byte {
+ file_GCGDSDataNotify_proto_rawDescOnce.Do(func() {
+ file_GCGDSDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSDataNotify_proto_rawDescData)
+ })
+ return file_GCGDSDataNotify_proto_rawDescData
+}
+
+var file_GCGDSDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSDataNotify_proto_goTypes = []interface{}{
+ (*GCGDSDataNotify)(nil), // 0: proto.GCGDSDataNotify
+ (*GCGDSDeckData)(nil), // 1: proto.GCGDSDeckData
+ (*GCGDSCardData)(nil), // 2: proto.GCGDSCardData
+}
+var file_GCGDSDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGDSDataNotify.deck_list:type_name -> proto.GCGDSDeckData
+ 2, // 1: proto.GCGDSDataNotify.card_list:type_name -> proto.GCGDSCardData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSDataNotify_proto_init() }
+func file_GCGDSDataNotify_proto_init() {
+ if File_GCGDSDataNotify_proto != nil {
+ return
+ }
+ file_GCGDSCardData_proto_init()
+ file_GCGDSDeckData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSDataNotify_proto_goTypes,
+ DependencyIndexes: file_GCGDSDataNotify_proto_depIdxs,
+ MessageInfos: file_GCGDSDataNotify_proto_msgTypes,
+ }.Build()
+ File_GCGDSDataNotify_proto = out.File
+ file_GCGDSDataNotify_proto_rawDesc = nil
+ file_GCGDSDataNotify_proto_goTypes = nil
+ file_GCGDSDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSDeckData.pb.go b/protocol/proto/GCGDSDeckData.pb.go
new file mode 100644
index 00000000..9d52c888
--- /dev/null
+++ b/protocol/proto/GCGDSDeckData.pb.go
@@ -0,0 +1,227 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSDeckData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGDSDeckData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardList []uint32 `protobuf:"varint,1,rep,packed,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ CardBackId uint32 `protobuf:"varint,15,opt,name=card_back_id,json=cardBackId,proto3" json:"card_back_id,omitempty"`
+ CharacterCardList []uint32 `protobuf:"varint,10,rep,packed,name=character_card_list,json=characterCardList,proto3" json:"character_card_list,omitempty"`
+ Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
+ Id uint32 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
+ CreateTime uint32 `protobuf:"fixed32,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+ IsValid bool `protobuf:"varint,4,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
+ FieldId uint32 `protobuf:"varint,7,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
+}
+
+func (x *GCGDSDeckData) Reset() {
+ *x = GCGDSDeckData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSDeckData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSDeckData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSDeckData) ProtoMessage() {}
+
+func (x *GCGDSDeckData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSDeckData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSDeckData.ProtoReflect.Descriptor instead.
+func (*GCGDSDeckData) Descriptor() ([]byte, []int) {
+ return file_GCGDSDeckData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSDeckData) GetCardList() []uint32 {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *GCGDSDeckData) GetCardBackId() uint32 {
+ if x != nil {
+ return x.CardBackId
+ }
+ return 0
+}
+
+func (x *GCGDSDeckData) GetCharacterCardList() []uint32 {
+ if x != nil {
+ return x.CharacterCardList
+ }
+ return nil
+}
+
+func (x *GCGDSDeckData) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *GCGDSDeckData) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *GCGDSDeckData) GetCreateTime() uint32 {
+ if x != nil {
+ return x.CreateTime
+ }
+ return 0
+}
+
+func (x *GCGDSDeckData) GetIsValid() bool {
+ if x != nil {
+ return x.IsValid
+ }
+ return false
+}
+
+func (x *GCGDSDeckData) GetFieldId() uint32 {
+ if x != nil {
+ return x.FieldId
+ }
+ return 0
+}
+
+var File_GCGDSDeckData_proto protoreflect.FileDescriptor
+
+var file_GCGDSDeckData_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x01, 0x0a,
+ 0x0d, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x2e, 0x0a,
+ 0x13, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x68, 0x61, 0x72,
+ 0x61, 0x63, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
+ 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x19, 0x0a,
+ 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSDeckData_proto_rawDescOnce sync.Once
+ file_GCGDSDeckData_proto_rawDescData = file_GCGDSDeckData_proto_rawDesc
+)
+
+func file_GCGDSDeckData_proto_rawDescGZIP() []byte {
+ file_GCGDSDeckData_proto_rawDescOnce.Do(func() {
+ file_GCGDSDeckData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSDeckData_proto_rawDescData)
+ })
+ return file_GCGDSDeckData_proto_rawDescData
+}
+
+var file_GCGDSDeckData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSDeckData_proto_goTypes = []interface{}{
+ (*GCGDSDeckData)(nil), // 0: proto.GCGDSDeckData
+}
+var file_GCGDSDeckData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSDeckData_proto_init() }
+func file_GCGDSDeckData_proto_init() {
+ if File_GCGDSDeckData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSDeckData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSDeckData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSDeckData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSDeckData_proto_goTypes,
+ DependencyIndexes: file_GCGDSDeckData_proto_depIdxs,
+ MessageInfos: file_GCGDSDeckData_proto_msgTypes,
+ }.Build()
+ File_GCGDSDeckData_proto = out.File
+ file_GCGDSDeckData_proto_rawDesc = nil
+ file_GCGDSDeckData_proto_goTypes = nil
+ file_GCGDSDeckData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSDeckSaveReq.pb.go b/protocol/proto/GCGDSDeckSaveReq.pb.go
new file mode 100644
index 00000000..fc79019b
--- /dev/null
+++ b/protocol/proto/GCGDSDeckSaveReq.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSDeckSaveReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7104
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGDSDeckSaveReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckId uint32 `protobuf:"varint,1,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+ CardList []uint32 `protobuf:"varint,4,rep,packed,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ CharacterCardList []uint32 `protobuf:"varint,9,rep,packed,name=character_card_list,json=characterCardList,proto3" json:"character_card_list,omitempty"`
+ Name string `protobuf:"bytes,14,opt,name=name,proto3" json:"name,omitempty"`
+}
+
+func (x *GCGDSDeckSaveReq) Reset() {
+ *x = GCGDSDeckSaveReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSDeckSaveReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSDeckSaveReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSDeckSaveReq) ProtoMessage() {}
+
+func (x *GCGDSDeckSaveReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSDeckSaveReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSDeckSaveReq.ProtoReflect.Descriptor instead.
+func (*GCGDSDeckSaveReq) Descriptor() ([]byte, []int) {
+ return file_GCGDSDeckSaveReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSDeckSaveReq) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+func (x *GCGDSDeckSaveReq) GetCardList() []uint32 {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *GCGDSDeckSaveReq) GetCharacterCardList() []uint32 {
+ if x != nil {
+ return x.CharacterCardList
+ }
+ return nil
+}
+
+func (x *GCGDSDeckSaveReq) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+var File_GCGDSDeckSaveReq_proto protoreflect.FileDescriptor
+
+var file_GCGDSDeckSaveReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63, 0x6b, 0x53, 0x61, 0x76, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x8c, 0x01, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63, 0x6b, 0x53, 0x61, 0x76,
+ 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x68,
+ 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
+ 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSDeckSaveReq_proto_rawDescOnce sync.Once
+ file_GCGDSDeckSaveReq_proto_rawDescData = file_GCGDSDeckSaveReq_proto_rawDesc
+)
+
+func file_GCGDSDeckSaveReq_proto_rawDescGZIP() []byte {
+ file_GCGDSDeckSaveReq_proto_rawDescOnce.Do(func() {
+ file_GCGDSDeckSaveReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSDeckSaveReq_proto_rawDescData)
+ })
+ return file_GCGDSDeckSaveReq_proto_rawDescData
+}
+
+var file_GCGDSDeckSaveReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSDeckSaveReq_proto_goTypes = []interface{}{
+ (*GCGDSDeckSaveReq)(nil), // 0: proto.GCGDSDeckSaveReq
+}
+var file_GCGDSDeckSaveReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSDeckSaveReq_proto_init() }
+func file_GCGDSDeckSaveReq_proto_init() {
+ if File_GCGDSDeckSaveReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSDeckSaveReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSDeckSaveReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSDeckSaveReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSDeckSaveReq_proto_goTypes,
+ DependencyIndexes: file_GCGDSDeckSaveReq_proto_depIdxs,
+ MessageInfos: file_GCGDSDeckSaveReq_proto_msgTypes,
+ }.Build()
+ File_GCGDSDeckSaveReq_proto = out.File
+ file_GCGDSDeckSaveReq_proto_rawDesc = nil
+ file_GCGDSDeckSaveReq_proto_goTypes = nil
+ file_GCGDSDeckSaveReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSDeckSaveRsp.pb.go b/protocol/proto/GCGDSDeckSaveRsp.pb.go
new file mode 100644
index 00000000..0101b959
--- /dev/null
+++ b/protocol/proto/GCGDSDeckSaveRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSDeckSaveRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7269
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSDeckSaveRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CreateTime uint32 `protobuf:"fixed32,14,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+ DeckId uint32 `protobuf:"varint,11,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsValid bool `protobuf:"varint,4,opt,name=is_valid,json=isValid,proto3" json:"is_valid,omitempty"`
+}
+
+func (x *GCGDSDeckSaveRsp) Reset() {
+ *x = GCGDSDeckSaveRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSDeckSaveRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSDeckSaveRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSDeckSaveRsp) ProtoMessage() {}
+
+func (x *GCGDSDeckSaveRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSDeckSaveRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSDeckSaveRsp.ProtoReflect.Descriptor instead.
+func (*GCGDSDeckSaveRsp) Descriptor() ([]byte, []int) {
+ return file_GCGDSDeckSaveRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSDeckSaveRsp) GetCreateTime() uint32 {
+ if x != nil {
+ return x.CreateTime
+ }
+ return 0
+}
+
+func (x *GCGDSDeckSaveRsp) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+func (x *GCGDSDeckSaveRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGDSDeckSaveRsp) GetIsValid() bool {
+ if x != nil {
+ return x.IsValid
+ }
+ return false
+}
+
+var File_GCGDSDeckSaveRsp_proto protoreflect.FileDescriptor
+
+var file_GCGDSDeckSaveRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63, 0x6b, 0x53, 0x61, 0x76, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x81, 0x01, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63, 0x6b, 0x53, 0x61, 0x76,
+ 0x65, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x76,
+ 0x61, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x56, 0x61,
+ 0x6c, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSDeckSaveRsp_proto_rawDescOnce sync.Once
+ file_GCGDSDeckSaveRsp_proto_rawDescData = file_GCGDSDeckSaveRsp_proto_rawDesc
+)
+
+func file_GCGDSDeckSaveRsp_proto_rawDescGZIP() []byte {
+ file_GCGDSDeckSaveRsp_proto_rawDescOnce.Do(func() {
+ file_GCGDSDeckSaveRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSDeckSaveRsp_proto_rawDescData)
+ })
+ return file_GCGDSDeckSaveRsp_proto_rawDescData
+}
+
+var file_GCGDSDeckSaveRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSDeckSaveRsp_proto_goTypes = []interface{}{
+ (*GCGDSDeckSaveRsp)(nil), // 0: proto.GCGDSDeckSaveRsp
+}
+var file_GCGDSDeckSaveRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSDeckSaveRsp_proto_init() }
+func file_GCGDSDeckSaveRsp_proto_init() {
+ if File_GCGDSDeckSaveRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSDeckSaveRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSDeckSaveRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSDeckSaveRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSDeckSaveRsp_proto_goTypes,
+ DependencyIndexes: file_GCGDSDeckSaveRsp_proto_depIdxs,
+ MessageInfos: file_GCGDSDeckSaveRsp_proto_msgTypes,
+ }.Build()
+ File_GCGDSDeckSaveRsp_proto = out.File
+ file_GCGDSDeckSaveRsp_proto_rawDesc = nil
+ file_GCGDSDeckSaveRsp_proto_goTypes = nil
+ file_GCGDSDeckSaveRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSDeckUnlockNotify.pb.go b/protocol/proto/GCGDSDeckUnlockNotify.pb.go
new file mode 100644
index 00000000..79e9b98c
--- /dev/null
+++ b/protocol/proto/GCGDSDeckUnlockNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSDeckUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7732
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSDeckUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckId uint32 `protobuf:"varint,15,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSDeckUnlockNotify) Reset() {
+ *x = GCGDSDeckUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSDeckUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSDeckUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSDeckUnlockNotify) ProtoMessage() {}
+
+func (x *GCGDSDeckUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSDeckUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSDeckUnlockNotify.ProtoReflect.Descriptor instead.
+func (*GCGDSDeckUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_GCGDSDeckUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSDeckUnlockNotify) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSDeckUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_GCGDSDeckUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63, 0x6b, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x63,
+ 0x6b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a,
+ 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSDeckUnlockNotify_proto_rawDescOnce sync.Once
+ file_GCGDSDeckUnlockNotify_proto_rawDescData = file_GCGDSDeckUnlockNotify_proto_rawDesc
+)
+
+func file_GCGDSDeckUnlockNotify_proto_rawDescGZIP() []byte {
+ file_GCGDSDeckUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_GCGDSDeckUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSDeckUnlockNotify_proto_rawDescData)
+ })
+ return file_GCGDSDeckUnlockNotify_proto_rawDescData
+}
+
+var file_GCGDSDeckUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSDeckUnlockNotify_proto_goTypes = []interface{}{
+ (*GCGDSDeckUnlockNotify)(nil), // 0: proto.GCGDSDeckUnlockNotify
+}
+var file_GCGDSDeckUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSDeckUnlockNotify_proto_init() }
+func file_GCGDSDeckUnlockNotify_proto_init() {
+ if File_GCGDSDeckUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSDeckUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSDeckUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSDeckUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSDeckUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_GCGDSDeckUnlockNotify_proto_depIdxs,
+ MessageInfos: file_GCGDSDeckUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_GCGDSDeckUnlockNotify_proto = out.File
+ file_GCGDSDeckUnlockNotify_proto_rawDesc = nil
+ file_GCGDSDeckUnlockNotify_proto_goTypes = nil
+ file_GCGDSDeckUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSDeleteDeckReq.pb.go b/protocol/proto/GCGDSDeleteDeckReq.pb.go
new file mode 100644
index 00000000..29021426
--- /dev/null
+++ b/protocol/proto/GCGDSDeleteDeckReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSDeleteDeckReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7988
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGDSDeleteDeckReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeckId uint32 `protobuf:"varint,15,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSDeleteDeckReq) Reset() {
+ *x = GCGDSDeleteDeckReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSDeleteDeckReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSDeleteDeckReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSDeleteDeckReq) ProtoMessage() {}
+
+func (x *GCGDSDeleteDeckReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSDeleteDeckReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSDeleteDeckReq.ProtoReflect.Descriptor instead.
+func (*GCGDSDeleteDeckReq) Descriptor() ([]byte, []int) {
+ return file_GCGDSDeleteDeckReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSDeleteDeckReq) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSDeleteDeckReq_proto protoreflect.FileDescriptor
+
+var file_GCGDSDeleteDeckReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x63,
+ 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2d, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x44, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSDeleteDeckReq_proto_rawDescOnce sync.Once
+ file_GCGDSDeleteDeckReq_proto_rawDescData = file_GCGDSDeleteDeckReq_proto_rawDesc
+)
+
+func file_GCGDSDeleteDeckReq_proto_rawDescGZIP() []byte {
+ file_GCGDSDeleteDeckReq_proto_rawDescOnce.Do(func() {
+ file_GCGDSDeleteDeckReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSDeleteDeckReq_proto_rawDescData)
+ })
+ return file_GCGDSDeleteDeckReq_proto_rawDescData
+}
+
+var file_GCGDSDeleteDeckReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSDeleteDeckReq_proto_goTypes = []interface{}{
+ (*GCGDSDeleteDeckReq)(nil), // 0: proto.GCGDSDeleteDeckReq
+}
+var file_GCGDSDeleteDeckReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSDeleteDeckReq_proto_init() }
+func file_GCGDSDeleteDeckReq_proto_init() {
+ if File_GCGDSDeleteDeckReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSDeleteDeckReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSDeleteDeckReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSDeleteDeckReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSDeleteDeckReq_proto_goTypes,
+ DependencyIndexes: file_GCGDSDeleteDeckReq_proto_depIdxs,
+ MessageInfos: file_GCGDSDeleteDeckReq_proto_msgTypes,
+ }.Build()
+ File_GCGDSDeleteDeckReq_proto = out.File
+ file_GCGDSDeleteDeckReq_proto_rawDesc = nil
+ file_GCGDSDeleteDeckReq_proto_goTypes = nil
+ file_GCGDSDeleteDeckReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSDeleteDeckRsp.pb.go b/protocol/proto/GCGDSDeleteDeckRsp.pb.go
new file mode 100644
index 00000000..b689294c
--- /dev/null
+++ b/protocol/proto/GCGDSDeleteDeckRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSDeleteDeckRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7524
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSDeleteDeckRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DeckId uint32 `protobuf:"varint,7,opt,name=deck_id,json=deckId,proto3" json:"deck_id,omitempty"`
+}
+
+func (x *GCGDSDeleteDeckRsp) Reset() {
+ *x = GCGDSDeleteDeckRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSDeleteDeckRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSDeleteDeckRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSDeleteDeckRsp) ProtoMessage() {}
+
+func (x *GCGDSDeleteDeckRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSDeleteDeckRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSDeleteDeckRsp.ProtoReflect.Descriptor instead.
+func (*GCGDSDeleteDeckRsp) Descriptor() ([]byte, []int) {
+ return file_GCGDSDeleteDeckRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSDeleteDeckRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGDSDeleteDeckRsp) GetDeckId() uint32 {
+ if x != nil {
+ return x.DeckId
+ }
+ return 0
+}
+
+var File_GCGDSDeleteDeckRsp_proto protoreflect.FileDescriptor
+
+var file_GCGDSDeleteDeckRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x63,
+ 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x47, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x44, 0x53, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x44, 0x65, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x64, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSDeleteDeckRsp_proto_rawDescOnce sync.Once
+ file_GCGDSDeleteDeckRsp_proto_rawDescData = file_GCGDSDeleteDeckRsp_proto_rawDesc
+)
+
+func file_GCGDSDeleteDeckRsp_proto_rawDescGZIP() []byte {
+ file_GCGDSDeleteDeckRsp_proto_rawDescOnce.Do(func() {
+ file_GCGDSDeleteDeckRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSDeleteDeckRsp_proto_rawDescData)
+ })
+ return file_GCGDSDeleteDeckRsp_proto_rawDescData
+}
+
+var file_GCGDSDeleteDeckRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSDeleteDeckRsp_proto_goTypes = []interface{}{
+ (*GCGDSDeleteDeckRsp)(nil), // 0: proto.GCGDSDeleteDeckRsp
+}
+var file_GCGDSDeleteDeckRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSDeleteDeckRsp_proto_init() }
+func file_GCGDSDeleteDeckRsp_proto_init() {
+ if File_GCGDSDeleteDeckRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSDeleteDeckRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSDeleteDeckRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSDeleteDeckRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSDeleteDeckRsp_proto_goTypes,
+ DependencyIndexes: file_GCGDSDeleteDeckRsp_proto_depIdxs,
+ MessageInfos: file_GCGDSDeleteDeckRsp_proto_msgTypes,
+ }.Build()
+ File_GCGDSDeleteDeckRsp_proto = out.File
+ file_GCGDSDeleteDeckRsp_proto_rawDesc = nil
+ file_GCGDSDeleteDeckRsp_proto_goTypes = nil
+ file_GCGDSDeleteDeckRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDSFieldUnlockNotify.pb.go b/protocol/proto/GCGDSFieldUnlockNotify.pb.go
new file mode 100644
index 00000000..f48ddb52
--- /dev/null
+++ b/protocol/proto/GCGDSFieldUnlockNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDSFieldUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7333
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGDSFieldUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FieldId uint32 `protobuf:"varint,1,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
+}
+
+func (x *GCGDSFieldUnlockNotify) Reset() {
+ *x = GCGDSFieldUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDSFieldUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDSFieldUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDSFieldUnlockNotify) ProtoMessage() {}
+
+func (x *GCGDSFieldUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDSFieldUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDSFieldUnlockNotify.ProtoReflect.Descriptor instead.
+func (*GCGDSFieldUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_GCGDSFieldUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDSFieldUnlockNotify) GetFieldId() uint32 {
+ if x != nil {
+ return x.FieldId
+ }
+ return 0
+}
+
+var File_GCGDSFieldUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_GCGDSFieldUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x44, 0x53, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x53, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x19, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDSFieldUnlockNotify_proto_rawDescOnce sync.Once
+ file_GCGDSFieldUnlockNotify_proto_rawDescData = file_GCGDSFieldUnlockNotify_proto_rawDesc
+)
+
+func file_GCGDSFieldUnlockNotify_proto_rawDescGZIP() []byte {
+ file_GCGDSFieldUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_GCGDSFieldUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDSFieldUnlockNotify_proto_rawDescData)
+ })
+ return file_GCGDSFieldUnlockNotify_proto_rawDescData
+}
+
+var file_GCGDSFieldUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDSFieldUnlockNotify_proto_goTypes = []interface{}{
+ (*GCGDSFieldUnlockNotify)(nil), // 0: proto.GCGDSFieldUnlockNotify
+}
+var file_GCGDSFieldUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDSFieldUnlockNotify_proto_init() }
+func file_GCGDSFieldUnlockNotify_proto_init() {
+ if File_GCGDSFieldUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDSFieldUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDSFieldUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDSFieldUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDSFieldUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_GCGDSFieldUnlockNotify_proto_depIdxs,
+ MessageInfos: file_GCGDSFieldUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_GCGDSFieldUnlockNotify_proto = out.File
+ file_GCGDSFieldUnlockNotify_proto_rawDesc = nil
+ file_GCGDSFieldUnlockNotify_proto_goTypes = nil
+ file_GCGDSFieldUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDamageDetail.pb.go b/protocol/proto/GCGDamageDetail.pb.go
new file mode 100644
index 00000000..91e8e114
--- /dev/null
+++ b/protocol/proto/GCGDamageDetail.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDamageDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGDamageDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,10,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ CardGuid uint32 `protobuf:"varint,7,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGDamageDetail) Reset() {
+ *x = GCGDamageDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDamageDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDamageDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDamageDetail) ProtoMessage() {}
+
+func (x *GCGDamageDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDamageDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDamageDetail.ProtoReflect.Descriptor instead.
+func (*GCGDamageDetail) Descriptor() ([]byte, []int) {
+ return file_GCGDamageDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDamageDetail) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *GCGDamageDetail) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGDamageDetail_proto protoreflect.FileDescriptor
+
+var file_GCGDamageDetail_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49,
+ 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDamageDetail_proto_rawDescOnce sync.Once
+ file_GCGDamageDetail_proto_rawDescData = file_GCGDamageDetail_proto_rawDesc
+)
+
+func file_GCGDamageDetail_proto_rawDescGZIP() []byte {
+ file_GCGDamageDetail_proto_rawDescOnce.Do(func() {
+ file_GCGDamageDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDamageDetail_proto_rawDescData)
+ })
+ return file_GCGDamageDetail_proto_rawDescData
+}
+
+var file_GCGDamageDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDamageDetail_proto_goTypes = []interface{}{
+ (*GCGDamageDetail)(nil), // 0: proto.GCGDamageDetail
+}
+var file_GCGDamageDetail_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDamageDetail_proto_init() }
+func file_GCGDamageDetail_proto_init() {
+ if File_GCGDamageDetail_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDamageDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDamageDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDamageDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDamageDetail_proto_goTypes,
+ DependencyIndexes: file_GCGDamageDetail_proto_depIdxs,
+ MessageInfos: file_GCGDamageDetail_proto_msgTypes,
+ }.Build()
+ File_GCGDamageDetail_proto = out.File
+ file_GCGDamageDetail_proto_rawDesc = nil
+ file_GCGDamageDetail_proto_goTypes = nil
+ file_GCGDamageDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDiceSideType.pb.go b/protocol/proto/GCGDiceSideType.pb.go
new file mode 100644
index 00000000..4ebcaf53
--- /dev/null
+++ b/protocol/proto/GCGDiceSideType.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDiceSideType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGDiceSideType int32
+
+const (
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_INVALID GCGDiceSideType = 0
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_CRYO GCGDiceSideType = 1
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_HYDRO GCGDiceSideType = 2
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_PYRO GCGDiceSideType = 3
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_ELECTRO GCGDiceSideType = 4
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_GEO GCGDiceSideType = 5
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_DENDRO GCGDiceSideType = 6
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_ANEMO GCGDiceSideType = 7
+ GCGDiceSideType_GCG_DICE_SIDE_TYPE_PAIMON GCGDiceSideType = 8
+)
+
+// Enum value maps for GCGDiceSideType.
+var (
+ GCGDiceSideType_name = map[int32]string{
+ 0: "GCG_DICE_SIDE_TYPE_INVALID",
+ 1: "GCG_DICE_SIDE_TYPE_CRYO",
+ 2: "GCG_DICE_SIDE_TYPE_HYDRO",
+ 3: "GCG_DICE_SIDE_TYPE_PYRO",
+ 4: "GCG_DICE_SIDE_TYPE_ELECTRO",
+ 5: "GCG_DICE_SIDE_TYPE_GEO",
+ 6: "GCG_DICE_SIDE_TYPE_DENDRO",
+ 7: "GCG_DICE_SIDE_TYPE_ANEMO",
+ 8: "GCG_DICE_SIDE_TYPE_PAIMON",
+ }
+ GCGDiceSideType_value = map[string]int32{
+ "GCG_DICE_SIDE_TYPE_INVALID": 0,
+ "GCG_DICE_SIDE_TYPE_CRYO": 1,
+ "GCG_DICE_SIDE_TYPE_HYDRO": 2,
+ "GCG_DICE_SIDE_TYPE_PYRO": 3,
+ "GCG_DICE_SIDE_TYPE_ELECTRO": 4,
+ "GCG_DICE_SIDE_TYPE_GEO": 5,
+ "GCG_DICE_SIDE_TYPE_DENDRO": 6,
+ "GCG_DICE_SIDE_TYPE_ANEMO": 7,
+ "GCG_DICE_SIDE_TYPE_PAIMON": 8,
+ }
+)
+
+func (x GCGDiceSideType) Enum() *GCGDiceSideType {
+ p := new(GCGDiceSideType)
+ *p = x
+ return p
+}
+
+func (x GCGDiceSideType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGDiceSideType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGDiceSideType_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGDiceSideType) Type() protoreflect.EnumType {
+ return &file_GCGDiceSideType_proto_enumTypes[0]
+}
+
+func (x GCGDiceSideType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGDiceSideType.Descriptor instead.
+func (GCGDiceSideType) EnumDescriptor() ([]byte, []int) {
+ return file_GCGDiceSideType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGDiceSideType_proto protoreflect.FileDescriptor
+
+var file_GCGDiceSideType_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xa1,
+ 0x02, 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x5f, 0x44, 0x49, 0x43, 0x45, 0x5f, 0x53,
+ 0x49, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44,
+ 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x5f, 0x44, 0x49, 0x43, 0x45, 0x5f, 0x53,
+ 0x49, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x59, 0x4f, 0x10, 0x01, 0x12,
+ 0x1c, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x5f, 0x44, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x59, 0x44, 0x52, 0x4f, 0x10, 0x02, 0x12, 0x1b, 0x0a,
+ 0x17, 0x47, 0x43, 0x47, 0x5f, 0x44, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x50, 0x59, 0x52, 0x4f, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x43,
+ 0x47, 0x5f, 0x44, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x52, 0x4f, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x47, 0x43,
+ 0x47, 0x5f, 0x44, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x47, 0x45, 0x4f, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x47, 0x43, 0x47, 0x5f, 0x44, 0x49,
+ 0x43, 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4e,
+ 0x44, 0x52, 0x4f, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x5f, 0x44, 0x49, 0x43,
+ 0x45, 0x5f, 0x53, 0x49, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x45, 0x4d,
+ 0x4f, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x47, 0x43, 0x47, 0x5f, 0x44, 0x49, 0x43, 0x45, 0x5f,
+ 0x53, 0x49, 0x44, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x49, 0x4d, 0x4f, 0x4e,
+ 0x10, 0x08, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDiceSideType_proto_rawDescOnce sync.Once
+ file_GCGDiceSideType_proto_rawDescData = file_GCGDiceSideType_proto_rawDesc
+)
+
+func file_GCGDiceSideType_proto_rawDescGZIP() []byte {
+ file_GCGDiceSideType_proto_rawDescOnce.Do(func() {
+ file_GCGDiceSideType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDiceSideType_proto_rawDescData)
+ })
+ return file_GCGDiceSideType_proto_rawDescData
+}
+
+var file_GCGDiceSideType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGDiceSideType_proto_goTypes = []interface{}{
+ (GCGDiceSideType)(0), // 0: proto.GCGDiceSideType
+}
+var file_GCGDiceSideType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDiceSideType_proto_init() }
+func file_GCGDiceSideType_proto_init() {
+ if File_GCGDiceSideType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDiceSideType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDiceSideType_proto_goTypes,
+ DependencyIndexes: file_GCGDiceSideType_proto_depIdxs,
+ EnumInfos: file_GCGDiceSideType_proto_enumTypes,
+ }.Build()
+ File_GCGDiceSideType_proto = out.File
+ file_GCGDiceSideType_proto_rawDesc = nil
+ file_GCGDiceSideType_proto_goTypes = nil
+ file_GCGDiceSideType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDuel.pb.go b/protocol/proto/GCGDuel.pb.go
new file mode 100644
index 00000000..a74ef3c2
--- /dev/null
+++ b/protocol/proto/GCGDuel.pb.go
@@ -0,0 +1,345 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDuel.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGDuel struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerSeq uint32 `protobuf:"varint,3,opt,name=server_seq,json=serverSeq,proto3" json:"server_seq,omitempty"`
+ FieldList []*GCGPlayerField `protobuf:"bytes,7,rep,name=field_list,json=fieldList,proto3" json:"field_list,omitempty"`
+ BusinessType GCGGameBusinessType `protobuf:"varint,14,opt,name=business_type,json=businessType,proto3,enum=proto.GCGGameBusinessType" json:"business_type,omitempty"`
+ ChallengeList []*GCGDuelChallenge `protobuf:"bytes,5,rep,name=challenge_list,json=challengeList,proto3" json:"challenge_list,omitempty"`
+ GameId uint32 `protobuf:"varint,11,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
+ ControllerId uint32 `protobuf:"varint,13,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ Round uint32 `protobuf:"varint,15,opt,name=round,proto3" json:"round,omitempty"`
+ CurControllerId uint32 `protobuf:"varint,12,opt,name=cur_controller_id,json=curControllerId,proto3" json:"cur_controller_id,omitempty"`
+ IntetionList []*GCGPVEIntention `protobuf:"bytes,1,rep,name=intetion_list,json=intetionList,proto3" json:"intetion_list,omitempty"`
+ CostRevise *GCGCostReviseInfo `protobuf:"bytes,10,opt,name=cost_revise,json=costRevise,proto3" json:"cost_revise,omitempty"`
+ CardIdList []uint32 `protobuf:"varint,4,rep,packed,name=card_id_list,json=cardIdList,proto3" json:"card_id_list,omitempty"`
+ CardList []*GCGCard `protobuf:"bytes,9,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ ShowInfoList []*GCGControllerShowInfo `protobuf:"bytes,6,rep,name=show_info_list,json=showInfoList,proto3" json:"show_info_list,omitempty"`
+ GameType uint32 `protobuf:"varint,2,opt,name=game_type,json=gameType,proto3" json:"game_type,omitempty"`
+ Phase *GCGPhase `protobuf:"bytes,8,opt,name=phase,proto3" json:"phase,omitempty"`
+}
+
+func (x *GCGDuel) Reset() {
+ *x = GCGDuel{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDuel_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDuel) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDuel) ProtoMessage() {}
+
+func (x *GCGDuel) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDuel_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDuel.ProtoReflect.Descriptor instead.
+func (*GCGDuel) Descriptor() ([]byte, []int) {
+ return file_GCGDuel_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDuel) GetServerSeq() uint32 {
+ if x != nil {
+ return x.ServerSeq
+ }
+ return 0
+}
+
+func (x *GCGDuel) GetFieldList() []*GCGPlayerField {
+ if x != nil {
+ return x.FieldList
+ }
+ return nil
+}
+
+func (x *GCGDuel) GetBusinessType() GCGGameBusinessType {
+ if x != nil {
+ return x.BusinessType
+ }
+ return GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_NONE
+}
+
+func (x *GCGDuel) GetChallengeList() []*GCGDuelChallenge {
+ if x != nil {
+ return x.ChallengeList
+ }
+ return nil
+}
+
+func (x *GCGDuel) GetGameId() uint32 {
+ if x != nil {
+ return x.GameId
+ }
+ return 0
+}
+
+func (x *GCGDuel) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGDuel) GetRound() uint32 {
+ if x != nil {
+ return x.Round
+ }
+ return 0
+}
+
+func (x *GCGDuel) GetCurControllerId() uint32 {
+ if x != nil {
+ return x.CurControllerId
+ }
+ return 0
+}
+
+func (x *GCGDuel) GetIntetionList() []*GCGPVEIntention {
+ if x != nil {
+ return x.IntetionList
+ }
+ return nil
+}
+
+func (x *GCGDuel) GetCostRevise() *GCGCostReviseInfo {
+ if x != nil {
+ return x.CostRevise
+ }
+ return nil
+}
+
+func (x *GCGDuel) GetCardIdList() []uint32 {
+ if x != nil {
+ return x.CardIdList
+ }
+ return nil
+}
+
+func (x *GCGDuel) GetCardList() []*GCGCard {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *GCGDuel) GetShowInfoList() []*GCGControllerShowInfo {
+ if x != nil {
+ return x.ShowInfoList
+ }
+ return nil
+}
+
+func (x *GCGDuel) GetGameType() uint32 {
+ if x != nil {
+ return x.GameType
+ }
+ return 0
+}
+
+func (x *GCGDuel) GetPhase() *GCGPhase {
+ if x != nil {
+ return x.Phase
+ }
+ return nil
+}
+
+var File_GCGDuel_proto protoreflect.FileDescriptor
+
+var file_GCGDuel_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x47, 0x43, 0x47, 0x43, 0x61, 0x72, 0x64, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x47, 0x43, 0x47, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x43, 0x47, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47,
+ 0x44, 0x75, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x75, 0x73, 0x69,
+ 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15,
+ 0x47, 0x43, 0x47, 0x50, 0x56, 0x45, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x05, 0x0a, 0x07,
+ 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x53, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0d,
+ 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x47,
+ 0x61, 0x6d, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a,
+ 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x44, 0x75, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x0d,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a,
+ 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63,
+ 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72,
+ 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e,
+ 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x75,
+ 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a,
+ 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x50, 0x56, 0x45, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x69, 0x6e,
+ 0x74, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0b, 0x63, 0x6f,
+ 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x43, 0x6f, 0x73, 0x74, 0x52,
+ 0x65, 0x76, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x52,
+ 0x65, 0x76, 0x69, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x72,
+ 0x64, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x43, 0x61, 0x72, 0x64, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x77,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x6d,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDuel_proto_rawDescOnce sync.Once
+ file_GCGDuel_proto_rawDescData = file_GCGDuel_proto_rawDesc
+)
+
+func file_GCGDuel_proto_rawDescGZIP() []byte {
+ file_GCGDuel_proto_rawDescOnce.Do(func() {
+ file_GCGDuel_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDuel_proto_rawDescData)
+ })
+ return file_GCGDuel_proto_rawDescData
+}
+
+var file_GCGDuel_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDuel_proto_goTypes = []interface{}{
+ (*GCGDuel)(nil), // 0: proto.GCGDuel
+ (*GCGPlayerField)(nil), // 1: proto.GCGPlayerField
+ (GCGGameBusinessType)(0), // 2: proto.GCGGameBusinessType
+ (*GCGDuelChallenge)(nil), // 3: proto.GCGDuelChallenge
+ (*GCGPVEIntention)(nil), // 4: proto.GCGPVEIntention
+ (*GCGCostReviseInfo)(nil), // 5: proto.GCGCostReviseInfo
+ (*GCGCard)(nil), // 6: proto.GCGCard
+ (*GCGControllerShowInfo)(nil), // 7: proto.GCGControllerShowInfo
+ (*GCGPhase)(nil), // 8: proto.GCGPhase
+}
+var file_GCGDuel_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGDuel.field_list:type_name -> proto.GCGPlayerField
+ 2, // 1: proto.GCGDuel.business_type:type_name -> proto.GCGGameBusinessType
+ 3, // 2: proto.GCGDuel.challenge_list:type_name -> proto.GCGDuelChallenge
+ 4, // 3: proto.GCGDuel.intetion_list:type_name -> proto.GCGPVEIntention
+ 5, // 4: proto.GCGDuel.cost_revise:type_name -> proto.GCGCostReviseInfo
+ 6, // 5: proto.GCGDuel.card_list:type_name -> proto.GCGCard
+ 7, // 6: proto.GCGDuel.show_info_list:type_name -> proto.GCGControllerShowInfo
+ 8, // 7: proto.GCGDuel.phase:type_name -> proto.GCGPhase
+ 8, // [8:8] is the sub-list for method output_type
+ 8, // [8:8] is the sub-list for method input_type
+ 8, // [8:8] is the sub-list for extension type_name
+ 8, // [8:8] is the sub-list for extension extendee
+ 0, // [0:8] is the sub-list for field type_name
+}
+
+func init() { file_GCGDuel_proto_init() }
+func file_GCGDuel_proto_init() {
+ if File_GCGDuel_proto != nil {
+ return
+ }
+ file_GCGCard_proto_init()
+ file_GCGControllerShowInfo_proto_init()
+ file_GCGCostReviseInfo_proto_init()
+ file_GCGDuelChallenge_proto_init()
+ file_GCGGameBusinessType_proto_init()
+ file_GCGPVEIntention_proto_init()
+ file_GCGPhase_proto_init()
+ file_GCGPlayerField_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDuel_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDuel); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDuel_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDuel_proto_goTypes,
+ DependencyIndexes: file_GCGDuel_proto_depIdxs,
+ MessageInfos: file_GCGDuel_proto_msgTypes,
+ }.Build()
+ File_GCGDuel_proto = out.File
+ file_GCGDuel_proto_rawDesc = nil
+ file_GCGDuel_proto_goTypes = nil
+ file_GCGDuel_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDuelChallenge.pb.go b/protocol/proto/GCGDuelChallenge.pb.go
new file mode 100644
index 00000000..6d94f98c
--- /dev/null
+++ b/protocol/proto/GCGDuelChallenge.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDuelChallenge.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGDuelChallenge struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalProgress uint32 `protobuf:"varint,7,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,10,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ CurProgress uint32 `protobuf:"varint,12,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+}
+
+func (x *GCGDuelChallenge) Reset() {
+ *x = GCGDuelChallenge{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDuelChallenge_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDuelChallenge) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDuelChallenge) ProtoMessage() {}
+
+func (x *GCGDuelChallenge) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDuelChallenge_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDuelChallenge.ProtoReflect.Descriptor instead.
+func (*GCGDuelChallenge) Descriptor() ([]byte, []int) {
+ return file_GCGDuelChallenge_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDuelChallenge) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+func (x *GCGDuelChallenge) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *GCGDuelChallenge) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+var File_GCGDuelChallenge_proto protoreflect.FileDescriptor
+
+var file_GCGDuelChallenge_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x7f, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a,
+ 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDuelChallenge_proto_rawDescOnce sync.Once
+ file_GCGDuelChallenge_proto_rawDescData = file_GCGDuelChallenge_proto_rawDesc
+)
+
+func file_GCGDuelChallenge_proto_rawDescGZIP() []byte {
+ file_GCGDuelChallenge_proto_rawDescOnce.Do(func() {
+ file_GCGDuelChallenge_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDuelChallenge_proto_rawDescData)
+ })
+ return file_GCGDuelChallenge_proto_rawDescData
+}
+
+var file_GCGDuelChallenge_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGDuelChallenge_proto_goTypes = []interface{}{
+ (*GCGDuelChallenge)(nil), // 0: proto.GCGDuelChallenge
+}
+var file_GCGDuelChallenge_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGDuelChallenge_proto_init() }
+func file_GCGDuelChallenge_proto_init() {
+ if File_GCGDuelChallenge_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDuelChallenge_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDuelChallenge); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDuelChallenge_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDuelChallenge_proto_goTypes,
+ DependencyIndexes: file_GCGDuelChallenge_proto_depIdxs,
+ MessageInfos: file_GCGDuelChallenge_proto_msgTypes,
+ }.Build()
+ File_GCGDuelChallenge_proto = out.File
+ file_GCGDuelChallenge_proto_rawDesc = nil
+ file_GCGDuelChallenge_proto_goTypes = nil
+ file_GCGDuelChallenge_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGDuelExtra.pb.go b/protocol/proto/GCGDuelExtra.pb.go
new file mode 100644
index 00000000..4bc1115f
--- /dev/null
+++ b/protocol/proto/GCGDuelExtra.pb.go
@@ -0,0 +1,223 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGDuelExtra.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGDuelExtra struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardIdList []uint32 `protobuf:"varint,1,rep,packed,name=card_id_list,json=cardIdList,proto3" json:"card_id_list,omitempty"`
+ FieldId uint32 `protobuf:"varint,2,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
+ CardBackId uint32 `protobuf:"varint,3,opt,name=card_back_id,json=cardBackId,proto3" json:"card_back_id,omitempty"`
+ CardFaceMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=card_face_map,json=cardFaceMap,proto3" json:"card_face_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ChallengeList []*GCGChallengeData `protobuf:"bytes,5,rep,name=challenge_list,json=challengeList,proto3" json:"challenge_list,omitempty"`
+ Score uint32 `protobuf:"varint,6,opt,name=score,proto3" json:"score,omitempty"`
+}
+
+func (x *GCGDuelExtra) Reset() {
+ *x = GCGDuelExtra{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGDuelExtra_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGDuelExtra) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGDuelExtra) ProtoMessage() {}
+
+func (x *GCGDuelExtra) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGDuelExtra_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGDuelExtra.ProtoReflect.Descriptor instead.
+func (*GCGDuelExtra) Descriptor() ([]byte, []int) {
+ return file_GCGDuelExtra_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGDuelExtra) GetCardIdList() []uint32 {
+ if x != nil {
+ return x.CardIdList
+ }
+ return nil
+}
+
+func (x *GCGDuelExtra) GetFieldId() uint32 {
+ if x != nil {
+ return x.FieldId
+ }
+ return 0
+}
+
+func (x *GCGDuelExtra) GetCardBackId() uint32 {
+ if x != nil {
+ return x.CardBackId
+ }
+ return 0
+}
+
+func (x *GCGDuelExtra) GetCardFaceMap() map[uint32]uint32 {
+ if x != nil {
+ return x.CardFaceMap
+ }
+ return nil
+}
+
+func (x *GCGDuelExtra) GetChallengeList() []*GCGChallengeData {
+ if x != nil {
+ return x.ChallengeList
+ }
+ return nil
+}
+
+func (x *GCGDuelExtra) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+var File_GCGDuelExtra_proto protoreflect.FileDescriptor
+
+var file_GCGDuelExtra_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x02, 0x0a, 0x0c, 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c, 0x45,
+ 0x78, 0x74, 0x72, 0x61, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x49,
+ 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63,
+ 0x6b, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0d, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x44, 0x75, 0x65, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x2e,
+ 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x3e, 0x0a,
+ 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGDuelExtra_proto_rawDescOnce sync.Once
+ file_GCGDuelExtra_proto_rawDescData = file_GCGDuelExtra_proto_rawDesc
+)
+
+func file_GCGDuelExtra_proto_rawDescGZIP() []byte {
+ file_GCGDuelExtra_proto_rawDescOnce.Do(func() {
+ file_GCGDuelExtra_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGDuelExtra_proto_rawDescData)
+ })
+ return file_GCGDuelExtra_proto_rawDescData
+}
+
+var file_GCGDuelExtra_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGDuelExtra_proto_goTypes = []interface{}{
+ (*GCGDuelExtra)(nil), // 0: proto.GCGDuelExtra
+ nil, // 1: proto.GCGDuelExtra.CardFaceMapEntry
+ (*GCGChallengeData)(nil), // 2: proto.GCGChallengeData
+}
+var file_GCGDuelExtra_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGDuelExtra.card_face_map:type_name -> proto.GCGDuelExtra.CardFaceMapEntry
+ 2, // 1: proto.GCGDuelExtra.challenge_list:type_name -> proto.GCGChallengeData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GCGDuelExtra_proto_init() }
+func file_GCGDuelExtra_proto_init() {
+ if File_GCGDuelExtra_proto != nil {
+ return
+ }
+ file_GCGChallengeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGDuelExtra_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGDuelExtra); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGDuelExtra_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGDuelExtra_proto_goTypes,
+ DependencyIndexes: file_GCGDuelExtra_proto_depIdxs,
+ MessageInfos: file_GCGDuelExtra_proto_msgTypes,
+ }.Build()
+ File_GCGDuelExtra_proto = out.File
+ file_GCGDuelExtra_proto_rawDesc = nil
+ file_GCGDuelExtra_proto_goTypes = nil
+ file_GCGDuelExtra_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGEndReason.pb.go b/protocol/proto/GCGEndReason.pb.go
new file mode 100644
index 00000000..e2c442c5
--- /dev/null
+++ b/protocol/proto/GCGEndReason.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGEndReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGEndReason int32
+
+const (
+ GCGEndReason_GCG_END_REASON_DEFAULT GCGEndReason = 0
+ GCGEndReason_GCG_END_REASON_DIE GCGEndReason = 1
+ GCGEndReason_GCG_END_REASON_SURRENDER GCGEndReason = 2
+ GCGEndReason_GCG_END_REASON_DISCONNECTED GCGEndReason = 3
+ GCGEndReason_GCG_END_REASON_ROUND_LIMIT GCGEndReason = 4
+)
+
+// Enum value maps for GCGEndReason.
+var (
+ GCGEndReason_name = map[int32]string{
+ 0: "GCG_END_REASON_DEFAULT",
+ 1: "GCG_END_REASON_DIE",
+ 2: "GCG_END_REASON_SURRENDER",
+ 3: "GCG_END_REASON_DISCONNECTED",
+ 4: "GCG_END_REASON_ROUND_LIMIT",
+ }
+ GCGEndReason_value = map[string]int32{
+ "GCG_END_REASON_DEFAULT": 0,
+ "GCG_END_REASON_DIE": 1,
+ "GCG_END_REASON_SURRENDER": 2,
+ "GCG_END_REASON_DISCONNECTED": 3,
+ "GCG_END_REASON_ROUND_LIMIT": 4,
+ }
+)
+
+func (x GCGEndReason) Enum() *GCGEndReason {
+ p := new(GCGEndReason)
+ *p = x
+ return p
+}
+
+func (x GCGEndReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGEndReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGEndReason_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGEndReason) Type() protoreflect.EnumType {
+ return &file_GCGEndReason_proto_enumTypes[0]
+}
+
+func (x GCGEndReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGEndReason.Descriptor instead.
+func (GCGEndReason) EnumDescriptor() ([]byte, []int) {
+ return file_GCGEndReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGEndReason_proto protoreflect.FileDescriptor
+
+var file_GCGEndReason_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x43, 0x47, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xa1, 0x01, 0x0a, 0x0c,
+ 0x47, 0x43, 0x47, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16,
+ 0x47, 0x43, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44,
+ 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x5f,
+ 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x45, 0x10, 0x01,
+ 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1f,
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12,
+ 0x1e, 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x5f, 0x45, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x04, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGEndReason_proto_rawDescOnce sync.Once
+ file_GCGEndReason_proto_rawDescData = file_GCGEndReason_proto_rawDesc
+)
+
+func file_GCGEndReason_proto_rawDescGZIP() []byte {
+ file_GCGEndReason_proto_rawDescOnce.Do(func() {
+ file_GCGEndReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGEndReason_proto_rawDescData)
+ })
+ return file_GCGEndReason_proto_rawDescData
+}
+
+var file_GCGEndReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGEndReason_proto_goTypes = []interface{}{
+ (GCGEndReason)(0), // 0: proto.GCGEndReason
+}
+var file_GCGEndReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGEndReason_proto_init() }
+func file_GCGEndReason_proto_init() {
+ if File_GCGEndReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGEndReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGEndReason_proto_goTypes,
+ DependencyIndexes: file_GCGEndReason_proto_depIdxs,
+ EnumInfos: file_GCGEndReason_proto_enumTypes,
+ }.Build()
+ File_GCGEndReason_proto = out.File
+ file_GCGEndReason_proto_rawDesc = nil
+ file_GCGEndReason_proto_goTypes = nil
+ file_GCGEndReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGGameBriefData.pb.go b/protocol/proto/GCGGameBriefData.pb.go
new file mode 100644
index 00000000..925395a1
--- /dev/null
+++ b/protocol/proto/GCGGameBriefData.pb.go
@@ -0,0 +1,212 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGGameBriefData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGGameBriefData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GameId uint32 `protobuf:"varint,14,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
+ GameUid uint32 `protobuf:"varint,9,opt,name=game_uid,json=gameUid,proto3" json:"game_uid,omitempty"`
+ BusinessType GCGGameBusinessType `protobuf:"varint,13,opt,name=business_type,json=businessType,proto3,enum=proto.GCGGameBusinessType" json:"business_type,omitempty"`
+ VerifyCode uint32 `protobuf:"varint,5,opt,name=verify_code,json=verifyCode,proto3" json:"verify_code,omitempty"`
+ PlayerBriefList []*GCGPlayerBriefData `protobuf:"bytes,12,rep,name=player_brief_list,json=playerBriefList,proto3" json:"player_brief_list,omitempty"`
+}
+
+func (x *GCGGameBriefData) Reset() {
+ *x = GCGGameBriefData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGGameBriefData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGGameBriefData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGGameBriefData) ProtoMessage() {}
+
+func (x *GCGGameBriefData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGGameBriefData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGGameBriefData.ProtoReflect.Descriptor instead.
+func (*GCGGameBriefData) Descriptor() ([]byte, []int) {
+ return file_GCGGameBriefData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGGameBriefData) GetGameId() uint32 {
+ if x != nil {
+ return x.GameId
+ }
+ return 0
+}
+
+func (x *GCGGameBriefData) GetGameUid() uint32 {
+ if x != nil {
+ return x.GameUid
+ }
+ return 0
+}
+
+func (x *GCGGameBriefData) GetBusinessType() GCGGameBusinessType {
+ if x != nil {
+ return x.BusinessType
+ }
+ return GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_NONE
+}
+
+func (x *GCGGameBriefData) GetVerifyCode() uint32 {
+ if x != nil {
+ return x.VerifyCode
+ }
+ return 0
+}
+
+func (x *GCGGameBriefData) GetPlayerBriefList() []*GCGPlayerBriefData {
+ if x != nil {
+ return x.PlayerBriefList
+ }
+ return nil
+}
+
+var File_GCGGameBriefData_proto protoreflect.FileDescriptor
+
+var file_GCGGameBriefData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x72, 0x69, 0x65, 0x66, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x19, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x47, 0x43, 0x47, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x01, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65,
+ 0x42, 0x72, 0x69, 0x65, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65,
+ 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x55, 0x69, 0x64, 0x12, 0x3f, 0x0a,
+ 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x47, 0x61, 0x6d, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12,
+ 0x45, 0x0a, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGGameBriefData_proto_rawDescOnce sync.Once
+ file_GCGGameBriefData_proto_rawDescData = file_GCGGameBriefData_proto_rawDesc
+)
+
+func file_GCGGameBriefData_proto_rawDescGZIP() []byte {
+ file_GCGGameBriefData_proto_rawDescOnce.Do(func() {
+ file_GCGGameBriefData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGGameBriefData_proto_rawDescData)
+ })
+ return file_GCGGameBriefData_proto_rawDescData
+}
+
+var file_GCGGameBriefData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGGameBriefData_proto_goTypes = []interface{}{
+ (*GCGGameBriefData)(nil), // 0: proto.GCGGameBriefData
+ (GCGGameBusinessType)(0), // 1: proto.GCGGameBusinessType
+ (*GCGPlayerBriefData)(nil), // 2: proto.GCGPlayerBriefData
+}
+var file_GCGGameBriefData_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGGameBriefData.business_type:type_name -> proto.GCGGameBusinessType
+ 2, // 1: proto.GCGGameBriefData.player_brief_list:type_name -> proto.GCGPlayerBriefData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GCGGameBriefData_proto_init() }
+func file_GCGGameBriefData_proto_init() {
+ if File_GCGGameBriefData_proto != nil {
+ return
+ }
+ file_GCGGameBusinessType_proto_init()
+ file_GCGPlayerBriefData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGGameBriefData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGGameBriefData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGGameBriefData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGGameBriefData_proto_goTypes,
+ DependencyIndexes: file_GCGGameBriefData_proto_depIdxs,
+ MessageInfos: file_GCGGameBriefData_proto_msgTypes,
+ }.Build()
+ File_GCGGameBriefData_proto = out.File
+ file_GCGGameBriefData_proto_rawDesc = nil
+ file_GCGGameBriefData_proto_goTypes = nil
+ file_GCGGameBriefData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGGameBriefDataNotify.pb.go b/protocol/proto/GCGGameBriefDataNotify.pb.go
new file mode 100644
index 00000000..c43a0479
--- /dev/null
+++ b/protocol/proto/GCGGameBriefDataNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGGameBriefDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7539
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGGameBriefDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GcgBriefData *GCGGameBriefData `protobuf:"bytes,10,opt,name=gcg_brief_data,json=gcgBriefData,proto3" json:"gcg_brief_data,omitempty"`
+}
+
+func (x *GCGGameBriefDataNotify) Reset() {
+ *x = GCGGameBriefDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGGameBriefDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGGameBriefDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGGameBriefDataNotify) ProtoMessage() {}
+
+func (x *GCGGameBriefDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGGameBriefDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGGameBriefDataNotify.ProtoReflect.Descriptor instead.
+func (*GCGGameBriefDataNotify) Descriptor() ([]byte, []int) {
+ return file_GCGGameBriefDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGGameBriefDataNotify) GetGcgBriefData() *GCGGameBriefData {
+ if x != nil {
+ return x.GcgBriefData
+ }
+ return nil
+}
+
+var File_GCGGameBriefDataNotify_proto protoreflect.FileDescriptor
+
+var file_GCGGameBriefDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x72, 0x69, 0x65, 0x66, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x72,
+ 0x69, 0x65, 0x66, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a,
+ 0x16, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x72, 0x69, 0x65, 0x66, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3d, 0x0a, 0x0e, 0x67, 0x63, 0x67, 0x5f, 0x62,
+ 0x72, 0x69, 0x65, 0x66, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x67, 0x63, 0x67, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGGameBriefDataNotify_proto_rawDescOnce sync.Once
+ file_GCGGameBriefDataNotify_proto_rawDescData = file_GCGGameBriefDataNotify_proto_rawDesc
+)
+
+func file_GCGGameBriefDataNotify_proto_rawDescGZIP() []byte {
+ file_GCGGameBriefDataNotify_proto_rawDescOnce.Do(func() {
+ file_GCGGameBriefDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGGameBriefDataNotify_proto_rawDescData)
+ })
+ return file_GCGGameBriefDataNotify_proto_rawDescData
+}
+
+var file_GCGGameBriefDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGGameBriefDataNotify_proto_goTypes = []interface{}{
+ (*GCGGameBriefDataNotify)(nil), // 0: proto.GCGGameBriefDataNotify
+ (*GCGGameBriefData)(nil), // 1: proto.GCGGameBriefData
+}
+var file_GCGGameBriefDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGGameBriefDataNotify.gcg_brief_data:type_name -> proto.GCGGameBriefData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGGameBriefDataNotify_proto_init() }
+func file_GCGGameBriefDataNotify_proto_init() {
+ if File_GCGGameBriefDataNotify_proto != nil {
+ return
+ }
+ file_GCGGameBriefData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGGameBriefDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGGameBriefDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGGameBriefDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGGameBriefDataNotify_proto_goTypes,
+ DependencyIndexes: file_GCGGameBriefDataNotify_proto_depIdxs,
+ MessageInfos: file_GCGGameBriefDataNotify_proto_msgTypes,
+ }.Build()
+ File_GCGGameBriefDataNotify_proto = out.File
+ file_GCGGameBriefDataNotify_proto_rawDesc = nil
+ file_GCGGameBriefDataNotify_proto_goTypes = nil
+ file_GCGGameBriefDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGGameBusinessType.pb.go b/protocol/proto/GCGGameBusinessType.pb.go
new file mode 100644
index 00000000..707d540c
--- /dev/null
+++ b/protocol/proto/GCGGameBusinessType.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGGameBusinessType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGGameBusinessType int32
+
+const (
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_NONE GCGGameBusinessType = 0
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_GM GCGGameBusinessType = 1
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_MATCH GCGGameBusinessType = 2
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_PVP GCGGameBusinessType = 3
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_TAVERN_CHALLENGE GCGGameBusinessType = 4
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_CONST_CHALLENGE GCGGameBusinessType = 5
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_WORLD_CHALLENGE GCGGameBusinessType = 6
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_BOSS_CHALLENGE GCGGameBusinessType = 7
+ GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_WEEK_CHALLENGE GCGGameBusinessType = 8
+)
+
+// Enum value maps for GCGGameBusinessType.
+var (
+ GCGGameBusinessType_name = map[int32]string{
+ 0: "GCG_GAME_BUSINESS_TYPE_NONE",
+ 1: "GCG_GAME_BUSINESS_TYPE_GM",
+ 2: "GCG_GAME_BUSINESS_TYPE_MATCH",
+ 3: "GCG_GAME_BUSINESS_TYPE_PVP",
+ 4: "GCG_GAME_BUSINESS_TYPE_TAVERN_CHALLENGE",
+ 5: "GCG_GAME_BUSINESS_TYPE_CONST_CHALLENGE",
+ 6: "GCG_GAME_BUSINESS_TYPE_WORLD_CHALLENGE",
+ 7: "GCG_GAME_BUSINESS_TYPE_BOSS_CHALLENGE",
+ 8: "GCG_GAME_BUSINESS_TYPE_WEEK_CHALLENGE",
+ }
+ GCGGameBusinessType_value = map[string]int32{
+ "GCG_GAME_BUSINESS_TYPE_NONE": 0,
+ "GCG_GAME_BUSINESS_TYPE_GM": 1,
+ "GCG_GAME_BUSINESS_TYPE_MATCH": 2,
+ "GCG_GAME_BUSINESS_TYPE_PVP": 3,
+ "GCG_GAME_BUSINESS_TYPE_TAVERN_CHALLENGE": 4,
+ "GCG_GAME_BUSINESS_TYPE_CONST_CHALLENGE": 5,
+ "GCG_GAME_BUSINESS_TYPE_WORLD_CHALLENGE": 6,
+ "GCG_GAME_BUSINESS_TYPE_BOSS_CHALLENGE": 7,
+ "GCG_GAME_BUSINESS_TYPE_WEEK_CHALLENGE": 8,
+ }
+)
+
+func (x GCGGameBusinessType) Enum() *GCGGameBusinessType {
+ p := new(GCGGameBusinessType)
+ *p = x
+ return p
+}
+
+func (x GCGGameBusinessType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGGameBusinessType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGGameBusinessType_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGGameBusinessType) Type() protoreflect.EnumType {
+ return &file_GCGGameBusinessType_proto_enumTypes[0]
+}
+
+func (x GCGGameBusinessType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGGameBusinessType.Descriptor instead.
+func (GCGGameBusinessType) EnumDescriptor() ([]byte, []int) {
+ return file_GCGGameBusinessType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGGameBusinessType_proto protoreflect.FileDescriptor
+
+var file_GCGGameBusinessType_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73,
+ 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2a, 0xf2, 0x02, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x75,
+ 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x43,
+ 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x47,
+ 0x43, 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x4d, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x43,
+ 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a,
+ 0x47, 0x43, 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53,
+ 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x56, 0x50, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27,
+ 0x47, 0x43, 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53,
+ 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x41, 0x56, 0x45, 0x52, 0x4e, 0x5f, 0x43, 0x48,
+ 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x47, 0x43, 0x47,
+ 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45,
+ 0x4e, 0x47, 0x45, 0x10, 0x05, 0x12, 0x2a, 0x0a, 0x26, 0x47, 0x43, 0x47, 0x5f, 0x47, 0x41, 0x4d,
+ 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10,
+ 0x06, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x43, 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x55,
+ 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x53, 0x53,
+ 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, 0x07, 0x12, 0x29, 0x0a, 0x25,
+ 0x47, 0x43, 0x47, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53,
+ 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x45, 0x4b, 0x5f, 0x43, 0x48, 0x41, 0x4c,
+ 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x10, 0x08, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGGameBusinessType_proto_rawDescOnce sync.Once
+ file_GCGGameBusinessType_proto_rawDescData = file_GCGGameBusinessType_proto_rawDesc
+)
+
+func file_GCGGameBusinessType_proto_rawDescGZIP() []byte {
+ file_GCGGameBusinessType_proto_rawDescOnce.Do(func() {
+ file_GCGGameBusinessType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGGameBusinessType_proto_rawDescData)
+ })
+ return file_GCGGameBusinessType_proto_rawDescData
+}
+
+var file_GCGGameBusinessType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGGameBusinessType_proto_goTypes = []interface{}{
+ (GCGGameBusinessType)(0), // 0: proto.GCGGameBusinessType
+}
+var file_GCGGameBusinessType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGGameBusinessType_proto_init() }
+func file_GCGGameBusinessType_proto_init() {
+ if File_GCGGameBusinessType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGGameBusinessType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGGameBusinessType_proto_goTypes,
+ DependencyIndexes: file_GCGGameBusinessType_proto_depIdxs,
+ EnumInfos: file_GCGGameBusinessType_proto_enumTypes,
+ }.Build()
+ File_GCGGameBusinessType_proto = out.File
+ file_GCGGameBusinessType_proto_rawDesc = nil
+ file_GCGGameBusinessType_proto_goTypes = nil
+ file_GCGGameBusinessType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGGrowthLevelNotify.pb.go b/protocol/proto/GCGGrowthLevelNotify.pb.go
new file mode 100644
index 00000000..a4026e74
--- /dev/null
+++ b/protocol/proto/GCGGrowthLevelNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGGrowthLevelNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7736
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGGrowthLevelNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Exp uint32 `protobuf:"varint,7,opt,name=exp,proto3" json:"exp,omitempty"`
+ Level uint32 `protobuf:"varint,11,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *GCGGrowthLevelNotify) Reset() {
+ *x = GCGGrowthLevelNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGGrowthLevelNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGGrowthLevelNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGGrowthLevelNotify) ProtoMessage() {}
+
+func (x *GCGGrowthLevelNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGGrowthLevelNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGGrowthLevelNotify.ProtoReflect.Descriptor instead.
+func (*GCGGrowthLevelNotify) Descriptor() ([]byte, []int) {
+ return file_GCGGrowthLevelNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGGrowthLevelNotify) GetExp() uint32 {
+ if x != nil {
+ return x.Exp
+ }
+ return 0
+}
+
+func (x *GCGGrowthLevelNotify) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_GCGGrowthLevelNotify_proto protoreflect.FileDescriptor
+
+var file_GCGGrowthLevelNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x65,
+ 0x78, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x14, 0x0a,
+ 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGGrowthLevelNotify_proto_rawDescOnce sync.Once
+ file_GCGGrowthLevelNotify_proto_rawDescData = file_GCGGrowthLevelNotify_proto_rawDesc
+)
+
+func file_GCGGrowthLevelNotify_proto_rawDescGZIP() []byte {
+ file_GCGGrowthLevelNotify_proto_rawDescOnce.Do(func() {
+ file_GCGGrowthLevelNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGGrowthLevelNotify_proto_rawDescData)
+ })
+ return file_GCGGrowthLevelNotify_proto_rawDescData
+}
+
+var file_GCGGrowthLevelNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGGrowthLevelNotify_proto_goTypes = []interface{}{
+ (*GCGGrowthLevelNotify)(nil), // 0: proto.GCGGrowthLevelNotify
+}
+var file_GCGGrowthLevelNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGGrowthLevelNotify_proto_init() }
+func file_GCGGrowthLevelNotify_proto_init() {
+ if File_GCGGrowthLevelNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGGrowthLevelNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGGrowthLevelNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGGrowthLevelNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGGrowthLevelNotify_proto_goTypes,
+ DependencyIndexes: file_GCGGrowthLevelNotify_proto_depIdxs,
+ MessageInfos: file_GCGGrowthLevelNotify_proto_msgTypes,
+ }.Build()
+ File_GCGGrowthLevelNotify_proto = out.File
+ file_GCGGrowthLevelNotify_proto_rawDesc = nil
+ file_GCGGrowthLevelNotify_proto_goTypes = nil
+ file_GCGGrowthLevelNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGGrowthLevelRewardNotify.pb.go b/protocol/proto/GCGGrowthLevelRewardNotify.pb.go
new file mode 100644
index 00000000..09d6d7d4
--- /dev/null
+++ b/protocol/proto/GCGGrowthLevelRewardNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGGrowthLevelRewardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7477
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGGrowthLevelRewardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelRewardTakenList []uint32 `protobuf:"varint,8,rep,packed,name=level_reward_taken_list,json=levelRewardTakenList,proto3" json:"level_reward_taken_list,omitempty"`
+}
+
+func (x *GCGGrowthLevelRewardNotify) Reset() {
+ *x = GCGGrowthLevelRewardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGGrowthLevelRewardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGGrowthLevelRewardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGGrowthLevelRewardNotify) ProtoMessage() {}
+
+func (x *GCGGrowthLevelRewardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGGrowthLevelRewardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGGrowthLevelRewardNotify.ProtoReflect.Descriptor instead.
+func (*GCGGrowthLevelRewardNotify) Descriptor() ([]byte, []int) {
+ return file_GCGGrowthLevelRewardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGGrowthLevelRewardNotify) GetLevelRewardTakenList() []uint32 {
+ if x != nil {
+ return x.LevelRewardTakenList
+ }
+ return nil
+}
+
+var File_GCGGrowthLevelRewardNotify_proto protoreflect.FileDescriptor
+
+var file_GCGGrowthLevelRewardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x43, 0x47, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1a, 0x47, 0x43, 0x47,
+ 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x17, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGGrowthLevelRewardNotify_proto_rawDescOnce sync.Once
+ file_GCGGrowthLevelRewardNotify_proto_rawDescData = file_GCGGrowthLevelRewardNotify_proto_rawDesc
+)
+
+func file_GCGGrowthLevelRewardNotify_proto_rawDescGZIP() []byte {
+ file_GCGGrowthLevelRewardNotify_proto_rawDescOnce.Do(func() {
+ file_GCGGrowthLevelRewardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGGrowthLevelRewardNotify_proto_rawDescData)
+ })
+ return file_GCGGrowthLevelRewardNotify_proto_rawDescData
+}
+
+var file_GCGGrowthLevelRewardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGGrowthLevelRewardNotify_proto_goTypes = []interface{}{
+ (*GCGGrowthLevelRewardNotify)(nil), // 0: proto.GCGGrowthLevelRewardNotify
+}
+var file_GCGGrowthLevelRewardNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGGrowthLevelRewardNotify_proto_init() }
+func file_GCGGrowthLevelRewardNotify_proto_init() {
+ if File_GCGGrowthLevelRewardNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGGrowthLevelRewardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGGrowthLevelRewardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGGrowthLevelRewardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGGrowthLevelRewardNotify_proto_goTypes,
+ DependencyIndexes: file_GCGGrowthLevelRewardNotify_proto_depIdxs,
+ MessageInfos: file_GCGGrowthLevelRewardNotify_proto_msgTypes,
+ }.Build()
+ File_GCGGrowthLevelRewardNotify_proto = out.File
+ file_GCGGrowthLevelRewardNotify_proto_rawDesc = nil
+ file_GCGGrowthLevelRewardNotify_proto_goTypes = nil
+ file_GCGGrowthLevelRewardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGGrowthLevelTakeRewardReq.pb.go b/protocol/proto/GCGGrowthLevelTakeRewardReq.pb.go
new file mode 100644
index 00000000..5eb7825f
--- /dev/null
+++ b/protocol/proto/GCGGrowthLevelTakeRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGGrowthLevelTakeRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7051
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGGrowthLevelTakeRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,4,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *GCGGrowthLevelTakeRewardReq) Reset() {
+ *x = GCGGrowthLevelTakeRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGGrowthLevelTakeRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGGrowthLevelTakeRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGGrowthLevelTakeRewardReq) ProtoMessage() {}
+
+func (x *GCGGrowthLevelTakeRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGGrowthLevelTakeRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGGrowthLevelTakeRewardReq.ProtoReflect.Descriptor instead.
+func (*GCGGrowthLevelTakeRewardReq) Descriptor() ([]byte, []int) {
+ return file_GCGGrowthLevelTakeRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGGrowthLevelTakeRewardReq) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_GCGGrowthLevelTakeRewardReq_proto protoreflect.FileDescriptor
+
+var file_GCGGrowthLevelTakeRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x43, 0x47, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x1b, 0x47, 0x43,
+ 0x47, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x6b, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGGrowthLevelTakeRewardReq_proto_rawDescOnce sync.Once
+ file_GCGGrowthLevelTakeRewardReq_proto_rawDescData = file_GCGGrowthLevelTakeRewardReq_proto_rawDesc
+)
+
+func file_GCGGrowthLevelTakeRewardReq_proto_rawDescGZIP() []byte {
+ file_GCGGrowthLevelTakeRewardReq_proto_rawDescOnce.Do(func() {
+ file_GCGGrowthLevelTakeRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGGrowthLevelTakeRewardReq_proto_rawDescData)
+ })
+ return file_GCGGrowthLevelTakeRewardReq_proto_rawDescData
+}
+
+var file_GCGGrowthLevelTakeRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGGrowthLevelTakeRewardReq_proto_goTypes = []interface{}{
+ (*GCGGrowthLevelTakeRewardReq)(nil), // 0: proto.GCGGrowthLevelTakeRewardReq
+}
+var file_GCGGrowthLevelTakeRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGGrowthLevelTakeRewardReq_proto_init() }
+func file_GCGGrowthLevelTakeRewardReq_proto_init() {
+ if File_GCGGrowthLevelTakeRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGGrowthLevelTakeRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGGrowthLevelTakeRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGGrowthLevelTakeRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGGrowthLevelTakeRewardReq_proto_goTypes,
+ DependencyIndexes: file_GCGGrowthLevelTakeRewardReq_proto_depIdxs,
+ MessageInfos: file_GCGGrowthLevelTakeRewardReq_proto_msgTypes,
+ }.Build()
+ File_GCGGrowthLevelTakeRewardReq_proto = out.File
+ file_GCGGrowthLevelTakeRewardReq_proto_rawDesc = nil
+ file_GCGGrowthLevelTakeRewardReq_proto_goTypes = nil
+ file_GCGGrowthLevelTakeRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGGrowthLevelTakeRewardRsp.pb.go b/protocol/proto/GCGGrowthLevelTakeRewardRsp.pb.go
new file mode 100644
index 00000000..91964152
--- /dev/null
+++ b/protocol/proto/GCGGrowthLevelTakeRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGGrowthLevelTakeRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7670
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGGrowthLevelTakeRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGGrowthLevelTakeRewardRsp) Reset() {
+ *x = GCGGrowthLevelTakeRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGGrowthLevelTakeRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGGrowthLevelTakeRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGGrowthLevelTakeRewardRsp) ProtoMessage() {}
+
+func (x *GCGGrowthLevelTakeRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGGrowthLevelTakeRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGGrowthLevelTakeRewardRsp.ProtoReflect.Descriptor instead.
+func (*GCGGrowthLevelTakeRewardRsp) Descriptor() ([]byte, []int) {
+ return file_GCGGrowthLevelTakeRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGGrowthLevelTakeRewardRsp) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *GCGGrowthLevelTakeRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGGrowthLevelTakeRewardRsp_proto protoreflect.FileDescriptor
+
+var file_GCGGrowthLevelTakeRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x43, 0x47, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x1b, 0x47, 0x43,
+ 0x47, 0x47, 0x72, 0x6f, 0x77, 0x74, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x6b, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGGrowthLevelTakeRewardRsp_proto_rawDescOnce sync.Once
+ file_GCGGrowthLevelTakeRewardRsp_proto_rawDescData = file_GCGGrowthLevelTakeRewardRsp_proto_rawDesc
+)
+
+func file_GCGGrowthLevelTakeRewardRsp_proto_rawDescGZIP() []byte {
+ file_GCGGrowthLevelTakeRewardRsp_proto_rawDescOnce.Do(func() {
+ file_GCGGrowthLevelTakeRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGGrowthLevelTakeRewardRsp_proto_rawDescData)
+ })
+ return file_GCGGrowthLevelTakeRewardRsp_proto_rawDescData
+}
+
+var file_GCGGrowthLevelTakeRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGGrowthLevelTakeRewardRsp_proto_goTypes = []interface{}{
+ (*GCGGrowthLevelTakeRewardRsp)(nil), // 0: proto.GCGGrowthLevelTakeRewardRsp
+}
+var file_GCGGrowthLevelTakeRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGGrowthLevelTakeRewardRsp_proto_init() }
+func file_GCGGrowthLevelTakeRewardRsp_proto_init() {
+ if File_GCGGrowthLevelTakeRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGGrowthLevelTakeRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGGrowthLevelTakeRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGGrowthLevelTakeRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGGrowthLevelTakeRewardRsp_proto_goTypes,
+ DependencyIndexes: file_GCGGrowthLevelTakeRewardRsp_proto_depIdxs,
+ MessageInfos: file_GCGGrowthLevelTakeRewardRsp_proto_msgTypes,
+ }.Build()
+ File_GCGGrowthLevelTakeRewardRsp_proto = out.File
+ file_GCGGrowthLevelTakeRewardRsp_proto_rawDesc = nil
+ file_GCGGrowthLevelTakeRewardRsp_proto_goTypes = nil
+ file_GCGGrowthLevelTakeRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGHeartBeatNotify.pb.go b/protocol/proto/GCGHeartBeatNotify.pb.go
new file mode 100644
index 00000000..034ca4d6
--- /dev/null
+++ b/protocol/proto/GCGHeartBeatNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGHeartBeatNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7224
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGHeartBeatNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerSeq uint32 `protobuf:"varint,6,opt,name=server_seq,json=serverSeq,proto3" json:"server_seq,omitempty"`
+}
+
+func (x *GCGHeartBeatNotify) Reset() {
+ *x = GCGHeartBeatNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGHeartBeatNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGHeartBeatNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGHeartBeatNotify) ProtoMessage() {}
+
+func (x *GCGHeartBeatNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGHeartBeatNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGHeartBeatNotify.ProtoReflect.Descriptor instead.
+func (*GCGHeartBeatNotify) Descriptor() ([]byte, []int) {
+ return file_GCGHeartBeatNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGHeartBeatNotify) GetServerSeq() uint32 {
+ if x != nil {
+ return x.ServerSeq
+ }
+ return 0
+}
+
+var File_GCGHeartBeatNotify_proto protoreflect.FileDescriptor
+
+var file_GCGHeartBeatNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x48, 0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x33, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x48, 0x65, 0x61, 0x72, 0x74, 0x42, 0x65, 0x61,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x53, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGHeartBeatNotify_proto_rawDescOnce sync.Once
+ file_GCGHeartBeatNotify_proto_rawDescData = file_GCGHeartBeatNotify_proto_rawDesc
+)
+
+func file_GCGHeartBeatNotify_proto_rawDescGZIP() []byte {
+ file_GCGHeartBeatNotify_proto_rawDescOnce.Do(func() {
+ file_GCGHeartBeatNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGHeartBeatNotify_proto_rawDescData)
+ })
+ return file_GCGHeartBeatNotify_proto_rawDescData
+}
+
+var file_GCGHeartBeatNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGHeartBeatNotify_proto_goTypes = []interface{}{
+ (*GCGHeartBeatNotify)(nil), // 0: proto.GCGHeartBeatNotify
+}
+var file_GCGHeartBeatNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGHeartBeatNotify_proto_init() }
+func file_GCGHeartBeatNotify_proto_init() {
+ if File_GCGHeartBeatNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGHeartBeatNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGHeartBeatNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGHeartBeatNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGHeartBeatNotify_proto_goTypes,
+ DependencyIndexes: file_GCGHeartBeatNotify_proto_depIdxs,
+ MessageInfos: file_GCGHeartBeatNotify_proto_msgTypes,
+ }.Build()
+ File_GCGHeartBeatNotify_proto = out.File
+ file_GCGHeartBeatNotify_proto_rawDesc = nil
+ file_GCGHeartBeatNotify_proto_goTypes = nil
+ file_GCGHeartBeatNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGInitFinishReq.pb.go b/protocol/proto/GCGInitFinishReq.pb.go
new file mode 100644
index 00000000..339e5b12
--- /dev/null
+++ b/protocol/proto/GCGInitFinishReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGInitFinishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7684
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGInitFinishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GCGInitFinishReq) Reset() {
+ *x = GCGInitFinishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGInitFinishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGInitFinishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGInitFinishReq) ProtoMessage() {}
+
+func (x *GCGInitFinishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGInitFinishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGInitFinishReq.ProtoReflect.Descriptor instead.
+func (*GCGInitFinishReq) Descriptor() ([]byte, []int) {
+ return file_GCGInitFinishReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGInitFinishReq_proto protoreflect.FileDescriptor
+
+var file_GCGInitFinishReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x12, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGInitFinishReq_proto_rawDescOnce sync.Once
+ file_GCGInitFinishReq_proto_rawDescData = file_GCGInitFinishReq_proto_rawDesc
+)
+
+func file_GCGInitFinishReq_proto_rawDescGZIP() []byte {
+ file_GCGInitFinishReq_proto_rawDescOnce.Do(func() {
+ file_GCGInitFinishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGInitFinishReq_proto_rawDescData)
+ })
+ return file_GCGInitFinishReq_proto_rawDescData
+}
+
+var file_GCGInitFinishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGInitFinishReq_proto_goTypes = []interface{}{
+ (*GCGInitFinishReq)(nil), // 0: proto.GCGInitFinishReq
+}
+var file_GCGInitFinishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGInitFinishReq_proto_init() }
+func file_GCGInitFinishReq_proto_init() {
+ if File_GCGInitFinishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGInitFinishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGInitFinishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGInitFinishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGInitFinishReq_proto_goTypes,
+ DependencyIndexes: file_GCGInitFinishReq_proto_depIdxs,
+ MessageInfos: file_GCGInitFinishReq_proto_msgTypes,
+ }.Build()
+ File_GCGInitFinishReq_proto = out.File
+ file_GCGInitFinishReq_proto_rawDesc = nil
+ file_GCGInitFinishReq_proto_goTypes = nil
+ file_GCGInitFinishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGInitFinishRsp.pb.go b/protocol/proto/GCGInitFinishRsp.pb.go
new file mode 100644
index 00000000..287d886f
--- /dev/null
+++ b/protocol/proto/GCGInitFinishRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGInitFinishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7433
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGInitFinishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGInitFinishRsp) Reset() {
+ *x = GCGInitFinishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGInitFinishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGInitFinishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGInitFinishRsp) ProtoMessage() {}
+
+func (x *GCGInitFinishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGInitFinishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGInitFinishRsp.ProtoReflect.Descriptor instead.
+func (*GCGInitFinishRsp) Descriptor() ([]byte, []int) {
+ return file_GCGInitFinishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGInitFinishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGInitFinishRsp_proto protoreflect.FileDescriptor
+
+var file_GCGInitFinishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2c, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGInitFinishRsp_proto_rawDescOnce sync.Once
+ file_GCGInitFinishRsp_proto_rawDescData = file_GCGInitFinishRsp_proto_rawDesc
+)
+
+func file_GCGInitFinishRsp_proto_rawDescGZIP() []byte {
+ file_GCGInitFinishRsp_proto_rawDescOnce.Do(func() {
+ file_GCGInitFinishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGInitFinishRsp_proto_rawDescData)
+ })
+ return file_GCGInitFinishRsp_proto_rawDescData
+}
+
+var file_GCGInitFinishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGInitFinishRsp_proto_goTypes = []interface{}{
+ (*GCGInitFinishRsp)(nil), // 0: proto.GCGInitFinishRsp
+}
+var file_GCGInitFinishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGInitFinishRsp_proto_init() }
+func file_GCGInitFinishRsp_proto_init() {
+ if File_GCGInitFinishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGInitFinishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGInitFinishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGInitFinishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGInitFinishRsp_proto_goTypes,
+ DependencyIndexes: file_GCGInitFinishRsp_proto_depIdxs,
+ MessageInfos: file_GCGInitFinishRsp_proto_msgTypes,
+ }.Build()
+ File_GCGInitFinishRsp_proto = out.File
+ file_GCGInitFinishRsp_proto_rawDesc = nil
+ file_GCGInitFinishRsp_proto_goTypes = nil
+ file_GCGInitFinishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGInviteBattleNotify.pb.go b/protocol/proto/GCGInviteBattleNotify.pb.go
new file mode 100644
index 00000000..9436d0c6
--- /dev/null
+++ b/protocol/proto/GCGInviteBattleNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGInviteBattleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7692
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGInviteBattleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GCGInviteBattleNotify) Reset() {
+ *x = GCGInviteBattleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGInviteBattleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGInviteBattleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGInviteBattleNotify) ProtoMessage() {}
+
+func (x *GCGInviteBattleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGInviteBattleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGInviteBattleNotify.ProtoReflect.Descriptor instead.
+func (*GCGInviteBattleNotify) Descriptor() ([]byte, []int) {
+ return file_GCGInviteBattleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGInviteBattleNotify_proto protoreflect.FileDescriptor
+
+var file_GCGInviteBattleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x76, 0x69, 0x74,
+ 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGInviteBattleNotify_proto_rawDescOnce sync.Once
+ file_GCGInviteBattleNotify_proto_rawDescData = file_GCGInviteBattleNotify_proto_rawDesc
+)
+
+func file_GCGInviteBattleNotify_proto_rawDescGZIP() []byte {
+ file_GCGInviteBattleNotify_proto_rawDescOnce.Do(func() {
+ file_GCGInviteBattleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGInviteBattleNotify_proto_rawDescData)
+ })
+ return file_GCGInviteBattleNotify_proto_rawDescData
+}
+
+var file_GCGInviteBattleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGInviteBattleNotify_proto_goTypes = []interface{}{
+ (*GCGInviteBattleNotify)(nil), // 0: proto.GCGInviteBattleNotify
+}
+var file_GCGInviteBattleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGInviteBattleNotify_proto_init() }
+func file_GCGInviteBattleNotify_proto_init() {
+ if File_GCGInviteBattleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGInviteBattleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGInviteBattleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGInviteBattleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGInviteBattleNotify_proto_goTypes,
+ DependencyIndexes: file_GCGInviteBattleNotify_proto_depIdxs,
+ MessageInfos: file_GCGInviteBattleNotify_proto_msgTypes,
+ }.Build()
+ File_GCGInviteBattleNotify_proto = out.File
+ file_GCGInviteBattleNotify_proto_rawDesc = nil
+ file_GCGInviteBattleNotify_proto_goTypes = nil
+ file_GCGInviteBattleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGInviteGuestBattleReq.pb.go b/protocol/proto/GCGInviteGuestBattleReq.pb.go
new file mode 100644
index 00000000..7821db7e
--- /dev/null
+++ b/protocol/proto/GCGInviteGuestBattleReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGInviteGuestBattleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7783
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGInviteGuestBattleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,11,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GCGInviteGuestBattleReq) Reset() {
+ *x = GCGInviteGuestBattleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGInviteGuestBattleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGInviteGuestBattleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGInviteGuestBattleReq) ProtoMessage() {}
+
+func (x *GCGInviteGuestBattleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGInviteGuestBattleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGInviteGuestBattleReq.ProtoReflect.Descriptor instead.
+func (*GCGInviteGuestBattleReq) Descriptor() ([]byte, []int) {
+ return file_GCGInviteGuestBattleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGInviteGuestBattleReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GCGInviteGuestBattleReq_proto protoreflect.FileDescriptor
+
+var file_GCGInviteGuestBattleReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x76,
+ 0x69, 0x74, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65,
+ 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGInviteGuestBattleReq_proto_rawDescOnce sync.Once
+ file_GCGInviteGuestBattleReq_proto_rawDescData = file_GCGInviteGuestBattleReq_proto_rawDesc
+)
+
+func file_GCGInviteGuestBattleReq_proto_rawDescGZIP() []byte {
+ file_GCGInviteGuestBattleReq_proto_rawDescOnce.Do(func() {
+ file_GCGInviteGuestBattleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGInviteGuestBattleReq_proto_rawDescData)
+ })
+ return file_GCGInviteGuestBattleReq_proto_rawDescData
+}
+
+var file_GCGInviteGuestBattleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGInviteGuestBattleReq_proto_goTypes = []interface{}{
+ (*GCGInviteGuestBattleReq)(nil), // 0: proto.GCGInviteGuestBattleReq
+}
+var file_GCGInviteGuestBattleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGInviteGuestBattleReq_proto_init() }
+func file_GCGInviteGuestBattleReq_proto_init() {
+ if File_GCGInviteGuestBattleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGInviteGuestBattleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGInviteGuestBattleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGInviteGuestBattleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGInviteGuestBattleReq_proto_goTypes,
+ DependencyIndexes: file_GCGInviteGuestBattleReq_proto_depIdxs,
+ MessageInfos: file_GCGInviteGuestBattleReq_proto_msgTypes,
+ }.Build()
+ File_GCGInviteGuestBattleReq_proto = out.File
+ file_GCGInviteGuestBattleReq_proto_rawDesc = nil
+ file_GCGInviteGuestBattleReq_proto_goTypes = nil
+ file_GCGInviteGuestBattleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGInviteGuestBattleRsp.pb.go b/protocol/proto/GCGInviteGuestBattleRsp.pb.go
new file mode 100644
index 00000000..44b6b131
--- /dev/null
+++ b/protocol/proto/GCGInviteGuestBattleRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGInviteGuestBattleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7251
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGInviteGuestBattleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Uid uint32 `protobuf:"varint,11,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GCGInviteGuestBattleRsp) Reset() {
+ *x = GCGInviteGuestBattleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGInviteGuestBattleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGInviteGuestBattleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGInviteGuestBattleRsp) ProtoMessage() {}
+
+func (x *GCGInviteGuestBattleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGInviteGuestBattleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGInviteGuestBattleRsp.ProtoReflect.Descriptor instead.
+func (*GCGInviteGuestBattleRsp) Descriptor() ([]byte, []int) {
+ return file_GCGInviteGuestBattleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGInviteGuestBattleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGInviteGuestBattleRsp) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GCGInviteGuestBattleRsp_proto protoreflect.FileDescriptor
+
+var file_GCGInviteGuestBattleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x49, 0x6e, 0x76,
+ 0x69, 0x74, 0x65, 0x47, 0x75, 0x65, 0x73, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75,
+ 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGInviteGuestBattleRsp_proto_rawDescOnce sync.Once
+ file_GCGInviteGuestBattleRsp_proto_rawDescData = file_GCGInviteGuestBattleRsp_proto_rawDesc
+)
+
+func file_GCGInviteGuestBattleRsp_proto_rawDescGZIP() []byte {
+ file_GCGInviteGuestBattleRsp_proto_rawDescOnce.Do(func() {
+ file_GCGInviteGuestBattleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGInviteGuestBattleRsp_proto_rawDescData)
+ })
+ return file_GCGInviteGuestBattleRsp_proto_rawDescData
+}
+
+var file_GCGInviteGuestBattleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGInviteGuestBattleRsp_proto_goTypes = []interface{}{
+ (*GCGInviteGuestBattleRsp)(nil), // 0: proto.GCGInviteGuestBattleRsp
+}
+var file_GCGInviteGuestBattleRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGInviteGuestBattleRsp_proto_init() }
+func file_GCGInviteGuestBattleRsp_proto_init() {
+ if File_GCGInviteGuestBattleRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGInviteGuestBattleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGInviteGuestBattleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGInviteGuestBattleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGInviteGuestBattleRsp_proto_goTypes,
+ DependencyIndexes: file_GCGInviteGuestBattleRsp_proto_depIdxs,
+ MessageInfos: file_GCGInviteGuestBattleRsp_proto_msgTypes,
+ }.Build()
+ File_GCGInviteGuestBattleRsp_proto = out.File
+ file_GCGInviteGuestBattleRsp_proto_rawDesc = nil
+ file_GCGInviteGuestBattleRsp_proto_goTypes = nil
+ file_GCGInviteGuestBattleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGLevelChallengeFinishNotify.pb.go b/protocol/proto/GCGLevelChallengeFinishNotify.pb.go
new file mode 100644
index 00000000..804ebe27
--- /dev/null
+++ b/protocol/proto/GCGLevelChallengeFinishNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGLevelChallengeFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7629
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGLevelChallengeFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedChallengeIdList []uint32 `protobuf:"varint,10,rep,packed,name=finished_challenge_id_list,json=finishedChallengeIdList,proto3" json:"finished_challenge_id_list,omitempty"`
+ LevelId uint32 `protobuf:"varint,15,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *GCGLevelChallengeFinishNotify) Reset() {
+ *x = GCGLevelChallengeFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGLevelChallengeFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGLevelChallengeFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGLevelChallengeFinishNotify) ProtoMessage() {}
+
+func (x *GCGLevelChallengeFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGLevelChallengeFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGLevelChallengeFinishNotify.ProtoReflect.Descriptor instead.
+func (*GCGLevelChallengeFinishNotify) Descriptor() ([]byte, []int) {
+ return file_GCGLevelChallengeFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGLevelChallengeFinishNotify) GetFinishedChallengeIdList() []uint32 {
+ if x != nil {
+ return x.FinishedChallengeIdList
+ }
+ return nil
+}
+
+func (x *GCGLevelChallengeFinishNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_GCGLevelChallengeFinishNotify_proto protoreflect.FileDescriptor
+
+var file_GCGLevelChallengeFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x1d,
+ 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3b, 0x0a,
+ 0x1a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x17, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGLevelChallengeFinishNotify_proto_rawDescOnce sync.Once
+ file_GCGLevelChallengeFinishNotify_proto_rawDescData = file_GCGLevelChallengeFinishNotify_proto_rawDesc
+)
+
+func file_GCGLevelChallengeFinishNotify_proto_rawDescGZIP() []byte {
+ file_GCGLevelChallengeFinishNotify_proto_rawDescOnce.Do(func() {
+ file_GCGLevelChallengeFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGLevelChallengeFinishNotify_proto_rawDescData)
+ })
+ return file_GCGLevelChallengeFinishNotify_proto_rawDescData
+}
+
+var file_GCGLevelChallengeFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGLevelChallengeFinishNotify_proto_goTypes = []interface{}{
+ (*GCGLevelChallengeFinishNotify)(nil), // 0: proto.GCGLevelChallengeFinishNotify
+}
+var file_GCGLevelChallengeFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGLevelChallengeFinishNotify_proto_init() }
+func file_GCGLevelChallengeFinishNotify_proto_init() {
+ if File_GCGLevelChallengeFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGLevelChallengeFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGLevelChallengeFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGLevelChallengeFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGLevelChallengeFinishNotify_proto_goTypes,
+ DependencyIndexes: file_GCGLevelChallengeFinishNotify_proto_depIdxs,
+ MessageInfos: file_GCGLevelChallengeFinishNotify_proto_msgTypes,
+ }.Build()
+ File_GCGLevelChallengeFinishNotify_proto = out.File
+ file_GCGLevelChallengeFinishNotify_proto_rawDesc = nil
+ file_GCGLevelChallengeFinishNotify_proto_goTypes = nil
+ file_GCGLevelChallengeFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGLevelChallengeNotify.pb.go b/protocol/proto/GCGLevelChallengeNotify.pb.go
new file mode 100644
index 00000000..fdabc817
--- /dev/null
+++ b/protocol/proto/GCGLevelChallengeNotify.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGLevelChallengeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7055
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGLevelChallengeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnlockBossChallengeList []*GCGBossChallengeData `protobuf:"bytes,3,rep,name=unlock_boss_challenge_list,json=unlockBossChallengeList,proto3" json:"unlock_boss_challenge_list,omitempty"`
+ UnlockWorldChallengeList []uint32 `protobuf:"varint,8,rep,packed,name=unlock_world_challenge_list,json=unlockWorldChallengeList,proto3" json:"unlock_world_challenge_list,omitempty"`
+ LevelList []*GCGLevelData `protobuf:"bytes,10,rep,name=level_list,json=levelList,proto3" json:"level_list,omitempty"`
+}
+
+func (x *GCGLevelChallengeNotify) Reset() {
+ *x = GCGLevelChallengeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGLevelChallengeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGLevelChallengeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGLevelChallengeNotify) ProtoMessage() {}
+
+func (x *GCGLevelChallengeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGLevelChallengeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGLevelChallengeNotify.ProtoReflect.Descriptor instead.
+func (*GCGLevelChallengeNotify) Descriptor() ([]byte, []int) {
+ return file_GCGLevelChallengeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGLevelChallengeNotify) GetUnlockBossChallengeList() []*GCGBossChallengeData {
+ if x != nil {
+ return x.UnlockBossChallengeList
+ }
+ return nil
+}
+
+func (x *GCGLevelChallengeNotify) GetUnlockWorldChallengeList() []uint32 {
+ if x != nil {
+ return x.UnlockWorldChallengeList
+ }
+ return nil
+}
+
+func (x *GCGLevelChallengeNotify) GetLevelList() []*GCGLevelData {
+ if x != nil {
+ return x.LevelList
+ }
+ return nil
+}
+
+var File_GCGLevelChallengeNotify_proto protoreflect.FileDescriptor
+
+var file_GCGLevelChallengeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x47, 0x43, 0x47, 0x42, 0x6f, 0x73, 0x73, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x12, 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x58, 0x0a, 0x1a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x6f, 0x73,
+ 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x17, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x73, 0x73, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x1b,
+ 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x18, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGLevelChallengeNotify_proto_rawDescOnce sync.Once
+ file_GCGLevelChallengeNotify_proto_rawDescData = file_GCGLevelChallengeNotify_proto_rawDesc
+)
+
+func file_GCGLevelChallengeNotify_proto_rawDescGZIP() []byte {
+ file_GCGLevelChallengeNotify_proto_rawDescOnce.Do(func() {
+ file_GCGLevelChallengeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGLevelChallengeNotify_proto_rawDescData)
+ })
+ return file_GCGLevelChallengeNotify_proto_rawDescData
+}
+
+var file_GCGLevelChallengeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGLevelChallengeNotify_proto_goTypes = []interface{}{
+ (*GCGLevelChallengeNotify)(nil), // 0: proto.GCGLevelChallengeNotify
+ (*GCGBossChallengeData)(nil), // 1: proto.GCGBossChallengeData
+ (*GCGLevelData)(nil), // 2: proto.GCGLevelData
+}
+var file_GCGLevelChallengeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGLevelChallengeNotify.unlock_boss_challenge_list:type_name -> proto.GCGBossChallengeData
+ 2, // 1: proto.GCGLevelChallengeNotify.level_list:type_name -> proto.GCGLevelData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GCGLevelChallengeNotify_proto_init() }
+func file_GCGLevelChallengeNotify_proto_init() {
+ if File_GCGLevelChallengeNotify_proto != nil {
+ return
+ }
+ file_GCGBossChallengeData_proto_init()
+ file_GCGLevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGLevelChallengeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGLevelChallengeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGLevelChallengeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGLevelChallengeNotify_proto_goTypes,
+ DependencyIndexes: file_GCGLevelChallengeNotify_proto_depIdxs,
+ MessageInfos: file_GCGLevelChallengeNotify_proto_msgTypes,
+ }.Build()
+ File_GCGLevelChallengeNotify_proto = out.File
+ file_GCGLevelChallengeNotify_proto_rawDesc = nil
+ file_GCGLevelChallengeNotify_proto_goTypes = nil
+ file_GCGLevelChallengeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGLevelData.pb.go b/protocol/proto/GCGLevelData.pb.go
new file mode 100644
index 00000000..a350bc03
--- /dev/null
+++ b/protocol/proto/GCGLevelData.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedChallengeIdList []uint32 `protobuf:"varint,10,rep,packed,name=finished_challenge_id_list,json=finishedChallengeIdList,proto3" json:"finished_challenge_id_list,omitempty"`
+ LevelId uint32 `protobuf:"varint,9,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *GCGLevelData) Reset() {
+ *x = GCGLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGLevelData) ProtoMessage() {}
+
+func (x *GCGLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGLevelData.ProtoReflect.Descriptor instead.
+func (*GCGLevelData) Descriptor() ([]byte, []int) {
+ return file_GCGLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGLevelData) GetFinishedChallengeIdList() []uint32 {
+ if x != nil {
+ return x.FinishedChallengeIdList
+ }
+ return nil
+}
+
+func (x *GCGLevelData) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_GCGLevelData_proto protoreflect.FileDescriptor
+
+var file_GCGLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x0c, 0x47,
+ 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x1a, 0x66,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x17, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGLevelData_proto_rawDescOnce sync.Once
+ file_GCGLevelData_proto_rawDescData = file_GCGLevelData_proto_rawDesc
+)
+
+func file_GCGLevelData_proto_rawDescGZIP() []byte {
+ file_GCGLevelData_proto_rawDescOnce.Do(func() {
+ file_GCGLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGLevelData_proto_rawDescData)
+ })
+ return file_GCGLevelData_proto_rawDescData
+}
+
+var file_GCGLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGLevelData_proto_goTypes = []interface{}{
+ (*GCGLevelData)(nil), // 0: proto.GCGLevelData
+}
+var file_GCGLevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGLevelData_proto_init() }
+func file_GCGLevelData_proto_init() {
+ if File_GCGLevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGLevelData_proto_goTypes,
+ DependencyIndexes: file_GCGLevelData_proto_depIdxs,
+ MessageInfos: file_GCGLevelData_proto_msgTypes,
+ }.Build()
+ File_GCGLevelData_proto = out.File
+ file_GCGLevelData_proto_rawDesc = nil
+ file_GCGLevelData_proto_goTypes = nil
+ file_GCGLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGLevelType.pb.go b/protocol/proto/GCGLevelType.pb.go
new file mode 100644
index 00000000..1bb8ba47
--- /dev/null
+++ b/protocol/proto/GCGLevelType.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGLevelType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGLevelType int32
+
+const (
+ GCGLevelType_GCG_LEVEL_TYPE_NONE GCGLevelType = 0
+ GCGLevelType_GCG_LEVEL_TYPE_CONST GCGLevelType = 1
+ GCGLevelType_GCG_LEVEL_TYPE_WEEK GCGLevelType = 2
+ GCGLevelType_GCG_LEVEL_TYPE_WORLD GCGLevelType = 3
+ GCGLevelType_GCG_LEVEL_TYPE_BOSS GCGLevelType = 4
+ GCGLevelType_GCG_LEVEL_TYPE_CHARACTER GCGLevelType = 5
+)
+
+// Enum value maps for GCGLevelType.
+var (
+ GCGLevelType_name = map[int32]string{
+ 0: "GCG_LEVEL_TYPE_NONE",
+ 1: "GCG_LEVEL_TYPE_CONST",
+ 2: "GCG_LEVEL_TYPE_WEEK",
+ 3: "GCG_LEVEL_TYPE_WORLD",
+ 4: "GCG_LEVEL_TYPE_BOSS",
+ 5: "GCG_LEVEL_TYPE_CHARACTER",
+ }
+ GCGLevelType_value = map[string]int32{
+ "GCG_LEVEL_TYPE_NONE": 0,
+ "GCG_LEVEL_TYPE_CONST": 1,
+ "GCG_LEVEL_TYPE_WEEK": 2,
+ "GCG_LEVEL_TYPE_WORLD": 3,
+ "GCG_LEVEL_TYPE_BOSS": 4,
+ "GCG_LEVEL_TYPE_CHARACTER": 5,
+ }
+)
+
+func (x GCGLevelType) Enum() *GCGLevelType {
+ p := new(GCGLevelType)
+ *p = x
+ return p
+}
+
+func (x GCGLevelType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGLevelType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGLevelType_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGLevelType) Type() protoreflect.EnumType {
+ return &file_GCGLevelType_proto_enumTypes[0]
+}
+
+func (x GCGLevelType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGLevelType.Descriptor instead.
+func (GCGLevelType) EnumDescriptor() ([]byte, []int) {
+ return file_GCGLevelType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGLevelType_proto protoreflect.FileDescriptor
+
+var file_GCGLevelType_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xab, 0x01, 0x0a, 0x0c,
+ 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13,
+ 0x47, 0x43, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e,
+ 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x5f, 0x4c, 0x45, 0x56,
+ 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x01, 0x12,
+ 0x17, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x57, 0x45, 0x45, 0x4b, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x5f,
+ 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44,
+ 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x53, 0x53, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x47,
+ 0x43, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48,
+ 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGLevelType_proto_rawDescOnce sync.Once
+ file_GCGLevelType_proto_rawDescData = file_GCGLevelType_proto_rawDesc
+)
+
+func file_GCGLevelType_proto_rawDescGZIP() []byte {
+ file_GCGLevelType_proto_rawDescOnce.Do(func() {
+ file_GCGLevelType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGLevelType_proto_rawDescData)
+ })
+ return file_GCGLevelType_proto_rawDescData
+}
+
+var file_GCGLevelType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGLevelType_proto_goTypes = []interface{}{
+ (GCGLevelType)(0), // 0: proto.GCGLevelType
+}
+var file_GCGLevelType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGLevelType_proto_init() }
+func file_GCGLevelType_proto_init() {
+ if File_GCGLevelType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGLevelType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGLevelType_proto_goTypes,
+ DependencyIndexes: file_GCGLevelType_proto_depIdxs,
+ EnumInfos: file_GCGLevelType_proto_enumTypes,
+ }.Build()
+ File_GCGLevelType_proto = out.File
+ file_GCGLevelType_proto_rawDesc = nil
+ file_GCGLevelType_proto_goTypes = nil
+ file_GCGLevelType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMatchInfo.pb.go b/protocol/proto/GCGMatchInfo.pb.go
new file mode 100644
index 00000000..6fc254c6
--- /dev/null
+++ b/protocol/proto/GCGMatchInfo.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMatchInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMatchInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerList []*MatchPlayerInfo `protobuf:"bytes,13,rep,name=player_list,json=playerList,proto3" json:"player_list,omitempty"`
+}
+
+func (x *GCGMatchInfo) Reset() {
+ *x = GCGMatchInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMatchInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMatchInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMatchInfo) ProtoMessage() {}
+
+func (x *GCGMatchInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMatchInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMatchInfo.ProtoReflect.Descriptor instead.
+func (*GCGMatchInfo) Descriptor() ([]byte, []int) {
+ return file_GCGMatchInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMatchInfo) GetPlayerList() []*MatchPlayerInfo {
+ if x != nil {
+ return x.PlayerList
+ }
+ return nil
+}
+
+var File_GCGMatchInfo_proto protoreflect.FileDescriptor
+
+var file_GCGMatchInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x0c, 0x47, 0x43, 0x47, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMatchInfo_proto_rawDescOnce sync.Once
+ file_GCGMatchInfo_proto_rawDescData = file_GCGMatchInfo_proto_rawDesc
+)
+
+func file_GCGMatchInfo_proto_rawDescGZIP() []byte {
+ file_GCGMatchInfo_proto_rawDescOnce.Do(func() {
+ file_GCGMatchInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMatchInfo_proto_rawDescData)
+ })
+ return file_GCGMatchInfo_proto_rawDescData
+}
+
+var file_GCGMatchInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMatchInfo_proto_goTypes = []interface{}{
+ (*GCGMatchInfo)(nil), // 0: proto.GCGMatchInfo
+ (*MatchPlayerInfo)(nil), // 1: proto.MatchPlayerInfo
+}
+var file_GCGMatchInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMatchInfo.player_list:type_name -> proto.MatchPlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMatchInfo_proto_init() }
+func file_GCGMatchInfo_proto_init() {
+ if File_GCGMatchInfo_proto != nil {
+ return
+ }
+ file_MatchPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMatchInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMatchInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMatchInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMatchInfo_proto_goTypes,
+ DependencyIndexes: file_GCGMatchInfo_proto_depIdxs,
+ MessageInfos: file_GCGMatchInfo_proto_msgTypes,
+ }.Build()
+ File_GCGMatchInfo_proto = out.File
+ file_GCGMatchInfo_proto_rawDesc = nil
+ file_GCGMatchInfo_proto_goTypes = nil
+ file_GCGMatchInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMessage.pb.go b/protocol/proto/GCGMessage.pb.go
new file mode 100644
index 00000000..c15f5933
--- /dev/null
+++ b/protocol/proto/GCGMessage.pb.go
@@ -0,0 +1,843 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMessage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMessage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Message:
+ //
+ // *GCGMessage_TokenChange
+ // *GCGMessage_PhaseChange
+ // *GCGMessage_AddCards
+ // *GCGMessage_RemoveCards
+ // *GCGMessage_SelectOnStage
+ // *GCGMessage_DiceRoll
+ // *GCGMessage_DiceReroll
+ // *GCGMessage_Pass
+ // *GCGMessage_CharDie
+ // *GCGMessage_SkillResult
+ // *GCGMessage_CostDice
+ // *GCGMessage_AddDice
+ // *GCGMessage_MoveCard
+ // *GCGMessage_UseSkill
+ // *GCGMessage_NewCard
+ // *GCGMessage_UpdateController
+ // *GCGMessage_ModifyAdd
+ // *GCGMessage_ModifyRemove
+ // *GCGMessage_UseSkillEnd
+ // *GCGMessage_PveGenCardOp
+ // *GCGMessage_PveDoOp
+ // *GCGMessage_DuelDataChange
+ // *GCGMessage_ClientPerform
+ // *GCGMessage_GameOver
+ // *GCGMessage_OpTimer
+ // *GCGMessage_WaitingListChange
+ // *GCGMessage_CardUpdate
+ // *GCGMessage_SelectOnStageByEffect
+ // *GCGMessage_CostRevise
+ Message isGCGMessage_Message `protobuf_oneof:"message"`
+}
+
+func (x *GCGMessage) Reset() {
+ *x = GCGMessage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMessage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMessage) ProtoMessage() {}
+
+func (x *GCGMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMessage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMessage.ProtoReflect.Descriptor instead.
+func (*GCGMessage) Descriptor() ([]byte, []int) {
+ return file_GCGMessage_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *GCGMessage) GetMessage() isGCGMessage_Message {
+ if m != nil {
+ return m.Message
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetTokenChange() *GCGMsgTokenChange {
+ if x, ok := x.GetMessage().(*GCGMessage_TokenChange); ok {
+ return x.TokenChange
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetPhaseChange() *GCGMsgPhaseChange {
+ if x, ok := x.GetMessage().(*GCGMessage_PhaseChange); ok {
+ return x.PhaseChange
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetAddCards() *GCGMsgAddCards {
+ if x, ok := x.GetMessage().(*GCGMessage_AddCards); ok {
+ return x.AddCards
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetRemoveCards() *GCGMsgRemoveCards {
+ if x, ok := x.GetMessage().(*GCGMessage_RemoveCards); ok {
+ return x.RemoveCards
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetSelectOnStage() *GCGMsgSelectOnStage {
+ if x, ok := x.GetMessage().(*GCGMessage_SelectOnStage); ok {
+ return x.SelectOnStage
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetDiceRoll() *GCGMsgDiceRoll {
+ if x, ok := x.GetMessage().(*GCGMessage_DiceRoll); ok {
+ return x.DiceRoll
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetDiceReroll() *GCGMsgDiceReroll {
+ if x, ok := x.GetMessage().(*GCGMessage_DiceReroll); ok {
+ return x.DiceReroll
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetPass() *GCGMsgPass {
+ if x, ok := x.GetMessage().(*GCGMessage_Pass); ok {
+ return x.Pass
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetCharDie() *GCGMsgCharDie {
+ if x, ok := x.GetMessage().(*GCGMessage_CharDie); ok {
+ return x.CharDie
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetSkillResult() *GCGMsgSkillResult {
+ if x, ok := x.GetMessage().(*GCGMessage_SkillResult); ok {
+ return x.SkillResult
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetCostDice() *GCGMsgCostDice {
+ if x, ok := x.GetMessage().(*GCGMessage_CostDice); ok {
+ return x.CostDice
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetAddDice() *GCGMsgAddDice {
+ if x, ok := x.GetMessage().(*GCGMessage_AddDice); ok {
+ return x.AddDice
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetMoveCard() *GCGMsgMoveCard {
+ if x, ok := x.GetMessage().(*GCGMessage_MoveCard); ok {
+ return x.MoveCard
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetUseSkill() *GCGMsgUseSkill {
+ if x, ok := x.GetMessage().(*GCGMessage_UseSkill); ok {
+ return x.UseSkill
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetNewCard() *GCGMsgNewCard {
+ if x, ok := x.GetMessage().(*GCGMessage_NewCard); ok {
+ return x.NewCard
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetUpdateController() *GCGMsgUpdateController {
+ if x, ok := x.GetMessage().(*GCGMessage_UpdateController); ok {
+ return x.UpdateController
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetModifyAdd() *GCGMsgModifyAdd {
+ if x, ok := x.GetMessage().(*GCGMessage_ModifyAdd); ok {
+ return x.ModifyAdd
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetModifyRemove() *GCGMsgModifyRemove {
+ if x, ok := x.GetMessage().(*GCGMessage_ModifyRemove); ok {
+ return x.ModifyRemove
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetUseSkillEnd() *GCGMsgUseSkillEnd {
+ if x, ok := x.GetMessage().(*GCGMessage_UseSkillEnd); ok {
+ return x.UseSkillEnd
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetPveGenCardOp() *GCGMsgPVEGenCardOp {
+ if x, ok := x.GetMessage().(*GCGMessage_PveGenCardOp); ok {
+ return x.PveGenCardOp
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetPveDoOp() *GCGMsgPVEDoOp {
+ if x, ok := x.GetMessage().(*GCGMessage_PveDoOp); ok {
+ return x.PveDoOp
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetDuelDataChange() *GCGMsgDuelDataChange {
+ if x, ok := x.GetMessage().(*GCGMessage_DuelDataChange); ok {
+ return x.DuelDataChange
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetClientPerform() *GCGMsgClientPerform {
+ if x, ok := x.GetMessage().(*GCGMessage_ClientPerform); ok {
+ return x.ClientPerform
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetGameOver() *GCGMsgGameOver {
+ if x, ok := x.GetMessage().(*GCGMessage_GameOver); ok {
+ return x.GameOver
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetOpTimer() *GCGMsgOpTimer {
+ if x, ok := x.GetMessage().(*GCGMessage_OpTimer); ok {
+ return x.OpTimer
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetWaitingListChange() *GCGMsgWaitingListChange {
+ if x, ok := x.GetMessage().(*GCGMessage_WaitingListChange); ok {
+ return x.WaitingListChange
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetCardUpdate() *GCGMsgCardUpdate {
+ if x, ok := x.GetMessage().(*GCGMessage_CardUpdate); ok {
+ return x.CardUpdate
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetSelectOnStageByEffect() *GCGMsgSelectOnStageByEffect {
+ if x, ok := x.GetMessage().(*GCGMessage_SelectOnStageByEffect); ok {
+ return x.SelectOnStageByEffect
+ }
+ return nil
+}
+
+func (x *GCGMessage) GetCostRevise() *GCGMsgCostRevise {
+ if x, ok := x.GetMessage().(*GCGMessage_CostRevise); ok {
+ return x.CostRevise
+ }
+ return nil
+}
+
+type isGCGMessage_Message interface {
+ isGCGMessage_Message()
+}
+
+type GCGMessage_TokenChange struct {
+ TokenChange *GCGMsgTokenChange `protobuf:"bytes,12,opt,name=token_change,json=tokenChange,proto3,oneof"`
+}
+
+type GCGMessage_PhaseChange struct {
+ PhaseChange *GCGMsgPhaseChange `protobuf:"bytes,13,opt,name=phase_change,json=phaseChange,proto3,oneof"`
+}
+
+type GCGMessage_AddCards struct {
+ AddCards *GCGMsgAddCards `protobuf:"bytes,10,opt,name=add_cards,json=addCards,proto3,oneof"`
+}
+
+type GCGMessage_RemoveCards struct {
+ RemoveCards *GCGMsgRemoveCards `protobuf:"bytes,14,opt,name=remove_cards,json=removeCards,proto3,oneof"`
+}
+
+type GCGMessage_SelectOnStage struct {
+ SelectOnStage *GCGMsgSelectOnStage `protobuf:"bytes,6,opt,name=select_on_stage,json=selectOnStage,proto3,oneof"`
+}
+
+type GCGMessage_DiceRoll struct {
+ DiceRoll *GCGMsgDiceRoll `protobuf:"bytes,9,opt,name=dice_roll,json=diceRoll,proto3,oneof"`
+}
+
+type GCGMessage_DiceReroll struct {
+ DiceReroll *GCGMsgDiceReroll `protobuf:"bytes,11,opt,name=dice_reroll,json=diceReroll,proto3,oneof"`
+}
+
+type GCGMessage_Pass struct {
+ Pass *GCGMsgPass `protobuf:"bytes,5,opt,name=pass,proto3,oneof"`
+}
+
+type GCGMessage_CharDie struct {
+ CharDie *GCGMsgCharDie `protobuf:"bytes,2,opt,name=char_die,json=charDie,proto3,oneof"`
+}
+
+type GCGMessage_SkillResult struct {
+ SkillResult *GCGMsgSkillResult `protobuf:"bytes,1,opt,name=skill_result,json=skillResult,proto3,oneof"`
+}
+
+type GCGMessage_CostDice struct {
+ CostDice *GCGMsgCostDice `protobuf:"bytes,7,opt,name=cost_dice,json=costDice,proto3,oneof"`
+}
+
+type GCGMessage_AddDice struct {
+ AddDice *GCGMsgAddDice `protobuf:"bytes,3,opt,name=add_dice,json=addDice,proto3,oneof"`
+}
+
+type GCGMessage_MoveCard struct {
+ MoveCard *GCGMsgMoveCard `protobuf:"bytes,15,opt,name=move_card,json=moveCard,proto3,oneof"`
+}
+
+type GCGMessage_UseSkill struct {
+ UseSkill *GCGMsgUseSkill `protobuf:"bytes,4,opt,name=use_skill,json=useSkill,proto3,oneof"`
+}
+
+type GCGMessage_NewCard struct {
+ NewCard *GCGMsgNewCard `protobuf:"bytes,1848,opt,name=new_card,json=newCard,proto3,oneof"`
+}
+
+type GCGMessage_UpdateController struct {
+ UpdateController *GCGMsgUpdateController `protobuf:"bytes,429,opt,name=update_controller,json=updateController,proto3,oneof"`
+}
+
+type GCGMessage_ModifyAdd struct {
+ ModifyAdd *GCGMsgModifyAdd `protobuf:"bytes,1851,opt,name=modify_add,json=modifyAdd,proto3,oneof"`
+}
+
+type GCGMessage_ModifyRemove struct {
+ ModifyRemove *GCGMsgModifyRemove `protobuf:"bytes,471,opt,name=modify_remove,json=modifyRemove,proto3,oneof"`
+}
+
+type GCGMessage_UseSkillEnd struct {
+ UseSkillEnd *GCGMsgUseSkillEnd `protobuf:"bytes,1411,opt,name=use_skill_end,json=useSkillEnd,proto3,oneof"`
+}
+
+type GCGMessage_PveGenCardOp struct {
+ PveGenCardOp *GCGMsgPVEGenCardOp `protobuf:"bytes,1741,opt,name=pve_gen_card_op,json=pveGenCardOp,proto3,oneof"`
+}
+
+type GCGMessage_PveDoOp struct {
+ PveDoOp *GCGMsgPVEDoOp `protobuf:"bytes,614,opt,name=pve_do_op,json=pveDoOp,proto3,oneof"`
+}
+
+type GCGMessage_DuelDataChange struct {
+ DuelDataChange *GCGMsgDuelDataChange `protobuf:"bytes,1008,opt,name=duel_data_change,json=duelDataChange,proto3,oneof"`
+}
+
+type GCGMessage_ClientPerform struct {
+ ClientPerform *GCGMsgClientPerform `protobuf:"bytes,1035,opt,name=client_perform,json=clientPerform,proto3,oneof"`
+}
+
+type GCGMessage_GameOver struct {
+ GameOver *GCGMsgGameOver `protobuf:"bytes,714,opt,name=game_over,json=gameOver,proto3,oneof"`
+}
+
+type GCGMessage_OpTimer struct {
+ OpTimer *GCGMsgOpTimer `protobuf:"bytes,1862,opt,name=op_timer,json=opTimer,proto3,oneof"`
+}
+
+type GCGMessage_WaitingListChange struct {
+ WaitingListChange *GCGMsgWaitingListChange `protobuf:"bytes,1678,opt,name=waiting_list_change,json=waitingListChange,proto3,oneof"`
+}
+
+type GCGMessage_CardUpdate struct {
+ CardUpdate *GCGMsgCardUpdate `protobuf:"bytes,1879,opt,name=card_update,json=cardUpdate,proto3,oneof"`
+}
+
+type GCGMessage_SelectOnStageByEffect struct {
+ SelectOnStageByEffect *GCGMsgSelectOnStageByEffect `protobuf:"bytes,2042,opt,name=select_on_stage_by_effect,json=selectOnStageByEffect,proto3,oneof"`
+}
+
+type GCGMessage_CostRevise struct {
+ CostRevise *GCGMsgCostRevise `protobuf:"bytes,1350,opt,name=cost_revise,json=costRevise,proto3,oneof"`
+}
+
+func (*GCGMessage_TokenChange) isGCGMessage_Message() {}
+
+func (*GCGMessage_PhaseChange) isGCGMessage_Message() {}
+
+func (*GCGMessage_AddCards) isGCGMessage_Message() {}
+
+func (*GCGMessage_RemoveCards) isGCGMessage_Message() {}
+
+func (*GCGMessage_SelectOnStage) isGCGMessage_Message() {}
+
+func (*GCGMessage_DiceRoll) isGCGMessage_Message() {}
+
+func (*GCGMessage_DiceReroll) isGCGMessage_Message() {}
+
+func (*GCGMessage_Pass) isGCGMessage_Message() {}
+
+func (*GCGMessage_CharDie) isGCGMessage_Message() {}
+
+func (*GCGMessage_SkillResult) isGCGMessage_Message() {}
+
+func (*GCGMessage_CostDice) isGCGMessage_Message() {}
+
+func (*GCGMessage_AddDice) isGCGMessage_Message() {}
+
+func (*GCGMessage_MoveCard) isGCGMessage_Message() {}
+
+func (*GCGMessage_UseSkill) isGCGMessage_Message() {}
+
+func (*GCGMessage_NewCard) isGCGMessage_Message() {}
+
+func (*GCGMessage_UpdateController) isGCGMessage_Message() {}
+
+func (*GCGMessage_ModifyAdd) isGCGMessage_Message() {}
+
+func (*GCGMessage_ModifyRemove) isGCGMessage_Message() {}
+
+func (*GCGMessage_UseSkillEnd) isGCGMessage_Message() {}
+
+func (*GCGMessage_PveGenCardOp) isGCGMessage_Message() {}
+
+func (*GCGMessage_PveDoOp) isGCGMessage_Message() {}
+
+func (*GCGMessage_DuelDataChange) isGCGMessage_Message() {}
+
+func (*GCGMessage_ClientPerform) isGCGMessage_Message() {}
+
+func (*GCGMessage_GameOver) isGCGMessage_Message() {}
+
+func (*GCGMessage_OpTimer) isGCGMessage_Message() {}
+
+func (*GCGMessage_WaitingListChange) isGCGMessage_Message() {}
+
+func (*GCGMessage_CardUpdate) isGCGMessage_Message() {}
+
+func (*GCGMessage_SelectOnStageByEffect) isGCGMessage_Message() {}
+
+func (*GCGMessage_CostRevise) isGCGMessage_Message() {}
+
+var File_GCGMessage_proto protoreflect.FileDescriptor
+
+var file_GCGMessage_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x47, 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73,
+ 0x67, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x44, 0x69, 0x63, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x47, 0x43,
+ 0x47, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x61, 0x72, 0x44, 0x69, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50,
+ 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x43,
+ 0x47, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x65,
+ 0x76, 0x69, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47, 0x4d,
+ 0x73, 0x67, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f,
+ 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67,
+ 0x44, 0x75, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65,
+ 0x4f, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x47, 0x43, 0x47, 0x4d,
+ 0x73, 0x67, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x64, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x18, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x43, 0x47,
+ 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4f, 0x70,
+ 0x54, 0x69, 0x6d, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x47, 0x43, 0x47,
+ 0x4d, 0x73, 0x67, 0x50, 0x56, 0x45, 0x44, 0x6f, 0x4f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x18, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x56, 0x45, 0x47, 0x65, 0x6e, 0x43, 0x61,
+ 0x72, 0x64, 0x4f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x47, 0x43, 0x47, 0x4d,
+ 0x73, 0x67, 0x50, 0x61, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x43,
+ 0x47, 0x4d, 0x73, 0x67, 0x50, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d,
+ 0x6f, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x47, 0x43, 0x47, 0x4d, 0x73,
+ 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x42, 0x79,
+ 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x43,
+ 0x47, 0x4d, 0x73, 0x67, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
+ 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x43,
+ 0x47, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x47, 0x43, 0x47,
+ 0x4d, 0x73, 0x67, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x0e, 0x0a, 0x0a, 0x47,
+ 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x70, 0x68, 0x61, 0x73,
+ 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x68, 0x61,
+ 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x68, 0x61, 0x73,
+ 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x63,
+ 0x61, 0x72, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64,
+ 0x73, 0x48, 0x00, 0x52, 0x08, 0x61, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x3d, 0x0a,
+ 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x73, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d,
+ 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52,
+ 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x44, 0x0a, 0x0f,
+ 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x64, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x08,
+ 0x64, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x12, 0x3a, 0x0a, 0x0b, 0x64, 0x69, 0x63, 0x65,
+ 0x5f, 0x72, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x63, 0x65,
+ 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x63, 0x65, 0x52, 0x65,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x12, 0x27, 0x0a, 0x04, 0x70, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73,
+ 0x67, 0x50, 0x61, 0x73, 0x73, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x73, 0x73, 0x12, 0x31, 0x0a,
+ 0x08, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x64, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x68,
+ 0x61, 0x72, 0x44, 0x69, 0x65, 0x48, 0x00, 0x52, 0x07, 0x63, 0x68, 0x61, 0x72, 0x44, 0x69, 0x65,
+ 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x4d, 0x73, 0x67, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x48, 0x00, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12,
+ 0x34, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73,
+ 0x67, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x73,
+ 0x74, 0x44, 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x5f, 0x64, 0x69, 0x63,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x44, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52,
+ 0x07, 0x61, 0x64, 0x64, 0x44, 0x69, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x6d, 0x6f, 0x76, 0x65,
+ 0x5f, 0x63, 0x61, 0x72, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x61,
+ 0x72, 0x64, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x12, 0x34,
+ 0x0a, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67,
+ 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x75, 0x73, 0x65, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x32, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x61, 0x72, 0x64,
+ 0x18, 0xb8, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52,
+ 0x07, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64, 0x12, 0x4d, 0x0a, 0x11, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0xad, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e,
+ 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66,
+ 0x79, 0x5f, 0x61, 0x64, 0x64, 0x18, 0xbb, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x64, 0x69, 0x66,
+ 0x79, 0x41, 0x64, 0x64, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x64,
+ 0x64, 0x12, 0x41, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x72, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x18, 0xd7, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x52, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x52, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x83, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x43, 0x0a, 0x0f, 0x70, 0x76, 0x65, 0x5f, 0x67, 0x65, 0x6e,
+ 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6f, 0x70, 0x18, 0xcd, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x56,
+ 0x45, 0x47, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x76,
+ 0x65, 0x47, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x12, 0x33, 0x0a, 0x09, 0x70, 0x76,
+ 0x65, 0x5f, 0x64, 0x6f, 0x5f, 0x6f, 0x70, 0x18, 0xe6, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x56, 0x45,
+ 0x44, 0x6f, 0x4f, 0x70, 0x48, 0x00, 0x52, 0x07, 0x70, 0x76, 0x65, 0x44, 0x6f, 0x4f, 0x70, 0x12,
+ 0x48, 0x0a, 0x10, 0x64, 0x75, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x18, 0xf0, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x44, 0x75, 0x65, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x75, 0x65, 0x6c, 0x44,
+ 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x0e, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x8b, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73,
+ 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x48, 0x00,
+ 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x12,
+ 0x35, 0x0a, 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x18, 0xca, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d,
+ 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x67, 0x61,
+ 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x72, 0x18, 0xc6, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x48,
+ 0x00, 0x52, 0x07, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x13, 0x77, 0x61,
+ 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x18, 0x8e, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x69,
+ 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x11, 0x77, 0x61, 0x69, 0x74,
+ 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x0a,
+ 0x0b, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0xd7, 0x0e, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d,
+ 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0a,
+ 0x63, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x5f, 0x0a, 0x19, 0x73, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79,
+ 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x18, 0xfa, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x42, 0x79, 0x45, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x48, 0x00, 0x52, 0x15, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x42, 0x79, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x63,
+ 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x65, 0x18, 0xc6, 0x0a, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67,
+ 0x43, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f,
+ 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMessage_proto_rawDescOnce sync.Once
+ file_GCGMessage_proto_rawDescData = file_GCGMessage_proto_rawDesc
+)
+
+func file_GCGMessage_proto_rawDescGZIP() []byte {
+ file_GCGMessage_proto_rawDescOnce.Do(func() {
+ file_GCGMessage_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMessage_proto_rawDescData)
+ })
+ return file_GCGMessage_proto_rawDescData
+}
+
+var file_GCGMessage_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMessage_proto_goTypes = []interface{}{
+ (*GCGMessage)(nil), // 0: proto.GCGMessage
+ (*GCGMsgTokenChange)(nil), // 1: proto.GCGMsgTokenChange
+ (*GCGMsgPhaseChange)(nil), // 2: proto.GCGMsgPhaseChange
+ (*GCGMsgAddCards)(nil), // 3: proto.GCGMsgAddCards
+ (*GCGMsgRemoveCards)(nil), // 4: proto.GCGMsgRemoveCards
+ (*GCGMsgSelectOnStage)(nil), // 5: proto.GCGMsgSelectOnStage
+ (*GCGMsgDiceRoll)(nil), // 6: proto.GCGMsgDiceRoll
+ (*GCGMsgDiceReroll)(nil), // 7: proto.GCGMsgDiceReroll
+ (*GCGMsgPass)(nil), // 8: proto.GCGMsgPass
+ (*GCGMsgCharDie)(nil), // 9: proto.GCGMsgCharDie
+ (*GCGMsgSkillResult)(nil), // 10: proto.GCGMsgSkillResult
+ (*GCGMsgCostDice)(nil), // 11: proto.GCGMsgCostDice
+ (*GCGMsgAddDice)(nil), // 12: proto.GCGMsgAddDice
+ (*GCGMsgMoveCard)(nil), // 13: proto.GCGMsgMoveCard
+ (*GCGMsgUseSkill)(nil), // 14: proto.GCGMsgUseSkill
+ (*GCGMsgNewCard)(nil), // 15: proto.GCGMsgNewCard
+ (*GCGMsgUpdateController)(nil), // 16: proto.GCGMsgUpdateController
+ (*GCGMsgModifyAdd)(nil), // 17: proto.GCGMsgModifyAdd
+ (*GCGMsgModifyRemove)(nil), // 18: proto.GCGMsgModifyRemove
+ (*GCGMsgUseSkillEnd)(nil), // 19: proto.GCGMsgUseSkillEnd
+ (*GCGMsgPVEGenCardOp)(nil), // 20: proto.GCGMsgPVEGenCardOp
+ (*GCGMsgPVEDoOp)(nil), // 21: proto.GCGMsgPVEDoOp
+ (*GCGMsgDuelDataChange)(nil), // 22: proto.GCGMsgDuelDataChange
+ (*GCGMsgClientPerform)(nil), // 23: proto.GCGMsgClientPerform
+ (*GCGMsgGameOver)(nil), // 24: proto.GCGMsgGameOver
+ (*GCGMsgOpTimer)(nil), // 25: proto.GCGMsgOpTimer
+ (*GCGMsgWaitingListChange)(nil), // 26: proto.GCGMsgWaitingListChange
+ (*GCGMsgCardUpdate)(nil), // 27: proto.GCGMsgCardUpdate
+ (*GCGMsgSelectOnStageByEffect)(nil), // 28: proto.GCGMsgSelectOnStageByEffect
+ (*GCGMsgCostRevise)(nil), // 29: proto.GCGMsgCostRevise
+}
+var file_GCGMessage_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMessage.token_change:type_name -> proto.GCGMsgTokenChange
+ 2, // 1: proto.GCGMessage.phase_change:type_name -> proto.GCGMsgPhaseChange
+ 3, // 2: proto.GCGMessage.add_cards:type_name -> proto.GCGMsgAddCards
+ 4, // 3: proto.GCGMessage.remove_cards:type_name -> proto.GCGMsgRemoveCards
+ 5, // 4: proto.GCGMessage.select_on_stage:type_name -> proto.GCGMsgSelectOnStage
+ 6, // 5: proto.GCGMessage.dice_roll:type_name -> proto.GCGMsgDiceRoll
+ 7, // 6: proto.GCGMessage.dice_reroll:type_name -> proto.GCGMsgDiceReroll
+ 8, // 7: proto.GCGMessage.pass:type_name -> proto.GCGMsgPass
+ 9, // 8: proto.GCGMessage.char_die:type_name -> proto.GCGMsgCharDie
+ 10, // 9: proto.GCGMessage.skill_result:type_name -> proto.GCGMsgSkillResult
+ 11, // 10: proto.GCGMessage.cost_dice:type_name -> proto.GCGMsgCostDice
+ 12, // 11: proto.GCGMessage.add_dice:type_name -> proto.GCGMsgAddDice
+ 13, // 12: proto.GCGMessage.move_card:type_name -> proto.GCGMsgMoveCard
+ 14, // 13: proto.GCGMessage.use_skill:type_name -> proto.GCGMsgUseSkill
+ 15, // 14: proto.GCGMessage.new_card:type_name -> proto.GCGMsgNewCard
+ 16, // 15: proto.GCGMessage.update_controller:type_name -> proto.GCGMsgUpdateController
+ 17, // 16: proto.GCGMessage.modify_add:type_name -> proto.GCGMsgModifyAdd
+ 18, // 17: proto.GCGMessage.modify_remove:type_name -> proto.GCGMsgModifyRemove
+ 19, // 18: proto.GCGMessage.use_skill_end:type_name -> proto.GCGMsgUseSkillEnd
+ 20, // 19: proto.GCGMessage.pve_gen_card_op:type_name -> proto.GCGMsgPVEGenCardOp
+ 21, // 20: proto.GCGMessage.pve_do_op:type_name -> proto.GCGMsgPVEDoOp
+ 22, // 21: proto.GCGMessage.duel_data_change:type_name -> proto.GCGMsgDuelDataChange
+ 23, // 22: proto.GCGMessage.client_perform:type_name -> proto.GCGMsgClientPerform
+ 24, // 23: proto.GCGMessage.game_over:type_name -> proto.GCGMsgGameOver
+ 25, // 24: proto.GCGMessage.op_timer:type_name -> proto.GCGMsgOpTimer
+ 26, // 25: proto.GCGMessage.waiting_list_change:type_name -> proto.GCGMsgWaitingListChange
+ 27, // 26: proto.GCGMessage.card_update:type_name -> proto.GCGMsgCardUpdate
+ 28, // 27: proto.GCGMessage.select_on_stage_by_effect:type_name -> proto.GCGMsgSelectOnStageByEffect
+ 29, // 28: proto.GCGMessage.cost_revise:type_name -> proto.GCGMsgCostRevise
+ 29, // [29:29] is the sub-list for method output_type
+ 29, // [29:29] is the sub-list for method input_type
+ 29, // [29:29] is the sub-list for extension type_name
+ 29, // [29:29] is the sub-list for extension extendee
+ 0, // [0:29] is the sub-list for field type_name
+}
+
+func init() { file_GCGMessage_proto_init() }
+func file_GCGMessage_proto_init() {
+ if File_GCGMessage_proto != nil {
+ return
+ }
+ file_GCGMsgAddCards_proto_init()
+ file_GCGMsgAddDice_proto_init()
+ file_GCGMsgCardUpdate_proto_init()
+ file_GCGMsgCharDie_proto_init()
+ file_GCGMsgClientPerform_proto_init()
+ file_GCGMsgCostDice_proto_init()
+ file_GCGMsgCostRevise_proto_init()
+ file_GCGMsgDiceReroll_proto_init()
+ file_GCGMsgDiceRoll_proto_init()
+ file_GCGMsgDuelDataChange_proto_init()
+ file_GCGMsgGameOver_proto_init()
+ file_GCGMsgModifyAdd_proto_init()
+ file_GCGMsgModifyRemove_proto_init()
+ file_GCGMsgMoveCard_proto_init()
+ file_GCGMsgNewCard_proto_init()
+ file_GCGMsgOpTimer_proto_init()
+ file_GCGMsgPVEDoOp_proto_init()
+ file_GCGMsgPVEGenCardOp_proto_init()
+ file_GCGMsgPass_proto_init()
+ file_GCGMsgPhaseChange_proto_init()
+ file_GCGMsgRemoveCards_proto_init()
+ file_GCGMsgSelectOnStage_proto_init()
+ file_GCGMsgSelectOnStageByEffect_proto_init()
+ file_GCGMsgSkillResult_proto_init()
+ file_GCGMsgTokenChange_proto_init()
+ file_GCGMsgUpdateController_proto_init()
+ file_GCGMsgUseSkill_proto_init()
+ file_GCGMsgUseSkillEnd_proto_init()
+ file_GCGMsgWaitingListChange_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMessage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMessage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GCGMessage_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GCGMessage_TokenChange)(nil),
+ (*GCGMessage_PhaseChange)(nil),
+ (*GCGMessage_AddCards)(nil),
+ (*GCGMessage_RemoveCards)(nil),
+ (*GCGMessage_SelectOnStage)(nil),
+ (*GCGMessage_DiceRoll)(nil),
+ (*GCGMessage_DiceReroll)(nil),
+ (*GCGMessage_Pass)(nil),
+ (*GCGMessage_CharDie)(nil),
+ (*GCGMessage_SkillResult)(nil),
+ (*GCGMessage_CostDice)(nil),
+ (*GCGMessage_AddDice)(nil),
+ (*GCGMessage_MoveCard)(nil),
+ (*GCGMessage_UseSkill)(nil),
+ (*GCGMessage_NewCard)(nil),
+ (*GCGMessage_UpdateController)(nil),
+ (*GCGMessage_ModifyAdd)(nil),
+ (*GCGMessage_ModifyRemove)(nil),
+ (*GCGMessage_UseSkillEnd)(nil),
+ (*GCGMessage_PveGenCardOp)(nil),
+ (*GCGMessage_PveDoOp)(nil),
+ (*GCGMessage_DuelDataChange)(nil),
+ (*GCGMessage_ClientPerform)(nil),
+ (*GCGMessage_GameOver)(nil),
+ (*GCGMessage_OpTimer)(nil),
+ (*GCGMessage_WaitingListChange)(nil),
+ (*GCGMessage_CardUpdate)(nil),
+ (*GCGMessage_SelectOnStageByEffect)(nil),
+ (*GCGMessage_CostRevise)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMessage_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMessage_proto_goTypes,
+ DependencyIndexes: file_GCGMessage_proto_depIdxs,
+ MessageInfos: file_GCGMessage_proto_msgTypes,
+ }.Build()
+ File_GCGMessage_proto = out.File
+ file_GCGMessage_proto_rawDesc = nil
+ file_GCGMessage_proto_goTypes = nil
+ file_GCGMessage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMessagePack.pb.go b/protocol/proto/GCGMessagePack.pb.go
new file mode 100644
index 00000000..eed1cbac
--- /dev/null
+++ b/protocol/proto/GCGMessagePack.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMessagePack.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMessagePack struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MsgSeq uint32 `protobuf:"varint,10,opt,name=msg_seq,json=msgSeq,proto3" json:"msg_seq,omitempty"`
+ MsgList []*GCGMessage `protobuf:"bytes,13,rep,name=msg_list,json=msgList,proto3" json:"msg_list,omitempty"`
+}
+
+func (x *GCGMessagePack) Reset() {
+ *x = GCGMessagePack{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMessagePack_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMessagePack) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMessagePack) ProtoMessage() {}
+
+func (x *GCGMessagePack) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMessagePack_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMessagePack.ProtoReflect.Descriptor instead.
+func (*GCGMessagePack) Descriptor() ([]byte, []int) {
+ return file_GCGMessagePack_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMessagePack) GetMsgSeq() uint32 {
+ if x != nil {
+ return x.MsgSeq
+ }
+ return 0
+}
+
+func (x *GCGMessagePack) GetMsgList() []*GCGMessage {
+ if x != nil {
+ return x.MsgList
+ }
+ return nil
+}
+
+var File_GCGMessagePack_proto protoreflect.FileDescriptor
+
+var file_GCGMessagePack_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x47,
+ 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x57, 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63,
+ 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x73, 0x67, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x73, 0x67, 0x53, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x73,
+ 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52,
+ 0x07, 0x6d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMessagePack_proto_rawDescOnce sync.Once
+ file_GCGMessagePack_proto_rawDescData = file_GCGMessagePack_proto_rawDesc
+)
+
+func file_GCGMessagePack_proto_rawDescGZIP() []byte {
+ file_GCGMessagePack_proto_rawDescOnce.Do(func() {
+ file_GCGMessagePack_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMessagePack_proto_rawDescData)
+ })
+ return file_GCGMessagePack_proto_rawDescData
+}
+
+var file_GCGMessagePack_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMessagePack_proto_goTypes = []interface{}{
+ (*GCGMessagePack)(nil), // 0: proto.GCGMessagePack
+ (*GCGMessage)(nil), // 1: proto.GCGMessage
+}
+var file_GCGMessagePack_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMessagePack.msg_list:type_name -> proto.GCGMessage
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMessagePack_proto_init() }
+func file_GCGMessagePack_proto_init() {
+ if File_GCGMessagePack_proto != nil {
+ return
+ }
+ file_GCGMessage_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMessagePack_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMessagePack); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMessagePack_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMessagePack_proto_goTypes,
+ DependencyIndexes: file_GCGMessagePack_proto_depIdxs,
+ MessageInfos: file_GCGMessagePack_proto_msgTypes,
+ }.Build()
+ File_GCGMessagePack_proto = out.File
+ file_GCGMessagePack_proto_rawDesc = nil
+ file_GCGMessagePack_proto_goTypes = nil
+ file_GCGMessagePack_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMessagePackNotify.pb.go b/protocol/proto/GCGMessagePackNotify.pb.go
new file mode 100644
index 00000000..a394c970
--- /dev/null
+++ b/protocol/proto/GCGMessagePackNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMessagePackNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7516
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGMessagePackNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerSeq uint32 `protobuf:"varint,5,opt,name=server_seq,json=serverSeq,proto3" json:"server_seq,omitempty"`
+ MessagePack *GCGMessagePack `protobuf:"bytes,8,opt,name=message_pack,json=messagePack,proto3" json:"message_pack,omitempty"`
+}
+
+func (x *GCGMessagePackNotify) Reset() {
+ *x = GCGMessagePackNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMessagePackNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMessagePackNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMessagePackNotify) ProtoMessage() {}
+
+func (x *GCGMessagePackNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMessagePackNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMessagePackNotify.ProtoReflect.Descriptor instead.
+func (*GCGMessagePackNotify) Descriptor() ([]byte, []int) {
+ return file_GCGMessagePackNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMessagePackNotify) GetServerSeq() uint32 {
+ if x != nil {
+ return x.ServerSeq
+ }
+ return 0
+}
+
+func (x *GCGMessagePackNotify) GetMessagePack() *GCGMessagePack {
+ if x != nil {
+ return x.MessagePack
+ }
+ return nil
+}
+
+var File_GCGMessagePackNotify_proto protoreflect.FileDescriptor
+
+var file_GCGMessagePackNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50,
+ 0x61, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x14, 0x47, 0x43, 0x47,
+ 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x71,
+ 0x12, 0x38, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x0b, 0x6d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMessagePackNotify_proto_rawDescOnce sync.Once
+ file_GCGMessagePackNotify_proto_rawDescData = file_GCGMessagePackNotify_proto_rawDesc
+)
+
+func file_GCGMessagePackNotify_proto_rawDescGZIP() []byte {
+ file_GCGMessagePackNotify_proto_rawDescOnce.Do(func() {
+ file_GCGMessagePackNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMessagePackNotify_proto_rawDescData)
+ })
+ return file_GCGMessagePackNotify_proto_rawDescData
+}
+
+var file_GCGMessagePackNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMessagePackNotify_proto_goTypes = []interface{}{
+ (*GCGMessagePackNotify)(nil), // 0: proto.GCGMessagePackNotify
+ (*GCGMessagePack)(nil), // 1: proto.GCGMessagePack
+}
+var file_GCGMessagePackNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMessagePackNotify.message_pack:type_name -> proto.GCGMessagePack
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMessagePackNotify_proto_init() }
+func file_GCGMessagePackNotify_proto_init() {
+ if File_GCGMessagePackNotify_proto != nil {
+ return
+ }
+ file_GCGMessagePack_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMessagePackNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMessagePackNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMessagePackNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMessagePackNotify_proto_goTypes,
+ DependencyIndexes: file_GCGMessagePackNotify_proto_depIdxs,
+ MessageInfos: file_GCGMessagePackNotify_proto_msgTypes,
+ }.Build()
+ File_GCGMessagePackNotify_proto = out.File
+ file_GCGMessagePackNotify_proto_rawDesc = nil
+ file_GCGMessagePackNotify_proto_goTypes = nil
+ file_GCGMessagePackNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgAddCards.pb.go b/protocol/proto/GCGMsgAddCards.pb.go
new file mode 100644
index 00000000..91d60173
--- /dev/null
+++ b/protocol/proto/GCGMsgAddCards.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgAddCards.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgAddCards struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos uint32 `protobuf:"varint,11,opt,name=pos,proto3" json:"pos,omitempty"`
+ Zone GCGZoneType `protobuf:"varint,2,opt,name=zone,proto3,enum=proto.GCGZoneType" json:"zone,omitempty"`
+ Reason GCGReason `protobuf:"varint,15,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+ ControllerId uint32 `protobuf:"varint,13,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ CardGuidList []uint32 `protobuf:"varint,14,rep,packed,name=card_guid_list,json=cardGuidList,proto3" json:"card_guid_list,omitempty"`
+}
+
+func (x *GCGMsgAddCards) Reset() {
+ *x = GCGMsgAddCards{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgAddCards_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgAddCards) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgAddCards) ProtoMessage() {}
+
+func (x *GCGMsgAddCards) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgAddCards_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgAddCards.ProtoReflect.Descriptor instead.
+func (*GCGMsgAddCards) Descriptor() ([]byte, []int) {
+ return file_GCGMsgAddCards_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgAddCards) GetPos() uint32 {
+ if x != nil {
+ return x.Pos
+ }
+ return 0
+}
+
+func (x *GCGMsgAddCards) GetZone() GCGZoneType {
+ if x != nil {
+ return x.Zone
+ }
+ return GCGZoneType_GCG_ZONE_TYPE_INVALID
+}
+
+func (x *GCGMsgAddCards) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+func (x *GCGMsgAddCards) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgAddCards) GetCardGuidList() []uint32 {
+ if x != nil {
+ return x.CardGuidList
+ }
+ return nil
+}
+
+var File_GCGMsgAddCards_proto protoreflect.FileDescriptor
+
+var file_GCGMsgAddCards_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x73,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x47,
+ 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11,
+ 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x43,
+ 0x61, 0x72, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x28,
+ 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a,
+ 0x0e, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgAddCards_proto_rawDescOnce sync.Once
+ file_GCGMsgAddCards_proto_rawDescData = file_GCGMsgAddCards_proto_rawDesc
+)
+
+func file_GCGMsgAddCards_proto_rawDescGZIP() []byte {
+ file_GCGMsgAddCards_proto_rawDescOnce.Do(func() {
+ file_GCGMsgAddCards_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgAddCards_proto_rawDescData)
+ })
+ return file_GCGMsgAddCards_proto_rawDescData
+}
+
+var file_GCGMsgAddCards_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgAddCards_proto_goTypes = []interface{}{
+ (*GCGMsgAddCards)(nil), // 0: proto.GCGMsgAddCards
+ (GCGZoneType)(0), // 1: proto.GCGZoneType
+ (GCGReason)(0), // 2: proto.GCGReason
+}
+var file_GCGMsgAddCards_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgAddCards.zone:type_name -> proto.GCGZoneType
+ 2, // 1: proto.GCGMsgAddCards.reason:type_name -> proto.GCGReason
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgAddCards_proto_init() }
+func file_GCGMsgAddCards_proto_init() {
+ if File_GCGMsgAddCards_proto != nil {
+ return
+ }
+ file_GCGReason_proto_init()
+ file_GCGZoneType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgAddCards_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgAddCards); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgAddCards_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgAddCards_proto_goTypes,
+ DependencyIndexes: file_GCGMsgAddCards_proto_depIdxs,
+ MessageInfos: file_GCGMsgAddCards_proto_msgTypes,
+ }.Build()
+ File_GCGMsgAddCards_proto = out.File
+ file_GCGMsgAddCards_proto_rawDesc = nil
+ file_GCGMsgAddCards_proto_goTypes = nil
+ file_GCGMsgAddCards_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgAddDice.pb.go b/protocol/proto/GCGMsgAddDice.pb.go
new file mode 100644
index 00000000..1bb9ff4d
--- /dev/null
+++ b/protocol/proto/GCGMsgAddDice.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgAddDice.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgAddDice struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason GCGReason `protobuf:"varint,4,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+ ControllerId uint32 `protobuf:"varint,10,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ ChangeCount int32 `protobuf:"varint,1,opt,name=change_count,json=changeCount,proto3" json:"change_count,omitempty"`
+ DiceMap map[uint32]GCGDiceSideType `protobuf:"bytes,8,rep,name=dice_map,json=diceMap,proto3" json:"dice_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=proto.GCGDiceSideType"`
+}
+
+func (x *GCGMsgAddDice) Reset() {
+ *x = GCGMsgAddDice{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgAddDice_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgAddDice) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgAddDice) ProtoMessage() {}
+
+func (x *GCGMsgAddDice) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgAddDice_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgAddDice.ProtoReflect.Descriptor instead.
+func (*GCGMsgAddDice) Descriptor() ([]byte, []int) {
+ return file_GCGMsgAddDice_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgAddDice) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+func (x *GCGMsgAddDice) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgAddDice) GetChangeCount() int32 {
+ if x != nil {
+ return x.ChangeCount
+ }
+ return 0
+}
+
+func (x *GCGMsgAddDice) GetDiceMap() map[uint32]GCGDiceSideType {
+ if x != nil {
+ return x.DiceMap
+ }
+ return nil
+}
+
+var File_GCGMsgAddDice_proto protoreflect.FileDescriptor
+
+var file_GCGMsgAddDice_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x44, 0x69, 0x63, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x47, 0x43,
+ 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x02, 0x0a, 0x0d, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x41,
+ 0x64, 0x64, 0x44, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x08, 0x64, 0x69, 0x63, 0x65,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x44, 0x69, 0x63, 0x65,
+ 0x2e, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x64,
+ 0x69, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x52, 0x0a, 0x0c, 0x44, 0x69, 0x63, 0x65, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgAddDice_proto_rawDescOnce sync.Once
+ file_GCGMsgAddDice_proto_rawDescData = file_GCGMsgAddDice_proto_rawDesc
+)
+
+func file_GCGMsgAddDice_proto_rawDescGZIP() []byte {
+ file_GCGMsgAddDice_proto_rawDescOnce.Do(func() {
+ file_GCGMsgAddDice_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgAddDice_proto_rawDescData)
+ })
+ return file_GCGMsgAddDice_proto_rawDescData
+}
+
+var file_GCGMsgAddDice_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGMsgAddDice_proto_goTypes = []interface{}{
+ (*GCGMsgAddDice)(nil), // 0: proto.GCGMsgAddDice
+ nil, // 1: proto.GCGMsgAddDice.DiceMapEntry
+ (GCGReason)(0), // 2: proto.GCGReason
+ (GCGDiceSideType)(0), // 3: proto.GCGDiceSideType
+}
+var file_GCGMsgAddDice_proto_depIdxs = []int32{
+ 2, // 0: proto.GCGMsgAddDice.reason:type_name -> proto.GCGReason
+ 1, // 1: proto.GCGMsgAddDice.dice_map:type_name -> proto.GCGMsgAddDice.DiceMapEntry
+ 3, // 2: proto.GCGMsgAddDice.DiceMapEntry.value:type_name -> proto.GCGDiceSideType
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgAddDice_proto_init() }
+func file_GCGMsgAddDice_proto_init() {
+ if File_GCGMsgAddDice_proto != nil {
+ return
+ }
+ file_GCGDiceSideType_proto_init()
+ file_GCGReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgAddDice_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgAddDice); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgAddDice_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgAddDice_proto_goTypes,
+ DependencyIndexes: file_GCGMsgAddDice_proto_depIdxs,
+ MessageInfos: file_GCGMsgAddDice_proto_msgTypes,
+ }.Build()
+ File_GCGMsgAddDice_proto = out.File
+ file_GCGMsgAddDice_proto_rawDesc = nil
+ file_GCGMsgAddDice_proto_goTypes = nil
+ file_GCGMsgAddDice_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgCardUpdate.pb.go b/protocol/proto/GCGMsgCardUpdate.pb.go
new file mode 100644
index 00000000..f4c276a6
--- /dev/null
+++ b/protocol/proto/GCGMsgCardUpdate.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgCardUpdate.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgCardUpdate struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Card *GCGCard `protobuf:"bytes,7,opt,name=card,proto3" json:"card,omitempty"`
+}
+
+func (x *GCGMsgCardUpdate) Reset() {
+ *x = GCGMsgCardUpdate{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgCardUpdate_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgCardUpdate) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgCardUpdate) ProtoMessage() {}
+
+func (x *GCGMsgCardUpdate) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgCardUpdate_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgCardUpdate.ProtoReflect.Descriptor instead.
+func (*GCGMsgCardUpdate) Descriptor() ([]byte, []int) {
+ return file_GCGMsgCardUpdate_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgCardUpdate) GetCard() *GCGCard {
+ if x != nil {
+ return x.Card
+ }
+ return nil
+}
+
+var File_GCGMsgCardUpdate_proto protoreflect.FileDescriptor
+
+var file_GCGMsgCardUpdate_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0d, 0x47, 0x43, 0x47, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36,
+ 0x0a, 0x10, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x43, 0x61, 0x72, 0x64,
+ 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgCardUpdate_proto_rawDescOnce sync.Once
+ file_GCGMsgCardUpdate_proto_rawDescData = file_GCGMsgCardUpdate_proto_rawDesc
+)
+
+func file_GCGMsgCardUpdate_proto_rawDescGZIP() []byte {
+ file_GCGMsgCardUpdate_proto_rawDescOnce.Do(func() {
+ file_GCGMsgCardUpdate_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgCardUpdate_proto_rawDescData)
+ })
+ return file_GCGMsgCardUpdate_proto_rawDescData
+}
+
+var file_GCGMsgCardUpdate_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgCardUpdate_proto_goTypes = []interface{}{
+ (*GCGMsgCardUpdate)(nil), // 0: proto.GCGMsgCardUpdate
+ (*GCGCard)(nil), // 1: proto.GCGCard
+}
+var file_GCGMsgCardUpdate_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgCardUpdate.card:type_name -> proto.GCGCard
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgCardUpdate_proto_init() }
+func file_GCGMsgCardUpdate_proto_init() {
+ if File_GCGMsgCardUpdate_proto != nil {
+ return
+ }
+ file_GCGCard_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgCardUpdate_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgCardUpdate); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgCardUpdate_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgCardUpdate_proto_goTypes,
+ DependencyIndexes: file_GCGMsgCardUpdate_proto_depIdxs,
+ MessageInfos: file_GCGMsgCardUpdate_proto_msgTypes,
+ }.Build()
+ File_GCGMsgCardUpdate_proto = out.File
+ file_GCGMsgCardUpdate_proto_rawDesc = nil
+ file_GCGMsgCardUpdate_proto_goTypes = nil
+ file_GCGMsgCardUpdate_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgCharDie.pb.go b/protocol/proto/GCGMsgCharDie.pb.go
new file mode 100644
index 00000000..33743bf9
--- /dev/null
+++ b/protocol/proto/GCGMsgCharDie.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgCharDie.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgCharDie struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,5,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ CardGuid uint32 `protobuf:"varint,11,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGMsgCharDie) Reset() {
+ *x = GCGMsgCharDie{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgCharDie_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgCharDie) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgCharDie) ProtoMessage() {}
+
+func (x *GCGMsgCharDie) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgCharDie_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgCharDie.ProtoReflect.Descriptor instead.
+func (*GCGMsgCharDie) Descriptor() ([]byte, []int) {
+ return file_GCGMsgCharDie_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgCharDie) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgCharDie) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGMsgCharDie_proto protoreflect.FileDescriptor
+
+var file_GCGMsgCharDie_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x61, 0x72, 0x44, 0x69, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x0d,
+ 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x68, 0x61, 0x72, 0x44, 0x69, 0x65, 0x12, 0x23, 0x0a,
+ 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgCharDie_proto_rawDescOnce sync.Once
+ file_GCGMsgCharDie_proto_rawDescData = file_GCGMsgCharDie_proto_rawDesc
+)
+
+func file_GCGMsgCharDie_proto_rawDescGZIP() []byte {
+ file_GCGMsgCharDie_proto_rawDescOnce.Do(func() {
+ file_GCGMsgCharDie_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgCharDie_proto_rawDescData)
+ })
+ return file_GCGMsgCharDie_proto_rawDescData
+}
+
+var file_GCGMsgCharDie_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgCharDie_proto_goTypes = []interface{}{
+ (*GCGMsgCharDie)(nil), // 0: proto.GCGMsgCharDie
+}
+var file_GCGMsgCharDie_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgCharDie_proto_init() }
+func file_GCGMsgCharDie_proto_init() {
+ if File_GCGMsgCharDie_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgCharDie_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgCharDie); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgCharDie_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgCharDie_proto_goTypes,
+ DependencyIndexes: file_GCGMsgCharDie_proto_depIdxs,
+ MessageInfos: file_GCGMsgCharDie_proto_msgTypes,
+ }.Build()
+ File_GCGMsgCharDie_proto = out.File
+ file_GCGMsgCharDie_proto_rawDesc = nil
+ file_GCGMsgCharDie_proto_goTypes = nil
+ file_GCGMsgCharDie_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgClientPerform.pb.go b/protocol/proto/GCGMsgClientPerform.pb.go
new file mode 100644
index 00000000..c15dd1df
--- /dev/null
+++ b/protocol/proto/GCGMsgClientPerform.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgClientPerform.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgClientPerform struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParamList []uint32 `protobuf:"varint,2,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ PerformType GCGClientPerformType `protobuf:"varint,5,opt,name=perform_type,json=performType,proto3,enum=proto.GCGClientPerformType" json:"perform_type,omitempty"`
+}
+
+func (x *GCGMsgClientPerform) Reset() {
+ *x = GCGMsgClientPerform{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgClientPerform_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgClientPerform) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgClientPerform) ProtoMessage() {}
+
+func (x *GCGMsgClientPerform) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgClientPerform_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgClientPerform.ProtoReflect.Descriptor instead.
+func (*GCGMsgClientPerform) Descriptor() ([]byte, []int) {
+ return file_GCGMsgClientPerform_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgClientPerform) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *GCGMsgClientPerform) GetPerformType() GCGClientPerformType {
+ if x != nil {
+ return x.PerformType
+ }
+ return GCGClientPerformType_GCG_CLIENT_PERFORM_TYPE_INVALID
+}
+
+var File_GCGMsgClientPerform_proto protoreflect.FileDescriptor
+
+var file_GCGMsgClientPerform_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65,
+ 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1a, 0x47, 0x43, 0x47, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72,
+ 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74,
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65,
+ 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0c, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x66,
+ 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,
+ 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgClientPerform_proto_rawDescOnce sync.Once
+ file_GCGMsgClientPerform_proto_rawDescData = file_GCGMsgClientPerform_proto_rawDesc
+)
+
+func file_GCGMsgClientPerform_proto_rawDescGZIP() []byte {
+ file_GCGMsgClientPerform_proto_rawDescOnce.Do(func() {
+ file_GCGMsgClientPerform_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgClientPerform_proto_rawDescData)
+ })
+ return file_GCGMsgClientPerform_proto_rawDescData
+}
+
+var file_GCGMsgClientPerform_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgClientPerform_proto_goTypes = []interface{}{
+ (*GCGMsgClientPerform)(nil), // 0: proto.GCGMsgClientPerform
+ (GCGClientPerformType)(0), // 1: proto.GCGClientPerformType
+}
+var file_GCGMsgClientPerform_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgClientPerform.perform_type:type_name -> proto.GCGClientPerformType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgClientPerform_proto_init() }
+func file_GCGMsgClientPerform_proto_init() {
+ if File_GCGMsgClientPerform_proto != nil {
+ return
+ }
+ file_GCGClientPerformType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgClientPerform_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgClientPerform); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgClientPerform_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgClientPerform_proto_goTypes,
+ DependencyIndexes: file_GCGMsgClientPerform_proto_depIdxs,
+ MessageInfos: file_GCGMsgClientPerform_proto_msgTypes,
+ }.Build()
+ File_GCGMsgClientPerform_proto = out.File
+ file_GCGMsgClientPerform_proto_rawDesc = nil
+ file_GCGMsgClientPerform_proto_goTypes = nil
+ file_GCGMsgClientPerform_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgCostDice.pb.go b/protocol/proto/GCGMsgCostDice.pb.go
new file mode 100644
index 00000000..8a601f9b
--- /dev/null
+++ b/protocol/proto/GCGMsgCostDice.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgCostDice.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgCostDice struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,6,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ SelectDiceIndexList []uint32 `protobuf:"varint,13,rep,packed,name=select_dice_index_list,json=selectDiceIndexList,proto3" json:"select_dice_index_list,omitempty"`
+ Reason GCGReason `protobuf:"varint,9,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+}
+
+func (x *GCGMsgCostDice) Reset() {
+ *x = GCGMsgCostDice{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgCostDice_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgCostDice) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgCostDice) ProtoMessage() {}
+
+func (x *GCGMsgCostDice) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgCostDice_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgCostDice.ProtoReflect.Descriptor instead.
+func (*GCGMsgCostDice) Descriptor() ([]byte, []int) {
+ return file_GCGMsgCostDice_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgCostDice) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgCostDice) GetSelectDiceIndexList() []uint32 {
+ if x != nil {
+ return x.SelectDiceIndexList
+ }
+ return nil
+}
+
+func (x *GCGMsgCostDice) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+var File_GCGMsgCostDice_proto protoreflect.FileDescriptor
+
+var file_GCGMsgCostDice_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x63, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x47,
+ 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94,
+ 0x01, 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x63,
+ 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x5f, 0x64, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69,
+ 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgCostDice_proto_rawDescOnce sync.Once
+ file_GCGMsgCostDice_proto_rawDescData = file_GCGMsgCostDice_proto_rawDesc
+)
+
+func file_GCGMsgCostDice_proto_rawDescGZIP() []byte {
+ file_GCGMsgCostDice_proto_rawDescOnce.Do(func() {
+ file_GCGMsgCostDice_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgCostDice_proto_rawDescData)
+ })
+ return file_GCGMsgCostDice_proto_rawDescData
+}
+
+var file_GCGMsgCostDice_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgCostDice_proto_goTypes = []interface{}{
+ (*GCGMsgCostDice)(nil), // 0: proto.GCGMsgCostDice
+ (GCGReason)(0), // 1: proto.GCGReason
+}
+var file_GCGMsgCostDice_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgCostDice.reason:type_name -> proto.GCGReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgCostDice_proto_init() }
+func file_GCGMsgCostDice_proto_init() {
+ if File_GCGMsgCostDice_proto != nil {
+ return
+ }
+ file_GCGReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgCostDice_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgCostDice); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgCostDice_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgCostDice_proto_goTypes,
+ DependencyIndexes: file_GCGMsgCostDice_proto_depIdxs,
+ MessageInfos: file_GCGMsgCostDice_proto_msgTypes,
+ }.Build()
+ File_GCGMsgCostDice_proto = out.File
+ file_GCGMsgCostDice_proto_rawDesc = nil
+ file_GCGMsgCostDice_proto_goTypes = nil
+ file_GCGMsgCostDice_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgCostRevise.pb.go b/protocol/proto/GCGMsgCostRevise.pb.go
new file mode 100644
index 00000000..c86432bc
--- /dev/null
+++ b/protocol/proto/GCGMsgCostRevise.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgCostRevise.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgCostRevise struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,5,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ CostRevise *GCGCostReviseInfo `protobuf:"bytes,13,opt,name=cost_revise,json=costRevise,proto3" json:"cost_revise,omitempty"`
+}
+
+func (x *GCGMsgCostRevise) Reset() {
+ *x = GCGMsgCostRevise{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgCostRevise_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgCostRevise) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgCostRevise) ProtoMessage() {}
+
+func (x *GCGMsgCostRevise) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgCostRevise_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgCostRevise.ProtoReflect.Descriptor instead.
+func (*GCGMsgCostRevise) Descriptor() ([]byte, []int) {
+ return file_GCGMsgCostRevise_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgCostRevise) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgCostRevise) GetCostRevise() *GCGCostReviseInfo {
+ if x != nil {
+ return x.CostRevise
+ }
+ return nil
+}
+
+var File_GCGMsgCostRevise_proto protoreflect.FileDescriptor
+
+var file_GCGMsgCostRevise_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69,
+ 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x17, 0x47, 0x43, 0x47, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x4d,
+ 0x73, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d,
+ 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x65,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x43, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x69, 0x73, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgCostRevise_proto_rawDescOnce sync.Once
+ file_GCGMsgCostRevise_proto_rawDescData = file_GCGMsgCostRevise_proto_rawDesc
+)
+
+func file_GCGMsgCostRevise_proto_rawDescGZIP() []byte {
+ file_GCGMsgCostRevise_proto_rawDescOnce.Do(func() {
+ file_GCGMsgCostRevise_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgCostRevise_proto_rawDescData)
+ })
+ return file_GCGMsgCostRevise_proto_rawDescData
+}
+
+var file_GCGMsgCostRevise_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgCostRevise_proto_goTypes = []interface{}{
+ (*GCGMsgCostRevise)(nil), // 0: proto.GCGMsgCostRevise
+ (*GCGCostReviseInfo)(nil), // 1: proto.GCGCostReviseInfo
+}
+var file_GCGMsgCostRevise_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgCostRevise.cost_revise:type_name -> proto.GCGCostReviseInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgCostRevise_proto_init() }
+func file_GCGMsgCostRevise_proto_init() {
+ if File_GCGMsgCostRevise_proto != nil {
+ return
+ }
+ file_GCGCostReviseInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgCostRevise_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgCostRevise); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgCostRevise_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgCostRevise_proto_goTypes,
+ DependencyIndexes: file_GCGMsgCostRevise_proto_depIdxs,
+ MessageInfos: file_GCGMsgCostRevise_proto_msgTypes,
+ }.Build()
+ File_GCGMsgCostRevise_proto = out.File
+ file_GCGMsgCostRevise_proto_rawDesc = nil
+ file_GCGMsgCostRevise_proto_goTypes = nil
+ file_GCGMsgCostRevise_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgDiceReroll.pb.go b/protocol/proto/GCGMsgDiceReroll.pb.go
new file mode 100644
index 00000000..35f40302
--- /dev/null
+++ b/protocol/proto/GCGMsgDiceReroll.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgDiceReroll.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgDiceReroll struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,2,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ SelectDiceIndexList []uint32 `protobuf:"varint,1,rep,packed,name=select_dice_index_list,json=selectDiceIndexList,proto3" json:"select_dice_index_list,omitempty"`
+ DiceSideList []GCGDiceSideType `protobuf:"varint,6,rep,packed,name=dice_side_list,json=diceSideList,proto3,enum=proto.GCGDiceSideType" json:"dice_side_list,omitempty"`
+}
+
+func (x *GCGMsgDiceReroll) Reset() {
+ *x = GCGMsgDiceReroll{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgDiceReroll_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgDiceReroll) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgDiceReroll) ProtoMessage() {}
+
+func (x *GCGMsgDiceReroll) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgDiceReroll_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgDiceReroll.ProtoReflect.Descriptor instead.
+func (*GCGMsgDiceReroll) Descriptor() ([]byte, []int) {
+ return file_GCGMsgDiceReroll_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgDiceReroll) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgDiceReroll) GetSelectDiceIndexList() []uint32 {
+ if x != nil {
+ return x.SelectDiceIndexList
+ }
+ return nil
+}
+
+func (x *GCGMsgDiceReroll) GetDiceSideList() []GCGDiceSideType {
+ if x != nil {
+ return x.DiceSideList
+ }
+ return nil
+}
+
+var File_GCGMsgDiceReroll_proto protoreflect.FileDescriptor
+
+var file_GCGMsgDiceReroll_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x15, 0x47, 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x4d, 0x73,
+ 0x67, 0x44, 0x69, 0x63, 0x65, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63,
+ 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x33, 0x0a, 0x16, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x69, 0x63, 0x65, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x44, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0e, 0x64, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69,
+ 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x64, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgDiceReroll_proto_rawDescOnce sync.Once
+ file_GCGMsgDiceReroll_proto_rawDescData = file_GCGMsgDiceReroll_proto_rawDesc
+)
+
+func file_GCGMsgDiceReroll_proto_rawDescGZIP() []byte {
+ file_GCGMsgDiceReroll_proto_rawDescOnce.Do(func() {
+ file_GCGMsgDiceReroll_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgDiceReroll_proto_rawDescData)
+ })
+ return file_GCGMsgDiceReroll_proto_rawDescData
+}
+
+var file_GCGMsgDiceReroll_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgDiceReroll_proto_goTypes = []interface{}{
+ (*GCGMsgDiceReroll)(nil), // 0: proto.GCGMsgDiceReroll
+ (GCGDiceSideType)(0), // 1: proto.GCGDiceSideType
+}
+var file_GCGMsgDiceReroll_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgDiceReroll.dice_side_list:type_name -> proto.GCGDiceSideType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgDiceReroll_proto_init() }
+func file_GCGMsgDiceReroll_proto_init() {
+ if File_GCGMsgDiceReroll_proto != nil {
+ return
+ }
+ file_GCGDiceSideType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgDiceReroll_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgDiceReroll); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgDiceReroll_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgDiceReroll_proto_goTypes,
+ DependencyIndexes: file_GCGMsgDiceReroll_proto_depIdxs,
+ MessageInfos: file_GCGMsgDiceReroll_proto_msgTypes,
+ }.Build()
+ File_GCGMsgDiceReroll_proto = out.File
+ file_GCGMsgDiceReroll_proto_rawDesc = nil
+ file_GCGMsgDiceReroll_proto_goTypes = nil
+ file_GCGMsgDiceReroll_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgDiceRoll.pb.go b/protocol/proto/GCGMsgDiceRoll.pb.go
new file mode 100644
index 00000000..de0606c0
--- /dev/null
+++ b/protocol/proto/GCGMsgDiceRoll.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgDiceRoll.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgDiceRoll struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DiceSideList []GCGDiceSideType `protobuf:"varint,10,rep,packed,name=dice_side_list,json=diceSideList,proto3,enum=proto.GCGDiceSideType" json:"dice_side_list,omitempty"`
+ DiceNum uint32 `protobuf:"varint,15,opt,name=dice_num,json=diceNum,proto3" json:"dice_num,omitempty"`
+ ControllerId uint32 `protobuf:"varint,5,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+}
+
+func (x *GCGMsgDiceRoll) Reset() {
+ *x = GCGMsgDiceRoll{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgDiceRoll_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgDiceRoll) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgDiceRoll) ProtoMessage() {}
+
+func (x *GCGMsgDiceRoll) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgDiceRoll_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgDiceRoll.ProtoReflect.Descriptor instead.
+func (*GCGMsgDiceRoll) Descriptor() ([]byte, []int) {
+ return file_GCGMsgDiceRoll_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgDiceRoll) GetDiceSideList() []GCGDiceSideType {
+ if x != nil {
+ return x.DiceSideList
+ }
+ return nil
+}
+
+func (x *GCGMsgDiceRoll) GetDiceNum() uint32 {
+ if x != nil {
+ return x.DiceNum
+ }
+ return 0
+}
+
+func (x *GCGMsgDiceRoll) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+var File_GCGMsgDiceRoll_proto protoreflect.FileDescriptor
+
+var file_GCGMsgDiceRoll_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x44, 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x47,
+ 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x44,
+ 0x69, 0x63, 0x65, 0x52, 0x6f, 0x6c, 0x6c, 0x12, 0x3c, 0x0a, 0x0e, 0x64, 0x69, 0x63, 0x65, 0x5f,
+ 0x73, 0x69, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32,
+ 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53,
+ 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x64, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64,
+ 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d,
+ 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgDiceRoll_proto_rawDescOnce sync.Once
+ file_GCGMsgDiceRoll_proto_rawDescData = file_GCGMsgDiceRoll_proto_rawDesc
+)
+
+func file_GCGMsgDiceRoll_proto_rawDescGZIP() []byte {
+ file_GCGMsgDiceRoll_proto_rawDescOnce.Do(func() {
+ file_GCGMsgDiceRoll_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgDiceRoll_proto_rawDescData)
+ })
+ return file_GCGMsgDiceRoll_proto_rawDescData
+}
+
+var file_GCGMsgDiceRoll_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgDiceRoll_proto_goTypes = []interface{}{
+ (*GCGMsgDiceRoll)(nil), // 0: proto.GCGMsgDiceRoll
+ (GCGDiceSideType)(0), // 1: proto.GCGDiceSideType
+}
+var file_GCGMsgDiceRoll_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgDiceRoll.dice_side_list:type_name -> proto.GCGDiceSideType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgDiceRoll_proto_init() }
+func file_GCGMsgDiceRoll_proto_init() {
+ if File_GCGMsgDiceRoll_proto != nil {
+ return
+ }
+ file_GCGDiceSideType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgDiceRoll_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgDiceRoll); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgDiceRoll_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgDiceRoll_proto_goTypes,
+ DependencyIndexes: file_GCGMsgDiceRoll_proto_depIdxs,
+ MessageInfos: file_GCGMsgDiceRoll_proto_msgTypes,
+ }.Build()
+ File_GCGMsgDiceRoll_proto = out.File
+ file_GCGMsgDiceRoll_proto_rawDesc = nil
+ file_GCGMsgDiceRoll_proto_goTypes = nil
+ file_GCGMsgDiceRoll_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgDuelDataChange.pb.go b/protocol/proto/GCGMsgDuelDataChange.pb.go
new file mode 100644
index 00000000..53963c43
--- /dev/null
+++ b/protocol/proto/GCGMsgDuelDataChange.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgDuelDataChange.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgDuelDataChange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Round uint32 `protobuf:"varint,14,opt,name=round,proto3" json:"round,omitempty"`
+}
+
+func (x *GCGMsgDuelDataChange) Reset() {
+ *x = GCGMsgDuelDataChange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgDuelDataChange_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgDuelDataChange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgDuelDataChange) ProtoMessage() {}
+
+func (x *GCGMsgDuelDataChange) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgDuelDataChange_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgDuelDataChange.ProtoReflect.Descriptor instead.
+func (*GCGMsgDuelDataChange) Descriptor() ([]byte, []int) {
+ return file_GCGMsgDuelDataChange_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgDuelDataChange) GetRound() uint32 {
+ if x != nil {
+ return x.Round
+ }
+ return 0
+}
+
+var File_GCGMsgDuelDataChange_proto protoreflect.FileDescriptor
+
+var file_GCGMsgDuelDataChange_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x44, 0x75, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x44, 0x75, 0x65,
+ 0x6c, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72,
+ 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgDuelDataChange_proto_rawDescOnce sync.Once
+ file_GCGMsgDuelDataChange_proto_rawDescData = file_GCGMsgDuelDataChange_proto_rawDesc
+)
+
+func file_GCGMsgDuelDataChange_proto_rawDescGZIP() []byte {
+ file_GCGMsgDuelDataChange_proto_rawDescOnce.Do(func() {
+ file_GCGMsgDuelDataChange_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgDuelDataChange_proto_rawDescData)
+ })
+ return file_GCGMsgDuelDataChange_proto_rawDescData
+}
+
+var file_GCGMsgDuelDataChange_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgDuelDataChange_proto_goTypes = []interface{}{
+ (*GCGMsgDuelDataChange)(nil), // 0: proto.GCGMsgDuelDataChange
+}
+var file_GCGMsgDuelDataChange_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgDuelDataChange_proto_init() }
+func file_GCGMsgDuelDataChange_proto_init() {
+ if File_GCGMsgDuelDataChange_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgDuelDataChange_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgDuelDataChange); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgDuelDataChange_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgDuelDataChange_proto_goTypes,
+ DependencyIndexes: file_GCGMsgDuelDataChange_proto_depIdxs,
+ MessageInfos: file_GCGMsgDuelDataChange_proto_msgTypes,
+ }.Build()
+ File_GCGMsgDuelDataChange_proto = out.File
+ file_GCGMsgDuelDataChange_proto_rawDesc = nil
+ file_GCGMsgDuelDataChange_proto_goTypes = nil
+ file_GCGMsgDuelDataChange_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgGameOver.pb.go b/protocol/proto/GCGMsgGameOver.pb.go
new file mode 100644
index 00000000..73331763
--- /dev/null
+++ b/protocol/proto/GCGMsgGameOver.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgGameOver.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgGameOver struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndReason GCGEndReason `protobuf:"varint,13,opt,name=end_reason,json=endReason,proto3,enum=proto.GCGEndReason" json:"end_reason,omitempty"`
+ WinControllerId uint32 `protobuf:"varint,6,opt,name=win_controller_id,json=winControllerId,proto3" json:"win_controller_id,omitempty"`
+}
+
+func (x *GCGMsgGameOver) Reset() {
+ *x = GCGMsgGameOver{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgGameOver_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgGameOver) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgGameOver) ProtoMessage() {}
+
+func (x *GCGMsgGameOver) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgGameOver_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgGameOver.ProtoReflect.Descriptor instead.
+func (*GCGMsgGameOver) Descriptor() ([]byte, []int) {
+ return file_GCGMsgGameOver_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgGameOver) GetEndReason() GCGEndReason {
+ if x != nil {
+ return x.EndReason
+ }
+ return GCGEndReason_GCG_END_REASON_DEFAULT
+}
+
+func (x *GCGMsgGameOver) GetWinControllerId() uint32 {
+ if x != nil {
+ return x.WinControllerId
+ }
+ return 0
+}
+
+var File_GCGMsgGameOver_proto protoreflect.FileDescriptor
+
+var file_GCGMsgGameOver_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x47,
+ 0x43, 0x47, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x70, 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x47, 0x61, 0x6d, 0x65, 0x4f,
+ 0x76, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x43, 0x47, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x09, 0x65, 0x6e,
+ 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x69, 0x6e, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgGameOver_proto_rawDescOnce sync.Once
+ file_GCGMsgGameOver_proto_rawDescData = file_GCGMsgGameOver_proto_rawDesc
+)
+
+func file_GCGMsgGameOver_proto_rawDescGZIP() []byte {
+ file_GCGMsgGameOver_proto_rawDescOnce.Do(func() {
+ file_GCGMsgGameOver_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgGameOver_proto_rawDescData)
+ })
+ return file_GCGMsgGameOver_proto_rawDescData
+}
+
+var file_GCGMsgGameOver_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgGameOver_proto_goTypes = []interface{}{
+ (*GCGMsgGameOver)(nil), // 0: proto.GCGMsgGameOver
+ (GCGEndReason)(0), // 1: proto.GCGEndReason
+}
+var file_GCGMsgGameOver_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgGameOver.end_reason:type_name -> proto.GCGEndReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgGameOver_proto_init() }
+func file_GCGMsgGameOver_proto_init() {
+ if File_GCGMsgGameOver_proto != nil {
+ return
+ }
+ file_GCGEndReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgGameOver_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgGameOver); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgGameOver_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgGameOver_proto_goTypes,
+ DependencyIndexes: file_GCGMsgGameOver_proto_depIdxs,
+ MessageInfos: file_GCGMsgGameOver_proto_msgTypes,
+ }.Build()
+ File_GCGMsgGameOver_proto = out.File
+ file_GCGMsgGameOver_proto_rawDesc = nil
+ file_GCGMsgGameOver_proto_goTypes = nil
+ file_GCGMsgGameOver_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgModifyAdd.pb.go b/protocol/proto/GCGMsgModifyAdd.pb.go
new file mode 100644
index 00000000..c554d573
--- /dev/null
+++ b/protocol/proto/GCGMsgModifyAdd.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgModifyAdd.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgModifyAdd struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos uint32 `protobuf:"varint,9,opt,name=pos,proto3" json:"pos,omitempty"`
+ OwnerCardGuid uint32 `protobuf:"varint,10,opt,name=owner_card_guid,json=ownerCardGuid,proto3" json:"owner_card_guid,omitempty"`
+ CardGuidList []uint32 `protobuf:"varint,15,rep,packed,name=card_guid_list,json=cardGuidList,proto3" json:"card_guid_list,omitempty"`
+ ControllerId uint32 `protobuf:"varint,14,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ Reason GCGReason `protobuf:"varint,11,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+}
+
+func (x *GCGMsgModifyAdd) Reset() {
+ *x = GCGMsgModifyAdd{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgModifyAdd_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgModifyAdd) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgModifyAdd) ProtoMessage() {}
+
+func (x *GCGMsgModifyAdd) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgModifyAdd_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgModifyAdd.ProtoReflect.Descriptor instead.
+func (*GCGMsgModifyAdd) Descriptor() ([]byte, []int) {
+ return file_GCGMsgModifyAdd_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgModifyAdd) GetPos() uint32 {
+ if x != nil {
+ return x.Pos
+ }
+ return 0
+}
+
+func (x *GCGMsgModifyAdd) GetOwnerCardGuid() uint32 {
+ if x != nil {
+ return x.OwnerCardGuid
+ }
+ return 0
+}
+
+func (x *GCGMsgModifyAdd) GetCardGuidList() []uint32 {
+ if x != nil {
+ return x.CardGuidList
+ }
+ return nil
+}
+
+func (x *GCGMsgModifyAdd) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgModifyAdd) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+var File_GCGMsgModifyAdd_proto protoreflect.FileDescriptor
+
+var file_GCGMsgModifyAdd_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x41, 0x64,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
+ 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xc0, 0x01, 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79,
+ 0x41, 0x64, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
+ 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a,
+ 0x0e, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgModifyAdd_proto_rawDescOnce sync.Once
+ file_GCGMsgModifyAdd_proto_rawDescData = file_GCGMsgModifyAdd_proto_rawDesc
+)
+
+func file_GCGMsgModifyAdd_proto_rawDescGZIP() []byte {
+ file_GCGMsgModifyAdd_proto_rawDescOnce.Do(func() {
+ file_GCGMsgModifyAdd_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgModifyAdd_proto_rawDescData)
+ })
+ return file_GCGMsgModifyAdd_proto_rawDescData
+}
+
+var file_GCGMsgModifyAdd_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgModifyAdd_proto_goTypes = []interface{}{
+ (*GCGMsgModifyAdd)(nil), // 0: proto.GCGMsgModifyAdd
+ (GCGReason)(0), // 1: proto.GCGReason
+}
+var file_GCGMsgModifyAdd_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgModifyAdd.reason:type_name -> proto.GCGReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgModifyAdd_proto_init() }
+func file_GCGMsgModifyAdd_proto_init() {
+ if File_GCGMsgModifyAdd_proto != nil {
+ return
+ }
+ file_GCGReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgModifyAdd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgModifyAdd); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgModifyAdd_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgModifyAdd_proto_goTypes,
+ DependencyIndexes: file_GCGMsgModifyAdd_proto_depIdxs,
+ MessageInfos: file_GCGMsgModifyAdd_proto_msgTypes,
+ }.Build()
+ File_GCGMsgModifyAdd_proto = out.File
+ file_GCGMsgModifyAdd_proto_rawDesc = nil
+ file_GCGMsgModifyAdd_proto_goTypes = nil
+ file_GCGMsgModifyAdd_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgModifyRemove.pb.go b/protocol/proto/GCGMsgModifyRemove.pb.go
new file mode 100644
index 00000000..906d7675
--- /dev/null
+++ b/protocol/proto/GCGMsgModifyRemove.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgModifyRemove.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgModifyRemove struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,14,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ Reason GCGReason `protobuf:"varint,12,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+ OwnerCardGuid uint32 `protobuf:"varint,5,opt,name=owner_card_guid,json=ownerCardGuid,proto3" json:"owner_card_guid,omitempty"`
+ CardGuidList []uint32 `protobuf:"varint,4,rep,packed,name=card_guid_list,json=cardGuidList,proto3" json:"card_guid_list,omitempty"`
+}
+
+func (x *GCGMsgModifyRemove) Reset() {
+ *x = GCGMsgModifyRemove{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgModifyRemove_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgModifyRemove) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgModifyRemove) ProtoMessage() {}
+
+func (x *GCGMsgModifyRemove) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgModifyRemove_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgModifyRemove.ProtoReflect.Descriptor instead.
+func (*GCGMsgModifyRemove) Descriptor() ([]byte, []int) {
+ return file_GCGMsgModifyRemove_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgModifyRemove) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgModifyRemove) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+func (x *GCGMsgModifyRemove) GetOwnerCardGuid() uint32 {
+ if x != nil {
+ return x.OwnerCardGuid
+ }
+ return 0
+}
+
+func (x *GCGMsgModifyRemove) GetCardGuidList() []uint32 {
+ if x != nil {
+ return x.CardGuidList
+ }
+ return nil
+}
+
+var File_GCGMsgModifyRemove_proto protoreflect.FileDescriptor
+
+var file_GCGMsgModifyRemove_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x52, 0x65,
+ 0x6d, 0x6f, 0x76, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0f, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x64,
+ 0x69, 0x66, 0x79, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e,
+ 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28,
+ 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65,
+ 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64,
+ 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgModifyRemove_proto_rawDescOnce sync.Once
+ file_GCGMsgModifyRemove_proto_rawDescData = file_GCGMsgModifyRemove_proto_rawDesc
+)
+
+func file_GCGMsgModifyRemove_proto_rawDescGZIP() []byte {
+ file_GCGMsgModifyRemove_proto_rawDescOnce.Do(func() {
+ file_GCGMsgModifyRemove_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgModifyRemove_proto_rawDescData)
+ })
+ return file_GCGMsgModifyRemove_proto_rawDescData
+}
+
+var file_GCGMsgModifyRemove_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgModifyRemove_proto_goTypes = []interface{}{
+ (*GCGMsgModifyRemove)(nil), // 0: proto.GCGMsgModifyRemove
+ (GCGReason)(0), // 1: proto.GCGReason
+}
+var file_GCGMsgModifyRemove_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgModifyRemove.reason:type_name -> proto.GCGReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgModifyRemove_proto_init() }
+func file_GCGMsgModifyRemove_proto_init() {
+ if File_GCGMsgModifyRemove_proto != nil {
+ return
+ }
+ file_GCGReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgModifyRemove_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgModifyRemove); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgModifyRemove_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgModifyRemove_proto_goTypes,
+ DependencyIndexes: file_GCGMsgModifyRemove_proto_depIdxs,
+ MessageInfos: file_GCGMsgModifyRemove_proto_msgTypes,
+ }.Build()
+ File_GCGMsgModifyRemove_proto = out.File
+ file_GCGMsgModifyRemove_proto_rawDesc = nil
+ file_GCGMsgModifyRemove_proto_goTypes = nil
+ file_GCGMsgModifyRemove_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgMoveCard.pb.go b/protocol/proto/GCGMsgMoveCard.pb.go
new file mode 100644
index 00000000..c266f447
--- /dev/null
+++ b/protocol/proto/GCGMsgMoveCard.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgMoveCard.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgMoveCard struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,14,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ To GCGZoneType `protobuf:"varint,5,opt,name=to,proto3,enum=proto.GCGZoneType" json:"to,omitempty"`
+ From GCGZoneType `protobuf:"varint,12,opt,name=from,proto3,enum=proto.GCGZoneType" json:"from,omitempty"`
+ IsFail bool `protobuf:"varint,10,opt,name=is_fail,json=isFail,proto3" json:"is_fail,omitempty"`
+ CardGuid uint32 `protobuf:"varint,7,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+ Reason GCGReason `protobuf:"varint,6,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+}
+
+func (x *GCGMsgMoveCard) Reset() {
+ *x = GCGMsgMoveCard{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgMoveCard_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgMoveCard) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgMoveCard) ProtoMessage() {}
+
+func (x *GCGMsgMoveCard) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgMoveCard_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgMoveCard.ProtoReflect.Descriptor instead.
+func (*GCGMsgMoveCard) Descriptor() ([]byte, []int) {
+ return file_GCGMsgMoveCard_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgMoveCard) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgMoveCard) GetTo() GCGZoneType {
+ if x != nil {
+ return x.To
+ }
+ return GCGZoneType_GCG_ZONE_TYPE_INVALID
+}
+
+func (x *GCGMsgMoveCard) GetFrom() GCGZoneType {
+ if x != nil {
+ return x.From
+ }
+ return GCGZoneType_GCG_ZONE_TYPE_INVALID
+}
+
+func (x *GCGMsgMoveCard) GetIsFail() bool {
+ if x != nil {
+ return x.IsFail
+ }
+ return false
+}
+
+func (x *GCGMsgMoveCard) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+func (x *GCGMsgMoveCard) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+var File_GCGMsgMoveCard_proto protoreflect.FileDescriptor
+
+var file_GCGMsgMoveCard_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x47,
+ 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11,
+ 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xe1, 0x01, 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4d, 0x6f, 0x76, 0x65,
+ 0x43, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e,
+ 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x02, 0x74, 0x6f, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x26, 0x0a,
+ 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgMoveCard_proto_rawDescOnce sync.Once
+ file_GCGMsgMoveCard_proto_rawDescData = file_GCGMsgMoveCard_proto_rawDesc
+)
+
+func file_GCGMsgMoveCard_proto_rawDescGZIP() []byte {
+ file_GCGMsgMoveCard_proto_rawDescOnce.Do(func() {
+ file_GCGMsgMoveCard_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgMoveCard_proto_rawDescData)
+ })
+ return file_GCGMsgMoveCard_proto_rawDescData
+}
+
+var file_GCGMsgMoveCard_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgMoveCard_proto_goTypes = []interface{}{
+ (*GCGMsgMoveCard)(nil), // 0: proto.GCGMsgMoveCard
+ (GCGZoneType)(0), // 1: proto.GCGZoneType
+ (GCGReason)(0), // 2: proto.GCGReason
+}
+var file_GCGMsgMoveCard_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgMoveCard.to:type_name -> proto.GCGZoneType
+ 1, // 1: proto.GCGMsgMoveCard.from:type_name -> proto.GCGZoneType
+ 2, // 2: proto.GCGMsgMoveCard.reason:type_name -> proto.GCGReason
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgMoveCard_proto_init() }
+func file_GCGMsgMoveCard_proto_init() {
+ if File_GCGMsgMoveCard_proto != nil {
+ return
+ }
+ file_GCGReason_proto_init()
+ file_GCGZoneType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgMoveCard_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgMoveCard); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgMoveCard_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgMoveCard_proto_goTypes,
+ DependencyIndexes: file_GCGMsgMoveCard_proto_depIdxs,
+ MessageInfos: file_GCGMsgMoveCard_proto_msgTypes,
+ }.Build()
+ File_GCGMsgMoveCard_proto = out.File
+ file_GCGMsgMoveCard_proto_rawDesc = nil
+ file_GCGMsgMoveCard_proto_goTypes = nil
+ file_GCGMsgMoveCard_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgNewCard.pb.go b/protocol/proto/GCGMsgNewCard.pb.go
new file mode 100644
index 00000000..b8a42ebd
--- /dev/null
+++ b/protocol/proto/GCGMsgNewCard.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgNewCard.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgNewCard struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Card *GCGCard `protobuf:"bytes,15,opt,name=card,proto3" json:"card,omitempty"`
+}
+
+func (x *GCGMsgNewCard) Reset() {
+ *x = GCGMsgNewCard{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgNewCard_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgNewCard) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgNewCard) ProtoMessage() {}
+
+func (x *GCGMsgNewCard) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgNewCard_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgNewCard.ProtoReflect.Descriptor instead.
+func (*GCGMsgNewCard) Descriptor() ([]byte, []int) {
+ return file_GCGMsgNewCard_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgNewCard) GetCard() *GCGCard {
+ if x != nil {
+ return x.Card
+ }
+ return nil
+}
+
+var File_GCGMsgNewCard_proto protoreflect.FileDescriptor
+
+var file_GCGMsgNewCard_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x47, 0x43,
+ 0x47, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x0d, 0x47,
+ 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64, 0x12, 0x22, 0x0a, 0x04,
+ 0x63, 0x61, 0x72, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x43, 0x61, 0x72, 0x64, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgNewCard_proto_rawDescOnce sync.Once
+ file_GCGMsgNewCard_proto_rawDescData = file_GCGMsgNewCard_proto_rawDesc
+)
+
+func file_GCGMsgNewCard_proto_rawDescGZIP() []byte {
+ file_GCGMsgNewCard_proto_rawDescOnce.Do(func() {
+ file_GCGMsgNewCard_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgNewCard_proto_rawDescData)
+ })
+ return file_GCGMsgNewCard_proto_rawDescData
+}
+
+var file_GCGMsgNewCard_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgNewCard_proto_goTypes = []interface{}{
+ (*GCGMsgNewCard)(nil), // 0: proto.GCGMsgNewCard
+ (*GCGCard)(nil), // 1: proto.GCGCard
+}
+var file_GCGMsgNewCard_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgNewCard.card:type_name -> proto.GCGCard
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgNewCard_proto_init() }
+func file_GCGMsgNewCard_proto_init() {
+ if File_GCGMsgNewCard_proto != nil {
+ return
+ }
+ file_GCGCard_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgNewCard_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgNewCard); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgNewCard_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgNewCard_proto_goTypes,
+ DependencyIndexes: file_GCGMsgNewCard_proto_depIdxs,
+ MessageInfos: file_GCGMsgNewCard_proto_msgTypes,
+ }.Build()
+ File_GCGMsgNewCard_proto = out.File
+ file_GCGMsgNewCard_proto_rawDesc = nil
+ file_GCGMsgNewCard_proto_goTypes = nil
+ file_GCGMsgNewCard_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgOpTimer.pb.go b/protocol/proto/GCGMsgOpTimer.pb.go
new file mode 100644
index 00000000..0abcf564
--- /dev/null
+++ b/protocol/proto/GCGMsgOpTimer.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgOpTimer.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgOpTimer struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BeginTime uint64 `protobuf:"varint,9,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ Phase GCGPhaseType `protobuf:"varint,3,opt,name=phase,proto3,enum=proto.GCGPhaseType" json:"phase,omitempty"`
+ TimeStamp uint64 `protobuf:"varint,13,opt,name=time_stamp,json=timeStamp,proto3" json:"time_stamp,omitempty"`
+ ControllerId uint32 `protobuf:"varint,8,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+}
+
+func (x *GCGMsgOpTimer) Reset() {
+ *x = GCGMsgOpTimer{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgOpTimer_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgOpTimer) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgOpTimer) ProtoMessage() {}
+
+func (x *GCGMsgOpTimer) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgOpTimer_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgOpTimer.ProtoReflect.Descriptor instead.
+func (*GCGMsgOpTimer) Descriptor() ([]byte, []int) {
+ return file_GCGMsgOpTimer_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgOpTimer) GetBeginTime() uint64 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *GCGMsgOpTimer) GetPhase() GCGPhaseType {
+ if x != nil {
+ return x.Phase
+ }
+ return GCGPhaseType_GCG_PHASE_TYPE_INVALID
+}
+
+func (x *GCGMsgOpTimer) GetTimeStamp() uint64 {
+ if x != nil {
+ return x.TimeStamp
+ }
+ return 0
+}
+
+func (x *GCGMsgOpTimer) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+var File_GCGMsgOpTimer_proto protoreflect.FileDescriptor
+
+var file_GCGMsgOpTimer_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x47, 0x43,
+ 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x9d, 0x01, 0x0a, 0x0d, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x54, 0x69, 0x6d,
+ 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x29, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x63,
+ 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgOpTimer_proto_rawDescOnce sync.Once
+ file_GCGMsgOpTimer_proto_rawDescData = file_GCGMsgOpTimer_proto_rawDesc
+)
+
+func file_GCGMsgOpTimer_proto_rawDescGZIP() []byte {
+ file_GCGMsgOpTimer_proto_rawDescOnce.Do(func() {
+ file_GCGMsgOpTimer_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgOpTimer_proto_rawDescData)
+ })
+ return file_GCGMsgOpTimer_proto_rawDescData
+}
+
+var file_GCGMsgOpTimer_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgOpTimer_proto_goTypes = []interface{}{
+ (*GCGMsgOpTimer)(nil), // 0: proto.GCGMsgOpTimer
+ (GCGPhaseType)(0), // 1: proto.GCGPhaseType
+}
+var file_GCGMsgOpTimer_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgOpTimer.phase:type_name -> proto.GCGPhaseType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgOpTimer_proto_init() }
+func file_GCGMsgOpTimer_proto_init() {
+ if File_GCGMsgOpTimer_proto != nil {
+ return
+ }
+ file_GCGPhaseType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgOpTimer_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgOpTimer); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgOpTimer_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgOpTimer_proto_goTypes,
+ DependencyIndexes: file_GCGMsgOpTimer_proto_depIdxs,
+ MessageInfos: file_GCGMsgOpTimer_proto_msgTypes,
+ }.Build()
+ File_GCGMsgOpTimer_proto = out.File
+ file_GCGMsgOpTimer_proto_rawDesc = nil
+ file_GCGMsgOpTimer_proto_goTypes = nil
+ file_GCGMsgOpTimer_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgPVEDoOp.pb.go b/protocol/proto/GCGMsgPVEDoOp.pb.go
new file mode 100644
index 00000000..02a346c2
--- /dev/null
+++ b/protocol/proto/GCGMsgPVEDoOp.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgPVEDoOp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgPVEDoOp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,4,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ CardGuid uint32 `protobuf:"varint,10,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGMsgPVEDoOp) Reset() {
+ *x = GCGMsgPVEDoOp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgPVEDoOp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgPVEDoOp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgPVEDoOp) ProtoMessage() {}
+
+func (x *GCGMsgPVEDoOp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgPVEDoOp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgPVEDoOp.ProtoReflect.Descriptor instead.
+func (*GCGMsgPVEDoOp) Descriptor() ([]byte, []int) {
+ return file_GCGMsgPVEDoOp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgPVEDoOp) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *GCGMsgPVEDoOp) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGMsgPVEDoOp_proto protoreflect.FileDescriptor
+
+var file_GCGMsgPVEDoOp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x56, 0x45, 0x44, 0x6f, 0x4f, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x0d,
+ 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x56, 0x45, 0x44, 0x6f, 0x4f, 0x70, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72,
+ 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgPVEDoOp_proto_rawDescOnce sync.Once
+ file_GCGMsgPVEDoOp_proto_rawDescData = file_GCGMsgPVEDoOp_proto_rawDesc
+)
+
+func file_GCGMsgPVEDoOp_proto_rawDescGZIP() []byte {
+ file_GCGMsgPVEDoOp_proto_rawDescOnce.Do(func() {
+ file_GCGMsgPVEDoOp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgPVEDoOp_proto_rawDescData)
+ })
+ return file_GCGMsgPVEDoOp_proto_rawDescData
+}
+
+var file_GCGMsgPVEDoOp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgPVEDoOp_proto_goTypes = []interface{}{
+ (*GCGMsgPVEDoOp)(nil), // 0: proto.GCGMsgPVEDoOp
+}
+var file_GCGMsgPVEDoOp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgPVEDoOp_proto_init() }
+func file_GCGMsgPVEDoOp_proto_init() {
+ if File_GCGMsgPVEDoOp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgPVEDoOp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgPVEDoOp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgPVEDoOp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgPVEDoOp_proto_goTypes,
+ DependencyIndexes: file_GCGMsgPVEDoOp_proto_depIdxs,
+ MessageInfos: file_GCGMsgPVEDoOp_proto_msgTypes,
+ }.Build()
+ File_GCGMsgPVEDoOp_proto = out.File
+ file_GCGMsgPVEDoOp_proto_rawDesc = nil
+ file_GCGMsgPVEDoOp_proto_goTypes = nil
+ file_GCGMsgPVEDoOp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgPVEGenCardOp.pb.go b/protocol/proto/GCGMsgPVEGenCardOp.pb.go
new file mode 100644
index 00000000..568d373d
--- /dev/null
+++ b/protocol/proto/GCGMsgPVEGenCardOp.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgPVEGenCardOp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgPVEGenCardOp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillIdList []uint32 `protobuf:"varint,1,rep,packed,name=skill_id_list,json=skillIdList,proto3" json:"skill_id_list,omitempty"`
+ CardGuid uint32 `protobuf:"varint,11,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGMsgPVEGenCardOp) Reset() {
+ *x = GCGMsgPVEGenCardOp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgPVEGenCardOp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgPVEGenCardOp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgPVEGenCardOp) ProtoMessage() {}
+
+func (x *GCGMsgPVEGenCardOp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgPVEGenCardOp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgPVEGenCardOp.ProtoReflect.Descriptor instead.
+func (*GCGMsgPVEGenCardOp) Descriptor() ([]byte, []int) {
+ return file_GCGMsgPVEGenCardOp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgPVEGenCardOp) GetSkillIdList() []uint32 {
+ if x != nil {
+ return x.SkillIdList
+ }
+ return nil
+}
+
+func (x *GCGMsgPVEGenCardOp) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGMsgPVEGenCardOp_proto protoreflect.FileDescriptor
+
+var file_GCGMsgPVEGenCardOp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x56, 0x45, 0x47, 0x65, 0x6e, 0x43, 0x61,
+ 0x72, 0x64, 0x4f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x55, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x56, 0x45, 0x47, 0x65,
+ 0x6e, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b,
+ 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgPVEGenCardOp_proto_rawDescOnce sync.Once
+ file_GCGMsgPVEGenCardOp_proto_rawDescData = file_GCGMsgPVEGenCardOp_proto_rawDesc
+)
+
+func file_GCGMsgPVEGenCardOp_proto_rawDescGZIP() []byte {
+ file_GCGMsgPVEGenCardOp_proto_rawDescOnce.Do(func() {
+ file_GCGMsgPVEGenCardOp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgPVEGenCardOp_proto_rawDescData)
+ })
+ return file_GCGMsgPVEGenCardOp_proto_rawDescData
+}
+
+var file_GCGMsgPVEGenCardOp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgPVEGenCardOp_proto_goTypes = []interface{}{
+ (*GCGMsgPVEGenCardOp)(nil), // 0: proto.GCGMsgPVEGenCardOp
+}
+var file_GCGMsgPVEGenCardOp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgPVEGenCardOp_proto_init() }
+func file_GCGMsgPVEGenCardOp_proto_init() {
+ if File_GCGMsgPVEGenCardOp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgPVEGenCardOp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgPVEGenCardOp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgPVEGenCardOp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgPVEGenCardOp_proto_goTypes,
+ DependencyIndexes: file_GCGMsgPVEGenCardOp_proto_depIdxs,
+ MessageInfos: file_GCGMsgPVEGenCardOp_proto_msgTypes,
+ }.Build()
+ File_GCGMsgPVEGenCardOp_proto = out.File
+ file_GCGMsgPVEGenCardOp_proto_rawDesc = nil
+ file_GCGMsgPVEGenCardOp_proto_goTypes = nil
+ file_GCGMsgPVEGenCardOp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgPass.pb.go b/protocol/proto/GCGMsgPass.pb.go
new file mode 100644
index 00000000..6c74334e
--- /dev/null
+++ b/protocol/proto/GCGMsgPass.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgPass.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgPass struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,14,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+}
+
+func (x *GCGMsgPass) Reset() {
+ *x = GCGMsgPass{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgPass_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgPass) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgPass) ProtoMessage() {}
+
+func (x *GCGMsgPass) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgPass_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgPass.ProtoReflect.Descriptor instead.
+func (*GCGMsgPass) Descriptor() ([]byte, []int) {
+ return file_GCGMsgPass_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgPass) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+var File_GCGMsgPass_proto protoreflect.FileDescriptor
+
+var file_GCGMsgPass_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x0a, 0x47, 0x43, 0x47,
+ 0x4d, 0x73, 0x67, 0x50, 0x61, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgPass_proto_rawDescOnce sync.Once
+ file_GCGMsgPass_proto_rawDescData = file_GCGMsgPass_proto_rawDesc
+)
+
+func file_GCGMsgPass_proto_rawDescGZIP() []byte {
+ file_GCGMsgPass_proto_rawDescOnce.Do(func() {
+ file_GCGMsgPass_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgPass_proto_rawDescData)
+ })
+ return file_GCGMsgPass_proto_rawDescData
+}
+
+var file_GCGMsgPass_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgPass_proto_goTypes = []interface{}{
+ (*GCGMsgPass)(nil), // 0: proto.GCGMsgPass
+}
+var file_GCGMsgPass_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgPass_proto_init() }
+func file_GCGMsgPass_proto_init() {
+ if File_GCGMsgPass_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgPass_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgPass); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgPass_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgPass_proto_goTypes,
+ DependencyIndexes: file_GCGMsgPass_proto_depIdxs,
+ MessageInfos: file_GCGMsgPass_proto_msgTypes,
+ }.Build()
+ File_GCGMsgPass_proto = out.File
+ file_GCGMsgPass_proto_rawDesc = nil
+ file_GCGMsgPass_proto_goTypes = nil
+ file_GCGMsgPass_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgPhaseChange.pb.go b/protocol/proto/GCGMsgPhaseChange.pb.go
new file mode 100644
index 00000000..f99dd0f4
--- /dev/null
+++ b/protocol/proto/GCGMsgPhaseChange.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgPhaseChange.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgPhaseChange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AllowControllerMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=allow_controller_map,json=allowControllerMap,proto3" json:"allow_controller_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ BeforePhase GCGPhaseType `protobuf:"varint,12,opt,name=before_phase,json=beforePhase,proto3,enum=proto.GCGPhaseType" json:"before_phase,omitempty"`
+ AfterPhase GCGPhaseType `protobuf:"varint,5,opt,name=after_phase,json=afterPhase,proto3,enum=proto.GCGPhaseType" json:"after_phase,omitempty"`
+}
+
+func (x *GCGMsgPhaseChange) Reset() {
+ *x = GCGMsgPhaseChange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgPhaseChange_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgPhaseChange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgPhaseChange) ProtoMessage() {}
+
+func (x *GCGMsgPhaseChange) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgPhaseChange_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgPhaseChange.ProtoReflect.Descriptor instead.
+func (*GCGMsgPhaseChange) Descriptor() ([]byte, []int) {
+ return file_GCGMsgPhaseChange_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgPhaseChange) GetAllowControllerMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AllowControllerMap
+ }
+ return nil
+}
+
+func (x *GCGMsgPhaseChange) GetBeforePhase() GCGPhaseType {
+ if x != nil {
+ return x.BeforePhase
+ }
+ return GCGPhaseType_GCG_PHASE_TYPE_INVALID
+}
+
+func (x *GCGMsgPhaseChange) GetAfterPhase() GCGPhaseType {
+ if x != nil {
+ return x.AfterPhase
+ }
+ return GCGPhaseType_GCG_PHASE_TYPE_INVALID
+}
+
+var File_GCGMsgPhaseChange_proto protoreflect.FileDescriptor
+
+var file_GCGMsgPhaseChange_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x12, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x02, 0x0a, 0x11, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50,
+ 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x50, 0x68, 0x61, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x36,
+ 0x0a, 0x0c, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x50, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x62, 0x65, 0x66, 0x6f, 0x72,
+ 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f,
+ 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x0a, 0x61, 0x66, 0x74, 0x65, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x1a, 0x45, 0x0a, 0x17,
+ 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgPhaseChange_proto_rawDescOnce sync.Once
+ file_GCGMsgPhaseChange_proto_rawDescData = file_GCGMsgPhaseChange_proto_rawDesc
+)
+
+func file_GCGMsgPhaseChange_proto_rawDescGZIP() []byte {
+ file_GCGMsgPhaseChange_proto_rawDescOnce.Do(func() {
+ file_GCGMsgPhaseChange_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgPhaseChange_proto_rawDescData)
+ })
+ return file_GCGMsgPhaseChange_proto_rawDescData
+}
+
+var file_GCGMsgPhaseChange_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGMsgPhaseChange_proto_goTypes = []interface{}{
+ (*GCGMsgPhaseChange)(nil), // 0: proto.GCGMsgPhaseChange
+ nil, // 1: proto.GCGMsgPhaseChange.AllowControllerMapEntry
+ (GCGPhaseType)(0), // 2: proto.GCGPhaseType
+}
+var file_GCGMsgPhaseChange_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgPhaseChange.allow_controller_map:type_name -> proto.GCGMsgPhaseChange.AllowControllerMapEntry
+ 2, // 1: proto.GCGMsgPhaseChange.before_phase:type_name -> proto.GCGPhaseType
+ 2, // 2: proto.GCGMsgPhaseChange.after_phase:type_name -> proto.GCGPhaseType
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgPhaseChange_proto_init() }
+func file_GCGMsgPhaseChange_proto_init() {
+ if File_GCGMsgPhaseChange_proto != nil {
+ return
+ }
+ file_GCGPhaseType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgPhaseChange_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgPhaseChange); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgPhaseChange_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgPhaseChange_proto_goTypes,
+ DependencyIndexes: file_GCGMsgPhaseChange_proto_depIdxs,
+ MessageInfos: file_GCGMsgPhaseChange_proto_msgTypes,
+ }.Build()
+ File_GCGMsgPhaseChange_proto = out.File
+ file_GCGMsgPhaseChange_proto_rawDesc = nil
+ file_GCGMsgPhaseChange_proto_goTypes = nil
+ file_GCGMsgPhaseChange_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgRemoveCards.pb.go b/protocol/proto/GCGMsgRemoveCards.pb.go
new file mode 100644
index 00000000..a5554210
--- /dev/null
+++ b/protocol/proto/GCGMsgRemoveCards.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgRemoveCards.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgRemoveCards struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,15,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ Zone GCGZoneType `protobuf:"varint,10,opt,name=zone,proto3,enum=proto.GCGZoneType" json:"zone,omitempty"`
+ Reason GCGReason `protobuf:"varint,5,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+ CardGuidList []uint32 `protobuf:"varint,1,rep,packed,name=card_guid_list,json=cardGuidList,proto3" json:"card_guid_list,omitempty"`
+}
+
+func (x *GCGMsgRemoveCards) Reset() {
+ *x = GCGMsgRemoveCards{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgRemoveCards_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgRemoveCards) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgRemoveCards) ProtoMessage() {}
+
+func (x *GCGMsgRemoveCards) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgRemoveCards_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgRemoveCards.ProtoReflect.Descriptor instead.
+func (*GCGMsgRemoveCards) Descriptor() ([]byte, []int) {
+ return file_GCGMsgRemoveCards_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgRemoveCards) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgRemoveCards) GetZone() GCGZoneType {
+ if x != nil {
+ return x.Zone
+ }
+ return GCGZoneType_GCG_ZONE_TYPE_INVALID
+}
+
+func (x *GCGMsgRemoveCards) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+func (x *GCGMsgRemoveCards) GetCardGuidList() []uint32 {
+ if x != nil {
+ return x.CardGuidList
+ }
+ return nil
+}
+
+var File_GCGMsgRemoveCards_proto protoreflect.FileDescriptor
+
+var file_GCGMsgRemoveCards_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61,
+ 0x72, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x11, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x11, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x61, 0x72, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x26, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x47,
+ 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgRemoveCards_proto_rawDescOnce sync.Once
+ file_GCGMsgRemoveCards_proto_rawDescData = file_GCGMsgRemoveCards_proto_rawDesc
+)
+
+func file_GCGMsgRemoveCards_proto_rawDescGZIP() []byte {
+ file_GCGMsgRemoveCards_proto_rawDescOnce.Do(func() {
+ file_GCGMsgRemoveCards_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgRemoveCards_proto_rawDescData)
+ })
+ return file_GCGMsgRemoveCards_proto_rawDescData
+}
+
+var file_GCGMsgRemoveCards_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgRemoveCards_proto_goTypes = []interface{}{
+ (*GCGMsgRemoveCards)(nil), // 0: proto.GCGMsgRemoveCards
+ (GCGZoneType)(0), // 1: proto.GCGZoneType
+ (GCGReason)(0), // 2: proto.GCGReason
+}
+var file_GCGMsgRemoveCards_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgRemoveCards.zone:type_name -> proto.GCGZoneType
+ 2, // 1: proto.GCGMsgRemoveCards.reason:type_name -> proto.GCGReason
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgRemoveCards_proto_init() }
+func file_GCGMsgRemoveCards_proto_init() {
+ if File_GCGMsgRemoveCards_proto != nil {
+ return
+ }
+ file_GCGReason_proto_init()
+ file_GCGZoneType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgRemoveCards_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgRemoveCards); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgRemoveCards_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgRemoveCards_proto_goTypes,
+ DependencyIndexes: file_GCGMsgRemoveCards_proto_depIdxs,
+ MessageInfos: file_GCGMsgRemoveCards_proto_msgTypes,
+ }.Build()
+ File_GCGMsgRemoveCards_proto = out.File
+ file_GCGMsgRemoveCards_proto_rawDesc = nil
+ file_GCGMsgRemoveCards_proto_goTypes = nil
+ file_GCGMsgRemoveCards_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgSelectOnStage.pb.go b/protocol/proto/GCGMsgSelectOnStage.pb.go
new file mode 100644
index 00000000..013d4033
--- /dev/null
+++ b/protocol/proto/GCGMsgSelectOnStage.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgSelectOnStage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgSelectOnStage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,6,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ Reason GCGReason `protobuf:"varint,10,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+ CardGuid uint32 `protobuf:"varint,4,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGMsgSelectOnStage) Reset() {
+ *x = GCGMsgSelectOnStage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgSelectOnStage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgSelectOnStage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgSelectOnStage) ProtoMessage() {}
+
+func (x *GCGMsgSelectOnStage) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgSelectOnStage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgSelectOnStage.ProtoReflect.Descriptor instead.
+func (*GCGMsgSelectOnStage) Descriptor() ([]byte, []int) {
+ return file_GCGMsgSelectOnStage_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgSelectOnStage) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgSelectOnStage) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+func (x *GCGMsgSelectOnStage) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGMsgSelectOnStage_proto protoreflect.FileDescriptor
+
+var file_GCGMsgSelectOnStage_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0f, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x53, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63,
+ 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61,
+ 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63,
+ 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgSelectOnStage_proto_rawDescOnce sync.Once
+ file_GCGMsgSelectOnStage_proto_rawDescData = file_GCGMsgSelectOnStage_proto_rawDesc
+)
+
+func file_GCGMsgSelectOnStage_proto_rawDescGZIP() []byte {
+ file_GCGMsgSelectOnStage_proto_rawDescOnce.Do(func() {
+ file_GCGMsgSelectOnStage_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgSelectOnStage_proto_rawDescData)
+ })
+ return file_GCGMsgSelectOnStage_proto_rawDescData
+}
+
+var file_GCGMsgSelectOnStage_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgSelectOnStage_proto_goTypes = []interface{}{
+ (*GCGMsgSelectOnStage)(nil), // 0: proto.GCGMsgSelectOnStage
+ (GCGReason)(0), // 1: proto.GCGReason
+}
+var file_GCGMsgSelectOnStage_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgSelectOnStage.reason:type_name -> proto.GCGReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgSelectOnStage_proto_init() }
+func file_GCGMsgSelectOnStage_proto_init() {
+ if File_GCGMsgSelectOnStage_proto != nil {
+ return
+ }
+ file_GCGReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgSelectOnStage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgSelectOnStage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgSelectOnStage_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgSelectOnStage_proto_goTypes,
+ DependencyIndexes: file_GCGMsgSelectOnStage_proto_depIdxs,
+ MessageInfos: file_GCGMsgSelectOnStage_proto_msgTypes,
+ }.Build()
+ File_GCGMsgSelectOnStage_proto = out.File
+ file_GCGMsgSelectOnStage_proto_rawDesc = nil
+ file_GCGMsgSelectOnStage_proto_goTypes = nil
+ file_GCGMsgSelectOnStage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgSelectOnStageByEffect.pb.go b/protocol/proto/GCGMsgSelectOnStageByEffect.pb.go
new file mode 100644
index 00000000..087eb329
--- /dev/null
+++ b/protocol/proto/GCGMsgSelectOnStageByEffect.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgSelectOnStageByEffect.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgSelectOnStageByEffect struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,12,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ ControllerId uint32 `protobuf:"varint,15,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ CardGuid uint32 `protobuf:"varint,1,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGMsgSelectOnStageByEffect) Reset() {
+ *x = GCGMsgSelectOnStageByEffect{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgSelectOnStageByEffect_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgSelectOnStageByEffect) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgSelectOnStageByEffect) ProtoMessage() {}
+
+func (x *GCGMsgSelectOnStageByEffect) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgSelectOnStageByEffect_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgSelectOnStageByEffect.ProtoReflect.Descriptor instead.
+func (*GCGMsgSelectOnStageByEffect) Descriptor() ([]byte, []int) {
+ return file_GCGMsgSelectOnStageByEffect_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgSelectOnStageByEffect) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *GCGMsgSelectOnStageByEffect) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGMsgSelectOnStageByEffect) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGMsgSelectOnStageByEffect_proto protoreflect.FileDescriptor
+
+var file_GCGMsgSelectOnStageByEffect_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x42, 0x79, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x1b, 0x47, 0x43,
+ 0x47, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x42, 0x79, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e,
+ 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72,
+ 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61,
+ 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgSelectOnStageByEffect_proto_rawDescOnce sync.Once
+ file_GCGMsgSelectOnStageByEffect_proto_rawDescData = file_GCGMsgSelectOnStageByEffect_proto_rawDesc
+)
+
+func file_GCGMsgSelectOnStageByEffect_proto_rawDescGZIP() []byte {
+ file_GCGMsgSelectOnStageByEffect_proto_rawDescOnce.Do(func() {
+ file_GCGMsgSelectOnStageByEffect_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgSelectOnStageByEffect_proto_rawDescData)
+ })
+ return file_GCGMsgSelectOnStageByEffect_proto_rawDescData
+}
+
+var file_GCGMsgSelectOnStageByEffect_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgSelectOnStageByEffect_proto_goTypes = []interface{}{
+ (*GCGMsgSelectOnStageByEffect)(nil), // 0: proto.GCGMsgSelectOnStageByEffect
+}
+var file_GCGMsgSelectOnStageByEffect_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgSelectOnStageByEffect_proto_init() }
+func file_GCGMsgSelectOnStageByEffect_proto_init() {
+ if File_GCGMsgSelectOnStageByEffect_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgSelectOnStageByEffect_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgSelectOnStageByEffect); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgSelectOnStageByEffect_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgSelectOnStageByEffect_proto_goTypes,
+ DependencyIndexes: file_GCGMsgSelectOnStageByEffect_proto_depIdxs,
+ MessageInfos: file_GCGMsgSelectOnStageByEffect_proto_msgTypes,
+ }.Build()
+ File_GCGMsgSelectOnStageByEffect_proto = out.File
+ file_GCGMsgSelectOnStageByEffect_proto_rawDesc = nil
+ file_GCGMsgSelectOnStageByEffect_proto_goTypes = nil
+ file_GCGMsgSelectOnStageByEffect_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgSkillResult.pb.go b/protocol/proto/GCGMsgSkillResult.pb.go
new file mode 100644
index 00000000..932a0078
--- /dev/null
+++ b/protocol/proto/GCGMsgSkillResult.pb.go
@@ -0,0 +1,246 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgSkillResult.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgSkillResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,12,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ LastHp uint32 `protobuf:"varint,14,opt,name=last_hp,json=lastHp,proto3" json:"last_hp,omitempty"`
+ DetailList []*GCGDamageDetail `protobuf:"bytes,2,rep,name=detail_list,json=detailList,proto3" json:"detail_list,omitempty"`
+ TargetCardGuid uint32 `protobuf:"varint,7,opt,name=target_card_guid,json=targetCardGuid,proto3" json:"target_card_guid,omitempty"`
+ EffectElement uint32 `protobuf:"varint,5,opt,name=effect_element,json=effectElement,proto3" json:"effect_element,omitempty"`
+ FromResultSeq uint32 `protobuf:"varint,15,opt,name=from_result_seq,json=fromResultSeq,proto3" json:"from_result_seq,omitempty"`
+ Damage uint32 `protobuf:"varint,6,opt,name=damage,proto3" json:"damage,omitempty"`
+ ResultSeq uint32 `protobuf:"varint,4,opt,name=result_seq,json=resultSeq,proto3" json:"result_seq,omitempty"`
+ SrcCardGuid uint32 `protobuf:"varint,8,opt,name=src_card_guid,json=srcCardGuid,proto3" json:"src_card_guid,omitempty"`
+}
+
+func (x *GCGMsgSkillResult) Reset() {
+ *x = GCGMsgSkillResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgSkillResult_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgSkillResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgSkillResult) ProtoMessage() {}
+
+func (x *GCGMsgSkillResult) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgSkillResult_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgSkillResult.ProtoReflect.Descriptor instead.
+func (*GCGMsgSkillResult) Descriptor() ([]byte, []int) {
+ return file_GCGMsgSkillResult_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgSkillResult) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *GCGMsgSkillResult) GetLastHp() uint32 {
+ if x != nil {
+ return x.LastHp
+ }
+ return 0
+}
+
+func (x *GCGMsgSkillResult) GetDetailList() []*GCGDamageDetail {
+ if x != nil {
+ return x.DetailList
+ }
+ return nil
+}
+
+func (x *GCGMsgSkillResult) GetTargetCardGuid() uint32 {
+ if x != nil {
+ return x.TargetCardGuid
+ }
+ return 0
+}
+
+func (x *GCGMsgSkillResult) GetEffectElement() uint32 {
+ if x != nil {
+ return x.EffectElement
+ }
+ return 0
+}
+
+func (x *GCGMsgSkillResult) GetFromResultSeq() uint32 {
+ if x != nil {
+ return x.FromResultSeq
+ }
+ return 0
+}
+
+func (x *GCGMsgSkillResult) GetDamage() uint32 {
+ if x != nil {
+ return x.Damage
+ }
+ return 0
+}
+
+func (x *GCGMsgSkillResult) GetResultSeq() uint32 {
+ if x != nil {
+ return x.ResultSeq
+ }
+ return 0
+}
+
+func (x *GCGMsgSkillResult) GetSrcCardGuid() uint32 {
+ if x != nil {
+ return x.SrcCardGuid
+ }
+ return 0
+}
+
+var File_GCGMsgSkillResult_proto protoreflect.FileDescriptor
+
+var file_GCGMsgSkillResult_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x15, 0x47, 0x43, 0x47, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x02, 0x0a, 0x11, 0x47, 0x43, 0x47, 0x4d,
+ 0x73, 0x67, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x68, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, 0x73, 0x74, 0x48,
+ 0x70, 0x12, 0x37, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0a,
+ 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x65,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x66,
+ 0x66, 0x65, 0x63, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x66,
+ 0x72, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x53, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x72,
+ 0x63, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x73, 0x72, 0x63, 0x43, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgSkillResult_proto_rawDescOnce sync.Once
+ file_GCGMsgSkillResult_proto_rawDescData = file_GCGMsgSkillResult_proto_rawDesc
+)
+
+func file_GCGMsgSkillResult_proto_rawDescGZIP() []byte {
+ file_GCGMsgSkillResult_proto_rawDescOnce.Do(func() {
+ file_GCGMsgSkillResult_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgSkillResult_proto_rawDescData)
+ })
+ return file_GCGMsgSkillResult_proto_rawDescData
+}
+
+var file_GCGMsgSkillResult_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgSkillResult_proto_goTypes = []interface{}{
+ (*GCGMsgSkillResult)(nil), // 0: proto.GCGMsgSkillResult
+ (*GCGDamageDetail)(nil), // 1: proto.GCGDamageDetail
+}
+var file_GCGMsgSkillResult_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgSkillResult.detail_list:type_name -> proto.GCGDamageDetail
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgSkillResult_proto_init() }
+func file_GCGMsgSkillResult_proto_init() {
+ if File_GCGMsgSkillResult_proto != nil {
+ return
+ }
+ file_GCGDamageDetail_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgSkillResult_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgSkillResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgSkillResult_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgSkillResult_proto_goTypes,
+ DependencyIndexes: file_GCGMsgSkillResult_proto_depIdxs,
+ MessageInfos: file_GCGMsgSkillResult_proto_msgTypes,
+ }.Build()
+ File_GCGMsgSkillResult_proto = out.File
+ file_GCGMsgSkillResult_proto_rawDesc = nil
+ file_GCGMsgSkillResult_proto_goTypes = nil
+ file_GCGMsgSkillResult_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgTokenChange.pb.go b/protocol/proto/GCGMsgTokenChange.pb.go
new file mode 100644
index 00000000..163dc0bc
--- /dev/null
+++ b/protocol/proto/GCGMsgTokenChange.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgTokenChange.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgTokenChange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Before uint32 `protobuf:"varint,13,opt,name=before,proto3" json:"before,omitempty"`
+ TokenType uint32 `protobuf:"varint,4,opt,name=token_type,json=tokenType,proto3" json:"token_type,omitempty"`
+ CardGuid uint32 `protobuf:"varint,2,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+ After uint32 `protobuf:"varint,11,opt,name=after,proto3" json:"after,omitempty"`
+ Reason GCGReason `protobuf:"varint,7,opt,name=reason,proto3,enum=proto.GCGReason" json:"reason,omitempty"`
+}
+
+func (x *GCGMsgTokenChange) Reset() {
+ *x = GCGMsgTokenChange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgTokenChange_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgTokenChange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgTokenChange) ProtoMessage() {}
+
+func (x *GCGMsgTokenChange) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgTokenChange_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgTokenChange.ProtoReflect.Descriptor instead.
+func (*GCGMsgTokenChange) Descriptor() ([]byte, []int) {
+ return file_GCGMsgTokenChange_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgTokenChange) GetBefore() uint32 {
+ if x != nil {
+ return x.Before
+ }
+ return 0
+}
+
+func (x *GCGMsgTokenChange) GetTokenType() uint32 {
+ if x != nil {
+ return x.TokenType
+ }
+ return 0
+}
+
+func (x *GCGMsgTokenChange) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+func (x *GCGMsgTokenChange) GetAfter() uint32 {
+ if x != nil {
+ return x.After
+ }
+ return 0
+}
+
+func (x *GCGMsgTokenChange) GetReason() GCGReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGReason_GCG_REASON_DEFAULT
+}
+
+var File_GCGMsgTokenChange_proto protoreflect.FileDescriptor
+
+var file_GCGMsgTokenChange_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x11, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72,
+ 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61,
+ 0x66, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x66, 0x74, 0x65,
+ 0x72, 0x12, 0x28, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgTokenChange_proto_rawDescOnce sync.Once
+ file_GCGMsgTokenChange_proto_rawDescData = file_GCGMsgTokenChange_proto_rawDesc
+)
+
+func file_GCGMsgTokenChange_proto_rawDescGZIP() []byte {
+ file_GCGMsgTokenChange_proto_rawDescOnce.Do(func() {
+ file_GCGMsgTokenChange_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgTokenChange_proto_rawDescData)
+ })
+ return file_GCGMsgTokenChange_proto_rawDescData
+}
+
+var file_GCGMsgTokenChange_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgTokenChange_proto_goTypes = []interface{}{
+ (*GCGMsgTokenChange)(nil), // 0: proto.GCGMsgTokenChange
+ (GCGReason)(0), // 1: proto.GCGReason
+}
+var file_GCGMsgTokenChange_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgTokenChange.reason:type_name -> proto.GCGReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgTokenChange_proto_init() }
+func file_GCGMsgTokenChange_proto_init() {
+ if File_GCGMsgTokenChange_proto != nil {
+ return
+ }
+ file_GCGReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgTokenChange_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgTokenChange); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgTokenChange_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgTokenChange_proto_goTypes,
+ DependencyIndexes: file_GCGMsgTokenChange_proto_depIdxs,
+ MessageInfos: file_GCGMsgTokenChange_proto_msgTypes,
+ }.Build()
+ File_GCGMsgTokenChange_proto = out.File
+ file_GCGMsgTokenChange_proto_rawDesc = nil
+ file_GCGMsgTokenChange_proto_goTypes = nil
+ file_GCGMsgTokenChange_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgUpdateController.pb.go b/protocol/proto/GCGMsgUpdateController.pb.go
new file mode 100644
index 00000000..f79f6cd9
--- /dev/null
+++ b/protocol/proto/GCGMsgUpdateController.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgUpdateController.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgUpdateController struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AllowControllerMap map[uint32]uint32 `protobuf:"bytes,7,rep,name=allow_controller_map,json=allowControllerMap,proto3" json:"allow_controller_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GCGMsgUpdateController) Reset() {
+ *x = GCGMsgUpdateController{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgUpdateController_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgUpdateController) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgUpdateController) ProtoMessage() {}
+
+func (x *GCGMsgUpdateController) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgUpdateController_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgUpdateController.ProtoReflect.Descriptor instead.
+func (*GCGMsgUpdateController) Descriptor() ([]byte, []int) {
+ return file_GCGMsgUpdateController_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgUpdateController) GetAllowControllerMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AllowControllerMap
+ }
+ return nil
+}
+
+var File_GCGMsgUpdateController_proto protoreflect.FileDescriptor
+
+var file_GCGMsgUpdateController_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
+ 0x12, 0x67, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x41, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x1a, 0x45, 0x0a, 0x17, 0x41, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgUpdateController_proto_rawDescOnce sync.Once
+ file_GCGMsgUpdateController_proto_rawDescData = file_GCGMsgUpdateController_proto_rawDesc
+)
+
+func file_GCGMsgUpdateController_proto_rawDescGZIP() []byte {
+ file_GCGMsgUpdateController_proto_rawDescOnce.Do(func() {
+ file_GCGMsgUpdateController_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgUpdateController_proto_rawDescData)
+ })
+ return file_GCGMsgUpdateController_proto_rawDescData
+}
+
+var file_GCGMsgUpdateController_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGMsgUpdateController_proto_goTypes = []interface{}{
+ (*GCGMsgUpdateController)(nil), // 0: proto.GCGMsgUpdateController
+ nil, // 1: proto.GCGMsgUpdateController.AllowControllerMapEntry
+}
+var file_GCGMsgUpdateController_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGMsgUpdateController.allow_controller_map:type_name -> proto.GCGMsgUpdateController.AllowControllerMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgUpdateController_proto_init() }
+func file_GCGMsgUpdateController_proto_init() {
+ if File_GCGMsgUpdateController_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgUpdateController_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgUpdateController); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgUpdateController_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgUpdateController_proto_goTypes,
+ DependencyIndexes: file_GCGMsgUpdateController_proto_depIdxs,
+ MessageInfos: file_GCGMsgUpdateController_proto_msgTypes,
+ }.Build()
+ File_GCGMsgUpdateController_proto = out.File
+ file_GCGMsgUpdateController_proto_rawDesc = nil
+ file_GCGMsgUpdateController_proto_goTypes = nil
+ file_GCGMsgUpdateController_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgUseSkill.pb.go b/protocol/proto/GCGMsgUseSkill.pb.go
new file mode 100644
index 00000000..28995891
--- /dev/null
+++ b/protocol/proto/GCGMsgUseSkill.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgUseSkill.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgUseSkill struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,9,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ CardGuid uint32 `protobuf:"varint,6,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGMsgUseSkill) Reset() {
+ *x = GCGMsgUseSkill{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgUseSkill_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgUseSkill) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgUseSkill) ProtoMessage() {}
+
+func (x *GCGMsgUseSkill) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgUseSkill_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgUseSkill.ProtoReflect.Descriptor instead.
+func (*GCGMsgUseSkill) Descriptor() ([]byte, []int) {
+ return file_GCGMsgUseSkill_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgUseSkill) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *GCGMsgUseSkill) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGMsgUseSkill_proto protoreflect.FileDescriptor
+
+var file_GCGMsgUseSkill_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a,
+ 0x0e, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61,
+ 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63,
+ 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgUseSkill_proto_rawDescOnce sync.Once
+ file_GCGMsgUseSkill_proto_rawDescData = file_GCGMsgUseSkill_proto_rawDesc
+)
+
+func file_GCGMsgUseSkill_proto_rawDescGZIP() []byte {
+ file_GCGMsgUseSkill_proto_rawDescOnce.Do(func() {
+ file_GCGMsgUseSkill_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgUseSkill_proto_rawDescData)
+ })
+ return file_GCGMsgUseSkill_proto_rawDescData
+}
+
+var file_GCGMsgUseSkill_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgUseSkill_proto_goTypes = []interface{}{
+ (*GCGMsgUseSkill)(nil), // 0: proto.GCGMsgUseSkill
+}
+var file_GCGMsgUseSkill_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgUseSkill_proto_init() }
+func file_GCGMsgUseSkill_proto_init() {
+ if File_GCGMsgUseSkill_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgUseSkill_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgUseSkill); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgUseSkill_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgUseSkill_proto_goTypes,
+ DependencyIndexes: file_GCGMsgUseSkill_proto_depIdxs,
+ MessageInfos: file_GCGMsgUseSkill_proto_msgTypes,
+ }.Build()
+ File_GCGMsgUseSkill_proto = out.File
+ file_GCGMsgUseSkill_proto_rawDesc = nil
+ file_GCGMsgUseSkill_proto_goTypes = nil
+ file_GCGMsgUseSkill_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgUseSkillEnd.pb.go b/protocol/proto/GCGMsgUseSkillEnd.pb.go
new file mode 100644
index 00000000..1413dd67
--- /dev/null
+++ b/protocol/proto/GCGMsgUseSkillEnd.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgUseSkillEnd.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgUseSkillEnd struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardGuid uint32 `protobuf:"varint,11,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+ SkillId uint32 `protobuf:"varint,12,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+}
+
+func (x *GCGMsgUseSkillEnd) Reset() {
+ *x = GCGMsgUseSkillEnd{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgUseSkillEnd_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgUseSkillEnd) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgUseSkillEnd) ProtoMessage() {}
+
+func (x *GCGMsgUseSkillEnd) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgUseSkillEnd_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgUseSkillEnd.ProtoReflect.Descriptor instead.
+func (*GCGMsgUseSkillEnd) Descriptor() ([]byte, []int) {
+ return file_GCGMsgUseSkillEnd_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgUseSkillEnd) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+func (x *GCGMsgUseSkillEnd) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+var File_GCGMsgUseSkillEnd_proto protoreflect.FileDescriptor
+
+var file_GCGMsgUseSkillEnd_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x45, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x4b, 0x0a, 0x11, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x55, 0x73, 0x65, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x45, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGMsgUseSkillEnd_proto_rawDescOnce sync.Once
+ file_GCGMsgUseSkillEnd_proto_rawDescData = file_GCGMsgUseSkillEnd_proto_rawDesc
+)
+
+func file_GCGMsgUseSkillEnd_proto_rawDescGZIP() []byte {
+ file_GCGMsgUseSkillEnd_proto_rawDescOnce.Do(func() {
+ file_GCGMsgUseSkillEnd_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgUseSkillEnd_proto_rawDescData)
+ })
+ return file_GCGMsgUseSkillEnd_proto_rawDescData
+}
+
+var file_GCGMsgUseSkillEnd_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgUseSkillEnd_proto_goTypes = []interface{}{
+ (*GCGMsgUseSkillEnd)(nil), // 0: proto.GCGMsgUseSkillEnd
+}
+var file_GCGMsgUseSkillEnd_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgUseSkillEnd_proto_init() }
+func file_GCGMsgUseSkillEnd_proto_init() {
+ if File_GCGMsgUseSkillEnd_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgUseSkillEnd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgUseSkillEnd); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgUseSkillEnd_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgUseSkillEnd_proto_goTypes,
+ DependencyIndexes: file_GCGMsgUseSkillEnd_proto_depIdxs,
+ MessageInfos: file_GCGMsgUseSkillEnd_proto_msgTypes,
+ }.Build()
+ File_GCGMsgUseSkillEnd_proto = out.File
+ file_GCGMsgUseSkillEnd_proto_rawDesc = nil
+ file_GCGMsgUseSkillEnd_proto_goTypes = nil
+ file_GCGMsgUseSkillEnd_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGMsgWaitingListChange.pb.go b/protocol/proto/GCGMsgWaitingListChange.pb.go
new file mode 100644
index 00000000..c790104b
--- /dev/null
+++ b/protocol/proto/GCGMsgWaitingListChange.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGMsgWaitingListChange.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGMsgWaitingListChange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurIndex uint32 `protobuf:"varint,6,opt,name=cur_index,json=curIndex,proto3" json:"cur_index,omitempty"`
+ ControllerId uint32 `protobuf:"varint,4,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+}
+
+func (x *GCGMsgWaitingListChange) Reset() {
+ *x = GCGMsgWaitingListChange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGMsgWaitingListChange_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGMsgWaitingListChange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGMsgWaitingListChange) ProtoMessage() {}
+
+func (x *GCGMsgWaitingListChange) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGMsgWaitingListChange_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGMsgWaitingListChange.ProtoReflect.Descriptor instead.
+func (*GCGMsgWaitingListChange) Descriptor() ([]byte, []int) {
+ return file_GCGMsgWaitingListChange_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGMsgWaitingListChange) GetCurIndex() uint32 {
+ if x != nil {
+ return x.CurIndex
+ }
+ return 0
+}
+
+func (x *GCGMsgWaitingListChange) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+var File_GCGMsgWaitingListChange_proto protoreflect.FileDescriptor
+
+var file_GCGMsgWaitingListChange_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4c,
+ 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x4d, 0x73, 0x67,
+ 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23,
+ 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65,
+ 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGMsgWaitingListChange_proto_rawDescOnce sync.Once
+ file_GCGMsgWaitingListChange_proto_rawDescData = file_GCGMsgWaitingListChange_proto_rawDesc
+)
+
+func file_GCGMsgWaitingListChange_proto_rawDescGZIP() []byte {
+ file_GCGMsgWaitingListChange_proto_rawDescOnce.Do(func() {
+ file_GCGMsgWaitingListChange_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGMsgWaitingListChange_proto_rawDescData)
+ })
+ return file_GCGMsgWaitingListChange_proto_rawDescData
+}
+
+var file_GCGMsgWaitingListChange_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGMsgWaitingListChange_proto_goTypes = []interface{}{
+ (*GCGMsgWaitingListChange)(nil), // 0: proto.GCGMsgWaitingListChange
+}
+var file_GCGMsgWaitingListChange_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGMsgWaitingListChange_proto_init() }
+func file_GCGMsgWaitingListChange_proto_init() {
+ if File_GCGMsgWaitingListChange_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGMsgWaitingListChange_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGMsgWaitingListChange); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGMsgWaitingListChange_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGMsgWaitingListChange_proto_goTypes,
+ DependencyIndexes: file_GCGMsgWaitingListChange_proto_depIdxs,
+ MessageInfos: file_GCGMsgWaitingListChange_proto_msgTypes,
+ }.Build()
+ File_GCGMsgWaitingListChange_proto = out.File
+ file_GCGMsgWaitingListChange_proto_rawDesc = nil
+ file_GCGMsgWaitingListChange_proto_goTypes = nil
+ file_GCGMsgWaitingListChange_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGNewCardInfoNotify.pb.go b/protocol/proto/GCGNewCardInfoNotify.pb.go
new file mode 100644
index 00000000..a1900693
--- /dev/null
+++ b/protocol/proto/GCGNewCardInfoNotify.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGNewCardInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7203
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGNewCardInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Card *GCGCard `protobuf:"bytes,1,opt,name=card,proto3" json:"card,omitempty"`
+}
+
+func (x *GCGNewCardInfoNotify) Reset() {
+ *x = GCGNewCardInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGNewCardInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGNewCardInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGNewCardInfoNotify) ProtoMessage() {}
+
+func (x *GCGNewCardInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGNewCardInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGNewCardInfoNotify.ProtoReflect.Descriptor instead.
+func (*GCGNewCardInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GCGNewCardInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGNewCardInfoNotify) GetCard() *GCGCard {
+ if x != nil {
+ return x.Card
+ }
+ return nil
+}
+
+var File_GCGNewCardInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GCGNewCardInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x47, 0x43, 0x47, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x61,
+ 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x43, 0x47, 0x43, 0x61, 0x72, 0x64, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGNewCardInfoNotify_proto_rawDescOnce sync.Once
+ file_GCGNewCardInfoNotify_proto_rawDescData = file_GCGNewCardInfoNotify_proto_rawDesc
+)
+
+func file_GCGNewCardInfoNotify_proto_rawDescGZIP() []byte {
+ file_GCGNewCardInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GCGNewCardInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGNewCardInfoNotify_proto_rawDescData)
+ })
+ return file_GCGNewCardInfoNotify_proto_rawDescData
+}
+
+var file_GCGNewCardInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGNewCardInfoNotify_proto_goTypes = []interface{}{
+ (*GCGNewCardInfoNotify)(nil), // 0: proto.GCGNewCardInfoNotify
+ (*GCGCard)(nil), // 1: proto.GCGCard
+}
+var file_GCGNewCardInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGNewCardInfoNotify.card:type_name -> proto.GCGCard
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGNewCardInfoNotify_proto_init() }
+func file_GCGNewCardInfoNotify_proto_init() {
+ if File_GCGNewCardInfoNotify_proto != nil {
+ return
+ }
+ file_GCGCard_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGNewCardInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGNewCardInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGNewCardInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGNewCardInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GCGNewCardInfoNotify_proto_depIdxs,
+ MessageInfos: file_GCGNewCardInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GCGNewCardInfoNotify_proto = out.File
+ file_GCGNewCardInfoNotify_proto_rawDesc = nil
+ file_GCGNewCardInfoNotify_proto_goTypes = nil
+ file_GCGNewCardInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperation.pb.go b/protocol/proto/GCGOperation.pb.go
new file mode 100644
index 00000000..505ee4b2
--- /dev/null
+++ b/protocol/proto/GCGOperation.pb.go
@@ -0,0 +1,354 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperation.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Op:
+ //
+ // *GCGOperation_OpRedraw
+ // *GCGOperation_OpSelectOnStage
+ // *GCGOperation_OpReroll
+ // *GCGOperation_OpAttack
+ // *GCGOperation_OpPass
+ // *GCGOperation_OpPlayCard
+ // *GCGOperation_OpReboot
+ // *GCGOperation_OpSurrender
+ Op isGCGOperation_Op `protobuf_oneof:"op"`
+}
+
+func (x *GCGOperation) Reset() {
+ *x = GCGOperation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperation_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperation) ProtoMessage() {}
+
+func (x *GCGOperation) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperation_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperation.ProtoReflect.Descriptor instead.
+func (*GCGOperation) Descriptor() ([]byte, []int) {
+ return file_GCGOperation_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *GCGOperation) GetOp() isGCGOperation_Op {
+ if m != nil {
+ return m.Op
+ }
+ return nil
+}
+
+func (x *GCGOperation) GetOpRedraw() *GCGOperationRedraw {
+ if x, ok := x.GetOp().(*GCGOperation_OpRedraw); ok {
+ return x.OpRedraw
+ }
+ return nil
+}
+
+func (x *GCGOperation) GetOpSelectOnStage() *GCGOperationOnStageSelect {
+ if x, ok := x.GetOp().(*GCGOperation_OpSelectOnStage); ok {
+ return x.OpSelectOnStage
+ }
+ return nil
+}
+
+func (x *GCGOperation) GetOpReroll() *GCGOperationReroll {
+ if x, ok := x.GetOp().(*GCGOperation_OpReroll); ok {
+ return x.OpReroll
+ }
+ return nil
+}
+
+func (x *GCGOperation) GetOpAttack() *GCGOperationAttack {
+ if x, ok := x.GetOp().(*GCGOperation_OpAttack); ok {
+ return x.OpAttack
+ }
+ return nil
+}
+
+func (x *GCGOperation) GetOpPass() *GCGOperationPass {
+ if x, ok := x.GetOp().(*GCGOperation_OpPass); ok {
+ return x.OpPass
+ }
+ return nil
+}
+
+func (x *GCGOperation) GetOpPlayCard() *GCGOperationPlayCard {
+ if x, ok := x.GetOp().(*GCGOperation_OpPlayCard); ok {
+ return x.OpPlayCard
+ }
+ return nil
+}
+
+func (x *GCGOperation) GetOpReboot() *GCGOperationReboot {
+ if x, ok := x.GetOp().(*GCGOperation_OpReboot); ok {
+ return x.OpReboot
+ }
+ return nil
+}
+
+func (x *GCGOperation) GetOpSurrender() *GCGOperationSurrender {
+ if x, ok := x.GetOp().(*GCGOperation_OpSurrender); ok {
+ return x.OpSurrender
+ }
+ return nil
+}
+
+type isGCGOperation_Op interface {
+ isGCGOperation_Op()
+}
+
+type GCGOperation_OpRedraw struct {
+ OpRedraw *GCGOperationRedraw `protobuf:"bytes,10,opt,name=op_redraw,json=opRedraw,proto3,oneof"`
+}
+
+type GCGOperation_OpSelectOnStage struct {
+ OpSelectOnStage *GCGOperationOnStageSelect `protobuf:"bytes,4,opt,name=op_select_on_stage,json=opSelectOnStage,proto3,oneof"`
+}
+
+type GCGOperation_OpReroll struct {
+ OpReroll *GCGOperationReroll `protobuf:"bytes,9,opt,name=op_reroll,json=opReroll,proto3,oneof"`
+}
+
+type GCGOperation_OpAttack struct {
+ OpAttack *GCGOperationAttack `protobuf:"bytes,11,opt,name=op_attack,json=opAttack,proto3,oneof"`
+}
+
+type GCGOperation_OpPass struct {
+ OpPass *GCGOperationPass `protobuf:"bytes,15,opt,name=op_pass,json=opPass,proto3,oneof"`
+}
+
+type GCGOperation_OpPlayCard struct {
+ OpPlayCard *GCGOperationPlayCard `protobuf:"bytes,2,opt,name=op_play_card,json=opPlayCard,proto3,oneof"`
+}
+
+type GCGOperation_OpReboot struct {
+ OpReboot *GCGOperationReboot `protobuf:"bytes,5,opt,name=op_reboot,json=opReboot,proto3,oneof"`
+}
+
+type GCGOperation_OpSurrender struct {
+ OpSurrender *GCGOperationSurrender `protobuf:"bytes,1,opt,name=op_surrender,json=opSurrender,proto3,oneof"`
+}
+
+func (*GCGOperation_OpRedraw) isGCGOperation_Op() {}
+
+func (*GCGOperation_OpSelectOnStage) isGCGOperation_Op() {}
+
+func (*GCGOperation_OpReroll) isGCGOperation_Op() {}
+
+func (*GCGOperation_OpAttack) isGCGOperation_Op() {}
+
+func (*GCGOperation_OpPass) isGCGOperation_Op() {}
+
+func (*GCGOperation_OpPlayCard) isGCGOperation_Op() {}
+
+func (*GCGOperation_OpReboot) isGCGOperation_Op() {}
+
+func (*GCGOperation_OpSurrender) isGCGOperation_Op() {}
+
+var File_GCGOperation_proto protoreflect.FileDescriptor
+
+var file_GCGOperation_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x47, 0x43, 0x47,
+ 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a,
+ 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79,
+ 0x43, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x47, 0x43, 0x47, 0x4f,
+ 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x64, 0x72, 0x61, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
+ 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x04, 0x0a, 0x0c, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x64,
+ 0x72, 0x61, 0x77, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x64, 0x72, 0x61, 0x77, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x70, 0x52, 0x65, 0x64, 0x72, 0x61, 0x77,
+ 0x12, 0x4f, 0x0a, 0x12, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x6e,
+ 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00,
+ 0x52, 0x0f, 0x6f, 0x70, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x48,
+ 0x00, 0x52, 0x08, 0x6f, 0x70, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x12, 0x38, 0x0a, 0x09, 0x6f,
+ 0x70, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x70, 0x41,
+ 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x70, 0x61, 0x73, 0x73,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x48,
+ 0x00, 0x52, 0x06, 0x6f, 0x70, 0x50, 0x61, 0x73, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x6f, 0x70, 0x5f,
+ 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x0a,
+ 0x6f, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70,
+ 0x5f, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x70, 0x52, 0x65,
+ 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x41, 0x0a, 0x0c, 0x6f, 0x70, 0x5f, 0x73, 0x75, 0x72, 0x72, 0x65,
+ 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x70, 0x53, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x04, 0x0a, 0x02, 0x6f, 0x70, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGOperation_proto_rawDescOnce sync.Once
+ file_GCGOperation_proto_rawDescData = file_GCGOperation_proto_rawDesc
+)
+
+func file_GCGOperation_proto_rawDescGZIP() []byte {
+ file_GCGOperation_proto_rawDescOnce.Do(func() {
+ file_GCGOperation_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperation_proto_rawDescData)
+ })
+ return file_GCGOperation_proto_rawDescData
+}
+
+var file_GCGOperation_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperation_proto_goTypes = []interface{}{
+ (*GCGOperation)(nil), // 0: proto.GCGOperation
+ (*GCGOperationRedraw)(nil), // 1: proto.GCGOperationRedraw
+ (*GCGOperationOnStageSelect)(nil), // 2: proto.GCGOperationOnStageSelect
+ (*GCGOperationReroll)(nil), // 3: proto.GCGOperationReroll
+ (*GCGOperationAttack)(nil), // 4: proto.GCGOperationAttack
+ (*GCGOperationPass)(nil), // 5: proto.GCGOperationPass
+ (*GCGOperationPlayCard)(nil), // 6: proto.GCGOperationPlayCard
+ (*GCGOperationReboot)(nil), // 7: proto.GCGOperationReboot
+ (*GCGOperationSurrender)(nil), // 8: proto.GCGOperationSurrender
+}
+var file_GCGOperation_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGOperation.op_redraw:type_name -> proto.GCGOperationRedraw
+ 2, // 1: proto.GCGOperation.op_select_on_stage:type_name -> proto.GCGOperationOnStageSelect
+ 3, // 2: proto.GCGOperation.op_reroll:type_name -> proto.GCGOperationReroll
+ 4, // 3: proto.GCGOperation.op_attack:type_name -> proto.GCGOperationAttack
+ 5, // 4: proto.GCGOperation.op_pass:type_name -> proto.GCGOperationPass
+ 6, // 5: proto.GCGOperation.op_play_card:type_name -> proto.GCGOperationPlayCard
+ 7, // 6: proto.GCGOperation.op_reboot:type_name -> proto.GCGOperationReboot
+ 8, // 7: proto.GCGOperation.op_surrender:type_name -> proto.GCGOperationSurrender
+ 8, // [8:8] is the sub-list for method output_type
+ 8, // [8:8] is the sub-list for method input_type
+ 8, // [8:8] is the sub-list for extension type_name
+ 8, // [8:8] is the sub-list for extension extendee
+ 0, // [0:8] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperation_proto_init() }
+func file_GCGOperation_proto_init() {
+ if File_GCGOperation_proto != nil {
+ return
+ }
+ file_GCGOperationAttack_proto_init()
+ file_GCGOperationOnStageSelect_proto_init()
+ file_GCGOperationPass_proto_init()
+ file_GCGOperationPlayCard_proto_init()
+ file_GCGOperationReboot_proto_init()
+ file_GCGOperationRedraw_proto_init()
+ file_GCGOperationReroll_proto_init()
+ file_GCGOperationSurrender_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperation); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GCGOperation_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GCGOperation_OpRedraw)(nil),
+ (*GCGOperation_OpSelectOnStage)(nil),
+ (*GCGOperation_OpReroll)(nil),
+ (*GCGOperation_OpAttack)(nil),
+ (*GCGOperation_OpPass)(nil),
+ (*GCGOperation_OpPlayCard)(nil),
+ (*GCGOperation_OpReboot)(nil),
+ (*GCGOperation_OpSurrender)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperation_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperation_proto_goTypes,
+ DependencyIndexes: file_GCGOperation_proto_depIdxs,
+ MessageInfos: file_GCGOperation_proto_msgTypes,
+ }.Build()
+ File_GCGOperation_proto = out.File
+ file_GCGOperation_proto_rawDesc = nil
+ file_GCGOperation_proto_goTypes = nil
+ file_GCGOperation_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationAttack.pb.go b/protocol/proto/GCGOperationAttack.pb.go
new file mode 100644
index 00000000..d0264467
--- /dev/null
+++ b/protocol/proto/GCGOperationAttack.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationAttack.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationAttack struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostDiceIndexList []uint32 `protobuf:"varint,8,rep,packed,name=cost_dice_index_list,json=costDiceIndexList,proto3" json:"cost_dice_index_list,omitempty"`
+ SkillId uint32 `protobuf:"varint,2,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+}
+
+func (x *GCGOperationAttack) Reset() {
+ *x = GCGOperationAttack{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationAttack_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationAttack) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationAttack) ProtoMessage() {}
+
+func (x *GCGOperationAttack) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationAttack_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationAttack.ProtoReflect.Descriptor instead.
+func (*GCGOperationAttack) Descriptor() ([]byte, []int) {
+ return file_GCGOperationAttack_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationAttack) GetCostDiceIndexList() []uint32 {
+ if x != nil {
+ return x.CostDiceIndexList
+ }
+ return nil
+}
+
+func (x *GCGOperationAttack) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+var File_GCGOperationAttack_proto protoreflect.FileDescriptor
+
+var file_GCGOperationAttack_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x74,
+ 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x60, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x6f, 0x73, 0x74, 0x5f,
+ 0x64, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x63, 0x65, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationAttack_proto_rawDescOnce sync.Once
+ file_GCGOperationAttack_proto_rawDescData = file_GCGOperationAttack_proto_rawDesc
+)
+
+func file_GCGOperationAttack_proto_rawDescGZIP() []byte {
+ file_GCGOperationAttack_proto_rawDescOnce.Do(func() {
+ file_GCGOperationAttack_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationAttack_proto_rawDescData)
+ })
+ return file_GCGOperationAttack_proto_rawDescData
+}
+
+var file_GCGOperationAttack_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationAttack_proto_goTypes = []interface{}{
+ (*GCGOperationAttack)(nil), // 0: proto.GCGOperationAttack
+}
+var file_GCGOperationAttack_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationAttack_proto_init() }
+func file_GCGOperationAttack_proto_init() {
+ if File_GCGOperationAttack_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationAttack_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationAttack); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationAttack_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationAttack_proto_goTypes,
+ DependencyIndexes: file_GCGOperationAttack_proto_depIdxs,
+ MessageInfos: file_GCGOperationAttack_proto_msgTypes,
+ }.Build()
+ File_GCGOperationAttack_proto = out.File
+ file_GCGOperationAttack_proto_rawDesc = nil
+ file_GCGOperationAttack_proto_goTypes = nil
+ file_GCGOperationAttack_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationData.pb.go b/protocol/proto/GCGOperationData.pb.go
new file mode 100644
index 00000000..8441998f
--- /dev/null
+++ b/protocol/proto/GCGOperationData.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,2,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ Op *GCGOperation `protobuf:"bytes,12,opt,name=op,proto3" json:"op,omitempty"`
+}
+
+func (x *GCGOperationData) Reset() {
+ *x = GCGOperationData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationData) ProtoMessage() {}
+
+func (x *GCGOperationData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationData.ProtoReflect.Descriptor instead.
+func (*GCGOperationData) Descriptor() ([]byte, []int) {
+ return file_GCGOperationData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationData) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGOperationData) GetOp() *GCGOperation {
+ if x != nil {
+ return x.Op
+ }
+ return nil
+}
+
+var File_GCGOperationData_proto protoreflect.FileDescriptor
+
+var file_GCGOperationData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x12, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x02,
+ 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f,
+ 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationData_proto_rawDescOnce sync.Once
+ file_GCGOperationData_proto_rawDescData = file_GCGOperationData_proto_rawDesc
+)
+
+func file_GCGOperationData_proto_rawDescGZIP() []byte {
+ file_GCGOperationData_proto_rawDescOnce.Do(func() {
+ file_GCGOperationData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationData_proto_rawDescData)
+ })
+ return file_GCGOperationData_proto_rawDescData
+}
+
+var file_GCGOperationData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationData_proto_goTypes = []interface{}{
+ (*GCGOperationData)(nil), // 0: proto.GCGOperationData
+ (*GCGOperation)(nil), // 1: proto.GCGOperation
+}
+var file_GCGOperationData_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGOperationData.op:type_name -> proto.GCGOperation
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationData_proto_init() }
+func file_GCGOperationData_proto_init() {
+ if File_GCGOperationData_proto != nil {
+ return
+ }
+ file_GCGOperation_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationData_proto_goTypes,
+ DependencyIndexes: file_GCGOperationData_proto_depIdxs,
+ MessageInfos: file_GCGOperationData_proto_msgTypes,
+ }.Build()
+ File_GCGOperationData_proto = out.File
+ file_GCGOperationData_proto_rawDesc = nil
+ file_GCGOperationData_proto_goTypes = nil
+ file_GCGOperationData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationOnStageSelect.pb.go b/protocol/proto/GCGOperationOnStageSelect.pb.go
new file mode 100644
index 00000000..5d6aaa55
--- /dev/null
+++ b/protocol/proto/GCGOperationOnStageSelect.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationOnStageSelect.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationOnStageSelect struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardGuid uint32 `protobuf:"varint,5,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+ CostDiceIndexList []uint32 `protobuf:"varint,4,rep,packed,name=cost_dice_index_list,json=costDiceIndexList,proto3" json:"cost_dice_index_list,omitempty"`
+}
+
+func (x *GCGOperationOnStageSelect) Reset() {
+ *x = GCGOperationOnStageSelect{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationOnStageSelect_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationOnStageSelect) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationOnStageSelect) ProtoMessage() {}
+
+func (x *GCGOperationOnStageSelect) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationOnStageSelect_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationOnStageSelect.ProtoReflect.Descriptor instead.
+func (*GCGOperationOnStageSelect) Descriptor() ([]byte, []int) {
+ return file_GCGOperationOnStageSelect_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationOnStageSelect) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+func (x *GCGOperationOnStageSelect) GetCostDiceIndexList() []uint32 {
+ if x != nil {
+ return x.CostDiceIndexList
+ }
+ return nil
+}
+
+var File_GCGOperationOnStageSelect_proto protoreflect.FileDescriptor
+
+var file_GCGOperationOnStageSelect_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x19, 0x47, 0x43, 0x47, 0x4f,
+ 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x63, 0x65, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x11, 0x63, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationOnStageSelect_proto_rawDescOnce sync.Once
+ file_GCGOperationOnStageSelect_proto_rawDescData = file_GCGOperationOnStageSelect_proto_rawDesc
+)
+
+func file_GCGOperationOnStageSelect_proto_rawDescGZIP() []byte {
+ file_GCGOperationOnStageSelect_proto_rawDescOnce.Do(func() {
+ file_GCGOperationOnStageSelect_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationOnStageSelect_proto_rawDescData)
+ })
+ return file_GCGOperationOnStageSelect_proto_rawDescData
+}
+
+var file_GCGOperationOnStageSelect_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationOnStageSelect_proto_goTypes = []interface{}{
+ (*GCGOperationOnStageSelect)(nil), // 0: proto.GCGOperationOnStageSelect
+}
+var file_GCGOperationOnStageSelect_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationOnStageSelect_proto_init() }
+func file_GCGOperationOnStageSelect_proto_init() {
+ if File_GCGOperationOnStageSelect_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationOnStageSelect_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationOnStageSelect); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationOnStageSelect_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationOnStageSelect_proto_goTypes,
+ DependencyIndexes: file_GCGOperationOnStageSelect_proto_depIdxs,
+ MessageInfos: file_GCGOperationOnStageSelect_proto_msgTypes,
+ }.Build()
+ File_GCGOperationOnStageSelect_proto = out.File
+ file_GCGOperationOnStageSelect_proto_rawDesc = nil
+ file_GCGOperationOnStageSelect_proto_goTypes = nil
+ file_GCGOperationOnStageSelect_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationPass.pb.go b/protocol/proto/GCGOperationPass.pb.go
new file mode 100644
index 00000000..6793a1e2
--- /dev/null
+++ b/protocol/proto/GCGOperationPass.pb.go
@@ -0,0 +1,148 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationPass.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationPass struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GCGOperationPass) Reset() {
+ *x = GCGOperationPass{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationPass_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationPass) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationPass) ProtoMessage() {}
+
+func (x *GCGOperationPass) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationPass_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationPass.ProtoReflect.Descriptor instead.
+func (*GCGOperationPass) Descriptor() ([]byte, []int) {
+ return file_GCGOperationPass_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGOperationPass_proto protoreflect.FileDescriptor
+
+var file_GCGOperationPass_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
+ 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x12, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
+ 0x61, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationPass_proto_rawDescOnce sync.Once
+ file_GCGOperationPass_proto_rawDescData = file_GCGOperationPass_proto_rawDesc
+)
+
+func file_GCGOperationPass_proto_rawDescGZIP() []byte {
+ file_GCGOperationPass_proto_rawDescOnce.Do(func() {
+ file_GCGOperationPass_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationPass_proto_rawDescData)
+ })
+ return file_GCGOperationPass_proto_rawDescData
+}
+
+var file_GCGOperationPass_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationPass_proto_goTypes = []interface{}{
+ (*GCGOperationPass)(nil), // 0: proto.GCGOperationPass
+}
+var file_GCGOperationPass_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationPass_proto_init() }
+func file_GCGOperationPass_proto_init() {
+ if File_GCGOperationPass_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationPass_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationPass); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationPass_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationPass_proto_goTypes,
+ DependencyIndexes: file_GCGOperationPass_proto_depIdxs,
+ MessageInfos: file_GCGOperationPass_proto_msgTypes,
+ }.Build()
+ File_GCGOperationPass_proto = out.File
+ file_GCGOperationPass_proto_rawDesc = nil
+ file_GCGOperationPass_proto_goTypes = nil
+ file_GCGOperationPass_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationPlayCard.pb.go b/protocol/proto/GCGOperationPlayCard.pb.go
new file mode 100644
index 00000000..9d7e0222
--- /dev/null
+++ b/protocol/proto/GCGOperationPlayCard.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationPlayCard.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationPlayCard struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardGuid uint32 `protobuf:"varint,12,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+ CostDiceIndexList []uint32 `protobuf:"varint,4,rep,packed,name=cost_dice_index_list,json=costDiceIndexList,proto3" json:"cost_dice_index_list,omitempty"`
+ TargetCardGuidList []uint32 `protobuf:"varint,10,rep,packed,name=target_card_guid_list,json=targetCardGuidList,proto3" json:"target_card_guid_list,omitempty"`
+}
+
+func (x *GCGOperationPlayCard) Reset() {
+ *x = GCGOperationPlayCard{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationPlayCard_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationPlayCard) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationPlayCard) ProtoMessage() {}
+
+func (x *GCGOperationPlayCard) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationPlayCard_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationPlayCard.ProtoReflect.Descriptor instead.
+func (*GCGOperationPlayCard) Descriptor() ([]byte, []int) {
+ return file_GCGOperationPlayCard_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationPlayCard) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+func (x *GCGOperationPlayCard) GetCostDiceIndexList() []uint32 {
+ if x != nil {
+ return x.CostDiceIndexList
+ }
+ return nil
+}
+
+func (x *GCGOperationPlayCard) GetTargetCardGuidList() []uint32 {
+ if x != nil {
+ return x.TargetCardGuidList
+ }
+ return nil
+}
+
+var File_GCGOperationPlayCard_proto protoreflect.FileDescriptor
+
+var file_GCGOperationPlayCard_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c,
+ 0x61, 0x79, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x6f, 0x73,
+ 0x74, 0x5f, 0x64, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x63,
+ 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x43, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGOperationPlayCard_proto_rawDescOnce sync.Once
+ file_GCGOperationPlayCard_proto_rawDescData = file_GCGOperationPlayCard_proto_rawDesc
+)
+
+func file_GCGOperationPlayCard_proto_rawDescGZIP() []byte {
+ file_GCGOperationPlayCard_proto_rawDescOnce.Do(func() {
+ file_GCGOperationPlayCard_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationPlayCard_proto_rawDescData)
+ })
+ return file_GCGOperationPlayCard_proto_rawDescData
+}
+
+var file_GCGOperationPlayCard_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationPlayCard_proto_goTypes = []interface{}{
+ (*GCGOperationPlayCard)(nil), // 0: proto.GCGOperationPlayCard
+}
+var file_GCGOperationPlayCard_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationPlayCard_proto_init() }
+func file_GCGOperationPlayCard_proto_init() {
+ if File_GCGOperationPlayCard_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationPlayCard_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationPlayCard); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationPlayCard_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationPlayCard_proto_goTypes,
+ DependencyIndexes: file_GCGOperationPlayCard_proto_depIdxs,
+ MessageInfos: file_GCGOperationPlayCard_proto_msgTypes,
+ }.Build()
+ File_GCGOperationPlayCard_proto = out.File
+ file_GCGOperationPlayCard_proto_rawDesc = nil
+ file_GCGOperationPlayCard_proto_goTypes = nil
+ file_GCGOperationPlayCard_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationReboot.pb.go b/protocol/proto/GCGOperationReboot.pb.go
new file mode 100644
index 00000000..cd9ddf83
--- /dev/null
+++ b/protocol/proto/GCGOperationReboot.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationReboot.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationReboot struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostCardGuidList []uint32 `protobuf:"varint,7,rep,packed,name=cost_card_guid_list,json=costCardGuidList,proto3" json:"cost_card_guid_list,omitempty"`
+ DiceIndexList []uint32 `protobuf:"varint,6,rep,packed,name=dice_index_list,json=diceIndexList,proto3" json:"dice_index_list,omitempty"`
+}
+
+func (x *GCGOperationReboot) Reset() {
+ *x = GCGOperationReboot{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationReboot_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationReboot) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationReboot) ProtoMessage() {}
+
+func (x *GCGOperationReboot) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationReboot_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationReboot.ProtoReflect.Descriptor instead.
+func (*GCGOperationReboot) Descriptor() ([]byte, []int) {
+ return file_GCGOperationReboot_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationReboot) GetCostCardGuidList() []uint32 {
+ if x != nil {
+ return x.CostCardGuidList
+ }
+ return nil
+}
+
+func (x *GCGOperationReboot) GetDiceIndexList() []uint32 {
+ if x != nil {
+ return x.DiceIndexList
+ }
+ return nil
+}
+
+var File_GCGOperationReboot_proto protoreflect.FileDescriptor
+
+var file_GCGOperationReboot_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x62, 0x6f, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6b, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x6f, 0x73, 0x74, 0x5f,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x47, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x69, 0x63, 0x65, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0d, 0x64, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationReboot_proto_rawDescOnce sync.Once
+ file_GCGOperationReboot_proto_rawDescData = file_GCGOperationReboot_proto_rawDesc
+)
+
+func file_GCGOperationReboot_proto_rawDescGZIP() []byte {
+ file_GCGOperationReboot_proto_rawDescOnce.Do(func() {
+ file_GCGOperationReboot_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationReboot_proto_rawDescData)
+ })
+ return file_GCGOperationReboot_proto_rawDescData
+}
+
+var file_GCGOperationReboot_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationReboot_proto_goTypes = []interface{}{
+ (*GCGOperationReboot)(nil), // 0: proto.GCGOperationReboot
+}
+var file_GCGOperationReboot_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationReboot_proto_init() }
+func file_GCGOperationReboot_proto_init() {
+ if File_GCGOperationReboot_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationReboot_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationReboot); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationReboot_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationReboot_proto_goTypes,
+ DependencyIndexes: file_GCGOperationReboot_proto_depIdxs,
+ MessageInfos: file_GCGOperationReboot_proto_msgTypes,
+ }.Build()
+ File_GCGOperationReboot_proto = out.File
+ file_GCGOperationReboot_proto_rawDesc = nil
+ file_GCGOperationReboot_proto_goTypes = nil
+ file_GCGOperationReboot_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationRedraw.pb.go b/protocol/proto/GCGOperationRedraw.pb.go
new file mode 100644
index 00000000..2187787d
--- /dev/null
+++ b/protocol/proto/GCGOperationRedraw.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationRedraw.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationRedraw struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardList []uint32 `protobuf:"varint,2,rep,packed,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+}
+
+func (x *GCGOperationRedraw) Reset() {
+ *x = GCGOperationRedraw{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationRedraw_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationRedraw) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationRedraw) ProtoMessage() {}
+
+func (x *GCGOperationRedraw) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationRedraw_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationRedraw.ProtoReflect.Descriptor instead.
+func (*GCGOperationRedraw) Descriptor() ([]byte, []int) {
+ return file_GCGOperationRedraw_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationRedraw) GetCardList() []uint32 {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+var File_GCGOperationRedraw_proto protoreflect.FileDescriptor
+
+var file_GCGOperationRedraw_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x64, 0x72, 0x61, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x31, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x64, 0x72, 0x61, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationRedraw_proto_rawDescOnce sync.Once
+ file_GCGOperationRedraw_proto_rawDescData = file_GCGOperationRedraw_proto_rawDesc
+)
+
+func file_GCGOperationRedraw_proto_rawDescGZIP() []byte {
+ file_GCGOperationRedraw_proto_rawDescOnce.Do(func() {
+ file_GCGOperationRedraw_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationRedraw_proto_rawDescData)
+ })
+ return file_GCGOperationRedraw_proto_rawDescData
+}
+
+var file_GCGOperationRedraw_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationRedraw_proto_goTypes = []interface{}{
+ (*GCGOperationRedraw)(nil), // 0: proto.GCGOperationRedraw
+}
+var file_GCGOperationRedraw_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationRedraw_proto_init() }
+func file_GCGOperationRedraw_proto_init() {
+ if File_GCGOperationRedraw_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationRedraw_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationRedraw); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationRedraw_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationRedraw_proto_goTypes,
+ DependencyIndexes: file_GCGOperationRedraw_proto_depIdxs,
+ MessageInfos: file_GCGOperationRedraw_proto_msgTypes,
+ }.Build()
+ File_GCGOperationRedraw_proto = out.File
+ file_GCGOperationRedraw_proto_rawDesc = nil
+ file_GCGOperationRedraw_proto_goTypes = nil
+ file_GCGOperationRedraw_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationReplay.pb.go b/protocol/proto/GCGOperationReplay.pb.go
new file mode 100644
index 00000000..b3299d81
--- /dev/null
+++ b/protocol/proto/GCGOperationReplay.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationReplay.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationReplay struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GameId uint32 `protobuf:"varint,1,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
+ Seed uint32 `protobuf:"varint,11,opt,name=seed,proto3" json:"seed,omitempty"`
+ OperationDataList []*GCGOperationData `protobuf:"bytes,9,rep,name=operation_data_list,json=operationDataList,proto3" json:"operation_data_list,omitempty"`
+}
+
+func (x *GCGOperationReplay) Reset() {
+ *x = GCGOperationReplay{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationReplay_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationReplay) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationReplay) ProtoMessage() {}
+
+func (x *GCGOperationReplay) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationReplay_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationReplay.ProtoReflect.Descriptor instead.
+func (*GCGOperationReplay) Descriptor() ([]byte, []int) {
+ return file_GCGOperationReplay_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationReplay) GetGameId() uint32 {
+ if x != nil {
+ return x.GameId
+ }
+ return 0
+}
+
+func (x *GCGOperationReplay) GetSeed() uint32 {
+ if x != nil {
+ return x.Seed
+ }
+ return 0
+}
+
+func (x *GCGOperationReplay) GetOperationDataList() []*GCGOperationData {
+ if x != nil {
+ return x.OperationDataList
+ }
+ return nil
+}
+
+var File_GCGOperationReplay_proto protoreflect.FileDescriptor
+
+var file_GCGOperationReplay_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x70, 0x6c, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x47, 0x43,
+ 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79,
+ 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x65,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x65, 0x65, 0x64, 0x12, 0x47, 0x0a,
+ 0x13, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61,
+ 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationReplay_proto_rawDescOnce sync.Once
+ file_GCGOperationReplay_proto_rawDescData = file_GCGOperationReplay_proto_rawDesc
+)
+
+func file_GCGOperationReplay_proto_rawDescGZIP() []byte {
+ file_GCGOperationReplay_proto_rawDescOnce.Do(func() {
+ file_GCGOperationReplay_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationReplay_proto_rawDescData)
+ })
+ return file_GCGOperationReplay_proto_rawDescData
+}
+
+var file_GCGOperationReplay_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationReplay_proto_goTypes = []interface{}{
+ (*GCGOperationReplay)(nil), // 0: proto.GCGOperationReplay
+ (*GCGOperationData)(nil), // 1: proto.GCGOperationData
+}
+var file_GCGOperationReplay_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGOperationReplay.operation_data_list:type_name -> proto.GCGOperationData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationReplay_proto_init() }
+func file_GCGOperationReplay_proto_init() {
+ if File_GCGOperationReplay_proto != nil {
+ return
+ }
+ file_GCGOperationData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationReplay_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationReplay); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationReplay_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationReplay_proto_goTypes,
+ DependencyIndexes: file_GCGOperationReplay_proto_depIdxs,
+ MessageInfos: file_GCGOperationReplay_proto_msgTypes,
+ }.Build()
+ File_GCGOperationReplay_proto = out.File
+ file_GCGOperationReplay_proto_rawDesc = nil
+ file_GCGOperationReplay_proto_goTypes = nil
+ file_GCGOperationReplay_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationReq.pb.go b/protocol/proto/GCGOperationReq.pb.go
new file mode 100644
index 00000000..ea5fa493
--- /dev/null
+++ b/protocol/proto/GCGOperationReq.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGOperationReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpSeq uint32 `protobuf:"varint,2,opt,name=op_seq,json=opSeq,proto3" json:"op_seq,omitempty"`
+ RedirectUid uint32 `protobuf:"varint,7,opt,name=redirect_uid,json=redirectUid,proto3" json:"redirect_uid,omitempty"`
+ Op *GCGOperation `protobuf:"bytes,15,opt,name=op,proto3" json:"op,omitempty"`
+}
+
+func (x *GCGOperationReq) Reset() {
+ *x = GCGOperationReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationReq) ProtoMessage() {}
+
+func (x *GCGOperationReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationReq.ProtoReflect.Descriptor instead.
+func (*GCGOperationReq) Descriptor() ([]byte, []int) {
+ return file_GCGOperationReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationReq) GetOpSeq() uint32 {
+ if x != nil {
+ return x.OpSeq
+ }
+ return 0
+}
+
+func (x *GCGOperationReq) GetRedirectUid() uint32 {
+ if x != nil {
+ return x.RedirectUid
+ }
+ return 0
+}
+
+func (x *GCGOperationReq) GetOp() *GCGOperation {
+ if x != nil {
+ return x.Op
+ }
+ return nil
+}
+
+var File_GCGOperationReq_proto protoreflect.FileDescriptor
+
+var file_GCGOperationReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12,
+ 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x71, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x70, 0x53, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c,
+ 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x55, 0x69, 0x64, 0x12,
+ 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x02, 0x6f, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationReq_proto_rawDescOnce sync.Once
+ file_GCGOperationReq_proto_rawDescData = file_GCGOperationReq_proto_rawDesc
+)
+
+func file_GCGOperationReq_proto_rawDescGZIP() []byte {
+ file_GCGOperationReq_proto_rawDescOnce.Do(func() {
+ file_GCGOperationReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationReq_proto_rawDescData)
+ })
+ return file_GCGOperationReq_proto_rawDescData
+}
+
+var file_GCGOperationReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationReq_proto_goTypes = []interface{}{
+ (*GCGOperationReq)(nil), // 0: proto.GCGOperationReq
+ (*GCGOperation)(nil), // 1: proto.GCGOperation
+}
+var file_GCGOperationReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGOperationReq.op:type_name -> proto.GCGOperation
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationReq_proto_init() }
+func file_GCGOperationReq_proto_init() {
+ if File_GCGOperationReq_proto != nil {
+ return
+ }
+ file_GCGOperation_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationReq_proto_goTypes,
+ DependencyIndexes: file_GCGOperationReq_proto_depIdxs,
+ MessageInfos: file_GCGOperationReq_proto_msgTypes,
+ }.Build()
+ File_GCGOperationReq_proto = out.File
+ file_GCGOperationReq_proto_rawDesc = nil
+ file_GCGOperationReq_proto_goTypes = nil
+ file_GCGOperationReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationReroll.pb.go b/protocol/proto/GCGOperationReroll.pb.go
new file mode 100644
index 00000000..14578084
--- /dev/null
+++ b/protocol/proto/GCGOperationReroll.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationReroll.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationReroll struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DiceIndexList []uint32 `protobuf:"varint,12,rep,packed,name=dice_index_list,json=diceIndexList,proto3" json:"dice_index_list,omitempty"`
+}
+
+func (x *GCGOperationReroll) Reset() {
+ *x = GCGOperationReroll{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationReroll_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationReroll) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationReroll) ProtoMessage() {}
+
+func (x *GCGOperationReroll) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationReroll_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationReroll.ProtoReflect.Descriptor instead.
+func (*GCGOperationReroll) Descriptor() ([]byte, []int) {
+ return file_GCGOperationReroll_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationReroll) GetDiceIndexList() []uint32 {
+ if x != nil {
+ return x.DiceIndexList
+ }
+ return nil
+}
+
+var File_GCGOperationReroll_proto protoreflect.FileDescriptor
+
+var file_GCGOperationReroll_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x72, 0x6f, 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x3c, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x72, 0x6f, 0x6c, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x69, 0x63, 0x65, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0d, 0x64, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationReroll_proto_rawDescOnce sync.Once
+ file_GCGOperationReroll_proto_rawDescData = file_GCGOperationReroll_proto_rawDesc
+)
+
+func file_GCGOperationReroll_proto_rawDescGZIP() []byte {
+ file_GCGOperationReroll_proto_rawDescOnce.Do(func() {
+ file_GCGOperationReroll_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationReroll_proto_rawDescData)
+ })
+ return file_GCGOperationReroll_proto_rawDescData
+}
+
+var file_GCGOperationReroll_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationReroll_proto_goTypes = []interface{}{
+ (*GCGOperationReroll)(nil), // 0: proto.GCGOperationReroll
+}
+var file_GCGOperationReroll_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationReroll_proto_init() }
+func file_GCGOperationReroll_proto_init() {
+ if File_GCGOperationReroll_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationReroll_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationReroll); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationReroll_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationReroll_proto_goTypes,
+ DependencyIndexes: file_GCGOperationReroll_proto_depIdxs,
+ MessageInfos: file_GCGOperationReroll_proto_msgTypes,
+ }.Build()
+ File_GCGOperationReroll_proto = out.File
+ file_GCGOperationReroll_proto_rawDesc = nil
+ file_GCGOperationReroll_proto_goTypes = nil
+ file_GCGOperationReroll_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationRsp.pb.go b/protocol/proto/GCGOperationRsp.pb.go
new file mode 100644
index 00000000..67262f42
--- /dev/null
+++ b/protocol/proto/GCGOperationRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7600
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGOperationRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OpSeq uint32 `protobuf:"varint,4,opt,name=op_seq,json=opSeq,proto3" json:"op_seq,omitempty"`
+}
+
+func (x *GCGOperationRsp) Reset() {
+ *x = GCGOperationRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationRsp) ProtoMessage() {}
+
+func (x *GCGOperationRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationRsp.ProtoReflect.Descriptor instead.
+func (*GCGOperationRsp) Descriptor() ([]byte, []int) {
+ return file_GCGOperationRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGOperationRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGOperationRsp) GetOpSeq() uint32 {
+ if x != nil {
+ return x.OpSeq
+ }
+ return 0
+}
+
+var File_GCGOperationRsp_proto protoreflect.FileDescriptor
+
+var file_GCGOperationRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42,
+ 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f,
+ 0x70, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x70, 0x53,
+ 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGOperationRsp_proto_rawDescOnce sync.Once
+ file_GCGOperationRsp_proto_rawDescData = file_GCGOperationRsp_proto_rawDesc
+)
+
+func file_GCGOperationRsp_proto_rawDescGZIP() []byte {
+ file_GCGOperationRsp_proto_rawDescOnce.Do(func() {
+ file_GCGOperationRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationRsp_proto_rawDescData)
+ })
+ return file_GCGOperationRsp_proto_rawDescData
+}
+
+var file_GCGOperationRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationRsp_proto_goTypes = []interface{}{
+ (*GCGOperationRsp)(nil), // 0: proto.GCGOperationRsp
+}
+var file_GCGOperationRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationRsp_proto_init() }
+func file_GCGOperationRsp_proto_init() {
+ if File_GCGOperationRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationRsp_proto_goTypes,
+ DependencyIndexes: file_GCGOperationRsp_proto_depIdxs,
+ MessageInfos: file_GCGOperationRsp_proto_msgTypes,
+ }.Build()
+ File_GCGOperationRsp_proto = out.File
+ file_GCGOperationRsp_proto_rawDesc = nil
+ file_GCGOperationRsp_proto_goTypes = nil
+ file_GCGOperationRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGOperationSurrender.pb.go b/protocol/proto/GCGOperationSurrender.pb.go
new file mode 100644
index 00000000..2bbbd6b0
--- /dev/null
+++ b/protocol/proto/GCGOperationSurrender.pb.go
@@ -0,0 +1,149 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGOperationSurrender.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGOperationSurrender struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GCGOperationSurrender) Reset() {
+ *x = GCGOperationSurrender{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGOperationSurrender_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGOperationSurrender) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGOperationSurrender) ProtoMessage() {}
+
+func (x *GCGOperationSurrender) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGOperationSurrender_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGOperationSurrender.ProtoReflect.Descriptor instead.
+func (*GCGOperationSurrender) Descriptor() ([]byte, []int) {
+ return file_GCGOperationSurrender_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGOperationSurrender_proto protoreflect.FileDescriptor
+
+var file_GCGOperationSurrender_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x4f, 0x70, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGOperationSurrender_proto_rawDescOnce sync.Once
+ file_GCGOperationSurrender_proto_rawDescData = file_GCGOperationSurrender_proto_rawDesc
+)
+
+func file_GCGOperationSurrender_proto_rawDescGZIP() []byte {
+ file_GCGOperationSurrender_proto_rawDescOnce.Do(func() {
+ file_GCGOperationSurrender_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGOperationSurrender_proto_rawDescData)
+ })
+ return file_GCGOperationSurrender_proto_rawDescData
+}
+
+var file_GCGOperationSurrender_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGOperationSurrender_proto_goTypes = []interface{}{
+ (*GCGOperationSurrender)(nil), // 0: proto.GCGOperationSurrender
+}
+var file_GCGOperationSurrender_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGOperationSurrender_proto_init() }
+func file_GCGOperationSurrender_proto_init() {
+ if File_GCGOperationSurrender_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGOperationSurrender_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGOperationSurrender); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGOperationSurrender_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGOperationSurrender_proto_goTypes,
+ DependencyIndexes: file_GCGOperationSurrender_proto_depIdxs,
+ MessageInfos: file_GCGOperationSurrender_proto_msgTypes,
+ }.Build()
+ File_GCGOperationSurrender_proto = out.File
+ file_GCGOperationSurrender_proto_rawDesc = nil
+ file_GCGOperationSurrender_proto_goTypes = nil
+ file_GCGOperationSurrender_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGPVEIntention.pb.go b/protocol/proto/GCGPVEIntention.pb.go
new file mode 100644
index 00000000..42920387
--- /dev/null
+++ b/protocol/proto/GCGPVEIntention.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGPVEIntention.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGPVEIntention struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardGuid uint32 `protobuf:"varint,9,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+ SkillIdList []uint32 `protobuf:"varint,7,rep,packed,name=skill_id_list,json=skillIdList,proto3" json:"skill_id_list,omitempty"`
+}
+
+func (x *GCGPVEIntention) Reset() {
+ *x = GCGPVEIntention{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGPVEIntention_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGPVEIntention) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGPVEIntention) ProtoMessage() {}
+
+func (x *GCGPVEIntention) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGPVEIntention_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGPVEIntention.ProtoReflect.Descriptor instead.
+func (*GCGPVEIntention) Descriptor() ([]byte, []int) {
+ return file_GCGPVEIntention_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGPVEIntention) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+func (x *GCGPVEIntention) GetSkillIdList() []uint32 {
+ if x != nil {
+ return x.SkillIdList
+ }
+ return nil
+}
+
+var File_GCGPVEIntention_proto protoreflect.FileDescriptor
+
+var file_GCGPVEIntention_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x50, 0x56, 0x45, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52,
+ 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x50, 0x56, 0x45, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x12, 0x22,
+ 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGPVEIntention_proto_rawDescOnce sync.Once
+ file_GCGPVEIntention_proto_rawDescData = file_GCGPVEIntention_proto_rawDesc
+)
+
+func file_GCGPVEIntention_proto_rawDescGZIP() []byte {
+ file_GCGPVEIntention_proto_rawDescOnce.Do(func() {
+ file_GCGPVEIntention_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGPVEIntention_proto_rawDescData)
+ })
+ return file_GCGPVEIntention_proto_rawDescData
+}
+
+var file_GCGPVEIntention_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGPVEIntention_proto_goTypes = []interface{}{
+ (*GCGPVEIntention)(nil), // 0: proto.GCGPVEIntention
+}
+var file_GCGPVEIntention_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGPVEIntention_proto_init() }
+func file_GCGPVEIntention_proto_init() {
+ if File_GCGPVEIntention_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGPVEIntention_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGPVEIntention); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGPVEIntention_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGPVEIntention_proto_goTypes,
+ DependencyIndexes: file_GCGPVEIntention_proto_depIdxs,
+ MessageInfos: file_GCGPVEIntention_proto_msgTypes,
+ }.Build()
+ File_GCGPVEIntention_proto = out.File
+ file_GCGPVEIntention_proto_rawDesc = nil
+ file_GCGPVEIntention_proto_goTypes = nil
+ file_GCGPVEIntention_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGPhase.pb.go b/protocol/proto/GCGPhase.pb.go
new file mode 100644
index 00000000..e57750b6
--- /dev/null
+++ b/protocol/proto/GCGPhase.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGPhase.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGPhase struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PhaseType GCGPhaseType `protobuf:"varint,5,opt,name=phase_type,json=phaseType,proto3,enum=proto.GCGPhaseType" json:"phase_type,omitempty"`
+ AllowControllerMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=allow_controller_map,json=allowControllerMap,proto3" json:"allow_controller_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GCGPhase) Reset() {
+ *x = GCGPhase{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGPhase_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGPhase) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGPhase) ProtoMessage() {}
+
+func (x *GCGPhase) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGPhase_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGPhase.ProtoReflect.Descriptor instead.
+func (*GCGPhase) Descriptor() ([]byte, []int) {
+ return file_GCGPhase_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGPhase) GetPhaseType() GCGPhaseType {
+ if x != nil {
+ return x.PhaseType
+ }
+ return GCGPhaseType_GCG_PHASE_TYPE_INVALID
+}
+
+func (x *GCGPhase) GetAllowControllerMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AllowControllerMap
+ }
+ return nil
+}
+
+var File_GCGPhase_proto protoreflect.FileDescriptor
+
+var file_GCGPhase_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x08,
+ 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x70, 0x68, 0x61, 0x73,
+ 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x09, 0x70, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x59, 0x0a, 0x14,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x2e, 0x41, 0x6c, 0x6c, 0x6f,
+ 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x1a, 0x45, 0x0a, 0x17, 0x41, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGPhase_proto_rawDescOnce sync.Once
+ file_GCGPhase_proto_rawDescData = file_GCGPhase_proto_rawDesc
+)
+
+func file_GCGPhase_proto_rawDescGZIP() []byte {
+ file_GCGPhase_proto_rawDescOnce.Do(func() {
+ file_GCGPhase_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGPhase_proto_rawDescData)
+ })
+ return file_GCGPhase_proto_rawDescData
+}
+
+var file_GCGPhase_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGPhase_proto_goTypes = []interface{}{
+ (*GCGPhase)(nil), // 0: proto.GCGPhase
+ nil, // 1: proto.GCGPhase.AllowControllerMapEntry
+ (GCGPhaseType)(0), // 2: proto.GCGPhaseType
+}
+var file_GCGPhase_proto_depIdxs = []int32{
+ 2, // 0: proto.GCGPhase.phase_type:type_name -> proto.GCGPhaseType
+ 1, // 1: proto.GCGPhase.allow_controller_map:type_name -> proto.GCGPhase.AllowControllerMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GCGPhase_proto_init() }
+func file_GCGPhase_proto_init() {
+ if File_GCGPhase_proto != nil {
+ return
+ }
+ file_GCGPhaseType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGPhase_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGPhase); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGPhase_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGPhase_proto_goTypes,
+ DependencyIndexes: file_GCGPhase_proto_depIdxs,
+ MessageInfos: file_GCGPhase_proto_msgTypes,
+ }.Build()
+ File_GCGPhase_proto = out.File
+ file_GCGPhase_proto_rawDesc = nil
+ file_GCGPhase_proto_goTypes = nil
+ file_GCGPhase_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGPhaseType.pb.go b/protocol/proto/GCGPhaseType.pb.go
new file mode 100644
index 00000000..ffa98fdf
--- /dev/null
+++ b/protocol/proto/GCGPhaseType.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGPhaseType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGPhaseType int32
+
+const (
+ GCGPhaseType_GCG_PHASE_TYPE_INVALID GCGPhaseType = 0
+ GCGPhaseType_GCG_PHASE_TYPE_START GCGPhaseType = 1
+ GCGPhaseType_GCG_PHASE_TYPE_DRAW GCGPhaseType = 2
+ GCGPhaseType_GCG_PHASE_TYPE_ON_STAGE GCGPhaseType = 3
+ GCGPhaseType_GCG_PHASE_TYPE_DICE GCGPhaseType = 4
+ GCGPhaseType_GCG_PHASE_TYPE_MAIN GCGPhaseType = 5
+ GCGPhaseType_GCG_PHASE_TYPE_END GCGPhaseType = 6
+ GCGPhaseType_GCG_PHASE_TYPE_DIE GCGPhaseType = 7
+ GCGPhaseType_GCG_PHASE_TYPE_FIN GCGPhaseType = 8
+ GCGPhaseType_GCG_PHASE_TYPE_PRE_MAIN GCGPhaseType = 9
+ GCGPhaseType_GCG_PHASE_TYPE_REROLL GCGPhaseType = 10
+)
+
+// Enum value maps for GCGPhaseType.
+var (
+ GCGPhaseType_name = map[int32]string{
+ 0: "GCG_PHASE_TYPE_INVALID",
+ 1: "GCG_PHASE_TYPE_START",
+ 2: "GCG_PHASE_TYPE_DRAW",
+ 3: "GCG_PHASE_TYPE_ON_STAGE",
+ 4: "GCG_PHASE_TYPE_DICE",
+ 5: "GCG_PHASE_TYPE_MAIN",
+ 6: "GCG_PHASE_TYPE_END",
+ 7: "GCG_PHASE_TYPE_DIE",
+ 8: "GCG_PHASE_TYPE_FIN",
+ 9: "GCG_PHASE_TYPE_PRE_MAIN",
+ 10: "GCG_PHASE_TYPE_REROLL",
+ }
+ GCGPhaseType_value = map[string]int32{
+ "GCG_PHASE_TYPE_INVALID": 0,
+ "GCG_PHASE_TYPE_START": 1,
+ "GCG_PHASE_TYPE_DRAW": 2,
+ "GCG_PHASE_TYPE_ON_STAGE": 3,
+ "GCG_PHASE_TYPE_DICE": 4,
+ "GCG_PHASE_TYPE_MAIN": 5,
+ "GCG_PHASE_TYPE_END": 6,
+ "GCG_PHASE_TYPE_DIE": 7,
+ "GCG_PHASE_TYPE_FIN": 8,
+ "GCG_PHASE_TYPE_PRE_MAIN": 9,
+ "GCG_PHASE_TYPE_REROLL": 10,
+ }
+)
+
+func (x GCGPhaseType) Enum() *GCGPhaseType {
+ p := new(GCGPhaseType)
+ *p = x
+ return p
+}
+
+func (x GCGPhaseType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGPhaseType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGPhaseType_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGPhaseType) Type() protoreflect.EnumType {
+ return &file_GCGPhaseType_proto_enumTypes[0]
+}
+
+func (x GCGPhaseType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGPhaseType.Descriptor instead.
+func (GCGPhaseType) EnumDescriptor() ([]byte, []int) {
+ return file_GCGPhaseType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGPhaseType_proto protoreflect.FileDescriptor
+
+var file_GCGPhaseType_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xac, 0x02, 0x0a, 0x0c,
+ 0x47, 0x43, 0x47, 0x50, 0x68, 0x61, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16,
+ 0x47, 0x43, 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49,
+ 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x5f,
+ 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54,
+ 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x47,
+ 0x43, 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x5f,
+ 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x49, 0x43, 0x45, 0x10,
+ 0x04, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x43,
+ 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x44,
+ 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x49, 0x45, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x43,
+ 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x4e,
+ 0x10, 0x08, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x09, 0x12,
+ 0x19, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x52, 0x45, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0x0a, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGPhaseType_proto_rawDescOnce sync.Once
+ file_GCGPhaseType_proto_rawDescData = file_GCGPhaseType_proto_rawDesc
+)
+
+func file_GCGPhaseType_proto_rawDescGZIP() []byte {
+ file_GCGPhaseType_proto_rawDescOnce.Do(func() {
+ file_GCGPhaseType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGPhaseType_proto_rawDescData)
+ })
+ return file_GCGPhaseType_proto_rawDescData
+}
+
+var file_GCGPhaseType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGPhaseType_proto_goTypes = []interface{}{
+ (GCGPhaseType)(0), // 0: proto.GCGPhaseType
+}
+var file_GCGPhaseType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGPhaseType_proto_init() }
+func file_GCGPhaseType_proto_init() {
+ if File_GCGPhaseType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGPhaseType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGPhaseType_proto_goTypes,
+ DependencyIndexes: file_GCGPhaseType_proto_depIdxs,
+ EnumInfos: file_GCGPhaseType_proto_enumTypes,
+ }.Build()
+ File_GCGPhaseType_proto = out.File
+ file_GCGPhaseType_proto_rawDesc = nil
+ file_GCGPhaseType_proto_goTypes = nil
+ file_GCGPhaseType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGPlayCardCostInfo.pb.go b/protocol/proto/GCGPlayCardCostInfo.pb.go
new file mode 100644
index 00000000..ebdd0c20
--- /dev/null
+++ b/protocol/proto/GCGPlayCardCostInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGPlayCardCostInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGPlayCardCostInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostMap map[uint32]uint32 `protobuf:"bytes,14,rep,name=cost_map,json=costMap,proto3" json:"cost_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CardId uint32 `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *GCGPlayCardCostInfo) Reset() {
+ *x = GCGPlayCardCostInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGPlayCardCostInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGPlayCardCostInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGPlayCardCostInfo) ProtoMessage() {}
+
+func (x *GCGPlayCardCostInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGPlayCardCostInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGPlayCardCostInfo.ProtoReflect.Descriptor instead.
+func (*GCGPlayCardCostInfo) Descriptor() ([]byte, []int) {
+ return file_GCGPlayCardCostInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGPlayCardCostInfo) GetCostMap() map[uint32]uint32 {
+ if x != nil {
+ return x.CostMap
+ }
+ return nil
+}
+
+func (x *GCGPlayCardCostInfo) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_GCGPlayCardCostInfo_proto protoreflect.FileDescriptor
+
+var file_GCGPlayCardCostInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x73,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x61,
+ 0x72, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x08, 0x63, 0x6f,
+ 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x72, 0x64,
+ 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGPlayCardCostInfo_proto_rawDescOnce sync.Once
+ file_GCGPlayCardCostInfo_proto_rawDescData = file_GCGPlayCardCostInfo_proto_rawDesc
+)
+
+func file_GCGPlayCardCostInfo_proto_rawDescGZIP() []byte {
+ file_GCGPlayCardCostInfo_proto_rawDescOnce.Do(func() {
+ file_GCGPlayCardCostInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGPlayCardCostInfo_proto_rawDescData)
+ })
+ return file_GCGPlayCardCostInfo_proto_rawDescData
+}
+
+var file_GCGPlayCardCostInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGPlayCardCostInfo_proto_goTypes = []interface{}{
+ (*GCGPlayCardCostInfo)(nil), // 0: proto.GCGPlayCardCostInfo
+ nil, // 1: proto.GCGPlayCardCostInfo.CostMapEntry
+}
+var file_GCGPlayCardCostInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGPlayCardCostInfo.cost_map:type_name -> proto.GCGPlayCardCostInfo.CostMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGPlayCardCostInfo_proto_init() }
+func file_GCGPlayCardCostInfo_proto_init() {
+ if File_GCGPlayCardCostInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGPlayCardCostInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGPlayCardCostInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGPlayCardCostInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGPlayCardCostInfo_proto_goTypes,
+ DependencyIndexes: file_GCGPlayCardCostInfo_proto_depIdxs,
+ MessageInfos: file_GCGPlayCardCostInfo_proto_msgTypes,
+ }.Build()
+ File_GCGPlayCardCostInfo_proto = out.File
+ file_GCGPlayCardCostInfo_proto_rawDesc = nil
+ file_GCGPlayCardCostInfo_proto_goTypes = nil
+ file_GCGPlayCardCostInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGPlayerBriefData.pb.go b/protocol/proto/GCGPlayerBriefData.pb.go
new file mode 100644
index 00000000..610fb679
--- /dev/null
+++ b/protocol/proto/GCGPlayerBriefData.pb.go
@@ -0,0 +1,224 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGPlayerBriefData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGPlayerBriefData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardFaceMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=card_face_map,json=cardFaceMap,proto3" json:"card_face_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ NickName string `protobuf:"bytes,9,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,12,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ CardIdList []uint32 `protobuf:"varint,3,rep,packed,name=card_id_list,json=cardIdList,proto3" json:"card_id_list,omitempty"`
+ ControllerId uint32 `protobuf:"varint,5,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ Uid uint32 `protobuf:"varint,10,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GCGPlayerBriefData) Reset() {
+ *x = GCGPlayerBriefData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGPlayerBriefData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGPlayerBriefData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGPlayerBriefData) ProtoMessage() {}
+
+func (x *GCGPlayerBriefData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGPlayerBriefData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGPlayerBriefData.ProtoReflect.Descriptor instead.
+func (*GCGPlayerBriefData) Descriptor() ([]byte, []int) {
+ return file_GCGPlayerBriefData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGPlayerBriefData) GetCardFaceMap() map[uint32]uint32 {
+ if x != nil {
+ return x.CardFaceMap
+ }
+ return nil
+}
+
+func (x *GCGPlayerBriefData) GetNickName() string {
+ if x != nil {
+ return x.NickName
+ }
+ return ""
+}
+
+func (x *GCGPlayerBriefData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *GCGPlayerBriefData) GetCardIdList() []uint32 {
+ if x != nil {
+ return x.CardIdList
+ }
+ return nil
+}
+
+func (x *GCGPlayerBriefData) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGPlayerBriefData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GCGPlayerBriefData_proto protoreflect.FileDescriptor
+
+var file_GCGPlayerBriefData_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x02, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4e,
+ 0x0a, 0x0d, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x70,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a,
+ 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x75, 0x69, 0x64, 0x1a, 0x3e, 0x0a, 0x10, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGPlayerBriefData_proto_rawDescOnce sync.Once
+ file_GCGPlayerBriefData_proto_rawDescData = file_GCGPlayerBriefData_proto_rawDesc
+)
+
+func file_GCGPlayerBriefData_proto_rawDescGZIP() []byte {
+ file_GCGPlayerBriefData_proto_rawDescOnce.Do(func() {
+ file_GCGPlayerBriefData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGPlayerBriefData_proto_rawDescData)
+ })
+ return file_GCGPlayerBriefData_proto_rawDescData
+}
+
+var file_GCGPlayerBriefData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGPlayerBriefData_proto_goTypes = []interface{}{
+ (*GCGPlayerBriefData)(nil), // 0: proto.GCGPlayerBriefData
+ nil, // 1: proto.GCGPlayerBriefData.CardFaceMapEntry
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_GCGPlayerBriefData_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGPlayerBriefData.card_face_map:type_name -> proto.GCGPlayerBriefData.CardFaceMapEntry
+ 2, // 1: proto.GCGPlayerBriefData.profile_picture:type_name -> proto.ProfilePicture
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GCGPlayerBriefData_proto_init() }
+func file_GCGPlayerBriefData_proto_init() {
+ if File_GCGPlayerBriefData_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGPlayerBriefData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGPlayerBriefData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGPlayerBriefData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGPlayerBriefData_proto_goTypes,
+ DependencyIndexes: file_GCGPlayerBriefData_proto_depIdxs,
+ MessageInfos: file_GCGPlayerBriefData_proto_msgTypes,
+ }.Build()
+ File_GCGPlayerBriefData_proto = out.File
+ file_GCGPlayerBriefData_proto_rawDesc = nil
+ file_GCGPlayerBriefData_proto_goTypes = nil
+ file_GCGPlayerBriefData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGPlayerField.pb.go b/protocol/proto/GCGPlayerField.pb.go
new file mode 100644
index 00000000..6caa2422
--- /dev/null
+++ b/protocol/proto/GCGPlayerField.pb.go
@@ -0,0 +1,366 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGPlayerField.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGPlayerField struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModifyZoneMap map[uint32]*GCGZone `protobuf:"bytes,2,rep,name=modify_zone_map,json=modifyZoneMap,proto3" json:"modify_zone_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ CurWaitingIndex uint32 `protobuf:"varint,383,opt,name=cur_waiting_index,json=curWaitingIndex,proto3" json:"cur_waiting_index,omitempty"`
+ SummonZone *GCGZone `protobuf:"bytes,1,opt,name=summon_zone,json=summonZone,proto3" json:"summon_zone,omitempty"`
+ FieldShowId uint32 `protobuf:"varint,8,opt,name=field_show_id,json=fieldShowId,proto3" json:"field_show_id,omitempty"`
+ CardBackShowId uint32 `protobuf:"varint,12,opt,name=card_back_show_id,json=cardBackShowId,proto3" json:"card_back_show_id,omitempty"`
+ DiceCount uint32 `protobuf:"varint,3,opt,name=dice_count,json=diceCount,proto3" json:"dice_count,omitempty"`
+ ControllerId uint32 `protobuf:"varint,10,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ OnStageZone *GCGZone `protobuf:"bytes,14,opt,name=on_stage_zone,json=onStageZone,proto3" json:"on_stage_zone,omitempty"`
+ IsPassed bool `protobuf:"varint,7,opt,name=is_passed,json=isPassed,proto3" json:"is_passed,omitempty"`
+ CharacterZone *GCGZone `protobuf:"bytes,5,opt,name=character_zone,json=characterZone,proto3" json:"character_zone,omitempty"`
+ OnStageCharacterGuid uint32 `protobuf:"varint,6,opt,name=on_stage_character_guid,json=onStageCharacterGuid,proto3" json:"on_stage_character_guid,omitempty"`
+ AssistZone *GCGZone `protobuf:"bytes,15,opt,name=assist_zone,json=assistZone,proto3" json:"assist_zone,omitempty"`
+ DeckCardNum uint32 `protobuf:"varint,13,opt,name=deck_card_num,json=deckCardNum,proto3" json:"deck_card_num,omitempty"`
+ DiceSideList []GCGDiceSideType `protobuf:"varint,11,rep,packed,name=dice_side_list,json=diceSideList,proto3,enum=proto.GCGDiceSideType" json:"dice_side_list,omitempty"`
+ HandZone *GCGZone `protobuf:"bytes,9,opt,name=hand_zone,json=handZone,proto3" json:"hand_zone,omitempty"`
+ IntentionList []*GCGPVEIntention `protobuf:"bytes,1192,rep,name=intention_list,json=intentionList,proto3" json:"intention_list,omitempty"`
+ WaitingList []*GCGWaitingCharacter `protobuf:"bytes,4,rep,name=waiting_list,json=waitingList,proto3" json:"waiting_list,omitempty"`
+}
+
+func (x *GCGPlayerField) Reset() {
+ *x = GCGPlayerField{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGPlayerField_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGPlayerField) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGPlayerField) ProtoMessage() {}
+
+func (x *GCGPlayerField) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGPlayerField_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGPlayerField.ProtoReflect.Descriptor instead.
+func (*GCGPlayerField) Descriptor() ([]byte, []int) {
+ return file_GCGPlayerField_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGPlayerField) GetModifyZoneMap() map[uint32]*GCGZone {
+ if x != nil {
+ return x.ModifyZoneMap
+ }
+ return nil
+}
+
+func (x *GCGPlayerField) GetCurWaitingIndex() uint32 {
+ if x != nil {
+ return x.CurWaitingIndex
+ }
+ return 0
+}
+
+func (x *GCGPlayerField) GetSummonZone() *GCGZone {
+ if x != nil {
+ return x.SummonZone
+ }
+ return nil
+}
+
+func (x *GCGPlayerField) GetFieldShowId() uint32 {
+ if x != nil {
+ return x.FieldShowId
+ }
+ return 0
+}
+
+func (x *GCGPlayerField) GetCardBackShowId() uint32 {
+ if x != nil {
+ return x.CardBackShowId
+ }
+ return 0
+}
+
+func (x *GCGPlayerField) GetDiceCount() uint32 {
+ if x != nil {
+ return x.DiceCount
+ }
+ return 0
+}
+
+func (x *GCGPlayerField) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGPlayerField) GetOnStageZone() *GCGZone {
+ if x != nil {
+ return x.OnStageZone
+ }
+ return nil
+}
+
+func (x *GCGPlayerField) GetIsPassed() bool {
+ if x != nil {
+ return x.IsPassed
+ }
+ return false
+}
+
+func (x *GCGPlayerField) GetCharacterZone() *GCGZone {
+ if x != nil {
+ return x.CharacterZone
+ }
+ return nil
+}
+
+func (x *GCGPlayerField) GetOnStageCharacterGuid() uint32 {
+ if x != nil {
+ return x.OnStageCharacterGuid
+ }
+ return 0
+}
+
+func (x *GCGPlayerField) GetAssistZone() *GCGZone {
+ if x != nil {
+ return x.AssistZone
+ }
+ return nil
+}
+
+func (x *GCGPlayerField) GetDeckCardNum() uint32 {
+ if x != nil {
+ return x.DeckCardNum
+ }
+ return 0
+}
+
+func (x *GCGPlayerField) GetDiceSideList() []GCGDiceSideType {
+ if x != nil {
+ return x.DiceSideList
+ }
+ return nil
+}
+
+func (x *GCGPlayerField) GetHandZone() *GCGZone {
+ if x != nil {
+ return x.HandZone
+ }
+ return nil
+}
+
+func (x *GCGPlayerField) GetIntentionList() []*GCGPVEIntention {
+ if x != nil {
+ return x.IntentionList
+ }
+ return nil
+}
+
+func (x *GCGPlayerField) GetWaitingList() []*GCGWaitingCharacter {
+ if x != nil {
+ return x.WaitingList
+ }
+ return nil
+}
+
+var File_GCGPlayerField_proto protoreflect.FileDescriptor
+
+var file_GCGPlayerField_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x47,
+ 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x47, 0x43, 0x47, 0x50, 0x56, 0x45, 0x49, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x47, 0x43, 0x47,
+ 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x07, 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x50, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x69,
+ 0x66, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5a,
+ 0x6f, 0x6e, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x6f, 0x64,
+ 0x69, 0x66, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x75,
+ 0x72, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0xff, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x57, 0x61, 0x69, 0x74, 0x69,
+ 0x6e, 0x67, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x75, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x0a, 0x73, 0x75,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x11,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63,
+ 0x6b, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x69, 0x63, 0x65, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x69, 0x63,
+ 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63,
+ 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0d, 0x6f,
+ 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x5a, 0x6f,
+ 0x6e, 0x65, 0x52, 0x0b, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x0e,
+ 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5a,
+ 0x6f, 0x6e, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f,
+ 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61,
+ 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x0b, 0x61, 0x73,
+ 0x73, 0x69, 0x73, 0x74, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x52,
+ 0x0a, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x64,
+ 0x65, 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x12,
+ 0x3c, 0x0a, 0x0e, 0x64, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x43, 0x47, 0x44, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x0c, 0x64, 0x69, 0x63, 0x65, 0x53, 0x69, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a,
+ 0x09, 0x68, 0x61, 0x6e, 0x64, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65,
+ 0x52, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x69, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xa8, 0x09, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x50,
+ 0x56, 0x45, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x69, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x77, 0x61,
+ 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x57, 0x61, 0x69, 0x74,
+ 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x77, 0x61,
+ 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x50, 0x0a, 0x12, 0x4d, 0x6f, 0x64,
+ 0x69, 0x66, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGPlayerField_proto_rawDescOnce sync.Once
+ file_GCGPlayerField_proto_rawDescData = file_GCGPlayerField_proto_rawDesc
+)
+
+func file_GCGPlayerField_proto_rawDescGZIP() []byte {
+ file_GCGPlayerField_proto_rawDescOnce.Do(func() {
+ file_GCGPlayerField_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGPlayerField_proto_rawDescData)
+ })
+ return file_GCGPlayerField_proto_rawDescData
+}
+
+var file_GCGPlayerField_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGPlayerField_proto_goTypes = []interface{}{
+ (*GCGPlayerField)(nil), // 0: proto.GCGPlayerField
+ nil, // 1: proto.GCGPlayerField.ModifyZoneMapEntry
+ (*GCGZone)(nil), // 2: proto.GCGZone
+ (GCGDiceSideType)(0), // 3: proto.GCGDiceSideType
+ (*GCGPVEIntention)(nil), // 4: proto.GCGPVEIntention
+ (*GCGWaitingCharacter)(nil), // 5: proto.GCGWaitingCharacter
+}
+var file_GCGPlayerField_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGPlayerField.modify_zone_map:type_name -> proto.GCGPlayerField.ModifyZoneMapEntry
+ 2, // 1: proto.GCGPlayerField.summon_zone:type_name -> proto.GCGZone
+ 2, // 2: proto.GCGPlayerField.on_stage_zone:type_name -> proto.GCGZone
+ 2, // 3: proto.GCGPlayerField.character_zone:type_name -> proto.GCGZone
+ 2, // 4: proto.GCGPlayerField.assist_zone:type_name -> proto.GCGZone
+ 3, // 5: proto.GCGPlayerField.dice_side_list:type_name -> proto.GCGDiceSideType
+ 2, // 6: proto.GCGPlayerField.hand_zone:type_name -> proto.GCGZone
+ 4, // 7: proto.GCGPlayerField.intention_list:type_name -> proto.GCGPVEIntention
+ 5, // 8: proto.GCGPlayerField.waiting_list:type_name -> proto.GCGWaitingCharacter
+ 2, // 9: proto.GCGPlayerField.ModifyZoneMapEntry.value:type_name -> proto.GCGZone
+ 10, // [10:10] is the sub-list for method output_type
+ 10, // [10:10] is the sub-list for method input_type
+ 10, // [10:10] is the sub-list for extension type_name
+ 10, // [10:10] is the sub-list for extension extendee
+ 0, // [0:10] is the sub-list for field type_name
+}
+
+func init() { file_GCGPlayerField_proto_init() }
+func file_GCGPlayerField_proto_init() {
+ if File_GCGPlayerField_proto != nil {
+ return
+ }
+ file_GCGDiceSideType_proto_init()
+ file_GCGPVEIntention_proto_init()
+ file_GCGWaitingCharacter_proto_init()
+ file_GCGZone_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGPlayerField_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGPlayerField); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGPlayerField_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGPlayerField_proto_goTypes,
+ DependencyIndexes: file_GCGPlayerField_proto_depIdxs,
+ MessageInfos: file_GCGPlayerField_proto_msgTypes,
+ }.Build()
+ File_GCGPlayerField_proto = out.File
+ file_GCGPlayerField_proto_rawDesc = nil
+ file_GCGPlayerField_proto_goTypes = nil
+ file_GCGPlayerField_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGReason.pb.go b/protocol/proto/GCGReason.pb.go
new file mode 100644
index 00000000..82917fe1
--- /dev/null
+++ b/protocol/proto/GCGReason.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGReason int32
+
+const (
+ GCGReason_GCG_REASON_DEFAULT GCGReason = 0
+ GCGReason_GCG_REASON_EFFECT GCGReason = 1
+ GCGReason_GCG_REASON_COST GCGReason = 2
+ GCGReason_GCG_REASON_GM GCGReason = 3
+ GCGReason_GCG_REASON_ATTACK GCGReason = 4
+ GCGReason_GCG_REASON_REBOOT GCGReason = 5
+ GCGReason_GCG_REASON_PLAY_CARD GCGReason = 6
+ GCGReason_GCG_REASON_QUICKLY_ONSTAGE GCGReason = 7
+ GCGReason_GCG_REASON_REMOVE_AFTER_DIE GCGReason = 8
+ GCGReason_GCG_REASON_INIT GCGReason = 9
+)
+
+// Enum value maps for GCGReason.
+var (
+ GCGReason_name = map[int32]string{
+ 0: "GCG_REASON_DEFAULT",
+ 1: "GCG_REASON_EFFECT",
+ 2: "GCG_REASON_COST",
+ 3: "GCG_REASON_GM",
+ 4: "GCG_REASON_ATTACK",
+ 5: "GCG_REASON_REBOOT",
+ 6: "GCG_REASON_PLAY_CARD",
+ 7: "GCG_REASON_QUICKLY_ONSTAGE",
+ 8: "GCG_REASON_REMOVE_AFTER_DIE",
+ 9: "GCG_REASON_INIT",
+ }
+ GCGReason_value = map[string]int32{
+ "GCG_REASON_DEFAULT": 0,
+ "GCG_REASON_EFFECT": 1,
+ "GCG_REASON_COST": 2,
+ "GCG_REASON_GM": 3,
+ "GCG_REASON_ATTACK": 4,
+ "GCG_REASON_REBOOT": 5,
+ "GCG_REASON_PLAY_CARD": 6,
+ "GCG_REASON_QUICKLY_ONSTAGE": 7,
+ "GCG_REASON_REMOVE_AFTER_DIE": 8,
+ "GCG_REASON_INIT": 9,
+ }
+)
+
+func (x GCGReason) Enum() *GCGReason {
+ p := new(GCGReason)
+ *p = x
+ return p
+}
+
+func (x GCGReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGReason_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGReason) Type() protoreflect.EnumType {
+ return &file_GCGReason_proto_enumTypes[0]
+}
+
+func (x GCGReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGReason.Descriptor instead.
+func (GCGReason) EnumDescriptor() ([]byte, []int) {
+ return file_GCGReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGReason_proto protoreflect.FileDescriptor
+
+var file_GCGReason_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x80, 0x02, 0x0a, 0x09, 0x47, 0x43, 0x47,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x15,
+ 0x0a, 0x11, 0x47, 0x43, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x46, 0x46,
+ 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x43,
+ 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x47, 0x4d, 0x10, 0x03, 0x12, 0x15, 0x0a,
+ 0x11, 0x47, 0x43, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x54, 0x54, 0x41,
+ 0x43, 0x4b, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x43, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x47,
+ 0x43, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x43,
+ 0x41, 0x52, 0x44, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x4c, 0x59, 0x5f, 0x4f, 0x4e, 0x53, 0x54,
+ 0x41, 0x47, 0x45, 0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x41, 0x46, 0x54, 0x45, 0x52,
+ 0x5f, 0x44, 0x49, 0x45, 0x10, 0x08, 0x12, 0x13, 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x09, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGReason_proto_rawDescOnce sync.Once
+ file_GCGReason_proto_rawDescData = file_GCGReason_proto_rawDesc
+)
+
+func file_GCGReason_proto_rawDescGZIP() []byte {
+ file_GCGReason_proto_rawDescOnce.Do(func() {
+ file_GCGReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGReason_proto_rawDescData)
+ })
+ return file_GCGReason_proto_rawDescData
+}
+
+var file_GCGReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGReason_proto_goTypes = []interface{}{
+ (GCGReason)(0), // 0: proto.GCGReason
+}
+var file_GCGReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGReason_proto_init() }
+func file_GCGReason_proto_init() {
+ if File_GCGReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGReason_proto_goTypes,
+ DependencyIndexes: file_GCGReason_proto_depIdxs,
+ EnumInfos: file_GCGReason_proto_enumTypes,
+ }.Build()
+ File_GCGReason_proto = out.File
+ file_GCGReason_proto_rawDesc = nil
+ file_GCGReason_proto_goTypes = nil
+ file_GCGReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGResourceStateNotify.pb.go b/protocol/proto/GCGResourceStateNotify.pb.go
new file mode 100644
index 00000000..07ac7c45
--- /dev/null
+++ b/protocol/proto/GCGResourceStateNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGResourceStateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7876
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGResourceStateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsComplete bool `protobuf:"varint,5,opt,name=is_complete,json=isComplete,proto3" json:"is_complete,omitempty"`
+}
+
+func (x *GCGResourceStateNotify) Reset() {
+ *x = GCGResourceStateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGResourceStateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGResourceStateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGResourceStateNotify) ProtoMessage() {}
+
+func (x *GCGResourceStateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGResourceStateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGResourceStateNotify.ProtoReflect.Descriptor instead.
+func (*GCGResourceStateNotify) Descriptor() ([]byte, []int) {
+ return file_GCGResourceStateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGResourceStateNotify) GetIsComplete() bool {
+ if x != nil {
+ return x.IsComplete
+ }
+ return false
+}
+
+var File_GCGResourceStateNotify_proto protoreflect.FileDescriptor
+
+var file_GCGResourceStateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x16, 0x47, 0x43, 0x47, 0x52, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGResourceStateNotify_proto_rawDescOnce sync.Once
+ file_GCGResourceStateNotify_proto_rawDescData = file_GCGResourceStateNotify_proto_rawDesc
+)
+
+func file_GCGResourceStateNotify_proto_rawDescGZIP() []byte {
+ file_GCGResourceStateNotify_proto_rawDescOnce.Do(func() {
+ file_GCGResourceStateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGResourceStateNotify_proto_rawDescData)
+ })
+ return file_GCGResourceStateNotify_proto_rawDescData
+}
+
+var file_GCGResourceStateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGResourceStateNotify_proto_goTypes = []interface{}{
+ (*GCGResourceStateNotify)(nil), // 0: proto.GCGResourceStateNotify
+}
+var file_GCGResourceStateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGResourceStateNotify_proto_init() }
+func file_GCGResourceStateNotify_proto_init() {
+ if File_GCGResourceStateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGResourceStateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGResourceStateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGResourceStateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGResourceStateNotify_proto_goTypes,
+ DependencyIndexes: file_GCGResourceStateNotify_proto_depIdxs,
+ MessageInfos: file_GCGResourceStateNotify_proto_msgTypes,
+ }.Build()
+ File_GCGResourceStateNotify_proto = out.File
+ file_GCGResourceStateNotify_proto_rawDesc = nil
+ file_GCGResourceStateNotify_proto_goTypes = nil
+ file_GCGResourceStateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSelectOnStageCostInfo.pb.go b/protocol/proto/GCGSelectOnStageCostInfo.pb.go
new file mode 100644
index 00000000..c7f82e9d
--- /dev/null
+++ b/protocol/proto/GCGSelectOnStageCostInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSelectOnStageCostInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSelectOnStageCostInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=cost_map,json=costMap,proto3" json:"cost_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CardGuid uint32 `protobuf:"varint,9,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGSelectOnStageCostInfo) Reset() {
+ *x = GCGSelectOnStageCostInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSelectOnStageCostInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSelectOnStageCostInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSelectOnStageCostInfo) ProtoMessage() {}
+
+func (x *GCGSelectOnStageCostInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSelectOnStageCostInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSelectOnStageCostInfo.ProtoReflect.Descriptor instead.
+func (*GCGSelectOnStageCostInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSelectOnStageCostInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSelectOnStageCostInfo) GetCostMap() map[uint32]uint32 {
+ if x != nil {
+ return x.CostMap
+ }
+ return nil
+}
+
+func (x *GCGSelectOnStageCostInfo) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGSelectOnStageCostInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSelectOnStageCostInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x43, 0x47, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x73, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x43,
+ 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a,
+ 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f,
+ 0x73, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSelectOnStageCostInfo_proto_rawDescOnce sync.Once
+ file_GCGSelectOnStageCostInfo_proto_rawDescData = file_GCGSelectOnStageCostInfo_proto_rawDesc
+)
+
+func file_GCGSelectOnStageCostInfo_proto_rawDescGZIP() []byte {
+ file_GCGSelectOnStageCostInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSelectOnStageCostInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSelectOnStageCostInfo_proto_rawDescData)
+ })
+ return file_GCGSelectOnStageCostInfo_proto_rawDescData
+}
+
+var file_GCGSelectOnStageCostInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GCGSelectOnStageCostInfo_proto_goTypes = []interface{}{
+ (*GCGSelectOnStageCostInfo)(nil), // 0: proto.GCGSelectOnStageCostInfo
+ nil, // 1: proto.GCGSelectOnStageCostInfo.CostMapEntry
+}
+var file_GCGSelectOnStageCostInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSelectOnStageCostInfo.cost_map:type_name -> proto.GCGSelectOnStageCostInfo.CostMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGSelectOnStageCostInfo_proto_init() }
+func file_GCGSelectOnStageCostInfo_proto_init() {
+ if File_GCGSelectOnStageCostInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSelectOnStageCostInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSelectOnStageCostInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSelectOnStageCostInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSelectOnStageCostInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSelectOnStageCostInfo_proto_depIdxs,
+ MessageInfos: file_GCGSelectOnStageCostInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSelectOnStageCostInfo_proto = out.File
+ file_GCGSelectOnStageCostInfo_proto_rawDesc = nil
+ file_GCGSelectOnStageCostInfo_proto_goTypes = nil
+ file_GCGSelectOnStageCostInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSettleNotify.pb.go b/protocol/proto/GCGSettleNotify.pb.go
new file mode 100644
index 00000000..3435736e
--- /dev/null
+++ b/protocol/proto/GCGSettleNotify.pb.go
@@ -0,0 +1,230 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7769
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GameId uint32 `protobuf:"varint,7,opt,name=game_id,json=gameId,proto3" json:"game_id,omitempty"`
+ BusinessType GCGGameBusinessType `protobuf:"varint,2,opt,name=business_type,json=businessType,proto3,enum=proto.GCGGameBusinessType" json:"business_type,omitempty"`
+ IsWin bool `protobuf:"varint,13,opt,name=is_win,json=isWin,proto3" json:"is_win,omitempty"`
+ RewardItemList []*ItemParam `protobuf:"bytes,9,rep,name=reward_item_list,json=rewardItemList,proto3" json:"reward_item_list,omitempty"`
+ FinishedChallengeIdList []uint32 `protobuf:"varint,6,rep,packed,name=finished_challenge_id_list,json=finishedChallengeIdList,proto3" json:"finished_challenge_id_list,omitempty"`
+ Reason GCGEndReason `protobuf:"varint,3,opt,name=reason,proto3,enum=proto.GCGEndReason" json:"reason,omitempty"`
+}
+
+func (x *GCGSettleNotify) Reset() {
+ *x = GCGSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSettleNotify) ProtoMessage() {}
+
+func (x *GCGSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSettleNotify.ProtoReflect.Descriptor instead.
+func (*GCGSettleNotify) Descriptor() ([]byte, []int) {
+ return file_GCGSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSettleNotify) GetGameId() uint32 {
+ if x != nil {
+ return x.GameId
+ }
+ return 0
+}
+
+func (x *GCGSettleNotify) GetBusinessType() GCGGameBusinessType {
+ if x != nil {
+ return x.BusinessType
+ }
+ return GCGGameBusinessType_GCG_GAME_BUSINESS_TYPE_NONE
+}
+
+func (x *GCGSettleNotify) GetIsWin() bool {
+ if x != nil {
+ return x.IsWin
+ }
+ return false
+}
+
+func (x *GCGSettleNotify) GetRewardItemList() []*ItemParam {
+ if x != nil {
+ return x.RewardItemList
+ }
+ return nil
+}
+
+func (x *GCGSettleNotify) GetFinishedChallengeIdList() []uint32 {
+ if x != nil {
+ return x.FinishedChallengeIdList
+ }
+ return nil
+}
+
+func (x *GCGSettleNotify) GetReason() GCGEndReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GCGEndReason_GCG_END_REASON_DEFAULT
+}
+
+var File_GCGSettleNotify_proto protoreflect.FileDescriptor
+
+var file_GCGSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12,
+ 0x47, 0x43, 0x47, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x47, 0x43, 0x47, 0x47, 0x61, 0x6d, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e,
+ 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49,
+ 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8,
+ 0x02, 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x67, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x62,
+ 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x47, 0x61,
+ 0x6d, 0x65, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c,
+ 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06,
+ 0x69, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73,
+ 0x57, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
+ 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x3b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x17, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x06,
+ 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x45, 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSettleNotify_proto_rawDescOnce sync.Once
+ file_GCGSettleNotify_proto_rawDescData = file_GCGSettleNotify_proto_rawDesc
+)
+
+func file_GCGSettleNotify_proto_rawDescGZIP() []byte {
+ file_GCGSettleNotify_proto_rawDescOnce.Do(func() {
+ file_GCGSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSettleNotify_proto_rawDescData)
+ })
+ return file_GCGSettleNotify_proto_rawDescData
+}
+
+var file_GCGSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSettleNotify_proto_goTypes = []interface{}{
+ (*GCGSettleNotify)(nil), // 0: proto.GCGSettleNotify
+ (GCGGameBusinessType)(0), // 1: proto.GCGGameBusinessType
+ (*ItemParam)(nil), // 2: proto.ItemParam
+ (GCGEndReason)(0), // 3: proto.GCGEndReason
+}
+var file_GCGSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSettleNotify.business_type:type_name -> proto.GCGGameBusinessType
+ 2, // 1: proto.GCGSettleNotify.reward_item_list:type_name -> proto.ItemParam
+ 3, // 2: proto.GCGSettleNotify.reason:type_name -> proto.GCGEndReason
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GCGSettleNotify_proto_init() }
+func file_GCGSettleNotify_proto_init() {
+ if File_GCGSettleNotify_proto != nil {
+ return
+ }
+ file_GCGEndReason_proto_init()
+ file_GCGGameBusinessType_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSettleNotify_proto_goTypes,
+ DependencyIndexes: file_GCGSettleNotify_proto_depIdxs,
+ MessageInfos: file_GCGSettleNotify_proto_msgTypes,
+ }.Build()
+ File_GCGSettleNotify_proto = out.File
+ file_GCGSettleNotify_proto_rawDesc = nil
+ file_GCGSettleNotify_proto_goTypes = nil
+ file_GCGSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSettleOption.pb.go b/protocol/proto/GCGSettleOption.pb.go
new file mode 100644
index 00000000..bce706ef
--- /dev/null
+++ b/protocol/proto/GCGSettleOption.pb.go
@@ -0,0 +1,156 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSettleOption.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSettleOption int32
+
+const (
+ GCGSettleOption_GCG_SETTLE_OPTION_OPT_NONE GCGSettleOption = 0
+ GCGSettleOption_GCG_SETTLE_OPTION_OPT_EXIT GCGSettleOption = 1
+ GCGSettleOption_GCG_SETTLE_OPTION_OPT_CONTINUE GCGSettleOption = 2
+ GCGSettleOption_GCG_SETTLE_OPTION_OPT_RESTART GCGSettleOption = 3
+)
+
+// Enum value maps for GCGSettleOption.
+var (
+ GCGSettleOption_name = map[int32]string{
+ 0: "GCG_SETTLE_OPTION_OPT_NONE",
+ 1: "GCG_SETTLE_OPTION_OPT_EXIT",
+ 2: "GCG_SETTLE_OPTION_OPT_CONTINUE",
+ 3: "GCG_SETTLE_OPTION_OPT_RESTART",
+ }
+ GCGSettleOption_value = map[string]int32{
+ "GCG_SETTLE_OPTION_OPT_NONE": 0,
+ "GCG_SETTLE_OPTION_OPT_EXIT": 1,
+ "GCG_SETTLE_OPTION_OPT_CONTINUE": 2,
+ "GCG_SETTLE_OPTION_OPT_RESTART": 3,
+ }
+)
+
+func (x GCGSettleOption) Enum() *GCGSettleOption {
+ p := new(GCGSettleOption)
+ *p = x
+ return p
+}
+
+func (x GCGSettleOption) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGSettleOption) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGSettleOption_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGSettleOption) Type() protoreflect.EnumType {
+ return &file_GCGSettleOption_proto_enumTypes[0]
+}
+
+func (x GCGSettleOption) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGSettleOption.Descriptor instead.
+func (GCGSettleOption) EnumDescriptor() ([]byte, []int) {
+ return file_GCGSettleOption_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGSettleOption_proto protoreflect.FileDescriptor
+
+var file_GCGSettleOption_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x98,
+ 0x01, 0x0a, 0x0f, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45,
+ 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45,
+ 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45,
+ 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x54,
+ 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x47, 0x43, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45,
+ 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54,
+ 0x49, 0x4e, 0x55, 0x45, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x5f, 0x53, 0x45,
+ 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x5f,
+ 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSettleOption_proto_rawDescOnce sync.Once
+ file_GCGSettleOption_proto_rawDescData = file_GCGSettleOption_proto_rawDesc
+)
+
+func file_GCGSettleOption_proto_rawDescGZIP() []byte {
+ file_GCGSettleOption_proto_rawDescOnce.Do(func() {
+ file_GCGSettleOption_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSettleOption_proto_rawDescData)
+ })
+ return file_GCGSettleOption_proto_rawDescData
+}
+
+var file_GCGSettleOption_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGSettleOption_proto_goTypes = []interface{}{
+ (GCGSettleOption)(0), // 0: proto.GCGSettleOption
+}
+var file_GCGSettleOption_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGSettleOption_proto_init() }
+func file_GCGSettleOption_proto_init() {
+ if File_GCGSettleOption_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSettleOption_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSettleOption_proto_goTypes,
+ DependencyIndexes: file_GCGSettleOption_proto_depIdxs,
+ EnumInfos: file_GCGSettleOption_proto_enumTypes,
+ }.Build()
+ File_GCGSettleOption_proto = out.File
+ file_GCGSettleOption_proto_rawDesc = nil
+ file_GCGSettleOption_proto_goTypes = nil
+ file_GCGSettleOption_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSettleOptionReq.pb.go b/protocol/proto/GCGSettleOptionReq.pb.go
new file mode 100644
index 00000000..91ea4b26
--- /dev/null
+++ b/protocol/proto/GCGSettleOptionReq.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSettleOptionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7124
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGSettleOptionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Option GCGSettleOption `protobuf:"varint,5,opt,name=option,proto3,enum=proto.GCGSettleOption" json:"option,omitempty"`
+}
+
+func (x *GCGSettleOptionReq) Reset() {
+ *x = GCGSettleOptionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSettleOptionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSettleOptionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSettleOptionReq) ProtoMessage() {}
+
+func (x *GCGSettleOptionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSettleOptionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSettleOptionReq.ProtoReflect.Descriptor instead.
+func (*GCGSettleOptionReq) Descriptor() ([]byte, []int) {
+ return file_GCGSettleOptionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSettleOptionReq) GetOption() GCGSettleOption {
+ if x != nil {
+ return x.Option
+ }
+ return GCGSettleOption_GCG_SETTLE_OPTION_OPT_NONE
+}
+
+var File_GCGSettleOptionReq_proto protoreflect.FileDescriptor
+
+var file_GCGSettleOptionReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x15, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x2e,
+ 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGSettleOptionReq_proto_rawDescOnce sync.Once
+ file_GCGSettleOptionReq_proto_rawDescData = file_GCGSettleOptionReq_proto_rawDesc
+)
+
+func file_GCGSettleOptionReq_proto_rawDescGZIP() []byte {
+ file_GCGSettleOptionReq_proto_rawDescOnce.Do(func() {
+ file_GCGSettleOptionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSettleOptionReq_proto_rawDescData)
+ })
+ return file_GCGSettleOptionReq_proto_rawDescData
+}
+
+var file_GCGSettleOptionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSettleOptionReq_proto_goTypes = []interface{}{
+ (*GCGSettleOptionReq)(nil), // 0: proto.GCGSettleOptionReq
+ (GCGSettleOption)(0), // 1: proto.GCGSettleOption
+}
+var file_GCGSettleOptionReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSettleOptionReq.option:type_name -> proto.GCGSettleOption
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGSettleOptionReq_proto_init() }
+func file_GCGSettleOptionReq_proto_init() {
+ if File_GCGSettleOptionReq_proto != nil {
+ return
+ }
+ file_GCGSettleOption_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSettleOptionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSettleOptionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSettleOptionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSettleOptionReq_proto_goTypes,
+ DependencyIndexes: file_GCGSettleOptionReq_proto_depIdxs,
+ MessageInfos: file_GCGSettleOptionReq_proto_msgTypes,
+ }.Build()
+ File_GCGSettleOptionReq_proto = out.File
+ file_GCGSettleOptionReq_proto_rawDesc = nil
+ file_GCGSettleOptionReq_proto_goTypes = nil
+ file_GCGSettleOptionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSettleOptionRsp.pb.go b/protocol/proto/GCGSettleOptionRsp.pb.go
new file mode 100644
index 00000000..8c77cccf
--- /dev/null
+++ b/protocol/proto/GCGSettleOptionRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSettleOptionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7735
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGSettleOptionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Option GCGSettleOption `protobuf:"varint,13,opt,name=option,proto3,enum=proto.GCGSettleOption" json:"option,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGSettleOptionRsp) Reset() {
+ *x = GCGSettleOptionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSettleOptionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSettleOptionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSettleOptionRsp) ProtoMessage() {}
+
+func (x *GCGSettleOptionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSettleOptionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSettleOptionRsp.ProtoReflect.Descriptor instead.
+func (*GCGSettleOptionRsp) Descriptor() ([]byte, []int) {
+ return file_GCGSettleOptionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSettleOptionRsp) GetOption() GCGSettleOption {
+ if x != nil {
+ return x.Option
+ }
+ return GCGSettleOption_GCG_SETTLE_OPTION_OPT_NONE
+}
+
+func (x *GCGSettleOptionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGSettleOptionRsp_proto protoreflect.FileDescriptor
+
+var file_GCGSettleOptionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x15, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x2e,
+ 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSettleOptionRsp_proto_rawDescOnce sync.Once
+ file_GCGSettleOptionRsp_proto_rawDescData = file_GCGSettleOptionRsp_proto_rawDesc
+)
+
+func file_GCGSettleOptionRsp_proto_rawDescGZIP() []byte {
+ file_GCGSettleOptionRsp_proto_rawDescOnce.Do(func() {
+ file_GCGSettleOptionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSettleOptionRsp_proto_rawDescData)
+ })
+ return file_GCGSettleOptionRsp_proto_rawDescData
+}
+
+var file_GCGSettleOptionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSettleOptionRsp_proto_goTypes = []interface{}{
+ (*GCGSettleOptionRsp)(nil), // 0: proto.GCGSettleOptionRsp
+ (GCGSettleOption)(0), // 1: proto.GCGSettleOption
+}
+var file_GCGSettleOptionRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSettleOptionRsp.option:type_name -> proto.GCGSettleOption
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGSettleOptionRsp_proto_init() }
+func file_GCGSettleOptionRsp_proto_init() {
+ if File_GCGSettleOptionRsp_proto != nil {
+ return
+ }
+ file_GCGSettleOption_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSettleOptionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSettleOptionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSettleOptionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSettleOptionRsp_proto_goTypes,
+ DependencyIndexes: file_GCGSettleOptionRsp_proto_depIdxs,
+ MessageInfos: file_GCGSettleOptionRsp_proto_msgTypes,
+ }.Build()
+ File_GCGSettleOptionRsp_proto = out.File
+ file_GCGSettleOptionRsp_proto_rawDesc = nil
+ file_GCGSettleOptionRsp_proto_goTypes = nil
+ file_GCGSettleOptionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillHpChangeType.pb.go b/protocol/proto/GCGSkillHpChangeType.pb.go
new file mode 100644
index 00000000..336da1f0
--- /dev/null
+++ b/protocol/proto/GCGSkillHpChangeType.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillHpChangeType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillHpChangeType int32
+
+const (
+ GCGSkillHpChangeType_GCG_SKILL_HP_CHANGE_TYPE_NONE GCGSkillHpChangeType = 0
+ GCGSkillHpChangeType_GCG_SKILL_HP_CHANGE_TYPE_DAMAGE GCGSkillHpChangeType = 1
+ GCGSkillHpChangeType_GCG_SKILL_HP_CHANGE_TYPE_HEAL GCGSkillHpChangeType = 2
+)
+
+// Enum value maps for GCGSkillHpChangeType.
+var (
+ GCGSkillHpChangeType_name = map[int32]string{
+ 0: "GCG_SKILL_HP_CHANGE_TYPE_NONE",
+ 1: "GCG_SKILL_HP_CHANGE_TYPE_DAMAGE",
+ 2: "GCG_SKILL_HP_CHANGE_TYPE_HEAL",
+ }
+ GCGSkillHpChangeType_value = map[string]int32{
+ "GCG_SKILL_HP_CHANGE_TYPE_NONE": 0,
+ "GCG_SKILL_HP_CHANGE_TYPE_DAMAGE": 1,
+ "GCG_SKILL_HP_CHANGE_TYPE_HEAL": 2,
+ }
+)
+
+func (x GCGSkillHpChangeType) Enum() *GCGSkillHpChangeType {
+ p := new(GCGSkillHpChangeType)
+ *p = x
+ return p
+}
+
+func (x GCGSkillHpChangeType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGSkillHpChangeType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGSkillHpChangeType_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGSkillHpChangeType) Type() protoreflect.EnumType {
+ return &file_GCGSkillHpChangeType_proto_enumTypes[0]
+}
+
+func (x GCGSkillHpChangeType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGSkillHpChangeType.Descriptor instead.
+func (GCGSkillHpChangeType) EnumDescriptor() ([]byte, []int) {
+ return file_GCGSkillHpChangeType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGSkillHpChangeType_proto protoreflect.FileDescriptor
+
+var file_GCGSkillHpChangeType_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x48, 0x70, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x48, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d,
+ 0x47, 0x43, 0x47, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x48, 0x50, 0x5f, 0x43, 0x48, 0x41,
+ 0x4e, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12,
+ 0x23, 0x0a, 0x1f, 0x47, 0x43, 0x47, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x48, 0x50, 0x5f,
+ 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x4d, 0x41,
+ 0x47, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x5f, 0x53, 0x4b, 0x49, 0x4c,
+ 0x4c, 0x5f, 0x48, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillHpChangeType_proto_rawDescOnce sync.Once
+ file_GCGSkillHpChangeType_proto_rawDescData = file_GCGSkillHpChangeType_proto_rawDesc
+)
+
+func file_GCGSkillHpChangeType_proto_rawDescGZIP() []byte {
+ file_GCGSkillHpChangeType_proto_rawDescOnce.Do(func() {
+ file_GCGSkillHpChangeType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillHpChangeType_proto_rawDescData)
+ })
+ return file_GCGSkillHpChangeType_proto_rawDescData
+}
+
+var file_GCGSkillHpChangeType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGSkillHpChangeType_proto_goTypes = []interface{}{
+ (GCGSkillHpChangeType)(0), // 0: proto.GCGSkillHpChangeType
+}
+var file_GCGSkillHpChangeType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillHpChangeType_proto_init() }
+func file_GCGSkillHpChangeType_proto_init() {
+ if File_GCGSkillHpChangeType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillHpChangeType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillHpChangeType_proto_goTypes,
+ DependencyIndexes: file_GCGSkillHpChangeType_proto_depIdxs,
+ EnumInfos: file_GCGSkillHpChangeType_proto_enumTypes,
+ }.Build()
+ File_GCGSkillHpChangeType_proto = out.File
+ file_GCGSkillHpChangeType_proto_rawDesc = nil
+ file_GCGSkillHpChangeType_proto_goTypes = nil
+ file_GCGSkillHpChangeType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewAskReq.pb.go b/protocol/proto/GCGSkillPreviewAskReq.pb.go
new file mode 100644
index 00000000..7243b4a8
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewAskReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewAskReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7509
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGSkillPreviewAskReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GCGSkillPreviewAskReq) Reset() {
+ *x = GCGSkillPreviewAskReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewAskReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewAskReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewAskReq) ProtoMessage() {}
+
+func (x *GCGSkillPreviewAskReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewAskReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewAskReq.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewAskReq) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewAskReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGSkillPreviewAskReq_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewAskReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x41, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x41, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGSkillPreviewAskReq_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewAskReq_proto_rawDescData = file_GCGSkillPreviewAskReq_proto_rawDesc
+)
+
+func file_GCGSkillPreviewAskReq_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewAskReq_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewAskReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewAskReq_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewAskReq_proto_rawDescData
+}
+
+var file_GCGSkillPreviewAskReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewAskReq_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewAskReq)(nil), // 0: proto.GCGSkillPreviewAskReq
+}
+var file_GCGSkillPreviewAskReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewAskReq_proto_init() }
+func file_GCGSkillPreviewAskReq_proto_init() {
+ if File_GCGSkillPreviewAskReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewAskReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewAskReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewAskReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewAskReq_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewAskReq_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewAskReq_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewAskReq_proto = out.File
+ file_GCGSkillPreviewAskReq_proto_rawDesc = nil
+ file_GCGSkillPreviewAskReq_proto_goTypes = nil
+ file_GCGSkillPreviewAskReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewAskRsp.pb.go b/protocol/proto/GCGSkillPreviewAskRsp.pb.go
new file mode 100644
index 00000000..d26a4357
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewAskRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewAskRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7409
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGSkillPreviewAskRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGSkillPreviewAskRsp) Reset() {
+ *x = GCGSkillPreviewAskRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewAskRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewAskRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewAskRsp) ProtoMessage() {}
+
+func (x *GCGSkillPreviewAskRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewAskRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewAskRsp.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewAskRsp) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewAskRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewAskRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGSkillPreviewAskRsp_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewAskRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x41, 0x73, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x41, 0x73, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewAskRsp_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewAskRsp_proto_rawDescData = file_GCGSkillPreviewAskRsp_proto_rawDesc
+)
+
+func file_GCGSkillPreviewAskRsp_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewAskRsp_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewAskRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewAskRsp_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewAskRsp_proto_rawDescData
+}
+
+var file_GCGSkillPreviewAskRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewAskRsp_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewAskRsp)(nil), // 0: proto.GCGSkillPreviewAskRsp
+}
+var file_GCGSkillPreviewAskRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewAskRsp_proto_init() }
+func file_GCGSkillPreviewAskRsp_proto_init() {
+ if File_GCGSkillPreviewAskRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewAskRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewAskRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewAskRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewAskRsp_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewAskRsp_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewAskRsp_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewAskRsp_proto = out.File
+ file_GCGSkillPreviewAskRsp_proto_rawDesc = nil
+ file_GCGSkillPreviewAskRsp_proto_goTypes = nil
+ file_GCGSkillPreviewAskRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewCardInfo.pb.go b/protocol/proto/GCGSkillPreviewCardInfo.pb.go
new file mode 100644
index 00000000..b2d35163
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewCardInfo.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewCardInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillPreviewCardInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ControllerId uint32 `protobuf:"varint,3,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+ OwnerCardGuid uint32 `protobuf:"varint,11,opt,name=owner_card_guid,json=ownerCardGuid,proto3" json:"owner_card_guid,omitempty"`
+ ZoneType GCGZoneType `protobuf:"varint,14,opt,name=zone_type,json=zoneType,proto3,enum=proto.GCGZoneType" json:"zone_type,omitempty"`
+ CardId uint32 `protobuf:"varint,13,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ CardGuid uint32 `protobuf:"varint,6,opt,name=card_guid,json=cardGuid,proto3" json:"card_guid,omitempty"`
+}
+
+func (x *GCGSkillPreviewCardInfo) Reset() {
+ *x = GCGSkillPreviewCardInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewCardInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewCardInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewCardInfo) ProtoMessage() {}
+
+func (x *GCGSkillPreviewCardInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewCardInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewCardInfo.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewCardInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewCardInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewCardInfo) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewCardInfo) GetOwnerCardGuid() uint32 {
+ if x != nil {
+ return x.OwnerCardGuid
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewCardInfo) GetZoneType() GCGZoneType {
+ if x != nil {
+ return x.ZoneType
+ }
+ return GCGZoneType_GCG_ZONE_TYPE_INVALID
+}
+
+func (x *GCGSkillPreviewCardInfo) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewCardInfo) GetCardGuid() uint32 {
+ if x != nil {
+ return x.CardGuid
+ }
+ return 0
+}
+
+var File_GCGSkillPreviewCardInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewCardInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x01, 0x0a, 0x17, 0x47, 0x43,
+ 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x61, 0x72,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77,
+ 0x6e, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x7a, 0x6f, 0x6e, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x63, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewCardInfo_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewCardInfo_proto_rawDescData = file_GCGSkillPreviewCardInfo_proto_rawDesc
+)
+
+func file_GCGSkillPreviewCardInfo_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewCardInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewCardInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewCardInfo_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewCardInfo_proto_rawDescData
+}
+
+var file_GCGSkillPreviewCardInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewCardInfo_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewCardInfo)(nil), // 0: proto.GCGSkillPreviewCardInfo
+ (GCGZoneType)(0), // 1: proto.GCGZoneType
+}
+var file_GCGSkillPreviewCardInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSkillPreviewCardInfo.zone_type:type_name -> proto.GCGZoneType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewCardInfo_proto_init() }
+func file_GCGSkillPreviewCardInfo_proto_init() {
+ if File_GCGSkillPreviewCardInfo_proto != nil {
+ return
+ }
+ file_GCGZoneType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewCardInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewCardInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewCardInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewCardInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewCardInfo_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewCardInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewCardInfo_proto = out.File
+ file_GCGSkillPreviewCardInfo_proto_rawDesc = nil
+ file_GCGSkillPreviewCardInfo_proto_goTypes = nil
+ file_GCGSkillPreviewCardInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewElementReactionInfo.pb.go b/protocol/proto/GCGSkillPreviewElementReactionInfo.pb.go
new file mode 100644
index 00000000..e2e93b95
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewElementReactionInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewElementReactionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillPreviewElementReactionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FreshList []uint32 `protobuf:"varint,8,rep,packed,name=fresh_list,json=freshList,proto3" json:"fresh_list,omitempty"`
+ SourceList []uint32 `protobuf:"varint,2,rep,packed,name=source_list,json=sourceList,proto3" json:"source_list,omitempty"`
+ ReactionList []*GCGSkillPreviewReactionInfo `protobuf:"bytes,14,rep,name=reaction_list,json=reactionList,proto3" json:"reaction_list,omitempty"`
+}
+
+func (x *GCGSkillPreviewElementReactionInfo) Reset() {
+ *x = GCGSkillPreviewElementReactionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewElementReactionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewElementReactionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewElementReactionInfo) ProtoMessage() {}
+
+func (x *GCGSkillPreviewElementReactionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewElementReactionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewElementReactionInfo.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewElementReactionInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewElementReactionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewElementReactionInfo) GetFreshList() []uint32 {
+ if x != nil {
+ return x.FreshList
+ }
+ return nil
+}
+
+func (x *GCGSkillPreviewElementReactionInfo) GetSourceList() []uint32 {
+ if x != nil {
+ return x.SourceList
+ }
+ return nil
+}
+
+func (x *GCGSkillPreviewElementReactionInfo) GetReactionList() []*GCGSkillPreviewReactionInfo {
+ if x != nil {
+ return x.ReactionList
+ }
+ return nil
+}
+
+var File_GCGSkillPreviewElementReactionInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewElementReactionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x21, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69,
+ 0x65, 0x77, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x22, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52,
+ 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x09, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0d, 0x72,
+ 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewElementReactionInfo_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewElementReactionInfo_proto_rawDescData = file_GCGSkillPreviewElementReactionInfo_proto_rawDesc
+)
+
+func file_GCGSkillPreviewElementReactionInfo_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewElementReactionInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewElementReactionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewElementReactionInfo_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewElementReactionInfo_proto_rawDescData
+}
+
+var file_GCGSkillPreviewElementReactionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewElementReactionInfo_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewElementReactionInfo)(nil), // 0: proto.GCGSkillPreviewElementReactionInfo
+ (*GCGSkillPreviewReactionInfo)(nil), // 1: proto.GCGSkillPreviewReactionInfo
+}
+var file_GCGSkillPreviewElementReactionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSkillPreviewElementReactionInfo.reaction_list:type_name -> proto.GCGSkillPreviewReactionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewElementReactionInfo_proto_init() }
+func file_GCGSkillPreviewElementReactionInfo_proto_init() {
+ if File_GCGSkillPreviewElementReactionInfo_proto != nil {
+ return
+ }
+ file_GCGSkillPreviewReactionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewElementReactionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewElementReactionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewElementReactionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewElementReactionInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewElementReactionInfo_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewElementReactionInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewElementReactionInfo_proto = out.File
+ file_GCGSkillPreviewElementReactionInfo_proto_rawDesc = nil
+ file_GCGSkillPreviewElementReactionInfo_proto_goTypes = nil
+ file_GCGSkillPreviewElementReactionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewHpInfo.pb.go b/protocol/proto/GCGSkillPreviewHpInfo.pb.go
new file mode 100644
index 00000000..dc75845d
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewHpInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewHpInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillPreviewHpInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChangeType GCGSkillHpChangeType `protobuf:"varint,4,opt,name=change_type,json=changeType,proto3,enum=proto.GCGSkillHpChangeType" json:"change_type,omitempty"`
+ HpChangeValue uint32 `protobuf:"varint,13,opt,name=hp_change_value,json=hpChangeValue,proto3" json:"hp_change_value,omitempty"`
+}
+
+func (x *GCGSkillPreviewHpInfo) Reset() {
+ *x = GCGSkillPreviewHpInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewHpInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewHpInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewHpInfo) ProtoMessage() {}
+
+func (x *GCGSkillPreviewHpInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewHpInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewHpInfo.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewHpInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewHpInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewHpInfo) GetChangeType() GCGSkillHpChangeType {
+ if x != nil {
+ return x.ChangeType
+ }
+ return GCGSkillHpChangeType_GCG_SKILL_HP_CHANGE_TYPE_NONE
+}
+
+func (x *GCGSkillPreviewHpInfo) GetHpChangeValue() uint32 {
+ if x != nil {
+ return x.HpChangeValue
+ }
+ return 0
+}
+
+var File_GCGSkillPreviewHpInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewHpInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x48, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x48, 0x70,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x7d, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76,
+ 0x69, 0x65, 0x77, 0x48, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3c, 0x0a, 0x0b, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x48,
+ 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x70, 0x5f, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x68, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewHpInfo_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewHpInfo_proto_rawDescData = file_GCGSkillPreviewHpInfo_proto_rawDesc
+)
+
+func file_GCGSkillPreviewHpInfo_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewHpInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewHpInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewHpInfo_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewHpInfo_proto_rawDescData
+}
+
+var file_GCGSkillPreviewHpInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewHpInfo_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewHpInfo)(nil), // 0: proto.GCGSkillPreviewHpInfo
+ (GCGSkillHpChangeType)(0), // 1: proto.GCGSkillHpChangeType
+}
+var file_GCGSkillPreviewHpInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSkillPreviewHpInfo.change_type:type_name -> proto.GCGSkillHpChangeType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewHpInfo_proto_init() }
+func file_GCGSkillPreviewHpInfo_proto_init() {
+ if File_GCGSkillPreviewHpInfo_proto != nil {
+ return
+ }
+ file_GCGSkillHpChangeType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewHpInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewHpInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewHpInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewHpInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewHpInfo_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewHpInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewHpInfo_proto = out.File
+ file_GCGSkillPreviewHpInfo_proto_rawDesc = nil
+ file_GCGSkillPreviewHpInfo_proto_goTypes = nil
+ file_GCGSkillPreviewHpInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewInfo.pb.go b/protocol/proto/GCGSkillPreviewInfo.pb.go
new file mode 100644
index 00000000..db2d765c
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewInfo.pb.go
@@ -0,0 +1,292 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillPreviewInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RmCardList []*GCGSkillPreviewCardInfo `protobuf:"bytes,12,rep,name=rm_card_list,json=rmCardList,proto3" json:"rm_card_list,omitempty"`
+ HpInfoMap map[uint32]*GCGSkillPreviewHpInfo `protobuf:"bytes,8,rep,name=hp_info_map,json=hpInfoMap,proto3" json:"hp_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ ReactionInfoMap map[uint32]*GCGSkillPreviewElementReactionInfo `protobuf:"bytes,5,rep,name=reaction_info_map,json=reactionInfoMap,proto3" json:"reaction_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ ChangeOnstageCharacterList []*GCGSkillPreviewOnstageChangeInfo `protobuf:"bytes,9,rep,name=change_onstage_character_list,json=changeOnstageCharacterList,proto3" json:"change_onstage_character_list,omitempty"`
+ SkillId uint32 `protobuf:"varint,6,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ CardTokenChangeMap map[uint32]*GCGSkillPreviewTokenChangeInfo `protobuf:"bytes,3,rep,name=card_token_change_map,json=cardTokenChangeMap,proto3" json:"card_token_change_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ AddCardList []*GCGSkillPreviewCardInfo `protobuf:"bytes,11,rep,name=add_card_list,json=addCardList,proto3" json:"add_card_list,omitempty"`
+}
+
+func (x *GCGSkillPreviewInfo) Reset() {
+ *x = GCGSkillPreviewInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewInfo) ProtoMessage() {}
+
+func (x *GCGSkillPreviewInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewInfo.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewInfo) GetRmCardList() []*GCGSkillPreviewCardInfo {
+ if x != nil {
+ return x.RmCardList
+ }
+ return nil
+}
+
+func (x *GCGSkillPreviewInfo) GetHpInfoMap() map[uint32]*GCGSkillPreviewHpInfo {
+ if x != nil {
+ return x.HpInfoMap
+ }
+ return nil
+}
+
+func (x *GCGSkillPreviewInfo) GetReactionInfoMap() map[uint32]*GCGSkillPreviewElementReactionInfo {
+ if x != nil {
+ return x.ReactionInfoMap
+ }
+ return nil
+}
+
+func (x *GCGSkillPreviewInfo) GetChangeOnstageCharacterList() []*GCGSkillPreviewOnstageChangeInfo {
+ if x != nil {
+ return x.ChangeOnstageCharacterList
+ }
+ return nil
+}
+
+func (x *GCGSkillPreviewInfo) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewInfo) GetCardTokenChangeMap() map[uint32]*GCGSkillPreviewTokenChangeInfo {
+ if x != nil {
+ return x.CardTokenChangeMap
+ }
+ return nil
+}
+
+func (x *GCGSkillPreviewInfo) GetAddCardList() []*GCGSkillPreviewCardInfo {
+ if x != nil {
+ return x.AddCardList
+ }
+ return nil
+}
+
+var File_GCGSkillPreviewInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1d, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76,
+ 0x69, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x28, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69,
+ 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x47, 0x43, 0x47,
+ 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x48, 0x70, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x24, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xea, 0x06, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40,
+ 0x0a, 0x0c, 0x72, 0x6d, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x72, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x49, 0x0a, 0x0b, 0x68, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x48, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x09, 0x68, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x5b, 0x0a, 0x11, 0x72,
+ 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x6a, 0x0a, 0x1d, 0x63, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61,
+ 0x63, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x4f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12,
+ 0x65, 0x0a, 0x15, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50,
+ 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x54,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x12, 0x63, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x42, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x61,
+ 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72,
+ 0x65, 0x76, 0x69, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61,
+ 0x64, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x5a, 0x0a, 0x0e, 0x48, 0x70,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72,
+ 0x65, 0x76, 0x69, 0x65, 0x77, 0x48, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6d, 0x0a, 0x14, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6c, 0x0a, 0x17, 0x43, 0x61, 0x72, 0x64, 0x54, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewInfo_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewInfo_proto_rawDescData = file_GCGSkillPreviewInfo_proto_rawDesc
+)
+
+func file_GCGSkillPreviewInfo_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewInfo_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewInfo_proto_rawDescData
+}
+
+var file_GCGSkillPreviewInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_GCGSkillPreviewInfo_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewInfo)(nil), // 0: proto.GCGSkillPreviewInfo
+ nil, // 1: proto.GCGSkillPreviewInfo.HpInfoMapEntry
+ nil, // 2: proto.GCGSkillPreviewInfo.ReactionInfoMapEntry
+ nil, // 3: proto.GCGSkillPreviewInfo.CardTokenChangeMapEntry
+ (*GCGSkillPreviewCardInfo)(nil), // 4: proto.GCGSkillPreviewCardInfo
+ (*GCGSkillPreviewOnstageChangeInfo)(nil), // 5: proto.GCGSkillPreviewOnstageChangeInfo
+ (*GCGSkillPreviewHpInfo)(nil), // 6: proto.GCGSkillPreviewHpInfo
+ (*GCGSkillPreviewElementReactionInfo)(nil), // 7: proto.GCGSkillPreviewElementReactionInfo
+ (*GCGSkillPreviewTokenChangeInfo)(nil), // 8: proto.GCGSkillPreviewTokenChangeInfo
+}
+var file_GCGSkillPreviewInfo_proto_depIdxs = []int32{
+ 4, // 0: proto.GCGSkillPreviewInfo.rm_card_list:type_name -> proto.GCGSkillPreviewCardInfo
+ 1, // 1: proto.GCGSkillPreviewInfo.hp_info_map:type_name -> proto.GCGSkillPreviewInfo.HpInfoMapEntry
+ 2, // 2: proto.GCGSkillPreviewInfo.reaction_info_map:type_name -> proto.GCGSkillPreviewInfo.ReactionInfoMapEntry
+ 5, // 3: proto.GCGSkillPreviewInfo.change_onstage_character_list:type_name -> proto.GCGSkillPreviewOnstageChangeInfo
+ 3, // 4: proto.GCGSkillPreviewInfo.card_token_change_map:type_name -> proto.GCGSkillPreviewInfo.CardTokenChangeMapEntry
+ 4, // 5: proto.GCGSkillPreviewInfo.add_card_list:type_name -> proto.GCGSkillPreviewCardInfo
+ 6, // 6: proto.GCGSkillPreviewInfo.HpInfoMapEntry.value:type_name -> proto.GCGSkillPreviewHpInfo
+ 7, // 7: proto.GCGSkillPreviewInfo.ReactionInfoMapEntry.value:type_name -> proto.GCGSkillPreviewElementReactionInfo
+ 8, // 8: proto.GCGSkillPreviewInfo.CardTokenChangeMapEntry.value:type_name -> proto.GCGSkillPreviewTokenChangeInfo
+ 9, // [9:9] is the sub-list for method output_type
+ 9, // [9:9] is the sub-list for method input_type
+ 9, // [9:9] is the sub-list for extension type_name
+ 9, // [9:9] is the sub-list for extension extendee
+ 0, // [0:9] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewInfo_proto_init() }
+func file_GCGSkillPreviewInfo_proto_init() {
+ if File_GCGSkillPreviewInfo_proto != nil {
+ return
+ }
+ file_GCGSkillPreviewCardInfo_proto_init()
+ file_GCGSkillPreviewElementReactionInfo_proto_init()
+ file_GCGSkillPreviewHpInfo_proto_init()
+ file_GCGSkillPreviewOnstageChangeInfo_proto_init()
+ file_GCGSkillPreviewTokenChangeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewInfo_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewInfo_proto = out.File
+ file_GCGSkillPreviewInfo_proto_rawDesc = nil
+ file_GCGSkillPreviewInfo_proto_goTypes = nil
+ file_GCGSkillPreviewInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewNotify.pb.go b/protocol/proto/GCGSkillPreviewNotify.pb.go
new file mode 100644
index 00000000..96e93275
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewNotify.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7503
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGSkillPreviewNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillPreviewList []*GCGSkillPreviewInfo `protobuf:"bytes,9,rep,name=skill_preview_list,json=skillPreviewList,proto3" json:"skill_preview_list,omitempty"`
+ OnstageCardGuid uint32 `protobuf:"varint,5,opt,name=onstage_card_guid,json=onstageCardGuid,proto3" json:"onstage_card_guid,omitempty"`
+ ControllerId uint32 `protobuf:"varint,15,opt,name=controller_id,json=controllerId,proto3" json:"controller_id,omitempty"`
+}
+
+func (x *GCGSkillPreviewNotify) Reset() {
+ *x = GCGSkillPreviewNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewNotify) ProtoMessage() {}
+
+func (x *GCGSkillPreviewNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewNotify.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewNotify) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewNotify) GetSkillPreviewList() []*GCGSkillPreviewInfo {
+ if x != nil {
+ return x.SkillPreviewList
+ }
+ return nil
+}
+
+func (x *GCGSkillPreviewNotify) GetOnstageCardGuid() uint32 {
+ if x != nil {
+ return x.OnstageCardGuid
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewNotify) GetControllerId() uint32 {
+ if x != nil {
+ return x.ControllerId
+ }
+ return 0
+}
+
+var File_GCGSkillPreviewNotify_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72,
+ 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb2, 0x01, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76,
+ 0x69, 0x65, 0x77, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x48, 0x0a, 0x12, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43,
+ 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x12,
+ 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewNotify_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewNotify_proto_rawDescData = file_GCGSkillPreviewNotify_proto_rawDesc
+)
+
+func file_GCGSkillPreviewNotify_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewNotify_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewNotify_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewNotify_proto_rawDescData
+}
+
+var file_GCGSkillPreviewNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewNotify_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewNotify)(nil), // 0: proto.GCGSkillPreviewNotify
+ (*GCGSkillPreviewInfo)(nil), // 1: proto.GCGSkillPreviewInfo
+}
+var file_GCGSkillPreviewNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSkillPreviewNotify.skill_preview_list:type_name -> proto.GCGSkillPreviewInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewNotify_proto_init() }
+func file_GCGSkillPreviewNotify_proto_init() {
+ if File_GCGSkillPreviewNotify_proto != nil {
+ return
+ }
+ file_GCGSkillPreviewInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewNotify_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewNotify_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewNotify_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewNotify_proto = out.File
+ file_GCGSkillPreviewNotify_proto_rawDesc = nil
+ file_GCGSkillPreviewNotify_proto_goTypes = nil
+ file_GCGSkillPreviewNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewOnstageChangeInfo.pb.go b/protocol/proto/GCGSkillPreviewOnstageChangeInfo.pb.go
new file mode 100644
index 00000000..211359f2
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewOnstageChangeInfo.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewOnstageChangeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillPreviewOnstageChangeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetOnstageCardGuid uint32 `protobuf:"varint,6,opt,name=target_onstage_card_guid,json=targetOnstageCardGuid,proto3" json:"target_onstage_card_guid,omitempty"`
+ SourceOnstageCardGuid uint32 `protobuf:"varint,15,opt,name=source_onstage_card_guid,json=sourceOnstageCardGuid,proto3" json:"source_onstage_card_guid,omitempty"`
+}
+
+func (x *GCGSkillPreviewOnstageChangeInfo) Reset() {
+ *x = GCGSkillPreviewOnstageChangeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewOnstageChangeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewOnstageChangeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewOnstageChangeInfo) ProtoMessage() {}
+
+func (x *GCGSkillPreviewOnstageChangeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewOnstageChangeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewOnstageChangeInfo.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewOnstageChangeInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewOnstageChangeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewOnstageChangeInfo) GetTargetOnstageCardGuid() uint32 {
+ if x != nil {
+ return x.TargetOnstageCardGuid
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewOnstageChangeInfo) GetSourceOnstageCardGuid() uint32 {
+ if x != nil {
+ return x.SourceOnstageCardGuid
+ }
+ return 0
+}
+
+var File_GCGSkillPreviewOnstageChangeInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewOnstageChangeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x4f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x94, 0x01, 0x0a, 0x20, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76,
+ 0x69, 0x65, 0x77, 0x4f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6f,
+ 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, 0x6e,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x12, 0x37, 0x0a,
+ 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61,
+ 0x72, 0x64, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewOnstageChangeInfo_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewOnstageChangeInfo_proto_rawDescData = file_GCGSkillPreviewOnstageChangeInfo_proto_rawDesc
+)
+
+func file_GCGSkillPreviewOnstageChangeInfo_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewOnstageChangeInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewOnstageChangeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewOnstageChangeInfo_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewOnstageChangeInfo_proto_rawDescData
+}
+
+var file_GCGSkillPreviewOnstageChangeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewOnstageChangeInfo_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewOnstageChangeInfo)(nil), // 0: proto.GCGSkillPreviewOnstageChangeInfo
+}
+var file_GCGSkillPreviewOnstageChangeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewOnstageChangeInfo_proto_init() }
+func file_GCGSkillPreviewOnstageChangeInfo_proto_init() {
+ if File_GCGSkillPreviewOnstageChangeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewOnstageChangeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewOnstageChangeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewOnstageChangeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewOnstageChangeInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewOnstageChangeInfo_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewOnstageChangeInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewOnstageChangeInfo_proto = out.File
+ file_GCGSkillPreviewOnstageChangeInfo_proto_rawDesc = nil
+ file_GCGSkillPreviewOnstageChangeInfo_proto_goTypes = nil
+ file_GCGSkillPreviewOnstageChangeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewReactionInfo.pb.go b/protocol/proto/GCGSkillPreviewReactionInfo.pb.go
new file mode 100644
index 00000000..81d7d823
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewReactionInfo.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewReactionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillPreviewReactionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SourceElement uint32 `protobuf:"varint,13,opt,name=source_element,json=sourceElement,proto3" json:"source_element,omitempty"`
+ TargetElement uint32 `protobuf:"varint,1,opt,name=target_element,json=targetElement,proto3" json:"target_element,omitempty"`
+}
+
+func (x *GCGSkillPreviewReactionInfo) Reset() {
+ *x = GCGSkillPreviewReactionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewReactionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewReactionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewReactionInfo) ProtoMessage() {}
+
+func (x *GCGSkillPreviewReactionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewReactionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewReactionInfo.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewReactionInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewReactionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewReactionInfo) GetSourceElement() uint32 {
+ if x != nil {
+ return x.SourceElement
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewReactionInfo) GetTargetElement() uint32 {
+ if x != nil {
+ return x.TargetElement
+ }
+ return 0
+}
+
+var File_GCGSkillPreviewReactionInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewReactionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x1b, 0x47, 0x43,
+ 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewReactionInfo_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewReactionInfo_proto_rawDescData = file_GCGSkillPreviewReactionInfo_proto_rawDesc
+)
+
+func file_GCGSkillPreviewReactionInfo_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewReactionInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewReactionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewReactionInfo_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewReactionInfo_proto_rawDescData
+}
+
+var file_GCGSkillPreviewReactionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewReactionInfo_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewReactionInfo)(nil), // 0: proto.GCGSkillPreviewReactionInfo
+}
+var file_GCGSkillPreviewReactionInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewReactionInfo_proto_init() }
+func file_GCGSkillPreviewReactionInfo_proto_init() {
+ if File_GCGSkillPreviewReactionInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewReactionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewReactionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewReactionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewReactionInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewReactionInfo_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewReactionInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewReactionInfo_proto = out.File
+ file_GCGSkillPreviewReactionInfo_proto_rawDesc = nil
+ file_GCGSkillPreviewReactionInfo_proto_goTypes = nil
+ file_GCGSkillPreviewReactionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewTokenChangeInfo.pb.go b/protocol/proto/GCGSkillPreviewTokenChangeInfo.pb.go
new file mode 100644
index 00000000..447ca3cb
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewTokenChangeInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewTokenChangeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillPreviewTokenChangeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TokenChangeList []*GCGSkillPreviewTokenInfo `protobuf:"bytes,14,rep,name=token_change_list,json=tokenChangeList,proto3" json:"token_change_list,omitempty"`
+}
+
+func (x *GCGSkillPreviewTokenChangeInfo) Reset() {
+ *x = GCGSkillPreviewTokenChangeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewTokenChangeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewTokenChangeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewTokenChangeInfo) ProtoMessage() {}
+
+func (x *GCGSkillPreviewTokenChangeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewTokenChangeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewTokenChangeInfo.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewTokenChangeInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewTokenChangeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewTokenChangeInfo) GetTokenChangeList() []*GCGSkillPreviewTokenInfo {
+ if x != nil {
+ return x.TokenChangeList
+ }
+ return nil
+}
+
+var File_GCGSkillPreviewTokenChangeInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewTokenChangeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x47,
+ 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a,
+ 0x1e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77,
+ 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x4b, 0x0a, 0x11, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69,
+ 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewTokenChangeInfo_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewTokenChangeInfo_proto_rawDescData = file_GCGSkillPreviewTokenChangeInfo_proto_rawDesc
+)
+
+func file_GCGSkillPreviewTokenChangeInfo_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewTokenChangeInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewTokenChangeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewTokenChangeInfo_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewTokenChangeInfo_proto_rawDescData
+}
+
+var file_GCGSkillPreviewTokenChangeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewTokenChangeInfo_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewTokenChangeInfo)(nil), // 0: proto.GCGSkillPreviewTokenChangeInfo
+ (*GCGSkillPreviewTokenInfo)(nil), // 1: proto.GCGSkillPreviewTokenInfo
+}
+var file_GCGSkillPreviewTokenChangeInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGSkillPreviewTokenChangeInfo.token_change_list:type_name -> proto.GCGSkillPreviewTokenInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewTokenChangeInfo_proto_init() }
+func file_GCGSkillPreviewTokenChangeInfo_proto_init() {
+ if File_GCGSkillPreviewTokenChangeInfo_proto != nil {
+ return
+ }
+ file_GCGSkillPreviewTokenInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewTokenChangeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewTokenChangeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewTokenChangeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewTokenChangeInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewTokenChangeInfo_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewTokenChangeInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewTokenChangeInfo_proto = out.File
+ file_GCGSkillPreviewTokenChangeInfo_proto_rawDesc = nil
+ file_GCGSkillPreviewTokenChangeInfo_proto_goTypes = nil
+ file_GCGSkillPreviewTokenChangeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGSkillPreviewTokenInfo.pb.go b/protocol/proto/GCGSkillPreviewTokenInfo.pb.go
new file mode 100644
index 00000000..2366fcaf
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewTokenInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGSkillPreviewTokenInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGSkillPreviewTokenInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TokenType uint32 `protobuf:"varint,3,opt,name=token_type,json=tokenType,proto3" json:"token_type,omitempty"`
+ AfterValue uint32 `protobuf:"varint,12,opt,name=after_value,json=afterValue,proto3" json:"after_value,omitempty"`
+ BeforeValue uint32 `protobuf:"varint,15,opt,name=before_value,json=beforeValue,proto3" json:"before_value,omitempty"`
+}
+
+func (x *GCGSkillPreviewTokenInfo) Reset() {
+ *x = GCGSkillPreviewTokenInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGSkillPreviewTokenInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGSkillPreviewTokenInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGSkillPreviewTokenInfo) ProtoMessage() {}
+
+func (x *GCGSkillPreviewTokenInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGSkillPreviewTokenInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGSkillPreviewTokenInfo.ProtoReflect.Descriptor instead.
+func (*GCGSkillPreviewTokenInfo) Descriptor() ([]byte, []int) {
+ return file_GCGSkillPreviewTokenInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGSkillPreviewTokenInfo) GetTokenType() uint32 {
+ if x != nil {
+ return x.TokenType
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewTokenInfo) GetAfterValue() uint32 {
+ if x != nil {
+ return x.AfterValue
+ }
+ return 0
+}
+
+func (x *GCGSkillPreviewTokenInfo) GetBeforeValue() uint32 {
+ if x != nil {
+ return x.BeforeValue
+ }
+ return 0
+}
+
+var File_GCGSkillPreviewTokenInfo_proto protoreflect.FileDescriptor
+
+var file_GCGSkillPreviewTokenInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x43, 0x47, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x66, 0x74, 0x65, 0x72, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x65, 0x66, 0x6f, 0x72,
+ 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGSkillPreviewTokenInfo_proto_rawDescOnce sync.Once
+ file_GCGSkillPreviewTokenInfo_proto_rawDescData = file_GCGSkillPreviewTokenInfo_proto_rawDesc
+)
+
+func file_GCGSkillPreviewTokenInfo_proto_rawDescGZIP() []byte {
+ file_GCGSkillPreviewTokenInfo_proto_rawDescOnce.Do(func() {
+ file_GCGSkillPreviewTokenInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGSkillPreviewTokenInfo_proto_rawDescData)
+ })
+ return file_GCGSkillPreviewTokenInfo_proto_rawDescData
+}
+
+var file_GCGSkillPreviewTokenInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGSkillPreviewTokenInfo_proto_goTypes = []interface{}{
+ (*GCGSkillPreviewTokenInfo)(nil), // 0: proto.GCGSkillPreviewTokenInfo
+}
+var file_GCGSkillPreviewTokenInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGSkillPreviewTokenInfo_proto_init() }
+func file_GCGSkillPreviewTokenInfo_proto_init() {
+ if File_GCGSkillPreviewTokenInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGSkillPreviewTokenInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGSkillPreviewTokenInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGSkillPreviewTokenInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGSkillPreviewTokenInfo_proto_goTypes,
+ DependencyIndexes: file_GCGSkillPreviewTokenInfo_proto_depIdxs,
+ MessageInfos: file_GCGSkillPreviewTokenInfo_proto_msgTypes,
+ }.Build()
+ File_GCGSkillPreviewTokenInfo_proto = out.File
+ file_GCGSkillPreviewTokenInfo_proto_rawDesc = nil
+ file_GCGSkillPreviewTokenInfo_proto_goTypes = nil
+ file_GCGSkillPreviewTokenInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGStartChallengeReq.pb.go b/protocol/proto/GCGStartChallengeReq.pb.go
new file mode 100644
index 00000000..66e05ee1
--- /dev/null
+++ b/protocol/proto/GCGStartChallengeReq.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGStartChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7595
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGStartChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelType GCGLevelType `protobuf:"varint,5,opt,name=level_type,json=levelType,proto3,enum=proto.GCGLevelType" json:"level_type,omitempty"`
+ ConfigId uint32 `protobuf:"varint,13,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,12,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *GCGStartChallengeReq) Reset() {
+ *x = GCGStartChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGStartChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGStartChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGStartChallengeReq) ProtoMessage() {}
+
+func (x *GCGStartChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGStartChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGStartChallengeReq.ProtoReflect.Descriptor instead.
+func (*GCGStartChallengeReq) Descriptor() ([]byte, []int) {
+ return file_GCGStartChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGStartChallengeReq) GetLevelType() GCGLevelType {
+ if x != nil {
+ return x.LevelType
+ }
+ return GCGLevelType_GCG_LEVEL_TYPE_NONE
+}
+
+func (x *GCGStartChallengeReq) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *GCGStartChallengeReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_GCGStartChallengeReq_proto protoreflect.FileDescriptor
+
+var file_GCGStartChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71,
+ 0x12, 0x32, 0x0a, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGStartChallengeReq_proto_rawDescOnce sync.Once
+ file_GCGStartChallengeReq_proto_rawDescData = file_GCGStartChallengeReq_proto_rawDesc
+)
+
+func file_GCGStartChallengeReq_proto_rawDescGZIP() []byte {
+ file_GCGStartChallengeReq_proto_rawDescOnce.Do(func() {
+ file_GCGStartChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGStartChallengeReq_proto_rawDescData)
+ })
+ return file_GCGStartChallengeReq_proto_rawDescData
+}
+
+var file_GCGStartChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGStartChallengeReq_proto_goTypes = []interface{}{
+ (*GCGStartChallengeReq)(nil), // 0: proto.GCGStartChallengeReq
+ (GCGLevelType)(0), // 1: proto.GCGLevelType
+}
+var file_GCGStartChallengeReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGStartChallengeReq.level_type:type_name -> proto.GCGLevelType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGStartChallengeReq_proto_init() }
+func file_GCGStartChallengeReq_proto_init() {
+ if File_GCGStartChallengeReq_proto != nil {
+ return
+ }
+ file_GCGLevelType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGStartChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGStartChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGStartChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGStartChallengeReq_proto_goTypes,
+ DependencyIndexes: file_GCGStartChallengeReq_proto_depIdxs,
+ MessageInfos: file_GCGStartChallengeReq_proto_msgTypes,
+ }.Build()
+ File_GCGStartChallengeReq_proto = out.File
+ file_GCGStartChallengeReq_proto_rawDesc = nil
+ file_GCGStartChallengeReq_proto_goTypes = nil
+ file_GCGStartChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGStartChallengeRsp.pb.go b/protocol/proto/GCGStartChallengeRsp.pb.go
new file mode 100644
index 00000000..7d84923f
--- /dev/null
+++ b/protocol/proto/GCGStartChallengeRsp.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGStartChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7763
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGStartChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelType GCGLevelType `protobuf:"varint,12,opt,name=level_type,json=levelType,proto3,enum=proto.GCGLevelType" json:"level_type,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ConfigId uint32 `protobuf:"varint,6,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,1,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *GCGStartChallengeRsp) Reset() {
+ *x = GCGStartChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGStartChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGStartChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGStartChallengeRsp) ProtoMessage() {}
+
+func (x *GCGStartChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGStartChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGStartChallengeRsp.ProtoReflect.Descriptor instead.
+func (*GCGStartChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_GCGStartChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGStartChallengeRsp) GetLevelType() GCGLevelType {
+ if x != nil {
+ return x.LevelType
+ }
+ return GCGLevelType_GCG_LEVEL_TYPE_NONE
+}
+
+func (x *GCGStartChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GCGStartChallengeRsp) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *GCGStartChallengeRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_GCGStartChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_GCGStartChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x47, 0x43, 0x47, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70,
+ 0x12, 0x32, 0x0a, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGStartChallengeRsp_proto_rawDescOnce sync.Once
+ file_GCGStartChallengeRsp_proto_rawDescData = file_GCGStartChallengeRsp_proto_rawDesc
+)
+
+func file_GCGStartChallengeRsp_proto_rawDescGZIP() []byte {
+ file_GCGStartChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_GCGStartChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGStartChallengeRsp_proto_rawDescData)
+ })
+ return file_GCGStartChallengeRsp_proto_rawDescData
+}
+
+var file_GCGStartChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGStartChallengeRsp_proto_goTypes = []interface{}{
+ (*GCGStartChallengeRsp)(nil), // 0: proto.GCGStartChallengeRsp
+ (GCGLevelType)(0), // 1: proto.GCGLevelType
+}
+var file_GCGStartChallengeRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGStartChallengeRsp.level_type:type_name -> proto.GCGLevelType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGStartChallengeRsp_proto_init() }
+func file_GCGStartChallengeRsp_proto_init() {
+ if File_GCGStartChallengeRsp_proto != nil {
+ return
+ }
+ file_GCGLevelType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGStartChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGStartChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGStartChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGStartChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_GCGStartChallengeRsp_proto_depIdxs,
+ MessageInfos: file_GCGStartChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_GCGStartChallengeRsp_proto = out.File
+ file_GCGStartChallengeRsp_proto_rawDesc = nil
+ file_GCGStartChallengeRsp_proto_goTypes = nil
+ file_GCGStartChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGTCInviteReq.pb.go b/protocol/proto/GCGTCInviteReq.pb.go
new file mode 100644
index 00000000..f386016f
--- /dev/null
+++ b/protocol/proto/GCGTCInviteReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGTCInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7922
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GCGTCInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,3,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ CharacterId uint32 `protobuf:"varint,6,opt,name=character_id,json=characterId,proto3" json:"character_id,omitempty"`
+}
+
+func (x *GCGTCInviteReq) Reset() {
+ *x = GCGTCInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGTCInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGTCInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGTCInviteReq) ProtoMessage() {}
+
+func (x *GCGTCInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGTCInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGTCInviteReq.ProtoReflect.Descriptor instead.
+func (*GCGTCInviteReq) Descriptor() ([]byte, []int) {
+ return file_GCGTCInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGTCInviteReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *GCGTCInviteReq) GetCharacterId() uint32 {
+ if x != nil {
+ return x.CharacterId
+ }
+ return 0
+}
+
+var File_GCGTCInviteReq_proto protoreflect.FileDescriptor
+
+var file_GCGTCInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x54, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a,
+ 0x0e, 0x47, 0x43, 0x47, 0x54, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68,
+ 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGTCInviteReq_proto_rawDescOnce sync.Once
+ file_GCGTCInviteReq_proto_rawDescData = file_GCGTCInviteReq_proto_rawDesc
+)
+
+func file_GCGTCInviteReq_proto_rawDescGZIP() []byte {
+ file_GCGTCInviteReq_proto_rawDescOnce.Do(func() {
+ file_GCGTCInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGTCInviteReq_proto_rawDescData)
+ })
+ return file_GCGTCInviteReq_proto_rawDescData
+}
+
+var file_GCGTCInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGTCInviteReq_proto_goTypes = []interface{}{
+ (*GCGTCInviteReq)(nil), // 0: proto.GCGTCInviteReq
+}
+var file_GCGTCInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGTCInviteReq_proto_init() }
+func file_GCGTCInviteReq_proto_init() {
+ if File_GCGTCInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGTCInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGTCInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGTCInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGTCInviteReq_proto_goTypes,
+ DependencyIndexes: file_GCGTCInviteReq_proto_depIdxs,
+ MessageInfos: file_GCGTCInviteReq_proto_msgTypes,
+ }.Build()
+ File_GCGTCInviteReq_proto = out.File
+ file_GCGTCInviteReq_proto_rawDesc = nil
+ file_GCGTCInviteReq_proto_goTypes = nil
+ file_GCGTCInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGTCInviteRsp.pb.go b/protocol/proto/GCGTCInviteRsp.pb.go
new file mode 100644
index 00000000..e81c1d42
--- /dev/null
+++ b/protocol/proto/GCGTCInviteRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGTCInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7328
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGTCInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CharacterId uint32 `protobuf:"varint,12,opt,name=character_id,json=characterId,proto3" json:"character_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GCGTCInviteRsp) Reset() {
+ *x = GCGTCInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGTCInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGTCInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGTCInviteRsp) ProtoMessage() {}
+
+func (x *GCGTCInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGTCInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGTCInviteRsp.ProtoReflect.Descriptor instead.
+func (*GCGTCInviteRsp) Descriptor() ([]byte, []int) {
+ return file_GCGTCInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGTCInviteRsp) GetCharacterId() uint32 {
+ if x != nil {
+ return x.CharacterId
+ }
+ return 0
+}
+
+func (x *GCGTCInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GCGTCInviteRsp_proto protoreflect.FileDescriptor
+
+var file_GCGTCInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x43, 0x47, 0x54, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a,
+ 0x0e, 0x47, 0x43, 0x47, 0x54, 0x43, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12,
+ 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGTCInviteRsp_proto_rawDescOnce sync.Once
+ file_GCGTCInviteRsp_proto_rawDescData = file_GCGTCInviteRsp_proto_rawDesc
+)
+
+func file_GCGTCInviteRsp_proto_rawDescGZIP() []byte {
+ file_GCGTCInviteRsp_proto_rawDescOnce.Do(func() {
+ file_GCGTCInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGTCInviteRsp_proto_rawDescData)
+ })
+ return file_GCGTCInviteRsp_proto_rawDescData
+}
+
+var file_GCGTCInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGTCInviteRsp_proto_goTypes = []interface{}{
+ (*GCGTCInviteRsp)(nil), // 0: proto.GCGTCInviteRsp
+}
+var file_GCGTCInviteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGTCInviteRsp_proto_init() }
+func file_GCGTCInviteRsp_proto_init() {
+ if File_GCGTCInviteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGTCInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGTCInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGTCInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGTCInviteRsp_proto_goTypes,
+ DependencyIndexes: file_GCGTCInviteRsp_proto_depIdxs,
+ MessageInfos: file_GCGTCInviteRsp_proto_msgTypes,
+ }.Build()
+ File_GCGTCInviteRsp_proto = out.File
+ file_GCGTCInviteRsp_proto_rawDesc = nil
+ file_GCGTCInviteRsp_proto_goTypes = nil
+ file_GCGTCInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGTCTavernChallengeData.pb.go b/protocol/proto/GCGTCTavernChallengeData.pb.go
new file mode 100644
index 00000000..69a048f6
--- /dev/null
+++ b/protocol/proto/GCGTCTavernChallengeData.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGTCTavernChallengeData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGTCTavernChallengeData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnlockLevelIdList []uint32 `protobuf:"varint,1,rep,packed,name=unlock_level_id_list,json=unlockLevelIdList,proto3" json:"unlock_level_id_list,omitempty"`
+ CharacterId uint32 `protobuf:"varint,8,opt,name=character_id,json=characterId,proto3" json:"character_id,omitempty"`
+}
+
+func (x *GCGTCTavernChallengeData) Reset() {
+ *x = GCGTCTavernChallengeData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGTCTavernChallengeData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGTCTavernChallengeData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGTCTavernChallengeData) ProtoMessage() {}
+
+func (x *GCGTCTavernChallengeData) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGTCTavernChallengeData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGTCTavernChallengeData.ProtoReflect.Descriptor instead.
+func (*GCGTCTavernChallengeData) Descriptor() ([]byte, []int) {
+ return file_GCGTCTavernChallengeData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGTCTavernChallengeData) GetUnlockLevelIdList() []uint32 {
+ if x != nil {
+ return x.UnlockLevelIdList
+ }
+ return nil
+}
+
+func (x *GCGTCTavernChallengeData) GetCharacterId() uint32 {
+ if x != nil {
+ return x.CharacterId
+ }
+ return 0
+}
+
+var File_GCGTCTavernChallengeData_proto protoreflect.FileDescriptor
+
+var file_GCGTCTavernChallengeData_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x18, 0x47, 0x43, 0x47, 0x54, 0x43,
+ 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x11, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x72,
+ 0x61, 0x63, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGTCTavernChallengeData_proto_rawDescOnce sync.Once
+ file_GCGTCTavernChallengeData_proto_rawDescData = file_GCGTCTavernChallengeData_proto_rawDesc
+)
+
+func file_GCGTCTavernChallengeData_proto_rawDescGZIP() []byte {
+ file_GCGTCTavernChallengeData_proto_rawDescOnce.Do(func() {
+ file_GCGTCTavernChallengeData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGTCTavernChallengeData_proto_rawDescData)
+ })
+ return file_GCGTCTavernChallengeData_proto_rawDescData
+}
+
+var file_GCGTCTavernChallengeData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGTCTavernChallengeData_proto_goTypes = []interface{}{
+ (*GCGTCTavernChallengeData)(nil), // 0: proto.GCGTCTavernChallengeData
+}
+var file_GCGTCTavernChallengeData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGTCTavernChallengeData_proto_init() }
+func file_GCGTCTavernChallengeData_proto_init() {
+ if File_GCGTCTavernChallengeData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGTCTavernChallengeData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGTCTavernChallengeData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGTCTavernChallengeData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGTCTavernChallengeData_proto_goTypes,
+ DependencyIndexes: file_GCGTCTavernChallengeData_proto_depIdxs,
+ MessageInfos: file_GCGTCTavernChallengeData_proto_msgTypes,
+ }.Build()
+ File_GCGTCTavernChallengeData_proto = out.File
+ file_GCGTCTavernChallengeData_proto_rawDesc = nil
+ file_GCGTCTavernChallengeData_proto_goTypes = nil
+ file_GCGTCTavernChallengeData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGTCTavernChallengeDataNotify.pb.go b/protocol/proto/GCGTCTavernChallengeDataNotify.pb.go
new file mode 100644
index 00000000..e639e687
--- /dev/null
+++ b/protocol/proto/GCGTCTavernChallengeDataNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGTCTavernChallengeDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7294
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGTCTavernChallengeDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TavernChallengeList []*GCGTCTavernChallengeData `protobuf:"bytes,13,rep,name=tavern_challenge_list,json=tavernChallengeList,proto3" json:"tavern_challenge_list,omitempty"`
+}
+
+func (x *GCGTCTavernChallengeDataNotify) Reset() {
+ *x = GCGTCTavernChallengeDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGTCTavernChallengeDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGTCTavernChallengeDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGTCTavernChallengeDataNotify) ProtoMessage() {}
+
+func (x *GCGTCTavernChallengeDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGTCTavernChallengeDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGTCTavernChallengeDataNotify.ProtoReflect.Descriptor instead.
+func (*GCGTCTavernChallengeDataNotify) Descriptor() ([]byte, []int) {
+ return file_GCGTCTavernChallengeDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGTCTavernChallengeDataNotify) GetTavernChallengeList() []*GCGTCTavernChallengeData {
+ if x != nil {
+ return x.TavernChallengeList
+ }
+ return nil
+}
+
+var File_GCGTCTavernChallengeDataNotify_proto protoreflect.FileDescriptor
+
+var file_GCGTCTavernChallengeDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x47,
+ 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a,
+ 0x1e, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x53, 0x0a, 0x15, 0x74, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65,
+ 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x13, 0x74, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGTCTavernChallengeDataNotify_proto_rawDescOnce sync.Once
+ file_GCGTCTavernChallengeDataNotify_proto_rawDescData = file_GCGTCTavernChallengeDataNotify_proto_rawDesc
+)
+
+func file_GCGTCTavernChallengeDataNotify_proto_rawDescGZIP() []byte {
+ file_GCGTCTavernChallengeDataNotify_proto_rawDescOnce.Do(func() {
+ file_GCGTCTavernChallengeDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGTCTavernChallengeDataNotify_proto_rawDescData)
+ })
+ return file_GCGTCTavernChallengeDataNotify_proto_rawDescData
+}
+
+var file_GCGTCTavernChallengeDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGTCTavernChallengeDataNotify_proto_goTypes = []interface{}{
+ (*GCGTCTavernChallengeDataNotify)(nil), // 0: proto.GCGTCTavernChallengeDataNotify
+ (*GCGTCTavernChallengeData)(nil), // 1: proto.GCGTCTavernChallengeData
+}
+var file_GCGTCTavernChallengeDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGTCTavernChallengeDataNotify.tavern_challenge_list:type_name -> proto.GCGTCTavernChallengeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGTCTavernChallengeDataNotify_proto_init() }
+func file_GCGTCTavernChallengeDataNotify_proto_init() {
+ if File_GCGTCTavernChallengeDataNotify_proto != nil {
+ return
+ }
+ file_GCGTCTavernChallengeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGTCTavernChallengeDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGTCTavernChallengeDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGTCTavernChallengeDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGTCTavernChallengeDataNotify_proto_goTypes,
+ DependencyIndexes: file_GCGTCTavernChallengeDataNotify_proto_depIdxs,
+ MessageInfos: file_GCGTCTavernChallengeDataNotify_proto_msgTypes,
+ }.Build()
+ File_GCGTCTavernChallengeDataNotify_proto = out.File
+ file_GCGTCTavernChallengeDataNotify_proto_rawDesc = nil
+ file_GCGTCTavernChallengeDataNotify_proto_goTypes = nil
+ file_GCGTCTavernChallengeDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGTCTavernChallengeUpdateNotify.pb.go b/protocol/proto/GCGTCTavernChallengeUpdateNotify.pb.go
new file mode 100644
index 00000000..337117eb
--- /dev/null
+++ b/protocol/proto/GCGTCTavernChallengeUpdateNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGTCTavernChallengeUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7184
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGTCTavernChallengeUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TavernChallenge *GCGTCTavernChallengeData `protobuf:"bytes,5,opt,name=tavern_challenge,json=tavernChallenge,proto3" json:"tavern_challenge,omitempty"`
+}
+
+func (x *GCGTCTavernChallengeUpdateNotify) Reset() {
+ *x = GCGTCTavernChallengeUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGTCTavernChallengeUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGTCTavernChallengeUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGTCTavernChallengeUpdateNotify) ProtoMessage() {}
+
+func (x *GCGTCTavernChallengeUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGTCTavernChallengeUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGTCTavernChallengeUpdateNotify.ProtoReflect.Descriptor instead.
+func (*GCGTCTavernChallengeUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_GCGTCTavernChallengeUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGTCTavernChallengeUpdateNotify) GetTavernChallenge() *GCGTCTavernChallengeData {
+ if x != nil {
+ return x.TavernChallenge
+ }
+ return nil
+}
+
+var File_GCGTCTavernChallengeUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_GCGTCTavernChallengeUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1e, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x6e, 0x0a, 0x20, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x4a, 0x0a, 0x10, 0x74, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x5f, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72,
+ 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f,
+ 0x74, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGTCTavernChallengeUpdateNotify_proto_rawDescOnce sync.Once
+ file_GCGTCTavernChallengeUpdateNotify_proto_rawDescData = file_GCGTCTavernChallengeUpdateNotify_proto_rawDesc
+)
+
+func file_GCGTCTavernChallengeUpdateNotify_proto_rawDescGZIP() []byte {
+ file_GCGTCTavernChallengeUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_GCGTCTavernChallengeUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGTCTavernChallengeUpdateNotify_proto_rawDescData)
+ })
+ return file_GCGTCTavernChallengeUpdateNotify_proto_rawDescData
+}
+
+var file_GCGTCTavernChallengeUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGTCTavernChallengeUpdateNotify_proto_goTypes = []interface{}{
+ (*GCGTCTavernChallengeUpdateNotify)(nil), // 0: proto.GCGTCTavernChallengeUpdateNotify
+ (*GCGTCTavernChallengeData)(nil), // 1: proto.GCGTCTavernChallengeData
+}
+var file_GCGTCTavernChallengeUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGTCTavernChallengeUpdateNotify.tavern_challenge:type_name -> proto.GCGTCTavernChallengeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGTCTavernChallengeUpdateNotify_proto_init() }
+func file_GCGTCTavernChallengeUpdateNotify_proto_init() {
+ if File_GCGTCTavernChallengeUpdateNotify_proto != nil {
+ return
+ }
+ file_GCGTCTavernChallengeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGTCTavernChallengeUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGTCTavernChallengeUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGTCTavernChallengeUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGTCTavernChallengeUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_GCGTCTavernChallengeUpdateNotify_proto_depIdxs,
+ MessageInfos: file_GCGTCTavernChallengeUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_GCGTCTavernChallengeUpdateNotify_proto = out.File
+ file_GCGTCTavernChallengeUpdateNotify_proto_rawDesc = nil
+ file_GCGTCTavernChallengeUpdateNotify_proto_goTypes = nil
+ file_GCGTCTavernChallengeUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGTCTavernInfoNotify.pb.go b/protocol/proto/GCGTCTavernInfoNotify.pb.go
new file mode 100644
index 00000000..44877baf
--- /dev/null
+++ b/protocol/proto/GCGTCTavernInfoNotify.pb.go
@@ -0,0 +1,223 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGTCTavernInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7011
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGTCTavernInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsLastDuelWin bool `protobuf:"varint,14,opt,name=is_last_duel_win,json=isLastDuelWin,proto3" json:"is_last_duel_win,omitempty"`
+ LevelId uint32 `protobuf:"varint,11,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ IsOwnerInDuel bool `protobuf:"varint,5,opt,name=is_owner_in_duel,json=isOwnerInDuel,proto3" json:"is_owner_in_duel,omitempty"`
+ PointId uint32 `protobuf:"varint,3,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ AvatarId uint32 `protobuf:"varint,12,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ CharacterId uint32 `protobuf:"varint,7,opt,name=character_id,json=characterId,proto3" json:"character_id,omitempty"`
+ ElementType uint32 `protobuf:"varint,10,opt,name=element_type,json=elementType,proto3" json:"element_type,omitempty"`
+}
+
+func (x *GCGTCTavernInfoNotify) Reset() {
+ *x = GCGTCTavernInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGTCTavernInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGTCTavernInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGTCTavernInfoNotify) ProtoMessage() {}
+
+func (x *GCGTCTavernInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGTCTavernInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGTCTavernInfoNotify.ProtoReflect.Descriptor instead.
+func (*GCGTCTavernInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GCGTCTavernInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGTCTavernInfoNotify) GetIsLastDuelWin() bool {
+ if x != nil {
+ return x.IsLastDuelWin
+ }
+ return false
+}
+
+func (x *GCGTCTavernInfoNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *GCGTCTavernInfoNotify) GetIsOwnerInDuel() bool {
+ if x != nil {
+ return x.IsOwnerInDuel
+ }
+ return false
+}
+
+func (x *GCGTCTavernInfoNotify) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *GCGTCTavernInfoNotify) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *GCGTCTavernInfoNotify) GetCharacterId() uint32 {
+ if x != nil {
+ return x.CharacterId
+ }
+ return 0
+}
+
+func (x *GCGTCTavernInfoNotify) GetElementType() uint32 {
+ if x != nil {
+ return x.ElementType
+ }
+ return 0
+}
+
+var File_GCGTCTavernInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GCGTCTavernInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x02, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x54, 0x43, 0x54, 0x61,
+ 0x76, 0x65, 0x72, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x27,
+ 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x65, 0x6c, 0x5f, 0x77,
+ 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4c, 0x61, 0x73, 0x74,
+ 0x44, 0x75, 0x65, 0x6c, 0x57, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x27, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69,
+ 0x6e, 0x5f, 0x64, 0x75, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73,
+ 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x44, 0x75, 0x65, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x72, 0x61,
+ 0x63, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6c,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGTCTavernInfoNotify_proto_rawDescOnce sync.Once
+ file_GCGTCTavernInfoNotify_proto_rawDescData = file_GCGTCTavernInfoNotify_proto_rawDesc
+)
+
+func file_GCGTCTavernInfoNotify_proto_rawDescGZIP() []byte {
+ file_GCGTCTavernInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GCGTCTavernInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGTCTavernInfoNotify_proto_rawDescData)
+ })
+ return file_GCGTCTavernInfoNotify_proto_rawDescData
+}
+
+var file_GCGTCTavernInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGTCTavernInfoNotify_proto_goTypes = []interface{}{
+ (*GCGTCTavernInfoNotify)(nil), // 0: proto.GCGTCTavernInfoNotify
+}
+var file_GCGTCTavernInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGTCTavernInfoNotify_proto_init() }
+func file_GCGTCTavernInfoNotify_proto_init() {
+ if File_GCGTCTavernInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGTCTavernInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGTCTavernInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGTCTavernInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGTCTavernInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GCGTCTavernInfoNotify_proto_depIdxs,
+ MessageInfos: file_GCGTCTavernInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GCGTCTavernInfoNotify_proto = out.File
+ file_GCGTCTavernInfoNotify_proto_rawDesc = nil
+ file_GCGTCTavernInfoNotify_proto_goTypes = nil
+ file_GCGTCTavernInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGTavernNpcInfo.pb.go b/protocol/proto/GCGTavernNpcInfo.pb.go
new file mode 100644
index 00000000..d1afda00
--- /dev/null
+++ b/protocol/proto/GCGTavernNpcInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGTavernNpcInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGTavernNpcInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,6,opt,name=id,proto3" json:"id,omitempty"`
+ LevelId uint32 `protobuf:"varint,10,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ ScenePointId uint32 `protobuf:"varint,3,opt,name=scene_point_id,json=scenePointId,proto3" json:"scene_point_id,omitempty"`
+}
+
+func (x *GCGTavernNpcInfo) Reset() {
+ *x = GCGTavernNpcInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGTavernNpcInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGTavernNpcInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGTavernNpcInfo) ProtoMessage() {}
+
+func (x *GCGTavernNpcInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGTavernNpcInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGTavernNpcInfo.ProtoReflect.Descriptor instead.
+func (*GCGTavernNpcInfo) Descriptor() ([]byte, []int) {
+ return file_GCGTavernNpcInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGTavernNpcInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *GCGTavernNpcInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *GCGTavernNpcInfo) GetScenePointId() uint32 {
+ if x != nil {
+ return x.ScenePointId
+ }
+ return 0
+}
+
+var File_GCGTavernNpcInfo_proto protoreflect.FileDescriptor
+
+var file_GCGTavernNpcInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4e, 0x70, 0x63, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x63, 0x0a, 0x10, 0x47, 0x43, 0x47, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4e, 0x70, 0x63, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x24,
+ 0x0a, 0x0e, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGTavernNpcInfo_proto_rawDescOnce sync.Once
+ file_GCGTavernNpcInfo_proto_rawDescData = file_GCGTavernNpcInfo_proto_rawDesc
+)
+
+func file_GCGTavernNpcInfo_proto_rawDescGZIP() []byte {
+ file_GCGTavernNpcInfo_proto_rawDescOnce.Do(func() {
+ file_GCGTavernNpcInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGTavernNpcInfo_proto_rawDescData)
+ })
+ return file_GCGTavernNpcInfo_proto_rawDescData
+}
+
+var file_GCGTavernNpcInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGTavernNpcInfo_proto_goTypes = []interface{}{
+ (*GCGTavernNpcInfo)(nil), // 0: proto.GCGTavernNpcInfo
+}
+var file_GCGTavernNpcInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGTavernNpcInfo_proto_init() }
+func file_GCGTavernNpcInfo_proto_init() {
+ if File_GCGTavernNpcInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGTavernNpcInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGTavernNpcInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGTavernNpcInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGTavernNpcInfo_proto_goTypes,
+ DependencyIndexes: file_GCGTavernNpcInfo_proto_depIdxs,
+ MessageInfos: file_GCGTavernNpcInfo_proto_msgTypes,
+ }.Build()
+ File_GCGTavernNpcInfo_proto = out.File
+ file_GCGTavernNpcInfo_proto_rawDesc = nil
+ file_GCGTavernNpcInfo_proto_goTypes = nil
+ file_GCGTavernNpcInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGTavernNpcInfoNotify.pb.go b/protocol/proto/GCGTavernNpcInfoNotify.pb.go
new file mode 100644
index 00000000..0cda8e06
--- /dev/null
+++ b/protocol/proto/GCGTavernNpcInfoNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGTavernNpcInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7290
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGTavernNpcInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WeekNpcList []*GCGTavernNpcInfo `protobuf:"bytes,1,rep,name=week_npc_list,json=weekNpcList,proto3" json:"week_npc_list,omitempty"`
+ CharacterNpc *GCGTavernNpcInfo `protobuf:"bytes,5,opt,name=character_npc,json=characterNpc,proto3" json:"character_npc,omitempty"`
+ ConstNpcList []*GCGTavernNpcInfo `protobuf:"bytes,15,rep,name=const_npc_list,json=constNpcList,proto3" json:"const_npc_list,omitempty"`
+}
+
+func (x *GCGTavernNpcInfoNotify) Reset() {
+ *x = GCGTavernNpcInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGTavernNpcInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGTavernNpcInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGTavernNpcInfoNotify) ProtoMessage() {}
+
+func (x *GCGTavernNpcInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGTavernNpcInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGTavernNpcInfoNotify.ProtoReflect.Descriptor instead.
+func (*GCGTavernNpcInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GCGTavernNpcInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGTavernNpcInfoNotify) GetWeekNpcList() []*GCGTavernNpcInfo {
+ if x != nil {
+ return x.WeekNpcList
+ }
+ return nil
+}
+
+func (x *GCGTavernNpcInfoNotify) GetCharacterNpc() *GCGTavernNpcInfo {
+ if x != nil {
+ return x.CharacterNpc
+ }
+ return nil
+}
+
+func (x *GCGTavernNpcInfoNotify) GetConstNpcList() []*GCGTavernNpcInfo {
+ if x != nil {
+ return x.ConstNpcList
+ }
+ return nil
+}
+
+var File_GCGTavernNpcInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GCGTavernNpcInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x43, 0x47, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4e, 0x70, 0x63, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x43, 0x47, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e,
+ 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x01,
+ 0x0a, 0x16, 0x47, 0x43, 0x47, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4e, 0x70, 0x63, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3b, 0x0a, 0x0d, 0x77, 0x65, 0x65, 0x6b,
+ 0x5f, 0x6e, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x54, 0x61, 0x76, 0x65, 0x72,
+ 0x6e, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x77, 0x65, 0x65, 0x6b, 0x4e, 0x70,
+ 0x63, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74,
+ 0x65, 0x72, 0x5f, 0x6e, 0x70, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4e, 0x70,
+ 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72,
+ 0x4e, 0x70, 0x63, 0x12, 0x3d, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5f, 0x6e, 0x70, 0x63,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x54, 0x61, 0x76, 0x65, 0x72, 0x6e, 0x4e, 0x70, 0x63,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x4e, 0x70, 0x63, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGTavernNpcInfoNotify_proto_rawDescOnce sync.Once
+ file_GCGTavernNpcInfoNotify_proto_rawDescData = file_GCGTavernNpcInfoNotify_proto_rawDesc
+)
+
+func file_GCGTavernNpcInfoNotify_proto_rawDescGZIP() []byte {
+ file_GCGTavernNpcInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GCGTavernNpcInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGTavernNpcInfoNotify_proto_rawDescData)
+ })
+ return file_GCGTavernNpcInfoNotify_proto_rawDescData
+}
+
+var file_GCGTavernNpcInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGTavernNpcInfoNotify_proto_goTypes = []interface{}{
+ (*GCGTavernNpcInfoNotify)(nil), // 0: proto.GCGTavernNpcInfoNotify
+ (*GCGTavernNpcInfo)(nil), // 1: proto.GCGTavernNpcInfo
+}
+var file_GCGTavernNpcInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGTavernNpcInfoNotify.week_npc_list:type_name -> proto.GCGTavernNpcInfo
+ 1, // 1: proto.GCGTavernNpcInfoNotify.character_npc:type_name -> proto.GCGTavernNpcInfo
+ 1, // 2: proto.GCGTavernNpcInfoNotify.const_npc_list:type_name -> proto.GCGTavernNpcInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GCGTavernNpcInfoNotify_proto_init() }
+func file_GCGTavernNpcInfoNotify_proto_init() {
+ if File_GCGTavernNpcInfoNotify_proto != nil {
+ return
+ }
+ file_GCGTavernNpcInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGTavernNpcInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGTavernNpcInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGTavernNpcInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGTavernNpcInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GCGTavernNpcInfoNotify_proto_depIdxs,
+ MessageInfos: file_GCGTavernNpcInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GCGTavernNpcInfoNotify_proto = out.File
+ file_GCGTavernNpcInfoNotify_proto_rawDesc = nil
+ file_GCGTavernNpcInfoNotify_proto_goTypes = nil
+ file_GCGTavernNpcInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGToken.pb.go b/protocol/proto/GCGToken.pb.go
new file mode 100644
index 00000000..c150e97b
--- /dev/null
+++ b/protocol/proto/GCGToken.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGToken.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGToken struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value uint32 `protobuf:"varint,11,opt,name=value,proto3" json:"value,omitempty"`
+ Key uint32 `protobuf:"varint,4,opt,name=key,proto3" json:"key,omitempty"`
+}
+
+func (x *GCGToken) Reset() {
+ *x = GCGToken{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGToken_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGToken) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGToken) ProtoMessage() {}
+
+func (x *GCGToken) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGToken_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGToken.ProtoReflect.Descriptor instead.
+func (*GCGToken) Descriptor() ([]byte, []int) {
+ return file_GCGToken_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGToken) GetValue() uint32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+func (x *GCGToken) GetKey() uint32 {
+ if x != nil {
+ return x.Key
+ }
+ return 0
+}
+
+var File_GCGToken_proto protoreflect.FileDescriptor
+
+var file_GCGToken_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x47, 0x43, 0x47, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x08, 0x47, 0x43, 0x47, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGToken_proto_rawDescOnce sync.Once
+ file_GCGToken_proto_rawDescData = file_GCGToken_proto_rawDesc
+)
+
+func file_GCGToken_proto_rawDescGZIP() []byte {
+ file_GCGToken_proto_rawDescOnce.Do(func() {
+ file_GCGToken_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGToken_proto_rawDescData)
+ })
+ return file_GCGToken_proto_rawDescData
+}
+
+var file_GCGToken_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGToken_proto_goTypes = []interface{}{
+ (*GCGToken)(nil), // 0: proto.GCGToken
+}
+var file_GCGToken_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGToken_proto_init() }
+func file_GCGToken_proto_init() {
+ if File_GCGToken_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGToken_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGToken); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGToken_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGToken_proto_goTypes,
+ DependencyIndexes: file_GCGToken_proto_depIdxs,
+ MessageInfos: file_GCGToken_proto_msgTypes,
+ }.Build()
+ File_GCGToken_proto = out.File
+ file_GCGToken_proto_rawDesc = nil
+ file_GCGToken_proto_goTypes = nil
+ file_GCGToken_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGWaitingCharacter.pb.go b/protocol/proto/GCGWaitingCharacter.pb.go
new file mode 100644
index 00000000..50934b2b
--- /dev/null
+++ b/protocol/proto/GCGWaitingCharacter.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGWaitingCharacter.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGWaitingCharacter struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,2,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ CondCount uint32 `protobuf:"varint,14,opt,name=cond_count,json=condCount,proto3" json:"cond_count,omitempty"`
+}
+
+func (x *GCGWaitingCharacter) Reset() {
+ *x = GCGWaitingCharacter{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGWaitingCharacter_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGWaitingCharacter) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGWaitingCharacter) ProtoMessage() {}
+
+func (x *GCGWaitingCharacter) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGWaitingCharacter_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGWaitingCharacter.ProtoReflect.Descriptor instead.
+func (*GCGWaitingCharacter) Descriptor() ([]byte, []int) {
+ return file_GCGWaitingCharacter_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGWaitingCharacter) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *GCGWaitingCharacter) GetCondCount() uint32 {
+ if x != nil {
+ return x.CondCount
+ }
+ return 0
+}
+
+var File_GCGWaitingCharacter_proto protoreflect.FileDescriptor
+
+var file_GCGWaitingCharacter_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x43, 0x47, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x72,
+ 0x61, 0x63, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x13, 0x47, 0x43, 0x47, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67,
+ 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64,
+ 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGWaitingCharacter_proto_rawDescOnce sync.Once
+ file_GCGWaitingCharacter_proto_rawDescData = file_GCGWaitingCharacter_proto_rawDesc
+)
+
+func file_GCGWaitingCharacter_proto_rawDescGZIP() []byte {
+ file_GCGWaitingCharacter_proto_rawDescOnce.Do(func() {
+ file_GCGWaitingCharacter_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGWaitingCharacter_proto_rawDescData)
+ })
+ return file_GCGWaitingCharacter_proto_rawDescData
+}
+
+var file_GCGWaitingCharacter_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGWaitingCharacter_proto_goTypes = []interface{}{
+ (*GCGWaitingCharacter)(nil), // 0: proto.GCGWaitingCharacter
+}
+var file_GCGWaitingCharacter_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGWaitingCharacter_proto_init() }
+func file_GCGWaitingCharacter_proto_init() {
+ if File_GCGWaitingCharacter_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGWaitingCharacter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGWaitingCharacter); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGWaitingCharacter_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGWaitingCharacter_proto_goTypes,
+ DependencyIndexes: file_GCGWaitingCharacter_proto_depIdxs,
+ MessageInfos: file_GCGWaitingCharacter_proto_msgTypes,
+ }.Build()
+ File_GCGWaitingCharacter_proto = out.File
+ file_GCGWaitingCharacter_proto_rawDesc = nil
+ file_GCGWaitingCharacter_proto_goTypes = nil
+ file_GCGWaitingCharacter_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGWeekChallengeInfo.pb.go b/protocol/proto/GCGWeekChallengeInfo.pb.go
new file mode 100644
index 00000000..74a81426
--- /dev/null
+++ b/protocol/proto/GCGWeekChallengeInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGWeekChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGWeekChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NpcId uint32 `protobuf:"varint,4,opt,name=npc_id,json=npcId,proto3" json:"npc_id,omitempty"`
+ IsFinished bool `protobuf:"varint,7,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ UnlockTime uint32 `protobuf:"varint,1,opt,name=unlock_time,json=unlockTime,proto3" json:"unlock_time,omitempty"`
+}
+
+func (x *GCGWeekChallengeInfo) Reset() {
+ *x = GCGWeekChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGWeekChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGWeekChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGWeekChallengeInfo) ProtoMessage() {}
+
+func (x *GCGWeekChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGWeekChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGWeekChallengeInfo.ProtoReflect.Descriptor instead.
+func (*GCGWeekChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_GCGWeekChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGWeekChallengeInfo) GetNpcId() uint32 {
+ if x != nil {
+ return x.NpcId
+ }
+ return 0
+}
+
+func (x *GCGWeekChallengeInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *GCGWeekChallengeInfo) GetUnlockTime() uint32 {
+ if x != nil {
+ return x.UnlockTime
+ }
+ return 0
+}
+
+var File_GCGWeekChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_GCGWeekChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x6e,
+ 0x70, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x70, 0x63,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGWeekChallengeInfo_proto_rawDescOnce sync.Once
+ file_GCGWeekChallengeInfo_proto_rawDescData = file_GCGWeekChallengeInfo_proto_rawDesc
+)
+
+func file_GCGWeekChallengeInfo_proto_rawDescGZIP() []byte {
+ file_GCGWeekChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_GCGWeekChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGWeekChallengeInfo_proto_rawDescData)
+ })
+ return file_GCGWeekChallengeInfo_proto_rawDescData
+}
+
+var file_GCGWeekChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGWeekChallengeInfo_proto_goTypes = []interface{}{
+ (*GCGWeekChallengeInfo)(nil), // 0: proto.GCGWeekChallengeInfo
+}
+var file_GCGWeekChallengeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGWeekChallengeInfo_proto_init() }
+func file_GCGWeekChallengeInfo_proto_init() {
+ if File_GCGWeekChallengeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGWeekChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGWeekChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGWeekChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGWeekChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_GCGWeekChallengeInfo_proto_depIdxs,
+ MessageInfos: file_GCGWeekChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_GCGWeekChallengeInfo_proto = out.File
+ file_GCGWeekChallengeInfo_proto_rawDesc = nil
+ file_GCGWeekChallengeInfo_proto_goTypes = nil
+ file_GCGWeekChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGWeekChallengeInfoNotify.pb.go b/protocol/proto/GCGWeekChallengeInfoNotify.pb.go
new file mode 100644
index 00000000..a66bf25c
--- /dev/null
+++ b/protocol/proto/GCGWeekChallengeInfoNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGWeekChallengeInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7615
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGWeekChallengeInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeInfoList []*GCGWeekChallengeInfo `protobuf:"bytes,15,rep,name=challenge_info_list,json=challengeInfoList,proto3" json:"challenge_info_list,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,7,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+}
+
+func (x *GCGWeekChallengeInfoNotify) Reset() {
+ *x = GCGWeekChallengeInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGWeekChallengeInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGWeekChallengeInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGWeekChallengeInfoNotify) ProtoMessage() {}
+
+func (x *GCGWeekChallengeInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGWeekChallengeInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGWeekChallengeInfoNotify.ProtoReflect.Descriptor instead.
+func (*GCGWeekChallengeInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GCGWeekChallengeInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGWeekChallengeInfoNotify) GetChallengeInfoList() []*GCGWeekChallengeInfo {
+ if x != nil {
+ return x.ChallengeInfoList
+ }
+ return nil
+}
+
+func (x *GCGWeekChallengeInfoNotify) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+var File_GCGWeekChallengeInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GCGWeekChallengeInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x43, 0x47, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x47, 0x43, 0x47, 0x57, 0x65,
+ 0x65, 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x1a, 0x47, 0x43, 0x47, 0x57, 0x65, 0x65,
+ 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x4b, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47, 0x57, 0x65, 0x65,
+ 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65,
+ 0x78, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GCGWeekChallengeInfoNotify_proto_rawDescOnce sync.Once
+ file_GCGWeekChallengeInfoNotify_proto_rawDescData = file_GCGWeekChallengeInfoNotify_proto_rawDesc
+)
+
+func file_GCGWeekChallengeInfoNotify_proto_rawDescGZIP() []byte {
+ file_GCGWeekChallengeInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GCGWeekChallengeInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGWeekChallengeInfoNotify_proto_rawDescData)
+ })
+ return file_GCGWeekChallengeInfoNotify_proto_rawDescData
+}
+
+var file_GCGWeekChallengeInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGWeekChallengeInfoNotify_proto_goTypes = []interface{}{
+ (*GCGWeekChallengeInfoNotify)(nil), // 0: proto.GCGWeekChallengeInfoNotify
+ (*GCGWeekChallengeInfo)(nil), // 1: proto.GCGWeekChallengeInfo
+}
+var file_GCGWeekChallengeInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GCGWeekChallengeInfoNotify.challenge_info_list:type_name -> proto.GCGWeekChallengeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GCGWeekChallengeInfoNotify_proto_init() }
+func file_GCGWeekChallengeInfoNotify_proto_init() {
+ if File_GCGWeekChallengeInfoNotify_proto != nil {
+ return
+ }
+ file_GCGWeekChallengeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GCGWeekChallengeInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGWeekChallengeInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGWeekChallengeInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGWeekChallengeInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GCGWeekChallengeInfoNotify_proto_depIdxs,
+ MessageInfos: file_GCGWeekChallengeInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GCGWeekChallengeInfoNotify_proto = out.File
+ file_GCGWeekChallengeInfoNotify_proto_rawDesc = nil
+ file_GCGWeekChallengeInfoNotify_proto_goTypes = nil
+ file_GCGWeekChallengeInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGWorldChallengeUnlockNotify.pb.go b/protocol/proto/GCGWorldChallengeUnlockNotify.pb.go
new file mode 100644
index 00000000..3abe6a0c
--- /dev/null
+++ b/protocol/proto/GCGWorldChallengeUnlockNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGWorldChallengeUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7204
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GCGWorldChallengeUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnlockIdList []uint32 `protobuf:"varint,8,rep,packed,name=unlock_id_list,json=unlockIdList,proto3" json:"unlock_id_list,omitempty"`
+}
+
+func (x *GCGWorldChallengeUnlockNotify) Reset() {
+ *x = GCGWorldChallengeUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGWorldChallengeUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGWorldChallengeUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGWorldChallengeUnlockNotify) ProtoMessage() {}
+
+func (x *GCGWorldChallengeUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGWorldChallengeUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGWorldChallengeUnlockNotify.ProtoReflect.Descriptor instead.
+func (*GCGWorldChallengeUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_GCGWorldChallengeUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGWorldChallengeUnlockNotify) GetUnlockIdList() []uint32 {
+ if x != nil {
+ return x.UnlockIdList
+ }
+ return nil
+}
+
+var File_GCGWorldChallengeUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_GCGWorldChallengeUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x43, 0x47, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x1d,
+ 0x47, 0x43, 0x47, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a,
+ 0x0e, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGWorldChallengeUnlockNotify_proto_rawDescOnce sync.Once
+ file_GCGWorldChallengeUnlockNotify_proto_rawDescData = file_GCGWorldChallengeUnlockNotify_proto_rawDesc
+)
+
+func file_GCGWorldChallengeUnlockNotify_proto_rawDescGZIP() []byte {
+ file_GCGWorldChallengeUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_GCGWorldChallengeUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGWorldChallengeUnlockNotify_proto_rawDescData)
+ })
+ return file_GCGWorldChallengeUnlockNotify_proto_rawDescData
+}
+
+var file_GCGWorldChallengeUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGWorldChallengeUnlockNotify_proto_goTypes = []interface{}{
+ (*GCGWorldChallengeUnlockNotify)(nil), // 0: proto.GCGWorldChallengeUnlockNotify
+}
+var file_GCGWorldChallengeUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGWorldChallengeUnlockNotify_proto_init() }
+func file_GCGWorldChallengeUnlockNotify_proto_init() {
+ if File_GCGWorldChallengeUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGWorldChallengeUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGWorldChallengeUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGWorldChallengeUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGWorldChallengeUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_GCGWorldChallengeUnlockNotify_proto_depIdxs,
+ MessageInfos: file_GCGWorldChallengeUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_GCGWorldChallengeUnlockNotify_proto = out.File
+ file_GCGWorldChallengeUnlockNotify_proto_rawDesc = nil
+ file_GCGWorldChallengeUnlockNotify_proto_goTypes = nil
+ file_GCGWorldChallengeUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGZone.pb.go b/protocol/proto/GCGZone.pb.go
new file mode 100644
index 00000000..7b98efcf
--- /dev/null
+++ b/protocol/proto/GCGZone.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGZone.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGZone struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardList []uint32 `protobuf:"varint,4,rep,packed,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+}
+
+func (x *GCGZone) Reset() {
+ *x = GCGZone{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GCGZone_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GCGZone) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GCGZone) ProtoMessage() {}
+
+func (x *GCGZone) ProtoReflect() protoreflect.Message {
+ mi := &file_GCGZone_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GCGZone.ProtoReflect.Descriptor instead.
+func (*GCGZone) Descriptor() ([]byte, []int) {
+ return file_GCGZone_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GCGZone) GetCardList() []uint32 {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+var File_GCGZone_proto protoreflect.FileDescriptor
+
+var file_GCGZone_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x26, 0x0a, 0x07, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GCGZone_proto_rawDescOnce sync.Once
+ file_GCGZone_proto_rawDescData = file_GCGZone_proto_rawDesc
+)
+
+func file_GCGZone_proto_rawDescGZIP() []byte {
+ file_GCGZone_proto_rawDescOnce.Do(func() {
+ file_GCGZone_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGZone_proto_rawDescData)
+ })
+ return file_GCGZone_proto_rawDescData
+}
+
+var file_GCGZone_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GCGZone_proto_goTypes = []interface{}{
+ (*GCGZone)(nil), // 0: proto.GCGZone
+}
+var file_GCGZone_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGZone_proto_init() }
+func file_GCGZone_proto_init() {
+ if File_GCGZone_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GCGZone_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GCGZone); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGZone_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGZone_proto_goTypes,
+ DependencyIndexes: file_GCGZone_proto_depIdxs,
+ MessageInfos: file_GCGZone_proto_msgTypes,
+ }.Build()
+ File_GCGZone_proto = out.File
+ file_GCGZone_proto_rawDesc = nil
+ file_GCGZone_proto_goTypes = nil
+ file_GCGZone_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GCGZoneType.pb.go b/protocol/proto/GCGZoneType.pb.go
new file mode 100644
index 00000000..b95f4057
--- /dev/null
+++ b/protocol/proto/GCGZoneType.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GCGZoneType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GCGZoneType int32
+
+const (
+ GCGZoneType_GCG_ZONE_TYPE_INVALID GCGZoneType = 0
+ GCGZoneType_GCG_ZONE_TYPE_DECK GCGZoneType = 1
+ GCGZoneType_GCG_ZONE_TYPE_HAND GCGZoneType = 2
+ GCGZoneType_GCG_ZONE_TYPE_CHARACTER GCGZoneType = 3
+ GCGZoneType_GCG_ZONE_TYPE_MODIFY GCGZoneType = 4
+ GCGZoneType_GCG_ZONE_TYPE_SUMMON GCGZoneType = 5
+ GCGZoneType_GCG_ZONE_TYPE_ASSIST GCGZoneType = 7
+ GCGZoneType_GCG_ZONE_TYPE_ONSTAGE GCGZoneType = 8
+ GCGZoneType_GCG_ZONE_TYPE_RULE GCGZoneType = 9
+)
+
+// Enum value maps for GCGZoneType.
+var (
+ GCGZoneType_name = map[int32]string{
+ 0: "GCG_ZONE_TYPE_INVALID",
+ 1: "GCG_ZONE_TYPE_DECK",
+ 2: "GCG_ZONE_TYPE_HAND",
+ 3: "GCG_ZONE_TYPE_CHARACTER",
+ 4: "GCG_ZONE_TYPE_MODIFY",
+ 5: "GCG_ZONE_TYPE_SUMMON",
+ 7: "GCG_ZONE_TYPE_ASSIST",
+ 8: "GCG_ZONE_TYPE_ONSTAGE",
+ 9: "GCG_ZONE_TYPE_RULE",
+ }
+ GCGZoneType_value = map[string]int32{
+ "GCG_ZONE_TYPE_INVALID": 0,
+ "GCG_ZONE_TYPE_DECK": 1,
+ "GCG_ZONE_TYPE_HAND": 2,
+ "GCG_ZONE_TYPE_CHARACTER": 3,
+ "GCG_ZONE_TYPE_MODIFY": 4,
+ "GCG_ZONE_TYPE_SUMMON": 5,
+ "GCG_ZONE_TYPE_ASSIST": 7,
+ "GCG_ZONE_TYPE_ONSTAGE": 8,
+ "GCG_ZONE_TYPE_RULE": 9,
+ }
+)
+
+func (x GCGZoneType) Enum() *GCGZoneType {
+ p := new(GCGZoneType)
+ *p = x
+ return p
+}
+
+func (x GCGZoneType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GCGZoneType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GCGZoneType_proto_enumTypes[0].Descriptor()
+}
+
+func (GCGZoneType) Type() protoreflect.EnumType {
+ return &file_GCGZoneType_proto_enumTypes[0]
+}
+
+func (x GCGZoneType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GCGZoneType.Descriptor instead.
+func (GCGZoneType) EnumDescriptor() ([]byte, []int) {
+ return file_GCGZoneType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GCGZoneType_proto protoreflect.FileDescriptor
+
+var file_GCGZoneType_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x47, 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xf6, 0x01, 0x0a, 0x0b, 0x47,
+ 0x43, 0x47, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x43,
+ 0x47, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41,
+ 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x43, 0x47, 0x5f, 0x5a, 0x4f, 0x4e,
+ 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x16, 0x0a,
+ 0x12, 0x47, 0x43, 0x47, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48,
+ 0x41, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x43, 0x47, 0x5f, 0x5a, 0x4f, 0x4e,
+ 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52,
+ 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x59, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14,
+ 0x47, 0x43, 0x47, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55,
+ 0x4d, 0x4d, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x43, 0x47, 0x5f, 0x5a, 0x4f,
+ 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x53, 0x54, 0x10, 0x07,
+ 0x12, 0x19, 0x0a, 0x15, 0x47, 0x43, 0x47, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4f, 0x4e, 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x47,
+ 0x43, 0x47, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x55, 0x4c,
+ 0x45, 0x10, 0x09, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GCGZoneType_proto_rawDescOnce sync.Once
+ file_GCGZoneType_proto_rawDescData = file_GCGZoneType_proto_rawDesc
+)
+
+func file_GCGZoneType_proto_rawDescGZIP() []byte {
+ file_GCGZoneType_proto_rawDescOnce.Do(func() {
+ file_GCGZoneType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GCGZoneType_proto_rawDescData)
+ })
+ return file_GCGZoneType_proto_rawDescData
+}
+
+var file_GCGZoneType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GCGZoneType_proto_goTypes = []interface{}{
+ (GCGZoneType)(0), // 0: proto.GCGZoneType
+}
+var file_GCGZoneType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GCGZoneType_proto_init() }
+func file_GCGZoneType_proto_init() {
+ if File_GCGZoneType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GCGZoneType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GCGZoneType_proto_goTypes,
+ DependencyIndexes: file_GCGZoneType_proto_depIdxs,
+ EnumInfos: file_GCGZoneType_proto_enumTypes,
+ }.Build()
+ File_GCGZoneType_proto = out.File
+ file_GCGZoneType_proto_rawDesc = nil
+ file_GCGZoneType_proto_goTypes = nil
+ file_GCGZoneType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GMObstacleInfo.pb.go b/protocol/proto/GMObstacleInfo.pb.go
new file mode 100644
index 00000000..f6b6c7c4
--- /dev/null
+++ b/protocol/proto/GMObstacleInfo.pb.go
@@ -0,0 +1,279 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GMObstacleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GMObstacleInfo_ShapeType int32
+
+const (
+ GMObstacleInfo_OBSTACLE_SHAPE_CAPSULE GMObstacleInfo_ShapeType = 0
+ GMObstacleInfo_OBSTACLE_SHAPE_BOX GMObstacleInfo_ShapeType = 1
+)
+
+// Enum value maps for GMObstacleInfo_ShapeType.
+var (
+ GMObstacleInfo_ShapeType_name = map[int32]string{
+ 0: "OBSTACLE_SHAPE_CAPSULE",
+ 1: "OBSTACLE_SHAPE_BOX",
+ }
+ GMObstacleInfo_ShapeType_value = map[string]int32{
+ "OBSTACLE_SHAPE_CAPSULE": 0,
+ "OBSTACLE_SHAPE_BOX": 1,
+ }
+)
+
+func (x GMObstacleInfo_ShapeType) Enum() *GMObstacleInfo_ShapeType {
+ p := new(GMObstacleInfo_ShapeType)
+ *p = x
+ return p
+}
+
+func (x GMObstacleInfo_ShapeType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GMObstacleInfo_ShapeType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GMObstacleInfo_proto_enumTypes[0].Descriptor()
+}
+
+func (GMObstacleInfo_ShapeType) Type() protoreflect.EnumType {
+ return &file_GMObstacleInfo_proto_enumTypes[0]
+}
+
+func (x GMObstacleInfo_ShapeType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GMObstacleInfo_ShapeType.Descriptor instead.
+func (GMObstacleInfo_ShapeType) EnumDescriptor() ([]byte, []int) {
+ return file_GMObstacleInfo_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type GMObstacleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Timestamp int64 `protobuf:"varint,14,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+ Shape GMObstacleInfo_ShapeType `protobuf:"varint,2,opt,name=shape,proto3,enum=proto.GMObstacleInfo_ShapeType" json:"shape,omitempty"`
+ ObstacleId int32 `protobuf:"varint,13,opt,name=obstacle_id,json=obstacleId,proto3" json:"obstacle_id,omitempty"`
+ Rotation *MathQuaternion `protobuf:"bytes,3,opt,name=rotation,proto3" json:"rotation,omitempty"`
+ Center *Vector `protobuf:"bytes,8,opt,name=center,proto3" json:"center,omitempty"`
+ Extents *Vector3Int `protobuf:"bytes,15,opt,name=extents,proto3" json:"extents,omitempty"`
+}
+
+func (x *GMObstacleInfo) Reset() {
+ *x = GMObstacleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GMObstacleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GMObstacleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GMObstacleInfo) ProtoMessage() {}
+
+func (x *GMObstacleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GMObstacleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GMObstacleInfo.ProtoReflect.Descriptor instead.
+func (*GMObstacleInfo) Descriptor() ([]byte, []int) {
+ return file_GMObstacleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GMObstacleInfo) GetTimestamp() int64 {
+ if x != nil {
+ return x.Timestamp
+ }
+ return 0
+}
+
+func (x *GMObstacleInfo) GetShape() GMObstacleInfo_ShapeType {
+ if x != nil {
+ return x.Shape
+ }
+ return GMObstacleInfo_OBSTACLE_SHAPE_CAPSULE
+}
+
+func (x *GMObstacleInfo) GetObstacleId() int32 {
+ if x != nil {
+ return x.ObstacleId
+ }
+ return 0
+}
+
+func (x *GMObstacleInfo) GetRotation() *MathQuaternion {
+ if x != nil {
+ return x.Rotation
+ }
+ return nil
+}
+
+func (x *GMObstacleInfo) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *GMObstacleInfo) GetExtents() *Vector3Int {
+ if x != nil {
+ return x.Extents
+ }
+ return nil
+}
+
+var File_GMObstacleInfo_proto protoreflect.FileDescriptor
+
+var file_GMObstacleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x4d, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4d,
+ 0x61, 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x02, 0x0a, 0x0e, 0x47, 0x4d, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63,
+ 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x12, 0x35, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x4d, 0x4f, 0x62,
+ 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6f,
+ 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x0a, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x08,
+ 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65,
+ 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x25, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06,
+ 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74,
+ 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x74, 0x73, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x42, 0x53, 0x54, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x41,
+ 0x50, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x53, 0x55, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12,
+ 0x4f, 0x42, 0x53, 0x54, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x5f, 0x42,
+ 0x4f, 0x58, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GMObstacleInfo_proto_rawDescOnce sync.Once
+ file_GMObstacleInfo_proto_rawDescData = file_GMObstacleInfo_proto_rawDesc
+)
+
+func file_GMObstacleInfo_proto_rawDescGZIP() []byte {
+ file_GMObstacleInfo_proto_rawDescOnce.Do(func() {
+ file_GMObstacleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GMObstacleInfo_proto_rawDescData)
+ })
+ return file_GMObstacleInfo_proto_rawDescData
+}
+
+var file_GMObstacleInfo_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GMObstacleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GMObstacleInfo_proto_goTypes = []interface{}{
+ (GMObstacleInfo_ShapeType)(0), // 0: proto.GMObstacleInfo.ShapeType
+ (*GMObstacleInfo)(nil), // 1: proto.GMObstacleInfo
+ (*MathQuaternion)(nil), // 2: proto.MathQuaternion
+ (*Vector)(nil), // 3: proto.Vector
+ (*Vector3Int)(nil), // 4: proto.Vector3Int
+}
+var file_GMObstacleInfo_proto_depIdxs = []int32{
+ 0, // 0: proto.GMObstacleInfo.shape:type_name -> proto.GMObstacleInfo.ShapeType
+ 2, // 1: proto.GMObstacleInfo.rotation:type_name -> proto.MathQuaternion
+ 3, // 2: proto.GMObstacleInfo.center:type_name -> proto.Vector
+ 4, // 3: proto.GMObstacleInfo.extents:type_name -> proto.Vector3Int
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_GMObstacleInfo_proto_init() }
+func file_GMObstacleInfo_proto_init() {
+ if File_GMObstacleInfo_proto != nil {
+ return
+ }
+ file_MathQuaternion_proto_init()
+ file_Vector_proto_init()
+ file_Vector3Int_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GMObstacleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GMObstacleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GMObstacleInfo_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GMObstacleInfo_proto_goTypes,
+ DependencyIndexes: file_GMObstacleInfo_proto_depIdxs,
+ EnumInfos: file_GMObstacleInfo_proto_enumTypes,
+ MessageInfos: file_GMObstacleInfo_proto_msgTypes,
+ }.Build()
+ File_GMObstacleInfo_proto = out.File
+ file_GMObstacleInfo_proto_rawDesc = nil
+ file_GMObstacleInfo_proto_goTypes = nil
+ file_GMObstacleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GMShowNavMeshReq.pb.go b/protocol/proto/GMShowNavMeshReq.pb.go
new file mode 100644
index 00000000..b4452fc0
--- /dev/null
+++ b/protocol/proto/GMShowNavMeshReq.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GMShowNavMeshReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2357
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GMShowNavMeshReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Center *Vector `protobuf:"bytes,1,opt,name=center,proto3" json:"center,omitempty"`
+ Extent *Vector `protobuf:"bytes,5,opt,name=extent,proto3" json:"extent,omitempty"`
+}
+
+func (x *GMShowNavMeshReq) Reset() {
+ *x = GMShowNavMeshReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GMShowNavMeshReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GMShowNavMeshReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GMShowNavMeshReq) ProtoMessage() {}
+
+func (x *GMShowNavMeshReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GMShowNavMeshReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GMShowNavMeshReq.ProtoReflect.Descriptor instead.
+func (*GMShowNavMeshReq) Descriptor() ([]byte, []int) {
+ return file_GMShowNavMeshReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GMShowNavMeshReq) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *GMShowNavMeshReq) GetExtent() *Vector {
+ if x != nil {
+ return x.Extent
+ }
+ return nil
+}
+
+var File_GMShowNavMeshReq_proto protoreflect.FileDescriptor
+
+var file_GMShowNavMeshReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x4d, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a,
+ 0x10, 0x47, 0x4d, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x65,
+ 0x71, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x06, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GMShowNavMeshReq_proto_rawDescOnce sync.Once
+ file_GMShowNavMeshReq_proto_rawDescData = file_GMShowNavMeshReq_proto_rawDesc
+)
+
+func file_GMShowNavMeshReq_proto_rawDescGZIP() []byte {
+ file_GMShowNavMeshReq_proto_rawDescOnce.Do(func() {
+ file_GMShowNavMeshReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GMShowNavMeshReq_proto_rawDescData)
+ })
+ return file_GMShowNavMeshReq_proto_rawDescData
+}
+
+var file_GMShowNavMeshReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GMShowNavMeshReq_proto_goTypes = []interface{}{
+ (*GMShowNavMeshReq)(nil), // 0: proto.GMShowNavMeshReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_GMShowNavMeshReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GMShowNavMeshReq.center:type_name -> proto.Vector
+ 1, // 1: proto.GMShowNavMeshReq.extent:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GMShowNavMeshReq_proto_init() }
+func file_GMShowNavMeshReq_proto_init() {
+ if File_GMShowNavMeshReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GMShowNavMeshReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GMShowNavMeshReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GMShowNavMeshReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GMShowNavMeshReq_proto_goTypes,
+ DependencyIndexes: file_GMShowNavMeshReq_proto_depIdxs,
+ MessageInfos: file_GMShowNavMeshReq_proto_msgTypes,
+ }.Build()
+ File_GMShowNavMeshReq_proto = out.File
+ file_GMShowNavMeshReq_proto_rawDesc = nil
+ file_GMShowNavMeshReq_proto_goTypes = nil
+ file_GMShowNavMeshReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GMShowNavMeshRsp.pb.go b/protocol/proto/GMShowNavMeshRsp.pb.go
new file mode 100644
index 00000000..40e1b0f8
--- /dev/null
+++ b/protocol/proto/GMShowNavMeshRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GMShowNavMeshRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2400
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GMShowNavMeshRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Tiles []*PBNavMeshTile `protobuf:"bytes,11,rep,name=tiles,proto3" json:"tiles,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GMShowNavMeshRsp) Reset() {
+ *x = GMShowNavMeshRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GMShowNavMeshRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GMShowNavMeshRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GMShowNavMeshRsp) ProtoMessage() {}
+
+func (x *GMShowNavMeshRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GMShowNavMeshRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GMShowNavMeshRsp.ProtoReflect.Descriptor instead.
+func (*GMShowNavMeshRsp) Descriptor() ([]byte, []int) {
+ return file_GMShowNavMeshRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GMShowNavMeshRsp) GetTiles() []*PBNavMeshTile {
+ if x != nil {
+ return x.Tiles
+ }
+ return nil
+}
+
+func (x *GMShowNavMeshRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GMShowNavMeshRsp_proto protoreflect.FileDescriptor
+
+var file_GMShowNavMeshRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x4d, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x13, 0x50, 0x42, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x10, 0x47, 0x4d, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61,
+ 0x76, 0x4d, 0x65, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x05, 0x74, 0x69, 0x6c, 0x65,
+ 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x50, 0x42, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x74,
+ 0x69, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GMShowNavMeshRsp_proto_rawDescOnce sync.Once
+ file_GMShowNavMeshRsp_proto_rawDescData = file_GMShowNavMeshRsp_proto_rawDesc
+)
+
+func file_GMShowNavMeshRsp_proto_rawDescGZIP() []byte {
+ file_GMShowNavMeshRsp_proto_rawDescOnce.Do(func() {
+ file_GMShowNavMeshRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GMShowNavMeshRsp_proto_rawDescData)
+ })
+ return file_GMShowNavMeshRsp_proto_rawDescData
+}
+
+var file_GMShowNavMeshRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GMShowNavMeshRsp_proto_goTypes = []interface{}{
+ (*GMShowNavMeshRsp)(nil), // 0: proto.GMShowNavMeshRsp
+ (*PBNavMeshTile)(nil), // 1: proto.PBNavMeshTile
+}
+var file_GMShowNavMeshRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GMShowNavMeshRsp.tiles:type_name -> proto.PBNavMeshTile
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GMShowNavMeshRsp_proto_init() }
+func file_GMShowNavMeshRsp_proto_init() {
+ if File_GMShowNavMeshRsp_proto != nil {
+ return
+ }
+ file_PBNavMeshTile_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GMShowNavMeshRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GMShowNavMeshRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GMShowNavMeshRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GMShowNavMeshRsp_proto_goTypes,
+ DependencyIndexes: file_GMShowNavMeshRsp_proto_depIdxs,
+ MessageInfos: file_GMShowNavMeshRsp_proto_msgTypes,
+ }.Build()
+ File_GMShowNavMeshRsp_proto = out.File
+ file_GMShowNavMeshRsp_proto_rawDesc = nil
+ file_GMShowNavMeshRsp_proto_goTypes = nil
+ file_GMShowNavMeshRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GMShowObstacleReq.pb.go b/protocol/proto/GMShowObstacleReq.pb.go
new file mode 100644
index 00000000..a95c8447
--- /dev/null
+++ b/protocol/proto/GMShowObstacleReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GMShowObstacleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2361
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GMShowObstacleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GMShowObstacleReq) Reset() {
+ *x = GMShowObstacleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GMShowObstacleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GMShowObstacleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GMShowObstacleReq) ProtoMessage() {}
+
+func (x *GMShowObstacleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GMShowObstacleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GMShowObstacleReq.ProtoReflect.Descriptor instead.
+func (*GMShowObstacleReq) Descriptor() ([]byte, []int) {
+ return file_GMShowObstacleReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GMShowObstacleReq_proto protoreflect.FileDescriptor
+
+var file_GMShowObstacleReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x4d, 0x53, 0x68, 0x6f, 0x77, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x13, 0x0a, 0x11, 0x47, 0x4d, 0x53, 0x68, 0x6f, 0x77, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63,
+ 0x6c, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GMShowObstacleReq_proto_rawDescOnce sync.Once
+ file_GMShowObstacleReq_proto_rawDescData = file_GMShowObstacleReq_proto_rawDesc
+)
+
+func file_GMShowObstacleReq_proto_rawDescGZIP() []byte {
+ file_GMShowObstacleReq_proto_rawDescOnce.Do(func() {
+ file_GMShowObstacleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GMShowObstacleReq_proto_rawDescData)
+ })
+ return file_GMShowObstacleReq_proto_rawDescData
+}
+
+var file_GMShowObstacleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GMShowObstacleReq_proto_goTypes = []interface{}{
+ (*GMShowObstacleReq)(nil), // 0: proto.GMShowObstacleReq
+}
+var file_GMShowObstacleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GMShowObstacleReq_proto_init() }
+func file_GMShowObstacleReq_proto_init() {
+ if File_GMShowObstacleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GMShowObstacleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GMShowObstacleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GMShowObstacleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GMShowObstacleReq_proto_goTypes,
+ DependencyIndexes: file_GMShowObstacleReq_proto_depIdxs,
+ MessageInfos: file_GMShowObstacleReq_proto_msgTypes,
+ }.Build()
+ File_GMShowObstacleReq_proto = out.File
+ file_GMShowObstacleReq_proto_rawDesc = nil
+ file_GMShowObstacleReq_proto_goTypes = nil
+ file_GMShowObstacleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GMShowObstacleRsp.pb.go b/protocol/proto/GMShowObstacleRsp.pb.go
new file mode 100644
index 00000000..7da8aefb
--- /dev/null
+++ b/protocol/proto/GMShowObstacleRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GMShowObstacleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2329
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GMShowObstacleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Obstacles []*GMObstacleInfo `protobuf:"bytes,6,rep,name=obstacles,proto3" json:"obstacles,omitempty"`
+}
+
+func (x *GMShowObstacleRsp) Reset() {
+ *x = GMShowObstacleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GMShowObstacleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GMShowObstacleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GMShowObstacleRsp) ProtoMessage() {}
+
+func (x *GMShowObstacleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GMShowObstacleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GMShowObstacleRsp.ProtoReflect.Descriptor instead.
+func (*GMShowObstacleRsp) Descriptor() ([]byte, []int) {
+ return file_GMShowObstacleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GMShowObstacleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GMShowObstacleRsp) GetObstacles() []*GMObstacleInfo {
+ if x != nil {
+ return x.Obstacles
+ }
+ return nil
+}
+
+var File_GMShowObstacleRsp_proto protoreflect.FileDescriptor
+
+var file_GMShowObstacleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x4d, 0x53, 0x68, 0x6f, 0x77, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x14, 0x47, 0x4d, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x11, 0x47, 0x4d, 0x53, 0x68, 0x6f, 0x77,
+ 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c,
+ 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x4d, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x09, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GMShowObstacleRsp_proto_rawDescOnce sync.Once
+ file_GMShowObstacleRsp_proto_rawDescData = file_GMShowObstacleRsp_proto_rawDesc
+)
+
+func file_GMShowObstacleRsp_proto_rawDescGZIP() []byte {
+ file_GMShowObstacleRsp_proto_rawDescOnce.Do(func() {
+ file_GMShowObstacleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GMShowObstacleRsp_proto_rawDescData)
+ })
+ return file_GMShowObstacleRsp_proto_rawDescData
+}
+
+var file_GMShowObstacleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GMShowObstacleRsp_proto_goTypes = []interface{}{
+ (*GMShowObstacleRsp)(nil), // 0: proto.GMShowObstacleRsp
+ (*GMObstacleInfo)(nil), // 1: proto.GMObstacleInfo
+}
+var file_GMShowObstacleRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GMShowObstacleRsp.obstacles:type_name -> proto.GMObstacleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GMShowObstacleRsp_proto_init() }
+func file_GMShowObstacleRsp_proto_init() {
+ if File_GMShowObstacleRsp_proto != nil {
+ return
+ }
+ file_GMObstacleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GMShowObstacleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GMShowObstacleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GMShowObstacleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GMShowObstacleRsp_proto_goTypes,
+ DependencyIndexes: file_GMShowObstacleRsp_proto_depIdxs,
+ MessageInfos: file_GMShowObstacleRsp_proto_msgTypes,
+ }.Build()
+ File_GMShowObstacleRsp_proto = out.File
+ file_GMShowObstacleRsp_proto_rawDesc = nil
+ file_GMShowObstacleRsp_proto_goTypes = nil
+ file_GMShowObstacleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityCreateRobotReq.pb.go b/protocol/proto/GachaActivityCreateRobotReq.pb.go
new file mode 100644
index 00000000..482fc632
--- /dev/null
+++ b/protocol/proto/GachaActivityCreateRobotReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityCreateRobotReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8614
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GachaActivityCreateRobotReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GachaActivityCreateRobotReq) Reset() {
+ *x = GachaActivityCreateRobotReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityCreateRobotReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityCreateRobotReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityCreateRobotReq) ProtoMessage() {}
+
+func (x *GachaActivityCreateRobotReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityCreateRobotReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityCreateRobotReq.ProtoReflect.Descriptor instead.
+func (*GachaActivityCreateRobotReq) Descriptor() ([]byte, []int) {
+ return file_GachaActivityCreateRobotReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GachaActivityCreateRobotReq_proto protoreflect.FileDescriptor
+
+var file_GachaActivityCreateRobotReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityCreateRobotReq_proto_rawDescOnce sync.Once
+ file_GachaActivityCreateRobotReq_proto_rawDescData = file_GachaActivityCreateRobotReq_proto_rawDesc
+)
+
+func file_GachaActivityCreateRobotReq_proto_rawDescGZIP() []byte {
+ file_GachaActivityCreateRobotReq_proto_rawDescOnce.Do(func() {
+ file_GachaActivityCreateRobotReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityCreateRobotReq_proto_rawDescData)
+ })
+ return file_GachaActivityCreateRobotReq_proto_rawDescData
+}
+
+var file_GachaActivityCreateRobotReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaActivityCreateRobotReq_proto_goTypes = []interface{}{
+ (*GachaActivityCreateRobotReq)(nil), // 0: proto.GachaActivityCreateRobotReq
+}
+var file_GachaActivityCreateRobotReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityCreateRobotReq_proto_init() }
+func file_GachaActivityCreateRobotReq_proto_init() {
+ if File_GachaActivityCreateRobotReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityCreateRobotReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityCreateRobotReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityCreateRobotReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityCreateRobotReq_proto_goTypes,
+ DependencyIndexes: file_GachaActivityCreateRobotReq_proto_depIdxs,
+ MessageInfos: file_GachaActivityCreateRobotReq_proto_msgTypes,
+ }.Build()
+ File_GachaActivityCreateRobotReq_proto = out.File
+ file_GachaActivityCreateRobotReq_proto_rawDesc = nil
+ file_GachaActivityCreateRobotReq_proto_goTypes = nil
+ file_GachaActivityCreateRobotReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityCreateRobotRsp.pb.go b/protocol/proto/GachaActivityCreateRobotRsp.pb.go
new file mode 100644
index 00000000..19afad75
--- /dev/null
+++ b/protocol/proto/GachaActivityCreateRobotRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityCreateRobotRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8610
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GachaActivityCreateRobotRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RobotId uint32 `protobuf:"varint,1,opt,name=robot_id,json=robotId,proto3" json:"robot_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GachaActivityCreateRobotRsp) Reset() {
+ *x = GachaActivityCreateRobotRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityCreateRobotRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityCreateRobotRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityCreateRobotRsp) ProtoMessage() {}
+
+func (x *GachaActivityCreateRobotRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityCreateRobotRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityCreateRobotRsp.ProtoReflect.Descriptor instead.
+func (*GachaActivityCreateRobotRsp) Descriptor() ([]byte, []int) {
+ return file_GachaActivityCreateRobotRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityCreateRobotRsp) GetRobotId() uint32 {
+ if x != nil {
+ return x.RobotId
+ }
+ return 0
+}
+
+func (x *GachaActivityCreateRobotRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GachaActivityCreateRobotRsp_proto protoreflect.FileDescriptor
+
+var file_GachaActivityCreateRobotRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x1b, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x62,
+ 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x6f, 0x62,
+ 0x6f, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityCreateRobotRsp_proto_rawDescOnce sync.Once
+ file_GachaActivityCreateRobotRsp_proto_rawDescData = file_GachaActivityCreateRobotRsp_proto_rawDesc
+)
+
+func file_GachaActivityCreateRobotRsp_proto_rawDescGZIP() []byte {
+ file_GachaActivityCreateRobotRsp_proto_rawDescOnce.Do(func() {
+ file_GachaActivityCreateRobotRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityCreateRobotRsp_proto_rawDescData)
+ })
+ return file_GachaActivityCreateRobotRsp_proto_rawDescData
+}
+
+var file_GachaActivityCreateRobotRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaActivityCreateRobotRsp_proto_goTypes = []interface{}{
+ (*GachaActivityCreateRobotRsp)(nil), // 0: proto.GachaActivityCreateRobotRsp
+}
+var file_GachaActivityCreateRobotRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityCreateRobotRsp_proto_init() }
+func file_GachaActivityCreateRobotRsp_proto_init() {
+ if File_GachaActivityCreateRobotRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityCreateRobotRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityCreateRobotRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityCreateRobotRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityCreateRobotRsp_proto_goTypes,
+ DependencyIndexes: file_GachaActivityCreateRobotRsp_proto_depIdxs,
+ MessageInfos: file_GachaActivityCreateRobotRsp_proto_msgTypes,
+ }.Build()
+ File_GachaActivityCreateRobotRsp_proto = out.File
+ file_GachaActivityCreateRobotRsp_proto_rawDesc = nil
+ file_GachaActivityCreateRobotRsp_proto_goTypes = nil
+ file_GachaActivityCreateRobotRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityDetailInfo.pb.go b/protocol/proto/GachaActivityDetailInfo.pb.go
new file mode 100644
index 00000000..9e936f73
--- /dev/null
+++ b/protocol/proto/GachaActivityDetailInfo.pb.go
@@ -0,0 +1,240 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GachaActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HaveGetRobotList []uint32 `protobuf:"varint,6,rep,packed,name=have_get_robot_list,json=haveGetRobotList,proto3" json:"have_get_robot_list,omitempty"`
+ GachaStageList []*GachaStageData `protobuf:"bytes,4,rep,name=gacha_stage_list,json=gachaStageList,proto3" json:"gacha_stage_list,omitempty"`
+ HaveRewardRobotNumMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=have_reward_robot_num_map,json=haveRewardRobotNumMap,proto3" json:"have_reward_robot_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ TechCreateRobotId uint32 `protobuf:"varint,3,opt,name=tech_create_robot_id,json=techCreateRobotId,proto3" json:"tech_create_robot_id,omitempty"`
+ RobotNumMap map[uint32]uint32 `protobuf:"bytes,5,rep,name=robot_num_map,json=robotNumMap,proto3" json:"robot_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ RobotFinishNum uint32 `protobuf:"varint,12,opt,name=robot_finish_num,json=robotFinishNum,proto3" json:"robot_finish_num,omitempty"`
+}
+
+func (x *GachaActivityDetailInfo) Reset() {
+ *x = GachaActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityDetailInfo) ProtoMessage() {}
+
+func (x *GachaActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*GachaActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_GachaActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityDetailInfo) GetHaveGetRobotList() []uint32 {
+ if x != nil {
+ return x.HaveGetRobotList
+ }
+ return nil
+}
+
+func (x *GachaActivityDetailInfo) GetGachaStageList() []*GachaStageData {
+ if x != nil {
+ return x.GachaStageList
+ }
+ return nil
+}
+
+func (x *GachaActivityDetailInfo) GetHaveRewardRobotNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.HaveRewardRobotNumMap
+ }
+ return nil
+}
+
+func (x *GachaActivityDetailInfo) GetTechCreateRobotId() uint32 {
+ if x != nil {
+ return x.TechCreateRobotId
+ }
+ return 0
+}
+
+func (x *GachaActivityDetailInfo) GetRobotNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.RobotNumMap
+ }
+ return nil
+}
+
+func (x *GachaActivityDetailInfo) GetRobotFinishNum() uint32 {
+ if x != nil {
+ return x.RobotFinishNum
+ }
+ return 0
+}
+
+var File_GachaActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_GachaActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x61, 0x63, 0x68, 0x61, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x04, 0x0a,
+ 0x17, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x13, 0x68, 0x61, 0x76, 0x65,
+ 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x68, 0x61, 0x76, 0x65, 0x47, 0x65, 0x74, 0x52, 0x6f,
+ 0x62, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x10, 0x67, 0x61, 0x63, 0x68, 0x61,
+ 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68, 0x61, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x67, 0x61, 0x63, 0x68, 0x61, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x19, 0x68, 0x61, 0x76, 0x65,
+ 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x61, 0x76, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x68, 0x61, 0x76, 0x65, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x2f, 0x0a,
+ 0x14, 0x74, 0x65, 0x63, 0x68, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x62,
+ 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x65, 0x63,
+ 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x53,
+ 0x0a, 0x0d, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x5f, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72,
+ 0x6f, 0x62, 0x6f, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x75, 0x6d, 0x1a, 0x48, 0x0a,
+ 0x1a, 0x48, 0x61, 0x76, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x6f, 0x62, 0x6f, 0x74,
+ 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x52, 0x6f, 0x62, 0x6f, 0x74,
+ 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_GachaActivityDetailInfo_proto_rawDescData = file_GachaActivityDetailInfo_proto_rawDesc
+)
+
+func file_GachaActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_GachaActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_GachaActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityDetailInfo_proto_rawDescData)
+ })
+ return file_GachaActivityDetailInfo_proto_rawDescData
+}
+
+var file_GachaActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_GachaActivityDetailInfo_proto_goTypes = []interface{}{
+ (*GachaActivityDetailInfo)(nil), // 0: proto.GachaActivityDetailInfo
+ nil, // 1: proto.GachaActivityDetailInfo.HaveRewardRobotNumMapEntry
+ nil, // 2: proto.GachaActivityDetailInfo.RobotNumMapEntry
+ (*GachaStageData)(nil), // 3: proto.GachaStageData
+}
+var file_GachaActivityDetailInfo_proto_depIdxs = []int32{
+ 3, // 0: proto.GachaActivityDetailInfo.gacha_stage_list:type_name -> proto.GachaStageData
+ 1, // 1: proto.GachaActivityDetailInfo.have_reward_robot_num_map:type_name -> proto.GachaActivityDetailInfo.HaveRewardRobotNumMapEntry
+ 2, // 2: proto.GachaActivityDetailInfo.robot_num_map:type_name -> proto.GachaActivityDetailInfo.RobotNumMapEntry
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityDetailInfo_proto_init() }
+func file_GachaActivityDetailInfo_proto_init() {
+ if File_GachaActivityDetailInfo_proto != nil {
+ return
+ }
+ file_GachaStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_GachaActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_GachaActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_GachaActivityDetailInfo_proto = out.File
+ file_GachaActivityDetailInfo_proto_rawDesc = nil
+ file_GachaActivityDetailInfo_proto_goTypes = nil
+ file_GachaActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityNextStageReq.pb.go b/protocol/proto/GachaActivityNextStageReq.pb.go
new file mode 100644
index 00000000..74a8e1d6
--- /dev/null
+++ b/protocol/proto/GachaActivityNextStageReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityNextStageReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8257
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GachaActivityNextStageReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GachaActivityNextStageReq) Reset() {
+ *x = GachaActivityNextStageReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityNextStageReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityNextStageReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityNextStageReq) ProtoMessage() {}
+
+func (x *GachaActivityNextStageReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityNextStageReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityNextStageReq.ProtoReflect.Descriptor instead.
+func (*GachaActivityNextStageReq) Descriptor() ([]byte, []int) {
+ return file_GachaActivityNextStageReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GachaActivityNextStageReq_proto protoreflect.FileDescriptor
+
+var file_GachaActivityNextStageReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e,
+ 0x65, 0x78, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x61, 0x63, 0x68,
+ 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityNextStageReq_proto_rawDescOnce sync.Once
+ file_GachaActivityNextStageReq_proto_rawDescData = file_GachaActivityNextStageReq_proto_rawDesc
+)
+
+func file_GachaActivityNextStageReq_proto_rawDescGZIP() []byte {
+ file_GachaActivityNextStageReq_proto_rawDescOnce.Do(func() {
+ file_GachaActivityNextStageReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityNextStageReq_proto_rawDescData)
+ })
+ return file_GachaActivityNextStageReq_proto_rawDescData
+}
+
+var file_GachaActivityNextStageReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaActivityNextStageReq_proto_goTypes = []interface{}{
+ (*GachaActivityNextStageReq)(nil), // 0: proto.GachaActivityNextStageReq
+}
+var file_GachaActivityNextStageReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityNextStageReq_proto_init() }
+func file_GachaActivityNextStageReq_proto_init() {
+ if File_GachaActivityNextStageReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityNextStageReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityNextStageReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityNextStageReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityNextStageReq_proto_goTypes,
+ DependencyIndexes: file_GachaActivityNextStageReq_proto_depIdxs,
+ MessageInfos: file_GachaActivityNextStageReq_proto_msgTypes,
+ }.Build()
+ File_GachaActivityNextStageReq_proto = out.File
+ file_GachaActivityNextStageReq_proto_rawDesc = nil
+ file_GachaActivityNextStageReq_proto_goTypes = nil
+ file_GachaActivityNextStageReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityNextStageRsp.pb.go b/protocol/proto/GachaActivityNextStageRsp.pb.go
new file mode 100644
index 00000000..d1a8b2b9
--- /dev/null
+++ b/protocol/proto/GachaActivityNextStageRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityNextStageRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8918
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GachaActivityNextStageRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,13,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GachaActivityNextStageRsp) Reset() {
+ *x = GachaActivityNextStageRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityNextStageRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityNextStageRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityNextStageRsp) ProtoMessage() {}
+
+func (x *GachaActivityNextStageRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityNextStageRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityNextStageRsp.ProtoReflect.Descriptor instead.
+func (*GachaActivityNextStageRsp) Descriptor() ([]byte, []int) {
+ return file_GachaActivityNextStageRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityNextStageRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *GachaActivityNextStageRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GachaActivityNextStageRsp_proto protoreflect.FileDescriptor
+
+var file_GachaActivityNextStageRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e,
+ 0x65, 0x78, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x19, 0x47, 0x61, 0x63, 0x68,
+ 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityNextStageRsp_proto_rawDescOnce sync.Once
+ file_GachaActivityNextStageRsp_proto_rawDescData = file_GachaActivityNextStageRsp_proto_rawDesc
+)
+
+func file_GachaActivityNextStageRsp_proto_rawDescGZIP() []byte {
+ file_GachaActivityNextStageRsp_proto_rawDescOnce.Do(func() {
+ file_GachaActivityNextStageRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityNextStageRsp_proto_rawDescData)
+ })
+ return file_GachaActivityNextStageRsp_proto_rawDescData
+}
+
+var file_GachaActivityNextStageRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaActivityNextStageRsp_proto_goTypes = []interface{}{
+ (*GachaActivityNextStageRsp)(nil), // 0: proto.GachaActivityNextStageRsp
+}
+var file_GachaActivityNextStageRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityNextStageRsp_proto_init() }
+func file_GachaActivityNextStageRsp_proto_init() {
+ if File_GachaActivityNextStageRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityNextStageRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityNextStageRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityNextStageRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityNextStageRsp_proto_goTypes,
+ DependencyIndexes: file_GachaActivityNextStageRsp_proto_depIdxs,
+ MessageInfos: file_GachaActivityNextStageRsp_proto_msgTypes,
+ }.Build()
+ File_GachaActivityNextStageRsp_proto = out.File
+ file_GachaActivityNextStageRsp_proto_rawDesc = nil
+ file_GachaActivityNextStageRsp_proto_goTypes = nil
+ file_GachaActivityNextStageRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityPercentNotify.pb.go b/protocol/proto/GachaActivityPercentNotify.pb.go
new file mode 100644
index 00000000..d71bd76f
--- /dev/null
+++ b/protocol/proto/GachaActivityPercentNotify.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityPercentNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8450
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GachaActivityPercentNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemStage uint32 `protobuf:"varint,14,opt,name=item_stage,json=itemStage,proto3" json:"item_stage,omitempty"`
+ TargetNumMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=target_num_map,json=targetNumMap,proto3" json:"target_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ SubItemStage uint32 `protobuf:"varint,2,opt,name=sub_item_stage,json=subItemStage,proto3" json:"sub_item_stage,omitempty"`
+ Percent uint32 `protobuf:"varint,13,opt,name=percent,proto3" json:"percent,omitempty"`
+}
+
+func (x *GachaActivityPercentNotify) Reset() {
+ *x = GachaActivityPercentNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityPercentNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityPercentNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityPercentNotify) ProtoMessage() {}
+
+func (x *GachaActivityPercentNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityPercentNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityPercentNotify.ProtoReflect.Descriptor instead.
+func (*GachaActivityPercentNotify) Descriptor() ([]byte, []int) {
+ return file_GachaActivityPercentNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityPercentNotify) GetItemStage() uint32 {
+ if x != nil {
+ return x.ItemStage
+ }
+ return 0
+}
+
+func (x *GachaActivityPercentNotify) GetTargetNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.TargetNumMap
+ }
+ return nil
+}
+
+func (x *GachaActivityPercentNotify) GetSubItemStage() uint32 {
+ if x != nil {
+ return x.SubItemStage
+ }
+ return 0
+}
+
+func (x *GachaActivityPercentNotify) GetPercent() uint32 {
+ if x != nil {
+ return x.Percent
+ }
+ return 0
+}
+
+var File_GachaActivityPercentNotify_proto protoreflect.FileDescriptor
+
+var file_GachaActivityPercentNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50,
+ 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x02, 0x0a, 0x1a, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65,
+ 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x74,
+ 0x65, 0x6d, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x75, 0x6d, 0x4d,
+ 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x49,
+ 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63,
+ 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65,
+ 0x6e, 0x74, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x75, 0x6d, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityPercentNotify_proto_rawDescOnce sync.Once
+ file_GachaActivityPercentNotify_proto_rawDescData = file_GachaActivityPercentNotify_proto_rawDesc
+)
+
+func file_GachaActivityPercentNotify_proto_rawDescGZIP() []byte {
+ file_GachaActivityPercentNotify_proto_rawDescOnce.Do(func() {
+ file_GachaActivityPercentNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityPercentNotify_proto_rawDescData)
+ })
+ return file_GachaActivityPercentNotify_proto_rawDescData
+}
+
+var file_GachaActivityPercentNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GachaActivityPercentNotify_proto_goTypes = []interface{}{
+ (*GachaActivityPercentNotify)(nil), // 0: proto.GachaActivityPercentNotify
+ nil, // 1: proto.GachaActivityPercentNotify.TargetNumMapEntry
+}
+var file_GachaActivityPercentNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GachaActivityPercentNotify.target_num_map:type_name -> proto.GachaActivityPercentNotify.TargetNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityPercentNotify_proto_init() }
+func file_GachaActivityPercentNotify_proto_init() {
+ if File_GachaActivityPercentNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityPercentNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityPercentNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityPercentNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityPercentNotify_proto_goTypes,
+ DependencyIndexes: file_GachaActivityPercentNotify_proto_depIdxs,
+ MessageInfos: file_GachaActivityPercentNotify_proto_msgTypes,
+ }.Build()
+ File_GachaActivityPercentNotify_proto = out.File
+ file_GachaActivityPercentNotify_proto_rawDesc = nil
+ file_GachaActivityPercentNotify_proto_goTypes = nil
+ file_GachaActivityPercentNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityResetReq.pb.go b/protocol/proto/GachaActivityResetReq.pb.go
new file mode 100644
index 00000000..5c74d4af
--- /dev/null
+++ b/protocol/proto/GachaActivityResetReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityResetReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8163
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GachaActivityResetReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,2,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *GachaActivityResetReq) Reset() {
+ *x = GachaActivityResetReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityResetReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityResetReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityResetReq) ProtoMessage() {}
+
+func (x *GachaActivityResetReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityResetReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityResetReq.ProtoReflect.Descriptor instead.
+func (*GachaActivityResetReq) Descriptor() ([]byte, []int) {
+ return file_GachaActivityResetReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityResetReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_GachaActivityResetReq_proto protoreflect.FileDescriptor
+
+var file_GachaActivityResetReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x15, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityResetReq_proto_rawDescOnce sync.Once
+ file_GachaActivityResetReq_proto_rawDescData = file_GachaActivityResetReq_proto_rawDesc
+)
+
+func file_GachaActivityResetReq_proto_rawDescGZIP() []byte {
+ file_GachaActivityResetReq_proto_rawDescOnce.Do(func() {
+ file_GachaActivityResetReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityResetReq_proto_rawDescData)
+ })
+ return file_GachaActivityResetReq_proto_rawDescData
+}
+
+var file_GachaActivityResetReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaActivityResetReq_proto_goTypes = []interface{}{
+ (*GachaActivityResetReq)(nil), // 0: proto.GachaActivityResetReq
+}
+var file_GachaActivityResetReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityResetReq_proto_init() }
+func file_GachaActivityResetReq_proto_init() {
+ if File_GachaActivityResetReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityResetReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityResetReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityResetReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityResetReq_proto_goTypes,
+ DependencyIndexes: file_GachaActivityResetReq_proto_depIdxs,
+ MessageInfos: file_GachaActivityResetReq_proto_msgTypes,
+ }.Build()
+ File_GachaActivityResetReq_proto = out.File
+ file_GachaActivityResetReq_proto_rawDesc = nil
+ file_GachaActivityResetReq_proto_goTypes = nil
+ file_GachaActivityResetReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityResetRsp.pb.go b/protocol/proto/GachaActivityResetRsp.pb.go
new file mode 100644
index 00000000..76e5785d
--- /dev/null
+++ b/protocol/proto/GachaActivityResetRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityResetRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8240
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GachaActivityResetRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ StageId uint32 `protobuf:"varint,6,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *GachaActivityResetRsp) Reset() {
+ *x = GachaActivityResetRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityResetRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityResetRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityResetRsp) ProtoMessage() {}
+
+func (x *GachaActivityResetRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityResetRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityResetRsp.ProtoReflect.Descriptor instead.
+func (*GachaActivityResetRsp) Descriptor() ([]byte, []int) {
+ return file_GachaActivityResetRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityResetRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GachaActivityResetRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_GachaActivityResetRsp_proto protoreflect.FileDescriptor
+
+var file_GachaActivityResetRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x73, 0x65, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x15, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityResetRsp_proto_rawDescOnce sync.Once
+ file_GachaActivityResetRsp_proto_rawDescData = file_GachaActivityResetRsp_proto_rawDesc
+)
+
+func file_GachaActivityResetRsp_proto_rawDescGZIP() []byte {
+ file_GachaActivityResetRsp_proto_rawDescOnce.Do(func() {
+ file_GachaActivityResetRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityResetRsp_proto_rawDescData)
+ })
+ return file_GachaActivityResetRsp_proto_rawDescData
+}
+
+var file_GachaActivityResetRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaActivityResetRsp_proto_goTypes = []interface{}{
+ (*GachaActivityResetRsp)(nil), // 0: proto.GachaActivityResetRsp
+}
+var file_GachaActivityResetRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityResetRsp_proto_init() }
+func file_GachaActivityResetRsp_proto_init() {
+ if File_GachaActivityResetRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityResetRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityResetRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityResetRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityResetRsp_proto_goTypes,
+ DependencyIndexes: file_GachaActivityResetRsp_proto_depIdxs,
+ MessageInfos: file_GachaActivityResetRsp_proto_msgTypes,
+ }.Build()
+ File_GachaActivityResetRsp_proto = out.File
+ file_GachaActivityResetRsp_proto_rawDesc = nil
+ file_GachaActivityResetRsp_proto_goTypes = nil
+ file_GachaActivityResetRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityTakeRewardReq.pb.go b/protocol/proto/GachaActivityTakeRewardReq.pb.go
new file mode 100644
index 00000000..6ddedbe8
--- /dev/null
+++ b/protocol/proto/GachaActivityTakeRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityTakeRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8930
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GachaActivityTakeRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RobotNumMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=robot_num_map,json=robotNumMap,proto3" json:"robot_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GachaActivityTakeRewardReq) Reset() {
+ *x = GachaActivityTakeRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityTakeRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityTakeRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityTakeRewardReq) ProtoMessage() {}
+
+func (x *GachaActivityTakeRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityTakeRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityTakeRewardReq.ProtoReflect.Descriptor instead.
+func (*GachaActivityTakeRewardReq) Descriptor() ([]byte, []int) {
+ return file_GachaActivityTakeRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityTakeRewardReq) GetRobotNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.RobotNumMap
+ }
+ return nil
+}
+
+var File_GachaActivityTakeRewardReq_proto protoreflect.FileDescriptor
+
+var file_GachaActivityTakeRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54,
+ 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x01, 0x0a, 0x1a, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x56, 0x0a, 0x0d, 0x72, 0x6f, 0x62, 0x6f,
+ 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x1a, 0x3e, 0x0a, 0x10, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityTakeRewardReq_proto_rawDescOnce sync.Once
+ file_GachaActivityTakeRewardReq_proto_rawDescData = file_GachaActivityTakeRewardReq_proto_rawDesc
+)
+
+func file_GachaActivityTakeRewardReq_proto_rawDescGZIP() []byte {
+ file_GachaActivityTakeRewardReq_proto_rawDescOnce.Do(func() {
+ file_GachaActivityTakeRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityTakeRewardReq_proto_rawDescData)
+ })
+ return file_GachaActivityTakeRewardReq_proto_rawDescData
+}
+
+var file_GachaActivityTakeRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GachaActivityTakeRewardReq_proto_goTypes = []interface{}{
+ (*GachaActivityTakeRewardReq)(nil), // 0: proto.GachaActivityTakeRewardReq
+ nil, // 1: proto.GachaActivityTakeRewardReq.RobotNumMapEntry
+}
+var file_GachaActivityTakeRewardReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GachaActivityTakeRewardReq.robot_num_map:type_name -> proto.GachaActivityTakeRewardReq.RobotNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityTakeRewardReq_proto_init() }
+func file_GachaActivityTakeRewardReq_proto_init() {
+ if File_GachaActivityTakeRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityTakeRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityTakeRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityTakeRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityTakeRewardReq_proto_goTypes,
+ DependencyIndexes: file_GachaActivityTakeRewardReq_proto_depIdxs,
+ MessageInfos: file_GachaActivityTakeRewardReq_proto_msgTypes,
+ }.Build()
+ File_GachaActivityTakeRewardReq_proto = out.File
+ file_GachaActivityTakeRewardReq_proto_rawDesc = nil
+ file_GachaActivityTakeRewardReq_proto_goTypes = nil
+ file_GachaActivityTakeRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityTakeRewardRsp.pb.go b/protocol/proto/GachaActivityTakeRewardRsp.pb.go
new file mode 100644
index 00000000..f188d66d
--- /dev/null
+++ b/protocol/proto/GachaActivityTakeRewardRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityTakeRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8768
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GachaActivityTakeRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RobotNumMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=robot_num_map,json=robotNumMap,proto3" json:"robot_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GachaActivityTakeRewardRsp) Reset() {
+ *x = GachaActivityTakeRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityTakeRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityTakeRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityTakeRewardRsp) ProtoMessage() {}
+
+func (x *GachaActivityTakeRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityTakeRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityTakeRewardRsp.ProtoReflect.Descriptor instead.
+func (*GachaActivityTakeRewardRsp) Descriptor() ([]byte, []int) {
+ return file_GachaActivityTakeRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityTakeRewardRsp) GetRobotNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.RobotNumMap
+ }
+ return nil
+}
+
+func (x *GachaActivityTakeRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GachaActivityTakeRewardRsp_proto protoreflect.FileDescriptor
+
+var file_GachaActivityTakeRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54,
+ 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x01, 0x0a, 0x1a, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x0d, 0x72, 0x6f, 0x62, 0x6f,
+ 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0b, 0x72, 0x6f, 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x3e, 0x0a, 0x10, 0x52, 0x6f,
+ 0x62, 0x6f, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityTakeRewardRsp_proto_rawDescOnce sync.Once
+ file_GachaActivityTakeRewardRsp_proto_rawDescData = file_GachaActivityTakeRewardRsp_proto_rawDesc
+)
+
+func file_GachaActivityTakeRewardRsp_proto_rawDescGZIP() []byte {
+ file_GachaActivityTakeRewardRsp_proto_rawDescOnce.Do(func() {
+ file_GachaActivityTakeRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityTakeRewardRsp_proto_rawDescData)
+ })
+ return file_GachaActivityTakeRewardRsp_proto_rawDescData
+}
+
+var file_GachaActivityTakeRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GachaActivityTakeRewardRsp_proto_goTypes = []interface{}{
+ (*GachaActivityTakeRewardRsp)(nil), // 0: proto.GachaActivityTakeRewardRsp
+ nil, // 1: proto.GachaActivityTakeRewardRsp.RobotNumMapEntry
+}
+var file_GachaActivityTakeRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GachaActivityTakeRewardRsp.robot_num_map:type_name -> proto.GachaActivityTakeRewardRsp.RobotNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityTakeRewardRsp_proto_init() }
+func file_GachaActivityTakeRewardRsp_proto_init() {
+ if File_GachaActivityTakeRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityTakeRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityTakeRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityTakeRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityTakeRewardRsp_proto_goTypes,
+ DependencyIndexes: file_GachaActivityTakeRewardRsp_proto_depIdxs,
+ MessageInfos: file_GachaActivityTakeRewardRsp_proto_msgTypes,
+ }.Build()
+ File_GachaActivityTakeRewardRsp_proto = out.File
+ file_GachaActivityTakeRewardRsp_proto_rawDesc = nil
+ file_GachaActivityTakeRewardRsp_proto_goTypes = nil
+ file_GachaActivityTakeRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaActivityUpdateElemNotify.pb.go b/protocol/proto/GachaActivityUpdateElemNotify.pb.go
new file mode 100644
index 00000000..f18312da
--- /dev/null
+++ b/protocol/proto/GachaActivityUpdateElemNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaActivityUpdateElemNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8919
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GachaActivityUpdateElemNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ElemType uint32 `protobuf:"varint,10,opt,name=elem_type,json=elemType,proto3" json:"elem_type,omitempty"`
+}
+
+func (x *GachaActivityUpdateElemNotify) Reset() {
+ *x = GachaActivityUpdateElemNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaActivityUpdateElemNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaActivityUpdateElemNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaActivityUpdateElemNotify) ProtoMessage() {}
+
+func (x *GachaActivityUpdateElemNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaActivityUpdateElemNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaActivityUpdateElemNotify.ProtoReflect.Descriptor instead.
+func (*GachaActivityUpdateElemNotify) Descriptor() ([]byte, []int) {
+ return file_GachaActivityUpdateElemNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaActivityUpdateElemNotify) GetElemType() uint32 {
+ if x != nil {
+ return x.ElemType
+ }
+ return 0
+}
+
+var File_GachaActivityUpdateElemNotify_proto protoreflect.FileDescriptor
+
+var file_GachaActivityUpdateElemNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x1d,
+ 0x47, 0x61, 0x63, 0x68, 0x61, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaActivityUpdateElemNotify_proto_rawDescOnce sync.Once
+ file_GachaActivityUpdateElemNotify_proto_rawDescData = file_GachaActivityUpdateElemNotify_proto_rawDesc
+)
+
+func file_GachaActivityUpdateElemNotify_proto_rawDescGZIP() []byte {
+ file_GachaActivityUpdateElemNotify_proto_rawDescOnce.Do(func() {
+ file_GachaActivityUpdateElemNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaActivityUpdateElemNotify_proto_rawDescData)
+ })
+ return file_GachaActivityUpdateElemNotify_proto_rawDescData
+}
+
+var file_GachaActivityUpdateElemNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaActivityUpdateElemNotify_proto_goTypes = []interface{}{
+ (*GachaActivityUpdateElemNotify)(nil), // 0: proto.GachaActivityUpdateElemNotify
+}
+var file_GachaActivityUpdateElemNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaActivityUpdateElemNotify_proto_init() }
+func file_GachaActivityUpdateElemNotify_proto_init() {
+ if File_GachaActivityUpdateElemNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaActivityUpdateElemNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaActivityUpdateElemNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaActivityUpdateElemNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaActivityUpdateElemNotify_proto_goTypes,
+ DependencyIndexes: file_GachaActivityUpdateElemNotify_proto_depIdxs,
+ MessageInfos: file_GachaActivityUpdateElemNotify_proto_msgTypes,
+ }.Build()
+ File_GachaActivityUpdateElemNotify_proto = out.File
+ file_GachaActivityUpdateElemNotify_proto_rawDesc = nil
+ file_GachaActivityUpdateElemNotify_proto_goTypes = nil
+ file_GachaActivityUpdateElemNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaInfo.pb.go b/protocol/proto/GachaInfo.pb.go
new file mode 100644
index 00000000..939fd035
--- /dev/null
+++ b/protocol/proto/GachaInfo.pb.go
@@ -0,0 +1,430 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GachaInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TenCostItemId uint32 `protobuf:"varint,2,opt,name=ten_cost_item_id,json=tenCostItemId,proto3" json:"ten_cost_item_id,omitempty"`
+ EndTime uint32 `protobuf:"varint,14,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ DisplayUp4ItemList []uint32 `protobuf:"varint,1875,rep,packed,name=display_up4_item_list,json=displayUp4ItemList,proto3" json:"display_up4_item_list,omitempty"`
+ CurScheduleDailyGachaTimes uint32 `protobuf:"varint,469,opt,name=cur_schedule_daily_gacha_times,json=curScheduleDailyGachaTimes,proto3" json:"cur_schedule_daily_gacha_times,omitempty"`
+ GachaUpInfoList []*GachaUpInfo `protobuf:"bytes,1233,rep,name=gacha_up_info_list,json=gachaUpInfoList,proto3" json:"gacha_up_info_list,omitempty"`
+ GachaProbUrl string `protobuf:"bytes,8,opt,name=gacha_prob_url,json=gachaProbUrl,proto3" json:"gacha_prob_url,omitempty"`
+ GachaPrefabPath string `protobuf:"bytes,15,opt,name=gacha_prefab_path,json=gachaPrefabPath,proto3" json:"gacha_prefab_path,omitempty"`
+ WishItemId uint32 `protobuf:"varint,1637,opt,name=wish_item_id,json=wishItemId,proto3" json:"wish_item_id,omitempty"`
+ BeginTime uint32 `protobuf:"varint,1,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ WishMaxProgress uint32 `protobuf:"varint,1222,opt,name=wish_max_progress,json=wishMaxProgress,proto3" json:"wish_max_progress,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ GachaProbUrlOversea string `protobuf:"bytes,1481,opt,name=gacha_prob_url_oversea,json=gachaProbUrlOversea,proto3" json:"gacha_prob_url_oversea,omitempty"`
+ GachaType uint32 `protobuf:"varint,13,opt,name=gacha_type,json=gachaType,proto3" json:"gacha_type,omitempty"`
+ LeftGachaTimes uint32 `protobuf:"varint,5,opt,name=left_gacha_times,json=leftGachaTimes,proto3" json:"left_gacha_times,omitempty"`
+ DisplayUp5ItemList []uint32 `protobuf:"varint,2006,rep,packed,name=display_up5_item_list,json=displayUp5ItemList,proto3" json:"display_up5_item_list,omitempty"`
+ GachaTimesLimit uint32 `protobuf:"varint,11,opt,name=gacha_times_limit,json=gachaTimesLimit,proto3" json:"gacha_times_limit,omitempty"`
+ CostItemNum uint32 `protobuf:"varint,3,opt,name=cost_item_num,json=costItemNum,proto3" json:"cost_item_num,omitempty"`
+ IsNewWish bool `protobuf:"varint,733,opt,name=is_new_wish,json=isNewWish,proto3" json:"is_new_wish,omitempty"`
+ CostItemId uint32 `protobuf:"varint,9,opt,name=cost_item_id,json=costItemId,proto3" json:"cost_item_id,omitempty"`
+ TenCostItemNum uint32 `protobuf:"varint,6,opt,name=ten_cost_item_num,json=tenCostItemNum,proto3" json:"ten_cost_item_num,omitempty"`
+ GachaPreviewPrefabPath string `protobuf:"bytes,4,opt,name=gacha_preview_prefab_path,json=gachaPreviewPrefabPath,proto3" json:"gacha_preview_prefab_path,omitempty"`
+ WishProgress uint32 `protobuf:"varint,1819,opt,name=wish_progress,json=wishProgress,proto3" json:"wish_progress,omitempty"`
+ TitleTextmap string `protobuf:"bytes,736,opt,name=title_textmap,json=titleTextmap,proto3" json:"title_textmap,omitempty"`
+ GachaRecordUrlOversea string `protobuf:"bytes,1854,opt,name=gacha_record_url_oversea,json=gachaRecordUrlOversea,proto3" json:"gacha_record_url_oversea,omitempty"`
+ GachaSortId uint32 `protobuf:"varint,7,opt,name=gacha_sort_id,json=gachaSortId,proto3" json:"gacha_sort_id,omitempty"`
+ GachaRecordUrl string `protobuf:"bytes,12,opt,name=gacha_record_url,json=gachaRecordUrl,proto3" json:"gacha_record_url,omitempty"`
+}
+
+func (x *GachaInfo) Reset() {
+ *x = GachaInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaInfo) ProtoMessage() {}
+
+func (x *GachaInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaInfo.ProtoReflect.Descriptor instead.
+func (*GachaInfo) Descriptor() ([]byte, []int) {
+ return file_GachaInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaInfo) GetTenCostItemId() uint32 {
+ if x != nil {
+ return x.TenCostItemId
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetDisplayUp4ItemList() []uint32 {
+ if x != nil {
+ return x.DisplayUp4ItemList
+ }
+ return nil
+}
+
+func (x *GachaInfo) GetCurScheduleDailyGachaTimes() uint32 {
+ if x != nil {
+ return x.CurScheduleDailyGachaTimes
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetGachaUpInfoList() []*GachaUpInfo {
+ if x != nil {
+ return x.GachaUpInfoList
+ }
+ return nil
+}
+
+func (x *GachaInfo) GetGachaProbUrl() string {
+ if x != nil {
+ return x.GachaProbUrl
+ }
+ return ""
+}
+
+func (x *GachaInfo) GetGachaPrefabPath() string {
+ if x != nil {
+ return x.GachaPrefabPath
+ }
+ return ""
+}
+
+func (x *GachaInfo) GetWishItemId() uint32 {
+ if x != nil {
+ return x.WishItemId
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetWishMaxProgress() uint32 {
+ if x != nil {
+ return x.WishMaxProgress
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetGachaProbUrlOversea() string {
+ if x != nil {
+ return x.GachaProbUrlOversea
+ }
+ return ""
+}
+
+func (x *GachaInfo) GetGachaType() uint32 {
+ if x != nil {
+ return x.GachaType
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetLeftGachaTimes() uint32 {
+ if x != nil {
+ return x.LeftGachaTimes
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetDisplayUp5ItemList() []uint32 {
+ if x != nil {
+ return x.DisplayUp5ItemList
+ }
+ return nil
+}
+
+func (x *GachaInfo) GetGachaTimesLimit() uint32 {
+ if x != nil {
+ return x.GachaTimesLimit
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetCostItemNum() uint32 {
+ if x != nil {
+ return x.CostItemNum
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetIsNewWish() bool {
+ if x != nil {
+ return x.IsNewWish
+ }
+ return false
+}
+
+func (x *GachaInfo) GetCostItemId() uint32 {
+ if x != nil {
+ return x.CostItemId
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetTenCostItemNum() uint32 {
+ if x != nil {
+ return x.TenCostItemNum
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetGachaPreviewPrefabPath() string {
+ if x != nil {
+ return x.GachaPreviewPrefabPath
+ }
+ return ""
+}
+
+func (x *GachaInfo) GetWishProgress() uint32 {
+ if x != nil {
+ return x.WishProgress
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetTitleTextmap() string {
+ if x != nil {
+ return x.TitleTextmap
+ }
+ return ""
+}
+
+func (x *GachaInfo) GetGachaRecordUrlOversea() string {
+ if x != nil {
+ return x.GachaRecordUrlOversea
+ }
+ return ""
+}
+
+func (x *GachaInfo) GetGachaSortId() uint32 {
+ if x != nil {
+ return x.GachaSortId
+ }
+ return 0
+}
+
+func (x *GachaInfo) GetGachaRecordUrl() string {
+ if x != nil {
+ return x.GachaRecordUrl
+ }
+ return ""
+}
+
+var File_GachaInfo_proto protoreflect.FileDescriptor
+
+var file_GachaInfo_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x47, 0x61, 0x63, 0x68, 0x61, 0x55,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x08, 0x0a, 0x09,
+ 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x10, 0x74, 0x65, 0x6e,
+ 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x65, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d,
+ 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a,
+ 0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x70, 0x34, 0x5f, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xd3, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x64,
+ 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x70, 0x34, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x73, 0x18, 0xd5, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x63, 0x75, 0x72, 0x53,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x47, 0x61, 0x63, 0x68,
+ 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x12, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f,
+ 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xd1, 0x09, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68,
+ 0x61, 0x55, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x55, 0x70,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x67, 0x61, 0x63, 0x68,
+ 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x67, 0x61, 0x63, 0x68, 0x61, 0x50, 0x72, 0x6f, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x2a,
+ 0x0a, 0x11, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x61, 0x62, 0x5f, 0x70,
+ 0x61, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x67, 0x61, 0x63, 0x68, 0x61,
+ 0x50, 0x72, 0x65, 0x66, 0x61, 0x62, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69,
+ 0x73, 0x68, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0xe5, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x77, 0x69, 0x73, 0x68, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11,
+ 0x77, 0x69, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
+ 0x73, 0x18, 0xc6, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x69, 0x73, 0x68, 0x4d, 0x61,
+ 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x67, 0x61,
+ 0x63, 0x68, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6f, 0x76, 0x65,
+ 0x72, 0x73, 0x65, 0x61, 0x18, 0xc9, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x67, 0x61, 0x63,
+ 0x68, 0x61, 0x50, 0x72, 0x6f, 0x62, 0x55, 0x72, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x73, 0x65, 0x61,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x63, 0x68, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x28, 0x0a, 0x10, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x65, 0x66, 0x74, 0x47,
+ 0x61, 0x63, 0x68, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x69, 0x73,
+ 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x75, 0x70, 0x35, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0xd6, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x64, 0x69, 0x73, 0x70, 0x6c,
+ 0x61, 0x79, 0x55, 0x70, 0x35, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a,
+ 0x11, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x6d,
+ 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x54,
+ 0x69, 0x6d, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6f, 0x73,
+ 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x77, 0x69, 0x73, 0x68, 0x18, 0xdd, 0x05, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x57, 0x69, 0x73, 0x68, 0x12, 0x20,
+ 0x0a, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
+ 0x12, 0x29, 0x0a, 0x11, 0x74, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x65, 0x6e,
+ 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x39, 0x0a, 0x19, 0x67,
+ 0x61, 0x63, 0x68, 0x61, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x65,
+ 0x66, 0x61, 0x62, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16,
+ 0x67, 0x61, 0x63, 0x68, 0x61, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x65, 0x66,
+ 0x61, 0x62, 0x50, 0x61, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x69, 0x73, 0x68, 0x5f, 0x70,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x9b, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x77, 0x69, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d,
+ 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x6d, 0x61, 0x70, 0x18, 0xe0, 0x05,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x54, 0x65, 0x78, 0x74, 0x6d,
+ 0x61, 0x70, 0x12, 0x38, 0x0a, 0x18, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x72, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x73, 0x65, 0x61, 0x18, 0xbe,
+ 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x67, 0x61, 0x63, 0x68, 0x61, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x55, 0x72, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x73, 0x65, 0x61, 0x12, 0x22, 0x0a, 0x0d,
+ 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x61, 0x63, 0x68, 0x61, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64,
+ 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x61, 0x63, 0x68,
+ 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x55, 0x72, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaInfo_proto_rawDescOnce sync.Once
+ file_GachaInfo_proto_rawDescData = file_GachaInfo_proto_rawDesc
+)
+
+func file_GachaInfo_proto_rawDescGZIP() []byte {
+ file_GachaInfo_proto_rawDescOnce.Do(func() {
+ file_GachaInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaInfo_proto_rawDescData)
+ })
+ return file_GachaInfo_proto_rawDescData
+}
+
+var file_GachaInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaInfo_proto_goTypes = []interface{}{
+ (*GachaInfo)(nil), // 0: proto.GachaInfo
+ (*GachaUpInfo)(nil), // 1: proto.GachaUpInfo
+}
+var file_GachaInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GachaInfo.gacha_up_info_list:type_name -> proto.GachaUpInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GachaInfo_proto_init() }
+func file_GachaInfo_proto_init() {
+ if File_GachaInfo_proto != nil {
+ return
+ }
+ file_GachaUpInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GachaInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaInfo_proto_goTypes,
+ DependencyIndexes: file_GachaInfo_proto_depIdxs,
+ MessageInfos: file_GachaInfo_proto_msgTypes,
+ }.Build()
+ File_GachaInfo_proto = out.File
+ file_GachaInfo_proto_rawDesc = nil
+ file_GachaInfo_proto_goTypes = nil
+ file_GachaInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaItem.pb.go b/protocol/proto/GachaItem.pb.go
new file mode 100644
index 00000000..85a26fe6
--- /dev/null
+++ b/protocol/proto/GachaItem.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaItem.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GachaItem struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GachaItem *ItemParam `protobuf:"bytes,7,opt,name=gacha_item,json=gachaItem,proto3" json:"gacha_item,omitempty"`
+ IsGachaItemNew bool `protobuf:"varint,6,opt,name=is_gacha_item_new,json=isGachaItemNew,proto3" json:"is_gacha_item_new,omitempty"`
+ IsFlashCard bool `protobuf:"varint,8,opt,name=is_flash_card,json=isFlashCard,proto3" json:"is_flash_card,omitempty"`
+ TokenItemList []*ItemParam `protobuf:"bytes,9,rep,name=token_item_list,json=tokenItemList,proto3" json:"token_item_list,omitempty"`
+ TransferItems []*GachaTransferItem `protobuf:"bytes,12,rep,name=transfer_items,json=transferItems,proto3" json:"transfer_items,omitempty"`
+}
+
+func (x *GachaItem) Reset() {
+ *x = GachaItem{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaItem_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaItem) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaItem) ProtoMessage() {}
+
+func (x *GachaItem) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaItem_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaItem.ProtoReflect.Descriptor instead.
+func (*GachaItem) Descriptor() ([]byte, []int) {
+ return file_GachaItem_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaItem) GetGachaItem() *ItemParam {
+ if x != nil {
+ return x.GachaItem
+ }
+ return nil
+}
+
+func (x *GachaItem) GetIsGachaItemNew() bool {
+ if x != nil {
+ return x.IsGachaItemNew
+ }
+ return false
+}
+
+func (x *GachaItem) GetIsFlashCard() bool {
+ if x != nil {
+ return x.IsFlashCard
+ }
+ return false
+}
+
+func (x *GachaItem) GetTokenItemList() []*ItemParam {
+ if x != nil {
+ return x.TokenItemList
+ }
+ return nil
+}
+
+func (x *GachaItem) GetTransferItems() []*GachaTransferItem {
+ if x != nil {
+ return x.TransferItems
+ }
+ return nil
+}
+
+var File_GachaItem_proto protoreflect.FileDescriptor
+
+var file_GachaItem_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x63, 0x68, 0x61, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x09, 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x74, 0x65, 0x6d,
+ 0x12, 0x2f, 0x0a, 0x0a, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x09, 0x67, 0x61, 0x63, 0x68, 0x61, 0x49, 0x74, 0x65,
+ 0x6d, 0x12, 0x29, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73,
+ 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x65, 0x77, 0x12, 0x22, 0x0a, 0x0d,
+ 0x69, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x43, 0x61, 0x72, 0x64,
+ 0x12, 0x38, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0d, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68, 0x61,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0d, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaItem_proto_rawDescOnce sync.Once
+ file_GachaItem_proto_rawDescData = file_GachaItem_proto_rawDesc
+)
+
+func file_GachaItem_proto_rawDescGZIP() []byte {
+ file_GachaItem_proto_rawDescOnce.Do(func() {
+ file_GachaItem_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaItem_proto_rawDescData)
+ })
+ return file_GachaItem_proto_rawDescData
+}
+
+var file_GachaItem_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaItem_proto_goTypes = []interface{}{
+ (*GachaItem)(nil), // 0: proto.GachaItem
+ (*ItemParam)(nil), // 1: proto.ItemParam
+ (*GachaTransferItem)(nil), // 2: proto.GachaTransferItem
+}
+var file_GachaItem_proto_depIdxs = []int32{
+ 1, // 0: proto.GachaItem.gacha_item:type_name -> proto.ItemParam
+ 1, // 1: proto.GachaItem.token_item_list:type_name -> proto.ItemParam
+ 2, // 2: proto.GachaItem.transfer_items:type_name -> proto.GachaTransferItem
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GachaItem_proto_init() }
+func file_GachaItem_proto_init() {
+ if File_GachaItem_proto != nil {
+ return
+ }
+ file_GachaTransferItem_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GachaItem_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaItem); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaItem_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaItem_proto_goTypes,
+ DependencyIndexes: file_GachaItem_proto_depIdxs,
+ MessageInfos: file_GachaItem_proto_msgTypes,
+ }.Build()
+ File_GachaItem_proto = out.File
+ file_GachaItem_proto_rawDesc = nil
+ file_GachaItem_proto_goTypes = nil
+ file_GachaItem_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaOpenWishNotify.pb.go b/protocol/proto/GachaOpenWishNotify.pb.go
new file mode 100644
index 00000000..1ccd95e9
--- /dev/null
+++ b/protocol/proto/GachaOpenWishNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaOpenWishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1503
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GachaOpenWishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GachaType uint32 `protobuf:"varint,2,opt,name=gacha_type,json=gachaType,proto3" json:"gacha_type,omitempty"`
+ GachaScheduleId uint32 `protobuf:"varint,9,opt,name=gacha_schedule_id,json=gachaScheduleId,proto3" json:"gacha_schedule_id,omitempty"`
+}
+
+func (x *GachaOpenWishNotify) Reset() {
+ *x = GachaOpenWishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaOpenWishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaOpenWishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaOpenWishNotify) ProtoMessage() {}
+
+func (x *GachaOpenWishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaOpenWishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaOpenWishNotify.ProtoReflect.Descriptor instead.
+func (*GachaOpenWishNotify) Descriptor() ([]byte, []int) {
+ return file_GachaOpenWishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaOpenWishNotify) GetGachaType() uint32 {
+ if x != nil {
+ return x.GachaType
+ }
+ return 0
+}
+
+func (x *GachaOpenWishNotify) GetGachaScheduleId() uint32 {
+ if x != nil {
+ return x.GachaScheduleId
+ }
+ return 0
+}
+
+var File_GachaOpenWishNotify_proto protoreflect.FileDescriptor
+
+var file_GachaOpenWishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x61, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x65, 0x6e, 0x57, 0x69, 0x73, 0x68, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x13, 0x47, 0x61, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x65, 0x6e, 0x57,
+ 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x63,
+ 0x68, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67,
+ 0x61, 0x63, 0x68, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x61, 0x63, 0x68,
+ 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaOpenWishNotify_proto_rawDescOnce sync.Once
+ file_GachaOpenWishNotify_proto_rawDescData = file_GachaOpenWishNotify_proto_rawDesc
+)
+
+func file_GachaOpenWishNotify_proto_rawDescGZIP() []byte {
+ file_GachaOpenWishNotify_proto_rawDescOnce.Do(func() {
+ file_GachaOpenWishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaOpenWishNotify_proto_rawDescData)
+ })
+ return file_GachaOpenWishNotify_proto_rawDescData
+}
+
+var file_GachaOpenWishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaOpenWishNotify_proto_goTypes = []interface{}{
+ (*GachaOpenWishNotify)(nil), // 0: proto.GachaOpenWishNotify
+}
+var file_GachaOpenWishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaOpenWishNotify_proto_init() }
+func file_GachaOpenWishNotify_proto_init() {
+ if File_GachaOpenWishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaOpenWishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaOpenWishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaOpenWishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaOpenWishNotify_proto_goTypes,
+ DependencyIndexes: file_GachaOpenWishNotify_proto_depIdxs,
+ MessageInfos: file_GachaOpenWishNotify_proto_msgTypes,
+ }.Build()
+ File_GachaOpenWishNotify_proto = out.File
+ file_GachaOpenWishNotify_proto_rawDesc = nil
+ file_GachaOpenWishNotify_proto_goTypes = nil
+ file_GachaOpenWishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaSimpleInfoNotify.pb.go b/protocol/proto/GachaSimpleInfoNotify.pb.go
new file mode 100644
index 00000000..8e35ca54
--- /dev/null
+++ b/protocol/proto/GachaSimpleInfoNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaSimpleInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1590
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GachaSimpleInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNew bool `protobuf:"varint,5,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"`
+}
+
+func (x *GachaSimpleInfoNotify) Reset() {
+ *x = GachaSimpleInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaSimpleInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaSimpleInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaSimpleInfoNotify) ProtoMessage() {}
+
+func (x *GachaSimpleInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaSimpleInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaSimpleInfoNotify.ProtoReflect.Descriptor instead.
+func (*GachaSimpleInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GachaSimpleInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaSimpleInfoNotify) GetIsNew() bool {
+ if x != nil {
+ return x.IsNew
+ }
+ return false
+}
+
+var File_GachaSimpleInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GachaSimpleInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x61, 0x63, 0x68, 0x61, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x15, 0x47, 0x61, 0x63, 0x68, 0x61, 0x53, 0x69, 0x6d,
+ 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a,
+ 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69,
+ 0x73, 0x4e, 0x65, 0x77, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaSimpleInfoNotify_proto_rawDescOnce sync.Once
+ file_GachaSimpleInfoNotify_proto_rawDescData = file_GachaSimpleInfoNotify_proto_rawDesc
+)
+
+func file_GachaSimpleInfoNotify_proto_rawDescGZIP() []byte {
+ file_GachaSimpleInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GachaSimpleInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaSimpleInfoNotify_proto_rawDescData)
+ })
+ return file_GachaSimpleInfoNotify_proto_rawDescData
+}
+
+var file_GachaSimpleInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaSimpleInfoNotify_proto_goTypes = []interface{}{
+ (*GachaSimpleInfoNotify)(nil), // 0: proto.GachaSimpleInfoNotify
+}
+var file_GachaSimpleInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaSimpleInfoNotify_proto_init() }
+func file_GachaSimpleInfoNotify_proto_init() {
+ if File_GachaSimpleInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaSimpleInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaSimpleInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaSimpleInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaSimpleInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GachaSimpleInfoNotify_proto_depIdxs,
+ MessageInfos: file_GachaSimpleInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GachaSimpleInfoNotify_proto = out.File
+ file_GachaSimpleInfoNotify_proto_rawDesc = nil
+ file_GachaSimpleInfoNotify_proto_goTypes = nil
+ file_GachaSimpleInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaStageData.pb.go b/protocol/proto/GachaStageData.pb.go
new file mode 100644
index 00000000..e0108678
--- /dev/null
+++ b/protocol/proto/GachaStageData.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GachaStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ TargetNumMap map[uint32]uint32 `protobuf:"bytes,14,rep,name=target_num_map,json=targetNumMap,proto3" json:"target_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ IsOpen bool `protobuf:"varint,13,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *GachaStageData) Reset() {
+ *x = GachaStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaStageData) ProtoMessage() {}
+
+func (x *GachaStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaStageData.ProtoReflect.Descriptor instead.
+func (*GachaStageData) Descriptor() ([]byte, []int) {
+ return file_GachaStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *GachaStageData) GetTargetNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.TargetNumMap
+ }
+ return nil
+}
+
+func (x *GachaStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_GachaStageData_proto protoreflect.FileDescriptor
+
+var file_GachaStageData_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x61, 0x63, 0x68, 0x61, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x01,
+ 0x0a, 0x0e, 0x47, 0x61, 0x63, 0x68, 0x61, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0e, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68,
+ 0x61, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73,
+ 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f,
+ 0x70, 0x65, 0x6e, 0x1a, 0x3f, 0x0a, 0x11, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaStageData_proto_rawDescOnce sync.Once
+ file_GachaStageData_proto_rawDescData = file_GachaStageData_proto_rawDesc
+)
+
+func file_GachaStageData_proto_rawDescGZIP() []byte {
+ file_GachaStageData_proto_rawDescOnce.Do(func() {
+ file_GachaStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaStageData_proto_rawDescData)
+ })
+ return file_GachaStageData_proto_rawDescData
+}
+
+var file_GachaStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GachaStageData_proto_goTypes = []interface{}{
+ (*GachaStageData)(nil), // 0: proto.GachaStageData
+ nil, // 1: proto.GachaStageData.TargetNumMapEntry
+}
+var file_GachaStageData_proto_depIdxs = []int32{
+ 1, // 0: proto.GachaStageData.target_num_map:type_name -> proto.GachaStageData.TargetNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GachaStageData_proto_init() }
+func file_GachaStageData_proto_init() {
+ if File_GachaStageData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaStageData_proto_goTypes,
+ DependencyIndexes: file_GachaStageData_proto_depIdxs,
+ MessageInfos: file_GachaStageData_proto_msgTypes,
+ }.Build()
+ File_GachaStageData_proto = out.File
+ file_GachaStageData_proto_rawDesc = nil
+ file_GachaStageData_proto_goTypes = nil
+ file_GachaStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaTransferItem.pb.go b/protocol/proto/GachaTransferItem.pb.go
new file mode 100644
index 00000000..63c7a078
--- /dev/null
+++ b/protocol/proto/GachaTransferItem.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaTransferItem.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GachaTransferItem struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Item *ItemParam `protobuf:"bytes,3,opt,name=item,proto3" json:"item,omitempty"`
+ IsTransferItemNew bool `protobuf:"varint,1,opt,name=is_transfer_item_new,json=isTransferItemNew,proto3" json:"is_transfer_item_new,omitempty"`
+}
+
+func (x *GachaTransferItem) Reset() {
+ *x = GachaTransferItem{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaTransferItem_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaTransferItem) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaTransferItem) ProtoMessage() {}
+
+func (x *GachaTransferItem) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaTransferItem_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaTransferItem.ProtoReflect.Descriptor instead.
+func (*GachaTransferItem) Descriptor() ([]byte, []int) {
+ return file_GachaTransferItem_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaTransferItem) GetItem() *ItemParam {
+ if x != nil {
+ return x.Item
+ }
+ return nil
+}
+
+func (x *GachaTransferItem) GetIsTransferItemNew() bool {
+ if x != nil {
+ return x.IsTransferItemNew
+ }
+ return false
+}
+
+var File_GachaTransferItem_proto protoreflect.FileDescriptor
+
+var file_GachaTransferItem_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x61, 0x63, 0x68, 0x61, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49,
+ 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6a, 0x0a, 0x11, 0x47, 0x61, 0x63, 0x68, 0x61, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x2f, 0x0a, 0x14,
+ 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x65, 0x77, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GachaTransferItem_proto_rawDescOnce sync.Once
+ file_GachaTransferItem_proto_rawDescData = file_GachaTransferItem_proto_rawDesc
+)
+
+func file_GachaTransferItem_proto_rawDescGZIP() []byte {
+ file_GachaTransferItem_proto_rawDescOnce.Do(func() {
+ file_GachaTransferItem_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaTransferItem_proto_rawDescData)
+ })
+ return file_GachaTransferItem_proto_rawDescData
+}
+
+var file_GachaTransferItem_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaTransferItem_proto_goTypes = []interface{}{
+ (*GachaTransferItem)(nil), // 0: proto.GachaTransferItem
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_GachaTransferItem_proto_depIdxs = []int32{
+ 1, // 0: proto.GachaTransferItem.item:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GachaTransferItem_proto_init() }
+func file_GachaTransferItem_proto_init() {
+ if File_GachaTransferItem_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GachaTransferItem_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaTransferItem); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaTransferItem_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaTransferItem_proto_goTypes,
+ DependencyIndexes: file_GachaTransferItem_proto_depIdxs,
+ MessageInfos: file_GachaTransferItem_proto_msgTypes,
+ }.Build()
+ File_GachaTransferItem_proto = out.File
+ file_GachaTransferItem_proto_rawDesc = nil
+ file_GachaTransferItem_proto_goTypes = nil
+ file_GachaTransferItem_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaUpInfo.pb.go b/protocol/proto/GachaUpInfo.pb.go
new file mode 100644
index 00000000..e567076c
--- /dev/null
+++ b/protocol/proto/GachaUpInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaUpInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GachaUpInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemParentType uint32 `protobuf:"varint,7,opt,name=item_parent_type,json=itemParentType,proto3" json:"item_parent_type,omitempty"`
+ ItemIdList []uint32 `protobuf:"varint,15,rep,packed,name=item_id_list,json=itemIdList,proto3" json:"item_id_list,omitempty"`
+}
+
+func (x *GachaUpInfo) Reset() {
+ *x = GachaUpInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaUpInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaUpInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaUpInfo) ProtoMessage() {}
+
+func (x *GachaUpInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaUpInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaUpInfo.ProtoReflect.Descriptor instead.
+func (*GachaUpInfo) Descriptor() ([]byte, []int) {
+ return file_GachaUpInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaUpInfo) GetItemParentType() uint32 {
+ if x != nil {
+ return x.ItemParentType
+ }
+ return 0
+}
+
+func (x *GachaUpInfo) GetItemIdList() []uint32 {
+ if x != nil {
+ return x.ItemIdList
+ }
+ return nil
+}
+
+var File_GachaUpInfo_proto protoreflect.FileDescriptor
+
+var file_GachaUpInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x47, 0x61, 0x63, 0x68, 0x61, 0x55, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x0b, 0x47, 0x61,
+ 0x63, 0x68, 0x61, 0x55, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaUpInfo_proto_rawDescOnce sync.Once
+ file_GachaUpInfo_proto_rawDescData = file_GachaUpInfo_proto_rawDesc
+)
+
+func file_GachaUpInfo_proto_rawDescGZIP() []byte {
+ file_GachaUpInfo_proto_rawDescOnce.Do(func() {
+ file_GachaUpInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaUpInfo_proto_rawDescData)
+ })
+ return file_GachaUpInfo_proto_rawDescData
+}
+
+var file_GachaUpInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaUpInfo_proto_goTypes = []interface{}{
+ (*GachaUpInfo)(nil), // 0: proto.GachaUpInfo
+}
+var file_GachaUpInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaUpInfo_proto_init() }
+func file_GachaUpInfo_proto_init() {
+ if File_GachaUpInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaUpInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaUpInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaUpInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaUpInfo_proto_goTypes,
+ DependencyIndexes: file_GachaUpInfo_proto_depIdxs,
+ MessageInfos: file_GachaUpInfo_proto_msgTypes,
+ }.Build()
+ File_GachaUpInfo_proto = out.File
+ file_GachaUpInfo_proto_rawDesc = nil
+ file_GachaUpInfo_proto_goTypes = nil
+ file_GachaUpInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaWishReq.pb.go b/protocol/proto/GachaWishReq.pb.go
new file mode 100644
index 00000000..ee1f81d6
--- /dev/null
+++ b/protocol/proto/GachaWishReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaWishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1507
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GachaWishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GachaScheduleId uint32 `protobuf:"varint,14,opt,name=gacha_schedule_id,json=gachaScheduleId,proto3" json:"gacha_schedule_id,omitempty"`
+ GachaType uint32 `protobuf:"varint,13,opt,name=gacha_type,json=gachaType,proto3" json:"gacha_type,omitempty"`
+ ItemId uint32 `protobuf:"varint,4,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+}
+
+func (x *GachaWishReq) Reset() {
+ *x = GachaWishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaWishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaWishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaWishReq) ProtoMessage() {}
+
+func (x *GachaWishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaWishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaWishReq.ProtoReflect.Descriptor instead.
+func (*GachaWishReq) Descriptor() ([]byte, []int) {
+ return file_GachaWishReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaWishReq) GetGachaScheduleId() uint32 {
+ if x != nil {
+ return x.GachaScheduleId
+ }
+ return 0
+}
+
+func (x *GachaWishReq) GetGachaType() uint32 {
+ if x != nil {
+ return x.GachaType
+ }
+ return 0
+}
+
+func (x *GachaWishReq) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+var File_GachaWishReq_proto protoreflect.FileDescriptor
+
+var file_GachaWishReq_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x61, 0x63, 0x68, 0x61, 0x57, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x0c, 0x47,
+ 0x61, 0x63, 0x68, 0x61, 0x57, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x67,
+ 0x61, 0x63, 0x68, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x53, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x63, 0x68, 0x61,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x63,
+ 0x68, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaWishReq_proto_rawDescOnce sync.Once
+ file_GachaWishReq_proto_rawDescData = file_GachaWishReq_proto_rawDesc
+)
+
+func file_GachaWishReq_proto_rawDescGZIP() []byte {
+ file_GachaWishReq_proto_rawDescOnce.Do(func() {
+ file_GachaWishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaWishReq_proto_rawDescData)
+ })
+ return file_GachaWishReq_proto_rawDescData
+}
+
+var file_GachaWishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaWishReq_proto_goTypes = []interface{}{
+ (*GachaWishReq)(nil), // 0: proto.GachaWishReq
+}
+var file_GachaWishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaWishReq_proto_init() }
+func file_GachaWishReq_proto_init() {
+ if File_GachaWishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaWishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaWishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaWishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaWishReq_proto_goTypes,
+ DependencyIndexes: file_GachaWishReq_proto_depIdxs,
+ MessageInfos: file_GachaWishReq_proto_msgTypes,
+ }.Build()
+ File_GachaWishReq_proto = out.File
+ file_GachaWishReq_proto_rawDesc = nil
+ file_GachaWishReq_proto_goTypes = nil
+ file_GachaWishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GachaWishRsp.pb.go b/protocol/proto/GachaWishRsp.pb.go
new file mode 100644
index 00000000..50fb6f34
--- /dev/null
+++ b/protocol/proto/GachaWishRsp.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GachaWishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1521
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GachaWishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GachaType uint32 `protobuf:"varint,8,opt,name=gacha_type,json=gachaType,proto3" json:"gacha_type,omitempty"`
+ GachaScheduleId uint32 `protobuf:"varint,7,opt,name=gacha_schedule_id,json=gachaScheduleId,proto3" json:"gacha_schedule_id,omitempty"`
+ WishMaxProgress uint32 `protobuf:"varint,2,opt,name=wish_max_progress,json=wishMaxProgress,proto3" json:"wish_max_progress,omitempty"`
+ WishProgress uint32 `protobuf:"varint,5,opt,name=wish_progress,json=wishProgress,proto3" json:"wish_progress,omitempty"`
+ WishItemId uint32 `protobuf:"varint,3,opt,name=wish_item_id,json=wishItemId,proto3" json:"wish_item_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GachaWishRsp) Reset() {
+ *x = GachaWishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GachaWishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GachaWishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GachaWishRsp) ProtoMessage() {}
+
+func (x *GachaWishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GachaWishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GachaWishRsp.ProtoReflect.Descriptor instead.
+func (*GachaWishRsp) Descriptor() ([]byte, []int) {
+ return file_GachaWishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GachaWishRsp) GetGachaType() uint32 {
+ if x != nil {
+ return x.GachaType
+ }
+ return 0
+}
+
+func (x *GachaWishRsp) GetGachaScheduleId() uint32 {
+ if x != nil {
+ return x.GachaScheduleId
+ }
+ return 0
+}
+
+func (x *GachaWishRsp) GetWishMaxProgress() uint32 {
+ if x != nil {
+ return x.WishMaxProgress
+ }
+ return 0
+}
+
+func (x *GachaWishRsp) GetWishProgress() uint32 {
+ if x != nil {
+ return x.WishProgress
+ }
+ return 0
+}
+
+func (x *GachaWishRsp) GetWishItemId() uint32 {
+ if x != nil {
+ return x.WishItemId
+ }
+ return 0
+}
+
+func (x *GachaWishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GachaWishRsp_proto protoreflect.FileDescriptor
+
+var file_GachaWishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x61, 0x63, 0x68, 0x61, 0x57, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01, 0x0a, 0x0c,
+ 0x47, 0x61, 0x63, 0x68, 0x61, 0x57, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x67, 0x61, 0x63, 0x68, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x67,
+ 0x61, 0x63, 0x68, 0x61, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x53, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x69, 0x73, 0x68, 0x5f,
+ 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x77, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x77, 0x69, 0x73, 0x68,
+ 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x77, 0x69, 0x73, 0x68,
+ 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x77, 0x69, 0x73, 0x68, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GachaWishRsp_proto_rawDescOnce sync.Once
+ file_GachaWishRsp_proto_rawDescData = file_GachaWishRsp_proto_rawDesc
+)
+
+func file_GachaWishRsp_proto_rawDescGZIP() []byte {
+ file_GachaWishRsp_proto_rawDescOnce.Do(func() {
+ file_GachaWishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GachaWishRsp_proto_rawDescData)
+ })
+ return file_GachaWishRsp_proto_rawDescData
+}
+
+var file_GachaWishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GachaWishRsp_proto_goTypes = []interface{}{
+ (*GachaWishRsp)(nil), // 0: proto.GachaWishRsp
+}
+var file_GachaWishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GachaWishRsp_proto_init() }
+func file_GachaWishRsp_proto_init() {
+ if File_GachaWishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GachaWishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GachaWishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GachaWishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GachaWishRsp_proto_goTypes,
+ DependencyIndexes: file_GachaWishRsp_proto_depIdxs,
+ MessageInfos: file_GachaWishRsp_proto_msgTypes,
+ }.Build()
+ File_GachaWishRsp_proto = out.File
+ file_GachaWishRsp_proto_rawDesc = nil
+ file_GachaWishRsp_proto_goTypes = nil
+ file_GachaWishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetAutoPickDropInfoNotify.pb.go b/protocol/proto/GadgetAutoPickDropInfoNotify.pb.go
new file mode 100644
index 00000000..9e0ca8a0
--- /dev/null
+++ b/protocol/proto/GadgetAutoPickDropInfoNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetAutoPickDropInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 897
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetAutoPickDropInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*Item `protobuf:"bytes,11,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *GadgetAutoPickDropInfoNotify) Reset() {
+ *x = GadgetAutoPickDropInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetAutoPickDropInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetAutoPickDropInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetAutoPickDropInfoNotify) ProtoMessage() {}
+
+func (x *GadgetAutoPickDropInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetAutoPickDropInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetAutoPickDropInfoNotify.ProtoReflect.Descriptor instead.
+func (*GadgetAutoPickDropInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetAutoPickDropInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetAutoPickDropInfoNotify) GetItemList() []*Item {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_GadgetAutoPickDropInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetAutoPickDropInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x69, 0x63, 0x6b,
+ 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x49, 0x74, 0x65,
+ 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x1c, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x69, 0x63, 0x6b, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetAutoPickDropInfoNotify_proto_rawDescOnce sync.Once
+ file_GadgetAutoPickDropInfoNotify_proto_rawDescData = file_GadgetAutoPickDropInfoNotify_proto_rawDesc
+)
+
+func file_GadgetAutoPickDropInfoNotify_proto_rawDescGZIP() []byte {
+ file_GadgetAutoPickDropInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetAutoPickDropInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetAutoPickDropInfoNotify_proto_rawDescData)
+ })
+ return file_GadgetAutoPickDropInfoNotify_proto_rawDescData
+}
+
+var file_GadgetAutoPickDropInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetAutoPickDropInfoNotify_proto_goTypes = []interface{}{
+ (*GadgetAutoPickDropInfoNotify)(nil), // 0: proto.GadgetAutoPickDropInfoNotify
+ (*Item)(nil), // 1: proto.Item
+}
+var file_GadgetAutoPickDropInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetAutoPickDropInfoNotify.item_list:type_name -> proto.Item
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetAutoPickDropInfoNotify_proto_init() }
+func file_GadgetAutoPickDropInfoNotify_proto_init() {
+ if File_GadgetAutoPickDropInfoNotify_proto != nil {
+ return
+ }
+ file_Item_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetAutoPickDropInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetAutoPickDropInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetAutoPickDropInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetAutoPickDropInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetAutoPickDropInfoNotify_proto_depIdxs,
+ MessageInfos: file_GadgetAutoPickDropInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetAutoPickDropInfoNotify_proto = out.File
+ file_GadgetAutoPickDropInfoNotify_proto_rawDesc = nil
+ file_GadgetAutoPickDropInfoNotify_proto_goTypes = nil
+ file_GadgetAutoPickDropInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetBornType.pb.go b/protocol/proto/GadgetBornType.pb.go
new file mode 100644
index 00000000..0c077830
--- /dev/null
+++ b/protocol/proto/GadgetBornType.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetBornType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GadgetBornType int32
+
+const (
+ GadgetBornType_GADGET_BORN_TYPE_NONE GadgetBornType = 0
+ GadgetBornType_GADGET_BORN_TYPE_IN_AIR GadgetBornType = 1
+ GadgetBornType_GADGET_BORN_TYPE_PLAYER GadgetBornType = 2
+ GadgetBornType_GADGET_BORN_TYPE_MONSTER_HIT GadgetBornType = 3
+ GadgetBornType_GADGET_BORN_TYPE_MONSTER_DIE GadgetBornType = 4
+ GadgetBornType_GADGET_BORN_TYPE_GADGET GadgetBornType = 5
+ GadgetBornType_GADGET_BORN_TYPE_GROUND GadgetBornType = 6
+)
+
+// Enum value maps for GadgetBornType.
+var (
+ GadgetBornType_name = map[int32]string{
+ 0: "GADGET_BORN_TYPE_NONE",
+ 1: "GADGET_BORN_TYPE_IN_AIR",
+ 2: "GADGET_BORN_TYPE_PLAYER",
+ 3: "GADGET_BORN_TYPE_MONSTER_HIT",
+ 4: "GADGET_BORN_TYPE_MONSTER_DIE",
+ 5: "GADGET_BORN_TYPE_GADGET",
+ 6: "GADGET_BORN_TYPE_GROUND",
+ }
+ GadgetBornType_value = map[string]int32{
+ "GADGET_BORN_TYPE_NONE": 0,
+ "GADGET_BORN_TYPE_IN_AIR": 1,
+ "GADGET_BORN_TYPE_PLAYER": 2,
+ "GADGET_BORN_TYPE_MONSTER_HIT": 3,
+ "GADGET_BORN_TYPE_MONSTER_DIE": 4,
+ "GADGET_BORN_TYPE_GADGET": 5,
+ "GADGET_BORN_TYPE_GROUND": 6,
+ }
+)
+
+func (x GadgetBornType) Enum() *GadgetBornType {
+ p := new(GadgetBornType)
+ *p = x
+ return p
+}
+
+func (x GadgetBornType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GadgetBornType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GadgetBornType_proto_enumTypes[0].Descriptor()
+}
+
+func (GadgetBornType) Type() protoreflect.EnumType {
+ return &file_GadgetBornType_proto_enumTypes[0]
+}
+
+func (x GadgetBornType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GadgetBornType.Descriptor instead.
+func (GadgetBornType) EnumDescriptor() ([]byte, []int) {
+ return file_GadgetBornType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GadgetBornType_proto protoreflect.FileDescriptor
+
+var file_GadgetBornType_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xe3, 0x01,
+ 0x0a, 0x0e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x19, 0x0a, 0x15, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x47,
+ 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x49, 0x4e, 0x5f, 0x41, 0x49, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x41, 0x44, 0x47,
+ 0x45, 0x54, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41,
+ 0x59, 0x45, 0x52, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f,
+ 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45,
+ 0x52, 0x5f, 0x48, 0x49, 0x54, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x41, 0x44, 0x47, 0x45,
+ 0x54, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x4f, 0x4e, 0x53,
+ 0x54, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x41, 0x44,
+ 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x41,
+ 0x44, 0x47, 0x45, 0x54, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54,
+ 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x4e,
+ 0x44, 0x10, 0x06, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetBornType_proto_rawDescOnce sync.Once
+ file_GadgetBornType_proto_rawDescData = file_GadgetBornType_proto_rawDesc
+)
+
+func file_GadgetBornType_proto_rawDescGZIP() []byte {
+ file_GadgetBornType_proto_rawDescOnce.Do(func() {
+ file_GadgetBornType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetBornType_proto_rawDescData)
+ })
+ return file_GadgetBornType_proto_rawDescData
+}
+
+var file_GadgetBornType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GadgetBornType_proto_goTypes = []interface{}{
+ (GadgetBornType)(0), // 0: proto.GadgetBornType
+}
+var file_GadgetBornType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GadgetBornType_proto_init() }
+func file_GadgetBornType_proto_init() {
+ if File_GadgetBornType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetBornType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetBornType_proto_goTypes,
+ DependencyIndexes: file_GadgetBornType_proto_depIdxs,
+ EnumInfos: file_GadgetBornType_proto_enumTypes,
+ }.Build()
+ File_GadgetBornType_proto = out.File
+ file_GadgetBornType_proto_rawDesc = nil
+ file_GadgetBornType_proto_goTypes = nil
+ file_GadgetBornType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetChainLevelChangeNotify.pb.go b/protocol/proto/GadgetChainLevelChangeNotify.pb.go
new file mode 100644
index 00000000..7800b41c
--- /dev/null
+++ b/protocol/proto/GadgetChainLevelChangeNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetChainLevelChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 822
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetChainLevelChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetChainLevelMap map[uint32]uint32 `protobuf:"bytes,2,rep,name=gadget_chain_level_map,json=gadgetChainLevelMap,proto3" json:"gadget_chain_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GadgetChainLevelChangeNotify) Reset() {
+ *x = GadgetChainLevelChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetChainLevelChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetChainLevelChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetChainLevelChangeNotify) ProtoMessage() {}
+
+func (x *GadgetChainLevelChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetChainLevelChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetChainLevelChangeNotify.ProtoReflect.Descriptor instead.
+func (*GadgetChainLevelChangeNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetChainLevelChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetChainLevelChangeNotify) GetGadgetChainLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GadgetChainLevelMap
+ }
+ return nil
+}
+
+var File_GadgetChainLevelChangeNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetChainLevelChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x01, 0x0a, 0x1c,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x71, 0x0a, 0x16,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x1a,
+ 0x46, 0x0a, 0x18, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetChainLevelChangeNotify_proto_rawDescOnce sync.Once
+ file_GadgetChainLevelChangeNotify_proto_rawDescData = file_GadgetChainLevelChangeNotify_proto_rawDesc
+)
+
+func file_GadgetChainLevelChangeNotify_proto_rawDescGZIP() []byte {
+ file_GadgetChainLevelChangeNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetChainLevelChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetChainLevelChangeNotify_proto_rawDescData)
+ })
+ return file_GadgetChainLevelChangeNotify_proto_rawDescData
+}
+
+var file_GadgetChainLevelChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GadgetChainLevelChangeNotify_proto_goTypes = []interface{}{
+ (*GadgetChainLevelChangeNotify)(nil), // 0: proto.GadgetChainLevelChangeNotify
+ nil, // 1: proto.GadgetChainLevelChangeNotify.GadgetChainLevelMapEntry
+}
+var file_GadgetChainLevelChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetChainLevelChangeNotify.gadget_chain_level_map:type_name -> proto.GadgetChainLevelChangeNotify.GadgetChainLevelMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetChainLevelChangeNotify_proto_init() }
+func file_GadgetChainLevelChangeNotify_proto_init() {
+ if File_GadgetChainLevelChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetChainLevelChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetChainLevelChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetChainLevelChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetChainLevelChangeNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetChainLevelChangeNotify_proto_depIdxs,
+ MessageInfos: file_GadgetChainLevelChangeNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetChainLevelChangeNotify_proto = out.File
+ file_GadgetChainLevelChangeNotify_proto_rawDesc = nil
+ file_GadgetChainLevelChangeNotify_proto_goTypes = nil
+ file_GadgetChainLevelChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetChainLevelUpdateNotify.pb.go b/protocol/proto/GadgetChainLevelUpdateNotify.pb.go
new file mode 100644
index 00000000..3f39f6b6
--- /dev/null
+++ b/protocol/proto/GadgetChainLevelUpdateNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetChainLevelUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 853
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetChainLevelUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetChainLevelMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=gadget_chain_level_map,json=gadgetChainLevelMap,proto3" json:"gadget_chain_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GadgetChainLevelUpdateNotify) Reset() {
+ *x = GadgetChainLevelUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetChainLevelUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetChainLevelUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetChainLevelUpdateNotify) ProtoMessage() {}
+
+func (x *GadgetChainLevelUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetChainLevelUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetChainLevelUpdateNotify.ProtoReflect.Descriptor instead.
+func (*GadgetChainLevelUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetChainLevelUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetChainLevelUpdateNotify) GetGadgetChainLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GadgetChainLevelMap
+ }
+ return nil
+}
+
+var File_GadgetChainLevelUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetChainLevelUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x01, 0x0a, 0x1c,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x71, 0x0a, 0x16,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x1a,
+ 0x46, 0x0a, 0x18, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetChainLevelUpdateNotify_proto_rawDescOnce sync.Once
+ file_GadgetChainLevelUpdateNotify_proto_rawDescData = file_GadgetChainLevelUpdateNotify_proto_rawDesc
+)
+
+func file_GadgetChainLevelUpdateNotify_proto_rawDescGZIP() []byte {
+ file_GadgetChainLevelUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetChainLevelUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetChainLevelUpdateNotify_proto_rawDescData)
+ })
+ return file_GadgetChainLevelUpdateNotify_proto_rawDescData
+}
+
+var file_GadgetChainLevelUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GadgetChainLevelUpdateNotify_proto_goTypes = []interface{}{
+ (*GadgetChainLevelUpdateNotify)(nil), // 0: proto.GadgetChainLevelUpdateNotify
+ nil, // 1: proto.GadgetChainLevelUpdateNotify.GadgetChainLevelMapEntry
+}
+var file_GadgetChainLevelUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetChainLevelUpdateNotify.gadget_chain_level_map:type_name -> proto.GadgetChainLevelUpdateNotify.GadgetChainLevelMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetChainLevelUpdateNotify_proto_init() }
+func file_GadgetChainLevelUpdateNotify_proto_init() {
+ if File_GadgetChainLevelUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetChainLevelUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetChainLevelUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetChainLevelUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetChainLevelUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetChainLevelUpdateNotify_proto_depIdxs,
+ MessageInfos: file_GadgetChainLevelUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetChainLevelUpdateNotify_proto = out.File
+ file_GadgetChainLevelUpdateNotify_proto_rawDesc = nil
+ file_GadgetChainLevelUpdateNotify_proto_goTypes = nil
+ file_GadgetChainLevelUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetChangeLevelTagReq.pb.go b/protocol/proto/GadgetChangeLevelTagReq.pb.go
new file mode 100644
index 00000000..95460384
--- /dev/null
+++ b/protocol/proto/GadgetChangeLevelTagReq.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetChangeLevelTagReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 843
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GadgetChangeLevelTagReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelTagId uint32 `protobuf:"varint,14,opt,name=level_tag_id,json=levelTagId,proto3" json:"level_tag_id,omitempty"`
+ CombinationInfo *CustomGadgetTreeInfo `protobuf:"bytes,11,opt,name=combination_info,json=combinationInfo,proto3" json:"combination_info,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,10,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *GadgetChangeLevelTagReq) Reset() {
+ *x = GadgetChangeLevelTagReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetChangeLevelTagReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetChangeLevelTagReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetChangeLevelTagReq) ProtoMessage() {}
+
+func (x *GadgetChangeLevelTagReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetChangeLevelTagReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetChangeLevelTagReq.ProtoReflect.Descriptor instead.
+func (*GadgetChangeLevelTagReq) Descriptor() ([]byte, []int) {
+ return file_GadgetChangeLevelTagReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetChangeLevelTagReq) GetLevelTagId() uint32 {
+ if x != nil {
+ return x.LevelTagId
+ }
+ return 0
+}
+
+func (x *GadgetChangeLevelTagReq) GetCombinationInfo() *CustomGadgetTreeInfo {
+ if x != nil {
+ return x.CombinationInfo
+ }
+ return nil
+}
+
+func (x *GadgetChangeLevelTagReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_GadgetChangeLevelTagReq_proto protoreflect.FileDescriptor
+
+var file_GadgetChangeLevelTagReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x17, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x12, 0x20,
+ 0x0a, 0x0c, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x49, 0x64,
+ 0x12, 0x46, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54,
+ 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetChangeLevelTagReq_proto_rawDescOnce sync.Once
+ file_GadgetChangeLevelTagReq_proto_rawDescData = file_GadgetChangeLevelTagReq_proto_rawDesc
+)
+
+func file_GadgetChangeLevelTagReq_proto_rawDescGZIP() []byte {
+ file_GadgetChangeLevelTagReq_proto_rawDescOnce.Do(func() {
+ file_GadgetChangeLevelTagReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetChangeLevelTagReq_proto_rawDescData)
+ })
+ return file_GadgetChangeLevelTagReq_proto_rawDescData
+}
+
+var file_GadgetChangeLevelTagReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetChangeLevelTagReq_proto_goTypes = []interface{}{
+ (*GadgetChangeLevelTagReq)(nil), // 0: proto.GadgetChangeLevelTagReq
+ (*CustomGadgetTreeInfo)(nil), // 1: proto.CustomGadgetTreeInfo
+}
+var file_GadgetChangeLevelTagReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetChangeLevelTagReq.combination_info:type_name -> proto.CustomGadgetTreeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetChangeLevelTagReq_proto_init() }
+func file_GadgetChangeLevelTagReq_proto_init() {
+ if File_GadgetChangeLevelTagReq_proto != nil {
+ return
+ }
+ file_CustomGadgetTreeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetChangeLevelTagReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetChangeLevelTagReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetChangeLevelTagReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetChangeLevelTagReq_proto_goTypes,
+ DependencyIndexes: file_GadgetChangeLevelTagReq_proto_depIdxs,
+ MessageInfos: file_GadgetChangeLevelTagReq_proto_msgTypes,
+ }.Build()
+ File_GadgetChangeLevelTagReq_proto = out.File
+ file_GadgetChangeLevelTagReq_proto_rawDesc = nil
+ file_GadgetChangeLevelTagReq_proto_goTypes = nil
+ file_GadgetChangeLevelTagReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetChangeLevelTagRsp.pb.go b/protocol/proto/GadgetChangeLevelTagRsp.pb.go
new file mode 100644
index 00000000..d7486c04
--- /dev/null
+++ b/protocol/proto/GadgetChangeLevelTagRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetChangeLevelTagRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 874
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetChangeLevelTagRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GadgetChangeLevelTagRsp) Reset() {
+ *x = GadgetChangeLevelTagRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetChangeLevelTagRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetChangeLevelTagRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetChangeLevelTagRsp) ProtoMessage() {}
+
+func (x *GadgetChangeLevelTagRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetChangeLevelTagRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetChangeLevelTagRsp.ProtoReflect.Descriptor instead.
+func (*GadgetChangeLevelTagRsp) Descriptor() ([]byte, []int) {
+ return file_GadgetChangeLevelTagRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetChangeLevelTagRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GadgetChangeLevelTagRsp_proto protoreflect.FileDescriptor
+
+var file_GadgetChangeLevelTagRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetChangeLevelTagRsp_proto_rawDescOnce sync.Once
+ file_GadgetChangeLevelTagRsp_proto_rawDescData = file_GadgetChangeLevelTagRsp_proto_rawDesc
+)
+
+func file_GadgetChangeLevelTagRsp_proto_rawDescGZIP() []byte {
+ file_GadgetChangeLevelTagRsp_proto_rawDescOnce.Do(func() {
+ file_GadgetChangeLevelTagRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetChangeLevelTagRsp_proto_rawDescData)
+ })
+ return file_GadgetChangeLevelTagRsp_proto_rawDescData
+}
+
+var file_GadgetChangeLevelTagRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetChangeLevelTagRsp_proto_goTypes = []interface{}{
+ (*GadgetChangeLevelTagRsp)(nil), // 0: proto.GadgetChangeLevelTagRsp
+}
+var file_GadgetChangeLevelTagRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GadgetChangeLevelTagRsp_proto_init() }
+func file_GadgetChangeLevelTagRsp_proto_init() {
+ if File_GadgetChangeLevelTagRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetChangeLevelTagRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetChangeLevelTagRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetChangeLevelTagRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetChangeLevelTagRsp_proto_goTypes,
+ DependencyIndexes: file_GadgetChangeLevelTagRsp_proto_depIdxs,
+ MessageInfos: file_GadgetChangeLevelTagRsp_proto_msgTypes,
+ }.Build()
+ File_GadgetChangeLevelTagRsp_proto = out.File
+ file_GadgetChangeLevelTagRsp_proto_rawDesc = nil
+ file_GadgetChangeLevelTagRsp_proto_goTypes = nil
+ file_GadgetChangeLevelTagRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetCrucibleInfo.pb.go b/protocol/proto/GadgetCrucibleInfo.pb.go
new file mode 100644
index 00000000..e58e3dd9
--- /dev/null
+++ b/protocol/proto/GadgetCrucibleInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetCrucibleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GadgetCrucibleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpPlayId uint32 `protobuf:"varint,1,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ PrepareEndTime uint32 `protobuf:"varint,2,opt,name=prepare_end_time,json=prepareEndTime,proto3" json:"prepare_end_time,omitempty"`
+}
+
+func (x *GadgetCrucibleInfo) Reset() {
+ *x = GadgetCrucibleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetCrucibleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetCrucibleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetCrucibleInfo) ProtoMessage() {}
+
+func (x *GadgetCrucibleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetCrucibleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetCrucibleInfo.ProtoReflect.Descriptor instead.
+func (*GadgetCrucibleInfo) Descriptor() ([]byte, []int) {
+ return file_GadgetCrucibleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetCrucibleInfo) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *GadgetCrucibleInfo) GetPrepareEndTime() uint32 {
+ if x != nil {
+ return x.PrepareEndTime
+ }
+ return 0
+}
+
+var File_GadgetCrucibleInfo_proto protoreflect.FileDescriptor
+
+var file_GadgetCrucibleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x5c, 0x0a, 0x12, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x75, 0x63, 0x69,
+ 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c,
+ 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50,
+ 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65,
+ 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetCrucibleInfo_proto_rawDescOnce sync.Once
+ file_GadgetCrucibleInfo_proto_rawDescData = file_GadgetCrucibleInfo_proto_rawDesc
+)
+
+func file_GadgetCrucibleInfo_proto_rawDescGZIP() []byte {
+ file_GadgetCrucibleInfo_proto_rawDescOnce.Do(func() {
+ file_GadgetCrucibleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetCrucibleInfo_proto_rawDescData)
+ })
+ return file_GadgetCrucibleInfo_proto_rawDescData
+}
+
+var file_GadgetCrucibleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetCrucibleInfo_proto_goTypes = []interface{}{
+ (*GadgetCrucibleInfo)(nil), // 0: proto.GadgetCrucibleInfo
+}
+var file_GadgetCrucibleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GadgetCrucibleInfo_proto_init() }
+func file_GadgetCrucibleInfo_proto_init() {
+ if File_GadgetCrucibleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetCrucibleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetCrucibleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetCrucibleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetCrucibleInfo_proto_goTypes,
+ DependencyIndexes: file_GadgetCrucibleInfo_proto_depIdxs,
+ MessageInfos: file_GadgetCrucibleInfo_proto_msgTypes,
+ }.Build()
+ File_GadgetCrucibleInfo_proto = out.File
+ file_GadgetCrucibleInfo_proto_rawDesc = nil
+ file_GadgetCrucibleInfo_proto_goTypes = nil
+ file_GadgetCrucibleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetCustomTreeInfoNotify.pb.go b/protocol/proto/GadgetCustomTreeInfoNotify.pb.go
new file mode 100644
index 00000000..5dccc39e
--- /dev/null
+++ b/protocol/proto/GadgetCustomTreeInfoNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetCustomTreeInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 850
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetCustomTreeInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CustomGadgetTreeInfo *CustomGadgetTreeInfo `protobuf:"bytes,5,opt,name=custom_gadget_tree_info,json=customGadgetTreeInfo,proto3" json:"custom_gadget_tree_info,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,12,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *GadgetCustomTreeInfoNotify) Reset() {
+ *x = GadgetCustomTreeInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetCustomTreeInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetCustomTreeInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetCustomTreeInfoNotify) ProtoMessage() {}
+
+func (x *GadgetCustomTreeInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetCustomTreeInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetCustomTreeInfoNotify.ProtoReflect.Descriptor instead.
+func (*GadgetCustomTreeInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetCustomTreeInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetCustomTreeInfoNotify) GetCustomGadgetTreeInfo() *CustomGadgetTreeInfo {
+ if x != nil {
+ return x.CustomGadgetTreeInfo
+ }
+ return nil
+}
+
+func (x *GadgetCustomTreeInfoNotify) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_GadgetCustomTreeInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetCustomTreeInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x72,
+ 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x1a, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x52, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x67,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetCustomTreeInfoNotify_proto_rawDescOnce sync.Once
+ file_GadgetCustomTreeInfoNotify_proto_rawDescData = file_GadgetCustomTreeInfoNotify_proto_rawDesc
+)
+
+func file_GadgetCustomTreeInfoNotify_proto_rawDescGZIP() []byte {
+ file_GadgetCustomTreeInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetCustomTreeInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetCustomTreeInfoNotify_proto_rawDescData)
+ })
+ return file_GadgetCustomTreeInfoNotify_proto_rawDescData
+}
+
+var file_GadgetCustomTreeInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetCustomTreeInfoNotify_proto_goTypes = []interface{}{
+ (*GadgetCustomTreeInfoNotify)(nil), // 0: proto.GadgetCustomTreeInfoNotify
+ (*CustomGadgetTreeInfo)(nil), // 1: proto.CustomGadgetTreeInfo
+}
+var file_GadgetCustomTreeInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetCustomTreeInfoNotify.custom_gadget_tree_info:type_name -> proto.CustomGadgetTreeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetCustomTreeInfoNotify_proto_init() }
+func file_GadgetCustomTreeInfoNotify_proto_init() {
+ if File_GadgetCustomTreeInfoNotify_proto != nil {
+ return
+ }
+ file_CustomGadgetTreeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetCustomTreeInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetCustomTreeInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetCustomTreeInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetCustomTreeInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetCustomTreeInfoNotify_proto_depIdxs,
+ MessageInfos: file_GadgetCustomTreeInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetCustomTreeInfoNotify_proto = out.File
+ file_GadgetCustomTreeInfoNotify_proto_rawDesc = nil
+ file_GadgetCustomTreeInfoNotify_proto_goTypes = nil
+ file_GadgetCustomTreeInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetGeneralRewardInfo.pb.go b/protocol/proto/GadgetGeneralRewardInfo.pb.go
new file mode 100644
index 00000000..0c7f6b3b
--- /dev/null
+++ b/protocol/proto/GadgetGeneralRewardInfo.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetGeneralRewardInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GadgetGeneralRewardInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Resin uint32 `protobuf:"varint,1,opt,name=resin,proto3" json:"resin,omitempty"`
+ DeadTime uint32 `protobuf:"varint,2,opt,name=dead_time,json=deadTime,proto3" json:"dead_time,omitempty"`
+ RemainUidList []uint32 `protobuf:"varint,3,rep,packed,name=remain_uid_list,json=remainUidList,proto3" json:"remain_uid_list,omitempty"`
+ QualifyUidList []uint32 `protobuf:"varint,4,rep,packed,name=qualify_uid_list,json=qualifyUidList,proto3" json:"qualify_uid_list,omitempty"`
+ ItemParam *ItemParam `protobuf:"bytes,5,opt,name=item_param,json=itemParam,proto3" json:"item_param,omitempty"`
+}
+
+func (x *GadgetGeneralRewardInfo) Reset() {
+ *x = GadgetGeneralRewardInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetGeneralRewardInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetGeneralRewardInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetGeneralRewardInfo) ProtoMessage() {}
+
+func (x *GadgetGeneralRewardInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetGeneralRewardInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetGeneralRewardInfo.ProtoReflect.Descriptor instead.
+func (*GadgetGeneralRewardInfo) Descriptor() ([]byte, []int) {
+ return file_GadgetGeneralRewardInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetGeneralRewardInfo) GetResin() uint32 {
+ if x != nil {
+ return x.Resin
+ }
+ return 0
+}
+
+func (x *GadgetGeneralRewardInfo) GetDeadTime() uint32 {
+ if x != nil {
+ return x.DeadTime
+ }
+ return 0
+}
+
+func (x *GadgetGeneralRewardInfo) GetRemainUidList() []uint32 {
+ if x != nil {
+ return x.RemainUidList
+ }
+ return nil
+}
+
+func (x *GadgetGeneralRewardInfo) GetQualifyUidList() []uint32 {
+ if x != nil {
+ return x.QualifyUidList
+ }
+ return nil
+}
+
+func (x *GadgetGeneralRewardInfo) GetItemParam() *ItemParam {
+ if x != nil {
+ return x.ItemParam
+ }
+ return nil
+}
+
+var File_GadgetGeneralRewardInfo_proto protoreflect.FileDescriptor
+
+var file_GadgetGeneralRewardInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x17, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x61,
+ 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x65,
+ 0x61, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
+ 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0d, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28,
+ 0x0a, 0x10, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66,
+ 0x79, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x09,
+ 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetGeneralRewardInfo_proto_rawDescOnce sync.Once
+ file_GadgetGeneralRewardInfo_proto_rawDescData = file_GadgetGeneralRewardInfo_proto_rawDesc
+)
+
+func file_GadgetGeneralRewardInfo_proto_rawDescGZIP() []byte {
+ file_GadgetGeneralRewardInfo_proto_rawDescOnce.Do(func() {
+ file_GadgetGeneralRewardInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetGeneralRewardInfo_proto_rawDescData)
+ })
+ return file_GadgetGeneralRewardInfo_proto_rawDescData
+}
+
+var file_GadgetGeneralRewardInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetGeneralRewardInfo_proto_goTypes = []interface{}{
+ (*GadgetGeneralRewardInfo)(nil), // 0: proto.GadgetGeneralRewardInfo
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_GadgetGeneralRewardInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetGeneralRewardInfo.item_param:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetGeneralRewardInfo_proto_init() }
+func file_GadgetGeneralRewardInfo_proto_init() {
+ if File_GadgetGeneralRewardInfo_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetGeneralRewardInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetGeneralRewardInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetGeneralRewardInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetGeneralRewardInfo_proto_goTypes,
+ DependencyIndexes: file_GadgetGeneralRewardInfo_proto_depIdxs,
+ MessageInfos: file_GadgetGeneralRewardInfo_proto_msgTypes,
+ }.Build()
+ File_GadgetGeneralRewardInfo_proto = out.File
+ file_GadgetGeneralRewardInfo_proto_rawDesc = nil
+ file_GadgetGeneralRewardInfo_proto_goTypes = nil
+ file_GadgetGeneralRewardInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetGeneralRewardInfoNotify.pb.go b/protocol/proto/GadgetGeneralRewardInfoNotify.pb.go
new file mode 100644
index 00000000..b8116c33
--- /dev/null
+++ b/protocol/proto/GadgetGeneralRewardInfoNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetGeneralRewardInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 848
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetGeneralRewardInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,13,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ GeneralRewardInfo *GadgetGeneralRewardInfo `protobuf:"bytes,9,opt,name=general_reward_info,json=generalRewardInfo,proto3" json:"general_reward_info,omitempty"`
+}
+
+func (x *GadgetGeneralRewardInfoNotify) Reset() {
+ *x = GadgetGeneralRewardInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetGeneralRewardInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetGeneralRewardInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetGeneralRewardInfoNotify) ProtoMessage() {}
+
+func (x *GadgetGeneralRewardInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetGeneralRewardInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetGeneralRewardInfoNotify.ProtoReflect.Descriptor instead.
+func (*GadgetGeneralRewardInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetGeneralRewardInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetGeneralRewardInfoNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *GadgetGeneralRewardInfoNotify) GetGeneralRewardInfo() *GadgetGeneralRewardInfo {
+ if x != nil {
+ return x.GeneralRewardInfo
+ }
+ return nil
+}
+
+var File_GadgetGeneralRewardInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetGeneralRewardInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x1d,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x13, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetGeneralRewardInfoNotify_proto_rawDescOnce sync.Once
+ file_GadgetGeneralRewardInfoNotify_proto_rawDescData = file_GadgetGeneralRewardInfoNotify_proto_rawDesc
+)
+
+func file_GadgetGeneralRewardInfoNotify_proto_rawDescGZIP() []byte {
+ file_GadgetGeneralRewardInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetGeneralRewardInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetGeneralRewardInfoNotify_proto_rawDescData)
+ })
+ return file_GadgetGeneralRewardInfoNotify_proto_rawDescData
+}
+
+var file_GadgetGeneralRewardInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetGeneralRewardInfoNotify_proto_goTypes = []interface{}{
+ (*GadgetGeneralRewardInfoNotify)(nil), // 0: proto.GadgetGeneralRewardInfoNotify
+ (*GadgetGeneralRewardInfo)(nil), // 1: proto.GadgetGeneralRewardInfo
+}
+var file_GadgetGeneralRewardInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetGeneralRewardInfoNotify.general_reward_info:type_name -> proto.GadgetGeneralRewardInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetGeneralRewardInfoNotify_proto_init() }
+func file_GadgetGeneralRewardInfoNotify_proto_init() {
+ if File_GadgetGeneralRewardInfoNotify_proto != nil {
+ return
+ }
+ file_GadgetGeneralRewardInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetGeneralRewardInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetGeneralRewardInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetGeneralRewardInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetGeneralRewardInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetGeneralRewardInfoNotify_proto_depIdxs,
+ MessageInfos: file_GadgetGeneralRewardInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetGeneralRewardInfoNotify_proto = out.File
+ file_GadgetGeneralRewardInfoNotify_proto_rawDesc = nil
+ file_GadgetGeneralRewardInfoNotify_proto_goTypes = nil
+ file_GadgetGeneralRewardInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetInteractReq.pb.go b/protocol/proto/GadgetInteractReq.pb.go
new file mode 100644
index 00000000..b83a2a32
--- /dev/null
+++ b/protocol/proto/GadgetInteractReq.pb.go
@@ -0,0 +1,226 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetInteractReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 872
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GadgetInteractReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetId uint32 `protobuf:"varint,8,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ IsUseCondenseResin bool `protobuf:"varint,15,opt,name=is_use_condense_resin,json=isUseCondenseResin,proto3" json:"is_use_condense_resin,omitempty"`
+ OpType InterOpType `protobuf:"varint,5,opt,name=op_type,json=opType,proto3,enum=proto.InterOpType" json:"op_type,omitempty"`
+ ResinCostType ResinCostType `protobuf:"varint,1,opt,name=resin_cost_type,json=resinCostType,proto3,enum=proto.ResinCostType" json:"resin_cost_type,omitempty"`
+ UiInteractId uint32 `protobuf:"varint,2,opt,name=ui_interact_id,json=uiInteractId,proto3" json:"ui_interact_id,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,4,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *GadgetInteractReq) Reset() {
+ *x = GadgetInteractReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetInteractReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetInteractReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetInteractReq) ProtoMessage() {}
+
+func (x *GadgetInteractReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetInteractReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetInteractReq.ProtoReflect.Descriptor instead.
+func (*GadgetInteractReq) Descriptor() ([]byte, []int) {
+ return file_GadgetInteractReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetInteractReq) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *GadgetInteractReq) GetIsUseCondenseResin() bool {
+ if x != nil {
+ return x.IsUseCondenseResin
+ }
+ return false
+}
+
+func (x *GadgetInteractReq) GetOpType() InterOpType {
+ if x != nil {
+ return x.OpType
+ }
+ return InterOpType_INTER_OP_TYPE_FINISH
+}
+
+func (x *GadgetInteractReq) GetResinCostType() ResinCostType {
+ if x != nil {
+ return x.ResinCostType
+ }
+ return ResinCostType_RESIN_COST_TYPE_NONE
+}
+
+func (x *GadgetInteractReq) GetUiInteractId() uint32 {
+ if x != nil {
+ return x.UiInteractId
+ }
+ return 0
+}
+
+func (x *GadgetInteractReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_GadgetInteractReq_proto protoreflect.FileDescriptor
+
+var file_GadgetInteractReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x02, 0x0a, 0x11, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b,
+ 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x69,
+ 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x72,
+ 0x65, 0x73, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x55, 0x73,
+ 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x12, 0x2b,
+ 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0f, 0x72,
+ 0x65, 0x73, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73,
+ 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x69,
+ 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x69, 0x5f,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x75, 0x69, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12,
+ 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetInteractReq_proto_rawDescOnce sync.Once
+ file_GadgetInteractReq_proto_rawDescData = file_GadgetInteractReq_proto_rawDesc
+)
+
+func file_GadgetInteractReq_proto_rawDescGZIP() []byte {
+ file_GadgetInteractReq_proto_rawDescOnce.Do(func() {
+ file_GadgetInteractReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetInteractReq_proto_rawDescData)
+ })
+ return file_GadgetInteractReq_proto_rawDescData
+}
+
+var file_GadgetInteractReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetInteractReq_proto_goTypes = []interface{}{
+ (*GadgetInteractReq)(nil), // 0: proto.GadgetInteractReq
+ (InterOpType)(0), // 1: proto.InterOpType
+ (ResinCostType)(0), // 2: proto.ResinCostType
+}
+var file_GadgetInteractReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetInteractReq.op_type:type_name -> proto.InterOpType
+ 2, // 1: proto.GadgetInteractReq.resin_cost_type:type_name -> proto.ResinCostType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GadgetInteractReq_proto_init() }
+func file_GadgetInteractReq_proto_init() {
+ if File_GadgetInteractReq_proto != nil {
+ return
+ }
+ file_InterOpType_proto_init()
+ file_ResinCostType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetInteractReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetInteractReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetInteractReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetInteractReq_proto_goTypes,
+ DependencyIndexes: file_GadgetInteractReq_proto_depIdxs,
+ MessageInfos: file_GadgetInteractReq_proto_msgTypes,
+ }.Build()
+ File_GadgetInteractReq_proto = out.File
+ file_GadgetInteractReq_proto_rawDesc = nil
+ file_GadgetInteractReq_proto_goTypes = nil
+ file_GadgetInteractReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetInteractRsp.pb.go b/protocol/proto/GadgetInteractRsp.pb.go
new file mode 100644
index 00000000..9fd80e3d
--- /dev/null
+++ b/protocol/proto/GadgetInteractRsp.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetInteractRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 898
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetInteractRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityId uint32 `protobuf:"varint,10,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ InteractType InteractType `protobuf:"varint,2,opt,name=interact_type,json=interactType,proto3,enum=proto.InteractType" json:"interact_type,omitempty"`
+ OpType InterOpType `protobuf:"varint,3,opt,name=op_type,json=opType,proto3,enum=proto.InterOpType" json:"op_type,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GadgetId uint32 `protobuf:"varint,15,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+}
+
+func (x *GadgetInteractRsp) Reset() {
+ *x = GadgetInteractRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetInteractRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetInteractRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetInteractRsp) ProtoMessage() {}
+
+func (x *GadgetInteractRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetInteractRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetInteractRsp.ProtoReflect.Descriptor instead.
+func (*GadgetInteractRsp) Descriptor() ([]byte, []int) {
+ return file_GadgetInteractRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetInteractRsp) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *GadgetInteractRsp) GetInteractType() InteractType {
+ if x != nil {
+ return x.InteractType
+ }
+ return InteractType_INTERACT_TYPE_NONE
+}
+
+func (x *GadgetInteractRsp) GetOpType() InterOpType {
+ if x != nil {
+ return x.OpType
+ }
+ return InterOpType_INTER_OP_TYPE_FINISH
+}
+
+func (x *GadgetInteractRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GadgetInteractRsp) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+var File_GadgetInteractRsp_proto protoreflect.FileDescriptor
+
+var file_GadgetInteractRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x11, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x52, 0x73, 0x70, 0x12, 0x28, 0x0a,
+ 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72,
+ 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetInteractRsp_proto_rawDescOnce sync.Once
+ file_GadgetInteractRsp_proto_rawDescData = file_GadgetInteractRsp_proto_rawDesc
+)
+
+func file_GadgetInteractRsp_proto_rawDescGZIP() []byte {
+ file_GadgetInteractRsp_proto_rawDescOnce.Do(func() {
+ file_GadgetInteractRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetInteractRsp_proto_rawDescData)
+ })
+ return file_GadgetInteractRsp_proto_rawDescData
+}
+
+var file_GadgetInteractRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetInteractRsp_proto_goTypes = []interface{}{
+ (*GadgetInteractRsp)(nil), // 0: proto.GadgetInteractRsp
+ (InteractType)(0), // 1: proto.InteractType
+ (InterOpType)(0), // 2: proto.InterOpType
+}
+var file_GadgetInteractRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetInteractRsp.interact_type:type_name -> proto.InteractType
+ 2, // 1: proto.GadgetInteractRsp.op_type:type_name -> proto.InterOpType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GadgetInteractRsp_proto_init() }
+func file_GadgetInteractRsp_proto_init() {
+ if File_GadgetInteractRsp_proto != nil {
+ return
+ }
+ file_InterOpType_proto_init()
+ file_InteractType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetInteractRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetInteractRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetInteractRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetInteractRsp_proto_goTypes,
+ DependencyIndexes: file_GadgetInteractRsp_proto_depIdxs,
+ MessageInfos: file_GadgetInteractRsp_proto_msgTypes,
+ }.Build()
+ File_GadgetInteractRsp_proto = out.File
+ file_GadgetInteractRsp_proto_rawDesc = nil
+ file_GadgetInteractRsp_proto_goTypes = nil
+ file_GadgetInteractRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetPlayDataNotify.pb.go b/protocol/proto/GadgetPlayDataNotify.pb.go
new file mode 100644
index 00000000..541b8067
--- /dev/null
+++ b/protocol/proto/GadgetPlayDataNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetPlayDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 831
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetPlayDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayType uint32 `protobuf:"varint,12,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ Progress uint32 `protobuf:"varint,9,opt,name=progress,proto3" json:"progress,omitempty"`
+ EntityId uint32 `protobuf:"varint,6,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *GadgetPlayDataNotify) Reset() {
+ *x = GadgetPlayDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetPlayDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetPlayDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetPlayDataNotify) ProtoMessage() {}
+
+func (x *GadgetPlayDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetPlayDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetPlayDataNotify.ProtoReflect.Descriptor instead.
+func (*GadgetPlayDataNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetPlayDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetPlayDataNotify) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *GadgetPlayDataNotify) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *GadgetPlayDataNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_GadgetPlayDataNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetPlayDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x14, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61,
+ 0x79, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70,
+ 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x70, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetPlayDataNotify_proto_rawDescOnce sync.Once
+ file_GadgetPlayDataNotify_proto_rawDescData = file_GadgetPlayDataNotify_proto_rawDesc
+)
+
+func file_GadgetPlayDataNotify_proto_rawDescGZIP() []byte {
+ file_GadgetPlayDataNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetPlayDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetPlayDataNotify_proto_rawDescData)
+ })
+ return file_GadgetPlayDataNotify_proto_rawDescData
+}
+
+var file_GadgetPlayDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetPlayDataNotify_proto_goTypes = []interface{}{
+ (*GadgetPlayDataNotify)(nil), // 0: proto.GadgetPlayDataNotify
+}
+var file_GadgetPlayDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GadgetPlayDataNotify_proto_init() }
+func file_GadgetPlayDataNotify_proto_init() {
+ if File_GadgetPlayDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetPlayDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetPlayDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetPlayDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetPlayDataNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetPlayDataNotify_proto_depIdxs,
+ MessageInfos: file_GadgetPlayDataNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetPlayDataNotify_proto = out.File
+ file_GadgetPlayDataNotify_proto_rawDesc = nil
+ file_GadgetPlayDataNotify_proto_goTypes = nil
+ file_GadgetPlayDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetPlayInfo.pb.go b/protocol/proto/GadgetPlayInfo.pb.go
new file mode 100644
index 00000000..082e5568
--- /dev/null
+++ b/protocol/proto/GadgetPlayInfo.pb.go
@@ -0,0 +1,249 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetPlayInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GadgetPlayInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayType uint32 `protobuf:"varint,1,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ Duration uint32 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"`
+ ProgressStageList []uint32 `protobuf:"varint,3,rep,packed,name=progress_stage_list,json=progressStageList,proto3" json:"progress_stage_list,omitempty"`
+ StartCd uint32 `protobuf:"varint,4,opt,name=start_cd,json=startCd,proto3" json:"start_cd,omitempty"`
+ StartTime uint32 `protobuf:"varint,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ Progress uint32 `protobuf:"varint,6,opt,name=progress,proto3" json:"progress,omitempty"`
+ // Types that are assignable to PlayInfo:
+ //
+ // *GadgetPlayInfo_CrucibleInfo
+ PlayInfo isGadgetPlayInfo_PlayInfo `protobuf_oneof:"play_info"`
+}
+
+func (x *GadgetPlayInfo) Reset() {
+ *x = GadgetPlayInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetPlayInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetPlayInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetPlayInfo) ProtoMessage() {}
+
+func (x *GadgetPlayInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetPlayInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetPlayInfo.ProtoReflect.Descriptor instead.
+func (*GadgetPlayInfo) Descriptor() ([]byte, []int) {
+ return file_GadgetPlayInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetPlayInfo) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *GadgetPlayInfo) GetDuration() uint32 {
+ if x != nil {
+ return x.Duration
+ }
+ return 0
+}
+
+func (x *GadgetPlayInfo) GetProgressStageList() []uint32 {
+ if x != nil {
+ return x.ProgressStageList
+ }
+ return nil
+}
+
+func (x *GadgetPlayInfo) GetStartCd() uint32 {
+ if x != nil {
+ return x.StartCd
+ }
+ return 0
+}
+
+func (x *GadgetPlayInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *GadgetPlayInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (m *GadgetPlayInfo) GetPlayInfo() isGadgetPlayInfo_PlayInfo {
+ if m != nil {
+ return m.PlayInfo
+ }
+ return nil
+}
+
+func (x *GadgetPlayInfo) GetCrucibleInfo() *GadgetCrucibleInfo {
+ if x, ok := x.GetPlayInfo().(*GadgetPlayInfo_CrucibleInfo); ok {
+ return x.CrucibleInfo
+ }
+ return nil
+}
+
+type isGadgetPlayInfo_PlayInfo interface {
+ isGadgetPlayInfo_PlayInfo()
+}
+
+type GadgetPlayInfo_CrucibleInfo struct {
+ CrucibleInfo *GadgetCrucibleInfo `protobuf:"bytes,21,opt,name=crucible_info,json=crucibleInfo,proto3,oneof"`
+}
+
+func (*GadgetPlayInfo_CrucibleInfo) isGadgetPlayInfo_PlayInfo() {}
+
+var File_GadgetPlayInfo_proto protoreflect.FileDescriptor
+
+var file_GadgetPlayInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x02, 0x0a, 0x0e, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c,
+ 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70,
+ 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x64, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
+ 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x63, 0x72, 0x75,
+ 0x63, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43,
+ 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x63,
+ 0x72, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x70,
+ 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetPlayInfo_proto_rawDescOnce sync.Once
+ file_GadgetPlayInfo_proto_rawDescData = file_GadgetPlayInfo_proto_rawDesc
+)
+
+func file_GadgetPlayInfo_proto_rawDescGZIP() []byte {
+ file_GadgetPlayInfo_proto_rawDescOnce.Do(func() {
+ file_GadgetPlayInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetPlayInfo_proto_rawDescData)
+ })
+ return file_GadgetPlayInfo_proto_rawDescData
+}
+
+var file_GadgetPlayInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetPlayInfo_proto_goTypes = []interface{}{
+ (*GadgetPlayInfo)(nil), // 0: proto.GadgetPlayInfo
+ (*GadgetCrucibleInfo)(nil), // 1: proto.GadgetCrucibleInfo
+}
+var file_GadgetPlayInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetPlayInfo.crucible_info:type_name -> proto.GadgetCrucibleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetPlayInfo_proto_init() }
+func file_GadgetPlayInfo_proto_init() {
+ if File_GadgetPlayInfo_proto != nil {
+ return
+ }
+ file_GadgetCrucibleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetPlayInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetPlayInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GadgetPlayInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GadgetPlayInfo_CrucibleInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetPlayInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetPlayInfo_proto_goTypes,
+ DependencyIndexes: file_GadgetPlayInfo_proto_depIdxs,
+ MessageInfos: file_GadgetPlayInfo_proto_msgTypes,
+ }.Build()
+ File_GadgetPlayInfo_proto = out.File
+ file_GadgetPlayInfo_proto_rawDesc = nil
+ file_GadgetPlayInfo_proto_goTypes = nil
+ file_GadgetPlayInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetPlayStartNotify.pb.go b/protocol/proto/GadgetPlayStartNotify.pb.go
new file mode 100644
index 00000000..645cc946
--- /dev/null
+++ b/protocol/proto/GadgetPlayStartNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetPlayStartNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 873
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetPlayStartNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StartTime uint32 `protobuf:"varint,14,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ PlayType uint32 `protobuf:"varint,8,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+}
+
+func (x *GadgetPlayStartNotify) Reset() {
+ *x = GadgetPlayStartNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetPlayStartNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetPlayStartNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetPlayStartNotify) ProtoMessage() {}
+
+func (x *GadgetPlayStartNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetPlayStartNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetPlayStartNotify.ProtoReflect.Descriptor instead.
+func (*GadgetPlayStartNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetPlayStartNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetPlayStartNotify) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *GadgetPlayStartNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *GadgetPlayStartNotify) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+var File_GadgetPlayStartNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetPlayStartNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x15, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c,
+ 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61,
+ 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6c,
+ 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetPlayStartNotify_proto_rawDescOnce sync.Once
+ file_GadgetPlayStartNotify_proto_rawDescData = file_GadgetPlayStartNotify_proto_rawDesc
+)
+
+func file_GadgetPlayStartNotify_proto_rawDescGZIP() []byte {
+ file_GadgetPlayStartNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetPlayStartNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetPlayStartNotify_proto_rawDescData)
+ })
+ return file_GadgetPlayStartNotify_proto_rawDescData
+}
+
+var file_GadgetPlayStartNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetPlayStartNotify_proto_goTypes = []interface{}{
+ (*GadgetPlayStartNotify)(nil), // 0: proto.GadgetPlayStartNotify
+}
+var file_GadgetPlayStartNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GadgetPlayStartNotify_proto_init() }
+func file_GadgetPlayStartNotify_proto_init() {
+ if File_GadgetPlayStartNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetPlayStartNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetPlayStartNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetPlayStartNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetPlayStartNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetPlayStartNotify_proto_depIdxs,
+ MessageInfos: file_GadgetPlayStartNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetPlayStartNotify_proto = out.File
+ file_GadgetPlayStartNotify_proto_rawDesc = nil
+ file_GadgetPlayStartNotify_proto_goTypes = nil
+ file_GadgetPlayStartNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetPlayStopNotify.pb.go b/protocol/proto/GadgetPlayStopNotify.pb.go
new file mode 100644
index 00000000..a4d84460
--- /dev/null
+++ b/protocol/proto/GadgetPlayStopNotify.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetPlayStopNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 899
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetPlayStopNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsWin bool `protobuf:"varint,14,opt,name=is_win,json=isWin,proto3" json:"is_win,omitempty"`
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ PlayType uint32 `protobuf:"varint,4,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ UidInfoList []*GadgetPlayUidInfo `protobuf:"bytes,8,rep,name=uid_info_list,json=uidInfoList,proto3" json:"uid_info_list,omitempty"`
+ Score uint32 `protobuf:"varint,5,opt,name=score,proto3" json:"score,omitempty"`
+ CostTime uint32 `protobuf:"varint,6,opt,name=cost_time,json=costTime,proto3" json:"cost_time,omitempty"`
+}
+
+func (x *GadgetPlayStopNotify) Reset() {
+ *x = GadgetPlayStopNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetPlayStopNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetPlayStopNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetPlayStopNotify) ProtoMessage() {}
+
+func (x *GadgetPlayStopNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetPlayStopNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetPlayStopNotify.ProtoReflect.Descriptor instead.
+func (*GadgetPlayStopNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetPlayStopNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetPlayStopNotify) GetIsWin() bool {
+ if x != nil {
+ return x.IsWin
+ }
+ return false
+}
+
+func (x *GadgetPlayStopNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *GadgetPlayStopNotify) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *GadgetPlayStopNotify) GetUidInfoList() []*GadgetPlayUidInfo {
+ if x != nil {
+ return x.UidInfoList
+ }
+ return nil
+}
+
+func (x *GadgetPlayStopNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *GadgetPlayStopNotify) GetCostTime() uint32 {
+ if x != nil {
+ return x.CostTime
+ }
+ return 0
+}
+
+var File_GadgetPlayStopNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetPlayStopNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x6f, 0x70,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x55,
+ 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x01, 0x0a,
+ 0x14, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x77, 0x69, 0x6e, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x57, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61,
+ 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6c,
+ 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x75, 0x69, 0x64, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79,
+ 0x55, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x75, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f,
+ 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63,
+ 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetPlayStopNotify_proto_rawDescOnce sync.Once
+ file_GadgetPlayStopNotify_proto_rawDescData = file_GadgetPlayStopNotify_proto_rawDesc
+)
+
+func file_GadgetPlayStopNotify_proto_rawDescGZIP() []byte {
+ file_GadgetPlayStopNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetPlayStopNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetPlayStopNotify_proto_rawDescData)
+ })
+ return file_GadgetPlayStopNotify_proto_rawDescData
+}
+
+var file_GadgetPlayStopNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetPlayStopNotify_proto_goTypes = []interface{}{
+ (*GadgetPlayStopNotify)(nil), // 0: proto.GadgetPlayStopNotify
+ (*GadgetPlayUidInfo)(nil), // 1: proto.GadgetPlayUidInfo
+}
+var file_GadgetPlayStopNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetPlayStopNotify.uid_info_list:type_name -> proto.GadgetPlayUidInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetPlayStopNotify_proto_init() }
+func file_GadgetPlayStopNotify_proto_init() {
+ if File_GadgetPlayStopNotify_proto != nil {
+ return
+ }
+ file_GadgetPlayUidInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetPlayStopNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetPlayStopNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetPlayStopNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetPlayStopNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetPlayStopNotify_proto_depIdxs,
+ MessageInfos: file_GadgetPlayStopNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetPlayStopNotify_proto = out.File
+ file_GadgetPlayStopNotify_proto_rawDesc = nil
+ file_GadgetPlayStopNotify_proto_goTypes = nil
+ file_GadgetPlayStopNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetPlayUidInfo.pb.go b/protocol/proto/GadgetPlayUidInfo.pb.go
new file mode 100644
index 00000000..d8e40daf
--- /dev/null
+++ b/protocol/proto/GadgetPlayUidInfo.pb.go
@@ -0,0 +1,224 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetPlayUidInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GadgetPlayUidInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProfilePicture *ProfilePicture `protobuf:"bytes,2,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ BattleWatcherId uint32 `protobuf:"varint,6,opt,name=battle_watcher_id,json=battleWatcherId,proto3" json:"battle_watcher_id,omitempty"`
+ Uid uint32 `protobuf:"varint,7,opt,name=uid,proto3" json:"uid,omitempty"`
+ Icon uint32 `protobuf:"varint,14,opt,name=icon,proto3" json:"icon,omitempty"`
+ Score uint32 `protobuf:"varint,4,opt,name=score,proto3" json:"score,omitempty"`
+ Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ OnlineId string `protobuf:"bytes,8,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+}
+
+func (x *GadgetPlayUidInfo) Reset() {
+ *x = GadgetPlayUidInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetPlayUidInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetPlayUidInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetPlayUidInfo) ProtoMessage() {}
+
+func (x *GadgetPlayUidInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetPlayUidInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetPlayUidInfo.ProtoReflect.Descriptor instead.
+func (*GadgetPlayUidInfo) Descriptor() ([]byte, []int) {
+ return file_GadgetPlayUidInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetPlayUidInfo) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *GadgetPlayUidInfo) GetBattleWatcherId() uint32 {
+ if x != nil {
+ return x.BattleWatcherId
+ }
+ return 0
+}
+
+func (x *GadgetPlayUidInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *GadgetPlayUidInfo) GetIcon() uint32 {
+ if x != nil {
+ return x.Icon
+ }
+ return 0
+}
+
+func (x *GadgetPlayUidInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *GadgetPlayUidInfo) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *GadgetPlayUidInfo) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+var File_GadgetPlayUidInfo_proto protoreflect.FileDescriptor
+
+var file_GadgetPlayUidInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x55, 0x69, 0x64, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x01, 0x0a, 0x11, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x50, 0x6c, 0x61, 0x79, 0x55, 0x69, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0f,
+ 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72,
+ 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72,
+ 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x11,
+ 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x57,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63,
+ 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GadgetPlayUidInfo_proto_rawDescOnce sync.Once
+ file_GadgetPlayUidInfo_proto_rawDescData = file_GadgetPlayUidInfo_proto_rawDesc
+)
+
+func file_GadgetPlayUidInfo_proto_rawDescGZIP() []byte {
+ file_GadgetPlayUidInfo_proto_rawDescOnce.Do(func() {
+ file_GadgetPlayUidInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetPlayUidInfo_proto_rawDescData)
+ })
+ return file_GadgetPlayUidInfo_proto_rawDescData
+}
+
+var file_GadgetPlayUidInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetPlayUidInfo_proto_goTypes = []interface{}{
+ (*GadgetPlayUidInfo)(nil), // 0: proto.GadgetPlayUidInfo
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_GadgetPlayUidInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GadgetPlayUidInfo.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GadgetPlayUidInfo_proto_init() }
+func file_GadgetPlayUidInfo_proto_init() {
+ if File_GadgetPlayUidInfo_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetPlayUidInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetPlayUidInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetPlayUidInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetPlayUidInfo_proto_goTypes,
+ DependencyIndexes: file_GadgetPlayUidInfo_proto_depIdxs,
+ MessageInfos: file_GadgetPlayUidInfo_proto_msgTypes,
+ }.Build()
+ File_GadgetPlayUidInfo_proto = out.File
+ file_GadgetPlayUidInfo_proto_rawDesc = nil
+ file_GadgetPlayUidInfo_proto_goTypes = nil
+ file_GadgetPlayUidInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetPlayUidOpNotify.pb.go b/protocol/proto/GadgetPlayUidOpNotify.pb.go
new file mode 100644
index 00000000..0cebb3bb
--- /dev/null
+++ b/protocol/proto/GadgetPlayUidOpNotify.pb.go
@@ -0,0 +1,211 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetPlayUidOpNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 875
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetPlayUidOpNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ UidList []uint32 `protobuf:"varint,2,rep,packed,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"`
+ PlayType uint32 `protobuf:"varint,6,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ ParamStr string `protobuf:"bytes,1,opt,name=param_str,json=paramStr,proto3" json:"param_str,omitempty"`
+ Op uint32 `protobuf:"varint,7,opt,name=op,proto3" json:"op,omitempty"`
+ ParamList []uint32 `protobuf:"varint,4,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+}
+
+func (x *GadgetPlayUidOpNotify) Reset() {
+ *x = GadgetPlayUidOpNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetPlayUidOpNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetPlayUidOpNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetPlayUidOpNotify) ProtoMessage() {}
+
+func (x *GadgetPlayUidOpNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetPlayUidOpNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetPlayUidOpNotify.ProtoReflect.Descriptor instead.
+func (*GadgetPlayUidOpNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetPlayUidOpNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetPlayUidOpNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *GadgetPlayUidOpNotify) GetUidList() []uint32 {
+ if x != nil {
+ return x.UidList
+ }
+ return nil
+}
+
+func (x *GadgetPlayUidOpNotify) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *GadgetPlayUidOpNotify) GetParamStr() string {
+ if x != nil {
+ return x.ParamStr
+ }
+ return ""
+}
+
+func (x *GadgetPlayUidOpNotify) GetOp() uint32 {
+ if x != nil {
+ return x.Op
+ }
+ return 0
+}
+
+func (x *GadgetPlayUidOpNotify) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+var File_GadgetPlayUidOpNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetPlayUidOpNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x55, 0x69, 0x64, 0x4f,
+ 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x15, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x50,
+ 0x6c, 0x61, 0x79, 0x55, 0x69, 0x64, 0x4f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x72,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x74, 0x72,
+ 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x6f, 0x70,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetPlayUidOpNotify_proto_rawDescOnce sync.Once
+ file_GadgetPlayUidOpNotify_proto_rawDescData = file_GadgetPlayUidOpNotify_proto_rawDesc
+)
+
+func file_GadgetPlayUidOpNotify_proto_rawDescGZIP() []byte {
+ file_GadgetPlayUidOpNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetPlayUidOpNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetPlayUidOpNotify_proto_rawDescData)
+ })
+ return file_GadgetPlayUidOpNotify_proto_rawDescData
+}
+
+var file_GadgetPlayUidOpNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetPlayUidOpNotify_proto_goTypes = []interface{}{
+ (*GadgetPlayUidOpNotify)(nil), // 0: proto.GadgetPlayUidOpNotify
+}
+var file_GadgetPlayUidOpNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GadgetPlayUidOpNotify_proto_init() }
+func file_GadgetPlayUidOpNotify_proto_init() {
+ if File_GadgetPlayUidOpNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetPlayUidOpNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetPlayUidOpNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetPlayUidOpNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetPlayUidOpNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetPlayUidOpNotify_proto_depIdxs,
+ MessageInfos: file_GadgetPlayUidOpNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetPlayUidOpNotify_proto = out.File
+ file_GadgetPlayUidOpNotify_proto_rawDesc = nil
+ file_GadgetPlayUidOpNotify_proto_goTypes = nil
+ file_GadgetPlayUidOpNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetStateNotify.pb.go b/protocol/proto/GadgetStateNotify.pb.go
new file mode 100644
index 00000000..de071846
--- /dev/null
+++ b/protocol/proto/GadgetStateNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetStateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 812
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetStateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityId uint32 `protobuf:"varint,5,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ GadgetState uint32 `protobuf:"varint,3,opt,name=gadget_state,json=gadgetState,proto3" json:"gadget_state,omitempty"`
+ IsEnableInteract bool `protobuf:"varint,11,opt,name=is_enable_interact,json=isEnableInteract,proto3" json:"is_enable_interact,omitempty"`
+}
+
+func (x *GadgetStateNotify) Reset() {
+ *x = GadgetStateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetStateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetStateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetStateNotify) ProtoMessage() {}
+
+func (x *GadgetStateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetStateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetStateNotify.ProtoReflect.Descriptor instead.
+func (*GadgetStateNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetStateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetStateNotify) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *GadgetStateNotify) GetGadgetState() uint32 {
+ if x != nil {
+ return x.GadgetState
+ }
+ return 0
+}
+
+func (x *GadgetStateNotify) GetIsEnableInteract() bool {
+ if x != nil {
+ return x.IsEnableInteract
+ }
+ return false
+}
+
+var File_GadgetStateNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetStateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x8e, 0x01, 0x0a, 0x11, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x10, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetStateNotify_proto_rawDescOnce sync.Once
+ file_GadgetStateNotify_proto_rawDescData = file_GadgetStateNotify_proto_rawDesc
+)
+
+func file_GadgetStateNotify_proto_rawDescGZIP() []byte {
+ file_GadgetStateNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetStateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetStateNotify_proto_rawDescData)
+ })
+ return file_GadgetStateNotify_proto_rawDescData
+}
+
+var file_GadgetStateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetStateNotify_proto_goTypes = []interface{}{
+ (*GadgetStateNotify)(nil), // 0: proto.GadgetStateNotify
+}
+var file_GadgetStateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GadgetStateNotify_proto_init() }
+func file_GadgetStateNotify_proto_init() {
+ if File_GadgetStateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetStateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetStateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetStateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetStateNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetStateNotify_proto_depIdxs,
+ MessageInfos: file_GadgetStateNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetStateNotify_proto = out.File
+ file_GadgetStateNotify_proto_rawDesc = nil
+ file_GadgetStateNotify_proto_goTypes = nil
+ file_GadgetStateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GadgetTalkChangeNotify.pb.go b/protocol/proto/GadgetTalkChangeNotify.pb.go
new file mode 100644
index 00000000..f80bc456
--- /dev/null
+++ b/protocol/proto/GadgetTalkChangeNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GadgetTalkChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 839
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GadgetTalkChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityId uint32 `protobuf:"varint,5,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ CurGadgetTalkState uint32 `protobuf:"varint,15,opt,name=cur_gadget_talk_state,json=curGadgetTalkState,proto3" json:"cur_gadget_talk_state,omitempty"`
+}
+
+func (x *GadgetTalkChangeNotify) Reset() {
+ *x = GadgetTalkChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GadgetTalkChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GadgetTalkChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GadgetTalkChangeNotify) ProtoMessage() {}
+
+func (x *GadgetTalkChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GadgetTalkChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GadgetTalkChangeNotify.ProtoReflect.Descriptor instead.
+func (*GadgetTalkChangeNotify) Descriptor() ([]byte, []int) {
+ return file_GadgetTalkChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GadgetTalkChangeNotify) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *GadgetTalkChangeNotify) GetCurGadgetTalkState() uint32 {
+ if x != nil {
+ return x.CurGadgetTalkState
+ }
+ return 0
+}
+
+var File_GadgetTalkChangeNotify_proto protoreflect.FileDescriptor
+
+var file_GadgetTalkChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x61, 0x6c, 0x6b, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x16, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54,
+ 0x61, 0x6c, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x63, 0x75, 0x72,
+ 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x6c, 0x6b, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x75, 0x72, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x54, 0x61, 0x6c, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GadgetTalkChangeNotify_proto_rawDescOnce sync.Once
+ file_GadgetTalkChangeNotify_proto_rawDescData = file_GadgetTalkChangeNotify_proto_rawDesc
+)
+
+func file_GadgetTalkChangeNotify_proto_rawDescGZIP() []byte {
+ file_GadgetTalkChangeNotify_proto_rawDescOnce.Do(func() {
+ file_GadgetTalkChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GadgetTalkChangeNotify_proto_rawDescData)
+ })
+ return file_GadgetTalkChangeNotify_proto_rawDescData
+}
+
+var file_GadgetTalkChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GadgetTalkChangeNotify_proto_goTypes = []interface{}{
+ (*GadgetTalkChangeNotify)(nil), // 0: proto.GadgetTalkChangeNotify
+}
+var file_GadgetTalkChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GadgetTalkChangeNotify_proto_init() }
+func file_GadgetTalkChangeNotify_proto_init() {
+ if File_GadgetTalkChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GadgetTalkChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GadgetTalkChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GadgetTalkChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GadgetTalkChangeNotify_proto_goTypes,
+ DependencyIndexes: file_GadgetTalkChangeNotify_proto_depIdxs,
+ MessageInfos: file_GadgetTalkChangeNotify_proto_msgTypes,
+ }.Build()
+ File_GadgetTalkChangeNotify_proto = out.File
+ file_GadgetTalkChangeNotify_proto_rawDesc = nil
+ file_GadgetTalkChangeNotify_proto_goTypes = nil
+ file_GadgetTalkChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryBalloonScoreNotify.pb.go b/protocol/proto/GalleryBalloonScoreNotify.pb.go
new file mode 100644
index 00000000..92fb2f52
--- /dev/null
+++ b/protocol/proto/GalleryBalloonScoreNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryBalloonScoreNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5512
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryBalloonScoreNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,9,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ UidScoreMap map[uint32]uint32 `protobuf:"bytes,7,rep,name=uid_score_map,json=uidScoreMap,proto3" json:"uid_score_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GalleryBalloonScoreNotify) Reset() {
+ *x = GalleryBalloonScoreNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryBalloonScoreNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryBalloonScoreNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryBalloonScoreNotify) ProtoMessage() {}
+
+func (x *GalleryBalloonScoreNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryBalloonScoreNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryBalloonScoreNotify.ProtoReflect.Descriptor instead.
+func (*GalleryBalloonScoreNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryBalloonScoreNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryBalloonScoreNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *GalleryBalloonScoreNotify) GetUidScoreMap() map[uint32]uint32 {
+ if x != nil {
+ return x.UidScoreMap
+ }
+ return nil
+}
+
+var File_GalleryBalloonScoreNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryBalloonScoreNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x19, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x0d, 0x75, 0x69, 0x64, 0x5f, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x6f, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x55,
+ 0x69, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0b, 0x75, 0x69, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x3e, 0x0a, 0x10,
+ 0x55, 0x69, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryBalloonScoreNotify_proto_rawDescOnce sync.Once
+ file_GalleryBalloonScoreNotify_proto_rawDescData = file_GalleryBalloonScoreNotify_proto_rawDesc
+)
+
+func file_GalleryBalloonScoreNotify_proto_rawDescGZIP() []byte {
+ file_GalleryBalloonScoreNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryBalloonScoreNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryBalloonScoreNotify_proto_rawDescData)
+ })
+ return file_GalleryBalloonScoreNotify_proto_rawDescData
+}
+
+var file_GalleryBalloonScoreNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GalleryBalloonScoreNotify_proto_goTypes = []interface{}{
+ (*GalleryBalloonScoreNotify)(nil), // 0: proto.GalleryBalloonScoreNotify
+ nil, // 1: proto.GalleryBalloonScoreNotify.UidScoreMapEntry
+}
+var file_GalleryBalloonScoreNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GalleryBalloonScoreNotify.uid_score_map:type_name -> proto.GalleryBalloonScoreNotify.UidScoreMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GalleryBalloonScoreNotify_proto_init() }
+func file_GalleryBalloonScoreNotify_proto_init() {
+ if File_GalleryBalloonScoreNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryBalloonScoreNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryBalloonScoreNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryBalloonScoreNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryBalloonScoreNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryBalloonScoreNotify_proto_depIdxs,
+ MessageInfos: file_GalleryBalloonScoreNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryBalloonScoreNotify_proto = out.File
+ file_GalleryBalloonScoreNotify_proto_rawDesc = nil
+ file_GalleryBalloonScoreNotify_proto_goTypes = nil
+ file_GalleryBalloonScoreNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryBalloonShootNotify.pb.go b/protocol/proto/GalleryBalloonShootNotify.pb.go
new file mode 100644
index 00000000..f9af4180
--- /dev/null
+++ b/protocol/proto/GalleryBalloonShootNotify.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryBalloonShootNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5598
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryBalloonShootNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TriggerEntityId uint32 `protobuf:"varint,12,opt,name=trigger_entity_id,json=triggerEntityId,proto3" json:"trigger_entity_id,omitempty"`
+ GalleryId uint32 `protobuf:"varint,5,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ Combo uint32 `protobuf:"varint,14,opt,name=combo,proto3" json:"combo,omitempty"`
+ ComboDisableTime uint64 `protobuf:"varint,6,opt,name=combo_disable_time,json=comboDisableTime,proto3" json:"combo_disable_time,omitempty"`
+ AddScore int32 `protobuf:"varint,11,opt,name=add_score,json=addScore,proto3" json:"add_score,omitempty"`
+ CurScore uint32 `protobuf:"varint,13,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+}
+
+func (x *GalleryBalloonShootNotify) Reset() {
+ *x = GalleryBalloonShootNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryBalloonShootNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryBalloonShootNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryBalloonShootNotify) ProtoMessage() {}
+
+func (x *GalleryBalloonShootNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryBalloonShootNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryBalloonShootNotify.ProtoReflect.Descriptor instead.
+func (*GalleryBalloonShootNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryBalloonShootNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryBalloonShootNotify) GetTriggerEntityId() uint32 {
+ if x != nil {
+ return x.TriggerEntityId
+ }
+ return 0
+}
+
+func (x *GalleryBalloonShootNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *GalleryBalloonShootNotify) GetCombo() uint32 {
+ if x != nil {
+ return x.Combo
+ }
+ return 0
+}
+
+func (x *GalleryBalloonShootNotify) GetComboDisableTime() uint64 {
+ if x != nil {
+ return x.ComboDisableTime
+ }
+ return 0
+}
+
+func (x *GalleryBalloonShootNotify) GetAddScore() int32 {
+ if x != nil {
+ return x.AddScore
+ }
+ return 0
+}
+
+func (x *GalleryBalloonShootNotify) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+var File_GalleryBalloonShootNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryBalloonShootNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e,
+ 0x53, 0x68, 0x6f, 0x6f, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x01, 0x0a, 0x19, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x53, 0x68, 0x6f, 0x6f, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
+ 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x62, 0x6f,
+ 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c,
+ 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x64, 0x64, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryBalloonShootNotify_proto_rawDescOnce sync.Once
+ file_GalleryBalloonShootNotify_proto_rawDescData = file_GalleryBalloonShootNotify_proto_rawDesc
+)
+
+func file_GalleryBalloonShootNotify_proto_rawDescGZIP() []byte {
+ file_GalleryBalloonShootNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryBalloonShootNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryBalloonShootNotify_proto_rawDescData)
+ })
+ return file_GalleryBalloonShootNotify_proto_rawDescData
+}
+
+var file_GalleryBalloonShootNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryBalloonShootNotify_proto_goTypes = []interface{}{
+ (*GalleryBalloonShootNotify)(nil), // 0: proto.GalleryBalloonShootNotify
+}
+var file_GalleryBalloonShootNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryBalloonShootNotify_proto_init() }
+func file_GalleryBalloonShootNotify_proto_init() {
+ if File_GalleryBalloonShootNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryBalloonShootNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryBalloonShootNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryBalloonShootNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryBalloonShootNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryBalloonShootNotify_proto_depIdxs,
+ MessageInfos: file_GalleryBalloonShootNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryBalloonShootNotify_proto = out.File
+ file_GalleryBalloonShootNotify_proto_rawDesc = nil
+ file_GalleryBalloonShootNotify_proto_goTypes = nil
+ file_GalleryBalloonShootNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryBounceConjuringHitNotify.pb.go b/protocol/proto/GalleryBounceConjuringHitNotify.pb.go
new file mode 100644
index 00000000..42ab9365
--- /dev/null
+++ b/protocol/proto/GalleryBounceConjuringHitNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryBounceConjuringHitNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5505
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryBounceConjuringHitNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AddScore uint32 `protobuf:"varint,8,opt,name=add_score,json=addScore,proto3" json:"add_score,omitempty"`
+ IsPerfect bool `protobuf:"varint,5,opt,name=is_perfect,json=isPerfect,proto3" json:"is_perfect,omitempty"`
+ GalleryId uint32 `protobuf:"varint,10,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GalleryBounceConjuringHitNotify) Reset() {
+ *x = GalleryBounceConjuringHitNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryBounceConjuringHitNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryBounceConjuringHitNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryBounceConjuringHitNotify) ProtoMessage() {}
+
+func (x *GalleryBounceConjuringHitNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryBounceConjuringHitNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryBounceConjuringHitNotify.ProtoReflect.Descriptor instead.
+func (*GalleryBounceConjuringHitNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryBounceConjuringHitNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryBounceConjuringHitNotify) GetAddScore() uint32 {
+ if x != nil {
+ return x.AddScore
+ }
+ return 0
+}
+
+func (x *GalleryBounceConjuringHitNotify) GetIsPerfect() bool {
+ if x != nil {
+ return x.IsPerfect
+ }
+ return false
+}
+
+func (x *GalleryBounceConjuringHitNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GalleryBounceConjuringHitNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryBounceConjuringHitNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43,
+ 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c,
+ 0x0a, 0x1f, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43,
+ 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x64, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryBounceConjuringHitNotify_proto_rawDescOnce sync.Once
+ file_GalleryBounceConjuringHitNotify_proto_rawDescData = file_GalleryBounceConjuringHitNotify_proto_rawDesc
+)
+
+func file_GalleryBounceConjuringHitNotify_proto_rawDescGZIP() []byte {
+ file_GalleryBounceConjuringHitNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryBounceConjuringHitNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryBounceConjuringHitNotify_proto_rawDescData)
+ })
+ return file_GalleryBounceConjuringHitNotify_proto_rawDescData
+}
+
+var file_GalleryBounceConjuringHitNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryBounceConjuringHitNotify_proto_goTypes = []interface{}{
+ (*GalleryBounceConjuringHitNotify)(nil), // 0: proto.GalleryBounceConjuringHitNotify
+}
+var file_GalleryBounceConjuringHitNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryBounceConjuringHitNotify_proto_init() }
+func file_GalleryBounceConjuringHitNotify_proto_init() {
+ if File_GalleryBounceConjuringHitNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryBounceConjuringHitNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryBounceConjuringHitNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryBounceConjuringHitNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryBounceConjuringHitNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryBounceConjuringHitNotify_proto_depIdxs,
+ MessageInfos: file_GalleryBounceConjuringHitNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryBounceConjuringHitNotify_proto = out.File
+ file_GalleryBounceConjuringHitNotify_proto_rawDesc = nil
+ file_GalleryBounceConjuringHitNotify_proto_goTypes = nil
+ file_GalleryBounceConjuringHitNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryBrokenFloorFallNotify.pb.go b/protocol/proto/GalleryBrokenFloorFallNotify.pb.go
new file mode 100644
index 00000000..b9235e52
--- /dev/null
+++ b/protocol/proto/GalleryBrokenFloorFallNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryBrokenFloorFallNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5575
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryBrokenFloorFallNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FallCount uint32 `protobuf:"varint,3,opt,name=fall_count,json=fallCount,proto3" json:"fall_count,omitempty"`
+ GalleryId uint32 `protobuf:"varint,5,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GalleryBrokenFloorFallNotify) Reset() {
+ *x = GalleryBrokenFloorFallNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryBrokenFloorFallNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryBrokenFloorFallNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryBrokenFloorFallNotify) ProtoMessage() {}
+
+func (x *GalleryBrokenFloorFallNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryBrokenFloorFallNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryBrokenFloorFallNotify.ProtoReflect.Descriptor instead.
+func (*GalleryBrokenFloorFallNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryBrokenFloorFallNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryBrokenFloorFallNotify) GetFallCount() uint32 {
+ if x != nil {
+ return x.FallCount
+ }
+ return 0
+}
+
+func (x *GalleryBrokenFloorFallNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GalleryBrokenFloorFallNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryBrokenFloorFallNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x46,
+ 0x6c, 0x6f, 0x6f, 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x1c, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6c, 0x6f, 0x6f,
+ 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x66,
+ 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryBrokenFloorFallNotify_proto_rawDescOnce sync.Once
+ file_GalleryBrokenFloorFallNotify_proto_rawDescData = file_GalleryBrokenFloorFallNotify_proto_rawDesc
+)
+
+func file_GalleryBrokenFloorFallNotify_proto_rawDescGZIP() []byte {
+ file_GalleryBrokenFloorFallNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryBrokenFloorFallNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryBrokenFloorFallNotify_proto_rawDescData)
+ })
+ return file_GalleryBrokenFloorFallNotify_proto_rawDescData
+}
+
+var file_GalleryBrokenFloorFallNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryBrokenFloorFallNotify_proto_goTypes = []interface{}{
+ (*GalleryBrokenFloorFallNotify)(nil), // 0: proto.GalleryBrokenFloorFallNotify
+}
+var file_GalleryBrokenFloorFallNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryBrokenFloorFallNotify_proto_init() }
+func file_GalleryBrokenFloorFallNotify_proto_init() {
+ if File_GalleryBrokenFloorFallNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryBrokenFloorFallNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryBrokenFloorFallNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryBrokenFloorFallNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryBrokenFloorFallNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryBrokenFloorFallNotify_proto_depIdxs,
+ MessageInfos: file_GalleryBrokenFloorFallNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryBrokenFloorFallNotify_proto = out.File
+ file_GalleryBrokenFloorFallNotify_proto_rawDesc = nil
+ file_GalleryBrokenFloorFallNotify_proto_goTypes = nil
+ file_GalleryBrokenFloorFallNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryBulletHitNotify.pb.go b/protocol/proto/GalleryBulletHitNotify.pb.go
new file mode 100644
index 00000000..436b310d
--- /dev/null
+++ b/protocol/proto/GalleryBulletHitNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryBulletHitNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5531
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryBulletHitNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HitCount uint32 `protobuf:"varint,14,opt,name=hit_count,json=hitCount,proto3" json:"hit_count,omitempty"`
+ GalleryId uint32 `protobuf:"varint,12,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GalleryBulletHitNotify) Reset() {
+ *x = GalleryBulletHitNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryBulletHitNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryBulletHitNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryBulletHitNotify) ProtoMessage() {}
+
+func (x *GalleryBulletHitNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryBulletHitNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryBulletHitNotify.ProtoReflect.Descriptor instead.
+func (*GalleryBulletHitNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryBulletHitNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryBulletHitNotify) GetHitCount() uint32 {
+ if x != nil {
+ return x.HitCount
+ }
+ return 0
+}
+
+func (x *GalleryBulletHitNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GalleryBulletHitNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryBulletHitNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x48,
+ 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x16, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x48, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1b, 0x0a, 0x09, 0x68, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x68, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryBulletHitNotify_proto_rawDescOnce sync.Once
+ file_GalleryBulletHitNotify_proto_rawDescData = file_GalleryBulletHitNotify_proto_rawDesc
+)
+
+func file_GalleryBulletHitNotify_proto_rawDescGZIP() []byte {
+ file_GalleryBulletHitNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryBulletHitNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryBulletHitNotify_proto_rawDescData)
+ })
+ return file_GalleryBulletHitNotify_proto_rawDescData
+}
+
+var file_GalleryBulletHitNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryBulletHitNotify_proto_goTypes = []interface{}{
+ (*GalleryBulletHitNotify)(nil), // 0: proto.GalleryBulletHitNotify
+}
+var file_GalleryBulletHitNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryBulletHitNotify_proto_init() }
+func file_GalleryBulletHitNotify_proto_init() {
+ if File_GalleryBulletHitNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryBulletHitNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryBulletHitNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryBulletHitNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryBulletHitNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryBulletHitNotify_proto_depIdxs,
+ MessageInfos: file_GalleryBulletHitNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryBulletHitNotify_proto = out.File
+ file_GalleryBulletHitNotify_proto_rawDesc = nil
+ file_GalleryBulletHitNotify_proto_goTypes = nil
+ file_GalleryBulletHitNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryCrystalLinkBuffInfoNotify.pb.go b/protocol/proto/GalleryCrystalLinkBuffInfoNotify.pb.go
new file mode 100644
index 00000000..1d8a44cb
--- /dev/null
+++ b/protocol/proto/GalleryCrystalLinkBuffInfoNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryCrystalLinkBuffInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5539
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryCrystalLinkBuffInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,13,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ IsBuffValid bool `protobuf:"varint,11,opt,name=is_buff_valid,json=isBuffValid,proto3" json:"is_buff_valid,omitempty"`
+ BuffId uint32 `protobuf:"varint,14,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+}
+
+func (x *GalleryCrystalLinkBuffInfoNotify) Reset() {
+ *x = GalleryCrystalLinkBuffInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryCrystalLinkBuffInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryCrystalLinkBuffInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryCrystalLinkBuffInfoNotify) ProtoMessage() {}
+
+func (x *GalleryCrystalLinkBuffInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryCrystalLinkBuffInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryCrystalLinkBuffInfoNotify.ProtoReflect.Descriptor instead.
+func (*GalleryCrystalLinkBuffInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryCrystalLinkBuffInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryCrystalLinkBuffInfoNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *GalleryCrystalLinkBuffInfoNotify) GetIsBuffValid() bool {
+ if x != nil {
+ return x.IsBuffValid
+ }
+ return false
+}
+
+func (x *GalleryCrystalLinkBuffInfoNotify) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+var File_GalleryCrystalLinkBuffInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryCrystalLinkBuffInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c,
+ 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x7e, 0x0a, 0x20, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61,
+ 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x76, 0x61,
+ 0x6c, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x42, 0x75, 0x66,
+ 0x66, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryCrystalLinkBuffInfoNotify_proto_rawDescOnce sync.Once
+ file_GalleryCrystalLinkBuffInfoNotify_proto_rawDescData = file_GalleryCrystalLinkBuffInfoNotify_proto_rawDesc
+)
+
+func file_GalleryCrystalLinkBuffInfoNotify_proto_rawDescGZIP() []byte {
+ file_GalleryCrystalLinkBuffInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryCrystalLinkBuffInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryCrystalLinkBuffInfoNotify_proto_rawDescData)
+ })
+ return file_GalleryCrystalLinkBuffInfoNotify_proto_rawDescData
+}
+
+var file_GalleryCrystalLinkBuffInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryCrystalLinkBuffInfoNotify_proto_goTypes = []interface{}{
+ (*GalleryCrystalLinkBuffInfoNotify)(nil), // 0: proto.GalleryCrystalLinkBuffInfoNotify
+}
+var file_GalleryCrystalLinkBuffInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryCrystalLinkBuffInfoNotify_proto_init() }
+func file_GalleryCrystalLinkBuffInfoNotify_proto_init() {
+ if File_GalleryCrystalLinkBuffInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryCrystalLinkBuffInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryCrystalLinkBuffInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryCrystalLinkBuffInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryCrystalLinkBuffInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryCrystalLinkBuffInfoNotify_proto_depIdxs,
+ MessageInfos: file_GalleryCrystalLinkBuffInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryCrystalLinkBuffInfoNotify_proto = out.File
+ file_GalleryCrystalLinkBuffInfoNotify_proto_rawDesc = nil
+ file_GalleryCrystalLinkBuffInfoNotify_proto_goTypes = nil
+ file_GalleryCrystalLinkBuffInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryCrystalLinkKillMonsterNotify.pb.go b/protocol/proto/GalleryCrystalLinkKillMonsterNotify.pb.go
new file mode 100644
index 00000000..772ae081
--- /dev/null
+++ b/protocol/proto/GalleryCrystalLinkKillMonsterNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryCrystalLinkKillMonsterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5547
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryCrystalLinkKillMonsterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,7,opt,name=score,proto3" json:"score,omitempty"`
+ GalleryId uint32 `protobuf:"varint,9,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GalleryCrystalLinkKillMonsterNotify) Reset() {
+ *x = GalleryCrystalLinkKillMonsterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryCrystalLinkKillMonsterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryCrystalLinkKillMonsterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryCrystalLinkKillMonsterNotify) ProtoMessage() {}
+
+func (x *GalleryCrystalLinkKillMonsterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryCrystalLinkKillMonsterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryCrystalLinkKillMonsterNotify.ProtoReflect.Descriptor instead.
+func (*GalleryCrystalLinkKillMonsterNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryCrystalLinkKillMonsterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryCrystalLinkKillMonsterNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *GalleryCrystalLinkKillMonsterNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GalleryCrystalLinkKillMonsterNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryCrystalLinkKillMonsterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c,
+ 0x4c, 0x69, 0x6e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x23, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x72, 0x79,
+ 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x4b, 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GalleryCrystalLinkKillMonsterNotify_proto_rawDescOnce sync.Once
+ file_GalleryCrystalLinkKillMonsterNotify_proto_rawDescData = file_GalleryCrystalLinkKillMonsterNotify_proto_rawDesc
+)
+
+func file_GalleryCrystalLinkKillMonsterNotify_proto_rawDescGZIP() []byte {
+ file_GalleryCrystalLinkKillMonsterNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryCrystalLinkKillMonsterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryCrystalLinkKillMonsterNotify_proto_rawDescData)
+ })
+ return file_GalleryCrystalLinkKillMonsterNotify_proto_rawDescData
+}
+
+var file_GalleryCrystalLinkKillMonsterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryCrystalLinkKillMonsterNotify_proto_goTypes = []interface{}{
+ (*GalleryCrystalLinkKillMonsterNotify)(nil), // 0: proto.GalleryCrystalLinkKillMonsterNotify
+}
+var file_GalleryCrystalLinkKillMonsterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryCrystalLinkKillMonsterNotify_proto_init() }
+func file_GalleryCrystalLinkKillMonsterNotify_proto_init() {
+ if File_GalleryCrystalLinkKillMonsterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryCrystalLinkKillMonsterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryCrystalLinkKillMonsterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryCrystalLinkKillMonsterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryCrystalLinkKillMonsterNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryCrystalLinkKillMonsterNotify_proto_depIdxs,
+ MessageInfos: file_GalleryCrystalLinkKillMonsterNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryCrystalLinkKillMonsterNotify_proto = out.File
+ file_GalleryCrystalLinkKillMonsterNotify_proto_rawDesc = nil
+ file_GalleryCrystalLinkKillMonsterNotify_proto_goTypes = nil
+ file_GalleryCrystalLinkKillMonsterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryFallCatchNotify.pb.go b/protocol/proto/GalleryFallCatchNotify.pb.go
new file mode 100644
index 00000000..5b40ccbf
--- /dev/null
+++ b/protocol/proto/GalleryFallCatchNotify.pb.go
@@ -0,0 +1,223 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryFallCatchNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5507
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryFallCatchNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurScore uint32 `protobuf:"varint,6,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ TimeCost uint32 `protobuf:"varint,11,opt,name=time_cost,json=timeCost,proto3" json:"time_cost,omitempty"`
+ BallCatchCountMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=ball_catch_count_map,json=ballCatchCountMap,proto3" json:"ball_catch_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ AddScore uint32 `protobuf:"varint,1,opt,name=add_score,json=addScore,proto3" json:"add_score,omitempty"`
+ IsGround bool `protobuf:"varint,12,opt,name=is_ground,json=isGround,proto3" json:"is_ground,omitempty"`
+ GalleryId uint32 `protobuf:"varint,10,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GalleryFallCatchNotify) Reset() {
+ *x = GalleryFallCatchNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryFallCatchNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryFallCatchNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryFallCatchNotify) ProtoMessage() {}
+
+func (x *GalleryFallCatchNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryFallCatchNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryFallCatchNotify.ProtoReflect.Descriptor instead.
+func (*GalleryFallCatchNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryFallCatchNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryFallCatchNotify) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *GalleryFallCatchNotify) GetTimeCost() uint32 {
+ if x != nil {
+ return x.TimeCost
+ }
+ return 0
+}
+
+func (x *GalleryFallCatchNotify) GetBallCatchCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.BallCatchCountMap
+ }
+ return nil
+}
+
+func (x *GalleryFallCatchNotify) GetAddScore() uint32 {
+ if x != nil {
+ return x.AddScore
+ }
+ return 0
+}
+
+func (x *GalleryFallCatchNotify) GetIsGround() bool {
+ if x != nil {
+ return x.IsGround
+ }
+ return false
+}
+
+func (x *GalleryFallCatchNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GalleryFallCatchNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryFallCatchNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x74,
+ 0x63, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x02, 0x0a, 0x16, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a,
+ 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x65, 0x0a, 0x14, 0x62, 0x61,
+ 0x6c, 0x6c, 0x5f, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x63,
+ 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x42, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x63,
+ 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11,
+ 0x62, 0x61, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61,
+ 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x64, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x08, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x1a, 0x44, 0x0a, 0x16, 0x42, 0x61,
+ 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryFallCatchNotify_proto_rawDescOnce sync.Once
+ file_GalleryFallCatchNotify_proto_rawDescData = file_GalleryFallCatchNotify_proto_rawDesc
+)
+
+func file_GalleryFallCatchNotify_proto_rawDescGZIP() []byte {
+ file_GalleryFallCatchNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryFallCatchNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryFallCatchNotify_proto_rawDescData)
+ })
+ return file_GalleryFallCatchNotify_proto_rawDescData
+}
+
+var file_GalleryFallCatchNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GalleryFallCatchNotify_proto_goTypes = []interface{}{
+ (*GalleryFallCatchNotify)(nil), // 0: proto.GalleryFallCatchNotify
+ nil, // 1: proto.GalleryFallCatchNotify.BallCatchCountMapEntry
+}
+var file_GalleryFallCatchNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GalleryFallCatchNotify.ball_catch_count_map:type_name -> proto.GalleryFallCatchNotify.BallCatchCountMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GalleryFallCatchNotify_proto_init() }
+func file_GalleryFallCatchNotify_proto_init() {
+ if File_GalleryFallCatchNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryFallCatchNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryFallCatchNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryFallCatchNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryFallCatchNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryFallCatchNotify_proto_depIdxs,
+ MessageInfos: file_GalleryFallCatchNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryFallCatchNotify_proto = out.File
+ file_GalleryFallCatchNotify_proto_rawDesc = nil
+ file_GalleryFallCatchNotify_proto_goTypes = nil
+ file_GalleryFallCatchNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryFallScoreNotify.pb.go b/protocol/proto/GalleryFallScoreNotify.pb.go
new file mode 100644
index 00000000..63e2b18c
--- /dev/null
+++ b/protocol/proto/GalleryFallScoreNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryFallScoreNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5521
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryFallScoreNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,7,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ UidBriefMap map[uint32]*FallPlayerBrief `protobuf:"bytes,1,rep,name=uid_brief_map,json=uidBriefMap,proto3" json:"uid_brief_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *GalleryFallScoreNotify) Reset() {
+ *x = GalleryFallScoreNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryFallScoreNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryFallScoreNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryFallScoreNotify) ProtoMessage() {}
+
+func (x *GalleryFallScoreNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryFallScoreNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryFallScoreNotify.ProtoReflect.Descriptor instead.
+func (*GalleryFallScoreNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryFallScoreNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryFallScoreNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *GalleryFallScoreNotify) GetUidBriefMap() map[uint32]*FallPlayerBrief {
+ if x != nil {
+ return x.UidBriefMap
+ }
+ return nil
+}
+
+var File_GalleryFallScoreNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryFallScoreNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x46, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x01, 0x0a,
+ 0x16, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x72,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x0d, 0x75, 0x69, 0x64, 0x5f, 0x62, 0x72,
+ 0x69, 0x65, 0x66, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x61, 0x6c,
+ 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x55, 0x69, 0x64,
+ 0x42, 0x72, 0x69, 0x65, 0x66, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x75,
+ 0x69, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x4d, 0x61, 0x70, 0x1a, 0x56, 0x0a, 0x10, 0x55, 0x69,
+ 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryFallScoreNotify_proto_rawDescOnce sync.Once
+ file_GalleryFallScoreNotify_proto_rawDescData = file_GalleryFallScoreNotify_proto_rawDesc
+)
+
+func file_GalleryFallScoreNotify_proto_rawDescGZIP() []byte {
+ file_GalleryFallScoreNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryFallScoreNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryFallScoreNotify_proto_rawDescData)
+ })
+ return file_GalleryFallScoreNotify_proto_rawDescData
+}
+
+var file_GalleryFallScoreNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GalleryFallScoreNotify_proto_goTypes = []interface{}{
+ (*GalleryFallScoreNotify)(nil), // 0: proto.GalleryFallScoreNotify
+ nil, // 1: proto.GalleryFallScoreNotify.UidBriefMapEntry
+ (*FallPlayerBrief)(nil), // 2: proto.FallPlayerBrief
+}
+var file_GalleryFallScoreNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GalleryFallScoreNotify.uid_brief_map:type_name -> proto.GalleryFallScoreNotify.UidBriefMapEntry
+ 2, // 1: proto.GalleryFallScoreNotify.UidBriefMapEntry.value:type_name -> proto.FallPlayerBrief
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GalleryFallScoreNotify_proto_init() }
+func file_GalleryFallScoreNotify_proto_init() {
+ if File_GalleryFallScoreNotify_proto != nil {
+ return
+ }
+ file_FallPlayerBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryFallScoreNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryFallScoreNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryFallScoreNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryFallScoreNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryFallScoreNotify_proto_depIdxs,
+ MessageInfos: file_GalleryFallScoreNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryFallScoreNotify_proto = out.File
+ file_GalleryFallScoreNotify_proto_rawDesc = nil
+ file_GalleryFallScoreNotify_proto_goTypes = nil
+ file_GalleryFallScoreNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryFlowerCatchNotify.pb.go b/protocol/proto/GalleryFlowerCatchNotify.pb.go
new file mode 100644
index 00000000..cf68d0a1
--- /dev/null
+++ b/protocol/proto/GalleryFlowerCatchNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryFlowerCatchNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5573
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryFlowerCatchNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurScore uint32 `protobuf:"varint,12,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ AddScore uint32 `protobuf:"varint,14,opt,name=add_score,json=addScore,proto3" json:"add_score,omitempty"`
+ GalleryId uint32 `protobuf:"varint,5,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GalleryFlowerCatchNotify) Reset() {
+ *x = GalleryFlowerCatchNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryFlowerCatchNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryFlowerCatchNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryFlowerCatchNotify) ProtoMessage() {}
+
+func (x *GalleryFlowerCatchNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryFlowerCatchNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryFlowerCatchNotify.ProtoReflect.Descriptor instead.
+func (*GalleryFlowerCatchNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryFlowerCatchNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryFlowerCatchNotify) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *GalleryFlowerCatchNotify) GetAddScore() uint32 {
+ if x != nil {
+ return x.AddScore
+ }
+ return 0
+}
+
+func (x *GalleryFlowerCatchNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GalleryFlowerCatchNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryFlowerCatchNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43,
+ 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x18, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x64, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryFlowerCatchNotify_proto_rawDescOnce sync.Once
+ file_GalleryFlowerCatchNotify_proto_rawDescData = file_GalleryFlowerCatchNotify_proto_rawDesc
+)
+
+func file_GalleryFlowerCatchNotify_proto_rawDescGZIP() []byte {
+ file_GalleryFlowerCatchNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryFlowerCatchNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryFlowerCatchNotify_proto_rawDescData)
+ })
+ return file_GalleryFlowerCatchNotify_proto_rawDescData
+}
+
+var file_GalleryFlowerCatchNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryFlowerCatchNotify_proto_goTypes = []interface{}{
+ (*GalleryFlowerCatchNotify)(nil), // 0: proto.GalleryFlowerCatchNotify
+}
+var file_GalleryFlowerCatchNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryFlowerCatchNotify_proto_init() }
+func file_GalleryFlowerCatchNotify_proto_init() {
+ if File_GalleryFlowerCatchNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryFlowerCatchNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryFlowerCatchNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryFlowerCatchNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryFlowerCatchNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryFlowerCatchNotify_proto_depIdxs,
+ MessageInfos: file_GalleryFlowerCatchNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryFlowerCatchNotify_proto = out.File
+ file_GalleryFlowerCatchNotify_proto_rawDesc = nil
+ file_GalleryFlowerCatchNotify_proto_goTypes = nil
+ file_GalleryFlowerCatchNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryFlowerStartParam.pb.go b/protocol/proto/GalleryFlowerStartParam.pb.go
new file mode 100644
index 00000000..85955253
--- /dev/null
+++ b/protocol/proto/GalleryFlowerStartParam.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryFlowerStartParam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GalleryFlowerStartParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetScore uint32 `protobuf:"varint,5,opt,name=target_score,json=targetScore,proto3" json:"target_score,omitempty"`
+}
+
+func (x *GalleryFlowerStartParam) Reset() {
+ *x = GalleryFlowerStartParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryFlowerStartParam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryFlowerStartParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryFlowerStartParam) ProtoMessage() {}
+
+func (x *GalleryFlowerStartParam) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryFlowerStartParam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryFlowerStartParam.ProtoReflect.Descriptor instead.
+func (*GalleryFlowerStartParam) Descriptor() ([]byte, []int) {
+ return file_GalleryFlowerStartParam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryFlowerStartParam) GetTargetScore() uint32 {
+ if x != nil {
+ return x.TargetScore
+ }
+ return 0
+}
+
+var File_GalleryFlowerStartParam_proto protoreflect.FileDescriptor
+
+var file_GalleryFlowerStartParam_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryFlowerStartParam_proto_rawDescOnce sync.Once
+ file_GalleryFlowerStartParam_proto_rawDescData = file_GalleryFlowerStartParam_proto_rawDesc
+)
+
+func file_GalleryFlowerStartParam_proto_rawDescGZIP() []byte {
+ file_GalleryFlowerStartParam_proto_rawDescOnce.Do(func() {
+ file_GalleryFlowerStartParam_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryFlowerStartParam_proto_rawDescData)
+ })
+ return file_GalleryFlowerStartParam_proto_rawDescData
+}
+
+var file_GalleryFlowerStartParam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryFlowerStartParam_proto_goTypes = []interface{}{
+ (*GalleryFlowerStartParam)(nil), // 0: proto.GalleryFlowerStartParam
+}
+var file_GalleryFlowerStartParam_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryFlowerStartParam_proto_init() }
+func file_GalleryFlowerStartParam_proto_init() {
+ if File_GalleryFlowerStartParam_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryFlowerStartParam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryFlowerStartParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryFlowerStartParam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryFlowerStartParam_proto_goTypes,
+ DependencyIndexes: file_GalleryFlowerStartParam_proto_depIdxs,
+ MessageInfos: file_GalleryFlowerStartParam_proto_msgTypes,
+ }.Build()
+ File_GalleryFlowerStartParam_proto = out.File
+ file_GalleryFlowerStartParam_proto_rawDesc = nil
+ file_GalleryFlowerStartParam_proto_goTypes = nil
+ file_GalleryFlowerStartParam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryIslandPartyDownHillInfoNotify.pb.go b/protocol/proto/GalleryIslandPartyDownHillInfoNotify.pb.go
new file mode 100644
index 00000000..f39732be
--- /dev/null
+++ b/protocol/proto/GalleryIslandPartyDownHillInfoNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryIslandPartyDownHillInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5522
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryIslandPartyDownHillInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,2,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ Coin uint32 `protobuf:"varint,9,opt,name=coin,proto3" json:"coin,omitempty"`
+ TotalKillMonsterCount uint32 `protobuf:"varint,11,opt,name=total_kill_monster_count,json=totalKillMonsterCount,proto3" json:"total_kill_monster_count,omitempty"`
+}
+
+func (x *GalleryIslandPartyDownHillInfoNotify) Reset() {
+ *x = GalleryIslandPartyDownHillInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryIslandPartyDownHillInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryIslandPartyDownHillInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryIslandPartyDownHillInfoNotify) ProtoMessage() {}
+
+func (x *GalleryIslandPartyDownHillInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryIslandPartyDownHillInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryIslandPartyDownHillInfoNotify.ProtoReflect.Descriptor instead.
+func (*GalleryIslandPartyDownHillInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryIslandPartyDownHillInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryIslandPartyDownHillInfoNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *GalleryIslandPartyDownHillInfoNotify) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+func (x *GalleryIslandPartyDownHillInfoNotify) GetTotalKillMonsterCount() uint32 {
+ if x != nil {
+ return x.TotalKillMonsterCount
+ }
+ return 0
+}
+
+var File_GalleryIslandPartyDownHillInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryIslandPartyDownHillInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50,
+ 0x61, 0x72, 0x74, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x48, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x24, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49,
+ 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x48, 0x69,
+ 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63,
+ 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x12,
+ 0x37, 0x0a, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4b, 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryIslandPartyDownHillInfoNotify_proto_rawDescOnce sync.Once
+ file_GalleryIslandPartyDownHillInfoNotify_proto_rawDescData = file_GalleryIslandPartyDownHillInfoNotify_proto_rawDesc
+)
+
+func file_GalleryIslandPartyDownHillInfoNotify_proto_rawDescGZIP() []byte {
+ file_GalleryIslandPartyDownHillInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryIslandPartyDownHillInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryIslandPartyDownHillInfoNotify_proto_rawDescData)
+ })
+ return file_GalleryIslandPartyDownHillInfoNotify_proto_rawDescData
+}
+
+var file_GalleryIslandPartyDownHillInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryIslandPartyDownHillInfoNotify_proto_goTypes = []interface{}{
+ (*GalleryIslandPartyDownHillInfoNotify)(nil), // 0: proto.GalleryIslandPartyDownHillInfoNotify
+}
+var file_GalleryIslandPartyDownHillInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryIslandPartyDownHillInfoNotify_proto_init() }
+func file_GalleryIslandPartyDownHillInfoNotify_proto_init() {
+ if File_GalleryIslandPartyDownHillInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryIslandPartyDownHillInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryIslandPartyDownHillInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryIslandPartyDownHillInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryIslandPartyDownHillInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryIslandPartyDownHillInfoNotify_proto_depIdxs,
+ MessageInfos: file_GalleryIslandPartyDownHillInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryIslandPartyDownHillInfoNotify_proto = out.File
+ file_GalleryIslandPartyDownHillInfoNotify_proto_rawDesc = nil
+ file_GalleryIslandPartyDownHillInfoNotify_proto_goTypes = nil
+ file_GalleryIslandPartyDownHillInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryPreStartNotify.pb.go b/protocol/proto/GalleryPreStartNotify.pb.go
new file mode 100644
index 00000000..160b7fb1
--- /dev/null
+++ b/protocol/proto/GalleryPreStartNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryPreStartNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5599
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryPreStartNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,10,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ PreStartEndTime uint32 `protobuf:"varint,9,opt,name=pre_start_end_time,json=preStartEndTime,proto3" json:"pre_start_end_time,omitempty"`
+}
+
+func (x *GalleryPreStartNotify) Reset() {
+ *x = GalleryPreStartNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryPreStartNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryPreStartNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryPreStartNotify) ProtoMessage() {}
+
+func (x *GalleryPreStartNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryPreStartNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryPreStartNotify.ProtoReflect.Descriptor instead.
+func (*GalleryPreStartNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryPreStartNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryPreStartNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *GalleryPreStartNotify) GetPreStartEndTime() uint32 {
+ if x != nil {
+ return x.PreStartEndTime
+ }
+ return 0
+}
+
+var File_GalleryPreStartNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryPreStartNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x50, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x15, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x50,
+ 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x12,
+ 0x70, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryPreStartNotify_proto_rawDescOnce sync.Once
+ file_GalleryPreStartNotify_proto_rawDescData = file_GalleryPreStartNotify_proto_rawDesc
+)
+
+func file_GalleryPreStartNotify_proto_rawDescGZIP() []byte {
+ file_GalleryPreStartNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryPreStartNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryPreStartNotify_proto_rawDescData)
+ })
+ return file_GalleryPreStartNotify_proto_rawDescData
+}
+
+var file_GalleryPreStartNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryPreStartNotify_proto_goTypes = []interface{}{
+ (*GalleryPreStartNotify)(nil), // 0: proto.GalleryPreStartNotify
+}
+var file_GalleryPreStartNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryPreStartNotify_proto_init() }
+func file_GalleryPreStartNotify_proto_init() {
+ if File_GalleryPreStartNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryPreStartNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryPreStartNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryPreStartNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryPreStartNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryPreStartNotify_proto_depIdxs,
+ MessageInfos: file_GalleryPreStartNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryPreStartNotify_proto = out.File
+ file_GalleryPreStartNotify_proto_rawDesc = nil
+ file_GalleryPreStartNotify_proto_goTypes = nil
+ file_GalleryPreStartNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryStageType.pb.go b/protocol/proto/GalleryStageType.pb.go
new file mode 100644
index 00000000..52a6b3fb
--- /dev/null
+++ b/protocol/proto/GalleryStageType.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryStageType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GalleryStageType int32
+
+const (
+ GalleryStageType_GALLERY_STAGE_TYPE_NONE GalleryStageType = 0
+ GalleryStageType_GALLERY_STAGE_TYPE_PRESTART GalleryStageType = 1
+ GalleryStageType_GALLERY_STAGE_TYPE_START GalleryStageType = 2
+)
+
+// Enum value maps for GalleryStageType.
+var (
+ GalleryStageType_name = map[int32]string{
+ 0: "GALLERY_STAGE_TYPE_NONE",
+ 1: "GALLERY_STAGE_TYPE_PRESTART",
+ 2: "GALLERY_STAGE_TYPE_START",
+ }
+ GalleryStageType_value = map[string]int32{
+ "GALLERY_STAGE_TYPE_NONE": 0,
+ "GALLERY_STAGE_TYPE_PRESTART": 1,
+ "GALLERY_STAGE_TYPE_START": 2,
+ }
+)
+
+func (x GalleryStageType) Enum() *GalleryStageType {
+ p := new(GalleryStageType)
+ *p = x
+ return p
+}
+
+func (x GalleryStageType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GalleryStageType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GalleryStageType_proto_enumTypes[0].Descriptor()
+}
+
+func (GalleryStageType) Type() protoreflect.EnumType {
+ return &file_GalleryStageType_proto_enumTypes[0]
+}
+
+func (x GalleryStageType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GalleryStageType.Descriptor instead.
+func (GalleryStageType) EnumDescriptor() ([]byte, []int) {
+ return file_GalleryStageType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GalleryStageType_proto protoreflect.FileDescriptor
+
+var file_GalleryStageType_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0x6e, 0x0a, 0x10, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53,
+ 0x54, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
+ 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x47,
+ 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10,
+ 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41,
+ 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x02, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryStageType_proto_rawDescOnce sync.Once
+ file_GalleryStageType_proto_rawDescData = file_GalleryStageType_proto_rawDesc
+)
+
+func file_GalleryStageType_proto_rawDescGZIP() []byte {
+ file_GalleryStageType_proto_rawDescOnce.Do(func() {
+ file_GalleryStageType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryStageType_proto_rawDescData)
+ })
+ return file_GalleryStageType_proto_rawDescData
+}
+
+var file_GalleryStageType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GalleryStageType_proto_goTypes = []interface{}{
+ (GalleryStageType)(0), // 0: proto.GalleryStageType
+}
+var file_GalleryStageType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryStageType_proto_init() }
+func file_GalleryStageType_proto_init() {
+ if File_GalleryStageType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryStageType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryStageType_proto_goTypes,
+ DependencyIndexes: file_GalleryStageType_proto_depIdxs,
+ EnumInfos: file_GalleryStageType_proto_enumTypes,
+ }.Build()
+ File_GalleryStageType_proto = out.File
+ file_GalleryStageType_proto_rawDesc = nil
+ file_GalleryStageType_proto_goTypes = nil
+ file_GalleryStageType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryStartNotify.pb.go b/protocol/proto/GalleryStartNotify.pb.go
new file mode 100644
index 00000000..b91b056a
--- /dev/null
+++ b/protocol/proto/GalleryStartNotify.pb.go
@@ -0,0 +1,243 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryStartNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5572
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryStartNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndTime uint32 `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ PlayerCount uint32 `protobuf:"varint,11,opt,name=player_count,json=playerCount,proto3" json:"player_count,omitempty"`
+ OwnerUid uint32 `protobuf:"varint,9,opt,name=owner_uid,json=ownerUid,proto3" json:"owner_uid,omitempty"`
+ GalleryId uint32 `protobuf:"varint,13,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ StartTime uint32 `protobuf:"varint,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *GalleryStartNotify_FlowerStartParam
+ Detail isGalleryStartNotify_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *GalleryStartNotify) Reset() {
+ *x = GalleryStartNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryStartNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryStartNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryStartNotify) ProtoMessage() {}
+
+func (x *GalleryStartNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryStartNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryStartNotify.ProtoReflect.Descriptor instead.
+func (*GalleryStartNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryStartNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryStartNotify) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *GalleryStartNotify) GetPlayerCount() uint32 {
+ if x != nil {
+ return x.PlayerCount
+ }
+ return 0
+}
+
+func (x *GalleryStartNotify) GetOwnerUid() uint32 {
+ if x != nil {
+ return x.OwnerUid
+ }
+ return 0
+}
+
+func (x *GalleryStartNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *GalleryStartNotify) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (m *GalleryStartNotify) GetDetail() isGalleryStartNotify_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *GalleryStartNotify) GetFlowerStartParam() *GalleryFlowerStartParam {
+ if x, ok := x.GetDetail().(*GalleryStartNotify_FlowerStartParam); ok {
+ return x.FlowerStartParam
+ }
+ return nil
+}
+
+type isGalleryStartNotify_Detail interface {
+ isGalleryStartNotify_Detail()
+}
+
+type GalleryStartNotify_FlowerStartParam struct {
+ FlowerStartParam *GalleryFlowerStartParam `protobuf:"bytes,15,opt,name=flower_start_param,json=flowerStartParam,proto3,oneof"`
+}
+
+func (*GalleryStartNotify_FlowerStartParam) isGalleryStartNotify_Detail() {}
+
+var File_GalleryStartNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryStartNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1d, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x87, 0x02, 0x0a, 0x12, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x75,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55,
+ 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x4e, 0x0a, 0x12, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x48, 0x00, 0x52, 0x10,
+ 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryStartNotify_proto_rawDescOnce sync.Once
+ file_GalleryStartNotify_proto_rawDescData = file_GalleryStartNotify_proto_rawDesc
+)
+
+func file_GalleryStartNotify_proto_rawDescGZIP() []byte {
+ file_GalleryStartNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryStartNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryStartNotify_proto_rawDescData)
+ })
+ return file_GalleryStartNotify_proto_rawDescData
+}
+
+var file_GalleryStartNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryStartNotify_proto_goTypes = []interface{}{
+ (*GalleryStartNotify)(nil), // 0: proto.GalleryStartNotify
+ (*GalleryFlowerStartParam)(nil), // 1: proto.GalleryFlowerStartParam
+}
+var file_GalleryStartNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GalleryStartNotify.flower_start_param:type_name -> proto.GalleryFlowerStartParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GalleryStartNotify_proto_init() }
+func file_GalleryStartNotify_proto_init() {
+ if File_GalleryStartNotify_proto != nil {
+ return
+ }
+ file_GalleryFlowerStartParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryStartNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryStartNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GalleryStartNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GalleryStartNotify_FlowerStartParam)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryStartNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryStartNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryStartNotify_proto_depIdxs,
+ MessageInfos: file_GalleryStartNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryStartNotify_proto = out.File
+ file_GalleryStartNotify_proto_rawDesc = nil
+ file_GalleryStartNotify_proto_goTypes = nil
+ file_GalleryStartNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryStartSource.pb.go b/protocol/proto/GalleryStartSource.pb.go
new file mode 100644
index 00000000..b09b2c33
--- /dev/null
+++ b/protocol/proto/GalleryStartSource.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryStartSource.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GalleryStartSource int32
+
+const (
+ GalleryStartSource_GALLERY_START_SOURCE_BY_NONE GalleryStartSource = 0
+ GalleryStartSource_GALLERY_START_SOURCE_BY_MATCH GalleryStartSource = 1
+ GalleryStartSource_GALLERY_START_SOURCE_BY_DRAFT GalleryStartSource = 2
+)
+
+// Enum value maps for GalleryStartSource.
+var (
+ GalleryStartSource_name = map[int32]string{
+ 0: "GALLERY_START_SOURCE_BY_NONE",
+ 1: "GALLERY_START_SOURCE_BY_MATCH",
+ 2: "GALLERY_START_SOURCE_BY_DRAFT",
+ }
+ GalleryStartSource_value = map[string]int32{
+ "GALLERY_START_SOURCE_BY_NONE": 0,
+ "GALLERY_START_SOURCE_BY_MATCH": 1,
+ "GALLERY_START_SOURCE_BY_DRAFT": 2,
+ }
+)
+
+func (x GalleryStartSource) Enum() *GalleryStartSource {
+ p := new(GalleryStartSource)
+ *p = x
+ return p
+}
+
+func (x GalleryStartSource) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GalleryStartSource) Descriptor() protoreflect.EnumDescriptor {
+ return file_GalleryStartSource_proto_enumTypes[0].Descriptor()
+}
+
+func (GalleryStartSource) Type() protoreflect.EnumType {
+ return &file_GalleryStartSource_proto_enumTypes[0]
+}
+
+func (x GalleryStartSource) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GalleryStartSource.Descriptor instead.
+func (GalleryStartSource) EnumDescriptor() ([]byte, []int) {
+ return file_GalleryStartSource_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GalleryStartSource_proto protoreflect.FileDescriptor
+
+var file_GalleryStartSource_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2a, 0x7c, 0x0a, 0x12, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x41, 0x4c, 0x4c, 0x45,
+ 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f,
+ 0x42, 0x59, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x47, 0x41, 0x4c,
+ 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43,
+ 0x45, 0x5f, 0x42, 0x59, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d,
+ 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x53, 0x4f,
+ 0x55, 0x52, 0x43, 0x45, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0x02, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryStartSource_proto_rawDescOnce sync.Once
+ file_GalleryStartSource_proto_rawDescData = file_GalleryStartSource_proto_rawDesc
+)
+
+func file_GalleryStartSource_proto_rawDescGZIP() []byte {
+ file_GalleryStartSource_proto_rawDescOnce.Do(func() {
+ file_GalleryStartSource_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryStartSource_proto_rawDescData)
+ })
+ return file_GalleryStartSource_proto_rawDescData
+}
+
+var file_GalleryStartSource_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GalleryStartSource_proto_goTypes = []interface{}{
+ (GalleryStartSource)(0), // 0: proto.GalleryStartSource
+}
+var file_GalleryStartSource_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryStartSource_proto_init() }
+func file_GalleryStartSource_proto_init() {
+ if File_GalleryStartSource_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryStartSource_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryStartSource_proto_goTypes,
+ DependencyIndexes: file_GalleryStartSource_proto_depIdxs,
+ EnumInfos: file_GalleryStartSource_proto_enumTypes,
+ }.Build()
+ File_GalleryStartSource_proto = out.File
+ file_GalleryStartSource_proto_rawDesc = nil
+ file_GalleryStartSource_proto_goTypes = nil
+ file_GalleryStartSource_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryStopNotify.pb.go b/protocol/proto/GalleryStopNotify.pb.go
new file mode 100644
index 00000000..e0071786
--- /dev/null
+++ b/protocol/proto/GalleryStopNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryStopNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5535
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryStopNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,8,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GalleryStopNotify) Reset() {
+ *x = GalleryStopNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryStopNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryStopNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryStopNotify) ProtoMessage() {}
+
+func (x *GalleryStopNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryStopNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryStopNotify.ProtoReflect.Descriptor instead.
+func (*GalleryStopNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryStopNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryStopNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GalleryStopNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryStopNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x32, 0x0a, 0x11, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryStopNotify_proto_rawDescOnce sync.Once
+ file_GalleryStopNotify_proto_rawDescData = file_GalleryStopNotify_proto_rawDesc
+)
+
+func file_GalleryStopNotify_proto_rawDescGZIP() []byte {
+ file_GalleryStopNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryStopNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryStopNotify_proto_rawDescData)
+ })
+ return file_GalleryStopNotify_proto_rawDescData
+}
+
+var file_GalleryStopNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryStopNotify_proto_goTypes = []interface{}{
+ (*GalleryStopNotify)(nil), // 0: proto.GalleryStopNotify
+}
+var file_GalleryStopNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryStopNotify_proto_init() }
+func file_GalleryStopNotify_proto_init() {
+ if File_GalleryStopNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryStopNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryStopNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryStopNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryStopNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryStopNotify_proto_depIdxs,
+ MessageInfos: file_GalleryStopNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryStopNotify_proto = out.File
+ file_GalleryStopNotify_proto_rawDesc = nil
+ file_GalleryStopNotify_proto_goTypes = nil
+ file_GalleryStopNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryStopReason.pb.go b/protocol/proto/GalleryStopReason.pb.go
new file mode 100644
index 00000000..90c77acd
--- /dev/null
+++ b/protocol/proto/GalleryStopReason.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryStopReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GalleryStopReason int32
+
+const (
+ GalleryStopReason_GALLERY_STOP_REASON_NONE GalleryStopReason = 0
+ GalleryStopReason_GALLERY_STOP_REASON_TIMEUP GalleryStopReason = 1
+ GalleryStopReason_GALLERY_STOP_REASON_CLIENT_INTERRUPT GalleryStopReason = 2
+ GalleryStopReason_GALLERY_STOP_REASON_LUA_INTERRUPT_SUCCESS GalleryStopReason = 3
+ GalleryStopReason_GALLERY_STOP_REASON_LUA_INTERRUPT_FAIL GalleryStopReason = 4
+ GalleryStopReason_GALLERY_STOP_REASON_OWNER_LEAVE_SCENE GalleryStopReason = 5
+ GalleryStopReason_GALLERY_STOP_REASON_PLAY_INIT_FAILED GalleryStopReason = 6
+ GalleryStopReason_GALLERY_STOP_REASON_OTHER_PLAYER_ENTER GalleryStopReason = 7
+ GalleryStopReason_GALLERY_STOP_REASON_AVATAR_DIE GalleryStopReason = 8
+ GalleryStopReason_GALLERY_STOP_REASON_FINISHED GalleryStopReason = 9
+ GalleryStopReason_GALLERY_STOP_REASON_FUNGUS_ALL_DIE GalleryStopReason = 10
+)
+
+// Enum value maps for GalleryStopReason.
+var (
+ GalleryStopReason_name = map[int32]string{
+ 0: "GALLERY_STOP_REASON_NONE",
+ 1: "GALLERY_STOP_REASON_TIMEUP",
+ 2: "GALLERY_STOP_REASON_CLIENT_INTERRUPT",
+ 3: "GALLERY_STOP_REASON_LUA_INTERRUPT_SUCCESS",
+ 4: "GALLERY_STOP_REASON_LUA_INTERRUPT_FAIL",
+ 5: "GALLERY_STOP_REASON_OWNER_LEAVE_SCENE",
+ 6: "GALLERY_STOP_REASON_PLAY_INIT_FAILED",
+ 7: "GALLERY_STOP_REASON_OTHER_PLAYER_ENTER",
+ 8: "GALLERY_STOP_REASON_AVATAR_DIE",
+ 9: "GALLERY_STOP_REASON_FINISHED",
+ 10: "GALLERY_STOP_REASON_FUNGUS_ALL_DIE",
+ }
+ GalleryStopReason_value = map[string]int32{
+ "GALLERY_STOP_REASON_NONE": 0,
+ "GALLERY_STOP_REASON_TIMEUP": 1,
+ "GALLERY_STOP_REASON_CLIENT_INTERRUPT": 2,
+ "GALLERY_STOP_REASON_LUA_INTERRUPT_SUCCESS": 3,
+ "GALLERY_STOP_REASON_LUA_INTERRUPT_FAIL": 4,
+ "GALLERY_STOP_REASON_OWNER_LEAVE_SCENE": 5,
+ "GALLERY_STOP_REASON_PLAY_INIT_FAILED": 6,
+ "GALLERY_STOP_REASON_OTHER_PLAYER_ENTER": 7,
+ "GALLERY_STOP_REASON_AVATAR_DIE": 8,
+ "GALLERY_STOP_REASON_FINISHED": 9,
+ "GALLERY_STOP_REASON_FUNGUS_ALL_DIE": 10,
+ }
+)
+
+func (x GalleryStopReason) Enum() *GalleryStopReason {
+ p := new(GalleryStopReason)
+ *p = x
+ return p
+}
+
+func (x GalleryStopReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GalleryStopReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_GalleryStopReason_proto_enumTypes[0].Descriptor()
+}
+
+func (GalleryStopReason) Type() protoreflect.EnumType {
+ return &file_GalleryStopReason_proto_enumTypes[0]
+}
+
+func (x GalleryStopReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GalleryStopReason.Descriptor instead.
+func (GalleryStopReason) EnumDescriptor() ([]byte, []int) {
+ return file_GalleryStopReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GalleryStopReason_proto protoreflect.FileDescriptor
+
+var file_GalleryStopReason_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2a, 0xc5, 0x03, 0x0a, 0x11, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52,
+ 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f,
+ 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45,
+ 0x55, 0x50, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f,
+ 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, 0x49, 0x45,
+ 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, 0x10, 0x02, 0x12, 0x2d,
+ 0x0a, 0x29, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x55, 0x41, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52,
+ 0x55, 0x50, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x2a, 0x0a,
+ 0x26, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x55, 0x41, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55,
+ 0x50, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x04, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x41, 0x4c,
+ 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x5f, 0x53, 0x43, 0x45,
+ 0x4e, 0x45, 0x10, 0x05, 0x12, 0x28, 0x0a, 0x24, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f,
+ 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59,
+ 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x12, 0x2a,
+ 0x0a, 0x26, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59,
+ 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x47, 0x41,
+ 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x10, 0x08, 0x12, 0x20,
+ 0x0a, 0x1c, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x09,
+ 0x12, 0x26, 0x0a, 0x22, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x4f, 0x50,
+ 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x55, 0x4e, 0x47, 0x55, 0x53, 0x5f, 0x41,
+ 0x4c, 0x4c, 0x5f, 0x44, 0x49, 0x45, 0x10, 0x0a, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryStopReason_proto_rawDescOnce sync.Once
+ file_GalleryStopReason_proto_rawDescData = file_GalleryStopReason_proto_rawDesc
+)
+
+func file_GalleryStopReason_proto_rawDescGZIP() []byte {
+ file_GalleryStopReason_proto_rawDescOnce.Do(func() {
+ file_GalleryStopReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryStopReason_proto_rawDescData)
+ })
+ return file_GalleryStopReason_proto_rawDescData
+}
+
+var file_GalleryStopReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GalleryStopReason_proto_goTypes = []interface{}{
+ (GalleryStopReason)(0), // 0: proto.GalleryStopReason
+}
+var file_GalleryStopReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GalleryStopReason_proto_init() }
+func file_GalleryStopReason_proto_init() {
+ if File_GalleryStopReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryStopReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryStopReason_proto_goTypes,
+ DependencyIndexes: file_GalleryStopReason_proto_depIdxs,
+ EnumInfos: file_GalleryStopReason_proto_enumTypes,
+ }.Build()
+ File_GalleryStopReason_proto = out.File
+ file_GalleryStopReason_proto_rawDesc = nil
+ file_GalleryStopReason_proto_goTypes = nil
+ file_GalleryStopReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GallerySumoKillMonsterNotify.pb.go b/protocol/proto/GallerySumoKillMonsterNotify.pb.go
new file mode 100644
index 00000000..681f5cb4
--- /dev/null
+++ b/protocol/proto/GallerySumoKillMonsterNotify.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GallerySumoKillMonsterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5582
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GallerySumoKillMonsterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ KillNormalMosnterNum uint32 `protobuf:"varint,4,opt,name=kill_normal_mosnter_num,json=killNormalMosnterNum,proto3" json:"kill_normal_mosnter_num,omitempty"`
+ Score uint32 `protobuf:"varint,7,opt,name=score,proto3" json:"score,omitempty"`
+ KillEliteMonsterNum uint32 `protobuf:"varint,14,opt,name=kill_elite_monster_num,json=killEliteMonsterNum,proto3" json:"kill_elite_monster_num,omitempty"`
+ GalleryId uint32 `protobuf:"varint,11,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GallerySumoKillMonsterNotify) Reset() {
+ *x = GallerySumoKillMonsterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GallerySumoKillMonsterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GallerySumoKillMonsterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GallerySumoKillMonsterNotify) ProtoMessage() {}
+
+func (x *GallerySumoKillMonsterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GallerySumoKillMonsterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GallerySumoKillMonsterNotify.ProtoReflect.Descriptor instead.
+func (*GallerySumoKillMonsterNotify) Descriptor() ([]byte, []int) {
+ return file_GallerySumoKillMonsterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GallerySumoKillMonsterNotify) GetKillNormalMosnterNum() uint32 {
+ if x != nil {
+ return x.KillNormalMosnterNum
+ }
+ return 0
+}
+
+func (x *GallerySumoKillMonsterNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *GallerySumoKillMonsterNotify) GetKillEliteMonsterNum() uint32 {
+ if x != nil {
+ return x.KillEliteMonsterNum
+ }
+ return 0
+}
+
+func (x *GallerySumoKillMonsterNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GallerySumoKillMonsterNotify_proto protoreflect.FileDescriptor
+
+var file_GallerySumoKillMonsterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x6f, 0x4b, 0x69, 0x6c,
+ 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x1c,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x6f, 0x4b, 0x69, 0x6c, 0x6c, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x17,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x73, 0x6e,
+ 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x6f, 0x73, 0x6e, 0x74, 0x65, 0x72,
+ 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x5f, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x6e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6b, 0x69, 0x6c, 0x6c, 0x45,
+ 0x6c, 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GallerySumoKillMonsterNotify_proto_rawDescOnce sync.Once
+ file_GallerySumoKillMonsterNotify_proto_rawDescData = file_GallerySumoKillMonsterNotify_proto_rawDesc
+)
+
+func file_GallerySumoKillMonsterNotify_proto_rawDescGZIP() []byte {
+ file_GallerySumoKillMonsterNotify_proto_rawDescOnce.Do(func() {
+ file_GallerySumoKillMonsterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GallerySumoKillMonsterNotify_proto_rawDescData)
+ })
+ return file_GallerySumoKillMonsterNotify_proto_rawDescData
+}
+
+var file_GallerySumoKillMonsterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GallerySumoKillMonsterNotify_proto_goTypes = []interface{}{
+ (*GallerySumoKillMonsterNotify)(nil), // 0: proto.GallerySumoKillMonsterNotify
+}
+var file_GallerySumoKillMonsterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GallerySumoKillMonsterNotify_proto_init() }
+func file_GallerySumoKillMonsterNotify_proto_init() {
+ if File_GallerySumoKillMonsterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GallerySumoKillMonsterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GallerySumoKillMonsterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GallerySumoKillMonsterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GallerySumoKillMonsterNotify_proto_goTypes,
+ DependencyIndexes: file_GallerySumoKillMonsterNotify_proto_depIdxs,
+ MessageInfos: file_GallerySumoKillMonsterNotify_proto_msgTypes,
+ }.Build()
+ File_GallerySumoKillMonsterNotify_proto = out.File
+ file_GallerySumoKillMonsterNotify_proto_rawDesc = nil
+ file_GallerySumoKillMonsterNotify_proto_goTypes = nil
+ file_GallerySumoKillMonsterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GalleryWillStartCountdownNotify.pb.go b/protocol/proto/GalleryWillStartCountdownNotify.pb.go
new file mode 100644
index 00000000..f6368152
--- /dev/null
+++ b/protocol/proto/GalleryWillStartCountdownNotify.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GalleryWillStartCountdownNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5594
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GalleryWillStartCountdownNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StartSource GalleryStartSource `protobuf:"varint,11,opt,name=start_source,json=startSource,proto3,enum=proto.GalleryStartSource" json:"start_source,omitempty"`
+ EndTime uint32 `protobuf:"varint,12,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ IsEnd bool `protobuf:"varint,7,opt,name=is_end,json=isEnd,proto3" json:"is_end,omitempty"`
+ GalleryId uint32 `protobuf:"varint,14,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GalleryWillStartCountdownNotify) Reset() {
+ *x = GalleryWillStartCountdownNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GalleryWillStartCountdownNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GalleryWillStartCountdownNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GalleryWillStartCountdownNotify) ProtoMessage() {}
+
+func (x *GalleryWillStartCountdownNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GalleryWillStartCountdownNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GalleryWillStartCountdownNotify.ProtoReflect.Descriptor instead.
+func (*GalleryWillStartCountdownNotify) Descriptor() ([]byte, []int) {
+ return file_GalleryWillStartCountdownNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GalleryWillStartCountdownNotify) GetStartSource() GalleryStartSource {
+ if x != nil {
+ return x.StartSource
+ }
+ return GalleryStartSource_GALLERY_START_SOURCE_BY_NONE
+}
+
+func (x *GalleryWillStartCountdownNotify) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *GalleryWillStartCountdownNotify) GetIsEnd() bool {
+ if x != nil {
+ return x.IsEnd
+ }
+ return false
+}
+
+func (x *GalleryWillStartCountdownNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GalleryWillStartCountdownNotify_proto protoreflect.FileDescriptor
+
+var file_GalleryWillStartCountdownNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x57, 0x69, 0x6c, 0x6c, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x1f, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x57, 0x69, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3c, 0x0a, 0x0c,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e,
+ 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e,
+ 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GalleryWillStartCountdownNotify_proto_rawDescOnce sync.Once
+ file_GalleryWillStartCountdownNotify_proto_rawDescData = file_GalleryWillStartCountdownNotify_proto_rawDesc
+)
+
+func file_GalleryWillStartCountdownNotify_proto_rawDescGZIP() []byte {
+ file_GalleryWillStartCountdownNotify_proto_rawDescOnce.Do(func() {
+ file_GalleryWillStartCountdownNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GalleryWillStartCountdownNotify_proto_rawDescData)
+ })
+ return file_GalleryWillStartCountdownNotify_proto_rawDescData
+}
+
+var file_GalleryWillStartCountdownNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GalleryWillStartCountdownNotify_proto_goTypes = []interface{}{
+ (*GalleryWillStartCountdownNotify)(nil), // 0: proto.GalleryWillStartCountdownNotify
+ (GalleryStartSource)(0), // 1: proto.GalleryStartSource
+}
+var file_GalleryWillStartCountdownNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GalleryWillStartCountdownNotify.start_source:type_name -> proto.GalleryStartSource
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GalleryWillStartCountdownNotify_proto_init() }
+func file_GalleryWillStartCountdownNotify_proto_init() {
+ if File_GalleryWillStartCountdownNotify_proto != nil {
+ return
+ }
+ file_GalleryStartSource_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GalleryWillStartCountdownNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GalleryWillStartCountdownNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GalleryWillStartCountdownNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GalleryWillStartCountdownNotify_proto_goTypes,
+ DependencyIndexes: file_GalleryWillStartCountdownNotify_proto_depIdxs,
+ MessageInfos: file_GalleryWillStartCountdownNotify_proto_msgTypes,
+ }.Build()
+ File_GalleryWillStartCountdownNotify_proto = out.File
+ file_GalleryWillStartCountdownNotify_proto_rawDesc = nil
+ file_GalleryWillStartCountdownNotify_proto_goTypes = nil
+ file_GalleryWillStartCountdownNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GameplayRecommendationElementReliquaryRequest.pb.go b/protocol/proto/GameplayRecommendationElementReliquaryRequest.pb.go
new file mode 100644
index 00000000..3f906320
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationElementReliquaryRequest.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GameplayRecommendationElementReliquaryRequest.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GameplayRecommendationElementReliquaryRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EquipType uint32 `protobuf:"varint,9,opt,name=equip_type,json=equipType,proto3" json:"equip_type,omitempty"`
+ ElementType uint32 `protobuf:"varint,12,opt,name=element_type,json=elementType,proto3" json:"element_type,omitempty"`
+}
+
+func (x *GameplayRecommendationElementReliquaryRequest) Reset() {
+ *x = GameplayRecommendationElementReliquaryRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GameplayRecommendationElementReliquaryRequest_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GameplayRecommendationElementReliquaryRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GameplayRecommendationElementReliquaryRequest) ProtoMessage() {}
+
+func (x *GameplayRecommendationElementReliquaryRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_GameplayRecommendationElementReliquaryRequest_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GameplayRecommendationElementReliquaryRequest.ProtoReflect.Descriptor instead.
+func (*GameplayRecommendationElementReliquaryRequest) Descriptor() ([]byte, []int) {
+ return file_GameplayRecommendationElementReliquaryRequest_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GameplayRecommendationElementReliquaryRequest) GetEquipType() uint32 {
+ if x != nil {
+ return x.EquipType
+ }
+ return 0
+}
+
+func (x *GameplayRecommendationElementReliquaryRequest) GetElementType() uint32 {
+ if x != nil {
+ return x.ElementType
+ }
+ return 0
+}
+
+var File_GameplayRecommendationElementReliquaryRequest_proto protoreflect.FileDescriptor
+
+var file_GameplayRecommendationElementReliquaryRequest_proto_rawDesc = []byte{
+ 0x0a, 0x33, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52,
+ 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x2d,
+ 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+ 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c,
+ 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c,
+ 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GameplayRecommendationElementReliquaryRequest_proto_rawDescOnce sync.Once
+ file_GameplayRecommendationElementReliquaryRequest_proto_rawDescData = file_GameplayRecommendationElementReliquaryRequest_proto_rawDesc
+)
+
+func file_GameplayRecommendationElementReliquaryRequest_proto_rawDescGZIP() []byte {
+ file_GameplayRecommendationElementReliquaryRequest_proto_rawDescOnce.Do(func() {
+ file_GameplayRecommendationElementReliquaryRequest_proto_rawDescData = protoimpl.X.CompressGZIP(file_GameplayRecommendationElementReliquaryRequest_proto_rawDescData)
+ })
+ return file_GameplayRecommendationElementReliquaryRequest_proto_rawDescData
+}
+
+var file_GameplayRecommendationElementReliquaryRequest_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GameplayRecommendationElementReliquaryRequest_proto_goTypes = []interface{}{
+ (*GameplayRecommendationElementReliquaryRequest)(nil), // 0: proto.GameplayRecommendationElementReliquaryRequest
+}
+var file_GameplayRecommendationElementReliquaryRequest_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GameplayRecommendationElementReliquaryRequest_proto_init() }
+func file_GameplayRecommendationElementReliquaryRequest_proto_init() {
+ if File_GameplayRecommendationElementReliquaryRequest_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GameplayRecommendationElementReliquaryRequest_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GameplayRecommendationElementReliquaryRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GameplayRecommendationElementReliquaryRequest_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GameplayRecommendationElementReliquaryRequest_proto_goTypes,
+ DependencyIndexes: file_GameplayRecommendationElementReliquaryRequest_proto_depIdxs,
+ MessageInfos: file_GameplayRecommendationElementReliquaryRequest_proto_msgTypes,
+ }.Build()
+ File_GameplayRecommendationElementReliquaryRequest_proto = out.File
+ file_GameplayRecommendationElementReliquaryRequest_proto_rawDesc = nil
+ file_GameplayRecommendationElementReliquaryRequest_proto_goTypes = nil
+ file_GameplayRecommendationElementReliquaryRequest_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GameplayRecommendationElementReliquaryResponse.pb.go b/protocol/proto/GameplayRecommendationElementReliquaryResponse.pb.go
new file mode 100644
index 00000000..b3aabb60
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationElementReliquaryResponse.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GameplayRecommendationElementReliquaryResponse.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GameplayRecommendationElementReliquaryResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ElementType uint32 `protobuf:"varint,11,opt,name=element_type,json=elementType,proto3" json:"element_type,omitempty"`
+ MainPropDataList []*GameplayRecommendationReliquaryMainPropData `protobuf:"bytes,5,rep,name=main_prop_data_list,json=mainPropDataList,proto3" json:"main_prop_data_list,omitempty"`
+ EquipType uint32 `protobuf:"varint,15,opt,name=equip_type,json=equipType,proto3" json:"equip_type,omitempty"`
+}
+
+func (x *GameplayRecommendationElementReliquaryResponse) Reset() {
+ *x = GameplayRecommendationElementReliquaryResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GameplayRecommendationElementReliquaryResponse_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GameplayRecommendationElementReliquaryResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GameplayRecommendationElementReliquaryResponse) ProtoMessage() {}
+
+func (x *GameplayRecommendationElementReliquaryResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_GameplayRecommendationElementReliquaryResponse_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GameplayRecommendationElementReliquaryResponse.ProtoReflect.Descriptor instead.
+func (*GameplayRecommendationElementReliquaryResponse) Descriptor() ([]byte, []int) {
+ return file_GameplayRecommendationElementReliquaryResponse_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GameplayRecommendationElementReliquaryResponse) GetElementType() uint32 {
+ if x != nil {
+ return x.ElementType
+ }
+ return 0
+}
+
+func (x *GameplayRecommendationElementReliquaryResponse) GetMainPropDataList() []*GameplayRecommendationReliquaryMainPropData {
+ if x != nil {
+ return x.MainPropDataList
+ }
+ return nil
+}
+
+func (x *GameplayRecommendationElementReliquaryResponse) GetEquipType() uint32 {
+ if x != nil {
+ return x.EquipType
+ }
+ return 0
+}
+
+var File_GameplayRecommendationElementReliquaryResponse_proto protoreflect.FileDescriptor
+
+var file_GameplayRecommendationElementReliquaryResponse_proto_rawDesc = []byte{
+ 0x0a, 0x34, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52,
+ 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x47,
+ 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x4d, 0x61,
+ 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xd5, 0x01, 0x0a, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6c, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x61, 0x0a, 0x13, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70,
+ 0x72, 0x6f, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65,
+ 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x50,
+ 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f,
+ 0x70, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x71, 0x75,
+ 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65,
+ 0x71, 0x75, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GameplayRecommendationElementReliquaryResponse_proto_rawDescOnce sync.Once
+ file_GameplayRecommendationElementReliquaryResponse_proto_rawDescData = file_GameplayRecommendationElementReliquaryResponse_proto_rawDesc
+)
+
+func file_GameplayRecommendationElementReliquaryResponse_proto_rawDescGZIP() []byte {
+ file_GameplayRecommendationElementReliquaryResponse_proto_rawDescOnce.Do(func() {
+ file_GameplayRecommendationElementReliquaryResponse_proto_rawDescData = protoimpl.X.CompressGZIP(file_GameplayRecommendationElementReliquaryResponse_proto_rawDescData)
+ })
+ return file_GameplayRecommendationElementReliquaryResponse_proto_rawDescData
+}
+
+var file_GameplayRecommendationElementReliquaryResponse_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GameplayRecommendationElementReliquaryResponse_proto_goTypes = []interface{}{
+ (*GameplayRecommendationElementReliquaryResponse)(nil), // 0: proto.GameplayRecommendationElementReliquaryResponse
+ (*GameplayRecommendationReliquaryMainPropData)(nil), // 1: proto.GameplayRecommendationReliquaryMainPropData
+}
+var file_GameplayRecommendationElementReliquaryResponse_proto_depIdxs = []int32{
+ 1, // 0: proto.GameplayRecommendationElementReliquaryResponse.main_prop_data_list:type_name -> proto.GameplayRecommendationReliquaryMainPropData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GameplayRecommendationElementReliquaryResponse_proto_init() }
+func file_GameplayRecommendationElementReliquaryResponse_proto_init() {
+ if File_GameplayRecommendationElementReliquaryResponse_proto != nil {
+ return
+ }
+ file_GameplayRecommendationReliquaryMainPropData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GameplayRecommendationElementReliquaryResponse_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GameplayRecommendationElementReliquaryResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GameplayRecommendationElementReliquaryResponse_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GameplayRecommendationElementReliquaryResponse_proto_goTypes,
+ DependencyIndexes: file_GameplayRecommendationElementReliquaryResponse_proto_depIdxs,
+ MessageInfos: file_GameplayRecommendationElementReliquaryResponse_proto_msgTypes,
+ }.Build()
+ File_GameplayRecommendationElementReliquaryResponse_proto = out.File
+ file_GameplayRecommendationElementReliquaryResponse_proto_rawDesc = nil
+ file_GameplayRecommendationElementReliquaryResponse_proto_goTypes = nil
+ file_GameplayRecommendationElementReliquaryResponse_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GameplayRecommendationReliquaryMainPropData.pb.go b/protocol/proto/GameplayRecommendationReliquaryMainPropData.pb.go
new file mode 100644
index 00000000..90e54203
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationReliquaryMainPropData.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GameplayRecommendationReliquaryMainPropData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GameplayRecommendationReliquaryMainPropData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Permillage uint32 `protobuf:"varint,1,opt,name=permillage,proto3" json:"permillage,omitempty"`
+ MainPropId uint32 `protobuf:"varint,12,opt,name=main_prop_id,json=mainPropId,proto3" json:"main_prop_id,omitempty"`
+}
+
+func (x *GameplayRecommendationReliquaryMainPropData) Reset() {
+ *x = GameplayRecommendationReliquaryMainPropData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GameplayRecommendationReliquaryMainPropData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GameplayRecommendationReliquaryMainPropData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GameplayRecommendationReliquaryMainPropData) ProtoMessage() {}
+
+func (x *GameplayRecommendationReliquaryMainPropData) ProtoReflect() protoreflect.Message {
+ mi := &file_GameplayRecommendationReliquaryMainPropData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GameplayRecommendationReliquaryMainPropData.ProtoReflect.Descriptor instead.
+func (*GameplayRecommendationReliquaryMainPropData) Descriptor() ([]byte, []int) {
+ return file_GameplayRecommendationReliquaryMainPropData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GameplayRecommendationReliquaryMainPropData) GetPermillage() uint32 {
+ if x != nil {
+ return x.Permillage
+ }
+ return 0
+}
+
+func (x *GameplayRecommendationReliquaryMainPropData) GetMainPropId() uint32 {
+ if x != nil {
+ return x.MainPropId
+ }
+ return 0
+}
+
+var File_GameplayRecommendationReliquaryMainPropData_proto protoreflect.FileDescriptor
+
+var file_GameplayRecommendationReliquaryMainPropData_proto_rawDesc = []byte{
+ 0x0a, 0x31, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72,
+ 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x2b, 0x47, 0x61,
+ 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x69,
+ 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72,
+ 0x6d, 0x69, 0x6c, 0x6c, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70,
+ 0x65, 0x72, 0x6d, 0x69, 0x6c, 0x6c, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69,
+ 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GameplayRecommendationReliquaryMainPropData_proto_rawDescOnce sync.Once
+ file_GameplayRecommendationReliquaryMainPropData_proto_rawDescData = file_GameplayRecommendationReliquaryMainPropData_proto_rawDesc
+)
+
+func file_GameplayRecommendationReliquaryMainPropData_proto_rawDescGZIP() []byte {
+ file_GameplayRecommendationReliquaryMainPropData_proto_rawDescOnce.Do(func() {
+ file_GameplayRecommendationReliquaryMainPropData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GameplayRecommendationReliquaryMainPropData_proto_rawDescData)
+ })
+ return file_GameplayRecommendationReliquaryMainPropData_proto_rawDescData
+}
+
+var file_GameplayRecommendationReliquaryMainPropData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GameplayRecommendationReliquaryMainPropData_proto_goTypes = []interface{}{
+ (*GameplayRecommendationReliquaryMainPropData)(nil), // 0: proto.GameplayRecommendationReliquaryMainPropData
+}
+var file_GameplayRecommendationReliquaryMainPropData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GameplayRecommendationReliquaryMainPropData_proto_init() }
+func file_GameplayRecommendationReliquaryMainPropData_proto_init() {
+ if File_GameplayRecommendationReliquaryMainPropData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GameplayRecommendationReliquaryMainPropData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GameplayRecommendationReliquaryMainPropData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GameplayRecommendationReliquaryMainPropData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GameplayRecommendationReliquaryMainPropData_proto_goTypes,
+ DependencyIndexes: file_GameplayRecommendationReliquaryMainPropData_proto_depIdxs,
+ MessageInfos: file_GameplayRecommendationReliquaryMainPropData_proto_msgTypes,
+ }.Build()
+ File_GameplayRecommendationReliquaryMainPropData_proto = out.File
+ file_GameplayRecommendationReliquaryMainPropData_proto_rawDesc = nil
+ file_GameplayRecommendationReliquaryMainPropData_proto_goTypes = nil
+ file_GameplayRecommendationReliquaryMainPropData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GameplayRecommendationReliquaryRequest.pb.go b/protocol/proto/GameplayRecommendationReliquaryRequest.pb.go
new file mode 100644
index 00000000..786dd7ac
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationReliquaryRequest.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GameplayRecommendationReliquaryRequest.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GameplayRecommendationReliquaryRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EquipType uint32 `protobuf:"varint,6,opt,name=equip_type,json=equipType,proto3" json:"equip_type,omitempty"`
+}
+
+func (x *GameplayRecommendationReliquaryRequest) Reset() {
+ *x = GameplayRecommendationReliquaryRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GameplayRecommendationReliquaryRequest_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GameplayRecommendationReliquaryRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GameplayRecommendationReliquaryRequest) ProtoMessage() {}
+
+func (x *GameplayRecommendationReliquaryRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_GameplayRecommendationReliquaryRequest_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GameplayRecommendationReliquaryRequest.ProtoReflect.Descriptor instead.
+func (*GameplayRecommendationReliquaryRequest) Descriptor() ([]byte, []int) {
+ return file_GameplayRecommendationReliquaryRequest_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GameplayRecommendationReliquaryRequest) GetEquipType() uint32 {
+ if x != nil {
+ return x.EquipType
+ }
+ return 0
+}
+
+var File_GameplayRecommendationReliquaryRequest_proto protoreflect.FileDescriptor
+
+var file_GameplayRecommendationReliquaryRequest_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72,
+ 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x26, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61,
+ 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GameplayRecommendationReliquaryRequest_proto_rawDescOnce sync.Once
+ file_GameplayRecommendationReliquaryRequest_proto_rawDescData = file_GameplayRecommendationReliquaryRequest_proto_rawDesc
+)
+
+func file_GameplayRecommendationReliquaryRequest_proto_rawDescGZIP() []byte {
+ file_GameplayRecommendationReliquaryRequest_proto_rawDescOnce.Do(func() {
+ file_GameplayRecommendationReliquaryRequest_proto_rawDescData = protoimpl.X.CompressGZIP(file_GameplayRecommendationReliquaryRequest_proto_rawDescData)
+ })
+ return file_GameplayRecommendationReliquaryRequest_proto_rawDescData
+}
+
+var file_GameplayRecommendationReliquaryRequest_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GameplayRecommendationReliquaryRequest_proto_goTypes = []interface{}{
+ (*GameplayRecommendationReliquaryRequest)(nil), // 0: proto.GameplayRecommendationReliquaryRequest
+}
+var file_GameplayRecommendationReliquaryRequest_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GameplayRecommendationReliquaryRequest_proto_init() }
+func file_GameplayRecommendationReliquaryRequest_proto_init() {
+ if File_GameplayRecommendationReliquaryRequest_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GameplayRecommendationReliquaryRequest_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GameplayRecommendationReliquaryRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GameplayRecommendationReliquaryRequest_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GameplayRecommendationReliquaryRequest_proto_goTypes,
+ DependencyIndexes: file_GameplayRecommendationReliquaryRequest_proto_depIdxs,
+ MessageInfos: file_GameplayRecommendationReliquaryRequest_proto_msgTypes,
+ }.Build()
+ File_GameplayRecommendationReliquaryRequest_proto = out.File
+ file_GameplayRecommendationReliquaryRequest_proto_rawDesc = nil
+ file_GameplayRecommendationReliquaryRequest_proto_goTypes = nil
+ file_GameplayRecommendationReliquaryRequest_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GameplayRecommendationReliquaryResponse.pb.go b/protocol/proto/GameplayRecommendationReliquaryResponse.pb.go
new file mode 100644
index 00000000..c611377b
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationReliquaryResponse.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GameplayRecommendationReliquaryResponse.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GameplayRecommendationReliquaryResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MainPropDataList []*GameplayRecommendationReliquaryMainPropData `protobuf:"bytes,8,rep,name=main_prop_data_list,json=mainPropDataList,proto3" json:"main_prop_data_list,omitempty"`
+ EquipType uint32 `protobuf:"varint,3,opt,name=equip_type,json=equipType,proto3" json:"equip_type,omitempty"`
+}
+
+func (x *GameplayRecommendationReliquaryResponse) Reset() {
+ *x = GameplayRecommendationReliquaryResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GameplayRecommendationReliquaryResponse_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GameplayRecommendationReliquaryResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GameplayRecommendationReliquaryResponse) ProtoMessage() {}
+
+func (x *GameplayRecommendationReliquaryResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_GameplayRecommendationReliquaryResponse_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GameplayRecommendationReliquaryResponse.ProtoReflect.Descriptor instead.
+func (*GameplayRecommendationReliquaryResponse) Descriptor() ([]byte, []int) {
+ return file_GameplayRecommendationReliquaryResponse_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GameplayRecommendationReliquaryResponse) GetMainPropDataList() []*GameplayRecommendationReliquaryMainPropData {
+ if x != nil {
+ return x.MainPropDataList
+ }
+ return nil
+}
+
+func (x *GameplayRecommendationReliquaryResponse) GetEquipType() uint32 {
+ if x != nil {
+ return x.EquipType
+ }
+ return 0
+}
+
+var File_GameplayRecommendationReliquaryResponse_proto protoreflect.FileDescriptor
+
+var file_GameplayRecommendationReliquaryResponse_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72,
+ 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79,
+ 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x27, 0x47, 0x61,
+ 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x13, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72,
+ 0x6f, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x70,
+ 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x72,
+ 0x6f, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69,
+ 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x71,
+ 0x75, 0x69, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GameplayRecommendationReliquaryResponse_proto_rawDescOnce sync.Once
+ file_GameplayRecommendationReliquaryResponse_proto_rawDescData = file_GameplayRecommendationReliquaryResponse_proto_rawDesc
+)
+
+func file_GameplayRecommendationReliquaryResponse_proto_rawDescGZIP() []byte {
+ file_GameplayRecommendationReliquaryResponse_proto_rawDescOnce.Do(func() {
+ file_GameplayRecommendationReliquaryResponse_proto_rawDescData = protoimpl.X.CompressGZIP(file_GameplayRecommendationReliquaryResponse_proto_rawDescData)
+ })
+ return file_GameplayRecommendationReliquaryResponse_proto_rawDescData
+}
+
+var file_GameplayRecommendationReliquaryResponse_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GameplayRecommendationReliquaryResponse_proto_goTypes = []interface{}{
+ (*GameplayRecommendationReliquaryResponse)(nil), // 0: proto.GameplayRecommendationReliquaryResponse
+ (*GameplayRecommendationReliquaryMainPropData)(nil), // 1: proto.GameplayRecommendationReliquaryMainPropData
+}
+var file_GameplayRecommendationReliquaryResponse_proto_depIdxs = []int32{
+ 1, // 0: proto.GameplayRecommendationReliquaryResponse.main_prop_data_list:type_name -> proto.GameplayRecommendationReliquaryMainPropData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GameplayRecommendationReliquaryResponse_proto_init() }
+func file_GameplayRecommendationReliquaryResponse_proto_init() {
+ if File_GameplayRecommendationReliquaryResponse_proto != nil {
+ return
+ }
+ file_GameplayRecommendationReliquaryMainPropData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GameplayRecommendationReliquaryResponse_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GameplayRecommendationReliquaryResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GameplayRecommendationReliquaryResponse_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GameplayRecommendationReliquaryResponse_proto_goTypes,
+ DependencyIndexes: file_GameplayRecommendationReliquaryResponse_proto_depIdxs,
+ MessageInfos: file_GameplayRecommendationReliquaryResponse_proto_msgTypes,
+ }.Build()
+ File_GameplayRecommendationReliquaryResponse_proto = out.File
+ file_GameplayRecommendationReliquaryResponse_proto_rawDesc = nil
+ file_GameplayRecommendationReliquaryResponse_proto_goTypes = nil
+ file_GameplayRecommendationReliquaryResponse_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GameplayRecommendationSkillRequest.pb.go b/protocol/proto/GameplayRecommendationSkillRequest.pb.go
new file mode 100644
index 00000000..314798dc
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationSkillRequest.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GameplayRecommendationSkillRequest.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GameplayRecommendationSkillRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillDepotId uint32 `protobuf:"varint,1,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+}
+
+func (x *GameplayRecommendationSkillRequest) Reset() {
+ *x = GameplayRecommendationSkillRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GameplayRecommendationSkillRequest_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GameplayRecommendationSkillRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GameplayRecommendationSkillRequest) ProtoMessage() {}
+
+func (x *GameplayRecommendationSkillRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_GameplayRecommendationSkillRequest_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GameplayRecommendationSkillRequest.ProtoReflect.Descriptor instead.
+func (*GameplayRecommendationSkillRequest) Descriptor() ([]byte, []int) {
+ return file_GameplayRecommendationSkillRequest_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GameplayRecommendationSkillRequest) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+var File_GameplayRecommendationSkillRequest_proto protoreflect.FileDescriptor
+
+var file_GameplayRecommendationSkillRequest_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x4a, 0x0a, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GameplayRecommendationSkillRequest_proto_rawDescOnce sync.Once
+ file_GameplayRecommendationSkillRequest_proto_rawDescData = file_GameplayRecommendationSkillRequest_proto_rawDesc
+)
+
+func file_GameplayRecommendationSkillRequest_proto_rawDescGZIP() []byte {
+ file_GameplayRecommendationSkillRequest_proto_rawDescOnce.Do(func() {
+ file_GameplayRecommendationSkillRequest_proto_rawDescData = protoimpl.X.CompressGZIP(file_GameplayRecommendationSkillRequest_proto_rawDescData)
+ })
+ return file_GameplayRecommendationSkillRequest_proto_rawDescData
+}
+
+var file_GameplayRecommendationSkillRequest_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GameplayRecommendationSkillRequest_proto_goTypes = []interface{}{
+ (*GameplayRecommendationSkillRequest)(nil), // 0: proto.GameplayRecommendationSkillRequest
+}
+var file_GameplayRecommendationSkillRequest_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GameplayRecommendationSkillRequest_proto_init() }
+func file_GameplayRecommendationSkillRequest_proto_init() {
+ if File_GameplayRecommendationSkillRequest_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GameplayRecommendationSkillRequest_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GameplayRecommendationSkillRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GameplayRecommendationSkillRequest_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GameplayRecommendationSkillRequest_proto_goTypes,
+ DependencyIndexes: file_GameplayRecommendationSkillRequest_proto_depIdxs,
+ MessageInfos: file_GameplayRecommendationSkillRequest_proto_msgTypes,
+ }.Build()
+ File_GameplayRecommendationSkillRequest_proto = out.File
+ file_GameplayRecommendationSkillRequest_proto_rawDesc = nil
+ file_GameplayRecommendationSkillRequest_proto_goTypes = nil
+ file_GameplayRecommendationSkillRequest_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GameplayRecommendationSkillResponse.pb.go b/protocol/proto/GameplayRecommendationSkillResponse.pb.go
new file mode 100644
index 00000000..80aaad5f
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationSkillResponse.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GameplayRecommendationSkillResponse.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GameplayRecommendationSkillResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillDepotId uint32 `protobuf:"varint,13,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+ SkillIdList []uint32 `protobuf:"varint,9,rep,packed,name=skill_id_list,json=skillIdList,proto3" json:"skill_id_list,omitempty"`
+}
+
+func (x *GameplayRecommendationSkillResponse) Reset() {
+ *x = GameplayRecommendationSkillResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GameplayRecommendationSkillResponse_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GameplayRecommendationSkillResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GameplayRecommendationSkillResponse) ProtoMessage() {}
+
+func (x *GameplayRecommendationSkillResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_GameplayRecommendationSkillResponse_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GameplayRecommendationSkillResponse.ProtoReflect.Descriptor instead.
+func (*GameplayRecommendationSkillResponse) Descriptor() ([]byte, []int) {
+ return file_GameplayRecommendationSkillResponse_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GameplayRecommendationSkillResponse) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+func (x *GameplayRecommendationSkillResponse) GetSkillIdList() []uint32 {
+ if x != nil {
+ return x.SkillIdList
+ }
+ return nil
+}
+
+var File_GameplayRecommendationSkillResponse_proto protoreflect.FileDescriptor
+
+var file_GameplayRecommendationSkillResponse_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x23, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x49, 0x64, 0x12,
+ 0x22, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GameplayRecommendationSkillResponse_proto_rawDescOnce sync.Once
+ file_GameplayRecommendationSkillResponse_proto_rawDescData = file_GameplayRecommendationSkillResponse_proto_rawDesc
+)
+
+func file_GameplayRecommendationSkillResponse_proto_rawDescGZIP() []byte {
+ file_GameplayRecommendationSkillResponse_proto_rawDescOnce.Do(func() {
+ file_GameplayRecommendationSkillResponse_proto_rawDescData = protoimpl.X.CompressGZIP(file_GameplayRecommendationSkillResponse_proto_rawDescData)
+ })
+ return file_GameplayRecommendationSkillResponse_proto_rawDescData
+}
+
+var file_GameplayRecommendationSkillResponse_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GameplayRecommendationSkillResponse_proto_goTypes = []interface{}{
+ (*GameplayRecommendationSkillResponse)(nil), // 0: proto.GameplayRecommendationSkillResponse
+}
+var file_GameplayRecommendationSkillResponse_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GameplayRecommendationSkillResponse_proto_init() }
+func file_GameplayRecommendationSkillResponse_proto_init() {
+ if File_GameplayRecommendationSkillResponse_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GameplayRecommendationSkillResponse_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GameplayRecommendationSkillResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GameplayRecommendationSkillResponse_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GameplayRecommendationSkillResponse_proto_goTypes,
+ DependencyIndexes: file_GameplayRecommendationSkillResponse_proto_depIdxs,
+ MessageInfos: file_GameplayRecommendationSkillResponse_proto_msgTypes,
+ }.Build()
+ File_GameplayRecommendationSkillResponse_proto = out.File
+ file_GameplayRecommendationSkillResponse_proto_rawDesc = nil
+ file_GameplayRecommendationSkillResponse_proto_goTypes = nil
+ file_GameplayRecommendationSkillResponse_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GatherGadgetInfo.pb.go b/protocol/proto/GatherGadgetInfo.pb.go
new file mode 100644
index 00000000..3a639dad
--- /dev/null
+++ b/protocol/proto/GatherGadgetInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GatherGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GatherGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,1,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ IsForbidGuest bool `protobuf:"varint,2,opt,name=is_forbid_guest,json=isForbidGuest,proto3" json:"is_forbid_guest,omitempty"`
+}
+
+func (x *GatherGadgetInfo) Reset() {
+ *x = GatherGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GatherGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GatherGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GatherGadgetInfo) ProtoMessage() {}
+
+func (x *GatherGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GatherGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GatherGadgetInfo.ProtoReflect.Descriptor instead.
+func (*GatherGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_GatherGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GatherGadgetInfo) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *GatherGadgetInfo) GetIsForbidGuest() bool {
+ if x != nil {
+ return x.IsForbidGuest
+ }
+ return false
+}
+
+var File_GatherGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_GatherGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x53, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f,
+ 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x47,
+ 0x75, 0x65, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GatherGadgetInfo_proto_rawDescOnce sync.Once
+ file_GatherGadgetInfo_proto_rawDescData = file_GatherGadgetInfo_proto_rawDesc
+)
+
+func file_GatherGadgetInfo_proto_rawDescGZIP() []byte {
+ file_GatherGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_GatherGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GatherGadgetInfo_proto_rawDescData)
+ })
+ return file_GatherGadgetInfo_proto_rawDescData
+}
+
+var file_GatherGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GatherGadgetInfo_proto_goTypes = []interface{}{
+ (*GatherGadgetInfo)(nil), // 0: proto.GatherGadgetInfo
+}
+var file_GatherGadgetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GatherGadgetInfo_proto_init() }
+func file_GatherGadgetInfo_proto_init() {
+ if File_GatherGadgetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GatherGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GatherGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GatherGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GatherGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_GatherGadgetInfo_proto_depIdxs,
+ MessageInfos: file_GatherGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_GatherGadgetInfo_proto = out.File
+ file_GatherGadgetInfo_proto_rawDesc = nil
+ file_GatherGadgetInfo_proto_goTypes = nil
+ file_GatherGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityDetailInfo.pb.go b/protocol/proto/GearActivityDetailInfo.pb.go
new file mode 100644
index 00000000..19f64e99
--- /dev/null
+++ b/protocol/proto/GearActivityDetailInfo.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GearActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GearLevelDataList []*GearLevelData `protobuf:"bytes,14,rep,name=gear_level_data_list,json=gearLevelDataList,proto3" json:"gear_level_data_list,omitempty"`
+ JigsawPictureData *JigsawPictureData `protobuf:"bytes,8,opt,name=jigsaw_picture_data,json=jigsawPictureData,proto3" json:"jigsaw_picture_data,omitempty"`
+}
+
+func (x *GearActivityDetailInfo) Reset() {
+ *x = GearActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityDetailInfo) ProtoMessage() {}
+
+func (x *GearActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*GearActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_GearActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearActivityDetailInfo) GetGearLevelDataList() []*GearLevelData {
+ if x != nil {
+ return x.GearLevelDataList
+ }
+ return nil
+}
+
+func (x *GearActivityDetailInfo) GetJigsawPictureData() *JigsawPictureData {
+ if x != nil {
+ return x.JigsawPictureData
+ }
+ return nil
+}
+
+var File_GearActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_GearActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x47, 0x65, 0x61, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x4a, 0x69, 0x67, 0x73,
+ 0x61, 0x77, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45,
+ 0x0a, 0x14, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74,
+ 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x61, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x11, 0x67, 0x65, 0x61, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x13, 0x6a, 0x69, 0x67, 0x73, 0x61, 0x77, 0x5f,
+ 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4a, 0x69, 0x67, 0x73, 0x61,
+ 0x77, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x6a, 0x69,
+ 0x67, 0x73, 0x61, 0x77, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_GearActivityDetailInfo_proto_rawDescData = file_GearActivityDetailInfo_proto_rawDesc
+)
+
+func file_GearActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_GearActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_GearActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityDetailInfo_proto_rawDescData)
+ })
+ return file_GearActivityDetailInfo_proto_rawDescData
+}
+
+var file_GearActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityDetailInfo_proto_goTypes = []interface{}{
+ (*GearActivityDetailInfo)(nil), // 0: proto.GearActivityDetailInfo
+ (*GearLevelData)(nil), // 1: proto.GearLevelData
+ (*JigsawPictureData)(nil), // 2: proto.JigsawPictureData
+}
+var file_GearActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GearActivityDetailInfo.gear_level_data_list:type_name -> proto.GearLevelData
+ 2, // 1: proto.GearActivityDetailInfo.jigsaw_picture_data:type_name -> proto.JigsawPictureData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityDetailInfo_proto_init() }
+func file_GearActivityDetailInfo_proto_init() {
+ if File_GearActivityDetailInfo_proto != nil {
+ return
+ }
+ file_GearLevelData_proto_init()
+ file_JigsawPictureData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_GearActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_GearActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_GearActivityDetailInfo_proto = out.File
+ file_GearActivityDetailInfo_proto_rawDesc = nil
+ file_GearActivityDetailInfo_proto_goTypes = nil
+ file_GearActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityFinishPlayGearReq.pb.go b/protocol/proto/GearActivityFinishPlayGearReq.pb.go
new file mode 100644
index 00000000..f674ccdd
--- /dev/null
+++ b/protocol/proto/GearActivityFinishPlayGearReq.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityFinishPlayGearReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21834
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GearActivityFinishPlayGearReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSuccess bool `protobuf:"varint,4,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ UseClue bool `protobuf:"varint,12,opt,name=use_clue,json=useClue,proto3" json:"use_clue,omitempty"`
+ GearColumnInfoList []*GearColumnInfo `protobuf:"bytes,9,rep,name=gear_column_info_list,json=gearColumnInfoList,proto3" json:"gear_column_info_list,omitempty"`
+ LevelId uint32 `protobuf:"varint,5,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *GearActivityFinishPlayGearReq) Reset() {
+ *x = GearActivityFinishPlayGearReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityFinishPlayGearReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityFinishPlayGearReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityFinishPlayGearReq) ProtoMessage() {}
+
+func (x *GearActivityFinishPlayGearReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityFinishPlayGearReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityFinishPlayGearReq.ProtoReflect.Descriptor instead.
+func (*GearActivityFinishPlayGearReq) Descriptor() ([]byte, []int) {
+ return file_GearActivityFinishPlayGearReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearActivityFinishPlayGearReq) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *GearActivityFinishPlayGearReq) GetUseClue() bool {
+ if x != nil {
+ return x.UseClue
+ }
+ return false
+}
+
+func (x *GearActivityFinishPlayGearReq) GetGearColumnInfoList() []*GearColumnInfo {
+ if x != nil {
+ return x.GearColumnInfoList
+ }
+ return nil
+}
+
+func (x *GearActivityFinishPlayGearReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_GearActivityFinishPlayGearReq_proto protoreflect.FileDescriptor
+
+var file_GearActivityFinishPlayGearReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x65, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x65,
+ 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x65, 0x61,
+ 0x72, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x65, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x43, 0x6c, 0x75, 0x65, 0x12, 0x48,
+ 0x0a, 0x15, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x67, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityFinishPlayGearReq_proto_rawDescOnce sync.Once
+ file_GearActivityFinishPlayGearReq_proto_rawDescData = file_GearActivityFinishPlayGearReq_proto_rawDesc
+)
+
+func file_GearActivityFinishPlayGearReq_proto_rawDescGZIP() []byte {
+ file_GearActivityFinishPlayGearReq_proto_rawDescOnce.Do(func() {
+ file_GearActivityFinishPlayGearReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityFinishPlayGearReq_proto_rawDescData)
+ })
+ return file_GearActivityFinishPlayGearReq_proto_rawDescData
+}
+
+var file_GearActivityFinishPlayGearReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityFinishPlayGearReq_proto_goTypes = []interface{}{
+ (*GearActivityFinishPlayGearReq)(nil), // 0: proto.GearActivityFinishPlayGearReq
+ (*GearColumnInfo)(nil), // 1: proto.GearColumnInfo
+}
+var file_GearActivityFinishPlayGearReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GearActivityFinishPlayGearReq.gear_column_info_list:type_name -> proto.GearColumnInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityFinishPlayGearReq_proto_init() }
+func file_GearActivityFinishPlayGearReq_proto_init() {
+ if File_GearActivityFinishPlayGearReq_proto != nil {
+ return
+ }
+ file_GearColumnInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityFinishPlayGearReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityFinishPlayGearReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityFinishPlayGearReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityFinishPlayGearReq_proto_goTypes,
+ DependencyIndexes: file_GearActivityFinishPlayGearReq_proto_depIdxs,
+ MessageInfos: file_GearActivityFinishPlayGearReq_proto_msgTypes,
+ }.Build()
+ File_GearActivityFinishPlayGearReq_proto = out.File
+ file_GearActivityFinishPlayGearReq_proto_rawDesc = nil
+ file_GearActivityFinishPlayGearReq_proto_goTypes = nil
+ file_GearActivityFinishPlayGearReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityFinishPlayGearRsp.pb.go b/protocol/proto/GearActivityFinishPlayGearRsp.pb.go
new file mode 100644
index 00000000..1ba6e443
--- /dev/null
+++ b/protocol/proto/GearActivityFinishPlayGearRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityFinishPlayGearRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21800
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GearActivityFinishPlayGearRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsSuccess bool `protobuf:"varint,15,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ LevelId uint32 `protobuf:"varint,3,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *GearActivityFinishPlayGearRsp) Reset() {
+ *x = GearActivityFinishPlayGearRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityFinishPlayGearRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityFinishPlayGearRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityFinishPlayGearRsp) ProtoMessage() {}
+
+func (x *GearActivityFinishPlayGearRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityFinishPlayGearRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityFinishPlayGearRsp.ProtoReflect.Descriptor instead.
+func (*GearActivityFinishPlayGearRsp) Descriptor() ([]byte, []int) {
+ return file_GearActivityFinishPlayGearRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearActivityFinishPlayGearRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GearActivityFinishPlayGearRsp) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *GearActivityFinishPlayGearRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_GearActivityFinishPlayGearRsp_proto protoreflect.FileDescriptor
+
+var file_GearActivityFinishPlayGearRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x65, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x1d,
+ 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x65, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53,
+ 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityFinishPlayGearRsp_proto_rawDescOnce sync.Once
+ file_GearActivityFinishPlayGearRsp_proto_rawDescData = file_GearActivityFinishPlayGearRsp_proto_rawDesc
+)
+
+func file_GearActivityFinishPlayGearRsp_proto_rawDescGZIP() []byte {
+ file_GearActivityFinishPlayGearRsp_proto_rawDescOnce.Do(func() {
+ file_GearActivityFinishPlayGearRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityFinishPlayGearRsp_proto_rawDescData)
+ })
+ return file_GearActivityFinishPlayGearRsp_proto_rawDescData
+}
+
+var file_GearActivityFinishPlayGearRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityFinishPlayGearRsp_proto_goTypes = []interface{}{
+ (*GearActivityFinishPlayGearRsp)(nil), // 0: proto.GearActivityFinishPlayGearRsp
+}
+var file_GearActivityFinishPlayGearRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityFinishPlayGearRsp_proto_init() }
+func file_GearActivityFinishPlayGearRsp_proto_init() {
+ if File_GearActivityFinishPlayGearRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityFinishPlayGearRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityFinishPlayGearRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityFinishPlayGearRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityFinishPlayGearRsp_proto_goTypes,
+ DependencyIndexes: file_GearActivityFinishPlayGearRsp_proto_depIdxs,
+ MessageInfos: file_GearActivityFinishPlayGearRsp_proto_msgTypes,
+ }.Build()
+ File_GearActivityFinishPlayGearRsp_proto = out.File
+ file_GearActivityFinishPlayGearRsp_proto_rawDesc = nil
+ file_GearActivityFinishPlayGearRsp_proto_goTypes = nil
+ file_GearActivityFinishPlayGearRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityFinishPlayPictureReq.pb.go b/protocol/proto/GearActivityFinishPlayPictureReq.pb.go
new file mode 100644
index 00000000..6b30a858
--- /dev/null
+++ b/protocol/proto/GearActivityFinishPlayPictureReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityFinishPlayPictureReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21054
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GearActivityFinishPlayPictureReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSuccess bool `protobuf:"varint,8,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *GearActivityFinishPlayPictureReq) Reset() {
+ *x = GearActivityFinishPlayPictureReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityFinishPlayPictureReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityFinishPlayPictureReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityFinishPlayPictureReq) ProtoMessage() {}
+
+func (x *GearActivityFinishPlayPictureReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityFinishPlayPictureReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityFinishPlayPictureReq.ProtoReflect.Descriptor instead.
+func (*GearActivityFinishPlayPictureReq) Descriptor() ([]byte, []int) {
+ return file_GearActivityFinishPlayPictureReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearActivityFinishPlayPictureReq) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_GearActivityFinishPlayPictureReq_proto protoreflect.FileDescriptor
+
+var file_GearActivityFinishPlayPictureReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x41, 0x0a, 0x20, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityFinishPlayPictureReq_proto_rawDescOnce sync.Once
+ file_GearActivityFinishPlayPictureReq_proto_rawDescData = file_GearActivityFinishPlayPictureReq_proto_rawDesc
+)
+
+func file_GearActivityFinishPlayPictureReq_proto_rawDescGZIP() []byte {
+ file_GearActivityFinishPlayPictureReq_proto_rawDescOnce.Do(func() {
+ file_GearActivityFinishPlayPictureReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityFinishPlayPictureReq_proto_rawDescData)
+ })
+ return file_GearActivityFinishPlayPictureReq_proto_rawDescData
+}
+
+var file_GearActivityFinishPlayPictureReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityFinishPlayPictureReq_proto_goTypes = []interface{}{
+ (*GearActivityFinishPlayPictureReq)(nil), // 0: proto.GearActivityFinishPlayPictureReq
+}
+var file_GearActivityFinishPlayPictureReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityFinishPlayPictureReq_proto_init() }
+func file_GearActivityFinishPlayPictureReq_proto_init() {
+ if File_GearActivityFinishPlayPictureReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityFinishPlayPictureReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityFinishPlayPictureReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityFinishPlayPictureReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityFinishPlayPictureReq_proto_goTypes,
+ DependencyIndexes: file_GearActivityFinishPlayPictureReq_proto_depIdxs,
+ MessageInfos: file_GearActivityFinishPlayPictureReq_proto_msgTypes,
+ }.Build()
+ File_GearActivityFinishPlayPictureReq_proto = out.File
+ file_GearActivityFinishPlayPictureReq_proto_rawDesc = nil
+ file_GearActivityFinishPlayPictureReq_proto_goTypes = nil
+ file_GearActivityFinishPlayPictureReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityFinishPlayPictureRsp.pb.go b/protocol/proto/GearActivityFinishPlayPictureRsp.pb.go
new file mode 100644
index 00000000..a848c47d
--- /dev/null
+++ b/protocol/proto/GearActivityFinishPlayPictureRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityFinishPlayPictureRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21851
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GearActivityFinishPlayPictureRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsSuccess bool `protobuf:"varint,6,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *GearActivityFinishPlayPictureRsp) Reset() {
+ *x = GearActivityFinishPlayPictureRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityFinishPlayPictureRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityFinishPlayPictureRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityFinishPlayPictureRsp) ProtoMessage() {}
+
+func (x *GearActivityFinishPlayPictureRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityFinishPlayPictureRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityFinishPlayPictureRsp.ProtoReflect.Descriptor instead.
+func (*GearActivityFinishPlayPictureRsp) Descriptor() ([]byte, []int) {
+ return file_GearActivityFinishPlayPictureRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearActivityFinishPlayPictureRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GearActivityFinishPlayPictureRsp) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_GearActivityFinishPlayPictureRsp_proto protoreflect.FileDescriptor
+
+var file_GearActivityFinishPlayPictureRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5b, 0x0a, 0x20, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityFinishPlayPictureRsp_proto_rawDescOnce sync.Once
+ file_GearActivityFinishPlayPictureRsp_proto_rawDescData = file_GearActivityFinishPlayPictureRsp_proto_rawDesc
+)
+
+func file_GearActivityFinishPlayPictureRsp_proto_rawDescGZIP() []byte {
+ file_GearActivityFinishPlayPictureRsp_proto_rawDescOnce.Do(func() {
+ file_GearActivityFinishPlayPictureRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityFinishPlayPictureRsp_proto_rawDescData)
+ })
+ return file_GearActivityFinishPlayPictureRsp_proto_rawDescData
+}
+
+var file_GearActivityFinishPlayPictureRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityFinishPlayPictureRsp_proto_goTypes = []interface{}{
+ (*GearActivityFinishPlayPictureRsp)(nil), // 0: proto.GearActivityFinishPlayPictureRsp
+}
+var file_GearActivityFinishPlayPictureRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityFinishPlayPictureRsp_proto_init() }
+func file_GearActivityFinishPlayPictureRsp_proto_init() {
+ if File_GearActivityFinishPlayPictureRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityFinishPlayPictureRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityFinishPlayPictureRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityFinishPlayPictureRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityFinishPlayPictureRsp_proto_goTypes,
+ DependencyIndexes: file_GearActivityFinishPlayPictureRsp_proto_depIdxs,
+ MessageInfos: file_GearActivityFinishPlayPictureRsp_proto_msgTypes,
+ }.Build()
+ File_GearActivityFinishPlayPictureRsp_proto = out.File
+ file_GearActivityFinishPlayPictureRsp_proto_rawDesc = nil
+ file_GearActivityFinishPlayPictureRsp_proto_goTypes = nil
+ file_GearActivityFinishPlayPictureRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityStartPlayGearReq.pb.go b/protocol/proto/GearActivityStartPlayGearReq.pb.go
new file mode 100644
index 00000000..e41596d4
--- /dev/null
+++ b/protocol/proto/GearActivityStartPlayGearReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityStartPlayGearReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23467
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GearActivityStartPlayGearReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,5,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *GearActivityStartPlayGearReq) Reset() {
+ *x = GearActivityStartPlayGearReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityStartPlayGearReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityStartPlayGearReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityStartPlayGearReq) ProtoMessage() {}
+
+func (x *GearActivityStartPlayGearReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityStartPlayGearReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityStartPlayGearReq.ProtoReflect.Descriptor instead.
+func (*GearActivityStartPlayGearReq) Descriptor() ([]byte, []int) {
+ return file_GearActivityStartPlayGearReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearActivityStartPlayGearReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_GearActivityStartPlayGearReq_proto protoreflect.FileDescriptor
+
+var file_GearActivityStartPlayGearReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x65, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1c, 0x47,
+ 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x50, 0x6c, 0x61, 0x79, 0x47, 0x65, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityStartPlayGearReq_proto_rawDescOnce sync.Once
+ file_GearActivityStartPlayGearReq_proto_rawDescData = file_GearActivityStartPlayGearReq_proto_rawDesc
+)
+
+func file_GearActivityStartPlayGearReq_proto_rawDescGZIP() []byte {
+ file_GearActivityStartPlayGearReq_proto_rawDescOnce.Do(func() {
+ file_GearActivityStartPlayGearReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityStartPlayGearReq_proto_rawDescData)
+ })
+ return file_GearActivityStartPlayGearReq_proto_rawDescData
+}
+
+var file_GearActivityStartPlayGearReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityStartPlayGearReq_proto_goTypes = []interface{}{
+ (*GearActivityStartPlayGearReq)(nil), // 0: proto.GearActivityStartPlayGearReq
+}
+var file_GearActivityStartPlayGearReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityStartPlayGearReq_proto_init() }
+func file_GearActivityStartPlayGearReq_proto_init() {
+ if File_GearActivityStartPlayGearReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityStartPlayGearReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityStartPlayGearReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityStartPlayGearReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityStartPlayGearReq_proto_goTypes,
+ DependencyIndexes: file_GearActivityStartPlayGearReq_proto_depIdxs,
+ MessageInfos: file_GearActivityStartPlayGearReq_proto_msgTypes,
+ }.Build()
+ File_GearActivityStartPlayGearReq_proto = out.File
+ file_GearActivityStartPlayGearReq_proto_rawDesc = nil
+ file_GearActivityStartPlayGearReq_proto_goTypes = nil
+ file_GearActivityStartPlayGearReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityStartPlayGearRsp.pb.go b/protocol/proto/GearActivityStartPlayGearRsp.pb.go
new file mode 100644
index 00000000..fd3e8a49
--- /dev/null
+++ b/protocol/proto/GearActivityStartPlayGearRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityStartPlayGearRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21025
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GearActivityStartPlayGearRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,9,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GearActivityStartPlayGearRsp) Reset() {
+ *x = GearActivityStartPlayGearRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityStartPlayGearRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityStartPlayGearRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityStartPlayGearRsp) ProtoMessage() {}
+
+func (x *GearActivityStartPlayGearRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityStartPlayGearRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityStartPlayGearRsp.ProtoReflect.Descriptor instead.
+func (*GearActivityStartPlayGearRsp) Descriptor() ([]byte, []int) {
+ return file_GearActivityStartPlayGearRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearActivityStartPlayGearRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *GearActivityStartPlayGearRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GearActivityStartPlayGearRsp_proto protoreflect.FileDescriptor
+
+var file_GearActivityStartPlayGearRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x65, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1c, 0x47,
+ 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x50, 0x6c, 0x61, 0x79, 0x47, 0x65, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityStartPlayGearRsp_proto_rawDescOnce sync.Once
+ file_GearActivityStartPlayGearRsp_proto_rawDescData = file_GearActivityStartPlayGearRsp_proto_rawDesc
+)
+
+func file_GearActivityStartPlayGearRsp_proto_rawDescGZIP() []byte {
+ file_GearActivityStartPlayGearRsp_proto_rawDescOnce.Do(func() {
+ file_GearActivityStartPlayGearRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityStartPlayGearRsp_proto_rawDescData)
+ })
+ return file_GearActivityStartPlayGearRsp_proto_rawDescData
+}
+
+var file_GearActivityStartPlayGearRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityStartPlayGearRsp_proto_goTypes = []interface{}{
+ (*GearActivityStartPlayGearRsp)(nil), // 0: proto.GearActivityStartPlayGearRsp
+}
+var file_GearActivityStartPlayGearRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityStartPlayGearRsp_proto_init() }
+func file_GearActivityStartPlayGearRsp_proto_init() {
+ if File_GearActivityStartPlayGearRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityStartPlayGearRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityStartPlayGearRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityStartPlayGearRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityStartPlayGearRsp_proto_goTypes,
+ DependencyIndexes: file_GearActivityStartPlayGearRsp_proto_depIdxs,
+ MessageInfos: file_GearActivityStartPlayGearRsp_proto_msgTypes,
+ }.Build()
+ File_GearActivityStartPlayGearRsp_proto = out.File
+ file_GearActivityStartPlayGearRsp_proto_rawDesc = nil
+ file_GearActivityStartPlayGearRsp_proto_goTypes = nil
+ file_GearActivityStartPlayGearRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityStartPlayPictureReq.pb.go b/protocol/proto/GearActivityStartPlayPictureReq.pb.go
new file mode 100644
index 00000000..5c7ad9c3
--- /dev/null
+++ b/protocol/proto/GearActivityStartPlayPictureReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityStartPlayPictureReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24550
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GearActivityStartPlayPictureReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GearActivityStartPlayPictureReq) Reset() {
+ *x = GearActivityStartPlayPictureReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityStartPlayPictureReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityStartPlayPictureReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityStartPlayPictureReq) ProtoMessage() {}
+
+func (x *GearActivityStartPlayPictureReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityStartPlayPictureReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityStartPlayPictureReq.ProtoReflect.Descriptor instead.
+func (*GearActivityStartPlayPictureReq) Descriptor() ([]byte, []int) {
+ return file_GearActivityStartPlayPictureReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GearActivityStartPlayPictureReq_proto protoreflect.FileDescriptor
+
+var file_GearActivityStartPlayPictureReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x21,
+ 0x0a, 0x1f, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityStartPlayPictureReq_proto_rawDescOnce sync.Once
+ file_GearActivityStartPlayPictureReq_proto_rawDescData = file_GearActivityStartPlayPictureReq_proto_rawDesc
+)
+
+func file_GearActivityStartPlayPictureReq_proto_rawDescGZIP() []byte {
+ file_GearActivityStartPlayPictureReq_proto_rawDescOnce.Do(func() {
+ file_GearActivityStartPlayPictureReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityStartPlayPictureReq_proto_rawDescData)
+ })
+ return file_GearActivityStartPlayPictureReq_proto_rawDescData
+}
+
+var file_GearActivityStartPlayPictureReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityStartPlayPictureReq_proto_goTypes = []interface{}{
+ (*GearActivityStartPlayPictureReq)(nil), // 0: proto.GearActivityStartPlayPictureReq
+}
+var file_GearActivityStartPlayPictureReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityStartPlayPictureReq_proto_init() }
+func file_GearActivityStartPlayPictureReq_proto_init() {
+ if File_GearActivityStartPlayPictureReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityStartPlayPictureReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityStartPlayPictureReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityStartPlayPictureReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityStartPlayPictureReq_proto_goTypes,
+ DependencyIndexes: file_GearActivityStartPlayPictureReq_proto_depIdxs,
+ MessageInfos: file_GearActivityStartPlayPictureReq_proto_msgTypes,
+ }.Build()
+ File_GearActivityStartPlayPictureReq_proto = out.File
+ file_GearActivityStartPlayPictureReq_proto_rawDesc = nil
+ file_GearActivityStartPlayPictureReq_proto_goTypes = nil
+ file_GearActivityStartPlayPictureReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearActivityStartPlayPictureRsp.pb.go b/protocol/proto/GearActivityStartPlayPictureRsp.pb.go
new file mode 100644
index 00000000..ed49b676
--- /dev/null
+++ b/protocol/proto/GearActivityStartPlayPictureRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearActivityStartPlayPictureRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23388
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GearActivityStartPlayPictureRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GearActivityStartPlayPictureRsp) Reset() {
+ *x = GearActivityStartPlayPictureRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearActivityStartPlayPictureRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearActivityStartPlayPictureRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearActivityStartPlayPictureRsp) ProtoMessage() {}
+
+func (x *GearActivityStartPlayPictureRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GearActivityStartPlayPictureRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearActivityStartPlayPictureRsp.ProtoReflect.Descriptor instead.
+func (*GearActivityStartPlayPictureRsp) Descriptor() ([]byte, []int) {
+ return file_GearActivityStartPlayPictureRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearActivityStartPlayPictureRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GearActivityStartPlayPictureRsp_proto protoreflect.FileDescriptor
+
+var file_GearActivityStartPlayPictureRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x1f, 0x47, 0x65, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearActivityStartPlayPictureRsp_proto_rawDescOnce sync.Once
+ file_GearActivityStartPlayPictureRsp_proto_rawDescData = file_GearActivityStartPlayPictureRsp_proto_rawDesc
+)
+
+func file_GearActivityStartPlayPictureRsp_proto_rawDescGZIP() []byte {
+ file_GearActivityStartPlayPictureRsp_proto_rawDescOnce.Do(func() {
+ file_GearActivityStartPlayPictureRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearActivityStartPlayPictureRsp_proto_rawDescData)
+ })
+ return file_GearActivityStartPlayPictureRsp_proto_rawDescData
+}
+
+var file_GearActivityStartPlayPictureRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearActivityStartPlayPictureRsp_proto_goTypes = []interface{}{
+ (*GearActivityStartPlayPictureRsp)(nil), // 0: proto.GearActivityStartPlayPictureRsp
+}
+var file_GearActivityStartPlayPictureRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearActivityStartPlayPictureRsp_proto_init() }
+func file_GearActivityStartPlayPictureRsp_proto_init() {
+ if File_GearActivityStartPlayPictureRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearActivityStartPlayPictureRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearActivityStartPlayPictureRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearActivityStartPlayPictureRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearActivityStartPlayPictureRsp_proto_goTypes,
+ DependencyIndexes: file_GearActivityStartPlayPictureRsp_proto_depIdxs,
+ MessageInfos: file_GearActivityStartPlayPictureRsp_proto_msgTypes,
+ }.Build()
+ File_GearActivityStartPlayPictureRsp_proto = out.File
+ file_GearActivityStartPlayPictureRsp_proto_rawDesc = nil
+ file_GearActivityStartPlayPictureRsp_proto_goTypes = nil
+ file_GearActivityStartPlayPictureRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearColumnInfo.pb.go b/protocol/proto/GearColumnInfo.pb.go
new file mode 100644
index 00000000..ca50c444
--- /dev/null
+++ b/protocol/proto/GearColumnInfo.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearColumnInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GearColumnInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GearColumnIndex uint32 `protobuf:"varint,7,opt,name=gear_column_index,json=gearColumnIndex,proto3" json:"gear_column_index,omitempty"`
+ IsOverturn bool `protobuf:"varint,3,opt,name=is_overturn,json=isOverturn,proto3" json:"is_overturn,omitempty"`
+ HasGear bool `protobuf:"varint,2,opt,name=has_gear,json=hasGear,proto3" json:"has_gear,omitempty"`
+ GearId uint32 `protobuf:"varint,11,opt,name=gear_id,json=gearId,proto3" json:"gear_id,omitempty"`
+ PlacementLayer uint32 `protobuf:"varint,6,opt,name=placement_layer,json=placementLayer,proto3" json:"placement_layer,omitempty"`
+}
+
+func (x *GearColumnInfo) Reset() {
+ *x = GearColumnInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearColumnInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearColumnInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearColumnInfo) ProtoMessage() {}
+
+func (x *GearColumnInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GearColumnInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearColumnInfo.ProtoReflect.Descriptor instead.
+func (*GearColumnInfo) Descriptor() ([]byte, []int) {
+ return file_GearColumnInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearColumnInfo) GetGearColumnIndex() uint32 {
+ if x != nil {
+ return x.GearColumnIndex
+ }
+ return 0
+}
+
+func (x *GearColumnInfo) GetIsOverturn() bool {
+ if x != nil {
+ return x.IsOverturn
+ }
+ return false
+}
+
+func (x *GearColumnInfo) GetHasGear() bool {
+ if x != nil {
+ return x.HasGear
+ }
+ return false
+}
+
+func (x *GearColumnInfo) GetGearId() uint32 {
+ if x != nil {
+ return x.GearId
+ }
+ return 0
+}
+
+func (x *GearColumnInfo) GetPlacementLayer() uint32 {
+ if x != nil {
+ return x.PlacementLayer
+ }
+ return 0
+}
+
+var File_GearColumnInfo_proto protoreflect.FileDescriptor
+
+var file_GearColumnInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01,
+ 0x0a, 0x0e, 0x47, 0x65, 0x61, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x65, 0x61,
+ 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x69, 0x73, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6e, 0x12, 0x19, 0x0a,
+ 0x08, 0x68, 0x61, 0x73, 0x5f, 0x67, 0x65, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x68, 0x61, 0x73, 0x47, 0x65, 0x61, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x61, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x67, 0x65, 0x61, 0x72, 0x49,
+ 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x63,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearColumnInfo_proto_rawDescOnce sync.Once
+ file_GearColumnInfo_proto_rawDescData = file_GearColumnInfo_proto_rawDesc
+)
+
+func file_GearColumnInfo_proto_rawDescGZIP() []byte {
+ file_GearColumnInfo_proto_rawDescOnce.Do(func() {
+ file_GearColumnInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearColumnInfo_proto_rawDescData)
+ })
+ return file_GearColumnInfo_proto_rawDescData
+}
+
+var file_GearColumnInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearColumnInfo_proto_goTypes = []interface{}{
+ (*GearColumnInfo)(nil), // 0: proto.GearColumnInfo
+}
+var file_GearColumnInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearColumnInfo_proto_init() }
+func file_GearColumnInfo_proto_init() {
+ if File_GearColumnInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearColumnInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearColumnInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearColumnInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearColumnInfo_proto_goTypes,
+ DependencyIndexes: file_GearColumnInfo_proto_depIdxs,
+ MessageInfos: file_GearColumnInfo_proto_msgTypes,
+ }.Build()
+ File_GearColumnInfo_proto = out.File
+ file_GearColumnInfo_proto_rawDesc = nil
+ file_GearColumnInfo_proto_goTypes = nil
+ file_GearColumnInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GearLevelData.pb.go b/protocol/proto/GearLevelData.pb.go
new file mode 100644
index 00000000..0c176443
--- /dev/null
+++ b/protocol/proto/GearLevelData.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GearLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GearLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShortestTime uint32 `protobuf:"varint,8,opt,name=shortest_time,json=shortestTime,proto3" json:"shortest_time,omitempty"`
+ OpenTime uint32 `protobuf:"varint,11,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ LastDuration uint32 `protobuf:"varint,5,opt,name=last_duration,json=lastDuration,proto3" json:"last_duration,omitempty"`
+ LevelId uint32 `protobuf:"varint,12,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ IsFinished bool `protobuf:"varint,9,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ IsOpen bool `protobuf:"varint,3,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *GearLevelData) Reset() {
+ *x = GearLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GearLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GearLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GearLevelData) ProtoMessage() {}
+
+func (x *GearLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_GearLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GearLevelData.ProtoReflect.Descriptor instead.
+func (*GearLevelData) Descriptor() ([]byte, []int) {
+ return file_GearLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GearLevelData) GetShortestTime() uint32 {
+ if x != nil {
+ return x.ShortestTime
+ }
+ return 0
+}
+
+func (x *GearLevelData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *GearLevelData) GetLastDuration() uint32 {
+ if x != nil {
+ return x.LastDuration
+ }
+ return 0
+}
+
+func (x *GearLevelData) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *GearLevelData) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *GearLevelData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_GearLevelData_proto protoreflect.FileDescriptor
+
+var file_GearLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x65, 0x61, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a,
+ 0x0d, 0x47, 0x65, 0x61, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23,
+ 0x0a, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x73, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GearLevelData_proto_rawDescOnce sync.Once
+ file_GearLevelData_proto_rawDescData = file_GearLevelData_proto_rawDesc
+)
+
+func file_GearLevelData_proto_rawDescGZIP() []byte {
+ file_GearLevelData_proto_rawDescOnce.Do(func() {
+ file_GearLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_GearLevelData_proto_rawDescData)
+ })
+ return file_GearLevelData_proto_rawDescData
+}
+
+var file_GearLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GearLevelData_proto_goTypes = []interface{}{
+ (*GearLevelData)(nil), // 0: proto.GearLevelData
+}
+var file_GearLevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GearLevelData_proto_init() }
+func file_GearLevelData_proto_init() {
+ if File_GearLevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GearLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GearLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GearLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GearLevelData_proto_goTypes,
+ DependencyIndexes: file_GearLevelData_proto_depIdxs,
+ MessageInfos: file_GearLevelData_proto_msgTypes,
+ }.Build()
+ File_GearLevelData_proto = out.File
+ file_GearLevelData_proto_rawDesc = nil
+ file_GearLevelData_proto_goTypes = nil
+ file_GearLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GeneralMatchInfo.pb.go b/protocol/proto/GeneralMatchInfo.pb.go
new file mode 100644
index 00000000..12e3c84b
--- /dev/null
+++ b/protocol/proto/GeneralMatchInfo.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GeneralMatchInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GeneralMatchInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchParam uint32 `protobuf:"varint,1,opt,name=match_param,json=matchParam,proto3" json:"match_param,omitempty"`
+ MatchId uint32 `protobuf:"varint,9,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+ PlayerList []*MatchPlayerInfo `protobuf:"bytes,5,rep,name=player_list,json=playerList,proto3" json:"player_list,omitempty"`
+}
+
+func (x *GeneralMatchInfo) Reset() {
+ *x = GeneralMatchInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GeneralMatchInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GeneralMatchInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GeneralMatchInfo) ProtoMessage() {}
+
+func (x *GeneralMatchInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GeneralMatchInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GeneralMatchInfo.ProtoReflect.Descriptor instead.
+func (*GeneralMatchInfo) Descriptor() ([]byte, []int) {
+ return file_GeneralMatchInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GeneralMatchInfo) GetMatchParam() uint32 {
+ if x != nil {
+ return x.MatchParam
+ }
+ return 0
+}
+
+func (x *GeneralMatchInfo) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+func (x *GeneralMatchInfo) GetPlayerList() []*MatchPlayerInfo {
+ if x != nil {
+ return x.PlayerList
+ }
+ return nil
+}
+
+var File_GeneralMatchInfo_proto protoreflect.FileDescriptor
+
+var file_GeneralMatchInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x15, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GeneralMatchInfo_proto_rawDescOnce sync.Once
+ file_GeneralMatchInfo_proto_rawDescData = file_GeneralMatchInfo_proto_rawDesc
+)
+
+func file_GeneralMatchInfo_proto_rawDescGZIP() []byte {
+ file_GeneralMatchInfo_proto_rawDescOnce.Do(func() {
+ file_GeneralMatchInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GeneralMatchInfo_proto_rawDescData)
+ })
+ return file_GeneralMatchInfo_proto_rawDescData
+}
+
+var file_GeneralMatchInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GeneralMatchInfo_proto_goTypes = []interface{}{
+ (*GeneralMatchInfo)(nil), // 0: proto.GeneralMatchInfo
+ (*MatchPlayerInfo)(nil), // 1: proto.MatchPlayerInfo
+}
+var file_GeneralMatchInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GeneralMatchInfo.player_list:type_name -> proto.MatchPlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GeneralMatchInfo_proto_init() }
+func file_GeneralMatchInfo_proto_init() {
+ if File_GeneralMatchInfo_proto != nil {
+ return
+ }
+ file_MatchPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GeneralMatchInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GeneralMatchInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GeneralMatchInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GeneralMatchInfo_proto_goTypes,
+ DependencyIndexes: file_GeneralMatchInfo_proto_depIdxs,
+ MessageInfos: file_GeneralMatchInfo_proto_msgTypes,
+ }.Build()
+ File_GeneralMatchInfo_proto = out.File
+ file_GeneralMatchInfo_proto_rawDesc = nil
+ file_GeneralMatchInfo_proto_goTypes = nil
+ file_GeneralMatchInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetActivityInfoReq.pb.go b/protocol/proto/GetActivityInfoReq.pb.go
new file mode 100644
index 00000000..f93970c8
--- /dev/null
+++ b/protocol/proto/GetActivityInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetActivityInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2095
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetActivityInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityIdList []uint32 `protobuf:"varint,4,rep,packed,name=activity_id_list,json=activityIdList,proto3" json:"activity_id_list,omitempty"`
+}
+
+func (x *GetActivityInfoReq) Reset() {
+ *x = GetActivityInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetActivityInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetActivityInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetActivityInfoReq) ProtoMessage() {}
+
+func (x *GetActivityInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetActivityInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetActivityInfoReq.ProtoReflect.Descriptor instead.
+func (*GetActivityInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetActivityInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetActivityInfoReq) GetActivityIdList() []uint32 {
+ if x != nil {
+ return x.ActivityIdList
+ }
+ return nil
+}
+
+var File_GetActivityInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetActivityInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x3e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetActivityInfoReq_proto_rawDescOnce sync.Once
+ file_GetActivityInfoReq_proto_rawDescData = file_GetActivityInfoReq_proto_rawDesc
+)
+
+func file_GetActivityInfoReq_proto_rawDescGZIP() []byte {
+ file_GetActivityInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetActivityInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetActivityInfoReq_proto_rawDescData)
+ })
+ return file_GetActivityInfoReq_proto_rawDescData
+}
+
+var file_GetActivityInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetActivityInfoReq_proto_goTypes = []interface{}{
+ (*GetActivityInfoReq)(nil), // 0: proto.GetActivityInfoReq
+}
+var file_GetActivityInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetActivityInfoReq_proto_init() }
+func file_GetActivityInfoReq_proto_init() {
+ if File_GetActivityInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetActivityInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetActivityInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetActivityInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetActivityInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetActivityInfoReq_proto_depIdxs,
+ MessageInfos: file_GetActivityInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetActivityInfoReq_proto = out.File
+ file_GetActivityInfoReq_proto_rawDesc = nil
+ file_GetActivityInfoReq_proto_goTypes = nil
+ file_GetActivityInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetActivityInfoRsp.pb.go b/protocol/proto/GetActivityInfoRsp.pb.go
new file mode 100644
index 00000000..6cd2573f
--- /dev/null
+++ b/protocol/proto/GetActivityInfoRsp.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetActivityInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2041
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetActivityInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ActivityInfoList []*ActivityInfo `protobuf:"bytes,5,rep,name=activity_info_list,json=activityInfoList,proto3" json:"activity_info_list,omitempty"`
+ ActivatedSaleIdList []uint32 `protobuf:"varint,11,rep,packed,name=activated_sale_id_list,json=activatedSaleIdList,proto3" json:"activated_sale_id_list,omitempty"`
+ DisableTransferPointInteractionList []*Uint32Pair `protobuf:"bytes,10,rep,name=disable_transfer_point_interaction_list,json=disableTransferPointInteractionList,proto3" json:"disable_transfer_point_interaction_list,omitempty"`
+}
+
+func (x *GetActivityInfoRsp) Reset() {
+ *x = GetActivityInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetActivityInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetActivityInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetActivityInfoRsp) ProtoMessage() {}
+
+func (x *GetActivityInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetActivityInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetActivityInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetActivityInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetActivityInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetActivityInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetActivityInfoRsp) GetActivityInfoList() []*ActivityInfo {
+ if x != nil {
+ return x.ActivityInfoList
+ }
+ return nil
+}
+
+func (x *GetActivityInfoRsp) GetActivatedSaleIdList() []uint32 {
+ if x != nil {
+ return x.ActivatedSaleIdList
+ }
+ return nil
+}
+
+func (x *GetActivityInfoRsp) GetDisableTransferPointInteractionList() []*Uint32Pair {
+ if x != nil {
+ return x.DisableTransferPointInteractionList
+ }
+ return nil
+}
+
+var File_GetActivityInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetActivityInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x02, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x41, 0x0a, 0x12, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x53, 0x61, 0x6c, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x67, 0x0a, 0x27, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x50, 0x61, 0x69, 0x72, 0x52, 0x23, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetActivityInfoRsp_proto_rawDescOnce sync.Once
+ file_GetActivityInfoRsp_proto_rawDescData = file_GetActivityInfoRsp_proto_rawDesc
+)
+
+func file_GetActivityInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetActivityInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetActivityInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetActivityInfoRsp_proto_rawDescData)
+ })
+ return file_GetActivityInfoRsp_proto_rawDescData
+}
+
+var file_GetActivityInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetActivityInfoRsp_proto_goTypes = []interface{}{
+ (*GetActivityInfoRsp)(nil), // 0: proto.GetActivityInfoRsp
+ (*ActivityInfo)(nil), // 1: proto.ActivityInfo
+ (*Uint32Pair)(nil), // 2: proto.Uint32Pair
+}
+var file_GetActivityInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetActivityInfoRsp.activity_info_list:type_name -> proto.ActivityInfo
+ 2, // 1: proto.GetActivityInfoRsp.disable_transfer_point_interaction_list:type_name -> proto.Uint32Pair
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GetActivityInfoRsp_proto_init() }
+func file_GetActivityInfoRsp_proto_init() {
+ if File_GetActivityInfoRsp_proto != nil {
+ return
+ }
+ file_ActivityInfo_proto_init()
+ file_Uint32Pair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetActivityInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetActivityInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetActivityInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetActivityInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetActivityInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetActivityInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetActivityInfoRsp_proto = out.File
+ file_GetActivityInfoRsp_proto_rawDesc = nil
+ file_GetActivityInfoRsp_proto_goTypes = nil
+ file_GetActivityInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetActivityScheduleReq.pb.go b/protocol/proto/GetActivityScheduleReq.pb.go
new file mode 100644
index 00000000..6380cfe1
--- /dev/null
+++ b/protocol/proto/GetActivityScheduleReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetActivityScheduleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2136
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetActivityScheduleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetActivityScheduleReq) Reset() {
+ *x = GetActivityScheduleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetActivityScheduleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetActivityScheduleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetActivityScheduleReq) ProtoMessage() {}
+
+func (x *GetActivityScheduleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetActivityScheduleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetActivityScheduleReq.ProtoReflect.Descriptor instead.
+func (*GetActivityScheduleReq) Descriptor() ([]byte, []int) {
+ return file_GetActivityScheduleReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetActivityScheduleReq_proto protoreflect.FileDescriptor
+
+var file_GetActivityScheduleReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetActivityScheduleReq_proto_rawDescOnce sync.Once
+ file_GetActivityScheduleReq_proto_rawDescData = file_GetActivityScheduleReq_proto_rawDesc
+)
+
+func file_GetActivityScheduleReq_proto_rawDescGZIP() []byte {
+ file_GetActivityScheduleReq_proto_rawDescOnce.Do(func() {
+ file_GetActivityScheduleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetActivityScheduleReq_proto_rawDescData)
+ })
+ return file_GetActivityScheduleReq_proto_rawDescData
+}
+
+var file_GetActivityScheduleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetActivityScheduleReq_proto_goTypes = []interface{}{
+ (*GetActivityScheduleReq)(nil), // 0: proto.GetActivityScheduleReq
+}
+var file_GetActivityScheduleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetActivityScheduleReq_proto_init() }
+func file_GetActivityScheduleReq_proto_init() {
+ if File_GetActivityScheduleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetActivityScheduleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetActivityScheduleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetActivityScheduleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetActivityScheduleReq_proto_goTypes,
+ DependencyIndexes: file_GetActivityScheduleReq_proto_depIdxs,
+ MessageInfos: file_GetActivityScheduleReq_proto_msgTypes,
+ }.Build()
+ File_GetActivityScheduleReq_proto = out.File
+ file_GetActivityScheduleReq_proto_rawDesc = nil
+ file_GetActivityScheduleReq_proto_goTypes = nil
+ file_GetActivityScheduleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetActivityScheduleRsp.pb.go b/protocol/proto/GetActivityScheduleRsp.pb.go
new file mode 100644
index 00000000..9c950283
--- /dev/null
+++ b/protocol/proto/GetActivityScheduleRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetActivityScheduleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2107
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetActivityScheduleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityScheduleList []*ActivityScheduleInfo `protobuf:"bytes,9,rep,name=activity_schedule_list,json=activityScheduleList,proto3" json:"activity_schedule_list,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RemainFlySeaLampNum uint32 `protobuf:"varint,4,opt,name=remain_fly_sea_lamp_num,json=remainFlySeaLampNum,proto3" json:"remain_fly_sea_lamp_num,omitempty"`
+}
+
+func (x *GetActivityScheduleRsp) Reset() {
+ *x = GetActivityScheduleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetActivityScheduleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetActivityScheduleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetActivityScheduleRsp) ProtoMessage() {}
+
+func (x *GetActivityScheduleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetActivityScheduleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetActivityScheduleRsp.ProtoReflect.Descriptor instead.
+func (*GetActivityScheduleRsp) Descriptor() ([]byte, []int) {
+ return file_GetActivityScheduleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetActivityScheduleRsp) GetActivityScheduleList() []*ActivityScheduleInfo {
+ if x != nil {
+ return x.ActivityScheduleList
+ }
+ return nil
+}
+
+func (x *GetActivityScheduleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetActivityScheduleRsp) GetRemainFlySeaLampNum() uint32 {
+ if x != nil {
+ return x.RemainFlySeaLampNum
+ }
+ return 0
+}
+
+var File_GetActivityScheduleRsp_proto protoreflect.FileDescriptor
+
+var file_GetActivityScheduleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x51, 0x0a, 0x16,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x17, 0x72, 0x65, 0x6d,
+ 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x79, 0x5f, 0x73, 0x65, 0x61, 0x5f, 0x6c, 0x61, 0x6d, 0x70,
+ 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x61,
+ 0x69, 0x6e, 0x46, 0x6c, 0x79, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x4e, 0x75, 0x6d, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetActivityScheduleRsp_proto_rawDescOnce sync.Once
+ file_GetActivityScheduleRsp_proto_rawDescData = file_GetActivityScheduleRsp_proto_rawDesc
+)
+
+func file_GetActivityScheduleRsp_proto_rawDescGZIP() []byte {
+ file_GetActivityScheduleRsp_proto_rawDescOnce.Do(func() {
+ file_GetActivityScheduleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetActivityScheduleRsp_proto_rawDescData)
+ })
+ return file_GetActivityScheduleRsp_proto_rawDescData
+}
+
+var file_GetActivityScheduleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetActivityScheduleRsp_proto_goTypes = []interface{}{
+ (*GetActivityScheduleRsp)(nil), // 0: proto.GetActivityScheduleRsp
+ (*ActivityScheduleInfo)(nil), // 1: proto.ActivityScheduleInfo
+}
+var file_GetActivityScheduleRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetActivityScheduleRsp.activity_schedule_list:type_name -> proto.ActivityScheduleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetActivityScheduleRsp_proto_init() }
+func file_GetActivityScheduleRsp_proto_init() {
+ if File_GetActivityScheduleRsp_proto != nil {
+ return
+ }
+ file_ActivityScheduleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetActivityScheduleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetActivityScheduleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetActivityScheduleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetActivityScheduleRsp_proto_goTypes,
+ DependencyIndexes: file_GetActivityScheduleRsp_proto_depIdxs,
+ MessageInfos: file_GetActivityScheduleRsp_proto_msgTypes,
+ }.Build()
+ File_GetActivityScheduleRsp_proto = out.File
+ file_GetActivityScheduleRsp_proto_rawDesc = nil
+ file_GetActivityScheduleRsp_proto_goTypes = nil
+ file_GetActivityScheduleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetActivityShopSheetInfoReq.pb.go b/protocol/proto/GetActivityShopSheetInfoReq.pb.go
new file mode 100644
index 00000000..5d6bbf34
--- /dev/null
+++ b/protocol/proto/GetActivityShopSheetInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetActivityShopSheetInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 703
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetActivityShopSheetInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShopType uint32 `protobuf:"varint,7,opt,name=shop_type,json=shopType,proto3" json:"shop_type,omitempty"`
+}
+
+func (x *GetActivityShopSheetInfoReq) Reset() {
+ *x = GetActivityShopSheetInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetActivityShopSheetInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetActivityShopSheetInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetActivityShopSheetInfoReq) ProtoMessage() {}
+
+func (x *GetActivityShopSheetInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetActivityShopSheetInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetActivityShopSheetInfoReq.ProtoReflect.Descriptor instead.
+func (*GetActivityShopSheetInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetActivityShopSheetInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetActivityShopSheetInfoReq) GetShopType() uint32 {
+ if x != nil {
+ return x.ShopType
+ }
+ return 0
+}
+
+var File_GetActivityShopSheetInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetActivityShopSheetInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f,
+ 0x70, 0x53, 0x68, 0x65, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x1b, 0x47, 0x65,
+ 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x53, 0x68, 0x65,
+ 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x6f,
+ 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x68,
+ 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetActivityShopSheetInfoReq_proto_rawDescOnce sync.Once
+ file_GetActivityShopSheetInfoReq_proto_rawDescData = file_GetActivityShopSheetInfoReq_proto_rawDesc
+)
+
+func file_GetActivityShopSheetInfoReq_proto_rawDescGZIP() []byte {
+ file_GetActivityShopSheetInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetActivityShopSheetInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetActivityShopSheetInfoReq_proto_rawDescData)
+ })
+ return file_GetActivityShopSheetInfoReq_proto_rawDescData
+}
+
+var file_GetActivityShopSheetInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetActivityShopSheetInfoReq_proto_goTypes = []interface{}{
+ (*GetActivityShopSheetInfoReq)(nil), // 0: proto.GetActivityShopSheetInfoReq
+}
+var file_GetActivityShopSheetInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetActivityShopSheetInfoReq_proto_init() }
+func file_GetActivityShopSheetInfoReq_proto_init() {
+ if File_GetActivityShopSheetInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetActivityShopSheetInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetActivityShopSheetInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetActivityShopSheetInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetActivityShopSheetInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetActivityShopSheetInfoReq_proto_depIdxs,
+ MessageInfos: file_GetActivityShopSheetInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetActivityShopSheetInfoReq_proto = out.File
+ file_GetActivityShopSheetInfoReq_proto_rawDesc = nil
+ file_GetActivityShopSheetInfoReq_proto_goTypes = nil
+ file_GetActivityShopSheetInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetActivityShopSheetInfoRsp.pb.go b/protocol/proto/GetActivityShopSheetInfoRsp.pb.go
new file mode 100644
index 00000000..bc1f273d
--- /dev/null
+++ b/protocol/proto/GetActivityShopSheetInfoRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetActivityShopSheetInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 790
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetActivityShopSheetInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SheetInfoList []*ActivityShopSheetInfo `protobuf:"bytes,6,rep,name=sheet_info_list,json=sheetInfoList,proto3" json:"sheet_info_list,omitempty"`
+ ShopType uint32 `protobuf:"varint,8,opt,name=shop_type,json=shopType,proto3" json:"shop_type,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetActivityShopSheetInfoRsp) Reset() {
+ *x = GetActivityShopSheetInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetActivityShopSheetInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetActivityShopSheetInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetActivityShopSheetInfoRsp) ProtoMessage() {}
+
+func (x *GetActivityShopSheetInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetActivityShopSheetInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetActivityShopSheetInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetActivityShopSheetInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetActivityShopSheetInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetActivityShopSheetInfoRsp) GetSheetInfoList() []*ActivityShopSheetInfo {
+ if x != nil {
+ return x.SheetInfoList
+ }
+ return nil
+}
+
+func (x *GetActivityShopSheetInfoRsp) GetShopType() uint32 {
+ if x != nil {
+ return x.ShopType
+ }
+ return 0
+}
+
+func (x *GetActivityShopSheetInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetActivityShopSheetInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetActivityShopSheetInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f,
+ 0x70, 0x53, 0x68, 0x65, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x53, 0x68, 0x65, 0x65, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x68, 0x6f, 0x70, 0x53, 0x68, 0x65, 0x65, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x68, 0x65, 0x65, 0x74,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x53, 0x68, 0x6f, 0x70, 0x53, 0x68, 0x65, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d,
+ 0x73, 0x68, 0x65, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a,
+ 0x09, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetActivityShopSheetInfoRsp_proto_rawDescOnce sync.Once
+ file_GetActivityShopSheetInfoRsp_proto_rawDescData = file_GetActivityShopSheetInfoRsp_proto_rawDesc
+)
+
+func file_GetActivityShopSheetInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetActivityShopSheetInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetActivityShopSheetInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetActivityShopSheetInfoRsp_proto_rawDescData)
+ })
+ return file_GetActivityShopSheetInfoRsp_proto_rawDescData
+}
+
+var file_GetActivityShopSheetInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetActivityShopSheetInfoRsp_proto_goTypes = []interface{}{
+ (*GetActivityShopSheetInfoRsp)(nil), // 0: proto.GetActivityShopSheetInfoRsp
+ (*ActivityShopSheetInfo)(nil), // 1: proto.ActivityShopSheetInfo
+}
+var file_GetActivityShopSheetInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetActivityShopSheetInfoRsp.sheet_info_list:type_name -> proto.ActivityShopSheetInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetActivityShopSheetInfoRsp_proto_init() }
+func file_GetActivityShopSheetInfoRsp_proto_init() {
+ if File_GetActivityShopSheetInfoRsp_proto != nil {
+ return
+ }
+ file_ActivityShopSheetInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetActivityShopSheetInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetActivityShopSheetInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetActivityShopSheetInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetActivityShopSheetInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetActivityShopSheetInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetActivityShopSheetInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetActivityShopSheetInfoRsp_proto = out.File
+ file_GetActivityShopSheetInfoRsp_proto_rawDesc = nil
+ file_GetActivityShopSheetInfoRsp_proto_goTypes = nil
+ file_GetActivityShopSheetInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllActivatedBargainDataReq.pb.go b/protocol/proto/GetAllActivatedBargainDataReq.pb.go
new file mode 100644
index 00000000..845d3b0f
--- /dev/null
+++ b/protocol/proto/GetAllActivatedBargainDataReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllActivatedBargainDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 463
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAllActivatedBargainDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetAllActivatedBargainDataReq) Reset() {
+ *x = GetAllActivatedBargainDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllActivatedBargainDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllActivatedBargainDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllActivatedBargainDataReq) ProtoMessage() {}
+
+func (x *GetAllActivatedBargainDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllActivatedBargainDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllActivatedBargainDataReq.ProtoReflect.Descriptor instead.
+func (*GetAllActivatedBargainDataReq) Descriptor() ([]byte, []int) {
+ return file_GetAllActivatedBargainDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetAllActivatedBargainDataReq_proto protoreflect.FileDescriptor
+
+var file_GetAllActivatedBargainDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x64, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x1d,
+ 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x42,
+ 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetAllActivatedBargainDataReq_proto_rawDescOnce sync.Once
+ file_GetAllActivatedBargainDataReq_proto_rawDescData = file_GetAllActivatedBargainDataReq_proto_rawDesc
+)
+
+func file_GetAllActivatedBargainDataReq_proto_rawDescGZIP() []byte {
+ file_GetAllActivatedBargainDataReq_proto_rawDescOnce.Do(func() {
+ file_GetAllActivatedBargainDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllActivatedBargainDataReq_proto_rawDescData)
+ })
+ return file_GetAllActivatedBargainDataReq_proto_rawDescData
+}
+
+var file_GetAllActivatedBargainDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllActivatedBargainDataReq_proto_goTypes = []interface{}{
+ (*GetAllActivatedBargainDataReq)(nil), // 0: proto.GetAllActivatedBargainDataReq
+}
+var file_GetAllActivatedBargainDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAllActivatedBargainDataReq_proto_init() }
+func file_GetAllActivatedBargainDataReq_proto_init() {
+ if File_GetAllActivatedBargainDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllActivatedBargainDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllActivatedBargainDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllActivatedBargainDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllActivatedBargainDataReq_proto_goTypes,
+ DependencyIndexes: file_GetAllActivatedBargainDataReq_proto_depIdxs,
+ MessageInfos: file_GetAllActivatedBargainDataReq_proto_msgTypes,
+ }.Build()
+ File_GetAllActivatedBargainDataReq_proto = out.File
+ file_GetAllActivatedBargainDataReq_proto_rawDesc = nil
+ file_GetAllActivatedBargainDataReq_proto_goTypes = nil
+ file_GetAllActivatedBargainDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllActivatedBargainDataRsp.pb.go b/protocol/proto/GetAllActivatedBargainDataRsp.pb.go
new file mode 100644
index 00000000..d5ba8fcf
--- /dev/null
+++ b/protocol/proto/GetAllActivatedBargainDataRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllActivatedBargainDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 495
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetAllActivatedBargainDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SnapshotList []*BargainSnapshot `protobuf:"bytes,5,rep,name=snapshot_list,json=snapshotList,proto3" json:"snapshot_list,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetAllActivatedBargainDataRsp) Reset() {
+ *x = GetAllActivatedBargainDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllActivatedBargainDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllActivatedBargainDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllActivatedBargainDataRsp) ProtoMessage() {}
+
+func (x *GetAllActivatedBargainDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllActivatedBargainDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllActivatedBargainDataRsp.ProtoReflect.Descriptor instead.
+func (*GetAllActivatedBargainDataRsp) Descriptor() ([]byte, []int) {
+ return file_GetAllActivatedBargainDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAllActivatedBargainDataRsp) GetSnapshotList() []*BargainSnapshot {
+ if x != nil {
+ return x.SnapshotList
+ }
+ return nil
+}
+
+func (x *GetAllActivatedBargainDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetAllActivatedBargainDataRsp_proto protoreflect.FileDescriptor
+
+var file_GetAllActivatedBargainDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x64, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x42, 0x61,
+ 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73,
+ 0x68, 0x6f, 0x74, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllActivatedBargainDataRsp_proto_rawDescOnce sync.Once
+ file_GetAllActivatedBargainDataRsp_proto_rawDescData = file_GetAllActivatedBargainDataRsp_proto_rawDesc
+)
+
+func file_GetAllActivatedBargainDataRsp_proto_rawDescGZIP() []byte {
+ file_GetAllActivatedBargainDataRsp_proto_rawDescOnce.Do(func() {
+ file_GetAllActivatedBargainDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllActivatedBargainDataRsp_proto_rawDescData)
+ })
+ return file_GetAllActivatedBargainDataRsp_proto_rawDescData
+}
+
+var file_GetAllActivatedBargainDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllActivatedBargainDataRsp_proto_goTypes = []interface{}{
+ (*GetAllActivatedBargainDataRsp)(nil), // 0: proto.GetAllActivatedBargainDataRsp
+ (*BargainSnapshot)(nil), // 1: proto.BargainSnapshot
+}
+var file_GetAllActivatedBargainDataRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetAllActivatedBargainDataRsp.snapshot_list:type_name -> proto.BargainSnapshot
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetAllActivatedBargainDataRsp_proto_init() }
+func file_GetAllActivatedBargainDataRsp_proto_init() {
+ if File_GetAllActivatedBargainDataRsp_proto != nil {
+ return
+ }
+ file_BargainSnapshot_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllActivatedBargainDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllActivatedBargainDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllActivatedBargainDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllActivatedBargainDataRsp_proto_goTypes,
+ DependencyIndexes: file_GetAllActivatedBargainDataRsp_proto_depIdxs,
+ MessageInfos: file_GetAllActivatedBargainDataRsp_proto_msgTypes,
+ }.Build()
+ File_GetAllActivatedBargainDataRsp_proto = out.File
+ file_GetAllActivatedBargainDataRsp_proto_rawDesc = nil
+ file_GetAllActivatedBargainDataRsp_proto_goTypes = nil
+ file_GetAllActivatedBargainDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllH5ActivityInfoReq.pb.go b/protocol/proto/GetAllH5ActivityInfoReq.pb.go
new file mode 100644
index 00000000..d5728ba5
--- /dev/null
+++ b/protocol/proto/GetAllH5ActivityInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllH5ActivityInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5668
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAllH5ActivityInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetAllH5ActivityInfoReq) Reset() {
+ *x = GetAllH5ActivityInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllH5ActivityInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllH5ActivityInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllH5ActivityInfoReq) ProtoMessage() {}
+
+func (x *GetAllH5ActivityInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllH5ActivityInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllH5ActivityInfoReq.ProtoReflect.Descriptor instead.
+func (*GetAllH5ActivityInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetAllH5ActivityInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetAllH5ActivityInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetAllH5ActivityInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
+ 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllH5ActivityInfoReq_proto_rawDescOnce sync.Once
+ file_GetAllH5ActivityInfoReq_proto_rawDescData = file_GetAllH5ActivityInfoReq_proto_rawDesc
+)
+
+func file_GetAllH5ActivityInfoReq_proto_rawDescGZIP() []byte {
+ file_GetAllH5ActivityInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetAllH5ActivityInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllH5ActivityInfoReq_proto_rawDescData)
+ })
+ return file_GetAllH5ActivityInfoReq_proto_rawDescData
+}
+
+var file_GetAllH5ActivityInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllH5ActivityInfoReq_proto_goTypes = []interface{}{
+ (*GetAllH5ActivityInfoReq)(nil), // 0: proto.GetAllH5ActivityInfoReq
+}
+var file_GetAllH5ActivityInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAllH5ActivityInfoReq_proto_init() }
+func file_GetAllH5ActivityInfoReq_proto_init() {
+ if File_GetAllH5ActivityInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllH5ActivityInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllH5ActivityInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllH5ActivityInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllH5ActivityInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetAllH5ActivityInfoReq_proto_depIdxs,
+ MessageInfos: file_GetAllH5ActivityInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetAllH5ActivityInfoReq_proto = out.File
+ file_GetAllH5ActivityInfoReq_proto_rawDesc = nil
+ file_GetAllH5ActivityInfoReq_proto_goTypes = nil
+ file_GetAllH5ActivityInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllH5ActivityInfoRsp.pb.go b/protocol/proto/GetAllH5ActivityInfoRsp.pb.go
new file mode 100644
index 00000000..daa96b26
--- /dev/null
+++ b/protocol/proto/GetAllH5ActivityInfoRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllH5ActivityInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5676
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetAllH5ActivityInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ H5ActivityInfoList []*H5ActivityInfo `protobuf:"bytes,15,rep,name=h5_activity_info_list,json=h5ActivityInfoList,proto3" json:"h5_activity_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ClientRedDotTimestamp uint32 `protobuf:"varint,12,opt,name=client_red_dot_timestamp,json=clientRedDotTimestamp,proto3" json:"client_red_dot_timestamp,omitempty"`
+}
+
+func (x *GetAllH5ActivityInfoRsp) Reset() {
+ *x = GetAllH5ActivityInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllH5ActivityInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllH5ActivityInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllH5ActivityInfoRsp) ProtoMessage() {}
+
+func (x *GetAllH5ActivityInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllH5ActivityInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllH5ActivityInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetAllH5ActivityInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetAllH5ActivityInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAllH5ActivityInfoRsp) GetH5ActivityInfoList() []*H5ActivityInfo {
+ if x != nil {
+ return x.H5ActivityInfoList
+ }
+ return nil
+}
+
+func (x *GetAllH5ActivityInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetAllH5ActivityInfoRsp) GetClientRedDotTimestamp() uint32 {
+ if x != nil {
+ return x.ClientRedDotTimestamp
+ }
+ return 0
+}
+
+var File_GetAllH5ActivityInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetAllH5ActivityInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, 0x0a,
+ 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x15, 0x68, 0x35, 0x5f, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12,
+ 0x68, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x18,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x74, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x44, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllH5ActivityInfoRsp_proto_rawDescOnce sync.Once
+ file_GetAllH5ActivityInfoRsp_proto_rawDescData = file_GetAllH5ActivityInfoRsp_proto_rawDesc
+)
+
+func file_GetAllH5ActivityInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetAllH5ActivityInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetAllH5ActivityInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllH5ActivityInfoRsp_proto_rawDescData)
+ })
+ return file_GetAllH5ActivityInfoRsp_proto_rawDescData
+}
+
+var file_GetAllH5ActivityInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllH5ActivityInfoRsp_proto_goTypes = []interface{}{
+ (*GetAllH5ActivityInfoRsp)(nil), // 0: proto.GetAllH5ActivityInfoRsp
+ (*H5ActivityInfo)(nil), // 1: proto.H5ActivityInfo
+}
+var file_GetAllH5ActivityInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetAllH5ActivityInfoRsp.h5_activity_info_list:type_name -> proto.H5ActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetAllH5ActivityInfoRsp_proto_init() }
+func file_GetAllH5ActivityInfoRsp_proto_init() {
+ if File_GetAllH5ActivityInfoRsp_proto != nil {
+ return
+ }
+ file_H5ActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllH5ActivityInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllH5ActivityInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllH5ActivityInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllH5ActivityInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetAllH5ActivityInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetAllH5ActivityInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetAllH5ActivityInfoRsp_proto = out.File
+ file_GetAllH5ActivityInfoRsp_proto_rawDesc = nil
+ file_GetAllH5ActivityInfoRsp_proto_goTypes = nil
+ file_GetAllH5ActivityInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllMailNotify.pb.go b/protocol/proto/GetAllMailNotify.pb.go
new file mode 100644
index 00000000..abd09f72
--- /dev/null
+++ b/protocol/proto/GetAllMailNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllMailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1497
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAllMailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCollected bool `protobuf:"varint,13,opt,name=is_collected,json=isCollected,proto3" json:"is_collected,omitempty"`
+}
+
+func (x *GetAllMailNotify) Reset() {
+ *x = GetAllMailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllMailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllMailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllMailNotify) ProtoMessage() {}
+
+func (x *GetAllMailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllMailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllMailNotify.ProtoReflect.Descriptor instead.
+func (*GetAllMailNotify) Descriptor() ([]byte, []int) {
+ return file_GetAllMailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAllMailNotify) GetIsCollected() bool {
+ if x != nil {
+ return x.IsCollected
+ }
+ return false
+}
+
+var File_GetAllMailNotify_proto protoreflect.FileDescriptor
+
+var file_GetAllMailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x35, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
+ 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllMailNotify_proto_rawDescOnce sync.Once
+ file_GetAllMailNotify_proto_rawDescData = file_GetAllMailNotify_proto_rawDesc
+)
+
+func file_GetAllMailNotify_proto_rawDescGZIP() []byte {
+ file_GetAllMailNotify_proto_rawDescOnce.Do(func() {
+ file_GetAllMailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllMailNotify_proto_rawDescData)
+ })
+ return file_GetAllMailNotify_proto_rawDescData
+}
+
+var file_GetAllMailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllMailNotify_proto_goTypes = []interface{}{
+ (*GetAllMailNotify)(nil), // 0: proto.GetAllMailNotify
+}
+var file_GetAllMailNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAllMailNotify_proto_init() }
+func file_GetAllMailNotify_proto_init() {
+ if File_GetAllMailNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllMailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllMailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllMailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllMailNotify_proto_goTypes,
+ DependencyIndexes: file_GetAllMailNotify_proto_depIdxs,
+ MessageInfos: file_GetAllMailNotify_proto_msgTypes,
+ }.Build()
+ File_GetAllMailNotify_proto = out.File
+ file_GetAllMailNotify_proto_rawDesc = nil
+ file_GetAllMailNotify_proto_goTypes = nil
+ file_GetAllMailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllMailReq.pb.go b/protocol/proto/GetAllMailReq.pb.go
new file mode 100644
index 00000000..dc63dc2f
--- /dev/null
+++ b/protocol/proto/GetAllMailReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllMailReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1431
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAllMailReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCollected bool `protobuf:"varint,7,opt,name=is_collected,json=isCollected,proto3" json:"is_collected,omitempty"`
+}
+
+func (x *GetAllMailReq) Reset() {
+ *x = GetAllMailReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllMailReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllMailReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllMailReq) ProtoMessage() {}
+
+func (x *GetAllMailReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllMailReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllMailReq.ProtoReflect.Descriptor instead.
+func (*GetAllMailReq) Descriptor() ([]byte, []int) {
+ return file_GetAllMailReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAllMailReq) GetIsCollected() bool {
+ if x != nil {
+ return x.IsCollected
+ }
+ return false
+}
+
+var File_GetAllMailReq_proto protoreflect.FileDescriptor
+
+var file_GetAllMailReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x0d,
+ 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a,
+ 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllMailReq_proto_rawDescOnce sync.Once
+ file_GetAllMailReq_proto_rawDescData = file_GetAllMailReq_proto_rawDesc
+)
+
+func file_GetAllMailReq_proto_rawDescGZIP() []byte {
+ file_GetAllMailReq_proto_rawDescOnce.Do(func() {
+ file_GetAllMailReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllMailReq_proto_rawDescData)
+ })
+ return file_GetAllMailReq_proto_rawDescData
+}
+
+var file_GetAllMailReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllMailReq_proto_goTypes = []interface{}{
+ (*GetAllMailReq)(nil), // 0: proto.GetAllMailReq
+}
+var file_GetAllMailReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAllMailReq_proto_init() }
+func file_GetAllMailReq_proto_init() {
+ if File_GetAllMailReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllMailReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllMailReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllMailReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllMailReq_proto_goTypes,
+ DependencyIndexes: file_GetAllMailReq_proto_depIdxs,
+ MessageInfos: file_GetAllMailReq_proto_msgTypes,
+ }.Build()
+ File_GetAllMailReq_proto = out.File
+ file_GetAllMailReq_proto_rawDesc = nil
+ file_GetAllMailReq_proto_goTypes = nil
+ file_GetAllMailReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllMailResultNotify.pb.go b/protocol/proto/GetAllMailResultNotify.pb.go
new file mode 100644
index 00000000..548ebe51
--- /dev/null
+++ b/protocol/proto/GetAllMailResultNotify.pb.go
@@ -0,0 +1,218 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllMailResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1481
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetAllMailResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Transaction string `protobuf:"bytes,9,opt,name=transaction,proto3" json:"transaction,omitempty"`
+ MailList []*MailData `protobuf:"bytes,5,rep,name=mail_list,json=mailList,proto3" json:"mail_list,omitempty"`
+ PageIndex uint32 `protobuf:"varint,11,opt,name=page_index,json=pageIndex,proto3" json:"page_index,omitempty"`
+ TotalPageCount uint32 `protobuf:"varint,4,opt,name=total_page_count,json=totalPageCount,proto3" json:"total_page_count,omitempty"`
+ IsCollected bool `protobuf:"varint,7,opt,name=is_collected,json=isCollected,proto3" json:"is_collected,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetAllMailResultNotify) Reset() {
+ *x = GetAllMailResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllMailResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllMailResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllMailResultNotify) ProtoMessage() {}
+
+func (x *GetAllMailResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllMailResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllMailResultNotify.ProtoReflect.Descriptor instead.
+func (*GetAllMailResultNotify) Descriptor() ([]byte, []int) {
+ return file_GetAllMailResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAllMailResultNotify) GetTransaction() string {
+ if x != nil {
+ return x.Transaction
+ }
+ return ""
+}
+
+func (x *GetAllMailResultNotify) GetMailList() []*MailData {
+ if x != nil {
+ return x.MailList
+ }
+ return nil
+}
+
+func (x *GetAllMailResultNotify) GetPageIndex() uint32 {
+ if x != nil {
+ return x.PageIndex
+ }
+ return 0
+}
+
+func (x *GetAllMailResultNotify) GetTotalPageCount() uint32 {
+ if x != nil {
+ return x.TotalPageCount
+ }
+ return 0
+}
+
+func (x *GetAllMailResultNotify) GetIsCollected() bool {
+ if x != nil {
+ return x.IsCollected
+ }
+ return false
+}
+
+func (x *GetAllMailResultNotify) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetAllMailResultNotify_proto protoreflect.FileDescriptor
+
+var file_GetAllMailResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x4d, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
+ 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61,
+ 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
+ 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f,
+ 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllMailResultNotify_proto_rawDescOnce sync.Once
+ file_GetAllMailResultNotify_proto_rawDescData = file_GetAllMailResultNotify_proto_rawDesc
+)
+
+func file_GetAllMailResultNotify_proto_rawDescGZIP() []byte {
+ file_GetAllMailResultNotify_proto_rawDescOnce.Do(func() {
+ file_GetAllMailResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllMailResultNotify_proto_rawDescData)
+ })
+ return file_GetAllMailResultNotify_proto_rawDescData
+}
+
+var file_GetAllMailResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllMailResultNotify_proto_goTypes = []interface{}{
+ (*GetAllMailResultNotify)(nil), // 0: proto.GetAllMailResultNotify
+ (*MailData)(nil), // 1: proto.MailData
+}
+var file_GetAllMailResultNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GetAllMailResultNotify.mail_list:type_name -> proto.MailData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetAllMailResultNotify_proto_init() }
+func file_GetAllMailResultNotify_proto_init() {
+ if File_GetAllMailResultNotify_proto != nil {
+ return
+ }
+ file_MailData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllMailResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllMailResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllMailResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllMailResultNotify_proto_goTypes,
+ DependencyIndexes: file_GetAllMailResultNotify_proto_depIdxs,
+ MessageInfos: file_GetAllMailResultNotify_proto_msgTypes,
+ }.Build()
+ File_GetAllMailResultNotify_proto = out.File
+ file_GetAllMailResultNotify_proto_rawDesc = nil
+ file_GetAllMailResultNotify_proto_goTypes = nil
+ file_GetAllMailResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllMailRsp.pb.go b/protocol/proto/GetAllMailRsp.pb.go
new file mode 100644
index 00000000..01345955
--- /dev/null
+++ b/protocol/proto/GetAllMailRsp.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllMailRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1475
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetAllMailRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MailList []*MailData `protobuf:"bytes,14,rep,name=mail_list,json=mailList,proto3" json:"mail_list,omitempty"`
+ IsCollected bool `protobuf:"varint,1,opt,name=is_collected,json=isCollected,proto3" json:"is_collected,omitempty"`
+ IsTruncated bool `protobuf:"varint,2,opt,name=is_truncated,json=isTruncated,proto3" json:"is_truncated,omitempty"`
+}
+
+func (x *GetAllMailRsp) Reset() {
+ *x = GetAllMailRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllMailRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllMailRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllMailRsp) ProtoMessage() {}
+
+func (x *GetAllMailRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllMailRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllMailRsp.ProtoReflect.Descriptor instead.
+func (*GetAllMailRsp) Descriptor() ([]byte, []int) {
+ return file_GetAllMailRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAllMailRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetAllMailRsp) GetMailList() []*MailData {
+ if x != nil {
+ return x.MailList
+ }
+ return nil
+}
+
+func (x *GetAllMailRsp) GetIsCollected() bool {
+ if x != nil {
+ return x.IsCollected
+ }
+ return false
+}
+
+func (x *GetAllMailRsp) GetIsTruncated() bool {
+ if x != nil {
+ return x.IsTruncated
+ }
+ return false
+}
+
+var File_GetAllMailRsp_proto protoreflect.FileDescriptor
+
+var file_GetAllMailRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x4d, 0x61,
+ 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a,
+ 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6c,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x61,
+ 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73,
+ 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f,
+ 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllMailRsp_proto_rawDescOnce sync.Once
+ file_GetAllMailRsp_proto_rawDescData = file_GetAllMailRsp_proto_rawDesc
+)
+
+func file_GetAllMailRsp_proto_rawDescGZIP() []byte {
+ file_GetAllMailRsp_proto_rawDescOnce.Do(func() {
+ file_GetAllMailRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllMailRsp_proto_rawDescData)
+ })
+ return file_GetAllMailRsp_proto_rawDescData
+}
+
+var file_GetAllMailRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllMailRsp_proto_goTypes = []interface{}{
+ (*GetAllMailRsp)(nil), // 0: proto.GetAllMailRsp
+ (*MailData)(nil), // 1: proto.MailData
+}
+var file_GetAllMailRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetAllMailRsp.mail_list:type_name -> proto.MailData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetAllMailRsp_proto_init() }
+func file_GetAllMailRsp_proto_init() {
+ if File_GetAllMailRsp_proto != nil {
+ return
+ }
+ file_MailData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllMailRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllMailRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllMailRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllMailRsp_proto_goTypes,
+ DependencyIndexes: file_GetAllMailRsp_proto_depIdxs,
+ MessageInfos: file_GetAllMailRsp_proto_msgTypes,
+ }.Build()
+ File_GetAllMailRsp_proto = out.File
+ file_GetAllMailRsp_proto_rawDesc = nil
+ file_GetAllMailRsp_proto_goTypes = nil
+ file_GetAllMailRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllSceneGalleryInfoReq.pb.go b/protocol/proto/GetAllSceneGalleryInfoReq.pb.go
new file mode 100644
index 00000000..ebaee2d9
--- /dev/null
+++ b/protocol/proto/GetAllSceneGalleryInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllSceneGalleryInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5503
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAllSceneGalleryInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetAllSceneGalleryInfoReq) Reset() {
+ *x = GetAllSceneGalleryInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllSceneGalleryInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllSceneGalleryInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllSceneGalleryInfoReq) ProtoMessage() {}
+
+func (x *GetAllSceneGalleryInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllSceneGalleryInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllSceneGalleryInfoReq.ProtoReflect.Descriptor instead.
+func (*GetAllSceneGalleryInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetAllSceneGalleryInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetAllSceneGalleryInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetAllSceneGalleryInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41,
+ 0x6c, 0x6c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllSceneGalleryInfoReq_proto_rawDescOnce sync.Once
+ file_GetAllSceneGalleryInfoReq_proto_rawDescData = file_GetAllSceneGalleryInfoReq_proto_rawDesc
+)
+
+func file_GetAllSceneGalleryInfoReq_proto_rawDescGZIP() []byte {
+ file_GetAllSceneGalleryInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetAllSceneGalleryInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllSceneGalleryInfoReq_proto_rawDescData)
+ })
+ return file_GetAllSceneGalleryInfoReq_proto_rawDescData
+}
+
+var file_GetAllSceneGalleryInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllSceneGalleryInfoReq_proto_goTypes = []interface{}{
+ (*GetAllSceneGalleryInfoReq)(nil), // 0: proto.GetAllSceneGalleryInfoReq
+}
+var file_GetAllSceneGalleryInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAllSceneGalleryInfoReq_proto_init() }
+func file_GetAllSceneGalleryInfoReq_proto_init() {
+ if File_GetAllSceneGalleryInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllSceneGalleryInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllSceneGalleryInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllSceneGalleryInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllSceneGalleryInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetAllSceneGalleryInfoReq_proto_depIdxs,
+ MessageInfos: file_GetAllSceneGalleryInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetAllSceneGalleryInfoReq_proto = out.File
+ file_GetAllSceneGalleryInfoReq_proto_rawDesc = nil
+ file_GetAllSceneGalleryInfoReq_proto_goTypes = nil
+ file_GetAllSceneGalleryInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllSceneGalleryInfoRsp.pb.go b/protocol/proto/GetAllSceneGalleryInfoRsp.pb.go
new file mode 100644
index 00000000..dfd4c794
--- /dev/null
+++ b/protocol/proto/GetAllSceneGalleryInfoRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllSceneGalleryInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5590
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetAllSceneGalleryInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryInfoList []*SceneGalleryInfo `protobuf:"bytes,12,rep,name=gallery_info_list,json=galleryInfoList,proto3" json:"gallery_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetAllSceneGalleryInfoRsp) Reset() {
+ *x = GetAllSceneGalleryInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllSceneGalleryInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllSceneGalleryInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllSceneGalleryInfoRsp) ProtoMessage() {}
+
+func (x *GetAllSceneGalleryInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllSceneGalleryInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllSceneGalleryInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetAllSceneGalleryInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetAllSceneGalleryInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAllSceneGalleryInfoRsp) GetGalleryInfoList() []*SceneGalleryInfo {
+ if x != nil {
+ return x.GalleryInfoList
+ }
+ return nil
+}
+
+func (x *GetAllSceneGalleryInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetAllSceneGalleryInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetAllSceneGalleryInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x43, 0x0a,
+ 0x11, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0f, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllSceneGalleryInfoRsp_proto_rawDescOnce sync.Once
+ file_GetAllSceneGalleryInfoRsp_proto_rawDescData = file_GetAllSceneGalleryInfoRsp_proto_rawDesc
+)
+
+func file_GetAllSceneGalleryInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetAllSceneGalleryInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetAllSceneGalleryInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllSceneGalleryInfoRsp_proto_rawDescData)
+ })
+ return file_GetAllSceneGalleryInfoRsp_proto_rawDescData
+}
+
+var file_GetAllSceneGalleryInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllSceneGalleryInfoRsp_proto_goTypes = []interface{}{
+ (*GetAllSceneGalleryInfoRsp)(nil), // 0: proto.GetAllSceneGalleryInfoRsp
+ (*SceneGalleryInfo)(nil), // 1: proto.SceneGalleryInfo
+}
+var file_GetAllSceneGalleryInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetAllSceneGalleryInfoRsp.gallery_info_list:type_name -> proto.SceneGalleryInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetAllSceneGalleryInfoRsp_proto_init() }
+func file_GetAllSceneGalleryInfoRsp_proto_init() {
+ if File_GetAllSceneGalleryInfoRsp_proto != nil {
+ return
+ }
+ file_SceneGalleryInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllSceneGalleryInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllSceneGalleryInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllSceneGalleryInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllSceneGalleryInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetAllSceneGalleryInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetAllSceneGalleryInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetAllSceneGalleryInfoRsp_proto = out.File
+ file_GetAllSceneGalleryInfoRsp_proto_rawDesc = nil
+ file_GetAllSceneGalleryInfoRsp_proto_goTypes = nil
+ file_GetAllSceneGalleryInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllUnlockNameCardReq.pb.go b/protocol/proto/GetAllUnlockNameCardReq.pb.go
new file mode 100644
index 00000000..b172852b
--- /dev/null
+++ b/protocol/proto/GetAllUnlockNameCardReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllUnlockNameCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4027
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAllUnlockNameCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetAllUnlockNameCardReq) Reset() {
+ *x = GetAllUnlockNameCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllUnlockNameCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllUnlockNameCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllUnlockNameCardReq) ProtoMessage() {}
+
+func (x *GetAllUnlockNameCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllUnlockNameCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllUnlockNameCardReq.ProtoReflect.Descriptor instead.
+func (*GetAllUnlockNameCardReq) Descriptor() ([]byte, []int) {
+ return file_GetAllUnlockNameCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetAllUnlockNameCardReq_proto protoreflect.FileDescriptor
+
+var file_GetAllUnlockNameCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61,
+ 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
+ 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllUnlockNameCardReq_proto_rawDescOnce sync.Once
+ file_GetAllUnlockNameCardReq_proto_rawDescData = file_GetAllUnlockNameCardReq_proto_rawDesc
+)
+
+func file_GetAllUnlockNameCardReq_proto_rawDescGZIP() []byte {
+ file_GetAllUnlockNameCardReq_proto_rawDescOnce.Do(func() {
+ file_GetAllUnlockNameCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllUnlockNameCardReq_proto_rawDescData)
+ })
+ return file_GetAllUnlockNameCardReq_proto_rawDescData
+}
+
+var file_GetAllUnlockNameCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllUnlockNameCardReq_proto_goTypes = []interface{}{
+ (*GetAllUnlockNameCardReq)(nil), // 0: proto.GetAllUnlockNameCardReq
+}
+var file_GetAllUnlockNameCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAllUnlockNameCardReq_proto_init() }
+func file_GetAllUnlockNameCardReq_proto_init() {
+ if File_GetAllUnlockNameCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllUnlockNameCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllUnlockNameCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllUnlockNameCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllUnlockNameCardReq_proto_goTypes,
+ DependencyIndexes: file_GetAllUnlockNameCardReq_proto_depIdxs,
+ MessageInfos: file_GetAllUnlockNameCardReq_proto_msgTypes,
+ }.Build()
+ File_GetAllUnlockNameCardReq_proto = out.File
+ file_GetAllUnlockNameCardReq_proto_rawDesc = nil
+ file_GetAllUnlockNameCardReq_proto_goTypes = nil
+ file_GetAllUnlockNameCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAllUnlockNameCardRsp.pb.go b/protocol/proto/GetAllUnlockNameCardRsp.pb.go
new file mode 100644
index 00000000..21d91aeb
--- /dev/null
+++ b/protocol/proto/GetAllUnlockNameCardRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAllUnlockNameCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4094
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAllUnlockNameCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ NameCardList []uint32 `protobuf:"varint,14,rep,packed,name=name_card_list,json=nameCardList,proto3" json:"name_card_list,omitempty"`
+}
+
+func (x *GetAllUnlockNameCardRsp) Reset() {
+ *x = GetAllUnlockNameCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAllUnlockNameCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAllUnlockNameCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAllUnlockNameCardRsp) ProtoMessage() {}
+
+func (x *GetAllUnlockNameCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAllUnlockNameCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAllUnlockNameCardRsp.ProtoReflect.Descriptor instead.
+func (*GetAllUnlockNameCardRsp) Descriptor() ([]byte, []int) {
+ return file_GetAllUnlockNameCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAllUnlockNameCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetAllUnlockNameCardRsp) GetNameCardList() []uint32 {
+ if x != nil {
+ return x.NameCardList
+ }
+ return nil
+}
+
+var File_GetAllUnlockNameCardRsp_proto protoreflect.FileDescriptor
+
+var file_GetAllUnlockNameCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61,
+ 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
+ 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6e,
+ 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAllUnlockNameCardRsp_proto_rawDescOnce sync.Once
+ file_GetAllUnlockNameCardRsp_proto_rawDescData = file_GetAllUnlockNameCardRsp_proto_rawDesc
+)
+
+func file_GetAllUnlockNameCardRsp_proto_rawDescGZIP() []byte {
+ file_GetAllUnlockNameCardRsp_proto_rawDescOnce.Do(func() {
+ file_GetAllUnlockNameCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAllUnlockNameCardRsp_proto_rawDescData)
+ })
+ return file_GetAllUnlockNameCardRsp_proto_rawDescData
+}
+
+var file_GetAllUnlockNameCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAllUnlockNameCardRsp_proto_goTypes = []interface{}{
+ (*GetAllUnlockNameCardRsp)(nil), // 0: proto.GetAllUnlockNameCardRsp
+}
+var file_GetAllUnlockNameCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAllUnlockNameCardRsp_proto_init() }
+func file_GetAllUnlockNameCardRsp_proto_init() {
+ if File_GetAllUnlockNameCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAllUnlockNameCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAllUnlockNameCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAllUnlockNameCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAllUnlockNameCardRsp_proto_goTypes,
+ DependencyIndexes: file_GetAllUnlockNameCardRsp_proto_depIdxs,
+ MessageInfos: file_GetAllUnlockNameCardRsp_proto_msgTypes,
+ }.Build()
+ File_GetAllUnlockNameCardRsp_proto = out.File
+ file_GetAllUnlockNameCardRsp_proto_rawDesc = nil
+ file_GetAllUnlockNameCardRsp_proto_goTypes = nil
+ file_GetAllUnlockNameCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAreaExplorePointReq.pb.go b/protocol/proto/GetAreaExplorePointReq.pb.go
new file mode 100644
index 00000000..d0184a82
--- /dev/null
+++ b/protocol/proto/GetAreaExplorePointReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAreaExplorePointReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 241
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAreaExplorePointReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaIdList []uint32 `protobuf:"varint,14,rep,packed,name=area_id_list,json=areaIdList,proto3" json:"area_id_list,omitempty"`
+}
+
+func (x *GetAreaExplorePointReq) Reset() {
+ *x = GetAreaExplorePointReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAreaExplorePointReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAreaExplorePointReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAreaExplorePointReq) ProtoMessage() {}
+
+func (x *GetAreaExplorePointReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAreaExplorePointReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAreaExplorePointReq.ProtoReflect.Descriptor instead.
+func (*GetAreaExplorePointReq) Descriptor() ([]byte, []int) {
+ return file_GetAreaExplorePointReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAreaExplorePointReq) GetAreaIdList() []uint32 {
+ if x != nil {
+ return x.AreaIdList
+ }
+ return nil
+}
+
+var File_GetAreaExplorePointReq_proto protoreflect.FileDescriptor
+
+var file_GetAreaExplorePointReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61,
+ 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x20, 0x0a, 0x0c, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAreaExplorePointReq_proto_rawDescOnce sync.Once
+ file_GetAreaExplorePointReq_proto_rawDescData = file_GetAreaExplorePointReq_proto_rawDesc
+)
+
+func file_GetAreaExplorePointReq_proto_rawDescGZIP() []byte {
+ file_GetAreaExplorePointReq_proto_rawDescOnce.Do(func() {
+ file_GetAreaExplorePointReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAreaExplorePointReq_proto_rawDescData)
+ })
+ return file_GetAreaExplorePointReq_proto_rawDescData
+}
+
+var file_GetAreaExplorePointReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAreaExplorePointReq_proto_goTypes = []interface{}{
+ (*GetAreaExplorePointReq)(nil), // 0: proto.GetAreaExplorePointReq
+}
+var file_GetAreaExplorePointReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAreaExplorePointReq_proto_init() }
+func file_GetAreaExplorePointReq_proto_init() {
+ if File_GetAreaExplorePointReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAreaExplorePointReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAreaExplorePointReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAreaExplorePointReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAreaExplorePointReq_proto_goTypes,
+ DependencyIndexes: file_GetAreaExplorePointReq_proto_depIdxs,
+ MessageInfos: file_GetAreaExplorePointReq_proto_msgTypes,
+ }.Build()
+ File_GetAreaExplorePointReq_proto = out.File
+ file_GetAreaExplorePointReq_proto_rawDesc = nil
+ file_GetAreaExplorePointReq_proto_goTypes = nil
+ file_GetAreaExplorePointReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAreaExplorePointRsp.pb.go b/protocol/proto/GetAreaExplorePointRsp.pb.go
new file mode 100644
index 00000000..daee4598
--- /dev/null
+++ b/protocol/proto/GetAreaExplorePointRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAreaExplorePointRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 249
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetAreaExplorePointRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AreaIdList []uint32 `protobuf:"varint,11,rep,packed,name=area_id_list,json=areaIdList,proto3" json:"area_id_list,omitempty"`
+ ExplorePointList []uint32 `protobuf:"varint,4,rep,packed,name=explore_point_list,json=explorePointList,proto3" json:"explore_point_list,omitempty"`
+}
+
+func (x *GetAreaExplorePointRsp) Reset() {
+ *x = GetAreaExplorePointRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAreaExplorePointRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAreaExplorePointRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAreaExplorePointRsp) ProtoMessage() {}
+
+func (x *GetAreaExplorePointRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAreaExplorePointRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAreaExplorePointRsp.ProtoReflect.Descriptor instead.
+func (*GetAreaExplorePointRsp) Descriptor() ([]byte, []int) {
+ return file_GetAreaExplorePointRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAreaExplorePointRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetAreaExplorePointRsp) GetAreaIdList() []uint32 {
+ if x != nil {
+ return x.AreaIdList
+ }
+ return nil
+}
+
+func (x *GetAreaExplorePointRsp) GetExplorePointList() []uint32 {
+ if x != nil {
+ return x.ExplorePointList
+ }
+ return nil
+}
+
+var File_GetAreaExplorePointRsp_proto protoreflect.FileDescriptor
+
+var file_GetAreaExplorePointRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65, 0x61, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x72, 0x65,
+ 0x61, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x72,
+ 0x65, 0x61, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0a, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12,
+ 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72,
+ 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAreaExplorePointRsp_proto_rawDescOnce sync.Once
+ file_GetAreaExplorePointRsp_proto_rawDescData = file_GetAreaExplorePointRsp_proto_rawDesc
+)
+
+func file_GetAreaExplorePointRsp_proto_rawDescGZIP() []byte {
+ file_GetAreaExplorePointRsp_proto_rawDescOnce.Do(func() {
+ file_GetAreaExplorePointRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAreaExplorePointRsp_proto_rawDescData)
+ })
+ return file_GetAreaExplorePointRsp_proto_rawDescData
+}
+
+var file_GetAreaExplorePointRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAreaExplorePointRsp_proto_goTypes = []interface{}{
+ (*GetAreaExplorePointRsp)(nil), // 0: proto.GetAreaExplorePointRsp
+}
+var file_GetAreaExplorePointRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAreaExplorePointRsp_proto_init() }
+func file_GetAreaExplorePointRsp_proto_init() {
+ if File_GetAreaExplorePointRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAreaExplorePointRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAreaExplorePointRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAreaExplorePointRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAreaExplorePointRsp_proto_goTypes,
+ DependencyIndexes: file_GetAreaExplorePointRsp_proto_depIdxs,
+ MessageInfos: file_GetAreaExplorePointRsp_proto_msgTypes,
+ }.Build()
+ File_GetAreaExplorePointRsp_proto = out.File
+ file_GetAreaExplorePointRsp_proto_rawDesc = nil
+ file_GetAreaExplorePointRsp_proto_goTypes = nil
+ file_GetAreaExplorePointRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAuthSalesmanInfoReq.pb.go b/protocol/proto/GetAuthSalesmanInfoReq.pb.go
new file mode 100644
index 00000000..9203d80d
--- /dev/null
+++ b/protocol/proto/GetAuthSalesmanInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAuthSalesmanInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2070
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAuthSalesmanInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,8,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *GetAuthSalesmanInfoReq) Reset() {
+ *x = GetAuthSalesmanInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAuthSalesmanInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAuthSalesmanInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAuthSalesmanInfoReq) ProtoMessage() {}
+
+func (x *GetAuthSalesmanInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAuthSalesmanInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAuthSalesmanInfoReq.ProtoReflect.Descriptor instead.
+func (*GetAuthSalesmanInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetAuthSalesmanInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAuthSalesmanInfoReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_GetAuthSalesmanInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetAuthSalesmanInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68,
+ 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAuthSalesmanInfoReq_proto_rawDescOnce sync.Once
+ file_GetAuthSalesmanInfoReq_proto_rawDescData = file_GetAuthSalesmanInfoReq_proto_rawDesc
+)
+
+func file_GetAuthSalesmanInfoReq_proto_rawDescGZIP() []byte {
+ file_GetAuthSalesmanInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetAuthSalesmanInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAuthSalesmanInfoReq_proto_rawDescData)
+ })
+ return file_GetAuthSalesmanInfoReq_proto_rawDescData
+}
+
+var file_GetAuthSalesmanInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAuthSalesmanInfoReq_proto_goTypes = []interface{}{
+ (*GetAuthSalesmanInfoReq)(nil), // 0: proto.GetAuthSalesmanInfoReq
+}
+var file_GetAuthSalesmanInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAuthSalesmanInfoReq_proto_init() }
+func file_GetAuthSalesmanInfoReq_proto_init() {
+ if File_GetAuthSalesmanInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAuthSalesmanInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAuthSalesmanInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAuthSalesmanInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAuthSalesmanInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetAuthSalesmanInfoReq_proto_depIdxs,
+ MessageInfos: file_GetAuthSalesmanInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetAuthSalesmanInfoReq_proto = out.File
+ file_GetAuthSalesmanInfoReq_proto_rawDesc = nil
+ file_GetAuthSalesmanInfoReq_proto_goTypes = nil
+ file_GetAuthSalesmanInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAuthSalesmanInfoRsp.pb.go b/protocol/proto/GetAuthSalesmanInfoRsp.pb.go
new file mode 100644
index 00000000..ff96517b
--- /dev/null
+++ b/protocol/proto/GetAuthSalesmanInfoRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAuthSalesmanInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2004
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetAuthSalesmanInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DayRewardId uint32 `protobuf:"varint,5,opt,name=day_reward_id,json=dayRewardId,proto3" json:"day_reward_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,11,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *GetAuthSalesmanInfoRsp) Reset() {
+ *x = GetAuthSalesmanInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAuthSalesmanInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAuthSalesmanInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAuthSalesmanInfoRsp) ProtoMessage() {}
+
+func (x *GetAuthSalesmanInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAuthSalesmanInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAuthSalesmanInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetAuthSalesmanInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetAuthSalesmanInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAuthSalesmanInfoRsp) GetDayRewardId() uint32 {
+ if x != nil {
+ return x.DayRewardId
+ }
+ return 0
+}
+
+func (x *GetAuthSalesmanInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetAuthSalesmanInfoRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_GetAuthSalesmanInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetAuthSalesmanInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68,
+ 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12,
+ 0x22, 0x0a, 0x0d, 0x64, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetAuthSalesmanInfoRsp_proto_rawDescOnce sync.Once
+ file_GetAuthSalesmanInfoRsp_proto_rawDescData = file_GetAuthSalesmanInfoRsp_proto_rawDesc
+)
+
+func file_GetAuthSalesmanInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetAuthSalesmanInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetAuthSalesmanInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAuthSalesmanInfoRsp_proto_rawDescData)
+ })
+ return file_GetAuthSalesmanInfoRsp_proto_rawDescData
+}
+
+var file_GetAuthSalesmanInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAuthSalesmanInfoRsp_proto_goTypes = []interface{}{
+ (*GetAuthSalesmanInfoRsp)(nil), // 0: proto.GetAuthSalesmanInfoRsp
+}
+var file_GetAuthSalesmanInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAuthSalesmanInfoRsp_proto_init() }
+func file_GetAuthSalesmanInfoRsp_proto_init() {
+ if File_GetAuthSalesmanInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAuthSalesmanInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAuthSalesmanInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAuthSalesmanInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAuthSalesmanInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetAuthSalesmanInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetAuthSalesmanInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetAuthSalesmanInfoRsp_proto = out.File
+ file_GetAuthSalesmanInfoRsp_proto_rawDesc = nil
+ file_GetAuthSalesmanInfoRsp_proto_goTypes = nil
+ file_GetAuthSalesmanInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAuthkeyReq.pb.go b/protocol/proto/GetAuthkeyReq.pb.go
new file mode 100644
index 00000000..d94b5267
--- /dev/null
+++ b/protocol/proto/GetAuthkeyReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAuthkeyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1490
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetAuthkeyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AuthAppid string `protobuf:"bytes,14,opt,name=auth_appid,json=authAppid,proto3" json:"auth_appid,omitempty"`
+ SignType uint32 `protobuf:"varint,7,opt,name=sign_type,json=signType,proto3" json:"sign_type,omitempty"`
+ AuthkeyVer uint32 `protobuf:"varint,13,opt,name=authkey_ver,json=authkeyVer,proto3" json:"authkey_ver,omitempty"`
+}
+
+func (x *GetAuthkeyReq) Reset() {
+ *x = GetAuthkeyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAuthkeyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAuthkeyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAuthkeyReq) ProtoMessage() {}
+
+func (x *GetAuthkeyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAuthkeyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAuthkeyReq.ProtoReflect.Descriptor instead.
+func (*GetAuthkeyReq) Descriptor() ([]byte, []int) {
+ return file_GetAuthkeyReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAuthkeyReq) GetAuthAppid() string {
+ if x != nil {
+ return x.AuthAppid
+ }
+ return ""
+}
+
+func (x *GetAuthkeyReq) GetSignType() uint32 {
+ if x != nil {
+ return x.SignType
+ }
+ return 0
+}
+
+func (x *GetAuthkeyReq) GetAuthkeyVer() uint32 {
+ if x != nil {
+ return x.AuthkeyVer
+ }
+ return 0
+}
+
+var File_GetAuthkeyReq_proto protoreflect.FileDescriptor
+
+var file_GetAuthkeyReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x0d,
+ 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x74,
+ 0x68, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAuthkeyReq_proto_rawDescOnce sync.Once
+ file_GetAuthkeyReq_proto_rawDescData = file_GetAuthkeyReq_proto_rawDesc
+)
+
+func file_GetAuthkeyReq_proto_rawDescGZIP() []byte {
+ file_GetAuthkeyReq_proto_rawDescOnce.Do(func() {
+ file_GetAuthkeyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAuthkeyReq_proto_rawDescData)
+ })
+ return file_GetAuthkeyReq_proto_rawDescData
+}
+
+var file_GetAuthkeyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAuthkeyReq_proto_goTypes = []interface{}{
+ (*GetAuthkeyReq)(nil), // 0: proto.GetAuthkeyReq
+}
+var file_GetAuthkeyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAuthkeyReq_proto_init() }
+func file_GetAuthkeyReq_proto_init() {
+ if File_GetAuthkeyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAuthkeyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAuthkeyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAuthkeyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAuthkeyReq_proto_goTypes,
+ DependencyIndexes: file_GetAuthkeyReq_proto_depIdxs,
+ MessageInfos: file_GetAuthkeyReq_proto_msgTypes,
+ }.Build()
+ File_GetAuthkeyReq_proto = out.File
+ file_GetAuthkeyReq_proto_rawDesc = nil
+ file_GetAuthkeyReq_proto_goTypes = nil
+ file_GetAuthkeyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetAuthkeyRsp.pb.go b/protocol/proto/GetAuthkeyRsp.pb.go
new file mode 100644
index 00000000..ecabd451
--- /dev/null
+++ b/protocol/proto/GetAuthkeyRsp.pb.go
@@ -0,0 +1,210 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetAuthkeyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1473
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetAuthkeyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AuthAppid string `protobuf:"bytes,4,opt,name=auth_appid,json=authAppid,proto3" json:"auth_appid,omitempty"`
+ SignType uint32 `protobuf:"varint,15,opt,name=sign_type,json=signType,proto3" json:"sign_type,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AuthkeyVer uint32 `protobuf:"varint,9,opt,name=authkey_ver,json=authkeyVer,proto3" json:"authkey_ver,omitempty"`
+ GameBiz string `protobuf:"bytes,11,opt,name=game_biz,json=gameBiz,proto3" json:"game_biz,omitempty"`
+ Authkey string `protobuf:"bytes,3,opt,name=authkey,proto3" json:"authkey,omitempty"`
+}
+
+func (x *GetAuthkeyRsp) Reset() {
+ *x = GetAuthkeyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetAuthkeyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetAuthkeyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetAuthkeyRsp) ProtoMessage() {}
+
+func (x *GetAuthkeyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetAuthkeyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetAuthkeyRsp.ProtoReflect.Descriptor instead.
+func (*GetAuthkeyRsp) Descriptor() ([]byte, []int) {
+ return file_GetAuthkeyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetAuthkeyRsp) GetAuthAppid() string {
+ if x != nil {
+ return x.AuthAppid
+ }
+ return ""
+}
+
+func (x *GetAuthkeyRsp) GetSignType() uint32 {
+ if x != nil {
+ return x.SignType
+ }
+ return 0
+}
+
+func (x *GetAuthkeyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetAuthkeyRsp) GetAuthkeyVer() uint32 {
+ if x != nil {
+ return x.AuthkeyVer
+ }
+ return 0
+}
+
+func (x *GetAuthkeyRsp) GetGameBiz() string {
+ if x != nil {
+ return x.GameBiz
+ }
+ return ""
+}
+
+func (x *GetAuthkeyRsp) GetAuthkey() string {
+ if x != nil {
+ return x.Authkey
+ }
+ return ""
+}
+
+var File_GetAuthkeyRsp_proto protoreflect.FileDescriptor
+
+var file_GetAuthkeyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a,
+ 0x0d, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x52, 0x73, 0x70, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x5f,
+ 0x76, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x6b,
+ 0x65, 0x79, 0x56, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x62, 0x69,
+ 0x7a, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x7a,
+ 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x6b, 0x65, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetAuthkeyRsp_proto_rawDescOnce sync.Once
+ file_GetAuthkeyRsp_proto_rawDescData = file_GetAuthkeyRsp_proto_rawDesc
+)
+
+func file_GetAuthkeyRsp_proto_rawDescGZIP() []byte {
+ file_GetAuthkeyRsp_proto_rawDescOnce.Do(func() {
+ file_GetAuthkeyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetAuthkeyRsp_proto_rawDescData)
+ })
+ return file_GetAuthkeyRsp_proto_rawDescData
+}
+
+var file_GetAuthkeyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetAuthkeyRsp_proto_goTypes = []interface{}{
+ (*GetAuthkeyRsp)(nil), // 0: proto.GetAuthkeyRsp
+}
+var file_GetAuthkeyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetAuthkeyRsp_proto_init() }
+func file_GetAuthkeyRsp_proto_init() {
+ if File_GetAuthkeyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetAuthkeyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetAuthkeyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetAuthkeyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetAuthkeyRsp_proto_goTypes,
+ DependencyIndexes: file_GetAuthkeyRsp_proto_depIdxs,
+ MessageInfos: file_GetAuthkeyRsp_proto_msgTypes,
+ }.Build()
+ File_GetAuthkeyRsp_proto = out.File
+ file_GetAuthkeyRsp_proto_rawDesc = nil
+ file_GetAuthkeyRsp_proto_goTypes = nil
+ file_GetAuthkeyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetBargainDataReq.pb.go b/protocol/proto/GetBargainDataReq.pb.go
new file mode 100644
index 00000000..27c66e30
--- /dev/null
+++ b/protocol/proto/GetBargainDataReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetBargainDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 488
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetBargainDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BargainId uint32 `protobuf:"varint,12,opt,name=bargain_id,json=bargainId,proto3" json:"bargain_id,omitempty"`
+}
+
+func (x *GetBargainDataReq) Reset() {
+ *x = GetBargainDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetBargainDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetBargainDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBargainDataReq) ProtoMessage() {}
+
+func (x *GetBargainDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetBargainDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetBargainDataReq.ProtoReflect.Descriptor instead.
+func (*GetBargainDataReq) Descriptor() ([]byte, []int) {
+ return file_GetBargainDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetBargainDataReq) GetBargainId() uint32 {
+ if x != nil {
+ return x.BargainId
+ }
+ return 0
+}
+
+var File_GetBargainDataReq_proto protoreflect.FileDescriptor
+
+var file_GetBargainDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e,
+ 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x72, 0x67, 0x61,
+ 0x69, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetBargainDataReq_proto_rawDescOnce sync.Once
+ file_GetBargainDataReq_proto_rawDescData = file_GetBargainDataReq_proto_rawDesc
+)
+
+func file_GetBargainDataReq_proto_rawDescGZIP() []byte {
+ file_GetBargainDataReq_proto_rawDescOnce.Do(func() {
+ file_GetBargainDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetBargainDataReq_proto_rawDescData)
+ })
+ return file_GetBargainDataReq_proto_rawDescData
+}
+
+var file_GetBargainDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetBargainDataReq_proto_goTypes = []interface{}{
+ (*GetBargainDataReq)(nil), // 0: proto.GetBargainDataReq
+}
+var file_GetBargainDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetBargainDataReq_proto_init() }
+func file_GetBargainDataReq_proto_init() {
+ if File_GetBargainDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetBargainDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBargainDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetBargainDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetBargainDataReq_proto_goTypes,
+ DependencyIndexes: file_GetBargainDataReq_proto_depIdxs,
+ MessageInfos: file_GetBargainDataReq_proto_msgTypes,
+ }.Build()
+ File_GetBargainDataReq_proto = out.File
+ file_GetBargainDataReq_proto_rawDesc = nil
+ file_GetBargainDataReq_proto_goTypes = nil
+ file_GetBargainDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetBargainDataRsp.pb.go b/protocol/proto/GetBargainDataRsp.pb.go
new file mode 100644
index 00000000..7474678f
--- /dev/null
+++ b/protocol/proto/GetBargainDataRsp.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetBargainDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 426
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetBargainDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ BargainId uint32 `protobuf:"varint,14,opt,name=bargain_id,json=bargainId,proto3" json:"bargain_id,omitempty"`
+ Snapshot *BargainSnapshot `protobuf:"bytes,13,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
+}
+
+func (x *GetBargainDataRsp) Reset() {
+ *x = GetBargainDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetBargainDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetBargainDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBargainDataRsp) ProtoMessage() {}
+
+func (x *GetBargainDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetBargainDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetBargainDataRsp.ProtoReflect.Descriptor instead.
+func (*GetBargainDataRsp) Descriptor() ([]byte, []int) {
+ return file_GetBargainDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetBargainDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetBargainDataRsp) GetBargainId() uint32 {
+ if x != nil {
+ return x.BargainId
+ }
+ return 0
+}
+
+func (x *GetBargainDataRsp) GetSnapshot() *BargainSnapshot {
+ if x != nil {
+ return x.Snapshot
+ }
+ return nil
+}
+
+var File_GetBargainDataRsp_proto protoreflect.FileDescriptor
+
+var file_GetBargainDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x15, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42,
+ 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x72, 0x67, 0x61,
+ 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x72,
+ 0x67, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68,
+ 0x6f, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
+ 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetBargainDataRsp_proto_rawDescOnce sync.Once
+ file_GetBargainDataRsp_proto_rawDescData = file_GetBargainDataRsp_proto_rawDesc
+)
+
+func file_GetBargainDataRsp_proto_rawDescGZIP() []byte {
+ file_GetBargainDataRsp_proto_rawDescOnce.Do(func() {
+ file_GetBargainDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetBargainDataRsp_proto_rawDescData)
+ })
+ return file_GetBargainDataRsp_proto_rawDescData
+}
+
+var file_GetBargainDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetBargainDataRsp_proto_goTypes = []interface{}{
+ (*GetBargainDataRsp)(nil), // 0: proto.GetBargainDataRsp
+ (*BargainSnapshot)(nil), // 1: proto.BargainSnapshot
+}
+var file_GetBargainDataRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetBargainDataRsp.snapshot:type_name -> proto.BargainSnapshot
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetBargainDataRsp_proto_init() }
+func file_GetBargainDataRsp_proto_init() {
+ if File_GetBargainDataRsp_proto != nil {
+ return
+ }
+ file_BargainSnapshot_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetBargainDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBargainDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetBargainDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetBargainDataRsp_proto_goTypes,
+ DependencyIndexes: file_GetBargainDataRsp_proto_depIdxs,
+ MessageInfos: file_GetBargainDataRsp_proto_msgTypes,
+ }.Build()
+ File_GetBargainDataRsp_proto = out.File
+ file_GetBargainDataRsp_proto_rawDesc = nil
+ file_GetBargainDataRsp_proto_goTypes = nil
+ file_GetBargainDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetBattlePassProductReq.pb.go b/protocol/proto/GetBattlePassProductReq.pb.go
new file mode 100644
index 00000000..3fc6eb21
--- /dev/null
+++ b/protocol/proto/GetBattlePassProductReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetBattlePassProductReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2644
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetBattlePassProductReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BattlePassProductPlayType uint32 `protobuf:"varint,10,opt,name=battle_pass_product_play_type,json=battlePassProductPlayType,proto3" json:"battle_pass_product_play_type,omitempty"`
+}
+
+func (x *GetBattlePassProductReq) Reset() {
+ *x = GetBattlePassProductReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetBattlePassProductReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetBattlePassProductReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBattlePassProductReq) ProtoMessage() {}
+
+func (x *GetBattlePassProductReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetBattlePassProductReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetBattlePassProductReq.ProtoReflect.Descriptor instead.
+func (*GetBattlePassProductReq) Descriptor() ([]byte, []int) {
+ return file_GetBattlePassProductReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetBattlePassProductReq) GetBattlePassProductPlayType() uint32 {
+ if x != nil {
+ return x.BattlePassProductPlayType
+ }
+ return 0
+}
+
+var File_GetBattlePassProductReq_proto protoreflect.FileDescriptor
+
+var file_GetBattlePassProductReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61, 0x74,
+ 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x40, 0x0a, 0x1d, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73,
+ 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x50, 0x61, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x54,
+ 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetBattlePassProductReq_proto_rawDescOnce sync.Once
+ file_GetBattlePassProductReq_proto_rawDescData = file_GetBattlePassProductReq_proto_rawDesc
+)
+
+func file_GetBattlePassProductReq_proto_rawDescGZIP() []byte {
+ file_GetBattlePassProductReq_proto_rawDescOnce.Do(func() {
+ file_GetBattlePassProductReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetBattlePassProductReq_proto_rawDescData)
+ })
+ return file_GetBattlePassProductReq_proto_rawDescData
+}
+
+var file_GetBattlePassProductReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetBattlePassProductReq_proto_goTypes = []interface{}{
+ (*GetBattlePassProductReq)(nil), // 0: proto.GetBattlePassProductReq
+}
+var file_GetBattlePassProductReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetBattlePassProductReq_proto_init() }
+func file_GetBattlePassProductReq_proto_init() {
+ if File_GetBattlePassProductReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetBattlePassProductReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBattlePassProductReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetBattlePassProductReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetBattlePassProductReq_proto_goTypes,
+ DependencyIndexes: file_GetBattlePassProductReq_proto_depIdxs,
+ MessageInfos: file_GetBattlePassProductReq_proto_msgTypes,
+ }.Build()
+ File_GetBattlePassProductReq_proto = out.File
+ file_GetBattlePassProductReq_proto_rawDesc = nil
+ file_GetBattlePassProductReq_proto_goTypes = nil
+ file_GetBattlePassProductReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetBattlePassProductRsp.pb.go b/protocol/proto/GetBattlePassProductRsp.pb.go
new file mode 100644
index 00000000..ff57348a
--- /dev/null
+++ b/protocol/proto/GetBattlePassProductRsp.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetBattlePassProductRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2649
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetBattlePassProductRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PriceTier string `protobuf:"bytes,6,opt,name=price_tier,json=priceTier,proto3" json:"price_tier,omitempty"`
+ BattlePassProductPlayType uint32 `protobuf:"varint,2,opt,name=battle_pass_product_play_type,json=battlePassProductPlayType,proto3" json:"battle_pass_product_play_type,omitempty"`
+ ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ CurScheduleId uint32 `protobuf:"varint,11,opt,name=cur_schedule_id,json=curScheduleId,proto3" json:"cur_schedule_id,omitempty"`
+}
+
+func (x *GetBattlePassProductRsp) Reset() {
+ *x = GetBattlePassProductRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetBattlePassProductRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetBattlePassProductRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBattlePassProductRsp) ProtoMessage() {}
+
+func (x *GetBattlePassProductRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetBattlePassProductRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetBattlePassProductRsp.ProtoReflect.Descriptor instead.
+func (*GetBattlePassProductRsp) Descriptor() ([]byte, []int) {
+ return file_GetBattlePassProductRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetBattlePassProductRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetBattlePassProductRsp) GetPriceTier() string {
+ if x != nil {
+ return x.PriceTier
+ }
+ return ""
+}
+
+func (x *GetBattlePassProductRsp) GetBattlePassProductPlayType() uint32 {
+ if x != nil {
+ return x.BattlePassProductPlayType
+ }
+ return 0
+}
+
+func (x *GetBattlePassProductRsp) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *GetBattlePassProductRsp) GetCurScheduleId() uint32 {
+ if x != nil {
+ return x.CurScheduleId
+ }
+ return 0
+}
+
+var File_GetBattlePassProductRsp_proto protoreflect.FileDescriptor
+
+var file_GetBattlePassProductRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
+ 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x1d, 0x62,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75,
+ 0x63, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x19, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x50, 0x72,
+ 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f,
+ 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetBattlePassProductRsp_proto_rawDescOnce sync.Once
+ file_GetBattlePassProductRsp_proto_rawDescData = file_GetBattlePassProductRsp_proto_rawDesc
+)
+
+func file_GetBattlePassProductRsp_proto_rawDescGZIP() []byte {
+ file_GetBattlePassProductRsp_proto_rawDescOnce.Do(func() {
+ file_GetBattlePassProductRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetBattlePassProductRsp_proto_rawDescData)
+ })
+ return file_GetBattlePassProductRsp_proto_rawDescData
+}
+
+var file_GetBattlePassProductRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetBattlePassProductRsp_proto_goTypes = []interface{}{
+ (*GetBattlePassProductRsp)(nil), // 0: proto.GetBattlePassProductRsp
+}
+var file_GetBattlePassProductRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetBattlePassProductRsp_proto_init() }
+func file_GetBattlePassProductRsp_proto_init() {
+ if File_GetBattlePassProductRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetBattlePassProductRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBattlePassProductRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetBattlePassProductRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetBattlePassProductRsp_proto_goTypes,
+ DependencyIndexes: file_GetBattlePassProductRsp_proto_depIdxs,
+ MessageInfos: file_GetBattlePassProductRsp_proto_msgTypes,
+ }.Build()
+ File_GetBattlePassProductRsp_proto = out.File
+ file_GetBattlePassProductRsp_proto_rawDesc = nil
+ file_GetBattlePassProductRsp_proto_goTypes = nil
+ file_GetBattlePassProductRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetBlossomBriefInfoListReq.pb.go b/protocol/proto/GetBlossomBriefInfoListReq.pb.go
new file mode 100644
index 00000000..01d8755e
--- /dev/null
+++ b/protocol/proto/GetBlossomBriefInfoListReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetBlossomBriefInfoListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2772
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetBlossomBriefInfoListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityIdList []uint32 `protobuf:"varint,4,rep,packed,name=city_id_list,json=cityIdList,proto3" json:"city_id_list,omitempty"`
+}
+
+func (x *GetBlossomBriefInfoListReq) Reset() {
+ *x = GetBlossomBriefInfoListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetBlossomBriefInfoListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetBlossomBriefInfoListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBlossomBriefInfoListReq) ProtoMessage() {}
+
+func (x *GetBlossomBriefInfoListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetBlossomBriefInfoListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetBlossomBriefInfoListReq.ProtoReflect.Descriptor instead.
+func (*GetBlossomBriefInfoListReq) Descriptor() ([]byte, []int) {
+ return file_GetBlossomBriefInfoListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetBlossomBriefInfoListReq) GetCityIdList() []uint32 {
+ if x != nil {
+ return x.CityIdList
+ }
+ return nil
+}
+
+var File_GetBlossomBriefInfoListReq_proto protoreflect.FileDescriptor
+
+var file_GetBlossomBriefInfoListReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x1a, 0x47, 0x65, 0x74,
+ 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x63,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetBlossomBriefInfoListReq_proto_rawDescOnce sync.Once
+ file_GetBlossomBriefInfoListReq_proto_rawDescData = file_GetBlossomBriefInfoListReq_proto_rawDesc
+)
+
+func file_GetBlossomBriefInfoListReq_proto_rawDescGZIP() []byte {
+ file_GetBlossomBriefInfoListReq_proto_rawDescOnce.Do(func() {
+ file_GetBlossomBriefInfoListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetBlossomBriefInfoListReq_proto_rawDescData)
+ })
+ return file_GetBlossomBriefInfoListReq_proto_rawDescData
+}
+
+var file_GetBlossomBriefInfoListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetBlossomBriefInfoListReq_proto_goTypes = []interface{}{
+ (*GetBlossomBriefInfoListReq)(nil), // 0: proto.GetBlossomBriefInfoListReq
+}
+var file_GetBlossomBriefInfoListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetBlossomBriefInfoListReq_proto_init() }
+func file_GetBlossomBriefInfoListReq_proto_init() {
+ if File_GetBlossomBriefInfoListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetBlossomBriefInfoListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBlossomBriefInfoListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetBlossomBriefInfoListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetBlossomBriefInfoListReq_proto_goTypes,
+ DependencyIndexes: file_GetBlossomBriefInfoListReq_proto_depIdxs,
+ MessageInfos: file_GetBlossomBriefInfoListReq_proto_msgTypes,
+ }.Build()
+ File_GetBlossomBriefInfoListReq_proto = out.File
+ file_GetBlossomBriefInfoListReq_proto_rawDesc = nil
+ file_GetBlossomBriefInfoListReq_proto_goTypes = nil
+ file_GetBlossomBriefInfoListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetBlossomBriefInfoListRsp.pb.go b/protocol/proto/GetBlossomBriefInfoListRsp.pb.go
new file mode 100644
index 00000000..c46e8a62
--- /dev/null
+++ b/protocol/proto/GetBlossomBriefInfoListRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetBlossomBriefInfoListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2798
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetBlossomBriefInfoListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ BriefInfoList []*BlossomBriefInfo `protobuf:"bytes,11,rep,name=brief_info_list,json=briefInfoList,proto3" json:"brief_info_list,omitempty"`
+}
+
+func (x *GetBlossomBriefInfoListRsp) Reset() {
+ *x = GetBlossomBriefInfoListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetBlossomBriefInfoListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetBlossomBriefInfoListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBlossomBriefInfoListRsp) ProtoMessage() {}
+
+func (x *GetBlossomBriefInfoListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetBlossomBriefInfoListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetBlossomBriefInfoListRsp.ProtoReflect.Descriptor instead.
+func (*GetBlossomBriefInfoListRsp) Descriptor() ([]byte, []int) {
+ return file_GetBlossomBriefInfoListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetBlossomBriefInfoListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetBlossomBriefInfoListRsp) GetBriefInfoList() []*BlossomBriefInfo {
+ if x != nil {
+ return x.BriefInfoList
+ }
+ return nil
+}
+
+var File_GetBlossomBriefInfoListRsp_proto protoreflect.FileDescriptor
+
+var file_GetBlossomBriefInfoListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73,
+ 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x77, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x62, 0x72, 0x69,
+ 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x6f, 0x73, 0x73,
+ 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62, 0x72, 0x69,
+ 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetBlossomBriefInfoListRsp_proto_rawDescOnce sync.Once
+ file_GetBlossomBriefInfoListRsp_proto_rawDescData = file_GetBlossomBriefInfoListRsp_proto_rawDesc
+)
+
+func file_GetBlossomBriefInfoListRsp_proto_rawDescGZIP() []byte {
+ file_GetBlossomBriefInfoListRsp_proto_rawDescOnce.Do(func() {
+ file_GetBlossomBriefInfoListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetBlossomBriefInfoListRsp_proto_rawDescData)
+ })
+ return file_GetBlossomBriefInfoListRsp_proto_rawDescData
+}
+
+var file_GetBlossomBriefInfoListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetBlossomBriefInfoListRsp_proto_goTypes = []interface{}{
+ (*GetBlossomBriefInfoListRsp)(nil), // 0: proto.GetBlossomBriefInfoListRsp
+ (*BlossomBriefInfo)(nil), // 1: proto.BlossomBriefInfo
+}
+var file_GetBlossomBriefInfoListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetBlossomBriefInfoListRsp.brief_info_list:type_name -> proto.BlossomBriefInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetBlossomBriefInfoListRsp_proto_init() }
+func file_GetBlossomBriefInfoListRsp_proto_init() {
+ if File_GetBlossomBriefInfoListRsp_proto != nil {
+ return
+ }
+ file_BlossomBriefInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetBlossomBriefInfoListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBlossomBriefInfoListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetBlossomBriefInfoListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetBlossomBriefInfoListRsp_proto_goTypes,
+ DependencyIndexes: file_GetBlossomBriefInfoListRsp_proto_depIdxs,
+ MessageInfos: file_GetBlossomBriefInfoListRsp_proto_msgTypes,
+ }.Build()
+ File_GetBlossomBriefInfoListRsp_proto = out.File
+ file_GetBlossomBriefInfoListRsp_proto_rawDesc = nil
+ file_GetBlossomBriefInfoListRsp_proto_goTypes = nil
+ file_GetBlossomBriefInfoListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetBonusActivityRewardReq.pb.go b/protocol/proto/GetBonusActivityRewardReq.pb.go
new file mode 100644
index 00000000..4f7c5170
--- /dev/null
+++ b/protocol/proto/GetBonusActivityRewardReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetBonusActivityRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2581
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetBonusActivityRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BonusActivityId uint32 `protobuf:"varint,14,opt,name=bonus_activity_id,json=bonusActivityId,proto3" json:"bonus_activity_id,omitempty"`
+}
+
+func (x *GetBonusActivityRewardReq) Reset() {
+ *x = GetBonusActivityRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetBonusActivityRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetBonusActivityRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBonusActivityRewardReq) ProtoMessage() {}
+
+func (x *GetBonusActivityRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetBonusActivityRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetBonusActivityRewardReq.ProtoReflect.Descriptor instead.
+func (*GetBonusActivityRewardReq) Descriptor() ([]byte, []int) {
+ return file_GetBonusActivityRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetBonusActivityRewardReq) GetBonusActivityId() uint32 {
+ if x != nil {
+ return x.BonusActivityId
+ }
+ return 0
+}
+
+var File_GetBonusActivityRewardReq_proto protoreflect.FileDescriptor
+
+var file_GetBonusActivityRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x42,
+ 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetBonusActivityRewardReq_proto_rawDescOnce sync.Once
+ file_GetBonusActivityRewardReq_proto_rawDescData = file_GetBonusActivityRewardReq_proto_rawDesc
+)
+
+func file_GetBonusActivityRewardReq_proto_rawDescGZIP() []byte {
+ file_GetBonusActivityRewardReq_proto_rawDescOnce.Do(func() {
+ file_GetBonusActivityRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetBonusActivityRewardReq_proto_rawDescData)
+ })
+ return file_GetBonusActivityRewardReq_proto_rawDescData
+}
+
+var file_GetBonusActivityRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetBonusActivityRewardReq_proto_goTypes = []interface{}{
+ (*GetBonusActivityRewardReq)(nil), // 0: proto.GetBonusActivityRewardReq
+}
+var file_GetBonusActivityRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetBonusActivityRewardReq_proto_init() }
+func file_GetBonusActivityRewardReq_proto_init() {
+ if File_GetBonusActivityRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetBonusActivityRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBonusActivityRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetBonusActivityRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetBonusActivityRewardReq_proto_goTypes,
+ DependencyIndexes: file_GetBonusActivityRewardReq_proto_depIdxs,
+ MessageInfos: file_GetBonusActivityRewardReq_proto_msgTypes,
+ }.Build()
+ File_GetBonusActivityRewardReq_proto = out.File
+ file_GetBonusActivityRewardReq_proto_rawDesc = nil
+ file_GetBonusActivityRewardReq_proto_goTypes = nil
+ file_GetBonusActivityRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetBonusActivityRewardRsp.pb.go b/protocol/proto/GetBonusActivityRewardRsp.pb.go
new file mode 100644
index 00000000..c124888c
--- /dev/null
+++ b/protocol/proto/GetBonusActivityRewardRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetBonusActivityRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2505
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetBonusActivityRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BonusActivityInfoList *BonusActivityInfo `protobuf:"bytes,4,opt,name=bonus_activity_info_list,json=bonusActivityInfoList,proto3" json:"bonus_activity_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetBonusActivityRewardRsp) Reset() {
+ *x = GetBonusActivityRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetBonusActivityRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetBonusActivityRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBonusActivityRewardRsp) ProtoMessage() {}
+
+func (x *GetBonusActivityRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetBonusActivityRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetBonusActivityRewardRsp.ProtoReflect.Descriptor instead.
+func (*GetBonusActivityRewardRsp) Descriptor() ([]byte, []int) {
+ return file_GetBonusActivityRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetBonusActivityRewardRsp) GetBonusActivityInfoList() *BonusActivityInfo {
+ if x != nil {
+ return x.BonusActivityInfoList
+ }
+ return nil
+}
+
+func (x *GetBonusActivityRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetBonusActivityRewardRsp_proto protoreflect.FileDescriptor
+
+var file_GetBonusActivityRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x51, 0x0a, 0x18, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x62, 0x6f, 0x6e,
+ 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetBonusActivityRewardRsp_proto_rawDescOnce sync.Once
+ file_GetBonusActivityRewardRsp_proto_rawDescData = file_GetBonusActivityRewardRsp_proto_rawDesc
+)
+
+func file_GetBonusActivityRewardRsp_proto_rawDescGZIP() []byte {
+ file_GetBonusActivityRewardRsp_proto_rawDescOnce.Do(func() {
+ file_GetBonusActivityRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetBonusActivityRewardRsp_proto_rawDescData)
+ })
+ return file_GetBonusActivityRewardRsp_proto_rawDescData
+}
+
+var file_GetBonusActivityRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetBonusActivityRewardRsp_proto_goTypes = []interface{}{
+ (*GetBonusActivityRewardRsp)(nil), // 0: proto.GetBonusActivityRewardRsp
+ (*BonusActivityInfo)(nil), // 1: proto.BonusActivityInfo
+}
+var file_GetBonusActivityRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetBonusActivityRewardRsp.bonus_activity_info_list:type_name -> proto.BonusActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetBonusActivityRewardRsp_proto_init() }
+func file_GetBonusActivityRewardRsp_proto_init() {
+ if File_GetBonusActivityRewardRsp_proto != nil {
+ return
+ }
+ file_BonusActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetBonusActivityRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBonusActivityRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetBonusActivityRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetBonusActivityRewardRsp_proto_goTypes,
+ DependencyIndexes: file_GetBonusActivityRewardRsp_proto_depIdxs,
+ MessageInfos: file_GetBonusActivityRewardRsp_proto_msgTypes,
+ }.Build()
+ File_GetBonusActivityRewardRsp_proto = out.File
+ file_GetBonusActivityRewardRsp_proto_rawDesc = nil
+ file_GetBonusActivityRewardRsp_proto_goTypes = nil
+ file_GetBonusActivityRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetChatEmojiCollectionReq.pb.go b/protocol/proto/GetChatEmojiCollectionReq.pb.go
new file mode 100644
index 00000000..6fd74346
--- /dev/null
+++ b/protocol/proto/GetChatEmojiCollectionReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetChatEmojiCollectionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4068
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetChatEmojiCollectionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetChatEmojiCollectionReq) Reset() {
+ *x = GetChatEmojiCollectionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetChatEmojiCollectionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetChatEmojiCollectionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetChatEmojiCollectionReq) ProtoMessage() {}
+
+func (x *GetChatEmojiCollectionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetChatEmojiCollectionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetChatEmojiCollectionReq.ProtoReflect.Descriptor instead.
+func (*GetChatEmojiCollectionReq) Descriptor() ([]byte, []int) {
+ return file_GetChatEmojiCollectionReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetChatEmojiCollectionReq_proto protoreflect.FileDescriptor
+
+var file_GetChatEmojiCollectionReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43,
+ 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetChatEmojiCollectionReq_proto_rawDescOnce sync.Once
+ file_GetChatEmojiCollectionReq_proto_rawDescData = file_GetChatEmojiCollectionReq_proto_rawDesc
+)
+
+func file_GetChatEmojiCollectionReq_proto_rawDescGZIP() []byte {
+ file_GetChatEmojiCollectionReq_proto_rawDescOnce.Do(func() {
+ file_GetChatEmojiCollectionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetChatEmojiCollectionReq_proto_rawDescData)
+ })
+ return file_GetChatEmojiCollectionReq_proto_rawDescData
+}
+
+var file_GetChatEmojiCollectionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetChatEmojiCollectionReq_proto_goTypes = []interface{}{
+ (*GetChatEmojiCollectionReq)(nil), // 0: proto.GetChatEmojiCollectionReq
+}
+var file_GetChatEmojiCollectionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetChatEmojiCollectionReq_proto_init() }
+func file_GetChatEmojiCollectionReq_proto_init() {
+ if File_GetChatEmojiCollectionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetChatEmojiCollectionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetChatEmojiCollectionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetChatEmojiCollectionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetChatEmojiCollectionReq_proto_goTypes,
+ DependencyIndexes: file_GetChatEmojiCollectionReq_proto_depIdxs,
+ MessageInfos: file_GetChatEmojiCollectionReq_proto_msgTypes,
+ }.Build()
+ File_GetChatEmojiCollectionReq_proto = out.File
+ file_GetChatEmojiCollectionReq_proto_rawDesc = nil
+ file_GetChatEmojiCollectionReq_proto_goTypes = nil
+ file_GetChatEmojiCollectionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetChatEmojiCollectionRsp.pb.go b/protocol/proto/GetChatEmojiCollectionRsp.pb.go
new file mode 100644
index 00000000..237553e8
--- /dev/null
+++ b/protocol/proto/GetChatEmojiCollectionRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetChatEmojiCollectionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4033
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetChatEmojiCollectionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ChatEmojiCollectionData *ChatEmojiCollectionData `protobuf:"bytes,8,opt,name=chat_emoji_collection_data,json=chatEmojiCollectionData,proto3" json:"chat_emoji_collection_data,omitempty"`
+}
+
+func (x *GetChatEmojiCollectionRsp) Reset() {
+ *x = GetChatEmojiCollectionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetChatEmojiCollectionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetChatEmojiCollectionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetChatEmojiCollectionRsp) ProtoMessage() {}
+
+func (x *GetChatEmojiCollectionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetChatEmojiCollectionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetChatEmojiCollectionRsp.ProtoReflect.Descriptor instead.
+func (*GetChatEmojiCollectionRsp) Descriptor() ([]byte, []int) {
+ return file_GetChatEmojiCollectionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetChatEmojiCollectionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetChatEmojiCollectionRsp) GetChatEmojiCollectionData() *ChatEmojiCollectionData {
+ if x != nil {
+ return x.ChatEmojiCollectionData
+ }
+ return nil
+}
+
+var File_GetChatEmojiCollectionRsp_proto protoreflect.FileDescriptor
+
+var file_GetChatEmojiCollectionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d,
+ 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43,
+ 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x5b, 0x0a, 0x1a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x5f, 0x63, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x74,
+ 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x17, 0x63, 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetChatEmojiCollectionRsp_proto_rawDescOnce sync.Once
+ file_GetChatEmojiCollectionRsp_proto_rawDescData = file_GetChatEmojiCollectionRsp_proto_rawDesc
+)
+
+func file_GetChatEmojiCollectionRsp_proto_rawDescGZIP() []byte {
+ file_GetChatEmojiCollectionRsp_proto_rawDescOnce.Do(func() {
+ file_GetChatEmojiCollectionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetChatEmojiCollectionRsp_proto_rawDescData)
+ })
+ return file_GetChatEmojiCollectionRsp_proto_rawDescData
+}
+
+var file_GetChatEmojiCollectionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetChatEmojiCollectionRsp_proto_goTypes = []interface{}{
+ (*GetChatEmojiCollectionRsp)(nil), // 0: proto.GetChatEmojiCollectionRsp
+ (*ChatEmojiCollectionData)(nil), // 1: proto.ChatEmojiCollectionData
+}
+var file_GetChatEmojiCollectionRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetChatEmojiCollectionRsp.chat_emoji_collection_data:type_name -> proto.ChatEmojiCollectionData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetChatEmojiCollectionRsp_proto_init() }
+func file_GetChatEmojiCollectionRsp_proto_init() {
+ if File_GetChatEmojiCollectionRsp_proto != nil {
+ return
+ }
+ file_ChatEmojiCollectionData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetChatEmojiCollectionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetChatEmojiCollectionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetChatEmojiCollectionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetChatEmojiCollectionRsp_proto_goTypes,
+ DependencyIndexes: file_GetChatEmojiCollectionRsp_proto_depIdxs,
+ MessageInfos: file_GetChatEmojiCollectionRsp_proto_msgTypes,
+ }.Build()
+ File_GetChatEmojiCollectionRsp_proto = out.File
+ file_GetChatEmojiCollectionRsp_proto_rawDesc = nil
+ file_GetChatEmojiCollectionRsp_proto_goTypes = nil
+ file_GetChatEmojiCollectionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCityHuntingOfferReq.pb.go b/protocol/proto/GetCityHuntingOfferReq.pb.go
new file mode 100644
index 00000000..d9e0064e
--- /dev/null
+++ b/protocol/proto/GetCityHuntingOfferReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCityHuntingOfferReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4325
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetCityHuntingOfferReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,9,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *GetCityHuntingOfferReq) Reset() {
+ *x = GetCityHuntingOfferReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCityHuntingOfferReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCityHuntingOfferReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCityHuntingOfferReq) ProtoMessage() {}
+
+func (x *GetCityHuntingOfferReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCityHuntingOfferReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCityHuntingOfferReq.ProtoReflect.Descriptor instead.
+func (*GetCityHuntingOfferReq) Descriptor() ([]byte, []int) {
+ return file_GetCityHuntingOfferReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetCityHuntingOfferReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_GetCityHuntingOfferReq_proto protoreflect.FileDescriptor
+
+var file_GetCityHuntingOfferReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79,
+ 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetCityHuntingOfferReq_proto_rawDescOnce sync.Once
+ file_GetCityHuntingOfferReq_proto_rawDescData = file_GetCityHuntingOfferReq_proto_rawDesc
+)
+
+func file_GetCityHuntingOfferReq_proto_rawDescGZIP() []byte {
+ file_GetCityHuntingOfferReq_proto_rawDescOnce.Do(func() {
+ file_GetCityHuntingOfferReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCityHuntingOfferReq_proto_rawDescData)
+ })
+ return file_GetCityHuntingOfferReq_proto_rawDescData
+}
+
+var file_GetCityHuntingOfferReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCityHuntingOfferReq_proto_goTypes = []interface{}{
+ (*GetCityHuntingOfferReq)(nil), // 0: proto.GetCityHuntingOfferReq
+}
+var file_GetCityHuntingOfferReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetCityHuntingOfferReq_proto_init() }
+func file_GetCityHuntingOfferReq_proto_init() {
+ if File_GetCityHuntingOfferReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetCityHuntingOfferReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCityHuntingOfferReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCityHuntingOfferReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCityHuntingOfferReq_proto_goTypes,
+ DependencyIndexes: file_GetCityHuntingOfferReq_proto_depIdxs,
+ MessageInfos: file_GetCityHuntingOfferReq_proto_msgTypes,
+ }.Build()
+ File_GetCityHuntingOfferReq_proto = out.File
+ file_GetCityHuntingOfferReq_proto_rawDesc = nil
+ file_GetCityHuntingOfferReq_proto_goTypes = nil
+ file_GetCityHuntingOfferReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCityHuntingOfferRsp.pb.go b/protocol/proto/GetCityHuntingOfferRsp.pb.go
new file mode 100644
index 00000000..6a7b94b6
--- /dev/null
+++ b/protocol/proto/GetCityHuntingOfferRsp.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCityHuntingOfferRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4307
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetCityHuntingOfferRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ HuntingOfferList []*HuntingOfferData `protobuf:"bytes,13,rep,name=hunting_offer_list,json=huntingOfferList,proto3" json:"hunting_offer_list,omitempty"`
+ CityId uint32 `protobuf:"varint,2,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ OngoingHuntingPair *HuntingPair `protobuf:"bytes,8,opt,name=ongoing_hunting_pair,json=ongoingHuntingPair,proto3" json:"ongoing_hunting_pair,omitempty"`
+ CurWeekFinishedCount uint32 `protobuf:"varint,1,opt,name=cur_week_finished_count,json=curWeekFinishedCount,proto3" json:"cur_week_finished_count,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,4,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+}
+
+func (x *GetCityHuntingOfferRsp) Reset() {
+ *x = GetCityHuntingOfferRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCityHuntingOfferRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCityHuntingOfferRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCityHuntingOfferRsp) ProtoMessage() {}
+
+func (x *GetCityHuntingOfferRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCityHuntingOfferRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCityHuntingOfferRsp.ProtoReflect.Descriptor instead.
+func (*GetCityHuntingOfferRsp) Descriptor() ([]byte, []int) {
+ return file_GetCityHuntingOfferRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetCityHuntingOfferRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetCityHuntingOfferRsp) GetHuntingOfferList() []*HuntingOfferData {
+ if x != nil {
+ return x.HuntingOfferList
+ }
+ return nil
+}
+
+func (x *GetCityHuntingOfferRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *GetCityHuntingOfferRsp) GetOngoingHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.OngoingHuntingPair
+ }
+ return nil
+}
+
+func (x *GetCityHuntingOfferRsp) GetCurWeekFinishedCount() uint32 {
+ if x != nil {
+ return x.CurWeekFinishedCount
+ }
+ return 0
+}
+
+func (x *GetCityHuntingOfferRsp) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+var File_GetCityHuntingOfferRsp_proto protoreflect.FileDescriptor
+
+var file_GetCityHuntingOfferRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66,
+ 0x66, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48,
+ 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xbb, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x48, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x12, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e,
+ 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x68, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07,
+ 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x14, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67,
+ 0x5f, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x12, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67,
+ 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x12, 0x35, 0x0a, 0x17, 0x63,
+ 0x75, 0x72, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x75,
+ 0x72, 0x57, 0x65, 0x65, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e,
+ 0x65, 0x78, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetCityHuntingOfferRsp_proto_rawDescOnce sync.Once
+ file_GetCityHuntingOfferRsp_proto_rawDescData = file_GetCityHuntingOfferRsp_proto_rawDesc
+)
+
+func file_GetCityHuntingOfferRsp_proto_rawDescGZIP() []byte {
+ file_GetCityHuntingOfferRsp_proto_rawDescOnce.Do(func() {
+ file_GetCityHuntingOfferRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCityHuntingOfferRsp_proto_rawDescData)
+ })
+ return file_GetCityHuntingOfferRsp_proto_rawDescData
+}
+
+var file_GetCityHuntingOfferRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCityHuntingOfferRsp_proto_goTypes = []interface{}{
+ (*GetCityHuntingOfferRsp)(nil), // 0: proto.GetCityHuntingOfferRsp
+ (*HuntingOfferData)(nil), // 1: proto.HuntingOfferData
+ (*HuntingPair)(nil), // 2: proto.HuntingPair
+}
+var file_GetCityHuntingOfferRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetCityHuntingOfferRsp.hunting_offer_list:type_name -> proto.HuntingOfferData
+ 2, // 1: proto.GetCityHuntingOfferRsp.ongoing_hunting_pair:type_name -> proto.HuntingPair
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GetCityHuntingOfferRsp_proto_init() }
+func file_GetCityHuntingOfferRsp_proto_init() {
+ if File_GetCityHuntingOfferRsp_proto != nil {
+ return
+ }
+ file_HuntingOfferData_proto_init()
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetCityHuntingOfferRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCityHuntingOfferRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCityHuntingOfferRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCityHuntingOfferRsp_proto_goTypes,
+ DependencyIndexes: file_GetCityHuntingOfferRsp_proto_depIdxs,
+ MessageInfos: file_GetCityHuntingOfferRsp_proto_msgTypes,
+ }.Build()
+ File_GetCityHuntingOfferRsp_proto = out.File
+ file_GetCityHuntingOfferRsp_proto_rawDesc = nil
+ file_GetCityHuntingOfferRsp_proto_goTypes = nil
+ file_GetCityHuntingOfferRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCityReputationInfoReq.pb.go b/protocol/proto/GetCityReputationInfoReq.pb.go
new file mode 100644
index 00000000..25ad98e3
--- /dev/null
+++ b/protocol/proto/GetCityReputationInfoReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCityReputationInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2872
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetCityReputationInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,7,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *GetCityReputationInfoReq) Reset() {
+ *x = GetCityReputationInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCityReputationInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCityReputationInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCityReputationInfoReq) ProtoMessage() {}
+
+func (x *GetCityReputationInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCityReputationInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCityReputationInfoReq.ProtoReflect.Descriptor instead.
+func (*GetCityReputationInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetCityReputationInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetCityReputationInfoReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_GetCityReputationInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetCityReputationInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetCityReputationInfoReq_proto_rawDescOnce sync.Once
+ file_GetCityReputationInfoReq_proto_rawDescData = file_GetCityReputationInfoReq_proto_rawDesc
+)
+
+func file_GetCityReputationInfoReq_proto_rawDescGZIP() []byte {
+ file_GetCityReputationInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetCityReputationInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCityReputationInfoReq_proto_rawDescData)
+ })
+ return file_GetCityReputationInfoReq_proto_rawDescData
+}
+
+var file_GetCityReputationInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCityReputationInfoReq_proto_goTypes = []interface{}{
+ (*GetCityReputationInfoReq)(nil), // 0: proto.GetCityReputationInfoReq
+}
+var file_GetCityReputationInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetCityReputationInfoReq_proto_init() }
+func file_GetCityReputationInfoReq_proto_init() {
+ if File_GetCityReputationInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetCityReputationInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCityReputationInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCityReputationInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCityReputationInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetCityReputationInfoReq_proto_depIdxs,
+ MessageInfos: file_GetCityReputationInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetCityReputationInfoReq_proto = out.File
+ file_GetCityReputationInfoReq_proto_rawDesc = nil
+ file_GetCityReputationInfoReq_proto_goTypes = nil
+ file_GetCityReputationInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCityReputationInfoRsp.pb.go b/protocol/proto/GetCityReputationInfoRsp.pb.go
new file mode 100644
index 00000000..a00e8c3a
--- /dev/null
+++ b/protocol/proto/GetCityReputationInfoRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCityReputationInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2898
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetCityReputationInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,1,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CityReputationInfo *CityReputationInfo `protobuf:"bytes,9,opt,name=city_reputation_info,json=cityReputationInfo,proto3" json:"city_reputation_info,omitempty"`
+}
+
+func (x *GetCityReputationInfoRsp) Reset() {
+ *x = GetCityReputationInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCityReputationInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCityReputationInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCityReputationInfoRsp) ProtoMessage() {}
+
+func (x *GetCityReputationInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCityReputationInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCityReputationInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetCityReputationInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetCityReputationInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetCityReputationInfoRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *GetCityReputationInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetCityReputationInfoRsp) GetCityReputationInfo() *CityReputationInfo {
+ if x != nil {
+ return x.CityReputationInfo
+ }
+ return nil
+}
+
+var File_GetCityReputationInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetCityReputationInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75,
+ 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x63, 0x69, 0x74, 0x79,
+ 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetCityReputationInfoRsp_proto_rawDescOnce sync.Once
+ file_GetCityReputationInfoRsp_proto_rawDescData = file_GetCityReputationInfoRsp_proto_rawDesc
+)
+
+func file_GetCityReputationInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetCityReputationInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetCityReputationInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCityReputationInfoRsp_proto_rawDescData)
+ })
+ return file_GetCityReputationInfoRsp_proto_rawDescData
+}
+
+var file_GetCityReputationInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCityReputationInfoRsp_proto_goTypes = []interface{}{
+ (*GetCityReputationInfoRsp)(nil), // 0: proto.GetCityReputationInfoRsp
+ (*CityReputationInfo)(nil), // 1: proto.CityReputationInfo
+}
+var file_GetCityReputationInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetCityReputationInfoRsp.city_reputation_info:type_name -> proto.CityReputationInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetCityReputationInfoRsp_proto_init() }
+func file_GetCityReputationInfoRsp_proto_init() {
+ if File_GetCityReputationInfoRsp_proto != nil {
+ return
+ }
+ file_CityReputationInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetCityReputationInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCityReputationInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCityReputationInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCityReputationInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetCityReputationInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetCityReputationInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetCityReputationInfoRsp_proto = out.File
+ file_GetCityReputationInfoRsp_proto_rawDesc = nil
+ file_GetCityReputationInfoRsp_proto_goTypes = nil
+ file_GetCityReputationInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCityReputationMapInfoReq.pb.go b/protocol/proto/GetCityReputationMapInfoReq.pb.go
new file mode 100644
index 00000000..b34cbab7
--- /dev/null
+++ b/protocol/proto/GetCityReputationMapInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCityReputationMapInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2875
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetCityReputationMapInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetCityReputationMapInfoReq) Reset() {
+ *x = GetCityReputationMapInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCityReputationMapInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCityReputationMapInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCityReputationMapInfoReq) ProtoMessage() {}
+
+func (x *GetCityReputationMapInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCityReputationMapInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCityReputationMapInfoReq.ProtoReflect.Descriptor instead.
+func (*GetCityReputationMapInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetCityReputationMapInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetCityReputationMapInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetCityReputationMapInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x47, 0x65,
+ 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetCityReputationMapInfoReq_proto_rawDescOnce sync.Once
+ file_GetCityReputationMapInfoReq_proto_rawDescData = file_GetCityReputationMapInfoReq_proto_rawDesc
+)
+
+func file_GetCityReputationMapInfoReq_proto_rawDescGZIP() []byte {
+ file_GetCityReputationMapInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetCityReputationMapInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCityReputationMapInfoReq_proto_rawDescData)
+ })
+ return file_GetCityReputationMapInfoReq_proto_rawDescData
+}
+
+var file_GetCityReputationMapInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCityReputationMapInfoReq_proto_goTypes = []interface{}{
+ (*GetCityReputationMapInfoReq)(nil), // 0: proto.GetCityReputationMapInfoReq
+}
+var file_GetCityReputationMapInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetCityReputationMapInfoReq_proto_init() }
+func file_GetCityReputationMapInfoReq_proto_init() {
+ if File_GetCityReputationMapInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetCityReputationMapInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCityReputationMapInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCityReputationMapInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCityReputationMapInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetCityReputationMapInfoReq_proto_depIdxs,
+ MessageInfos: file_GetCityReputationMapInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetCityReputationMapInfoReq_proto = out.File
+ file_GetCityReputationMapInfoReq_proto_rawDesc = nil
+ file_GetCityReputationMapInfoReq_proto_goTypes = nil
+ file_GetCityReputationMapInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCityReputationMapInfoRsp.pb.go b/protocol/proto/GetCityReputationMapInfoRsp.pb.go
new file mode 100644
index 00000000..b7b05ea7
--- /dev/null
+++ b/protocol/proto/GetCityReputationMapInfoRsp.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCityReputationMapInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2848
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetCityReputationMapInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsNewHunting bool `protobuf:"varint,10,opt,name=is_new_hunting,json=isNewHunting,proto3" json:"is_new_hunting,omitempty"`
+ IsNewRequest bool `protobuf:"varint,2,opt,name=is_new_request,json=isNewRequest,proto3" json:"is_new_request,omitempty"`
+ UnlockHuntingCityList []uint32 `protobuf:"varint,9,rep,packed,name=unlock_hunting_city_list,json=unlockHuntingCityList,proto3" json:"unlock_hunting_city_list,omitempty"`
+ RewardCityList []uint32 `protobuf:"varint,3,rep,packed,name=reward_city_list,json=rewardCityList,proto3" json:"reward_city_list,omitempty"`
+}
+
+func (x *GetCityReputationMapInfoRsp) Reset() {
+ *x = GetCityReputationMapInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCityReputationMapInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCityReputationMapInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCityReputationMapInfoRsp) ProtoMessage() {}
+
+func (x *GetCityReputationMapInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCityReputationMapInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCityReputationMapInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetCityReputationMapInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetCityReputationMapInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetCityReputationMapInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetCityReputationMapInfoRsp) GetIsNewHunting() bool {
+ if x != nil {
+ return x.IsNewHunting
+ }
+ return false
+}
+
+func (x *GetCityReputationMapInfoRsp) GetIsNewRequest() bool {
+ if x != nil {
+ return x.IsNewRequest
+ }
+ return false
+}
+
+func (x *GetCityReputationMapInfoRsp) GetUnlockHuntingCityList() []uint32 {
+ if x != nil {
+ return x.UnlockHuntingCityList
+ }
+ return nil
+}
+
+func (x *GetCityReputationMapInfoRsp) GetRewardCityList() []uint32 {
+ if x != nil {
+ return x.RewardCityList
+ }
+ return nil
+}
+
+var File_GetCityReputationMapInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetCityReputationMapInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01, 0x0a, 0x1b, 0x47,
+ 0x65, 0x74, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x68,
+ 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73,
+ 0x4e, 0x65, 0x77, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73,
+ 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x37, 0x0a, 0x18, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x75, 0x6e, 0x74, 0x69,
+ 0x6e, 0x67, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x15, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e,
+ 0x67, 0x43, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x69, 0x74, 0x79, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetCityReputationMapInfoRsp_proto_rawDescOnce sync.Once
+ file_GetCityReputationMapInfoRsp_proto_rawDescData = file_GetCityReputationMapInfoRsp_proto_rawDesc
+)
+
+func file_GetCityReputationMapInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetCityReputationMapInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetCityReputationMapInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCityReputationMapInfoRsp_proto_rawDescData)
+ })
+ return file_GetCityReputationMapInfoRsp_proto_rawDescData
+}
+
+var file_GetCityReputationMapInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCityReputationMapInfoRsp_proto_goTypes = []interface{}{
+ (*GetCityReputationMapInfoRsp)(nil), // 0: proto.GetCityReputationMapInfoRsp
+}
+var file_GetCityReputationMapInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetCityReputationMapInfoRsp_proto_init() }
+func file_GetCityReputationMapInfoRsp_proto_init() {
+ if File_GetCityReputationMapInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetCityReputationMapInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCityReputationMapInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCityReputationMapInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCityReputationMapInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetCityReputationMapInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetCityReputationMapInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetCityReputationMapInfoRsp_proto = out.File
+ file_GetCityReputationMapInfoRsp_proto_rawDesc = nil
+ file_GetCityReputationMapInfoRsp_proto_goTypes = nil
+ file_GetCityReputationMapInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCompoundDataReq.pb.go b/protocol/proto/GetCompoundDataReq.pb.go
new file mode 100644
index 00000000..9957c8f1
--- /dev/null
+++ b/protocol/proto/GetCompoundDataReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCompoundDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 141
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetCompoundDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetCompoundDataReq) Reset() {
+ *x = GetCompoundDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCompoundDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCompoundDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCompoundDataReq) ProtoMessage() {}
+
+func (x *GetCompoundDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCompoundDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCompoundDataReq.ProtoReflect.Descriptor instead.
+func (*GetCompoundDataReq) Descriptor() ([]byte, []int) {
+ return file_GetCompoundDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetCompoundDataReq_proto protoreflect.FileDescriptor
+
+var file_GetCompoundDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetCompoundDataReq_proto_rawDescOnce sync.Once
+ file_GetCompoundDataReq_proto_rawDescData = file_GetCompoundDataReq_proto_rawDesc
+)
+
+func file_GetCompoundDataReq_proto_rawDescGZIP() []byte {
+ file_GetCompoundDataReq_proto_rawDescOnce.Do(func() {
+ file_GetCompoundDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCompoundDataReq_proto_rawDescData)
+ })
+ return file_GetCompoundDataReq_proto_rawDescData
+}
+
+var file_GetCompoundDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCompoundDataReq_proto_goTypes = []interface{}{
+ (*GetCompoundDataReq)(nil), // 0: proto.GetCompoundDataReq
+}
+var file_GetCompoundDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetCompoundDataReq_proto_init() }
+func file_GetCompoundDataReq_proto_init() {
+ if File_GetCompoundDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetCompoundDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCompoundDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCompoundDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCompoundDataReq_proto_goTypes,
+ DependencyIndexes: file_GetCompoundDataReq_proto_depIdxs,
+ MessageInfos: file_GetCompoundDataReq_proto_msgTypes,
+ }.Build()
+ File_GetCompoundDataReq_proto = out.File
+ file_GetCompoundDataReq_proto_rawDesc = nil
+ file_GetCompoundDataReq_proto_goTypes = nil
+ file_GetCompoundDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCompoundDataRsp.pb.go b/protocol/proto/GetCompoundDataRsp.pb.go
new file mode 100644
index 00000000..777b3f50
--- /dev/null
+++ b/protocol/proto/GetCompoundDataRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCompoundDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 149
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetCompoundDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ UnlockCompoundList []uint32 `protobuf:"varint,11,rep,packed,name=unlock_compound_list,json=unlockCompoundList,proto3" json:"unlock_compound_list,omitempty"`
+ CompoundQueDataList []*CompoundQueueData `protobuf:"bytes,7,rep,name=compound_que_data_list,json=compoundQueDataList,proto3" json:"compound_que_data_list,omitempty"`
+}
+
+func (x *GetCompoundDataRsp) Reset() {
+ *x = GetCompoundDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCompoundDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCompoundDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCompoundDataRsp) ProtoMessage() {}
+
+func (x *GetCompoundDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCompoundDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCompoundDataRsp.ProtoReflect.Descriptor instead.
+func (*GetCompoundDataRsp) Descriptor() ([]byte, []int) {
+ return file_GetCompoundDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetCompoundDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetCompoundDataRsp) GetUnlockCompoundList() []uint32 {
+ if x != nil {
+ return x.UnlockCompoundList
+ }
+ return nil
+}
+
+func (x *GetCompoundDataRsp) GetCompoundQueDataList() []*CompoundQueueData {
+ if x != nil {
+ return x.CompoundQueDataList
+ }
+ return nil
+}
+
+var File_GetCompoundDataRsp_proto protoreflect.FileDescriptor
+
+var file_GetCompoundDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x01, 0x0a, 0x12, 0x47,
+ 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x75,
+ 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4d, 0x0a,
+ 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75,
+ 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e,
+ 0x64, 0x51, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetCompoundDataRsp_proto_rawDescOnce sync.Once
+ file_GetCompoundDataRsp_proto_rawDescData = file_GetCompoundDataRsp_proto_rawDesc
+)
+
+func file_GetCompoundDataRsp_proto_rawDescGZIP() []byte {
+ file_GetCompoundDataRsp_proto_rawDescOnce.Do(func() {
+ file_GetCompoundDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCompoundDataRsp_proto_rawDescData)
+ })
+ return file_GetCompoundDataRsp_proto_rawDescData
+}
+
+var file_GetCompoundDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCompoundDataRsp_proto_goTypes = []interface{}{
+ (*GetCompoundDataRsp)(nil), // 0: proto.GetCompoundDataRsp
+ (*CompoundQueueData)(nil), // 1: proto.CompoundQueueData
+}
+var file_GetCompoundDataRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetCompoundDataRsp.compound_que_data_list:type_name -> proto.CompoundQueueData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetCompoundDataRsp_proto_init() }
+func file_GetCompoundDataRsp_proto_init() {
+ if File_GetCompoundDataRsp_proto != nil {
+ return
+ }
+ file_CompoundQueueData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetCompoundDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCompoundDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCompoundDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCompoundDataRsp_proto_goTypes,
+ DependencyIndexes: file_GetCompoundDataRsp_proto_depIdxs,
+ MessageInfos: file_GetCompoundDataRsp_proto_msgTypes,
+ }.Build()
+ File_GetCompoundDataRsp_proto = out.File
+ file_GetCompoundDataRsp_proto_rawDesc = nil
+ file_GetCompoundDataRsp_proto_goTypes = nil
+ file_GetCompoundDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCustomDungeonReq.pb.go b/protocol/proto/GetCustomDungeonReq.pb.go
new file mode 100644
index 00000000..b4f92390
--- /dev/null
+++ b/protocol/proto/GetCustomDungeonReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6209
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetCustomDungeonReq) Reset() {
+ *x = GetCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCustomDungeonReq) ProtoMessage() {}
+
+func (x *GetCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*GetCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_GetCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_GetCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_GetCustomDungeonReq_proto_rawDescData = file_GetCustomDungeonReq_proto_rawDesc
+)
+
+func file_GetCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_GetCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_GetCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCustomDungeonReq_proto_rawDescData)
+ })
+ return file_GetCustomDungeonReq_proto_rawDescData
+}
+
+var file_GetCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCustomDungeonReq_proto_goTypes = []interface{}{
+ (*GetCustomDungeonReq)(nil), // 0: proto.GetCustomDungeonReq
+}
+var file_GetCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetCustomDungeonReq_proto_init() }
+func file_GetCustomDungeonReq_proto_init() {
+ if File_GetCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_GetCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_GetCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_GetCustomDungeonReq_proto = out.File
+ file_GetCustomDungeonReq_proto_rawDesc = nil
+ file_GetCustomDungeonReq_proto_goTypes = nil
+ file_GetCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetCustomDungeonRsp.pb.go b/protocol/proto/GetCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..3b2ec09e
--- /dev/null
+++ b/protocol/proto/GetCustomDungeonRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6227
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ BanInfo *CustomDungeonBanInfo `protobuf:"bytes,14,opt,name=ban_info,json=banInfo,proto3" json:"ban_info,omitempty"`
+ BriefList []*CustomDungeonBrief `protobuf:"bytes,5,rep,name=brief_list,json=briefList,proto3" json:"brief_list,omitempty"`
+}
+
+func (x *GetCustomDungeonRsp) Reset() {
+ *x = GetCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetCustomDungeonRsp) ProtoMessage() {}
+
+func (x *GetCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*GetCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_GetCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetCustomDungeonRsp) GetBanInfo() *CustomDungeonBanInfo {
+ if x != nil {
+ return x.BanInfo
+ }
+ return nil
+}
+
+func (x *GetCustomDungeonRsp) GetBriefList() []*CustomDungeonBrief {
+ if x != nil {
+ return x.BriefList
+ }
+ return nil
+}
+
+var File_GetCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_GetCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x42, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x62, 0x61,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x42, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x62, 0x61, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x0a, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x52, 0x09, 0x62, 0x72, 0x69, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_GetCustomDungeonRsp_proto_rawDescData = file_GetCustomDungeonRsp_proto_rawDesc
+)
+
+func file_GetCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_GetCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_GetCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_GetCustomDungeonRsp_proto_rawDescData
+}
+
+var file_GetCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*GetCustomDungeonRsp)(nil), // 0: proto.GetCustomDungeonRsp
+ (*CustomDungeonBanInfo)(nil), // 1: proto.CustomDungeonBanInfo
+ (*CustomDungeonBrief)(nil), // 2: proto.CustomDungeonBrief
+}
+var file_GetCustomDungeonRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetCustomDungeonRsp.ban_info:type_name -> proto.CustomDungeonBanInfo
+ 2, // 1: proto.GetCustomDungeonRsp.brief_list:type_name -> proto.CustomDungeonBrief
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GetCustomDungeonRsp_proto_init() }
+func file_GetCustomDungeonRsp_proto_init() {
+ if File_GetCustomDungeonRsp_proto != nil {
+ return
+ }
+ file_CustomDungeonBanInfo_proto_init()
+ file_CustomDungeonBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_GetCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_GetCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_GetCustomDungeonRsp_proto = out.File
+ file_GetCustomDungeonRsp_proto_rawDesc = nil
+ file_GetCustomDungeonRsp_proto_goTypes = nil
+ file_GetCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetDailyDungeonEntryInfoReq.pb.go b/protocol/proto/GetDailyDungeonEntryInfoReq.pb.go
new file mode 100644
index 00000000..00a0bcb7
--- /dev/null
+++ b/protocol/proto/GetDailyDungeonEntryInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetDailyDungeonEntryInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 930
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetDailyDungeonEntryInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,15,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *GetDailyDungeonEntryInfoReq) Reset() {
+ *x = GetDailyDungeonEntryInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetDailyDungeonEntryInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetDailyDungeonEntryInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetDailyDungeonEntryInfoReq) ProtoMessage() {}
+
+func (x *GetDailyDungeonEntryInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetDailyDungeonEntryInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetDailyDungeonEntryInfoReq.ProtoReflect.Descriptor instead.
+func (*GetDailyDungeonEntryInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetDailyDungeonEntryInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetDailyDungeonEntryInfoReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_GetDailyDungeonEntryInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetDailyDungeonEntryInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1b, 0x47, 0x65,
+ 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetDailyDungeonEntryInfoReq_proto_rawDescOnce sync.Once
+ file_GetDailyDungeonEntryInfoReq_proto_rawDescData = file_GetDailyDungeonEntryInfoReq_proto_rawDesc
+)
+
+func file_GetDailyDungeonEntryInfoReq_proto_rawDescGZIP() []byte {
+ file_GetDailyDungeonEntryInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetDailyDungeonEntryInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetDailyDungeonEntryInfoReq_proto_rawDescData)
+ })
+ return file_GetDailyDungeonEntryInfoReq_proto_rawDescData
+}
+
+var file_GetDailyDungeonEntryInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetDailyDungeonEntryInfoReq_proto_goTypes = []interface{}{
+ (*GetDailyDungeonEntryInfoReq)(nil), // 0: proto.GetDailyDungeonEntryInfoReq
+}
+var file_GetDailyDungeonEntryInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetDailyDungeonEntryInfoReq_proto_init() }
+func file_GetDailyDungeonEntryInfoReq_proto_init() {
+ if File_GetDailyDungeonEntryInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetDailyDungeonEntryInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetDailyDungeonEntryInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetDailyDungeonEntryInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetDailyDungeonEntryInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetDailyDungeonEntryInfoReq_proto_depIdxs,
+ MessageInfos: file_GetDailyDungeonEntryInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetDailyDungeonEntryInfoReq_proto = out.File
+ file_GetDailyDungeonEntryInfoReq_proto_rawDesc = nil
+ file_GetDailyDungeonEntryInfoReq_proto_goTypes = nil
+ file_GetDailyDungeonEntryInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetDailyDungeonEntryInfoRsp.pb.go b/protocol/proto/GetDailyDungeonEntryInfoRsp.pb.go
new file mode 100644
index 00000000..107df994
--- /dev/null
+++ b/protocol/proto/GetDailyDungeonEntryInfoRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetDailyDungeonEntryInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 967
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetDailyDungeonEntryInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DailyDungeonInfoList []*DailyDungeonEntryInfo `protobuf:"bytes,2,rep,name=daily_dungeon_info_list,json=dailyDungeonInfoList,proto3" json:"daily_dungeon_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetDailyDungeonEntryInfoRsp) Reset() {
+ *x = GetDailyDungeonEntryInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetDailyDungeonEntryInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetDailyDungeonEntryInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetDailyDungeonEntryInfoRsp) ProtoMessage() {}
+
+func (x *GetDailyDungeonEntryInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetDailyDungeonEntryInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetDailyDungeonEntryInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetDailyDungeonEntryInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetDailyDungeonEntryInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetDailyDungeonEntryInfoRsp) GetDailyDungeonInfoList() []*DailyDungeonEntryInfo {
+ if x != nil {
+ return x.DailyDungeonInfoList
+ }
+ return nil
+}
+
+func (x *GetDailyDungeonEntryInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetDailyDungeonEntryInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetDailyDungeonEntryInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x44, 0x61, 0x69, 0x6c,
+ 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44,
+ 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x53, 0x0a, 0x17, 0x64, 0x61, 0x69, 0x6c, 0x79,
+ 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetDailyDungeonEntryInfoRsp_proto_rawDescOnce sync.Once
+ file_GetDailyDungeonEntryInfoRsp_proto_rawDescData = file_GetDailyDungeonEntryInfoRsp_proto_rawDesc
+)
+
+func file_GetDailyDungeonEntryInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetDailyDungeonEntryInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetDailyDungeonEntryInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetDailyDungeonEntryInfoRsp_proto_rawDescData)
+ })
+ return file_GetDailyDungeonEntryInfoRsp_proto_rawDescData
+}
+
+var file_GetDailyDungeonEntryInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetDailyDungeonEntryInfoRsp_proto_goTypes = []interface{}{
+ (*GetDailyDungeonEntryInfoRsp)(nil), // 0: proto.GetDailyDungeonEntryInfoRsp
+ (*DailyDungeonEntryInfo)(nil), // 1: proto.DailyDungeonEntryInfo
+}
+var file_GetDailyDungeonEntryInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetDailyDungeonEntryInfoRsp.daily_dungeon_info_list:type_name -> proto.DailyDungeonEntryInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetDailyDungeonEntryInfoRsp_proto_init() }
+func file_GetDailyDungeonEntryInfoRsp_proto_init() {
+ if File_GetDailyDungeonEntryInfoRsp_proto != nil {
+ return
+ }
+ file_DailyDungeonEntryInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetDailyDungeonEntryInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetDailyDungeonEntryInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetDailyDungeonEntryInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetDailyDungeonEntryInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetDailyDungeonEntryInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetDailyDungeonEntryInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetDailyDungeonEntryInfoRsp_proto = out.File
+ file_GetDailyDungeonEntryInfoRsp_proto_rawDesc = nil
+ file_GetDailyDungeonEntryInfoRsp_proto_goTypes = nil
+ file_GetDailyDungeonEntryInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetDungeonEntryExploreConditionReq.pb.go b/protocol/proto/GetDungeonEntryExploreConditionReq.pb.go
new file mode 100644
index 00000000..c6081d8f
--- /dev/null
+++ b/protocol/proto/GetDungeonEntryExploreConditionReq.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetDungeonEntryExploreConditionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3165
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetDungeonEntryExploreConditionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,6,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ DungeonEntryConfigId uint32 `protobuf:"varint,2,opt,name=dungeon_entry_config_id,json=dungeonEntryConfigId,proto3" json:"dungeon_entry_config_id,omitempty"`
+ DungeonEntryScenePointId uint32 `protobuf:"varint,4,opt,name=dungeon_entry_scene_point_id,json=dungeonEntryScenePointId,proto3" json:"dungeon_entry_scene_point_id,omitempty"`
+}
+
+func (x *GetDungeonEntryExploreConditionReq) Reset() {
+ *x = GetDungeonEntryExploreConditionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetDungeonEntryExploreConditionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetDungeonEntryExploreConditionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetDungeonEntryExploreConditionReq) ProtoMessage() {}
+
+func (x *GetDungeonEntryExploreConditionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetDungeonEntryExploreConditionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetDungeonEntryExploreConditionReq.ProtoReflect.Descriptor instead.
+func (*GetDungeonEntryExploreConditionReq) Descriptor() ([]byte, []int) {
+ return file_GetDungeonEntryExploreConditionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetDungeonEntryExploreConditionReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *GetDungeonEntryExploreConditionReq) GetDungeonEntryConfigId() uint32 {
+ if x != nil {
+ return x.DungeonEntryConfigId
+ }
+ return 0
+}
+
+func (x *GetDungeonEntryExploreConditionReq) GetDungeonEntryScenePointId() uint32 {
+ if x != nil {
+ return x.DungeonEntryScenePointId
+ }
+ return 0
+}
+
+var File_GetDungeonEntryExploreConditionReq_proto protoreflect.FileDescriptor
+
+var file_GetDungeonEntryExploreConditionReq_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x47, 0x65, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65,
+ 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x1c, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x18, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetDungeonEntryExploreConditionReq_proto_rawDescOnce sync.Once
+ file_GetDungeonEntryExploreConditionReq_proto_rawDescData = file_GetDungeonEntryExploreConditionReq_proto_rawDesc
+)
+
+func file_GetDungeonEntryExploreConditionReq_proto_rawDescGZIP() []byte {
+ file_GetDungeonEntryExploreConditionReq_proto_rawDescOnce.Do(func() {
+ file_GetDungeonEntryExploreConditionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetDungeonEntryExploreConditionReq_proto_rawDescData)
+ })
+ return file_GetDungeonEntryExploreConditionReq_proto_rawDescData
+}
+
+var file_GetDungeonEntryExploreConditionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetDungeonEntryExploreConditionReq_proto_goTypes = []interface{}{
+ (*GetDungeonEntryExploreConditionReq)(nil), // 0: proto.GetDungeonEntryExploreConditionReq
+}
+var file_GetDungeonEntryExploreConditionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetDungeonEntryExploreConditionReq_proto_init() }
+func file_GetDungeonEntryExploreConditionReq_proto_init() {
+ if File_GetDungeonEntryExploreConditionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetDungeonEntryExploreConditionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetDungeonEntryExploreConditionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetDungeonEntryExploreConditionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetDungeonEntryExploreConditionReq_proto_goTypes,
+ DependencyIndexes: file_GetDungeonEntryExploreConditionReq_proto_depIdxs,
+ MessageInfos: file_GetDungeonEntryExploreConditionReq_proto_msgTypes,
+ }.Build()
+ File_GetDungeonEntryExploreConditionReq_proto = out.File
+ file_GetDungeonEntryExploreConditionReq_proto_rawDesc = nil
+ file_GetDungeonEntryExploreConditionReq_proto_goTypes = nil
+ file_GetDungeonEntryExploreConditionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetDungeonEntryExploreConditionRsp.pb.go b/protocol/proto/GetDungeonEntryExploreConditionRsp.pb.go
new file mode 100644
index 00000000..808efe75
--- /dev/null
+++ b/protocol/proto/GetDungeonEntryExploreConditionRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetDungeonEntryExploreConditionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3269
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetDungeonEntryExploreConditionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonEntryCond *DungeonEntryCond `protobuf:"bytes,5,opt,name=dungeon_entry_cond,json=dungeonEntryCond,proto3" json:"dungeon_entry_cond,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetDungeonEntryExploreConditionRsp) Reset() {
+ *x = GetDungeonEntryExploreConditionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetDungeonEntryExploreConditionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetDungeonEntryExploreConditionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetDungeonEntryExploreConditionRsp) ProtoMessage() {}
+
+func (x *GetDungeonEntryExploreConditionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetDungeonEntryExploreConditionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetDungeonEntryExploreConditionRsp.ProtoReflect.Descriptor instead.
+func (*GetDungeonEntryExploreConditionRsp) Descriptor() ([]byte, []int) {
+ return file_GetDungeonEntryExploreConditionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetDungeonEntryExploreConditionRsp) GetDungeonEntryCond() *DungeonEntryCond {
+ if x != nil {
+ return x.DungeonEntryCond
+ }
+ return nil
+}
+
+func (x *GetDungeonEntryExploreConditionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetDungeonEntryExploreConditionRsp_proto protoreflect.FileDescriptor
+
+var file_GetDungeonEntryExploreConditionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x47, 0x65, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x16, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x43,
+ 0x6f, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x22, 0x47, 0x65,
+ 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x45, 0x78, 0x70,
+ 0x6c, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70,
+ 0x12, 0x45, 0x0a, 0x12, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72,
+ 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x52, 0x10, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetDungeonEntryExploreConditionRsp_proto_rawDescOnce sync.Once
+ file_GetDungeonEntryExploreConditionRsp_proto_rawDescData = file_GetDungeonEntryExploreConditionRsp_proto_rawDesc
+)
+
+func file_GetDungeonEntryExploreConditionRsp_proto_rawDescGZIP() []byte {
+ file_GetDungeonEntryExploreConditionRsp_proto_rawDescOnce.Do(func() {
+ file_GetDungeonEntryExploreConditionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetDungeonEntryExploreConditionRsp_proto_rawDescData)
+ })
+ return file_GetDungeonEntryExploreConditionRsp_proto_rawDescData
+}
+
+var file_GetDungeonEntryExploreConditionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetDungeonEntryExploreConditionRsp_proto_goTypes = []interface{}{
+ (*GetDungeonEntryExploreConditionRsp)(nil), // 0: proto.GetDungeonEntryExploreConditionRsp
+ (*DungeonEntryCond)(nil), // 1: proto.DungeonEntryCond
+}
+var file_GetDungeonEntryExploreConditionRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetDungeonEntryExploreConditionRsp.dungeon_entry_cond:type_name -> proto.DungeonEntryCond
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetDungeonEntryExploreConditionRsp_proto_init() }
+func file_GetDungeonEntryExploreConditionRsp_proto_init() {
+ if File_GetDungeonEntryExploreConditionRsp_proto != nil {
+ return
+ }
+ file_DungeonEntryCond_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetDungeonEntryExploreConditionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetDungeonEntryExploreConditionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetDungeonEntryExploreConditionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetDungeonEntryExploreConditionRsp_proto_goTypes,
+ DependencyIndexes: file_GetDungeonEntryExploreConditionRsp_proto_depIdxs,
+ MessageInfos: file_GetDungeonEntryExploreConditionRsp_proto_msgTypes,
+ }.Build()
+ File_GetDungeonEntryExploreConditionRsp_proto = out.File
+ file_GetDungeonEntryExploreConditionRsp_proto_rawDesc = nil
+ file_GetDungeonEntryExploreConditionRsp_proto_goTypes = nil
+ file_GetDungeonEntryExploreConditionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetExpeditionAssistInfoListReq.pb.go b/protocol/proto/GetExpeditionAssistInfoListReq.pb.go
new file mode 100644
index 00000000..67041029
--- /dev/null
+++ b/protocol/proto/GetExpeditionAssistInfoListReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetExpeditionAssistInfoListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2150
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetExpeditionAssistInfoListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetExpeditionAssistInfoListReq) Reset() {
+ *x = GetExpeditionAssistInfoListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetExpeditionAssistInfoListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetExpeditionAssistInfoListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetExpeditionAssistInfoListReq) ProtoMessage() {}
+
+func (x *GetExpeditionAssistInfoListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetExpeditionAssistInfoListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetExpeditionAssistInfoListReq.ProtoReflect.Descriptor instead.
+func (*GetExpeditionAssistInfoListReq) Descriptor() ([]byte, []int) {
+ return file_GetExpeditionAssistInfoListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetExpeditionAssistInfoListReq_proto protoreflect.FileDescriptor
+
+var file_GetExpeditionAssistInfoListReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41,
+ 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x73,
+ 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetExpeditionAssistInfoListReq_proto_rawDescOnce sync.Once
+ file_GetExpeditionAssistInfoListReq_proto_rawDescData = file_GetExpeditionAssistInfoListReq_proto_rawDesc
+)
+
+func file_GetExpeditionAssistInfoListReq_proto_rawDescGZIP() []byte {
+ file_GetExpeditionAssistInfoListReq_proto_rawDescOnce.Do(func() {
+ file_GetExpeditionAssistInfoListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetExpeditionAssistInfoListReq_proto_rawDescData)
+ })
+ return file_GetExpeditionAssistInfoListReq_proto_rawDescData
+}
+
+var file_GetExpeditionAssistInfoListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetExpeditionAssistInfoListReq_proto_goTypes = []interface{}{
+ (*GetExpeditionAssistInfoListReq)(nil), // 0: proto.GetExpeditionAssistInfoListReq
+}
+var file_GetExpeditionAssistInfoListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetExpeditionAssistInfoListReq_proto_init() }
+func file_GetExpeditionAssistInfoListReq_proto_init() {
+ if File_GetExpeditionAssistInfoListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetExpeditionAssistInfoListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetExpeditionAssistInfoListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetExpeditionAssistInfoListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetExpeditionAssistInfoListReq_proto_goTypes,
+ DependencyIndexes: file_GetExpeditionAssistInfoListReq_proto_depIdxs,
+ MessageInfos: file_GetExpeditionAssistInfoListReq_proto_msgTypes,
+ }.Build()
+ File_GetExpeditionAssistInfoListReq_proto = out.File
+ file_GetExpeditionAssistInfoListReq_proto_rawDesc = nil
+ file_GetExpeditionAssistInfoListReq_proto_goTypes = nil
+ file_GetExpeditionAssistInfoListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetExpeditionAssistInfoListRsp.pb.go b/protocol/proto/GetExpeditionAssistInfoListRsp.pb.go
new file mode 100644
index 00000000..da30099a
--- /dev/null
+++ b/protocol/proto/GetExpeditionAssistInfoListRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetExpeditionAssistInfoListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2035
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetExpeditionAssistInfoListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AssistInfoList []*ExpeditionAssistInfo `protobuf:"bytes,6,rep,name=assist_info_list,json=assistInfoList,proto3" json:"assist_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetExpeditionAssistInfoListRsp) Reset() {
+ *x = GetExpeditionAssistInfoListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetExpeditionAssistInfoListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetExpeditionAssistInfoListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetExpeditionAssistInfoListRsp) ProtoMessage() {}
+
+func (x *GetExpeditionAssistInfoListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetExpeditionAssistInfoListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetExpeditionAssistInfoListRsp.ProtoReflect.Descriptor instead.
+func (*GetExpeditionAssistInfoListRsp) Descriptor() ([]byte, []int) {
+ return file_GetExpeditionAssistInfoListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetExpeditionAssistInfoListRsp) GetAssistInfoList() []*ExpeditionAssistInfo {
+ if x != nil {
+ return x.AssistInfoList
+ }
+ return nil
+}
+
+func (x *GetExpeditionAssistInfoListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetExpeditionAssistInfoListRsp_proto protoreflect.FileDescriptor
+
+var file_GetExpeditionAssistInfoListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41,
+ 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x45,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x1e, 0x47, 0x65,
+ 0x74, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x73, 0x73, 0x69, 0x73,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x10,
+ 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45,
+ 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetExpeditionAssistInfoListRsp_proto_rawDescOnce sync.Once
+ file_GetExpeditionAssistInfoListRsp_proto_rawDescData = file_GetExpeditionAssistInfoListRsp_proto_rawDesc
+)
+
+func file_GetExpeditionAssistInfoListRsp_proto_rawDescGZIP() []byte {
+ file_GetExpeditionAssistInfoListRsp_proto_rawDescOnce.Do(func() {
+ file_GetExpeditionAssistInfoListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetExpeditionAssistInfoListRsp_proto_rawDescData)
+ })
+ return file_GetExpeditionAssistInfoListRsp_proto_rawDescData
+}
+
+var file_GetExpeditionAssistInfoListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetExpeditionAssistInfoListRsp_proto_goTypes = []interface{}{
+ (*GetExpeditionAssistInfoListRsp)(nil), // 0: proto.GetExpeditionAssistInfoListRsp
+ (*ExpeditionAssistInfo)(nil), // 1: proto.ExpeditionAssistInfo
+}
+var file_GetExpeditionAssistInfoListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetExpeditionAssistInfoListRsp.assist_info_list:type_name -> proto.ExpeditionAssistInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetExpeditionAssistInfoListRsp_proto_init() }
+func file_GetExpeditionAssistInfoListRsp_proto_init() {
+ if File_GetExpeditionAssistInfoListRsp_proto != nil {
+ return
+ }
+ file_ExpeditionAssistInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetExpeditionAssistInfoListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetExpeditionAssistInfoListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetExpeditionAssistInfoListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetExpeditionAssistInfoListRsp_proto_goTypes,
+ DependencyIndexes: file_GetExpeditionAssistInfoListRsp_proto_depIdxs,
+ MessageInfos: file_GetExpeditionAssistInfoListRsp_proto_msgTypes,
+ }.Build()
+ File_GetExpeditionAssistInfoListRsp_proto = out.File
+ file_GetExpeditionAssistInfoListRsp_proto_rawDesc = nil
+ file_GetExpeditionAssistInfoListRsp_proto_goTypes = nil
+ file_GetExpeditionAssistInfoListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetFriendShowAvatarInfoReq.pb.go b/protocol/proto/GetFriendShowAvatarInfoReq.pb.go
new file mode 100644
index 00000000..c292902d
--- /dev/null
+++ b/protocol/proto/GetFriendShowAvatarInfoReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetFriendShowAvatarInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4070
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetFriendShowAvatarInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,15,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GetFriendShowAvatarInfoReq) Reset() {
+ *x = GetFriendShowAvatarInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetFriendShowAvatarInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetFriendShowAvatarInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetFriendShowAvatarInfoReq) ProtoMessage() {}
+
+func (x *GetFriendShowAvatarInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetFriendShowAvatarInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetFriendShowAvatarInfoReq.ProtoReflect.Descriptor instead.
+func (*GetFriendShowAvatarInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetFriendShowAvatarInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetFriendShowAvatarInfoReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GetFriendShowAvatarInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetFriendShowAvatarInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x1a, 0x47, 0x65, 0x74,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetFriendShowAvatarInfoReq_proto_rawDescOnce sync.Once
+ file_GetFriendShowAvatarInfoReq_proto_rawDescData = file_GetFriendShowAvatarInfoReq_proto_rawDesc
+)
+
+func file_GetFriendShowAvatarInfoReq_proto_rawDescGZIP() []byte {
+ file_GetFriendShowAvatarInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetFriendShowAvatarInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetFriendShowAvatarInfoReq_proto_rawDescData)
+ })
+ return file_GetFriendShowAvatarInfoReq_proto_rawDescData
+}
+
+var file_GetFriendShowAvatarInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetFriendShowAvatarInfoReq_proto_goTypes = []interface{}{
+ (*GetFriendShowAvatarInfoReq)(nil), // 0: proto.GetFriendShowAvatarInfoReq
+}
+var file_GetFriendShowAvatarInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetFriendShowAvatarInfoReq_proto_init() }
+func file_GetFriendShowAvatarInfoReq_proto_init() {
+ if File_GetFriendShowAvatarInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetFriendShowAvatarInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetFriendShowAvatarInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetFriendShowAvatarInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetFriendShowAvatarInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetFriendShowAvatarInfoReq_proto_depIdxs,
+ MessageInfos: file_GetFriendShowAvatarInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetFriendShowAvatarInfoReq_proto = out.File
+ file_GetFriendShowAvatarInfoReq_proto_rawDesc = nil
+ file_GetFriendShowAvatarInfoReq_proto_goTypes = nil
+ file_GetFriendShowAvatarInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetFriendShowAvatarInfoRsp.pb.go b/protocol/proto/GetFriendShowAvatarInfoRsp.pb.go
new file mode 100644
index 00000000..304dc2e2
--- /dev/null
+++ b/protocol/proto/GetFriendShowAvatarInfoRsp.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetFriendShowAvatarInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4017
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetFriendShowAvatarInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,6,opt,name=uid,proto3" json:"uid,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ShowAvatarInfoList []*ShowAvatarInfo `protobuf:"bytes,9,rep,name=show_avatar_info_list,json=showAvatarInfoList,proto3" json:"show_avatar_info_list,omitempty"`
+}
+
+func (x *GetFriendShowAvatarInfoRsp) Reset() {
+ *x = GetFriendShowAvatarInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetFriendShowAvatarInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetFriendShowAvatarInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetFriendShowAvatarInfoRsp) ProtoMessage() {}
+
+func (x *GetFriendShowAvatarInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetFriendShowAvatarInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetFriendShowAvatarInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetFriendShowAvatarInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetFriendShowAvatarInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetFriendShowAvatarInfoRsp) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *GetFriendShowAvatarInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetFriendShowAvatarInfoRsp) GetShowAvatarInfoList() []*ShowAvatarInfo {
+ if x != nil {
+ return x.ShowAvatarInfoList
+ }
+ return nil
+}
+
+var File_GetFriendShowAvatarInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetFriendShowAvatarInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x53, 0x68, 0x6f, 0x77, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x92, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x6f,
+ 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x48, 0x0a, 0x15, 0x73, 0x68,
+ 0x6f, 0x77, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetFriendShowAvatarInfoRsp_proto_rawDescOnce sync.Once
+ file_GetFriendShowAvatarInfoRsp_proto_rawDescData = file_GetFriendShowAvatarInfoRsp_proto_rawDesc
+)
+
+func file_GetFriendShowAvatarInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetFriendShowAvatarInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetFriendShowAvatarInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetFriendShowAvatarInfoRsp_proto_rawDescData)
+ })
+ return file_GetFriendShowAvatarInfoRsp_proto_rawDescData
+}
+
+var file_GetFriendShowAvatarInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetFriendShowAvatarInfoRsp_proto_goTypes = []interface{}{
+ (*GetFriendShowAvatarInfoRsp)(nil), // 0: proto.GetFriendShowAvatarInfoRsp
+ (*ShowAvatarInfo)(nil), // 1: proto.ShowAvatarInfo
+}
+var file_GetFriendShowAvatarInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetFriendShowAvatarInfoRsp.show_avatar_info_list:type_name -> proto.ShowAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetFriendShowAvatarInfoRsp_proto_init() }
+func file_GetFriendShowAvatarInfoRsp_proto_init() {
+ if File_GetFriendShowAvatarInfoRsp_proto != nil {
+ return
+ }
+ file_ShowAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetFriendShowAvatarInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetFriendShowAvatarInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetFriendShowAvatarInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetFriendShowAvatarInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetFriendShowAvatarInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetFriendShowAvatarInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetFriendShowAvatarInfoRsp_proto = out.File
+ file_GetFriendShowAvatarInfoRsp_proto_rawDesc = nil
+ file_GetFriendShowAvatarInfoRsp_proto_goTypes = nil
+ file_GetFriendShowAvatarInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetFriendShowNameCardInfoReq.pb.go b/protocol/proto/GetFriendShowNameCardInfoReq.pb.go
new file mode 100644
index 00000000..aa020c33
--- /dev/null
+++ b/protocol/proto/GetFriendShowNameCardInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetFriendShowNameCardInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4061
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetFriendShowNameCardInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,3,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GetFriendShowNameCardInfoReq) Reset() {
+ *x = GetFriendShowNameCardInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetFriendShowNameCardInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetFriendShowNameCardInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetFriendShowNameCardInfoReq) ProtoMessage() {}
+
+func (x *GetFriendShowNameCardInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetFriendShowNameCardInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetFriendShowNameCardInfoReq.ProtoReflect.Descriptor instead.
+func (*GetFriendShowNameCardInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetFriendShowNameCardInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetFriendShowNameCardInfoReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GetFriendShowNameCardInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetFriendShowNameCardInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x4e,
+ 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x1c, 0x47,
+ 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65,
+ 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetFriendShowNameCardInfoReq_proto_rawDescOnce sync.Once
+ file_GetFriendShowNameCardInfoReq_proto_rawDescData = file_GetFriendShowNameCardInfoReq_proto_rawDesc
+)
+
+func file_GetFriendShowNameCardInfoReq_proto_rawDescGZIP() []byte {
+ file_GetFriendShowNameCardInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetFriendShowNameCardInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetFriendShowNameCardInfoReq_proto_rawDescData)
+ })
+ return file_GetFriendShowNameCardInfoReq_proto_rawDescData
+}
+
+var file_GetFriendShowNameCardInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetFriendShowNameCardInfoReq_proto_goTypes = []interface{}{
+ (*GetFriendShowNameCardInfoReq)(nil), // 0: proto.GetFriendShowNameCardInfoReq
+}
+var file_GetFriendShowNameCardInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetFriendShowNameCardInfoReq_proto_init() }
+func file_GetFriendShowNameCardInfoReq_proto_init() {
+ if File_GetFriendShowNameCardInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetFriendShowNameCardInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetFriendShowNameCardInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetFriendShowNameCardInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetFriendShowNameCardInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetFriendShowNameCardInfoReq_proto_depIdxs,
+ MessageInfos: file_GetFriendShowNameCardInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetFriendShowNameCardInfoReq_proto = out.File
+ file_GetFriendShowNameCardInfoReq_proto_rawDesc = nil
+ file_GetFriendShowNameCardInfoReq_proto_goTypes = nil
+ file_GetFriendShowNameCardInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetFriendShowNameCardInfoRsp.pb.go b/protocol/proto/GetFriendShowNameCardInfoRsp.pb.go
new file mode 100644
index 00000000..717be2f2
--- /dev/null
+++ b/protocol/proto/GetFriendShowNameCardInfoRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetFriendShowNameCardInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4029
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetFriendShowNameCardInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Uid uint32 `protobuf:"varint,7,opt,name=uid,proto3" json:"uid,omitempty"`
+ ShowNameCardIdList []uint32 `protobuf:"varint,10,rep,packed,name=show_name_card_id_list,json=showNameCardIdList,proto3" json:"show_name_card_id_list,omitempty"`
+}
+
+func (x *GetFriendShowNameCardInfoRsp) Reset() {
+ *x = GetFriendShowNameCardInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetFriendShowNameCardInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetFriendShowNameCardInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetFriendShowNameCardInfoRsp) ProtoMessage() {}
+
+func (x *GetFriendShowNameCardInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetFriendShowNameCardInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetFriendShowNameCardInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetFriendShowNameCardInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetFriendShowNameCardInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetFriendShowNameCardInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetFriendShowNameCardInfoRsp) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *GetFriendShowNameCardInfoRsp) GetShowNameCardIdList() []uint32 {
+ if x != nil {
+ return x.ShowNameCardIdList
+ }
+ return nil
+}
+
+var File_GetFriendShowNameCardInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetFriendShowNameCardInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x4e,
+ 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x1c, 0x47,
+ 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65,
+ 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d,
+ 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetFriendShowNameCardInfoRsp_proto_rawDescOnce sync.Once
+ file_GetFriendShowNameCardInfoRsp_proto_rawDescData = file_GetFriendShowNameCardInfoRsp_proto_rawDesc
+)
+
+func file_GetFriendShowNameCardInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetFriendShowNameCardInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetFriendShowNameCardInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetFriendShowNameCardInfoRsp_proto_rawDescData)
+ })
+ return file_GetFriendShowNameCardInfoRsp_proto_rawDescData
+}
+
+var file_GetFriendShowNameCardInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetFriendShowNameCardInfoRsp_proto_goTypes = []interface{}{
+ (*GetFriendShowNameCardInfoRsp)(nil), // 0: proto.GetFriendShowNameCardInfoRsp
+}
+var file_GetFriendShowNameCardInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetFriendShowNameCardInfoRsp_proto_init() }
+func file_GetFriendShowNameCardInfoRsp_proto_init() {
+ if File_GetFriendShowNameCardInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetFriendShowNameCardInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetFriendShowNameCardInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetFriendShowNameCardInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetFriendShowNameCardInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetFriendShowNameCardInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetFriendShowNameCardInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetFriendShowNameCardInfoRsp_proto = out.File
+ file_GetFriendShowNameCardInfoRsp_proto_rawDesc = nil
+ file_GetFriendShowNameCardInfoRsp_proto_goTypes = nil
+ file_GetFriendShowNameCardInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetFurnitureCurModuleArrangeCountReq.pb.go b/protocol/proto/GetFurnitureCurModuleArrangeCountReq.pb.go
new file mode 100644
index 00000000..b81985b8
--- /dev/null
+++ b/protocol/proto/GetFurnitureCurModuleArrangeCountReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetFurnitureCurModuleArrangeCountReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4711
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetFurnitureCurModuleArrangeCountReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetFurnitureCurModuleArrangeCountReq) Reset() {
+ *x = GetFurnitureCurModuleArrangeCountReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetFurnitureCurModuleArrangeCountReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetFurnitureCurModuleArrangeCountReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetFurnitureCurModuleArrangeCountReq) ProtoMessage() {}
+
+func (x *GetFurnitureCurModuleArrangeCountReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetFurnitureCurModuleArrangeCountReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetFurnitureCurModuleArrangeCountReq.ProtoReflect.Descriptor instead.
+func (*GetFurnitureCurModuleArrangeCountReq) Descriptor() ([]byte, []int) {
+ return file_GetFurnitureCurModuleArrangeCountReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetFurnitureCurModuleArrangeCountReq_proto protoreflect.FileDescriptor
+
+var file_GetFurnitureCurModuleArrangeCountReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x47, 0x65, 0x74, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x43, 0x75,
+ 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x26, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x43, 0x75, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x41, 0x72, 0x72, 0x61,
+ 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetFurnitureCurModuleArrangeCountReq_proto_rawDescOnce sync.Once
+ file_GetFurnitureCurModuleArrangeCountReq_proto_rawDescData = file_GetFurnitureCurModuleArrangeCountReq_proto_rawDesc
+)
+
+func file_GetFurnitureCurModuleArrangeCountReq_proto_rawDescGZIP() []byte {
+ file_GetFurnitureCurModuleArrangeCountReq_proto_rawDescOnce.Do(func() {
+ file_GetFurnitureCurModuleArrangeCountReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetFurnitureCurModuleArrangeCountReq_proto_rawDescData)
+ })
+ return file_GetFurnitureCurModuleArrangeCountReq_proto_rawDescData
+}
+
+var file_GetFurnitureCurModuleArrangeCountReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetFurnitureCurModuleArrangeCountReq_proto_goTypes = []interface{}{
+ (*GetFurnitureCurModuleArrangeCountReq)(nil), // 0: proto.GetFurnitureCurModuleArrangeCountReq
+}
+var file_GetFurnitureCurModuleArrangeCountReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetFurnitureCurModuleArrangeCountReq_proto_init() }
+func file_GetFurnitureCurModuleArrangeCountReq_proto_init() {
+ if File_GetFurnitureCurModuleArrangeCountReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetFurnitureCurModuleArrangeCountReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetFurnitureCurModuleArrangeCountReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetFurnitureCurModuleArrangeCountReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetFurnitureCurModuleArrangeCountReq_proto_goTypes,
+ DependencyIndexes: file_GetFurnitureCurModuleArrangeCountReq_proto_depIdxs,
+ MessageInfos: file_GetFurnitureCurModuleArrangeCountReq_proto_msgTypes,
+ }.Build()
+ File_GetFurnitureCurModuleArrangeCountReq_proto = out.File
+ file_GetFurnitureCurModuleArrangeCountReq_proto_rawDesc = nil
+ file_GetFurnitureCurModuleArrangeCountReq_proto_goTypes = nil
+ file_GetFurnitureCurModuleArrangeCountReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetGachaInfoReq.pb.go b/protocol/proto/GetGachaInfoReq.pb.go
new file mode 100644
index 00000000..41d14129
--- /dev/null
+++ b/protocol/proto/GetGachaInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetGachaInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1572
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetGachaInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetGachaInfoReq) Reset() {
+ *x = GetGachaInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetGachaInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetGachaInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetGachaInfoReq) ProtoMessage() {}
+
+func (x *GetGachaInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetGachaInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetGachaInfoReq.ProtoReflect.Descriptor instead.
+func (*GetGachaInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetGachaInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetGachaInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetGachaInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x11,
+ 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetGachaInfoReq_proto_rawDescOnce sync.Once
+ file_GetGachaInfoReq_proto_rawDescData = file_GetGachaInfoReq_proto_rawDesc
+)
+
+func file_GetGachaInfoReq_proto_rawDescGZIP() []byte {
+ file_GetGachaInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetGachaInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetGachaInfoReq_proto_rawDescData)
+ })
+ return file_GetGachaInfoReq_proto_rawDescData
+}
+
+var file_GetGachaInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetGachaInfoReq_proto_goTypes = []interface{}{
+ (*GetGachaInfoReq)(nil), // 0: proto.GetGachaInfoReq
+}
+var file_GetGachaInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetGachaInfoReq_proto_init() }
+func file_GetGachaInfoReq_proto_init() {
+ if File_GetGachaInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetGachaInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetGachaInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetGachaInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetGachaInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetGachaInfoReq_proto_depIdxs,
+ MessageInfos: file_GetGachaInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetGachaInfoReq_proto = out.File
+ file_GetGachaInfoReq_proto_rawDesc = nil
+ file_GetGachaInfoReq_proto_goTypes = nil
+ file_GetGachaInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetGachaInfoRsp.pb.go b/protocol/proto/GetGachaInfoRsp.pb.go
new file mode 100644
index 00000000..624cd93d
--- /dev/null
+++ b/protocol/proto/GetGachaInfoRsp.pb.go
@@ -0,0 +1,221 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetGachaInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1598
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetGachaInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsUnderGeneralRestrict bool `protobuf:"varint,6,opt,name=is_under_general_restrict,json=isUnderGeneralRestrict,proto3" json:"is_under_general_restrict,omitempty"`
+ GachaRandom uint32 `protobuf:"varint,9,opt,name=gacha_random,json=gachaRandom,proto3" json:"gacha_random,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsUnderMinorsRestrict bool `protobuf:"varint,2,opt,name=is_under_minors_restrict,json=isUnderMinorsRestrict,proto3" json:"is_under_minors_restrict,omitempty"`
+ DailyGachaTimes uint32 `protobuf:"varint,5,opt,name=daily_gacha_times,json=dailyGachaTimes,proto3" json:"daily_gacha_times,omitempty"`
+ GachaInfoList []*GachaInfo `protobuf:"bytes,13,rep,name=gacha_info_list,json=gachaInfoList,proto3" json:"gacha_info_list,omitempty"`
+}
+
+func (x *GetGachaInfoRsp) Reset() {
+ *x = GetGachaInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetGachaInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetGachaInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetGachaInfoRsp) ProtoMessage() {}
+
+func (x *GetGachaInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetGachaInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetGachaInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetGachaInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetGachaInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetGachaInfoRsp) GetIsUnderGeneralRestrict() bool {
+ if x != nil {
+ return x.IsUnderGeneralRestrict
+ }
+ return false
+}
+
+func (x *GetGachaInfoRsp) GetGachaRandom() uint32 {
+ if x != nil {
+ return x.GachaRandom
+ }
+ return 0
+}
+
+func (x *GetGachaInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetGachaInfoRsp) GetIsUnderMinorsRestrict() bool {
+ if x != nil {
+ return x.IsUnderMinorsRestrict
+ }
+ return false
+}
+
+func (x *GetGachaInfoRsp) GetDailyGachaTimes() uint32 {
+ if x != nil {
+ return x.DailyGachaTimes
+ }
+ return 0
+}
+
+func (x *GetGachaInfoRsp) GetGachaInfoList() []*GachaInfo {
+ if x != nil {
+ return x.GachaInfoList
+ }
+ return nil
+}
+
+var File_GetGachaInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetGachaInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x65, 0x74, 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
+ 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xa8, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x47,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x12, 0x21,
+ 0x0a, 0x0c, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x61, 0x63, 0x68, 0x61, 0x52, 0x61, 0x6e, 0x64, 0x6f,
+ 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69,
+ 0x73, 0x5f, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x5f, 0x72,
+ 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69,
+ 0x73, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x74,
+ 0x72, 0x69, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x67, 0x61,
+ 0x63, 0x68, 0x61, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x47, 0x61, 0x63, 0x68, 0x61, 0x54, 0x69, 0x6d, 0x65, 0x73,
+ 0x12, 0x38, 0x0a, 0x0f, 0x67, 0x61, 0x63, 0x68, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x47, 0x61, 0x63, 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x67, 0x61, 0x63,
+ 0x68, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetGachaInfoRsp_proto_rawDescOnce sync.Once
+ file_GetGachaInfoRsp_proto_rawDescData = file_GetGachaInfoRsp_proto_rawDesc
+)
+
+func file_GetGachaInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetGachaInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetGachaInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetGachaInfoRsp_proto_rawDescData)
+ })
+ return file_GetGachaInfoRsp_proto_rawDescData
+}
+
+var file_GetGachaInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetGachaInfoRsp_proto_goTypes = []interface{}{
+ (*GetGachaInfoRsp)(nil), // 0: proto.GetGachaInfoRsp
+ (*GachaInfo)(nil), // 1: proto.GachaInfo
+}
+var file_GetGachaInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetGachaInfoRsp.gacha_info_list:type_name -> proto.GachaInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetGachaInfoRsp_proto_init() }
+func file_GetGachaInfoRsp_proto_init() {
+ if File_GetGachaInfoRsp_proto != nil {
+ return
+ }
+ file_GachaInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetGachaInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetGachaInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetGachaInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetGachaInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetGachaInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetGachaInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetGachaInfoRsp_proto = out.File
+ file_GetGachaInfoRsp_proto_rawDesc = nil
+ file_GetGachaInfoRsp_proto_goTypes = nil
+ file_GetGachaInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetGameplayRecommendationReq.pb.go b/protocol/proto/GetGameplayRecommendationReq.pb.go
new file mode 100644
index 00000000..cfb23fc1
--- /dev/null
+++ b/protocol/proto/GetGameplayRecommendationReq.pb.go
@@ -0,0 +1,263 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetGameplayRecommendationReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 151
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetGameplayRecommendationReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,9,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *GetGameplayRecommendationReq_SkillRequest
+ // *GetGameplayRecommendationReq_ReliquaryRequest
+ // *GetGameplayRecommendationReq_ElementReliquaryRequest
+ Detail isGetGameplayRecommendationReq_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *GetGameplayRecommendationReq) Reset() {
+ *x = GetGameplayRecommendationReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetGameplayRecommendationReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetGameplayRecommendationReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetGameplayRecommendationReq) ProtoMessage() {}
+
+func (x *GetGameplayRecommendationReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetGameplayRecommendationReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetGameplayRecommendationReq.ProtoReflect.Descriptor instead.
+func (*GetGameplayRecommendationReq) Descriptor() ([]byte, []int) {
+ return file_GetGameplayRecommendationReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetGameplayRecommendationReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (m *GetGameplayRecommendationReq) GetDetail() isGetGameplayRecommendationReq_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *GetGameplayRecommendationReq) GetSkillRequest() *GameplayRecommendationSkillRequest {
+ if x, ok := x.GetDetail().(*GetGameplayRecommendationReq_SkillRequest); ok {
+ return x.SkillRequest
+ }
+ return nil
+}
+
+func (x *GetGameplayRecommendationReq) GetReliquaryRequest() *GameplayRecommendationReliquaryRequest {
+ if x, ok := x.GetDetail().(*GetGameplayRecommendationReq_ReliquaryRequest); ok {
+ return x.ReliquaryRequest
+ }
+ return nil
+}
+
+func (x *GetGameplayRecommendationReq) GetElementReliquaryRequest() *GameplayRecommendationElementReliquaryRequest {
+ if x, ok := x.GetDetail().(*GetGameplayRecommendationReq_ElementReliquaryRequest); ok {
+ return x.ElementReliquaryRequest
+ }
+ return nil
+}
+
+type isGetGameplayRecommendationReq_Detail interface {
+ isGetGameplayRecommendationReq_Detail()
+}
+
+type GetGameplayRecommendationReq_SkillRequest struct {
+ SkillRequest *GameplayRecommendationSkillRequest `protobuf:"bytes,553,opt,name=skill_request,json=skillRequest,proto3,oneof"`
+}
+
+type GetGameplayRecommendationReq_ReliquaryRequest struct {
+ ReliquaryRequest *GameplayRecommendationReliquaryRequest `protobuf:"bytes,1993,opt,name=reliquary_request,json=reliquaryRequest,proto3,oneof"`
+}
+
+type GetGameplayRecommendationReq_ElementReliquaryRequest struct {
+ ElementReliquaryRequest *GameplayRecommendationElementReliquaryRequest `protobuf:"bytes,1489,opt,name=element_reliquary_request,json=elementReliquaryRequest,proto3,oneof"`
+}
+
+func (*GetGameplayRecommendationReq_SkillRequest) isGetGameplayRecommendationReq_Detail() {}
+
+func (*GetGameplayRecommendationReq_ReliquaryRequest) isGetGameplayRecommendationReq_Detail() {}
+
+func (*GetGameplayRecommendationReq_ElementReliquaryRequest) isGetGameplayRecommendationReq_Detail() {
+}
+
+var File_GetGameplayRecommendationReq_proto protoreflect.FileDescriptor
+
+var file_GetGameplayRecommendationReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x47, 0x61, 0x6d,
+ 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75,
+ 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x2c, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72,
+ 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28,
+ 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+ 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x74,
+ 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
+ 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x51, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
+ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xa9, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52,
+ 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x11, 0x72, 0x65, 0x6c,
+ 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xc9,
+ 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61,
+ 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72,
+ 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x19, 0x65, 0x6c, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xd1, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x48, 0x00, 0x52, 0x17, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c,
+ 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x08, 0x0a,
+ 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetGameplayRecommendationReq_proto_rawDescOnce sync.Once
+ file_GetGameplayRecommendationReq_proto_rawDescData = file_GetGameplayRecommendationReq_proto_rawDesc
+)
+
+func file_GetGameplayRecommendationReq_proto_rawDescGZIP() []byte {
+ file_GetGameplayRecommendationReq_proto_rawDescOnce.Do(func() {
+ file_GetGameplayRecommendationReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetGameplayRecommendationReq_proto_rawDescData)
+ })
+ return file_GetGameplayRecommendationReq_proto_rawDescData
+}
+
+var file_GetGameplayRecommendationReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetGameplayRecommendationReq_proto_goTypes = []interface{}{
+ (*GetGameplayRecommendationReq)(nil), // 0: proto.GetGameplayRecommendationReq
+ (*GameplayRecommendationSkillRequest)(nil), // 1: proto.GameplayRecommendationSkillRequest
+ (*GameplayRecommendationReliquaryRequest)(nil), // 2: proto.GameplayRecommendationReliquaryRequest
+ (*GameplayRecommendationElementReliquaryRequest)(nil), // 3: proto.GameplayRecommendationElementReliquaryRequest
+}
+var file_GetGameplayRecommendationReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GetGameplayRecommendationReq.skill_request:type_name -> proto.GameplayRecommendationSkillRequest
+ 2, // 1: proto.GetGameplayRecommendationReq.reliquary_request:type_name -> proto.GameplayRecommendationReliquaryRequest
+ 3, // 2: proto.GetGameplayRecommendationReq.element_reliquary_request:type_name -> proto.GameplayRecommendationElementReliquaryRequest
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GetGameplayRecommendationReq_proto_init() }
+func file_GetGameplayRecommendationReq_proto_init() {
+ if File_GetGameplayRecommendationReq_proto != nil {
+ return
+ }
+ file_GameplayRecommendationElementReliquaryRequest_proto_init()
+ file_GameplayRecommendationReliquaryRequest_proto_init()
+ file_GameplayRecommendationSkillRequest_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetGameplayRecommendationReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetGameplayRecommendationReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GetGameplayRecommendationReq_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GetGameplayRecommendationReq_SkillRequest)(nil),
+ (*GetGameplayRecommendationReq_ReliquaryRequest)(nil),
+ (*GetGameplayRecommendationReq_ElementReliquaryRequest)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetGameplayRecommendationReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetGameplayRecommendationReq_proto_goTypes,
+ DependencyIndexes: file_GetGameplayRecommendationReq_proto_depIdxs,
+ MessageInfos: file_GetGameplayRecommendationReq_proto_msgTypes,
+ }.Build()
+ File_GetGameplayRecommendationReq_proto = out.File
+ file_GetGameplayRecommendationReq_proto_rawDesc = nil
+ file_GetGameplayRecommendationReq_proto_goTypes = nil
+ file_GetGameplayRecommendationReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetGameplayRecommendationRsp.pb.go b/protocol/proto/GetGameplayRecommendationRsp.pb.go
new file mode 100644
index 00000000..93f2a3ec
--- /dev/null
+++ b/protocol/proto/GetGameplayRecommendationRsp.pb.go
@@ -0,0 +1,273 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetGameplayRecommendationRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 123
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetGameplayRecommendationRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AvatarId uint32 `protobuf:"varint,15,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *GetGameplayRecommendationRsp_SkillResponse
+ // *GetGameplayRecommendationRsp_ReliquaryResponse
+ // *GetGameplayRecommendationRsp_ElementReliquaryResponse
+ Detail isGetGameplayRecommendationRsp_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *GetGameplayRecommendationRsp) Reset() {
+ *x = GetGameplayRecommendationRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetGameplayRecommendationRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetGameplayRecommendationRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetGameplayRecommendationRsp) ProtoMessage() {}
+
+func (x *GetGameplayRecommendationRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetGameplayRecommendationRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetGameplayRecommendationRsp.ProtoReflect.Descriptor instead.
+func (*GetGameplayRecommendationRsp) Descriptor() ([]byte, []int) {
+ return file_GetGameplayRecommendationRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetGameplayRecommendationRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetGameplayRecommendationRsp) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (m *GetGameplayRecommendationRsp) GetDetail() isGetGameplayRecommendationRsp_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *GetGameplayRecommendationRsp) GetSkillResponse() *GameplayRecommendationSkillResponse {
+ if x, ok := x.GetDetail().(*GetGameplayRecommendationRsp_SkillResponse); ok {
+ return x.SkillResponse
+ }
+ return nil
+}
+
+func (x *GetGameplayRecommendationRsp) GetReliquaryResponse() *GameplayRecommendationReliquaryResponse {
+ if x, ok := x.GetDetail().(*GetGameplayRecommendationRsp_ReliquaryResponse); ok {
+ return x.ReliquaryResponse
+ }
+ return nil
+}
+
+func (x *GetGameplayRecommendationRsp) GetElementReliquaryResponse() *GameplayRecommendationElementReliquaryResponse {
+ if x, ok := x.GetDetail().(*GetGameplayRecommendationRsp_ElementReliquaryResponse); ok {
+ return x.ElementReliquaryResponse
+ }
+ return nil
+}
+
+type isGetGameplayRecommendationRsp_Detail interface {
+ isGetGameplayRecommendationRsp_Detail()
+}
+
+type GetGameplayRecommendationRsp_SkillResponse struct {
+ SkillResponse *GameplayRecommendationSkillResponse `protobuf:"bytes,1022,opt,name=skill_response,json=skillResponse,proto3,oneof"`
+}
+
+type GetGameplayRecommendationRsp_ReliquaryResponse struct {
+ ReliquaryResponse *GameplayRecommendationReliquaryResponse `protobuf:"bytes,196,opt,name=reliquary_response,json=reliquaryResponse,proto3,oneof"`
+}
+
+type GetGameplayRecommendationRsp_ElementReliquaryResponse struct {
+ ElementReliquaryResponse *GameplayRecommendationElementReliquaryResponse `protobuf:"bytes,167,opt,name=element_reliquary_response,json=elementReliquaryResponse,proto3,oneof"`
+}
+
+func (*GetGameplayRecommendationRsp_SkillResponse) isGetGameplayRecommendationRsp_Detail() {}
+
+func (*GetGameplayRecommendationRsp_ReliquaryResponse) isGetGameplayRecommendationRsp_Detail() {}
+
+func (*GetGameplayRecommendationRsp_ElementReliquaryResponse) isGetGameplayRecommendationRsp_Detail() {
+}
+
+var File_GetGameplayRecommendationRsp_proto protoreflect.FileDescriptor
+
+var file_GetGameplayRecommendationRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x47, 0x61, 0x6d,
+ 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75,
+ 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x2d, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61,
+ 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x29, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x03, 0x0a, 0x1c,
+ 0x47, 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xfe, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x12, 0x72, 0x65, 0x6c,
+ 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18,
+ 0xc4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75,
+ 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, 0x1a, 0x65,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79,
+ 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x35, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x6c, 0x61,
+ 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x18, 0x65, 0x6c, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetGameplayRecommendationRsp_proto_rawDescOnce sync.Once
+ file_GetGameplayRecommendationRsp_proto_rawDescData = file_GetGameplayRecommendationRsp_proto_rawDesc
+)
+
+func file_GetGameplayRecommendationRsp_proto_rawDescGZIP() []byte {
+ file_GetGameplayRecommendationRsp_proto_rawDescOnce.Do(func() {
+ file_GetGameplayRecommendationRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetGameplayRecommendationRsp_proto_rawDescData)
+ })
+ return file_GetGameplayRecommendationRsp_proto_rawDescData
+}
+
+var file_GetGameplayRecommendationRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetGameplayRecommendationRsp_proto_goTypes = []interface{}{
+ (*GetGameplayRecommendationRsp)(nil), // 0: proto.GetGameplayRecommendationRsp
+ (*GameplayRecommendationSkillResponse)(nil), // 1: proto.GameplayRecommendationSkillResponse
+ (*GameplayRecommendationReliquaryResponse)(nil), // 2: proto.GameplayRecommendationReliquaryResponse
+ (*GameplayRecommendationElementReliquaryResponse)(nil), // 3: proto.GameplayRecommendationElementReliquaryResponse
+}
+var file_GetGameplayRecommendationRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetGameplayRecommendationRsp.skill_response:type_name -> proto.GameplayRecommendationSkillResponse
+ 2, // 1: proto.GetGameplayRecommendationRsp.reliquary_response:type_name -> proto.GameplayRecommendationReliquaryResponse
+ 3, // 2: proto.GetGameplayRecommendationRsp.element_reliquary_response:type_name -> proto.GameplayRecommendationElementReliquaryResponse
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GetGameplayRecommendationRsp_proto_init() }
+func file_GetGameplayRecommendationRsp_proto_init() {
+ if File_GetGameplayRecommendationRsp_proto != nil {
+ return
+ }
+ file_GameplayRecommendationElementReliquaryResponse_proto_init()
+ file_GameplayRecommendationReliquaryResponse_proto_init()
+ file_GameplayRecommendationSkillResponse_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetGameplayRecommendationRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetGameplayRecommendationRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GetGameplayRecommendationRsp_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GetGameplayRecommendationRsp_SkillResponse)(nil),
+ (*GetGameplayRecommendationRsp_ReliquaryResponse)(nil),
+ (*GetGameplayRecommendationRsp_ElementReliquaryResponse)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetGameplayRecommendationRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetGameplayRecommendationRsp_proto_goTypes,
+ DependencyIndexes: file_GetGameplayRecommendationRsp_proto_depIdxs,
+ MessageInfos: file_GetGameplayRecommendationRsp_proto_msgTypes,
+ }.Build()
+ File_GetGameplayRecommendationRsp_proto = out.File
+ file_GetGameplayRecommendationRsp_proto_rawDesc = nil
+ file_GetGameplayRecommendationRsp_proto_goTypes = nil
+ file_GetGameplayRecommendationRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetHomeExchangeWoodInfoReq.pb.go b/protocol/proto/GetHomeExchangeWoodInfoReq.pb.go
new file mode 100644
index 00000000..a7c2aac4
--- /dev/null
+++ b/protocol/proto/GetHomeExchangeWoodInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetHomeExchangeWoodInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4473
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetHomeExchangeWoodInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetHomeExchangeWoodInfoReq) Reset() {
+ *x = GetHomeExchangeWoodInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetHomeExchangeWoodInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHomeExchangeWoodInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHomeExchangeWoodInfoReq) ProtoMessage() {}
+
+func (x *GetHomeExchangeWoodInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetHomeExchangeWoodInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetHomeExchangeWoodInfoReq.ProtoReflect.Descriptor instead.
+func (*GetHomeExchangeWoodInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetHomeExchangeWoodInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetHomeExchangeWoodInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetHomeExchangeWoodInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x57, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x74,
+ 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x6f, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetHomeExchangeWoodInfoReq_proto_rawDescOnce sync.Once
+ file_GetHomeExchangeWoodInfoReq_proto_rawDescData = file_GetHomeExchangeWoodInfoReq_proto_rawDesc
+)
+
+func file_GetHomeExchangeWoodInfoReq_proto_rawDescGZIP() []byte {
+ file_GetHomeExchangeWoodInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetHomeExchangeWoodInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetHomeExchangeWoodInfoReq_proto_rawDescData)
+ })
+ return file_GetHomeExchangeWoodInfoReq_proto_rawDescData
+}
+
+var file_GetHomeExchangeWoodInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetHomeExchangeWoodInfoReq_proto_goTypes = []interface{}{
+ (*GetHomeExchangeWoodInfoReq)(nil), // 0: proto.GetHomeExchangeWoodInfoReq
+}
+var file_GetHomeExchangeWoodInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetHomeExchangeWoodInfoReq_proto_init() }
+func file_GetHomeExchangeWoodInfoReq_proto_init() {
+ if File_GetHomeExchangeWoodInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetHomeExchangeWoodInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHomeExchangeWoodInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetHomeExchangeWoodInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetHomeExchangeWoodInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetHomeExchangeWoodInfoReq_proto_depIdxs,
+ MessageInfos: file_GetHomeExchangeWoodInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetHomeExchangeWoodInfoReq_proto = out.File
+ file_GetHomeExchangeWoodInfoReq_proto_rawDesc = nil
+ file_GetHomeExchangeWoodInfoReq_proto_goTypes = nil
+ file_GetHomeExchangeWoodInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetHomeExchangeWoodInfoRsp.pb.go b/protocol/proto/GetHomeExchangeWoodInfoRsp.pb.go
new file mode 100644
index 00000000..7158480a
--- /dev/null
+++ b/protocol/proto/GetHomeExchangeWoodInfoRsp.pb.go
@@ -0,0 +1,273 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetHomeExchangeWoodInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4659
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetHomeExchangeWoodInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ WoodInfoList []*GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo `protobuf:"bytes,5,rep,name=wood_info_list,json=woodInfoList,proto3" json:"wood_info_list,omitempty"`
+}
+
+func (x *GetHomeExchangeWoodInfoRsp) Reset() {
+ *x = GetHomeExchangeWoodInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetHomeExchangeWoodInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHomeExchangeWoodInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHomeExchangeWoodInfoRsp) ProtoMessage() {}
+
+func (x *GetHomeExchangeWoodInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetHomeExchangeWoodInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetHomeExchangeWoodInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetHomeExchangeWoodInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetHomeExchangeWoodInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetHomeExchangeWoodInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetHomeExchangeWoodInfoRsp) GetWoodInfoList() []*GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo {
+ if x != nil {
+ return x.WoodInfoList
+ }
+ return nil
+}
+
+type GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExchangeLimit uint32 `protobuf:"varint,7,opt,name=exchange_limit,json=exchangeLimit,proto3" json:"exchange_limit,omitempty"`
+ ExchangedCount uint32 `protobuf:"varint,12,opt,name=exchanged_count,json=exchangedCount,proto3" json:"exchanged_count,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,14,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ WoodId uint32 `protobuf:"varint,2,opt,name=wood_id,json=woodId,proto3" json:"wood_id,omitempty"`
+}
+
+func (x *GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) Reset() {
+ *x = GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetHomeExchangeWoodInfoRsp_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) ProtoMessage() {}
+
+func (x *GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GetHomeExchangeWoodInfoRsp_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo.ProtoReflect.Descriptor instead.
+func (*GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) Descriptor() ([]byte, []int) {
+ return file_GetHomeExchangeWoodInfoRsp_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) GetExchangeLimit() uint32 {
+ if x != nil {
+ return x.ExchangeLimit
+ }
+ return 0
+}
+
+func (x *GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) GetExchangedCount() uint32 {
+ if x != nil {
+ return x.ExchangedCount
+ }
+ return 0
+}
+
+func (x *GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo) GetWoodId() uint32 {
+ if x != nil {
+ return x.WoodId
+ }
+ return 0
+}
+
+var File_GetHomeExchangeWoodInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetHomeExchangeWoodInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x57, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x02, 0x0a, 0x1a, 0x47, 0x65,
+ 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x6f,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x5c, 0x0a, 0x0e, 0x77, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x57, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x6f, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0c, 0x77, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x1a, 0xab, 0x01, 0x0a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x57, 0x6f, 0x6f, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x63,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
+ 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78,
+ 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x6f, 0x6f, 0x64, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetHomeExchangeWoodInfoRsp_proto_rawDescOnce sync.Once
+ file_GetHomeExchangeWoodInfoRsp_proto_rawDescData = file_GetHomeExchangeWoodInfoRsp_proto_rawDesc
+)
+
+func file_GetHomeExchangeWoodInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetHomeExchangeWoodInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetHomeExchangeWoodInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetHomeExchangeWoodInfoRsp_proto_rawDescData)
+ })
+ return file_GetHomeExchangeWoodInfoRsp_proto_rawDescData
+}
+
+var file_GetHomeExchangeWoodInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GetHomeExchangeWoodInfoRsp_proto_goTypes = []interface{}{
+ (*GetHomeExchangeWoodInfoRsp)(nil), // 0: proto.GetHomeExchangeWoodInfoRsp
+ (*GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo)(nil), // 1: proto.GetHomeExchangeWoodInfoRsp.HomeExchangeWoodInfo
+}
+var file_GetHomeExchangeWoodInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetHomeExchangeWoodInfoRsp.wood_info_list:type_name -> proto.GetHomeExchangeWoodInfoRsp.HomeExchangeWoodInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetHomeExchangeWoodInfoRsp_proto_init() }
+func file_GetHomeExchangeWoodInfoRsp_proto_init() {
+ if File_GetHomeExchangeWoodInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetHomeExchangeWoodInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHomeExchangeWoodInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_GetHomeExchangeWoodInfoRsp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHomeExchangeWoodInfoRsp_HomeExchangeWoodInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetHomeExchangeWoodInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetHomeExchangeWoodInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetHomeExchangeWoodInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetHomeExchangeWoodInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetHomeExchangeWoodInfoRsp_proto = out.File
+ file_GetHomeExchangeWoodInfoRsp_proto_rawDesc = nil
+ file_GetHomeExchangeWoodInfoRsp_proto_goTypes = nil
+ file_GetHomeExchangeWoodInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetHomeLevelUpRewardReq.pb.go b/protocol/proto/GetHomeLevelUpRewardReq.pb.go
new file mode 100644
index 00000000..2407c99d
--- /dev/null
+++ b/protocol/proto/GetHomeLevelUpRewardReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetHomeLevelUpRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4557
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetHomeLevelUpRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,15,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *GetHomeLevelUpRewardReq) Reset() {
+ *x = GetHomeLevelUpRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetHomeLevelUpRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHomeLevelUpRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHomeLevelUpRewardReq) ProtoMessage() {}
+
+func (x *GetHomeLevelUpRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetHomeLevelUpRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetHomeLevelUpRewardReq.ProtoReflect.Descriptor instead.
+func (*GetHomeLevelUpRewardReq) Descriptor() ([]byte, []int) {
+ return file_GetHomeLevelUpRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetHomeLevelUpRewardReq) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_GetHomeLevelUpRewardReq_proto protoreflect.FileDescriptor
+
+var file_GetHomeLevelUpRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d,
+ 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetHomeLevelUpRewardReq_proto_rawDescOnce sync.Once
+ file_GetHomeLevelUpRewardReq_proto_rawDescData = file_GetHomeLevelUpRewardReq_proto_rawDesc
+)
+
+func file_GetHomeLevelUpRewardReq_proto_rawDescGZIP() []byte {
+ file_GetHomeLevelUpRewardReq_proto_rawDescOnce.Do(func() {
+ file_GetHomeLevelUpRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetHomeLevelUpRewardReq_proto_rawDescData)
+ })
+ return file_GetHomeLevelUpRewardReq_proto_rawDescData
+}
+
+var file_GetHomeLevelUpRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetHomeLevelUpRewardReq_proto_goTypes = []interface{}{
+ (*GetHomeLevelUpRewardReq)(nil), // 0: proto.GetHomeLevelUpRewardReq
+}
+var file_GetHomeLevelUpRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetHomeLevelUpRewardReq_proto_init() }
+func file_GetHomeLevelUpRewardReq_proto_init() {
+ if File_GetHomeLevelUpRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetHomeLevelUpRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHomeLevelUpRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetHomeLevelUpRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetHomeLevelUpRewardReq_proto_goTypes,
+ DependencyIndexes: file_GetHomeLevelUpRewardReq_proto_depIdxs,
+ MessageInfos: file_GetHomeLevelUpRewardReq_proto_msgTypes,
+ }.Build()
+ File_GetHomeLevelUpRewardReq_proto = out.File
+ file_GetHomeLevelUpRewardReq_proto_rawDesc = nil
+ file_GetHomeLevelUpRewardReq_proto_goTypes = nil
+ file_GetHomeLevelUpRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetHomeLevelUpRewardRsp.pb.go b/protocol/proto/GetHomeLevelUpRewardRsp.pb.go
new file mode 100644
index 00000000..383068cd
--- /dev/null
+++ b/protocol/proto/GetHomeLevelUpRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetHomeLevelUpRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4603
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetHomeLevelUpRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetHomeLevelUpRewardRsp) Reset() {
+ *x = GetHomeLevelUpRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetHomeLevelUpRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHomeLevelUpRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHomeLevelUpRewardRsp) ProtoMessage() {}
+
+func (x *GetHomeLevelUpRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetHomeLevelUpRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetHomeLevelUpRewardRsp.ProtoReflect.Descriptor instead.
+func (*GetHomeLevelUpRewardRsp) Descriptor() ([]byte, []int) {
+ return file_GetHomeLevelUpRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetHomeLevelUpRewardRsp) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *GetHomeLevelUpRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetHomeLevelUpRewardRsp_proto protoreflect.FileDescriptor
+
+var file_GetHomeLevelUpRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x6d,
+ 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73,
+ 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetHomeLevelUpRewardRsp_proto_rawDescOnce sync.Once
+ file_GetHomeLevelUpRewardRsp_proto_rawDescData = file_GetHomeLevelUpRewardRsp_proto_rawDesc
+)
+
+func file_GetHomeLevelUpRewardRsp_proto_rawDescGZIP() []byte {
+ file_GetHomeLevelUpRewardRsp_proto_rawDescOnce.Do(func() {
+ file_GetHomeLevelUpRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetHomeLevelUpRewardRsp_proto_rawDescData)
+ })
+ return file_GetHomeLevelUpRewardRsp_proto_rawDescData
+}
+
+var file_GetHomeLevelUpRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetHomeLevelUpRewardRsp_proto_goTypes = []interface{}{
+ (*GetHomeLevelUpRewardRsp)(nil), // 0: proto.GetHomeLevelUpRewardRsp
+}
+var file_GetHomeLevelUpRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetHomeLevelUpRewardRsp_proto_init() }
+func file_GetHomeLevelUpRewardRsp_proto_init() {
+ if File_GetHomeLevelUpRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetHomeLevelUpRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHomeLevelUpRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetHomeLevelUpRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetHomeLevelUpRewardRsp_proto_goTypes,
+ DependencyIndexes: file_GetHomeLevelUpRewardRsp_proto_depIdxs,
+ MessageInfos: file_GetHomeLevelUpRewardRsp_proto_msgTypes,
+ }.Build()
+ File_GetHomeLevelUpRewardRsp_proto = out.File
+ file_GetHomeLevelUpRewardRsp_proto_rawDesc = nil
+ file_GetHomeLevelUpRewardRsp_proto_goTypes = nil
+ file_GetHomeLevelUpRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetHuntingOfferRewardReq.pb.go b/protocol/proto/GetHuntingOfferRewardReq.pb.go
new file mode 100644
index 00000000..0c8599d7
--- /dev/null
+++ b/protocol/proto/GetHuntingOfferRewardReq.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetHuntingOfferRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4302
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetHuntingOfferRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,6,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ HuntingPair *HuntingPair `protobuf:"bytes,4,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+}
+
+func (x *GetHuntingOfferRewardReq) Reset() {
+ *x = GetHuntingOfferRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetHuntingOfferRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHuntingOfferRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHuntingOfferRewardReq) ProtoMessage() {}
+
+func (x *GetHuntingOfferRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetHuntingOfferRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetHuntingOfferRewardReq.ProtoReflect.Descriptor instead.
+func (*GetHuntingOfferRewardReq) Descriptor() ([]byte, []int) {
+ return file_GetHuntingOfferRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetHuntingOfferRewardReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *GetHuntingOfferRewardReq) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+var File_GetHuntingOfferRewardReq_proto protoreflect.FileDescriptor
+
+var file_GetHuntingOfferRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65,
+ 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x18, 0x47, 0x65,
+ 0x74, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12,
+ 0x35, 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69,
+ 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetHuntingOfferRewardReq_proto_rawDescOnce sync.Once
+ file_GetHuntingOfferRewardReq_proto_rawDescData = file_GetHuntingOfferRewardReq_proto_rawDesc
+)
+
+func file_GetHuntingOfferRewardReq_proto_rawDescGZIP() []byte {
+ file_GetHuntingOfferRewardReq_proto_rawDescOnce.Do(func() {
+ file_GetHuntingOfferRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetHuntingOfferRewardReq_proto_rawDescData)
+ })
+ return file_GetHuntingOfferRewardReq_proto_rawDescData
+}
+
+var file_GetHuntingOfferRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetHuntingOfferRewardReq_proto_goTypes = []interface{}{
+ (*GetHuntingOfferRewardReq)(nil), // 0: proto.GetHuntingOfferRewardReq
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+}
+var file_GetHuntingOfferRewardReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GetHuntingOfferRewardReq.hunting_pair:type_name -> proto.HuntingPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetHuntingOfferRewardReq_proto_init() }
+func file_GetHuntingOfferRewardReq_proto_init() {
+ if File_GetHuntingOfferRewardReq_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetHuntingOfferRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHuntingOfferRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetHuntingOfferRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetHuntingOfferRewardReq_proto_goTypes,
+ DependencyIndexes: file_GetHuntingOfferRewardReq_proto_depIdxs,
+ MessageInfos: file_GetHuntingOfferRewardReq_proto_msgTypes,
+ }.Build()
+ File_GetHuntingOfferRewardReq_proto = out.File
+ file_GetHuntingOfferRewardReq_proto_rawDesc = nil
+ file_GetHuntingOfferRewardReq_proto_goTypes = nil
+ file_GetHuntingOfferRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetHuntingOfferRewardRsp.pb.go b/protocol/proto/GetHuntingOfferRewardRsp.pb.go
new file mode 100644
index 00000000..6c02faf8
--- /dev/null
+++ b/protocol/proto/GetHuntingOfferRewardRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetHuntingOfferRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4331
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetHuntingOfferRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HuntingPair *HuntingPair `protobuf:"bytes,14,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+ CityId uint32 `protobuf:"varint,3,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetHuntingOfferRewardRsp) Reset() {
+ *x = GetHuntingOfferRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetHuntingOfferRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetHuntingOfferRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetHuntingOfferRewardRsp) ProtoMessage() {}
+
+func (x *GetHuntingOfferRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetHuntingOfferRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetHuntingOfferRewardRsp.ProtoReflect.Descriptor instead.
+func (*GetHuntingOfferRewardRsp) Descriptor() ([]byte, []int) {
+ return file_GetHuntingOfferRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetHuntingOfferRewardRsp) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+func (x *GetHuntingOfferRewardRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *GetHuntingOfferRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetHuntingOfferRewardRsp_proto protoreflect.FileDescriptor
+
+var file_GetHuntingOfferRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65,
+ 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x18, 0x47,
+ 0x65, 0x74, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69,
+ 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69,
+ 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetHuntingOfferRewardRsp_proto_rawDescOnce sync.Once
+ file_GetHuntingOfferRewardRsp_proto_rawDescData = file_GetHuntingOfferRewardRsp_proto_rawDesc
+)
+
+func file_GetHuntingOfferRewardRsp_proto_rawDescGZIP() []byte {
+ file_GetHuntingOfferRewardRsp_proto_rawDescOnce.Do(func() {
+ file_GetHuntingOfferRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetHuntingOfferRewardRsp_proto_rawDescData)
+ })
+ return file_GetHuntingOfferRewardRsp_proto_rawDescData
+}
+
+var file_GetHuntingOfferRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetHuntingOfferRewardRsp_proto_goTypes = []interface{}{
+ (*GetHuntingOfferRewardRsp)(nil), // 0: proto.GetHuntingOfferRewardRsp
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+}
+var file_GetHuntingOfferRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetHuntingOfferRewardRsp.hunting_pair:type_name -> proto.HuntingPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetHuntingOfferRewardRsp_proto_init() }
+func file_GetHuntingOfferRewardRsp_proto_init() {
+ if File_GetHuntingOfferRewardRsp_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetHuntingOfferRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHuntingOfferRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetHuntingOfferRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetHuntingOfferRewardRsp_proto_goTypes,
+ DependencyIndexes: file_GetHuntingOfferRewardRsp_proto_depIdxs,
+ MessageInfos: file_GetHuntingOfferRewardRsp_proto_msgTypes,
+ }.Build()
+ File_GetHuntingOfferRewardRsp_proto = out.File
+ file_GetHuntingOfferRewardRsp_proto_rawDesc = nil
+ file_GetHuntingOfferRewardRsp_proto_goTypes = nil
+ file_GetHuntingOfferRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetInvestigationMonsterReq.pb.go b/protocol/proto/GetInvestigationMonsterReq.pb.go
new file mode 100644
index 00000000..ba662703
--- /dev/null
+++ b/protocol/proto/GetInvestigationMonsterReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetInvestigationMonsterReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1901
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetInvestigationMonsterReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityIdList []uint32 `protobuf:"varint,3,rep,packed,name=city_id_list,json=cityIdList,proto3" json:"city_id_list,omitempty"`
+ IsForMark bool `protobuf:"varint,4,opt,name=is_for_mark,json=isForMark,proto3" json:"is_for_mark,omitempty"`
+}
+
+func (x *GetInvestigationMonsterReq) Reset() {
+ *x = GetInvestigationMonsterReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetInvestigationMonsterReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetInvestigationMonsterReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetInvestigationMonsterReq) ProtoMessage() {}
+
+func (x *GetInvestigationMonsterReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetInvestigationMonsterReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetInvestigationMonsterReq.ProtoReflect.Descriptor instead.
+func (*GetInvestigationMonsterReq) Descriptor() ([]byte, []int) {
+ return file_GetInvestigationMonsterReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetInvestigationMonsterReq) GetCityIdList() []uint32 {
+ if x != nil {
+ return x.CityIdList
+ }
+ return nil
+}
+
+func (x *GetInvestigationMonsterReq) GetIsForMark() bool {
+ if x != nil {
+ return x.IsForMark
+ }
+ return false
+}
+
+var File_GetInvestigationMonsterReq_proto protoreflect.FileDescriptor
+
+var file_GetInvestigationMonsterReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x1a, 0x47, 0x65, 0x74,
+ 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x63,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f,
+ 0x66, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
+ 0x69, 0x73, 0x46, 0x6f, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetInvestigationMonsterReq_proto_rawDescOnce sync.Once
+ file_GetInvestigationMonsterReq_proto_rawDescData = file_GetInvestigationMonsterReq_proto_rawDesc
+)
+
+func file_GetInvestigationMonsterReq_proto_rawDescGZIP() []byte {
+ file_GetInvestigationMonsterReq_proto_rawDescOnce.Do(func() {
+ file_GetInvestigationMonsterReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetInvestigationMonsterReq_proto_rawDescData)
+ })
+ return file_GetInvestigationMonsterReq_proto_rawDescData
+}
+
+var file_GetInvestigationMonsterReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetInvestigationMonsterReq_proto_goTypes = []interface{}{
+ (*GetInvestigationMonsterReq)(nil), // 0: proto.GetInvestigationMonsterReq
+}
+var file_GetInvestigationMonsterReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetInvestigationMonsterReq_proto_init() }
+func file_GetInvestigationMonsterReq_proto_init() {
+ if File_GetInvestigationMonsterReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetInvestigationMonsterReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetInvestigationMonsterReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetInvestigationMonsterReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetInvestigationMonsterReq_proto_goTypes,
+ DependencyIndexes: file_GetInvestigationMonsterReq_proto_depIdxs,
+ MessageInfos: file_GetInvestigationMonsterReq_proto_msgTypes,
+ }.Build()
+ File_GetInvestigationMonsterReq_proto = out.File
+ file_GetInvestigationMonsterReq_proto_rawDesc = nil
+ file_GetInvestigationMonsterReq_proto_goTypes = nil
+ file_GetInvestigationMonsterReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetInvestigationMonsterRsp.pb.go b/protocol/proto/GetInvestigationMonsterRsp.pb.go
new file mode 100644
index 00000000..75f678da
--- /dev/null
+++ b/protocol/proto/GetInvestigationMonsterRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetInvestigationMonsterRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1910
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetInvestigationMonsterRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterList []*InvestigationMonster `protobuf:"bytes,10,rep,name=monster_list,json=monsterList,proto3" json:"monster_list,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsForMark bool `protobuf:"varint,2,opt,name=is_for_mark,json=isForMark,proto3" json:"is_for_mark,omitempty"`
+}
+
+func (x *GetInvestigationMonsterRsp) Reset() {
+ *x = GetInvestigationMonsterRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetInvestigationMonsterRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetInvestigationMonsterRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetInvestigationMonsterRsp) ProtoMessage() {}
+
+func (x *GetInvestigationMonsterRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetInvestigationMonsterRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetInvestigationMonsterRsp.ProtoReflect.Descriptor instead.
+func (*GetInvestigationMonsterRsp) Descriptor() ([]byte, []int) {
+ return file_GetInvestigationMonsterRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetInvestigationMonsterRsp) GetMonsterList() []*InvestigationMonster {
+ if x != nil {
+ return x.MonsterList
+ }
+ return nil
+}
+
+func (x *GetInvestigationMonsterRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetInvestigationMonsterRsp) GetIsForMark() bool {
+ if x != nil {
+ return x.IsForMark
+ }
+ return false
+}
+
+var File_GetInvestigationMonsterRsp_proto protoreflect.FileDescriptor
+
+var file_GetInvestigationMonsterRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x49, 0x6e, 0x76, 0x65, 0x73,
+ 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76,
+ 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x52, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1e,
+ 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x46, 0x6f, 0x72, 0x4d, 0x61, 0x72, 0x6b, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetInvestigationMonsterRsp_proto_rawDescOnce sync.Once
+ file_GetInvestigationMonsterRsp_proto_rawDescData = file_GetInvestigationMonsterRsp_proto_rawDesc
+)
+
+func file_GetInvestigationMonsterRsp_proto_rawDescGZIP() []byte {
+ file_GetInvestigationMonsterRsp_proto_rawDescOnce.Do(func() {
+ file_GetInvestigationMonsterRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetInvestigationMonsterRsp_proto_rawDescData)
+ })
+ return file_GetInvestigationMonsterRsp_proto_rawDescData
+}
+
+var file_GetInvestigationMonsterRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetInvestigationMonsterRsp_proto_goTypes = []interface{}{
+ (*GetInvestigationMonsterRsp)(nil), // 0: proto.GetInvestigationMonsterRsp
+ (*InvestigationMonster)(nil), // 1: proto.InvestigationMonster
+}
+var file_GetInvestigationMonsterRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetInvestigationMonsterRsp.monster_list:type_name -> proto.InvestigationMonster
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetInvestigationMonsterRsp_proto_init() }
+func file_GetInvestigationMonsterRsp_proto_init() {
+ if File_GetInvestigationMonsterRsp_proto != nil {
+ return
+ }
+ file_InvestigationMonster_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetInvestigationMonsterRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetInvestigationMonsterRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetInvestigationMonsterRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetInvestigationMonsterRsp_proto_goTypes,
+ DependencyIndexes: file_GetInvestigationMonsterRsp_proto_depIdxs,
+ MessageInfos: file_GetInvestigationMonsterRsp_proto_msgTypes,
+ }.Build()
+ File_GetInvestigationMonsterRsp_proto = out.File
+ file_GetInvestigationMonsterRsp_proto_rawDesc = nil
+ file_GetInvestigationMonsterRsp_proto_goTypes = nil
+ file_GetInvestigationMonsterRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetMailItemReq.pb.go b/protocol/proto/GetMailItemReq.pb.go
new file mode 100644
index 00000000..bada7d84
--- /dev/null
+++ b/protocol/proto/GetMailItemReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetMailItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1435
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetMailItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MailIdList []uint32 `protobuf:"varint,6,rep,packed,name=mail_id_list,json=mailIdList,proto3" json:"mail_id_list,omitempty"`
+}
+
+func (x *GetMailItemReq) Reset() {
+ *x = GetMailItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetMailItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetMailItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetMailItemReq) ProtoMessage() {}
+
+func (x *GetMailItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetMailItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetMailItemReq.ProtoReflect.Descriptor instead.
+func (*GetMailItemReq) Descriptor() ([]byte, []int) {
+ return file_GetMailItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetMailItemReq) GetMailIdList() []uint32 {
+ if x != nil {
+ return x.MailIdList
+ }
+ return nil
+}
+
+var File_GetMailItemReq_proto protoreflect.FileDescriptor
+
+var file_GetMailItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a,
+ 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12,
+ 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetMailItemReq_proto_rawDescOnce sync.Once
+ file_GetMailItemReq_proto_rawDescData = file_GetMailItemReq_proto_rawDesc
+)
+
+func file_GetMailItemReq_proto_rawDescGZIP() []byte {
+ file_GetMailItemReq_proto_rawDescOnce.Do(func() {
+ file_GetMailItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetMailItemReq_proto_rawDescData)
+ })
+ return file_GetMailItemReq_proto_rawDescData
+}
+
+var file_GetMailItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetMailItemReq_proto_goTypes = []interface{}{
+ (*GetMailItemReq)(nil), // 0: proto.GetMailItemReq
+}
+var file_GetMailItemReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetMailItemReq_proto_init() }
+func file_GetMailItemReq_proto_init() {
+ if File_GetMailItemReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetMailItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetMailItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetMailItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetMailItemReq_proto_goTypes,
+ DependencyIndexes: file_GetMailItemReq_proto_depIdxs,
+ MessageInfos: file_GetMailItemReq_proto_msgTypes,
+ }.Build()
+ File_GetMailItemReq_proto = out.File
+ file_GetMailItemReq_proto_rawDesc = nil
+ file_GetMailItemReq_proto_goTypes = nil
+ file_GetMailItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetMailItemRsp.pb.go b/protocol/proto/GetMailItemRsp.pb.go
new file mode 100644
index 00000000..b048654a
--- /dev/null
+++ b/protocol/proto/GetMailItemRsp.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetMailItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1407
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetMailItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MailIdList []uint32 `protobuf:"varint,3,rep,packed,name=mail_id_list,json=mailIdList,proto3" json:"mail_id_list,omitempty"`
+ ItemList []*EquipParam `protobuf:"bytes,2,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *GetMailItemRsp) Reset() {
+ *x = GetMailItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetMailItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetMailItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetMailItemRsp) ProtoMessage() {}
+
+func (x *GetMailItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetMailItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetMailItemRsp.ProtoReflect.Descriptor instead.
+func (*GetMailItemRsp) Descriptor() ([]byte, []int) {
+ return file_GetMailItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetMailItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetMailItemRsp) GetMailIdList() []uint32 {
+ if x != nil {
+ return x.MailIdList
+ }
+ return nil
+}
+
+func (x *GetMailItemRsp) GetItemList() []*EquipParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_GetMailItemRsp_proto protoreflect.FileDescriptor
+
+var file_GetMailItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x45,
+ 0x71, 0x75, 0x69, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x7c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6d,
+ 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a,
+ 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x71, 0x75, 0x69, 0x70, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetMailItemRsp_proto_rawDescOnce sync.Once
+ file_GetMailItemRsp_proto_rawDescData = file_GetMailItemRsp_proto_rawDesc
+)
+
+func file_GetMailItemRsp_proto_rawDescGZIP() []byte {
+ file_GetMailItemRsp_proto_rawDescOnce.Do(func() {
+ file_GetMailItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetMailItemRsp_proto_rawDescData)
+ })
+ return file_GetMailItemRsp_proto_rawDescData
+}
+
+var file_GetMailItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetMailItemRsp_proto_goTypes = []interface{}{
+ (*GetMailItemRsp)(nil), // 0: proto.GetMailItemRsp
+ (*EquipParam)(nil), // 1: proto.EquipParam
+}
+var file_GetMailItemRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetMailItemRsp.item_list:type_name -> proto.EquipParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetMailItemRsp_proto_init() }
+func file_GetMailItemRsp_proto_init() {
+ if File_GetMailItemRsp_proto != nil {
+ return
+ }
+ file_EquipParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetMailItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetMailItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetMailItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetMailItemRsp_proto_goTypes,
+ DependencyIndexes: file_GetMailItemRsp_proto_depIdxs,
+ MessageInfos: file_GetMailItemRsp_proto_msgTypes,
+ }.Build()
+ File_GetMailItemRsp_proto = out.File
+ file_GetMailItemRsp_proto_rawDesc = nil
+ file_GetMailItemRsp_proto_goTypes = nil
+ file_GetMailItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetMapAreaReq.pb.go b/protocol/proto/GetMapAreaReq.pb.go
new file mode 100644
index 00000000..4d7925a6
--- /dev/null
+++ b/protocol/proto/GetMapAreaReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetMapAreaReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3108
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetMapAreaReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetMapAreaReq) Reset() {
+ *x = GetMapAreaReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetMapAreaReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetMapAreaReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetMapAreaReq) ProtoMessage() {}
+
+func (x *GetMapAreaReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetMapAreaReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetMapAreaReq.ProtoReflect.Descriptor instead.
+func (*GetMapAreaReq) Descriptor() ([]byte, []int) {
+ return file_GetMapAreaReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetMapAreaReq_proto protoreflect.FileDescriptor
+
+var file_GetMapAreaReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d,
+ 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetMapAreaReq_proto_rawDescOnce sync.Once
+ file_GetMapAreaReq_proto_rawDescData = file_GetMapAreaReq_proto_rawDesc
+)
+
+func file_GetMapAreaReq_proto_rawDescGZIP() []byte {
+ file_GetMapAreaReq_proto_rawDescOnce.Do(func() {
+ file_GetMapAreaReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetMapAreaReq_proto_rawDescData)
+ })
+ return file_GetMapAreaReq_proto_rawDescData
+}
+
+var file_GetMapAreaReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetMapAreaReq_proto_goTypes = []interface{}{
+ (*GetMapAreaReq)(nil), // 0: proto.GetMapAreaReq
+}
+var file_GetMapAreaReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetMapAreaReq_proto_init() }
+func file_GetMapAreaReq_proto_init() {
+ if File_GetMapAreaReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetMapAreaReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetMapAreaReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetMapAreaReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetMapAreaReq_proto_goTypes,
+ DependencyIndexes: file_GetMapAreaReq_proto_depIdxs,
+ MessageInfos: file_GetMapAreaReq_proto_msgTypes,
+ }.Build()
+ File_GetMapAreaReq_proto = out.File
+ file_GetMapAreaReq_proto_rawDesc = nil
+ file_GetMapAreaReq_proto_goTypes = nil
+ file_GetMapAreaReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetMapAreaRsp.pb.go b/protocol/proto/GetMapAreaRsp.pb.go
new file mode 100644
index 00000000..ae05599d
--- /dev/null
+++ b/protocol/proto/GetMapAreaRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetMapAreaRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3328
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetMapAreaRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MapAreaInfoList []*MapAreaInfo `protobuf:"bytes,9,rep,name=map_area_info_list,json=mapAreaInfoList,proto3" json:"map_area_info_list,omitempty"`
+}
+
+func (x *GetMapAreaRsp) Reset() {
+ *x = GetMapAreaRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetMapAreaRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetMapAreaRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetMapAreaRsp) ProtoMessage() {}
+
+func (x *GetMapAreaRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetMapAreaRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetMapAreaRsp.ProtoReflect.Descriptor instead.
+func (*GetMapAreaRsp) Descriptor() ([]byte, []int) {
+ return file_GetMapAreaRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetMapAreaRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetMapAreaRsp) GetMapAreaInfoList() []*MapAreaInfo {
+ if x != nil {
+ return x.MapAreaInfoList
+ }
+ return nil
+}
+
+var File_GetMapAreaRsp_proto protoreflect.FileDescriptor
+
+var file_GetMapAreaRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x4d, 0x61,
+ 0x70, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x6a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x12, 0x6d, 0x61,
+ 0x70, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x41,
+ 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetMapAreaRsp_proto_rawDescOnce sync.Once
+ file_GetMapAreaRsp_proto_rawDescData = file_GetMapAreaRsp_proto_rawDesc
+)
+
+func file_GetMapAreaRsp_proto_rawDescGZIP() []byte {
+ file_GetMapAreaRsp_proto_rawDescOnce.Do(func() {
+ file_GetMapAreaRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetMapAreaRsp_proto_rawDescData)
+ })
+ return file_GetMapAreaRsp_proto_rawDescData
+}
+
+var file_GetMapAreaRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetMapAreaRsp_proto_goTypes = []interface{}{
+ (*GetMapAreaRsp)(nil), // 0: proto.GetMapAreaRsp
+ (*MapAreaInfo)(nil), // 1: proto.MapAreaInfo
+}
+var file_GetMapAreaRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetMapAreaRsp.map_area_info_list:type_name -> proto.MapAreaInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetMapAreaRsp_proto_init() }
+func file_GetMapAreaRsp_proto_init() {
+ if File_GetMapAreaRsp_proto != nil {
+ return
+ }
+ file_MapAreaInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetMapAreaRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetMapAreaRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetMapAreaRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetMapAreaRsp_proto_goTypes,
+ DependencyIndexes: file_GetMapAreaRsp_proto_depIdxs,
+ MessageInfos: file_GetMapAreaRsp_proto_msgTypes,
+ }.Build()
+ File_GetMapAreaRsp_proto = out.File
+ file_GetMapAreaRsp_proto_rawDesc = nil
+ file_GetMapAreaRsp_proto_goTypes = nil
+ file_GetMapAreaRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetMapMarkTipsReq.pb.go b/protocol/proto/GetMapMarkTipsReq.pb.go
new file mode 100644
index 00000000..c6adefb6
--- /dev/null
+++ b/protocol/proto/GetMapMarkTipsReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetMapMarkTipsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3463
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetMapMarkTipsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetMapMarkTipsReq) Reset() {
+ *x = GetMapMarkTipsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetMapMarkTipsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetMapMarkTipsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetMapMarkTipsReq) ProtoMessage() {}
+
+func (x *GetMapMarkTipsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetMapMarkTipsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetMapMarkTipsReq.ProtoReflect.Descriptor instead.
+func (*GetMapMarkTipsReq) Descriptor() ([]byte, []int) {
+ return file_GetMapMarkTipsReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetMapMarkTipsReq_proto protoreflect.FileDescriptor
+
+var file_GetMapMarkTipsReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69,
+ 0x70, 0x73, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetMapMarkTipsReq_proto_rawDescOnce sync.Once
+ file_GetMapMarkTipsReq_proto_rawDescData = file_GetMapMarkTipsReq_proto_rawDesc
+)
+
+func file_GetMapMarkTipsReq_proto_rawDescGZIP() []byte {
+ file_GetMapMarkTipsReq_proto_rawDescOnce.Do(func() {
+ file_GetMapMarkTipsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetMapMarkTipsReq_proto_rawDescData)
+ })
+ return file_GetMapMarkTipsReq_proto_rawDescData
+}
+
+var file_GetMapMarkTipsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetMapMarkTipsReq_proto_goTypes = []interface{}{
+ (*GetMapMarkTipsReq)(nil), // 0: proto.GetMapMarkTipsReq
+}
+var file_GetMapMarkTipsReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetMapMarkTipsReq_proto_init() }
+func file_GetMapMarkTipsReq_proto_init() {
+ if File_GetMapMarkTipsReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetMapMarkTipsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetMapMarkTipsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetMapMarkTipsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetMapMarkTipsReq_proto_goTypes,
+ DependencyIndexes: file_GetMapMarkTipsReq_proto_depIdxs,
+ MessageInfos: file_GetMapMarkTipsReq_proto_msgTypes,
+ }.Build()
+ File_GetMapMarkTipsReq_proto = out.File
+ file_GetMapMarkTipsReq_proto_rawDesc = nil
+ file_GetMapMarkTipsReq_proto_goTypes = nil
+ file_GetMapMarkTipsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetMapMarkTipsRsp.pb.go b/protocol/proto/GetMapMarkTipsRsp.pb.go
new file mode 100644
index 00000000..a3116e3c
--- /dev/null
+++ b/protocol/proto/GetMapMarkTipsRsp.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetMapMarkTipsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3327
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetMapMarkTipsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MarkTipsList []*MapMarkTipsInfo `protobuf:"bytes,11,rep,name=mark_tips_list,json=markTipsList,proto3" json:"mark_tips_list,omitempty"`
+}
+
+func (x *GetMapMarkTipsRsp) Reset() {
+ *x = GetMapMarkTipsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetMapMarkTipsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetMapMarkTipsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetMapMarkTipsRsp) ProtoMessage() {}
+
+func (x *GetMapMarkTipsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetMapMarkTipsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetMapMarkTipsRsp.ProtoReflect.Descriptor instead.
+func (*GetMapMarkTipsRsp) Descriptor() ([]byte, []int) {
+ return file_GetMapMarkTipsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetMapMarkTipsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetMapMarkTipsRsp) GetMarkTipsList() []*MapMarkTipsInfo {
+ if x != nil {
+ return x.MarkTipsList
+ }
+ return nil
+}
+
+var File_GetMapMarkTipsRsp_proto protoreflect.FileDescriptor
+
+var file_GetMapMarkTipsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x15, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x61,
+ 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74,
+ 0x69, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69,
+ 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetMapMarkTipsRsp_proto_rawDescOnce sync.Once
+ file_GetMapMarkTipsRsp_proto_rawDescData = file_GetMapMarkTipsRsp_proto_rawDesc
+)
+
+func file_GetMapMarkTipsRsp_proto_rawDescGZIP() []byte {
+ file_GetMapMarkTipsRsp_proto_rawDescOnce.Do(func() {
+ file_GetMapMarkTipsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetMapMarkTipsRsp_proto_rawDescData)
+ })
+ return file_GetMapMarkTipsRsp_proto_rawDescData
+}
+
+var file_GetMapMarkTipsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetMapMarkTipsRsp_proto_goTypes = []interface{}{
+ (*GetMapMarkTipsRsp)(nil), // 0: proto.GetMapMarkTipsRsp
+ (*MapMarkTipsInfo)(nil), // 1: proto.MapMarkTipsInfo
+}
+var file_GetMapMarkTipsRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetMapMarkTipsRsp.mark_tips_list:type_name -> proto.MapMarkTipsInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetMapMarkTipsRsp_proto_init() }
+func file_GetMapMarkTipsRsp_proto_init() {
+ if File_GetMapMarkTipsRsp_proto != nil {
+ return
+ }
+ file_MapMarkTipsInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetMapMarkTipsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetMapMarkTipsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetMapMarkTipsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetMapMarkTipsRsp_proto_goTypes,
+ DependencyIndexes: file_GetMapMarkTipsRsp_proto_depIdxs,
+ MessageInfos: file_GetMapMarkTipsRsp_proto_msgTypes,
+ }.Build()
+ File_GetMapMarkTipsRsp_proto = out.File
+ file_GetMapMarkTipsRsp_proto_rawDesc = nil
+ file_GetMapMarkTipsRsp_proto_goTypes = nil
+ file_GetMapMarkTipsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetMechanicusInfoReq.pb.go b/protocol/proto/GetMechanicusInfoReq.pb.go
new file mode 100644
index 00000000..be7e07d3
--- /dev/null
+++ b/protocol/proto/GetMechanicusInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetMechanicusInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3972
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetMechanicusInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetMechanicusInfoReq) Reset() {
+ *x = GetMechanicusInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetMechanicusInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetMechanicusInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetMechanicusInfoReq) ProtoMessage() {}
+
+func (x *GetMechanicusInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetMechanicusInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetMechanicusInfoReq.ProtoReflect.Descriptor instead.
+func (*GetMechanicusInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetMechanicusInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetMechanicusInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetMechanicusInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetMechanicusInfoReq_proto_rawDescOnce sync.Once
+ file_GetMechanicusInfoReq_proto_rawDescData = file_GetMechanicusInfoReq_proto_rawDesc
+)
+
+func file_GetMechanicusInfoReq_proto_rawDescGZIP() []byte {
+ file_GetMechanicusInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetMechanicusInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetMechanicusInfoReq_proto_rawDescData)
+ })
+ return file_GetMechanicusInfoReq_proto_rawDescData
+}
+
+var file_GetMechanicusInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetMechanicusInfoReq_proto_goTypes = []interface{}{
+ (*GetMechanicusInfoReq)(nil), // 0: proto.GetMechanicusInfoReq
+}
+var file_GetMechanicusInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetMechanicusInfoReq_proto_init() }
+func file_GetMechanicusInfoReq_proto_init() {
+ if File_GetMechanicusInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetMechanicusInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetMechanicusInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetMechanicusInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetMechanicusInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetMechanicusInfoReq_proto_depIdxs,
+ MessageInfos: file_GetMechanicusInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetMechanicusInfoReq_proto = out.File
+ file_GetMechanicusInfoReq_proto_rawDesc = nil
+ file_GetMechanicusInfoReq_proto_goTypes = nil
+ file_GetMechanicusInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetMechanicusInfoRsp.pb.go b/protocol/proto/GetMechanicusInfoRsp.pb.go
new file mode 100644
index 00000000..c165f5c3
--- /dev/null
+++ b/protocol/proto/GetMechanicusInfoRsp.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetMechanicusInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3998
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetMechanicusInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MechanicusInfo *MechanicusInfo `protobuf:"bytes,15,opt,name=mechanicus_info,json=mechanicusInfo,proto3" json:"mechanicus_info,omitempty"`
+}
+
+func (x *GetMechanicusInfoRsp) Reset() {
+ *x = GetMechanicusInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetMechanicusInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetMechanicusInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetMechanicusInfoRsp) ProtoMessage() {}
+
+func (x *GetMechanicusInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetMechanicusInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetMechanicusInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetMechanicusInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetMechanicusInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetMechanicusInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetMechanicusInfoRsp) GetMechanicusInfo() *MechanicusInfo {
+ if x != nil {
+ return x.MechanicusInfo
+ }
+ return nil
+}
+
+var File_GetMechanicusInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetMechanicusInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x14, 0x47, 0x65, 0x74,
+ 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x6d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x65, 0x63,
+ 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6d, 0x65, 0x63,
+ 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetMechanicusInfoRsp_proto_rawDescOnce sync.Once
+ file_GetMechanicusInfoRsp_proto_rawDescData = file_GetMechanicusInfoRsp_proto_rawDesc
+)
+
+func file_GetMechanicusInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetMechanicusInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetMechanicusInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetMechanicusInfoRsp_proto_rawDescData)
+ })
+ return file_GetMechanicusInfoRsp_proto_rawDescData
+}
+
+var file_GetMechanicusInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetMechanicusInfoRsp_proto_goTypes = []interface{}{
+ (*GetMechanicusInfoRsp)(nil), // 0: proto.GetMechanicusInfoRsp
+ (*MechanicusInfo)(nil), // 1: proto.MechanicusInfo
+}
+var file_GetMechanicusInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetMechanicusInfoRsp.mechanicus_info:type_name -> proto.MechanicusInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetMechanicusInfoRsp_proto_init() }
+func file_GetMechanicusInfoRsp_proto_init() {
+ if File_GetMechanicusInfoRsp_proto != nil {
+ return
+ }
+ file_MechanicusInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetMechanicusInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetMechanicusInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetMechanicusInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetMechanicusInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetMechanicusInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetMechanicusInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetMechanicusInfoRsp_proto = out.File
+ file_GetMechanicusInfoRsp_proto_rawDesc = nil
+ file_GetMechanicusInfoRsp_proto_goTypes = nil
+ file_GetMechanicusInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetNextResourceInfoReq.pb.go b/protocol/proto/GetNextResourceInfoReq.pb.go
new file mode 100644
index 00000000..4a594dd4
--- /dev/null
+++ b/protocol/proto/GetNextResourceInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetNextResourceInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 192
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetNextResourceInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetNextResourceInfoReq) Reset() {
+ *x = GetNextResourceInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetNextResourceInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetNextResourceInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetNextResourceInfoReq) ProtoMessage() {}
+
+func (x *GetNextResourceInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetNextResourceInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetNextResourceInfoReq.ProtoReflect.Descriptor instead.
+func (*GetNextResourceInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetNextResourceInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetNextResourceInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetNextResourceInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74,
+ 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetNextResourceInfoReq_proto_rawDescOnce sync.Once
+ file_GetNextResourceInfoReq_proto_rawDescData = file_GetNextResourceInfoReq_proto_rawDesc
+)
+
+func file_GetNextResourceInfoReq_proto_rawDescGZIP() []byte {
+ file_GetNextResourceInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetNextResourceInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetNextResourceInfoReq_proto_rawDescData)
+ })
+ return file_GetNextResourceInfoReq_proto_rawDescData
+}
+
+var file_GetNextResourceInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetNextResourceInfoReq_proto_goTypes = []interface{}{
+ (*GetNextResourceInfoReq)(nil), // 0: proto.GetNextResourceInfoReq
+}
+var file_GetNextResourceInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetNextResourceInfoReq_proto_init() }
+func file_GetNextResourceInfoReq_proto_init() {
+ if File_GetNextResourceInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetNextResourceInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetNextResourceInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetNextResourceInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetNextResourceInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetNextResourceInfoReq_proto_depIdxs,
+ MessageInfos: file_GetNextResourceInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetNextResourceInfoReq_proto = out.File
+ file_GetNextResourceInfoReq_proto_rawDesc = nil
+ file_GetNextResourceInfoReq_proto_goTypes = nil
+ file_GetNextResourceInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetNextResourceInfoRsp.pb.go b/protocol/proto/GetNextResourceInfoRsp.pb.go
new file mode 100644
index 00000000..ec3c4999
--- /dev/null
+++ b/protocol/proto/GetNextResourceInfoRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetNextResourceInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 120
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetNextResourceInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NextResourceUrl string `protobuf:"bytes,14,opt,name=next_resource_url,json=nextResourceUrl,proto3" json:"next_resource_url,omitempty"`
+ NextResVersionConfig *ResVersionConfig `protobuf:"bytes,2,opt,name=next_res_version_config,json=nextResVersionConfig,proto3" json:"next_res_version_config,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetNextResourceInfoRsp) Reset() {
+ *x = GetNextResourceInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetNextResourceInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetNextResourceInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetNextResourceInfoRsp) ProtoMessage() {}
+
+func (x *GetNextResourceInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetNextResourceInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetNextResourceInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetNextResourceInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetNextResourceInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetNextResourceInfoRsp) GetNextResourceUrl() string {
+ if x != nil {
+ return x.NextResourceUrl
+ }
+ return ""
+}
+
+func (x *GetNextResourceInfoRsp) GetNextResVersionConfig() *ResVersionConfig {
+ if x != nil {
+ return x.NextResVersionConfig
+ }
+ return nil
+}
+
+func (x *GetNextResourceInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetNextResourceInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetNextResourceInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01,
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74,
+ 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x55, 0x72, 0x6c, 0x12, 0x4e, 0x0a, 0x17, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x73,
+ 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65,
+ 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14,
+ 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetNextResourceInfoRsp_proto_rawDescOnce sync.Once
+ file_GetNextResourceInfoRsp_proto_rawDescData = file_GetNextResourceInfoRsp_proto_rawDesc
+)
+
+func file_GetNextResourceInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetNextResourceInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetNextResourceInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetNextResourceInfoRsp_proto_rawDescData)
+ })
+ return file_GetNextResourceInfoRsp_proto_rawDescData
+}
+
+var file_GetNextResourceInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetNextResourceInfoRsp_proto_goTypes = []interface{}{
+ (*GetNextResourceInfoRsp)(nil), // 0: proto.GetNextResourceInfoRsp
+ (*ResVersionConfig)(nil), // 1: proto.ResVersionConfig
+}
+var file_GetNextResourceInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetNextResourceInfoRsp.next_res_version_config:type_name -> proto.ResVersionConfig
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetNextResourceInfoRsp_proto_init() }
+func file_GetNextResourceInfoRsp_proto_init() {
+ if File_GetNextResourceInfoRsp_proto != nil {
+ return
+ }
+ file_ResVersionConfig_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetNextResourceInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetNextResourceInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetNextResourceInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetNextResourceInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetNextResourceInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetNextResourceInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetNextResourceInfoRsp_proto = out.File
+ file_GetNextResourceInfoRsp_proto_rawDesc = nil
+ file_GetNextResourceInfoRsp_proto_goTypes = nil
+ file_GetNextResourceInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetOnlinePlayerInfoReq.pb.go b/protocol/proto/GetOnlinePlayerInfoReq.pb.go
new file mode 100644
index 00000000..3caae4af
--- /dev/null
+++ b/protocol/proto/GetOnlinePlayerInfoReq.pb.go
@@ -0,0 +1,231 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetOnlinePlayerInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 82
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetOnlinePlayerInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOnlineId bool `protobuf:"varint,15,opt,name=is_online_id,json=isOnlineId,proto3" json:"is_online_id,omitempty"`
+ // Types that are assignable to PlayerId:
+ //
+ // *GetOnlinePlayerInfoReq_TargetUid
+ // *GetOnlinePlayerInfoReq_OnlineId
+ // *GetOnlinePlayerInfoReq_PsnId
+ PlayerId isGetOnlinePlayerInfoReq_PlayerId `protobuf_oneof:"player_id"`
+}
+
+func (x *GetOnlinePlayerInfoReq) Reset() {
+ *x = GetOnlinePlayerInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetOnlinePlayerInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetOnlinePlayerInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnlinePlayerInfoReq) ProtoMessage() {}
+
+func (x *GetOnlinePlayerInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetOnlinePlayerInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetOnlinePlayerInfoReq.ProtoReflect.Descriptor instead.
+func (*GetOnlinePlayerInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetOnlinePlayerInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetOnlinePlayerInfoReq) GetIsOnlineId() bool {
+ if x != nil {
+ return x.IsOnlineId
+ }
+ return false
+}
+
+func (m *GetOnlinePlayerInfoReq) GetPlayerId() isGetOnlinePlayerInfoReq_PlayerId {
+ if m != nil {
+ return m.PlayerId
+ }
+ return nil
+}
+
+func (x *GetOnlinePlayerInfoReq) GetTargetUid() uint32 {
+ if x, ok := x.GetPlayerId().(*GetOnlinePlayerInfoReq_TargetUid); ok {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *GetOnlinePlayerInfoReq) GetOnlineId() string {
+ if x, ok := x.GetPlayerId().(*GetOnlinePlayerInfoReq_OnlineId); ok {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *GetOnlinePlayerInfoReq) GetPsnId() string {
+ if x, ok := x.GetPlayerId().(*GetOnlinePlayerInfoReq_PsnId); ok {
+ return x.PsnId
+ }
+ return ""
+}
+
+type isGetOnlinePlayerInfoReq_PlayerId interface {
+ isGetOnlinePlayerInfoReq_PlayerId()
+}
+
+type GetOnlinePlayerInfoReq_TargetUid struct {
+ TargetUid uint32 `protobuf:"varint,9,opt,name=target_uid,json=targetUid,proto3,oneof"`
+}
+
+type GetOnlinePlayerInfoReq_OnlineId struct {
+ OnlineId string `protobuf:"bytes,7,opt,name=online_id,json=onlineId,proto3,oneof"`
+}
+
+type GetOnlinePlayerInfoReq_PsnId struct {
+ PsnId string `protobuf:"bytes,2,opt,name=psn_id,json=psnId,proto3,oneof"`
+}
+
+func (*GetOnlinePlayerInfoReq_TargetUid) isGetOnlinePlayerInfoReq_PlayerId() {}
+
+func (*GetOnlinePlayerInfoReq_OnlineId) isGetOnlinePlayerInfoReq_PlayerId() {}
+
+func (*GetOnlinePlayerInfoReq_PsnId) isGetOnlinePlayerInfoReq_PlayerId() {}
+
+var File_GetOnlinePlayerInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetOnlinePlayerInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71,
+ 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x55, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x49, 0x64, 0x12, 0x17, 0x0a, 0x06, 0x70, 0x73, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x73, 0x6e, 0x49, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetOnlinePlayerInfoReq_proto_rawDescOnce sync.Once
+ file_GetOnlinePlayerInfoReq_proto_rawDescData = file_GetOnlinePlayerInfoReq_proto_rawDesc
+)
+
+func file_GetOnlinePlayerInfoReq_proto_rawDescGZIP() []byte {
+ file_GetOnlinePlayerInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetOnlinePlayerInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetOnlinePlayerInfoReq_proto_rawDescData)
+ })
+ return file_GetOnlinePlayerInfoReq_proto_rawDescData
+}
+
+var file_GetOnlinePlayerInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetOnlinePlayerInfoReq_proto_goTypes = []interface{}{
+ (*GetOnlinePlayerInfoReq)(nil), // 0: proto.GetOnlinePlayerInfoReq
+}
+var file_GetOnlinePlayerInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetOnlinePlayerInfoReq_proto_init() }
+func file_GetOnlinePlayerInfoReq_proto_init() {
+ if File_GetOnlinePlayerInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetOnlinePlayerInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetOnlinePlayerInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GetOnlinePlayerInfoReq_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GetOnlinePlayerInfoReq_TargetUid)(nil),
+ (*GetOnlinePlayerInfoReq_OnlineId)(nil),
+ (*GetOnlinePlayerInfoReq_PsnId)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetOnlinePlayerInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetOnlinePlayerInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetOnlinePlayerInfoReq_proto_depIdxs,
+ MessageInfos: file_GetOnlinePlayerInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetOnlinePlayerInfoReq_proto = out.File
+ file_GetOnlinePlayerInfoReq_proto_rawDesc = nil
+ file_GetOnlinePlayerInfoReq_proto_goTypes = nil
+ file_GetOnlinePlayerInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetOnlinePlayerInfoRsp.pb.go b/protocol/proto/GetOnlinePlayerInfoRsp.pb.go
new file mode 100644
index 00000000..6a233f8c
--- /dev/null
+++ b/protocol/proto/GetOnlinePlayerInfoRsp.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetOnlinePlayerInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 47
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetOnlinePlayerInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetUid uint32 `protobuf:"varint,7,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ Param uint32 `protobuf:"varint,4,opt,name=param,proto3" json:"param,omitempty"`
+ TargetPlayerInfo *OnlinePlayerInfo `protobuf:"bytes,14,opt,name=target_player_info,json=targetPlayerInfo,proto3" json:"target_player_info,omitempty"`
+}
+
+func (x *GetOnlinePlayerInfoRsp) Reset() {
+ *x = GetOnlinePlayerInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetOnlinePlayerInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetOnlinePlayerInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnlinePlayerInfoRsp) ProtoMessage() {}
+
+func (x *GetOnlinePlayerInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetOnlinePlayerInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetOnlinePlayerInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetOnlinePlayerInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetOnlinePlayerInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetOnlinePlayerInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetOnlinePlayerInfoRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *GetOnlinePlayerInfoRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *GetOnlinePlayerInfoRsp) GetTargetPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.TargetPlayerInfo
+ }
+ return nil
+}
+
+var File_GetOnlinePlayerInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetOnlinePlayerInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01,
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x45, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c, 0x69,
+ 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetOnlinePlayerInfoRsp_proto_rawDescOnce sync.Once
+ file_GetOnlinePlayerInfoRsp_proto_rawDescData = file_GetOnlinePlayerInfoRsp_proto_rawDesc
+)
+
+func file_GetOnlinePlayerInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetOnlinePlayerInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetOnlinePlayerInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetOnlinePlayerInfoRsp_proto_rawDescData)
+ })
+ return file_GetOnlinePlayerInfoRsp_proto_rawDescData
+}
+
+var file_GetOnlinePlayerInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetOnlinePlayerInfoRsp_proto_goTypes = []interface{}{
+ (*GetOnlinePlayerInfoRsp)(nil), // 0: proto.GetOnlinePlayerInfoRsp
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+}
+var file_GetOnlinePlayerInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetOnlinePlayerInfoRsp.target_player_info:type_name -> proto.OnlinePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetOnlinePlayerInfoRsp_proto_init() }
+func file_GetOnlinePlayerInfoRsp_proto_init() {
+ if File_GetOnlinePlayerInfoRsp_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetOnlinePlayerInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetOnlinePlayerInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetOnlinePlayerInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetOnlinePlayerInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetOnlinePlayerInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetOnlinePlayerInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetOnlinePlayerInfoRsp_proto = out.File
+ file_GetOnlinePlayerInfoRsp_proto_rawDesc = nil
+ file_GetOnlinePlayerInfoRsp_proto_goTypes = nil
+ file_GetOnlinePlayerInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetOnlinePlayerListReq.pb.go b/protocol/proto/GetOnlinePlayerListReq.pb.go
new file mode 100644
index 00000000..1c7a5733
--- /dev/null
+++ b/protocol/proto/GetOnlinePlayerListReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetOnlinePlayerListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 90
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetOnlinePlayerListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetOnlinePlayerListReq) Reset() {
+ *x = GetOnlinePlayerListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetOnlinePlayerListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetOnlinePlayerListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnlinePlayerListReq) ProtoMessage() {}
+
+func (x *GetOnlinePlayerListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetOnlinePlayerListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetOnlinePlayerListReq.ProtoReflect.Descriptor instead.
+func (*GetOnlinePlayerListReq) Descriptor() ([]byte, []int) {
+ return file_GetOnlinePlayerListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetOnlinePlayerListReq_proto protoreflect.FileDescriptor
+
+var file_GetOnlinePlayerListReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69,
+ 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetOnlinePlayerListReq_proto_rawDescOnce sync.Once
+ file_GetOnlinePlayerListReq_proto_rawDescData = file_GetOnlinePlayerListReq_proto_rawDesc
+)
+
+func file_GetOnlinePlayerListReq_proto_rawDescGZIP() []byte {
+ file_GetOnlinePlayerListReq_proto_rawDescOnce.Do(func() {
+ file_GetOnlinePlayerListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetOnlinePlayerListReq_proto_rawDescData)
+ })
+ return file_GetOnlinePlayerListReq_proto_rawDescData
+}
+
+var file_GetOnlinePlayerListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetOnlinePlayerListReq_proto_goTypes = []interface{}{
+ (*GetOnlinePlayerListReq)(nil), // 0: proto.GetOnlinePlayerListReq
+}
+var file_GetOnlinePlayerListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetOnlinePlayerListReq_proto_init() }
+func file_GetOnlinePlayerListReq_proto_init() {
+ if File_GetOnlinePlayerListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetOnlinePlayerListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetOnlinePlayerListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetOnlinePlayerListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetOnlinePlayerListReq_proto_goTypes,
+ DependencyIndexes: file_GetOnlinePlayerListReq_proto_depIdxs,
+ MessageInfos: file_GetOnlinePlayerListReq_proto_msgTypes,
+ }.Build()
+ File_GetOnlinePlayerListReq_proto = out.File
+ file_GetOnlinePlayerListReq_proto_rawDesc = nil
+ file_GetOnlinePlayerListReq_proto_goTypes = nil
+ file_GetOnlinePlayerListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetOnlinePlayerListRsp.pb.go b/protocol/proto/GetOnlinePlayerListRsp.pb.go
new file mode 100644
index 00000000..958cb06f
--- /dev/null
+++ b/protocol/proto/GetOnlinePlayerListRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetOnlinePlayerListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 73
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetOnlinePlayerListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Param uint32 `protobuf:"varint,11,opt,name=param,proto3" json:"param,omitempty"`
+ PlayerInfoList []*OnlinePlayerInfo `protobuf:"bytes,5,rep,name=player_info_list,json=playerInfoList,proto3" json:"player_info_list,omitempty"`
+}
+
+func (x *GetOnlinePlayerListRsp) Reset() {
+ *x = GetOnlinePlayerListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetOnlinePlayerListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetOnlinePlayerListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOnlinePlayerListRsp) ProtoMessage() {}
+
+func (x *GetOnlinePlayerListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetOnlinePlayerListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetOnlinePlayerListRsp.ProtoReflect.Descriptor instead.
+func (*GetOnlinePlayerListRsp) Descriptor() ([]byte, []int) {
+ return file_GetOnlinePlayerListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetOnlinePlayerListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetOnlinePlayerListRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *GetOnlinePlayerListRsp) GetPlayerInfoList() []*OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfoList
+ }
+ return nil
+}
+
+var File_GetOnlinePlayerListRsp_proto protoreflect.FileDescriptor
+
+var file_GetOnlinePlayerListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01,
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x41, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetOnlinePlayerListRsp_proto_rawDescOnce sync.Once
+ file_GetOnlinePlayerListRsp_proto_rawDescData = file_GetOnlinePlayerListRsp_proto_rawDesc
+)
+
+func file_GetOnlinePlayerListRsp_proto_rawDescGZIP() []byte {
+ file_GetOnlinePlayerListRsp_proto_rawDescOnce.Do(func() {
+ file_GetOnlinePlayerListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetOnlinePlayerListRsp_proto_rawDescData)
+ })
+ return file_GetOnlinePlayerListRsp_proto_rawDescData
+}
+
+var file_GetOnlinePlayerListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetOnlinePlayerListRsp_proto_goTypes = []interface{}{
+ (*GetOnlinePlayerListRsp)(nil), // 0: proto.GetOnlinePlayerListRsp
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+}
+var file_GetOnlinePlayerListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetOnlinePlayerListRsp.player_info_list:type_name -> proto.OnlinePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetOnlinePlayerListRsp_proto_init() }
+func file_GetOnlinePlayerListRsp_proto_init() {
+ if File_GetOnlinePlayerListRsp_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetOnlinePlayerListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetOnlinePlayerListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetOnlinePlayerListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetOnlinePlayerListRsp_proto_goTypes,
+ DependencyIndexes: file_GetOnlinePlayerListRsp_proto_depIdxs,
+ MessageInfos: file_GetOnlinePlayerListRsp_proto_msgTypes,
+ }.Build()
+ File_GetOnlinePlayerListRsp_proto = out.File
+ file_GetOnlinePlayerListRsp_proto_rawDesc = nil
+ file_GetOnlinePlayerListRsp_proto_goTypes = nil
+ file_GetOnlinePlayerListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetOpActivityInfoReq.pb.go b/protocol/proto/GetOpActivityInfoReq.pb.go
new file mode 100644
index 00000000..58d8849a
--- /dev/null
+++ b/protocol/proto/GetOpActivityInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetOpActivityInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetOpActivityInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetOpActivityInfoReq) Reset() {
+ *x = GetOpActivityInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetOpActivityInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetOpActivityInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOpActivityInfoReq) ProtoMessage() {}
+
+func (x *GetOpActivityInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetOpActivityInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetOpActivityInfoReq.ProtoReflect.Descriptor instead.
+func (*GetOpActivityInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetOpActivityInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetOpActivityInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetOpActivityInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetOpActivityInfoReq_proto_rawDescOnce sync.Once
+ file_GetOpActivityInfoReq_proto_rawDescData = file_GetOpActivityInfoReq_proto_rawDesc
+)
+
+func file_GetOpActivityInfoReq_proto_rawDescGZIP() []byte {
+ file_GetOpActivityInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetOpActivityInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetOpActivityInfoReq_proto_rawDescData)
+ })
+ return file_GetOpActivityInfoReq_proto_rawDescData
+}
+
+var file_GetOpActivityInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetOpActivityInfoReq_proto_goTypes = []interface{}{
+ (*GetOpActivityInfoReq)(nil), // 0: proto.GetOpActivityInfoReq
+}
+var file_GetOpActivityInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetOpActivityInfoReq_proto_init() }
+func file_GetOpActivityInfoReq_proto_init() {
+ if File_GetOpActivityInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetOpActivityInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetOpActivityInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetOpActivityInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetOpActivityInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetOpActivityInfoReq_proto_depIdxs,
+ MessageInfos: file_GetOpActivityInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetOpActivityInfoReq_proto = out.File
+ file_GetOpActivityInfoReq_proto_rawDesc = nil
+ file_GetOpActivityInfoReq_proto_goTypes = nil
+ file_GetOpActivityInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetOpActivityInfoRsp.pb.go b/protocol/proto/GetOpActivityInfoRsp.pb.go
new file mode 100644
index 00000000..bf61a337
--- /dev/null
+++ b/protocol/proto/GetOpActivityInfoRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetOpActivityInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5198
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetOpActivityInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OpActivityInfoList []*OpActivityInfo `protobuf:"bytes,7,rep,name=op_activity_info_list,json=opActivityInfoList,proto3" json:"op_activity_info_list,omitempty"`
+}
+
+func (x *GetOpActivityInfoRsp) Reset() {
+ *x = GetOpActivityInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetOpActivityInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetOpActivityInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetOpActivityInfoRsp) ProtoMessage() {}
+
+func (x *GetOpActivityInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetOpActivityInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetOpActivityInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetOpActivityInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetOpActivityInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetOpActivityInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetOpActivityInfoRsp) GetOpActivityInfoList() []*OpActivityInfo {
+ if x != nil {
+ return x.OpActivityInfoList
+ }
+ return nil
+}
+
+var File_GetOpActivityInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetOpActivityInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x14, 0x47, 0x65, 0x74,
+ 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x48, 0x0a, 0x15, 0x6f,
+ 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x12, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetOpActivityInfoRsp_proto_rawDescOnce sync.Once
+ file_GetOpActivityInfoRsp_proto_rawDescData = file_GetOpActivityInfoRsp_proto_rawDesc
+)
+
+func file_GetOpActivityInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetOpActivityInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetOpActivityInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetOpActivityInfoRsp_proto_rawDescData)
+ })
+ return file_GetOpActivityInfoRsp_proto_rawDescData
+}
+
+var file_GetOpActivityInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetOpActivityInfoRsp_proto_goTypes = []interface{}{
+ (*GetOpActivityInfoRsp)(nil), // 0: proto.GetOpActivityInfoRsp
+ (*OpActivityInfo)(nil), // 1: proto.OpActivityInfo
+}
+var file_GetOpActivityInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetOpActivityInfoRsp.op_activity_info_list:type_name -> proto.OpActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetOpActivityInfoRsp_proto_init() }
+func file_GetOpActivityInfoRsp_proto_init() {
+ if File_GetOpActivityInfoRsp_proto != nil {
+ return
+ }
+ file_OpActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetOpActivityInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetOpActivityInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetOpActivityInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetOpActivityInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetOpActivityInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetOpActivityInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetOpActivityInfoRsp_proto = out.File
+ file_GetOpActivityInfoRsp_proto_rawDesc = nil
+ file_GetOpActivityInfoRsp_proto_goTypes = nil
+ file_GetOpActivityInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetParentQuestVideoKeyReq.pb.go b/protocol/proto/GetParentQuestVideoKeyReq.pb.go
new file mode 100644
index 00000000..8601dd31
--- /dev/null
+++ b/protocol/proto/GetParentQuestVideoKeyReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetParentQuestVideoKeyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 470
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetParentQuestVideoKeyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentQuestId uint32 `protobuf:"varint,15,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+}
+
+func (x *GetParentQuestVideoKeyReq) Reset() {
+ *x = GetParentQuestVideoKeyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetParentQuestVideoKeyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetParentQuestVideoKeyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetParentQuestVideoKeyReq) ProtoMessage() {}
+
+func (x *GetParentQuestVideoKeyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetParentQuestVideoKeyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetParentQuestVideoKeyReq.ProtoReflect.Descriptor instead.
+func (*GetParentQuestVideoKeyReq) Descriptor() ([]byte, []int) {
+ return file_GetParentQuestVideoKeyReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetParentQuestVideoKeyReq) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+var File_GetParentQuestVideoKeyReq_proto protoreflect.FileDescriptor
+
+var file_GetParentQuestVideoKeyReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74,
+ 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4b,
+ 0x65, 0x79, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetParentQuestVideoKeyReq_proto_rawDescOnce sync.Once
+ file_GetParentQuestVideoKeyReq_proto_rawDescData = file_GetParentQuestVideoKeyReq_proto_rawDesc
+)
+
+func file_GetParentQuestVideoKeyReq_proto_rawDescGZIP() []byte {
+ file_GetParentQuestVideoKeyReq_proto_rawDescOnce.Do(func() {
+ file_GetParentQuestVideoKeyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetParentQuestVideoKeyReq_proto_rawDescData)
+ })
+ return file_GetParentQuestVideoKeyReq_proto_rawDescData
+}
+
+var file_GetParentQuestVideoKeyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetParentQuestVideoKeyReq_proto_goTypes = []interface{}{
+ (*GetParentQuestVideoKeyReq)(nil), // 0: proto.GetParentQuestVideoKeyReq
+}
+var file_GetParentQuestVideoKeyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetParentQuestVideoKeyReq_proto_init() }
+func file_GetParentQuestVideoKeyReq_proto_init() {
+ if File_GetParentQuestVideoKeyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetParentQuestVideoKeyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetParentQuestVideoKeyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetParentQuestVideoKeyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetParentQuestVideoKeyReq_proto_goTypes,
+ DependencyIndexes: file_GetParentQuestVideoKeyReq_proto_depIdxs,
+ MessageInfos: file_GetParentQuestVideoKeyReq_proto_msgTypes,
+ }.Build()
+ File_GetParentQuestVideoKeyReq_proto = out.File
+ file_GetParentQuestVideoKeyReq_proto_rawDesc = nil
+ file_GetParentQuestVideoKeyReq_proto_goTypes = nil
+ file_GetParentQuestVideoKeyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetParentQuestVideoKeyRsp.pb.go b/protocol/proto/GetParentQuestVideoKeyRsp.pb.go
new file mode 100644
index 00000000..da2e1d7c
--- /dev/null
+++ b/protocol/proto/GetParentQuestVideoKeyRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetParentQuestVideoKeyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 417
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetParentQuestVideoKeyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ VideoKey uint64 `protobuf:"varint,14,opt,name=video_key,json=videoKey,proto3" json:"video_key,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,10,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+}
+
+func (x *GetParentQuestVideoKeyRsp) Reset() {
+ *x = GetParentQuestVideoKeyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetParentQuestVideoKeyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetParentQuestVideoKeyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetParentQuestVideoKeyRsp) ProtoMessage() {}
+
+func (x *GetParentQuestVideoKeyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetParentQuestVideoKeyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetParentQuestVideoKeyRsp.ProtoReflect.Descriptor instead.
+func (*GetParentQuestVideoKeyRsp) Descriptor() ([]byte, []int) {
+ return file_GetParentQuestVideoKeyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetParentQuestVideoKeyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetParentQuestVideoKeyRsp) GetVideoKey() uint64 {
+ if x != nil {
+ return x.VideoKey
+ }
+ return 0
+}
+
+func (x *GetParentQuestVideoKeyRsp) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+var File_GetParentQuestVideoKeyRsp_proto protoreflect.FileDescriptor
+
+var file_GetParentQuestVideoKeyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74,
+ 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4b,
+ 0x65, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0f,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetParentQuestVideoKeyRsp_proto_rawDescOnce sync.Once
+ file_GetParentQuestVideoKeyRsp_proto_rawDescData = file_GetParentQuestVideoKeyRsp_proto_rawDesc
+)
+
+func file_GetParentQuestVideoKeyRsp_proto_rawDescGZIP() []byte {
+ file_GetParentQuestVideoKeyRsp_proto_rawDescOnce.Do(func() {
+ file_GetParentQuestVideoKeyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetParentQuestVideoKeyRsp_proto_rawDescData)
+ })
+ return file_GetParentQuestVideoKeyRsp_proto_rawDescData
+}
+
+var file_GetParentQuestVideoKeyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetParentQuestVideoKeyRsp_proto_goTypes = []interface{}{
+ (*GetParentQuestVideoKeyRsp)(nil), // 0: proto.GetParentQuestVideoKeyRsp
+}
+var file_GetParentQuestVideoKeyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetParentQuestVideoKeyRsp_proto_init() }
+func file_GetParentQuestVideoKeyRsp_proto_init() {
+ if File_GetParentQuestVideoKeyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetParentQuestVideoKeyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetParentQuestVideoKeyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetParentQuestVideoKeyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetParentQuestVideoKeyRsp_proto_goTypes,
+ DependencyIndexes: file_GetParentQuestVideoKeyRsp_proto_depIdxs,
+ MessageInfos: file_GetParentQuestVideoKeyRsp_proto_msgTypes,
+ }.Build()
+ File_GetParentQuestVideoKeyRsp_proto = out.File
+ file_GetParentQuestVideoKeyRsp_proto_rawDesc = nil
+ file_GetParentQuestVideoKeyRsp_proto_goTypes = nil
+ file_GetParentQuestVideoKeyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerAskFriendListReq.pb.go b/protocol/proto/GetPlayerAskFriendListReq.pb.go
new file mode 100644
index 00000000..92043460
--- /dev/null
+++ b/protocol/proto/GetPlayerAskFriendListReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerAskFriendListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4018
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPlayerAskFriendListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetPlayerAskFriendListReq) Reset() {
+ *x = GetPlayerAskFriendListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerAskFriendListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerAskFriendListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerAskFriendListReq) ProtoMessage() {}
+
+func (x *GetPlayerAskFriendListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerAskFriendListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerAskFriendListReq.ProtoReflect.Descriptor instead.
+func (*GetPlayerAskFriendListReq) Descriptor() ([]byte, []int) {
+ return file_GetPlayerAskFriendListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetPlayerAskFriendListReq_proto protoreflect.FileDescriptor
+
+var file_GetPlayerAskFriendListReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x73, 0x6b, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x73, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerAskFriendListReq_proto_rawDescOnce sync.Once
+ file_GetPlayerAskFriendListReq_proto_rawDescData = file_GetPlayerAskFriendListReq_proto_rawDesc
+)
+
+func file_GetPlayerAskFriendListReq_proto_rawDescGZIP() []byte {
+ file_GetPlayerAskFriendListReq_proto_rawDescOnce.Do(func() {
+ file_GetPlayerAskFriendListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerAskFriendListReq_proto_rawDescData)
+ })
+ return file_GetPlayerAskFriendListReq_proto_rawDescData
+}
+
+var file_GetPlayerAskFriendListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerAskFriendListReq_proto_goTypes = []interface{}{
+ (*GetPlayerAskFriendListReq)(nil), // 0: proto.GetPlayerAskFriendListReq
+}
+var file_GetPlayerAskFriendListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerAskFriendListReq_proto_init() }
+func file_GetPlayerAskFriendListReq_proto_init() {
+ if File_GetPlayerAskFriendListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerAskFriendListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerAskFriendListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerAskFriendListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerAskFriendListReq_proto_goTypes,
+ DependencyIndexes: file_GetPlayerAskFriendListReq_proto_depIdxs,
+ MessageInfos: file_GetPlayerAskFriendListReq_proto_msgTypes,
+ }.Build()
+ File_GetPlayerAskFriendListReq_proto = out.File
+ file_GetPlayerAskFriendListReq_proto_rawDesc = nil
+ file_GetPlayerAskFriendListReq_proto_goTypes = nil
+ file_GetPlayerAskFriendListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerAskFriendListRsp.pb.go b/protocol/proto/GetPlayerAskFriendListRsp.pb.go
new file mode 100644
index 00000000..61c9c4e2
--- /dev/null
+++ b/protocol/proto/GetPlayerAskFriendListRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerAskFriendListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4066
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetPlayerAskFriendListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AskFriendList []*FriendBrief `protobuf:"bytes,15,rep,name=ask_friend_list,json=askFriendList,proto3" json:"ask_friend_list,omitempty"`
+}
+
+func (x *GetPlayerAskFriendListRsp) Reset() {
+ *x = GetPlayerAskFriendListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerAskFriendListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerAskFriendListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerAskFriendListRsp) ProtoMessage() {}
+
+func (x *GetPlayerAskFriendListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerAskFriendListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerAskFriendListRsp.ProtoReflect.Descriptor instead.
+func (*GetPlayerAskFriendListRsp) Descriptor() ([]byte, []int) {
+ return file_GetPlayerAskFriendListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPlayerAskFriendListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetPlayerAskFriendListRsp) GetAskFriendList() []*FriendBrief {
+ if x != nil {
+ return x.AskFriendList
+ }
+ return nil
+}
+
+var File_GetPlayerAskFriendListRsp_proto protoreflect.FileDescriptor
+
+var file_GetPlayerAskFriendListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x73, 0x6b, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x19, 0x47,
+ 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x73, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x3a, 0x0a, 0x0f, 0x61, 0x73, 0x6b, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52,
+ 0x0d, 0x61, 0x73, 0x6b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerAskFriendListRsp_proto_rawDescOnce sync.Once
+ file_GetPlayerAskFriendListRsp_proto_rawDescData = file_GetPlayerAskFriendListRsp_proto_rawDesc
+)
+
+func file_GetPlayerAskFriendListRsp_proto_rawDescGZIP() []byte {
+ file_GetPlayerAskFriendListRsp_proto_rawDescOnce.Do(func() {
+ file_GetPlayerAskFriendListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerAskFriendListRsp_proto_rawDescData)
+ })
+ return file_GetPlayerAskFriendListRsp_proto_rawDescData
+}
+
+var file_GetPlayerAskFriendListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerAskFriendListRsp_proto_goTypes = []interface{}{
+ (*GetPlayerAskFriendListRsp)(nil), // 0: proto.GetPlayerAskFriendListRsp
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_GetPlayerAskFriendListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetPlayerAskFriendListRsp.ask_friend_list:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerAskFriendListRsp_proto_init() }
+func file_GetPlayerAskFriendListRsp_proto_init() {
+ if File_GetPlayerAskFriendListRsp_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerAskFriendListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerAskFriendListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerAskFriendListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerAskFriendListRsp_proto_goTypes,
+ DependencyIndexes: file_GetPlayerAskFriendListRsp_proto_depIdxs,
+ MessageInfos: file_GetPlayerAskFriendListRsp_proto_msgTypes,
+ }.Build()
+ File_GetPlayerAskFriendListRsp_proto = out.File
+ file_GetPlayerAskFriendListRsp_proto_rawDesc = nil
+ file_GetPlayerAskFriendListRsp_proto_goTypes = nil
+ file_GetPlayerAskFriendListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerBlacklistReq.pb.go b/protocol/proto/GetPlayerBlacklistReq.pb.go
new file mode 100644
index 00000000..c187b14a
--- /dev/null
+++ b/protocol/proto/GetPlayerBlacklistReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerBlacklistReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4049
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPlayerBlacklistReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetPlayerBlacklistReq) Reset() {
+ *x = GetPlayerBlacklistReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerBlacklistReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerBlacklistReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerBlacklistReq) ProtoMessage() {}
+
+func (x *GetPlayerBlacklistReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerBlacklistReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerBlacklistReq.ProtoReflect.Descriptor instead.
+func (*GetPlayerBlacklistReq) Descriptor() ([]byte, []int) {
+ return file_GetPlayerBlacklistReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetPlayerBlacklistReq_proto protoreflect.FileDescriptor
+
+var file_GetPlayerBlacklistReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x6c, 0x61, 0x63, 0x6b,
+ 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetPlayerBlacklistReq_proto_rawDescOnce sync.Once
+ file_GetPlayerBlacklistReq_proto_rawDescData = file_GetPlayerBlacklistReq_proto_rawDesc
+)
+
+func file_GetPlayerBlacklistReq_proto_rawDescGZIP() []byte {
+ file_GetPlayerBlacklistReq_proto_rawDescOnce.Do(func() {
+ file_GetPlayerBlacklistReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerBlacklistReq_proto_rawDescData)
+ })
+ return file_GetPlayerBlacklistReq_proto_rawDescData
+}
+
+var file_GetPlayerBlacklistReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerBlacklistReq_proto_goTypes = []interface{}{
+ (*GetPlayerBlacklistReq)(nil), // 0: proto.GetPlayerBlacklistReq
+}
+var file_GetPlayerBlacklistReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerBlacklistReq_proto_init() }
+func file_GetPlayerBlacklistReq_proto_init() {
+ if File_GetPlayerBlacklistReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerBlacklistReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerBlacklistReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerBlacklistReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerBlacklistReq_proto_goTypes,
+ DependencyIndexes: file_GetPlayerBlacklistReq_proto_depIdxs,
+ MessageInfos: file_GetPlayerBlacklistReq_proto_msgTypes,
+ }.Build()
+ File_GetPlayerBlacklistReq_proto = out.File
+ file_GetPlayerBlacklistReq_proto_rawDesc = nil
+ file_GetPlayerBlacklistReq_proto_goTypes = nil
+ file_GetPlayerBlacklistReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerBlacklistRsp.pb.go b/protocol/proto/GetPlayerBlacklistRsp.pb.go
new file mode 100644
index 00000000..781da13f
--- /dev/null
+++ b/protocol/proto/GetPlayerBlacklistRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerBlacklistRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4091
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetPlayerBlacklistRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Blacklist []*FriendBrief `protobuf:"bytes,3,rep,name=blacklist,proto3" json:"blacklist,omitempty"`
+}
+
+func (x *GetPlayerBlacklistRsp) Reset() {
+ *x = GetPlayerBlacklistRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerBlacklistRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerBlacklistRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerBlacklistRsp) ProtoMessage() {}
+
+func (x *GetPlayerBlacklistRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerBlacklistRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerBlacklistRsp.ProtoReflect.Descriptor instead.
+func (*GetPlayerBlacklistRsp) Descriptor() ([]byte, []int) {
+ return file_GetPlayerBlacklistRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPlayerBlacklistRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetPlayerBlacklistRsp) GetBlacklist() []*FriendBrief {
+ if x != nil {
+ return x.Blacklist
+ }
+ return nil
+}
+
+var File_GetPlayerBlacklistRsp_proto protoreflect.FileDescriptor
+
+var file_GetPlayerBlacklistRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x6c, 0x61, 0x63, 0x6b,
+ 0x6c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x62, 0x6c,
+ 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x52, 0x09, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerBlacklistRsp_proto_rawDescOnce sync.Once
+ file_GetPlayerBlacklistRsp_proto_rawDescData = file_GetPlayerBlacklistRsp_proto_rawDesc
+)
+
+func file_GetPlayerBlacklistRsp_proto_rawDescGZIP() []byte {
+ file_GetPlayerBlacklistRsp_proto_rawDescOnce.Do(func() {
+ file_GetPlayerBlacklistRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerBlacklistRsp_proto_rawDescData)
+ })
+ return file_GetPlayerBlacklistRsp_proto_rawDescData
+}
+
+var file_GetPlayerBlacklistRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerBlacklistRsp_proto_goTypes = []interface{}{
+ (*GetPlayerBlacklistRsp)(nil), // 0: proto.GetPlayerBlacklistRsp
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_GetPlayerBlacklistRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetPlayerBlacklistRsp.blacklist:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerBlacklistRsp_proto_init() }
+func file_GetPlayerBlacklistRsp_proto_init() {
+ if File_GetPlayerBlacklistRsp_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerBlacklistRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerBlacklistRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerBlacklistRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerBlacklistRsp_proto_goTypes,
+ DependencyIndexes: file_GetPlayerBlacklistRsp_proto_depIdxs,
+ MessageInfos: file_GetPlayerBlacklistRsp_proto_msgTypes,
+ }.Build()
+ File_GetPlayerBlacklistRsp_proto = out.File
+ file_GetPlayerBlacklistRsp_proto_rawDesc = nil
+ file_GetPlayerBlacklistRsp_proto_goTypes = nil
+ file_GetPlayerBlacklistRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerFriendListReq.pb.go b/protocol/proto/GetPlayerFriendListReq.pb.go
new file mode 100644
index 00000000..705c431e
--- /dev/null
+++ b/protocol/proto/GetPlayerFriendListReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerFriendListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4072
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPlayerFriendListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetPlayerFriendListReq) Reset() {
+ *x = GetPlayerFriendListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerFriendListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerFriendListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerFriendListReq) ProtoMessage() {}
+
+func (x *GetPlayerFriendListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerFriendListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerFriendListReq.ProtoReflect.Descriptor instead.
+func (*GetPlayerFriendListReq) Descriptor() ([]byte, []int) {
+ return file_GetPlayerFriendListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetPlayerFriendListReq_proto protoreflect.FileDescriptor
+
+var file_GetPlayerFriendListReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerFriendListReq_proto_rawDescOnce sync.Once
+ file_GetPlayerFriendListReq_proto_rawDescData = file_GetPlayerFriendListReq_proto_rawDesc
+)
+
+func file_GetPlayerFriendListReq_proto_rawDescGZIP() []byte {
+ file_GetPlayerFriendListReq_proto_rawDescOnce.Do(func() {
+ file_GetPlayerFriendListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerFriendListReq_proto_rawDescData)
+ })
+ return file_GetPlayerFriendListReq_proto_rawDescData
+}
+
+var file_GetPlayerFriendListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerFriendListReq_proto_goTypes = []interface{}{
+ (*GetPlayerFriendListReq)(nil), // 0: proto.GetPlayerFriendListReq
+}
+var file_GetPlayerFriendListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerFriendListReq_proto_init() }
+func file_GetPlayerFriendListReq_proto_init() {
+ if File_GetPlayerFriendListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerFriendListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerFriendListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerFriendListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerFriendListReq_proto_goTypes,
+ DependencyIndexes: file_GetPlayerFriendListReq_proto_depIdxs,
+ MessageInfos: file_GetPlayerFriendListReq_proto_msgTypes,
+ }.Build()
+ File_GetPlayerFriendListReq_proto = out.File
+ file_GetPlayerFriendListReq_proto_rawDesc = nil
+ file_GetPlayerFriendListReq_proto_goTypes = nil
+ file_GetPlayerFriendListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerFriendListRsp.pb.go b/protocol/proto/GetPlayerFriendListRsp.pb.go
new file mode 100644
index 00000000..38b4eb47
--- /dev/null
+++ b/protocol/proto/GetPlayerFriendListRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerFriendListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4098
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPlayerFriendListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AskFriendList []*FriendBrief `protobuf:"bytes,8,rep,name=ask_friend_list,json=askFriendList,proto3" json:"ask_friend_list,omitempty"`
+ FriendList []*FriendBrief `protobuf:"bytes,14,rep,name=friend_list,json=friendList,proto3" json:"friend_list,omitempty"`
+}
+
+func (x *GetPlayerFriendListRsp) Reset() {
+ *x = GetPlayerFriendListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerFriendListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerFriendListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerFriendListRsp) ProtoMessage() {}
+
+func (x *GetPlayerFriendListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerFriendListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerFriendListRsp.ProtoReflect.Descriptor instead.
+func (*GetPlayerFriendListRsp) Descriptor() ([]byte, []int) {
+ return file_GetPlayerFriendListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPlayerFriendListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetPlayerFriendListRsp) GetAskFriendList() []*FriendBrief {
+ if x != nil {
+ return x.AskFriendList
+ }
+ return nil
+}
+
+func (x *GetPlayerFriendListRsp) GetFriendList() []*FriendBrief {
+ if x != nil {
+ return x.FriendList
+ }
+ return nil
+}
+
+var File_GetPlayerFriendListRsp_proto protoreflect.FileDescriptor
+
+var file_GetPlayerFriendListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3a, 0x0a,
+ 0x0f, 0x61, 0x73, 0x6b, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x0d, 0x61, 0x73, 0x6b, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x66, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x52, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerFriendListRsp_proto_rawDescOnce sync.Once
+ file_GetPlayerFriendListRsp_proto_rawDescData = file_GetPlayerFriendListRsp_proto_rawDesc
+)
+
+func file_GetPlayerFriendListRsp_proto_rawDescGZIP() []byte {
+ file_GetPlayerFriendListRsp_proto_rawDescOnce.Do(func() {
+ file_GetPlayerFriendListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerFriendListRsp_proto_rawDescData)
+ })
+ return file_GetPlayerFriendListRsp_proto_rawDescData
+}
+
+var file_GetPlayerFriendListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerFriendListRsp_proto_goTypes = []interface{}{
+ (*GetPlayerFriendListRsp)(nil), // 0: proto.GetPlayerFriendListRsp
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_GetPlayerFriendListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetPlayerFriendListRsp.ask_friend_list:type_name -> proto.FriendBrief
+ 1, // 1: proto.GetPlayerFriendListRsp.friend_list:type_name -> proto.FriendBrief
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerFriendListRsp_proto_init() }
+func file_GetPlayerFriendListRsp_proto_init() {
+ if File_GetPlayerFriendListRsp_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerFriendListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerFriendListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerFriendListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerFriendListRsp_proto_goTypes,
+ DependencyIndexes: file_GetPlayerFriendListRsp_proto_depIdxs,
+ MessageInfos: file_GetPlayerFriendListRsp_proto_msgTypes,
+ }.Build()
+ File_GetPlayerFriendListRsp_proto = out.File
+ file_GetPlayerFriendListRsp_proto_rawDesc = nil
+ file_GetPlayerFriendListRsp_proto_goTypes = nil
+ file_GetPlayerFriendListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerHomeCompInfoReq.pb.go b/protocol/proto/GetPlayerHomeCompInfoReq.pb.go
new file mode 100644
index 00000000..94f13775
--- /dev/null
+++ b/protocol/proto/GetPlayerHomeCompInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerHomeCompInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4597
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPlayerHomeCompInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetPlayerHomeCompInfoReq) Reset() {
+ *x = GetPlayerHomeCompInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerHomeCompInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerHomeCompInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerHomeCompInfoReq) ProtoMessage() {}
+
+func (x *GetPlayerHomeCompInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerHomeCompInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerHomeCompInfoReq.ProtoReflect.Descriptor instead.
+func (*GetPlayerHomeCompInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetPlayerHomeCompInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetPlayerHomeCompInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetPlayerHomeCompInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x43,
+ 0x6f, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerHomeCompInfoReq_proto_rawDescOnce sync.Once
+ file_GetPlayerHomeCompInfoReq_proto_rawDescData = file_GetPlayerHomeCompInfoReq_proto_rawDesc
+)
+
+func file_GetPlayerHomeCompInfoReq_proto_rawDescGZIP() []byte {
+ file_GetPlayerHomeCompInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetPlayerHomeCompInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerHomeCompInfoReq_proto_rawDescData)
+ })
+ return file_GetPlayerHomeCompInfoReq_proto_rawDescData
+}
+
+var file_GetPlayerHomeCompInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerHomeCompInfoReq_proto_goTypes = []interface{}{
+ (*GetPlayerHomeCompInfoReq)(nil), // 0: proto.GetPlayerHomeCompInfoReq
+}
+var file_GetPlayerHomeCompInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerHomeCompInfoReq_proto_init() }
+func file_GetPlayerHomeCompInfoReq_proto_init() {
+ if File_GetPlayerHomeCompInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerHomeCompInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerHomeCompInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerHomeCompInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerHomeCompInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetPlayerHomeCompInfoReq_proto_depIdxs,
+ MessageInfos: file_GetPlayerHomeCompInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetPlayerHomeCompInfoReq_proto = out.File
+ file_GetPlayerHomeCompInfoReq_proto_rawDesc = nil
+ file_GetPlayerHomeCompInfoReq_proto_goTypes = nil
+ file_GetPlayerHomeCompInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerMpModeAvailabilityReq.pb.go b/protocol/proto/GetPlayerMpModeAvailabilityReq.pb.go
new file mode 100644
index 00000000..c63d5244
--- /dev/null
+++ b/protocol/proto/GetPlayerMpModeAvailabilityReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerMpModeAvailabilityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1844
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPlayerMpModeAvailabilityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetPlayerMpModeAvailabilityReq) Reset() {
+ *x = GetPlayerMpModeAvailabilityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerMpModeAvailabilityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerMpModeAvailabilityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerMpModeAvailabilityReq) ProtoMessage() {}
+
+func (x *GetPlayerMpModeAvailabilityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerMpModeAvailabilityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerMpModeAvailabilityReq.ProtoReflect.Descriptor instead.
+func (*GetPlayerMpModeAvailabilityReq) Descriptor() ([]byte, []int) {
+ return file_GetPlayerMpModeAvailabilityReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetPlayerMpModeAvailabilityReq_proto protoreflect.FileDescriptor
+
+var file_GetPlayerMpModeAvailabilityReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x70, 0x4d, 0x6f, 0x64,
+ 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x70, 0x4d, 0x6f, 0x64, 0x65,
+ 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerMpModeAvailabilityReq_proto_rawDescOnce sync.Once
+ file_GetPlayerMpModeAvailabilityReq_proto_rawDescData = file_GetPlayerMpModeAvailabilityReq_proto_rawDesc
+)
+
+func file_GetPlayerMpModeAvailabilityReq_proto_rawDescGZIP() []byte {
+ file_GetPlayerMpModeAvailabilityReq_proto_rawDescOnce.Do(func() {
+ file_GetPlayerMpModeAvailabilityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerMpModeAvailabilityReq_proto_rawDescData)
+ })
+ return file_GetPlayerMpModeAvailabilityReq_proto_rawDescData
+}
+
+var file_GetPlayerMpModeAvailabilityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerMpModeAvailabilityReq_proto_goTypes = []interface{}{
+ (*GetPlayerMpModeAvailabilityReq)(nil), // 0: proto.GetPlayerMpModeAvailabilityReq
+}
+var file_GetPlayerMpModeAvailabilityReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerMpModeAvailabilityReq_proto_init() }
+func file_GetPlayerMpModeAvailabilityReq_proto_init() {
+ if File_GetPlayerMpModeAvailabilityReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerMpModeAvailabilityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerMpModeAvailabilityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerMpModeAvailabilityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerMpModeAvailabilityReq_proto_goTypes,
+ DependencyIndexes: file_GetPlayerMpModeAvailabilityReq_proto_depIdxs,
+ MessageInfos: file_GetPlayerMpModeAvailabilityReq_proto_msgTypes,
+ }.Build()
+ File_GetPlayerMpModeAvailabilityReq_proto = out.File
+ file_GetPlayerMpModeAvailabilityReq_proto_rawDesc = nil
+ file_GetPlayerMpModeAvailabilityReq_proto_goTypes = nil
+ file_GetPlayerMpModeAvailabilityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerMpModeAvailabilityRsp.pb.go b/protocol/proto/GetPlayerMpModeAvailabilityRsp.pb.go
new file mode 100644
index 00000000..4c0a795c
--- /dev/null
+++ b/protocol/proto/GetPlayerMpModeAvailabilityRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerMpModeAvailabilityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1849
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetPlayerMpModeAvailabilityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpRet int32 `protobuf:"varint,15,opt,name=mp_ret,json=mpRet,proto3" json:"mp_ret,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ParamList []uint32 `protobuf:"varint,8,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+}
+
+func (x *GetPlayerMpModeAvailabilityRsp) Reset() {
+ *x = GetPlayerMpModeAvailabilityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerMpModeAvailabilityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerMpModeAvailabilityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerMpModeAvailabilityRsp) ProtoMessage() {}
+
+func (x *GetPlayerMpModeAvailabilityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerMpModeAvailabilityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerMpModeAvailabilityRsp.ProtoReflect.Descriptor instead.
+func (*GetPlayerMpModeAvailabilityRsp) Descriptor() ([]byte, []int) {
+ return file_GetPlayerMpModeAvailabilityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPlayerMpModeAvailabilityRsp) GetMpRet() int32 {
+ if x != nil {
+ return x.MpRet
+ }
+ return 0
+}
+
+func (x *GetPlayerMpModeAvailabilityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetPlayerMpModeAvailabilityRsp) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+var File_GetPlayerMpModeAvailabilityRsp_proto protoreflect.FileDescriptor
+
+var file_GetPlayerMpModeAvailabilityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x70, 0x4d, 0x6f, 0x64,
+ 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a,
+ 0x1e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x70, 0x4d, 0x6f, 0x64, 0x65,
+ 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12,
+ 0x15, 0x0a, 0x06, 0x6d, 0x70, 0x5f, 0x72, 0x65, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x05, 0x6d, 0x70, 0x52, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerMpModeAvailabilityRsp_proto_rawDescOnce sync.Once
+ file_GetPlayerMpModeAvailabilityRsp_proto_rawDescData = file_GetPlayerMpModeAvailabilityRsp_proto_rawDesc
+)
+
+func file_GetPlayerMpModeAvailabilityRsp_proto_rawDescGZIP() []byte {
+ file_GetPlayerMpModeAvailabilityRsp_proto_rawDescOnce.Do(func() {
+ file_GetPlayerMpModeAvailabilityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerMpModeAvailabilityRsp_proto_rawDescData)
+ })
+ return file_GetPlayerMpModeAvailabilityRsp_proto_rawDescData
+}
+
+var file_GetPlayerMpModeAvailabilityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerMpModeAvailabilityRsp_proto_goTypes = []interface{}{
+ (*GetPlayerMpModeAvailabilityRsp)(nil), // 0: proto.GetPlayerMpModeAvailabilityRsp
+}
+var file_GetPlayerMpModeAvailabilityRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerMpModeAvailabilityRsp_proto_init() }
+func file_GetPlayerMpModeAvailabilityRsp_proto_init() {
+ if File_GetPlayerMpModeAvailabilityRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerMpModeAvailabilityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerMpModeAvailabilityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerMpModeAvailabilityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerMpModeAvailabilityRsp_proto_goTypes,
+ DependencyIndexes: file_GetPlayerMpModeAvailabilityRsp_proto_depIdxs,
+ MessageInfos: file_GetPlayerMpModeAvailabilityRsp_proto_msgTypes,
+ }.Build()
+ File_GetPlayerMpModeAvailabilityRsp_proto = out.File
+ file_GetPlayerMpModeAvailabilityRsp_proto_rawDesc = nil
+ file_GetPlayerMpModeAvailabilityRsp_proto_goTypes = nil
+ file_GetPlayerMpModeAvailabilityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerSocialDetailReq.pb.go b/protocol/proto/GetPlayerSocialDetailReq.pb.go
new file mode 100644
index 00000000..5c78cdcf
--- /dev/null
+++ b/protocol/proto/GetPlayerSocialDetailReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerSocialDetailReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4073
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPlayerSocialDetailReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,9,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GetPlayerSocialDetailReq) Reset() {
+ *x = GetPlayerSocialDetailReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerSocialDetailReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerSocialDetailReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerSocialDetailReq) ProtoMessage() {}
+
+func (x *GetPlayerSocialDetailReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerSocialDetailReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerSocialDetailReq.ProtoReflect.Descriptor instead.
+func (*GetPlayerSocialDetailReq) Descriptor() ([]byte, []int) {
+ return file_GetPlayerSocialDetailReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPlayerSocialDetailReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GetPlayerSocialDetailReq_proto protoreflect.FileDescriptor
+
+var file_GetPlayerSocialDetailReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerSocialDetailReq_proto_rawDescOnce sync.Once
+ file_GetPlayerSocialDetailReq_proto_rawDescData = file_GetPlayerSocialDetailReq_proto_rawDesc
+)
+
+func file_GetPlayerSocialDetailReq_proto_rawDescGZIP() []byte {
+ file_GetPlayerSocialDetailReq_proto_rawDescOnce.Do(func() {
+ file_GetPlayerSocialDetailReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerSocialDetailReq_proto_rawDescData)
+ })
+ return file_GetPlayerSocialDetailReq_proto_rawDescData
+}
+
+var file_GetPlayerSocialDetailReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerSocialDetailReq_proto_goTypes = []interface{}{
+ (*GetPlayerSocialDetailReq)(nil), // 0: proto.GetPlayerSocialDetailReq
+}
+var file_GetPlayerSocialDetailReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerSocialDetailReq_proto_init() }
+func file_GetPlayerSocialDetailReq_proto_init() {
+ if File_GetPlayerSocialDetailReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerSocialDetailReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerSocialDetailReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerSocialDetailReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerSocialDetailReq_proto_goTypes,
+ DependencyIndexes: file_GetPlayerSocialDetailReq_proto_depIdxs,
+ MessageInfos: file_GetPlayerSocialDetailReq_proto_msgTypes,
+ }.Build()
+ File_GetPlayerSocialDetailReq_proto = out.File
+ file_GetPlayerSocialDetailReq_proto_rawDesc = nil
+ file_GetPlayerSocialDetailReq_proto_goTypes = nil
+ file_GetPlayerSocialDetailReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerSocialDetailRsp.pb.go b/protocol/proto/GetPlayerSocialDetailRsp.pb.go
new file mode 100644
index 00000000..b55a4f2e
--- /dev/null
+++ b/protocol/proto/GetPlayerSocialDetailRsp.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerSocialDetailRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4099
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetPlayerSocialDetailRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DetailData *SocialDetail `protobuf:"bytes,12,opt,name=detail_data,json=detailData,proto3" json:"detail_data,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetPlayerSocialDetailRsp) Reset() {
+ *x = GetPlayerSocialDetailRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerSocialDetailRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerSocialDetailRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerSocialDetailRsp) ProtoMessage() {}
+
+func (x *GetPlayerSocialDetailRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerSocialDetailRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerSocialDetailRsp.ProtoReflect.Descriptor instead.
+func (*GetPlayerSocialDetailRsp) Descriptor() ([]byte, []int) {
+ return file_GetPlayerSocialDetailRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPlayerSocialDetailRsp) GetDetailData() *SocialDetail {
+ if x != nil {
+ return x.DetailData
+ }
+ return nil
+}
+
+func (x *GetPlayerSocialDetailRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetPlayerSocialDetailRsp_proto protoreflect.FileDescriptor
+
+var file_GetPlayerSocialDetailRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x18, 0x47,
+ 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x52, 0x0a, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerSocialDetailRsp_proto_rawDescOnce sync.Once
+ file_GetPlayerSocialDetailRsp_proto_rawDescData = file_GetPlayerSocialDetailRsp_proto_rawDesc
+)
+
+func file_GetPlayerSocialDetailRsp_proto_rawDescGZIP() []byte {
+ file_GetPlayerSocialDetailRsp_proto_rawDescOnce.Do(func() {
+ file_GetPlayerSocialDetailRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerSocialDetailRsp_proto_rawDescData)
+ })
+ return file_GetPlayerSocialDetailRsp_proto_rawDescData
+}
+
+var file_GetPlayerSocialDetailRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerSocialDetailRsp_proto_goTypes = []interface{}{
+ (*GetPlayerSocialDetailRsp)(nil), // 0: proto.GetPlayerSocialDetailRsp
+ (*SocialDetail)(nil), // 1: proto.SocialDetail
+}
+var file_GetPlayerSocialDetailRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetPlayerSocialDetailRsp.detail_data:type_name -> proto.SocialDetail
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerSocialDetailRsp_proto_init() }
+func file_GetPlayerSocialDetailRsp_proto_init() {
+ if File_GetPlayerSocialDetailRsp_proto != nil {
+ return
+ }
+ file_SocialDetail_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerSocialDetailRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerSocialDetailRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerSocialDetailRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerSocialDetailRsp_proto_goTypes,
+ DependencyIndexes: file_GetPlayerSocialDetailRsp_proto_depIdxs,
+ MessageInfos: file_GetPlayerSocialDetailRsp_proto_msgTypes,
+ }.Build()
+ File_GetPlayerSocialDetailRsp_proto = out.File
+ file_GetPlayerSocialDetailRsp_proto_rawDesc = nil
+ file_GetPlayerSocialDetailRsp_proto_goTypes = nil
+ file_GetPlayerSocialDetailRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerTokenReq.pb.go b/protocol/proto/GetPlayerTokenReq.pb.go
new file mode 100644
index 00000000..bd8faebb
--- /dev/null
+++ b/protocol/proto/GetPlayerTokenReq.pb.go
@@ -0,0 +1,344 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerTokenReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPlayerTokenReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AccountToken string `protobuf:"bytes,10,opt,name=account_token,json=accountToken,proto3" json:"account_token,omitempty"`
+ AccountUid string `protobuf:"bytes,11,opt,name=account_uid,json=accountUid,proto3" json:"account_uid,omitempty"`
+ PsnRegion string `protobuf:"bytes,4,opt,name=psn_region,json=psnRegion,proto3" json:"psn_region,omitempty"`
+ OnlineId string `protobuf:"bytes,7,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ ChannelId uint32 `protobuf:"varint,15,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+ AccountExt string `protobuf:"bytes,9,opt,name=account_ext,json=accountExt,proto3" json:"account_ext,omitempty"`
+ CountryCode string `protobuf:"bytes,5,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
+ ClientRandKey string `protobuf:"bytes,760,opt,name=client_rand_key,json=clientRandKey,proto3" json:"client_rand_key,omitempty"`
+ IsGuest bool `protobuf:"varint,6,opt,name=is_guest,json=isGuest,proto3" json:"is_guest,omitempty"`
+ Birthday string `protobuf:"bytes,1718,opt,name=birthday,proto3" json:"birthday,omitempty"`
+ SubChannelId uint32 `protobuf:"varint,8,opt,name=sub_channel_id,json=subChannelId,proto3" json:"sub_channel_id,omitempty"`
+ PlatformType uint32 `protobuf:"varint,12,opt,name=platform_type,json=platformType,proto3" json:"platform_type,omitempty"`
+ ClientIpStr string `protobuf:"bytes,3,opt,name=client_ip_str,json=clientIpStr,proto3" json:"client_ip_str,omitempty"`
+ PsnId string `protobuf:"bytes,13,opt,name=psn_id,json=psnId,proto3" json:"psn_id,omitempty"`
+ AccountType uint32 `protobuf:"varint,1,opt,name=account_type,json=accountType,proto3" json:"account_type,omitempty"`
+ MinorsRegMinAge uint32 `protobuf:"varint,995,opt,name=minors_reg_min_age,json=minorsRegMinAge,proto3" json:"minors_reg_min_age,omitempty"`
+ CloudClientIp uint32 `protobuf:"varint,14,opt,name=cloud_client_ip,json=cloudClientIp,proto3" json:"cloud_client_ip,omitempty"`
+ KeyId uint32 `protobuf:"varint,1787,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
+ Uid uint32 `protobuf:"varint,2,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GetPlayerTokenReq) Reset() {
+ *x = GetPlayerTokenReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerTokenReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerTokenReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerTokenReq) ProtoMessage() {}
+
+func (x *GetPlayerTokenReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerTokenReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerTokenReq.ProtoReflect.Descriptor instead.
+func (*GetPlayerTokenReq) Descriptor() ([]byte, []int) {
+ return file_GetPlayerTokenReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPlayerTokenReq) GetAccountToken() string {
+ if x != nil {
+ return x.AccountToken
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetAccountUid() string {
+ if x != nil {
+ return x.AccountUid
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetPsnRegion() string {
+ if x != nil {
+ return x.PsnRegion
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetChannelId() uint32 {
+ if x != nil {
+ return x.ChannelId
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenReq) GetAccountExt() string {
+ if x != nil {
+ return x.AccountExt
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetCountryCode() string {
+ if x != nil {
+ return x.CountryCode
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetClientRandKey() string {
+ if x != nil {
+ return x.ClientRandKey
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetIsGuest() bool {
+ if x != nil {
+ return x.IsGuest
+ }
+ return false
+}
+
+func (x *GetPlayerTokenReq) GetBirthday() string {
+ if x != nil {
+ return x.Birthday
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetSubChannelId() uint32 {
+ if x != nil {
+ return x.SubChannelId
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenReq) GetPlatformType() uint32 {
+ if x != nil {
+ return x.PlatformType
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenReq) GetClientIpStr() string {
+ if x != nil {
+ return x.ClientIpStr
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetPsnId() string {
+ if x != nil {
+ return x.PsnId
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenReq) GetAccountType() uint32 {
+ if x != nil {
+ return x.AccountType
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenReq) GetMinorsRegMinAge() uint32 {
+ if x != nil {
+ return x.MinorsRegMinAge
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenReq) GetCloudClientIp() uint32 {
+ if x != nil {
+ return x.CloudClientIp
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenReq) GetKeyId() uint32 {
+ if x != nil {
+ return x.KeyId
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GetPlayerTokenReq_proto protoreflect.FileDescriptor
+
+var file_GetPlayerTokenReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x82, 0x05, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x70, 0x73, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x70, 0x73, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6f,
+ 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e,
+ 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68,
+ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x78, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xf8,
+ 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e,
+ 0x64, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x47, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x1b, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0xb6, 0x0d, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x24, 0x0a, 0x0e,
+ 0x73, 0x75, 0x62, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x53, 0x74, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x70,
+ 0x73, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x73, 0x6e,
+ 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x5f,
+ 0x72, 0x65, 0x67, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x67, 0x65, 0x18, 0xe3, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x67, 0x4d, 0x69, 0x6e,
+ 0x41, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6b,
+ 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xfb, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x65,
+ 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerTokenReq_proto_rawDescOnce sync.Once
+ file_GetPlayerTokenReq_proto_rawDescData = file_GetPlayerTokenReq_proto_rawDesc
+)
+
+func file_GetPlayerTokenReq_proto_rawDescGZIP() []byte {
+ file_GetPlayerTokenReq_proto_rawDescOnce.Do(func() {
+ file_GetPlayerTokenReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerTokenReq_proto_rawDescData)
+ })
+ return file_GetPlayerTokenReq_proto_rawDescData
+}
+
+var file_GetPlayerTokenReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerTokenReq_proto_goTypes = []interface{}{
+ (*GetPlayerTokenReq)(nil), // 0: proto.GetPlayerTokenReq
+}
+var file_GetPlayerTokenReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerTokenReq_proto_init() }
+func file_GetPlayerTokenReq_proto_init() {
+ if File_GetPlayerTokenReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerTokenReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerTokenReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerTokenReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerTokenReq_proto_goTypes,
+ DependencyIndexes: file_GetPlayerTokenReq_proto_depIdxs,
+ MessageInfos: file_GetPlayerTokenReq_proto_msgTypes,
+ }.Build()
+ File_GetPlayerTokenReq_proto = out.File
+ file_GetPlayerTokenReq_proto_rawDesc = nil
+ file_GetPlayerTokenReq_proto_goTypes = nil
+ file_GetPlayerTokenReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPlayerTokenRsp.pb.go b/protocol/proto/GetPlayerTokenRsp.pb.go
new file mode 100644
index 00000000..a4f3a403
--- /dev/null
+++ b/protocol/proto/GetPlayerTokenRsp.pb.go
@@ -0,0 +1,468 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPlayerTokenRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 198
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetPlayerTokenRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Birthday string `protobuf:"bytes,937,opt,name=birthday,proto3" json:"birthday,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SecurityCmdBuffer []byte `protobuf:"bytes,6,opt,name=security_cmd_buffer,json=securityCmdBuffer,proto3" json:"security_cmd_buffer,omitempty"`
+ SecretKeySeed uint64 `protobuf:"varint,13,opt,name=secret_key_seed,json=secretKeySeed,proto3" json:"secret_key_seed,omitempty"`
+ CountryCode string `protobuf:"bytes,2013,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
+ ExtraBinData []byte `protobuf:"bytes,3,opt,name=extra_bin_data,json=extraBinData,proto3" json:"extra_bin_data,omitempty"`
+ SecretKey string `protobuf:"bytes,15,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
+ MinorsRegMinAge uint32 `protobuf:"varint,1561,opt,name=minors_reg_min_age,json=minorsRegMinAge,proto3" json:"minors_reg_min_age,omitempty"`
+ BlackUidEndTime uint32 `protobuf:"varint,14,opt,name=black_uid_end_time,json=blackUidEndTime,proto3" json:"black_uid_end_time,omitempty"`
+ Tag uint32 `protobuf:"varint,1635,opt,name=tag,proto3" json:"tag,omitempty"`
+ Token string `protobuf:"bytes,11,opt,name=token,proto3" json:"token,omitempty"`
+ GmUid uint32 `protobuf:"varint,10,opt,name=gm_uid,json=gmUid,proto3" json:"gm_uid,omitempty"`
+ ChannelId uint32 `protobuf:"varint,896,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+ PsnId string `protobuf:"bytes,1811,opt,name=psn_id,json=psnId,proto3" json:"psn_id,omitempty"`
+ ClientIpStr string `protobuf:"bytes,860,opt,name=client_ip_str,json=clientIpStr,proto3" json:"client_ip_str,omitempty"`
+ Msg string `protobuf:"bytes,7,opt,name=msg,proto3" json:"msg,omitempty"`
+ AccountType uint32 `protobuf:"varint,5,opt,name=account_type,json=accountType,proto3" json:"account_type,omitempty"`
+ SubChannelId uint32 `protobuf:"varint,1802,opt,name=sub_channel_id,json=subChannelId,proto3" json:"sub_channel_id,omitempty"`
+ IsWatchdogUid bool `protobuf:"varint,2028,opt,name=is_watchdog_uid,json=isWatchdogUid,proto3" json:"is_watchdog_uid,omitempty"`
+ ServerRandKey string `protobuf:"bytes,1493,opt,name=server_rand_key,json=serverRandKey,proto3" json:"server_rand_key,omitempty"`
+ IsProficientPlayer bool `protobuf:"varint,9,opt,name=is_proficient_player,json=isProficientPlayer,proto3" json:"is_proficient_player,omitempty"`
+ KeyId uint32 `protobuf:"varint,1172,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ AccountUid string `protobuf:"bytes,12,opt,name=account_uid,json=accountUid,proto3" json:"account_uid,omitempty"`
+ IsGuest bool `protobuf:"varint,4,opt,name=is_guest,json=isGuest,proto3" json:"is_guest,omitempty"`
+ ClientVersionRandomKey string `protobuf:"bytes,1529,opt,name=client_version_random_key,json=clientVersionRandomKey,proto3" json:"client_version_random_key,omitempty"`
+ FinishCollectionIdList []uint32 `protobuf:"varint,1640,rep,packed,name=finish_collection_id_list,json=finishCollectionIdList,proto3" json:"finish_collection_id_list,omitempty"`
+ PlatformType uint32 `protobuf:"varint,8,opt,name=platform_type,json=platformType,proto3" json:"platform_type,omitempty"`
+ RegPlatform uint32 `protobuf:"varint,1112,opt,name=reg_platform,json=regPlatform,proto3" json:"reg_platform,omitempty"`
+ IsLoginWhiteList bool `protobuf:"varint,573,opt,name=is_login_white_list,json=isLoginWhiteList,proto3" json:"is_login_white_list,omitempty"`
+ Sign string `protobuf:"bytes,1140,opt,name=sign,proto3" json:"sign,omitempty"`
+}
+
+func (x *GetPlayerTokenRsp) Reset() {
+ *x = GetPlayerTokenRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPlayerTokenRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPlayerTokenRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlayerTokenRsp) ProtoMessage() {}
+
+func (x *GetPlayerTokenRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPlayerTokenRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlayerTokenRsp.ProtoReflect.Descriptor instead.
+func (*GetPlayerTokenRsp) Descriptor() ([]byte, []int) {
+ return file_GetPlayerTokenRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPlayerTokenRsp) GetBirthday() string {
+ if x != nil {
+ return x.Birthday
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetSecurityCmdBuffer() []byte {
+ if x != nil {
+ return x.SecurityCmdBuffer
+ }
+ return nil
+}
+
+func (x *GetPlayerTokenRsp) GetSecretKeySeed() uint64 {
+ if x != nil {
+ return x.SecretKeySeed
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetCountryCode() string {
+ if x != nil {
+ return x.CountryCode
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetExtraBinData() []byte {
+ if x != nil {
+ return x.ExtraBinData
+ }
+ return nil
+}
+
+func (x *GetPlayerTokenRsp) GetSecretKey() string {
+ if x != nil {
+ return x.SecretKey
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetMinorsRegMinAge() uint32 {
+ if x != nil {
+ return x.MinorsRegMinAge
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetBlackUidEndTime() uint32 {
+ if x != nil {
+ return x.BlackUidEndTime
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetTag() uint32 {
+ if x != nil {
+ return x.Tag
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetToken() string {
+ if x != nil {
+ return x.Token
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetGmUid() uint32 {
+ if x != nil {
+ return x.GmUid
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetChannelId() uint32 {
+ if x != nil {
+ return x.ChannelId
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetPsnId() string {
+ if x != nil {
+ return x.PsnId
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetClientIpStr() string {
+ if x != nil {
+ return x.ClientIpStr
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetMsg() string {
+ if x != nil {
+ return x.Msg
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetAccountType() uint32 {
+ if x != nil {
+ return x.AccountType
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetSubChannelId() uint32 {
+ if x != nil {
+ return x.SubChannelId
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetIsWatchdogUid() bool {
+ if x != nil {
+ return x.IsWatchdogUid
+ }
+ return false
+}
+
+func (x *GetPlayerTokenRsp) GetServerRandKey() string {
+ if x != nil {
+ return x.ServerRandKey
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetIsProficientPlayer() bool {
+ if x != nil {
+ return x.IsProficientPlayer
+ }
+ return false
+}
+
+func (x *GetPlayerTokenRsp) GetKeyId() uint32 {
+ if x != nil {
+ return x.KeyId
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetAccountUid() string {
+ if x != nil {
+ return x.AccountUid
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetIsGuest() bool {
+ if x != nil {
+ return x.IsGuest
+ }
+ return false
+}
+
+func (x *GetPlayerTokenRsp) GetClientVersionRandomKey() string {
+ if x != nil {
+ return x.ClientVersionRandomKey
+ }
+ return ""
+}
+
+func (x *GetPlayerTokenRsp) GetFinishCollectionIdList() []uint32 {
+ if x != nil {
+ return x.FinishCollectionIdList
+ }
+ return nil
+}
+
+func (x *GetPlayerTokenRsp) GetPlatformType() uint32 {
+ if x != nil {
+ return x.PlatformType
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetRegPlatform() uint32 {
+ if x != nil {
+ return x.RegPlatform
+ }
+ return 0
+}
+
+func (x *GetPlayerTokenRsp) GetIsLoginWhiteList() bool {
+ if x != nil {
+ return x.IsLoginWhiteList
+ }
+ return false
+}
+
+func (x *GetPlayerTokenRsp) GetSign() string {
+ if x != nil {
+ return x.Sign
+ }
+ return ""
+}
+
+var File_GetPlayerTokenRsp_proto protoreflect.FileDescriptor
+
+var file_GetPlayerTokenRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xcf, 0x08, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64,
+ 0x61, 0x79, 0x18, 0xa9, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68,
+ 0x64, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a,
+ 0x13, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6d, 0x64, 0x5f, 0x62, 0x75,
+ 0x66, 0x66, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x73, 0x65, 0x63, 0x75,
+ 0x72, 0x69, 0x74, 0x79, 0x43, 0x6d, 0x64, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x26, 0x0a,
+ 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x65, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65,
+ 0x79, 0x53, 0x65, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
+ 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xdd, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x78, 0x74,
+ 0x72, 0x61, 0x5f, 0x62, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x72, 0x61, 0x42, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2c,
+ 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x67, 0x5f, 0x6d, 0x69, 0x6e,
+ 0x5f, 0x61, 0x67, 0x65, 0x18, 0x99, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x69, 0x6e,
+ 0x6f, 0x72, 0x73, 0x52, 0x65, 0x67, 0x4d, 0x69, 0x6e, 0x41, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x12,
+ 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x55,
+ 0x69, 0x64, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x11, 0x0a, 0x03, 0x74, 0x61, 0x67,
+ 0x18, 0xe3, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05,
+ 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x67, 0x6d, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x67, 0x6d, 0x55, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61,
+ 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x80, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x73, 0x6e,
+ 0x5f, 0x69, 0x64, 0x18, 0x93, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x73, 0x6e, 0x49,
+ 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x73,
+ 0x74, 0x72, 0x18, 0xdc, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x49, 0x70, 0x53, 0x74, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73,
+ 0x75, 0x62, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x8a, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f,
+ 0x67, 0x5f, 0x75, 0x69, 0x64, 0x18, 0xec, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73,
+ 0x57, 0x61, 0x74, 0x63, 0x68, 0x64, 0x6f, 0x67, 0x55, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xd5,
+ 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x61, 0x6e,
+ 0x64, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69,
+ 0x63, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x94, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x69,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x47, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x19,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72,
+ 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xf9, 0x0b, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x16, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
+ 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x19, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xe8, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x16, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6c, 0x61,
+ 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x67,
+ 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xd8, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x72, 0x65, 0x67, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2e, 0x0a,
+ 0x13, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0xbd, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x4c,
+ 0x6f, 0x67, 0x69, 0x6e, 0x57, 0x68, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x13, 0x0a,
+ 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, 0xf4, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69,
+ 0x67, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPlayerTokenRsp_proto_rawDescOnce sync.Once
+ file_GetPlayerTokenRsp_proto_rawDescData = file_GetPlayerTokenRsp_proto_rawDesc
+)
+
+func file_GetPlayerTokenRsp_proto_rawDescGZIP() []byte {
+ file_GetPlayerTokenRsp_proto_rawDescOnce.Do(func() {
+ file_GetPlayerTokenRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPlayerTokenRsp_proto_rawDescData)
+ })
+ return file_GetPlayerTokenRsp_proto_rawDescData
+}
+
+var file_GetPlayerTokenRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPlayerTokenRsp_proto_goTypes = []interface{}{
+ (*GetPlayerTokenRsp)(nil), // 0: proto.GetPlayerTokenRsp
+}
+var file_GetPlayerTokenRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPlayerTokenRsp_proto_init() }
+func file_GetPlayerTokenRsp_proto_init() {
+ if File_GetPlayerTokenRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPlayerTokenRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPlayerTokenRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPlayerTokenRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPlayerTokenRsp_proto_goTypes,
+ DependencyIndexes: file_GetPlayerTokenRsp_proto_depIdxs,
+ MessageInfos: file_GetPlayerTokenRsp_proto_msgTypes,
+ }.Build()
+ File_GetPlayerTokenRsp_proto = out.File
+ file_GetPlayerTokenRsp_proto_rawDesc = nil
+ file_GetPlayerTokenRsp_proto_goTypes = nil
+ file_GetPlayerTokenRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPushTipsRewardReq.pb.go b/protocol/proto/GetPushTipsRewardReq.pb.go
new file mode 100644
index 00000000..141058e8
--- /dev/null
+++ b/protocol/proto/GetPushTipsRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPushTipsRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2227
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetPushTipsRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PushTipsIdList []uint32 `protobuf:"varint,4,rep,packed,name=push_tips_id_list,json=pushTipsIdList,proto3" json:"push_tips_id_list,omitempty"`
+}
+
+func (x *GetPushTipsRewardReq) Reset() {
+ *x = GetPushTipsRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPushTipsRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPushTipsRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPushTipsRewardReq) ProtoMessage() {}
+
+func (x *GetPushTipsRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPushTipsRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPushTipsRewardReq.ProtoReflect.Descriptor instead.
+func (*GetPushTipsRewardReq) Descriptor() ([]byte, []int) {
+ return file_GetPushTipsRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPushTipsRewardReq) GetPushTipsIdList() []uint32 {
+ if x != nil {
+ return x.PushTipsIdList
+ }
+ return nil
+}
+
+var File_GetPushTipsRewardReq_proto protoreflect.FileDescriptor
+
+var file_GetPushTipsRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69,
+ 0x70, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x11, 0x70,
+ 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPushTipsRewardReq_proto_rawDescOnce sync.Once
+ file_GetPushTipsRewardReq_proto_rawDescData = file_GetPushTipsRewardReq_proto_rawDesc
+)
+
+func file_GetPushTipsRewardReq_proto_rawDescGZIP() []byte {
+ file_GetPushTipsRewardReq_proto_rawDescOnce.Do(func() {
+ file_GetPushTipsRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPushTipsRewardReq_proto_rawDescData)
+ })
+ return file_GetPushTipsRewardReq_proto_rawDescData
+}
+
+var file_GetPushTipsRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPushTipsRewardReq_proto_goTypes = []interface{}{
+ (*GetPushTipsRewardReq)(nil), // 0: proto.GetPushTipsRewardReq
+}
+var file_GetPushTipsRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPushTipsRewardReq_proto_init() }
+func file_GetPushTipsRewardReq_proto_init() {
+ if File_GetPushTipsRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPushTipsRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPushTipsRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPushTipsRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPushTipsRewardReq_proto_goTypes,
+ DependencyIndexes: file_GetPushTipsRewardReq_proto_depIdxs,
+ MessageInfos: file_GetPushTipsRewardReq_proto_msgTypes,
+ }.Build()
+ File_GetPushTipsRewardReq_proto = out.File
+ file_GetPushTipsRewardReq_proto_rawDesc = nil
+ file_GetPushTipsRewardReq_proto_goTypes = nil
+ file_GetPushTipsRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetPushTipsRewardRsp.pb.go b/protocol/proto/GetPushTipsRewardRsp.pb.go
new file mode 100644
index 00000000..b79033b7
--- /dev/null
+++ b/protocol/proto/GetPushTipsRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetPushTipsRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2294
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetPushTipsRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PushTipsIdList []uint32 `protobuf:"varint,9,rep,packed,name=push_tips_id_list,json=pushTipsIdList,proto3" json:"push_tips_id_list,omitempty"`
+}
+
+func (x *GetPushTipsRewardRsp) Reset() {
+ *x = GetPushTipsRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetPushTipsRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetPushTipsRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPushTipsRewardRsp) ProtoMessage() {}
+
+func (x *GetPushTipsRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetPushTipsRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPushTipsRewardRsp.ProtoReflect.Descriptor instead.
+func (*GetPushTipsRewardRsp) Descriptor() ([]byte, []int) {
+ return file_GetPushTipsRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetPushTipsRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetPushTipsRewardRsp) GetPushTipsIdList() []uint32 {
+ if x != nil {
+ return x.PushTipsIdList
+ }
+ return nil
+}
+
+var File_GetPushTipsRewardRsp_proto protoreflect.FileDescriptor
+
+var file_GetPushTipsRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69,
+ 0x70, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69,
+ 0x70, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetPushTipsRewardRsp_proto_rawDescOnce sync.Once
+ file_GetPushTipsRewardRsp_proto_rawDescData = file_GetPushTipsRewardRsp_proto_rawDesc
+)
+
+func file_GetPushTipsRewardRsp_proto_rawDescGZIP() []byte {
+ file_GetPushTipsRewardRsp_proto_rawDescOnce.Do(func() {
+ file_GetPushTipsRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetPushTipsRewardRsp_proto_rawDescData)
+ })
+ return file_GetPushTipsRewardRsp_proto_rawDescData
+}
+
+var file_GetPushTipsRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetPushTipsRewardRsp_proto_goTypes = []interface{}{
+ (*GetPushTipsRewardRsp)(nil), // 0: proto.GetPushTipsRewardRsp
+}
+var file_GetPushTipsRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetPushTipsRewardRsp_proto_init() }
+func file_GetPushTipsRewardRsp_proto_init() {
+ if File_GetPushTipsRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetPushTipsRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetPushTipsRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetPushTipsRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetPushTipsRewardRsp_proto_goTypes,
+ DependencyIndexes: file_GetPushTipsRewardRsp_proto_depIdxs,
+ MessageInfos: file_GetPushTipsRewardRsp_proto_msgTypes,
+ }.Build()
+ File_GetPushTipsRewardRsp_proto = out.File
+ file_GetPushTipsRewardRsp_proto_rawDesc = nil
+ file_GetPushTipsRewardRsp_proto_goTypes = nil
+ file_GetPushTipsRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetQuestLackingResourceReq.pb.go b/protocol/proto/GetQuestLackingResourceReq.pb.go
new file mode 100644
index 00000000..dc0816bd
--- /dev/null
+++ b/protocol/proto/GetQuestLackingResourceReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetQuestLackingResourceReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 467
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetQuestLackingResourceReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,4,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *GetQuestLackingResourceReq) Reset() {
+ *x = GetQuestLackingResourceReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetQuestLackingResourceReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetQuestLackingResourceReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetQuestLackingResourceReq) ProtoMessage() {}
+
+func (x *GetQuestLackingResourceReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetQuestLackingResourceReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetQuestLackingResourceReq.ProtoReflect.Descriptor instead.
+func (*GetQuestLackingResourceReq) Descriptor() ([]byte, []int) {
+ return file_GetQuestLackingResourceReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetQuestLackingResourceReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_GetQuestLackingResourceReq_proto protoreflect.FileDescriptor
+
+var file_GetQuestLackingResourceReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x63, 0x6b, 0x69, 0x6e,
+ 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x1a, 0x47, 0x65, 0x74,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetQuestLackingResourceReq_proto_rawDescOnce sync.Once
+ file_GetQuestLackingResourceReq_proto_rawDescData = file_GetQuestLackingResourceReq_proto_rawDesc
+)
+
+func file_GetQuestLackingResourceReq_proto_rawDescGZIP() []byte {
+ file_GetQuestLackingResourceReq_proto_rawDescOnce.Do(func() {
+ file_GetQuestLackingResourceReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetQuestLackingResourceReq_proto_rawDescData)
+ })
+ return file_GetQuestLackingResourceReq_proto_rawDescData
+}
+
+var file_GetQuestLackingResourceReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetQuestLackingResourceReq_proto_goTypes = []interface{}{
+ (*GetQuestLackingResourceReq)(nil), // 0: proto.GetQuestLackingResourceReq
+}
+var file_GetQuestLackingResourceReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetQuestLackingResourceReq_proto_init() }
+func file_GetQuestLackingResourceReq_proto_init() {
+ if File_GetQuestLackingResourceReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetQuestLackingResourceReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetQuestLackingResourceReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetQuestLackingResourceReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetQuestLackingResourceReq_proto_goTypes,
+ DependencyIndexes: file_GetQuestLackingResourceReq_proto_depIdxs,
+ MessageInfos: file_GetQuestLackingResourceReq_proto_msgTypes,
+ }.Build()
+ File_GetQuestLackingResourceReq_proto = out.File
+ file_GetQuestLackingResourceReq_proto_rawDesc = nil
+ file_GetQuestLackingResourceReq_proto_goTypes = nil
+ file_GetQuestLackingResourceReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetQuestLackingResourceRsp.pb.go b/protocol/proto/GetQuestLackingResourceRsp.pb.go
new file mode 100644
index 00000000..9860ebdd
--- /dev/null
+++ b/protocol/proto/GetQuestLackingResourceRsp.pb.go
@@ -0,0 +1,234 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetQuestLackingResourceRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 458
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetQuestLackingResourceRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,4,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ LackedNpcList []uint32 `protobuf:"varint,8,rep,packed,name=lacked_npc_list,json=lackedNpcList,proto3" json:"lacked_npc_list,omitempty"`
+ LackedPlaceList []uint32 `protobuf:"varint,5,rep,packed,name=lacked_place_list,json=lackedPlaceList,proto3" json:"lacked_place_list,omitempty"`
+ LackedNpcMap map[uint32]uint32 `protobuf:"bytes,10,rep,name=lacked_npc_map,json=lackedNpcMap,proto3" json:"lacked_npc_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ LackedPlaceMap map[uint32]uint32 `protobuf:"bytes,2,rep,name=lacked_place_map,json=lackedPlaceMap,proto3" json:"lacked_place_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GetQuestLackingResourceRsp) Reset() {
+ *x = GetQuestLackingResourceRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetQuestLackingResourceRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetQuestLackingResourceRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetQuestLackingResourceRsp) ProtoMessage() {}
+
+func (x *GetQuestLackingResourceRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetQuestLackingResourceRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetQuestLackingResourceRsp.ProtoReflect.Descriptor instead.
+func (*GetQuestLackingResourceRsp) Descriptor() ([]byte, []int) {
+ return file_GetQuestLackingResourceRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetQuestLackingResourceRsp) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *GetQuestLackingResourceRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetQuestLackingResourceRsp) GetLackedNpcList() []uint32 {
+ if x != nil {
+ return x.LackedNpcList
+ }
+ return nil
+}
+
+func (x *GetQuestLackingResourceRsp) GetLackedPlaceList() []uint32 {
+ if x != nil {
+ return x.LackedPlaceList
+ }
+ return nil
+}
+
+func (x *GetQuestLackingResourceRsp) GetLackedNpcMap() map[uint32]uint32 {
+ if x != nil {
+ return x.LackedNpcMap
+ }
+ return nil
+}
+
+func (x *GetQuestLackingResourceRsp) GetLackedPlaceMap() map[uint32]uint32 {
+ if x != nil {
+ return x.LackedPlaceMap
+ }
+ return nil
+}
+
+var File_GetQuestLackingResourceRsp_proto protoreflect.FileDescriptor
+
+var file_GetQuestLackingResourceRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x63, 0x6b, 0x69, 0x6e,
+ 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x03, 0x0a, 0x1a, 0x47, 0x65,
+ 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a,
+ 0x0f, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6e, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x4e, 0x70,
+ 0x63, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f,
+ 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0f, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x59, 0x0a, 0x0e, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6e, 0x70, 0x63, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x63, 0x6b, 0x69, 0x6e,
+ 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x4c, 0x61, 0x63,
+ 0x6b, 0x65, 0x64, 0x4e, 0x70, 0x63, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c,
+ 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x4e, 0x70, 0x63, 0x4d, 0x61, 0x70, 0x12, 0x5f, 0x0a, 0x10,
+ 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x4c, 0x61, 0x63, 0x6b, 0x65, 0x64,
+ 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6c,
+ 0x61, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x3f, 0x0a,
+ 0x11, 0x4c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x4e, 0x70, 0x63, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41,
+ 0x0a, 0x13, 0x4c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetQuestLackingResourceRsp_proto_rawDescOnce sync.Once
+ file_GetQuestLackingResourceRsp_proto_rawDescData = file_GetQuestLackingResourceRsp_proto_rawDesc
+)
+
+func file_GetQuestLackingResourceRsp_proto_rawDescGZIP() []byte {
+ file_GetQuestLackingResourceRsp_proto_rawDescOnce.Do(func() {
+ file_GetQuestLackingResourceRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetQuestLackingResourceRsp_proto_rawDescData)
+ })
+ return file_GetQuestLackingResourceRsp_proto_rawDescData
+}
+
+var file_GetQuestLackingResourceRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_GetQuestLackingResourceRsp_proto_goTypes = []interface{}{
+ (*GetQuestLackingResourceRsp)(nil), // 0: proto.GetQuestLackingResourceRsp
+ nil, // 1: proto.GetQuestLackingResourceRsp.LackedNpcMapEntry
+ nil, // 2: proto.GetQuestLackingResourceRsp.LackedPlaceMapEntry
+}
+var file_GetQuestLackingResourceRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetQuestLackingResourceRsp.lacked_npc_map:type_name -> proto.GetQuestLackingResourceRsp.LackedNpcMapEntry
+ 2, // 1: proto.GetQuestLackingResourceRsp.lacked_place_map:type_name -> proto.GetQuestLackingResourceRsp.LackedPlaceMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GetQuestLackingResourceRsp_proto_init() }
+func file_GetQuestLackingResourceRsp_proto_init() {
+ if File_GetQuestLackingResourceRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetQuestLackingResourceRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetQuestLackingResourceRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetQuestLackingResourceRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetQuestLackingResourceRsp_proto_goTypes,
+ DependencyIndexes: file_GetQuestLackingResourceRsp_proto_depIdxs,
+ MessageInfos: file_GetQuestLackingResourceRsp_proto_msgTypes,
+ }.Build()
+ File_GetQuestLackingResourceRsp_proto = out.File
+ file_GetQuestLackingResourceRsp_proto_rawDesc = nil
+ file_GetQuestLackingResourceRsp_proto_goTypes = nil
+ file_GetQuestLackingResourceRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetQuestTalkHistoryReq.pb.go b/protocol/proto/GetQuestTalkHistoryReq.pb.go
new file mode 100644
index 00000000..cee44569
--- /dev/null
+++ b/protocol/proto/GetQuestTalkHistoryReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetQuestTalkHistoryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 490
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetQuestTalkHistoryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentQuestId uint32 `protobuf:"varint,6,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+}
+
+func (x *GetQuestTalkHistoryReq) Reset() {
+ *x = GetQuestTalkHistoryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetQuestTalkHistoryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetQuestTalkHistoryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetQuestTalkHistoryReq) ProtoMessage() {}
+
+func (x *GetQuestTalkHistoryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetQuestTalkHistoryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetQuestTalkHistoryReq.ProtoReflect.Descriptor instead.
+func (*GetQuestTalkHistoryReq) Descriptor() ([]byte, []int) {
+ return file_GetQuestTalkHistoryReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetQuestTalkHistoryReq) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+var File_GetQuestTalkHistoryReq_proto protoreflect.FileDescriptor
+
+var file_GetQuestTalkHistoryReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x54, 0x61, 0x6c, 0x6b, 0x48, 0x69,
+ 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73,
+ 0x74, 0x54, 0x61, 0x6c, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12,
+ 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetQuestTalkHistoryReq_proto_rawDescOnce sync.Once
+ file_GetQuestTalkHistoryReq_proto_rawDescData = file_GetQuestTalkHistoryReq_proto_rawDesc
+)
+
+func file_GetQuestTalkHistoryReq_proto_rawDescGZIP() []byte {
+ file_GetQuestTalkHistoryReq_proto_rawDescOnce.Do(func() {
+ file_GetQuestTalkHistoryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetQuestTalkHistoryReq_proto_rawDescData)
+ })
+ return file_GetQuestTalkHistoryReq_proto_rawDescData
+}
+
+var file_GetQuestTalkHistoryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetQuestTalkHistoryReq_proto_goTypes = []interface{}{
+ (*GetQuestTalkHistoryReq)(nil), // 0: proto.GetQuestTalkHistoryReq
+}
+var file_GetQuestTalkHistoryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetQuestTalkHistoryReq_proto_init() }
+func file_GetQuestTalkHistoryReq_proto_init() {
+ if File_GetQuestTalkHistoryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetQuestTalkHistoryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetQuestTalkHistoryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetQuestTalkHistoryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetQuestTalkHistoryReq_proto_goTypes,
+ DependencyIndexes: file_GetQuestTalkHistoryReq_proto_depIdxs,
+ MessageInfos: file_GetQuestTalkHistoryReq_proto_msgTypes,
+ }.Build()
+ File_GetQuestTalkHistoryReq_proto = out.File
+ file_GetQuestTalkHistoryReq_proto_rawDesc = nil
+ file_GetQuestTalkHistoryReq_proto_goTypes = nil
+ file_GetQuestTalkHistoryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetQuestTalkHistoryRsp.pb.go b/protocol/proto/GetQuestTalkHistoryRsp.pb.go
new file mode 100644
index 00000000..e9e070cc
--- /dev/null
+++ b/protocol/proto/GetQuestTalkHistoryRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetQuestTalkHistoryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 473
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetQuestTalkHistoryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TalkIdList []uint32 `protobuf:"varint,13,rep,packed,name=talk_id_list,json=talkIdList,proto3" json:"talk_id_list,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,7,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetQuestTalkHistoryRsp) Reset() {
+ *x = GetQuestTalkHistoryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetQuestTalkHistoryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetQuestTalkHistoryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetQuestTalkHistoryRsp) ProtoMessage() {}
+
+func (x *GetQuestTalkHistoryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetQuestTalkHistoryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetQuestTalkHistoryRsp.ProtoReflect.Descriptor instead.
+func (*GetQuestTalkHistoryRsp) Descriptor() ([]byte, []int) {
+ return file_GetQuestTalkHistoryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetQuestTalkHistoryRsp) GetTalkIdList() []uint32 {
+ if x != nil {
+ return x.TalkIdList
+ }
+ return nil
+}
+
+func (x *GetQuestTalkHistoryRsp) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *GetQuestTalkHistoryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetQuestTalkHistoryRsp_proto protoreflect.FileDescriptor
+
+var file_GetQuestTalkHistoryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x54, 0x61, 0x6c, 0x6b, 0x48, 0x69,
+ 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73,
+ 0x74, 0x54, 0x61, 0x6c, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12,
+ 0x20, 0x0a, 0x0c, 0x74, 0x61, 0x6c, 0x6b, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x61, 0x6c, 0x6b, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetQuestTalkHistoryRsp_proto_rawDescOnce sync.Once
+ file_GetQuestTalkHistoryRsp_proto_rawDescData = file_GetQuestTalkHistoryRsp_proto_rawDesc
+)
+
+func file_GetQuestTalkHistoryRsp_proto_rawDescGZIP() []byte {
+ file_GetQuestTalkHistoryRsp_proto_rawDescOnce.Do(func() {
+ file_GetQuestTalkHistoryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetQuestTalkHistoryRsp_proto_rawDescData)
+ })
+ return file_GetQuestTalkHistoryRsp_proto_rawDescData
+}
+
+var file_GetQuestTalkHistoryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetQuestTalkHistoryRsp_proto_goTypes = []interface{}{
+ (*GetQuestTalkHistoryRsp)(nil), // 0: proto.GetQuestTalkHistoryRsp
+}
+var file_GetQuestTalkHistoryRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetQuestTalkHistoryRsp_proto_init() }
+func file_GetQuestTalkHistoryRsp_proto_init() {
+ if File_GetQuestTalkHistoryRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetQuestTalkHistoryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetQuestTalkHistoryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetQuestTalkHistoryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetQuestTalkHistoryRsp_proto_goTypes,
+ DependencyIndexes: file_GetQuestTalkHistoryRsp_proto_depIdxs,
+ MessageInfos: file_GetQuestTalkHistoryRsp_proto_msgTypes,
+ }.Build()
+ File_GetQuestTalkHistoryRsp_proto = out.File
+ file_GetQuestTalkHistoryRsp_proto_rawDesc = nil
+ file_GetQuestTalkHistoryRsp_proto_goTypes = nil
+ file_GetQuestTalkHistoryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetRecentMpPlayerListReq.pb.go b/protocol/proto/GetRecentMpPlayerListReq.pb.go
new file mode 100644
index 00000000..f301f70a
--- /dev/null
+++ b/protocol/proto/GetRecentMpPlayerListReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetRecentMpPlayerListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4034
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetRecentMpPlayerListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetRecentMpPlayerListReq) Reset() {
+ *x = GetRecentMpPlayerListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetRecentMpPlayerListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetRecentMpPlayerListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRecentMpPlayerListReq) ProtoMessage() {}
+
+func (x *GetRecentMpPlayerListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetRecentMpPlayerListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetRecentMpPlayerListReq.ProtoReflect.Descriptor instead.
+func (*GetRecentMpPlayerListReq) Descriptor() ([]byte, []int) {
+ return file_GetRecentMpPlayerListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetRecentMpPlayerListReq_proto protoreflect.FileDescriptor
+
+var file_GetRecentMpPlayerListReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x70, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65,
+ 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetRecentMpPlayerListReq_proto_rawDescOnce sync.Once
+ file_GetRecentMpPlayerListReq_proto_rawDescData = file_GetRecentMpPlayerListReq_proto_rawDesc
+)
+
+func file_GetRecentMpPlayerListReq_proto_rawDescGZIP() []byte {
+ file_GetRecentMpPlayerListReq_proto_rawDescOnce.Do(func() {
+ file_GetRecentMpPlayerListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetRecentMpPlayerListReq_proto_rawDescData)
+ })
+ return file_GetRecentMpPlayerListReq_proto_rawDescData
+}
+
+var file_GetRecentMpPlayerListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetRecentMpPlayerListReq_proto_goTypes = []interface{}{
+ (*GetRecentMpPlayerListReq)(nil), // 0: proto.GetRecentMpPlayerListReq
+}
+var file_GetRecentMpPlayerListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetRecentMpPlayerListReq_proto_init() }
+func file_GetRecentMpPlayerListReq_proto_init() {
+ if File_GetRecentMpPlayerListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetRecentMpPlayerListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetRecentMpPlayerListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetRecentMpPlayerListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetRecentMpPlayerListReq_proto_goTypes,
+ DependencyIndexes: file_GetRecentMpPlayerListReq_proto_depIdxs,
+ MessageInfos: file_GetRecentMpPlayerListReq_proto_msgTypes,
+ }.Build()
+ File_GetRecentMpPlayerListReq_proto = out.File
+ file_GetRecentMpPlayerListReq_proto_rawDesc = nil
+ file_GetRecentMpPlayerListReq_proto_goTypes = nil
+ file_GetRecentMpPlayerListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetRecentMpPlayerListRsp.pb.go b/protocol/proto/GetRecentMpPlayerListRsp.pb.go
new file mode 100644
index 00000000..b1f098b4
--- /dev/null
+++ b/protocol/proto/GetRecentMpPlayerListRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetRecentMpPlayerListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4050
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetRecentMpPlayerListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RecentMpPlayerBriefList []*FriendBrief `protobuf:"bytes,14,rep,name=recent_mp_player_brief_list,json=recentMpPlayerBriefList,proto3" json:"recent_mp_player_brief_list,omitempty"`
+}
+
+func (x *GetRecentMpPlayerListRsp) Reset() {
+ *x = GetRecentMpPlayerListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetRecentMpPlayerListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetRecentMpPlayerListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRecentMpPlayerListRsp) ProtoMessage() {}
+
+func (x *GetRecentMpPlayerListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetRecentMpPlayerListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetRecentMpPlayerListRsp.ProtoReflect.Descriptor instead.
+func (*GetRecentMpPlayerListRsp) Descriptor() ([]byte, []int) {
+ return file_GetRecentMpPlayerListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetRecentMpPlayerListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetRecentMpPlayerListRsp) GetRecentMpPlayerBriefList() []*FriendBrief {
+ if x != nil {
+ return x.RecentMpPlayerBriefList
+ }
+ return nil
+}
+
+var File_GetRecentMpPlayerListRsp_proto protoreflect.FileDescriptor
+
+var file_GetRecentMpPlayerListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x70, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x18, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x50, 0x0a, 0x1b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x70, 0x5f, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x17, 0x72, 0x65, 0x63, 0x65,
+ 0x6e, 0x74, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetRecentMpPlayerListRsp_proto_rawDescOnce sync.Once
+ file_GetRecentMpPlayerListRsp_proto_rawDescData = file_GetRecentMpPlayerListRsp_proto_rawDesc
+)
+
+func file_GetRecentMpPlayerListRsp_proto_rawDescGZIP() []byte {
+ file_GetRecentMpPlayerListRsp_proto_rawDescOnce.Do(func() {
+ file_GetRecentMpPlayerListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetRecentMpPlayerListRsp_proto_rawDescData)
+ })
+ return file_GetRecentMpPlayerListRsp_proto_rawDescData
+}
+
+var file_GetRecentMpPlayerListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetRecentMpPlayerListRsp_proto_goTypes = []interface{}{
+ (*GetRecentMpPlayerListRsp)(nil), // 0: proto.GetRecentMpPlayerListRsp
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_GetRecentMpPlayerListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetRecentMpPlayerListRsp.recent_mp_player_brief_list:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetRecentMpPlayerListRsp_proto_init() }
+func file_GetRecentMpPlayerListRsp_proto_init() {
+ if File_GetRecentMpPlayerListRsp_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetRecentMpPlayerListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetRecentMpPlayerListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetRecentMpPlayerListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetRecentMpPlayerListRsp_proto_goTypes,
+ DependencyIndexes: file_GetRecentMpPlayerListRsp_proto_depIdxs,
+ MessageInfos: file_GetRecentMpPlayerListRsp_proto_msgTypes,
+ }.Build()
+ File_GetRecentMpPlayerListRsp_proto = out.File
+ file_GetRecentMpPlayerListRsp_proto_rawDesc = nil
+ file_GetRecentMpPlayerListRsp_proto_goTypes = nil
+ file_GetRecentMpPlayerListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetRecommendCustomDungeonReq.pb.go b/protocol/proto/GetRecommendCustomDungeonReq.pb.go
new file mode 100644
index 00000000..dd78dcbf
--- /dev/null
+++ b/protocol/proto/GetRecommendCustomDungeonReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetRecommendCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6235
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetRecommendCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsRefresh bool `protobuf:"varint,13,opt,name=is_refresh,json=isRefresh,proto3" json:"is_refresh,omitempty"`
+}
+
+func (x *GetRecommendCustomDungeonReq) Reset() {
+ *x = GetRecommendCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetRecommendCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetRecommendCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRecommendCustomDungeonReq) ProtoMessage() {}
+
+func (x *GetRecommendCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetRecommendCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetRecommendCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*GetRecommendCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_GetRecommendCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetRecommendCustomDungeonReq) GetIsRefresh() bool {
+ if x != nil {
+ return x.IsRefresh
+ }
+ return false
+}
+
+var File_GetRecommendCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_GetRecommendCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x1c, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
+ 0x73, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x09, 0x69, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetRecommendCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_GetRecommendCustomDungeonReq_proto_rawDescData = file_GetRecommendCustomDungeonReq_proto_rawDesc
+)
+
+func file_GetRecommendCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_GetRecommendCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_GetRecommendCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetRecommendCustomDungeonReq_proto_rawDescData)
+ })
+ return file_GetRecommendCustomDungeonReq_proto_rawDescData
+}
+
+var file_GetRecommendCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetRecommendCustomDungeonReq_proto_goTypes = []interface{}{
+ (*GetRecommendCustomDungeonReq)(nil), // 0: proto.GetRecommendCustomDungeonReq
+}
+var file_GetRecommendCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetRecommendCustomDungeonReq_proto_init() }
+func file_GetRecommendCustomDungeonReq_proto_init() {
+ if File_GetRecommendCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetRecommendCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetRecommendCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetRecommendCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetRecommendCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_GetRecommendCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_GetRecommendCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_GetRecommendCustomDungeonReq_proto = out.File
+ file_GetRecommendCustomDungeonReq_proto_rawDesc = nil
+ file_GetRecommendCustomDungeonReq_proto_goTypes = nil
+ file_GetRecommendCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetRecommendCustomDungeonRsp.pb.go b/protocol/proto/GetRecommendCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..398146c4
--- /dev/null
+++ b/protocol/proto/GetRecommendCustomDungeonRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetRecommendCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6248
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetRecommendCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CustomDungeonList []*OtherCustomDungeonBrief `protobuf:"bytes,8,rep,name=custom_dungeon_list,json=customDungeonList,proto3" json:"custom_dungeon_list,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetRecommendCustomDungeonRsp) Reset() {
+ *x = GetRecommendCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetRecommendCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetRecommendCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRecommendCustomDungeonRsp) ProtoMessage() {}
+
+func (x *GetRecommendCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetRecommendCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetRecommendCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*GetRecommendCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_GetRecommendCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetRecommendCustomDungeonRsp) GetCustomDungeonList() []*OtherCustomDungeonBrief {
+ if x != nil {
+ return x.CustomDungeonList
+ }
+ return nil
+}
+
+func (x *GetRecommendCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetRecommendCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_GetRecommendCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x4f, 0x74, 0x68,
+ 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x1c, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x13, 0x63,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetRecommendCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_GetRecommendCustomDungeonRsp_proto_rawDescData = file_GetRecommendCustomDungeonRsp_proto_rawDesc
+)
+
+func file_GetRecommendCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_GetRecommendCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_GetRecommendCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetRecommendCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_GetRecommendCustomDungeonRsp_proto_rawDescData
+}
+
+var file_GetRecommendCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetRecommendCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*GetRecommendCustomDungeonRsp)(nil), // 0: proto.GetRecommendCustomDungeonRsp
+ (*OtherCustomDungeonBrief)(nil), // 1: proto.OtherCustomDungeonBrief
+}
+var file_GetRecommendCustomDungeonRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetRecommendCustomDungeonRsp.custom_dungeon_list:type_name -> proto.OtherCustomDungeonBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetRecommendCustomDungeonRsp_proto_init() }
+func file_GetRecommendCustomDungeonRsp_proto_init() {
+ if File_GetRecommendCustomDungeonRsp_proto != nil {
+ return
+ }
+ file_OtherCustomDungeonBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetRecommendCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetRecommendCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetRecommendCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetRecommendCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_GetRecommendCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_GetRecommendCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_GetRecommendCustomDungeonRsp_proto = out.File
+ file_GetRecommendCustomDungeonRsp_proto_rawDesc = nil
+ file_GetRecommendCustomDungeonRsp_proto_goTypes = nil
+ file_GetRecommendCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetRegionSearchReq.pb.go b/protocol/proto/GetRegionSearchReq.pb.go
new file mode 100644
index 00000000..87220d32
--- /dev/null
+++ b/protocol/proto/GetRegionSearchReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetRegionSearchReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetRegionSearchReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetRegionSearchReq) Reset() {
+ *x = GetRegionSearchReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetRegionSearchReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetRegionSearchReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRegionSearchReq) ProtoMessage() {}
+
+func (x *GetRegionSearchReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetRegionSearchReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetRegionSearchReq.ProtoReflect.Descriptor instead.
+func (*GetRegionSearchReq) Descriptor() ([]byte, []int) {
+ return file_GetRegionSearchReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetRegionSearchReq_proto protoreflect.FileDescriptor
+
+var file_GetRegionSearchReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63,
+ 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65,
+ 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetRegionSearchReq_proto_rawDescOnce sync.Once
+ file_GetRegionSearchReq_proto_rawDescData = file_GetRegionSearchReq_proto_rawDesc
+)
+
+func file_GetRegionSearchReq_proto_rawDescGZIP() []byte {
+ file_GetRegionSearchReq_proto_rawDescOnce.Do(func() {
+ file_GetRegionSearchReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetRegionSearchReq_proto_rawDescData)
+ })
+ return file_GetRegionSearchReq_proto_rawDescData
+}
+
+var file_GetRegionSearchReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetRegionSearchReq_proto_goTypes = []interface{}{
+ (*GetRegionSearchReq)(nil), // 0: proto.GetRegionSearchReq
+}
+var file_GetRegionSearchReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetRegionSearchReq_proto_init() }
+func file_GetRegionSearchReq_proto_init() {
+ if File_GetRegionSearchReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetRegionSearchReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetRegionSearchReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetRegionSearchReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetRegionSearchReq_proto_goTypes,
+ DependencyIndexes: file_GetRegionSearchReq_proto_depIdxs,
+ MessageInfos: file_GetRegionSearchReq_proto_msgTypes,
+ }.Build()
+ File_GetRegionSearchReq_proto = out.File
+ file_GetRegionSearchReq_proto_rawDesc = nil
+ file_GetRegionSearchReq_proto_goTypes = nil
+ file_GetRegionSearchReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetReunionMissionInfoReq.pb.go b/protocol/proto/GetReunionMissionInfoReq.pb.go
new file mode 100644
index 00000000..9c71d788
--- /dev/null
+++ b/protocol/proto/GetReunionMissionInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetReunionMissionInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5094
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetReunionMissionInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MissionId uint32 `protobuf:"varint,14,opt,name=mission_id,json=missionId,proto3" json:"mission_id,omitempty"`
+}
+
+func (x *GetReunionMissionInfoReq) Reset() {
+ *x = GetReunionMissionInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetReunionMissionInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetReunionMissionInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetReunionMissionInfoReq) ProtoMessage() {}
+
+func (x *GetReunionMissionInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetReunionMissionInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetReunionMissionInfoReq.ProtoReflect.Descriptor instead.
+func (*GetReunionMissionInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetReunionMissionInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetReunionMissionInfoReq) GetMissionId() uint32 {
+ if x != nil {
+ return x.MissionId
+ }
+ return 0
+}
+
+var File_GetReunionMissionInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetReunionMissionInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65,
+ 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetReunionMissionInfoReq_proto_rawDescOnce sync.Once
+ file_GetReunionMissionInfoReq_proto_rawDescData = file_GetReunionMissionInfoReq_proto_rawDesc
+)
+
+func file_GetReunionMissionInfoReq_proto_rawDescGZIP() []byte {
+ file_GetReunionMissionInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetReunionMissionInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetReunionMissionInfoReq_proto_rawDescData)
+ })
+ return file_GetReunionMissionInfoReq_proto_rawDescData
+}
+
+var file_GetReunionMissionInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetReunionMissionInfoReq_proto_goTypes = []interface{}{
+ (*GetReunionMissionInfoReq)(nil), // 0: proto.GetReunionMissionInfoReq
+}
+var file_GetReunionMissionInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetReunionMissionInfoReq_proto_init() }
+func file_GetReunionMissionInfoReq_proto_init() {
+ if File_GetReunionMissionInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetReunionMissionInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetReunionMissionInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetReunionMissionInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetReunionMissionInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetReunionMissionInfoReq_proto_depIdxs,
+ MessageInfos: file_GetReunionMissionInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetReunionMissionInfoReq_proto = out.File
+ file_GetReunionMissionInfoReq_proto_rawDesc = nil
+ file_GetReunionMissionInfoReq_proto_goTypes = nil
+ file_GetReunionMissionInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetReunionMissionInfoRsp.pb.go b/protocol/proto/GetReunionMissionInfoRsp.pb.go
new file mode 100644
index 00000000..e40e94ad
--- /dev/null
+++ b/protocol/proto/GetReunionMissionInfoRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetReunionMissionInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5099
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetReunionMissionInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MissionInfo *ReunionMissionInfo `protobuf:"bytes,14,opt,name=mission_info,json=missionInfo,proto3" json:"mission_info,omitempty"`
+}
+
+func (x *GetReunionMissionInfoRsp) Reset() {
+ *x = GetReunionMissionInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetReunionMissionInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetReunionMissionInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetReunionMissionInfoRsp) ProtoMessage() {}
+
+func (x *GetReunionMissionInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetReunionMissionInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetReunionMissionInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetReunionMissionInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetReunionMissionInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetReunionMissionInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetReunionMissionInfoRsp) GetMissionInfo() *ReunionMissionInfo {
+ if x != nil {
+ return x.MissionInfo
+ }
+ return nil
+}
+
+var File_GetReunionMissionInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetReunionMissionInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e,
+ 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x72, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetReunionMissionInfoRsp_proto_rawDescOnce sync.Once
+ file_GetReunionMissionInfoRsp_proto_rawDescData = file_GetReunionMissionInfoRsp_proto_rawDesc
+)
+
+func file_GetReunionMissionInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetReunionMissionInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetReunionMissionInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetReunionMissionInfoRsp_proto_rawDescData)
+ })
+ return file_GetReunionMissionInfoRsp_proto_rawDescData
+}
+
+var file_GetReunionMissionInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetReunionMissionInfoRsp_proto_goTypes = []interface{}{
+ (*GetReunionMissionInfoRsp)(nil), // 0: proto.GetReunionMissionInfoRsp
+ (*ReunionMissionInfo)(nil), // 1: proto.ReunionMissionInfo
+}
+var file_GetReunionMissionInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetReunionMissionInfoRsp.mission_info:type_name -> proto.ReunionMissionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetReunionMissionInfoRsp_proto_init() }
+func file_GetReunionMissionInfoRsp_proto_init() {
+ if File_GetReunionMissionInfoRsp_proto != nil {
+ return
+ }
+ file_ReunionMissionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetReunionMissionInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetReunionMissionInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetReunionMissionInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetReunionMissionInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetReunionMissionInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetReunionMissionInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetReunionMissionInfoRsp_proto = out.File
+ file_GetReunionMissionInfoRsp_proto_rawDesc = nil
+ file_GetReunionMissionInfoRsp_proto_goTypes = nil
+ file_GetReunionMissionInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetReunionPrivilegeInfoReq.pb.go b/protocol/proto/GetReunionPrivilegeInfoReq.pb.go
new file mode 100644
index 00000000..552563c6
--- /dev/null
+++ b/protocol/proto/GetReunionPrivilegeInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetReunionPrivilegeInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5097
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetReunionPrivilegeInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PrivilegeId uint32 `protobuf:"varint,10,opt,name=privilege_id,json=privilegeId,proto3" json:"privilege_id,omitempty"`
+}
+
+func (x *GetReunionPrivilegeInfoReq) Reset() {
+ *x = GetReunionPrivilegeInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetReunionPrivilegeInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetReunionPrivilegeInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetReunionPrivilegeInfoReq) ProtoMessage() {}
+
+func (x *GetReunionPrivilegeInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetReunionPrivilegeInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetReunionPrivilegeInfoReq.ProtoReflect.Descriptor instead.
+func (*GetReunionPrivilegeInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetReunionPrivilegeInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetReunionPrivilegeInfoReq) GetPrivilegeId() uint32 {
+ if x != nil {
+ return x.PrivilegeId
+ }
+ return 0
+}
+
+var File_GetReunionPrivilegeInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetReunionPrivilegeInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76,
+ 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x1a, 0x47, 0x65, 0x74,
+ 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x69,
+ 0x6c, 0x65, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70,
+ 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetReunionPrivilegeInfoReq_proto_rawDescOnce sync.Once
+ file_GetReunionPrivilegeInfoReq_proto_rawDescData = file_GetReunionPrivilegeInfoReq_proto_rawDesc
+)
+
+func file_GetReunionPrivilegeInfoReq_proto_rawDescGZIP() []byte {
+ file_GetReunionPrivilegeInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetReunionPrivilegeInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetReunionPrivilegeInfoReq_proto_rawDescData)
+ })
+ return file_GetReunionPrivilegeInfoReq_proto_rawDescData
+}
+
+var file_GetReunionPrivilegeInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetReunionPrivilegeInfoReq_proto_goTypes = []interface{}{
+ (*GetReunionPrivilegeInfoReq)(nil), // 0: proto.GetReunionPrivilegeInfoReq
+}
+var file_GetReunionPrivilegeInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetReunionPrivilegeInfoReq_proto_init() }
+func file_GetReunionPrivilegeInfoReq_proto_init() {
+ if File_GetReunionPrivilegeInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetReunionPrivilegeInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetReunionPrivilegeInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetReunionPrivilegeInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetReunionPrivilegeInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetReunionPrivilegeInfoReq_proto_depIdxs,
+ MessageInfos: file_GetReunionPrivilegeInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetReunionPrivilegeInfoReq_proto = out.File
+ file_GetReunionPrivilegeInfoReq_proto_rawDesc = nil
+ file_GetReunionPrivilegeInfoReq_proto_goTypes = nil
+ file_GetReunionPrivilegeInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetReunionPrivilegeInfoRsp.pb.go b/protocol/proto/GetReunionPrivilegeInfoRsp.pb.go
new file mode 100644
index 00000000..e570e1c5
--- /dev/null
+++ b/protocol/proto/GetReunionPrivilegeInfoRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetReunionPrivilegeInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5087
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetReunionPrivilegeInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PrivilegeInfo *ReunionPrivilegeInfo `protobuf:"bytes,1,opt,name=privilege_info,json=privilegeInfo,proto3" json:"privilege_info,omitempty"`
+}
+
+func (x *GetReunionPrivilegeInfoRsp) Reset() {
+ *x = GetReunionPrivilegeInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetReunionPrivilegeInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetReunionPrivilegeInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetReunionPrivilegeInfoRsp) ProtoMessage() {}
+
+func (x *GetReunionPrivilegeInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetReunionPrivilegeInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetReunionPrivilegeInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetReunionPrivilegeInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetReunionPrivilegeInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetReunionPrivilegeInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetReunionPrivilegeInfoRsp) GetPrivilegeInfo() *ReunionPrivilegeInfo {
+ if x != nil {
+ return x.PrivilegeInfo
+ }
+ return nil
+}
+
+var File_GetReunionPrivilegeInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetReunionPrivilegeInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76,
+ 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x52, 0x65, 0x75, 0x6e, 0x69,
+ 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e,
+ 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x42, 0x0a,
+ 0x0e, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65,
+ 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetReunionPrivilegeInfoRsp_proto_rawDescOnce sync.Once
+ file_GetReunionPrivilegeInfoRsp_proto_rawDescData = file_GetReunionPrivilegeInfoRsp_proto_rawDesc
+)
+
+func file_GetReunionPrivilegeInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetReunionPrivilegeInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetReunionPrivilegeInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetReunionPrivilegeInfoRsp_proto_rawDescData)
+ })
+ return file_GetReunionPrivilegeInfoRsp_proto_rawDescData
+}
+
+var file_GetReunionPrivilegeInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetReunionPrivilegeInfoRsp_proto_goTypes = []interface{}{
+ (*GetReunionPrivilegeInfoRsp)(nil), // 0: proto.GetReunionPrivilegeInfoRsp
+ (*ReunionPrivilegeInfo)(nil), // 1: proto.ReunionPrivilegeInfo
+}
+var file_GetReunionPrivilegeInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetReunionPrivilegeInfoRsp.privilege_info:type_name -> proto.ReunionPrivilegeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetReunionPrivilegeInfoRsp_proto_init() }
+func file_GetReunionPrivilegeInfoRsp_proto_init() {
+ if File_GetReunionPrivilegeInfoRsp_proto != nil {
+ return
+ }
+ file_ReunionPrivilegeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetReunionPrivilegeInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetReunionPrivilegeInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetReunionPrivilegeInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetReunionPrivilegeInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetReunionPrivilegeInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetReunionPrivilegeInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetReunionPrivilegeInfoRsp_proto = out.File
+ file_GetReunionPrivilegeInfoRsp_proto_rawDesc = nil
+ file_GetReunionPrivilegeInfoRsp_proto_goTypes = nil
+ file_GetReunionPrivilegeInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetReunionSignInInfoReq.pb.go b/protocol/proto/GetReunionSignInInfoReq.pb.go
new file mode 100644
index 00000000..74f481c6
--- /dev/null
+++ b/protocol/proto/GetReunionSignInInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetReunionSignInInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5052
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetReunionSignInInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SignInConfigId uint32 `protobuf:"varint,10,opt,name=sign_in_config_id,json=signInConfigId,proto3" json:"sign_in_config_id,omitempty"`
+}
+
+func (x *GetReunionSignInInfoReq) Reset() {
+ *x = GetReunionSignInInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetReunionSignInInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetReunionSignInInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetReunionSignInInfoReq) ProtoMessage() {}
+
+func (x *GetReunionSignInInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetReunionSignInInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetReunionSignInInfoReq.ProtoReflect.Descriptor instead.
+func (*GetReunionSignInInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetReunionSignInInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetReunionSignInInfoReq) GetSignInConfigId() uint32 {
+ if x != nil {
+ return x.SignInConfigId
+ }
+ return 0
+}
+
+var File_GetReunionSignInInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetReunionSignInInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e,
+ 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75,
+ 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x71, 0x12, 0x29, 0x0a, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x69,
+ 0x67, 0x6e, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetReunionSignInInfoReq_proto_rawDescOnce sync.Once
+ file_GetReunionSignInInfoReq_proto_rawDescData = file_GetReunionSignInInfoReq_proto_rawDesc
+)
+
+func file_GetReunionSignInInfoReq_proto_rawDescGZIP() []byte {
+ file_GetReunionSignInInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetReunionSignInInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetReunionSignInInfoReq_proto_rawDescData)
+ })
+ return file_GetReunionSignInInfoReq_proto_rawDescData
+}
+
+var file_GetReunionSignInInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetReunionSignInInfoReq_proto_goTypes = []interface{}{
+ (*GetReunionSignInInfoReq)(nil), // 0: proto.GetReunionSignInInfoReq
+}
+var file_GetReunionSignInInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetReunionSignInInfoReq_proto_init() }
+func file_GetReunionSignInInfoReq_proto_init() {
+ if File_GetReunionSignInInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetReunionSignInInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetReunionSignInInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetReunionSignInInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetReunionSignInInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetReunionSignInInfoReq_proto_depIdxs,
+ MessageInfos: file_GetReunionSignInInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetReunionSignInInfoReq_proto = out.File
+ file_GetReunionSignInInfoReq_proto_rawDesc = nil
+ file_GetReunionSignInInfoReq_proto_goTypes = nil
+ file_GetReunionSignInInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetReunionSignInInfoRsp.pb.go b/protocol/proto/GetReunionSignInInfoRsp.pb.go
new file mode 100644
index 00000000..a1e9d104
--- /dev/null
+++ b/protocol/proto/GetReunionSignInInfoRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetReunionSignInInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5081
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetReunionSignInInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SignInInfo *ReunionSignInInfo `protobuf:"bytes,5,opt,name=sign_in_info,json=signInInfo,proto3" json:"sign_in_info,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetReunionSignInInfoRsp) Reset() {
+ *x = GetReunionSignInInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetReunionSignInInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetReunionSignInInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetReunionSignInInfoRsp) ProtoMessage() {}
+
+func (x *GetReunionSignInInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetReunionSignInInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetReunionSignInInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetReunionSignInInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetReunionSignInInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetReunionSignInInfoRsp) GetSignInInfo() *ReunionSignInInfo {
+ if x != nil {
+ return x.SignInInfo
+ }
+ return nil
+}
+
+func (x *GetReunionSignInInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetReunionSignInInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetReunionSignInInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e,
+ 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53,
+ 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x6f, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67,
+ 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0c, 0x73, 0x69,
+ 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e,
+ 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e,
+ 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetReunionSignInInfoRsp_proto_rawDescOnce sync.Once
+ file_GetReunionSignInInfoRsp_proto_rawDescData = file_GetReunionSignInInfoRsp_proto_rawDesc
+)
+
+func file_GetReunionSignInInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetReunionSignInInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetReunionSignInInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetReunionSignInInfoRsp_proto_rawDescData)
+ })
+ return file_GetReunionSignInInfoRsp_proto_rawDescData
+}
+
+var file_GetReunionSignInInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetReunionSignInInfoRsp_proto_goTypes = []interface{}{
+ (*GetReunionSignInInfoRsp)(nil), // 0: proto.GetReunionSignInInfoRsp
+ (*ReunionSignInInfo)(nil), // 1: proto.ReunionSignInInfo
+}
+var file_GetReunionSignInInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetReunionSignInInfoRsp.sign_in_info:type_name -> proto.ReunionSignInInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetReunionSignInInfoRsp_proto_init() }
+func file_GetReunionSignInInfoRsp_proto_init() {
+ if File_GetReunionSignInInfoRsp_proto != nil {
+ return
+ }
+ file_ReunionSignInInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetReunionSignInInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetReunionSignInInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetReunionSignInInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetReunionSignInInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetReunionSignInInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetReunionSignInInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetReunionSignInInfoRsp_proto = out.File
+ file_GetReunionSignInInfoRsp_proto_rawDesc = nil
+ file_GetReunionSignInInfoRsp_proto_goTypes = nil
+ file_GetReunionSignInInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetRogueDairyRepairInfoReq.pb.go b/protocol/proto/GetRogueDairyRepairInfoReq.pb.go
new file mode 100644
index 00000000..62dd47b1
--- /dev/null
+++ b/protocol/proto/GetRogueDairyRepairInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetRogueDairyRepairInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8014
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetRogueDairyRepairInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetRogueDairyRepairInfoReq) Reset() {
+ *x = GetRogueDairyRepairInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetRogueDairyRepairInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetRogueDairyRepairInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRogueDairyRepairInfoReq) ProtoMessage() {}
+
+func (x *GetRogueDairyRepairInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetRogueDairyRepairInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetRogueDairyRepairInfoReq.ProtoReflect.Descriptor instead.
+func (*GetRogueDairyRepairInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetRogueDairyRepairInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetRogueDairyRepairInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetRogueDairyRepairInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x61, 0x69, 0x72, 0x79, 0x52,
+ 0x65, 0x70, 0x61, 0x69, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x74,
+ 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x61, 0x69, 0x72, 0x79, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetRogueDairyRepairInfoReq_proto_rawDescOnce sync.Once
+ file_GetRogueDairyRepairInfoReq_proto_rawDescData = file_GetRogueDairyRepairInfoReq_proto_rawDesc
+)
+
+func file_GetRogueDairyRepairInfoReq_proto_rawDescGZIP() []byte {
+ file_GetRogueDairyRepairInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetRogueDairyRepairInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetRogueDairyRepairInfoReq_proto_rawDescData)
+ })
+ return file_GetRogueDairyRepairInfoReq_proto_rawDescData
+}
+
+var file_GetRogueDairyRepairInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetRogueDairyRepairInfoReq_proto_goTypes = []interface{}{
+ (*GetRogueDairyRepairInfoReq)(nil), // 0: proto.GetRogueDairyRepairInfoReq
+}
+var file_GetRogueDairyRepairInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetRogueDairyRepairInfoReq_proto_init() }
+func file_GetRogueDairyRepairInfoReq_proto_init() {
+ if File_GetRogueDairyRepairInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetRogueDairyRepairInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetRogueDairyRepairInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetRogueDairyRepairInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetRogueDairyRepairInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetRogueDairyRepairInfoReq_proto_depIdxs,
+ MessageInfos: file_GetRogueDairyRepairInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetRogueDairyRepairInfoReq_proto = out.File
+ file_GetRogueDairyRepairInfoReq_proto_rawDesc = nil
+ file_GetRogueDairyRepairInfoReq_proto_goTypes = nil
+ file_GetRogueDairyRepairInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetRogueDairyRepairInfoRsp.pb.go b/protocol/proto/GetRogueDairyRepairInfoRsp.pb.go
new file mode 100644
index 00000000..a3436475
--- /dev/null
+++ b/protocol/proto/GetRogueDairyRepairInfoRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetRogueDairyRepairInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8447
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetRogueDairyRepairInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetRogueDairyRepairInfoRsp) Reset() {
+ *x = GetRogueDairyRepairInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetRogueDairyRepairInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetRogueDairyRepairInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetRogueDairyRepairInfoRsp) ProtoMessage() {}
+
+func (x *GetRogueDairyRepairInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetRogueDairyRepairInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetRogueDairyRepairInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetRogueDairyRepairInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetRogueDairyRepairInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetRogueDairyRepairInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetRogueDairyRepairInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetRogueDairyRepairInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x61, 0x69, 0x72, 0x79, 0x52,
+ 0x65, 0x70, 0x61, 0x69, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x47, 0x65, 0x74,
+ 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x61, 0x69, 0x72, 0x79, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetRogueDairyRepairInfoRsp_proto_rawDescOnce sync.Once
+ file_GetRogueDairyRepairInfoRsp_proto_rawDescData = file_GetRogueDairyRepairInfoRsp_proto_rawDesc
+)
+
+func file_GetRogueDairyRepairInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetRogueDairyRepairInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetRogueDairyRepairInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetRogueDairyRepairInfoRsp_proto_rawDescData)
+ })
+ return file_GetRogueDairyRepairInfoRsp_proto_rawDescData
+}
+
+var file_GetRogueDairyRepairInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetRogueDairyRepairInfoRsp_proto_goTypes = []interface{}{
+ (*GetRogueDairyRepairInfoRsp)(nil), // 0: proto.GetRogueDairyRepairInfoRsp
+}
+var file_GetRogueDairyRepairInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetRogueDairyRepairInfoRsp_proto_init() }
+func file_GetRogueDairyRepairInfoRsp_proto_init() {
+ if File_GetRogueDairyRepairInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetRogueDairyRepairInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetRogueDairyRepairInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetRogueDairyRepairInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetRogueDairyRepairInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetRogueDairyRepairInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetRogueDairyRepairInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetRogueDairyRepairInfoRsp_proto = out.File
+ file_GetRogueDairyRepairInfoRsp_proto_rawDesc = nil
+ file_GetRogueDairyRepairInfoRsp_proto_goTypes = nil
+ file_GetRogueDairyRepairInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetSceneAreaReq.pb.go b/protocol/proto/GetSceneAreaReq.pb.go
new file mode 100644
index 00000000..2f66155e
--- /dev/null
+++ b/protocol/proto/GetSceneAreaReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetSceneAreaReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 265
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetSceneAreaReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ BelongUid uint32 `protobuf:"varint,7,opt,name=belong_uid,json=belongUid,proto3" json:"belong_uid,omitempty"`
+}
+
+func (x *GetSceneAreaReq) Reset() {
+ *x = GetSceneAreaReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetSceneAreaReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetSceneAreaReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetSceneAreaReq) ProtoMessage() {}
+
+func (x *GetSceneAreaReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetSceneAreaReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetSceneAreaReq.ProtoReflect.Descriptor instead.
+func (*GetSceneAreaReq) Descriptor() ([]byte, []int) {
+ return file_GetSceneAreaReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetSceneAreaReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *GetSceneAreaReq) GetBelongUid() uint32 {
+ if x != nil {
+ return x.BelongUid
+ }
+ return 0
+}
+
+var File_GetSceneAreaReq_proto protoreflect.FileDescriptor
+
+var file_GetSceneAreaReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b,
+ 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetSceneAreaReq_proto_rawDescOnce sync.Once
+ file_GetSceneAreaReq_proto_rawDescData = file_GetSceneAreaReq_proto_rawDesc
+)
+
+func file_GetSceneAreaReq_proto_rawDescGZIP() []byte {
+ file_GetSceneAreaReq_proto_rawDescOnce.Do(func() {
+ file_GetSceneAreaReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetSceneAreaReq_proto_rawDescData)
+ })
+ return file_GetSceneAreaReq_proto_rawDescData
+}
+
+var file_GetSceneAreaReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetSceneAreaReq_proto_goTypes = []interface{}{
+ (*GetSceneAreaReq)(nil), // 0: proto.GetSceneAreaReq
+}
+var file_GetSceneAreaReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetSceneAreaReq_proto_init() }
+func file_GetSceneAreaReq_proto_init() {
+ if File_GetSceneAreaReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetSceneAreaReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetSceneAreaReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetSceneAreaReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetSceneAreaReq_proto_goTypes,
+ DependencyIndexes: file_GetSceneAreaReq_proto_depIdxs,
+ MessageInfos: file_GetSceneAreaReq_proto_msgTypes,
+ }.Build()
+ File_GetSceneAreaReq_proto = out.File
+ file_GetSceneAreaReq_proto_rawDesc = nil
+ file_GetSceneAreaReq_proto_goTypes = nil
+ file_GetSceneAreaReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetSceneAreaRsp.pb.go b/protocol/proto/GetSceneAreaRsp.pb.go
new file mode 100644
index 00000000..902183cc
--- /dev/null
+++ b/protocol/proto/GetSceneAreaRsp.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetSceneAreaRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 204
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetSceneAreaRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CityInfoList []*CityInfo `protobuf:"bytes,13,rep,name=city_info_list,json=cityInfoList,proto3" json:"city_info_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,15,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ AreaIdList []uint32 `protobuf:"varint,9,rep,packed,name=area_id_list,json=areaIdList,proto3" json:"area_id_list,omitempty"`
+}
+
+func (x *GetSceneAreaRsp) Reset() {
+ *x = GetSceneAreaRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetSceneAreaRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetSceneAreaRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetSceneAreaRsp) ProtoMessage() {}
+
+func (x *GetSceneAreaRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetSceneAreaRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetSceneAreaRsp.ProtoReflect.Descriptor instead.
+func (*GetSceneAreaRsp) Descriptor() ([]byte, []int) {
+ return file_GetSceneAreaRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetSceneAreaRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetSceneAreaRsp) GetCityInfoList() []*CityInfo {
+ if x != nil {
+ return x.CityInfoList
+ }
+ return nil
+}
+
+func (x *GetSceneAreaRsp) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *GetSceneAreaRsp) GetAreaIdList() []uint32 {
+ if x != nil {
+ return x.AreaIdList
+ }
+ return nil
+}
+
+var File_GetSceneAreaRsp_proto protoreflect.FileDescriptor
+
+var file_GetSceneAreaRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e,
+ 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f,
+ 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x52,
+ 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x0e,
+ 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x20,
+ 0x0a, 0x0c, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetSceneAreaRsp_proto_rawDescOnce sync.Once
+ file_GetSceneAreaRsp_proto_rawDescData = file_GetSceneAreaRsp_proto_rawDesc
+)
+
+func file_GetSceneAreaRsp_proto_rawDescGZIP() []byte {
+ file_GetSceneAreaRsp_proto_rawDescOnce.Do(func() {
+ file_GetSceneAreaRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetSceneAreaRsp_proto_rawDescData)
+ })
+ return file_GetSceneAreaRsp_proto_rawDescData
+}
+
+var file_GetSceneAreaRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetSceneAreaRsp_proto_goTypes = []interface{}{
+ (*GetSceneAreaRsp)(nil), // 0: proto.GetSceneAreaRsp
+ (*CityInfo)(nil), // 1: proto.CityInfo
+}
+var file_GetSceneAreaRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetSceneAreaRsp.city_info_list:type_name -> proto.CityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetSceneAreaRsp_proto_init() }
+func file_GetSceneAreaRsp_proto_init() {
+ if File_GetSceneAreaRsp_proto != nil {
+ return
+ }
+ file_CityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetSceneAreaRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetSceneAreaRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetSceneAreaRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetSceneAreaRsp_proto_goTypes,
+ DependencyIndexes: file_GetSceneAreaRsp_proto_depIdxs,
+ MessageInfos: file_GetSceneAreaRsp_proto_msgTypes,
+ }.Build()
+ File_GetSceneAreaRsp_proto = out.File
+ file_GetSceneAreaRsp_proto_rawDesc = nil
+ file_GetSceneAreaRsp_proto_goTypes = nil
+ file_GetSceneAreaRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetSceneNpcPositionReq.pb.go b/protocol/proto/GetSceneNpcPositionReq.pb.go
new file mode 100644
index 00000000..ddfd4da6
--- /dev/null
+++ b/protocol/proto/GetSceneNpcPositionReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetSceneNpcPositionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 535
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetSceneNpcPositionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NpcIdList []uint32 `protobuf:"varint,6,rep,packed,name=npc_id_list,json=npcIdList,proto3" json:"npc_id_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,8,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *GetSceneNpcPositionReq) Reset() {
+ *x = GetSceneNpcPositionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetSceneNpcPositionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetSceneNpcPositionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetSceneNpcPositionReq) ProtoMessage() {}
+
+func (x *GetSceneNpcPositionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetSceneNpcPositionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetSceneNpcPositionReq.ProtoReflect.Descriptor instead.
+func (*GetSceneNpcPositionReq) Descriptor() ([]byte, []int) {
+ return file_GetSceneNpcPositionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetSceneNpcPositionReq) GetNpcIdList() []uint32 {
+ if x != nil {
+ return x.NpcIdList
+ }
+ return nil
+}
+
+func (x *GetSceneNpcPositionReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_GetSceneNpcPositionReq_proto protoreflect.FileDescriptor
+
+var file_GetSceneNpcPositionReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x70, 0x63, 0x50, 0x6f, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x4e, 0x70, 0x63, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12,
+ 0x1e, 0x0a, 0x0b, 0x6e, 0x70, 0x63, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x6e, 0x70, 0x63, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetSceneNpcPositionReq_proto_rawDescOnce sync.Once
+ file_GetSceneNpcPositionReq_proto_rawDescData = file_GetSceneNpcPositionReq_proto_rawDesc
+)
+
+func file_GetSceneNpcPositionReq_proto_rawDescGZIP() []byte {
+ file_GetSceneNpcPositionReq_proto_rawDescOnce.Do(func() {
+ file_GetSceneNpcPositionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetSceneNpcPositionReq_proto_rawDescData)
+ })
+ return file_GetSceneNpcPositionReq_proto_rawDescData
+}
+
+var file_GetSceneNpcPositionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetSceneNpcPositionReq_proto_goTypes = []interface{}{
+ (*GetSceneNpcPositionReq)(nil), // 0: proto.GetSceneNpcPositionReq
+}
+var file_GetSceneNpcPositionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetSceneNpcPositionReq_proto_init() }
+func file_GetSceneNpcPositionReq_proto_init() {
+ if File_GetSceneNpcPositionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetSceneNpcPositionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetSceneNpcPositionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetSceneNpcPositionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetSceneNpcPositionReq_proto_goTypes,
+ DependencyIndexes: file_GetSceneNpcPositionReq_proto_depIdxs,
+ MessageInfos: file_GetSceneNpcPositionReq_proto_msgTypes,
+ }.Build()
+ File_GetSceneNpcPositionReq_proto = out.File
+ file_GetSceneNpcPositionReq_proto_rawDesc = nil
+ file_GetSceneNpcPositionReq_proto_goTypes = nil
+ file_GetSceneNpcPositionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetSceneNpcPositionRsp.pb.go b/protocol/proto/GetSceneNpcPositionRsp.pb.go
new file mode 100644
index 00000000..467bf0ed
--- /dev/null
+++ b/protocol/proto/GetSceneNpcPositionRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetSceneNpcPositionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 507
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetSceneNpcPositionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ NpcInfoList []*NpcPositionInfo `protobuf:"bytes,14,rep,name=npc_info_list,json=npcInfoList,proto3" json:"npc_info_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *GetSceneNpcPositionRsp) Reset() {
+ *x = GetSceneNpcPositionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetSceneNpcPositionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetSceneNpcPositionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetSceneNpcPositionRsp) ProtoMessage() {}
+
+func (x *GetSceneNpcPositionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetSceneNpcPositionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetSceneNpcPositionRsp.ProtoReflect.Descriptor instead.
+func (*GetSceneNpcPositionRsp) Descriptor() ([]byte, []int) {
+ return file_GetSceneNpcPositionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetSceneNpcPositionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetSceneNpcPositionRsp) GetNpcInfoList() []*NpcPositionInfo {
+ if x != nil {
+ return x.NpcInfoList
+ }
+ return nil
+}
+
+func (x *GetSceneNpcPositionRsp) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_GetSceneNpcPositionRsp_proto protoreflect.FileDescriptor
+
+var file_GetSceneNpcPositionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x70, 0x63, 0x50, 0x6f, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x4e, 0x70, 0x63, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a,
+ 0x16, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x70, 0x63, 0x50, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x6e, 0x70, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4e, 0x70, 0x63, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0b, 0x6e, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetSceneNpcPositionRsp_proto_rawDescOnce sync.Once
+ file_GetSceneNpcPositionRsp_proto_rawDescData = file_GetSceneNpcPositionRsp_proto_rawDesc
+)
+
+func file_GetSceneNpcPositionRsp_proto_rawDescGZIP() []byte {
+ file_GetSceneNpcPositionRsp_proto_rawDescOnce.Do(func() {
+ file_GetSceneNpcPositionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetSceneNpcPositionRsp_proto_rawDescData)
+ })
+ return file_GetSceneNpcPositionRsp_proto_rawDescData
+}
+
+var file_GetSceneNpcPositionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetSceneNpcPositionRsp_proto_goTypes = []interface{}{
+ (*GetSceneNpcPositionRsp)(nil), // 0: proto.GetSceneNpcPositionRsp
+ (*NpcPositionInfo)(nil), // 1: proto.NpcPositionInfo
+}
+var file_GetSceneNpcPositionRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetSceneNpcPositionRsp.npc_info_list:type_name -> proto.NpcPositionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetSceneNpcPositionRsp_proto_init() }
+func file_GetSceneNpcPositionRsp_proto_init() {
+ if File_GetSceneNpcPositionRsp_proto != nil {
+ return
+ }
+ file_NpcPositionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetSceneNpcPositionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetSceneNpcPositionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetSceneNpcPositionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetSceneNpcPositionRsp_proto_goTypes,
+ DependencyIndexes: file_GetSceneNpcPositionRsp_proto_depIdxs,
+ MessageInfos: file_GetSceneNpcPositionRsp_proto_msgTypes,
+ }.Build()
+ File_GetSceneNpcPositionRsp_proto = out.File
+ file_GetSceneNpcPositionRsp_proto_rawDesc = nil
+ file_GetSceneNpcPositionRsp_proto_goTypes = nil
+ file_GetSceneNpcPositionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetScenePerformanceReq.pb.go b/protocol/proto/GetScenePerformanceReq.pb.go
new file mode 100644
index 00000000..56ad6cc5
--- /dev/null
+++ b/protocol/proto/GetScenePerformanceReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetScenePerformanceReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3419
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetScenePerformanceReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetScenePerformanceReq) Reset() {
+ *x = GetScenePerformanceReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetScenePerformanceReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetScenePerformanceReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetScenePerformanceReq) ProtoMessage() {}
+
+func (x *GetScenePerformanceReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetScenePerformanceReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetScenePerformanceReq.ProtoReflect.Descriptor instead.
+func (*GetScenePerformanceReq) Descriptor() ([]byte, []int) {
+ return file_GetScenePerformanceReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetScenePerformanceReq_proto protoreflect.FileDescriptor
+
+var file_GetScenePerformanceReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetScenePerformanceReq_proto_rawDescOnce sync.Once
+ file_GetScenePerformanceReq_proto_rawDescData = file_GetScenePerformanceReq_proto_rawDesc
+)
+
+func file_GetScenePerformanceReq_proto_rawDescGZIP() []byte {
+ file_GetScenePerformanceReq_proto_rawDescOnce.Do(func() {
+ file_GetScenePerformanceReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetScenePerformanceReq_proto_rawDescData)
+ })
+ return file_GetScenePerformanceReq_proto_rawDescData
+}
+
+var file_GetScenePerformanceReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetScenePerformanceReq_proto_goTypes = []interface{}{
+ (*GetScenePerformanceReq)(nil), // 0: proto.GetScenePerformanceReq
+}
+var file_GetScenePerformanceReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetScenePerformanceReq_proto_init() }
+func file_GetScenePerformanceReq_proto_init() {
+ if File_GetScenePerformanceReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetScenePerformanceReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetScenePerformanceReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetScenePerformanceReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetScenePerformanceReq_proto_goTypes,
+ DependencyIndexes: file_GetScenePerformanceReq_proto_depIdxs,
+ MessageInfos: file_GetScenePerformanceReq_proto_msgTypes,
+ }.Build()
+ File_GetScenePerformanceReq_proto = out.File
+ file_GetScenePerformanceReq_proto_rawDesc = nil
+ file_GetScenePerformanceReq_proto_goTypes = nil
+ file_GetScenePerformanceReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetScenePerformanceRsp.pb.go b/protocol/proto/GetScenePerformanceRsp.pb.go
new file mode 100644
index 00000000..3e5c2050
--- /dev/null
+++ b/protocol/proto/GetScenePerformanceRsp.pb.go
@@ -0,0 +1,248 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetScenePerformanceRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3137
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetScenePerformanceRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterNum uint32 `protobuf:"varint,9,opt,name=monster_num,json=monsterNum,proto3" json:"monster_num,omitempty"`
+ GatherNumInsight uint32 `protobuf:"varint,1,opt,name=gather_num_insight,json=gatherNumInsight,proto3" json:"gather_num_insight,omitempty"`
+ GadgetNum uint32 `protobuf:"varint,6,opt,name=gadget_num,json=gadgetNum,proto3" json:"gadget_num,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DynamicGroupNum uint32 `protobuf:"varint,12,opt,name=dynamic_group_num,json=dynamicGroupNum,proto3" json:"dynamic_group_num,omitempty"`
+ GroupNum uint32 `protobuf:"varint,2,opt,name=group_num,json=groupNum,proto3" json:"group_num,omitempty"`
+ Pos *Vector `protobuf:"bytes,4,opt,name=pos,proto3" json:"pos,omitempty"`
+ EntityNum uint32 `protobuf:"varint,8,opt,name=entity_num,json=entityNum,proto3" json:"entity_num,omitempty"`
+ GatherNum uint32 `protobuf:"varint,13,opt,name=gather_num,json=gatherNum,proto3" json:"gather_num,omitempty"`
+}
+
+func (x *GetScenePerformanceRsp) Reset() {
+ *x = GetScenePerformanceRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetScenePerformanceRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetScenePerformanceRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetScenePerformanceRsp) ProtoMessage() {}
+
+func (x *GetScenePerformanceRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetScenePerformanceRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetScenePerformanceRsp.ProtoReflect.Descriptor instead.
+func (*GetScenePerformanceRsp) Descriptor() ([]byte, []int) {
+ return file_GetScenePerformanceRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetScenePerformanceRsp) GetMonsterNum() uint32 {
+ if x != nil {
+ return x.MonsterNum
+ }
+ return 0
+}
+
+func (x *GetScenePerformanceRsp) GetGatherNumInsight() uint32 {
+ if x != nil {
+ return x.GatherNumInsight
+ }
+ return 0
+}
+
+func (x *GetScenePerformanceRsp) GetGadgetNum() uint32 {
+ if x != nil {
+ return x.GadgetNum
+ }
+ return 0
+}
+
+func (x *GetScenePerformanceRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetScenePerformanceRsp) GetDynamicGroupNum() uint32 {
+ if x != nil {
+ return x.DynamicGroupNum
+ }
+ return 0
+}
+
+func (x *GetScenePerformanceRsp) GetGroupNum() uint32 {
+ if x != nil {
+ return x.GroupNum
+ }
+ return 0
+}
+
+func (x *GetScenePerformanceRsp) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *GetScenePerformanceRsp) GetEntityNum() uint32 {
+ if x != nil {
+ return x.EntityNum
+ }
+ return 0
+}
+
+func (x *GetScenePerformanceRsp) GetGatherNum() uint32 {
+ if x != nil {
+ return x.GatherNum
+ }
+ return 0
+}
+
+var File_GetScenePerformanceRsp_proto protoreflect.FileDescriptor
+
+var file_GetScenePerformanceRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12,
+ 0x2c, 0x0a, 0x12, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e,
+ 0x73, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x67, 0x61, 0x74,
+ 0x68, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69,
+ 0x63, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e,
+ 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x12,
+ 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x75, 0x6d, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetScenePerformanceRsp_proto_rawDescOnce sync.Once
+ file_GetScenePerformanceRsp_proto_rawDescData = file_GetScenePerformanceRsp_proto_rawDesc
+)
+
+func file_GetScenePerformanceRsp_proto_rawDescGZIP() []byte {
+ file_GetScenePerformanceRsp_proto_rawDescOnce.Do(func() {
+ file_GetScenePerformanceRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetScenePerformanceRsp_proto_rawDescData)
+ })
+ return file_GetScenePerformanceRsp_proto_rawDescData
+}
+
+var file_GetScenePerformanceRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetScenePerformanceRsp_proto_goTypes = []interface{}{
+ (*GetScenePerformanceRsp)(nil), // 0: proto.GetScenePerformanceRsp
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_GetScenePerformanceRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetScenePerformanceRsp.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetScenePerformanceRsp_proto_init() }
+func file_GetScenePerformanceRsp_proto_init() {
+ if File_GetScenePerformanceRsp_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetScenePerformanceRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetScenePerformanceRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetScenePerformanceRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetScenePerformanceRsp_proto_goTypes,
+ DependencyIndexes: file_GetScenePerformanceRsp_proto_depIdxs,
+ MessageInfos: file_GetScenePerformanceRsp_proto_msgTypes,
+ }.Build()
+ File_GetScenePerformanceRsp_proto = out.File
+ file_GetScenePerformanceRsp_proto_rawDesc = nil
+ file_GetScenePerformanceRsp_proto_goTypes = nil
+ file_GetScenePerformanceRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetScenePointReq.pb.go b/protocol/proto/GetScenePointReq.pb.go
new file mode 100644
index 00000000..0c2c95d9
--- /dev/null
+++ b/protocol/proto/GetScenePointReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetScenePointReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 297
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetScenePointReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BelongUid uint32 `protobuf:"varint,10,opt,name=belong_uid,json=belongUid,proto3" json:"belong_uid,omitempty"`
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *GetScenePointReq) Reset() {
+ *x = GetScenePointReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetScenePointReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetScenePointReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetScenePointReq) ProtoMessage() {}
+
+func (x *GetScenePointReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetScenePointReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetScenePointReq.ProtoReflect.Descriptor instead.
+func (*GetScenePointReq) Descriptor() ([]byte, []int) {
+ return file_GetScenePointReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetScenePointReq) GetBelongUid() uint32 {
+ if x != nil {
+ return x.BelongUid
+ }
+ return 0
+}
+
+func (x *GetScenePointReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_GetScenePointReq_proto protoreflect.FileDescriptor
+
+var file_GetScenePointReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x4c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x75, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x55,
+ 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetScenePointReq_proto_rawDescOnce sync.Once
+ file_GetScenePointReq_proto_rawDescData = file_GetScenePointReq_proto_rawDesc
+)
+
+func file_GetScenePointReq_proto_rawDescGZIP() []byte {
+ file_GetScenePointReq_proto_rawDescOnce.Do(func() {
+ file_GetScenePointReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetScenePointReq_proto_rawDescData)
+ })
+ return file_GetScenePointReq_proto_rawDescData
+}
+
+var file_GetScenePointReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetScenePointReq_proto_goTypes = []interface{}{
+ (*GetScenePointReq)(nil), // 0: proto.GetScenePointReq
+}
+var file_GetScenePointReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetScenePointReq_proto_init() }
+func file_GetScenePointReq_proto_init() {
+ if File_GetScenePointReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetScenePointReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetScenePointReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetScenePointReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetScenePointReq_proto_goTypes,
+ DependencyIndexes: file_GetScenePointReq_proto_depIdxs,
+ MessageInfos: file_GetScenePointReq_proto_msgTypes,
+ }.Build()
+ File_GetScenePointReq_proto = out.File
+ file_GetScenePointReq_proto_rawDesc = nil
+ file_GetScenePointReq_proto_goTypes = nil
+ file_GetScenePointReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetScenePointRsp.pb.go b/protocol/proto/GetScenePointRsp.pb.go
new file mode 100644
index 00000000..55053c59
--- /dev/null
+++ b/protocol/proto/GetScenePointRsp.pb.go
@@ -0,0 +1,284 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetScenePointRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 281
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetScenePointRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NotExploredDungeonEntryList []uint32 `protobuf:"varint,11,rep,packed,name=not_explored_dungeon_entry_list,json=notExploredDungeonEntryList,proto3" json:"not_explored_dungeon_entry_list,omitempty"`
+ ToBeExploreDungeonEntryList []uint32 `protobuf:"varint,15,rep,packed,name=to_be_explore_dungeon_entry_list,json=toBeExploreDungeonEntryList,proto3" json:"to_be_explore_dungeon_entry_list,omitempty"`
+ LockedPointList []uint32 `protobuf:"varint,2,rep,packed,name=locked_point_list,json=lockedPointList,proto3" json:"locked_point_list,omitempty"`
+ UnhidePointList []uint32 `protobuf:"varint,5,rep,packed,name=unhide_point_list,json=unhidePointList,proto3" json:"unhide_point_list,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ BelongUid uint32 `protobuf:"varint,12,opt,name=belong_uid,json=belongUid,proto3" json:"belong_uid,omitempty"`
+ UnlockedPointList []uint32 `protobuf:"varint,13,rep,packed,name=unlocked_point_list,json=unlockedPointList,proto3" json:"unlocked_point_list,omitempty"`
+ UnlockAreaList []uint32 `protobuf:"varint,1,rep,packed,name=unlock_area_list,json=unlockAreaList,proto3" json:"unlock_area_list,omitempty"`
+ HidePointList []uint32 `protobuf:"varint,4,rep,packed,name=hide_point_list,json=hidePointList,proto3" json:"hide_point_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,14,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ NotInteractDungeonEntryList []uint32 `protobuf:"varint,6,rep,packed,name=not_interact_dungeon_entry_list,json=notInteractDungeonEntryList,proto3" json:"not_interact_dungeon_entry_list,omitempty"`
+ GroupUnlimitPointList []uint32 `protobuf:"varint,10,rep,packed,name=group_unlimit_point_list,json=groupUnlimitPointList,proto3" json:"group_unlimit_point_list,omitempty"`
+}
+
+func (x *GetScenePointRsp) Reset() {
+ *x = GetScenePointRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetScenePointRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetScenePointRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetScenePointRsp) ProtoMessage() {}
+
+func (x *GetScenePointRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetScenePointRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetScenePointRsp.ProtoReflect.Descriptor instead.
+func (*GetScenePointRsp) Descriptor() ([]byte, []int) {
+ return file_GetScenePointRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetScenePointRsp) GetNotExploredDungeonEntryList() []uint32 {
+ if x != nil {
+ return x.NotExploredDungeonEntryList
+ }
+ return nil
+}
+
+func (x *GetScenePointRsp) GetToBeExploreDungeonEntryList() []uint32 {
+ if x != nil {
+ return x.ToBeExploreDungeonEntryList
+ }
+ return nil
+}
+
+func (x *GetScenePointRsp) GetLockedPointList() []uint32 {
+ if x != nil {
+ return x.LockedPointList
+ }
+ return nil
+}
+
+func (x *GetScenePointRsp) GetUnhidePointList() []uint32 {
+ if x != nil {
+ return x.UnhidePointList
+ }
+ return nil
+}
+
+func (x *GetScenePointRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetScenePointRsp) GetBelongUid() uint32 {
+ if x != nil {
+ return x.BelongUid
+ }
+ return 0
+}
+
+func (x *GetScenePointRsp) GetUnlockedPointList() []uint32 {
+ if x != nil {
+ return x.UnlockedPointList
+ }
+ return nil
+}
+
+func (x *GetScenePointRsp) GetUnlockAreaList() []uint32 {
+ if x != nil {
+ return x.UnlockAreaList
+ }
+ return nil
+}
+
+func (x *GetScenePointRsp) GetHidePointList() []uint32 {
+ if x != nil {
+ return x.HidePointList
+ }
+ return nil
+}
+
+func (x *GetScenePointRsp) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *GetScenePointRsp) GetNotInteractDungeonEntryList() []uint32 {
+ if x != nil {
+ return x.NotInteractDungeonEntryList
+ }
+ return nil
+}
+
+func (x *GetScenePointRsp) GetGroupUnlimitPointList() []uint32 {
+ if x != nil {
+ return x.GroupUnlimitPointList
+ }
+ return nil
+}
+
+var File_GetScenePointRsp_proto protoreflect.FileDescriptor
+
+var file_GetScenePointRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xcc, 0x04, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x52, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x1f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6c,
+ 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74,
+ 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1b, 0x6e,
+ 0x6f, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x20, 0x74, 0x6f,
+ 0x5f, 0x62, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1b, 0x74, 0x6f, 0x42, 0x65, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72,
+ 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a,
+ 0x11, 0x75, 0x6e, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x6e, 0x68, 0x69, 0x64, 0x65,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x75, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x55,
+ 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x11, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x61, 0x72, 0x65,
+ 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x75, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x65, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f,
+ 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x68, 0x69, 0x64, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12,
+ 0x44, 0x0a, 0x1f, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x5f,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1b, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x61, 0x63, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x75,
+ 0x6e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x6e,
+ 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetScenePointRsp_proto_rawDescOnce sync.Once
+ file_GetScenePointRsp_proto_rawDescData = file_GetScenePointRsp_proto_rawDesc
+)
+
+func file_GetScenePointRsp_proto_rawDescGZIP() []byte {
+ file_GetScenePointRsp_proto_rawDescOnce.Do(func() {
+ file_GetScenePointRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetScenePointRsp_proto_rawDescData)
+ })
+ return file_GetScenePointRsp_proto_rawDescData
+}
+
+var file_GetScenePointRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetScenePointRsp_proto_goTypes = []interface{}{
+ (*GetScenePointRsp)(nil), // 0: proto.GetScenePointRsp
+}
+var file_GetScenePointRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetScenePointRsp_proto_init() }
+func file_GetScenePointRsp_proto_init() {
+ if File_GetScenePointRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetScenePointRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetScenePointRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetScenePointRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetScenePointRsp_proto_goTypes,
+ DependencyIndexes: file_GetScenePointRsp_proto_depIdxs,
+ MessageInfos: file_GetScenePointRsp_proto_msgTypes,
+ }.Build()
+ File_GetScenePointRsp_proto = out.File
+ file_GetScenePointRsp_proto_rawDesc = nil
+ file_GetScenePointRsp_proto_goTypes = nil
+ file_GetScenePointRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetShopReq.pb.go b/protocol/proto/GetShopReq.pb.go
new file mode 100644
index 00000000..0372ed50
--- /dev/null
+++ b/protocol/proto/GetShopReq.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetShopReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 772
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetShopReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShopType uint32 `protobuf:"varint,13,opt,name=shop_type,json=shopType,proto3" json:"shop_type,omitempty"`
+}
+
+func (x *GetShopReq) Reset() {
+ *x = GetShopReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetShopReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetShopReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetShopReq) ProtoMessage() {}
+
+func (x *GetShopReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetShopReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetShopReq.ProtoReflect.Descriptor instead.
+func (*GetShopReq) Descriptor() ([]byte, []int) {
+ return file_GetShopReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetShopReq) GetShopType() uint32 {
+ if x != nil {
+ return x.ShopType
+ }
+ return 0
+}
+
+var File_GetShopReq_proto protoreflect.FileDescriptor
+
+var file_GetShopReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x29, 0x0a, 0x0a, 0x47, 0x65, 0x74,
+ 0x53, 0x68, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x70, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x70,
+ 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetShopReq_proto_rawDescOnce sync.Once
+ file_GetShopReq_proto_rawDescData = file_GetShopReq_proto_rawDesc
+)
+
+func file_GetShopReq_proto_rawDescGZIP() []byte {
+ file_GetShopReq_proto_rawDescOnce.Do(func() {
+ file_GetShopReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetShopReq_proto_rawDescData)
+ })
+ return file_GetShopReq_proto_rawDescData
+}
+
+var file_GetShopReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetShopReq_proto_goTypes = []interface{}{
+ (*GetShopReq)(nil), // 0: proto.GetShopReq
+}
+var file_GetShopReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetShopReq_proto_init() }
+func file_GetShopReq_proto_init() {
+ if File_GetShopReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetShopReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetShopReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetShopReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetShopReq_proto_goTypes,
+ DependencyIndexes: file_GetShopReq_proto_depIdxs,
+ MessageInfos: file_GetShopReq_proto_msgTypes,
+ }.Build()
+ File_GetShopReq_proto = out.File
+ file_GetShopReq_proto_rawDesc = nil
+ file_GetShopReq_proto_goTypes = nil
+ file_GetShopReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetShopRsp.pb.go b/protocol/proto/GetShopRsp.pb.go
new file mode 100644
index 00000000..082cde10
--- /dev/null
+++ b/protocol/proto/GetShopRsp.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetShopRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 798
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetShopRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Shop *Shop `protobuf:"bytes,11,opt,name=shop,proto3" json:"shop,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetShopRsp) Reset() {
+ *x = GetShopRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetShopRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetShopRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetShopRsp) ProtoMessage() {}
+
+func (x *GetShopRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetShopRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetShopRsp.ProtoReflect.Descriptor instead.
+func (*GetShopRsp) Descriptor() ([]byte, []int) {
+ return file_GetShopRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetShopRsp) GetShop() *Shop {
+ if x != nil {
+ return x.Shop
+ }
+ return nil
+}
+
+func (x *GetShopRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetShopRsp_proto protoreflect.FileDescriptor
+
+var file_GetShopRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70,
+ 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x73, 0x68, 0x6f, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x04,
+ 0x73, 0x68, 0x6f, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GetShopRsp_proto_rawDescOnce sync.Once
+ file_GetShopRsp_proto_rawDescData = file_GetShopRsp_proto_rawDesc
+)
+
+func file_GetShopRsp_proto_rawDescGZIP() []byte {
+ file_GetShopRsp_proto_rawDescOnce.Do(func() {
+ file_GetShopRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetShopRsp_proto_rawDescData)
+ })
+ return file_GetShopRsp_proto_rawDescData
+}
+
+var file_GetShopRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetShopRsp_proto_goTypes = []interface{}{
+ (*GetShopRsp)(nil), // 0: proto.GetShopRsp
+ (*Shop)(nil), // 1: proto.Shop
+}
+var file_GetShopRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetShopRsp.shop:type_name -> proto.Shop
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetShopRsp_proto_init() }
+func file_GetShopRsp_proto_init() {
+ if File_GetShopRsp_proto != nil {
+ return
+ }
+ file_Shop_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetShopRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetShopRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetShopRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetShopRsp_proto_goTypes,
+ DependencyIndexes: file_GetShopRsp_proto_depIdxs,
+ MessageInfos: file_GetShopRsp_proto_msgTypes,
+ }.Build()
+ File_GetShopRsp_proto = out.File
+ file_GetShopRsp_proto_rawDesc = nil
+ file_GetShopRsp_proto_goTypes = nil
+ file_GetShopRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetShopmallDataReq.pb.go b/protocol/proto/GetShopmallDataReq.pb.go
new file mode 100644
index 00000000..4dda93a5
--- /dev/null
+++ b/protocol/proto/GetShopmallDataReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetShopmallDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 707
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetShopmallDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetShopmallDataReq) Reset() {
+ *x = GetShopmallDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetShopmallDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetShopmallDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetShopmallDataReq) ProtoMessage() {}
+
+func (x *GetShopmallDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetShopmallDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetShopmallDataReq.ProtoReflect.Descriptor instead.
+func (*GetShopmallDataReq) Descriptor() ([]byte, []int) {
+ return file_GetShopmallDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetShopmallDataReq_proto protoreflect.FileDescriptor
+
+var file_GetShopmallDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x6d, 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x6d, 0x61, 0x6c, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetShopmallDataReq_proto_rawDescOnce sync.Once
+ file_GetShopmallDataReq_proto_rawDescData = file_GetShopmallDataReq_proto_rawDesc
+)
+
+func file_GetShopmallDataReq_proto_rawDescGZIP() []byte {
+ file_GetShopmallDataReq_proto_rawDescOnce.Do(func() {
+ file_GetShopmallDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetShopmallDataReq_proto_rawDescData)
+ })
+ return file_GetShopmallDataReq_proto_rawDescData
+}
+
+var file_GetShopmallDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetShopmallDataReq_proto_goTypes = []interface{}{
+ (*GetShopmallDataReq)(nil), // 0: proto.GetShopmallDataReq
+}
+var file_GetShopmallDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetShopmallDataReq_proto_init() }
+func file_GetShopmallDataReq_proto_init() {
+ if File_GetShopmallDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetShopmallDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetShopmallDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetShopmallDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetShopmallDataReq_proto_goTypes,
+ DependencyIndexes: file_GetShopmallDataReq_proto_depIdxs,
+ MessageInfos: file_GetShopmallDataReq_proto_msgTypes,
+ }.Build()
+ File_GetShopmallDataReq_proto = out.File
+ file_GetShopmallDataReq_proto_rawDesc = nil
+ file_GetShopmallDataReq_proto_goTypes = nil
+ file_GetShopmallDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetShopmallDataRsp.pb.go b/protocol/proto/GetShopmallDataRsp.pb.go
new file mode 100644
index 00000000..fcdd5fd3
--- /dev/null
+++ b/protocol/proto/GetShopmallDataRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetShopmallDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 721
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetShopmallDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShopTypeList []uint32 `protobuf:"varint,15,rep,packed,name=shop_type_list,json=shopTypeList,proto3" json:"shop_type_list,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetShopmallDataRsp) Reset() {
+ *x = GetShopmallDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetShopmallDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetShopmallDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetShopmallDataRsp) ProtoMessage() {}
+
+func (x *GetShopmallDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetShopmallDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetShopmallDataRsp.ProtoReflect.Descriptor instead.
+func (*GetShopmallDataRsp) Descriptor() ([]byte, []int) {
+ return file_GetShopmallDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetShopmallDataRsp) GetShopTypeList() []uint32 {
+ if x != nil {
+ return x.ShopTypeList
+ }
+ return nil
+}
+
+func (x *GetShopmallDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetShopmallDataRsp_proto protoreflect.FileDescriptor
+
+var file_GetShopmallDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x6d, 0x61, 0x6c, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x6d, 0x61, 0x6c, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x70, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0c, 0x73, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetShopmallDataRsp_proto_rawDescOnce sync.Once
+ file_GetShopmallDataRsp_proto_rawDescData = file_GetShopmallDataRsp_proto_rawDesc
+)
+
+func file_GetShopmallDataRsp_proto_rawDescGZIP() []byte {
+ file_GetShopmallDataRsp_proto_rawDescOnce.Do(func() {
+ file_GetShopmallDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetShopmallDataRsp_proto_rawDescData)
+ })
+ return file_GetShopmallDataRsp_proto_rawDescData
+}
+
+var file_GetShopmallDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetShopmallDataRsp_proto_goTypes = []interface{}{
+ (*GetShopmallDataRsp)(nil), // 0: proto.GetShopmallDataRsp
+}
+var file_GetShopmallDataRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetShopmallDataRsp_proto_init() }
+func file_GetShopmallDataRsp_proto_init() {
+ if File_GetShopmallDataRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetShopmallDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetShopmallDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetShopmallDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetShopmallDataRsp_proto_goTypes,
+ DependencyIndexes: file_GetShopmallDataRsp_proto_depIdxs,
+ MessageInfos: file_GetShopmallDataRsp_proto_msgTypes,
+ }.Build()
+ File_GetShopmallDataRsp_proto = out.File
+ file_GetShopmallDataRsp_proto_rawDesc = nil
+ file_GetShopmallDataRsp_proto_goTypes = nil
+ file_GetShopmallDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetSignInRewardReq.pb.go b/protocol/proto/GetSignInRewardReq.pb.go
new file mode 100644
index 00000000..e756aa3a
--- /dev/null
+++ b/protocol/proto/GetSignInRewardReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetSignInRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2507
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetSignInRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ RewardDay uint32 `protobuf:"varint,3,opt,name=reward_day,json=rewardDay,proto3" json:"reward_day,omitempty"`
+}
+
+func (x *GetSignInRewardReq) Reset() {
+ *x = GetSignInRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetSignInRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetSignInRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetSignInRewardReq) ProtoMessage() {}
+
+func (x *GetSignInRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetSignInRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetSignInRewardReq.ProtoReflect.Descriptor instead.
+func (*GetSignInRewardReq) Descriptor() ([]byte, []int) {
+ return file_GetSignInRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetSignInRewardReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *GetSignInRewardReq) GetRewardDay() uint32 {
+ if x != nil {
+ return x.RewardDay
+ }
+ return 0
+}
+
+var File_GetSignInRewardReq_proto protoreflect.FileDescriptor
+
+var file_GetSignInRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetSignInRewardReq_proto_rawDescOnce sync.Once
+ file_GetSignInRewardReq_proto_rawDescData = file_GetSignInRewardReq_proto_rawDesc
+)
+
+func file_GetSignInRewardReq_proto_rawDescGZIP() []byte {
+ file_GetSignInRewardReq_proto_rawDescOnce.Do(func() {
+ file_GetSignInRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetSignInRewardReq_proto_rawDescData)
+ })
+ return file_GetSignInRewardReq_proto_rawDescData
+}
+
+var file_GetSignInRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetSignInRewardReq_proto_goTypes = []interface{}{
+ (*GetSignInRewardReq)(nil), // 0: proto.GetSignInRewardReq
+}
+var file_GetSignInRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetSignInRewardReq_proto_init() }
+func file_GetSignInRewardReq_proto_init() {
+ if File_GetSignInRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetSignInRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetSignInRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetSignInRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetSignInRewardReq_proto_goTypes,
+ DependencyIndexes: file_GetSignInRewardReq_proto_depIdxs,
+ MessageInfos: file_GetSignInRewardReq_proto_msgTypes,
+ }.Build()
+ File_GetSignInRewardReq_proto = out.File
+ file_GetSignInRewardReq_proto_rawDesc = nil
+ file_GetSignInRewardReq_proto_goTypes = nil
+ file_GetSignInRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetSignInRewardRsp.pb.go b/protocol/proto/GetSignInRewardRsp.pb.go
new file mode 100644
index 00000000..7c6250e3
--- /dev/null
+++ b/protocol/proto/GetSignInRewardRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetSignInRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2521
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetSignInRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SignInInfo *SignInInfo `protobuf:"bytes,14,opt,name=sign_in_info,json=signInInfo,proto3" json:"sign_in_info,omitempty"`
+}
+
+func (x *GetSignInRewardRsp) Reset() {
+ *x = GetSignInRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetSignInRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetSignInRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetSignInRewardRsp) ProtoMessage() {}
+
+func (x *GetSignInRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetSignInRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetSignInRewardRsp.ProtoReflect.Descriptor instead.
+func (*GetSignInRewardRsp) Descriptor() ([]byte, []int) {
+ return file_GetSignInRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetSignInRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetSignInRewardRsp) GetSignInInfo() *SignInInfo {
+ if x != nil {
+ return x.SignInInfo
+ }
+ return nil
+}
+
+var File_GetSignInRewardRsp_proto protoreflect.FileDescriptor
+
+var file_GetSignInRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x69,
+ 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetSignInRewardRsp_proto_rawDescOnce sync.Once
+ file_GetSignInRewardRsp_proto_rawDescData = file_GetSignInRewardRsp_proto_rawDesc
+)
+
+func file_GetSignInRewardRsp_proto_rawDescGZIP() []byte {
+ file_GetSignInRewardRsp_proto_rawDescOnce.Do(func() {
+ file_GetSignInRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetSignInRewardRsp_proto_rawDescData)
+ })
+ return file_GetSignInRewardRsp_proto_rawDescData
+}
+
+var file_GetSignInRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetSignInRewardRsp_proto_goTypes = []interface{}{
+ (*GetSignInRewardRsp)(nil), // 0: proto.GetSignInRewardRsp
+ (*SignInInfo)(nil), // 1: proto.SignInInfo
+}
+var file_GetSignInRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetSignInRewardRsp.sign_in_info:type_name -> proto.SignInInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetSignInRewardRsp_proto_init() }
+func file_GetSignInRewardRsp_proto_init() {
+ if File_GetSignInRewardRsp_proto != nil {
+ return
+ }
+ file_SignInInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetSignInRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetSignInRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetSignInRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetSignInRewardRsp_proto_goTypes,
+ DependencyIndexes: file_GetSignInRewardRsp_proto_depIdxs,
+ MessageInfos: file_GetSignInRewardRsp_proto_msgTypes,
+ }.Build()
+ File_GetSignInRewardRsp_proto = out.File
+ file_GetSignInRewardRsp_proto_rawDesc = nil
+ file_GetSignInRewardRsp_proto_goTypes = nil
+ file_GetSignInRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetStoreCustomDungeonReq.pb.go b/protocol/proto/GetStoreCustomDungeonReq.pb.go
new file mode 100644
index 00000000..bd451d4f
--- /dev/null
+++ b/protocol/proto/GetStoreCustomDungeonReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetStoreCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6250
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetStoreCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetStoreCustomDungeonReq) Reset() {
+ *x = GetStoreCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetStoreCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetStoreCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetStoreCustomDungeonReq) ProtoMessage() {}
+
+func (x *GetStoreCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetStoreCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetStoreCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*GetStoreCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_GetStoreCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetStoreCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_GetStoreCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x74,
+ 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetStoreCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_GetStoreCustomDungeonReq_proto_rawDescData = file_GetStoreCustomDungeonReq_proto_rawDesc
+)
+
+func file_GetStoreCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_GetStoreCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_GetStoreCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetStoreCustomDungeonReq_proto_rawDescData)
+ })
+ return file_GetStoreCustomDungeonReq_proto_rawDescData
+}
+
+var file_GetStoreCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetStoreCustomDungeonReq_proto_goTypes = []interface{}{
+ (*GetStoreCustomDungeonReq)(nil), // 0: proto.GetStoreCustomDungeonReq
+}
+var file_GetStoreCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetStoreCustomDungeonReq_proto_init() }
+func file_GetStoreCustomDungeonReq_proto_init() {
+ if File_GetStoreCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetStoreCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetStoreCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetStoreCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetStoreCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_GetStoreCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_GetStoreCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_GetStoreCustomDungeonReq_proto = out.File
+ file_GetStoreCustomDungeonReq_proto_rawDesc = nil
+ file_GetStoreCustomDungeonReq_proto_goTypes = nil
+ file_GetStoreCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetStoreCustomDungeonRsp.pb.go b/protocol/proto/GetStoreCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..3a046ace
--- /dev/null
+++ b/protocol/proto/GetStoreCustomDungeonRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetStoreCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6212
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetStoreCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CustomDungeonList []*OtherCustomDungeonBrief `protobuf:"bytes,7,rep,name=custom_dungeon_list,json=customDungeonList,proto3" json:"custom_dungeon_list,omitempty"`
+}
+
+func (x *GetStoreCustomDungeonRsp) Reset() {
+ *x = GetStoreCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetStoreCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetStoreCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetStoreCustomDungeonRsp) ProtoMessage() {}
+
+func (x *GetStoreCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetStoreCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetStoreCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*GetStoreCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_GetStoreCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetStoreCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetStoreCustomDungeonRsp) GetCustomDungeonList() []*OtherCustomDungeonBrief {
+ if x != nil {
+ return x.CustomDungeonList
+ }
+ return nil
+}
+
+var File_GetStoreCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_GetStoreCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x74,
+ 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4e, 0x0a,
+ 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x11, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetStoreCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_GetStoreCustomDungeonRsp_proto_rawDescData = file_GetStoreCustomDungeonRsp_proto_rawDesc
+)
+
+func file_GetStoreCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_GetStoreCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_GetStoreCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetStoreCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_GetStoreCustomDungeonRsp_proto_rawDescData
+}
+
+var file_GetStoreCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetStoreCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*GetStoreCustomDungeonRsp)(nil), // 0: proto.GetStoreCustomDungeonRsp
+ (*OtherCustomDungeonBrief)(nil), // 1: proto.OtherCustomDungeonBrief
+}
+var file_GetStoreCustomDungeonRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetStoreCustomDungeonRsp.custom_dungeon_list:type_name -> proto.OtherCustomDungeonBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetStoreCustomDungeonRsp_proto_init() }
+func file_GetStoreCustomDungeonRsp_proto_init() {
+ if File_GetStoreCustomDungeonRsp_proto != nil {
+ return
+ }
+ file_OtherCustomDungeonBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetStoreCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetStoreCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetStoreCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetStoreCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_GetStoreCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_GetStoreCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_GetStoreCustomDungeonRsp_proto = out.File
+ file_GetStoreCustomDungeonRsp_proto_rawDesc = nil
+ file_GetStoreCustomDungeonRsp_proto_goTypes = nil
+ file_GetStoreCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetUgcBriefInfoReq.pb.go b/protocol/proto/GetUgcBriefInfoReq.pb.go
new file mode 100644
index 00000000..e38f82a9
--- /dev/null
+++ b/protocol/proto/GetUgcBriefInfoReq.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetUgcBriefInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6325
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetUgcBriefInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcGuid uint64 `protobuf:"varint,7,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+ UgcType UgcType `protobuf:"varint,10,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+}
+
+func (x *GetUgcBriefInfoReq) Reset() {
+ *x = GetUgcBriefInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetUgcBriefInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUgcBriefInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUgcBriefInfoReq) ProtoMessage() {}
+
+func (x *GetUgcBriefInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetUgcBriefInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUgcBriefInfoReq.ProtoReflect.Descriptor instead.
+func (*GetUgcBriefInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetUgcBriefInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetUgcBriefInfoReq) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+func (x *GetUgcBriefInfoReq) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+var File_GetUgcBriefInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetUgcBriefInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0d, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x5a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75, 0x69,
+ 0x64, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x07, 0x75, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetUgcBriefInfoReq_proto_rawDescOnce sync.Once
+ file_GetUgcBriefInfoReq_proto_rawDescData = file_GetUgcBriefInfoReq_proto_rawDesc
+)
+
+func file_GetUgcBriefInfoReq_proto_rawDescGZIP() []byte {
+ file_GetUgcBriefInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetUgcBriefInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetUgcBriefInfoReq_proto_rawDescData)
+ })
+ return file_GetUgcBriefInfoReq_proto_rawDescData
+}
+
+var file_GetUgcBriefInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetUgcBriefInfoReq_proto_goTypes = []interface{}{
+ (*GetUgcBriefInfoReq)(nil), // 0: proto.GetUgcBriefInfoReq
+ (UgcType)(0), // 1: proto.UgcType
+}
+var file_GetUgcBriefInfoReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GetUgcBriefInfoReq.ugc_type:type_name -> proto.UgcType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetUgcBriefInfoReq_proto_init() }
+func file_GetUgcBriefInfoReq_proto_init() {
+ if File_GetUgcBriefInfoReq_proto != nil {
+ return
+ }
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetUgcBriefInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetUgcBriefInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetUgcBriefInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetUgcBriefInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetUgcBriefInfoReq_proto_depIdxs,
+ MessageInfos: file_GetUgcBriefInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetUgcBriefInfoReq_proto = out.File
+ file_GetUgcBriefInfoReq_proto_rawDesc = nil
+ file_GetUgcBriefInfoReq_proto_goTypes = nil
+ file_GetUgcBriefInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetUgcBriefInfoRsp.pb.go b/protocol/proto/GetUgcBriefInfoRsp.pb.go
new file mode 100644
index 00000000..6f47345a
--- /dev/null
+++ b/protocol/proto/GetUgcBriefInfoRsp.pb.go
@@ -0,0 +1,227 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetUgcBriefInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6307
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetUgcBriefInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcGuid uint64 `protobuf:"varint,3,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+ UgcType UgcType `protobuf:"varint,11,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ // Types that are assignable to Brief:
+ //
+ // *GetUgcBriefInfoRsp_MusicBriefInfo
+ Brief isGetUgcBriefInfoRsp_Brief `protobuf_oneof:"brief"`
+}
+
+func (x *GetUgcBriefInfoRsp) Reset() {
+ *x = GetUgcBriefInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetUgcBriefInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUgcBriefInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUgcBriefInfoRsp) ProtoMessage() {}
+
+func (x *GetUgcBriefInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetUgcBriefInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUgcBriefInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetUgcBriefInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetUgcBriefInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetUgcBriefInfoRsp) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+func (x *GetUgcBriefInfoRsp) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+func (x *GetUgcBriefInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (m *GetUgcBriefInfoRsp) GetBrief() isGetUgcBriefInfoRsp_Brief {
+ if m != nil {
+ return m.Brief
+ }
+ return nil
+}
+
+func (x *GetUgcBriefInfoRsp) GetMusicBriefInfo() *UgcMusicBriefInfo {
+ if x, ok := x.GetBrief().(*GetUgcBriefInfoRsp_MusicBriefInfo); ok {
+ return x.MusicBriefInfo
+ }
+ return nil
+}
+
+type isGetUgcBriefInfoRsp_Brief interface {
+ isGetUgcBriefInfoRsp_Brief()
+}
+
+type GetUgcBriefInfoRsp_MusicBriefInfo struct {
+ MusicBriefInfo *UgcMusicBriefInfo `protobuf:"bytes,2,opt,name=music_brief_info,json=musicBriefInfo,proto3,oneof"`
+}
+
+func (*GetUgcBriefInfoRsp_MusicBriefInfo) isGetUgcBriefInfoRsp_Brief() {}
+
+var File_GetUgcBriefInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetUgcBriefInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x17, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x55, 0x67, 0x63, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x12, 0x47, 0x65,
+ 0x74, 0x55, 0x67, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70,
+ 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x08, 0x75,
+ 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x75,
+ 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x44, 0x0a, 0x10, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x07, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetUgcBriefInfoRsp_proto_rawDescOnce sync.Once
+ file_GetUgcBriefInfoRsp_proto_rawDescData = file_GetUgcBriefInfoRsp_proto_rawDesc
+)
+
+func file_GetUgcBriefInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetUgcBriefInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetUgcBriefInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetUgcBriefInfoRsp_proto_rawDescData)
+ })
+ return file_GetUgcBriefInfoRsp_proto_rawDescData
+}
+
+var file_GetUgcBriefInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetUgcBriefInfoRsp_proto_goTypes = []interface{}{
+ (*GetUgcBriefInfoRsp)(nil), // 0: proto.GetUgcBriefInfoRsp
+ (UgcType)(0), // 1: proto.UgcType
+ (*UgcMusicBriefInfo)(nil), // 2: proto.UgcMusicBriefInfo
+}
+var file_GetUgcBriefInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetUgcBriefInfoRsp.ugc_type:type_name -> proto.UgcType
+ 2, // 1: proto.GetUgcBriefInfoRsp.music_brief_info:type_name -> proto.UgcMusicBriefInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GetUgcBriefInfoRsp_proto_init() }
+func file_GetUgcBriefInfoRsp_proto_init() {
+ if File_GetUgcBriefInfoRsp_proto != nil {
+ return
+ }
+ file_UgcMusicBriefInfo_proto_init()
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetUgcBriefInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetUgcBriefInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GetUgcBriefInfoRsp_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GetUgcBriefInfoRsp_MusicBriefInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetUgcBriefInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetUgcBriefInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetUgcBriefInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetUgcBriefInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetUgcBriefInfoRsp_proto = out.File
+ file_GetUgcBriefInfoRsp_proto_rawDesc = nil
+ file_GetUgcBriefInfoRsp_proto_goTypes = nil
+ file_GetUgcBriefInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetUgcReq.pb.go b/protocol/proto/GetUgcReq.pb.go
new file mode 100644
index 00000000..6e8d14e3
--- /dev/null
+++ b/protocol/proto/GetUgcReq.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetUgcReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6326
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetUgcReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcType UgcType `protobuf:"varint,8,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+ UgcGuid uint64 `protobuf:"varint,5,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+ UgcRecordUsage RecordUsage `protobuf:"varint,6,opt,name=ugc_record_usage,json=ugcRecordUsage,proto3,enum=proto.RecordUsage" json:"ugc_record_usage,omitempty"`
+ IsRequireBrief bool `protobuf:"varint,11,opt,name=is_require_brief,json=isRequireBrief,proto3" json:"is_require_brief,omitempty"`
+ GetUgcType_ GetUgcType `protobuf:"varint,13,opt,name=get_ugc_type,json=getUgcType,proto3,enum=proto.GetUgcType" json:"get_ugc_type,omitempty"`
+}
+
+func (x *GetUgcReq) Reset() {
+ *x = GetUgcReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetUgcReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUgcReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUgcReq) ProtoMessage() {}
+
+func (x *GetUgcReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetUgcReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUgcReq.ProtoReflect.Descriptor instead.
+func (*GetUgcReq) Descriptor() ([]byte, []int) {
+ return file_GetUgcReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetUgcReq) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+func (x *GetUgcReq) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+func (x *GetUgcReq) GetUgcRecordUsage() RecordUsage {
+ if x != nil {
+ return x.UgcRecordUsage
+ }
+ return RecordUsage_RECORD_USAGE_UGC_RECORD_USAGE_NONE
+}
+
+func (x *GetUgcReq) GetIsRequireBrief() bool {
+ if x != nil {
+ return x.IsRequireBrief
+ }
+ return false
+}
+
+func (x *GetUgcReq) GetGetUgcType_() GetUgcType {
+ if x != nil {
+ return x.GetUgcType_
+ }
+ return GetUgcType_GET_UGC_TYPE_NONE
+}
+
+var File_GetUgcReq_proto protoreflect.FileDescriptor
+
+var file_GetUgcReq_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x55,
+ 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a,
+ 0x09, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x67,
+ 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x75, 0x67,
+ 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75, 0x69, 0x64,
+ 0x12, 0x3c, 0x0a, 0x10, 0x75, 0x67, 0x63, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x75,
+ 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e,
+ 0x75, 0x67, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28,
+ 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x62, 0x72, 0x69,
+ 0x65, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x69, 0x72, 0x65, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x33, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x5f,
+ 0x75, 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GetUgcReq_proto_rawDescOnce sync.Once
+ file_GetUgcReq_proto_rawDescData = file_GetUgcReq_proto_rawDesc
+)
+
+func file_GetUgcReq_proto_rawDescGZIP() []byte {
+ file_GetUgcReq_proto_rawDescOnce.Do(func() {
+ file_GetUgcReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetUgcReq_proto_rawDescData)
+ })
+ return file_GetUgcReq_proto_rawDescData
+}
+
+var file_GetUgcReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetUgcReq_proto_goTypes = []interface{}{
+ (*GetUgcReq)(nil), // 0: proto.GetUgcReq
+ (UgcType)(0), // 1: proto.UgcType
+ (RecordUsage)(0), // 2: proto.RecordUsage
+ (GetUgcType)(0), // 3: proto.GetUgcType
+}
+var file_GetUgcReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GetUgcReq.ugc_type:type_name -> proto.UgcType
+ 2, // 1: proto.GetUgcReq.ugc_record_usage:type_name -> proto.RecordUsage
+ 3, // 2: proto.GetUgcReq.get_ugc_type:type_name -> proto.GetUgcType
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_GetUgcReq_proto_init() }
+func file_GetUgcReq_proto_init() {
+ if File_GetUgcReq_proto != nil {
+ return
+ }
+ file_GetUgcType_proto_init()
+ file_RecordUsage_proto_init()
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetUgcReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetUgcReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetUgcReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetUgcReq_proto_goTypes,
+ DependencyIndexes: file_GetUgcReq_proto_depIdxs,
+ MessageInfos: file_GetUgcReq_proto_msgTypes,
+ }.Build()
+ File_GetUgcReq_proto = out.File
+ file_GetUgcReq_proto_rawDesc = nil
+ file_GetUgcReq_proto_goTypes = nil
+ file_GetUgcReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetUgcRsp.pb.go b/protocol/proto/GetUgcRsp.pb.go
new file mode 100644
index 00000000..91a25072
--- /dev/null
+++ b/protocol/proto/GetUgcRsp.pb.go
@@ -0,0 +1,279 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetUgcRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6318
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetUgcRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcGuid uint64 `protobuf:"varint,15,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+ UgcType UgcType `protobuf:"varint,10,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ UgcRecordUsage RecordUsage `protobuf:"varint,14,opt,name=ugc_record_usage,json=ugcRecordUsage,proto3,enum=proto.RecordUsage" json:"ugc_record_usage,omitempty"`
+ // Types that are assignable to Record:
+ //
+ // *GetUgcRsp_MusicRecord
+ Record isGetUgcRsp_Record `protobuf_oneof:"record"`
+ // Types that are assignable to Brief:
+ //
+ // *GetUgcRsp_MusicBriefInfo
+ Brief isGetUgcRsp_Brief `protobuf_oneof:"brief"`
+}
+
+func (x *GetUgcRsp) Reset() {
+ *x = GetUgcRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetUgcRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetUgcRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetUgcRsp) ProtoMessage() {}
+
+func (x *GetUgcRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetUgcRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetUgcRsp.ProtoReflect.Descriptor instead.
+func (*GetUgcRsp) Descriptor() ([]byte, []int) {
+ return file_GetUgcRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetUgcRsp) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+func (x *GetUgcRsp) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+func (x *GetUgcRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetUgcRsp) GetUgcRecordUsage() RecordUsage {
+ if x != nil {
+ return x.UgcRecordUsage
+ }
+ return RecordUsage_RECORD_USAGE_UGC_RECORD_USAGE_NONE
+}
+
+func (m *GetUgcRsp) GetRecord() isGetUgcRsp_Record {
+ if m != nil {
+ return m.Record
+ }
+ return nil
+}
+
+func (x *GetUgcRsp) GetMusicRecord() *UgcMusicRecord {
+ if x, ok := x.GetRecord().(*GetUgcRsp_MusicRecord); ok {
+ return x.MusicRecord
+ }
+ return nil
+}
+
+func (m *GetUgcRsp) GetBrief() isGetUgcRsp_Brief {
+ if m != nil {
+ return m.Brief
+ }
+ return nil
+}
+
+func (x *GetUgcRsp) GetMusicBriefInfo() *UgcMusicBriefInfo {
+ if x, ok := x.GetBrief().(*GetUgcRsp_MusicBriefInfo); ok {
+ return x.MusicBriefInfo
+ }
+ return nil
+}
+
+type isGetUgcRsp_Record interface {
+ isGetUgcRsp_Record()
+}
+
+type GetUgcRsp_MusicRecord struct {
+ MusicRecord *UgcMusicRecord `protobuf:"bytes,4,opt,name=music_record,json=musicRecord,proto3,oneof"`
+}
+
+func (*GetUgcRsp_MusicRecord) isGetUgcRsp_Record() {}
+
+type isGetUgcRsp_Brief interface {
+ isGetUgcRsp_Brief()
+}
+
+type GetUgcRsp_MusicBriefInfo struct {
+ MusicBriefInfo *UgcMusicBriefInfo `protobuf:"bytes,1819,opt,name=music_brief_info,json=musicBriefInfo,proto3,oneof"`
+}
+
+func (*GetUgcRsp_MusicBriefInfo) isGetUgcRsp_Brief() {}
+
+var File_GetUgcRsp_proto protoreflect.FileDescriptor
+
+var file_GetUgcRsp_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x55, 0x67, 0x63,
+ 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x55, 0x67, 0x63, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x02, 0x0a, 0x09, 0x47, 0x65,
+ 0x74, 0x55, 0x67, 0x63, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x75, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x10, 0x75, 0x67, 0x63, 0x5f, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x75, 0x67, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x12, 0x45, 0x0a, 0x10, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x9b, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x01, 0x52, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetUgcRsp_proto_rawDescOnce sync.Once
+ file_GetUgcRsp_proto_rawDescData = file_GetUgcRsp_proto_rawDesc
+)
+
+func file_GetUgcRsp_proto_rawDescGZIP() []byte {
+ file_GetUgcRsp_proto_rawDescOnce.Do(func() {
+ file_GetUgcRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetUgcRsp_proto_rawDescData)
+ })
+ return file_GetUgcRsp_proto_rawDescData
+}
+
+var file_GetUgcRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetUgcRsp_proto_goTypes = []interface{}{
+ (*GetUgcRsp)(nil), // 0: proto.GetUgcRsp
+ (UgcType)(0), // 1: proto.UgcType
+ (RecordUsage)(0), // 2: proto.RecordUsage
+ (*UgcMusicRecord)(nil), // 3: proto.UgcMusicRecord
+ (*UgcMusicBriefInfo)(nil), // 4: proto.UgcMusicBriefInfo
+}
+var file_GetUgcRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetUgcRsp.ugc_type:type_name -> proto.UgcType
+ 2, // 1: proto.GetUgcRsp.ugc_record_usage:type_name -> proto.RecordUsage
+ 3, // 2: proto.GetUgcRsp.music_record:type_name -> proto.UgcMusicRecord
+ 4, // 3: proto.GetUgcRsp.music_brief_info:type_name -> proto.UgcMusicBriefInfo
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_GetUgcRsp_proto_init() }
+func file_GetUgcRsp_proto_init() {
+ if File_GetUgcRsp_proto != nil {
+ return
+ }
+ file_RecordUsage_proto_init()
+ file_UgcMusicBriefInfo_proto_init()
+ file_UgcMusicRecord_proto_init()
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetUgcRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetUgcRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_GetUgcRsp_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*GetUgcRsp_MusicRecord)(nil),
+ (*GetUgcRsp_MusicBriefInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetUgcRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetUgcRsp_proto_goTypes,
+ DependencyIndexes: file_GetUgcRsp_proto_depIdxs,
+ MessageInfos: file_GetUgcRsp_proto_msgTypes,
+ }.Build()
+ File_GetUgcRsp_proto = out.File
+ file_GetUgcRsp_proto_rawDesc = nil
+ file_GetUgcRsp_proto_goTypes = nil
+ file_GetUgcRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetUgcType.pb.go b/protocol/proto/GetUgcType.pb.go
new file mode 100644
index 00000000..c0c330bc
--- /dev/null
+++ b/protocol/proto/GetUgcType.pb.go
@@ -0,0 +1,149 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetUgcType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GetUgcType int32
+
+const (
+ GetUgcType_GET_UGC_TYPE_NONE GetUgcType = 0
+ GetUgcType_GET_UGC_TYPE_MINE GetUgcType = 1
+ GetUgcType_GET_UGC_TYPE_PUBLISH GetUgcType = 2
+)
+
+// Enum value maps for GetUgcType.
+var (
+ GetUgcType_name = map[int32]string{
+ 0: "GET_UGC_TYPE_NONE",
+ 1: "GET_UGC_TYPE_MINE",
+ 2: "GET_UGC_TYPE_PUBLISH",
+ }
+ GetUgcType_value = map[string]int32{
+ "GET_UGC_TYPE_NONE": 0,
+ "GET_UGC_TYPE_MINE": 1,
+ "GET_UGC_TYPE_PUBLISH": 2,
+ }
+)
+
+func (x GetUgcType) Enum() *GetUgcType {
+ p := new(GetUgcType)
+ *p = x
+ return p
+}
+
+func (x GetUgcType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (GetUgcType) Descriptor() protoreflect.EnumDescriptor {
+ return file_GetUgcType_proto_enumTypes[0].Descriptor()
+}
+
+func (GetUgcType) Type() protoreflect.EnumType {
+ return &file_GetUgcType_proto_enumTypes[0]
+}
+
+func (x GetUgcType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use GetUgcType.Descriptor instead.
+func (GetUgcType) EnumDescriptor() ([]byte, []int) {
+ return file_GetUgcType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetUgcType_proto protoreflect.FileDescriptor
+
+var file_GetUgcType_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x54, 0x0a, 0x0a, 0x47, 0x65, 0x74,
+ 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x45, 0x54, 0x5f, 0x55,
+ 0x47, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x15,
+ 0x0a, 0x11, 0x47, 0x45, 0x54, 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d,
+ 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x45, 0x54, 0x5f, 0x55, 0x47, 0x43,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x02, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetUgcType_proto_rawDescOnce sync.Once
+ file_GetUgcType_proto_rawDescData = file_GetUgcType_proto_rawDesc
+)
+
+func file_GetUgcType_proto_rawDescGZIP() []byte {
+ file_GetUgcType_proto_rawDescOnce.Do(func() {
+ file_GetUgcType_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetUgcType_proto_rawDescData)
+ })
+ return file_GetUgcType_proto_rawDescData
+}
+
+var file_GetUgcType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_GetUgcType_proto_goTypes = []interface{}{
+ (GetUgcType)(0), // 0: proto.GetUgcType
+}
+var file_GetUgcType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetUgcType_proto_init() }
+func file_GetUgcType_proto_init() {
+ if File_GetUgcType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetUgcType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetUgcType_proto_goTypes,
+ DependencyIndexes: file_GetUgcType_proto_depIdxs,
+ EnumInfos: file_GetUgcType_proto_enumTypes,
+ }.Build()
+ File_GetUgcType_proto = out.File
+ file_GetUgcType_proto_rawDesc = nil
+ file_GetUgcType_proto_goTypes = nil
+ file_GetUgcType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetWidgetSlotReq.pb.go b/protocol/proto/GetWidgetSlotReq.pb.go
new file mode 100644
index 00000000..5c00b9a7
--- /dev/null
+++ b/protocol/proto/GetWidgetSlotReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetWidgetSlotReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4253
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetWidgetSlotReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetWidgetSlotReq) Reset() {
+ *x = GetWidgetSlotReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetWidgetSlotReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetWidgetSlotReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetWidgetSlotReq) ProtoMessage() {}
+
+func (x *GetWidgetSlotReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetWidgetSlotReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetWidgetSlotReq.ProtoReflect.Descriptor instead.
+func (*GetWidgetSlotReq) Descriptor() ([]byte, []int) {
+ return file_GetWidgetSlotReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetWidgetSlotReq_proto protoreflect.FileDescriptor
+
+var file_GetWidgetSlotReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetWidgetSlotReq_proto_rawDescOnce sync.Once
+ file_GetWidgetSlotReq_proto_rawDescData = file_GetWidgetSlotReq_proto_rawDesc
+)
+
+func file_GetWidgetSlotReq_proto_rawDescGZIP() []byte {
+ file_GetWidgetSlotReq_proto_rawDescOnce.Do(func() {
+ file_GetWidgetSlotReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetWidgetSlotReq_proto_rawDescData)
+ })
+ return file_GetWidgetSlotReq_proto_rawDescData
+}
+
+var file_GetWidgetSlotReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetWidgetSlotReq_proto_goTypes = []interface{}{
+ (*GetWidgetSlotReq)(nil), // 0: proto.GetWidgetSlotReq
+}
+var file_GetWidgetSlotReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetWidgetSlotReq_proto_init() }
+func file_GetWidgetSlotReq_proto_init() {
+ if File_GetWidgetSlotReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetWidgetSlotReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetWidgetSlotReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetWidgetSlotReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetWidgetSlotReq_proto_goTypes,
+ DependencyIndexes: file_GetWidgetSlotReq_proto_depIdxs,
+ MessageInfos: file_GetWidgetSlotReq_proto_msgTypes,
+ }.Build()
+ File_GetWidgetSlotReq_proto = out.File
+ file_GetWidgetSlotReq_proto_rawDesc = nil
+ file_GetWidgetSlotReq_proto_goTypes = nil
+ file_GetWidgetSlotReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetWidgetSlotRsp.pb.go b/protocol/proto/GetWidgetSlotRsp.pb.go
new file mode 100644
index 00000000..64d7e9b6
--- /dev/null
+++ b/protocol/proto/GetWidgetSlotRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetWidgetSlotRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4254
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetWidgetSlotRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlotList []*WidgetSlotData `protobuf:"bytes,13,rep,name=slot_list,json=slotList,proto3" json:"slot_list,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GetWidgetSlotRsp) Reset() {
+ *x = GetWidgetSlotRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetWidgetSlotRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetWidgetSlotRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetWidgetSlotRsp) ProtoMessage() {}
+
+func (x *GetWidgetSlotRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetWidgetSlotRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetWidgetSlotRsp.ProtoReflect.Descriptor instead.
+func (*GetWidgetSlotRsp) Descriptor() ([]byte, []int) {
+ return file_GetWidgetSlotRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetWidgetSlotRsp) GetSlotList() []*WidgetSlotData {
+ if x != nil {
+ return x.SlotList
+ }
+ return nil
+}
+
+func (x *GetWidgetSlotRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GetWidgetSlotRsp_proto protoreflect.FileDescriptor
+
+var file_GetWidgetSlotRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x65, 0x74, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x57, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x09, 0x73, 0x6c, 0x6f,
+ 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetWidgetSlotRsp_proto_rawDescOnce sync.Once
+ file_GetWidgetSlotRsp_proto_rawDescData = file_GetWidgetSlotRsp_proto_rawDesc
+)
+
+func file_GetWidgetSlotRsp_proto_rawDescGZIP() []byte {
+ file_GetWidgetSlotRsp_proto_rawDescOnce.Do(func() {
+ file_GetWidgetSlotRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetWidgetSlotRsp_proto_rawDescData)
+ })
+ return file_GetWidgetSlotRsp_proto_rawDescData
+}
+
+var file_GetWidgetSlotRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetWidgetSlotRsp_proto_goTypes = []interface{}{
+ (*GetWidgetSlotRsp)(nil), // 0: proto.GetWidgetSlotRsp
+ (*WidgetSlotData)(nil), // 1: proto.WidgetSlotData
+}
+var file_GetWidgetSlotRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.GetWidgetSlotRsp.slot_list:type_name -> proto.WidgetSlotData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GetWidgetSlotRsp_proto_init() }
+func file_GetWidgetSlotRsp_proto_init() {
+ if File_GetWidgetSlotRsp_proto != nil {
+ return
+ }
+ file_WidgetSlotData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GetWidgetSlotRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetWidgetSlotRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetWidgetSlotRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetWidgetSlotRsp_proto_goTypes,
+ DependencyIndexes: file_GetWidgetSlotRsp_proto_depIdxs,
+ MessageInfos: file_GetWidgetSlotRsp_proto_msgTypes,
+ }.Build()
+ File_GetWidgetSlotRsp_proto = out.File
+ file_GetWidgetSlotRsp_proto_rawDesc = nil
+ file_GetWidgetSlotRsp_proto_goTypes = nil
+ file_GetWidgetSlotRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetWorldMpInfoReq.pb.go b/protocol/proto/GetWorldMpInfoReq.pb.go
new file mode 100644
index 00000000..5b551c57
--- /dev/null
+++ b/protocol/proto/GetWorldMpInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetWorldMpInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3391
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GetWorldMpInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetWorldMpInfoReq) Reset() {
+ *x = GetWorldMpInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetWorldMpInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetWorldMpInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetWorldMpInfoReq) ProtoMessage() {}
+
+func (x *GetWorldMpInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GetWorldMpInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetWorldMpInfoReq.ProtoReflect.Descriptor instead.
+func (*GetWorldMpInfoReq) Descriptor() ([]byte, []int) {
+ return file_GetWorldMpInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GetWorldMpInfoReq_proto protoreflect.FileDescriptor
+
+var file_GetWorldMpInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x70, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x70, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetWorldMpInfoReq_proto_rawDescOnce sync.Once
+ file_GetWorldMpInfoReq_proto_rawDescData = file_GetWorldMpInfoReq_proto_rawDesc
+)
+
+func file_GetWorldMpInfoReq_proto_rawDescGZIP() []byte {
+ file_GetWorldMpInfoReq_proto_rawDescOnce.Do(func() {
+ file_GetWorldMpInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetWorldMpInfoReq_proto_rawDescData)
+ })
+ return file_GetWorldMpInfoReq_proto_rawDescData
+}
+
+var file_GetWorldMpInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetWorldMpInfoReq_proto_goTypes = []interface{}{
+ (*GetWorldMpInfoReq)(nil), // 0: proto.GetWorldMpInfoReq
+}
+var file_GetWorldMpInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetWorldMpInfoReq_proto_init() }
+func file_GetWorldMpInfoReq_proto_init() {
+ if File_GetWorldMpInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetWorldMpInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetWorldMpInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetWorldMpInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetWorldMpInfoReq_proto_goTypes,
+ DependencyIndexes: file_GetWorldMpInfoReq_proto_depIdxs,
+ MessageInfos: file_GetWorldMpInfoReq_proto_msgTypes,
+ }.Build()
+ File_GetWorldMpInfoReq_proto = out.File
+ file_GetWorldMpInfoReq_proto_rawDesc = nil
+ file_GetWorldMpInfoReq_proto_goTypes = nil
+ file_GetWorldMpInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GetWorldMpInfoRsp.pb.go b/protocol/proto/GetWorldMpInfoRsp.pb.go
new file mode 100644
index 00000000..390f4685
--- /dev/null
+++ b/protocol/proto/GetWorldMpInfoRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GetWorldMpInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3320
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GetWorldMpInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsInMpMode bool `protobuf:"varint,1,opt,name=is_in_mp_mode,json=isInMpMode,proto3" json:"is_in_mp_mode,omitempty"`
+ QuitMpValidTime uint32 `protobuf:"varint,9,opt,name=quit_mp_valid_time,json=quitMpValidTime,proto3" json:"quit_mp_valid_time,omitempty"`
+}
+
+func (x *GetWorldMpInfoRsp) Reset() {
+ *x = GetWorldMpInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GetWorldMpInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GetWorldMpInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetWorldMpInfoRsp) ProtoMessage() {}
+
+func (x *GetWorldMpInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GetWorldMpInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetWorldMpInfoRsp.ProtoReflect.Descriptor instead.
+func (*GetWorldMpInfoRsp) Descriptor() ([]byte, []int) {
+ return file_GetWorldMpInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GetWorldMpInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GetWorldMpInfoRsp) GetIsInMpMode() bool {
+ if x != nil {
+ return x.IsInMpMode
+ }
+ return false
+}
+
+func (x *GetWorldMpInfoRsp) GetQuitMpValidTime() uint32 {
+ if x != nil {
+ return x.QuitMpValidTime
+ }
+ return 0
+}
+
+var File_GetWorldMpInfoRsp_proto protoreflect.FileDescriptor
+
+var file_GetWorldMpInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x70, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x7d, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4d, 0x70, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x21, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x70, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x4d, 0x70, 0x4d, 0x6f,
+ 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x71, 0x75, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x5f, 0x76, 0x61,
+ 0x6c, 0x69, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x71, 0x75, 0x69, 0x74, 0x4d, 0x70, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GetWorldMpInfoRsp_proto_rawDescOnce sync.Once
+ file_GetWorldMpInfoRsp_proto_rawDescData = file_GetWorldMpInfoRsp_proto_rawDesc
+)
+
+func file_GetWorldMpInfoRsp_proto_rawDescGZIP() []byte {
+ file_GetWorldMpInfoRsp_proto_rawDescOnce.Do(func() {
+ file_GetWorldMpInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GetWorldMpInfoRsp_proto_rawDescData)
+ })
+ return file_GetWorldMpInfoRsp_proto_rawDescData
+}
+
+var file_GetWorldMpInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GetWorldMpInfoRsp_proto_goTypes = []interface{}{
+ (*GetWorldMpInfoRsp)(nil), // 0: proto.GetWorldMpInfoRsp
+}
+var file_GetWorldMpInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GetWorldMpInfoRsp_proto_init() }
+func file_GetWorldMpInfoRsp_proto_init() {
+ if File_GetWorldMpInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GetWorldMpInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetWorldMpInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GetWorldMpInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GetWorldMpInfoRsp_proto_goTypes,
+ DependencyIndexes: file_GetWorldMpInfoRsp_proto_depIdxs,
+ MessageInfos: file_GetWorldMpInfoRsp_proto_msgTypes,
+ }.Build()
+ File_GetWorldMpInfoRsp_proto = out.File
+ file_GetWorldMpInfoRsp_proto_rawDesc = nil
+ file_GetWorldMpInfoRsp_proto_goTypes = nil
+ file_GetWorldMpInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GiveUpRoguelikeDungeonCardReq.pb.go b/protocol/proto/GiveUpRoguelikeDungeonCardReq.pb.go
new file mode 100644
index 00000000..846db198
--- /dev/null
+++ b/protocol/proto/GiveUpRoguelikeDungeonCardReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GiveUpRoguelikeDungeonCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8353
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GiveUpRoguelikeDungeonCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GiveUpRoguelikeDungeonCardReq) Reset() {
+ *x = GiveUpRoguelikeDungeonCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GiveUpRoguelikeDungeonCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GiveUpRoguelikeDungeonCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GiveUpRoguelikeDungeonCardReq) ProtoMessage() {}
+
+func (x *GiveUpRoguelikeDungeonCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GiveUpRoguelikeDungeonCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GiveUpRoguelikeDungeonCardReq.ProtoReflect.Descriptor instead.
+func (*GiveUpRoguelikeDungeonCardReq) Descriptor() ([]byte, []int) {
+ return file_GiveUpRoguelikeDungeonCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_GiveUpRoguelikeDungeonCardReq_proto protoreflect.FileDescriptor
+
+var file_GiveUpRoguelikeDungeonCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x69, 0x76, 0x65, 0x55, 0x70, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b,
+ 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x1d,
+ 0x47, 0x69, 0x76, 0x65, 0x55, 0x70, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GiveUpRoguelikeDungeonCardReq_proto_rawDescOnce sync.Once
+ file_GiveUpRoguelikeDungeonCardReq_proto_rawDescData = file_GiveUpRoguelikeDungeonCardReq_proto_rawDesc
+)
+
+func file_GiveUpRoguelikeDungeonCardReq_proto_rawDescGZIP() []byte {
+ file_GiveUpRoguelikeDungeonCardReq_proto_rawDescOnce.Do(func() {
+ file_GiveUpRoguelikeDungeonCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GiveUpRoguelikeDungeonCardReq_proto_rawDescData)
+ })
+ return file_GiveUpRoguelikeDungeonCardReq_proto_rawDescData
+}
+
+var file_GiveUpRoguelikeDungeonCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GiveUpRoguelikeDungeonCardReq_proto_goTypes = []interface{}{
+ (*GiveUpRoguelikeDungeonCardReq)(nil), // 0: proto.GiveUpRoguelikeDungeonCardReq
+}
+var file_GiveUpRoguelikeDungeonCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GiveUpRoguelikeDungeonCardReq_proto_init() }
+func file_GiveUpRoguelikeDungeonCardReq_proto_init() {
+ if File_GiveUpRoguelikeDungeonCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GiveUpRoguelikeDungeonCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GiveUpRoguelikeDungeonCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GiveUpRoguelikeDungeonCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GiveUpRoguelikeDungeonCardReq_proto_goTypes,
+ DependencyIndexes: file_GiveUpRoguelikeDungeonCardReq_proto_depIdxs,
+ MessageInfos: file_GiveUpRoguelikeDungeonCardReq_proto_msgTypes,
+ }.Build()
+ File_GiveUpRoguelikeDungeonCardReq_proto = out.File
+ file_GiveUpRoguelikeDungeonCardReq_proto_rawDesc = nil
+ file_GiveUpRoguelikeDungeonCardReq_proto_goTypes = nil
+ file_GiveUpRoguelikeDungeonCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GiveUpRoguelikeDungeonCardRsp.pb.go b/protocol/proto/GiveUpRoguelikeDungeonCardRsp.pb.go
new file mode 100644
index 00000000..4c02a00a
--- /dev/null
+++ b/protocol/proto/GiveUpRoguelikeDungeonCardRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GiveUpRoguelikeDungeonCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8497
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GiveUpRoguelikeDungeonCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GiveUpRoguelikeDungeonCardRsp) Reset() {
+ *x = GiveUpRoguelikeDungeonCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GiveUpRoguelikeDungeonCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GiveUpRoguelikeDungeonCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GiveUpRoguelikeDungeonCardRsp) ProtoMessage() {}
+
+func (x *GiveUpRoguelikeDungeonCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GiveUpRoguelikeDungeonCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GiveUpRoguelikeDungeonCardRsp.ProtoReflect.Descriptor instead.
+func (*GiveUpRoguelikeDungeonCardRsp) Descriptor() ([]byte, []int) {
+ return file_GiveUpRoguelikeDungeonCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GiveUpRoguelikeDungeonCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GiveUpRoguelikeDungeonCardRsp_proto protoreflect.FileDescriptor
+
+var file_GiveUpRoguelikeDungeonCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x69, 0x76, 0x65, 0x55, 0x70, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b,
+ 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1d,
+ 0x47, 0x69, 0x76, 0x65, 0x55, 0x70, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GiveUpRoguelikeDungeonCardRsp_proto_rawDescOnce sync.Once
+ file_GiveUpRoguelikeDungeonCardRsp_proto_rawDescData = file_GiveUpRoguelikeDungeonCardRsp_proto_rawDesc
+)
+
+func file_GiveUpRoguelikeDungeonCardRsp_proto_rawDescGZIP() []byte {
+ file_GiveUpRoguelikeDungeonCardRsp_proto_rawDescOnce.Do(func() {
+ file_GiveUpRoguelikeDungeonCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GiveUpRoguelikeDungeonCardRsp_proto_rawDescData)
+ })
+ return file_GiveUpRoguelikeDungeonCardRsp_proto_rawDescData
+}
+
+var file_GiveUpRoguelikeDungeonCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GiveUpRoguelikeDungeonCardRsp_proto_goTypes = []interface{}{
+ (*GiveUpRoguelikeDungeonCardRsp)(nil), // 0: proto.GiveUpRoguelikeDungeonCardRsp
+}
+var file_GiveUpRoguelikeDungeonCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GiveUpRoguelikeDungeonCardRsp_proto_init() }
+func file_GiveUpRoguelikeDungeonCardRsp_proto_init() {
+ if File_GiveUpRoguelikeDungeonCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GiveUpRoguelikeDungeonCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GiveUpRoguelikeDungeonCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GiveUpRoguelikeDungeonCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GiveUpRoguelikeDungeonCardRsp_proto_goTypes,
+ DependencyIndexes: file_GiveUpRoguelikeDungeonCardRsp_proto_depIdxs,
+ MessageInfos: file_GiveUpRoguelikeDungeonCardRsp_proto_msgTypes,
+ }.Build()
+ File_GiveUpRoguelikeDungeonCardRsp_proto = out.File
+ file_GiveUpRoguelikeDungeonCardRsp_proto_rawDesc = nil
+ file_GiveUpRoguelikeDungeonCardRsp_proto_goTypes = nil
+ file_GiveUpRoguelikeDungeonCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GivingRecord.pb.go b/protocol/proto/GivingRecord.pb.go
new file mode 100644
index 00000000..a9252252
--- /dev/null
+++ b/protocol/proto/GivingRecord.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GivingRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GivingRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinished bool `protobuf:"varint,9,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ GroupId uint32 `protobuf:"varint,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ IsGadgetGiving bool `protobuf:"varint,8,opt,name=is_gadget_giving,json=isGadgetGiving,proto3" json:"is_gadget_giving,omitempty"`
+ GivingId uint32 `protobuf:"varint,3,opt,name=giving_id,json=givingId,proto3" json:"giving_id,omitempty"`
+ LastGroupId uint32 `protobuf:"varint,6,opt,name=last_group_id,json=lastGroupId,proto3" json:"last_group_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,2,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ MaterialCntMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=material_cnt_map,json=materialCntMap,proto3" json:"material_cnt_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GivingRecord) Reset() {
+ *x = GivingRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GivingRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GivingRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GivingRecord) ProtoMessage() {}
+
+func (x *GivingRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_GivingRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GivingRecord.ProtoReflect.Descriptor instead.
+func (*GivingRecord) Descriptor() ([]byte, []int) {
+ return file_GivingRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GivingRecord) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *GivingRecord) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *GivingRecord) GetIsGadgetGiving() bool {
+ if x != nil {
+ return x.IsGadgetGiving
+ }
+ return false
+}
+
+func (x *GivingRecord) GetGivingId() uint32 {
+ if x != nil {
+ return x.GivingId
+ }
+ return 0
+}
+
+func (x *GivingRecord) GetLastGroupId() uint32 {
+ if x != nil {
+ return x.LastGroupId
+ }
+ return 0
+}
+
+func (x *GivingRecord) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *GivingRecord) GetMaterialCntMap() map[uint32]uint32 {
+ if x != nil {
+ return x.MaterialCntMap
+ }
+ return nil
+}
+
+var File_GivingRecord_proto protoreflect.FileDescriptor
+
+var file_GivingRecord_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x02, 0x0a, 0x0c,
+ 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x19, 0x0a,
+ 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x67,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x47, 0x69, 0x76, 0x69,
+ 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12,
+ 0x22, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64,
+ 0x12, 0x51, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6e, 0x74,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e,
+ 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6e, 0x74,
+ 0x4d, 0x61, 0x70, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43,
+ 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GivingRecord_proto_rawDescOnce sync.Once
+ file_GivingRecord_proto_rawDescData = file_GivingRecord_proto_rawDesc
+)
+
+func file_GivingRecord_proto_rawDescGZIP() []byte {
+ file_GivingRecord_proto_rawDescOnce.Do(func() {
+ file_GivingRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_GivingRecord_proto_rawDescData)
+ })
+ return file_GivingRecord_proto_rawDescData
+}
+
+var file_GivingRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GivingRecord_proto_goTypes = []interface{}{
+ (*GivingRecord)(nil), // 0: proto.GivingRecord
+ nil, // 1: proto.GivingRecord.MaterialCntMapEntry
+}
+var file_GivingRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.GivingRecord.material_cnt_map:type_name -> proto.GivingRecord.MaterialCntMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GivingRecord_proto_init() }
+func file_GivingRecord_proto_init() {
+ if File_GivingRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GivingRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GivingRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GivingRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GivingRecord_proto_goTypes,
+ DependencyIndexes: file_GivingRecord_proto_depIdxs,
+ MessageInfos: file_GivingRecord_proto_msgTypes,
+ }.Build()
+ File_GivingRecord_proto = out.File
+ file_GivingRecord_proto_rawDesc = nil
+ file_GivingRecord_proto_goTypes = nil
+ file_GivingRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GivingRecordChangeNotify.pb.go b/protocol/proto/GivingRecordChangeNotify.pb.go
new file mode 100644
index 00000000..a1a3dba2
--- /dev/null
+++ b/protocol/proto/GivingRecordChangeNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GivingRecordChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 187
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GivingRecordChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsDeactive bool `protobuf:"varint,11,opt,name=is_deactive,json=isDeactive,proto3" json:"is_deactive,omitempty"`
+ GivingRecord *GivingRecord `protobuf:"bytes,15,opt,name=giving_record,json=givingRecord,proto3" json:"giving_record,omitempty"`
+}
+
+func (x *GivingRecordChangeNotify) Reset() {
+ *x = GivingRecordChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GivingRecordChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GivingRecordChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GivingRecordChangeNotify) ProtoMessage() {}
+
+func (x *GivingRecordChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GivingRecordChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GivingRecordChangeNotify.ProtoReflect.Descriptor instead.
+func (*GivingRecordChangeNotify) Descriptor() ([]byte, []int) {
+ return file_GivingRecordChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GivingRecordChangeNotify) GetIsDeactive() bool {
+ if x != nil {
+ return x.IsDeactive
+ }
+ return false
+}
+
+func (x *GivingRecordChangeNotify) GetGivingRecord() *GivingRecord {
+ if x != nil {
+ return x.GivingRecord
+ }
+ return nil
+}
+
+var File_GivingRecordChangeNotify_proto protoreflect.FileDescriptor
+
+var file_GivingRecordChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x18, 0x47,
+ 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x64, 0x65,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73,
+ 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x67, 0x69, 0x76, 0x69,
+ 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0c, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GivingRecordChangeNotify_proto_rawDescOnce sync.Once
+ file_GivingRecordChangeNotify_proto_rawDescData = file_GivingRecordChangeNotify_proto_rawDesc
+)
+
+func file_GivingRecordChangeNotify_proto_rawDescGZIP() []byte {
+ file_GivingRecordChangeNotify_proto_rawDescOnce.Do(func() {
+ file_GivingRecordChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GivingRecordChangeNotify_proto_rawDescData)
+ })
+ return file_GivingRecordChangeNotify_proto_rawDescData
+}
+
+var file_GivingRecordChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GivingRecordChangeNotify_proto_goTypes = []interface{}{
+ (*GivingRecordChangeNotify)(nil), // 0: proto.GivingRecordChangeNotify
+ (*GivingRecord)(nil), // 1: proto.GivingRecord
+}
+var file_GivingRecordChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GivingRecordChangeNotify.giving_record:type_name -> proto.GivingRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GivingRecordChangeNotify_proto_init() }
+func file_GivingRecordChangeNotify_proto_init() {
+ if File_GivingRecordChangeNotify_proto != nil {
+ return
+ }
+ file_GivingRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GivingRecordChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GivingRecordChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GivingRecordChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GivingRecordChangeNotify_proto_goTypes,
+ DependencyIndexes: file_GivingRecordChangeNotify_proto_depIdxs,
+ MessageInfos: file_GivingRecordChangeNotify_proto_msgTypes,
+ }.Build()
+ File_GivingRecordChangeNotify_proto = out.File
+ file_GivingRecordChangeNotify_proto_rawDesc = nil
+ file_GivingRecordChangeNotify_proto_goTypes = nil
+ file_GivingRecordChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GivingRecordNotify.pb.go b/protocol/proto/GivingRecordNotify.pb.go
new file mode 100644
index 00000000..4236755b
--- /dev/null
+++ b/protocol/proto/GivingRecordNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GivingRecordNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 116
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GivingRecordNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GivingRecordList []*GivingRecord `protobuf:"bytes,14,rep,name=giving_record_list,json=givingRecordList,proto3" json:"giving_record_list,omitempty"`
+}
+
+func (x *GivingRecordNotify) Reset() {
+ *x = GivingRecordNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GivingRecordNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GivingRecordNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GivingRecordNotify) ProtoMessage() {}
+
+func (x *GivingRecordNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GivingRecordNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GivingRecordNotify.ProtoReflect.Descriptor instead.
+func (*GivingRecordNotify) Descriptor() ([]byte, []int) {
+ return file_GivingRecordNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GivingRecordNotify) GetGivingRecordList() []*GivingRecord {
+ if x != nil {
+ return x.GivingRecordList
+ }
+ return nil
+}
+
+var File_GivingRecordNotify_proto protoreflect.FileDescriptor
+
+var file_GivingRecordNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x12, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x41, 0x0a, 0x12, 0x67,
+ 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x10, 0x67, 0x69,
+ 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GivingRecordNotify_proto_rawDescOnce sync.Once
+ file_GivingRecordNotify_proto_rawDescData = file_GivingRecordNotify_proto_rawDesc
+)
+
+func file_GivingRecordNotify_proto_rawDescGZIP() []byte {
+ file_GivingRecordNotify_proto_rawDescOnce.Do(func() {
+ file_GivingRecordNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GivingRecordNotify_proto_rawDescData)
+ })
+ return file_GivingRecordNotify_proto_rawDescData
+}
+
+var file_GivingRecordNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GivingRecordNotify_proto_goTypes = []interface{}{
+ (*GivingRecordNotify)(nil), // 0: proto.GivingRecordNotify
+ (*GivingRecord)(nil), // 1: proto.GivingRecord
+}
+var file_GivingRecordNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GivingRecordNotify.giving_record_list:type_name -> proto.GivingRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GivingRecordNotify_proto_init() }
+func file_GivingRecordNotify_proto_init() {
+ if File_GivingRecordNotify_proto != nil {
+ return
+ }
+ file_GivingRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GivingRecordNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GivingRecordNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GivingRecordNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GivingRecordNotify_proto_goTypes,
+ DependencyIndexes: file_GivingRecordNotify_proto_depIdxs,
+ MessageInfos: file_GivingRecordNotify_proto_msgTypes,
+ }.Build()
+ File_GivingRecordNotify_proto = out.File
+ file_GivingRecordNotify_proto_rawDesc = nil
+ file_GivingRecordNotify_proto_goTypes = nil
+ file_GivingRecordNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GlobalBuildingInfoNotify.pb.go b/protocol/proto/GlobalBuildingInfoNotify.pb.go
new file mode 100644
index 00000000..44875869
--- /dev/null
+++ b/protocol/proto/GlobalBuildingInfoNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GlobalBuildingInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5320
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GlobalBuildingInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurrentNum uint32 `protobuf:"varint,5,opt,name=current_num,json=currentNum,proto3" json:"current_num,omitempty"`
+ BuildingList []*BuildingInfo `protobuf:"bytes,3,rep,name=building_list,json=buildingList,proto3" json:"building_list,omitempty"`
+ MaxNum uint32 `protobuf:"varint,13,opt,name=max_num,json=maxNum,proto3" json:"max_num,omitempty"`
+}
+
+func (x *GlobalBuildingInfoNotify) Reset() {
+ *x = GlobalBuildingInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GlobalBuildingInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GlobalBuildingInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GlobalBuildingInfoNotify) ProtoMessage() {}
+
+func (x *GlobalBuildingInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GlobalBuildingInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GlobalBuildingInfoNotify.ProtoReflect.Descriptor instead.
+func (*GlobalBuildingInfoNotify) Descriptor() ([]byte, []int) {
+ return file_GlobalBuildingInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GlobalBuildingInfoNotify) GetCurrentNum() uint32 {
+ if x != nil {
+ return x.CurrentNum
+ }
+ return 0
+}
+
+func (x *GlobalBuildingInfoNotify) GetBuildingList() []*BuildingInfo {
+ if x != nil {
+ return x.BuildingList
+ }
+ return nil
+}
+
+func (x *GlobalBuildingInfoNotify) GetMaxNum() uint32 {
+ if x != nil {
+ return x.MaxNum
+ }
+ return 0
+}
+
+var File_GlobalBuildingInfoNotify_proto protoreflect.FileDescriptor
+
+var file_GlobalBuildingInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e,
+ 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x18,
+ 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72,
+ 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x38, 0x0a, 0x0d, 0x62, 0x75, 0x69,
+ 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e,
+ 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GlobalBuildingInfoNotify_proto_rawDescOnce sync.Once
+ file_GlobalBuildingInfoNotify_proto_rawDescData = file_GlobalBuildingInfoNotify_proto_rawDesc
+)
+
+func file_GlobalBuildingInfoNotify_proto_rawDescGZIP() []byte {
+ file_GlobalBuildingInfoNotify_proto_rawDescOnce.Do(func() {
+ file_GlobalBuildingInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GlobalBuildingInfoNotify_proto_rawDescData)
+ })
+ return file_GlobalBuildingInfoNotify_proto_rawDescData
+}
+
+var file_GlobalBuildingInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GlobalBuildingInfoNotify_proto_goTypes = []interface{}{
+ (*GlobalBuildingInfoNotify)(nil), // 0: proto.GlobalBuildingInfoNotify
+ (*BuildingInfo)(nil), // 1: proto.BuildingInfo
+}
+var file_GlobalBuildingInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GlobalBuildingInfoNotify.building_list:type_name -> proto.BuildingInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GlobalBuildingInfoNotify_proto_init() }
+func file_GlobalBuildingInfoNotify_proto_init() {
+ if File_GlobalBuildingInfoNotify_proto != nil {
+ return
+ }
+ file_BuildingInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GlobalBuildingInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GlobalBuildingInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GlobalBuildingInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GlobalBuildingInfoNotify_proto_goTypes,
+ DependencyIndexes: file_GlobalBuildingInfoNotify_proto_depIdxs,
+ MessageInfos: file_GlobalBuildingInfoNotify_proto_msgTypes,
+ }.Build()
+ File_GlobalBuildingInfoNotify_proto = out.File
+ file_GlobalBuildingInfoNotify_proto_rawDesc = nil
+ file_GlobalBuildingInfoNotify_proto_goTypes = nil
+ file_GlobalBuildingInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GmTalkNotify.pb.go b/protocol/proto/GmTalkNotify.pb.go
new file mode 100644
index 00000000..7b0eb201
--- /dev/null
+++ b/protocol/proto/GmTalkNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GmTalkNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 94
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GmTalkNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Msg string `protobuf:"bytes,5,opt,name=msg,proto3" json:"msg,omitempty"`
+}
+
+func (x *GmTalkNotify) Reset() {
+ *x = GmTalkNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GmTalkNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GmTalkNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GmTalkNotify) ProtoMessage() {}
+
+func (x *GmTalkNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GmTalkNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GmTalkNotify.ProtoReflect.Descriptor instead.
+func (*GmTalkNotify) Descriptor() ([]byte, []int) {
+ return file_GmTalkNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GmTalkNotify) GetMsg() string {
+ if x != nil {
+ return x.Msg
+ }
+ return ""
+}
+
+var File_GmTalkNotify_proto protoreflect.FileDescriptor
+
+var file_GmTalkNotify_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x47, 0x6d, 0x54, 0x61, 0x6c, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a, 0x0c, 0x47,
+ 0x6d, 0x54, 0x61, 0x6c, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6d,
+ 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_GmTalkNotify_proto_rawDescOnce sync.Once
+ file_GmTalkNotify_proto_rawDescData = file_GmTalkNotify_proto_rawDesc
+)
+
+func file_GmTalkNotify_proto_rawDescGZIP() []byte {
+ file_GmTalkNotify_proto_rawDescOnce.Do(func() {
+ file_GmTalkNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GmTalkNotify_proto_rawDescData)
+ })
+ return file_GmTalkNotify_proto_rawDescData
+}
+
+var file_GmTalkNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GmTalkNotify_proto_goTypes = []interface{}{
+ (*GmTalkNotify)(nil), // 0: proto.GmTalkNotify
+}
+var file_GmTalkNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GmTalkNotify_proto_init() }
+func file_GmTalkNotify_proto_init() {
+ if File_GmTalkNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GmTalkNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GmTalkNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GmTalkNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GmTalkNotify_proto_goTypes,
+ DependencyIndexes: file_GmTalkNotify_proto_depIdxs,
+ MessageInfos: file_GmTalkNotify_proto_msgTypes,
+ }.Build()
+ File_GmTalkNotify_proto = out.File
+ file_GmTalkNotify_proto_rawDesc = nil
+ file_GmTalkNotify_proto_goTypes = nil
+ file_GmTalkNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GmTalkReq.pb.go b/protocol/proto/GmTalkReq.pb.go
new file mode 100644
index 00000000..2a9d6261
--- /dev/null
+++ b/protocol/proto/GmTalkReq.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GmTalkReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 98
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GmTalkReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Msg string `protobuf:"bytes,13,opt,name=msg,proto3" json:"msg,omitempty"`
+}
+
+func (x *GmTalkReq) Reset() {
+ *x = GmTalkReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GmTalkReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GmTalkReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GmTalkReq) ProtoMessage() {}
+
+func (x *GmTalkReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GmTalkReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GmTalkReq.ProtoReflect.Descriptor instead.
+func (*GmTalkReq) Descriptor() ([]byte, []int) {
+ return file_GmTalkReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GmTalkReq) GetMsg() string {
+ if x != nil {
+ return x.Msg
+ }
+ return ""
+}
+
+var File_GmTalkReq_proto protoreflect.FileDescriptor
+
+var file_GmTalkReq_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x47, 0x6d, 0x54, 0x61, 0x6c, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x09, 0x47, 0x6d, 0x54, 0x61,
+ 0x6c, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GmTalkReq_proto_rawDescOnce sync.Once
+ file_GmTalkReq_proto_rawDescData = file_GmTalkReq_proto_rawDesc
+)
+
+func file_GmTalkReq_proto_rawDescGZIP() []byte {
+ file_GmTalkReq_proto_rawDescOnce.Do(func() {
+ file_GmTalkReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GmTalkReq_proto_rawDescData)
+ })
+ return file_GmTalkReq_proto_rawDescData
+}
+
+var file_GmTalkReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GmTalkReq_proto_goTypes = []interface{}{
+ (*GmTalkReq)(nil), // 0: proto.GmTalkReq
+}
+var file_GmTalkReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GmTalkReq_proto_init() }
+func file_GmTalkReq_proto_init() {
+ if File_GmTalkReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GmTalkReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GmTalkReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GmTalkReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GmTalkReq_proto_goTypes,
+ DependencyIndexes: file_GmTalkReq_proto_depIdxs,
+ MessageInfos: file_GmTalkReq_proto_msgTypes,
+ }.Build()
+ File_GmTalkReq_proto = out.File
+ file_GmTalkReq_proto_rawDesc = nil
+ file_GmTalkReq_proto_goTypes = nil
+ file_GmTalkReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GmTalkRsp.pb.go b/protocol/proto/GmTalkRsp.pb.go
new file mode 100644
index 00000000..8aef6fa4
--- /dev/null
+++ b/protocol/proto/GmTalkRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GmTalkRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 12
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GmTalkRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Retmsg string `protobuf:"bytes,3,opt,name=retmsg,proto3" json:"retmsg,omitempty"`
+ Msg string `protobuf:"bytes,13,opt,name=msg,proto3" json:"msg,omitempty"`
+}
+
+func (x *GmTalkRsp) Reset() {
+ *x = GmTalkRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GmTalkRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GmTalkRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GmTalkRsp) ProtoMessage() {}
+
+func (x *GmTalkRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GmTalkRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GmTalkRsp.ProtoReflect.Descriptor instead.
+func (*GmTalkRsp) Descriptor() ([]byte, []int) {
+ return file_GmTalkRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GmTalkRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GmTalkRsp) GetRetmsg() string {
+ if x != nil {
+ return x.Retmsg
+ }
+ return ""
+}
+
+func (x *GmTalkRsp) GetMsg() string {
+ if x != nil {
+ return x.Msg
+ }
+ return ""
+}
+
+var File_GmTalkRsp_proto protoreflect.FileDescriptor
+
+var file_GmTalkRsp_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x47, 0x6d, 0x54, 0x61, 0x6c, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x09, 0x47, 0x6d, 0x54, 0x61,
+ 0x6c, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x16, 0x0a, 0x06, 0x72, 0x65, 0x74, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x72, 0x65, 0x74, 0x6d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GmTalkRsp_proto_rawDescOnce sync.Once
+ file_GmTalkRsp_proto_rawDescData = file_GmTalkRsp_proto_rawDesc
+)
+
+func file_GmTalkRsp_proto_rawDescGZIP() []byte {
+ file_GmTalkRsp_proto_rawDescOnce.Do(func() {
+ file_GmTalkRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GmTalkRsp_proto_rawDescData)
+ })
+ return file_GmTalkRsp_proto_rawDescData
+}
+
+var file_GmTalkRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GmTalkRsp_proto_goTypes = []interface{}{
+ (*GmTalkRsp)(nil), // 0: proto.GmTalkRsp
+}
+var file_GmTalkRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GmTalkRsp_proto_init() }
+func file_GmTalkRsp_proto_init() {
+ if File_GmTalkRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GmTalkRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GmTalkRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GmTalkRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GmTalkRsp_proto_goTypes,
+ DependencyIndexes: file_GmTalkRsp_proto_depIdxs,
+ MessageInfos: file_GmTalkRsp_proto_msgTypes,
+ }.Build()
+ File_GmTalkRsp_proto = out.File
+ file_GmTalkRsp_proto_rawDesc = nil
+ file_GmTalkRsp_proto_goTypes = nil
+ file_GmTalkRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GrantRewardNotify.pb.go b/protocol/proto/GrantRewardNotify.pb.go
new file mode 100644
index 00000000..db1114bd
--- /dev/null
+++ b/protocol/proto/GrantRewardNotify.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GrantRewardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 663
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GrantRewardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reward *Reward `protobuf:"bytes,6,opt,name=reward,proto3" json:"reward,omitempty"`
+}
+
+func (x *GrantRewardNotify) Reset() {
+ *x = GrantRewardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GrantRewardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GrantRewardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GrantRewardNotify) ProtoMessage() {}
+
+func (x *GrantRewardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GrantRewardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GrantRewardNotify.ProtoReflect.Descriptor instead.
+func (*GrantRewardNotify) Descriptor() ([]byte, []int) {
+ return file_GrantRewardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GrantRewardNotify) GetReward() *Reward {
+ if x != nil {
+ return x.Reward
+ }
+ return nil
+}
+
+var File_GrantRewardNotify_proto protoreflect.FileDescriptor
+
+var file_GrantRewardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a,
+ 0x0a, 0x11, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x25, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GrantRewardNotify_proto_rawDescOnce sync.Once
+ file_GrantRewardNotify_proto_rawDescData = file_GrantRewardNotify_proto_rawDesc
+)
+
+func file_GrantRewardNotify_proto_rawDescGZIP() []byte {
+ file_GrantRewardNotify_proto_rawDescOnce.Do(func() {
+ file_GrantRewardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GrantRewardNotify_proto_rawDescData)
+ })
+ return file_GrantRewardNotify_proto_rawDescData
+}
+
+var file_GrantRewardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GrantRewardNotify_proto_goTypes = []interface{}{
+ (*GrantRewardNotify)(nil), // 0: proto.GrantRewardNotify
+ (*Reward)(nil), // 1: proto.Reward
+}
+var file_GrantRewardNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GrantRewardNotify.reward:type_name -> proto.Reward
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GrantRewardNotify_proto_init() }
+func file_GrantRewardNotify_proto_init() {
+ if File_GrantRewardNotify_proto != nil {
+ return
+ }
+ file_Reward_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GrantRewardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GrantRewardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GrantRewardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GrantRewardNotify_proto_goTypes,
+ DependencyIndexes: file_GrantRewardNotify_proto_depIdxs,
+ MessageInfos: file_GrantRewardNotify_proto_msgTypes,
+ }.Build()
+ File_GrantRewardNotify_proto = out.File
+ file_GrantRewardNotify_proto_rawDesc = nil
+ file_GrantRewardNotify_proto_goTypes = nil
+ file_GrantRewardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceCampInfo.pb.go b/protocol/proto/GravenInnocenceCampInfo.pb.go
new file mode 100644
index 00000000..b548121c
--- /dev/null
+++ b/protocol/proto/GravenInnocenceCampInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceCampInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocenceCampInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageInfoList []*GravenInnocenceCampStageInfo `protobuf:"bytes,5,rep,name=stage_info_list,json=stageInfoList,proto3" json:"stage_info_list,omitempty"`
+}
+
+func (x *GravenInnocenceCampInfo) Reset() {
+ *x = GravenInnocenceCampInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceCampInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceCampInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceCampInfo) ProtoMessage() {}
+
+func (x *GravenInnocenceCampInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceCampInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceCampInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceCampInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceCampInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceCampInfo) GetStageInfoList() []*GravenInnocenceCampStageInfo {
+ if x != nil {
+ return x.StageInfoList
+ }
+ return nil
+}
+
+var File_GravenInnocenceCampInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceCampInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e,
+ 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x17, 0x47, 0x72,
+ 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x6d,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e,
+ 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceCampInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocenceCampInfo_proto_rawDescData = file_GravenInnocenceCampInfo_proto_rawDesc
+)
+
+func file_GravenInnocenceCampInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceCampInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceCampInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceCampInfo_proto_rawDescData)
+ })
+ return file_GravenInnocenceCampInfo_proto_rawDescData
+}
+
+var file_GravenInnocenceCampInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceCampInfo_proto_goTypes = []interface{}{
+ (*GravenInnocenceCampInfo)(nil), // 0: proto.GravenInnocenceCampInfo
+ (*GravenInnocenceCampStageInfo)(nil), // 1: proto.GravenInnocenceCampStageInfo
+}
+var file_GravenInnocenceCampInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GravenInnocenceCampInfo.stage_info_list:type_name -> proto.GravenInnocenceCampStageInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceCampInfo_proto_init() }
+func file_GravenInnocenceCampInfo_proto_init() {
+ if File_GravenInnocenceCampInfo_proto != nil {
+ return
+ }
+ file_GravenInnocenceCampStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceCampInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceCampInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceCampInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceCampInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceCampInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceCampInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceCampInfo_proto = out.File
+ file_GravenInnocenceCampInfo_proto_rawDesc = nil
+ file_GravenInnocenceCampInfo_proto_goTypes = nil
+ file_GravenInnocenceCampInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceCampStageInfo.pb.go b/protocol/proto/GravenInnocenceCampStageInfo.pb.go
new file mode 100644
index 00000000..bfa1f785
--- /dev/null
+++ b/protocol/proto/GravenInnocenceCampStageInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceCampStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocenceCampStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,15,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ LevelId uint32 `protobuf:"varint,10,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsFinished bool `protobuf:"varint,3,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+}
+
+func (x *GravenInnocenceCampStageInfo) Reset() {
+ *x = GravenInnocenceCampStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceCampStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceCampStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceCampStageInfo) ProtoMessage() {}
+
+func (x *GravenInnocenceCampStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceCampStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceCampStageInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceCampStageInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceCampStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceCampStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *GravenInnocenceCampStageInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *GravenInnocenceCampStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *GravenInnocenceCampStageInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+var File_GravenInnocenceCampStageInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceCampStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x1c,
+ 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43,
+ 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07,
+ 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
+ 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69,
+ 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceCampStageInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocenceCampStageInfo_proto_rawDescData = file_GravenInnocenceCampStageInfo_proto_rawDesc
+)
+
+func file_GravenInnocenceCampStageInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceCampStageInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceCampStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceCampStageInfo_proto_rawDescData)
+ })
+ return file_GravenInnocenceCampStageInfo_proto_rawDescData
+}
+
+var file_GravenInnocenceCampStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceCampStageInfo_proto_goTypes = []interface{}{
+ (*GravenInnocenceCampStageInfo)(nil), // 0: proto.GravenInnocenceCampStageInfo
+}
+var file_GravenInnocenceCampStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceCampStageInfo_proto_init() }
+func file_GravenInnocenceCampStageInfo_proto_init() {
+ if File_GravenInnocenceCampStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceCampStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceCampStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceCampStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceCampStageInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceCampStageInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceCampStageInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceCampStageInfo_proto = out.File
+ file_GravenInnocenceCampStageInfo_proto_rawDesc = nil
+ file_GravenInnocenceCampStageInfo_proto_goTypes = nil
+ file_GravenInnocenceCampStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceCarveInfo.pb.go b/protocol/proto/GravenInnocenceCarveInfo.pb.go
new file mode 100644
index 00000000..27650bdd
--- /dev/null
+++ b/protocol/proto/GravenInnocenceCarveInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceCarveInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocenceCarveInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageInfoList []*GravenInnocenceCarveStageInfo `protobuf:"bytes,10,rep,name=stage_info_list,json=stageInfoList,proto3" json:"stage_info_list,omitempty"`
+ CanEditCount uint32 `protobuf:"varint,7,opt,name=can_edit_count,json=canEditCount,proto3" json:"can_edit_count,omitempty"`
+ HasEditConfigIdList []uint32 `protobuf:"varint,6,rep,packed,name=has_edit_config_id_list,json=hasEditConfigIdList,proto3" json:"has_edit_config_id_list,omitempty"`
+}
+
+func (x *GravenInnocenceCarveInfo) Reset() {
+ *x = GravenInnocenceCarveInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceCarveInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceCarveInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceCarveInfo) ProtoMessage() {}
+
+func (x *GravenInnocenceCarveInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceCarveInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceCarveInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceCarveInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceCarveInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceCarveInfo) GetStageInfoList() []*GravenInnocenceCarveStageInfo {
+ if x != nil {
+ return x.StageInfoList
+ }
+ return nil
+}
+
+func (x *GravenInnocenceCarveInfo) GetCanEditCount() uint32 {
+ if x != nil {
+ return x.CanEditCount
+ }
+ return 0
+}
+
+func (x *GravenInnocenceCarveInfo) GetHasEditConfigIdList() []uint32 {
+ if x != nil {
+ return x.HasEditConfigIdList
+ }
+ return nil
+}
+
+var File_GravenInnocenceCarveInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceCarveInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x43, 0x61, 0x72, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49,
+ 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x72, 0x76, 0x65, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x01, 0x0a,
+ 0x18, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65,
+ 0x43, 0x61, 0x72, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x76, 0x65,
+ 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x72, 0x76, 0x65, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x65,
+ 0x64, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x63, 0x61, 0x6e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a,
+ 0x17, 0x68, 0x61, 0x73, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13,
+ 0x68, 0x61, 0x73, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceCarveInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocenceCarveInfo_proto_rawDescData = file_GravenInnocenceCarveInfo_proto_rawDesc
+)
+
+func file_GravenInnocenceCarveInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceCarveInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceCarveInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceCarveInfo_proto_rawDescData)
+ })
+ return file_GravenInnocenceCarveInfo_proto_rawDescData
+}
+
+var file_GravenInnocenceCarveInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceCarveInfo_proto_goTypes = []interface{}{
+ (*GravenInnocenceCarveInfo)(nil), // 0: proto.GravenInnocenceCarveInfo
+ (*GravenInnocenceCarveStageInfo)(nil), // 1: proto.GravenInnocenceCarveStageInfo
+}
+var file_GravenInnocenceCarveInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GravenInnocenceCarveInfo.stage_info_list:type_name -> proto.GravenInnocenceCarveStageInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceCarveInfo_proto_init() }
+func file_GravenInnocenceCarveInfo_proto_init() {
+ if File_GravenInnocenceCarveInfo_proto != nil {
+ return
+ }
+ file_GravenInnocenceCarveStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceCarveInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceCarveInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceCarveInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceCarveInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceCarveInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceCarveInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceCarveInfo_proto = out.File
+ file_GravenInnocenceCarveInfo_proto_rawDesc = nil
+ file_GravenInnocenceCarveInfo_proto_goTypes = nil
+ file_GravenInnocenceCarveInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceCarveStageInfo.pb.go b/protocol/proto/GravenInnocenceCarveStageInfo.pb.go
new file mode 100644
index 00000000..b97d19a0
--- /dev/null
+++ b/protocol/proto/GravenInnocenceCarveStageInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceCarveStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocenceCarveStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsOpen bool `protobuf:"varint,1,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *GravenInnocenceCarveStageInfo) Reset() {
+ *x = GravenInnocenceCarveStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceCarveStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceCarveStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceCarveStageInfo) ProtoMessage() {}
+
+func (x *GravenInnocenceCarveStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceCarveStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceCarveStageInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceCarveStageInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceCarveStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceCarveStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *GravenInnocenceCarveStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_GravenInnocenceCarveStageInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceCarveStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x43, 0x61, 0x72, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1d,
+ 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43,
+ 0x61, 0x72, 0x76, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f,
+ 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65,
+ 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceCarveStageInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocenceCarveStageInfo_proto_rawDescData = file_GravenInnocenceCarveStageInfo_proto_rawDesc
+)
+
+func file_GravenInnocenceCarveStageInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceCarveStageInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceCarveStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceCarveStageInfo_proto_rawDescData)
+ })
+ return file_GravenInnocenceCarveStageInfo_proto_rawDescData
+}
+
+var file_GravenInnocenceCarveStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceCarveStageInfo_proto_goTypes = []interface{}{
+ (*GravenInnocenceCarveStageInfo)(nil), // 0: proto.GravenInnocenceCarveStageInfo
+}
+var file_GravenInnocenceCarveStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceCarveStageInfo_proto_init() }
+func file_GravenInnocenceCarveStageInfo_proto_init() {
+ if File_GravenInnocenceCarveStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceCarveStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceCarveStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceCarveStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceCarveStageInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceCarveStageInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceCarveStageInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceCarveStageInfo_proto = out.File
+ file_GravenInnocenceCarveStageInfo_proto_rawDesc = nil
+ file_GravenInnocenceCarveStageInfo_proto_goTypes = nil
+ file_GravenInnocenceCarveStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceDetailInfo.pb.go b/protocol/proto/GravenInnocenceDetailInfo.pb.go
new file mode 100644
index 00000000..2ca82090
--- /dev/null
+++ b/protocol/proto/GravenInnocenceDetailInfo.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocenceDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsContentClosed bool `protobuf:"varint,8,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ RaceInfo *GravenInnocenceRaceInfo `protobuf:"bytes,10,opt,name=race_info,json=raceInfo,proto3" json:"race_info,omitempty"`
+ PhotoInfo *GravenInnocencePhotoInfo `protobuf:"bytes,7,opt,name=photo_info,json=photoInfo,proto3" json:"photo_info,omitempty"`
+ CarveInfo *GravenInnocenceCarveInfo `protobuf:"bytes,13,opt,name=carve_info,json=carveInfo,proto3" json:"carve_info,omitempty"`
+ CampInfo *GravenInnocenceCampInfo `protobuf:"bytes,12,opt,name=camp_info,json=campInfo,proto3" json:"camp_info,omitempty"`
+}
+
+func (x *GravenInnocenceDetailInfo) Reset() {
+ *x = GravenInnocenceDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceDetailInfo) ProtoMessage() {}
+
+func (x *GravenInnocenceDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceDetailInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceDetailInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *GravenInnocenceDetailInfo) GetRaceInfo() *GravenInnocenceRaceInfo {
+ if x != nil {
+ return x.RaceInfo
+ }
+ return nil
+}
+
+func (x *GravenInnocenceDetailInfo) GetPhotoInfo() *GravenInnocencePhotoInfo {
+ if x != nil {
+ return x.PhotoInfo
+ }
+ return nil
+}
+
+func (x *GravenInnocenceDetailInfo) GetCarveInfo() *GravenInnocenceCarveInfo {
+ if x != nil {
+ return x.CarveInfo
+ }
+ return nil
+}
+
+func (x *GravenInnocenceDetailInfo) GetCampInfo() *GravenInnocenceCampInfo {
+ if x != nil {
+ return x.CampInfo
+ }
+ return nil
+}
+
+var File_GravenInnocenceDetailInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e,
+ 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49,
+ 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x72, 0x76, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49,
+ 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49,
+ 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x02, 0x0a, 0x19, 0x47, 0x72, 0x61, 0x76, 0x65,
+ 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64,
+ 0x12, 0x3b, 0x0a, 0x09, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x76,
+ 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x63, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a,
+ 0x0a, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e,
+ 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x09, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3e, 0x0a,
+ 0x0a, 0x63, 0x61, 0x72, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e,
+ 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x72, 0x76, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x09, 0x63, 0x61, 0x72, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a,
+ 0x09, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49,
+ 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x08, 0x63, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceDetailInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocenceDetailInfo_proto_rawDescData = file_GravenInnocenceDetailInfo_proto_rawDesc
+)
+
+func file_GravenInnocenceDetailInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceDetailInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceDetailInfo_proto_rawDescData)
+ })
+ return file_GravenInnocenceDetailInfo_proto_rawDescData
+}
+
+var file_GravenInnocenceDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceDetailInfo_proto_goTypes = []interface{}{
+ (*GravenInnocenceDetailInfo)(nil), // 0: proto.GravenInnocenceDetailInfo
+ (*GravenInnocenceRaceInfo)(nil), // 1: proto.GravenInnocenceRaceInfo
+ (*GravenInnocencePhotoInfo)(nil), // 2: proto.GravenInnocencePhotoInfo
+ (*GravenInnocenceCarveInfo)(nil), // 3: proto.GravenInnocenceCarveInfo
+ (*GravenInnocenceCampInfo)(nil), // 4: proto.GravenInnocenceCampInfo
+}
+var file_GravenInnocenceDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GravenInnocenceDetailInfo.race_info:type_name -> proto.GravenInnocenceRaceInfo
+ 2, // 1: proto.GravenInnocenceDetailInfo.photo_info:type_name -> proto.GravenInnocencePhotoInfo
+ 3, // 2: proto.GravenInnocenceDetailInfo.carve_info:type_name -> proto.GravenInnocenceCarveInfo
+ 4, // 3: proto.GravenInnocenceDetailInfo.camp_info:type_name -> proto.GravenInnocenceCampInfo
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceDetailInfo_proto_init() }
+func file_GravenInnocenceDetailInfo_proto_init() {
+ if File_GravenInnocenceDetailInfo_proto != nil {
+ return
+ }
+ file_GravenInnocenceCampInfo_proto_init()
+ file_GravenInnocenceCarveInfo_proto_init()
+ file_GravenInnocencePhotoInfo_proto_init()
+ file_GravenInnocenceRaceInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceDetailInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceDetailInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceDetailInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceDetailInfo_proto = out.File
+ file_GravenInnocenceDetailInfo_proto_rawDesc = nil
+ file_GravenInnocenceDetailInfo_proto_goTypes = nil
+ file_GravenInnocenceDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceEditCarveCombinationReq.pb.go b/protocol/proto/GravenInnocenceEditCarveCombinationReq.pb.go
new file mode 100644
index 00000000..ce4f5e38
--- /dev/null
+++ b/protocol/proto/GravenInnocenceEditCarveCombinationReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceEditCarveCombinationReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GravenInnocenceEditCarveCombinationReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ CombinationInfo *CustomGadgetTreeInfo `protobuf:"bytes,11,opt,name=combination_info,json=combinationInfo,proto3" json:"combination_info,omitempty"`
+}
+
+func (x *GravenInnocenceEditCarveCombinationReq) Reset() {
+ *x = GravenInnocenceEditCarveCombinationReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceEditCarveCombinationReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceEditCarveCombinationReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceEditCarveCombinationReq) ProtoMessage() {}
+
+func (x *GravenInnocenceEditCarveCombinationReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceEditCarveCombinationReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceEditCarveCombinationReq.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceEditCarveCombinationReq) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceEditCarveCombinationReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceEditCarveCombinationReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *GravenInnocenceEditCarveCombinationReq) GetCombinationInfo() *CustomGadgetTreeInfo {
+ if x != nil {
+ return x.CombinationInfo
+ }
+ return nil
+}
+
+var File_GravenInnocenceEditCarveCombinationReq_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceEditCarveCombinationReq_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x45, 0x64, 0x69, 0x74, 0x43, 0x61, 0x72, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x26, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f,
+ 0x63, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x64, 0x69, 0x74, 0x43, 0x61, 0x72, 0x76, 0x65, 0x43, 0x6f,
+ 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x63, 0x6f, 0x6d,
+ 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceEditCarveCombinationReq_proto_rawDescOnce sync.Once
+ file_GravenInnocenceEditCarveCombinationReq_proto_rawDescData = file_GravenInnocenceEditCarveCombinationReq_proto_rawDesc
+)
+
+func file_GravenInnocenceEditCarveCombinationReq_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceEditCarveCombinationReq_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceEditCarveCombinationReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceEditCarveCombinationReq_proto_rawDescData)
+ })
+ return file_GravenInnocenceEditCarveCombinationReq_proto_rawDescData
+}
+
+var file_GravenInnocenceEditCarveCombinationReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceEditCarveCombinationReq_proto_goTypes = []interface{}{
+ (*GravenInnocenceEditCarveCombinationReq)(nil), // 0: proto.GravenInnocenceEditCarveCombinationReq
+ (*CustomGadgetTreeInfo)(nil), // 1: proto.CustomGadgetTreeInfo
+}
+var file_GravenInnocenceEditCarveCombinationReq_proto_depIdxs = []int32{
+ 1, // 0: proto.GravenInnocenceEditCarveCombinationReq.combination_info:type_name -> proto.CustomGadgetTreeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceEditCarveCombinationReq_proto_init() }
+func file_GravenInnocenceEditCarveCombinationReq_proto_init() {
+ if File_GravenInnocenceEditCarveCombinationReq_proto != nil {
+ return
+ }
+ file_CustomGadgetTreeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceEditCarveCombinationReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceEditCarveCombinationReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceEditCarveCombinationReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceEditCarveCombinationReq_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceEditCarveCombinationReq_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceEditCarveCombinationReq_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceEditCarveCombinationReq_proto = out.File
+ file_GravenInnocenceEditCarveCombinationReq_proto_rawDesc = nil
+ file_GravenInnocenceEditCarveCombinationReq_proto_goTypes = nil
+ file_GravenInnocenceEditCarveCombinationReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceEditCarveCombinationRsp.pb.go b/protocol/proto/GravenInnocenceEditCarveCombinationRsp.pb.go
new file mode 100644
index 00000000..617d8f97
--- /dev/null
+++ b/protocol/proto/GravenInnocenceEditCarveCombinationRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceEditCarveCombinationRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20702
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GravenInnocenceEditCarveCombinationRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GravenInnocenceEditCarveCombinationRsp) Reset() {
+ *x = GravenInnocenceEditCarveCombinationRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceEditCarveCombinationRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceEditCarveCombinationRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceEditCarveCombinationRsp) ProtoMessage() {}
+
+func (x *GravenInnocenceEditCarveCombinationRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceEditCarveCombinationRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceEditCarveCombinationRsp.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceEditCarveCombinationRsp) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceEditCarveCombinationRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceEditCarveCombinationRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GravenInnocenceEditCarveCombinationRsp_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceEditCarveCombinationRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x45, 0x64, 0x69, 0x74, 0x43, 0x61, 0x72, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x26, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49,
+ 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x64, 0x69, 0x74, 0x43, 0x61, 0x72, 0x76,
+ 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceEditCarveCombinationRsp_proto_rawDescOnce sync.Once
+ file_GravenInnocenceEditCarveCombinationRsp_proto_rawDescData = file_GravenInnocenceEditCarveCombinationRsp_proto_rawDesc
+)
+
+func file_GravenInnocenceEditCarveCombinationRsp_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceEditCarveCombinationRsp_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceEditCarveCombinationRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceEditCarveCombinationRsp_proto_rawDescData)
+ })
+ return file_GravenInnocenceEditCarveCombinationRsp_proto_rawDescData
+}
+
+var file_GravenInnocenceEditCarveCombinationRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceEditCarveCombinationRsp_proto_goTypes = []interface{}{
+ (*GravenInnocenceEditCarveCombinationRsp)(nil), // 0: proto.GravenInnocenceEditCarveCombinationRsp
+}
+var file_GravenInnocenceEditCarveCombinationRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceEditCarveCombinationRsp_proto_init() }
+func file_GravenInnocenceEditCarveCombinationRsp_proto_init() {
+ if File_GravenInnocenceEditCarveCombinationRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceEditCarveCombinationRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceEditCarveCombinationRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceEditCarveCombinationRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceEditCarveCombinationRsp_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceEditCarveCombinationRsp_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceEditCarveCombinationRsp_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceEditCarveCombinationRsp_proto = out.File
+ file_GravenInnocenceEditCarveCombinationRsp_proto_rawDesc = nil
+ file_GravenInnocenceEditCarveCombinationRsp_proto_goTypes = nil
+ file_GravenInnocenceEditCarveCombinationRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocencePhotoFinishReq.pb.go b/protocol/proto/GravenInnocencePhotoFinishReq.pb.go
new file mode 100644
index 00000000..08f57db1
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoFinishReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocencePhotoFinishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21750
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GravenInnocencePhotoFinishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param uint32 `protobuf:"varint,1,opt,name=param,proto3" json:"param,omitempty"`
+ ObjectId uint32 `protobuf:"varint,4,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
+}
+
+func (x *GravenInnocencePhotoFinishReq) Reset() {
+ *x = GravenInnocencePhotoFinishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocencePhotoFinishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocencePhotoFinishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocencePhotoFinishReq) ProtoMessage() {}
+
+func (x *GravenInnocencePhotoFinishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocencePhotoFinishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocencePhotoFinishReq.ProtoReflect.Descriptor instead.
+func (*GravenInnocencePhotoFinishReq) Descriptor() ([]byte, []int) {
+ return file_GravenInnocencePhotoFinishReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocencePhotoFinishReq) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *GravenInnocencePhotoFinishReq) GetObjectId() uint32 {
+ if x != nil {
+ return x.ObjectId
+ }
+ return 0
+}
+
+var File_GravenInnocencePhotoFinishReq_proto protoreflect.FileDescriptor
+
+var file_GravenInnocencePhotoFinishReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x1d,
+ 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50,
+ 0x68, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a,
+ 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocencePhotoFinishReq_proto_rawDescOnce sync.Once
+ file_GravenInnocencePhotoFinishReq_proto_rawDescData = file_GravenInnocencePhotoFinishReq_proto_rawDesc
+)
+
+func file_GravenInnocencePhotoFinishReq_proto_rawDescGZIP() []byte {
+ file_GravenInnocencePhotoFinishReq_proto_rawDescOnce.Do(func() {
+ file_GravenInnocencePhotoFinishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocencePhotoFinishReq_proto_rawDescData)
+ })
+ return file_GravenInnocencePhotoFinishReq_proto_rawDescData
+}
+
+var file_GravenInnocencePhotoFinishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocencePhotoFinishReq_proto_goTypes = []interface{}{
+ (*GravenInnocencePhotoFinishReq)(nil), // 0: proto.GravenInnocencePhotoFinishReq
+}
+var file_GravenInnocencePhotoFinishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocencePhotoFinishReq_proto_init() }
+func file_GravenInnocencePhotoFinishReq_proto_init() {
+ if File_GravenInnocencePhotoFinishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocencePhotoFinishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocencePhotoFinishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocencePhotoFinishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocencePhotoFinishReq_proto_goTypes,
+ DependencyIndexes: file_GravenInnocencePhotoFinishReq_proto_depIdxs,
+ MessageInfos: file_GravenInnocencePhotoFinishReq_proto_msgTypes,
+ }.Build()
+ File_GravenInnocencePhotoFinishReq_proto = out.File
+ file_GravenInnocencePhotoFinishReq_proto_rawDesc = nil
+ file_GravenInnocencePhotoFinishReq_proto_goTypes = nil
+ file_GravenInnocencePhotoFinishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocencePhotoFinishRsp.pb.go b/protocol/proto/GravenInnocencePhotoFinishRsp.pb.go
new file mode 100644
index 00000000..104a3875
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoFinishRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocencePhotoFinishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23948
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GravenInnocencePhotoFinishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ObjectId uint32 `protobuf:"varint,6,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
+ Param uint32 `protobuf:"varint,11,opt,name=param,proto3" json:"param,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *GravenInnocencePhotoFinishRsp) Reset() {
+ *x = GravenInnocencePhotoFinishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocencePhotoFinishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocencePhotoFinishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocencePhotoFinishRsp) ProtoMessage() {}
+
+func (x *GravenInnocencePhotoFinishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocencePhotoFinishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocencePhotoFinishRsp.ProtoReflect.Descriptor instead.
+func (*GravenInnocencePhotoFinishRsp) Descriptor() ([]byte, []int) {
+ return file_GravenInnocencePhotoFinishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocencePhotoFinishRsp) GetObjectId() uint32 {
+ if x != nil {
+ return x.ObjectId
+ }
+ return 0
+}
+
+func (x *GravenInnocencePhotoFinishRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *GravenInnocencePhotoFinishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_GravenInnocencePhotoFinishRsp_proto protoreflect.FileDescriptor
+
+var file_GravenInnocencePhotoFinishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x1d,
+ 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50,
+ 0x68, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a,
+ 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocencePhotoFinishRsp_proto_rawDescOnce sync.Once
+ file_GravenInnocencePhotoFinishRsp_proto_rawDescData = file_GravenInnocencePhotoFinishRsp_proto_rawDesc
+)
+
+func file_GravenInnocencePhotoFinishRsp_proto_rawDescGZIP() []byte {
+ file_GravenInnocencePhotoFinishRsp_proto_rawDescOnce.Do(func() {
+ file_GravenInnocencePhotoFinishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocencePhotoFinishRsp_proto_rawDescData)
+ })
+ return file_GravenInnocencePhotoFinishRsp_proto_rawDescData
+}
+
+var file_GravenInnocencePhotoFinishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocencePhotoFinishRsp_proto_goTypes = []interface{}{
+ (*GravenInnocencePhotoFinishRsp)(nil), // 0: proto.GravenInnocencePhotoFinishRsp
+}
+var file_GravenInnocencePhotoFinishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocencePhotoFinishRsp_proto_init() }
+func file_GravenInnocencePhotoFinishRsp_proto_init() {
+ if File_GravenInnocencePhotoFinishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocencePhotoFinishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocencePhotoFinishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocencePhotoFinishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocencePhotoFinishRsp_proto_goTypes,
+ DependencyIndexes: file_GravenInnocencePhotoFinishRsp_proto_depIdxs,
+ MessageInfos: file_GravenInnocencePhotoFinishRsp_proto_msgTypes,
+ }.Build()
+ File_GravenInnocencePhotoFinishRsp_proto = out.File
+ file_GravenInnocencePhotoFinishRsp_proto_rawDesc = nil
+ file_GravenInnocencePhotoFinishRsp_proto_goTypes = nil
+ file_GravenInnocencePhotoFinishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocencePhotoInfo.pb.go b/protocol/proto/GravenInnocencePhotoInfo.pb.go
new file mode 100644
index 00000000..597cfaa4
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoInfo.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocencePhotoInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocencePhotoInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageInfoList []*GravenInnocencePhotoStageInfo `protobuf:"bytes,5,rep,name=stage_info_list,json=stageInfoList,proto3" json:"stage_info_list,omitempty"`
+ ObjectInfoList []*GravenInnocencePhotoObjectInfo `protobuf:"bytes,7,rep,name=object_info_list,json=objectInfoList,proto3" json:"object_info_list,omitempty"`
+}
+
+func (x *GravenInnocencePhotoInfo) Reset() {
+ *x = GravenInnocencePhotoInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocencePhotoInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocencePhotoInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocencePhotoInfo) ProtoMessage() {}
+
+func (x *GravenInnocencePhotoInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocencePhotoInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocencePhotoInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocencePhotoInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocencePhotoInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocencePhotoInfo) GetStageInfoList() []*GravenInnocencePhotoStageInfo {
+ if x != nil {
+ return x.StageInfoList
+ }
+ return nil
+}
+
+func (x *GravenInnocencePhotoInfo) GetObjectInfoList() []*GravenInnocencePhotoObjectInfo {
+ if x != nil {
+ return x.ObjectInfoList
+ }
+ return nil
+}
+
+var File_GravenInnocencePhotoInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocencePhotoInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49,
+ 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x47,
+ 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x68,
+ 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x18, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e,
+ 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x4c, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65,
+ 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4f, 0x0a,
+ 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50,
+ 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e,
+ 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocencePhotoInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocencePhotoInfo_proto_rawDescData = file_GravenInnocencePhotoInfo_proto_rawDesc
+)
+
+func file_GravenInnocencePhotoInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocencePhotoInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocencePhotoInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocencePhotoInfo_proto_rawDescData)
+ })
+ return file_GravenInnocencePhotoInfo_proto_rawDescData
+}
+
+var file_GravenInnocencePhotoInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocencePhotoInfo_proto_goTypes = []interface{}{
+ (*GravenInnocencePhotoInfo)(nil), // 0: proto.GravenInnocencePhotoInfo
+ (*GravenInnocencePhotoStageInfo)(nil), // 1: proto.GravenInnocencePhotoStageInfo
+ (*GravenInnocencePhotoObjectInfo)(nil), // 2: proto.GravenInnocencePhotoObjectInfo
+}
+var file_GravenInnocencePhotoInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GravenInnocencePhotoInfo.stage_info_list:type_name -> proto.GravenInnocencePhotoStageInfo
+ 2, // 1: proto.GravenInnocencePhotoInfo.object_info_list:type_name -> proto.GravenInnocencePhotoObjectInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocencePhotoInfo_proto_init() }
+func file_GravenInnocencePhotoInfo_proto_init() {
+ if File_GravenInnocencePhotoInfo_proto != nil {
+ return
+ }
+ file_GravenInnocencePhotoObjectInfo_proto_init()
+ file_GravenInnocencePhotoStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocencePhotoInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocencePhotoInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocencePhotoInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocencePhotoInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocencePhotoInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocencePhotoInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocencePhotoInfo_proto = out.File
+ file_GravenInnocencePhotoInfo_proto_rawDesc = nil
+ file_GravenInnocencePhotoInfo_proto_goTypes = nil
+ file_GravenInnocencePhotoInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocencePhotoObjectInfo.pb.go b/protocol/proto/GravenInnocencePhotoObjectInfo.pb.go
new file mode 100644
index 00000000..35c826bd
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoObjectInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocencePhotoObjectInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocencePhotoObjectInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ObjectId uint32 `protobuf:"varint,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"`
+ FinishTime uint32 `protobuf:"varint,4,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
+ Param uint32 `protobuf:"varint,14,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *GravenInnocencePhotoObjectInfo) Reset() {
+ *x = GravenInnocencePhotoObjectInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocencePhotoObjectInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocencePhotoObjectInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocencePhotoObjectInfo) ProtoMessage() {}
+
+func (x *GravenInnocencePhotoObjectInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocencePhotoObjectInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocencePhotoObjectInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocencePhotoObjectInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocencePhotoObjectInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocencePhotoObjectInfo) GetObjectId() uint32 {
+ if x != nil {
+ return x.ObjectId
+ }
+ return 0
+}
+
+func (x *GravenInnocencePhotoObjectInfo) GetFinishTime() uint32 {
+ if x != nil {
+ return x.FinishTime
+ }
+ return 0
+}
+
+func (x *GravenInnocencePhotoObjectInfo) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_GravenInnocencePhotoObjectInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocencePhotoObjectInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a,
+ 0x1e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65,
+ 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1b, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocencePhotoObjectInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocencePhotoObjectInfo_proto_rawDescData = file_GravenInnocencePhotoObjectInfo_proto_rawDesc
+)
+
+func file_GravenInnocencePhotoObjectInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocencePhotoObjectInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocencePhotoObjectInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocencePhotoObjectInfo_proto_rawDescData)
+ })
+ return file_GravenInnocencePhotoObjectInfo_proto_rawDescData
+}
+
+var file_GravenInnocencePhotoObjectInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocencePhotoObjectInfo_proto_goTypes = []interface{}{
+ (*GravenInnocencePhotoObjectInfo)(nil), // 0: proto.GravenInnocencePhotoObjectInfo
+}
+var file_GravenInnocencePhotoObjectInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocencePhotoObjectInfo_proto_init() }
+func file_GravenInnocencePhotoObjectInfo_proto_init() {
+ if File_GravenInnocencePhotoObjectInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocencePhotoObjectInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocencePhotoObjectInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocencePhotoObjectInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocencePhotoObjectInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocencePhotoObjectInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocencePhotoObjectInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocencePhotoObjectInfo_proto = out.File
+ file_GravenInnocencePhotoObjectInfo_proto_rawDesc = nil
+ file_GravenInnocencePhotoObjectInfo_proto_goTypes = nil
+ file_GravenInnocencePhotoObjectInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocencePhotoReminderNotify.pb.go b/protocol/proto/GravenInnocencePhotoReminderNotify.pb.go
new file mode 100644
index 00000000..890ff2d7
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoReminderNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocencePhotoReminderNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23864
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GravenInnocencePhotoReminderNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupBundleId uint32 `protobuf:"varint,14,opt,name=group_bundle_id,json=groupBundleId,proto3" json:"group_bundle_id,omitempty"`
+ ReminderId uint32 `protobuf:"varint,6,opt,name=reminder_id,json=reminderId,proto3" json:"reminder_id,omitempty"`
+}
+
+func (x *GravenInnocencePhotoReminderNotify) Reset() {
+ *x = GravenInnocencePhotoReminderNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocencePhotoReminderNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocencePhotoReminderNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocencePhotoReminderNotify) ProtoMessage() {}
+
+func (x *GravenInnocencePhotoReminderNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocencePhotoReminderNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocencePhotoReminderNotify.ProtoReflect.Descriptor instead.
+func (*GravenInnocencePhotoReminderNotify) Descriptor() ([]byte, []int) {
+ return file_GravenInnocencePhotoReminderNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocencePhotoReminderNotify) GetGroupBundleId() uint32 {
+ if x != nil {
+ return x.GroupBundleId
+ }
+ return 0
+}
+
+func (x *GravenInnocencePhotoReminderNotify) GetReminderId() uint32 {
+ if x != nil {
+ return x.ReminderId
+ }
+ return 0
+}
+
+var File_GravenInnocencePhotoReminderNotify_proto protoreflect.FileDescriptor
+
+var file_GravenInnocencePhotoReminderNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6d, 0x0a, 0x22, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63,
+ 0x65, 0x6e, 0x63, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65,
+ 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x72, 0x6f, 0x75, 0x70,
+ 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocencePhotoReminderNotify_proto_rawDescOnce sync.Once
+ file_GravenInnocencePhotoReminderNotify_proto_rawDescData = file_GravenInnocencePhotoReminderNotify_proto_rawDesc
+)
+
+func file_GravenInnocencePhotoReminderNotify_proto_rawDescGZIP() []byte {
+ file_GravenInnocencePhotoReminderNotify_proto_rawDescOnce.Do(func() {
+ file_GravenInnocencePhotoReminderNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocencePhotoReminderNotify_proto_rawDescData)
+ })
+ return file_GravenInnocencePhotoReminderNotify_proto_rawDescData
+}
+
+var file_GravenInnocencePhotoReminderNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocencePhotoReminderNotify_proto_goTypes = []interface{}{
+ (*GravenInnocencePhotoReminderNotify)(nil), // 0: proto.GravenInnocencePhotoReminderNotify
+}
+var file_GravenInnocencePhotoReminderNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocencePhotoReminderNotify_proto_init() }
+func file_GravenInnocencePhotoReminderNotify_proto_init() {
+ if File_GravenInnocencePhotoReminderNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocencePhotoReminderNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocencePhotoReminderNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocencePhotoReminderNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocencePhotoReminderNotify_proto_goTypes,
+ DependencyIndexes: file_GravenInnocencePhotoReminderNotify_proto_depIdxs,
+ MessageInfos: file_GravenInnocencePhotoReminderNotify_proto_msgTypes,
+ }.Build()
+ File_GravenInnocencePhotoReminderNotify_proto = out.File
+ file_GravenInnocencePhotoReminderNotify_proto_rawDesc = nil
+ file_GravenInnocencePhotoReminderNotify_proto_goTypes = nil
+ file_GravenInnocencePhotoReminderNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocencePhotoStageInfo.pb.go b/protocol/proto/GravenInnocencePhotoStageInfo.pb.go
new file mode 100644
index 00000000..56685d68
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoStageInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocencePhotoStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocencePhotoStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinished bool `protobuf:"varint,11,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ StageId uint32 `protobuf:"varint,6,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsOpen bool `protobuf:"varint,9,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *GravenInnocencePhotoStageInfo) Reset() {
+ *x = GravenInnocencePhotoStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocencePhotoStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocencePhotoStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocencePhotoStageInfo) ProtoMessage() {}
+
+func (x *GravenInnocencePhotoStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocencePhotoStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocencePhotoStageInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocencePhotoStageInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocencePhotoStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocencePhotoStageInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *GravenInnocencePhotoStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *GravenInnocencePhotoStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_GravenInnocencePhotoStageInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocencePhotoStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x1d,
+ 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x50,
+ 0x68, 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocencePhotoStageInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocencePhotoStageInfo_proto_rawDescData = file_GravenInnocencePhotoStageInfo_proto_rawDesc
+)
+
+func file_GravenInnocencePhotoStageInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocencePhotoStageInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocencePhotoStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocencePhotoStageInfo_proto_rawDescData)
+ })
+ return file_GravenInnocencePhotoStageInfo_proto_rawDescData
+}
+
+var file_GravenInnocencePhotoStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocencePhotoStageInfo_proto_goTypes = []interface{}{
+ (*GravenInnocencePhotoStageInfo)(nil), // 0: proto.GravenInnocencePhotoStageInfo
+}
+var file_GravenInnocencePhotoStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocencePhotoStageInfo_proto_init() }
+func file_GravenInnocencePhotoStageInfo_proto_init() {
+ if File_GravenInnocencePhotoStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocencePhotoStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocencePhotoStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocencePhotoStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocencePhotoStageInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocencePhotoStageInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocencePhotoStageInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocencePhotoStageInfo_proto = out.File
+ file_GravenInnocencePhotoStageInfo_proto_rawDesc = nil
+ file_GravenInnocencePhotoStageInfo_proto_goTypes = nil
+ file_GravenInnocencePhotoStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceRaceInfo.pb.go b/protocol/proto/GravenInnocenceRaceInfo.pb.go
new file mode 100644
index 00000000..b45e767e
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceRaceInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocenceRaceInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelInfoList []*GravenInnocenceRaceLevelInfo `protobuf:"bytes,11,rep,name=level_info_list,json=levelInfoList,proto3" json:"level_info_list,omitempty"`
+}
+
+func (x *GravenInnocenceRaceInfo) Reset() {
+ *x = GravenInnocenceRaceInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceRaceInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceRaceInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceRaceInfo) ProtoMessage() {}
+
+func (x *GravenInnocenceRaceInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceRaceInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceRaceInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceRaceInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceRaceInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceRaceInfo) GetLevelInfoList() []*GravenInnocenceRaceLevelInfo {
+ if x != nil {
+ return x.LevelInfoList
+ }
+ return nil
+}
+
+var File_GravenInnocenceRaceInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceRaceInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x52, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e,
+ 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x17, 0x47, 0x72,
+ 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x63,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x0f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e,
+ 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceRaceInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocenceRaceInfo_proto_rawDescData = file_GravenInnocenceRaceInfo_proto_rawDesc
+)
+
+func file_GravenInnocenceRaceInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceRaceInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceRaceInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceRaceInfo_proto_rawDescData)
+ })
+ return file_GravenInnocenceRaceInfo_proto_rawDescData
+}
+
+var file_GravenInnocenceRaceInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceRaceInfo_proto_goTypes = []interface{}{
+ (*GravenInnocenceRaceInfo)(nil), // 0: proto.GravenInnocenceRaceInfo
+ (*GravenInnocenceRaceLevelInfo)(nil), // 1: proto.GravenInnocenceRaceLevelInfo
+}
+var file_GravenInnocenceRaceInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.GravenInnocenceRaceInfo.level_info_list:type_name -> proto.GravenInnocenceRaceLevelInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceRaceInfo_proto_init() }
+func file_GravenInnocenceRaceInfo_proto_init() {
+ if File_GravenInnocenceRaceInfo_proto != nil {
+ return
+ }
+ file_GravenInnocenceRaceLevelInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceRaceInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceRaceInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceRaceInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceRaceInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceRaceInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceRaceInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceRaceInfo_proto = out.File
+ file_GravenInnocenceRaceInfo_proto_rawDesc = nil
+ file_GravenInnocenceRaceInfo_proto_goTypes = nil
+ file_GravenInnocenceRaceInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceRaceLevelInfo.pb.go b/protocol/proto/GravenInnocenceRaceLevelInfo.pb.go
new file mode 100644
index 00000000..2811b1b1
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceLevelInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceRaceLevelInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GravenInnocenceRaceLevelInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,13,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ MaxScore uint32 `protobuf:"varint,14,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ IsOpen bool `protobuf:"varint,1,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *GravenInnocenceRaceLevelInfo) Reset() {
+ *x = GravenInnocenceRaceLevelInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceRaceLevelInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceRaceLevelInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceRaceLevelInfo) ProtoMessage() {}
+
+func (x *GravenInnocenceRaceLevelInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceRaceLevelInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceRaceLevelInfo.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceRaceLevelInfo) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceRaceLevelInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceRaceLevelInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceLevelInfo) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceLevelInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_GravenInnocenceRaceLevelInfo_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceRaceLevelInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x52, 0x61, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x1c, 0x47,
+ 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61,
+ 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceRaceLevelInfo_proto_rawDescOnce sync.Once
+ file_GravenInnocenceRaceLevelInfo_proto_rawDescData = file_GravenInnocenceRaceLevelInfo_proto_rawDesc
+)
+
+func file_GravenInnocenceRaceLevelInfo_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceRaceLevelInfo_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceRaceLevelInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceRaceLevelInfo_proto_rawDescData)
+ })
+ return file_GravenInnocenceRaceLevelInfo_proto_rawDescData
+}
+
+var file_GravenInnocenceRaceLevelInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceRaceLevelInfo_proto_goTypes = []interface{}{
+ (*GravenInnocenceRaceLevelInfo)(nil), // 0: proto.GravenInnocenceRaceLevelInfo
+}
+var file_GravenInnocenceRaceLevelInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceRaceLevelInfo_proto_init() }
+func file_GravenInnocenceRaceLevelInfo_proto_init() {
+ if File_GravenInnocenceRaceLevelInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceRaceLevelInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceRaceLevelInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceRaceLevelInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceRaceLevelInfo_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceRaceLevelInfo_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceRaceLevelInfo_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceRaceLevelInfo_proto = out.File
+ file_GravenInnocenceRaceLevelInfo_proto_rawDesc = nil
+ file_GravenInnocenceRaceLevelInfo_proto_goTypes = nil
+ file_GravenInnocenceRaceLevelInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceRaceRestartReq.pb.go b/protocol/proto/GravenInnocenceRaceRestartReq.pb.go
new file mode 100644
index 00000000..728a527c
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceRestartReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceRaceRestartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22882
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type GravenInnocenceRaceRestartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,6,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GravenInnocenceRaceRestartReq) Reset() {
+ *x = GravenInnocenceRaceRestartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceRaceRestartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceRaceRestartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceRaceRestartReq) ProtoMessage() {}
+
+func (x *GravenInnocenceRaceRestartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceRaceRestartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceRaceRestartReq.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceRaceRestartReq) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceRaceRestartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceRaceRestartReq) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GravenInnocenceRaceRestartReq_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceRaceRestartReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x1d,
+ 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceRaceRestartReq_proto_rawDescOnce sync.Once
+ file_GravenInnocenceRaceRestartReq_proto_rawDescData = file_GravenInnocenceRaceRestartReq_proto_rawDesc
+)
+
+func file_GravenInnocenceRaceRestartReq_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceRaceRestartReq_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceRaceRestartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceRaceRestartReq_proto_rawDescData)
+ })
+ return file_GravenInnocenceRaceRestartReq_proto_rawDescData
+}
+
+var file_GravenInnocenceRaceRestartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceRaceRestartReq_proto_goTypes = []interface{}{
+ (*GravenInnocenceRaceRestartReq)(nil), // 0: proto.GravenInnocenceRaceRestartReq
+}
+var file_GravenInnocenceRaceRestartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceRaceRestartReq_proto_init() }
+func file_GravenInnocenceRaceRestartReq_proto_init() {
+ if File_GravenInnocenceRaceRestartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceRaceRestartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceRaceRestartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceRaceRestartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceRaceRestartReq_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceRaceRestartReq_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceRaceRestartReq_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceRaceRestartReq_proto = out.File
+ file_GravenInnocenceRaceRestartReq_proto_rawDesc = nil
+ file_GravenInnocenceRaceRestartReq_proto_goTypes = nil
+ file_GravenInnocenceRaceRestartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceRaceRestartRsp.pb.go b/protocol/proto/GravenInnocenceRaceRestartRsp.pb.go
new file mode 100644
index 00000000..0f939a8c
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceRestartRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceRaceRestartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21880
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GravenInnocenceRaceRestartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GalleryId uint32 `protobuf:"varint,6,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *GravenInnocenceRaceRestartRsp) Reset() {
+ *x = GravenInnocenceRaceRestartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceRaceRestartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceRaceRestartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceRaceRestartRsp) ProtoMessage() {}
+
+func (x *GravenInnocenceRaceRestartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceRaceRestartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceRaceRestartRsp.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceRaceRestartRsp) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceRaceRestartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceRaceRestartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceRestartRsp) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_GravenInnocenceRaceRestartRsp_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceRaceRestartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1d,
+ 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52,
+ 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceRaceRestartRsp_proto_rawDescOnce sync.Once
+ file_GravenInnocenceRaceRestartRsp_proto_rawDescData = file_GravenInnocenceRaceRestartRsp_proto_rawDesc
+)
+
+func file_GravenInnocenceRaceRestartRsp_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceRaceRestartRsp_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceRaceRestartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceRaceRestartRsp_proto_rawDescData)
+ })
+ return file_GravenInnocenceRaceRestartRsp_proto_rawDescData
+}
+
+var file_GravenInnocenceRaceRestartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceRaceRestartRsp_proto_goTypes = []interface{}{
+ (*GravenInnocenceRaceRestartRsp)(nil), // 0: proto.GravenInnocenceRaceRestartRsp
+}
+var file_GravenInnocenceRaceRestartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceRaceRestartRsp_proto_init() }
+func file_GravenInnocenceRaceRestartRsp_proto_init() {
+ if File_GravenInnocenceRaceRestartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceRaceRestartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceRaceRestartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceRaceRestartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceRaceRestartRsp_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceRaceRestartRsp_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceRaceRestartRsp_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceRaceRestartRsp_proto = out.File
+ file_GravenInnocenceRaceRestartRsp_proto_rawDesc = nil
+ file_GravenInnocenceRaceRestartRsp_proto_goTypes = nil
+ file_GravenInnocenceRaceRestartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GravenInnocenceRaceSettleNotify.pb.go b/protocol/proto/GravenInnocenceRaceSettleNotify.pb.go
new file mode 100644
index 00000000..5ae24ecf
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceSettleNotify.pb.go
@@ -0,0 +1,260 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GravenInnocenceRaceSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20681
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GravenInnocenceRaceSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,4,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ GalleryId uint32 `protobuf:"varint,6,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ Score uint32 `protobuf:"varint,5,opt,name=score,proto3" json:"score,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,2,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ TotalCointCount uint32 `protobuf:"varint,13,opt,name=total_coint_count,json=totalCointCount,proto3" json:"total_coint_count,omitempty"`
+ RemainTime uint32 `protobuf:"varint,10,opt,name=remain_time,json=remainTime,proto3" json:"remain_time,omitempty"`
+ ChallengeProgress uint32 `protobuf:"varint,1,opt,name=challenge_progress,json=challengeProgress,proto3" json:"challenge_progress,omitempty"`
+ CoinCount uint32 `protobuf:"varint,8,opt,name=coin_count,json=coinCount,proto3" json:"coin_count,omitempty"`
+ IsSuccess bool `protobuf:"varint,7,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ LevelId uint32 `protobuf:"varint,11,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *GravenInnocenceRaceSettleNotify) Reset() {
+ *x = GravenInnocenceRaceSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GravenInnocenceRaceSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GravenInnocenceRaceSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GravenInnocenceRaceSettleNotify) ProtoMessage() {}
+
+func (x *GravenInnocenceRaceSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GravenInnocenceRaceSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GravenInnocenceRaceSettleNotify.ProtoReflect.Descriptor instead.
+func (*GravenInnocenceRaceSettleNotify) Descriptor() ([]byte, []int) {
+ return file_GravenInnocenceRaceSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetTotalCointCount() uint32 {
+ if x != nil {
+ return x.TotalCointCount
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetRemainTime() uint32 {
+ if x != nil {
+ return x.RemainTime
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetChallengeProgress() uint32 {
+ if x != nil {
+ return x.ChallengeProgress
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetCoinCount() uint32 {
+ if x != nil {
+ return x.CoinCount
+ }
+ return 0
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *GravenInnocenceRaceSettleNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_GravenInnocenceRaceSettleNotify_proto protoreflect.FileDescriptor
+
+var file_GravenInnocenceRaceSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x47, 0x72, 0x61, 0x76, 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63,
+ 0x65, 0x52, 0x61, 0x63, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x03, 0x0a, 0x1f, 0x47, 0x72, 0x61, 0x76,
+ 0x65, 0x6e, 0x49, 0x6e, 0x6e, 0x6f, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x61, 0x63, 0x65, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06,
+ 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
+ 0x63, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GravenInnocenceRaceSettleNotify_proto_rawDescOnce sync.Once
+ file_GravenInnocenceRaceSettleNotify_proto_rawDescData = file_GravenInnocenceRaceSettleNotify_proto_rawDesc
+)
+
+func file_GravenInnocenceRaceSettleNotify_proto_rawDescGZIP() []byte {
+ file_GravenInnocenceRaceSettleNotify_proto_rawDescOnce.Do(func() {
+ file_GravenInnocenceRaceSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GravenInnocenceRaceSettleNotify_proto_rawDescData)
+ })
+ return file_GravenInnocenceRaceSettleNotify_proto_rawDescData
+}
+
+var file_GravenInnocenceRaceSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GravenInnocenceRaceSettleNotify_proto_goTypes = []interface{}{
+ (*GravenInnocenceRaceSettleNotify)(nil), // 0: proto.GravenInnocenceRaceSettleNotify
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_GravenInnocenceRaceSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GravenInnocenceRaceSettleNotify.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GravenInnocenceRaceSettleNotify_proto_init() }
+func file_GravenInnocenceRaceSettleNotify_proto_init() {
+ if File_GravenInnocenceRaceSettleNotify_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GravenInnocenceRaceSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GravenInnocenceRaceSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GravenInnocenceRaceSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GravenInnocenceRaceSettleNotify_proto_goTypes,
+ DependencyIndexes: file_GravenInnocenceRaceSettleNotify_proto_depIdxs,
+ MessageInfos: file_GravenInnocenceRaceSettleNotify_proto_msgTypes,
+ }.Build()
+ File_GravenInnocenceRaceSettleNotify_proto = out.File
+ file_GravenInnocenceRaceSettleNotify_proto_rawDesc = nil
+ file_GravenInnocenceRaceSettleNotify_proto_goTypes = nil
+ file_GravenInnocenceRaceSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GroupLinkAllNotify.pb.go b/protocol/proto/GroupLinkAllNotify.pb.go
new file mode 100644
index 00000000..92a16626
--- /dev/null
+++ b/protocol/proto/GroupLinkAllNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GroupLinkAllNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5776
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GroupLinkAllNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BundleList []*GroupLinkBundle `protobuf:"bytes,5,rep,name=bundle_list,json=bundleList,proto3" json:"bundle_list,omitempty"`
+}
+
+func (x *GroupLinkAllNotify) Reset() {
+ *x = GroupLinkAllNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GroupLinkAllNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GroupLinkAllNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GroupLinkAllNotify) ProtoMessage() {}
+
+func (x *GroupLinkAllNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GroupLinkAllNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GroupLinkAllNotify.ProtoReflect.Descriptor instead.
+func (*GroupLinkAllNotify) Descriptor() ([]byte, []int) {
+ return file_GroupLinkAllNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GroupLinkAllNotify) GetBundleList() []*GroupLinkBundle {
+ if x != nil {
+ return x.BundleList
+ }
+ return nil
+}
+
+var File_GroupLinkAllNotify_proto protoreflect.FileDescriptor
+
+var file_GroupLinkAllNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x6c, 0x6c, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x15, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x6e, 0x64,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x12, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x37,
+ 0x0a, 0x0b, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x0a, 0x62, 0x75, 0x6e,
+ 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GroupLinkAllNotify_proto_rawDescOnce sync.Once
+ file_GroupLinkAllNotify_proto_rawDescData = file_GroupLinkAllNotify_proto_rawDesc
+)
+
+func file_GroupLinkAllNotify_proto_rawDescGZIP() []byte {
+ file_GroupLinkAllNotify_proto_rawDescOnce.Do(func() {
+ file_GroupLinkAllNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GroupLinkAllNotify_proto_rawDescData)
+ })
+ return file_GroupLinkAllNotify_proto_rawDescData
+}
+
+var file_GroupLinkAllNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GroupLinkAllNotify_proto_goTypes = []interface{}{
+ (*GroupLinkAllNotify)(nil), // 0: proto.GroupLinkAllNotify
+ (*GroupLinkBundle)(nil), // 1: proto.GroupLinkBundle
+}
+var file_GroupLinkAllNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GroupLinkAllNotify.bundle_list:type_name -> proto.GroupLinkBundle
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GroupLinkAllNotify_proto_init() }
+func file_GroupLinkAllNotify_proto_init() {
+ if File_GroupLinkAllNotify_proto != nil {
+ return
+ }
+ file_GroupLinkBundle_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GroupLinkAllNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GroupLinkAllNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GroupLinkAllNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GroupLinkAllNotify_proto_goTypes,
+ DependencyIndexes: file_GroupLinkAllNotify_proto_depIdxs,
+ MessageInfos: file_GroupLinkAllNotify_proto_msgTypes,
+ }.Build()
+ File_GroupLinkAllNotify_proto = out.File
+ file_GroupLinkAllNotify_proto_rawDesc = nil
+ file_GroupLinkAllNotify_proto_goTypes = nil
+ file_GroupLinkAllNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GroupLinkBundle.pb.go b/protocol/proto/GroupLinkBundle.pb.go
new file mode 100644
index 00000000..7dfde604
--- /dev/null
+++ b/protocol/proto/GroupLinkBundle.pb.go
@@ -0,0 +1,212 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GroupLinkBundle.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type GroupLinkBundle struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Center *Vector `protobuf:"bytes,4,opt,name=center,proto3" json:"center,omitempty"`
+ IsActivated bool `protobuf:"varint,12,opt,name=is_activated,json=isActivated,proto3" json:"is_activated,omitempty"`
+ BundleId uint32 `protobuf:"varint,3,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"`
+ IsShowMark bool `protobuf:"varint,14,opt,name=is_show_mark,json=isShowMark,proto3" json:"is_show_mark,omitempty"`
+ SceneId uint32 `protobuf:"varint,5,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Radius uint32 `protobuf:"varint,1,opt,name=radius,proto3" json:"radius,omitempty"`
+}
+
+func (x *GroupLinkBundle) Reset() {
+ *x = GroupLinkBundle{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GroupLinkBundle_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GroupLinkBundle) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GroupLinkBundle) ProtoMessage() {}
+
+func (x *GroupLinkBundle) ProtoReflect() protoreflect.Message {
+ mi := &file_GroupLinkBundle_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GroupLinkBundle.ProtoReflect.Descriptor instead.
+func (*GroupLinkBundle) Descriptor() ([]byte, []int) {
+ return file_GroupLinkBundle_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GroupLinkBundle) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *GroupLinkBundle) GetIsActivated() bool {
+ if x != nil {
+ return x.IsActivated
+ }
+ return false
+}
+
+func (x *GroupLinkBundle) GetBundleId() uint32 {
+ if x != nil {
+ return x.BundleId
+ }
+ return 0
+}
+
+func (x *GroupLinkBundle) GetIsShowMark() bool {
+ if x != nil {
+ return x.IsShowMark
+ }
+ return false
+}
+
+func (x *GroupLinkBundle) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *GroupLinkBundle) GetRadius() uint32 {
+ if x != nil {
+ return x.Radius
+ }
+ return 0
+}
+
+var File_GroupLinkBundle_proto protoreflect.FileDescriptor
+
+var file_GroupLinkBundle_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x01, 0x0a,
+ 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
+ 0x12, 0x25, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x63,
+ 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
+ 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75,
+ 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62,
+ 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x73, 0x68,
+ 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69,
+ 0x73, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GroupLinkBundle_proto_rawDescOnce sync.Once
+ file_GroupLinkBundle_proto_rawDescData = file_GroupLinkBundle_proto_rawDesc
+)
+
+func file_GroupLinkBundle_proto_rawDescGZIP() []byte {
+ file_GroupLinkBundle_proto_rawDescOnce.Do(func() {
+ file_GroupLinkBundle_proto_rawDescData = protoimpl.X.CompressGZIP(file_GroupLinkBundle_proto_rawDescData)
+ })
+ return file_GroupLinkBundle_proto_rawDescData
+}
+
+var file_GroupLinkBundle_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GroupLinkBundle_proto_goTypes = []interface{}{
+ (*GroupLinkBundle)(nil), // 0: proto.GroupLinkBundle
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_GroupLinkBundle_proto_depIdxs = []int32{
+ 1, // 0: proto.GroupLinkBundle.center:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GroupLinkBundle_proto_init() }
+func file_GroupLinkBundle_proto_init() {
+ if File_GroupLinkBundle_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GroupLinkBundle_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GroupLinkBundle); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GroupLinkBundle_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GroupLinkBundle_proto_goTypes,
+ DependencyIndexes: file_GroupLinkBundle_proto_depIdxs,
+ MessageInfos: file_GroupLinkBundle_proto_msgTypes,
+ }.Build()
+ File_GroupLinkBundle_proto = out.File
+ file_GroupLinkBundle_proto_rawDesc = nil
+ file_GroupLinkBundle_proto_goTypes = nil
+ file_GroupLinkBundle_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GroupLinkChangeNotify.pb.go b/protocol/proto/GroupLinkChangeNotify.pb.go
new file mode 100644
index 00000000..dbdf39c8
--- /dev/null
+++ b/protocol/proto/GroupLinkChangeNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GroupLinkChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5768
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GroupLinkChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Bundle *GroupLinkBundle `protobuf:"bytes,8,opt,name=bundle,proto3" json:"bundle,omitempty"`
+}
+
+func (x *GroupLinkChangeNotify) Reset() {
+ *x = GroupLinkChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GroupLinkChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GroupLinkChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GroupLinkChangeNotify) ProtoMessage() {}
+
+func (x *GroupLinkChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GroupLinkChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GroupLinkChangeNotify.ProtoReflect.Descriptor instead.
+func (*GroupLinkChangeNotify) Descriptor() ([]byte, []int) {
+ return file_GroupLinkChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GroupLinkChangeNotify) GetBundle() *GroupLinkBundle {
+ if x != nil {
+ return x.Bundle
+ }
+ return nil
+}
+
+var File_GroupLinkChangeNotify_proto protoreflect.FileDescriptor
+
+var file_GroupLinkChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x42,
+ 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x15, 0x47,
+ 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x2e, 0x0a, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x75,
+ 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GroupLinkChangeNotify_proto_rawDescOnce sync.Once
+ file_GroupLinkChangeNotify_proto_rawDescData = file_GroupLinkChangeNotify_proto_rawDesc
+)
+
+func file_GroupLinkChangeNotify_proto_rawDescGZIP() []byte {
+ file_GroupLinkChangeNotify_proto_rawDescOnce.Do(func() {
+ file_GroupLinkChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GroupLinkChangeNotify_proto_rawDescData)
+ })
+ return file_GroupLinkChangeNotify_proto_rawDescData
+}
+
+var file_GroupLinkChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GroupLinkChangeNotify_proto_goTypes = []interface{}{
+ (*GroupLinkChangeNotify)(nil), // 0: proto.GroupLinkChangeNotify
+ (*GroupLinkBundle)(nil), // 1: proto.GroupLinkBundle
+}
+var file_GroupLinkChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GroupLinkChangeNotify.bundle:type_name -> proto.GroupLinkBundle
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GroupLinkChangeNotify_proto_init() }
+func file_GroupLinkChangeNotify_proto_init() {
+ if File_GroupLinkChangeNotify_proto != nil {
+ return
+ }
+ file_GroupLinkBundle_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GroupLinkChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GroupLinkChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GroupLinkChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GroupLinkChangeNotify_proto_goTypes,
+ DependencyIndexes: file_GroupLinkChangeNotify_proto_depIdxs,
+ MessageInfos: file_GroupLinkChangeNotify_proto_msgTypes,
+ }.Build()
+ File_GroupLinkChangeNotify_proto = out.File
+ file_GroupLinkChangeNotify_proto_rawDesc = nil
+ file_GroupLinkChangeNotify_proto_goTypes = nil
+ file_GroupLinkChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GroupLinkDeleteNotify.pb.go b/protocol/proto/GroupLinkDeleteNotify.pb.go
new file mode 100644
index 00000000..02aa5d3c
--- /dev/null
+++ b/protocol/proto/GroupLinkDeleteNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GroupLinkDeleteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5775
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GroupLinkDeleteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BundleId uint32 `protobuf:"varint,12,opt,name=bundle_id,json=bundleId,proto3" json:"bundle_id,omitempty"`
+}
+
+func (x *GroupLinkDeleteNotify) Reset() {
+ *x = GroupLinkDeleteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GroupLinkDeleteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GroupLinkDeleteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GroupLinkDeleteNotify) ProtoMessage() {}
+
+func (x *GroupLinkDeleteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GroupLinkDeleteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GroupLinkDeleteNotify.ProtoReflect.Descriptor instead.
+func (*GroupLinkDeleteNotify) Descriptor() ([]byte, []int) {
+ return file_GroupLinkDeleteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GroupLinkDeleteNotify) GetBundleId() uint32 {
+ if x != nil {
+ return x.BundleId
+ }
+ return 0
+}
+
+var File_GroupLinkDeleteNotify_proto protoreflect.FileDescriptor
+
+var file_GroupLinkDeleteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x15, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e,
+ 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GroupLinkDeleteNotify_proto_rawDescOnce sync.Once
+ file_GroupLinkDeleteNotify_proto_rawDescData = file_GroupLinkDeleteNotify_proto_rawDesc
+)
+
+func file_GroupLinkDeleteNotify_proto_rawDescGZIP() []byte {
+ file_GroupLinkDeleteNotify_proto_rawDescOnce.Do(func() {
+ file_GroupLinkDeleteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GroupLinkDeleteNotify_proto_rawDescData)
+ })
+ return file_GroupLinkDeleteNotify_proto_rawDescData
+}
+
+var file_GroupLinkDeleteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GroupLinkDeleteNotify_proto_goTypes = []interface{}{
+ (*GroupLinkDeleteNotify)(nil), // 0: proto.GroupLinkDeleteNotify
+}
+var file_GroupLinkDeleteNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GroupLinkDeleteNotify_proto_init() }
+func file_GroupLinkDeleteNotify_proto_init() {
+ if File_GroupLinkDeleteNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GroupLinkDeleteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GroupLinkDeleteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GroupLinkDeleteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GroupLinkDeleteNotify_proto_goTypes,
+ DependencyIndexes: file_GroupLinkDeleteNotify_proto_depIdxs,
+ MessageInfos: file_GroupLinkDeleteNotify_proto_msgTypes,
+ }.Build()
+ File_GroupLinkDeleteNotify_proto = out.File
+ file_GroupLinkDeleteNotify_proto_rawDesc = nil
+ file_GroupLinkDeleteNotify_proto_goTypes = nil
+ file_GroupLinkDeleteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GroupLinkMarkUpdateNotify.pb.go b/protocol/proto/GroupLinkMarkUpdateNotify.pb.go
new file mode 100644
index 00000000..7b065055
--- /dev/null
+++ b/protocol/proto/GroupLinkMarkUpdateNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GroupLinkMarkUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5757
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GroupLinkMarkUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Bundle *GroupLinkBundle `protobuf:"bytes,11,opt,name=bundle,proto3" json:"bundle,omitempty"`
+}
+
+func (x *GroupLinkMarkUpdateNotify) Reset() {
+ *x = GroupLinkMarkUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GroupLinkMarkUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GroupLinkMarkUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GroupLinkMarkUpdateNotify) ProtoMessage() {}
+
+func (x *GroupLinkMarkUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GroupLinkMarkUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GroupLinkMarkUpdateNotify.ProtoReflect.Descriptor instead.
+func (*GroupLinkMarkUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_GroupLinkMarkUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GroupLinkMarkUpdateNotify) GetBundle() *GroupLinkBundle {
+ if x != nil {
+ return x.Bundle
+ }
+ return nil
+}
+
+var File_GroupLinkMarkUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_GroupLinkMarkUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x61, 0x72, 0x6b, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c,
+ 0x69, 0x6e, 0x6b, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x4b, 0x0a, 0x19, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x61, 0x72, 0x6b,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2e, 0x0a, 0x06,
+ 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75,
+ 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x06, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GroupLinkMarkUpdateNotify_proto_rawDescOnce sync.Once
+ file_GroupLinkMarkUpdateNotify_proto_rawDescData = file_GroupLinkMarkUpdateNotify_proto_rawDesc
+)
+
+func file_GroupLinkMarkUpdateNotify_proto_rawDescGZIP() []byte {
+ file_GroupLinkMarkUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_GroupLinkMarkUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GroupLinkMarkUpdateNotify_proto_rawDescData)
+ })
+ return file_GroupLinkMarkUpdateNotify_proto_rawDescData
+}
+
+var file_GroupLinkMarkUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GroupLinkMarkUpdateNotify_proto_goTypes = []interface{}{
+ (*GroupLinkMarkUpdateNotify)(nil), // 0: proto.GroupLinkMarkUpdateNotify
+ (*GroupLinkBundle)(nil), // 1: proto.GroupLinkBundle
+}
+var file_GroupLinkMarkUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GroupLinkMarkUpdateNotify.bundle:type_name -> proto.GroupLinkBundle
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GroupLinkMarkUpdateNotify_proto_init() }
+func file_GroupLinkMarkUpdateNotify_proto_init() {
+ if File_GroupLinkMarkUpdateNotify_proto != nil {
+ return
+ }
+ file_GroupLinkBundle_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_GroupLinkMarkUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GroupLinkMarkUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GroupLinkMarkUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GroupLinkMarkUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_GroupLinkMarkUpdateNotify_proto_depIdxs,
+ MessageInfos: file_GroupLinkMarkUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_GroupLinkMarkUpdateNotify_proto = out.File
+ file_GroupLinkMarkUpdateNotify_proto_rawDesc = nil
+ file_GroupLinkMarkUpdateNotify_proto_goTypes = nil
+ file_GroupLinkMarkUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GroupSuiteNotify.pb.go b/protocol/proto/GroupSuiteNotify.pb.go
new file mode 100644
index 00000000..774ea36b
--- /dev/null
+++ b/protocol/proto/GroupSuiteNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GroupSuiteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3257
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GroupSuiteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=group_map,json=groupMap,proto3" json:"group_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *GroupSuiteNotify) Reset() {
+ *x = GroupSuiteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GroupSuiteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GroupSuiteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GroupSuiteNotify) ProtoMessage() {}
+
+func (x *GroupSuiteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GroupSuiteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GroupSuiteNotify.ProtoReflect.Descriptor instead.
+func (*GroupSuiteNotify) Descriptor() ([]byte, []int) {
+ return file_GroupSuiteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GroupSuiteNotify) GetGroupMap() map[uint32]uint32 {
+ if x != nil {
+ return x.GroupMap
+ }
+ return nil
+}
+
+var File_GroupSuiteNotify_proto protoreflect.FileDescriptor
+
+var file_GroupSuiteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x93, 0x01, 0x0a, 0x10, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x42, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08,
+ 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x70, 0x1a, 0x3b, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GroupSuiteNotify_proto_rawDescOnce sync.Once
+ file_GroupSuiteNotify_proto_rawDescData = file_GroupSuiteNotify_proto_rawDesc
+)
+
+func file_GroupSuiteNotify_proto_rawDescGZIP() []byte {
+ file_GroupSuiteNotify_proto_rawDescOnce.Do(func() {
+ file_GroupSuiteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GroupSuiteNotify_proto_rawDescData)
+ })
+ return file_GroupSuiteNotify_proto_rawDescData
+}
+
+var file_GroupSuiteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_GroupSuiteNotify_proto_goTypes = []interface{}{
+ (*GroupSuiteNotify)(nil), // 0: proto.GroupSuiteNotify
+ nil, // 1: proto.GroupSuiteNotify.GroupMapEntry
+}
+var file_GroupSuiteNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.GroupSuiteNotify.group_map:type_name -> proto.GroupSuiteNotify.GroupMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_GroupSuiteNotify_proto_init() }
+func file_GroupSuiteNotify_proto_init() {
+ if File_GroupSuiteNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GroupSuiteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GroupSuiteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GroupSuiteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GroupSuiteNotify_proto_goTypes,
+ DependencyIndexes: file_GroupSuiteNotify_proto_depIdxs,
+ MessageInfos: file_GroupSuiteNotify_proto_msgTypes,
+ }.Build()
+ File_GroupSuiteNotify_proto = out.File
+ file_GroupSuiteNotify_proto_rawDesc = nil
+ file_GroupSuiteNotify_proto_goTypes = nil
+ file_GroupSuiteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GroupUnloadNotify.pb.go b/protocol/proto/GroupUnloadNotify.pb.go
new file mode 100644
index 00000000..6f57cea8
--- /dev/null
+++ b/protocol/proto/GroupUnloadNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GroupUnloadNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3344
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GroupUnloadNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupList []uint32 `protobuf:"varint,10,rep,packed,name=group_list,json=groupList,proto3" json:"group_list,omitempty"`
+}
+
+func (x *GroupUnloadNotify) Reset() {
+ *x = GroupUnloadNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GroupUnloadNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GroupUnloadNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GroupUnloadNotify) ProtoMessage() {}
+
+func (x *GroupUnloadNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GroupUnloadNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GroupUnloadNotify.ProtoReflect.Descriptor instead.
+func (*GroupUnloadNotify) Descriptor() ([]byte, []int) {
+ return file_GroupUnloadNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GroupUnloadNotify) GetGroupList() []uint32 {
+ if x != nil {
+ return x.GroupList
+ }
+ return nil
+}
+
+var File_GroupUnloadNotify_proto protoreflect.FileDescriptor
+
+var file_GroupUnloadNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x32, 0x0a, 0x11, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x55, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GroupUnloadNotify_proto_rawDescOnce sync.Once
+ file_GroupUnloadNotify_proto_rawDescData = file_GroupUnloadNotify_proto_rawDesc
+)
+
+func file_GroupUnloadNotify_proto_rawDescGZIP() []byte {
+ file_GroupUnloadNotify_proto_rawDescOnce.Do(func() {
+ file_GroupUnloadNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GroupUnloadNotify_proto_rawDescData)
+ })
+ return file_GroupUnloadNotify_proto_rawDescData
+}
+
+var file_GroupUnloadNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GroupUnloadNotify_proto_goTypes = []interface{}{
+ (*GroupUnloadNotify)(nil), // 0: proto.GroupUnloadNotify
+}
+var file_GroupUnloadNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GroupUnloadNotify_proto_init() }
+func file_GroupUnloadNotify_proto_init() {
+ if File_GroupUnloadNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GroupUnloadNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GroupUnloadNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GroupUnloadNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GroupUnloadNotify_proto_goTypes,
+ DependencyIndexes: file_GroupUnloadNotify_proto_depIdxs,
+ MessageInfos: file_GroupUnloadNotify_proto_msgTypes,
+ }.Build()
+ File_GroupUnloadNotify_proto = out.File
+ file_GroupUnloadNotify_proto_rawDesc = nil
+ file_GroupUnloadNotify_proto_goTypes = nil
+ file_GroupUnloadNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GuestBeginEnterSceneNotify.pb.go b/protocol/proto/GuestBeginEnterSceneNotify.pb.go
new file mode 100644
index 00000000..95bd09e4
--- /dev/null
+++ b/protocol/proto/GuestBeginEnterSceneNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GuestBeginEnterSceneNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3031
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GuestBeginEnterSceneNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,8,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Uid uint32 `protobuf:"varint,15,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GuestBeginEnterSceneNotify) Reset() {
+ *x = GuestBeginEnterSceneNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GuestBeginEnterSceneNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GuestBeginEnterSceneNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GuestBeginEnterSceneNotify) ProtoMessage() {}
+
+func (x *GuestBeginEnterSceneNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GuestBeginEnterSceneNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GuestBeginEnterSceneNotify.ProtoReflect.Descriptor instead.
+func (*GuestBeginEnterSceneNotify) Descriptor() ([]byte, []int) {
+ return file_GuestBeginEnterSceneNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GuestBeginEnterSceneNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *GuestBeginEnterSceneNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GuestBeginEnterSceneNotify_proto protoreflect.FileDescriptor
+
+var file_GuestBeginEnterSceneNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x47, 0x75, 0x65, 0x73, 0x74, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x1a, 0x47, 0x75, 0x65,
+ 0x73, 0x74, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GuestBeginEnterSceneNotify_proto_rawDescOnce sync.Once
+ file_GuestBeginEnterSceneNotify_proto_rawDescData = file_GuestBeginEnterSceneNotify_proto_rawDesc
+)
+
+func file_GuestBeginEnterSceneNotify_proto_rawDescGZIP() []byte {
+ file_GuestBeginEnterSceneNotify_proto_rawDescOnce.Do(func() {
+ file_GuestBeginEnterSceneNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GuestBeginEnterSceneNotify_proto_rawDescData)
+ })
+ return file_GuestBeginEnterSceneNotify_proto_rawDescData
+}
+
+var file_GuestBeginEnterSceneNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GuestBeginEnterSceneNotify_proto_goTypes = []interface{}{
+ (*GuestBeginEnterSceneNotify)(nil), // 0: proto.GuestBeginEnterSceneNotify
+}
+var file_GuestBeginEnterSceneNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GuestBeginEnterSceneNotify_proto_init() }
+func file_GuestBeginEnterSceneNotify_proto_init() {
+ if File_GuestBeginEnterSceneNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GuestBeginEnterSceneNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GuestBeginEnterSceneNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GuestBeginEnterSceneNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GuestBeginEnterSceneNotify_proto_goTypes,
+ DependencyIndexes: file_GuestBeginEnterSceneNotify_proto_depIdxs,
+ MessageInfos: file_GuestBeginEnterSceneNotify_proto_msgTypes,
+ }.Build()
+ File_GuestBeginEnterSceneNotify_proto = out.File
+ file_GuestBeginEnterSceneNotify_proto_rawDesc = nil
+ file_GuestBeginEnterSceneNotify_proto_goTypes = nil
+ file_GuestBeginEnterSceneNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/GuestPostEnterSceneNotify.pb.go b/protocol/proto/GuestPostEnterSceneNotify.pb.go
new file mode 100644
index 00000000..07e2da72
--- /dev/null
+++ b/protocol/proto/GuestPostEnterSceneNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: GuestPostEnterSceneNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3144
+// EnetChannelId: 0
+// EnetIsReliable: true
+type GuestPostEnterSceneNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,5,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Uid uint32 `protobuf:"varint,4,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *GuestPostEnterSceneNotify) Reset() {
+ *x = GuestPostEnterSceneNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_GuestPostEnterSceneNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *GuestPostEnterSceneNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GuestPostEnterSceneNotify) ProtoMessage() {}
+
+func (x *GuestPostEnterSceneNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_GuestPostEnterSceneNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GuestPostEnterSceneNotify.ProtoReflect.Descriptor instead.
+func (*GuestPostEnterSceneNotify) Descriptor() ([]byte, []int) {
+ return file_GuestPostEnterSceneNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *GuestPostEnterSceneNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *GuestPostEnterSceneNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_GuestPostEnterSceneNotify_proto protoreflect.FileDescriptor
+
+var file_GuestPostEnterSceneNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x19, 0x47, 0x75, 0x65, 0x73,
+ 0x74, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64,
+ 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75,
+ 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_GuestPostEnterSceneNotify_proto_rawDescOnce sync.Once
+ file_GuestPostEnterSceneNotify_proto_rawDescData = file_GuestPostEnterSceneNotify_proto_rawDesc
+)
+
+func file_GuestPostEnterSceneNotify_proto_rawDescGZIP() []byte {
+ file_GuestPostEnterSceneNotify_proto_rawDescOnce.Do(func() {
+ file_GuestPostEnterSceneNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_GuestPostEnterSceneNotify_proto_rawDescData)
+ })
+ return file_GuestPostEnterSceneNotify_proto_rawDescData
+}
+
+var file_GuestPostEnterSceneNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_GuestPostEnterSceneNotify_proto_goTypes = []interface{}{
+ (*GuestPostEnterSceneNotify)(nil), // 0: proto.GuestPostEnterSceneNotify
+}
+var file_GuestPostEnterSceneNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_GuestPostEnterSceneNotify_proto_init() }
+func file_GuestPostEnterSceneNotify_proto_init() {
+ if File_GuestPostEnterSceneNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_GuestPostEnterSceneNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GuestPostEnterSceneNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_GuestPostEnterSceneNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_GuestPostEnterSceneNotify_proto_goTypes,
+ DependencyIndexes: file_GuestPostEnterSceneNotify_proto_depIdxs,
+ MessageInfos: file_GuestPostEnterSceneNotify_proto_msgTypes,
+ }.Build()
+ File_GuestPostEnterSceneNotify_proto = out.File
+ file_GuestPostEnterSceneNotify_proto_rawDesc = nil
+ file_GuestPostEnterSceneNotify_proto_goTypes = nil
+ file_GuestPostEnterSceneNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/H5ActivityIdsNotify.pb.go b/protocol/proto/H5ActivityIdsNotify.pb.go
new file mode 100644
index 00000000..e473fa91
--- /dev/null
+++ b/protocol/proto/H5ActivityIdsNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: H5ActivityIdsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5675
+// EnetChannelId: 0
+// EnetIsReliable: true
+type H5ActivityIdsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClientRedDotTimestamp uint32 `protobuf:"varint,1,opt,name=client_red_dot_timestamp,json=clientRedDotTimestamp,proto3" json:"client_red_dot_timestamp,omitempty"`
+ H5ActivityMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=h5_activity_map,json=h5ActivityMap,proto3" json:"h5_activity_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *H5ActivityIdsNotify) Reset() {
+ *x = H5ActivityIdsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_H5ActivityIdsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *H5ActivityIdsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*H5ActivityIdsNotify) ProtoMessage() {}
+
+func (x *H5ActivityIdsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_H5ActivityIdsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use H5ActivityIdsNotify.ProtoReflect.Descriptor instead.
+func (*H5ActivityIdsNotify) Descriptor() ([]byte, []int) {
+ return file_H5ActivityIdsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *H5ActivityIdsNotify) GetClientRedDotTimestamp() uint32 {
+ if x != nil {
+ return x.ClientRedDotTimestamp
+ }
+ return 0
+}
+
+func (x *H5ActivityIdsNotify) GetH5ActivityMap() map[uint32]uint32 {
+ if x != nil {
+ return x.H5ActivityMap
+ }
+ return nil
+}
+
+var File_H5ActivityIdsNotify_proto protoreflect.FileDescriptor
+
+var file_H5ActivityIdsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x73, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x13, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x44, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x0f, 0x68, 0x35, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x68, 0x35, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x1a, 0x40, 0x0a, 0x12, 0x48, 0x35,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_H5ActivityIdsNotify_proto_rawDescOnce sync.Once
+ file_H5ActivityIdsNotify_proto_rawDescData = file_H5ActivityIdsNotify_proto_rawDesc
+)
+
+func file_H5ActivityIdsNotify_proto_rawDescGZIP() []byte {
+ file_H5ActivityIdsNotify_proto_rawDescOnce.Do(func() {
+ file_H5ActivityIdsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_H5ActivityIdsNotify_proto_rawDescData)
+ })
+ return file_H5ActivityIdsNotify_proto_rawDescData
+}
+
+var file_H5ActivityIdsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_H5ActivityIdsNotify_proto_goTypes = []interface{}{
+ (*H5ActivityIdsNotify)(nil), // 0: proto.H5ActivityIdsNotify
+ nil, // 1: proto.H5ActivityIdsNotify.H5ActivityMapEntry
+}
+var file_H5ActivityIdsNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.H5ActivityIdsNotify.h5_activity_map:type_name -> proto.H5ActivityIdsNotify.H5ActivityMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_H5ActivityIdsNotify_proto_init() }
+func file_H5ActivityIdsNotify_proto_init() {
+ if File_H5ActivityIdsNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_H5ActivityIdsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*H5ActivityIdsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_H5ActivityIdsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_H5ActivityIdsNotify_proto_goTypes,
+ DependencyIndexes: file_H5ActivityIdsNotify_proto_depIdxs,
+ MessageInfos: file_H5ActivityIdsNotify_proto_msgTypes,
+ }.Build()
+ File_H5ActivityIdsNotify_proto = out.File
+ file_H5ActivityIdsNotify_proto_rawDesc = nil
+ file_H5ActivityIdsNotify_proto_goTypes = nil
+ file_H5ActivityIdsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/H5ActivityInfo.pb.go b/protocol/proto/H5ActivityInfo.pb.go
new file mode 100644
index 00000000..1bc1a47d
--- /dev/null
+++ b/protocol/proto/H5ActivityInfo.pb.go
@@ -0,0 +1,230 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: H5ActivityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type H5ActivityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ H5ActivityId uint32 `protobuf:"varint,3,opt,name=h5_activity_id,json=h5ActivityId,proto3" json:"h5_activity_id,omitempty"`
+ Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
+ IsEntranceOpen bool `protobuf:"varint,7,opt,name=is_entrance_open,json=isEntranceOpen,proto3" json:"is_entrance_open,omitempty"`
+ H5ScheduleId uint32 `protobuf:"varint,8,opt,name=h5_schedule_id,json=h5ScheduleId,proto3" json:"h5_schedule_id,omitempty"`
+ EndTime uint32 `protobuf:"varint,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ PrefabPath string `protobuf:"bytes,11,opt,name=prefab_path,json=prefabPath,proto3" json:"prefab_path,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,2,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ BeginTime uint32 `protobuf:"varint,13,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+}
+
+func (x *H5ActivityInfo) Reset() {
+ *x = H5ActivityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_H5ActivityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *H5ActivityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*H5ActivityInfo) ProtoMessage() {}
+
+func (x *H5ActivityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_H5ActivityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use H5ActivityInfo.ProtoReflect.Descriptor instead.
+func (*H5ActivityInfo) Descriptor() ([]byte, []int) {
+ return file_H5ActivityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *H5ActivityInfo) GetH5ActivityId() uint32 {
+ if x != nil {
+ return x.H5ActivityId
+ }
+ return 0
+}
+
+func (x *H5ActivityInfo) GetUrl() string {
+ if x != nil {
+ return x.Url
+ }
+ return ""
+}
+
+func (x *H5ActivityInfo) GetIsEntranceOpen() bool {
+ if x != nil {
+ return x.IsEntranceOpen
+ }
+ return false
+}
+
+func (x *H5ActivityInfo) GetH5ScheduleId() uint32 {
+ if x != nil {
+ return x.H5ScheduleId
+ }
+ return 0
+}
+
+func (x *H5ActivityInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *H5ActivityInfo) GetPrefabPath() string {
+ if x != nil {
+ return x.PrefabPath
+ }
+ return ""
+}
+
+func (x *H5ActivityInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *H5ActivityInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+var File_H5ActivityInfo_proto protoreflect.FileDescriptor
+
+var file_H5ActivityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x02,
+ 0x0a, 0x0e, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x35, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x68, 0x35, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x65,
+ 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x70,
+ 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x35, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x68, 0x35, 0x53, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x61, 0x62, 0x5f, 0x70, 0x61,
+ 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x61, 0x62,
+ 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f,
+ 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_H5ActivityInfo_proto_rawDescOnce sync.Once
+ file_H5ActivityInfo_proto_rawDescData = file_H5ActivityInfo_proto_rawDesc
+)
+
+func file_H5ActivityInfo_proto_rawDescGZIP() []byte {
+ file_H5ActivityInfo_proto_rawDescOnce.Do(func() {
+ file_H5ActivityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_H5ActivityInfo_proto_rawDescData)
+ })
+ return file_H5ActivityInfo_proto_rawDescData
+}
+
+var file_H5ActivityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_H5ActivityInfo_proto_goTypes = []interface{}{
+ (*H5ActivityInfo)(nil), // 0: proto.H5ActivityInfo
+}
+var file_H5ActivityInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_H5ActivityInfo_proto_init() }
+func file_H5ActivityInfo_proto_init() {
+ if File_H5ActivityInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_H5ActivityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*H5ActivityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_H5ActivityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_H5ActivityInfo_proto_goTypes,
+ DependencyIndexes: file_H5ActivityInfo_proto_depIdxs,
+ MessageInfos: file_H5ActivityInfo_proto_msgTypes,
+ }.Build()
+ File_H5ActivityInfo_proto = out.File
+ file_H5ActivityInfo_proto_rawDesc = nil
+ file_H5ActivityInfo_proto_goTypes = nil
+ file_H5ActivityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HachiActivityDetailInfo.pb.go b/protocol/proto/HachiActivityDetailInfo.pb.go
new file mode 100644
index 00000000..0ea28b8c
--- /dev/null
+++ b/protocol/proto/HachiActivityDetailInfo.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HachiActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HachiActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageMap map[uint32]*HachiStageData `protobuf:"bytes,6,rep,name=stage_map,json=stageMap,proto3" json:"stage_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *HachiActivityDetailInfo) Reset() {
+ *x = HachiActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HachiActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HachiActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HachiActivityDetailInfo) ProtoMessage() {}
+
+func (x *HachiActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HachiActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HachiActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*HachiActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_HachiActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HachiActivityDetailInfo) GetStageMap() map[uint32]*HachiStageData {
+ if x != nil {
+ return x.StageMap
+ }
+ return nil
+}
+
+var File_HachiActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_HachiActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x61, 0x63, 0x68, 0x69, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x48, 0x61, 0x63, 0x68, 0x69, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a,
+ 0x17, 0x48, 0x61, 0x63, 0x68, 0x69, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x61, 0x63, 0x68, 0x69, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x4d, 0x61, 0x70, 0x1a, 0x52, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x61,
+ 0x63, 0x68, 0x69, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HachiActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_HachiActivityDetailInfo_proto_rawDescData = file_HachiActivityDetailInfo_proto_rawDesc
+)
+
+func file_HachiActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_HachiActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_HachiActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HachiActivityDetailInfo_proto_rawDescData)
+ })
+ return file_HachiActivityDetailInfo_proto_rawDescData
+}
+
+var file_HachiActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_HachiActivityDetailInfo_proto_goTypes = []interface{}{
+ (*HachiActivityDetailInfo)(nil), // 0: proto.HachiActivityDetailInfo
+ nil, // 1: proto.HachiActivityDetailInfo.StageMapEntry
+ (*HachiStageData)(nil), // 2: proto.HachiStageData
+}
+var file_HachiActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HachiActivityDetailInfo.stage_map:type_name -> proto.HachiActivityDetailInfo.StageMapEntry
+ 2, // 1: proto.HachiActivityDetailInfo.StageMapEntry.value:type_name -> proto.HachiStageData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HachiActivityDetailInfo_proto_init() }
+func file_HachiActivityDetailInfo_proto_init() {
+ if File_HachiActivityDetailInfo_proto != nil {
+ return
+ }
+ file_HachiStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HachiActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HachiActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HachiActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HachiActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_HachiActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_HachiActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_HachiActivityDetailInfo_proto = out.File
+ file_HachiActivityDetailInfo_proto_rawDesc = nil
+ file_HachiActivityDetailInfo_proto_goTypes = nil
+ file_HachiActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HachiStageData.pb.go b/protocol/proto/HachiStageData.pb.go
new file mode 100644
index 00000000..2c65a0d5
--- /dev/null
+++ b/protocol/proto/HachiStageData.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HachiStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HachiStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,8,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ IsFinished bool `protobuf:"varint,12,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ OpenTime uint32 `protobuf:"varint,5,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ StageId uint32 `protobuf:"varint,14,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *HachiStageData) Reset() {
+ *x = HachiStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HachiStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HachiStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HachiStageData) ProtoMessage() {}
+
+func (x *HachiStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_HachiStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HachiStageData.ProtoReflect.Descriptor instead.
+func (*HachiStageData) Descriptor() ([]byte, []int) {
+ return file_HachiStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HachiStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *HachiStageData) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *HachiStageData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *HachiStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_HachiStageData_proto protoreflect.FileDescriptor
+
+var file_HachiStageData_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x48, 0x61, 0x63, 0x68, 0x69, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x01,
+ 0x0a, 0x0e, 0x48, 0x61, 0x63, 0x68, 0x69, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
+ 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70,
+ 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f,
+ 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HachiStageData_proto_rawDescOnce sync.Once
+ file_HachiStageData_proto_rawDescData = file_HachiStageData_proto_rawDesc
+)
+
+func file_HachiStageData_proto_rawDescGZIP() []byte {
+ file_HachiStageData_proto_rawDescOnce.Do(func() {
+ file_HachiStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HachiStageData_proto_rawDescData)
+ })
+ return file_HachiStageData_proto_rawDescData
+}
+
+var file_HachiStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HachiStageData_proto_goTypes = []interface{}{
+ (*HachiStageData)(nil), // 0: proto.HachiStageData
+}
+var file_HachiStageData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HachiStageData_proto_init() }
+func file_HachiStageData_proto_init() {
+ if File_HachiStageData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HachiStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HachiStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HachiStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HachiStageData_proto_goTypes,
+ DependencyIndexes: file_HachiStageData_proto_depIdxs,
+ MessageInfos: file_HachiStageData_proto_msgTypes,
+ }.Build()
+ File_HachiStageData_proto = out.File
+ file_HachiStageData_proto_rawDesc = nil
+ file_HachiStageData_proto_goTypes = nil
+ file_HachiStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HashedString.pb.go b/protocol/proto/HashedString.pb.go
new file mode 100644
index 00000000..33670228
--- /dev/null
+++ b/protocol/proto/HashedString.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HashedString.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HashedString struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Hash uint32 `protobuf:"varint,1,opt,name=hash,proto3" json:"hash,omitempty"`
+}
+
+func (x *HashedString) Reset() {
+ *x = HashedString{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HashedString_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HashedString) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HashedString) ProtoMessage() {}
+
+func (x *HashedString) ProtoReflect() protoreflect.Message {
+ mi := &file_HashedString_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HashedString.ProtoReflect.Descriptor instead.
+func (*HashedString) Descriptor() ([]byte, []int) {
+ return file_HashedString_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HashedString) GetHash() uint32 {
+ if x != nil {
+ return x.Hash
+ }
+ return 0
+}
+
+var File_HashedString_proto protoreflect.FileDescriptor
+
+var file_HashedString_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x48, 0x61, 0x73, 0x68, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x22, 0x0a, 0x0c, 0x48,
+ 0x61, 0x73, 0x68, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x68,
+ 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HashedString_proto_rawDescOnce sync.Once
+ file_HashedString_proto_rawDescData = file_HashedString_proto_rawDesc
+)
+
+func file_HashedString_proto_rawDescGZIP() []byte {
+ file_HashedString_proto_rawDescOnce.Do(func() {
+ file_HashedString_proto_rawDescData = protoimpl.X.CompressGZIP(file_HashedString_proto_rawDescData)
+ })
+ return file_HashedString_proto_rawDescData
+}
+
+var file_HashedString_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HashedString_proto_goTypes = []interface{}{
+ (*HashedString)(nil), // 0: proto.HashedString
+}
+var file_HashedString_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HashedString_proto_init() }
+func file_HashedString_proto_init() {
+ if File_HashedString_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HashedString_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HashedString); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HashedString_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HashedString_proto_goTypes,
+ DependencyIndexes: file_HashedString_proto_depIdxs,
+ MessageInfos: file_HashedString_proto_msgTypes,
+ }.Build()
+ File_HashedString_proto = out.File
+ file_HashedString_proto_rawDesc = nil
+ file_HashedString_proto_goTypes = nil
+ file_HashedString_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekActivityDetailInfo.pb.go b/protocol/proto/HideAndSeekActivityDetailInfo.pb.go
new file mode 100644
index 00000000..717e928b
--- /dev/null
+++ b/protocol/proto/HideAndSeekActivityDetailInfo.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HideAndSeekActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenMapInfoList []*HideAndSeekMapInfo `protobuf:"bytes,1,rep,name=open_map_info_list,json=openMapInfoList,proto3" json:"open_map_info_list,omitempty"`
+ ChosenHunterSkillList []uint32 `protobuf:"varint,4,rep,packed,name=chosen_hunter_skill_list,json=chosenHunterSkillList,proto3" json:"chosen_hunter_skill_list,omitempty"`
+ UnlockMapList []uint32 `protobuf:"varint,13,rep,packed,name=unlock_map_list,json=unlockMapList,proto3" json:"unlock_map_list,omitempty"`
+ ChosenHiderSkillList []uint32 `protobuf:"varint,6,rep,packed,name=chosen_hider_skill_list,json=chosenHiderSkillList,proto3" json:"chosen_hider_skill_list,omitempty"`
+}
+
+func (x *HideAndSeekActivityDetailInfo) Reset() {
+ *x = HideAndSeekActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekActivityDetailInfo) ProtoMessage() {}
+
+func (x *HideAndSeekActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*HideAndSeekActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekActivityDetailInfo) GetOpenMapInfoList() []*HideAndSeekMapInfo {
+ if x != nil {
+ return x.OpenMapInfoList
+ }
+ return nil
+}
+
+func (x *HideAndSeekActivityDetailInfo) GetChosenHunterSkillList() []uint32 {
+ if x != nil {
+ return x.ChosenHunterSkillList
+ }
+ return nil
+}
+
+func (x *HideAndSeekActivityDetailInfo) GetUnlockMapList() []uint32 {
+ if x != nil {
+ return x.UnlockMapList
+ }
+ return nil
+}
+
+func (x *HideAndSeekActivityDetailInfo) GetChosenHiderSkillList() []uint32 {
+ if x != nil {
+ return x.ChosenHiderSkillList
+ }
+ return nil
+}
+
+var File_HideAndSeekActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x48, 0x69,
+ 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x01, 0x0a, 0x1d, 0x48, 0x69, 0x64, 0x65, 0x41,
+ 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x12, 0x6f, 0x70, 0x65, 0x6e,
+ 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x64,
+ 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x37, 0x0a, 0x18, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x5f, 0x68, 0x75, 0x6e, 0x74, 0x65,
+ 0x72, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x48, 0x75, 0x6e, 0x74, 0x65, 0x72,
+ 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x6e, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0d, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x35, 0x0a, 0x17, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x5f, 0x68, 0x69, 0x64, 0x65,
+ 0x72, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x14, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x48, 0x69, 0x64, 0x65, 0x72, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_HideAndSeekActivityDetailInfo_proto_rawDescData = file_HideAndSeekActivityDetailInfo_proto_rawDesc
+)
+
+func file_HideAndSeekActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_HideAndSeekActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekActivityDetailInfo_proto_rawDescData)
+ })
+ return file_HideAndSeekActivityDetailInfo_proto_rawDescData
+}
+
+var file_HideAndSeekActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekActivityDetailInfo_proto_goTypes = []interface{}{
+ (*HideAndSeekActivityDetailInfo)(nil), // 0: proto.HideAndSeekActivityDetailInfo
+ (*HideAndSeekMapInfo)(nil), // 1: proto.HideAndSeekMapInfo
+}
+var file_HideAndSeekActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HideAndSeekActivityDetailInfo.open_map_info_list:type_name -> proto.HideAndSeekMapInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekActivityDetailInfo_proto_init() }
+func file_HideAndSeekActivityDetailInfo_proto_init() {
+ if File_HideAndSeekActivityDetailInfo_proto != nil {
+ return
+ }
+ file_HideAndSeekMapInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_HideAndSeekActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekActivityDetailInfo_proto = out.File
+ file_HideAndSeekActivityDetailInfo_proto_rawDesc = nil
+ file_HideAndSeekActivityDetailInfo_proto_goTypes = nil
+ file_HideAndSeekActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekMapInfo.pb.go b/protocol/proto/HideAndSeekMapInfo.pb.go
new file mode 100644
index 00000000..06f3ff64
--- /dev/null
+++ b/protocol/proto/HideAndSeekMapInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekMapInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HideAndSeekMapInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchLockReasonList []uint32 `protobuf:"varint,11,rep,packed,name=match_lock_reason_list,json=matchLockReasonList,proto3" json:"match_lock_reason_list,omitempty"`
+ Id uint32 `protobuf:"varint,7,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *HideAndSeekMapInfo) Reset() {
+ *x = HideAndSeekMapInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekMapInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekMapInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekMapInfo) ProtoMessage() {}
+
+func (x *HideAndSeekMapInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekMapInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekMapInfo.ProtoReflect.Descriptor instead.
+func (*HideAndSeekMapInfo) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekMapInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekMapInfo) GetMatchLockReasonList() []uint32 {
+ if x != nil {
+ return x.MatchLockReasonList
+ }
+ return nil
+}
+
+func (x *HideAndSeekMapInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_HideAndSeekMapInfo_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekMapInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x4d, 0x61, 0x70,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x59, 0x0a, 0x12, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b,
+ 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x6f,
+ 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekMapInfo_proto_rawDescOnce sync.Once
+ file_HideAndSeekMapInfo_proto_rawDescData = file_HideAndSeekMapInfo_proto_rawDesc
+)
+
+func file_HideAndSeekMapInfo_proto_rawDescGZIP() []byte {
+ file_HideAndSeekMapInfo_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekMapInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekMapInfo_proto_rawDescData)
+ })
+ return file_HideAndSeekMapInfo_proto_rawDescData
+}
+
+var file_HideAndSeekMapInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekMapInfo_proto_goTypes = []interface{}{
+ (*HideAndSeekMapInfo)(nil), // 0: proto.HideAndSeekMapInfo
+}
+var file_HideAndSeekMapInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekMapInfo_proto_init() }
+func file_HideAndSeekMapInfo_proto_init() {
+ if File_HideAndSeekMapInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekMapInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekMapInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekMapInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekMapInfo_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekMapInfo_proto_depIdxs,
+ MessageInfos: file_HideAndSeekMapInfo_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekMapInfo_proto = out.File
+ file_HideAndSeekMapInfo_proto_rawDesc = nil
+ file_HideAndSeekMapInfo_proto_goTypes = nil
+ file_HideAndSeekMapInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekPlayerBattleInfo.pb.go b/protocol/proto/HideAndSeekPlayerBattleInfo.pb.go
new file mode 100644
index 00000000..2bce96dd
--- /dev/null
+++ b/protocol/proto/HideAndSeekPlayerBattleInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekPlayerBattleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HideAndSeekPlayerBattleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostumeId uint32 `protobuf:"varint,3,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ SkillList []uint32 `protobuf:"varint,15,rep,packed,name=skill_list,json=skillList,proto3" json:"skill_list,omitempty"`
+ IsReady bool `protobuf:"varint,12,opt,name=is_ready,json=isReady,proto3" json:"is_ready,omitempty"`
+ AvatarId uint32 `protobuf:"varint,6,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *HideAndSeekPlayerBattleInfo) Reset() {
+ *x = HideAndSeekPlayerBattleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekPlayerBattleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekPlayerBattleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekPlayerBattleInfo) ProtoMessage() {}
+
+func (x *HideAndSeekPlayerBattleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekPlayerBattleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekPlayerBattleInfo.ProtoReflect.Descriptor instead.
+func (*HideAndSeekPlayerBattleInfo) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekPlayerBattleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekPlayerBattleInfo) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *HideAndSeekPlayerBattleInfo) GetSkillList() []uint32 {
+ if x != nil {
+ return x.SkillList
+ }
+ return nil
+}
+
+func (x *HideAndSeekPlayerBattleInfo) GetIsReady() bool {
+ if x != nil {
+ return x.IsReady
+ }
+ return false
+}
+
+func (x *HideAndSeekPlayerBattleInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_HideAndSeekPlayerBattleInfo_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekPlayerBattleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x1b, 0x48,
+ 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f,
+ 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72,
+ 0x65, 0x61, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65,
+ 0x61, 0x64, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekPlayerBattleInfo_proto_rawDescOnce sync.Once
+ file_HideAndSeekPlayerBattleInfo_proto_rawDescData = file_HideAndSeekPlayerBattleInfo_proto_rawDesc
+)
+
+func file_HideAndSeekPlayerBattleInfo_proto_rawDescGZIP() []byte {
+ file_HideAndSeekPlayerBattleInfo_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekPlayerBattleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekPlayerBattleInfo_proto_rawDescData)
+ })
+ return file_HideAndSeekPlayerBattleInfo_proto_rawDescData
+}
+
+var file_HideAndSeekPlayerBattleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekPlayerBattleInfo_proto_goTypes = []interface{}{
+ (*HideAndSeekPlayerBattleInfo)(nil), // 0: proto.HideAndSeekPlayerBattleInfo
+}
+var file_HideAndSeekPlayerBattleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekPlayerBattleInfo_proto_init() }
+func file_HideAndSeekPlayerBattleInfo_proto_init() {
+ if File_HideAndSeekPlayerBattleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekPlayerBattleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekPlayerBattleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekPlayerBattleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekPlayerBattleInfo_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekPlayerBattleInfo_proto_depIdxs,
+ MessageInfos: file_HideAndSeekPlayerBattleInfo_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekPlayerBattleInfo_proto = out.File
+ file_HideAndSeekPlayerBattleInfo_proto_rawDesc = nil
+ file_HideAndSeekPlayerBattleInfo_proto_goTypes = nil
+ file_HideAndSeekPlayerBattleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekPlayerReadyNotify.pb.go b/protocol/proto/HideAndSeekPlayerReadyNotify.pb.go
new file mode 100644
index 00000000..60fd4fce
--- /dev/null
+++ b/protocol/proto/HideAndSeekPlayerReadyNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekPlayerReadyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5302
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HideAndSeekPlayerReadyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UidList []uint32 `protobuf:"varint,5,rep,packed,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"`
+}
+
+func (x *HideAndSeekPlayerReadyNotify) Reset() {
+ *x = HideAndSeekPlayerReadyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekPlayerReadyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekPlayerReadyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekPlayerReadyNotify) ProtoMessage() {}
+
+func (x *HideAndSeekPlayerReadyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekPlayerReadyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekPlayerReadyNotify.ProtoReflect.Descriptor instead.
+func (*HideAndSeekPlayerReadyNotify) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekPlayerReadyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekPlayerReadyNotify) GetUidList() []uint32 {
+ if x != nil {
+ return x.UidList
+ }
+ return nil
+}
+
+var File_HideAndSeekPlayerReadyNotify_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekPlayerReadyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1c, 0x48,
+ 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x52, 0x65, 0x61, 0x64, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x75,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekPlayerReadyNotify_proto_rawDescOnce sync.Once
+ file_HideAndSeekPlayerReadyNotify_proto_rawDescData = file_HideAndSeekPlayerReadyNotify_proto_rawDesc
+)
+
+func file_HideAndSeekPlayerReadyNotify_proto_rawDescGZIP() []byte {
+ file_HideAndSeekPlayerReadyNotify_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekPlayerReadyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekPlayerReadyNotify_proto_rawDescData)
+ })
+ return file_HideAndSeekPlayerReadyNotify_proto_rawDescData
+}
+
+var file_HideAndSeekPlayerReadyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekPlayerReadyNotify_proto_goTypes = []interface{}{
+ (*HideAndSeekPlayerReadyNotify)(nil), // 0: proto.HideAndSeekPlayerReadyNotify
+}
+var file_HideAndSeekPlayerReadyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekPlayerReadyNotify_proto_init() }
+func file_HideAndSeekPlayerReadyNotify_proto_init() {
+ if File_HideAndSeekPlayerReadyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekPlayerReadyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekPlayerReadyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekPlayerReadyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekPlayerReadyNotify_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekPlayerReadyNotify_proto_depIdxs,
+ MessageInfos: file_HideAndSeekPlayerReadyNotify_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekPlayerReadyNotify_proto = out.File
+ file_HideAndSeekPlayerReadyNotify_proto_rawDesc = nil
+ file_HideAndSeekPlayerReadyNotify_proto_goTypes = nil
+ file_HideAndSeekPlayerReadyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekPlayerSetAvatarNotify.pb.go b/protocol/proto/HideAndSeekPlayerSetAvatarNotify.pb.go
new file mode 100644
index 00000000..f7a3f0ef
--- /dev/null
+++ b/protocol/proto/HideAndSeekPlayerSetAvatarNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekPlayerSetAvatarNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5319
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HideAndSeekPlayerSetAvatarNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,2,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ CostumeId uint32 `protobuf:"varint,13,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ Uid uint32 `protobuf:"varint,5,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *HideAndSeekPlayerSetAvatarNotify) Reset() {
+ *x = HideAndSeekPlayerSetAvatarNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekPlayerSetAvatarNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekPlayerSetAvatarNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekPlayerSetAvatarNotify) ProtoMessage() {}
+
+func (x *HideAndSeekPlayerSetAvatarNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekPlayerSetAvatarNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekPlayerSetAvatarNotify.ProtoReflect.Descriptor instead.
+func (*HideAndSeekPlayerSetAvatarNotify) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekPlayerSetAvatarNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekPlayerSetAvatarNotify) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *HideAndSeekPlayerSetAvatarNotify) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *HideAndSeekPlayerSetAvatarNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_HideAndSeekPlayerSetAvatarNotify_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekPlayerSetAvatarNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x70, 0x0a, 0x20, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12,
+ 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekPlayerSetAvatarNotify_proto_rawDescOnce sync.Once
+ file_HideAndSeekPlayerSetAvatarNotify_proto_rawDescData = file_HideAndSeekPlayerSetAvatarNotify_proto_rawDesc
+)
+
+func file_HideAndSeekPlayerSetAvatarNotify_proto_rawDescGZIP() []byte {
+ file_HideAndSeekPlayerSetAvatarNotify_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekPlayerSetAvatarNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekPlayerSetAvatarNotify_proto_rawDescData)
+ })
+ return file_HideAndSeekPlayerSetAvatarNotify_proto_rawDescData
+}
+
+var file_HideAndSeekPlayerSetAvatarNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekPlayerSetAvatarNotify_proto_goTypes = []interface{}{
+ (*HideAndSeekPlayerSetAvatarNotify)(nil), // 0: proto.HideAndSeekPlayerSetAvatarNotify
+}
+var file_HideAndSeekPlayerSetAvatarNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekPlayerSetAvatarNotify_proto_init() }
+func file_HideAndSeekPlayerSetAvatarNotify_proto_init() {
+ if File_HideAndSeekPlayerSetAvatarNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekPlayerSetAvatarNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekPlayerSetAvatarNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekPlayerSetAvatarNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekPlayerSetAvatarNotify_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekPlayerSetAvatarNotify_proto_depIdxs,
+ MessageInfos: file_HideAndSeekPlayerSetAvatarNotify_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekPlayerSetAvatarNotify_proto = out.File
+ file_HideAndSeekPlayerSetAvatarNotify_proto_rawDesc = nil
+ file_HideAndSeekPlayerSetAvatarNotify_proto_goTypes = nil
+ file_HideAndSeekPlayerSetAvatarNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekSelectAvatarReq.pb.go b/protocol/proto/HideAndSeekSelectAvatarReq.pb.go
new file mode 100644
index 00000000..57500446
--- /dev/null
+++ b/protocol/proto/HideAndSeekSelectAvatarReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekSelectAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5330
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HideAndSeekSelectAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,8,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *HideAndSeekSelectAvatarReq) Reset() {
+ *x = HideAndSeekSelectAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekSelectAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekSelectAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekSelectAvatarReq) ProtoMessage() {}
+
+func (x *HideAndSeekSelectAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekSelectAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekSelectAvatarReq.ProtoReflect.Descriptor instead.
+func (*HideAndSeekSelectAvatarReq) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekSelectAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekSelectAvatarReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_HideAndSeekSelectAvatarReq_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekSelectAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1a, 0x48, 0x69, 0x64,
+ 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekSelectAvatarReq_proto_rawDescOnce sync.Once
+ file_HideAndSeekSelectAvatarReq_proto_rawDescData = file_HideAndSeekSelectAvatarReq_proto_rawDesc
+)
+
+func file_HideAndSeekSelectAvatarReq_proto_rawDescGZIP() []byte {
+ file_HideAndSeekSelectAvatarReq_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekSelectAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekSelectAvatarReq_proto_rawDescData)
+ })
+ return file_HideAndSeekSelectAvatarReq_proto_rawDescData
+}
+
+var file_HideAndSeekSelectAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekSelectAvatarReq_proto_goTypes = []interface{}{
+ (*HideAndSeekSelectAvatarReq)(nil), // 0: proto.HideAndSeekSelectAvatarReq
+}
+var file_HideAndSeekSelectAvatarReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekSelectAvatarReq_proto_init() }
+func file_HideAndSeekSelectAvatarReq_proto_init() {
+ if File_HideAndSeekSelectAvatarReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekSelectAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekSelectAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekSelectAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekSelectAvatarReq_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekSelectAvatarReq_proto_depIdxs,
+ MessageInfos: file_HideAndSeekSelectAvatarReq_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekSelectAvatarReq_proto = out.File
+ file_HideAndSeekSelectAvatarReq_proto_rawDesc = nil
+ file_HideAndSeekSelectAvatarReq_proto_goTypes = nil
+ file_HideAndSeekSelectAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekSelectAvatarRsp.pb.go b/protocol/proto/HideAndSeekSelectAvatarRsp.pb.go
new file mode 100644
index 00000000..31e35140
--- /dev/null
+++ b/protocol/proto/HideAndSeekSelectAvatarRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekSelectAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5367
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HideAndSeekSelectAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AvatarId uint32 `protobuf:"varint,3,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *HideAndSeekSelectAvatarRsp) Reset() {
+ *x = HideAndSeekSelectAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekSelectAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekSelectAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekSelectAvatarRsp) ProtoMessage() {}
+
+func (x *HideAndSeekSelectAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekSelectAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekSelectAvatarRsp.ProtoReflect.Descriptor instead.
+func (*HideAndSeekSelectAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekSelectAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekSelectAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HideAndSeekSelectAvatarRsp) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_HideAndSeekSelectAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekSelectAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1a, 0x48, 0x69, 0x64,
+ 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekSelectAvatarRsp_proto_rawDescOnce sync.Once
+ file_HideAndSeekSelectAvatarRsp_proto_rawDescData = file_HideAndSeekSelectAvatarRsp_proto_rawDesc
+)
+
+func file_HideAndSeekSelectAvatarRsp_proto_rawDescGZIP() []byte {
+ file_HideAndSeekSelectAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekSelectAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekSelectAvatarRsp_proto_rawDescData)
+ })
+ return file_HideAndSeekSelectAvatarRsp_proto_rawDescData
+}
+
+var file_HideAndSeekSelectAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekSelectAvatarRsp_proto_goTypes = []interface{}{
+ (*HideAndSeekSelectAvatarRsp)(nil), // 0: proto.HideAndSeekSelectAvatarRsp
+}
+var file_HideAndSeekSelectAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekSelectAvatarRsp_proto_init() }
+func file_HideAndSeekSelectAvatarRsp_proto_init() {
+ if File_HideAndSeekSelectAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekSelectAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekSelectAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekSelectAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekSelectAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekSelectAvatarRsp_proto_depIdxs,
+ MessageInfos: file_HideAndSeekSelectAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekSelectAvatarRsp_proto = out.File
+ file_HideAndSeekSelectAvatarRsp_proto_rawDesc = nil
+ file_HideAndSeekSelectAvatarRsp_proto_goTypes = nil
+ file_HideAndSeekSelectAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekSelectSkillReq.pb.go b/protocol/proto/HideAndSeekSelectSkillReq.pb.go
new file mode 100644
index 00000000..333e7f6c
--- /dev/null
+++ b/protocol/proto/HideAndSeekSelectSkillReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekSelectSkillReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8183
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HideAndSeekSelectSkillReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillList []uint32 `protobuf:"varint,13,rep,packed,name=skill_list,json=skillList,proto3" json:"skill_list,omitempty"`
+}
+
+func (x *HideAndSeekSelectSkillReq) Reset() {
+ *x = HideAndSeekSelectSkillReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekSelectSkillReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekSelectSkillReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekSelectSkillReq) ProtoMessage() {}
+
+func (x *HideAndSeekSelectSkillReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekSelectSkillReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekSelectSkillReq.ProtoReflect.Descriptor instead.
+func (*HideAndSeekSelectSkillReq) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekSelectSkillReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekSelectSkillReq) GetSkillList() []uint32 {
+ if x != nil {
+ return x.SkillList
+ }
+ return nil
+}
+
+var File_HideAndSeekSelectSkillReq_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekSelectSkillReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x19, 0x48, 0x69, 0x64, 0x65,
+ 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekSelectSkillReq_proto_rawDescOnce sync.Once
+ file_HideAndSeekSelectSkillReq_proto_rawDescData = file_HideAndSeekSelectSkillReq_proto_rawDesc
+)
+
+func file_HideAndSeekSelectSkillReq_proto_rawDescGZIP() []byte {
+ file_HideAndSeekSelectSkillReq_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekSelectSkillReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekSelectSkillReq_proto_rawDescData)
+ })
+ return file_HideAndSeekSelectSkillReq_proto_rawDescData
+}
+
+var file_HideAndSeekSelectSkillReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekSelectSkillReq_proto_goTypes = []interface{}{
+ (*HideAndSeekSelectSkillReq)(nil), // 0: proto.HideAndSeekSelectSkillReq
+}
+var file_HideAndSeekSelectSkillReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekSelectSkillReq_proto_init() }
+func file_HideAndSeekSelectSkillReq_proto_init() {
+ if File_HideAndSeekSelectSkillReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekSelectSkillReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekSelectSkillReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekSelectSkillReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekSelectSkillReq_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekSelectSkillReq_proto_depIdxs,
+ MessageInfos: file_HideAndSeekSelectSkillReq_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekSelectSkillReq_proto = out.File
+ file_HideAndSeekSelectSkillReq_proto_rawDesc = nil
+ file_HideAndSeekSelectSkillReq_proto_goTypes = nil
+ file_HideAndSeekSelectSkillReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekSelectSkillRsp.pb.go b/protocol/proto/HideAndSeekSelectSkillRsp.pb.go
new file mode 100644
index 00000000..cabdaf18
--- /dev/null
+++ b/protocol/proto/HideAndSeekSelectSkillRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekSelectSkillRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8088
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HideAndSeekSelectSkillRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SkillList []uint32 `protobuf:"varint,12,rep,packed,name=skill_list,json=skillList,proto3" json:"skill_list,omitempty"`
+}
+
+func (x *HideAndSeekSelectSkillRsp) Reset() {
+ *x = HideAndSeekSelectSkillRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekSelectSkillRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekSelectSkillRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekSelectSkillRsp) ProtoMessage() {}
+
+func (x *HideAndSeekSelectSkillRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekSelectSkillRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekSelectSkillRsp.ProtoReflect.Descriptor instead.
+func (*HideAndSeekSelectSkillRsp) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekSelectSkillRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekSelectSkillRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HideAndSeekSelectSkillRsp) GetSkillList() []uint32 {
+ if x != nil {
+ return x.SkillList
+ }
+ return nil
+}
+
+var File_HideAndSeekSelectSkillRsp_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekSelectSkillRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x19, 0x48, 0x69, 0x64, 0x65,
+ 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekSelectSkillRsp_proto_rawDescOnce sync.Once
+ file_HideAndSeekSelectSkillRsp_proto_rawDescData = file_HideAndSeekSelectSkillRsp_proto_rawDesc
+)
+
+func file_HideAndSeekSelectSkillRsp_proto_rawDescGZIP() []byte {
+ file_HideAndSeekSelectSkillRsp_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekSelectSkillRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekSelectSkillRsp_proto_rawDescData)
+ })
+ return file_HideAndSeekSelectSkillRsp_proto_rawDescData
+}
+
+var file_HideAndSeekSelectSkillRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekSelectSkillRsp_proto_goTypes = []interface{}{
+ (*HideAndSeekSelectSkillRsp)(nil), // 0: proto.HideAndSeekSelectSkillRsp
+}
+var file_HideAndSeekSelectSkillRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekSelectSkillRsp_proto_init() }
+func file_HideAndSeekSelectSkillRsp_proto_init() {
+ if File_HideAndSeekSelectSkillRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekSelectSkillRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekSelectSkillRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekSelectSkillRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekSelectSkillRsp_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekSelectSkillRsp_proto_depIdxs,
+ MessageInfos: file_HideAndSeekSelectSkillRsp_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekSelectSkillRsp_proto = out.File
+ file_HideAndSeekSelectSkillRsp_proto_rawDesc = nil
+ file_HideAndSeekSelectSkillRsp_proto_goTypes = nil
+ file_HideAndSeekSelectSkillRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekSetReadyReq.pb.go b/protocol/proto/HideAndSeekSetReadyReq.pb.go
new file mode 100644
index 00000000..7f7e7a9d
--- /dev/null
+++ b/protocol/proto/HideAndSeekSetReadyReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekSetReadyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5358
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HideAndSeekSetReadyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HideAndSeekSetReadyReq) Reset() {
+ *x = HideAndSeekSetReadyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekSetReadyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekSetReadyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekSetReadyReq) ProtoMessage() {}
+
+func (x *HideAndSeekSetReadyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekSetReadyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekSetReadyReq.ProtoReflect.Descriptor instead.
+func (*HideAndSeekSetReadyReq) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekSetReadyReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HideAndSeekSetReadyReq_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekSetReadyReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74,
+ 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64,
+ 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekSetReadyReq_proto_rawDescOnce sync.Once
+ file_HideAndSeekSetReadyReq_proto_rawDescData = file_HideAndSeekSetReadyReq_proto_rawDesc
+)
+
+func file_HideAndSeekSetReadyReq_proto_rawDescGZIP() []byte {
+ file_HideAndSeekSetReadyReq_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekSetReadyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekSetReadyReq_proto_rawDescData)
+ })
+ return file_HideAndSeekSetReadyReq_proto_rawDescData
+}
+
+var file_HideAndSeekSetReadyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekSetReadyReq_proto_goTypes = []interface{}{
+ (*HideAndSeekSetReadyReq)(nil), // 0: proto.HideAndSeekSetReadyReq
+}
+var file_HideAndSeekSetReadyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekSetReadyReq_proto_init() }
+func file_HideAndSeekSetReadyReq_proto_init() {
+ if File_HideAndSeekSetReadyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekSetReadyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekSetReadyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekSetReadyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekSetReadyReq_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekSetReadyReq_proto_depIdxs,
+ MessageInfos: file_HideAndSeekSetReadyReq_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekSetReadyReq_proto = out.File
+ file_HideAndSeekSetReadyReq_proto_rawDesc = nil
+ file_HideAndSeekSetReadyReq_proto_goTypes = nil
+ file_HideAndSeekSetReadyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekSetReadyRsp.pb.go b/protocol/proto/HideAndSeekSetReadyRsp.pb.go
new file mode 100644
index 00000000..e10f4407
--- /dev/null
+++ b/protocol/proto/HideAndSeekSetReadyRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekSetReadyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5370
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HideAndSeekSetReadyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HideAndSeekSetReadyRsp) Reset() {
+ *x = HideAndSeekSetReadyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekSetReadyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekSetReadyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekSetReadyRsp) ProtoMessage() {}
+
+func (x *HideAndSeekSetReadyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekSetReadyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekSetReadyRsp.ProtoReflect.Descriptor instead.
+func (*HideAndSeekSetReadyRsp) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekSetReadyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekSetReadyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HideAndSeekSetReadyRsp_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekSetReadyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74,
+ 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64,
+ 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekSetReadyRsp_proto_rawDescOnce sync.Once
+ file_HideAndSeekSetReadyRsp_proto_rawDescData = file_HideAndSeekSetReadyRsp_proto_rawDesc
+)
+
+func file_HideAndSeekSetReadyRsp_proto_rawDescGZIP() []byte {
+ file_HideAndSeekSetReadyRsp_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekSetReadyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekSetReadyRsp_proto_rawDescData)
+ })
+ return file_HideAndSeekSetReadyRsp_proto_rawDescData
+}
+
+var file_HideAndSeekSetReadyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekSetReadyRsp_proto_goTypes = []interface{}{
+ (*HideAndSeekSetReadyRsp)(nil), // 0: proto.HideAndSeekSetReadyRsp
+}
+var file_HideAndSeekSetReadyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekSetReadyRsp_proto_init() }
+func file_HideAndSeekSetReadyRsp_proto_init() {
+ if File_HideAndSeekSetReadyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekSetReadyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekSetReadyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekSetReadyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekSetReadyRsp_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekSetReadyRsp_proto_depIdxs,
+ MessageInfos: file_HideAndSeekSetReadyRsp_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekSetReadyRsp_proto = out.File
+ file_HideAndSeekSetReadyRsp_proto_rawDesc = nil
+ file_HideAndSeekSetReadyRsp_proto_goTypes = nil
+ file_HideAndSeekSetReadyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekSettleInfo.pb.go b/protocol/proto/HideAndSeekSettleInfo.pb.go
new file mode 100644
index 00000000..fda44269
--- /dev/null
+++ b/protocol/proto/HideAndSeekSettleInfo.pb.go
@@ -0,0 +1,221 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HideAndSeekSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,2,opt,name=uid,proto3" json:"uid,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,1,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ CardList []*ExhibitionDisplayInfo `protobuf:"bytes,8,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ Nickname string `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ HeadImage uint32 `protobuf:"varint,4,opt,name=head_image,json=headImage,proto3" json:"head_image,omitempty"`
+ OnlineId string `protobuf:"bytes,10,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+}
+
+func (x *HideAndSeekSettleInfo) Reset() {
+ *x = HideAndSeekSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekSettleInfo) ProtoMessage() {}
+
+func (x *HideAndSeekSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekSettleInfo.ProtoReflect.Descriptor instead.
+func (*HideAndSeekSettleInfo) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekSettleInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *HideAndSeekSettleInfo) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *HideAndSeekSettleInfo) GetCardList() []*ExhibitionDisplayInfo {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *HideAndSeekSettleInfo) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *HideAndSeekSettleInfo) GetHeadImage() uint32 {
+ if x != nil {
+ return x.HeadImage
+ }
+ return 0
+}
+
+func (x *HideAndSeekSettleInfo) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+var File_HideAndSeekSettleInfo_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x15, 0x48, 0x69, 0x64, 0x65,
+ 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70,
+ 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45,
+ 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a,
+ 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65,
+ 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x68, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x6c,
+ 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e,
+ 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekSettleInfo_proto_rawDescOnce sync.Once
+ file_HideAndSeekSettleInfo_proto_rawDescData = file_HideAndSeekSettleInfo_proto_rawDesc
+)
+
+func file_HideAndSeekSettleInfo_proto_rawDescGZIP() []byte {
+ file_HideAndSeekSettleInfo_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekSettleInfo_proto_rawDescData)
+ })
+ return file_HideAndSeekSettleInfo_proto_rawDescData
+}
+
+var file_HideAndSeekSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekSettleInfo_proto_goTypes = []interface{}{
+ (*HideAndSeekSettleInfo)(nil), // 0: proto.HideAndSeekSettleInfo
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+ (*ExhibitionDisplayInfo)(nil), // 2: proto.ExhibitionDisplayInfo
+}
+var file_HideAndSeekSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HideAndSeekSettleInfo.profile_picture:type_name -> proto.ProfilePicture
+ 2, // 1: proto.HideAndSeekSettleInfo.card_list:type_name -> proto.ExhibitionDisplayInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekSettleInfo_proto_init() }
+func file_HideAndSeekSettleInfo_proto_init() {
+ if File_HideAndSeekSettleInfo_proto != nil {
+ return
+ }
+ file_ExhibitionDisplayInfo_proto_init()
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekSettleInfo_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekSettleInfo_proto_depIdxs,
+ MessageInfos: file_HideAndSeekSettleInfo_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekSettleInfo_proto = out.File
+ file_HideAndSeekSettleInfo_proto_rawDesc = nil
+ file_HideAndSeekSettleInfo_proto_goTypes = nil
+ file_HideAndSeekSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekSettleNotify.pb.go b/protocol/proto/HideAndSeekSettleNotify.pb.go
new file mode 100644
index 00000000..8bd982e8
--- /dev/null
+++ b/protocol/proto/HideAndSeekSettleNotify.pb.go
@@ -0,0 +1,309 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HideAndSeekSettleNotify_SettleReason int32
+
+const (
+ HideAndSeekSettleNotify_SETTLE_REASON_TIME_OUT HideAndSeekSettleNotify_SettleReason = 0
+ HideAndSeekSettleNotify_SETTLE_REASON_PLAY_END HideAndSeekSettleNotify_SettleReason = 1
+ HideAndSeekSettleNotify_SETTLE_REASON_PLAYER_QUIT HideAndSeekSettleNotify_SettleReason = 2
+)
+
+// Enum value maps for HideAndSeekSettleNotify_SettleReason.
+var (
+ HideAndSeekSettleNotify_SettleReason_name = map[int32]string{
+ 0: "SETTLE_REASON_TIME_OUT",
+ 1: "SETTLE_REASON_PLAY_END",
+ 2: "SETTLE_REASON_PLAYER_QUIT",
+ }
+ HideAndSeekSettleNotify_SettleReason_value = map[string]int32{
+ "SETTLE_REASON_TIME_OUT": 0,
+ "SETTLE_REASON_PLAY_END": 1,
+ "SETTLE_REASON_PLAYER_QUIT": 2,
+ }
+)
+
+func (x HideAndSeekSettleNotify_SettleReason) Enum() *HideAndSeekSettleNotify_SettleReason {
+ p := new(HideAndSeekSettleNotify_SettleReason)
+ *p = x
+ return p
+}
+
+func (x HideAndSeekSettleNotify_SettleReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (HideAndSeekSettleNotify_SettleReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_HideAndSeekSettleNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (HideAndSeekSettleNotify_SettleReason) Type() protoreflect.EnumType {
+ return &file_HideAndSeekSettleNotify_proto_enumTypes[0]
+}
+
+func (x HideAndSeekSettleNotify_SettleReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use HideAndSeekSettleNotify_SettleReason.Descriptor instead.
+func (HideAndSeekSettleNotify_SettleReason) EnumDescriptor() ([]byte, []int) {
+ return file_HideAndSeekSettleNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 5317
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HideAndSeekSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostTime uint32 `protobuf:"varint,2,opt,name=cost_time,json=costTime,proto3" json:"cost_time,omitempty"`
+ SettleInfoList []*HideAndSeekSettleInfo `protobuf:"bytes,8,rep,name=settle_info_list,json=settleInfoList,proto3" json:"settle_info_list,omitempty"`
+ WinnerList []uint32 `protobuf:"varint,15,rep,packed,name=winner_list,json=winnerList,proto3" json:"winner_list,omitempty"`
+ Reason HideAndSeekSettleNotify_SettleReason `protobuf:"varint,4,opt,name=reason,proto3,enum=proto.HideAndSeekSettleNotify_SettleReason" json:"reason,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,13,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ IsRecordScore bool `protobuf:"varint,6,opt,name=is_record_score,json=isRecordScore,proto3" json:"is_record_score,omitempty"`
+ ScoreList []*ExhibitionDisplayInfo `protobuf:"bytes,9,rep,name=score_list,json=scoreList,proto3" json:"score_list,omitempty"`
+ StageType uint32 `protobuf:"varint,14,opt,name=stage_type,json=stageType,proto3" json:"stage_type,omitempty"`
+}
+
+func (x *HideAndSeekSettleNotify) Reset() {
+ *x = HideAndSeekSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekSettleNotify) ProtoMessage() {}
+
+func (x *HideAndSeekSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekSettleNotify.ProtoReflect.Descriptor instead.
+func (*HideAndSeekSettleNotify) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekSettleNotify) GetCostTime() uint32 {
+ if x != nil {
+ return x.CostTime
+ }
+ return 0
+}
+
+func (x *HideAndSeekSettleNotify) GetSettleInfoList() []*HideAndSeekSettleInfo {
+ if x != nil {
+ return x.SettleInfoList
+ }
+ return nil
+}
+
+func (x *HideAndSeekSettleNotify) GetWinnerList() []uint32 {
+ if x != nil {
+ return x.WinnerList
+ }
+ return nil
+}
+
+func (x *HideAndSeekSettleNotify) GetReason() HideAndSeekSettleNotify_SettleReason {
+ if x != nil {
+ return x.Reason
+ }
+ return HideAndSeekSettleNotify_SETTLE_REASON_TIME_OUT
+}
+
+func (x *HideAndSeekSettleNotify) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *HideAndSeekSettleNotify) GetIsRecordScore() bool {
+ if x != nil {
+ return x.IsRecordScore
+ }
+ return false
+}
+
+func (x *HideAndSeekSettleNotify) GetScoreList() []*ExhibitionDisplayInfo {
+ if x != nil {
+ return x.ScoreList
+ }
+ return nil
+}
+
+func (x *HideAndSeekSettleNotify) GetStageType() uint32 {
+ if x != nil {
+ return x.StageType
+ }
+ return 0
+}
+
+var File_HideAndSeekSettleNotify_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xee, 0x03, 0x0a, 0x17, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09,
+ 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x73, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x64, 0x65,
+ 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x64, 0x65, 0x41,
+ 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52,
+ 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61,
+ 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x69, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3b,
+ 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x09, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x65, 0x0a, 0x0c, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45,
+ 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45,
+ 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45,
+ 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x4e, 0x44,
+ 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x10,
+ 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekSettleNotify_proto_rawDescOnce sync.Once
+ file_HideAndSeekSettleNotify_proto_rawDescData = file_HideAndSeekSettleNotify_proto_rawDesc
+)
+
+func file_HideAndSeekSettleNotify_proto_rawDescGZIP() []byte {
+ file_HideAndSeekSettleNotify_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekSettleNotify_proto_rawDescData)
+ })
+ return file_HideAndSeekSettleNotify_proto_rawDescData
+}
+
+var file_HideAndSeekSettleNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_HideAndSeekSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HideAndSeekSettleNotify_proto_goTypes = []interface{}{
+ (HideAndSeekSettleNotify_SettleReason)(0), // 0: proto.HideAndSeekSettleNotify.SettleReason
+ (*HideAndSeekSettleNotify)(nil), // 1: proto.HideAndSeekSettleNotify
+ (*HideAndSeekSettleInfo)(nil), // 2: proto.HideAndSeekSettleInfo
+ (*ExhibitionDisplayInfo)(nil), // 3: proto.ExhibitionDisplayInfo
+}
+var file_HideAndSeekSettleNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.HideAndSeekSettleNotify.settle_info_list:type_name -> proto.HideAndSeekSettleInfo
+ 0, // 1: proto.HideAndSeekSettleNotify.reason:type_name -> proto.HideAndSeekSettleNotify.SettleReason
+ 3, // 2: proto.HideAndSeekSettleNotify.score_list:type_name -> proto.ExhibitionDisplayInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekSettleNotify_proto_init() }
+func file_HideAndSeekSettleNotify_proto_init() {
+ if File_HideAndSeekSettleNotify_proto != nil {
+ return
+ }
+ file_ExhibitionDisplayInfo_proto_init()
+ file_HideAndSeekSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekSettleNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekSettleNotify_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekSettleNotify_proto_depIdxs,
+ EnumInfos: file_HideAndSeekSettleNotify_proto_enumTypes,
+ MessageInfos: file_HideAndSeekSettleNotify_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekSettleNotify_proto = out.File
+ file_HideAndSeekSettleNotify_proto_rawDesc = nil
+ file_HideAndSeekSettleNotify_proto_goTypes = nil
+ file_HideAndSeekSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekStageInfo.pb.go b/protocol/proto/HideAndSeekStageInfo.pb.go
new file mode 100644
index 00000000..295f3c22
--- /dev/null
+++ b/protocol/proto/HideAndSeekStageInfo.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HideAndSeekStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MapId uint32 `protobuf:"varint,8,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"`
+ IsRecordScore bool `protobuf:"varint,3,opt,name=is_record_score,json=isRecordScore,proto3" json:"is_record_score,omitempty"`
+ StageType HideAndSeekStageType `protobuf:"varint,7,opt,name=stage_type,json=stageType,proto3,enum=proto.HideAndSeekStageType" json:"stage_type,omitempty"`
+ BattleInfoMap map[uint32]*HideAndSeekPlayerBattleInfo `protobuf:"bytes,2,rep,name=battle_info_map,json=battleInfoMap,proto3" json:"battle_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ HiderUidList []uint32 `protobuf:"varint,1,rep,packed,name=hider_uid_list,json=hiderUidList,proto3" json:"hider_uid_list,omitempty"`
+ HunterUid uint32 `protobuf:"varint,10,opt,name=hunter_uid,json=hunterUid,proto3" json:"hunter_uid,omitempty"`
+}
+
+func (x *HideAndSeekStageInfo) Reset() {
+ *x = HideAndSeekStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HideAndSeekStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HideAndSeekStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HideAndSeekStageInfo) ProtoMessage() {}
+
+func (x *HideAndSeekStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HideAndSeekStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HideAndSeekStageInfo.ProtoReflect.Descriptor instead.
+func (*HideAndSeekStageInfo) Descriptor() ([]byte, []int) {
+ return file_HideAndSeekStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HideAndSeekStageInfo) GetMapId() uint32 {
+ if x != nil {
+ return x.MapId
+ }
+ return 0
+}
+
+func (x *HideAndSeekStageInfo) GetIsRecordScore() bool {
+ if x != nil {
+ return x.IsRecordScore
+ }
+ return false
+}
+
+func (x *HideAndSeekStageInfo) GetStageType() HideAndSeekStageType {
+ if x != nil {
+ return x.StageType
+ }
+ return HideAndSeekStageType_HIDE_AND_SEEK_STAGE_TYPE_PREPARE
+}
+
+func (x *HideAndSeekStageInfo) GetBattleInfoMap() map[uint32]*HideAndSeekPlayerBattleInfo {
+ if x != nil {
+ return x.BattleInfoMap
+ }
+ return nil
+}
+
+func (x *HideAndSeekStageInfo) GetHiderUidList() []uint32 {
+ if x != nil {
+ return x.HiderUidList
+ }
+ return nil
+}
+
+func (x *HideAndSeekStageInfo) GetHunterUid() uint32 {
+ if x != nil {
+ return x.HunterUid
+ }
+ return 0
+}
+
+var File_HideAndSeekStageInfo_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53,
+ 0x65, 0x65, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x94, 0x03, 0x0a, 0x14, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65,
+ 0x65, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x6d,
+ 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x61, 0x70,
+ 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65,
+ 0x65, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53,
+ 0x65, 0x65, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0d, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x24,
+ 0x0a, 0x0e, 0x68, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x68, 0x69, 0x64, 0x65, 0x72, 0x55, 0x69, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x75,
+ 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x75, 0x6e, 0x74, 0x65, 0x72,
+ 0x55, 0x69, 0x64, 0x1a, 0x64, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekStageInfo_proto_rawDescOnce sync.Once
+ file_HideAndSeekStageInfo_proto_rawDescData = file_HideAndSeekStageInfo_proto_rawDesc
+)
+
+func file_HideAndSeekStageInfo_proto_rawDescGZIP() []byte {
+ file_HideAndSeekStageInfo_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekStageInfo_proto_rawDescData)
+ })
+ return file_HideAndSeekStageInfo_proto_rawDescData
+}
+
+var file_HideAndSeekStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_HideAndSeekStageInfo_proto_goTypes = []interface{}{
+ (*HideAndSeekStageInfo)(nil), // 0: proto.HideAndSeekStageInfo
+ nil, // 1: proto.HideAndSeekStageInfo.BattleInfoMapEntry
+ (HideAndSeekStageType)(0), // 2: proto.HideAndSeekStageType
+ (*HideAndSeekPlayerBattleInfo)(nil), // 3: proto.HideAndSeekPlayerBattleInfo
+}
+var file_HideAndSeekStageInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.HideAndSeekStageInfo.stage_type:type_name -> proto.HideAndSeekStageType
+ 1, // 1: proto.HideAndSeekStageInfo.battle_info_map:type_name -> proto.HideAndSeekStageInfo.BattleInfoMapEntry
+ 3, // 2: proto.HideAndSeekStageInfo.BattleInfoMapEntry.value:type_name -> proto.HideAndSeekPlayerBattleInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekStageInfo_proto_init() }
+func file_HideAndSeekStageInfo_proto_init() {
+ if File_HideAndSeekStageInfo_proto != nil {
+ return
+ }
+ file_HideAndSeekPlayerBattleInfo_proto_init()
+ file_HideAndSeekStageType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HideAndSeekStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HideAndSeekStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekStageInfo_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekStageInfo_proto_depIdxs,
+ MessageInfos: file_HideAndSeekStageInfo_proto_msgTypes,
+ }.Build()
+ File_HideAndSeekStageInfo_proto = out.File
+ file_HideAndSeekStageInfo_proto_rawDesc = nil
+ file_HideAndSeekStageInfo_proto_goTypes = nil
+ file_HideAndSeekStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HideAndSeekStageType.pb.go b/protocol/proto/HideAndSeekStageType.pb.go
new file mode 100644
index 00000000..a7a78edf
--- /dev/null
+++ b/protocol/proto/HideAndSeekStageType.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HideAndSeekStageType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HideAndSeekStageType int32
+
+const (
+ HideAndSeekStageType_HIDE_AND_SEEK_STAGE_TYPE_PREPARE HideAndSeekStageType = 0
+ HideAndSeekStageType_HIDE_AND_SEEK_STAGE_TYPE_PICK HideAndSeekStageType = 1
+ HideAndSeekStageType_HIDE_AND_SEEK_STAGE_TYPE_GAME HideAndSeekStageType = 2
+ HideAndSeekStageType_HIDE_AND_SEEK_STAGE_TYPE_HIDE HideAndSeekStageType = 3
+ HideAndSeekStageType_HIDE_AND_SEEK_STAGE_TYPE_SEEK HideAndSeekStageType = 4
+ HideAndSeekStageType_HIDE_AND_SEEK_STAGE_TYPE_SETTLE HideAndSeekStageType = 5
+)
+
+// Enum value maps for HideAndSeekStageType.
+var (
+ HideAndSeekStageType_name = map[int32]string{
+ 0: "HIDE_AND_SEEK_STAGE_TYPE_PREPARE",
+ 1: "HIDE_AND_SEEK_STAGE_TYPE_PICK",
+ 2: "HIDE_AND_SEEK_STAGE_TYPE_GAME",
+ 3: "HIDE_AND_SEEK_STAGE_TYPE_HIDE",
+ 4: "HIDE_AND_SEEK_STAGE_TYPE_SEEK",
+ 5: "HIDE_AND_SEEK_STAGE_TYPE_SETTLE",
+ }
+ HideAndSeekStageType_value = map[string]int32{
+ "HIDE_AND_SEEK_STAGE_TYPE_PREPARE": 0,
+ "HIDE_AND_SEEK_STAGE_TYPE_PICK": 1,
+ "HIDE_AND_SEEK_STAGE_TYPE_GAME": 2,
+ "HIDE_AND_SEEK_STAGE_TYPE_HIDE": 3,
+ "HIDE_AND_SEEK_STAGE_TYPE_SEEK": 4,
+ "HIDE_AND_SEEK_STAGE_TYPE_SETTLE": 5,
+ }
+)
+
+func (x HideAndSeekStageType) Enum() *HideAndSeekStageType {
+ p := new(HideAndSeekStageType)
+ *p = x
+ return p
+}
+
+func (x HideAndSeekStageType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (HideAndSeekStageType) Descriptor() protoreflect.EnumDescriptor {
+ return file_HideAndSeekStageType_proto_enumTypes[0].Descriptor()
+}
+
+func (HideAndSeekStageType) Type() protoreflect.EnumType {
+ return &file_HideAndSeekStageType_proto_enumTypes[0]
+}
+
+func (x HideAndSeekStageType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use HideAndSeekStageType.Descriptor instead.
+func (HideAndSeekStageType) EnumDescriptor() ([]byte, []int) {
+ return file_HideAndSeekStageType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HideAndSeekStageType_proto protoreflect.FileDescriptor
+
+var file_HideAndSeekStageType_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0xed, 0x01, 0x0a, 0x14, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53,
+ 0x65, 0x65, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20,
+ 0x48, 0x49, 0x44, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x53, 0x54,
+ 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45,
+ 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x48, 0x49, 0x44, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53,
+ 0x45, 0x45, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50,
+ 0x49, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x48, 0x49, 0x44, 0x45, 0x5f, 0x41, 0x4e,
+ 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x48, 0x49, 0x44, 0x45,
+ 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x49, 0x44, 0x45, 0x10, 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x48,
+ 0x49, 0x44, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x53, 0x54, 0x41,
+ 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x10, 0x04, 0x12, 0x23,
+ 0x0a, 0x1f, 0x48, 0x49, 0x44, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x5f,
+ 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c,
+ 0x45, 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HideAndSeekStageType_proto_rawDescOnce sync.Once
+ file_HideAndSeekStageType_proto_rawDescData = file_HideAndSeekStageType_proto_rawDesc
+)
+
+func file_HideAndSeekStageType_proto_rawDescGZIP() []byte {
+ file_HideAndSeekStageType_proto_rawDescOnce.Do(func() {
+ file_HideAndSeekStageType_proto_rawDescData = protoimpl.X.CompressGZIP(file_HideAndSeekStageType_proto_rawDescData)
+ })
+ return file_HideAndSeekStageType_proto_rawDescData
+}
+
+var file_HideAndSeekStageType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_HideAndSeekStageType_proto_goTypes = []interface{}{
+ (HideAndSeekStageType)(0), // 0: proto.HideAndSeekStageType
+}
+var file_HideAndSeekStageType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HideAndSeekStageType_proto_init() }
+func file_HideAndSeekStageType_proto_init() {
+ if File_HideAndSeekStageType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HideAndSeekStageType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HideAndSeekStageType_proto_goTypes,
+ DependencyIndexes: file_HideAndSeekStageType_proto_depIdxs,
+ EnumInfos: file_HideAndSeekStageType_proto_enumTypes,
+ }.Build()
+ File_HideAndSeekStageType_proto = out.File
+ file_HideAndSeekStageType_proto_rawDesc = nil
+ file_HideAndSeekStageType_proto_goTypes = nil
+ file_HideAndSeekStageType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HitClientTrivialNotify.pb.go b/protocol/proto/HitClientTrivialNotify.pb.go
new file mode 100644
index 00000000..d2201ba3
--- /dev/null
+++ b/protocol/proto/HitClientTrivialNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HitClientTrivialNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 244
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HitClientTrivialNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Position *Vector `protobuf:"bytes,11,opt,name=position,proto3" json:"position,omitempty"`
+ OwnerEntityId uint32 `protobuf:"varint,12,opt,name=owner_entity_id,json=ownerEntityId,proto3" json:"owner_entity_id,omitempty"`
+}
+
+func (x *HitClientTrivialNotify) Reset() {
+ *x = HitClientTrivialNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HitClientTrivialNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HitClientTrivialNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HitClientTrivialNotify) ProtoMessage() {}
+
+func (x *HitClientTrivialNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HitClientTrivialNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HitClientTrivialNotify.ProtoReflect.Descriptor instead.
+func (*HitClientTrivialNotify) Descriptor() ([]byte, []int) {
+ return file_HitClientTrivialNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HitClientTrivialNotify) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+func (x *HitClientTrivialNotify) GetOwnerEntityId() uint32 {
+ if x != nil {
+ return x.OwnerEntityId
+ }
+ return 0
+}
+
+var File_HitClientTrivialNotify_proto protoreflect.FileDescriptor
+
+var file_HitClientTrivialNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x69, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x76, 0x69,
+ 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x16, 0x48, 0x69, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x54, 0x72, 0x69, 0x76, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a,
+ 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65,
+ 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HitClientTrivialNotify_proto_rawDescOnce sync.Once
+ file_HitClientTrivialNotify_proto_rawDescData = file_HitClientTrivialNotify_proto_rawDesc
+)
+
+func file_HitClientTrivialNotify_proto_rawDescGZIP() []byte {
+ file_HitClientTrivialNotify_proto_rawDescOnce.Do(func() {
+ file_HitClientTrivialNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HitClientTrivialNotify_proto_rawDescData)
+ })
+ return file_HitClientTrivialNotify_proto_rawDescData
+}
+
+var file_HitClientTrivialNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HitClientTrivialNotify_proto_goTypes = []interface{}{
+ (*HitClientTrivialNotify)(nil), // 0: proto.HitClientTrivialNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HitClientTrivialNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HitClientTrivialNotify.position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HitClientTrivialNotify_proto_init() }
+func file_HitClientTrivialNotify_proto_init() {
+ if File_HitClientTrivialNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HitClientTrivialNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HitClientTrivialNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HitClientTrivialNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HitClientTrivialNotify_proto_goTypes,
+ DependencyIndexes: file_HitClientTrivialNotify_proto_depIdxs,
+ MessageInfos: file_HitClientTrivialNotify_proto_msgTypes,
+ }.Build()
+ File_HitClientTrivialNotify_proto = out.File
+ file_HitClientTrivialNotify_proto_rawDesc = nil
+ file_HitClientTrivialNotify_proto_goTypes = nil
+ file_HitClientTrivialNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HitColliderType.pb.go b/protocol/proto/HitColliderType.pb.go
new file mode 100644
index 00000000..822f2715
--- /dev/null
+++ b/protocol/proto/HitColliderType.pb.go
@@ -0,0 +1,156 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HitColliderType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HitColliderType int32
+
+const (
+ HitColliderType_HIT_COLLIDER_TYPE_INVALID HitColliderType = 0
+ HitColliderType_HIT_COLLIDER_TYPE_HIT_BOX HitColliderType = 1
+ HitColliderType_HIT_COLLIDER_TYPE_WET_HIT_BOX HitColliderType = 2
+ HitColliderType_HIT_COLLIDER_TYPE_HEAD_BOX HitColliderType = 3
+)
+
+// Enum value maps for HitColliderType.
+var (
+ HitColliderType_name = map[int32]string{
+ 0: "HIT_COLLIDER_TYPE_INVALID",
+ 1: "HIT_COLLIDER_TYPE_HIT_BOX",
+ 2: "HIT_COLLIDER_TYPE_WET_HIT_BOX",
+ 3: "HIT_COLLIDER_TYPE_HEAD_BOX",
+ }
+ HitColliderType_value = map[string]int32{
+ "HIT_COLLIDER_TYPE_INVALID": 0,
+ "HIT_COLLIDER_TYPE_HIT_BOX": 1,
+ "HIT_COLLIDER_TYPE_WET_HIT_BOX": 2,
+ "HIT_COLLIDER_TYPE_HEAD_BOX": 3,
+ }
+)
+
+func (x HitColliderType) Enum() *HitColliderType {
+ p := new(HitColliderType)
+ *p = x
+ return p
+}
+
+func (x HitColliderType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (HitColliderType) Descriptor() protoreflect.EnumDescriptor {
+ return file_HitColliderType_proto_enumTypes[0].Descriptor()
+}
+
+func (HitColliderType) Type() protoreflect.EnumType {
+ return &file_HitColliderType_proto_enumTypes[0]
+}
+
+func (x HitColliderType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use HitColliderType.Descriptor instead.
+func (HitColliderType) EnumDescriptor() ([]byte, []int) {
+ return file_HitColliderType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HitColliderType_proto protoreflect.FileDescriptor
+
+var file_HitColliderType_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x92,
+ 0x01, 0x0a, 0x0f, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x49, 0x44,
+ 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10,
+ 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x48, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x49, 0x44, 0x45,
+ 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x01,
+ 0x12, 0x21, 0x0a, 0x1d, 0x48, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x49, 0x44, 0x45, 0x52,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x54, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x42, 0x4f,
+ 0x58, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x48, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x49,
+ 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x42, 0x4f,
+ 0x58, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HitColliderType_proto_rawDescOnce sync.Once
+ file_HitColliderType_proto_rawDescData = file_HitColliderType_proto_rawDesc
+)
+
+func file_HitColliderType_proto_rawDescGZIP() []byte {
+ file_HitColliderType_proto_rawDescOnce.Do(func() {
+ file_HitColliderType_proto_rawDescData = protoimpl.X.CompressGZIP(file_HitColliderType_proto_rawDescData)
+ })
+ return file_HitColliderType_proto_rawDescData
+}
+
+var file_HitColliderType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_HitColliderType_proto_goTypes = []interface{}{
+ (HitColliderType)(0), // 0: proto.HitColliderType
+}
+var file_HitColliderType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HitColliderType_proto_init() }
+func file_HitColliderType_proto_init() {
+ if File_HitColliderType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HitColliderType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HitColliderType_proto_goTypes,
+ DependencyIndexes: file_HitColliderType_proto_depIdxs,
+ EnumInfos: file_HitColliderType_proto_enumTypes,
+ }.Build()
+ File_HitColliderType_proto = out.File
+ file_HitColliderType_proto_rawDesc = nil
+ file_HitColliderType_proto_goTypes = nil
+ file_HitColliderType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HitCollision.pb.go b/protocol/proto/HitCollision.pb.go
new file mode 100644
index 00000000..9e53076a
--- /dev/null
+++ b/protocol/proto/HitCollision.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HitCollision.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HitCollision struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HitColliderType HitColliderType `protobuf:"varint,8,opt,name=hit_collider_type,json=hitColliderType,proto3,enum=proto.HitColliderType" json:"hit_collider_type,omitempty"`
+ HitPoint *Vector `protobuf:"bytes,7,opt,name=hit_point,json=hitPoint,proto3" json:"hit_point,omitempty"`
+ AttackeeHitForceAngle float32 `protobuf:"fixed32,2,opt,name=attackee_hit_force_angle,json=attackeeHitForceAngle,proto3" json:"attackee_hit_force_angle,omitempty"`
+ HitDir *Vector `protobuf:"bytes,13,opt,name=hit_dir,json=hitDir,proto3" json:"hit_dir,omitempty"`
+ AttackeeHitEntityAngle float32 `protobuf:"fixed32,15,opt,name=attackee_hit_entity_angle,json=attackeeHitEntityAngle,proto3" json:"attackee_hit_entity_angle,omitempty"`
+ HitBoxIndex int32 `protobuf:"varint,4,opt,name=hit_box_index,json=hitBoxIndex,proto3" json:"hit_box_index,omitempty"`
+}
+
+func (x *HitCollision) Reset() {
+ *x = HitCollision{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HitCollision_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HitCollision) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HitCollision) ProtoMessage() {}
+
+func (x *HitCollision) ProtoReflect() protoreflect.Message {
+ mi := &file_HitCollision_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HitCollision.ProtoReflect.Descriptor instead.
+func (*HitCollision) Descriptor() ([]byte, []int) {
+ return file_HitCollision_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HitCollision) GetHitColliderType() HitColliderType {
+ if x != nil {
+ return x.HitColliderType
+ }
+ return HitColliderType_HIT_COLLIDER_TYPE_INVALID
+}
+
+func (x *HitCollision) GetHitPoint() *Vector {
+ if x != nil {
+ return x.HitPoint
+ }
+ return nil
+}
+
+func (x *HitCollision) GetAttackeeHitForceAngle() float32 {
+ if x != nil {
+ return x.AttackeeHitForceAngle
+ }
+ return 0
+}
+
+func (x *HitCollision) GetHitDir() *Vector {
+ if x != nil {
+ return x.HitDir
+ }
+ return nil
+}
+
+func (x *HitCollision) GetAttackeeHitEntityAngle() float32 {
+ if x != nil {
+ return x.AttackeeHitEntityAngle
+ }
+ return 0
+}
+
+func (x *HitCollision) GetHitBoxIndex() int32 {
+ if x != nil {
+ return x.HitBoxIndex
+ }
+ return 0
+}
+
+var File_HitCollision_proto protoreflect.FileDescriptor
+
+var file_HitCollision_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x48, 0x69, 0x74,
+ 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xbe, 0x02, 0x0a, 0x0c, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x42, 0x0a, 0x11, 0x68, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65,
+ 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65, 0x72,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x68, 0x69, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x65,
+ 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x68, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x68, 0x69, 0x74, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x65, 0x5f, 0x68, 0x69,
+ 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x15, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x65, 0x48, 0x69, 0x74,
+ 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x07, 0x68, 0x69,
+ 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x68, 0x69, 0x74, 0x44,
+ 0x69, 0x72, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x65, 0x5f, 0x68,
+ 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x65, 0x48,
+ 0x69, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x22, 0x0a,
+ 0x0d, 0x68, 0x69, 0x74, 0x5f, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x68, 0x69, 0x74, 0x42, 0x6f, 0x78, 0x49, 0x6e, 0x64, 0x65,
+ 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HitCollision_proto_rawDescOnce sync.Once
+ file_HitCollision_proto_rawDescData = file_HitCollision_proto_rawDesc
+)
+
+func file_HitCollision_proto_rawDescGZIP() []byte {
+ file_HitCollision_proto_rawDescOnce.Do(func() {
+ file_HitCollision_proto_rawDescData = protoimpl.X.CompressGZIP(file_HitCollision_proto_rawDescData)
+ })
+ return file_HitCollision_proto_rawDescData
+}
+
+var file_HitCollision_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HitCollision_proto_goTypes = []interface{}{
+ (*HitCollision)(nil), // 0: proto.HitCollision
+ (HitColliderType)(0), // 1: proto.HitColliderType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_HitCollision_proto_depIdxs = []int32{
+ 1, // 0: proto.HitCollision.hit_collider_type:type_name -> proto.HitColliderType
+ 2, // 1: proto.HitCollision.hit_point:type_name -> proto.Vector
+ 2, // 2: proto.HitCollision.hit_dir:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_HitCollision_proto_init() }
+func file_HitCollision_proto_init() {
+ if File_HitCollision_proto != nil {
+ return
+ }
+ file_HitColliderType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HitCollision_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HitCollision); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HitCollision_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HitCollision_proto_goTypes,
+ DependencyIndexes: file_HitCollision_proto_depIdxs,
+ MessageInfos: file_HitCollision_proto_msgTypes,
+ }.Build()
+ File_HitCollision_proto = out.File
+ file_HitCollision_proto_rawDesc = nil
+ file_HitCollision_proto_goTypes = nil
+ file_HitCollision_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HitTreeInfo.pb.go b/protocol/proto/HitTreeInfo.pb.go
new file mode 100644
index 00000000..38af86e6
--- /dev/null
+++ b/protocol/proto/HitTreeInfo.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HitTreeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HitTreeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TreePos *Vector `protobuf:"bytes,12,opt,name=tree_pos,json=treePos,proto3" json:"tree_pos,omitempty"`
+ TreeType uint32 `protobuf:"varint,8,opt,name=tree_type,json=treeType,proto3" json:"tree_type,omitempty"`
+}
+
+func (x *HitTreeInfo) Reset() {
+ *x = HitTreeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HitTreeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HitTreeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HitTreeInfo) ProtoMessage() {}
+
+func (x *HitTreeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HitTreeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HitTreeInfo.ProtoReflect.Descriptor instead.
+func (*HitTreeInfo) Descriptor() ([]byte, []int) {
+ return file_HitTreeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HitTreeInfo) GetTreePos() *Vector {
+ if x != nil {
+ return x.TreePos
+ }
+ return nil
+}
+
+func (x *HitTreeInfo) GetTreeType() uint32 {
+ if x != nil {
+ return x.TreeType
+ }
+ return 0
+}
+
+var File_HitTreeInfo_proto protoreflect.FileDescriptor
+
+var file_HitTreeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x48, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x0b, 0x48, 0x69, 0x74, 0x54,
+ 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x08, 0x74, 0x72, 0x65, 0x65, 0x5f,
+ 0x70, 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x74, 0x72, 0x65, 0x65, 0x50, 0x6f,
+ 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HitTreeInfo_proto_rawDescOnce sync.Once
+ file_HitTreeInfo_proto_rawDescData = file_HitTreeInfo_proto_rawDesc
+)
+
+func file_HitTreeInfo_proto_rawDescGZIP() []byte {
+ file_HitTreeInfo_proto_rawDescOnce.Do(func() {
+ file_HitTreeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HitTreeInfo_proto_rawDescData)
+ })
+ return file_HitTreeInfo_proto_rawDescData
+}
+
+var file_HitTreeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HitTreeInfo_proto_goTypes = []interface{}{
+ (*HitTreeInfo)(nil), // 0: proto.HitTreeInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HitTreeInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HitTreeInfo.tree_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HitTreeInfo_proto_init() }
+func file_HitTreeInfo_proto_init() {
+ if File_HitTreeInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HitTreeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HitTreeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HitTreeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HitTreeInfo_proto_goTypes,
+ DependencyIndexes: file_HitTreeInfo_proto_depIdxs,
+ MessageInfos: file_HitTreeInfo_proto_msgTypes,
+ }.Build()
+ File_HitTreeInfo_proto = out.File
+ file_HitTreeInfo_proto_rawDesc = nil
+ file_HitTreeInfo_proto_goTypes = nil
+ file_HitTreeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HitTreeNotify.pb.go b/protocol/proto/HitTreeNotify.pb.go
new file mode 100644
index 00000000..045dd2ae
--- /dev/null
+++ b/protocol/proto/HitTreeNotify.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HitTreeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3019
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HitTreeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TreeType uint32 `protobuf:"varint,11,opt,name=tree_type,json=treeType,proto3" json:"tree_type,omitempty"`
+ TreePos *Vector `protobuf:"bytes,2,opt,name=tree_pos,json=treePos,proto3" json:"tree_pos,omitempty"`
+ DropPos *Vector `protobuf:"bytes,8,opt,name=drop_pos,json=dropPos,proto3" json:"drop_pos,omitempty"`
+}
+
+func (x *HitTreeNotify) Reset() {
+ *x = HitTreeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HitTreeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HitTreeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HitTreeNotify) ProtoMessage() {}
+
+func (x *HitTreeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HitTreeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HitTreeNotify.ProtoReflect.Descriptor instead.
+func (*HitTreeNotify) Descriptor() ([]byte, []int) {
+ return file_HitTreeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HitTreeNotify) GetTreeType() uint32 {
+ if x != nil {
+ return x.TreeType
+ }
+ return 0
+}
+
+func (x *HitTreeNotify) GetTreePos() *Vector {
+ if x != nil {
+ return x.TreePos
+ }
+ return nil
+}
+
+func (x *HitTreeNotify) GetDropPos() *Vector {
+ if x != nil {
+ return x.DropPos
+ }
+ return nil
+}
+
+var File_HitTreeNotify_proto protoreflect.FileDescriptor
+
+var file_HitTreeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x48, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x0d, 0x48,
+ 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09,
+ 0x74, 0x72, 0x65, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x74, 0x72, 0x65, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x74, 0x72, 0x65,
+ 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x74, 0x72, 0x65, 0x65,
+ 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x08, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x64, 0x72, 0x6f, 0x70, 0x50, 0x6f, 0x73, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HitTreeNotify_proto_rawDescOnce sync.Once
+ file_HitTreeNotify_proto_rawDescData = file_HitTreeNotify_proto_rawDesc
+)
+
+func file_HitTreeNotify_proto_rawDescGZIP() []byte {
+ file_HitTreeNotify_proto_rawDescOnce.Do(func() {
+ file_HitTreeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HitTreeNotify_proto_rawDescData)
+ })
+ return file_HitTreeNotify_proto_rawDescData
+}
+
+var file_HitTreeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HitTreeNotify_proto_goTypes = []interface{}{
+ (*HitTreeNotify)(nil), // 0: proto.HitTreeNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HitTreeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HitTreeNotify.tree_pos:type_name -> proto.Vector
+ 1, // 1: proto.HitTreeNotify.drop_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HitTreeNotify_proto_init() }
+func file_HitTreeNotify_proto_init() {
+ if File_HitTreeNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HitTreeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HitTreeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HitTreeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HitTreeNotify_proto_goTypes,
+ DependencyIndexes: file_HitTreeNotify_proto_depIdxs,
+ MessageInfos: file_HitTreeNotify_proto_msgTypes,
+ }.Build()
+ File_HitTreeNotify_proto = out.File
+ file_HitTreeNotify_proto_rawDesc = nil
+ file_HitTreeNotify_proto_goTypes = nil
+ file_HitTreeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAllUnlockedBgmIdListNotify.pb.go b/protocol/proto/HomeAllUnlockedBgmIdListNotify.pb.go
new file mode 100644
index 00000000..cabff4bc
--- /dev/null
+++ b/protocol/proto/HomeAllUnlockedBgmIdListNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAllUnlockedBgmIdListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4608
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAllUnlockedBgmIdListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AllUnlockedBgmIdList []uint32 `protobuf:"varint,11,rep,packed,name=all_unlocked_bgm_id_list,json=allUnlockedBgmIdList,proto3" json:"all_unlocked_bgm_id_list,omitempty"`
+}
+
+func (x *HomeAllUnlockedBgmIdListNotify) Reset() {
+ *x = HomeAllUnlockedBgmIdListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAllUnlockedBgmIdListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAllUnlockedBgmIdListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAllUnlockedBgmIdListNotify) ProtoMessage() {}
+
+func (x *HomeAllUnlockedBgmIdListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAllUnlockedBgmIdListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAllUnlockedBgmIdListNotify.ProtoReflect.Descriptor instead.
+func (*HomeAllUnlockedBgmIdListNotify) Descriptor() ([]byte, []int) {
+ return file_HomeAllUnlockedBgmIdListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAllUnlockedBgmIdListNotify) GetAllUnlockedBgmIdList() []uint32 {
+ if x != nil {
+ return x.AllUnlockedBgmIdList
+ }
+ return nil
+}
+
+var File_HomeAllUnlockedBgmIdListNotify_proto protoreflect.FileDescriptor
+
+var file_HomeAllUnlockedBgmIdListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
+ 0x64, 0x42, 0x67, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a,
+ 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
+ 0x42, 0x67, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x36, 0x0a, 0x18, 0x61, 0x6c, 0x6c, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f,
+ 0x62, 0x67, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x67,
+ 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAllUnlockedBgmIdListNotify_proto_rawDescOnce sync.Once
+ file_HomeAllUnlockedBgmIdListNotify_proto_rawDescData = file_HomeAllUnlockedBgmIdListNotify_proto_rawDesc
+)
+
+func file_HomeAllUnlockedBgmIdListNotify_proto_rawDescGZIP() []byte {
+ file_HomeAllUnlockedBgmIdListNotify_proto_rawDescOnce.Do(func() {
+ file_HomeAllUnlockedBgmIdListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAllUnlockedBgmIdListNotify_proto_rawDescData)
+ })
+ return file_HomeAllUnlockedBgmIdListNotify_proto_rawDescData
+}
+
+var file_HomeAllUnlockedBgmIdListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAllUnlockedBgmIdListNotify_proto_goTypes = []interface{}{
+ (*HomeAllUnlockedBgmIdListNotify)(nil), // 0: proto.HomeAllUnlockedBgmIdListNotify
+}
+var file_HomeAllUnlockedBgmIdListNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAllUnlockedBgmIdListNotify_proto_init() }
+func file_HomeAllUnlockedBgmIdListNotify_proto_init() {
+ if File_HomeAllUnlockedBgmIdListNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAllUnlockedBgmIdListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAllUnlockedBgmIdListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAllUnlockedBgmIdListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAllUnlockedBgmIdListNotify_proto_goTypes,
+ DependencyIndexes: file_HomeAllUnlockedBgmIdListNotify_proto_depIdxs,
+ MessageInfos: file_HomeAllUnlockedBgmIdListNotify_proto_msgTypes,
+ }.Build()
+ File_HomeAllUnlockedBgmIdListNotify_proto = out.File
+ file_HomeAllUnlockedBgmIdListNotify_proto_rawDesc = nil
+ file_HomeAllUnlockedBgmIdListNotify_proto_goTypes = nil
+ file_HomeAllUnlockedBgmIdListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAnimalData.pb.go b/protocol/proto/HomeAnimalData.pb.go
new file mode 100644
index 00000000..c6c07e0c
--- /dev/null
+++ b/protocol/proto/HomeAnimalData.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAnimalData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeAnimalData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SpawnRot *Vector `protobuf:"bytes,10,opt,name=spawn_rot,json=spawnRot,proto3" json:"spawn_rot,omitempty"`
+ FurnitureId uint32 `protobuf:"varint,5,opt,name=furniture_id,json=furnitureId,proto3" json:"furniture_id,omitempty"`
+ SpawnPos *Vector `protobuf:"bytes,6,opt,name=spawn_pos,json=spawnPos,proto3" json:"spawn_pos,omitempty"`
+}
+
+func (x *HomeAnimalData) Reset() {
+ *x = HomeAnimalData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAnimalData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAnimalData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAnimalData) ProtoMessage() {}
+
+func (x *HomeAnimalData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAnimalData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAnimalData.ProtoReflect.Descriptor instead.
+func (*HomeAnimalData) Descriptor() ([]byte, []int) {
+ return file_HomeAnimalData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAnimalData) GetSpawnRot() *Vector {
+ if x != nil {
+ return x.SpawnRot
+ }
+ return nil
+}
+
+func (x *HomeAnimalData) GetFurnitureId() uint32 {
+ if x != nil {
+ return x.FurnitureId
+ }
+ return 0
+}
+
+func (x *HomeAnimalData) GetSpawnPos() *Vector {
+ if x != nil {
+ return x.SpawnPos
+ }
+ return nil
+}
+
+var File_HomeAnimalData_proto protoreflect.FileDescriptor
+
+var file_HomeAnimalData_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x0e,
+ 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a,
+ 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x52, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75,
+ 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a,
+ 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAnimalData_proto_rawDescOnce sync.Once
+ file_HomeAnimalData_proto_rawDescData = file_HomeAnimalData_proto_rawDesc
+)
+
+func file_HomeAnimalData_proto_rawDescGZIP() []byte {
+ file_HomeAnimalData_proto_rawDescOnce.Do(func() {
+ file_HomeAnimalData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAnimalData_proto_rawDescData)
+ })
+ return file_HomeAnimalData_proto_rawDescData
+}
+
+var file_HomeAnimalData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAnimalData_proto_goTypes = []interface{}{
+ (*HomeAnimalData)(nil), // 0: proto.HomeAnimalData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeAnimalData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeAnimalData.spawn_rot:type_name -> proto.Vector
+ 1, // 1: proto.HomeAnimalData.spawn_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeAnimalData_proto_init() }
+func file_HomeAnimalData_proto_init() {
+ if File_HomeAnimalData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAnimalData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAnimalData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAnimalData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAnimalData_proto_goTypes,
+ DependencyIndexes: file_HomeAnimalData_proto_depIdxs,
+ MessageInfos: file_HomeAnimalData_proto_msgTypes,
+ }.Build()
+ File_HomeAnimalData_proto = out.File
+ file_HomeAnimalData_proto_rawDesc = nil
+ file_HomeAnimalData_proto_goTypes = nil
+ file_HomeAnimalData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarAllFinishRewardNotify.pb.go b/protocol/proto/HomeAvatarAllFinishRewardNotify.pb.go
new file mode 100644
index 00000000..90dc91d4
--- /dev/null
+++ b/protocol/proto/HomeAvatarAllFinishRewardNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarAllFinishRewardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4741
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarAllFinishRewardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EventIdList []uint32 `protobuf:"varint,7,rep,packed,name=event_id_list,json=eventIdList,proto3" json:"event_id_list,omitempty"`
+}
+
+func (x *HomeAvatarAllFinishRewardNotify) Reset() {
+ *x = HomeAvatarAllFinishRewardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarAllFinishRewardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarAllFinishRewardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarAllFinishRewardNotify) ProtoMessage() {}
+
+func (x *HomeAvatarAllFinishRewardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarAllFinishRewardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarAllFinishRewardNotify.ProtoReflect.Descriptor instead.
+func (*HomeAvatarAllFinishRewardNotify) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarAllFinishRewardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarAllFinishRewardNotify) GetEventIdList() []uint32 {
+ if x != nil {
+ return x.EventIdList
+ }
+ return nil
+}
+
+var File_HomeAvatarAllFinishRewardNotify_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarAllFinishRewardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45,
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarAllFinishRewardNotify_proto_rawDescOnce sync.Once
+ file_HomeAvatarAllFinishRewardNotify_proto_rawDescData = file_HomeAvatarAllFinishRewardNotify_proto_rawDesc
+)
+
+func file_HomeAvatarAllFinishRewardNotify_proto_rawDescGZIP() []byte {
+ file_HomeAvatarAllFinishRewardNotify_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarAllFinishRewardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarAllFinishRewardNotify_proto_rawDescData)
+ })
+ return file_HomeAvatarAllFinishRewardNotify_proto_rawDescData
+}
+
+var file_HomeAvatarAllFinishRewardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarAllFinishRewardNotify_proto_goTypes = []interface{}{
+ (*HomeAvatarAllFinishRewardNotify)(nil), // 0: proto.HomeAvatarAllFinishRewardNotify
+}
+var file_HomeAvatarAllFinishRewardNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarAllFinishRewardNotify_proto_init() }
+func file_HomeAvatarAllFinishRewardNotify_proto_init() {
+ if File_HomeAvatarAllFinishRewardNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarAllFinishRewardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarAllFinishRewardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarAllFinishRewardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarAllFinishRewardNotify_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarAllFinishRewardNotify_proto_depIdxs,
+ MessageInfos: file_HomeAvatarAllFinishRewardNotify_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarAllFinishRewardNotify_proto = out.File
+ file_HomeAvatarAllFinishRewardNotify_proto_rawDesc = nil
+ file_HomeAvatarAllFinishRewardNotify_proto_goTypes = nil
+ file_HomeAvatarAllFinishRewardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarCostumeChangeNotify.pb.go b/protocol/proto/HomeAvatarCostumeChangeNotify.pb.go
new file mode 100644
index 00000000..48a74269
--- /dev/null
+++ b/protocol/proto/HomeAvatarCostumeChangeNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarCostumeChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4748
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarCostumeChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CostumeId uint32 `protobuf:"varint,4,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ AvatarId uint32 `protobuf:"varint,10,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *HomeAvatarCostumeChangeNotify) Reset() {
+ *x = HomeAvatarCostumeChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarCostumeChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarCostumeChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarCostumeChangeNotify) ProtoMessage() {}
+
+func (x *HomeAvatarCostumeChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarCostumeChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarCostumeChangeNotify.ProtoReflect.Descriptor instead.
+func (*HomeAvatarCostumeChangeNotify) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarCostumeChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarCostumeChangeNotify) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *HomeAvatarCostumeChangeNotify) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_HomeAvatarCostumeChangeNotify_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarCostumeChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x73, 0x74,
+ 0x75, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x1d,
+ 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x73, 0x74, 0x75, 0x6d,
+ 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarCostumeChangeNotify_proto_rawDescOnce sync.Once
+ file_HomeAvatarCostumeChangeNotify_proto_rawDescData = file_HomeAvatarCostumeChangeNotify_proto_rawDesc
+)
+
+func file_HomeAvatarCostumeChangeNotify_proto_rawDescGZIP() []byte {
+ file_HomeAvatarCostumeChangeNotify_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarCostumeChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarCostumeChangeNotify_proto_rawDescData)
+ })
+ return file_HomeAvatarCostumeChangeNotify_proto_rawDescData
+}
+
+var file_HomeAvatarCostumeChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarCostumeChangeNotify_proto_goTypes = []interface{}{
+ (*HomeAvatarCostumeChangeNotify)(nil), // 0: proto.HomeAvatarCostumeChangeNotify
+}
+var file_HomeAvatarCostumeChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarCostumeChangeNotify_proto_init() }
+func file_HomeAvatarCostumeChangeNotify_proto_init() {
+ if File_HomeAvatarCostumeChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarCostumeChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarCostumeChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarCostumeChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarCostumeChangeNotify_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarCostumeChangeNotify_proto_depIdxs,
+ MessageInfos: file_HomeAvatarCostumeChangeNotify_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarCostumeChangeNotify_proto = out.File
+ file_HomeAvatarCostumeChangeNotify_proto_rawDesc = nil
+ file_HomeAvatarCostumeChangeNotify_proto_goTypes = nil
+ file_HomeAvatarCostumeChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarRewardEventGetReq.pb.go b/protocol/proto/HomeAvatarRewardEventGetReq.pb.go
new file mode 100644
index 00000000..34ff9313
--- /dev/null
+++ b/protocol/proto/HomeAvatarRewardEventGetReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarRewardEventGetReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4551
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeAvatarRewardEventGetReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EventId uint32 `protobuf:"varint,9,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
+ AvatarId uint32 `protobuf:"varint,7,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *HomeAvatarRewardEventGetReq) Reset() {
+ *x = HomeAvatarRewardEventGetReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarRewardEventGetReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarRewardEventGetReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarRewardEventGetReq) ProtoMessage() {}
+
+func (x *HomeAvatarRewardEventGetReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarRewardEventGetReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarRewardEventGetReq.ProtoReflect.Descriptor instead.
+func (*HomeAvatarRewardEventGetReq) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarRewardEventGetReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarRewardEventGetReq) GetEventId() uint32 {
+ if x != nil {
+ return x.EventId
+ }
+ return 0
+}
+
+func (x *HomeAvatarRewardEventGetReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_HomeAvatarRewardEventGetReq_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarRewardEventGetReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x1b, 0x48, 0x6f,
+ 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarRewardEventGetReq_proto_rawDescOnce sync.Once
+ file_HomeAvatarRewardEventGetReq_proto_rawDescData = file_HomeAvatarRewardEventGetReq_proto_rawDesc
+)
+
+func file_HomeAvatarRewardEventGetReq_proto_rawDescGZIP() []byte {
+ file_HomeAvatarRewardEventGetReq_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarRewardEventGetReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarRewardEventGetReq_proto_rawDescData)
+ })
+ return file_HomeAvatarRewardEventGetReq_proto_rawDescData
+}
+
+var file_HomeAvatarRewardEventGetReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarRewardEventGetReq_proto_goTypes = []interface{}{
+ (*HomeAvatarRewardEventGetReq)(nil), // 0: proto.HomeAvatarRewardEventGetReq
+}
+var file_HomeAvatarRewardEventGetReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarRewardEventGetReq_proto_init() }
+func file_HomeAvatarRewardEventGetReq_proto_init() {
+ if File_HomeAvatarRewardEventGetReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarRewardEventGetReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarRewardEventGetReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarRewardEventGetReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarRewardEventGetReq_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarRewardEventGetReq_proto_depIdxs,
+ MessageInfos: file_HomeAvatarRewardEventGetReq_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarRewardEventGetReq_proto = out.File
+ file_HomeAvatarRewardEventGetReq_proto_rawDesc = nil
+ file_HomeAvatarRewardEventGetReq_proto_goTypes = nil
+ file_HomeAvatarRewardEventGetReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarRewardEventGetRsp.pb.go b/protocol/proto/HomeAvatarRewardEventGetRsp.pb.go
new file mode 100644
index 00000000..a1495cb2
--- /dev/null
+++ b/protocol/proto/HomeAvatarRewardEventGetRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarRewardEventGetRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4833
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarRewardEventGetRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*ItemParam `protobuf:"bytes,4,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EventId uint32 `protobuf:"varint,8,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
+}
+
+func (x *HomeAvatarRewardEventGetRsp) Reset() {
+ *x = HomeAvatarRewardEventGetRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarRewardEventGetRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarRewardEventGetRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarRewardEventGetRsp) ProtoMessage() {}
+
+func (x *HomeAvatarRewardEventGetRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarRewardEventGetRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarRewardEventGetRsp.ProtoReflect.Descriptor instead.
+func (*HomeAvatarRewardEventGetRsp) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarRewardEventGetRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarRewardEventGetRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *HomeAvatarRewardEventGetRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeAvatarRewardEventGetRsp) GetEventId() uint32 {
+ if x != nil {
+ return x.EventId
+ }
+ return 0
+}
+
+var File_HomeAvatarRewardEventGetRsp_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarRewardEventGetRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x1b,
+ 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x65, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x69,
+ 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarRewardEventGetRsp_proto_rawDescOnce sync.Once
+ file_HomeAvatarRewardEventGetRsp_proto_rawDescData = file_HomeAvatarRewardEventGetRsp_proto_rawDesc
+)
+
+func file_HomeAvatarRewardEventGetRsp_proto_rawDescGZIP() []byte {
+ file_HomeAvatarRewardEventGetRsp_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarRewardEventGetRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarRewardEventGetRsp_proto_rawDescData)
+ })
+ return file_HomeAvatarRewardEventGetRsp_proto_rawDescData
+}
+
+var file_HomeAvatarRewardEventGetRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarRewardEventGetRsp_proto_goTypes = []interface{}{
+ (*HomeAvatarRewardEventGetRsp)(nil), // 0: proto.HomeAvatarRewardEventGetRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_HomeAvatarRewardEventGetRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeAvatarRewardEventGetRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarRewardEventGetRsp_proto_init() }
+func file_HomeAvatarRewardEventGetRsp_proto_init() {
+ if File_HomeAvatarRewardEventGetRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarRewardEventGetRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarRewardEventGetRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarRewardEventGetRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarRewardEventGetRsp_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarRewardEventGetRsp_proto_depIdxs,
+ MessageInfos: file_HomeAvatarRewardEventGetRsp_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarRewardEventGetRsp_proto = out.File
+ file_HomeAvatarRewardEventGetRsp_proto_rawDesc = nil
+ file_HomeAvatarRewardEventGetRsp_proto_goTypes = nil
+ file_HomeAvatarRewardEventGetRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarRewardEventInfo.pb.go b/protocol/proto/HomeAvatarRewardEventInfo.pb.go
new file mode 100644
index 00000000..15f898f9
--- /dev/null
+++ b/protocol/proto/HomeAvatarRewardEventInfo.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarRewardEventInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeAvatarRewardEventInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Guid uint32 `protobuf:"varint,12,opt,name=guid,proto3" json:"guid,omitempty"`
+ EventId uint32 `protobuf:"varint,2,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
+ SuiteId uint32 `protobuf:"varint,14,opt,name=suite_id,json=suiteId,proto3" json:"suite_id,omitempty"`
+ RandomPosition uint32 `protobuf:"varint,9,opt,name=random_position,json=randomPosition,proto3" json:"random_position,omitempty"`
+}
+
+func (x *HomeAvatarRewardEventInfo) Reset() {
+ *x = HomeAvatarRewardEventInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarRewardEventInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarRewardEventInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarRewardEventInfo) ProtoMessage() {}
+
+func (x *HomeAvatarRewardEventInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarRewardEventInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarRewardEventInfo.ProtoReflect.Descriptor instead.
+func (*HomeAvatarRewardEventInfo) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarRewardEventInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarRewardEventInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *HomeAvatarRewardEventInfo) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeAvatarRewardEventInfo) GetEventId() uint32 {
+ if x != nil {
+ return x.EventId
+ }
+ return 0
+}
+
+func (x *HomeAvatarRewardEventInfo) GetSuiteId() uint32 {
+ if x != nil {
+ return x.SuiteId
+ }
+ return 0
+}
+
+func (x *HomeAvatarRewardEventInfo) GetRandomPosition() uint32 {
+ if x != nil {
+ return x.RandomPosition
+ }
+ return 0
+}
+
+var File_HomeAvatarRewardEventInfo_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarRewardEventInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x19, 0x48, 0x6f, 0x6d,
+ 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a,
+ 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarRewardEventInfo_proto_rawDescOnce sync.Once
+ file_HomeAvatarRewardEventInfo_proto_rawDescData = file_HomeAvatarRewardEventInfo_proto_rawDesc
+)
+
+func file_HomeAvatarRewardEventInfo_proto_rawDescGZIP() []byte {
+ file_HomeAvatarRewardEventInfo_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarRewardEventInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarRewardEventInfo_proto_rawDescData)
+ })
+ return file_HomeAvatarRewardEventInfo_proto_rawDescData
+}
+
+var file_HomeAvatarRewardEventInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarRewardEventInfo_proto_goTypes = []interface{}{
+ (*HomeAvatarRewardEventInfo)(nil), // 0: proto.HomeAvatarRewardEventInfo
+}
+var file_HomeAvatarRewardEventInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarRewardEventInfo_proto_init() }
+func file_HomeAvatarRewardEventInfo_proto_init() {
+ if File_HomeAvatarRewardEventInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarRewardEventInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarRewardEventInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarRewardEventInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarRewardEventInfo_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarRewardEventInfo_proto_depIdxs,
+ MessageInfos: file_HomeAvatarRewardEventInfo_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarRewardEventInfo_proto = out.File
+ file_HomeAvatarRewardEventInfo_proto_rawDesc = nil
+ file_HomeAvatarRewardEventInfo_proto_goTypes = nil
+ file_HomeAvatarRewardEventInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarRewardEventNotify.pb.go b/protocol/proto/HomeAvatarRewardEventNotify.pb.go
new file mode 100644
index 00000000..e64a082f
--- /dev/null
+++ b/protocol/proto/HomeAvatarRewardEventNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarRewardEventNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4852
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarRewardEventNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsEventTrigger bool `protobuf:"varint,4,opt,name=is_event_trigger,json=isEventTrigger,proto3" json:"is_event_trigger,omitempty"`
+ RewardEvent *HomeAvatarRewardEventInfo `protobuf:"bytes,2,opt,name=reward_event,json=rewardEvent,proto3" json:"reward_event,omitempty"`
+ PendingList []*HomeAvatarRewardEventInfo `protobuf:"bytes,8,rep,name=pending_list,json=pendingList,proto3" json:"pending_list,omitempty"`
+}
+
+func (x *HomeAvatarRewardEventNotify) Reset() {
+ *x = HomeAvatarRewardEventNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarRewardEventNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarRewardEventNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarRewardEventNotify) ProtoMessage() {}
+
+func (x *HomeAvatarRewardEventNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarRewardEventNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarRewardEventNotify.ProtoReflect.Descriptor instead.
+func (*HomeAvatarRewardEventNotify) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarRewardEventNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarRewardEventNotify) GetIsEventTrigger() bool {
+ if x != nil {
+ return x.IsEventTrigger
+ }
+ return false
+}
+
+func (x *HomeAvatarRewardEventNotify) GetRewardEvent() *HomeAvatarRewardEventInfo {
+ if x != nil {
+ return x.RewardEvent
+ }
+ return nil
+}
+
+func (x *HomeAvatarRewardEventNotify) GetPendingList() []*HomeAvatarRewardEventInfo {
+ if x != nil {
+ return x.PendingList
+ }
+ return nil
+}
+
+var File_HomeAvatarRewardEventNotify_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarRewardEventNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x48, 0x6f, 0x6d, 0x65,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x1b,
+ 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x69,
+ 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72,
+ 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x0c, 0x70, 0x65,
+ 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarRewardEventNotify_proto_rawDescOnce sync.Once
+ file_HomeAvatarRewardEventNotify_proto_rawDescData = file_HomeAvatarRewardEventNotify_proto_rawDesc
+)
+
+func file_HomeAvatarRewardEventNotify_proto_rawDescGZIP() []byte {
+ file_HomeAvatarRewardEventNotify_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarRewardEventNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarRewardEventNotify_proto_rawDescData)
+ })
+ return file_HomeAvatarRewardEventNotify_proto_rawDescData
+}
+
+var file_HomeAvatarRewardEventNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarRewardEventNotify_proto_goTypes = []interface{}{
+ (*HomeAvatarRewardEventNotify)(nil), // 0: proto.HomeAvatarRewardEventNotify
+ (*HomeAvatarRewardEventInfo)(nil), // 1: proto.HomeAvatarRewardEventInfo
+}
+var file_HomeAvatarRewardEventNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeAvatarRewardEventNotify.reward_event:type_name -> proto.HomeAvatarRewardEventInfo
+ 1, // 1: proto.HomeAvatarRewardEventNotify.pending_list:type_name -> proto.HomeAvatarRewardEventInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarRewardEventNotify_proto_init() }
+func file_HomeAvatarRewardEventNotify_proto_init() {
+ if File_HomeAvatarRewardEventNotify_proto != nil {
+ return
+ }
+ file_HomeAvatarRewardEventInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarRewardEventNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarRewardEventNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarRewardEventNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarRewardEventNotify_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarRewardEventNotify_proto_depIdxs,
+ MessageInfos: file_HomeAvatarRewardEventNotify_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarRewardEventNotify_proto = out.File
+ file_HomeAvatarRewardEventNotify_proto_rawDesc = nil
+ file_HomeAvatarRewardEventNotify_proto_goTypes = nil
+ file_HomeAvatarRewardEventNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarSummonAllEventNotify.pb.go b/protocol/proto/HomeAvatarSummonAllEventNotify.pb.go
new file mode 100644
index 00000000..921f602d
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonAllEventNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarSummonAllEventNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4808
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarSummonAllEventNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SummonEventList []*HomeAvatarSummonEventInfo `protobuf:"bytes,1,rep,name=summon_event_list,json=summonEventList,proto3" json:"summon_event_list,omitempty"`
+}
+
+func (x *HomeAvatarSummonAllEventNotify) Reset() {
+ *x = HomeAvatarSummonAllEventNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarSummonAllEventNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarSummonAllEventNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarSummonAllEventNotify) ProtoMessage() {}
+
+func (x *HomeAvatarSummonAllEventNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarSummonAllEventNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarSummonAllEventNotify.ProtoReflect.Descriptor instead.
+func (*HomeAvatarSummonAllEventNotify) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarSummonAllEventNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarSummonAllEventNotify) GetSummonEventList() []*HomeAvatarSummonEventInfo {
+ if x != nil {
+ return x.SummonEventList
+ }
+ return nil
+}
+
+var File_HomeAvatarSummonAllEventNotify_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarSummonAllEventNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x48,
+ 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e,
+ 0x0a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x4c, 0x0a, 0x11, 0x73, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x73,
+ 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarSummonAllEventNotify_proto_rawDescOnce sync.Once
+ file_HomeAvatarSummonAllEventNotify_proto_rawDescData = file_HomeAvatarSummonAllEventNotify_proto_rawDesc
+)
+
+func file_HomeAvatarSummonAllEventNotify_proto_rawDescGZIP() []byte {
+ file_HomeAvatarSummonAllEventNotify_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarSummonAllEventNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarSummonAllEventNotify_proto_rawDescData)
+ })
+ return file_HomeAvatarSummonAllEventNotify_proto_rawDescData
+}
+
+var file_HomeAvatarSummonAllEventNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarSummonAllEventNotify_proto_goTypes = []interface{}{
+ (*HomeAvatarSummonAllEventNotify)(nil), // 0: proto.HomeAvatarSummonAllEventNotify
+ (*HomeAvatarSummonEventInfo)(nil), // 1: proto.HomeAvatarSummonEventInfo
+}
+var file_HomeAvatarSummonAllEventNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeAvatarSummonAllEventNotify.summon_event_list:type_name -> proto.HomeAvatarSummonEventInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarSummonAllEventNotify_proto_init() }
+func file_HomeAvatarSummonAllEventNotify_proto_init() {
+ if File_HomeAvatarSummonAllEventNotify_proto != nil {
+ return
+ }
+ file_HomeAvatarSummonEventInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarSummonAllEventNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarSummonAllEventNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarSummonAllEventNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarSummonAllEventNotify_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarSummonAllEventNotify_proto_depIdxs,
+ MessageInfos: file_HomeAvatarSummonAllEventNotify_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarSummonAllEventNotify_proto = out.File
+ file_HomeAvatarSummonAllEventNotify_proto_rawDesc = nil
+ file_HomeAvatarSummonAllEventNotify_proto_goTypes = nil
+ file_HomeAvatarSummonAllEventNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarSummonEventInfo.pb.go b/protocol/proto/HomeAvatarSummonEventInfo.pb.go
new file mode 100644
index 00000000..7560c95e
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonEventInfo.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarSummonEventInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeAvatarSummonEventInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,3,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Guid uint32 `protobuf:"varint,8,opt,name=guid,proto3" json:"guid,omitempty"`
+ EventId uint32 `protobuf:"varint,9,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
+ SuitId uint32 `protobuf:"varint,12,opt,name=suit_id,json=suitId,proto3" json:"suit_id,omitempty"`
+ EventOverTime uint32 `protobuf:"varint,2,opt,name=event_over_time,json=eventOverTime,proto3" json:"event_over_time,omitempty"`
+ RandomPosition uint32 `protobuf:"varint,10,opt,name=random_position,json=randomPosition,proto3" json:"random_position,omitempty"`
+}
+
+func (x *HomeAvatarSummonEventInfo) Reset() {
+ *x = HomeAvatarSummonEventInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarSummonEventInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarSummonEventInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarSummonEventInfo) ProtoMessage() {}
+
+func (x *HomeAvatarSummonEventInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarSummonEventInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarSummonEventInfo.ProtoReflect.Descriptor instead.
+func (*HomeAvatarSummonEventInfo) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarSummonEventInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarSummonEventInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonEventInfo) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonEventInfo) GetEventId() uint32 {
+ if x != nil {
+ return x.EventId
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonEventInfo) GetSuitId() uint32 {
+ if x != nil {
+ return x.SuitId
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonEventInfo) GetEventOverTime() uint32 {
+ if x != nil {
+ return x.EventOverTime
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonEventInfo) GetRandomPosition() uint32 {
+ if x != nil {
+ return x.RandomPosition
+ }
+ return 0
+}
+
+var File_HomeAvatarSummonEventInfo_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarSummonEventInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x19, 0x48, 0x6f, 0x6d,
+ 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x75, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x75, 0x69, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x65,
+ 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x61,
+ 0x6e, 0x64, 0x6f, 0x6d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarSummonEventInfo_proto_rawDescOnce sync.Once
+ file_HomeAvatarSummonEventInfo_proto_rawDescData = file_HomeAvatarSummonEventInfo_proto_rawDesc
+)
+
+func file_HomeAvatarSummonEventInfo_proto_rawDescGZIP() []byte {
+ file_HomeAvatarSummonEventInfo_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarSummonEventInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarSummonEventInfo_proto_rawDescData)
+ })
+ return file_HomeAvatarSummonEventInfo_proto_rawDescData
+}
+
+var file_HomeAvatarSummonEventInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarSummonEventInfo_proto_goTypes = []interface{}{
+ (*HomeAvatarSummonEventInfo)(nil), // 0: proto.HomeAvatarSummonEventInfo
+}
+var file_HomeAvatarSummonEventInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarSummonEventInfo_proto_init() }
+func file_HomeAvatarSummonEventInfo_proto_init() {
+ if File_HomeAvatarSummonEventInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarSummonEventInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarSummonEventInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarSummonEventInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarSummonEventInfo_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarSummonEventInfo_proto_depIdxs,
+ MessageInfos: file_HomeAvatarSummonEventInfo_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarSummonEventInfo_proto = out.File
+ file_HomeAvatarSummonEventInfo_proto_rawDesc = nil
+ file_HomeAvatarSummonEventInfo_proto_goTypes = nil
+ file_HomeAvatarSummonEventInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarSummonEventReq.pb.go b/protocol/proto/HomeAvatarSummonEventReq.pb.go
new file mode 100644
index 00000000..789ac67e
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonEventReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarSummonEventReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4806
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeAvatarSummonEventReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,7,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ SuitId uint32 `protobuf:"varint,9,opt,name=suit_id,json=suitId,proto3" json:"suit_id,omitempty"`
+ Guid uint32 `protobuf:"varint,12,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *HomeAvatarSummonEventReq) Reset() {
+ *x = HomeAvatarSummonEventReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarSummonEventReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarSummonEventReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarSummonEventReq) ProtoMessage() {}
+
+func (x *HomeAvatarSummonEventReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarSummonEventReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarSummonEventReq.ProtoReflect.Descriptor instead.
+func (*HomeAvatarSummonEventReq) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarSummonEventReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarSummonEventReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonEventReq) GetSuitId() uint32 {
+ if x != nil {
+ return x.SuitId
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonEventReq) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_HomeAvatarSummonEventReq_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarSummonEventReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64,
+ 0x12, 0x17, 0x0a, 0x07, 0x73, 0x75, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x73, 0x75, 0x69, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeAvatarSummonEventReq_proto_rawDescOnce sync.Once
+ file_HomeAvatarSummonEventReq_proto_rawDescData = file_HomeAvatarSummonEventReq_proto_rawDesc
+)
+
+func file_HomeAvatarSummonEventReq_proto_rawDescGZIP() []byte {
+ file_HomeAvatarSummonEventReq_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarSummonEventReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarSummonEventReq_proto_rawDescData)
+ })
+ return file_HomeAvatarSummonEventReq_proto_rawDescData
+}
+
+var file_HomeAvatarSummonEventReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarSummonEventReq_proto_goTypes = []interface{}{
+ (*HomeAvatarSummonEventReq)(nil), // 0: proto.HomeAvatarSummonEventReq
+}
+var file_HomeAvatarSummonEventReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarSummonEventReq_proto_init() }
+func file_HomeAvatarSummonEventReq_proto_init() {
+ if File_HomeAvatarSummonEventReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarSummonEventReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarSummonEventReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarSummonEventReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarSummonEventReq_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarSummonEventReq_proto_depIdxs,
+ MessageInfos: file_HomeAvatarSummonEventReq_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarSummonEventReq_proto = out.File
+ file_HomeAvatarSummonEventReq_proto_rawDesc = nil
+ file_HomeAvatarSummonEventReq_proto_goTypes = nil
+ file_HomeAvatarSummonEventReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarSummonEventRsp.pb.go b/protocol/proto/HomeAvatarSummonEventRsp.pb.go
new file mode 100644
index 00000000..9d7206db
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonEventRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarSummonEventRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4817
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarSummonEventRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EventId uint32 `protobuf:"varint,11,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeAvatarSummonEventRsp) Reset() {
+ *x = HomeAvatarSummonEventRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarSummonEventRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarSummonEventRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarSummonEventRsp) ProtoMessage() {}
+
+func (x *HomeAvatarSummonEventRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarSummonEventRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarSummonEventRsp.ProtoReflect.Descriptor instead.
+func (*HomeAvatarSummonEventRsp) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarSummonEventRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarSummonEventRsp) GetEventId() uint32 {
+ if x != nil {
+ return x.EventId
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonEventRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeAvatarSummonEventRsp_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarSummonEventRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarSummonEventRsp_proto_rawDescOnce sync.Once
+ file_HomeAvatarSummonEventRsp_proto_rawDescData = file_HomeAvatarSummonEventRsp_proto_rawDesc
+)
+
+func file_HomeAvatarSummonEventRsp_proto_rawDescGZIP() []byte {
+ file_HomeAvatarSummonEventRsp_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarSummonEventRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarSummonEventRsp_proto_rawDescData)
+ })
+ return file_HomeAvatarSummonEventRsp_proto_rawDescData
+}
+
+var file_HomeAvatarSummonEventRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarSummonEventRsp_proto_goTypes = []interface{}{
+ (*HomeAvatarSummonEventRsp)(nil), // 0: proto.HomeAvatarSummonEventRsp
+}
+var file_HomeAvatarSummonEventRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarSummonEventRsp_proto_init() }
+func file_HomeAvatarSummonEventRsp_proto_init() {
+ if File_HomeAvatarSummonEventRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarSummonEventRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarSummonEventRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarSummonEventRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarSummonEventRsp_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarSummonEventRsp_proto_depIdxs,
+ MessageInfos: file_HomeAvatarSummonEventRsp_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarSummonEventRsp_proto = out.File
+ file_HomeAvatarSummonEventRsp_proto_rawDesc = nil
+ file_HomeAvatarSummonEventRsp_proto_goTypes = nil
+ file_HomeAvatarSummonEventRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarSummonFinishReq.pb.go b/protocol/proto/HomeAvatarSummonFinishReq.pb.go
new file mode 100644
index 00000000..da2888bb
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonFinishReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarSummonFinishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4629
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeAvatarSummonFinishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EventId uint32 `protobuf:"varint,12,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
+}
+
+func (x *HomeAvatarSummonFinishReq) Reset() {
+ *x = HomeAvatarSummonFinishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarSummonFinishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarSummonFinishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarSummonFinishReq) ProtoMessage() {}
+
+func (x *HomeAvatarSummonFinishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarSummonFinishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarSummonFinishReq.ProtoReflect.Descriptor instead.
+func (*HomeAvatarSummonFinishReq) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarSummonFinishReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarSummonFinishReq) GetEventId() uint32 {
+ if x != nil {
+ return x.EventId
+ }
+ return 0
+}
+
+var File_HomeAvatarSummonFinishReq_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarSummonFinishReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarSummonFinishReq_proto_rawDescOnce sync.Once
+ file_HomeAvatarSummonFinishReq_proto_rawDescData = file_HomeAvatarSummonFinishReq_proto_rawDesc
+)
+
+func file_HomeAvatarSummonFinishReq_proto_rawDescGZIP() []byte {
+ file_HomeAvatarSummonFinishReq_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarSummonFinishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarSummonFinishReq_proto_rawDescData)
+ })
+ return file_HomeAvatarSummonFinishReq_proto_rawDescData
+}
+
+var file_HomeAvatarSummonFinishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarSummonFinishReq_proto_goTypes = []interface{}{
+ (*HomeAvatarSummonFinishReq)(nil), // 0: proto.HomeAvatarSummonFinishReq
+}
+var file_HomeAvatarSummonFinishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarSummonFinishReq_proto_init() }
+func file_HomeAvatarSummonFinishReq_proto_init() {
+ if File_HomeAvatarSummonFinishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarSummonFinishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarSummonFinishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarSummonFinishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarSummonFinishReq_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarSummonFinishReq_proto_depIdxs,
+ MessageInfos: file_HomeAvatarSummonFinishReq_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarSummonFinishReq_proto = out.File
+ file_HomeAvatarSummonFinishReq_proto_rawDesc = nil
+ file_HomeAvatarSummonFinishReq_proto_goTypes = nil
+ file_HomeAvatarSummonFinishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarSummonFinishRsp.pb.go b/protocol/proto/HomeAvatarSummonFinishRsp.pb.go
new file mode 100644
index 00000000..fa1bafb4
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonFinishRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarSummonFinishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4696
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarSummonFinishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EventId uint32 `protobuf:"varint,8,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeAvatarSummonFinishRsp) Reset() {
+ *x = HomeAvatarSummonFinishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarSummonFinishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarSummonFinishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarSummonFinishRsp) ProtoMessage() {}
+
+func (x *HomeAvatarSummonFinishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarSummonFinishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarSummonFinishRsp.ProtoReflect.Descriptor instead.
+func (*HomeAvatarSummonFinishRsp) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarSummonFinishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarSummonFinishRsp) GetEventId() uint32 {
+ if x != nil {
+ return x.EventId
+ }
+ return 0
+}
+
+func (x *HomeAvatarSummonFinishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeAvatarSummonFinishRsp_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarSummonFinishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarSummonFinishRsp_proto_rawDescOnce sync.Once
+ file_HomeAvatarSummonFinishRsp_proto_rawDescData = file_HomeAvatarSummonFinishRsp_proto_rawDesc
+)
+
+func file_HomeAvatarSummonFinishRsp_proto_rawDescGZIP() []byte {
+ file_HomeAvatarSummonFinishRsp_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarSummonFinishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarSummonFinishRsp_proto_rawDescData)
+ })
+ return file_HomeAvatarSummonFinishRsp_proto_rawDescData
+}
+
+var file_HomeAvatarSummonFinishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarSummonFinishRsp_proto_goTypes = []interface{}{
+ (*HomeAvatarSummonFinishRsp)(nil), // 0: proto.HomeAvatarSummonFinishRsp
+}
+var file_HomeAvatarSummonFinishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarSummonFinishRsp_proto_init() }
+func file_HomeAvatarSummonFinishRsp_proto_init() {
+ if File_HomeAvatarSummonFinishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarSummonFinishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarSummonFinishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarSummonFinishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarSummonFinishRsp_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarSummonFinishRsp_proto_depIdxs,
+ MessageInfos: file_HomeAvatarSummonFinishRsp_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarSummonFinishRsp_proto = out.File
+ file_HomeAvatarSummonFinishRsp_proto_rawDesc = nil
+ file_HomeAvatarSummonFinishRsp_proto_goTypes = nil
+ file_HomeAvatarSummonFinishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarTalkFinishInfo.pb.go b/protocol/proto/HomeAvatarTalkFinishInfo.pb.go
new file mode 100644
index 00000000..2b826aff
--- /dev/null
+++ b/protocol/proto/HomeAvatarTalkFinishInfo.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarTalkFinishInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeAvatarTalkFinishInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,9,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ FinishTalkIdList []uint32 `protobuf:"varint,3,rep,packed,name=finish_talk_id_list,json=finishTalkIdList,proto3" json:"finish_talk_id_list,omitempty"`
+}
+
+func (x *HomeAvatarTalkFinishInfo) Reset() {
+ *x = HomeAvatarTalkFinishInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarTalkFinishInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarTalkFinishInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarTalkFinishInfo) ProtoMessage() {}
+
+func (x *HomeAvatarTalkFinishInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarTalkFinishInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarTalkFinishInfo.ProtoReflect.Descriptor instead.
+func (*HomeAvatarTalkFinishInfo) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarTalkFinishInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarTalkFinishInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *HomeAvatarTalkFinishInfo) GetFinishTalkIdList() []uint32 {
+ if x != nil {
+ return x.FinishTalkIdList
+ }
+ return nil
+}
+
+var File_HomeAvatarTalkFinishInfo_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarTalkFinishInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64,
+ 0x12, 0x2d, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x61, 0x6c, 0x6b, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x66,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x61, 0x6c, 0x6b, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarTalkFinishInfo_proto_rawDescOnce sync.Once
+ file_HomeAvatarTalkFinishInfo_proto_rawDescData = file_HomeAvatarTalkFinishInfo_proto_rawDesc
+)
+
+func file_HomeAvatarTalkFinishInfo_proto_rawDescGZIP() []byte {
+ file_HomeAvatarTalkFinishInfo_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarTalkFinishInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarTalkFinishInfo_proto_rawDescData)
+ })
+ return file_HomeAvatarTalkFinishInfo_proto_rawDescData
+}
+
+var file_HomeAvatarTalkFinishInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarTalkFinishInfo_proto_goTypes = []interface{}{
+ (*HomeAvatarTalkFinishInfo)(nil), // 0: proto.HomeAvatarTalkFinishInfo
+}
+var file_HomeAvatarTalkFinishInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarTalkFinishInfo_proto_init() }
+func file_HomeAvatarTalkFinishInfo_proto_init() {
+ if File_HomeAvatarTalkFinishInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarTalkFinishInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarTalkFinishInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarTalkFinishInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarTalkFinishInfo_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarTalkFinishInfo_proto_depIdxs,
+ MessageInfos: file_HomeAvatarTalkFinishInfo_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarTalkFinishInfo_proto = out.File
+ file_HomeAvatarTalkFinishInfo_proto_rawDesc = nil
+ file_HomeAvatarTalkFinishInfo_proto_goTypes = nil
+ file_HomeAvatarTalkFinishInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarTalkFinishInfoNotify.pb.go b/protocol/proto/HomeAvatarTalkFinishInfoNotify.pb.go
new file mode 100644
index 00000000..04549fac
--- /dev/null
+++ b/protocol/proto/HomeAvatarTalkFinishInfoNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarTalkFinishInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4896
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarTalkFinishInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarTalkInfoList []*HomeAvatarTalkFinishInfo `protobuf:"bytes,9,rep,name=avatar_talk_info_list,json=avatarTalkInfoList,proto3" json:"avatar_talk_info_list,omitempty"`
+}
+
+func (x *HomeAvatarTalkFinishInfoNotify) Reset() {
+ *x = HomeAvatarTalkFinishInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarTalkFinishInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarTalkFinishInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarTalkFinishInfoNotify) ProtoMessage() {}
+
+func (x *HomeAvatarTalkFinishInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarTalkFinishInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarTalkFinishInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomeAvatarTalkFinishInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarTalkFinishInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarTalkFinishInfoNotify) GetAvatarTalkInfoList() []*HomeAvatarTalkFinishInfo {
+ if x != nil {
+ return x.AvatarTalkInfoList
+ }
+ return nil
+}
+
+var File_HomeAvatarTalkFinishInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarTalkFinishInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x48,
+ 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a,
+ 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x52, 0x0a, 0x15, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x61, 0x6c, 0x6b, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x61, 0x6c, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x12, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarTalkFinishInfoNotify_proto_rawDescOnce sync.Once
+ file_HomeAvatarTalkFinishInfoNotify_proto_rawDescData = file_HomeAvatarTalkFinishInfoNotify_proto_rawDesc
+)
+
+func file_HomeAvatarTalkFinishInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomeAvatarTalkFinishInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarTalkFinishInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarTalkFinishInfoNotify_proto_rawDescData)
+ })
+ return file_HomeAvatarTalkFinishInfoNotify_proto_rawDescData
+}
+
+var file_HomeAvatarTalkFinishInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarTalkFinishInfoNotify_proto_goTypes = []interface{}{
+ (*HomeAvatarTalkFinishInfoNotify)(nil), // 0: proto.HomeAvatarTalkFinishInfoNotify
+ (*HomeAvatarTalkFinishInfo)(nil), // 1: proto.HomeAvatarTalkFinishInfo
+}
+var file_HomeAvatarTalkFinishInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeAvatarTalkFinishInfoNotify.avatar_talk_info_list:type_name -> proto.HomeAvatarTalkFinishInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarTalkFinishInfoNotify_proto_init() }
+func file_HomeAvatarTalkFinishInfoNotify_proto_init() {
+ if File_HomeAvatarTalkFinishInfoNotify_proto != nil {
+ return
+ }
+ file_HomeAvatarTalkFinishInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarTalkFinishInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarTalkFinishInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarTalkFinishInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarTalkFinishInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarTalkFinishInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomeAvatarTalkFinishInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarTalkFinishInfoNotify_proto = out.File
+ file_HomeAvatarTalkFinishInfoNotify_proto_rawDesc = nil
+ file_HomeAvatarTalkFinishInfoNotify_proto_goTypes = nil
+ file_HomeAvatarTalkFinishInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarTalkReq.pb.go b/protocol/proto/HomeAvatarTalkReq.pb.go
new file mode 100644
index 00000000..d14f1e63
--- /dev/null
+++ b/protocol/proto/HomeAvatarTalkReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarTalkReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4688
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeAvatarTalkReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TalkId uint32 `protobuf:"varint,12,opt,name=talk_id,json=talkId,proto3" json:"talk_id,omitempty"`
+ AvatarId uint32 `protobuf:"varint,15,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *HomeAvatarTalkReq) Reset() {
+ *x = HomeAvatarTalkReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarTalkReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarTalkReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarTalkReq) ProtoMessage() {}
+
+func (x *HomeAvatarTalkReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarTalkReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarTalkReq.ProtoReflect.Descriptor instead.
+func (*HomeAvatarTalkReq) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarTalkReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarTalkReq) GetTalkId() uint32 {
+ if x != nil {
+ return x.TalkId
+ }
+ return 0
+}
+
+func (x *HomeAvatarTalkReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_HomeAvatarTalkReq_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarTalkReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x49, 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61,
+ 0x6c, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x6b, 0x5f, 0x69, 0x64,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x61, 0x6c, 0x6b, 0x49, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarTalkReq_proto_rawDescOnce sync.Once
+ file_HomeAvatarTalkReq_proto_rawDescData = file_HomeAvatarTalkReq_proto_rawDesc
+)
+
+func file_HomeAvatarTalkReq_proto_rawDescGZIP() []byte {
+ file_HomeAvatarTalkReq_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarTalkReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarTalkReq_proto_rawDescData)
+ })
+ return file_HomeAvatarTalkReq_proto_rawDescData
+}
+
+var file_HomeAvatarTalkReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarTalkReq_proto_goTypes = []interface{}{
+ (*HomeAvatarTalkReq)(nil), // 0: proto.HomeAvatarTalkReq
+}
+var file_HomeAvatarTalkReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarTalkReq_proto_init() }
+func file_HomeAvatarTalkReq_proto_init() {
+ if File_HomeAvatarTalkReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarTalkReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarTalkReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarTalkReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarTalkReq_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarTalkReq_proto_depIdxs,
+ MessageInfos: file_HomeAvatarTalkReq_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarTalkReq_proto = out.File
+ file_HomeAvatarTalkReq_proto_rawDesc = nil
+ file_HomeAvatarTalkReq_proto_goTypes = nil
+ file_HomeAvatarTalkReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvatarTalkRsp.pb.go b/protocol/proto/HomeAvatarTalkRsp.pb.go
new file mode 100644
index 00000000..33a13e7b
--- /dev/null
+++ b/protocol/proto/HomeAvatarTalkRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvatarTalkRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4464
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvatarTalkRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AvatarTalkInfo *HomeAvatarTalkFinishInfo `protobuf:"bytes,3,opt,name=avatar_talk_info,json=avatarTalkInfo,proto3" json:"avatar_talk_info,omitempty"`
+}
+
+func (x *HomeAvatarTalkRsp) Reset() {
+ *x = HomeAvatarTalkRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvatarTalkRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvatarTalkRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvatarTalkRsp) ProtoMessage() {}
+
+func (x *HomeAvatarTalkRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvatarTalkRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvatarTalkRsp.ProtoReflect.Descriptor instead.
+func (*HomeAvatarTalkRsp) Descriptor() ([]byte, []int) {
+ return file_HomeAvatarTalkRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvatarTalkRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeAvatarTalkRsp) GetAvatarTalkInfo() *HomeAvatarTalkFinishInfo {
+ if x != nil {
+ return x.AvatarTalkInfo
+ }
+ return nil
+}
+
+var File_HomeAvatarTalkRsp_proto protoreflect.FileDescriptor
+
+var file_HomeAvatarTalkRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x78, 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61,
+ 0x6c, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x49, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x61, 0x6c, 0x6b, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x54, 0x61, 0x6c, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvatarTalkRsp_proto_rawDescOnce sync.Once
+ file_HomeAvatarTalkRsp_proto_rawDescData = file_HomeAvatarTalkRsp_proto_rawDesc
+)
+
+func file_HomeAvatarTalkRsp_proto_rawDescGZIP() []byte {
+ file_HomeAvatarTalkRsp_proto_rawDescOnce.Do(func() {
+ file_HomeAvatarTalkRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvatarTalkRsp_proto_rawDescData)
+ })
+ return file_HomeAvatarTalkRsp_proto_rawDescData
+}
+
+var file_HomeAvatarTalkRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvatarTalkRsp_proto_goTypes = []interface{}{
+ (*HomeAvatarTalkRsp)(nil), // 0: proto.HomeAvatarTalkRsp
+ (*HomeAvatarTalkFinishInfo)(nil), // 1: proto.HomeAvatarTalkFinishInfo
+}
+var file_HomeAvatarTalkRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeAvatarTalkRsp.avatar_talk_info:type_name -> proto.HomeAvatarTalkFinishInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvatarTalkRsp_proto_init() }
+func file_HomeAvatarTalkRsp_proto_init() {
+ if File_HomeAvatarTalkRsp_proto != nil {
+ return
+ }
+ file_HomeAvatarTalkFinishInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvatarTalkRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvatarTalkRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvatarTalkRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvatarTalkRsp_proto_goTypes,
+ DependencyIndexes: file_HomeAvatarTalkRsp_proto_depIdxs,
+ MessageInfos: file_HomeAvatarTalkRsp_proto_msgTypes,
+ }.Build()
+ File_HomeAvatarTalkRsp_proto = out.File
+ file_HomeAvatarTalkRsp_proto_rawDesc = nil
+ file_HomeAvatarTalkRsp_proto_goTypes = nil
+ file_HomeAvatarTalkRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeAvtarAllFinishRewardNotify.pb.go b/protocol/proto/HomeAvtarAllFinishRewardNotify.pb.go
new file mode 100644
index 00000000..4389177c
--- /dev/null
+++ b/protocol/proto/HomeAvtarAllFinishRewardNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeAvtarAllFinishRewardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4453
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeAvtarAllFinishRewardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EventIdList []uint32 `protobuf:"varint,13,rep,packed,name=event_id_list,json=eventIdList,proto3" json:"event_id_list,omitempty"`
+}
+
+func (x *HomeAvtarAllFinishRewardNotify) Reset() {
+ *x = HomeAvtarAllFinishRewardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeAvtarAllFinishRewardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeAvtarAllFinishRewardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeAvtarAllFinishRewardNotify) ProtoMessage() {}
+
+func (x *HomeAvtarAllFinishRewardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeAvtarAllFinishRewardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeAvtarAllFinishRewardNotify.ProtoReflect.Descriptor instead.
+func (*HomeAvtarAllFinishRewardNotify) Descriptor() ([]byte, []int) {
+ return file_HomeAvtarAllFinishRewardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeAvtarAllFinishRewardNotify) GetEventIdList() []uint32 {
+ if x != nil {
+ return x.EventIdList
+ }
+ return nil
+}
+
+var File_HomeAvtarAllFinishRewardNotify_proto protoreflect.FileDescriptor
+
+var file_HomeAvtarAllFinishRewardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x74, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a,
+ 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x76, 0x74, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x22, 0x0a, 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeAvtarAllFinishRewardNotify_proto_rawDescOnce sync.Once
+ file_HomeAvtarAllFinishRewardNotify_proto_rawDescData = file_HomeAvtarAllFinishRewardNotify_proto_rawDesc
+)
+
+func file_HomeAvtarAllFinishRewardNotify_proto_rawDescGZIP() []byte {
+ file_HomeAvtarAllFinishRewardNotify_proto_rawDescOnce.Do(func() {
+ file_HomeAvtarAllFinishRewardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeAvtarAllFinishRewardNotify_proto_rawDescData)
+ })
+ return file_HomeAvtarAllFinishRewardNotify_proto_rawDescData
+}
+
+var file_HomeAvtarAllFinishRewardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeAvtarAllFinishRewardNotify_proto_goTypes = []interface{}{
+ (*HomeAvtarAllFinishRewardNotify)(nil), // 0: proto.HomeAvtarAllFinishRewardNotify
+}
+var file_HomeAvtarAllFinishRewardNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeAvtarAllFinishRewardNotify_proto_init() }
+func file_HomeAvtarAllFinishRewardNotify_proto_init() {
+ if File_HomeAvtarAllFinishRewardNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeAvtarAllFinishRewardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeAvtarAllFinishRewardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeAvtarAllFinishRewardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeAvtarAllFinishRewardNotify_proto_goTypes,
+ DependencyIndexes: file_HomeAvtarAllFinishRewardNotify_proto_depIdxs,
+ MessageInfos: file_HomeAvtarAllFinishRewardNotify_proto_msgTypes,
+ }.Build()
+ File_HomeAvtarAllFinishRewardNotify_proto = out.File
+ file_HomeAvtarAllFinishRewardNotify_proto_rawDesc = nil
+ file_HomeAvtarAllFinishRewardNotify_proto_goTypes = nil
+ file_HomeAvtarAllFinishRewardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBalloonGalleryRecord.pb.go b/protocol/proto/HomeBalloonGalleryRecord.pb.go
new file mode 100644
index 00000000..b8e76bad
--- /dev/null
+++ b/protocol/proto/HomeBalloonGalleryRecord.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBalloonGalleryRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBalloonGalleryRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HitCount uint32 `protobuf:"varint,12,opt,name=hit_count,json=hitCount,proto3" json:"hit_count,omitempty"`
+ Score uint32 `protobuf:"varint,11,opt,name=score,proto3" json:"score,omitempty"`
+ PlayerInfo *HomeGroupPlayerInfo `protobuf:"bytes,5,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+ Timestamp uint32 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+}
+
+func (x *HomeBalloonGalleryRecord) Reset() {
+ *x = HomeBalloonGalleryRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBalloonGalleryRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBalloonGalleryRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBalloonGalleryRecord) ProtoMessage() {}
+
+func (x *HomeBalloonGalleryRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBalloonGalleryRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBalloonGalleryRecord.ProtoReflect.Descriptor instead.
+func (*HomeBalloonGalleryRecord) Descriptor() ([]byte, []int) {
+ return file_HomeBalloonGalleryRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBalloonGalleryRecord) GetHitCount() uint32 {
+ if x != nil {
+ return x.HitCount
+ }
+ return 0
+}
+
+func (x *HomeBalloonGalleryRecord) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *HomeBalloonGalleryRecord) GetPlayerInfo() *HomeGroupPlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+func (x *HomeBalloonGalleryRecord) GetTimestamp() uint32 {
+ if x != nil {
+ return x.Timestamp
+ }
+ return 0
+}
+
+var File_HomeBalloonGalleryRecord_proto protoreflect.FileDescriptor
+
+var file_HomeBalloonGalleryRecord_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xa8, 0x01, 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f,
+ 0x6f, 0x6e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
+ 0x1b, 0x0a, 0x09, 0x68, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x68, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeBalloonGalleryRecord_proto_rawDescOnce sync.Once
+ file_HomeBalloonGalleryRecord_proto_rawDescData = file_HomeBalloonGalleryRecord_proto_rawDesc
+)
+
+func file_HomeBalloonGalleryRecord_proto_rawDescGZIP() []byte {
+ file_HomeBalloonGalleryRecord_proto_rawDescOnce.Do(func() {
+ file_HomeBalloonGalleryRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBalloonGalleryRecord_proto_rawDescData)
+ })
+ return file_HomeBalloonGalleryRecord_proto_rawDescData
+}
+
+var file_HomeBalloonGalleryRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBalloonGalleryRecord_proto_goTypes = []interface{}{
+ (*HomeBalloonGalleryRecord)(nil), // 0: proto.HomeBalloonGalleryRecord
+ (*HomeGroupPlayerInfo)(nil), // 1: proto.HomeGroupPlayerInfo
+}
+var file_HomeBalloonGalleryRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBalloonGalleryRecord.player_info:type_name -> proto.HomeGroupPlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeBalloonGalleryRecord_proto_init() }
+func file_HomeBalloonGalleryRecord_proto_init() {
+ if File_HomeBalloonGalleryRecord_proto != nil {
+ return
+ }
+ file_HomeGroupPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBalloonGalleryRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBalloonGalleryRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBalloonGalleryRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBalloonGalleryRecord_proto_goTypes,
+ DependencyIndexes: file_HomeBalloonGalleryRecord_proto_depIdxs,
+ MessageInfos: file_HomeBalloonGalleryRecord_proto_msgTypes,
+ }.Build()
+ File_HomeBalloonGalleryRecord_proto = out.File
+ file_HomeBalloonGalleryRecord_proto_rawDesc = nil
+ file_HomeBalloonGalleryRecord_proto_goTypes = nil
+ file_HomeBalloonGalleryRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBalloonGalleryScoreNotify.pb.go b/protocol/proto/HomeBalloonGalleryScoreNotify.pb.go
new file mode 100644
index 00000000..59f2b1dd
--- /dev/null
+++ b/protocol/proto/HomeBalloonGalleryScoreNotify.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBalloonGalleryScoreNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4654
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeBalloonGalleryScoreNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TriggerEntityId uint32 `protobuf:"varint,10,opt,name=trigger_entity_id,json=triggerEntityId,proto3" json:"trigger_entity_id,omitempty"`
+ CurScore uint32 `protobuf:"varint,9,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ AddScore uint32 `protobuf:"varint,7,opt,name=add_score,json=addScore,proto3" json:"add_score,omitempty"`
+ GalleryId uint32 `protobuf:"varint,5,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *HomeBalloonGalleryScoreNotify) Reset() {
+ *x = HomeBalloonGalleryScoreNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBalloonGalleryScoreNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBalloonGalleryScoreNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBalloonGalleryScoreNotify) ProtoMessage() {}
+
+func (x *HomeBalloonGalleryScoreNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBalloonGalleryScoreNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBalloonGalleryScoreNotify.ProtoReflect.Descriptor instead.
+func (*HomeBalloonGalleryScoreNotify) Descriptor() ([]byte, []int) {
+ return file_HomeBalloonGalleryScoreNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBalloonGalleryScoreNotify) GetTriggerEntityId() uint32 {
+ if x != nil {
+ return x.TriggerEntityId
+ }
+ return 0
+}
+
+func (x *HomeBalloonGalleryScoreNotify) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *HomeBalloonGalleryScoreNotify) GetAddScore() uint32 {
+ if x != nil {
+ return x.AddScore
+ }
+ return 0
+}
+
+func (x *HomeBalloonGalleryScoreNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_HomeBalloonGalleryScoreNotify_proto protoreflect.FileDescriptor
+
+var file_HomeBalloonGalleryScoreNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a,
+ 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a,
+ 0x0a, 0x11, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x67, 0x67,
+ 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75,
+ 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63,
+ 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x64, 0x64, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBalloonGalleryScoreNotify_proto_rawDescOnce sync.Once
+ file_HomeBalloonGalleryScoreNotify_proto_rawDescData = file_HomeBalloonGalleryScoreNotify_proto_rawDesc
+)
+
+func file_HomeBalloonGalleryScoreNotify_proto_rawDescGZIP() []byte {
+ file_HomeBalloonGalleryScoreNotify_proto_rawDescOnce.Do(func() {
+ file_HomeBalloonGalleryScoreNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBalloonGalleryScoreNotify_proto_rawDescData)
+ })
+ return file_HomeBalloonGalleryScoreNotify_proto_rawDescData
+}
+
+var file_HomeBalloonGalleryScoreNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBalloonGalleryScoreNotify_proto_goTypes = []interface{}{
+ (*HomeBalloonGalleryScoreNotify)(nil), // 0: proto.HomeBalloonGalleryScoreNotify
+}
+var file_HomeBalloonGalleryScoreNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeBalloonGalleryScoreNotify_proto_init() }
+func file_HomeBalloonGalleryScoreNotify_proto_init() {
+ if File_HomeBalloonGalleryScoreNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBalloonGalleryScoreNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBalloonGalleryScoreNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBalloonGalleryScoreNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBalloonGalleryScoreNotify_proto_goTypes,
+ DependencyIndexes: file_HomeBalloonGalleryScoreNotify_proto_depIdxs,
+ MessageInfos: file_HomeBalloonGalleryScoreNotify_proto_msgTypes,
+ }.Build()
+ File_HomeBalloonGalleryScoreNotify_proto = out.File
+ file_HomeBalloonGalleryScoreNotify_proto_rawDesc = nil
+ file_HomeBalloonGalleryScoreNotify_proto_goTypes = nil
+ file_HomeBalloonGalleryScoreNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBalloonGallerySettleNotify.pb.go b/protocol/proto/HomeBalloonGallerySettleNotify.pb.go
new file mode 100644
index 00000000..ad307cb2
--- /dev/null
+++ b/protocol/proto/HomeBalloonGallerySettleNotify.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBalloonGallerySettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4811
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeBalloonGallerySettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,1,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ SettleInfo *BalloonGallerySettleInfo `protobuf:"bytes,5,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+ Rank uint32 `protobuf:"varint,6,opt,name=rank,proto3" json:"rank,omitempty"`
+ IsNewRecord bool `protobuf:"varint,4,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *HomeBalloonGallerySettleNotify) Reset() {
+ *x = HomeBalloonGallerySettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBalloonGallerySettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBalloonGallerySettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBalloonGallerySettleNotify) ProtoMessage() {}
+
+func (x *HomeBalloonGallerySettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBalloonGallerySettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBalloonGallerySettleNotify.ProtoReflect.Descriptor instead.
+func (*HomeBalloonGallerySettleNotify) Descriptor() ([]byte, []int) {
+ return file_HomeBalloonGallerySettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBalloonGallerySettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *HomeBalloonGallerySettleNotify) GetSettleInfo() *BalloonGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+func (x *HomeBalloonGallerySettleNotify) GetRank() uint32 {
+ if x != nil {
+ return x.Rank
+ }
+ return 0
+}
+
+func (x *HomeBalloonGallerySettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_HomeBalloonGallerySettleNotify_proto protoreflect.FileDescriptor
+
+var file_HomeBalloonGallerySettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x42,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01,
+ 0x0a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12,
+ 0x40, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f,
+ 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73,
+ 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBalloonGallerySettleNotify_proto_rawDescOnce sync.Once
+ file_HomeBalloonGallerySettleNotify_proto_rawDescData = file_HomeBalloonGallerySettleNotify_proto_rawDesc
+)
+
+func file_HomeBalloonGallerySettleNotify_proto_rawDescGZIP() []byte {
+ file_HomeBalloonGallerySettleNotify_proto_rawDescOnce.Do(func() {
+ file_HomeBalloonGallerySettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBalloonGallerySettleNotify_proto_rawDescData)
+ })
+ return file_HomeBalloonGallerySettleNotify_proto_rawDescData
+}
+
+var file_HomeBalloonGallerySettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBalloonGallerySettleNotify_proto_goTypes = []interface{}{
+ (*HomeBalloonGallerySettleNotify)(nil), // 0: proto.HomeBalloonGallerySettleNotify
+ (*BalloonGallerySettleInfo)(nil), // 1: proto.BalloonGallerySettleInfo
+}
+var file_HomeBalloonGallerySettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBalloonGallerySettleNotify.settle_info:type_name -> proto.BalloonGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeBalloonGallerySettleNotify_proto_init() }
+func file_HomeBalloonGallerySettleNotify_proto_init() {
+ if File_HomeBalloonGallerySettleNotify_proto != nil {
+ return
+ }
+ file_BalloonGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBalloonGallerySettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBalloonGallerySettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBalloonGallerySettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBalloonGallerySettleNotify_proto_goTypes,
+ DependencyIndexes: file_HomeBalloonGallerySettleNotify_proto_depIdxs,
+ MessageInfos: file_HomeBalloonGallerySettleNotify_proto_msgTypes,
+ }.Build()
+ File_HomeBalloonGallerySettleNotify_proto = out.File
+ file_HomeBalloonGallerySettleNotify_proto_rawDesc = nil
+ file_HomeBalloonGallerySettleNotify_proto_goTypes = nil
+ file_HomeBalloonGallerySettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBalloonRecord.pb.go b/protocol/proto/HomeBalloonRecord.pb.go
new file mode 100644
index 00000000..22aac710
--- /dev/null
+++ b/protocol/proto/HomeBalloonRecord.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBalloonRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBalloonRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecordList []*HomeBalloonGalleryRecord `protobuf:"bytes,15,rep,name=record_list,json=recordList,proto3" json:"record_list,omitempty"`
+}
+
+func (x *HomeBalloonRecord) Reset() {
+ *x = HomeBalloonRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBalloonRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBalloonRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBalloonRecord) ProtoMessage() {}
+
+func (x *HomeBalloonRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBalloonRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBalloonRecord.ProtoReflect.Descriptor instead.
+func (*HomeBalloonRecord) Descriptor() ([]byte, []int) {
+ return file_HomeBalloonRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBalloonRecord) GetRecordList() []*HomeBalloonGalleryRecord {
+ if x != nil {
+ return x.RecordList
+ }
+ return nil
+}
+
+var File_HomeBalloonRecord_proto protoreflect.FileDescriptor
+
+var file_HomeBalloonRecord_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x55, 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBalloonRecord_proto_rawDescOnce sync.Once
+ file_HomeBalloonRecord_proto_rawDescData = file_HomeBalloonRecord_proto_rawDesc
+)
+
+func file_HomeBalloonRecord_proto_rawDescGZIP() []byte {
+ file_HomeBalloonRecord_proto_rawDescOnce.Do(func() {
+ file_HomeBalloonRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBalloonRecord_proto_rawDescData)
+ })
+ return file_HomeBalloonRecord_proto_rawDescData
+}
+
+var file_HomeBalloonRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBalloonRecord_proto_goTypes = []interface{}{
+ (*HomeBalloonRecord)(nil), // 0: proto.HomeBalloonRecord
+ (*HomeBalloonGalleryRecord)(nil), // 1: proto.HomeBalloonGalleryRecord
+}
+var file_HomeBalloonRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBalloonRecord.record_list:type_name -> proto.HomeBalloonGalleryRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeBalloonRecord_proto_init() }
+func file_HomeBalloonRecord_proto_init() {
+ if File_HomeBalloonRecord_proto != nil {
+ return
+ }
+ file_HomeBalloonGalleryRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBalloonRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBalloonRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBalloonRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBalloonRecord_proto_goTypes,
+ DependencyIndexes: file_HomeBalloonRecord_proto_depIdxs,
+ MessageInfos: file_HomeBalloonRecord_proto_msgTypes,
+ }.Build()
+ File_HomeBalloonRecord_proto = out.File
+ file_HomeBalloonRecord_proto_rawDesc = nil
+ file_HomeBalloonRecord_proto_goTypes = nil
+ file_HomeBalloonRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBasicInfo.pb.go b/protocol/proto/HomeBasicInfo.pb.go
new file mode 100644
index 00000000..9987113e
--- /dev/null
+++ b/protocol/proto/HomeBasicInfo.pb.go
@@ -0,0 +1,237 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBasicInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBasicInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,10,opt,name=level,proto3" json:"level,omitempty"`
+ CurRoomSceneId uint32 `protobuf:"varint,13,opt,name=cur_room_scene_id,json=curRoomSceneId,proto3" json:"cur_room_scene_id,omitempty"`
+ CurModuleId uint32 `protobuf:"varint,9,opt,name=cur_module_id,json=curModuleId,proto3" json:"cur_module_id,omitempty"`
+ IsInEditMode bool `protobuf:"varint,5,opt,name=is_in_edit_mode,json=isInEditMode,proto3" json:"is_in_edit_mode,omitempty"`
+ HomeOwnerUid uint32 `protobuf:"varint,3,opt,name=home_owner_uid,json=homeOwnerUid,proto3" json:"home_owner_uid,omitempty"`
+ Exp uint64 `protobuf:"varint,14,opt,name=exp,proto3" json:"exp,omitempty"`
+ LimitedShopInfo *HomeLimitedShopInfo `protobuf:"bytes,15,opt,name=limited_shop_info,json=limitedShopInfo,proto3" json:"limited_shop_info,omitempty"`
+ OwnerNickName string `protobuf:"bytes,4,opt,name=owner_nick_name,json=ownerNickName,proto3" json:"owner_nick_name,omitempty"`
+}
+
+func (x *HomeBasicInfo) Reset() {
+ *x = HomeBasicInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBasicInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBasicInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBasicInfo) ProtoMessage() {}
+
+func (x *HomeBasicInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBasicInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBasicInfo.ProtoReflect.Descriptor instead.
+func (*HomeBasicInfo) Descriptor() ([]byte, []int) {
+ return file_HomeBasicInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBasicInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *HomeBasicInfo) GetCurRoomSceneId() uint32 {
+ if x != nil {
+ return x.CurRoomSceneId
+ }
+ return 0
+}
+
+func (x *HomeBasicInfo) GetCurModuleId() uint32 {
+ if x != nil {
+ return x.CurModuleId
+ }
+ return 0
+}
+
+func (x *HomeBasicInfo) GetIsInEditMode() bool {
+ if x != nil {
+ return x.IsInEditMode
+ }
+ return false
+}
+
+func (x *HomeBasicInfo) GetHomeOwnerUid() uint32 {
+ if x != nil {
+ return x.HomeOwnerUid
+ }
+ return 0
+}
+
+func (x *HomeBasicInfo) GetExp() uint64 {
+ if x != nil {
+ return x.Exp
+ }
+ return 0
+}
+
+func (x *HomeBasicInfo) GetLimitedShopInfo() *HomeLimitedShopInfo {
+ if x != nil {
+ return x.LimitedShopInfo
+ }
+ return nil
+}
+
+func (x *HomeBasicInfo) GetOwnerNickName() string {
+ if x != nil {
+ return x.OwnerNickName
+ }
+ return ""
+}
+
+var File_HomeBasicInfo_proto protoreflect.FileDescriptor
+
+var file_HomeBasicInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f,
+ 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x02, 0x0a, 0x0d, 0x48, 0x6f, 0x6d, 0x65,
+ 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12,
+ 0x29, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x52,
+ 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x75,
+ 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x25,
+ 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x49, 0x6e, 0x45, 0x64, 0x69,
+ 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x6f, 0x77,
+ 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x68,
+ 0x6f, 0x6d, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65,
+ 0x78, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x46, 0x0a,
+ 0x11, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x6e,
+ 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
+ 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeBasicInfo_proto_rawDescOnce sync.Once
+ file_HomeBasicInfo_proto_rawDescData = file_HomeBasicInfo_proto_rawDesc
+)
+
+func file_HomeBasicInfo_proto_rawDescGZIP() []byte {
+ file_HomeBasicInfo_proto_rawDescOnce.Do(func() {
+ file_HomeBasicInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBasicInfo_proto_rawDescData)
+ })
+ return file_HomeBasicInfo_proto_rawDescData
+}
+
+var file_HomeBasicInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBasicInfo_proto_goTypes = []interface{}{
+ (*HomeBasicInfo)(nil), // 0: proto.HomeBasicInfo
+ (*HomeLimitedShopInfo)(nil), // 1: proto.HomeLimitedShopInfo
+}
+var file_HomeBasicInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBasicInfo.limited_shop_info:type_name -> proto.HomeLimitedShopInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeBasicInfo_proto_init() }
+func file_HomeBasicInfo_proto_init() {
+ if File_HomeBasicInfo_proto != nil {
+ return
+ }
+ file_HomeLimitedShopInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBasicInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBasicInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBasicInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBasicInfo_proto_goTypes,
+ DependencyIndexes: file_HomeBasicInfo_proto_depIdxs,
+ MessageInfos: file_HomeBasicInfo_proto_msgTypes,
+ }.Build()
+ File_HomeBasicInfo_proto = out.File
+ file_HomeBasicInfo_proto_rawDesc = nil
+ file_HomeBasicInfo_proto_goTypes = nil
+ file_HomeBasicInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBasicInfoNotify.pb.go b/protocol/proto/HomeBasicInfoNotify.pb.go
new file mode 100644
index 00000000..0a07b1c6
--- /dev/null
+++ b/protocol/proto/HomeBasicInfoNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBasicInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4885
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeBasicInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BasicInfo *HomeBasicInfo `protobuf:"bytes,15,opt,name=basic_info,json=basicInfo,proto3" json:"basic_info,omitempty"`
+}
+
+func (x *HomeBasicInfoNotify) Reset() {
+ *x = HomeBasicInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBasicInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBasicInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBasicInfoNotify) ProtoMessage() {}
+
+func (x *HomeBasicInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBasicInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBasicInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomeBasicInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomeBasicInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBasicInfoNotify) GetBasicInfo() *HomeBasicInfo {
+ if x != nil {
+ return x.BasicInfo
+ }
+ return nil
+}
+
+var File_HomeBasicInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomeBasicInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x42,
+ 0x61, 0x73, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x33,
+ 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42,
+ 0x61, 0x73, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x62, 0x61, 0x73, 0x69, 0x63, 0x49,
+ 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBasicInfoNotify_proto_rawDescOnce sync.Once
+ file_HomeBasicInfoNotify_proto_rawDescData = file_HomeBasicInfoNotify_proto_rawDesc
+)
+
+func file_HomeBasicInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomeBasicInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomeBasicInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBasicInfoNotify_proto_rawDescData)
+ })
+ return file_HomeBasicInfoNotify_proto_rawDescData
+}
+
+var file_HomeBasicInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBasicInfoNotify_proto_goTypes = []interface{}{
+ (*HomeBasicInfoNotify)(nil), // 0: proto.HomeBasicInfoNotify
+ (*HomeBasicInfo)(nil), // 1: proto.HomeBasicInfo
+}
+var file_HomeBasicInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBasicInfoNotify.basic_info:type_name -> proto.HomeBasicInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeBasicInfoNotify_proto_init() }
+func file_HomeBasicInfoNotify_proto_init() {
+ if File_HomeBasicInfoNotify_proto != nil {
+ return
+ }
+ file_HomeBasicInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBasicInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBasicInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBasicInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBasicInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomeBasicInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomeBasicInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomeBasicInfoNotify_proto = out.File
+ file_HomeBasicInfoNotify_proto_rawDesc = nil
+ file_HomeBasicInfoNotify_proto_goTypes = nil
+ file_HomeBasicInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlockArrangementInfo.pb.go b/protocol/proto/HomeBlockArrangementInfo.pb.go
new file mode 100644
index 00000000..fcb28edc
--- /dev/null
+++ b/protocol/proto/HomeBlockArrangementInfo.pb.go
@@ -0,0 +1,351 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlockArrangementInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlockArrangementInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsUnlocked bool `protobuf:"varint,1,opt,name=is_unlocked,json=isUnlocked,proto3" json:"is_unlocked,omitempty"`
+ ComfortValue uint32 `protobuf:"varint,2,opt,name=comfort_value,json=comfortValue,proto3" json:"comfort_value,omitempty"`
+ DeployAnimalList []*HomeAnimalData `protobuf:"bytes,4,rep,name=deploy_animal_list,json=deployAnimalList,proto3" json:"deploy_animal_list,omitempty"`
+ FurnitureGroupList []*HomeFurnitureGroupData `protobuf:"bytes,5,rep,name=furniture_group_list,json=furnitureGroupList,proto3" json:"furniture_group_list,omitempty"`
+ WeekendDjinnInfoList []*WeekendDjinnInfo `protobuf:"bytes,13,rep,name=weekend_djinn_info_list,json=weekendDjinnInfoList,proto3" json:"weekend_djinn_info_list,omitempty"`
+ FurnitureSuiteList []*HomeFurnitureSuiteData `protobuf:"bytes,15,rep,name=furniture_suite_list,json=furnitureSuiteList,proto3" json:"furniture_suite_list,omitempty"`
+ FieldList []*HomeBlockFieldData `protobuf:"bytes,3,rep,name=field_list,json=fieldList,proto3" json:"field_list,omitempty"`
+ DeployNpcList []*HomeNpcData `protobuf:"bytes,11,rep,name=deploy_npc_list,json=deployNpcList,proto3" json:"deploy_npc_list,omitempty"`
+ DotPatternList []*HomeBlockDotPattern `protobuf:"bytes,7,rep,name=dot_pattern_list,json=dotPatternList,proto3" json:"dot_pattern_list,omitempty"`
+ PersistentFurnitureList []*HomeFurnitureData `protobuf:"bytes,9,rep,name=persistent_furniture_list,json=persistentFurnitureList,proto3" json:"persistent_furniture_list,omitempty"`
+ DeployFurniureList []*HomeFurnitureData `protobuf:"bytes,12,rep,name=deploy_furniure_list,json=deployFurniureList,proto3" json:"deploy_furniure_list,omitempty"`
+ BlockId uint32 `protobuf:"varint,6,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+ FurnitureCustomSuiteList []*HomeFurnitureCustomSuiteData `protobuf:"bytes,14,rep,name=furniture_custom_suite_list,json=furnitureCustomSuiteList,proto3" json:"furniture_custom_suite_list,omitempty"`
+}
+
+func (x *HomeBlockArrangementInfo) Reset() {
+ *x = HomeBlockArrangementInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlockArrangementInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlockArrangementInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlockArrangementInfo) ProtoMessage() {}
+
+func (x *HomeBlockArrangementInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlockArrangementInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlockArrangementInfo.ProtoReflect.Descriptor instead.
+func (*HomeBlockArrangementInfo) Descriptor() ([]byte, []int) {
+ return file_HomeBlockArrangementInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlockArrangementInfo) GetIsUnlocked() bool {
+ if x != nil {
+ return x.IsUnlocked
+ }
+ return false
+}
+
+func (x *HomeBlockArrangementInfo) GetComfortValue() uint32 {
+ if x != nil {
+ return x.ComfortValue
+ }
+ return 0
+}
+
+func (x *HomeBlockArrangementInfo) GetDeployAnimalList() []*HomeAnimalData {
+ if x != nil {
+ return x.DeployAnimalList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetFurnitureGroupList() []*HomeFurnitureGroupData {
+ if x != nil {
+ return x.FurnitureGroupList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetWeekendDjinnInfoList() []*WeekendDjinnInfo {
+ if x != nil {
+ return x.WeekendDjinnInfoList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetFurnitureSuiteList() []*HomeFurnitureSuiteData {
+ if x != nil {
+ return x.FurnitureSuiteList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetFieldList() []*HomeBlockFieldData {
+ if x != nil {
+ return x.FieldList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetDeployNpcList() []*HomeNpcData {
+ if x != nil {
+ return x.DeployNpcList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetDotPatternList() []*HomeBlockDotPattern {
+ if x != nil {
+ return x.DotPatternList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetPersistentFurnitureList() []*HomeFurnitureData {
+ if x != nil {
+ return x.PersistentFurnitureList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetDeployFurniureList() []*HomeFurnitureData {
+ if x != nil {
+ return x.DeployFurniureList
+ }
+ return nil
+}
+
+func (x *HomeBlockArrangementInfo) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+func (x *HomeBlockArrangementInfo) GetFurnitureCustomSuiteList() []*HomeFurnitureCustomSuiteData {
+ if x != nil {
+ return x.FurnitureCustomSuiteList
+ }
+ return nil
+}
+
+var File_HomeBlockArrangementInfo_proto protoreflect.FileDescriptor
+
+var file_HomeBlockArrangementInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x6e,
+ 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x6e, 0x69,
+ 0x6d, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48,
+ 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x6f, 0x74, 0x50, 0x61, 0x74, 0x74, 0x65,
+ 0x72, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x48,
+ 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x69, 0x74,
+ 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x6f, 0x6d,
+ 0x65, 0x4e, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16,
+ 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x44, 0x6a, 0x69, 0x6e, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x06, 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x42,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x5f,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d,
+ 0x66, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x64, 0x65, 0x70,
+ 0x6c, 0x6f, 0x79, 0x5f, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x64, 0x65,
+ 0x70, 0x6c, 0x6f, 0x79, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4f,
+ 0x0a, 0x14, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75,
+ 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x12, 0x66, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x4e, 0x0a, 0x17, 0x77, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x6a, 0x69, 0x6e, 0x6e,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64,
+ 0x44, 0x6a, 0x69, 0x6e, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x77, 0x65, 0x65, 0x6b, 0x65,
+ 0x6e, 0x64, 0x44, 0x6a, 0x69, 0x6e, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x4f, 0x0a, 0x14, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x69,
+ 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x12, 0x66, 0x75,
+ 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x38, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d,
+ 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0f, 0x64, 0x65,
+ 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x6e, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65,
+ 0x4e, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4e,
+ 0x70, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x64, 0x6f, 0x74, 0x5f, 0x70, 0x61,
+ 0x74, 0x74, 0x65, 0x72, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x44, 0x6f, 0x74, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x0e, 0x64, 0x6f,
+ 0x74, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x19,
+ 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x17, 0x70, 0x65, 0x72, 0x73, 0x69,
+ 0x73, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x14, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x66, 0x75, 0x72,
+ 0x6e, 0x69, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x12, 0x64, 0x65, 0x70, 0x6c,
+ 0x6f, 0x79, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x75, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19,
+ 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x62, 0x0a, 0x1b, 0x66, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x75,
+ 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x18, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x75, 0x69, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeBlockArrangementInfo_proto_rawDescOnce sync.Once
+ file_HomeBlockArrangementInfo_proto_rawDescData = file_HomeBlockArrangementInfo_proto_rawDesc
+)
+
+func file_HomeBlockArrangementInfo_proto_rawDescGZIP() []byte {
+ file_HomeBlockArrangementInfo_proto_rawDescOnce.Do(func() {
+ file_HomeBlockArrangementInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlockArrangementInfo_proto_rawDescData)
+ })
+ return file_HomeBlockArrangementInfo_proto_rawDescData
+}
+
+var file_HomeBlockArrangementInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlockArrangementInfo_proto_goTypes = []interface{}{
+ (*HomeBlockArrangementInfo)(nil), // 0: proto.HomeBlockArrangementInfo
+ (*HomeAnimalData)(nil), // 1: proto.HomeAnimalData
+ (*HomeFurnitureGroupData)(nil), // 2: proto.HomeFurnitureGroupData
+ (*WeekendDjinnInfo)(nil), // 3: proto.WeekendDjinnInfo
+ (*HomeFurnitureSuiteData)(nil), // 4: proto.HomeFurnitureSuiteData
+ (*HomeBlockFieldData)(nil), // 5: proto.HomeBlockFieldData
+ (*HomeNpcData)(nil), // 6: proto.HomeNpcData
+ (*HomeBlockDotPattern)(nil), // 7: proto.HomeBlockDotPattern
+ (*HomeFurnitureData)(nil), // 8: proto.HomeFurnitureData
+ (*HomeFurnitureCustomSuiteData)(nil), // 9: proto.HomeFurnitureCustomSuiteData
+}
+var file_HomeBlockArrangementInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBlockArrangementInfo.deploy_animal_list:type_name -> proto.HomeAnimalData
+ 2, // 1: proto.HomeBlockArrangementInfo.furniture_group_list:type_name -> proto.HomeFurnitureGroupData
+ 3, // 2: proto.HomeBlockArrangementInfo.weekend_djinn_info_list:type_name -> proto.WeekendDjinnInfo
+ 4, // 3: proto.HomeBlockArrangementInfo.furniture_suite_list:type_name -> proto.HomeFurnitureSuiteData
+ 5, // 4: proto.HomeBlockArrangementInfo.field_list:type_name -> proto.HomeBlockFieldData
+ 6, // 5: proto.HomeBlockArrangementInfo.deploy_npc_list:type_name -> proto.HomeNpcData
+ 7, // 6: proto.HomeBlockArrangementInfo.dot_pattern_list:type_name -> proto.HomeBlockDotPattern
+ 8, // 7: proto.HomeBlockArrangementInfo.persistent_furniture_list:type_name -> proto.HomeFurnitureData
+ 8, // 8: proto.HomeBlockArrangementInfo.deploy_furniure_list:type_name -> proto.HomeFurnitureData
+ 9, // 9: proto.HomeBlockArrangementInfo.furniture_custom_suite_list:type_name -> proto.HomeFurnitureCustomSuiteData
+ 10, // [10:10] is the sub-list for method output_type
+ 10, // [10:10] is the sub-list for method input_type
+ 10, // [10:10] is the sub-list for extension type_name
+ 10, // [10:10] is the sub-list for extension extendee
+ 0, // [0:10] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlockArrangementInfo_proto_init() }
+func file_HomeBlockArrangementInfo_proto_init() {
+ if File_HomeBlockArrangementInfo_proto != nil {
+ return
+ }
+ file_HomeAnimalData_proto_init()
+ file_HomeBlockDotPattern_proto_init()
+ file_HomeBlockFieldData_proto_init()
+ file_HomeFurnitureCustomSuiteData_proto_init()
+ file_HomeFurnitureData_proto_init()
+ file_HomeFurnitureGroupData_proto_init()
+ file_HomeFurnitureSuiteData_proto_init()
+ file_HomeNpcData_proto_init()
+ file_WeekendDjinnInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlockArrangementInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlockArrangementInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlockArrangementInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlockArrangementInfo_proto_goTypes,
+ DependencyIndexes: file_HomeBlockArrangementInfo_proto_depIdxs,
+ MessageInfos: file_HomeBlockArrangementInfo_proto_msgTypes,
+ }.Build()
+ File_HomeBlockArrangementInfo_proto = out.File
+ file_HomeBlockArrangementInfo_proto_rawDesc = nil
+ file_HomeBlockArrangementInfo_proto_goTypes = nil
+ file_HomeBlockArrangementInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlockArrangementMuipData.pb.go b/protocol/proto/HomeBlockArrangementMuipData.pb.go
new file mode 100644
index 00000000..17e403a8
--- /dev/null
+++ b/protocol/proto/HomeBlockArrangementMuipData.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlockArrangementMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlockArrangementMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BlockId uint32 `protobuf:"varint,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+ FurnitureDataList []*HomeFurnitureArrangementMuipData `protobuf:"bytes,2,rep,name=furniture_data_list,json=furnitureDataList,proto3" json:"furniture_data_list,omitempty"`
+}
+
+func (x *HomeBlockArrangementMuipData) Reset() {
+ *x = HomeBlockArrangementMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlockArrangementMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlockArrangementMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlockArrangementMuipData) ProtoMessage() {}
+
+func (x *HomeBlockArrangementMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlockArrangementMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlockArrangementMuipData.ProtoReflect.Descriptor instead.
+func (*HomeBlockArrangementMuipData) Descriptor() ([]byte, []int) {
+ return file_HomeBlockArrangementMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlockArrangementMuipData) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+func (x *HomeBlockArrangementMuipData) GetFurnitureDataList() []*HomeFurnitureArrangementMuipData {
+ if x != nil {
+ return x.FurnitureDataList
+ }
+ return nil
+}
+
+var File_HomeBlockArrangementMuipData_proto protoreflect.FileDescriptor
+
+var file_HomeBlockArrangementMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x6e,
+ 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x48, 0x6f, 0x6d,
+ 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12,
+ 0x57, 0x0a, 0x13, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x61, 0x74,
+ 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69,
+ 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlockArrangementMuipData_proto_rawDescOnce sync.Once
+ file_HomeBlockArrangementMuipData_proto_rawDescData = file_HomeBlockArrangementMuipData_proto_rawDesc
+)
+
+func file_HomeBlockArrangementMuipData_proto_rawDescGZIP() []byte {
+ file_HomeBlockArrangementMuipData_proto_rawDescOnce.Do(func() {
+ file_HomeBlockArrangementMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlockArrangementMuipData_proto_rawDescData)
+ })
+ return file_HomeBlockArrangementMuipData_proto_rawDescData
+}
+
+var file_HomeBlockArrangementMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlockArrangementMuipData_proto_goTypes = []interface{}{
+ (*HomeBlockArrangementMuipData)(nil), // 0: proto.HomeBlockArrangementMuipData
+ (*HomeFurnitureArrangementMuipData)(nil), // 1: proto.HomeFurnitureArrangementMuipData
+}
+var file_HomeBlockArrangementMuipData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBlockArrangementMuipData.furniture_data_list:type_name -> proto.HomeFurnitureArrangementMuipData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlockArrangementMuipData_proto_init() }
+func file_HomeBlockArrangementMuipData_proto_init() {
+ if File_HomeBlockArrangementMuipData_proto != nil {
+ return
+ }
+ file_HomeFurnitureArrangementMuipData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlockArrangementMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlockArrangementMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlockArrangementMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlockArrangementMuipData_proto_goTypes,
+ DependencyIndexes: file_HomeBlockArrangementMuipData_proto_depIdxs,
+ MessageInfos: file_HomeBlockArrangementMuipData_proto_msgTypes,
+ }.Build()
+ File_HomeBlockArrangementMuipData_proto = out.File
+ file_HomeBlockArrangementMuipData_proto_rawDesc = nil
+ file_HomeBlockArrangementMuipData_proto_goTypes = nil
+ file_HomeBlockArrangementMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlockDotPattern.pb.go b/protocol/proto/HomeBlockDotPattern.pb.go
new file mode 100644
index 00000000..514b3e5f
--- /dev/null
+++ b/protocol/proto/HomeBlockDotPattern.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlockDotPattern.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlockDotPattern struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Width uint32 `protobuf:"varint,8,opt,name=width,proto3" json:"width,omitempty"`
+ Height uint32 `protobuf:"varint,11,opt,name=height,proto3" json:"height,omitempty"`
+ Data []byte `protobuf:"bytes,9,opt,name=data,proto3" json:"data,omitempty"`
+}
+
+func (x *HomeBlockDotPattern) Reset() {
+ *x = HomeBlockDotPattern{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlockDotPattern_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlockDotPattern) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlockDotPattern) ProtoMessage() {}
+
+func (x *HomeBlockDotPattern) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlockDotPattern_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlockDotPattern.ProtoReflect.Descriptor instead.
+func (*HomeBlockDotPattern) Descriptor() ([]byte, []int) {
+ return file_HomeBlockDotPattern_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlockDotPattern) GetWidth() uint32 {
+ if x != nil {
+ return x.Width
+ }
+ return 0
+}
+
+func (x *HomeBlockDotPattern) GetHeight() uint32 {
+ if x != nil {
+ return x.Height
+ }
+ return 0
+}
+
+func (x *HomeBlockDotPattern) GetData() []byte {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+var File_HomeBlockDotPattern_proto protoreflect.FileDescriptor
+
+var file_HomeBlockDotPattern_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x6f, 0x74, 0x50, 0x61,
+ 0x74, 0x74, 0x65, 0x72, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44,
+ 0x6f, 0x74, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64,
+ 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12,
+ 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlockDotPattern_proto_rawDescOnce sync.Once
+ file_HomeBlockDotPattern_proto_rawDescData = file_HomeBlockDotPattern_proto_rawDesc
+)
+
+func file_HomeBlockDotPattern_proto_rawDescGZIP() []byte {
+ file_HomeBlockDotPattern_proto_rawDescOnce.Do(func() {
+ file_HomeBlockDotPattern_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlockDotPattern_proto_rawDescData)
+ })
+ return file_HomeBlockDotPattern_proto_rawDescData
+}
+
+var file_HomeBlockDotPattern_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlockDotPattern_proto_goTypes = []interface{}{
+ (*HomeBlockDotPattern)(nil), // 0: proto.HomeBlockDotPattern
+}
+var file_HomeBlockDotPattern_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlockDotPattern_proto_init() }
+func file_HomeBlockDotPattern_proto_init() {
+ if File_HomeBlockDotPattern_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlockDotPattern_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlockDotPattern); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlockDotPattern_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlockDotPattern_proto_goTypes,
+ DependencyIndexes: file_HomeBlockDotPattern_proto_depIdxs,
+ MessageInfos: file_HomeBlockDotPattern_proto_msgTypes,
+ }.Build()
+ File_HomeBlockDotPattern_proto = out.File
+ file_HomeBlockDotPattern_proto_rawDesc = nil
+ file_HomeBlockDotPattern_proto_goTypes = nil
+ file_HomeBlockDotPattern_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlockFieldData.pb.go b/protocol/proto/HomeBlockFieldData.pb.go
new file mode 100644
index 00000000..5b4f0686
--- /dev/null
+++ b/protocol/proto/HomeBlockFieldData.pb.go
@@ -0,0 +1,211 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlockFieldData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlockFieldData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,15,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,4,opt,name=pos,proto3" json:"pos,omitempty"`
+ Guid uint32 `protobuf:"varint,9,opt,name=guid,proto3" json:"guid,omitempty"`
+ FurnitureId uint32 `protobuf:"varint,1,opt,name=furniture_id,json=furnitureId,proto3" json:"furniture_id,omitempty"`
+ SubFieldList []*HomeBlockSubFieldData `protobuf:"bytes,7,rep,name=sub_field_list,json=subFieldList,proto3" json:"sub_field_list,omitempty"`
+}
+
+func (x *HomeBlockFieldData) Reset() {
+ *x = HomeBlockFieldData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlockFieldData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlockFieldData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlockFieldData) ProtoMessage() {}
+
+func (x *HomeBlockFieldData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlockFieldData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlockFieldData.ProtoReflect.Descriptor instead.
+func (*HomeBlockFieldData) Descriptor() ([]byte, []int) {
+ return file_HomeBlockFieldData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlockFieldData) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *HomeBlockFieldData) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *HomeBlockFieldData) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeBlockFieldData) GetFurnitureId() uint32 {
+ if x != nil {
+ return x.FurnitureId
+ }
+ return 0
+}
+
+func (x *HomeBlockFieldData) GetSubFieldList() []*HomeBlockSubFieldData {
+ if x != nil {
+ return x.SubFieldList
+ }
+ return nil
+}
+
+var File_HomeBlockFieldData_proto protoreflect.FileDescriptor
+
+var file_HomeBlockFieldData_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x01, 0x0a,
+ 0x12, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x03, 0x72, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0e,
+ 0x73, 0x75, 0x62, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d,
+ 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlockFieldData_proto_rawDescOnce sync.Once
+ file_HomeBlockFieldData_proto_rawDescData = file_HomeBlockFieldData_proto_rawDesc
+)
+
+func file_HomeBlockFieldData_proto_rawDescGZIP() []byte {
+ file_HomeBlockFieldData_proto_rawDescOnce.Do(func() {
+ file_HomeBlockFieldData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlockFieldData_proto_rawDescData)
+ })
+ return file_HomeBlockFieldData_proto_rawDescData
+}
+
+var file_HomeBlockFieldData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlockFieldData_proto_goTypes = []interface{}{
+ (*HomeBlockFieldData)(nil), // 0: proto.HomeBlockFieldData
+ (*Vector)(nil), // 1: proto.Vector
+ (*HomeBlockSubFieldData)(nil), // 2: proto.HomeBlockSubFieldData
+}
+var file_HomeBlockFieldData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBlockFieldData.rot:type_name -> proto.Vector
+ 1, // 1: proto.HomeBlockFieldData.pos:type_name -> proto.Vector
+ 2, // 2: proto.HomeBlockFieldData.sub_field_list:type_name -> proto.HomeBlockSubFieldData
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlockFieldData_proto_init() }
+func file_HomeBlockFieldData_proto_init() {
+ if File_HomeBlockFieldData_proto != nil {
+ return
+ }
+ file_HomeBlockSubFieldData_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlockFieldData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlockFieldData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlockFieldData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlockFieldData_proto_goTypes,
+ DependencyIndexes: file_HomeBlockFieldData_proto_depIdxs,
+ MessageInfos: file_HomeBlockFieldData_proto_msgTypes,
+ }.Build()
+ File_HomeBlockFieldData_proto = out.File
+ file_HomeBlockFieldData_proto_rawDesc = nil
+ file_HomeBlockFieldData_proto_goTypes = nil
+ file_HomeBlockFieldData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlockNotify.pb.go b/protocol/proto/HomeBlockNotify.pb.go
new file mode 100644
index 00000000..6bba7864
--- /dev/null
+++ b/protocol/proto/HomeBlockNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4543
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeBlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndTime uint32 `protobuf:"varint,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *HomeBlockNotify) Reset() {
+ *x = HomeBlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlockNotify) ProtoMessage() {}
+
+func (x *HomeBlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlockNotify.ProtoReflect.Descriptor instead.
+func (*HomeBlockNotify) Descriptor() ([]byte, []int) {
+ return file_HomeBlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlockNotify) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_HomeBlockNotify_proto protoreflect.FileDescriptor
+
+var file_HomeBlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2c,
+ 0x0a, 0x0f, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlockNotify_proto_rawDescOnce sync.Once
+ file_HomeBlockNotify_proto_rawDescData = file_HomeBlockNotify_proto_rawDesc
+)
+
+func file_HomeBlockNotify_proto_rawDescGZIP() []byte {
+ file_HomeBlockNotify_proto_rawDescOnce.Do(func() {
+ file_HomeBlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlockNotify_proto_rawDescData)
+ })
+ return file_HomeBlockNotify_proto_rawDescData
+}
+
+var file_HomeBlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlockNotify_proto_goTypes = []interface{}{
+ (*HomeBlockNotify)(nil), // 0: proto.HomeBlockNotify
+}
+var file_HomeBlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlockNotify_proto_init() }
+func file_HomeBlockNotify_proto_init() {
+ if File_HomeBlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlockNotify_proto_goTypes,
+ DependencyIndexes: file_HomeBlockNotify_proto_depIdxs,
+ MessageInfos: file_HomeBlockNotify_proto_msgTypes,
+ }.Build()
+ File_HomeBlockNotify_proto = out.File
+ file_HomeBlockNotify_proto_rawDesc = nil
+ file_HomeBlockNotify_proto_goTypes = nil
+ file_HomeBlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlockSubFieldData.pb.go b/protocol/proto/HomeBlockSubFieldData.pb.go
new file mode 100644
index 00000000..f43d7aba
--- /dev/null
+++ b/protocol/proto/HomeBlockSubFieldData.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlockSubFieldData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlockSubFieldData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,3,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *HomeBlockSubFieldData) Reset() {
+ *x = HomeBlockSubFieldData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlockSubFieldData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlockSubFieldData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlockSubFieldData) ProtoMessage() {}
+
+func (x *HomeBlockSubFieldData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlockSubFieldData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlockSubFieldData.ProtoReflect.Descriptor instead.
+func (*HomeBlockSubFieldData) Descriptor() ([]byte, []int) {
+ return file_HomeBlockSubFieldData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlockSubFieldData) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *HomeBlockSubFieldData) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_HomeBlockSubFieldData_proto protoreflect.FileDescriptor
+
+var file_HomeBlockSubFieldData_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x75, 0x62, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53,
+ 0x75, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x03, 0x72,
+ 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x03,
+ 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeBlockSubFieldData_proto_rawDescOnce sync.Once
+ file_HomeBlockSubFieldData_proto_rawDescData = file_HomeBlockSubFieldData_proto_rawDesc
+)
+
+func file_HomeBlockSubFieldData_proto_rawDescGZIP() []byte {
+ file_HomeBlockSubFieldData_proto_rawDescOnce.Do(func() {
+ file_HomeBlockSubFieldData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlockSubFieldData_proto_rawDescData)
+ })
+ return file_HomeBlockSubFieldData_proto_rawDescData
+}
+
+var file_HomeBlockSubFieldData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlockSubFieldData_proto_goTypes = []interface{}{
+ (*HomeBlockSubFieldData)(nil), // 0: proto.HomeBlockSubFieldData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeBlockSubFieldData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBlockSubFieldData.rot:type_name -> proto.Vector
+ 1, // 1: proto.HomeBlockSubFieldData.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlockSubFieldData_proto_init() }
+func file_HomeBlockSubFieldData_proto_init() {
+ if File_HomeBlockSubFieldData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlockSubFieldData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlockSubFieldData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlockSubFieldData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlockSubFieldData_proto_goTypes,
+ DependencyIndexes: file_HomeBlockSubFieldData_proto_depIdxs,
+ MessageInfos: file_HomeBlockSubFieldData_proto_msgTypes,
+ }.Build()
+ File_HomeBlockSubFieldData_proto = out.File
+ file_HomeBlockSubFieldData_proto_rawDesc = nil
+ file_HomeBlockSubFieldData_proto_goTypes = nil
+ file_HomeBlockSubFieldData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlueprintBatchBriefMuipData.pb.go b/protocol/proto/HomeBlueprintBatchBriefMuipData.pb.go
new file mode 100644
index 00000000..0c229e34
--- /dev/null
+++ b/protocol/proto/HomeBlueprintBatchBriefMuipData.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlueprintBatchBriefMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlueprintBatchBriefMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BriefList []*HomeBlueprintBriefMuipData `protobuf:"bytes,1,rep,name=brief_list,json=briefList,proto3" json:"brief_list,omitempty"`
+ NotExistShareCodeList []string `protobuf:"bytes,2,rep,name=not_exist_share_code_list,json=notExistShareCodeList,proto3" json:"not_exist_share_code_list,omitempty"`
+}
+
+func (x *HomeBlueprintBatchBriefMuipData) Reset() {
+ *x = HomeBlueprintBatchBriefMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlueprintBatchBriefMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlueprintBatchBriefMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlueprintBatchBriefMuipData) ProtoMessage() {}
+
+func (x *HomeBlueprintBatchBriefMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlueprintBatchBriefMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlueprintBatchBriefMuipData.ProtoReflect.Descriptor instead.
+func (*HomeBlueprintBatchBriefMuipData) Descriptor() ([]byte, []int) {
+ return file_HomeBlueprintBatchBriefMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlueprintBatchBriefMuipData) GetBriefList() []*HomeBlueprintBriefMuipData {
+ if x != nil {
+ return x.BriefList
+ }
+ return nil
+}
+
+func (x *HomeBlueprintBatchBriefMuipData) GetNotExistShareCodeList() []string {
+ if x != nil {
+ return x.NotExistShareCodeList
+ }
+ return nil
+}
+
+var File_HomeBlueprintBatchBriefMuipData_proto protoreflect.FileDescriptor
+
+var file_HomeBlueprintBatchBriefMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42,
+ 0x61, 0x74, 0x63, 0x68, 0x42, 0x72, 0x69, 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20,
+ 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x72, 0x69, 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x0a, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x72,
+ 0x69, 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x62, 0x72, 0x69,
+ 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78,
+ 0x69, 0x73, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x6e, 0x6f, 0x74, 0x45, 0x78,
+ 0x69, 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlueprintBatchBriefMuipData_proto_rawDescOnce sync.Once
+ file_HomeBlueprintBatchBriefMuipData_proto_rawDescData = file_HomeBlueprintBatchBriefMuipData_proto_rawDesc
+)
+
+func file_HomeBlueprintBatchBriefMuipData_proto_rawDescGZIP() []byte {
+ file_HomeBlueprintBatchBriefMuipData_proto_rawDescOnce.Do(func() {
+ file_HomeBlueprintBatchBriefMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlueprintBatchBriefMuipData_proto_rawDescData)
+ })
+ return file_HomeBlueprintBatchBriefMuipData_proto_rawDescData
+}
+
+var file_HomeBlueprintBatchBriefMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlueprintBatchBriefMuipData_proto_goTypes = []interface{}{
+ (*HomeBlueprintBatchBriefMuipData)(nil), // 0: proto.HomeBlueprintBatchBriefMuipData
+ (*HomeBlueprintBriefMuipData)(nil), // 1: proto.HomeBlueprintBriefMuipData
+}
+var file_HomeBlueprintBatchBriefMuipData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeBlueprintBatchBriefMuipData.brief_list:type_name -> proto.HomeBlueprintBriefMuipData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlueprintBatchBriefMuipData_proto_init() }
+func file_HomeBlueprintBatchBriefMuipData_proto_init() {
+ if File_HomeBlueprintBatchBriefMuipData_proto != nil {
+ return
+ }
+ file_HomeBlueprintBriefMuipData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlueprintBatchBriefMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlueprintBatchBriefMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlueprintBatchBriefMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlueprintBatchBriefMuipData_proto_goTypes,
+ DependencyIndexes: file_HomeBlueprintBatchBriefMuipData_proto_depIdxs,
+ MessageInfos: file_HomeBlueprintBatchBriefMuipData_proto_msgTypes,
+ }.Build()
+ File_HomeBlueprintBatchBriefMuipData_proto = out.File
+ file_HomeBlueprintBatchBriefMuipData_proto_rawDesc = nil
+ file_HomeBlueprintBatchBriefMuipData_proto_goTypes = nil
+ file_HomeBlueprintBatchBriefMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlueprintBriefMuipData.pb.go b/protocol/proto/HomeBlueprintBriefMuipData.pb.go
new file mode 100644
index 00000000..fc7185f2
--- /dev/null
+++ b/protocol/proto/HomeBlueprintBriefMuipData.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlueprintBriefMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlueprintBriefMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShareCode string `protobuf:"bytes,1,opt,name=share_code,json=shareCode,proto3" json:"share_code,omitempty"`
+ OwnerUid uint32 `protobuf:"varint,2,opt,name=owner_uid,json=ownerUid,proto3" json:"owner_uid,omitempty"`
+ ModuleId uint32 `protobuf:"varint,3,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ BlockId uint32 `protobuf:"varint,5,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+ IsAllowCopy bool `protobuf:"varint,6,opt,name=is_allow_copy,json=isAllowCopy,proto3" json:"is_allow_copy,omitempty"`
+ CreateTime uint32 `protobuf:"varint,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+}
+
+func (x *HomeBlueprintBriefMuipData) Reset() {
+ *x = HomeBlueprintBriefMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlueprintBriefMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlueprintBriefMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlueprintBriefMuipData) ProtoMessage() {}
+
+func (x *HomeBlueprintBriefMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlueprintBriefMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlueprintBriefMuipData.ProtoReflect.Descriptor instead.
+func (*HomeBlueprintBriefMuipData) Descriptor() ([]byte, []int) {
+ return file_HomeBlueprintBriefMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlueprintBriefMuipData) GetShareCode() string {
+ if x != nil {
+ return x.ShareCode
+ }
+ return ""
+}
+
+func (x *HomeBlueprintBriefMuipData) GetOwnerUid() uint32 {
+ if x != nil {
+ return x.OwnerUid
+ }
+ return 0
+}
+
+func (x *HomeBlueprintBriefMuipData) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintBriefMuipData) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintBriefMuipData) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintBriefMuipData) GetIsAllowCopy() bool {
+ if x != nil {
+ return x.IsAllowCopy
+ }
+ return false
+}
+
+func (x *HomeBlueprintBriefMuipData) GetCreateTime() uint32 {
+ if x != nil {
+ return x.CreateTime
+ }
+ return 0
+}
+
+var File_HomeBlueprintBriefMuipData_proto protoreflect.FileDescriptor
+
+var file_HomeBlueprintBriefMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x01, 0x0a, 0x1a, 0x48, 0x6f,
+ 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72,
+ 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68,
+ 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72,
+ 0x5f, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65,
+ 0x72, 0x55, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
+ 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
+ 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlueprintBriefMuipData_proto_rawDescOnce sync.Once
+ file_HomeBlueprintBriefMuipData_proto_rawDescData = file_HomeBlueprintBriefMuipData_proto_rawDesc
+)
+
+func file_HomeBlueprintBriefMuipData_proto_rawDescGZIP() []byte {
+ file_HomeBlueprintBriefMuipData_proto_rawDescOnce.Do(func() {
+ file_HomeBlueprintBriefMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlueprintBriefMuipData_proto_rawDescData)
+ })
+ return file_HomeBlueprintBriefMuipData_proto_rawDescData
+}
+
+var file_HomeBlueprintBriefMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlueprintBriefMuipData_proto_goTypes = []interface{}{
+ (*HomeBlueprintBriefMuipData)(nil), // 0: proto.HomeBlueprintBriefMuipData
+}
+var file_HomeBlueprintBriefMuipData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlueprintBriefMuipData_proto_init() }
+func file_HomeBlueprintBriefMuipData_proto_init() {
+ if File_HomeBlueprintBriefMuipData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlueprintBriefMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlueprintBriefMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlueprintBriefMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlueprintBriefMuipData_proto_goTypes,
+ DependencyIndexes: file_HomeBlueprintBriefMuipData_proto_depIdxs,
+ MessageInfos: file_HomeBlueprintBriefMuipData_proto_msgTypes,
+ }.Build()
+ File_HomeBlueprintBriefMuipData_proto = out.File
+ file_HomeBlueprintBriefMuipData_proto_rawDesc = nil
+ file_HomeBlueprintBriefMuipData_proto_goTypes = nil
+ file_HomeBlueprintBriefMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlueprintInfoNotify.pb.go b/protocol/proto/HomeBlueprintInfoNotify.pb.go
new file mode 100644
index 00000000..08df4eb2
--- /dev/null
+++ b/protocol/proto/HomeBlueprintInfoNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlueprintInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4765
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeBlueprintInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAllowFriendCopy bool `protobuf:"varint,15,opt,name=is_allow_friend_copy,json=isAllowFriendCopy,proto3" json:"is_allow_friend_copy,omitempty"`
+}
+
+func (x *HomeBlueprintInfoNotify) Reset() {
+ *x = HomeBlueprintInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlueprintInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlueprintInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlueprintInfoNotify) ProtoMessage() {}
+
+func (x *HomeBlueprintInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlueprintInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlueprintInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomeBlueprintInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomeBlueprintInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlueprintInfoNotify) GetIsAllowFriendCopy() bool {
+ if x != nil {
+ return x.IsAllowFriendCopy
+ }
+ return false
+}
+
+var File_HomeBlueprintInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomeBlueprintInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c,
+ 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x11, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x6f,
+ 0x70, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlueprintInfoNotify_proto_rawDescOnce sync.Once
+ file_HomeBlueprintInfoNotify_proto_rawDescData = file_HomeBlueprintInfoNotify_proto_rawDesc
+)
+
+func file_HomeBlueprintInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomeBlueprintInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomeBlueprintInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlueprintInfoNotify_proto_rawDescData)
+ })
+ return file_HomeBlueprintInfoNotify_proto_rawDescData
+}
+
+var file_HomeBlueprintInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlueprintInfoNotify_proto_goTypes = []interface{}{
+ (*HomeBlueprintInfoNotify)(nil), // 0: proto.HomeBlueprintInfoNotify
+}
+var file_HomeBlueprintInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlueprintInfoNotify_proto_init() }
+func file_HomeBlueprintInfoNotify_proto_init() {
+ if File_HomeBlueprintInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlueprintInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlueprintInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlueprintInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlueprintInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomeBlueprintInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomeBlueprintInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomeBlueprintInfoNotify_proto = out.File
+ file_HomeBlueprintInfoNotify_proto_rawDesc = nil
+ file_HomeBlueprintInfoNotify_proto_goTypes = nil
+ file_HomeBlueprintInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlueprintSearchInfo.pb.go b/protocol/proto/HomeBlueprintSearchInfo.pb.go
new file mode 100644
index 00000000..9ea24dcc
--- /dev/null
+++ b/protocol/proto/HomeBlueprintSearchInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlueprintSearchInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlueprintSearchInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,5,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ ModuleId uint32 `protobuf:"varint,9,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+ ShareCode string `protobuf:"bytes,8,opt,name=share_code,json=shareCode,proto3" json:"share_code,omitempty"`
+ BlockId uint32 `protobuf:"varint,12,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+}
+
+func (x *HomeBlueprintSearchInfo) Reset() {
+ *x = HomeBlueprintSearchInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlueprintSearchInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlueprintSearchInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlueprintSearchInfo) ProtoMessage() {}
+
+func (x *HomeBlueprintSearchInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlueprintSearchInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlueprintSearchInfo.ProtoReflect.Descriptor instead.
+func (*HomeBlueprintSearchInfo) Descriptor() ([]byte, []int) {
+ return file_HomeBlueprintSearchInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlueprintSearchInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintSearchInfo) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintSearchInfo) GetShareCode() string {
+ if x != nil {
+ return x.ShareCode
+ }
+ return ""
+}
+
+func (x *HomeBlueprintSearchInfo) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+var File_HomeBlueprintSearchInfo_proto protoreflect.FileDescriptor
+
+var file_HomeBlueprintSearchInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53,
+ 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x42,
+ 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68,
+ 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlueprintSearchInfo_proto_rawDescOnce sync.Once
+ file_HomeBlueprintSearchInfo_proto_rawDescData = file_HomeBlueprintSearchInfo_proto_rawDesc
+)
+
+func file_HomeBlueprintSearchInfo_proto_rawDescGZIP() []byte {
+ file_HomeBlueprintSearchInfo_proto_rawDescOnce.Do(func() {
+ file_HomeBlueprintSearchInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlueprintSearchInfo_proto_rawDescData)
+ })
+ return file_HomeBlueprintSearchInfo_proto_rawDescData
+}
+
+var file_HomeBlueprintSearchInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlueprintSearchInfo_proto_goTypes = []interface{}{
+ (*HomeBlueprintSearchInfo)(nil), // 0: proto.HomeBlueprintSearchInfo
+}
+var file_HomeBlueprintSearchInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlueprintSearchInfo_proto_init() }
+func file_HomeBlueprintSearchInfo_proto_init() {
+ if File_HomeBlueprintSearchInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlueprintSearchInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlueprintSearchInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlueprintSearchInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlueprintSearchInfo_proto_goTypes,
+ DependencyIndexes: file_HomeBlueprintSearchInfo_proto_depIdxs,
+ MessageInfos: file_HomeBlueprintSearchInfo_proto_msgTypes,
+ }.Build()
+ File_HomeBlueprintSearchInfo_proto = out.File
+ file_HomeBlueprintSearchInfo_proto_rawDesc = nil
+ file_HomeBlueprintSearchInfo_proto_goTypes = nil
+ file_HomeBlueprintSearchInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeBlueprintSlotInfo.pb.go b/protocol/proto/HomeBlueprintSlotInfo.pb.go
new file mode 100644
index 00000000..08417af2
--- /dev/null
+++ b/protocol/proto/HomeBlueprintSlotInfo.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeBlueprintSlotInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeBlueprintSlotInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModuleId uint32 `protobuf:"varint,12,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+ BlockId uint32 `protobuf:"varint,14,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ SlotId uint32 `protobuf:"varint,5,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+ ShareCode string `protobuf:"bytes,11,opt,name=share_code,json=shareCode,proto3" json:"share_code,omitempty"`
+ IsAllowCopy bool `protobuf:"varint,3,opt,name=is_allow_copy,json=isAllowCopy,proto3" json:"is_allow_copy,omitempty"`
+ CreateTime uint32 `protobuf:"varint,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+}
+
+func (x *HomeBlueprintSlotInfo) Reset() {
+ *x = HomeBlueprintSlotInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeBlueprintSlotInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeBlueprintSlotInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeBlueprintSlotInfo) ProtoMessage() {}
+
+func (x *HomeBlueprintSlotInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeBlueprintSlotInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeBlueprintSlotInfo.ProtoReflect.Descriptor instead.
+func (*HomeBlueprintSlotInfo) Descriptor() ([]byte, []int) {
+ return file_HomeBlueprintSlotInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeBlueprintSlotInfo) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintSlotInfo) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintSlotInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintSlotInfo) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+func (x *HomeBlueprintSlotInfo) GetShareCode() string {
+ if x != nil {
+ return x.ShareCode
+ }
+ return ""
+}
+
+func (x *HomeBlueprintSlotInfo) GetIsAllowCopy() bool {
+ if x != nil {
+ return x.IsAllowCopy
+ }
+ return false
+}
+
+func (x *HomeBlueprintSlotInfo) GetCreateTime() uint32 {
+ if x != nil {
+ return x.CreateTime
+ }
+ return 0
+}
+
+var File_HomeBlueprintSlotInfo_proto protoreflect.FileDescriptor
+
+var file_HomeBlueprintSlotInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53,
+ 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75,
+ 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68,
+ 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
+ 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0b, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HomeBlueprintSlotInfo_proto_rawDescOnce sync.Once
+ file_HomeBlueprintSlotInfo_proto_rawDescData = file_HomeBlueprintSlotInfo_proto_rawDesc
+)
+
+func file_HomeBlueprintSlotInfo_proto_rawDescGZIP() []byte {
+ file_HomeBlueprintSlotInfo_proto_rawDescOnce.Do(func() {
+ file_HomeBlueprintSlotInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeBlueprintSlotInfo_proto_rawDescData)
+ })
+ return file_HomeBlueprintSlotInfo_proto_rawDescData
+}
+
+var file_HomeBlueprintSlotInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeBlueprintSlotInfo_proto_goTypes = []interface{}{
+ (*HomeBlueprintSlotInfo)(nil), // 0: proto.HomeBlueprintSlotInfo
+}
+var file_HomeBlueprintSlotInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeBlueprintSlotInfo_proto_init() }
+func file_HomeBlueprintSlotInfo_proto_init() {
+ if File_HomeBlueprintSlotInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeBlueprintSlotInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeBlueprintSlotInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeBlueprintSlotInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeBlueprintSlotInfo_proto_goTypes,
+ DependencyIndexes: file_HomeBlueprintSlotInfo_proto_depIdxs,
+ MessageInfos: file_HomeBlueprintSlotInfo_proto_msgTypes,
+ }.Build()
+ File_HomeBlueprintSlotInfo_proto = out.File
+ file_HomeBlueprintSlotInfo_proto_rawDesc = nil
+ file_HomeBlueprintSlotInfo_proto_goTypes = nil
+ file_HomeBlueprintSlotInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChangeBgmNotify.pb.go b/protocol/proto/HomeChangeBgmNotify.pb.go
new file mode 100644
index 00000000..e68152bd
--- /dev/null
+++ b/protocol/proto/HomeChangeBgmNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChangeBgmNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4872
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeChangeBgmNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BgmId uint32 `protobuf:"varint,12,opt,name=bgm_id,json=bgmId,proto3" json:"bgm_id,omitempty"`
+}
+
+func (x *HomeChangeBgmNotify) Reset() {
+ *x = HomeChangeBgmNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChangeBgmNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChangeBgmNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChangeBgmNotify) ProtoMessage() {}
+
+func (x *HomeChangeBgmNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChangeBgmNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChangeBgmNotify.ProtoReflect.Descriptor instead.
+func (*HomeChangeBgmNotify) Descriptor() ([]byte, []int) {
+ return file_HomeChangeBgmNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChangeBgmNotify) GetBgmId() uint32 {
+ if x != nil {
+ return x.BgmId
+ }
+ return 0
+}
+
+var File_HomeChangeBgmNotify_proto protoreflect.FileDescriptor
+
+var file_HomeChangeBgmNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x67, 0x6d, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x42, 0x67, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x67, 0x6d,
+ 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x67, 0x6d, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeChangeBgmNotify_proto_rawDescOnce sync.Once
+ file_HomeChangeBgmNotify_proto_rawDescData = file_HomeChangeBgmNotify_proto_rawDesc
+)
+
+func file_HomeChangeBgmNotify_proto_rawDescGZIP() []byte {
+ file_HomeChangeBgmNotify_proto_rawDescOnce.Do(func() {
+ file_HomeChangeBgmNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChangeBgmNotify_proto_rawDescData)
+ })
+ return file_HomeChangeBgmNotify_proto_rawDescData
+}
+
+var file_HomeChangeBgmNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChangeBgmNotify_proto_goTypes = []interface{}{
+ (*HomeChangeBgmNotify)(nil), // 0: proto.HomeChangeBgmNotify
+}
+var file_HomeChangeBgmNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChangeBgmNotify_proto_init() }
+func file_HomeChangeBgmNotify_proto_init() {
+ if File_HomeChangeBgmNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChangeBgmNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChangeBgmNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChangeBgmNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChangeBgmNotify_proto_goTypes,
+ DependencyIndexes: file_HomeChangeBgmNotify_proto_depIdxs,
+ MessageInfos: file_HomeChangeBgmNotify_proto_msgTypes,
+ }.Build()
+ File_HomeChangeBgmNotify_proto = out.File
+ file_HomeChangeBgmNotify_proto_rawDesc = nil
+ file_HomeChangeBgmNotify_proto_goTypes = nil
+ file_HomeChangeBgmNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChangeBgmReq.pb.go b/protocol/proto/HomeChangeBgmReq.pb.go
new file mode 100644
index 00000000..936a9570
--- /dev/null
+++ b/protocol/proto/HomeChangeBgmReq.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChangeBgmReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4558
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeChangeBgmReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BgmId uint32 `protobuf:"varint,14,opt,name=bgm_id,json=bgmId,proto3" json:"bgm_id,omitempty"`
+}
+
+func (x *HomeChangeBgmReq) Reset() {
+ *x = HomeChangeBgmReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChangeBgmReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChangeBgmReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChangeBgmReq) ProtoMessage() {}
+
+func (x *HomeChangeBgmReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChangeBgmReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChangeBgmReq.ProtoReflect.Descriptor instead.
+func (*HomeChangeBgmReq) Descriptor() ([]byte, []int) {
+ return file_HomeChangeBgmReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChangeBgmReq) GetBgmId() uint32 {
+ if x != nil {
+ return x.BgmId
+ }
+ return 0
+}
+
+var File_HomeChangeBgmReq_proto protoreflect.FileDescriptor
+
+var file_HomeChangeBgmReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x67, 0x6d, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x29, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x67, 0x6d,
+ 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x67, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x67, 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeChangeBgmReq_proto_rawDescOnce sync.Once
+ file_HomeChangeBgmReq_proto_rawDescData = file_HomeChangeBgmReq_proto_rawDesc
+)
+
+func file_HomeChangeBgmReq_proto_rawDescGZIP() []byte {
+ file_HomeChangeBgmReq_proto_rawDescOnce.Do(func() {
+ file_HomeChangeBgmReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChangeBgmReq_proto_rawDescData)
+ })
+ return file_HomeChangeBgmReq_proto_rawDescData
+}
+
+var file_HomeChangeBgmReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChangeBgmReq_proto_goTypes = []interface{}{
+ (*HomeChangeBgmReq)(nil), // 0: proto.HomeChangeBgmReq
+}
+var file_HomeChangeBgmReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChangeBgmReq_proto_init() }
+func file_HomeChangeBgmReq_proto_init() {
+ if File_HomeChangeBgmReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChangeBgmReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChangeBgmReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChangeBgmReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChangeBgmReq_proto_goTypes,
+ DependencyIndexes: file_HomeChangeBgmReq_proto_depIdxs,
+ MessageInfos: file_HomeChangeBgmReq_proto_msgTypes,
+ }.Build()
+ File_HomeChangeBgmReq_proto = out.File
+ file_HomeChangeBgmReq_proto_rawDesc = nil
+ file_HomeChangeBgmReq_proto_goTypes = nil
+ file_HomeChangeBgmReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChangeBgmRsp.pb.go b/protocol/proto/HomeChangeBgmRsp.pb.go
new file mode 100644
index 00000000..7632d6f0
--- /dev/null
+++ b/protocol/proto/HomeChangeBgmRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChangeBgmRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4488
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeChangeBgmRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeChangeBgmRsp) Reset() {
+ *x = HomeChangeBgmRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChangeBgmRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChangeBgmRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChangeBgmRsp) ProtoMessage() {}
+
+func (x *HomeChangeBgmRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChangeBgmRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChangeBgmRsp.ProtoReflect.Descriptor instead.
+func (*HomeChangeBgmRsp) Descriptor() ([]byte, []int) {
+ return file_HomeChangeBgmRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChangeBgmRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeChangeBgmRsp_proto protoreflect.FileDescriptor
+
+var file_HomeChangeBgmRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x67, 0x6d, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2c, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x67, 0x6d,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeChangeBgmRsp_proto_rawDescOnce sync.Once
+ file_HomeChangeBgmRsp_proto_rawDescData = file_HomeChangeBgmRsp_proto_rawDesc
+)
+
+func file_HomeChangeBgmRsp_proto_rawDescGZIP() []byte {
+ file_HomeChangeBgmRsp_proto_rawDescOnce.Do(func() {
+ file_HomeChangeBgmRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChangeBgmRsp_proto_rawDescData)
+ })
+ return file_HomeChangeBgmRsp_proto_rawDescData
+}
+
+var file_HomeChangeBgmRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChangeBgmRsp_proto_goTypes = []interface{}{
+ (*HomeChangeBgmRsp)(nil), // 0: proto.HomeChangeBgmRsp
+}
+var file_HomeChangeBgmRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChangeBgmRsp_proto_init() }
+func file_HomeChangeBgmRsp_proto_init() {
+ if File_HomeChangeBgmRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChangeBgmRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChangeBgmRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChangeBgmRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChangeBgmRsp_proto_goTypes,
+ DependencyIndexes: file_HomeChangeBgmRsp_proto_depIdxs,
+ MessageInfos: file_HomeChangeBgmRsp_proto_msgTypes,
+ }.Build()
+ File_HomeChangeBgmRsp_proto = out.File
+ file_HomeChangeBgmRsp_proto_rawDesc = nil
+ file_HomeChangeBgmRsp_proto_goTypes = nil
+ file_HomeChangeBgmRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChangeEditModeReq.pb.go b/protocol/proto/HomeChangeEditModeReq.pb.go
new file mode 100644
index 00000000..c2861527
--- /dev/null
+++ b/protocol/proto/HomeChangeEditModeReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChangeEditModeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4564
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeChangeEditModeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsEnterEditMode bool `protobuf:"varint,12,opt,name=is_enter_edit_mode,json=isEnterEditMode,proto3" json:"is_enter_edit_mode,omitempty"`
+}
+
+func (x *HomeChangeEditModeReq) Reset() {
+ *x = HomeChangeEditModeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChangeEditModeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChangeEditModeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChangeEditModeReq) ProtoMessage() {}
+
+func (x *HomeChangeEditModeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChangeEditModeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChangeEditModeReq.ProtoReflect.Descriptor instead.
+func (*HomeChangeEditModeReq) Descriptor() ([]byte, []int) {
+ return file_HomeChangeEditModeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChangeEditModeReq) GetIsEnterEditMode() bool {
+ if x != nil {
+ return x.IsEnterEditMode
+ }
+ return false
+}
+
+var File_HomeChangeEditModeReq_proto protoreflect.FileDescriptor
+
+var file_HomeChangeEditModeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x64, 0x69, 0x74,
+ 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a,
+ 0x12, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6d,
+ 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeChangeEditModeReq_proto_rawDescOnce sync.Once
+ file_HomeChangeEditModeReq_proto_rawDescData = file_HomeChangeEditModeReq_proto_rawDesc
+)
+
+func file_HomeChangeEditModeReq_proto_rawDescGZIP() []byte {
+ file_HomeChangeEditModeReq_proto_rawDescOnce.Do(func() {
+ file_HomeChangeEditModeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChangeEditModeReq_proto_rawDescData)
+ })
+ return file_HomeChangeEditModeReq_proto_rawDescData
+}
+
+var file_HomeChangeEditModeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChangeEditModeReq_proto_goTypes = []interface{}{
+ (*HomeChangeEditModeReq)(nil), // 0: proto.HomeChangeEditModeReq
+}
+var file_HomeChangeEditModeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChangeEditModeReq_proto_init() }
+func file_HomeChangeEditModeReq_proto_init() {
+ if File_HomeChangeEditModeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChangeEditModeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChangeEditModeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChangeEditModeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChangeEditModeReq_proto_goTypes,
+ DependencyIndexes: file_HomeChangeEditModeReq_proto_depIdxs,
+ MessageInfos: file_HomeChangeEditModeReq_proto_msgTypes,
+ }.Build()
+ File_HomeChangeEditModeReq_proto = out.File
+ file_HomeChangeEditModeReq_proto_rawDesc = nil
+ file_HomeChangeEditModeReq_proto_goTypes = nil
+ file_HomeChangeEditModeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChangeEditModeRsp.pb.go b/protocol/proto/HomeChangeEditModeRsp.pb.go
new file mode 100644
index 00000000..4cbb677b
--- /dev/null
+++ b/protocol/proto/HomeChangeEditModeRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChangeEditModeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4559
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeChangeEditModeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsEnterEditMode bool `protobuf:"varint,5,opt,name=is_enter_edit_mode,json=isEnterEditMode,proto3" json:"is_enter_edit_mode,omitempty"`
+}
+
+func (x *HomeChangeEditModeRsp) Reset() {
+ *x = HomeChangeEditModeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChangeEditModeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChangeEditModeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChangeEditModeRsp) ProtoMessage() {}
+
+func (x *HomeChangeEditModeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChangeEditModeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChangeEditModeRsp.ProtoReflect.Descriptor instead.
+func (*HomeChangeEditModeRsp) Descriptor() ([]byte, []int) {
+ return file_HomeChangeEditModeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChangeEditModeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeChangeEditModeRsp) GetIsEnterEditMode() bool {
+ if x != nil {
+ return x.IsEnterEditMode
+ }
+ return false
+}
+
+var File_HomeChangeEditModeRsp_proto protoreflect.FileDescriptor
+
+var file_HomeChangeEditModeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x64, 0x69, 0x74,
+ 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x65, 0x6e,
+ 0x74, 0x65, 0x72, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x64, 0x69, 0x74,
+ 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeChangeEditModeRsp_proto_rawDescOnce sync.Once
+ file_HomeChangeEditModeRsp_proto_rawDescData = file_HomeChangeEditModeRsp_proto_rawDesc
+)
+
+func file_HomeChangeEditModeRsp_proto_rawDescGZIP() []byte {
+ file_HomeChangeEditModeRsp_proto_rawDescOnce.Do(func() {
+ file_HomeChangeEditModeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChangeEditModeRsp_proto_rawDescData)
+ })
+ return file_HomeChangeEditModeRsp_proto_rawDescData
+}
+
+var file_HomeChangeEditModeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChangeEditModeRsp_proto_goTypes = []interface{}{
+ (*HomeChangeEditModeRsp)(nil), // 0: proto.HomeChangeEditModeRsp
+}
+var file_HomeChangeEditModeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChangeEditModeRsp_proto_init() }
+func file_HomeChangeEditModeRsp_proto_init() {
+ if File_HomeChangeEditModeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChangeEditModeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChangeEditModeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChangeEditModeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChangeEditModeRsp_proto_goTypes,
+ DependencyIndexes: file_HomeChangeEditModeRsp_proto_depIdxs,
+ MessageInfos: file_HomeChangeEditModeRsp_proto_msgTypes,
+ }.Build()
+ File_HomeChangeEditModeRsp_proto = out.File
+ file_HomeChangeEditModeRsp_proto_rawDesc = nil
+ file_HomeChangeEditModeRsp_proto_goTypes = nil
+ file_HomeChangeEditModeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChangeModuleReq.pb.go b/protocol/proto/HomeChangeModuleReq.pb.go
new file mode 100644
index 00000000..53f496ce
--- /dev/null
+++ b/protocol/proto/HomeChangeModuleReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChangeModuleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4809
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeChangeModuleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetModuleId uint32 `protobuf:"varint,5,opt,name=target_module_id,json=targetModuleId,proto3" json:"target_module_id,omitempty"`
+}
+
+func (x *HomeChangeModuleReq) Reset() {
+ *x = HomeChangeModuleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChangeModuleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChangeModuleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChangeModuleReq) ProtoMessage() {}
+
+func (x *HomeChangeModuleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChangeModuleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChangeModuleReq.ProtoReflect.Descriptor instead.
+func (*HomeChangeModuleReq) Descriptor() ([]byte, []int) {
+ return file_HomeChangeModuleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChangeModuleReq) GetTargetModuleId() uint32 {
+ if x != nil {
+ return x.TargetModuleId
+ }
+ return 0
+}
+
+var File_HomeChangeModuleReq_proto protoreflect.FileDescriptor
+
+var file_HomeChangeModuleReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75,
+ 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeChangeModuleReq_proto_rawDescOnce sync.Once
+ file_HomeChangeModuleReq_proto_rawDescData = file_HomeChangeModuleReq_proto_rawDesc
+)
+
+func file_HomeChangeModuleReq_proto_rawDescGZIP() []byte {
+ file_HomeChangeModuleReq_proto_rawDescOnce.Do(func() {
+ file_HomeChangeModuleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChangeModuleReq_proto_rawDescData)
+ })
+ return file_HomeChangeModuleReq_proto_rawDescData
+}
+
+var file_HomeChangeModuleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChangeModuleReq_proto_goTypes = []interface{}{
+ (*HomeChangeModuleReq)(nil), // 0: proto.HomeChangeModuleReq
+}
+var file_HomeChangeModuleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChangeModuleReq_proto_init() }
+func file_HomeChangeModuleReq_proto_init() {
+ if File_HomeChangeModuleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChangeModuleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChangeModuleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChangeModuleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChangeModuleReq_proto_goTypes,
+ DependencyIndexes: file_HomeChangeModuleReq_proto_depIdxs,
+ MessageInfos: file_HomeChangeModuleReq_proto_msgTypes,
+ }.Build()
+ File_HomeChangeModuleReq_proto = out.File
+ file_HomeChangeModuleReq_proto_rawDesc = nil
+ file_HomeChangeModuleReq_proto_goTypes = nil
+ file_HomeChangeModuleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChangeModuleRsp.pb.go b/protocol/proto/HomeChangeModuleRsp.pb.go
new file mode 100644
index 00000000..f854b747
--- /dev/null
+++ b/protocol/proto/HomeChangeModuleRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChangeModuleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4596
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeChangeModuleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetModuleId uint32 `protobuf:"varint,2,opt,name=target_module_id,json=targetModuleId,proto3" json:"target_module_id,omitempty"`
+}
+
+func (x *HomeChangeModuleRsp) Reset() {
+ *x = HomeChangeModuleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChangeModuleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChangeModuleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChangeModuleRsp) ProtoMessage() {}
+
+func (x *HomeChangeModuleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChangeModuleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChangeModuleRsp.ProtoReflect.Descriptor instead.
+func (*HomeChangeModuleRsp) Descriptor() ([]byte, []int) {
+ return file_HomeChangeModuleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChangeModuleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeChangeModuleRsp) GetTargetModuleId() uint32 {
+ if x != nil {
+ return x.TargetModuleId
+ }
+ return 0
+}
+
+var File_HomeChangeModuleRsp_proto protoreflect.FileDescriptor
+
+var file_HomeChangeModuleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75,
+ 0x6c, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x6f,
+ 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeChangeModuleRsp_proto_rawDescOnce sync.Once
+ file_HomeChangeModuleRsp_proto_rawDescData = file_HomeChangeModuleRsp_proto_rawDesc
+)
+
+func file_HomeChangeModuleRsp_proto_rawDescGZIP() []byte {
+ file_HomeChangeModuleRsp_proto_rawDescOnce.Do(func() {
+ file_HomeChangeModuleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChangeModuleRsp_proto_rawDescData)
+ })
+ return file_HomeChangeModuleRsp_proto_rawDescData
+}
+
+var file_HomeChangeModuleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChangeModuleRsp_proto_goTypes = []interface{}{
+ (*HomeChangeModuleRsp)(nil), // 0: proto.HomeChangeModuleRsp
+}
+var file_HomeChangeModuleRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChangeModuleRsp_proto_init() }
+func file_HomeChangeModuleRsp_proto_init() {
+ if File_HomeChangeModuleRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChangeModuleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChangeModuleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChangeModuleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChangeModuleRsp_proto_goTypes,
+ DependencyIndexes: file_HomeChangeModuleRsp_proto_depIdxs,
+ MessageInfos: file_HomeChangeModuleRsp_proto_msgTypes,
+ }.Build()
+ File_HomeChangeModuleRsp_proto = out.File
+ file_HomeChangeModuleRsp_proto_rawDesc = nil
+ file_HomeChangeModuleRsp_proto_goTypes = nil
+ file_HomeChangeModuleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChooseModuleReq.pb.go b/protocol/proto/HomeChooseModuleReq.pb.go
new file mode 100644
index 00000000..15d08ba2
--- /dev/null
+++ b/protocol/proto/HomeChooseModuleReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChooseModuleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4524
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeChooseModuleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModuleId uint32 `protobuf:"varint,9,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+}
+
+func (x *HomeChooseModuleReq) Reset() {
+ *x = HomeChooseModuleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChooseModuleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChooseModuleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChooseModuleReq) ProtoMessage() {}
+
+func (x *HomeChooseModuleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChooseModuleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChooseModuleReq.ProtoReflect.Descriptor instead.
+func (*HomeChooseModuleReq) Descriptor() ([]byte, []int) {
+ return file_HomeChooseModuleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChooseModuleReq) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+var File_HomeChooseModuleReq_proto protoreflect.FileDescriptor
+
+var file_HomeChooseModuleReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x75,
+ 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65,
+ 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x6f,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeChooseModuleReq_proto_rawDescOnce sync.Once
+ file_HomeChooseModuleReq_proto_rawDescData = file_HomeChooseModuleReq_proto_rawDesc
+)
+
+func file_HomeChooseModuleReq_proto_rawDescGZIP() []byte {
+ file_HomeChooseModuleReq_proto_rawDescOnce.Do(func() {
+ file_HomeChooseModuleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChooseModuleReq_proto_rawDescData)
+ })
+ return file_HomeChooseModuleReq_proto_rawDescData
+}
+
+var file_HomeChooseModuleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChooseModuleReq_proto_goTypes = []interface{}{
+ (*HomeChooseModuleReq)(nil), // 0: proto.HomeChooseModuleReq
+}
+var file_HomeChooseModuleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChooseModuleReq_proto_init() }
+func file_HomeChooseModuleReq_proto_init() {
+ if File_HomeChooseModuleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChooseModuleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChooseModuleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChooseModuleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChooseModuleReq_proto_goTypes,
+ DependencyIndexes: file_HomeChooseModuleReq_proto_depIdxs,
+ MessageInfos: file_HomeChooseModuleReq_proto_msgTypes,
+ }.Build()
+ File_HomeChooseModuleReq_proto = out.File
+ file_HomeChooseModuleReq_proto_rawDesc = nil
+ file_HomeChooseModuleReq_proto_goTypes = nil
+ file_HomeChooseModuleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeChooseModuleRsp.pb.go b/protocol/proto/HomeChooseModuleRsp.pb.go
new file mode 100644
index 00000000..3d608df5
--- /dev/null
+++ b/protocol/proto/HomeChooseModuleRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeChooseModuleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4648
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeChooseModuleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ModuleId uint32 `protobuf:"varint,8,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+}
+
+func (x *HomeChooseModuleRsp) Reset() {
+ *x = HomeChooseModuleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeChooseModuleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeChooseModuleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeChooseModuleRsp) ProtoMessage() {}
+
+func (x *HomeChooseModuleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeChooseModuleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeChooseModuleRsp.ProtoReflect.Descriptor instead.
+func (*HomeChooseModuleRsp) Descriptor() ([]byte, []int) {
+ return file_HomeChooseModuleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeChooseModuleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeChooseModuleRsp) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+var File_HomeChooseModuleRsp_proto protoreflect.FileDescriptor
+
+var file_HomeChooseModuleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x75,
+ 0x6c, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65,
+ 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeChooseModuleRsp_proto_rawDescOnce sync.Once
+ file_HomeChooseModuleRsp_proto_rawDescData = file_HomeChooseModuleRsp_proto_rawDesc
+)
+
+func file_HomeChooseModuleRsp_proto_rawDescGZIP() []byte {
+ file_HomeChooseModuleRsp_proto_rawDescOnce.Do(func() {
+ file_HomeChooseModuleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeChooseModuleRsp_proto_rawDescData)
+ })
+ return file_HomeChooseModuleRsp_proto_rawDescData
+}
+
+var file_HomeChooseModuleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeChooseModuleRsp_proto_goTypes = []interface{}{
+ (*HomeChooseModuleRsp)(nil), // 0: proto.HomeChooseModuleRsp
+}
+var file_HomeChooseModuleRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeChooseModuleRsp_proto_init() }
+func file_HomeChooseModuleRsp_proto_init() {
+ if File_HomeChooseModuleRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeChooseModuleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeChooseModuleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeChooseModuleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeChooseModuleRsp_proto_goTypes,
+ DependencyIndexes: file_HomeChooseModuleRsp_proto_depIdxs,
+ MessageInfos: file_HomeChooseModuleRsp_proto_msgTypes,
+ }.Build()
+ File_HomeChooseModuleRsp_proto = out.File
+ file_HomeChooseModuleRsp_proto_rawDesc = nil
+ file_HomeChooseModuleRsp_proto_goTypes = nil
+ file_HomeChooseModuleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeClearGroupRecordReq.pb.go b/protocol/proto/HomeClearGroupRecordReq.pb.go
new file mode 100644
index 00000000..1f48bb89
--- /dev/null
+++ b/protocol/proto/HomeClearGroupRecordReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeClearGroupRecordReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4759
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeClearGroupRecordReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *HomeClearGroupRecordReq) Reset() {
+ *x = HomeClearGroupRecordReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeClearGroupRecordReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeClearGroupRecordReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeClearGroupRecordReq) ProtoMessage() {}
+
+func (x *HomeClearGroupRecordReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeClearGroupRecordReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeClearGroupRecordReq.ProtoReflect.Descriptor instead.
+func (*HomeClearGroupRecordReq) Descriptor() ([]byte, []int) {
+ return file_HomeClearGroupRecordReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeClearGroupRecordReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_HomeClearGroupRecordReq_proto protoreflect.FileDescriptor
+
+var file_HomeClearGroupRecordReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6c,
+ 0x65, 0x61, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeClearGroupRecordReq_proto_rawDescOnce sync.Once
+ file_HomeClearGroupRecordReq_proto_rawDescData = file_HomeClearGroupRecordReq_proto_rawDesc
+)
+
+func file_HomeClearGroupRecordReq_proto_rawDescGZIP() []byte {
+ file_HomeClearGroupRecordReq_proto_rawDescOnce.Do(func() {
+ file_HomeClearGroupRecordReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeClearGroupRecordReq_proto_rawDescData)
+ })
+ return file_HomeClearGroupRecordReq_proto_rawDescData
+}
+
+var file_HomeClearGroupRecordReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeClearGroupRecordReq_proto_goTypes = []interface{}{
+ (*HomeClearGroupRecordReq)(nil), // 0: proto.HomeClearGroupRecordReq
+}
+var file_HomeClearGroupRecordReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeClearGroupRecordReq_proto_init() }
+func file_HomeClearGroupRecordReq_proto_init() {
+ if File_HomeClearGroupRecordReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeClearGroupRecordReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeClearGroupRecordReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeClearGroupRecordReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeClearGroupRecordReq_proto_goTypes,
+ DependencyIndexes: file_HomeClearGroupRecordReq_proto_depIdxs,
+ MessageInfos: file_HomeClearGroupRecordReq_proto_msgTypes,
+ }.Build()
+ File_HomeClearGroupRecordReq_proto = out.File
+ file_HomeClearGroupRecordReq_proto_rawDesc = nil
+ file_HomeClearGroupRecordReq_proto_goTypes = nil
+ file_HomeClearGroupRecordReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeClearGroupRecordRsp.pb.go b/protocol/proto/HomeClearGroupRecordRsp.pb.go
new file mode 100644
index 00000000..db8da29c
--- /dev/null
+++ b/protocol/proto/HomeClearGroupRecordRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeClearGroupRecordRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4605
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeClearGroupRecordRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,4,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeClearGroupRecordRsp) Reset() {
+ *x = HomeClearGroupRecordRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeClearGroupRecordRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeClearGroupRecordRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeClearGroupRecordRsp) ProtoMessage() {}
+
+func (x *HomeClearGroupRecordRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeClearGroupRecordRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeClearGroupRecordRsp.ProtoReflect.Descriptor instead.
+func (*HomeClearGroupRecordRsp) Descriptor() ([]byte, []int) {
+ return file_HomeClearGroupRecordRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeClearGroupRecordRsp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *HomeClearGroupRecordRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeClearGroupRecordRsp_proto protoreflect.FileDescriptor
+
+var file_HomeClearGroupRecordRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6c,
+ 0x65, 0x61, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x73,
+ 0x70, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeClearGroupRecordRsp_proto_rawDescOnce sync.Once
+ file_HomeClearGroupRecordRsp_proto_rawDescData = file_HomeClearGroupRecordRsp_proto_rawDesc
+)
+
+func file_HomeClearGroupRecordRsp_proto_rawDescGZIP() []byte {
+ file_HomeClearGroupRecordRsp_proto_rawDescOnce.Do(func() {
+ file_HomeClearGroupRecordRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeClearGroupRecordRsp_proto_rawDescData)
+ })
+ return file_HomeClearGroupRecordRsp_proto_rawDescData
+}
+
+var file_HomeClearGroupRecordRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeClearGroupRecordRsp_proto_goTypes = []interface{}{
+ (*HomeClearGroupRecordRsp)(nil), // 0: proto.HomeClearGroupRecordRsp
+}
+var file_HomeClearGroupRecordRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeClearGroupRecordRsp_proto_init() }
+func file_HomeClearGroupRecordRsp_proto_init() {
+ if File_HomeClearGroupRecordRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeClearGroupRecordRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeClearGroupRecordRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeClearGroupRecordRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeClearGroupRecordRsp_proto_goTypes,
+ DependencyIndexes: file_HomeClearGroupRecordRsp_proto_depIdxs,
+ MessageInfos: file_HomeClearGroupRecordRsp_proto_msgTypes,
+ }.Build()
+ File_HomeClearGroupRecordRsp_proto = out.File
+ file_HomeClearGroupRecordRsp_proto_rawDesc = nil
+ file_HomeClearGroupRecordRsp_proto_goTypes = nil
+ file_HomeClearGroupRecordRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeComfortInfoNotify.pb.go b/protocol/proto/HomeComfortInfoNotify.pb.go
new file mode 100644
index 00000000..bd687e33
--- /dev/null
+++ b/protocol/proto/HomeComfortInfoNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeComfortInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4699
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeComfortInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModuleInfoList []*HomeModuleComfortInfo `protobuf:"bytes,6,rep,name=module_info_list,json=moduleInfoList,proto3" json:"module_info_list,omitempty"`
+}
+
+func (x *HomeComfortInfoNotify) Reset() {
+ *x = HomeComfortInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeComfortInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeComfortInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeComfortInfoNotify) ProtoMessage() {}
+
+func (x *HomeComfortInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeComfortInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeComfortInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomeComfortInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomeComfortInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeComfortInfoNotify) GetModuleInfoList() []*HomeModuleComfortInfo {
+ if x != nil {
+ return x.ModuleInfoList
+ }
+ return nil
+}
+
+var File_HomeComfortInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomeComfortInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65,
+ 0x43, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x5f, 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6d, 0x6f,
+ 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d,
+ 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeComfortInfoNotify_proto_rawDescOnce sync.Once
+ file_HomeComfortInfoNotify_proto_rawDescData = file_HomeComfortInfoNotify_proto_rawDesc
+)
+
+func file_HomeComfortInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomeComfortInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomeComfortInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeComfortInfoNotify_proto_rawDescData)
+ })
+ return file_HomeComfortInfoNotify_proto_rawDescData
+}
+
+var file_HomeComfortInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeComfortInfoNotify_proto_goTypes = []interface{}{
+ (*HomeComfortInfoNotify)(nil), // 0: proto.HomeComfortInfoNotify
+ (*HomeModuleComfortInfo)(nil), // 1: proto.HomeModuleComfortInfo
+}
+var file_HomeComfortInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeComfortInfoNotify.module_info_list:type_name -> proto.HomeModuleComfortInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeComfortInfoNotify_proto_init() }
+func file_HomeComfortInfoNotify_proto_init() {
+ if File_HomeComfortInfoNotify_proto != nil {
+ return
+ }
+ file_HomeModuleComfortInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeComfortInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeComfortInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeComfortInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeComfortInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomeComfortInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomeComfortInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomeComfortInfoNotify_proto = out.File
+ file_HomeComfortInfoNotify_proto_rawDesc = nil
+ file_HomeComfortInfoNotify_proto_goTypes = nil
+ file_HomeComfortInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeCreateBlueprintReq.pb.go b/protocol/proto/HomeCreateBlueprintReq.pb.go
new file mode 100644
index 00000000..a6f7c91f
--- /dev/null
+++ b/protocol/proto/HomeCreateBlueprintReq.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeCreateBlueprintReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4619
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeCreateBlueprintReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneArrangementInfo *HomeSceneArrangementInfo `protobuf:"bytes,2,opt,name=scene_arrangement_info,json=sceneArrangementInfo,proto3" json:"scene_arrangement_info,omitempty"`
+ SlotId uint32 `protobuf:"varint,13,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+ ServerShareCode string `protobuf:"bytes,6,opt,name=server_share_code,json=serverShareCode,proto3" json:"server_share_code,omitempty"`
+ GenShareCodeCount uint32 `protobuf:"varint,4,opt,name=gen_share_code_count,json=genShareCodeCount,proto3" json:"gen_share_code_count,omitempty"`
+}
+
+func (x *HomeCreateBlueprintReq) Reset() {
+ *x = HomeCreateBlueprintReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeCreateBlueprintReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeCreateBlueprintReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeCreateBlueprintReq) ProtoMessage() {}
+
+func (x *HomeCreateBlueprintReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeCreateBlueprintReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeCreateBlueprintReq.ProtoReflect.Descriptor instead.
+func (*HomeCreateBlueprintReq) Descriptor() ([]byte, []int) {
+ return file_HomeCreateBlueprintReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeCreateBlueprintReq) GetSceneArrangementInfo() *HomeSceneArrangementInfo {
+ if x != nil {
+ return x.SceneArrangementInfo
+ }
+ return nil
+}
+
+func (x *HomeCreateBlueprintReq) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+func (x *HomeCreateBlueprintReq) GetServerShareCode() string {
+ if x != nil {
+ return x.ServerShareCode
+ }
+ return ""
+}
+
+func (x *HomeCreateBlueprintReq) GetGenShareCodeCount() uint32 {
+ if x != nil {
+ return x.GenShareCodeCount
+ }
+ return 0
+}
+
+var File_HomeCreateBlueprintReq_proto protoreflect.FileDescriptor
+
+var file_HomeCreateBlueprintReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65,
+ 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x01, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71,
+ 0x12, 0x55, 0x0a, 0x16, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x14, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64,
+ 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65,
+ 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2f, 0x0a, 0x14,
+ 0x67, 0x65, 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x53,
+ 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeCreateBlueprintReq_proto_rawDescOnce sync.Once
+ file_HomeCreateBlueprintReq_proto_rawDescData = file_HomeCreateBlueprintReq_proto_rawDesc
+)
+
+func file_HomeCreateBlueprintReq_proto_rawDescGZIP() []byte {
+ file_HomeCreateBlueprintReq_proto_rawDescOnce.Do(func() {
+ file_HomeCreateBlueprintReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeCreateBlueprintReq_proto_rawDescData)
+ })
+ return file_HomeCreateBlueprintReq_proto_rawDescData
+}
+
+var file_HomeCreateBlueprintReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeCreateBlueprintReq_proto_goTypes = []interface{}{
+ (*HomeCreateBlueprintReq)(nil), // 0: proto.HomeCreateBlueprintReq
+ (*HomeSceneArrangementInfo)(nil), // 1: proto.HomeSceneArrangementInfo
+}
+var file_HomeCreateBlueprintReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeCreateBlueprintReq.scene_arrangement_info:type_name -> proto.HomeSceneArrangementInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeCreateBlueprintReq_proto_init() }
+func file_HomeCreateBlueprintReq_proto_init() {
+ if File_HomeCreateBlueprintReq_proto != nil {
+ return
+ }
+ file_HomeSceneArrangementInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeCreateBlueprintReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeCreateBlueprintReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeCreateBlueprintReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeCreateBlueprintReq_proto_goTypes,
+ DependencyIndexes: file_HomeCreateBlueprintReq_proto_depIdxs,
+ MessageInfos: file_HomeCreateBlueprintReq_proto_msgTypes,
+ }.Build()
+ File_HomeCreateBlueprintReq_proto = out.File
+ file_HomeCreateBlueprintReq_proto_rawDesc = nil
+ file_HomeCreateBlueprintReq_proto_goTypes = nil
+ file_HomeCreateBlueprintReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeCreateBlueprintRsp.pb.go b/protocol/proto/HomeCreateBlueprintRsp.pb.go
new file mode 100644
index 00000000..ab8c8bfe
--- /dev/null
+++ b/protocol/proto/HomeCreateBlueprintRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeCreateBlueprintRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4606
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeCreateBlueprintRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlotInfo *HomeBlueprintSlotInfo `protobuf:"bytes,1,opt,name=slot_info,json=slotInfo,proto3" json:"slot_info,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeCreateBlueprintRsp) Reset() {
+ *x = HomeCreateBlueprintRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeCreateBlueprintRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeCreateBlueprintRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeCreateBlueprintRsp) ProtoMessage() {}
+
+func (x *HomeCreateBlueprintRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeCreateBlueprintRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeCreateBlueprintRsp.ProtoReflect.Descriptor instead.
+func (*HomeCreateBlueprintRsp) Descriptor() ([]byte, []int) {
+ return file_HomeCreateBlueprintRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeCreateBlueprintRsp) GetSlotInfo() *HomeBlueprintSlotInfo {
+ if x != nil {
+ return x.SlotInfo
+ }
+ return nil
+}
+
+func (x *HomeCreateBlueprintRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeCreateBlueprintRsp_proto protoreflect.FileDescriptor
+
+var file_HomeCreateBlueprintRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65,
+ 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70,
+ 0x72, 0x69, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x09,
+ 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65,
+ 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x73,
+ 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeCreateBlueprintRsp_proto_rawDescOnce sync.Once
+ file_HomeCreateBlueprintRsp_proto_rawDescData = file_HomeCreateBlueprintRsp_proto_rawDesc
+)
+
+func file_HomeCreateBlueprintRsp_proto_rawDescGZIP() []byte {
+ file_HomeCreateBlueprintRsp_proto_rawDescOnce.Do(func() {
+ file_HomeCreateBlueprintRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeCreateBlueprintRsp_proto_rawDescData)
+ })
+ return file_HomeCreateBlueprintRsp_proto_rawDescData
+}
+
+var file_HomeCreateBlueprintRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeCreateBlueprintRsp_proto_goTypes = []interface{}{
+ (*HomeCreateBlueprintRsp)(nil), // 0: proto.HomeCreateBlueprintRsp
+ (*HomeBlueprintSlotInfo)(nil), // 1: proto.HomeBlueprintSlotInfo
+}
+var file_HomeCreateBlueprintRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeCreateBlueprintRsp.slot_info:type_name -> proto.HomeBlueprintSlotInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeCreateBlueprintRsp_proto_init() }
+func file_HomeCreateBlueprintRsp_proto_init() {
+ if File_HomeCreateBlueprintRsp_proto != nil {
+ return
+ }
+ file_HomeBlueprintSlotInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeCreateBlueprintRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeCreateBlueprintRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeCreateBlueprintRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeCreateBlueprintRsp_proto_goTypes,
+ DependencyIndexes: file_HomeCreateBlueprintRsp_proto_depIdxs,
+ MessageInfos: file_HomeCreateBlueprintRsp_proto_msgTypes,
+ }.Build()
+ File_HomeCreateBlueprintRsp_proto = out.File
+ file_HomeCreateBlueprintRsp_proto_rawDesc = nil
+ file_HomeCreateBlueprintRsp_proto_goTypes = nil
+ file_HomeCreateBlueprintRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeCustomFurnitureInfo.pb.go b/protocol/proto/HomeCustomFurnitureInfo.pb.go
new file mode 100644
index 00000000..2de15aed
--- /dev/null
+++ b/protocol/proto/HomeCustomFurnitureInfo.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeCustomFurnitureInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeCustomFurnitureInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SubFurnitureList []*CustomCommonNodeInfo `protobuf:"bytes,12,rep,name=sub_furniture_list,json=subFurnitureList,proto3" json:"sub_furniture_list,omitempty"`
+ Guid uint32 `protobuf:"varint,6,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *HomeCustomFurnitureInfo) Reset() {
+ *x = HomeCustomFurnitureInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeCustomFurnitureInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeCustomFurnitureInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeCustomFurnitureInfo) ProtoMessage() {}
+
+func (x *HomeCustomFurnitureInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeCustomFurnitureInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeCustomFurnitureInfo.ProtoReflect.Descriptor instead.
+func (*HomeCustomFurnitureInfo) Descriptor() ([]byte, []int) {
+ return file_HomeCustomFurnitureInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeCustomFurnitureInfo) GetSubFurnitureList() []*CustomCommonNodeInfo {
+ if x != nil {
+ return x.SubFurnitureList
+ }
+ return nil
+}
+
+func (x *HomeCustomFurnitureInfo) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_HomeCustomFurnitureInfo_proto protoreflect.FileDescriptor
+
+var file_HomeCustomFurnitureInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a,
+ 0x12, 0x73, 0x75, 0x62, 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f,
+ 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x73, 0x75, 0x62, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeCustomFurnitureInfo_proto_rawDescOnce sync.Once
+ file_HomeCustomFurnitureInfo_proto_rawDescData = file_HomeCustomFurnitureInfo_proto_rawDesc
+)
+
+func file_HomeCustomFurnitureInfo_proto_rawDescGZIP() []byte {
+ file_HomeCustomFurnitureInfo_proto_rawDescOnce.Do(func() {
+ file_HomeCustomFurnitureInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeCustomFurnitureInfo_proto_rawDescData)
+ })
+ return file_HomeCustomFurnitureInfo_proto_rawDescData
+}
+
+var file_HomeCustomFurnitureInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeCustomFurnitureInfo_proto_goTypes = []interface{}{
+ (*HomeCustomFurnitureInfo)(nil), // 0: proto.HomeCustomFurnitureInfo
+ (*CustomCommonNodeInfo)(nil), // 1: proto.CustomCommonNodeInfo
+}
+var file_HomeCustomFurnitureInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeCustomFurnitureInfo.sub_furniture_list:type_name -> proto.CustomCommonNodeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeCustomFurnitureInfo_proto_init() }
+func file_HomeCustomFurnitureInfo_proto_init() {
+ if File_HomeCustomFurnitureInfo_proto != nil {
+ return
+ }
+ file_CustomCommonNodeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeCustomFurnitureInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeCustomFurnitureInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeCustomFurnitureInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeCustomFurnitureInfo_proto_goTypes,
+ DependencyIndexes: file_HomeCustomFurnitureInfo_proto_depIdxs,
+ MessageInfos: file_HomeCustomFurnitureInfo_proto_msgTypes,
+ }.Build()
+ File_HomeCustomFurnitureInfo_proto = out.File
+ file_HomeCustomFurnitureInfo_proto_rawDesc = nil
+ file_HomeCustomFurnitureInfo_proto_goTypes = nil
+ file_HomeCustomFurnitureInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeCustomFurnitureInfoNotify.pb.go b/protocol/proto/HomeCustomFurnitureInfoNotify.pb.go
new file mode 100644
index 00000000..a64c3060
--- /dev/null
+++ b/protocol/proto/HomeCustomFurnitureInfoNotify.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeCustomFurnitureInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4712
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeCustomFurnitureInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeleteCustomFurnitureList []uint32 `protobuf:"varint,4,rep,packed,name=delete_custom_furniture_list,json=deleteCustomFurnitureList,proto3" json:"delete_custom_furniture_list,omitempty"`
+ UsedSubFurnitureCountMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=used_sub_furniture_count_map,json=usedSubFurnitureCountMap,proto3" json:"used_sub_furniture_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CustomFurnitureInfoList []*HomeCustomFurnitureInfo `protobuf:"bytes,11,rep,name=custom_furniture_info_list,json=customFurnitureInfoList,proto3" json:"custom_furniture_info_list,omitempty"`
+}
+
+func (x *HomeCustomFurnitureInfoNotify) Reset() {
+ *x = HomeCustomFurnitureInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeCustomFurnitureInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeCustomFurnitureInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeCustomFurnitureInfoNotify) ProtoMessage() {}
+
+func (x *HomeCustomFurnitureInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeCustomFurnitureInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeCustomFurnitureInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomeCustomFurnitureInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomeCustomFurnitureInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeCustomFurnitureInfoNotify) GetDeleteCustomFurnitureList() []uint32 {
+ if x != nil {
+ return x.DeleteCustomFurnitureList
+ }
+ return nil
+}
+
+func (x *HomeCustomFurnitureInfoNotify) GetUsedSubFurnitureCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.UsedSubFurnitureCountMap
+ }
+ return nil
+}
+
+func (x *HomeCustomFurnitureInfoNotify) GetCustomFurnitureInfoList() []*HomeCustomFurnitureInfo {
+ if x != nil {
+ return x.CustomFurnitureInfoList
+ }
+ return nil
+}
+
+var File_HomeCustomFurnitureInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomeCustomFurnitureInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x48, 0x6f,
+ 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x03, 0x0a, 0x1d,
+ 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a,
+ 0x1c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66,
+ 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x82,
+ 0x01, 0x0a, 0x1c, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x66, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x55, 0x73, 0x65, 0x64,
+ 0x53, 0x75, 0x62, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x75, 0x73, 0x65, 0x64, 0x53,
+ 0x75, 0x62, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x4d, 0x61, 0x70, 0x12, 0x5b, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x75,
+ 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46,
+ 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x1a, 0x4b, 0x0a, 0x1d, 0x55, 0x73, 0x65, 0x64, 0x53, 0x75, 0x62, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeCustomFurnitureInfoNotify_proto_rawDescOnce sync.Once
+ file_HomeCustomFurnitureInfoNotify_proto_rawDescData = file_HomeCustomFurnitureInfoNotify_proto_rawDesc
+)
+
+func file_HomeCustomFurnitureInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomeCustomFurnitureInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomeCustomFurnitureInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeCustomFurnitureInfoNotify_proto_rawDescData)
+ })
+ return file_HomeCustomFurnitureInfoNotify_proto_rawDescData
+}
+
+var file_HomeCustomFurnitureInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_HomeCustomFurnitureInfoNotify_proto_goTypes = []interface{}{
+ (*HomeCustomFurnitureInfoNotify)(nil), // 0: proto.HomeCustomFurnitureInfoNotify
+ nil, // 1: proto.HomeCustomFurnitureInfoNotify.UsedSubFurnitureCountMapEntry
+ (*HomeCustomFurnitureInfo)(nil), // 2: proto.HomeCustomFurnitureInfo
+}
+var file_HomeCustomFurnitureInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeCustomFurnitureInfoNotify.used_sub_furniture_count_map:type_name -> proto.HomeCustomFurnitureInfoNotify.UsedSubFurnitureCountMapEntry
+ 2, // 1: proto.HomeCustomFurnitureInfoNotify.custom_furniture_info_list:type_name -> proto.HomeCustomFurnitureInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeCustomFurnitureInfoNotify_proto_init() }
+func file_HomeCustomFurnitureInfoNotify_proto_init() {
+ if File_HomeCustomFurnitureInfoNotify_proto != nil {
+ return
+ }
+ file_HomeCustomFurnitureInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeCustomFurnitureInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeCustomFurnitureInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeCustomFurnitureInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeCustomFurnitureInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomeCustomFurnitureInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomeCustomFurnitureInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomeCustomFurnitureInfoNotify_proto = out.File
+ file_HomeCustomFurnitureInfoNotify_proto_rawDesc = nil
+ file_HomeCustomFurnitureInfoNotify_proto_goTypes = nil
+ file_HomeCustomFurnitureInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeDeleteBlueprintReq.pb.go b/protocol/proto/HomeDeleteBlueprintReq.pb.go
new file mode 100644
index 00000000..608d9858
--- /dev/null
+++ b/protocol/proto/HomeDeleteBlueprintReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeDeleteBlueprintReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4502
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeDeleteBlueprintReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlotId uint32 `protobuf:"varint,2,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+}
+
+func (x *HomeDeleteBlueprintReq) Reset() {
+ *x = HomeDeleteBlueprintReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeDeleteBlueprintReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeDeleteBlueprintReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeDeleteBlueprintReq) ProtoMessage() {}
+
+func (x *HomeDeleteBlueprintReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeDeleteBlueprintReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeDeleteBlueprintReq.ProtoReflect.Descriptor instead.
+func (*HomeDeleteBlueprintReq) Descriptor() ([]byte, []int) {
+ return file_HomeDeleteBlueprintReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeDeleteBlueprintReq) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+var File_HomeDeleteBlueprintReq_proto protoreflect.FileDescriptor
+
+var file_HomeDeleteBlueprintReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65,
+ 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeDeleteBlueprintReq_proto_rawDescOnce sync.Once
+ file_HomeDeleteBlueprintReq_proto_rawDescData = file_HomeDeleteBlueprintReq_proto_rawDesc
+)
+
+func file_HomeDeleteBlueprintReq_proto_rawDescGZIP() []byte {
+ file_HomeDeleteBlueprintReq_proto_rawDescOnce.Do(func() {
+ file_HomeDeleteBlueprintReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeDeleteBlueprintReq_proto_rawDescData)
+ })
+ return file_HomeDeleteBlueprintReq_proto_rawDescData
+}
+
+var file_HomeDeleteBlueprintReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeDeleteBlueprintReq_proto_goTypes = []interface{}{
+ (*HomeDeleteBlueprintReq)(nil), // 0: proto.HomeDeleteBlueprintReq
+}
+var file_HomeDeleteBlueprintReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeDeleteBlueprintReq_proto_init() }
+func file_HomeDeleteBlueprintReq_proto_init() {
+ if File_HomeDeleteBlueprintReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeDeleteBlueprintReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeDeleteBlueprintReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeDeleteBlueprintReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeDeleteBlueprintReq_proto_goTypes,
+ DependencyIndexes: file_HomeDeleteBlueprintReq_proto_depIdxs,
+ MessageInfos: file_HomeDeleteBlueprintReq_proto_msgTypes,
+ }.Build()
+ File_HomeDeleteBlueprintReq_proto = out.File
+ file_HomeDeleteBlueprintReq_proto_rawDesc = nil
+ file_HomeDeleteBlueprintReq_proto_goTypes = nil
+ file_HomeDeleteBlueprintReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeDeleteBlueprintRsp.pb.go b/protocol/proto/HomeDeleteBlueprintRsp.pb.go
new file mode 100644
index 00000000..6e0db937
--- /dev/null
+++ b/protocol/proto/HomeDeleteBlueprintRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeDeleteBlueprintRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4586
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeDeleteBlueprintRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlotId uint32 `protobuf:"varint,5,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeDeleteBlueprintRsp) Reset() {
+ *x = HomeDeleteBlueprintRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeDeleteBlueprintRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeDeleteBlueprintRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeDeleteBlueprintRsp) ProtoMessage() {}
+
+func (x *HomeDeleteBlueprintRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeDeleteBlueprintRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeDeleteBlueprintRsp.ProtoReflect.Descriptor instead.
+func (*HomeDeleteBlueprintRsp) Descriptor() ([]byte, []int) {
+ return file_HomeDeleteBlueprintRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeDeleteBlueprintRsp) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+func (x *HomeDeleteBlueprintRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeDeleteBlueprintRsp_proto protoreflect.FileDescriptor
+
+var file_HomeDeleteBlueprintRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65,
+ 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x12,
+ 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeDeleteBlueprintRsp_proto_rawDescOnce sync.Once
+ file_HomeDeleteBlueprintRsp_proto_rawDescData = file_HomeDeleteBlueprintRsp_proto_rawDesc
+)
+
+func file_HomeDeleteBlueprintRsp_proto_rawDescGZIP() []byte {
+ file_HomeDeleteBlueprintRsp_proto_rawDescOnce.Do(func() {
+ file_HomeDeleteBlueprintRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeDeleteBlueprintRsp_proto_rawDescData)
+ })
+ return file_HomeDeleteBlueprintRsp_proto_rawDescData
+}
+
+var file_HomeDeleteBlueprintRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeDeleteBlueprintRsp_proto_goTypes = []interface{}{
+ (*HomeDeleteBlueprintRsp)(nil), // 0: proto.HomeDeleteBlueprintRsp
+}
+var file_HomeDeleteBlueprintRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeDeleteBlueprintRsp_proto_init() }
+func file_HomeDeleteBlueprintRsp_proto_init() {
+ if File_HomeDeleteBlueprintRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeDeleteBlueprintRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeDeleteBlueprintRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeDeleteBlueprintRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeDeleteBlueprintRsp_proto_goTypes,
+ DependencyIndexes: file_HomeDeleteBlueprintRsp_proto_depIdxs,
+ MessageInfos: file_HomeDeleteBlueprintRsp_proto_msgTypes,
+ }.Build()
+ File_HomeDeleteBlueprintRsp_proto = out.File
+ file_HomeDeleteBlueprintRsp_proto_rawDesc = nil
+ file_HomeDeleteBlueprintRsp_proto_goTypes = nil
+ file_HomeDeleteBlueprintRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeEditCustomFurnitureReq.pb.go b/protocol/proto/HomeEditCustomFurnitureReq.pb.go
new file mode 100644
index 00000000..f4f59300
--- /dev/null
+++ b/protocol/proto/HomeEditCustomFurnitureReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeEditCustomFurnitureReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4724
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeEditCustomFurnitureReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CustomFurnitureInfo *HomeCustomFurnitureInfo `protobuf:"bytes,15,opt,name=custom_furniture_info,json=customFurnitureInfo,proto3" json:"custom_furniture_info,omitempty"`
+}
+
+func (x *HomeEditCustomFurnitureReq) Reset() {
+ *x = HomeEditCustomFurnitureReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeEditCustomFurnitureReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeEditCustomFurnitureReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeEditCustomFurnitureReq) ProtoMessage() {}
+
+func (x *HomeEditCustomFurnitureReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeEditCustomFurnitureReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeEditCustomFurnitureReq.ProtoReflect.Descriptor instead.
+func (*HomeEditCustomFurnitureReq) Descriptor() ([]byte, []int) {
+ return file_HomeEditCustomFurnitureReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeEditCustomFurnitureReq) GetCustomFurnitureInfo() *HomeCustomFurnitureInfo {
+ if x != nil {
+ return x.CustomFurnitureInfo
+ }
+ return nil
+}
+
+var File_HomeEditCustomFurnitureReq_proto protoreflect.FileDescriptor
+
+var file_HomeEditCustomFurnitureReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x64, 0x69, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65,
+ 0x45, 0x64, 0x69, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x52, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeEditCustomFurnitureReq_proto_rawDescOnce sync.Once
+ file_HomeEditCustomFurnitureReq_proto_rawDescData = file_HomeEditCustomFurnitureReq_proto_rawDesc
+)
+
+func file_HomeEditCustomFurnitureReq_proto_rawDescGZIP() []byte {
+ file_HomeEditCustomFurnitureReq_proto_rawDescOnce.Do(func() {
+ file_HomeEditCustomFurnitureReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeEditCustomFurnitureReq_proto_rawDescData)
+ })
+ return file_HomeEditCustomFurnitureReq_proto_rawDescData
+}
+
+var file_HomeEditCustomFurnitureReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeEditCustomFurnitureReq_proto_goTypes = []interface{}{
+ (*HomeEditCustomFurnitureReq)(nil), // 0: proto.HomeEditCustomFurnitureReq
+ (*HomeCustomFurnitureInfo)(nil), // 1: proto.HomeCustomFurnitureInfo
+}
+var file_HomeEditCustomFurnitureReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeEditCustomFurnitureReq.custom_furniture_info:type_name -> proto.HomeCustomFurnitureInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeEditCustomFurnitureReq_proto_init() }
+func file_HomeEditCustomFurnitureReq_proto_init() {
+ if File_HomeEditCustomFurnitureReq_proto != nil {
+ return
+ }
+ file_HomeCustomFurnitureInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeEditCustomFurnitureReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeEditCustomFurnitureReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeEditCustomFurnitureReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeEditCustomFurnitureReq_proto_goTypes,
+ DependencyIndexes: file_HomeEditCustomFurnitureReq_proto_depIdxs,
+ MessageInfos: file_HomeEditCustomFurnitureReq_proto_msgTypes,
+ }.Build()
+ File_HomeEditCustomFurnitureReq_proto = out.File
+ file_HomeEditCustomFurnitureReq_proto_rawDesc = nil
+ file_HomeEditCustomFurnitureReq_proto_goTypes = nil
+ file_HomeEditCustomFurnitureReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeEditCustomFurnitureRsp.pb.go b/protocol/proto/HomeEditCustomFurnitureRsp.pb.go
new file mode 100644
index 00000000..07ee3f68
--- /dev/null
+++ b/protocol/proto/HomeEditCustomFurnitureRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeEditCustomFurnitureRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4496
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeEditCustomFurnitureRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CustomFurnitureInfo *HomeCustomFurnitureInfo `protobuf:"bytes,11,opt,name=custom_furniture_info,json=customFurnitureInfo,proto3" json:"custom_furniture_info,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeEditCustomFurnitureRsp) Reset() {
+ *x = HomeEditCustomFurnitureRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeEditCustomFurnitureRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeEditCustomFurnitureRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeEditCustomFurnitureRsp) ProtoMessage() {}
+
+func (x *HomeEditCustomFurnitureRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeEditCustomFurnitureRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeEditCustomFurnitureRsp.ProtoReflect.Descriptor instead.
+func (*HomeEditCustomFurnitureRsp) Descriptor() ([]byte, []int) {
+ return file_HomeEditCustomFurnitureRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeEditCustomFurnitureRsp) GetCustomFurnitureInfo() *HomeCustomFurnitureInfo {
+ if x != nil {
+ return x.CustomFurnitureInfo
+ }
+ return nil
+}
+
+func (x *HomeEditCustomFurnitureRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeEditCustomFurnitureRsp_proto protoreflect.FileDescriptor
+
+var file_HomeEditCustomFurnitureRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x64, 0x69, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x48, 0x6f, 0x6d,
+ 0x65, 0x45, 0x64, 0x69, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x52, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
+ 0x6f, 0x6d, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x75,
+ 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeEditCustomFurnitureRsp_proto_rawDescOnce sync.Once
+ file_HomeEditCustomFurnitureRsp_proto_rawDescData = file_HomeEditCustomFurnitureRsp_proto_rawDesc
+)
+
+func file_HomeEditCustomFurnitureRsp_proto_rawDescGZIP() []byte {
+ file_HomeEditCustomFurnitureRsp_proto_rawDescOnce.Do(func() {
+ file_HomeEditCustomFurnitureRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeEditCustomFurnitureRsp_proto_rawDescData)
+ })
+ return file_HomeEditCustomFurnitureRsp_proto_rawDescData
+}
+
+var file_HomeEditCustomFurnitureRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeEditCustomFurnitureRsp_proto_goTypes = []interface{}{
+ (*HomeEditCustomFurnitureRsp)(nil), // 0: proto.HomeEditCustomFurnitureRsp
+ (*HomeCustomFurnitureInfo)(nil), // 1: proto.HomeCustomFurnitureInfo
+}
+var file_HomeEditCustomFurnitureRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeEditCustomFurnitureRsp.custom_furniture_info:type_name -> proto.HomeCustomFurnitureInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeEditCustomFurnitureRsp_proto_init() }
+func file_HomeEditCustomFurnitureRsp_proto_init() {
+ if File_HomeEditCustomFurnitureRsp_proto != nil {
+ return
+ }
+ file_HomeCustomFurnitureInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeEditCustomFurnitureRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeEditCustomFurnitureRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeEditCustomFurnitureRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeEditCustomFurnitureRsp_proto_goTypes,
+ DependencyIndexes: file_HomeEditCustomFurnitureRsp_proto_depIdxs,
+ MessageInfos: file_HomeEditCustomFurnitureRsp_proto_msgTypes,
+ }.Build()
+ File_HomeEditCustomFurnitureRsp_proto = out.File
+ file_HomeEditCustomFurnitureRsp_proto_rawDesc = nil
+ file_HomeEditCustomFurnitureRsp_proto_goTypes = nil
+ file_HomeEditCustomFurnitureRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeEnterEditModeFinishReq.pb.go b/protocol/proto/HomeEnterEditModeFinishReq.pb.go
new file mode 100644
index 00000000..7a5dcae8
--- /dev/null
+++ b/protocol/proto/HomeEnterEditModeFinishReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeEnterEditModeFinishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4537
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeEnterEditModeFinishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeEnterEditModeFinishReq) Reset() {
+ *x = HomeEnterEditModeFinishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeEnterEditModeFinishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeEnterEditModeFinishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeEnterEditModeFinishReq) ProtoMessage() {}
+
+func (x *HomeEnterEditModeFinishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeEnterEditModeFinishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeEnterEditModeFinishReq.ProtoReflect.Descriptor instead.
+func (*HomeEnterEditModeFinishReq) Descriptor() ([]byte, []int) {
+ return file_HomeEnterEditModeFinishReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeEnterEditModeFinishReq_proto protoreflect.FileDescriptor
+
+var file_HomeEnterEditModeFinishReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x64, 0x69, 0x74, 0x4d,
+ 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x48, 0x6f, 0x6d,
+ 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeEnterEditModeFinishReq_proto_rawDescOnce sync.Once
+ file_HomeEnterEditModeFinishReq_proto_rawDescData = file_HomeEnterEditModeFinishReq_proto_rawDesc
+)
+
+func file_HomeEnterEditModeFinishReq_proto_rawDescGZIP() []byte {
+ file_HomeEnterEditModeFinishReq_proto_rawDescOnce.Do(func() {
+ file_HomeEnterEditModeFinishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeEnterEditModeFinishReq_proto_rawDescData)
+ })
+ return file_HomeEnterEditModeFinishReq_proto_rawDescData
+}
+
+var file_HomeEnterEditModeFinishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeEnterEditModeFinishReq_proto_goTypes = []interface{}{
+ (*HomeEnterEditModeFinishReq)(nil), // 0: proto.HomeEnterEditModeFinishReq
+}
+var file_HomeEnterEditModeFinishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeEnterEditModeFinishReq_proto_init() }
+func file_HomeEnterEditModeFinishReq_proto_init() {
+ if File_HomeEnterEditModeFinishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeEnterEditModeFinishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeEnterEditModeFinishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeEnterEditModeFinishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeEnterEditModeFinishReq_proto_goTypes,
+ DependencyIndexes: file_HomeEnterEditModeFinishReq_proto_depIdxs,
+ MessageInfos: file_HomeEnterEditModeFinishReq_proto_msgTypes,
+ }.Build()
+ File_HomeEnterEditModeFinishReq_proto = out.File
+ file_HomeEnterEditModeFinishReq_proto_rawDesc = nil
+ file_HomeEnterEditModeFinishReq_proto_goTypes = nil
+ file_HomeEnterEditModeFinishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeEnterEditModeFinishRsp.pb.go b/protocol/proto/HomeEnterEditModeFinishRsp.pb.go
new file mode 100644
index 00000000..02a9a960
--- /dev/null
+++ b/protocol/proto/HomeEnterEditModeFinishRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeEnterEditModeFinishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4615
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeEnterEditModeFinishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeEnterEditModeFinishRsp) Reset() {
+ *x = HomeEnterEditModeFinishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeEnterEditModeFinishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeEnterEditModeFinishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeEnterEditModeFinishRsp) ProtoMessage() {}
+
+func (x *HomeEnterEditModeFinishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeEnterEditModeFinishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeEnterEditModeFinishRsp.ProtoReflect.Descriptor instead.
+func (*HomeEnterEditModeFinishRsp) Descriptor() ([]byte, []int) {
+ return file_HomeEnterEditModeFinishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeEnterEditModeFinishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeEnterEditModeFinishRsp_proto protoreflect.FileDescriptor
+
+var file_HomeEnterEditModeFinishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x64, 0x69, 0x74, 0x4d,
+ 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x48, 0x6f, 0x6d,
+ 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeEnterEditModeFinishRsp_proto_rawDescOnce sync.Once
+ file_HomeEnterEditModeFinishRsp_proto_rawDescData = file_HomeEnterEditModeFinishRsp_proto_rawDesc
+)
+
+func file_HomeEnterEditModeFinishRsp_proto_rawDescGZIP() []byte {
+ file_HomeEnterEditModeFinishRsp_proto_rawDescOnce.Do(func() {
+ file_HomeEnterEditModeFinishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeEnterEditModeFinishRsp_proto_rawDescData)
+ })
+ return file_HomeEnterEditModeFinishRsp_proto_rawDescData
+}
+
+var file_HomeEnterEditModeFinishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeEnterEditModeFinishRsp_proto_goTypes = []interface{}{
+ (*HomeEnterEditModeFinishRsp)(nil), // 0: proto.HomeEnterEditModeFinishRsp
+}
+var file_HomeEnterEditModeFinishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeEnterEditModeFinishRsp_proto_init() }
+func file_HomeEnterEditModeFinishRsp_proto_init() {
+ if File_HomeEnterEditModeFinishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeEnterEditModeFinishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeEnterEditModeFinishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeEnterEditModeFinishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeEnterEditModeFinishRsp_proto_goTypes,
+ DependencyIndexes: file_HomeEnterEditModeFinishRsp_proto_depIdxs,
+ MessageInfos: file_HomeEnterEditModeFinishRsp_proto_msgTypes,
+ }.Build()
+ File_HomeEnterEditModeFinishRsp_proto = out.File
+ file_HomeEnterEditModeFinishRsp_proto_rawDesc = nil
+ file_HomeEnterEditModeFinishRsp_proto_goTypes = nil
+ file_HomeEnterEditModeFinishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeExchangeWoodReq.pb.go b/protocol/proto/HomeExchangeWoodReq.pb.go
new file mode 100644
index 00000000..c4f7dcea
--- /dev/null
+++ b/protocol/proto/HomeExchangeWoodReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeExchangeWoodReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4576
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeExchangeWoodReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaterialCountMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=material_count_map,json=materialCountMap,proto3" json:"material_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ WoodId uint32 `protobuf:"varint,12,opt,name=wood_id,json=woodId,proto3" json:"wood_id,omitempty"`
+}
+
+func (x *HomeExchangeWoodReq) Reset() {
+ *x = HomeExchangeWoodReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeExchangeWoodReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeExchangeWoodReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeExchangeWoodReq) ProtoMessage() {}
+
+func (x *HomeExchangeWoodReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeExchangeWoodReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeExchangeWoodReq.ProtoReflect.Descriptor instead.
+func (*HomeExchangeWoodReq) Descriptor() ([]byte, []int) {
+ return file_HomeExchangeWoodReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeExchangeWoodReq) GetMaterialCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.MaterialCountMap
+ }
+ return nil
+}
+
+func (x *HomeExchangeWoodReq) GetWoodId() uint32 {
+ if x != nil {
+ return x.WoodId
+ }
+ return 0
+}
+
+var File_HomeExchangeWoodReq_proto protoreflect.FileDescriptor
+
+var file_HomeExchangeWoodReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f,
+ 0x6f, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xd3, 0x01, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x12, 0x5e, 0x0a, 0x12, 0x6d, 0x61,
+ 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
+ 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x6f, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x6f,
+ 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x6f, 0x6f,
+ 0x64, 0x49, 0x64, 0x1a, 0x43, 0x0a, 0x15, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeExchangeWoodReq_proto_rawDescOnce sync.Once
+ file_HomeExchangeWoodReq_proto_rawDescData = file_HomeExchangeWoodReq_proto_rawDesc
+)
+
+func file_HomeExchangeWoodReq_proto_rawDescGZIP() []byte {
+ file_HomeExchangeWoodReq_proto_rawDescOnce.Do(func() {
+ file_HomeExchangeWoodReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeExchangeWoodReq_proto_rawDescData)
+ })
+ return file_HomeExchangeWoodReq_proto_rawDescData
+}
+
+var file_HomeExchangeWoodReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_HomeExchangeWoodReq_proto_goTypes = []interface{}{
+ (*HomeExchangeWoodReq)(nil), // 0: proto.HomeExchangeWoodReq
+ nil, // 1: proto.HomeExchangeWoodReq.MaterialCountMapEntry
+}
+var file_HomeExchangeWoodReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeExchangeWoodReq.material_count_map:type_name -> proto.HomeExchangeWoodReq.MaterialCountMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeExchangeWoodReq_proto_init() }
+func file_HomeExchangeWoodReq_proto_init() {
+ if File_HomeExchangeWoodReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeExchangeWoodReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeExchangeWoodReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeExchangeWoodReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeExchangeWoodReq_proto_goTypes,
+ DependencyIndexes: file_HomeExchangeWoodReq_proto_depIdxs,
+ MessageInfos: file_HomeExchangeWoodReq_proto_msgTypes,
+ }.Build()
+ File_HomeExchangeWoodReq_proto = out.File
+ file_HomeExchangeWoodReq_proto_rawDesc = nil
+ file_HomeExchangeWoodReq_proto_goTypes = nil
+ file_HomeExchangeWoodReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeExchangeWoodRsp.pb.go b/protocol/proto/HomeExchangeWoodRsp.pb.go
new file mode 100644
index 00000000..d791cabc
--- /dev/null
+++ b/protocol/proto/HomeExchangeWoodRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeExchangeWoodRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4622
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeExchangeWoodRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ WoodId uint32 `protobuf:"varint,1,opt,name=wood_id,json=woodId,proto3" json:"wood_id,omitempty"`
+ WoodCount uint32 `protobuf:"varint,3,opt,name=wood_count,json=woodCount,proto3" json:"wood_count,omitempty"`
+ ExchangedCount uint32 `protobuf:"varint,2,opt,name=exchanged_count,json=exchangedCount,proto3" json:"exchanged_count,omitempty"`
+}
+
+func (x *HomeExchangeWoodRsp) Reset() {
+ *x = HomeExchangeWoodRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeExchangeWoodRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeExchangeWoodRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeExchangeWoodRsp) ProtoMessage() {}
+
+func (x *HomeExchangeWoodRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeExchangeWoodRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeExchangeWoodRsp.ProtoReflect.Descriptor instead.
+func (*HomeExchangeWoodRsp) Descriptor() ([]byte, []int) {
+ return file_HomeExchangeWoodRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeExchangeWoodRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeExchangeWoodRsp) GetWoodId() uint32 {
+ if x != nil {
+ return x.WoodId
+ }
+ return 0
+}
+
+func (x *HomeExchangeWoodRsp) GetWoodCount() uint32 {
+ if x != nil {
+ return x.WoodCount
+ }
+ return 0
+}
+
+func (x *HomeExchangeWoodRsp) GetExchangedCount() uint32 {
+ if x != nil {
+ return x.ExchangedCount
+ }
+ return 0
+}
+
+var File_HomeExchangeWoodRsp_proto protoreflect.FileDescriptor
+
+var file_HomeExchangeWoodRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x57, 0x6f,
+ 0x6f, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x45, 0x78, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x57, 0x6f, 0x6f, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x6f, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x6f, 0x6f, 0x64, 0x49, 0x64, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x77, 0x6f, 0x6f, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x77, 0x6f, 0x6f, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f,
+ 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeExchangeWoodRsp_proto_rawDescOnce sync.Once
+ file_HomeExchangeWoodRsp_proto_rawDescData = file_HomeExchangeWoodRsp_proto_rawDesc
+)
+
+func file_HomeExchangeWoodRsp_proto_rawDescGZIP() []byte {
+ file_HomeExchangeWoodRsp_proto_rawDescOnce.Do(func() {
+ file_HomeExchangeWoodRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeExchangeWoodRsp_proto_rawDescData)
+ })
+ return file_HomeExchangeWoodRsp_proto_rawDescData
+}
+
+var file_HomeExchangeWoodRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeExchangeWoodRsp_proto_goTypes = []interface{}{
+ (*HomeExchangeWoodRsp)(nil), // 0: proto.HomeExchangeWoodRsp
+}
+var file_HomeExchangeWoodRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeExchangeWoodRsp_proto_init() }
+func file_HomeExchangeWoodRsp_proto_init() {
+ if File_HomeExchangeWoodRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeExchangeWoodRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeExchangeWoodRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeExchangeWoodRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeExchangeWoodRsp_proto_goTypes,
+ DependencyIndexes: file_HomeExchangeWoodRsp_proto_depIdxs,
+ MessageInfos: file_HomeExchangeWoodRsp_proto_msgTypes,
+ }.Build()
+ File_HomeExchangeWoodRsp_proto = out.File
+ file_HomeExchangeWoodRsp_proto_rawDesc = nil
+ file_HomeExchangeWoodRsp_proto_goTypes = nil
+ file_HomeExchangeWoodRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeFishFarmingInfo.pb.go b/protocol/proto/HomeFishFarmingInfo.pb.go
new file mode 100644
index 00000000..544131df
--- /dev/null
+++ b/protocol/proto/HomeFishFarmingInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeFishFarmingInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeFishFarmingInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishIdList []uint32 `protobuf:"varint,11,rep,packed,name=fish_id_list,json=fishIdList,proto3" json:"fish_id_list,omitempty"`
+ FishpondGuid uint32 `protobuf:"varint,14,opt,name=fishpond_guid,json=fishpondGuid,proto3" json:"fishpond_guid,omitempty"`
+}
+
+func (x *HomeFishFarmingInfo) Reset() {
+ *x = HomeFishFarmingInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeFishFarmingInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeFishFarmingInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeFishFarmingInfo) ProtoMessage() {}
+
+func (x *HomeFishFarmingInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeFishFarmingInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeFishFarmingInfo.ProtoReflect.Descriptor instead.
+func (*HomeFishFarmingInfo) Descriptor() ([]byte, []int) {
+ return file_HomeFishFarmingInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeFishFarmingInfo) GetFishIdList() []uint32 {
+ if x != nil {
+ return x.FishIdList
+ }
+ return nil
+}
+
+func (x *HomeFishFarmingInfo) GetFishpondGuid() uint32 {
+ if x != nil {
+ return x.FishpondGuid
+ }
+ return 0
+}
+
+var File_HomeFishFarmingInfo_proto protoreflect.FileDescriptor
+
+var file_HomeFishFarmingInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e,
+ 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61,
+ 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x69, 0x73,
+ 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0a, 0x66, 0x69, 0x73, 0x68, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66,
+ 0x69, 0x73, 0x68, 0x70, 0x6f, 0x6e, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x69, 0x73, 0x68, 0x70, 0x6f, 0x6e, 0x64, 0x47, 0x75, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeFishFarmingInfo_proto_rawDescOnce sync.Once
+ file_HomeFishFarmingInfo_proto_rawDescData = file_HomeFishFarmingInfo_proto_rawDesc
+)
+
+func file_HomeFishFarmingInfo_proto_rawDescGZIP() []byte {
+ file_HomeFishFarmingInfo_proto_rawDescOnce.Do(func() {
+ file_HomeFishFarmingInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeFishFarmingInfo_proto_rawDescData)
+ })
+ return file_HomeFishFarmingInfo_proto_rawDescData
+}
+
+var file_HomeFishFarmingInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeFishFarmingInfo_proto_goTypes = []interface{}{
+ (*HomeFishFarmingInfo)(nil), // 0: proto.HomeFishFarmingInfo
+}
+var file_HomeFishFarmingInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeFishFarmingInfo_proto_init() }
+func file_HomeFishFarmingInfo_proto_init() {
+ if File_HomeFishFarmingInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeFishFarmingInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeFishFarmingInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeFishFarmingInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeFishFarmingInfo_proto_goTypes,
+ DependencyIndexes: file_HomeFishFarmingInfo_proto_depIdxs,
+ MessageInfos: file_HomeFishFarmingInfo_proto_msgTypes,
+ }.Build()
+ File_HomeFishFarmingInfo_proto = out.File
+ file_HomeFishFarmingInfo_proto_rawDesc = nil
+ file_HomeFishFarmingInfo_proto_goTypes = nil
+ file_HomeFishFarmingInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeFishFarmingInfoNotify.pb.go b/protocol/proto/HomeFishFarmingInfoNotify.pb.go
new file mode 100644
index 00000000..ff172d1e
--- /dev/null
+++ b/protocol/proto/HomeFishFarmingInfoNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeFishFarmingInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4677
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeFishFarmingInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishFarmingInfoList []*HomeFishFarmingInfo `protobuf:"bytes,15,rep,name=fish_farming_info_list,json=fishFarmingInfoList,proto3" json:"fish_farming_info_list,omitempty"`
+}
+
+func (x *HomeFishFarmingInfoNotify) Reset() {
+ *x = HomeFishFarmingInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeFishFarmingInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeFishFarmingInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeFishFarmingInfoNotify) ProtoMessage() {}
+
+func (x *HomeFishFarmingInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeFishFarmingInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeFishFarmingInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomeFishFarmingInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomeFishFarmingInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeFishFarmingInfoNotify) GetFishFarmingInfoList() []*HomeFishFarmingInfo {
+ if x != nil {
+ return x.FishFarmingInfoList
+ }
+ return nil
+}
+
+var File_HomeFishFarmingInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomeFishFarmingInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e,
+ 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69,
+ 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69, 0x73, 0x68, 0x46,
+ 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x4f, 0x0a, 0x16, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69, 0x73,
+ 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x66, 0x69,
+ 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeFishFarmingInfoNotify_proto_rawDescOnce sync.Once
+ file_HomeFishFarmingInfoNotify_proto_rawDescData = file_HomeFishFarmingInfoNotify_proto_rawDesc
+)
+
+func file_HomeFishFarmingInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomeFishFarmingInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomeFishFarmingInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeFishFarmingInfoNotify_proto_rawDescData)
+ })
+ return file_HomeFishFarmingInfoNotify_proto_rawDescData
+}
+
+var file_HomeFishFarmingInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeFishFarmingInfoNotify_proto_goTypes = []interface{}{
+ (*HomeFishFarmingInfoNotify)(nil), // 0: proto.HomeFishFarmingInfoNotify
+ (*HomeFishFarmingInfo)(nil), // 1: proto.HomeFishFarmingInfo
+}
+var file_HomeFishFarmingInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeFishFarmingInfoNotify.fish_farming_info_list:type_name -> proto.HomeFishFarmingInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeFishFarmingInfoNotify_proto_init() }
+func file_HomeFishFarmingInfoNotify_proto_init() {
+ if File_HomeFishFarmingInfoNotify_proto != nil {
+ return
+ }
+ file_HomeFishFarmingInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeFishFarmingInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeFishFarmingInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeFishFarmingInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeFishFarmingInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomeFishFarmingInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomeFishFarmingInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomeFishFarmingInfoNotify_proto = out.File
+ file_HomeFishFarmingInfoNotify_proto_rawDesc = nil
+ file_HomeFishFarmingInfoNotify_proto_goTypes = nil
+ file_HomeFishFarmingInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeFurnitureArrangementMuipData.pb.go b/protocol/proto/HomeFurnitureArrangementMuipData.pb.go
new file mode 100644
index 00000000..3e6706a9
--- /dev/null
+++ b/protocol/proto/HomeFurnitureArrangementMuipData.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeFurnitureArrangementMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeFurnitureArrangementMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureId uint32 `protobuf:"varint,1,opt,name=furniture_id,json=furnitureId,proto3" json:"furniture_id,omitempty"`
+ SpawnPos *Vector `protobuf:"bytes,2,opt,name=spawn_pos,json=spawnPos,proto3" json:"spawn_pos,omitempty"`
+ SpawnRot *Vector `protobuf:"bytes,3,opt,name=spawn_rot,json=spawnRot,proto3" json:"spawn_rot,omitempty"`
+}
+
+func (x *HomeFurnitureArrangementMuipData) Reset() {
+ *x = HomeFurnitureArrangementMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeFurnitureArrangementMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeFurnitureArrangementMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeFurnitureArrangementMuipData) ProtoMessage() {}
+
+func (x *HomeFurnitureArrangementMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeFurnitureArrangementMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeFurnitureArrangementMuipData.ProtoReflect.Descriptor instead.
+func (*HomeFurnitureArrangementMuipData) Descriptor() ([]byte, []int) {
+ return file_HomeFurnitureArrangementMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeFurnitureArrangementMuipData) GetFurnitureId() uint32 {
+ if x != nil {
+ return x.FurnitureId
+ }
+ return 0
+}
+
+func (x *HomeFurnitureArrangementMuipData) GetSpawnPos() *Vector {
+ if x != nil {
+ return x.SpawnPos
+ }
+ return nil
+}
+
+func (x *HomeFurnitureArrangementMuipData) GetSpawnRot() *Vector {
+ if x != nil {
+ return x.SpawnRot
+ }
+ return nil
+}
+
+var File_HomeFurnitureArrangementMuipData_proto protoreflect.FileDescriptor
+
+var file_HomeFurnitureArrangementMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x41,
+ 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01,
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x41,
+ 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x50, 0x6f,
+ 0x73, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x52, 0x6f, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeFurnitureArrangementMuipData_proto_rawDescOnce sync.Once
+ file_HomeFurnitureArrangementMuipData_proto_rawDescData = file_HomeFurnitureArrangementMuipData_proto_rawDesc
+)
+
+func file_HomeFurnitureArrangementMuipData_proto_rawDescGZIP() []byte {
+ file_HomeFurnitureArrangementMuipData_proto_rawDescOnce.Do(func() {
+ file_HomeFurnitureArrangementMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeFurnitureArrangementMuipData_proto_rawDescData)
+ })
+ return file_HomeFurnitureArrangementMuipData_proto_rawDescData
+}
+
+var file_HomeFurnitureArrangementMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeFurnitureArrangementMuipData_proto_goTypes = []interface{}{
+ (*HomeFurnitureArrangementMuipData)(nil), // 0: proto.HomeFurnitureArrangementMuipData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeFurnitureArrangementMuipData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeFurnitureArrangementMuipData.spawn_pos:type_name -> proto.Vector
+ 1, // 1: proto.HomeFurnitureArrangementMuipData.spawn_rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeFurnitureArrangementMuipData_proto_init() }
+func file_HomeFurnitureArrangementMuipData_proto_init() {
+ if File_HomeFurnitureArrangementMuipData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeFurnitureArrangementMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeFurnitureArrangementMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeFurnitureArrangementMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeFurnitureArrangementMuipData_proto_goTypes,
+ DependencyIndexes: file_HomeFurnitureArrangementMuipData_proto_depIdxs,
+ MessageInfos: file_HomeFurnitureArrangementMuipData_proto_msgTypes,
+ }.Build()
+ File_HomeFurnitureArrangementMuipData_proto = out.File
+ file_HomeFurnitureArrangementMuipData_proto_rawDesc = nil
+ file_HomeFurnitureArrangementMuipData_proto_goTypes = nil
+ file_HomeFurnitureArrangementMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeFurnitureCustomSuiteData.pb.go b/protocol/proto/HomeFurnitureCustomSuiteData.pb.go
new file mode 100644
index 00000000..8a41ec45
--- /dev/null
+++ b/protocol/proto/HomeFurnitureCustomSuiteData.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeFurnitureCustomSuiteData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeFurnitureCustomSuiteData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint32 `protobuf:"varint,11,opt,name=guid,proto3" json:"guid,omitempty"`
+ SpawnPos *Vector `protobuf:"bytes,14,opt,name=spawn_pos,json=spawnPos,proto3" json:"spawn_pos,omitempty"`
+ IncludedFurnitureIndexList []int32 `protobuf:"varint,12,rep,packed,name=included_furniture_index_list,json=includedFurnitureIndexList,proto3" json:"included_furniture_index_list,omitempty"`
+}
+
+func (x *HomeFurnitureCustomSuiteData) Reset() {
+ *x = HomeFurnitureCustomSuiteData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeFurnitureCustomSuiteData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeFurnitureCustomSuiteData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeFurnitureCustomSuiteData) ProtoMessage() {}
+
+func (x *HomeFurnitureCustomSuiteData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeFurnitureCustomSuiteData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeFurnitureCustomSuiteData.ProtoReflect.Descriptor instead.
+func (*HomeFurnitureCustomSuiteData) Descriptor() ([]byte, []int) {
+ return file_HomeFurnitureCustomSuiteData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeFurnitureCustomSuiteData) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeFurnitureCustomSuiteData) GetSpawnPos() *Vector {
+ if x != nil {
+ return x.SpawnPos
+ }
+ return nil
+}
+
+func (x *HomeFurnitureCustomSuiteData) GetIncludedFurnitureIndexList() []int32 {
+ if x != nil {
+ return x.IncludedFurnitureIndexList
+ }
+ return nil
+}
+
+var File_HomeFurnitureCustomSuiteData_proto protoreflect.FileDescriptor
+
+var file_HomeFurnitureCustomSuiteData_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x1c, 0x48, 0x6f,
+ 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75,
+ 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2a,
+ 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28,
+ 0x05, 0x52, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeFurnitureCustomSuiteData_proto_rawDescOnce sync.Once
+ file_HomeFurnitureCustomSuiteData_proto_rawDescData = file_HomeFurnitureCustomSuiteData_proto_rawDesc
+)
+
+func file_HomeFurnitureCustomSuiteData_proto_rawDescGZIP() []byte {
+ file_HomeFurnitureCustomSuiteData_proto_rawDescOnce.Do(func() {
+ file_HomeFurnitureCustomSuiteData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeFurnitureCustomSuiteData_proto_rawDescData)
+ })
+ return file_HomeFurnitureCustomSuiteData_proto_rawDescData
+}
+
+var file_HomeFurnitureCustomSuiteData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeFurnitureCustomSuiteData_proto_goTypes = []interface{}{
+ (*HomeFurnitureCustomSuiteData)(nil), // 0: proto.HomeFurnitureCustomSuiteData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeFurnitureCustomSuiteData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeFurnitureCustomSuiteData.spawn_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeFurnitureCustomSuiteData_proto_init() }
+func file_HomeFurnitureCustomSuiteData_proto_init() {
+ if File_HomeFurnitureCustomSuiteData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeFurnitureCustomSuiteData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeFurnitureCustomSuiteData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeFurnitureCustomSuiteData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeFurnitureCustomSuiteData_proto_goTypes,
+ DependencyIndexes: file_HomeFurnitureCustomSuiteData_proto_depIdxs,
+ MessageInfos: file_HomeFurnitureCustomSuiteData_proto_msgTypes,
+ }.Build()
+ File_HomeFurnitureCustomSuiteData_proto = out.File
+ file_HomeFurnitureCustomSuiteData_proto_rawDesc = nil
+ file_HomeFurnitureCustomSuiteData_proto_goTypes = nil
+ file_HomeFurnitureCustomSuiteData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeFurnitureData.pb.go b/protocol/proto/HomeFurnitureData.pb.go
new file mode 100644
index 00000000..4de92975
--- /dev/null
+++ b/protocol/proto/HomeFurnitureData.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeFurnitureData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeFurnitureData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Version uint32 `protobuf:"varint,6,opt,name=version,proto3" json:"version,omitempty"`
+ ParentFurnitureIndex int32 `protobuf:"varint,3,opt,name=parent_furniture_index,json=parentFurnitureIndex,proto3" json:"parent_furniture_index,omitempty"`
+ FurnitureId uint32 `protobuf:"varint,4,opt,name=furniture_id,json=furnitureId,proto3" json:"furniture_id,omitempty"`
+ Guid uint32 `protobuf:"varint,9,opt,name=guid,proto3" json:"guid,omitempty"`
+ SpawnRot *Vector `protobuf:"bytes,10,opt,name=spawn_rot,json=spawnRot,proto3" json:"spawn_rot,omitempty"`
+ SpawnPos *Vector `protobuf:"bytes,8,opt,name=spawn_pos,json=spawnPos,proto3" json:"spawn_pos,omitempty"`
+}
+
+func (x *HomeFurnitureData) Reset() {
+ *x = HomeFurnitureData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeFurnitureData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeFurnitureData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeFurnitureData) ProtoMessage() {}
+
+func (x *HomeFurnitureData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeFurnitureData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeFurnitureData.ProtoReflect.Descriptor instead.
+func (*HomeFurnitureData) Descriptor() ([]byte, []int) {
+ return file_HomeFurnitureData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeFurnitureData) GetVersion() uint32 {
+ if x != nil {
+ return x.Version
+ }
+ return 0
+}
+
+func (x *HomeFurnitureData) GetParentFurnitureIndex() int32 {
+ if x != nil {
+ return x.ParentFurnitureIndex
+ }
+ return 0
+}
+
+func (x *HomeFurnitureData) GetFurnitureId() uint32 {
+ if x != nil {
+ return x.FurnitureId
+ }
+ return 0
+}
+
+func (x *HomeFurnitureData) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeFurnitureData) GetSpawnRot() *Vector {
+ if x != nil {
+ return x.SpawnRot
+ }
+ return nil
+}
+
+func (x *HomeFurnitureData) GetSpawnPos() *Vector {
+ if x != nil {
+ return x.SpawnPos
+ }
+ return nil
+}
+
+var File_HomeFurnitureData_proto protoreflect.FileDescriptor
+
+var file_HomeFurnitureData_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf2,
+ 0x01, 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34,
+ 0x0a, 0x16, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x73,
+ 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73,
+ 0x70, 0x61, 0x77, 0x6e, 0x52, 0x6f, 0x74, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e,
+ 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e,
+ 0x50, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeFurnitureData_proto_rawDescOnce sync.Once
+ file_HomeFurnitureData_proto_rawDescData = file_HomeFurnitureData_proto_rawDesc
+)
+
+func file_HomeFurnitureData_proto_rawDescGZIP() []byte {
+ file_HomeFurnitureData_proto_rawDescOnce.Do(func() {
+ file_HomeFurnitureData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeFurnitureData_proto_rawDescData)
+ })
+ return file_HomeFurnitureData_proto_rawDescData
+}
+
+var file_HomeFurnitureData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeFurnitureData_proto_goTypes = []interface{}{
+ (*HomeFurnitureData)(nil), // 0: proto.HomeFurnitureData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeFurnitureData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeFurnitureData.spawn_rot:type_name -> proto.Vector
+ 1, // 1: proto.HomeFurnitureData.spawn_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeFurnitureData_proto_init() }
+func file_HomeFurnitureData_proto_init() {
+ if File_HomeFurnitureData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeFurnitureData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeFurnitureData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeFurnitureData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeFurnitureData_proto_goTypes,
+ DependencyIndexes: file_HomeFurnitureData_proto_depIdxs,
+ MessageInfos: file_HomeFurnitureData_proto_msgTypes,
+ }.Build()
+ File_HomeFurnitureData_proto = out.File
+ file_HomeFurnitureData_proto_rawDesc = nil
+ file_HomeFurnitureData_proto_goTypes = nil
+ file_HomeFurnitureData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeFurnitureGroupData.pb.go b/protocol/proto/HomeFurnitureGroupData.pb.go
new file mode 100644
index 00000000..71501735
--- /dev/null
+++ b/protocol/proto/HomeFurnitureGroupData.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeFurnitureGroupData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeFurnitureGroupData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupFurnitureIndex uint32 `protobuf:"varint,8,opt,name=group_furniture_index,json=groupFurnitureIndex,proto3" json:"group_furniture_index,omitempty"`
+ VirtualFurniureList []*HomeFurnitureData `protobuf:"bytes,3,rep,name=virtual_furniure_list,json=virtualFurniureList,proto3" json:"virtual_furniure_list,omitempty"`
+}
+
+func (x *HomeFurnitureGroupData) Reset() {
+ *x = HomeFurnitureGroupData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeFurnitureGroupData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeFurnitureGroupData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeFurnitureGroupData) ProtoMessage() {}
+
+func (x *HomeFurnitureGroupData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeFurnitureGroupData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeFurnitureGroupData.ProtoReflect.Descriptor instead.
+func (*HomeFurnitureGroupData) Descriptor() ([]byte, []int) {
+ return file_HomeFurnitureGroupData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeFurnitureGroupData) GetGroupFurnitureIndex() uint32 {
+ if x != nil {
+ return x.GroupFurnitureIndex
+ }
+ return 0
+}
+
+func (x *HomeFurnitureGroupData) GetVirtualFurniureList() []*HomeFurnitureData {
+ if x != nil {
+ return x.VirtualFurniureList
+ }
+ return nil
+}
+
+var File_HomeFurnitureGroupData_proto protoreflect.FileDescriptor
+
+var file_HomeFurnitureGroupData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x47,
+ 0x72, 0x6f, 0x75, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a,
+ 0x01, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65,
+ 0x47, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x72, 0x6f,
+ 0x75, 0x70, 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46,
+ 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x4c, 0x0a,
+ 0x15, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x75, 0x72,
+ 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x13, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x46,
+ 0x75, 0x72, 0x6e, 0x69, 0x75, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeFurnitureGroupData_proto_rawDescOnce sync.Once
+ file_HomeFurnitureGroupData_proto_rawDescData = file_HomeFurnitureGroupData_proto_rawDesc
+)
+
+func file_HomeFurnitureGroupData_proto_rawDescGZIP() []byte {
+ file_HomeFurnitureGroupData_proto_rawDescOnce.Do(func() {
+ file_HomeFurnitureGroupData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeFurnitureGroupData_proto_rawDescData)
+ })
+ return file_HomeFurnitureGroupData_proto_rawDescData
+}
+
+var file_HomeFurnitureGroupData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeFurnitureGroupData_proto_goTypes = []interface{}{
+ (*HomeFurnitureGroupData)(nil), // 0: proto.HomeFurnitureGroupData
+ (*HomeFurnitureData)(nil), // 1: proto.HomeFurnitureData
+}
+var file_HomeFurnitureGroupData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeFurnitureGroupData.virtual_furniure_list:type_name -> proto.HomeFurnitureData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeFurnitureGroupData_proto_init() }
+func file_HomeFurnitureGroupData_proto_init() {
+ if File_HomeFurnitureGroupData_proto != nil {
+ return
+ }
+ file_HomeFurnitureData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeFurnitureGroupData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeFurnitureGroupData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeFurnitureGroupData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeFurnitureGroupData_proto_goTypes,
+ DependencyIndexes: file_HomeFurnitureGroupData_proto_depIdxs,
+ MessageInfos: file_HomeFurnitureGroupData_proto_msgTypes,
+ }.Build()
+ File_HomeFurnitureGroupData_proto = out.File
+ file_HomeFurnitureGroupData_proto_rawDesc = nil
+ file_HomeFurnitureGroupData_proto_goTypes = nil
+ file_HomeFurnitureGroupData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeFurnitureSuiteData.pb.go b/protocol/proto/HomeFurnitureSuiteData.pb.go
new file mode 100644
index 00000000..b3df29f0
--- /dev/null
+++ b/protocol/proto/HomeFurnitureSuiteData.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeFurnitureSuiteData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeFurnitureSuiteData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAllowSummon bool `protobuf:"varint,10,opt,name=is_allow_summon,json=isAllowSummon,proto3" json:"is_allow_summon,omitempty"`
+ SuiteId uint32 `protobuf:"varint,6,opt,name=suite_id,json=suiteId,proto3" json:"suite_id,omitempty"`
+ SpawnPos *Vector `protobuf:"bytes,8,opt,name=spawn_pos,json=spawnPos,proto3" json:"spawn_pos,omitempty"`
+ Guid uint32 `protobuf:"varint,13,opt,name=guid,proto3" json:"guid,omitempty"`
+ IncludedFurnitureIndexList []int32 `protobuf:"varint,1,rep,packed,name=included_furniture_index_list,json=includedFurnitureIndexList,proto3" json:"included_furniture_index_list,omitempty"`
+}
+
+func (x *HomeFurnitureSuiteData) Reset() {
+ *x = HomeFurnitureSuiteData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeFurnitureSuiteData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeFurnitureSuiteData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeFurnitureSuiteData) ProtoMessage() {}
+
+func (x *HomeFurnitureSuiteData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeFurnitureSuiteData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeFurnitureSuiteData.ProtoReflect.Descriptor instead.
+func (*HomeFurnitureSuiteData) Descriptor() ([]byte, []int) {
+ return file_HomeFurnitureSuiteData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeFurnitureSuiteData) GetIsAllowSummon() bool {
+ if x != nil {
+ return x.IsAllowSummon
+ }
+ return false
+}
+
+func (x *HomeFurnitureSuiteData) GetSuiteId() uint32 {
+ if x != nil {
+ return x.SuiteId
+ }
+ return 0
+}
+
+func (x *HomeFurnitureSuiteData) GetSpawnPos() *Vector {
+ if x != nil {
+ return x.SpawnPos
+ }
+ return nil
+}
+
+func (x *HomeFurnitureSuiteData) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeFurnitureSuiteData) GetIncludedFurnitureIndexList() []int32 {
+ if x != nil {
+ return x.IncludedFurnitureIndexList
+ }
+ return nil
+}
+
+var File_HomeFurnitureSuiteData_proto protoreflect.FileDescriptor
+
+var file_HomeFurnitureSuiteData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x53,
+ 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x01, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26,
+ 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77,
+ 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49,
+ 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a,
+ 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69,
+ 0x64, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x66, 0x75,
+ 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x64, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeFurnitureSuiteData_proto_rawDescOnce sync.Once
+ file_HomeFurnitureSuiteData_proto_rawDescData = file_HomeFurnitureSuiteData_proto_rawDesc
+)
+
+func file_HomeFurnitureSuiteData_proto_rawDescGZIP() []byte {
+ file_HomeFurnitureSuiteData_proto_rawDescOnce.Do(func() {
+ file_HomeFurnitureSuiteData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeFurnitureSuiteData_proto_rawDescData)
+ })
+ return file_HomeFurnitureSuiteData_proto_rawDescData
+}
+
+var file_HomeFurnitureSuiteData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeFurnitureSuiteData_proto_goTypes = []interface{}{
+ (*HomeFurnitureSuiteData)(nil), // 0: proto.HomeFurnitureSuiteData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeFurnitureSuiteData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeFurnitureSuiteData.spawn_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeFurnitureSuiteData_proto_init() }
+func file_HomeFurnitureSuiteData_proto_init() {
+ if File_HomeFurnitureSuiteData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeFurnitureSuiteData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeFurnitureSuiteData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeFurnitureSuiteData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeFurnitureSuiteData_proto_goTypes,
+ DependencyIndexes: file_HomeFurnitureSuiteData_proto_depIdxs,
+ MessageInfos: file_HomeFurnitureSuiteData_proto_msgTypes,
+ }.Build()
+ File_HomeFurnitureSuiteData_proto = out.File
+ file_HomeFurnitureSuiteData_proto_rawDesc = nil
+ file_HomeFurnitureSuiteData_proto_goTypes = nil
+ file_HomeFurnitureSuiteData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGalleryInPlayingNotify.pb.go b/protocol/proto/HomeGalleryInPlayingNotify.pb.go
new file mode 100644
index 00000000..fadadeb0
--- /dev/null
+++ b/protocol/proto/HomeGalleryInPlayingNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGalleryInPlayingNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5553
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeGalleryInPlayingNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,13,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *HomeGalleryInPlayingNotify) Reset() {
+ *x = HomeGalleryInPlayingNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGalleryInPlayingNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGalleryInPlayingNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGalleryInPlayingNotify) ProtoMessage() {}
+
+func (x *HomeGalleryInPlayingNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGalleryInPlayingNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGalleryInPlayingNotify.ProtoReflect.Descriptor instead.
+func (*HomeGalleryInPlayingNotify) Descriptor() ([]byte, []int) {
+ return file_HomeGalleryInPlayingNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGalleryInPlayingNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_HomeGalleryInPlayingNotify_proto protoreflect.FileDescriptor
+
+var file_HomeGalleryInPlayingNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x50,
+ 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x1a, 0x48, 0x6f, 0x6d,
+ 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e,
+ 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGalleryInPlayingNotify_proto_rawDescOnce sync.Once
+ file_HomeGalleryInPlayingNotify_proto_rawDescData = file_HomeGalleryInPlayingNotify_proto_rawDesc
+)
+
+func file_HomeGalleryInPlayingNotify_proto_rawDescGZIP() []byte {
+ file_HomeGalleryInPlayingNotify_proto_rawDescOnce.Do(func() {
+ file_HomeGalleryInPlayingNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGalleryInPlayingNotify_proto_rawDescData)
+ })
+ return file_HomeGalleryInPlayingNotify_proto_rawDescData
+}
+
+var file_HomeGalleryInPlayingNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGalleryInPlayingNotify_proto_goTypes = []interface{}{
+ (*HomeGalleryInPlayingNotify)(nil), // 0: proto.HomeGalleryInPlayingNotify
+}
+var file_HomeGalleryInPlayingNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeGalleryInPlayingNotify_proto_init() }
+func file_HomeGalleryInPlayingNotify_proto_init() {
+ if File_HomeGalleryInPlayingNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGalleryInPlayingNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGalleryInPlayingNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGalleryInPlayingNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGalleryInPlayingNotify_proto_goTypes,
+ DependencyIndexes: file_HomeGalleryInPlayingNotify_proto_depIdxs,
+ MessageInfos: file_HomeGalleryInPlayingNotify_proto_msgTypes,
+ }.Build()
+ File_HomeGalleryInPlayingNotify_proto = out.File
+ file_HomeGalleryInPlayingNotify_proto_rawDesc = nil
+ file_HomeGalleryInPlayingNotify_proto_goTypes = nil
+ file_HomeGalleryInPlayingNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetArrangementInfoReq.pb.go b/protocol/proto/HomeGetArrangementInfoReq.pb.go
new file mode 100644
index 00000000..d0e5129a
--- /dev/null
+++ b/protocol/proto/HomeGetArrangementInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetArrangementInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4848
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeGetArrangementInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneIdList []uint32 `protobuf:"varint,13,rep,packed,name=scene_id_list,json=sceneIdList,proto3" json:"scene_id_list,omitempty"`
+}
+
+func (x *HomeGetArrangementInfoReq) Reset() {
+ *x = HomeGetArrangementInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetArrangementInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetArrangementInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetArrangementInfoReq) ProtoMessage() {}
+
+func (x *HomeGetArrangementInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetArrangementInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetArrangementInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeGetArrangementInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeGetArrangementInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGetArrangementInfoReq) GetSceneIdList() []uint32 {
+ if x != nil {
+ return x.SceneIdList
+ }
+ return nil
+}
+
+var File_HomeGetArrangementInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeGetArrangementInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65,
+ 0x47, 0x65, 0x74, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetArrangementInfoReq_proto_rawDescOnce sync.Once
+ file_HomeGetArrangementInfoReq_proto_rawDescData = file_HomeGetArrangementInfoReq_proto_rawDesc
+)
+
+func file_HomeGetArrangementInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeGetArrangementInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeGetArrangementInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetArrangementInfoReq_proto_rawDescData)
+ })
+ return file_HomeGetArrangementInfoReq_proto_rawDescData
+}
+
+var file_HomeGetArrangementInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetArrangementInfoReq_proto_goTypes = []interface{}{
+ (*HomeGetArrangementInfoReq)(nil), // 0: proto.HomeGetArrangementInfoReq
+}
+var file_HomeGetArrangementInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetArrangementInfoReq_proto_init() }
+func file_HomeGetArrangementInfoReq_proto_init() {
+ if File_HomeGetArrangementInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetArrangementInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetArrangementInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetArrangementInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetArrangementInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeGetArrangementInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeGetArrangementInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeGetArrangementInfoReq_proto = out.File
+ file_HomeGetArrangementInfoReq_proto_rawDesc = nil
+ file_HomeGetArrangementInfoReq_proto_goTypes = nil
+ file_HomeGetArrangementInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetArrangementInfoRsp.pb.go b/protocol/proto/HomeGetArrangementInfoRsp.pb.go
new file mode 100644
index 00000000..31b552fc
--- /dev/null
+++ b/protocol/proto/HomeGetArrangementInfoRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetArrangementInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4844
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeGetArrangementInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SceneArrangementInfoList []*HomeSceneArrangementInfo `protobuf:"bytes,14,rep,name=scene_arrangement_info_list,json=sceneArrangementInfoList,proto3" json:"scene_arrangement_info_list,omitempty"`
+}
+
+func (x *HomeGetArrangementInfoRsp) Reset() {
+ *x = HomeGetArrangementInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetArrangementInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetArrangementInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetArrangementInfoRsp) ProtoMessage() {}
+
+func (x *HomeGetArrangementInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetArrangementInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetArrangementInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomeGetArrangementInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomeGetArrangementInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGetArrangementInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeGetArrangementInfoRsp) GetSceneArrangementInfoList() []*HomeSceneArrangementInfo {
+ if x != nil {
+ return x.SceneArrangementInfoList
+ }
+ return nil
+}
+
+var File_HomeGetArrangementInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomeGetArrangementInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x19, 0x48, 0x6f, 0x6d,
+ 0x65, 0x47, 0x65, 0x74, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x5e, 0x0a, 0x1b, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72,
+ 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetArrangementInfoRsp_proto_rawDescOnce sync.Once
+ file_HomeGetArrangementInfoRsp_proto_rawDescData = file_HomeGetArrangementInfoRsp_proto_rawDesc
+)
+
+func file_HomeGetArrangementInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomeGetArrangementInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomeGetArrangementInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetArrangementInfoRsp_proto_rawDescData)
+ })
+ return file_HomeGetArrangementInfoRsp_proto_rawDescData
+}
+
+var file_HomeGetArrangementInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetArrangementInfoRsp_proto_goTypes = []interface{}{
+ (*HomeGetArrangementInfoRsp)(nil), // 0: proto.HomeGetArrangementInfoRsp
+ (*HomeSceneArrangementInfo)(nil), // 1: proto.HomeSceneArrangementInfo
+}
+var file_HomeGetArrangementInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeGetArrangementInfoRsp.scene_arrangement_info_list:type_name -> proto.HomeSceneArrangementInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetArrangementInfoRsp_proto_init() }
+func file_HomeGetArrangementInfoRsp_proto_init() {
+ if File_HomeGetArrangementInfoRsp_proto != nil {
+ return
+ }
+ file_HomeSceneArrangementInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetArrangementInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetArrangementInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetArrangementInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetArrangementInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomeGetArrangementInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomeGetArrangementInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomeGetArrangementInfoRsp_proto = out.File
+ file_HomeGetArrangementInfoRsp_proto_rawDesc = nil
+ file_HomeGetArrangementInfoRsp_proto_goTypes = nil
+ file_HomeGetArrangementInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetBasicInfoReq.pb.go b/protocol/proto/HomeGetBasicInfoReq.pb.go
new file mode 100644
index 00000000..83429f1e
--- /dev/null
+++ b/protocol/proto/HomeGetBasicInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetBasicInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4655
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeGetBasicInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeGetBasicInfoReq) Reset() {
+ *x = HomeGetBasicInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetBasicInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetBasicInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetBasicInfoReq) ProtoMessage() {}
+
+func (x *HomeGetBasicInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetBasicInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetBasicInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeGetBasicInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeGetBasicInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeGetBasicInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeGetBasicInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x42, 0x61, 0x73,
+ 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetBasicInfoReq_proto_rawDescOnce sync.Once
+ file_HomeGetBasicInfoReq_proto_rawDescData = file_HomeGetBasicInfoReq_proto_rawDesc
+)
+
+func file_HomeGetBasicInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeGetBasicInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeGetBasicInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetBasicInfoReq_proto_rawDescData)
+ })
+ return file_HomeGetBasicInfoReq_proto_rawDescData
+}
+
+var file_HomeGetBasicInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetBasicInfoReq_proto_goTypes = []interface{}{
+ (*HomeGetBasicInfoReq)(nil), // 0: proto.HomeGetBasicInfoReq
+}
+var file_HomeGetBasicInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetBasicInfoReq_proto_init() }
+func file_HomeGetBasicInfoReq_proto_init() {
+ if File_HomeGetBasicInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetBasicInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetBasicInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetBasicInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetBasicInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeGetBasicInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeGetBasicInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeGetBasicInfoReq_proto = out.File
+ file_HomeGetBasicInfoReq_proto_rawDesc = nil
+ file_HomeGetBasicInfoReq_proto_goTypes = nil
+ file_HomeGetBasicInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetBlueprintSlotInfoReq.pb.go b/protocol/proto/HomeGetBlueprintSlotInfoReq.pb.go
new file mode 100644
index 00000000..2e1645c2
--- /dev/null
+++ b/protocol/proto/HomeGetBlueprintSlotInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetBlueprintSlotInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4584
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeGetBlueprintSlotInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeGetBlueprintSlotInfoReq) Reset() {
+ *x = HomeGetBlueprintSlotInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetBlueprintSlotInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetBlueprintSlotInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetBlueprintSlotInfoReq) ProtoMessage() {}
+
+func (x *HomeGetBlueprintSlotInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetBlueprintSlotInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetBlueprintSlotInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeGetBlueprintSlotInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeGetBlueprintSlotInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeGetBlueprintSlotInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeGetBlueprintSlotInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x48, 0x6f,
+ 0x6d, 0x65, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x6c,
+ 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetBlueprintSlotInfoReq_proto_rawDescOnce sync.Once
+ file_HomeGetBlueprintSlotInfoReq_proto_rawDescData = file_HomeGetBlueprintSlotInfoReq_proto_rawDesc
+)
+
+func file_HomeGetBlueprintSlotInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeGetBlueprintSlotInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeGetBlueprintSlotInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetBlueprintSlotInfoReq_proto_rawDescData)
+ })
+ return file_HomeGetBlueprintSlotInfoReq_proto_rawDescData
+}
+
+var file_HomeGetBlueprintSlotInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetBlueprintSlotInfoReq_proto_goTypes = []interface{}{
+ (*HomeGetBlueprintSlotInfoReq)(nil), // 0: proto.HomeGetBlueprintSlotInfoReq
+}
+var file_HomeGetBlueprintSlotInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetBlueprintSlotInfoReq_proto_init() }
+func file_HomeGetBlueprintSlotInfoReq_proto_init() {
+ if File_HomeGetBlueprintSlotInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetBlueprintSlotInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetBlueprintSlotInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetBlueprintSlotInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetBlueprintSlotInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeGetBlueprintSlotInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeGetBlueprintSlotInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeGetBlueprintSlotInfoReq_proto = out.File
+ file_HomeGetBlueprintSlotInfoReq_proto_rawDesc = nil
+ file_HomeGetBlueprintSlotInfoReq_proto_goTypes = nil
+ file_HomeGetBlueprintSlotInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetBlueprintSlotInfoRsp.pb.go b/protocol/proto/HomeGetBlueprintSlotInfoRsp.pb.go
new file mode 100644
index 00000000..d1f299d8
--- /dev/null
+++ b/protocol/proto/HomeGetBlueprintSlotInfoRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetBlueprintSlotInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4662
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeGetBlueprintSlotInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeleteSlotIdList []uint32 `protobuf:"varint,6,rep,packed,name=delete_slot_id_list,json=deleteSlotIdList,proto3" json:"delete_slot_id_list,omitempty"`
+ SlotInfoList []*HomeBlueprintSlotInfo `protobuf:"bytes,3,rep,name=slot_info_list,json=slotInfoList,proto3" json:"slot_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeGetBlueprintSlotInfoRsp) Reset() {
+ *x = HomeGetBlueprintSlotInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetBlueprintSlotInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetBlueprintSlotInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetBlueprintSlotInfoRsp) ProtoMessage() {}
+
+func (x *HomeGetBlueprintSlotInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetBlueprintSlotInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetBlueprintSlotInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomeGetBlueprintSlotInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomeGetBlueprintSlotInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGetBlueprintSlotInfoRsp) GetDeleteSlotIdList() []uint32 {
+ if x != nil {
+ return x.DeleteSlotIdList
+ }
+ return nil
+}
+
+func (x *HomeGetBlueprintSlotInfoRsp) GetSlotInfoList() []*HomeBlueprintSlotInfo {
+ if x != nil {
+ return x.SlotInfoList
+ }
+ return nil
+}
+
+func (x *HomeGetBlueprintSlotInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeGetBlueprintSlotInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomeGetBlueprintSlotInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x48, 0x6f, 0x6d, 0x65,
+ 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65,
+ 0x47, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6c, 0x6f, 0x74,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70,
+ 0x72, 0x69, 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x73, 0x6c,
+ 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetBlueprintSlotInfoRsp_proto_rawDescOnce sync.Once
+ file_HomeGetBlueprintSlotInfoRsp_proto_rawDescData = file_HomeGetBlueprintSlotInfoRsp_proto_rawDesc
+)
+
+func file_HomeGetBlueprintSlotInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomeGetBlueprintSlotInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomeGetBlueprintSlotInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetBlueprintSlotInfoRsp_proto_rawDescData)
+ })
+ return file_HomeGetBlueprintSlotInfoRsp_proto_rawDescData
+}
+
+var file_HomeGetBlueprintSlotInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetBlueprintSlotInfoRsp_proto_goTypes = []interface{}{
+ (*HomeGetBlueprintSlotInfoRsp)(nil), // 0: proto.HomeGetBlueprintSlotInfoRsp
+ (*HomeBlueprintSlotInfo)(nil), // 1: proto.HomeBlueprintSlotInfo
+}
+var file_HomeGetBlueprintSlotInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeGetBlueprintSlotInfoRsp.slot_info_list:type_name -> proto.HomeBlueprintSlotInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetBlueprintSlotInfoRsp_proto_init() }
+func file_HomeGetBlueprintSlotInfoRsp_proto_init() {
+ if File_HomeGetBlueprintSlotInfoRsp_proto != nil {
+ return
+ }
+ file_HomeBlueprintSlotInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetBlueprintSlotInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetBlueprintSlotInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetBlueprintSlotInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetBlueprintSlotInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomeGetBlueprintSlotInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomeGetBlueprintSlotInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomeGetBlueprintSlotInfoRsp_proto = out.File
+ file_HomeGetBlueprintSlotInfoRsp_proto_rawDesc = nil
+ file_HomeGetBlueprintSlotInfoRsp_proto_goTypes = nil
+ file_HomeGetBlueprintSlotInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetFishFarmingInfoReq.pb.go b/protocol/proto/HomeGetFishFarmingInfoReq.pb.go
new file mode 100644
index 00000000..7ccad7fc
--- /dev/null
+++ b/protocol/proto/HomeGetFishFarmingInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetFishFarmingInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4476
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeGetFishFarmingInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeGetFishFarmingInfoReq) Reset() {
+ *x = HomeGetFishFarmingInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetFishFarmingInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetFishFarmingInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetFishFarmingInfoReq) ProtoMessage() {}
+
+func (x *HomeGetFishFarmingInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetFishFarmingInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetFishFarmingInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeGetFishFarmingInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeGetFishFarmingInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeGetFishFarmingInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeGetFishFarmingInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72,
+ 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65,
+ 0x47, 0x65, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetFishFarmingInfoReq_proto_rawDescOnce sync.Once
+ file_HomeGetFishFarmingInfoReq_proto_rawDescData = file_HomeGetFishFarmingInfoReq_proto_rawDesc
+)
+
+func file_HomeGetFishFarmingInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeGetFishFarmingInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeGetFishFarmingInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetFishFarmingInfoReq_proto_rawDescData)
+ })
+ return file_HomeGetFishFarmingInfoReq_proto_rawDescData
+}
+
+var file_HomeGetFishFarmingInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetFishFarmingInfoReq_proto_goTypes = []interface{}{
+ (*HomeGetFishFarmingInfoReq)(nil), // 0: proto.HomeGetFishFarmingInfoReq
+}
+var file_HomeGetFishFarmingInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetFishFarmingInfoReq_proto_init() }
+func file_HomeGetFishFarmingInfoReq_proto_init() {
+ if File_HomeGetFishFarmingInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetFishFarmingInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetFishFarmingInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetFishFarmingInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetFishFarmingInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeGetFishFarmingInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeGetFishFarmingInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeGetFishFarmingInfoReq_proto = out.File
+ file_HomeGetFishFarmingInfoReq_proto_rawDesc = nil
+ file_HomeGetFishFarmingInfoReq_proto_goTypes = nil
+ file_HomeGetFishFarmingInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetFishFarmingInfoRsp.pb.go b/protocol/proto/HomeGetFishFarmingInfoRsp.pb.go
new file mode 100644
index 00000000..4639d2d5
--- /dev/null
+++ b/protocol/proto/HomeGetFishFarmingInfoRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetFishFarmingInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4678
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeGetFishFarmingInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishFarmingInfoList []*HomeFishFarmingInfo `protobuf:"bytes,7,rep,name=fish_farming_info_list,json=fishFarmingInfoList,proto3" json:"fish_farming_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeGetFishFarmingInfoRsp) Reset() {
+ *x = HomeGetFishFarmingInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetFishFarmingInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetFishFarmingInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetFishFarmingInfoRsp) ProtoMessage() {}
+
+func (x *HomeGetFishFarmingInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetFishFarmingInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetFishFarmingInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomeGetFishFarmingInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomeGetFishFarmingInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGetFishFarmingInfoRsp) GetFishFarmingInfoList() []*HomeFishFarmingInfo {
+ if x != nil {
+ return x.FishFarmingInfoList
+ }
+ return nil
+}
+
+func (x *HomeGetFishFarmingInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeGetFishFarmingInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomeGetFishFarmingInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72,
+ 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69,
+ 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x46,
+ 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73,
+ 0x70, 0x12, 0x4f, 0x0a, 0x16, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x61, 0x72, 0x6d, 0x69, 0x6e,
+ 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69,
+ 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x66,
+ 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetFishFarmingInfoRsp_proto_rawDescOnce sync.Once
+ file_HomeGetFishFarmingInfoRsp_proto_rawDescData = file_HomeGetFishFarmingInfoRsp_proto_rawDesc
+)
+
+func file_HomeGetFishFarmingInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomeGetFishFarmingInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomeGetFishFarmingInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetFishFarmingInfoRsp_proto_rawDescData)
+ })
+ return file_HomeGetFishFarmingInfoRsp_proto_rawDescData
+}
+
+var file_HomeGetFishFarmingInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetFishFarmingInfoRsp_proto_goTypes = []interface{}{
+ (*HomeGetFishFarmingInfoRsp)(nil), // 0: proto.HomeGetFishFarmingInfoRsp
+ (*HomeFishFarmingInfo)(nil), // 1: proto.HomeFishFarmingInfo
+}
+var file_HomeGetFishFarmingInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeGetFishFarmingInfoRsp.fish_farming_info_list:type_name -> proto.HomeFishFarmingInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetFishFarmingInfoRsp_proto_init() }
+func file_HomeGetFishFarmingInfoRsp_proto_init() {
+ if File_HomeGetFishFarmingInfoRsp_proto != nil {
+ return
+ }
+ file_HomeFishFarmingInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetFishFarmingInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetFishFarmingInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetFishFarmingInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetFishFarmingInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomeGetFishFarmingInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomeGetFishFarmingInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomeGetFishFarmingInfoRsp_proto = out.File
+ file_HomeGetFishFarmingInfoRsp_proto_rawDesc = nil
+ file_HomeGetFishFarmingInfoRsp_proto_goTypes = nil
+ file_HomeGetFishFarmingInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetGroupRecordReq.pb.go b/protocol/proto/HomeGetGroupRecordReq.pb.go
new file mode 100644
index 00000000..da95ed58
--- /dev/null
+++ b/protocol/proto/HomeGetGroupRecordReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetGroupRecordReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4523
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeGetGroupRecordReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,14,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *HomeGetGroupRecordReq) Reset() {
+ *x = HomeGetGroupRecordReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetGroupRecordReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetGroupRecordReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetGroupRecordReq) ProtoMessage() {}
+
+func (x *HomeGetGroupRecordReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetGroupRecordReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetGroupRecordReq.ProtoReflect.Descriptor instead.
+func (*HomeGetGroupRecordReq) Descriptor() ([]byte, []int) {
+ return file_HomeGetGroupRecordReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGetGroupRecordReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_HomeGetGroupRecordReq_proto protoreflect.FileDescriptor
+
+var file_HomeGetGroupRecordReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x47,
+ 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a,
+ 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetGroupRecordReq_proto_rawDescOnce sync.Once
+ file_HomeGetGroupRecordReq_proto_rawDescData = file_HomeGetGroupRecordReq_proto_rawDesc
+)
+
+func file_HomeGetGroupRecordReq_proto_rawDescGZIP() []byte {
+ file_HomeGetGroupRecordReq_proto_rawDescOnce.Do(func() {
+ file_HomeGetGroupRecordReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetGroupRecordReq_proto_rawDescData)
+ })
+ return file_HomeGetGroupRecordReq_proto_rawDescData
+}
+
+var file_HomeGetGroupRecordReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetGroupRecordReq_proto_goTypes = []interface{}{
+ (*HomeGetGroupRecordReq)(nil), // 0: proto.HomeGetGroupRecordReq
+}
+var file_HomeGetGroupRecordReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetGroupRecordReq_proto_init() }
+func file_HomeGetGroupRecordReq_proto_init() {
+ if File_HomeGetGroupRecordReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetGroupRecordReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetGroupRecordReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetGroupRecordReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetGroupRecordReq_proto_goTypes,
+ DependencyIndexes: file_HomeGetGroupRecordReq_proto_depIdxs,
+ MessageInfos: file_HomeGetGroupRecordReq_proto_msgTypes,
+ }.Build()
+ File_HomeGetGroupRecordReq_proto = out.File
+ file_HomeGetGroupRecordReq_proto_rawDesc = nil
+ file_HomeGetGroupRecordReq_proto_goTypes = nil
+ file_HomeGetGroupRecordReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetGroupRecordRsp.pb.go b/protocol/proto/HomeGetGroupRecordRsp.pb.go
new file mode 100644
index 00000000..0efbb657
--- /dev/null
+++ b/protocol/proto/HomeGetGroupRecordRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetGroupRecordRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4538
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeGetGroupRecordRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupRecord *HomeGroupRecord `protobuf:"bytes,7,opt,name=group_record,json=groupRecord,proto3" json:"group_record,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RecordType uint32 `protobuf:"varint,1,opt,name=record_type,json=recordType,proto3" json:"record_type,omitempty"`
+}
+
+func (x *HomeGetGroupRecordRsp) Reset() {
+ *x = HomeGetGroupRecordRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetGroupRecordRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetGroupRecordRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetGroupRecordRsp) ProtoMessage() {}
+
+func (x *HomeGetGroupRecordRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetGroupRecordRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetGroupRecordRsp.ProtoReflect.Descriptor instead.
+func (*HomeGetGroupRecordRsp) Descriptor() ([]byte, []int) {
+ return file_HomeGetGroupRecordRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGetGroupRecordRsp) GetGroupRecord() *HomeGroupRecord {
+ if x != nil {
+ return x.GroupRecord
+ }
+ return nil
+}
+
+func (x *HomeGetGroupRecordRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeGetGroupRecordRsp) GetRecordType() uint32 {
+ if x != nil {
+ return x.RecordType
+ }
+ return 0
+}
+
+var File_HomeGetGroupRecordRsp_proto protoreflect.FileDescriptor
+
+var file_HomeGetGroupRecordRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x15,
+ 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetGroupRecordRsp_proto_rawDescOnce sync.Once
+ file_HomeGetGroupRecordRsp_proto_rawDescData = file_HomeGetGroupRecordRsp_proto_rawDesc
+)
+
+func file_HomeGetGroupRecordRsp_proto_rawDescGZIP() []byte {
+ file_HomeGetGroupRecordRsp_proto_rawDescOnce.Do(func() {
+ file_HomeGetGroupRecordRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetGroupRecordRsp_proto_rawDescData)
+ })
+ return file_HomeGetGroupRecordRsp_proto_rawDescData
+}
+
+var file_HomeGetGroupRecordRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetGroupRecordRsp_proto_goTypes = []interface{}{
+ (*HomeGetGroupRecordRsp)(nil), // 0: proto.HomeGetGroupRecordRsp
+ (*HomeGroupRecord)(nil), // 1: proto.HomeGroupRecord
+}
+var file_HomeGetGroupRecordRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeGetGroupRecordRsp.group_record:type_name -> proto.HomeGroupRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetGroupRecordRsp_proto_init() }
+func file_HomeGetGroupRecordRsp_proto_init() {
+ if File_HomeGetGroupRecordRsp_proto != nil {
+ return
+ }
+ file_HomeGroupRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetGroupRecordRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetGroupRecordRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetGroupRecordRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetGroupRecordRsp_proto_goTypes,
+ DependencyIndexes: file_HomeGetGroupRecordRsp_proto_depIdxs,
+ MessageInfos: file_HomeGetGroupRecordRsp_proto_msgTypes,
+ }.Build()
+ File_HomeGetGroupRecordRsp_proto = out.File
+ file_HomeGetGroupRecordRsp_proto_rawDesc = nil
+ file_HomeGetGroupRecordRsp_proto_goTypes = nil
+ file_HomeGetGroupRecordRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetOnlineStatusReq.pb.go b/protocol/proto/HomeGetOnlineStatusReq.pb.go
new file mode 100644
index 00000000..2093fd70
--- /dev/null
+++ b/protocol/proto/HomeGetOnlineStatusReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetOnlineStatusReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4820
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeGetOnlineStatusReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeGetOnlineStatusReq) Reset() {
+ *x = HomeGetOnlineStatusReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetOnlineStatusReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetOnlineStatusReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetOnlineStatusReq) ProtoMessage() {}
+
+func (x *HomeGetOnlineStatusReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetOnlineStatusReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetOnlineStatusReq.ProtoReflect.Descriptor instead.
+func (*HomeGetOnlineStatusReq) Descriptor() ([]byte, []int) {
+ return file_HomeGetOnlineStatusReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeGetOnlineStatusReq_proto protoreflect.FileDescriptor
+
+var file_HomeGetOnlineStatusReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74,
+ 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetOnlineStatusReq_proto_rawDescOnce sync.Once
+ file_HomeGetOnlineStatusReq_proto_rawDescData = file_HomeGetOnlineStatusReq_proto_rawDesc
+)
+
+func file_HomeGetOnlineStatusReq_proto_rawDescGZIP() []byte {
+ file_HomeGetOnlineStatusReq_proto_rawDescOnce.Do(func() {
+ file_HomeGetOnlineStatusReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetOnlineStatusReq_proto_rawDescData)
+ })
+ return file_HomeGetOnlineStatusReq_proto_rawDescData
+}
+
+var file_HomeGetOnlineStatusReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetOnlineStatusReq_proto_goTypes = []interface{}{
+ (*HomeGetOnlineStatusReq)(nil), // 0: proto.HomeGetOnlineStatusReq
+}
+var file_HomeGetOnlineStatusReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetOnlineStatusReq_proto_init() }
+func file_HomeGetOnlineStatusReq_proto_init() {
+ if File_HomeGetOnlineStatusReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetOnlineStatusReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetOnlineStatusReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetOnlineStatusReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetOnlineStatusReq_proto_goTypes,
+ DependencyIndexes: file_HomeGetOnlineStatusReq_proto_depIdxs,
+ MessageInfos: file_HomeGetOnlineStatusReq_proto_msgTypes,
+ }.Build()
+ File_HomeGetOnlineStatusReq_proto = out.File
+ file_HomeGetOnlineStatusReq_proto_rawDesc = nil
+ file_HomeGetOnlineStatusReq_proto_goTypes = nil
+ file_HomeGetOnlineStatusReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGetOnlineStatusRsp.pb.go b/protocol/proto/HomeGetOnlineStatusRsp.pb.go
new file mode 100644
index 00000000..79dc054f
--- /dev/null
+++ b/protocol/proto/HomeGetOnlineStatusRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGetOnlineStatusRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4705
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeGetOnlineStatusRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerInfoList []*OnlinePlayerInfo `protobuf:"bytes,13,rep,name=player_info_list,json=playerInfoList,proto3" json:"player_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeGetOnlineStatusRsp) Reset() {
+ *x = HomeGetOnlineStatusRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGetOnlineStatusRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGetOnlineStatusRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGetOnlineStatusRsp) ProtoMessage() {}
+
+func (x *HomeGetOnlineStatusRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGetOnlineStatusRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGetOnlineStatusRsp.ProtoReflect.Descriptor instead.
+func (*HomeGetOnlineStatusRsp) Descriptor() ([]byte, []int) {
+ return file_HomeGetOnlineStatusRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGetOnlineStatusRsp) GetPlayerInfoList() []*OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfoList
+ }
+ return nil
+}
+
+func (x *HomeGetOnlineStatusRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeGetOnlineStatusRsp_proto protoreflect.FileDescriptor
+
+var file_HomeGetOnlineStatusRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a,
+ 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x52, 0x73, 0x70, 0x12, 0x41, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGetOnlineStatusRsp_proto_rawDescOnce sync.Once
+ file_HomeGetOnlineStatusRsp_proto_rawDescData = file_HomeGetOnlineStatusRsp_proto_rawDesc
+)
+
+func file_HomeGetOnlineStatusRsp_proto_rawDescGZIP() []byte {
+ file_HomeGetOnlineStatusRsp_proto_rawDescOnce.Do(func() {
+ file_HomeGetOnlineStatusRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGetOnlineStatusRsp_proto_rawDescData)
+ })
+ return file_HomeGetOnlineStatusRsp_proto_rawDescData
+}
+
+var file_HomeGetOnlineStatusRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGetOnlineStatusRsp_proto_goTypes = []interface{}{
+ (*HomeGetOnlineStatusRsp)(nil), // 0: proto.HomeGetOnlineStatusRsp
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+}
+var file_HomeGetOnlineStatusRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeGetOnlineStatusRsp.player_info_list:type_name -> proto.OnlinePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeGetOnlineStatusRsp_proto_init() }
+func file_HomeGetOnlineStatusRsp_proto_init() {
+ if File_HomeGetOnlineStatusRsp_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGetOnlineStatusRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGetOnlineStatusRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGetOnlineStatusRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGetOnlineStatusRsp_proto_goTypes,
+ DependencyIndexes: file_HomeGetOnlineStatusRsp_proto_depIdxs,
+ MessageInfos: file_HomeGetOnlineStatusRsp_proto_msgTypes,
+ }.Build()
+ File_HomeGetOnlineStatusRsp_proto = out.File
+ file_HomeGetOnlineStatusRsp_proto_rawDesc = nil
+ file_HomeGetOnlineStatusRsp_proto_goTypes = nil
+ file_HomeGetOnlineStatusRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGroupPlayerInfo.pb.go b/protocol/proto/HomeGroupPlayerInfo.pb.go
new file mode 100644
index 00000000..6a84e848
--- /dev/null
+++ b/protocol/proto/HomeGroupPlayerInfo.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGroupPlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeGroupPlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OnlineId string `protobuf:"bytes,14,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ PsnId string `protobuf:"bytes,6,opt,name=psn_id,json=psnId,proto3" json:"psn_id,omitempty"`
+ Nickname string `protobuf:"bytes,15,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ PlayerLevel uint32 `protobuf:"varint,4,opt,name=player_level,json=playerLevel,proto3" json:"player_level,omitempty"`
+ Uid uint32 `protobuf:"varint,2,opt,name=uid,proto3" json:"uid,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,5,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+}
+
+func (x *HomeGroupPlayerInfo) Reset() {
+ *x = HomeGroupPlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGroupPlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGroupPlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGroupPlayerInfo) ProtoMessage() {}
+
+func (x *HomeGroupPlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGroupPlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGroupPlayerInfo.ProtoReflect.Descriptor instead.
+func (*HomeGroupPlayerInfo) Descriptor() ([]byte, []int) {
+ return file_HomeGroupPlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGroupPlayerInfo) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *HomeGroupPlayerInfo) GetPsnId() string {
+ if x != nil {
+ return x.PsnId
+ }
+ return ""
+}
+
+func (x *HomeGroupPlayerInfo) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *HomeGroupPlayerInfo) GetPlayerLevel() uint32 {
+ if x != nil {
+ return x.PlayerLevel
+ }
+ return 0
+}
+
+func (x *HomeGroupPlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *HomeGroupPlayerInfo) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+var File_HomeGroupPlayerInfo_proto protoreflect.FileDescriptor
+
+var file_HomeGroupPlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75,
+ 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x01, 0x0a, 0x13, 0x48, 0x6f, 0x6d,
+ 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x15, 0x0a,
+ 0x06, 0x70, 0x73, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70,
+ 0x73, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
+ 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69,
+ 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69,
+ 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGroupPlayerInfo_proto_rawDescOnce sync.Once
+ file_HomeGroupPlayerInfo_proto_rawDescData = file_HomeGroupPlayerInfo_proto_rawDesc
+)
+
+func file_HomeGroupPlayerInfo_proto_rawDescGZIP() []byte {
+ file_HomeGroupPlayerInfo_proto_rawDescOnce.Do(func() {
+ file_HomeGroupPlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGroupPlayerInfo_proto_rawDescData)
+ })
+ return file_HomeGroupPlayerInfo_proto_rawDescData
+}
+
+var file_HomeGroupPlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGroupPlayerInfo_proto_goTypes = []interface{}{
+ (*HomeGroupPlayerInfo)(nil), // 0: proto.HomeGroupPlayerInfo
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_HomeGroupPlayerInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeGroupPlayerInfo.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeGroupPlayerInfo_proto_init() }
+func file_HomeGroupPlayerInfo_proto_init() {
+ if File_HomeGroupPlayerInfo_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGroupPlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGroupPlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGroupPlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGroupPlayerInfo_proto_goTypes,
+ DependencyIndexes: file_HomeGroupPlayerInfo_proto_depIdxs,
+ MessageInfos: file_HomeGroupPlayerInfo_proto_msgTypes,
+ }.Build()
+ File_HomeGroupPlayerInfo_proto = out.File
+ file_HomeGroupPlayerInfo_proto_rawDesc = nil
+ file_HomeGroupPlayerInfo_proto_goTypes = nil
+ file_HomeGroupPlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeGroupRecord.pb.go b/protocol/proto/HomeGroupRecord.pb.go
new file mode 100644
index 00000000..443099ed
--- /dev/null
+++ b/protocol/proto/HomeGroupRecord.pb.go
@@ -0,0 +1,274 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeGroupRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeGroupRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *HomeGroupRecord_RacingGalleryInfo
+ // *HomeGroupRecord_BalloonGalleryInfo
+ // *HomeGroupRecord_StakePlayInfo
+ // *HomeGroupRecord_SeekFurnitureGalleryInfo
+ Detail isHomeGroupRecord_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *HomeGroupRecord) Reset() {
+ *x = HomeGroupRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeGroupRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeGroupRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeGroupRecord) ProtoMessage() {}
+
+func (x *HomeGroupRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeGroupRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeGroupRecord.ProtoReflect.Descriptor instead.
+func (*HomeGroupRecord) Descriptor() ([]byte, []int) {
+ return file_HomeGroupRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeGroupRecord) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (m *HomeGroupRecord) GetDetail() isHomeGroupRecord_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *HomeGroupRecord) GetRacingGalleryInfo() *HomeRacingRecord {
+ if x, ok := x.GetDetail().(*HomeGroupRecord_RacingGalleryInfo); ok {
+ return x.RacingGalleryInfo
+ }
+ return nil
+}
+
+func (x *HomeGroupRecord) GetBalloonGalleryInfo() *HomeBalloonRecord {
+ if x, ok := x.GetDetail().(*HomeGroupRecord_BalloonGalleryInfo); ok {
+ return x.BalloonGalleryInfo
+ }
+ return nil
+}
+
+func (x *HomeGroupRecord) GetStakePlayInfo() *HomeStakeRecord {
+ if x, ok := x.GetDetail().(*HomeGroupRecord_StakePlayInfo); ok {
+ return x.StakePlayInfo
+ }
+ return nil
+}
+
+func (x *HomeGroupRecord) GetSeekFurnitureGalleryInfo() *SeekFurnitureGalleryInfo {
+ if x, ok := x.GetDetail().(*HomeGroupRecord_SeekFurnitureGalleryInfo); ok {
+ return x.SeekFurnitureGalleryInfo
+ }
+ return nil
+}
+
+type isHomeGroupRecord_Detail interface {
+ isHomeGroupRecord_Detail()
+}
+
+type HomeGroupRecord_RacingGalleryInfo struct {
+ RacingGalleryInfo *HomeRacingRecord `protobuf:"bytes,467,opt,name=racing_gallery_info,json=racingGalleryInfo,proto3,oneof"`
+}
+
+type HomeGroupRecord_BalloonGalleryInfo struct {
+ BalloonGalleryInfo *HomeBalloonRecord `protobuf:"bytes,1410,opt,name=balloon_gallery_info,json=balloonGalleryInfo,proto3,oneof"`
+}
+
+type HomeGroupRecord_StakePlayInfo struct {
+ StakePlayInfo *HomeStakeRecord `protobuf:"bytes,347,opt,name=stake_play_info,json=stakePlayInfo,proto3,oneof"`
+}
+
+type HomeGroupRecord_SeekFurnitureGalleryInfo struct {
+ SeekFurnitureGalleryInfo *SeekFurnitureGalleryInfo `protobuf:"bytes,1822,opt,name=seek_furniture_gallery_info,json=seekFurnitureGalleryInfo,proto3,oneof"`
+}
+
+func (*HomeGroupRecord_RacingGalleryInfo) isHomeGroupRecord_Detail() {}
+
+func (*HomeGroupRecord_BalloonGalleryInfo) isHomeGroupRecord_Detail() {}
+
+func (*HomeGroupRecord_StakePlayInfo) isHomeGroupRecord_Detail() {}
+
+func (*HomeGroupRecord_SeekFurnitureGalleryInfo) isHomeGroupRecord_Detail() {}
+
+var File_HomeGroupRecord_proto protoreflect.FileDescriptor
+
+var file_HomeGroupRecord_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
+ 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63,
+ 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x02, 0x0a, 0x0f, 0x48, 0x6f, 0x6d, 0x65, 0x47,
+ 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x13, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f,
+ 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xd3, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65,
+ 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x00, 0x52, 0x11,
+ 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x4d, 0x0a, 0x14, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x5f, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x82, 0x0b, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c,
+ 0x6c, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x00, 0x52, 0x12, 0x62, 0x61,
+ 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x41, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0xdb, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x61, 0x0a, 0x1b, 0x73, 0x65, 0x65, 0x6b, 0x5f, 0x66, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x9e, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x18, 0x73, 0x65,
+ 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeGroupRecord_proto_rawDescOnce sync.Once
+ file_HomeGroupRecord_proto_rawDescData = file_HomeGroupRecord_proto_rawDesc
+)
+
+func file_HomeGroupRecord_proto_rawDescGZIP() []byte {
+ file_HomeGroupRecord_proto_rawDescOnce.Do(func() {
+ file_HomeGroupRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeGroupRecord_proto_rawDescData)
+ })
+ return file_HomeGroupRecord_proto_rawDescData
+}
+
+var file_HomeGroupRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeGroupRecord_proto_goTypes = []interface{}{
+ (*HomeGroupRecord)(nil), // 0: proto.HomeGroupRecord
+ (*HomeRacingRecord)(nil), // 1: proto.HomeRacingRecord
+ (*HomeBalloonRecord)(nil), // 2: proto.HomeBalloonRecord
+ (*HomeStakeRecord)(nil), // 3: proto.HomeStakeRecord
+ (*SeekFurnitureGalleryInfo)(nil), // 4: proto.SeekFurnitureGalleryInfo
+}
+var file_HomeGroupRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeGroupRecord.racing_gallery_info:type_name -> proto.HomeRacingRecord
+ 2, // 1: proto.HomeGroupRecord.balloon_gallery_info:type_name -> proto.HomeBalloonRecord
+ 3, // 2: proto.HomeGroupRecord.stake_play_info:type_name -> proto.HomeStakeRecord
+ 4, // 3: proto.HomeGroupRecord.seek_furniture_gallery_info:type_name -> proto.SeekFurnitureGalleryInfo
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_HomeGroupRecord_proto_init() }
+func file_HomeGroupRecord_proto_init() {
+ if File_HomeGroupRecord_proto != nil {
+ return
+ }
+ file_HomeBalloonRecord_proto_init()
+ file_HomeRacingRecord_proto_init()
+ file_HomeStakeRecord_proto_init()
+ file_SeekFurnitureGalleryInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeGroupRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeGroupRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_HomeGroupRecord_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*HomeGroupRecord_RacingGalleryInfo)(nil),
+ (*HomeGroupRecord_BalloonGalleryInfo)(nil),
+ (*HomeGroupRecord_StakePlayInfo)(nil),
+ (*HomeGroupRecord_SeekFurnitureGalleryInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeGroupRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeGroupRecord_proto_goTypes,
+ DependencyIndexes: file_HomeGroupRecord_proto_depIdxs,
+ MessageInfos: file_HomeGroupRecord_proto_msgTypes,
+ }.Build()
+ File_HomeGroupRecord_proto = out.File
+ file_HomeGroupRecord_proto_rawDesc = nil
+ file_HomeGroupRecord_proto_goTypes = nil
+ file_HomeGroupRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeKickPlayerReq.pb.go b/protocol/proto/HomeKickPlayerReq.pb.go
new file mode 100644
index 00000000..e3f87251
--- /dev/null
+++ b/protocol/proto/HomeKickPlayerReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeKickPlayerReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4870
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeKickPlayerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,12,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ IsKickAll bool `protobuf:"varint,13,opt,name=is_kick_all,json=isKickAll,proto3" json:"is_kick_all,omitempty"`
+}
+
+func (x *HomeKickPlayerReq) Reset() {
+ *x = HomeKickPlayerReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeKickPlayerReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeKickPlayerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeKickPlayerReq) ProtoMessage() {}
+
+func (x *HomeKickPlayerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeKickPlayerReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeKickPlayerReq.ProtoReflect.Descriptor instead.
+func (*HomeKickPlayerReq) Descriptor() ([]byte, []int) {
+ return file_HomeKickPlayerReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeKickPlayerReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *HomeKickPlayerReq) GetIsKickAll() bool {
+ if x != nil {
+ return x.IsKickAll
+ }
+ return false
+}
+
+var File_HomeKickPlayerReq_proto protoreflect.FileDescriptor
+
+var file_HomeKickPlayerReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x52, 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x55, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6b, 0x69, 0x63, 0x6b, 0x5f,
+ 0x61, 0x6c, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4b, 0x69, 0x63,
+ 0x6b, 0x41, 0x6c, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeKickPlayerReq_proto_rawDescOnce sync.Once
+ file_HomeKickPlayerReq_proto_rawDescData = file_HomeKickPlayerReq_proto_rawDesc
+)
+
+func file_HomeKickPlayerReq_proto_rawDescGZIP() []byte {
+ file_HomeKickPlayerReq_proto_rawDescOnce.Do(func() {
+ file_HomeKickPlayerReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeKickPlayerReq_proto_rawDescData)
+ })
+ return file_HomeKickPlayerReq_proto_rawDescData
+}
+
+var file_HomeKickPlayerReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeKickPlayerReq_proto_goTypes = []interface{}{
+ (*HomeKickPlayerReq)(nil), // 0: proto.HomeKickPlayerReq
+}
+var file_HomeKickPlayerReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeKickPlayerReq_proto_init() }
+func file_HomeKickPlayerReq_proto_init() {
+ if File_HomeKickPlayerReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeKickPlayerReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeKickPlayerReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeKickPlayerReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeKickPlayerReq_proto_goTypes,
+ DependencyIndexes: file_HomeKickPlayerReq_proto_depIdxs,
+ MessageInfos: file_HomeKickPlayerReq_proto_msgTypes,
+ }.Build()
+ File_HomeKickPlayerReq_proto = out.File
+ file_HomeKickPlayerReq_proto_rawDesc = nil
+ file_HomeKickPlayerReq_proto_goTypes = nil
+ file_HomeKickPlayerReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeKickPlayerRsp.pb.go b/protocol/proto/HomeKickPlayerRsp.pb.go
new file mode 100644
index 00000000..c92072d5
--- /dev/null
+++ b/protocol/proto/HomeKickPlayerRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeKickPlayerRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4691
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeKickPlayerRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,4,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsKickAll bool `protobuf:"varint,10,opt,name=is_kick_all,json=isKickAll,proto3" json:"is_kick_all,omitempty"`
+}
+
+func (x *HomeKickPlayerRsp) Reset() {
+ *x = HomeKickPlayerRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeKickPlayerRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeKickPlayerRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeKickPlayerRsp) ProtoMessage() {}
+
+func (x *HomeKickPlayerRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeKickPlayerRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeKickPlayerRsp.ProtoReflect.Descriptor instead.
+func (*HomeKickPlayerRsp) Descriptor() ([]byte, []int) {
+ return file_HomeKickPlayerRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeKickPlayerRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *HomeKickPlayerRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeKickPlayerRsp) GetIsKickAll() bool {
+ if x != nil {
+ return x.IsKickAll
+ }
+ return false
+}
+
+var File_HomeKickPlayerRsp_proto protoreflect.FileDescriptor
+
+var file_HomeKickPlayerRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6c, 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x55, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1e,
+ 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6b, 0x69, 0x63, 0x6b, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4b, 0x69, 0x63, 0x6b, 0x41, 0x6c, 0x6c, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HomeKickPlayerRsp_proto_rawDescOnce sync.Once
+ file_HomeKickPlayerRsp_proto_rawDescData = file_HomeKickPlayerRsp_proto_rawDesc
+)
+
+func file_HomeKickPlayerRsp_proto_rawDescGZIP() []byte {
+ file_HomeKickPlayerRsp_proto_rawDescOnce.Do(func() {
+ file_HomeKickPlayerRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeKickPlayerRsp_proto_rawDescData)
+ })
+ return file_HomeKickPlayerRsp_proto_rawDescData
+}
+
+var file_HomeKickPlayerRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeKickPlayerRsp_proto_goTypes = []interface{}{
+ (*HomeKickPlayerRsp)(nil), // 0: proto.HomeKickPlayerRsp
+}
+var file_HomeKickPlayerRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeKickPlayerRsp_proto_init() }
+func file_HomeKickPlayerRsp_proto_init() {
+ if File_HomeKickPlayerRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeKickPlayerRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeKickPlayerRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeKickPlayerRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeKickPlayerRsp_proto_goTypes,
+ DependencyIndexes: file_HomeKickPlayerRsp_proto_depIdxs,
+ MessageInfos: file_HomeKickPlayerRsp_proto_msgTypes,
+ }.Build()
+ File_HomeKickPlayerRsp_proto = out.File
+ file_HomeKickPlayerRsp_proto_rawDesc = nil
+ file_HomeKickPlayerRsp_proto_goTypes = nil
+ file_HomeKickPlayerRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShop.pb.go b/protocol/proto/HomeLimitedShop.pb.go
new file mode 100644
index 00000000..86058b3e
--- /dev/null
+++ b/protocol/proto/HomeLimitedShop.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShop.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeLimitedShop struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GoodsList []*HomeLimitedShopGoods `protobuf:"bytes,8,rep,name=goods_list,json=goodsList,proto3" json:"goods_list,omitempty"`
+}
+
+func (x *HomeLimitedShop) Reset() {
+ *x = HomeLimitedShop{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShop_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShop) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShop) ProtoMessage() {}
+
+func (x *HomeLimitedShop) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShop_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShop.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShop) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShop_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShop) GetGoodsList() []*HomeLimitedShopGoods {
+ if x != nil {
+ return x.GoodsList
+ }
+ return nil
+}
+
+var File_HomeLimitedShop_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShop_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a,
+ 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47,
+ 0x6f, 0x6f, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x0f, 0x48, 0x6f,
+ 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x3a, 0x0a,
+ 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69,
+ 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x09,
+ 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShop_proto_rawDescOnce sync.Once
+ file_HomeLimitedShop_proto_rawDescData = file_HomeLimitedShop_proto_rawDesc
+)
+
+func file_HomeLimitedShop_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShop_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShop_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShop_proto_rawDescData)
+ })
+ return file_HomeLimitedShop_proto_rawDescData
+}
+
+var file_HomeLimitedShop_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShop_proto_goTypes = []interface{}{
+ (*HomeLimitedShop)(nil), // 0: proto.HomeLimitedShop
+ (*HomeLimitedShopGoods)(nil), // 1: proto.HomeLimitedShopGoods
+}
+var file_HomeLimitedShop_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShop.goods_list:type_name -> proto.HomeLimitedShopGoods
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShop_proto_init() }
+func file_HomeLimitedShop_proto_init() {
+ if File_HomeLimitedShop_proto != nil {
+ return
+ }
+ file_HomeLimitedShopGoods_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShop_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShop); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShop_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShop_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShop_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShop_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShop_proto = out.File
+ file_HomeLimitedShop_proto_rawDesc = nil
+ file_HomeLimitedShop_proto_goTypes = nil
+ file_HomeLimitedShop_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopBuyGoodsReq.pb.go b/protocol/proto/HomeLimitedShopBuyGoodsReq.pb.go
new file mode 100644
index 00000000..9c77c04c
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopBuyGoodsReq.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopBuyGoodsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4760
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeLimitedShopBuyGoodsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Goods *HomeLimitedShopGoods `protobuf:"bytes,3,opt,name=goods,proto3" json:"goods,omitempty"`
+ BuyCount uint32 `protobuf:"varint,10,opt,name=buy_count,json=buyCount,proto3" json:"buy_count,omitempty"`
+}
+
+func (x *HomeLimitedShopBuyGoodsReq) Reset() {
+ *x = HomeLimitedShopBuyGoodsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopBuyGoodsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopBuyGoodsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopBuyGoodsReq) ProtoMessage() {}
+
+func (x *HomeLimitedShopBuyGoodsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopBuyGoodsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopBuyGoodsReq.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopBuyGoodsReq) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopBuyGoodsReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShopBuyGoodsReq) GetGoods() *HomeLimitedShopGoods {
+ if x != nil {
+ return x.Goods
+ }
+ return nil
+}
+
+func (x *HomeLimitedShopBuyGoodsReq) GetBuyCount() uint32 {
+ if x != nil {
+ return x.BuyCount
+ }
+ return 0
+}
+
+var File_HomeLimitedShopBuyGoodsReq_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopBuyGoodsReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x42, 0x75, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x4c,
+ 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d,
+ 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x42, 0x75, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73,
+ 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4c,
+ 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52,
+ 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x79, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x75, 0x79, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopBuyGoodsReq_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopBuyGoodsReq_proto_rawDescData = file_HomeLimitedShopBuyGoodsReq_proto_rawDesc
+)
+
+func file_HomeLimitedShopBuyGoodsReq_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopBuyGoodsReq_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopBuyGoodsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopBuyGoodsReq_proto_rawDescData)
+ })
+ return file_HomeLimitedShopBuyGoodsReq_proto_rawDescData
+}
+
+var file_HomeLimitedShopBuyGoodsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopBuyGoodsReq_proto_goTypes = []interface{}{
+ (*HomeLimitedShopBuyGoodsReq)(nil), // 0: proto.HomeLimitedShopBuyGoodsReq
+ (*HomeLimitedShopGoods)(nil), // 1: proto.HomeLimitedShopGoods
+}
+var file_HomeLimitedShopBuyGoodsReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShopBuyGoodsReq.goods:type_name -> proto.HomeLimitedShopGoods
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopBuyGoodsReq_proto_init() }
+func file_HomeLimitedShopBuyGoodsReq_proto_init() {
+ if File_HomeLimitedShopBuyGoodsReq_proto != nil {
+ return
+ }
+ file_HomeLimitedShopGoods_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopBuyGoodsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopBuyGoodsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopBuyGoodsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopBuyGoodsReq_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopBuyGoodsReq_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopBuyGoodsReq_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopBuyGoodsReq_proto = out.File
+ file_HomeLimitedShopBuyGoodsReq_proto_rawDesc = nil
+ file_HomeLimitedShopBuyGoodsReq_proto_goTypes = nil
+ file_HomeLimitedShopBuyGoodsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopBuyGoodsRsp.pb.go b/protocol/proto/HomeLimitedShopBuyGoodsRsp.pb.go
new file mode 100644
index 00000000..57fcc053
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopBuyGoodsRsp.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopBuyGoodsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4750
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeLimitedShopBuyGoodsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GoodsList []*HomeLimitedShopGoods `protobuf:"bytes,13,rep,name=goods_list,json=goodsList,proto3" json:"goods_list,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Goods *HomeLimitedShopGoods `protobuf:"bytes,5,opt,name=goods,proto3" json:"goods,omitempty"`
+ BuyCount uint32 `protobuf:"varint,8,opt,name=buy_count,json=buyCount,proto3" json:"buy_count,omitempty"`
+}
+
+func (x *HomeLimitedShopBuyGoodsRsp) Reset() {
+ *x = HomeLimitedShopBuyGoodsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopBuyGoodsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopBuyGoodsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopBuyGoodsRsp) ProtoMessage() {}
+
+func (x *HomeLimitedShopBuyGoodsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopBuyGoodsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopBuyGoodsRsp.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopBuyGoodsRsp) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopBuyGoodsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShopBuyGoodsRsp) GetGoodsList() []*HomeLimitedShopGoods {
+ if x != nil {
+ return x.GoodsList
+ }
+ return nil
+}
+
+func (x *HomeLimitedShopBuyGoodsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopBuyGoodsRsp) GetGoods() *HomeLimitedShopGoods {
+ if x != nil {
+ return x.Goods
+ }
+ return nil
+}
+
+func (x *HomeLimitedShopBuyGoodsRsp) GetBuyCount() uint32 {
+ if x != nil {
+ return x.BuyCount
+ }
+ return 0
+}
+
+var File_HomeLimitedShopBuyGoodsRsp_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopBuyGoodsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x42, 0x75, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x4c,
+ 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x01, 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69,
+ 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x42, 0x75, 0x79, 0x47, 0x6f, 0x6f, 0x64,
+ 0x73, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70,
+ 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x05, 0x67, 0x6f,
+ 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x05, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x1b, 0x0a,
+ 0x09, 0x62, 0x75, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x62, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopBuyGoodsRsp_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopBuyGoodsRsp_proto_rawDescData = file_HomeLimitedShopBuyGoodsRsp_proto_rawDesc
+)
+
+func file_HomeLimitedShopBuyGoodsRsp_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopBuyGoodsRsp_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopBuyGoodsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopBuyGoodsRsp_proto_rawDescData)
+ })
+ return file_HomeLimitedShopBuyGoodsRsp_proto_rawDescData
+}
+
+var file_HomeLimitedShopBuyGoodsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopBuyGoodsRsp_proto_goTypes = []interface{}{
+ (*HomeLimitedShopBuyGoodsRsp)(nil), // 0: proto.HomeLimitedShopBuyGoodsRsp
+ (*HomeLimitedShopGoods)(nil), // 1: proto.HomeLimitedShopGoods
+}
+var file_HomeLimitedShopBuyGoodsRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShopBuyGoodsRsp.goods_list:type_name -> proto.HomeLimitedShopGoods
+ 1, // 1: proto.HomeLimitedShopBuyGoodsRsp.goods:type_name -> proto.HomeLimitedShopGoods
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopBuyGoodsRsp_proto_init() }
+func file_HomeLimitedShopBuyGoodsRsp_proto_init() {
+ if File_HomeLimitedShopBuyGoodsRsp_proto != nil {
+ return
+ }
+ file_HomeLimitedShopGoods_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopBuyGoodsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopBuyGoodsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopBuyGoodsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopBuyGoodsRsp_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopBuyGoodsRsp_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopBuyGoodsRsp_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopBuyGoodsRsp_proto = out.File
+ file_HomeLimitedShopBuyGoodsRsp_proto_rawDesc = nil
+ file_HomeLimitedShopBuyGoodsRsp_proto_goTypes = nil
+ file_HomeLimitedShopBuyGoodsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopGoods.pb.go b/protocol/proto/HomeLimitedShopGoods.pb.go
new file mode 100644
index 00000000..47fb2773
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopGoods.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopGoods.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeLimitedShopGoods struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuyLimit uint32 `protobuf:"varint,8,opt,name=buy_limit,json=buyLimit,proto3" json:"buy_limit,omitempty"`
+ CostItemList []*ItemParam `protobuf:"bytes,15,rep,name=cost_item_list,json=costItemList,proto3" json:"cost_item_list,omitempty"`
+ BoughtNum uint32 `protobuf:"varint,1,opt,name=bought_num,json=boughtNum,proto3" json:"bought_num,omitempty"`
+ GoodsItem *ItemParam `protobuf:"bytes,6,opt,name=goods_item,json=goodsItem,proto3" json:"goods_item,omitempty"`
+ GoodsId uint32 `protobuf:"varint,13,opt,name=goods_id,json=goodsId,proto3" json:"goods_id,omitempty"`
+ DisableType uint32 `protobuf:"varint,3,opt,name=disable_type,json=disableType,proto3" json:"disable_type,omitempty"`
+}
+
+func (x *HomeLimitedShopGoods) Reset() {
+ *x = HomeLimitedShopGoods{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopGoods_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopGoods) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopGoods) ProtoMessage() {}
+
+func (x *HomeLimitedShopGoods) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopGoods_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopGoods.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopGoods) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopGoods_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShopGoods) GetBuyLimit() uint32 {
+ if x != nil {
+ return x.BuyLimit
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopGoods) GetCostItemList() []*ItemParam {
+ if x != nil {
+ return x.CostItemList
+ }
+ return nil
+}
+
+func (x *HomeLimitedShopGoods) GetBoughtNum() uint32 {
+ if x != nil {
+ return x.BoughtNum
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopGoods) GetGoodsItem() *ItemParam {
+ if x != nil {
+ return x.GoodsItem
+ }
+ return nil
+}
+
+func (x *HomeLimitedShopGoods) GetGoodsId() uint32 {
+ if x != nil {
+ return x.GoodsId
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopGoods) GetDisableType() uint32 {
+ if x != nil {
+ return x.DisableType
+ }
+ return 0
+}
+
+var File_HomeLimitedShopGoods_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopGoods_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x01, 0x0a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d,
+ 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x1b, 0x0a,
+ 0x09, 0x62, 0x75, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x62, 0x75, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6f,
+ 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x5f, 0x6e, 0x75, 0x6d,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x4e, 0x75,
+ 0x6d, 0x12, 0x2f, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74,
+ 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x74,
+ 0x65, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a,
+ 0x0c, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopGoods_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopGoods_proto_rawDescData = file_HomeLimitedShopGoods_proto_rawDesc
+)
+
+func file_HomeLimitedShopGoods_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopGoods_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopGoods_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopGoods_proto_rawDescData)
+ })
+ return file_HomeLimitedShopGoods_proto_rawDescData
+}
+
+var file_HomeLimitedShopGoods_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopGoods_proto_goTypes = []interface{}{
+ (*HomeLimitedShopGoods)(nil), // 0: proto.HomeLimitedShopGoods
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_HomeLimitedShopGoods_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShopGoods.cost_item_list:type_name -> proto.ItemParam
+ 1, // 1: proto.HomeLimitedShopGoods.goods_item:type_name -> proto.ItemParam
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopGoods_proto_init() }
+func file_HomeLimitedShopGoods_proto_init() {
+ if File_HomeLimitedShopGoods_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopGoods_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopGoods); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopGoods_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopGoods_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopGoods_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopGoods_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopGoods_proto = out.File
+ file_HomeLimitedShopGoods_proto_rawDesc = nil
+ file_HomeLimitedShopGoods_proto_goTypes = nil
+ file_HomeLimitedShopGoods_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopGoodsListReq.pb.go b/protocol/proto/HomeLimitedShopGoodsListReq.pb.go
new file mode 100644
index 00000000..3078a64d
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopGoodsListReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopGoodsListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4552
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeLimitedShopGoodsListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeLimitedShopGoodsListReq) Reset() {
+ *x = HomeLimitedShopGoodsListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopGoodsListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopGoodsListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopGoodsListReq) ProtoMessage() {}
+
+func (x *HomeLimitedShopGoodsListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopGoodsListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopGoodsListReq.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopGoodsListReq) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopGoodsListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeLimitedShopGoodsListReq_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopGoodsListReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x48, 0x6f,
+ 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f,
+ 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopGoodsListReq_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopGoodsListReq_proto_rawDescData = file_HomeLimitedShopGoodsListReq_proto_rawDesc
+)
+
+func file_HomeLimitedShopGoodsListReq_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopGoodsListReq_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopGoodsListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopGoodsListReq_proto_rawDescData)
+ })
+ return file_HomeLimitedShopGoodsListReq_proto_rawDescData
+}
+
+var file_HomeLimitedShopGoodsListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopGoodsListReq_proto_goTypes = []interface{}{
+ (*HomeLimitedShopGoodsListReq)(nil), // 0: proto.HomeLimitedShopGoodsListReq
+}
+var file_HomeLimitedShopGoodsListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopGoodsListReq_proto_init() }
+func file_HomeLimitedShopGoodsListReq_proto_init() {
+ if File_HomeLimitedShopGoodsListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopGoodsListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopGoodsListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopGoodsListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopGoodsListReq_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopGoodsListReq_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopGoodsListReq_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopGoodsListReq_proto = out.File
+ file_HomeLimitedShopGoodsListReq_proto_rawDesc = nil
+ file_HomeLimitedShopGoodsListReq_proto_goTypes = nil
+ file_HomeLimitedShopGoodsListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopGoodsListRsp.pb.go b/protocol/proto/HomeLimitedShopGoodsListRsp.pb.go
new file mode 100644
index 00000000..b0b07e81
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopGoodsListRsp.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopGoodsListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4546
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeLimitedShopGoodsListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Shop *HomeLimitedShop `protobuf:"bytes,12,opt,name=shop,proto3" json:"shop,omitempty"`
+}
+
+func (x *HomeLimitedShopGoodsListRsp) Reset() {
+ *x = HomeLimitedShopGoodsListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopGoodsListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopGoodsListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopGoodsListRsp) ProtoMessage() {}
+
+func (x *HomeLimitedShopGoodsListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopGoodsListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopGoodsListRsp.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopGoodsListRsp) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopGoodsListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShopGoodsListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopGoodsListRsp) GetShop() *HomeLimitedShop {
+ if x != nil {
+ return x.Shop
+ }
+ return nil
+}
+
+var File_HomeLimitedShopGoodsListRsp_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopGoodsListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x48, 0x6f, 0x6d, 0x65,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x63, 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64,
+ 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x68,
+ 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70,
+ 0x52, 0x04, 0x73, 0x68, 0x6f, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopGoodsListRsp_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopGoodsListRsp_proto_rawDescData = file_HomeLimitedShopGoodsListRsp_proto_rawDesc
+)
+
+func file_HomeLimitedShopGoodsListRsp_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopGoodsListRsp_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopGoodsListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopGoodsListRsp_proto_rawDescData)
+ })
+ return file_HomeLimitedShopGoodsListRsp_proto_rawDescData
+}
+
+var file_HomeLimitedShopGoodsListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopGoodsListRsp_proto_goTypes = []interface{}{
+ (*HomeLimitedShopGoodsListRsp)(nil), // 0: proto.HomeLimitedShopGoodsListRsp
+ (*HomeLimitedShop)(nil), // 1: proto.HomeLimitedShop
+}
+var file_HomeLimitedShopGoodsListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShopGoodsListRsp.shop:type_name -> proto.HomeLimitedShop
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopGoodsListRsp_proto_init() }
+func file_HomeLimitedShopGoodsListRsp_proto_init() {
+ if File_HomeLimitedShopGoodsListRsp_proto != nil {
+ return
+ }
+ file_HomeLimitedShop_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopGoodsListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopGoodsListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopGoodsListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopGoodsListRsp_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopGoodsListRsp_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopGoodsListRsp_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopGoodsListRsp_proto = out.File
+ file_HomeLimitedShopGoodsListRsp_proto_rawDesc = nil
+ file_HomeLimitedShopGoodsListRsp_proto_goTypes = nil
+ file_HomeLimitedShopGoodsListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopInfo.pb.go b/protocol/proto/HomeLimitedShopInfo.pb.go
new file mode 100644
index 00000000..d26de273
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfo.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeLimitedShopInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NextCloseTime uint32 `protobuf:"fixed32,9,opt,name=next_close_time,json=nextCloseTime,proto3" json:"next_close_time,omitempty"`
+ NextGuestOpenTime uint32 `protobuf:"fixed32,11,opt,name=next_guest_open_time,json=nextGuestOpenTime,proto3" json:"next_guest_open_time,omitempty"`
+ DjinnRot *Vector `protobuf:"bytes,7,opt,name=djinn_rot,json=djinnRot,proto3" json:"djinn_rot,omitempty"`
+ Uid uint32 `protobuf:"varint,4,opt,name=uid,proto3" json:"uid,omitempty"`
+ NextOpenTime uint32 `protobuf:"fixed32,6,opt,name=next_open_time,json=nextOpenTime,proto3" json:"next_open_time,omitempty"`
+ DjinnPos *Vector `protobuf:"bytes,2,opt,name=djinn_pos,json=djinnPos,proto3" json:"djinn_pos,omitempty"`
+}
+
+func (x *HomeLimitedShopInfo) Reset() {
+ *x = HomeLimitedShopInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopInfo) ProtoMessage() {}
+
+func (x *HomeLimitedShopInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopInfo.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopInfo) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShopInfo) GetNextCloseTime() uint32 {
+ if x != nil {
+ return x.NextCloseTime
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopInfo) GetNextGuestOpenTime() uint32 {
+ if x != nil {
+ return x.NextGuestOpenTime
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopInfo) GetDjinnRot() *Vector {
+ if x != nil {
+ return x.DjinnRot
+ }
+ return nil
+}
+
+func (x *HomeLimitedShopInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopInfo) GetNextOpenTime() uint32 {
+ if x != nil {
+ return x.NextOpenTime
+ }
+ return 0
+}
+
+func (x *HomeLimitedShopInfo) GetDjinnPos() *Vector {
+ if x != nil {
+ return x.DjinnPos
+ }
+ return nil
+}
+
+var File_HomeLimitedShopInfo_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xfe, 0x01, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64,
+ 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
+ 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x07, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x2f, 0x0a, 0x14, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f,
+ 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x07, 0x52, 0x11,
+ 0x6e, 0x65, 0x78, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x64, 0x6a, 0x69, 0x6e, 0x6e, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x08, 0x64, 0x6a, 0x69, 0x6e, 0x6e, 0x52, 0x6f, 0x74, 0x12, 0x10, 0x0a,
+ 0x03, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
+ 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x4f, 0x70, 0x65,
+ 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x64, 0x6a, 0x69, 0x6e, 0x6e, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x64, 0x6a, 0x69, 0x6e, 0x6e, 0x50, 0x6f,
+ 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopInfo_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopInfo_proto_rawDescData = file_HomeLimitedShopInfo_proto_rawDesc
+)
+
+func file_HomeLimitedShopInfo_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopInfo_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopInfo_proto_rawDescData)
+ })
+ return file_HomeLimitedShopInfo_proto_rawDescData
+}
+
+var file_HomeLimitedShopInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopInfo_proto_goTypes = []interface{}{
+ (*HomeLimitedShopInfo)(nil), // 0: proto.HomeLimitedShopInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeLimitedShopInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShopInfo.djinn_rot:type_name -> proto.Vector
+ 1, // 1: proto.HomeLimitedShopInfo.djinn_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopInfo_proto_init() }
+func file_HomeLimitedShopInfo_proto_init() {
+ if File_HomeLimitedShopInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopInfo_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopInfo_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopInfo_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopInfo_proto = out.File
+ file_HomeLimitedShopInfo_proto_rawDesc = nil
+ file_HomeLimitedShopInfo_proto_goTypes = nil
+ file_HomeLimitedShopInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopInfoChangeNotify.pb.go b/protocol/proto/HomeLimitedShopInfoChangeNotify.pb.go
new file mode 100644
index 00000000..383d105c
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfoChangeNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopInfoChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4790
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeLimitedShopInfoChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GoodsList []*HomeLimitedShopGoods `protobuf:"bytes,5,rep,name=goods_list,json=goodsList,proto3" json:"goods_list,omitempty"`
+}
+
+func (x *HomeLimitedShopInfoChangeNotify) Reset() {
+ *x = HomeLimitedShopInfoChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopInfoChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopInfoChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopInfoChangeNotify) ProtoMessage() {}
+
+func (x *HomeLimitedShopInfoChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopInfoChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopInfoChangeNotify.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopInfoChangeNotify) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopInfoChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShopInfoChangeNotify) GetGoodsList() []*HomeLimitedShopGoods {
+ if x != nil {
+ return x.GoodsList
+ }
+ return nil
+}
+
+var File_HomeLimitedShopInfoChangeNotify_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopInfoChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a,
+ 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47,
+ 0x6f, 0x6f, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x1f, 0x48, 0x6f,
+ 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66,
+ 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3a, 0x0a,
+ 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69,
+ 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x09,
+ 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopInfoChangeNotify_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopInfoChangeNotify_proto_rawDescData = file_HomeLimitedShopInfoChangeNotify_proto_rawDesc
+)
+
+func file_HomeLimitedShopInfoChangeNotify_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopInfoChangeNotify_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopInfoChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopInfoChangeNotify_proto_rawDescData)
+ })
+ return file_HomeLimitedShopInfoChangeNotify_proto_rawDescData
+}
+
+var file_HomeLimitedShopInfoChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopInfoChangeNotify_proto_goTypes = []interface{}{
+ (*HomeLimitedShopInfoChangeNotify)(nil), // 0: proto.HomeLimitedShopInfoChangeNotify
+ (*HomeLimitedShopGoods)(nil), // 1: proto.HomeLimitedShopGoods
+}
+var file_HomeLimitedShopInfoChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShopInfoChangeNotify.goods_list:type_name -> proto.HomeLimitedShopGoods
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopInfoChangeNotify_proto_init() }
+func file_HomeLimitedShopInfoChangeNotify_proto_init() {
+ if File_HomeLimitedShopInfoChangeNotify_proto != nil {
+ return
+ }
+ file_HomeLimitedShopGoods_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopInfoChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopInfoChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopInfoChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopInfoChangeNotify_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopInfoChangeNotify_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopInfoChangeNotify_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopInfoChangeNotify_proto = out.File
+ file_HomeLimitedShopInfoChangeNotify_proto_rawDesc = nil
+ file_HomeLimitedShopInfoChangeNotify_proto_goTypes = nil
+ file_HomeLimitedShopInfoChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopInfoNotify.pb.go b/protocol/proto/HomeLimitedShopInfoNotify.pb.go
new file mode 100644
index 00000000..0da320b1
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfoNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4887
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeLimitedShopInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShopInfo *HomeLimitedShopInfo `protobuf:"bytes,2,opt,name=shop_info,json=shopInfo,proto3" json:"shop_info,omitempty"`
+}
+
+func (x *HomeLimitedShopInfoNotify) Reset() {
+ *x = HomeLimitedShopInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopInfoNotify) ProtoMessage() {}
+
+func (x *HomeLimitedShopInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShopInfoNotify) GetShopInfo() *HomeLimitedShopInfo {
+ if x != nil {
+ return x.ShopInfo
+ }
+ return nil
+}
+
+var File_HomeLimitedShopInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69,
+ 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
+ 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x37, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x08, 0x73, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopInfoNotify_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopInfoNotify_proto_rawDescData = file_HomeLimitedShopInfoNotify_proto_rawDesc
+)
+
+func file_HomeLimitedShopInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopInfoNotify_proto_rawDescData)
+ })
+ return file_HomeLimitedShopInfoNotify_proto_rawDescData
+}
+
+var file_HomeLimitedShopInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopInfoNotify_proto_goTypes = []interface{}{
+ (*HomeLimitedShopInfoNotify)(nil), // 0: proto.HomeLimitedShopInfoNotify
+ (*HomeLimitedShopInfo)(nil), // 1: proto.HomeLimitedShopInfo
+}
+var file_HomeLimitedShopInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShopInfoNotify.shop_info:type_name -> proto.HomeLimitedShopInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopInfoNotify_proto_init() }
+func file_HomeLimitedShopInfoNotify_proto_init() {
+ if File_HomeLimitedShopInfoNotify_proto != nil {
+ return
+ }
+ file_HomeLimitedShopInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopInfoNotify_proto = out.File
+ file_HomeLimitedShopInfoNotify_proto_rawDesc = nil
+ file_HomeLimitedShopInfoNotify_proto_goTypes = nil
+ file_HomeLimitedShopInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopInfoReq.pb.go b/protocol/proto/HomeLimitedShopInfoReq.pb.go
new file mode 100644
index 00000000..71de4729
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4825
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeLimitedShopInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeLimitedShopInfoReq) Reset() {
+ *x = HomeLimitedShopInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopInfoReq) ProtoMessage() {}
+
+func (x *HomeLimitedShopInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeLimitedShopInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d,
+ 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeLimitedShopInfoReq_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopInfoReq_proto_rawDescData = file_HomeLimitedShopInfoReq_proto_rawDesc
+)
+
+func file_HomeLimitedShopInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopInfoReq_proto_rawDescData)
+ })
+ return file_HomeLimitedShopInfoReq_proto_rawDescData
+}
+
+var file_HomeLimitedShopInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopInfoReq_proto_goTypes = []interface{}{
+ (*HomeLimitedShopInfoReq)(nil), // 0: proto.HomeLimitedShopInfoReq
+}
+var file_HomeLimitedShopInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopInfoReq_proto_init() }
+func file_HomeLimitedShopInfoReq_proto_init() {
+ if File_HomeLimitedShopInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopInfoReq_proto = out.File
+ file_HomeLimitedShopInfoReq_proto_rawDesc = nil
+ file_HomeLimitedShopInfoReq_proto_goTypes = nil
+ file_HomeLimitedShopInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeLimitedShopInfoRsp.pb.go b/protocol/proto/HomeLimitedShopInfoRsp.pb.go
new file mode 100644
index 00000000..537452c8
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfoRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeLimitedShopInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4796
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeLimitedShopInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShopInfo *HomeLimitedShopInfo `protobuf:"bytes,10,opt,name=shop_info,json=shopInfo,proto3" json:"shop_info,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeLimitedShopInfoRsp) Reset() {
+ *x = HomeLimitedShopInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeLimitedShopInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeLimitedShopInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeLimitedShopInfoRsp) ProtoMessage() {}
+
+func (x *HomeLimitedShopInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeLimitedShopInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeLimitedShopInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomeLimitedShopInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomeLimitedShopInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeLimitedShopInfoRsp) GetShopInfo() *HomeLimitedShopInfo {
+ if x != nil {
+ return x.ShopInfo
+ }
+ return nil
+}
+
+func (x *HomeLimitedShopInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeLimitedShopInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomeLimitedShopInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53, 0x68, 0x6f,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
+ 0x65, 0x64, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6b, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x53,
+ 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x68,
+ 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65,
+ 0x64, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x70, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeLimitedShopInfoRsp_proto_rawDescOnce sync.Once
+ file_HomeLimitedShopInfoRsp_proto_rawDescData = file_HomeLimitedShopInfoRsp_proto_rawDesc
+)
+
+func file_HomeLimitedShopInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomeLimitedShopInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomeLimitedShopInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeLimitedShopInfoRsp_proto_rawDescData)
+ })
+ return file_HomeLimitedShopInfoRsp_proto_rawDescData
+}
+
+var file_HomeLimitedShopInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeLimitedShopInfoRsp_proto_goTypes = []interface{}{
+ (*HomeLimitedShopInfoRsp)(nil), // 0: proto.HomeLimitedShopInfoRsp
+ (*HomeLimitedShopInfo)(nil), // 1: proto.HomeLimitedShopInfo
+}
+var file_HomeLimitedShopInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeLimitedShopInfoRsp.shop_info:type_name -> proto.HomeLimitedShopInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeLimitedShopInfoRsp_proto_init() }
+func file_HomeLimitedShopInfoRsp_proto_init() {
+ if File_HomeLimitedShopInfoRsp_proto != nil {
+ return
+ }
+ file_HomeLimitedShopInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeLimitedShopInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeLimitedShopInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeLimitedShopInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeLimitedShopInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomeLimitedShopInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomeLimitedShopInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomeLimitedShopInfoRsp_proto = out.File
+ file_HomeLimitedShopInfoRsp_proto_rawDesc = nil
+ file_HomeLimitedShopInfoRsp_proto_goTypes = nil
+ file_HomeLimitedShopInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeMarkPointFurnitureData.pb.go b/protocol/proto/HomeMarkPointFurnitureData.pb.go
new file mode 100644
index 00000000..721fbbf8
--- /dev/null
+++ b/protocol/proto/HomeMarkPointFurnitureData.pb.go
@@ -0,0 +1,258 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeMarkPointFurnitureData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeMarkPointFurnitureData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint32 `protobuf:"varint,1,opt,name=guid,proto3" json:"guid,omitempty"`
+ FurnitureId uint32 `protobuf:"varint,2,opt,name=furniture_id,json=furnitureId,proto3" json:"furniture_id,omitempty"`
+ FurnitureType uint32 `protobuf:"varint,3,opt,name=furniture_type,json=furnitureType,proto3" json:"furniture_type,omitempty"`
+ Pos *Vector `protobuf:"bytes,4,opt,name=pos,proto3" json:"pos,omitempty"`
+ // Types that are assignable to Extra:
+ //
+ // *HomeMarkPointFurnitureData_NpcData
+ // *HomeMarkPointFurnitureData_SuiteData
+ Extra isHomeMarkPointFurnitureData_Extra `protobuf_oneof:"extra"`
+}
+
+func (x *HomeMarkPointFurnitureData) Reset() {
+ *x = HomeMarkPointFurnitureData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeMarkPointFurnitureData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeMarkPointFurnitureData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeMarkPointFurnitureData) ProtoMessage() {}
+
+func (x *HomeMarkPointFurnitureData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeMarkPointFurnitureData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeMarkPointFurnitureData.ProtoReflect.Descriptor instead.
+func (*HomeMarkPointFurnitureData) Descriptor() ([]byte, []int) {
+ return file_HomeMarkPointFurnitureData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeMarkPointFurnitureData) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeMarkPointFurnitureData) GetFurnitureId() uint32 {
+ if x != nil {
+ return x.FurnitureId
+ }
+ return 0
+}
+
+func (x *HomeMarkPointFurnitureData) GetFurnitureType() uint32 {
+ if x != nil {
+ return x.FurnitureType
+ }
+ return 0
+}
+
+func (x *HomeMarkPointFurnitureData) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (m *HomeMarkPointFurnitureData) GetExtra() isHomeMarkPointFurnitureData_Extra {
+ if m != nil {
+ return m.Extra
+ }
+ return nil
+}
+
+func (x *HomeMarkPointFurnitureData) GetNpcData() *HomeMarkPointNPCData {
+ if x, ok := x.GetExtra().(*HomeMarkPointFurnitureData_NpcData); ok {
+ return x.NpcData
+ }
+ return nil
+}
+
+func (x *HomeMarkPointFurnitureData) GetSuiteData() *HomeMarkPointSuiteData {
+ if x, ok := x.GetExtra().(*HomeMarkPointFurnitureData_SuiteData); ok {
+ return x.SuiteData
+ }
+ return nil
+}
+
+type isHomeMarkPointFurnitureData_Extra interface {
+ isHomeMarkPointFurnitureData_Extra()
+}
+
+type HomeMarkPointFurnitureData_NpcData struct {
+ NpcData *HomeMarkPointNPCData `protobuf:"bytes,6,opt,name=npc_data,json=npcData,proto3,oneof"`
+}
+
+type HomeMarkPointFurnitureData_SuiteData struct {
+ SuiteData *HomeMarkPointSuiteData `protobuf:"bytes,7,opt,name=suite_data,json=suiteData,proto3,oneof"`
+}
+
+func (*HomeMarkPointFurnitureData_NpcData) isHomeMarkPointFurnitureData_Extra() {}
+
+func (*HomeMarkPointFurnitureData_SuiteData) isHomeMarkPointFurnitureData_Extra() {}
+
+var File_HomeMarkPointFurnitureData_proto protoreflect.FileDescriptor
+
+var file_HomeMarkPointFurnitureData_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46,
+ 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x4d,
+ 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x9e, 0x02, 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
+ 0x67, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f,
+ 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12,
+ 0x38, 0x0a, 0x08, 0x6e, 0x70, 0x63, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61,
+ 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00,
+ 0x52, 0x07, 0x6e, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x75, 0x69,
+ 0x74, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x09,
+ 0x73, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x78, 0x74,
+ 0x72, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeMarkPointFurnitureData_proto_rawDescOnce sync.Once
+ file_HomeMarkPointFurnitureData_proto_rawDescData = file_HomeMarkPointFurnitureData_proto_rawDesc
+)
+
+func file_HomeMarkPointFurnitureData_proto_rawDescGZIP() []byte {
+ file_HomeMarkPointFurnitureData_proto_rawDescOnce.Do(func() {
+ file_HomeMarkPointFurnitureData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeMarkPointFurnitureData_proto_rawDescData)
+ })
+ return file_HomeMarkPointFurnitureData_proto_rawDescData
+}
+
+var file_HomeMarkPointFurnitureData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeMarkPointFurnitureData_proto_goTypes = []interface{}{
+ (*HomeMarkPointFurnitureData)(nil), // 0: proto.HomeMarkPointFurnitureData
+ (*Vector)(nil), // 1: proto.Vector
+ (*HomeMarkPointNPCData)(nil), // 2: proto.HomeMarkPointNPCData
+ (*HomeMarkPointSuiteData)(nil), // 3: proto.HomeMarkPointSuiteData
+}
+var file_HomeMarkPointFurnitureData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeMarkPointFurnitureData.pos:type_name -> proto.Vector
+ 2, // 1: proto.HomeMarkPointFurnitureData.npc_data:type_name -> proto.HomeMarkPointNPCData
+ 3, // 2: proto.HomeMarkPointFurnitureData.suite_data:type_name -> proto.HomeMarkPointSuiteData
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_HomeMarkPointFurnitureData_proto_init() }
+func file_HomeMarkPointFurnitureData_proto_init() {
+ if File_HomeMarkPointFurnitureData_proto != nil {
+ return
+ }
+ file_HomeMarkPointNPCData_proto_init()
+ file_HomeMarkPointSuiteData_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeMarkPointFurnitureData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeMarkPointFurnitureData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_HomeMarkPointFurnitureData_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*HomeMarkPointFurnitureData_NpcData)(nil),
+ (*HomeMarkPointFurnitureData_SuiteData)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeMarkPointFurnitureData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeMarkPointFurnitureData_proto_goTypes,
+ DependencyIndexes: file_HomeMarkPointFurnitureData_proto_depIdxs,
+ MessageInfos: file_HomeMarkPointFurnitureData_proto_msgTypes,
+ }.Build()
+ File_HomeMarkPointFurnitureData_proto = out.File
+ file_HomeMarkPointFurnitureData_proto_rawDesc = nil
+ file_HomeMarkPointFurnitureData_proto_goTypes = nil
+ file_HomeMarkPointFurnitureData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeMarkPointNPCData.pb.go b/protocol/proto/HomeMarkPointNPCData.pb.go
new file mode 100644
index 00000000..78249a8c
--- /dev/null
+++ b/protocol/proto/HomeMarkPointNPCData.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeMarkPointNPCData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeMarkPointNPCData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ CostumeId uint32 `protobuf:"varint,2,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+}
+
+func (x *HomeMarkPointNPCData) Reset() {
+ *x = HomeMarkPointNPCData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeMarkPointNPCData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeMarkPointNPCData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeMarkPointNPCData) ProtoMessage() {}
+
+func (x *HomeMarkPointNPCData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeMarkPointNPCData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeMarkPointNPCData.ProtoReflect.Descriptor instead.
+func (*HomeMarkPointNPCData) Descriptor() ([]byte, []int) {
+ return file_HomeMarkPointNPCData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeMarkPointNPCData) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *HomeMarkPointNPCData) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+var File_HomeMarkPointNPCData_proto protoreflect.FileDescriptor
+
+var file_HomeMarkPointNPCData_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e,
+ 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x50, 0x43, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74,
+ 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f,
+ 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeMarkPointNPCData_proto_rawDescOnce sync.Once
+ file_HomeMarkPointNPCData_proto_rawDescData = file_HomeMarkPointNPCData_proto_rawDesc
+)
+
+func file_HomeMarkPointNPCData_proto_rawDescGZIP() []byte {
+ file_HomeMarkPointNPCData_proto_rawDescOnce.Do(func() {
+ file_HomeMarkPointNPCData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeMarkPointNPCData_proto_rawDescData)
+ })
+ return file_HomeMarkPointNPCData_proto_rawDescData
+}
+
+var file_HomeMarkPointNPCData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeMarkPointNPCData_proto_goTypes = []interface{}{
+ (*HomeMarkPointNPCData)(nil), // 0: proto.HomeMarkPointNPCData
+}
+var file_HomeMarkPointNPCData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeMarkPointNPCData_proto_init() }
+func file_HomeMarkPointNPCData_proto_init() {
+ if File_HomeMarkPointNPCData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeMarkPointNPCData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeMarkPointNPCData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeMarkPointNPCData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeMarkPointNPCData_proto_goTypes,
+ DependencyIndexes: file_HomeMarkPointNPCData_proto_depIdxs,
+ MessageInfos: file_HomeMarkPointNPCData_proto_msgTypes,
+ }.Build()
+ File_HomeMarkPointNPCData_proto = out.File
+ file_HomeMarkPointNPCData_proto_rawDesc = nil
+ file_HomeMarkPointNPCData_proto_goTypes = nil
+ file_HomeMarkPointNPCData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeMarkPointNotify.pb.go b/protocol/proto/HomeMarkPointNotify.pb.go
new file mode 100644
index 00000000..a6d62ce5
--- /dev/null
+++ b/protocol/proto/HomeMarkPointNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeMarkPointNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4474
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeMarkPointNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MarkPointDataList []*HomeMarkPointSceneData `protobuf:"bytes,12,rep,name=mark_point_data_list,json=markPointDataList,proto3" json:"mark_point_data_list,omitempty"`
+}
+
+func (x *HomeMarkPointNotify) Reset() {
+ *x = HomeMarkPointNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeMarkPointNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeMarkPointNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeMarkPointNotify) ProtoMessage() {}
+
+func (x *HomeMarkPointNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeMarkPointNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeMarkPointNotify.ProtoReflect.Descriptor instead.
+func (*HomeMarkPointNotify) Descriptor() ([]byte, []int) {
+ return file_HomeMarkPointNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeMarkPointNotify) GetMarkPointDataList() []*HomeMarkPointSceneData {
+ if x != nil {
+ return x.MarkPointDataList
+ }
+ return nil
+}
+
+var File_HomeMarkPointNotify_proto protoreflect.FileDescriptor
+
+var file_HomeMarkPointNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x65, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x4e, 0x0a, 0x14, 0x6d, 0x61, 0x72, 0x6b, 0x5f,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x11, 0x6d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeMarkPointNotify_proto_rawDescOnce sync.Once
+ file_HomeMarkPointNotify_proto_rawDescData = file_HomeMarkPointNotify_proto_rawDesc
+)
+
+func file_HomeMarkPointNotify_proto_rawDescGZIP() []byte {
+ file_HomeMarkPointNotify_proto_rawDescOnce.Do(func() {
+ file_HomeMarkPointNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeMarkPointNotify_proto_rawDescData)
+ })
+ return file_HomeMarkPointNotify_proto_rawDescData
+}
+
+var file_HomeMarkPointNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeMarkPointNotify_proto_goTypes = []interface{}{
+ (*HomeMarkPointNotify)(nil), // 0: proto.HomeMarkPointNotify
+ (*HomeMarkPointSceneData)(nil), // 1: proto.HomeMarkPointSceneData
+}
+var file_HomeMarkPointNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeMarkPointNotify.mark_point_data_list:type_name -> proto.HomeMarkPointSceneData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeMarkPointNotify_proto_init() }
+func file_HomeMarkPointNotify_proto_init() {
+ if File_HomeMarkPointNotify_proto != nil {
+ return
+ }
+ file_HomeMarkPointSceneData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeMarkPointNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeMarkPointNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeMarkPointNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeMarkPointNotify_proto_goTypes,
+ DependencyIndexes: file_HomeMarkPointNotify_proto_depIdxs,
+ MessageInfos: file_HomeMarkPointNotify_proto_msgTypes,
+ }.Build()
+ File_HomeMarkPointNotify_proto = out.File
+ file_HomeMarkPointNotify_proto_rawDesc = nil
+ file_HomeMarkPointNotify_proto_goTypes = nil
+ file_HomeMarkPointNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeMarkPointSceneData.pb.go b/protocol/proto/HomeMarkPointSceneData.pb.go
new file mode 100644
index 00000000..edc2ccdb
--- /dev/null
+++ b/protocol/proto/HomeMarkPointSceneData.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeMarkPointSceneData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeMarkPointSceneData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureList []*HomeMarkPointFurnitureData `protobuf:"bytes,6,rep,name=furniture_list,json=furnitureList,proto3" json:"furniture_list,omitempty"`
+ TeapotSpiritPos *Vector `protobuf:"bytes,4,opt,name=teapot_spirit_pos,json=teapotSpiritPos,proto3" json:"teapot_spirit_pos,omitempty"`
+ SceneId uint32 `protobuf:"varint,2,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ ModuleId uint32 `protobuf:"varint,5,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+ SafePointPos *Vector `protobuf:"bytes,11,opt,name=safe_point_pos,json=safePointPos,proto3" json:"safe_point_pos,omitempty"`
+}
+
+func (x *HomeMarkPointSceneData) Reset() {
+ *x = HomeMarkPointSceneData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeMarkPointSceneData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeMarkPointSceneData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeMarkPointSceneData) ProtoMessage() {}
+
+func (x *HomeMarkPointSceneData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeMarkPointSceneData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeMarkPointSceneData.ProtoReflect.Descriptor instead.
+func (*HomeMarkPointSceneData) Descriptor() ([]byte, []int) {
+ return file_HomeMarkPointSceneData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeMarkPointSceneData) GetFurnitureList() []*HomeMarkPointFurnitureData {
+ if x != nil {
+ return x.FurnitureList
+ }
+ return nil
+}
+
+func (x *HomeMarkPointSceneData) GetTeapotSpiritPos() *Vector {
+ if x != nil {
+ return x.TeapotSpiritPos
+ }
+ return nil
+}
+
+func (x *HomeMarkPointSceneData) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeMarkPointSceneData) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+func (x *HomeMarkPointSceneData) GetSafePointPos() *Vector {
+ if x != nil {
+ return x.SafePointPos
+ }
+ return nil
+}
+
+var File_HomeMarkPointSceneData_proto protoreflect.FileDescriptor
+
+var file_HomeMarkPointSceneData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61,
+ 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x48, 0x0a, 0x0e, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x75,
+ 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x66, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x11, 0x74, 0x65,
+ 0x61, 0x70, 0x6f, 0x74, 0x5f, 0x73, 0x70, 0x69, 0x72, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x74, 0x65, 0x61, 0x70, 0x6f, 0x74, 0x53, 0x70, 0x69, 0x72,
+ 0x69, 0x74, 0x50, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x33, 0x0a,
+ 0x0e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x73, 0x61, 0x66, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x50,
+ 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeMarkPointSceneData_proto_rawDescOnce sync.Once
+ file_HomeMarkPointSceneData_proto_rawDescData = file_HomeMarkPointSceneData_proto_rawDesc
+)
+
+func file_HomeMarkPointSceneData_proto_rawDescGZIP() []byte {
+ file_HomeMarkPointSceneData_proto_rawDescOnce.Do(func() {
+ file_HomeMarkPointSceneData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeMarkPointSceneData_proto_rawDescData)
+ })
+ return file_HomeMarkPointSceneData_proto_rawDescData
+}
+
+var file_HomeMarkPointSceneData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeMarkPointSceneData_proto_goTypes = []interface{}{
+ (*HomeMarkPointSceneData)(nil), // 0: proto.HomeMarkPointSceneData
+ (*HomeMarkPointFurnitureData)(nil), // 1: proto.HomeMarkPointFurnitureData
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_HomeMarkPointSceneData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeMarkPointSceneData.furniture_list:type_name -> proto.HomeMarkPointFurnitureData
+ 2, // 1: proto.HomeMarkPointSceneData.teapot_spirit_pos:type_name -> proto.Vector
+ 2, // 2: proto.HomeMarkPointSceneData.safe_point_pos:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_HomeMarkPointSceneData_proto_init() }
+func file_HomeMarkPointSceneData_proto_init() {
+ if File_HomeMarkPointSceneData_proto != nil {
+ return
+ }
+ file_HomeMarkPointFurnitureData_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeMarkPointSceneData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeMarkPointSceneData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeMarkPointSceneData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeMarkPointSceneData_proto_goTypes,
+ DependencyIndexes: file_HomeMarkPointSceneData_proto_depIdxs,
+ MessageInfos: file_HomeMarkPointSceneData_proto_msgTypes,
+ }.Build()
+ File_HomeMarkPointSceneData_proto = out.File
+ file_HomeMarkPointSceneData_proto_rawDesc = nil
+ file_HomeMarkPointSceneData_proto_goTypes = nil
+ file_HomeMarkPointSceneData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeMarkPointSuiteData.pb.go b/protocol/proto/HomeMarkPointSuiteData.pb.go
new file mode 100644
index 00000000..039490d2
--- /dev/null
+++ b/protocol/proto/HomeMarkPointSuiteData.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeMarkPointSuiteData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeMarkPointSuiteData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SuiteId uint32 `protobuf:"varint,1,opt,name=suite_id,json=suiteId,proto3" json:"suite_id,omitempty"`
+}
+
+func (x *HomeMarkPointSuiteData) Reset() {
+ *x = HomeMarkPointSuiteData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeMarkPointSuiteData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeMarkPointSuiteData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeMarkPointSuiteData) ProtoMessage() {}
+
+func (x *HomeMarkPointSuiteData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeMarkPointSuiteData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeMarkPointSuiteData.ProtoReflect.Descriptor instead.
+func (*HomeMarkPointSuiteData) Descriptor() ([]byte, []int) {
+ return file_HomeMarkPointSuiteData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeMarkPointSuiteData) GetSuiteId() uint32 {
+ if x != nil {
+ return x.SuiteId
+ }
+ return 0
+}
+
+var File_HomeMarkPointSuiteData_proto protoreflect.FileDescriptor
+
+var file_HomeMarkPointSuiteData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53,
+ 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x72,
+ 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeMarkPointSuiteData_proto_rawDescOnce sync.Once
+ file_HomeMarkPointSuiteData_proto_rawDescData = file_HomeMarkPointSuiteData_proto_rawDesc
+)
+
+func file_HomeMarkPointSuiteData_proto_rawDescGZIP() []byte {
+ file_HomeMarkPointSuiteData_proto_rawDescOnce.Do(func() {
+ file_HomeMarkPointSuiteData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeMarkPointSuiteData_proto_rawDescData)
+ })
+ return file_HomeMarkPointSuiteData_proto_rawDescData
+}
+
+var file_HomeMarkPointSuiteData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeMarkPointSuiteData_proto_goTypes = []interface{}{
+ (*HomeMarkPointSuiteData)(nil), // 0: proto.HomeMarkPointSuiteData
+}
+var file_HomeMarkPointSuiteData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeMarkPointSuiteData_proto_init() }
+func file_HomeMarkPointSuiteData_proto_init() {
+ if File_HomeMarkPointSuiteData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeMarkPointSuiteData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeMarkPointSuiteData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeMarkPointSuiteData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeMarkPointSuiteData_proto_goTypes,
+ DependencyIndexes: file_HomeMarkPointSuiteData_proto_depIdxs,
+ MessageInfos: file_HomeMarkPointSuiteData_proto_msgTypes,
+ }.Build()
+ File_HomeMarkPointSuiteData_proto = out.File
+ file_HomeMarkPointSuiteData_proto_rawDesc = nil
+ file_HomeMarkPointSuiteData_proto_goTypes = nil
+ file_HomeMarkPointSuiteData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeModuleComfortInfo.pb.go b/protocol/proto/HomeModuleComfortInfo.pb.go
new file mode 100644
index 00000000..cc261b05
--- /dev/null
+++ b/protocol/proto/HomeModuleComfortInfo.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeModuleComfortInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeModuleComfortInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModuleId uint32 `protobuf:"varint,13,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+ RoomSceneComfortValue uint32 `protobuf:"varint,9,opt,name=room_scene_comfort_value,json=roomSceneComfortValue,proto3" json:"room_scene_comfort_value,omitempty"`
+ WorldSceneBlockComfortValueList []uint32 `protobuf:"varint,3,rep,packed,name=world_scene_block_comfort_value_list,json=worldSceneBlockComfortValueList,proto3" json:"world_scene_block_comfort_value_list,omitempty"`
+}
+
+func (x *HomeModuleComfortInfo) Reset() {
+ *x = HomeModuleComfortInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeModuleComfortInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeModuleComfortInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeModuleComfortInfo) ProtoMessage() {}
+
+func (x *HomeModuleComfortInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeModuleComfortInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeModuleComfortInfo.ProtoReflect.Descriptor instead.
+func (*HomeModuleComfortInfo) Descriptor() ([]byte, []int) {
+ return file_HomeModuleComfortInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeModuleComfortInfo) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+func (x *HomeModuleComfortInfo) GetRoomSceneComfortValue() uint32 {
+ if x != nil {
+ return x.RoomSceneComfortValue
+ }
+ return 0
+}
+
+func (x *HomeModuleComfortInfo) GetWorldSceneBlockComfortValueList() []uint32 {
+ if x != nil {
+ return x.WorldSceneBlockComfortValueList
+ }
+ return nil
+}
+
+var File_HomeModuleComfortInfo_proto protoreflect.FileDescriptor
+
+var file_HomeModuleComfortInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x66,
+ 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64,
+ 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x72,
+ 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x66, 0x6f, 0x72,
+ 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x72,
+ 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x43, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x24, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x66, 0x6f, 0x72,
+ 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x1f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x42, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeModuleComfortInfo_proto_rawDescOnce sync.Once
+ file_HomeModuleComfortInfo_proto_rawDescData = file_HomeModuleComfortInfo_proto_rawDesc
+)
+
+func file_HomeModuleComfortInfo_proto_rawDescGZIP() []byte {
+ file_HomeModuleComfortInfo_proto_rawDescOnce.Do(func() {
+ file_HomeModuleComfortInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeModuleComfortInfo_proto_rawDescData)
+ })
+ return file_HomeModuleComfortInfo_proto_rawDescData
+}
+
+var file_HomeModuleComfortInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeModuleComfortInfo_proto_goTypes = []interface{}{
+ (*HomeModuleComfortInfo)(nil), // 0: proto.HomeModuleComfortInfo
+}
+var file_HomeModuleComfortInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeModuleComfortInfo_proto_init() }
+func file_HomeModuleComfortInfo_proto_init() {
+ if File_HomeModuleComfortInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeModuleComfortInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeModuleComfortInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeModuleComfortInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeModuleComfortInfo_proto_goTypes,
+ DependencyIndexes: file_HomeModuleComfortInfo_proto_depIdxs,
+ MessageInfos: file_HomeModuleComfortInfo_proto_msgTypes,
+ }.Build()
+ File_HomeModuleComfortInfo_proto = out.File
+ file_HomeModuleComfortInfo_proto_rawDesc = nil
+ file_HomeModuleComfortInfo_proto_goTypes = nil
+ file_HomeModuleComfortInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeModuleSeenReq.pb.go b/protocol/proto/HomeModuleSeenReq.pb.go
new file mode 100644
index 00000000..e945ca57
--- /dev/null
+++ b/protocol/proto/HomeModuleSeenReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeModuleSeenReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4499
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeModuleSeenReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SeenModuleIdList []uint32 `protobuf:"varint,5,rep,packed,name=seen_module_id_list,json=seenModuleIdList,proto3" json:"seen_module_id_list,omitempty"`
+}
+
+func (x *HomeModuleSeenReq) Reset() {
+ *x = HomeModuleSeenReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeModuleSeenReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeModuleSeenReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeModuleSeenReq) ProtoMessage() {}
+
+func (x *HomeModuleSeenReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeModuleSeenReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeModuleSeenReq.ProtoReflect.Descriptor instead.
+func (*HomeModuleSeenReq) Descriptor() ([]byte, []int) {
+ return file_HomeModuleSeenReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeModuleSeenReq) GetSeenModuleIdList() []uint32 {
+ if x != nil {
+ return x.SeenModuleIdList
+ }
+ return nil
+}
+
+var File_HomeModuleSeenReq_proto protoreflect.FileDescriptor
+
+var file_HomeModuleSeenReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x65, 0x6e,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x42, 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65,
+ 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x6d, 0x6f,
+ 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x65, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeModuleSeenReq_proto_rawDescOnce sync.Once
+ file_HomeModuleSeenReq_proto_rawDescData = file_HomeModuleSeenReq_proto_rawDesc
+)
+
+func file_HomeModuleSeenReq_proto_rawDescGZIP() []byte {
+ file_HomeModuleSeenReq_proto_rawDescOnce.Do(func() {
+ file_HomeModuleSeenReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeModuleSeenReq_proto_rawDescData)
+ })
+ return file_HomeModuleSeenReq_proto_rawDescData
+}
+
+var file_HomeModuleSeenReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeModuleSeenReq_proto_goTypes = []interface{}{
+ (*HomeModuleSeenReq)(nil), // 0: proto.HomeModuleSeenReq
+}
+var file_HomeModuleSeenReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeModuleSeenReq_proto_init() }
+func file_HomeModuleSeenReq_proto_init() {
+ if File_HomeModuleSeenReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeModuleSeenReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeModuleSeenReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeModuleSeenReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeModuleSeenReq_proto_goTypes,
+ DependencyIndexes: file_HomeModuleSeenReq_proto_depIdxs,
+ MessageInfos: file_HomeModuleSeenReq_proto_msgTypes,
+ }.Build()
+ File_HomeModuleSeenReq_proto = out.File
+ file_HomeModuleSeenReq_proto_rawDesc = nil
+ file_HomeModuleSeenReq_proto_goTypes = nil
+ file_HomeModuleSeenReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeModuleSeenRsp.pb.go b/protocol/proto/HomeModuleSeenRsp.pb.go
new file mode 100644
index 00000000..c24dc80c
--- /dev/null
+++ b/protocol/proto/HomeModuleSeenRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeModuleSeenRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4821
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeModuleSeenRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SeenModuleIdList []uint32 `protobuf:"varint,13,rep,packed,name=seen_module_id_list,json=seenModuleIdList,proto3" json:"seen_module_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeModuleSeenRsp) Reset() {
+ *x = HomeModuleSeenRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeModuleSeenRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeModuleSeenRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeModuleSeenRsp) ProtoMessage() {}
+
+func (x *HomeModuleSeenRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeModuleSeenRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeModuleSeenRsp.ProtoReflect.Descriptor instead.
+func (*HomeModuleSeenRsp) Descriptor() ([]byte, []int) {
+ return file_HomeModuleSeenRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeModuleSeenRsp) GetSeenModuleIdList() []uint32 {
+ if x != nil {
+ return x.SeenModuleIdList
+ }
+ return nil
+}
+
+func (x *HomeModuleSeenRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeModuleSeenRsp_proto protoreflect.FileDescriptor
+
+var file_HomeModuleSeenRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x65, 0x6e,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x5c, 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65,
+ 0x65, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x6d, 0x6f,
+ 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x65, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HomeModuleSeenRsp_proto_rawDescOnce sync.Once
+ file_HomeModuleSeenRsp_proto_rawDescData = file_HomeModuleSeenRsp_proto_rawDesc
+)
+
+func file_HomeModuleSeenRsp_proto_rawDescGZIP() []byte {
+ file_HomeModuleSeenRsp_proto_rawDescOnce.Do(func() {
+ file_HomeModuleSeenRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeModuleSeenRsp_proto_rawDescData)
+ })
+ return file_HomeModuleSeenRsp_proto_rawDescData
+}
+
+var file_HomeModuleSeenRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeModuleSeenRsp_proto_goTypes = []interface{}{
+ (*HomeModuleSeenRsp)(nil), // 0: proto.HomeModuleSeenRsp
+}
+var file_HomeModuleSeenRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeModuleSeenRsp_proto_init() }
+func file_HomeModuleSeenRsp_proto_init() {
+ if File_HomeModuleSeenRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeModuleSeenRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeModuleSeenRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeModuleSeenRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeModuleSeenRsp_proto_goTypes,
+ DependencyIndexes: file_HomeModuleSeenRsp_proto_depIdxs,
+ MessageInfos: file_HomeModuleSeenRsp_proto_msgTypes,
+ }.Build()
+ File_HomeModuleSeenRsp_proto = out.File
+ file_HomeModuleSeenRsp_proto_rawDesc = nil
+ file_HomeModuleSeenRsp_proto_goTypes = nil
+ file_HomeModuleSeenRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeModuleUnlockNotify.pb.go b/protocol/proto/HomeModuleUnlockNotify.pb.go
new file mode 100644
index 00000000..809c23d9
--- /dev/null
+++ b/protocol/proto/HomeModuleUnlockNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeModuleUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4560
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeModuleUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModuleId uint32 `protobuf:"varint,8,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+}
+
+func (x *HomeModuleUnlockNotify) Reset() {
+ *x = HomeModuleUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeModuleUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeModuleUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeModuleUnlockNotify) ProtoMessage() {}
+
+func (x *HomeModuleUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeModuleUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeModuleUnlockNotify.ProtoReflect.Descriptor instead.
+func (*HomeModuleUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_HomeModuleUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeModuleUnlockNotify) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+var File_HomeModuleUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_HomeModuleUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64,
+ 0x75, 0x6c, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeModuleUnlockNotify_proto_rawDescOnce sync.Once
+ file_HomeModuleUnlockNotify_proto_rawDescData = file_HomeModuleUnlockNotify_proto_rawDesc
+)
+
+func file_HomeModuleUnlockNotify_proto_rawDescGZIP() []byte {
+ file_HomeModuleUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_HomeModuleUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeModuleUnlockNotify_proto_rawDescData)
+ })
+ return file_HomeModuleUnlockNotify_proto_rawDescData
+}
+
+var file_HomeModuleUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeModuleUnlockNotify_proto_goTypes = []interface{}{
+ (*HomeModuleUnlockNotify)(nil), // 0: proto.HomeModuleUnlockNotify
+}
+var file_HomeModuleUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeModuleUnlockNotify_proto_init() }
+func file_HomeModuleUnlockNotify_proto_init() {
+ if File_HomeModuleUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeModuleUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeModuleUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeModuleUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeModuleUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_HomeModuleUnlockNotify_proto_depIdxs,
+ MessageInfos: file_HomeModuleUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_HomeModuleUnlockNotify_proto = out.File
+ file_HomeModuleUnlockNotify_proto_rawDesc = nil
+ file_HomeModuleUnlockNotify_proto_goTypes = nil
+ file_HomeModuleUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeNewUnlockedBgmIdListNotify.pb.go b/protocol/proto/HomeNewUnlockedBgmIdListNotify.pb.go
new file mode 100644
index 00000000..e2ccad4a
--- /dev/null
+++ b/protocol/proto/HomeNewUnlockedBgmIdListNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeNewUnlockedBgmIdListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4847
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeNewUnlockedBgmIdListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NewUnlockedBgmIdList []uint32 `protobuf:"varint,11,rep,packed,name=new_unlocked_bgm_id_list,json=newUnlockedBgmIdList,proto3" json:"new_unlocked_bgm_id_list,omitempty"`
+}
+
+func (x *HomeNewUnlockedBgmIdListNotify) Reset() {
+ *x = HomeNewUnlockedBgmIdListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeNewUnlockedBgmIdListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeNewUnlockedBgmIdListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeNewUnlockedBgmIdListNotify) ProtoMessage() {}
+
+func (x *HomeNewUnlockedBgmIdListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeNewUnlockedBgmIdListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeNewUnlockedBgmIdListNotify.ProtoReflect.Descriptor instead.
+func (*HomeNewUnlockedBgmIdListNotify) Descriptor() ([]byte, []int) {
+ return file_HomeNewUnlockedBgmIdListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeNewUnlockedBgmIdListNotify) GetNewUnlockedBgmIdList() []uint32 {
+ if x != nil {
+ return x.NewUnlockedBgmIdList
+ }
+ return nil
+}
+
+var File_HomeNewUnlockedBgmIdListNotify_proto protoreflect.FileDescriptor
+
+var file_HomeNewUnlockedBgmIdListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x48, 0x6f, 0x6d, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
+ 0x64, 0x42, 0x67, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a,
+ 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
+ 0x42, 0x67, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x36, 0x0a, 0x18, 0x6e, 0x65, 0x77, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f,
+ 0x62, 0x67, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x14, 0x6e, 0x65, 0x77, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x67,
+ 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeNewUnlockedBgmIdListNotify_proto_rawDescOnce sync.Once
+ file_HomeNewUnlockedBgmIdListNotify_proto_rawDescData = file_HomeNewUnlockedBgmIdListNotify_proto_rawDesc
+)
+
+func file_HomeNewUnlockedBgmIdListNotify_proto_rawDescGZIP() []byte {
+ file_HomeNewUnlockedBgmIdListNotify_proto_rawDescOnce.Do(func() {
+ file_HomeNewUnlockedBgmIdListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeNewUnlockedBgmIdListNotify_proto_rawDescData)
+ })
+ return file_HomeNewUnlockedBgmIdListNotify_proto_rawDescData
+}
+
+var file_HomeNewUnlockedBgmIdListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeNewUnlockedBgmIdListNotify_proto_goTypes = []interface{}{
+ (*HomeNewUnlockedBgmIdListNotify)(nil), // 0: proto.HomeNewUnlockedBgmIdListNotify
+}
+var file_HomeNewUnlockedBgmIdListNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeNewUnlockedBgmIdListNotify_proto_init() }
+func file_HomeNewUnlockedBgmIdListNotify_proto_init() {
+ if File_HomeNewUnlockedBgmIdListNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeNewUnlockedBgmIdListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeNewUnlockedBgmIdListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeNewUnlockedBgmIdListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeNewUnlockedBgmIdListNotify_proto_goTypes,
+ DependencyIndexes: file_HomeNewUnlockedBgmIdListNotify_proto_depIdxs,
+ MessageInfos: file_HomeNewUnlockedBgmIdListNotify_proto_msgTypes,
+ }.Build()
+ File_HomeNewUnlockedBgmIdListNotify_proto = out.File
+ file_HomeNewUnlockedBgmIdListNotify_proto_rawDesc = nil
+ file_HomeNewUnlockedBgmIdListNotify_proto_goTypes = nil
+ file_HomeNewUnlockedBgmIdListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeNpcData.pb.go b/protocol/proto/HomeNpcData.pb.go
new file mode 100644
index 00000000..9b9b3b8a
--- /dev/null
+++ b/protocol/proto/HomeNpcData.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeNpcData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeNpcData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,14,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ SpawnPos *Vector `protobuf:"bytes,15,opt,name=spawn_pos,json=spawnPos,proto3" json:"spawn_pos,omitempty"`
+ CostumeId uint32 `protobuf:"varint,3,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ SpawnRot *Vector `protobuf:"bytes,13,opt,name=spawn_rot,json=spawnRot,proto3" json:"spawn_rot,omitempty"`
+}
+
+func (x *HomeNpcData) Reset() {
+ *x = HomeNpcData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeNpcData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeNpcData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeNpcData) ProtoMessage() {}
+
+func (x *HomeNpcData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeNpcData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeNpcData.ProtoReflect.Descriptor instead.
+func (*HomeNpcData) Descriptor() ([]byte, []int) {
+ return file_HomeNpcData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeNpcData) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *HomeNpcData) GetSpawnPos() *Vector {
+ if x != nil {
+ return x.SpawnPos
+ }
+ return nil
+}
+
+func (x *HomeNpcData) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *HomeNpcData) GetSpawnRot() *Vector {
+ if x != nil {
+ return x.SpawnRot
+ }
+ return nil
+}
+
+var File_HomeNpcData_proto protoreflect.FileDescriptor
+
+var file_HomeNpcData_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x48, 0x6f, 0x6d, 0x65, 0x4e, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x0b, 0x48, 0x6f, 0x6d,
+ 0x65, 0x4e, 0x70, 0x63, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x50, 0x6f,
+ 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64,
+ 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x52, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeNpcData_proto_rawDescOnce sync.Once
+ file_HomeNpcData_proto_rawDescData = file_HomeNpcData_proto_rawDesc
+)
+
+func file_HomeNpcData_proto_rawDescGZIP() []byte {
+ file_HomeNpcData_proto_rawDescOnce.Do(func() {
+ file_HomeNpcData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeNpcData_proto_rawDescData)
+ })
+ return file_HomeNpcData_proto_rawDescData
+}
+
+var file_HomeNpcData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeNpcData_proto_goTypes = []interface{}{
+ (*HomeNpcData)(nil), // 0: proto.HomeNpcData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeNpcData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeNpcData.spawn_pos:type_name -> proto.Vector
+ 1, // 1: proto.HomeNpcData.spawn_rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeNpcData_proto_init() }
+func file_HomeNpcData_proto_init() {
+ if File_HomeNpcData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeNpcData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeNpcData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeNpcData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeNpcData_proto_goTypes,
+ DependencyIndexes: file_HomeNpcData_proto_depIdxs,
+ MessageInfos: file_HomeNpcData_proto_msgTypes,
+ }.Build()
+ File_HomeNpcData_proto = out.File
+ file_HomeNpcData_proto_rawDesc = nil
+ file_HomeNpcData_proto_goTypes = nil
+ file_HomeNpcData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePictureFrameInfo.pb.go b/protocol/proto/HomePictureFrameInfo.pb.go
new file mode 100644
index 00000000..35a253cf
--- /dev/null
+++ b/protocol/proto/HomePictureFrameInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePictureFrameInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomePictureFrameInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint32 `protobuf:"varint,11,opt,name=guid,proto3" json:"guid,omitempty"`
+ PictureId uint32 `protobuf:"varint,6,opt,name=picture_id,json=pictureId,proto3" json:"picture_id,omitempty"`
+}
+
+func (x *HomePictureFrameInfo) Reset() {
+ *x = HomePictureFrameInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePictureFrameInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePictureFrameInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePictureFrameInfo) ProtoMessage() {}
+
+func (x *HomePictureFrameInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePictureFrameInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePictureFrameInfo.ProtoReflect.Descriptor instead.
+func (*HomePictureFrameInfo) Descriptor() ([]byte, []int) {
+ return file_HomePictureFrameInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePictureFrameInfo) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomePictureFrameInfo) GetPictureId() uint32 {
+ if x != nil {
+ return x.PictureId
+ }
+ return 0
+}
+
+var File_HomePictureFrameInfo_proto protoreflect.FileDescriptor
+
+var file_HomePictureFrameInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61,
+ 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75,
+ 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HomePictureFrameInfo_proto_rawDescOnce sync.Once
+ file_HomePictureFrameInfo_proto_rawDescData = file_HomePictureFrameInfo_proto_rawDesc
+)
+
+func file_HomePictureFrameInfo_proto_rawDescGZIP() []byte {
+ file_HomePictureFrameInfo_proto_rawDescOnce.Do(func() {
+ file_HomePictureFrameInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePictureFrameInfo_proto_rawDescData)
+ })
+ return file_HomePictureFrameInfo_proto_rawDescData
+}
+
+var file_HomePictureFrameInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePictureFrameInfo_proto_goTypes = []interface{}{
+ (*HomePictureFrameInfo)(nil), // 0: proto.HomePictureFrameInfo
+}
+var file_HomePictureFrameInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePictureFrameInfo_proto_init() }
+func file_HomePictureFrameInfo_proto_init() {
+ if File_HomePictureFrameInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePictureFrameInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePictureFrameInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePictureFrameInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePictureFrameInfo_proto_goTypes,
+ DependencyIndexes: file_HomePictureFrameInfo_proto_depIdxs,
+ MessageInfos: file_HomePictureFrameInfo_proto_msgTypes,
+ }.Build()
+ File_HomePictureFrameInfo_proto = out.File
+ file_HomePictureFrameInfo_proto_rawDesc = nil
+ file_HomePictureFrameInfo_proto_goTypes = nil
+ file_HomePictureFrameInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePictureFrameInfoNotify.pb.go b/protocol/proto/HomePictureFrameInfoNotify.pb.go
new file mode 100644
index 00000000..d0229fc0
--- /dev/null
+++ b/protocol/proto/HomePictureFrameInfoNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePictureFrameInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4878
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomePictureFrameInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PictureFrameInfoList []*HomePictureFrameInfo `protobuf:"bytes,12,rep,name=picture_frame_info_list,json=pictureFrameInfoList,proto3" json:"picture_frame_info_list,omitempty"`
+}
+
+func (x *HomePictureFrameInfoNotify) Reset() {
+ *x = HomePictureFrameInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePictureFrameInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePictureFrameInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePictureFrameInfoNotify) ProtoMessage() {}
+
+func (x *HomePictureFrameInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePictureFrameInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePictureFrameInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomePictureFrameInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomePictureFrameInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePictureFrameInfoNotify) GetPictureFrameInfoList() []*HomePictureFrameInfo {
+ if x != nil {
+ return x.PictureFrameInfoList
+ }
+ return nil
+}
+
+var File_HomePictureFrameInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomePictureFrameInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61,
+ 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x50,
+ 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x52, 0x0a, 0x17, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66,
+ 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x14, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePictureFrameInfoNotify_proto_rawDescOnce sync.Once
+ file_HomePictureFrameInfoNotify_proto_rawDescData = file_HomePictureFrameInfoNotify_proto_rawDesc
+)
+
+func file_HomePictureFrameInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomePictureFrameInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomePictureFrameInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePictureFrameInfoNotify_proto_rawDescData)
+ })
+ return file_HomePictureFrameInfoNotify_proto_rawDescData
+}
+
+var file_HomePictureFrameInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePictureFrameInfoNotify_proto_goTypes = []interface{}{
+ (*HomePictureFrameInfoNotify)(nil), // 0: proto.HomePictureFrameInfoNotify
+ (*HomePictureFrameInfo)(nil), // 1: proto.HomePictureFrameInfo
+}
+var file_HomePictureFrameInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomePictureFrameInfoNotify.picture_frame_info_list:type_name -> proto.HomePictureFrameInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomePictureFrameInfoNotify_proto_init() }
+func file_HomePictureFrameInfoNotify_proto_init() {
+ if File_HomePictureFrameInfoNotify_proto != nil {
+ return
+ }
+ file_HomePictureFrameInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomePictureFrameInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePictureFrameInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePictureFrameInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePictureFrameInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomePictureFrameInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomePictureFrameInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomePictureFrameInfoNotify_proto = out.File
+ file_HomePictureFrameInfoNotify_proto_rawDesc = nil
+ file_HomePictureFrameInfoNotify_proto_goTypes = nil
+ file_HomePictureFrameInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantFieldData.pb.go b/protocol/proto/HomePlantFieldData.pb.go
new file mode 100644
index 00000000..dbca584b
--- /dev/null
+++ b/protocol/proto/HomePlantFieldData.pb.go
@@ -0,0 +1,211 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantFieldData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomePlantFieldData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SubFieldList []*HomePlantSubFieldData `protobuf:"bytes,13,rep,name=sub_field_list,json=subFieldList,proto3" json:"sub_field_list,omitempty"`
+ FurnitureId uint32 `protobuf:"varint,9,opt,name=furniture_id,json=furnitureId,proto3" json:"furniture_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,1,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ FieldGuid uint32 `protobuf:"varint,10,opt,name=field_guid,json=fieldGuid,proto3" json:"field_guid,omitempty"`
+ SpawnPos *Vector `protobuf:"bytes,12,opt,name=spawn_pos,json=spawnPos,proto3" json:"spawn_pos,omitempty"`
+}
+
+func (x *HomePlantFieldData) Reset() {
+ *x = HomePlantFieldData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantFieldData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantFieldData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantFieldData) ProtoMessage() {}
+
+func (x *HomePlantFieldData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantFieldData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantFieldData.ProtoReflect.Descriptor instead.
+func (*HomePlantFieldData) Descriptor() ([]byte, []int) {
+ return file_HomePlantFieldData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantFieldData) GetSubFieldList() []*HomePlantSubFieldData {
+ if x != nil {
+ return x.SubFieldList
+ }
+ return nil
+}
+
+func (x *HomePlantFieldData) GetFurnitureId() uint32 {
+ if x != nil {
+ return x.FurnitureId
+ }
+ return 0
+}
+
+func (x *HomePlantFieldData) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomePlantFieldData) GetFieldGuid() uint32 {
+ if x != nil {
+ return x.FieldGuid
+ }
+ return 0
+}
+
+func (x *HomePlantFieldData) GetSpawnPos() *Vector {
+ if x != nil {
+ return x.SpawnPos
+ }
+ return nil
+}
+
+var File_HomePlantFieldData_proto protoreflect.FileDescriptor
+
+var file_HomePlantFieldData_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x01, 0x0a,
+ 0x12, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x53, 0x75, 0x62,
+ 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66,
+ 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x70, 0x6f,
+ 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x50, 0x6f, 0x73,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePlantFieldData_proto_rawDescOnce sync.Once
+ file_HomePlantFieldData_proto_rawDescData = file_HomePlantFieldData_proto_rawDesc
+)
+
+func file_HomePlantFieldData_proto_rawDescGZIP() []byte {
+ file_HomePlantFieldData_proto_rawDescOnce.Do(func() {
+ file_HomePlantFieldData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantFieldData_proto_rawDescData)
+ })
+ return file_HomePlantFieldData_proto_rawDescData
+}
+
+var file_HomePlantFieldData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantFieldData_proto_goTypes = []interface{}{
+ (*HomePlantFieldData)(nil), // 0: proto.HomePlantFieldData
+ (*HomePlantSubFieldData)(nil), // 1: proto.HomePlantSubFieldData
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_HomePlantFieldData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomePlantFieldData.sub_field_list:type_name -> proto.HomePlantSubFieldData
+ 2, // 1: proto.HomePlantFieldData.spawn_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantFieldData_proto_init() }
+func file_HomePlantFieldData_proto_init() {
+ if File_HomePlantFieldData_proto != nil {
+ return
+ }
+ file_HomePlantSubFieldData_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantFieldData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantFieldData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantFieldData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantFieldData_proto_goTypes,
+ DependencyIndexes: file_HomePlantFieldData_proto_depIdxs,
+ MessageInfos: file_HomePlantFieldData_proto_msgTypes,
+ }.Build()
+ File_HomePlantFieldData_proto = out.File
+ file_HomePlantFieldData_proto_rawDesc = nil
+ file_HomePlantFieldData_proto_goTypes = nil
+ file_HomePlantFieldData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantFieldNotify.pb.go b/protocol/proto/HomePlantFieldNotify.pb.go
new file mode 100644
index 00000000..2c6db3d6
--- /dev/null
+++ b/protocol/proto/HomePlantFieldNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantFieldNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4549
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomePlantFieldNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Field *HomePlantFieldData `protobuf:"bytes,13,opt,name=field,proto3" json:"field,omitempty"`
+}
+
+func (x *HomePlantFieldNotify) Reset() {
+ *x = HomePlantFieldNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantFieldNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantFieldNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantFieldNotify) ProtoMessage() {}
+
+func (x *HomePlantFieldNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantFieldNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantFieldNotify.ProtoReflect.Descriptor instead.
+func (*HomePlantFieldNotify) Descriptor() ([]byte, []int) {
+ return file_HomePlantFieldNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantFieldNotify) GetField() *HomePlantFieldData {
+ if x != nil {
+ return x.Field
+ }
+ return nil
+}
+
+var File_HomePlantFieldNotify_proto protoreflect.FileDescriptor
+
+var file_HomePlantFieldNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a,
+ 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d,
+ 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePlantFieldNotify_proto_rawDescOnce sync.Once
+ file_HomePlantFieldNotify_proto_rawDescData = file_HomePlantFieldNotify_proto_rawDesc
+)
+
+func file_HomePlantFieldNotify_proto_rawDescGZIP() []byte {
+ file_HomePlantFieldNotify_proto_rawDescOnce.Do(func() {
+ file_HomePlantFieldNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantFieldNotify_proto_rawDescData)
+ })
+ return file_HomePlantFieldNotify_proto_rawDescData
+}
+
+var file_HomePlantFieldNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantFieldNotify_proto_goTypes = []interface{}{
+ (*HomePlantFieldNotify)(nil), // 0: proto.HomePlantFieldNotify
+ (*HomePlantFieldData)(nil), // 1: proto.HomePlantFieldData
+}
+var file_HomePlantFieldNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomePlantFieldNotify.field:type_name -> proto.HomePlantFieldData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantFieldNotify_proto_init() }
+func file_HomePlantFieldNotify_proto_init() {
+ if File_HomePlantFieldNotify_proto != nil {
+ return
+ }
+ file_HomePlantFieldData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantFieldNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantFieldNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantFieldNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantFieldNotify_proto_goTypes,
+ DependencyIndexes: file_HomePlantFieldNotify_proto_depIdxs,
+ MessageInfos: file_HomePlantFieldNotify_proto_msgTypes,
+ }.Build()
+ File_HomePlantFieldNotify_proto = out.File
+ file_HomePlantFieldNotify_proto_rawDesc = nil
+ file_HomePlantFieldNotify_proto_goTypes = nil
+ file_HomePlantFieldNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantFieldStatus.pb.go b/protocol/proto/HomePlantFieldStatus.pb.go
new file mode 100644
index 00000000..2a32cc57
--- /dev/null
+++ b/protocol/proto/HomePlantFieldStatus.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantFieldStatus.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomePlantFieldStatus int32
+
+const (
+ HomePlantFieldStatus_HOME_PLANT_FIELD_STATUS_STATUE_NONE HomePlantFieldStatus = 0
+ HomePlantFieldStatus_HOME_PLANT_FIELD_STATUS_STATUE_SEED HomePlantFieldStatus = 1
+ HomePlantFieldStatus_HOME_PLANT_FIELD_STATUS_STATUE_SPROUT HomePlantFieldStatus = 2
+ HomePlantFieldStatus_HOME_PLANT_FIELD_STATUS_STATUE_GATHER HomePlantFieldStatus = 3
+)
+
+// Enum value maps for HomePlantFieldStatus.
+var (
+ HomePlantFieldStatus_name = map[int32]string{
+ 0: "HOME_PLANT_FIELD_STATUS_STATUE_NONE",
+ 1: "HOME_PLANT_FIELD_STATUS_STATUE_SEED",
+ 2: "HOME_PLANT_FIELD_STATUS_STATUE_SPROUT",
+ 3: "HOME_PLANT_FIELD_STATUS_STATUE_GATHER",
+ }
+ HomePlantFieldStatus_value = map[string]int32{
+ "HOME_PLANT_FIELD_STATUS_STATUE_NONE": 0,
+ "HOME_PLANT_FIELD_STATUS_STATUE_SEED": 1,
+ "HOME_PLANT_FIELD_STATUS_STATUE_SPROUT": 2,
+ "HOME_PLANT_FIELD_STATUS_STATUE_GATHER": 3,
+ }
+)
+
+func (x HomePlantFieldStatus) Enum() *HomePlantFieldStatus {
+ p := new(HomePlantFieldStatus)
+ *p = x
+ return p
+}
+
+func (x HomePlantFieldStatus) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (HomePlantFieldStatus) Descriptor() protoreflect.EnumDescriptor {
+ return file_HomePlantFieldStatus_proto_enumTypes[0].Descriptor()
+}
+
+func (HomePlantFieldStatus) Type() protoreflect.EnumType {
+ return &file_HomePlantFieldStatus_proto_enumTypes[0]
+}
+
+func (x HomePlantFieldStatus) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use HomePlantFieldStatus.Descriptor instead.
+func (HomePlantFieldStatus) EnumDescriptor() ([]byte, []int) {
+ return file_HomePlantFieldStatus_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomePlantFieldStatus_proto protoreflect.FileDescriptor
+
+var file_HomePlantFieldStatus_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0xbe, 0x01, 0x0a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e,
+ 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x23,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x5f, 0x4e,
+ 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c,
+ 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x5f, 0x53, 0x45, 0x45, 0x44, 0x10, 0x01, 0x12, 0x29,
+ 0x0a, 0x25, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x45,
+ 0x4c, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45,
+ 0x5f, 0x53, 0x50, 0x52, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25, 0x48, 0x4f, 0x4d,
+ 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x53, 0x54,
+ 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x5f, 0x47, 0x41, 0x54, 0x48,
+ 0x45, 0x52, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePlantFieldStatus_proto_rawDescOnce sync.Once
+ file_HomePlantFieldStatus_proto_rawDescData = file_HomePlantFieldStatus_proto_rawDesc
+)
+
+func file_HomePlantFieldStatus_proto_rawDescGZIP() []byte {
+ file_HomePlantFieldStatus_proto_rawDescOnce.Do(func() {
+ file_HomePlantFieldStatus_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantFieldStatus_proto_rawDescData)
+ })
+ return file_HomePlantFieldStatus_proto_rawDescData
+}
+
+var file_HomePlantFieldStatus_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_HomePlantFieldStatus_proto_goTypes = []interface{}{
+ (HomePlantFieldStatus)(0), // 0: proto.HomePlantFieldStatus
+}
+var file_HomePlantFieldStatus_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantFieldStatus_proto_init() }
+func file_HomePlantFieldStatus_proto_init() {
+ if File_HomePlantFieldStatus_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantFieldStatus_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantFieldStatus_proto_goTypes,
+ DependencyIndexes: file_HomePlantFieldStatus_proto_depIdxs,
+ EnumInfos: file_HomePlantFieldStatus_proto_enumTypes,
+ }.Build()
+ File_HomePlantFieldStatus_proto = out.File
+ file_HomePlantFieldStatus_proto_rawDesc = nil
+ file_HomePlantFieldStatus_proto_goTypes = nil
+ file_HomePlantFieldStatus_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantInfoNotify.pb.go b/protocol/proto/HomePlantInfoNotify.pb.go
new file mode 100644
index 00000000..337924c5
--- /dev/null
+++ b/protocol/proto/HomePlantInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4587
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomePlantInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FieldList []*HomePlantFieldData `protobuf:"bytes,4,rep,name=field_list,json=fieldList,proto3" json:"field_list,omitempty"`
+}
+
+func (x *HomePlantInfoNotify) Reset() {
+ *x = HomePlantInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantInfoNotify) ProtoMessage() {}
+
+func (x *HomePlantInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomePlantInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomePlantInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantInfoNotify) GetFieldList() []*HomePlantFieldData {
+ if x != nil {
+ return x.FieldList
+ }
+ return nil
+}
+
+var File_HomePlantInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomePlantInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x13,
+ 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomePlantInfoNotify_proto_rawDescOnce sync.Once
+ file_HomePlantInfoNotify_proto_rawDescData = file_HomePlantInfoNotify_proto_rawDesc
+)
+
+func file_HomePlantInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomePlantInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomePlantInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantInfoNotify_proto_rawDescData)
+ })
+ return file_HomePlantInfoNotify_proto_rawDescData
+}
+
+var file_HomePlantInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantInfoNotify_proto_goTypes = []interface{}{
+ (*HomePlantInfoNotify)(nil), // 0: proto.HomePlantInfoNotify
+ (*HomePlantFieldData)(nil), // 1: proto.HomePlantFieldData
+}
+var file_HomePlantInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomePlantInfoNotify.field_list:type_name -> proto.HomePlantFieldData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantInfoNotify_proto_init() }
+func file_HomePlantInfoNotify_proto_init() {
+ if File_HomePlantInfoNotify_proto != nil {
+ return
+ }
+ file_HomePlantFieldData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomePlantInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomePlantInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomePlantInfoNotify_proto = out.File
+ file_HomePlantInfoNotify_proto_rawDesc = nil
+ file_HomePlantInfoNotify_proto_goTypes = nil
+ file_HomePlantInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantInfoReq.pb.go b/protocol/proto/HomePlantInfoReq.pb.go
new file mode 100644
index 00000000..ec0135eb
--- /dev/null
+++ b/protocol/proto/HomePlantInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4647
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomePlantInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomePlantInfoReq) Reset() {
+ *x = HomePlantInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantInfoReq) ProtoMessage() {}
+
+func (x *HomePlantInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantInfoReq.ProtoReflect.Descriptor instead.
+func (*HomePlantInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomePlantInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomePlantInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomePlantInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x12, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePlantInfoReq_proto_rawDescOnce sync.Once
+ file_HomePlantInfoReq_proto_rawDescData = file_HomePlantInfoReq_proto_rawDesc
+)
+
+func file_HomePlantInfoReq_proto_rawDescGZIP() []byte {
+ file_HomePlantInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomePlantInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantInfoReq_proto_rawDescData)
+ })
+ return file_HomePlantInfoReq_proto_rawDescData
+}
+
+var file_HomePlantInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantInfoReq_proto_goTypes = []interface{}{
+ (*HomePlantInfoReq)(nil), // 0: proto.HomePlantInfoReq
+}
+var file_HomePlantInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantInfoReq_proto_init() }
+func file_HomePlantInfoReq_proto_init() {
+ if File_HomePlantInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomePlantInfoReq_proto_depIdxs,
+ MessageInfos: file_HomePlantInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomePlantInfoReq_proto = out.File
+ file_HomePlantInfoReq_proto_rawDesc = nil
+ file_HomePlantInfoReq_proto_goTypes = nil
+ file_HomePlantInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantInfoRsp.pb.go b/protocol/proto/HomePlantInfoRsp.pb.go
new file mode 100644
index 00000000..60d53a86
--- /dev/null
+++ b/protocol/proto/HomePlantInfoRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4701
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomePlantInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FieldList []*HomePlantFieldData `protobuf:"bytes,15,rep,name=field_list,json=fieldList,proto3" json:"field_list,omitempty"`
+}
+
+func (x *HomePlantInfoRsp) Reset() {
+ *x = HomePlantInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantInfoRsp) ProtoMessage() {}
+
+func (x *HomePlantInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomePlantInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomePlantInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomePlantInfoRsp) GetFieldList() []*HomePlantFieldData {
+ if x != nil {
+ return x.FieldList
+ }
+ return nil
+}
+
+var File_HomePlantInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomePlantInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x10, 0x48, 0x6f, 0x6d,
+ 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePlantInfoRsp_proto_rawDescOnce sync.Once
+ file_HomePlantInfoRsp_proto_rawDescData = file_HomePlantInfoRsp_proto_rawDesc
+)
+
+func file_HomePlantInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomePlantInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomePlantInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantInfoRsp_proto_rawDescData)
+ })
+ return file_HomePlantInfoRsp_proto_rawDescData
+}
+
+var file_HomePlantInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantInfoRsp_proto_goTypes = []interface{}{
+ (*HomePlantInfoRsp)(nil), // 0: proto.HomePlantInfoRsp
+ (*HomePlantFieldData)(nil), // 1: proto.HomePlantFieldData
+}
+var file_HomePlantInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomePlantInfoRsp.field_list:type_name -> proto.HomePlantFieldData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantInfoRsp_proto_init() }
+func file_HomePlantInfoRsp_proto_init() {
+ if File_HomePlantInfoRsp_proto != nil {
+ return
+ }
+ file_HomePlantFieldData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomePlantInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomePlantInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomePlantInfoRsp_proto = out.File
+ file_HomePlantInfoRsp_proto_rawDesc = nil
+ file_HomePlantInfoRsp_proto_goTypes = nil
+ file_HomePlantInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantSeedReq.pb.go b/protocol/proto/HomePlantSeedReq.pb.go
new file mode 100644
index 00000000..97da7ccc
--- /dev/null
+++ b/protocol/proto/HomePlantSeedReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantSeedReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4804
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomePlantSeedReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
+ FieldGuid uint32 `protobuf:"varint,14,opt,name=field_guid,json=fieldGuid,proto3" json:"field_guid,omitempty"`
+ SeedIdList []uint32 `protobuf:"varint,13,rep,packed,name=seed_id_list,json=seedIdList,proto3" json:"seed_id_list,omitempty"`
+}
+
+func (x *HomePlantSeedReq) Reset() {
+ *x = HomePlantSeedReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantSeedReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantSeedReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantSeedReq) ProtoMessage() {}
+
+func (x *HomePlantSeedReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantSeedReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantSeedReq.ProtoReflect.Descriptor instead.
+func (*HomePlantSeedReq) Descriptor() ([]byte, []int) {
+ return file_HomePlantSeedReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantSeedReq) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *HomePlantSeedReq) GetFieldGuid() uint32 {
+ if x != nil {
+ return x.FieldGuid
+ }
+ return 0
+}
+
+func (x *HomePlantSeedReq) GetSeedIdList() []uint32 {
+ if x != nil {
+ return x.SeedIdList
+ }
+ return nil
+}
+
+var File_HomePlantSeedReq_proto protoreflect.FileDescriptor
+
+var file_HomePlantSeedReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x65, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x69, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x65, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65,
+ 0x6c, 0x64, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66,
+ 0x69, 0x65, 0x6c, 0x64, 0x47, 0x75, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x65, 0x65, 0x64,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x65, 0x65, 0x64, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePlantSeedReq_proto_rawDescOnce sync.Once
+ file_HomePlantSeedReq_proto_rawDescData = file_HomePlantSeedReq_proto_rawDesc
+)
+
+func file_HomePlantSeedReq_proto_rawDescGZIP() []byte {
+ file_HomePlantSeedReq_proto_rawDescOnce.Do(func() {
+ file_HomePlantSeedReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantSeedReq_proto_rawDescData)
+ })
+ return file_HomePlantSeedReq_proto_rawDescData
+}
+
+var file_HomePlantSeedReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantSeedReq_proto_goTypes = []interface{}{
+ (*HomePlantSeedReq)(nil), // 0: proto.HomePlantSeedReq
+}
+var file_HomePlantSeedReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantSeedReq_proto_init() }
+func file_HomePlantSeedReq_proto_init() {
+ if File_HomePlantSeedReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantSeedReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantSeedReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantSeedReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantSeedReq_proto_goTypes,
+ DependencyIndexes: file_HomePlantSeedReq_proto_depIdxs,
+ MessageInfos: file_HomePlantSeedReq_proto_msgTypes,
+ }.Build()
+ File_HomePlantSeedReq_proto = out.File
+ file_HomePlantSeedReq_proto_rawDesc = nil
+ file_HomePlantSeedReq_proto_goTypes = nil
+ file_HomePlantSeedReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantSeedRsp.pb.go b/protocol/proto/HomePlantSeedRsp.pb.go
new file mode 100644
index 00000000..99b09e7f
--- /dev/null
+++ b/protocol/proto/HomePlantSeedRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantSeedRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4556
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomePlantSeedRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomePlantSeedRsp) Reset() {
+ *x = HomePlantSeedRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantSeedRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantSeedRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantSeedRsp) ProtoMessage() {}
+
+func (x *HomePlantSeedRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantSeedRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantSeedRsp.ProtoReflect.Descriptor instead.
+func (*HomePlantSeedRsp) Descriptor() ([]byte, []int) {
+ return file_HomePlantSeedRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantSeedRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomePlantSeedRsp_proto protoreflect.FileDescriptor
+
+var file_HomePlantSeedRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x65, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2c, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x65, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomePlantSeedRsp_proto_rawDescOnce sync.Once
+ file_HomePlantSeedRsp_proto_rawDescData = file_HomePlantSeedRsp_proto_rawDesc
+)
+
+func file_HomePlantSeedRsp_proto_rawDescGZIP() []byte {
+ file_HomePlantSeedRsp_proto_rawDescOnce.Do(func() {
+ file_HomePlantSeedRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantSeedRsp_proto_rawDescData)
+ })
+ return file_HomePlantSeedRsp_proto_rawDescData
+}
+
+var file_HomePlantSeedRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantSeedRsp_proto_goTypes = []interface{}{
+ (*HomePlantSeedRsp)(nil), // 0: proto.HomePlantSeedRsp
+}
+var file_HomePlantSeedRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantSeedRsp_proto_init() }
+func file_HomePlantSeedRsp_proto_init() {
+ if File_HomePlantSeedRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantSeedRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantSeedRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantSeedRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantSeedRsp_proto_goTypes,
+ DependencyIndexes: file_HomePlantSeedRsp_proto_depIdxs,
+ MessageInfos: file_HomePlantSeedRsp_proto_msgTypes,
+ }.Build()
+ File_HomePlantSeedRsp_proto = out.File
+ file_HomePlantSeedRsp_proto_rawDesc = nil
+ file_HomePlantSeedRsp_proto_goTypes = nil
+ file_HomePlantSeedRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantSubFieldData.pb.go b/protocol/proto/HomePlantSubFieldData.pb.go
new file mode 100644
index 00000000..8328a418
--- /dev/null
+++ b/protocol/proto/HomePlantSubFieldData.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantSubFieldData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomePlantSubFieldData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityIdList []uint32 `protobuf:"varint,15,rep,packed,name=entity_id_list,json=entityIdList,proto3" json:"entity_id_list,omitempty"`
+ FieldStatus HomePlantFieldStatus `protobuf:"varint,14,opt,name=field_status,json=fieldStatus,proto3,enum=proto.HomePlantFieldStatus" json:"field_status,omitempty"`
+ HomeGatherId uint32 `protobuf:"varint,9,opt,name=home_gather_id,json=homeGatherId,proto3" json:"home_gather_id,omitempty"`
+ SeedId uint32 `protobuf:"varint,8,opt,name=seed_id,json=seedId,proto3" json:"seed_id,omitempty"`
+ EndTime uint32 `protobuf:"fixed32,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *HomePlantSubFieldData) Reset() {
+ *x = HomePlantSubFieldData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantSubFieldData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantSubFieldData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantSubFieldData) ProtoMessage() {}
+
+func (x *HomePlantSubFieldData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantSubFieldData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantSubFieldData.ProtoReflect.Descriptor instead.
+func (*HomePlantSubFieldData) Descriptor() ([]byte, []int) {
+ return file_HomePlantSubFieldData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantSubFieldData) GetEntityIdList() []uint32 {
+ if x != nil {
+ return x.EntityIdList
+ }
+ return nil
+}
+
+func (x *HomePlantSubFieldData) GetFieldStatus() HomePlantFieldStatus {
+ if x != nil {
+ return x.FieldStatus
+ }
+ return HomePlantFieldStatus_HOME_PLANT_FIELD_STATUS_STATUE_NONE
+}
+
+func (x *HomePlantSubFieldData) GetHomeGatherId() uint32 {
+ if x != nil {
+ return x.HomeGatherId
+ }
+ return 0
+}
+
+func (x *HomePlantSubFieldData) GetSeedId() uint32 {
+ if x != nil {
+ return x.SeedId
+ }
+ return 0
+}
+
+func (x *HomePlantSubFieldData) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_HomePlantSubFieldData_proto protoreflect.FileDescriptor
+
+var file_HomePlantSubFieldData_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xd7, 0x01, 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x53, 0x75,
+ 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x3e, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
+ 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x68, 0x6f, 0x6d, 0x65, 0x47, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x69,
+ 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x65, 0x65, 0x64, 0x49, 0x64, 0x12,
+ 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x07, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePlantSubFieldData_proto_rawDescOnce sync.Once
+ file_HomePlantSubFieldData_proto_rawDescData = file_HomePlantSubFieldData_proto_rawDesc
+)
+
+func file_HomePlantSubFieldData_proto_rawDescGZIP() []byte {
+ file_HomePlantSubFieldData_proto_rawDescOnce.Do(func() {
+ file_HomePlantSubFieldData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantSubFieldData_proto_rawDescData)
+ })
+ return file_HomePlantSubFieldData_proto_rawDescData
+}
+
+var file_HomePlantSubFieldData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantSubFieldData_proto_goTypes = []interface{}{
+ (*HomePlantSubFieldData)(nil), // 0: proto.HomePlantSubFieldData
+ (HomePlantFieldStatus)(0), // 1: proto.HomePlantFieldStatus
+}
+var file_HomePlantSubFieldData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomePlantSubFieldData.field_status:type_name -> proto.HomePlantFieldStatus
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantSubFieldData_proto_init() }
+func file_HomePlantSubFieldData_proto_init() {
+ if File_HomePlantSubFieldData_proto != nil {
+ return
+ }
+ file_HomePlantFieldStatus_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantSubFieldData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantSubFieldData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantSubFieldData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantSubFieldData_proto_goTypes,
+ DependencyIndexes: file_HomePlantSubFieldData_proto_depIdxs,
+ MessageInfos: file_HomePlantSubFieldData_proto_msgTypes,
+ }.Build()
+ File_HomePlantSubFieldData_proto = out.File
+ file_HomePlantSubFieldData_proto_rawDesc = nil
+ file_HomePlantSubFieldData_proto_goTypes = nil
+ file_HomePlantSubFieldData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantWeedReq.pb.go b/protocol/proto/HomePlantWeedReq.pb.go
new file mode 100644
index 00000000..8cb3503f
--- /dev/null
+++ b/protocol/proto/HomePlantWeedReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantWeedReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4640
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomePlantWeedReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FieldGuid uint32 `protobuf:"varint,9,opt,name=field_guid,json=fieldGuid,proto3" json:"field_guid,omitempty"`
+ Index uint32 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
+}
+
+func (x *HomePlantWeedReq) Reset() {
+ *x = HomePlantWeedReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantWeedReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantWeedReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantWeedReq) ProtoMessage() {}
+
+func (x *HomePlantWeedReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantWeedReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantWeedReq.ProtoReflect.Descriptor instead.
+func (*HomePlantWeedReq) Descriptor() ([]byte, []int) {
+ return file_HomePlantWeedReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantWeedReq) GetFieldGuid() uint32 {
+ if x != nil {
+ return x.FieldGuid
+ }
+ return 0
+}
+
+func (x *HomePlantWeedReq) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+var File_HomePlantWeedReq_proto protoreflect.FileDescriptor
+
+var file_HomePlantWeedReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x57, 0x65, 0x65, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x47, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x57, 0x65, 0x65, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePlantWeedReq_proto_rawDescOnce sync.Once
+ file_HomePlantWeedReq_proto_rawDescData = file_HomePlantWeedReq_proto_rawDesc
+)
+
+func file_HomePlantWeedReq_proto_rawDescGZIP() []byte {
+ file_HomePlantWeedReq_proto_rawDescOnce.Do(func() {
+ file_HomePlantWeedReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantWeedReq_proto_rawDescData)
+ })
+ return file_HomePlantWeedReq_proto_rawDescData
+}
+
+var file_HomePlantWeedReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantWeedReq_proto_goTypes = []interface{}{
+ (*HomePlantWeedReq)(nil), // 0: proto.HomePlantWeedReq
+}
+var file_HomePlantWeedReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantWeedReq_proto_init() }
+func file_HomePlantWeedReq_proto_init() {
+ if File_HomePlantWeedReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantWeedReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantWeedReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantWeedReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantWeedReq_proto_goTypes,
+ DependencyIndexes: file_HomePlantWeedReq_proto_depIdxs,
+ MessageInfos: file_HomePlantWeedReq_proto_msgTypes,
+ }.Build()
+ File_HomePlantWeedReq_proto = out.File
+ file_HomePlantWeedReq_proto_rawDesc = nil
+ file_HomePlantWeedReq_proto_goTypes = nil
+ file_HomePlantWeedReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePlantWeedRsp.pb.go b/protocol/proto/HomePlantWeedRsp.pb.go
new file mode 100644
index 00000000..a8050885
--- /dev/null
+++ b/protocol/proto/HomePlantWeedRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePlantWeedRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4527
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomePlantWeedRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomePlantWeedRsp) Reset() {
+ *x = HomePlantWeedRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePlantWeedRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePlantWeedRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePlantWeedRsp) ProtoMessage() {}
+
+func (x *HomePlantWeedRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePlantWeedRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePlantWeedRsp.ProtoReflect.Descriptor instead.
+func (*HomePlantWeedRsp) Descriptor() ([]byte, []int) {
+ return file_HomePlantWeedRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePlantWeedRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomePlantWeedRsp_proto protoreflect.FileDescriptor
+
+var file_HomePlantWeedRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x57, 0x65, 0x65, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2c, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x57, 0x65, 0x65, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomePlantWeedRsp_proto_rawDescOnce sync.Once
+ file_HomePlantWeedRsp_proto_rawDescData = file_HomePlantWeedRsp_proto_rawDesc
+)
+
+func file_HomePlantWeedRsp_proto_rawDescGZIP() []byte {
+ file_HomePlantWeedRsp_proto_rawDescOnce.Do(func() {
+ file_HomePlantWeedRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePlantWeedRsp_proto_rawDescData)
+ })
+ return file_HomePlantWeedRsp_proto_rawDescData
+}
+
+var file_HomePlantWeedRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePlantWeedRsp_proto_goTypes = []interface{}{
+ (*HomePlantWeedRsp)(nil), // 0: proto.HomePlantWeedRsp
+}
+var file_HomePlantWeedRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePlantWeedRsp_proto_init() }
+func file_HomePlantWeedRsp_proto_init() {
+ if File_HomePlantWeedRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePlantWeedRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePlantWeedRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePlantWeedRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePlantWeedRsp_proto_goTypes,
+ DependencyIndexes: file_HomePlantWeedRsp_proto_depIdxs,
+ MessageInfos: file_HomePlantWeedRsp_proto_msgTypes,
+ }.Build()
+ File_HomePlantWeedRsp_proto = out.File
+ file_HomePlantWeedRsp_proto_rawDesc = nil
+ file_HomePlantWeedRsp_proto_goTypes = nil
+ file_HomePlantWeedRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePreChangeEditModeNotify.pb.go b/protocol/proto/HomePreChangeEditModeNotify.pb.go
new file mode 100644
index 00000000..732c4b0e
--- /dev/null
+++ b/protocol/proto/HomePreChangeEditModeNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePreChangeEditModeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4639
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomePreChangeEditModeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsEnterEditMode bool `protobuf:"varint,15,opt,name=is_enter_edit_mode,json=isEnterEditMode,proto3" json:"is_enter_edit_mode,omitempty"`
+}
+
+func (x *HomePreChangeEditModeNotify) Reset() {
+ *x = HomePreChangeEditModeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePreChangeEditModeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePreChangeEditModeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePreChangeEditModeNotify) ProtoMessage() {}
+
+func (x *HomePreChangeEditModeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePreChangeEditModeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePreChangeEditModeNotify.ProtoReflect.Descriptor instead.
+func (*HomePreChangeEditModeNotify) Descriptor() ([]byte, []int) {
+ return file_HomePreChangeEditModeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePreChangeEditModeNotify) GetIsEnterEditMode() bool {
+ if x != nil {
+ return x.IsEnterEditMode
+ }
+ return false
+}
+
+var File_HomePreChangeEditModeNotify_proto protoreflect.FileDescriptor
+
+var file_HomePreChangeEditModeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45,
+ 0x64, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x1b, 0x48, 0x6f,
+ 0x6d, 0x65, 0x50, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x64, 0x69, 0x74, 0x4d,
+ 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f,
+ 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x64,
+ 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePreChangeEditModeNotify_proto_rawDescOnce sync.Once
+ file_HomePreChangeEditModeNotify_proto_rawDescData = file_HomePreChangeEditModeNotify_proto_rawDesc
+)
+
+func file_HomePreChangeEditModeNotify_proto_rawDescGZIP() []byte {
+ file_HomePreChangeEditModeNotify_proto_rawDescOnce.Do(func() {
+ file_HomePreChangeEditModeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePreChangeEditModeNotify_proto_rawDescData)
+ })
+ return file_HomePreChangeEditModeNotify_proto_rawDescData
+}
+
+var file_HomePreChangeEditModeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePreChangeEditModeNotify_proto_goTypes = []interface{}{
+ (*HomePreChangeEditModeNotify)(nil), // 0: proto.HomePreChangeEditModeNotify
+}
+var file_HomePreChangeEditModeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePreChangeEditModeNotify_proto_init() }
+func file_HomePreChangeEditModeNotify_proto_init() {
+ if File_HomePreChangeEditModeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePreChangeEditModeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePreChangeEditModeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePreChangeEditModeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePreChangeEditModeNotify_proto_goTypes,
+ DependencyIndexes: file_HomePreChangeEditModeNotify_proto_depIdxs,
+ MessageInfos: file_HomePreChangeEditModeNotify_proto_msgTypes,
+ }.Build()
+ File_HomePreChangeEditModeNotify_proto = out.File
+ file_HomePreChangeEditModeNotify_proto_rawDesc = nil
+ file_HomePreChangeEditModeNotify_proto_goTypes = nil
+ file_HomePreChangeEditModeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePreviewBlueprintReq.pb.go b/protocol/proto/HomePreviewBlueprintReq.pb.go
new file mode 100644
index 00000000..548642d8
--- /dev/null
+++ b/protocol/proto/HomePreviewBlueprintReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePreviewBlueprintReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4478
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomePreviewBlueprintReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShareCode string `protobuf:"bytes,7,opt,name=share_code,json=shareCode,proto3" json:"share_code,omitempty"`
+}
+
+func (x *HomePreviewBlueprintReq) Reset() {
+ *x = HomePreviewBlueprintReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePreviewBlueprintReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePreviewBlueprintReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePreviewBlueprintReq) ProtoMessage() {}
+
+func (x *HomePreviewBlueprintReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePreviewBlueprintReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePreviewBlueprintReq.ProtoReflect.Descriptor instead.
+func (*HomePreviewBlueprintReq) Descriptor() ([]byte, []int) {
+ return file_HomePreviewBlueprintReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePreviewBlueprintReq) GetShareCode() string {
+ if x != nil {
+ return x.ShareCode
+ }
+ return ""
+}
+
+var File_HomePreviewBlueprintReq_proto protoreflect.FileDescriptor
+
+var file_HomePreviewBlueprintReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x42, 0x6c, 0x75,
+ 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x72,
+ 0x65, 0x76, 0x69, 0x65, 0x77, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePreviewBlueprintReq_proto_rawDescOnce sync.Once
+ file_HomePreviewBlueprintReq_proto_rawDescData = file_HomePreviewBlueprintReq_proto_rawDesc
+)
+
+func file_HomePreviewBlueprintReq_proto_rawDescGZIP() []byte {
+ file_HomePreviewBlueprintReq_proto_rawDescOnce.Do(func() {
+ file_HomePreviewBlueprintReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePreviewBlueprintReq_proto_rawDescData)
+ })
+ return file_HomePreviewBlueprintReq_proto_rawDescData
+}
+
+var file_HomePreviewBlueprintReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePreviewBlueprintReq_proto_goTypes = []interface{}{
+ (*HomePreviewBlueprintReq)(nil), // 0: proto.HomePreviewBlueprintReq
+}
+var file_HomePreviewBlueprintReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePreviewBlueprintReq_proto_init() }
+func file_HomePreviewBlueprintReq_proto_init() {
+ if File_HomePreviewBlueprintReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePreviewBlueprintReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePreviewBlueprintReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePreviewBlueprintReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePreviewBlueprintReq_proto_goTypes,
+ DependencyIndexes: file_HomePreviewBlueprintReq_proto_depIdxs,
+ MessageInfos: file_HomePreviewBlueprintReq_proto_msgTypes,
+ }.Build()
+ File_HomePreviewBlueprintReq_proto = out.File
+ file_HomePreviewBlueprintReq_proto_rawDesc = nil
+ file_HomePreviewBlueprintReq_proto_goTypes = nil
+ file_HomePreviewBlueprintReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePreviewBlueprintRsp.pb.go b/protocol/proto/HomePreviewBlueprintRsp.pb.go
new file mode 100644
index 00000000..6c251ec4
--- /dev/null
+++ b/protocol/proto/HomePreviewBlueprintRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePreviewBlueprintRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4738
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomePreviewBlueprintRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneArrangementInfo *HomeSceneArrangementInfo `protobuf:"bytes,12,opt,name=scene_arrangement_info,json=sceneArrangementInfo,proto3" json:"scene_arrangement_info,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ShareCode string `protobuf:"bytes,14,opt,name=share_code,json=shareCode,proto3" json:"share_code,omitempty"`
+}
+
+func (x *HomePreviewBlueprintRsp) Reset() {
+ *x = HomePreviewBlueprintRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePreviewBlueprintRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePreviewBlueprintRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePreviewBlueprintRsp) ProtoMessage() {}
+
+func (x *HomePreviewBlueprintRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePreviewBlueprintRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePreviewBlueprintRsp.ProtoReflect.Descriptor instead.
+func (*HomePreviewBlueprintRsp) Descriptor() ([]byte, []int) {
+ return file_HomePreviewBlueprintRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePreviewBlueprintRsp) GetSceneArrangementInfo() *HomeSceneArrangementInfo {
+ if x != nil {
+ return x.SceneArrangementInfo
+ }
+ return nil
+}
+
+func (x *HomePreviewBlueprintRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomePreviewBlueprintRsp) GetShareCode() string {
+ if x != nil {
+ return x.ShareCode
+ }
+ return ""
+}
+
+var File_HomePreviewBlueprintRsp_proto protoreflect.FileDescriptor
+
+var file_HomePreviewBlueprintRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x42, 0x6c, 0x75,
+ 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x50,
+ 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52,
+ 0x73, 0x70, 0x12, 0x55, 0x0a, 0x16, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x61,
+ 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePreviewBlueprintRsp_proto_rawDescOnce sync.Once
+ file_HomePreviewBlueprintRsp_proto_rawDescData = file_HomePreviewBlueprintRsp_proto_rawDesc
+)
+
+func file_HomePreviewBlueprintRsp_proto_rawDescGZIP() []byte {
+ file_HomePreviewBlueprintRsp_proto_rawDescOnce.Do(func() {
+ file_HomePreviewBlueprintRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePreviewBlueprintRsp_proto_rawDescData)
+ })
+ return file_HomePreviewBlueprintRsp_proto_rawDescData
+}
+
+var file_HomePreviewBlueprintRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePreviewBlueprintRsp_proto_goTypes = []interface{}{
+ (*HomePreviewBlueprintRsp)(nil), // 0: proto.HomePreviewBlueprintRsp
+ (*HomeSceneArrangementInfo)(nil), // 1: proto.HomeSceneArrangementInfo
+}
+var file_HomePreviewBlueprintRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomePreviewBlueprintRsp.scene_arrangement_info:type_name -> proto.HomeSceneArrangementInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomePreviewBlueprintRsp_proto_init() }
+func file_HomePreviewBlueprintRsp_proto_init() {
+ if File_HomePreviewBlueprintRsp_proto != nil {
+ return
+ }
+ file_HomeSceneArrangementInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomePreviewBlueprintRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePreviewBlueprintRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePreviewBlueprintRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePreviewBlueprintRsp_proto_goTypes,
+ DependencyIndexes: file_HomePreviewBlueprintRsp_proto_depIdxs,
+ MessageInfos: file_HomePreviewBlueprintRsp_proto_msgTypes,
+ }.Build()
+ File_HomePreviewBlueprintRsp_proto = out.File
+ file_HomePreviewBlueprintRsp_proto_rawDesc = nil
+ file_HomePreviewBlueprintRsp_proto_goTypes = nil
+ file_HomePreviewBlueprintRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomePriorCheckNotify.pb.go b/protocol/proto/HomePriorCheckNotify.pb.go
new file mode 100644
index 00000000..ff8d1731
--- /dev/null
+++ b/protocol/proto/HomePriorCheckNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomePriorCheckNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4599
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomePriorCheckNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndTime uint32 `protobuf:"fixed32,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *HomePriorCheckNotify) Reset() {
+ *x = HomePriorCheckNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomePriorCheckNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomePriorCheckNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomePriorCheckNotify) ProtoMessage() {}
+
+func (x *HomePriorCheckNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomePriorCheckNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomePriorCheckNotify.ProtoReflect.Descriptor instead.
+func (*HomePriorCheckNotify) Descriptor() ([]byte, []int) {
+ return file_HomePriorCheckNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomePriorCheckNotify) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_HomePriorCheckNotify_proto protoreflect.FileDescriptor
+
+var file_HomePriorCheckNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x65,
+ 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x07, 0x65,
+ 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomePriorCheckNotify_proto_rawDescOnce sync.Once
+ file_HomePriorCheckNotify_proto_rawDescData = file_HomePriorCheckNotify_proto_rawDesc
+)
+
+func file_HomePriorCheckNotify_proto_rawDescGZIP() []byte {
+ file_HomePriorCheckNotify_proto_rawDescOnce.Do(func() {
+ file_HomePriorCheckNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomePriorCheckNotify_proto_rawDescData)
+ })
+ return file_HomePriorCheckNotify_proto_rawDescData
+}
+
+var file_HomePriorCheckNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomePriorCheckNotify_proto_goTypes = []interface{}{
+ (*HomePriorCheckNotify)(nil), // 0: proto.HomePriorCheckNotify
+}
+var file_HomePriorCheckNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomePriorCheckNotify_proto_init() }
+func file_HomePriorCheckNotify_proto_init() {
+ if File_HomePriorCheckNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomePriorCheckNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomePriorCheckNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomePriorCheckNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomePriorCheckNotify_proto_goTypes,
+ DependencyIndexes: file_HomePriorCheckNotify_proto_depIdxs,
+ MessageInfos: file_HomePriorCheckNotify_proto_msgTypes,
+ }.Build()
+ File_HomePriorCheckNotify_proto = out.File
+ file_HomePriorCheckNotify_proto_rawDesc = nil
+ file_HomePriorCheckNotify_proto_goTypes = nil
+ file_HomePriorCheckNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeRacingGalleryRecord.pb.go b/protocol/proto/HomeRacingGalleryRecord.pb.go
new file mode 100644
index 00000000..6f02e978
--- /dev/null
+++ b/protocol/proto/HomeRacingGalleryRecord.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeRacingGalleryRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeRacingGalleryRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UseTime uint32 `protobuf:"varint,1,opt,name=use_time,json=useTime,proto3" json:"use_time,omitempty"`
+ Timestamp uint32 `protobuf:"varint,8,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+ PlayerInfo *HomeGroupPlayerInfo `protobuf:"bytes,12,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+}
+
+func (x *HomeRacingGalleryRecord) Reset() {
+ *x = HomeRacingGalleryRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeRacingGalleryRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeRacingGalleryRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeRacingGalleryRecord) ProtoMessage() {}
+
+func (x *HomeRacingGalleryRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeRacingGalleryRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeRacingGalleryRecord.ProtoReflect.Descriptor instead.
+func (*HomeRacingGalleryRecord) Descriptor() ([]byte, []int) {
+ return file_HomeRacingGalleryRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeRacingGalleryRecord) GetUseTime() uint32 {
+ if x != nil {
+ return x.UseTime
+ }
+ return 0
+}
+
+func (x *HomeRacingGalleryRecord) GetTimestamp() uint32 {
+ if x != nil {
+ return x.Timestamp
+ }
+ return 0
+}
+
+func (x *HomeRacingGalleryRecord) GetPlayerInfo() *HomeGroupPlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+var File_HomeRacingGalleryRecord_proto protoreflect.FileDescriptor
+
+var file_HomeRacingGalleryRecord_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x0a,
+ 0x08, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x75, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeRacingGalleryRecord_proto_rawDescOnce sync.Once
+ file_HomeRacingGalleryRecord_proto_rawDescData = file_HomeRacingGalleryRecord_proto_rawDesc
+)
+
+func file_HomeRacingGalleryRecord_proto_rawDescGZIP() []byte {
+ file_HomeRacingGalleryRecord_proto_rawDescOnce.Do(func() {
+ file_HomeRacingGalleryRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeRacingGalleryRecord_proto_rawDescData)
+ })
+ return file_HomeRacingGalleryRecord_proto_rawDescData
+}
+
+var file_HomeRacingGalleryRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeRacingGalleryRecord_proto_goTypes = []interface{}{
+ (*HomeRacingGalleryRecord)(nil), // 0: proto.HomeRacingGalleryRecord
+ (*HomeGroupPlayerInfo)(nil), // 1: proto.HomeGroupPlayerInfo
+}
+var file_HomeRacingGalleryRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeRacingGalleryRecord.player_info:type_name -> proto.HomeGroupPlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeRacingGalleryRecord_proto_init() }
+func file_HomeRacingGalleryRecord_proto_init() {
+ if File_HomeRacingGalleryRecord_proto != nil {
+ return
+ }
+ file_HomeGroupPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeRacingGalleryRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeRacingGalleryRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeRacingGalleryRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeRacingGalleryRecord_proto_goTypes,
+ DependencyIndexes: file_HomeRacingGalleryRecord_proto_depIdxs,
+ MessageInfos: file_HomeRacingGalleryRecord_proto_msgTypes,
+ }.Build()
+ File_HomeRacingGalleryRecord_proto = out.File
+ file_HomeRacingGalleryRecord_proto_rawDesc = nil
+ file_HomeRacingGalleryRecord_proto_goTypes = nil
+ file_HomeRacingGalleryRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeRacingGallerySettleNotify.pb.go b/protocol/proto/HomeRacingGallerySettleNotify.pb.go
new file mode 100644
index 00000000..d5788fd5
--- /dev/null
+++ b/protocol/proto/HomeRacingGallerySettleNotify.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeRacingGallerySettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4805
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeRacingGallerySettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,11,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ SettleInfo *RacingGallerySettleInfo `protobuf:"bytes,12,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+ Rank uint32 `protobuf:"varint,7,opt,name=rank,proto3" json:"rank,omitempty"`
+ IsNewRecord bool `protobuf:"varint,2,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *HomeRacingGallerySettleNotify) Reset() {
+ *x = HomeRacingGallerySettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeRacingGallerySettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeRacingGallerySettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeRacingGallerySettleNotify) ProtoMessage() {}
+
+func (x *HomeRacingGallerySettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeRacingGallerySettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeRacingGallerySettleNotify.ProtoReflect.Descriptor instead.
+func (*HomeRacingGallerySettleNotify) Descriptor() ([]byte, []int) {
+ return file_HomeRacingGallerySettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeRacingGallerySettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *HomeRacingGallerySettleNotify) GetSettleInfo() *RacingGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+func (x *HomeRacingGallerySettleNotify) GetRank() uint32 {
+ if x != nil {
+ return x.Rank
+ }
+ return 0
+}
+
+func (x *HomeRacingGallerySettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_HomeRacingGallerySettleNotify_proto protoreflect.FileDescriptor
+
+var file_HomeRacingGallerySettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x52, 0x61,
+ 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x1d,
+ 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0b,
+ 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a,
+ 0x04, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x72, 0x61, 0x6e,
+ 0x6b, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeRacingGallerySettleNotify_proto_rawDescOnce sync.Once
+ file_HomeRacingGallerySettleNotify_proto_rawDescData = file_HomeRacingGallerySettleNotify_proto_rawDesc
+)
+
+func file_HomeRacingGallerySettleNotify_proto_rawDescGZIP() []byte {
+ file_HomeRacingGallerySettleNotify_proto_rawDescOnce.Do(func() {
+ file_HomeRacingGallerySettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeRacingGallerySettleNotify_proto_rawDescData)
+ })
+ return file_HomeRacingGallerySettleNotify_proto_rawDescData
+}
+
+var file_HomeRacingGallerySettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeRacingGallerySettleNotify_proto_goTypes = []interface{}{
+ (*HomeRacingGallerySettleNotify)(nil), // 0: proto.HomeRacingGallerySettleNotify
+ (*RacingGallerySettleInfo)(nil), // 1: proto.RacingGallerySettleInfo
+}
+var file_HomeRacingGallerySettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeRacingGallerySettleNotify.settle_info:type_name -> proto.RacingGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeRacingGallerySettleNotify_proto_init() }
+func file_HomeRacingGallerySettleNotify_proto_init() {
+ if File_HomeRacingGallerySettleNotify_proto != nil {
+ return
+ }
+ file_RacingGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeRacingGallerySettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeRacingGallerySettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeRacingGallerySettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeRacingGallerySettleNotify_proto_goTypes,
+ DependencyIndexes: file_HomeRacingGallerySettleNotify_proto_depIdxs,
+ MessageInfos: file_HomeRacingGallerySettleNotify_proto_msgTypes,
+ }.Build()
+ File_HomeRacingGallerySettleNotify_proto = out.File
+ file_HomeRacingGallerySettleNotify_proto_rawDesc = nil
+ file_HomeRacingGallerySettleNotify_proto_goTypes = nil
+ file_HomeRacingGallerySettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeRacingRecord.pb.go b/protocol/proto/HomeRacingRecord.pb.go
new file mode 100644
index 00000000..12308261
--- /dev/null
+++ b/protocol/proto/HomeRacingRecord.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeRacingRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeRacingRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecordList []*HomeRacingGalleryRecord `protobuf:"bytes,7,rep,name=record_list,json=recordList,proto3" json:"record_list,omitempty"`
+}
+
+func (x *HomeRacingRecord) Reset() {
+ *x = HomeRacingRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeRacingRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeRacingRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeRacingRecord) ProtoMessage() {}
+
+func (x *HomeRacingRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeRacingRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeRacingRecord.ProtoReflect.Descriptor instead.
+func (*HomeRacingRecord) Descriptor() ([]byte, []int) {
+ return file_HomeRacingRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeRacingRecord) GetRecordList() []*HomeRacingGalleryRecord {
+ if x != nil {
+ return x.RecordList
+ }
+ return nil
+}
+
+var File_HomeRacingRecord_proto protoreflect.FileDescriptor
+
+var file_HomeRacingRecord_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53,
+ 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeRacingRecord_proto_rawDescOnce sync.Once
+ file_HomeRacingRecord_proto_rawDescData = file_HomeRacingRecord_proto_rawDesc
+)
+
+func file_HomeRacingRecord_proto_rawDescGZIP() []byte {
+ file_HomeRacingRecord_proto_rawDescOnce.Do(func() {
+ file_HomeRacingRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeRacingRecord_proto_rawDescData)
+ })
+ return file_HomeRacingRecord_proto_rawDescData
+}
+
+var file_HomeRacingRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeRacingRecord_proto_goTypes = []interface{}{
+ (*HomeRacingRecord)(nil), // 0: proto.HomeRacingRecord
+ (*HomeRacingGalleryRecord)(nil), // 1: proto.HomeRacingGalleryRecord
+}
+var file_HomeRacingRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeRacingRecord.record_list:type_name -> proto.HomeRacingGalleryRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeRacingRecord_proto_init() }
+func file_HomeRacingRecord_proto_init() {
+ if File_HomeRacingRecord_proto != nil {
+ return
+ }
+ file_HomeRacingGalleryRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeRacingRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeRacingRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeRacingRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeRacingRecord_proto_goTypes,
+ DependencyIndexes: file_HomeRacingRecord_proto_depIdxs,
+ MessageInfos: file_HomeRacingRecord_proto_msgTypes,
+ }.Build()
+ File_HomeRacingRecord_proto = out.File
+ file_HomeRacingRecord_proto_rawDesc = nil
+ file_HomeRacingRecord_proto_goTypes = nil
+ file_HomeRacingRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeResource.pb.go b/protocol/proto/HomeResource.pb.go
new file mode 100644
index 00000000..d2040d1b
--- /dev/null
+++ b/protocol/proto/HomeResource.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeResource.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeResource struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NextRefreshTime uint32 `protobuf:"fixed32,15,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ StoreLimit uint32 `protobuf:"varint,3,opt,name=store_limit,json=storeLimit,proto3" json:"store_limit,omitempty"`
+ StoreValue uint32 `protobuf:"varint,12,opt,name=store_value,json=storeValue,proto3" json:"store_value,omitempty"`
+}
+
+func (x *HomeResource) Reset() {
+ *x = HomeResource{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeResource_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeResource) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeResource) ProtoMessage() {}
+
+func (x *HomeResource) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeResource_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeResource.ProtoReflect.Descriptor instead.
+func (*HomeResource) Descriptor() ([]byte, []int) {
+ return file_HomeResource_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeResource) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *HomeResource) GetStoreLimit() uint32 {
+ if x != nil {
+ return x.StoreLimit
+ }
+ return 0
+}
+
+func (x *HomeResource) GetStoreValue() uint32 {
+ if x != nil {
+ return x.StoreValue
+ }
+ return 0
+}
+
+var File_HomeResource_proto protoreflect.FileDescriptor
+
+var file_HomeResource_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x0c, 0x48,
+ 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6e,
+ 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x66, 0x72,
+ 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x65,
+ 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72,
+ 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73,
+ 0x74, 0x6f, 0x72, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeResource_proto_rawDescOnce sync.Once
+ file_HomeResource_proto_rawDescData = file_HomeResource_proto_rawDesc
+)
+
+func file_HomeResource_proto_rawDescGZIP() []byte {
+ file_HomeResource_proto_rawDescOnce.Do(func() {
+ file_HomeResource_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeResource_proto_rawDescData)
+ })
+ return file_HomeResource_proto_rawDescData
+}
+
+var file_HomeResource_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeResource_proto_goTypes = []interface{}{
+ (*HomeResource)(nil), // 0: proto.HomeResource
+}
+var file_HomeResource_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeResource_proto_init() }
+func file_HomeResource_proto_init() {
+ if File_HomeResource_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeResource_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeResource); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeResource_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeResource_proto_goTypes,
+ DependencyIndexes: file_HomeResource_proto_depIdxs,
+ MessageInfos: file_HomeResource_proto_msgTypes,
+ }.Build()
+ File_HomeResource_proto = out.File
+ file_HomeResource_proto_rawDesc = nil
+ file_HomeResource_proto_goTypes = nil
+ file_HomeResource_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeResourceNotify.pb.go b/protocol/proto/HomeResourceNotify.pb.go
new file mode 100644
index 00000000..5d6bb68a
--- /dev/null
+++ b/protocol/proto/HomeResourceNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeResourceNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4892
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeResourceNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HomeCoin *HomeResource `protobuf:"bytes,9,opt,name=home_coin,json=homeCoin,proto3" json:"home_coin,omitempty"`
+ FetterExp *HomeResource `protobuf:"bytes,8,opt,name=fetter_exp,json=fetterExp,proto3" json:"fetter_exp,omitempty"`
+}
+
+func (x *HomeResourceNotify) Reset() {
+ *x = HomeResourceNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeResourceNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeResourceNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeResourceNotify) ProtoMessage() {}
+
+func (x *HomeResourceNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeResourceNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeResourceNotify.ProtoReflect.Descriptor instead.
+func (*HomeResourceNotify) Descriptor() ([]byte, []int) {
+ return file_HomeResourceNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeResourceNotify) GetHomeCoin() *HomeResource {
+ if x != nil {
+ return x.HomeCoin
+ }
+ return nil
+}
+
+func (x *HomeResourceNotify) GetFetterExp() *HomeResource {
+ if x != nil {
+ return x.FetterExp
+ }
+ return nil
+}
+
+var File_HomeResourceNotify_proto protoreflect.FileDescriptor
+
+var file_HomeResourceNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x12, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x30, 0x0a, 0x09, 0x68,
+ 0x6f, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x52, 0x08, 0x68, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x32, 0x0a,
+ 0x0a, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x45, 0x78,
+ 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeResourceNotify_proto_rawDescOnce sync.Once
+ file_HomeResourceNotify_proto_rawDescData = file_HomeResourceNotify_proto_rawDesc
+)
+
+func file_HomeResourceNotify_proto_rawDescGZIP() []byte {
+ file_HomeResourceNotify_proto_rawDescOnce.Do(func() {
+ file_HomeResourceNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeResourceNotify_proto_rawDescData)
+ })
+ return file_HomeResourceNotify_proto_rawDescData
+}
+
+var file_HomeResourceNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeResourceNotify_proto_goTypes = []interface{}{
+ (*HomeResourceNotify)(nil), // 0: proto.HomeResourceNotify
+ (*HomeResource)(nil), // 1: proto.HomeResource
+}
+var file_HomeResourceNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeResourceNotify.home_coin:type_name -> proto.HomeResource
+ 1, // 1: proto.HomeResourceNotify.fetter_exp:type_name -> proto.HomeResource
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeResourceNotify_proto_init() }
+func file_HomeResourceNotify_proto_init() {
+ if File_HomeResourceNotify_proto != nil {
+ return
+ }
+ file_HomeResource_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeResourceNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeResourceNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeResourceNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeResourceNotify_proto_goTypes,
+ DependencyIndexes: file_HomeResourceNotify_proto_depIdxs,
+ MessageInfos: file_HomeResourceNotify_proto_msgTypes,
+ }.Build()
+ File_HomeResourceNotify_proto = out.File
+ file_HomeResourceNotify_proto_rawDesc = nil
+ file_HomeResourceNotify_proto_goTypes = nil
+ file_HomeResourceNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeResourceTakeFetterExpReq.pb.go b/protocol/proto/HomeResourceTakeFetterExpReq.pb.go
new file mode 100644
index 00000000..784b70c4
--- /dev/null
+++ b/protocol/proto/HomeResourceTakeFetterExpReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeResourceTakeFetterExpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4768
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeResourceTakeFetterExpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeResourceTakeFetterExpReq) Reset() {
+ *x = HomeResourceTakeFetterExpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeResourceTakeFetterExpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeResourceTakeFetterExpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeResourceTakeFetterExpReq) ProtoMessage() {}
+
+func (x *HomeResourceTakeFetterExpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeResourceTakeFetterExpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeResourceTakeFetterExpReq.ProtoReflect.Descriptor instead.
+func (*HomeResourceTakeFetterExpReq) Descriptor() ([]byte, []int) {
+ return file_HomeResourceTakeFetterExpReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeResourceTakeFetterExpReq_proto protoreflect.FileDescriptor
+
+var file_HomeResourceTakeFetterExpReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61,
+ 0x6b, 0x65, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x48,
+ 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x46,
+ 0x65, 0x74, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeResourceTakeFetterExpReq_proto_rawDescOnce sync.Once
+ file_HomeResourceTakeFetterExpReq_proto_rawDescData = file_HomeResourceTakeFetterExpReq_proto_rawDesc
+)
+
+func file_HomeResourceTakeFetterExpReq_proto_rawDescGZIP() []byte {
+ file_HomeResourceTakeFetterExpReq_proto_rawDescOnce.Do(func() {
+ file_HomeResourceTakeFetterExpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeResourceTakeFetterExpReq_proto_rawDescData)
+ })
+ return file_HomeResourceTakeFetterExpReq_proto_rawDescData
+}
+
+var file_HomeResourceTakeFetterExpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeResourceTakeFetterExpReq_proto_goTypes = []interface{}{
+ (*HomeResourceTakeFetterExpReq)(nil), // 0: proto.HomeResourceTakeFetterExpReq
+}
+var file_HomeResourceTakeFetterExpReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeResourceTakeFetterExpReq_proto_init() }
+func file_HomeResourceTakeFetterExpReq_proto_init() {
+ if File_HomeResourceTakeFetterExpReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeResourceTakeFetterExpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeResourceTakeFetterExpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeResourceTakeFetterExpReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeResourceTakeFetterExpReq_proto_goTypes,
+ DependencyIndexes: file_HomeResourceTakeFetterExpReq_proto_depIdxs,
+ MessageInfos: file_HomeResourceTakeFetterExpReq_proto_msgTypes,
+ }.Build()
+ File_HomeResourceTakeFetterExpReq_proto = out.File
+ file_HomeResourceTakeFetterExpReq_proto_rawDesc = nil
+ file_HomeResourceTakeFetterExpReq_proto_goTypes = nil
+ file_HomeResourceTakeFetterExpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeResourceTakeFetterExpRsp.pb.go b/protocol/proto/HomeResourceTakeFetterExpRsp.pb.go
new file mode 100644
index 00000000..449950e7
--- /dev/null
+++ b/protocol/proto/HomeResourceTakeFetterExpRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeResourceTakeFetterExpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4645
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeResourceTakeFetterExpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FetterExp *HomeResource `protobuf:"bytes,4,opt,name=fetter_exp,json=fetterExp,proto3" json:"fetter_exp,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeResourceTakeFetterExpRsp) Reset() {
+ *x = HomeResourceTakeFetterExpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeResourceTakeFetterExpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeResourceTakeFetterExpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeResourceTakeFetterExpRsp) ProtoMessage() {}
+
+func (x *HomeResourceTakeFetterExpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeResourceTakeFetterExpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeResourceTakeFetterExpRsp.ProtoReflect.Descriptor instead.
+func (*HomeResourceTakeFetterExpRsp) Descriptor() ([]byte, []int) {
+ return file_HomeResourceTakeFetterExpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeResourceTakeFetterExpRsp) GetFetterExp() *HomeResource {
+ if x != nil {
+ return x.FetterExp
+ }
+ return nil
+}
+
+func (x *HomeResourceTakeFetterExpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeResourceTakeFetterExpRsp_proto protoreflect.FileDescriptor
+
+var file_HomeResourceTakeFetterExpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61,
+ 0x6b, 0x65, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x48, 0x6f, 0x6d,
+ 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x6c, 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
+ 0x61, 0x6b, 0x65, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x52, 0x73, 0x70, 0x12,
+ 0x32, 0x0a, 0x0a, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65,
+ 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72,
+ 0x45, 0x78, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HomeResourceTakeFetterExpRsp_proto_rawDescOnce sync.Once
+ file_HomeResourceTakeFetterExpRsp_proto_rawDescData = file_HomeResourceTakeFetterExpRsp_proto_rawDesc
+)
+
+func file_HomeResourceTakeFetterExpRsp_proto_rawDescGZIP() []byte {
+ file_HomeResourceTakeFetterExpRsp_proto_rawDescOnce.Do(func() {
+ file_HomeResourceTakeFetterExpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeResourceTakeFetterExpRsp_proto_rawDescData)
+ })
+ return file_HomeResourceTakeFetterExpRsp_proto_rawDescData
+}
+
+var file_HomeResourceTakeFetterExpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeResourceTakeFetterExpRsp_proto_goTypes = []interface{}{
+ (*HomeResourceTakeFetterExpRsp)(nil), // 0: proto.HomeResourceTakeFetterExpRsp
+ (*HomeResource)(nil), // 1: proto.HomeResource
+}
+var file_HomeResourceTakeFetterExpRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeResourceTakeFetterExpRsp.fetter_exp:type_name -> proto.HomeResource
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeResourceTakeFetterExpRsp_proto_init() }
+func file_HomeResourceTakeFetterExpRsp_proto_init() {
+ if File_HomeResourceTakeFetterExpRsp_proto != nil {
+ return
+ }
+ file_HomeResource_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeResourceTakeFetterExpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeResourceTakeFetterExpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeResourceTakeFetterExpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeResourceTakeFetterExpRsp_proto_goTypes,
+ DependencyIndexes: file_HomeResourceTakeFetterExpRsp_proto_depIdxs,
+ MessageInfos: file_HomeResourceTakeFetterExpRsp_proto_msgTypes,
+ }.Build()
+ File_HomeResourceTakeFetterExpRsp_proto = out.File
+ file_HomeResourceTakeFetterExpRsp_proto_rawDesc = nil
+ file_HomeResourceTakeFetterExpRsp_proto_goTypes = nil
+ file_HomeResourceTakeFetterExpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeResourceTakeHomeCoinReq.pb.go b/protocol/proto/HomeResourceTakeHomeCoinReq.pb.go
new file mode 100644
index 00000000..04de2385
--- /dev/null
+++ b/protocol/proto/HomeResourceTakeHomeCoinReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeResourceTakeHomeCoinReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4479
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeResourceTakeHomeCoinReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeResourceTakeHomeCoinReq) Reset() {
+ *x = HomeResourceTakeHomeCoinReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeResourceTakeHomeCoinReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeResourceTakeHomeCoinReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeResourceTakeHomeCoinReq) ProtoMessage() {}
+
+func (x *HomeResourceTakeHomeCoinReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeResourceTakeHomeCoinReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeResourceTakeHomeCoinReq.ProtoReflect.Descriptor instead.
+func (*HomeResourceTakeHomeCoinReq) Descriptor() ([]byte, []int) {
+ return file_HomeResourceTakeHomeCoinReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeResourceTakeHomeCoinReq_proto protoreflect.FileDescriptor
+
+var file_HomeResourceTakeHomeCoinReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61,
+ 0x6b, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1d, 0x0a, 0x1b, 0x48, 0x6f,
+ 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x48, 0x6f,
+ 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeResourceTakeHomeCoinReq_proto_rawDescOnce sync.Once
+ file_HomeResourceTakeHomeCoinReq_proto_rawDescData = file_HomeResourceTakeHomeCoinReq_proto_rawDesc
+)
+
+func file_HomeResourceTakeHomeCoinReq_proto_rawDescGZIP() []byte {
+ file_HomeResourceTakeHomeCoinReq_proto_rawDescOnce.Do(func() {
+ file_HomeResourceTakeHomeCoinReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeResourceTakeHomeCoinReq_proto_rawDescData)
+ })
+ return file_HomeResourceTakeHomeCoinReq_proto_rawDescData
+}
+
+var file_HomeResourceTakeHomeCoinReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeResourceTakeHomeCoinReq_proto_goTypes = []interface{}{
+ (*HomeResourceTakeHomeCoinReq)(nil), // 0: proto.HomeResourceTakeHomeCoinReq
+}
+var file_HomeResourceTakeHomeCoinReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeResourceTakeHomeCoinReq_proto_init() }
+func file_HomeResourceTakeHomeCoinReq_proto_init() {
+ if File_HomeResourceTakeHomeCoinReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeResourceTakeHomeCoinReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeResourceTakeHomeCoinReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeResourceTakeHomeCoinReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeResourceTakeHomeCoinReq_proto_goTypes,
+ DependencyIndexes: file_HomeResourceTakeHomeCoinReq_proto_depIdxs,
+ MessageInfos: file_HomeResourceTakeHomeCoinReq_proto_msgTypes,
+ }.Build()
+ File_HomeResourceTakeHomeCoinReq_proto = out.File
+ file_HomeResourceTakeHomeCoinReq_proto_rawDesc = nil
+ file_HomeResourceTakeHomeCoinReq_proto_goTypes = nil
+ file_HomeResourceTakeHomeCoinReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeResourceTakeHomeCoinRsp.pb.go b/protocol/proto/HomeResourceTakeHomeCoinRsp.pb.go
new file mode 100644
index 00000000..aa17ea80
--- /dev/null
+++ b/protocol/proto/HomeResourceTakeHomeCoinRsp.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeResourceTakeHomeCoinRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4541
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeResourceTakeHomeCoinRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HomeCoin *HomeResource `protobuf:"bytes,7,opt,name=home_coin,json=homeCoin,proto3" json:"home_coin,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeResourceTakeHomeCoinRsp) Reset() {
+ *x = HomeResourceTakeHomeCoinRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeResourceTakeHomeCoinRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeResourceTakeHomeCoinRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeResourceTakeHomeCoinRsp) ProtoMessage() {}
+
+func (x *HomeResourceTakeHomeCoinRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeResourceTakeHomeCoinRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeResourceTakeHomeCoinRsp.ProtoReflect.Descriptor instead.
+func (*HomeResourceTakeHomeCoinRsp) Descriptor() ([]byte, []int) {
+ return file_HomeResourceTakeHomeCoinRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeResourceTakeHomeCoinRsp) GetHomeCoin() *HomeResource {
+ if x != nil {
+ return x.HomeCoin
+ }
+ return nil
+}
+
+func (x *HomeResourceTakeHomeCoinRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeResourceTakeHomeCoinRsp_proto protoreflect.FileDescriptor
+
+var file_HomeResourceTakeHomeCoinRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61,
+ 0x6b, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x48, 0x6f, 0x6d, 0x65,
+ 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69,
+ 0x0a, 0x1b, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61,
+ 0x6b, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x30, 0x0a,
+ 0x09, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x68, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeResourceTakeHomeCoinRsp_proto_rawDescOnce sync.Once
+ file_HomeResourceTakeHomeCoinRsp_proto_rawDescData = file_HomeResourceTakeHomeCoinRsp_proto_rawDesc
+)
+
+func file_HomeResourceTakeHomeCoinRsp_proto_rawDescGZIP() []byte {
+ file_HomeResourceTakeHomeCoinRsp_proto_rawDescOnce.Do(func() {
+ file_HomeResourceTakeHomeCoinRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeResourceTakeHomeCoinRsp_proto_rawDescData)
+ })
+ return file_HomeResourceTakeHomeCoinRsp_proto_rawDescData
+}
+
+var file_HomeResourceTakeHomeCoinRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeResourceTakeHomeCoinRsp_proto_goTypes = []interface{}{
+ (*HomeResourceTakeHomeCoinRsp)(nil), // 0: proto.HomeResourceTakeHomeCoinRsp
+ (*HomeResource)(nil), // 1: proto.HomeResource
+}
+var file_HomeResourceTakeHomeCoinRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeResourceTakeHomeCoinRsp.home_coin:type_name -> proto.HomeResource
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeResourceTakeHomeCoinRsp_proto_init() }
+func file_HomeResourceTakeHomeCoinRsp_proto_init() {
+ if File_HomeResourceTakeHomeCoinRsp_proto != nil {
+ return
+ }
+ file_HomeResource_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeResourceTakeHomeCoinRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeResourceTakeHomeCoinRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeResourceTakeHomeCoinRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeResourceTakeHomeCoinRsp_proto_goTypes,
+ DependencyIndexes: file_HomeResourceTakeHomeCoinRsp_proto_depIdxs,
+ MessageInfos: file_HomeResourceTakeHomeCoinRsp_proto_msgTypes,
+ }.Build()
+ File_HomeResourceTakeHomeCoinRsp_proto = out.File
+ file_HomeResourceTakeHomeCoinRsp_proto_rawDesc = nil
+ file_HomeResourceTakeHomeCoinRsp_proto_goTypes = nil
+ file_HomeResourceTakeHomeCoinRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSaveArrangementNoChangeReq.pb.go b/protocol/proto/HomeSaveArrangementNoChangeReq.pb.go
new file mode 100644
index 00000000..3e40fe99
--- /dev/null
+++ b/protocol/proto/HomeSaveArrangementNoChangeReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSaveArrangementNoChangeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4704
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeSaveArrangementNoChangeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *HomeSaveArrangementNoChangeReq) Reset() {
+ *x = HomeSaveArrangementNoChangeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSaveArrangementNoChangeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSaveArrangementNoChangeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSaveArrangementNoChangeReq) ProtoMessage() {}
+
+func (x *HomeSaveArrangementNoChangeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSaveArrangementNoChangeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSaveArrangementNoChangeReq.ProtoReflect.Descriptor instead.
+func (*HomeSaveArrangementNoChangeReq) Descriptor() ([]byte, []int) {
+ return file_HomeSaveArrangementNoChangeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSaveArrangementNoChangeReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_HomeSaveArrangementNoChangeReq_proto protoreflect.FileDescriptor
+
+var file_HomeSaveArrangementNoChangeReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a,
+ 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSaveArrangementNoChangeReq_proto_rawDescOnce sync.Once
+ file_HomeSaveArrangementNoChangeReq_proto_rawDescData = file_HomeSaveArrangementNoChangeReq_proto_rawDesc
+)
+
+func file_HomeSaveArrangementNoChangeReq_proto_rawDescGZIP() []byte {
+ file_HomeSaveArrangementNoChangeReq_proto_rawDescOnce.Do(func() {
+ file_HomeSaveArrangementNoChangeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSaveArrangementNoChangeReq_proto_rawDescData)
+ })
+ return file_HomeSaveArrangementNoChangeReq_proto_rawDescData
+}
+
+var file_HomeSaveArrangementNoChangeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSaveArrangementNoChangeReq_proto_goTypes = []interface{}{
+ (*HomeSaveArrangementNoChangeReq)(nil), // 0: proto.HomeSaveArrangementNoChangeReq
+}
+var file_HomeSaveArrangementNoChangeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSaveArrangementNoChangeReq_proto_init() }
+func file_HomeSaveArrangementNoChangeReq_proto_init() {
+ if File_HomeSaveArrangementNoChangeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSaveArrangementNoChangeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSaveArrangementNoChangeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSaveArrangementNoChangeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSaveArrangementNoChangeReq_proto_goTypes,
+ DependencyIndexes: file_HomeSaveArrangementNoChangeReq_proto_depIdxs,
+ MessageInfos: file_HomeSaveArrangementNoChangeReq_proto_msgTypes,
+ }.Build()
+ File_HomeSaveArrangementNoChangeReq_proto = out.File
+ file_HomeSaveArrangementNoChangeReq_proto_rawDesc = nil
+ file_HomeSaveArrangementNoChangeReq_proto_goTypes = nil
+ file_HomeSaveArrangementNoChangeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSaveArrangementNoChangeRsp.pb.go b/protocol/proto/HomeSaveArrangementNoChangeRsp.pb.go
new file mode 100644
index 00000000..91f93b2c
--- /dev/null
+++ b/protocol/proto/HomeSaveArrangementNoChangeRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSaveArrangementNoChangeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4668
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeSaveArrangementNoChangeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeSaveArrangementNoChangeRsp) Reset() {
+ *x = HomeSaveArrangementNoChangeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSaveArrangementNoChangeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSaveArrangementNoChangeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSaveArrangementNoChangeRsp) ProtoMessage() {}
+
+func (x *HomeSaveArrangementNoChangeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSaveArrangementNoChangeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSaveArrangementNoChangeRsp.ProtoReflect.Descriptor instead.
+func (*HomeSaveArrangementNoChangeRsp) Descriptor() ([]byte, []int) {
+ return file_HomeSaveArrangementNoChangeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSaveArrangementNoChangeRsp) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeSaveArrangementNoChangeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeSaveArrangementNoChangeRsp_proto protoreflect.FileDescriptor
+
+var file_HomeSaveArrangementNoChangeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a,
+ 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSaveArrangementNoChangeRsp_proto_rawDescOnce sync.Once
+ file_HomeSaveArrangementNoChangeRsp_proto_rawDescData = file_HomeSaveArrangementNoChangeRsp_proto_rawDesc
+)
+
+func file_HomeSaveArrangementNoChangeRsp_proto_rawDescGZIP() []byte {
+ file_HomeSaveArrangementNoChangeRsp_proto_rawDescOnce.Do(func() {
+ file_HomeSaveArrangementNoChangeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSaveArrangementNoChangeRsp_proto_rawDescData)
+ })
+ return file_HomeSaveArrangementNoChangeRsp_proto_rawDescData
+}
+
+var file_HomeSaveArrangementNoChangeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSaveArrangementNoChangeRsp_proto_goTypes = []interface{}{
+ (*HomeSaveArrangementNoChangeRsp)(nil), // 0: proto.HomeSaveArrangementNoChangeRsp
+}
+var file_HomeSaveArrangementNoChangeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSaveArrangementNoChangeRsp_proto_init() }
+func file_HomeSaveArrangementNoChangeRsp_proto_init() {
+ if File_HomeSaveArrangementNoChangeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSaveArrangementNoChangeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSaveArrangementNoChangeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSaveArrangementNoChangeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSaveArrangementNoChangeRsp_proto_goTypes,
+ DependencyIndexes: file_HomeSaveArrangementNoChangeRsp_proto_depIdxs,
+ MessageInfos: file_HomeSaveArrangementNoChangeRsp_proto_msgTypes,
+ }.Build()
+ File_HomeSaveArrangementNoChangeRsp_proto = out.File
+ file_HomeSaveArrangementNoChangeRsp_proto_rawDesc = nil
+ file_HomeSaveArrangementNoChangeRsp_proto_goTypes = nil
+ file_HomeSaveArrangementNoChangeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSceneArrangementInfo.pb.go b/protocol/proto/HomeSceneArrangementInfo.pb.go
new file mode 100644
index 00000000..fc4988e2
--- /dev/null
+++ b/protocol/proto/HomeSceneArrangementInfo.pb.go
@@ -0,0 +1,298 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSceneArrangementInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeSceneArrangementInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BornRot *Vector `protobuf:"bytes,4,opt,name=born_rot,json=bornRot,proto3" json:"born_rot,omitempty"`
+ BornPos *Vector `protobuf:"bytes,1,opt,name=born_pos,json=bornPos,proto3" json:"born_pos,omitempty"`
+ StairList []*HomeFurnitureData `protobuf:"bytes,11,rep,name=stair_list,json=stairList,proto3" json:"stair_list,omitempty"`
+ DoorList []*HomeFurnitureData `protobuf:"bytes,13,rep,name=door_list,json=doorList,proto3" json:"door_list,omitempty"`
+ IsSetBornPos bool `protobuf:"varint,10,opt,name=is_set_born_pos,json=isSetBornPos,proto3" json:"is_set_born_pos,omitempty"`
+ BlockArrangementInfoList []*HomeBlockArrangementInfo `protobuf:"bytes,8,rep,name=block_arrangement_info_list,json=blockArrangementInfoList,proto3" json:"block_arrangement_info_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,2,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ BgmId uint32 `protobuf:"varint,12,opt,name=bgm_id,json=bgmId,proto3" json:"bgm_id,omitempty"`
+ DjinnPos *Vector `protobuf:"bytes,9,opt,name=djinn_pos,json=djinnPos,proto3" json:"djinn_pos,omitempty"`
+ MainHouse *HomeFurnitureData `protobuf:"bytes,14,opt,name=main_house,json=mainHouse,proto3" json:"main_house,omitempty"`
+ ComfortValue uint32 `protobuf:"varint,7,opt,name=comfort_value,json=comfortValue,proto3" json:"comfort_value,omitempty"`
+ TmpVersion uint32 `protobuf:"varint,5,opt,name=tmp_version,json=tmpVersion,proto3" json:"tmp_version,omitempty"`
+}
+
+func (x *HomeSceneArrangementInfo) Reset() {
+ *x = HomeSceneArrangementInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSceneArrangementInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSceneArrangementInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSceneArrangementInfo) ProtoMessage() {}
+
+func (x *HomeSceneArrangementInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSceneArrangementInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSceneArrangementInfo.ProtoReflect.Descriptor instead.
+func (*HomeSceneArrangementInfo) Descriptor() ([]byte, []int) {
+ return file_HomeSceneArrangementInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSceneArrangementInfo) GetBornRot() *Vector {
+ if x != nil {
+ return x.BornRot
+ }
+ return nil
+}
+
+func (x *HomeSceneArrangementInfo) GetBornPos() *Vector {
+ if x != nil {
+ return x.BornPos
+ }
+ return nil
+}
+
+func (x *HomeSceneArrangementInfo) GetStairList() []*HomeFurnitureData {
+ if x != nil {
+ return x.StairList
+ }
+ return nil
+}
+
+func (x *HomeSceneArrangementInfo) GetDoorList() []*HomeFurnitureData {
+ if x != nil {
+ return x.DoorList
+ }
+ return nil
+}
+
+func (x *HomeSceneArrangementInfo) GetIsSetBornPos() bool {
+ if x != nil {
+ return x.IsSetBornPos
+ }
+ return false
+}
+
+func (x *HomeSceneArrangementInfo) GetBlockArrangementInfoList() []*HomeBlockArrangementInfo {
+ if x != nil {
+ return x.BlockArrangementInfoList
+ }
+ return nil
+}
+
+func (x *HomeSceneArrangementInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeSceneArrangementInfo) GetBgmId() uint32 {
+ if x != nil {
+ return x.BgmId
+ }
+ return 0
+}
+
+func (x *HomeSceneArrangementInfo) GetDjinnPos() *Vector {
+ if x != nil {
+ return x.DjinnPos
+ }
+ return nil
+}
+
+func (x *HomeSceneArrangementInfo) GetMainHouse() *HomeFurnitureData {
+ if x != nil {
+ return x.MainHouse
+ }
+ return nil
+}
+
+func (x *HomeSceneArrangementInfo) GetComfortValue() uint32 {
+ if x != nil {
+ return x.ComfortValue
+ }
+ return 0
+}
+
+func (x *HomeSceneArrangementInfo) GetTmpVersion() uint32 {
+ if x != nil {
+ return x.TmpVersion
+ }
+ return 0
+}
+
+var File_HomeSceneArrangementInfo_proto protoreflect.FileDescriptor
+
+var file_HomeSceneArrangementInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e,
+ 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2,
+ 0x04, 0x0a, 0x18, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61,
+ 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x08, 0x62,
+ 0x6f, 0x72, 0x6e, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x62, 0x6f,
+ 0x72, 0x6e, 0x52, 0x6f, 0x74, 0x12, 0x28, 0x0a, 0x08, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x70, 0x6f,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x62, 0x6f, 0x72, 0x6e, 0x50, 0x6f, 0x73, 0x12,
+ 0x37, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x69, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65,
+ 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x73,
+ 0x74, 0x61, 0x69, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x64, 0x6f, 0x6f, 0x72,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x64, 0x6f, 0x6f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x25, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x65, 0x74, 0x42,
+ 0x6f, 0x72, 0x6e, 0x50, 0x6f, 0x73, 0x12, 0x5e, 0x0a, 0x1b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f,
+ 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72,
+ 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x62, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x64, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x67, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x62, 0x67, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x64, 0x6a, 0x69, 0x6e,
+ 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x64, 0x6a, 0x69, 0x6e,
+ 0x6e, 0x50, 0x6f, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x6f, 0x75,
+ 0x73, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x48, 0x6f, 0x75, 0x73, 0x65, 0x12, 0x23, 0x0a,
+ 0x0d, 0x63, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6d, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6d, 0x70, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSceneArrangementInfo_proto_rawDescOnce sync.Once
+ file_HomeSceneArrangementInfo_proto_rawDescData = file_HomeSceneArrangementInfo_proto_rawDesc
+)
+
+func file_HomeSceneArrangementInfo_proto_rawDescGZIP() []byte {
+ file_HomeSceneArrangementInfo_proto_rawDescOnce.Do(func() {
+ file_HomeSceneArrangementInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSceneArrangementInfo_proto_rawDescData)
+ })
+ return file_HomeSceneArrangementInfo_proto_rawDescData
+}
+
+var file_HomeSceneArrangementInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSceneArrangementInfo_proto_goTypes = []interface{}{
+ (*HomeSceneArrangementInfo)(nil), // 0: proto.HomeSceneArrangementInfo
+ (*Vector)(nil), // 1: proto.Vector
+ (*HomeFurnitureData)(nil), // 2: proto.HomeFurnitureData
+ (*HomeBlockArrangementInfo)(nil), // 3: proto.HomeBlockArrangementInfo
+}
+var file_HomeSceneArrangementInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeSceneArrangementInfo.born_rot:type_name -> proto.Vector
+ 1, // 1: proto.HomeSceneArrangementInfo.born_pos:type_name -> proto.Vector
+ 2, // 2: proto.HomeSceneArrangementInfo.stair_list:type_name -> proto.HomeFurnitureData
+ 2, // 3: proto.HomeSceneArrangementInfo.door_list:type_name -> proto.HomeFurnitureData
+ 3, // 4: proto.HomeSceneArrangementInfo.block_arrangement_info_list:type_name -> proto.HomeBlockArrangementInfo
+ 1, // 5: proto.HomeSceneArrangementInfo.djinn_pos:type_name -> proto.Vector
+ 2, // 6: proto.HomeSceneArrangementInfo.main_house:type_name -> proto.HomeFurnitureData
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
+}
+
+func init() { file_HomeSceneArrangementInfo_proto_init() }
+func file_HomeSceneArrangementInfo_proto_init() {
+ if File_HomeSceneArrangementInfo_proto != nil {
+ return
+ }
+ file_HomeBlockArrangementInfo_proto_init()
+ file_HomeFurnitureData_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSceneArrangementInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSceneArrangementInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSceneArrangementInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSceneArrangementInfo_proto_goTypes,
+ DependencyIndexes: file_HomeSceneArrangementInfo_proto_depIdxs,
+ MessageInfos: file_HomeSceneArrangementInfo_proto_msgTypes,
+ }.Build()
+ File_HomeSceneArrangementInfo_proto = out.File
+ file_HomeSceneArrangementInfo_proto_rawDesc = nil
+ file_HomeSceneArrangementInfo_proto_goTypes = nil
+ file_HomeSceneArrangementInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSceneArrangementMuipData.pb.go b/protocol/proto/HomeSceneArrangementMuipData.pb.go
new file mode 100644
index 00000000..da46beb7
--- /dev/null
+++ b/protocol/proto/HomeSceneArrangementMuipData.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSceneArrangementMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeSceneArrangementMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ModuleId uint32 `protobuf:"varint,1,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,2,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ IsRoom bool `protobuf:"varint,3,opt,name=is_room,json=isRoom,proto3" json:"is_room,omitempty"`
+ BlockDataList []*HomeBlockArrangementMuipData `protobuf:"bytes,4,rep,name=block_data_list,json=blockDataList,proto3" json:"block_data_list,omitempty"`
+}
+
+func (x *HomeSceneArrangementMuipData) Reset() {
+ *x = HomeSceneArrangementMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSceneArrangementMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSceneArrangementMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSceneArrangementMuipData) ProtoMessage() {}
+
+func (x *HomeSceneArrangementMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSceneArrangementMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSceneArrangementMuipData.ProtoReflect.Descriptor instead.
+func (*HomeSceneArrangementMuipData) Descriptor() ([]byte, []int) {
+ return file_HomeSceneArrangementMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSceneArrangementMuipData) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+func (x *HomeSceneArrangementMuipData) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeSceneArrangementMuipData) GetIsRoom() bool {
+ if x != nil {
+ return x.IsRoom
+ }
+ return false
+}
+
+func (x *HomeSceneArrangementMuipData) GetBlockDataList() []*HomeBlockArrangementMuipData {
+ if x != nil {
+ return x.BlockDataList
+ }
+ return nil
+}
+
+var File_HomeSceneArrangementMuipData_proto protoreflect.FileDescriptor
+
+var file_HomeSceneArrangementMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e,
+ 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x48, 0x6f, 0x6d,
+ 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xbc, 0x01, 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72,
+ 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x72,
+ 0x6f, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x6f, 0x6f,
+ 0x6d, 0x12, 0x4b, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x72, 0x61,
+ 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HomeSceneArrangementMuipData_proto_rawDescOnce sync.Once
+ file_HomeSceneArrangementMuipData_proto_rawDescData = file_HomeSceneArrangementMuipData_proto_rawDesc
+)
+
+func file_HomeSceneArrangementMuipData_proto_rawDescGZIP() []byte {
+ file_HomeSceneArrangementMuipData_proto_rawDescOnce.Do(func() {
+ file_HomeSceneArrangementMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSceneArrangementMuipData_proto_rawDescData)
+ })
+ return file_HomeSceneArrangementMuipData_proto_rawDescData
+}
+
+var file_HomeSceneArrangementMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSceneArrangementMuipData_proto_goTypes = []interface{}{
+ (*HomeSceneArrangementMuipData)(nil), // 0: proto.HomeSceneArrangementMuipData
+ (*HomeBlockArrangementMuipData)(nil), // 1: proto.HomeBlockArrangementMuipData
+}
+var file_HomeSceneArrangementMuipData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeSceneArrangementMuipData.block_data_list:type_name -> proto.HomeBlockArrangementMuipData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeSceneArrangementMuipData_proto_init() }
+func file_HomeSceneArrangementMuipData_proto_init() {
+ if File_HomeSceneArrangementMuipData_proto != nil {
+ return
+ }
+ file_HomeBlockArrangementMuipData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSceneArrangementMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSceneArrangementMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSceneArrangementMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSceneArrangementMuipData_proto_goTypes,
+ DependencyIndexes: file_HomeSceneArrangementMuipData_proto_depIdxs,
+ MessageInfos: file_HomeSceneArrangementMuipData_proto_msgTypes,
+ }.Build()
+ File_HomeSceneArrangementMuipData_proto = out.File
+ file_HomeSceneArrangementMuipData_proto_rawDesc = nil
+ file_HomeSceneArrangementMuipData_proto_goTypes = nil
+ file_HomeSceneArrangementMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSceneInitFinishReq.pb.go b/protocol/proto/HomeSceneInitFinishReq.pb.go
new file mode 100644
index 00000000..de4e0861
--- /dev/null
+++ b/protocol/proto/HomeSceneInitFinishReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSceneInitFinishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4674
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeSceneInitFinishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HomeSceneInitFinishReq) Reset() {
+ *x = HomeSceneInitFinishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSceneInitFinishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSceneInitFinishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSceneInitFinishReq) ProtoMessage() {}
+
+func (x *HomeSceneInitFinishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSceneInitFinishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSceneInitFinishReq.ProtoReflect.Descriptor instead.
+func (*HomeSceneInitFinishReq) Descriptor() ([]byte, []int) {
+ return file_HomeSceneInitFinishReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HomeSceneInitFinishReq_proto protoreflect.FileDescriptor
+
+var file_HomeSceneInitFinishReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSceneInitFinishReq_proto_rawDescOnce sync.Once
+ file_HomeSceneInitFinishReq_proto_rawDescData = file_HomeSceneInitFinishReq_proto_rawDesc
+)
+
+func file_HomeSceneInitFinishReq_proto_rawDescGZIP() []byte {
+ file_HomeSceneInitFinishReq_proto_rawDescOnce.Do(func() {
+ file_HomeSceneInitFinishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSceneInitFinishReq_proto_rawDescData)
+ })
+ return file_HomeSceneInitFinishReq_proto_rawDescData
+}
+
+var file_HomeSceneInitFinishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSceneInitFinishReq_proto_goTypes = []interface{}{
+ (*HomeSceneInitFinishReq)(nil), // 0: proto.HomeSceneInitFinishReq
+}
+var file_HomeSceneInitFinishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSceneInitFinishReq_proto_init() }
+func file_HomeSceneInitFinishReq_proto_init() {
+ if File_HomeSceneInitFinishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSceneInitFinishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSceneInitFinishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSceneInitFinishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSceneInitFinishReq_proto_goTypes,
+ DependencyIndexes: file_HomeSceneInitFinishReq_proto_depIdxs,
+ MessageInfos: file_HomeSceneInitFinishReq_proto_msgTypes,
+ }.Build()
+ File_HomeSceneInitFinishReq_proto = out.File
+ file_HomeSceneInitFinishReq_proto_rawDesc = nil
+ file_HomeSceneInitFinishReq_proto_goTypes = nil
+ file_HomeSceneInitFinishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSceneInitFinishRsp.pb.go b/protocol/proto/HomeSceneInitFinishRsp.pb.go
new file mode 100644
index 00000000..328abb7c
--- /dev/null
+++ b/protocol/proto/HomeSceneInitFinishRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSceneInitFinishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4505
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeSceneInitFinishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeSceneInitFinishRsp) Reset() {
+ *x = HomeSceneInitFinishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSceneInitFinishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSceneInitFinishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSceneInitFinishRsp) ProtoMessage() {}
+
+func (x *HomeSceneInitFinishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSceneInitFinishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSceneInitFinishRsp.ProtoReflect.Descriptor instead.
+func (*HomeSceneInitFinishRsp) Descriptor() ([]byte, []int) {
+ return file_HomeSceneInitFinishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSceneInitFinishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeSceneInitFinishRsp_proto protoreflect.FileDescriptor
+
+var file_HomeSceneInitFinishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSceneInitFinishRsp_proto_rawDescOnce sync.Once
+ file_HomeSceneInitFinishRsp_proto_rawDescData = file_HomeSceneInitFinishRsp_proto_rawDesc
+)
+
+func file_HomeSceneInitFinishRsp_proto_rawDescGZIP() []byte {
+ file_HomeSceneInitFinishRsp_proto_rawDescOnce.Do(func() {
+ file_HomeSceneInitFinishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSceneInitFinishRsp_proto_rawDescData)
+ })
+ return file_HomeSceneInitFinishRsp_proto_rawDescData
+}
+
+var file_HomeSceneInitFinishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSceneInitFinishRsp_proto_goTypes = []interface{}{
+ (*HomeSceneInitFinishRsp)(nil), // 0: proto.HomeSceneInitFinishRsp
+}
+var file_HomeSceneInitFinishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSceneInitFinishRsp_proto_init() }
+func file_HomeSceneInitFinishRsp_proto_init() {
+ if File_HomeSceneInitFinishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSceneInitFinishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSceneInitFinishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSceneInitFinishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSceneInitFinishRsp_proto_goTypes,
+ DependencyIndexes: file_HomeSceneInitFinishRsp_proto_depIdxs,
+ MessageInfos: file_HomeSceneInitFinishRsp_proto_msgTypes,
+ }.Build()
+ File_HomeSceneInitFinishRsp_proto = out.File
+ file_HomeSceneInitFinishRsp_proto_rawDesc = nil
+ file_HomeSceneInitFinishRsp_proto_goTypes = nil
+ file_HomeSceneInitFinishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSceneJumpReq.pb.go b/protocol/proto/HomeSceneJumpReq.pb.go
new file mode 100644
index 00000000..80c3775c
--- /dev/null
+++ b/protocol/proto/HomeSceneJumpReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSceneJumpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4528
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeSceneJumpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsEnterRoomScene bool `protobuf:"varint,9,opt,name=is_enter_room_scene,json=isEnterRoomScene,proto3" json:"is_enter_room_scene,omitempty"`
+}
+
+func (x *HomeSceneJumpReq) Reset() {
+ *x = HomeSceneJumpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSceneJumpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSceneJumpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSceneJumpReq) ProtoMessage() {}
+
+func (x *HomeSceneJumpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSceneJumpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSceneJumpReq.ProtoReflect.Descriptor instead.
+func (*HomeSceneJumpReq) Descriptor() ([]byte, []int) {
+ return file_HomeSceneJumpReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSceneJumpReq) GetIsEnterRoomScene() bool {
+ if x != nil {
+ return x.IsEnterRoomScene
+ }
+ return false
+}
+
+var File_HomeSceneJumpReq_proto protoreflect.FileDescriptor
+
+var file_HomeSceneJumpReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4a, 0x75, 0x6d, 0x70, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x41, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4a, 0x75, 0x6d, 0x70,
+ 0x52, 0x65, 0x71, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f,
+ 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSceneJumpReq_proto_rawDescOnce sync.Once
+ file_HomeSceneJumpReq_proto_rawDescData = file_HomeSceneJumpReq_proto_rawDesc
+)
+
+func file_HomeSceneJumpReq_proto_rawDescGZIP() []byte {
+ file_HomeSceneJumpReq_proto_rawDescOnce.Do(func() {
+ file_HomeSceneJumpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSceneJumpReq_proto_rawDescData)
+ })
+ return file_HomeSceneJumpReq_proto_rawDescData
+}
+
+var file_HomeSceneJumpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSceneJumpReq_proto_goTypes = []interface{}{
+ (*HomeSceneJumpReq)(nil), // 0: proto.HomeSceneJumpReq
+}
+var file_HomeSceneJumpReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSceneJumpReq_proto_init() }
+func file_HomeSceneJumpReq_proto_init() {
+ if File_HomeSceneJumpReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSceneJumpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSceneJumpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSceneJumpReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSceneJumpReq_proto_goTypes,
+ DependencyIndexes: file_HomeSceneJumpReq_proto_depIdxs,
+ MessageInfos: file_HomeSceneJumpReq_proto_msgTypes,
+ }.Build()
+ File_HomeSceneJumpReq_proto = out.File
+ file_HomeSceneJumpReq_proto_rawDesc = nil
+ file_HomeSceneJumpReq_proto_goTypes = nil
+ file_HomeSceneJumpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSceneJumpRsp.pb.go b/protocol/proto/HomeSceneJumpRsp.pb.go
new file mode 100644
index 00000000..2f61990c
--- /dev/null
+++ b/protocol/proto/HomeSceneJumpRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSceneJumpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4698
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeSceneJumpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsEnterRoomScene bool `protobuf:"varint,8,opt,name=is_enter_room_scene,json=isEnterRoomScene,proto3" json:"is_enter_room_scene,omitempty"`
+}
+
+func (x *HomeSceneJumpRsp) Reset() {
+ *x = HomeSceneJumpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSceneJumpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSceneJumpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSceneJumpRsp) ProtoMessage() {}
+
+func (x *HomeSceneJumpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSceneJumpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSceneJumpRsp.ProtoReflect.Descriptor instead.
+func (*HomeSceneJumpRsp) Descriptor() ([]byte, []int) {
+ return file_HomeSceneJumpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSceneJumpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeSceneJumpRsp) GetIsEnterRoomScene() bool {
+ if x != nil {
+ return x.IsEnterRoomScene
+ }
+ return false
+}
+
+var File_HomeSceneJumpRsp_proto protoreflect.FileDescriptor
+
+var file_HomeSceneJumpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4a, 0x75, 0x6d, 0x70, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5b, 0x0a, 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4a, 0x75, 0x6d, 0x70,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a,
+ 0x13, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSceneJumpRsp_proto_rawDescOnce sync.Once
+ file_HomeSceneJumpRsp_proto_rawDescData = file_HomeSceneJumpRsp_proto_rawDesc
+)
+
+func file_HomeSceneJumpRsp_proto_rawDescGZIP() []byte {
+ file_HomeSceneJumpRsp_proto_rawDescOnce.Do(func() {
+ file_HomeSceneJumpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSceneJumpRsp_proto_rawDescData)
+ })
+ return file_HomeSceneJumpRsp_proto_rawDescData
+}
+
+var file_HomeSceneJumpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSceneJumpRsp_proto_goTypes = []interface{}{
+ (*HomeSceneJumpRsp)(nil), // 0: proto.HomeSceneJumpRsp
+}
+var file_HomeSceneJumpRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSceneJumpRsp_proto_init() }
+func file_HomeSceneJumpRsp_proto_init() {
+ if File_HomeSceneJumpRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSceneJumpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSceneJumpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSceneJumpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSceneJumpRsp_proto_goTypes,
+ DependencyIndexes: file_HomeSceneJumpRsp_proto_depIdxs,
+ MessageInfos: file_HomeSceneJumpRsp_proto_msgTypes,
+ }.Build()
+ File_HomeSceneJumpRsp_proto = out.File
+ file_HomeSceneJumpRsp_proto_rawDesc = nil
+ file_HomeSceneJumpRsp_proto_goTypes = nil
+ file_HomeSceneJumpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeScenePointFishFarmingInfo.pb.go b/protocol/proto/HomeScenePointFishFarmingInfo.pb.go
new file mode 100644
index 00000000..8c6ae7dc
--- /dev/null
+++ b/protocol/proto/HomeScenePointFishFarmingInfo.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeScenePointFishFarmingInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeScenePointFishFarmingInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,13,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ FishIdList []uint32 `protobuf:"varint,1,rep,packed,name=fish_id_list,json=fishIdList,proto3" json:"fish_id_list,omitempty"`
+ LocalEntityId uint32 `protobuf:"varint,3,opt,name=local_entity_id,json=localEntityId,proto3" json:"local_entity_id,omitempty"`
+}
+
+func (x *HomeScenePointFishFarmingInfo) Reset() {
+ *x = HomeScenePointFishFarmingInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeScenePointFishFarmingInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeScenePointFishFarmingInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeScenePointFishFarmingInfo) ProtoMessage() {}
+
+func (x *HomeScenePointFishFarmingInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeScenePointFishFarmingInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeScenePointFishFarmingInfo.ProtoReflect.Descriptor instead.
+func (*HomeScenePointFishFarmingInfo) Descriptor() ([]byte, []int) {
+ return file_HomeScenePointFishFarmingInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeScenePointFishFarmingInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeScenePointFishFarmingInfo) GetFishIdList() []uint32 {
+ if x != nil {
+ return x.FishIdList
+ }
+ return nil
+}
+
+func (x *HomeScenePointFishFarmingInfo) GetLocalEntityId() uint32 {
+ if x != nil {
+ return x.LocalEntityId
+ }
+ return 0
+}
+
+var File_HomeScenePointFishFarmingInfo_proto protoreflect.FileDescriptor
+
+var file_HomeScenePointFishFarmingInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a,
+ 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46,
+ 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x69, 0x73,
+ 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0a, 0x66, 0x69, 0x73, 0x68, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeScenePointFishFarmingInfo_proto_rawDescOnce sync.Once
+ file_HomeScenePointFishFarmingInfo_proto_rawDescData = file_HomeScenePointFishFarmingInfo_proto_rawDesc
+)
+
+func file_HomeScenePointFishFarmingInfo_proto_rawDescGZIP() []byte {
+ file_HomeScenePointFishFarmingInfo_proto_rawDescOnce.Do(func() {
+ file_HomeScenePointFishFarmingInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeScenePointFishFarmingInfo_proto_rawDescData)
+ })
+ return file_HomeScenePointFishFarmingInfo_proto_rawDescData
+}
+
+var file_HomeScenePointFishFarmingInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeScenePointFishFarmingInfo_proto_goTypes = []interface{}{
+ (*HomeScenePointFishFarmingInfo)(nil), // 0: proto.HomeScenePointFishFarmingInfo
+}
+var file_HomeScenePointFishFarmingInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeScenePointFishFarmingInfo_proto_init() }
+func file_HomeScenePointFishFarmingInfo_proto_init() {
+ if File_HomeScenePointFishFarmingInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeScenePointFishFarmingInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeScenePointFishFarmingInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeScenePointFishFarmingInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeScenePointFishFarmingInfo_proto_goTypes,
+ DependencyIndexes: file_HomeScenePointFishFarmingInfo_proto_depIdxs,
+ MessageInfos: file_HomeScenePointFishFarmingInfo_proto_msgTypes,
+ }.Build()
+ File_HomeScenePointFishFarmingInfo_proto = out.File
+ file_HomeScenePointFishFarmingInfo_proto_rawDesc = nil
+ file_HomeScenePointFishFarmingInfo_proto_goTypes = nil
+ file_HomeScenePointFishFarmingInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeScenePointFishFarmingInfoNotify.pb.go b/protocol/proto/HomeScenePointFishFarmingInfoNotify.pb.go
new file mode 100644
index 00000000..71da50cf
--- /dev/null
+++ b/protocol/proto/HomeScenePointFishFarmingInfoNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeScenePointFishFarmingInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4547
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeScenePointFishFarmingInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishFarmingInfoList []*HomeScenePointFishFarmingInfo `protobuf:"bytes,7,rep,name=fish_farming_info_list,json=fishFarmingInfoList,proto3" json:"fish_farming_info_list,omitempty"`
+}
+
+func (x *HomeScenePointFishFarmingInfoNotify) Reset() {
+ *x = HomeScenePointFishFarmingInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeScenePointFishFarmingInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeScenePointFishFarmingInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeScenePointFishFarmingInfoNotify) ProtoMessage() {}
+
+func (x *HomeScenePointFishFarmingInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeScenePointFishFarmingInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeScenePointFishFarmingInfoNotify.ProtoReflect.Descriptor instead.
+func (*HomeScenePointFishFarmingInfoNotify) Descriptor() ([]byte, []int) {
+ return file_HomeScenePointFishFarmingInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeScenePointFishFarmingInfoNotify) GetFishFarmingInfoList() []*HomeScenePointFishFarmingInfo {
+ if x != nil {
+ return x.FishFarmingInfoList
+ }
+ return nil
+}
+
+var File_HomeScenePointFishFarmingInfoNotify_proto protoreflect.FileDescriptor
+
+var file_HomeScenePointFishFarmingInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61,
+ 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x59, 0x0a, 0x16, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e,
+ 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x66, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69,
+ 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeScenePointFishFarmingInfoNotify_proto_rawDescOnce sync.Once
+ file_HomeScenePointFishFarmingInfoNotify_proto_rawDescData = file_HomeScenePointFishFarmingInfoNotify_proto_rawDesc
+)
+
+func file_HomeScenePointFishFarmingInfoNotify_proto_rawDescGZIP() []byte {
+ file_HomeScenePointFishFarmingInfoNotify_proto_rawDescOnce.Do(func() {
+ file_HomeScenePointFishFarmingInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeScenePointFishFarmingInfoNotify_proto_rawDescData)
+ })
+ return file_HomeScenePointFishFarmingInfoNotify_proto_rawDescData
+}
+
+var file_HomeScenePointFishFarmingInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeScenePointFishFarmingInfoNotify_proto_goTypes = []interface{}{
+ (*HomeScenePointFishFarmingInfoNotify)(nil), // 0: proto.HomeScenePointFishFarmingInfoNotify
+ (*HomeScenePointFishFarmingInfo)(nil), // 1: proto.HomeScenePointFishFarmingInfo
+}
+var file_HomeScenePointFishFarmingInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeScenePointFishFarmingInfoNotify.fish_farming_info_list:type_name -> proto.HomeScenePointFishFarmingInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeScenePointFishFarmingInfoNotify_proto_init() }
+func file_HomeScenePointFishFarmingInfoNotify_proto_init() {
+ if File_HomeScenePointFishFarmingInfoNotify_proto != nil {
+ return
+ }
+ file_HomeScenePointFishFarmingInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeScenePointFishFarmingInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeScenePointFishFarmingInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeScenePointFishFarmingInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeScenePointFishFarmingInfoNotify_proto_goTypes,
+ DependencyIndexes: file_HomeScenePointFishFarmingInfoNotify_proto_depIdxs,
+ MessageInfos: file_HomeScenePointFishFarmingInfoNotify_proto_msgTypes,
+ }.Build()
+ File_HomeScenePointFishFarmingInfoNotify_proto = out.File
+ file_HomeScenePointFishFarmingInfoNotify_proto_rawDesc = nil
+ file_HomeScenePointFishFarmingInfoNotify_proto_goTypes = nil
+ file_HomeScenePointFishFarmingInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSearchBlueprintReq.pb.go b/protocol/proto/HomeSearchBlueprintReq.pb.go
new file mode 100644
index 00000000..de44766c
--- /dev/null
+++ b/protocol/proto/HomeSearchBlueprintReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSearchBlueprintReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4889
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeSearchBlueprintReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShareCode string `protobuf:"bytes,13,opt,name=share_code,json=shareCode,proto3" json:"share_code,omitempty"`
+}
+
+func (x *HomeSearchBlueprintReq) Reset() {
+ *x = HomeSearchBlueprintReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSearchBlueprintReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSearchBlueprintReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSearchBlueprintReq) ProtoMessage() {}
+
+func (x *HomeSearchBlueprintReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSearchBlueprintReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSearchBlueprintReq.ProtoReflect.Descriptor instead.
+func (*HomeSearchBlueprintReq) Descriptor() ([]byte, []int) {
+ return file_HomeSearchBlueprintReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSearchBlueprintReq) GetShareCode() string {
+ if x != nil {
+ return x.ShareCode
+ }
+ return ""
+}
+
+var File_HomeSearchBlueprintReq_proto protoreflect.FileDescriptor
+
+var file_HomeSearchBlueprintReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65,
+ 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x61,
+ 0x72, 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HomeSearchBlueprintReq_proto_rawDescOnce sync.Once
+ file_HomeSearchBlueprintReq_proto_rawDescData = file_HomeSearchBlueprintReq_proto_rawDesc
+)
+
+func file_HomeSearchBlueprintReq_proto_rawDescGZIP() []byte {
+ file_HomeSearchBlueprintReq_proto_rawDescOnce.Do(func() {
+ file_HomeSearchBlueprintReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSearchBlueprintReq_proto_rawDescData)
+ })
+ return file_HomeSearchBlueprintReq_proto_rawDescData
+}
+
+var file_HomeSearchBlueprintReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSearchBlueprintReq_proto_goTypes = []interface{}{
+ (*HomeSearchBlueprintReq)(nil), // 0: proto.HomeSearchBlueprintReq
+}
+var file_HomeSearchBlueprintReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSearchBlueprintReq_proto_init() }
+func file_HomeSearchBlueprintReq_proto_init() {
+ if File_HomeSearchBlueprintReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSearchBlueprintReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSearchBlueprintReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSearchBlueprintReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSearchBlueprintReq_proto_goTypes,
+ DependencyIndexes: file_HomeSearchBlueprintReq_proto_depIdxs,
+ MessageInfos: file_HomeSearchBlueprintReq_proto_msgTypes,
+ }.Build()
+ File_HomeSearchBlueprintReq_proto = out.File
+ file_HomeSearchBlueprintReq_proto_rawDesc = nil
+ file_HomeSearchBlueprintReq_proto_goTypes = nil
+ file_HomeSearchBlueprintReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSearchBlueprintRsp.pb.go b/protocol/proto/HomeSearchBlueprintRsp.pb.go
new file mode 100644
index 00000000..b4985e1c
--- /dev/null
+++ b/protocol/proto/HomeSearchBlueprintRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSearchBlueprintRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4593
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeSearchBlueprintRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SearchInfo *HomeBlueprintSearchInfo `protobuf:"bytes,8,opt,name=search_info,json=searchInfo,proto3" json:"search_info,omitempty"`
+}
+
+func (x *HomeSearchBlueprintRsp) Reset() {
+ *x = HomeSearchBlueprintRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSearchBlueprintRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSearchBlueprintRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSearchBlueprintRsp) ProtoMessage() {}
+
+func (x *HomeSearchBlueprintRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSearchBlueprintRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSearchBlueprintRsp.ProtoReflect.Descriptor instead.
+func (*HomeSearchBlueprintRsp) Descriptor() ([]byte, []int) {
+ return file_HomeSearchBlueprintRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSearchBlueprintRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeSearchBlueprintRsp) GetSearchInfo() *HomeBlueprintSearchInfo {
+ if x != nil {
+ return x.SearchInfo
+ }
+ return nil
+}
+
+var File_HomeSearchBlueprintRsp_proto protoreflect.FileDescriptor
+
+var file_HomeSearchBlueprintRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65,
+ 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70,
+ 0x72, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x61, 0x72,
+ 0x63, 0x68, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72,
+ 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72,
+ 0x69, 0x6e, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73,
+ 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSearchBlueprintRsp_proto_rawDescOnce sync.Once
+ file_HomeSearchBlueprintRsp_proto_rawDescData = file_HomeSearchBlueprintRsp_proto_rawDesc
+)
+
+func file_HomeSearchBlueprintRsp_proto_rawDescGZIP() []byte {
+ file_HomeSearchBlueprintRsp_proto_rawDescOnce.Do(func() {
+ file_HomeSearchBlueprintRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSearchBlueprintRsp_proto_rawDescData)
+ })
+ return file_HomeSearchBlueprintRsp_proto_rawDescData
+}
+
+var file_HomeSearchBlueprintRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSearchBlueprintRsp_proto_goTypes = []interface{}{
+ (*HomeSearchBlueprintRsp)(nil), // 0: proto.HomeSearchBlueprintRsp
+ (*HomeBlueprintSearchInfo)(nil), // 1: proto.HomeBlueprintSearchInfo
+}
+var file_HomeSearchBlueprintRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeSearchBlueprintRsp.search_info:type_name -> proto.HomeBlueprintSearchInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeSearchBlueprintRsp_proto_init() }
+func file_HomeSearchBlueprintRsp_proto_init() {
+ if File_HomeSearchBlueprintRsp_proto != nil {
+ return
+ }
+ file_HomeBlueprintSearchInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSearchBlueprintRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSearchBlueprintRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSearchBlueprintRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSearchBlueprintRsp_proto_goTypes,
+ DependencyIndexes: file_HomeSearchBlueprintRsp_proto_depIdxs,
+ MessageInfos: file_HomeSearchBlueprintRsp_proto_msgTypes,
+ }.Build()
+ File_HomeSearchBlueprintRsp_proto = out.File
+ file_HomeSearchBlueprintRsp_proto_rawDesc = nil
+ file_HomeSearchBlueprintRsp_proto_goTypes = nil
+ file_HomeSearchBlueprintRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSeekFurnitureGalleryScoreNotify.pb.go b/protocol/proto/HomeSeekFurnitureGalleryScoreNotify.pb.go
new file mode 100644
index 00000000..f9ebc914
--- /dev/null
+++ b/protocol/proto/HomeSeekFurnitureGalleryScoreNotify.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSeekFurnitureGalleryScoreNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4583
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeSeekFurnitureGalleryScoreNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,15,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ Record *HomeSeekFurnitureOneRecord `protobuf:"bytes,5,opt,name=record,proto3" json:"record,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,4,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+}
+
+func (x *HomeSeekFurnitureGalleryScoreNotify) Reset() {
+ *x = HomeSeekFurnitureGalleryScoreNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSeekFurnitureGalleryScoreNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSeekFurnitureGalleryScoreNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSeekFurnitureGalleryScoreNotify) ProtoMessage() {}
+
+func (x *HomeSeekFurnitureGalleryScoreNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSeekFurnitureGalleryScoreNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSeekFurnitureGalleryScoreNotify.ProtoReflect.Descriptor instead.
+func (*HomeSeekFurnitureGalleryScoreNotify) Descriptor() ([]byte, []int) {
+ return file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSeekFurnitureGalleryScoreNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *HomeSeekFurnitureGalleryScoreNotify) GetRecord() *HomeSeekFurnitureOneRecord {
+ if x != nil {
+ return x.Record
+ }
+ return nil
+}
+
+func (x *HomeSeekFurnitureGalleryScoreNotify) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+var File_HomeSeekFurnitureGalleryScoreNotify_proto protoreflect.FileDescriptor
+
+var file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x48, 0x6f, 0x6d,
+ 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e,
+ 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01,
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d,
+ 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e,
+ 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
+ 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53,
+ 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDescOnce sync.Once
+ file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDescData = file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDesc
+)
+
+func file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDescGZIP() []byte {
+ file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDescOnce.Do(func() {
+ file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDescData)
+ })
+ return file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDescData
+}
+
+var file_HomeSeekFurnitureGalleryScoreNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSeekFurnitureGalleryScoreNotify_proto_goTypes = []interface{}{
+ (*HomeSeekFurnitureGalleryScoreNotify)(nil), // 0: proto.HomeSeekFurnitureGalleryScoreNotify
+ (*HomeSeekFurnitureOneRecord)(nil), // 1: proto.HomeSeekFurnitureOneRecord
+ (GalleryStopReason)(0), // 2: proto.GalleryStopReason
+}
+var file_HomeSeekFurnitureGalleryScoreNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeSeekFurnitureGalleryScoreNotify.record:type_name -> proto.HomeSeekFurnitureOneRecord
+ 2, // 1: proto.HomeSeekFurnitureGalleryScoreNotify.reason:type_name -> proto.GalleryStopReason
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HomeSeekFurnitureGalleryScoreNotify_proto_init() }
+func file_HomeSeekFurnitureGalleryScoreNotify_proto_init() {
+ if File_HomeSeekFurnitureGalleryScoreNotify_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ file_HomeSeekFurnitureOneRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSeekFurnitureGalleryScoreNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSeekFurnitureGalleryScoreNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSeekFurnitureGalleryScoreNotify_proto_goTypes,
+ DependencyIndexes: file_HomeSeekFurnitureGalleryScoreNotify_proto_depIdxs,
+ MessageInfos: file_HomeSeekFurnitureGalleryScoreNotify_proto_msgTypes,
+ }.Build()
+ File_HomeSeekFurnitureGalleryScoreNotify_proto = out.File
+ file_HomeSeekFurnitureGalleryScoreNotify_proto_rawDesc = nil
+ file_HomeSeekFurnitureGalleryScoreNotify_proto_goTypes = nil
+ file_HomeSeekFurnitureGalleryScoreNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSeekFurnitureOneRecord.pb.go b/protocol/proto/HomeSeekFurnitureOneRecord.pb.go
new file mode 100644
index 00000000..5a8dd3da
--- /dev/null
+++ b/protocol/proto/HomeSeekFurnitureOneRecord.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSeekFurnitureOneRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeSeekFurnitureOneRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EngagedPlayerScoreList []*HomeSeekFurniturePlayerScore `protobuf:"bytes,8,rep,name=engaged_player_score_list,json=engagedPlayerScoreList,proto3" json:"engaged_player_score_list,omitempty"`
+ Timestamp uint32 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+}
+
+func (x *HomeSeekFurnitureOneRecord) Reset() {
+ *x = HomeSeekFurnitureOneRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSeekFurnitureOneRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSeekFurnitureOneRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSeekFurnitureOneRecord) ProtoMessage() {}
+
+func (x *HomeSeekFurnitureOneRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSeekFurnitureOneRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSeekFurnitureOneRecord.ProtoReflect.Descriptor instead.
+func (*HomeSeekFurnitureOneRecord) Descriptor() ([]byte, []int) {
+ return file_HomeSeekFurnitureOneRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSeekFurnitureOneRecord) GetEngagedPlayerScoreList() []*HomeSeekFurniturePlayerScore {
+ if x != nil {
+ return x.EngagedPlayerScoreList
+ }
+ return nil
+}
+
+func (x *HomeSeekFurnitureOneRecord) GetTimestamp() uint32 {
+ if x != nil {
+ return x.Timestamp
+ }
+ return 0
+}
+
+var File_HomeSeekFurnitureOneRecord_proto protoreflect.FileDescriptor
+
+var file_HomeSeekFurnitureOneRecord_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x53,
+ 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01,
+ 0x0a, 0x1a, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x5e, 0x0a, 0x19,
+ 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b,
+ 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x52, 0x16, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x64, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09,
+ 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSeekFurnitureOneRecord_proto_rawDescOnce sync.Once
+ file_HomeSeekFurnitureOneRecord_proto_rawDescData = file_HomeSeekFurnitureOneRecord_proto_rawDesc
+)
+
+func file_HomeSeekFurnitureOneRecord_proto_rawDescGZIP() []byte {
+ file_HomeSeekFurnitureOneRecord_proto_rawDescOnce.Do(func() {
+ file_HomeSeekFurnitureOneRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSeekFurnitureOneRecord_proto_rawDescData)
+ })
+ return file_HomeSeekFurnitureOneRecord_proto_rawDescData
+}
+
+var file_HomeSeekFurnitureOneRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSeekFurnitureOneRecord_proto_goTypes = []interface{}{
+ (*HomeSeekFurnitureOneRecord)(nil), // 0: proto.HomeSeekFurnitureOneRecord
+ (*HomeSeekFurniturePlayerScore)(nil), // 1: proto.HomeSeekFurniturePlayerScore
+}
+var file_HomeSeekFurnitureOneRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeSeekFurnitureOneRecord.engaged_player_score_list:type_name -> proto.HomeSeekFurniturePlayerScore
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeSeekFurnitureOneRecord_proto_init() }
+func file_HomeSeekFurnitureOneRecord_proto_init() {
+ if File_HomeSeekFurnitureOneRecord_proto != nil {
+ return
+ }
+ file_HomeSeekFurniturePlayerScore_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSeekFurnitureOneRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSeekFurnitureOneRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSeekFurnitureOneRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSeekFurnitureOneRecord_proto_goTypes,
+ DependencyIndexes: file_HomeSeekFurnitureOneRecord_proto_depIdxs,
+ MessageInfos: file_HomeSeekFurnitureOneRecord_proto_msgTypes,
+ }.Build()
+ File_HomeSeekFurnitureOneRecord_proto = out.File
+ file_HomeSeekFurnitureOneRecord_proto_rawDesc = nil
+ file_HomeSeekFurnitureOneRecord_proto_goTypes = nil
+ file_HomeSeekFurnitureOneRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSeekFurniturePlayerScore.pb.go b/protocol/proto/HomeSeekFurniturePlayerScore.pb.go
new file mode 100644
index 00000000..709e86a4
--- /dev/null
+++ b/protocol/proto/HomeSeekFurniturePlayerScore.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSeekFurniturePlayerScore.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeSeekFurniturePlayerScore struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,12,opt,name=score,proto3" json:"score,omitempty"`
+ PlayerInfo *HomeGroupPlayerInfo `protobuf:"bytes,10,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+}
+
+func (x *HomeSeekFurniturePlayerScore) Reset() {
+ *x = HomeSeekFurniturePlayerScore{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSeekFurniturePlayerScore_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSeekFurniturePlayerScore) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSeekFurniturePlayerScore) ProtoMessage() {}
+
+func (x *HomeSeekFurniturePlayerScore) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSeekFurniturePlayerScore_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSeekFurniturePlayerScore.ProtoReflect.Descriptor instead.
+func (*HomeSeekFurniturePlayerScore) Descriptor() ([]byte, []int) {
+ return file_HomeSeekFurniturePlayerScore_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSeekFurniturePlayerScore) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *HomeSeekFurniturePlayerScore) GetPlayerInfo() *HomeGroupPlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+var File_HomeSeekFurniturePlayerScore_proto protoreflect.FileDescriptor
+
+var file_HomeSeekFurniturePlayerScore_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d,
+ 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65,
+ 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b,
+ 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSeekFurniturePlayerScore_proto_rawDescOnce sync.Once
+ file_HomeSeekFurniturePlayerScore_proto_rawDescData = file_HomeSeekFurniturePlayerScore_proto_rawDesc
+)
+
+func file_HomeSeekFurniturePlayerScore_proto_rawDescGZIP() []byte {
+ file_HomeSeekFurniturePlayerScore_proto_rawDescOnce.Do(func() {
+ file_HomeSeekFurniturePlayerScore_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSeekFurniturePlayerScore_proto_rawDescData)
+ })
+ return file_HomeSeekFurniturePlayerScore_proto_rawDescData
+}
+
+var file_HomeSeekFurniturePlayerScore_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSeekFurniturePlayerScore_proto_goTypes = []interface{}{
+ (*HomeSeekFurniturePlayerScore)(nil), // 0: proto.HomeSeekFurniturePlayerScore
+ (*HomeGroupPlayerInfo)(nil), // 1: proto.HomeGroupPlayerInfo
+}
+var file_HomeSeekFurniturePlayerScore_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeSeekFurniturePlayerScore.player_info:type_name -> proto.HomeGroupPlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeSeekFurniturePlayerScore_proto_init() }
+func file_HomeSeekFurniturePlayerScore_proto_init() {
+ if File_HomeSeekFurniturePlayerScore_proto != nil {
+ return
+ }
+ file_HomeGroupPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSeekFurniturePlayerScore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSeekFurniturePlayerScore); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSeekFurniturePlayerScore_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSeekFurniturePlayerScore_proto_goTypes,
+ DependencyIndexes: file_HomeSeekFurniturePlayerScore_proto_depIdxs,
+ MessageInfos: file_HomeSeekFurniturePlayerScore_proto_msgTypes,
+ }.Build()
+ File_HomeSeekFurniturePlayerScore_proto = out.File
+ file_HomeSeekFurniturePlayerScore_proto_rawDesc = nil
+ file_HomeSeekFurniturePlayerScore_proto_goTypes = nil
+ file_HomeSeekFurniturePlayerScore_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSetBlueprintFriendOptionReq.pb.go b/protocol/proto/HomeSetBlueprintFriendOptionReq.pb.go
new file mode 100644
index 00000000..b8736d4a
--- /dev/null
+++ b/protocol/proto/HomeSetBlueprintFriendOptionReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSetBlueprintFriendOptionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4554
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeSetBlueprintFriendOptionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAllowFriendCopy bool `protobuf:"varint,9,opt,name=is_allow_friend_copy,json=isAllowFriendCopy,proto3" json:"is_allow_friend_copy,omitempty"`
+}
+
+func (x *HomeSetBlueprintFriendOptionReq) Reset() {
+ *x = HomeSetBlueprintFriendOptionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSetBlueprintFriendOptionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSetBlueprintFriendOptionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSetBlueprintFriendOptionReq) ProtoMessage() {}
+
+func (x *HomeSetBlueprintFriendOptionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSetBlueprintFriendOptionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSetBlueprintFriendOptionReq.ProtoReflect.Descriptor instead.
+func (*HomeSetBlueprintFriendOptionReq) Descriptor() ([]byte, []int) {
+ return file_HomeSetBlueprintFriendOptionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSetBlueprintFriendOptionReq) GetIsAllowFriendCopy() bool {
+ if x != nil {
+ return x.IsAllowFriendCopy
+ }
+ return false
+}
+
+var File_HomeSetBlueprintFriendOptionReq_proto protoreflect.FileDescriptor
+
+var file_HomeSetBlueprintFriendOptionReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52,
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x11, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x6f,
+ 0x70, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSetBlueprintFriendOptionReq_proto_rawDescOnce sync.Once
+ file_HomeSetBlueprintFriendOptionReq_proto_rawDescData = file_HomeSetBlueprintFriendOptionReq_proto_rawDesc
+)
+
+func file_HomeSetBlueprintFriendOptionReq_proto_rawDescGZIP() []byte {
+ file_HomeSetBlueprintFriendOptionReq_proto_rawDescOnce.Do(func() {
+ file_HomeSetBlueprintFriendOptionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSetBlueprintFriendOptionReq_proto_rawDescData)
+ })
+ return file_HomeSetBlueprintFriendOptionReq_proto_rawDescData
+}
+
+var file_HomeSetBlueprintFriendOptionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSetBlueprintFriendOptionReq_proto_goTypes = []interface{}{
+ (*HomeSetBlueprintFriendOptionReq)(nil), // 0: proto.HomeSetBlueprintFriendOptionReq
+}
+var file_HomeSetBlueprintFriendOptionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSetBlueprintFriendOptionReq_proto_init() }
+func file_HomeSetBlueprintFriendOptionReq_proto_init() {
+ if File_HomeSetBlueprintFriendOptionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSetBlueprintFriendOptionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSetBlueprintFriendOptionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSetBlueprintFriendOptionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSetBlueprintFriendOptionReq_proto_goTypes,
+ DependencyIndexes: file_HomeSetBlueprintFriendOptionReq_proto_depIdxs,
+ MessageInfos: file_HomeSetBlueprintFriendOptionReq_proto_msgTypes,
+ }.Build()
+ File_HomeSetBlueprintFriendOptionReq_proto = out.File
+ file_HomeSetBlueprintFriendOptionReq_proto_rawDesc = nil
+ file_HomeSetBlueprintFriendOptionReq_proto_goTypes = nil
+ file_HomeSetBlueprintFriendOptionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSetBlueprintFriendOptionRsp.pb.go b/protocol/proto/HomeSetBlueprintFriendOptionRsp.pb.go
new file mode 100644
index 00000000..7c243f42
--- /dev/null
+++ b/protocol/proto/HomeSetBlueprintFriendOptionRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSetBlueprintFriendOptionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4604
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeSetBlueprintFriendOptionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAllowFriendCopy bool `protobuf:"varint,2,opt,name=is_allow_friend_copy,json=isAllowFriendCopy,proto3" json:"is_allow_friend_copy,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeSetBlueprintFriendOptionRsp) Reset() {
+ *x = HomeSetBlueprintFriendOptionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSetBlueprintFriendOptionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSetBlueprintFriendOptionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSetBlueprintFriendOptionRsp) ProtoMessage() {}
+
+func (x *HomeSetBlueprintFriendOptionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSetBlueprintFriendOptionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSetBlueprintFriendOptionRsp.ProtoReflect.Descriptor instead.
+func (*HomeSetBlueprintFriendOptionRsp) Descriptor() ([]byte, []int) {
+ return file_HomeSetBlueprintFriendOptionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSetBlueprintFriendOptionRsp) GetIsAllowFriendCopy() bool {
+ if x != nil {
+ return x.IsAllowFriendCopy
+ }
+ return false
+}
+
+func (x *HomeSetBlueprintFriendOptionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeSetBlueprintFriendOptionRsp_proto protoreflect.FileDescriptor
+
+var file_HomeSetBlueprintFriendOptionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c,
+ 0x0a, 0x1f, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x11, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x6f,
+ 0x70, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSetBlueprintFriendOptionRsp_proto_rawDescOnce sync.Once
+ file_HomeSetBlueprintFriendOptionRsp_proto_rawDescData = file_HomeSetBlueprintFriendOptionRsp_proto_rawDesc
+)
+
+func file_HomeSetBlueprintFriendOptionRsp_proto_rawDescGZIP() []byte {
+ file_HomeSetBlueprintFriendOptionRsp_proto_rawDescOnce.Do(func() {
+ file_HomeSetBlueprintFriendOptionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSetBlueprintFriendOptionRsp_proto_rawDescData)
+ })
+ return file_HomeSetBlueprintFriendOptionRsp_proto_rawDescData
+}
+
+var file_HomeSetBlueprintFriendOptionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSetBlueprintFriendOptionRsp_proto_goTypes = []interface{}{
+ (*HomeSetBlueprintFriendOptionRsp)(nil), // 0: proto.HomeSetBlueprintFriendOptionRsp
+}
+var file_HomeSetBlueprintFriendOptionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSetBlueprintFriendOptionRsp_proto_init() }
+func file_HomeSetBlueprintFriendOptionRsp_proto_init() {
+ if File_HomeSetBlueprintFriendOptionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSetBlueprintFriendOptionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSetBlueprintFriendOptionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSetBlueprintFriendOptionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSetBlueprintFriendOptionRsp_proto_goTypes,
+ DependencyIndexes: file_HomeSetBlueprintFriendOptionRsp_proto_depIdxs,
+ MessageInfos: file_HomeSetBlueprintFriendOptionRsp_proto_msgTypes,
+ }.Build()
+ File_HomeSetBlueprintFriendOptionRsp_proto = out.File
+ file_HomeSetBlueprintFriendOptionRsp_proto_rawDesc = nil
+ file_HomeSetBlueprintFriendOptionRsp_proto_goTypes = nil
+ file_HomeSetBlueprintFriendOptionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSetBlueprintSlotOptionReq.pb.go b/protocol/proto/HomeSetBlueprintSlotOptionReq.pb.go
new file mode 100644
index 00000000..93bc92cb
--- /dev/null
+++ b/protocol/proto/HomeSetBlueprintSlotOptionReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSetBlueprintSlotOptionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4798
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeSetBlueprintSlotOptionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlotId uint32 `protobuf:"varint,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+ IsAllowCopy bool `protobuf:"varint,8,opt,name=is_allow_copy,json=isAllowCopy,proto3" json:"is_allow_copy,omitempty"`
+}
+
+func (x *HomeSetBlueprintSlotOptionReq) Reset() {
+ *x = HomeSetBlueprintSlotOptionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSetBlueprintSlotOptionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSetBlueprintSlotOptionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSetBlueprintSlotOptionReq) ProtoMessage() {}
+
+func (x *HomeSetBlueprintSlotOptionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSetBlueprintSlotOptionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSetBlueprintSlotOptionReq.ProtoReflect.Descriptor instead.
+func (*HomeSetBlueprintSlotOptionReq) Descriptor() ([]byte, []int) {
+ return file_HomeSetBlueprintSlotOptionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSetBlueprintSlotOptionReq) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+func (x *HomeSetBlueprintSlotOptionReq) GetIsAllowCopy() bool {
+ if x != nil {
+ return x.IsAllowCopy
+ }
+ return false
+}
+
+var File_HomeSetBlueprintSlotOptionReq_proto protoreflect.FileDescriptor
+
+var file_HomeSetBlueprintSlotOptionReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x1d,
+ 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74,
+ 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a,
+ 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
+ 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSetBlueprintSlotOptionReq_proto_rawDescOnce sync.Once
+ file_HomeSetBlueprintSlotOptionReq_proto_rawDescData = file_HomeSetBlueprintSlotOptionReq_proto_rawDesc
+)
+
+func file_HomeSetBlueprintSlotOptionReq_proto_rawDescGZIP() []byte {
+ file_HomeSetBlueprintSlotOptionReq_proto_rawDescOnce.Do(func() {
+ file_HomeSetBlueprintSlotOptionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSetBlueprintSlotOptionReq_proto_rawDescData)
+ })
+ return file_HomeSetBlueprintSlotOptionReq_proto_rawDescData
+}
+
+var file_HomeSetBlueprintSlotOptionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSetBlueprintSlotOptionReq_proto_goTypes = []interface{}{
+ (*HomeSetBlueprintSlotOptionReq)(nil), // 0: proto.HomeSetBlueprintSlotOptionReq
+}
+var file_HomeSetBlueprintSlotOptionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSetBlueprintSlotOptionReq_proto_init() }
+func file_HomeSetBlueprintSlotOptionReq_proto_init() {
+ if File_HomeSetBlueprintSlotOptionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSetBlueprintSlotOptionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSetBlueprintSlotOptionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSetBlueprintSlotOptionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSetBlueprintSlotOptionReq_proto_goTypes,
+ DependencyIndexes: file_HomeSetBlueprintSlotOptionReq_proto_depIdxs,
+ MessageInfos: file_HomeSetBlueprintSlotOptionReq_proto_msgTypes,
+ }.Build()
+ File_HomeSetBlueprintSlotOptionReq_proto = out.File
+ file_HomeSetBlueprintSlotOptionReq_proto_rawDesc = nil
+ file_HomeSetBlueprintSlotOptionReq_proto_goTypes = nil
+ file_HomeSetBlueprintSlotOptionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeSetBlueprintSlotOptionRsp.pb.go b/protocol/proto/HomeSetBlueprintSlotOptionRsp.pb.go
new file mode 100644
index 00000000..1d25984c
--- /dev/null
+++ b/protocol/proto/HomeSetBlueprintSlotOptionRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeSetBlueprintSlotOptionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4786
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeSetBlueprintSlotOptionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlotId uint32 `protobuf:"varint,13,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"`
+ IsAllowCopy bool `protobuf:"varint,7,opt,name=is_allow_copy,json=isAllowCopy,proto3" json:"is_allow_copy,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeSetBlueprintSlotOptionRsp) Reset() {
+ *x = HomeSetBlueprintSlotOptionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeSetBlueprintSlotOptionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeSetBlueprintSlotOptionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeSetBlueprintSlotOptionRsp) ProtoMessage() {}
+
+func (x *HomeSetBlueprintSlotOptionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeSetBlueprintSlotOptionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeSetBlueprintSlotOptionRsp.ProtoReflect.Descriptor instead.
+func (*HomeSetBlueprintSlotOptionRsp) Descriptor() ([]byte, []int) {
+ return file_HomeSetBlueprintSlotOptionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeSetBlueprintSlotOptionRsp) GetSlotId() uint32 {
+ if x != nil {
+ return x.SlotId
+ }
+ return 0
+}
+
+func (x *HomeSetBlueprintSlotOptionRsp) GetIsAllowCopy() bool {
+ if x != nil {
+ return x.IsAllowCopy
+ }
+ return false
+}
+
+func (x *HomeSetBlueprintSlotOptionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeSetBlueprintSlotOptionRsp_proto protoreflect.FileDescriptor
+
+var file_HomeSetBlueprintSlotOptionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x1d,
+ 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74,
+ 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a,
+ 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
+ 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x70, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeSetBlueprintSlotOptionRsp_proto_rawDescOnce sync.Once
+ file_HomeSetBlueprintSlotOptionRsp_proto_rawDescData = file_HomeSetBlueprintSlotOptionRsp_proto_rawDesc
+)
+
+func file_HomeSetBlueprintSlotOptionRsp_proto_rawDescGZIP() []byte {
+ file_HomeSetBlueprintSlotOptionRsp_proto_rawDescOnce.Do(func() {
+ file_HomeSetBlueprintSlotOptionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeSetBlueprintSlotOptionRsp_proto_rawDescData)
+ })
+ return file_HomeSetBlueprintSlotOptionRsp_proto_rawDescData
+}
+
+var file_HomeSetBlueprintSlotOptionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeSetBlueprintSlotOptionRsp_proto_goTypes = []interface{}{
+ (*HomeSetBlueprintSlotOptionRsp)(nil), // 0: proto.HomeSetBlueprintSlotOptionRsp
+}
+var file_HomeSetBlueprintSlotOptionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeSetBlueprintSlotOptionRsp_proto_init() }
+func file_HomeSetBlueprintSlotOptionRsp_proto_init() {
+ if File_HomeSetBlueprintSlotOptionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeSetBlueprintSlotOptionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeSetBlueprintSlotOptionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeSetBlueprintSlotOptionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeSetBlueprintSlotOptionRsp_proto_goTypes,
+ DependencyIndexes: file_HomeSetBlueprintSlotOptionRsp_proto_depIdxs,
+ MessageInfos: file_HomeSetBlueprintSlotOptionRsp_proto_msgTypes,
+ }.Build()
+ File_HomeSetBlueprintSlotOptionRsp_proto = out.File
+ file_HomeSetBlueprintSlotOptionRsp_proto_rawDesc = nil
+ file_HomeSetBlueprintSlotOptionRsp_proto_goTypes = nil
+ file_HomeSetBlueprintSlotOptionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeStakePlayRecord.pb.go b/protocol/proto/HomeStakePlayRecord.pb.go
new file mode 100644
index 00000000..744260f9
--- /dev/null
+++ b/protocol/proto/HomeStakePlayRecord.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeStakePlayRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeStakePlayRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EngagedPlayerInfoList []*HomeGroupPlayerInfo `protobuf:"bytes,14,rep,name=engaged_player_info_list,json=engagedPlayerInfoList,proto3" json:"engaged_player_info_list,omitempty"`
+ Timestamp uint32 `protobuf:"varint,9,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+}
+
+func (x *HomeStakePlayRecord) Reset() {
+ *x = HomeStakePlayRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeStakePlayRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeStakePlayRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeStakePlayRecord) ProtoMessage() {}
+
+func (x *HomeStakePlayRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeStakePlayRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeStakePlayRecord.ProtoReflect.Descriptor instead.
+func (*HomeStakePlayRecord) Descriptor() ([]byte, []int) {
+ return file_HomeStakePlayRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeStakePlayRecord) GetEngagedPlayerInfoList() []*HomeGroupPlayerInfo {
+ if x != nil {
+ return x.EngagedPlayerInfoList
+ }
+ return nil
+}
+
+func (x *HomeStakePlayRecord) GetTimestamp() uint32 {
+ if x != nil {
+ return x.Timestamp
+ }
+ return 0
+}
+
+var File_HomeStakePlayRecord_proto protoreflect.FileDescriptor
+
+var file_HomeStakePlayRecord_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01,
+ 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x53, 0x0a, 0x18, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x64,
+ 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x48, 0x6f, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x65, 0x6e, 0x67, 0x61, 0x67, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeStakePlayRecord_proto_rawDescOnce sync.Once
+ file_HomeStakePlayRecord_proto_rawDescData = file_HomeStakePlayRecord_proto_rawDesc
+)
+
+func file_HomeStakePlayRecord_proto_rawDescGZIP() []byte {
+ file_HomeStakePlayRecord_proto_rawDescOnce.Do(func() {
+ file_HomeStakePlayRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeStakePlayRecord_proto_rawDescData)
+ })
+ return file_HomeStakePlayRecord_proto_rawDescData
+}
+
+var file_HomeStakePlayRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeStakePlayRecord_proto_goTypes = []interface{}{
+ (*HomeStakePlayRecord)(nil), // 0: proto.HomeStakePlayRecord
+ (*HomeGroupPlayerInfo)(nil), // 1: proto.HomeGroupPlayerInfo
+}
+var file_HomeStakePlayRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeStakePlayRecord.engaged_player_info_list:type_name -> proto.HomeGroupPlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeStakePlayRecord_proto_init() }
+func file_HomeStakePlayRecord_proto_init() {
+ if File_HomeStakePlayRecord_proto != nil {
+ return
+ }
+ file_HomeGroupPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeStakePlayRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeStakePlayRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeStakePlayRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeStakePlayRecord_proto_goTypes,
+ DependencyIndexes: file_HomeStakePlayRecord_proto_depIdxs,
+ MessageInfos: file_HomeStakePlayRecord_proto_msgTypes,
+ }.Build()
+ File_HomeStakePlayRecord_proto = out.File
+ file_HomeStakePlayRecord_proto_rawDesc = nil
+ file_HomeStakePlayRecord_proto_goTypes = nil
+ file_HomeStakePlayRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeStakeRecord.pb.go b/protocol/proto/HomeStakeRecord.pb.go
new file mode 100644
index 00000000..bf605f03
--- /dev/null
+++ b/protocol/proto/HomeStakeRecord.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeStakeRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeStakeRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecordList []*HomeStakePlayRecord `protobuf:"bytes,13,rep,name=record_list,json=recordList,proto3" json:"record_list,omitempty"`
+}
+
+func (x *HomeStakeRecord) Reset() {
+ *x = HomeStakeRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeStakeRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeStakeRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeStakeRecord) ProtoMessage() {}
+
+func (x *HomeStakeRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeStakeRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeStakeRecord.ProtoReflect.Descriptor instead.
+func (*HomeStakeRecord) Descriptor() ([]byte, []int) {
+ return file_HomeStakeRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeStakeRecord) GetRecordList() []*HomeStakePlayRecord {
+ if x != nil {
+ return x.RecordList
+ }
+ return nil
+}
+
+var File_HomeStakeRecord_proto protoreflect.FileDescriptor
+
+var file_HomeStakeRecord_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0f, 0x48, 0x6f, 0x6d,
+ 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x3b, 0x0a, 0x0b,
+ 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x74,
+ 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0a, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeStakeRecord_proto_rawDescOnce sync.Once
+ file_HomeStakeRecord_proto_rawDescData = file_HomeStakeRecord_proto_rawDesc
+)
+
+func file_HomeStakeRecord_proto_rawDescGZIP() []byte {
+ file_HomeStakeRecord_proto_rawDescOnce.Do(func() {
+ file_HomeStakeRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeStakeRecord_proto_rawDescData)
+ })
+ return file_HomeStakeRecord_proto_rawDescData
+}
+
+var file_HomeStakeRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeStakeRecord_proto_goTypes = []interface{}{
+ (*HomeStakeRecord)(nil), // 0: proto.HomeStakeRecord
+ (*HomeStakePlayRecord)(nil), // 1: proto.HomeStakePlayRecord
+}
+var file_HomeStakeRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeStakeRecord.record_list:type_name -> proto.HomeStakePlayRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeStakeRecord_proto_init() }
+func file_HomeStakeRecord_proto_init() {
+ if File_HomeStakeRecord_proto != nil {
+ return
+ }
+ file_HomeStakePlayRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeStakeRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeStakeRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeStakeRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeStakeRecord_proto_goTypes,
+ DependencyIndexes: file_HomeStakeRecord_proto_depIdxs,
+ MessageInfos: file_HomeStakeRecord_proto_msgTypes,
+ }.Build()
+ File_HomeStakeRecord_proto = out.File
+ file_HomeStakeRecord_proto_rawDesc = nil
+ file_HomeStakeRecord_proto_goTypes = nil
+ file_HomeStakeRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeTransferData.pb.go b/protocol/proto/HomeTransferData.pb.go
new file mode 100644
index 00000000..ffd446ac
--- /dev/null
+++ b/protocol/proto/HomeTransferData.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeTransferData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeTransferData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint32 `protobuf:"varint,15,opt,name=guid,proto3" json:"guid,omitempty"`
+ SpawnPos *Vector `protobuf:"bytes,7,opt,name=spawn_pos,json=spawnPos,proto3" json:"spawn_pos,omitempty"`
+}
+
+func (x *HomeTransferData) Reset() {
+ *x = HomeTransferData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeTransferData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeTransferData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeTransferData) ProtoMessage() {}
+
+func (x *HomeTransferData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeTransferData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeTransferData.ProtoReflect.Descriptor instead.
+func (*HomeTransferData) Descriptor() ([]byte, []int) {
+ return file_HomeTransferData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeTransferData) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeTransferData) GetSpawnPos() *Vector {
+ if x != nil {
+ return x.SpawnPos
+ }
+ return nil
+}
+
+var File_HomeTransferData_proto protoreflect.FileDescriptor
+
+var file_HomeTransferData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a,
+ 0x10, 0x48, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x44, 0x61, 0x74,
+ 0x61, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x50, 0x6f,
+ 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeTransferData_proto_rawDescOnce sync.Once
+ file_HomeTransferData_proto_rawDescData = file_HomeTransferData_proto_rawDesc
+)
+
+func file_HomeTransferData_proto_rawDescGZIP() []byte {
+ file_HomeTransferData_proto_rawDescOnce.Do(func() {
+ file_HomeTransferData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeTransferData_proto_rawDescData)
+ })
+ return file_HomeTransferData_proto_rawDescData
+}
+
+var file_HomeTransferData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeTransferData_proto_goTypes = []interface{}{
+ (*HomeTransferData)(nil), // 0: proto.HomeTransferData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_HomeTransferData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeTransferData.spawn_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeTransferData_proto_init() }
+func file_HomeTransferData_proto_init() {
+ if File_HomeTransferData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeTransferData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeTransferData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeTransferData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeTransferData_proto_goTypes,
+ DependencyIndexes: file_HomeTransferData_proto_depIdxs,
+ MessageInfos: file_HomeTransferData_proto_msgTypes,
+ }.Build()
+ File_HomeTransferData_proto = out.File
+ file_HomeTransferData_proto_rawDesc = nil
+ file_HomeTransferData_proto_goTypes = nil
+ file_HomeTransferData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeTransferReq.pb.go b/protocol/proto/HomeTransferReq.pb.go
new file mode 100644
index 00000000..484e9957
--- /dev/null
+++ b/protocol/proto/HomeTransferReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeTransferReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4726
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeTransferReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint32 `protobuf:"varint,1,opt,name=guid,proto3" json:"guid,omitempty"`
+ IsTransferToSafePoint bool `protobuf:"varint,12,opt,name=is_transfer_to_safe_point,json=isTransferToSafePoint,proto3" json:"is_transfer_to_safe_point,omitempty"`
+}
+
+func (x *HomeTransferReq) Reset() {
+ *x = HomeTransferReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeTransferReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeTransferReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeTransferReq) ProtoMessage() {}
+
+func (x *HomeTransferReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeTransferReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeTransferReq.ProtoReflect.Descriptor instead.
+func (*HomeTransferReq) Descriptor() ([]byte, []int) {
+ return file_HomeTransferReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeTransferReq) GetGuid() uint32 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *HomeTransferReq) GetIsTransferToSafePoint() bool {
+ if x != nil {
+ return x.IsTransferToSafePoint
+ }
+ return false
+}
+
+var File_HomeTransferReq_proto protoreflect.FileDescriptor
+
+var file_HomeTransferReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f,
+ 0x0a, 0x0f, 0x48, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65,
+ 0x71, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x54, 0x6f, 0x53, 0x61, 0x66, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeTransferReq_proto_rawDescOnce sync.Once
+ file_HomeTransferReq_proto_rawDescData = file_HomeTransferReq_proto_rawDesc
+)
+
+func file_HomeTransferReq_proto_rawDescGZIP() []byte {
+ file_HomeTransferReq_proto_rawDescOnce.Do(func() {
+ file_HomeTransferReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeTransferReq_proto_rawDescData)
+ })
+ return file_HomeTransferReq_proto_rawDescData
+}
+
+var file_HomeTransferReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeTransferReq_proto_goTypes = []interface{}{
+ (*HomeTransferReq)(nil), // 0: proto.HomeTransferReq
+}
+var file_HomeTransferReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeTransferReq_proto_init() }
+func file_HomeTransferReq_proto_init() {
+ if File_HomeTransferReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeTransferReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeTransferReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeTransferReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeTransferReq_proto_goTypes,
+ DependencyIndexes: file_HomeTransferReq_proto_depIdxs,
+ MessageInfos: file_HomeTransferReq_proto_msgTypes,
+ }.Build()
+ File_HomeTransferReq_proto = out.File
+ file_HomeTransferReq_proto_rawDesc = nil
+ file_HomeTransferReq_proto_goTypes = nil
+ file_HomeTransferReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeTransferRsp.pb.go b/protocol/proto/HomeTransferRsp.pb.go
new file mode 100644
index 00000000..6fdcfee9
--- /dev/null
+++ b/protocol/proto/HomeTransferRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeTransferRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4616
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeTransferRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeTransferRsp) Reset() {
+ *x = HomeTransferRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeTransferRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeTransferRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeTransferRsp) ProtoMessage() {}
+
+func (x *HomeTransferRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeTransferRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeTransferRsp.ProtoReflect.Descriptor instead.
+func (*HomeTransferRsp) Descriptor() ([]byte, []int) {
+ return file_HomeTransferRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeTransferRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeTransferRsp_proto protoreflect.FileDescriptor
+
+var file_HomeTransferRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x48, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b,
+ 0x0a, 0x0f, 0x48, 0x6f, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeTransferRsp_proto_rawDescOnce sync.Once
+ file_HomeTransferRsp_proto_rawDescData = file_HomeTransferRsp_proto_rawDesc
+)
+
+func file_HomeTransferRsp_proto_rawDescGZIP() []byte {
+ file_HomeTransferRsp_proto_rawDescOnce.Do(func() {
+ file_HomeTransferRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeTransferRsp_proto_rawDescData)
+ })
+ return file_HomeTransferRsp_proto_rawDescData
+}
+
+var file_HomeTransferRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeTransferRsp_proto_goTypes = []interface{}{
+ (*HomeTransferRsp)(nil), // 0: proto.HomeTransferRsp
+}
+var file_HomeTransferRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeTransferRsp_proto_init() }
+func file_HomeTransferRsp_proto_init() {
+ if File_HomeTransferRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeTransferRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeTransferRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeTransferRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeTransferRsp_proto_goTypes,
+ DependencyIndexes: file_HomeTransferRsp_proto_depIdxs,
+ MessageInfos: file_HomeTransferRsp_proto_msgTypes,
+ }.Build()
+ File_HomeTransferRsp_proto = out.File
+ file_HomeTransferRsp_proto_rawDesc = nil
+ file_HomeTransferRsp_proto_goTypes = nil
+ file_HomeTransferRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeUpdateArrangementInfoReq.pb.go b/protocol/proto/HomeUpdateArrangementInfoReq.pb.go
new file mode 100644
index 00000000..4d8599db
--- /dev/null
+++ b/protocol/proto/HomeUpdateArrangementInfoReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeUpdateArrangementInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4510
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeUpdateArrangementInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneArrangementInfo *HomeSceneArrangementInfo `protobuf:"bytes,6,opt,name=scene_arrangement_info,json=sceneArrangementInfo,proto3" json:"scene_arrangement_info,omitempty"`
+}
+
+func (x *HomeUpdateArrangementInfoReq) Reset() {
+ *x = HomeUpdateArrangementInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeUpdateArrangementInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeUpdateArrangementInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeUpdateArrangementInfoReq) ProtoMessage() {}
+
+func (x *HomeUpdateArrangementInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeUpdateArrangementInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeUpdateArrangementInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeUpdateArrangementInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeUpdateArrangementInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeUpdateArrangementInfoReq) GetSceneArrangementInfo() *HomeSceneArrangementInfo {
+ if x != nil {
+ return x.SceneArrangementInfo
+ }
+ return nil
+}
+
+var File_HomeUpdateArrangementInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeUpdateArrangementInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61,
+ 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x48, 0x6f, 0x6d,
+ 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x1c, 0x48,
+ 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x55, 0x0a, 0x16, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72,
+ 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeUpdateArrangementInfoReq_proto_rawDescOnce sync.Once
+ file_HomeUpdateArrangementInfoReq_proto_rawDescData = file_HomeUpdateArrangementInfoReq_proto_rawDesc
+)
+
+func file_HomeUpdateArrangementInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeUpdateArrangementInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeUpdateArrangementInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeUpdateArrangementInfoReq_proto_rawDescData)
+ })
+ return file_HomeUpdateArrangementInfoReq_proto_rawDescData
+}
+
+var file_HomeUpdateArrangementInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeUpdateArrangementInfoReq_proto_goTypes = []interface{}{
+ (*HomeUpdateArrangementInfoReq)(nil), // 0: proto.HomeUpdateArrangementInfoReq
+ (*HomeSceneArrangementInfo)(nil), // 1: proto.HomeSceneArrangementInfo
+}
+var file_HomeUpdateArrangementInfoReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeUpdateArrangementInfoReq.scene_arrangement_info:type_name -> proto.HomeSceneArrangementInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeUpdateArrangementInfoReq_proto_init() }
+func file_HomeUpdateArrangementInfoReq_proto_init() {
+ if File_HomeUpdateArrangementInfoReq_proto != nil {
+ return
+ }
+ file_HomeSceneArrangementInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeUpdateArrangementInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeUpdateArrangementInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeUpdateArrangementInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeUpdateArrangementInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeUpdateArrangementInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeUpdateArrangementInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeUpdateArrangementInfoReq_proto = out.File
+ file_HomeUpdateArrangementInfoReq_proto_rawDesc = nil
+ file_HomeUpdateArrangementInfoReq_proto_goTypes = nil
+ file_HomeUpdateArrangementInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeUpdateArrangementInfoRsp.pb.go b/protocol/proto/HomeUpdateArrangementInfoRsp.pb.go
new file mode 100644
index 00000000..55757187
--- /dev/null
+++ b/protocol/proto/HomeUpdateArrangementInfoRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeUpdateArrangementInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4757
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeUpdateArrangementInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeUpdateArrangementInfoRsp) Reset() {
+ *x = HomeUpdateArrangementInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeUpdateArrangementInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeUpdateArrangementInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeUpdateArrangementInfoRsp) ProtoMessage() {}
+
+func (x *HomeUpdateArrangementInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeUpdateArrangementInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeUpdateArrangementInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomeUpdateArrangementInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomeUpdateArrangementInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeUpdateArrangementInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeUpdateArrangementInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomeUpdateArrangementInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61,
+ 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1c, 0x48,
+ 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeUpdateArrangementInfoRsp_proto_rawDescOnce sync.Once
+ file_HomeUpdateArrangementInfoRsp_proto_rawDescData = file_HomeUpdateArrangementInfoRsp_proto_rawDesc
+)
+
+func file_HomeUpdateArrangementInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomeUpdateArrangementInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomeUpdateArrangementInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeUpdateArrangementInfoRsp_proto_rawDescData)
+ })
+ return file_HomeUpdateArrangementInfoRsp_proto_rawDescData
+}
+
+var file_HomeUpdateArrangementInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeUpdateArrangementInfoRsp_proto_goTypes = []interface{}{
+ (*HomeUpdateArrangementInfoRsp)(nil), // 0: proto.HomeUpdateArrangementInfoRsp
+}
+var file_HomeUpdateArrangementInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeUpdateArrangementInfoRsp_proto_init() }
+func file_HomeUpdateArrangementInfoRsp_proto_init() {
+ if File_HomeUpdateArrangementInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeUpdateArrangementInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeUpdateArrangementInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeUpdateArrangementInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeUpdateArrangementInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomeUpdateArrangementInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomeUpdateArrangementInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomeUpdateArrangementInfoRsp_proto = out.File
+ file_HomeUpdateArrangementInfoRsp_proto_rawDesc = nil
+ file_HomeUpdateArrangementInfoRsp_proto_goTypes = nil
+ file_HomeUpdateArrangementInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeUpdateFishFarmingInfoReq.pb.go b/protocol/proto/HomeUpdateFishFarmingInfoReq.pb.go
new file mode 100644
index 00000000..18056aa5
--- /dev/null
+++ b/protocol/proto/HomeUpdateFishFarmingInfoReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeUpdateFishFarmingInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4544
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeUpdateFishFarmingInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishFarmingInfo *HomeFishFarmingInfo `protobuf:"bytes,5,opt,name=fish_farming_info,json=fishFarmingInfo,proto3" json:"fish_farming_info,omitempty"`
+}
+
+func (x *HomeUpdateFishFarmingInfoReq) Reset() {
+ *x = HomeUpdateFishFarmingInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeUpdateFishFarmingInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeUpdateFishFarmingInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeUpdateFishFarmingInfoReq) ProtoMessage() {}
+
+func (x *HomeUpdateFishFarmingInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeUpdateFishFarmingInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeUpdateFishFarmingInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeUpdateFishFarmingInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeUpdateFishFarmingInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeUpdateFishFarmingInfoReq) GetFishFarmingInfo() *HomeFishFarmingInfo {
+ if x != nil {
+ return x.FishFarmingInfo
+ }
+ return nil
+}
+
+var File_HomeUpdateFishFarmingInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeUpdateFishFarmingInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x73, 0x68,
+ 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d,
+ 0x65, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x1c, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x46, 0x0a, 0x11, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x66,
+ 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x46, 0x69,
+ 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x66,
+ 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HomeUpdateFishFarmingInfoReq_proto_rawDescOnce sync.Once
+ file_HomeUpdateFishFarmingInfoReq_proto_rawDescData = file_HomeUpdateFishFarmingInfoReq_proto_rawDesc
+)
+
+func file_HomeUpdateFishFarmingInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeUpdateFishFarmingInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeUpdateFishFarmingInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeUpdateFishFarmingInfoReq_proto_rawDescData)
+ })
+ return file_HomeUpdateFishFarmingInfoReq_proto_rawDescData
+}
+
+var file_HomeUpdateFishFarmingInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeUpdateFishFarmingInfoReq_proto_goTypes = []interface{}{
+ (*HomeUpdateFishFarmingInfoReq)(nil), // 0: proto.HomeUpdateFishFarmingInfoReq
+ (*HomeFishFarmingInfo)(nil), // 1: proto.HomeFishFarmingInfo
+}
+var file_HomeUpdateFishFarmingInfoReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeUpdateFishFarmingInfoReq.fish_farming_info:type_name -> proto.HomeFishFarmingInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeUpdateFishFarmingInfoReq_proto_init() }
+func file_HomeUpdateFishFarmingInfoReq_proto_init() {
+ if File_HomeUpdateFishFarmingInfoReq_proto != nil {
+ return
+ }
+ file_HomeFishFarmingInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeUpdateFishFarmingInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeUpdateFishFarmingInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeUpdateFishFarmingInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeUpdateFishFarmingInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeUpdateFishFarmingInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeUpdateFishFarmingInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeUpdateFishFarmingInfoReq_proto = out.File
+ file_HomeUpdateFishFarmingInfoReq_proto_rawDesc = nil
+ file_HomeUpdateFishFarmingInfoReq_proto_goTypes = nil
+ file_HomeUpdateFishFarmingInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeUpdateFishFarmingInfoRsp.pb.go b/protocol/proto/HomeUpdateFishFarmingInfoRsp.pb.go
new file mode 100644
index 00000000..5a710026
--- /dev/null
+++ b/protocol/proto/HomeUpdateFishFarmingInfoRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeUpdateFishFarmingInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4857
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeUpdateFishFarmingInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeUpdateFishFarmingInfoRsp) Reset() {
+ *x = HomeUpdateFishFarmingInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeUpdateFishFarmingInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeUpdateFishFarmingInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeUpdateFishFarmingInfoRsp) ProtoMessage() {}
+
+func (x *HomeUpdateFishFarmingInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeUpdateFishFarmingInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeUpdateFishFarmingInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomeUpdateFishFarmingInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomeUpdateFishFarmingInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeUpdateFishFarmingInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeUpdateFishFarmingInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomeUpdateFishFarmingInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x73, 0x68,
+ 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1c, 0x48,
+ 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72,
+ 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeUpdateFishFarmingInfoRsp_proto_rawDescOnce sync.Once
+ file_HomeUpdateFishFarmingInfoRsp_proto_rawDescData = file_HomeUpdateFishFarmingInfoRsp_proto_rawDesc
+)
+
+func file_HomeUpdateFishFarmingInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomeUpdateFishFarmingInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomeUpdateFishFarmingInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeUpdateFishFarmingInfoRsp_proto_rawDescData)
+ })
+ return file_HomeUpdateFishFarmingInfoRsp_proto_rawDescData
+}
+
+var file_HomeUpdateFishFarmingInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeUpdateFishFarmingInfoRsp_proto_goTypes = []interface{}{
+ (*HomeUpdateFishFarmingInfoRsp)(nil), // 0: proto.HomeUpdateFishFarmingInfoRsp
+}
+var file_HomeUpdateFishFarmingInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeUpdateFishFarmingInfoRsp_proto_init() }
+func file_HomeUpdateFishFarmingInfoRsp_proto_init() {
+ if File_HomeUpdateFishFarmingInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeUpdateFishFarmingInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeUpdateFishFarmingInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeUpdateFishFarmingInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeUpdateFishFarmingInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomeUpdateFishFarmingInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomeUpdateFishFarmingInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomeUpdateFishFarmingInfoRsp_proto = out.File
+ file_HomeUpdateFishFarmingInfoRsp_proto_rawDesc = nil
+ file_HomeUpdateFishFarmingInfoRsp_proto_goTypes = nil
+ file_HomeUpdateFishFarmingInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeUpdatePictureFrameInfoReq.pb.go b/protocol/proto/HomeUpdatePictureFrameInfoReq.pb.go
new file mode 100644
index 00000000..2bfa4aa3
--- /dev/null
+++ b/protocol/proto/HomeUpdatePictureFrameInfoReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeUpdatePictureFrameInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4486
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeUpdatePictureFrameInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PictureFrameInfo *HomePictureFrameInfo `protobuf:"bytes,1,opt,name=picture_frame_info,json=pictureFrameInfo,proto3" json:"picture_frame_info,omitempty"`
+}
+
+func (x *HomeUpdatePictureFrameInfoReq) Reset() {
+ *x = HomeUpdatePictureFrameInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeUpdatePictureFrameInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeUpdatePictureFrameInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeUpdatePictureFrameInfoReq) ProtoMessage() {}
+
+func (x *HomeUpdatePictureFrameInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeUpdatePictureFrameInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeUpdatePictureFrameInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeUpdatePictureFrameInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeUpdatePictureFrameInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeUpdatePictureFrameInfoReq) GetPictureFrameInfo() *HomePictureFrameInfo {
+ if x != nil {
+ return x.PictureFrameInfo
+ }
+ return nil
+}
+
+var File_HomeUpdatePictureFrameInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeUpdatePictureFrameInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x6f,
+ 0x6d, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61,
+ 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x10, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeUpdatePictureFrameInfoReq_proto_rawDescOnce sync.Once
+ file_HomeUpdatePictureFrameInfoReq_proto_rawDescData = file_HomeUpdatePictureFrameInfoReq_proto_rawDesc
+)
+
+func file_HomeUpdatePictureFrameInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeUpdatePictureFrameInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeUpdatePictureFrameInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeUpdatePictureFrameInfoReq_proto_rawDescData)
+ })
+ return file_HomeUpdatePictureFrameInfoReq_proto_rawDescData
+}
+
+var file_HomeUpdatePictureFrameInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeUpdatePictureFrameInfoReq_proto_goTypes = []interface{}{
+ (*HomeUpdatePictureFrameInfoReq)(nil), // 0: proto.HomeUpdatePictureFrameInfoReq
+ (*HomePictureFrameInfo)(nil), // 1: proto.HomePictureFrameInfo
+}
+var file_HomeUpdatePictureFrameInfoReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeUpdatePictureFrameInfoReq.picture_frame_info:type_name -> proto.HomePictureFrameInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeUpdatePictureFrameInfoReq_proto_init() }
+func file_HomeUpdatePictureFrameInfoReq_proto_init() {
+ if File_HomeUpdatePictureFrameInfoReq_proto != nil {
+ return
+ }
+ file_HomePictureFrameInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeUpdatePictureFrameInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeUpdatePictureFrameInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeUpdatePictureFrameInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeUpdatePictureFrameInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeUpdatePictureFrameInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeUpdatePictureFrameInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeUpdatePictureFrameInfoReq_proto = out.File
+ file_HomeUpdatePictureFrameInfoReq_proto_rawDesc = nil
+ file_HomeUpdatePictureFrameInfoReq_proto_goTypes = nil
+ file_HomeUpdatePictureFrameInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeUpdatePictureFrameInfoRsp.pb.go b/protocol/proto/HomeUpdatePictureFrameInfoRsp.pb.go
new file mode 100644
index 00000000..bd65c6a7
--- /dev/null
+++ b/protocol/proto/HomeUpdatePictureFrameInfoRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeUpdatePictureFrameInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4641
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeUpdatePictureFrameInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PictureFrameInfo *HomePictureFrameInfo `protobuf:"bytes,14,opt,name=picture_frame_info,json=pictureFrameInfo,proto3" json:"picture_frame_info,omitempty"`
+}
+
+func (x *HomeUpdatePictureFrameInfoRsp) Reset() {
+ *x = HomeUpdatePictureFrameInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeUpdatePictureFrameInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeUpdatePictureFrameInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeUpdatePictureFrameInfoRsp) ProtoMessage() {}
+
+func (x *HomeUpdatePictureFrameInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeUpdatePictureFrameInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeUpdatePictureFrameInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomeUpdatePictureFrameInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomeUpdatePictureFrameInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeUpdatePictureFrameInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HomeUpdatePictureFrameInfoRsp) GetPictureFrameInfo() *HomePictureFrameInfo {
+ if x != nil {
+ return x.PictureFrameInfo
+ }
+ return nil
+}
+
+var File_HomeUpdatePictureFrameInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomeUpdatePictureFrameInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x6f,
+ 0x6d, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x1d, 0x48, 0x6f, 0x6d,
+ 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72,
+ 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x5f,
+ 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x70,
+ 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeUpdatePictureFrameInfoRsp_proto_rawDescOnce sync.Once
+ file_HomeUpdatePictureFrameInfoRsp_proto_rawDescData = file_HomeUpdatePictureFrameInfoRsp_proto_rawDesc
+)
+
+func file_HomeUpdatePictureFrameInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomeUpdatePictureFrameInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomeUpdatePictureFrameInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeUpdatePictureFrameInfoRsp_proto_rawDescData)
+ })
+ return file_HomeUpdatePictureFrameInfoRsp_proto_rawDescData
+}
+
+var file_HomeUpdatePictureFrameInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeUpdatePictureFrameInfoRsp_proto_goTypes = []interface{}{
+ (*HomeUpdatePictureFrameInfoRsp)(nil), // 0: proto.HomeUpdatePictureFrameInfoRsp
+ (*HomePictureFrameInfo)(nil), // 1: proto.HomePictureFrameInfo
+}
+var file_HomeUpdatePictureFrameInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeUpdatePictureFrameInfoRsp.picture_frame_info:type_name -> proto.HomePictureFrameInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeUpdatePictureFrameInfoRsp_proto_init() }
+func file_HomeUpdatePictureFrameInfoRsp_proto_init() {
+ if File_HomeUpdatePictureFrameInfoRsp_proto != nil {
+ return
+ }
+ file_HomePictureFrameInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeUpdatePictureFrameInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeUpdatePictureFrameInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeUpdatePictureFrameInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeUpdatePictureFrameInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomeUpdatePictureFrameInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomeUpdatePictureFrameInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomeUpdatePictureFrameInfoRsp_proto = out.File
+ file_HomeUpdatePictureFrameInfoRsp_proto_rawDesc = nil
+ file_HomeUpdatePictureFrameInfoRsp_proto_goTypes = nil
+ file_HomeUpdatePictureFrameInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeUpdateScenePointFishFarmingInfoReq.pb.go b/protocol/proto/HomeUpdateScenePointFishFarmingInfoReq.pb.go
new file mode 100644
index 00000000..212192e0
--- /dev/null
+++ b/protocol/proto/HomeUpdateScenePointFishFarmingInfoReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeUpdateScenePointFishFarmingInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4511
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HomeUpdateScenePointFishFarmingInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishFarmingInfo *HomeScenePointFishFarmingInfo `protobuf:"bytes,7,opt,name=fish_farming_info,json=fishFarmingInfo,proto3" json:"fish_farming_info,omitempty"`
+}
+
+func (x *HomeUpdateScenePointFishFarmingInfoReq) Reset() {
+ *x = HomeUpdateScenePointFishFarmingInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeUpdateScenePointFishFarmingInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeUpdateScenePointFishFarmingInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeUpdateScenePointFishFarmingInfoReq) ProtoMessage() {}
+
+func (x *HomeUpdateScenePointFishFarmingInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeUpdateScenePointFishFarmingInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeUpdateScenePointFishFarmingInfoReq.ProtoReflect.Descriptor instead.
+func (*HomeUpdateScenePointFishFarmingInfoReq) Descriptor() ([]byte, []int) {
+ return file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeUpdateScenePointFishFarmingInfoReq) GetFishFarmingInfo() *HomeScenePointFishFarmingInfo {
+ if x != nil {
+ return x.FishFarmingInfo
+ }
+ return nil
+}
+
+var File_HomeUpdateScenePointFishFarmingInfoReq_proto protoreflect.FileDescriptor
+
+var file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e,
+ 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x26, 0x48, 0x6f,
+ 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x65, 0x71, 0x12, 0x50, 0x0a, 0x11, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x61, 0x72,
+ 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e,
+ 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x66, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69,
+ 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDescOnce sync.Once
+ file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDescData = file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDesc
+)
+
+func file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDescGZIP() []byte {
+ file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDescOnce.Do(func() {
+ file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDescData)
+ })
+ return file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDescData
+}
+
+var file_HomeUpdateScenePointFishFarmingInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeUpdateScenePointFishFarmingInfoReq_proto_goTypes = []interface{}{
+ (*HomeUpdateScenePointFishFarmingInfoReq)(nil), // 0: proto.HomeUpdateScenePointFishFarmingInfoReq
+ (*HomeScenePointFishFarmingInfo)(nil), // 1: proto.HomeScenePointFishFarmingInfo
+}
+var file_HomeUpdateScenePointFishFarmingInfoReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeUpdateScenePointFishFarmingInfoReq.fish_farming_info:type_name -> proto.HomeScenePointFishFarmingInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeUpdateScenePointFishFarmingInfoReq_proto_init() }
+func file_HomeUpdateScenePointFishFarmingInfoReq_proto_init() {
+ if File_HomeUpdateScenePointFishFarmingInfoReq_proto != nil {
+ return
+ }
+ file_HomeScenePointFishFarmingInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeUpdateScenePointFishFarmingInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeUpdateScenePointFishFarmingInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeUpdateScenePointFishFarmingInfoReq_proto_goTypes,
+ DependencyIndexes: file_HomeUpdateScenePointFishFarmingInfoReq_proto_depIdxs,
+ MessageInfos: file_HomeUpdateScenePointFishFarmingInfoReq_proto_msgTypes,
+ }.Build()
+ File_HomeUpdateScenePointFishFarmingInfoReq_proto = out.File
+ file_HomeUpdateScenePointFishFarmingInfoReq_proto_rawDesc = nil
+ file_HomeUpdateScenePointFishFarmingInfoReq_proto_goTypes = nil
+ file_HomeUpdateScenePointFishFarmingInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeUpdateScenePointFishFarmingInfoRsp.pb.go b/protocol/proto/HomeUpdateScenePointFishFarmingInfoRsp.pb.go
new file mode 100644
index 00000000..7bf9a561
--- /dev/null
+++ b/protocol/proto/HomeUpdateScenePointFishFarmingInfoRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeUpdateScenePointFishFarmingInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4540
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HomeUpdateScenePointFishFarmingInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *HomeUpdateScenePointFishFarmingInfoRsp) Reset() {
+ *x = HomeUpdateScenePointFishFarmingInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeUpdateScenePointFishFarmingInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeUpdateScenePointFishFarmingInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeUpdateScenePointFishFarmingInfoRsp) ProtoMessage() {}
+
+func (x *HomeUpdateScenePointFishFarmingInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeUpdateScenePointFishFarmingInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeUpdateScenePointFishFarmingInfoRsp.ProtoReflect.Descriptor instead.
+func (*HomeUpdateScenePointFishFarmingInfoRsp) Descriptor() ([]byte, []int) {
+ return file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeUpdateScenePointFishFarmingInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_HomeUpdateScenePointFishFarmingInfoRsp_proto protoreflect.FileDescriptor
+
+var file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x73, 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e,
+ 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x26, 0x48, 0x6f, 0x6d, 0x65, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x46, 0x69, 0x73,
+ 0x68, 0x46, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDescOnce sync.Once
+ file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDescData = file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDesc
+)
+
+func file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDescGZIP() []byte {
+ file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDescOnce.Do(func() {
+ file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDescData)
+ })
+ return file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDescData
+}
+
+var file_HomeUpdateScenePointFishFarmingInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeUpdateScenePointFishFarmingInfoRsp_proto_goTypes = []interface{}{
+ (*HomeUpdateScenePointFishFarmingInfoRsp)(nil), // 0: proto.HomeUpdateScenePointFishFarmingInfoRsp
+}
+var file_HomeUpdateScenePointFishFarmingInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeUpdateScenePointFishFarmingInfoRsp_proto_init() }
+func file_HomeUpdateScenePointFishFarmingInfoRsp_proto_init() {
+ if File_HomeUpdateScenePointFishFarmingInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeUpdateScenePointFishFarmingInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeUpdateScenePointFishFarmingInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeUpdateScenePointFishFarmingInfoRsp_proto_goTypes,
+ DependencyIndexes: file_HomeUpdateScenePointFishFarmingInfoRsp_proto_depIdxs,
+ MessageInfos: file_HomeUpdateScenePointFishFarmingInfoRsp_proto_msgTypes,
+ }.Build()
+ File_HomeUpdateScenePointFishFarmingInfoRsp_proto = out.File
+ file_HomeUpdateScenePointFishFarmingInfoRsp_proto_rawDesc = nil
+ file_HomeUpdateScenePointFishFarmingInfoRsp_proto_goTypes = nil
+ file_HomeUpdateScenePointFishFarmingInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeVerifyBlockData.pb.go b/protocol/proto/HomeVerifyBlockData.pb.go
new file mode 100644
index 00000000..61b54806
--- /dev/null
+++ b/protocol/proto/HomeVerifyBlockData.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeVerifyBlockData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeVerifyBlockData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BlockId uint32 `protobuf:"varint,10,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+ Furnitures uint32 `protobuf:"varint,9,opt,name=furnitures,proto3" json:"furnitures,omitempty"`
+}
+
+func (x *HomeVerifyBlockData) Reset() {
+ *x = HomeVerifyBlockData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeVerifyBlockData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeVerifyBlockData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeVerifyBlockData) ProtoMessage() {}
+
+func (x *HomeVerifyBlockData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeVerifyBlockData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeVerifyBlockData.ProtoReflect.Descriptor instead.
+func (*HomeVerifyBlockData) Descriptor() ([]byte, []int) {
+ return file_HomeVerifyBlockData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeVerifyBlockData) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+func (x *HomeVerifyBlockData) GetFurnitures() uint32 {
+ if x != nil {
+ return x.Furnitures
+ }
+ return 0
+}
+
+var File_HomeVerifyBlockData_proto protoreflect.FileDescriptor
+
+var file_HomeVerifyBlockData_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79,
+ 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeVerifyBlockData_proto_rawDescOnce sync.Once
+ file_HomeVerifyBlockData_proto_rawDescData = file_HomeVerifyBlockData_proto_rawDesc
+)
+
+func file_HomeVerifyBlockData_proto_rawDescGZIP() []byte {
+ file_HomeVerifyBlockData_proto_rawDescOnce.Do(func() {
+ file_HomeVerifyBlockData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeVerifyBlockData_proto_rawDescData)
+ })
+ return file_HomeVerifyBlockData_proto_rawDescData
+}
+
+var file_HomeVerifyBlockData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeVerifyBlockData_proto_goTypes = []interface{}{
+ (*HomeVerifyBlockData)(nil), // 0: proto.HomeVerifyBlockData
+}
+var file_HomeVerifyBlockData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeVerifyBlockData_proto_init() }
+func file_HomeVerifyBlockData_proto_init() {
+ if File_HomeVerifyBlockData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeVerifyBlockData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeVerifyBlockData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeVerifyBlockData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeVerifyBlockData_proto_goTypes,
+ DependencyIndexes: file_HomeVerifyBlockData_proto_depIdxs,
+ MessageInfos: file_HomeVerifyBlockData_proto_msgTypes,
+ }.Build()
+ File_HomeVerifyBlockData_proto = out.File
+ file_HomeVerifyBlockData_proto_rawDesc = nil
+ file_HomeVerifyBlockData_proto_goTypes = nil
+ file_HomeVerifyBlockData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeVerifyData.pb.go b/protocol/proto/HomeVerifyData.pb.go
new file mode 100644
index 00000000..f76c617e
--- /dev/null
+++ b/protocol/proto/HomeVerifyData.pb.go
@@ -0,0 +1,245 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeVerifyData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeVerifyData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Aid string `protobuf:"bytes,7,opt,name=aid,proto3" json:"aid,omitempty"`
+ Timestamp uint32 `protobuf:"fixed32,15,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
+ Uid uint32 `protobuf:"varint,5,opt,name=uid,proto3" json:"uid,omitempty"`
+ ArrangementData *HomeSceneArrangementMuipData `protobuf:"bytes,9,opt,name=arrangement_data,json=arrangementData,proto3" json:"arrangement_data,omitempty"`
+ Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
+ Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
+ HomeInfo *HomeVerifySceneData `protobuf:"bytes,6,opt,name=home_info,json=homeInfo,proto3" json:"home_info,omitempty"`
+ Lang LanguageType `protobuf:"varint,8,opt,name=lang,proto3,enum=proto.LanguageType" json:"lang,omitempty"`
+}
+
+func (x *HomeVerifyData) Reset() {
+ *x = HomeVerifyData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeVerifyData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeVerifyData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeVerifyData) ProtoMessage() {}
+
+func (x *HomeVerifyData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeVerifyData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeVerifyData.ProtoReflect.Descriptor instead.
+func (*HomeVerifyData) Descriptor() ([]byte, []int) {
+ return file_HomeVerifyData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeVerifyData) GetAid() string {
+ if x != nil {
+ return x.Aid
+ }
+ return ""
+}
+
+func (x *HomeVerifyData) GetTimestamp() uint32 {
+ if x != nil {
+ return x.Timestamp
+ }
+ return 0
+}
+
+func (x *HomeVerifyData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *HomeVerifyData) GetArrangementData() *HomeSceneArrangementMuipData {
+ if x != nil {
+ return x.ArrangementData
+ }
+ return nil
+}
+
+func (x *HomeVerifyData) GetRegion() string {
+ if x != nil {
+ return x.Region
+ }
+ return ""
+}
+
+func (x *HomeVerifyData) GetToken() string {
+ if x != nil {
+ return x.Token
+ }
+ return ""
+}
+
+func (x *HomeVerifyData) GetHomeInfo() *HomeVerifySceneData {
+ if x != nil {
+ return x.HomeInfo
+ }
+ return nil
+}
+
+func (x *HomeVerifyData) GetLang() LanguageType {
+ if x != nil {
+ return x.Lang
+ }
+ return LanguageType_LANGUAGE_TYPE_NONE
+}
+
+var File_HomeVerifyData_proto protoreflect.FileDescriptor
+
+var file_HomeVerifyData_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x48,
+ 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4c, 0x61,
+ 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xb2, 0x02, 0x0a, 0x0e, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x61, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
+ 0x6d, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x4e, 0x0a, 0x10, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65,
+ 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x41, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x75, 0x69, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a,
+ 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
+ 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x08, 0x68, 0x6f, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x04,
+ 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeVerifyData_proto_rawDescOnce sync.Once
+ file_HomeVerifyData_proto_rawDescData = file_HomeVerifyData_proto_rawDesc
+)
+
+func file_HomeVerifyData_proto_rawDescGZIP() []byte {
+ file_HomeVerifyData_proto_rawDescOnce.Do(func() {
+ file_HomeVerifyData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeVerifyData_proto_rawDescData)
+ })
+ return file_HomeVerifyData_proto_rawDescData
+}
+
+var file_HomeVerifyData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeVerifyData_proto_goTypes = []interface{}{
+ (*HomeVerifyData)(nil), // 0: proto.HomeVerifyData
+ (*HomeSceneArrangementMuipData)(nil), // 1: proto.HomeSceneArrangementMuipData
+ (*HomeVerifySceneData)(nil), // 2: proto.HomeVerifySceneData
+ (LanguageType)(0), // 3: proto.LanguageType
+}
+var file_HomeVerifyData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeVerifyData.arrangement_data:type_name -> proto.HomeSceneArrangementMuipData
+ 2, // 1: proto.HomeVerifyData.home_info:type_name -> proto.HomeVerifySceneData
+ 3, // 2: proto.HomeVerifyData.lang:type_name -> proto.LanguageType
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_HomeVerifyData_proto_init() }
+func file_HomeVerifyData_proto_init() {
+ if File_HomeVerifyData_proto != nil {
+ return
+ }
+ file_HomeSceneArrangementMuipData_proto_init()
+ file_HomeVerifySceneData_proto_init()
+ file_LanguageType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeVerifyData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeVerifyData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeVerifyData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeVerifyData_proto_goTypes,
+ DependencyIndexes: file_HomeVerifyData_proto_depIdxs,
+ MessageInfos: file_HomeVerifyData_proto_msgTypes,
+ }.Build()
+ File_HomeVerifyData_proto = out.File
+ file_HomeVerifyData_proto_rawDesc = nil
+ file_HomeVerifyData_proto_goTypes = nil
+ file_HomeVerifyData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeVerifyFurnitureData.pb.go b/protocol/proto/HomeVerifyFurnitureData.pb.go
new file mode 100644
index 00000000..ce485ccf
--- /dev/null
+++ b/protocol/proto/HomeVerifyFurnitureData.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeVerifyFurnitureData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeVerifyFurnitureData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type []uint32 `protobuf:"varint,7,rep,packed,name=type,proto3" json:"type,omitempty"`
+ Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
+ Num uint32 `protobuf:"varint,9,opt,name=num,proto3" json:"num,omitempty"`
+}
+
+func (x *HomeVerifyFurnitureData) Reset() {
+ *x = HomeVerifyFurnitureData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeVerifyFurnitureData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeVerifyFurnitureData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeVerifyFurnitureData) ProtoMessage() {}
+
+func (x *HomeVerifyFurnitureData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeVerifyFurnitureData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeVerifyFurnitureData.ProtoReflect.Descriptor instead.
+func (*HomeVerifyFurnitureData) Descriptor() ([]byte, []int) {
+ return file_HomeVerifyFurnitureData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeVerifyFurnitureData) GetType() []uint32 {
+ if x != nil {
+ return x.Type
+ }
+ return nil
+}
+
+func (x *HomeVerifyFurnitureData) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *HomeVerifyFurnitureData) GetNum() uint32 {
+ if x != nil {
+ return x.Num
+ }
+ return 0
+}
+
+var File_HomeVerifyFurnitureData_proto protoreflect.FileDescriptor
+
+var file_HomeVerifyFurnitureData_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x17, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65,
+ 0x72, 0x69, 0x66, 0x79, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeVerifyFurnitureData_proto_rawDescOnce sync.Once
+ file_HomeVerifyFurnitureData_proto_rawDescData = file_HomeVerifyFurnitureData_proto_rawDesc
+)
+
+func file_HomeVerifyFurnitureData_proto_rawDescGZIP() []byte {
+ file_HomeVerifyFurnitureData_proto_rawDescOnce.Do(func() {
+ file_HomeVerifyFurnitureData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeVerifyFurnitureData_proto_rawDescData)
+ })
+ return file_HomeVerifyFurnitureData_proto_rawDescData
+}
+
+var file_HomeVerifyFurnitureData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeVerifyFurnitureData_proto_goTypes = []interface{}{
+ (*HomeVerifyFurnitureData)(nil), // 0: proto.HomeVerifyFurnitureData
+}
+var file_HomeVerifyFurnitureData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HomeVerifyFurnitureData_proto_init() }
+func file_HomeVerifyFurnitureData_proto_init() {
+ if File_HomeVerifyFurnitureData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HomeVerifyFurnitureData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeVerifyFurnitureData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeVerifyFurnitureData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeVerifyFurnitureData_proto_goTypes,
+ DependencyIndexes: file_HomeVerifyFurnitureData_proto_depIdxs,
+ MessageInfos: file_HomeVerifyFurnitureData_proto_msgTypes,
+ }.Build()
+ File_HomeVerifyFurnitureData_proto = out.File
+ file_HomeVerifyFurnitureData_proto_rawDesc = nil
+ file_HomeVerifyFurnitureData_proto_goTypes = nil
+ file_HomeVerifyFurnitureData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HomeVerifySceneData.pb.go b/protocol/proto/HomeVerifySceneData.pb.go
new file mode 100644
index 00000000..232123dc
--- /dev/null
+++ b/protocol/proto/HomeVerifySceneData.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HomeVerifySceneData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HomeVerifySceneData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Blocks []*HomeVerifyBlockData `protobuf:"bytes,6,rep,name=blocks,proto3" json:"blocks,omitempty"`
+ ModuleId uint32 `protobuf:"varint,11,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Version uint32 `protobuf:"varint,14,opt,name=version,proto3" json:"version,omitempty"`
+ IsRoom uint32 `protobuf:"varint,2,opt,name=is_room,json=isRoom,proto3" json:"is_room,omitempty"`
+}
+
+func (x *HomeVerifySceneData) Reset() {
+ *x = HomeVerifySceneData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HomeVerifySceneData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HomeVerifySceneData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HomeVerifySceneData) ProtoMessage() {}
+
+func (x *HomeVerifySceneData) ProtoReflect() protoreflect.Message {
+ mi := &file_HomeVerifySceneData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HomeVerifySceneData.ProtoReflect.Descriptor instead.
+func (*HomeVerifySceneData) Descriptor() ([]byte, []int) {
+ return file_HomeVerifySceneData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HomeVerifySceneData) GetBlocks() []*HomeVerifyBlockData {
+ if x != nil {
+ return x.Blocks
+ }
+ return nil
+}
+
+func (x *HomeVerifySceneData) GetModuleId() uint32 {
+ if x != nil {
+ return x.ModuleId
+ }
+ return 0
+}
+
+func (x *HomeVerifySceneData) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *HomeVerifySceneData) GetVersion() uint32 {
+ if x != nil {
+ return x.Version
+ }
+ return 0
+}
+
+func (x *HomeVerifySceneData) GetIsRoom() uint32 {
+ if x != nil {
+ return x.IsRoom
+ }
+ return 0
+}
+
+var File_HomeVerifySceneData_proto protoreflect.FileDescriptor
+
+var file_HomeVerifySceneData_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x01,
+ 0x0a, 0x13, 0x48, 0x6f, 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x06, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x6f,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x69,
+ 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x73,
+ 0x52, 0x6f, 0x6f, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HomeVerifySceneData_proto_rawDescOnce sync.Once
+ file_HomeVerifySceneData_proto_rawDescData = file_HomeVerifySceneData_proto_rawDesc
+)
+
+func file_HomeVerifySceneData_proto_rawDescGZIP() []byte {
+ file_HomeVerifySceneData_proto_rawDescOnce.Do(func() {
+ file_HomeVerifySceneData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HomeVerifySceneData_proto_rawDescData)
+ })
+ return file_HomeVerifySceneData_proto_rawDescData
+}
+
+var file_HomeVerifySceneData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HomeVerifySceneData_proto_goTypes = []interface{}{
+ (*HomeVerifySceneData)(nil), // 0: proto.HomeVerifySceneData
+ (*HomeVerifyBlockData)(nil), // 1: proto.HomeVerifyBlockData
+}
+var file_HomeVerifySceneData_proto_depIdxs = []int32{
+ 1, // 0: proto.HomeVerifySceneData.blocks:type_name -> proto.HomeVerifyBlockData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HomeVerifySceneData_proto_init() }
+func file_HomeVerifySceneData_proto_init() {
+ if File_HomeVerifySceneData_proto != nil {
+ return
+ }
+ file_HomeVerifyBlockData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HomeVerifySceneData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HomeVerifySceneData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HomeVerifySceneData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HomeVerifySceneData_proto_goTypes,
+ DependencyIndexes: file_HomeVerifySceneData_proto_depIdxs,
+ MessageInfos: file_HomeVerifySceneData_proto_msgTypes,
+ }.Build()
+ File_HomeVerifySceneData_proto = out.File
+ file_HomeVerifySceneData_proto_rawDesc = nil
+ file_HomeVerifySceneData_proto_goTypes = nil
+ file_HomeVerifySceneData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HostPlayerNotify.pb.go b/protocol/proto/HostPlayerNotify.pb.go
new file mode 100644
index 00000000..02459069
--- /dev/null
+++ b/protocol/proto/HostPlayerNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HostPlayerNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 312
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HostPlayerNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HostPeerId uint32 `protobuf:"varint,13,opt,name=host_peer_id,json=hostPeerId,proto3" json:"host_peer_id,omitempty"`
+ HostUid uint32 `protobuf:"varint,10,opt,name=host_uid,json=hostUid,proto3" json:"host_uid,omitempty"`
+}
+
+func (x *HostPlayerNotify) Reset() {
+ *x = HostPlayerNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HostPlayerNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HostPlayerNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HostPlayerNotify) ProtoMessage() {}
+
+func (x *HostPlayerNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HostPlayerNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HostPlayerNotify.ProtoReflect.Descriptor instead.
+func (*HostPlayerNotify) Descriptor() ([]byte, []int) {
+ return file_HostPlayerNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HostPlayerNotify) GetHostPeerId() uint32 {
+ if x != nil {
+ return x.HostPeerId
+ }
+ return 0
+}
+
+func (x *HostPlayerNotify) GetHostUid() uint32 {
+ if x != nil {
+ return x.HostUid
+ }
+ return 0
+}
+
+var File_HostPlayerNotify_proto protoreflect.FileDescriptor
+
+var file_HostPlayerNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x4f, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x50,
+ 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HostPlayerNotify_proto_rawDescOnce sync.Once
+ file_HostPlayerNotify_proto_rawDescData = file_HostPlayerNotify_proto_rawDesc
+)
+
+func file_HostPlayerNotify_proto_rawDescGZIP() []byte {
+ file_HostPlayerNotify_proto_rawDescOnce.Do(func() {
+ file_HostPlayerNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HostPlayerNotify_proto_rawDescData)
+ })
+ return file_HostPlayerNotify_proto_rawDescData
+}
+
+var file_HostPlayerNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HostPlayerNotify_proto_goTypes = []interface{}{
+ (*HostPlayerNotify)(nil), // 0: proto.HostPlayerNotify
+}
+var file_HostPlayerNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HostPlayerNotify_proto_init() }
+func file_HostPlayerNotify_proto_init() {
+ if File_HostPlayerNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HostPlayerNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HostPlayerNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HostPlayerNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HostPlayerNotify_proto_goTypes,
+ DependencyIndexes: file_HostPlayerNotify_proto_depIdxs,
+ MessageInfos: file_HostPlayerNotify_proto_msgTypes,
+ }.Build()
+ File_HostPlayerNotify_proto = out.File
+ file_HostPlayerNotify_proto_rawDesc = nil
+ file_HostPlayerNotify_proto_goTypes = nil
+ file_HostPlayerNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingFailNotify.pb.go b/protocol/proto/HuntingFailNotify.pb.go
new file mode 100644
index 00000000..02d1e12d
--- /dev/null
+++ b/protocol/proto/HuntingFailNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingFailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4320
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HuntingFailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HuntingPair *HuntingPair `protobuf:"bytes,12,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+}
+
+func (x *HuntingFailNotify) Reset() {
+ *x = HuntingFailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingFailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingFailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingFailNotify) ProtoMessage() {}
+
+func (x *HuntingFailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingFailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingFailNotify.ProtoReflect.Descriptor instead.
+func (*HuntingFailNotify) Descriptor() ([]byte, []int) {
+ return file_HuntingFailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingFailNotify) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+var File_HuntingFailNotify_proto protoreflect.FileDescriptor
+
+var file_HuntingFailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x61,
+ 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61,
+ 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingFailNotify_proto_rawDescOnce sync.Once
+ file_HuntingFailNotify_proto_rawDescData = file_HuntingFailNotify_proto_rawDesc
+)
+
+func file_HuntingFailNotify_proto_rawDescGZIP() []byte {
+ file_HuntingFailNotify_proto_rawDescOnce.Do(func() {
+ file_HuntingFailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingFailNotify_proto_rawDescData)
+ })
+ return file_HuntingFailNotify_proto_rawDescData
+}
+
+var file_HuntingFailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingFailNotify_proto_goTypes = []interface{}{
+ (*HuntingFailNotify)(nil), // 0: proto.HuntingFailNotify
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+}
+var file_HuntingFailNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingFailNotify.hunting_pair:type_name -> proto.HuntingPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HuntingFailNotify_proto_init() }
+func file_HuntingFailNotify_proto_init() {
+ if File_HuntingFailNotify_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingFailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingFailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingFailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingFailNotify_proto_goTypes,
+ DependencyIndexes: file_HuntingFailNotify_proto_depIdxs,
+ MessageInfos: file_HuntingFailNotify_proto_msgTypes,
+ }.Build()
+ File_HuntingFailNotify_proto = out.File
+ file_HuntingFailNotify_proto_rawDesc = nil
+ file_HuntingFailNotify_proto_goTypes = nil
+ file_HuntingFailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingGiveUpReq.pb.go b/protocol/proto/HuntingGiveUpReq.pb.go
new file mode 100644
index 00000000..d8350276
--- /dev/null
+++ b/protocol/proto/HuntingGiveUpReq.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingGiveUpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4341
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type HuntingGiveUpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HuntingPair *HuntingPair `protobuf:"bytes,1,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+}
+
+func (x *HuntingGiveUpReq) Reset() {
+ *x = HuntingGiveUpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingGiveUpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingGiveUpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingGiveUpReq) ProtoMessage() {}
+
+func (x *HuntingGiveUpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingGiveUpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingGiveUpReq.ProtoReflect.Descriptor instead.
+func (*HuntingGiveUpReq) Descriptor() ([]byte, []int) {
+ return file_HuntingGiveUpReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingGiveUpReq) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+var File_HuntingGiveUpReq_proto protoreflect.FileDescriptor
+
+var file_HuntingGiveUpReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x69, 0x76, 0x65, 0x55, 0x70, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x10, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x69, 0x76,
+ 0x65, 0x55, 0x70, 0x52, 0x65, 0x71, 0x12, 0x35, 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e,
+ 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72,
+ 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_HuntingGiveUpReq_proto_rawDescOnce sync.Once
+ file_HuntingGiveUpReq_proto_rawDescData = file_HuntingGiveUpReq_proto_rawDesc
+)
+
+func file_HuntingGiveUpReq_proto_rawDescGZIP() []byte {
+ file_HuntingGiveUpReq_proto_rawDescOnce.Do(func() {
+ file_HuntingGiveUpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingGiveUpReq_proto_rawDescData)
+ })
+ return file_HuntingGiveUpReq_proto_rawDescData
+}
+
+var file_HuntingGiveUpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingGiveUpReq_proto_goTypes = []interface{}{
+ (*HuntingGiveUpReq)(nil), // 0: proto.HuntingGiveUpReq
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+}
+var file_HuntingGiveUpReq_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingGiveUpReq.hunting_pair:type_name -> proto.HuntingPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HuntingGiveUpReq_proto_init() }
+func file_HuntingGiveUpReq_proto_init() {
+ if File_HuntingGiveUpReq_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingGiveUpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingGiveUpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingGiveUpReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingGiveUpReq_proto_goTypes,
+ DependencyIndexes: file_HuntingGiveUpReq_proto_depIdxs,
+ MessageInfos: file_HuntingGiveUpReq_proto_msgTypes,
+ }.Build()
+ File_HuntingGiveUpReq_proto = out.File
+ file_HuntingGiveUpReq_proto_rawDesc = nil
+ file_HuntingGiveUpReq_proto_goTypes = nil
+ file_HuntingGiveUpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingGiveUpRsp.pb.go b/protocol/proto/HuntingGiveUpRsp.pb.go
new file mode 100644
index 00000000..a0843264
--- /dev/null
+++ b/protocol/proto/HuntingGiveUpRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingGiveUpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4342
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HuntingGiveUpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ HuntingPair *HuntingPair `protobuf:"bytes,4,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+}
+
+func (x *HuntingGiveUpRsp) Reset() {
+ *x = HuntingGiveUpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingGiveUpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingGiveUpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingGiveUpRsp) ProtoMessage() {}
+
+func (x *HuntingGiveUpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingGiveUpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingGiveUpRsp.ProtoReflect.Descriptor instead.
+func (*HuntingGiveUpRsp) Descriptor() ([]byte, []int) {
+ return file_HuntingGiveUpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingGiveUpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *HuntingGiveUpRsp) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+var File_HuntingGiveUpRsp_proto protoreflect.FileDescriptor
+
+var file_HuntingGiveUpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x69, 0x76, 0x65, 0x55, 0x70, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x10, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x47, 0x69, 0x76,
+ 0x65, 0x55, 0x70, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x35, 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
+ 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingGiveUpRsp_proto_rawDescOnce sync.Once
+ file_HuntingGiveUpRsp_proto_rawDescData = file_HuntingGiveUpRsp_proto_rawDesc
+)
+
+func file_HuntingGiveUpRsp_proto_rawDescGZIP() []byte {
+ file_HuntingGiveUpRsp_proto_rawDescOnce.Do(func() {
+ file_HuntingGiveUpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingGiveUpRsp_proto_rawDescData)
+ })
+ return file_HuntingGiveUpRsp_proto_rawDescData
+}
+
+var file_HuntingGiveUpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingGiveUpRsp_proto_goTypes = []interface{}{
+ (*HuntingGiveUpRsp)(nil), // 0: proto.HuntingGiveUpRsp
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+}
+var file_HuntingGiveUpRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingGiveUpRsp.hunting_pair:type_name -> proto.HuntingPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HuntingGiveUpRsp_proto_init() }
+func file_HuntingGiveUpRsp_proto_init() {
+ if File_HuntingGiveUpRsp_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingGiveUpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingGiveUpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingGiveUpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingGiveUpRsp_proto_goTypes,
+ DependencyIndexes: file_HuntingGiveUpRsp_proto_depIdxs,
+ MessageInfos: file_HuntingGiveUpRsp_proto_msgTypes,
+ }.Build()
+ File_HuntingGiveUpRsp_proto = out.File
+ file_HuntingGiveUpRsp_proto_rawDesc = nil
+ file_HuntingGiveUpRsp_proto_goTypes = nil
+ file_HuntingGiveUpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingOfferData.pb.go b/protocol/proto/HuntingOfferData.pb.go
new file mode 100644
index 00000000..a630d201
--- /dev/null
+++ b/protocol/proto/HuntingOfferData.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingOfferData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HuntingOfferData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HuntingPair *HuntingPair `protobuf:"bytes,4,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+ CityId uint32 `protobuf:"varint,8,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ State HuntingOfferState `protobuf:"varint,1,opt,name=state,proto3,enum=proto.HuntingOfferState" json:"state,omitempty"`
+}
+
+func (x *HuntingOfferData) Reset() {
+ *x = HuntingOfferData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingOfferData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingOfferData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingOfferData) ProtoMessage() {}
+
+func (x *HuntingOfferData) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingOfferData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingOfferData.ProtoReflect.Descriptor instead.
+func (*HuntingOfferData) Descriptor() ([]byte, []int) {
+ return file_HuntingOfferData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingOfferData) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+func (x *HuntingOfferData) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *HuntingOfferData) GetState() HuntingOfferState {
+ if x != nil {
+ return x.State
+ }
+ return HuntingOfferState_HUNTING_OFFER_STATE_NONE
+}
+
+var File_HuntingOfferData_proto protoreflect.FileDescriptor
+
+var file_HuntingOfferData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x17, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e,
+ 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x10,
+ 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x35, 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
+ 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f,
+ 0x66, 0x66, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingOfferData_proto_rawDescOnce sync.Once
+ file_HuntingOfferData_proto_rawDescData = file_HuntingOfferData_proto_rawDesc
+)
+
+func file_HuntingOfferData_proto_rawDescGZIP() []byte {
+ file_HuntingOfferData_proto_rawDescOnce.Do(func() {
+ file_HuntingOfferData_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingOfferData_proto_rawDescData)
+ })
+ return file_HuntingOfferData_proto_rawDescData
+}
+
+var file_HuntingOfferData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingOfferData_proto_goTypes = []interface{}{
+ (*HuntingOfferData)(nil), // 0: proto.HuntingOfferData
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+ (HuntingOfferState)(0), // 2: proto.HuntingOfferState
+}
+var file_HuntingOfferData_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingOfferData.hunting_pair:type_name -> proto.HuntingPair
+ 2, // 1: proto.HuntingOfferData.state:type_name -> proto.HuntingOfferState
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HuntingOfferData_proto_init() }
+func file_HuntingOfferData_proto_init() {
+ if File_HuntingOfferData_proto != nil {
+ return
+ }
+ file_HuntingOfferState_proto_init()
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingOfferData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingOfferData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingOfferData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingOfferData_proto_goTypes,
+ DependencyIndexes: file_HuntingOfferData_proto_depIdxs,
+ MessageInfos: file_HuntingOfferData_proto_msgTypes,
+ }.Build()
+ File_HuntingOfferData_proto = out.File
+ file_HuntingOfferData_proto_rawDesc = nil
+ file_HuntingOfferData_proto_goTypes = nil
+ file_HuntingOfferData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingOfferState.pb.go b/protocol/proto/HuntingOfferState.pb.go
new file mode 100644
index 00000000..d208ffbc
--- /dev/null
+++ b/protocol/proto/HuntingOfferState.pb.go
@@ -0,0 +1,156 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingOfferState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HuntingOfferState int32
+
+const (
+ HuntingOfferState_HUNTING_OFFER_STATE_NONE HuntingOfferState = 0
+ HuntingOfferState_HUNTING_OFFER_STATE_STARTED HuntingOfferState = 1
+ HuntingOfferState_HUNTING_OFFER_STATE_UNSTARTED HuntingOfferState = 2
+ HuntingOfferState_HUNTING_OFFER_STATE_SUCC HuntingOfferState = 3
+)
+
+// Enum value maps for HuntingOfferState.
+var (
+ HuntingOfferState_name = map[int32]string{
+ 0: "HUNTING_OFFER_STATE_NONE",
+ 1: "HUNTING_OFFER_STATE_STARTED",
+ 2: "HUNTING_OFFER_STATE_UNSTARTED",
+ 3: "HUNTING_OFFER_STATE_SUCC",
+ }
+ HuntingOfferState_value = map[string]int32{
+ "HUNTING_OFFER_STATE_NONE": 0,
+ "HUNTING_OFFER_STATE_STARTED": 1,
+ "HUNTING_OFFER_STATE_UNSTARTED": 2,
+ "HUNTING_OFFER_STATE_SUCC": 3,
+ }
+)
+
+func (x HuntingOfferState) Enum() *HuntingOfferState {
+ p := new(HuntingOfferState)
+ *p = x
+ return p
+}
+
+func (x HuntingOfferState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (HuntingOfferState) Descriptor() protoreflect.EnumDescriptor {
+ return file_HuntingOfferState_proto_enumTypes[0].Descriptor()
+}
+
+func (HuntingOfferState) Type() protoreflect.EnumType {
+ return &file_HuntingOfferState_proto_enumTypes[0]
+}
+
+func (x HuntingOfferState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use HuntingOfferState.Descriptor instead.
+func (HuntingOfferState) EnumDescriptor() ([]byte, []int) {
+ return file_HuntingOfferState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_HuntingOfferState_proto protoreflect.FileDescriptor
+
+var file_HuntingOfferState_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2a, 0x93, 0x01, 0x0a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65,
+ 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x55, 0x4e, 0x54, 0x49, 0x4e,
+ 0x47, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x48, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f,
+ 0x4f, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52,
+ 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x48, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47,
+ 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53,
+ 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x55, 0x4e, 0x54,
+ 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x53, 0x55, 0x43, 0x43, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingOfferState_proto_rawDescOnce sync.Once
+ file_HuntingOfferState_proto_rawDescData = file_HuntingOfferState_proto_rawDesc
+)
+
+func file_HuntingOfferState_proto_rawDescGZIP() []byte {
+ file_HuntingOfferState_proto_rawDescOnce.Do(func() {
+ file_HuntingOfferState_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingOfferState_proto_rawDescData)
+ })
+ return file_HuntingOfferState_proto_rawDescData
+}
+
+var file_HuntingOfferState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_HuntingOfferState_proto_goTypes = []interface{}{
+ (HuntingOfferState)(0), // 0: proto.HuntingOfferState
+}
+var file_HuntingOfferState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HuntingOfferState_proto_init() }
+func file_HuntingOfferState_proto_init() {
+ if File_HuntingOfferState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingOfferState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingOfferState_proto_goTypes,
+ DependencyIndexes: file_HuntingOfferState_proto_depIdxs,
+ EnumInfos: file_HuntingOfferState_proto_enumTypes,
+ }.Build()
+ File_HuntingOfferState_proto = out.File
+ file_HuntingOfferState_proto_rawDesc = nil
+ file_HuntingOfferState_proto_goTypes = nil
+ file_HuntingOfferState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingOngoingNotify.pb.go b/protocol/proto/HuntingOngoingNotify.pb.go
new file mode 100644
index 00000000..2a437ee7
--- /dev/null
+++ b/protocol/proto/HuntingOngoingNotify.pb.go
@@ -0,0 +1,223 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingOngoingNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4345
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HuntingOngoingNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HuntingPair *HuntingPair `protobuf:"bytes,15,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+ IsStarted bool `protobuf:"varint,8,opt,name=is_started,json=isStarted,proto3" json:"is_started,omitempty"`
+ NextPosition *Vector `protobuf:"bytes,3,opt,name=next_position,json=nextPosition,proto3" json:"next_position,omitempty"`
+ FinishClueCount uint32 `protobuf:"varint,10,opt,name=finish_clue_count,json=finishClueCount,proto3" json:"finish_clue_count,omitempty"`
+ IsFinal bool `protobuf:"varint,14,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
+ FailTime uint32 `protobuf:"varint,7,opt,name=fail_time,json=failTime,proto3" json:"fail_time,omitempty"`
+}
+
+func (x *HuntingOngoingNotify) Reset() {
+ *x = HuntingOngoingNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingOngoingNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingOngoingNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingOngoingNotify) ProtoMessage() {}
+
+func (x *HuntingOngoingNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingOngoingNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingOngoingNotify.ProtoReflect.Descriptor instead.
+func (*HuntingOngoingNotify) Descriptor() ([]byte, []int) {
+ return file_HuntingOngoingNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingOngoingNotify) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+func (x *HuntingOngoingNotify) GetIsStarted() bool {
+ if x != nil {
+ return x.IsStarted
+ }
+ return false
+}
+
+func (x *HuntingOngoingNotify) GetNextPosition() *Vector {
+ if x != nil {
+ return x.NextPosition
+ }
+ return nil
+}
+
+func (x *HuntingOngoingNotify) GetFinishClueCount() uint32 {
+ if x != nil {
+ return x.FinishClueCount
+ }
+ return 0
+}
+
+func (x *HuntingOngoingNotify) GetIsFinal() bool {
+ if x != nil {
+ return x.IsFinal
+ }
+ return false
+}
+
+func (x *HuntingOngoingNotify) GetFailTime() uint32 {
+ if x != nil {
+ return x.FailTime
+ }
+ return 0
+}
+
+var File_HuntingOngoingNotify_proto protoreflect.FileDescriptor
+
+var file_HuntingOngoingNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x02, 0x0a, 0x14, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x4f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a,
+ 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x50, 0x61, 0x69, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x50,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x5f, 0x63, 0x6c, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x75, 0x65, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1b,
+ 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingOngoingNotify_proto_rawDescOnce sync.Once
+ file_HuntingOngoingNotify_proto_rawDescData = file_HuntingOngoingNotify_proto_rawDesc
+)
+
+func file_HuntingOngoingNotify_proto_rawDescGZIP() []byte {
+ file_HuntingOngoingNotify_proto_rawDescOnce.Do(func() {
+ file_HuntingOngoingNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingOngoingNotify_proto_rawDescData)
+ })
+ return file_HuntingOngoingNotify_proto_rawDescData
+}
+
+var file_HuntingOngoingNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingOngoingNotify_proto_goTypes = []interface{}{
+ (*HuntingOngoingNotify)(nil), // 0: proto.HuntingOngoingNotify
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_HuntingOngoingNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingOngoingNotify.hunting_pair:type_name -> proto.HuntingPair
+ 2, // 1: proto.HuntingOngoingNotify.next_position:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HuntingOngoingNotify_proto_init() }
+func file_HuntingOngoingNotify_proto_init() {
+ if File_HuntingOngoingNotify_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingOngoingNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingOngoingNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingOngoingNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingOngoingNotify_proto_goTypes,
+ DependencyIndexes: file_HuntingOngoingNotify_proto_depIdxs,
+ MessageInfos: file_HuntingOngoingNotify_proto_msgTypes,
+ }.Build()
+ File_HuntingOngoingNotify_proto = out.File
+ file_HuntingOngoingNotify_proto_rawDesc = nil
+ file_HuntingOngoingNotify_proto_goTypes = nil
+ file_HuntingOngoingNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingPair.pb.go b/protocol/proto/HuntingPair.pb.go
new file mode 100644
index 00000000..2246e060
--- /dev/null
+++ b/protocol/proto/HuntingPair.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingPair.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type HuntingPair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RefreshId uint32 `protobuf:"varint,9,opt,name=refresh_id,json=refreshId,proto3" json:"refresh_id,omitempty"`
+ MonsterConfigId uint32 `protobuf:"varint,4,opt,name=monster_config_id,json=monsterConfigId,proto3" json:"monster_config_id,omitempty"`
+}
+
+func (x *HuntingPair) Reset() {
+ *x = HuntingPair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingPair_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingPair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingPair) ProtoMessage() {}
+
+func (x *HuntingPair) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingPair_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingPair.ProtoReflect.Descriptor instead.
+func (*HuntingPair) Descriptor() ([]byte, []int) {
+ return file_HuntingPair_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingPair) GetRefreshId() uint32 {
+ if x != nil {
+ return x.RefreshId
+ }
+ return 0
+}
+
+func (x *HuntingPair) GetMonsterConfigId() uint32 {
+ if x != nil {
+ return x.MonsterConfigId
+ }
+ return 0
+}
+
+var File_HuntingPair_proto protoreflect.FileDescriptor
+
+var file_HuntingPair_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x0b, 0x48, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72,
+ 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingPair_proto_rawDescOnce sync.Once
+ file_HuntingPair_proto_rawDescData = file_HuntingPair_proto_rawDesc
+)
+
+func file_HuntingPair_proto_rawDescGZIP() []byte {
+ file_HuntingPair_proto_rawDescOnce.Do(func() {
+ file_HuntingPair_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingPair_proto_rawDescData)
+ })
+ return file_HuntingPair_proto_rawDescData
+}
+
+var file_HuntingPair_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingPair_proto_goTypes = []interface{}{
+ (*HuntingPair)(nil), // 0: proto.HuntingPair
+}
+var file_HuntingPair_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_HuntingPair_proto_init() }
+func file_HuntingPair_proto_init() {
+ if File_HuntingPair_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingPair_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingPair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingPair_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingPair_proto_goTypes,
+ DependencyIndexes: file_HuntingPair_proto_depIdxs,
+ MessageInfos: file_HuntingPair_proto_msgTypes,
+ }.Build()
+ File_HuntingPair_proto = out.File
+ file_HuntingPair_proto_rawDesc = nil
+ file_HuntingPair_proto_goTypes = nil
+ file_HuntingPair_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingRevealClueNotify.pb.go b/protocol/proto/HuntingRevealClueNotify.pb.go
new file mode 100644
index 00000000..8cdbb38c
--- /dev/null
+++ b/protocol/proto/HuntingRevealClueNotify.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingRevealClueNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4322
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HuntingRevealClueNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishClueCount uint32 `protobuf:"varint,5,opt,name=finish_clue_count,json=finishClueCount,proto3" json:"finish_clue_count,omitempty"`
+ CluePosition *Vector `protobuf:"bytes,4,opt,name=clue_position,json=cluePosition,proto3" json:"clue_position,omitempty"`
+ HuntingPair *HuntingPair `protobuf:"bytes,12,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+ FinishedGroupId uint32 `protobuf:"varint,7,opt,name=finished_group_id,json=finishedGroupId,proto3" json:"finished_group_id,omitempty"`
+}
+
+func (x *HuntingRevealClueNotify) Reset() {
+ *x = HuntingRevealClueNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingRevealClueNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingRevealClueNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingRevealClueNotify) ProtoMessage() {}
+
+func (x *HuntingRevealClueNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingRevealClueNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingRevealClueNotify.ProtoReflect.Descriptor instead.
+func (*HuntingRevealClueNotify) Descriptor() ([]byte, []int) {
+ return file_HuntingRevealClueNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingRevealClueNotify) GetFinishClueCount() uint32 {
+ if x != nil {
+ return x.FinishClueCount
+ }
+ return 0
+}
+
+func (x *HuntingRevealClueNotify) GetCluePosition() *Vector {
+ if x != nil {
+ return x.CluePosition
+ }
+ return nil
+}
+
+func (x *HuntingRevealClueNotify) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+func (x *HuntingRevealClueNotify) GetFinishedGroupId() uint32 {
+ if x != nil {
+ return x.FinishedGroupId
+ }
+ return 0
+}
+
+var File_HuntingRevealClueNotify_proto protoreflect.FileDescriptor
+
+var file_HuntingRevealClueNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x43,
+ 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50,
+ 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x01, 0x0a, 0x17, 0x48, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6c,
+ 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x6c, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x32, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70,
+ 0x61, 0x69, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68,
+ 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x47,
+ 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingRevealClueNotify_proto_rawDescOnce sync.Once
+ file_HuntingRevealClueNotify_proto_rawDescData = file_HuntingRevealClueNotify_proto_rawDesc
+)
+
+func file_HuntingRevealClueNotify_proto_rawDescGZIP() []byte {
+ file_HuntingRevealClueNotify_proto_rawDescOnce.Do(func() {
+ file_HuntingRevealClueNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingRevealClueNotify_proto_rawDescData)
+ })
+ return file_HuntingRevealClueNotify_proto_rawDescData
+}
+
+var file_HuntingRevealClueNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingRevealClueNotify_proto_goTypes = []interface{}{
+ (*HuntingRevealClueNotify)(nil), // 0: proto.HuntingRevealClueNotify
+ (*Vector)(nil), // 1: proto.Vector
+ (*HuntingPair)(nil), // 2: proto.HuntingPair
+}
+var file_HuntingRevealClueNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingRevealClueNotify.clue_position:type_name -> proto.Vector
+ 2, // 1: proto.HuntingRevealClueNotify.hunting_pair:type_name -> proto.HuntingPair
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HuntingRevealClueNotify_proto_init() }
+func file_HuntingRevealClueNotify_proto_init() {
+ if File_HuntingRevealClueNotify_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingRevealClueNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingRevealClueNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingRevealClueNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingRevealClueNotify_proto_goTypes,
+ DependencyIndexes: file_HuntingRevealClueNotify_proto_depIdxs,
+ MessageInfos: file_HuntingRevealClueNotify_proto_msgTypes,
+ }.Build()
+ File_HuntingRevealClueNotify_proto = out.File
+ file_HuntingRevealClueNotify_proto_rawDesc = nil
+ file_HuntingRevealClueNotify_proto_goTypes = nil
+ file_HuntingRevealClueNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingRevealFinalNotify.pb.go b/protocol/proto/HuntingRevealFinalNotify.pb.go
new file mode 100644
index 00000000..7983ff92
--- /dev/null
+++ b/protocol/proto/HuntingRevealFinalNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingRevealFinalNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4344
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HuntingRevealFinalNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedGroupId uint32 `protobuf:"varint,5,opt,name=finished_group_id,json=finishedGroupId,proto3" json:"finished_group_id,omitempty"`
+ HuntingPair *HuntingPair `protobuf:"bytes,11,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+ FinalPosition *Vector `protobuf:"bytes,2,opt,name=final_position,json=finalPosition,proto3" json:"final_position,omitempty"`
+}
+
+func (x *HuntingRevealFinalNotify) Reset() {
+ *x = HuntingRevealFinalNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingRevealFinalNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingRevealFinalNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingRevealFinalNotify) ProtoMessage() {}
+
+func (x *HuntingRevealFinalNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingRevealFinalNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingRevealFinalNotify.ProtoReflect.Descriptor instead.
+func (*HuntingRevealFinalNotify) Descriptor() ([]byte, []int) {
+ return file_HuntingRevealFinalNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingRevealFinalNotify) GetFinishedGroupId() uint32 {
+ if x != nil {
+ return x.FinishedGroupId
+ }
+ return 0
+}
+
+func (x *HuntingRevealFinalNotify) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+func (x *HuntingRevealFinalNotify) GetFinalPosition() *Vector {
+ if x != nil {
+ return x.FinalPosition
+ }
+ return nil
+}
+
+var File_HuntingRevealFinalNotify_proto protoreflect.FileDescriptor
+
+var file_HuntingRevealFinalNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x46,
+ 0x69, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x01, 0x0a, 0x18, 0x48, 0x75, 0x6e,
+ 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49,
+ 0x64, 0x12, 0x35, 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69,
+ 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e,
+ 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x12, 0x34, 0x0a, 0x0e, 0x66, 0x69, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x0d, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_HuntingRevealFinalNotify_proto_rawDescOnce sync.Once
+ file_HuntingRevealFinalNotify_proto_rawDescData = file_HuntingRevealFinalNotify_proto_rawDesc
+)
+
+func file_HuntingRevealFinalNotify_proto_rawDescGZIP() []byte {
+ file_HuntingRevealFinalNotify_proto_rawDescOnce.Do(func() {
+ file_HuntingRevealFinalNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingRevealFinalNotify_proto_rawDescData)
+ })
+ return file_HuntingRevealFinalNotify_proto_rawDescData
+}
+
+var file_HuntingRevealFinalNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingRevealFinalNotify_proto_goTypes = []interface{}{
+ (*HuntingRevealFinalNotify)(nil), // 0: proto.HuntingRevealFinalNotify
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_HuntingRevealFinalNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingRevealFinalNotify.hunting_pair:type_name -> proto.HuntingPair
+ 2, // 1: proto.HuntingRevealFinalNotify.final_position:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HuntingRevealFinalNotify_proto_init() }
+func file_HuntingRevealFinalNotify_proto_init() {
+ if File_HuntingRevealFinalNotify_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingRevealFinalNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingRevealFinalNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingRevealFinalNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingRevealFinalNotify_proto_goTypes,
+ DependencyIndexes: file_HuntingRevealFinalNotify_proto_depIdxs,
+ MessageInfos: file_HuntingRevealFinalNotify_proto_msgTypes,
+ }.Build()
+ File_HuntingRevealFinalNotify_proto = out.File
+ file_HuntingRevealFinalNotify_proto_rawDesc = nil
+ file_HuntingRevealFinalNotify_proto_goTypes = nil
+ file_HuntingRevealFinalNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingStartNotify.pb.go b/protocol/proto/HuntingStartNotify.pb.go
new file mode 100644
index 00000000..9d527ac8
--- /dev/null
+++ b/protocol/proto/HuntingStartNotify.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingStartNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4329
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HuntingStartNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CluePosition *Vector `protobuf:"bytes,4,opt,name=clue_position,json=cluePosition,proto3" json:"clue_position,omitempty"`
+ FailTime uint32 `protobuf:"varint,15,opt,name=fail_time,json=failTime,proto3" json:"fail_time,omitempty"`
+ HuntingPair *HuntingPair `protobuf:"bytes,3,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+ IsFinal bool `protobuf:"varint,8,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
+}
+
+func (x *HuntingStartNotify) Reset() {
+ *x = HuntingStartNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingStartNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingStartNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingStartNotify) ProtoMessage() {}
+
+func (x *HuntingStartNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingStartNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingStartNotify.ProtoReflect.Descriptor instead.
+func (*HuntingStartNotify) Descriptor() ([]byte, []int) {
+ return file_HuntingStartNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingStartNotify) GetCluePosition() *Vector {
+ if x != nil {
+ return x.CluePosition
+ }
+ return nil
+}
+
+func (x *HuntingStartNotify) GetFailTime() uint32 {
+ if x != nil {
+ return x.FailTime
+ }
+ return 0
+}
+
+func (x *HuntingStartNotify) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+func (x *HuntingStartNotify) GetIsFinal() bool {
+ if x != nil {
+ return x.IsFinal
+ }
+ return false
+}
+
+var File_HuntingStartNotify_proto protoreflect.FileDescriptor
+
+var file_HuntingStartNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x12, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x32, 0x0a, 0x0d, 0x63, 0x6c, 0x75,
+ 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x0c, 0x63, 0x6c, 0x75, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a,
+ 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x68, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69,
+ 0x72, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingStartNotify_proto_rawDescOnce sync.Once
+ file_HuntingStartNotify_proto_rawDescData = file_HuntingStartNotify_proto_rawDesc
+)
+
+func file_HuntingStartNotify_proto_rawDescGZIP() []byte {
+ file_HuntingStartNotify_proto_rawDescOnce.Do(func() {
+ file_HuntingStartNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingStartNotify_proto_rawDescData)
+ })
+ return file_HuntingStartNotify_proto_rawDescData
+}
+
+var file_HuntingStartNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingStartNotify_proto_goTypes = []interface{}{
+ (*HuntingStartNotify)(nil), // 0: proto.HuntingStartNotify
+ (*Vector)(nil), // 1: proto.Vector
+ (*HuntingPair)(nil), // 2: proto.HuntingPair
+}
+var file_HuntingStartNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingStartNotify.clue_position:type_name -> proto.Vector
+ 2, // 1: proto.HuntingStartNotify.hunting_pair:type_name -> proto.HuntingPair
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_HuntingStartNotify_proto_init() }
+func file_HuntingStartNotify_proto_init() {
+ if File_HuntingStartNotify_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingStartNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingStartNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingStartNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingStartNotify_proto_goTypes,
+ DependencyIndexes: file_HuntingStartNotify_proto_depIdxs,
+ MessageInfos: file_HuntingStartNotify_proto_msgTypes,
+ }.Build()
+ File_HuntingStartNotify_proto = out.File
+ file_HuntingStartNotify_proto_rawDesc = nil
+ file_HuntingStartNotify_proto_goTypes = nil
+ file_HuntingStartNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/HuntingSuccessNotify.pb.go b/protocol/proto/HuntingSuccessNotify.pb.go
new file mode 100644
index 00000000..937ecba2
--- /dev/null
+++ b/protocol/proto/HuntingSuccessNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: HuntingSuccessNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4349
+// EnetChannelId: 0
+// EnetIsReliable: true
+type HuntingSuccessNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HuntingPair *HuntingPair `protobuf:"bytes,4,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+}
+
+func (x *HuntingSuccessNotify) Reset() {
+ *x = HuntingSuccessNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_HuntingSuccessNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HuntingSuccessNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HuntingSuccessNotify) ProtoMessage() {}
+
+func (x *HuntingSuccessNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_HuntingSuccessNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HuntingSuccessNotify.ProtoReflect.Descriptor instead.
+func (*HuntingSuccessNotify) Descriptor() ([]byte, []int) {
+ return file_HuntingSuccessNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *HuntingSuccessNotify) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+var File_HuntingSuccessNotify_proto protoreflect.FileDescriptor
+
+var file_HuntingSuccessNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x14, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e,
+ 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35,
+ 0x0a, 0x0c, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e,
+ 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e,
+ 0x67, 0x50, 0x61, 0x69, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_HuntingSuccessNotify_proto_rawDescOnce sync.Once
+ file_HuntingSuccessNotify_proto_rawDescData = file_HuntingSuccessNotify_proto_rawDesc
+)
+
+func file_HuntingSuccessNotify_proto_rawDescGZIP() []byte {
+ file_HuntingSuccessNotify_proto_rawDescOnce.Do(func() {
+ file_HuntingSuccessNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_HuntingSuccessNotify_proto_rawDescData)
+ })
+ return file_HuntingSuccessNotify_proto_rawDescData
+}
+
+var file_HuntingSuccessNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_HuntingSuccessNotify_proto_goTypes = []interface{}{
+ (*HuntingSuccessNotify)(nil), // 0: proto.HuntingSuccessNotify
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+}
+var file_HuntingSuccessNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.HuntingSuccessNotify.hunting_pair:type_name -> proto.HuntingPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_HuntingSuccessNotify_proto_init() }
+func file_HuntingSuccessNotify_proto_init() {
+ if File_HuntingSuccessNotify_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_HuntingSuccessNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HuntingSuccessNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_HuntingSuccessNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_HuntingSuccessNotify_proto_goTypes,
+ DependencyIndexes: file_HuntingSuccessNotify_proto_depIdxs,
+ MessageInfos: file_HuntingSuccessNotify_proto_msgTypes,
+ }.Build()
+ File_HuntingSuccessNotify_proto = out.File
+ file_HuntingSuccessNotify_proto_rawDesc = nil
+ file_HuntingSuccessNotify_proto_goTypes = nil
+ file_HuntingSuccessNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleChessInfo.pb.go b/protocol/proto/InBattleChessInfo.pb.go
new file mode 100644
index 00000000..ab2f04b1
--- /dev/null
+++ b/protocol/proto/InBattleChessInfo.pb.go
@@ -0,0 +1,270 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleChessInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleChessInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BanCardTagList []uint32 `protobuf:"varint,2,rep,packed,name=ban_card_tag_list,json=banCardTagList,proto3" json:"ban_card_tag_list,omitempty"`
+ Round uint32 `protobuf:"varint,4,opt,name=round,proto3" json:"round,omitempty"`
+ SelectedCardInfoList []*ChessCardInfo `protobuf:"bytes,9,rep,name=selected_card_info_list,json=selectedCardInfoList,proto3" json:"selected_card_info_list,omitempty"`
+ MysteryInfo *ChessMysteryInfo `protobuf:"bytes,1,opt,name=mystery_info,json=mysteryInfo,proto3" json:"mystery_info,omitempty"`
+ PlayerInfoMap map[uint32]*ChessPlayerInfo `protobuf:"bytes,8,rep,name=player_info_map,json=playerInfoMap,proto3" json:"player_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ MaxEscapableMonsters uint32 `protobuf:"varint,6,opt,name=max_escapable_monsters,json=maxEscapableMonsters,proto3" json:"max_escapable_monsters,omitempty"`
+ EscapedMonsters uint32 `protobuf:"varint,12,opt,name=escaped_monsters,json=escapedMonsters,proto3" json:"escaped_monsters,omitempty"`
+ TotalRound uint32 `protobuf:"varint,14,opt,name=total_round,json=totalRound,proto3" json:"total_round,omitempty"`
+ LeftMonsters uint32 `protobuf:"varint,15,opt,name=left_monsters,json=leftMonsters,proto3" json:"left_monsters,omitempty"`
+}
+
+func (x *InBattleChessInfo) Reset() {
+ *x = InBattleChessInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleChessInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleChessInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleChessInfo) ProtoMessage() {}
+
+func (x *InBattleChessInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleChessInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleChessInfo.ProtoReflect.Descriptor instead.
+func (*InBattleChessInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleChessInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleChessInfo) GetBanCardTagList() []uint32 {
+ if x != nil {
+ return x.BanCardTagList
+ }
+ return nil
+}
+
+func (x *InBattleChessInfo) GetRound() uint32 {
+ if x != nil {
+ return x.Round
+ }
+ return 0
+}
+
+func (x *InBattleChessInfo) GetSelectedCardInfoList() []*ChessCardInfo {
+ if x != nil {
+ return x.SelectedCardInfoList
+ }
+ return nil
+}
+
+func (x *InBattleChessInfo) GetMysteryInfo() *ChessMysteryInfo {
+ if x != nil {
+ return x.MysteryInfo
+ }
+ return nil
+}
+
+func (x *InBattleChessInfo) GetPlayerInfoMap() map[uint32]*ChessPlayerInfo {
+ if x != nil {
+ return x.PlayerInfoMap
+ }
+ return nil
+}
+
+func (x *InBattleChessInfo) GetMaxEscapableMonsters() uint32 {
+ if x != nil {
+ return x.MaxEscapableMonsters
+ }
+ return 0
+}
+
+func (x *InBattleChessInfo) GetEscapedMonsters() uint32 {
+ if x != nil {
+ return x.EscapedMonsters
+ }
+ return 0
+}
+
+func (x *InBattleChessInfo) GetTotalRound() uint32 {
+ if x != nil {
+ return x.TotalRound
+ }
+ return 0
+}
+
+func (x *InBattleChessInfo) GetLeftMonsters() uint32 {
+ if x != nil {
+ return x.LeftMonsters
+ }
+ return 0
+}
+
+var File_InBattleChessInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleChessInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x13, 0x43, 0x68, 0x65, 0x73, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79, 0x73, 0x74,
+ 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x43,
+ 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x04, 0x0a, 0x11, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x11, 0x62, 0x61,
+ 0x6e, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x61, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x54, 0x61,
+ 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x4b, 0x0a, 0x17, 0x73,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x14, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x6d, 0x79, 0x73, 0x74,
+ 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79, 0x73, 0x74,
+ 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x79, 0x73, 0x74, 0x65, 0x72, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x53, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x68,
+ 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x61, 0x78,
+ 0x5f, 0x65, 0x73, 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x45, 0x73,
+ 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12,
+ 0x29, 0x0a, 0x10, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x73, 0x63, 0x61, 0x70,
+ 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c,
+ 0x65, 0x66, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73,
+ 0x1a, 0x58, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleChessInfo_proto_rawDescOnce sync.Once
+ file_InBattleChessInfo_proto_rawDescData = file_InBattleChessInfo_proto_rawDesc
+)
+
+func file_InBattleChessInfo_proto_rawDescGZIP() []byte {
+ file_InBattleChessInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleChessInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleChessInfo_proto_rawDescData)
+ })
+ return file_InBattleChessInfo_proto_rawDescData
+}
+
+var file_InBattleChessInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_InBattleChessInfo_proto_goTypes = []interface{}{
+ (*InBattleChessInfo)(nil), // 0: proto.InBattleChessInfo
+ nil, // 1: proto.InBattleChessInfo.PlayerInfoMapEntry
+ (*ChessCardInfo)(nil), // 2: proto.ChessCardInfo
+ (*ChessMysteryInfo)(nil), // 3: proto.ChessMysteryInfo
+ (*ChessPlayerInfo)(nil), // 4: proto.ChessPlayerInfo
+}
+var file_InBattleChessInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.InBattleChessInfo.selected_card_info_list:type_name -> proto.ChessCardInfo
+ 3, // 1: proto.InBattleChessInfo.mystery_info:type_name -> proto.ChessMysteryInfo
+ 1, // 2: proto.InBattleChessInfo.player_info_map:type_name -> proto.InBattleChessInfo.PlayerInfoMapEntry
+ 4, // 3: proto.InBattleChessInfo.PlayerInfoMapEntry.value:type_name -> proto.ChessPlayerInfo
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_InBattleChessInfo_proto_init() }
+func file_InBattleChessInfo_proto_init() {
+ if File_InBattleChessInfo_proto != nil {
+ return
+ }
+ file_ChessCardInfo_proto_init()
+ file_ChessMysteryInfo_proto_init()
+ file_ChessPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleChessInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleChessInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleChessInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleChessInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleChessInfo_proto_depIdxs,
+ MessageInfos: file_InBattleChessInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleChessInfo_proto = out.File
+ file_InBattleChessInfo_proto_rawDesc = nil
+ file_InBattleChessInfo_proto_goTypes = nil
+ file_InBattleChessInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleChessSettleInfo.pb.go b/protocol/proto/InBattleChessSettleInfo.pb.go
new file mode 100644
index 00000000..38faa425
--- /dev/null
+++ b/protocol/proto/InBattleChessSettleInfo.pb.go
@@ -0,0 +1,227 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleChessSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleChessSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSuccess bool `protobuf:"varint,7,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ ChessExp uint32 `protobuf:"varint,11,opt,name=chess_exp,json=chessExp,proto3" json:"chess_exp,omitempty"`
+ ChessLevel uint32 `protobuf:"varint,13,opt,name=chess_level,json=chessLevel,proto3" json:"chess_level,omitempty"`
+ OldChessLevel uint32 `protobuf:"varint,10,opt,name=old_chess_level,json=oldChessLevel,proto3" json:"old_chess_level,omitempty"`
+ ScoreList []*ExhibitionDisplayInfo `protobuf:"bytes,1,rep,name=score_list,json=scoreList,proto3" json:"score_list,omitempty"`
+ SceneTimeMs uint64 `protobuf:"varint,14,opt,name=scene_time_ms,json=sceneTimeMs,proto3" json:"scene_time_ms,omitempty"`
+ OldChessExp uint32 `protobuf:"varint,2,opt,name=old_chess_exp,json=oldChessExp,proto3" json:"old_chess_exp,omitempty"`
+}
+
+func (x *InBattleChessSettleInfo) Reset() {
+ *x = InBattleChessSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleChessSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleChessSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleChessSettleInfo) ProtoMessage() {}
+
+func (x *InBattleChessSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleChessSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleChessSettleInfo.ProtoReflect.Descriptor instead.
+func (*InBattleChessSettleInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleChessSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleChessSettleInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *InBattleChessSettleInfo) GetChessExp() uint32 {
+ if x != nil {
+ return x.ChessExp
+ }
+ return 0
+}
+
+func (x *InBattleChessSettleInfo) GetChessLevel() uint32 {
+ if x != nil {
+ return x.ChessLevel
+ }
+ return 0
+}
+
+func (x *InBattleChessSettleInfo) GetOldChessLevel() uint32 {
+ if x != nil {
+ return x.OldChessLevel
+ }
+ return 0
+}
+
+func (x *InBattleChessSettleInfo) GetScoreList() []*ExhibitionDisplayInfo {
+ if x != nil {
+ return x.ScoreList
+ }
+ return nil
+}
+
+func (x *InBattleChessSettleInfo) GetSceneTimeMs() uint64 {
+ if x != nil {
+ return x.SceneTimeMs
+ }
+ return 0
+}
+
+func (x *InBattleChessSettleInfo) GetOldChessExp() uint32 {
+ if x != nil {
+ return x.OldChessExp
+ }
+ return 0
+}
+
+var File_InBattleChessSettleInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleChessSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x68, 0x65, 0x73, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
+ 0x68, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x63, 0x68, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f,
+ 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c,
+ 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+ 0x6d, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x68, 0x65,
+ 0x73, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x6c,
+ 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleChessSettleInfo_proto_rawDescOnce sync.Once
+ file_InBattleChessSettleInfo_proto_rawDescData = file_InBattleChessSettleInfo_proto_rawDesc
+)
+
+func file_InBattleChessSettleInfo_proto_rawDescGZIP() []byte {
+ file_InBattleChessSettleInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleChessSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleChessSettleInfo_proto_rawDescData)
+ })
+ return file_InBattleChessSettleInfo_proto_rawDescData
+}
+
+var file_InBattleChessSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleChessSettleInfo_proto_goTypes = []interface{}{
+ (*InBattleChessSettleInfo)(nil), // 0: proto.InBattleChessSettleInfo
+ (*ExhibitionDisplayInfo)(nil), // 1: proto.ExhibitionDisplayInfo
+}
+var file_InBattleChessSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InBattleChessSettleInfo.score_list:type_name -> proto.ExhibitionDisplayInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InBattleChessSettleInfo_proto_init() }
+func file_InBattleChessSettleInfo_proto_init() {
+ if File_InBattleChessSettleInfo_proto != nil {
+ return
+ }
+ file_ExhibitionDisplayInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleChessSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleChessSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleChessSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleChessSettleInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleChessSettleInfo_proto_depIdxs,
+ MessageInfos: file_InBattleChessSettleInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleChessSettleInfo_proto = out.File
+ file_InBattleChessSettleInfo_proto_rawDesc = nil
+ file_InBattleChessSettleInfo_proto_goTypes = nil
+ file_InBattleChessSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleFleurFairInfo.pb.go b/protocol/proto/InBattleFleurFairInfo.pb.go
new file mode 100644
index 00000000..17774721
--- /dev/null
+++ b/protocol/proto/InBattleFleurFairInfo.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleFleurFairInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleFleurFairInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryIdList []uint32 `protobuf:"varint,5,rep,packed,name=gallery_id_list,json=galleryIdList,proto3" json:"gallery_id_list,omitempty"`
+ GalleryStageIndex uint32 `protobuf:"varint,6,opt,name=gallery_stage_index,json=galleryStageIndex,proto3" json:"gallery_stage_index,omitempty"`
+ PreviewStageIndex uint32 `protobuf:"varint,8,opt,name=preview_stage_index,json=previewStageIndex,proto3" json:"preview_stage_index,omitempty"`
+ AbilityGroupIdList []uint32 `protobuf:"varint,2,rep,packed,name=ability_group_id_list,json=abilityGroupIdList,proto3" json:"ability_group_id_list,omitempty"`
+ PreviewDisplayDuration uint32 `protobuf:"varint,12,opt,name=preview_display_duration,json=previewDisplayDuration,proto3" json:"preview_display_duration,omitempty"`
+}
+
+func (x *InBattleFleurFairInfo) Reset() {
+ *x = InBattleFleurFairInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleFleurFairInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleFleurFairInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleFleurFairInfo) ProtoMessage() {}
+
+func (x *InBattleFleurFairInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleFleurFairInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleFleurFairInfo.ProtoReflect.Descriptor instead.
+func (*InBattleFleurFairInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleFleurFairInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleFleurFairInfo) GetGalleryIdList() []uint32 {
+ if x != nil {
+ return x.GalleryIdList
+ }
+ return nil
+}
+
+func (x *InBattleFleurFairInfo) GetGalleryStageIndex() uint32 {
+ if x != nil {
+ return x.GalleryStageIndex
+ }
+ return 0
+}
+
+func (x *InBattleFleurFairInfo) GetPreviewStageIndex() uint32 {
+ if x != nil {
+ return x.PreviewStageIndex
+ }
+ return 0
+}
+
+func (x *InBattleFleurFairInfo) GetAbilityGroupIdList() []uint32 {
+ if x != nil {
+ return x.AbilityGroupIdList
+ }
+ return nil
+}
+
+func (x *InBattleFleurFairInfo) GetPreviewDisplayDuration() uint32 {
+ if x != nil {
+ return x.PreviewDisplayDuration
+ }
+ return 0
+}
+
+var File_InBattleFleurFairInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleFleurFairInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46,
+ 0x61, 0x69, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26,
+ 0x0a, 0x0f, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65,
+ 0x77, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x72, 0x65,
+ 0x76, 0x69, 0x65, 0x77, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x75, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x70, 0x72, 0x65,
+ 0x76, 0x69, 0x65, 0x77, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleFleurFairInfo_proto_rawDescOnce sync.Once
+ file_InBattleFleurFairInfo_proto_rawDescData = file_InBattleFleurFairInfo_proto_rawDesc
+)
+
+func file_InBattleFleurFairInfo_proto_rawDescGZIP() []byte {
+ file_InBattleFleurFairInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleFleurFairInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleFleurFairInfo_proto_rawDescData)
+ })
+ return file_InBattleFleurFairInfo_proto_rawDescData
+}
+
+var file_InBattleFleurFairInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleFleurFairInfo_proto_goTypes = []interface{}{
+ (*InBattleFleurFairInfo)(nil), // 0: proto.InBattleFleurFairInfo
+}
+var file_InBattleFleurFairInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleFleurFairInfo_proto_init() }
+func file_InBattleFleurFairInfo_proto_init() {
+ if File_InBattleFleurFairInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleFleurFairInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleFleurFairInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleFleurFairInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleFleurFairInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleFleurFairInfo_proto_depIdxs,
+ MessageInfos: file_InBattleFleurFairInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleFleurFairInfo_proto = out.File
+ file_InBattleFleurFairInfo_proto_rawDesc = nil
+ file_InBattleFleurFairInfo_proto_goTypes = nil
+ file_InBattleFleurFairInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleIrodoriChessSettleInfo.pb.go b/protocol/proto/InBattleIrodoriChessSettleInfo.pb.go
new file mode 100644
index 00000000..08e7a893
--- /dev/null
+++ b/protocol/proto/InBattleIrodoriChessSettleInfo.pb.go
@@ -0,0 +1,212 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleIrodoriChessSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleIrodoriChessSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,5,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ IsActivityEnd bool `protobuf:"varint,2,opt,name=is_activity_end,json=isActivityEnd,proto3" json:"is_activity_end,omitempty"`
+ SceneTimeMs uint64 `protobuf:"varint,1,opt,name=scene_time_ms,json=sceneTimeMs,proto3" json:"scene_time_ms,omitempty"`
+ SettleScore uint32 `protobuf:"varint,3,opt,name=settle_score,json=settleScore,proto3" json:"settle_score,omitempty"`
+ IsPerfect bool `protobuf:"varint,12,opt,name=is_perfect,json=isPerfect,proto3" json:"is_perfect,omitempty"`
+ KillMonsterNum uint32 `protobuf:"varint,7,opt,name=kill_monster_num,json=killMonsterNum,proto3" json:"kill_monster_num,omitempty"`
+}
+
+func (x *InBattleIrodoriChessSettleInfo) Reset() {
+ *x = InBattleIrodoriChessSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleIrodoriChessSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleIrodoriChessSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleIrodoriChessSettleInfo) ProtoMessage() {}
+
+func (x *InBattleIrodoriChessSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleIrodoriChessSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleIrodoriChessSettleInfo.ProtoReflect.Descriptor instead.
+func (*InBattleIrodoriChessSettleInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleIrodoriChessSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleIrodoriChessSettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *InBattleIrodoriChessSettleInfo) GetIsActivityEnd() bool {
+ if x != nil {
+ return x.IsActivityEnd
+ }
+ return false
+}
+
+func (x *InBattleIrodoriChessSettleInfo) GetSceneTimeMs() uint64 {
+ if x != nil {
+ return x.SceneTimeMs
+ }
+ return 0
+}
+
+func (x *InBattleIrodoriChessSettleInfo) GetSettleScore() uint32 {
+ if x != nil {
+ return x.SettleScore
+ }
+ return 0
+}
+
+func (x *InBattleIrodoriChessSettleInfo) GetIsPerfect() bool {
+ if x != nil {
+ return x.IsPerfect
+ }
+ return false
+}
+
+func (x *InBattleIrodoriChessSettleInfo) GetKillMonsterNum() uint32 {
+ if x != nil {
+ return x.KillMonsterNum
+ }
+ return 0
+}
+
+var File_InBattleIrodoriChessSettleInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleIrodoriChessSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72,
+ 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01,
+ 0x0a, 0x1e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72,
+ 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69,
+ 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d,
+ 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73,
+ 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x65, 0x63,
+ 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x65, 0x72, 0x66, 0x65,
+ 0x63, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleIrodoriChessSettleInfo_proto_rawDescOnce sync.Once
+ file_InBattleIrodoriChessSettleInfo_proto_rawDescData = file_InBattleIrodoriChessSettleInfo_proto_rawDesc
+)
+
+func file_InBattleIrodoriChessSettleInfo_proto_rawDescGZIP() []byte {
+ file_InBattleIrodoriChessSettleInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleIrodoriChessSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleIrodoriChessSettleInfo_proto_rawDescData)
+ })
+ return file_InBattleIrodoriChessSettleInfo_proto_rawDescData
+}
+
+var file_InBattleIrodoriChessSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleIrodoriChessSettleInfo_proto_goTypes = []interface{}{
+ (*InBattleIrodoriChessSettleInfo)(nil), // 0: proto.InBattleIrodoriChessSettleInfo
+}
+var file_InBattleIrodoriChessSettleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleIrodoriChessSettleInfo_proto_init() }
+func file_InBattleIrodoriChessSettleInfo_proto_init() {
+ if File_InBattleIrodoriChessSettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleIrodoriChessSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleIrodoriChessSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleIrodoriChessSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleIrodoriChessSettleInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleIrodoriChessSettleInfo_proto_depIdxs,
+ MessageInfos: file_InBattleIrodoriChessSettleInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleIrodoriChessSettleInfo_proto = out.File
+ file_InBattleIrodoriChessSettleInfo_proto_rawDesc = nil
+ file_InBattleIrodoriChessSettleInfo_proto_goTypes = nil
+ file_InBattleIrodoriChessSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusBuildingInfo.pb.go b/protocol/proto/InBattleMechanicusBuildingInfo.pb.go
new file mode 100644
index 00000000..16ceaf12
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusBuildingInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusBuildingInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleMechanicusBuildingInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuildingId uint32 `protobuf:"varint,8,opt,name=building_id,json=buildingId,proto3" json:"building_id,omitempty"`
+ Level uint32 `protobuf:"varint,7,opt,name=level,proto3" json:"level,omitempty"`
+ CostPoints uint32 `protobuf:"varint,2,opt,name=cost_points,json=costPoints,proto3" json:"cost_points,omitempty"`
+ RefundPoints uint32 `protobuf:"varint,11,opt,name=refund_points,json=refundPoints,proto3" json:"refund_points,omitempty"`
+}
+
+func (x *InBattleMechanicusBuildingInfo) Reset() {
+ *x = InBattleMechanicusBuildingInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusBuildingInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusBuildingInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusBuildingInfo) ProtoMessage() {}
+
+func (x *InBattleMechanicusBuildingInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusBuildingInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusBuildingInfo.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusBuildingInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusBuildingInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusBuildingInfo) GetBuildingId() uint32 {
+ if x != nil {
+ return x.BuildingId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusBuildingInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusBuildingInfo) GetCostPoints() uint32 {
+ if x != nil {
+ return x.CostPoints
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusBuildingInfo) GetRefundPoints() uint32 {
+ if x != nil {
+ return x.RefundPoints
+ }
+ return 0
+}
+
+var File_InBattleMechanicusBuildingInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusBuildingInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01,
+ 0x0a, 0x1e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49,
+ 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x5f,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f,
+ 0x73, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75,
+ 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_InBattleMechanicusBuildingInfo_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusBuildingInfo_proto_rawDescData = file_InBattleMechanicusBuildingInfo_proto_rawDesc
+)
+
+func file_InBattleMechanicusBuildingInfo_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusBuildingInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusBuildingInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusBuildingInfo_proto_rawDescData)
+ })
+ return file_InBattleMechanicusBuildingInfo_proto_rawDescData
+}
+
+var file_InBattleMechanicusBuildingInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusBuildingInfo_proto_goTypes = []interface{}{
+ (*InBattleMechanicusBuildingInfo)(nil), // 0: proto.InBattleMechanicusBuildingInfo
+}
+var file_InBattleMechanicusBuildingInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusBuildingInfo_proto_init() }
+func file_InBattleMechanicusBuildingInfo_proto_init() {
+ if File_InBattleMechanicusBuildingInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusBuildingInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusBuildingInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusBuildingInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusBuildingInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusBuildingInfo_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusBuildingInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusBuildingInfo_proto = out.File
+ file_InBattleMechanicusBuildingInfo_proto_rawDesc = nil
+ file_InBattleMechanicusBuildingInfo_proto_goTypes = nil
+ file_InBattleMechanicusBuildingInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusBuildingPointsNotify.pb.go b/protocol/proto/InBattleMechanicusBuildingPointsNotify.pb.go
new file mode 100644
index 00000000..e4e7114c
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusBuildingPointsNotify.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusBuildingPointsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5303
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusBuildingPointsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerBuildingPointsMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=player_building_points_map,json=playerBuildingPointsMap,proto3" json:"player_building_points_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *InBattleMechanicusBuildingPointsNotify) Reset() {
+ *x = InBattleMechanicusBuildingPointsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusBuildingPointsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusBuildingPointsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusBuildingPointsNotify) ProtoMessage() {}
+
+func (x *InBattleMechanicusBuildingPointsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusBuildingPointsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusBuildingPointsNotify.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusBuildingPointsNotify) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusBuildingPointsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusBuildingPointsNotify) GetPlayerBuildingPointsMap() map[uint32]uint32 {
+ if x != nil {
+ return x.PlayerBuildingPointsMap
+ }
+ return nil
+}
+
+var File_InBattleMechanicusBuildingPointsNotify_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusBuildingPointsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x01, 0x0a, 0x26, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x42, 0x75, 0x69, 0x6c,
+ 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x87, 0x01, 0x0a, 0x1a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x69, 0x6c,
+ 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73,
+ 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x64,
+ 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x17, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e,
+ 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4d, 0x61, 0x70, 0x1a, 0x4a, 0x0a, 0x1c, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x73, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusBuildingPointsNotify_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusBuildingPointsNotify_proto_rawDescData = file_InBattleMechanicusBuildingPointsNotify_proto_rawDesc
+)
+
+func file_InBattleMechanicusBuildingPointsNotify_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusBuildingPointsNotify_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusBuildingPointsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusBuildingPointsNotify_proto_rawDescData)
+ })
+ return file_InBattleMechanicusBuildingPointsNotify_proto_rawDescData
+}
+
+var file_InBattleMechanicusBuildingPointsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_InBattleMechanicusBuildingPointsNotify_proto_goTypes = []interface{}{
+ (*InBattleMechanicusBuildingPointsNotify)(nil), // 0: proto.InBattleMechanicusBuildingPointsNotify
+ nil, // 1: proto.InBattleMechanicusBuildingPointsNotify.PlayerBuildingPointsMapEntry
+}
+var file_InBattleMechanicusBuildingPointsNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.InBattleMechanicusBuildingPointsNotify.player_building_points_map:type_name -> proto.InBattleMechanicusBuildingPointsNotify.PlayerBuildingPointsMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusBuildingPointsNotify_proto_init() }
+func file_InBattleMechanicusBuildingPointsNotify_proto_init() {
+ if File_InBattleMechanicusBuildingPointsNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusBuildingPointsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusBuildingPointsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusBuildingPointsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusBuildingPointsNotify_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusBuildingPointsNotify_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusBuildingPointsNotify_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusBuildingPointsNotify_proto = out.File
+ file_InBattleMechanicusBuildingPointsNotify_proto_rawDesc = nil
+ file_InBattleMechanicusBuildingPointsNotify_proto_goTypes = nil
+ file_InBattleMechanicusBuildingPointsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusCardChallengeState.pb.go b/protocol/proto/InBattleMechanicusCardChallengeState.pb.go
new file mode 100644
index 00000000..32d7bbeb
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusCardChallengeState.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusCardChallengeState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleMechanicusCardChallengeState int32
+
+const (
+ InBattleMechanicusCardChallengeState_IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_NONE InBattleMechanicusCardChallengeState = 0
+ InBattleMechanicusCardChallengeState_IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_ON_GOING InBattleMechanicusCardChallengeState = 1
+ InBattleMechanicusCardChallengeState_IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_FAIL InBattleMechanicusCardChallengeState = 2
+ InBattleMechanicusCardChallengeState_IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_SUCCESS InBattleMechanicusCardChallengeState = 3
+)
+
+// Enum value maps for InBattleMechanicusCardChallengeState.
+var (
+ InBattleMechanicusCardChallengeState_name = map[int32]string{
+ 0: "IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_NONE",
+ 1: "IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_ON_GOING",
+ 2: "IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_FAIL",
+ 3: "IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_SUCCESS",
+ }
+ InBattleMechanicusCardChallengeState_value = map[string]int32{
+ "IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_NONE": 0,
+ "IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_ON_GOING": 1,
+ "IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_FAIL": 2,
+ "IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_SUCCESS": 3,
+ }
+)
+
+func (x InBattleMechanicusCardChallengeState) Enum() *InBattleMechanicusCardChallengeState {
+ p := new(InBattleMechanicusCardChallengeState)
+ *p = x
+ return p
+}
+
+func (x InBattleMechanicusCardChallengeState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (InBattleMechanicusCardChallengeState) Descriptor() protoreflect.EnumDescriptor {
+ return file_InBattleMechanicusCardChallengeState_proto_enumTypes[0].Descriptor()
+}
+
+func (InBattleMechanicusCardChallengeState) Type() protoreflect.EnumType {
+ return &file_InBattleMechanicusCardChallengeState_proto_enumTypes[0]
+}
+
+func (x InBattleMechanicusCardChallengeState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use InBattleMechanicusCardChallengeState.Descriptor instead.
+func (InBattleMechanicusCardChallengeState) EnumDescriptor() ([]byte, []int) {
+ return file_InBattleMechanicusCardChallengeState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_InBattleMechanicusCardChallengeState_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusCardChallengeState_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0xfd, 0x01, 0x0a, 0x24, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x2e,
+ 0x49, 0x4e, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e,
+ 0x49, 0x43, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45,
+ 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
+ 0x12, 0x36, 0x0a, 0x32, 0x49, 0x4e, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4d, 0x45,
+ 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x43, 0x48,
+ 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e,
+ 0x5f, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x32, 0x0a, 0x2e, 0x49, 0x4e, 0x5f, 0x42,
+ 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53,
+ 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x12, 0x35, 0x0a, 0x31,
+ 0x49, 0x4e, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e,
+ 0x49, 0x43, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45,
+ 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53,
+ 0x53, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusCardChallengeState_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusCardChallengeState_proto_rawDescData = file_InBattleMechanicusCardChallengeState_proto_rawDesc
+)
+
+func file_InBattleMechanicusCardChallengeState_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusCardChallengeState_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusCardChallengeState_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusCardChallengeState_proto_rawDescData)
+ })
+ return file_InBattleMechanicusCardChallengeState_proto_rawDescData
+}
+
+var file_InBattleMechanicusCardChallengeState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_InBattleMechanicusCardChallengeState_proto_goTypes = []interface{}{
+ (InBattleMechanicusCardChallengeState)(0), // 0: proto.InBattleMechanicusCardChallengeState
+}
+var file_InBattleMechanicusCardChallengeState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusCardChallengeState_proto_init() }
+func file_InBattleMechanicusCardChallengeState_proto_init() {
+ if File_InBattleMechanicusCardChallengeState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusCardChallengeState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusCardChallengeState_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusCardChallengeState_proto_depIdxs,
+ EnumInfos: file_InBattleMechanicusCardChallengeState_proto_enumTypes,
+ }.Build()
+ File_InBattleMechanicusCardChallengeState_proto = out.File
+ file_InBattleMechanicusCardChallengeState_proto_rawDesc = nil
+ file_InBattleMechanicusCardChallengeState_proto_goTypes = nil
+ file_InBattleMechanicusCardChallengeState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusCardInfo.pb.go b/protocol/proto/InBattleMechanicusCardInfo.pb.go
new file mode 100644
index 00000000..b8eec153
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusCardInfo.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusCardInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleMechanicusCardInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RandEffectId uint32 `protobuf:"varint,12,opt,name=rand_effect_id,json=randEffectId,proto3" json:"rand_effect_id,omitempty"`
+ EndRound uint32 `protobuf:"varint,3,opt,name=end_round,json=endRound,proto3" json:"end_round,omitempty"`
+ ChallengeState InBattleMechanicusCardChallengeState `protobuf:"varint,5,opt,name=challenge_state,json=challengeState,proto3,enum=proto.InBattleMechanicusCardChallengeState" json:"challenge_state,omitempty"`
+ CostPoints uint32 `protobuf:"varint,1,opt,name=cost_points,json=costPoints,proto3" json:"cost_points,omitempty"`
+ CardId uint32 `protobuf:"varint,11,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ BeginRound uint32 `protobuf:"varint,8,opt,name=begin_round,json=beginRound,proto3" json:"begin_round,omitempty"`
+}
+
+func (x *InBattleMechanicusCardInfo) Reset() {
+ *x = InBattleMechanicusCardInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusCardInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusCardInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusCardInfo) ProtoMessage() {}
+
+func (x *InBattleMechanicusCardInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusCardInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusCardInfo.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusCardInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusCardInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusCardInfo) GetRandEffectId() uint32 {
+ if x != nil {
+ return x.RandEffectId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusCardInfo) GetEndRound() uint32 {
+ if x != nil {
+ return x.EndRound
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusCardInfo) GetChallengeState() InBattleMechanicusCardChallengeState {
+ if x != nil {
+ return x.ChallengeState
+ }
+ return InBattleMechanicusCardChallengeState_IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_NONE
+}
+
+func (x *InBattleMechanicusCardInfo) GetCostPoints() uint32 {
+ if x != nil {
+ return x.CostPoints
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusCardInfo) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusCardInfo) GetBeginRound() uint32 {
+ if x != nil {
+ return x.BeginRound
+ }
+ return 0
+}
+
+var File_InBattleMechanicusCardInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusCardInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x49, 0x6e, 0x42, 0x61, 0x74,
+ 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72,
+ 0x64, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x02, 0x0a, 0x1a, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x65, 0x66, 0x66,
+ 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x61,
+ 0x6e, 0x64, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
+ 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65,
+ 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x54, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x65, 0x67, 0x69, 0x6e,
+ 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x65,
+ 0x67, 0x69, 0x6e, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusCardInfo_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusCardInfo_proto_rawDescData = file_InBattleMechanicusCardInfo_proto_rawDesc
+)
+
+func file_InBattleMechanicusCardInfo_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusCardInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusCardInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusCardInfo_proto_rawDescData)
+ })
+ return file_InBattleMechanicusCardInfo_proto_rawDescData
+}
+
+var file_InBattleMechanicusCardInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusCardInfo_proto_goTypes = []interface{}{
+ (*InBattleMechanicusCardInfo)(nil), // 0: proto.InBattleMechanicusCardInfo
+ (InBattleMechanicusCardChallengeState)(0), // 1: proto.InBattleMechanicusCardChallengeState
+}
+var file_InBattleMechanicusCardInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InBattleMechanicusCardInfo.challenge_state:type_name -> proto.InBattleMechanicusCardChallengeState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusCardInfo_proto_init() }
+func file_InBattleMechanicusCardInfo_proto_init() {
+ if File_InBattleMechanicusCardInfo_proto != nil {
+ return
+ }
+ file_InBattleMechanicusCardChallengeState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusCardInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusCardInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusCardInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusCardInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusCardInfo_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusCardInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusCardInfo_proto = out.File
+ file_InBattleMechanicusCardInfo_proto_rawDesc = nil
+ file_InBattleMechanicusCardInfo_proto_goTypes = nil
+ file_InBattleMechanicusCardInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusCardResultNotify.pb.go b/protocol/proto/InBattleMechanicusCardResultNotify.pb.go
new file mode 100644
index 00000000..04615c6e
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusCardResultNotify.pb.go
@@ -0,0 +1,235 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusCardResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5397
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusCardResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WaitSeconds uint32 `protobuf:"varint,6,opt,name=wait_seconds,json=waitSeconds,proto3" json:"wait_seconds,omitempty"`
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ CardList []*InBattleMechanicusCardInfo `protobuf:"bytes,9,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ WaitBeginTimeUs uint64 `protobuf:"varint,7,opt,name=wait_begin_time_us,json=waitBeginTimeUs,proto3" json:"wait_begin_time_us,omitempty"`
+ PlayerConfirmedCardMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=player_confirmed_card_map,json=playerConfirmedCardMap,proto3" json:"player_confirmed_card_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ PlayIndex uint32 `protobuf:"varint,8,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+}
+
+func (x *InBattleMechanicusCardResultNotify) Reset() {
+ *x = InBattleMechanicusCardResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusCardResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusCardResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusCardResultNotify) ProtoMessage() {}
+
+func (x *InBattleMechanicusCardResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusCardResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusCardResultNotify.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusCardResultNotify) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusCardResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusCardResultNotify) GetWaitSeconds() uint32 {
+ if x != nil {
+ return x.WaitSeconds
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusCardResultNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusCardResultNotify) GetCardList() []*InBattleMechanicusCardInfo {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusCardResultNotify) GetWaitBeginTimeUs() uint64 {
+ if x != nil {
+ return x.WaitBeginTimeUs
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusCardResultNotify) GetPlayerConfirmedCardMap() map[uint32]uint32 {
+ if x != nil {
+ return x.PlayerConfirmedCardMap
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusCardResultNotify) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+var File_InBattleMechanicusCardResultNotify_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusCardResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x20, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61,
+ 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x03, 0x0a, 0x22, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61,
+ 0x69, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x19, 0x0a,
+ 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68,
+ 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08,
+ 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x77, 0x61, 0x69, 0x74,
+ 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54,
+ 0x69, 0x6d, 0x65, 0x55, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x19, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x72, 0x6d, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x16, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65,
+ 0x64, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c,
+ 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x49, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusCardResultNotify_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusCardResultNotify_proto_rawDescData = file_InBattleMechanicusCardResultNotify_proto_rawDesc
+)
+
+func file_InBattleMechanicusCardResultNotify_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusCardResultNotify_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusCardResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusCardResultNotify_proto_rawDescData)
+ })
+ return file_InBattleMechanicusCardResultNotify_proto_rawDescData
+}
+
+var file_InBattleMechanicusCardResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_InBattleMechanicusCardResultNotify_proto_goTypes = []interface{}{
+ (*InBattleMechanicusCardResultNotify)(nil), // 0: proto.InBattleMechanicusCardResultNotify
+ nil, // 1: proto.InBattleMechanicusCardResultNotify.PlayerConfirmedCardMapEntry
+ (*InBattleMechanicusCardInfo)(nil), // 2: proto.InBattleMechanicusCardInfo
+}
+var file_InBattleMechanicusCardResultNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.InBattleMechanicusCardResultNotify.card_list:type_name -> proto.InBattleMechanicusCardInfo
+ 1, // 1: proto.InBattleMechanicusCardResultNotify.player_confirmed_card_map:type_name -> proto.InBattleMechanicusCardResultNotify.PlayerConfirmedCardMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusCardResultNotify_proto_init() }
+func file_InBattleMechanicusCardResultNotify_proto_init() {
+ if File_InBattleMechanicusCardResultNotify_proto != nil {
+ return
+ }
+ file_InBattleMechanicusCardInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusCardResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusCardResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusCardResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusCardResultNotify_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusCardResultNotify_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusCardResultNotify_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusCardResultNotify_proto = out.File
+ file_InBattleMechanicusCardResultNotify_proto_rawDesc = nil
+ file_InBattleMechanicusCardResultNotify_proto_goTypes = nil
+ file_InBattleMechanicusCardResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusConfirmCardNotify.pb.go b/protocol/proto/InBattleMechanicusConfirmCardNotify.pb.go
new file mode 100644
index 00000000..30deb194
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusConfirmCardNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusConfirmCardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5348
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusConfirmCardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayIndex uint32 `protobuf:"varint,11,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ CardId uint32 `protobuf:"varint,13,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,10,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ PlayerUid uint32 `protobuf:"varint,2,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+}
+
+func (x *InBattleMechanicusConfirmCardNotify) Reset() {
+ *x = InBattleMechanicusConfirmCardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusConfirmCardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusConfirmCardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusConfirmCardNotify) ProtoMessage() {}
+
+func (x *InBattleMechanicusConfirmCardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusConfirmCardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusConfirmCardNotify.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusConfirmCardNotify) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusConfirmCardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusConfirmCardNotify) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusConfirmCardNotify) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusConfirmCardNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusConfirmCardNotify) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+var File_InBattleMechanicusConfirmCardNotify_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusConfirmCardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x23, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d,
+ 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c,
+ 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64,
+ 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusConfirmCardNotify_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusConfirmCardNotify_proto_rawDescData = file_InBattleMechanicusConfirmCardNotify_proto_rawDesc
+)
+
+func file_InBattleMechanicusConfirmCardNotify_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusConfirmCardNotify_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusConfirmCardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusConfirmCardNotify_proto_rawDescData)
+ })
+ return file_InBattleMechanicusConfirmCardNotify_proto_rawDescData
+}
+
+var file_InBattleMechanicusConfirmCardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusConfirmCardNotify_proto_goTypes = []interface{}{
+ (*InBattleMechanicusConfirmCardNotify)(nil), // 0: proto.InBattleMechanicusConfirmCardNotify
+}
+var file_InBattleMechanicusConfirmCardNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusConfirmCardNotify_proto_init() }
+func file_InBattleMechanicusConfirmCardNotify_proto_init() {
+ if File_InBattleMechanicusConfirmCardNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusConfirmCardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusConfirmCardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusConfirmCardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusConfirmCardNotify_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusConfirmCardNotify_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusConfirmCardNotify_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusConfirmCardNotify_proto = out.File
+ file_InBattleMechanicusConfirmCardNotify_proto_rawDesc = nil
+ file_InBattleMechanicusConfirmCardNotify_proto_goTypes = nil
+ file_InBattleMechanicusConfirmCardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusConfirmCardReq.pb.go b/protocol/proto/InBattleMechanicusConfirmCardReq.pb.go
new file mode 100644
index 00000000..a3a992a9
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusConfirmCardReq.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusConfirmCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5331
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InBattleMechanicusConfirmCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayIndex uint32 `protobuf:"varint,6,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ CardId uint32 `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,3,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *InBattleMechanicusConfirmCardReq) Reset() {
+ *x = InBattleMechanicusConfirmCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusConfirmCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusConfirmCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusConfirmCardReq) ProtoMessage() {}
+
+func (x *InBattleMechanicusConfirmCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusConfirmCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusConfirmCardReq.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusConfirmCardReq) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusConfirmCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusConfirmCardReq) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusConfirmCardReq) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusConfirmCardReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_InBattleMechanicusConfirmCardReq_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusConfirmCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x75, 0x0a, 0x20, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61,
+ 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusConfirmCardReq_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusConfirmCardReq_proto_rawDescData = file_InBattleMechanicusConfirmCardReq_proto_rawDesc
+)
+
+func file_InBattleMechanicusConfirmCardReq_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusConfirmCardReq_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusConfirmCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusConfirmCardReq_proto_rawDescData)
+ })
+ return file_InBattleMechanicusConfirmCardReq_proto_rawDescData
+}
+
+var file_InBattleMechanicusConfirmCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusConfirmCardReq_proto_goTypes = []interface{}{
+ (*InBattleMechanicusConfirmCardReq)(nil), // 0: proto.InBattleMechanicusConfirmCardReq
+}
+var file_InBattleMechanicusConfirmCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusConfirmCardReq_proto_init() }
+func file_InBattleMechanicusConfirmCardReq_proto_init() {
+ if File_InBattleMechanicusConfirmCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusConfirmCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusConfirmCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusConfirmCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusConfirmCardReq_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusConfirmCardReq_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusConfirmCardReq_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusConfirmCardReq_proto = out.File
+ file_InBattleMechanicusConfirmCardReq_proto_rawDesc = nil
+ file_InBattleMechanicusConfirmCardReq_proto_goTypes = nil
+ file_InBattleMechanicusConfirmCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusConfirmCardRsp.pb.go b/protocol/proto/InBattleMechanicusConfirmCardRsp.pb.go
new file mode 100644
index 00000000..132e2bf9
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusConfirmCardRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusConfirmCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5375
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusConfirmCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayIndex uint32 `protobuf:"varint,2,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ CardId uint32 `protobuf:"varint,14,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GroupId uint32 `protobuf:"varint,6,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *InBattleMechanicusConfirmCardRsp) Reset() {
+ *x = InBattleMechanicusConfirmCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusConfirmCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusConfirmCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusConfirmCardRsp) ProtoMessage() {}
+
+func (x *InBattleMechanicusConfirmCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusConfirmCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusConfirmCardRsp.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusConfirmCardRsp) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusConfirmCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusConfirmCardRsp) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusConfirmCardRsp) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusConfirmCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusConfirmCardRsp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_InBattleMechanicusConfirmCardRsp_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusConfirmCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x8f, 0x01, 0x0a, 0x20, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68,
+ 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x43, 0x61, 0x72,
+ 0x64, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusConfirmCardRsp_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusConfirmCardRsp_proto_rawDescData = file_InBattleMechanicusConfirmCardRsp_proto_rawDesc
+)
+
+func file_InBattleMechanicusConfirmCardRsp_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusConfirmCardRsp_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusConfirmCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusConfirmCardRsp_proto_rawDescData)
+ })
+ return file_InBattleMechanicusConfirmCardRsp_proto_rawDescData
+}
+
+var file_InBattleMechanicusConfirmCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusConfirmCardRsp_proto_goTypes = []interface{}{
+ (*InBattleMechanicusConfirmCardRsp)(nil), // 0: proto.InBattleMechanicusConfirmCardRsp
+}
+var file_InBattleMechanicusConfirmCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusConfirmCardRsp_proto_init() }
+func file_InBattleMechanicusConfirmCardRsp_proto_init() {
+ if File_InBattleMechanicusConfirmCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusConfirmCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusConfirmCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusConfirmCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusConfirmCardRsp_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusConfirmCardRsp_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusConfirmCardRsp_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusConfirmCardRsp_proto = out.File
+ file_InBattleMechanicusConfirmCardRsp_proto_rawDesc = nil
+ file_InBattleMechanicusConfirmCardRsp_proto_goTypes = nil
+ file_InBattleMechanicusConfirmCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusEscapeMonsterNotify.pb.go b/protocol/proto/InBattleMechanicusEscapeMonsterNotify.pb.go
new file mode 100644
index 00000000..fb9991f2
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusEscapeMonsterNotify.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusEscapeMonsterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5307
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusEscapeMonsterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EscapedMonsterNum uint32 `protobuf:"varint,4,opt,name=escaped_monster_num,json=escapedMonsterNum,proto3" json:"escaped_monster_num,omitempty"`
+}
+
+func (x *InBattleMechanicusEscapeMonsterNotify) Reset() {
+ *x = InBattleMechanicusEscapeMonsterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusEscapeMonsterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusEscapeMonsterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusEscapeMonsterNotify) ProtoMessage() {}
+
+func (x *InBattleMechanicusEscapeMonsterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusEscapeMonsterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusEscapeMonsterNotify.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusEscapeMonsterNotify) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusEscapeMonsterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusEscapeMonsterNotify) GetEscapedMonsterNum() uint32 {
+ if x != nil {
+ return x.EscapedMonsterNum
+ }
+ return 0
+}
+
+var File_InBattleMechanicusEscapeMonsterNotify_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusEscapeMonsterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x25, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2e, 0x0a,
+ 0x13, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x73, 0x63, 0x61,
+ 0x70, 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_InBattleMechanicusEscapeMonsterNotify_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusEscapeMonsterNotify_proto_rawDescData = file_InBattleMechanicusEscapeMonsterNotify_proto_rawDesc
+)
+
+func file_InBattleMechanicusEscapeMonsterNotify_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusEscapeMonsterNotify_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusEscapeMonsterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusEscapeMonsterNotify_proto_rawDescData)
+ })
+ return file_InBattleMechanicusEscapeMonsterNotify_proto_rawDescData
+}
+
+var file_InBattleMechanicusEscapeMonsterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusEscapeMonsterNotify_proto_goTypes = []interface{}{
+ (*InBattleMechanicusEscapeMonsterNotify)(nil), // 0: proto.InBattleMechanicusEscapeMonsterNotify
+}
+var file_InBattleMechanicusEscapeMonsterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusEscapeMonsterNotify_proto_init() }
+func file_InBattleMechanicusEscapeMonsterNotify_proto_init() {
+ if File_InBattleMechanicusEscapeMonsterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusEscapeMonsterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusEscapeMonsterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusEscapeMonsterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusEscapeMonsterNotify_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusEscapeMonsterNotify_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusEscapeMonsterNotify_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusEscapeMonsterNotify_proto = out.File
+ file_InBattleMechanicusEscapeMonsterNotify_proto_rawDesc = nil
+ file_InBattleMechanicusEscapeMonsterNotify_proto_goTypes = nil
+ file_InBattleMechanicusEscapeMonsterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusInfo.pb.go b/protocol/proto/InBattleMechanicusInfo.pb.go
new file mode 100644
index 00000000..48995f0c
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusInfo.pb.go
@@ -0,0 +1,359 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleMechanicusInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LeftMonster uint32 `protobuf:"varint,5,opt,name=left_monster,json=leftMonster,proto3" json:"left_monster,omitempty"`
+ WaitSeconds uint32 `protobuf:"varint,13,opt,name=wait_seconds,json=waitSeconds,proto3" json:"wait_seconds,omitempty"`
+ EntranceList []uint32 `protobuf:"varint,410,rep,packed,name=entrance_list,json=entranceList,proto3" json:"entrance_list,omitempty"`
+ ExitList []uint32 `protobuf:"varint,115,rep,packed,name=exit_list,json=exitList,proto3" json:"exit_list,omitempty"`
+ HistoryCardList []*InBattleMechanicusCardInfo `protobuf:"bytes,11,rep,name=history_card_list,json=historyCardList,proto3" json:"history_card_list,omitempty"`
+ MaxEscapeMonsterNum uint32 `protobuf:"varint,10,opt,name=max_escape_monster_num,json=maxEscapeMonsterNum,proto3" json:"max_escape_monster_num,omitempty"`
+ BuildingStageDuration uint32 `protobuf:"varint,4,opt,name=building_stage_duration,json=buildingStageDuration,proto3" json:"building_stage_duration,omitempty"`
+ DurationMs uint64 `protobuf:"varint,8,opt,name=duration_ms,json=durationMs,proto3" json:"duration_ms,omitempty"`
+ Stage InBattleMechanicusStageType `protobuf:"varint,9,opt,name=stage,proto3,enum=proto.InBattleMechanicusStageType" json:"stage,omitempty"`
+ TotalRound uint32 `protobuf:"varint,12,opt,name=total_round,json=totalRound,proto3" json:"total_round,omitempty"`
+ MonsterList []*InBattleMechanicusMonsterInfo `protobuf:"bytes,14,rep,name=monster_list,json=monsterList,proto3" json:"monster_list,omitempty"`
+ EscapedMonsterNum uint32 `protobuf:"varint,6,opt,name=escaped_monster_num,json=escapedMonsterNum,proto3" json:"escaped_monster_num,omitempty"`
+ Round uint32 `protobuf:"varint,3,opt,name=round,proto3" json:"round,omitempty"`
+ PickCardList []*InBattleMechanicusCardInfo `protobuf:"bytes,15,rep,name=pick_card_list,json=pickCardList,proto3" json:"pick_card_list,omitempty"`
+ PlayerList []*InBattleMechanicusPlayerInfo `protobuf:"bytes,7,rep,name=player_list,json=playerList,proto3" json:"player_list,omitempty"`
+ WaitBeginTimeUs uint64 `protobuf:"varint,1,opt,name=wait_begin_time_us,json=waitBeginTimeUs,proto3" json:"wait_begin_time_us,omitempty"`
+ BeginTimeMs uint64 `protobuf:"varint,2,opt,name=begin_time_ms,json=beginTimeMs,proto3" json:"begin_time_ms,omitempty"`
+}
+
+func (x *InBattleMechanicusInfo) Reset() {
+ *x = InBattleMechanicusInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusInfo) ProtoMessage() {}
+
+func (x *InBattleMechanicusInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusInfo.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusInfo) GetLeftMonster() uint32 {
+ if x != nil {
+ return x.LeftMonster
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetWaitSeconds() uint32 {
+ if x != nil {
+ return x.WaitSeconds
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetEntranceList() []uint32 {
+ if x != nil {
+ return x.EntranceList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusInfo) GetExitList() []uint32 {
+ if x != nil {
+ return x.ExitList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusInfo) GetHistoryCardList() []*InBattleMechanicusCardInfo {
+ if x != nil {
+ return x.HistoryCardList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusInfo) GetMaxEscapeMonsterNum() uint32 {
+ if x != nil {
+ return x.MaxEscapeMonsterNum
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetBuildingStageDuration() uint32 {
+ if x != nil {
+ return x.BuildingStageDuration
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetDurationMs() uint64 {
+ if x != nil {
+ return x.DurationMs
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetStage() InBattleMechanicusStageType {
+ if x != nil {
+ return x.Stage
+ }
+ return InBattleMechanicusStageType_IN_BATTLE_MECHANICUS_STAGE_TYPE_NONE
+}
+
+func (x *InBattleMechanicusInfo) GetTotalRound() uint32 {
+ if x != nil {
+ return x.TotalRound
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetMonsterList() []*InBattleMechanicusMonsterInfo {
+ if x != nil {
+ return x.MonsterList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusInfo) GetEscapedMonsterNum() uint32 {
+ if x != nil {
+ return x.EscapedMonsterNum
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetRound() uint32 {
+ if x != nil {
+ return x.Round
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetPickCardList() []*InBattleMechanicusCardInfo {
+ if x != nil {
+ return x.PickCardList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusInfo) GetPlayerList() []*InBattleMechanicusPlayerInfo {
+ if x != nil {
+ return x.PlayerList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusInfo) GetWaitBeginTimeUs() uint64 {
+ if x != nil {
+ return x.WaitBeginTimeUs
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusInfo) GetBeginTimeMs() uint64 {
+ if x != nil {
+ return x.BeginTimeMs
+ }
+ return 0
+}
+
+var File_InBattleMechanicusInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x49, 0x6e,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x21, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x06, 0x0a, 0x16, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21,
+ 0x0a, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
+ 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x53, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x9a, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e,
+ 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78,
+ 0x69, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x73, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x65,
+ 0x78, 0x69, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f,
+ 0x72, 0x79, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74,
+ 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x72,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x61,
+ 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x73,
+ 0x63, 0x61, 0x70, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x45, 0x73, 0x63, 0x61, 0x70,
+ 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x36, 0x0a, 0x17, 0x62,
+ 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x62, 0x75,
+ 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4d, 0x73, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12,
+ 0x47, 0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x73, 0x63, 0x61,
+ 0x70, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x47,
+ 0x0a, 0x0e, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
+ 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75,
+ 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x69, 0x63, 0x6b, 0x43,
+ 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63,
+ 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a,
+ 0x12, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x5f, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x77, 0x61, 0x69, 0x74, 0x42,
+ 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x65,
+ 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x0b, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusInfo_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusInfo_proto_rawDescData = file_InBattleMechanicusInfo_proto_rawDesc
+)
+
+func file_InBattleMechanicusInfo_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusInfo_proto_rawDescData)
+ })
+ return file_InBattleMechanicusInfo_proto_rawDescData
+}
+
+var file_InBattleMechanicusInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusInfo_proto_goTypes = []interface{}{
+ (*InBattleMechanicusInfo)(nil), // 0: proto.InBattleMechanicusInfo
+ (*InBattleMechanicusCardInfo)(nil), // 1: proto.InBattleMechanicusCardInfo
+ (InBattleMechanicusStageType)(0), // 2: proto.InBattleMechanicusStageType
+ (*InBattleMechanicusMonsterInfo)(nil), // 3: proto.InBattleMechanicusMonsterInfo
+ (*InBattleMechanicusPlayerInfo)(nil), // 4: proto.InBattleMechanicusPlayerInfo
+}
+var file_InBattleMechanicusInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InBattleMechanicusInfo.history_card_list:type_name -> proto.InBattleMechanicusCardInfo
+ 2, // 1: proto.InBattleMechanicusInfo.stage:type_name -> proto.InBattleMechanicusStageType
+ 3, // 2: proto.InBattleMechanicusInfo.monster_list:type_name -> proto.InBattleMechanicusMonsterInfo
+ 1, // 3: proto.InBattleMechanicusInfo.pick_card_list:type_name -> proto.InBattleMechanicusCardInfo
+ 4, // 4: proto.InBattleMechanicusInfo.player_list:type_name -> proto.InBattleMechanicusPlayerInfo
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusInfo_proto_init() }
+func file_InBattleMechanicusInfo_proto_init() {
+ if File_InBattleMechanicusInfo_proto != nil {
+ return
+ }
+ file_InBattleMechanicusCardInfo_proto_init()
+ file_InBattleMechanicusMonsterInfo_proto_init()
+ file_InBattleMechanicusPlayerInfo_proto_init()
+ file_InBattleMechanicusStageType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusInfo_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusInfo_proto = out.File
+ file_InBattleMechanicusInfo_proto_rawDesc = nil
+ file_InBattleMechanicusInfo_proto_goTypes = nil
+ file_InBattleMechanicusInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusLeftMonsterNotify.pb.go b/protocol/proto/InBattleMechanicusLeftMonsterNotify.pb.go
new file mode 100644
index 00000000..5f086a63
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusLeftMonsterNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusLeftMonsterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5321
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusLeftMonsterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LeftMonster uint32 `protobuf:"varint,14,opt,name=left_monster,json=leftMonster,proto3" json:"left_monster,omitempty"`
+}
+
+func (x *InBattleMechanicusLeftMonsterNotify) Reset() {
+ *x = InBattleMechanicusLeftMonsterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusLeftMonsterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusLeftMonsterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusLeftMonsterNotify) ProtoMessage() {}
+
+func (x *InBattleMechanicusLeftMonsterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusLeftMonsterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusLeftMonsterNotify.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusLeftMonsterNotify) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusLeftMonsterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusLeftMonsterNotify) GetLeftMonster() uint32 {
+ if x != nil {
+ return x.LeftMonster
+ }
+ return 0
+}
+
+var File_InBattleMechanicusLeftMonsterNotify_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusLeftMonsterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x23, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65,
+ 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x65, 0x66,
+ 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusLeftMonsterNotify_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusLeftMonsterNotify_proto_rawDescData = file_InBattleMechanicusLeftMonsterNotify_proto_rawDesc
+)
+
+func file_InBattleMechanicusLeftMonsterNotify_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusLeftMonsterNotify_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusLeftMonsterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusLeftMonsterNotify_proto_rawDescData)
+ })
+ return file_InBattleMechanicusLeftMonsterNotify_proto_rawDescData
+}
+
+var file_InBattleMechanicusLeftMonsterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusLeftMonsterNotify_proto_goTypes = []interface{}{
+ (*InBattleMechanicusLeftMonsterNotify)(nil), // 0: proto.InBattleMechanicusLeftMonsterNotify
+}
+var file_InBattleMechanicusLeftMonsterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusLeftMonsterNotify_proto_init() }
+func file_InBattleMechanicusLeftMonsterNotify_proto_init() {
+ if File_InBattleMechanicusLeftMonsterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusLeftMonsterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusLeftMonsterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusLeftMonsterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusLeftMonsterNotify_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusLeftMonsterNotify_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusLeftMonsterNotify_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusLeftMonsterNotify_proto = out.File
+ file_InBattleMechanicusLeftMonsterNotify_proto_rawDesc = nil
+ file_InBattleMechanicusLeftMonsterNotify_proto_goTypes = nil
+ file_InBattleMechanicusLeftMonsterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusMonsterInfo.pb.go b/protocol/proto/InBattleMechanicusMonsterInfo.pb.go
new file mode 100644
index 00000000..8b2ca9c1
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusMonsterInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusMonsterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleMechanicusMonsterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterId uint32 `protobuf:"varint,1,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ Level uint32 `protobuf:"varint,14,opt,name=level,proto3" json:"level,omitempty"`
+ Count uint32 `protobuf:"varint,13,opt,name=count,proto3" json:"count,omitempty"`
+}
+
+func (x *InBattleMechanicusMonsterInfo) Reset() {
+ *x = InBattleMechanicusMonsterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusMonsterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusMonsterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusMonsterInfo) ProtoMessage() {}
+
+func (x *InBattleMechanicusMonsterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusMonsterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusMonsterInfo.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusMonsterInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusMonsterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusMonsterInfo) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusMonsterInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusMonsterInfo) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+var File_InBattleMechanicusMonsterInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusMonsterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x1d,
+ 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63,
+ 0x75, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusMonsterInfo_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusMonsterInfo_proto_rawDescData = file_InBattleMechanicusMonsterInfo_proto_rawDesc
+)
+
+func file_InBattleMechanicusMonsterInfo_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusMonsterInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusMonsterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusMonsterInfo_proto_rawDescData)
+ })
+ return file_InBattleMechanicusMonsterInfo_proto_rawDescData
+}
+
+var file_InBattleMechanicusMonsterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusMonsterInfo_proto_goTypes = []interface{}{
+ (*InBattleMechanicusMonsterInfo)(nil), // 0: proto.InBattleMechanicusMonsterInfo
+}
+var file_InBattleMechanicusMonsterInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusMonsterInfo_proto_init() }
+func file_InBattleMechanicusMonsterInfo_proto_init() {
+ if File_InBattleMechanicusMonsterInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusMonsterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusMonsterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusMonsterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusMonsterInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusMonsterInfo_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusMonsterInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusMonsterInfo_proto = out.File
+ file_InBattleMechanicusMonsterInfo_proto_rawDesc = nil
+ file_InBattleMechanicusMonsterInfo_proto_goTypes = nil
+ file_InBattleMechanicusMonsterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusPickCardNotify.pb.go b/protocol/proto/InBattleMechanicusPickCardNotify.pb.go
new file mode 100644
index 00000000..2d563468
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusPickCardNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusPickCardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5399
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusPickCardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerUid uint32 `protobuf:"varint,6,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+ GroupId uint32 `protobuf:"varint,7,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,8,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ CardId uint32 `protobuf:"varint,10,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *InBattleMechanicusPickCardNotify) Reset() {
+ *x = InBattleMechanicusPickCardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusPickCardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusPickCardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusPickCardNotify) ProtoMessage() {}
+
+func (x *InBattleMechanicusPickCardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusPickCardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusPickCardNotify.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusPickCardNotify) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusPickCardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusPickCardNotify) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPickCardNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPickCardNotify) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPickCardNotify) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_InBattleMechanicusPickCardNotify_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusPickCardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x94, 0x01, 0x0a, 0x20, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68,
+ 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x55, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a,
+ 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusPickCardNotify_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusPickCardNotify_proto_rawDescData = file_InBattleMechanicusPickCardNotify_proto_rawDesc
+)
+
+func file_InBattleMechanicusPickCardNotify_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusPickCardNotify_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusPickCardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusPickCardNotify_proto_rawDescData)
+ })
+ return file_InBattleMechanicusPickCardNotify_proto_rawDescData
+}
+
+var file_InBattleMechanicusPickCardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusPickCardNotify_proto_goTypes = []interface{}{
+ (*InBattleMechanicusPickCardNotify)(nil), // 0: proto.InBattleMechanicusPickCardNotify
+}
+var file_InBattleMechanicusPickCardNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusPickCardNotify_proto_init() }
+func file_InBattleMechanicusPickCardNotify_proto_init() {
+ if File_InBattleMechanicusPickCardNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusPickCardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusPickCardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusPickCardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusPickCardNotify_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusPickCardNotify_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusPickCardNotify_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusPickCardNotify_proto = out.File
+ file_InBattleMechanicusPickCardNotify_proto_rawDesc = nil
+ file_InBattleMechanicusPickCardNotify_proto_goTypes = nil
+ file_InBattleMechanicusPickCardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusPickCardReq.pb.go b/protocol/proto/InBattleMechanicusPickCardReq.pb.go
new file mode 100644
index 00000000..1cd289ae
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusPickCardReq.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusPickCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5390
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InBattleMechanicusPickCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,11,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,7,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ CardId uint32 `protobuf:"varint,1,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *InBattleMechanicusPickCardReq) Reset() {
+ *x = InBattleMechanicusPickCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusPickCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusPickCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusPickCardReq) ProtoMessage() {}
+
+func (x *InBattleMechanicusPickCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusPickCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusPickCardReq.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusPickCardReq) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusPickCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusPickCardReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPickCardReq) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPickCardReq) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_InBattleMechanicusPickCardReq_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusPickCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1d,
+ 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63,
+ 0x75, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a,
+ 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c,
+ 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusPickCardReq_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusPickCardReq_proto_rawDescData = file_InBattleMechanicusPickCardReq_proto_rawDesc
+)
+
+func file_InBattleMechanicusPickCardReq_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusPickCardReq_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusPickCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusPickCardReq_proto_rawDescData)
+ })
+ return file_InBattleMechanicusPickCardReq_proto_rawDescData
+}
+
+var file_InBattleMechanicusPickCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusPickCardReq_proto_goTypes = []interface{}{
+ (*InBattleMechanicusPickCardReq)(nil), // 0: proto.InBattleMechanicusPickCardReq
+}
+var file_InBattleMechanicusPickCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusPickCardReq_proto_init() }
+func file_InBattleMechanicusPickCardReq_proto_init() {
+ if File_InBattleMechanicusPickCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusPickCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusPickCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusPickCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusPickCardReq_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusPickCardReq_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusPickCardReq_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusPickCardReq_proto = out.File
+ file_InBattleMechanicusPickCardReq_proto_rawDesc = nil
+ file_InBattleMechanicusPickCardReq_proto_goTypes = nil
+ file_InBattleMechanicusPickCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusPickCardRsp.pb.go b/protocol/proto/InBattleMechanicusPickCardRsp.pb.go
new file mode 100644
index 00000000..0390f960
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusPickCardRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusPickCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5373
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusPickCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CardId uint32 `protobuf:"varint,2,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,4,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ GroupId uint32 `protobuf:"varint,9,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *InBattleMechanicusPickCardRsp) Reset() {
+ *x = InBattleMechanicusPickCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusPickCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusPickCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusPickCardRsp) ProtoMessage() {}
+
+func (x *InBattleMechanicusPickCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusPickCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusPickCardRsp.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusPickCardRsp) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusPickCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusPickCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPickCardRsp) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPickCardRsp) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPickCardRsp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_InBattleMechanicusPickCardRsp_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusPickCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a,
+ 0x1d, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69,
+ 0x63, 0x75, 0x73, 0x50, 0x69, 0x63, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusPickCardRsp_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusPickCardRsp_proto_rawDescData = file_InBattleMechanicusPickCardRsp_proto_rawDesc
+)
+
+func file_InBattleMechanicusPickCardRsp_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusPickCardRsp_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusPickCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusPickCardRsp_proto_rawDescData)
+ })
+ return file_InBattleMechanicusPickCardRsp_proto_rawDescData
+}
+
+var file_InBattleMechanicusPickCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusPickCardRsp_proto_goTypes = []interface{}{
+ (*InBattleMechanicusPickCardRsp)(nil), // 0: proto.InBattleMechanicusPickCardRsp
+}
+var file_InBattleMechanicusPickCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusPickCardRsp_proto_init() }
+func file_InBattleMechanicusPickCardRsp_proto_init() {
+ if File_InBattleMechanicusPickCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusPickCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusPickCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusPickCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusPickCardRsp_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusPickCardRsp_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusPickCardRsp_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusPickCardRsp_proto = out.File
+ file_InBattleMechanicusPickCardRsp_proto_rawDesc = nil
+ file_InBattleMechanicusPickCardRsp_proto_goTypes = nil
+ file_InBattleMechanicusPickCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusPlayerInfo.pb.go b/protocol/proto/InBattleMechanicusPlayerInfo.pb.go
new file mode 100644
index 00000000..274aec45
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusPlayerInfo.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusPlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleMechanicusPlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PickCardId uint32 `protobuf:"varint,5,opt,name=pick_card_id,json=pickCardId,proto3" json:"pick_card_id,omitempty"`
+ Uid uint32 `protobuf:"varint,14,opt,name=uid,proto3" json:"uid,omitempty"`
+ BuildingList []*InBattleMechanicusBuildingInfo `protobuf:"bytes,4,rep,name=building_list,json=buildingList,proto3" json:"building_list,omitempty"`
+ IsCardConfirmed bool `protobuf:"varint,13,opt,name=is_card_confirmed,json=isCardConfirmed,proto3" json:"is_card_confirmed,omitempty"`
+ BuildingPoints uint32 `protobuf:"varint,3,opt,name=building_points,json=buildingPoints,proto3" json:"building_points,omitempty"`
+}
+
+func (x *InBattleMechanicusPlayerInfo) Reset() {
+ *x = InBattleMechanicusPlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusPlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusPlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusPlayerInfo) ProtoMessage() {}
+
+func (x *InBattleMechanicusPlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusPlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusPlayerInfo.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusPlayerInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusPlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusPlayerInfo) GetPickCardId() uint32 {
+ if x != nil {
+ return x.PickCardId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusPlayerInfo) GetBuildingList() []*InBattleMechanicusBuildingInfo {
+ if x != nil {
+ return x.BuildingList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusPlayerInfo) GetIsCardConfirmed() bool {
+ if x != nil {
+ return x.IsCardConfirmed
+ }
+ return false
+}
+
+func (x *InBattleMechanicusPlayerInfo) GetBuildingPoints() uint32 {
+ if x != nil {
+ return x.BuildingPoints
+ }
+ return 0
+}
+
+var File_InBattleMechanicusPlayerInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusPlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x49, 0x6e, 0x42,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x42,
+ 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xf3, 0x01, 0x0a, 0x1c, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65,
+ 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x69, 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69, 0x63, 0x6b, 0x43, 0x61,
+ 0x72, 0x64, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69,
+ 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65,
+ 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69,
+ 0x73, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x27,
+ 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e,
+ 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusPlayerInfo_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusPlayerInfo_proto_rawDescData = file_InBattleMechanicusPlayerInfo_proto_rawDesc
+)
+
+func file_InBattleMechanicusPlayerInfo_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusPlayerInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusPlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusPlayerInfo_proto_rawDescData)
+ })
+ return file_InBattleMechanicusPlayerInfo_proto_rawDescData
+}
+
+var file_InBattleMechanicusPlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusPlayerInfo_proto_goTypes = []interface{}{
+ (*InBattleMechanicusPlayerInfo)(nil), // 0: proto.InBattleMechanicusPlayerInfo
+ (*InBattleMechanicusBuildingInfo)(nil), // 1: proto.InBattleMechanicusBuildingInfo
+}
+var file_InBattleMechanicusPlayerInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InBattleMechanicusPlayerInfo.building_list:type_name -> proto.InBattleMechanicusBuildingInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusPlayerInfo_proto_init() }
+func file_InBattleMechanicusPlayerInfo_proto_init() {
+ if File_InBattleMechanicusPlayerInfo_proto != nil {
+ return
+ }
+ file_InBattleMechanicusBuildingInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusPlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusPlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusPlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusPlayerInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusPlayerInfo_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusPlayerInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusPlayerInfo_proto = out.File
+ file_InBattleMechanicusPlayerInfo_proto_rawDesc = nil
+ file_InBattleMechanicusPlayerInfo_proto_goTypes = nil
+ file_InBattleMechanicusPlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusSettleInfo.pb.go b/protocol/proto/InBattleMechanicusSettleInfo.pb.go
new file mode 100644
index 00000000..b3f2fe43
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusSettleInfo.pb.go
@@ -0,0 +1,239 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleMechanicusSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneTimeMs uint64 `protobuf:"varint,15,opt,name=scene_time_ms,json=sceneTimeMs,proto3" json:"scene_time_ms,omitempty"`
+ TotalToken uint32 `protobuf:"varint,4,opt,name=total_token,json=totalToken,proto3" json:"total_token,omitempty"`
+ RealToken uint32 `protobuf:"varint,8,opt,name=real_token,json=realToken,proto3" json:"real_token,omitempty"`
+ WatcherList []*MultistageSettleWatcherInfo `protobuf:"bytes,7,rep,name=watcher_list,json=watcherList,proto3" json:"watcher_list,omitempty"`
+ IsSuccess bool `protobuf:"varint,6,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,3,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ DifficultyPercentage uint32 `protobuf:"varint,10,opt,name=difficulty_percentage,json=difficultyPercentage,proto3" json:"difficulty_percentage,omitempty"`
+ GroupId uint32 `protobuf:"varint,13,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *InBattleMechanicusSettleInfo) Reset() {
+ *x = InBattleMechanicusSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusSettleInfo) ProtoMessage() {}
+
+func (x *InBattleMechanicusSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusSettleInfo.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusSettleInfo) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusSettleInfo) GetSceneTimeMs() uint64 {
+ if x != nil {
+ return x.SceneTimeMs
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleInfo) GetTotalToken() uint32 {
+ if x != nil {
+ return x.TotalToken
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleInfo) GetRealToken() uint32 {
+ if x != nil {
+ return x.RealToken
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleInfo) GetWatcherList() []*MultistageSettleWatcherInfo {
+ if x != nil {
+ return x.WatcherList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusSettleInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *InBattleMechanicusSettleInfo) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleInfo) GetDifficultyPercentage() uint32 {
+ if x != nil {
+ return x.DifficultyPercentage
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleInfo) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_InBattleMechanicusSettleInfo_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x4d, 0x75, 0x6c,
+ 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x57, 0x61, 0x74,
+ 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7,
+ 0x02, 0x0a, 0x1c, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61,
+ 0x6e, 0x69, 0x63, 0x75, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x22, 0x0a, 0x0d, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x4d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x61, 0x6c, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x0c, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x77,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73,
+ 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
+ 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61,
+ 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70,
+ 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x33, 0x0a, 0x15, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
+ 0x6c, 0x74, 0x79, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a,
+ 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusSettleInfo_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusSettleInfo_proto_rawDescData = file_InBattleMechanicusSettleInfo_proto_rawDesc
+)
+
+func file_InBattleMechanicusSettleInfo_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusSettleInfo_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusSettleInfo_proto_rawDescData)
+ })
+ return file_InBattleMechanicusSettleInfo_proto_rawDescData
+}
+
+var file_InBattleMechanicusSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusSettleInfo_proto_goTypes = []interface{}{
+ (*InBattleMechanicusSettleInfo)(nil), // 0: proto.InBattleMechanicusSettleInfo
+ (*MultistageSettleWatcherInfo)(nil), // 1: proto.MultistageSettleWatcherInfo
+}
+var file_InBattleMechanicusSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InBattleMechanicusSettleInfo.watcher_list:type_name -> proto.MultistageSettleWatcherInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusSettleInfo_proto_init() }
+func file_InBattleMechanicusSettleInfo_proto_init() {
+ if File_InBattleMechanicusSettleInfo_proto != nil {
+ return
+ }
+ file_MultistageSettleWatcherInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusSettleInfo_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusSettleInfo_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusSettleInfo_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusSettleInfo_proto = out.File
+ file_InBattleMechanicusSettleInfo_proto_rawDesc = nil
+ file_InBattleMechanicusSettleInfo_proto_goTypes = nil
+ file_InBattleMechanicusSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusSettleNotify.pb.go b/protocol/proto/InBattleMechanicusSettleNotify.pb.go
new file mode 100644
index 00000000..324432e7
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusSettleNotify.pb.go
@@ -0,0 +1,242 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5305
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InBattleMechanicusSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,15,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ SceneTimeMs uint64 `protobuf:"varint,11,opt,name=scene_time_ms,json=sceneTimeMs,proto3" json:"scene_time_ms,omitempty"`
+ DifficultyPercentage uint32 `protobuf:"varint,6,opt,name=difficulty_percentage,json=difficultyPercentage,proto3" json:"difficulty_percentage,omitempty"`
+ TotalToken uint32 `protobuf:"varint,7,opt,name=total_token,json=totalToken,proto3" json:"total_token,omitempty"`
+ WatcherList []*MultistageSettleWatcherInfo `protobuf:"bytes,3,rep,name=watcher_list,json=watcherList,proto3" json:"watcher_list,omitempty"`
+ RealToken uint32 `protobuf:"varint,13,opt,name=real_token,json=realToken,proto3" json:"real_token,omitempty"`
+ IsSuccess bool `protobuf:"varint,2,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,14,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+}
+
+func (x *InBattleMechanicusSettleNotify) Reset() {
+ *x = InBattleMechanicusSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InBattleMechanicusSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InBattleMechanicusSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InBattleMechanicusSettleNotify) ProtoMessage() {}
+
+func (x *InBattleMechanicusSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InBattleMechanicusSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InBattleMechanicusSettleNotify.ProtoReflect.Descriptor instead.
+func (*InBattleMechanicusSettleNotify) Descriptor() ([]byte, []int) {
+ return file_InBattleMechanicusSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InBattleMechanicusSettleNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleNotify) GetSceneTimeMs() uint64 {
+ if x != nil {
+ return x.SceneTimeMs
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleNotify) GetDifficultyPercentage() uint32 {
+ if x != nil {
+ return x.DifficultyPercentage
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleNotify) GetTotalToken() uint32 {
+ if x != nil {
+ return x.TotalToken
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleNotify) GetWatcherList() []*MultistageSettleWatcherInfo {
+ if x != nil {
+ return x.WatcherList
+ }
+ return nil
+}
+
+func (x *InBattleMechanicusSettleNotify) GetRealToken() uint32 {
+ if x != nil {
+ return x.RealToken
+ }
+ return 0
+}
+
+func (x *InBattleMechanicusSettleNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *InBattleMechanicusSettleNotify) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+var File_InBattleMechanicusSettleNotify_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x4d,
+ 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x57,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xd9, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63,
+ 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x22,
+ 0x0a, 0x0d, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x4d, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79,
+ 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x14, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x50, 0x65, 0x72,
+ 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x0c, 0x77, 0x61, 0x74, 0x63,
+ 0x68, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x61, 0x6c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusSettleNotify_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusSettleNotify_proto_rawDescData = file_InBattleMechanicusSettleNotify_proto_rawDesc
+)
+
+func file_InBattleMechanicusSettleNotify_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusSettleNotify_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusSettleNotify_proto_rawDescData)
+ })
+ return file_InBattleMechanicusSettleNotify_proto_rawDescData
+}
+
+var file_InBattleMechanicusSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InBattleMechanicusSettleNotify_proto_goTypes = []interface{}{
+ (*InBattleMechanicusSettleNotify)(nil), // 0: proto.InBattleMechanicusSettleNotify
+ (*MultistageSettleWatcherInfo)(nil), // 1: proto.MultistageSettleWatcherInfo
+}
+var file_InBattleMechanicusSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.InBattleMechanicusSettleNotify.watcher_list:type_name -> proto.MultistageSettleWatcherInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusSettleNotify_proto_init() }
+func file_InBattleMechanicusSettleNotify_proto_init() {
+ if File_InBattleMechanicusSettleNotify_proto != nil {
+ return
+ }
+ file_MultistageSettleWatcherInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InBattleMechanicusSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InBattleMechanicusSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusSettleNotify_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusSettleNotify_proto_depIdxs,
+ MessageInfos: file_InBattleMechanicusSettleNotify_proto_msgTypes,
+ }.Build()
+ File_InBattleMechanicusSettleNotify_proto = out.File
+ file_InBattleMechanicusSettleNotify_proto_rawDesc = nil
+ file_InBattleMechanicusSettleNotify_proto_goTypes = nil
+ file_InBattleMechanicusSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InBattleMechanicusStageType.pb.go b/protocol/proto/InBattleMechanicusStageType.pb.go
new file mode 100644
index 00000000..bb1f469a
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusStageType.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InBattleMechanicusStageType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InBattleMechanicusStageType int32
+
+const (
+ InBattleMechanicusStageType_IN_BATTLE_MECHANICUS_STAGE_TYPE_NONE InBattleMechanicusStageType = 0
+ InBattleMechanicusStageType_IN_BATTLE_MECHANICUS_STAGE_TYPE_BUILD InBattleMechanicusStageType = 1
+ InBattleMechanicusStageType_IN_BATTLE_MECHANICUS_STAGE_TYPE_CARD_FLIP InBattleMechanicusStageType = 2
+ InBattleMechanicusStageType_IN_BATTLE_MECHANICUS_STAGE_TYPE_KILL InBattleMechanicusStageType = 3
+)
+
+// Enum value maps for InBattleMechanicusStageType.
+var (
+ InBattleMechanicusStageType_name = map[int32]string{
+ 0: "IN_BATTLE_MECHANICUS_STAGE_TYPE_NONE",
+ 1: "IN_BATTLE_MECHANICUS_STAGE_TYPE_BUILD",
+ 2: "IN_BATTLE_MECHANICUS_STAGE_TYPE_CARD_FLIP",
+ 3: "IN_BATTLE_MECHANICUS_STAGE_TYPE_KILL",
+ }
+ InBattleMechanicusStageType_value = map[string]int32{
+ "IN_BATTLE_MECHANICUS_STAGE_TYPE_NONE": 0,
+ "IN_BATTLE_MECHANICUS_STAGE_TYPE_BUILD": 1,
+ "IN_BATTLE_MECHANICUS_STAGE_TYPE_CARD_FLIP": 2,
+ "IN_BATTLE_MECHANICUS_STAGE_TYPE_KILL": 3,
+ }
+)
+
+func (x InBattleMechanicusStageType) Enum() *InBattleMechanicusStageType {
+ p := new(InBattleMechanicusStageType)
+ *p = x
+ return p
+}
+
+func (x InBattleMechanicusStageType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (InBattleMechanicusStageType) Descriptor() protoreflect.EnumDescriptor {
+ return file_InBattleMechanicusStageType_proto_enumTypes[0].Descriptor()
+}
+
+func (InBattleMechanicusStageType) Type() protoreflect.EnumType {
+ return &file_InBattleMechanicusStageType_proto_enumTypes[0]
+}
+
+func (x InBattleMechanicusStageType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use InBattleMechanicusStageType.Descriptor instead.
+func (InBattleMechanicusStageType) EnumDescriptor() ([]byte, []int) {
+ return file_InBattleMechanicusStageType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_InBattleMechanicusStageType_proto protoreflect.FileDescriptor
+
+var file_InBattleMechanicusStageType_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xcb, 0x01, 0x0a, 0x1b, 0x49,
+ 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75,
+ 0x73, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x49, 0x4e,
+ 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43,
+ 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x49, 0x4e, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c,
+ 0x45, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41,
+ 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x01, 0x12,
+ 0x2d, 0x0a, 0x29, 0x49, 0x4e, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x43,
+ 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x46, 0x4c, 0x49, 0x50, 0x10, 0x02, 0x12, 0x28,
+ 0x0a, 0x24, 0x49, 0x4e, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4d, 0x45, 0x43, 0x48,
+ 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InBattleMechanicusStageType_proto_rawDescOnce sync.Once
+ file_InBattleMechanicusStageType_proto_rawDescData = file_InBattleMechanicusStageType_proto_rawDesc
+)
+
+func file_InBattleMechanicusStageType_proto_rawDescGZIP() []byte {
+ file_InBattleMechanicusStageType_proto_rawDescOnce.Do(func() {
+ file_InBattleMechanicusStageType_proto_rawDescData = protoimpl.X.CompressGZIP(file_InBattleMechanicusStageType_proto_rawDescData)
+ })
+ return file_InBattleMechanicusStageType_proto_rawDescData
+}
+
+var file_InBattleMechanicusStageType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_InBattleMechanicusStageType_proto_goTypes = []interface{}{
+ (InBattleMechanicusStageType)(0), // 0: proto.InBattleMechanicusStageType
+}
+var file_InBattleMechanicusStageType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InBattleMechanicusStageType_proto_init() }
+func file_InBattleMechanicusStageType_proto_init() {
+ if File_InBattleMechanicusStageType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InBattleMechanicusStageType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InBattleMechanicusStageType_proto_goTypes,
+ DependencyIndexes: file_InBattleMechanicusStageType_proto_depIdxs,
+ EnumInfos: file_InBattleMechanicusStageType_proto_enumTypes,
+ }.Build()
+ File_InBattleMechanicusStageType_proto = out.File
+ file_InBattleMechanicusStageType_proto_rawDesc = nil
+ file_InBattleMechanicusStageType_proto_goTypes = nil
+ file_InBattleMechanicusStageType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InferencePageInfo.pb.go b/protocol/proto/InferencePageInfo.pb.go
new file mode 100644
index 00000000..913cb635
--- /dev/null
+++ b/protocol/proto/InferencePageInfo.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InferencePageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InferencePageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PageId uint32 `protobuf:"varint,3,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
+ UnlockWordList []*InfernceWordInfo `protobuf:"bytes,15,rep,name=unlock_word_list,json=unlockWordList,proto3" json:"unlock_word_list,omitempty"`
+}
+
+func (x *InferencePageInfo) Reset() {
+ *x = InferencePageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InferencePageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InferencePageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InferencePageInfo) ProtoMessage() {}
+
+func (x *InferencePageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InferencePageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InferencePageInfo.ProtoReflect.Descriptor instead.
+func (*InferencePageInfo) Descriptor() ([]byte, []int) {
+ return file_InferencePageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InferencePageInfo) GetPageId() uint32 {
+ if x != nil {
+ return x.PageId
+ }
+ return 0
+}
+
+func (x *InferencePageInfo) GetUnlockWordList() []*InfernceWordInfo {
+ if x != nil {
+ return x.UnlockWordList
+ }
+ return nil
+}
+
+var File_InferencePageInfo_proto protoreflect.FileDescriptor
+
+var file_InferencePageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x11, 0x49, 0x6e, 0x66, 0x65,
+ 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a,
+ 0x07, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x10, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x5f, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x63,
+ 0x65, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x75, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x57, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InferencePageInfo_proto_rawDescOnce sync.Once
+ file_InferencePageInfo_proto_rawDescData = file_InferencePageInfo_proto_rawDesc
+)
+
+func file_InferencePageInfo_proto_rawDescGZIP() []byte {
+ file_InferencePageInfo_proto_rawDescOnce.Do(func() {
+ file_InferencePageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InferencePageInfo_proto_rawDescData)
+ })
+ return file_InferencePageInfo_proto_rawDescData
+}
+
+var file_InferencePageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InferencePageInfo_proto_goTypes = []interface{}{
+ (*InferencePageInfo)(nil), // 0: proto.InferencePageInfo
+ (*InfernceWordInfo)(nil), // 1: proto.InfernceWordInfo
+}
+var file_InferencePageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InferencePageInfo.unlock_word_list:type_name -> proto.InfernceWordInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InferencePageInfo_proto_init() }
+func file_InferencePageInfo_proto_init() {
+ if File_InferencePageInfo_proto != nil {
+ return
+ }
+ file_InfernceWordInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InferencePageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InferencePageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InferencePageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InferencePageInfo_proto_goTypes,
+ DependencyIndexes: file_InferencePageInfo_proto_depIdxs,
+ MessageInfos: file_InferencePageInfo_proto_msgTypes,
+ }.Build()
+ File_InferencePageInfo_proto = out.File
+ file_InferencePageInfo_proto_rawDesc = nil
+ file_InferencePageInfo_proto_goTypes = nil
+ file_InferencePageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InfernceWordInfo.pb.go b/protocol/proto/InfernceWordInfo.pb.go
new file mode 100644
index 00000000..c216c861
--- /dev/null
+++ b/protocol/proto/InfernceWordInfo.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InfernceWordInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InfernceWordInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WordId uint32 `protobuf:"varint,8,opt,name=word_id,json=wordId,proto3" json:"word_id,omitempty"`
+ IsInterpret bool `protobuf:"varint,15,opt,name=is_interpret,json=isInterpret,proto3" json:"is_interpret,omitempty"`
+ IsSubmit bool `protobuf:"varint,10,opt,name=is_submit,json=isSubmit,proto3" json:"is_submit,omitempty"`
+ IsAssociate bool `protobuf:"varint,6,opt,name=is_associate,json=isAssociate,proto3" json:"is_associate,omitempty"`
+ UnlockByWordId uint32 `protobuf:"varint,5,opt,name=unlock_by_word_id,json=unlockByWordId,proto3" json:"unlock_by_word_id,omitempty"`
+}
+
+func (x *InfernceWordInfo) Reset() {
+ *x = InfernceWordInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InfernceWordInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InfernceWordInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InfernceWordInfo) ProtoMessage() {}
+
+func (x *InfernceWordInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InfernceWordInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InfernceWordInfo.ProtoReflect.Descriptor instead.
+func (*InfernceWordInfo) Descriptor() ([]byte, []int) {
+ return file_InfernceWordInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InfernceWordInfo) GetWordId() uint32 {
+ if x != nil {
+ return x.WordId
+ }
+ return 0
+}
+
+func (x *InfernceWordInfo) GetIsInterpret() bool {
+ if x != nil {
+ return x.IsInterpret
+ }
+ return false
+}
+
+func (x *InfernceWordInfo) GetIsSubmit() bool {
+ if x != nil {
+ return x.IsSubmit
+ }
+ return false
+}
+
+func (x *InfernceWordInfo) GetIsAssociate() bool {
+ if x != nil {
+ return x.IsAssociate
+ }
+ return false
+}
+
+func (x *InfernceWordInfo) GetUnlockByWordId() uint32 {
+ if x != nil {
+ return x.UnlockByWordId
+ }
+ return 0
+}
+
+var File_InfernceWordInfo_proto protoreflect.FileDescriptor
+
+var file_InfernceWordInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb9, 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x21, 0x0a,
+ 0x0c, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74,
+ 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a,
+ 0x0c, 0x69, 0x73, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65,
+ 0x12, 0x29, 0x0a, 0x11, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x79, 0x5f, 0x77, 0x6f,
+ 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x75, 0x6e, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InfernceWordInfo_proto_rawDescOnce sync.Once
+ file_InfernceWordInfo_proto_rawDescData = file_InfernceWordInfo_proto_rawDesc
+)
+
+func file_InfernceWordInfo_proto_rawDescGZIP() []byte {
+ file_InfernceWordInfo_proto_rawDescOnce.Do(func() {
+ file_InfernceWordInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InfernceWordInfo_proto_rawDescData)
+ })
+ return file_InfernceWordInfo_proto_rawDescData
+}
+
+var file_InfernceWordInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InfernceWordInfo_proto_goTypes = []interface{}{
+ (*InfernceWordInfo)(nil), // 0: proto.InfernceWordInfo
+}
+var file_InfernceWordInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InfernceWordInfo_proto_init() }
+func file_InfernceWordInfo_proto_init() {
+ if File_InfernceWordInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InfernceWordInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InfernceWordInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InfernceWordInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InfernceWordInfo_proto_goTypes,
+ DependencyIndexes: file_InfernceWordInfo_proto_depIdxs,
+ MessageInfos: file_InfernceWordInfo_proto_msgTypes,
+ }.Build()
+ File_InfernceWordInfo_proto = out.File
+ file_InfernceWordInfo_proto_rawDesc = nil
+ file_InfernceWordInfo_proto_goTypes = nil
+ file_InfernceWordInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayAvatarInfo.pb.go b/protocol/proto/InstableSprayAvatarInfo.pb.go
new file mode 100644
index 00000000..8ec00c84
--- /dev/null
+++ b/protocol/proto/InstableSprayAvatarInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InstableSprayAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsTrial bool `protobuf:"varint,8,opt,name=is_trial,json=isTrial,proto3" json:"is_trial,omitempty"`
+ AvatarId uint64 `protobuf:"varint,2,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *InstableSprayAvatarInfo) Reset() {
+ *x = InstableSprayAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayAvatarInfo) ProtoMessage() {}
+
+func (x *InstableSprayAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayAvatarInfo.ProtoReflect.Descriptor instead.
+func (*InstableSprayAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_InstableSprayAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayAvatarInfo) GetIsTrial() bool {
+ if x != nil {
+ return x.IsTrial
+ }
+ return false
+}
+
+func (x *InstableSprayAvatarInfo) GetAvatarId() uint64 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_InstableSprayAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_InstableSprayAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayAvatarInfo_proto_rawDescOnce sync.Once
+ file_InstableSprayAvatarInfo_proto_rawDescData = file_InstableSprayAvatarInfo_proto_rawDesc
+)
+
+func file_InstableSprayAvatarInfo_proto_rawDescGZIP() []byte {
+ file_InstableSprayAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_InstableSprayAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayAvatarInfo_proto_rawDescData)
+ })
+ return file_InstableSprayAvatarInfo_proto_rawDescData
+}
+
+var file_InstableSprayAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayAvatarInfo_proto_goTypes = []interface{}{
+ (*InstableSprayAvatarInfo)(nil), // 0: proto.InstableSprayAvatarInfo
+}
+var file_InstableSprayAvatarInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayAvatarInfo_proto_init() }
+func file_InstableSprayAvatarInfo_proto_init() {
+ if File_InstableSprayAvatarInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_InstableSprayAvatarInfo_proto_depIdxs,
+ MessageInfos: file_InstableSprayAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_InstableSprayAvatarInfo_proto = out.File
+ file_InstableSprayAvatarInfo_proto_rawDesc = nil
+ file_InstableSprayAvatarInfo_proto_goTypes = nil
+ file_InstableSprayAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayDetailInfo.pb.go b/protocol/proto/InstableSprayDetailInfo.pb.go
new file mode 100644
index 00000000..baf28e54
--- /dev/null
+++ b/protocol/proto/InstableSprayDetailInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InstableSprayDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageInfoList []*InstableSprayStageInfo `protobuf:"bytes,9,rep,name=stage_info_list,json=stageInfoList,proto3" json:"stage_info_list,omitempty"`
+}
+
+func (x *InstableSprayDetailInfo) Reset() {
+ *x = InstableSprayDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayDetailInfo) ProtoMessage() {}
+
+func (x *InstableSprayDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayDetailInfo.ProtoReflect.Descriptor instead.
+func (*InstableSprayDetailInfo) Descriptor() ([]byte, []int) {
+ return file_InstableSprayDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayDetailInfo) GetStageInfoList() []*InstableSprayStageInfo {
+ if x != nil {
+ return x.StageInfoList
+ }
+ return nil
+}
+
+var File_InstableSprayDetailInfo_proto protoreflect.FileDescriptor
+
+var file_InstableSprayDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x53, 0x70, 0x72, 0x61, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x53, 0x70, 0x72, 0x61, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x45, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayDetailInfo_proto_rawDescOnce sync.Once
+ file_InstableSprayDetailInfo_proto_rawDescData = file_InstableSprayDetailInfo_proto_rawDesc
+)
+
+func file_InstableSprayDetailInfo_proto_rawDescGZIP() []byte {
+ file_InstableSprayDetailInfo_proto_rawDescOnce.Do(func() {
+ file_InstableSprayDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayDetailInfo_proto_rawDescData)
+ })
+ return file_InstableSprayDetailInfo_proto_rawDescData
+}
+
+var file_InstableSprayDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayDetailInfo_proto_goTypes = []interface{}{
+ (*InstableSprayDetailInfo)(nil), // 0: proto.InstableSprayDetailInfo
+ (*InstableSprayStageInfo)(nil), // 1: proto.InstableSprayStageInfo
+}
+var file_InstableSprayDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InstableSprayDetailInfo.stage_info_list:type_name -> proto.InstableSprayStageInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayDetailInfo_proto_init() }
+func file_InstableSprayDetailInfo_proto_init() {
+ if File_InstableSprayDetailInfo_proto != nil {
+ return
+ }
+ file_InstableSprayStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayDetailInfo_proto_goTypes,
+ DependencyIndexes: file_InstableSprayDetailInfo_proto_depIdxs,
+ MessageInfos: file_InstableSprayDetailInfo_proto_msgTypes,
+ }.Build()
+ File_InstableSprayDetailInfo_proto = out.File
+ file_InstableSprayDetailInfo_proto_rawDesc = nil
+ file_InstableSprayDetailInfo_proto_goTypes = nil
+ file_InstableSprayDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayEnterDungeonReq.pb.go b/protocol/proto/InstableSprayEnterDungeonReq.pb.go
new file mode 100644
index 00000000..f96db214
--- /dev/null
+++ b/protocol/proto/InstableSprayEnterDungeonReq.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayEnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24312
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InstableSprayEnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,13,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ Difficulty uint32 `protobuf:"varint,2,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+ AvatarInfoList []*InstableSprayAvatarInfo `protobuf:"bytes,7,rep,name=avatar_info_list,json=avatarInfoList,proto3" json:"avatar_info_list,omitempty"`
+}
+
+func (x *InstableSprayEnterDungeonReq) Reset() {
+ *x = InstableSprayEnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayEnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayEnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayEnterDungeonReq) ProtoMessage() {}
+
+func (x *InstableSprayEnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayEnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayEnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*InstableSprayEnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_InstableSprayEnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayEnterDungeonReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *InstableSprayEnterDungeonReq) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+func (x *InstableSprayEnterDungeonReq) GetAvatarInfoList() []*InstableSprayAvatarInfo {
+ if x != nil {
+ return x.AvatarInfoList
+ }
+ return nil
+}
+
+var File_InstableSprayEnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_InstableSprayEnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x49, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x01, 0x0a, 0x1c, 0x49,
+ 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63,
+ 0x75, 0x6c, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x48, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayEnterDungeonReq_proto_rawDescOnce sync.Once
+ file_InstableSprayEnterDungeonReq_proto_rawDescData = file_InstableSprayEnterDungeonReq_proto_rawDesc
+)
+
+func file_InstableSprayEnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_InstableSprayEnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_InstableSprayEnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayEnterDungeonReq_proto_rawDescData)
+ })
+ return file_InstableSprayEnterDungeonReq_proto_rawDescData
+}
+
+var file_InstableSprayEnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayEnterDungeonReq_proto_goTypes = []interface{}{
+ (*InstableSprayEnterDungeonReq)(nil), // 0: proto.InstableSprayEnterDungeonReq
+ (*InstableSprayAvatarInfo)(nil), // 1: proto.InstableSprayAvatarInfo
+}
+var file_InstableSprayEnterDungeonReq_proto_depIdxs = []int32{
+ 1, // 0: proto.InstableSprayEnterDungeonReq.avatar_info_list:type_name -> proto.InstableSprayAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayEnterDungeonReq_proto_init() }
+func file_InstableSprayEnterDungeonReq_proto_init() {
+ if File_InstableSprayEnterDungeonReq_proto != nil {
+ return
+ }
+ file_InstableSprayAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayEnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayEnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayEnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayEnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_InstableSprayEnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_InstableSprayEnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_InstableSprayEnterDungeonReq_proto = out.File
+ file_InstableSprayEnterDungeonReq_proto_rawDesc = nil
+ file_InstableSprayEnterDungeonReq_proto_goTypes = nil
+ file_InstableSprayEnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayEnterDungeonRsp.pb.go b/protocol/proto/InstableSprayEnterDungeonRsp.pb.go
new file mode 100644
index 00000000..9d516c65
--- /dev/null
+++ b/protocol/proto/InstableSprayEnterDungeonRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayEnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23381
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InstableSprayEnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,11,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *InstableSprayEnterDungeonRsp) Reset() {
+ *x = InstableSprayEnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayEnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayEnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayEnterDungeonRsp) ProtoMessage() {}
+
+func (x *InstableSprayEnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayEnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayEnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*InstableSprayEnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_InstableSprayEnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayEnterDungeonRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *InstableSprayEnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_InstableSprayEnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_InstableSprayEnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1c, 0x49,
+ 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayEnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_InstableSprayEnterDungeonRsp_proto_rawDescData = file_InstableSprayEnterDungeonRsp_proto_rawDesc
+)
+
+func file_InstableSprayEnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_InstableSprayEnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_InstableSprayEnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayEnterDungeonRsp_proto_rawDescData)
+ })
+ return file_InstableSprayEnterDungeonRsp_proto_rawDescData
+}
+
+var file_InstableSprayEnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayEnterDungeonRsp_proto_goTypes = []interface{}{
+ (*InstableSprayEnterDungeonRsp)(nil), // 0: proto.InstableSprayEnterDungeonRsp
+}
+var file_InstableSprayEnterDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayEnterDungeonRsp_proto_init() }
+func file_InstableSprayEnterDungeonRsp_proto_init() {
+ if File_InstableSprayEnterDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayEnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayEnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayEnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayEnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_InstableSprayEnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_InstableSprayEnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_InstableSprayEnterDungeonRsp_proto = out.File
+ file_InstableSprayEnterDungeonRsp_proto_rawDesc = nil
+ file_InstableSprayEnterDungeonRsp_proto_goTypes = nil
+ file_InstableSprayEnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayGalleryInfoNotify.pb.go b/protocol/proto/InstableSprayGalleryInfoNotify.pb.go
new file mode 100644
index 00000000..c6c9b970
--- /dev/null
+++ b/protocol/proto/InstableSprayGalleryInfoNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayGalleryInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5588
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InstableSprayGalleryInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,3,opt,name=score,proto3" json:"score,omitempty"`
+}
+
+func (x *InstableSprayGalleryInfoNotify) Reset() {
+ *x = InstableSprayGalleryInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayGalleryInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayGalleryInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayGalleryInfoNotify) ProtoMessage() {}
+
+func (x *InstableSprayGalleryInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayGalleryInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayGalleryInfoNotify.ProtoReflect.Descriptor instead.
+func (*InstableSprayGalleryInfoNotify) Descriptor() ([]byte, []int) {
+ return file_InstableSprayGalleryInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayGalleryInfoNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+var File_InstableSprayGalleryInfoNotify_proto protoreflect.FileDescriptor
+
+var file_InstableSprayGalleryInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a,
+ 0x1e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayGalleryInfoNotify_proto_rawDescOnce sync.Once
+ file_InstableSprayGalleryInfoNotify_proto_rawDescData = file_InstableSprayGalleryInfoNotify_proto_rawDesc
+)
+
+func file_InstableSprayGalleryInfoNotify_proto_rawDescGZIP() []byte {
+ file_InstableSprayGalleryInfoNotify_proto_rawDescOnce.Do(func() {
+ file_InstableSprayGalleryInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayGalleryInfoNotify_proto_rawDescData)
+ })
+ return file_InstableSprayGalleryInfoNotify_proto_rawDescData
+}
+
+var file_InstableSprayGalleryInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayGalleryInfoNotify_proto_goTypes = []interface{}{
+ (*InstableSprayGalleryInfoNotify)(nil), // 0: proto.InstableSprayGalleryInfoNotify
+}
+var file_InstableSprayGalleryInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayGalleryInfoNotify_proto_init() }
+func file_InstableSprayGalleryInfoNotify_proto_init() {
+ if File_InstableSprayGalleryInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayGalleryInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayGalleryInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayGalleryInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayGalleryInfoNotify_proto_goTypes,
+ DependencyIndexes: file_InstableSprayGalleryInfoNotify_proto_depIdxs,
+ MessageInfos: file_InstableSprayGalleryInfoNotify_proto_msgTypes,
+ }.Build()
+ File_InstableSprayGalleryInfoNotify_proto = out.File
+ file_InstableSprayGalleryInfoNotify_proto_rawDesc = nil
+ file_InstableSprayGalleryInfoNotify_proto_goTypes = nil
+ file_InstableSprayGalleryInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayLevelFinishNotify.pb.go b/protocol/proto/InstableSprayLevelFinishNotify.pb.go
new file mode 100644
index 00000000..3bf27e73
--- /dev/null
+++ b/protocol/proto/InstableSprayLevelFinishNotify.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayLevelFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21961
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InstableSprayLevelFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNeedSwitchTeam bool `protobuf:"varint,11,opt,name=is_need_switch_team,json=isNeedSwitchTeam,proto3" json:"is_need_switch_team,omitempty"`
+ IsSkipBlackScreen bool `protobuf:"varint,7,opt,name=is_skip_black_screen,json=isSkipBlackScreen,proto3" json:"is_skip_black_screen,omitempty"`
+ Round uint32 `protobuf:"varint,15,opt,name=round,proto3" json:"round,omitempty"`
+ StageId uint32 `protobuf:"varint,8,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,10,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *InstableSprayLevelFinishNotify) Reset() {
+ *x = InstableSprayLevelFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayLevelFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayLevelFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayLevelFinishNotify) ProtoMessage() {}
+
+func (x *InstableSprayLevelFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayLevelFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayLevelFinishNotify.ProtoReflect.Descriptor instead.
+func (*InstableSprayLevelFinishNotify) Descriptor() ([]byte, []int) {
+ return file_InstableSprayLevelFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayLevelFinishNotify) GetIsNeedSwitchTeam() bool {
+ if x != nil {
+ return x.IsNeedSwitchTeam
+ }
+ return false
+}
+
+func (x *InstableSprayLevelFinishNotify) GetIsSkipBlackScreen() bool {
+ if x != nil {
+ return x.IsSkipBlackScreen
+ }
+ return false
+}
+
+func (x *InstableSprayLevelFinishNotify) GetRound() uint32 {
+ if x != nil {
+ return x.Round
+ }
+ return 0
+}
+
+func (x *InstableSprayLevelFinishNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *InstableSprayLevelFinishNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_InstableSprayLevelFinishNotify_proto protoreflect.FileDescriptor
+
+var file_InstableSprayLevelFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01,
+ 0x0a, 0x1e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x73, 0x77, 0x69, 0x74,
+ 0x63, 0x68, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69,
+ 0x73, 0x4e, 0x65, 0x65, 0x64, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x12,
+ 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x62, 0x6c, 0x61, 0x63, 0x6b,
+ 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69,
+ 0x73, 0x53, 0x6b, 0x69, 0x70, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e,
+ 0x12, 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayLevelFinishNotify_proto_rawDescOnce sync.Once
+ file_InstableSprayLevelFinishNotify_proto_rawDescData = file_InstableSprayLevelFinishNotify_proto_rawDesc
+)
+
+func file_InstableSprayLevelFinishNotify_proto_rawDescGZIP() []byte {
+ file_InstableSprayLevelFinishNotify_proto_rawDescOnce.Do(func() {
+ file_InstableSprayLevelFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayLevelFinishNotify_proto_rawDescData)
+ })
+ return file_InstableSprayLevelFinishNotify_proto_rawDescData
+}
+
+var file_InstableSprayLevelFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayLevelFinishNotify_proto_goTypes = []interface{}{
+ (*InstableSprayLevelFinishNotify)(nil), // 0: proto.InstableSprayLevelFinishNotify
+}
+var file_InstableSprayLevelFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayLevelFinishNotify_proto_init() }
+func file_InstableSprayLevelFinishNotify_proto_init() {
+ if File_InstableSprayLevelFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayLevelFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayLevelFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayLevelFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayLevelFinishNotify_proto_goTypes,
+ DependencyIndexes: file_InstableSprayLevelFinishNotify_proto_depIdxs,
+ MessageInfos: file_InstableSprayLevelFinishNotify_proto_msgTypes,
+ }.Build()
+ File_InstableSprayLevelFinishNotify_proto = out.File
+ file_InstableSprayLevelFinishNotify_proto_rawDesc = nil
+ file_InstableSprayLevelFinishNotify_proto_goTypes = nil
+ file_InstableSprayLevelFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayRestartDungeonReq.pb.go b/protocol/proto/InstableSprayRestartDungeonReq.pb.go
new file mode 100644
index 00000000..53ea1593
--- /dev/null
+++ b/protocol/proto/InstableSprayRestartDungeonReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayRestartDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23678
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InstableSprayRestartDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarInfoList []*InstableSprayAvatarInfo `protobuf:"bytes,6,rep,name=avatar_info_list,json=avatarInfoList,proto3" json:"avatar_info_list,omitempty"`
+}
+
+func (x *InstableSprayRestartDungeonReq) Reset() {
+ *x = InstableSprayRestartDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayRestartDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayRestartDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayRestartDungeonReq) ProtoMessage() {}
+
+func (x *InstableSprayRestartDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayRestartDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayRestartDungeonReq.ProtoReflect.Descriptor instead.
+func (*InstableSprayRestartDungeonReq) Descriptor() ([]byte, []int) {
+ return file_InstableSprayRestartDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayRestartDungeonReq) GetAvatarInfoList() []*InstableSprayAvatarInfo {
+ if x != nil {
+ return x.AvatarInfoList
+ }
+ return nil
+}
+
+var File_InstableSprayRestartDungeonReq_proto protoreflect.FileDescriptor
+
+var file_InstableSprayRestartDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x49,
+ 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x1e,
+ 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x52, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x48,
+ 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayRestartDungeonReq_proto_rawDescOnce sync.Once
+ file_InstableSprayRestartDungeonReq_proto_rawDescData = file_InstableSprayRestartDungeonReq_proto_rawDesc
+)
+
+func file_InstableSprayRestartDungeonReq_proto_rawDescGZIP() []byte {
+ file_InstableSprayRestartDungeonReq_proto_rawDescOnce.Do(func() {
+ file_InstableSprayRestartDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayRestartDungeonReq_proto_rawDescData)
+ })
+ return file_InstableSprayRestartDungeonReq_proto_rawDescData
+}
+
+var file_InstableSprayRestartDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayRestartDungeonReq_proto_goTypes = []interface{}{
+ (*InstableSprayRestartDungeonReq)(nil), // 0: proto.InstableSprayRestartDungeonReq
+ (*InstableSprayAvatarInfo)(nil), // 1: proto.InstableSprayAvatarInfo
+}
+var file_InstableSprayRestartDungeonReq_proto_depIdxs = []int32{
+ 1, // 0: proto.InstableSprayRestartDungeonReq.avatar_info_list:type_name -> proto.InstableSprayAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayRestartDungeonReq_proto_init() }
+func file_InstableSprayRestartDungeonReq_proto_init() {
+ if File_InstableSprayRestartDungeonReq_proto != nil {
+ return
+ }
+ file_InstableSprayAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayRestartDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayRestartDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayRestartDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayRestartDungeonReq_proto_goTypes,
+ DependencyIndexes: file_InstableSprayRestartDungeonReq_proto_depIdxs,
+ MessageInfos: file_InstableSprayRestartDungeonReq_proto_msgTypes,
+ }.Build()
+ File_InstableSprayRestartDungeonReq_proto = out.File
+ file_InstableSprayRestartDungeonReq_proto_rawDesc = nil
+ file_InstableSprayRestartDungeonReq_proto_goTypes = nil
+ file_InstableSprayRestartDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayRestartDungeonRsp.pb.go b/protocol/proto/InstableSprayRestartDungeonRsp.pb.go
new file mode 100644
index 00000000..869feb73
--- /dev/null
+++ b/protocol/proto/InstableSprayRestartDungeonRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayRestartDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24923
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InstableSprayRestartDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,1,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *InstableSprayRestartDungeonRsp) Reset() {
+ *x = InstableSprayRestartDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayRestartDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayRestartDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayRestartDungeonRsp) ProtoMessage() {}
+
+func (x *InstableSprayRestartDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayRestartDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayRestartDungeonRsp.ProtoReflect.Descriptor instead.
+func (*InstableSprayRestartDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_InstableSprayRestartDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayRestartDungeonRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *InstableSprayRestartDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_InstableSprayRestartDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_InstableSprayRestartDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a,
+ 0x1e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x52, 0x65,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12,
+ 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayRestartDungeonRsp_proto_rawDescOnce sync.Once
+ file_InstableSprayRestartDungeonRsp_proto_rawDescData = file_InstableSprayRestartDungeonRsp_proto_rawDesc
+)
+
+func file_InstableSprayRestartDungeonRsp_proto_rawDescGZIP() []byte {
+ file_InstableSprayRestartDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_InstableSprayRestartDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayRestartDungeonRsp_proto_rawDescData)
+ })
+ return file_InstableSprayRestartDungeonRsp_proto_rawDescData
+}
+
+var file_InstableSprayRestartDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayRestartDungeonRsp_proto_goTypes = []interface{}{
+ (*InstableSprayRestartDungeonRsp)(nil), // 0: proto.InstableSprayRestartDungeonRsp
+}
+var file_InstableSprayRestartDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayRestartDungeonRsp_proto_init() }
+func file_InstableSprayRestartDungeonRsp_proto_init() {
+ if File_InstableSprayRestartDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayRestartDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayRestartDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayRestartDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayRestartDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_InstableSprayRestartDungeonRsp_proto_depIdxs,
+ MessageInfos: file_InstableSprayRestartDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_InstableSprayRestartDungeonRsp_proto = out.File
+ file_InstableSprayRestartDungeonRsp_proto_rawDesc = nil
+ file_InstableSprayRestartDungeonRsp_proto_goTypes = nil
+ file_InstableSprayRestartDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSpraySettleInfo.pb.go b/protocol/proto/InstableSpraySettleInfo.pb.go
new file mode 100644
index 00000000..738c4feb
--- /dev/null
+++ b/protocol/proto/InstableSpraySettleInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSpraySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InstableSpraySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,1,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ ScoreList []uint32 `protobuf:"varint,4,rep,packed,name=score_list,json=scoreList,proto3" json:"score_list,omitempty"`
+ IsNewRecord bool `protobuf:"varint,13,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ Difficulty uint32 `protobuf:"varint,5,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+}
+
+func (x *InstableSpraySettleInfo) Reset() {
+ *x = InstableSpraySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSpraySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSpraySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSpraySettleInfo) ProtoMessage() {}
+
+func (x *InstableSpraySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSpraySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSpraySettleInfo.ProtoReflect.Descriptor instead.
+func (*InstableSpraySettleInfo) Descriptor() ([]byte, []int) {
+ return file_InstableSpraySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSpraySettleInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *InstableSpraySettleInfo) GetScoreList() []uint32 {
+ if x != nil {
+ return x.ScoreList
+ }
+ return nil
+}
+
+func (x *InstableSpraySettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *InstableSpraySettleInfo) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+var File_InstableSpraySettleInfo_proto protoreflect.FileDescriptor
+
+var file_InstableSpraySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d,
+ 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSpraySettleInfo_proto_rawDescOnce sync.Once
+ file_InstableSpraySettleInfo_proto_rawDescData = file_InstableSpraySettleInfo_proto_rawDesc
+)
+
+func file_InstableSpraySettleInfo_proto_rawDescGZIP() []byte {
+ file_InstableSpraySettleInfo_proto_rawDescOnce.Do(func() {
+ file_InstableSpraySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSpraySettleInfo_proto_rawDescData)
+ })
+ return file_InstableSpraySettleInfo_proto_rawDescData
+}
+
+var file_InstableSpraySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSpraySettleInfo_proto_goTypes = []interface{}{
+ (*InstableSpraySettleInfo)(nil), // 0: proto.InstableSpraySettleInfo
+}
+var file_InstableSpraySettleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InstableSpraySettleInfo_proto_init() }
+func file_InstableSpraySettleInfo_proto_init() {
+ if File_InstableSpraySettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSpraySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSpraySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSpraySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSpraySettleInfo_proto_goTypes,
+ DependencyIndexes: file_InstableSpraySettleInfo_proto_depIdxs,
+ MessageInfos: file_InstableSpraySettleInfo_proto_msgTypes,
+ }.Build()
+ File_InstableSpraySettleInfo_proto = out.File
+ file_InstableSpraySettleInfo_proto_rawDesc = nil
+ file_InstableSpraySettleInfo_proto_goTypes = nil
+ file_InstableSpraySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayStageInfo.pb.go b/protocol/proto/InstableSprayStageInfo.pb.go
new file mode 100644
index 00000000..b58b0954
--- /dev/null
+++ b/protocol/proto/InstableSprayStageInfo.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InstableSprayStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinished bool `protobuf:"varint,10,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ MaxScore uint32 `protobuf:"varint,3,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ StageId uint32 `protobuf:"varint,4,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ TeamInfoList []*InstableSprayTeamInfo `protobuf:"bytes,6,rep,name=team_info_list,json=teamInfoList,proto3" json:"team_info_list,omitempty"`
+}
+
+func (x *InstableSprayStageInfo) Reset() {
+ *x = InstableSprayStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayStageInfo) ProtoMessage() {}
+
+func (x *InstableSprayStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayStageInfo.ProtoReflect.Descriptor instead.
+func (*InstableSprayStageInfo) Descriptor() ([]byte, []int) {
+ return file_InstableSprayStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayStageInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *InstableSprayStageInfo) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *InstableSprayStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *InstableSprayStageInfo) GetTeamInfoList() []*InstableSprayTeamInfo {
+ if x != nil {
+ return x.TeamInfoList
+ }
+ return nil
+}
+
+var File_InstableSprayStageInfo_proto protoreflect.FileDescriptor
+
+var file_InstableSprayStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x70, 0x72, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x70, 0x72, 0x61, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x70, 0x72, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x74, 0x65,
+ 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayStageInfo_proto_rawDescOnce sync.Once
+ file_InstableSprayStageInfo_proto_rawDescData = file_InstableSprayStageInfo_proto_rawDesc
+)
+
+func file_InstableSprayStageInfo_proto_rawDescGZIP() []byte {
+ file_InstableSprayStageInfo_proto_rawDescOnce.Do(func() {
+ file_InstableSprayStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayStageInfo_proto_rawDescData)
+ })
+ return file_InstableSprayStageInfo_proto_rawDescData
+}
+
+var file_InstableSprayStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayStageInfo_proto_goTypes = []interface{}{
+ (*InstableSprayStageInfo)(nil), // 0: proto.InstableSprayStageInfo
+ (*InstableSprayTeamInfo)(nil), // 1: proto.InstableSprayTeamInfo
+}
+var file_InstableSprayStageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InstableSprayStageInfo.team_info_list:type_name -> proto.InstableSprayTeamInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayStageInfo_proto_init() }
+func file_InstableSprayStageInfo_proto_init() {
+ if File_InstableSprayStageInfo_proto != nil {
+ return
+ }
+ file_InstableSprayTeamInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayStageInfo_proto_goTypes,
+ DependencyIndexes: file_InstableSprayStageInfo_proto_depIdxs,
+ MessageInfos: file_InstableSprayStageInfo_proto_msgTypes,
+ }.Build()
+ File_InstableSprayStageInfo_proto = out.File
+ file_InstableSprayStageInfo_proto_rawDesc = nil
+ file_InstableSprayStageInfo_proto_goTypes = nil
+ file_InstableSprayStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSpraySwitchTeamReq.pb.go b/protocol/proto/InstableSpraySwitchTeamReq.pb.go
new file mode 100644
index 00000000..751dece6
--- /dev/null
+++ b/protocol/proto/InstableSpraySwitchTeamReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSpraySwitchTeamReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24857
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InstableSpraySwitchTeamReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarInfoList []*InstableSprayAvatarInfo `protobuf:"bytes,13,rep,name=avatar_info_list,json=avatarInfoList,proto3" json:"avatar_info_list,omitempty"`
+}
+
+func (x *InstableSpraySwitchTeamReq) Reset() {
+ *x = InstableSpraySwitchTeamReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSpraySwitchTeamReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSpraySwitchTeamReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSpraySwitchTeamReq) ProtoMessage() {}
+
+func (x *InstableSpraySwitchTeamReq) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSpraySwitchTeamReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSpraySwitchTeamReq.ProtoReflect.Descriptor instead.
+func (*InstableSpraySwitchTeamReq) Descriptor() ([]byte, []int) {
+ return file_InstableSpraySwitchTeamReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSpraySwitchTeamReq) GetAvatarInfoList() []*InstableSprayAvatarInfo {
+ if x != nil {
+ return x.AvatarInfoList
+ }
+ return nil
+}
+
+var File_InstableSpraySwitchTeamReq_proto protoreflect.FileDescriptor
+
+var file_InstableSpraySwitchTeamReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53,
+ 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x49, 0x6e, 0x73, 0x74, 0x61,
+ 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54,
+ 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x48, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSpraySwitchTeamReq_proto_rawDescOnce sync.Once
+ file_InstableSpraySwitchTeamReq_proto_rawDescData = file_InstableSpraySwitchTeamReq_proto_rawDesc
+)
+
+func file_InstableSpraySwitchTeamReq_proto_rawDescGZIP() []byte {
+ file_InstableSpraySwitchTeamReq_proto_rawDescOnce.Do(func() {
+ file_InstableSpraySwitchTeamReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSpraySwitchTeamReq_proto_rawDescData)
+ })
+ return file_InstableSpraySwitchTeamReq_proto_rawDescData
+}
+
+var file_InstableSpraySwitchTeamReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSpraySwitchTeamReq_proto_goTypes = []interface{}{
+ (*InstableSpraySwitchTeamReq)(nil), // 0: proto.InstableSpraySwitchTeamReq
+ (*InstableSprayAvatarInfo)(nil), // 1: proto.InstableSprayAvatarInfo
+}
+var file_InstableSpraySwitchTeamReq_proto_depIdxs = []int32{
+ 1, // 0: proto.InstableSpraySwitchTeamReq.avatar_info_list:type_name -> proto.InstableSprayAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InstableSpraySwitchTeamReq_proto_init() }
+func file_InstableSpraySwitchTeamReq_proto_init() {
+ if File_InstableSpraySwitchTeamReq_proto != nil {
+ return
+ }
+ file_InstableSprayAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSpraySwitchTeamReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSpraySwitchTeamReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSpraySwitchTeamReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSpraySwitchTeamReq_proto_goTypes,
+ DependencyIndexes: file_InstableSpraySwitchTeamReq_proto_depIdxs,
+ MessageInfos: file_InstableSpraySwitchTeamReq_proto_msgTypes,
+ }.Build()
+ File_InstableSpraySwitchTeamReq_proto = out.File
+ file_InstableSpraySwitchTeamReq_proto_rawDesc = nil
+ file_InstableSpraySwitchTeamReq_proto_goTypes = nil
+ file_InstableSpraySwitchTeamReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSpraySwitchTeamRsp.pb.go b/protocol/proto/InstableSpraySwitchTeamRsp.pb.go
new file mode 100644
index 00000000..450abfa4
--- /dev/null
+++ b/protocol/proto/InstableSpraySwitchTeamRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSpraySwitchTeamRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24152
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InstableSpraySwitchTeamRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,1,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *InstableSpraySwitchTeamRsp) Reset() {
+ *x = InstableSpraySwitchTeamRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSpraySwitchTeamRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSpraySwitchTeamRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSpraySwitchTeamRsp) ProtoMessage() {}
+
+func (x *InstableSpraySwitchTeamRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSpraySwitchTeamRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSpraySwitchTeamRsp.ProtoReflect.Descriptor instead.
+func (*InstableSpraySwitchTeamRsp) Descriptor() ([]byte, []int) {
+ return file_InstableSpraySwitchTeamRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSpraySwitchTeamRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *InstableSpraySwitchTeamRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_InstableSpraySwitchTeamRsp_proto protoreflect.FileDescriptor
+
+var file_InstableSpraySwitchTeamRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53,
+ 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x1a, 0x49, 0x6e, 0x73,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
+ 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSpraySwitchTeamRsp_proto_rawDescOnce sync.Once
+ file_InstableSpraySwitchTeamRsp_proto_rawDescData = file_InstableSpraySwitchTeamRsp_proto_rawDesc
+)
+
+func file_InstableSpraySwitchTeamRsp_proto_rawDescGZIP() []byte {
+ file_InstableSpraySwitchTeamRsp_proto_rawDescOnce.Do(func() {
+ file_InstableSpraySwitchTeamRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSpraySwitchTeamRsp_proto_rawDescData)
+ })
+ return file_InstableSpraySwitchTeamRsp_proto_rawDescData
+}
+
+var file_InstableSpraySwitchTeamRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSpraySwitchTeamRsp_proto_goTypes = []interface{}{
+ (*InstableSpraySwitchTeamRsp)(nil), // 0: proto.InstableSpraySwitchTeamRsp
+}
+var file_InstableSpraySwitchTeamRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InstableSpraySwitchTeamRsp_proto_init() }
+func file_InstableSpraySwitchTeamRsp_proto_init() {
+ if File_InstableSpraySwitchTeamRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSpraySwitchTeamRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSpraySwitchTeamRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSpraySwitchTeamRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSpraySwitchTeamRsp_proto_goTypes,
+ DependencyIndexes: file_InstableSpraySwitchTeamRsp_proto_depIdxs,
+ MessageInfos: file_InstableSpraySwitchTeamRsp_proto_msgTypes,
+ }.Build()
+ File_InstableSpraySwitchTeamRsp_proto = out.File
+ file_InstableSpraySwitchTeamRsp_proto_rawDesc = nil
+ file_InstableSpraySwitchTeamRsp_proto_goTypes = nil
+ file_InstableSpraySwitchTeamRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InstableSprayTeamInfo.pb.go b/protocol/proto/InstableSprayTeamInfo.pb.go
new file mode 100644
index 00000000..ead4a9bc
--- /dev/null
+++ b/protocol/proto/InstableSprayTeamInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InstableSprayTeamInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InstableSprayTeamInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarInfoList []*InstableSprayAvatarInfo `protobuf:"bytes,13,rep,name=avatar_info_list,json=avatarInfoList,proto3" json:"avatar_info_list,omitempty"`
+}
+
+func (x *InstableSprayTeamInfo) Reset() {
+ *x = InstableSprayTeamInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InstableSprayTeamInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InstableSprayTeamInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InstableSprayTeamInfo) ProtoMessage() {}
+
+func (x *InstableSprayTeamInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_InstableSprayTeamInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InstableSprayTeamInfo.ProtoReflect.Descriptor instead.
+func (*InstableSprayTeamInfo) Descriptor() ([]byte, []int) {
+ return file_InstableSprayTeamInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InstableSprayTeamInfo) GetAvatarInfoList() []*InstableSprayAvatarInfo {
+ if x != nil {
+ return x.AvatarInfoList
+ }
+ return nil
+}
+
+var File_InstableSprayTeamInfo_proto protoreflect.FileDescriptor
+
+var file_InstableSprayTeamInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x54,
+ 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70,
+ 0x72, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x70, 0x72, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x10,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
+ 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InstableSprayTeamInfo_proto_rawDescOnce sync.Once
+ file_InstableSprayTeamInfo_proto_rawDescData = file_InstableSprayTeamInfo_proto_rawDesc
+)
+
+func file_InstableSprayTeamInfo_proto_rawDescGZIP() []byte {
+ file_InstableSprayTeamInfo_proto_rawDescOnce.Do(func() {
+ file_InstableSprayTeamInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_InstableSprayTeamInfo_proto_rawDescData)
+ })
+ return file_InstableSprayTeamInfo_proto_rawDescData
+}
+
+var file_InstableSprayTeamInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InstableSprayTeamInfo_proto_goTypes = []interface{}{
+ (*InstableSprayTeamInfo)(nil), // 0: proto.InstableSprayTeamInfo
+ (*InstableSprayAvatarInfo)(nil), // 1: proto.InstableSprayAvatarInfo
+}
+var file_InstableSprayTeamInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.InstableSprayTeamInfo.avatar_info_list:type_name -> proto.InstableSprayAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InstableSprayTeamInfo_proto_init() }
+func file_InstableSprayTeamInfo_proto_init() {
+ if File_InstableSprayTeamInfo_proto != nil {
+ return
+ }
+ file_InstableSprayAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InstableSprayTeamInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InstableSprayTeamInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InstableSprayTeamInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InstableSprayTeamInfo_proto_goTypes,
+ DependencyIndexes: file_InstableSprayTeamInfo_proto_depIdxs,
+ MessageInfos: file_InstableSprayTeamInfo_proto_msgTypes,
+ }.Build()
+ File_InstableSprayTeamInfo_proto = out.File
+ file_InstableSprayTeamInfo_proto_rawDesc = nil
+ file_InstableSprayTeamInfo_proto_goTypes = nil
+ file_InstableSprayTeamInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InterOpType.pb.go b/protocol/proto/InterOpType.pb.go
new file mode 100644
index 00000000..479e72c3
--- /dev/null
+++ b/protocol/proto/InterOpType.pb.go
@@ -0,0 +1,144 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InterOpType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InterOpType int32
+
+const (
+ InterOpType_INTER_OP_TYPE_FINISH InterOpType = 0
+ InterOpType_INTER_OP_TYPE_START InterOpType = 1
+)
+
+// Enum value maps for InterOpType.
+var (
+ InterOpType_name = map[int32]string{
+ 0: "INTER_OP_TYPE_FINISH",
+ 1: "INTER_OP_TYPE_START",
+ }
+ InterOpType_value = map[string]int32{
+ "INTER_OP_TYPE_FINISH": 0,
+ "INTER_OP_TYPE_START": 1,
+ }
+)
+
+func (x InterOpType) Enum() *InterOpType {
+ p := new(InterOpType)
+ *p = x
+ return p
+}
+
+func (x InterOpType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (InterOpType) Descriptor() protoreflect.EnumDescriptor {
+ return file_InterOpType_proto_enumTypes[0].Descriptor()
+}
+
+func (InterOpType) Type() protoreflect.EnumType {
+ return &file_InterOpType_proto_enumTypes[0]
+}
+
+func (x InterOpType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use InterOpType.Descriptor instead.
+func (InterOpType) EnumDescriptor() ([]byte, []int) {
+ return file_InterOpType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_InterOpType_proto protoreflect.FileDescriptor
+
+var file_InterOpType_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x40, 0x0a, 0x0b, 0x49, 0x6e,
+ 0x74, 0x65, 0x72, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x54,
+ 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53,
+ 0x48, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InterOpType_proto_rawDescOnce sync.Once
+ file_InterOpType_proto_rawDescData = file_InterOpType_proto_rawDesc
+)
+
+func file_InterOpType_proto_rawDescGZIP() []byte {
+ file_InterOpType_proto_rawDescOnce.Do(func() {
+ file_InterOpType_proto_rawDescData = protoimpl.X.CompressGZIP(file_InterOpType_proto_rawDescData)
+ })
+ return file_InterOpType_proto_rawDescData
+}
+
+var file_InterOpType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_InterOpType_proto_goTypes = []interface{}{
+ (InterOpType)(0), // 0: proto.InterOpType
+}
+var file_InterOpType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InterOpType_proto_init() }
+func file_InterOpType_proto_init() {
+ if File_InterOpType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InterOpType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InterOpType_proto_goTypes,
+ DependencyIndexes: file_InterOpType_proto_depIdxs,
+ EnumInfos: file_InterOpType_proto_enumTypes,
+ }.Build()
+ File_InterOpType_proto = out.File
+ file_InterOpType_proto_rawDesc = nil
+ file_InterOpType_proto_goTypes = nil
+ file_InterOpType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InteractDailyDungeonInfoNotify.pb.go b/protocol/proto/InteractDailyDungeonInfoNotify.pb.go
new file mode 100644
index 00000000..17a89021
--- /dev/null
+++ b/protocol/proto/InteractDailyDungeonInfoNotify.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InteractDailyDungeonInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 919
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InteractDailyDungeonInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *InteractDailyDungeonInfoNotify) Reset() {
+ *x = InteractDailyDungeonInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InteractDailyDungeonInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InteractDailyDungeonInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InteractDailyDungeonInfoNotify) ProtoMessage() {}
+
+func (x *InteractDailyDungeonInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InteractDailyDungeonInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InteractDailyDungeonInfoNotify.ProtoReflect.Descriptor instead.
+func (*InteractDailyDungeonInfoNotify) Descriptor() ([]byte, []int) {
+ return file_InteractDailyDungeonInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_InteractDailyDungeonInfoNotify_proto protoreflect.FileDescriptor
+
+var file_InteractDailyDungeonInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InteractDailyDungeonInfoNotify_proto_rawDescOnce sync.Once
+ file_InteractDailyDungeonInfoNotify_proto_rawDescData = file_InteractDailyDungeonInfoNotify_proto_rawDesc
+)
+
+func file_InteractDailyDungeonInfoNotify_proto_rawDescGZIP() []byte {
+ file_InteractDailyDungeonInfoNotify_proto_rawDescOnce.Do(func() {
+ file_InteractDailyDungeonInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InteractDailyDungeonInfoNotify_proto_rawDescData)
+ })
+ return file_InteractDailyDungeonInfoNotify_proto_rawDescData
+}
+
+var file_InteractDailyDungeonInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InteractDailyDungeonInfoNotify_proto_goTypes = []interface{}{
+ (*InteractDailyDungeonInfoNotify)(nil), // 0: proto.InteractDailyDungeonInfoNotify
+}
+var file_InteractDailyDungeonInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InteractDailyDungeonInfoNotify_proto_init() }
+func file_InteractDailyDungeonInfoNotify_proto_init() {
+ if File_InteractDailyDungeonInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InteractDailyDungeonInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InteractDailyDungeonInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InteractDailyDungeonInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InteractDailyDungeonInfoNotify_proto_goTypes,
+ DependencyIndexes: file_InteractDailyDungeonInfoNotify_proto_depIdxs,
+ MessageInfos: file_InteractDailyDungeonInfoNotify_proto_msgTypes,
+ }.Build()
+ File_InteractDailyDungeonInfoNotify_proto = out.File
+ file_InteractDailyDungeonInfoNotify_proto_rawDesc = nil
+ file_InteractDailyDungeonInfoNotify_proto_goTypes = nil
+ file_InteractDailyDungeonInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InteractType.pb.go b/protocol/proto/InteractType.pb.go
new file mode 100644
index 00000000..35d82556
--- /dev/null
+++ b/protocol/proto/InteractType.pb.go
@@ -0,0 +1,218 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InteractType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InteractType int32
+
+const (
+ InteractType_INTERACT_TYPE_NONE InteractType = 0
+ InteractType_INTERACT_TYPE_PICK_ITEM InteractType = 1
+ InteractType_INTERACT_TYPE_GATHER InteractType = 2
+ InteractType_INTERACT_TYPE_OPEN_CHEST InteractType = 3
+ InteractType_INTERACT_TYPE_OPEN_STATUE InteractType = 4
+ InteractType_INTERACT_TYPE_CONSUM InteractType = 5
+ InteractType_INTERACT_TYPE_MP_PLAY_REWARD InteractType = 6
+ InteractType_INTERACT_TYPE_VIEW InteractType = 7
+ InteractType_INTERACT_TYPE_GENERAL_REWARD InteractType = 8
+ InteractType_INTERACT_TYPE_MIRACLE_RING InteractType = 9
+ InteractType_INTERACT_TYPE_FOUNDATION InteractType = 10
+ InteractType_INTERACT_TYPE_ECHO_SHELL InteractType = 11
+ InteractType_INTERACT_TYPE_HOME_GATHER InteractType = 12
+ InteractType_INTERACT_TYPE_ENV_ANIMAL InteractType = 13
+ InteractType_INTERACT_TYPE_QUEST_GADGET InteractType = 14
+ InteractType_INTERACT_TYPE_UI_INTERACT InteractType = 15
+ InteractType_INTERACT_TYPE_DESHRET_OBELISK InteractType = 16
+)
+
+// Enum value maps for InteractType.
+var (
+ InteractType_name = map[int32]string{
+ 0: "INTERACT_TYPE_NONE",
+ 1: "INTERACT_TYPE_PICK_ITEM",
+ 2: "INTERACT_TYPE_GATHER",
+ 3: "INTERACT_TYPE_OPEN_CHEST",
+ 4: "INTERACT_TYPE_OPEN_STATUE",
+ 5: "INTERACT_TYPE_CONSUM",
+ 6: "INTERACT_TYPE_MP_PLAY_REWARD",
+ 7: "INTERACT_TYPE_VIEW",
+ 8: "INTERACT_TYPE_GENERAL_REWARD",
+ 9: "INTERACT_TYPE_MIRACLE_RING",
+ 10: "INTERACT_TYPE_FOUNDATION",
+ 11: "INTERACT_TYPE_ECHO_SHELL",
+ 12: "INTERACT_TYPE_HOME_GATHER",
+ 13: "INTERACT_TYPE_ENV_ANIMAL",
+ 14: "INTERACT_TYPE_QUEST_GADGET",
+ 15: "INTERACT_TYPE_UI_INTERACT",
+ 16: "INTERACT_TYPE_DESHRET_OBELISK",
+ }
+ InteractType_value = map[string]int32{
+ "INTERACT_TYPE_NONE": 0,
+ "INTERACT_TYPE_PICK_ITEM": 1,
+ "INTERACT_TYPE_GATHER": 2,
+ "INTERACT_TYPE_OPEN_CHEST": 3,
+ "INTERACT_TYPE_OPEN_STATUE": 4,
+ "INTERACT_TYPE_CONSUM": 5,
+ "INTERACT_TYPE_MP_PLAY_REWARD": 6,
+ "INTERACT_TYPE_VIEW": 7,
+ "INTERACT_TYPE_GENERAL_REWARD": 8,
+ "INTERACT_TYPE_MIRACLE_RING": 9,
+ "INTERACT_TYPE_FOUNDATION": 10,
+ "INTERACT_TYPE_ECHO_SHELL": 11,
+ "INTERACT_TYPE_HOME_GATHER": 12,
+ "INTERACT_TYPE_ENV_ANIMAL": 13,
+ "INTERACT_TYPE_QUEST_GADGET": 14,
+ "INTERACT_TYPE_UI_INTERACT": 15,
+ "INTERACT_TYPE_DESHRET_OBELISK": 16,
+ }
+)
+
+func (x InteractType) Enum() *InteractType {
+ p := new(InteractType)
+ *p = x
+ return p
+}
+
+func (x InteractType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (InteractType) Descriptor() protoreflect.EnumDescriptor {
+ return file_InteractType_proto_enumTypes[0].Descriptor()
+}
+
+func (InteractType) Type() protoreflect.EnumType {
+ return &file_InteractType_proto_enumTypes[0]
+}
+
+func (x InteractType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use InteractType.Descriptor instead.
+func (InteractType) EnumDescriptor() ([]byte, []int) {
+ return file_InteractType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_InteractType_proto protoreflect.FileDescriptor
+
+var file_InteractType_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x8b, 0x04, 0x0a, 0x0c,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12,
+ 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10,
+ 0x01, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x47, 0x41, 0x54, 0x48, 0x45, 0x52, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x49,
+ 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x50, 0x45,
+ 0x4e, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x54,
+ 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x54, 0x45,
+ 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d,
+ 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x57, 0x41,
+ 0x52, 0x44, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c,
+ 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x45,
+ 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x08, 0x12, 0x1e,
+ 0x0a, 0x1a, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x4d, 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x09, 0x12, 0x1c,
+ 0x0a, 0x18, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18,
+ 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x43,
+ 0x48, 0x4f, 0x5f, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e,
+ 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x4f, 0x4d, 0x45,
+ 0x5f, 0x47, 0x41, 0x54, 0x48, 0x45, 0x52, 0x10, 0x0c, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x54,
+ 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x56, 0x5f, 0x41,
+ 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x10, 0x0d, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x54, 0x45, 0x52,
+ 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x47,
+ 0x41, 0x44, 0x47, 0x45, 0x54, 0x10, 0x0e, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x54, 0x45, 0x52,
+ 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x5f, 0x49, 0x4e, 0x54, 0x45,
+ 0x52, 0x41, 0x43, 0x54, 0x10, 0x0f, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41,
+ 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x48, 0x52, 0x45, 0x54, 0x5f,
+ 0x4f, 0x42, 0x45, 0x4c, 0x49, 0x53, 0x4b, 0x10, 0x10, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InteractType_proto_rawDescOnce sync.Once
+ file_InteractType_proto_rawDescData = file_InteractType_proto_rawDesc
+)
+
+func file_InteractType_proto_rawDescGZIP() []byte {
+ file_InteractType_proto_rawDescOnce.Do(func() {
+ file_InteractType_proto_rawDescData = protoimpl.X.CompressGZIP(file_InteractType_proto_rawDescData)
+ })
+ return file_InteractType_proto_rawDescData
+}
+
+var file_InteractType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_InteractType_proto_goTypes = []interface{}{
+ (InteractType)(0), // 0: proto.InteractType
+}
+var file_InteractType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InteractType_proto_init() }
+func file_InteractType_proto_init() {
+ if File_InteractType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InteractType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InteractType_proto_goTypes,
+ DependencyIndexes: file_InteractType_proto_depIdxs,
+ EnumInfos: file_InteractType_proto_enumTypes,
+ }.Build()
+ File_InteractType_proto = out.File
+ file_InteractType_proto_rawDesc = nil
+ file_InteractType_proto_goTypes = nil
+ file_InteractType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InterpretInferenceWordReq.pb.go b/protocol/proto/InterpretInferenceWordReq.pb.go
new file mode 100644
index 00000000..7245ac9e
--- /dev/null
+++ b/protocol/proto/InterpretInferenceWordReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InterpretInferenceWordReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 419
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InterpretInferenceWordReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WordId uint32 `protobuf:"varint,2,opt,name=word_id,json=wordId,proto3" json:"word_id,omitempty"`
+ PageId uint32 `protobuf:"varint,4,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
+}
+
+func (x *InterpretInferenceWordReq) Reset() {
+ *x = InterpretInferenceWordReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InterpretInferenceWordReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InterpretInferenceWordReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InterpretInferenceWordReq) ProtoMessage() {}
+
+func (x *InterpretInferenceWordReq) ProtoReflect() protoreflect.Message {
+ mi := &file_InterpretInferenceWordReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InterpretInferenceWordReq.ProtoReflect.Descriptor instead.
+func (*InterpretInferenceWordReq) Descriptor() ([]byte, []int) {
+ return file_InterpretInferenceWordReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InterpretInferenceWordReq) GetWordId() uint32 {
+ if x != nil {
+ return x.WordId
+ }
+ return 0
+}
+
+func (x *InterpretInferenceWordReq) GetPageId() uint32 {
+ if x != nil {
+ return x.PageId
+ }
+ return 0
+}
+
+var File_InterpretInferenceWordReq_proto protoreflect.FileDescriptor
+
+var file_InterpretInferenceWordReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72,
+ 0x65, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x19, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x70, 0x72, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x57, 0x6f,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x70, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InterpretInferenceWordReq_proto_rawDescOnce sync.Once
+ file_InterpretInferenceWordReq_proto_rawDescData = file_InterpretInferenceWordReq_proto_rawDesc
+)
+
+func file_InterpretInferenceWordReq_proto_rawDescGZIP() []byte {
+ file_InterpretInferenceWordReq_proto_rawDescOnce.Do(func() {
+ file_InterpretInferenceWordReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_InterpretInferenceWordReq_proto_rawDescData)
+ })
+ return file_InterpretInferenceWordReq_proto_rawDescData
+}
+
+var file_InterpretInferenceWordReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InterpretInferenceWordReq_proto_goTypes = []interface{}{
+ (*InterpretInferenceWordReq)(nil), // 0: proto.InterpretInferenceWordReq
+}
+var file_InterpretInferenceWordReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InterpretInferenceWordReq_proto_init() }
+func file_InterpretInferenceWordReq_proto_init() {
+ if File_InterpretInferenceWordReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InterpretInferenceWordReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InterpretInferenceWordReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InterpretInferenceWordReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InterpretInferenceWordReq_proto_goTypes,
+ DependencyIndexes: file_InterpretInferenceWordReq_proto_depIdxs,
+ MessageInfos: file_InterpretInferenceWordReq_proto_msgTypes,
+ }.Build()
+ File_InterpretInferenceWordReq_proto = out.File
+ file_InterpretInferenceWordReq_proto_rawDesc = nil
+ file_InterpretInferenceWordReq_proto_goTypes = nil
+ file_InterpretInferenceWordReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InterpretInferenceWordRsp.pb.go b/protocol/proto/InterpretInferenceWordRsp.pb.go
new file mode 100644
index 00000000..1b605870
--- /dev/null
+++ b/protocol/proto/InterpretInferenceWordRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InterpretInferenceWordRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 461
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InterpretInferenceWordRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ WordId uint32 `protobuf:"varint,14,opt,name=word_id,json=wordId,proto3" json:"word_id,omitempty"`
+ PageId uint32 `protobuf:"varint,13,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
+}
+
+func (x *InterpretInferenceWordRsp) Reset() {
+ *x = InterpretInferenceWordRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InterpretInferenceWordRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InterpretInferenceWordRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InterpretInferenceWordRsp) ProtoMessage() {}
+
+func (x *InterpretInferenceWordRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_InterpretInferenceWordRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InterpretInferenceWordRsp.ProtoReflect.Descriptor instead.
+func (*InterpretInferenceWordRsp) Descriptor() ([]byte, []int) {
+ return file_InterpretInferenceWordRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InterpretInferenceWordRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *InterpretInferenceWordRsp) GetWordId() uint32 {
+ if x != nil {
+ return x.WordId
+ }
+ return 0
+}
+
+func (x *InterpretInferenceWordRsp) GetPageId() uint32 {
+ if x != nil {
+ return x.PageId
+ }
+ return 0
+}
+
+var File_InterpretInferenceWordRsp_proto protoreflect.FileDescriptor
+
+var file_InterpretInferenceWordRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72,
+ 0x65, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x19, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x70, 0x72, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x57, 0x6f,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x17, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InterpretInferenceWordRsp_proto_rawDescOnce sync.Once
+ file_InterpretInferenceWordRsp_proto_rawDescData = file_InterpretInferenceWordRsp_proto_rawDesc
+)
+
+func file_InterpretInferenceWordRsp_proto_rawDescGZIP() []byte {
+ file_InterpretInferenceWordRsp_proto_rawDescOnce.Do(func() {
+ file_InterpretInferenceWordRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_InterpretInferenceWordRsp_proto_rawDescData)
+ })
+ return file_InterpretInferenceWordRsp_proto_rawDescData
+}
+
+var file_InterpretInferenceWordRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InterpretInferenceWordRsp_proto_goTypes = []interface{}{
+ (*InterpretInferenceWordRsp)(nil), // 0: proto.InterpretInferenceWordRsp
+}
+var file_InterpretInferenceWordRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InterpretInferenceWordRsp_proto_init() }
+func file_InterpretInferenceWordRsp_proto_init() {
+ if File_InterpretInferenceWordRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InterpretInferenceWordRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InterpretInferenceWordRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InterpretInferenceWordRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InterpretInferenceWordRsp_proto_goTypes,
+ DependencyIndexes: file_InterpretInferenceWordRsp_proto_depIdxs,
+ MessageInfos: file_InterpretInferenceWordRsp_proto_msgTypes,
+ }.Build()
+ File_InterpretInferenceWordRsp_proto = out.File
+ file_InterpretInferenceWordRsp_proto_rawDesc = nil
+ file_InterpretInferenceWordRsp_proto_goTypes = nil
+ file_InterpretInferenceWordRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InterruptGalleryReq.pb.go b/protocol/proto/InterruptGalleryReq.pb.go
new file mode 100644
index 00000000..758f9d55
--- /dev/null
+++ b/protocol/proto/InterruptGalleryReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InterruptGalleryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5548
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InterruptGalleryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,13,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *InterruptGalleryReq) Reset() {
+ *x = InterruptGalleryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InterruptGalleryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InterruptGalleryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InterruptGalleryReq) ProtoMessage() {}
+
+func (x *InterruptGalleryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_InterruptGalleryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InterruptGalleryReq.ProtoReflect.Descriptor instead.
+func (*InterruptGalleryReq) Descriptor() ([]byte, []int) {
+ return file_InterruptGalleryReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InterruptGalleryReq) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_InterruptGalleryReq_proto protoreflect.FileDescriptor
+
+var file_InterruptGalleryReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InterruptGalleryReq_proto_rawDescOnce sync.Once
+ file_InterruptGalleryReq_proto_rawDescData = file_InterruptGalleryReq_proto_rawDesc
+)
+
+func file_InterruptGalleryReq_proto_rawDescGZIP() []byte {
+ file_InterruptGalleryReq_proto_rawDescOnce.Do(func() {
+ file_InterruptGalleryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_InterruptGalleryReq_proto_rawDescData)
+ })
+ return file_InterruptGalleryReq_proto_rawDescData
+}
+
+var file_InterruptGalleryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InterruptGalleryReq_proto_goTypes = []interface{}{
+ (*InterruptGalleryReq)(nil), // 0: proto.InterruptGalleryReq
+}
+var file_InterruptGalleryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InterruptGalleryReq_proto_init() }
+func file_InterruptGalleryReq_proto_init() {
+ if File_InterruptGalleryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InterruptGalleryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InterruptGalleryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InterruptGalleryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InterruptGalleryReq_proto_goTypes,
+ DependencyIndexes: file_InterruptGalleryReq_proto_depIdxs,
+ MessageInfos: file_InterruptGalleryReq_proto_msgTypes,
+ }.Build()
+ File_InterruptGalleryReq_proto = out.File
+ file_InterruptGalleryReq_proto_rawDesc = nil
+ file_InterruptGalleryReq_proto_goTypes = nil
+ file_InterruptGalleryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InterruptGalleryRsp.pb.go b/protocol/proto/InterruptGalleryRsp.pb.go
new file mode 100644
index 00000000..f7298d77
--- /dev/null
+++ b/protocol/proto/InterruptGalleryRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InterruptGalleryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5597
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InterruptGalleryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GalleryId uint32 `protobuf:"varint,9,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *InterruptGalleryRsp) Reset() {
+ *x = InterruptGalleryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InterruptGalleryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InterruptGalleryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InterruptGalleryRsp) ProtoMessage() {}
+
+func (x *InterruptGalleryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_InterruptGalleryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InterruptGalleryRsp.ProtoReflect.Descriptor instead.
+func (*InterruptGalleryRsp) Descriptor() ([]byte, []int) {
+ return file_InterruptGalleryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InterruptGalleryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *InterruptGalleryRsp) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_InterruptGalleryRsp_proto protoreflect.FileDescriptor
+
+var file_InterruptGalleryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InterruptGalleryRsp_proto_rawDescOnce sync.Once
+ file_InterruptGalleryRsp_proto_rawDescData = file_InterruptGalleryRsp_proto_rawDesc
+)
+
+func file_InterruptGalleryRsp_proto_rawDescGZIP() []byte {
+ file_InterruptGalleryRsp_proto_rawDescOnce.Do(func() {
+ file_InterruptGalleryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_InterruptGalleryRsp_proto_rawDescData)
+ })
+ return file_InterruptGalleryRsp_proto_rawDescData
+}
+
+var file_InterruptGalleryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InterruptGalleryRsp_proto_goTypes = []interface{}{
+ (*InterruptGalleryRsp)(nil), // 0: proto.InterruptGalleryRsp
+}
+var file_InterruptGalleryRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InterruptGalleryRsp_proto_init() }
+func file_InterruptGalleryRsp_proto_init() {
+ if File_InterruptGalleryRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InterruptGalleryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InterruptGalleryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InterruptGalleryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InterruptGalleryRsp_proto_goTypes,
+ DependencyIndexes: file_InterruptGalleryRsp_proto_depIdxs,
+ MessageInfos: file_InterruptGalleryRsp_proto_msgTypes,
+ }.Build()
+ File_InterruptGalleryRsp_proto = out.File
+ file_InterruptGalleryRsp_proto_rawDesc = nil
+ file_InterruptGalleryRsp_proto_goTypes = nil
+ file_InterruptGalleryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Investigation.pb.go b/protocol/proto/Investigation.pb.go
new file mode 100644
index 00000000..89cc0222
--- /dev/null
+++ b/protocol/proto/Investigation.pb.go
@@ -0,0 +1,251 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Investigation.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Investigation_State int32
+
+const (
+ Investigation_STATE_INVALID Investigation_State = 0
+ Investigation_STATE_IN_PROGRESS Investigation_State = 1
+ Investigation_STATE_COMPLETE Investigation_State = 2
+ Investigation_STATE_REWARD_TAKEN Investigation_State = 3
+)
+
+// Enum value maps for Investigation_State.
+var (
+ Investigation_State_name = map[int32]string{
+ 0: "STATE_INVALID",
+ 1: "STATE_IN_PROGRESS",
+ 2: "STATE_COMPLETE",
+ 3: "STATE_REWARD_TAKEN",
+ }
+ Investigation_State_value = map[string]int32{
+ "STATE_INVALID": 0,
+ "STATE_IN_PROGRESS": 1,
+ "STATE_COMPLETE": 2,
+ "STATE_REWARD_TAKEN": 3,
+ }
+)
+
+func (x Investigation_State) Enum() *Investigation_State {
+ p := new(Investigation_State)
+ *p = x
+ return p
+}
+
+func (x Investigation_State) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Investigation_State) Descriptor() protoreflect.EnumDescriptor {
+ return file_Investigation_proto_enumTypes[0].Descriptor()
+}
+
+func (Investigation_State) Type() protoreflect.EnumType {
+ return &file_Investigation_proto_enumTypes[0]
+}
+
+func (x Investigation_State) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use Investigation_State.Descriptor instead.
+func (Investigation_State) EnumDescriptor() ([]byte, []int) {
+ return file_Investigation_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type Investigation struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalProgress uint32 `protobuf:"varint,5,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+ State Investigation_State `protobuf:"varint,2,opt,name=state,proto3,enum=proto.Investigation_State" json:"state,omitempty"`
+ Progress uint32 `protobuf:"varint,13,opt,name=progress,proto3" json:"progress,omitempty"`
+ Id uint32 `protobuf:"varint,9,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *Investigation) Reset() {
+ *x = Investigation{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Investigation_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Investigation) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Investigation) ProtoMessage() {}
+
+func (x *Investigation) ProtoReflect() protoreflect.Message {
+ mi := &file_Investigation_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Investigation.ProtoReflect.Descriptor instead.
+func (*Investigation) Descriptor() ([]byte, []int) {
+ return file_Investigation_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Investigation) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+func (x *Investigation) GetState() Investigation_State {
+ if x != nil {
+ return x.State
+ }
+ return Investigation_STATE_INVALID
+}
+
+func (x *Investigation) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *Investigation) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_Investigation_proto protoreflect.FileDescriptor
+
+var file_Investigation_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a,
+ 0x0d, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25,
+ 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76,
+ 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x02, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x11, 0x0a, 0x0d,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12,
+ 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47,
+ 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54,
+ 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e,
+ 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Investigation_proto_rawDescOnce sync.Once
+ file_Investigation_proto_rawDescData = file_Investigation_proto_rawDesc
+)
+
+func file_Investigation_proto_rawDescGZIP() []byte {
+ file_Investigation_proto_rawDescOnce.Do(func() {
+ file_Investigation_proto_rawDescData = protoimpl.X.CompressGZIP(file_Investigation_proto_rawDescData)
+ })
+ return file_Investigation_proto_rawDescData
+}
+
+var file_Investigation_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_Investigation_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Investigation_proto_goTypes = []interface{}{
+ (Investigation_State)(0), // 0: proto.Investigation.State
+ (*Investigation)(nil), // 1: proto.Investigation
+}
+var file_Investigation_proto_depIdxs = []int32{
+ 0, // 0: proto.Investigation.state:type_name -> proto.Investigation.State
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_Investigation_proto_init() }
+func file_Investigation_proto_init() {
+ if File_Investigation_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Investigation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Investigation); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Investigation_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Investigation_proto_goTypes,
+ DependencyIndexes: file_Investigation_proto_depIdxs,
+ EnumInfos: file_Investigation_proto_enumTypes,
+ MessageInfos: file_Investigation_proto_msgTypes,
+ }.Build()
+ File_Investigation_proto = out.File
+ file_Investigation_proto_rawDesc = nil
+ file_Investigation_proto_goTypes = nil
+ file_Investigation_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InvestigationMonster.pb.go b/protocol/proto/InvestigationMonster.pb.go
new file mode 100644
index 00000000..d09d1229
--- /dev/null
+++ b/protocol/proto/InvestigationMonster.pb.go
@@ -0,0 +1,391 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InvestigationMonster.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InvestigationMonster_LockState int32
+
+const (
+ InvestigationMonster_LOCK_STATE_NONE InvestigationMonster_LockState = 0
+ InvestigationMonster_LOCK_STATE_QUEST InvestigationMonster_LockState = 1
+)
+
+// Enum value maps for InvestigationMonster_LockState.
+var (
+ InvestigationMonster_LockState_name = map[int32]string{
+ 0: "LOCK_STATE_NONE",
+ 1: "LOCK_STATE_QUEST",
+ }
+ InvestigationMonster_LockState_value = map[string]int32{
+ "LOCK_STATE_NONE": 0,
+ "LOCK_STATE_QUEST": 1,
+ }
+)
+
+func (x InvestigationMonster_LockState) Enum() *InvestigationMonster_LockState {
+ p := new(InvestigationMonster_LockState)
+ *p = x
+ return p
+}
+
+func (x InvestigationMonster_LockState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (InvestigationMonster_LockState) Descriptor() protoreflect.EnumDescriptor {
+ return file_InvestigationMonster_proto_enumTypes[0].Descriptor()
+}
+
+func (InvestigationMonster_LockState) Type() protoreflect.EnumType {
+ return &file_InvestigationMonster_proto_enumTypes[0]
+}
+
+func (x InvestigationMonster_LockState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use InvestigationMonster_LockState.Descriptor instead.
+func (InvestigationMonster_LockState) EnumDescriptor() ([]byte, []int) {
+ return file_InvestigationMonster_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type InvestigationMonster struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAlive bool `protobuf:"varint,9,opt,name=is_alive,json=isAlive,proto3" json:"is_alive,omitempty"`
+ RefreshInterval uint32 `protobuf:"varint,3,opt,name=refresh_interval,json=refreshInterval,proto3" json:"refresh_interval,omitempty"`
+ Id uint32 `protobuf:"varint,13,opt,name=id,proto3" json:"id,omitempty"`
+ Level uint32 `protobuf:"varint,5,opt,name=level,proto3" json:"level,omitempty"`
+ BossChestNum uint32 `protobuf:"varint,1,opt,name=boss_chest_num,json=bossChestNum,proto3" json:"boss_chest_num,omitempty"`
+ WeeklyBossResinDiscountInfo *WeeklyBossResinDiscountInfo `protobuf:"bytes,12,opt,name=weekly_boss_resin_discount_info,json=weeklyBossResinDiscountInfo,proto3" json:"weekly_boss_resin_discount_info,omitempty"`
+ MonsterId uint32 `protobuf:"varint,301,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,14,opt,name=pos,proto3" json:"pos,omitempty"`
+ Resin uint32 `protobuf:"varint,8,opt,name=resin,proto3" json:"resin,omitempty"`
+ MaxBossChestNum uint32 `protobuf:"varint,4,opt,name=max_boss_chest_num,json=maxBossChestNum,proto3" json:"max_boss_chest_num,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,11,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ GroupId uint32 `protobuf:"varint,285,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,10,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ IsAreaLocked bool `protobuf:"varint,15,opt,name=is_area_locked,json=isAreaLocked,proto3" json:"is_area_locked,omitempty"`
+ LockState InvestigationMonster_LockState `protobuf:"varint,2,opt,name=lock_state,json=lockState,proto3,enum=proto.InvestigationMonster_LockState" json:"lock_state,omitempty"`
+ NextBossChestRefreshTime uint32 `protobuf:"varint,7,opt,name=next_boss_chest_refresh_time,json=nextBossChestRefreshTime,proto3" json:"next_boss_chest_refresh_time,omitempty"`
+ CityId uint32 `protobuf:"varint,6,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *InvestigationMonster) Reset() {
+ *x = InvestigationMonster{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InvestigationMonster_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InvestigationMonster) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InvestigationMonster) ProtoMessage() {}
+
+func (x *InvestigationMonster) ProtoReflect() protoreflect.Message {
+ mi := &file_InvestigationMonster_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InvestigationMonster.ProtoReflect.Descriptor instead.
+func (*InvestigationMonster) Descriptor() ([]byte, []int) {
+ return file_InvestigationMonster_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InvestigationMonster) GetIsAlive() bool {
+ if x != nil {
+ return x.IsAlive
+ }
+ return false
+}
+
+func (x *InvestigationMonster) GetRefreshInterval() uint32 {
+ if x != nil {
+ return x.RefreshInterval
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetBossChestNum() uint32 {
+ if x != nil {
+ return x.BossChestNum
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetWeeklyBossResinDiscountInfo() *WeeklyBossResinDiscountInfo {
+ if x != nil {
+ return x.WeeklyBossResinDiscountInfo
+ }
+ return nil
+}
+
+func (x *InvestigationMonster) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *InvestigationMonster) GetResin() uint32 {
+ if x != nil {
+ return x.Resin
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetMaxBossChestNum() uint32 {
+ if x != nil {
+ return x.MaxBossChestNum
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetIsAreaLocked() bool {
+ if x != nil {
+ return x.IsAreaLocked
+ }
+ return false
+}
+
+func (x *InvestigationMonster) GetLockState() InvestigationMonster_LockState {
+ if x != nil {
+ return x.LockState
+ }
+ return InvestigationMonster_LOCK_STATE_NONE
+}
+
+func (x *InvestigationMonster) GetNextBossChestRefreshTime() uint32 {
+ if x != nil {
+ return x.NextBossChestRefreshTime
+ }
+ return 0
+}
+
+func (x *InvestigationMonster) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_InvestigationMonster_proto protoreflect.FileDescriptor
+
+var file_InvestigationMonster_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x21, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73,
+ 0x69, 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x05, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a,
+ 0x08, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x69, 0x73, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x66, 0x72,
+ 0x65, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72,
+ 0x76, 0x61, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x6f, 0x73,
+ 0x73, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x62, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12,
+ 0x68, 0x0a, 0x1f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x62, 0x6f, 0x73, 0x73, 0x5f, 0x72,
+ 0x65, 0x73, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69, 0x6e,
+ 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1b, 0x77, 0x65,
+ 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x44, 0x69, 0x73,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0xad, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65,
+ 0x73, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e,
+ 0x12, 0x2b, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x68, 0x65,
+ 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61,
+ 0x78, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a,
+ 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x72, 0x6f,
+ 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x9d, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64,
+ 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x41, 0x72, 0x65, 0x61,
+ 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x1c,
+ 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f,
+ 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x18, 0x6e, 0x65, 0x78, 0x74, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73,
+ 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07,
+ 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
+ 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x4f, 0x43, 0x4b, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_InvestigationMonster_proto_rawDescOnce sync.Once
+ file_InvestigationMonster_proto_rawDescData = file_InvestigationMonster_proto_rawDesc
+)
+
+func file_InvestigationMonster_proto_rawDescGZIP() []byte {
+ file_InvestigationMonster_proto_rawDescOnce.Do(func() {
+ file_InvestigationMonster_proto_rawDescData = protoimpl.X.CompressGZIP(file_InvestigationMonster_proto_rawDescData)
+ })
+ return file_InvestigationMonster_proto_rawDescData
+}
+
+var file_InvestigationMonster_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_InvestigationMonster_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InvestigationMonster_proto_goTypes = []interface{}{
+ (InvestigationMonster_LockState)(0), // 0: proto.InvestigationMonster.LockState
+ (*InvestigationMonster)(nil), // 1: proto.InvestigationMonster
+ (*WeeklyBossResinDiscountInfo)(nil), // 2: proto.WeeklyBossResinDiscountInfo
+ (*Vector)(nil), // 3: proto.Vector
+}
+var file_InvestigationMonster_proto_depIdxs = []int32{
+ 2, // 0: proto.InvestigationMonster.weekly_boss_resin_discount_info:type_name -> proto.WeeklyBossResinDiscountInfo
+ 3, // 1: proto.InvestigationMonster.pos:type_name -> proto.Vector
+ 0, // 2: proto.InvestigationMonster.lock_state:type_name -> proto.InvestigationMonster.LockState
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_InvestigationMonster_proto_init() }
+func file_InvestigationMonster_proto_init() {
+ if File_InvestigationMonster_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ file_WeeklyBossResinDiscountInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InvestigationMonster_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InvestigationMonster); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InvestigationMonster_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InvestigationMonster_proto_goTypes,
+ DependencyIndexes: file_InvestigationMonster_proto_depIdxs,
+ EnumInfos: file_InvestigationMonster_proto_enumTypes,
+ MessageInfos: file_InvestigationMonster_proto_msgTypes,
+ }.Build()
+ File_InvestigationMonster_proto = out.File
+ file_InvestigationMonster_proto_rawDesc = nil
+ file_InvestigationMonster_proto_goTypes = nil
+ file_InvestigationMonster_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InvestigationMonsterUpdateNotify.pb.go b/protocol/proto/InvestigationMonsterUpdateNotify.pb.go
new file mode 100644
index 00000000..1fb9e55b
--- /dev/null
+++ b/protocol/proto/InvestigationMonsterUpdateNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InvestigationMonsterUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1906
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InvestigationMonsterUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InvestigationMonster *InvestigationMonster `protobuf:"bytes,5,opt,name=investigation_monster,json=investigationMonster,proto3" json:"investigation_monster,omitempty"`
+}
+
+func (x *InvestigationMonsterUpdateNotify) Reset() {
+ *x = InvestigationMonsterUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InvestigationMonsterUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InvestigationMonsterUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InvestigationMonsterUpdateNotify) ProtoMessage() {}
+
+func (x *InvestigationMonsterUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InvestigationMonsterUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InvestigationMonsterUpdateNotify.ProtoReflect.Descriptor instead.
+func (*InvestigationMonsterUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_InvestigationMonsterUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InvestigationMonsterUpdateNotify) GetInvestigationMonster() *InvestigationMonster {
+ if x != nil {
+ return x.InvestigationMonster
+ }
+ return nil
+}
+
+var File_InvestigationMonsterUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_InvestigationMonsterUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1a, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x20, 0x49,
+ 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x50, 0x0a, 0x15, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x14, 0x69, 0x6e, 0x76,
+ 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InvestigationMonsterUpdateNotify_proto_rawDescOnce sync.Once
+ file_InvestigationMonsterUpdateNotify_proto_rawDescData = file_InvestigationMonsterUpdateNotify_proto_rawDesc
+)
+
+func file_InvestigationMonsterUpdateNotify_proto_rawDescGZIP() []byte {
+ file_InvestigationMonsterUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_InvestigationMonsterUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InvestigationMonsterUpdateNotify_proto_rawDescData)
+ })
+ return file_InvestigationMonsterUpdateNotify_proto_rawDescData
+}
+
+var file_InvestigationMonsterUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InvestigationMonsterUpdateNotify_proto_goTypes = []interface{}{
+ (*InvestigationMonsterUpdateNotify)(nil), // 0: proto.InvestigationMonsterUpdateNotify
+ (*InvestigationMonster)(nil), // 1: proto.InvestigationMonster
+}
+var file_InvestigationMonsterUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.InvestigationMonsterUpdateNotify.investigation_monster:type_name -> proto.InvestigationMonster
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InvestigationMonsterUpdateNotify_proto_init() }
+func file_InvestigationMonsterUpdateNotify_proto_init() {
+ if File_InvestigationMonsterUpdateNotify_proto != nil {
+ return
+ }
+ file_InvestigationMonster_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_InvestigationMonsterUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InvestigationMonsterUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InvestigationMonsterUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InvestigationMonsterUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_InvestigationMonsterUpdateNotify_proto_depIdxs,
+ MessageInfos: file_InvestigationMonsterUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_InvestigationMonsterUpdateNotify_proto = out.File
+ file_InvestigationMonsterUpdateNotify_proto_rawDesc = nil
+ file_InvestigationMonsterUpdateNotify_proto_goTypes = nil
+ file_InvestigationMonsterUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InvestigationQuestDailyNotify.pb.go b/protocol/proto/InvestigationQuestDailyNotify.pb.go
new file mode 100644
index 00000000..fd83339b
--- /dev/null
+++ b/protocol/proto/InvestigationQuestDailyNotify.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InvestigationQuestDailyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1921
+// EnetChannelId: 0
+// EnetIsReliable: true
+type InvestigationQuestDailyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *InvestigationQuestDailyNotify) Reset() {
+ *x = InvestigationQuestDailyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InvestigationQuestDailyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InvestigationQuestDailyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InvestigationQuestDailyNotify) ProtoMessage() {}
+
+func (x *InvestigationQuestDailyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InvestigationQuestDailyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InvestigationQuestDailyNotify.ProtoReflect.Descriptor instead.
+func (*InvestigationQuestDailyNotify) Descriptor() ([]byte, []int) {
+ return file_InvestigationQuestDailyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_InvestigationQuestDailyNotify_proto protoreflect.FileDescriptor
+
+var file_InvestigationQuestDailyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51,
+ 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x1d,
+ 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_InvestigationQuestDailyNotify_proto_rawDescOnce sync.Once
+ file_InvestigationQuestDailyNotify_proto_rawDescData = file_InvestigationQuestDailyNotify_proto_rawDesc
+)
+
+func file_InvestigationQuestDailyNotify_proto_rawDescGZIP() []byte {
+ file_InvestigationQuestDailyNotify_proto_rawDescOnce.Do(func() {
+ file_InvestigationQuestDailyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InvestigationQuestDailyNotify_proto_rawDescData)
+ })
+ return file_InvestigationQuestDailyNotify_proto_rawDescData
+}
+
+var file_InvestigationQuestDailyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InvestigationQuestDailyNotify_proto_goTypes = []interface{}{
+ (*InvestigationQuestDailyNotify)(nil), // 0: proto.InvestigationQuestDailyNotify
+}
+var file_InvestigationQuestDailyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InvestigationQuestDailyNotify_proto_init() }
+func file_InvestigationQuestDailyNotify_proto_init() {
+ if File_InvestigationQuestDailyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InvestigationQuestDailyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InvestigationQuestDailyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InvestigationQuestDailyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InvestigationQuestDailyNotify_proto_goTypes,
+ DependencyIndexes: file_InvestigationQuestDailyNotify_proto_depIdxs,
+ MessageInfos: file_InvestigationQuestDailyNotify_proto_msgTypes,
+ }.Build()
+ File_InvestigationQuestDailyNotify_proto = out.File
+ file_InvestigationQuestDailyNotify_proto_rawDesc = nil
+ file_InvestigationQuestDailyNotify_proto_goTypes = nil
+ file_InvestigationQuestDailyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InvestigationReadQuestDailyNotify.pb.go b/protocol/proto/InvestigationReadQuestDailyNotify.pb.go
new file mode 100644
index 00000000..f9b5ba4c
--- /dev/null
+++ b/protocol/proto/InvestigationReadQuestDailyNotify.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InvestigationReadQuestDailyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1902
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type InvestigationReadQuestDailyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *InvestigationReadQuestDailyNotify) Reset() {
+ *x = InvestigationReadQuestDailyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InvestigationReadQuestDailyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InvestigationReadQuestDailyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InvestigationReadQuestDailyNotify) ProtoMessage() {}
+
+func (x *InvestigationReadQuestDailyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_InvestigationReadQuestDailyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InvestigationReadQuestDailyNotify.ProtoReflect.Descriptor instead.
+func (*InvestigationReadQuestDailyNotify) Descriptor() ([]byte, []int) {
+ return file_InvestigationReadQuestDailyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_InvestigationReadQuestDailyNotify_proto protoreflect.FileDescriptor
+
+var file_InvestigationReadQuestDailyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x61, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x23, 0x0a, 0x21, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x61, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InvestigationReadQuestDailyNotify_proto_rawDescOnce sync.Once
+ file_InvestigationReadQuestDailyNotify_proto_rawDescData = file_InvestigationReadQuestDailyNotify_proto_rawDesc
+)
+
+func file_InvestigationReadQuestDailyNotify_proto_rawDescGZIP() []byte {
+ file_InvestigationReadQuestDailyNotify_proto_rawDescOnce.Do(func() {
+ file_InvestigationReadQuestDailyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_InvestigationReadQuestDailyNotify_proto_rawDescData)
+ })
+ return file_InvestigationReadQuestDailyNotify_proto_rawDescData
+}
+
+var file_InvestigationReadQuestDailyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InvestigationReadQuestDailyNotify_proto_goTypes = []interface{}{
+ (*InvestigationReadQuestDailyNotify)(nil), // 0: proto.InvestigationReadQuestDailyNotify
+}
+var file_InvestigationReadQuestDailyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_InvestigationReadQuestDailyNotify_proto_init() }
+func file_InvestigationReadQuestDailyNotify_proto_init() {
+ if File_InvestigationReadQuestDailyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InvestigationReadQuestDailyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InvestigationReadQuestDailyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InvestigationReadQuestDailyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InvestigationReadQuestDailyNotify_proto_goTypes,
+ DependencyIndexes: file_InvestigationReadQuestDailyNotify_proto_depIdxs,
+ MessageInfos: file_InvestigationReadQuestDailyNotify_proto_msgTypes,
+ }.Build()
+ File_InvestigationReadQuestDailyNotify_proto = out.File
+ file_InvestigationReadQuestDailyNotify_proto_rawDesc = nil
+ file_InvestigationReadQuestDailyNotify_proto_goTypes = nil
+ file_InvestigationReadQuestDailyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/InvestigationTarget.pb.go b/protocol/proto/InvestigationTarget.pb.go
new file mode 100644
index 00000000..1fb77f41
--- /dev/null
+++ b/protocol/proto/InvestigationTarget.pb.go
@@ -0,0 +1,263 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: InvestigationTarget.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type InvestigationTarget_State int32
+
+const (
+ InvestigationTarget_STATE_INVALID InvestigationTarget_State = 0
+ InvestigationTarget_STATE_IN_PROGRESS InvestigationTarget_State = 1
+ InvestigationTarget_STATE_COMPLETE InvestigationTarget_State = 2
+ InvestigationTarget_STATE_REWARD_TAKEN InvestigationTarget_State = 3
+)
+
+// Enum value maps for InvestigationTarget_State.
+var (
+ InvestigationTarget_State_name = map[int32]string{
+ 0: "STATE_INVALID",
+ 1: "STATE_IN_PROGRESS",
+ 2: "STATE_COMPLETE",
+ 3: "STATE_REWARD_TAKEN",
+ }
+ InvestigationTarget_State_value = map[string]int32{
+ "STATE_INVALID": 0,
+ "STATE_IN_PROGRESS": 1,
+ "STATE_COMPLETE": 2,
+ "STATE_REWARD_TAKEN": 3,
+ }
+)
+
+func (x InvestigationTarget_State) Enum() *InvestigationTarget_State {
+ p := new(InvestigationTarget_State)
+ *p = x
+ return p
+}
+
+func (x InvestigationTarget_State) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (InvestigationTarget_State) Descriptor() protoreflect.EnumDescriptor {
+ return file_InvestigationTarget_proto_enumTypes[0].Descriptor()
+}
+
+func (InvestigationTarget_State) Type() protoreflect.EnumType {
+ return &file_InvestigationTarget_proto_enumTypes[0]
+}
+
+func (x InvestigationTarget_State) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use InvestigationTarget_State.Descriptor instead.
+func (InvestigationTarget_State) EnumDescriptor() ([]byte, []int) {
+ return file_InvestigationTarget_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type InvestigationTarget struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,15,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ State InvestigationTarget_State `protobuf:"varint,2,opt,name=state,proto3,enum=proto.InvestigationTarget_State" json:"state,omitempty"`
+ Progress uint32 `protobuf:"varint,8,opt,name=progress,proto3" json:"progress,omitempty"`
+ TotalProgress uint32 `protobuf:"varint,7,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+ InvestigationId uint32 `protobuf:"varint,3,opt,name=investigation_id,json=investigationId,proto3" json:"investigation_id,omitempty"`
+}
+
+func (x *InvestigationTarget) Reset() {
+ *x = InvestigationTarget{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_InvestigationTarget_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InvestigationTarget) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InvestigationTarget) ProtoMessage() {}
+
+func (x *InvestigationTarget) ProtoReflect() protoreflect.Message {
+ mi := &file_InvestigationTarget_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InvestigationTarget.ProtoReflect.Descriptor instead.
+func (*InvestigationTarget) Descriptor() ([]byte, []int) {
+ return file_InvestigationTarget_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *InvestigationTarget) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *InvestigationTarget) GetState() InvestigationTarget_State {
+ if x != nil {
+ return x.State
+ }
+ return InvestigationTarget_STATE_INVALID
+}
+
+func (x *InvestigationTarget) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *InvestigationTarget) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+func (x *InvestigationTarget) GetInvestigationId() uint32 {
+ if x != nil {
+ return x.InvestigationId
+ }
+ return 0
+}
+
+var File_InvestigationTarget_proto protoreflect.FileDescriptor
+
+var file_InvestigationTarget_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xb5, 0x02, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76,
+ 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a,
+ 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x65,
+ 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x05, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e,
+ 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45,
+ 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x12,
+ 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45,
+ 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41,
+ 0x52, 0x44, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_InvestigationTarget_proto_rawDescOnce sync.Once
+ file_InvestigationTarget_proto_rawDescData = file_InvestigationTarget_proto_rawDesc
+)
+
+func file_InvestigationTarget_proto_rawDescGZIP() []byte {
+ file_InvestigationTarget_proto_rawDescOnce.Do(func() {
+ file_InvestigationTarget_proto_rawDescData = protoimpl.X.CompressGZIP(file_InvestigationTarget_proto_rawDescData)
+ })
+ return file_InvestigationTarget_proto_rawDescData
+}
+
+var file_InvestigationTarget_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_InvestigationTarget_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_InvestigationTarget_proto_goTypes = []interface{}{
+ (InvestigationTarget_State)(0), // 0: proto.InvestigationTarget.State
+ (*InvestigationTarget)(nil), // 1: proto.InvestigationTarget
+}
+var file_InvestigationTarget_proto_depIdxs = []int32{
+ 0, // 0: proto.InvestigationTarget.state:type_name -> proto.InvestigationTarget.State
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_InvestigationTarget_proto_init() }
+func file_InvestigationTarget_proto_init() {
+ if File_InvestigationTarget_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_InvestigationTarget_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InvestigationTarget); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_InvestigationTarget_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_InvestigationTarget_proto_goTypes,
+ DependencyIndexes: file_InvestigationTarget_proto_depIdxs,
+ EnumInfos: file_InvestigationTarget_proto_enumTypes,
+ MessageInfos: file_InvestigationTarget_proto_msgTypes,
+ }.Build()
+ File_InvestigationTarget_proto = out.File
+ file_InvestigationTarget_proto_rawDesc = nil
+ file_InvestigationTarget_proto_goTypes = nil
+ file_InvestigationTarget_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriActivityDetailInfo.pb.go b/protocol/proto/IrodoriActivityDetailInfo.pb.go
new file mode 100644
index 00000000..872ec290
--- /dev/null
+++ b/protocol/proto/IrodoriActivityDetailInfo.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MasterLevelList []*IrodoriMasterLevelInfo `protobuf:"bytes,11,rep,name=master_level_list,json=masterLevelList,proto3" json:"master_level_list,omitempty"`
+ FlowerData *IrodoriFlowerData `protobuf:"bytes,6,opt,name=flower_data,json=flowerData,proto3" json:"flower_data,omitempty"`
+ PoetryData *IrodoriPoetryData `protobuf:"bytes,8,opt,name=poetry_data,json=poetryData,proto3" json:"poetry_data,omitempty"`
+ ChessData *IrodoriChessData `protobuf:"bytes,14,opt,name=chess_data,json=chessData,proto3" json:"chess_data,omitempty"`
+}
+
+func (x *IrodoriActivityDetailInfo) Reset() {
+ *x = IrodoriActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriActivityDetailInfo) ProtoMessage() {}
+
+func (x *IrodoriActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriActivityDetailInfo) GetMasterLevelList() []*IrodoriMasterLevelInfo {
+ if x != nil {
+ return x.MasterLevelList
+ }
+ return nil
+}
+
+func (x *IrodoriActivityDetailInfo) GetFlowerData() *IrodoriFlowerData {
+ if x != nil {
+ return x.FlowerData
+ }
+ return nil
+}
+
+func (x *IrodoriActivityDetailInfo) GetPoetryData() *IrodoriPoetryData {
+ if x != nil {
+ return x.PoetryData
+ }
+ return nil
+}
+
+func (x *IrodoriActivityDetailInfo) GetChessData() *IrodoriChessData {
+ if x != nil {
+ return x.ChessData
+ }
+ return nil
+}
+
+var File_IrodoriActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72,
+ 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x17, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x49, 0x72, 0x6f, 0x64, 0x6f,
+ 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69,
+ 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x94, 0x02, 0x0a, 0x19, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49,
+ 0x0a, 0x11, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0b, 0x66, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x46, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x0b, 0x70, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64,
+ 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x0a, 0x70, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12,
+ 0x36, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x73, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64,
+ 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x63, 0x68,
+ 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_IrodoriActivityDetailInfo_proto_rawDescData = file_IrodoriActivityDetailInfo_proto_rawDesc
+)
+
+func file_IrodoriActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriActivityDetailInfo_proto_rawDescData)
+ })
+ return file_IrodoriActivityDetailInfo_proto_rawDescData
+}
+
+var file_IrodoriActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriActivityDetailInfo_proto_goTypes = []interface{}{
+ (*IrodoriActivityDetailInfo)(nil), // 0: proto.IrodoriActivityDetailInfo
+ (*IrodoriMasterLevelInfo)(nil), // 1: proto.IrodoriMasterLevelInfo
+ (*IrodoriFlowerData)(nil), // 2: proto.IrodoriFlowerData
+ (*IrodoriPoetryData)(nil), // 3: proto.IrodoriPoetryData
+ (*IrodoriChessData)(nil), // 4: proto.IrodoriChessData
+}
+var file_IrodoriActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriActivityDetailInfo.master_level_list:type_name -> proto.IrodoriMasterLevelInfo
+ 2, // 1: proto.IrodoriActivityDetailInfo.flower_data:type_name -> proto.IrodoriFlowerData
+ 3, // 2: proto.IrodoriActivityDetailInfo.poetry_data:type_name -> proto.IrodoriPoetryData
+ 4, // 3: proto.IrodoriActivityDetailInfo.chess_data:type_name -> proto.IrodoriChessData
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriActivityDetailInfo_proto_init() }
+func file_IrodoriActivityDetailInfo_proto_init() {
+ if File_IrodoriActivityDetailInfo_proto != nil {
+ return
+ }
+ file_IrodoriChessData_proto_init()
+ file_IrodoriFlowerData_proto_init()
+ file_IrodoriMasterLevelInfo_proto_init()
+ file_IrodoriPoetryData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriActivityDetailInfo_proto = out.File
+ file_IrodoriActivityDetailInfo_proto_rawDesc = nil
+ file_IrodoriActivityDetailInfo_proto_goTypes = nil
+ file_IrodoriActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessData.pb.go b/protocol/proto/IrodoriChessData.pb.go
new file mode 100644
index 00000000..8f5431e9
--- /dev/null
+++ b/protocol/proto/IrodoriChessData.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,8,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ LevelDataList []*IrodoriChessLevelData `protobuf:"bytes,1,rep,name=level_data_list,json=levelDataList,proto3" json:"level_data_list,omitempty"`
+}
+
+func (x *IrodoriChessData) Reset() {
+ *x = IrodoriChessData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessData) ProtoMessage() {}
+
+func (x *IrodoriChessData) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessData.ProtoReflect.Descriptor instead.
+func (*IrodoriChessData) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *IrodoriChessData) GetLevelDataList() []*IrodoriChessLevelData {
+ if x != nil {
+ return x.LevelDataList
+ }
+ return nil
+}
+
+var File_IrodoriChessData_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1b, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x10,
+ 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x44, 0x0a, 0x0f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f,
+ 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x0d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessData_proto_rawDescOnce sync.Once
+ file_IrodoriChessData_proto_rawDescData = file_IrodoriChessData_proto_rawDesc
+)
+
+func file_IrodoriChessData_proto_rawDescGZIP() []byte {
+ file_IrodoriChessData_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessData_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessData_proto_rawDescData)
+ })
+ return file_IrodoriChessData_proto_rawDescData
+}
+
+var file_IrodoriChessData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessData_proto_goTypes = []interface{}{
+ (*IrodoriChessData)(nil), // 0: proto.IrodoriChessData
+ (*IrodoriChessLevelData)(nil), // 1: proto.IrodoriChessLevelData
+}
+var file_IrodoriChessData_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriChessData.level_data_list:type_name -> proto.IrodoriChessLevelData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessData_proto_init() }
+func file_IrodoriChessData_proto_init() {
+ if File_IrodoriChessData_proto != nil {
+ return
+ }
+ file_IrodoriChessLevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessData_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessData_proto_depIdxs,
+ MessageInfos: file_IrodoriChessData_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessData_proto = out.File
+ file_IrodoriChessData_proto_rawDesc = nil
+ file_IrodoriChessData_proto_goTypes = nil
+ file_IrodoriChessData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessEntranceDetailInfo.pb.go b/protocol/proto/IrodoriChessEntranceDetailInfo.pb.go
new file mode 100644
index 00000000..1f34ea57
--- /dev/null
+++ b/protocol/proto/IrodoriChessEntranceDetailInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessEntranceDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessEntranceDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InfoList []*IrodoriChessEntranceInfo `protobuf:"bytes,15,rep,name=info_list,json=infoList,proto3" json:"info_list,omitempty"`
+}
+
+func (x *IrodoriChessEntranceDetailInfo) Reset() {
+ *x = IrodoriChessEntranceDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessEntranceDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessEntranceDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessEntranceDetailInfo) ProtoMessage() {}
+
+func (x *IrodoriChessEntranceDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessEntranceDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessEntranceDetailInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriChessEntranceDetailInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessEntranceDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessEntranceDetailInfo) GetInfoList() []*IrodoriChessEntranceInfo {
+ if x != nil {
+ return x.InfoList
+ }
+ return nil
+}
+
+var File_IrodoriChessEntranceDetailInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessEntranceDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x49,
+ 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61,
+ 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a,
+ 0x1e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74,
+ 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f,
+ 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_IrodoriChessEntranceDetailInfo_proto_rawDescOnce sync.Once
+ file_IrodoriChessEntranceDetailInfo_proto_rawDescData = file_IrodoriChessEntranceDetailInfo_proto_rawDesc
+)
+
+func file_IrodoriChessEntranceDetailInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriChessEntranceDetailInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessEntranceDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessEntranceDetailInfo_proto_rawDescData)
+ })
+ return file_IrodoriChessEntranceDetailInfo_proto_rawDescData
+}
+
+var file_IrodoriChessEntranceDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessEntranceDetailInfo_proto_goTypes = []interface{}{
+ (*IrodoriChessEntranceDetailInfo)(nil), // 0: proto.IrodoriChessEntranceDetailInfo
+ (*IrodoriChessEntranceInfo)(nil), // 1: proto.IrodoriChessEntranceInfo
+}
+var file_IrodoriChessEntranceDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriChessEntranceDetailInfo.info_list:type_name -> proto.IrodoriChessEntranceInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessEntranceDetailInfo_proto_init() }
+func file_IrodoriChessEntranceDetailInfo_proto_init() {
+ if File_IrodoriChessEntranceDetailInfo_proto != nil {
+ return
+ }
+ file_IrodoriChessEntranceInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessEntranceDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessEntranceDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessEntranceDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessEntranceDetailInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessEntranceDetailInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriChessEntranceDetailInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessEntranceDetailInfo_proto = out.File
+ file_IrodoriChessEntranceDetailInfo_proto_rawDesc = nil
+ file_IrodoriChessEntranceDetailInfo_proto_goTypes = nil
+ file_IrodoriChessEntranceDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessEntranceInfo.pb.go b/protocol/proto/IrodoriChessEntranceInfo.pb.go
new file mode 100644
index 00000000..53456525
--- /dev/null
+++ b/protocol/proto/IrodoriChessEntranceInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessEntranceInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessEntranceInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterInfoList []*IrodoriChessMonsterInfo `protobuf:"bytes,6,rep,name=monster_info_list,json=monsterInfoList,proto3" json:"monster_info_list,omitempty"`
+ EntrancePointId uint32 `protobuf:"varint,4,opt,name=entrance_point_id,json=entrancePointId,proto3" json:"entrance_point_id,omitempty"`
+}
+
+func (x *IrodoriChessEntranceInfo) Reset() {
+ *x = IrodoriChessEntranceInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessEntranceInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessEntranceInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessEntranceInfo) ProtoMessage() {}
+
+func (x *IrodoriChessEntranceInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessEntranceInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessEntranceInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriChessEntranceInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessEntranceInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessEntranceInfo) GetMonsterInfoList() []*IrodoriChessMonsterInfo {
+ if x != nil {
+ return x.MonsterInfoList
+ }
+ return nil
+}
+
+func (x *IrodoriChessEntranceInfo) GetEntrancePointId() uint32 {
+ if x != nil {
+ return x.EntrancePointId
+ }
+ return 0
+}
+
+var File_IrodoriChessEntranceInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessEntranceInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e,
+ 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69,
+ 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x18, 0x49, 0x72, 0x6f, 0x64, 0x6f,
+ 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x11, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68,
+ 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f,
+ 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x72,
+ 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessEntranceInfo_proto_rawDescOnce sync.Once
+ file_IrodoriChessEntranceInfo_proto_rawDescData = file_IrodoriChessEntranceInfo_proto_rawDesc
+)
+
+func file_IrodoriChessEntranceInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriChessEntranceInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessEntranceInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessEntranceInfo_proto_rawDescData)
+ })
+ return file_IrodoriChessEntranceInfo_proto_rawDescData
+}
+
+var file_IrodoriChessEntranceInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessEntranceInfo_proto_goTypes = []interface{}{
+ (*IrodoriChessEntranceInfo)(nil), // 0: proto.IrodoriChessEntranceInfo
+ (*IrodoriChessMonsterInfo)(nil), // 1: proto.IrodoriChessMonsterInfo
+}
+var file_IrodoriChessEntranceInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriChessEntranceInfo.monster_info_list:type_name -> proto.IrodoriChessMonsterInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessEntranceInfo_proto_init() }
+func file_IrodoriChessEntranceInfo_proto_init() {
+ if File_IrodoriChessEntranceInfo_proto != nil {
+ return
+ }
+ file_IrodoriChessMonsterInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessEntranceInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessEntranceInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessEntranceInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessEntranceInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessEntranceInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriChessEntranceInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessEntranceInfo_proto = out.File
+ file_IrodoriChessEntranceInfo_proto_rawDesc = nil
+ file_IrodoriChessEntranceInfo_proto_goTypes = nil
+ file_IrodoriChessEntranceInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessEquipCardReq.pb.go b/protocol/proto/IrodoriChessEquipCardReq.pb.go
new file mode 100644
index 00000000..36c77403
--- /dev/null
+++ b/protocol/proto/IrodoriChessEquipCardReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessEquipCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8561
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type IrodoriChessEquipCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsHardMap bool `protobuf:"varint,2,opt,name=is_hard_map,json=isHardMap,proto3" json:"is_hard_map,omitempty"`
+ LevelId uint32 `protobuf:"varint,12,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ CardId uint32 `protobuf:"varint,9,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *IrodoriChessEquipCardReq) Reset() {
+ *x = IrodoriChessEquipCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessEquipCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessEquipCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessEquipCardReq) ProtoMessage() {}
+
+func (x *IrodoriChessEquipCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessEquipCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessEquipCardReq.ProtoReflect.Descriptor instead.
+func (*IrodoriChessEquipCardReq) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessEquipCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessEquipCardReq) GetIsHardMap() bool {
+ if x != nil {
+ return x.IsHardMap
+ }
+ return false
+}
+
+func (x *IrodoriChessEquipCardReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *IrodoriChessEquipCardReq) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_IrodoriChessEquipCardReq_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessEquipCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x71,
+ 0x75, 0x69, 0x70, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x18, 0x49, 0x72, 0x6f, 0x64, 0x6f,
+ 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x71, 0x75, 0x69, 0x70, 0x43, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x48, 0x61, 0x72, 0x64,
+ 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessEquipCardReq_proto_rawDescOnce sync.Once
+ file_IrodoriChessEquipCardReq_proto_rawDescData = file_IrodoriChessEquipCardReq_proto_rawDesc
+)
+
+func file_IrodoriChessEquipCardReq_proto_rawDescGZIP() []byte {
+ file_IrodoriChessEquipCardReq_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessEquipCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessEquipCardReq_proto_rawDescData)
+ })
+ return file_IrodoriChessEquipCardReq_proto_rawDescData
+}
+
+var file_IrodoriChessEquipCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessEquipCardReq_proto_goTypes = []interface{}{
+ (*IrodoriChessEquipCardReq)(nil), // 0: proto.IrodoriChessEquipCardReq
+}
+var file_IrodoriChessEquipCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessEquipCardReq_proto_init() }
+func file_IrodoriChessEquipCardReq_proto_init() {
+ if File_IrodoriChessEquipCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessEquipCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessEquipCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessEquipCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessEquipCardReq_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessEquipCardReq_proto_depIdxs,
+ MessageInfos: file_IrodoriChessEquipCardReq_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessEquipCardReq_proto = out.File
+ file_IrodoriChessEquipCardReq_proto_rawDesc = nil
+ file_IrodoriChessEquipCardReq_proto_goTypes = nil
+ file_IrodoriChessEquipCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessEquipCardRsp.pb.go b/protocol/proto/IrodoriChessEquipCardRsp.pb.go
new file mode 100644
index 00000000..051041d1
--- /dev/null
+++ b/protocol/proto/IrodoriChessEquipCardRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessEquipCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8308
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IrodoriChessEquipCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CardId uint32 `protobuf:"varint,8,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,5,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ IsHardMap bool `protobuf:"varint,12,opt,name=is_hard_map,json=isHardMap,proto3" json:"is_hard_map,omitempty"`
+}
+
+func (x *IrodoriChessEquipCardRsp) Reset() {
+ *x = IrodoriChessEquipCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessEquipCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessEquipCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessEquipCardRsp) ProtoMessage() {}
+
+func (x *IrodoriChessEquipCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessEquipCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessEquipCardRsp.ProtoReflect.Descriptor instead.
+func (*IrodoriChessEquipCardRsp) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessEquipCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessEquipCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *IrodoriChessEquipCardRsp) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *IrodoriChessEquipCardRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *IrodoriChessEquipCardRsp) GetIsHardMap() bool {
+ if x != nil {
+ return x.IsHardMap
+ }
+ return false
+}
+
+var File_IrodoriChessEquipCardRsp_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessEquipCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x71,
+ 0x75, 0x69, 0x70, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x49, 0x72, 0x6f, 0x64,
+ 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x71, 0x75, 0x69, 0x70, 0x43, 0x61, 0x72,
+ 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17,
+ 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x48, 0x61, 0x72, 0x64, 0x4d,
+ 0x61, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessEquipCardRsp_proto_rawDescOnce sync.Once
+ file_IrodoriChessEquipCardRsp_proto_rawDescData = file_IrodoriChessEquipCardRsp_proto_rawDesc
+)
+
+func file_IrodoriChessEquipCardRsp_proto_rawDescGZIP() []byte {
+ file_IrodoriChessEquipCardRsp_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessEquipCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessEquipCardRsp_proto_rawDescData)
+ })
+ return file_IrodoriChessEquipCardRsp_proto_rawDescData
+}
+
+var file_IrodoriChessEquipCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessEquipCardRsp_proto_goTypes = []interface{}{
+ (*IrodoriChessEquipCardRsp)(nil), // 0: proto.IrodoriChessEquipCardRsp
+}
+var file_IrodoriChessEquipCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessEquipCardRsp_proto_init() }
+func file_IrodoriChessEquipCardRsp_proto_init() {
+ if File_IrodoriChessEquipCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessEquipCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessEquipCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessEquipCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessEquipCardRsp_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessEquipCardRsp_proto_depIdxs,
+ MessageInfos: file_IrodoriChessEquipCardRsp_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessEquipCardRsp_proto = out.File
+ file_IrodoriChessEquipCardRsp_proto_rawDesc = nil
+ file_IrodoriChessEquipCardRsp_proto_goTypes = nil
+ file_IrodoriChessEquipCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessInfo.pb.go b/protocol/proto/IrodoriChessInfo.pb.go
new file mode 100644
index 00000000..59e3fdd8
--- /dev/null
+++ b/protocol/proto/IrodoriChessInfo.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MysteryInfo *IrodoriChessMysteryInfo `protobuf:"bytes,3,opt,name=mystery_info,json=mysteryInfo,proto3" json:"mystery_info,omitempty"`
+ LeftMonsters uint32 `protobuf:"varint,12,opt,name=left_monsters,json=leftMonsters,proto3" json:"left_monsters,omitempty"`
+ SelectedCardIdList []uint32 `protobuf:"varint,13,rep,packed,name=selected_card_id_list,json=selectedCardIdList,proto3" json:"selected_card_id_list,omitempty"`
+ BuildingPoints uint32 `protobuf:"varint,7,opt,name=building_points,json=buildingPoints,proto3" json:"building_points,omitempty"`
+ SettleScore uint32 `protobuf:"varint,4,opt,name=settle_score,json=settleScore,proto3" json:"settle_score,omitempty"`
+}
+
+func (x *IrodoriChessInfo) Reset() {
+ *x = IrodoriChessInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessInfo) ProtoMessage() {}
+
+func (x *IrodoriChessInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriChessInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessInfo) GetMysteryInfo() *IrodoriChessMysteryInfo {
+ if x != nil {
+ return x.MysteryInfo
+ }
+ return nil
+}
+
+func (x *IrodoriChessInfo) GetLeftMonsters() uint32 {
+ if x != nil {
+ return x.LeftMonsters
+ }
+ return 0
+}
+
+func (x *IrodoriChessInfo) GetSelectedCardIdList() []uint32 {
+ if x != nil {
+ return x.SelectedCardIdList
+ }
+ return nil
+}
+
+func (x *IrodoriChessInfo) GetBuildingPoints() uint32 {
+ if x != nil {
+ return x.BuildingPoints
+ }
+ return 0
+}
+
+func (x *IrodoriChessInfo) GetSettleScore() uint32 {
+ if x != nil {
+ return x.SettleScore
+ }
+ return 0
+}
+
+var File_IrodoriChessInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1d, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79, 0x73,
+ 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9,
+ 0x01, 0x0a, 0x10, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0c, 0x6d, 0x79, 0x73, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79,
+ 0x73, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x79, 0x73, 0x74, 0x65,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c,
+ 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x31, 0x0a, 0x15, 0x73,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x73, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27,
+ 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e,
+ 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessInfo_proto_rawDescOnce sync.Once
+ file_IrodoriChessInfo_proto_rawDescData = file_IrodoriChessInfo_proto_rawDesc
+)
+
+func file_IrodoriChessInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriChessInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessInfo_proto_rawDescData)
+ })
+ return file_IrodoriChessInfo_proto_rawDescData
+}
+
+var file_IrodoriChessInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessInfo_proto_goTypes = []interface{}{
+ (*IrodoriChessInfo)(nil), // 0: proto.IrodoriChessInfo
+ (*IrodoriChessMysteryInfo)(nil), // 1: proto.IrodoriChessMysteryInfo
+}
+var file_IrodoriChessInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriChessInfo.mystery_info:type_name -> proto.IrodoriChessMysteryInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessInfo_proto_init() }
+func file_IrodoriChessInfo_proto_init() {
+ if File_IrodoriChessInfo_proto != nil {
+ return
+ }
+ file_IrodoriChessMysteryInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriChessInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessInfo_proto = out.File
+ file_IrodoriChessInfo_proto_rawDesc = nil
+ file_IrodoriChessInfo_proto_goTypes = nil
+ file_IrodoriChessInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessLeftMonsterNotify.pb.go b/protocol/proto/IrodoriChessLeftMonsterNotify.pb.go
new file mode 100644
index 00000000..110d8fea
--- /dev/null
+++ b/protocol/proto/IrodoriChessLeftMonsterNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessLeftMonsterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5338
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IrodoriChessLeftMonsterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LeftMonsters uint32 `protobuf:"varint,8,opt,name=left_monsters,json=leftMonsters,proto3" json:"left_monsters,omitempty"`
+}
+
+func (x *IrodoriChessLeftMonsterNotify) Reset() {
+ *x = IrodoriChessLeftMonsterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessLeftMonsterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessLeftMonsterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessLeftMonsterNotify) ProtoMessage() {}
+
+func (x *IrodoriChessLeftMonsterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessLeftMonsterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessLeftMonsterNotify.ProtoReflect.Descriptor instead.
+func (*IrodoriChessLeftMonsterNotify) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessLeftMonsterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessLeftMonsterNotify) GetLeftMonsters() uint32 {
+ if x != nil {
+ return x.LeftMonsters
+ }
+ return 0
+}
+
+var File_IrodoriChessLeftMonsterNotify_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessLeftMonsterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4c, 0x65,
+ 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x1d,
+ 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x66, 0x74,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x23, 0x0a,
+ 0x0d, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessLeftMonsterNotify_proto_rawDescOnce sync.Once
+ file_IrodoriChessLeftMonsterNotify_proto_rawDescData = file_IrodoriChessLeftMonsterNotify_proto_rawDesc
+)
+
+func file_IrodoriChessLeftMonsterNotify_proto_rawDescGZIP() []byte {
+ file_IrodoriChessLeftMonsterNotify_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessLeftMonsterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessLeftMonsterNotify_proto_rawDescData)
+ })
+ return file_IrodoriChessLeftMonsterNotify_proto_rawDescData
+}
+
+var file_IrodoriChessLeftMonsterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessLeftMonsterNotify_proto_goTypes = []interface{}{
+ (*IrodoriChessLeftMonsterNotify)(nil), // 0: proto.IrodoriChessLeftMonsterNotify
+}
+var file_IrodoriChessLeftMonsterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessLeftMonsterNotify_proto_init() }
+func file_IrodoriChessLeftMonsterNotify_proto_init() {
+ if File_IrodoriChessLeftMonsterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessLeftMonsterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessLeftMonsterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessLeftMonsterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessLeftMonsterNotify_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessLeftMonsterNotify_proto_depIdxs,
+ MessageInfos: file_IrodoriChessLeftMonsterNotify_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessLeftMonsterNotify_proto = out.File
+ file_IrodoriChessLeftMonsterNotify_proto_rawDesc = nil
+ file_IrodoriChessLeftMonsterNotify_proto_goTypes = nil
+ file_IrodoriChessLeftMonsterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessLevelData.pb.go b/protocol/proto/IrodoriChessLevelData.pb.go
new file mode 100644
index 00000000..18e67a8a
--- /dev/null
+++ b/protocol/proto/IrodoriChessLevelData.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenTime uint32 `protobuf:"varint,8,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ LevelId uint32 `protobuf:"varint,15,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ HardMapData *IrodoriChessMapData `protobuf:"bytes,7,opt,name=hard_map_data,json=hardMapData,proto3" json:"hard_map_data,omitempty"`
+ NormalMapData *IrodoriChessMapData `protobuf:"bytes,11,opt,name=normal_map_data,json=normalMapData,proto3" json:"normal_map_data,omitempty"`
+}
+
+func (x *IrodoriChessLevelData) Reset() {
+ *x = IrodoriChessLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessLevelData) ProtoMessage() {}
+
+func (x *IrodoriChessLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessLevelData.ProtoReflect.Descriptor instead.
+func (*IrodoriChessLevelData) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessLevelData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *IrodoriChessLevelData) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *IrodoriChessLevelData) GetHardMapData() *IrodoriChessMapData {
+ if x != nil {
+ return x.HardMapData
+ }
+ return nil
+}
+
+func (x *IrodoriChessLevelData) GetNormalMapData() *IrodoriChessMapData {
+ if x != nil {
+ return x.NormalMapData
+ }
+ return nil
+}
+
+var File_IrodoriChessLevelData_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65,
+ 0x73, 0x73, 0x4d, 0x61, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xd3, 0x01, 0x0a, 0x15, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70,
+ 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49,
+ 0x64, 0x12, 0x3e, 0x0a, 0x0d, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x68, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x44, 0x61, 0x74,
+ 0x61, 0x12, 0x42, 0x0a, 0x0f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f,
+ 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d,
+ 0x61, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d, 0x61,
+ 0x70, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessLevelData_proto_rawDescOnce sync.Once
+ file_IrodoriChessLevelData_proto_rawDescData = file_IrodoriChessLevelData_proto_rawDesc
+)
+
+func file_IrodoriChessLevelData_proto_rawDescGZIP() []byte {
+ file_IrodoriChessLevelData_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessLevelData_proto_rawDescData)
+ })
+ return file_IrodoriChessLevelData_proto_rawDescData
+}
+
+var file_IrodoriChessLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessLevelData_proto_goTypes = []interface{}{
+ (*IrodoriChessLevelData)(nil), // 0: proto.IrodoriChessLevelData
+ (*IrodoriChessMapData)(nil), // 1: proto.IrodoriChessMapData
+}
+var file_IrodoriChessLevelData_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriChessLevelData.hard_map_data:type_name -> proto.IrodoriChessMapData
+ 1, // 1: proto.IrodoriChessLevelData.normal_map_data:type_name -> proto.IrodoriChessMapData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessLevelData_proto_init() }
+func file_IrodoriChessLevelData_proto_init() {
+ if File_IrodoriChessLevelData_proto != nil {
+ return
+ }
+ file_IrodoriChessMapData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessLevelData_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessLevelData_proto_depIdxs,
+ MessageInfos: file_IrodoriChessLevelData_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessLevelData_proto = out.File
+ file_IrodoriChessLevelData_proto_rawDesc = nil
+ file_IrodoriChessLevelData_proto_goTypes = nil
+ file_IrodoriChessLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessMapData.pb.go b/protocol/proto/IrodoriChessMapData.pb.go
new file mode 100644
index 00000000..8d31dd38
--- /dev/null
+++ b/protocol/proto/IrodoriChessMapData.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessMapData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessMapData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MapId uint32 `protobuf:"varint,6,opt,name=map_id,json=mapId,proto3" json:"map_id,omitempty"`
+ EntranceDetailInfo *IrodoriChessEntranceDetailInfo `protobuf:"bytes,7,opt,name=entrance_detail_info,json=entranceDetailInfo,proto3" json:"entrance_detail_info,omitempty"`
+ EquipedCardList []uint32 `protobuf:"varint,3,rep,packed,name=equiped_card_list,json=equipedCardList,proto3" json:"equiped_card_list,omitempty"`
+ BestScore uint32 `protobuf:"varint,8,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+}
+
+func (x *IrodoriChessMapData) Reset() {
+ *x = IrodoriChessMapData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessMapData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessMapData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessMapData) ProtoMessage() {}
+
+func (x *IrodoriChessMapData) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessMapData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessMapData.ProtoReflect.Descriptor instead.
+func (*IrodoriChessMapData) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessMapData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessMapData) GetMapId() uint32 {
+ if x != nil {
+ return x.MapId
+ }
+ return 0
+}
+
+func (x *IrodoriChessMapData) GetEntranceDetailInfo() *IrodoriChessEntranceDetailInfo {
+ if x != nil {
+ return x.EntranceDetailInfo
+ }
+ return nil
+}
+
+func (x *IrodoriChessMapData) GetEquipedCardList() []uint32 {
+ if x != nil {
+ return x.EquipedCardList
+ }
+ return nil
+}
+
+func (x *IrodoriChessMapData) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+var File_IrodoriChessMapData_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessMapData_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x61,
+ 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x24, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73,
+ 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x13, 0x49, 0x72, 0x6f,
+ 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x70, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x57, 0x0a, 0x14, 0x65, 0x6e, 0x74, 0x72, 0x61,
+ 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72,
+ 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e,
+ 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x65, 0x6e,
+ 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x71, 0x75, 0x69, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x71, 0x75,
+ 0x69, 0x70, 0x65, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x62, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessMapData_proto_rawDescOnce sync.Once
+ file_IrodoriChessMapData_proto_rawDescData = file_IrodoriChessMapData_proto_rawDesc
+)
+
+func file_IrodoriChessMapData_proto_rawDescGZIP() []byte {
+ file_IrodoriChessMapData_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessMapData_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessMapData_proto_rawDescData)
+ })
+ return file_IrodoriChessMapData_proto_rawDescData
+}
+
+var file_IrodoriChessMapData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessMapData_proto_goTypes = []interface{}{
+ (*IrodoriChessMapData)(nil), // 0: proto.IrodoriChessMapData
+ (*IrodoriChessEntranceDetailInfo)(nil), // 1: proto.IrodoriChessEntranceDetailInfo
+}
+var file_IrodoriChessMapData_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriChessMapData.entrance_detail_info:type_name -> proto.IrodoriChessEntranceDetailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessMapData_proto_init() }
+func file_IrodoriChessMapData_proto_init() {
+ if File_IrodoriChessMapData_proto != nil {
+ return
+ }
+ file_IrodoriChessEntranceDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessMapData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessMapData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessMapData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessMapData_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessMapData_proto_depIdxs,
+ MessageInfos: file_IrodoriChessMapData_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessMapData_proto = out.File
+ file_IrodoriChessMapData_proto_rawDesc = nil
+ file_IrodoriChessMapData_proto_goTypes = nil
+ file_IrodoriChessMapData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessMonsterInfo.pb.go b/protocol/proto/IrodoriChessMonsterInfo.pb.go
new file mode 100644
index 00000000..a286c422
--- /dev/null
+++ b/protocol/proto/IrodoriChessMonsterInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessMonsterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessMonsterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GrantPoints uint32 `protobuf:"varint,6,opt,name=grant_points,json=grantPoints,proto3" json:"grant_points,omitempty"`
+ Level uint32 `protobuf:"varint,13,opt,name=level,proto3" json:"level,omitempty"`
+ MonsterId uint32 `protobuf:"varint,14,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ AffixList []uint32 `protobuf:"varint,11,rep,packed,name=affix_list,json=affixList,proto3" json:"affix_list,omitempty"`
+}
+
+func (x *IrodoriChessMonsterInfo) Reset() {
+ *x = IrodoriChessMonsterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessMonsterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessMonsterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessMonsterInfo) ProtoMessage() {}
+
+func (x *IrodoriChessMonsterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessMonsterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessMonsterInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriChessMonsterInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessMonsterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessMonsterInfo) GetGrantPoints() uint32 {
+ if x != nil {
+ return x.GrantPoints
+ }
+ return 0
+}
+
+func (x *IrodoriChessMonsterInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *IrodoriChessMonsterInfo) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *IrodoriChessMonsterInfo) GetAffixList() []uint32 {
+ if x != nil {
+ return x.AffixList
+ }
+ return nil
+}
+
+var File_IrodoriChessMonsterInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessMonsterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x17, 0x49, 0x72, 0x6f, 0x64, 0x6f,
+ 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x6d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x66,
+ 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09,
+ 0x61, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessMonsterInfo_proto_rawDescOnce sync.Once
+ file_IrodoriChessMonsterInfo_proto_rawDescData = file_IrodoriChessMonsterInfo_proto_rawDesc
+)
+
+func file_IrodoriChessMonsterInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriChessMonsterInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessMonsterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessMonsterInfo_proto_rawDescData)
+ })
+ return file_IrodoriChessMonsterInfo_proto_rawDescData
+}
+
+var file_IrodoriChessMonsterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessMonsterInfo_proto_goTypes = []interface{}{
+ (*IrodoriChessMonsterInfo)(nil), // 0: proto.IrodoriChessMonsterInfo
+}
+var file_IrodoriChessMonsterInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessMonsterInfo_proto_init() }
+func file_IrodoriChessMonsterInfo_proto_init() {
+ if File_IrodoriChessMonsterInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessMonsterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessMonsterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessMonsterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessMonsterInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessMonsterInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriChessMonsterInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessMonsterInfo_proto = out.File
+ file_IrodoriChessMonsterInfo_proto_rawDesc = nil
+ file_IrodoriChessMonsterInfo_proto_goTypes = nil
+ file_IrodoriChessMonsterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessMysteryInfo.pb.go b/protocol/proto/IrodoriChessMysteryInfo.pb.go
new file mode 100644
index 00000000..170e7a67
--- /dev/null
+++ b/protocol/proto/IrodoriChessMysteryInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessMysteryInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessMysteryInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntranceDetailInfo *IrodoriChessEntranceDetailInfo `protobuf:"bytes,5,opt,name=entrance_detail_info,json=entranceDetailInfo,proto3" json:"entrance_detail_info,omitempty"`
+ EntrancePointIdList []uint32 `protobuf:"varint,2,rep,packed,name=entrance_point_id_list,json=entrancePointIdList,proto3" json:"entrance_point_id_list,omitempty"`
+ ExitPointIdList []uint32 `protobuf:"varint,13,rep,packed,name=exit_point_id_list,json=exitPointIdList,proto3" json:"exit_point_id_list,omitempty"`
+}
+
+func (x *IrodoriChessMysteryInfo) Reset() {
+ *x = IrodoriChessMysteryInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessMysteryInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessMysteryInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessMysteryInfo) ProtoMessage() {}
+
+func (x *IrodoriChessMysteryInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessMysteryInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessMysteryInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriChessMysteryInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessMysteryInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessMysteryInfo) GetEntranceDetailInfo() *IrodoriChessEntranceDetailInfo {
+ if x != nil {
+ return x.EntranceDetailInfo
+ }
+ return nil
+}
+
+func (x *IrodoriChessMysteryInfo) GetEntrancePointIdList() []uint32 {
+ if x != nil {
+ return x.EntrancePointIdList
+ }
+ return nil
+}
+
+func (x *IrodoriChessMysteryInfo) GetExitPointIdList() []uint32 {
+ if x != nil {
+ return x.ExitPointIdList
+ }
+ return nil
+}
+
+var File_IrodoriChessMysteryInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessMysteryInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79,
+ 0x73, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43,
+ 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x01, 0x0a,
+ 0x17, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4d, 0x79, 0x73,
+ 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a, 0x14, 0x65, 0x6e, 0x74, 0x72,
+ 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
+ 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x61,
+ 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x65,
+ 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x33, 0x0a, 0x16, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x13, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x78, 0x69, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessMysteryInfo_proto_rawDescOnce sync.Once
+ file_IrodoriChessMysteryInfo_proto_rawDescData = file_IrodoriChessMysteryInfo_proto_rawDesc
+)
+
+func file_IrodoriChessMysteryInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriChessMysteryInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessMysteryInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessMysteryInfo_proto_rawDescData)
+ })
+ return file_IrodoriChessMysteryInfo_proto_rawDescData
+}
+
+var file_IrodoriChessMysteryInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessMysteryInfo_proto_goTypes = []interface{}{
+ (*IrodoriChessMysteryInfo)(nil), // 0: proto.IrodoriChessMysteryInfo
+ (*IrodoriChessEntranceDetailInfo)(nil), // 1: proto.IrodoriChessEntranceDetailInfo
+}
+var file_IrodoriChessMysteryInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriChessMysteryInfo.entrance_detail_info:type_name -> proto.IrodoriChessEntranceDetailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessMysteryInfo_proto_init() }
+func file_IrodoriChessMysteryInfo_proto_init() {
+ if File_IrodoriChessMysteryInfo_proto != nil {
+ return
+ }
+ file_IrodoriChessEntranceDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessMysteryInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessMysteryInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessMysteryInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessMysteryInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessMysteryInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriChessMysteryInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessMysteryInfo_proto = out.File
+ file_IrodoriChessMysteryInfo_proto_rawDesc = nil
+ file_IrodoriChessMysteryInfo_proto_goTypes = nil
+ file_IrodoriChessMysteryInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessPlayerInfo.pb.go b/protocol/proto/IrodoriChessPlayerInfo.pb.go
new file mode 100644
index 00000000..82e55cdc
--- /dev/null
+++ b/protocol/proto/IrodoriChessPlayerInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessPlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriChessPlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,4,opt,name=uid,proto3" json:"uid,omitempty"`
+ BuildingPoints uint32 `protobuf:"varint,9,opt,name=building_points,json=buildingPoints,proto3" json:"building_points,omitempty"`
+ SettleScore uint32 `protobuf:"varint,3,opt,name=settle_score,json=settleScore,proto3" json:"settle_score,omitempty"`
+}
+
+func (x *IrodoriChessPlayerInfo) Reset() {
+ *x = IrodoriChessPlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessPlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessPlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessPlayerInfo) ProtoMessage() {}
+
+func (x *IrodoriChessPlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessPlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessPlayerInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriChessPlayerInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessPlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessPlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *IrodoriChessPlayerInfo) GetBuildingPoints() uint32 {
+ if x != nil {
+ return x.BuildingPoints
+ }
+ return 0
+}
+
+func (x *IrodoriChessPlayerInfo) GetSettleScore() uint32 {
+ if x != nil {
+ return x.SettleScore
+ }
+ return 0
+}
+
+var File_IrodoriChessPlayerInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessPlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x16, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69,
+ 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
+ 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c,
+ 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_IrodoriChessPlayerInfo_proto_rawDescOnce sync.Once
+ file_IrodoriChessPlayerInfo_proto_rawDescData = file_IrodoriChessPlayerInfo_proto_rawDesc
+)
+
+func file_IrodoriChessPlayerInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriChessPlayerInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessPlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessPlayerInfo_proto_rawDescData)
+ })
+ return file_IrodoriChessPlayerInfo_proto_rawDescData
+}
+
+var file_IrodoriChessPlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessPlayerInfo_proto_goTypes = []interface{}{
+ (*IrodoriChessPlayerInfo)(nil), // 0: proto.IrodoriChessPlayerInfo
+}
+var file_IrodoriChessPlayerInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessPlayerInfo_proto_init() }
+func file_IrodoriChessPlayerInfo_proto_init() {
+ if File_IrodoriChessPlayerInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessPlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessPlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessPlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessPlayerInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessPlayerInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriChessPlayerInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessPlayerInfo_proto = out.File
+ file_IrodoriChessPlayerInfo_proto_rawDesc = nil
+ file_IrodoriChessPlayerInfo_proto_goTypes = nil
+ file_IrodoriChessPlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessPlayerInfoNotify.pb.go b/protocol/proto/IrodoriChessPlayerInfoNotify.pb.go
new file mode 100644
index 00000000..3730fd2e
--- /dev/null
+++ b/protocol/proto/IrodoriChessPlayerInfoNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessPlayerInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5364
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IrodoriChessPlayerInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerInfo *IrodoriChessPlayerInfo `protobuf:"bytes,6,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+}
+
+func (x *IrodoriChessPlayerInfoNotify) Reset() {
+ *x = IrodoriChessPlayerInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessPlayerInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessPlayerInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessPlayerInfoNotify) ProtoMessage() {}
+
+func (x *IrodoriChessPlayerInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessPlayerInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessPlayerInfoNotify.ProtoReflect.Descriptor instead.
+func (*IrodoriChessPlayerInfoNotify) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessPlayerInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessPlayerInfoNotify) GetPlayerInfo() *IrodoriChessPlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+var File_IrodoriChessPlayerInfoNotify_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessPlayerInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x49, 0x72, 0x6f,
+ 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x1c, 0x49, 0x72, 0x6f,
+ 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3e, 0x0a, 0x0b, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68,
+ 0x65, 0x73, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessPlayerInfoNotify_proto_rawDescOnce sync.Once
+ file_IrodoriChessPlayerInfoNotify_proto_rawDescData = file_IrodoriChessPlayerInfoNotify_proto_rawDesc
+)
+
+func file_IrodoriChessPlayerInfoNotify_proto_rawDescGZIP() []byte {
+ file_IrodoriChessPlayerInfoNotify_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessPlayerInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessPlayerInfoNotify_proto_rawDescData)
+ })
+ return file_IrodoriChessPlayerInfoNotify_proto_rawDescData
+}
+
+var file_IrodoriChessPlayerInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessPlayerInfoNotify_proto_goTypes = []interface{}{
+ (*IrodoriChessPlayerInfoNotify)(nil), // 0: proto.IrodoriChessPlayerInfoNotify
+ (*IrodoriChessPlayerInfo)(nil), // 1: proto.IrodoriChessPlayerInfo
+}
+var file_IrodoriChessPlayerInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriChessPlayerInfoNotify.player_info:type_name -> proto.IrodoriChessPlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessPlayerInfoNotify_proto_init() }
+func file_IrodoriChessPlayerInfoNotify_proto_init() {
+ if File_IrodoriChessPlayerInfoNotify_proto != nil {
+ return
+ }
+ file_IrodoriChessPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessPlayerInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessPlayerInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessPlayerInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessPlayerInfoNotify_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessPlayerInfoNotify_proto_depIdxs,
+ MessageInfos: file_IrodoriChessPlayerInfoNotify_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessPlayerInfoNotify_proto = out.File
+ file_IrodoriChessPlayerInfoNotify_proto_rawDesc = nil
+ file_IrodoriChessPlayerInfoNotify_proto_goTypes = nil
+ file_IrodoriChessPlayerInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessUnequipCardReq.pb.go b/protocol/proto/IrodoriChessUnequipCardReq.pb.go
new file mode 100644
index 00000000..8aca2275
--- /dev/null
+++ b/protocol/proto/IrodoriChessUnequipCardReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessUnequipCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8057
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type IrodoriChessUnequipCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,8,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,5,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ IsHardMap bool `protobuf:"varint,10,opt,name=is_hard_map,json=isHardMap,proto3" json:"is_hard_map,omitempty"`
+}
+
+func (x *IrodoriChessUnequipCardReq) Reset() {
+ *x = IrodoriChessUnequipCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessUnequipCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessUnequipCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessUnequipCardReq) ProtoMessage() {}
+
+func (x *IrodoriChessUnequipCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessUnequipCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessUnequipCardReq.ProtoReflect.Descriptor instead.
+func (*IrodoriChessUnequipCardReq) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessUnequipCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessUnequipCardReq) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *IrodoriChessUnequipCardReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *IrodoriChessUnequipCardReq) GetIsHardMap() bool {
+ if x != nil {
+ return x.IsHardMap
+ }
+ return false
+}
+
+var File_IrodoriChessUnequipCardReq_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessUnequipCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x55, 0x6e,
+ 0x65, 0x71, 0x75, 0x69, 0x70, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x1a, 0x49, 0x72, 0x6f,
+ 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x55, 0x6e, 0x65, 0x71, 0x75, 0x69, 0x70,
+ 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x69,
+ 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x09, 0x69, 0x73, 0x48, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessUnequipCardReq_proto_rawDescOnce sync.Once
+ file_IrodoriChessUnequipCardReq_proto_rawDescData = file_IrodoriChessUnequipCardReq_proto_rawDesc
+)
+
+func file_IrodoriChessUnequipCardReq_proto_rawDescGZIP() []byte {
+ file_IrodoriChessUnequipCardReq_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessUnequipCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessUnequipCardReq_proto_rawDescData)
+ })
+ return file_IrodoriChessUnequipCardReq_proto_rawDescData
+}
+
+var file_IrodoriChessUnequipCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessUnequipCardReq_proto_goTypes = []interface{}{
+ (*IrodoriChessUnequipCardReq)(nil), // 0: proto.IrodoriChessUnequipCardReq
+}
+var file_IrodoriChessUnequipCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessUnequipCardReq_proto_init() }
+func file_IrodoriChessUnequipCardReq_proto_init() {
+ if File_IrodoriChessUnequipCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessUnequipCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessUnequipCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessUnequipCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessUnequipCardReq_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessUnequipCardReq_proto_depIdxs,
+ MessageInfos: file_IrodoriChessUnequipCardReq_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessUnequipCardReq_proto = out.File
+ file_IrodoriChessUnequipCardReq_proto_rawDesc = nil
+ file_IrodoriChessUnequipCardReq_proto_goTypes = nil
+ file_IrodoriChessUnequipCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriChessUnequipCardRsp.pb.go b/protocol/proto/IrodoriChessUnequipCardRsp.pb.go
new file mode 100644
index 00000000..c4000066
--- /dev/null
+++ b/protocol/proto/IrodoriChessUnequipCardRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriChessUnequipCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8817
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IrodoriChessUnequipCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsHardMap bool `protobuf:"varint,10,opt,name=is_hard_map,json=isHardMap,proto3" json:"is_hard_map,omitempty"`
+ CardId uint32 `protobuf:"varint,13,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,14,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *IrodoriChessUnequipCardRsp) Reset() {
+ *x = IrodoriChessUnequipCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriChessUnequipCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriChessUnequipCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriChessUnequipCardRsp) ProtoMessage() {}
+
+func (x *IrodoriChessUnequipCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriChessUnequipCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriChessUnequipCardRsp.ProtoReflect.Descriptor instead.
+func (*IrodoriChessUnequipCardRsp) Descriptor() ([]byte, []int) {
+ return file_IrodoriChessUnequipCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriChessUnequipCardRsp) GetIsHardMap() bool {
+ if x != nil {
+ return x.IsHardMap
+ }
+ return false
+}
+
+func (x *IrodoriChessUnequipCardRsp) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *IrodoriChessUnequipCardRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *IrodoriChessUnequipCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_IrodoriChessUnequipCardRsp_proto protoreflect.FileDescriptor
+
+var file_IrodoriChessUnequipCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x55, 0x6e,
+ 0x65, 0x71, 0x75, 0x69, 0x70, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x49, 0x72,
+ 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x55, 0x6e, 0x65, 0x71, 0x75, 0x69,
+ 0x70, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x68,
+ 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69,
+ 0x73, 0x48, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriChessUnequipCardRsp_proto_rawDescOnce sync.Once
+ file_IrodoriChessUnequipCardRsp_proto_rawDescData = file_IrodoriChessUnequipCardRsp_proto_rawDesc
+)
+
+func file_IrodoriChessUnequipCardRsp_proto_rawDescGZIP() []byte {
+ file_IrodoriChessUnequipCardRsp_proto_rawDescOnce.Do(func() {
+ file_IrodoriChessUnequipCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriChessUnequipCardRsp_proto_rawDescData)
+ })
+ return file_IrodoriChessUnequipCardRsp_proto_rawDescData
+}
+
+var file_IrodoriChessUnequipCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriChessUnequipCardRsp_proto_goTypes = []interface{}{
+ (*IrodoriChessUnequipCardRsp)(nil), // 0: proto.IrodoriChessUnequipCardRsp
+}
+var file_IrodoriChessUnequipCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriChessUnequipCardRsp_proto_init() }
+func file_IrodoriChessUnequipCardRsp_proto_init() {
+ if File_IrodoriChessUnequipCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriChessUnequipCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriChessUnequipCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriChessUnequipCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriChessUnequipCardRsp_proto_goTypes,
+ DependencyIndexes: file_IrodoriChessUnequipCardRsp_proto_depIdxs,
+ MessageInfos: file_IrodoriChessUnequipCardRsp_proto_msgTypes,
+ }.Build()
+ File_IrodoriChessUnequipCardRsp_proto = out.File
+ file_IrodoriChessUnequipCardRsp_proto_rawDesc = nil
+ file_IrodoriChessUnequipCardRsp_proto_goTypes = nil
+ file_IrodoriChessUnequipCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriEditFlowerCombinationReq.pb.go b/protocol/proto/IrodoriEditFlowerCombinationReq.pb.go
new file mode 100644
index 00000000..546859eb
--- /dev/null
+++ b/protocol/proto/IrodoriEditFlowerCombinationReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriEditFlowerCombinationReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8608
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type IrodoriEditFlowerCombinationReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,13,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ CombinationInfo *CustomGadgetTreeInfo `protobuf:"bytes,1,opt,name=combination_info,json=combinationInfo,proto3" json:"combination_info,omitempty"`
+}
+
+func (x *IrodoriEditFlowerCombinationReq) Reset() {
+ *x = IrodoriEditFlowerCombinationReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriEditFlowerCombinationReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriEditFlowerCombinationReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriEditFlowerCombinationReq) ProtoMessage() {}
+
+func (x *IrodoriEditFlowerCombinationReq) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriEditFlowerCombinationReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriEditFlowerCombinationReq.ProtoReflect.Descriptor instead.
+func (*IrodoriEditFlowerCombinationReq) Descriptor() ([]byte, []int) {
+ return file_IrodoriEditFlowerCombinationReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriEditFlowerCombinationReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *IrodoriEditFlowerCombinationReq) GetCombinationInfo() *CustomGadgetTreeInfo {
+ if x != nil {
+ return x.CombinationInfo
+ }
+ return nil
+}
+
+var File_IrodoriEditFlowerCombinationReq_proto protoreflect.FileDescriptor
+
+var file_IrodoriEditFlowerCombinationReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x45, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x1f, 0x49,
+ 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x45, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x63,
+ 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriEditFlowerCombinationReq_proto_rawDescOnce sync.Once
+ file_IrodoriEditFlowerCombinationReq_proto_rawDescData = file_IrodoriEditFlowerCombinationReq_proto_rawDesc
+)
+
+func file_IrodoriEditFlowerCombinationReq_proto_rawDescGZIP() []byte {
+ file_IrodoriEditFlowerCombinationReq_proto_rawDescOnce.Do(func() {
+ file_IrodoriEditFlowerCombinationReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriEditFlowerCombinationReq_proto_rawDescData)
+ })
+ return file_IrodoriEditFlowerCombinationReq_proto_rawDescData
+}
+
+var file_IrodoriEditFlowerCombinationReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriEditFlowerCombinationReq_proto_goTypes = []interface{}{
+ (*IrodoriEditFlowerCombinationReq)(nil), // 0: proto.IrodoriEditFlowerCombinationReq
+ (*CustomGadgetTreeInfo)(nil), // 1: proto.CustomGadgetTreeInfo
+}
+var file_IrodoriEditFlowerCombinationReq_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriEditFlowerCombinationReq.combination_info:type_name -> proto.CustomGadgetTreeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriEditFlowerCombinationReq_proto_init() }
+func file_IrodoriEditFlowerCombinationReq_proto_init() {
+ if File_IrodoriEditFlowerCombinationReq_proto != nil {
+ return
+ }
+ file_CustomGadgetTreeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriEditFlowerCombinationReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriEditFlowerCombinationReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriEditFlowerCombinationReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriEditFlowerCombinationReq_proto_goTypes,
+ DependencyIndexes: file_IrodoriEditFlowerCombinationReq_proto_depIdxs,
+ MessageInfos: file_IrodoriEditFlowerCombinationReq_proto_msgTypes,
+ }.Build()
+ File_IrodoriEditFlowerCombinationReq_proto = out.File
+ file_IrodoriEditFlowerCombinationReq_proto_rawDesc = nil
+ file_IrodoriEditFlowerCombinationReq_proto_goTypes = nil
+ file_IrodoriEditFlowerCombinationReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriEditFlowerCombinationRsp.pb.go b/protocol/proto/IrodoriEditFlowerCombinationRsp.pb.go
new file mode 100644
index 00000000..4fcf7abe
--- /dev/null
+++ b/protocol/proto/IrodoriEditFlowerCombinationRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriEditFlowerCombinationRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8833
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IrodoriEditFlowerCombinationRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAlreadyFinished bool `protobuf:"varint,4,opt,name=is_already_finished,json=isAlreadyFinished,proto3" json:"is_already_finished,omitempty"`
+ IsCanTakeReward bool `protobuf:"varint,3,opt,name=is_can_take_reward,json=isCanTakeReward,proto3" json:"is_can_take_reward,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *IrodoriEditFlowerCombinationRsp) Reset() {
+ *x = IrodoriEditFlowerCombinationRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriEditFlowerCombinationRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriEditFlowerCombinationRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriEditFlowerCombinationRsp) ProtoMessage() {}
+
+func (x *IrodoriEditFlowerCombinationRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriEditFlowerCombinationRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriEditFlowerCombinationRsp.ProtoReflect.Descriptor instead.
+func (*IrodoriEditFlowerCombinationRsp) Descriptor() ([]byte, []int) {
+ return file_IrodoriEditFlowerCombinationRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriEditFlowerCombinationRsp) GetIsAlreadyFinished() bool {
+ if x != nil {
+ return x.IsAlreadyFinished
+ }
+ return false
+}
+
+func (x *IrodoriEditFlowerCombinationRsp) GetIsCanTakeReward() bool {
+ if x != nil {
+ return x.IsCanTakeReward
+ }
+ return false
+}
+
+func (x *IrodoriEditFlowerCombinationRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_IrodoriEditFlowerCombinationRsp_proto protoreflect.FileDescriptor
+
+var file_IrodoriEditFlowerCombinationRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x45, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x98,
+ 0x01, 0x0a, 0x1f, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x45, 0x64, 0x69, 0x74, 0x46, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79,
+ 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x11, 0x69, 0x73, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x74, 0x61, 0x6b,
+ 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
+ 0x69, 0x73, 0x43, 0x61, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriEditFlowerCombinationRsp_proto_rawDescOnce sync.Once
+ file_IrodoriEditFlowerCombinationRsp_proto_rawDescData = file_IrodoriEditFlowerCombinationRsp_proto_rawDesc
+)
+
+func file_IrodoriEditFlowerCombinationRsp_proto_rawDescGZIP() []byte {
+ file_IrodoriEditFlowerCombinationRsp_proto_rawDescOnce.Do(func() {
+ file_IrodoriEditFlowerCombinationRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriEditFlowerCombinationRsp_proto_rawDescData)
+ })
+ return file_IrodoriEditFlowerCombinationRsp_proto_rawDescData
+}
+
+var file_IrodoriEditFlowerCombinationRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriEditFlowerCombinationRsp_proto_goTypes = []interface{}{
+ (*IrodoriEditFlowerCombinationRsp)(nil), // 0: proto.IrodoriEditFlowerCombinationRsp
+}
+var file_IrodoriEditFlowerCombinationRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriEditFlowerCombinationRsp_proto_init() }
+func file_IrodoriEditFlowerCombinationRsp_proto_init() {
+ if File_IrodoriEditFlowerCombinationRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriEditFlowerCombinationRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriEditFlowerCombinationRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriEditFlowerCombinationRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriEditFlowerCombinationRsp_proto_goTypes,
+ DependencyIndexes: file_IrodoriEditFlowerCombinationRsp_proto_depIdxs,
+ MessageInfos: file_IrodoriEditFlowerCombinationRsp_proto_msgTypes,
+ }.Build()
+ File_IrodoriEditFlowerCombinationRsp_proto = out.File
+ file_IrodoriEditFlowerCombinationRsp_proto_rawDesc = nil
+ file_IrodoriEditFlowerCombinationRsp_proto_goTypes = nil
+ file_IrodoriEditFlowerCombinationRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriFillPoetryReq.pb.go b/protocol/proto/IrodoriFillPoetryReq.pb.go
new file mode 100644
index 00000000..cca9e2f1
--- /dev/null
+++ b/protocol/proto/IrodoriFillPoetryReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriFillPoetryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8129
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type IrodoriFillPoetryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ThemeId uint32 `protobuf:"varint,9,opt,name=theme_id,json=themeId,proto3" json:"theme_id,omitempty"`
+ LineId uint32 `protobuf:"varint,13,opt,name=line_id,json=lineId,proto3" json:"line_id,omitempty"`
+}
+
+func (x *IrodoriFillPoetryReq) Reset() {
+ *x = IrodoriFillPoetryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriFillPoetryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriFillPoetryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriFillPoetryReq) ProtoMessage() {}
+
+func (x *IrodoriFillPoetryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriFillPoetryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriFillPoetryReq.ProtoReflect.Descriptor instead.
+func (*IrodoriFillPoetryReq) Descriptor() ([]byte, []int) {
+ return file_IrodoriFillPoetryReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriFillPoetryReq) GetThemeId() uint32 {
+ if x != nil {
+ return x.ThemeId
+ }
+ return 0
+}
+
+func (x *IrodoriFillPoetryReq) GetLineId() uint32 {
+ if x != nil {
+ return x.LineId
+ }
+ return 0
+}
+
+var File_IrodoriFillPoetryReq_proto protoreflect.FileDescriptor
+
+var file_IrodoriFillPoetryReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x46, 0x69, 0x6c, 0x6c, 0x50, 0x6f, 0x65,
+ 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x14, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x46, 0x69,
+ 0x6c, 0x6c, 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x74,
+ 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74,
+ 0x68, 0x65, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriFillPoetryReq_proto_rawDescOnce sync.Once
+ file_IrodoriFillPoetryReq_proto_rawDescData = file_IrodoriFillPoetryReq_proto_rawDesc
+)
+
+func file_IrodoriFillPoetryReq_proto_rawDescGZIP() []byte {
+ file_IrodoriFillPoetryReq_proto_rawDescOnce.Do(func() {
+ file_IrodoriFillPoetryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriFillPoetryReq_proto_rawDescData)
+ })
+ return file_IrodoriFillPoetryReq_proto_rawDescData
+}
+
+var file_IrodoriFillPoetryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriFillPoetryReq_proto_goTypes = []interface{}{
+ (*IrodoriFillPoetryReq)(nil), // 0: proto.IrodoriFillPoetryReq
+}
+var file_IrodoriFillPoetryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriFillPoetryReq_proto_init() }
+func file_IrodoriFillPoetryReq_proto_init() {
+ if File_IrodoriFillPoetryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriFillPoetryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriFillPoetryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriFillPoetryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriFillPoetryReq_proto_goTypes,
+ DependencyIndexes: file_IrodoriFillPoetryReq_proto_depIdxs,
+ MessageInfos: file_IrodoriFillPoetryReq_proto_msgTypes,
+ }.Build()
+ File_IrodoriFillPoetryReq_proto = out.File
+ file_IrodoriFillPoetryReq_proto_rawDesc = nil
+ file_IrodoriFillPoetryReq_proto_goTypes = nil
+ file_IrodoriFillPoetryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriFillPoetryRsp.pb.go b/protocol/proto/IrodoriFillPoetryRsp.pb.go
new file mode 100644
index 00000000..b6a5748b
--- /dev/null
+++ b/protocol/proto/IrodoriFillPoetryRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriFillPoetryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8880
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IrodoriFillPoetryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ThemeData *IrodoriPoetryThemeData `protobuf:"bytes,13,opt,name=theme_data,json=themeData,proto3" json:"theme_data,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *IrodoriFillPoetryRsp) Reset() {
+ *x = IrodoriFillPoetryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriFillPoetryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriFillPoetryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriFillPoetryRsp) ProtoMessage() {}
+
+func (x *IrodoriFillPoetryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriFillPoetryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriFillPoetryRsp.ProtoReflect.Descriptor instead.
+func (*IrodoriFillPoetryRsp) Descriptor() ([]byte, []int) {
+ return file_IrodoriFillPoetryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriFillPoetryRsp) GetThemeData() *IrodoriPoetryThemeData {
+ if x != nil {
+ return x.ThemeData
+ }
+ return nil
+}
+
+func (x *IrodoriFillPoetryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_IrodoriFillPoetryRsp_proto protoreflect.FileDescriptor
+
+var file_IrodoriFillPoetryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x46, 0x69, 0x6c, 0x6c, 0x50, 0x6f, 0x65,
+ 0x74, 0x72, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65, 0x74,
+ 0x72, 0x79, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6e, 0x0a, 0x14, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x46, 0x69, 0x6c, 0x6c,
+ 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x68, 0x65,
+ 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65,
+ 0x74, 0x72, 0x79, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x74, 0x68,
+ 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriFillPoetryRsp_proto_rawDescOnce sync.Once
+ file_IrodoriFillPoetryRsp_proto_rawDescData = file_IrodoriFillPoetryRsp_proto_rawDesc
+)
+
+func file_IrodoriFillPoetryRsp_proto_rawDescGZIP() []byte {
+ file_IrodoriFillPoetryRsp_proto_rawDescOnce.Do(func() {
+ file_IrodoriFillPoetryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriFillPoetryRsp_proto_rawDescData)
+ })
+ return file_IrodoriFillPoetryRsp_proto_rawDescData
+}
+
+var file_IrodoriFillPoetryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriFillPoetryRsp_proto_goTypes = []interface{}{
+ (*IrodoriFillPoetryRsp)(nil), // 0: proto.IrodoriFillPoetryRsp
+ (*IrodoriPoetryThemeData)(nil), // 1: proto.IrodoriPoetryThemeData
+}
+var file_IrodoriFillPoetryRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriFillPoetryRsp.theme_data:type_name -> proto.IrodoriPoetryThemeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriFillPoetryRsp_proto_init() }
+func file_IrodoriFillPoetryRsp_proto_init() {
+ if File_IrodoriFillPoetryRsp_proto != nil {
+ return
+ }
+ file_IrodoriPoetryThemeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriFillPoetryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriFillPoetryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriFillPoetryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriFillPoetryRsp_proto_goTypes,
+ DependencyIndexes: file_IrodoriFillPoetryRsp_proto_depIdxs,
+ MessageInfos: file_IrodoriFillPoetryRsp_proto_msgTypes,
+ }.Build()
+ File_IrodoriFillPoetryRsp_proto = out.File
+ file_IrodoriFillPoetryRsp_proto_rawDesc = nil
+ file_IrodoriFillPoetryRsp_proto_goTypes = nil
+ file_IrodoriFillPoetryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriFlowerData.pb.go b/protocol/proto/IrodoriFlowerData.pb.go
new file mode 100644
index 00000000..5f9941d2
--- /dev/null
+++ b/protocol/proto/IrodoriFlowerData.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriFlowerData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriFlowerData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedThemeList []uint32 `protobuf:"varint,1,rep,packed,name=finished_theme_list,json=finishedThemeList,proto3" json:"finished_theme_list,omitempty"`
+ UsedFlowerList []*ItemParam `protobuf:"bytes,7,rep,name=used_flower_list,json=usedFlowerList,proto3" json:"used_flower_list,omitempty"`
+}
+
+func (x *IrodoriFlowerData) Reset() {
+ *x = IrodoriFlowerData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriFlowerData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriFlowerData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriFlowerData) ProtoMessage() {}
+
+func (x *IrodoriFlowerData) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriFlowerData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriFlowerData.ProtoReflect.Descriptor instead.
+func (*IrodoriFlowerData) Descriptor() ([]byte, []int) {
+ return file_IrodoriFlowerData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriFlowerData) GetFinishedThemeList() []uint32 {
+ if x != nil {
+ return x.FinishedThemeList
+ }
+ return nil
+}
+
+func (x *IrodoriFlowerData) GetUsedFlowerList() []*ItemParam {
+ if x != nil {
+ return x.UsedFlowerList
+ }
+ return nil
+}
+
+var File_IrodoriFlowerData_proto protoreflect.FileDescriptor
+
+var file_IrodoriFlowerData_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x7f, 0x0a, 0x11, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x68, 0x65,
+ 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x66,
+ 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriFlowerData_proto_rawDescOnce sync.Once
+ file_IrodoriFlowerData_proto_rawDescData = file_IrodoriFlowerData_proto_rawDesc
+)
+
+func file_IrodoriFlowerData_proto_rawDescGZIP() []byte {
+ file_IrodoriFlowerData_proto_rawDescOnce.Do(func() {
+ file_IrodoriFlowerData_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriFlowerData_proto_rawDescData)
+ })
+ return file_IrodoriFlowerData_proto_rawDescData
+}
+
+var file_IrodoriFlowerData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriFlowerData_proto_goTypes = []interface{}{
+ (*IrodoriFlowerData)(nil), // 0: proto.IrodoriFlowerData
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_IrodoriFlowerData_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriFlowerData.used_flower_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriFlowerData_proto_init() }
+func file_IrodoriFlowerData_proto_init() {
+ if File_IrodoriFlowerData_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriFlowerData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriFlowerData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriFlowerData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriFlowerData_proto_goTypes,
+ DependencyIndexes: file_IrodoriFlowerData_proto_depIdxs,
+ MessageInfos: file_IrodoriFlowerData_proto_msgTypes,
+ }.Build()
+ File_IrodoriFlowerData_proto = out.File
+ file_IrodoriFlowerData_proto_rawDesc = nil
+ file_IrodoriFlowerData_proto_goTypes = nil
+ file_IrodoriFlowerData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriMasterGalleryCgEndNotify.pb.go b/protocol/proto/IrodoriMasterGalleryCgEndNotify.pb.go
new file mode 100644
index 00000000..903f64e6
--- /dev/null
+++ b/protocol/proto/IrodoriMasterGalleryCgEndNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriMasterGalleryCgEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8061
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type IrodoriMasterGalleryCgEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,15,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ GalleryId uint32 `protobuf:"varint,4,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *IrodoriMasterGalleryCgEndNotify) Reset() {
+ *x = IrodoriMasterGalleryCgEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriMasterGalleryCgEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriMasterGalleryCgEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriMasterGalleryCgEndNotify) ProtoMessage() {}
+
+func (x *IrodoriMasterGalleryCgEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriMasterGalleryCgEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriMasterGalleryCgEndNotify.ProtoReflect.Descriptor instead.
+func (*IrodoriMasterGalleryCgEndNotify) Descriptor() ([]byte, []int) {
+ return file_IrodoriMasterGalleryCgEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriMasterGalleryCgEndNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *IrodoriMasterGalleryCgEndNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_IrodoriMasterGalleryCgEndNotify_proto protoreflect.FileDescriptor
+
+var file_IrodoriMasterGalleryCgEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x67, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b,
+ 0x0a, 0x1f, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x67, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriMasterGalleryCgEndNotify_proto_rawDescOnce sync.Once
+ file_IrodoriMasterGalleryCgEndNotify_proto_rawDescData = file_IrodoriMasterGalleryCgEndNotify_proto_rawDesc
+)
+
+func file_IrodoriMasterGalleryCgEndNotify_proto_rawDescGZIP() []byte {
+ file_IrodoriMasterGalleryCgEndNotify_proto_rawDescOnce.Do(func() {
+ file_IrodoriMasterGalleryCgEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriMasterGalleryCgEndNotify_proto_rawDescData)
+ })
+ return file_IrodoriMasterGalleryCgEndNotify_proto_rawDescData
+}
+
+var file_IrodoriMasterGalleryCgEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriMasterGalleryCgEndNotify_proto_goTypes = []interface{}{
+ (*IrodoriMasterGalleryCgEndNotify)(nil), // 0: proto.IrodoriMasterGalleryCgEndNotify
+}
+var file_IrodoriMasterGalleryCgEndNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriMasterGalleryCgEndNotify_proto_init() }
+func file_IrodoriMasterGalleryCgEndNotify_proto_init() {
+ if File_IrodoriMasterGalleryCgEndNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriMasterGalleryCgEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriMasterGalleryCgEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriMasterGalleryCgEndNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriMasterGalleryCgEndNotify_proto_goTypes,
+ DependencyIndexes: file_IrodoriMasterGalleryCgEndNotify_proto_depIdxs,
+ MessageInfos: file_IrodoriMasterGalleryCgEndNotify_proto_msgTypes,
+ }.Build()
+ File_IrodoriMasterGalleryCgEndNotify_proto = out.File
+ file_IrodoriMasterGalleryCgEndNotify_proto_rawDesc = nil
+ file_IrodoriMasterGalleryCgEndNotify_proto_goTypes = nil
+ file_IrodoriMasterGalleryCgEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriMasterGallerySettleInfo.pb.go b/protocol/proto/IrodoriMasterGallerySettleInfo.pb.go
new file mode 100644
index 00000000..f47eb18d
--- /dev/null
+++ b/protocol/proto/IrodoriMasterGallerySettleInfo.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriMasterGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriMasterGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason GalleryStopReason `protobuf:"varint,15,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ IsFinish bool `protobuf:"varint,11,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ FinishTime uint32 `protobuf:"varint,14,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
+ Difficult uint32 `protobuf:"varint,6,opt,name=difficult,proto3" json:"difficult,omitempty"`
+ LevelId uint32 `protobuf:"varint,4,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *IrodoriMasterGallerySettleInfo) Reset() {
+ *x = IrodoriMasterGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriMasterGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriMasterGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriMasterGallerySettleInfo) ProtoMessage() {}
+
+func (x *IrodoriMasterGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriMasterGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriMasterGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriMasterGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriMasterGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriMasterGallerySettleInfo) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *IrodoriMasterGallerySettleInfo) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *IrodoriMasterGallerySettleInfo) GetFinishTime() uint32 {
+ if x != nil {
+ return x.FinishTime
+ }
+ return 0
+}
+
+func (x *IrodoriMasterGallerySettleInfo) GetDifficult() uint32 {
+ if x != nil {
+ return x.Difficult
+ }
+ return 0
+}
+
+func (x *IrodoriMasterGallerySettleInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_IrodoriMasterGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriMasterGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x1e, 0x49, 0x72, 0x6f, 0x64, 0x6f,
+ 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriMasterGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_IrodoriMasterGallerySettleInfo_proto_rawDescData = file_IrodoriMasterGallerySettleInfo_proto_rawDesc
+)
+
+func file_IrodoriMasterGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriMasterGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriMasterGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriMasterGallerySettleInfo_proto_rawDescData)
+ })
+ return file_IrodoriMasterGallerySettleInfo_proto_rawDescData
+}
+
+var file_IrodoriMasterGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriMasterGallerySettleInfo_proto_goTypes = []interface{}{
+ (*IrodoriMasterGallerySettleInfo)(nil), // 0: proto.IrodoriMasterGallerySettleInfo
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_IrodoriMasterGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriMasterGallerySettleInfo.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriMasterGallerySettleInfo_proto_init() }
+func file_IrodoriMasterGallerySettleInfo_proto_init() {
+ if File_IrodoriMasterGallerySettleInfo_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriMasterGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriMasterGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriMasterGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriMasterGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriMasterGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriMasterGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriMasterGallerySettleInfo_proto = out.File
+ file_IrodoriMasterGallerySettleInfo_proto_rawDesc = nil
+ file_IrodoriMasterGallerySettleInfo_proto_goTypes = nil
+ file_IrodoriMasterGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriMasterGallerySettleNotify.pb.go b/protocol/proto/IrodoriMasterGallerySettleNotify.pb.go
new file mode 100644
index 00000000..e0b921c5
--- /dev/null
+++ b/protocol/proto/IrodoriMasterGallerySettleNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriMasterGallerySettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8340
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type IrodoriMasterGallerySettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SettleInfo *IrodoriMasterGallerySettleInfo `protobuf:"bytes,13,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+ GalleryId uint32 `protobuf:"varint,5,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *IrodoriMasterGallerySettleNotify) Reset() {
+ *x = IrodoriMasterGallerySettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriMasterGallerySettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriMasterGallerySettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriMasterGallerySettleNotify) ProtoMessage() {}
+
+func (x *IrodoriMasterGallerySettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriMasterGallerySettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriMasterGallerySettleNotify.ProtoReflect.Descriptor instead.
+func (*IrodoriMasterGallerySettleNotify) Descriptor() ([]byte, []int) {
+ return file_IrodoriMasterGallerySettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriMasterGallerySettleNotify) GetSettleInfo() *IrodoriMasterGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+func (x *IrodoriMasterGallerySettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_IrodoriMasterGallerySettleNotify_proto protoreflect.FileDescriptor
+
+var file_IrodoriMasterGallerySettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x24, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x20, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72,
+ 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x73, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d,
+ 0x61, 0x73, 0x74, 0x65, 0x72, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriMasterGallerySettleNotify_proto_rawDescOnce sync.Once
+ file_IrodoriMasterGallerySettleNotify_proto_rawDescData = file_IrodoriMasterGallerySettleNotify_proto_rawDesc
+)
+
+func file_IrodoriMasterGallerySettleNotify_proto_rawDescGZIP() []byte {
+ file_IrodoriMasterGallerySettleNotify_proto_rawDescOnce.Do(func() {
+ file_IrodoriMasterGallerySettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriMasterGallerySettleNotify_proto_rawDescData)
+ })
+ return file_IrodoriMasterGallerySettleNotify_proto_rawDescData
+}
+
+var file_IrodoriMasterGallerySettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriMasterGallerySettleNotify_proto_goTypes = []interface{}{
+ (*IrodoriMasterGallerySettleNotify)(nil), // 0: proto.IrodoriMasterGallerySettleNotify
+ (*IrodoriMasterGallerySettleInfo)(nil), // 1: proto.IrodoriMasterGallerySettleInfo
+}
+var file_IrodoriMasterGallerySettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriMasterGallerySettleNotify.settle_info:type_name -> proto.IrodoriMasterGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriMasterGallerySettleNotify_proto_init() }
+func file_IrodoriMasterGallerySettleNotify_proto_init() {
+ if File_IrodoriMasterGallerySettleNotify_proto != nil {
+ return
+ }
+ file_IrodoriMasterGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriMasterGallerySettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriMasterGallerySettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriMasterGallerySettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriMasterGallerySettleNotify_proto_goTypes,
+ DependencyIndexes: file_IrodoriMasterGallerySettleNotify_proto_depIdxs,
+ MessageInfos: file_IrodoriMasterGallerySettleNotify_proto_msgTypes,
+ }.Build()
+ File_IrodoriMasterGallerySettleNotify_proto = out.File
+ file_IrodoriMasterGallerySettleNotify_proto_rawDesc = nil
+ file_IrodoriMasterGallerySettleNotify_proto_goTypes = nil
+ file_IrodoriMasterGallerySettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriMasterLevelDetailInfo.pb.go b/protocol/proto/IrodoriMasterLevelDetailInfo.pb.go
new file mode 100644
index 00000000..7e16bea0
--- /dev/null
+++ b/protocol/proto/IrodoriMasterLevelDetailInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriMasterLevelDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriMasterLevelDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinish bool `protobuf:"varint,1,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ Diffculty uint32 `protobuf:"varint,2,opt,name=diffculty,proto3" json:"diffculty,omitempty"`
+ MinFinishTime uint32 `protobuf:"varint,8,opt,name=min_finish_time,json=minFinishTime,proto3" json:"min_finish_time,omitempty"`
+ IsHaveTry bool `protobuf:"varint,7,opt,name=is_have_try,json=isHaveTry,proto3" json:"is_have_try,omitempty"`
+}
+
+func (x *IrodoriMasterLevelDetailInfo) Reset() {
+ *x = IrodoriMasterLevelDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriMasterLevelDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriMasterLevelDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriMasterLevelDetailInfo) ProtoMessage() {}
+
+func (x *IrodoriMasterLevelDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriMasterLevelDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriMasterLevelDetailInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriMasterLevelDetailInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriMasterLevelDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriMasterLevelDetailInfo) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *IrodoriMasterLevelDetailInfo) GetDiffculty() uint32 {
+ if x != nil {
+ return x.Diffculty
+ }
+ return 0
+}
+
+func (x *IrodoriMasterLevelDetailInfo) GetMinFinishTime() uint32 {
+ if x != nil {
+ return x.MinFinishTime
+ }
+ return 0
+}
+
+func (x *IrodoriMasterLevelDetailInfo) GetIsHaveTry() bool {
+ if x != nil {
+ return x.IsHaveTry
+ }
+ return false
+}
+
+var File_IrodoriMasterLevelDetailInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriMasterLevelDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x1c,
+ 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09,
+ 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x66,
+ 0x66, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x69,
+ 0x66, 0x66, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x66,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x79, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x54, 0x72, 0x79, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriMasterLevelDetailInfo_proto_rawDescOnce sync.Once
+ file_IrodoriMasterLevelDetailInfo_proto_rawDescData = file_IrodoriMasterLevelDetailInfo_proto_rawDesc
+)
+
+func file_IrodoriMasterLevelDetailInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriMasterLevelDetailInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriMasterLevelDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriMasterLevelDetailInfo_proto_rawDescData)
+ })
+ return file_IrodoriMasterLevelDetailInfo_proto_rawDescData
+}
+
+var file_IrodoriMasterLevelDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriMasterLevelDetailInfo_proto_goTypes = []interface{}{
+ (*IrodoriMasterLevelDetailInfo)(nil), // 0: proto.IrodoriMasterLevelDetailInfo
+}
+var file_IrodoriMasterLevelDetailInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriMasterLevelDetailInfo_proto_init() }
+func file_IrodoriMasterLevelDetailInfo_proto_init() {
+ if File_IrodoriMasterLevelDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriMasterLevelDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriMasterLevelDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriMasterLevelDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriMasterLevelDetailInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriMasterLevelDetailInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriMasterLevelDetailInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriMasterLevelDetailInfo_proto = out.File
+ file_IrodoriMasterLevelDetailInfo_proto_rawDesc = nil
+ file_IrodoriMasterLevelDetailInfo_proto_goTypes = nil
+ file_IrodoriMasterLevelDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriMasterLevelInfo.pb.go b/protocol/proto/IrodoriMasterLevelInfo.pb.go
new file mode 100644
index 00000000..413a1488
--- /dev/null
+++ b/protocol/proto/IrodoriMasterLevelInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriMasterLevelInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriMasterLevelInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DetailInfo []*IrodoriMasterLevelDetailInfo `protobuf:"bytes,11,rep,name=detail_info,json=detailInfo,proto3" json:"detail_info,omitempty"`
+ LevelId uint32 `protobuf:"varint,14,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *IrodoriMasterLevelInfo) Reset() {
+ *x = IrodoriMasterLevelInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriMasterLevelInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriMasterLevelInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriMasterLevelInfo) ProtoMessage() {}
+
+func (x *IrodoriMasterLevelInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriMasterLevelInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriMasterLevelInfo.ProtoReflect.Descriptor instead.
+func (*IrodoriMasterLevelInfo) Descriptor() ([]byte, []int) {
+ return file_IrodoriMasterLevelInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriMasterLevelInfo) GetDetailInfo() []*IrodoriMasterLevelDetailInfo {
+ if x != nil {
+ return x.DetailInfo
+ }
+ return nil
+}
+
+func (x *IrodoriMasterLevelInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_IrodoriMasterLevelInfo_proto protoreflect.FileDescriptor
+
+var file_IrodoriMasterLevelInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61,
+ 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x16, 0x49, 0x72, 0x6f,
+ 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x0b, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriMasterLevelInfo_proto_rawDescOnce sync.Once
+ file_IrodoriMasterLevelInfo_proto_rawDescData = file_IrodoriMasterLevelInfo_proto_rawDesc
+)
+
+func file_IrodoriMasterLevelInfo_proto_rawDescGZIP() []byte {
+ file_IrodoriMasterLevelInfo_proto_rawDescOnce.Do(func() {
+ file_IrodoriMasterLevelInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriMasterLevelInfo_proto_rawDescData)
+ })
+ return file_IrodoriMasterLevelInfo_proto_rawDescData
+}
+
+var file_IrodoriMasterLevelInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriMasterLevelInfo_proto_goTypes = []interface{}{
+ (*IrodoriMasterLevelInfo)(nil), // 0: proto.IrodoriMasterLevelInfo
+ (*IrodoriMasterLevelDetailInfo)(nil), // 1: proto.IrodoriMasterLevelDetailInfo
+}
+var file_IrodoriMasterLevelInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriMasterLevelInfo.detail_info:type_name -> proto.IrodoriMasterLevelDetailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriMasterLevelInfo_proto_init() }
+func file_IrodoriMasterLevelInfo_proto_init() {
+ if File_IrodoriMasterLevelInfo_proto != nil {
+ return
+ }
+ file_IrodoriMasterLevelDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriMasterLevelInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriMasterLevelInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriMasterLevelInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriMasterLevelInfo_proto_goTypes,
+ DependencyIndexes: file_IrodoriMasterLevelInfo_proto_depIdxs,
+ MessageInfos: file_IrodoriMasterLevelInfo_proto_msgTypes,
+ }.Build()
+ File_IrodoriMasterLevelInfo_proto = out.File
+ file_IrodoriMasterLevelInfo_proto_rawDesc = nil
+ file_IrodoriMasterLevelInfo_proto_goTypes = nil
+ file_IrodoriMasterLevelInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriMasterStartGalleryReq.pb.go b/protocol/proto/IrodoriMasterStartGalleryReq.pb.go
new file mode 100644
index 00000000..91b995da
--- /dev/null
+++ b/protocol/proto/IrodoriMasterStartGalleryReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriMasterStartGalleryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8165
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type IrodoriMasterStartGalleryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,12,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Difficulty uint32 `protobuf:"varint,4,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+}
+
+func (x *IrodoriMasterStartGalleryReq) Reset() {
+ *x = IrodoriMasterStartGalleryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriMasterStartGalleryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriMasterStartGalleryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriMasterStartGalleryReq) ProtoMessage() {}
+
+func (x *IrodoriMasterStartGalleryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriMasterStartGalleryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriMasterStartGalleryReq.ProtoReflect.Descriptor instead.
+func (*IrodoriMasterStartGalleryReq) Descriptor() ([]byte, []int) {
+ return file_IrodoriMasterStartGalleryReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriMasterStartGalleryReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *IrodoriMasterStartGalleryReq) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+var File_IrodoriMasterStartGalleryReq_proto protoreflect.FileDescriptor
+
+var file_IrodoriMasterStartGalleryReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1c, 0x49,
+ 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63,
+ 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriMasterStartGalleryReq_proto_rawDescOnce sync.Once
+ file_IrodoriMasterStartGalleryReq_proto_rawDescData = file_IrodoriMasterStartGalleryReq_proto_rawDesc
+)
+
+func file_IrodoriMasterStartGalleryReq_proto_rawDescGZIP() []byte {
+ file_IrodoriMasterStartGalleryReq_proto_rawDescOnce.Do(func() {
+ file_IrodoriMasterStartGalleryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriMasterStartGalleryReq_proto_rawDescData)
+ })
+ return file_IrodoriMasterStartGalleryReq_proto_rawDescData
+}
+
+var file_IrodoriMasterStartGalleryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriMasterStartGalleryReq_proto_goTypes = []interface{}{
+ (*IrodoriMasterStartGalleryReq)(nil), // 0: proto.IrodoriMasterStartGalleryReq
+}
+var file_IrodoriMasterStartGalleryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriMasterStartGalleryReq_proto_init() }
+func file_IrodoriMasterStartGalleryReq_proto_init() {
+ if File_IrodoriMasterStartGalleryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriMasterStartGalleryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriMasterStartGalleryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriMasterStartGalleryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriMasterStartGalleryReq_proto_goTypes,
+ DependencyIndexes: file_IrodoriMasterStartGalleryReq_proto_depIdxs,
+ MessageInfos: file_IrodoriMasterStartGalleryReq_proto_msgTypes,
+ }.Build()
+ File_IrodoriMasterStartGalleryReq_proto = out.File
+ file_IrodoriMasterStartGalleryReq_proto_rawDesc = nil
+ file_IrodoriMasterStartGalleryReq_proto_goTypes = nil
+ file_IrodoriMasterStartGalleryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriMasterStartGalleryRsp.pb.go b/protocol/proto/IrodoriMasterStartGalleryRsp.pb.go
new file mode 100644
index 00000000..0e58931a
--- /dev/null
+++ b/protocol/proto/IrodoriMasterStartGalleryRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriMasterStartGalleryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8381
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IrodoriMasterStartGalleryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *IrodoriMasterStartGalleryRsp) Reset() {
+ *x = IrodoriMasterStartGalleryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriMasterStartGalleryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriMasterStartGalleryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriMasterStartGalleryRsp) ProtoMessage() {}
+
+func (x *IrodoriMasterStartGalleryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriMasterStartGalleryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriMasterStartGalleryRsp.ProtoReflect.Descriptor instead.
+func (*IrodoriMasterStartGalleryRsp) Descriptor() ([]byte, []int) {
+ return file_IrodoriMasterStartGalleryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriMasterStartGalleryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_IrodoriMasterStartGalleryRsp_proto protoreflect.FileDescriptor
+
+var file_IrodoriMasterStartGalleryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1c, 0x49,
+ 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriMasterStartGalleryRsp_proto_rawDescOnce sync.Once
+ file_IrodoriMasterStartGalleryRsp_proto_rawDescData = file_IrodoriMasterStartGalleryRsp_proto_rawDesc
+)
+
+func file_IrodoriMasterStartGalleryRsp_proto_rawDescGZIP() []byte {
+ file_IrodoriMasterStartGalleryRsp_proto_rawDescOnce.Do(func() {
+ file_IrodoriMasterStartGalleryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriMasterStartGalleryRsp_proto_rawDescData)
+ })
+ return file_IrodoriMasterStartGalleryRsp_proto_rawDescData
+}
+
+var file_IrodoriMasterStartGalleryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriMasterStartGalleryRsp_proto_goTypes = []interface{}{
+ (*IrodoriMasterStartGalleryRsp)(nil), // 0: proto.IrodoriMasterStartGalleryRsp
+}
+var file_IrodoriMasterStartGalleryRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriMasterStartGalleryRsp_proto_init() }
+func file_IrodoriMasterStartGalleryRsp_proto_init() {
+ if File_IrodoriMasterStartGalleryRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriMasterStartGalleryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriMasterStartGalleryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriMasterStartGalleryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriMasterStartGalleryRsp_proto_goTypes,
+ DependencyIndexes: file_IrodoriMasterStartGalleryRsp_proto_depIdxs,
+ MessageInfos: file_IrodoriMasterStartGalleryRsp_proto_msgTypes,
+ }.Build()
+ File_IrodoriMasterStartGalleryRsp_proto = out.File
+ file_IrodoriMasterStartGalleryRsp_proto_rawDesc = nil
+ file_IrodoriMasterStartGalleryRsp_proto_goTypes = nil
+ file_IrodoriMasterStartGalleryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriPoetryData.pb.go b/protocol/proto/IrodoriPoetryData.pb.go
new file mode 100644
index 00000000..34cc53fb
--- /dev/null
+++ b/protocol/proto/IrodoriPoetryData.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriPoetryData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriPoetryData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ThemeDataList []*IrodoriPoetryThemeData `protobuf:"bytes,3,rep,name=theme_data_list,json=themeDataList,proto3" json:"theme_data_list,omitempty"`
+ CurThemeId uint32 `protobuf:"varint,14,opt,name=cur_theme_id,json=curThemeId,proto3" json:"cur_theme_id,omitempty"`
+}
+
+func (x *IrodoriPoetryData) Reset() {
+ *x = IrodoriPoetryData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriPoetryData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriPoetryData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriPoetryData) ProtoMessage() {}
+
+func (x *IrodoriPoetryData) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriPoetryData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriPoetryData.ProtoReflect.Descriptor instead.
+func (*IrodoriPoetryData) Descriptor() ([]byte, []int) {
+ return file_IrodoriPoetryData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriPoetryData) GetThemeDataList() []*IrodoriPoetryThemeData {
+ if x != nil {
+ return x.ThemeDataList
+ }
+ return nil
+}
+
+func (x *IrodoriPoetryData) GetCurThemeId() uint32 {
+ if x != nil {
+ return x.CurThemeId
+ }
+ return 0
+}
+
+var File_IrodoriPoetryData_proto protoreflect.FileDescriptor
+
+var file_IrodoriPoetryData_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1c, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x54,
+ 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c,
+ 0x0a, 0x11, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x0f, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74,
+ 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65, 0x74,
+ 0x72, 0x79, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x74, 0x68, 0x65,
+ 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x75,
+ 0x72, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x63, 0x75, 0x72, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriPoetryData_proto_rawDescOnce sync.Once
+ file_IrodoriPoetryData_proto_rawDescData = file_IrodoriPoetryData_proto_rawDesc
+)
+
+func file_IrodoriPoetryData_proto_rawDescGZIP() []byte {
+ file_IrodoriPoetryData_proto_rawDescOnce.Do(func() {
+ file_IrodoriPoetryData_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriPoetryData_proto_rawDescData)
+ })
+ return file_IrodoriPoetryData_proto_rawDescData
+}
+
+var file_IrodoriPoetryData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriPoetryData_proto_goTypes = []interface{}{
+ (*IrodoriPoetryData)(nil), // 0: proto.IrodoriPoetryData
+ (*IrodoriPoetryThemeData)(nil), // 1: proto.IrodoriPoetryThemeData
+}
+var file_IrodoriPoetryData_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriPoetryData.theme_data_list:type_name -> proto.IrodoriPoetryThemeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriPoetryData_proto_init() }
+func file_IrodoriPoetryData_proto_init() {
+ if File_IrodoriPoetryData_proto != nil {
+ return
+ }
+ file_IrodoriPoetryThemeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriPoetryData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriPoetryData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriPoetryData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriPoetryData_proto_goTypes,
+ DependencyIndexes: file_IrodoriPoetryData_proto_depIdxs,
+ MessageInfos: file_IrodoriPoetryData_proto_msgTypes,
+ }.Build()
+ File_IrodoriPoetryData_proto = out.File
+ file_IrodoriPoetryData_proto_rawDesc = nil
+ file_IrodoriPoetryData_proto_goTypes = nil
+ file_IrodoriPoetryData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriPoetryThemeData.pb.go b/protocol/proto/IrodoriPoetryThemeData.pb.go
new file mode 100644
index 00000000..636d3b0b
--- /dev/null
+++ b/protocol/proto/IrodoriPoetryThemeData.pb.go
@@ -0,0 +1,221 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriPoetryThemeData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IrodoriPoetryThemeData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScannedIndexList []uint32 `protobuf:"varint,1,rep,packed,name=scanned_index_list,json=scannedIndexList,proto3" json:"scanned_index_list,omitempty"`
+ LineIdList []uint32 `protobuf:"varint,4,rep,packed,name=line_id_list,json=lineIdList,proto3" json:"line_id_list,omitempty"`
+ MaxProgress uint32 `protobuf:"varint,2,opt,name=max_progress,json=maxProgress,proto3" json:"max_progress,omitempty"`
+ ThemeId uint32 `protobuf:"varint,13,opt,name=theme_id,json=themeId,proto3" json:"theme_id,omitempty"`
+ Progress uint32 `protobuf:"varint,5,opt,name=progress,proto3" json:"progress,omitempty"`
+ MinProgress uint32 `protobuf:"varint,12,opt,name=min_progress,json=minProgress,proto3" json:"min_progress,omitempty"`
+ SelectedLineId uint32 `protobuf:"varint,9,opt,name=selected_line_id,json=selectedLineId,proto3" json:"selected_line_id,omitempty"`
+}
+
+func (x *IrodoriPoetryThemeData) Reset() {
+ *x = IrodoriPoetryThemeData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriPoetryThemeData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriPoetryThemeData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriPoetryThemeData) ProtoMessage() {}
+
+func (x *IrodoriPoetryThemeData) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriPoetryThemeData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriPoetryThemeData.ProtoReflect.Descriptor instead.
+func (*IrodoriPoetryThemeData) Descriptor() ([]byte, []int) {
+ return file_IrodoriPoetryThemeData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriPoetryThemeData) GetScannedIndexList() []uint32 {
+ if x != nil {
+ return x.ScannedIndexList
+ }
+ return nil
+}
+
+func (x *IrodoriPoetryThemeData) GetLineIdList() []uint32 {
+ if x != nil {
+ return x.LineIdList
+ }
+ return nil
+}
+
+func (x *IrodoriPoetryThemeData) GetMaxProgress() uint32 {
+ if x != nil {
+ return x.MaxProgress
+ }
+ return 0
+}
+
+func (x *IrodoriPoetryThemeData) GetThemeId() uint32 {
+ if x != nil {
+ return x.ThemeId
+ }
+ return 0
+}
+
+func (x *IrodoriPoetryThemeData) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *IrodoriPoetryThemeData) GetMinProgress() uint32 {
+ if x != nil {
+ return x.MinProgress
+ }
+ return 0
+}
+
+func (x *IrodoriPoetryThemeData) GetSelectedLineId() uint32 {
+ if x != nil {
+ return x.SelectedLineId
+ }
+ return 0
+}
+
+var File_IrodoriPoetryThemeData_proto protoreflect.FileDescriptor
+
+var file_IrodoriPoetryThemeData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x54,
+ 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x02, 0x0a, 0x16, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72,
+ 0x69, 0x50, 0x6f, 0x65, 0x74, 0x72, 0x79, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x63,
+ 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x20,
+ 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x1a,
+ 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69,
+ 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a,
+ 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65,
+ 0x64, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriPoetryThemeData_proto_rawDescOnce sync.Once
+ file_IrodoriPoetryThemeData_proto_rawDescData = file_IrodoriPoetryThemeData_proto_rawDesc
+)
+
+func file_IrodoriPoetryThemeData_proto_rawDescGZIP() []byte {
+ file_IrodoriPoetryThemeData_proto_rawDescOnce.Do(func() {
+ file_IrodoriPoetryThemeData_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriPoetryThemeData_proto_rawDescData)
+ })
+ return file_IrodoriPoetryThemeData_proto_rawDescData
+}
+
+var file_IrodoriPoetryThemeData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriPoetryThemeData_proto_goTypes = []interface{}{
+ (*IrodoriPoetryThemeData)(nil), // 0: proto.IrodoriPoetryThemeData
+}
+var file_IrodoriPoetryThemeData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriPoetryThemeData_proto_init() }
+func file_IrodoriPoetryThemeData_proto_init() {
+ if File_IrodoriPoetryThemeData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriPoetryThemeData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriPoetryThemeData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriPoetryThemeData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriPoetryThemeData_proto_goTypes,
+ DependencyIndexes: file_IrodoriPoetryThemeData_proto_depIdxs,
+ MessageInfos: file_IrodoriPoetryThemeData_proto_msgTypes,
+ }.Build()
+ File_IrodoriPoetryThemeData_proto = out.File
+ file_IrodoriPoetryThemeData_proto_rawDesc = nil
+ file_IrodoriPoetryThemeData_proto_goTypes = nil
+ file_IrodoriPoetryThemeData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriScanEntityReq.pb.go b/protocol/proto/IrodoriScanEntityReq.pb.go
new file mode 100644
index 00000000..7f30cb87
--- /dev/null
+++ b/protocol/proto/IrodoriScanEntityReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriScanEntityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8767
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type IrodoriScanEntityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *IrodoriScanEntityReq) Reset() {
+ *x = IrodoriScanEntityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriScanEntityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriScanEntityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriScanEntityReq) ProtoMessage() {}
+
+func (x *IrodoriScanEntityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriScanEntityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriScanEntityReq.ProtoReflect.Descriptor instead.
+func (*IrodoriScanEntityReq) Descriptor() ([]byte, []int) {
+ return file_IrodoriScanEntityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriScanEntityReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_IrodoriScanEntityReq_proto protoreflect.FileDescriptor
+
+var file_IrodoriScanEntityReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x14, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x53, 0x63,
+ 0x61, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriScanEntityReq_proto_rawDescOnce sync.Once
+ file_IrodoriScanEntityReq_proto_rawDescData = file_IrodoriScanEntityReq_proto_rawDesc
+)
+
+func file_IrodoriScanEntityReq_proto_rawDescGZIP() []byte {
+ file_IrodoriScanEntityReq_proto_rawDescOnce.Do(func() {
+ file_IrodoriScanEntityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriScanEntityReq_proto_rawDescData)
+ })
+ return file_IrodoriScanEntityReq_proto_rawDescData
+}
+
+var file_IrodoriScanEntityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriScanEntityReq_proto_goTypes = []interface{}{
+ (*IrodoriScanEntityReq)(nil), // 0: proto.IrodoriScanEntityReq
+}
+var file_IrodoriScanEntityReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriScanEntityReq_proto_init() }
+func file_IrodoriScanEntityReq_proto_init() {
+ if File_IrodoriScanEntityReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriScanEntityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriScanEntityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriScanEntityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriScanEntityReq_proto_goTypes,
+ DependencyIndexes: file_IrodoriScanEntityReq_proto_depIdxs,
+ MessageInfos: file_IrodoriScanEntityReq_proto_msgTypes,
+ }.Build()
+ File_IrodoriScanEntityReq_proto = out.File
+ file_IrodoriScanEntityReq_proto_rawDesc = nil
+ file_IrodoriScanEntityReq_proto_goTypes = nil
+ file_IrodoriScanEntityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IrodoriScanEntityRsp.pb.go b/protocol/proto/IrodoriScanEntityRsp.pb.go
new file mode 100644
index 00000000..ca584903
--- /dev/null
+++ b/protocol/proto/IrodoriScanEntityRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IrodoriScanEntityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8026
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IrodoriScanEntityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ThemeData *IrodoriPoetryThemeData `protobuf:"bytes,10,opt,name=theme_data,json=themeData,proto3" json:"theme_data,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsGetInspiration bool `protobuf:"varint,1,opt,name=is_get_inspiration,json=isGetInspiration,proto3" json:"is_get_inspiration,omitempty"`
+}
+
+func (x *IrodoriScanEntityRsp) Reset() {
+ *x = IrodoriScanEntityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IrodoriScanEntityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IrodoriScanEntityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IrodoriScanEntityRsp) ProtoMessage() {}
+
+func (x *IrodoriScanEntityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_IrodoriScanEntityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IrodoriScanEntityRsp.ProtoReflect.Descriptor instead.
+func (*IrodoriScanEntityRsp) Descriptor() ([]byte, []int) {
+ return file_IrodoriScanEntityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IrodoriScanEntityRsp) GetThemeData() *IrodoriPoetryThemeData {
+ if x != nil {
+ return x.ThemeData
+ }
+ return nil
+}
+
+func (x *IrodoriScanEntityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *IrodoriScanEntityRsp) GetIsGetInspiration() bool {
+ if x != nil {
+ return x.IsGetInspiration
+ }
+ return false
+}
+
+var File_IrodoriScanEntityRsp_proto protoreflect.FileDescriptor
+
+var file_IrodoriScanEntityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x53, 0x63, 0x61, 0x6e, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f, 0x65, 0x74,
+ 0x72, 0x79, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x14, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x53, 0x63, 0x61,
+ 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x68,
+ 0x65, 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x50, 0x6f,
+ 0x65, 0x74, 0x72, 0x79, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x74,
+ 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73,
+ 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
+ 0x69, 0x73, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IrodoriScanEntityRsp_proto_rawDescOnce sync.Once
+ file_IrodoriScanEntityRsp_proto_rawDescData = file_IrodoriScanEntityRsp_proto_rawDesc
+)
+
+func file_IrodoriScanEntityRsp_proto_rawDescGZIP() []byte {
+ file_IrodoriScanEntityRsp_proto_rawDescOnce.Do(func() {
+ file_IrodoriScanEntityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_IrodoriScanEntityRsp_proto_rawDescData)
+ })
+ return file_IrodoriScanEntityRsp_proto_rawDescData
+}
+
+var file_IrodoriScanEntityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IrodoriScanEntityRsp_proto_goTypes = []interface{}{
+ (*IrodoriScanEntityRsp)(nil), // 0: proto.IrodoriScanEntityRsp
+ (*IrodoriPoetryThemeData)(nil), // 1: proto.IrodoriPoetryThemeData
+}
+var file_IrodoriScanEntityRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.IrodoriScanEntityRsp.theme_data:type_name -> proto.IrodoriPoetryThemeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IrodoriScanEntityRsp_proto_init() }
+func file_IrodoriScanEntityRsp_proto_init() {
+ if File_IrodoriScanEntityRsp_proto != nil {
+ return
+ }
+ file_IrodoriPoetryThemeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IrodoriScanEntityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IrodoriScanEntityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IrodoriScanEntityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IrodoriScanEntityRsp_proto_goTypes,
+ DependencyIndexes: file_IrodoriScanEntityRsp_proto_depIdxs,
+ MessageInfos: file_IrodoriScanEntityRsp_proto_msgTypes,
+ }.Build()
+ File_IrodoriScanEntityRsp_proto = out.File
+ file_IrodoriScanEntityRsp_proto_rawDesc = nil
+ file_IrodoriScanEntityRsp_proto_goTypes = nil
+ file_IrodoriScanEntityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IslandPartyDetailInfo.pb.go b/protocol/proto/IslandPartyDetailInfo.pb.go
new file mode 100644
index 00000000..e2956b60
--- /dev/null
+++ b/protocol/proto/IslandPartyDetailInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IslandPartyDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IslandPartyDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageDataList []*IslandPartyStageData `protobuf:"bytes,15,rep,name=stage_data_list,json=stageDataList,proto3" json:"stage_data_list,omitempty"`
+}
+
+func (x *IslandPartyDetailInfo) Reset() {
+ *x = IslandPartyDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IslandPartyDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IslandPartyDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IslandPartyDetailInfo) ProtoMessage() {}
+
+func (x *IslandPartyDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IslandPartyDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IslandPartyDetailInfo.ProtoReflect.Descriptor instead.
+func (*IslandPartyDetailInfo) Descriptor() ([]byte, []int) {
+ return file_IslandPartyDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IslandPartyDetailInfo) GetStageDataList() []*IslandPartyStageData {
+ if x != nil {
+ return x.StageDataList
+ }
+ return nil
+}
+
+var File_IslandPartyDetailInfo_proto protoreflect.FileDescriptor
+
+var file_IslandPartyDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74,
+ 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x5c, 0x0a, 0x15, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x43, 0x0a, 0x0f, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x73, 0x6c, 0x61, 0x6e,
+ 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_IslandPartyDetailInfo_proto_rawDescOnce sync.Once
+ file_IslandPartyDetailInfo_proto_rawDescData = file_IslandPartyDetailInfo_proto_rawDesc
+)
+
+func file_IslandPartyDetailInfo_proto_rawDescGZIP() []byte {
+ file_IslandPartyDetailInfo_proto_rawDescOnce.Do(func() {
+ file_IslandPartyDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IslandPartyDetailInfo_proto_rawDescData)
+ })
+ return file_IslandPartyDetailInfo_proto_rawDescData
+}
+
+var file_IslandPartyDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IslandPartyDetailInfo_proto_goTypes = []interface{}{
+ (*IslandPartyDetailInfo)(nil), // 0: proto.IslandPartyDetailInfo
+ (*IslandPartyStageData)(nil), // 1: proto.IslandPartyStageData
+}
+var file_IslandPartyDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IslandPartyDetailInfo.stage_data_list:type_name -> proto.IslandPartyStageData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IslandPartyDetailInfo_proto_init() }
+func file_IslandPartyDetailInfo_proto_init() {
+ if File_IslandPartyDetailInfo_proto != nil {
+ return
+ }
+ file_IslandPartyStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IslandPartyDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IslandPartyDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IslandPartyDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IslandPartyDetailInfo_proto_goTypes,
+ DependencyIndexes: file_IslandPartyDetailInfo_proto_depIdxs,
+ MessageInfos: file_IslandPartyDetailInfo_proto_msgTypes,
+ }.Build()
+ File_IslandPartyDetailInfo_proto = out.File
+ file_IslandPartyDetailInfo_proto_rawDesc = nil
+ file_IslandPartyDetailInfo_proto_goTypes = nil
+ file_IslandPartyDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IslandPartyGallerySettleInfo.pb.go b/protocol/proto/IslandPartyGallerySettleInfo.pb.go
new file mode 100644
index 00000000..2f5869dc
--- /dev/null
+++ b/protocol/proto/IslandPartyGallerySettleInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IslandPartyGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IslandPartyGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerInfo *OnlinePlayerInfo `protobuf:"bytes,13,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+ CardList []*ExhibitionDisplayInfo `protobuf:"bytes,11,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+}
+
+func (x *IslandPartyGallerySettleInfo) Reset() {
+ *x = IslandPartyGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IslandPartyGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IslandPartyGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IslandPartyGallerySettleInfo) ProtoMessage() {}
+
+func (x *IslandPartyGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_IslandPartyGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IslandPartyGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*IslandPartyGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_IslandPartyGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IslandPartyGallerySettleInfo) GetPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+func (x *IslandPartyGallerySettleInfo) GetCardList() []*ExhibitionDisplayInfo {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+var File_IslandPartyGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_IslandPartyGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x78, 0x68,
+ 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x93, 0x01, 0x0a, 0x1c, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f,
+ 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x09, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x61,
+ 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IslandPartyGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_IslandPartyGallerySettleInfo_proto_rawDescData = file_IslandPartyGallerySettleInfo_proto_rawDesc
+)
+
+func file_IslandPartyGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_IslandPartyGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_IslandPartyGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_IslandPartyGallerySettleInfo_proto_rawDescData)
+ })
+ return file_IslandPartyGallerySettleInfo_proto_rawDescData
+}
+
+var file_IslandPartyGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IslandPartyGallerySettleInfo_proto_goTypes = []interface{}{
+ (*IslandPartyGallerySettleInfo)(nil), // 0: proto.IslandPartyGallerySettleInfo
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+ (*ExhibitionDisplayInfo)(nil), // 2: proto.ExhibitionDisplayInfo
+}
+var file_IslandPartyGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.IslandPartyGallerySettleInfo.player_info:type_name -> proto.OnlinePlayerInfo
+ 2, // 1: proto.IslandPartyGallerySettleInfo.card_list:type_name -> proto.ExhibitionDisplayInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_IslandPartyGallerySettleInfo_proto_init() }
+func file_IslandPartyGallerySettleInfo_proto_init() {
+ if File_IslandPartyGallerySettleInfo_proto != nil {
+ return
+ }
+ file_ExhibitionDisplayInfo_proto_init()
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IslandPartyGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IslandPartyGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IslandPartyGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IslandPartyGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_IslandPartyGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_IslandPartyGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_IslandPartyGallerySettleInfo_proto = out.File
+ file_IslandPartyGallerySettleInfo_proto_rawDesc = nil
+ file_IslandPartyGallerySettleInfo_proto_goTypes = nil
+ file_IslandPartyGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IslandPartyRaftInfoNotify.pb.go b/protocol/proto/IslandPartyRaftInfoNotify.pb.go
new file mode 100644
index 00000000..3503e87c
--- /dev/null
+++ b/protocol/proto/IslandPartyRaftInfoNotify.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IslandPartyRaftInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5565
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IslandPartyRaftInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,7,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ Coin uint32 `protobuf:"varint,15,opt,name=coin,proto3" json:"coin,omitempty"`
+ Fuel uint32 `protobuf:"varint,3,opt,name=fuel,proto3" json:"fuel,omitempty"`
+ Component uint32 `protobuf:"varint,13,opt,name=component,proto3" json:"component,omitempty"`
+}
+
+func (x *IslandPartyRaftInfoNotify) Reset() {
+ *x = IslandPartyRaftInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IslandPartyRaftInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IslandPartyRaftInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IslandPartyRaftInfoNotify) ProtoMessage() {}
+
+func (x *IslandPartyRaftInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_IslandPartyRaftInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IslandPartyRaftInfoNotify.ProtoReflect.Descriptor instead.
+func (*IslandPartyRaftInfoNotify) Descriptor() ([]byte, []int) {
+ return file_IslandPartyRaftInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IslandPartyRaftInfoNotify) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *IslandPartyRaftInfoNotify) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+func (x *IslandPartyRaftInfoNotify) GetFuel() uint32 {
+ if x != nil {
+ return x.Fuel
+ }
+ return 0
+}
+
+func (x *IslandPartyRaftInfoNotify) GetComponent() uint32 {
+ if x != nil {
+ return x.Component
+ }
+ return 0
+}
+
+var File_IslandPartyRaftInfoNotify_proto protoreflect.FileDescriptor
+
+var file_IslandPartyRaftInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x61, 0x66,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x19, 0x49, 0x73, 0x6c, 0x61,
+ 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64,
+ 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
+ 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x75, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x04, 0x66, 0x75, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70,
+ 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IslandPartyRaftInfoNotify_proto_rawDescOnce sync.Once
+ file_IslandPartyRaftInfoNotify_proto_rawDescData = file_IslandPartyRaftInfoNotify_proto_rawDesc
+)
+
+func file_IslandPartyRaftInfoNotify_proto_rawDescGZIP() []byte {
+ file_IslandPartyRaftInfoNotify_proto_rawDescOnce.Do(func() {
+ file_IslandPartyRaftInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_IslandPartyRaftInfoNotify_proto_rawDescData)
+ })
+ return file_IslandPartyRaftInfoNotify_proto_rawDescData
+}
+
+var file_IslandPartyRaftInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IslandPartyRaftInfoNotify_proto_goTypes = []interface{}{
+ (*IslandPartyRaftInfoNotify)(nil), // 0: proto.IslandPartyRaftInfoNotify
+}
+var file_IslandPartyRaftInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IslandPartyRaftInfoNotify_proto_init() }
+func file_IslandPartyRaftInfoNotify_proto_init() {
+ if File_IslandPartyRaftInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IslandPartyRaftInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IslandPartyRaftInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IslandPartyRaftInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IslandPartyRaftInfoNotify_proto_goTypes,
+ DependencyIndexes: file_IslandPartyRaftInfoNotify_proto_depIdxs,
+ MessageInfos: file_IslandPartyRaftInfoNotify_proto_msgTypes,
+ }.Build()
+ File_IslandPartyRaftInfoNotify_proto = out.File
+ file_IslandPartyRaftInfoNotify_proto_rawDesc = nil
+ file_IslandPartyRaftInfoNotify_proto_goTypes = nil
+ file_IslandPartyRaftInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IslandPartySailInfoNotify.pb.go b/protocol/proto/IslandPartySailInfoNotify.pb.go
new file mode 100644
index 00000000..97c95655
--- /dev/null
+++ b/protocol/proto/IslandPartySailInfoNotify.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IslandPartySailInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5504
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IslandPartySailInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Coin uint32 `protobuf:"varint,10,opt,name=coin,proto3" json:"coin,omitempty"`
+ Stage IslandPartySailStage `protobuf:"varint,8,opt,name=stage,proto3,enum=proto.IslandPartySailStage" json:"stage,omitempty"`
+ KillMonsterCount uint32 `protobuf:"varint,4,opt,name=kill_monster_count,json=killMonsterCount,proto3" json:"kill_monster_count,omitempty"`
+ Progress uint32 `protobuf:"varint,15,opt,name=progress,proto3" json:"progress,omitempty"`
+}
+
+func (x *IslandPartySailInfoNotify) Reset() {
+ *x = IslandPartySailInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IslandPartySailInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IslandPartySailInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IslandPartySailInfoNotify) ProtoMessage() {}
+
+func (x *IslandPartySailInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_IslandPartySailInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IslandPartySailInfoNotify.ProtoReflect.Descriptor instead.
+func (*IslandPartySailInfoNotify) Descriptor() ([]byte, []int) {
+ return file_IslandPartySailInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IslandPartySailInfoNotify) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+func (x *IslandPartySailInfoNotify) GetStage() IslandPartySailStage {
+ if x != nil {
+ return x.Stage
+ }
+ return IslandPartySailStage_ISLAND_PARTY_SAIL_STAGE_NONE
+}
+
+func (x *IslandPartySailInfoNotify) GetKillMonsterCount() uint32 {
+ if x != nil {
+ return x.KillMonsterCount
+ }
+ return 0
+}
+
+func (x *IslandPartySailInfoNotify) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+var File_IslandPartySailInfoNotify_proto protoreflect.FileDescriptor
+
+var file_IslandPartySailInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64,
+ 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x19, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50,
+ 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x73,
+ 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IslandPartySailInfoNotify_proto_rawDescOnce sync.Once
+ file_IslandPartySailInfoNotify_proto_rawDescData = file_IslandPartySailInfoNotify_proto_rawDesc
+)
+
+func file_IslandPartySailInfoNotify_proto_rawDescGZIP() []byte {
+ file_IslandPartySailInfoNotify_proto_rawDescOnce.Do(func() {
+ file_IslandPartySailInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_IslandPartySailInfoNotify_proto_rawDescData)
+ })
+ return file_IslandPartySailInfoNotify_proto_rawDescData
+}
+
+var file_IslandPartySailInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IslandPartySailInfoNotify_proto_goTypes = []interface{}{
+ (*IslandPartySailInfoNotify)(nil), // 0: proto.IslandPartySailInfoNotify
+ (IslandPartySailStage)(0), // 1: proto.IslandPartySailStage
+}
+var file_IslandPartySailInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.IslandPartySailInfoNotify.stage:type_name -> proto.IslandPartySailStage
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_IslandPartySailInfoNotify_proto_init() }
+func file_IslandPartySailInfoNotify_proto_init() {
+ if File_IslandPartySailInfoNotify_proto != nil {
+ return
+ }
+ file_IslandPartySailStage_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IslandPartySailInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IslandPartySailInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IslandPartySailInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IslandPartySailInfoNotify_proto_goTypes,
+ DependencyIndexes: file_IslandPartySailInfoNotify_proto_depIdxs,
+ MessageInfos: file_IslandPartySailInfoNotify_proto_msgTypes,
+ }.Build()
+ File_IslandPartySailInfoNotify_proto = out.File
+ file_IslandPartySailInfoNotify_proto_rawDesc = nil
+ file_IslandPartySailInfoNotify_proto_goTypes = nil
+ file_IslandPartySailInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IslandPartySailStage.pb.go b/protocol/proto/IslandPartySailStage.pb.go
new file mode 100644
index 00000000..2d4e2aea
--- /dev/null
+++ b/protocol/proto/IslandPartySailStage.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IslandPartySailStage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IslandPartySailStage int32
+
+const (
+ IslandPartySailStage_ISLAND_PARTY_SAIL_STAGE_NONE IslandPartySailStage = 0
+ IslandPartySailStage_ISLAND_PARTY_SAIL_STAGE_SAIL IslandPartySailStage = 1
+ IslandPartySailStage_ISLAND_PARTY_SAIL_STAGE_BATTLE IslandPartySailStage = 2
+)
+
+// Enum value maps for IslandPartySailStage.
+var (
+ IslandPartySailStage_name = map[int32]string{
+ 0: "ISLAND_PARTY_SAIL_STAGE_NONE",
+ 1: "ISLAND_PARTY_SAIL_STAGE_SAIL",
+ 2: "ISLAND_PARTY_SAIL_STAGE_BATTLE",
+ }
+ IslandPartySailStage_value = map[string]int32{
+ "ISLAND_PARTY_SAIL_STAGE_NONE": 0,
+ "ISLAND_PARTY_SAIL_STAGE_SAIL": 1,
+ "ISLAND_PARTY_SAIL_STAGE_BATTLE": 2,
+ }
+)
+
+func (x IslandPartySailStage) Enum() *IslandPartySailStage {
+ p := new(IslandPartySailStage)
+ *p = x
+ return p
+}
+
+func (x IslandPartySailStage) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (IslandPartySailStage) Descriptor() protoreflect.EnumDescriptor {
+ return file_IslandPartySailStage_proto_enumTypes[0].Descriptor()
+}
+
+func (IslandPartySailStage) Type() protoreflect.EnumType {
+ return &file_IslandPartySailStage_proto_enumTypes[0]
+}
+
+func (x IslandPartySailStage) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use IslandPartySailStage.Descriptor instead.
+func (IslandPartySailStage) EnumDescriptor() ([]byte, []int) {
+ return file_IslandPartySailStage_proto_rawDescGZIP(), []int{0}
+}
+
+var File_IslandPartySailStage_proto protoreflect.FileDescriptor
+
+var file_IslandPartySailStage_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69,
+ 0x6c, 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0x7e, 0x0a, 0x14, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72,
+ 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x49,
+ 0x53, 0x4c, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x53, 0x41, 0x49, 0x4c,
+ 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a,
+ 0x1c, 0x49, 0x53, 0x4c, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x53, 0x41,
+ 0x49, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x41, 0x49, 0x4c, 0x10, 0x01, 0x12,
+ 0x22, 0x0a, 0x1e, 0x49, 0x53, 0x4c, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f,
+ 0x53, 0x41, 0x49, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c,
+ 0x45, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IslandPartySailStage_proto_rawDescOnce sync.Once
+ file_IslandPartySailStage_proto_rawDescData = file_IslandPartySailStage_proto_rawDesc
+)
+
+func file_IslandPartySailStage_proto_rawDescGZIP() []byte {
+ file_IslandPartySailStage_proto_rawDescOnce.Do(func() {
+ file_IslandPartySailStage_proto_rawDescData = protoimpl.X.CompressGZIP(file_IslandPartySailStage_proto_rawDescData)
+ })
+ return file_IslandPartySailStage_proto_rawDescData
+}
+
+var file_IslandPartySailStage_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_IslandPartySailStage_proto_goTypes = []interface{}{
+ (IslandPartySailStage)(0), // 0: proto.IslandPartySailStage
+}
+var file_IslandPartySailStage_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IslandPartySailStage_proto_init() }
+func file_IslandPartySailStage_proto_init() {
+ if File_IslandPartySailStage_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IslandPartySailStage_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IslandPartySailStage_proto_goTypes,
+ DependencyIndexes: file_IslandPartySailStage_proto_depIdxs,
+ EnumInfos: file_IslandPartySailStage_proto_enumTypes,
+ }.Build()
+ File_IslandPartySailStage_proto = out.File
+ file_IslandPartySailStage_proto_rawDesc = nil
+ file_IslandPartySailStage_proto_goTypes = nil
+ file_IslandPartySailStage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IslandPartySettleNotify.pb.go b/protocol/proto/IslandPartySettleNotify.pb.go
new file mode 100644
index 00000000..66f4d856
--- /dev/null
+++ b/protocol/proto/IslandPartySettleNotify.pb.go
@@ -0,0 +1,224 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IslandPartySettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24601
+// EnetChannelId: 0
+// EnetIsReliable: true
+type IslandPartySettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,13,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,1,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ SettleInfoList []*IslandPartyGallerySettleInfo `protobuf:"bytes,8,rep,name=settle_info_list,json=settleInfoList,proto3" json:"settle_info_list,omitempty"`
+ ScoreList []*ExhibitionDisplayInfo `protobuf:"bytes,6,rep,name=score_list,json=scoreList,proto3" json:"score_list,omitempty"`
+ TimeRemain uint32 `protobuf:"varint,15,opt,name=time_remain,json=timeRemain,proto3" json:"time_remain,omitempty"`
+}
+
+func (x *IslandPartySettleNotify) Reset() {
+ *x = IslandPartySettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IslandPartySettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IslandPartySettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IslandPartySettleNotify) ProtoMessage() {}
+
+func (x *IslandPartySettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_IslandPartySettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IslandPartySettleNotify.ProtoReflect.Descriptor instead.
+func (*IslandPartySettleNotify) Descriptor() ([]byte, []int) {
+ return file_IslandPartySettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IslandPartySettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *IslandPartySettleNotify) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *IslandPartySettleNotify) GetSettleInfoList() []*IslandPartyGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfoList
+ }
+ return nil
+}
+
+func (x *IslandPartySettleNotify) GetScoreList() []*ExhibitionDisplayInfo {
+ if x != nil {
+ return x.ScoreList
+ }
+ return nil
+}
+
+func (x *IslandPartySettleNotify) GetTimeRemain() uint32 {
+ if x != nil {
+ return x.TimeRemain
+ }
+ return 0
+}
+
+var File_IslandPartySettleNotify_proto protoreflect.FileDescriptor
+
+var file_IslandPartySettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x49, 0x73,
+ 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x9c, 0x02, 0x0a, 0x17, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d,
+ 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x78,
+ 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_IslandPartySettleNotify_proto_rawDescOnce sync.Once
+ file_IslandPartySettleNotify_proto_rawDescData = file_IslandPartySettleNotify_proto_rawDesc
+)
+
+func file_IslandPartySettleNotify_proto_rawDescGZIP() []byte {
+ file_IslandPartySettleNotify_proto_rawDescOnce.Do(func() {
+ file_IslandPartySettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_IslandPartySettleNotify_proto_rawDescData)
+ })
+ return file_IslandPartySettleNotify_proto_rawDescData
+}
+
+var file_IslandPartySettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IslandPartySettleNotify_proto_goTypes = []interface{}{
+ (*IslandPartySettleNotify)(nil), // 0: proto.IslandPartySettleNotify
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+ (*IslandPartyGallerySettleInfo)(nil), // 2: proto.IslandPartyGallerySettleInfo
+ (*ExhibitionDisplayInfo)(nil), // 3: proto.ExhibitionDisplayInfo
+}
+var file_IslandPartySettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.IslandPartySettleNotify.reason:type_name -> proto.GalleryStopReason
+ 2, // 1: proto.IslandPartySettleNotify.settle_info_list:type_name -> proto.IslandPartyGallerySettleInfo
+ 3, // 2: proto.IslandPartySettleNotify.score_list:type_name -> proto.ExhibitionDisplayInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_IslandPartySettleNotify_proto_init() }
+func file_IslandPartySettleNotify_proto_init() {
+ if File_IslandPartySettleNotify_proto != nil {
+ return
+ }
+ file_ExhibitionDisplayInfo_proto_init()
+ file_GalleryStopReason_proto_init()
+ file_IslandPartyGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_IslandPartySettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IslandPartySettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IslandPartySettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IslandPartySettleNotify_proto_goTypes,
+ DependencyIndexes: file_IslandPartySettleNotify_proto_depIdxs,
+ MessageInfos: file_IslandPartySettleNotify_proto_msgTypes,
+ }.Build()
+ File_IslandPartySettleNotify_proto = out.File
+ file_IslandPartySettleNotify_proto_rawDesc = nil
+ file_IslandPartySettleNotify_proto_goTypes = nil
+ file_IslandPartySettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/IslandPartyStageData.pb.go b/protocol/proto/IslandPartyStageData.pb.go
new file mode 100644
index 00000000..1e1c3a44
--- /dev/null
+++ b/protocol/proto/IslandPartyStageData.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: IslandPartyStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type IslandPartyStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,13,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsOpen bool `protobuf:"varint,14,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ BestScore uint32 `protobuf:"varint,4,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+}
+
+func (x *IslandPartyStageData) Reset() {
+ *x = IslandPartyStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_IslandPartyStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *IslandPartyStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*IslandPartyStageData) ProtoMessage() {}
+
+func (x *IslandPartyStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_IslandPartyStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use IslandPartyStageData.ProtoReflect.Descriptor instead.
+func (*IslandPartyStageData) Descriptor() ([]byte, []int) {
+ return file_IslandPartyStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *IslandPartyStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *IslandPartyStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *IslandPartyStageData) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+var File_IslandPartyStageData_proto protoreflect.FileDescriptor
+
+var file_IslandPartyStageData_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x14, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72,
+ 0x74, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_IslandPartyStageData_proto_rawDescOnce sync.Once
+ file_IslandPartyStageData_proto_rawDescData = file_IslandPartyStageData_proto_rawDesc
+)
+
+func file_IslandPartyStageData_proto_rawDescGZIP() []byte {
+ file_IslandPartyStageData_proto_rawDescOnce.Do(func() {
+ file_IslandPartyStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_IslandPartyStageData_proto_rawDescData)
+ })
+ return file_IslandPartyStageData_proto_rawDescData
+}
+
+var file_IslandPartyStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_IslandPartyStageData_proto_goTypes = []interface{}{
+ (*IslandPartyStageData)(nil), // 0: proto.IslandPartyStageData
+}
+var file_IslandPartyStageData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_IslandPartyStageData_proto_init() }
+func file_IslandPartyStageData_proto_init() {
+ if File_IslandPartyStageData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_IslandPartyStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*IslandPartyStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_IslandPartyStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_IslandPartyStageData_proto_goTypes,
+ DependencyIndexes: file_IslandPartyStageData_proto_depIdxs,
+ MessageInfos: file_IslandPartyStageData_proto_msgTypes,
+ }.Build()
+ File_IslandPartyStageData_proto = out.File
+ file_IslandPartyStageData_proto_rawDesc = nil
+ file_IslandPartyStageData_proto_goTypes = nil
+ file_IslandPartyStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Item.pb.go b/protocol/proto/Item.pb.go
new file mode 100644
index 00000000..de48ba45
--- /dev/null
+++ b/protocol/proto/Item.pb.go
@@ -0,0 +1,248 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Item.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Item struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,1,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ Guid uint64 `protobuf:"varint,2,opt,name=guid,proto3" json:"guid,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *Item_Material
+ // *Item_Equip
+ // *Item_Furniture
+ Detail isItem_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *Item) Reset() {
+ *x = Item{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Item_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Item) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Item) ProtoMessage() {}
+
+func (x *Item) ProtoReflect() protoreflect.Message {
+ mi := &file_Item_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Item.ProtoReflect.Descriptor instead.
+func (*Item) Descriptor() ([]byte, []int) {
+ return file_Item_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Item) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *Item) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (m *Item) GetDetail() isItem_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *Item) GetMaterial() *Material {
+ if x, ok := x.GetDetail().(*Item_Material); ok {
+ return x.Material
+ }
+ return nil
+}
+
+func (x *Item) GetEquip() *Equip {
+ if x, ok := x.GetDetail().(*Item_Equip); ok {
+ return x.Equip
+ }
+ return nil
+}
+
+func (x *Item) GetFurniture() *Furniture {
+ if x, ok := x.GetDetail().(*Item_Furniture); ok {
+ return x.Furniture
+ }
+ return nil
+}
+
+type isItem_Detail interface {
+ isItem_Detail()
+}
+
+type Item_Material struct {
+ Material *Material `protobuf:"bytes,5,opt,name=material,proto3,oneof"`
+}
+
+type Item_Equip struct {
+ Equip *Equip `protobuf:"bytes,6,opt,name=equip,proto3,oneof"`
+}
+
+type Item_Furniture struct {
+ Furniture *Furniture `protobuf:"bytes,7,opt,name=furniture,proto3,oneof"`
+}
+
+func (*Item_Material) isItem_Detail() {}
+
+func (*Item_Equip) isItem_Detail() {}
+
+func (*Item_Furniture) isItem_Detail() {}
+
+var File_Item_proto protoreflect.FileDescriptor
+
+var file_Item_proto_rawDesc = []byte{
+ 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x45, 0x71, 0x75, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65,
+ 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x65, 0x72,
+ 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x61,
+ 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x71,
+ 0x75, 0x69, 0x70, 0x48, 0x00, 0x52, 0x05, 0x65, 0x71, 0x75, 0x69, 0x70, 0x12, 0x30, 0x0a, 0x09,
+ 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x48, 0x00, 0x52, 0x09, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08,
+ 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Item_proto_rawDescOnce sync.Once
+ file_Item_proto_rawDescData = file_Item_proto_rawDesc
+)
+
+func file_Item_proto_rawDescGZIP() []byte {
+ file_Item_proto_rawDescOnce.Do(func() {
+ file_Item_proto_rawDescData = protoimpl.X.CompressGZIP(file_Item_proto_rawDescData)
+ })
+ return file_Item_proto_rawDescData
+}
+
+var file_Item_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Item_proto_goTypes = []interface{}{
+ (*Item)(nil), // 0: proto.Item
+ (*Material)(nil), // 1: proto.Material
+ (*Equip)(nil), // 2: proto.Equip
+ (*Furniture)(nil), // 3: proto.Furniture
+}
+var file_Item_proto_depIdxs = []int32{
+ 1, // 0: proto.Item.material:type_name -> proto.Material
+ 2, // 1: proto.Item.equip:type_name -> proto.Equip
+ 3, // 2: proto.Item.furniture:type_name -> proto.Furniture
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_Item_proto_init() }
+func file_Item_proto_init() {
+ if File_Item_proto != nil {
+ return
+ }
+ file_Equip_proto_init()
+ file_Furniture_proto_init()
+ file_Material_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_Item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Item); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_Item_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*Item_Material)(nil),
+ (*Item_Equip)(nil),
+ (*Item_Furniture)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Item_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Item_proto_goTypes,
+ DependencyIndexes: file_Item_proto_depIdxs,
+ MessageInfos: file_Item_proto_msgTypes,
+ }.Build()
+ File_Item_proto = out.File
+ file_Item_proto_rawDesc = nil
+ file_Item_proto_goTypes = nil
+ file_Item_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ItemAddHintNotify.pb.go b/protocol/proto/ItemAddHintNotify.pb.go
new file mode 100644
index 00000000..df5eb367
--- /dev/null
+++ b/protocol/proto/ItemAddHintNotify.pb.go
@@ -0,0 +1,250 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ItemAddHintNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 607
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ItemAddHintNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsPositionValid bool `protobuf:"varint,14,opt,name=is_position_valid,json=isPositionValid,proto3" json:"is_position_valid,omitempty"`
+ QuestId uint32 `protobuf:"varint,3,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ Reason uint32 `protobuf:"varint,6,opt,name=reason,proto3" json:"reason,omitempty"`
+ IsGeneralRewardHiden bool `protobuf:"varint,15,opt,name=is_general_reward_hiden,json=isGeneralRewardHiden,proto3" json:"is_general_reward_hiden,omitempty"`
+ ItemList []*ItemHint `protobuf:"bytes,10,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ IsTransferedFromAvatarCard bool `protobuf:"varint,12,opt,name=is_transfered_from_avatar_card,json=isTransferedFromAvatarCard,proto3" json:"is_transfered_from_avatar_card,omitempty"`
+ Position *Vector `protobuf:"bytes,9,opt,name=position,proto3" json:"position,omitempty"`
+ OverflowTransformedItemList []*ItemHint `protobuf:"bytes,8,rep,name=overflow_transformed_item_list,json=overflowTransformedItemList,proto3" json:"overflow_transformed_item_list,omitempty"`
+}
+
+func (x *ItemAddHintNotify) Reset() {
+ *x = ItemAddHintNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ItemAddHintNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ItemAddHintNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ItemAddHintNotify) ProtoMessage() {}
+
+func (x *ItemAddHintNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ItemAddHintNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ItemAddHintNotify.ProtoReflect.Descriptor instead.
+func (*ItemAddHintNotify) Descriptor() ([]byte, []int) {
+ return file_ItemAddHintNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ItemAddHintNotify) GetIsPositionValid() bool {
+ if x != nil {
+ return x.IsPositionValid
+ }
+ return false
+}
+
+func (x *ItemAddHintNotify) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *ItemAddHintNotify) GetReason() uint32 {
+ if x != nil {
+ return x.Reason
+ }
+ return 0
+}
+
+func (x *ItemAddHintNotify) GetIsGeneralRewardHiden() bool {
+ if x != nil {
+ return x.IsGeneralRewardHiden
+ }
+ return false
+}
+
+func (x *ItemAddHintNotify) GetItemList() []*ItemHint {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *ItemAddHintNotify) GetIsTransferedFromAvatarCard() bool {
+ if x != nil {
+ return x.IsTransferedFromAvatarCard
+ }
+ return false
+}
+
+func (x *ItemAddHintNotify) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+func (x *ItemAddHintNotify) GetOverflowTransformedItemList() []*ItemHint {
+ if x != nil {
+ return x.OverflowTransformedItemList
+ }
+ return nil
+}
+
+var File_ItemAddHintNotify_proto protoreflect.FileDescriptor
+
+var file_ItemAddHintNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x64, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c,
+ 0x03, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x41, 0x64, 0x64, 0x48, 0x69, 0x6e, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x69, 0x73, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x68, 0x69, 0x64, 0x65, 0x6e, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x69, 0x64, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x09, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x08,
+ 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x1e, 0x69, 0x73, 0x5f, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x1a, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x65, 0x64, 0x46, 0x72,
+ 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x29, 0x0a, 0x08,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x1e, 0x6f, 0x76, 0x65, 0x72, 0x66,
+ 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x5f,
+ 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x6e, 0x74,
+ 0x52, 0x1b, 0x6f, 0x76, 0x65, 0x72, 0x66, 0x6c, 0x6f, 0x77, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ItemAddHintNotify_proto_rawDescOnce sync.Once
+ file_ItemAddHintNotify_proto_rawDescData = file_ItemAddHintNotify_proto_rawDesc
+)
+
+func file_ItemAddHintNotify_proto_rawDescGZIP() []byte {
+ file_ItemAddHintNotify_proto_rawDescOnce.Do(func() {
+ file_ItemAddHintNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ItemAddHintNotify_proto_rawDescData)
+ })
+ return file_ItemAddHintNotify_proto_rawDescData
+}
+
+var file_ItemAddHintNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ItemAddHintNotify_proto_goTypes = []interface{}{
+ (*ItemAddHintNotify)(nil), // 0: proto.ItemAddHintNotify
+ (*ItemHint)(nil), // 1: proto.ItemHint
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_ItemAddHintNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ItemAddHintNotify.item_list:type_name -> proto.ItemHint
+ 2, // 1: proto.ItemAddHintNotify.position:type_name -> proto.Vector
+ 1, // 2: proto.ItemAddHintNotify.overflow_transformed_item_list:type_name -> proto.ItemHint
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ItemAddHintNotify_proto_init() }
+func file_ItemAddHintNotify_proto_init() {
+ if File_ItemAddHintNotify_proto != nil {
+ return
+ }
+ file_ItemHint_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ItemAddHintNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ItemAddHintNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ItemAddHintNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ItemAddHintNotify_proto_goTypes,
+ DependencyIndexes: file_ItemAddHintNotify_proto_depIdxs,
+ MessageInfos: file_ItemAddHintNotify_proto_msgTypes,
+ }.Build()
+ File_ItemAddHintNotify_proto = out.File
+ file_ItemAddHintNotify_proto_rawDesc = nil
+ file_ItemAddHintNotify_proto_goTypes = nil
+ file_ItemAddHintNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ItemCdGroupTimeNotify.pb.go b/protocol/proto/ItemCdGroupTimeNotify.pb.go
new file mode 100644
index 00000000..cafdab24
--- /dev/null
+++ b/protocol/proto/ItemCdGroupTimeNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ItemCdGroupTimeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 634
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ItemCdGroupTimeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemCdMap map[uint32]uint64 `protobuf:"bytes,9,rep,name=item_cd_map,json=itemCdMap,proto3" json:"item_cd_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *ItemCdGroupTimeNotify) Reset() {
+ *x = ItemCdGroupTimeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ItemCdGroupTimeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ItemCdGroupTimeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ItemCdGroupTimeNotify) ProtoMessage() {}
+
+func (x *ItemCdGroupTimeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ItemCdGroupTimeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ItemCdGroupTimeNotify.ProtoReflect.Descriptor instead.
+func (*ItemCdGroupTimeNotify) Descriptor() ([]byte, []int) {
+ return file_ItemCdGroupTimeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ItemCdGroupTimeNotify) GetItemCdMap() map[uint32]uint64 {
+ if x != nil {
+ return x.ItemCdMap
+ }
+ return nil
+}
+
+var File_ItemCdGroupTimeNotify_proto protoreflect.FileDescriptor
+
+var file_ItemCdGroupTimeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x69, 0x6d,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x01, 0x0a, 0x15, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x64, 0x47,
+ 0x72, 0x6f, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x4b,
+ 0x0a, 0x0b, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d,
+ 0x43, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x1a, 0x3c, 0x0a, 0x0e, 0x49,
+ 0x74, 0x65, 0x6d, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ItemCdGroupTimeNotify_proto_rawDescOnce sync.Once
+ file_ItemCdGroupTimeNotify_proto_rawDescData = file_ItemCdGroupTimeNotify_proto_rawDesc
+)
+
+func file_ItemCdGroupTimeNotify_proto_rawDescGZIP() []byte {
+ file_ItemCdGroupTimeNotify_proto_rawDescOnce.Do(func() {
+ file_ItemCdGroupTimeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ItemCdGroupTimeNotify_proto_rawDescData)
+ })
+ return file_ItemCdGroupTimeNotify_proto_rawDescData
+}
+
+var file_ItemCdGroupTimeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ItemCdGroupTimeNotify_proto_goTypes = []interface{}{
+ (*ItemCdGroupTimeNotify)(nil), // 0: proto.ItemCdGroupTimeNotify
+ nil, // 1: proto.ItemCdGroupTimeNotify.ItemCdMapEntry
+}
+var file_ItemCdGroupTimeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ItemCdGroupTimeNotify.item_cd_map:type_name -> proto.ItemCdGroupTimeNotify.ItemCdMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ItemCdGroupTimeNotify_proto_init() }
+func file_ItemCdGroupTimeNotify_proto_init() {
+ if File_ItemCdGroupTimeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ItemCdGroupTimeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ItemCdGroupTimeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ItemCdGroupTimeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ItemCdGroupTimeNotify_proto_goTypes,
+ DependencyIndexes: file_ItemCdGroupTimeNotify_proto_depIdxs,
+ MessageInfos: file_ItemCdGroupTimeNotify_proto_msgTypes,
+ }.Build()
+ File_ItemCdGroupTimeNotify_proto = out.File
+ file_ItemCdGroupTimeNotify_proto_rawDesc = nil
+ file_ItemCdGroupTimeNotify_proto_goTypes = nil
+ file_ItemCdGroupTimeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ItemGivingReq.pb.go b/protocol/proto/ItemGivingReq.pb.go
new file mode 100644
index 00000000..4f85a6fa
--- /dev/null
+++ b/protocol/proto/ItemGivingReq.pb.go
@@ -0,0 +1,265 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ItemGivingReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ItemGivingReq_ItemGivingRsp int32
+
+const (
+ ItemGivingReq_ITEM_GIVING_RSP_QUEST ItemGivingReq_ItemGivingRsp = 0
+ ItemGivingReq_ITEM_GIVING_RSP_GADGET ItemGivingReq_ItemGivingRsp = 1
+)
+
+// Enum value maps for ItemGivingReq_ItemGivingRsp.
+var (
+ ItemGivingReq_ItemGivingRsp_name = map[int32]string{
+ 0: "ITEM_GIVING_RSP_QUEST",
+ 1: "ITEM_GIVING_RSP_GADGET",
+ }
+ ItemGivingReq_ItemGivingRsp_value = map[string]int32{
+ "ITEM_GIVING_RSP_QUEST": 0,
+ "ITEM_GIVING_RSP_GADGET": 1,
+ }
+)
+
+func (x ItemGivingReq_ItemGivingRsp) Enum() *ItemGivingReq_ItemGivingRsp {
+ p := new(ItemGivingReq_ItemGivingRsp)
+ *p = x
+ return p
+}
+
+func (x ItemGivingReq_ItemGivingRsp) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ItemGivingReq_ItemGivingRsp) Descriptor() protoreflect.EnumDescriptor {
+ return file_ItemGivingReq_proto_enumTypes[0].Descriptor()
+}
+
+func (ItemGivingReq_ItemGivingRsp) Type() protoreflect.EnumType {
+ return &file_ItemGivingReq_proto_enumTypes[0]
+}
+
+func (x ItemGivingReq_ItemGivingRsp) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ItemGivingReq_ItemGivingRsp.Descriptor instead.
+func (ItemGivingReq_ItemGivingRsp) EnumDescriptor() ([]byte, []int) {
+ return file_ItemGivingReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 140
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ItemGivingReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemGuidCountMap map[uint64]uint32 `protobuf:"bytes,15,rep,name=item_guid_count_map,json=itemGuidCountMap,proto3" json:"item_guid_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ GivingId uint32 `protobuf:"varint,13,opt,name=giving_id,json=givingId,proto3" json:"giving_id,omitempty"`
+ ItemParamList []*ItemParam `protobuf:"bytes,4,rep,name=item_param_list,json=itemParamList,proto3" json:"item_param_list,omitempty"`
+ ItemGivingType ItemGivingReq_ItemGivingRsp `protobuf:"varint,2,opt,name=item_giving_type,json=itemGivingType,proto3,enum=proto.ItemGivingReq_ItemGivingRsp" json:"item_giving_type,omitempty"`
+}
+
+func (x *ItemGivingReq) Reset() {
+ *x = ItemGivingReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ItemGivingReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ItemGivingReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ItemGivingReq) ProtoMessage() {}
+
+func (x *ItemGivingReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ItemGivingReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ItemGivingReq.ProtoReflect.Descriptor instead.
+func (*ItemGivingReq) Descriptor() ([]byte, []int) {
+ return file_ItemGivingReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ItemGivingReq) GetItemGuidCountMap() map[uint64]uint32 {
+ if x != nil {
+ return x.ItemGuidCountMap
+ }
+ return nil
+}
+
+func (x *ItemGivingReq) GetGivingId() uint32 {
+ if x != nil {
+ return x.GivingId
+ }
+ return 0
+}
+
+func (x *ItemGivingReq) GetItemParamList() []*ItemParam {
+ if x != nil {
+ return x.ItemParamList
+ }
+ return nil
+}
+
+func (x *ItemGivingReq) GetItemGivingType() ItemGivingReq_ItemGivingRsp {
+ if x != nil {
+ return x.ItemGivingType
+ }
+ return ItemGivingReq_ITEM_GIVING_RSP_QUEST
+}
+
+var File_ItemGivingReq_proto protoreflect.FileDescriptor
+
+var file_ItemGivingReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74,
+ 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x03,
+ 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12,
+ 0x59, 0x0a, 0x13, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52,
+ 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x75, 0x69, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x69, 0x74, 0x65, 0x6d, 0x47, 0x75,
+ 0x69, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x69,
+ 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67,
+ 0x69, 0x76, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x4c, 0x0a, 0x10, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65,
+ 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x52,
+ 0x0e, 0x69, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x1a,
+ 0x43, 0x0a, 0x15, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x75, 0x69, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x22, 0x46, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69,
+ 0x6e, 0x67, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x47, 0x49,
+ 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x53, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x00,
+ 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x47, 0x49, 0x56, 0x49, 0x4e, 0x47, 0x5f,
+ 0x52, 0x53, 0x50, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ItemGivingReq_proto_rawDescOnce sync.Once
+ file_ItemGivingReq_proto_rawDescData = file_ItemGivingReq_proto_rawDesc
+)
+
+func file_ItemGivingReq_proto_rawDescGZIP() []byte {
+ file_ItemGivingReq_proto_rawDescOnce.Do(func() {
+ file_ItemGivingReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ItemGivingReq_proto_rawDescData)
+ })
+ return file_ItemGivingReq_proto_rawDescData
+}
+
+var file_ItemGivingReq_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ItemGivingReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ItemGivingReq_proto_goTypes = []interface{}{
+ (ItemGivingReq_ItemGivingRsp)(0), // 0: proto.ItemGivingReq.ItemGivingRsp
+ (*ItemGivingReq)(nil), // 1: proto.ItemGivingReq
+ nil, // 2: proto.ItemGivingReq.ItemGuidCountMapEntry
+ (*ItemParam)(nil), // 3: proto.ItemParam
+}
+var file_ItemGivingReq_proto_depIdxs = []int32{
+ 2, // 0: proto.ItemGivingReq.item_guid_count_map:type_name -> proto.ItemGivingReq.ItemGuidCountMapEntry
+ 3, // 1: proto.ItemGivingReq.item_param_list:type_name -> proto.ItemParam
+ 0, // 2: proto.ItemGivingReq.item_giving_type:type_name -> proto.ItemGivingReq.ItemGivingRsp
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ItemGivingReq_proto_init() }
+func file_ItemGivingReq_proto_init() {
+ if File_ItemGivingReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ItemGivingReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ItemGivingReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ItemGivingReq_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ItemGivingReq_proto_goTypes,
+ DependencyIndexes: file_ItemGivingReq_proto_depIdxs,
+ EnumInfos: file_ItemGivingReq_proto_enumTypes,
+ MessageInfos: file_ItemGivingReq_proto_msgTypes,
+ }.Build()
+ File_ItemGivingReq_proto = out.File
+ file_ItemGivingReq_proto_rawDesc = nil
+ file_ItemGivingReq_proto_goTypes = nil
+ file_ItemGivingReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ItemGivingRsp.pb.go b/protocol/proto/ItemGivingRsp.pb.go
new file mode 100644
index 00000000..b3f4ff2b
--- /dev/null
+++ b/protocol/proto/ItemGivingRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ItemGivingRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 118
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ItemGivingRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GivingGroupId uint32 `protobuf:"varint,1,opt,name=giving_group_id,json=givingGroupId,proto3" json:"giving_group_id,omitempty"`
+ GivingId uint32 `protobuf:"varint,13,opt,name=giving_id,json=givingId,proto3" json:"giving_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ItemGivingRsp) Reset() {
+ *x = ItemGivingRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ItemGivingRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ItemGivingRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ItemGivingRsp) ProtoMessage() {}
+
+func (x *ItemGivingRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ItemGivingRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ItemGivingRsp.ProtoReflect.Descriptor instead.
+func (*ItemGivingRsp) Descriptor() ([]byte, []int) {
+ return file_ItemGivingRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ItemGivingRsp) GetGivingGroupId() uint32 {
+ if x != nil {
+ return x.GivingGroupId
+ }
+ return 0
+}
+
+func (x *ItemGivingRsp) GetGivingId() uint32 {
+ if x != nil {
+ return x.GivingId
+ }
+ return 0
+}
+
+func (x *ItemGivingRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ItemGivingRsp_proto protoreflect.FileDescriptor
+
+var file_ItemGivingRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x0d,
+ 0x49, 0x74, 0x65, 0x6d, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x12, 0x26, 0x0a,
+ 0x0f, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f,
+ 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67,
+ 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ItemGivingRsp_proto_rawDescOnce sync.Once
+ file_ItemGivingRsp_proto_rawDescData = file_ItemGivingRsp_proto_rawDesc
+)
+
+func file_ItemGivingRsp_proto_rawDescGZIP() []byte {
+ file_ItemGivingRsp_proto_rawDescOnce.Do(func() {
+ file_ItemGivingRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ItemGivingRsp_proto_rawDescData)
+ })
+ return file_ItemGivingRsp_proto_rawDescData
+}
+
+var file_ItemGivingRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ItemGivingRsp_proto_goTypes = []interface{}{
+ (*ItemGivingRsp)(nil), // 0: proto.ItemGivingRsp
+}
+var file_ItemGivingRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ItemGivingRsp_proto_init() }
+func file_ItemGivingRsp_proto_init() {
+ if File_ItemGivingRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ItemGivingRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ItemGivingRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ItemGivingRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ItemGivingRsp_proto_goTypes,
+ DependencyIndexes: file_ItemGivingRsp_proto_depIdxs,
+ MessageInfos: file_ItemGivingRsp_proto_msgTypes,
+ }.Build()
+ File_ItemGivingRsp_proto = out.File
+ file_ItemGivingRsp_proto_rawDesc = nil
+ file_ItemGivingRsp_proto_goTypes = nil
+ file_ItemGivingRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ItemHint.pb.go b/protocol/proto/ItemHint.pb.go
new file mode 100644
index 00000000..f3b06648
--- /dev/null
+++ b/protocol/proto/ItemHint.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ItemHint.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ItemHint struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,8,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ IsNew bool `protobuf:"varint,2,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"`
+ Count uint32 `protobuf:"varint,15,opt,name=count,proto3" json:"count,omitempty"`
+ Guid uint64 `protobuf:"varint,4,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *ItemHint) Reset() {
+ *x = ItemHint{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ItemHint_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ItemHint) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ItemHint) ProtoMessage() {}
+
+func (x *ItemHint) ProtoReflect() protoreflect.Message {
+ mi := &file_ItemHint_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ItemHint.ProtoReflect.Descriptor instead.
+func (*ItemHint) Descriptor() ([]byte, []int) {
+ return file_ItemHint_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ItemHint) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *ItemHint) GetIsNew() bool {
+ if x != nil {
+ return x.IsNew
+ }
+ return false
+}
+
+func (x *ItemHint) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *ItemHint) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_ItemHint_proto protoreflect.FileDescriptor
+
+var file_ItemHint_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x48,
+ 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06,
+ 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73,
+ 0x4e, 0x65, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ItemHint_proto_rawDescOnce sync.Once
+ file_ItemHint_proto_rawDescData = file_ItemHint_proto_rawDesc
+)
+
+func file_ItemHint_proto_rawDescGZIP() []byte {
+ file_ItemHint_proto_rawDescOnce.Do(func() {
+ file_ItemHint_proto_rawDescData = protoimpl.X.CompressGZIP(file_ItemHint_proto_rawDescData)
+ })
+ return file_ItemHint_proto_rawDescData
+}
+
+var file_ItemHint_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ItemHint_proto_goTypes = []interface{}{
+ (*ItemHint)(nil), // 0: proto.ItemHint
+}
+var file_ItemHint_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ItemHint_proto_init() }
+func file_ItemHint_proto_init() {
+ if File_ItemHint_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ItemHint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ItemHint); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ItemHint_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ItemHint_proto_goTypes,
+ DependencyIndexes: file_ItemHint_proto_depIdxs,
+ MessageInfos: file_ItemHint_proto_msgTypes,
+ }.Build()
+ File_ItemHint_proto = out.File
+ file_ItemHint_proto_rawDesc = nil
+ file_ItemHint_proto_goTypes = nil
+ file_ItemHint_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ItemParam.pb.go b/protocol/proto/ItemParam.pb.go
new file mode 100644
index 00000000..1c5bbad1
--- /dev/null
+++ b/protocol/proto/ItemParam.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ItemParam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ItemParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,1,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ Count uint32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+}
+
+func (x *ItemParam) Reset() {
+ *x = ItemParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ItemParam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ItemParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ItemParam) ProtoMessage() {}
+
+func (x *ItemParam) ProtoReflect() protoreflect.Message {
+ mi := &file_ItemParam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ItemParam.ProtoReflect.Descriptor instead.
+func (*ItemParam) Descriptor() ([]byte, []int) {
+ return file_ItemParam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ItemParam) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *ItemParam) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+var File_ItemParam_proto protoreflect.FileDescriptor
+
+var file_ItemParam_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x09, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14,
+ 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ItemParam_proto_rawDescOnce sync.Once
+ file_ItemParam_proto_rawDescData = file_ItemParam_proto_rawDesc
+)
+
+func file_ItemParam_proto_rawDescGZIP() []byte {
+ file_ItemParam_proto_rawDescOnce.Do(func() {
+ file_ItemParam_proto_rawDescData = protoimpl.X.CompressGZIP(file_ItemParam_proto_rawDescData)
+ })
+ return file_ItemParam_proto_rawDescData
+}
+
+var file_ItemParam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ItemParam_proto_goTypes = []interface{}{
+ (*ItemParam)(nil), // 0: proto.ItemParam
+}
+var file_ItemParam_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ItemParam_proto_init() }
+func file_ItemParam_proto_init() {
+ if File_ItemParam_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ItemParam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ItemParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ItemParam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ItemParam_proto_goTypes,
+ DependencyIndexes: file_ItemParam_proto_depIdxs,
+ MessageInfos: file_ItemParam_proto_msgTypes,
+ }.Build()
+ File_ItemParam_proto = out.File
+ file_ItemParam_proto_rawDesc = nil
+ file_ItemParam_proto_goTypes = nil
+ file_ItemParam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/JigsawPictureData.pb.go b/protocol/proto/JigsawPictureData.pb.go
new file mode 100644
index 00000000..524c3bb5
--- /dev/null
+++ b/protocol/proto/JigsawPictureData.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: JigsawPictureData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type JigsawPictureData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinished bool `protobuf:"varint,7,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ ShortestTime uint32 `protobuf:"varint,10,opt,name=shortest_time,json=shortestTime,proto3" json:"shortest_time,omitempty"`
+ IsOpen bool `protobuf:"varint,5,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ LastDuration uint32 `protobuf:"varint,6,opt,name=last_duration,json=lastDuration,proto3" json:"last_duration,omitempty"`
+}
+
+func (x *JigsawPictureData) Reset() {
+ *x = JigsawPictureData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_JigsawPictureData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *JigsawPictureData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*JigsawPictureData) ProtoMessage() {}
+
+func (x *JigsawPictureData) ProtoReflect() protoreflect.Message {
+ mi := &file_JigsawPictureData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use JigsawPictureData.ProtoReflect.Descriptor instead.
+func (*JigsawPictureData) Descriptor() ([]byte, []int) {
+ return file_JigsawPictureData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *JigsawPictureData) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *JigsawPictureData) GetShortestTime() uint32 {
+ if x != nil {
+ return x.ShortestTime
+ }
+ return 0
+}
+
+func (x *JigsawPictureData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *JigsawPictureData) GetLastDuration() uint32 {
+ if x != nil {
+ return x.LastDuration
+ }
+ return 0
+}
+
+var File_JigsawPictureData_proto protoreflect.FileDescriptor
+
+var file_JigsawPictureData_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x4a, 0x69, 0x67, 0x73, 0x61, 0x77, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x97, 0x01, 0x0a, 0x11, 0x4a, 0x69, 0x67, 0x73, 0x61, 0x77, 0x50, 0x69, 0x63, 0x74, 0x75,
+ 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74,
+ 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x73, 0x68, 0x6f, 0x72, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07,
+ 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
+ 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x75,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x61,
+ 0x73, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_JigsawPictureData_proto_rawDescOnce sync.Once
+ file_JigsawPictureData_proto_rawDescData = file_JigsawPictureData_proto_rawDesc
+)
+
+func file_JigsawPictureData_proto_rawDescGZIP() []byte {
+ file_JigsawPictureData_proto_rawDescOnce.Do(func() {
+ file_JigsawPictureData_proto_rawDescData = protoimpl.X.CompressGZIP(file_JigsawPictureData_proto_rawDescData)
+ })
+ return file_JigsawPictureData_proto_rawDescData
+}
+
+var file_JigsawPictureData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_JigsawPictureData_proto_goTypes = []interface{}{
+ (*JigsawPictureData)(nil), // 0: proto.JigsawPictureData
+}
+var file_JigsawPictureData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_JigsawPictureData_proto_init() }
+func file_JigsawPictureData_proto_init() {
+ if File_JigsawPictureData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_JigsawPictureData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*JigsawPictureData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_JigsawPictureData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_JigsawPictureData_proto_goTypes,
+ DependencyIndexes: file_JigsawPictureData_proto_depIdxs,
+ MessageInfos: file_JigsawPictureData_proto_msgTypes,
+ }.Build()
+ File_JigsawPictureData_proto = out.File
+ file_JigsawPictureData_proto_rawDesc = nil
+ file_JigsawPictureData_proto_goTypes = nil
+ file_JigsawPictureData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/JoinHomeWorldFailNotify.pb.go b/protocol/proto/JoinHomeWorldFailNotify.pb.go
new file mode 100644
index 00000000..1f2c15f8
--- /dev/null
+++ b/protocol/proto/JoinHomeWorldFailNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: JoinHomeWorldFailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4530
+// EnetChannelId: 0
+// EnetIsReliable: true
+type JoinHomeWorldFailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,6,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *JoinHomeWorldFailNotify) Reset() {
+ *x = JoinHomeWorldFailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_JoinHomeWorldFailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *JoinHomeWorldFailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*JoinHomeWorldFailNotify) ProtoMessage() {}
+
+func (x *JoinHomeWorldFailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_JoinHomeWorldFailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use JoinHomeWorldFailNotify.ProtoReflect.Descriptor instead.
+func (*JoinHomeWorldFailNotify) Descriptor() ([]byte, []int) {
+ return file_JoinHomeWorldFailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *JoinHomeWorldFailNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *JoinHomeWorldFailNotify) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_JoinHomeWorldFailNotify_proto protoreflect.FileDescriptor
+
+var file_JoinHomeWorldFailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x4a, 0x6f, 0x69, 0x6e, 0x48, 0x6f, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x46,
+ 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x17, 0x4a, 0x6f, 0x69, 0x6e, 0x48, 0x6f,
+ 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_JoinHomeWorldFailNotify_proto_rawDescOnce sync.Once
+ file_JoinHomeWorldFailNotify_proto_rawDescData = file_JoinHomeWorldFailNotify_proto_rawDesc
+)
+
+func file_JoinHomeWorldFailNotify_proto_rawDescGZIP() []byte {
+ file_JoinHomeWorldFailNotify_proto_rawDescOnce.Do(func() {
+ file_JoinHomeWorldFailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_JoinHomeWorldFailNotify_proto_rawDescData)
+ })
+ return file_JoinHomeWorldFailNotify_proto_rawDescData
+}
+
+var file_JoinHomeWorldFailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_JoinHomeWorldFailNotify_proto_goTypes = []interface{}{
+ (*JoinHomeWorldFailNotify)(nil), // 0: proto.JoinHomeWorldFailNotify
+}
+var file_JoinHomeWorldFailNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_JoinHomeWorldFailNotify_proto_init() }
+func file_JoinHomeWorldFailNotify_proto_init() {
+ if File_JoinHomeWorldFailNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_JoinHomeWorldFailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*JoinHomeWorldFailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_JoinHomeWorldFailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_JoinHomeWorldFailNotify_proto_goTypes,
+ DependencyIndexes: file_JoinHomeWorldFailNotify_proto_depIdxs,
+ MessageInfos: file_JoinHomeWorldFailNotify_proto_msgTypes,
+ }.Build()
+ File_JoinHomeWorldFailNotify_proto = out.File
+ file_JoinHomeWorldFailNotify_proto_rawDesc = nil
+ file_JoinHomeWorldFailNotify_proto_goTypes = nil
+ file_JoinHomeWorldFailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/JoinPlayerFailNotify.pb.go b/protocol/proto/JoinPlayerFailNotify.pb.go
new file mode 100644
index 00000000..583c5886
--- /dev/null
+++ b/protocol/proto/JoinPlayerFailNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: JoinPlayerFailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 236
+// EnetChannelId: 0
+// EnetIsReliable: true
+type JoinPlayerFailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *JoinPlayerFailNotify) Reset() {
+ *x = JoinPlayerFailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_JoinPlayerFailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *JoinPlayerFailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*JoinPlayerFailNotify) ProtoMessage() {}
+
+func (x *JoinPlayerFailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_JoinPlayerFailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use JoinPlayerFailNotify.ProtoReflect.Descriptor instead.
+func (*JoinPlayerFailNotify) Descriptor() ([]byte, []int) {
+ return file_JoinPlayerFailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *JoinPlayerFailNotify) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_JoinPlayerFailNotify_proto protoreflect.FileDescriptor
+
+var file_JoinPlayerFailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x14, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_JoinPlayerFailNotify_proto_rawDescOnce sync.Once
+ file_JoinPlayerFailNotify_proto_rawDescData = file_JoinPlayerFailNotify_proto_rawDesc
+)
+
+func file_JoinPlayerFailNotify_proto_rawDescGZIP() []byte {
+ file_JoinPlayerFailNotify_proto_rawDescOnce.Do(func() {
+ file_JoinPlayerFailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_JoinPlayerFailNotify_proto_rawDescData)
+ })
+ return file_JoinPlayerFailNotify_proto_rawDescData
+}
+
+var file_JoinPlayerFailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_JoinPlayerFailNotify_proto_goTypes = []interface{}{
+ (*JoinPlayerFailNotify)(nil), // 0: proto.JoinPlayerFailNotify
+}
+var file_JoinPlayerFailNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_JoinPlayerFailNotify_proto_init() }
+func file_JoinPlayerFailNotify_proto_init() {
+ if File_JoinPlayerFailNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_JoinPlayerFailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*JoinPlayerFailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_JoinPlayerFailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_JoinPlayerFailNotify_proto_goTypes,
+ DependencyIndexes: file_JoinPlayerFailNotify_proto_depIdxs,
+ MessageInfos: file_JoinPlayerFailNotify_proto_msgTypes,
+ }.Build()
+ File_JoinPlayerFailNotify_proto = out.File
+ file_JoinPlayerFailNotify_proto_rawDesc = nil
+ file_JoinPlayerFailNotify_proto_goTypes = nil
+ file_JoinPlayerFailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/JoinPlayerSceneReq.pb.go b/protocol/proto/JoinPlayerSceneReq.pb.go
new file mode 100644
index 00000000..9b0732a6
--- /dev/null
+++ b/protocol/proto/JoinPlayerSceneReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: JoinPlayerSceneReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 292
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type JoinPlayerSceneReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,12,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *JoinPlayerSceneReq) Reset() {
+ *x = JoinPlayerSceneReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_JoinPlayerSceneReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *JoinPlayerSceneReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*JoinPlayerSceneReq) ProtoMessage() {}
+
+func (x *JoinPlayerSceneReq) ProtoReflect() protoreflect.Message {
+ mi := &file_JoinPlayerSceneReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use JoinPlayerSceneReq.ProtoReflect.Descriptor instead.
+func (*JoinPlayerSceneReq) Descriptor() ([]byte, []int) {
+ return file_JoinPlayerSceneReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *JoinPlayerSceneReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_JoinPlayerSceneReq_proto protoreflect.FileDescriptor
+
+var file_JoinPlayerSceneReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x33, 0x0a, 0x12, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_JoinPlayerSceneReq_proto_rawDescOnce sync.Once
+ file_JoinPlayerSceneReq_proto_rawDescData = file_JoinPlayerSceneReq_proto_rawDesc
+)
+
+func file_JoinPlayerSceneReq_proto_rawDescGZIP() []byte {
+ file_JoinPlayerSceneReq_proto_rawDescOnce.Do(func() {
+ file_JoinPlayerSceneReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_JoinPlayerSceneReq_proto_rawDescData)
+ })
+ return file_JoinPlayerSceneReq_proto_rawDescData
+}
+
+var file_JoinPlayerSceneReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_JoinPlayerSceneReq_proto_goTypes = []interface{}{
+ (*JoinPlayerSceneReq)(nil), // 0: proto.JoinPlayerSceneReq
+}
+var file_JoinPlayerSceneReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_JoinPlayerSceneReq_proto_init() }
+func file_JoinPlayerSceneReq_proto_init() {
+ if File_JoinPlayerSceneReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_JoinPlayerSceneReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*JoinPlayerSceneReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_JoinPlayerSceneReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_JoinPlayerSceneReq_proto_goTypes,
+ DependencyIndexes: file_JoinPlayerSceneReq_proto_depIdxs,
+ MessageInfos: file_JoinPlayerSceneReq_proto_msgTypes,
+ }.Build()
+ File_JoinPlayerSceneReq_proto = out.File
+ file_JoinPlayerSceneReq_proto_rawDesc = nil
+ file_JoinPlayerSceneReq_proto_goTypes = nil
+ file_JoinPlayerSceneReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/JoinPlayerSceneRsp.pb.go b/protocol/proto/JoinPlayerSceneRsp.pb.go
new file mode 100644
index 00000000..fcb1a5ac
--- /dev/null
+++ b/protocol/proto/JoinPlayerSceneRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: JoinPlayerSceneRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 220
+// EnetChannelId: 0
+// EnetIsReliable: true
+type JoinPlayerSceneRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *JoinPlayerSceneRsp) Reset() {
+ *x = JoinPlayerSceneRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_JoinPlayerSceneRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *JoinPlayerSceneRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*JoinPlayerSceneRsp) ProtoMessage() {}
+
+func (x *JoinPlayerSceneRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_JoinPlayerSceneRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use JoinPlayerSceneRsp.ProtoReflect.Descriptor instead.
+func (*JoinPlayerSceneRsp) Descriptor() ([]byte, []int) {
+ return file_JoinPlayerSceneRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *JoinPlayerSceneRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_JoinPlayerSceneRsp_proto protoreflect.FileDescriptor
+
+var file_JoinPlayerSceneRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2e, 0x0a, 0x12, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_JoinPlayerSceneRsp_proto_rawDescOnce sync.Once
+ file_JoinPlayerSceneRsp_proto_rawDescData = file_JoinPlayerSceneRsp_proto_rawDesc
+)
+
+func file_JoinPlayerSceneRsp_proto_rawDescGZIP() []byte {
+ file_JoinPlayerSceneRsp_proto_rawDescOnce.Do(func() {
+ file_JoinPlayerSceneRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_JoinPlayerSceneRsp_proto_rawDescData)
+ })
+ return file_JoinPlayerSceneRsp_proto_rawDescData
+}
+
+var file_JoinPlayerSceneRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_JoinPlayerSceneRsp_proto_goTypes = []interface{}{
+ (*JoinPlayerSceneRsp)(nil), // 0: proto.JoinPlayerSceneRsp
+}
+var file_JoinPlayerSceneRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_JoinPlayerSceneRsp_proto_init() }
+func file_JoinPlayerSceneRsp_proto_init() {
+ if File_JoinPlayerSceneRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_JoinPlayerSceneRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*JoinPlayerSceneRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_JoinPlayerSceneRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_JoinPlayerSceneRsp_proto_goTypes,
+ DependencyIndexes: file_JoinPlayerSceneRsp_proto_depIdxs,
+ MessageInfos: file_JoinPlayerSceneRsp_proto_msgTypes,
+ }.Build()
+ File_JoinPlayerSceneRsp_proto = out.File
+ file_JoinPlayerSceneRsp_proto_rawDesc = nil
+ file_JoinPlayerSceneRsp_proto_goTypes = nil
+ file_JoinPlayerSceneRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/KeepAliveNotify.pb.go b/protocol/proto/KeepAliveNotify.pb.go
new file mode 100644
index 00000000..a81dbbcd
--- /dev/null
+++ b/protocol/proto/KeepAliveNotify.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: KeepAliveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 72
+// EnetChannelId: 0
+// EnetIsReliable: true
+type KeepAliveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *KeepAliveNotify) Reset() {
+ *x = KeepAliveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_KeepAliveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *KeepAliveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KeepAliveNotify) ProtoMessage() {}
+
+func (x *KeepAliveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_KeepAliveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use KeepAliveNotify.ProtoReflect.Descriptor instead.
+func (*KeepAliveNotify) Descriptor() ([]byte, []int) {
+ return file_KeepAliveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_KeepAliveNotify_proto protoreflect.FileDescriptor
+
+var file_KeepAliveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x11,
+ 0x0a, 0x0f, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_KeepAliveNotify_proto_rawDescOnce sync.Once
+ file_KeepAliveNotify_proto_rawDescData = file_KeepAliveNotify_proto_rawDesc
+)
+
+func file_KeepAliveNotify_proto_rawDescGZIP() []byte {
+ file_KeepAliveNotify_proto_rawDescOnce.Do(func() {
+ file_KeepAliveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_KeepAliveNotify_proto_rawDescData)
+ })
+ return file_KeepAliveNotify_proto_rawDescData
+}
+
+var file_KeepAliveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_KeepAliveNotify_proto_goTypes = []interface{}{
+ (*KeepAliveNotify)(nil), // 0: proto.KeepAliveNotify
+}
+var file_KeepAliveNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_KeepAliveNotify_proto_init() }
+func file_KeepAliveNotify_proto_init() {
+ if File_KeepAliveNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_KeepAliveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*KeepAliveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_KeepAliveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_KeepAliveNotify_proto_goTypes,
+ DependencyIndexes: file_KeepAliveNotify_proto_depIdxs,
+ MessageInfos: file_KeepAliveNotify_proto_msgTypes,
+ }.Build()
+ File_KeepAliveNotify_proto = out.File
+ file_KeepAliveNotify_proto_rawDesc = nil
+ file_KeepAliveNotify_proto_goTypes = nil
+ file_KeepAliveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanguageType.pb.go b/protocol/proto/LanguageType.pb.go
new file mode 100644
index 00000000..e72e8665
--- /dev/null
+++ b/protocol/proto/LanguageType.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanguageType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanguageType int32
+
+const (
+ LanguageType_LANGUAGE_TYPE_NONE LanguageType = 0
+ LanguageType_LANGUAGE_TYPE_EN LanguageType = 1
+ LanguageType_LANGUAGE_TYPE_SC LanguageType = 2
+ LanguageType_LANGUAGE_TYPE_TC LanguageType = 3
+ LanguageType_LANGUAGE_TYPE_FR LanguageType = 4
+ LanguageType_LANGUAGE_TYPE_DE LanguageType = 5
+ LanguageType_LANGUAGE_TYPE_ES LanguageType = 6
+ LanguageType_LANGUAGE_TYPE_PT LanguageType = 7
+ LanguageType_LANGUAGE_TYPE_RU LanguageType = 8
+ LanguageType_LANGUAGE_TYPE_JP LanguageType = 9
+ LanguageType_LANGUAGE_TYPE_KR LanguageType = 10
+ LanguageType_LANGUAGE_TYPE_TH LanguageType = 11
+ LanguageType_LANGUAGE_TYPE_VN LanguageType = 12
+ LanguageType_LANGUAGE_TYPE_ID LanguageType = 13
+ LanguageType_LANGUAGE_TYPE_TR LanguageType = 14
+ LanguageType_LANGUAGE_TYPE_IT LanguageType = 15
+)
+
+// Enum value maps for LanguageType.
+var (
+ LanguageType_name = map[int32]string{
+ 0: "LANGUAGE_TYPE_NONE",
+ 1: "LANGUAGE_TYPE_EN",
+ 2: "LANGUAGE_TYPE_SC",
+ 3: "LANGUAGE_TYPE_TC",
+ 4: "LANGUAGE_TYPE_FR",
+ 5: "LANGUAGE_TYPE_DE",
+ 6: "LANGUAGE_TYPE_ES",
+ 7: "LANGUAGE_TYPE_PT",
+ 8: "LANGUAGE_TYPE_RU",
+ 9: "LANGUAGE_TYPE_JP",
+ 10: "LANGUAGE_TYPE_KR",
+ 11: "LANGUAGE_TYPE_TH",
+ 12: "LANGUAGE_TYPE_VN",
+ 13: "LANGUAGE_TYPE_ID",
+ 14: "LANGUAGE_TYPE_TR",
+ 15: "LANGUAGE_TYPE_IT",
+ }
+ LanguageType_value = map[string]int32{
+ "LANGUAGE_TYPE_NONE": 0,
+ "LANGUAGE_TYPE_EN": 1,
+ "LANGUAGE_TYPE_SC": 2,
+ "LANGUAGE_TYPE_TC": 3,
+ "LANGUAGE_TYPE_FR": 4,
+ "LANGUAGE_TYPE_DE": 5,
+ "LANGUAGE_TYPE_ES": 6,
+ "LANGUAGE_TYPE_PT": 7,
+ "LANGUAGE_TYPE_RU": 8,
+ "LANGUAGE_TYPE_JP": 9,
+ "LANGUAGE_TYPE_KR": 10,
+ "LANGUAGE_TYPE_TH": 11,
+ "LANGUAGE_TYPE_VN": 12,
+ "LANGUAGE_TYPE_ID": 13,
+ "LANGUAGE_TYPE_TR": 14,
+ "LANGUAGE_TYPE_IT": 15,
+ }
+)
+
+func (x LanguageType) Enum() *LanguageType {
+ p := new(LanguageType)
+ *p = x
+ return p
+}
+
+func (x LanguageType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LanguageType) Descriptor() protoreflect.EnumDescriptor {
+ return file_LanguageType_proto_enumTypes[0].Descriptor()
+}
+
+func (LanguageType) Type() protoreflect.EnumType {
+ return &file_LanguageType_proto_enumTypes[0]
+}
+
+func (x LanguageType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use LanguageType.Descriptor instead.
+func (LanguageType) EnumDescriptor() ([]byte, []int) {
+ return file_LanguageType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_LanguageType_proto protoreflect.FileDescriptor
+
+var file_LanguageType_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xf0, 0x02, 0x0a, 0x0c,
+ 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12,
+ 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41,
+ 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x10, 0x02,
+ 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x54, 0x43, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41,
+ 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10,
+ 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45,
+ 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x45, 0x53, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47,
+ 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x54, 0x10, 0x07, 0x12, 0x14,
+ 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x52, 0x55, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x50, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41,
+ 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x52, 0x10, 0x0a,
+ 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x54, 0x48, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41,
+ 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x4e, 0x10, 0x0c, 0x12, 0x14, 0x0a, 0x10,
+ 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x44,
+ 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x41, 0x4e, 0x47,
+ 0x55, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x54, 0x10, 0x0f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_LanguageType_proto_rawDescOnce sync.Once
+ file_LanguageType_proto_rawDescData = file_LanguageType_proto_rawDesc
+)
+
+func file_LanguageType_proto_rawDescGZIP() []byte {
+ file_LanguageType_proto_rawDescOnce.Do(func() {
+ file_LanguageType_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanguageType_proto_rawDescData)
+ })
+ return file_LanguageType_proto_rawDescData
+}
+
+var file_LanguageType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_LanguageType_proto_goTypes = []interface{}{
+ (LanguageType)(0), // 0: proto.LanguageType
+}
+var file_LanguageType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanguageType_proto_init() }
+func file_LanguageType_proto_init() {
+ if File_LanguageType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanguageType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanguageType_proto_goTypes,
+ DependencyIndexes: file_LanguageType_proto_depIdxs,
+ EnumInfos: file_LanguageType_proto_enumTypes,
+ }.Build()
+ File_LanguageType_proto = out.File
+ file_LanguageType_proto_rawDesc = nil
+ file_LanguageType_proto_goTypes = nil
+ file_LanguageType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternProjectionInfo.pb.go b/protocol/proto/LanternProjectionInfo.pb.go
new file mode 100644
index 00000000..f9a6a4ba
--- /dev/null
+++ b/protocol/proto/LanternProjectionInfo.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternProjectionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanternProjectionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ViewSwitchTipsList []ClientInputType `protobuf:"varint,12,rep,packed,name=view_switch_tips_list,json=viewSwitchTipsList,proto3,enum=proto.ClientInputType" json:"view_switch_tips_list,omitempty"`
+ LevelList []*LanternProjectionLevelInfo `protobuf:"bytes,6,rep,name=level_list,json=levelList,proto3" json:"level_list,omitempty"`
+ OpenStageList []uint32 `protobuf:"varint,10,rep,packed,name=open_stage_list,json=openStageList,proto3" json:"open_stage_list,omitempty"`
+ ViewInputTipsList []ClientInputType `protobuf:"varint,13,rep,packed,name=view_input_tips_list,json=viewInputTipsList,proto3,enum=proto.ClientInputType" json:"view_input_tips_list,omitempty"`
+}
+
+func (x *LanternProjectionInfo) Reset() {
+ *x = LanternProjectionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternProjectionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternProjectionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternProjectionInfo) ProtoMessage() {}
+
+func (x *LanternProjectionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternProjectionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternProjectionInfo.ProtoReflect.Descriptor instead.
+func (*LanternProjectionInfo) Descriptor() ([]byte, []int) {
+ return file_LanternProjectionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternProjectionInfo) GetViewSwitchTipsList() []ClientInputType {
+ if x != nil {
+ return x.ViewSwitchTipsList
+ }
+ return nil
+}
+
+func (x *LanternProjectionInfo) GetLevelList() []*LanternProjectionLevelInfo {
+ if x != nil {
+ return x.LevelList
+ }
+ return nil
+}
+
+func (x *LanternProjectionInfo) GetOpenStageList() []uint32 {
+ if x != nil {
+ return x.OpenStageList
+ }
+ return nil
+}
+
+func (x *LanternProjectionInfo) GetViewInputTipsList() []ClientInputType {
+ if x != nil {
+ return x.ViewInputTipsList
+ }
+ return nil
+}
+
+var File_LanternProjectionInfo_proto protoreflect.FileDescriptor
+
+var file_LanternProjectionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x4c, 0x61, 0x6e,
+ 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x02,
+ 0x0a, 0x15, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x15, 0x76, 0x69, 0x65, 0x77, 0x5f,
+ 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12,
+ 0x76, 0x69, 0x65, 0x77, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x69, 0x70, 0x73, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c,
+ 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x6f,
+ 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x14,
+ 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x11, 0x76, 0x69, 0x65, 0x77, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x69, 0x70,
+ 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternProjectionInfo_proto_rawDescOnce sync.Once
+ file_LanternProjectionInfo_proto_rawDescData = file_LanternProjectionInfo_proto_rawDesc
+)
+
+func file_LanternProjectionInfo_proto_rawDescGZIP() []byte {
+ file_LanternProjectionInfo_proto_rawDescOnce.Do(func() {
+ file_LanternProjectionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternProjectionInfo_proto_rawDescData)
+ })
+ return file_LanternProjectionInfo_proto_rawDescData
+}
+
+var file_LanternProjectionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternProjectionInfo_proto_goTypes = []interface{}{
+ (*LanternProjectionInfo)(nil), // 0: proto.LanternProjectionInfo
+ (ClientInputType)(0), // 1: proto.ClientInputType
+ (*LanternProjectionLevelInfo)(nil), // 2: proto.LanternProjectionLevelInfo
+}
+var file_LanternProjectionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.LanternProjectionInfo.view_switch_tips_list:type_name -> proto.ClientInputType
+ 2, // 1: proto.LanternProjectionInfo.level_list:type_name -> proto.LanternProjectionLevelInfo
+ 1, // 2: proto.LanternProjectionInfo.view_input_tips_list:type_name -> proto.ClientInputType
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_LanternProjectionInfo_proto_init() }
+func file_LanternProjectionInfo_proto_init() {
+ if File_LanternProjectionInfo_proto != nil {
+ return
+ }
+ file_ClientInputType_proto_init()
+ file_LanternProjectionLevelInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LanternProjectionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternProjectionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternProjectionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternProjectionInfo_proto_goTypes,
+ DependencyIndexes: file_LanternProjectionInfo_proto_depIdxs,
+ MessageInfos: file_LanternProjectionInfo_proto_msgTypes,
+ }.Build()
+ File_LanternProjectionInfo_proto = out.File
+ file_LanternProjectionInfo_proto_rawDesc = nil
+ file_LanternProjectionInfo_proto_goTypes = nil
+ file_LanternProjectionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternProjectionLevelInfo.pb.go b/protocol/proto/LanternProjectionLevelInfo.pb.go
new file mode 100644
index 00000000..a11026ad
--- /dev/null
+++ b/protocol/proto/LanternProjectionLevelInfo.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternProjectionLevelInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanternProjectionLevelInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MinFinishTime uint32 `protobuf:"varint,1,opt,name=min_finish_time,json=minFinishTime,proto3" json:"min_finish_time,omitempty"`
+ Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
+ IsFinished bool `protobuf:"varint,7,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ IsCanStart bool `protobuf:"varint,9,opt,name=is_can_start,json=isCanStart,proto3" json:"is_can_start,omitempty"`
+ IsShowTips bool `protobuf:"varint,10,opt,name=is_show_tips,json=isShowTips,proto3" json:"is_show_tips,omitempty"`
+}
+
+func (x *LanternProjectionLevelInfo) Reset() {
+ *x = LanternProjectionLevelInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternProjectionLevelInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternProjectionLevelInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternProjectionLevelInfo) ProtoMessage() {}
+
+func (x *LanternProjectionLevelInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternProjectionLevelInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternProjectionLevelInfo.ProtoReflect.Descriptor instead.
+func (*LanternProjectionLevelInfo) Descriptor() ([]byte, []int) {
+ return file_LanternProjectionLevelInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternProjectionLevelInfo) GetMinFinishTime() uint32 {
+ if x != nil {
+ return x.MinFinishTime
+ }
+ return 0
+}
+
+func (x *LanternProjectionLevelInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *LanternProjectionLevelInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *LanternProjectionLevelInfo) GetIsCanStart() bool {
+ if x != nil {
+ return x.IsCanStart
+ }
+ return false
+}
+
+func (x *LanternProjectionLevelInfo) GetIsShowTips() bool {
+ if x != nil {
+ return x.IsShowTips
+ }
+ return false
+}
+
+var File_LanternProjectionLevelInfo_proto protoreflect.FileDescriptor
+
+var file_LanternProjectionLevelInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x1a, 0x4c, 0x61,
+ 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x74,
+ 0x69, 0x70, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x68, 0x6f,
+ 0x77, 0x54, 0x69, 0x70, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternProjectionLevelInfo_proto_rawDescOnce sync.Once
+ file_LanternProjectionLevelInfo_proto_rawDescData = file_LanternProjectionLevelInfo_proto_rawDesc
+)
+
+func file_LanternProjectionLevelInfo_proto_rawDescGZIP() []byte {
+ file_LanternProjectionLevelInfo_proto_rawDescOnce.Do(func() {
+ file_LanternProjectionLevelInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternProjectionLevelInfo_proto_rawDescData)
+ })
+ return file_LanternProjectionLevelInfo_proto_rawDescData
+}
+
+var file_LanternProjectionLevelInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternProjectionLevelInfo_proto_goTypes = []interface{}{
+ (*LanternProjectionLevelInfo)(nil), // 0: proto.LanternProjectionLevelInfo
+}
+var file_LanternProjectionLevelInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternProjectionLevelInfo_proto_init() }
+func file_LanternProjectionLevelInfo_proto_init() {
+ if File_LanternProjectionLevelInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternProjectionLevelInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternProjectionLevelInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternProjectionLevelInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternProjectionLevelInfo_proto_goTypes,
+ DependencyIndexes: file_LanternProjectionLevelInfo_proto_depIdxs,
+ MessageInfos: file_LanternProjectionLevelInfo_proto_msgTypes,
+ }.Build()
+ File_LanternProjectionLevelInfo_proto = out.File
+ file_LanternProjectionLevelInfo_proto_rawDesc = nil
+ file_LanternProjectionLevelInfo_proto_goTypes = nil
+ file_LanternProjectionLevelInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteActivityDetailInfo.pb.go b/protocol/proto/LanternRiteActivityDetailInfo.pb.go
new file mode 100644
index 00000000..fed9a5a3
--- /dev/null
+++ b/protocol/proto/LanternRiteActivityDetailInfo.pb.go
@@ -0,0 +1,236 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanternRiteActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProjectionInfo *LanternProjectionInfo `protobuf:"bytes,13,opt,name=projection_info,json=projectionInfo,proto3" json:"projection_info,omitempty"`
+ StageInfoList []*SalvageStageInfo `protobuf:"bytes,5,rep,name=stage_info_list,json=stageInfoList,proto3" json:"stage_info_list,omitempty"`
+ FireworksInfo *LanternRiteFireworksInfo `protobuf:"bytes,8,opt,name=fireworks_info,json=fireworksInfo,proto3" json:"fireworks_info,omitempty"`
+ IsMiniEldritchDungeonOpen bool `protobuf:"varint,2,opt,name=is_mini_eldritch_dungeon_open,json=isMiniEldritchDungeonOpen,proto3" json:"is_mini_eldritch_dungeon_open,omitempty"`
+ IsContentClosed bool `protobuf:"varint,14,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ IsTakenSkinReward bool `protobuf:"varint,6,opt,name=is_taken_skin_reward,json=isTakenSkinReward,proto3" json:"is_taken_skin_reward,omitempty"`
+}
+
+func (x *LanternRiteActivityDetailInfo) Reset() {
+ *x = LanternRiteActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteActivityDetailInfo) ProtoMessage() {}
+
+func (x *LanternRiteActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*LanternRiteActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_LanternRiteActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteActivityDetailInfo) GetProjectionInfo() *LanternProjectionInfo {
+ if x != nil {
+ return x.ProjectionInfo
+ }
+ return nil
+}
+
+func (x *LanternRiteActivityDetailInfo) GetStageInfoList() []*SalvageStageInfo {
+ if x != nil {
+ return x.StageInfoList
+ }
+ return nil
+}
+
+func (x *LanternRiteActivityDetailInfo) GetFireworksInfo() *LanternRiteFireworksInfo {
+ if x != nil {
+ return x.FireworksInfo
+ }
+ return nil
+}
+
+func (x *LanternRiteActivityDetailInfo) GetIsMiniEldritchDungeonOpen() bool {
+ if x != nil {
+ return x.IsMiniEldritchDungeonOpen
+ }
+ return false
+}
+
+func (x *LanternRiteActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *LanternRiteActivityDetailInfo) GetIsTakenSkinReward() bool {
+ if x != nil {
+ return x.IsTakenSkinReward
+ }
+ return false
+}
+
+var File_LanternRiteActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_LanternRiteActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x4c, 0x61,
+ 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x4c, 0x61, 0x6e, 0x74, 0x65,
+ 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x53, 0x61, 0x6c, 0x76, 0x61,
+ 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x8e, 0x03, 0x0a, 0x1d, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74,
+ 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x0f, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x76,
+ 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0e, 0x66,
+ 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x74,
+ 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x1d, 0x69, 0x73, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x5f, 0x65,
+ 0x6c, 0x64, 0x72, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x73, 0x4d, 0x69,
+ 0x6e, 0x69, 0x45, 0x6c, 0x64, 0x72, 0x69, 0x74, 0x63, 0x68, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65,
+ 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x73, 0x6b,
+ 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x11, 0x69, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x53, 0x6b, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_LanternRiteActivityDetailInfo_proto_rawDescData = file_LanternRiteActivityDetailInfo_proto_rawDesc
+)
+
+func file_LanternRiteActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_LanternRiteActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_LanternRiteActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteActivityDetailInfo_proto_rawDescData)
+ })
+ return file_LanternRiteActivityDetailInfo_proto_rawDescData
+}
+
+var file_LanternRiteActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteActivityDetailInfo_proto_goTypes = []interface{}{
+ (*LanternRiteActivityDetailInfo)(nil), // 0: proto.LanternRiteActivityDetailInfo
+ (*LanternProjectionInfo)(nil), // 1: proto.LanternProjectionInfo
+ (*SalvageStageInfo)(nil), // 2: proto.SalvageStageInfo
+ (*LanternRiteFireworksInfo)(nil), // 3: proto.LanternRiteFireworksInfo
+}
+var file_LanternRiteActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.LanternRiteActivityDetailInfo.projection_info:type_name -> proto.LanternProjectionInfo
+ 2, // 1: proto.LanternRiteActivityDetailInfo.stage_info_list:type_name -> proto.SalvageStageInfo
+ 3, // 2: proto.LanternRiteActivityDetailInfo.fireworks_info:type_name -> proto.LanternRiteFireworksInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteActivityDetailInfo_proto_init() }
+func file_LanternRiteActivityDetailInfo_proto_init() {
+ if File_LanternRiteActivityDetailInfo_proto != nil {
+ return
+ }
+ file_LanternProjectionInfo_proto_init()
+ file_LanternRiteFireworksInfo_proto_init()
+ file_SalvageStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_LanternRiteActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_LanternRiteActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_LanternRiteActivityDetailInfo_proto = out.File
+ file_LanternRiteActivityDetailInfo_proto_rawDesc = nil
+ file_LanternRiteActivityDetailInfo_proto_goTypes = nil
+ file_LanternRiteActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteDoFireworksReformReq.pb.go b/protocol/proto/LanternRiteDoFireworksReformReq.pb.go
new file mode 100644
index 00000000..04d4bcf5
--- /dev/null
+++ b/protocol/proto/LanternRiteDoFireworksReformReq.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteDoFireworksReformReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8226
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LanternRiteDoFireworksReformReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ SkillId uint32 `protobuf:"varint,11,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,10,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ FactorId uint32 `protobuf:"varint,13,opt,name=factor_id,json=factorId,proto3" json:"factor_id,omitempty"`
+}
+
+func (x *LanternRiteDoFireworksReformReq) Reset() {
+ *x = LanternRiteDoFireworksReformReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteDoFireworksReformReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteDoFireworksReformReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteDoFireworksReformReq) ProtoMessage() {}
+
+func (x *LanternRiteDoFireworksReformReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteDoFireworksReformReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteDoFireworksReformReq.ProtoReflect.Descriptor instead.
+func (*LanternRiteDoFireworksReformReq) Descriptor() ([]byte, []int) {
+ return file_LanternRiteDoFireworksReformReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteDoFireworksReformReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformReq) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformReq) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformReq) GetFactorId() uint32 {
+ if x != nil {
+ return x.FactorId
+ }
+ return 0
+}
+
+var File_LanternRiteDoFireworksReformReq_proto protoreflect.FileDescriptor
+
+var file_LanternRiteDoFireworksReformReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x44, 0x6f, 0x46,
+ 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97,
+ 0x01, 0x0a, 0x1f, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x44, 0x6f,
+ 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x52,
+ 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66,
+ 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteDoFireworksReformReq_proto_rawDescOnce sync.Once
+ file_LanternRiteDoFireworksReformReq_proto_rawDescData = file_LanternRiteDoFireworksReformReq_proto_rawDesc
+)
+
+func file_LanternRiteDoFireworksReformReq_proto_rawDescGZIP() []byte {
+ file_LanternRiteDoFireworksReformReq_proto_rawDescOnce.Do(func() {
+ file_LanternRiteDoFireworksReformReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteDoFireworksReformReq_proto_rawDescData)
+ })
+ return file_LanternRiteDoFireworksReformReq_proto_rawDescData
+}
+
+var file_LanternRiteDoFireworksReformReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteDoFireworksReformReq_proto_goTypes = []interface{}{
+ (*LanternRiteDoFireworksReformReq)(nil), // 0: proto.LanternRiteDoFireworksReformReq
+}
+var file_LanternRiteDoFireworksReformReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteDoFireworksReformReq_proto_init() }
+func file_LanternRiteDoFireworksReformReq_proto_init() {
+ if File_LanternRiteDoFireworksReformReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteDoFireworksReformReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteDoFireworksReformReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteDoFireworksReformReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteDoFireworksReformReq_proto_goTypes,
+ DependencyIndexes: file_LanternRiteDoFireworksReformReq_proto_depIdxs,
+ MessageInfos: file_LanternRiteDoFireworksReformReq_proto_msgTypes,
+ }.Build()
+ File_LanternRiteDoFireworksReformReq_proto = out.File
+ file_LanternRiteDoFireworksReformReq_proto_rawDesc = nil
+ file_LanternRiteDoFireworksReformReq_proto_goTypes = nil
+ file_LanternRiteDoFireworksReformReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteDoFireworksReformRsp.pb.go b/protocol/proto/LanternRiteDoFireworksReformRsp.pb.go
new file mode 100644
index 00000000..aca504fc
--- /dev/null
+++ b/protocol/proto/LanternRiteDoFireworksReformRsp.pb.go
@@ -0,0 +1,256 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteDoFireworksReformRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8657
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LanternRiteDoFireworksReformRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsLucky bool `protobuf:"varint,13,opt,name=is_lucky,json=isLucky,proto3" json:"is_lucky,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,8,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ FactorInfoList []*LanternRiteFireworksReformFactorInfo `protobuf:"bytes,2,rep,name=factor_info_list,json=factorInfoList,proto3" json:"factor_info_list,omitempty"`
+ StaminaValue uint32 `protobuf:"varint,10,opt,name=stamina_value,json=staminaValue,proto3" json:"stamina_value,omitempty"`
+ ReformScore uint32 `protobuf:"varint,15,opt,name=reform_score,json=reformScore,proto3" json:"reform_score,omitempty"`
+ FireElementValue uint32 `protobuf:"varint,11,opt,name=fire_element_value,json=fireElementValue,proto3" json:"fire_element_value,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FireElementAdditionRatio uint32 `protobuf:"varint,12,opt,name=fire_element_addition_ratio,json=fireElementAdditionRatio,proto3" json:"fire_element_addition_ratio,omitempty"`
+}
+
+func (x *LanternRiteDoFireworksReformRsp) Reset() {
+ *x = LanternRiteDoFireworksReformRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteDoFireworksReformRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteDoFireworksReformRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteDoFireworksReformRsp) ProtoMessage() {}
+
+func (x *LanternRiteDoFireworksReformRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteDoFireworksReformRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteDoFireworksReformRsp.ProtoReflect.Descriptor instead.
+func (*LanternRiteDoFireworksReformRsp) Descriptor() ([]byte, []int) {
+ return file_LanternRiteDoFireworksReformRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetIsLucky() bool {
+ if x != nil {
+ return x.IsLucky
+ }
+ return false
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetFactorInfoList() []*LanternRiteFireworksReformFactorInfo {
+ if x != nil {
+ return x.FactorInfoList
+ }
+ return nil
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetStaminaValue() uint32 {
+ if x != nil {
+ return x.StaminaValue
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetReformScore() uint32 {
+ if x != nil {
+ return x.ReformScore
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetFireElementValue() uint32 {
+ if x != nil {
+ return x.FireElementValue
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *LanternRiteDoFireworksReformRsp) GetFireElementAdditionRatio() uint32 {
+ if x != nil {
+ return x.FireElementAdditionRatio
+ }
+ return 0
+}
+
+var File_LanternRiteDoFireworksReformRsp_proto protoreflect.FileDescriptor
+
+var file_LanternRiteDoFireworksReformRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x44, 0x6f, 0x46,
+ 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a,
+ 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77,
+ 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x03, 0x0a, 0x1f, 0x4c,
+ 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x44, 0x6f, 0x46, 0x69, 0x72, 0x65,
+ 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f,
+ 0x6c, 0x75, 0x63, 0x6b, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4c,
+ 0x75, 0x63, 0x6b, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x74, 0x6f,
+ 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72,
+ 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65,
+ 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e,
+ 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23,
+ 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x65,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3d,
+ 0x0a, 0x1b, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61,
+ 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x18, 0x66, 0x69, 0x72, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_LanternRiteDoFireworksReformRsp_proto_rawDescOnce sync.Once
+ file_LanternRiteDoFireworksReformRsp_proto_rawDescData = file_LanternRiteDoFireworksReformRsp_proto_rawDesc
+)
+
+func file_LanternRiteDoFireworksReformRsp_proto_rawDescGZIP() []byte {
+ file_LanternRiteDoFireworksReformRsp_proto_rawDescOnce.Do(func() {
+ file_LanternRiteDoFireworksReformRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteDoFireworksReformRsp_proto_rawDescData)
+ })
+ return file_LanternRiteDoFireworksReformRsp_proto_rawDescData
+}
+
+var file_LanternRiteDoFireworksReformRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteDoFireworksReformRsp_proto_goTypes = []interface{}{
+ (*LanternRiteDoFireworksReformRsp)(nil), // 0: proto.LanternRiteDoFireworksReformRsp
+ (*LanternRiteFireworksReformFactorInfo)(nil), // 1: proto.LanternRiteFireworksReformFactorInfo
+}
+var file_LanternRiteDoFireworksReformRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.LanternRiteDoFireworksReformRsp.factor_info_list:type_name -> proto.LanternRiteFireworksReformFactorInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteDoFireworksReformRsp_proto_init() }
+func file_LanternRiteDoFireworksReformRsp_proto_init() {
+ if File_LanternRiteDoFireworksReformRsp_proto != nil {
+ return
+ }
+ file_LanternRiteFireworksReformFactorInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteDoFireworksReformRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteDoFireworksReformRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteDoFireworksReformRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteDoFireworksReformRsp_proto_goTypes,
+ DependencyIndexes: file_LanternRiteDoFireworksReformRsp_proto_depIdxs,
+ MessageInfos: file_LanternRiteDoFireworksReformRsp_proto_msgTypes,
+ }.Build()
+ File_LanternRiteDoFireworksReformRsp_proto = out.File
+ file_LanternRiteDoFireworksReformRsp_proto_rawDesc = nil
+ file_LanternRiteDoFireworksReformRsp_proto_goTypes = nil
+ file_LanternRiteDoFireworksReformRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteEndFireworksReformReq.pb.go b/protocol/proto/LanternRiteEndFireworksReformReq.pb.go
new file mode 100644
index 00000000..8da0e2e1
--- /dev/null
+++ b/protocol/proto/LanternRiteEndFireworksReformReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteEndFireworksReformReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8277
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LanternRiteEndFireworksReformReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *LanternRiteEndFireworksReformReq) Reset() {
+ *x = LanternRiteEndFireworksReformReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteEndFireworksReformReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteEndFireworksReformReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteEndFireworksReformReq) ProtoMessage() {}
+
+func (x *LanternRiteEndFireworksReformReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteEndFireworksReformReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteEndFireworksReformReq.ProtoReflect.Descriptor instead.
+func (*LanternRiteEndFireworksReformReq) Descriptor() ([]byte, []int) {
+ return file_LanternRiteEndFireworksReformReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteEndFireworksReformReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *LanternRiteEndFireworksReformReq) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_LanternRiteEndFireworksReformReq_proto protoreflect.FileDescriptor
+
+var file_LanternRiteEndFireworksReformReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x45, 0x6e, 0x64,
+ 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x60, 0x0a, 0x20, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x45, 0x6e,
+ 0x64, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d,
+ 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x21,
+ 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteEndFireworksReformReq_proto_rawDescOnce sync.Once
+ file_LanternRiteEndFireworksReformReq_proto_rawDescData = file_LanternRiteEndFireworksReformReq_proto_rawDesc
+)
+
+func file_LanternRiteEndFireworksReformReq_proto_rawDescGZIP() []byte {
+ file_LanternRiteEndFireworksReformReq_proto_rawDescOnce.Do(func() {
+ file_LanternRiteEndFireworksReformReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteEndFireworksReformReq_proto_rawDescData)
+ })
+ return file_LanternRiteEndFireworksReformReq_proto_rawDescData
+}
+
+var file_LanternRiteEndFireworksReformReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteEndFireworksReformReq_proto_goTypes = []interface{}{
+ (*LanternRiteEndFireworksReformReq)(nil), // 0: proto.LanternRiteEndFireworksReformReq
+}
+var file_LanternRiteEndFireworksReformReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteEndFireworksReformReq_proto_init() }
+func file_LanternRiteEndFireworksReformReq_proto_init() {
+ if File_LanternRiteEndFireworksReformReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteEndFireworksReformReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteEndFireworksReformReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteEndFireworksReformReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteEndFireworksReformReq_proto_goTypes,
+ DependencyIndexes: file_LanternRiteEndFireworksReformReq_proto_depIdxs,
+ MessageInfos: file_LanternRiteEndFireworksReformReq_proto_msgTypes,
+ }.Build()
+ File_LanternRiteEndFireworksReformReq_proto = out.File
+ file_LanternRiteEndFireworksReformReq_proto_rawDesc = nil
+ file_LanternRiteEndFireworksReformReq_proto_goTypes = nil
+ file_LanternRiteEndFireworksReformReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteEndFireworksReformRsp.pb.go b/protocol/proto/LanternRiteEndFireworksReformRsp.pb.go
new file mode 100644
index 00000000..795bbbe8
--- /dev/null
+++ b/protocol/proto/LanternRiteEndFireworksReformRsp.pb.go
@@ -0,0 +1,246 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteEndFireworksReformRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8933
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LanternRiteEndFireworksReformRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFullScore bool `protobuf:"varint,10,opt,name=is_full_score,json=isFullScore,proto3" json:"is_full_score,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsUnlockFireworks bool `protobuf:"varint,6,opt,name=is_unlock_fireworks,json=isUnlockFireworks,proto3" json:"is_unlock_fireworks,omitempty"`
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsUnlockNewSkill bool `protobuf:"varint,12,opt,name=is_unlock_new_skill,json=isUnlockNewSkill,proto3" json:"is_unlock_new_skill,omitempty"`
+ IsStaminaUp bool `protobuf:"varint,4,opt,name=is_stamina_up,json=isStaminaUp,proto3" json:"is_stamina_up,omitempty"`
+ FinalScore uint32 `protobuf:"varint,13,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,5,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ IsNewRecord bool `protobuf:"varint,9,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *LanternRiteEndFireworksReformRsp) Reset() {
+ *x = LanternRiteEndFireworksReformRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteEndFireworksReformRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteEndFireworksReformRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteEndFireworksReformRsp) ProtoMessage() {}
+
+func (x *LanternRiteEndFireworksReformRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteEndFireworksReformRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteEndFireworksReformRsp.ProtoReflect.Descriptor instead.
+func (*LanternRiteEndFireworksReformRsp) Descriptor() ([]byte, []int) {
+ return file_LanternRiteEndFireworksReformRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetIsFullScore() bool {
+ if x != nil {
+ return x.IsFullScore
+ }
+ return false
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetIsUnlockFireworks() bool {
+ if x != nil {
+ return x.IsUnlockFireworks
+ }
+ return false
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetIsUnlockNewSkill() bool {
+ if x != nil {
+ return x.IsUnlockNewSkill
+ }
+ return false
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetIsStaminaUp() bool {
+ if x != nil {
+ return x.IsStaminaUp
+ }
+ return false
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *LanternRiteEndFireworksReformRsp) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_LanternRiteEndFireworksReformRsp_proto protoreflect.FileDescriptor
+
+var file_LanternRiteEndFireworksReformRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x45, 0x6e, 0x64,
+ 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xe6, 0x02, 0x0a, 0x20, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x45,
+ 0x6e, 0x64, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x52, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x46,
+ 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f,
+ 0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x11, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72,
+ 0x6b, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2d, 0x0a,
+ 0x13, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x55, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x0d,
+ 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x5f, 0x75, 0x70, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x55, 0x70,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e,
+ 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteEndFireworksReformRsp_proto_rawDescOnce sync.Once
+ file_LanternRiteEndFireworksReformRsp_proto_rawDescData = file_LanternRiteEndFireworksReformRsp_proto_rawDesc
+)
+
+func file_LanternRiteEndFireworksReformRsp_proto_rawDescGZIP() []byte {
+ file_LanternRiteEndFireworksReformRsp_proto_rawDescOnce.Do(func() {
+ file_LanternRiteEndFireworksReformRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteEndFireworksReformRsp_proto_rawDescData)
+ })
+ return file_LanternRiteEndFireworksReformRsp_proto_rawDescData
+}
+
+var file_LanternRiteEndFireworksReformRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteEndFireworksReformRsp_proto_goTypes = []interface{}{
+ (*LanternRiteEndFireworksReformRsp)(nil), // 0: proto.LanternRiteEndFireworksReformRsp
+}
+var file_LanternRiteEndFireworksReformRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteEndFireworksReformRsp_proto_init() }
+func file_LanternRiteEndFireworksReformRsp_proto_init() {
+ if File_LanternRiteEndFireworksReformRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteEndFireworksReformRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteEndFireworksReformRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteEndFireworksReformRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteEndFireworksReformRsp_proto_goTypes,
+ DependencyIndexes: file_LanternRiteEndFireworksReformRsp_proto_depIdxs,
+ MessageInfos: file_LanternRiteEndFireworksReformRsp_proto_msgTypes,
+ }.Build()
+ File_LanternRiteEndFireworksReformRsp_proto = out.File
+ file_LanternRiteEndFireworksReformRsp_proto_rawDesc = nil
+ file_LanternRiteEndFireworksReformRsp_proto_goTypes = nil
+ file_LanternRiteEndFireworksReformRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteFireworksChallengeInfo.pb.go b/protocol/proto/LanternRiteFireworksChallengeInfo.pb.go
new file mode 100644
index 00000000..882fb021
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksChallengeInfo.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteFireworksChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanternRiteFireworksChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFullScore bool `protobuf:"varint,13,opt,name=is_full_score,json=isFullScore,proto3" json:"is_full_score,omitempty"`
+ BestScore uint32 `protobuf:"varint,7,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,3,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *LanternRiteFireworksChallengeInfo) Reset() {
+ *x = LanternRiteFireworksChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteFireworksChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteFireworksChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteFireworksChallengeInfo) ProtoMessage() {}
+
+func (x *LanternRiteFireworksChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteFireworksChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteFireworksChallengeInfo.ProtoReflect.Descriptor instead.
+func (*LanternRiteFireworksChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_LanternRiteFireworksChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteFireworksChallengeInfo) GetIsFullScore() bool {
+ if x != nil {
+ return x.IsFullScore
+ }
+ return false
+}
+
+func (x *LanternRiteFireworksChallengeInfo) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+func (x *LanternRiteFireworksChallengeInfo) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_LanternRiteFireworksChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_LanternRiteFireworksChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x89, 0x01, 0x0a, 0x21, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65,
+ 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x66, 0x75, 0x6c,
+ 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
+ 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65,
+ 0x73, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x62, 0x65, 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteFireworksChallengeInfo_proto_rawDescOnce sync.Once
+ file_LanternRiteFireworksChallengeInfo_proto_rawDescData = file_LanternRiteFireworksChallengeInfo_proto_rawDesc
+)
+
+func file_LanternRiteFireworksChallengeInfo_proto_rawDescGZIP() []byte {
+ file_LanternRiteFireworksChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_LanternRiteFireworksChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteFireworksChallengeInfo_proto_rawDescData)
+ })
+ return file_LanternRiteFireworksChallengeInfo_proto_rawDescData
+}
+
+var file_LanternRiteFireworksChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteFireworksChallengeInfo_proto_goTypes = []interface{}{
+ (*LanternRiteFireworksChallengeInfo)(nil), // 0: proto.LanternRiteFireworksChallengeInfo
+}
+var file_LanternRiteFireworksChallengeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteFireworksChallengeInfo_proto_init() }
+func file_LanternRiteFireworksChallengeInfo_proto_init() {
+ if File_LanternRiteFireworksChallengeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteFireworksChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteFireworksChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteFireworksChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteFireworksChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_LanternRiteFireworksChallengeInfo_proto_depIdxs,
+ MessageInfos: file_LanternRiteFireworksChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_LanternRiteFireworksChallengeInfo_proto = out.File
+ file_LanternRiteFireworksChallengeInfo_proto_rawDesc = nil
+ file_LanternRiteFireworksChallengeInfo_proto_goTypes = nil
+ file_LanternRiteFireworksChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteFireworksInfo.pb.go b/protocol/proto/LanternRiteFireworksInfo.pb.go
new file mode 100644
index 00000000..e95580b1
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteFireworksInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanternRiteFireworksInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageInfoList []*LanternRiteFireworksStageInfo `protobuf:"bytes,6,rep,name=stage_info_list,json=stageInfoList,proto3" json:"stage_info_list,omitempty"`
+}
+
+func (x *LanternRiteFireworksInfo) Reset() {
+ *x = LanternRiteFireworksInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteFireworksInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteFireworksInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteFireworksInfo) ProtoMessage() {}
+
+func (x *LanternRiteFireworksInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteFireworksInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteFireworksInfo.ProtoReflect.Descriptor instead.
+func (*LanternRiteFireworksInfo) Descriptor() ([]byte, []int) {
+ return file_LanternRiteFireworksInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteFireworksInfo) GetStageInfoList() []*LanternRiteFireworksStageInfo {
+ if x != nil {
+ return x.StageInfoList
+ }
+ return nil
+}
+
+var File_LanternRiteFireworksInfo_proto protoreflect.FileDescriptor
+
+var file_LanternRiteFireworksInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e,
+ 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x18,
+ 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77,
+ 0x6f, 0x72, 0x6b, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72,
+ 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteFireworksInfo_proto_rawDescOnce sync.Once
+ file_LanternRiteFireworksInfo_proto_rawDescData = file_LanternRiteFireworksInfo_proto_rawDesc
+)
+
+func file_LanternRiteFireworksInfo_proto_rawDescGZIP() []byte {
+ file_LanternRiteFireworksInfo_proto_rawDescOnce.Do(func() {
+ file_LanternRiteFireworksInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteFireworksInfo_proto_rawDescData)
+ })
+ return file_LanternRiteFireworksInfo_proto_rawDescData
+}
+
+var file_LanternRiteFireworksInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteFireworksInfo_proto_goTypes = []interface{}{
+ (*LanternRiteFireworksInfo)(nil), // 0: proto.LanternRiteFireworksInfo
+ (*LanternRiteFireworksStageInfo)(nil), // 1: proto.LanternRiteFireworksStageInfo
+}
+var file_LanternRiteFireworksInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.LanternRiteFireworksInfo.stage_info_list:type_name -> proto.LanternRiteFireworksStageInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteFireworksInfo_proto_init() }
+func file_LanternRiteFireworksInfo_proto_init() {
+ if File_LanternRiteFireworksInfo_proto != nil {
+ return
+ }
+ file_LanternRiteFireworksStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteFireworksInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteFireworksInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteFireworksInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteFireworksInfo_proto_goTypes,
+ DependencyIndexes: file_LanternRiteFireworksInfo_proto_depIdxs,
+ MessageInfos: file_LanternRiteFireworksInfo_proto_msgTypes,
+ }.Build()
+ File_LanternRiteFireworksInfo_proto = out.File
+ file_LanternRiteFireworksInfo_proto_rawDesc = nil
+ file_LanternRiteFireworksInfo_proto_goTypes = nil
+ file_LanternRiteFireworksInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteFireworksReformFactorInfo.pb.go b/protocol/proto/LanternRiteFireworksReformFactorInfo.pb.go
new file mode 100644
index 00000000..e7cae6f9
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksReformFactorInfo.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteFireworksReformFactorInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanternRiteFireworksReformFactorInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FactorValue uint32 `protobuf:"varint,5,opt,name=factor_value,json=factorValue,proto3" json:"factor_value,omitempty"`
+ FactorId uint32 `protobuf:"varint,13,opt,name=factor_id,json=factorId,proto3" json:"factor_id,omitempty"`
+}
+
+func (x *LanternRiteFireworksReformFactorInfo) Reset() {
+ *x = LanternRiteFireworksReformFactorInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteFireworksReformFactorInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteFireworksReformFactorInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteFireworksReformFactorInfo) ProtoMessage() {}
+
+func (x *LanternRiteFireworksReformFactorInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteFireworksReformFactorInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteFireworksReformFactorInfo.ProtoReflect.Descriptor instead.
+func (*LanternRiteFireworksReformFactorInfo) Descriptor() ([]byte, []int) {
+ return file_LanternRiteFireworksReformFactorInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteFireworksReformFactorInfo) GetFactorValue() uint32 {
+ if x != nil {
+ return x.FactorValue
+ }
+ return 0
+}
+
+func (x *LanternRiteFireworksReformFactorInfo) GetFactorId() uint32 {
+ if x != nil {
+ return x.FactorId
+ }
+ return 0
+}
+
+var File_LanternRiteFireworksReformFactorInfo_proto protoreflect.FileDescriptor
+
+var file_LanternRiteFireworksReformFactorInfo_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63, 0x74,
+ 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x24, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69,
+ 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x66,
+ 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteFireworksReformFactorInfo_proto_rawDescOnce sync.Once
+ file_LanternRiteFireworksReformFactorInfo_proto_rawDescData = file_LanternRiteFireworksReformFactorInfo_proto_rawDesc
+)
+
+func file_LanternRiteFireworksReformFactorInfo_proto_rawDescGZIP() []byte {
+ file_LanternRiteFireworksReformFactorInfo_proto_rawDescOnce.Do(func() {
+ file_LanternRiteFireworksReformFactorInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteFireworksReformFactorInfo_proto_rawDescData)
+ })
+ return file_LanternRiteFireworksReformFactorInfo_proto_rawDescData
+}
+
+var file_LanternRiteFireworksReformFactorInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteFireworksReformFactorInfo_proto_goTypes = []interface{}{
+ (*LanternRiteFireworksReformFactorInfo)(nil), // 0: proto.LanternRiteFireworksReformFactorInfo
+}
+var file_LanternRiteFireworksReformFactorInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteFireworksReformFactorInfo_proto_init() }
+func file_LanternRiteFireworksReformFactorInfo_proto_init() {
+ if File_LanternRiteFireworksReformFactorInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteFireworksReformFactorInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteFireworksReformFactorInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteFireworksReformFactorInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteFireworksReformFactorInfo_proto_goTypes,
+ DependencyIndexes: file_LanternRiteFireworksReformFactorInfo_proto_depIdxs,
+ MessageInfos: file_LanternRiteFireworksReformFactorInfo_proto_msgTypes,
+ }.Build()
+ File_LanternRiteFireworksReformFactorInfo_proto = out.File
+ file_LanternRiteFireworksReformFactorInfo_proto_rawDesc = nil
+ file_LanternRiteFireworksReformFactorInfo_proto_goTypes = nil
+ file_LanternRiteFireworksReformFactorInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteFireworksReformSkillInfo.pb.go b/protocol/proto/LanternRiteFireworksReformSkillInfo.pb.go
new file mode 100644
index 00000000..5cfb41e6
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksReformSkillInfo.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteFireworksReformSkillInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanternRiteFireworksReformSkillInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillId uint32 `protobuf:"varint,2,opt,name=skill_id,json=skillId,proto3" json:"skill_id,omitempty"`
+ IsUnlock bool `protobuf:"varint,11,opt,name=is_unlock,json=isUnlock,proto3" json:"is_unlock,omitempty"`
+ UnlockChallengeTime uint32 `protobuf:"varint,1,opt,name=unlock_challenge_time,json=unlockChallengeTime,proto3" json:"unlock_challenge_time,omitempty"`
+ UnlockChallengeId uint32 `protobuf:"varint,14,opt,name=unlock_challenge_id,json=unlockChallengeId,proto3" json:"unlock_challenge_id,omitempty"`
+}
+
+func (x *LanternRiteFireworksReformSkillInfo) Reset() {
+ *x = LanternRiteFireworksReformSkillInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteFireworksReformSkillInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteFireworksReformSkillInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteFireworksReformSkillInfo) ProtoMessage() {}
+
+func (x *LanternRiteFireworksReformSkillInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteFireworksReformSkillInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteFireworksReformSkillInfo.ProtoReflect.Descriptor instead.
+func (*LanternRiteFireworksReformSkillInfo) Descriptor() ([]byte, []int) {
+ return file_LanternRiteFireworksReformSkillInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteFireworksReformSkillInfo) GetSkillId() uint32 {
+ if x != nil {
+ return x.SkillId
+ }
+ return 0
+}
+
+func (x *LanternRiteFireworksReformSkillInfo) GetIsUnlock() bool {
+ if x != nil {
+ return x.IsUnlock
+ }
+ return false
+}
+
+func (x *LanternRiteFireworksReformSkillInfo) GetUnlockChallengeTime() uint32 {
+ if x != nil {
+ return x.UnlockChallengeTime
+ }
+ return 0
+}
+
+func (x *LanternRiteFireworksReformSkillInfo) GetUnlockChallengeId() uint32 {
+ if x != nil {
+ return x.UnlockChallengeId
+ }
+ return 0
+}
+
+var File_LanternRiteFireworksReformSkillInfo_proto protoreflect.FileDescriptor
+
+var file_LanternRiteFireworksReformSkillInfo_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x23, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69,
+ 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x15, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x13, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteFireworksReformSkillInfo_proto_rawDescOnce sync.Once
+ file_LanternRiteFireworksReformSkillInfo_proto_rawDescData = file_LanternRiteFireworksReformSkillInfo_proto_rawDesc
+)
+
+func file_LanternRiteFireworksReformSkillInfo_proto_rawDescGZIP() []byte {
+ file_LanternRiteFireworksReformSkillInfo_proto_rawDescOnce.Do(func() {
+ file_LanternRiteFireworksReformSkillInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteFireworksReformSkillInfo_proto_rawDescData)
+ })
+ return file_LanternRiteFireworksReformSkillInfo_proto_rawDescData
+}
+
+var file_LanternRiteFireworksReformSkillInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteFireworksReformSkillInfo_proto_goTypes = []interface{}{
+ (*LanternRiteFireworksReformSkillInfo)(nil), // 0: proto.LanternRiteFireworksReformSkillInfo
+}
+var file_LanternRiteFireworksReformSkillInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteFireworksReformSkillInfo_proto_init() }
+func file_LanternRiteFireworksReformSkillInfo_proto_init() {
+ if File_LanternRiteFireworksReformSkillInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteFireworksReformSkillInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteFireworksReformSkillInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteFireworksReformSkillInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteFireworksReformSkillInfo_proto_goTypes,
+ DependencyIndexes: file_LanternRiteFireworksReformSkillInfo_proto_depIdxs,
+ MessageInfos: file_LanternRiteFireworksReformSkillInfo_proto_msgTypes,
+ }.Build()
+ File_LanternRiteFireworksReformSkillInfo_proto = out.File
+ file_LanternRiteFireworksReformSkillInfo_proto_rawDesc = nil
+ file_LanternRiteFireworksReformSkillInfo_proto_goTypes = nil
+ file_LanternRiteFireworksReformSkillInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteFireworksStageInfo.pb.go b/protocol/proto/LanternRiteFireworksStageInfo.pb.go
new file mode 100644
index 00000000..c72f61fc
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksStageInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteFireworksStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LanternRiteFireworksStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,8,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ ChallengeInfoList []*LanternRiteFireworksChallengeInfo `protobuf:"bytes,9,rep,name=challenge_info_list,json=challengeInfoList,proto3" json:"challenge_info_list,omitempty"`
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *LanternRiteFireworksStageInfo) Reset() {
+ *x = LanternRiteFireworksStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteFireworksStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteFireworksStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteFireworksStageInfo) ProtoMessage() {}
+
+func (x *LanternRiteFireworksStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteFireworksStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteFireworksStageInfo.ProtoReflect.Descriptor instead.
+func (*LanternRiteFireworksStageInfo) Descriptor() ([]byte, []int) {
+ return file_LanternRiteFireworksStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteFireworksStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *LanternRiteFireworksStageInfo) GetChallengeInfoList() []*LanternRiteFireworksChallengeInfo {
+ if x != nil {
+ return x.ChallengeInfoList
+ }
+ return nil
+}
+
+func (x *LanternRiteFireworksStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_LanternRiteFireworksStageInfo_proto protoreflect.FileDescriptor
+
+var file_LanternRiteFireworksStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x4c, 0x61,
+ 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72,
+ 0x6b, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x1d, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72,
+ 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70,
+ 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e,
+ 0x12, 0x58, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74,
+ 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteFireworksStageInfo_proto_rawDescOnce sync.Once
+ file_LanternRiteFireworksStageInfo_proto_rawDescData = file_LanternRiteFireworksStageInfo_proto_rawDesc
+)
+
+func file_LanternRiteFireworksStageInfo_proto_rawDescGZIP() []byte {
+ file_LanternRiteFireworksStageInfo_proto_rawDescOnce.Do(func() {
+ file_LanternRiteFireworksStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteFireworksStageInfo_proto_rawDescData)
+ })
+ return file_LanternRiteFireworksStageInfo_proto_rawDescData
+}
+
+var file_LanternRiteFireworksStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteFireworksStageInfo_proto_goTypes = []interface{}{
+ (*LanternRiteFireworksStageInfo)(nil), // 0: proto.LanternRiteFireworksStageInfo
+ (*LanternRiteFireworksChallengeInfo)(nil), // 1: proto.LanternRiteFireworksChallengeInfo
+}
+var file_LanternRiteFireworksStageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.LanternRiteFireworksStageInfo.challenge_info_list:type_name -> proto.LanternRiteFireworksChallengeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteFireworksStageInfo_proto_init() }
+func file_LanternRiteFireworksStageInfo_proto_init() {
+ if File_LanternRiteFireworksStageInfo_proto != nil {
+ return
+ }
+ file_LanternRiteFireworksChallengeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteFireworksStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteFireworksStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteFireworksStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteFireworksStageInfo_proto_goTypes,
+ DependencyIndexes: file_LanternRiteFireworksStageInfo_proto_depIdxs,
+ MessageInfos: file_LanternRiteFireworksStageInfo_proto_msgTypes,
+ }.Build()
+ File_LanternRiteFireworksStageInfo_proto = out.File
+ file_LanternRiteFireworksStageInfo_proto_rawDesc = nil
+ file_LanternRiteFireworksStageInfo_proto_goTypes = nil
+ file_LanternRiteFireworksStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteStartFireworksReformReq.pb.go b/protocol/proto/LanternRiteStartFireworksReformReq.pb.go
new file mode 100644
index 00000000..775c7e96
--- /dev/null
+++ b/protocol/proto/LanternRiteStartFireworksReformReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteStartFireworksReformReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8518
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LanternRiteStartFireworksReformReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,2,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,7,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *LanternRiteStartFireworksReformReq) Reset() {
+ *x = LanternRiteStartFireworksReformReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteStartFireworksReformReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteStartFireworksReformReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteStartFireworksReformReq) ProtoMessage() {}
+
+func (x *LanternRiteStartFireworksReformReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteStartFireworksReformReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteStartFireworksReformReq.ProtoReflect.Descriptor instead.
+func (*LanternRiteStartFireworksReformReq) Descriptor() ([]byte, []int) {
+ return file_LanternRiteStartFireworksReformReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteStartFireworksReformReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *LanternRiteStartFireworksReformReq) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_LanternRiteStartFireworksReformReq_proto protoreflect.FileDescriptor
+
+var file_LanternRiteStartFireworksReformReq_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x62, 0x0a, 0x22, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65,
+ 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteStartFireworksReformReq_proto_rawDescOnce sync.Once
+ file_LanternRiteStartFireworksReformReq_proto_rawDescData = file_LanternRiteStartFireworksReformReq_proto_rawDesc
+)
+
+func file_LanternRiteStartFireworksReformReq_proto_rawDescGZIP() []byte {
+ file_LanternRiteStartFireworksReformReq_proto_rawDescOnce.Do(func() {
+ file_LanternRiteStartFireworksReformReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteStartFireworksReformReq_proto_rawDescData)
+ })
+ return file_LanternRiteStartFireworksReformReq_proto_rawDescData
+}
+
+var file_LanternRiteStartFireworksReformReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteStartFireworksReformReq_proto_goTypes = []interface{}{
+ (*LanternRiteStartFireworksReformReq)(nil), // 0: proto.LanternRiteStartFireworksReformReq
+}
+var file_LanternRiteStartFireworksReformReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteStartFireworksReformReq_proto_init() }
+func file_LanternRiteStartFireworksReformReq_proto_init() {
+ if File_LanternRiteStartFireworksReformReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteStartFireworksReformReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteStartFireworksReformReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteStartFireworksReformReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteStartFireworksReformReq_proto_goTypes,
+ DependencyIndexes: file_LanternRiteStartFireworksReformReq_proto_depIdxs,
+ MessageInfos: file_LanternRiteStartFireworksReformReq_proto_msgTypes,
+ }.Build()
+ File_LanternRiteStartFireworksReformReq_proto = out.File
+ file_LanternRiteStartFireworksReformReq_proto_rawDesc = nil
+ file_LanternRiteStartFireworksReformReq_proto_goTypes = nil
+ file_LanternRiteStartFireworksReformReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteStartFireworksReformRsp.pb.go b/protocol/proto/LanternRiteStartFireworksReformRsp.pb.go
new file mode 100644
index 00000000..7f8a38b9
--- /dev/null
+++ b/protocol/proto/LanternRiteStartFireworksReformRsp.pb.go
@@ -0,0 +1,265 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteStartFireworksReformRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8862
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LanternRiteStartFireworksReformRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FactorInfoList []*LanternRiteFireworksReformFactorInfo `protobuf:"bytes,15,rep,name=factor_info_list,json=factorInfoList,proto3" json:"factor_info_list,omitempty"`
+ FireElementAdditionRatio uint32 `protobuf:"varint,13,opt,name=fire_element_addition_ratio,json=fireElementAdditionRatio,proto3" json:"fire_element_addition_ratio,omitempty"`
+ StaminaValue uint32 `protobuf:"varint,2,opt,name=stamina_value,json=staminaValue,proto3" json:"stamina_value,omitempty"`
+ SkillInfoList []*LanternRiteFireworksReformSkillInfo `protobuf:"bytes,8,rep,name=skill_info_list,json=skillInfoList,proto3" json:"skill_info_list,omitempty"`
+ ReformScore uint32 `protobuf:"varint,6,opt,name=reform_score,json=reformScore,proto3" json:"reform_score,omitempty"`
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,11,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ FireElementValue uint32 `protobuf:"varint,14,opt,name=fire_element_value,json=fireElementValue,proto3" json:"fire_element_value,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *LanternRiteStartFireworksReformRsp) Reset() {
+ *x = LanternRiteStartFireworksReformRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteStartFireworksReformRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteStartFireworksReformRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteStartFireworksReformRsp) ProtoMessage() {}
+
+func (x *LanternRiteStartFireworksReformRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteStartFireworksReformRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteStartFireworksReformRsp.ProtoReflect.Descriptor instead.
+func (*LanternRiteStartFireworksReformRsp) Descriptor() ([]byte, []int) {
+ return file_LanternRiteStartFireworksReformRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetFactorInfoList() []*LanternRiteFireworksReformFactorInfo {
+ if x != nil {
+ return x.FactorInfoList
+ }
+ return nil
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetFireElementAdditionRatio() uint32 {
+ if x != nil {
+ return x.FireElementAdditionRatio
+ }
+ return 0
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetStaminaValue() uint32 {
+ if x != nil {
+ return x.StaminaValue
+ }
+ return 0
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetSkillInfoList() []*LanternRiteFireworksReformSkillInfo {
+ if x != nil {
+ return x.SkillInfoList
+ }
+ return nil
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetReformScore() uint32 {
+ if x != nil {
+ return x.ReformScore
+ }
+ return 0
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetFireElementValue() uint32 {
+ if x != nil {
+ return x.FireElementValue
+ }
+ return 0
+}
+
+func (x *LanternRiteStartFireworksReformRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_LanternRiteStartFireworksReformRsp_proto protoreflect.FileDescriptor
+
+var file_LanternRiteStartFireworksReformRsp_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72,
+ 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x2a, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69,
+ 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63,
+ 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x4c,
+ 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f,
+ 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x03, 0x0a, 0x22, 0x4c, 0x61, 0x6e,
+ 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x73, 0x70, 0x12,
+ 0x55, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72,
+ 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63, 0x74,
+ 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x65,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x66, 0x69, 0x72,
+ 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74,
+ 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x61, 0x6e, 0x74,
+ 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73,
+ 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21,
+ 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x63, 0x6f, 0x72,
+ 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12,
+ 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x72,
+ 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteStartFireworksReformRsp_proto_rawDescOnce sync.Once
+ file_LanternRiteStartFireworksReformRsp_proto_rawDescData = file_LanternRiteStartFireworksReformRsp_proto_rawDesc
+)
+
+func file_LanternRiteStartFireworksReformRsp_proto_rawDescGZIP() []byte {
+ file_LanternRiteStartFireworksReformRsp_proto_rawDescOnce.Do(func() {
+ file_LanternRiteStartFireworksReformRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteStartFireworksReformRsp_proto_rawDescData)
+ })
+ return file_LanternRiteStartFireworksReformRsp_proto_rawDescData
+}
+
+var file_LanternRiteStartFireworksReformRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteStartFireworksReformRsp_proto_goTypes = []interface{}{
+ (*LanternRiteStartFireworksReformRsp)(nil), // 0: proto.LanternRiteStartFireworksReformRsp
+ (*LanternRiteFireworksReformFactorInfo)(nil), // 1: proto.LanternRiteFireworksReformFactorInfo
+ (*LanternRiteFireworksReformSkillInfo)(nil), // 2: proto.LanternRiteFireworksReformSkillInfo
+}
+var file_LanternRiteStartFireworksReformRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.LanternRiteStartFireworksReformRsp.factor_info_list:type_name -> proto.LanternRiteFireworksReformFactorInfo
+ 2, // 1: proto.LanternRiteStartFireworksReformRsp.skill_info_list:type_name -> proto.LanternRiteFireworksReformSkillInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteStartFireworksReformRsp_proto_init() }
+func file_LanternRiteStartFireworksReformRsp_proto_init() {
+ if File_LanternRiteStartFireworksReformRsp_proto != nil {
+ return
+ }
+ file_LanternRiteFireworksReformFactorInfo_proto_init()
+ file_LanternRiteFireworksReformSkillInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteStartFireworksReformRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteStartFireworksReformRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteStartFireworksReformRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteStartFireworksReformRsp_proto_goTypes,
+ DependencyIndexes: file_LanternRiteStartFireworksReformRsp_proto_depIdxs,
+ MessageInfos: file_LanternRiteStartFireworksReformRsp_proto_msgTypes,
+ }.Build()
+ File_LanternRiteStartFireworksReformRsp_proto = out.File
+ file_LanternRiteStartFireworksReformRsp_proto_rawDesc = nil
+ file_LanternRiteStartFireworksReformRsp_proto_goTypes = nil
+ file_LanternRiteStartFireworksReformRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteTakeSkinRewardReq.pb.go b/protocol/proto/LanternRiteTakeSkinRewardReq.pb.go
new file mode 100644
index 00000000..41c21f41
--- /dev/null
+++ b/protocol/proto/LanternRiteTakeSkinRewardReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteTakeSkinRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8826
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LanternRiteTakeSkinRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *LanternRiteTakeSkinRewardReq) Reset() {
+ *x = LanternRiteTakeSkinRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteTakeSkinRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteTakeSkinRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteTakeSkinRewardReq) ProtoMessage() {}
+
+func (x *LanternRiteTakeSkinRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteTakeSkinRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteTakeSkinRewardReq.ProtoReflect.Descriptor instead.
+func (*LanternRiteTakeSkinRewardReq) Descriptor() ([]byte, []int) {
+ return file_LanternRiteTakeSkinRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_LanternRiteTakeSkinRewardReq_proto protoreflect.FileDescriptor
+
+var file_LanternRiteTakeSkinRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x54, 0x61, 0x6b,
+ 0x65, 0x53, 0x6b, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x4c,
+ 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x6b,
+ 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteTakeSkinRewardReq_proto_rawDescOnce sync.Once
+ file_LanternRiteTakeSkinRewardReq_proto_rawDescData = file_LanternRiteTakeSkinRewardReq_proto_rawDesc
+)
+
+func file_LanternRiteTakeSkinRewardReq_proto_rawDescGZIP() []byte {
+ file_LanternRiteTakeSkinRewardReq_proto_rawDescOnce.Do(func() {
+ file_LanternRiteTakeSkinRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteTakeSkinRewardReq_proto_rawDescData)
+ })
+ return file_LanternRiteTakeSkinRewardReq_proto_rawDescData
+}
+
+var file_LanternRiteTakeSkinRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteTakeSkinRewardReq_proto_goTypes = []interface{}{
+ (*LanternRiteTakeSkinRewardReq)(nil), // 0: proto.LanternRiteTakeSkinRewardReq
+}
+var file_LanternRiteTakeSkinRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteTakeSkinRewardReq_proto_init() }
+func file_LanternRiteTakeSkinRewardReq_proto_init() {
+ if File_LanternRiteTakeSkinRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteTakeSkinRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteTakeSkinRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteTakeSkinRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteTakeSkinRewardReq_proto_goTypes,
+ DependencyIndexes: file_LanternRiteTakeSkinRewardReq_proto_depIdxs,
+ MessageInfos: file_LanternRiteTakeSkinRewardReq_proto_msgTypes,
+ }.Build()
+ File_LanternRiteTakeSkinRewardReq_proto = out.File
+ file_LanternRiteTakeSkinRewardReq_proto_rawDesc = nil
+ file_LanternRiteTakeSkinRewardReq_proto_goTypes = nil
+ file_LanternRiteTakeSkinRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LanternRiteTakeSkinRewardRsp.pb.go b/protocol/proto/LanternRiteTakeSkinRewardRsp.pb.go
new file mode 100644
index 00000000..eb1796c5
--- /dev/null
+++ b/protocol/proto/LanternRiteTakeSkinRewardRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LanternRiteTakeSkinRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8777
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LanternRiteTakeSkinRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *LanternRiteTakeSkinRewardRsp) Reset() {
+ *x = LanternRiteTakeSkinRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LanternRiteTakeSkinRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LanternRiteTakeSkinRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LanternRiteTakeSkinRewardRsp) ProtoMessage() {}
+
+func (x *LanternRiteTakeSkinRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LanternRiteTakeSkinRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LanternRiteTakeSkinRewardRsp.ProtoReflect.Descriptor instead.
+func (*LanternRiteTakeSkinRewardRsp) Descriptor() ([]byte, []int) {
+ return file_LanternRiteTakeSkinRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LanternRiteTakeSkinRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_LanternRiteTakeSkinRewardRsp_proto protoreflect.FileDescriptor
+
+var file_LanternRiteTakeSkinRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x54, 0x61, 0x6b,
+ 0x65, 0x53, 0x6b, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1c, 0x4c,
+ 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x52, 0x69, 0x74, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x6b,
+ 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LanternRiteTakeSkinRewardRsp_proto_rawDescOnce sync.Once
+ file_LanternRiteTakeSkinRewardRsp_proto_rawDescData = file_LanternRiteTakeSkinRewardRsp_proto_rawDesc
+)
+
+func file_LanternRiteTakeSkinRewardRsp_proto_rawDescGZIP() []byte {
+ file_LanternRiteTakeSkinRewardRsp_proto_rawDescOnce.Do(func() {
+ file_LanternRiteTakeSkinRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LanternRiteTakeSkinRewardRsp_proto_rawDescData)
+ })
+ return file_LanternRiteTakeSkinRewardRsp_proto_rawDescData
+}
+
+var file_LanternRiteTakeSkinRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LanternRiteTakeSkinRewardRsp_proto_goTypes = []interface{}{
+ (*LanternRiteTakeSkinRewardRsp)(nil), // 0: proto.LanternRiteTakeSkinRewardRsp
+}
+var file_LanternRiteTakeSkinRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LanternRiteTakeSkinRewardRsp_proto_init() }
+func file_LanternRiteTakeSkinRewardRsp_proto_init() {
+ if File_LanternRiteTakeSkinRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LanternRiteTakeSkinRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LanternRiteTakeSkinRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LanternRiteTakeSkinRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LanternRiteTakeSkinRewardRsp_proto_goTypes,
+ DependencyIndexes: file_LanternRiteTakeSkinRewardRsp_proto_depIdxs,
+ MessageInfos: file_LanternRiteTakeSkinRewardRsp_proto_msgTypes,
+ }.Build()
+ File_LanternRiteTakeSkinRewardRsp_proto = out.File
+ file_LanternRiteTakeSkinRewardRsp_proto_rawDesc = nil
+ file_LanternRiteTakeSkinRewardRsp_proto_goTypes = nil
+ file_LanternRiteTakeSkinRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LastPacketPrintNotify.pb.go b/protocol/proto/LastPacketPrintNotify.pb.go
new file mode 100644
index 00000000..ef822ace
--- /dev/null
+++ b/protocol/proto/LastPacketPrintNotify.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LastPacketPrintNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 88
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LastPacketPrintNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *LastPacketPrintNotify) Reset() {
+ *x = LastPacketPrintNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LastPacketPrintNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LastPacketPrintNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LastPacketPrintNotify) ProtoMessage() {}
+
+func (x *LastPacketPrintNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LastPacketPrintNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LastPacketPrintNotify.ProtoReflect.Descriptor instead.
+func (*LastPacketPrintNotify) Descriptor() ([]byte, []int) {
+ return file_LastPacketPrintNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_LastPacketPrintNotify_proto protoreflect.FileDescriptor
+
+var file_LastPacketPrintNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x6e,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b,
+ 0x65, 0x74, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_LastPacketPrintNotify_proto_rawDescOnce sync.Once
+ file_LastPacketPrintNotify_proto_rawDescData = file_LastPacketPrintNotify_proto_rawDesc
+)
+
+func file_LastPacketPrintNotify_proto_rawDescGZIP() []byte {
+ file_LastPacketPrintNotify_proto_rawDescOnce.Do(func() {
+ file_LastPacketPrintNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LastPacketPrintNotify_proto_rawDescData)
+ })
+ return file_LastPacketPrintNotify_proto_rawDescData
+}
+
+var file_LastPacketPrintNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LastPacketPrintNotify_proto_goTypes = []interface{}{
+ (*LastPacketPrintNotify)(nil), // 0: proto.LastPacketPrintNotify
+}
+var file_LastPacketPrintNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LastPacketPrintNotify_proto_init() }
+func file_LastPacketPrintNotify_proto_init() {
+ if File_LastPacketPrintNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LastPacketPrintNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LastPacketPrintNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LastPacketPrintNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LastPacketPrintNotify_proto_goTypes,
+ DependencyIndexes: file_LastPacketPrintNotify_proto_depIdxs,
+ MessageInfos: file_LastPacketPrintNotify_proto_msgTypes,
+ }.Build()
+ File_LastPacketPrintNotify_proto = out.File
+ file_LastPacketPrintNotify_proto_rawDesc = nil
+ file_LastPacketPrintNotify_proto_goTypes = nil
+ file_LastPacketPrintNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LaunchFireworksReq.pb.go b/protocol/proto/LaunchFireworksReq.pb.go
new file mode 100644
index 00000000..b41899e4
--- /dev/null
+++ b/protocol/proto/LaunchFireworksReq.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LaunchFireworksReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6090
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LaunchFireworksReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SchemeData *FireworksLaunchSchemeData `protobuf:"bytes,13,opt,name=scheme_data,json=schemeData,proto3" json:"scheme_data,omitempty"`
+}
+
+func (x *LaunchFireworksReq) Reset() {
+ *x = LaunchFireworksReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LaunchFireworksReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LaunchFireworksReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LaunchFireworksReq) ProtoMessage() {}
+
+func (x *LaunchFireworksReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LaunchFireworksReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LaunchFireworksReq.ProtoReflect.Descriptor instead.
+func (*LaunchFireworksReq) Descriptor() ([]byte, []int) {
+ return file_LaunchFireworksReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LaunchFireworksReq) GetSchemeData() *FireworksLaunchSchemeData {
+ if x != nil {
+ return x.SchemeData
+ }
+ return nil
+}
+
+var File_LaunchFireworksReq_proto protoreflect.FileDescriptor
+
+var file_LaunchFireworksReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b,
+ 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1f, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c, 0x61, 0x75, 0x6e,
+ 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x12, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65,
+ 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65,
+ 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x4c,
+ 0x61, 0x75, 0x6e, 0x63, 0x68, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LaunchFireworksReq_proto_rawDescOnce sync.Once
+ file_LaunchFireworksReq_proto_rawDescData = file_LaunchFireworksReq_proto_rawDesc
+)
+
+func file_LaunchFireworksReq_proto_rawDescGZIP() []byte {
+ file_LaunchFireworksReq_proto_rawDescOnce.Do(func() {
+ file_LaunchFireworksReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LaunchFireworksReq_proto_rawDescData)
+ })
+ return file_LaunchFireworksReq_proto_rawDescData
+}
+
+var file_LaunchFireworksReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LaunchFireworksReq_proto_goTypes = []interface{}{
+ (*LaunchFireworksReq)(nil), // 0: proto.LaunchFireworksReq
+ (*FireworksLaunchSchemeData)(nil), // 1: proto.FireworksLaunchSchemeData
+}
+var file_LaunchFireworksReq_proto_depIdxs = []int32{
+ 1, // 0: proto.LaunchFireworksReq.scheme_data:type_name -> proto.FireworksLaunchSchemeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LaunchFireworksReq_proto_init() }
+func file_LaunchFireworksReq_proto_init() {
+ if File_LaunchFireworksReq_proto != nil {
+ return
+ }
+ file_FireworksLaunchSchemeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LaunchFireworksReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LaunchFireworksReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LaunchFireworksReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LaunchFireworksReq_proto_goTypes,
+ DependencyIndexes: file_LaunchFireworksReq_proto_depIdxs,
+ MessageInfos: file_LaunchFireworksReq_proto_msgTypes,
+ }.Build()
+ File_LaunchFireworksReq_proto = out.File
+ file_LaunchFireworksReq_proto_rawDesc = nil
+ file_LaunchFireworksReq_proto_goTypes = nil
+ file_LaunchFireworksReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LaunchFireworksRsp.pb.go b/protocol/proto/LaunchFireworksRsp.pb.go
new file mode 100644
index 00000000..9c115248
--- /dev/null
+++ b/protocol/proto/LaunchFireworksRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LaunchFireworksRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6057
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LaunchFireworksRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *LaunchFireworksRsp) Reset() {
+ *x = LaunchFireworksRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LaunchFireworksRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LaunchFireworksRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LaunchFireworksRsp) ProtoMessage() {}
+
+func (x *LaunchFireworksRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LaunchFireworksRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LaunchFireworksRsp.ProtoReflect.Descriptor instead.
+func (*LaunchFireworksRsp) Descriptor() ([]byte, []int) {
+ return file_LaunchFireworksRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LaunchFireworksRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_LaunchFireworksRsp_proto protoreflect.FileDescriptor
+
+var file_LaunchFireworksRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b,
+ 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2e, 0x0a, 0x12, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, 0x77,
+ 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LaunchFireworksRsp_proto_rawDescOnce sync.Once
+ file_LaunchFireworksRsp_proto_rawDescData = file_LaunchFireworksRsp_proto_rawDesc
+)
+
+func file_LaunchFireworksRsp_proto_rawDescGZIP() []byte {
+ file_LaunchFireworksRsp_proto_rawDescOnce.Do(func() {
+ file_LaunchFireworksRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LaunchFireworksRsp_proto_rawDescData)
+ })
+ return file_LaunchFireworksRsp_proto_rawDescData
+}
+
+var file_LaunchFireworksRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LaunchFireworksRsp_proto_goTypes = []interface{}{
+ (*LaunchFireworksRsp)(nil), // 0: proto.LaunchFireworksRsp
+}
+var file_LaunchFireworksRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LaunchFireworksRsp_proto_init() }
+func file_LaunchFireworksRsp_proto_init() {
+ if File_LaunchFireworksRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LaunchFireworksRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LaunchFireworksRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LaunchFireworksRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LaunchFireworksRsp_proto_goTypes,
+ DependencyIndexes: file_LaunchFireworksRsp_proto_depIdxs,
+ MessageInfos: file_LaunchFireworksRsp_proto_msgTypes,
+ }.Build()
+ File_LaunchFireworksRsp_proto = out.File
+ file_LaunchFireworksRsp_proto_rawDesc = nil
+ file_LaunchFireworksRsp_proto_goTypes = nil
+ file_LaunchFireworksRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LeaveSceneReq.pb.go b/protocol/proto/LeaveSceneReq.pb.go
new file mode 100644
index 00000000..4b349e10
--- /dev/null
+++ b/protocol/proto/LeaveSceneReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LeaveSceneReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 298
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LeaveSceneReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *LeaveSceneReq) Reset() {
+ *x = LeaveSceneReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LeaveSceneReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LeaveSceneReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LeaveSceneReq) ProtoMessage() {}
+
+func (x *LeaveSceneReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LeaveSceneReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LeaveSceneReq.ProtoReflect.Descriptor instead.
+func (*LeaveSceneReq) Descriptor() ([]byte, []int) {
+ return file_LeaveSceneReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_LeaveSceneReq_proto protoreflect.FileDescriptor
+
+var file_LeaveSceneReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d,
+ 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_LeaveSceneReq_proto_rawDescOnce sync.Once
+ file_LeaveSceneReq_proto_rawDescData = file_LeaveSceneReq_proto_rawDesc
+)
+
+func file_LeaveSceneReq_proto_rawDescGZIP() []byte {
+ file_LeaveSceneReq_proto_rawDescOnce.Do(func() {
+ file_LeaveSceneReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LeaveSceneReq_proto_rawDescData)
+ })
+ return file_LeaveSceneReq_proto_rawDescData
+}
+
+var file_LeaveSceneReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LeaveSceneReq_proto_goTypes = []interface{}{
+ (*LeaveSceneReq)(nil), // 0: proto.LeaveSceneReq
+}
+var file_LeaveSceneReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LeaveSceneReq_proto_init() }
+func file_LeaveSceneReq_proto_init() {
+ if File_LeaveSceneReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LeaveSceneReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LeaveSceneReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LeaveSceneReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LeaveSceneReq_proto_goTypes,
+ DependencyIndexes: file_LeaveSceneReq_proto_depIdxs,
+ MessageInfos: file_LeaveSceneReq_proto_msgTypes,
+ }.Build()
+ File_LeaveSceneReq_proto = out.File
+ file_LeaveSceneReq_proto_rawDesc = nil
+ file_LeaveSceneReq_proto_goTypes = nil
+ file_LeaveSceneReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LeaveSceneRsp.pb.go b/protocol/proto/LeaveSceneRsp.pb.go
new file mode 100644
index 00000000..b7f28a08
--- /dev/null
+++ b/protocol/proto/LeaveSceneRsp.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LeaveSceneRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 212
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LeaveSceneRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *LeaveSceneRsp) Reset() {
+ *x = LeaveSceneRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LeaveSceneRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LeaveSceneRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LeaveSceneRsp) ProtoMessage() {}
+
+func (x *LeaveSceneRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LeaveSceneRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LeaveSceneRsp.ProtoReflect.Descriptor instead.
+func (*LeaveSceneRsp) Descriptor() ([]byte, []int) {
+ return file_LeaveSceneRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LeaveSceneRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_LeaveSceneRsp_proto protoreflect.FileDescriptor
+
+var file_LeaveSceneRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x29, 0x0a, 0x0d,
+ 0x4c, 0x65, 0x61, 0x76, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LeaveSceneRsp_proto_rawDescOnce sync.Once
+ file_LeaveSceneRsp_proto_rawDescData = file_LeaveSceneRsp_proto_rawDesc
+)
+
+func file_LeaveSceneRsp_proto_rawDescGZIP() []byte {
+ file_LeaveSceneRsp_proto_rawDescOnce.Do(func() {
+ file_LeaveSceneRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LeaveSceneRsp_proto_rawDescData)
+ })
+ return file_LeaveSceneRsp_proto_rawDescData
+}
+
+var file_LeaveSceneRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LeaveSceneRsp_proto_goTypes = []interface{}{
+ (*LeaveSceneRsp)(nil), // 0: proto.LeaveSceneRsp
+}
+var file_LeaveSceneRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LeaveSceneRsp_proto_init() }
+func file_LeaveSceneRsp_proto_init() {
+ if File_LeaveSceneRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LeaveSceneRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LeaveSceneRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LeaveSceneRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LeaveSceneRsp_proto_goTypes,
+ DependencyIndexes: file_LeaveSceneRsp_proto_depIdxs,
+ MessageInfos: file_LeaveSceneRsp_proto_msgTypes,
+ }.Build()
+ File_LeaveSceneRsp_proto = out.File
+ file_LeaveSceneRsp_proto_rawDesc = nil
+ file_LeaveSceneRsp_proto_goTypes = nil
+ file_LeaveSceneRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LeaveWorldNotify.pb.go b/protocol/proto/LeaveWorldNotify.pb.go
new file mode 100644
index 00000000..bd7fad9f
--- /dev/null
+++ b/protocol/proto/LeaveWorldNotify.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LeaveWorldNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3017
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LeaveWorldNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *LeaveWorldNotify) Reset() {
+ *x = LeaveWorldNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LeaveWorldNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LeaveWorldNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LeaveWorldNotify) ProtoMessage() {}
+
+func (x *LeaveWorldNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LeaveWorldNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LeaveWorldNotify.ProtoReflect.Descriptor instead.
+func (*LeaveWorldNotify) Descriptor() ([]byte, []int) {
+ return file_LeaveWorldNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_LeaveWorldNotify_proto protoreflect.FileDescriptor
+
+var file_LeaveWorldNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x12, 0x0a, 0x10, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LeaveWorldNotify_proto_rawDescOnce sync.Once
+ file_LeaveWorldNotify_proto_rawDescData = file_LeaveWorldNotify_proto_rawDesc
+)
+
+func file_LeaveWorldNotify_proto_rawDescGZIP() []byte {
+ file_LeaveWorldNotify_proto_rawDescOnce.Do(func() {
+ file_LeaveWorldNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LeaveWorldNotify_proto_rawDescData)
+ })
+ return file_LeaveWorldNotify_proto_rawDescData
+}
+
+var file_LeaveWorldNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LeaveWorldNotify_proto_goTypes = []interface{}{
+ (*LeaveWorldNotify)(nil), // 0: proto.LeaveWorldNotify
+}
+var file_LeaveWorldNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LeaveWorldNotify_proto_init() }
+func file_LeaveWorldNotify_proto_init() {
+ if File_LeaveWorldNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LeaveWorldNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LeaveWorldNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LeaveWorldNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LeaveWorldNotify_proto_goTypes,
+ DependencyIndexes: file_LeaveWorldNotify_proto_depIdxs,
+ MessageInfos: file_LeaveWorldNotify_proto_msgTypes,
+ }.Build()
+ File_LeaveWorldNotify_proto = out.File
+ file_LeaveWorldNotify_proto_rawDesc = nil
+ file_LeaveWorldNotify_proto_goTypes = nil
+ file_LeaveWorldNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LevelTagDataNotify.pb.go b/protocol/proto/LevelTagDataNotify.pb.go
new file mode 100644
index 00000000..38b3b663
--- /dev/null
+++ b/protocol/proto/LevelTagDataNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LevelTagDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3314
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LevelTagDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelTagIdList []uint32 `protobuf:"varint,9,rep,packed,name=level_tag_id_list,json=levelTagIdList,proto3" json:"level_tag_id_list,omitempty"`
+}
+
+func (x *LevelTagDataNotify) Reset() {
+ *x = LevelTagDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LevelTagDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LevelTagDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LevelTagDataNotify) ProtoMessage() {}
+
+func (x *LevelTagDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LevelTagDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LevelTagDataNotify.ProtoReflect.Descriptor instead.
+func (*LevelTagDataNotify) Descriptor() ([]byte, []int) {
+ return file_LevelTagDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LevelTagDataNotify) GetLevelTagIdList() []uint32 {
+ if x != nil {
+ return x.LevelTagIdList
+ }
+ return nil
+}
+
+var File_LevelTagDataNotify_proto protoreflect.FileDescriptor
+
+var file_LevelTagDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x3f, 0x0a, 0x12, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a, 0x11, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x61, 0x67, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LevelTagDataNotify_proto_rawDescOnce sync.Once
+ file_LevelTagDataNotify_proto_rawDescData = file_LevelTagDataNotify_proto_rawDesc
+)
+
+func file_LevelTagDataNotify_proto_rawDescGZIP() []byte {
+ file_LevelTagDataNotify_proto_rawDescOnce.Do(func() {
+ file_LevelTagDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LevelTagDataNotify_proto_rawDescData)
+ })
+ return file_LevelTagDataNotify_proto_rawDescData
+}
+
+var file_LevelTagDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LevelTagDataNotify_proto_goTypes = []interface{}{
+ (*LevelTagDataNotify)(nil), // 0: proto.LevelTagDataNotify
+}
+var file_LevelTagDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LevelTagDataNotify_proto_init() }
+func file_LevelTagDataNotify_proto_init() {
+ if File_LevelTagDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LevelTagDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LevelTagDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LevelTagDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LevelTagDataNotify_proto_goTypes,
+ DependencyIndexes: file_LevelTagDataNotify_proto_depIdxs,
+ MessageInfos: file_LevelTagDataNotify_proto_msgTypes,
+ }.Build()
+ File_LevelTagDataNotify_proto = out.File
+ file_LevelTagDataNotify_proto_rawDesc = nil
+ file_LevelTagDataNotify_proto_goTypes = nil
+ file_LevelTagDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LevelupCityReq.pb.go b/protocol/proto/LevelupCityReq.pb.go
new file mode 100644
index 00000000..06a960d1
--- /dev/null
+++ b/protocol/proto/LevelupCityReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LevelupCityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 216
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LevelupCityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,5,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ AreaId uint32 `protobuf:"varint,3,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ ItemNum uint32 `protobuf:"varint,14,opt,name=item_num,json=itemNum,proto3" json:"item_num,omitempty"`
+}
+
+func (x *LevelupCityReq) Reset() {
+ *x = LevelupCityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LevelupCityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LevelupCityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LevelupCityReq) ProtoMessage() {}
+
+func (x *LevelupCityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LevelupCityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LevelupCityReq.ProtoReflect.Descriptor instead.
+func (*LevelupCityReq) Descriptor() ([]byte, []int) {
+ return file_LevelupCityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LevelupCityReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *LevelupCityReq) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LevelupCityReq) GetItemNum() uint32 {
+ if x != nil {
+ return x.ItemNum
+ }
+ return 0
+}
+
+var File_LevelupCityReq_proto protoreflect.FileDescriptor
+
+var file_LevelupCityReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a,
+ 0x0e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72,
+ 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65,
+ 0x61, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_LevelupCityReq_proto_rawDescOnce sync.Once
+ file_LevelupCityReq_proto_rawDescData = file_LevelupCityReq_proto_rawDesc
+)
+
+func file_LevelupCityReq_proto_rawDescGZIP() []byte {
+ file_LevelupCityReq_proto_rawDescOnce.Do(func() {
+ file_LevelupCityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LevelupCityReq_proto_rawDescData)
+ })
+ return file_LevelupCityReq_proto_rawDescData
+}
+
+var file_LevelupCityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LevelupCityReq_proto_goTypes = []interface{}{
+ (*LevelupCityReq)(nil), // 0: proto.LevelupCityReq
+}
+var file_LevelupCityReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LevelupCityReq_proto_init() }
+func file_LevelupCityReq_proto_init() {
+ if File_LevelupCityReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LevelupCityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LevelupCityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LevelupCityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LevelupCityReq_proto_goTypes,
+ DependencyIndexes: file_LevelupCityReq_proto_depIdxs,
+ MessageInfos: file_LevelupCityReq_proto_msgTypes,
+ }.Build()
+ File_LevelupCityReq_proto = out.File
+ file_LevelupCityReq_proto_rawDesc = nil
+ file_LevelupCityReq_proto_goTypes = nil
+ file_LevelupCityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LevelupCityRsp.pb.go b/protocol/proto/LevelupCityRsp.pb.go
new file mode 100644
index 00000000..1793408c
--- /dev/null
+++ b/protocol/proto/LevelupCityRsp.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LevelupCityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 287
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LevelupCityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaId uint32 `protobuf:"varint,9,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SceneId uint32 `protobuf:"varint,4,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ CityInfo *CityInfo `protobuf:"bytes,6,opt,name=city_info,json=cityInfo,proto3" json:"city_info,omitempty"`
+}
+
+func (x *LevelupCityRsp) Reset() {
+ *x = LevelupCityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LevelupCityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LevelupCityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LevelupCityRsp) ProtoMessage() {}
+
+func (x *LevelupCityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LevelupCityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LevelupCityRsp.ProtoReflect.Descriptor instead.
+func (*LevelupCityRsp) Descriptor() ([]byte, []int) {
+ return file_LevelupCityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LevelupCityRsp) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LevelupCityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *LevelupCityRsp) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *LevelupCityRsp) GetCityInfo() *CityInfo {
+ if x != nil {
+ return x.CityInfo
+ }
+ return nil
+}
+
+var File_LevelupCityRsp_proto protoreflect.FileDescriptor
+
+var file_LevelupCityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x43, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x43,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01,
+ 0x0a, 0x0e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x43, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70,
+ 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x2c,
+ 0x0a, 0x09, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x08, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LevelupCityRsp_proto_rawDescOnce sync.Once
+ file_LevelupCityRsp_proto_rawDescData = file_LevelupCityRsp_proto_rawDesc
+)
+
+func file_LevelupCityRsp_proto_rawDescGZIP() []byte {
+ file_LevelupCityRsp_proto_rawDescOnce.Do(func() {
+ file_LevelupCityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LevelupCityRsp_proto_rawDescData)
+ })
+ return file_LevelupCityRsp_proto_rawDescData
+}
+
+var file_LevelupCityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LevelupCityRsp_proto_goTypes = []interface{}{
+ (*LevelupCityRsp)(nil), // 0: proto.LevelupCityRsp
+ (*CityInfo)(nil), // 1: proto.CityInfo
+}
+var file_LevelupCityRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.LevelupCityRsp.city_info:type_name -> proto.CityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LevelupCityRsp_proto_init() }
+func file_LevelupCityRsp_proto_init() {
+ if File_LevelupCityRsp_proto != nil {
+ return
+ }
+ file_CityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LevelupCityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LevelupCityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LevelupCityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LevelupCityRsp_proto_goTypes,
+ DependencyIndexes: file_LevelupCityRsp_proto_depIdxs,
+ MessageInfos: file_LevelupCityRsp_proto_msgTypes,
+ }.Build()
+ File_LevelupCityRsp_proto = out.File
+ file_LevelupCityRsp_proto_rawDesc = nil
+ file_LevelupCityRsp_proto_goTypes = nil
+ file_LevelupCityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LifeStateChangeNotify.pb.go b/protocol/proto/LifeStateChangeNotify.pb.go
new file mode 100644
index 00000000..983c3521
--- /dev/null
+++ b/protocol/proto/LifeStateChangeNotify.pb.go
@@ -0,0 +1,235 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LifeStateChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1298
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LifeStateChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ServerBuffList []*ServerBuff `protobuf:"bytes,6,rep,name=server_buff_list,json=serverBuffList,proto3" json:"server_buff_list,omitempty"`
+ AttackTag string `protobuf:"bytes,7,opt,name=attack_tag,json=attackTag,proto3" json:"attack_tag,omitempty"`
+ MoveReliableSeq uint32 `protobuf:"varint,15,opt,name=move_reliable_seq,json=moveReliableSeq,proto3" json:"move_reliable_seq,omitempty"`
+ DieType PlayerDieType `protobuf:"varint,14,opt,name=die_type,json=dieType,proto3,enum=proto.PlayerDieType" json:"die_type,omitempty"`
+ LifeState uint32 `protobuf:"varint,5,opt,name=life_state,json=lifeState,proto3" json:"life_state,omitempty"`
+ SourceEntityId uint32 `protobuf:"varint,1,opt,name=source_entity_id,json=sourceEntityId,proto3" json:"source_entity_id,omitempty"`
+}
+
+func (x *LifeStateChangeNotify) Reset() {
+ *x = LifeStateChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LifeStateChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LifeStateChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LifeStateChangeNotify) ProtoMessage() {}
+
+func (x *LifeStateChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LifeStateChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LifeStateChangeNotify.ProtoReflect.Descriptor instead.
+func (*LifeStateChangeNotify) Descriptor() ([]byte, []int) {
+ return file_LifeStateChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LifeStateChangeNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *LifeStateChangeNotify) GetServerBuffList() []*ServerBuff {
+ if x != nil {
+ return x.ServerBuffList
+ }
+ return nil
+}
+
+func (x *LifeStateChangeNotify) GetAttackTag() string {
+ if x != nil {
+ return x.AttackTag
+ }
+ return ""
+}
+
+func (x *LifeStateChangeNotify) GetMoveReliableSeq() uint32 {
+ if x != nil {
+ return x.MoveReliableSeq
+ }
+ return 0
+}
+
+func (x *LifeStateChangeNotify) GetDieType() PlayerDieType {
+ if x != nil {
+ return x.DieType
+ }
+ return PlayerDieType_PLAYER_DIE_TYPE_NONE
+}
+
+func (x *LifeStateChangeNotify) GetLifeState() uint32 {
+ if x != nil {
+ return x.LifeState
+ }
+ return 0
+}
+
+func (x *LifeStateChangeNotify) GetSourceEntityId() uint32 {
+ if x != nil {
+ return x.SourceEntityId
+ }
+ return 0
+}
+
+var File_LifeStateChangeNotify_proto protoreflect.FileDescriptor
+
+var file_LifeStateChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4c, 0x69, 0x66, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x42, 0x75, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x02, 0x0a, 0x15,
+ 0x4c, 0x69, 0x66, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66,
+ 0x66, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x52,
+ 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x61, 0x67, 0x12, 0x2a,
+ 0x0a, 0x11, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f,
+ 0x73, 0x65, 0x71, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x6f, 0x76, 0x65, 0x52,
+ 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x71, 0x12, 0x2f, 0x0a, 0x08, 0x64, 0x69,
+ 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x07, 0x64, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6c,
+ 0x69, 0x66, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x6c, 0x69, 0x66, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LifeStateChangeNotify_proto_rawDescOnce sync.Once
+ file_LifeStateChangeNotify_proto_rawDescData = file_LifeStateChangeNotify_proto_rawDesc
+)
+
+func file_LifeStateChangeNotify_proto_rawDescGZIP() []byte {
+ file_LifeStateChangeNotify_proto_rawDescOnce.Do(func() {
+ file_LifeStateChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LifeStateChangeNotify_proto_rawDescData)
+ })
+ return file_LifeStateChangeNotify_proto_rawDescData
+}
+
+var file_LifeStateChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LifeStateChangeNotify_proto_goTypes = []interface{}{
+ (*LifeStateChangeNotify)(nil), // 0: proto.LifeStateChangeNotify
+ (*ServerBuff)(nil), // 1: proto.ServerBuff
+ (PlayerDieType)(0), // 2: proto.PlayerDieType
+}
+var file_LifeStateChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.LifeStateChangeNotify.server_buff_list:type_name -> proto.ServerBuff
+ 2, // 1: proto.LifeStateChangeNotify.die_type:type_name -> proto.PlayerDieType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_LifeStateChangeNotify_proto_init() }
+func file_LifeStateChangeNotify_proto_init() {
+ if File_LifeStateChangeNotify_proto != nil {
+ return
+ }
+ file_PlayerDieType_proto_init()
+ file_ServerBuff_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LifeStateChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LifeStateChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LifeStateChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LifeStateChangeNotify_proto_goTypes,
+ DependencyIndexes: file_LifeStateChangeNotify_proto_depIdxs,
+ MessageInfos: file_LifeStateChangeNotify_proto_msgTypes,
+ }.Build()
+ File_LifeStateChangeNotify_proto = out.File
+ file_LifeStateChangeNotify_proto_rawDesc = nil
+ file_LifeStateChangeNotify_proto_goTypes = nil
+ file_LifeStateChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LikeCustomDungeonReq.pb.go b/protocol/proto/LikeCustomDungeonReq.pb.go
new file mode 100644
index 00000000..4c697a05
--- /dev/null
+++ b/protocol/proto/LikeCustomDungeonReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LikeCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6210
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LikeCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCancelLike bool `protobuf:"varint,5,opt,name=is_cancel_like,json=isCancelLike,proto3" json:"is_cancel_like,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,10,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+}
+
+func (x *LikeCustomDungeonReq) Reset() {
+ *x = LikeCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LikeCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LikeCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LikeCustomDungeonReq) ProtoMessage() {}
+
+func (x *LikeCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LikeCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LikeCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*LikeCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_LikeCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LikeCustomDungeonReq) GetIsCancelLike() bool {
+ if x != nil {
+ return x.IsCancelLike
+ }
+ return false
+}
+
+func (x *LikeCustomDungeonReq) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+var File_LikeCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_LikeCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x14, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x69,
+ 0x73, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x69, 0x6b,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LikeCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_LikeCustomDungeonReq_proto_rawDescData = file_LikeCustomDungeonReq_proto_rawDesc
+)
+
+func file_LikeCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_LikeCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_LikeCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LikeCustomDungeonReq_proto_rawDescData)
+ })
+ return file_LikeCustomDungeonReq_proto_rawDescData
+}
+
+var file_LikeCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LikeCustomDungeonReq_proto_goTypes = []interface{}{
+ (*LikeCustomDungeonReq)(nil), // 0: proto.LikeCustomDungeonReq
+}
+var file_LikeCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LikeCustomDungeonReq_proto_init() }
+func file_LikeCustomDungeonReq_proto_init() {
+ if File_LikeCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LikeCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LikeCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LikeCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LikeCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_LikeCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_LikeCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_LikeCustomDungeonReq_proto = out.File
+ file_LikeCustomDungeonReq_proto_rawDesc = nil
+ file_LikeCustomDungeonReq_proto_goTypes = nil
+ file_LikeCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LikeCustomDungeonRsp.pb.go b/protocol/proto/LikeCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..67c0b1ce
--- /dev/null
+++ b/protocol/proto/LikeCustomDungeonRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LikeCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6219
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LikeCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *LikeCustomDungeonRsp) Reset() {
+ *x = LikeCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LikeCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LikeCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LikeCustomDungeonRsp) ProtoMessage() {}
+
+func (x *LikeCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LikeCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LikeCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*LikeCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_LikeCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LikeCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_LikeCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_LikeCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x14, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LikeCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_LikeCustomDungeonRsp_proto_rawDescData = file_LikeCustomDungeonRsp_proto_rawDesc
+)
+
+func file_LikeCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_LikeCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_LikeCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LikeCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_LikeCustomDungeonRsp_proto_rawDescData
+}
+
+var file_LikeCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LikeCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*LikeCustomDungeonRsp)(nil), // 0: proto.LikeCustomDungeonRsp
+}
+var file_LikeCustomDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LikeCustomDungeonRsp_proto_init() }
+func file_LikeCustomDungeonRsp_proto_init() {
+ if File_LikeCustomDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LikeCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LikeCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LikeCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LikeCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_LikeCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_LikeCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_LikeCustomDungeonRsp_proto = out.File
+ file_LikeCustomDungeonRsp_proto_rawDesc = nil
+ file_LikeCustomDungeonRsp_proto_goTypes = nil
+ file_LikeCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LiveEndNotify.pb.go b/protocol/proto/LiveEndNotify.pb.go
new file mode 100644
index 00000000..98b3ee07
--- /dev/null
+++ b/protocol/proto/LiveEndNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LiveEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 806
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LiveEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LiveId uint32 `protobuf:"varint,5,opt,name=live_id,json=liveId,proto3" json:"live_id,omitempty"`
+}
+
+func (x *LiveEndNotify) Reset() {
+ *x = LiveEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LiveEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LiveEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LiveEndNotify) ProtoMessage() {}
+
+func (x *LiveEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LiveEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LiveEndNotify.ProtoReflect.Descriptor instead.
+func (*LiveEndNotify) Descriptor() ([]byte, []int) {
+ return file_LiveEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LiveEndNotify) GetLiveId() uint32 {
+ if x != nil {
+ return x.LiveId
+ }
+ return 0
+}
+
+var File_LiveEndNotify_proto protoreflect.FileDescriptor
+
+var file_LiveEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x4c, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x28, 0x0a, 0x0d,
+ 0x4c, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a,
+ 0x07, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x6c, 0x69, 0x76, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LiveEndNotify_proto_rawDescOnce sync.Once
+ file_LiveEndNotify_proto_rawDescData = file_LiveEndNotify_proto_rawDesc
+)
+
+func file_LiveEndNotify_proto_rawDescGZIP() []byte {
+ file_LiveEndNotify_proto_rawDescOnce.Do(func() {
+ file_LiveEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LiveEndNotify_proto_rawDescData)
+ })
+ return file_LiveEndNotify_proto_rawDescData
+}
+
+var file_LiveEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LiveEndNotify_proto_goTypes = []interface{}{
+ (*LiveEndNotify)(nil), // 0: proto.LiveEndNotify
+}
+var file_LiveEndNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LiveEndNotify_proto_init() }
+func file_LiveEndNotify_proto_init() {
+ if File_LiveEndNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LiveEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LiveEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LiveEndNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LiveEndNotify_proto_goTypes,
+ DependencyIndexes: file_LiveEndNotify_proto_depIdxs,
+ MessageInfos: file_LiveEndNotify_proto_msgTypes,
+ }.Build()
+ File_LiveEndNotify_proto = out.File
+ file_LiveEndNotify_proto_rawDesc = nil
+ file_LiveEndNotify_proto_goTypes = nil
+ file_LiveEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LiveStartNotify.pb.go b/protocol/proto/LiveStartNotify.pb.go
new file mode 100644
index 00000000..233321de
--- /dev/null
+++ b/protocol/proto/LiveStartNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LiveStartNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 826
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LiveStartNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LiveId uint32 `protobuf:"varint,2,opt,name=live_id,json=liveId,proto3" json:"live_id,omitempty"`
+}
+
+func (x *LiveStartNotify) Reset() {
+ *x = LiveStartNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LiveStartNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LiveStartNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LiveStartNotify) ProtoMessage() {}
+
+func (x *LiveStartNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LiveStartNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LiveStartNotify.ProtoReflect.Descriptor instead.
+func (*LiveStartNotify) Descriptor() ([]byte, []int) {
+ return file_LiveStartNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LiveStartNotify) GetLiveId() uint32 {
+ if x != nil {
+ return x.LiveId
+ }
+ return 0
+}
+
+var File_LiveStartNotify_proto protoreflect.FileDescriptor
+
+var file_LiveStartNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a,
+ 0x0a, 0x0f, 0x4c, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LiveStartNotify_proto_rawDescOnce sync.Once
+ file_LiveStartNotify_proto_rawDescData = file_LiveStartNotify_proto_rawDesc
+)
+
+func file_LiveStartNotify_proto_rawDescGZIP() []byte {
+ file_LiveStartNotify_proto_rawDescOnce.Do(func() {
+ file_LiveStartNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LiveStartNotify_proto_rawDescData)
+ })
+ return file_LiveStartNotify_proto_rawDescData
+}
+
+var file_LiveStartNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LiveStartNotify_proto_goTypes = []interface{}{
+ (*LiveStartNotify)(nil), // 0: proto.LiveStartNotify
+}
+var file_LiveStartNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LiveStartNotify_proto_init() }
+func file_LiveStartNotify_proto_init() {
+ if File_LiveStartNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LiveStartNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LiveStartNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LiveStartNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LiveStartNotify_proto_goTypes,
+ DependencyIndexes: file_LiveStartNotify_proto_depIdxs,
+ MessageInfos: file_LiveStartNotify_proto_msgTypes,
+ }.Build()
+ File_LiveStartNotify_proto = out.File
+ file_LiveStartNotify_proto_rawDesc = nil
+ file_LiveStartNotify_proto_goTypes = nil
+ file_LiveStartNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LoadActivityTerrainNotify.pb.go b/protocol/proto/LoadActivityTerrainNotify.pb.go
new file mode 100644
index 00000000..97b2b936
--- /dev/null
+++ b/protocol/proto/LoadActivityTerrainNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LoadActivityTerrainNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2029
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LoadActivityTerrainNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,3,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *LoadActivityTerrainNotify) Reset() {
+ *x = LoadActivityTerrainNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LoadActivityTerrainNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LoadActivityTerrainNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LoadActivityTerrainNotify) ProtoMessage() {}
+
+func (x *LoadActivityTerrainNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LoadActivityTerrainNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LoadActivityTerrainNotify.ProtoReflect.Descriptor instead.
+func (*LoadActivityTerrainNotify) Descriptor() ([]byte, []int) {
+ return file_LoadActivityTerrainNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LoadActivityTerrainNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_LoadActivityTerrainNotify_proto protoreflect.FileDescriptor
+
+var file_LoadActivityTerrainNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4c, 0x6f, 0x61, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65,
+ 0x72, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x19, 0x4c, 0x6f, 0x61, 0x64,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x65, 0x72, 0x72, 0x61, 0x69, 0x6e, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LoadActivityTerrainNotify_proto_rawDescOnce sync.Once
+ file_LoadActivityTerrainNotify_proto_rawDescData = file_LoadActivityTerrainNotify_proto_rawDesc
+)
+
+func file_LoadActivityTerrainNotify_proto_rawDescGZIP() []byte {
+ file_LoadActivityTerrainNotify_proto_rawDescOnce.Do(func() {
+ file_LoadActivityTerrainNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LoadActivityTerrainNotify_proto_rawDescData)
+ })
+ return file_LoadActivityTerrainNotify_proto_rawDescData
+}
+
+var file_LoadActivityTerrainNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LoadActivityTerrainNotify_proto_goTypes = []interface{}{
+ (*LoadActivityTerrainNotify)(nil), // 0: proto.LoadActivityTerrainNotify
+}
+var file_LoadActivityTerrainNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LoadActivityTerrainNotify_proto_init() }
+func file_LoadActivityTerrainNotify_proto_init() {
+ if File_LoadActivityTerrainNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LoadActivityTerrainNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoadActivityTerrainNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LoadActivityTerrainNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LoadActivityTerrainNotify_proto_goTypes,
+ DependencyIndexes: file_LoadActivityTerrainNotify_proto_depIdxs,
+ MessageInfos: file_LoadActivityTerrainNotify_proto_msgTypes,
+ }.Build()
+ File_LoadActivityTerrainNotify_proto = out.File
+ file_LoadActivityTerrainNotify_proto_rawDesc = nil
+ file_LoadActivityTerrainNotify_proto_goTypes = nil
+ file_LoadActivityTerrainNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LockedPersonallineData.pb.go b/protocol/proto/LockedPersonallineData.pb.go
new file mode 100644
index 00000000..e7d3cff4
--- /dev/null
+++ b/protocol/proto/LockedPersonallineData.pb.go
@@ -0,0 +1,277 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LockedPersonallineData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LockedPersonallineData_LockReason int32
+
+const (
+ LockedPersonallineData_LOCK_REASON_LEVEL LockedPersonallineData_LockReason = 0
+ LockedPersonallineData_LOCK_REASON_QUEST LockedPersonallineData_LockReason = 1
+)
+
+// Enum value maps for LockedPersonallineData_LockReason.
+var (
+ LockedPersonallineData_LockReason_name = map[int32]string{
+ 0: "LOCK_REASON_LEVEL",
+ 1: "LOCK_REASON_QUEST",
+ }
+ LockedPersonallineData_LockReason_value = map[string]int32{
+ "LOCK_REASON_LEVEL": 0,
+ "LOCK_REASON_QUEST": 1,
+ }
+)
+
+func (x LockedPersonallineData_LockReason) Enum() *LockedPersonallineData_LockReason {
+ p := new(LockedPersonallineData_LockReason)
+ *p = x
+ return p
+}
+
+func (x LockedPersonallineData_LockReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LockedPersonallineData_LockReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_LockedPersonallineData_proto_enumTypes[0].Descriptor()
+}
+
+func (LockedPersonallineData_LockReason) Type() protoreflect.EnumType {
+ return &file_LockedPersonallineData_proto_enumTypes[0]
+}
+
+func (x LockedPersonallineData_LockReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use LockedPersonallineData_LockReason.Descriptor instead.
+func (LockedPersonallineData_LockReason) EnumDescriptor() ([]byte, []int) {
+ return file_LockedPersonallineData_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type LockedPersonallineData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LockReason LockedPersonallineData_LockReason `protobuf:"varint,2,opt,name=lock_reason,json=lockReason,proto3,enum=proto.LockedPersonallineData_LockReason" json:"lock_reason,omitempty"`
+ PersonalLineId uint32 `protobuf:"varint,13,opt,name=personal_line_id,json=personalLineId,proto3" json:"personal_line_id,omitempty"`
+ // Types that are assignable to Param:
+ //
+ // *LockedPersonallineData_ChapterId
+ // *LockedPersonallineData_Level
+ Param isLockedPersonallineData_Param `protobuf_oneof:"param"`
+}
+
+func (x *LockedPersonallineData) Reset() {
+ *x = LockedPersonallineData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LockedPersonallineData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LockedPersonallineData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LockedPersonallineData) ProtoMessage() {}
+
+func (x *LockedPersonallineData) ProtoReflect() protoreflect.Message {
+ mi := &file_LockedPersonallineData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LockedPersonallineData.ProtoReflect.Descriptor instead.
+func (*LockedPersonallineData) Descriptor() ([]byte, []int) {
+ return file_LockedPersonallineData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LockedPersonallineData) GetLockReason() LockedPersonallineData_LockReason {
+ if x != nil {
+ return x.LockReason
+ }
+ return LockedPersonallineData_LOCK_REASON_LEVEL
+}
+
+func (x *LockedPersonallineData) GetPersonalLineId() uint32 {
+ if x != nil {
+ return x.PersonalLineId
+ }
+ return 0
+}
+
+func (m *LockedPersonallineData) GetParam() isLockedPersonallineData_Param {
+ if m != nil {
+ return m.Param
+ }
+ return nil
+}
+
+func (x *LockedPersonallineData) GetChapterId() uint32 {
+ if x, ok := x.GetParam().(*LockedPersonallineData_ChapterId); ok {
+ return x.ChapterId
+ }
+ return 0
+}
+
+func (x *LockedPersonallineData) GetLevel() uint32 {
+ if x, ok := x.GetParam().(*LockedPersonallineData_Level); ok {
+ return x.Level
+ }
+ return 0
+}
+
+type isLockedPersonallineData_Param interface {
+ isLockedPersonallineData_Param()
+}
+
+type LockedPersonallineData_ChapterId struct {
+ ChapterId uint32 `protobuf:"varint,3,opt,name=chapter_id,json=chapterId,proto3,oneof"`
+}
+
+type LockedPersonallineData_Level struct {
+ Level uint32 `protobuf:"varint,1,opt,name=level,proto3,oneof"`
+}
+
+func (*LockedPersonallineData_ChapterId) isLockedPersonallineData_Param() {}
+
+func (*LockedPersonallineData_Level) isLockedPersonallineData_Param() {}
+
+var File_LockedPersonallineData_proto protoreflect.FileDescriptor
+
+var file_LockedPersonallineData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x16, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
+ 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x49, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f,
+ 0x63, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52,
+ 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x70,
+ 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c,
+ 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61,
+ 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x3a,
+ 0x0a, 0x0a, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x11,
+ 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45,
+ 0x4c, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LockedPersonallineData_proto_rawDescOnce sync.Once
+ file_LockedPersonallineData_proto_rawDescData = file_LockedPersonallineData_proto_rawDesc
+)
+
+func file_LockedPersonallineData_proto_rawDescGZIP() []byte {
+ file_LockedPersonallineData_proto_rawDescOnce.Do(func() {
+ file_LockedPersonallineData_proto_rawDescData = protoimpl.X.CompressGZIP(file_LockedPersonallineData_proto_rawDescData)
+ })
+ return file_LockedPersonallineData_proto_rawDescData
+}
+
+var file_LockedPersonallineData_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_LockedPersonallineData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LockedPersonallineData_proto_goTypes = []interface{}{
+ (LockedPersonallineData_LockReason)(0), // 0: proto.LockedPersonallineData.LockReason
+ (*LockedPersonallineData)(nil), // 1: proto.LockedPersonallineData
+}
+var file_LockedPersonallineData_proto_depIdxs = []int32{
+ 0, // 0: proto.LockedPersonallineData.lock_reason:type_name -> proto.LockedPersonallineData.LockReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LockedPersonallineData_proto_init() }
+func file_LockedPersonallineData_proto_init() {
+ if File_LockedPersonallineData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LockedPersonallineData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LockedPersonallineData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_LockedPersonallineData_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*LockedPersonallineData_ChapterId)(nil),
+ (*LockedPersonallineData_Level)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LockedPersonallineData_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LockedPersonallineData_proto_goTypes,
+ DependencyIndexes: file_LockedPersonallineData_proto_depIdxs,
+ EnumInfos: file_LockedPersonallineData_proto_enumTypes,
+ MessageInfos: file_LockedPersonallineData_proto_msgTypes,
+ }.Build()
+ File_LockedPersonallineData_proto = out.File
+ file_LockedPersonallineData_proto_rawDesc = nil
+ file_LockedPersonallineData_proto_goTypes = nil
+ file_LockedPersonallineData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LuaEnvironmentEffectNotify.pb.go b/protocol/proto/LuaEnvironmentEffectNotify.pb.go
new file mode 100644
index 00000000..976e0aee
--- /dev/null
+++ b/protocol/proto/LuaEnvironmentEffectNotify.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LuaEnvironmentEffectNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3408
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LuaEnvironmentEffectNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
+ IntParamList []int32 `protobuf:"varint,12,rep,packed,name=int_param_list,json=intParamList,proto3" json:"int_param_list,omitempty"`
+ EffectAlias string `protobuf:"bytes,3,opt,name=effect_alias,json=effectAlias,proto3" json:"effect_alias,omitempty"`
+ FloatParamList []float32 `protobuf:"fixed32,14,rep,packed,name=float_param_list,json=floatParamList,proto3" json:"float_param_list,omitempty"`
+}
+
+func (x *LuaEnvironmentEffectNotify) Reset() {
+ *x = LuaEnvironmentEffectNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LuaEnvironmentEffectNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LuaEnvironmentEffectNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LuaEnvironmentEffectNotify) ProtoMessage() {}
+
+func (x *LuaEnvironmentEffectNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LuaEnvironmentEffectNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LuaEnvironmentEffectNotify.ProtoReflect.Descriptor instead.
+func (*LuaEnvironmentEffectNotify) Descriptor() ([]byte, []int) {
+ return file_LuaEnvironmentEffectNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LuaEnvironmentEffectNotify) GetType() uint32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+func (x *LuaEnvironmentEffectNotify) GetIntParamList() []int32 {
+ if x != nil {
+ return x.IntParamList
+ }
+ return nil
+}
+
+func (x *LuaEnvironmentEffectNotify) GetEffectAlias() string {
+ if x != nil {
+ return x.EffectAlias
+ }
+ return ""
+}
+
+func (x *LuaEnvironmentEffectNotify) GetFloatParamList() []float32 {
+ if x != nil {
+ return x.FloatParamList
+ }
+ return nil
+}
+
+var File_LuaEnvironmentEffectNotify_proto protoreflect.FileDescriptor
+
+var file_LuaEnvironmentEffectNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x4c, 0x75, 0x61, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+ 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x01, 0x0a, 0x1a, 0x4c, 0x75,
+ 0x61, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x66, 0x66, 0x65,
+ 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e,
+ 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c,
+ 0x20, 0x03, 0x28, 0x05, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x69,
+ 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x02, 0x52,
+ 0x0e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LuaEnvironmentEffectNotify_proto_rawDescOnce sync.Once
+ file_LuaEnvironmentEffectNotify_proto_rawDescData = file_LuaEnvironmentEffectNotify_proto_rawDesc
+)
+
+func file_LuaEnvironmentEffectNotify_proto_rawDescGZIP() []byte {
+ file_LuaEnvironmentEffectNotify_proto_rawDescOnce.Do(func() {
+ file_LuaEnvironmentEffectNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LuaEnvironmentEffectNotify_proto_rawDescData)
+ })
+ return file_LuaEnvironmentEffectNotify_proto_rawDescData
+}
+
+var file_LuaEnvironmentEffectNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LuaEnvironmentEffectNotify_proto_goTypes = []interface{}{
+ (*LuaEnvironmentEffectNotify)(nil), // 0: proto.LuaEnvironmentEffectNotify
+}
+var file_LuaEnvironmentEffectNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LuaEnvironmentEffectNotify_proto_init() }
+func file_LuaEnvironmentEffectNotify_proto_init() {
+ if File_LuaEnvironmentEffectNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LuaEnvironmentEffectNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LuaEnvironmentEffectNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LuaEnvironmentEffectNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LuaEnvironmentEffectNotify_proto_goTypes,
+ DependencyIndexes: file_LuaEnvironmentEffectNotify_proto_depIdxs,
+ MessageInfos: file_LuaEnvironmentEffectNotify_proto_msgTypes,
+ }.Build()
+ File_LuaEnvironmentEffectNotify_proto = out.File
+ file_LuaEnvironmentEffectNotify_proto_rawDesc = nil
+ file_LuaEnvironmentEffectNotify_proto_goTypes = nil
+ file_LuaEnvironmentEffectNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LuaSetOptionNotify.pb.go b/protocol/proto/LuaSetOptionNotify.pb.go
new file mode 100644
index 00000000..9b4a4eff
--- /dev/null
+++ b/protocol/proto/LuaSetOptionNotify.pb.go
@@ -0,0 +1,230 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LuaSetOptionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LuaSetOptionNotify_LuaOptionType int32
+
+const (
+ LuaSetOptionNotify_LUA_OPTION_TYPE_NONE LuaSetOptionNotify_LuaOptionType = 0
+ LuaSetOptionNotify_LUA_OPTION_TYPE_PLAYER_INPUT LuaSetOptionNotify_LuaOptionType = 1
+)
+
+// Enum value maps for LuaSetOptionNotify_LuaOptionType.
+var (
+ LuaSetOptionNotify_LuaOptionType_name = map[int32]string{
+ 0: "LUA_OPTION_TYPE_NONE",
+ 1: "LUA_OPTION_TYPE_PLAYER_INPUT",
+ }
+ LuaSetOptionNotify_LuaOptionType_value = map[string]int32{
+ "LUA_OPTION_TYPE_NONE": 0,
+ "LUA_OPTION_TYPE_PLAYER_INPUT": 1,
+ }
+)
+
+func (x LuaSetOptionNotify_LuaOptionType) Enum() *LuaSetOptionNotify_LuaOptionType {
+ p := new(LuaSetOptionNotify_LuaOptionType)
+ *p = x
+ return p
+}
+
+func (x LuaSetOptionNotify_LuaOptionType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LuaSetOptionNotify_LuaOptionType) Descriptor() protoreflect.EnumDescriptor {
+ return file_LuaSetOptionNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (LuaSetOptionNotify_LuaOptionType) Type() protoreflect.EnumType {
+ return &file_LuaSetOptionNotify_proto_enumTypes[0]
+}
+
+func (x LuaSetOptionNotify_LuaOptionType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use LuaSetOptionNotify_LuaOptionType.Descriptor instead.
+func (LuaSetOptionNotify_LuaOptionType) EnumDescriptor() ([]byte, []int) {
+ return file_LuaSetOptionNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 316
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LuaSetOptionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LuaSetParam string `protobuf:"bytes,8,opt,name=lua_set_param,json=luaSetParam,proto3" json:"lua_set_param,omitempty"`
+ OptionType LuaSetOptionNotify_LuaOptionType `protobuf:"varint,10,opt,name=option_type,json=optionType,proto3,enum=proto.LuaSetOptionNotify_LuaOptionType" json:"option_type,omitempty"`
+}
+
+func (x *LuaSetOptionNotify) Reset() {
+ *x = LuaSetOptionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LuaSetOptionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LuaSetOptionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LuaSetOptionNotify) ProtoMessage() {}
+
+func (x *LuaSetOptionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LuaSetOptionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LuaSetOptionNotify.ProtoReflect.Descriptor instead.
+func (*LuaSetOptionNotify) Descriptor() ([]byte, []int) {
+ return file_LuaSetOptionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LuaSetOptionNotify) GetLuaSetParam() string {
+ if x != nil {
+ return x.LuaSetParam
+ }
+ return ""
+}
+
+func (x *LuaSetOptionNotify) GetOptionType() LuaSetOptionNotify_LuaOptionType {
+ if x != nil {
+ return x.OptionType
+ }
+ return LuaSetOptionNotify_LUA_OPTION_TYPE_NONE
+}
+
+var File_LuaSetOptionNotify_proto protoreflect.FileDescriptor
+
+var file_LuaSetOptionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4c, 0x75, 0x61, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x12, 0x4c, 0x75, 0x61, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x75, 0x61, 0x5f,
+ 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x6c, 0x75, 0x61, 0x53, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x48, 0x0a, 0x0b,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x61, 0x53, 0x65, 0x74,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x4c, 0x75, 0x61,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x0d, 0x4c, 0x75, 0x61, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x55, 0x41, 0x5f, 0x4f,
+ 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x55, 0x41, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x50, 0x55,
+ 0x54, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LuaSetOptionNotify_proto_rawDescOnce sync.Once
+ file_LuaSetOptionNotify_proto_rawDescData = file_LuaSetOptionNotify_proto_rawDesc
+)
+
+func file_LuaSetOptionNotify_proto_rawDescGZIP() []byte {
+ file_LuaSetOptionNotify_proto_rawDescOnce.Do(func() {
+ file_LuaSetOptionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LuaSetOptionNotify_proto_rawDescData)
+ })
+ return file_LuaSetOptionNotify_proto_rawDescData
+}
+
+var file_LuaSetOptionNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_LuaSetOptionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LuaSetOptionNotify_proto_goTypes = []interface{}{
+ (LuaSetOptionNotify_LuaOptionType)(0), // 0: proto.LuaSetOptionNotify.LuaOptionType
+ (*LuaSetOptionNotify)(nil), // 1: proto.LuaSetOptionNotify
+}
+var file_LuaSetOptionNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.LuaSetOptionNotify.option_type:type_name -> proto.LuaSetOptionNotify.LuaOptionType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LuaSetOptionNotify_proto_init() }
+func file_LuaSetOptionNotify_proto_init() {
+ if File_LuaSetOptionNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LuaSetOptionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LuaSetOptionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LuaSetOptionNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LuaSetOptionNotify_proto_goTypes,
+ DependencyIndexes: file_LuaSetOptionNotify_proto_depIdxs,
+ EnumInfos: file_LuaSetOptionNotify_proto_enumTypes,
+ MessageInfos: file_LuaSetOptionNotify_proto_msgTypes,
+ }.Build()
+ File_LuaSetOptionNotify_proto = out.File
+ file_LuaSetOptionNotify_proto_rawDesc = nil
+ file_LuaSetOptionNotify_proto_goTypes = nil
+ file_LuaSetOptionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LuaShellType.pb.go b/protocol/proto/LuaShellType.pb.go
new file mode 100644
index 00000000..7fe343d9
--- /dev/null
+++ b/protocol/proto/LuaShellType.pb.go
@@ -0,0 +1,157 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LuaShellType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LuaShellType int32
+
+const (
+ LuaShellType_LUA_SHELL_TYPE_LUASHELL_NONE LuaShellType = 0
+ LuaShellType_LUA_SHELL_TYPE_LUASHELL_NORMAL LuaShellType = 1
+ LuaShellType_LUA_SHELL_TYPE_LUASHELL_SECURITY LuaShellType = 2
+ LuaShellType_LUA_SHELL_TYPE_LUASHELL_SHELL_CODE LuaShellType = 3
+)
+
+// Enum value maps for LuaShellType.
+var (
+ LuaShellType_name = map[int32]string{
+ 0: "LUA_SHELL_TYPE_LUASHELL_NONE",
+ 1: "LUA_SHELL_TYPE_LUASHELL_NORMAL",
+ 2: "LUA_SHELL_TYPE_LUASHELL_SECURITY",
+ 3: "LUA_SHELL_TYPE_LUASHELL_SHELL_CODE",
+ }
+ LuaShellType_value = map[string]int32{
+ "LUA_SHELL_TYPE_LUASHELL_NONE": 0,
+ "LUA_SHELL_TYPE_LUASHELL_NORMAL": 1,
+ "LUA_SHELL_TYPE_LUASHELL_SECURITY": 2,
+ "LUA_SHELL_TYPE_LUASHELL_SHELL_CODE": 3,
+ }
+)
+
+func (x LuaShellType) Enum() *LuaShellType {
+ p := new(LuaShellType)
+ *p = x
+ return p
+}
+
+func (x LuaShellType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LuaShellType) Descriptor() protoreflect.EnumDescriptor {
+ return file_LuaShellType_proto_enumTypes[0].Descriptor()
+}
+
+func (LuaShellType) Type() protoreflect.EnumType {
+ return &file_LuaShellType_proto_enumTypes[0]
+}
+
+func (x LuaShellType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use LuaShellType.Descriptor instead.
+func (LuaShellType) EnumDescriptor() ([]byte, []int) {
+ return file_LuaShellType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_LuaShellType_proto protoreflect.FileDescriptor
+
+var file_LuaShellType_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x4c, 0x75, 0x61, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xa2, 0x01, 0x0a, 0x0c,
+ 0x4c, 0x75, 0x61, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c,
+ 0x4c, 0x55, 0x41, 0x5f, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c,
+ 0x55, 0x41, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x22,
+ 0x0a, 0x1e, 0x4c, 0x55, 0x41, 0x5f, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4c, 0x55, 0x41, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c,
+ 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x55, 0x41, 0x5f, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x55, 0x41, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x5f, 0x53, 0x45,
+ 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x4c, 0x55, 0x41, 0x5f,
+ 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x55, 0x41, 0x53, 0x48,
+ 0x45, 0x4c, 0x4c, 0x5f, 0x53, 0x48, 0x45, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x03,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LuaShellType_proto_rawDescOnce sync.Once
+ file_LuaShellType_proto_rawDescData = file_LuaShellType_proto_rawDesc
+)
+
+func file_LuaShellType_proto_rawDescGZIP() []byte {
+ file_LuaShellType_proto_rawDescOnce.Do(func() {
+ file_LuaShellType_proto_rawDescData = protoimpl.X.CompressGZIP(file_LuaShellType_proto_rawDescData)
+ })
+ return file_LuaShellType_proto_rawDescData
+}
+
+var file_LuaShellType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_LuaShellType_proto_goTypes = []interface{}{
+ (LuaShellType)(0), // 0: proto.LuaShellType
+}
+var file_LuaShellType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LuaShellType_proto_init() }
+func file_LuaShellType_proto_init() {
+ if File_LuaShellType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LuaShellType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LuaShellType_proto_goTypes,
+ DependencyIndexes: file_LuaShellType_proto_depIdxs,
+ EnumInfos: file_LuaShellType_proto_enumTypes,
+ }.Build()
+ File_LuaShellType_proto = out.File
+ file_LuaShellType_proto_rawDesc = nil
+ file_LuaShellType_proto_goTypes = nil
+ file_LuaShellType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LuminanceStoneChallengeActivityDetailInfo.pb.go b/protocol/proto/LuminanceStoneChallengeActivityDetailInfo.pb.go
new file mode 100644
index 00000000..bae4c859
--- /dev/null
+++ b/protocol/proto/LuminanceStoneChallengeActivityDetailInfo.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LuminanceStoneChallengeActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LuminanceStoneChallengeActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BestScore uint32 `protobuf:"varint,11,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+ IsContentClosed bool `protobuf:"varint,6,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ IsFinalGalleryComplete bool `protobuf:"varint,12,opt,name=is_final_gallery_complete,json=isFinalGalleryComplete,proto3" json:"is_final_gallery_complete,omitempty"`
+ CurrentStageId uint32 `protobuf:"varint,15,opt,name=current_stage_id,json=currentStageId,proto3" json:"current_stage_id,omitempty"`
+}
+
+func (x *LuminanceStoneChallengeActivityDetailInfo) Reset() {
+ *x = LuminanceStoneChallengeActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LuminanceStoneChallengeActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LuminanceStoneChallengeActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LuminanceStoneChallengeActivityDetailInfo) ProtoMessage() {}
+
+func (x *LuminanceStoneChallengeActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LuminanceStoneChallengeActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LuminanceStoneChallengeActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*LuminanceStoneChallengeActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LuminanceStoneChallengeActivityDetailInfo) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+func (x *LuminanceStoneChallengeActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *LuminanceStoneChallengeActivityDetailInfo) GetIsFinalGalleryComplete() bool {
+ if x != nil {
+ return x.IsFinalGalleryComplete
+ }
+ return false
+}
+
+func (x *LuminanceStoneChallengeActivityDetailInfo) GetCurrentStageId() uint32 {
+ if x != nil {
+ return x.CurrentStageId
+ }
+ return 0
+}
+
+var File_LuminanceStoneChallengeActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x2f, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x29, 0x4c, 0x75, 0x6d,
+ 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73, 0x74,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65,
+ 0x64, 0x12, 0x39, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10,
+ 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDescData = file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDesc
+)
+
+func file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDescData)
+ })
+ return file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDescData
+}
+
+var file_LuminanceStoneChallengeActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LuminanceStoneChallengeActivityDetailInfo_proto_goTypes = []interface{}{
+ (*LuminanceStoneChallengeActivityDetailInfo)(nil), // 0: proto.LuminanceStoneChallengeActivityDetailInfo
+}
+var file_LuminanceStoneChallengeActivityDetailInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LuminanceStoneChallengeActivityDetailInfo_proto_init() }
+func file_LuminanceStoneChallengeActivityDetailInfo_proto_init() {
+ if File_LuminanceStoneChallengeActivityDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LuminanceStoneChallengeActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LuminanceStoneChallengeActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_LuminanceStoneChallengeActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_LuminanceStoneChallengeActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_LuminanceStoneChallengeActivityDetailInfo_proto = out.File
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_rawDesc = nil
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_goTypes = nil
+ file_LuminanceStoneChallengeActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LuminanceStoneChallengeGallerySettleInfo.pb.go b/protocol/proto/LuminanceStoneChallengeGallerySettleInfo.pb.go
new file mode 100644
index 00000000..30335308
--- /dev/null
+++ b/protocol/proto/LuminanceStoneChallengeGallerySettleInfo.pb.go
@@ -0,0 +1,221 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LuminanceStoneChallengeGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LuminanceStoneChallengeGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ KillMonsterCount uint32 `protobuf:"varint,12,opt,name=kill_monster_count,json=killMonsterCount,proto3" json:"kill_monster_count,omitempty"`
+ KillSpecialMonsterCount uint32 `protobuf:"varint,8,opt,name=kill_special_monster_count,json=killSpecialMonsterCount,proto3" json:"kill_special_monster_count,omitempty"`
+ CleanMudCount uint32 `protobuf:"varint,10,opt,name=clean_mud_count,json=cleanMudCount,proto3" json:"clean_mud_count,omitempty"`
+ GalleryId uint32 `protobuf:"varint,2,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,11,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ FinalScore uint32 `protobuf:"varint,13,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) Reset() {
+ *x = LuminanceStoneChallengeGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LuminanceStoneChallengeGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LuminanceStoneChallengeGallerySettleInfo) ProtoMessage() {}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LuminanceStoneChallengeGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LuminanceStoneChallengeGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*LuminanceStoneChallengeGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) GetKillMonsterCount() uint32 {
+ if x != nil {
+ return x.KillMonsterCount
+ }
+ return 0
+}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) GetKillSpecialMonsterCount() uint32 {
+ if x != nil {
+ return x.KillSpecialMonsterCount
+ }
+ return 0
+}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) GetCleanMudCount() uint32 {
+ if x != nil {
+ return x.CleanMudCount
+ }
+ return 0
+}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *LuminanceStoneChallengeGallerySettleInfo) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+var File_LuminanceStoneChallengeGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xaf, 0x02, 0x0a, 0x28, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74,
+ 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a,
+ 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x17, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x65, 0x61,
+ 0x6e, 0x5f, 0x6d, 0x75, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x4d, 0x75, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12,
+ 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53,
+ 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDescData = file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDesc
+)
+
+func file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDescData)
+ })
+ return file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDescData
+}
+
+var file_LuminanceStoneChallengeGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LuminanceStoneChallengeGallerySettleInfo_proto_goTypes = []interface{}{
+ (*LuminanceStoneChallengeGallerySettleInfo)(nil), // 0: proto.LuminanceStoneChallengeGallerySettleInfo
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_LuminanceStoneChallengeGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.LuminanceStoneChallengeGallerySettleInfo.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LuminanceStoneChallengeGallerySettleInfo_proto_init() }
+func file_LuminanceStoneChallengeGallerySettleInfo_proto_init() {
+ if File_LuminanceStoneChallengeGallerySettleInfo_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LuminanceStoneChallengeGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LuminanceStoneChallengeGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_LuminanceStoneChallengeGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_LuminanceStoneChallengeGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_LuminanceStoneChallengeGallerySettleInfo_proto = out.File
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_rawDesc = nil
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_goTypes = nil
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LuminanceStoneChallengeSettleInfo.pb.go b/protocol/proto/LuminanceStoneChallengeSettleInfo.pb.go
new file mode 100644
index 00000000..90001635
--- /dev/null
+++ b/protocol/proto/LuminanceStoneChallengeSettleInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LuminanceStoneChallengeSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LuminanceStoneChallengeSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SettleInfo *LuminanceStoneChallengeGallerySettleInfo `protobuf:"bytes,13,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+ IsNewRecord bool `protobuf:"varint,12,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *LuminanceStoneChallengeSettleInfo) Reset() {
+ *x = LuminanceStoneChallengeSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LuminanceStoneChallengeSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LuminanceStoneChallengeSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LuminanceStoneChallengeSettleInfo) ProtoMessage() {}
+
+func (x *LuminanceStoneChallengeSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LuminanceStoneChallengeSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LuminanceStoneChallengeSettleInfo.ProtoReflect.Descriptor instead.
+func (*LuminanceStoneChallengeSettleInfo) Descriptor() ([]byte, []int) {
+ return file_LuminanceStoneChallengeSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LuminanceStoneChallengeSettleInfo) GetSettleInfo() *LuminanceStoneChallengeGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+func (x *LuminanceStoneChallengeSettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_LuminanceStoneChallengeSettleInfo_proto protoreflect.FileDescriptor
+
+var file_LuminanceStoneChallengeSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x2e, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x99, 0x01, 0x0a, 0x21, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74,
+ 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f,
+ 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e,
+ 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LuminanceStoneChallengeSettleInfo_proto_rawDescOnce sync.Once
+ file_LuminanceStoneChallengeSettleInfo_proto_rawDescData = file_LuminanceStoneChallengeSettleInfo_proto_rawDesc
+)
+
+func file_LuminanceStoneChallengeSettleInfo_proto_rawDescGZIP() []byte {
+ file_LuminanceStoneChallengeSettleInfo_proto_rawDescOnce.Do(func() {
+ file_LuminanceStoneChallengeSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LuminanceStoneChallengeSettleInfo_proto_rawDescData)
+ })
+ return file_LuminanceStoneChallengeSettleInfo_proto_rawDescData
+}
+
+var file_LuminanceStoneChallengeSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LuminanceStoneChallengeSettleInfo_proto_goTypes = []interface{}{
+ (*LuminanceStoneChallengeSettleInfo)(nil), // 0: proto.LuminanceStoneChallengeSettleInfo
+ (*LuminanceStoneChallengeGallerySettleInfo)(nil), // 1: proto.LuminanceStoneChallengeGallerySettleInfo
+}
+var file_LuminanceStoneChallengeSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.LuminanceStoneChallengeSettleInfo.settle_info:type_name -> proto.LuminanceStoneChallengeGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LuminanceStoneChallengeSettleInfo_proto_init() }
+func file_LuminanceStoneChallengeSettleInfo_proto_init() {
+ if File_LuminanceStoneChallengeSettleInfo_proto != nil {
+ return
+ }
+ file_LuminanceStoneChallengeGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LuminanceStoneChallengeSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LuminanceStoneChallengeSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LuminanceStoneChallengeSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LuminanceStoneChallengeSettleInfo_proto_goTypes,
+ DependencyIndexes: file_LuminanceStoneChallengeSettleInfo_proto_depIdxs,
+ MessageInfos: file_LuminanceStoneChallengeSettleInfo_proto_msgTypes,
+ }.Build()
+ File_LuminanceStoneChallengeSettleInfo_proto = out.File
+ file_LuminanceStoneChallengeSettleInfo_proto_rawDesc = nil
+ file_LuminanceStoneChallengeSettleInfo_proto_goTypes = nil
+ file_LuminanceStoneChallengeSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LuminanceStoneChallengeSettleNotify.pb.go b/protocol/proto/LuminanceStoneChallengeSettleNotify.pb.go
new file mode 100644
index 00000000..a0e96853
--- /dev/null
+++ b/protocol/proto/LuminanceStoneChallengeSettleNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LuminanceStoneChallengeSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8186
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LuminanceStoneChallengeSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,10,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ SettleInfo *LuminanceStoneChallengeSettleInfo `protobuf:"bytes,13,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+}
+
+func (x *LuminanceStoneChallengeSettleNotify) Reset() {
+ *x = LuminanceStoneChallengeSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LuminanceStoneChallengeSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LuminanceStoneChallengeSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LuminanceStoneChallengeSettleNotify) ProtoMessage() {}
+
+func (x *LuminanceStoneChallengeSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LuminanceStoneChallengeSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LuminanceStoneChallengeSettleNotify.ProtoReflect.Descriptor instead.
+func (*LuminanceStoneChallengeSettleNotify) Descriptor() ([]byte, []int) {
+ return file_LuminanceStoneChallengeSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LuminanceStoneChallengeSettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *LuminanceStoneChallengeSettleNotify) GetSettleInfo() *LuminanceStoneChallengeSettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+var File_LuminanceStoneChallengeSettleNotify_proto protoreflect.FileDescriptor
+
+var file_LuminanceStoneChallengeSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x27, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f,
+ 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x23,
+ 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x49, 0x64, 0x12, 0x49, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_LuminanceStoneChallengeSettleNotify_proto_rawDescOnce sync.Once
+ file_LuminanceStoneChallengeSettleNotify_proto_rawDescData = file_LuminanceStoneChallengeSettleNotify_proto_rawDesc
+)
+
+func file_LuminanceStoneChallengeSettleNotify_proto_rawDescGZIP() []byte {
+ file_LuminanceStoneChallengeSettleNotify_proto_rawDescOnce.Do(func() {
+ file_LuminanceStoneChallengeSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LuminanceStoneChallengeSettleNotify_proto_rawDescData)
+ })
+ return file_LuminanceStoneChallengeSettleNotify_proto_rawDescData
+}
+
+var file_LuminanceStoneChallengeSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LuminanceStoneChallengeSettleNotify_proto_goTypes = []interface{}{
+ (*LuminanceStoneChallengeSettleNotify)(nil), // 0: proto.LuminanceStoneChallengeSettleNotify
+ (*LuminanceStoneChallengeSettleInfo)(nil), // 1: proto.LuminanceStoneChallengeSettleInfo
+}
+var file_LuminanceStoneChallengeSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.LuminanceStoneChallengeSettleNotify.settle_info:type_name -> proto.LuminanceStoneChallengeSettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LuminanceStoneChallengeSettleNotify_proto_init() }
+func file_LuminanceStoneChallengeSettleNotify_proto_init() {
+ if File_LuminanceStoneChallengeSettleNotify_proto != nil {
+ return
+ }
+ file_LuminanceStoneChallengeSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LuminanceStoneChallengeSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LuminanceStoneChallengeSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LuminanceStoneChallengeSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LuminanceStoneChallengeSettleNotify_proto_goTypes,
+ DependencyIndexes: file_LuminanceStoneChallengeSettleNotify_proto_depIdxs,
+ MessageInfos: file_LuminanceStoneChallengeSettleNotify_proto_msgTypes,
+ }.Build()
+ File_LuminanceStoneChallengeSettleNotify_proto = out.File
+ file_LuminanceStoneChallengeSettleNotify_proto_rawDesc = nil
+ file_LuminanceStoneChallengeSettleNotify_proto_goTypes = nil
+ file_LuminanceStoneChallengeSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteAreaFinishNotify.pb.go b/protocol/proto/LunaRiteAreaFinishNotify.pb.go
new file mode 100644
index 00000000..52cd409d
--- /dev/null
+++ b/protocol/proto/LunaRiteAreaFinishNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteAreaFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8213
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LunaRiteAreaFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaId uint32 `protobuf:"varint,2,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+}
+
+func (x *LunaRiteAreaFinishNotify) Reset() {
+ *x = LunaRiteAreaFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteAreaFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteAreaFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteAreaFinishNotify) ProtoMessage() {}
+
+func (x *LunaRiteAreaFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteAreaFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteAreaFinishNotify.ProtoReflect.Descriptor instead.
+func (*LunaRiteAreaFinishNotify) Descriptor() ([]byte, []int) {
+ return file_LunaRiteAreaFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteAreaFinishNotify) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+var File_LunaRiteAreaFinishNotify_proto protoreflect.FileDescriptor
+
+var file_LunaRiteAreaFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x18, 0x4c, 0x75, 0x6e, 0x61, 0x52,
+ 0x69, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteAreaFinishNotify_proto_rawDescOnce sync.Once
+ file_LunaRiteAreaFinishNotify_proto_rawDescData = file_LunaRiteAreaFinishNotify_proto_rawDesc
+)
+
+func file_LunaRiteAreaFinishNotify_proto_rawDescGZIP() []byte {
+ file_LunaRiteAreaFinishNotify_proto_rawDescOnce.Do(func() {
+ file_LunaRiteAreaFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteAreaFinishNotify_proto_rawDescData)
+ })
+ return file_LunaRiteAreaFinishNotify_proto_rawDescData
+}
+
+var file_LunaRiteAreaFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteAreaFinishNotify_proto_goTypes = []interface{}{
+ (*LunaRiteAreaFinishNotify)(nil), // 0: proto.LunaRiteAreaFinishNotify
+}
+var file_LunaRiteAreaFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteAreaFinishNotify_proto_init() }
+func file_LunaRiteAreaFinishNotify_proto_init() {
+ if File_LunaRiteAreaFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteAreaFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteAreaFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteAreaFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteAreaFinishNotify_proto_goTypes,
+ DependencyIndexes: file_LunaRiteAreaFinishNotify_proto_depIdxs,
+ MessageInfos: file_LunaRiteAreaFinishNotify_proto_msgTypes,
+ }.Build()
+ File_LunaRiteAreaFinishNotify_proto = out.File
+ file_LunaRiteAreaFinishNotify_proto_rawDesc = nil
+ file_LunaRiteAreaFinishNotify_proto_goTypes = nil
+ file_LunaRiteAreaFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteAreaInfo.pb.go b/protocol/proto/LunaRiteAreaInfo.pb.go
new file mode 100644
index 00000000..7f40ef00
--- /dev/null
+++ b/protocol/proto/LunaRiteAreaInfo.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteAreaInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LunaRiteAreaInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SacrificeList []uint32 `protobuf:"varint,11,rep,packed,name=sacrifice_list,json=sacrificeList,proto3" json:"sacrifice_list,omitempty"`
+ HintStatus LunaRiteHintStatusType `protobuf:"varint,7,opt,name=hint_status,json=hintStatus,proto3,enum=proto.LunaRiteHintStatusType" json:"hint_status,omitempty"`
+ SacrificeRewardList []uint32 `protobuf:"varint,4,rep,packed,name=sacrifice_reward_list,json=sacrificeRewardList,proto3" json:"sacrifice_reward_list,omitempty"`
+ AreaId uint32 `protobuf:"varint,8,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ ChallengeIndex uint32 `protobuf:"varint,6,opt,name=challenge_index,json=challengeIndex,proto3" json:"challenge_index,omitempty"`
+}
+
+func (x *LunaRiteAreaInfo) Reset() {
+ *x = LunaRiteAreaInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteAreaInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteAreaInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteAreaInfo) ProtoMessage() {}
+
+func (x *LunaRiteAreaInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteAreaInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteAreaInfo.ProtoReflect.Descriptor instead.
+func (*LunaRiteAreaInfo) Descriptor() ([]byte, []int) {
+ return file_LunaRiteAreaInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteAreaInfo) GetSacrificeList() []uint32 {
+ if x != nil {
+ return x.SacrificeList
+ }
+ return nil
+}
+
+func (x *LunaRiteAreaInfo) GetHintStatus() LunaRiteHintStatusType {
+ if x != nil {
+ return x.HintStatus
+ }
+ return LunaRiteHintStatusType_LUNA_RITE_HINT_STATUS_TYPE_DEFAULT
+}
+
+func (x *LunaRiteAreaInfo) GetSacrificeRewardList() []uint32 {
+ if x != nil {
+ return x.SacrificeRewardList
+ }
+ return nil
+}
+
+func (x *LunaRiteAreaInfo) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LunaRiteAreaInfo) GetChallengeIndex() uint32 {
+ if x != nil {
+ return x.ChallengeIndex
+ }
+ return 0
+}
+
+var File_LunaRiteAreaInfo_proto protoreflect.FileDescriptor
+
+var file_LunaRiteAreaInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1c, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x01,
+ 0x0a, 0x10, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x61, 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x61, 0x63, 0x72,
+ 0x69, 0x66, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x68, 0x69, 0x6e,
+ 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48,
+ 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x68,
+ 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x61, 0x63,
+ 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x61, 0x63, 0x72, 0x69, 0x66,
+ 0x69, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a,
+ 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteAreaInfo_proto_rawDescOnce sync.Once
+ file_LunaRiteAreaInfo_proto_rawDescData = file_LunaRiteAreaInfo_proto_rawDesc
+)
+
+func file_LunaRiteAreaInfo_proto_rawDescGZIP() []byte {
+ file_LunaRiteAreaInfo_proto_rawDescOnce.Do(func() {
+ file_LunaRiteAreaInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteAreaInfo_proto_rawDescData)
+ })
+ return file_LunaRiteAreaInfo_proto_rawDescData
+}
+
+var file_LunaRiteAreaInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteAreaInfo_proto_goTypes = []interface{}{
+ (*LunaRiteAreaInfo)(nil), // 0: proto.LunaRiteAreaInfo
+ (LunaRiteHintStatusType)(0), // 1: proto.LunaRiteHintStatusType
+}
+var file_LunaRiteAreaInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.LunaRiteAreaInfo.hint_status:type_name -> proto.LunaRiteHintStatusType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteAreaInfo_proto_init() }
+func file_LunaRiteAreaInfo_proto_init() {
+ if File_LunaRiteAreaInfo_proto != nil {
+ return
+ }
+ file_LunaRiteHintStatusType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteAreaInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteAreaInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteAreaInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteAreaInfo_proto_goTypes,
+ DependencyIndexes: file_LunaRiteAreaInfo_proto_depIdxs,
+ MessageInfos: file_LunaRiteAreaInfo_proto_msgTypes,
+ }.Build()
+ File_LunaRiteAreaInfo_proto = out.File
+ file_LunaRiteAreaInfo_proto_rawDesc = nil
+ file_LunaRiteAreaInfo_proto_goTypes = nil
+ file_LunaRiteAreaInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteDetailInfo.pb.go b/protocol/proto/LunaRiteDetailInfo.pb.go
new file mode 100644
index 00000000..1c9995ad
--- /dev/null
+++ b/protocol/proto/LunaRiteDetailInfo.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LunaRiteDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HintPoint []*LunaRiteHintPoint `protobuf:"bytes,3,rep,name=hint_point,json=hintPoint,proto3" json:"hint_point,omitempty"`
+ AreaInfoList []*LunaRiteAreaInfo `protobuf:"bytes,13,rep,name=area_info_list,json=areaInfoList,proto3" json:"area_info_list,omitempty"`
+}
+
+func (x *LunaRiteDetailInfo) Reset() {
+ *x = LunaRiteDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteDetailInfo) ProtoMessage() {}
+
+func (x *LunaRiteDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteDetailInfo.ProtoReflect.Descriptor instead.
+func (*LunaRiteDetailInfo) Descriptor() ([]byte, []int) {
+ return file_LunaRiteDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteDetailInfo) GetHintPoint() []*LunaRiteHintPoint {
+ if x != nil {
+ return x.HintPoint
+ }
+ return nil
+}
+
+func (x *LunaRiteDetailInfo) GetAreaInfoList() []*LunaRiteAreaInfo {
+ if x != nil {
+ return x.AreaInfoList
+ }
+ return nil
+}
+
+var File_LunaRiteDetailInfo_proto protoreflect.FileDescriptor
+
+var file_LunaRiteDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x16, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x4c, 0x75, 0x6e, 0x61, 0x52,
+ 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x12, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0a, 0x68, 0x69, 0x6e,
+ 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69,
+ 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x68, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0e, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteDetailInfo_proto_rawDescOnce sync.Once
+ file_LunaRiteDetailInfo_proto_rawDescData = file_LunaRiteDetailInfo_proto_rawDesc
+)
+
+func file_LunaRiteDetailInfo_proto_rawDescGZIP() []byte {
+ file_LunaRiteDetailInfo_proto_rawDescOnce.Do(func() {
+ file_LunaRiteDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteDetailInfo_proto_rawDescData)
+ })
+ return file_LunaRiteDetailInfo_proto_rawDescData
+}
+
+var file_LunaRiteDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteDetailInfo_proto_goTypes = []interface{}{
+ (*LunaRiteDetailInfo)(nil), // 0: proto.LunaRiteDetailInfo
+ (*LunaRiteHintPoint)(nil), // 1: proto.LunaRiteHintPoint
+ (*LunaRiteAreaInfo)(nil), // 2: proto.LunaRiteAreaInfo
+}
+var file_LunaRiteDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.LunaRiteDetailInfo.hint_point:type_name -> proto.LunaRiteHintPoint
+ 2, // 1: proto.LunaRiteDetailInfo.area_info_list:type_name -> proto.LunaRiteAreaInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteDetailInfo_proto_init() }
+func file_LunaRiteDetailInfo_proto_init() {
+ if File_LunaRiteDetailInfo_proto != nil {
+ return
+ }
+ file_LunaRiteAreaInfo_proto_init()
+ file_LunaRiteHintPoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteDetailInfo_proto_goTypes,
+ DependencyIndexes: file_LunaRiteDetailInfo_proto_depIdxs,
+ MessageInfos: file_LunaRiteDetailInfo_proto_msgTypes,
+ }.Build()
+ File_LunaRiteDetailInfo_proto = out.File
+ file_LunaRiteDetailInfo_proto_rawDesc = nil
+ file_LunaRiteDetailInfo_proto_goTypes = nil
+ file_LunaRiteDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteGroupBundleRegisterNotify.pb.go b/protocol/proto/LunaRiteGroupBundleRegisterNotify.pb.go
new file mode 100644
index 00000000..7d1aaebe
--- /dev/null
+++ b/protocol/proto/LunaRiteGroupBundleRegisterNotify.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteGroupBundleRegisterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8465
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LunaRiteGroupBundleRegisterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupLinkBundleId uint32 `protobuf:"varint,11,opt,name=group_link_bundle_id,json=groupLinkBundleId,proto3" json:"group_link_bundle_id,omitempty"`
+}
+
+func (x *LunaRiteGroupBundleRegisterNotify) Reset() {
+ *x = LunaRiteGroupBundleRegisterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteGroupBundleRegisterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteGroupBundleRegisterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteGroupBundleRegisterNotify) ProtoMessage() {}
+
+func (x *LunaRiteGroupBundleRegisterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteGroupBundleRegisterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteGroupBundleRegisterNotify.ProtoReflect.Descriptor instead.
+func (*LunaRiteGroupBundleRegisterNotify) Descriptor() ([]byte, []int) {
+ return file_LunaRiteGroupBundleRegisterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteGroupBundleRegisterNotify) GetGroupLinkBundleId() uint32 {
+ if x != nil {
+ return x.GroupLinkBundleId
+ }
+ return 0
+}
+
+var File_LunaRiteGroupBundleRegisterNotify_proto protoreflect.FileDescriptor
+
+var file_LunaRiteGroupBundleRegisterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42,
+ 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x54, 0x0a, 0x21, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75,
+ 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a, 0x14, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6c,
+ 0x69, 0x6e, 0x6b, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x75,
+ 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteGroupBundleRegisterNotify_proto_rawDescOnce sync.Once
+ file_LunaRiteGroupBundleRegisterNotify_proto_rawDescData = file_LunaRiteGroupBundleRegisterNotify_proto_rawDesc
+)
+
+func file_LunaRiteGroupBundleRegisterNotify_proto_rawDescGZIP() []byte {
+ file_LunaRiteGroupBundleRegisterNotify_proto_rawDescOnce.Do(func() {
+ file_LunaRiteGroupBundleRegisterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteGroupBundleRegisterNotify_proto_rawDescData)
+ })
+ return file_LunaRiteGroupBundleRegisterNotify_proto_rawDescData
+}
+
+var file_LunaRiteGroupBundleRegisterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteGroupBundleRegisterNotify_proto_goTypes = []interface{}{
+ (*LunaRiteGroupBundleRegisterNotify)(nil), // 0: proto.LunaRiteGroupBundleRegisterNotify
+}
+var file_LunaRiteGroupBundleRegisterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteGroupBundleRegisterNotify_proto_init() }
+func file_LunaRiteGroupBundleRegisterNotify_proto_init() {
+ if File_LunaRiteGroupBundleRegisterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteGroupBundleRegisterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteGroupBundleRegisterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteGroupBundleRegisterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteGroupBundleRegisterNotify_proto_goTypes,
+ DependencyIndexes: file_LunaRiteGroupBundleRegisterNotify_proto_depIdxs,
+ MessageInfos: file_LunaRiteGroupBundleRegisterNotify_proto_msgTypes,
+ }.Build()
+ File_LunaRiteGroupBundleRegisterNotify_proto = out.File
+ file_LunaRiteGroupBundleRegisterNotify_proto_rawDesc = nil
+ file_LunaRiteGroupBundleRegisterNotify_proto_goTypes = nil
+ file_LunaRiteGroupBundleRegisterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteHintPoint.pb.go b/protocol/proto/LunaRiteHintPoint.pb.go
new file mode 100644
index 00000000..b9aff354
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPoint.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteHintPoint.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LunaRiteHintPoint struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaId uint32 `protobuf:"varint,11,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ Index uint32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"`
+ Type LunaRiteHintPointType `protobuf:"varint,2,opt,name=type,proto3,enum=proto.LunaRiteHintPointType" json:"type,omitempty"`
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *LunaRiteHintPoint) Reset() {
+ *x = LunaRiteHintPoint{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteHintPoint_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteHintPoint) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteHintPoint) ProtoMessage() {}
+
+func (x *LunaRiteHintPoint) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteHintPoint_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteHintPoint.ProtoReflect.Descriptor instead.
+func (*LunaRiteHintPoint) Descriptor() ([]byte, []int) {
+ return file_LunaRiteHintPoint_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteHintPoint) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LunaRiteHintPoint) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *LunaRiteHintPoint) GetType() LunaRiteHintPointType {
+ if x != nil {
+ return x.Type
+ }
+ return LunaRiteHintPointType_LUNA_RITE_HINT_POINT_TYPE_NONE
+}
+
+func (x *LunaRiteHintPoint) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_LunaRiteHintPoint_proto protoreflect.FileDescriptor
+
+var file_LunaRiteHintPoint_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1b, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x11,
+ 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48,
+ 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
+ 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteHintPoint_proto_rawDescOnce sync.Once
+ file_LunaRiteHintPoint_proto_rawDescData = file_LunaRiteHintPoint_proto_rawDesc
+)
+
+func file_LunaRiteHintPoint_proto_rawDescGZIP() []byte {
+ file_LunaRiteHintPoint_proto_rawDescOnce.Do(func() {
+ file_LunaRiteHintPoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteHintPoint_proto_rawDescData)
+ })
+ return file_LunaRiteHintPoint_proto_rawDescData
+}
+
+var file_LunaRiteHintPoint_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteHintPoint_proto_goTypes = []interface{}{
+ (*LunaRiteHintPoint)(nil), // 0: proto.LunaRiteHintPoint
+ (LunaRiteHintPointType)(0), // 1: proto.LunaRiteHintPointType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_LunaRiteHintPoint_proto_depIdxs = []int32{
+ 1, // 0: proto.LunaRiteHintPoint.type:type_name -> proto.LunaRiteHintPointType
+ 2, // 1: proto.LunaRiteHintPoint.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteHintPoint_proto_init() }
+func file_LunaRiteHintPoint_proto_init() {
+ if File_LunaRiteHintPoint_proto != nil {
+ return
+ }
+ file_LunaRiteHintPointType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteHintPoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteHintPoint); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteHintPoint_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteHintPoint_proto_goTypes,
+ DependencyIndexes: file_LunaRiteHintPoint_proto_depIdxs,
+ MessageInfos: file_LunaRiteHintPoint_proto_msgTypes,
+ }.Build()
+ File_LunaRiteHintPoint_proto = out.File
+ file_LunaRiteHintPoint_proto_rawDesc = nil
+ file_LunaRiteHintPoint_proto_goTypes = nil
+ file_LunaRiteHintPoint_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteHintPointRemoveNotify.pb.go b/protocol/proto/LunaRiteHintPointRemoveNotify.pb.go
new file mode 100644
index 00000000..e0ef12b5
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPointRemoveNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteHintPointRemoveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8787
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LunaRiteHintPointRemoveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HintPointIndex []uint32 `protobuf:"varint,14,rep,packed,name=hint_point_index,json=hintPointIndex,proto3" json:"hint_point_index,omitempty"`
+}
+
+func (x *LunaRiteHintPointRemoveNotify) Reset() {
+ *x = LunaRiteHintPointRemoveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteHintPointRemoveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteHintPointRemoveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteHintPointRemoveNotify) ProtoMessage() {}
+
+func (x *LunaRiteHintPointRemoveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteHintPointRemoveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteHintPointRemoveNotify.ProtoReflect.Descriptor instead.
+func (*LunaRiteHintPointRemoveNotify) Descriptor() ([]byte, []int) {
+ return file_LunaRiteHintPointRemoveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteHintPointRemoveNotify) GetHintPointIndex() []uint32 {
+ if x != nil {
+ return x.HintPointIndex
+ }
+ return nil
+}
+
+var File_LunaRiteHintPointRemoveNotify_proto protoreflect.FileDescriptor
+
+var file_LunaRiteHintPointRemoveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x1d,
+ 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a,
+ 0x10, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x68, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteHintPointRemoveNotify_proto_rawDescOnce sync.Once
+ file_LunaRiteHintPointRemoveNotify_proto_rawDescData = file_LunaRiteHintPointRemoveNotify_proto_rawDesc
+)
+
+func file_LunaRiteHintPointRemoveNotify_proto_rawDescGZIP() []byte {
+ file_LunaRiteHintPointRemoveNotify_proto_rawDescOnce.Do(func() {
+ file_LunaRiteHintPointRemoveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteHintPointRemoveNotify_proto_rawDescData)
+ })
+ return file_LunaRiteHintPointRemoveNotify_proto_rawDescData
+}
+
+var file_LunaRiteHintPointRemoveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteHintPointRemoveNotify_proto_goTypes = []interface{}{
+ (*LunaRiteHintPointRemoveNotify)(nil), // 0: proto.LunaRiteHintPointRemoveNotify
+}
+var file_LunaRiteHintPointRemoveNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteHintPointRemoveNotify_proto_init() }
+func file_LunaRiteHintPointRemoveNotify_proto_init() {
+ if File_LunaRiteHintPointRemoveNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteHintPointRemoveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteHintPointRemoveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteHintPointRemoveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteHintPointRemoveNotify_proto_goTypes,
+ DependencyIndexes: file_LunaRiteHintPointRemoveNotify_proto_depIdxs,
+ MessageInfos: file_LunaRiteHintPointRemoveNotify_proto_msgTypes,
+ }.Build()
+ File_LunaRiteHintPointRemoveNotify_proto = out.File
+ file_LunaRiteHintPointRemoveNotify_proto_rawDesc = nil
+ file_LunaRiteHintPointRemoveNotify_proto_goTypes = nil
+ file_LunaRiteHintPointRemoveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteHintPointReq.pb.go b/protocol/proto/LunaRiteHintPointReq.pb.go
new file mode 100644
index 00000000..3b5788ab
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPointReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteHintPointReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8195
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LunaRiteHintPointReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaId uint32 `protobuf:"varint,13,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+}
+
+func (x *LunaRiteHintPointReq) Reset() {
+ *x = LunaRiteHintPointReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteHintPointReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteHintPointReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteHintPointReq) ProtoMessage() {}
+
+func (x *LunaRiteHintPointReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteHintPointReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteHintPointReq.ProtoReflect.Descriptor instead.
+func (*LunaRiteHintPointReq) Descriptor() ([]byte, []int) {
+ return file_LunaRiteHintPointReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteHintPointReq) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+var File_LunaRiteHintPointReq_proto protoreflect.FileDescriptor
+
+var file_LunaRiteHintPointReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x14, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48,
+ 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x61,
+ 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72,
+ 0x65, 0x61, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteHintPointReq_proto_rawDescOnce sync.Once
+ file_LunaRiteHintPointReq_proto_rawDescData = file_LunaRiteHintPointReq_proto_rawDesc
+)
+
+func file_LunaRiteHintPointReq_proto_rawDescGZIP() []byte {
+ file_LunaRiteHintPointReq_proto_rawDescOnce.Do(func() {
+ file_LunaRiteHintPointReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteHintPointReq_proto_rawDescData)
+ })
+ return file_LunaRiteHintPointReq_proto_rawDescData
+}
+
+var file_LunaRiteHintPointReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteHintPointReq_proto_goTypes = []interface{}{
+ (*LunaRiteHintPointReq)(nil), // 0: proto.LunaRiteHintPointReq
+}
+var file_LunaRiteHintPointReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteHintPointReq_proto_init() }
+func file_LunaRiteHintPointReq_proto_init() {
+ if File_LunaRiteHintPointReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteHintPointReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteHintPointReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteHintPointReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteHintPointReq_proto_goTypes,
+ DependencyIndexes: file_LunaRiteHintPointReq_proto_depIdxs,
+ MessageInfos: file_LunaRiteHintPointReq_proto_msgTypes,
+ }.Build()
+ File_LunaRiteHintPointReq_proto = out.File
+ file_LunaRiteHintPointReq_proto_rawDesc = nil
+ file_LunaRiteHintPointReq_proto_goTypes = nil
+ file_LunaRiteHintPointReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteHintPointRsp.pb.go b/protocol/proto/LunaRiteHintPointRsp.pb.go
new file mode 100644
index 00000000..5199a80c
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPointRsp.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteHintPointRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8765
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LunaRiteHintPointRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HintStatus LunaRiteHintStatusType `protobuf:"varint,4,opt,name=hint_status,json=hintStatus,proto3,enum=proto.LunaRiteHintStatusType" json:"hint_status,omitempty"`
+ AreaId uint32 `protobuf:"varint,5,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ HintPoint []*LunaRiteHintPoint `protobuf:"bytes,9,rep,name=hint_point,json=hintPoint,proto3" json:"hint_point,omitempty"`
+}
+
+func (x *LunaRiteHintPointRsp) Reset() {
+ *x = LunaRiteHintPointRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteHintPointRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteHintPointRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteHintPointRsp) ProtoMessage() {}
+
+func (x *LunaRiteHintPointRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteHintPointRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteHintPointRsp.ProtoReflect.Descriptor instead.
+func (*LunaRiteHintPointRsp) Descriptor() ([]byte, []int) {
+ return file_LunaRiteHintPointRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteHintPointRsp) GetHintStatus() LunaRiteHintStatusType {
+ if x != nil {
+ return x.HintStatus
+ }
+ return LunaRiteHintStatusType_LUNA_RITE_HINT_STATUS_TYPE_DEFAULT
+}
+
+func (x *LunaRiteHintPointRsp) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LunaRiteHintPointRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *LunaRiteHintPointRsp) GetHintPoint() []*LunaRiteHintPoint {
+ if x != nil {
+ return x.HintPoint
+ }
+ return nil
+}
+
+var File_LunaRiteHintPointRsp_proto protoreflect.FileDescriptor
+
+var file_LunaRiteHintPointRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e,
+ 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x4c, 0x75,
+ 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x01, 0x0a, 0x14, 0x4c,
+ 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0b, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x68, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x68, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteHintPointRsp_proto_rawDescOnce sync.Once
+ file_LunaRiteHintPointRsp_proto_rawDescData = file_LunaRiteHintPointRsp_proto_rawDesc
+)
+
+func file_LunaRiteHintPointRsp_proto_rawDescGZIP() []byte {
+ file_LunaRiteHintPointRsp_proto_rawDescOnce.Do(func() {
+ file_LunaRiteHintPointRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteHintPointRsp_proto_rawDescData)
+ })
+ return file_LunaRiteHintPointRsp_proto_rawDescData
+}
+
+var file_LunaRiteHintPointRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteHintPointRsp_proto_goTypes = []interface{}{
+ (*LunaRiteHintPointRsp)(nil), // 0: proto.LunaRiteHintPointRsp
+ (LunaRiteHintStatusType)(0), // 1: proto.LunaRiteHintStatusType
+ (*LunaRiteHintPoint)(nil), // 2: proto.LunaRiteHintPoint
+}
+var file_LunaRiteHintPointRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.LunaRiteHintPointRsp.hint_status:type_name -> proto.LunaRiteHintStatusType
+ 2, // 1: proto.LunaRiteHintPointRsp.hint_point:type_name -> proto.LunaRiteHintPoint
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteHintPointRsp_proto_init() }
+func file_LunaRiteHintPointRsp_proto_init() {
+ if File_LunaRiteHintPointRsp_proto != nil {
+ return
+ }
+ file_LunaRiteHintPoint_proto_init()
+ file_LunaRiteHintStatusType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteHintPointRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteHintPointRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteHintPointRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteHintPointRsp_proto_goTypes,
+ DependencyIndexes: file_LunaRiteHintPointRsp_proto_depIdxs,
+ MessageInfos: file_LunaRiteHintPointRsp_proto_msgTypes,
+ }.Build()
+ File_LunaRiteHintPointRsp_proto = out.File
+ file_LunaRiteHintPointRsp_proto_rawDesc = nil
+ file_LunaRiteHintPointRsp_proto_goTypes = nil
+ file_LunaRiteHintPointRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteHintPointType.pb.go b/protocol/proto/LunaRiteHintPointType.pb.go
new file mode 100644
index 00000000..6ed3b2cd
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPointType.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteHintPointType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LunaRiteHintPointType int32
+
+const (
+ LunaRiteHintPointType_LUNA_RITE_HINT_POINT_TYPE_NONE LunaRiteHintPointType = 0
+ LunaRiteHintPointType_LUNA_RITE_HINT_POINT_TYPE_RUNE LunaRiteHintPointType = 1
+ LunaRiteHintPointType_LUNA_RITE_HINT_POINT_TYPE_CHEST LunaRiteHintPointType = 2
+)
+
+// Enum value maps for LunaRiteHintPointType.
+var (
+ LunaRiteHintPointType_name = map[int32]string{
+ 0: "LUNA_RITE_HINT_POINT_TYPE_NONE",
+ 1: "LUNA_RITE_HINT_POINT_TYPE_RUNE",
+ 2: "LUNA_RITE_HINT_POINT_TYPE_CHEST",
+ }
+ LunaRiteHintPointType_value = map[string]int32{
+ "LUNA_RITE_HINT_POINT_TYPE_NONE": 0,
+ "LUNA_RITE_HINT_POINT_TYPE_RUNE": 1,
+ "LUNA_RITE_HINT_POINT_TYPE_CHEST": 2,
+ }
+)
+
+func (x LunaRiteHintPointType) Enum() *LunaRiteHintPointType {
+ p := new(LunaRiteHintPointType)
+ *p = x
+ return p
+}
+
+func (x LunaRiteHintPointType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LunaRiteHintPointType) Descriptor() protoreflect.EnumDescriptor {
+ return file_LunaRiteHintPointType_proto_enumTypes[0].Descriptor()
+}
+
+func (LunaRiteHintPointType) Type() protoreflect.EnumType {
+ return &file_LunaRiteHintPointType_proto_enumTypes[0]
+}
+
+func (x LunaRiteHintPointType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use LunaRiteHintPointType.Descriptor instead.
+func (LunaRiteHintPointType) EnumDescriptor() ([]byte, []int) {
+ return file_LunaRiteHintPointType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_LunaRiteHintPointType_proto protoreflect.FileDescriptor
+
+var file_LunaRiteHintPointType_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x84, 0x01, 0x0a, 0x15, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74,
+ 0x65, 0x48, 0x69, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22,
+ 0x0a, 0x1e, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x4e, 0x54,
+ 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45,
+ 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f,
+ 0x48, 0x49, 0x4e, 0x54, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x52, 0x55, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52,
+ 0x49, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteHintPointType_proto_rawDescOnce sync.Once
+ file_LunaRiteHintPointType_proto_rawDescData = file_LunaRiteHintPointType_proto_rawDesc
+)
+
+func file_LunaRiteHintPointType_proto_rawDescGZIP() []byte {
+ file_LunaRiteHintPointType_proto_rawDescOnce.Do(func() {
+ file_LunaRiteHintPointType_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteHintPointType_proto_rawDescData)
+ })
+ return file_LunaRiteHintPointType_proto_rawDescData
+}
+
+var file_LunaRiteHintPointType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_LunaRiteHintPointType_proto_goTypes = []interface{}{
+ (LunaRiteHintPointType)(0), // 0: proto.LunaRiteHintPointType
+}
+var file_LunaRiteHintPointType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteHintPointType_proto_init() }
+func file_LunaRiteHintPointType_proto_init() {
+ if File_LunaRiteHintPointType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteHintPointType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteHintPointType_proto_goTypes,
+ DependencyIndexes: file_LunaRiteHintPointType_proto_depIdxs,
+ EnumInfos: file_LunaRiteHintPointType_proto_enumTypes,
+ }.Build()
+ File_LunaRiteHintPointType_proto = out.File
+ file_LunaRiteHintPointType_proto_rawDesc = nil
+ file_LunaRiteHintPointType_proto_goTypes = nil
+ file_LunaRiteHintPointType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteHintStatusType.pb.go b/protocol/proto/LunaRiteHintStatusType.pb.go
new file mode 100644
index 00000000..380b51c2
--- /dev/null
+++ b/protocol/proto/LunaRiteHintStatusType.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteHintStatusType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LunaRiteHintStatusType int32
+
+const (
+ LunaRiteHintStatusType_LUNA_RITE_HINT_STATUS_TYPE_DEFAULT LunaRiteHintStatusType = 0
+ LunaRiteHintStatusType_LUNA_RITE_HINT_STATUS_TYPE_NO_COUNT LunaRiteHintStatusType = 1
+ LunaRiteHintStatusType_LUNA_RITE_HINT_STATUS_TYPE_FINISH LunaRiteHintStatusType = 2
+)
+
+// Enum value maps for LunaRiteHintStatusType.
+var (
+ LunaRiteHintStatusType_name = map[int32]string{
+ 0: "LUNA_RITE_HINT_STATUS_TYPE_DEFAULT",
+ 1: "LUNA_RITE_HINT_STATUS_TYPE_NO_COUNT",
+ 2: "LUNA_RITE_HINT_STATUS_TYPE_FINISH",
+ }
+ LunaRiteHintStatusType_value = map[string]int32{
+ "LUNA_RITE_HINT_STATUS_TYPE_DEFAULT": 0,
+ "LUNA_RITE_HINT_STATUS_TYPE_NO_COUNT": 1,
+ "LUNA_RITE_HINT_STATUS_TYPE_FINISH": 2,
+ }
+)
+
+func (x LunaRiteHintStatusType) Enum() *LunaRiteHintStatusType {
+ p := new(LunaRiteHintStatusType)
+ *p = x
+ return p
+}
+
+func (x LunaRiteHintStatusType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LunaRiteHintStatusType) Descriptor() protoreflect.EnumDescriptor {
+ return file_LunaRiteHintStatusType_proto_enumTypes[0].Descriptor()
+}
+
+func (LunaRiteHintStatusType) Type() protoreflect.EnumType {
+ return &file_LunaRiteHintStatusType_proto_enumTypes[0]
+}
+
+func (x LunaRiteHintStatusType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use LunaRiteHintStatusType.Descriptor instead.
+func (LunaRiteHintStatusType) EnumDescriptor() ([]byte, []int) {
+ return file_LunaRiteHintStatusType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_LunaRiteHintStatusType_proto protoreflect.FileDescriptor
+
+var file_LunaRiteHintStatusType_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x90, 0x01, 0x0a, 0x16, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69,
+ 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x26, 0x0a, 0x22, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x48, 0x49,
+ 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44,
+ 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x4c, 0x55, 0x4e, 0x41,
+ 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55,
+ 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10,
+ 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x48,
+ 0x49, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteHintStatusType_proto_rawDescOnce sync.Once
+ file_LunaRiteHintStatusType_proto_rawDescData = file_LunaRiteHintStatusType_proto_rawDesc
+)
+
+func file_LunaRiteHintStatusType_proto_rawDescGZIP() []byte {
+ file_LunaRiteHintStatusType_proto_rawDescOnce.Do(func() {
+ file_LunaRiteHintStatusType_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteHintStatusType_proto_rawDescData)
+ })
+ return file_LunaRiteHintStatusType_proto_rawDescData
+}
+
+var file_LunaRiteHintStatusType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_LunaRiteHintStatusType_proto_goTypes = []interface{}{
+ (LunaRiteHintStatusType)(0), // 0: proto.LunaRiteHintStatusType
+}
+var file_LunaRiteHintStatusType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteHintStatusType_proto_init() }
+func file_LunaRiteHintStatusType_proto_init() {
+ if File_LunaRiteHintStatusType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteHintStatusType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteHintStatusType_proto_goTypes,
+ DependencyIndexes: file_LunaRiteHintStatusType_proto_depIdxs,
+ EnumInfos: file_LunaRiteHintStatusType_proto_enumTypes,
+ }.Build()
+ File_LunaRiteHintStatusType_proto = out.File
+ file_LunaRiteHintStatusType_proto_rawDesc = nil
+ file_LunaRiteHintStatusType_proto_goTypes = nil
+ file_LunaRiteHintStatusType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteSacrificeReq.pb.go b/protocol/proto/LunaRiteSacrificeReq.pb.go
new file mode 100644
index 00000000..e91fb0cb
--- /dev/null
+++ b/protocol/proto/LunaRiteSacrificeReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteSacrificeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8805
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LunaRiteSacrificeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaId uint32 `protobuf:"varint,15,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ Index uint32 `protobuf:"varint,14,opt,name=index,proto3" json:"index,omitempty"`
+}
+
+func (x *LunaRiteSacrificeReq) Reset() {
+ *x = LunaRiteSacrificeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteSacrificeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteSacrificeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteSacrificeReq) ProtoMessage() {}
+
+func (x *LunaRiteSacrificeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteSacrificeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteSacrificeReq.ProtoReflect.Descriptor instead.
+func (*LunaRiteSacrificeReq) Descriptor() ([]byte, []int) {
+ return file_LunaRiteSacrificeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteSacrificeReq) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LunaRiteSacrificeReq) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+var File_LunaRiteSacrificeReq_proto protoreflect.FileDescriptor
+
+var file_LunaRiteSacrificeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x53, 0x61, 0x63, 0x72, 0x69, 0x66,
+ 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x14, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x53,
+ 0x61, 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x61,
+ 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72,
+ 0x65, 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteSacrificeReq_proto_rawDescOnce sync.Once
+ file_LunaRiteSacrificeReq_proto_rawDescData = file_LunaRiteSacrificeReq_proto_rawDesc
+)
+
+func file_LunaRiteSacrificeReq_proto_rawDescGZIP() []byte {
+ file_LunaRiteSacrificeReq_proto_rawDescOnce.Do(func() {
+ file_LunaRiteSacrificeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteSacrificeReq_proto_rawDescData)
+ })
+ return file_LunaRiteSacrificeReq_proto_rawDescData
+}
+
+var file_LunaRiteSacrificeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteSacrificeReq_proto_goTypes = []interface{}{
+ (*LunaRiteSacrificeReq)(nil), // 0: proto.LunaRiteSacrificeReq
+}
+var file_LunaRiteSacrificeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteSacrificeReq_proto_init() }
+func file_LunaRiteSacrificeReq_proto_init() {
+ if File_LunaRiteSacrificeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteSacrificeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteSacrificeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteSacrificeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteSacrificeReq_proto_goTypes,
+ DependencyIndexes: file_LunaRiteSacrificeReq_proto_depIdxs,
+ MessageInfos: file_LunaRiteSacrificeReq_proto_msgTypes,
+ }.Build()
+ File_LunaRiteSacrificeReq_proto = out.File
+ file_LunaRiteSacrificeReq_proto_rawDesc = nil
+ file_LunaRiteSacrificeReq_proto_goTypes = nil
+ file_LunaRiteSacrificeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteSacrificeRsp.pb.go b/protocol/proto/LunaRiteSacrificeRsp.pb.go
new file mode 100644
index 00000000..135c6dc7
--- /dev/null
+++ b/protocol/proto/LunaRiteSacrificeRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteSacrificeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8080
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LunaRiteSacrificeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaId uint32 `protobuf:"varint,13,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ SacrificeList []uint32 `protobuf:"varint,14,rep,packed,name=sacrifice_list,json=sacrificeList,proto3" json:"sacrifice_list,omitempty"`
+ Index uint32 `protobuf:"varint,8,opt,name=index,proto3" json:"index,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *LunaRiteSacrificeRsp) Reset() {
+ *x = LunaRiteSacrificeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteSacrificeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteSacrificeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteSacrificeRsp) ProtoMessage() {}
+
+func (x *LunaRiteSacrificeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteSacrificeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteSacrificeRsp.ProtoReflect.Descriptor instead.
+func (*LunaRiteSacrificeRsp) Descriptor() ([]byte, []int) {
+ return file_LunaRiteSacrificeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteSacrificeRsp) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LunaRiteSacrificeRsp) GetSacrificeList() []uint32 {
+ if x != nil {
+ return x.SacrificeList
+ }
+ return nil
+}
+
+func (x *LunaRiteSacrificeRsp) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *LunaRiteSacrificeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_LunaRiteSacrificeRsp_proto protoreflect.FileDescriptor
+
+var file_LunaRiteSacrificeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x53, 0x61, 0x63, 0x72, 0x69, 0x66,
+ 0x69, 0x63, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65,
+ 0x53, 0x61, 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07,
+ 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61,
+ 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x61, 0x63, 0x72, 0x69, 0x66, 0x69,
+ 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x73,
+ 0x61, 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteSacrificeRsp_proto_rawDescOnce sync.Once
+ file_LunaRiteSacrificeRsp_proto_rawDescData = file_LunaRiteSacrificeRsp_proto_rawDesc
+)
+
+func file_LunaRiteSacrificeRsp_proto_rawDescGZIP() []byte {
+ file_LunaRiteSacrificeRsp_proto_rawDescOnce.Do(func() {
+ file_LunaRiteSacrificeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteSacrificeRsp_proto_rawDescData)
+ })
+ return file_LunaRiteSacrificeRsp_proto_rawDescData
+}
+
+var file_LunaRiteSacrificeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteSacrificeRsp_proto_goTypes = []interface{}{
+ (*LunaRiteSacrificeRsp)(nil), // 0: proto.LunaRiteSacrificeRsp
+}
+var file_LunaRiteSacrificeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteSacrificeRsp_proto_init() }
+func file_LunaRiteSacrificeRsp_proto_init() {
+ if File_LunaRiteSacrificeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteSacrificeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteSacrificeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteSacrificeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteSacrificeRsp_proto_goTypes,
+ DependencyIndexes: file_LunaRiteSacrificeRsp_proto_depIdxs,
+ MessageInfos: file_LunaRiteSacrificeRsp_proto_msgTypes,
+ }.Build()
+ File_LunaRiteSacrificeRsp_proto = out.File
+ file_LunaRiteSacrificeRsp_proto_rawDesc = nil
+ file_LunaRiteSacrificeRsp_proto_goTypes = nil
+ file_LunaRiteSacrificeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteTakeSacrificeRewardReq.pb.go b/protocol/proto/LunaRiteTakeSacrificeRewardReq.pb.go
new file mode 100644
index 00000000..59258904
--- /dev/null
+++ b/protocol/proto/LunaRiteTakeSacrificeRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteTakeSacrificeRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8045
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type LunaRiteTakeSacrificeRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaId uint32 `protobuf:"varint,11,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ Index uint32 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
+}
+
+func (x *LunaRiteTakeSacrificeRewardReq) Reset() {
+ *x = LunaRiteTakeSacrificeRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteTakeSacrificeRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteTakeSacrificeRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteTakeSacrificeRewardReq) ProtoMessage() {}
+
+func (x *LunaRiteTakeSacrificeRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteTakeSacrificeRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteTakeSacrificeRewardReq.ProtoReflect.Descriptor instead.
+func (*LunaRiteTakeSacrificeRewardReq) Descriptor() ([]byte, []int) {
+ return file_LunaRiteTakeSacrificeRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteTakeSacrificeRewardReq) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LunaRiteTakeSacrificeRewardReq) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+var File_LunaRiteTakeSacrificeRewardReq_proto protoreflect.FileDescriptor
+
+var file_LunaRiteTakeSacrificeRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x61,
+ 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a,
+ 0x1e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x61, 0x63,
+ 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteTakeSacrificeRewardReq_proto_rawDescOnce sync.Once
+ file_LunaRiteTakeSacrificeRewardReq_proto_rawDescData = file_LunaRiteTakeSacrificeRewardReq_proto_rawDesc
+)
+
+func file_LunaRiteTakeSacrificeRewardReq_proto_rawDescGZIP() []byte {
+ file_LunaRiteTakeSacrificeRewardReq_proto_rawDescOnce.Do(func() {
+ file_LunaRiteTakeSacrificeRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteTakeSacrificeRewardReq_proto_rawDescData)
+ })
+ return file_LunaRiteTakeSacrificeRewardReq_proto_rawDescData
+}
+
+var file_LunaRiteTakeSacrificeRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteTakeSacrificeRewardReq_proto_goTypes = []interface{}{
+ (*LunaRiteTakeSacrificeRewardReq)(nil), // 0: proto.LunaRiteTakeSacrificeRewardReq
+}
+var file_LunaRiteTakeSacrificeRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteTakeSacrificeRewardReq_proto_init() }
+func file_LunaRiteTakeSacrificeRewardReq_proto_init() {
+ if File_LunaRiteTakeSacrificeRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteTakeSacrificeRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteTakeSacrificeRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteTakeSacrificeRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteTakeSacrificeRewardReq_proto_goTypes,
+ DependencyIndexes: file_LunaRiteTakeSacrificeRewardReq_proto_depIdxs,
+ MessageInfos: file_LunaRiteTakeSacrificeRewardReq_proto_msgTypes,
+ }.Build()
+ File_LunaRiteTakeSacrificeRewardReq_proto = out.File
+ file_LunaRiteTakeSacrificeRewardReq_proto_rawDesc = nil
+ file_LunaRiteTakeSacrificeRewardReq_proto_goTypes = nil
+ file_LunaRiteTakeSacrificeRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunaRiteTakeSacrificeRewardRsp.pb.go b/protocol/proto/LunaRiteTakeSacrificeRewardRsp.pb.go
new file mode 100644
index 00000000..58b8918d
--- /dev/null
+++ b/protocol/proto/LunaRiteTakeSacrificeRewardRsp.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunaRiteTakeSacrificeRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8397
+// EnetChannelId: 0
+// EnetIsReliable: true
+type LunaRiteTakeSacrificeRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,11,opt,name=index,proto3" json:"index,omitempty"`
+ SacrificeRewardList []uint32 `protobuf:"varint,2,rep,packed,name=sacrifice_reward_list,json=sacrificeRewardList,proto3" json:"sacrifice_reward_list,omitempty"`
+ SacrificeRewardIndex uint32 `protobuf:"varint,14,opt,name=sacrifice_reward_index,json=sacrificeRewardIndex,proto3" json:"sacrifice_reward_index,omitempty"`
+ AreaId uint32 `protobuf:"varint,6,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *LunaRiteTakeSacrificeRewardRsp) Reset() {
+ *x = LunaRiteTakeSacrificeRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunaRiteTakeSacrificeRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunaRiteTakeSacrificeRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunaRiteTakeSacrificeRewardRsp) ProtoMessage() {}
+
+func (x *LunaRiteTakeSacrificeRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_LunaRiteTakeSacrificeRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunaRiteTakeSacrificeRewardRsp.ProtoReflect.Descriptor instead.
+func (*LunaRiteTakeSacrificeRewardRsp) Descriptor() ([]byte, []int) {
+ return file_LunaRiteTakeSacrificeRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunaRiteTakeSacrificeRewardRsp) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *LunaRiteTakeSacrificeRewardRsp) GetSacrificeRewardList() []uint32 {
+ if x != nil {
+ return x.SacrificeRewardList
+ }
+ return nil
+}
+
+func (x *LunaRiteTakeSacrificeRewardRsp) GetSacrificeRewardIndex() uint32 {
+ if x != nil {
+ return x.SacrificeRewardIndex
+ }
+ return 0
+}
+
+func (x *LunaRiteTakeSacrificeRewardRsp) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *LunaRiteTakeSacrificeRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_LunaRiteTakeSacrificeRewardRsp_proto protoreflect.FileDescriptor
+
+var file_LunaRiteTakeSacrificeRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x61,
+ 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x01,
+ 0x0a, 0x1e, 0x4c, 0x75, 0x6e, 0x61, 0x52, 0x69, 0x74, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x61,
+ 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
+ 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x61, 0x63, 0x72, 0x69, 0x66,
+ 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x61, 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x61,
+ 0x63, 0x72, 0x69, 0x66, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x61, 0x63, 0x72,
+ 0x69, 0x66, 0x69, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunaRiteTakeSacrificeRewardRsp_proto_rawDescOnce sync.Once
+ file_LunaRiteTakeSacrificeRewardRsp_proto_rawDescData = file_LunaRiteTakeSacrificeRewardRsp_proto_rawDesc
+)
+
+func file_LunaRiteTakeSacrificeRewardRsp_proto_rawDescGZIP() []byte {
+ file_LunaRiteTakeSacrificeRewardRsp_proto_rawDescOnce.Do(func() {
+ file_LunaRiteTakeSacrificeRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunaRiteTakeSacrificeRewardRsp_proto_rawDescData)
+ })
+ return file_LunaRiteTakeSacrificeRewardRsp_proto_rawDescData
+}
+
+var file_LunaRiteTakeSacrificeRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_LunaRiteTakeSacrificeRewardRsp_proto_goTypes = []interface{}{
+ (*LunaRiteTakeSacrificeRewardRsp)(nil), // 0: proto.LunaRiteTakeSacrificeRewardRsp
+}
+var file_LunaRiteTakeSacrificeRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_LunaRiteTakeSacrificeRewardRsp_proto_init() }
+func file_LunaRiteTakeSacrificeRewardRsp_proto_init() {
+ if File_LunaRiteTakeSacrificeRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunaRiteTakeSacrificeRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunaRiteTakeSacrificeRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunaRiteTakeSacrificeRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunaRiteTakeSacrificeRewardRsp_proto_goTypes,
+ DependencyIndexes: file_LunaRiteTakeSacrificeRewardRsp_proto_depIdxs,
+ MessageInfos: file_LunaRiteTakeSacrificeRewardRsp_proto_msgTypes,
+ }.Build()
+ File_LunaRiteTakeSacrificeRewardRsp_proto = out.File
+ file_LunaRiteTakeSacrificeRewardRsp_proto_rawDesc = nil
+ file_LunaRiteTakeSacrificeRewardRsp_proto_goTypes = nil
+ file_LunaRiteTakeSacrificeRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/LunchBoxData.pb.go b/protocol/proto/LunchBoxData.pb.go
new file mode 100644
index 00000000..2d162ed3
--- /dev/null
+++ b/protocol/proto/LunchBoxData.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: LunchBoxData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LunchBoxData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SlotMaterialMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=slot_material_map,json=slotMaterialMap,proto3" json:"slot_material_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *LunchBoxData) Reset() {
+ *x = LunchBoxData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_LunchBoxData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LunchBoxData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LunchBoxData) ProtoMessage() {}
+
+func (x *LunchBoxData) ProtoReflect() protoreflect.Message {
+ mi := &file_LunchBoxData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LunchBoxData.ProtoReflect.Descriptor instead.
+func (*LunchBoxData) Descriptor() ([]byte, []int) {
+ return file_LunchBoxData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *LunchBoxData) GetSlotMaterialMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SlotMaterialMap
+ }
+ return nil
+}
+
+var File_LunchBoxData_proto protoreflect.FileDescriptor
+
+var file_LunchBoxData_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x01, 0x0a, 0x0c,
+ 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x11,
+ 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x6c, 0x6f,
+ 0x74, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0f, 0x73, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4d,
+ 0x61, 0x70, 0x1a, 0x42, 0x0a, 0x14, 0x53, 0x6c, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_LunchBoxData_proto_rawDescOnce sync.Once
+ file_LunchBoxData_proto_rawDescData = file_LunchBoxData_proto_rawDesc
+)
+
+func file_LunchBoxData_proto_rawDescGZIP() []byte {
+ file_LunchBoxData_proto_rawDescOnce.Do(func() {
+ file_LunchBoxData_proto_rawDescData = protoimpl.X.CompressGZIP(file_LunchBoxData_proto_rawDescData)
+ })
+ return file_LunchBoxData_proto_rawDescData
+}
+
+var file_LunchBoxData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_LunchBoxData_proto_goTypes = []interface{}{
+ (*LunchBoxData)(nil), // 0: proto.LunchBoxData
+ nil, // 1: proto.LunchBoxData.SlotMaterialMapEntry
+}
+var file_LunchBoxData_proto_depIdxs = []int32{
+ 1, // 0: proto.LunchBoxData.slot_material_map:type_name -> proto.LunchBoxData.SlotMaterialMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_LunchBoxData_proto_init() }
+func file_LunchBoxData_proto_init() {
+ if File_LunchBoxData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_LunchBoxData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LunchBoxData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_LunchBoxData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_LunchBoxData_proto_goTypes,
+ DependencyIndexes: file_LunchBoxData_proto_depIdxs,
+ MessageInfos: file_LunchBoxData_proto_msgTypes,
+ }.Build()
+ File_LunchBoxData_proto = out.File
+ file_LunchBoxData_proto_rawDesc = nil
+ file_LunchBoxData_proto_goTypes = nil
+ file_LunchBoxData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MPLevelEntityInfo.pb.go b/protocol/proto/MPLevelEntityInfo.pb.go
new file mode 100644
index 00000000..6a673eb9
--- /dev/null
+++ b/protocol/proto/MPLevelEntityInfo.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MPLevelEntityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MPLevelEntityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,2,opt,name=ability_info,json=abilityInfo,proto3" json:"ability_info,omitempty"`
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ AuthorityPeerId uint32 `protobuf:"varint,3,opt,name=authority_peer_id,json=authorityPeerId,proto3" json:"authority_peer_id,omitempty"`
+}
+
+func (x *MPLevelEntityInfo) Reset() {
+ *x = MPLevelEntityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MPLevelEntityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MPLevelEntityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MPLevelEntityInfo) ProtoMessage() {}
+
+func (x *MPLevelEntityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MPLevelEntityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MPLevelEntityInfo.ProtoReflect.Descriptor instead.
+func (*MPLevelEntityInfo) Descriptor() ([]byte, []int) {
+ return file_MPLevelEntityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MPLevelEntityInfo) GetAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.AbilityInfo
+ }
+ return nil
+}
+
+func (x *MPLevelEntityInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *MPLevelEntityInfo) GetAuthorityPeerId() uint32 {
+ if x != nil {
+ return x.AuthorityPeerId
+ }
+ return 0
+}
+
+var File_MPLevelEntityInfo_proto protoreflect.FileDescriptor
+
+var file_MPLevelEntityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x4d, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1a, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a,
+ 0x11, 0x4d, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x3e, 0x0a, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12,
+ 0x2a, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x68,
+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MPLevelEntityInfo_proto_rawDescOnce sync.Once
+ file_MPLevelEntityInfo_proto_rawDescData = file_MPLevelEntityInfo_proto_rawDesc
+)
+
+func file_MPLevelEntityInfo_proto_rawDescGZIP() []byte {
+ file_MPLevelEntityInfo_proto_rawDescOnce.Do(func() {
+ file_MPLevelEntityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MPLevelEntityInfo_proto_rawDescData)
+ })
+ return file_MPLevelEntityInfo_proto_rawDescData
+}
+
+var file_MPLevelEntityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MPLevelEntityInfo_proto_goTypes = []interface{}{
+ (*MPLevelEntityInfo)(nil), // 0: proto.MPLevelEntityInfo
+ (*AbilitySyncStateInfo)(nil), // 1: proto.AbilitySyncStateInfo
+}
+var file_MPLevelEntityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MPLevelEntityInfo.ability_info:type_name -> proto.AbilitySyncStateInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MPLevelEntityInfo_proto_init() }
+func file_MPLevelEntityInfo_proto_init() {
+ if File_MPLevelEntityInfo_proto != nil {
+ return
+ }
+ file_AbilitySyncStateInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MPLevelEntityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MPLevelEntityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MPLevelEntityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MPLevelEntityInfo_proto_goTypes,
+ DependencyIndexes: file_MPLevelEntityInfo_proto_depIdxs,
+ MessageInfos: file_MPLevelEntityInfo_proto_msgTypes,
+ }.Build()
+ File_MPLevelEntityInfo_proto = out.File
+ file_MPLevelEntityInfo_proto_rawDesc = nil
+ file_MPLevelEntityInfo_proto_goTypes = nil
+ file_MPLevelEntityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MailChangeNotify.pb.go b/protocol/proto/MailChangeNotify.pb.go
new file mode 100644
index 00000000..dd27fdfe
--- /dev/null
+++ b/protocol/proto/MailChangeNotify.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MailChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1498
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MailChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MailList []*MailData `protobuf:"bytes,14,rep,name=mail_list,json=mailList,proto3" json:"mail_list,omitempty"`
+ DelMailIdList []uint32 `protobuf:"varint,8,rep,packed,name=del_mail_id_list,json=delMailIdList,proto3" json:"del_mail_id_list,omitempty"`
+}
+
+func (x *MailChangeNotify) Reset() {
+ *x = MailChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MailChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MailChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MailChangeNotify) ProtoMessage() {}
+
+func (x *MailChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MailChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MailChangeNotify.ProtoReflect.Descriptor instead.
+func (*MailChangeNotify) Descriptor() ([]byte, []int) {
+ return file_MailChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MailChangeNotify) GetMailList() []*MailData {
+ if x != nil {
+ return x.MailList
+ }
+ return nil
+}
+
+func (x *MailChangeNotify) GetDelMailIdList() []uint32 {
+ if x != nil {
+ return x.DelMailIdList
+ }
+ return nil
+}
+
+var File_MailChangeNotify_proto protoreflect.FileDescriptor
+
+var file_MailChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0e, 0x4d, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x69, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x27, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x65, 0x6c,
+ 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MailChangeNotify_proto_rawDescOnce sync.Once
+ file_MailChangeNotify_proto_rawDescData = file_MailChangeNotify_proto_rawDesc
+)
+
+func file_MailChangeNotify_proto_rawDescGZIP() []byte {
+ file_MailChangeNotify_proto_rawDescOnce.Do(func() {
+ file_MailChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MailChangeNotify_proto_rawDescData)
+ })
+ return file_MailChangeNotify_proto_rawDescData
+}
+
+var file_MailChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MailChangeNotify_proto_goTypes = []interface{}{
+ (*MailChangeNotify)(nil), // 0: proto.MailChangeNotify
+ (*MailData)(nil), // 1: proto.MailData
+}
+var file_MailChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MailChangeNotify.mail_list:type_name -> proto.MailData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MailChangeNotify_proto_init() }
+func file_MailChangeNotify_proto_init() {
+ if File_MailChangeNotify_proto != nil {
+ return
+ }
+ file_MailData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MailChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MailChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MailChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MailChangeNotify_proto_goTypes,
+ DependencyIndexes: file_MailChangeNotify_proto_depIdxs,
+ MessageInfos: file_MailChangeNotify_proto_msgTypes,
+ }.Build()
+ File_MailChangeNotify_proto = out.File
+ file_MailChangeNotify_proto_rawDesc = nil
+ file_MailChangeNotify_proto_goTypes = nil
+ file_MailChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MailCollectState.pb.go b/protocol/proto/MailCollectState.pb.go
new file mode 100644
index 00000000..b8fd1c0f
--- /dev/null
+++ b/protocol/proto/MailCollectState.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MailCollectState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MailCollectState int32
+
+const (
+ MailCollectState_MAIL_COLLECT_STATE_COLLECTIBLE_UNKNOWN MailCollectState = 0
+ MailCollectState_MAIL_COLLECT_STATE_NOT_COLLECTIBLE MailCollectState = 1
+ MailCollectState_MAIL_COLLECT_STATE_COLLECTIBLE_UNCOLLECTED MailCollectState = 2
+ MailCollectState_MAIL_COLLECT_STATE_COLLECTIBLE_COLLECTED MailCollectState = 3
+)
+
+// Enum value maps for MailCollectState.
+var (
+ MailCollectState_name = map[int32]string{
+ 0: "MAIL_COLLECT_STATE_COLLECTIBLE_UNKNOWN",
+ 1: "MAIL_COLLECT_STATE_NOT_COLLECTIBLE",
+ 2: "MAIL_COLLECT_STATE_COLLECTIBLE_UNCOLLECTED",
+ 3: "MAIL_COLLECT_STATE_COLLECTIBLE_COLLECTED",
+ }
+ MailCollectState_value = map[string]int32{
+ "MAIL_COLLECT_STATE_COLLECTIBLE_UNKNOWN": 0,
+ "MAIL_COLLECT_STATE_NOT_COLLECTIBLE": 1,
+ "MAIL_COLLECT_STATE_COLLECTIBLE_UNCOLLECTED": 2,
+ "MAIL_COLLECT_STATE_COLLECTIBLE_COLLECTED": 3,
+ }
+)
+
+func (x MailCollectState) Enum() *MailCollectState {
+ p := new(MailCollectState)
+ *p = x
+ return p
+}
+
+func (x MailCollectState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MailCollectState) Descriptor() protoreflect.EnumDescriptor {
+ return file_MailCollectState_proto_enumTypes[0].Descriptor()
+}
+
+func (MailCollectState) Type() protoreflect.EnumType {
+ return &file_MailCollectState_proto_enumTypes[0]
+}
+
+func (x MailCollectState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MailCollectState.Descriptor instead.
+func (MailCollectState) EnumDescriptor() ([]byte, []int) {
+ return file_MailCollectState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MailCollectState_proto protoreflect.FileDescriptor
+
+var file_MailCollectState_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0xc4, 0x01, 0x0a, 0x10, 0x4d, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x4f, 0x4c,
+ 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45,
+ 0x43, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
+ 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45,
+ 0x43, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x2e, 0x0a, 0x2a, 0x4d, 0x41, 0x49, 0x4c,
+ 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43,
+ 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4c,
+ 0x4c, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x4d, 0x41, 0x49, 0x4c,
+ 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43,
+ 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45,
+ 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MailCollectState_proto_rawDescOnce sync.Once
+ file_MailCollectState_proto_rawDescData = file_MailCollectState_proto_rawDesc
+)
+
+func file_MailCollectState_proto_rawDescGZIP() []byte {
+ file_MailCollectState_proto_rawDescOnce.Do(func() {
+ file_MailCollectState_proto_rawDescData = protoimpl.X.CompressGZIP(file_MailCollectState_proto_rawDescData)
+ })
+ return file_MailCollectState_proto_rawDescData
+}
+
+var file_MailCollectState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MailCollectState_proto_goTypes = []interface{}{
+ (MailCollectState)(0), // 0: proto.MailCollectState
+}
+var file_MailCollectState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MailCollectState_proto_init() }
+func file_MailCollectState_proto_init() {
+ if File_MailCollectState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MailCollectState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MailCollectState_proto_goTypes,
+ DependencyIndexes: file_MailCollectState_proto_depIdxs,
+ EnumInfos: file_MailCollectState_proto_enumTypes,
+ }.Build()
+ File_MailCollectState_proto = out.File
+ file_MailCollectState_proto_rawDesc = nil
+ file_MailCollectState_proto_goTypes = nil
+ file_MailCollectState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MailData.pb.go b/protocol/proto/MailData.pb.go
new file mode 100644
index 00000000..a3109e71
--- /dev/null
+++ b/protocol/proto/MailData.pb.go
@@ -0,0 +1,276 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MailData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MailData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MailId uint32 `protobuf:"varint,1,opt,name=mail_id,json=mailId,proto3" json:"mail_id,omitempty"`
+ MailTextContent *MailTextContent `protobuf:"bytes,4,opt,name=mail_text_content,json=mailTextContent,proto3" json:"mail_text_content,omitempty"`
+ ItemList []*MailItem `protobuf:"bytes,7,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ SendTime uint32 `protobuf:"varint,8,opt,name=send_time,json=sendTime,proto3" json:"send_time,omitempty"`
+ ExpireTime uint32 `protobuf:"varint,9,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
+ Importance uint32 `protobuf:"varint,10,opt,name=importance,proto3" json:"importance,omitempty"`
+ IsRead bool `protobuf:"varint,11,opt,name=is_read,json=isRead,proto3" json:"is_read,omitempty"`
+ IsAttachmentGot bool `protobuf:"varint,12,opt,name=is_attachment_got,json=isAttachmentGot,proto3" json:"is_attachment_got,omitempty"`
+ ConfigId uint32 `protobuf:"varint,13,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ ArgumentList []string `protobuf:"bytes,14,rep,name=argument_list,json=argumentList,proto3" json:"argument_list,omitempty"`
+ CollectState MailCollectState `protobuf:"varint,15,opt,name=collect_state,json=collectState,proto3,enum=proto.MailCollectState" json:"collect_state,omitempty"`
+}
+
+func (x *MailData) Reset() {
+ *x = MailData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MailData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MailData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MailData) ProtoMessage() {}
+
+func (x *MailData) ProtoReflect() protoreflect.Message {
+ mi := &file_MailData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MailData.ProtoReflect.Descriptor instead.
+func (*MailData) Descriptor() ([]byte, []int) {
+ return file_MailData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MailData) GetMailId() uint32 {
+ if x != nil {
+ return x.MailId
+ }
+ return 0
+}
+
+func (x *MailData) GetMailTextContent() *MailTextContent {
+ if x != nil {
+ return x.MailTextContent
+ }
+ return nil
+}
+
+func (x *MailData) GetItemList() []*MailItem {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *MailData) GetSendTime() uint32 {
+ if x != nil {
+ return x.SendTime
+ }
+ return 0
+}
+
+func (x *MailData) GetExpireTime() uint32 {
+ if x != nil {
+ return x.ExpireTime
+ }
+ return 0
+}
+
+func (x *MailData) GetImportance() uint32 {
+ if x != nil {
+ return x.Importance
+ }
+ return 0
+}
+
+func (x *MailData) GetIsRead() bool {
+ if x != nil {
+ return x.IsRead
+ }
+ return false
+}
+
+func (x *MailData) GetIsAttachmentGot() bool {
+ if x != nil {
+ return x.IsAttachmentGot
+ }
+ return false
+}
+
+func (x *MailData) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *MailData) GetArgumentList() []string {
+ if x != nil {
+ return x.ArgumentList
+ }
+ return nil
+}
+
+func (x *MailData) GetCollectState() MailCollectState {
+ if x != nil {
+ return x.CollectState
+ }
+ return MailCollectState_MAIL_COLLECT_STATE_COLLECTIBLE_UNKNOWN
+}
+
+var File_MailData_proto protoreflect.FileDescriptor
+
+var file_MailData_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x4d, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4d, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0e, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x15, 0x4d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x03, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6c, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x11,
+ 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,
+ 0x0f, 0x6d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x12, 0x2c, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6c,
+ 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b,
+ 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65,
+ 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
+ 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07,
+ 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
+ 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61,
+ 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0f, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x6f,
+ 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x23,
+ 0x0a, 0x0d, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MailData_proto_rawDescOnce sync.Once
+ file_MailData_proto_rawDescData = file_MailData_proto_rawDesc
+)
+
+func file_MailData_proto_rawDescGZIP() []byte {
+ file_MailData_proto_rawDescOnce.Do(func() {
+ file_MailData_proto_rawDescData = protoimpl.X.CompressGZIP(file_MailData_proto_rawDescData)
+ })
+ return file_MailData_proto_rawDescData
+}
+
+var file_MailData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MailData_proto_goTypes = []interface{}{
+ (*MailData)(nil), // 0: proto.MailData
+ (*MailTextContent)(nil), // 1: proto.MailTextContent
+ (*MailItem)(nil), // 2: proto.MailItem
+ (MailCollectState)(0), // 3: proto.MailCollectState
+}
+var file_MailData_proto_depIdxs = []int32{
+ 1, // 0: proto.MailData.mail_text_content:type_name -> proto.MailTextContent
+ 2, // 1: proto.MailData.item_list:type_name -> proto.MailItem
+ 3, // 2: proto.MailData.collect_state:type_name -> proto.MailCollectState
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_MailData_proto_init() }
+func file_MailData_proto_init() {
+ if File_MailData_proto != nil {
+ return
+ }
+ file_MailCollectState_proto_init()
+ file_MailItem_proto_init()
+ file_MailTextContent_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MailData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MailData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MailData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MailData_proto_goTypes,
+ DependencyIndexes: file_MailData_proto_depIdxs,
+ MessageInfos: file_MailData_proto_msgTypes,
+ }.Build()
+ File_MailData_proto = out.File
+ file_MailData_proto_rawDesc = nil
+ file_MailData_proto_goTypes = nil
+ file_MailData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MailItem.pb.go b/protocol/proto/MailItem.pb.go
new file mode 100644
index 00000000..791bddf3
--- /dev/null
+++ b/protocol/proto/MailItem.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MailItem.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MailItem struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EquipParam *EquipParam `protobuf:"bytes,1,opt,name=equip_param,json=equipParam,proto3" json:"equip_param,omitempty"`
+ DeleteInfo *MaterialDeleteInfo `protobuf:"bytes,2,opt,name=delete_info,json=deleteInfo,proto3" json:"delete_info,omitempty"`
+}
+
+func (x *MailItem) Reset() {
+ *x = MailItem{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MailItem_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MailItem) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MailItem) ProtoMessage() {}
+
+func (x *MailItem) ProtoReflect() protoreflect.Message {
+ mi := &file_MailItem_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MailItem.ProtoReflect.Descriptor instead.
+func (*MailItem) Descriptor() ([]byte, []int) {
+ return file_MailItem_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MailItem) GetEquipParam() *EquipParam {
+ if x != nil {
+ return x.EquipParam
+ }
+ return nil
+}
+
+func (x *MailItem) GetDeleteInfo() *MaterialDeleteInfo {
+ if x != nil {
+ return x.DeleteInfo
+ }
+ return nil
+}
+
+var File_MailItem_proto protoreflect.FileDescriptor
+
+var file_MailItem_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x45, 0x71, 0x75, 0x69, 0x70, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x4d, 0x61, 0x74, 0x65, 0x72,
+ 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x12,
+ 0x32, 0x0a, 0x0b, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x71, 0x75,
+ 0x69, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MailItem_proto_rawDescOnce sync.Once
+ file_MailItem_proto_rawDescData = file_MailItem_proto_rawDesc
+)
+
+func file_MailItem_proto_rawDescGZIP() []byte {
+ file_MailItem_proto_rawDescOnce.Do(func() {
+ file_MailItem_proto_rawDescData = protoimpl.X.CompressGZIP(file_MailItem_proto_rawDescData)
+ })
+ return file_MailItem_proto_rawDescData
+}
+
+var file_MailItem_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MailItem_proto_goTypes = []interface{}{
+ (*MailItem)(nil), // 0: proto.MailItem
+ (*EquipParam)(nil), // 1: proto.EquipParam
+ (*MaterialDeleteInfo)(nil), // 2: proto.MaterialDeleteInfo
+}
+var file_MailItem_proto_depIdxs = []int32{
+ 1, // 0: proto.MailItem.equip_param:type_name -> proto.EquipParam
+ 2, // 1: proto.MailItem.delete_info:type_name -> proto.MaterialDeleteInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_MailItem_proto_init() }
+func file_MailItem_proto_init() {
+ if File_MailItem_proto != nil {
+ return
+ }
+ file_EquipParam_proto_init()
+ file_MaterialDeleteInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MailItem_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MailItem); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MailItem_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MailItem_proto_goTypes,
+ DependencyIndexes: file_MailItem_proto_depIdxs,
+ MessageInfos: file_MailItem_proto_msgTypes,
+ }.Build()
+ File_MailItem_proto = out.File
+ file_MailItem_proto_rawDesc = nil
+ file_MailItem_proto_goTypes = nil
+ file_MailItem_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MailTextContent.pb.go b/protocol/proto/MailTextContent.pb.go
new file mode 100644
index 00000000..656dd4ec
--- /dev/null
+++ b/protocol/proto/MailTextContent.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MailTextContent.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MailTextContent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
+ Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
+ Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"`
+}
+
+func (x *MailTextContent) Reset() {
+ *x = MailTextContent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MailTextContent_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MailTextContent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MailTextContent) ProtoMessage() {}
+
+func (x *MailTextContent) ProtoReflect() protoreflect.Message {
+ mi := &file_MailTextContent_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MailTextContent.ProtoReflect.Descriptor instead.
+func (*MailTextContent) Descriptor() ([]byte, []int) {
+ return file_MailTextContent_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MailTextContent) GetTitle() string {
+ if x != nil {
+ return x.Title
+ }
+ return ""
+}
+
+func (x *MailTextContent) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+func (x *MailTextContent) GetSender() string {
+ if x != nil {
+ return x.Sender
+ }
+ return ""
+}
+
+var File_MailTextContent_proto protoreflect.FileDescriptor
+
+var file_MailTextContent_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59,
+ 0x0a, 0x0f, 0x4d, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MailTextContent_proto_rawDescOnce sync.Once
+ file_MailTextContent_proto_rawDescData = file_MailTextContent_proto_rawDesc
+)
+
+func file_MailTextContent_proto_rawDescGZIP() []byte {
+ file_MailTextContent_proto_rawDescOnce.Do(func() {
+ file_MailTextContent_proto_rawDescData = protoimpl.X.CompressGZIP(file_MailTextContent_proto_rawDescData)
+ })
+ return file_MailTextContent_proto_rawDescData
+}
+
+var file_MailTextContent_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MailTextContent_proto_goTypes = []interface{}{
+ (*MailTextContent)(nil), // 0: proto.MailTextContent
+}
+var file_MailTextContent_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MailTextContent_proto_init() }
+func file_MailTextContent_proto_init() {
+ if File_MailTextContent_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MailTextContent_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MailTextContent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MailTextContent_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MailTextContent_proto_goTypes,
+ DependencyIndexes: file_MailTextContent_proto_depIdxs,
+ MessageInfos: file_MailTextContent_proto_msgTypes,
+ }.Build()
+ File_MailTextContent_proto = out.File
+ file_MailTextContent_proto_rawDesc = nil
+ file_MailTextContent_proto_goTypes = nil
+ file_MailTextContent_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MainCoop.pb.go b/protocol/proto/MainCoop.pb.go
new file mode 100644
index 00000000..40d1bea5
--- /dev/null
+++ b/protocol/proto/MainCoop.pb.go
@@ -0,0 +1,302 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MainCoop.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MainCoop_Status int32
+
+const (
+ MainCoop_STATUS_INVALID MainCoop_Status = 0
+ MainCoop_STATUS_RUNNING MainCoop_Status = 1
+ MainCoop_STATUS_FINISHED MainCoop_Status = 2
+)
+
+// Enum value maps for MainCoop_Status.
+var (
+ MainCoop_Status_name = map[int32]string{
+ 0: "STATUS_INVALID",
+ 1: "STATUS_RUNNING",
+ 2: "STATUS_FINISHED",
+ }
+ MainCoop_Status_value = map[string]int32{
+ "STATUS_INVALID": 0,
+ "STATUS_RUNNING": 1,
+ "STATUS_FINISHED": 2,
+ }
+)
+
+func (x MainCoop_Status) Enum() *MainCoop_Status {
+ p := new(MainCoop_Status)
+ *p = x
+ return p
+}
+
+func (x MainCoop_Status) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MainCoop_Status) Descriptor() protoreflect.EnumDescriptor {
+ return file_MainCoop_proto_enumTypes[0].Descriptor()
+}
+
+func (MainCoop_Status) Type() protoreflect.EnumType {
+ return &file_MainCoop_proto_enumTypes[0]
+}
+
+func (x MainCoop_Status) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MainCoop_Status.Descriptor instead.
+func (MainCoop_Status) EnumDescriptor() ([]byte, []int) {
+ return file_MainCoop_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type MainCoop struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SeenEndingMap map[uint32]uint32 `protobuf:"bytes,13,rep,name=seen_ending_map,json=seenEndingMap,proto3" json:"seen_ending_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ NormalVarMap map[uint32]int32 `protobuf:"bytes,4,rep,name=normal_var_map,json=normalVarMap,proto3" json:"normal_var_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ SelfConfidence uint32 `protobuf:"varint,5,opt,name=self_confidence,json=selfConfidence,proto3" json:"self_confidence,omitempty"`
+ SavePointIdList []uint32 `protobuf:"varint,1,rep,packed,name=save_point_id_list,json=savePointIdList,proto3" json:"save_point_id_list,omitempty"`
+ Status MainCoop_Status `protobuf:"varint,6,opt,name=status,proto3,enum=proto.MainCoop_Status" json:"status,omitempty"`
+ TempVarMap map[uint32]int32 `protobuf:"bytes,11,rep,name=temp_var_map,json=tempVarMap,proto3" json:"temp_var_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Id uint32 `protobuf:"varint,9,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *MainCoop) Reset() {
+ *x = MainCoop{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MainCoop_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MainCoop) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MainCoop) ProtoMessage() {}
+
+func (x *MainCoop) ProtoReflect() protoreflect.Message {
+ mi := &file_MainCoop_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MainCoop.ProtoReflect.Descriptor instead.
+func (*MainCoop) Descriptor() ([]byte, []int) {
+ return file_MainCoop_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MainCoop) GetSeenEndingMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SeenEndingMap
+ }
+ return nil
+}
+
+func (x *MainCoop) GetNormalVarMap() map[uint32]int32 {
+ if x != nil {
+ return x.NormalVarMap
+ }
+ return nil
+}
+
+func (x *MainCoop) GetSelfConfidence() uint32 {
+ if x != nil {
+ return x.SelfConfidence
+ }
+ return 0
+}
+
+func (x *MainCoop) GetSavePointIdList() []uint32 {
+ if x != nil {
+ return x.SavePointIdList
+ }
+ return nil
+}
+
+func (x *MainCoop) GetStatus() MainCoop_Status {
+ if x != nil {
+ return x.Status
+ }
+ return MainCoop_STATUS_INVALID
+}
+
+func (x *MainCoop) GetTempVarMap() map[uint32]int32 {
+ if x != nil {
+ return x.TempVarMap
+ }
+ return nil
+}
+
+func (x *MainCoop) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_MainCoop_proto protoreflect.FileDescriptor
+
+var file_MainCoop_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x05, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6e,
+ 0x43, 0x6f, 0x6f, 0x70, 0x12, 0x4a, 0x0a, 0x0f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64,
+ 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x2e, 0x53,
+ 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x0d, 0x73, 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x70,
+ 0x12, 0x47, 0x0a, 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
+ 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6e, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c,
+ 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
+ 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f,
+ 0x73, 0x61, 0x76, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70,
+ 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
+ 0x41, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61,
+ 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x2e, 0x54, 0x65, 0x6d, 0x70, 0x56, 0x61, 0x72, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x56, 0x61, 0x72, 0x4d,
+ 0x61, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02,
+ 0x69, 0x64, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x69, 0x6e, 0x67,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x56, 0x61,
+ 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x54, 0x65, 0x6d, 0x70, 0x56, 0x61, 0x72,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x22, 0x45, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12,
+ 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44,
+ 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e,
+ 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
+ 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MainCoop_proto_rawDescOnce sync.Once
+ file_MainCoop_proto_rawDescData = file_MainCoop_proto_rawDesc
+)
+
+func file_MainCoop_proto_rawDescGZIP() []byte {
+ file_MainCoop_proto_rawDescOnce.Do(func() {
+ file_MainCoop_proto_rawDescData = protoimpl.X.CompressGZIP(file_MainCoop_proto_rawDescData)
+ })
+ return file_MainCoop_proto_rawDescData
+}
+
+var file_MainCoop_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MainCoop_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_MainCoop_proto_goTypes = []interface{}{
+ (MainCoop_Status)(0), // 0: proto.MainCoop.Status
+ (*MainCoop)(nil), // 1: proto.MainCoop
+ nil, // 2: proto.MainCoop.SeenEndingMapEntry
+ nil, // 3: proto.MainCoop.NormalVarMapEntry
+ nil, // 4: proto.MainCoop.TempVarMapEntry
+}
+var file_MainCoop_proto_depIdxs = []int32{
+ 2, // 0: proto.MainCoop.seen_ending_map:type_name -> proto.MainCoop.SeenEndingMapEntry
+ 3, // 1: proto.MainCoop.normal_var_map:type_name -> proto.MainCoop.NormalVarMapEntry
+ 0, // 2: proto.MainCoop.status:type_name -> proto.MainCoop.Status
+ 4, // 3: proto.MainCoop.temp_var_map:type_name -> proto.MainCoop.TempVarMapEntry
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_MainCoop_proto_init() }
+func file_MainCoop_proto_init() {
+ if File_MainCoop_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MainCoop_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MainCoop); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MainCoop_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MainCoop_proto_goTypes,
+ DependencyIndexes: file_MainCoop_proto_depIdxs,
+ EnumInfos: file_MainCoop_proto_enumTypes,
+ MessageInfos: file_MainCoop_proto_msgTypes,
+ }.Build()
+ File_MainCoop_proto = out.File
+ file_MainCoop_proto_rawDesc = nil
+ file_MainCoop_proto_goTypes = nil
+ file_MainCoop_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MainCoopFailNotify.pb.go b/protocol/proto/MainCoopFailNotify.pb.go
new file mode 100644
index 00000000..f1e58f07
--- /dev/null
+++ b/protocol/proto/MainCoopFailNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MainCoopFailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1951
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MainCoopFailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TextmapId string `protobuf:"bytes,7,opt,name=textmap_id,json=textmapId,proto3" json:"textmap_id,omitempty"`
+ ChapterId uint32 `protobuf:"varint,15,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *MainCoopFailNotify) Reset() {
+ *x = MainCoopFailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MainCoopFailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MainCoopFailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MainCoopFailNotify) ProtoMessage() {}
+
+func (x *MainCoopFailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MainCoopFailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MainCoopFailNotify.ProtoReflect.Descriptor instead.
+func (*MainCoopFailNotify) Descriptor() ([]byte, []int) {
+ return file_MainCoopFailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MainCoopFailNotify) GetTextmapId() string {
+ if x != nil {
+ return x.TextmapId
+ }
+ return ""
+}
+
+func (x *MainCoopFailNotify) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+var File_MainCoopFailNotify_proto protoreflect.FileDescriptor
+
+var file_MainCoopFailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x52, 0x0a, 0x12, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x46, 0x61, 0x69,
+ 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x6d,
+ 0x61, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x78,
+ 0x74, 0x6d, 0x61, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MainCoopFailNotify_proto_rawDescOnce sync.Once
+ file_MainCoopFailNotify_proto_rawDescData = file_MainCoopFailNotify_proto_rawDesc
+)
+
+func file_MainCoopFailNotify_proto_rawDescGZIP() []byte {
+ file_MainCoopFailNotify_proto_rawDescOnce.Do(func() {
+ file_MainCoopFailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MainCoopFailNotify_proto_rawDescData)
+ })
+ return file_MainCoopFailNotify_proto_rawDescData
+}
+
+var file_MainCoopFailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MainCoopFailNotify_proto_goTypes = []interface{}{
+ (*MainCoopFailNotify)(nil), // 0: proto.MainCoopFailNotify
+}
+var file_MainCoopFailNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MainCoopFailNotify_proto_init() }
+func file_MainCoopFailNotify_proto_init() {
+ if File_MainCoopFailNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MainCoopFailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MainCoopFailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MainCoopFailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MainCoopFailNotify_proto_goTypes,
+ DependencyIndexes: file_MainCoopFailNotify_proto_depIdxs,
+ MessageInfos: file_MainCoopFailNotify_proto_msgTypes,
+ }.Build()
+ File_MainCoopFailNotify_proto = out.File
+ file_MainCoopFailNotify_proto_rawDesc = nil
+ file_MainCoopFailNotify_proto_goTypes = nil
+ file_MainCoopFailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MainCoopUpdateNotify.pb.go b/protocol/proto/MainCoopUpdateNotify.pb.go
new file mode 100644
index 00000000..fd166936
--- /dev/null
+++ b/protocol/proto/MainCoopUpdateNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MainCoopUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1968
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MainCoopUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MainCoopList []*MainCoop `protobuf:"bytes,5,rep,name=main_coop_list,json=mainCoopList,proto3" json:"main_coop_list,omitempty"`
+}
+
+func (x *MainCoopUpdateNotify) Reset() {
+ *x = MainCoopUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MainCoopUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MainCoopUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MainCoopUpdateNotify) ProtoMessage() {}
+
+func (x *MainCoopUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MainCoopUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MainCoopUpdateNotify.ProtoReflect.Descriptor instead.
+func (*MainCoopUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_MainCoopUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MainCoopUpdateNotify) GetMainCoopList() []*MainCoop {
+ if x != nil {
+ return x.MainCoopList
+ }
+ return nil
+}
+
+var File_MainCoopUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_MainCoopUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x14, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x35, 0x0a, 0x0e, 0x6d,
+ 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6e,
+ 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MainCoopUpdateNotify_proto_rawDescOnce sync.Once
+ file_MainCoopUpdateNotify_proto_rawDescData = file_MainCoopUpdateNotify_proto_rawDesc
+)
+
+func file_MainCoopUpdateNotify_proto_rawDescGZIP() []byte {
+ file_MainCoopUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_MainCoopUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MainCoopUpdateNotify_proto_rawDescData)
+ })
+ return file_MainCoopUpdateNotify_proto_rawDescData
+}
+
+var file_MainCoopUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MainCoopUpdateNotify_proto_goTypes = []interface{}{
+ (*MainCoopUpdateNotify)(nil), // 0: proto.MainCoopUpdateNotify
+ (*MainCoop)(nil), // 1: proto.MainCoop
+}
+var file_MainCoopUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MainCoopUpdateNotify.main_coop_list:type_name -> proto.MainCoop
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MainCoopUpdateNotify_proto_init() }
+func file_MainCoopUpdateNotify_proto_init() {
+ if File_MainCoopUpdateNotify_proto != nil {
+ return
+ }
+ file_MainCoop_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MainCoopUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MainCoopUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MainCoopUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MainCoopUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_MainCoopUpdateNotify_proto_depIdxs,
+ MessageInfos: file_MainCoopUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_MainCoopUpdateNotify_proto = out.File
+ file_MainCoopUpdateNotify_proto_rawDesc = nil
+ file_MainCoopUpdateNotify_proto_goTypes = nil
+ file_MainCoopUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MapAreaChangeNotify.pb.go b/protocol/proto/MapAreaChangeNotify.pb.go
new file mode 100644
index 00000000..296f80c8
--- /dev/null
+++ b/protocol/proto/MapAreaChangeNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MapAreaChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3378
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MapAreaChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MapAreaInfoList []*MapAreaInfo `protobuf:"bytes,3,rep,name=map_area_info_list,json=mapAreaInfoList,proto3" json:"map_area_info_list,omitempty"`
+}
+
+func (x *MapAreaChangeNotify) Reset() {
+ *x = MapAreaChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MapAreaChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MapAreaChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MapAreaChangeNotify) ProtoMessage() {}
+
+func (x *MapAreaChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MapAreaChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MapAreaChangeNotify.ProtoReflect.Descriptor instead.
+func (*MapAreaChangeNotify) Descriptor() ([]byte, []int) {
+ return file_MapAreaChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MapAreaChangeNotify) GetMapAreaInfoList() []*MapAreaInfo {
+ if x != nil {
+ return x.MapAreaInfoList
+ }
+ return nil
+}
+
+var File_MapAreaChangeNotify_proto protoreflect.FileDescriptor
+
+var file_MapAreaChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x11, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x12,
+ 0x6d, 0x61, 0x70, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6d, 0x61,
+ 0x70, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MapAreaChangeNotify_proto_rawDescOnce sync.Once
+ file_MapAreaChangeNotify_proto_rawDescData = file_MapAreaChangeNotify_proto_rawDesc
+)
+
+func file_MapAreaChangeNotify_proto_rawDescGZIP() []byte {
+ file_MapAreaChangeNotify_proto_rawDescOnce.Do(func() {
+ file_MapAreaChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MapAreaChangeNotify_proto_rawDescData)
+ })
+ return file_MapAreaChangeNotify_proto_rawDescData
+}
+
+var file_MapAreaChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MapAreaChangeNotify_proto_goTypes = []interface{}{
+ (*MapAreaChangeNotify)(nil), // 0: proto.MapAreaChangeNotify
+ (*MapAreaInfo)(nil), // 1: proto.MapAreaInfo
+}
+var file_MapAreaChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MapAreaChangeNotify.map_area_info_list:type_name -> proto.MapAreaInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MapAreaChangeNotify_proto_init() }
+func file_MapAreaChangeNotify_proto_init() {
+ if File_MapAreaChangeNotify_proto != nil {
+ return
+ }
+ file_MapAreaInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MapAreaChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MapAreaChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MapAreaChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MapAreaChangeNotify_proto_goTypes,
+ DependencyIndexes: file_MapAreaChangeNotify_proto_depIdxs,
+ MessageInfos: file_MapAreaChangeNotify_proto_msgTypes,
+ }.Build()
+ File_MapAreaChangeNotify_proto = out.File
+ file_MapAreaChangeNotify_proto_rawDesc = nil
+ file_MapAreaChangeNotify_proto_goTypes = nil
+ file_MapAreaChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MapAreaInfo.pb.go b/protocol/proto/MapAreaInfo.pb.go
new file mode 100644
index 00000000..bed0b66f
--- /dev/null
+++ b/protocol/proto/MapAreaInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MapAreaInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MapAreaInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MapAreaId uint32 `protobuf:"varint,1,opt,name=map_area_id,json=mapAreaId,proto3" json:"map_area_id,omitempty"`
+ IsOpen bool `protobuf:"varint,2,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *MapAreaInfo) Reset() {
+ *x = MapAreaInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MapAreaInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MapAreaInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MapAreaInfo) ProtoMessage() {}
+
+func (x *MapAreaInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MapAreaInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MapAreaInfo.ProtoReflect.Descriptor instead.
+func (*MapAreaInfo) Descriptor() ([]byte, []int) {
+ return file_MapAreaInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MapAreaInfo) GetMapAreaId() uint32 {
+ if x != nil {
+ return x.MapAreaId
+ }
+ return 0
+}
+
+func (x *MapAreaInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_MapAreaInfo_proto protoreflect.FileDescriptor
+
+var file_MapAreaInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x4d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x0b, 0x4d, 0x61,
+ 0x70, 0x41, 0x72, 0x65, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0b, 0x6d, 0x61, 0x70,
+ 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x6d, 0x61, 0x70, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MapAreaInfo_proto_rawDescOnce sync.Once
+ file_MapAreaInfo_proto_rawDescData = file_MapAreaInfo_proto_rawDesc
+)
+
+func file_MapAreaInfo_proto_rawDescGZIP() []byte {
+ file_MapAreaInfo_proto_rawDescOnce.Do(func() {
+ file_MapAreaInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MapAreaInfo_proto_rawDescData)
+ })
+ return file_MapAreaInfo_proto_rawDescData
+}
+
+var file_MapAreaInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MapAreaInfo_proto_goTypes = []interface{}{
+ (*MapAreaInfo)(nil), // 0: proto.MapAreaInfo
+}
+var file_MapAreaInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MapAreaInfo_proto_init() }
+func file_MapAreaInfo_proto_init() {
+ if File_MapAreaInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MapAreaInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MapAreaInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MapAreaInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MapAreaInfo_proto_goTypes,
+ DependencyIndexes: file_MapAreaInfo_proto_depIdxs,
+ MessageInfos: file_MapAreaInfo_proto_msgTypes,
+ }.Build()
+ File_MapAreaInfo_proto = out.File
+ file_MapAreaInfo_proto_rawDesc = nil
+ file_MapAreaInfo_proto_goTypes = nil
+ file_MapAreaInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MapInfo.pb.go b/protocol/proto/MapInfo.pb.go
new file mode 100644
index 00000000..d53d10d4
--- /dev/null
+++ b/protocol/proto/MapInfo.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MapInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MapInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Minx int32 `protobuf:"varint,1,opt,name=minx,proto3" json:"minx,omitempty"`
+ Maxx int32 `protobuf:"varint,2,opt,name=maxx,proto3" json:"maxx,omitempty"`
+ Minz int32 `protobuf:"varint,3,opt,name=minz,proto3" json:"minz,omitempty"`
+ Maxz int32 `protobuf:"varint,4,opt,name=maxz,proto3" json:"maxz,omitempty"`
+ Cells []*CellInfo `protobuf:"bytes,5,rep,name=cells,proto3" json:"cells,omitempty"`
+}
+
+func (x *MapInfo) Reset() {
+ *x = MapInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MapInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MapInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MapInfo) ProtoMessage() {}
+
+func (x *MapInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MapInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MapInfo.ProtoReflect.Descriptor instead.
+func (*MapInfo) Descriptor() ([]byte, []int) {
+ return file_MapInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MapInfo) GetMinx() int32 {
+ if x != nil {
+ return x.Minx
+ }
+ return 0
+}
+
+func (x *MapInfo) GetMaxx() int32 {
+ if x != nil {
+ return x.Maxx
+ }
+ return 0
+}
+
+func (x *MapInfo) GetMinz() int32 {
+ if x != nil {
+ return x.Minz
+ }
+ return 0
+}
+
+func (x *MapInfo) GetMaxz() int32 {
+ if x != nil {
+ return x.Maxz
+ }
+ return 0
+}
+
+func (x *MapInfo) GetCells() []*CellInfo {
+ if x != nil {
+ return x.Cells
+ }
+ return nil
+}
+
+var File_MapInfo_proto protoreflect.FileDescriptor
+
+var file_MapInfo_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x07, 0x4d, 0x61, 0x70, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69, 0x6e, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x04, 0x6d, 0x69, 0x6e, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x61, 0x78, 0x78, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x61, 0x78, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69,
+ 0x6e, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x69, 0x6e, 0x7a, 0x12, 0x12,
+ 0x0a, 0x04, 0x6d, 0x61, 0x78, 0x7a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x61,
+ 0x78, 0x7a, 0x12, 0x25, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MapInfo_proto_rawDescOnce sync.Once
+ file_MapInfo_proto_rawDescData = file_MapInfo_proto_rawDesc
+)
+
+func file_MapInfo_proto_rawDescGZIP() []byte {
+ file_MapInfo_proto_rawDescOnce.Do(func() {
+ file_MapInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MapInfo_proto_rawDescData)
+ })
+ return file_MapInfo_proto_rawDescData
+}
+
+var file_MapInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MapInfo_proto_goTypes = []interface{}{
+ (*MapInfo)(nil), // 0: proto.MapInfo
+ (*CellInfo)(nil), // 1: proto.CellInfo
+}
+var file_MapInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MapInfo.cells:type_name -> proto.CellInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MapInfo_proto_init() }
+func file_MapInfo_proto_init() {
+ if File_MapInfo_proto != nil {
+ return
+ }
+ file_CellInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MapInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MapInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MapInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MapInfo_proto_goTypes,
+ DependencyIndexes: file_MapInfo_proto_depIdxs,
+ MessageInfos: file_MapInfo_proto_msgTypes,
+ }.Build()
+ File_MapInfo_proto = out.File
+ file_MapInfo_proto_rawDesc = nil
+ file_MapInfo_proto_goTypes = nil
+ file_MapInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MapMarkFromType.pb.go b/protocol/proto/MapMarkFromType.pb.go
new file mode 100644
index 00000000..6bad4c02
--- /dev/null
+++ b/protocol/proto/MapMarkFromType.pb.go
@@ -0,0 +1,150 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MapMarkFromType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MapMarkFromType int32
+
+const (
+ MapMarkFromType_MAP_MARK_FROM_TYPE_NONE MapMarkFromType = 0
+ MapMarkFromType_MAP_MARK_FROM_TYPE_MONSTER MapMarkFromType = 1
+ MapMarkFromType_MAP_MARK_FROM_TYPE_QUEST MapMarkFromType = 2
+)
+
+// Enum value maps for MapMarkFromType.
+var (
+ MapMarkFromType_name = map[int32]string{
+ 0: "MAP_MARK_FROM_TYPE_NONE",
+ 1: "MAP_MARK_FROM_TYPE_MONSTER",
+ 2: "MAP_MARK_FROM_TYPE_QUEST",
+ }
+ MapMarkFromType_value = map[string]int32{
+ "MAP_MARK_FROM_TYPE_NONE": 0,
+ "MAP_MARK_FROM_TYPE_MONSTER": 1,
+ "MAP_MARK_FROM_TYPE_QUEST": 2,
+ }
+)
+
+func (x MapMarkFromType) Enum() *MapMarkFromType {
+ p := new(MapMarkFromType)
+ *p = x
+ return p
+}
+
+func (x MapMarkFromType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MapMarkFromType) Descriptor() protoreflect.EnumDescriptor {
+ return file_MapMarkFromType_proto_enumTypes[0].Descriptor()
+}
+
+func (MapMarkFromType) Type() protoreflect.EnumType {
+ return &file_MapMarkFromType_proto_enumTypes[0]
+}
+
+func (x MapMarkFromType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MapMarkFromType.Descriptor instead.
+func (MapMarkFromType) EnumDescriptor() ([]byte, []int) {
+ return file_MapMarkFromType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MapMarkFromType_proto protoreflect.FileDescriptor
+
+var file_MapMarkFromType_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x6c,
+ 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x46, 0x52,
+ 0x4f, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e,
+ 0x0a, 0x1a, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1c,
+ 0x0a, 0x18, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MapMarkFromType_proto_rawDescOnce sync.Once
+ file_MapMarkFromType_proto_rawDescData = file_MapMarkFromType_proto_rawDesc
+)
+
+func file_MapMarkFromType_proto_rawDescGZIP() []byte {
+ file_MapMarkFromType_proto_rawDescOnce.Do(func() {
+ file_MapMarkFromType_proto_rawDescData = protoimpl.X.CompressGZIP(file_MapMarkFromType_proto_rawDescData)
+ })
+ return file_MapMarkFromType_proto_rawDescData
+}
+
+var file_MapMarkFromType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MapMarkFromType_proto_goTypes = []interface{}{
+ (MapMarkFromType)(0), // 0: proto.MapMarkFromType
+}
+var file_MapMarkFromType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MapMarkFromType_proto_init() }
+func file_MapMarkFromType_proto_init() {
+ if File_MapMarkFromType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MapMarkFromType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MapMarkFromType_proto_goTypes,
+ DependencyIndexes: file_MapMarkFromType_proto_depIdxs,
+ EnumInfos: file_MapMarkFromType_proto_enumTypes,
+ }.Build()
+ File_MapMarkFromType_proto = out.File
+ file_MapMarkFromType_proto_rawDesc = nil
+ file_MapMarkFromType_proto_goTypes = nil
+ file_MapMarkFromType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MapMarkPoint.pb.go b/protocol/proto/MapMarkPoint.pb.go
new file mode 100644
index 00000000..679c1e8f
--- /dev/null
+++ b/protocol/proto/MapMarkPoint.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MapMarkPoint.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MapMarkPoint struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,1,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
+ Pos *Vector `protobuf:"bytes,3,opt,name=pos,proto3" json:"pos,omitempty"`
+ PointType MapMarkPointType `protobuf:"varint,4,opt,name=point_type,json=pointType,proto3,enum=proto.MapMarkPointType" json:"point_type,omitempty"`
+ MonsterId uint32 `protobuf:"varint,5,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ FromType MapMarkFromType `protobuf:"varint,6,opt,name=from_type,json=fromType,proto3,enum=proto.MapMarkFromType" json:"from_type,omitempty"`
+ QuestId uint32 `protobuf:"varint,7,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *MapMarkPoint) Reset() {
+ *x = MapMarkPoint{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MapMarkPoint_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MapMarkPoint) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MapMarkPoint) ProtoMessage() {}
+
+func (x *MapMarkPoint) ProtoReflect() protoreflect.Message {
+ mi := &file_MapMarkPoint_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MapMarkPoint.ProtoReflect.Descriptor instead.
+func (*MapMarkPoint) Descriptor() ([]byte, []int) {
+ return file_MapMarkPoint_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MapMarkPoint) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *MapMarkPoint) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *MapMarkPoint) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *MapMarkPoint) GetPointType() MapMarkPointType {
+ if x != nil {
+ return x.PointType
+ }
+ return MapMarkPointType_MAP_MARK_POINT_TYPE_NPC
+}
+
+func (x *MapMarkPoint) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *MapMarkPoint) GetFromType() MapMarkFromType {
+ if x != nil {
+ return x.FromType
+ }
+ return MapMarkFromType_MAP_MARK_FROM_TYPE_NONE
+}
+
+func (x *MapMarkPoint) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_MapMarkPoint_proto protoreflect.FileDescriptor
+
+var file_MapMarkPoint_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x4d, 0x61, 0x70,
+ 0x4d, 0x61, 0x72, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x16, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x0c, 0x4d, 0x61, 0x70,
+ 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x36, 0x0a, 0x0a, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x33, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x70, 0x4d,
+ 0x61, 0x72, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f,
+ 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MapMarkPoint_proto_rawDescOnce sync.Once
+ file_MapMarkPoint_proto_rawDescData = file_MapMarkPoint_proto_rawDesc
+)
+
+func file_MapMarkPoint_proto_rawDescGZIP() []byte {
+ file_MapMarkPoint_proto_rawDescOnce.Do(func() {
+ file_MapMarkPoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_MapMarkPoint_proto_rawDescData)
+ })
+ return file_MapMarkPoint_proto_rawDescData
+}
+
+var file_MapMarkPoint_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MapMarkPoint_proto_goTypes = []interface{}{
+ (*MapMarkPoint)(nil), // 0: proto.MapMarkPoint
+ (*Vector)(nil), // 1: proto.Vector
+ (MapMarkPointType)(0), // 2: proto.MapMarkPointType
+ (MapMarkFromType)(0), // 3: proto.MapMarkFromType
+}
+var file_MapMarkPoint_proto_depIdxs = []int32{
+ 1, // 0: proto.MapMarkPoint.pos:type_name -> proto.Vector
+ 2, // 1: proto.MapMarkPoint.point_type:type_name -> proto.MapMarkPointType
+ 3, // 2: proto.MapMarkPoint.from_type:type_name -> proto.MapMarkFromType
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_MapMarkPoint_proto_init() }
+func file_MapMarkPoint_proto_init() {
+ if File_MapMarkPoint_proto != nil {
+ return
+ }
+ file_MapMarkFromType_proto_init()
+ file_MapMarkPointType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MapMarkPoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MapMarkPoint); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MapMarkPoint_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MapMarkPoint_proto_goTypes,
+ DependencyIndexes: file_MapMarkPoint_proto_depIdxs,
+ MessageInfos: file_MapMarkPoint_proto_msgTypes,
+ }.Build()
+ File_MapMarkPoint_proto = out.File
+ file_MapMarkPoint_proto_rawDesc = nil
+ file_MapMarkPoint_proto_goTypes = nil
+ file_MapMarkPoint_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MapMarkPointType.pb.go b/protocol/proto/MapMarkPointType.pb.go
new file mode 100644
index 00000000..4ade973b
--- /dev/null
+++ b/protocol/proto/MapMarkPointType.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MapMarkPointType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MapMarkPointType int32
+
+const (
+ MapMarkPointType_MAP_MARK_POINT_TYPE_NPC MapMarkPointType = 0
+ MapMarkPointType_MAP_MARK_POINT_TYPE_QUEST MapMarkPointType = 1
+ MapMarkPointType_MAP_MARK_POINT_TYPE_SPECIAL MapMarkPointType = 2
+ MapMarkPointType_MAP_MARK_POINT_TYPE_MINE MapMarkPointType = 3
+ MapMarkPointType_MAP_MARK_POINT_TYPE_COLLECTION MapMarkPointType = 4
+ MapMarkPointType_MAP_MARK_POINT_TYPE_MONSTER MapMarkPointType = 5
+ MapMarkPointType_MAP_MARK_POINT_TYPE_FISH_POOL MapMarkPointType = 6
+)
+
+// Enum value maps for MapMarkPointType.
+var (
+ MapMarkPointType_name = map[int32]string{
+ 0: "MAP_MARK_POINT_TYPE_NPC",
+ 1: "MAP_MARK_POINT_TYPE_QUEST",
+ 2: "MAP_MARK_POINT_TYPE_SPECIAL",
+ 3: "MAP_MARK_POINT_TYPE_MINE",
+ 4: "MAP_MARK_POINT_TYPE_COLLECTION",
+ 5: "MAP_MARK_POINT_TYPE_MONSTER",
+ 6: "MAP_MARK_POINT_TYPE_FISH_POOL",
+ }
+ MapMarkPointType_value = map[string]int32{
+ "MAP_MARK_POINT_TYPE_NPC": 0,
+ "MAP_MARK_POINT_TYPE_QUEST": 1,
+ "MAP_MARK_POINT_TYPE_SPECIAL": 2,
+ "MAP_MARK_POINT_TYPE_MINE": 3,
+ "MAP_MARK_POINT_TYPE_COLLECTION": 4,
+ "MAP_MARK_POINT_TYPE_MONSTER": 5,
+ "MAP_MARK_POINT_TYPE_FISH_POOL": 6,
+ }
+)
+
+func (x MapMarkPointType) Enum() *MapMarkPointType {
+ p := new(MapMarkPointType)
+ *p = x
+ return p
+}
+
+func (x MapMarkPointType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MapMarkPointType) Descriptor() protoreflect.EnumDescriptor {
+ return file_MapMarkPointType_proto_enumTypes[0].Descriptor()
+}
+
+func (MapMarkPointType) Type() protoreflect.EnumType {
+ return &file_MapMarkPointType_proto_enumTypes[0]
+}
+
+func (x MapMarkPointType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MapMarkPointType.Descriptor instead.
+func (MapMarkPointType) EnumDescriptor() ([]byte, []int) {
+ return file_MapMarkPointType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MapMarkPointType_proto protoreflect.FileDescriptor
+
+var file_MapMarkPointType_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0xf5, 0x01, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b,
+ 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x50, 0x43, 0x10,
+ 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x50, 0x4f,
+ 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01,
+ 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x50, 0x4f, 0x49,
+ 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, 0x10,
+ 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x50, 0x4f,
+ 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x45, 0x10, 0x03, 0x12,
+ 0x22, 0x0a, 0x1e, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x50, 0x4f, 0x49, 0x4e,
+ 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f,
+ 0x4e, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f,
+ 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54,
+ 0x45, 0x52, 0x10, 0x05, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b,
+ 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x53, 0x48,
+ 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x10, 0x06, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MapMarkPointType_proto_rawDescOnce sync.Once
+ file_MapMarkPointType_proto_rawDescData = file_MapMarkPointType_proto_rawDesc
+)
+
+func file_MapMarkPointType_proto_rawDescGZIP() []byte {
+ file_MapMarkPointType_proto_rawDescOnce.Do(func() {
+ file_MapMarkPointType_proto_rawDescData = protoimpl.X.CompressGZIP(file_MapMarkPointType_proto_rawDescData)
+ })
+ return file_MapMarkPointType_proto_rawDescData
+}
+
+var file_MapMarkPointType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MapMarkPointType_proto_goTypes = []interface{}{
+ (MapMarkPointType)(0), // 0: proto.MapMarkPointType
+}
+var file_MapMarkPointType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MapMarkPointType_proto_init() }
+func file_MapMarkPointType_proto_init() {
+ if File_MapMarkPointType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MapMarkPointType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MapMarkPointType_proto_goTypes,
+ DependencyIndexes: file_MapMarkPointType_proto_depIdxs,
+ EnumInfos: file_MapMarkPointType_proto_enumTypes,
+ }.Build()
+ File_MapMarkPointType_proto = out.File
+ file_MapMarkPointType_proto_rawDesc = nil
+ file_MapMarkPointType_proto_goTypes = nil
+ file_MapMarkPointType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MapMarkTipsInfo.pb.go b/protocol/proto/MapMarkTipsInfo.pb.go
new file mode 100644
index 00000000..ed65394f
--- /dev/null
+++ b/protocol/proto/MapMarkTipsInfo.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MapMarkTipsInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MapMarkTipsInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TipsType MapMarkTipsType `protobuf:"varint,1,opt,name=tips_type,json=tipsType,proto3,enum=proto.MapMarkTipsType" json:"tips_type,omitempty"`
+ PointIdList []uint32 `protobuf:"varint,2,rep,packed,name=point_id_list,json=pointIdList,proto3" json:"point_id_list,omitempty"`
+}
+
+func (x *MapMarkTipsInfo) Reset() {
+ *x = MapMarkTipsInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MapMarkTipsInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MapMarkTipsInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MapMarkTipsInfo) ProtoMessage() {}
+
+func (x *MapMarkTipsInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MapMarkTipsInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MapMarkTipsInfo.ProtoReflect.Descriptor instead.
+func (*MapMarkTipsInfo) Descriptor() ([]byte, []int) {
+ return file_MapMarkTipsInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MapMarkTipsInfo) GetTipsType() MapMarkTipsType {
+ if x != nil {
+ return x.TipsType
+ }
+ return MapMarkTipsType_MAP_MARK_TIPS_TYPE_DUNGEON_ELEMENT_TRIAL
+}
+
+func (x *MapMarkTipsInfo) GetPointIdList() []uint32 {
+ if x != nil {
+ return x.PointIdList
+ }
+ return nil
+}
+
+var File_MapMarkTipsInfo_proto protoreflect.FileDescriptor
+
+var file_MapMarkTipsInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15,
+ 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b,
+ 0x54, 0x69, 0x70, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x09, 0x74, 0x69, 0x70, 0x73,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x08, 0x74, 0x69, 0x70, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a,
+ 0x0d, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MapMarkTipsInfo_proto_rawDescOnce sync.Once
+ file_MapMarkTipsInfo_proto_rawDescData = file_MapMarkTipsInfo_proto_rawDesc
+)
+
+func file_MapMarkTipsInfo_proto_rawDescGZIP() []byte {
+ file_MapMarkTipsInfo_proto_rawDescOnce.Do(func() {
+ file_MapMarkTipsInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MapMarkTipsInfo_proto_rawDescData)
+ })
+ return file_MapMarkTipsInfo_proto_rawDescData
+}
+
+var file_MapMarkTipsInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MapMarkTipsInfo_proto_goTypes = []interface{}{
+ (*MapMarkTipsInfo)(nil), // 0: proto.MapMarkTipsInfo
+ (MapMarkTipsType)(0), // 1: proto.MapMarkTipsType
+}
+var file_MapMarkTipsInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MapMarkTipsInfo.tips_type:type_name -> proto.MapMarkTipsType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MapMarkTipsInfo_proto_init() }
+func file_MapMarkTipsInfo_proto_init() {
+ if File_MapMarkTipsInfo_proto != nil {
+ return
+ }
+ file_MapMarkTipsType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MapMarkTipsInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MapMarkTipsInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MapMarkTipsInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MapMarkTipsInfo_proto_goTypes,
+ DependencyIndexes: file_MapMarkTipsInfo_proto_depIdxs,
+ MessageInfos: file_MapMarkTipsInfo_proto_msgTypes,
+ }.Build()
+ File_MapMarkTipsInfo_proto = out.File
+ file_MapMarkTipsInfo_proto_rawDesc = nil
+ file_MapMarkTipsInfo_proto_goTypes = nil
+ file_MapMarkTipsInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MapMarkTipsType.pb.go b/protocol/proto/MapMarkTipsType.pb.go
new file mode 100644
index 00000000..3473a2ea
--- /dev/null
+++ b/protocol/proto/MapMarkTipsType.pb.go
@@ -0,0 +1,142 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MapMarkTipsType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MapMarkTipsType int32
+
+const (
+ MapMarkTipsType_MAP_MARK_TIPS_TYPE_DUNGEON_ELEMENT_TRIAL MapMarkTipsType = 0
+)
+
+// Enum value maps for MapMarkTipsType.
+var (
+ MapMarkTipsType_name = map[int32]string{
+ 0: "MAP_MARK_TIPS_TYPE_DUNGEON_ELEMENT_TRIAL",
+ }
+ MapMarkTipsType_value = map[string]int32{
+ "MAP_MARK_TIPS_TYPE_DUNGEON_ELEMENT_TRIAL": 0,
+ }
+)
+
+func (x MapMarkTipsType) Enum() *MapMarkTipsType {
+ p := new(MapMarkTipsType)
+ *p = x
+ return p
+}
+
+func (x MapMarkTipsType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MapMarkTipsType) Descriptor() protoreflect.EnumDescriptor {
+ return file_MapMarkTipsType_proto_enumTypes[0].Descriptor()
+}
+
+func (MapMarkTipsType) Type() protoreflect.EnumType {
+ return &file_MapMarkTipsType_proto_enumTypes[0]
+}
+
+func (x MapMarkTipsType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MapMarkTipsType.Descriptor instead.
+func (MapMarkTipsType) EnumDescriptor() ([]byte, []int) {
+ return file_MapMarkTipsType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MapMarkTipsType_proto protoreflect.FileDescriptor
+
+var file_MapMarkTipsType_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x3f,
+ 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x69, 0x70, 0x73, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x4d, 0x41, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x54, 0x49,
+ 0x50, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x00, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MapMarkTipsType_proto_rawDescOnce sync.Once
+ file_MapMarkTipsType_proto_rawDescData = file_MapMarkTipsType_proto_rawDesc
+)
+
+func file_MapMarkTipsType_proto_rawDescGZIP() []byte {
+ file_MapMarkTipsType_proto_rawDescOnce.Do(func() {
+ file_MapMarkTipsType_proto_rawDescData = protoimpl.X.CompressGZIP(file_MapMarkTipsType_proto_rawDescData)
+ })
+ return file_MapMarkTipsType_proto_rawDescData
+}
+
+var file_MapMarkTipsType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MapMarkTipsType_proto_goTypes = []interface{}{
+ (MapMarkTipsType)(0), // 0: proto.MapMarkTipsType
+}
+var file_MapMarkTipsType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MapMarkTipsType_proto_init() }
+func file_MapMarkTipsType_proto_init() {
+ if File_MapMarkTipsType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MapMarkTipsType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MapMarkTipsType_proto_goTypes,
+ DependencyIndexes: file_MapMarkTipsType_proto_depIdxs,
+ EnumInfos: file_MapMarkTipsType_proto_enumTypes,
+ }.Build()
+ File_MapMarkTipsType_proto = out.File
+ file_MapMarkTipsType_proto_rawDesc = nil
+ file_MapMarkTipsType_proto_goTypes = nil
+ file_MapMarkTipsType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MarkEntityInMinMapNotify.pb.go b/protocol/proto/MarkEntityInMinMapNotify.pb.go
new file mode 100644
index 00000000..2227c8ec
--- /dev/null
+++ b/protocol/proto/MarkEntityInMinMapNotify.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MarkEntityInMinMapNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 202
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MarkEntityInMinMapNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Position *Vector `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
+ MonsterId uint32 `protobuf:"varint,7,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,14,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *MarkEntityInMinMapNotify) Reset() {
+ *x = MarkEntityInMinMapNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MarkEntityInMinMapNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarkEntityInMinMapNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarkEntityInMinMapNotify) ProtoMessage() {}
+
+func (x *MarkEntityInMinMapNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MarkEntityInMinMapNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarkEntityInMinMapNotify.ProtoReflect.Descriptor instead.
+func (*MarkEntityInMinMapNotify) Descriptor() ([]byte, []int) {
+ return file_MarkEntityInMinMapNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MarkEntityInMinMapNotify) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+func (x *MarkEntityInMinMapNotify) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *MarkEntityInMinMapNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_MarkEntityInMinMapNotify_proto protoreflect.FileDescriptor
+
+var file_MarkEntityInMinMapNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x61, 0x72, 0x6b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x4d, 0x69,
+ 0x6e, 0x4d, 0x61, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x18, 0x4d, 0x61, 0x72, 0x6b, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x70, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MarkEntityInMinMapNotify_proto_rawDescOnce sync.Once
+ file_MarkEntityInMinMapNotify_proto_rawDescData = file_MarkEntityInMinMapNotify_proto_rawDesc
+)
+
+func file_MarkEntityInMinMapNotify_proto_rawDescGZIP() []byte {
+ file_MarkEntityInMinMapNotify_proto_rawDescOnce.Do(func() {
+ file_MarkEntityInMinMapNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MarkEntityInMinMapNotify_proto_rawDescData)
+ })
+ return file_MarkEntityInMinMapNotify_proto_rawDescData
+}
+
+var file_MarkEntityInMinMapNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MarkEntityInMinMapNotify_proto_goTypes = []interface{}{
+ (*MarkEntityInMinMapNotify)(nil), // 0: proto.MarkEntityInMinMapNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_MarkEntityInMinMapNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MarkEntityInMinMapNotify.position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MarkEntityInMinMapNotify_proto_init() }
+func file_MarkEntityInMinMapNotify_proto_init() {
+ if File_MarkEntityInMinMapNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MarkEntityInMinMapNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MarkEntityInMinMapNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MarkEntityInMinMapNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MarkEntityInMinMapNotify_proto_goTypes,
+ DependencyIndexes: file_MarkEntityInMinMapNotify_proto_depIdxs,
+ MessageInfos: file_MarkEntityInMinMapNotify_proto_msgTypes,
+ }.Build()
+ File_MarkEntityInMinMapNotify_proto = out.File
+ file_MarkEntityInMinMapNotify_proto_rawDesc = nil
+ file_MarkEntityInMinMapNotify_proto_goTypes = nil
+ file_MarkEntityInMinMapNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MarkMapReq.pb.go b/protocol/proto/MarkMapReq.pb.go
new file mode 100644
index 00000000..a3438845
--- /dev/null
+++ b/protocol/proto/MarkMapReq.pb.go
@@ -0,0 +1,251 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MarkMapReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MarkMapReq_Operation int32
+
+const (
+ MarkMapReq_OPERATION_ADD MarkMapReq_Operation = 0
+ MarkMapReq_OPERATION_MOD MarkMapReq_Operation = 1
+ MarkMapReq_OPERATION_DEL MarkMapReq_Operation = 2
+ MarkMapReq_OPERATION_GET MarkMapReq_Operation = 3
+)
+
+// Enum value maps for MarkMapReq_Operation.
+var (
+ MarkMapReq_Operation_name = map[int32]string{
+ 0: "OPERATION_ADD",
+ 1: "OPERATION_MOD",
+ 2: "OPERATION_DEL",
+ 3: "OPERATION_GET",
+ }
+ MarkMapReq_Operation_value = map[string]int32{
+ "OPERATION_ADD": 0,
+ "OPERATION_MOD": 1,
+ "OPERATION_DEL": 2,
+ "OPERATION_GET": 3,
+ }
+)
+
+func (x MarkMapReq_Operation) Enum() *MarkMapReq_Operation {
+ p := new(MarkMapReq_Operation)
+ *p = x
+ return p
+}
+
+func (x MarkMapReq_Operation) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MarkMapReq_Operation) Descriptor() protoreflect.EnumDescriptor {
+ return file_MarkMapReq_proto_enumTypes[0].Descriptor()
+}
+
+func (MarkMapReq_Operation) Type() protoreflect.EnumType {
+ return &file_MarkMapReq_proto_enumTypes[0]
+}
+
+func (x MarkMapReq_Operation) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MarkMapReq_Operation.Descriptor instead.
+func (MarkMapReq_Operation) EnumDescriptor() ([]byte, []int) {
+ return file_MarkMapReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 3466
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MarkMapReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Mark *MapMarkPoint `protobuf:"bytes,8,opt,name=mark,proto3" json:"mark,omitempty"`
+ Old *MapMarkPoint `protobuf:"bytes,6,opt,name=old,proto3" json:"old,omitempty"`
+ Op MarkMapReq_Operation `protobuf:"varint,9,opt,name=op,proto3,enum=proto.MarkMapReq_Operation" json:"op,omitempty"`
+}
+
+func (x *MarkMapReq) Reset() {
+ *x = MarkMapReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MarkMapReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarkMapReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarkMapReq) ProtoMessage() {}
+
+func (x *MarkMapReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MarkMapReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarkMapReq.ProtoReflect.Descriptor instead.
+func (*MarkMapReq) Descriptor() ([]byte, []int) {
+ return file_MarkMapReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MarkMapReq) GetMark() *MapMarkPoint {
+ if x != nil {
+ return x.Mark
+ }
+ return nil
+}
+
+func (x *MarkMapReq) GetOld() *MapMarkPoint {
+ if x != nil {
+ return x.Old
+ }
+ return nil
+}
+
+func (x *MarkMapReq) GetOp() MarkMapReq_Operation {
+ if x != nil {
+ return x.Op
+ }
+ return MarkMapReq_OPERATION_ADD
+}
+
+var File_MarkMapReq_proto protoreflect.FileDescriptor
+
+var file_MarkMapReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x6b, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4d, 0x61, 0x70, 0x4d, 0x61,
+ 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x01,
+ 0x0a, 0x0a, 0x4d, 0x61, 0x72, 0x6b, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x04,
+ 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52,
+ 0x04, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x25, 0x0a, 0x03, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x61,
+ 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x03, 0x6f, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x02,
+ 0x6f, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x4f, 0x70, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x57, 0x0a, 0x09, 0x4f, 0x70, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x45,
+ 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d,
+ 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4c, 0x10, 0x02, 0x12,
+ 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x54,
+ 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MarkMapReq_proto_rawDescOnce sync.Once
+ file_MarkMapReq_proto_rawDescData = file_MarkMapReq_proto_rawDesc
+)
+
+func file_MarkMapReq_proto_rawDescGZIP() []byte {
+ file_MarkMapReq_proto_rawDescOnce.Do(func() {
+ file_MarkMapReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MarkMapReq_proto_rawDescData)
+ })
+ return file_MarkMapReq_proto_rawDescData
+}
+
+var file_MarkMapReq_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MarkMapReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MarkMapReq_proto_goTypes = []interface{}{
+ (MarkMapReq_Operation)(0), // 0: proto.MarkMapReq.Operation
+ (*MarkMapReq)(nil), // 1: proto.MarkMapReq
+ (*MapMarkPoint)(nil), // 2: proto.MapMarkPoint
+}
+var file_MarkMapReq_proto_depIdxs = []int32{
+ 2, // 0: proto.MarkMapReq.mark:type_name -> proto.MapMarkPoint
+ 2, // 1: proto.MarkMapReq.old:type_name -> proto.MapMarkPoint
+ 0, // 2: proto.MarkMapReq.op:type_name -> proto.MarkMapReq.Operation
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_MarkMapReq_proto_init() }
+func file_MarkMapReq_proto_init() {
+ if File_MarkMapReq_proto != nil {
+ return
+ }
+ file_MapMarkPoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MarkMapReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MarkMapReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MarkMapReq_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MarkMapReq_proto_goTypes,
+ DependencyIndexes: file_MarkMapReq_proto_depIdxs,
+ EnumInfos: file_MarkMapReq_proto_enumTypes,
+ MessageInfos: file_MarkMapReq_proto_msgTypes,
+ }.Build()
+ File_MarkMapReq_proto = out.File
+ file_MarkMapReq_proto_rawDesc = nil
+ file_MarkMapReq_proto_goTypes = nil
+ file_MarkMapReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MarkMapRsp.pb.go b/protocol/proto/MarkMapRsp.pb.go
new file mode 100644
index 00000000..4d6ad81f
--- /dev/null
+++ b/protocol/proto/MarkMapRsp.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MarkMapRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3079
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MarkMapRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MarkList []*MapMarkPoint `protobuf:"bytes,8,rep,name=mark_list,json=markList,proto3" json:"mark_list,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MarkMapRsp) Reset() {
+ *x = MarkMapRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MarkMapRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarkMapRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarkMapRsp) ProtoMessage() {}
+
+func (x *MarkMapRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MarkMapRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarkMapRsp.ProtoReflect.Descriptor instead.
+func (*MarkMapRsp) Descriptor() ([]byte, []int) {
+ return file_MarkMapRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MarkMapRsp) GetMarkList() []*MapMarkPoint {
+ if x != nil {
+ return x.MarkList
+ }
+ return nil
+}
+
+func (x *MarkMapRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MarkMapRsp_proto protoreflect.FileDescriptor
+
+var file_MarkMapRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x4d, 0x61, 0x72, 0x6b, 0x4d, 0x61, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4d, 0x61, 0x70, 0x4d, 0x61,
+ 0x72, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a,
+ 0x0a, 0x4d, 0x61, 0x72, 0x6b, 0x4d, 0x61, 0x70, 0x52, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x09, 0x6d,
+ 0x61, 0x72, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x61, 0x72, 0x6b, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MarkMapRsp_proto_rawDescOnce sync.Once
+ file_MarkMapRsp_proto_rawDescData = file_MarkMapRsp_proto_rawDesc
+)
+
+func file_MarkMapRsp_proto_rawDescGZIP() []byte {
+ file_MarkMapRsp_proto_rawDescOnce.Do(func() {
+ file_MarkMapRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MarkMapRsp_proto_rawDescData)
+ })
+ return file_MarkMapRsp_proto_rawDescData
+}
+
+var file_MarkMapRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MarkMapRsp_proto_goTypes = []interface{}{
+ (*MarkMapRsp)(nil), // 0: proto.MarkMapRsp
+ (*MapMarkPoint)(nil), // 1: proto.MapMarkPoint
+}
+var file_MarkMapRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.MarkMapRsp.mark_list:type_name -> proto.MapMarkPoint
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MarkMapRsp_proto_init() }
+func file_MarkMapRsp_proto_init() {
+ if File_MarkMapRsp_proto != nil {
+ return
+ }
+ file_MapMarkPoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MarkMapRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MarkMapRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MarkMapRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MarkMapRsp_proto_goTypes,
+ DependencyIndexes: file_MarkMapRsp_proto_depIdxs,
+ MessageInfos: file_MarkMapRsp_proto_msgTypes,
+ }.Build()
+ File_MarkMapRsp_proto = out.File
+ file_MarkMapRsp_proto_rawDesc = nil
+ file_MarkMapRsp_proto_goTypes = nil
+ file_MarkMapRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MarkNewNotify.pb.go b/protocol/proto/MarkNewNotify.pb.go
new file mode 100644
index 00000000..2f801b23
--- /dev/null
+++ b/protocol/proto/MarkNewNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MarkNewNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1275
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MarkNewNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IdList []uint32 `protobuf:"varint,7,rep,packed,name=id_list,json=idList,proto3" json:"id_list,omitempty"`
+ MarkNewType uint32 `protobuf:"varint,11,opt,name=mark_new_type,json=markNewType,proto3" json:"mark_new_type,omitempty"`
+}
+
+func (x *MarkNewNotify) Reset() {
+ *x = MarkNewNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MarkNewNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarkNewNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarkNewNotify) ProtoMessage() {}
+
+func (x *MarkNewNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MarkNewNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarkNewNotify.ProtoReflect.Descriptor instead.
+func (*MarkNewNotify) Descriptor() ([]byte, []int) {
+ return file_MarkNewNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MarkNewNotify) GetIdList() []uint32 {
+ if x != nil {
+ return x.IdList
+ }
+ return nil
+}
+
+func (x *MarkNewNotify) GetMarkNewType() uint32 {
+ if x != nil {
+ return x.MarkNewType
+ }
+ return 0
+}
+
+var File_MarkNewNotify_proto protoreflect.FileDescriptor
+
+var file_MarkNewNotify_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x4d, 0x61, 0x72, 0x6b, 0x4e, 0x65, 0x77, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x0d,
+ 0x4d, 0x61, 0x72, 0x6b, 0x4e, 0x65, 0x77, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a,
+ 0x07, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e,
+ 0x65, 0x77, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d,
+ 0x61, 0x72, 0x6b, 0x4e, 0x65, 0x77, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MarkNewNotify_proto_rawDescOnce sync.Once
+ file_MarkNewNotify_proto_rawDescData = file_MarkNewNotify_proto_rawDesc
+)
+
+func file_MarkNewNotify_proto_rawDescGZIP() []byte {
+ file_MarkNewNotify_proto_rawDescOnce.Do(func() {
+ file_MarkNewNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MarkNewNotify_proto_rawDescData)
+ })
+ return file_MarkNewNotify_proto_rawDescData
+}
+
+var file_MarkNewNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MarkNewNotify_proto_goTypes = []interface{}{
+ (*MarkNewNotify)(nil), // 0: proto.MarkNewNotify
+}
+var file_MarkNewNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MarkNewNotify_proto_init() }
+func file_MarkNewNotify_proto_init() {
+ if File_MarkNewNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MarkNewNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MarkNewNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MarkNewNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MarkNewNotify_proto_goTypes,
+ DependencyIndexes: file_MarkNewNotify_proto_depIdxs,
+ MessageInfos: file_MarkNewNotify_proto_msgTypes,
+ }.Build()
+ File_MarkNewNotify_proto = out.File
+ file_MarkNewNotify_proto_rawDesc = nil
+ file_MarkNewNotify_proto_goTypes = nil
+ file_MarkNewNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MarkTargetInvestigationMonsterNotify.pb.go b/protocol/proto/MarkTargetInvestigationMonsterNotify.pb.go
new file mode 100644
index 00000000..ff665dac
--- /dev/null
+++ b/protocol/proto/MarkTargetInvestigationMonsterNotify.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MarkTargetInvestigationMonsterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1915
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MarkTargetInvestigationMonsterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,11,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ MonsterId uint32 `protobuf:"varint,4,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ InvestigationMonsterId uint32 `protobuf:"varint,12,opt,name=investigation_monster_id,json=investigationMonsterId,proto3" json:"investigation_monster_id,omitempty"`
+}
+
+func (x *MarkTargetInvestigationMonsterNotify) Reset() {
+ *x = MarkTargetInvestigationMonsterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MarkTargetInvestigationMonsterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarkTargetInvestigationMonsterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarkTargetInvestigationMonsterNotify) ProtoMessage() {}
+
+func (x *MarkTargetInvestigationMonsterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MarkTargetInvestigationMonsterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarkTargetInvestigationMonsterNotify.ProtoReflect.Descriptor instead.
+func (*MarkTargetInvestigationMonsterNotify) Descriptor() ([]byte, []int) {
+ return file_MarkTargetInvestigationMonsterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MarkTargetInvestigationMonsterNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *MarkTargetInvestigationMonsterNotify) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *MarkTargetInvestigationMonsterNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *MarkTargetInvestigationMonsterNotify) GetInvestigationMonsterId() uint32 {
+ if x != nil {
+ return x.InvestigationMonsterId
+ }
+ return 0
+}
+
+var File_MarkTargetInvestigationMonsterNotify_proto protoreflect.FileDescriptor
+
+var file_MarkTargetInvestigationMonsterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65,
+ 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x24, 0x4d, 0x61, 0x72, 0x6b, 0x54, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08,
+ 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
+ 0x64, 0x12, 0x38, 0x0a, 0x18, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x16, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MarkTargetInvestigationMonsterNotify_proto_rawDescOnce sync.Once
+ file_MarkTargetInvestigationMonsterNotify_proto_rawDescData = file_MarkTargetInvestigationMonsterNotify_proto_rawDesc
+)
+
+func file_MarkTargetInvestigationMonsterNotify_proto_rawDescGZIP() []byte {
+ file_MarkTargetInvestigationMonsterNotify_proto_rawDescOnce.Do(func() {
+ file_MarkTargetInvestigationMonsterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MarkTargetInvestigationMonsterNotify_proto_rawDescData)
+ })
+ return file_MarkTargetInvestigationMonsterNotify_proto_rawDescData
+}
+
+var file_MarkTargetInvestigationMonsterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MarkTargetInvestigationMonsterNotify_proto_goTypes = []interface{}{
+ (*MarkTargetInvestigationMonsterNotify)(nil), // 0: proto.MarkTargetInvestigationMonsterNotify
+}
+var file_MarkTargetInvestigationMonsterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MarkTargetInvestigationMonsterNotify_proto_init() }
+func file_MarkTargetInvestigationMonsterNotify_proto_init() {
+ if File_MarkTargetInvestigationMonsterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MarkTargetInvestigationMonsterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MarkTargetInvestigationMonsterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MarkTargetInvestigationMonsterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MarkTargetInvestigationMonsterNotify_proto_goTypes,
+ DependencyIndexes: file_MarkTargetInvestigationMonsterNotify_proto_depIdxs,
+ MessageInfos: file_MarkTargetInvestigationMonsterNotify_proto_msgTypes,
+ }.Build()
+ File_MarkTargetInvestigationMonsterNotify_proto = out.File
+ file_MarkTargetInvestigationMonsterNotify_proto_rawDesc = nil
+ file_MarkTargetInvestigationMonsterNotify_proto_goTypes = nil
+ file_MarkTargetInvestigationMonsterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MassiveBoxInfo.pb.go b/protocol/proto/MassiveBoxInfo.pb.go
new file mode 100644
index 00000000..6641b18f
--- /dev/null
+++ b/protocol/proto/MassiveBoxInfo.pb.go
@@ -0,0 +1,227 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MassiveBoxInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MassiveBoxInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,2,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ Center *Vector `protobuf:"bytes,3,opt,name=center,proto3" json:"center,omitempty"`
+ Extents *Vector `protobuf:"bytes,4,opt,name=extents,proto3" json:"extents,omitempty"`
+ Up *Vector `protobuf:"bytes,5,opt,name=up,proto3" json:"up,omitempty"`
+ Forward *Vector `protobuf:"bytes,6,opt,name=forward,proto3" json:"forward,omitempty"`
+ Right *Vector `protobuf:"bytes,7,opt,name=right,proto3" json:"right,omitempty"`
+}
+
+func (x *MassiveBoxInfo) Reset() {
+ *x = MassiveBoxInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MassiveBoxInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MassiveBoxInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MassiveBoxInfo) ProtoMessage() {}
+
+func (x *MassiveBoxInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MassiveBoxInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MassiveBoxInfo.ProtoReflect.Descriptor instead.
+func (*MassiveBoxInfo) Descriptor() ([]byte, []int) {
+ return file_MassiveBoxInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MassiveBoxInfo) GetId() int32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *MassiveBoxInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *MassiveBoxInfo) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *MassiveBoxInfo) GetExtents() *Vector {
+ if x != nil {
+ return x.Extents
+ }
+ return nil
+}
+
+func (x *MassiveBoxInfo) GetUp() *Vector {
+ if x != nil {
+ return x.Up
+ }
+ return nil
+}
+
+func (x *MassiveBoxInfo) GetForward() *Vector {
+ if x != nil {
+ return x.Forward
+ }
+ return nil
+}
+
+func (x *MassiveBoxInfo) GetRight() *Vector {
+ if x != nil {
+ return x.Right
+ }
+ return nil
+}
+
+var File_MassiveBoxInfo_proto protoreflect.FileDescriptor
+
+var file_MassiveBoxInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x42, 0x6f, 0x78, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x01, 0x0a, 0x0e,
+ 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x42, 0x6f, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e,
+ 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x63,
+ 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74,
+ 0x65, 0x72, 0x12, 0x27, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x07, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x02, 0x75,
+ 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x02, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x07, 0x66, 0x6f,
+ 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x66, 0x6f, 0x72, 0x77,
+ 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x05, 0x72, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MassiveBoxInfo_proto_rawDescOnce sync.Once
+ file_MassiveBoxInfo_proto_rawDescData = file_MassiveBoxInfo_proto_rawDesc
+)
+
+func file_MassiveBoxInfo_proto_rawDescGZIP() []byte {
+ file_MassiveBoxInfo_proto_rawDescOnce.Do(func() {
+ file_MassiveBoxInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MassiveBoxInfo_proto_rawDescData)
+ })
+ return file_MassiveBoxInfo_proto_rawDescData
+}
+
+var file_MassiveBoxInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MassiveBoxInfo_proto_goTypes = []interface{}{
+ (*MassiveBoxInfo)(nil), // 0: proto.MassiveBoxInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_MassiveBoxInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MassiveBoxInfo.center:type_name -> proto.Vector
+ 1, // 1: proto.MassiveBoxInfo.extents:type_name -> proto.Vector
+ 1, // 2: proto.MassiveBoxInfo.up:type_name -> proto.Vector
+ 1, // 3: proto.MassiveBoxInfo.forward:type_name -> proto.Vector
+ 1, // 4: proto.MassiveBoxInfo.right:type_name -> proto.Vector
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_MassiveBoxInfo_proto_init() }
+func file_MassiveBoxInfo_proto_init() {
+ if File_MassiveBoxInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MassiveBoxInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MassiveBoxInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MassiveBoxInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MassiveBoxInfo_proto_goTypes,
+ DependencyIndexes: file_MassiveBoxInfo_proto_depIdxs,
+ MessageInfos: file_MassiveBoxInfo_proto_msgTypes,
+ }.Build()
+ File_MassiveBoxInfo_proto = out.File
+ file_MassiveBoxInfo_proto_rawDesc = nil
+ file_MassiveBoxInfo_proto_goTypes = nil
+ file_MassiveBoxInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MassiveEntityElementOpBatchNotify.pb.go b/protocol/proto/MassiveEntityElementOpBatchNotify.pb.go
new file mode 100644
index 00000000..21969bb0
--- /dev/null
+++ b/protocol/proto/MassiveEntityElementOpBatchNotify.pb.go
@@ -0,0 +1,291 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MassiveEntityElementOpBatchNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 357
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MassiveEntityElementOpBatchNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityType int32 `protobuf:"varint,6,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
+ OpIdx uint32 `protobuf:"varint,9,opt,name=op_idx,json=opIdx,proto3" json:"op_idx,omitempty"`
+ UserId uint32 `protobuf:"varint,11,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
+ AttackerId uint32 `protobuf:"varint,3,opt,name=attacker_id,json=attackerId,proto3" json:"attacker_id,omitempty"`
+ SourceElementType int32 `protobuf:"varint,12,opt,name=source_element_type,json=sourceElementType,proto3" json:"source_element_type,omitempty"`
+ ReactionSourceType int32 `protobuf:"varint,4,opt,name=reaction_source_type,json=reactionSourceType,proto3" json:"reaction_source_type,omitempty"`
+ AttackElementDurability float32 `protobuf:"fixed32,7,opt,name=attack_element_durability,json=attackElementDurability,proto3" json:"attack_element_durability,omitempty"`
+ // Types that are assignable to CheckShape:
+ //
+ // *MassiveEntityElementOpBatchNotify_ShapeSphere
+ // *MassiveEntityElementOpBatchNotify_ShapeBox
+ CheckShape isMassiveEntityElementOpBatchNotify_CheckShape `protobuf_oneof:"check_shape"`
+}
+
+func (x *MassiveEntityElementOpBatchNotify) Reset() {
+ *x = MassiveEntityElementOpBatchNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MassiveEntityElementOpBatchNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MassiveEntityElementOpBatchNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MassiveEntityElementOpBatchNotify) ProtoMessage() {}
+
+func (x *MassiveEntityElementOpBatchNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MassiveEntityElementOpBatchNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MassiveEntityElementOpBatchNotify.ProtoReflect.Descriptor instead.
+func (*MassiveEntityElementOpBatchNotify) Descriptor() ([]byte, []int) {
+ return file_MassiveEntityElementOpBatchNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetEntityType() int32 {
+ if x != nil {
+ return x.EntityType
+ }
+ return 0
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetOpIdx() uint32 {
+ if x != nil {
+ return x.OpIdx
+ }
+ return 0
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetUserId() uint32 {
+ if x != nil {
+ return x.UserId
+ }
+ return 0
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetAttackerId() uint32 {
+ if x != nil {
+ return x.AttackerId
+ }
+ return 0
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetSourceElementType() int32 {
+ if x != nil {
+ return x.SourceElementType
+ }
+ return 0
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetReactionSourceType() int32 {
+ if x != nil {
+ return x.ReactionSourceType
+ }
+ return 0
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetAttackElementDurability() float32 {
+ if x != nil {
+ return x.AttackElementDurability
+ }
+ return 0
+}
+
+func (m *MassiveEntityElementOpBatchNotify) GetCheckShape() isMassiveEntityElementOpBatchNotify_CheckShape {
+ if m != nil {
+ return m.CheckShape
+ }
+ return nil
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetShapeSphere() *ShapeSphere {
+ if x, ok := x.GetCheckShape().(*MassiveEntityElementOpBatchNotify_ShapeSphere); ok {
+ return x.ShapeSphere
+ }
+ return nil
+}
+
+func (x *MassiveEntityElementOpBatchNotify) GetShapeBox() *ShapeBox {
+ if x, ok := x.GetCheckShape().(*MassiveEntityElementOpBatchNotify_ShapeBox); ok {
+ return x.ShapeBox
+ }
+ return nil
+}
+
+type isMassiveEntityElementOpBatchNotify_CheckShape interface {
+ isMassiveEntityElementOpBatchNotify_CheckShape()
+}
+
+type MassiveEntityElementOpBatchNotify_ShapeSphere struct {
+ ShapeSphere *ShapeSphere `protobuf:"bytes,10,opt,name=shape_sphere,json=shapeSphere,proto3,oneof"`
+}
+
+type MassiveEntityElementOpBatchNotify_ShapeBox struct {
+ ShapeBox *ShapeBox `protobuf:"bytes,2,opt,name=shape_box,json=shapeBox,proto3,oneof"`
+}
+
+func (*MassiveEntityElementOpBatchNotify_ShapeSphere) isMassiveEntityElementOpBatchNotify_CheckShape() {
+}
+
+func (*MassiveEntityElementOpBatchNotify_ShapeBox) isMassiveEntityElementOpBatchNotify_CheckShape() {}
+
+var File_MassiveEntityElementOpBatchNotify_proto protoreflect.FileDescriptor
+
+var file_MassiveEntityElementOpBatchNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45,
+ 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x42, 0x6f, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x11, 0x53, 0x68, 0x61, 0x70, 0x65, 0x53, 0x70, 0x68, 0x65, 0x72, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x03, 0x0a, 0x21, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x42, 0x61,
+ 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x70,
+ 0x5f, 0x69, 0x64, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6f, 0x70, 0x49, 0x64,
+ 0x78, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x74,
+ 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x72,
+ 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x61, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a,
+ 0x19, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
+ 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02,
+ 0x52, 0x17, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44,
+ 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0c, 0x73, 0x68, 0x61,
+ 0x70, 0x65, 0x5f, 0x73, 0x70, 0x68, 0x65, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x53, 0x70, 0x68,
+ 0x65, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x68, 0x61, 0x70, 0x65, 0x53, 0x70, 0x68, 0x65,
+ 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x62, 0x6f, 0x78, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68,
+ 0x61, 0x70, 0x65, 0x42, 0x6f, 0x78, 0x48, 0x00, 0x52, 0x08, 0x73, 0x68, 0x61, 0x70, 0x65, 0x42,
+ 0x6f, 0x78, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x68, 0x61, 0x70,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MassiveEntityElementOpBatchNotify_proto_rawDescOnce sync.Once
+ file_MassiveEntityElementOpBatchNotify_proto_rawDescData = file_MassiveEntityElementOpBatchNotify_proto_rawDesc
+)
+
+func file_MassiveEntityElementOpBatchNotify_proto_rawDescGZIP() []byte {
+ file_MassiveEntityElementOpBatchNotify_proto_rawDescOnce.Do(func() {
+ file_MassiveEntityElementOpBatchNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MassiveEntityElementOpBatchNotify_proto_rawDescData)
+ })
+ return file_MassiveEntityElementOpBatchNotify_proto_rawDescData
+}
+
+var file_MassiveEntityElementOpBatchNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MassiveEntityElementOpBatchNotify_proto_goTypes = []interface{}{
+ (*MassiveEntityElementOpBatchNotify)(nil), // 0: proto.MassiveEntityElementOpBatchNotify
+ (*ShapeSphere)(nil), // 1: proto.ShapeSphere
+ (*ShapeBox)(nil), // 2: proto.ShapeBox
+}
+var file_MassiveEntityElementOpBatchNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MassiveEntityElementOpBatchNotify.shape_sphere:type_name -> proto.ShapeSphere
+ 2, // 1: proto.MassiveEntityElementOpBatchNotify.shape_box:type_name -> proto.ShapeBox
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_MassiveEntityElementOpBatchNotify_proto_init() }
+func file_MassiveEntityElementOpBatchNotify_proto_init() {
+ if File_MassiveEntityElementOpBatchNotify_proto != nil {
+ return
+ }
+ file_ShapeBox_proto_init()
+ file_ShapeSphere_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MassiveEntityElementOpBatchNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MassiveEntityElementOpBatchNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_MassiveEntityElementOpBatchNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*MassiveEntityElementOpBatchNotify_ShapeSphere)(nil),
+ (*MassiveEntityElementOpBatchNotify_ShapeBox)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MassiveEntityElementOpBatchNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MassiveEntityElementOpBatchNotify_proto_goTypes,
+ DependencyIndexes: file_MassiveEntityElementOpBatchNotify_proto_depIdxs,
+ MessageInfos: file_MassiveEntityElementOpBatchNotify_proto_msgTypes,
+ }.Build()
+ File_MassiveEntityElementOpBatchNotify_proto = out.File
+ file_MassiveEntityElementOpBatchNotify_proto_rawDesc = nil
+ file_MassiveEntityElementOpBatchNotify_proto_goTypes = nil
+ file_MassiveEntityElementOpBatchNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MassiveEntityState.pb.go b/protocol/proto/MassiveEntityState.pb.go
new file mode 100644
index 00000000..8cd7b655
--- /dev/null
+++ b/protocol/proto/MassiveEntityState.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MassiveEntityState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MassiveEntityState struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityType uint32 `protobuf:"varint,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
+ ObjId int64 `protobuf:"varint,2,opt,name=obj_id,json=objId,proto3" json:"obj_id,omitempty"`
+ ElementState uint32 `protobuf:"varint,3,opt,name=element_state,json=elementState,proto3" json:"element_state,omitempty"`
+}
+
+func (x *MassiveEntityState) Reset() {
+ *x = MassiveEntityState{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MassiveEntityState_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MassiveEntityState) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MassiveEntityState) ProtoMessage() {}
+
+func (x *MassiveEntityState) ProtoReflect() protoreflect.Message {
+ mi := &file_MassiveEntityState_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MassiveEntityState.ProtoReflect.Descriptor instead.
+func (*MassiveEntityState) Descriptor() ([]byte, []int) {
+ return file_MassiveEntityState_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MassiveEntityState) GetEntityType() uint32 {
+ if x != nil {
+ return x.EntityType
+ }
+ return 0
+}
+
+func (x *MassiveEntityState) GetObjId() int64 {
+ if x != nil {
+ return x.ObjId
+ }
+ return 0
+}
+
+func (x *MassiveEntityState) GetElementState() uint32 {
+ if x != nil {
+ return x.ElementState
+ }
+ return 0
+}
+
+var File_MassiveEntityState_proto protoreflect.FileDescriptor
+
+var file_MassiveEntityState_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x71, 0x0a, 0x12, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64, 0x12,
+ 0x23, 0x0a, 0x0d, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MassiveEntityState_proto_rawDescOnce sync.Once
+ file_MassiveEntityState_proto_rawDescData = file_MassiveEntityState_proto_rawDesc
+)
+
+func file_MassiveEntityState_proto_rawDescGZIP() []byte {
+ file_MassiveEntityState_proto_rawDescOnce.Do(func() {
+ file_MassiveEntityState_proto_rawDescData = protoimpl.X.CompressGZIP(file_MassiveEntityState_proto_rawDescData)
+ })
+ return file_MassiveEntityState_proto_rawDescData
+}
+
+var file_MassiveEntityState_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MassiveEntityState_proto_goTypes = []interface{}{
+ (*MassiveEntityState)(nil), // 0: proto.MassiveEntityState
+}
+var file_MassiveEntityState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MassiveEntityState_proto_init() }
+func file_MassiveEntityState_proto_init() {
+ if File_MassiveEntityState_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MassiveEntityState_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MassiveEntityState); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MassiveEntityState_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MassiveEntityState_proto_goTypes,
+ DependencyIndexes: file_MassiveEntityState_proto_depIdxs,
+ MessageInfos: file_MassiveEntityState_proto_msgTypes,
+ }.Build()
+ File_MassiveEntityState_proto = out.File
+ file_MassiveEntityState_proto_rawDesc = nil
+ file_MassiveEntityState_proto_goTypes = nil
+ file_MassiveEntityState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MassiveEntityStateChangedNotify.pb.go b/protocol/proto/MassiveEntityStateChangedNotify.pb.go
new file mode 100644
index 00000000..4bc0f282
--- /dev/null
+++ b/protocol/proto/MassiveEntityStateChangedNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MassiveEntityStateChangedNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 370
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MassiveEntityStateChangedNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MassiveEntityStateList []*MassiveEntityState `protobuf:"bytes,4,rep,name=massive_entity_state_list,json=massiveEntityStateList,proto3" json:"massive_entity_state_list,omitempty"`
+}
+
+func (x *MassiveEntityStateChangedNotify) Reset() {
+ *x = MassiveEntityStateChangedNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MassiveEntityStateChangedNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MassiveEntityStateChangedNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MassiveEntityStateChangedNotify) ProtoMessage() {}
+
+func (x *MassiveEntityStateChangedNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MassiveEntityStateChangedNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MassiveEntityStateChangedNotify.ProtoReflect.Descriptor instead.
+func (*MassiveEntityStateChangedNotify) Descriptor() ([]byte, []int) {
+ return file_MassiveEntityStateChangedNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MassiveEntityStateChangedNotify) GetMassiveEntityStateList() []*MassiveEntityState {
+ if x != nil {
+ return x.MassiveEntityStateList
+ }
+ return nil
+}
+
+var File_MassiveEntityStateChangedNotify_proto protoreflect.FileDescriptor
+
+var file_MassiveEntityStateChangedNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
+ 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x1f, 0x4d, 0x61, 0x73, 0x73,
+ 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x54, 0x0a, 0x19, 0x6d,
+ 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x16, 0x6d, 0x61, 0x73, 0x73, 0x69,
+ 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MassiveEntityStateChangedNotify_proto_rawDescOnce sync.Once
+ file_MassiveEntityStateChangedNotify_proto_rawDescData = file_MassiveEntityStateChangedNotify_proto_rawDesc
+)
+
+func file_MassiveEntityStateChangedNotify_proto_rawDescGZIP() []byte {
+ file_MassiveEntityStateChangedNotify_proto_rawDescOnce.Do(func() {
+ file_MassiveEntityStateChangedNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MassiveEntityStateChangedNotify_proto_rawDescData)
+ })
+ return file_MassiveEntityStateChangedNotify_proto_rawDescData
+}
+
+var file_MassiveEntityStateChangedNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MassiveEntityStateChangedNotify_proto_goTypes = []interface{}{
+ (*MassiveEntityStateChangedNotify)(nil), // 0: proto.MassiveEntityStateChangedNotify
+ (*MassiveEntityState)(nil), // 1: proto.MassiveEntityState
+}
+var file_MassiveEntityStateChangedNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MassiveEntityStateChangedNotify.massive_entity_state_list:type_name -> proto.MassiveEntityState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MassiveEntityStateChangedNotify_proto_init() }
+func file_MassiveEntityStateChangedNotify_proto_init() {
+ if File_MassiveEntityStateChangedNotify_proto != nil {
+ return
+ }
+ file_MassiveEntityState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MassiveEntityStateChangedNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MassiveEntityStateChangedNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MassiveEntityStateChangedNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MassiveEntityStateChangedNotify_proto_goTypes,
+ DependencyIndexes: file_MassiveEntityStateChangedNotify_proto_depIdxs,
+ MessageInfos: file_MassiveEntityStateChangedNotify_proto_msgTypes,
+ }.Build()
+ File_MassiveEntityStateChangedNotify_proto = out.File
+ file_MassiveEntityStateChangedNotify_proto_rawDesc = nil
+ file_MassiveEntityStateChangedNotify_proto_goTypes = nil
+ file_MassiveEntityStateChangedNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MassiveGrassInfo.pb.go b/protocol/proto/MassiveGrassInfo.pb.go
new file mode 100644
index 00000000..6b17d269
--- /dev/null
+++ b/protocol/proto/MassiveGrassInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MassiveGrassInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MassiveGrassInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ Center *Vector `protobuf:"bytes,2,opt,name=center,proto3" json:"center,omitempty"`
+ Size *Vector `protobuf:"bytes,3,opt,name=size,proto3" json:"size,omitempty"`
+}
+
+func (x *MassiveGrassInfo) Reset() {
+ *x = MassiveGrassInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MassiveGrassInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MassiveGrassInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MassiveGrassInfo) ProtoMessage() {}
+
+func (x *MassiveGrassInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MassiveGrassInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MassiveGrassInfo.ProtoReflect.Descriptor instead.
+func (*MassiveGrassInfo) Descriptor() ([]byte, []int) {
+ return file_MassiveGrassInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MassiveGrassInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *MassiveGrassInfo) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *MassiveGrassInfo) GetSize() *Vector {
+ if x != nil {
+ return x.Size
+ }
+ return nil
+}
+
+var File_MassiveGrassInfo_proto protoreflect.FileDescriptor
+
+var file_MassiveGrassInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x47, 0x72, 0x61, 0x73, 0x73, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a,
+ 0x10, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x47, 0x72, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
+ 0x64, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MassiveGrassInfo_proto_rawDescOnce sync.Once
+ file_MassiveGrassInfo_proto_rawDescData = file_MassiveGrassInfo_proto_rawDesc
+)
+
+func file_MassiveGrassInfo_proto_rawDescGZIP() []byte {
+ file_MassiveGrassInfo_proto_rawDescOnce.Do(func() {
+ file_MassiveGrassInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MassiveGrassInfo_proto_rawDescData)
+ })
+ return file_MassiveGrassInfo_proto_rawDescData
+}
+
+var file_MassiveGrassInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MassiveGrassInfo_proto_goTypes = []interface{}{
+ (*MassiveGrassInfo)(nil), // 0: proto.MassiveGrassInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_MassiveGrassInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MassiveGrassInfo.center:type_name -> proto.Vector
+ 1, // 1: proto.MassiveGrassInfo.size:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_MassiveGrassInfo_proto_init() }
+func file_MassiveGrassInfo_proto_init() {
+ if File_MassiveGrassInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MassiveGrassInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MassiveGrassInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MassiveGrassInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MassiveGrassInfo_proto_goTypes,
+ DependencyIndexes: file_MassiveGrassInfo_proto_depIdxs,
+ MessageInfos: file_MassiveGrassInfo_proto_msgTypes,
+ }.Build()
+ File_MassiveGrassInfo_proto = out.File
+ file_MassiveGrassInfo_proto_rawDesc = nil
+ file_MassiveGrassInfo_proto_goTypes = nil
+ file_MassiveGrassInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MassivePropParam.pb.go b/protocol/proto/MassivePropParam.pb.go
new file mode 100644
index 00000000..6aea249b
--- /dev/null
+++ b/protocol/proto/MassivePropParam.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MassivePropParam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MassivePropParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
+ ReactionInfoList []uint32 `protobuf:"varint,2,rep,packed,name=reaction_info_list,json=reactionInfoList,proto3" json:"reaction_info_list,omitempty"`
+ ParamList []float32 `protobuf:"fixed32,3,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ SyncFlag uint32 `protobuf:"varint,4,opt,name=sync_flag,json=syncFlag,proto3" json:"sync_flag,omitempty"`
+}
+
+func (x *MassivePropParam) Reset() {
+ *x = MassivePropParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MassivePropParam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MassivePropParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MassivePropParam) ProtoMessage() {}
+
+func (x *MassivePropParam) ProtoReflect() protoreflect.Message {
+ mi := &file_MassivePropParam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MassivePropParam.ProtoReflect.Descriptor instead.
+func (*MassivePropParam) Descriptor() ([]byte, []int) {
+ return file_MassivePropParam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MassivePropParam) GetType() int32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+func (x *MassivePropParam) GetReactionInfoList() []uint32 {
+ if x != nil {
+ return x.ReactionInfoList
+ }
+ return nil
+}
+
+func (x *MassivePropParam) GetParamList() []float32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *MassivePropParam) GetSyncFlag() uint32 {
+ if x != nil {
+ return x.SyncFlag
+ }
+ return 0
+}
+
+var File_MassivePropParam_proto protoreflect.FileDescriptor
+
+var file_MassivePropParam_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x90, 0x01, 0x0a, 0x10, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x66, 0x6c,
+ 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x46, 0x6c,
+ 0x61, 0x67, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MassivePropParam_proto_rawDescOnce sync.Once
+ file_MassivePropParam_proto_rawDescData = file_MassivePropParam_proto_rawDesc
+)
+
+func file_MassivePropParam_proto_rawDescGZIP() []byte {
+ file_MassivePropParam_proto_rawDescOnce.Do(func() {
+ file_MassivePropParam_proto_rawDescData = protoimpl.X.CompressGZIP(file_MassivePropParam_proto_rawDescData)
+ })
+ return file_MassivePropParam_proto_rawDescData
+}
+
+var file_MassivePropParam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MassivePropParam_proto_goTypes = []interface{}{
+ (*MassivePropParam)(nil), // 0: proto.MassivePropParam
+}
+var file_MassivePropParam_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MassivePropParam_proto_init() }
+func file_MassivePropParam_proto_init() {
+ if File_MassivePropParam_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MassivePropParam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MassivePropParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MassivePropParam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MassivePropParam_proto_goTypes,
+ DependencyIndexes: file_MassivePropParam_proto_depIdxs,
+ MessageInfos: file_MassivePropParam_proto_msgTypes,
+ }.Build()
+ File_MassivePropParam_proto = out.File
+ file_MassivePropParam_proto_rawDesc = nil
+ file_MassivePropParam_proto_goTypes = nil
+ file_MassivePropParam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MassivePropSyncInfo.pb.go b/protocol/proto/MassivePropSyncInfo.pb.go
new file mode 100644
index 00000000..35f2fb2c
--- /dev/null
+++ b/protocol/proto/MassivePropSyncInfo.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MassivePropSyncInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MassivePropSyncInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ PropList []*MassivePropParam `protobuf:"bytes,2,rep,name=prop_list,json=propList,proto3" json:"prop_list,omitempty"`
+}
+
+func (x *MassivePropSyncInfo) Reset() {
+ *x = MassivePropSyncInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MassivePropSyncInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MassivePropSyncInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MassivePropSyncInfo) ProtoMessage() {}
+
+func (x *MassivePropSyncInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MassivePropSyncInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MassivePropSyncInfo.ProtoReflect.Descriptor instead.
+func (*MassivePropSyncInfo) Descriptor() ([]byte, []int) {
+ return file_MassivePropSyncInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MassivePropSyncInfo) GetId() int64 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *MassivePropSyncInfo) GetPropList() []*MassivePropParam {
+ if x != nil {
+ return x.PropList
+ }
+ return nil
+}
+
+var File_MassivePropSyncInfo_proto protoreflect.FileDescriptor
+
+var file_MassivePropSyncInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x53, 0x79, 0x6e,
+ 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x16, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x13, 0x4d, 0x61,
+ 0x73, 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
+ 0x64, 0x12, 0x34, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x73,
+ 0x73, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x70,
+ 0x72, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MassivePropSyncInfo_proto_rawDescOnce sync.Once
+ file_MassivePropSyncInfo_proto_rawDescData = file_MassivePropSyncInfo_proto_rawDesc
+)
+
+func file_MassivePropSyncInfo_proto_rawDescGZIP() []byte {
+ file_MassivePropSyncInfo_proto_rawDescOnce.Do(func() {
+ file_MassivePropSyncInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MassivePropSyncInfo_proto_rawDescData)
+ })
+ return file_MassivePropSyncInfo_proto_rawDescData
+}
+
+var file_MassivePropSyncInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MassivePropSyncInfo_proto_goTypes = []interface{}{
+ (*MassivePropSyncInfo)(nil), // 0: proto.MassivePropSyncInfo
+ (*MassivePropParam)(nil), // 1: proto.MassivePropParam
+}
+var file_MassivePropSyncInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MassivePropSyncInfo.prop_list:type_name -> proto.MassivePropParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MassivePropSyncInfo_proto_init() }
+func file_MassivePropSyncInfo_proto_init() {
+ if File_MassivePropSyncInfo_proto != nil {
+ return
+ }
+ file_MassivePropParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MassivePropSyncInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MassivePropSyncInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MassivePropSyncInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MassivePropSyncInfo_proto_goTypes,
+ DependencyIndexes: file_MassivePropSyncInfo_proto_depIdxs,
+ MessageInfos: file_MassivePropSyncInfo_proto_msgTypes,
+ }.Build()
+ File_MassivePropSyncInfo_proto = out.File
+ file_MassivePropSyncInfo_proto_rawDesc = nil
+ file_MassivePropSyncInfo_proto_goTypes = nil
+ file_MassivePropSyncInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MassiveWaterInfo.pb.go b/protocol/proto/MassiveWaterInfo.pb.go
new file mode 100644
index 00000000..be9e0893
--- /dev/null
+++ b/protocol/proto/MassiveWaterInfo.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MassiveWaterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MassiveWaterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *MassiveWaterInfo) Reset() {
+ *x = MassiveWaterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MassiveWaterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MassiveWaterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MassiveWaterInfo) ProtoMessage() {}
+
+func (x *MassiveWaterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MassiveWaterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MassiveWaterInfo.ProtoReflect.Descriptor instead.
+func (*MassiveWaterInfo) Descriptor() ([]byte, []int) {
+ return file_MassiveWaterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MassiveWaterInfo) GetId() int64 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_MassiveWaterInfo_proto protoreflect.FileDescriptor
+
+var file_MassiveWaterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x57, 0x61, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x22, 0x0a, 0x10, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x57, 0x61, 0x74, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MassiveWaterInfo_proto_rawDescOnce sync.Once
+ file_MassiveWaterInfo_proto_rawDescData = file_MassiveWaterInfo_proto_rawDesc
+)
+
+func file_MassiveWaterInfo_proto_rawDescGZIP() []byte {
+ file_MassiveWaterInfo_proto_rawDescOnce.Do(func() {
+ file_MassiveWaterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MassiveWaterInfo_proto_rawDescData)
+ })
+ return file_MassiveWaterInfo_proto_rawDescData
+}
+
+var file_MassiveWaterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MassiveWaterInfo_proto_goTypes = []interface{}{
+ (*MassiveWaterInfo)(nil), // 0: proto.MassiveWaterInfo
+}
+var file_MassiveWaterInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MassiveWaterInfo_proto_init() }
+func file_MassiveWaterInfo_proto_init() {
+ if File_MassiveWaterInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MassiveWaterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MassiveWaterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MassiveWaterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MassiveWaterInfo_proto_goTypes,
+ DependencyIndexes: file_MassiveWaterInfo_proto_depIdxs,
+ MessageInfos: file_MassiveWaterInfo_proto_msgTypes,
+ }.Build()
+ File_MassiveWaterInfo_proto = out.File
+ file_MassiveWaterInfo_proto_rawDesc = nil
+ file_MassiveWaterInfo_proto_goTypes = nil
+ file_MassiveWaterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MatchPlayerInfo.pb.go b/protocol/proto/MatchPlayerInfo.pb.go
new file mode 100644
index 00000000..9467074d
--- /dev/null
+++ b/protocol/proto/MatchPlayerInfo.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MatchPlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MatchPlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAgreed bool `protobuf:"varint,9,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+ PlayerInfo *OnlinePlayerInfo `protobuf:"bytes,2,opt,name=player_info,json=playerInfo,proto3" json:"player_info,omitempty"`
+}
+
+func (x *MatchPlayerInfo) Reset() {
+ *x = MatchPlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MatchPlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MatchPlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MatchPlayerInfo) ProtoMessage() {}
+
+func (x *MatchPlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MatchPlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MatchPlayerInfo.ProtoReflect.Descriptor instead.
+func (*MatchPlayerInfo) Descriptor() ([]byte, []int) {
+ return file_MatchPlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MatchPlayerInfo) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+func (x *MatchPlayerInfo) GetPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfo
+ }
+ return nil
+}
+
+var File_MatchPlayerInfo_proto protoreflect.FileDescriptor
+
+var file_MatchPlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16,
+ 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f,
+ 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73,
+ 0x41, 0x67, 0x72, 0x65, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MatchPlayerInfo_proto_rawDescOnce sync.Once
+ file_MatchPlayerInfo_proto_rawDescData = file_MatchPlayerInfo_proto_rawDesc
+)
+
+func file_MatchPlayerInfo_proto_rawDescGZIP() []byte {
+ file_MatchPlayerInfo_proto_rawDescOnce.Do(func() {
+ file_MatchPlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MatchPlayerInfo_proto_rawDescData)
+ })
+ return file_MatchPlayerInfo_proto_rawDescData
+}
+
+var file_MatchPlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MatchPlayerInfo_proto_goTypes = []interface{}{
+ (*MatchPlayerInfo)(nil), // 0: proto.MatchPlayerInfo
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+}
+var file_MatchPlayerInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MatchPlayerInfo.player_info:type_name -> proto.OnlinePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MatchPlayerInfo_proto_init() }
+func file_MatchPlayerInfo_proto_init() {
+ if File_MatchPlayerInfo_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MatchPlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MatchPlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MatchPlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MatchPlayerInfo_proto_goTypes,
+ DependencyIndexes: file_MatchPlayerInfo_proto_depIdxs,
+ MessageInfos: file_MatchPlayerInfo_proto_msgTypes,
+ }.Build()
+ File_MatchPlayerInfo_proto = out.File
+ file_MatchPlayerInfo_proto_rawDesc = nil
+ file_MatchPlayerInfo_proto_goTypes = nil
+ file_MatchPlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MatchReason.pb.go b/protocol/proto/MatchReason.pb.go
new file mode 100644
index 00000000..cdd6984a
--- /dev/null
+++ b/protocol/proto/MatchReason.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MatchReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MatchReason int32
+
+const (
+ MatchReason_MATCH_REASON_NONE MatchReason = 0
+ MatchReason_MATCH_REASON_FINISH MatchReason = 1
+ MatchReason_MATCH_REASON_PLAYER_CANCEL MatchReason = 2
+ MatchReason_MATCH_REASON_TIMEOUT MatchReason = 3
+ MatchReason_MATCH_REASON_PLAYER_CONFIRM MatchReason = 4
+ MatchReason_MATCH_REASON_FAILED MatchReason = 5
+ MatchReason_MATCH_REASON_SYSTEM_ERROR MatchReason = 6
+ MatchReason_MATCH_REASON_INTERRUPTED MatchReason = 7
+ MatchReason_MATCH_REASON_MP_UNAVAILABLE MatchReason = 8
+ MatchReason_MATCH_REASON_CONFIRM_TIMEOUT MatchReason = 9
+)
+
+// Enum value maps for MatchReason.
+var (
+ MatchReason_name = map[int32]string{
+ 0: "MATCH_REASON_NONE",
+ 1: "MATCH_REASON_FINISH",
+ 2: "MATCH_REASON_PLAYER_CANCEL",
+ 3: "MATCH_REASON_TIMEOUT",
+ 4: "MATCH_REASON_PLAYER_CONFIRM",
+ 5: "MATCH_REASON_FAILED",
+ 6: "MATCH_REASON_SYSTEM_ERROR",
+ 7: "MATCH_REASON_INTERRUPTED",
+ 8: "MATCH_REASON_MP_UNAVAILABLE",
+ 9: "MATCH_REASON_CONFIRM_TIMEOUT",
+ }
+ MatchReason_value = map[string]int32{
+ "MATCH_REASON_NONE": 0,
+ "MATCH_REASON_FINISH": 1,
+ "MATCH_REASON_PLAYER_CANCEL": 2,
+ "MATCH_REASON_TIMEOUT": 3,
+ "MATCH_REASON_PLAYER_CONFIRM": 4,
+ "MATCH_REASON_FAILED": 5,
+ "MATCH_REASON_SYSTEM_ERROR": 6,
+ "MATCH_REASON_INTERRUPTED": 7,
+ "MATCH_REASON_MP_UNAVAILABLE": 8,
+ "MATCH_REASON_CONFIRM_TIMEOUT": 9,
+ }
+)
+
+func (x MatchReason) Enum() *MatchReason {
+ p := new(MatchReason)
+ *p = x
+ return p
+}
+
+func (x MatchReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MatchReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_MatchReason_proto_enumTypes[0].Descriptor()
+}
+
+func (MatchReason) Type() protoreflect.EnumType {
+ return &file_MatchReason_proto_enumTypes[0]
+}
+
+func (x MatchReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MatchReason.Descriptor instead.
+func (MatchReason) EnumDescriptor() ([]byte, []int) {
+ return file_MatchReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MatchReason_proto protoreflect.FileDescriptor
+
+var file_MatchReason_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xb1, 0x02, 0x0a, 0x0b, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x41,
+ 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x41,
+ 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45,
+ 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x41,
+ 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f,
+ 0x55, 0x54, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46,
+ 0x49, 0x52, 0x4d, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x1d,
+ 0x0a, 0x19, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53,
+ 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x1c, 0x0a,
+ 0x18, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e,
+ 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x4d,
+ 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x50, 0x5f, 0x55,
+ 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x08, 0x12, 0x20, 0x0a, 0x1c,
+ 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e,
+ 0x46, 0x49, 0x52, 0x4d, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x09, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_MatchReason_proto_rawDescOnce sync.Once
+ file_MatchReason_proto_rawDescData = file_MatchReason_proto_rawDesc
+)
+
+func file_MatchReason_proto_rawDescGZIP() []byte {
+ file_MatchReason_proto_rawDescOnce.Do(func() {
+ file_MatchReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_MatchReason_proto_rawDescData)
+ })
+ return file_MatchReason_proto_rawDescData
+}
+
+var file_MatchReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MatchReason_proto_goTypes = []interface{}{
+ (MatchReason)(0), // 0: proto.MatchReason
+}
+var file_MatchReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MatchReason_proto_init() }
+func file_MatchReason_proto_init() {
+ if File_MatchReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MatchReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MatchReason_proto_goTypes,
+ DependencyIndexes: file_MatchReason_proto_depIdxs,
+ EnumInfos: file_MatchReason_proto_enumTypes,
+ }.Build()
+ File_MatchReason_proto = out.File
+ file_MatchReason_proto_rawDesc = nil
+ file_MatchReason_proto_goTypes = nil
+ file_MatchReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MatchType.pb.go b/protocol/proto/MatchType.pb.go
new file mode 100644
index 00000000..b081c38c
--- /dev/null
+++ b/protocol/proto/MatchType.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MatchType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MatchType int32
+
+const (
+ MatchType_MATCH_TYPE_NONE MatchType = 0
+ MatchType_MATCH_TYPE_DUNGEON MatchType = 1
+ MatchType_MATCH_TYPE_MP_PLAY MatchType = 2
+ MatchType_MATCH_TYPE_MECHANICUS MatchType = 3
+ MatchType_MATCH_TYPE_GENERAL MatchType = 4
+ MatchType_MATCH_TYPE_GCG MatchType = 5
+)
+
+// Enum value maps for MatchType.
+var (
+ MatchType_name = map[int32]string{
+ 0: "MATCH_TYPE_NONE",
+ 1: "MATCH_TYPE_DUNGEON",
+ 2: "MATCH_TYPE_MP_PLAY",
+ 3: "MATCH_TYPE_MECHANICUS",
+ 4: "MATCH_TYPE_GENERAL",
+ 5: "MATCH_TYPE_GCG",
+ }
+ MatchType_value = map[string]int32{
+ "MATCH_TYPE_NONE": 0,
+ "MATCH_TYPE_DUNGEON": 1,
+ "MATCH_TYPE_MP_PLAY": 2,
+ "MATCH_TYPE_MECHANICUS": 3,
+ "MATCH_TYPE_GENERAL": 4,
+ "MATCH_TYPE_GCG": 5,
+ }
+)
+
+func (x MatchType) Enum() *MatchType {
+ p := new(MatchType)
+ *p = x
+ return p
+}
+
+func (x MatchType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MatchType) Descriptor() protoreflect.EnumDescriptor {
+ return file_MatchType_proto_enumTypes[0].Descriptor()
+}
+
+func (MatchType) Type() protoreflect.EnumType {
+ return &file_MatchType_proto_enumTypes[0]
+}
+
+func (x MatchType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MatchType.Descriptor instead.
+func (MatchType) EnumDescriptor() ([]byte, []int) {
+ return file_MatchType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MatchType_proto protoreflect.FileDescriptor
+
+var file_MatchType_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x97, 0x01, 0x0a, 0x09, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d,
+ 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4d,
+ 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e,
+ 0x49, 0x43, 0x55, 0x53, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x12,
+ 0x0a, 0x0e, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x43, 0x47,
+ 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MatchType_proto_rawDescOnce sync.Once
+ file_MatchType_proto_rawDescData = file_MatchType_proto_rawDesc
+)
+
+func file_MatchType_proto_rawDescGZIP() []byte {
+ file_MatchType_proto_rawDescOnce.Do(func() {
+ file_MatchType_proto_rawDescData = protoimpl.X.CompressGZIP(file_MatchType_proto_rawDescData)
+ })
+ return file_MatchType_proto_rawDescData
+}
+
+var file_MatchType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MatchType_proto_goTypes = []interface{}{
+ (MatchType)(0), // 0: proto.MatchType
+}
+var file_MatchType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MatchType_proto_init() }
+func file_MatchType_proto_init() {
+ if File_MatchType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MatchType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MatchType_proto_goTypes,
+ DependencyIndexes: file_MatchType_proto_depIdxs,
+ EnumInfos: file_MatchType_proto_enumTypes,
+ }.Build()
+ File_MatchType_proto = out.File
+ file_MatchType_proto_rawDesc = nil
+ file_MatchType_proto_goTypes = nil
+ file_MatchType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Material.pb.go b/protocol/proto/Material.pb.go
new file mode 100644
index 00000000..3681123e
--- /dev/null
+++ b/protocol/proto/Material.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Material.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Material struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Count uint32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
+ DeleteInfo *MaterialDeleteInfo `protobuf:"bytes,2,opt,name=delete_info,json=deleteInfo,proto3" json:"delete_info,omitempty"`
+}
+
+func (x *Material) Reset() {
+ *x = Material{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Material_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Material) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Material) ProtoMessage() {}
+
+func (x *Material) ProtoReflect() protoreflect.Message {
+ mi := &file_Material_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Material.ProtoReflect.Descriptor instead.
+func (*Material) Descriptor() ([]byte, []int) {
+ return file_Material_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Material) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *Material) GetDeleteInfo() *MaterialDeleteInfo {
+ if x != nil {
+ return x.DeleteInfo
+ }
+ return nil
+}
+
+var File_Material_proto protoreflect.FileDescriptor
+
+var file_Material_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x5c, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x14, 0x0a,
+ 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Material_proto_rawDescOnce sync.Once
+ file_Material_proto_rawDescData = file_Material_proto_rawDesc
+)
+
+func file_Material_proto_rawDescGZIP() []byte {
+ file_Material_proto_rawDescOnce.Do(func() {
+ file_Material_proto_rawDescData = protoimpl.X.CompressGZIP(file_Material_proto_rawDescData)
+ })
+ return file_Material_proto_rawDescData
+}
+
+var file_Material_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Material_proto_goTypes = []interface{}{
+ (*Material)(nil), // 0: proto.Material
+ (*MaterialDeleteInfo)(nil), // 1: proto.MaterialDeleteInfo
+}
+var file_Material_proto_depIdxs = []int32{
+ 1, // 0: proto.Material.delete_info:type_name -> proto.MaterialDeleteInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_Material_proto_init() }
+func file_Material_proto_init() {
+ if File_Material_proto != nil {
+ return
+ }
+ file_MaterialDeleteInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_Material_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Material); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Material_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Material_proto_goTypes,
+ DependencyIndexes: file_Material_proto_depIdxs,
+ MessageInfos: file_Material_proto_msgTypes,
+ }.Build()
+ File_Material_proto = out.File
+ file_Material_proto_rawDesc = nil
+ file_Material_proto_goTypes = nil
+ file_Material_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MaterialDeleteInfo.pb.go b/protocol/proto/MaterialDeleteInfo.pb.go
new file mode 100644
index 00000000..3025c302
--- /dev/null
+++ b/protocol/proto/MaterialDeleteInfo.pb.go
@@ -0,0 +1,489 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MaterialDeleteInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MaterialDeleteInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HasDeleteConfig bool `protobuf:"varint,1,opt,name=has_delete_config,json=hasDeleteConfig,proto3" json:"has_delete_config,omitempty"`
+ // Types that are assignable to DeleteInfo:
+ //
+ // *MaterialDeleteInfo_CountDownDelete_
+ // *MaterialDeleteInfo_DateDelete
+ // *MaterialDeleteInfo_DelayWeekCountDownDelete_
+ DeleteInfo isMaterialDeleteInfo_DeleteInfo `protobuf_oneof:"delete_info"`
+}
+
+func (x *MaterialDeleteInfo) Reset() {
+ *x = MaterialDeleteInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MaterialDeleteInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MaterialDeleteInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MaterialDeleteInfo) ProtoMessage() {}
+
+func (x *MaterialDeleteInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MaterialDeleteInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MaterialDeleteInfo.ProtoReflect.Descriptor instead.
+func (*MaterialDeleteInfo) Descriptor() ([]byte, []int) {
+ return file_MaterialDeleteInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MaterialDeleteInfo) GetHasDeleteConfig() bool {
+ if x != nil {
+ return x.HasDeleteConfig
+ }
+ return false
+}
+
+func (m *MaterialDeleteInfo) GetDeleteInfo() isMaterialDeleteInfo_DeleteInfo {
+ if m != nil {
+ return m.DeleteInfo
+ }
+ return nil
+}
+
+func (x *MaterialDeleteInfo) GetCountDownDelete() *MaterialDeleteInfo_CountDownDelete {
+ if x, ok := x.GetDeleteInfo().(*MaterialDeleteInfo_CountDownDelete_); ok {
+ return x.CountDownDelete
+ }
+ return nil
+}
+
+func (x *MaterialDeleteInfo) GetDateDelete() *MaterialDeleteInfo_DateTimeDelete {
+ if x, ok := x.GetDeleteInfo().(*MaterialDeleteInfo_DateDelete); ok {
+ return x.DateDelete
+ }
+ return nil
+}
+
+func (x *MaterialDeleteInfo) GetDelayWeekCountDownDelete() *MaterialDeleteInfo_DelayWeekCountDownDelete {
+ if x, ok := x.GetDeleteInfo().(*MaterialDeleteInfo_DelayWeekCountDownDelete_); ok {
+ return x.DelayWeekCountDownDelete
+ }
+ return nil
+}
+
+type isMaterialDeleteInfo_DeleteInfo interface {
+ isMaterialDeleteInfo_DeleteInfo()
+}
+
+type MaterialDeleteInfo_CountDownDelete_ struct {
+ CountDownDelete *MaterialDeleteInfo_CountDownDelete `protobuf:"bytes,2,opt,name=count_down_delete,json=countDownDelete,proto3,oneof"`
+}
+
+type MaterialDeleteInfo_DateDelete struct {
+ DateDelete *MaterialDeleteInfo_DateTimeDelete `protobuf:"bytes,3,opt,name=date_delete,json=dateDelete,proto3,oneof"`
+}
+
+type MaterialDeleteInfo_DelayWeekCountDownDelete_ struct {
+ DelayWeekCountDownDelete *MaterialDeleteInfo_DelayWeekCountDownDelete `protobuf:"bytes,4,opt,name=delay_week_count_down_delete,json=delayWeekCountDownDelete,proto3,oneof"`
+}
+
+func (*MaterialDeleteInfo_CountDownDelete_) isMaterialDeleteInfo_DeleteInfo() {}
+
+func (*MaterialDeleteInfo_DateDelete) isMaterialDeleteInfo_DeleteInfo() {}
+
+func (*MaterialDeleteInfo_DelayWeekCountDownDelete_) isMaterialDeleteInfo_DeleteInfo() {}
+
+type MaterialDeleteInfo_CountDownDelete struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeleteTimeNumMap map[uint32]uint32 `protobuf:"bytes,1,rep,name=delete_time_num_map,json=deleteTimeNumMap,proto3" json:"delete_time_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ConfigCountDownTime uint32 `protobuf:"varint,2,opt,name=config_count_down_time,json=configCountDownTime,proto3" json:"config_count_down_time,omitempty"`
+}
+
+func (x *MaterialDeleteInfo_CountDownDelete) Reset() {
+ *x = MaterialDeleteInfo_CountDownDelete{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MaterialDeleteInfo_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MaterialDeleteInfo_CountDownDelete) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MaterialDeleteInfo_CountDownDelete) ProtoMessage() {}
+
+func (x *MaterialDeleteInfo_CountDownDelete) ProtoReflect() protoreflect.Message {
+ mi := &file_MaterialDeleteInfo_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MaterialDeleteInfo_CountDownDelete.ProtoReflect.Descriptor instead.
+func (*MaterialDeleteInfo_CountDownDelete) Descriptor() ([]byte, []int) {
+ return file_MaterialDeleteInfo_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *MaterialDeleteInfo_CountDownDelete) GetDeleteTimeNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.DeleteTimeNumMap
+ }
+ return nil
+}
+
+func (x *MaterialDeleteInfo_CountDownDelete) GetConfigCountDownTime() uint32 {
+ if x != nil {
+ return x.ConfigCountDownTime
+ }
+ return 0
+}
+
+type MaterialDeleteInfo_DateTimeDelete struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeleteTime uint32 `protobuf:"varint,1,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
+}
+
+func (x *MaterialDeleteInfo_DateTimeDelete) Reset() {
+ *x = MaterialDeleteInfo_DateTimeDelete{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MaterialDeleteInfo_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MaterialDeleteInfo_DateTimeDelete) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MaterialDeleteInfo_DateTimeDelete) ProtoMessage() {}
+
+func (x *MaterialDeleteInfo_DateTimeDelete) ProtoReflect() protoreflect.Message {
+ mi := &file_MaterialDeleteInfo_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MaterialDeleteInfo_DateTimeDelete.ProtoReflect.Descriptor instead.
+func (*MaterialDeleteInfo_DateTimeDelete) Descriptor() ([]byte, []int) {
+ return file_MaterialDeleteInfo_proto_rawDescGZIP(), []int{0, 1}
+}
+
+func (x *MaterialDeleteInfo_DateTimeDelete) GetDeleteTime() uint32 {
+ if x != nil {
+ return x.DeleteTime
+ }
+ return 0
+}
+
+type MaterialDeleteInfo_DelayWeekCountDownDelete struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeleteTimeNumMap map[uint32]uint32 `protobuf:"bytes,1,rep,name=delete_time_num_map,json=deleteTimeNumMap,proto3" json:"delete_time_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ConfigDelayWeek uint32 `protobuf:"varint,2,opt,name=config_delay_week,json=configDelayWeek,proto3" json:"config_delay_week,omitempty"`
+ ConfigCountDownTime uint32 `protobuf:"varint,3,opt,name=config_count_down_time,json=configCountDownTime,proto3" json:"config_count_down_time,omitempty"`
+}
+
+func (x *MaterialDeleteInfo_DelayWeekCountDownDelete) Reset() {
+ *x = MaterialDeleteInfo_DelayWeekCountDownDelete{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MaterialDeleteInfo_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MaterialDeleteInfo_DelayWeekCountDownDelete) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MaterialDeleteInfo_DelayWeekCountDownDelete) ProtoMessage() {}
+
+func (x *MaterialDeleteInfo_DelayWeekCountDownDelete) ProtoReflect() protoreflect.Message {
+ mi := &file_MaterialDeleteInfo_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MaterialDeleteInfo_DelayWeekCountDownDelete.ProtoReflect.Descriptor instead.
+func (*MaterialDeleteInfo_DelayWeekCountDownDelete) Descriptor() ([]byte, []int) {
+ return file_MaterialDeleteInfo_proto_rawDescGZIP(), []int{0, 2}
+}
+
+func (x *MaterialDeleteInfo_DelayWeekCountDownDelete) GetDeleteTimeNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.DeleteTimeNumMap
+ }
+ return nil
+}
+
+func (x *MaterialDeleteInfo_DelayWeekCountDownDelete) GetConfigDelayWeek() uint32 {
+ if x != nil {
+ return x.ConfigDelayWeek
+ }
+ return 0
+}
+
+func (x *MaterialDeleteInfo_DelayWeekCountDownDelete) GetConfigCountDownTime() uint32 {
+ if x != nil {
+ return x.ConfigCountDownTime
+ }
+ return 0
+}
+
+var File_MaterialDeleteInfo_proto protoreflect.FileDescriptor
+
+var file_MaterialDeleteInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xd8, 0x07, 0x0a, 0x12, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x5f,
+ 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 0x61, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x6f,
+ 0x77, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x4b, 0x0a,
+ 0x0b, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72,
+ 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x61,
+ 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0a,
+ 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x74, 0x0a, 0x1c, 0x64, 0x65,
+ 0x6c, 0x61, 0x79, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64,
+ 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x61,
+ 0x79, 0x57, 0x65, 0x65, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x48, 0x00, 0x52, 0x18, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x57, 0x65, 0x65,
+ 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x1a, 0xfb, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x12, 0x6e, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x3f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x2e, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x75,
+ 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x43, 0x0a, 0x15, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x31,
+ 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x1a, 0xb9, 0x02, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x77,
+ 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x57, 0x65, 0x65, 0x6b,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x2e,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x57,
+ 0x65, 0x65, 0x6b, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x44, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x43, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a,
+ 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MaterialDeleteInfo_proto_rawDescOnce sync.Once
+ file_MaterialDeleteInfo_proto_rawDescData = file_MaterialDeleteInfo_proto_rawDesc
+)
+
+func file_MaterialDeleteInfo_proto_rawDescGZIP() []byte {
+ file_MaterialDeleteInfo_proto_rawDescOnce.Do(func() {
+ file_MaterialDeleteInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MaterialDeleteInfo_proto_rawDescData)
+ })
+ return file_MaterialDeleteInfo_proto_rawDescData
+}
+
+var file_MaterialDeleteInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
+var file_MaterialDeleteInfo_proto_goTypes = []interface{}{
+ (*MaterialDeleteInfo)(nil), // 0: proto.MaterialDeleteInfo
+ (*MaterialDeleteInfo_CountDownDelete)(nil), // 1: proto.MaterialDeleteInfo.CountDownDelete
+ (*MaterialDeleteInfo_DateTimeDelete)(nil), // 2: proto.MaterialDeleteInfo.DateTimeDelete
+ (*MaterialDeleteInfo_DelayWeekCountDownDelete)(nil), // 3: proto.MaterialDeleteInfo.DelayWeekCountDownDelete
+ nil, // 4: proto.MaterialDeleteInfo.CountDownDelete.DeleteTimeNumMapEntry
+ nil, // 5: proto.MaterialDeleteInfo.DelayWeekCountDownDelete.DeleteTimeNumMapEntry
+}
+var file_MaterialDeleteInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MaterialDeleteInfo.count_down_delete:type_name -> proto.MaterialDeleteInfo.CountDownDelete
+ 2, // 1: proto.MaterialDeleteInfo.date_delete:type_name -> proto.MaterialDeleteInfo.DateTimeDelete
+ 3, // 2: proto.MaterialDeleteInfo.delay_week_count_down_delete:type_name -> proto.MaterialDeleteInfo.DelayWeekCountDownDelete
+ 4, // 3: proto.MaterialDeleteInfo.CountDownDelete.delete_time_num_map:type_name -> proto.MaterialDeleteInfo.CountDownDelete.DeleteTimeNumMapEntry
+ 5, // 4: proto.MaterialDeleteInfo.DelayWeekCountDownDelete.delete_time_num_map:type_name -> proto.MaterialDeleteInfo.DelayWeekCountDownDelete.DeleteTimeNumMapEntry
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_MaterialDeleteInfo_proto_init() }
+func file_MaterialDeleteInfo_proto_init() {
+ if File_MaterialDeleteInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MaterialDeleteInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MaterialDeleteInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_MaterialDeleteInfo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MaterialDeleteInfo_CountDownDelete); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_MaterialDeleteInfo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MaterialDeleteInfo_DateTimeDelete); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_MaterialDeleteInfo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MaterialDeleteInfo_DelayWeekCountDownDelete); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_MaterialDeleteInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*MaterialDeleteInfo_CountDownDelete_)(nil),
+ (*MaterialDeleteInfo_DateDelete)(nil),
+ (*MaterialDeleteInfo_DelayWeekCountDownDelete_)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MaterialDeleteInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 6,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MaterialDeleteInfo_proto_goTypes,
+ DependencyIndexes: file_MaterialDeleteInfo_proto_depIdxs,
+ MessageInfos: file_MaterialDeleteInfo_proto_msgTypes,
+ }.Build()
+ File_MaterialDeleteInfo_proto = out.File
+ file_MaterialDeleteInfo_proto_rawDesc = nil
+ file_MaterialDeleteInfo_proto_goTypes = nil
+ file_MaterialDeleteInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MaterialDeleteReturnNotify.pb.go b/protocol/proto/MaterialDeleteReturnNotify.pb.go
new file mode 100644
index 00000000..8dbdc2e1
--- /dev/null
+++ b/protocol/proto/MaterialDeleteReturnNotify.pb.go
@@ -0,0 +1,211 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MaterialDeleteReturnNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 661
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MaterialDeleteReturnNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReturnItemMap map[uint32]uint32 `protobuf:"bytes,5,rep,name=return_item_map,json=returnItemMap,proto3" json:"return_item_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Type MaterialDeleteReturnType `protobuf:"varint,8,opt,name=type,proto3,enum=proto.MaterialDeleteReturnType" json:"type,omitempty"`
+ DeleteMaterialMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=delete_material_map,json=deleteMaterialMap,proto3" json:"delete_material_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *MaterialDeleteReturnNotify) Reset() {
+ *x = MaterialDeleteReturnNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MaterialDeleteReturnNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MaterialDeleteReturnNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MaterialDeleteReturnNotify) ProtoMessage() {}
+
+func (x *MaterialDeleteReturnNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MaterialDeleteReturnNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MaterialDeleteReturnNotify.ProtoReflect.Descriptor instead.
+func (*MaterialDeleteReturnNotify) Descriptor() ([]byte, []int) {
+ return file_MaterialDeleteReturnNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MaterialDeleteReturnNotify) GetReturnItemMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ReturnItemMap
+ }
+ return nil
+}
+
+func (x *MaterialDeleteReturnNotify) GetType() MaterialDeleteReturnType {
+ if x != nil {
+ return x.Type
+ }
+ return MaterialDeleteReturnType_MATERIAL_DELETE_RETURN_TYPE_BAG
+}
+
+func (x *MaterialDeleteReturnNotify) GetDeleteMaterialMap() map[uint32]uint32 {
+ if x != nil {
+ return x.DeleteMaterialMap
+ }
+ return nil
+}
+
+var File_MaterialDeleteReturnNotify_proto protoreflect.FileDescriptor
+
+var file_MaterialDeleteReturnNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x4d, 0x61, 0x74, 0x65, 0x72,
+ 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x03, 0x0a, 0x1a, 0x4d, 0x61,
+ 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x74, 0x75,
+ 0x72, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x5c, 0x0a, 0x0f, 0x72, 0x65, 0x74, 0x75,
+ 0x72, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49,
+ 0x74, 0x65, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74,
+ 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72,
+ 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x68, 0x0a, 0x13, 0x64,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
+ 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x1a, 0x40, 0x0a, 0x12, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x49,
+ 0x74, 0x65, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MaterialDeleteReturnNotify_proto_rawDescOnce sync.Once
+ file_MaterialDeleteReturnNotify_proto_rawDescData = file_MaterialDeleteReturnNotify_proto_rawDesc
+)
+
+func file_MaterialDeleteReturnNotify_proto_rawDescGZIP() []byte {
+ file_MaterialDeleteReturnNotify_proto_rawDescOnce.Do(func() {
+ file_MaterialDeleteReturnNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MaterialDeleteReturnNotify_proto_rawDescData)
+ })
+ return file_MaterialDeleteReturnNotify_proto_rawDescData
+}
+
+var file_MaterialDeleteReturnNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_MaterialDeleteReturnNotify_proto_goTypes = []interface{}{
+ (*MaterialDeleteReturnNotify)(nil), // 0: proto.MaterialDeleteReturnNotify
+ nil, // 1: proto.MaterialDeleteReturnNotify.ReturnItemMapEntry
+ nil, // 2: proto.MaterialDeleteReturnNotify.DeleteMaterialMapEntry
+ (MaterialDeleteReturnType)(0), // 3: proto.MaterialDeleteReturnType
+}
+var file_MaterialDeleteReturnNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MaterialDeleteReturnNotify.return_item_map:type_name -> proto.MaterialDeleteReturnNotify.ReturnItemMapEntry
+ 3, // 1: proto.MaterialDeleteReturnNotify.type:type_name -> proto.MaterialDeleteReturnType
+ 2, // 2: proto.MaterialDeleteReturnNotify.delete_material_map:type_name -> proto.MaterialDeleteReturnNotify.DeleteMaterialMapEntry
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_MaterialDeleteReturnNotify_proto_init() }
+func file_MaterialDeleteReturnNotify_proto_init() {
+ if File_MaterialDeleteReturnNotify_proto != nil {
+ return
+ }
+ file_MaterialDeleteReturnType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MaterialDeleteReturnNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MaterialDeleteReturnNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MaterialDeleteReturnNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MaterialDeleteReturnNotify_proto_goTypes,
+ DependencyIndexes: file_MaterialDeleteReturnNotify_proto_depIdxs,
+ MessageInfos: file_MaterialDeleteReturnNotify_proto_msgTypes,
+ }.Build()
+ File_MaterialDeleteReturnNotify_proto = out.File
+ file_MaterialDeleteReturnNotify_proto_rawDesc = nil
+ file_MaterialDeleteReturnNotify_proto_goTypes = nil
+ file_MaterialDeleteReturnNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MaterialDeleteReturnType.pb.go b/protocol/proto/MaterialDeleteReturnType.pb.go
new file mode 100644
index 00000000..16d2a5ea
--- /dev/null
+++ b/protocol/proto/MaterialDeleteReturnType.pb.go
@@ -0,0 +1,148 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MaterialDeleteReturnType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MaterialDeleteReturnType int32
+
+const (
+ MaterialDeleteReturnType_MATERIAL_DELETE_RETURN_TYPE_BAG MaterialDeleteReturnType = 0
+ MaterialDeleteReturnType_MATERIAL_DELETE_RETURN_TYPE_SEED MaterialDeleteReturnType = 1
+)
+
+// Enum value maps for MaterialDeleteReturnType.
+var (
+ MaterialDeleteReturnType_name = map[int32]string{
+ 0: "MATERIAL_DELETE_RETURN_TYPE_BAG",
+ 1: "MATERIAL_DELETE_RETURN_TYPE_SEED",
+ }
+ MaterialDeleteReturnType_value = map[string]int32{
+ "MATERIAL_DELETE_RETURN_TYPE_BAG": 0,
+ "MATERIAL_DELETE_RETURN_TYPE_SEED": 1,
+ }
+)
+
+func (x MaterialDeleteReturnType) Enum() *MaterialDeleteReturnType {
+ p := new(MaterialDeleteReturnType)
+ *p = x
+ return p
+}
+
+func (x MaterialDeleteReturnType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MaterialDeleteReturnType) Descriptor() protoreflect.EnumDescriptor {
+ return file_MaterialDeleteReturnType_proto_enumTypes[0].Descriptor()
+}
+
+func (MaterialDeleteReturnType) Type() protoreflect.EnumType {
+ return &file_MaterialDeleteReturnType_proto_enumTypes[0]
+}
+
+func (x MaterialDeleteReturnType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MaterialDeleteReturnType.Descriptor instead.
+func (MaterialDeleteReturnType) EnumDescriptor() ([]byte, []int) {
+ return file_MaterialDeleteReturnType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MaterialDeleteReturnType_proto protoreflect.FileDescriptor
+
+var file_MaterialDeleteReturnType_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x65, 0x0a, 0x18, 0x4d, 0x61, 0x74, 0x65, 0x72,
+ 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f,
+ 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x42, 0x41, 0x47, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x41, 0x54, 0x45,
+ 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x55,
+ 0x52, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x45, 0x44, 0x10, 0x01, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_MaterialDeleteReturnType_proto_rawDescOnce sync.Once
+ file_MaterialDeleteReturnType_proto_rawDescData = file_MaterialDeleteReturnType_proto_rawDesc
+)
+
+func file_MaterialDeleteReturnType_proto_rawDescGZIP() []byte {
+ file_MaterialDeleteReturnType_proto_rawDescOnce.Do(func() {
+ file_MaterialDeleteReturnType_proto_rawDescData = protoimpl.X.CompressGZIP(file_MaterialDeleteReturnType_proto_rawDescData)
+ })
+ return file_MaterialDeleteReturnType_proto_rawDescData
+}
+
+var file_MaterialDeleteReturnType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MaterialDeleteReturnType_proto_goTypes = []interface{}{
+ (MaterialDeleteReturnType)(0), // 0: proto.MaterialDeleteReturnType
+}
+var file_MaterialDeleteReturnType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MaterialDeleteReturnType_proto_init() }
+func file_MaterialDeleteReturnType_proto_init() {
+ if File_MaterialDeleteReturnType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MaterialDeleteReturnType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MaterialDeleteReturnType_proto_goTypes,
+ DependencyIndexes: file_MaterialDeleteReturnType_proto_depIdxs,
+ EnumInfos: file_MaterialDeleteReturnType_proto_enumTypes,
+ }.Build()
+ File_MaterialDeleteReturnType_proto = out.File
+ file_MaterialDeleteReturnType_proto_rawDesc = nil
+ file_MaterialDeleteReturnType_proto_goTypes = nil
+ file_MaterialDeleteReturnType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MaterialDeleteUpdateNotify.pb.go b/protocol/proto/MaterialDeleteUpdateNotify.pb.go
new file mode 100644
index 00000000..5969f1f6
--- /dev/null
+++ b/protocol/proto/MaterialDeleteUpdateNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MaterialDeleteUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 700
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MaterialDeleteUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *MaterialDeleteUpdateNotify) Reset() {
+ *x = MaterialDeleteUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MaterialDeleteUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MaterialDeleteUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MaterialDeleteUpdateNotify) ProtoMessage() {}
+
+func (x *MaterialDeleteUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MaterialDeleteUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MaterialDeleteUpdateNotify.ProtoReflect.Descriptor instead.
+func (*MaterialDeleteUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_MaterialDeleteUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MaterialDeleteUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_MaterialDeleteUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x61, 0x74,
+ 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MaterialDeleteUpdateNotify_proto_rawDescOnce sync.Once
+ file_MaterialDeleteUpdateNotify_proto_rawDescData = file_MaterialDeleteUpdateNotify_proto_rawDesc
+)
+
+func file_MaterialDeleteUpdateNotify_proto_rawDescGZIP() []byte {
+ file_MaterialDeleteUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_MaterialDeleteUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MaterialDeleteUpdateNotify_proto_rawDescData)
+ })
+ return file_MaterialDeleteUpdateNotify_proto_rawDescData
+}
+
+var file_MaterialDeleteUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MaterialDeleteUpdateNotify_proto_goTypes = []interface{}{
+ (*MaterialDeleteUpdateNotify)(nil), // 0: proto.MaterialDeleteUpdateNotify
+}
+var file_MaterialDeleteUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MaterialDeleteUpdateNotify_proto_init() }
+func file_MaterialDeleteUpdateNotify_proto_init() {
+ if File_MaterialDeleteUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MaterialDeleteUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MaterialDeleteUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MaterialDeleteUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MaterialDeleteUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_MaterialDeleteUpdateNotify_proto_depIdxs,
+ MessageInfos: file_MaterialDeleteUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_MaterialDeleteUpdateNotify_proto = out.File
+ file_MaterialDeleteUpdateNotify_proto_rawDesc = nil
+ file_MaterialDeleteUpdateNotify_proto_goTypes = nil
+ file_MaterialDeleteUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MaterialInfo.pb.go b/protocol/proto/MaterialInfo.pb.go
new file mode 100644
index 00000000..5209b9fe
--- /dev/null
+++ b/protocol/proto/MaterialInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MaterialInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MaterialInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Count uint32 `protobuf:"varint,11,opt,name=count,proto3" json:"count,omitempty"`
+ Guid uint64 `protobuf:"varint,5,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *MaterialInfo) Reset() {
+ *x = MaterialInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MaterialInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MaterialInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MaterialInfo) ProtoMessage() {}
+
+func (x *MaterialInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MaterialInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MaterialInfo.ProtoReflect.Descriptor instead.
+func (*MaterialInfo) Descriptor() ([]byte, []int) {
+ return file_MaterialInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MaterialInfo) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *MaterialInfo) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_MaterialInfo_proto protoreflect.FileDescriptor
+
+var file_MaterialInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x0c, 0x4d,
+ 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x04, 0x67, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MaterialInfo_proto_rawDescOnce sync.Once
+ file_MaterialInfo_proto_rawDescData = file_MaterialInfo_proto_rawDesc
+)
+
+func file_MaterialInfo_proto_rawDescGZIP() []byte {
+ file_MaterialInfo_proto_rawDescOnce.Do(func() {
+ file_MaterialInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MaterialInfo_proto_rawDescData)
+ })
+ return file_MaterialInfo_proto_rawDescData
+}
+
+var file_MaterialInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MaterialInfo_proto_goTypes = []interface{}{
+ (*MaterialInfo)(nil), // 0: proto.MaterialInfo
+}
+var file_MaterialInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MaterialInfo_proto_init() }
+func file_MaterialInfo_proto_init() {
+ if File_MaterialInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MaterialInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MaterialInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MaterialInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MaterialInfo_proto_goTypes,
+ DependencyIndexes: file_MaterialInfo_proto_depIdxs,
+ MessageInfos: file_MaterialInfo_proto_msgTypes,
+ }.Build()
+ File_MaterialInfo_proto = out.File
+ file_MaterialInfo_proto_rawDesc = nil
+ file_MaterialInfo_proto_goTypes = nil
+ file_MaterialInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MathQuaternion.pb.go b/protocol/proto/MathQuaternion.pb.go
new file mode 100644
index 00000000..9c8bfbe8
--- /dev/null
+++ b/protocol/proto/MathQuaternion.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MathQuaternion.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MathQuaternion struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
+ Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
+ Z float32 `protobuf:"fixed32,3,opt,name=z,proto3" json:"z,omitempty"`
+ W float32 `protobuf:"fixed32,4,opt,name=w,proto3" json:"w,omitempty"`
+}
+
+func (x *MathQuaternion) Reset() {
+ *x = MathQuaternion{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MathQuaternion_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MathQuaternion) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MathQuaternion) ProtoMessage() {}
+
+func (x *MathQuaternion) ProtoReflect() protoreflect.Message {
+ mi := &file_MathQuaternion_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MathQuaternion.ProtoReflect.Descriptor instead.
+func (*MathQuaternion) Descriptor() ([]byte, []int) {
+ return file_MathQuaternion_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MathQuaternion) GetX() float32 {
+ if x != nil {
+ return x.X
+ }
+ return 0
+}
+
+func (x *MathQuaternion) GetY() float32 {
+ if x != nil {
+ return x.Y
+ }
+ return 0
+}
+
+func (x *MathQuaternion) GetZ() float32 {
+ if x != nil {
+ return x.Z
+ }
+ return 0
+}
+
+func (x *MathQuaternion) GetW() float32 {
+ if x != nil {
+ return x.W
+ }
+ return 0
+}
+
+var File_MathQuaternion_proto protoreflect.FileDescriptor
+
+var file_MathQuaternion_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x4d, 0x61, 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a,
+ 0x0e, 0x4d, 0x61, 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x12,
+ 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a,
+ 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x7a, 0x12, 0x0c, 0x0a, 0x01, 0x77, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x77, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MathQuaternion_proto_rawDescOnce sync.Once
+ file_MathQuaternion_proto_rawDescData = file_MathQuaternion_proto_rawDesc
+)
+
+func file_MathQuaternion_proto_rawDescGZIP() []byte {
+ file_MathQuaternion_proto_rawDescOnce.Do(func() {
+ file_MathQuaternion_proto_rawDescData = protoimpl.X.CompressGZIP(file_MathQuaternion_proto_rawDescData)
+ })
+ return file_MathQuaternion_proto_rawDescData
+}
+
+var file_MathQuaternion_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MathQuaternion_proto_goTypes = []interface{}{
+ (*MathQuaternion)(nil), // 0: proto.MathQuaternion
+}
+var file_MathQuaternion_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MathQuaternion_proto_init() }
+func file_MathQuaternion_proto_init() {
+ if File_MathQuaternion_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MathQuaternion_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MathQuaternion); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MathQuaternion_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MathQuaternion_proto_goTypes,
+ DependencyIndexes: file_MathQuaternion_proto_depIdxs,
+ MessageInfos: file_MathQuaternion_proto_msgTypes,
+ }.Build()
+ File_MathQuaternion_proto = out.File
+ file_MathQuaternion_proto_rawDesc = nil
+ file_MathQuaternion_proto_goTypes = nil
+ file_MathQuaternion_proto_depIdxs = nil
+}
diff --git a/protocol/proto/McoinExchangeHcoinReq.pb.go b/protocol/proto/McoinExchangeHcoinReq.pb.go
new file mode 100644
index 00000000..a0456b9b
--- /dev/null
+++ b/protocol/proto/McoinExchangeHcoinReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: McoinExchangeHcoinReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 616
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type McoinExchangeHcoinReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Hcoin uint32 `protobuf:"varint,5,opt,name=hcoin,proto3" json:"hcoin,omitempty"`
+ McoinCost uint32 `protobuf:"varint,1,opt,name=mcoin_cost,json=mcoinCost,proto3" json:"mcoin_cost,omitempty"`
+}
+
+func (x *McoinExchangeHcoinReq) Reset() {
+ *x = McoinExchangeHcoinReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_McoinExchangeHcoinReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *McoinExchangeHcoinReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*McoinExchangeHcoinReq) ProtoMessage() {}
+
+func (x *McoinExchangeHcoinReq) ProtoReflect() protoreflect.Message {
+ mi := &file_McoinExchangeHcoinReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use McoinExchangeHcoinReq.ProtoReflect.Descriptor instead.
+func (*McoinExchangeHcoinReq) Descriptor() ([]byte, []int) {
+ return file_McoinExchangeHcoinReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *McoinExchangeHcoinReq) GetHcoin() uint32 {
+ if x != nil {
+ return x.Hcoin
+ }
+ return 0
+}
+
+func (x *McoinExchangeHcoinReq) GetMcoinCost() uint32 {
+ if x != nil {
+ return x.McoinCost
+ }
+ return 0
+}
+
+var File_McoinExchangeHcoinReq_proto protoreflect.FileDescriptor
+
+var file_McoinExchangeHcoinReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48,
+ 0x63, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x15, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x63,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x63, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a,
+ 0x05, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x68, 0x63,
+ 0x6f, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x73,
+ 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x43, 0x6f,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_McoinExchangeHcoinReq_proto_rawDescOnce sync.Once
+ file_McoinExchangeHcoinReq_proto_rawDescData = file_McoinExchangeHcoinReq_proto_rawDesc
+)
+
+func file_McoinExchangeHcoinReq_proto_rawDescGZIP() []byte {
+ file_McoinExchangeHcoinReq_proto_rawDescOnce.Do(func() {
+ file_McoinExchangeHcoinReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_McoinExchangeHcoinReq_proto_rawDescData)
+ })
+ return file_McoinExchangeHcoinReq_proto_rawDescData
+}
+
+var file_McoinExchangeHcoinReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_McoinExchangeHcoinReq_proto_goTypes = []interface{}{
+ (*McoinExchangeHcoinReq)(nil), // 0: proto.McoinExchangeHcoinReq
+}
+var file_McoinExchangeHcoinReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_McoinExchangeHcoinReq_proto_init() }
+func file_McoinExchangeHcoinReq_proto_init() {
+ if File_McoinExchangeHcoinReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_McoinExchangeHcoinReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*McoinExchangeHcoinReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_McoinExchangeHcoinReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_McoinExchangeHcoinReq_proto_goTypes,
+ DependencyIndexes: file_McoinExchangeHcoinReq_proto_depIdxs,
+ MessageInfos: file_McoinExchangeHcoinReq_proto_msgTypes,
+ }.Build()
+ File_McoinExchangeHcoinReq_proto = out.File
+ file_McoinExchangeHcoinReq_proto_rawDesc = nil
+ file_McoinExchangeHcoinReq_proto_goTypes = nil
+ file_McoinExchangeHcoinReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/McoinExchangeHcoinRsp.pb.go b/protocol/proto/McoinExchangeHcoinRsp.pb.go
new file mode 100644
index 00000000..88d517d2
--- /dev/null
+++ b/protocol/proto/McoinExchangeHcoinRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: McoinExchangeHcoinRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 687
+// EnetChannelId: 0
+// EnetIsReliable: true
+type McoinExchangeHcoinRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ McoinCost uint32 `protobuf:"varint,8,opt,name=mcoin_cost,json=mcoinCost,proto3" json:"mcoin_cost,omitempty"`
+ Hcoin uint32 `protobuf:"varint,7,opt,name=hcoin,proto3" json:"hcoin,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *McoinExchangeHcoinRsp) Reset() {
+ *x = McoinExchangeHcoinRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_McoinExchangeHcoinRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *McoinExchangeHcoinRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*McoinExchangeHcoinRsp) ProtoMessage() {}
+
+func (x *McoinExchangeHcoinRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_McoinExchangeHcoinRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use McoinExchangeHcoinRsp.ProtoReflect.Descriptor instead.
+func (*McoinExchangeHcoinRsp) Descriptor() ([]byte, []int) {
+ return file_McoinExchangeHcoinRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *McoinExchangeHcoinRsp) GetMcoinCost() uint32 {
+ if x != nil {
+ return x.McoinCost
+ }
+ return 0
+}
+
+func (x *McoinExchangeHcoinRsp) GetHcoin() uint32 {
+ if x != nil {
+ return x.Hcoin
+ }
+ return 0
+}
+
+func (x *McoinExchangeHcoinRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_McoinExchangeHcoinRsp_proto protoreflect.FileDescriptor
+
+var file_McoinExchangeHcoinRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48,
+ 0x63, 0x6f, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x15, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x63,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x63, 0x6f, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05,
+ 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x68, 0x63, 0x6f,
+ 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_McoinExchangeHcoinRsp_proto_rawDescOnce sync.Once
+ file_McoinExchangeHcoinRsp_proto_rawDescData = file_McoinExchangeHcoinRsp_proto_rawDesc
+)
+
+func file_McoinExchangeHcoinRsp_proto_rawDescGZIP() []byte {
+ file_McoinExchangeHcoinRsp_proto_rawDescOnce.Do(func() {
+ file_McoinExchangeHcoinRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_McoinExchangeHcoinRsp_proto_rawDescData)
+ })
+ return file_McoinExchangeHcoinRsp_proto_rawDescData
+}
+
+var file_McoinExchangeHcoinRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_McoinExchangeHcoinRsp_proto_goTypes = []interface{}{
+ (*McoinExchangeHcoinRsp)(nil), // 0: proto.McoinExchangeHcoinRsp
+}
+var file_McoinExchangeHcoinRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_McoinExchangeHcoinRsp_proto_init() }
+func file_McoinExchangeHcoinRsp_proto_init() {
+ if File_McoinExchangeHcoinRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_McoinExchangeHcoinRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*McoinExchangeHcoinRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_McoinExchangeHcoinRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_McoinExchangeHcoinRsp_proto_goTypes,
+ DependencyIndexes: file_McoinExchangeHcoinRsp_proto_depIdxs,
+ MessageInfos: file_McoinExchangeHcoinRsp_proto_msgTypes,
+ }.Build()
+ File_McoinExchangeHcoinRsp_proto = out.File
+ file_McoinExchangeHcoinRsp_proto_rawDesc = nil
+ file_McoinExchangeHcoinRsp_proto_goTypes = nil
+ file_McoinExchangeHcoinRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusCandidateTeamCreateReq.pb.go b/protocol/proto/MechanicusCandidateTeamCreateReq.pb.go
new file mode 100644
index 00000000..dcb6ee40
--- /dev/null
+++ b/protocol/proto/MechanicusCandidateTeamCreateReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusCandidateTeamCreateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3981
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MechanicusCandidateTeamCreateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DifficultLevel uint32 `protobuf:"varint,6,opt,name=difficult_level,json=difficultLevel,proto3" json:"difficult_level,omitempty"`
+}
+
+func (x *MechanicusCandidateTeamCreateReq) Reset() {
+ *x = MechanicusCandidateTeamCreateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusCandidateTeamCreateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusCandidateTeamCreateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusCandidateTeamCreateReq) ProtoMessage() {}
+
+func (x *MechanicusCandidateTeamCreateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusCandidateTeamCreateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusCandidateTeamCreateReq.ProtoReflect.Descriptor instead.
+func (*MechanicusCandidateTeamCreateReq) Descriptor() ([]byte, []int) {
+ return file_MechanicusCandidateTeamCreateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusCandidateTeamCreateReq) GetDifficultLevel() uint32 {
+ if x != nil {
+ return x.DifficultLevel
+ }
+ return 0
+}
+
+var File_MechanicusCandidateTeamCreateReq_proto protoreflect.FileDescriptor
+
+var file_MechanicusCandidateTeamCreateReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x6e, 0x64,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x4b, 0x0a, 0x20, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x6e,
+ 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusCandidateTeamCreateReq_proto_rawDescOnce sync.Once
+ file_MechanicusCandidateTeamCreateReq_proto_rawDescData = file_MechanicusCandidateTeamCreateReq_proto_rawDesc
+)
+
+func file_MechanicusCandidateTeamCreateReq_proto_rawDescGZIP() []byte {
+ file_MechanicusCandidateTeamCreateReq_proto_rawDescOnce.Do(func() {
+ file_MechanicusCandidateTeamCreateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusCandidateTeamCreateReq_proto_rawDescData)
+ })
+ return file_MechanicusCandidateTeamCreateReq_proto_rawDescData
+}
+
+var file_MechanicusCandidateTeamCreateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusCandidateTeamCreateReq_proto_goTypes = []interface{}{
+ (*MechanicusCandidateTeamCreateReq)(nil), // 0: proto.MechanicusCandidateTeamCreateReq
+}
+var file_MechanicusCandidateTeamCreateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusCandidateTeamCreateReq_proto_init() }
+func file_MechanicusCandidateTeamCreateReq_proto_init() {
+ if File_MechanicusCandidateTeamCreateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusCandidateTeamCreateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusCandidateTeamCreateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusCandidateTeamCreateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusCandidateTeamCreateReq_proto_goTypes,
+ DependencyIndexes: file_MechanicusCandidateTeamCreateReq_proto_depIdxs,
+ MessageInfos: file_MechanicusCandidateTeamCreateReq_proto_msgTypes,
+ }.Build()
+ File_MechanicusCandidateTeamCreateReq_proto = out.File
+ file_MechanicusCandidateTeamCreateReq_proto_rawDesc = nil
+ file_MechanicusCandidateTeamCreateReq_proto_goTypes = nil
+ file_MechanicusCandidateTeamCreateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusCandidateTeamCreateRsp.pb.go b/protocol/proto/MechanicusCandidateTeamCreateRsp.pb.go
new file mode 100644
index 00000000..1d0eb507
--- /dev/null
+++ b/protocol/proto/MechanicusCandidateTeamCreateRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusCandidateTeamCreateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3905
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MechanicusCandidateTeamCreateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,1,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DifficultLevel uint32 `protobuf:"varint,10,opt,name=difficult_level,json=difficultLevel,proto3" json:"difficult_level,omitempty"`
+}
+
+func (x *MechanicusCandidateTeamCreateRsp) Reset() {
+ *x = MechanicusCandidateTeamCreateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusCandidateTeamCreateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusCandidateTeamCreateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusCandidateTeamCreateRsp) ProtoMessage() {}
+
+func (x *MechanicusCandidateTeamCreateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusCandidateTeamCreateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusCandidateTeamCreateRsp.ProtoReflect.Descriptor instead.
+func (*MechanicusCandidateTeamCreateRsp) Descriptor() ([]byte, []int) {
+ return file_MechanicusCandidateTeamCreateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusCandidateTeamCreateRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *MechanicusCandidateTeamCreateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MechanicusCandidateTeamCreateRsp) GetDifficultLevel() uint32 {
+ if x != nil {
+ return x.DifficultLevel
+ }
+ return 0
+}
+
+var File_MechanicusCandidateTeamCreateRsp_proto protoreflect.FileDescriptor
+
+var file_MechanicusCandidateTeamCreateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61, 0x6e, 0x64,
+ 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x84, 0x01, 0x0a, 0x20, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x61,
+ 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a,
+ 0x0f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
+ 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusCandidateTeamCreateRsp_proto_rawDescOnce sync.Once
+ file_MechanicusCandidateTeamCreateRsp_proto_rawDescData = file_MechanicusCandidateTeamCreateRsp_proto_rawDesc
+)
+
+func file_MechanicusCandidateTeamCreateRsp_proto_rawDescGZIP() []byte {
+ file_MechanicusCandidateTeamCreateRsp_proto_rawDescOnce.Do(func() {
+ file_MechanicusCandidateTeamCreateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusCandidateTeamCreateRsp_proto_rawDescData)
+ })
+ return file_MechanicusCandidateTeamCreateRsp_proto_rawDescData
+}
+
+var file_MechanicusCandidateTeamCreateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusCandidateTeamCreateRsp_proto_goTypes = []interface{}{
+ (*MechanicusCandidateTeamCreateRsp)(nil), // 0: proto.MechanicusCandidateTeamCreateRsp
+}
+var file_MechanicusCandidateTeamCreateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusCandidateTeamCreateRsp_proto_init() }
+func file_MechanicusCandidateTeamCreateRsp_proto_init() {
+ if File_MechanicusCandidateTeamCreateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusCandidateTeamCreateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusCandidateTeamCreateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusCandidateTeamCreateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusCandidateTeamCreateRsp_proto_goTypes,
+ DependencyIndexes: file_MechanicusCandidateTeamCreateRsp_proto_depIdxs,
+ MessageInfos: file_MechanicusCandidateTeamCreateRsp_proto_msgTypes,
+ }.Build()
+ File_MechanicusCandidateTeamCreateRsp_proto = out.File
+ file_MechanicusCandidateTeamCreateRsp_proto_rawDesc = nil
+ file_MechanicusCandidateTeamCreateRsp_proto_goTypes = nil
+ file_MechanicusCandidateTeamCreateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusCloseNotify.pb.go b/protocol/proto/MechanicusCloseNotify.pb.go
new file mode 100644
index 00000000..e0aee22a
--- /dev/null
+++ b/protocol/proto/MechanicusCloseNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusCloseNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3921
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MechanicusCloseNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MechanicusId uint32 `protobuf:"varint,6,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+}
+
+func (x *MechanicusCloseNotify) Reset() {
+ *x = MechanicusCloseNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusCloseNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusCloseNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusCloseNotify) ProtoMessage() {}
+
+func (x *MechanicusCloseNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusCloseNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusCloseNotify.ProtoReflect.Descriptor instead.
+func (*MechanicusCloseNotify) Descriptor() ([]byte, []int) {
+ return file_MechanicusCloseNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusCloseNotify) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+var File_MechanicusCloseNotify_proto protoreflect.FileDescriptor
+
+var file_MechanicusCloseNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x6c, 0x6f, 0x73,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x15, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63,
+ 0x75, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x23, 0x0a,
+ 0x0d, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusCloseNotify_proto_rawDescOnce sync.Once
+ file_MechanicusCloseNotify_proto_rawDescData = file_MechanicusCloseNotify_proto_rawDesc
+)
+
+func file_MechanicusCloseNotify_proto_rawDescGZIP() []byte {
+ file_MechanicusCloseNotify_proto_rawDescOnce.Do(func() {
+ file_MechanicusCloseNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusCloseNotify_proto_rawDescData)
+ })
+ return file_MechanicusCloseNotify_proto_rawDescData
+}
+
+var file_MechanicusCloseNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusCloseNotify_proto_goTypes = []interface{}{
+ (*MechanicusCloseNotify)(nil), // 0: proto.MechanicusCloseNotify
+}
+var file_MechanicusCloseNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusCloseNotify_proto_init() }
+func file_MechanicusCloseNotify_proto_init() {
+ if File_MechanicusCloseNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusCloseNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusCloseNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusCloseNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusCloseNotify_proto_goTypes,
+ DependencyIndexes: file_MechanicusCloseNotify_proto_depIdxs,
+ MessageInfos: file_MechanicusCloseNotify_proto_msgTypes,
+ }.Build()
+ File_MechanicusCloseNotify_proto = out.File
+ file_MechanicusCloseNotify_proto_rawDesc = nil
+ file_MechanicusCloseNotify_proto_goTypes = nil
+ file_MechanicusCloseNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusCoinNotify.pb.go b/protocol/proto/MechanicusCoinNotify.pb.go
new file mode 100644
index 00000000..ca6896f9
--- /dev/null
+++ b/protocol/proto/MechanicusCoinNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusCoinNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3935
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MechanicusCoinNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MechanicusId uint32 `protobuf:"varint,7,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+ Coin uint32 `protobuf:"varint,4,opt,name=coin,proto3" json:"coin,omitempty"`
+}
+
+func (x *MechanicusCoinNotify) Reset() {
+ *x = MechanicusCoinNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusCoinNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusCoinNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusCoinNotify) ProtoMessage() {}
+
+func (x *MechanicusCoinNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusCoinNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusCoinNotify.ProtoReflect.Descriptor instead.
+func (*MechanicusCoinNotify) Descriptor() ([]byte, []int) {
+ return file_MechanicusCoinNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusCoinNotify) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+func (x *MechanicusCoinNotify) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+var File_MechanicusCoinNotify_proto protoreflect.FileDescriptor
+
+var file_MechanicusCoinNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x43, 0x6f, 0x69, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x14, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75,
+ 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x64,
+ 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
+ 0x63, 0x6f, 0x69, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusCoinNotify_proto_rawDescOnce sync.Once
+ file_MechanicusCoinNotify_proto_rawDescData = file_MechanicusCoinNotify_proto_rawDesc
+)
+
+func file_MechanicusCoinNotify_proto_rawDescGZIP() []byte {
+ file_MechanicusCoinNotify_proto_rawDescOnce.Do(func() {
+ file_MechanicusCoinNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusCoinNotify_proto_rawDescData)
+ })
+ return file_MechanicusCoinNotify_proto_rawDescData
+}
+
+var file_MechanicusCoinNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusCoinNotify_proto_goTypes = []interface{}{
+ (*MechanicusCoinNotify)(nil), // 0: proto.MechanicusCoinNotify
+}
+var file_MechanicusCoinNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusCoinNotify_proto_init() }
+func file_MechanicusCoinNotify_proto_init() {
+ if File_MechanicusCoinNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusCoinNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusCoinNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusCoinNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusCoinNotify_proto_goTypes,
+ DependencyIndexes: file_MechanicusCoinNotify_proto_depIdxs,
+ MessageInfos: file_MechanicusCoinNotify_proto_msgTypes,
+ }.Build()
+ File_MechanicusCoinNotify_proto = out.File
+ file_MechanicusCoinNotify_proto_rawDesc = nil
+ file_MechanicusCoinNotify_proto_goTypes = nil
+ file_MechanicusCoinNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusInfo.pb.go b/protocol/proto/MechanicusInfo.pb.go
new file mode 100644
index 00000000..57b3f495
--- /dev/null
+++ b/protocol/proto/MechanicusInfo.pb.go
@@ -0,0 +1,230 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MechanicusInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GearLevelPairList []*Uint32Pair `protobuf:"bytes,14,rep,name=gear_level_pair_list,json=gearLevelPairList,proto3" json:"gear_level_pair_list,omitempty"`
+ OpenSequenceIdList []uint32 `protobuf:"varint,7,rep,packed,name=open_sequence_id_list,json=openSequenceIdList,proto3" json:"open_sequence_id_list,omitempty"`
+ Coin uint32 `protobuf:"varint,8,opt,name=coin,proto3" json:"coin,omitempty"`
+ PunishOverTime uint32 `protobuf:"varint,12,opt,name=punish_over_time,json=punishOverTime,proto3" json:"punish_over_time,omitempty"`
+ MechanicusId uint32 `protobuf:"varint,10,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+ FinishDifficultLevelList []uint32 `protobuf:"varint,13,rep,packed,name=finish_difficult_level_list,json=finishDifficultLevelList,proto3" json:"finish_difficult_level_list,omitempty"`
+ IsFinishTeachDungeon bool `protobuf:"varint,4,opt,name=is_finish_teach_dungeon,json=isFinishTeachDungeon,proto3" json:"is_finish_teach_dungeon,omitempty"`
+}
+
+func (x *MechanicusInfo) Reset() {
+ *x = MechanicusInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusInfo) ProtoMessage() {}
+
+func (x *MechanicusInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusInfo.ProtoReflect.Descriptor instead.
+func (*MechanicusInfo) Descriptor() ([]byte, []int) {
+ return file_MechanicusInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusInfo) GetGearLevelPairList() []*Uint32Pair {
+ if x != nil {
+ return x.GearLevelPairList
+ }
+ return nil
+}
+
+func (x *MechanicusInfo) GetOpenSequenceIdList() []uint32 {
+ if x != nil {
+ return x.OpenSequenceIdList
+ }
+ return nil
+}
+
+func (x *MechanicusInfo) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+func (x *MechanicusInfo) GetPunishOverTime() uint32 {
+ if x != nil {
+ return x.PunishOverTime
+ }
+ return 0
+}
+
+func (x *MechanicusInfo) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+func (x *MechanicusInfo) GetFinishDifficultLevelList() []uint32 {
+ if x != nil {
+ return x.FinishDifficultLevelList
+ }
+ return nil
+}
+
+func (x *MechanicusInfo) GetIsFinishTeachDungeon() bool {
+ if x != nil {
+ return x.IsFinishTeachDungeon
+ }
+ return false
+}
+
+var File_MechanicusInfo_proto protoreflect.FileDescriptor
+
+var file_MechanicusInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x55,
+ 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xe0, 0x02, 0x0a, 0x0e, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x14, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50,
+ 0x61, 0x69, 0x72, 0x52, 0x11, 0x67, 0x65, 0x61, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x50, 0x61,
+ 0x69, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73,
+ 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x6f, 0x70, 0x65, 0x6e, 0x53, 0x65, 0x71, 0x75, 0x65,
+ 0x6e, 0x63, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69,
+ 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x28, 0x0a,
+ 0x10, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x4f,
+ 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x63, 0x68, 0x61,
+ 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x1b,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x18, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
+ 0x6c, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x69,
+ 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x65, 0x61, 0x63, 0x68, 0x5f, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x65, 0x61, 0x63, 0x68, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusInfo_proto_rawDescOnce sync.Once
+ file_MechanicusInfo_proto_rawDescData = file_MechanicusInfo_proto_rawDesc
+)
+
+func file_MechanicusInfo_proto_rawDescGZIP() []byte {
+ file_MechanicusInfo_proto_rawDescOnce.Do(func() {
+ file_MechanicusInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusInfo_proto_rawDescData)
+ })
+ return file_MechanicusInfo_proto_rawDescData
+}
+
+var file_MechanicusInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusInfo_proto_goTypes = []interface{}{
+ (*MechanicusInfo)(nil), // 0: proto.MechanicusInfo
+ (*Uint32Pair)(nil), // 1: proto.Uint32Pair
+}
+var file_MechanicusInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MechanicusInfo.gear_level_pair_list:type_name -> proto.Uint32Pair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusInfo_proto_init() }
+func file_MechanicusInfo_proto_init() {
+ if File_MechanicusInfo_proto != nil {
+ return
+ }
+ file_Uint32Pair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusInfo_proto_goTypes,
+ DependencyIndexes: file_MechanicusInfo_proto_depIdxs,
+ MessageInfos: file_MechanicusInfo_proto_msgTypes,
+ }.Build()
+ File_MechanicusInfo_proto = out.File
+ file_MechanicusInfo_proto_rawDesc = nil
+ file_MechanicusInfo_proto_goTypes = nil
+ file_MechanicusInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusLevelupGearReq.pb.go b/protocol/proto/MechanicusLevelupGearReq.pb.go
new file mode 100644
index 00000000..74ca2855
--- /dev/null
+++ b/protocol/proto/MechanicusLevelupGearReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusLevelupGearReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3973
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MechanicusLevelupGearReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GearId uint32 `protobuf:"varint,14,opt,name=gear_id,json=gearId,proto3" json:"gear_id,omitempty"`
+ MechanicusId uint32 `protobuf:"varint,12,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+}
+
+func (x *MechanicusLevelupGearReq) Reset() {
+ *x = MechanicusLevelupGearReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusLevelupGearReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusLevelupGearReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusLevelupGearReq) ProtoMessage() {}
+
+func (x *MechanicusLevelupGearReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusLevelupGearReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusLevelupGearReq.ProtoReflect.Descriptor instead.
+func (*MechanicusLevelupGearReq) Descriptor() ([]byte, []int) {
+ return file_MechanicusLevelupGearReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusLevelupGearReq) GetGearId() uint32 {
+ if x != nil {
+ return x.GearId
+ }
+ return 0
+}
+
+func (x *MechanicusLevelupGearReq) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+var File_MechanicusLevelupGearReq_proto protoreflect.FileDescriptor
+
+var file_MechanicusLevelupGearReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x75, 0x70, 0x47, 0x65, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x18, 0x4d, 0x65, 0x63, 0x68, 0x61,
+ 0x6e, 0x69, 0x63, 0x75, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x47, 0x65, 0x61, 0x72,
+ 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x67, 0x65, 0x61, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d,
+ 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusLevelupGearReq_proto_rawDescOnce sync.Once
+ file_MechanicusLevelupGearReq_proto_rawDescData = file_MechanicusLevelupGearReq_proto_rawDesc
+)
+
+func file_MechanicusLevelupGearReq_proto_rawDescGZIP() []byte {
+ file_MechanicusLevelupGearReq_proto_rawDescOnce.Do(func() {
+ file_MechanicusLevelupGearReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusLevelupGearReq_proto_rawDescData)
+ })
+ return file_MechanicusLevelupGearReq_proto_rawDescData
+}
+
+var file_MechanicusLevelupGearReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusLevelupGearReq_proto_goTypes = []interface{}{
+ (*MechanicusLevelupGearReq)(nil), // 0: proto.MechanicusLevelupGearReq
+}
+var file_MechanicusLevelupGearReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusLevelupGearReq_proto_init() }
+func file_MechanicusLevelupGearReq_proto_init() {
+ if File_MechanicusLevelupGearReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusLevelupGearReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusLevelupGearReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusLevelupGearReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusLevelupGearReq_proto_goTypes,
+ DependencyIndexes: file_MechanicusLevelupGearReq_proto_depIdxs,
+ MessageInfos: file_MechanicusLevelupGearReq_proto_msgTypes,
+ }.Build()
+ File_MechanicusLevelupGearReq_proto = out.File
+ file_MechanicusLevelupGearReq_proto_rawDesc = nil
+ file_MechanicusLevelupGearReq_proto_goTypes = nil
+ file_MechanicusLevelupGearReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusLevelupGearRsp.pb.go b/protocol/proto/MechanicusLevelupGearRsp.pb.go
new file mode 100644
index 00000000..5c078ab1
--- /dev/null
+++ b/protocol/proto/MechanicusLevelupGearRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusLevelupGearRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3999
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MechanicusLevelupGearRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GearId uint32 `protobuf:"varint,7,opt,name=gear_id,json=gearId,proto3" json:"gear_id,omitempty"`
+ MechanicusId uint32 `protobuf:"varint,2,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+ AfterGearLevel uint32 `protobuf:"varint,12,opt,name=after_gear_level,json=afterGearLevel,proto3" json:"after_gear_level,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MechanicusLevelupGearRsp) Reset() {
+ *x = MechanicusLevelupGearRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusLevelupGearRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusLevelupGearRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusLevelupGearRsp) ProtoMessage() {}
+
+func (x *MechanicusLevelupGearRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusLevelupGearRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusLevelupGearRsp.ProtoReflect.Descriptor instead.
+func (*MechanicusLevelupGearRsp) Descriptor() ([]byte, []int) {
+ return file_MechanicusLevelupGearRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusLevelupGearRsp) GetGearId() uint32 {
+ if x != nil {
+ return x.GearId
+ }
+ return 0
+}
+
+func (x *MechanicusLevelupGearRsp) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+func (x *MechanicusLevelupGearRsp) GetAfterGearLevel() uint32 {
+ if x != nil {
+ return x.AfterGearLevel
+ }
+ return 0
+}
+
+func (x *MechanicusLevelupGearRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MechanicusLevelupGearRsp_proto protoreflect.FileDescriptor
+
+var file_MechanicusLevelupGearRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x75, 0x70, 0x47, 0x65, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x4d, 0x65, 0x63, 0x68,
+ 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x47, 0x65, 0x61,
+ 0x72, 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x67, 0x65, 0x61, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a,
+ 0x0d, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73,
+ 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x65, 0x61, 0x72,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x66,
+ 0x74, 0x65, 0x72, 0x47, 0x65, 0x61, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusLevelupGearRsp_proto_rawDescOnce sync.Once
+ file_MechanicusLevelupGearRsp_proto_rawDescData = file_MechanicusLevelupGearRsp_proto_rawDesc
+)
+
+func file_MechanicusLevelupGearRsp_proto_rawDescGZIP() []byte {
+ file_MechanicusLevelupGearRsp_proto_rawDescOnce.Do(func() {
+ file_MechanicusLevelupGearRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusLevelupGearRsp_proto_rawDescData)
+ })
+ return file_MechanicusLevelupGearRsp_proto_rawDescData
+}
+
+var file_MechanicusLevelupGearRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusLevelupGearRsp_proto_goTypes = []interface{}{
+ (*MechanicusLevelupGearRsp)(nil), // 0: proto.MechanicusLevelupGearRsp
+}
+var file_MechanicusLevelupGearRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusLevelupGearRsp_proto_init() }
+func file_MechanicusLevelupGearRsp_proto_init() {
+ if File_MechanicusLevelupGearRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusLevelupGearRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusLevelupGearRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusLevelupGearRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusLevelupGearRsp_proto_goTypes,
+ DependencyIndexes: file_MechanicusLevelupGearRsp_proto_depIdxs,
+ MessageInfos: file_MechanicusLevelupGearRsp_proto_msgTypes,
+ }.Build()
+ File_MechanicusLevelupGearRsp_proto = out.File
+ file_MechanicusLevelupGearRsp_proto_rawDesc = nil
+ file_MechanicusLevelupGearRsp_proto_goTypes = nil
+ file_MechanicusLevelupGearRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusOpenNotify.pb.go b/protocol/proto/MechanicusOpenNotify.pb.go
new file mode 100644
index 00000000..cf2a3e2f
--- /dev/null
+++ b/protocol/proto/MechanicusOpenNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusOpenNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3907
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MechanicusOpenNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MechanicusId uint32 `protobuf:"varint,2,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+}
+
+func (x *MechanicusOpenNotify) Reset() {
+ *x = MechanicusOpenNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusOpenNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusOpenNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusOpenNotify) ProtoMessage() {}
+
+func (x *MechanicusOpenNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusOpenNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusOpenNotify.ProtoReflect.Descriptor instead.
+func (*MechanicusOpenNotify) Descriptor() ([]byte, []int) {
+ return file_MechanicusOpenNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusOpenNotify) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+var File_MechanicusOpenNotify_proto protoreflect.FileDescriptor
+
+var file_MechanicusOpenNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x4f, 0x70, 0x65, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x14, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75,
+ 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusOpenNotify_proto_rawDescOnce sync.Once
+ file_MechanicusOpenNotify_proto_rawDescData = file_MechanicusOpenNotify_proto_rawDesc
+)
+
+func file_MechanicusOpenNotify_proto_rawDescGZIP() []byte {
+ file_MechanicusOpenNotify_proto_rawDescOnce.Do(func() {
+ file_MechanicusOpenNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusOpenNotify_proto_rawDescData)
+ })
+ return file_MechanicusOpenNotify_proto_rawDescData
+}
+
+var file_MechanicusOpenNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusOpenNotify_proto_goTypes = []interface{}{
+ (*MechanicusOpenNotify)(nil), // 0: proto.MechanicusOpenNotify
+}
+var file_MechanicusOpenNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusOpenNotify_proto_init() }
+func file_MechanicusOpenNotify_proto_init() {
+ if File_MechanicusOpenNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusOpenNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusOpenNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusOpenNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusOpenNotify_proto_goTypes,
+ DependencyIndexes: file_MechanicusOpenNotify_proto_depIdxs,
+ MessageInfos: file_MechanicusOpenNotify_proto_msgTypes,
+ }.Build()
+ File_MechanicusOpenNotify_proto = out.File
+ file_MechanicusOpenNotify_proto_rawDesc = nil
+ file_MechanicusOpenNotify_proto_goTypes = nil
+ file_MechanicusOpenNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusSequenceOpenNotify.pb.go b/protocol/proto/MechanicusSequenceOpenNotify.pb.go
new file mode 100644
index 00000000..9efbf8f6
--- /dev/null
+++ b/protocol/proto/MechanicusSequenceOpenNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusSequenceOpenNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3912
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MechanicusSequenceOpenNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MechanicusId uint32 `protobuf:"varint,8,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+ SequenceId uint32 `protobuf:"varint,7,opt,name=sequence_id,json=sequenceId,proto3" json:"sequence_id,omitempty"`
+}
+
+func (x *MechanicusSequenceOpenNotify) Reset() {
+ *x = MechanicusSequenceOpenNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusSequenceOpenNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusSequenceOpenNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusSequenceOpenNotify) ProtoMessage() {}
+
+func (x *MechanicusSequenceOpenNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusSequenceOpenNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusSequenceOpenNotify.ProtoReflect.Descriptor instead.
+func (*MechanicusSequenceOpenNotify) Descriptor() ([]byte, []int) {
+ return file_MechanicusSequenceOpenNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusSequenceOpenNotify) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+func (x *MechanicusSequenceOpenNotify) GetSequenceId() uint32 {
+ if x != nil {
+ return x.SequenceId
+ }
+ return 0
+}
+
+var File_MechanicusSequenceOpenNotify_proto protoreflect.FileDescriptor
+
+var file_MechanicusSequenceOpenNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x53, 0x65, 0x71, 0x75,
+ 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x1c, 0x4d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
+ 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusSequenceOpenNotify_proto_rawDescOnce sync.Once
+ file_MechanicusSequenceOpenNotify_proto_rawDescData = file_MechanicusSequenceOpenNotify_proto_rawDesc
+)
+
+func file_MechanicusSequenceOpenNotify_proto_rawDescGZIP() []byte {
+ file_MechanicusSequenceOpenNotify_proto_rawDescOnce.Do(func() {
+ file_MechanicusSequenceOpenNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusSequenceOpenNotify_proto_rawDescData)
+ })
+ return file_MechanicusSequenceOpenNotify_proto_rawDescData
+}
+
+var file_MechanicusSequenceOpenNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusSequenceOpenNotify_proto_goTypes = []interface{}{
+ (*MechanicusSequenceOpenNotify)(nil), // 0: proto.MechanicusSequenceOpenNotify
+}
+var file_MechanicusSequenceOpenNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusSequenceOpenNotify_proto_init() }
+func file_MechanicusSequenceOpenNotify_proto_init() {
+ if File_MechanicusSequenceOpenNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusSequenceOpenNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusSequenceOpenNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusSequenceOpenNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusSequenceOpenNotify_proto_goTypes,
+ DependencyIndexes: file_MechanicusSequenceOpenNotify_proto_depIdxs,
+ MessageInfos: file_MechanicusSequenceOpenNotify_proto_msgTypes,
+ }.Build()
+ File_MechanicusSequenceOpenNotify_proto = out.File
+ file_MechanicusSequenceOpenNotify_proto_rawDesc = nil
+ file_MechanicusSequenceOpenNotify_proto_goTypes = nil
+ file_MechanicusSequenceOpenNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusUnlockGearReq.pb.go b/protocol/proto/MechanicusUnlockGearReq.pb.go
new file mode 100644
index 00000000..c4e6baa2
--- /dev/null
+++ b/protocol/proto/MechanicusUnlockGearReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusUnlockGearReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3903
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MechanicusUnlockGearReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MechanicusId uint32 `protobuf:"varint,7,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+ GearId uint32 `protobuf:"varint,6,opt,name=gear_id,json=gearId,proto3" json:"gear_id,omitempty"`
+}
+
+func (x *MechanicusUnlockGearReq) Reset() {
+ *x = MechanicusUnlockGearReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusUnlockGearReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusUnlockGearReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusUnlockGearReq) ProtoMessage() {}
+
+func (x *MechanicusUnlockGearReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusUnlockGearReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusUnlockGearReq.ProtoReflect.Descriptor instead.
+func (*MechanicusUnlockGearReq) Descriptor() ([]byte, []int) {
+ return file_MechanicusUnlockGearReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusUnlockGearReq) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+func (x *MechanicusUnlockGearReq) GetGearId() uint32 {
+ if x != nil {
+ return x.GearId
+ }
+ return 0
+}
+
+var File_MechanicusUnlockGearReq_proto protoreflect.FileDescriptor
+
+var file_MechanicusUnlockGearReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x47, 0x65, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x17, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x65, 0x61, 0x72, 0x52, 0x65,
+ 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x67, 0x65, 0x61, 0x72, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusUnlockGearReq_proto_rawDescOnce sync.Once
+ file_MechanicusUnlockGearReq_proto_rawDescData = file_MechanicusUnlockGearReq_proto_rawDesc
+)
+
+func file_MechanicusUnlockGearReq_proto_rawDescGZIP() []byte {
+ file_MechanicusUnlockGearReq_proto_rawDescOnce.Do(func() {
+ file_MechanicusUnlockGearReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusUnlockGearReq_proto_rawDescData)
+ })
+ return file_MechanicusUnlockGearReq_proto_rawDescData
+}
+
+var file_MechanicusUnlockGearReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusUnlockGearReq_proto_goTypes = []interface{}{
+ (*MechanicusUnlockGearReq)(nil), // 0: proto.MechanicusUnlockGearReq
+}
+var file_MechanicusUnlockGearReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusUnlockGearReq_proto_init() }
+func file_MechanicusUnlockGearReq_proto_init() {
+ if File_MechanicusUnlockGearReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusUnlockGearReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusUnlockGearReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusUnlockGearReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusUnlockGearReq_proto_goTypes,
+ DependencyIndexes: file_MechanicusUnlockGearReq_proto_depIdxs,
+ MessageInfos: file_MechanicusUnlockGearReq_proto_msgTypes,
+ }.Build()
+ File_MechanicusUnlockGearReq_proto = out.File
+ file_MechanicusUnlockGearReq_proto_rawDesc = nil
+ file_MechanicusUnlockGearReq_proto_goTypes = nil
+ file_MechanicusUnlockGearReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MechanicusUnlockGearRsp.pb.go b/protocol/proto/MechanicusUnlockGearRsp.pb.go
new file mode 100644
index 00000000..6bc99950
--- /dev/null
+++ b/protocol/proto/MechanicusUnlockGearRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MechanicusUnlockGearRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3990
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MechanicusUnlockGearRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MechanicusId uint32 `protobuf:"varint,8,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+ GearId uint32 `protobuf:"varint,14,opt,name=gear_id,json=gearId,proto3" json:"gear_id,omitempty"`
+}
+
+func (x *MechanicusUnlockGearRsp) Reset() {
+ *x = MechanicusUnlockGearRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MechanicusUnlockGearRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MechanicusUnlockGearRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MechanicusUnlockGearRsp) ProtoMessage() {}
+
+func (x *MechanicusUnlockGearRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MechanicusUnlockGearRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MechanicusUnlockGearRsp.ProtoReflect.Descriptor instead.
+func (*MechanicusUnlockGearRsp) Descriptor() ([]byte, []int) {
+ return file_MechanicusUnlockGearRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MechanicusUnlockGearRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MechanicusUnlockGearRsp) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+func (x *MechanicusUnlockGearRsp) GetGearId() uint32 {
+ if x != nil {
+ return x.GearId
+ }
+ return 0
+}
+
+var File_MechanicusUnlockGearRsp_proto protoreflect.FileDescriptor
+
+var file_MechanicusUnlockGearRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x47, 0x65, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x17, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x65, 0x61, 0x72, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x64,
+ 0x12, 0x17, 0x0a, 0x07, 0x67, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x67, 0x65, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MechanicusUnlockGearRsp_proto_rawDescOnce sync.Once
+ file_MechanicusUnlockGearRsp_proto_rawDescData = file_MechanicusUnlockGearRsp_proto_rawDesc
+)
+
+func file_MechanicusUnlockGearRsp_proto_rawDescGZIP() []byte {
+ file_MechanicusUnlockGearRsp_proto_rawDescOnce.Do(func() {
+ file_MechanicusUnlockGearRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MechanicusUnlockGearRsp_proto_rawDescData)
+ })
+ return file_MechanicusUnlockGearRsp_proto_rawDescData
+}
+
+var file_MechanicusUnlockGearRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MechanicusUnlockGearRsp_proto_goTypes = []interface{}{
+ (*MechanicusUnlockGearRsp)(nil), // 0: proto.MechanicusUnlockGearRsp
+}
+var file_MechanicusUnlockGearRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MechanicusUnlockGearRsp_proto_init() }
+func file_MechanicusUnlockGearRsp_proto_init() {
+ if File_MechanicusUnlockGearRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MechanicusUnlockGearRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MechanicusUnlockGearRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MechanicusUnlockGearRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MechanicusUnlockGearRsp_proto_goTypes,
+ DependencyIndexes: file_MechanicusUnlockGearRsp_proto_depIdxs,
+ MessageInfos: file_MechanicusUnlockGearRsp_proto_msgTypes,
+ }.Build()
+ File_MechanicusUnlockGearRsp_proto = out.File
+ file_MechanicusUnlockGearRsp_proto_rawDesc = nil
+ file_MechanicusUnlockGearRsp_proto_goTypes = nil
+ file_MechanicusUnlockGearRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MeetNpcReq.pb.go b/protocol/proto/MeetNpcReq.pb.go
new file mode 100644
index 00000000..7016d1bc
--- /dev/null
+++ b/protocol/proto/MeetNpcReq.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MeetNpcReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 503
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MeetNpcReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NpcId uint32 `protobuf:"varint,4,opt,name=npc_id,json=npcId,proto3" json:"npc_id,omitempty"`
+}
+
+func (x *MeetNpcReq) Reset() {
+ *x = MeetNpcReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MeetNpcReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MeetNpcReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MeetNpcReq) ProtoMessage() {}
+
+func (x *MeetNpcReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MeetNpcReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MeetNpcReq.ProtoReflect.Descriptor instead.
+func (*MeetNpcReq) Descriptor() ([]byte, []int) {
+ return file_MeetNpcReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MeetNpcReq) GetNpcId() uint32 {
+ if x != nil {
+ return x.NpcId
+ }
+ return 0
+}
+
+var File_MeetNpcReq_proto protoreflect.FileDescriptor
+
+var file_MeetNpcReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x4d, 0x65, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23, 0x0a, 0x0a, 0x4d, 0x65, 0x65,
+ 0x74, 0x4e, 0x70, 0x63, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x70, 0x63, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x70, 0x63, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_MeetNpcReq_proto_rawDescOnce sync.Once
+ file_MeetNpcReq_proto_rawDescData = file_MeetNpcReq_proto_rawDesc
+)
+
+func file_MeetNpcReq_proto_rawDescGZIP() []byte {
+ file_MeetNpcReq_proto_rawDescOnce.Do(func() {
+ file_MeetNpcReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MeetNpcReq_proto_rawDescData)
+ })
+ return file_MeetNpcReq_proto_rawDescData
+}
+
+var file_MeetNpcReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MeetNpcReq_proto_goTypes = []interface{}{
+ (*MeetNpcReq)(nil), // 0: proto.MeetNpcReq
+}
+var file_MeetNpcReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MeetNpcReq_proto_init() }
+func file_MeetNpcReq_proto_init() {
+ if File_MeetNpcReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MeetNpcReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MeetNpcReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MeetNpcReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MeetNpcReq_proto_goTypes,
+ DependencyIndexes: file_MeetNpcReq_proto_depIdxs,
+ MessageInfos: file_MeetNpcReq_proto_msgTypes,
+ }.Build()
+ File_MeetNpcReq_proto = out.File
+ file_MeetNpcReq_proto_rawDesc = nil
+ file_MeetNpcReq_proto_goTypes = nil
+ file_MeetNpcReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MeetNpcRsp.pb.go b/protocol/proto/MeetNpcRsp.pb.go
new file mode 100644
index 00000000..0761d128
--- /dev/null
+++ b/protocol/proto/MeetNpcRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MeetNpcRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 590
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MeetNpcRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ NpcFirstMetId uint32 `protobuf:"varint,8,opt,name=npc_first_met_id,json=npcFirstMetId,proto3" json:"npc_first_met_id,omitempty"`
+}
+
+func (x *MeetNpcRsp) Reset() {
+ *x = MeetNpcRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MeetNpcRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MeetNpcRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MeetNpcRsp) ProtoMessage() {}
+
+func (x *MeetNpcRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MeetNpcRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MeetNpcRsp.ProtoReflect.Descriptor instead.
+func (*MeetNpcRsp) Descriptor() ([]byte, []int) {
+ return file_MeetNpcRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MeetNpcRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MeetNpcRsp) GetNpcFirstMetId() uint32 {
+ if x != nil {
+ return x.NpcFirstMetId
+ }
+ return 0
+}
+
+var File_MeetNpcRsp_proto protoreflect.FileDescriptor
+
+var file_MeetNpcRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x4d, 0x65, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x0a, 0x4d, 0x65, 0x65,
+ 0x74, 0x4e, 0x70, 0x63, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x27, 0x0a, 0x10, 0x6e, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d,
+ 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6e, 0x70, 0x63,
+ 0x46, 0x69, 0x72, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MeetNpcRsp_proto_rawDescOnce sync.Once
+ file_MeetNpcRsp_proto_rawDescData = file_MeetNpcRsp_proto_rawDesc
+)
+
+func file_MeetNpcRsp_proto_rawDescGZIP() []byte {
+ file_MeetNpcRsp_proto_rawDescOnce.Do(func() {
+ file_MeetNpcRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MeetNpcRsp_proto_rawDescData)
+ })
+ return file_MeetNpcRsp_proto_rawDescData
+}
+
+var file_MeetNpcRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MeetNpcRsp_proto_goTypes = []interface{}{
+ (*MeetNpcRsp)(nil), // 0: proto.MeetNpcRsp
+}
+var file_MeetNpcRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MeetNpcRsp_proto_init() }
+func file_MeetNpcRsp_proto_init() {
+ if File_MeetNpcRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MeetNpcRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MeetNpcRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MeetNpcRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MeetNpcRsp_proto_goTypes,
+ DependencyIndexes: file_MeetNpcRsp_proto_depIdxs,
+ MessageInfos: file_MeetNpcRsp_proto_msgTypes,
+ }.Build()
+ File_MeetNpcRsp_proto = out.File
+ file_MeetNpcRsp_proto_rawDesc = nil
+ file_MeetNpcRsp_proto_goTypes = nil
+ file_MeetNpcRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MetNpcIdListNotify.pb.go b/protocol/proto/MetNpcIdListNotify.pb.go
new file mode 100644
index 00000000..c303b6ec
--- /dev/null
+++ b/protocol/proto/MetNpcIdListNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MetNpcIdListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 521
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MetNpcIdListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NpcFirstMetIdList []uint32 `protobuf:"varint,9,rep,packed,name=npc_first_met_id_list,json=npcFirstMetIdList,proto3" json:"npc_first_met_id_list,omitempty"`
+}
+
+func (x *MetNpcIdListNotify) Reset() {
+ *x = MetNpcIdListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MetNpcIdListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MetNpcIdListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MetNpcIdListNotify) ProtoMessage() {}
+
+func (x *MetNpcIdListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MetNpcIdListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MetNpcIdListNotify.ProtoReflect.Descriptor instead.
+func (*MetNpcIdListNotify) Descriptor() ([]byte, []int) {
+ return file_MetNpcIdListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MetNpcIdListNotify) GetNpcFirstMetIdList() []uint32 {
+ if x != nil {
+ return x.NpcFirstMetIdList
+ }
+ return nil
+}
+
+var File_MetNpcIdListNotify_proto protoreflect.FileDescriptor
+
+var file_MetNpcIdListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x46, 0x0a, 0x12, 0x4d, 0x65, 0x74, 0x4e, 0x70, 0x63, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x30, 0x0a, 0x15, 0x6e, 0x70, 0x63, 0x5f, 0x66,
+ 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x70, 0x63, 0x46, 0x69, 0x72, 0x73, 0x74,
+ 0x4d, 0x65, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MetNpcIdListNotify_proto_rawDescOnce sync.Once
+ file_MetNpcIdListNotify_proto_rawDescData = file_MetNpcIdListNotify_proto_rawDesc
+)
+
+func file_MetNpcIdListNotify_proto_rawDescGZIP() []byte {
+ file_MetNpcIdListNotify_proto_rawDescOnce.Do(func() {
+ file_MetNpcIdListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MetNpcIdListNotify_proto_rawDescData)
+ })
+ return file_MetNpcIdListNotify_proto_rawDescData
+}
+
+var file_MetNpcIdListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MetNpcIdListNotify_proto_goTypes = []interface{}{
+ (*MetNpcIdListNotify)(nil), // 0: proto.MetNpcIdListNotify
+}
+var file_MetNpcIdListNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MetNpcIdListNotify_proto_init() }
+func file_MetNpcIdListNotify_proto_init() {
+ if File_MetNpcIdListNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MetNpcIdListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MetNpcIdListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MetNpcIdListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MetNpcIdListNotify_proto_goTypes,
+ DependencyIndexes: file_MetNpcIdListNotify_proto_depIdxs,
+ MessageInfos: file_MetNpcIdListNotify_proto_msgTypes,
+ }.Build()
+ File_MetNpcIdListNotify_proto = out.File
+ file_MetNpcIdListNotify_proto_rawDesc = nil
+ file_MetNpcIdListNotify_proto_goTypes = nil
+ file_MetNpcIdListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriActivityDetailInfo.pb.go b/protocol/proto/MichiaeMatsuriActivityDetailInfo.pb.go
new file mode 100644
index 00000000..d638f050
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriActivityDetailInfo.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MichiaeMatsuriActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengePosList []*MichiaeMatsuriChallengePositionInfo `protobuf:"bytes,6,rep,name=challenge_pos_list,json=challengePosList,proto3" json:"challenge_pos_list,omitempty"`
+ GainCrystalExp uint32 `protobuf:"varint,13,opt,name=gain_crystal_exp,json=gainCrystalExp,proto3" json:"gain_crystal_exp,omitempty"`
+ UnlockedCrystalSkillList []uint32 `protobuf:"varint,2,rep,packed,name=unlocked_crystal_skill_list,json=unlockedCrystalSkillList,proto3" json:"unlocked_crystal_skill_list,omitempty"`
+ ChestPosList []*MichiaeMatsuriChestPositionInfo `protobuf:"bytes,10,rep,name=chest_pos_list,json=chestPosList,proto3" json:"chest_pos_list,omitempty"`
+ StageList []*MichiaeMatsuriStage `protobuf:"bytes,14,rep,name=stage_list,json=stageList,proto3" json:"stage_list,omitempty"`
+}
+
+func (x *MichiaeMatsuriActivityDetailInfo) Reset() {
+ *x = MichiaeMatsuriActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriActivityDetailInfo) ProtoMessage() {}
+
+func (x *MichiaeMatsuriActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriActivityDetailInfo) GetChallengePosList() []*MichiaeMatsuriChallengePositionInfo {
+ if x != nil {
+ return x.ChallengePosList
+ }
+ return nil
+}
+
+func (x *MichiaeMatsuriActivityDetailInfo) GetGainCrystalExp() uint32 {
+ if x != nil {
+ return x.GainCrystalExp
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriActivityDetailInfo) GetUnlockedCrystalSkillList() []uint32 {
+ if x != nil {
+ return x.UnlockedCrystalSkillList
+ }
+ return nil
+}
+
+func (x *MichiaeMatsuriActivityDetailInfo) GetChestPosList() []*MichiaeMatsuriChestPositionInfo {
+ if x != nil {
+ return x.ChestPosList
+ }
+ return nil
+}
+
+func (x *MichiaeMatsuriActivityDetailInfo) GetStageList() []*MichiaeMatsuriStage {
+ if x != nil {
+ return x.StageList
+ }
+ return nil
+}
+
+var File_MichiaeMatsuriActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x4d, 0x69, 0x63, 0x68,
+ 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x74, 0x50,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72,
+ 0x69, 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x02, 0x0a,
+ 0x20, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x58, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x70,
+ 0x6f, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x67,
+ 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x69, 0x6e, 0x43, 0x72, 0x79, 0x73, 0x74,
+ 0x61, 0x6c, 0x45, 0x78, 0x70, 0x12, 0x3d, 0x0a, 0x1b, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
+ 0x64, 0x5f, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x18, 0x75, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x65, 0x64, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f,
+ 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73,
+ 0x75, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x68, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MichiaeMatsuriActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriActivityDetailInfo_proto_rawDescData = file_MichiaeMatsuriActivityDetailInfo_proto_rawDesc
+)
+
+func file_MichiaeMatsuriActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriActivityDetailInfo_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriActivityDetailInfo_proto_rawDescData
+}
+
+var file_MichiaeMatsuriActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriActivityDetailInfo_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriActivityDetailInfo)(nil), // 0: proto.MichiaeMatsuriActivityDetailInfo
+ (*MichiaeMatsuriChallengePositionInfo)(nil), // 1: proto.MichiaeMatsuriChallengePositionInfo
+ (*MichiaeMatsuriChestPositionInfo)(nil), // 2: proto.MichiaeMatsuriChestPositionInfo
+ (*MichiaeMatsuriStage)(nil), // 3: proto.MichiaeMatsuriStage
+}
+var file_MichiaeMatsuriActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MichiaeMatsuriActivityDetailInfo.challenge_pos_list:type_name -> proto.MichiaeMatsuriChallengePositionInfo
+ 2, // 1: proto.MichiaeMatsuriActivityDetailInfo.chest_pos_list:type_name -> proto.MichiaeMatsuriChestPositionInfo
+ 3, // 2: proto.MichiaeMatsuriActivityDetailInfo.stage_list:type_name -> proto.MichiaeMatsuriStage
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriActivityDetailInfo_proto_init() }
+func file_MichiaeMatsuriActivityDetailInfo_proto_init() {
+ if File_MichiaeMatsuriActivityDetailInfo_proto != nil {
+ return
+ }
+ file_MichiaeMatsuriChallengePositionInfo_proto_init()
+ file_MichiaeMatsuriChestPositionInfo_proto_init()
+ file_MichiaeMatsuriStage_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriActivityDetailInfo_proto = out.File
+ file_MichiaeMatsuriActivityDetailInfo_proto_rawDesc = nil
+ file_MichiaeMatsuriActivityDetailInfo_proto_goTypes = nil
+ file_MichiaeMatsuriActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriChallengePositionInfo.pb.go b/protocol/proto/MichiaeMatsuriChallengePositionInfo.pb.go
new file mode 100644
index 00000000..0b3fb431
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriChallengePositionInfo.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriChallengePositionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MichiaeMatsuriChallengePositionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,4,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ GadgetId uint32 `protobuf:"varint,7,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,8,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *MichiaeMatsuriChallengePositionInfo) Reset() {
+ *x = MichiaeMatsuriChallengePositionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriChallengePositionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriChallengePositionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriChallengePositionInfo) ProtoMessage() {}
+
+func (x *MichiaeMatsuriChallengePositionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriChallengePositionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriChallengePositionInfo.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriChallengePositionInfo) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriChallengePositionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriChallengePositionInfo) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriChallengePositionInfo) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriChallengePositionInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_MichiaeMatsuriChallengePositionInfo_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriChallengePositionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x7e, 0x0a, 0x23, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75,
+ 0x72, 0x69, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70,
+ 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70,
+ 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12,
+ 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriChallengePositionInfo_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriChallengePositionInfo_proto_rawDescData = file_MichiaeMatsuriChallengePositionInfo_proto_rawDesc
+)
+
+func file_MichiaeMatsuriChallengePositionInfo_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriChallengePositionInfo_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriChallengePositionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriChallengePositionInfo_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriChallengePositionInfo_proto_rawDescData
+}
+
+var file_MichiaeMatsuriChallengePositionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriChallengePositionInfo_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriChallengePositionInfo)(nil), // 0: proto.MichiaeMatsuriChallengePositionInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_MichiaeMatsuriChallengePositionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MichiaeMatsuriChallengePositionInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriChallengePositionInfo_proto_init() }
+func file_MichiaeMatsuriChallengePositionInfo_proto_init() {
+ if File_MichiaeMatsuriChallengePositionInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriChallengePositionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriChallengePositionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriChallengePositionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriChallengePositionInfo_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriChallengePositionInfo_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriChallengePositionInfo_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriChallengePositionInfo_proto = out.File
+ file_MichiaeMatsuriChallengePositionInfo_proto_rawDesc = nil
+ file_MichiaeMatsuriChallengePositionInfo_proto_goTypes = nil
+ file_MichiaeMatsuriChallengePositionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriChestPositionInfo.pb.go b/protocol/proto/MichiaeMatsuriChestPositionInfo.pb.go
new file mode 100644
index 00000000..90f8446e
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriChestPositionInfo.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriChestPositionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MichiaeMatsuriChestPositionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,11,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriChestPositionInfo) Reset() {
+ *x = MichiaeMatsuriChestPositionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriChestPositionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriChestPositionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriChestPositionInfo) ProtoMessage() {}
+
+func (x *MichiaeMatsuriChestPositionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriChestPositionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriChestPositionInfo.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriChestPositionInfo) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriChestPositionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriChestPositionInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *MichiaeMatsuriChestPositionInfo) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriChestPositionInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriChestPositionInfo_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriChestPositionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x43, 0x68, 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x1f,
+ 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x43, 0x68,
+ 0x65, 0x73, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73,
+ 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriChestPositionInfo_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriChestPositionInfo_proto_rawDescData = file_MichiaeMatsuriChestPositionInfo_proto_rawDesc
+)
+
+func file_MichiaeMatsuriChestPositionInfo_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriChestPositionInfo_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriChestPositionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriChestPositionInfo_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriChestPositionInfo_proto_rawDescData
+}
+
+var file_MichiaeMatsuriChestPositionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriChestPositionInfo_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriChestPositionInfo)(nil), // 0: proto.MichiaeMatsuriChestPositionInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_MichiaeMatsuriChestPositionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MichiaeMatsuriChestPositionInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriChestPositionInfo_proto_init() }
+func file_MichiaeMatsuriChestPositionInfo_proto_init() {
+ if File_MichiaeMatsuriChestPositionInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriChestPositionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriChestPositionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriChestPositionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriChestPositionInfo_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriChestPositionInfo_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriChestPositionInfo_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriChestPositionInfo_proto = out.File
+ file_MichiaeMatsuriChestPositionInfo_proto_rawDesc = nil
+ file_MichiaeMatsuriChestPositionInfo_proto_goTypes = nil
+ file_MichiaeMatsuriChestPositionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.pb.go b/protocol/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.pb.go
new file mode 100644
index 00000000..1db59321
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriDarkPressureLevelUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8825
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MichiaeMatsuriDarkPressureLevelUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DarkPressureLevel uint32 `protobuf:"varint,8,opt,name=dark_pressure_level,json=darkPressureLevel,proto3" json:"dark_pressure_level,omitempty"`
+}
+
+func (x *MichiaeMatsuriDarkPressureLevelUpdateNotify) Reset() {
+ *x = MichiaeMatsuriDarkPressureLevelUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriDarkPressureLevelUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriDarkPressureLevelUpdateNotify) ProtoMessage() {}
+
+func (x *MichiaeMatsuriDarkPressureLevelUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriDarkPressureLevelUpdateNotify.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriDarkPressureLevelUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriDarkPressureLevelUpdateNotify) GetDarkPressureLevel() uint32 {
+ if x != nil {
+ return x.DarkPressureLevel
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x31, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x44, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x2b, 0x4d, 0x69,
+ 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x44, 0x61, 0x72, 0x6b,
+ 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x61, 0x72,
+ 0x6b, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x64, 0x61, 0x72, 0x6b, 0x50, 0x72, 0x65, 0x73,
+ 0x73, 0x75, 0x72, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDescData = file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDesc
+)
+
+func file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDescData
+}
+
+var file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriDarkPressureLevelUpdateNotify)(nil), // 0: proto.MichiaeMatsuriDarkPressureLevelUpdateNotify
+}
+var file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_init() }
+func file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_init() {
+ if File_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriDarkPressureLevelUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto = out.File
+ file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_rawDesc = nil
+ file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_goTypes = nil
+ file_MichiaeMatsuriDarkPressureLevelUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.pb.go b/protocol/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.pb.go
new file mode 100644
index 00000000..1954523e
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriGainCrystalExpUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8523
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MichiaeMatsuriGainCrystalExpUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GainCrystalExp uint32 `protobuf:"varint,2,opt,name=gain_crystal_exp,json=gainCrystalExp,proto3" json:"gain_crystal_exp,omitempty"`
+ ActivityId uint32 `protobuf:"varint,3,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriGainCrystalExpUpdateNotify) Reset() {
+ *x = MichiaeMatsuriGainCrystalExpUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriGainCrystalExpUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriGainCrystalExpUpdateNotify) ProtoMessage() {}
+
+func (x *MichiaeMatsuriGainCrystalExpUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriGainCrystalExpUpdateNotify.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriGainCrystalExpUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriGainCrystalExpUpdateNotify) GetGainCrystalExp() uint32 {
+ if x != nil {
+ return x.GainCrystalExp
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriGainCrystalExpUpdateNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriGainCrystalExpUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x47, 0x61, 0x69, 0x6e, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x28, 0x4d, 0x69, 0x63, 0x68, 0x69,
+ 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x47, 0x61, 0x69, 0x6e, 0x43, 0x72, 0x79,
+ 0x73, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x72, 0x79, 0x73,
+ 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67,
+ 0x61, 0x69, 0x6e, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x45, 0x78, 0x70, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDescData = file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDesc
+)
+
+func file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDescData
+}
+
+var file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriGainCrystalExpUpdateNotify)(nil), // 0: proto.MichiaeMatsuriGainCrystalExpUpdateNotify
+}
+var file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_init() }
+func file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_init() {
+ if File_MichiaeMatsuriGainCrystalExpUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriGainCrystalExpUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriGainCrystalExpUpdateNotify_proto = out.File
+ file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_rawDesc = nil
+ file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_goTypes = nil
+ file_MichiaeMatsuriGainCrystalExpUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriInteractStatueReq.pb.go b/protocol/proto/MichiaeMatsuriInteractStatueReq.pb.go
new file mode 100644
index 00000000..72c61af2
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriInteractStatueReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriInteractStatueReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8718
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MichiaeMatsuriInteractStatueReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StatueEntityId uint32 `protobuf:"varint,7,opt,name=statue_entity_id,json=statueEntityId,proto3" json:"statue_entity_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriInteractStatueReq) Reset() {
+ *x = MichiaeMatsuriInteractStatueReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriInteractStatueReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriInteractStatueReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriInteractStatueReq) ProtoMessage() {}
+
+func (x *MichiaeMatsuriInteractStatueReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriInteractStatueReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriInteractStatueReq.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriInteractStatueReq) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriInteractStatueReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriInteractStatueReq) GetStatueEntityId() uint32 {
+ if x != nil {
+ return x.StatueEntityId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriInteractStatueReq_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriInteractStatueReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b,
+ 0x0a, 0x1f, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x52, 0x65,
+ 0x71, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x61,
+ 0x74, 0x75, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriInteractStatueReq_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriInteractStatueReq_proto_rawDescData = file_MichiaeMatsuriInteractStatueReq_proto_rawDesc
+)
+
+func file_MichiaeMatsuriInteractStatueReq_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriInteractStatueReq_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriInteractStatueReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriInteractStatueReq_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriInteractStatueReq_proto_rawDescData
+}
+
+var file_MichiaeMatsuriInteractStatueReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriInteractStatueReq_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriInteractStatueReq)(nil), // 0: proto.MichiaeMatsuriInteractStatueReq
+}
+var file_MichiaeMatsuriInteractStatueReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriInteractStatueReq_proto_init() }
+func file_MichiaeMatsuriInteractStatueReq_proto_init() {
+ if File_MichiaeMatsuriInteractStatueReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriInteractStatueReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriInteractStatueReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriInteractStatueReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriInteractStatueReq_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriInteractStatueReq_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriInteractStatueReq_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriInteractStatueReq_proto = out.File
+ file_MichiaeMatsuriInteractStatueReq_proto_rawDesc = nil
+ file_MichiaeMatsuriInteractStatueReq_proto_goTypes = nil
+ file_MichiaeMatsuriInteractStatueReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriInteractStatueRsp.pb.go b/protocol/proto/MichiaeMatsuriInteractStatueRsp.pb.go
new file mode 100644
index 00000000..63996146
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriInteractStatueRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriInteractStatueRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8449
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MichiaeMatsuriInteractStatueRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MichiaeMatsuriInteractStatueRsp) Reset() {
+ *x = MichiaeMatsuriInteractStatueRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriInteractStatueRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriInteractStatueRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriInteractStatueRsp) ProtoMessage() {}
+
+func (x *MichiaeMatsuriInteractStatueRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriInteractStatueRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriInteractStatueRsp.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriInteractStatueRsp) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriInteractStatueRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriInteractStatueRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriInteractStatueRsp_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriInteractStatueRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x1f, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriInteractStatueRsp_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriInteractStatueRsp_proto_rawDescData = file_MichiaeMatsuriInteractStatueRsp_proto_rawDesc
+)
+
+func file_MichiaeMatsuriInteractStatueRsp_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriInteractStatueRsp_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriInteractStatueRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriInteractStatueRsp_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriInteractStatueRsp_proto_rawDescData
+}
+
+var file_MichiaeMatsuriInteractStatueRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriInteractStatueRsp_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriInteractStatueRsp)(nil), // 0: proto.MichiaeMatsuriInteractStatueRsp
+}
+var file_MichiaeMatsuriInteractStatueRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriInteractStatueRsp_proto_init() }
+func file_MichiaeMatsuriInteractStatueRsp_proto_init() {
+ if File_MichiaeMatsuriInteractStatueRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriInteractStatueRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriInteractStatueRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriInteractStatueRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriInteractStatueRsp_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriInteractStatueRsp_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriInteractStatueRsp_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriInteractStatueRsp_proto = out.File
+ file_MichiaeMatsuriInteractStatueRsp_proto_rawDesc = nil
+ file_MichiaeMatsuriInteractStatueRsp_proto_goTypes = nil
+ file_MichiaeMatsuriInteractStatueRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriRemoveChallengeMarkNotify.pb.go b/protocol/proto/MichiaeMatsuriRemoveChallengeMarkNotify.pb.go
new file mode 100644
index 00000000..e3b806ab
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriRemoveChallengeMarkNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriRemoveChallengeMarkNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8072
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MichiaeMatsuriRemoveChallengeMarkNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetId uint32 `protobuf:"varint,9,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriRemoveChallengeMarkNotify) Reset() {
+ *x = MichiaeMatsuriRemoveChallengeMarkNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriRemoveChallengeMarkNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriRemoveChallengeMarkNotify) ProtoMessage() {}
+
+func (x *MichiaeMatsuriRemoveChallengeMarkNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriRemoveChallengeMarkNotify.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriRemoveChallengeMarkNotify) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriRemoveChallengeMarkNotify) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriRemoveChallengeMarkNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriRemoveChallengeMarkNotify_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d,
+ 0x61, 0x72, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x27, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61,
+ 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDescData = file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDesc
+)
+
+func file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDescData
+}
+
+var file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriRemoveChallengeMarkNotify)(nil), // 0: proto.MichiaeMatsuriRemoveChallengeMarkNotify
+}
+var file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_init() }
+func file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_init() {
+ if File_MichiaeMatsuriRemoveChallengeMarkNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriRemoveChallengeMarkNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriRemoveChallengeMarkNotify_proto = out.File
+ file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_rawDesc = nil
+ file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_goTypes = nil
+ file_MichiaeMatsuriRemoveChallengeMarkNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriRemoveChestMarkNotify.pb.go b/protocol/proto/MichiaeMatsuriRemoveChestMarkNotify.pb.go
new file mode 100644
index 00000000..f55749b4
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriRemoveChestMarkNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriRemoveChestMarkNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8726
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MichiaeMatsuriRemoveChestMarkNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConfigId uint32 `protobuf:"varint,9,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,11,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriRemoveChestMarkNotify) Reset() {
+ *x = MichiaeMatsuriRemoveChestMarkNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriRemoveChestMarkNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriRemoveChestMarkNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriRemoveChestMarkNotify) ProtoMessage() {}
+
+func (x *MichiaeMatsuriRemoveChestMarkNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriRemoveChestMarkNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriRemoveChestMarkNotify.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriRemoveChestMarkNotify) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriRemoveChestMarkNotify) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriRemoveChestMarkNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriRemoveChestMarkNotify_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x23, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x4d,
+ 0x61, 0x72, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDescData = file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDesc
+)
+
+func file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDescData
+}
+
+var file_MichiaeMatsuriRemoveChestMarkNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriRemoveChestMarkNotify_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriRemoveChestMarkNotify)(nil), // 0: proto.MichiaeMatsuriRemoveChestMarkNotify
+}
+var file_MichiaeMatsuriRemoveChestMarkNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriRemoveChestMarkNotify_proto_init() }
+func file_MichiaeMatsuriRemoveChestMarkNotify_proto_init() {
+ if File_MichiaeMatsuriRemoveChestMarkNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriRemoveChestMarkNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriRemoveChestMarkNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriRemoveChestMarkNotify_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriRemoveChestMarkNotify_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriRemoveChestMarkNotify_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriRemoveChestMarkNotify_proto = out.File
+ file_MichiaeMatsuriRemoveChestMarkNotify_proto_rawDesc = nil
+ file_MichiaeMatsuriRemoveChestMarkNotify_proto_goTypes = nil
+ file_MichiaeMatsuriRemoveChestMarkNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriStage.pb.go b/protocol/proto/MichiaeMatsuriStage.pb.go
new file mode 100644
index 00000000..d44b6857
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStage.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriStage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MichiaeMatsuriStage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,11,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ OpenTime uint32 `protobuf:"varint,5,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriStage) Reset() {
+ *x = MichiaeMatsuriStage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriStage_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriStage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriStage) ProtoMessage() {}
+
+func (x *MichiaeMatsuriStage) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriStage_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriStage.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriStage) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriStage_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriStage) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *MichiaeMatsuriStage) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriStage) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriStage_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriStage_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x13, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriStage_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriStage_proto_rawDescData = file_MichiaeMatsuriStage_proto_rawDesc
+)
+
+func file_MichiaeMatsuriStage_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriStage_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriStage_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriStage_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriStage_proto_rawDescData
+}
+
+var file_MichiaeMatsuriStage_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriStage_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriStage)(nil), // 0: proto.MichiaeMatsuriStage
+}
+var file_MichiaeMatsuriStage_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriStage_proto_init() }
+func file_MichiaeMatsuriStage_proto_init() {
+ if File_MichiaeMatsuriStage_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriStage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriStage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriStage_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriStage_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriStage_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriStage_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriStage_proto = out.File
+ file_MichiaeMatsuriStage_proto_rawDesc = nil
+ file_MichiaeMatsuriStage_proto_goTypes = nil
+ file_MichiaeMatsuriStage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriStartBossChallengeReq.pb.go b/protocol/proto/MichiaeMatsuriStartBossChallengeReq.pb.go
new file mode 100644
index 00000000..f6d751e3
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStartBossChallengeReq.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriStartBossChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8703
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MichiaeMatsuriStartBossChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Difficulty uint32 `protobuf:"varint,5,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,15,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriStartBossChallengeReq) Reset() {
+ *x = MichiaeMatsuriStartBossChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriStartBossChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriStartBossChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriStartBossChallengeReq) ProtoMessage() {}
+
+func (x *MichiaeMatsuriStartBossChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriStartBossChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriStartBossChallengeReq.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriStartBossChallengeReq) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriStartBossChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriStartBossChallengeReq) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriStartBossChallengeReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriStartBossChallengeReq_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriStartBossChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x23, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64,
+ 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriStartBossChallengeReq_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriStartBossChallengeReq_proto_rawDescData = file_MichiaeMatsuriStartBossChallengeReq_proto_rawDesc
+)
+
+func file_MichiaeMatsuriStartBossChallengeReq_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriStartBossChallengeReq_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriStartBossChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriStartBossChallengeReq_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriStartBossChallengeReq_proto_rawDescData
+}
+
+var file_MichiaeMatsuriStartBossChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriStartBossChallengeReq_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriStartBossChallengeReq)(nil), // 0: proto.MichiaeMatsuriStartBossChallengeReq
+}
+var file_MichiaeMatsuriStartBossChallengeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriStartBossChallengeReq_proto_init() }
+func file_MichiaeMatsuriStartBossChallengeReq_proto_init() {
+ if File_MichiaeMatsuriStartBossChallengeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriStartBossChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriStartBossChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriStartBossChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriStartBossChallengeReq_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriStartBossChallengeReq_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriStartBossChallengeReq_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriStartBossChallengeReq_proto = out.File
+ file_MichiaeMatsuriStartBossChallengeReq_proto_rawDesc = nil
+ file_MichiaeMatsuriStartBossChallengeReq_proto_goTypes = nil
+ file_MichiaeMatsuriStartBossChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriStartBossChallengeRsp.pb.go b/protocol/proto/MichiaeMatsuriStartBossChallengeRsp.pb.go
new file mode 100644
index 00000000..cd0c23dc
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStartBossChallengeRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriStartBossChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8426
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MichiaeMatsuriStartBossChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MichiaeMatsuriStartBossChallengeRsp) Reset() {
+ *x = MichiaeMatsuriStartBossChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriStartBossChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriStartBossChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriStartBossChallengeRsp) ProtoMessage() {}
+
+func (x *MichiaeMatsuriStartBossChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriStartBossChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriStartBossChallengeRsp.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriStartBossChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriStartBossChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriStartBossChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x23, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDescData = file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDesc
+)
+
+func file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDescData
+}
+
+var file_MichiaeMatsuriStartBossChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriStartBossChallengeRsp_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriStartBossChallengeRsp)(nil), // 0: proto.MichiaeMatsuriStartBossChallengeRsp
+}
+var file_MichiaeMatsuriStartBossChallengeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriStartBossChallengeRsp_proto_init() }
+func file_MichiaeMatsuriStartBossChallengeRsp_proto_init() {
+ if File_MichiaeMatsuriStartBossChallengeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriStartBossChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriStartBossChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriStartBossChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriStartBossChallengeRsp_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriStartBossChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriStartBossChallengeRsp_proto = out.File
+ file_MichiaeMatsuriStartBossChallengeRsp_proto_rawDesc = nil
+ file_MichiaeMatsuriStartBossChallengeRsp_proto_goTypes = nil
+ file_MichiaeMatsuriStartBossChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriStartDarkChallengeReq.pb.go b/protocol/proto/MichiaeMatsuriStartDarkChallengeReq.pb.go
new file mode 100644
index 00000000..916b789b
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStartDarkChallengeReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriStartDarkChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8054
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MichiaeMatsuriStartDarkChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WorktopEntityId uint32 `protobuf:"varint,2,opt,name=worktop_entity_id,json=worktopEntityId,proto3" json:"worktop_entity_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriStartDarkChallengeReq) Reset() {
+ *x = MichiaeMatsuriStartDarkChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriStartDarkChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriStartDarkChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriStartDarkChallengeReq) ProtoMessage() {}
+
+func (x *MichiaeMatsuriStartDarkChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriStartDarkChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriStartDarkChallengeReq.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriStartDarkChallengeReq) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriStartDarkChallengeReq) GetWorktopEntityId() uint32 {
+ if x != nil {
+ return x.WorktopEntityId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriStartDarkChallengeReq_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x72, 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x23, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x72, 0x6b, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x6f, 0x72,
+ 0x6b, 0x74, 0x6f, 0x70, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDescData = file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDesc
+)
+
+func file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDescData
+}
+
+var file_MichiaeMatsuriStartDarkChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriStartDarkChallengeReq_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriStartDarkChallengeReq)(nil), // 0: proto.MichiaeMatsuriStartDarkChallengeReq
+}
+var file_MichiaeMatsuriStartDarkChallengeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriStartDarkChallengeReq_proto_init() }
+func file_MichiaeMatsuriStartDarkChallengeReq_proto_init() {
+ if File_MichiaeMatsuriStartDarkChallengeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriStartDarkChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriStartDarkChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriStartDarkChallengeReq_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriStartDarkChallengeReq_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriStartDarkChallengeReq_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriStartDarkChallengeReq_proto = out.File
+ file_MichiaeMatsuriStartDarkChallengeReq_proto_rawDesc = nil
+ file_MichiaeMatsuriStartDarkChallengeReq_proto_goTypes = nil
+ file_MichiaeMatsuriStartDarkChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriStartDarkChallengeRsp.pb.go b/protocol/proto/MichiaeMatsuriStartDarkChallengeRsp.pb.go
new file mode 100644
index 00000000..eba155ce
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStartDarkChallengeRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriStartDarkChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8791
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MichiaeMatsuriStartDarkChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MichiaeMatsuriStartDarkChallengeRsp) Reset() {
+ *x = MichiaeMatsuriStartDarkChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriStartDarkChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriStartDarkChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriStartDarkChallengeRsp) ProtoMessage() {}
+
+func (x *MichiaeMatsuriStartDarkChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriStartDarkChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriStartDarkChallengeRsp.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriStartDarkChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriStartDarkChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriStartDarkChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x72, 0x6b, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x23, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x72, 0x6b, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDescData = file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDesc
+)
+
+func file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDescData
+}
+
+var file_MichiaeMatsuriStartDarkChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriStartDarkChallengeRsp_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriStartDarkChallengeRsp)(nil), // 0: proto.MichiaeMatsuriStartDarkChallengeRsp
+}
+var file_MichiaeMatsuriStartDarkChallengeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriStartDarkChallengeRsp_proto_init() }
+func file_MichiaeMatsuriStartDarkChallengeRsp_proto_init() {
+ if File_MichiaeMatsuriStartDarkChallengeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriStartDarkChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriStartDarkChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriStartDarkChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriStartDarkChallengeRsp_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriStartDarkChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriStartDarkChallengeRsp_proto = out.File
+ file_MichiaeMatsuriStartDarkChallengeRsp_proto_rawDesc = nil
+ file_MichiaeMatsuriStartDarkChallengeRsp_proto_goTypes = nil
+ file_MichiaeMatsuriStartDarkChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriUnlockCrystalSkillReq.pb.go b/protocol/proto/MichiaeMatsuriUnlockCrystalSkillReq.pb.go
new file mode 100644
index 00000000..c90d14c5
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriUnlockCrystalSkillReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriUnlockCrystalSkillReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8345
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MichiaeMatsuriUnlockCrystalSkillReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CrystalSkillId uint32 `protobuf:"varint,1,opt,name=crystal_skill_id,json=crystalSkillId,proto3" json:"crystal_skill_id,omitempty"`
+}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillReq) Reset() {
+ *x = MichiaeMatsuriUnlockCrystalSkillReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriUnlockCrystalSkillReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriUnlockCrystalSkillReq) ProtoMessage() {}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriUnlockCrystalSkillReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriUnlockCrystalSkillReq.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriUnlockCrystalSkillReq) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillReq) GetCrystalSkillId() uint32 {
+ if x != nil {
+ return x.CrystalSkillId
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriUnlockCrystalSkillReq_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x23, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61,
+ 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x79,
+ 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDescData = file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDesc
+)
+
+func file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDescData
+}
+
+var file_MichiaeMatsuriUnlockCrystalSkillReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriUnlockCrystalSkillReq_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriUnlockCrystalSkillReq)(nil), // 0: proto.MichiaeMatsuriUnlockCrystalSkillReq
+}
+var file_MichiaeMatsuriUnlockCrystalSkillReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriUnlockCrystalSkillReq_proto_init() }
+func file_MichiaeMatsuriUnlockCrystalSkillReq_proto_init() {
+ if File_MichiaeMatsuriUnlockCrystalSkillReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriUnlockCrystalSkillReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriUnlockCrystalSkillReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriUnlockCrystalSkillReq_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriUnlockCrystalSkillReq_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriUnlockCrystalSkillReq_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriUnlockCrystalSkillReq_proto = out.File
+ file_MichiaeMatsuriUnlockCrystalSkillReq_proto_rawDesc = nil
+ file_MichiaeMatsuriUnlockCrystalSkillReq_proto_goTypes = nil
+ file_MichiaeMatsuriUnlockCrystalSkillReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MichiaeMatsuriUnlockCrystalSkillRsp.pb.go b/protocol/proto/MichiaeMatsuriUnlockCrystalSkillRsp.pb.go
new file mode 100644
index 00000000..a8618b89
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriUnlockCrystalSkillRsp.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MichiaeMatsuriUnlockCrystalSkillRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8588
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MichiaeMatsuriUnlockCrystalSkillRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CrystalSkillId uint32 `protobuf:"varint,1,opt,name=crystal_skill_id,json=crystalSkillId,proto3" json:"crystal_skill_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillRsp) Reset() {
+ *x = MichiaeMatsuriUnlockCrystalSkillRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MichiaeMatsuriUnlockCrystalSkillRsp) ProtoMessage() {}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MichiaeMatsuriUnlockCrystalSkillRsp.ProtoReflect.Descriptor instead.
+func (*MichiaeMatsuriUnlockCrystalSkillRsp) Descriptor() ([]byte, []int) {
+ return file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillRsp) GetCrystalSkillId() uint32 {
+ if x != nil {
+ return x.CrystalSkillId
+ }
+ return 0
+}
+
+func (x *MichiaeMatsuriUnlockCrystalSkillRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MichiaeMatsuriUnlockCrystalSkillRsp_proto protoreflect.FileDescriptor
+
+var file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74, 0x73, 0x75, 0x72, 0x69,
+ 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x23, 0x4d, 0x69, 0x63, 0x68, 0x69, 0x61, 0x65, 0x4d, 0x61, 0x74,
+ 0x73, 0x75, 0x72, 0x69, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61,
+ 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x79,
+ 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDescOnce sync.Once
+ file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDescData = file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDesc
+)
+
+func file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDescGZIP() []byte {
+ file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDescOnce.Do(func() {
+ file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDescData)
+ })
+ return file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDescData
+}
+
+var file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_goTypes = []interface{}{
+ (*MichiaeMatsuriUnlockCrystalSkillRsp)(nil), // 0: proto.MichiaeMatsuriUnlockCrystalSkillRsp
+}
+var file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_init() }
+func file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_init() {
+ if File_MichiaeMatsuriUnlockCrystalSkillRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MichiaeMatsuriUnlockCrystalSkillRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_goTypes,
+ DependencyIndexes: file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_depIdxs,
+ MessageInfos: file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_msgTypes,
+ }.Build()
+ File_MichiaeMatsuriUnlockCrystalSkillRsp_proto = out.File
+ file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_rawDesc = nil
+ file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_goTypes = nil
+ file_MichiaeMatsuriUnlockCrystalSkillRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MiracleRingDataNotify.pb.go b/protocol/proto/MiracleRingDataNotify.pb.go
new file mode 100644
index 00000000..bd169e90
--- /dev/null
+++ b/protocol/proto/MiracleRingDataNotify.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MiracleRingDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5225
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MiracleRingDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsGadgetCreated bool `protobuf:"varint,8,opt,name=is_gadget_created,json=isGadgetCreated,proto3" json:"is_gadget_created,omitempty"`
+ LastTakeRewardTime uint32 `protobuf:"varint,14,opt,name=last_take_reward_time,json=lastTakeRewardTime,proto3" json:"last_take_reward_time,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,12,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ LastDeliverItemTime uint32 `protobuf:"varint,10,opt,name=last_deliver_item_time,json=lastDeliverItemTime,proto3" json:"last_deliver_item_time,omitempty"`
+ MiracleRingCd uint32 `protobuf:"varint,7,opt,name=miracle_ring_cd,json=miracleRingCd,proto3" json:"miracle_ring_cd,omitempty"`
+}
+
+func (x *MiracleRingDataNotify) Reset() {
+ *x = MiracleRingDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MiracleRingDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MiracleRingDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MiracleRingDataNotify) ProtoMessage() {}
+
+func (x *MiracleRingDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MiracleRingDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MiracleRingDataNotify.ProtoReflect.Descriptor instead.
+func (*MiracleRingDataNotify) Descriptor() ([]byte, []int) {
+ return file_MiracleRingDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MiracleRingDataNotify) GetIsGadgetCreated() bool {
+ if x != nil {
+ return x.IsGadgetCreated
+ }
+ return false
+}
+
+func (x *MiracleRingDataNotify) GetLastTakeRewardTime() uint32 {
+ if x != nil {
+ return x.LastTakeRewardTime
+ }
+ return 0
+}
+
+func (x *MiracleRingDataNotify) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *MiracleRingDataNotify) GetLastDeliverItemTime() uint32 {
+ if x != nil {
+ return x.LastDeliverItemTime
+ }
+ return 0
+}
+
+func (x *MiracleRingDataNotify) GetMiracleRingCd() uint32 {
+ if x != nil {
+ return x.MiracleRingCd
+ }
+ return 0
+}
+
+var File_MiracleRingDataNotify_proto protoreflect.FileDescriptor
+
+var file_MiracleRingDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x15, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65,
+ 0x52, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a,
+ 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x54,
+ 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a,
+ 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f,
+ 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x6c,
+ 0x69, 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f,
+ 0x6d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69,
+ 0x6e, 0x67, 0x43, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MiracleRingDataNotify_proto_rawDescOnce sync.Once
+ file_MiracleRingDataNotify_proto_rawDescData = file_MiracleRingDataNotify_proto_rawDesc
+)
+
+func file_MiracleRingDataNotify_proto_rawDescGZIP() []byte {
+ file_MiracleRingDataNotify_proto_rawDescOnce.Do(func() {
+ file_MiracleRingDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MiracleRingDataNotify_proto_rawDescData)
+ })
+ return file_MiracleRingDataNotify_proto_rawDescData
+}
+
+var file_MiracleRingDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MiracleRingDataNotify_proto_goTypes = []interface{}{
+ (*MiracleRingDataNotify)(nil), // 0: proto.MiracleRingDataNotify
+}
+var file_MiracleRingDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MiracleRingDataNotify_proto_init() }
+func file_MiracleRingDataNotify_proto_init() {
+ if File_MiracleRingDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MiracleRingDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MiracleRingDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MiracleRingDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MiracleRingDataNotify_proto_goTypes,
+ DependencyIndexes: file_MiracleRingDataNotify_proto_depIdxs,
+ MessageInfos: file_MiracleRingDataNotify_proto_msgTypes,
+ }.Build()
+ File_MiracleRingDataNotify_proto = out.File
+ file_MiracleRingDataNotify_proto_rawDesc = nil
+ file_MiracleRingDataNotify_proto_goTypes = nil
+ file_MiracleRingDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MiracleRingDeliverItemReq.pb.go b/protocol/proto/MiracleRingDeliverItemReq.pb.go
new file mode 100644
index 00000000..0ed428a2
--- /dev/null
+++ b/protocol/proto/MiracleRingDeliverItemReq.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MiracleRingDeliverItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5229
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MiracleRingDeliverItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpType InterOpType `protobuf:"varint,9,opt,name=op_type,json=opType,proto3,enum=proto.InterOpType" json:"op_type,omitempty"`
+ ItemParamList []*ItemParam `protobuf:"bytes,1,rep,name=item_param_list,json=itemParamList,proto3" json:"item_param_list,omitempty"`
+ FoodWeaponGuidList []uint64 `protobuf:"varint,4,rep,packed,name=food_weapon_guid_list,json=foodWeaponGuidList,proto3" json:"food_weapon_guid_list,omitempty"`
+ GadgetId uint32 `protobuf:"varint,14,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,5,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *MiracleRingDeliverItemReq) Reset() {
+ *x = MiracleRingDeliverItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MiracleRingDeliverItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MiracleRingDeliverItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MiracleRingDeliverItemReq) ProtoMessage() {}
+
+func (x *MiracleRingDeliverItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MiracleRingDeliverItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MiracleRingDeliverItemReq.ProtoReflect.Descriptor instead.
+func (*MiracleRingDeliverItemReq) Descriptor() ([]byte, []int) {
+ return file_MiracleRingDeliverItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MiracleRingDeliverItemReq) GetOpType() InterOpType {
+ if x != nil {
+ return x.OpType
+ }
+ return InterOpType_INTER_OP_TYPE_FINISH
+}
+
+func (x *MiracleRingDeliverItemReq) GetItemParamList() []*ItemParam {
+ if x != nil {
+ return x.ItemParamList
+ }
+ return nil
+}
+
+func (x *MiracleRingDeliverItemReq) GetFoodWeaponGuidList() []uint64 {
+ if x != nil {
+ return x.FoodWeaponGuidList
+ }
+ return nil
+}
+
+func (x *MiracleRingDeliverItemReq) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *MiracleRingDeliverItemReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_MiracleRingDeliverItemReq_proto protoreflect.FileDescriptor
+
+var file_MiracleRingDeliverItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c,
+ 0x69, 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x4f,
+ 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x01, 0x0a,
+ 0x19, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x69,
+ 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x07, 0x6f, 0x70,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04,
+ 0x52, 0x12, 0x66, 0x6f, 0x6f, 0x64, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x64, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MiracleRingDeliverItemReq_proto_rawDescOnce sync.Once
+ file_MiracleRingDeliverItemReq_proto_rawDescData = file_MiracleRingDeliverItemReq_proto_rawDesc
+)
+
+func file_MiracleRingDeliverItemReq_proto_rawDescGZIP() []byte {
+ file_MiracleRingDeliverItemReq_proto_rawDescOnce.Do(func() {
+ file_MiracleRingDeliverItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MiracleRingDeliverItemReq_proto_rawDescData)
+ })
+ return file_MiracleRingDeliverItemReq_proto_rawDescData
+}
+
+var file_MiracleRingDeliverItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MiracleRingDeliverItemReq_proto_goTypes = []interface{}{
+ (*MiracleRingDeliverItemReq)(nil), // 0: proto.MiracleRingDeliverItemReq
+ (InterOpType)(0), // 1: proto.InterOpType
+ (*ItemParam)(nil), // 2: proto.ItemParam
+}
+var file_MiracleRingDeliverItemReq_proto_depIdxs = []int32{
+ 1, // 0: proto.MiracleRingDeliverItemReq.op_type:type_name -> proto.InterOpType
+ 2, // 1: proto.MiracleRingDeliverItemReq.item_param_list:type_name -> proto.ItemParam
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_MiracleRingDeliverItemReq_proto_init() }
+func file_MiracleRingDeliverItemReq_proto_init() {
+ if File_MiracleRingDeliverItemReq_proto != nil {
+ return
+ }
+ file_InterOpType_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MiracleRingDeliverItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MiracleRingDeliverItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MiracleRingDeliverItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MiracleRingDeliverItemReq_proto_goTypes,
+ DependencyIndexes: file_MiracleRingDeliverItemReq_proto_depIdxs,
+ MessageInfos: file_MiracleRingDeliverItemReq_proto_msgTypes,
+ }.Build()
+ File_MiracleRingDeliverItemReq_proto = out.File
+ file_MiracleRingDeliverItemReq_proto_rawDesc = nil
+ file_MiracleRingDeliverItemReq_proto_goTypes = nil
+ file_MiracleRingDeliverItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MiracleRingDeliverItemRsp.pb.go b/protocol/proto/MiracleRingDeliverItemRsp.pb.go
new file mode 100644
index 00000000..6da270ef
--- /dev/null
+++ b/protocol/proto/MiracleRingDeliverItemRsp.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MiracleRingDeliverItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5222
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MiracleRingDeliverItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InteractType InteractType `protobuf:"varint,15,opt,name=interact_type,json=interactType,proto3,enum=proto.InteractType" json:"interact_type,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OpType InterOpType `protobuf:"varint,14,opt,name=op_type,json=opType,proto3,enum=proto.InterOpType" json:"op_type,omitempty"`
+ GadgetId uint32 `protobuf:"varint,4,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,9,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *MiracleRingDeliverItemRsp) Reset() {
+ *x = MiracleRingDeliverItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MiracleRingDeliverItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MiracleRingDeliverItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MiracleRingDeliverItemRsp) ProtoMessage() {}
+
+func (x *MiracleRingDeliverItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MiracleRingDeliverItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MiracleRingDeliverItemRsp.ProtoReflect.Descriptor instead.
+func (*MiracleRingDeliverItemRsp) Descriptor() ([]byte, []int) {
+ return file_MiracleRingDeliverItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MiracleRingDeliverItemRsp) GetInteractType() InteractType {
+ if x != nil {
+ return x.InteractType
+ }
+ return InteractType_INTERACT_TYPE_NONE
+}
+
+func (x *MiracleRingDeliverItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MiracleRingDeliverItemRsp) GetOpType() InterOpType {
+ if x != nil {
+ return x.OpType
+ }
+ return InterOpType_INTER_OP_TYPE_FINISH
+}
+
+func (x *MiracleRingDeliverItemRsp) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *MiracleRingDeliverItemRsp) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_MiracleRingDeliverItemRsp_proto protoreflect.FileDescriptor
+
+var file_MiracleRingDeliverItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c,
+ 0x69, 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x4f,
+ 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xe3, 0x01, 0x0a, 0x19, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44,
+ 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x38, 0x0a,
+ 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72,
+ 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x67,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MiracleRingDeliverItemRsp_proto_rawDescOnce sync.Once
+ file_MiracleRingDeliverItemRsp_proto_rawDescData = file_MiracleRingDeliverItemRsp_proto_rawDesc
+)
+
+func file_MiracleRingDeliverItemRsp_proto_rawDescGZIP() []byte {
+ file_MiracleRingDeliverItemRsp_proto_rawDescOnce.Do(func() {
+ file_MiracleRingDeliverItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MiracleRingDeliverItemRsp_proto_rawDescData)
+ })
+ return file_MiracleRingDeliverItemRsp_proto_rawDescData
+}
+
+var file_MiracleRingDeliverItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MiracleRingDeliverItemRsp_proto_goTypes = []interface{}{
+ (*MiracleRingDeliverItemRsp)(nil), // 0: proto.MiracleRingDeliverItemRsp
+ (InteractType)(0), // 1: proto.InteractType
+ (InterOpType)(0), // 2: proto.InterOpType
+}
+var file_MiracleRingDeliverItemRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.MiracleRingDeliverItemRsp.interact_type:type_name -> proto.InteractType
+ 2, // 1: proto.MiracleRingDeliverItemRsp.op_type:type_name -> proto.InterOpType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_MiracleRingDeliverItemRsp_proto_init() }
+func file_MiracleRingDeliverItemRsp_proto_init() {
+ if File_MiracleRingDeliverItemRsp_proto != nil {
+ return
+ }
+ file_InterOpType_proto_init()
+ file_InteractType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MiracleRingDeliverItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MiracleRingDeliverItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MiracleRingDeliverItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MiracleRingDeliverItemRsp_proto_goTypes,
+ DependencyIndexes: file_MiracleRingDeliverItemRsp_proto_depIdxs,
+ MessageInfos: file_MiracleRingDeliverItemRsp_proto_msgTypes,
+ }.Build()
+ File_MiracleRingDeliverItemRsp_proto = out.File
+ file_MiracleRingDeliverItemRsp_proto_rawDesc = nil
+ file_MiracleRingDeliverItemRsp_proto_goTypes = nil
+ file_MiracleRingDeliverItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MiracleRingDestroyNotify.pb.go b/protocol/proto/MiracleRingDestroyNotify.pb.go
new file mode 100644
index 00000000..286790ad
--- /dev/null
+++ b/protocol/proto/MiracleRingDestroyNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MiracleRingDestroyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5244
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MiracleRingDestroyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *MiracleRingDestroyNotify) Reset() {
+ *x = MiracleRingDestroyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MiracleRingDestroyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MiracleRingDestroyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MiracleRingDestroyNotify) ProtoMessage() {}
+
+func (x *MiracleRingDestroyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MiracleRingDestroyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MiracleRingDestroyNotify.ProtoReflect.Descriptor instead.
+func (*MiracleRingDestroyNotify) Descriptor() ([]byte, []int) {
+ return file_MiracleRingDestroyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MiracleRingDestroyNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_MiracleRingDestroyNotify_proto protoreflect.FileDescriptor
+
+var file_MiracleRingDestroyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73,
+ 0x74, 0x72, 0x6f, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x18, 0x4d, 0x69, 0x72, 0x61, 0x63,
+ 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MiracleRingDestroyNotify_proto_rawDescOnce sync.Once
+ file_MiracleRingDestroyNotify_proto_rawDescData = file_MiracleRingDestroyNotify_proto_rawDesc
+)
+
+func file_MiracleRingDestroyNotify_proto_rawDescGZIP() []byte {
+ file_MiracleRingDestroyNotify_proto_rawDescOnce.Do(func() {
+ file_MiracleRingDestroyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MiracleRingDestroyNotify_proto_rawDescData)
+ })
+ return file_MiracleRingDestroyNotify_proto_rawDescData
+}
+
+var file_MiracleRingDestroyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MiracleRingDestroyNotify_proto_goTypes = []interface{}{
+ (*MiracleRingDestroyNotify)(nil), // 0: proto.MiracleRingDestroyNotify
+}
+var file_MiracleRingDestroyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MiracleRingDestroyNotify_proto_init() }
+func file_MiracleRingDestroyNotify_proto_init() {
+ if File_MiracleRingDestroyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MiracleRingDestroyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MiracleRingDestroyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MiracleRingDestroyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MiracleRingDestroyNotify_proto_goTypes,
+ DependencyIndexes: file_MiracleRingDestroyNotify_proto_depIdxs,
+ MessageInfos: file_MiracleRingDestroyNotify_proto_msgTypes,
+ }.Build()
+ File_MiracleRingDestroyNotify_proto = out.File
+ file_MiracleRingDestroyNotify_proto_rawDesc = nil
+ file_MiracleRingDestroyNotify_proto_goTypes = nil
+ file_MiracleRingDestroyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MiracleRingDropResultNotify.pb.go b/protocol/proto/MiracleRingDropResultNotify.pb.go
new file mode 100644
index 00000000..79f81123
--- /dev/null
+++ b/protocol/proto/MiracleRingDropResultNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MiracleRingDropResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5231
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MiracleRingDropResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LastTakeRewardTime int32 `protobuf:"varint,5,opt,name=last_take_reward_time,json=lastTakeRewardTime,proto3" json:"last_take_reward_time,omitempty"`
+ DropResult int32 `protobuf:"varint,9,opt,name=drop_result,json=dropResult,proto3" json:"drop_result,omitempty"`
+}
+
+func (x *MiracleRingDropResultNotify) Reset() {
+ *x = MiracleRingDropResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MiracleRingDropResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MiracleRingDropResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MiracleRingDropResultNotify) ProtoMessage() {}
+
+func (x *MiracleRingDropResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MiracleRingDropResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MiracleRingDropResultNotify.ProtoReflect.Descriptor instead.
+func (*MiracleRingDropResultNotify) Descriptor() ([]byte, []int) {
+ return file_MiracleRingDropResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MiracleRingDropResultNotify) GetLastTakeRewardTime() int32 {
+ if x != nil {
+ return x.LastTakeRewardTime
+ }
+ return 0
+}
+
+func (x *MiracleRingDropResultNotify) GetDropResult() int32 {
+ if x != nil {
+ return x.DropResult
+ }
+ return 0
+}
+
+var File_MiracleRingDropResultNotify_proto protoreflect.FileDescriptor
+
+var file_MiracleRingDropResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f,
+ 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x1b, 0x4d, 0x69,
+ 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x61, 0x73,
+ 0x74, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x61,
+ 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MiracleRingDropResultNotify_proto_rawDescOnce sync.Once
+ file_MiracleRingDropResultNotify_proto_rawDescData = file_MiracleRingDropResultNotify_proto_rawDesc
+)
+
+func file_MiracleRingDropResultNotify_proto_rawDescGZIP() []byte {
+ file_MiracleRingDropResultNotify_proto_rawDescOnce.Do(func() {
+ file_MiracleRingDropResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MiracleRingDropResultNotify_proto_rawDescData)
+ })
+ return file_MiracleRingDropResultNotify_proto_rawDescData
+}
+
+var file_MiracleRingDropResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MiracleRingDropResultNotify_proto_goTypes = []interface{}{
+ (*MiracleRingDropResultNotify)(nil), // 0: proto.MiracleRingDropResultNotify
+}
+var file_MiracleRingDropResultNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MiracleRingDropResultNotify_proto_init() }
+func file_MiracleRingDropResultNotify_proto_init() {
+ if File_MiracleRingDropResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MiracleRingDropResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MiracleRingDropResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MiracleRingDropResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MiracleRingDropResultNotify_proto_goTypes,
+ DependencyIndexes: file_MiracleRingDropResultNotify_proto_depIdxs,
+ MessageInfos: file_MiracleRingDropResultNotify_proto_msgTypes,
+ }.Build()
+ File_MiracleRingDropResultNotify_proto = out.File
+ file_MiracleRingDropResultNotify_proto_rawDesc = nil
+ file_MiracleRingDropResultNotify_proto_goTypes = nil
+ file_MiracleRingDropResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MiracleRingTakeRewardReq.pb.go b/protocol/proto/MiracleRingTakeRewardReq.pb.go
new file mode 100644
index 00000000..a1a1eac2
--- /dev/null
+++ b/protocol/proto/MiracleRingTakeRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MiracleRingTakeRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5207
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MiracleRingTakeRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetId uint32 `protobuf:"varint,11,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,7,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *MiracleRingTakeRewardReq) Reset() {
+ *x = MiracleRingTakeRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MiracleRingTakeRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MiracleRingTakeRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MiracleRingTakeRewardReq) ProtoMessage() {}
+
+func (x *MiracleRingTakeRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MiracleRingTakeRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MiracleRingTakeRewardReq.ProtoReflect.Descriptor instead.
+func (*MiracleRingTakeRewardReq) Descriptor() ([]byte, []int) {
+ return file_MiracleRingTakeRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MiracleRingTakeRewardReq) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *MiracleRingTakeRewardReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_MiracleRingTakeRewardReq_proto protoreflect.FileDescriptor
+
+var file_MiracleRingTakeRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b,
+ 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x18, 0x4d, 0x69, 0x72, 0x61, 0x63,
+ 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64,
+ 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MiracleRingTakeRewardReq_proto_rawDescOnce sync.Once
+ file_MiracleRingTakeRewardReq_proto_rawDescData = file_MiracleRingTakeRewardReq_proto_rawDesc
+)
+
+func file_MiracleRingTakeRewardReq_proto_rawDescGZIP() []byte {
+ file_MiracleRingTakeRewardReq_proto_rawDescOnce.Do(func() {
+ file_MiracleRingTakeRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MiracleRingTakeRewardReq_proto_rawDescData)
+ })
+ return file_MiracleRingTakeRewardReq_proto_rawDescData
+}
+
+var file_MiracleRingTakeRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MiracleRingTakeRewardReq_proto_goTypes = []interface{}{
+ (*MiracleRingTakeRewardReq)(nil), // 0: proto.MiracleRingTakeRewardReq
+}
+var file_MiracleRingTakeRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MiracleRingTakeRewardReq_proto_init() }
+func file_MiracleRingTakeRewardReq_proto_init() {
+ if File_MiracleRingTakeRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MiracleRingTakeRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MiracleRingTakeRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MiracleRingTakeRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MiracleRingTakeRewardReq_proto_goTypes,
+ DependencyIndexes: file_MiracleRingTakeRewardReq_proto_depIdxs,
+ MessageInfos: file_MiracleRingTakeRewardReq_proto_msgTypes,
+ }.Build()
+ File_MiracleRingTakeRewardReq_proto = out.File
+ file_MiracleRingTakeRewardReq_proto_rawDesc = nil
+ file_MiracleRingTakeRewardReq_proto_goTypes = nil
+ file_MiracleRingTakeRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MiracleRingTakeRewardRsp.pb.go b/protocol/proto/MiracleRingTakeRewardRsp.pb.go
new file mode 100644
index 00000000..f3fe3977
--- /dev/null
+++ b/protocol/proto/MiracleRingTakeRewardRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MiracleRingTakeRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5202
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MiracleRingTakeRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MiracleRingTakeRewardRsp) Reset() {
+ *x = MiracleRingTakeRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MiracleRingTakeRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MiracleRingTakeRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MiracleRingTakeRewardRsp) ProtoMessage() {}
+
+func (x *MiracleRingTakeRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MiracleRingTakeRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MiracleRingTakeRewardRsp.ProtoReflect.Descriptor instead.
+func (*MiracleRingTakeRewardRsp) Descriptor() ([]byte, []int) {
+ return file_MiracleRingTakeRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MiracleRingTakeRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MiracleRingTakeRewardRsp_proto protoreflect.FileDescriptor
+
+var file_MiracleRingTakeRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b,
+ 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x18, 0x4d, 0x69, 0x72, 0x61, 0x63,
+ 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MiracleRingTakeRewardRsp_proto_rawDescOnce sync.Once
+ file_MiracleRingTakeRewardRsp_proto_rawDescData = file_MiracleRingTakeRewardRsp_proto_rawDesc
+)
+
+func file_MiracleRingTakeRewardRsp_proto_rawDescGZIP() []byte {
+ file_MiracleRingTakeRewardRsp_proto_rawDescOnce.Do(func() {
+ file_MiracleRingTakeRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MiracleRingTakeRewardRsp_proto_rawDescData)
+ })
+ return file_MiracleRingTakeRewardRsp_proto_rawDescData
+}
+
+var file_MiracleRingTakeRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MiracleRingTakeRewardRsp_proto_goTypes = []interface{}{
+ (*MiracleRingTakeRewardRsp)(nil), // 0: proto.MiracleRingTakeRewardRsp
+}
+var file_MiracleRingTakeRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MiracleRingTakeRewardRsp_proto_init() }
+func file_MiracleRingTakeRewardRsp_proto_init() {
+ if File_MiracleRingTakeRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MiracleRingTakeRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MiracleRingTakeRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MiracleRingTakeRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MiracleRingTakeRewardRsp_proto_goTypes,
+ DependencyIndexes: file_MiracleRingTakeRewardRsp_proto_depIdxs,
+ MessageInfos: file_MiracleRingTakeRewardRsp_proto_msgTypes,
+ }.Build()
+ File_MiracleRingTakeRewardRsp_proto = out.File
+ file_MiracleRingTakeRewardRsp_proto_rawDesc = nil
+ file_MiracleRingTakeRewardRsp_proto_goTypes = nil
+ file_MiracleRingTakeRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialActivityDetailInfo.pb.go b/protocol/proto/MistTrialActivityDetailInfo.pb.go
new file mode 100644
index 00000000..0d53563c
--- /dev/null
+++ b/protocol/proto/MistTrialActivityDetailInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MistTrialActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialLevelDataList []*MistTrialLevelData `protobuf:"bytes,5,rep,name=trial_level_data_list,json=trialLevelDataList,proto3" json:"trial_level_data_list,omitempty"`
+}
+
+func (x *MistTrialActivityDetailInfo) Reset() {
+ *x = MistTrialActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialActivityDetailInfo) ProtoMessage() {}
+
+func (x *MistTrialActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*MistTrialActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_MistTrialActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialActivityDetailInfo) GetTrialLevelDataList() []*MistTrialLevelData {
+ if x != nil {
+ return x.TrialLevelDataList
+ }
+ return nil
+}
+
+var File_MistTrialActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_MistTrialActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x4d, 0x69, 0x73, 0x74,
+ 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x1b, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61,
+ 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x4c, 0x0a, 0x15, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x73, 0x74, 0x54,
+ 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x12, 0x74,
+ 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_MistTrialActivityDetailInfo_proto_rawDescData = file_MistTrialActivityDetailInfo_proto_rawDesc
+)
+
+func file_MistTrialActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_MistTrialActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_MistTrialActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialActivityDetailInfo_proto_rawDescData)
+ })
+ return file_MistTrialActivityDetailInfo_proto_rawDescData
+}
+
+var file_MistTrialActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialActivityDetailInfo_proto_goTypes = []interface{}{
+ (*MistTrialActivityDetailInfo)(nil), // 0: proto.MistTrialActivityDetailInfo
+ (*MistTrialLevelData)(nil), // 1: proto.MistTrialLevelData
+}
+var file_MistTrialActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MistTrialActivityDetailInfo.trial_level_data_list:type_name -> proto.MistTrialLevelData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialActivityDetailInfo_proto_init() }
+func file_MistTrialActivityDetailInfo_proto_init() {
+ if File_MistTrialActivityDetailInfo_proto != nil {
+ return
+ }
+ file_MistTrialLevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_MistTrialActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_MistTrialActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_MistTrialActivityDetailInfo_proto = out.File
+ file_MistTrialActivityDetailInfo_proto_rawDesc = nil
+ file_MistTrialActivityDetailInfo_proto_goTypes = nil
+ file_MistTrialActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialDunegonFailNotify.pb.go b/protocol/proto/MistTrialDunegonFailNotify.pb.go
new file mode 100644
index 00000000..6d294dbd
--- /dev/null
+++ b/protocol/proto/MistTrialDunegonFailNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialDunegonFailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8135
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MistTrialDunegonFailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId int32 `protobuf:"varint,9,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *MistTrialDunegonFailNotify) Reset() {
+ *x = MistTrialDunegonFailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialDunegonFailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialDunegonFailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialDunegonFailNotify) ProtoMessage() {}
+
+func (x *MistTrialDunegonFailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialDunegonFailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialDunegonFailNotify.ProtoReflect.Descriptor instead.
+func (*MistTrialDunegonFailNotify) Descriptor() ([]byte, []int) {
+ return file_MistTrialDunegonFailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialDunegonFailNotify) GetDungeonId() int32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_MistTrialDunegonFailNotify_proto protoreflect.FileDescriptor
+
+var file_MistTrialDunegonFailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x75, 0x6e, 0x65, 0x67,
+ 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x1a, 0x4d, 0x69, 0x73,
+ 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x75, 0x6e, 0x65, 0x67, 0x6f, 0x6e, 0x46, 0x61, 0x69,
+ 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialDunegonFailNotify_proto_rawDescOnce sync.Once
+ file_MistTrialDunegonFailNotify_proto_rawDescData = file_MistTrialDunegonFailNotify_proto_rawDesc
+)
+
+func file_MistTrialDunegonFailNotify_proto_rawDescGZIP() []byte {
+ file_MistTrialDunegonFailNotify_proto_rawDescOnce.Do(func() {
+ file_MistTrialDunegonFailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialDunegonFailNotify_proto_rawDescData)
+ })
+ return file_MistTrialDunegonFailNotify_proto_rawDescData
+}
+
+var file_MistTrialDunegonFailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialDunegonFailNotify_proto_goTypes = []interface{}{
+ (*MistTrialDunegonFailNotify)(nil), // 0: proto.MistTrialDunegonFailNotify
+}
+var file_MistTrialDunegonFailNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialDunegonFailNotify_proto_init() }
+func file_MistTrialDunegonFailNotify_proto_init() {
+ if File_MistTrialDunegonFailNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialDunegonFailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialDunegonFailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialDunegonFailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialDunegonFailNotify_proto_goTypes,
+ DependencyIndexes: file_MistTrialDunegonFailNotify_proto_depIdxs,
+ MessageInfos: file_MistTrialDunegonFailNotify_proto_msgTypes,
+ }.Build()
+ File_MistTrialDunegonFailNotify_proto = out.File
+ file_MistTrialDunegonFailNotify_proto_rawDesc = nil
+ file_MistTrialDunegonFailNotify_proto_goTypes = nil
+ file_MistTrialDunegonFailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialGetChallengeMissionReq.pb.go b/protocol/proto/MistTrialGetChallengeMissionReq.pb.go
new file mode 100644
index 00000000..5c0b7fea
--- /dev/null
+++ b/protocol/proto/MistTrialGetChallengeMissionReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialGetChallengeMissionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8893
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MistTrialGetChallengeMissionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialId uint32 `protobuf:"varint,9,opt,name=trial_id,json=trialId,proto3" json:"trial_id,omitempty"`
+}
+
+func (x *MistTrialGetChallengeMissionReq) Reset() {
+ *x = MistTrialGetChallengeMissionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialGetChallengeMissionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialGetChallengeMissionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialGetChallengeMissionReq) ProtoMessage() {}
+
+func (x *MistTrialGetChallengeMissionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialGetChallengeMissionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialGetChallengeMissionReq.ProtoReflect.Descriptor instead.
+func (*MistTrialGetChallengeMissionReq) Descriptor() ([]byte, []int) {
+ return file_MistTrialGetChallengeMissionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialGetChallengeMissionReq) GetTrialId() uint32 {
+ if x != nil {
+ return x.TrialId
+ }
+ return 0
+}
+
+var File_MistTrialGetChallengeMissionReq_proto protoreflect.FileDescriptor
+
+var file_MistTrialGetChallengeMissionReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c,
+ 0x0a, 0x1f, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialGetChallengeMissionReq_proto_rawDescOnce sync.Once
+ file_MistTrialGetChallengeMissionReq_proto_rawDescData = file_MistTrialGetChallengeMissionReq_proto_rawDesc
+)
+
+func file_MistTrialGetChallengeMissionReq_proto_rawDescGZIP() []byte {
+ file_MistTrialGetChallengeMissionReq_proto_rawDescOnce.Do(func() {
+ file_MistTrialGetChallengeMissionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialGetChallengeMissionReq_proto_rawDescData)
+ })
+ return file_MistTrialGetChallengeMissionReq_proto_rawDescData
+}
+
+var file_MistTrialGetChallengeMissionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialGetChallengeMissionReq_proto_goTypes = []interface{}{
+ (*MistTrialGetChallengeMissionReq)(nil), // 0: proto.MistTrialGetChallengeMissionReq
+}
+var file_MistTrialGetChallengeMissionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialGetChallengeMissionReq_proto_init() }
+func file_MistTrialGetChallengeMissionReq_proto_init() {
+ if File_MistTrialGetChallengeMissionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialGetChallengeMissionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialGetChallengeMissionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialGetChallengeMissionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialGetChallengeMissionReq_proto_goTypes,
+ DependencyIndexes: file_MistTrialGetChallengeMissionReq_proto_depIdxs,
+ MessageInfos: file_MistTrialGetChallengeMissionReq_proto_msgTypes,
+ }.Build()
+ File_MistTrialGetChallengeMissionReq_proto = out.File
+ file_MistTrialGetChallengeMissionReq_proto_rawDesc = nil
+ file_MistTrialGetChallengeMissionReq_proto_goTypes = nil
+ file_MistTrialGetChallengeMissionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialGetChallengeMissionRsp.pb.go b/protocol/proto/MistTrialGetChallengeMissionRsp.pb.go
new file mode 100644
index 00000000..c5b92dc7
--- /dev/null
+++ b/protocol/proto/MistTrialGetChallengeMissionRsp.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialGetChallengeMissionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8508
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MistTrialGetChallengeMissionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialId uint32 `protobuf:"varint,1,opt,name=trial_id,json=trialId,proto3" json:"trial_id,omitempty"`
+ MissionInfoList []*MistTrialMissionInfo `protobuf:"bytes,15,rep,name=mission_info_list,json=missionInfoList,proto3" json:"mission_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MistTrialGetChallengeMissionRsp) Reset() {
+ *x = MistTrialGetChallengeMissionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialGetChallengeMissionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialGetChallengeMissionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialGetChallengeMissionRsp) ProtoMessage() {}
+
+func (x *MistTrialGetChallengeMissionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialGetChallengeMissionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialGetChallengeMissionRsp.ProtoReflect.Descriptor instead.
+func (*MistTrialGetChallengeMissionRsp) Descriptor() ([]byte, []int) {
+ return file_MistTrialGetChallengeMissionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialGetChallengeMissionRsp) GetTrialId() uint32 {
+ if x != nil {
+ return x.TrialId
+ }
+ return 0
+}
+
+func (x *MistTrialGetChallengeMissionRsp) GetMissionInfoList() []*MistTrialMissionInfo {
+ if x != nil {
+ return x.MissionInfoList
+ }
+ return nil
+}
+
+func (x *MistTrialGetChallengeMissionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MistTrialGetChallengeMissionRsp_proto protoreflect.FileDescriptor
+
+var file_MistTrialGetChallengeMissionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a,
+ 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9f, 0x01, 0x0a, 0x1f, 0x4d,
+ 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x19,
+ 0x0a, 0x08, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x11, 0x6d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x73,
+ 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialGetChallengeMissionRsp_proto_rawDescOnce sync.Once
+ file_MistTrialGetChallengeMissionRsp_proto_rawDescData = file_MistTrialGetChallengeMissionRsp_proto_rawDesc
+)
+
+func file_MistTrialGetChallengeMissionRsp_proto_rawDescGZIP() []byte {
+ file_MistTrialGetChallengeMissionRsp_proto_rawDescOnce.Do(func() {
+ file_MistTrialGetChallengeMissionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialGetChallengeMissionRsp_proto_rawDescData)
+ })
+ return file_MistTrialGetChallengeMissionRsp_proto_rawDescData
+}
+
+var file_MistTrialGetChallengeMissionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialGetChallengeMissionRsp_proto_goTypes = []interface{}{
+ (*MistTrialGetChallengeMissionRsp)(nil), // 0: proto.MistTrialGetChallengeMissionRsp
+ (*MistTrialMissionInfo)(nil), // 1: proto.MistTrialMissionInfo
+}
+var file_MistTrialGetChallengeMissionRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.MistTrialGetChallengeMissionRsp.mission_info_list:type_name -> proto.MistTrialMissionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialGetChallengeMissionRsp_proto_init() }
+func file_MistTrialGetChallengeMissionRsp_proto_init() {
+ if File_MistTrialGetChallengeMissionRsp_proto != nil {
+ return
+ }
+ file_MistTrialMissionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialGetChallengeMissionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialGetChallengeMissionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialGetChallengeMissionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialGetChallengeMissionRsp_proto_goTypes,
+ DependencyIndexes: file_MistTrialGetChallengeMissionRsp_proto_depIdxs,
+ MessageInfos: file_MistTrialGetChallengeMissionRsp_proto_msgTypes,
+ }.Build()
+ File_MistTrialGetChallengeMissionRsp_proto = out.File
+ file_MistTrialGetChallengeMissionRsp_proto_rawDesc = nil
+ file_MistTrialGetChallengeMissionRsp_proto_goTypes = nil
+ file_MistTrialGetChallengeMissionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialGetDungeonExhibitionDataReq.pb.go b/protocol/proto/MistTrialGetDungeonExhibitionDataReq.pb.go
new file mode 100644
index 00000000..72348cd2
--- /dev/null
+++ b/protocol/proto/MistTrialGetDungeonExhibitionDataReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialGetDungeonExhibitionDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8740
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MistTrialGetDungeonExhibitionDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialId uint32 `protobuf:"varint,13,opt,name=trial_id,json=trialId,proto3" json:"trial_id,omitempty"`
+}
+
+func (x *MistTrialGetDungeonExhibitionDataReq) Reset() {
+ *x = MistTrialGetDungeonExhibitionDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialGetDungeonExhibitionDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialGetDungeonExhibitionDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialGetDungeonExhibitionDataReq) ProtoMessage() {}
+
+func (x *MistTrialGetDungeonExhibitionDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialGetDungeonExhibitionDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialGetDungeonExhibitionDataReq.ProtoReflect.Descriptor instead.
+func (*MistTrialGetDungeonExhibitionDataReq) Descriptor() ([]byte, []int) {
+ return file_MistTrialGetDungeonExhibitionDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialGetDungeonExhibitionDataReq) GetTrialId() uint32 {
+ if x != nil {
+ return x.TrialId
+ }
+ return 0
+}
+
+var File_MistTrialGetDungeonExhibitionDataReq_proto protoreflect.FileDescriptor
+
+var file_MistTrialGetDungeonExhibitionDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x24, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x47, 0x65, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x74,
+ 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74,
+ 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialGetDungeonExhibitionDataReq_proto_rawDescOnce sync.Once
+ file_MistTrialGetDungeonExhibitionDataReq_proto_rawDescData = file_MistTrialGetDungeonExhibitionDataReq_proto_rawDesc
+)
+
+func file_MistTrialGetDungeonExhibitionDataReq_proto_rawDescGZIP() []byte {
+ file_MistTrialGetDungeonExhibitionDataReq_proto_rawDescOnce.Do(func() {
+ file_MistTrialGetDungeonExhibitionDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialGetDungeonExhibitionDataReq_proto_rawDescData)
+ })
+ return file_MistTrialGetDungeonExhibitionDataReq_proto_rawDescData
+}
+
+var file_MistTrialGetDungeonExhibitionDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialGetDungeonExhibitionDataReq_proto_goTypes = []interface{}{
+ (*MistTrialGetDungeonExhibitionDataReq)(nil), // 0: proto.MistTrialGetDungeonExhibitionDataReq
+}
+var file_MistTrialGetDungeonExhibitionDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialGetDungeonExhibitionDataReq_proto_init() }
+func file_MistTrialGetDungeonExhibitionDataReq_proto_init() {
+ if File_MistTrialGetDungeonExhibitionDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialGetDungeonExhibitionDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialGetDungeonExhibitionDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialGetDungeonExhibitionDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialGetDungeonExhibitionDataReq_proto_goTypes,
+ DependencyIndexes: file_MistTrialGetDungeonExhibitionDataReq_proto_depIdxs,
+ MessageInfos: file_MistTrialGetDungeonExhibitionDataReq_proto_msgTypes,
+ }.Build()
+ File_MistTrialGetDungeonExhibitionDataReq_proto = out.File
+ file_MistTrialGetDungeonExhibitionDataReq_proto_rawDesc = nil
+ file_MistTrialGetDungeonExhibitionDataReq_proto_goTypes = nil
+ file_MistTrialGetDungeonExhibitionDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialGetDungeonExhibitionDataRsp.pb.go b/protocol/proto/MistTrialGetDungeonExhibitionDataRsp.pb.go
new file mode 100644
index 00000000..20460f2d
--- /dev/null
+++ b/protocol/proto/MistTrialGetDungeonExhibitionDataRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialGetDungeonExhibitionDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8066
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MistTrialGetDungeonExhibitionDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialId uint32 `protobuf:"varint,12,opt,name=trial_id,json=trialId,proto3" json:"trial_id,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MistTrialGetDungeonExhibitionDataRsp) Reset() {
+ *x = MistTrialGetDungeonExhibitionDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialGetDungeonExhibitionDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialGetDungeonExhibitionDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialGetDungeonExhibitionDataRsp) ProtoMessage() {}
+
+func (x *MistTrialGetDungeonExhibitionDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialGetDungeonExhibitionDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialGetDungeonExhibitionDataRsp.ProtoReflect.Descriptor instead.
+func (*MistTrialGetDungeonExhibitionDataRsp) Descriptor() ([]byte, []int) {
+ return file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialGetDungeonExhibitionDataRsp) GetTrialId() uint32 {
+ if x != nil {
+ return x.TrialId
+ }
+ return 0
+}
+
+func (x *MistTrialGetDungeonExhibitionDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MistTrialGetDungeonExhibitionDataRsp_proto protoreflect.FileDescriptor
+
+var file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x65, 0x74, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x24, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x47, 0x65, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x74,
+ 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74,
+ 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDescOnce sync.Once
+ file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDescData = file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDesc
+)
+
+func file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDescGZIP() []byte {
+ file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDescOnce.Do(func() {
+ file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDescData)
+ })
+ return file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDescData
+}
+
+var file_MistTrialGetDungeonExhibitionDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialGetDungeonExhibitionDataRsp_proto_goTypes = []interface{}{
+ (*MistTrialGetDungeonExhibitionDataRsp)(nil), // 0: proto.MistTrialGetDungeonExhibitionDataRsp
+}
+var file_MistTrialGetDungeonExhibitionDataRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialGetDungeonExhibitionDataRsp_proto_init() }
+func file_MistTrialGetDungeonExhibitionDataRsp_proto_init() {
+ if File_MistTrialGetDungeonExhibitionDataRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialGetDungeonExhibitionDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialGetDungeonExhibitionDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialGetDungeonExhibitionDataRsp_proto_goTypes,
+ DependencyIndexes: file_MistTrialGetDungeonExhibitionDataRsp_proto_depIdxs,
+ MessageInfos: file_MistTrialGetDungeonExhibitionDataRsp_proto_msgTypes,
+ }.Build()
+ File_MistTrialGetDungeonExhibitionDataRsp_proto = out.File
+ file_MistTrialGetDungeonExhibitionDataRsp_proto_rawDesc = nil
+ file_MistTrialGetDungeonExhibitionDataRsp_proto_goTypes = nil
+ file_MistTrialGetDungeonExhibitionDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialLevelData.pb.go b/protocol/proto/MistTrialLevelData.pb.go
new file mode 100644
index 00000000..45d5ba99
--- /dev/null
+++ b/protocol/proto/MistTrialLevelData.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MistTrialLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenTime uint32 `protobuf:"varint,1,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsOpen bool `protobuf:"varint,12,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ LevelId uint32 `protobuf:"varint,7,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *MistTrialLevelData) Reset() {
+ *x = MistTrialLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialLevelData) ProtoMessage() {}
+
+func (x *MistTrialLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialLevelData.ProtoReflect.Descriptor instead.
+func (*MistTrialLevelData) Descriptor() ([]byte, []int) {
+ return file_MistTrialLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialLevelData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *MistTrialLevelData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *MistTrialLevelData) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_MistTrialLevelData_proto protoreflect.FileDescriptor
+
+var file_MistTrialLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x65, 0x0a, 0x12, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a,
+ 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialLevelData_proto_rawDescOnce sync.Once
+ file_MistTrialLevelData_proto_rawDescData = file_MistTrialLevelData_proto_rawDesc
+)
+
+func file_MistTrialLevelData_proto_rawDescGZIP() []byte {
+ file_MistTrialLevelData_proto_rawDescOnce.Do(func() {
+ file_MistTrialLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialLevelData_proto_rawDescData)
+ })
+ return file_MistTrialLevelData_proto_rawDescData
+}
+
+var file_MistTrialLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialLevelData_proto_goTypes = []interface{}{
+ (*MistTrialLevelData)(nil), // 0: proto.MistTrialLevelData
+}
+var file_MistTrialLevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialLevelData_proto_init() }
+func file_MistTrialLevelData_proto_init() {
+ if File_MistTrialLevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialLevelData_proto_goTypes,
+ DependencyIndexes: file_MistTrialLevelData_proto_depIdxs,
+ MessageInfos: file_MistTrialLevelData_proto_msgTypes,
+ }.Build()
+ File_MistTrialLevelData_proto = out.File
+ file_MistTrialLevelData_proto_rawDesc = nil
+ file_MistTrialLevelData_proto_goTypes = nil
+ file_MistTrialLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialMissionInfo.pb.go b/protocol/proto/MistTrialMissionInfo.pb.go
new file mode 100644
index 00000000..6fcb0190
--- /dev/null
+++ b/protocol/proto/MistTrialMissionInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialMissionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MistTrialMissionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param uint32 `protobuf:"varint,9,opt,name=param,proto3" json:"param,omitempty"`
+ WatcherListId uint32 `protobuf:"varint,13,opt,name=watcher_list_id,json=watcherListId,proto3" json:"watcher_list_id,omitempty"`
+}
+
+func (x *MistTrialMissionInfo) Reset() {
+ *x = MistTrialMissionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialMissionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialMissionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialMissionInfo) ProtoMessage() {}
+
+func (x *MistTrialMissionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialMissionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialMissionInfo.ProtoReflect.Descriptor instead.
+func (*MistTrialMissionInfo) Descriptor() ([]byte, []int) {
+ return file_MistTrialMissionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialMissionInfo) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *MistTrialMissionInfo) GetWatcherListId() uint32 {
+ if x != nil {
+ return x.WatcherListId
+ }
+ return 0
+}
+
+var File_MistTrialMissionInfo_proto protoreflect.FileDescriptor
+
+var file_MistTrialMissionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4d, 0x69, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x14, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x61, 0x74, 0x63,
+ 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialMissionInfo_proto_rawDescOnce sync.Once
+ file_MistTrialMissionInfo_proto_rawDescData = file_MistTrialMissionInfo_proto_rawDesc
+)
+
+func file_MistTrialMissionInfo_proto_rawDescGZIP() []byte {
+ file_MistTrialMissionInfo_proto_rawDescOnce.Do(func() {
+ file_MistTrialMissionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialMissionInfo_proto_rawDescData)
+ })
+ return file_MistTrialMissionInfo_proto_rawDescData
+}
+
+var file_MistTrialMissionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialMissionInfo_proto_goTypes = []interface{}{
+ (*MistTrialMissionInfo)(nil), // 0: proto.MistTrialMissionInfo
+}
+var file_MistTrialMissionInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialMissionInfo_proto_init() }
+func file_MistTrialMissionInfo_proto_init() {
+ if File_MistTrialMissionInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialMissionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialMissionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialMissionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialMissionInfo_proto_goTypes,
+ DependencyIndexes: file_MistTrialMissionInfo_proto_depIdxs,
+ MessageInfos: file_MistTrialMissionInfo_proto_msgTypes,
+ }.Build()
+ File_MistTrialMissionInfo_proto = out.File
+ file_MistTrialMissionInfo_proto_rawDesc = nil
+ file_MistTrialMissionInfo_proto_goTypes = nil
+ file_MistTrialMissionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialSelectAvatarAndEnterDungeonReq.pb.go b/protocol/proto/MistTrialSelectAvatarAndEnterDungeonReq.pb.go
new file mode 100644
index 00000000..1ee01e51
--- /dev/null
+++ b/protocol/proto/MistTrialSelectAvatarAndEnterDungeonReq.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialSelectAvatarAndEnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8666
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MistTrialSelectAvatarAndEnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialId uint32 `protobuf:"varint,4,opt,name=trial_id,json=trialId,proto3" json:"trial_id,omitempty"`
+ SelectTrialAvatarIdList []uint32 `protobuf:"varint,10,rep,packed,name=select_trial_avatar_id_list,json=selectTrialAvatarIdList,proto3" json:"select_trial_avatar_id_list,omitempty"`
+ EnterPointId uint32 `protobuf:"varint,7,opt,name=enter_point_id,json=enterPointId,proto3" json:"enter_point_id,omitempty"`
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonReq) Reset() {
+ *x = MistTrialSelectAvatarAndEnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialSelectAvatarAndEnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialSelectAvatarAndEnterDungeonReq) ProtoMessage() {}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialSelectAvatarAndEnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialSelectAvatarAndEnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*MistTrialSelectAvatarAndEnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonReq) GetTrialId() uint32 {
+ if x != nil {
+ return x.TrialId
+ }
+ return 0
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonReq) GetSelectTrialAvatarIdList() []uint32 {
+ if x != nil {
+ return x.SelectTrialAvatarIdList
+ }
+ return nil
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonReq) GetEnterPointId() uint32 {
+ if x != nil {
+ return x.EnterPointId
+ }
+ return 0
+}
+
+var File_MistTrialSelectAvatarAndEnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x01, 0x0a, 0x27, 0x4d, 0x69, 0x73, 0x74, 0x54,
+ 0x72, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x3c, 0x0a,
+ 0x1b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x17, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x65,
+ 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDescOnce sync.Once
+ file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDescData = file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDesc
+)
+
+func file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDescData)
+ })
+ return file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDescData
+}
+
+var file_MistTrialSelectAvatarAndEnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialSelectAvatarAndEnterDungeonReq_proto_goTypes = []interface{}{
+ (*MistTrialSelectAvatarAndEnterDungeonReq)(nil), // 0: proto.MistTrialSelectAvatarAndEnterDungeonReq
+}
+var file_MistTrialSelectAvatarAndEnterDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialSelectAvatarAndEnterDungeonReq_proto_init() }
+func file_MistTrialSelectAvatarAndEnterDungeonReq_proto_init() {
+ if File_MistTrialSelectAvatarAndEnterDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialSelectAvatarAndEnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialSelectAvatarAndEnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialSelectAvatarAndEnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_MistTrialSelectAvatarAndEnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_MistTrialSelectAvatarAndEnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_MistTrialSelectAvatarAndEnterDungeonReq_proto = out.File
+ file_MistTrialSelectAvatarAndEnterDungeonReq_proto_rawDesc = nil
+ file_MistTrialSelectAvatarAndEnterDungeonReq_proto_goTypes = nil
+ file_MistTrialSelectAvatarAndEnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialSelectAvatarAndEnterDungeonRsp.pb.go b/protocol/proto/MistTrialSelectAvatarAndEnterDungeonRsp.pb.go
new file mode 100644
index 00000000..0e0d2c28
--- /dev/null
+++ b/protocol/proto/MistTrialSelectAvatarAndEnterDungeonRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialSelectAvatarAndEnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8239
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MistTrialSelectAvatarAndEnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialId uint32 `protobuf:"varint,1,opt,name=trial_id,json=trialId,proto3" json:"trial_id,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonRsp) Reset() {
+ *x = MistTrialSelectAvatarAndEnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialSelectAvatarAndEnterDungeonRsp) ProtoMessage() {}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialSelectAvatarAndEnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*MistTrialSelectAvatarAndEnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonRsp) GetTrialId() uint32 {
+ if x != nil {
+ return x.TrialId
+ }
+ return 0
+}
+
+func (x *MistTrialSelectAvatarAndEnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MistTrialSelectAvatarAndEnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x27, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72,
+ 0x69, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41,
+ 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDescData = file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDesc
+)
+
+func file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDescData)
+ })
+ return file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDescData
+}
+
+var file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_goTypes = []interface{}{
+ (*MistTrialSelectAvatarAndEnterDungeonRsp)(nil), // 0: proto.MistTrialSelectAvatarAndEnterDungeonRsp
+}
+var file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_init() }
+func file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_init() {
+ if File_MistTrialSelectAvatarAndEnterDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialSelectAvatarAndEnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_MistTrialSelectAvatarAndEnterDungeonRsp_proto = out.File
+ file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_rawDesc = nil
+ file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_goTypes = nil
+ file_MistTrialSelectAvatarAndEnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MistTrialSettleNotify.pb.go b/protocol/proto/MistTrialSettleNotify.pb.go
new file mode 100644
index 00000000..f0218666
--- /dev/null
+++ b/protocol/proto/MistTrialSettleNotify.pb.go
@@ -0,0 +1,210 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MistTrialSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8373
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MistTrialSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExhibitionListDataRecordMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=exhibition_list_data_record_map,json=exhibitionListDataRecordMap,proto3" json:"exhibition_list_data_record_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ExhibitionListDataResultMap map[uint32]uint32 `protobuf:"bytes,14,rep,name=exhibition_list_data_result_map,json=exhibitionListDataResultMap,proto3" json:"exhibition_list_data_result_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ DungeonId uint32 `protobuf:"varint,5,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *MistTrialSettleNotify) Reset() {
+ *x = MistTrialSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MistTrialSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MistTrialSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MistTrialSettleNotify) ProtoMessage() {}
+
+func (x *MistTrialSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MistTrialSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MistTrialSettleNotify.ProtoReflect.Descriptor instead.
+func (*MistTrialSettleNotify) Descriptor() ([]byte, []int) {
+ return file_MistTrialSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MistTrialSettleNotify) GetExhibitionListDataRecordMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ExhibitionListDataRecordMap
+ }
+ return nil
+}
+
+func (x *MistTrialSettleNotify) GetExhibitionListDataResultMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ExhibitionListDataResultMap
+ }
+ return nil
+}
+
+func (x *MistTrialSettleNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_MistTrialSettleNotify_proto protoreflect.FileDescriptor
+
+var file_MistTrialSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x03, 0x0a, 0x15, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69,
+ 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x83,
+ 0x01, 0x0a, 0x1f, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x4d, 0x61, 0x70, 0x12, 0x83, 0x01, 0x0a, 0x1f, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x69, 0x73, 0x74, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x45, 0x78, 0x68,
+ 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b, 0x65,
+ 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x4e, 0x0a, 0x20, 0x45, 0x78, 0x68,
+ 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4e, 0x0a, 0x20, 0x45, 0x78, 0x68,
+ 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MistTrialSettleNotify_proto_rawDescOnce sync.Once
+ file_MistTrialSettleNotify_proto_rawDescData = file_MistTrialSettleNotify_proto_rawDesc
+)
+
+func file_MistTrialSettleNotify_proto_rawDescGZIP() []byte {
+ file_MistTrialSettleNotify_proto_rawDescOnce.Do(func() {
+ file_MistTrialSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MistTrialSettleNotify_proto_rawDescData)
+ })
+ return file_MistTrialSettleNotify_proto_rawDescData
+}
+
+var file_MistTrialSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_MistTrialSettleNotify_proto_goTypes = []interface{}{
+ (*MistTrialSettleNotify)(nil), // 0: proto.MistTrialSettleNotify
+ nil, // 1: proto.MistTrialSettleNotify.ExhibitionListDataRecordMapEntry
+ nil, // 2: proto.MistTrialSettleNotify.ExhibitionListDataResultMapEntry
+}
+var file_MistTrialSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MistTrialSettleNotify.exhibition_list_data_record_map:type_name -> proto.MistTrialSettleNotify.ExhibitionListDataRecordMapEntry
+ 2, // 1: proto.MistTrialSettleNotify.exhibition_list_data_result_map:type_name -> proto.MistTrialSettleNotify.ExhibitionListDataResultMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_MistTrialSettleNotify_proto_init() }
+func file_MistTrialSettleNotify_proto_init() {
+ if File_MistTrialSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MistTrialSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MistTrialSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MistTrialSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MistTrialSettleNotify_proto_goTypes,
+ DependencyIndexes: file_MistTrialSettleNotify_proto_depIdxs,
+ MessageInfos: file_MistTrialSettleNotify_proto_msgTypes,
+ }.Build()
+ File_MistTrialSettleNotify_proto = out.File
+ file_MistTrialSettleNotify_proto_rawDesc = nil
+ file_MistTrialSettleNotify_proto_goTypes = nil
+ file_MistTrialSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ModifierAction.pb.go b/protocol/proto/ModifierAction.pb.go
new file mode 100644
index 00000000..b94e5ae8
--- /dev/null
+++ b/protocol/proto/ModifierAction.pb.go
@@ -0,0 +1,145 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ModifierAction.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ModifierAction int32
+
+const (
+ ModifierAction_MODIFIER_ACTION_ADDED ModifierAction = 0
+ ModifierAction_MODIFIER_ACTION_REMOVED ModifierAction = 1
+)
+
+// Enum value maps for ModifierAction.
+var (
+ ModifierAction_name = map[int32]string{
+ 0: "MODIFIER_ACTION_ADDED",
+ 1: "MODIFIER_ACTION_REMOVED",
+ }
+ ModifierAction_value = map[string]int32{
+ "MODIFIER_ACTION_ADDED": 0,
+ "MODIFIER_ACTION_REMOVED": 1,
+ }
+)
+
+func (x ModifierAction) Enum() *ModifierAction {
+ p := new(ModifierAction)
+ *p = x
+ return p
+}
+
+func (x ModifierAction) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ModifierAction) Descriptor() protoreflect.EnumDescriptor {
+ return file_ModifierAction_proto_enumTypes[0].Descriptor()
+}
+
+func (ModifierAction) Type() protoreflect.EnumType {
+ return &file_ModifierAction_proto_enumTypes[0]
+}
+
+func (x ModifierAction) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ModifierAction.Descriptor instead.
+func (ModifierAction) EnumDescriptor() ([]byte, []int) {
+ return file_ModifierAction_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ModifierAction_proto protoreflect.FileDescriptor
+
+var file_ModifierAction_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x48, 0x0a,
+ 0x0e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x19, 0x0a, 0x15, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x4f,
+ 0x44, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45,
+ 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ModifierAction_proto_rawDescOnce sync.Once
+ file_ModifierAction_proto_rawDescData = file_ModifierAction_proto_rawDesc
+)
+
+func file_ModifierAction_proto_rawDescGZIP() []byte {
+ file_ModifierAction_proto_rawDescOnce.Do(func() {
+ file_ModifierAction_proto_rawDescData = protoimpl.X.CompressGZIP(file_ModifierAction_proto_rawDescData)
+ })
+ return file_ModifierAction_proto_rawDescData
+}
+
+var file_ModifierAction_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ModifierAction_proto_goTypes = []interface{}{
+ (ModifierAction)(0), // 0: proto.ModifierAction
+}
+var file_ModifierAction_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ModifierAction_proto_init() }
+func file_ModifierAction_proto_init() {
+ if File_ModifierAction_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ModifierAction_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ModifierAction_proto_goTypes,
+ DependencyIndexes: file_ModifierAction_proto_depIdxs,
+ EnumInfos: file_ModifierAction_proto_enumTypes,
+ }.Build()
+ File_ModifierAction_proto = out.File
+ file_ModifierAction_proto_rawDesc = nil
+ file_ModifierAction_proto_goTypes = nil
+ file_ModifierAction_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ModifierDurability.pb.go b/protocol/proto/ModifierDurability.pb.go
new file mode 100644
index 00000000..9e82199a
--- /dev/null
+++ b/protocol/proto/ModifierDurability.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ModifierDurability.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ModifierDurability struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReduceRatio float32 `protobuf:"fixed32,1,opt,name=reduce_ratio,json=reduceRatio,proto3" json:"reduce_ratio,omitempty"`
+ RemainingDurability float32 `protobuf:"fixed32,2,opt,name=remaining_durability,json=remainingDurability,proto3" json:"remaining_durability,omitempty"`
+}
+
+func (x *ModifierDurability) Reset() {
+ *x = ModifierDurability{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ModifierDurability_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ModifierDurability) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ModifierDurability) ProtoMessage() {}
+
+func (x *ModifierDurability) ProtoReflect() protoreflect.Message {
+ mi := &file_ModifierDurability_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ModifierDurability.ProtoReflect.Descriptor instead.
+func (*ModifierDurability) Descriptor() ([]byte, []int) {
+ return file_ModifierDurability_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ModifierDurability) GetReduceRatio() float32 {
+ if x != nil {
+ return x.ReduceRatio
+ }
+ return 0
+}
+
+func (x *ModifierDurability) GetRemainingDurability() float32 {
+ if x != nil {
+ return x.RemainingDurability
+ }
+ return 0
+}
+
+var File_ModifierDurability_proto protoreflect.FileDescriptor
+
+var file_ModifierDurability_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6a, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x44, 0x75, 0x72,
+ 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x75, 0x63,
+ 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x72,
+ 0x65, 0x64, 0x75, 0x63, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65,
+ 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
+ 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ModifierDurability_proto_rawDescOnce sync.Once
+ file_ModifierDurability_proto_rawDescData = file_ModifierDurability_proto_rawDesc
+)
+
+func file_ModifierDurability_proto_rawDescGZIP() []byte {
+ file_ModifierDurability_proto_rawDescOnce.Do(func() {
+ file_ModifierDurability_proto_rawDescData = protoimpl.X.CompressGZIP(file_ModifierDurability_proto_rawDescData)
+ })
+ return file_ModifierDurability_proto_rawDescData
+}
+
+var file_ModifierDurability_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ModifierDurability_proto_goTypes = []interface{}{
+ (*ModifierDurability)(nil), // 0: proto.ModifierDurability
+}
+var file_ModifierDurability_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ModifierDurability_proto_init() }
+func file_ModifierDurability_proto_init() {
+ if File_ModifierDurability_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ModifierDurability_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ModifierDurability); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ModifierDurability_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ModifierDurability_proto_goTypes,
+ DependencyIndexes: file_ModifierDurability_proto_depIdxs,
+ MessageInfos: file_ModifierDurability_proto_msgTypes,
+ }.Build()
+ File_ModifierDurability_proto = out.File
+ file_ModifierDurability_proto_rawDesc = nil
+ file_ModifierDurability_proto_goTypes = nil
+ file_ModifierDurability_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ModifierProperty.pb.go b/protocol/proto/ModifierProperty.pb.go
new file mode 100644
index 00000000..c7e1cd57
--- /dev/null
+++ b/protocol/proto/ModifierProperty.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ModifierProperty.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ModifierProperty struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Key *AbilityString `protobuf:"bytes,15,opt,name=key,proto3" json:"key,omitempty"`
+ Value float32 `protobuf:"fixed32,5,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *ModifierProperty) Reset() {
+ *x = ModifierProperty{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ModifierProperty_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ModifierProperty) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ModifierProperty) ProtoMessage() {}
+
+func (x *ModifierProperty) ProtoReflect() protoreflect.Message {
+ mi := &file_ModifierProperty_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ModifierProperty.ProtoReflect.Descriptor instead.
+func (*ModifierProperty) Descriptor() ([]byte, []int) {
+ return file_ModifierProperty_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ModifierProperty) GetKey() *AbilityString {
+ if x != nil {
+ return x.Key
+ }
+ return nil
+}
+
+func (x *ModifierProperty) GetValue() float32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+var File_ModifierProperty_proto protoreflect.FileDescriptor
+
+var file_ModifierProperty_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
+ 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72,
+ 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ModifierProperty_proto_rawDescOnce sync.Once
+ file_ModifierProperty_proto_rawDescData = file_ModifierProperty_proto_rawDesc
+)
+
+func file_ModifierProperty_proto_rawDescGZIP() []byte {
+ file_ModifierProperty_proto_rawDescOnce.Do(func() {
+ file_ModifierProperty_proto_rawDescData = protoimpl.X.CompressGZIP(file_ModifierProperty_proto_rawDescData)
+ })
+ return file_ModifierProperty_proto_rawDescData
+}
+
+var file_ModifierProperty_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ModifierProperty_proto_goTypes = []interface{}{
+ (*ModifierProperty)(nil), // 0: proto.ModifierProperty
+ (*AbilityString)(nil), // 1: proto.AbilityString
+}
+var file_ModifierProperty_proto_depIdxs = []int32{
+ 1, // 0: proto.ModifierProperty.key:type_name -> proto.AbilityString
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ModifierProperty_proto_init() }
+func file_ModifierProperty_proto_init() {
+ if File_ModifierProperty_proto != nil {
+ return
+ }
+ file_AbilityString_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ModifierProperty_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ModifierProperty); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ModifierProperty_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ModifierProperty_proto_goTypes,
+ DependencyIndexes: file_ModifierProperty_proto_depIdxs,
+ MessageInfos: file_ModifierProperty_proto_msgTypes,
+ }.Build()
+ File_ModifierProperty_proto = out.File
+ file_ModifierProperty_proto_rawDesc = nil
+ file_ModifierProperty_proto_goTypes = nil
+ file_ModifierProperty_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MonsterAIConfigHashNotify.pb.go b/protocol/proto/MonsterAIConfigHashNotify.pb.go
new file mode 100644
index 00000000..a15ccbb0
--- /dev/null
+++ b/protocol/proto/MonsterAIConfigHashNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MonsterAIConfigHashNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3039
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MonsterAIConfigHashNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ JobId uint32 `protobuf:"varint,10,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ HashValue int32 `protobuf:"varint,11,opt,name=hash_value,json=hashValue,proto3" json:"hash_value,omitempty"`
+}
+
+func (x *MonsterAIConfigHashNotify) Reset() {
+ *x = MonsterAIConfigHashNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MonsterAIConfigHashNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MonsterAIConfigHashNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MonsterAIConfigHashNotify) ProtoMessage() {}
+
+func (x *MonsterAIConfigHashNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MonsterAIConfigHashNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MonsterAIConfigHashNotify.ProtoReflect.Descriptor instead.
+func (*MonsterAIConfigHashNotify) Descriptor() ([]byte, []int) {
+ return file_MonsterAIConfigHashNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MonsterAIConfigHashNotify) GetJobId() uint32 {
+ if x != nil {
+ return x.JobId
+ }
+ return 0
+}
+
+func (x *MonsterAIConfigHashNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *MonsterAIConfigHashNotify) GetHashValue() int32 {
+ if x != nil {
+ return x.HashValue
+ }
+ return 0
+}
+
+var File_MonsterAIConfigHashNotify_proto protoreflect.FileDescriptor
+
+var file_MonsterAIConfigHashNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x41, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x48, 0x61, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x19, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x41, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73,
+ 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x68,
+ 0x61, 0x73, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MonsterAIConfigHashNotify_proto_rawDescOnce sync.Once
+ file_MonsterAIConfigHashNotify_proto_rawDescData = file_MonsterAIConfigHashNotify_proto_rawDesc
+)
+
+func file_MonsterAIConfigHashNotify_proto_rawDescGZIP() []byte {
+ file_MonsterAIConfigHashNotify_proto_rawDescOnce.Do(func() {
+ file_MonsterAIConfigHashNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonsterAIConfigHashNotify_proto_rawDescData)
+ })
+ return file_MonsterAIConfigHashNotify_proto_rawDescData
+}
+
+var file_MonsterAIConfigHashNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MonsterAIConfigHashNotify_proto_goTypes = []interface{}{
+ (*MonsterAIConfigHashNotify)(nil), // 0: proto.MonsterAIConfigHashNotify
+}
+var file_MonsterAIConfigHashNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MonsterAIConfigHashNotify_proto_init() }
+func file_MonsterAIConfigHashNotify_proto_init() {
+ if File_MonsterAIConfigHashNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MonsterAIConfigHashNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MonsterAIConfigHashNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MonsterAIConfigHashNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MonsterAIConfigHashNotify_proto_goTypes,
+ DependencyIndexes: file_MonsterAIConfigHashNotify_proto_depIdxs,
+ MessageInfos: file_MonsterAIConfigHashNotify_proto_msgTypes,
+ }.Build()
+ File_MonsterAIConfigHashNotify_proto = out.File
+ file_MonsterAIConfigHashNotify_proto_rawDesc = nil
+ file_MonsterAIConfigHashNotify_proto_goTypes = nil
+ file_MonsterAIConfigHashNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MonsterAlertChangeNotify.pb.go b/protocol/proto/MonsterAlertChangeNotify.pb.go
new file mode 100644
index 00000000..ce8bc5d2
--- /dev/null
+++ b/protocol/proto/MonsterAlertChangeNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MonsterAlertChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 363
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MonsterAlertChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarEntityId uint32 `protobuf:"varint,15,opt,name=avatar_entity_id,json=avatarEntityId,proto3" json:"avatar_entity_id,omitempty"`
+ MonsterEntityList []uint32 `protobuf:"varint,5,rep,packed,name=monster_entity_list,json=monsterEntityList,proto3" json:"monster_entity_list,omitempty"`
+ IsAlert uint32 `protobuf:"varint,13,opt,name=is_alert,json=isAlert,proto3" json:"is_alert,omitempty"`
+}
+
+func (x *MonsterAlertChangeNotify) Reset() {
+ *x = MonsterAlertChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MonsterAlertChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MonsterAlertChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MonsterAlertChangeNotify) ProtoMessage() {}
+
+func (x *MonsterAlertChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MonsterAlertChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MonsterAlertChangeNotify.ProtoReflect.Descriptor instead.
+func (*MonsterAlertChangeNotify) Descriptor() ([]byte, []int) {
+ return file_MonsterAlertChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MonsterAlertChangeNotify) GetAvatarEntityId() uint32 {
+ if x != nil {
+ return x.AvatarEntityId
+ }
+ return 0
+}
+
+func (x *MonsterAlertChangeNotify) GetMonsterEntityList() []uint32 {
+ if x != nil {
+ return x.MonsterEntityList
+ }
+ return nil
+}
+
+func (x *MonsterAlertChangeNotify) GetIsAlert() uint32 {
+ if x != nil {
+ return x.IsAlert
+ }
+ return 0
+}
+
+var File_MonsterAlertChangeNotify_proto protoreflect.FileDescriptor
+
+var file_MonsterAlertChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2e,
+ 0x0a, 0x13, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x6d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19,
+ 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x69, 0x73, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MonsterAlertChangeNotify_proto_rawDescOnce sync.Once
+ file_MonsterAlertChangeNotify_proto_rawDescData = file_MonsterAlertChangeNotify_proto_rawDesc
+)
+
+func file_MonsterAlertChangeNotify_proto_rawDescGZIP() []byte {
+ file_MonsterAlertChangeNotify_proto_rawDescOnce.Do(func() {
+ file_MonsterAlertChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonsterAlertChangeNotify_proto_rawDescData)
+ })
+ return file_MonsterAlertChangeNotify_proto_rawDescData
+}
+
+var file_MonsterAlertChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MonsterAlertChangeNotify_proto_goTypes = []interface{}{
+ (*MonsterAlertChangeNotify)(nil), // 0: proto.MonsterAlertChangeNotify
+}
+var file_MonsterAlertChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MonsterAlertChangeNotify_proto_init() }
+func file_MonsterAlertChangeNotify_proto_init() {
+ if File_MonsterAlertChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MonsterAlertChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MonsterAlertChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MonsterAlertChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MonsterAlertChangeNotify_proto_goTypes,
+ DependencyIndexes: file_MonsterAlertChangeNotify_proto_depIdxs,
+ MessageInfos: file_MonsterAlertChangeNotify_proto_msgTypes,
+ }.Build()
+ File_MonsterAlertChangeNotify_proto = out.File
+ file_MonsterAlertChangeNotify_proto_rawDesc = nil
+ file_MonsterAlertChangeNotify_proto_goTypes = nil
+ file_MonsterAlertChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MonsterBornType.pb.go b/protocol/proto/MonsterBornType.pb.go
new file mode 100644
index 00000000..c6abff51
--- /dev/null
+++ b/protocol/proto/MonsterBornType.pb.go
@@ -0,0 +1,150 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MonsterBornType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MonsterBornType int32
+
+const (
+ MonsterBornType_MONSTER_BORN_TYPE_NONE MonsterBornType = 0
+ MonsterBornType_MONSTER_BORN_TYPE_DEFAULT MonsterBornType = 1
+ MonsterBornType_MONSTER_BORN_TYPE_RANDOM MonsterBornType = 2
+)
+
+// Enum value maps for MonsterBornType.
+var (
+ MonsterBornType_name = map[int32]string{
+ 0: "MONSTER_BORN_TYPE_NONE",
+ 1: "MONSTER_BORN_TYPE_DEFAULT",
+ 2: "MONSTER_BORN_TYPE_RANDOM",
+ }
+ MonsterBornType_value = map[string]int32{
+ "MONSTER_BORN_TYPE_NONE": 0,
+ "MONSTER_BORN_TYPE_DEFAULT": 1,
+ "MONSTER_BORN_TYPE_RANDOM": 2,
+ }
+)
+
+func (x MonsterBornType) Enum() *MonsterBornType {
+ p := new(MonsterBornType)
+ *p = x
+ return p
+}
+
+func (x MonsterBornType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MonsterBornType) Descriptor() protoreflect.EnumDescriptor {
+ return file_MonsterBornType_proto_enumTypes[0].Descriptor()
+}
+
+func (MonsterBornType) Type() protoreflect.EnumType {
+ return &file_MonsterBornType_proto_enumTypes[0]
+}
+
+func (x MonsterBornType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MonsterBornType.Descriptor instead.
+func (MonsterBornType) EnumDescriptor() ([]byte, []int) {
+ return file_MonsterBornType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MonsterBornType_proto protoreflect.FileDescriptor
+
+var file_MonsterBornType_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x6a,
+ 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x52,
+ 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a,
+ 0x19, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18,
+ 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MonsterBornType_proto_rawDescOnce sync.Once
+ file_MonsterBornType_proto_rawDescData = file_MonsterBornType_proto_rawDesc
+)
+
+func file_MonsterBornType_proto_rawDescGZIP() []byte {
+ file_MonsterBornType_proto_rawDescOnce.Do(func() {
+ file_MonsterBornType_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonsterBornType_proto_rawDescData)
+ })
+ return file_MonsterBornType_proto_rawDescData
+}
+
+var file_MonsterBornType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MonsterBornType_proto_goTypes = []interface{}{
+ (MonsterBornType)(0), // 0: proto.MonsterBornType
+}
+var file_MonsterBornType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MonsterBornType_proto_init() }
+func file_MonsterBornType_proto_init() {
+ if File_MonsterBornType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MonsterBornType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MonsterBornType_proto_goTypes,
+ DependencyIndexes: file_MonsterBornType_proto_depIdxs,
+ EnumInfos: file_MonsterBornType_proto_enumTypes,
+ }.Build()
+ File_MonsterBornType_proto = out.File
+ file_MonsterBornType_proto_rawDesc = nil
+ file_MonsterBornType_proto_goTypes = nil
+ file_MonsterBornType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MonsterForceAlertNotify.pb.go b/protocol/proto/MonsterForceAlertNotify.pb.go
new file mode 100644
index 00000000..76222b44
--- /dev/null
+++ b/protocol/proto/MonsterForceAlertNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MonsterForceAlertNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 395
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MonsterForceAlertNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterEntityId uint32 `protobuf:"varint,13,opt,name=monster_entity_id,json=monsterEntityId,proto3" json:"monster_entity_id,omitempty"`
+}
+
+func (x *MonsterForceAlertNotify) Reset() {
+ *x = MonsterForceAlertNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MonsterForceAlertNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MonsterForceAlertNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MonsterForceAlertNotify) ProtoMessage() {}
+
+func (x *MonsterForceAlertNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MonsterForceAlertNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MonsterForceAlertNotify.ProtoReflect.Descriptor instead.
+func (*MonsterForceAlertNotify) Descriptor() ([]byte, []int) {
+ return file_MonsterForceAlertNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MonsterForceAlertNotify) GetMonsterEntityId() uint32 {
+ if x != nil {
+ return x.MonsterEntityId
+ }
+ return 0
+}
+
+var File_MonsterForceAlertNotify_proto protoreflect.FileDescriptor
+
+var file_MonsterForceAlertNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x6c,
+ 0x65, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x17, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MonsterForceAlertNotify_proto_rawDescOnce sync.Once
+ file_MonsterForceAlertNotify_proto_rawDescData = file_MonsterForceAlertNotify_proto_rawDesc
+)
+
+func file_MonsterForceAlertNotify_proto_rawDescGZIP() []byte {
+ file_MonsterForceAlertNotify_proto_rawDescOnce.Do(func() {
+ file_MonsterForceAlertNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonsterForceAlertNotify_proto_rawDescData)
+ })
+ return file_MonsterForceAlertNotify_proto_rawDescData
+}
+
+var file_MonsterForceAlertNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MonsterForceAlertNotify_proto_goTypes = []interface{}{
+ (*MonsterForceAlertNotify)(nil), // 0: proto.MonsterForceAlertNotify
+}
+var file_MonsterForceAlertNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MonsterForceAlertNotify_proto_init() }
+func file_MonsterForceAlertNotify_proto_init() {
+ if File_MonsterForceAlertNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MonsterForceAlertNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MonsterForceAlertNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MonsterForceAlertNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MonsterForceAlertNotify_proto_goTypes,
+ DependencyIndexes: file_MonsterForceAlertNotify_proto_depIdxs,
+ MessageInfos: file_MonsterForceAlertNotify_proto_msgTypes,
+ }.Build()
+ File_MonsterForceAlertNotify_proto = out.File
+ file_MonsterForceAlertNotify_proto_rawDesc = nil
+ file_MonsterForceAlertNotify_proto_goTypes = nil
+ file_MonsterForceAlertNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MonsterPointArrayRouteUpdateNotify.pb.go b/protocol/proto/MonsterPointArrayRouteUpdateNotify.pb.go
new file mode 100644
index 00000000..ca19b431
--- /dev/null
+++ b/protocol/proto/MonsterPointArrayRouteUpdateNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MonsterPointArrayRouteUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3410
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MonsterPointArrayRouteUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ MonsterRoute *MonsterRoute `protobuf:"bytes,5,opt,name=monster_route,json=monsterRoute,proto3" json:"monster_route,omitempty"`
+}
+
+func (x *MonsterPointArrayRouteUpdateNotify) Reset() {
+ *x = MonsterPointArrayRouteUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MonsterPointArrayRouteUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MonsterPointArrayRouteUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MonsterPointArrayRouteUpdateNotify) ProtoMessage() {}
+
+func (x *MonsterPointArrayRouteUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MonsterPointArrayRouteUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MonsterPointArrayRouteUpdateNotify.ProtoReflect.Descriptor instead.
+func (*MonsterPointArrayRouteUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_MonsterPointArrayRouteUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MonsterPointArrayRouteUpdateNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *MonsterPointArrayRouteUpdateNotify) GetMonsterRoute() *MonsterRoute {
+ if x != nil {
+ return x.MonsterRoute
+ }
+ return nil
+}
+
+var File_MonsterPointArrayRouteUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_MonsterPointArrayRouteUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x72,
+ 0x72, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x12, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x22, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52,
+ 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MonsterPointArrayRouteUpdateNotify_proto_rawDescOnce sync.Once
+ file_MonsterPointArrayRouteUpdateNotify_proto_rawDescData = file_MonsterPointArrayRouteUpdateNotify_proto_rawDesc
+)
+
+func file_MonsterPointArrayRouteUpdateNotify_proto_rawDescGZIP() []byte {
+ file_MonsterPointArrayRouteUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_MonsterPointArrayRouteUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonsterPointArrayRouteUpdateNotify_proto_rawDescData)
+ })
+ return file_MonsterPointArrayRouteUpdateNotify_proto_rawDescData
+}
+
+var file_MonsterPointArrayRouteUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MonsterPointArrayRouteUpdateNotify_proto_goTypes = []interface{}{
+ (*MonsterPointArrayRouteUpdateNotify)(nil), // 0: proto.MonsterPointArrayRouteUpdateNotify
+ (*MonsterRoute)(nil), // 1: proto.MonsterRoute
+}
+var file_MonsterPointArrayRouteUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MonsterPointArrayRouteUpdateNotify.monster_route:type_name -> proto.MonsterRoute
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MonsterPointArrayRouteUpdateNotify_proto_init() }
+func file_MonsterPointArrayRouteUpdateNotify_proto_init() {
+ if File_MonsterPointArrayRouteUpdateNotify_proto != nil {
+ return
+ }
+ file_MonsterRoute_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MonsterPointArrayRouteUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MonsterPointArrayRouteUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MonsterPointArrayRouteUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MonsterPointArrayRouteUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_MonsterPointArrayRouteUpdateNotify_proto_depIdxs,
+ MessageInfos: file_MonsterPointArrayRouteUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_MonsterPointArrayRouteUpdateNotify_proto = out.File
+ file_MonsterPointArrayRouteUpdateNotify_proto_rawDesc = nil
+ file_MonsterPointArrayRouteUpdateNotify_proto_goTypes = nil
+ file_MonsterPointArrayRouteUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MonsterRoute.pb.go b/protocol/proto/MonsterRoute.pb.go
new file mode 100644
index 00000000..5e264c70
--- /dev/null
+++ b/protocol/proto/MonsterRoute.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MonsterRoute.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MonsterRoute struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoutePoints []*RoutePoint `protobuf:"bytes,1,rep,name=route_points,json=routePoints,proto3" json:"route_points,omitempty"`
+ SpeedLevel uint32 `protobuf:"varint,2,opt,name=speed_level,json=speedLevel,proto3" json:"speed_level,omitempty"`
+ RouteType uint32 `protobuf:"varint,3,opt,name=route_type,json=routeType,proto3" json:"route_type,omitempty"`
+ ArriveRange float32 `protobuf:"fixed32,4,opt,name=arrive_range,json=arriveRange,proto3" json:"arrive_range,omitempty"`
+}
+
+func (x *MonsterRoute) Reset() {
+ *x = MonsterRoute{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MonsterRoute_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MonsterRoute) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MonsterRoute) ProtoMessage() {}
+
+func (x *MonsterRoute) ProtoReflect() protoreflect.Message {
+ mi := &file_MonsterRoute_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MonsterRoute.ProtoReflect.Descriptor instead.
+func (*MonsterRoute) Descriptor() ([]byte, []int) {
+ return file_MonsterRoute_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MonsterRoute) GetRoutePoints() []*RoutePoint {
+ if x != nil {
+ return x.RoutePoints
+ }
+ return nil
+}
+
+func (x *MonsterRoute) GetSpeedLevel() uint32 {
+ if x != nil {
+ return x.SpeedLevel
+ }
+ return 0
+}
+
+func (x *MonsterRoute) GetRouteType() uint32 {
+ if x != nil {
+ return x.RouteType
+ }
+ return 0
+}
+
+func (x *MonsterRoute) GetArriveRange() float32 {
+ if x != nil {
+ return x.ArriveRange
+ }
+ return 0
+}
+
+var File_MonsterRoute_proto protoreflect.FileDescriptor
+
+var file_MonsterRoute_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x01,
+ 0x0a, 0x0c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x34,
+ 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x5f, 0x72,
+ 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x69,
+ 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MonsterRoute_proto_rawDescOnce sync.Once
+ file_MonsterRoute_proto_rawDescData = file_MonsterRoute_proto_rawDesc
+)
+
+func file_MonsterRoute_proto_rawDescGZIP() []byte {
+ file_MonsterRoute_proto_rawDescOnce.Do(func() {
+ file_MonsterRoute_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonsterRoute_proto_rawDescData)
+ })
+ return file_MonsterRoute_proto_rawDescData
+}
+
+var file_MonsterRoute_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MonsterRoute_proto_goTypes = []interface{}{
+ (*MonsterRoute)(nil), // 0: proto.MonsterRoute
+ (*RoutePoint)(nil), // 1: proto.RoutePoint
+}
+var file_MonsterRoute_proto_depIdxs = []int32{
+ 1, // 0: proto.MonsterRoute.route_points:type_name -> proto.RoutePoint
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MonsterRoute_proto_init() }
+func file_MonsterRoute_proto_init() {
+ if File_MonsterRoute_proto != nil {
+ return
+ }
+ file_RoutePoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MonsterRoute_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MonsterRoute); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MonsterRoute_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MonsterRoute_proto_goTypes,
+ DependencyIndexes: file_MonsterRoute_proto_depIdxs,
+ MessageInfos: file_MonsterRoute_proto_msgTypes,
+ }.Build()
+ File_MonsterRoute_proto = out.File
+ file_MonsterRoute_proto_rawDesc = nil
+ file_MonsterRoute_proto_goTypes = nil
+ file_MonsterRoute_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MonsterSummonTagNotify.pb.go b/protocol/proto/MonsterSummonTagNotify.pb.go
new file mode 100644
index 00000000..81460761
--- /dev/null
+++ b/protocol/proto/MonsterSummonTagNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MonsterSummonTagNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1372
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MonsterSummonTagNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SummonTagMap map[uint32]uint32 `protobuf:"bytes,1,rep,name=summon_tag_map,json=summonTagMap,proto3" json:"summon_tag_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ MonsterEntityId uint32 `protobuf:"varint,8,opt,name=monster_entity_id,json=monsterEntityId,proto3" json:"monster_entity_id,omitempty"`
+}
+
+func (x *MonsterSummonTagNotify) Reset() {
+ *x = MonsterSummonTagNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MonsterSummonTagNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MonsterSummonTagNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MonsterSummonTagNotify) ProtoMessage() {}
+
+func (x *MonsterSummonTagNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MonsterSummonTagNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MonsterSummonTagNotify.ProtoReflect.Descriptor instead.
+func (*MonsterSummonTagNotify) Descriptor() ([]byte, []int) {
+ return file_MonsterSummonTagNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MonsterSummonTagNotify) GetSummonTagMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SummonTagMap
+ }
+ return nil
+}
+
+func (x *MonsterSummonTagNotify) GetMonsterEntityId() uint32 {
+ if x != nil {
+ return x.MonsterEntityId
+ }
+ return 0
+}
+
+var File_MonsterSummonTagNotify_proto protoreflect.FileDescriptor
+
+var file_MonsterSummonTagNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x54,
+ 0x61, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x01, 0x0a, 0x16, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61,
+ 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61,
+ 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x75, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x54, 0x61, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x67,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MonsterSummonTagNotify_proto_rawDescOnce sync.Once
+ file_MonsterSummonTagNotify_proto_rawDescData = file_MonsterSummonTagNotify_proto_rawDesc
+)
+
+func file_MonsterSummonTagNotify_proto_rawDescGZIP() []byte {
+ file_MonsterSummonTagNotify_proto_rawDescOnce.Do(func() {
+ file_MonsterSummonTagNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MonsterSummonTagNotify_proto_rawDescData)
+ })
+ return file_MonsterSummonTagNotify_proto_rawDescData
+}
+
+var file_MonsterSummonTagNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_MonsterSummonTagNotify_proto_goTypes = []interface{}{
+ (*MonsterSummonTagNotify)(nil), // 0: proto.MonsterSummonTagNotify
+ nil, // 1: proto.MonsterSummonTagNotify.SummonTagMapEntry
+}
+var file_MonsterSummonTagNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MonsterSummonTagNotify.summon_tag_map:type_name -> proto.MonsterSummonTagNotify.SummonTagMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MonsterSummonTagNotify_proto_init() }
+func file_MonsterSummonTagNotify_proto_init() {
+ if File_MonsterSummonTagNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MonsterSummonTagNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MonsterSummonTagNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MonsterSummonTagNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MonsterSummonTagNotify_proto_goTypes,
+ DependencyIndexes: file_MonsterSummonTagNotify_proto_depIdxs,
+ MessageInfos: file_MonsterSummonTagNotify_proto_msgTypes,
+ }.Build()
+ File_MonsterSummonTagNotify_proto = out.File
+ file_MonsterSummonTagNotify_proto_rawDesc = nil
+ file_MonsterSummonTagNotify_proto_goTypes = nil
+ file_MonsterSummonTagNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MoonfinTrialActivityDetailInfo.pb.go b/protocol/proto/MoonfinTrialActivityDetailInfo.pb.go
new file mode 100644
index 00000000..da2672f9
--- /dev/null
+++ b/protocol/proto/MoonfinTrialActivityDetailInfo.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MoonfinTrialActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MoonfinTrialActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelInfoMap map[uint32]*MoonfinTrialLevelInfo `protobuf:"bytes,5,rep,name=level_info_map,json=levelInfoMap,proto3" json:"level_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ SpecialFishCount uint32 `protobuf:"varint,11,opt,name=special_fish_count,json=specialFishCount,proto3" json:"special_fish_count,omitempty"`
+}
+
+func (x *MoonfinTrialActivityDetailInfo) Reset() {
+ *x = MoonfinTrialActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MoonfinTrialActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MoonfinTrialActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MoonfinTrialActivityDetailInfo) ProtoMessage() {}
+
+func (x *MoonfinTrialActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MoonfinTrialActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MoonfinTrialActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*MoonfinTrialActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_MoonfinTrialActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MoonfinTrialActivityDetailInfo) GetLevelInfoMap() map[uint32]*MoonfinTrialLevelInfo {
+ if x != nil {
+ return x.LevelInfoMap
+ }
+ return nil
+}
+
+func (x *MoonfinTrialActivityDetailInfo) GetSpecialFishCount() uint32 {
+ if x != nil {
+ return x.SpecialFishCount
+ }
+ return 0
+}
+
+var File_MoonfinTrialActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_MoonfinTrialActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x4d,
+ 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x02, 0x0a, 0x1e, 0x4d,
+ 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a,
+ 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f,
+ 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x2c, 0x0a, 0x12,
+ 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61,
+ 0x6c, 0x46, 0x69, 0x73, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x5d, 0x0a, 0x11, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e,
+ 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MoonfinTrialActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_MoonfinTrialActivityDetailInfo_proto_rawDescData = file_MoonfinTrialActivityDetailInfo_proto_rawDesc
+)
+
+func file_MoonfinTrialActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_MoonfinTrialActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_MoonfinTrialActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MoonfinTrialActivityDetailInfo_proto_rawDescData)
+ })
+ return file_MoonfinTrialActivityDetailInfo_proto_rawDescData
+}
+
+var file_MoonfinTrialActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_MoonfinTrialActivityDetailInfo_proto_goTypes = []interface{}{
+ (*MoonfinTrialActivityDetailInfo)(nil), // 0: proto.MoonfinTrialActivityDetailInfo
+ nil, // 1: proto.MoonfinTrialActivityDetailInfo.LevelInfoMapEntry
+ (*MoonfinTrialLevelInfo)(nil), // 2: proto.MoonfinTrialLevelInfo
+}
+var file_MoonfinTrialActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MoonfinTrialActivityDetailInfo.level_info_map:type_name -> proto.MoonfinTrialActivityDetailInfo.LevelInfoMapEntry
+ 2, // 1: proto.MoonfinTrialActivityDetailInfo.LevelInfoMapEntry.value:type_name -> proto.MoonfinTrialLevelInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_MoonfinTrialActivityDetailInfo_proto_init() }
+func file_MoonfinTrialActivityDetailInfo_proto_init() {
+ if File_MoonfinTrialActivityDetailInfo_proto != nil {
+ return
+ }
+ file_MoonfinTrialLevelInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MoonfinTrialActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MoonfinTrialActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MoonfinTrialActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MoonfinTrialActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_MoonfinTrialActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_MoonfinTrialActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_MoonfinTrialActivityDetailInfo_proto = out.File
+ file_MoonfinTrialActivityDetailInfo_proto_rawDesc = nil
+ file_MoonfinTrialActivityDetailInfo_proto_goTypes = nil
+ file_MoonfinTrialActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MoonfinTrialLevelInfo.pb.go b/protocol/proto/MoonfinTrialLevelInfo.pb.go
new file mode 100644
index 00000000..0ce4b916
--- /dev/null
+++ b/protocol/proto/MoonfinTrialLevelInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MoonfinTrialLevelInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MoonfinTrialLevelInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BestRecord uint32 `protobuf:"varint,3,opt,name=best_record,json=bestRecord,proto3" json:"best_record,omitempty"`
+ OpenTime uint32 `protobuf:"varint,1,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+}
+
+func (x *MoonfinTrialLevelInfo) Reset() {
+ *x = MoonfinTrialLevelInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MoonfinTrialLevelInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MoonfinTrialLevelInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MoonfinTrialLevelInfo) ProtoMessage() {}
+
+func (x *MoonfinTrialLevelInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MoonfinTrialLevelInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MoonfinTrialLevelInfo.ProtoReflect.Descriptor instead.
+func (*MoonfinTrialLevelInfo) Descriptor() ([]byte, []int) {
+ return file_MoonfinTrialLevelInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MoonfinTrialLevelInfo) GetBestRecord() uint32 {
+ if x != nil {
+ return x.BestRecord
+ }
+ return 0
+}
+
+func (x *MoonfinTrialLevelInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+var File_MoonfinTrialLevelInfo_proto protoreflect.FileDescriptor
+
+var file_MoonfinTrialLevelInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x15, 0x4d, 0x6f, 0x6f, 0x6e, 0x66, 0x69, 0x6e, 0x54,
+ 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MoonfinTrialLevelInfo_proto_rawDescOnce sync.Once
+ file_MoonfinTrialLevelInfo_proto_rawDescData = file_MoonfinTrialLevelInfo_proto_rawDesc
+)
+
+func file_MoonfinTrialLevelInfo_proto_rawDescGZIP() []byte {
+ file_MoonfinTrialLevelInfo_proto_rawDescOnce.Do(func() {
+ file_MoonfinTrialLevelInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MoonfinTrialLevelInfo_proto_rawDescData)
+ })
+ return file_MoonfinTrialLevelInfo_proto_rawDescData
+}
+
+var file_MoonfinTrialLevelInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MoonfinTrialLevelInfo_proto_goTypes = []interface{}{
+ (*MoonfinTrialLevelInfo)(nil), // 0: proto.MoonfinTrialLevelInfo
+}
+var file_MoonfinTrialLevelInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MoonfinTrialLevelInfo_proto_init() }
+func file_MoonfinTrialLevelInfo_proto_init() {
+ if File_MoonfinTrialLevelInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MoonfinTrialLevelInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MoonfinTrialLevelInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MoonfinTrialLevelInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MoonfinTrialLevelInfo_proto_goTypes,
+ DependencyIndexes: file_MoonfinTrialLevelInfo_proto_depIdxs,
+ MessageInfos: file_MoonfinTrialLevelInfo_proto_msgTypes,
+ }.Build()
+ File_MoonfinTrialLevelInfo_proto = out.File
+ file_MoonfinTrialLevelInfo_proto_rawDesc = nil
+ file_MoonfinTrialLevelInfo_proto_goTypes = nil
+ file_MoonfinTrialLevelInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MotionInfo.pb.go b/protocol/proto/MotionInfo.pb.go
new file mode 100644
index 00000000..76b0be37
--- /dev/null
+++ b/protocol/proto/MotionInfo.pb.go
@@ -0,0 +1,252 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MotionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MotionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,2,opt,name=rot,proto3" json:"rot,omitempty"`
+ Speed *Vector `protobuf:"bytes,3,opt,name=speed,proto3" json:"speed,omitempty"`
+ State MotionState `protobuf:"varint,4,opt,name=state,proto3,enum=proto.MotionState" json:"state,omitempty"`
+ Params []*Vector `protobuf:"bytes,5,rep,name=params,proto3" json:"params,omitempty"`
+ RefPos *Vector `protobuf:"bytes,6,opt,name=ref_pos,json=refPos,proto3" json:"ref_pos,omitempty"`
+ RefId uint32 `protobuf:"varint,7,opt,name=ref_id,json=refId,proto3" json:"ref_id,omitempty"`
+ SceneTime uint32 `protobuf:"varint,8,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ IntervalVelocity uint64 `protobuf:"varint,9,opt,name=interval_velocity,json=intervalVelocity,proto3" json:"interval_velocity,omitempty"`
+}
+
+func (x *MotionInfo) Reset() {
+ *x = MotionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MotionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MotionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MotionInfo) ProtoMessage() {}
+
+func (x *MotionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MotionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MotionInfo.ProtoReflect.Descriptor instead.
+func (*MotionInfo) Descriptor() ([]byte, []int) {
+ return file_MotionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MotionInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *MotionInfo) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *MotionInfo) GetSpeed() *Vector {
+ if x != nil {
+ return x.Speed
+ }
+ return nil
+}
+
+func (x *MotionInfo) GetState() MotionState {
+ if x != nil {
+ return x.State
+ }
+ return MotionState_MOTION_STATE_NONE
+}
+
+func (x *MotionInfo) GetParams() []*Vector {
+ if x != nil {
+ return x.Params
+ }
+ return nil
+}
+
+func (x *MotionInfo) GetRefPos() *Vector {
+ if x != nil {
+ return x.RefPos
+ }
+ return nil
+}
+
+func (x *MotionInfo) GetRefId() uint32 {
+ if x != nil {
+ return x.RefId
+ }
+ return 0
+}
+
+func (x *MotionInfo) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *MotionInfo) GetIntervalVelocity() uint64 {
+ if x != nil {
+ return x.IntervalVelocity
+ }
+ return 0
+}
+
+var File_MotionInfo_proto protoreflect.FileDescriptor
+
+var file_MotionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x4d, 0x6f, 0x74, 0x69, 0x6f,
+ 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x02, 0x0a, 0x0a, 0x4d,
+ 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f,
+ 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x05, 0x73,
+ 0x70, 0x65, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x12, 0x26, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x06, 0x72, 0x65, 0x66, 0x50, 0x6f, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x65, 0x66,
+ 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x66, 0x49, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x6c, 0x6f,
+ 0x63, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x76, 0x61, 0x6c, 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MotionInfo_proto_rawDescOnce sync.Once
+ file_MotionInfo_proto_rawDescData = file_MotionInfo_proto_rawDesc
+)
+
+func file_MotionInfo_proto_rawDescGZIP() []byte {
+ file_MotionInfo_proto_rawDescOnce.Do(func() {
+ file_MotionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MotionInfo_proto_rawDescData)
+ })
+ return file_MotionInfo_proto_rawDescData
+}
+
+var file_MotionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MotionInfo_proto_goTypes = []interface{}{
+ (*MotionInfo)(nil), // 0: proto.MotionInfo
+ (*Vector)(nil), // 1: proto.Vector
+ (MotionState)(0), // 2: proto.MotionState
+}
+var file_MotionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MotionInfo.pos:type_name -> proto.Vector
+ 1, // 1: proto.MotionInfo.rot:type_name -> proto.Vector
+ 1, // 2: proto.MotionInfo.speed:type_name -> proto.Vector
+ 2, // 3: proto.MotionInfo.state:type_name -> proto.MotionState
+ 1, // 4: proto.MotionInfo.params:type_name -> proto.Vector
+ 1, // 5: proto.MotionInfo.ref_pos:type_name -> proto.Vector
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_MotionInfo_proto_init() }
+func file_MotionInfo_proto_init() {
+ if File_MotionInfo_proto != nil {
+ return
+ }
+ file_MotionState_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MotionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MotionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MotionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MotionInfo_proto_goTypes,
+ DependencyIndexes: file_MotionInfo_proto_depIdxs,
+ MessageInfos: file_MotionInfo_proto_msgTypes,
+ }.Build()
+ File_MotionInfo_proto = out.File
+ file_MotionInfo_proto_rawDesc = nil
+ file_MotionInfo_proto_goTypes = nil
+ file_MotionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MotionState.pb.go b/protocol/proto/MotionState.pb.go
new file mode 100644
index 00000000..58cb7964
--- /dev/null
+++ b/protocol/proto/MotionState.pb.go
@@ -0,0 +1,411 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MotionState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MotionState int32
+
+const (
+ MotionState_MOTION_STATE_NONE MotionState = 0
+ MotionState_MOTION_STATE_RESET MotionState = 1
+ MotionState_MOTION_STATE_STANDBY MotionState = 2
+ MotionState_MOTION_STATE_STANDBY_MOVE MotionState = 3
+ MotionState_MOTION_STATE_WALK MotionState = 4
+ MotionState_MOTION_STATE_RUN MotionState = 5
+ MotionState_MOTION_STATE_DASH MotionState = 6
+ MotionState_MOTION_STATE_CLIMB MotionState = 7
+ MotionState_MOTION_STATE_CLIMB_JUMP MotionState = 8
+ MotionState_MOTION_STATE_STANDBY_TO_CLIMB MotionState = 9
+ MotionState_MOTION_STATE_FIGHT MotionState = 10
+ MotionState_MOTION_STATE_JUMP MotionState = 11
+ MotionState_MOTION_STATE_DROP MotionState = 12
+ MotionState_MOTION_STATE_FLY MotionState = 13
+ MotionState_MOTION_STATE_SWIM_MOVE MotionState = 14
+ MotionState_MOTION_STATE_SWIM_IDLE MotionState = 15
+ MotionState_MOTION_STATE_SWIM_DASH MotionState = 16
+ MotionState_MOTION_STATE_SWIM_JUMP MotionState = 17
+ MotionState_MOTION_STATE_SLIP MotionState = 18
+ MotionState_MOTION_STATE_GO_UPSTAIRS MotionState = 19
+ MotionState_MOTION_STATE_FALL_ON_GROUND MotionState = 20
+ MotionState_MOTION_STATE_JUMP_UP_WALL_FOR_STANDBY MotionState = 21
+ MotionState_MOTION_STATE_JUMP_OFF_WALL MotionState = 22
+ MotionState_MOTION_STATE_POWERED_FLY MotionState = 23
+ MotionState_MOTION_STATE_LADDER_IDLE MotionState = 24
+ MotionState_MOTION_STATE_LADDER_MOVE MotionState = 25
+ MotionState_MOTION_STATE_LADDER_SLIP MotionState = 26
+ MotionState_MOTION_STATE_STANDBY_TO_LADDER MotionState = 27
+ MotionState_MOTION_STATE_LADDER_TO_STANDBY MotionState = 28
+ MotionState_MOTION_STATE_DANGER_STANDBY MotionState = 29
+ MotionState_MOTION_STATE_DANGER_STANDBY_MOVE MotionState = 30
+ MotionState_MOTION_STATE_DANGER_WALK MotionState = 31
+ MotionState_MOTION_STATE_DANGER_RUN MotionState = 32
+ MotionState_MOTION_STATE_DANGER_DASH MotionState = 33
+ MotionState_MOTION_STATE_CROUCH_IDLE MotionState = 34
+ MotionState_MOTION_STATE_CROUCH_MOVE MotionState = 35
+ MotionState_MOTION_STATE_CROUCH_ROLL MotionState = 36
+ MotionState_MOTION_STATE_NOTIFY MotionState = 37
+ MotionState_MOTION_STATE_LAND_SPEED MotionState = 38
+ MotionState_MOTION_STATE_MOVE_FAIL_ACK MotionState = 39
+ MotionState_MOTION_STATE_WATERFALL MotionState = 40
+ MotionState_MOTION_STATE_DASH_BEFORE_SHAKE MotionState = 41
+ MotionState_MOTION_STATE_SIT_IDLE MotionState = 42
+ MotionState_MOTION_STATE_FORCE_SET_POS MotionState = 43
+ MotionState_MOTION_STATE_QUEST_FORCE_DRAG MotionState = 44
+ MotionState_MOTION_STATE_FOLLOW_ROUTE MotionState = 45
+ MotionState_MOTION_STATE_SKIFF_BOARDING MotionState = 46
+ MotionState_MOTION_STATE_SKIFF_NORMAL MotionState = 47
+ MotionState_MOTION_STATE_SKIFF_DASH MotionState = 48
+ MotionState_MOTION_STATE_SKIFF_POWERED_DASH MotionState = 49
+ MotionState_MOTION_STATE_DESTROY_VEHICLE MotionState = 50
+ MotionState_MOTION_STATE_FLY_IDLE MotionState = 51
+ MotionState_MOTION_STATE_FLY_SLOW MotionState = 52
+ MotionState_MOTION_STATE_FLY_FAST MotionState = 53
+ MotionState_MOTION_STATE_AIM_MOVE MotionState = 54
+ MotionState_MOTION_STATE_AIR_COMPENSATION MotionState = 55
+ MotionState_MOTION_STATE_NUM MotionState = 56
+)
+
+// Enum value maps for MotionState.
+var (
+ MotionState_name = map[int32]string{
+ 0: "MOTION_STATE_NONE",
+ 1: "MOTION_STATE_RESET",
+ 2: "MOTION_STATE_STANDBY",
+ 3: "MOTION_STATE_STANDBY_MOVE",
+ 4: "MOTION_STATE_WALK",
+ 5: "MOTION_STATE_RUN",
+ 6: "MOTION_STATE_DASH",
+ 7: "MOTION_STATE_CLIMB",
+ 8: "MOTION_STATE_CLIMB_JUMP",
+ 9: "MOTION_STATE_STANDBY_TO_CLIMB",
+ 10: "MOTION_STATE_FIGHT",
+ 11: "MOTION_STATE_JUMP",
+ 12: "MOTION_STATE_DROP",
+ 13: "MOTION_STATE_FLY",
+ 14: "MOTION_STATE_SWIM_MOVE",
+ 15: "MOTION_STATE_SWIM_IDLE",
+ 16: "MOTION_STATE_SWIM_DASH",
+ 17: "MOTION_STATE_SWIM_JUMP",
+ 18: "MOTION_STATE_SLIP",
+ 19: "MOTION_STATE_GO_UPSTAIRS",
+ 20: "MOTION_STATE_FALL_ON_GROUND",
+ 21: "MOTION_STATE_JUMP_UP_WALL_FOR_STANDBY",
+ 22: "MOTION_STATE_JUMP_OFF_WALL",
+ 23: "MOTION_STATE_POWERED_FLY",
+ 24: "MOTION_STATE_LADDER_IDLE",
+ 25: "MOTION_STATE_LADDER_MOVE",
+ 26: "MOTION_STATE_LADDER_SLIP",
+ 27: "MOTION_STATE_STANDBY_TO_LADDER",
+ 28: "MOTION_STATE_LADDER_TO_STANDBY",
+ 29: "MOTION_STATE_DANGER_STANDBY",
+ 30: "MOTION_STATE_DANGER_STANDBY_MOVE",
+ 31: "MOTION_STATE_DANGER_WALK",
+ 32: "MOTION_STATE_DANGER_RUN",
+ 33: "MOTION_STATE_DANGER_DASH",
+ 34: "MOTION_STATE_CROUCH_IDLE",
+ 35: "MOTION_STATE_CROUCH_MOVE",
+ 36: "MOTION_STATE_CROUCH_ROLL",
+ 37: "MOTION_STATE_NOTIFY",
+ 38: "MOTION_STATE_LAND_SPEED",
+ 39: "MOTION_STATE_MOVE_FAIL_ACK",
+ 40: "MOTION_STATE_WATERFALL",
+ 41: "MOTION_STATE_DASH_BEFORE_SHAKE",
+ 42: "MOTION_STATE_SIT_IDLE",
+ 43: "MOTION_STATE_FORCE_SET_POS",
+ 44: "MOTION_STATE_QUEST_FORCE_DRAG",
+ 45: "MOTION_STATE_FOLLOW_ROUTE",
+ 46: "MOTION_STATE_SKIFF_BOARDING",
+ 47: "MOTION_STATE_SKIFF_NORMAL",
+ 48: "MOTION_STATE_SKIFF_DASH",
+ 49: "MOTION_STATE_SKIFF_POWERED_DASH",
+ 50: "MOTION_STATE_DESTROY_VEHICLE",
+ 51: "MOTION_STATE_FLY_IDLE",
+ 52: "MOTION_STATE_FLY_SLOW",
+ 53: "MOTION_STATE_FLY_FAST",
+ 54: "MOTION_STATE_AIM_MOVE",
+ 55: "MOTION_STATE_AIR_COMPENSATION",
+ 56: "MOTION_STATE_NUM",
+ }
+ MotionState_value = map[string]int32{
+ "MOTION_STATE_NONE": 0,
+ "MOTION_STATE_RESET": 1,
+ "MOTION_STATE_STANDBY": 2,
+ "MOTION_STATE_STANDBY_MOVE": 3,
+ "MOTION_STATE_WALK": 4,
+ "MOTION_STATE_RUN": 5,
+ "MOTION_STATE_DASH": 6,
+ "MOTION_STATE_CLIMB": 7,
+ "MOTION_STATE_CLIMB_JUMP": 8,
+ "MOTION_STATE_STANDBY_TO_CLIMB": 9,
+ "MOTION_STATE_FIGHT": 10,
+ "MOTION_STATE_JUMP": 11,
+ "MOTION_STATE_DROP": 12,
+ "MOTION_STATE_FLY": 13,
+ "MOTION_STATE_SWIM_MOVE": 14,
+ "MOTION_STATE_SWIM_IDLE": 15,
+ "MOTION_STATE_SWIM_DASH": 16,
+ "MOTION_STATE_SWIM_JUMP": 17,
+ "MOTION_STATE_SLIP": 18,
+ "MOTION_STATE_GO_UPSTAIRS": 19,
+ "MOTION_STATE_FALL_ON_GROUND": 20,
+ "MOTION_STATE_JUMP_UP_WALL_FOR_STANDBY": 21,
+ "MOTION_STATE_JUMP_OFF_WALL": 22,
+ "MOTION_STATE_POWERED_FLY": 23,
+ "MOTION_STATE_LADDER_IDLE": 24,
+ "MOTION_STATE_LADDER_MOVE": 25,
+ "MOTION_STATE_LADDER_SLIP": 26,
+ "MOTION_STATE_STANDBY_TO_LADDER": 27,
+ "MOTION_STATE_LADDER_TO_STANDBY": 28,
+ "MOTION_STATE_DANGER_STANDBY": 29,
+ "MOTION_STATE_DANGER_STANDBY_MOVE": 30,
+ "MOTION_STATE_DANGER_WALK": 31,
+ "MOTION_STATE_DANGER_RUN": 32,
+ "MOTION_STATE_DANGER_DASH": 33,
+ "MOTION_STATE_CROUCH_IDLE": 34,
+ "MOTION_STATE_CROUCH_MOVE": 35,
+ "MOTION_STATE_CROUCH_ROLL": 36,
+ "MOTION_STATE_NOTIFY": 37,
+ "MOTION_STATE_LAND_SPEED": 38,
+ "MOTION_STATE_MOVE_FAIL_ACK": 39,
+ "MOTION_STATE_WATERFALL": 40,
+ "MOTION_STATE_DASH_BEFORE_SHAKE": 41,
+ "MOTION_STATE_SIT_IDLE": 42,
+ "MOTION_STATE_FORCE_SET_POS": 43,
+ "MOTION_STATE_QUEST_FORCE_DRAG": 44,
+ "MOTION_STATE_FOLLOW_ROUTE": 45,
+ "MOTION_STATE_SKIFF_BOARDING": 46,
+ "MOTION_STATE_SKIFF_NORMAL": 47,
+ "MOTION_STATE_SKIFF_DASH": 48,
+ "MOTION_STATE_SKIFF_POWERED_DASH": 49,
+ "MOTION_STATE_DESTROY_VEHICLE": 50,
+ "MOTION_STATE_FLY_IDLE": 51,
+ "MOTION_STATE_FLY_SLOW": 52,
+ "MOTION_STATE_FLY_FAST": 53,
+ "MOTION_STATE_AIM_MOVE": 54,
+ "MOTION_STATE_AIR_COMPENSATION": 55,
+ "MOTION_STATE_NUM": 56,
+ }
+)
+
+func (x MotionState) Enum() *MotionState {
+ p := new(MotionState)
+ *p = x
+ return p
+}
+
+func (x MotionState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MotionState) Descriptor() protoreflect.EnumDescriptor {
+ return file_MotionState_proto_enumTypes[0].Descriptor()
+}
+
+func (MotionState) Type() protoreflect.EnumType {
+ return &file_MotionState_proto_enumTypes[0]
+}
+
+func (x MotionState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MotionState.Descriptor instead.
+func (MotionState) EnumDescriptor() ([]byte, []int) {
+ return file_MotionState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MotionState_proto protoreflect.FileDescriptor
+
+var file_MotionState_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x94, 0x0d, 0x0a, 0x0b, 0x4d,
+ 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54,
+ 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x4f, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x42,
+ 0x59, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54,
+ 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x42, 0x59, 0x5f, 0x4d, 0x4f, 0x56, 0x45,
+ 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x57, 0x41, 0x4c, 0x4b, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x05, 0x12,
+ 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x44, 0x41, 0x53, 0x48, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x4d, 0x42, 0x10, 0x07, 0x12, 0x1b,
+ 0x0a, 0x17, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43,
+ 0x4c, 0x49, 0x4d, 0x42, 0x5f, 0x4a, 0x55, 0x4d, 0x50, 0x10, 0x08, 0x12, 0x21, 0x0a, 0x1d, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e,
+ 0x44, 0x42, 0x59, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4c, 0x49, 0x4d, 0x42, 0x10, 0x09, 0x12, 0x16,
+ 0x0a, 0x12, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46,
+ 0x49, 0x47, 0x48, 0x54, 0x10, 0x0a, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4a, 0x55, 0x4d, 0x50, 0x10, 0x0b, 0x12, 0x15, 0x0a,
+ 0x11, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x52,
+ 0x4f, 0x50, 0x10, 0x0c, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53,
+ 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x59, 0x10, 0x0d, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x57, 0x49, 0x4d, 0x5f,
+ 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x0e, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x57, 0x49, 0x4d, 0x5f, 0x49, 0x44, 0x4c, 0x45,
+ 0x10, 0x0f, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x53, 0x57, 0x49, 0x4d, 0x5f, 0x44, 0x41, 0x53, 0x48, 0x10, 0x10, 0x12, 0x1a,
+ 0x0a, 0x16, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53,
+ 0x57, 0x49, 0x4d, 0x5f, 0x4a, 0x55, 0x4d, 0x50, 0x10, 0x11, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x4c, 0x49, 0x50, 0x10,
+ 0x12, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54,
+ 0x45, 0x5f, 0x47, 0x4f, 0x5f, 0x55, 0x50, 0x53, 0x54, 0x41, 0x49, 0x52, 0x53, 0x10, 0x13, 0x12,
+ 0x1f, 0x0a, 0x1b, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x46, 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x14,
+ 0x12, 0x29, 0x0a, 0x25, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
+ 0x5f, 0x4a, 0x55, 0x4d, 0x50, 0x5f, 0x55, 0x50, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x46, 0x4f,
+ 0x52, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x42, 0x59, 0x10, 0x15, 0x12, 0x1e, 0x0a, 0x1a, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4a, 0x55, 0x4d, 0x50,
+ 0x5f, 0x4f, 0x46, 0x46, 0x5f, 0x57, 0x41, 0x4c, 0x4c, 0x10, 0x16, 0x12, 0x1c, 0x0a, 0x18, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x57, 0x45,
+ 0x52, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x59, 0x10, 0x17, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x4f, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x44, 0x44, 0x45, 0x52,
+ 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x18, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x4f, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x44, 0x44, 0x45, 0x52, 0x5f, 0x4d,
+ 0x4f, 0x56, 0x45, 0x10, 0x19, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x44, 0x44, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x49,
+ 0x50, 0x10, 0x1a, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54,
+ 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x42, 0x59, 0x5f, 0x54, 0x4f, 0x5f, 0x4c,
+ 0x41, 0x44, 0x44, 0x45, 0x52, 0x10, 0x1b, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x4f, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x41, 0x44, 0x44, 0x45, 0x52, 0x5f, 0x54,
+ 0x4f, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x42, 0x59, 0x10, 0x1c, 0x12, 0x1f, 0x0a, 0x1b, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x41, 0x4e, 0x47,
+ 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x42, 0x59, 0x10, 0x1d, 0x12, 0x24, 0x0a, 0x20,
+ 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x41, 0x4e,
+ 0x47, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x42, 0x59, 0x5f, 0x4d, 0x4f, 0x56, 0x45,
+ 0x10, 0x1e, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x44, 0x41, 0x4e, 0x47, 0x45, 0x52, 0x5f, 0x57, 0x41, 0x4c, 0x4b, 0x10, 0x1f,
+ 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
+ 0x5f, 0x44, 0x41, 0x4e, 0x47, 0x45, 0x52, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x20, 0x12, 0x1c, 0x0a,
+ 0x18, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x41,
+ 0x4e, 0x47, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x53, 0x48, 0x10, 0x21, 0x12, 0x1c, 0x0a, 0x18, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x4f, 0x55,
+ 0x43, 0x48, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x22, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x4f, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x4f, 0x55, 0x43, 0x48,
+ 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x23, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x4f, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x4f, 0x55, 0x43, 0x48, 0x5f, 0x52,
+ 0x4f, 0x4c, 0x4c, 0x10, 0x24, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x10, 0x25, 0x12, 0x1b,
+ 0x0a, 0x17, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c,
+ 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x26, 0x12, 0x1e, 0x0a, 0x1a, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x4f, 0x56, 0x45,
+ 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x43, 0x4b, 0x10, 0x27, 0x12, 0x1a, 0x0a, 0x16, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x54, 0x45,
+ 0x52, 0x46, 0x41, 0x4c, 0x4c, 0x10, 0x28, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x4f, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x41, 0x53, 0x48, 0x5f, 0x42, 0x45, 0x46,
+ 0x4f, 0x52, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x10, 0x29, 0x12, 0x19, 0x0a, 0x15, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x49, 0x54, 0x5f,
+ 0x49, 0x44, 0x4c, 0x45, 0x10, 0x2a, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54,
+ 0x5f, 0x50, 0x4f, 0x53, 0x10, 0x2b, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x4f, 0x52,
+ 0x43, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x47, 0x10, 0x2c, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57,
+ 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x2d, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x4f, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x4b, 0x49, 0x46, 0x46, 0x5f, 0x42,
+ 0x4f, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x2e, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x4b, 0x49, 0x46, 0x46, 0x5f,
+ 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x2f, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x4f, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x4b, 0x49, 0x46, 0x46, 0x5f, 0x44,
+ 0x41, 0x53, 0x48, 0x10, 0x30, 0x12, 0x23, 0x0a, 0x1f, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x4b, 0x49, 0x46, 0x46, 0x5f, 0x50, 0x4f, 0x57, 0x45,
+ 0x52, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x53, 0x48, 0x10, 0x31, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x4f,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52,
+ 0x4f, 0x59, 0x5f, 0x56, 0x45, 0x48, 0x49, 0x43, 0x4c, 0x45, 0x10, 0x32, 0x12, 0x19, 0x0a, 0x15,
+ 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x59,
+ 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x33, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x4f, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x59, 0x5f, 0x53, 0x4c, 0x4f, 0x57,
+ 0x10, 0x34, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x59, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x35, 0x12, 0x19, 0x0a,
+ 0x15, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x49,
+ 0x4d, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x36, 0x12, 0x21, 0x0a, 0x1d, 0x4d, 0x4f, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x49, 0x52, 0x5f, 0x43, 0x4f, 0x4d,
+ 0x50, 0x45, 0x4e, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x37, 0x12, 0x14, 0x0a, 0x10, 0x4d,
+ 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x10,
+ 0x38, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MotionState_proto_rawDescOnce sync.Once
+ file_MotionState_proto_rawDescData = file_MotionState_proto_rawDesc
+)
+
+func file_MotionState_proto_rawDescGZIP() []byte {
+ file_MotionState_proto_rawDescOnce.Do(func() {
+ file_MotionState_proto_rawDescData = protoimpl.X.CompressGZIP(file_MotionState_proto_rawDescData)
+ })
+ return file_MotionState_proto_rawDescData
+}
+
+var file_MotionState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MotionState_proto_goTypes = []interface{}{
+ (MotionState)(0), // 0: proto.MotionState
+}
+var file_MotionState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MotionState_proto_init() }
+func file_MotionState_proto_init() {
+ if File_MotionState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MotionState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MotionState_proto_goTypes,
+ DependencyIndexes: file_MotionState_proto_depIdxs,
+ EnumInfos: file_MotionState_proto_enumTypes,
+ }.Build()
+ File_MotionState_proto = out.File
+ file_MotionState_proto_rawDesc = nil
+ file_MotionState_proto_goTypes = nil
+ file_MotionState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MovingPlatformType.pb.go b/protocol/proto/MovingPlatformType.pb.go
new file mode 100644
index 00000000..5621aa9f
--- /dev/null
+++ b/protocol/proto/MovingPlatformType.pb.go
@@ -0,0 +1,157 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MovingPlatformType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MovingPlatformType int32
+
+const (
+ MovingPlatformType_MOVING_PLATFORM_TYPE_NONE MovingPlatformType = 0
+ MovingPlatformType_MOVING_PLATFORM_TYPE_USE_CONFIG MovingPlatformType = 1
+ MovingPlatformType_MOVING_PLATFORM_TYPE_ABILITY MovingPlatformType = 2
+ MovingPlatformType_MOVING_PLATFORM_TYPE_ROUTE MovingPlatformType = 3
+)
+
+// Enum value maps for MovingPlatformType.
+var (
+ MovingPlatformType_name = map[int32]string{
+ 0: "MOVING_PLATFORM_TYPE_NONE",
+ 1: "MOVING_PLATFORM_TYPE_USE_CONFIG",
+ 2: "MOVING_PLATFORM_TYPE_ABILITY",
+ 3: "MOVING_PLATFORM_TYPE_ROUTE",
+ }
+ MovingPlatformType_value = map[string]int32{
+ "MOVING_PLATFORM_TYPE_NONE": 0,
+ "MOVING_PLATFORM_TYPE_USE_CONFIG": 1,
+ "MOVING_PLATFORM_TYPE_ABILITY": 2,
+ "MOVING_PLATFORM_TYPE_ROUTE": 3,
+ }
+)
+
+func (x MovingPlatformType) Enum() *MovingPlatformType {
+ p := new(MovingPlatformType)
+ *p = x
+ return p
+}
+
+func (x MovingPlatformType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MovingPlatformType) Descriptor() protoreflect.EnumDescriptor {
+ return file_MovingPlatformType_proto_enumTypes[0].Descriptor()
+}
+
+func (MovingPlatformType) Type() protoreflect.EnumType {
+ return &file_MovingPlatformType_proto_enumTypes[0]
+}
+
+func (x MovingPlatformType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MovingPlatformType.Descriptor instead.
+func (MovingPlatformType) EnumDescriptor() ([]byte, []int) {
+ return file_MovingPlatformType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MovingPlatformType_proto protoreflect.FileDescriptor
+
+var file_MovingPlatformType_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2a, 0x9a, 0x01, 0x0a, 0x12, 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x74,
+ 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x4f, 0x56, 0x49,
+ 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x4d, 0x4f, 0x56, 0x49, 0x4e,
+ 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c,
+ 0x4d, 0x4f, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x02, 0x12, 0x1e,
+ 0x0a, 0x1a, 0x4d, 0x4f, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52,
+ 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x03, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_MovingPlatformType_proto_rawDescOnce sync.Once
+ file_MovingPlatformType_proto_rawDescData = file_MovingPlatformType_proto_rawDesc
+)
+
+func file_MovingPlatformType_proto_rawDescGZIP() []byte {
+ file_MovingPlatformType_proto_rawDescOnce.Do(func() {
+ file_MovingPlatformType_proto_rawDescData = protoimpl.X.CompressGZIP(file_MovingPlatformType_proto_rawDescData)
+ })
+ return file_MovingPlatformType_proto_rawDescData
+}
+
+var file_MovingPlatformType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MovingPlatformType_proto_goTypes = []interface{}{
+ (MovingPlatformType)(0), // 0: proto.MovingPlatformType
+}
+var file_MovingPlatformType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MovingPlatformType_proto_init() }
+func file_MovingPlatformType_proto_init() {
+ if File_MovingPlatformType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MovingPlatformType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MovingPlatformType_proto_goTypes,
+ DependencyIndexes: file_MovingPlatformType_proto_depIdxs,
+ EnumInfos: file_MovingPlatformType_proto_enumTypes,
+ }.Build()
+ File_MovingPlatformType_proto = out.File
+ file_MovingPlatformType_proto_rawDesc = nil
+ file_MovingPlatformType_proto_goTypes = nil
+ file_MovingPlatformType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpBlockNotify.pb.go b/protocol/proto/MpBlockNotify.pb.go
new file mode 100644
index 00000000..bda3c9d4
--- /dev/null
+++ b/protocol/proto/MpBlockNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpBlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1801
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpBlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndTime uint32 `protobuf:"varint,13,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *MpBlockNotify) Reset() {
+ *x = MpBlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpBlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpBlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpBlockNotify) ProtoMessage() {}
+
+func (x *MpBlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MpBlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpBlockNotify.ProtoReflect.Descriptor instead.
+func (*MpBlockNotify) Descriptor() ([]byte, []int) {
+ return file_MpBlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpBlockNotify) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_MpBlockNotify_proto protoreflect.FileDescriptor
+
+var file_MpBlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x4d, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a, 0x0d,
+ 0x4d, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a,
+ 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpBlockNotify_proto_rawDescOnce sync.Once
+ file_MpBlockNotify_proto_rawDescData = file_MpBlockNotify_proto_rawDesc
+)
+
+func file_MpBlockNotify_proto_rawDescGZIP() []byte {
+ file_MpBlockNotify_proto_rawDescOnce.Do(func() {
+ file_MpBlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpBlockNotify_proto_rawDescData)
+ })
+ return file_MpBlockNotify_proto_rawDescData
+}
+
+var file_MpBlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpBlockNotify_proto_goTypes = []interface{}{
+ (*MpBlockNotify)(nil), // 0: proto.MpBlockNotify
+}
+var file_MpBlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpBlockNotify_proto_init() }
+func file_MpBlockNotify_proto_init() {
+ if File_MpBlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpBlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpBlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpBlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpBlockNotify_proto_goTypes,
+ DependencyIndexes: file_MpBlockNotify_proto_depIdxs,
+ MessageInfos: file_MpBlockNotify_proto_msgTypes,
+ }.Build()
+ File_MpBlockNotify_proto = out.File
+ file_MpBlockNotify_proto_rawDesc = nil
+ file_MpBlockNotify_proto_goTypes = nil
+ file_MpBlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayGuestReplyInviteReq.pb.go b/protocol/proto/MpPlayGuestReplyInviteReq.pb.go
new file mode 100644
index 00000000..df2f1f3a
--- /dev/null
+++ b/protocol/proto/MpPlayGuestReplyInviteReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayGuestReplyInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1848
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MpPlayGuestReplyInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpPlayId uint32 `protobuf:"varint,3,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ IsAgree bool `protobuf:"varint,15,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+}
+
+func (x *MpPlayGuestReplyInviteReq) Reset() {
+ *x = MpPlayGuestReplyInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayGuestReplyInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayGuestReplyInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayGuestReplyInviteReq) ProtoMessage() {}
+
+func (x *MpPlayGuestReplyInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayGuestReplyInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayGuestReplyInviteReq.ProtoReflect.Descriptor instead.
+func (*MpPlayGuestReplyInviteReq) Descriptor() ([]byte, []int) {
+ return file_MpPlayGuestReplyInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayGuestReplyInviteReq) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *MpPlayGuestReplyInviteReq) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+var File_MpPlayGuestReplyInviteReq_proto protoreflect.FileDescriptor
+
+var file_MpPlayGuestReplyInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70,
+ 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x19, 0x4d, 0x70, 0x50, 0x6c,
+ 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61,
+ 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayGuestReplyInviteReq_proto_rawDescOnce sync.Once
+ file_MpPlayGuestReplyInviteReq_proto_rawDescData = file_MpPlayGuestReplyInviteReq_proto_rawDesc
+)
+
+func file_MpPlayGuestReplyInviteReq_proto_rawDescGZIP() []byte {
+ file_MpPlayGuestReplyInviteReq_proto_rawDescOnce.Do(func() {
+ file_MpPlayGuestReplyInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayGuestReplyInviteReq_proto_rawDescData)
+ })
+ return file_MpPlayGuestReplyInviteReq_proto_rawDescData
+}
+
+var file_MpPlayGuestReplyInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayGuestReplyInviteReq_proto_goTypes = []interface{}{
+ (*MpPlayGuestReplyInviteReq)(nil), // 0: proto.MpPlayGuestReplyInviteReq
+}
+var file_MpPlayGuestReplyInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayGuestReplyInviteReq_proto_init() }
+func file_MpPlayGuestReplyInviteReq_proto_init() {
+ if File_MpPlayGuestReplyInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayGuestReplyInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayGuestReplyInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayGuestReplyInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayGuestReplyInviteReq_proto_goTypes,
+ DependencyIndexes: file_MpPlayGuestReplyInviteReq_proto_depIdxs,
+ MessageInfos: file_MpPlayGuestReplyInviteReq_proto_msgTypes,
+ }.Build()
+ File_MpPlayGuestReplyInviteReq_proto = out.File
+ file_MpPlayGuestReplyInviteReq_proto_rawDesc = nil
+ file_MpPlayGuestReplyInviteReq_proto_goTypes = nil
+ file_MpPlayGuestReplyInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayGuestReplyInviteRsp.pb.go b/protocol/proto/MpPlayGuestReplyInviteRsp.pb.go
new file mode 100644
index 00000000..9c668eac
--- /dev/null
+++ b/protocol/proto/MpPlayGuestReplyInviteRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayGuestReplyInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1850
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpPlayGuestReplyInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,10,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+}
+
+func (x *MpPlayGuestReplyInviteRsp) Reset() {
+ *x = MpPlayGuestReplyInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayGuestReplyInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayGuestReplyInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayGuestReplyInviteRsp) ProtoMessage() {}
+
+func (x *MpPlayGuestReplyInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayGuestReplyInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayGuestReplyInviteRsp.ProtoReflect.Descriptor instead.
+func (*MpPlayGuestReplyInviteRsp) Descriptor() ([]byte, []int) {
+ return file_MpPlayGuestReplyInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayGuestReplyInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MpPlayGuestReplyInviteRsp) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+var File_MpPlayGuestReplyInviteRsp_proto protoreflect.FileDescriptor
+
+var file_MpPlayGuestReplyInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70,
+ 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x19, 0x4d, 0x70, 0x50, 0x6c,
+ 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MpPlayGuestReplyInviteRsp_proto_rawDescOnce sync.Once
+ file_MpPlayGuestReplyInviteRsp_proto_rawDescData = file_MpPlayGuestReplyInviteRsp_proto_rawDesc
+)
+
+func file_MpPlayGuestReplyInviteRsp_proto_rawDescGZIP() []byte {
+ file_MpPlayGuestReplyInviteRsp_proto_rawDescOnce.Do(func() {
+ file_MpPlayGuestReplyInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayGuestReplyInviteRsp_proto_rawDescData)
+ })
+ return file_MpPlayGuestReplyInviteRsp_proto_rawDescData
+}
+
+var file_MpPlayGuestReplyInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayGuestReplyInviteRsp_proto_goTypes = []interface{}{
+ (*MpPlayGuestReplyInviteRsp)(nil), // 0: proto.MpPlayGuestReplyInviteRsp
+}
+var file_MpPlayGuestReplyInviteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayGuestReplyInviteRsp_proto_init() }
+func file_MpPlayGuestReplyInviteRsp_proto_init() {
+ if File_MpPlayGuestReplyInviteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayGuestReplyInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayGuestReplyInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayGuestReplyInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayGuestReplyInviteRsp_proto_goTypes,
+ DependencyIndexes: file_MpPlayGuestReplyInviteRsp_proto_depIdxs,
+ MessageInfos: file_MpPlayGuestReplyInviteRsp_proto_msgTypes,
+ }.Build()
+ File_MpPlayGuestReplyInviteRsp_proto = out.File
+ file_MpPlayGuestReplyInviteRsp_proto_rawDesc = nil
+ file_MpPlayGuestReplyInviteRsp_proto_goTypes = nil
+ file_MpPlayGuestReplyInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayGuestReplyNotify.pb.go b/protocol/proto/MpPlayGuestReplyNotify.pb.go
new file mode 100644
index 00000000..4aa3f4fc
--- /dev/null
+++ b/protocol/proto/MpPlayGuestReplyNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayGuestReplyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1812
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpPlayGuestReplyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,7,opt,name=uid,proto3" json:"uid,omitempty"`
+ IsAgree bool `protobuf:"varint,4,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,14,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+}
+
+func (x *MpPlayGuestReplyNotify) Reset() {
+ *x = MpPlayGuestReplyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayGuestReplyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayGuestReplyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayGuestReplyNotify) ProtoMessage() {}
+
+func (x *MpPlayGuestReplyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayGuestReplyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayGuestReplyNotify.ProtoReflect.Descriptor instead.
+func (*MpPlayGuestReplyNotify) Descriptor() ([]byte, []int) {
+ return file_MpPlayGuestReplyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayGuestReplyNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *MpPlayGuestReplyNotify) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *MpPlayGuestReplyNotify) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+var File_MpPlayGuestReplyNotify_proto protoreflect.FileDescriptor
+
+var file_MpPlayGuestReplyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70,
+ 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x16, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x47,
+ 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x0a,
+ 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayGuestReplyNotify_proto_rawDescOnce sync.Once
+ file_MpPlayGuestReplyNotify_proto_rawDescData = file_MpPlayGuestReplyNotify_proto_rawDesc
+)
+
+func file_MpPlayGuestReplyNotify_proto_rawDescGZIP() []byte {
+ file_MpPlayGuestReplyNotify_proto_rawDescOnce.Do(func() {
+ file_MpPlayGuestReplyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayGuestReplyNotify_proto_rawDescData)
+ })
+ return file_MpPlayGuestReplyNotify_proto_rawDescData
+}
+
+var file_MpPlayGuestReplyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayGuestReplyNotify_proto_goTypes = []interface{}{
+ (*MpPlayGuestReplyNotify)(nil), // 0: proto.MpPlayGuestReplyNotify
+}
+var file_MpPlayGuestReplyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayGuestReplyNotify_proto_init() }
+func file_MpPlayGuestReplyNotify_proto_init() {
+ if File_MpPlayGuestReplyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayGuestReplyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayGuestReplyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayGuestReplyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayGuestReplyNotify_proto_goTypes,
+ DependencyIndexes: file_MpPlayGuestReplyNotify_proto_depIdxs,
+ MessageInfos: file_MpPlayGuestReplyNotify_proto_msgTypes,
+ }.Build()
+ File_MpPlayGuestReplyNotify_proto = out.File
+ file_MpPlayGuestReplyNotify_proto_rawDesc = nil
+ file_MpPlayGuestReplyNotify_proto_goTypes = nil
+ file_MpPlayGuestReplyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayInviteResultNotify.pb.go b/protocol/proto/MpPlayInviteResultNotify.pb.go
new file mode 100644
index 00000000..96792b16
--- /dev/null
+++ b/protocol/proto/MpPlayInviteResultNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayInviteResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1815
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpPlayInviteResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpPlayId uint32 `protobuf:"varint,11,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ AllArgee bool `protobuf:"varint,10,opt,name=all_argee,json=allArgee,proto3" json:"all_argee,omitempty"`
+}
+
+func (x *MpPlayInviteResultNotify) Reset() {
+ *x = MpPlayInviteResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayInviteResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayInviteResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayInviteResultNotify) ProtoMessage() {}
+
+func (x *MpPlayInviteResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayInviteResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayInviteResultNotify.ProtoReflect.Descriptor instead.
+func (*MpPlayInviteResultNotify) Descriptor() ([]byte, []int) {
+ return file_MpPlayInviteResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayInviteResultNotify) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *MpPlayInviteResultNotify) GetAllArgee() bool {
+ if x != nil {
+ return x.AllArgee
+ }
+ return false
+}
+
+var File_MpPlayInviteResultNotify_proto protoreflect.FileDescriptor
+
+var file_MpPlayInviteResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x18, 0x4d, 0x70, 0x50, 0x6c, 0x61,
+ 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x65, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x41, 0x72, 0x67, 0x65, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayInviteResultNotify_proto_rawDescOnce sync.Once
+ file_MpPlayInviteResultNotify_proto_rawDescData = file_MpPlayInviteResultNotify_proto_rawDesc
+)
+
+func file_MpPlayInviteResultNotify_proto_rawDescGZIP() []byte {
+ file_MpPlayInviteResultNotify_proto_rawDescOnce.Do(func() {
+ file_MpPlayInviteResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayInviteResultNotify_proto_rawDescData)
+ })
+ return file_MpPlayInviteResultNotify_proto_rawDescData
+}
+
+var file_MpPlayInviteResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayInviteResultNotify_proto_goTypes = []interface{}{
+ (*MpPlayInviteResultNotify)(nil), // 0: proto.MpPlayInviteResultNotify
+}
+var file_MpPlayInviteResultNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayInviteResultNotify_proto_init() }
+func file_MpPlayInviteResultNotify_proto_init() {
+ if File_MpPlayInviteResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayInviteResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayInviteResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayInviteResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayInviteResultNotify_proto_goTypes,
+ DependencyIndexes: file_MpPlayInviteResultNotify_proto_depIdxs,
+ MessageInfos: file_MpPlayInviteResultNotify_proto_msgTypes,
+ }.Build()
+ File_MpPlayInviteResultNotify_proto = out.File
+ file_MpPlayInviteResultNotify_proto_rawDesc = nil
+ file_MpPlayInviteResultNotify_proto_goTypes = nil
+ file_MpPlayInviteResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayOwnerCheckReq.pb.go b/protocol/proto/MpPlayOwnerCheckReq.pb.go
new file mode 100644
index 00000000..9e760829
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerCheckReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayOwnerCheckReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1814
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MpPlayOwnerCheckReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpPlayId uint32 `protobuf:"varint,9,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ IsSkipMatch bool `protobuf:"varint,3,opt,name=is_skip_match,json=isSkipMatch,proto3" json:"is_skip_match,omitempty"`
+}
+
+func (x *MpPlayOwnerCheckReq) Reset() {
+ *x = MpPlayOwnerCheckReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayOwnerCheckReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayOwnerCheckReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayOwnerCheckReq) ProtoMessage() {}
+
+func (x *MpPlayOwnerCheckReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayOwnerCheckReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayOwnerCheckReq.ProtoReflect.Descriptor instead.
+func (*MpPlayOwnerCheckReq) Descriptor() ([]byte, []int) {
+ return file_MpPlayOwnerCheckReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayOwnerCheckReq) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *MpPlayOwnerCheckReq) GetIsSkipMatch() bool {
+ if x != nil {
+ return x.IsSkipMatch
+ }
+ return false
+}
+
+var File_MpPlayOwnerCheckReq_proto protoreflect.FileDescriptor
+
+var file_MpPlayOwnerCheckReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x68, 0x65,
+ 0x63, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x13, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65,
+ 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f,
+ 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d,
+ 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x6b,
+ 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
+ 0x69, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayOwnerCheckReq_proto_rawDescOnce sync.Once
+ file_MpPlayOwnerCheckReq_proto_rawDescData = file_MpPlayOwnerCheckReq_proto_rawDesc
+)
+
+func file_MpPlayOwnerCheckReq_proto_rawDescGZIP() []byte {
+ file_MpPlayOwnerCheckReq_proto_rawDescOnce.Do(func() {
+ file_MpPlayOwnerCheckReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayOwnerCheckReq_proto_rawDescData)
+ })
+ return file_MpPlayOwnerCheckReq_proto_rawDescData
+}
+
+var file_MpPlayOwnerCheckReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayOwnerCheckReq_proto_goTypes = []interface{}{
+ (*MpPlayOwnerCheckReq)(nil), // 0: proto.MpPlayOwnerCheckReq
+}
+var file_MpPlayOwnerCheckReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayOwnerCheckReq_proto_init() }
+func file_MpPlayOwnerCheckReq_proto_init() {
+ if File_MpPlayOwnerCheckReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayOwnerCheckReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayOwnerCheckReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayOwnerCheckReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayOwnerCheckReq_proto_goTypes,
+ DependencyIndexes: file_MpPlayOwnerCheckReq_proto_depIdxs,
+ MessageInfos: file_MpPlayOwnerCheckReq_proto_msgTypes,
+ }.Build()
+ File_MpPlayOwnerCheckReq_proto = out.File
+ file_MpPlayOwnerCheckReq_proto_rawDesc = nil
+ file_MpPlayOwnerCheckReq_proto_goTypes = nil
+ file_MpPlayOwnerCheckReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayOwnerCheckRsp.pb.go b/protocol/proto/MpPlayOwnerCheckRsp.pb.go
new file mode 100644
index 00000000..de25ca9c
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerCheckRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayOwnerCheckRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1847
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpPlayOwnerCheckRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WrongUid uint32 `protobuf:"varint,4,opt,name=wrong_uid,json=wrongUid,proto3" json:"wrong_uid,omitempty"`
+ IsSkipMatch bool `protobuf:"varint,15,opt,name=is_skip_match,json=isSkipMatch,proto3" json:"is_skip_match,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,10,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MpPlayOwnerCheckRsp) Reset() {
+ *x = MpPlayOwnerCheckRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayOwnerCheckRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayOwnerCheckRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayOwnerCheckRsp) ProtoMessage() {}
+
+func (x *MpPlayOwnerCheckRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayOwnerCheckRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayOwnerCheckRsp.ProtoReflect.Descriptor instead.
+func (*MpPlayOwnerCheckRsp) Descriptor() ([]byte, []int) {
+ return file_MpPlayOwnerCheckRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayOwnerCheckRsp) GetWrongUid() uint32 {
+ if x != nil {
+ return x.WrongUid
+ }
+ return 0
+}
+
+func (x *MpPlayOwnerCheckRsp) GetIsSkipMatch() bool {
+ if x != nil {
+ return x.IsSkipMatch
+ }
+ return false
+}
+
+func (x *MpPlayOwnerCheckRsp) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *MpPlayOwnerCheckRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MpPlayOwnerCheckRsp_proto protoreflect.FileDescriptor
+
+var file_MpPlayOwnerCheckRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x68, 0x65,
+ 0x63, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e,
+ 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x72,
+ 0x6f, 0x6e, 0x67, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77,
+ 0x72, 0x6f, 0x6e, 0x67, 0x55, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x6b,
+ 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
+ 0x69, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1c, 0x0a, 0x0a, 0x6d,
+ 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayOwnerCheckRsp_proto_rawDescOnce sync.Once
+ file_MpPlayOwnerCheckRsp_proto_rawDescData = file_MpPlayOwnerCheckRsp_proto_rawDesc
+)
+
+func file_MpPlayOwnerCheckRsp_proto_rawDescGZIP() []byte {
+ file_MpPlayOwnerCheckRsp_proto_rawDescOnce.Do(func() {
+ file_MpPlayOwnerCheckRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayOwnerCheckRsp_proto_rawDescData)
+ })
+ return file_MpPlayOwnerCheckRsp_proto_rawDescData
+}
+
+var file_MpPlayOwnerCheckRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayOwnerCheckRsp_proto_goTypes = []interface{}{
+ (*MpPlayOwnerCheckRsp)(nil), // 0: proto.MpPlayOwnerCheckRsp
+}
+var file_MpPlayOwnerCheckRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayOwnerCheckRsp_proto_init() }
+func file_MpPlayOwnerCheckRsp_proto_init() {
+ if File_MpPlayOwnerCheckRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayOwnerCheckRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayOwnerCheckRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayOwnerCheckRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayOwnerCheckRsp_proto_goTypes,
+ DependencyIndexes: file_MpPlayOwnerCheckRsp_proto_depIdxs,
+ MessageInfos: file_MpPlayOwnerCheckRsp_proto_msgTypes,
+ }.Build()
+ File_MpPlayOwnerCheckRsp_proto = out.File
+ file_MpPlayOwnerCheckRsp_proto_rawDesc = nil
+ file_MpPlayOwnerCheckRsp_proto_goTypes = nil
+ file_MpPlayOwnerCheckRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayOwnerInviteNotify.pb.go b/protocol/proto/MpPlayOwnerInviteNotify.pb.go
new file mode 100644
index 00000000..d9840bf6
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerInviteNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayOwnerInviteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1835
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpPlayOwnerInviteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Cd uint32 `protobuf:"varint,12,opt,name=cd,proto3" json:"cd,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,13,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ IsRemainReward bool `protobuf:"varint,10,opt,name=is_remain_reward,json=isRemainReward,proto3" json:"is_remain_reward,omitempty"`
+}
+
+func (x *MpPlayOwnerInviteNotify) Reset() {
+ *x = MpPlayOwnerInviteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayOwnerInviteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayOwnerInviteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayOwnerInviteNotify) ProtoMessage() {}
+
+func (x *MpPlayOwnerInviteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayOwnerInviteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayOwnerInviteNotify.ProtoReflect.Descriptor instead.
+func (*MpPlayOwnerInviteNotify) Descriptor() ([]byte, []int) {
+ return file_MpPlayOwnerInviteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayOwnerInviteNotify) GetCd() uint32 {
+ if x != nil {
+ return x.Cd
+ }
+ return 0
+}
+
+func (x *MpPlayOwnerInviteNotify) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *MpPlayOwnerInviteNotify) GetIsRemainReward() bool {
+ if x != nil {
+ return x.IsRemainReward
+ }
+ return false
+}
+
+var File_MpPlayOwnerInviteNotify_proto protoreflect.FileDescriptor
+
+var file_MpPlayOwnerInviteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x76,
+ 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x17, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79,
+ 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x63, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x63,
+ 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12,
+ 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x52, 0x65, 0x6d,
+ 0x61, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayOwnerInviteNotify_proto_rawDescOnce sync.Once
+ file_MpPlayOwnerInviteNotify_proto_rawDescData = file_MpPlayOwnerInviteNotify_proto_rawDesc
+)
+
+func file_MpPlayOwnerInviteNotify_proto_rawDescGZIP() []byte {
+ file_MpPlayOwnerInviteNotify_proto_rawDescOnce.Do(func() {
+ file_MpPlayOwnerInviteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayOwnerInviteNotify_proto_rawDescData)
+ })
+ return file_MpPlayOwnerInviteNotify_proto_rawDescData
+}
+
+var file_MpPlayOwnerInviteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayOwnerInviteNotify_proto_goTypes = []interface{}{
+ (*MpPlayOwnerInviteNotify)(nil), // 0: proto.MpPlayOwnerInviteNotify
+}
+var file_MpPlayOwnerInviteNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayOwnerInviteNotify_proto_init() }
+func file_MpPlayOwnerInviteNotify_proto_init() {
+ if File_MpPlayOwnerInviteNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayOwnerInviteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayOwnerInviteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayOwnerInviteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayOwnerInviteNotify_proto_goTypes,
+ DependencyIndexes: file_MpPlayOwnerInviteNotify_proto_depIdxs,
+ MessageInfos: file_MpPlayOwnerInviteNotify_proto_msgTypes,
+ }.Build()
+ File_MpPlayOwnerInviteNotify_proto = out.File
+ file_MpPlayOwnerInviteNotify_proto_rawDesc = nil
+ file_MpPlayOwnerInviteNotify_proto_goTypes = nil
+ file_MpPlayOwnerInviteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayOwnerStartInviteReq.pb.go b/protocol/proto/MpPlayOwnerStartInviteReq.pb.go
new file mode 100644
index 00000000..cfffff2e
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerStartInviteReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayOwnerStartInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1837
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MpPlayOwnerStartInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpPlayId uint32 `protobuf:"varint,3,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ IsSkipMatch bool `protobuf:"varint,6,opt,name=is_skip_match,json=isSkipMatch,proto3" json:"is_skip_match,omitempty"`
+}
+
+func (x *MpPlayOwnerStartInviteReq) Reset() {
+ *x = MpPlayOwnerStartInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayOwnerStartInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayOwnerStartInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayOwnerStartInviteReq) ProtoMessage() {}
+
+func (x *MpPlayOwnerStartInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayOwnerStartInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayOwnerStartInviteReq.ProtoReflect.Descriptor instead.
+func (*MpPlayOwnerStartInviteReq) Descriptor() ([]byte, []int) {
+ return file_MpPlayOwnerStartInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayOwnerStartInviteReq) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *MpPlayOwnerStartInviteReq) GetIsSkipMatch() bool {
+ if x != nil {
+ return x.IsSkipMatch
+ }
+ return false
+}
+
+var File_MpPlayOwnerStartInviteReq_proto protoreflect.FileDescriptor
+
+var file_MpPlayOwnerStartInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x19, 0x4d, 0x70, 0x50, 0x6c,
+ 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61,
+ 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x6b,
+ 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayOwnerStartInviteReq_proto_rawDescOnce sync.Once
+ file_MpPlayOwnerStartInviteReq_proto_rawDescData = file_MpPlayOwnerStartInviteReq_proto_rawDesc
+)
+
+func file_MpPlayOwnerStartInviteReq_proto_rawDescGZIP() []byte {
+ file_MpPlayOwnerStartInviteReq_proto_rawDescOnce.Do(func() {
+ file_MpPlayOwnerStartInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayOwnerStartInviteReq_proto_rawDescData)
+ })
+ return file_MpPlayOwnerStartInviteReq_proto_rawDescData
+}
+
+var file_MpPlayOwnerStartInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayOwnerStartInviteReq_proto_goTypes = []interface{}{
+ (*MpPlayOwnerStartInviteReq)(nil), // 0: proto.MpPlayOwnerStartInviteReq
+}
+var file_MpPlayOwnerStartInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayOwnerStartInviteReq_proto_init() }
+func file_MpPlayOwnerStartInviteReq_proto_init() {
+ if File_MpPlayOwnerStartInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayOwnerStartInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayOwnerStartInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayOwnerStartInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayOwnerStartInviteReq_proto_goTypes,
+ DependencyIndexes: file_MpPlayOwnerStartInviteReq_proto_depIdxs,
+ MessageInfos: file_MpPlayOwnerStartInviteReq_proto_msgTypes,
+ }.Build()
+ File_MpPlayOwnerStartInviteReq_proto = out.File
+ file_MpPlayOwnerStartInviteReq_proto_rawDesc = nil
+ file_MpPlayOwnerStartInviteReq_proto_goTypes = nil
+ file_MpPlayOwnerStartInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayOwnerStartInviteRsp.pb.go b/protocol/proto/MpPlayOwnerStartInviteRsp.pb.go
new file mode 100644
index 00000000..3763dda2
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerStartInviteRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayOwnerStartInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1823
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpPlayOwnerStartInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,3,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ IsSkipMatch bool `protobuf:"varint,9,opt,name=is_skip_match,json=isSkipMatch,proto3" json:"is_skip_match,omitempty"`
+}
+
+func (x *MpPlayOwnerStartInviteRsp) Reset() {
+ *x = MpPlayOwnerStartInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayOwnerStartInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayOwnerStartInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayOwnerStartInviteRsp) ProtoMessage() {}
+
+func (x *MpPlayOwnerStartInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayOwnerStartInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayOwnerStartInviteRsp.ProtoReflect.Descriptor instead.
+func (*MpPlayOwnerStartInviteRsp) Descriptor() ([]byte, []int) {
+ return file_MpPlayOwnerStartInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayOwnerStartInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MpPlayOwnerStartInviteRsp) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *MpPlayOwnerStartInviteRsp) GetIsSkipMatch() bool {
+ if x != nil {
+ return x.IsSkipMatch
+ }
+ return false
+}
+
+var File_MpPlayOwnerStartInviteRsp_proto protoreflect.FileDescriptor
+
+var file_MpPlayOwnerStartInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x19, 0x4d, 0x70, 0x50, 0x6c,
+ 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a,
+ 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayOwnerStartInviteRsp_proto_rawDescOnce sync.Once
+ file_MpPlayOwnerStartInviteRsp_proto_rawDescData = file_MpPlayOwnerStartInviteRsp_proto_rawDesc
+)
+
+func file_MpPlayOwnerStartInviteRsp_proto_rawDescGZIP() []byte {
+ file_MpPlayOwnerStartInviteRsp_proto_rawDescOnce.Do(func() {
+ file_MpPlayOwnerStartInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayOwnerStartInviteRsp_proto_rawDescData)
+ })
+ return file_MpPlayOwnerStartInviteRsp_proto_rawDescData
+}
+
+var file_MpPlayOwnerStartInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayOwnerStartInviteRsp_proto_goTypes = []interface{}{
+ (*MpPlayOwnerStartInviteRsp)(nil), // 0: proto.MpPlayOwnerStartInviteRsp
+}
+var file_MpPlayOwnerStartInviteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayOwnerStartInviteRsp_proto_init() }
+func file_MpPlayOwnerStartInviteRsp_proto_init() {
+ if File_MpPlayOwnerStartInviteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayOwnerStartInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayOwnerStartInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayOwnerStartInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayOwnerStartInviteRsp_proto_goTypes,
+ DependencyIndexes: file_MpPlayOwnerStartInviteRsp_proto_depIdxs,
+ MessageInfos: file_MpPlayOwnerStartInviteRsp_proto_msgTypes,
+ }.Build()
+ File_MpPlayOwnerStartInviteRsp_proto = out.File
+ file_MpPlayOwnerStartInviteRsp_proto_rawDesc = nil
+ file_MpPlayOwnerStartInviteRsp_proto_goTypes = nil
+ file_MpPlayOwnerStartInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayPrepareInterruptNotify.pb.go b/protocol/proto/MpPlayPrepareInterruptNotify.pb.go
new file mode 100644
index 00000000..a4eddd69
--- /dev/null
+++ b/protocol/proto/MpPlayPrepareInterruptNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayPrepareInterruptNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1813
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpPlayPrepareInterruptNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpPlayId uint32 `protobuf:"varint,12,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+}
+
+func (x *MpPlayPrepareInterruptNotify) Reset() {
+ *x = MpPlayPrepareInterruptNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayPrepareInterruptNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayPrepareInterruptNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayPrepareInterruptNotify) ProtoMessage() {}
+
+func (x *MpPlayPrepareInterruptNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayPrepareInterruptNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayPrepareInterruptNotify.ProtoReflect.Descriptor instead.
+func (*MpPlayPrepareInterruptNotify) Descriptor() ([]byte, []int) {
+ return file_MpPlayPrepareInterruptNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayPrepareInterruptNotify) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+var File_MpPlayPrepareInterruptNotify_proto protoreflect.FileDescriptor
+
+var file_MpPlayPrepareInterruptNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x49,
+ 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x1c, 0x4d,
+ 0x70, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x74, 0x65,
+ 0x72, 0x72, 0x75, 0x70, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x6d,
+ 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayPrepareInterruptNotify_proto_rawDescOnce sync.Once
+ file_MpPlayPrepareInterruptNotify_proto_rawDescData = file_MpPlayPrepareInterruptNotify_proto_rawDesc
+)
+
+func file_MpPlayPrepareInterruptNotify_proto_rawDescGZIP() []byte {
+ file_MpPlayPrepareInterruptNotify_proto_rawDescOnce.Do(func() {
+ file_MpPlayPrepareInterruptNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayPrepareInterruptNotify_proto_rawDescData)
+ })
+ return file_MpPlayPrepareInterruptNotify_proto_rawDescData
+}
+
+var file_MpPlayPrepareInterruptNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayPrepareInterruptNotify_proto_goTypes = []interface{}{
+ (*MpPlayPrepareInterruptNotify)(nil), // 0: proto.MpPlayPrepareInterruptNotify
+}
+var file_MpPlayPrepareInterruptNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayPrepareInterruptNotify_proto_init() }
+func file_MpPlayPrepareInterruptNotify_proto_init() {
+ if File_MpPlayPrepareInterruptNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayPrepareInterruptNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayPrepareInterruptNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayPrepareInterruptNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayPrepareInterruptNotify_proto_goTypes,
+ DependencyIndexes: file_MpPlayPrepareInterruptNotify_proto_depIdxs,
+ MessageInfos: file_MpPlayPrepareInterruptNotify_proto_msgTypes,
+ }.Build()
+ File_MpPlayPrepareInterruptNotify_proto = out.File
+ file_MpPlayPrepareInterruptNotify_proto_rawDesc = nil
+ file_MpPlayPrepareInterruptNotify_proto_goTypes = nil
+ file_MpPlayPrepareInterruptNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayPrepareNotify.pb.go b/protocol/proto/MpPlayPrepareNotify.pb.go
new file mode 100644
index 00000000..4a2fa643
--- /dev/null
+++ b/protocol/proto/MpPlayPrepareNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayPrepareNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1833
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MpPlayPrepareNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpPlayId uint32 `protobuf:"varint,9,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ PrepareEndTime uint32 `protobuf:"varint,11,opt,name=prepare_end_time,json=prepareEndTime,proto3" json:"prepare_end_time,omitempty"`
+}
+
+func (x *MpPlayPrepareNotify) Reset() {
+ *x = MpPlayPrepareNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayPrepareNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayPrepareNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayPrepareNotify) ProtoMessage() {}
+
+func (x *MpPlayPrepareNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayPrepareNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayPrepareNotify.ProtoReflect.Descriptor instead.
+func (*MpPlayPrepareNotify) Descriptor() ([]byte, []int) {
+ return file_MpPlayPrepareNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayPrepareNotify) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *MpPlayPrepareNotify) GetPrepareEndTime() uint32 {
+ if x != nil {
+ return x.PrepareEndTime
+ }
+ return 0
+}
+
+var File_MpPlayPrepareNotify_proto protoreflect.FileDescriptor
+
+var file_MpPlayPrepareNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x13, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x72, 0x65, 0x70,
+ 0x61, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f,
+ 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d,
+ 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x70, 0x61,
+ 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayPrepareNotify_proto_rawDescOnce sync.Once
+ file_MpPlayPrepareNotify_proto_rawDescData = file_MpPlayPrepareNotify_proto_rawDesc
+)
+
+func file_MpPlayPrepareNotify_proto_rawDescGZIP() []byte {
+ file_MpPlayPrepareNotify_proto_rawDescOnce.Do(func() {
+ file_MpPlayPrepareNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayPrepareNotify_proto_rawDescData)
+ })
+ return file_MpPlayPrepareNotify_proto_rawDescData
+}
+
+var file_MpPlayPrepareNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayPrepareNotify_proto_goTypes = []interface{}{
+ (*MpPlayPrepareNotify)(nil), // 0: proto.MpPlayPrepareNotify
+}
+var file_MpPlayPrepareNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayPrepareNotify_proto_init() }
+func file_MpPlayPrepareNotify_proto_init() {
+ if File_MpPlayPrepareNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayPrepareNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayPrepareNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayPrepareNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayPrepareNotify_proto_goTypes,
+ DependencyIndexes: file_MpPlayPrepareNotify_proto_depIdxs,
+ MessageInfos: file_MpPlayPrepareNotify_proto_msgTypes,
+ }.Build()
+ File_MpPlayPrepareNotify_proto = out.File
+ file_MpPlayPrepareNotify_proto_rawDesc = nil
+ file_MpPlayPrepareNotify_proto_goTypes = nil
+ file_MpPlayPrepareNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpPlayRewardInfo.pb.go b/protocol/proto/MpPlayRewardInfo.pb.go
new file mode 100644
index 00000000..53f8b108
--- /dev/null
+++ b/protocol/proto/MpPlayRewardInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpPlayRewardInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MpPlayRewardInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Resin uint32 `protobuf:"varint,1,opt,name=resin,proto3" json:"resin,omitempty"`
+ RemainUidList []uint32 `protobuf:"varint,2,rep,packed,name=remain_uid_list,json=remainUidList,proto3" json:"remain_uid_list,omitempty"`
+ QualifyUidList []uint32 `protobuf:"varint,3,rep,packed,name=qualify_uid_list,json=qualifyUidList,proto3" json:"qualify_uid_list,omitempty"`
+}
+
+func (x *MpPlayRewardInfo) Reset() {
+ *x = MpPlayRewardInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MpPlayRewardInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MpPlayRewardInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MpPlayRewardInfo) ProtoMessage() {}
+
+func (x *MpPlayRewardInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MpPlayRewardInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MpPlayRewardInfo.ProtoReflect.Descriptor instead.
+func (*MpPlayRewardInfo) Descriptor() ([]byte, []int) {
+ return file_MpPlayRewardInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MpPlayRewardInfo) GetResin() uint32 {
+ if x != nil {
+ return x.Resin
+ }
+ return 0
+}
+
+func (x *MpPlayRewardInfo) GetRemainUidList() []uint32 {
+ if x != nil {
+ return x.RemainUidList
+ }
+ return nil
+}
+
+func (x *MpPlayRewardInfo) GetQualifyUidList() []uint32 {
+ if x != nil {
+ return x.QualifyUidList
+ }
+ return nil
+}
+
+var File_MpPlayRewardInfo_proto protoreflect.FileDescriptor
+
+var file_MpPlayRewardInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x7a, 0x0a, 0x10, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d,
+ 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x28, 0x0a, 0x10, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x71, 0x75, 0x61,
+ 0x6c, 0x69, 0x66, 0x79, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpPlayRewardInfo_proto_rawDescOnce sync.Once
+ file_MpPlayRewardInfo_proto_rawDescData = file_MpPlayRewardInfo_proto_rawDesc
+)
+
+func file_MpPlayRewardInfo_proto_rawDescGZIP() []byte {
+ file_MpPlayRewardInfo_proto_rawDescOnce.Do(func() {
+ file_MpPlayRewardInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpPlayRewardInfo_proto_rawDescData)
+ })
+ return file_MpPlayRewardInfo_proto_rawDescData
+}
+
+var file_MpPlayRewardInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MpPlayRewardInfo_proto_goTypes = []interface{}{
+ (*MpPlayRewardInfo)(nil), // 0: proto.MpPlayRewardInfo
+}
+var file_MpPlayRewardInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpPlayRewardInfo_proto_init() }
+func file_MpPlayRewardInfo_proto_init() {
+ if File_MpPlayRewardInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MpPlayRewardInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MpPlayRewardInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpPlayRewardInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpPlayRewardInfo_proto_goTypes,
+ DependencyIndexes: file_MpPlayRewardInfo_proto_depIdxs,
+ MessageInfos: file_MpPlayRewardInfo_proto_msgTypes,
+ }.Build()
+ File_MpPlayRewardInfo_proto = out.File
+ file_MpPlayRewardInfo_proto_rawDesc = nil
+ file_MpPlayRewardInfo_proto_goTypes = nil
+ file_MpPlayRewardInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MpSettingType.pb.go b/protocol/proto/MpSettingType.pb.go
new file mode 100644
index 00000000..a6eec726
--- /dev/null
+++ b/protocol/proto/MpSettingType.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MpSettingType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MpSettingType int32
+
+const (
+ MpSettingType_MP_SETTING_TYPE_NO_ENTER MpSettingType = 0
+ MpSettingType_MP_SETTING_TYPE_ENTER_FREELY MpSettingType = 1
+ MpSettingType_MP_SETTING_TYPE_ENTER_AFTER_APPLY MpSettingType = 2
+)
+
+// Enum value maps for MpSettingType.
+var (
+ MpSettingType_name = map[int32]string{
+ 0: "MP_SETTING_TYPE_NO_ENTER",
+ 1: "MP_SETTING_TYPE_ENTER_FREELY",
+ 2: "MP_SETTING_TYPE_ENTER_AFTER_APPLY",
+ }
+ MpSettingType_value = map[string]int32{
+ "MP_SETTING_TYPE_NO_ENTER": 0,
+ "MP_SETTING_TYPE_ENTER_FREELY": 1,
+ "MP_SETTING_TYPE_ENTER_AFTER_APPLY": 2,
+ }
+)
+
+func (x MpSettingType) Enum() *MpSettingType {
+ p := new(MpSettingType)
+ *p = x
+ return p
+}
+
+func (x MpSettingType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MpSettingType) Descriptor() protoreflect.EnumDescriptor {
+ return file_MpSettingType_proto_enumTypes[0].Descriptor()
+}
+
+func (MpSettingType) Type() protoreflect.EnumType {
+ return &file_MpSettingType_proto_enumTypes[0]
+}
+
+func (x MpSettingType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MpSettingType.Descriptor instead.
+func (MpSettingType) EnumDescriptor() ([]byte, []int) {
+ return file_MpSettingType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MpSettingType_proto protoreflect.FileDescriptor
+
+var file_MpSettingType_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x4d, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x76, 0x0a, 0x0d,
+ 0x4d, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a,
+ 0x18, 0x4d, 0x50, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4e, 0x4f, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x4d,
+ 0x50, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45,
+ 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x25, 0x0a,
+ 0x21, 0x4d, 0x50, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x46, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x50, 0x50,
+ 0x4c, 0x59, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MpSettingType_proto_rawDescOnce sync.Once
+ file_MpSettingType_proto_rawDescData = file_MpSettingType_proto_rawDesc
+)
+
+func file_MpSettingType_proto_rawDescGZIP() []byte {
+ file_MpSettingType_proto_rawDescOnce.Do(func() {
+ file_MpSettingType_proto_rawDescData = protoimpl.X.CompressGZIP(file_MpSettingType_proto_rawDescData)
+ })
+ return file_MpSettingType_proto_rawDescData
+}
+
+var file_MpSettingType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_MpSettingType_proto_goTypes = []interface{}{
+ (MpSettingType)(0), // 0: proto.MpSettingType
+}
+var file_MpSettingType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MpSettingType_proto_init() }
+func file_MpSettingType_proto_init() {
+ if File_MpSettingType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MpSettingType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MpSettingType_proto_goTypes,
+ DependencyIndexes: file_MpSettingType_proto_depIdxs,
+ EnumInfos: file_MpSettingType_proto_enumTypes,
+ }.Build()
+ File_MpSettingType_proto = out.File
+ file_MpSettingType_proto_rawDesc = nil
+ file_MpSettingType_proto_goTypes = nil
+ file_MpSettingType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MsgParam.pb.go b/protocol/proto/MsgParam.pb.go
new file mode 100644
index 00000000..1f6fed49
--- /dev/null
+++ b/protocol/proto/MsgParam.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MsgParam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MsgParam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Param:
+ //
+ // *MsgParam_IntParam
+ // *MsgParam_FltParam
+ // *MsgParam_StrParam
+ Param isMsgParam_Param `protobuf_oneof:"param"`
+}
+
+func (x *MsgParam) Reset() {
+ *x = MsgParam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MsgParam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MsgParam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MsgParam) ProtoMessage() {}
+
+func (x *MsgParam) ProtoReflect() protoreflect.Message {
+ mi := &file_MsgParam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MsgParam.ProtoReflect.Descriptor instead.
+func (*MsgParam) Descriptor() ([]byte, []int) {
+ return file_MsgParam_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *MsgParam) GetParam() isMsgParam_Param {
+ if m != nil {
+ return m.Param
+ }
+ return nil
+}
+
+func (x *MsgParam) GetIntParam() uint32 {
+ if x, ok := x.GetParam().(*MsgParam_IntParam); ok {
+ return x.IntParam
+ }
+ return 0
+}
+
+func (x *MsgParam) GetFltParam() float32 {
+ if x, ok := x.GetParam().(*MsgParam_FltParam); ok {
+ return x.FltParam
+ }
+ return 0
+}
+
+func (x *MsgParam) GetStrParam() string {
+ if x, ok := x.GetParam().(*MsgParam_StrParam); ok {
+ return x.StrParam
+ }
+ return ""
+}
+
+type isMsgParam_Param interface {
+ isMsgParam_Param()
+}
+
+type MsgParam_IntParam struct {
+ IntParam uint32 `protobuf:"varint,9,opt,name=int_param,json=intParam,proto3,oneof"`
+}
+
+type MsgParam_FltParam struct {
+ FltParam float32 `protobuf:"fixed32,7,opt,name=flt_param,json=fltParam,proto3,oneof"`
+}
+
+type MsgParam_StrParam struct {
+ StrParam string `protobuf:"bytes,4,opt,name=str_param,json=strParam,proto3,oneof"`
+}
+
+func (*MsgParam_IntParam) isMsgParam_Param() {}
+
+func (*MsgParam_FltParam) isMsgParam_Param() {}
+
+func (*MsgParam_StrParam) isMsgParam_Param() {}
+
+var File_MsgParam_proto protoreflect.FileDescriptor
+
+var file_MsgParam_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x08, 0x4d, 0x73, 0x67, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x08, 0x66, 0x6c, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x12, 0x1d, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x42, 0x07, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MsgParam_proto_rawDescOnce sync.Once
+ file_MsgParam_proto_rawDescData = file_MsgParam_proto_rawDesc
+)
+
+func file_MsgParam_proto_rawDescGZIP() []byte {
+ file_MsgParam_proto_rawDescOnce.Do(func() {
+ file_MsgParam_proto_rawDescData = protoimpl.X.CompressGZIP(file_MsgParam_proto_rawDescData)
+ })
+ return file_MsgParam_proto_rawDescData
+}
+
+var file_MsgParam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MsgParam_proto_goTypes = []interface{}{
+ (*MsgParam)(nil), // 0: proto.MsgParam
+}
+var file_MsgParam_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MsgParam_proto_init() }
+func file_MsgParam_proto_init() {
+ if File_MsgParam_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MsgParam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MsgParam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_MsgParam_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*MsgParam_IntParam)(nil),
+ (*MsgParam_FltParam)(nil),
+ (*MsgParam_StrParam)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MsgParam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MsgParam_proto_goTypes,
+ DependencyIndexes: file_MsgParam_proto_depIdxs,
+ MessageInfos: file_MsgParam_proto_msgTypes,
+ }.Build()
+ File_MsgParam_proto = out.File
+ file_MsgParam_proto_rawDesc = nil
+ file_MsgParam_proto_goTypes = nil
+ file_MsgParam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MultistagePlayEndNotify.pb.go b/protocol/proto/MultistagePlayEndNotify.pb.go
new file mode 100644
index 00000000..297c18f4
--- /dev/null
+++ b/protocol/proto/MultistagePlayEndNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MultistagePlayEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5355
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MultistagePlayEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,5,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,13,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+}
+
+func (x *MultistagePlayEndNotify) Reset() {
+ *x = MultistagePlayEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MultistagePlayEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MultistagePlayEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MultistagePlayEndNotify) ProtoMessage() {}
+
+func (x *MultistagePlayEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MultistagePlayEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MultistagePlayEndNotify.ProtoReflect.Descriptor instead.
+func (*MultistagePlayEndNotify) Descriptor() ([]byte, []int) {
+ return file_MultistagePlayEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MultistagePlayEndNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *MultistagePlayEndNotify) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+var File_MultistagePlayEndNotify_proto protoreflect.FileDescriptor
+
+var file_MultistagePlayEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MultistagePlayEndNotify_proto_rawDescOnce sync.Once
+ file_MultistagePlayEndNotify_proto_rawDescData = file_MultistagePlayEndNotify_proto_rawDesc
+)
+
+func file_MultistagePlayEndNotify_proto_rawDescGZIP() []byte {
+ file_MultistagePlayEndNotify_proto_rawDescOnce.Do(func() {
+ file_MultistagePlayEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MultistagePlayEndNotify_proto_rawDescData)
+ })
+ return file_MultistagePlayEndNotify_proto_rawDescData
+}
+
+var file_MultistagePlayEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MultistagePlayEndNotify_proto_goTypes = []interface{}{
+ (*MultistagePlayEndNotify)(nil), // 0: proto.MultistagePlayEndNotify
+}
+var file_MultistagePlayEndNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MultistagePlayEndNotify_proto_init() }
+func file_MultistagePlayEndNotify_proto_init() {
+ if File_MultistagePlayEndNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MultistagePlayEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MultistagePlayEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MultistagePlayEndNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MultistagePlayEndNotify_proto_goTypes,
+ DependencyIndexes: file_MultistagePlayEndNotify_proto_depIdxs,
+ MessageInfos: file_MultistagePlayEndNotify_proto_msgTypes,
+ }.Build()
+ File_MultistagePlayEndNotify_proto = out.File
+ file_MultistagePlayEndNotify_proto_rawDesc = nil
+ file_MultistagePlayEndNotify_proto_goTypes = nil
+ file_MultistagePlayEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MultistagePlayFinishStageReq.pb.go b/protocol/proto/MultistagePlayFinishStageReq.pb.go
new file mode 100644
index 00000000..c0b21029
--- /dev/null
+++ b/protocol/proto/MultistagePlayFinishStageReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MultistagePlayFinishStageReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5398
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MultistagePlayFinishStageReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,15,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+}
+
+func (x *MultistagePlayFinishStageReq) Reset() {
+ *x = MultistagePlayFinishStageReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MultistagePlayFinishStageReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MultistagePlayFinishStageReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MultistagePlayFinishStageReq) ProtoMessage() {}
+
+func (x *MultistagePlayFinishStageReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MultistagePlayFinishStageReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MultistagePlayFinishStageReq.ProtoReflect.Descriptor instead.
+func (*MultistagePlayFinishStageReq) Descriptor() ([]byte, []int) {
+ return file_MultistagePlayFinishStageReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MultistagePlayFinishStageReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *MultistagePlayFinishStageReq) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+var File_MultistagePlayFinishStageReq_proto protoreflect.FileDescriptor
+
+var file_MultistagePlayFinishStageReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1c, 0x4d,
+ 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MultistagePlayFinishStageReq_proto_rawDescOnce sync.Once
+ file_MultistagePlayFinishStageReq_proto_rawDescData = file_MultistagePlayFinishStageReq_proto_rawDesc
+)
+
+func file_MultistagePlayFinishStageReq_proto_rawDescGZIP() []byte {
+ file_MultistagePlayFinishStageReq_proto_rawDescOnce.Do(func() {
+ file_MultistagePlayFinishStageReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MultistagePlayFinishStageReq_proto_rawDescData)
+ })
+ return file_MultistagePlayFinishStageReq_proto_rawDescData
+}
+
+var file_MultistagePlayFinishStageReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MultistagePlayFinishStageReq_proto_goTypes = []interface{}{
+ (*MultistagePlayFinishStageReq)(nil), // 0: proto.MultistagePlayFinishStageReq
+}
+var file_MultistagePlayFinishStageReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MultistagePlayFinishStageReq_proto_init() }
+func file_MultistagePlayFinishStageReq_proto_init() {
+ if File_MultistagePlayFinishStageReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MultistagePlayFinishStageReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MultistagePlayFinishStageReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MultistagePlayFinishStageReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MultistagePlayFinishStageReq_proto_goTypes,
+ DependencyIndexes: file_MultistagePlayFinishStageReq_proto_depIdxs,
+ MessageInfos: file_MultistagePlayFinishStageReq_proto_msgTypes,
+ }.Build()
+ File_MultistagePlayFinishStageReq_proto = out.File
+ file_MultistagePlayFinishStageReq_proto_rawDesc = nil
+ file_MultistagePlayFinishStageReq_proto_goTypes = nil
+ file_MultistagePlayFinishStageReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MultistagePlayFinishStageRsp.pb.go b/protocol/proto/MultistagePlayFinishStageRsp.pb.go
new file mode 100644
index 00000000..9ce712f9
--- /dev/null
+++ b/protocol/proto/MultistagePlayFinishStageRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MultistagePlayFinishStageRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5381
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MultistagePlayFinishStageRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GroupId uint32 `protobuf:"varint,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,6,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+}
+
+func (x *MultistagePlayFinishStageRsp) Reset() {
+ *x = MultistagePlayFinishStageRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MultistagePlayFinishStageRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MultistagePlayFinishStageRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MultistagePlayFinishStageRsp) ProtoMessage() {}
+
+func (x *MultistagePlayFinishStageRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MultistagePlayFinishStageRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MultistagePlayFinishStageRsp.ProtoReflect.Descriptor instead.
+func (*MultistagePlayFinishStageRsp) Descriptor() ([]byte, []int) {
+ return file_MultistagePlayFinishStageRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MultistagePlayFinishStageRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MultistagePlayFinishStageRsp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *MultistagePlayFinishStageRsp) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+var File_MultistagePlayFinishStageRsp_proto protoreflect.FileDescriptor
+
+var file_MultistagePlayFinishStageRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1c, 0x4d,
+ 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MultistagePlayFinishStageRsp_proto_rawDescOnce sync.Once
+ file_MultistagePlayFinishStageRsp_proto_rawDescData = file_MultistagePlayFinishStageRsp_proto_rawDesc
+)
+
+func file_MultistagePlayFinishStageRsp_proto_rawDescGZIP() []byte {
+ file_MultistagePlayFinishStageRsp_proto_rawDescOnce.Do(func() {
+ file_MultistagePlayFinishStageRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MultistagePlayFinishStageRsp_proto_rawDescData)
+ })
+ return file_MultistagePlayFinishStageRsp_proto_rawDescData
+}
+
+var file_MultistagePlayFinishStageRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MultistagePlayFinishStageRsp_proto_goTypes = []interface{}{
+ (*MultistagePlayFinishStageRsp)(nil), // 0: proto.MultistagePlayFinishStageRsp
+}
+var file_MultistagePlayFinishStageRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MultistagePlayFinishStageRsp_proto_init() }
+func file_MultistagePlayFinishStageRsp_proto_init() {
+ if File_MultistagePlayFinishStageRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MultistagePlayFinishStageRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MultistagePlayFinishStageRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MultistagePlayFinishStageRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MultistagePlayFinishStageRsp_proto_goTypes,
+ DependencyIndexes: file_MultistagePlayFinishStageRsp_proto_depIdxs,
+ MessageInfos: file_MultistagePlayFinishStageRsp_proto_msgTypes,
+ }.Build()
+ File_MultistagePlayFinishStageRsp_proto = out.File
+ file_MultistagePlayFinishStageRsp_proto_rawDesc = nil
+ file_MultistagePlayFinishStageRsp_proto_goTypes = nil
+ file_MultistagePlayFinishStageRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MultistagePlayInfo.pb.go b/protocol/proto/MultistagePlayInfo.pb.go
new file mode 100644
index 00000000..b989f1df
--- /dev/null
+++ b/protocol/proto/MultistagePlayInfo.pb.go
@@ -0,0 +1,380 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MultistagePlayInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MultistagePlayInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayIndex uint32 `protobuf:"varint,13,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ PlayType uint32 `protobuf:"varint,11,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ StageType uint32 `protobuf:"varint,10,opt,name=stage_type,json=stageType,proto3" json:"stage_type,omitempty"`
+ Duration uint32 `protobuf:"varint,8,opt,name=duration,proto3" json:"duration,omitempty"`
+ GroupId uint32 `protobuf:"varint,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ BeginTime uint32 `protobuf:"varint,9,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ StageIndex uint32 `protobuf:"varint,1,opt,name=stage_index,json=stageIndex,proto3" json:"stage_index,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *MultistagePlayInfo_MechanicusInfo
+ // *MultistagePlayInfo_FleurFairInfo
+ // *MultistagePlayInfo_HideAndSeekInfo
+ // *MultistagePlayInfo_ChessInfo
+ // *MultistagePlayInfo_IrodoriChessInfo
+ // *MultistagePlayInfo_CharAmusementInfo
+ Detail isMultistagePlayInfo_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *MultistagePlayInfo) Reset() {
+ *x = MultistagePlayInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MultistagePlayInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MultistagePlayInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MultistagePlayInfo) ProtoMessage() {}
+
+func (x *MultistagePlayInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MultistagePlayInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MultistagePlayInfo.ProtoReflect.Descriptor instead.
+func (*MultistagePlayInfo) Descriptor() ([]byte, []int) {
+ return file_MultistagePlayInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MultistagePlayInfo) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *MultistagePlayInfo) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *MultistagePlayInfo) GetStageType() uint32 {
+ if x != nil {
+ return x.StageType
+ }
+ return 0
+}
+
+func (x *MultistagePlayInfo) GetDuration() uint32 {
+ if x != nil {
+ return x.Duration
+ }
+ return 0
+}
+
+func (x *MultistagePlayInfo) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *MultistagePlayInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *MultistagePlayInfo) GetStageIndex() uint32 {
+ if x != nil {
+ return x.StageIndex
+ }
+ return 0
+}
+
+func (m *MultistagePlayInfo) GetDetail() isMultistagePlayInfo_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *MultistagePlayInfo) GetMechanicusInfo() *InBattleMechanicusInfo {
+ if x, ok := x.GetDetail().(*MultistagePlayInfo_MechanicusInfo); ok {
+ return x.MechanicusInfo
+ }
+ return nil
+}
+
+func (x *MultistagePlayInfo) GetFleurFairInfo() *InBattleFleurFairInfo {
+ if x, ok := x.GetDetail().(*MultistagePlayInfo_FleurFairInfo); ok {
+ return x.FleurFairInfo
+ }
+ return nil
+}
+
+func (x *MultistagePlayInfo) GetHideAndSeekInfo() *HideAndSeekStageInfo {
+ if x, ok := x.GetDetail().(*MultistagePlayInfo_HideAndSeekInfo); ok {
+ return x.HideAndSeekInfo
+ }
+ return nil
+}
+
+func (x *MultistagePlayInfo) GetChessInfo() *InBattleChessInfo {
+ if x, ok := x.GetDetail().(*MultistagePlayInfo_ChessInfo); ok {
+ return x.ChessInfo
+ }
+ return nil
+}
+
+func (x *MultistagePlayInfo) GetIrodoriChessInfo() *IrodoriChessInfo {
+ if x, ok := x.GetDetail().(*MultistagePlayInfo_IrodoriChessInfo); ok {
+ return x.IrodoriChessInfo
+ }
+ return nil
+}
+
+func (x *MultistagePlayInfo) GetCharAmusementInfo() *CharAmusementInfo {
+ if x, ok := x.GetDetail().(*MultistagePlayInfo_CharAmusementInfo); ok {
+ return x.CharAmusementInfo
+ }
+ return nil
+}
+
+type isMultistagePlayInfo_Detail interface {
+ isMultistagePlayInfo_Detail()
+}
+
+type MultistagePlayInfo_MechanicusInfo struct {
+ MechanicusInfo *InBattleMechanicusInfo `protobuf:"bytes,1334,opt,name=mechanicus_info,json=mechanicusInfo,proto3,oneof"`
+}
+
+type MultistagePlayInfo_FleurFairInfo struct {
+ FleurFairInfo *InBattleFleurFairInfo `protobuf:"bytes,1064,opt,name=fleur_fair_info,json=fleurFairInfo,proto3,oneof"`
+}
+
+type MultistagePlayInfo_HideAndSeekInfo struct {
+ HideAndSeekInfo *HideAndSeekStageInfo `protobuf:"bytes,108,opt,name=hide_and_seek_info,json=hideAndSeekInfo,proto3,oneof"`
+}
+
+type MultistagePlayInfo_ChessInfo struct {
+ ChessInfo *InBattleChessInfo `protobuf:"bytes,1758,opt,name=chess_info,json=chessInfo,proto3,oneof"`
+}
+
+type MultistagePlayInfo_IrodoriChessInfo struct {
+ IrodoriChessInfo *IrodoriChessInfo `protobuf:"bytes,531,opt,name=irodori_chess_info,json=irodoriChessInfo,proto3,oneof"`
+}
+
+type MultistagePlayInfo_CharAmusementInfo struct {
+ CharAmusementInfo *CharAmusementInfo `protobuf:"bytes,324,opt,name=char_amusement_info,json=charAmusementInfo,proto3,oneof"`
+}
+
+func (*MultistagePlayInfo_MechanicusInfo) isMultistagePlayInfo_Detail() {}
+
+func (*MultistagePlayInfo_FleurFairInfo) isMultistagePlayInfo_Detail() {}
+
+func (*MultistagePlayInfo_HideAndSeekInfo) isMultistagePlayInfo_Detail() {}
+
+func (*MultistagePlayInfo_ChessInfo) isMultistagePlayInfo_Detail() {}
+
+func (*MultistagePlayInfo_IrodoriChessInfo) isMultistagePlayInfo_Detail() {}
+
+func (*MultistagePlayInfo_CharAmusementInfo) isMultistagePlayInfo_Detail() {}
+
+var File_MultistagePlayInfo_proto protoreflect.FileDescriptor
+
+var file_MultistagePlayInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x17, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x48, 0x69, 0x64, 0x65,
+ 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1b, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61,
+ 0x69, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x49, 0x6e,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x49, 0x72, 0x6f, 0x64,
+ 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xa3, 0x05, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61,
+ 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70,
+ 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6c, 0x61,
+ 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62,
+ 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x49, 0x0a, 0x0f, 0x6d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xb6,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63,
+ 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x0f, 0x66, 0x6c, 0x65, 0x75, 0x72, 0x5f,
+ 0x66, 0x61, 0x69, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xa8, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x46, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x0d, 0x66, 0x6c, 0x65, 0x75, 0x72, 0x46, 0x61, 0x69, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x4a, 0x0a, 0x12, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x65, 0x6b,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x68, 0x69, 0x64, 0x65,
+ 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0a, 0x63,
+ 0x68, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xde, 0x0d, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68,
+ 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x12, 0x69, 0x72, 0x6f, 0x64, 0x6f,
+ 0x72, 0x69, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x93, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x72, 0x6f,
+ 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x10, 0x69, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x4b, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x61, 0x6d, 0x75, 0x73, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xc4, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73,
+ 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x63, 0x68, 0x61,
+ 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x08,
+ 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MultistagePlayInfo_proto_rawDescOnce sync.Once
+ file_MultistagePlayInfo_proto_rawDescData = file_MultistagePlayInfo_proto_rawDesc
+)
+
+func file_MultistagePlayInfo_proto_rawDescGZIP() []byte {
+ file_MultistagePlayInfo_proto_rawDescOnce.Do(func() {
+ file_MultistagePlayInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MultistagePlayInfo_proto_rawDescData)
+ })
+ return file_MultistagePlayInfo_proto_rawDescData
+}
+
+var file_MultistagePlayInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MultistagePlayInfo_proto_goTypes = []interface{}{
+ (*MultistagePlayInfo)(nil), // 0: proto.MultistagePlayInfo
+ (*InBattleMechanicusInfo)(nil), // 1: proto.InBattleMechanicusInfo
+ (*InBattleFleurFairInfo)(nil), // 2: proto.InBattleFleurFairInfo
+ (*HideAndSeekStageInfo)(nil), // 3: proto.HideAndSeekStageInfo
+ (*InBattleChessInfo)(nil), // 4: proto.InBattleChessInfo
+ (*IrodoriChessInfo)(nil), // 5: proto.IrodoriChessInfo
+ (*CharAmusementInfo)(nil), // 6: proto.CharAmusementInfo
+}
+var file_MultistagePlayInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MultistagePlayInfo.mechanicus_info:type_name -> proto.InBattleMechanicusInfo
+ 2, // 1: proto.MultistagePlayInfo.fleur_fair_info:type_name -> proto.InBattleFleurFairInfo
+ 3, // 2: proto.MultistagePlayInfo.hide_and_seek_info:type_name -> proto.HideAndSeekStageInfo
+ 4, // 3: proto.MultistagePlayInfo.chess_info:type_name -> proto.InBattleChessInfo
+ 5, // 4: proto.MultistagePlayInfo.irodori_chess_info:type_name -> proto.IrodoriChessInfo
+ 6, // 5: proto.MultistagePlayInfo.char_amusement_info:type_name -> proto.CharAmusementInfo
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_MultistagePlayInfo_proto_init() }
+func file_MultistagePlayInfo_proto_init() {
+ if File_MultistagePlayInfo_proto != nil {
+ return
+ }
+ file_CharAmusementInfo_proto_init()
+ file_HideAndSeekStageInfo_proto_init()
+ file_InBattleChessInfo_proto_init()
+ file_InBattleFleurFairInfo_proto_init()
+ file_InBattleMechanicusInfo_proto_init()
+ file_IrodoriChessInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MultistagePlayInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MultistagePlayInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_MultistagePlayInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*MultistagePlayInfo_MechanicusInfo)(nil),
+ (*MultistagePlayInfo_FleurFairInfo)(nil),
+ (*MultistagePlayInfo_HideAndSeekInfo)(nil),
+ (*MultistagePlayInfo_ChessInfo)(nil),
+ (*MultistagePlayInfo_IrodoriChessInfo)(nil),
+ (*MultistagePlayInfo_CharAmusementInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MultistagePlayInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MultistagePlayInfo_proto_goTypes,
+ DependencyIndexes: file_MultistagePlayInfo_proto_depIdxs,
+ MessageInfos: file_MultistagePlayInfo_proto_msgTypes,
+ }.Build()
+ File_MultistagePlayInfo_proto = out.File
+ file_MultistagePlayInfo_proto_rawDesc = nil
+ file_MultistagePlayInfo_proto_goTypes = nil
+ file_MultistagePlayInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MultistagePlayInfoNotify.pb.go b/protocol/proto/MultistagePlayInfoNotify.pb.go
new file mode 100644
index 00000000..4fd7aac4
--- /dev/null
+++ b/protocol/proto/MultistagePlayInfoNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MultistagePlayInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5372
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MultistagePlayInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *MultistagePlayInfo `protobuf:"bytes,13,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *MultistagePlayInfoNotify) Reset() {
+ *x = MultistagePlayInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MultistagePlayInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MultistagePlayInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MultistagePlayInfoNotify) ProtoMessage() {}
+
+func (x *MultistagePlayInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MultistagePlayInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MultistagePlayInfoNotify.ProtoReflect.Descriptor instead.
+func (*MultistagePlayInfoNotify) Descriptor() ([]byte, []int) {
+ return file_MultistagePlayInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MultistagePlayInfoNotify) GetInfo() *MultistagePlayInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_MultistagePlayInfoNotify_proto protoreflect.FileDescriptor
+
+var file_MultistagePlayInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x49, 0x0a, 0x18, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50,
+ 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2d, 0x0a,
+ 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c,
+ 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MultistagePlayInfoNotify_proto_rawDescOnce sync.Once
+ file_MultistagePlayInfoNotify_proto_rawDescData = file_MultistagePlayInfoNotify_proto_rawDesc
+)
+
+func file_MultistagePlayInfoNotify_proto_rawDescGZIP() []byte {
+ file_MultistagePlayInfoNotify_proto_rawDescOnce.Do(func() {
+ file_MultistagePlayInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MultistagePlayInfoNotify_proto_rawDescData)
+ })
+ return file_MultistagePlayInfoNotify_proto_rawDescData
+}
+
+var file_MultistagePlayInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MultistagePlayInfoNotify_proto_goTypes = []interface{}{
+ (*MultistagePlayInfoNotify)(nil), // 0: proto.MultistagePlayInfoNotify
+ (*MultistagePlayInfo)(nil), // 1: proto.MultistagePlayInfo
+}
+var file_MultistagePlayInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MultistagePlayInfoNotify.info:type_name -> proto.MultistagePlayInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MultistagePlayInfoNotify_proto_init() }
+func file_MultistagePlayInfoNotify_proto_init() {
+ if File_MultistagePlayInfoNotify_proto != nil {
+ return
+ }
+ file_MultistagePlayInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MultistagePlayInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MultistagePlayInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MultistagePlayInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MultistagePlayInfoNotify_proto_goTypes,
+ DependencyIndexes: file_MultistagePlayInfoNotify_proto_depIdxs,
+ MessageInfos: file_MultistagePlayInfoNotify_proto_msgTypes,
+ }.Build()
+ File_MultistagePlayInfoNotify_proto = out.File
+ file_MultistagePlayInfoNotify_proto_rawDesc = nil
+ file_MultistagePlayInfoNotify_proto_goTypes = nil
+ file_MultistagePlayInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MultistagePlaySettleNotify.pb.go b/protocol/proto/MultistagePlaySettleNotify.pb.go
new file mode 100644
index 00000000..398502fe
--- /dev/null
+++ b/protocol/proto/MultistagePlaySettleNotify.pb.go
@@ -0,0 +1,267 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MultistagePlaySettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5313
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MultistagePlaySettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayIndex uint32 `protobuf:"varint,14,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+ GroupId uint32 `protobuf:"varint,4,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *MultistagePlaySettleNotify_MechanicusSettleInfo
+ // *MultistagePlaySettleNotify_ChessSettleInfo
+ // *MultistagePlaySettleNotify_IrodoriChessSettleInfo
+ Detail isMultistagePlaySettleNotify_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *MultistagePlaySettleNotify) Reset() {
+ *x = MultistagePlaySettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MultistagePlaySettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MultistagePlaySettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MultistagePlaySettleNotify) ProtoMessage() {}
+
+func (x *MultistagePlaySettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MultistagePlaySettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MultistagePlaySettleNotify.ProtoReflect.Descriptor instead.
+func (*MultistagePlaySettleNotify) Descriptor() ([]byte, []int) {
+ return file_MultistagePlaySettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MultistagePlaySettleNotify) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+func (x *MultistagePlaySettleNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (m *MultistagePlaySettleNotify) GetDetail() isMultistagePlaySettleNotify_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *MultistagePlaySettleNotify) GetMechanicusSettleInfo() *InBattleMechanicusSettleInfo {
+ if x, ok := x.GetDetail().(*MultistagePlaySettleNotify_MechanicusSettleInfo); ok {
+ return x.MechanicusSettleInfo
+ }
+ return nil
+}
+
+func (x *MultistagePlaySettleNotify) GetChessSettleInfo() *InBattleChessSettleInfo {
+ if x, ok := x.GetDetail().(*MultistagePlaySettleNotify_ChessSettleInfo); ok {
+ return x.ChessSettleInfo
+ }
+ return nil
+}
+
+func (x *MultistagePlaySettleNotify) GetIrodoriChessSettleInfo() *InBattleIrodoriChessSettleInfo {
+ if x, ok := x.GetDetail().(*MultistagePlaySettleNotify_IrodoriChessSettleInfo); ok {
+ return x.IrodoriChessSettleInfo
+ }
+ return nil
+}
+
+type isMultistagePlaySettleNotify_Detail interface {
+ isMultistagePlaySettleNotify_Detail()
+}
+
+type MultistagePlaySettleNotify_MechanicusSettleInfo struct {
+ MechanicusSettleInfo *InBattleMechanicusSettleInfo `protobuf:"bytes,1402,opt,name=mechanicus_settle_info,json=mechanicusSettleInfo,proto3,oneof"`
+}
+
+type MultistagePlaySettleNotify_ChessSettleInfo struct {
+ ChessSettleInfo *InBattleChessSettleInfo `protobuf:"bytes,1283,opt,name=chess_settle_info,json=chessSettleInfo,proto3,oneof"`
+}
+
+type MultistagePlaySettleNotify_IrodoriChessSettleInfo struct {
+ IrodoriChessSettleInfo *InBattleIrodoriChessSettleInfo `protobuf:"bytes,612,opt,name=irodori_chess_settle_info,json=irodoriChessSettleInfo,proto3,oneof"`
+}
+
+func (*MultistagePlaySettleNotify_MechanicusSettleInfo) isMultistagePlaySettleNotify_Detail() {}
+
+func (*MultistagePlaySettleNotify_ChessSettleInfo) isMultistagePlaySettleNotify_Detail() {}
+
+func (*MultistagePlaySettleNotify_IrodoriChessSettleInfo) isMultistagePlaySettleNotify_Detail() {}
+
+var File_MultistagePlaySettleNotify_proto protoreflect.FileDescriptor
+
+var file_MultistagePlaySettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x49, 0x6e, 0x42, 0x61, 0x74,
+ 0x74, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22,
+ 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63,
+ 0x75, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xf2, 0x02, 0x0a, 0x1a, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x5c, 0x0a, 0x16, 0x6d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xfa, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x65, 0x63,
+ 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x11, 0x63, 0x68, 0x65,
+ 0x73, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x83,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x63, 0x0a, 0x19, 0x69, 0x72, 0x6f, 0x64,
+ 0x6f, 0x72, 0x69, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xe4, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x72, 0x6f,
+ 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x16, 0x69, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x43, 0x68,
+ 0x65, 0x73, 0x73, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x08, 0x0a,
+ 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MultistagePlaySettleNotify_proto_rawDescOnce sync.Once
+ file_MultistagePlaySettleNotify_proto_rawDescData = file_MultistagePlaySettleNotify_proto_rawDesc
+)
+
+func file_MultistagePlaySettleNotify_proto_rawDescGZIP() []byte {
+ file_MultistagePlaySettleNotify_proto_rawDescOnce.Do(func() {
+ file_MultistagePlaySettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MultistagePlaySettleNotify_proto_rawDescData)
+ })
+ return file_MultistagePlaySettleNotify_proto_rawDescData
+}
+
+var file_MultistagePlaySettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MultistagePlaySettleNotify_proto_goTypes = []interface{}{
+ (*MultistagePlaySettleNotify)(nil), // 0: proto.MultistagePlaySettleNotify
+ (*InBattleMechanicusSettleInfo)(nil), // 1: proto.InBattleMechanicusSettleInfo
+ (*InBattleChessSettleInfo)(nil), // 2: proto.InBattleChessSettleInfo
+ (*InBattleIrodoriChessSettleInfo)(nil), // 3: proto.InBattleIrodoriChessSettleInfo
+}
+var file_MultistagePlaySettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.MultistagePlaySettleNotify.mechanicus_settle_info:type_name -> proto.InBattleMechanicusSettleInfo
+ 2, // 1: proto.MultistagePlaySettleNotify.chess_settle_info:type_name -> proto.InBattleChessSettleInfo
+ 3, // 2: proto.MultistagePlaySettleNotify.irodori_chess_settle_info:type_name -> proto.InBattleIrodoriChessSettleInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_MultistagePlaySettleNotify_proto_init() }
+func file_MultistagePlaySettleNotify_proto_init() {
+ if File_MultistagePlaySettleNotify_proto != nil {
+ return
+ }
+ file_InBattleChessSettleInfo_proto_init()
+ file_InBattleIrodoriChessSettleInfo_proto_init()
+ file_InBattleMechanicusSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MultistagePlaySettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MultistagePlaySettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_MultistagePlaySettleNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*MultistagePlaySettleNotify_MechanicusSettleInfo)(nil),
+ (*MultistagePlaySettleNotify_ChessSettleInfo)(nil),
+ (*MultistagePlaySettleNotify_IrodoriChessSettleInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MultistagePlaySettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MultistagePlaySettleNotify_proto_goTypes,
+ DependencyIndexes: file_MultistagePlaySettleNotify_proto_depIdxs,
+ MessageInfos: file_MultistagePlaySettleNotify_proto_msgTypes,
+ }.Build()
+ File_MultistagePlaySettleNotify_proto = out.File
+ file_MultistagePlaySettleNotify_proto_rawDesc = nil
+ file_MultistagePlaySettleNotify_proto_goTypes = nil
+ file_MultistagePlaySettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MultistagePlayStageEndNotify.pb.go b/protocol/proto/MultistagePlayStageEndNotify.pb.go
new file mode 100644
index 00000000..e007eca2
--- /dev/null
+++ b/protocol/proto/MultistagePlayStageEndNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MultistagePlayStageEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5379
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MultistagePlayStageEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,15,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ PlayIndex uint32 `protobuf:"varint,9,opt,name=play_index,json=playIndex,proto3" json:"play_index,omitempty"`
+}
+
+func (x *MultistagePlayStageEndNotify) Reset() {
+ *x = MultistagePlayStageEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MultistagePlayStageEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MultistagePlayStageEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MultistagePlayStageEndNotify) ProtoMessage() {}
+
+func (x *MultistagePlayStageEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MultistagePlayStageEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MultistagePlayStageEndNotify.ProtoReflect.Descriptor instead.
+func (*MultistagePlayStageEndNotify) Descriptor() ([]byte, []int) {
+ return file_MultistagePlayStageEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MultistagePlayStageEndNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *MultistagePlayStageEndNotify) GetPlayIndex() uint32 {
+ if x != nil {
+ return x.PlayIndex
+ }
+ return 0
+}
+
+var File_MultistagePlayStageEndNotify_proto protoreflect.FileDescriptor
+
+var file_MultistagePlayStageEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1c, 0x4d,
+ 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MultistagePlayStageEndNotify_proto_rawDescOnce sync.Once
+ file_MultistagePlayStageEndNotify_proto_rawDescData = file_MultistagePlayStageEndNotify_proto_rawDesc
+)
+
+func file_MultistagePlayStageEndNotify_proto_rawDescGZIP() []byte {
+ file_MultistagePlayStageEndNotify_proto_rawDescOnce.Do(func() {
+ file_MultistagePlayStageEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MultistagePlayStageEndNotify_proto_rawDescData)
+ })
+ return file_MultistagePlayStageEndNotify_proto_rawDescData
+}
+
+var file_MultistagePlayStageEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MultistagePlayStageEndNotify_proto_goTypes = []interface{}{
+ (*MultistagePlayStageEndNotify)(nil), // 0: proto.MultistagePlayStageEndNotify
+}
+var file_MultistagePlayStageEndNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MultistagePlayStageEndNotify_proto_init() }
+func file_MultistagePlayStageEndNotify_proto_init() {
+ if File_MultistagePlayStageEndNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MultistagePlayStageEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MultistagePlayStageEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MultistagePlayStageEndNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MultistagePlayStageEndNotify_proto_goTypes,
+ DependencyIndexes: file_MultistagePlayStageEndNotify_proto_depIdxs,
+ MessageInfos: file_MultistagePlayStageEndNotify_proto_msgTypes,
+ }.Build()
+ File_MultistagePlayStageEndNotify_proto = out.File
+ file_MultistagePlayStageEndNotify_proto_rawDesc = nil
+ file_MultistagePlayStageEndNotify_proto_goTypes = nil
+ file_MultistagePlayStageEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MultistageSettleWatcherInfo.pb.go b/protocol/proto/MultistageSettleWatcherInfo.pb.go
new file mode 100644
index 00000000..aa2d275a
--- /dev/null
+++ b/protocol/proto/MultistageSettleWatcherInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MultistageSettleWatcherInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MultistageSettleWatcherInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalProgress uint32 `protobuf:"varint,13,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+ CurProgress uint32 `protobuf:"varint,5,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+ WatcherId uint32 `protobuf:"varint,7,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+ IsInverse bool `protobuf:"varint,12,opt,name=is_inverse,json=isInverse,proto3" json:"is_inverse,omitempty"`
+}
+
+func (x *MultistageSettleWatcherInfo) Reset() {
+ *x = MultistageSettleWatcherInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MultistageSettleWatcherInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MultistageSettleWatcherInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MultistageSettleWatcherInfo) ProtoMessage() {}
+
+func (x *MultistageSettleWatcherInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MultistageSettleWatcherInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MultistageSettleWatcherInfo.ProtoReflect.Descriptor instead.
+func (*MultistageSettleWatcherInfo) Descriptor() ([]byte, []int) {
+ return file_MultistageSettleWatcherInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MultistageSettleWatcherInfo) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+func (x *MultistageSettleWatcherInfo) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+func (x *MultistageSettleWatcherInfo) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+func (x *MultistageSettleWatcherInfo) GetIsInverse() bool {
+ if x != nil {
+ return x.IsInverse
+ }
+ return false
+}
+
+var File_MultistageSettleWatcherInfo_proto protoreflect.FileDescriptor
+
+var file_MultistageSettleWatcherInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a, 0x1b, 0x4d,
+ 0x75, 0x6c, 0x74, 0x69, 0x73, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x57,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
+ 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
+ 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x73,
+ 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x49, 0x6e, 0x76, 0x65, 0x72,
+ 0x73, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MultistageSettleWatcherInfo_proto_rawDescOnce sync.Once
+ file_MultistageSettleWatcherInfo_proto_rawDescData = file_MultistageSettleWatcherInfo_proto_rawDesc
+)
+
+func file_MultistageSettleWatcherInfo_proto_rawDescGZIP() []byte {
+ file_MultistageSettleWatcherInfo_proto_rawDescOnce.Do(func() {
+ file_MultistageSettleWatcherInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MultistageSettleWatcherInfo_proto_rawDescData)
+ })
+ return file_MultistageSettleWatcherInfo_proto_rawDescData
+}
+
+var file_MultistageSettleWatcherInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MultistageSettleWatcherInfo_proto_goTypes = []interface{}{
+ (*MultistageSettleWatcherInfo)(nil), // 0: proto.MultistageSettleWatcherInfo
+}
+var file_MultistageSettleWatcherInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MultistageSettleWatcherInfo_proto_init() }
+func file_MultistageSettleWatcherInfo_proto_init() {
+ if File_MultistageSettleWatcherInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MultistageSettleWatcherInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MultistageSettleWatcherInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MultistageSettleWatcherInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MultistageSettleWatcherInfo_proto_goTypes,
+ DependencyIndexes: file_MultistageSettleWatcherInfo_proto_depIdxs,
+ MessageInfos: file_MultistageSettleWatcherInfo_proto_msgTypes,
+ }.Build()
+ File_MultistageSettleWatcherInfo_proto = out.File
+ file_MultistageSettleWatcherInfo_proto_rawDesc = nil
+ file_MultistageSettleWatcherInfo_proto_goTypes = nil
+ file_MultistageSettleWatcherInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionActivityDetailInfo.pb.go b/protocol/proto/MuqadasPotionActivityDetailInfo.pb.go
new file mode 100644
index 00000000..a0307739
--- /dev/null
+++ b/protocol/proto/MuqadasPotionActivityDetailInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MuqadasPotionActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MuqadasPotionLevelDataList []*MuqadasPotionLevelData `protobuf:"bytes,8,rep,name=muqadas_potion_level_data_list,json=muqadasPotionLevelDataList,proto3" json:"muqadas_potion_level_data_list,omitempty"`
+}
+
+func (x *MuqadasPotionActivityDetailInfo) Reset() {
+ *x = MuqadasPotionActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionActivityDetailInfo) ProtoMessage() {}
+
+func (x *MuqadasPotionActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MuqadasPotionActivityDetailInfo) GetMuqadasPotionLevelDataList() []*MuqadasPotionLevelData {
+ if x != nil {
+ return x.MuqadasPotionLevelDataList
+ }
+ return nil
+}
+
+var File_MuqadasPotionActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
+ 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a,
+ 0x1f, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x61, 0x0a, 0x1e, 0x6d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x5f, 0x70, 0x6f, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x1a, 0x6d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73,
+ 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_MuqadasPotionActivityDetailInfo_proto_rawDescData = file_MuqadasPotionActivityDetailInfo_proto_rawDesc
+)
+
+func file_MuqadasPotionActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionActivityDetailInfo_proto_rawDescData)
+ })
+ return file_MuqadasPotionActivityDetailInfo_proto_rawDescData
+}
+
+var file_MuqadasPotionActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionActivityDetailInfo_proto_goTypes = []interface{}{
+ (*MuqadasPotionActivityDetailInfo)(nil), // 0: proto.MuqadasPotionActivityDetailInfo
+ (*MuqadasPotionLevelData)(nil), // 1: proto.MuqadasPotionLevelData
+}
+var file_MuqadasPotionActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.MuqadasPotionActivityDetailInfo.muqadas_potion_level_data_list:type_name -> proto.MuqadasPotionLevelData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionActivityDetailInfo_proto_init() }
+func file_MuqadasPotionActivityDetailInfo_proto_init() {
+ if File_MuqadasPotionActivityDetailInfo_proto != nil {
+ return
+ }
+ file_MuqadasPotionLevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionActivityDetailInfo_proto = out.File
+ file_MuqadasPotionActivityDetailInfo_proto_rawDesc = nil
+ file_MuqadasPotionActivityDetailInfo_proto_goTypes = nil
+ file_MuqadasPotionActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionActivityEnterDungeonReq.pb.go b/protocol/proto/MuqadasPotionActivityEnterDungeonReq.pb.go
new file mode 100644
index 00000000..8382aba8
--- /dev/null
+++ b/protocol/proto/MuqadasPotionActivityEnterDungeonReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionActivityEnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MuqadasPotionActivityEnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,12,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *MuqadasPotionActivityEnterDungeonReq) Reset() {
+ *x = MuqadasPotionActivityEnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionActivityEnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionActivityEnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionActivityEnterDungeonReq) ProtoMessage() {}
+
+func (x *MuqadasPotionActivityEnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionActivityEnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionActivityEnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionActivityEnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionActivityEnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MuqadasPotionActivityEnterDungeonReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_MuqadasPotionActivityEnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionActivityEnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x24, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f,
+ 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionActivityEnterDungeonReq_proto_rawDescOnce sync.Once
+ file_MuqadasPotionActivityEnterDungeonReq_proto_rawDescData = file_MuqadasPotionActivityEnterDungeonReq_proto_rawDesc
+)
+
+func file_MuqadasPotionActivityEnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionActivityEnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionActivityEnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionActivityEnterDungeonReq_proto_rawDescData)
+ })
+ return file_MuqadasPotionActivityEnterDungeonReq_proto_rawDescData
+}
+
+var file_MuqadasPotionActivityEnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionActivityEnterDungeonReq_proto_goTypes = []interface{}{
+ (*MuqadasPotionActivityEnterDungeonReq)(nil), // 0: proto.MuqadasPotionActivityEnterDungeonReq
+}
+var file_MuqadasPotionActivityEnterDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionActivityEnterDungeonReq_proto_init() }
+func file_MuqadasPotionActivityEnterDungeonReq_proto_init() {
+ if File_MuqadasPotionActivityEnterDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionActivityEnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionActivityEnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionActivityEnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionActivityEnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionActivityEnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionActivityEnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionActivityEnterDungeonReq_proto = out.File
+ file_MuqadasPotionActivityEnterDungeonReq_proto_rawDesc = nil
+ file_MuqadasPotionActivityEnterDungeonReq_proto_goTypes = nil
+ file_MuqadasPotionActivityEnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionActivityEnterDungeonRsp.pb.go b/protocol/proto/MuqadasPotionActivityEnterDungeonRsp.pb.go
new file mode 100644
index 00000000..64dfb2fe
--- /dev/null
+++ b/protocol/proto/MuqadasPotionActivityEnterDungeonRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionActivityEnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21804
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MuqadasPotionActivityEnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ LevelId uint32 `protobuf:"varint,9,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *MuqadasPotionActivityEnterDungeonRsp) Reset() {
+ *x = MuqadasPotionActivityEnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionActivityEnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionActivityEnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionActivityEnterDungeonRsp) ProtoMessage() {}
+
+func (x *MuqadasPotionActivityEnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionActivityEnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionActivityEnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionActivityEnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MuqadasPotionActivityEnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MuqadasPotionActivityEnterDungeonRsp) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_MuqadasPotionActivityEnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x24, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f,
+ 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDescData = file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDesc
+)
+
+func file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDescData)
+ })
+ return file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDescData
+}
+
+var file_MuqadasPotionActivityEnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionActivityEnterDungeonRsp_proto_goTypes = []interface{}{
+ (*MuqadasPotionActivityEnterDungeonRsp)(nil), // 0: proto.MuqadasPotionActivityEnterDungeonRsp
+}
+var file_MuqadasPotionActivityEnterDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionActivityEnterDungeonRsp_proto_init() }
+func file_MuqadasPotionActivityEnterDungeonRsp_proto_init() {
+ if File_MuqadasPotionActivityEnterDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionActivityEnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionActivityEnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionActivityEnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionActivityEnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionActivityEnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionActivityEnterDungeonRsp_proto = out.File
+ file_MuqadasPotionActivityEnterDungeonRsp_proto_rawDesc = nil
+ file_MuqadasPotionActivityEnterDungeonRsp_proto_goTypes = nil
+ file_MuqadasPotionActivityEnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionCaptureWeaknessReq.pb.go b/protocol/proto/MuqadasPotionCaptureWeaknessReq.pb.go
new file mode 100644
index 00000000..54ff358f
--- /dev/null
+++ b/protocol/proto/MuqadasPotionCaptureWeaknessReq.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionCaptureWeaknessReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20011
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MuqadasPotionCaptureWeaknessReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CaptureWeaknessCount uint32 `protobuf:"varint,10,opt,name=capture_weakness_count,json=captureWeaknessCount,proto3" json:"capture_weakness_count,omitempty"`
+ LevelId uint32 `protobuf:"varint,15,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *MuqadasPotionCaptureWeaknessReq) Reset() {
+ *x = MuqadasPotionCaptureWeaknessReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionCaptureWeaknessReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionCaptureWeaknessReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionCaptureWeaknessReq) ProtoMessage() {}
+
+func (x *MuqadasPotionCaptureWeaknessReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionCaptureWeaknessReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionCaptureWeaknessReq.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionCaptureWeaknessReq) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionCaptureWeaknessReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MuqadasPotionCaptureWeaknessReq) GetCaptureWeaknessCount() uint32 {
+ if x != nil {
+ return x.CaptureWeaknessCount
+ }
+ return 0
+}
+
+func (x *MuqadasPotionCaptureWeaknessReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_MuqadasPotionCaptureWeaknessReq_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionCaptureWeaknessReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x43,
+ 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x57, 0x65, 0x61, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72,
+ 0x0a, 0x1f, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x43,
+ 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x57, 0x65, 0x61, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x65,
+ 0x71, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x77, 0x65, 0x61,
+ 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x14, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x57, 0x65, 0x61, 0x6b, 0x6e, 0x65,
+ 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionCaptureWeaknessReq_proto_rawDescOnce sync.Once
+ file_MuqadasPotionCaptureWeaknessReq_proto_rawDescData = file_MuqadasPotionCaptureWeaknessReq_proto_rawDesc
+)
+
+func file_MuqadasPotionCaptureWeaknessReq_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionCaptureWeaknessReq_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionCaptureWeaknessReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionCaptureWeaknessReq_proto_rawDescData)
+ })
+ return file_MuqadasPotionCaptureWeaknessReq_proto_rawDescData
+}
+
+var file_MuqadasPotionCaptureWeaknessReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionCaptureWeaknessReq_proto_goTypes = []interface{}{
+ (*MuqadasPotionCaptureWeaknessReq)(nil), // 0: proto.MuqadasPotionCaptureWeaknessReq
+}
+var file_MuqadasPotionCaptureWeaknessReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionCaptureWeaknessReq_proto_init() }
+func file_MuqadasPotionCaptureWeaknessReq_proto_init() {
+ if File_MuqadasPotionCaptureWeaknessReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionCaptureWeaknessReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionCaptureWeaknessReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionCaptureWeaknessReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionCaptureWeaknessReq_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionCaptureWeaknessReq_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionCaptureWeaknessReq_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionCaptureWeaknessReq_proto = out.File
+ file_MuqadasPotionCaptureWeaknessReq_proto_rawDesc = nil
+ file_MuqadasPotionCaptureWeaknessReq_proto_goTypes = nil
+ file_MuqadasPotionCaptureWeaknessReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionCaptureWeaknessRsp.pb.go b/protocol/proto/MuqadasPotionCaptureWeaknessRsp.pb.go
new file mode 100644
index 00000000..94ffef66
--- /dev/null
+++ b/protocol/proto/MuqadasPotionCaptureWeaknessRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionCaptureWeaknessRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24081
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MuqadasPotionCaptureWeaknessRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MuqadasPotionCaptureWeaknessRsp) Reset() {
+ *x = MuqadasPotionCaptureWeaknessRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionCaptureWeaknessRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionCaptureWeaknessRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionCaptureWeaknessRsp) ProtoMessage() {}
+
+func (x *MuqadasPotionCaptureWeaknessRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionCaptureWeaknessRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionCaptureWeaknessRsp.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionCaptureWeaknessRsp) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionCaptureWeaknessRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MuqadasPotionCaptureWeaknessRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MuqadasPotionCaptureWeaknessRsp_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionCaptureWeaknessRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x43,
+ 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x57, 0x65, 0x61, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x1f, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x43,
+ 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x57, 0x65, 0x61, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionCaptureWeaknessRsp_proto_rawDescOnce sync.Once
+ file_MuqadasPotionCaptureWeaknessRsp_proto_rawDescData = file_MuqadasPotionCaptureWeaknessRsp_proto_rawDesc
+)
+
+func file_MuqadasPotionCaptureWeaknessRsp_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionCaptureWeaknessRsp_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionCaptureWeaknessRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionCaptureWeaknessRsp_proto_rawDescData)
+ })
+ return file_MuqadasPotionCaptureWeaknessRsp_proto_rawDescData
+}
+
+var file_MuqadasPotionCaptureWeaknessRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionCaptureWeaknessRsp_proto_goTypes = []interface{}{
+ (*MuqadasPotionCaptureWeaknessRsp)(nil), // 0: proto.MuqadasPotionCaptureWeaknessRsp
+}
+var file_MuqadasPotionCaptureWeaknessRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionCaptureWeaknessRsp_proto_init() }
+func file_MuqadasPotionCaptureWeaknessRsp_proto_init() {
+ if File_MuqadasPotionCaptureWeaknessRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionCaptureWeaknessRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionCaptureWeaknessRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionCaptureWeaknessRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionCaptureWeaknessRsp_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionCaptureWeaknessRsp_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionCaptureWeaknessRsp_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionCaptureWeaknessRsp_proto = out.File
+ file_MuqadasPotionCaptureWeaknessRsp_proto_rawDesc = nil
+ file_MuqadasPotionCaptureWeaknessRsp_proto_goTypes = nil
+ file_MuqadasPotionCaptureWeaknessRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionDungeonSettleNotify.pb.go b/protocol/proto/MuqadasPotionDungeonSettleNotify.pb.go
new file mode 100644
index 00000000..1f85b02e
--- /dev/null
+++ b/protocol/proto/MuqadasPotionDungeonSettleNotify.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionDungeonSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20005
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MuqadasPotionDungeonSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinalScore uint32 `protobuf:"varint,11,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+ CaptureWeaknessCount uint32 `protobuf:"varint,15,opt,name=capture_weakness_count,json=captureWeaknessCount,proto3" json:"capture_weakness_count,omitempty"`
+ IsSuccess bool `protobuf:"varint,6,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ LevelId uint32 `protobuf:"varint,10,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ IsNewRecord bool `protobuf:"varint,2,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *MuqadasPotionDungeonSettleNotify) Reset() {
+ *x = MuqadasPotionDungeonSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionDungeonSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionDungeonSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionDungeonSettleNotify) ProtoMessage() {}
+
+func (x *MuqadasPotionDungeonSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionDungeonSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionDungeonSettleNotify.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionDungeonSettleNotify) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionDungeonSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MuqadasPotionDungeonSettleNotify) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+func (x *MuqadasPotionDungeonSettleNotify) GetCaptureWeaknessCount() uint32 {
+ if x != nil {
+ return x.CaptureWeaknessCount
+ }
+ return 0
+}
+
+func (x *MuqadasPotionDungeonSettleNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *MuqadasPotionDungeonSettleNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *MuqadasPotionDungeonSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_MuqadasPotionDungeonSettleNotify_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionDungeonSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xd7, 0x01, 0x0a, 0x20, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f,
+ 0x6e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65,
+ 0x5f, 0x77, 0x65, 0x61, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x57, 0x65,
+ 0x61, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
+ 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f,
+ 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73,
+ 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionDungeonSettleNotify_proto_rawDescOnce sync.Once
+ file_MuqadasPotionDungeonSettleNotify_proto_rawDescData = file_MuqadasPotionDungeonSettleNotify_proto_rawDesc
+)
+
+func file_MuqadasPotionDungeonSettleNotify_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionDungeonSettleNotify_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionDungeonSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionDungeonSettleNotify_proto_rawDescData)
+ })
+ return file_MuqadasPotionDungeonSettleNotify_proto_rawDescData
+}
+
+var file_MuqadasPotionDungeonSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionDungeonSettleNotify_proto_goTypes = []interface{}{
+ (*MuqadasPotionDungeonSettleNotify)(nil), // 0: proto.MuqadasPotionDungeonSettleNotify
+}
+var file_MuqadasPotionDungeonSettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionDungeonSettleNotify_proto_init() }
+func file_MuqadasPotionDungeonSettleNotify_proto_init() {
+ if File_MuqadasPotionDungeonSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionDungeonSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionDungeonSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionDungeonSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionDungeonSettleNotify_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionDungeonSettleNotify_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionDungeonSettleNotify_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionDungeonSettleNotify_proto = out.File
+ file_MuqadasPotionDungeonSettleNotify_proto_rawDesc = nil
+ file_MuqadasPotionDungeonSettleNotify_proto_goTypes = nil
+ file_MuqadasPotionDungeonSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionLevelData.pb.go b/protocol/proto/MuqadasPotionLevelData.pb.go
new file mode 100644
index 00000000..e1c07600
--- /dev/null
+++ b/protocol/proto/MuqadasPotionLevelData.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MuqadasPotionLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,15,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ MaxScore uint32 `protobuf:"varint,9,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ IsOpen bool `protobuf:"varint,10,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *MuqadasPotionLevelData) Reset() {
+ *x = MuqadasPotionLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionLevelData) ProtoMessage() {}
+
+func (x *MuqadasPotionLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionLevelData.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionLevelData) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MuqadasPotionLevelData) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *MuqadasPotionLevelData) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *MuqadasPotionLevelData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_MuqadasPotionLevelData_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x16, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73,
+ 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12,
+ 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61,
+ 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d,
+ 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70,
+ 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionLevelData_proto_rawDescOnce sync.Once
+ file_MuqadasPotionLevelData_proto_rawDescData = file_MuqadasPotionLevelData_proto_rawDesc
+)
+
+func file_MuqadasPotionLevelData_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionLevelData_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionLevelData_proto_rawDescData)
+ })
+ return file_MuqadasPotionLevelData_proto_rawDescData
+}
+
+var file_MuqadasPotionLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionLevelData_proto_goTypes = []interface{}{
+ (*MuqadasPotionLevelData)(nil), // 0: proto.MuqadasPotionLevelData
+}
+var file_MuqadasPotionLevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionLevelData_proto_init() }
+func file_MuqadasPotionLevelData_proto_init() {
+ if File_MuqadasPotionLevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionLevelData_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionLevelData_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionLevelData_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionLevelData_proto = out.File
+ file_MuqadasPotionLevelData_proto_rawDesc = nil
+ file_MuqadasPotionLevelData_proto_goTypes = nil
+ file_MuqadasPotionLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionRestartDungeonReq.pb.go b/protocol/proto/MuqadasPotionRestartDungeonReq.pb.go
new file mode 100644
index 00000000..14592b06
--- /dev/null
+++ b/protocol/proto/MuqadasPotionRestartDungeonReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionRestartDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22391
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MuqadasPotionRestartDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *MuqadasPotionRestartDungeonReq) Reset() {
+ *x = MuqadasPotionRestartDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionRestartDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionRestartDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionRestartDungeonReq) ProtoMessage() {}
+
+func (x *MuqadasPotionRestartDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionRestartDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionRestartDungeonReq.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionRestartDungeonReq) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionRestartDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_MuqadasPotionRestartDungeonReq_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionRestartDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionRestartDungeonReq_proto_rawDescOnce sync.Once
+ file_MuqadasPotionRestartDungeonReq_proto_rawDescData = file_MuqadasPotionRestartDungeonReq_proto_rawDesc
+)
+
+func file_MuqadasPotionRestartDungeonReq_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionRestartDungeonReq_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionRestartDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionRestartDungeonReq_proto_rawDescData)
+ })
+ return file_MuqadasPotionRestartDungeonReq_proto_rawDescData
+}
+
+var file_MuqadasPotionRestartDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionRestartDungeonReq_proto_goTypes = []interface{}{
+ (*MuqadasPotionRestartDungeonReq)(nil), // 0: proto.MuqadasPotionRestartDungeonReq
+}
+var file_MuqadasPotionRestartDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionRestartDungeonReq_proto_init() }
+func file_MuqadasPotionRestartDungeonReq_proto_init() {
+ if File_MuqadasPotionRestartDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionRestartDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionRestartDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionRestartDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionRestartDungeonReq_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionRestartDungeonReq_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionRestartDungeonReq_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionRestartDungeonReq_proto = out.File
+ file_MuqadasPotionRestartDungeonReq_proto_rawDesc = nil
+ file_MuqadasPotionRestartDungeonReq_proto_goTypes = nil
+ file_MuqadasPotionRestartDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MuqadasPotionRestartDungeonRsp.pb.go b/protocol/proto/MuqadasPotionRestartDungeonRsp.pb.go
new file mode 100644
index 00000000..823897a7
--- /dev/null
+++ b/protocol/proto/MuqadasPotionRestartDungeonRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MuqadasPotionRestartDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21208
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MuqadasPotionRestartDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *MuqadasPotionRestartDungeonRsp) Reset() {
+ *x = MuqadasPotionRestartDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MuqadasPotionRestartDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MuqadasPotionRestartDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MuqadasPotionRestartDungeonRsp) ProtoMessage() {}
+
+func (x *MuqadasPotionRestartDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MuqadasPotionRestartDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MuqadasPotionRestartDungeonRsp.ProtoReflect.Descriptor instead.
+func (*MuqadasPotionRestartDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_MuqadasPotionRestartDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MuqadasPotionRestartDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_MuqadasPotionRestartDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_MuqadasPotionRestartDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a,
+ 0x1e, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MuqadasPotionRestartDungeonRsp_proto_rawDescOnce sync.Once
+ file_MuqadasPotionRestartDungeonRsp_proto_rawDescData = file_MuqadasPotionRestartDungeonRsp_proto_rawDesc
+)
+
+func file_MuqadasPotionRestartDungeonRsp_proto_rawDescGZIP() []byte {
+ file_MuqadasPotionRestartDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_MuqadasPotionRestartDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MuqadasPotionRestartDungeonRsp_proto_rawDescData)
+ })
+ return file_MuqadasPotionRestartDungeonRsp_proto_rawDescData
+}
+
+var file_MuqadasPotionRestartDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MuqadasPotionRestartDungeonRsp_proto_goTypes = []interface{}{
+ (*MuqadasPotionRestartDungeonRsp)(nil), // 0: proto.MuqadasPotionRestartDungeonRsp
+}
+var file_MuqadasPotionRestartDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MuqadasPotionRestartDungeonRsp_proto_init() }
+func file_MuqadasPotionRestartDungeonRsp_proto_init() {
+ if File_MuqadasPotionRestartDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MuqadasPotionRestartDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MuqadasPotionRestartDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MuqadasPotionRestartDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MuqadasPotionRestartDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_MuqadasPotionRestartDungeonRsp_proto_depIdxs,
+ MessageInfos: file_MuqadasPotionRestartDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_MuqadasPotionRestartDungeonRsp_proto = out.File
+ file_MuqadasPotionRestartDungeonRsp_proto_rawDesc = nil
+ file_MuqadasPotionRestartDungeonRsp_proto_goTypes = nil
+ file_MuqadasPotionRestartDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MusicGameActivityDetailInfo.pb.go b/protocol/proto/MusicGameActivityDetailInfo.pb.go
new file mode 100644
index 00000000..5f928639
--- /dev/null
+++ b/protocol/proto/MusicGameActivityDetailInfo.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MusicGameActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MusicGameActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcRecordList []*UgcMusicBriefInfo `protobuf:"bytes,4,rep,name=ugc_record_list,json=ugcRecordList,proto3" json:"ugc_record_list,omitempty"`
+ UgcSearchList []*UgcMusicBriefInfo `protobuf:"bytes,7,rep,name=ugc_search_list,json=ugcSearchList,proto3" json:"ugc_search_list,omitempty"`
+ MusicGameRecordMap map[uint32]*MusicGameRecord `protobuf:"bytes,8,rep,name=music_game_record_map,json=musicGameRecordMap,proto3" json:"music_game_record_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *MusicGameActivityDetailInfo) Reset() {
+ *x = MusicGameActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MusicGameActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MusicGameActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MusicGameActivityDetailInfo) ProtoMessage() {}
+
+func (x *MusicGameActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_MusicGameActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MusicGameActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*MusicGameActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_MusicGameActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MusicGameActivityDetailInfo) GetUgcRecordList() []*UgcMusicBriefInfo {
+ if x != nil {
+ return x.UgcRecordList
+ }
+ return nil
+}
+
+func (x *MusicGameActivityDetailInfo) GetUgcSearchList() []*UgcMusicBriefInfo {
+ if x != nil {
+ return x.UgcSearchList
+ }
+ return nil
+}
+
+func (x *MusicGameActivityDetailInfo) GetMusicGameRecordMap() map[uint32]*MusicGameRecord {
+ if x != nil {
+ return x.MusicGameRecordMap
+ }
+ return nil
+}
+
+var File_MusicGameActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_MusicGameActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x4d, 0x75, 0x73, 0x69,
+ 0x63, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x17, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x02, 0x0a, 0x1b, 0x4d,
+ 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0f, 0x75, 0x67,
+ 0x63, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x4d,
+ 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x75,
+ 0x67, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0f,
+ 0x75, 0x67, 0x63, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67,
+ 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0d, 0x75, 0x67, 0x63, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6d,
+ 0x0a, 0x15, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6d, 0x75, 0x73, 0x69, 0x63,
+ 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x61, 0x70, 0x1a, 0x5d, 0x0a,
+ 0x17, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MusicGameActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_MusicGameActivityDetailInfo_proto_rawDescData = file_MusicGameActivityDetailInfo_proto_rawDesc
+)
+
+func file_MusicGameActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_MusicGameActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_MusicGameActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_MusicGameActivityDetailInfo_proto_rawDescData)
+ })
+ return file_MusicGameActivityDetailInfo_proto_rawDescData
+}
+
+var file_MusicGameActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_MusicGameActivityDetailInfo_proto_goTypes = []interface{}{
+ (*MusicGameActivityDetailInfo)(nil), // 0: proto.MusicGameActivityDetailInfo
+ nil, // 1: proto.MusicGameActivityDetailInfo.MusicGameRecordMapEntry
+ (*UgcMusicBriefInfo)(nil), // 2: proto.UgcMusicBriefInfo
+ (*MusicGameRecord)(nil), // 3: proto.MusicGameRecord
+}
+var file_MusicGameActivityDetailInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.MusicGameActivityDetailInfo.ugc_record_list:type_name -> proto.UgcMusicBriefInfo
+ 2, // 1: proto.MusicGameActivityDetailInfo.ugc_search_list:type_name -> proto.UgcMusicBriefInfo
+ 1, // 2: proto.MusicGameActivityDetailInfo.music_game_record_map:type_name -> proto.MusicGameActivityDetailInfo.MusicGameRecordMapEntry
+ 3, // 3: proto.MusicGameActivityDetailInfo.MusicGameRecordMapEntry.value:type_name -> proto.MusicGameRecord
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_MusicGameActivityDetailInfo_proto_init() }
+func file_MusicGameActivityDetailInfo_proto_init() {
+ if File_MusicGameActivityDetailInfo_proto != nil {
+ return
+ }
+ file_MusicGameRecord_proto_init()
+ file_UgcMusicBriefInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_MusicGameActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MusicGameActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MusicGameActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MusicGameActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_MusicGameActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_MusicGameActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_MusicGameActivityDetailInfo_proto = out.File
+ file_MusicGameActivityDetailInfo_proto_rawDesc = nil
+ file_MusicGameActivityDetailInfo_proto_goTypes = nil
+ file_MusicGameActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MusicGameRecord.pb.go b/protocol/proto/MusicGameRecord.pb.go
new file mode 100644
index 00000000..99dc9d14
--- /dev/null
+++ b/protocol/proto/MusicGameRecord.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MusicGameRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type MusicGameRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsUnlock bool `protobuf:"varint,9,opt,name=is_unlock,json=isUnlock,proto3" json:"is_unlock,omitempty"`
+ MaxScore uint32 `protobuf:"varint,11,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ MaxCombo uint32 `protobuf:"varint,6,opt,name=max_combo,json=maxCombo,proto3" json:"max_combo,omitempty"`
+}
+
+func (x *MusicGameRecord) Reset() {
+ *x = MusicGameRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MusicGameRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MusicGameRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MusicGameRecord) ProtoMessage() {}
+
+func (x *MusicGameRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_MusicGameRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MusicGameRecord.ProtoReflect.Descriptor instead.
+func (*MusicGameRecord) Descriptor() ([]byte, []int) {
+ return file_MusicGameRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MusicGameRecord) GetIsUnlock() bool {
+ if x != nil {
+ return x.IsUnlock
+ }
+ return false
+}
+
+func (x *MusicGameRecord) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *MusicGameRecord) GetMaxCombo() uint32 {
+ if x != nil {
+ return x.MaxCombo
+ }
+ return 0
+}
+
+var File_MusicGameRecord_proto protoreflect.FileDescriptor
+
+var file_MusicGameRecord_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68,
+ 0x0a, 0x0f, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d,
+ 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MusicGameRecord_proto_rawDescOnce sync.Once
+ file_MusicGameRecord_proto_rawDescData = file_MusicGameRecord_proto_rawDesc
+)
+
+func file_MusicGameRecord_proto_rawDescGZIP() []byte {
+ file_MusicGameRecord_proto_rawDescOnce.Do(func() {
+ file_MusicGameRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_MusicGameRecord_proto_rawDescData)
+ })
+ return file_MusicGameRecord_proto_rawDescData
+}
+
+var file_MusicGameRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MusicGameRecord_proto_goTypes = []interface{}{
+ (*MusicGameRecord)(nil), // 0: proto.MusicGameRecord
+}
+var file_MusicGameRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MusicGameRecord_proto_init() }
+func file_MusicGameRecord_proto_init() {
+ if File_MusicGameRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MusicGameRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MusicGameRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MusicGameRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MusicGameRecord_proto_goTypes,
+ DependencyIndexes: file_MusicGameRecord_proto_depIdxs,
+ MessageInfos: file_MusicGameRecord_proto_msgTypes,
+ }.Build()
+ File_MusicGameRecord_proto = out.File
+ file_MusicGameRecord_proto_rawDesc = nil
+ file_MusicGameRecord_proto_goTypes = nil
+ file_MusicGameRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MusicGameSettleReq.pb.go b/protocol/proto/MusicGameSettleReq.pb.go
new file mode 100644
index 00000000..03175233
--- /dev/null
+++ b/protocol/proto/MusicGameSettleReq.pb.go
@@ -0,0 +1,333 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MusicGameSettleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8892
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MusicGameSettleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ButtonList []uint32 `protobuf:"varint,384,rep,packed,name=button_list,json=buttonList,proto3" json:"button_list,omitempty"`
+ Delay uint32 `protobuf:"varint,795,opt,name=delay,proto3" json:"delay,omitempty"`
+ NoteList []uint32 `protobuf:"varint,4,rep,packed,name=note_list,json=noteList,proto3" json:"note_list,omitempty"`
+ ScoreRating uint32 `protobuf:"varint,15,opt,name=score_rating,json=scoreRating,proto3" json:"score_rating,omitempty"`
+ Score uint32 `protobuf:"varint,9,opt,name=score,proto3" json:"score,omitempty"`
+ UgcGuid uint64 `protobuf:"varint,6,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+ RestartTimes uint32 `protobuf:"varint,13,opt,name=restart_times,json=restartTimes,proto3" json:"restart_times,omitempty"`
+ IsCustomDelay bool `protobuf:"varint,422,opt,name=is_custom_delay,json=isCustomDelay,proto3" json:"is_custom_delay,omitempty"`
+ MaxCombo uint32 `protobuf:"varint,5,opt,name=max_combo,json=maxCombo,proto3" json:"max_combo,omitempty"`
+ IsFullCombo uint32 `protobuf:"varint,1058,opt,name=is_full_combo,json=isFullCombo,proto3" json:"is_full_combo,omitempty"`
+ Speed float32 `protobuf:"fixed32,409,opt,name=speed,proto3" json:"speed,omitempty"`
+ IsSaveScore bool `protobuf:"varint,3,opt,name=is_save_score,json=isSaveScore,proto3" json:"is_save_score,omitempty"`
+ Combo uint32 `protobuf:"varint,1,opt,name=combo,proto3" json:"combo,omitempty"`
+ MusicBasicId uint32 `protobuf:"varint,7,opt,name=music_basic_id,json=musicBasicId,proto3" json:"music_basic_id,omitempty"`
+ StarRating uint32 `protobuf:"varint,2,opt,name=star_rating,json=starRating,proto3" json:"star_rating,omitempty"`
+ Volume uint32 `protobuf:"varint,1953,opt,name=volume,proto3" json:"volume,omitempty"`
+ CorrectHit uint32 `protobuf:"varint,14,opt,name=correct_hit,json=correctHit,proto3" json:"correct_hit,omitempty"`
+ IsCustomSpeed bool `protobuf:"varint,1285,opt,name=is_custom_speed,json=isCustomSpeed,proto3" json:"is_custom_speed,omitempty"`
+}
+
+func (x *MusicGameSettleReq) Reset() {
+ *x = MusicGameSettleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MusicGameSettleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MusicGameSettleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MusicGameSettleReq) ProtoMessage() {}
+
+func (x *MusicGameSettleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MusicGameSettleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MusicGameSettleReq.ProtoReflect.Descriptor instead.
+func (*MusicGameSettleReq) Descriptor() ([]byte, []int) {
+ return file_MusicGameSettleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MusicGameSettleReq) GetButtonList() []uint32 {
+ if x != nil {
+ return x.ButtonList
+ }
+ return nil
+}
+
+func (x *MusicGameSettleReq) GetDelay() uint32 {
+ if x != nil {
+ return x.Delay
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetNoteList() []uint32 {
+ if x != nil {
+ return x.NoteList
+ }
+ return nil
+}
+
+func (x *MusicGameSettleReq) GetScoreRating() uint32 {
+ if x != nil {
+ return x.ScoreRating
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetRestartTimes() uint32 {
+ if x != nil {
+ return x.RestartTimes
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetIsCustomDelay() bool {
+ if x != nil {
+ return x.IsCustomDelay
+ }
+ return false
+}
+
+func (x *MusicGameSettleReq) GetMaxCombo() uint32 {
+ if x != nil {
+ return x.MaxCombo
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetIsFullCombo() uint32 {
+ if x != nil {
+ return x.IsFullCombo
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetSpeed() float32 {
+ if x != nil {
+ return x.Speed
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetIsSaveScore() bool {
+ if x != nil {
+ return x.IsSaveScore
+ }
+ return false
+}
+
+func (x *MusicGameSettleReq) GetCombo() uint32 {
+ if x != nil {
+ return x.Combo
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetMusicBasicId() uint32 {
+ if x != nil {
+ return x.MusicBasicId
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetStarRating() uint32 {
+ if x != nil {
+ return x.StarRating
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetVolume() uint32 {
+ if x != nil {
+ return x.Volume
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetCorrectHit() uint32 {
+ if x != nil {
+ return x.CorrectHit
+ }
+ return 0
+}
+
+func (x *MusicGameSettleReq) GetIsCustomSpeed() bool {
+ if x != nil {
+ return x.IsCustomSpeed
+ }
+ return false
+}
+
+var File_MusicGameSettleReq_proto protoreflect.FileDescriptor
+
+var file_MusicGameSettleReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc9, 0x04, 0x0a, 0x12, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x75, 0x74, 0x74,
+ 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x80, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a,
+ 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x05, 0x64, 0x65,
+ 0x6c, 0x61, 0x79, 0x18, 0x9b, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61,
+ 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21,
+ 0x0a, 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6e,
+ 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x63, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0xa6, 0x03, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x65, 0x6c, 0x61, 0x79,
+ 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x23, 0x0a,
+ 0x0d, 0x69, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0xa2,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x73, 0x46, 0x75, 0x6c, 0x6c, 0x43, 0x6f, 0x6d,
+ 0x62, 0x6f, 0x12, 0x15, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x99, 0x03, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f,
+ 0x73, 0x61, 0x76, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0b, 0x69, 0x73, 0x53, 0x61, 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x63, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f,
+ 0x6d, 0x62, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x62, 0x61, 0x73,
+ 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x75, 0x73,
+ 0x69, 0x63, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61,
+ 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x74, 0x61, 0x72, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x06, 0x76, 0x6f,
+ 0x6c, 0x75, 0x6d, 0x65, 0x18, 0xa1, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x6f, 0x6c,
+ 0x75, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x68,
+ 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63,
+ 0x74, 0x48, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x85, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
+ 0x69, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x53, 0x70, 0x65, 0x65, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_MusicGameSettleReq_proto_rawDescOnce sync.Once
+ file_MusicGameSettleReq_proto_rawDescData = file_MusicGameSettleReq_proto_rawDesc
+)
+
+func file_MusicGameSettleReq_proto_rawDescGZIP() []byte {
+ file_MusicGameSettleReq_proto_rawDescOnce.Do(func() {
+ file_MusicGameSettleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MusicGameSettleReq_proto_rawDescData)
+ })
+ return file_MusicGameSettleReq_proto_rawDescData
+}
+
+var file_MusicGameSettleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MusicGameSettleReq_proto_goTypes = []interface{}{
+ (*MusicGameSettleReq)(nil), // 0: proto.MusicGameSettleReq
+}
+var file_MusicGameSettleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MusicGameSettleReq_proto_init() }
+func file_MusicGameSettleReq_proto_init() {
+ if File_MusicGameSettleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MusicGameSettleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MusicGameSettleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MusicGameSettleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MusicGameSettleReq_proto_goTypes,
+ DependencyIndexes: file_MusicGameSettleReq_proto_depIdxs,
+ MessageInfos: file_MusicGameSettleReq_proto_msgTypes,
+ }.Build()
+ File_MusicGameSettleReq_proto = out.File
+ file_MusicGameSettleReq_proto_rawDesc = nil
+ file_MusicGameSettleReq_proto_goTypes = nil
+ file_MusicGameSettleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MusicGameSettleRsp.pb.go b/protocol/proto/MusicGameSettleRsp.pb.go
new file mode 100644
index 00000000..ad75c72a
--- /dev/null
+++ b/protocol/proto/MusicGameSettleRsp.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MusicGameSettleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8673
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MusicGameSettleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MusicBasicId uint32 `protobuf:"varint,5,opt,name=music_basic_id,json=musicBasicId,proto3" json:"music_basic_id,omitempty"`
+ IsNewRecord bool `protobuf:"varint,6,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ IsUnlockNextLevel bool `protobuf:"varint,2,opt,name=is_unlock_next_level,json=isUnlockNextLevel,proto3" json:"is_unlock_next_level,omitempty"`
+ UgcGuid uint64 `protobuf:"varint,10,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+}
+
+func (x *MusicGameSettleRsp) Reset() {
+ *x = MusicGameSettleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MusicGameSettleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MusicGameSettleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MusicGameSettleRsp) ProtoMessage() {}
+
+func (x *MusicGameSettleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MusicGameSettleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MusicGameSettleRsp.ProtoReflect.Descriptor instead.
+func (*MusicGameSettleRsp) Descriptor() ([]byte, []int) {
+ return file_MusicGameSettleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MusicGameSettleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MusicGameSettleRsp) GetMusicBasicId() uint32 {
+ if x != nil {
+ return x.MusicBasicId
+ }
+ return 0
+}
+
+func (x *MusicGameSettleRsp) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *MusicGameSettleRsp) GetIsUnlockNextLevel() bool {
+ if x != nil {
+ return x.IsUnlockNextLevel
+ }
+ return false
+}
+
+func (x *MusicGameSettleRsp) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+var File_MusicGameSettleRsp_proto protoreflect.FileDescriptor
+
+var file_MusicGameSettleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x12, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x62, 0x61, 0x73, 0x69,
+ 0x63, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x75, 0x73, 0x69,
+ 0x63, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e,
+ 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x14,
+ 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x55, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x65, 0x78, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x0a,
+ 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x07, 0x75, 0x67, 0x63, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MusicGameSettleRsp_proto_rawDescOnce sync.Once
+ file_MusicGameSettleRsp_proto_rawDescData = file_MusicGameSettleRsp_proto_rawDesc
+)
+
+func file_MusicGameSettleRsp_proto_rawDescGZIP() []byte {
+ file_MusicGameSettleRsp_proto_rawDescOnce.Do(func() {
+ file_MusicGameSettleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MusicGameSettleRsp_proto_rawDescData)
+ })
+ return file_MusicGameSettleRsp_proto_rawDescData
+}
+
+var file_MusicGameSettleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MusicGameSettleRsp_proto_goTypes = []interface{}{
+ (*MusicGameSettleRsp)(nil), // 0: proto.MusicGameSettleRsp
+}
+var file_MusicGameSettleRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MusicGameSettleRsp_proto_init() }
+func file_MusicGameSettleRsp_proto_init() {
+ if File_MusicGameSettleRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MusicGameSettleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MusicGameSettleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MusicGameSettleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MusicGameSettleRsp_proto_goTypes,
+ DependencyIndexes: file_MusicGameSettleRsp_proto_depIdxs,
+ MessageInfos: file_MusicGameSettleRsp_proto_msgTypes,
+ }.Build()
+ File_MusicGameSettleRsp_proto = out.File
+ file_MusicGameSettleRsp_proto_rawDesc = nil
+ file_MusicGameSettleRsp_proto_goTypes = nil
+ file_MusicGameSettleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MusicGameStartReq.pb.go b/protocol/proto/MusicGameStartReq.pb.go
new file mode 100644
index 00000000..a125a5c0
--- /dev/null
+++ b/protocol/proto/MusicGameStartReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MusicGameStartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8406
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type MusicGameStartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MusicBasicId uint32 `protobuf:"varint,2,opt,name=music_basic_id,json=musicBasicId,proto3" json:"music_basic_id,omitempty"`
+ IsSaveScore bool `protobuf:"varint,11,opt,name=is_save_score,json=isSaveScore,proto3" json:"is_save_score,omitempty"`
+ UgcGuid uint64 `protobuf:"varint,3,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+}
+
+func (x *MusicGameStartReq) Reset() {
+ *x = MusicGameStartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MusicGameStartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MusicGameStartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MusicGameStartReq) ProtoMessage() {}
+
+func (x *MusicGameStartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_MusicGameStartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MusicGameStartReq.ProtoReflect.Descriptor instead.
+func (*MusicGameStartReq) Descriptor() ([]byte, []int) {
+ return file_MusicGameStartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MusicGameStartReq) GetMusicBasicId() uint32 {
+ if x != nil {
+ return x.MusicBasicId
+ }
+ return 0
+}
+
+func (x *MusicGameStartReq) GetIsSaveScore() bool {
+ if x != nil {
+ return x.IsSaveScore
+ }
+ return false
+}
+
+func (x *MusicGameStartReq) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+var File_MusicGameStartReq_proto protoreflect.FileDescriptor
+
+var file_MusicGameStartReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x78, 0x0a, 0x11, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x62,
+ 0x61, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d,
+ 0x75, 0x73, 0x69, 0x63, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x61, 0x76, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12,
+ 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MusicGameStartReq_proto_rawDescOnce sync.Once
+ file_MusicGameStartReq_proto_rawDescData = file_MusicGameStartReq_proto_rawDesc
+)
+
+func file_MusicGameStartReq_proto_rawDescGZIP() []byte {
+ file_MusicGameStartReq_proto_rawDescOnce.Do(func() {
+ file_MusicGameStartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_MusicGameStartReq_proto_rawDescData)
+ })
+ return file_MusicGameStartReq_proto_rawDescData
+}
+
+var file_MusicGameStartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MusicGameStartReq_proto_goTypes = []interface{}{
+ (*MusicGameStartReq)(nil), // 0: proto.MusicGameStartReq
+}
+var file_MusicGameStartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MusicGameStartReq_proto_init() }
+func file_MusicGameStartReq_proto_init() {
+ if File_MusicGameStartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MusicGameStartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MusicGameStartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MusicGameStartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MusicGameStartReq_proto_goTypes,
+ DependencyIndexes: file_MusicGameStartReq_proto_depIdxs,
+ MessageInfos: file_MusicGameStartReq_proto_msgTypes,
+ }.Build()
+ File_MusicGameStartReq_proto = out.File
+ file_MusicGameStartReq_proto_rawDesc = nil
+ file_MusicGameStartReq_proto_goTypes = nil
+ file_MusicGameStartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/MusicGameStartRsp.pb.go b/protocol/proto/MusicGameStartRsp.pb.go
new file mode 100644
index 00000000..5c3ebc10
--- /dev/null
+++ b/protocol/proto/MusicGameStartRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: MusicGameStartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8326
+// EnetChannelId: 0
+// EnetIsReliable: true
+type MusicGameStartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MusicBasicId uint32 `protobuf:"varint,4,opt,name=music_basic_id,json=musicBasicId,proto3" json:"music_basic_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ UgcGuid uint64 `protobuf:"varint,15,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+}
+
+func (x *MusicGameStartRsp) Reset() {
+ *x = MusicGameStartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_MusicGameStartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MusicGameStartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MusicGameStartRsp) ProtoMessage() {}
+
+func (x *MusicGameStartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_MusicGameStartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MusicGameStartRsp.ProtoReflect.Descriptor instead.
+func (*MusicGameStartRsp) Descriptor() ([]byte, []int) {
+ return file_MusicGameStartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *MusicGameStartRsp) GetMusicBasicId() uint32 {
+ if x != nil {
+ return x.MusicBasicId
+ }
+ return 0
+}
+
+func (x *MusicGameStartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *MusicGameStartRsp) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+var File_MusicGameStartRsp_proto protoreflect.FileDescriptor
+
+var file_MusicGameStartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6e, 0x0a, 0x11, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x62,
+ 0x61, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d,
+ 0x75, 0x73, 0x69, 0x63, 0x42, 0x61, 0x73, 0x69, 0x63, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_MusicGameStartRsp_proto_rawDescOnce sync.Once
+ file_MusicGameStartRsp_proto_rawDescData = file_MusicGameStartRsp_proto_rawDesc
+)
+
+func file_MusicGameStartRsp_proto_rawDescGZIP() []byte {
+ file_MusicGameStartRsp_proto_rawDescOnce.Do(func() {
+ file_MusicGameStartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_MusicGameStartRsp_proto_rawDescData)
+ })
+ return file_MusicGameStartRsp_proto_rawDescData
+}
+
+var file_MusicGameStartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_MusicGameStartRsp_proto_goTypes = []interface{}{
+ (*MusicGameStartRsp)(nil), // 0: proto.MusicGameStartRsp
+}
+var file_MusicGameStartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_MusicGameStartRsp_proto_init() }
+func file_MusicGameStartRsp_proto_init() {
+ if File_MusicGameStartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_MusicGameStartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MusicGameStartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_MusicGameStartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_MusicGameStartRsp_proto_goTypes,
+ DependencyIndexes: file_MusicGameStartRsp_proto_depIdxs,
+ MessageInfos: file_MusicGameStartRsp_proto_msgTypes,
+ }.Build()
+ File_MusicGameStartRsp_proto = out.File
+ file_MusicGameStartRsp_proto_rawDesc = nil
+ file_MusicGameStartRsp_proto_goTypes = nil
+ file_MusicGameStartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NavMeshStatsNotify.pb.go b/protocol/proto/NavMeshStatsNotify.pb.go
new file mode 100644
index 00000000..232d8548
--- /dev/null
+++ b/protocol/proto/NavMeshStatsNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NavMeshStatsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2316
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type NavMeshStatsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Infos []*PbNavMeshStatsInfo `protobuf:"bytes,4,rep,name=infos,proto3" json:"infos,omitempty"`
+}
+
+func (x *NavMeshStatsNotify) Reset() {
+ *x = NavMeshStatsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NavMeshStatsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NavMeshStatsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NavMeshStatsNotify) ProtoMessage() {}
+
+func (x *NavMeshStatsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_NavMeshStatsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NavMeshStatsNotify.ProtoReflect.Descriptor instead.
+func (*NavMeshStatsNotify) Descriptor() ([]byte, []int) {
+ return file_NavMeshStatsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NavMeshStatsNotify) GetInfos() []*PbNavMeshStatsInfo {
+ if x != nil {
+ return x.Infos
+ }
+ return nil
+}
+
+var File_NavMeshStatsNotify_proto protoreflect.FileDescriptor
+
+var file_NavMeshStatsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x18, 0x50, 0x62, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a, 0x12, 0x4e,
+ 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x62, 0x4e, 0x61, 0x76, 0x4d, 0x65,
+ 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66,
+ 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NavMeshStatsNotify_proto_rawDescOnce sync.Once
+ file_NavMeshStatsNotify_proto_rawDescData = file_NavMeshStatsNotify_proto_rawDesc
+)
+
+func file_NavMeshStatsNotify_proto_rawDescGZIP() []byte {
+ file_NavMeshStatsNotify_proto_rawDescOnce.Do(func() {
+ file_NavMeshStatsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_NavMeshStatsNotify_proto_rawDescData)
+ })
+ return file_NavMeshStatsNotify_proto_rawDescData
+}
+
+var file_NavMeshStatsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NavMeshStatsNotify_proto_goTypes = []interface{}{
+ (*NavMeshStatsNotify)(nil), // 0: proto.NavMeshStatsNotify
+ (*PbNavMeshStatsInfo)(nil), // 1: proto.PbNavMeshStatsInfo
+}
+var file_NavMeshStatsNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.NavMeshStatsNotify.infos:type_name -> proto.PbNavMeshStatsInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_NavMeshStatsNotify_proto_init() }
+func file_NavMeshStatsNotify_proto_init() {
+ if File_NavMeshStatsNotify_proto != nil {
+ return
+ }
+ file_PbNavMeshStatsInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_NavMeshStatsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NavMeshStatsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NavMeshStatsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NavMeshStatsNotify_proto_goTypes,
+ DependencyIndexes: file_NavMeshStatsNotify_proto_depIdxs,
+ MessageInfos: file_NavMeshStatsNotify_proto_msgTypes,
+ }.Build()
+ File_NavMeshStatsNotify_proto = out.File
+ file_NavMeshStatsNotify_proto_rawDesc = nil
+ file_NavMeshStatsNotify_proto_goTypes = nil
+ file_NavMeshStatsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NicknameAuditConfigNotify.pb.go b/protocol/proto/NicknameAuditConfigNotify.pb.go
new file mode 100644
index 00000000..00b647d3
--- /dev/null
+++ b/protocol/proto/NicknameAuditConfigNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NicknameAuditConfigNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 152
+// EnetChannelId: 0
+// EnetIsReliable: true
+type NicknameAuditConfigNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,8,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ SubmitLimit uint32 `protobuf:"varint,12,opt,name=submit_limit,json=submitLimit,proto3" json:"submit_limit,omitempty"`
+}
+
+func (x *NicknameAuditConfigNotify) Reset() {
+ *x = NicknameAuditConfigNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NicknameAuditConfigNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NicknameAuditConfigNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NicknameAuditConfigNotify) ProtoMessage() {}
+
+func (x *NicknameAuditConfigNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_NicknameAuditConfigNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NicknameAuditConfigNotify.ProtoReflect.Descriptor instead.
+func (*NicknameAuditConfigNotify) Descriptor() ([]byte, []int) {
+ return file_NicknameAuditConfigNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NicknameAuditConfigNotify) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *NicknameAuditConfigNotify) GetSubmitLimit() uint32 {
+ if x != nil {
+ return x.SubmitLimit
+ }
+ return 0
+}
+
+var File_NicknameAuditConfigNotify_proto protoreflect.FileDescriptor
+
+var file_NicknameAuditConfigNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x19, 0x4e, 0x69, 0x63, 0x6b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21,
+ 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4c, 0x69, 0x6d, 0x69,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NicknameAuditConfigNotify_proto_rawDescOnce sync.Once
+ file_NicknameAuditConfigNotify_proto_rawDescData = file_NicknameAuditConfigNotify_proto_rawDesc
+)
+
+func file_NicknameAuditConfigNotify_proto_rawDescGZIP() []byte {
+ file_NicknameAuditConfigNotify_proto_rawDescOnce.Do(func() {
+ file_NicknameAuditConfigNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_NicknameAuditConfigNotify_proto_rawDescData)
+ })
+ return file_NicknameAuditConfigNotify_proto_rawDescData
+}
+
+var file_NicknameAuditConfigNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NicknameAuditConfigNotify_proto_goTypes = []interface{}{
+ (*NicknameAuditConfigNotify)(nil), // 0: proto.NicknameAuditConfigNotify
+}
+var file_NicknameAuditConfigNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NicknameAuditConfigNotify_proto_init() }
+func file_NicknameAuditConfigNotify_proto_init() {
+ if File_NicknameAuditConfigNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NicknameAuditConfigNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NicknameAuditConfigNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NicknameAuditConfigNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NicknameAuditConfigNotify_proto_goTypes,
+ DependencyIndexes: file_NicknameAuditConfigNotify_proto_depIdxs,
+ MessageInfos: file_NicknameAuditConfigNotify_proto_msgTypes,
+ }.Build()
+ File_NicknameAuditConfigNotify_proto = out.File
+ file_NicknameAuditConfigNotify_proto_rawDesc = nil
+ file_NicknameAuditConfigNotify_proto_goTypes = nil
+ file_NicknameAuditConfigNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NicknameSignatureAuditData.pb.go b/protocol/proto/NicknameSignatureAuditData.pb.go
new file mode 100644
index 00000000..3d8a8841
--- /dev/null
+++ b/protocol/proto/NicknameSignatureAuditData.pb.go
@@ -0,0 +1,241 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NicknameSignatureAuditData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type NicknameSignatureAuditData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Aid string `protobuf:"bytes,1,opt,name=aid,proto3" json:"aid,omitempty"`
+ EntityId string `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Lang string `protobuf:"bytes,3,opt,name=lang,proto3" json:"lang,omitempty"`
+ QueueKey string `protobuf:"bytes,4,opt,name=queue_key,json=queueKey,proto3" json:"queue_key,omitempty"`
+ Region string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"`
+ Uid uint32 `protobuf:"varint,6,opt,name=uid,proto3" json:"uid,omitempty"`
+ AuditFieldList []*ContentAuditField `protobuf:"bytes,7,rep,name=audit_field_list,json=auditFieldList,proto3" json:"audit_field_list,omitempty"`
+ AuxFieldList []*ContentAuditAuxiliaryField `protobuf:"bytes,8,rep,name=aux_field_list,json=auxFieldList,proto3" json:"aux_field_list,omitempty"`
+}
+
+func (x *NicknameSignatureAuditData) Reset() {
+ *x = NicknameSignatureAuditData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NicknameSignatureAuditData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NicknameSignatureAuditData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NicknameSignatureAuditData) ProtoMessage() {}
+
+func (x *NicknameSignatureAuditData) ProtoReflect() protoreflect.Message {
+ mi := &file_NicknameSignatureAuditData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NicknameSignatureAuditData.ProtoReflect.Descriptor instead.
+func (*NicknameSignatureAuditData) Descriptor() ([]byte, []int) {
+ return file_NicknameSignatureAuditData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NicknameSignatureAuditData) GetAid() string {
+ if x != nil {
+ return x.Aid
+ }
+ return ""
+}
+
+func (x *NicknameSignatureAuditData) GetEntityId() string {
+ if x != nil {
+ return x.EntityId
+ }
+ return ""
+}
+
+func (x *NicknameSignatureAuditData) GetLang() string {
+ if x != nil {
+ return x.Lang
+ }
+ return ""
+}
+
+func (x *NicknameSignatureAuditData) GetQueueKey() string {
+ if x != nil {
+ return x.QueueKey
+ }
+ return ""
+}
+
+func (x *NicknameSignatureAuditData) GetRegion() string {
+ if x != nil {
+ return x.Region
+ }
+ return ""
+}
+
+func (x *NicknameSignatureAuditData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *NicknameSignatureAuditData) GetAuditFieldList() []*ContentAuditField {
+ if x != nil {
+ return x.AuditFieldList
+ }
+ return nil
+}
+
+func (x *NicknameSignatureAuditData) GetAuxFieldList() []*ContentAuditAuxiliaryField {
+ if x != nil {
+ return x.AuxFieldList
+ }
+ return nil
+}
+
+var File_NicknameSignatureAuditData_proto protoreflect.FileDescriptor
+
+var file_NicknameSignatureAuditData_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
+ 0x75, 0x72, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79,
+ 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x43, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x02, 0x0a, 0x1a, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d,
+ 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x61, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f,
+ 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x75, 0x65,
+ 0x4b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x42, 0x0a,
+ 0x10, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x47, 0x0a, 0x0e, 0x61, 0x75, 0x78, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x75,
+ 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0c, 0x61, 0x75,
+ 0x78, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NicknameSignatureAuditData_proto_rawDescOnce sync.Once
+ file_NicknameSignatureAuditData_proto_rawDescData = file_NicknameSignatureAuditData_proto_rawDesc
+)
+
+func file_NicknameSignatureAuditData_proto_rawDescGZIP() []byte {
+ file_NicknameSignatureAuditData_proto_rawDescOnce.Do(func() {
+ file_NicknameSignatureAuditData_proto_rawDescData = protoimpl.X.CompressGZIP(file_NicknameSignatureAuditData_proto_rawDescData)
+ })
+ return file_NicknameSignatureAuditData_proto_rawDescData
+}
+
+var file_NicknameSignatureAuditData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NicknameSignatureAuditData_proto_goTypes = []interface{}{
+ (*NicknameSignatureAuditData)(nil), // 0: proto.NicknameSignatureAuditData
+ (*ContentAuditField)(nil), // 1: proto.ContentAuditField
+ (*ContentAuditAuxiliaryField)(nil), // 2: proto.ContentAuditAuxiliaryField
+}
+var file_NicknameSignatureAuditData_proto_depIdxs = []int32{
+ 1, // 0: proto.NicknameSignatureAuditData.audit_field_list:type_name -> proto.ContentAuditField
+ 2, // 1: proto.NicknameSignatureAuditData.aux_field_list:type_name -> proto.ContentAuditAuxiliaryField
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_NicknameSignatureAuditData_proto_init() }
+func file_NicknameSignatureAuditData_proto_init() {
+ if File_NicknameSignatureAuditData_proto != nil {
+ return
+ }
+ file_ContentAuditAuxiliaryField_proto_init()
+ file_ContentAuditField_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_NicknameSignatureAuditData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NicknameSignatureAuditData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NicknameSignatureAuditData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NicknameSignatureAuditData_proto_goTypes,
+ DependencyIndexes: file_NicknameSignatureAuditData_proto_depIdxs,
+ MessageInfos: file_NicknameSignatureAuditData_proto_msgTypes,
+ }.Build()
+ File_NicknameSignatureAuditData_proto = out.File
+ file_NicknameSignatureAuditData_proto_rawDesc = nil
+ file_NicknameSignatureAuditData_proto_goTypes = nil
+ file_NicknameSignatureAuditData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NightCrowGadgetInfo.pb.go b/protocol/proto/NightCrowGadgetInfo.pb.go
new file mode 100644
index 00000000..5060d7db
--- /dev/null
+++ b/protocol/proto/NightCrowGadgetInfo.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NightCrowGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type NightCrowGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArgumentList []uint32 `protobuf:"varint,1,rep,packed,name=argument_list,json=argumentList,proto3" json:"argument_list,omitempty"`
+}
+
+func (x *NightCrowGadgetInfo) Reset() {
+ *x = NightCrowGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NightCrowGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NightCrowGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NightCrowGadgetInfo) ProtoMessage() {}
+
+func (x *NightCrowGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_NightCrowGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NightCrowGadgetInfo.ProtoReflect.Descriptor instead.
+func (*NightCrowGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_NightCrowGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NightCrowGadgetInfo) GetArgumentList() []uint32 {
+ if x != nil {
+ return x.ArgumentList
+ }
+ return nil
+}
+
+var File_NightCrowGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_NightCrowGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x13, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x72, 0x67,
+ 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0c, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_NightCrowGadgetInfo_proto_rawDescOnce sync.Once
+ file_NightCrowGadgetInfo_proto_rawDescData = file_NightCrowGadgetInfo_proto_rawDesc
+)
+
+func file_NightCrowGadgetInfo_proto_rawDescGZIP() []byte {
+ file_NightCrowGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_NightCrowGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_NightCrowGadgetInfo_proto_rawDescData)
+ })
+ return file_NightCrowGadgetInfo_proto_rawDescData
+}
+
+var file_NightCrowGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NightCrowGadgetInfo_proto_goTypes = []interface{}{
+ (*NightCrowGadgetInfo)(nil), // 0: proto.NightCrowGadgetInfo
+}
+var file_NightCrowGadgetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NightCrowGadgetInfo_proto_init() }
+func file_NightCrowGadgetInfo_proto_init() {
+ if File_NightCrowGadgetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NightCrowGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NightCrowGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NightCrowGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NightCrowGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_NightCrowGadgetInfo_proto_depIdxs,
+ MessageInfos: file_NightCrowGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_NightCrowGadgetInfo_proto = out.File
+ file_NightCrowGadgetInfo_proto_rawDesc = nil
+ file_NightCrowGadgetInfo_proto_goTypes = nil
+ file_NightCrowGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NightCrowGadgetObservationMatchReq.pb.go b/protocol/proto/NightCrowGadgetObservationMatchReq.pb.go
new file mode 100644
index 00000000..0c0fd4b5
--- /dev/null
+++ b/protocol/proto/NightCrowGadgetObservationMatchReq.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NightCrowGadgetObservationMatchReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 876
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type NightCrowGadgetObservationMatchReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetGadgetState uint32 `protobuf:"varint,3,opt,name=target_gadget_state,json=targetGadgetState,proto3" json:"target_gadget_state,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,8,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *NightCrowGadgetObservationMatchReq) Reset() {
+ *x = NightCrowGadgetObservationMatchReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NightCrowGadgetObservationMatchReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NightCrowGadgetObservationMatchReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NightCrowGadgetObservationMatchReq) ProtoMessage() {}
+
+func (x *NightCrowGadgetObservationMatchReq) ProtoReflect() protoreflect.Message {
+ mi := &file_NightCrowGadgetObservationMatchReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NightCrowGadgetObservationMatchReq.ProtoReflect.Descriptor instead.
+func (*NightCrowGadgetObservationMatchReq) Descriptor() ([]byte, []int) {
+ return file_NightCrowGadgetObservationMatchReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NightCrowGadgetObservationMatchReq) GetTargetGadgetState() uint32 {
+ if x != nil {
+ return x.TargetGadgetState
+ }
+ return 0
+}
+
+func (x *NightCrowGadgetObservationMatchReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_NightCrowGadgetObservationMatchReq_proto protoreflect.FileDescriptor
+
+var file_NightCrowGadgetObservationMatchReq_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x7e, 0x0a, 0x22, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NightCrowGadgetObservationMatchReq_proto_rawDescOnce sync.Once
+ file_NightCrowGadgetObservationMatchReq_proto_rawDescData = file_NightCrowGadgetObservationMatchReq_proto_rawDesc
+)
+
+func file_NightCrowGadgetObservationMatchReq_proto_rawDescGZIP() []byte {
+ file_NightCrowGadgetObservationMatchReq_proto_rawDescOnce.Do(func() {
+ file_NightCrowGadgetObservationMatchReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_NightCrowGadgetObservationMatchReq_proto_rawDescData)
+ })
+ return file_NightCrowGadgetObservationMatchReq_proto_rawDescData
+}
+
+var file_NightCrowGadgetObservationMatchReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NightCrowGadgetObservationMatchReq_proto_goTypes = []interface{}{
+ (*NightCrowGadgetObservationMatchReq)(nil), // 0: proto.NightCrowGadgetObservationMatchReq
+}
+var file_NightCrowGadgetObservationMatchReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NightCrowGadgetObservationMatchReq_proto_init() }
+func file_NightCrowGadgetObservationMatchReq_proto_init() {
+ if File_NightCrowGadgetObservationMatchReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NightCrowGadgetObservationMatchReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NightCrowGadgetObservationMatchReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NightCrowGadgetObservationMatchReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NightCrowGadgetObservationMatchReq_proto_goTypes,
+ DependencyIndexes: file_NightCrowGadgetObservationMatchReq_proto_depIdxs,
+ MessageInfos: file_NightCrowGadgetObservationMatchReq_proto_msgTypes,
+ }.Build()
+ File_NightCrowGadgetObservationMatchReq_proto = out.File
+ file_NightCrowGadgetObservationMatchReq_proto_rawDesc = nil
+ file_NightCrowGadgetObservationMatchReq_proto_goTypes = nil
+ file_NightCrowGadgetObservationMatchReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NightCrowGadgetObservationMatchRsp.pb.go b/protocol/proto/NightCrowGadgetObservationMatchRsp.pb.go
new file mode 100644
index 00000000..3793cea3
--- /dev/null
+++ b/protocol/proto/NightCrowGadgetObservationMatchRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NightCrowGadgetObservationMatchRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 846
+// EnetChannelId: 0
+// EnetIsReliable: true
+type NightCrowGadgetObservationMatchRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *NightCrowGadgetObservationMatchRsp) Reset() {
+ *x = NightCrowGadgetObservationMatchRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NightCrowGadgetObservationMatchRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NightCrowGadgetObservationMatchRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NightCrowGadgetObservationMatchRsp) ProtoMessage() {}
+
+func (x *NightCrowGadgetObservationMatchRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_NightCrowGadgetObservationMatchRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NightCrowGadgetObservationMatchRsp.ProtoReflect.Descriptor instead.
+func (*NightCrowGadgetObservationMatchRsp) Descriptor() ([]byte, []int) {
+ return file_NightCrowGadgetObservationMatchRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NightCrowGadgetObservationMatchRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_NightCrowGadgetObservationMatchRsp_proto protoreflect.FileDescriptor
+
+var file_NightCrowGadgetObservationMatchRsp_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x3e, 0x0a, 0x22, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NightCrowGadgetObservationMatchRsp_proto_rawDescOnce sync.Once
+ file_NightCrowGadgetObservationMatchRsp_proto_rawDescData = file_NightCrowGadgetObservationMatchRsp_proto_rawDesc
+)
+
+func file_NightCrowGadgetObservationMatchRsp_proto_rawDescGZIP() []byte {
+ file_NightCrowGadgetObservationMatchRsp_proto_rawDescOnce.Do(func() {
+ file_NightCrowGadgetObservationMatchRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_NightCrowGadgetObservationMatchRsp_proto_rawDescData)
+ })
+ return file_NightCrowGadgetObservationMatchRsp_proto_rawDescData
+}
+
+var file_NightCrowGadgetObservationMatchRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NightCrowGadgetObservationMatchRsp_proto_goTypes = []interface{}{
+ (*NightCrowGadgetObservationMatchRsp)(nil), // 0: proto.NightCrowGadgetObservationMatchRsp
+}
+var file_NightCrowGadgetObservationMatchRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NightCrowGadgetObservationMatchRsp_proto_init() }
+func file_NightCrowGadgetObservationMatchRsp_proto_init() {
+ if File_NightCrowGadgetObservationMatchRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NightCrowGadgetObservationMatchRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NightCrowGadgetObservationMatchRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NightCrowGadgetObservationMatchRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NightCrowGadgetObservationMatchRsp_proto_goTypes,
+ DependencyIndexes: file_NightCrowGadgetObservationMatchRsp_proto_depIdxs,
+ MessageInfos: file_NightCrowGadgetObservationMatchRsp_proto_msgTypes,
+ }.Build()
+ File_NightCrowGadgetObservationMatchRsp_proto = out.File
+ file_NightCrowGadgetObservationMatchRsp_proto_rawDesc = nil
+ file_NightCrowGadgetObservationMatchRsp_proto_goTypes = nil
+ file_NightCrowGadgetObservationMatchRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NormalUidOpNotify.pb.go b/protocol/proto/NormalUidOpNotify.pb.go
new file mode 100644
index 00000000..5a3d4671
--- /dev/null
+++ b/protocol/proto/NormalUidOpNotify.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NormalUidOpNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5726
+// EnetChannelId: 0
+// EnetIsReliable: true
+type NormalUidOpNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Duration uint32 `protobuf:"varint,6,opt,name=duration,proto3" json:"duration,omitempty"`
+ ParamList []uint32 `protobuf:"varint,4,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ ParamUidList []uint32 `protobuf:"varint,5,rep,packed,name=param_uid_list,json=paramUidList,proto3" json:"param_uid_list,omitempty"`
+ ParamIndex uint32 `protobuf:"varint,8,opt,name=param_index,json=paramIndex,proto3" json:"param_index,omitempty"`
+}
+
+func (x *NormalUidOpNotify) Reset() {
+ *x = NormalUidOpNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NormalUidOpNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NormalUidOpNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NormalUidOpNotify) ProtoMessage() {}
+
+func (x *NormalUidOpNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_NormalUidOpNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NormalUidOpNotify.ProtoReflect.Descriptor instead.
+func (*NormalUidOpNotify) Descriptor() ([]byte, []int) {
+ return file_NormalUidOpNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NormalUidOpNotify) GetDuration() uint32 {
+ if x != nil {
+ return x.Duration
+ }
+ return 0
+}
+
+func (x *NormalUidOpNotify) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *NormalUidOpNotify) GetParamUidList() []uint32 {
+ if x != nil {
+ return x.ParamUidList
+ }
+ return nil
+}
+
+func (x *NormalUidOpNotify) GetParamIndex() uint32 {
+ if x != nil {
+ return x.ParamIndex
+ }
+ return 0
+}
+
+var File_NormalUidOpNotify_proto protoreflect.FileDescriptor
+
+var file_NormalUidOpNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x55, 0x69, 0x64, 0x4f, 0x70, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x95, 0x01, 0x0a, 0x11, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x55, 0x69, 0x64, 0x4f, 0x70,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NormalUidOpNotify_proto_rawDescOnce sync.Once
+ file_NormalUidOpNotify_proto_rawDescData = file_NormalUidOpNotify_proto_rawDesc
+)
+
+func file_NormalUidOpNotify_proto_rawDescGZIP() []byte {
+ file_NormalUidOpNotify_proto_rawDescOnce.Do(func() {
+ file_NormalUidOpNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_NormalUidOpNotify_proto_rawDescData)
+ })
+ return file_NormalUidOpNotify_proto_rawDescData
+}
+
+var file_NormalUidOpNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NormalUidOpNotify_proto_goTypes = []interface{}{
+ (*NormalUidOpNotify)(nil), // 0: proto.NormalUidOpNotify
+}
+var file_NormalUidOpNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NormalUidOpNotify_proto_init() }
+func file_NormalUidOpNotify_proto_init() {
+ if File_NormalUidOpNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NormalUidOpNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NormalUidOpNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NormalUidOpNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NormalUidOpNotify_proto_goTypes,
+ DependencyIndexes: file_NormalUidOpNotify_proto_depIdxs,
+ MessageInfos: file_NormalUidOpNotify_proto_msgTypes,
+ }.Build()
+ File_NormalUidOpNotify_proto = out.File
+ file_NormalUidOpNotify_proto_rawDesc = nil
+ file_NormalUidOpNotify_proto_goTypes = nil
+ file_NormalUidOpNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NpcPositionInfo.pb.go b/protocol/proto/NpcPositionInfo.pb.go
new file mode 100644
index 00000000..49f21430
--- /dev/null
+++ b/protocol/proto/NpcPositionInfo.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NpcPositionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type NpcPositionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NpcId uint32 `protobuf:"varint,1,opt,name=npc_id,json=npcId,proto3" json:"npc_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,2,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *NpcPositionInfo) Reset() {
+ *x = NpcPositionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NpcPositionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NpcPositionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NpcPositionInfo) ProtoMessage() {}
+
+func (x *NpcPositionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_NpcPositionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NpcPositionInfo.ProtoReflect.Descriptor instead.
+func (*NpcPositionInfo) Descriptor() ([]byte, []int) {
+ return file_NpcPositionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NpcPositionInfo) GetNpcId() uint32 {
+ if x != nil {
+ return x.NpcId
+ }
+ return 0
+}
+
+func (x *NpcPositionInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_NpcPositionInfo_proto protoreflect.FileDescriptor
+
+var file_NpcPositionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x4e, 0x70, 0x63, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x0f,
+ 0x4e, 0x70, 0x63, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x15, 0x0a, 0x06, 0x6e, 0x70, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x6e, 0x70, 0x63, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NpcPositionInfo_proto_rawDescOnce sync.Once
+ file_NpcPositionInfo_proto_rawDescData = file_NpcPositionInfo_proto_rawDesc
+)
+
+func file_NpcPositionInfo_proto_rawDescGZIP() []byte {
+ file_NpcPositionInfo_proto_rawDescOnce.Do(func() {
+ file_NpcPositionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_NpcPositionInfo_proto_rawDescData)
+ })
+ return file_NpcPositionInfo_proto_rawDescData
+}
+
+var file_NpcPositionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NpcPositionInfo_proto_goTypes = []interface{}{
+ (*NpcPositionInfo)(nil), // 0: proto.NpcPositionInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_NpcPositionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.NpcPositionInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_NpcPositionInfo_proto_init() }
+func file_NpcPositionInfo_proto_init() {
+ if File_NpcPositionInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_NpcPositionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NpcPositionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NpcPositionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NpcPositionInfo_proto_goTypes,
+ DependencyIndexes: file_NpcPositionInfo_proto_depIdxs,
+ MessageInfos: file_NpcPositionInfo_proto_msgTypes,
+ }.Build()
+ File_NpcPositionInfo_proto = out.File
+ file_NpcPositionInfo_proto_rawDesc = nil
+ file_NpcPositionInfo_proto_goTypes = nil
+ file_NpcPositionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NpcTalkReq.pb.go b/protocol/proto/NpcTalkReq.pb.go
new file mode 100644
index 00000000..a616fc12
--- /dev/null
+++ b/protocol/proto/NpcTalkReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NpcTalkReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 572
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type NpcTalkReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ NpcEntityId uint32 `protobuf:"varint,9,opt,name=npc_entity_id,json=npcEntityId,proto3" json:"npc_entity_id,omitempty"`
+ TalkId uint32 `protobuf:"varint,7,opt,name=talk_id,json=talkId,proto3" json:"talk_id,omitempty"`
+}
+
+func (x *NpcTalkReq) Reset() {
+ *x = NpcTalkReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NpcTalkReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NpcTalkReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NpcTalkReq) ProtoMessage() {}
+
+func (x *NpcTalkReq) ProtoReflect() protoreflect.Message {
+ mi := &file_NpcTalkReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NpcTalkReq.ProtoReflect.Descriptor instead.
+func (*NpcTalkReq) Descriptor() ([]byte, []int) {
+ return file_NpcTalkReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NpcTalkReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *NpcTalkReq) GetNpcEntityId() uint32 {
+ if x != nil {
+ return x.NpcEntityId
+ }
+ return 0
+}
+
+func (x *NpcTalkReq) GetTalkId() uint32 {
+ if x != nil {
+ return x.TalkId
+ }
+ return 0
+}
+
+var File_NpcTalkReq_proto protoreflect.FileDescriptor
+
+var file_NpcTalkReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x4e, 0x70, 0x63, 0x54, 0x61, 0x6c, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x0a, 0x4e, 0x70, 0x63,
+ 0x54, 0x61, 0x6c, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x70, 0x63, 0x5f, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x70, 0x63,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x6c, 0x6b,
+ 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x61, 0x6c, 0x6b, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NpcTalkReq_proto_rawDescOnce sync.Once
+ file_NpcTalkReq_proto_rawDescData = file_NpcTalkReq_proto_rawDesc
+)
+
+func file_NpcTalkReq_proto_rawDescGZIP() []byte {
+ file_NpcTalkReq_proto_rawDescOnce.Do(func() {
+ file_NpcTalkReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_NpcTalkReq_proto_rawDescData)
+ })
+ return file_NpcTalkReq_proto_rawDescData
+}
+
+var file_NpcTalkReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NpcTalkReq_proto_goTypes = []interface{}{
+ (*NpcTalkReq)(nil), // 0: proto.NpcTalkReq
+}
+var file_NpcTalkReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NpcTalkReq_proto_init() }
+func file_NpcTalkReq_proto_init() {
+ if File_NpcTalkReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NpcTalkReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NpcTalkReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NpcTalkReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NpcTalkReq_proto_goTypes,
+ DependencyIndexes: file_NpcTalkReq_proto_depIdxs,
+ MessageInfos: file_NpcTalkReq_proto_msgTypes,
+ }.Build()
+ File_NpcTalkReq_proto = out.File
+ file_NpcTalkReq_proto_rawDesc = nil
+ file_NpcTalkReq_proto_goTypes = nil
+ file_NpcTalkReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NpcTalkRsp.pb.go b/protocol/proto/NpcTalkRsp.pb.go
new file mode 100644
index 00000000..84af4383
--- /dev/null
+++ b/protocol/proto/NpcTalkRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NpcTalkRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 598
+// EnetChannelId: 0
+// EnetIsReliable: true
+type NpcTalkRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurTalkId uint32 `protobuf:"varint,9,opt,name=cur_talk_id,json=curTalkId,proto3" json:"cur_talk_id,omitempty"`
+ NpcEntityId uint32 `protobuf:"varint,6,opt,name=npc_entity_id,json=npcEntityId,proto3" json:"npc_entity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EntityId uint32 `protobuf:"varint,13,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *NpcTalkRsp) Reset() {
+ *x = NpcTalkRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NpcTalkRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NpcTalkRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NpcTalkRsp) ProtoMessage() {}
+
+func (x *NpcTalkRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_NpcTalkRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NpcTalkRsp.ProtoReflect.Descriptor instead.
+func (*NpcTalkRsp) Descriptor() ([]byte, []int) {
+ return file_NpcTalkRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NpcTalkRsp) GetCurTalkId() uint32 {
+ if x != nil {
+ return x.CurTalkId
+ }
+ return 0
+}
+
+func (x *NpcTalkRsp) GetNpcEntityId() uint32 {
+ if x != nil {
+ return x.NpcEntityId
+ }
+ return 0
+}
+
+func (x *NpcTalkRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *NpcTalkRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_NpcTalkRsp_proto protoreflect.FileDescriptor
+
+var file_NpcTalkRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x4e, 0x70, 0x63, 0x54, 0x61, 0x6c, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x0a, 0x4e, 0x70,
+ 0x63, 0x54, 0x61, 0x6c, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x5f,
+ 0x74, 0x61, 0x6c, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63,
+ 0x75, 0x72, 0x54, 0x61, 0x6c, 0x6b, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x70, 0x63, 0x5f,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x6e, 0x70, 0x63, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NpcTalkRsp_proto_rawDescOnce sync.Once
+ file_NpcTalkRsp_proto_rawDescData = file_NpcTalkRsp_proto_rawDesc
+)
+
+func file_NpcTalkRsp_proto_rawDescGZIP() []byte {
+ file_NpcTalkRsp_proto_rawDescOnce.Do(func() {
+ file_NpcTalkRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_NpcTalkRsp_proto_rawDescData)
+ })
+ return file_NpcTalkRsp_proto_rawDescData
+}
+
+var file_NpcTalkRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NpcTalkRsp_proto_goTypes = []interface{}{
+ (*NpcTalkRsp)(nil), // 0: proto.NpcTalkRsp
+}
+var file_NpcTalkRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NpcTalkRsp_proto_init() }
+func file_NpcTalkRsp_proto_init() {
+ if File_NpcTalkRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NpcTalkRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NpcTalkRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NpcTalkRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NpcTalkRsp_proto_goTypes,
+ DependencyIndexes: file_NpcTalkRsp_proto_depIdxs,
+ MessageInfos: file_NpcTalkRsp_proto_msgTypes,
+ }.Build()
+ File_NpcTalkRsp_proto = out.File
+ file_NpcTalkRsp_proto_rawDesc = nil
+ file_NpcTalkRsp_proto_goTypes = nil
+ file_NpcTalkRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NpcTalkStateNotify.pb.go b/protocol/proto/NpcTalkStateNotify.pb.go
new file mode 100644
index 00000000..c3f9c0df
--- /dev/null
+++ b/protocol/proto/NpcTalkStateNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NpcTalkStateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 430
+// EnetChannelId: 0
+// EnetIsReliable: true
+type NpcTalkStateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsBan bool `protobuf:"varint,5,opt,name=is_ban,json=isBan,proto3" json:"is_ban,omitempty"`
+}
+
+func (x *NpcTalkStateNotify) Reset() {
+ *x = NpcTalkStateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NpcTalkStateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NpcTalkStateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NpcTalkStateNotify) ProtoMessage() {}
+
+func (x *NpcTalkStateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_NpcTalkStateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NpcTalkStateNotify.ProtoReflect.Descriptor instead.
+func (*NpcTalkStateNotify) Descriptor() ([]byte, []int) {
+ return file_NpcTalkStateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *NpcTalkStateNotify) GetIsBan() bool {
+ if x != nil {
+ return x.IsBan
+ }
+ return false
+}
+
+var File_NpcTalkStateNotify_proto protoreflect.FileDescriptor
+
+var file_NpcTalkStateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4e, 0x70, 0x63, 0x54, 0x61, 0x6c, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2b, 0x0a, 0x12, 0x4e, 0x70, 0x63, 0x54, 0x61, 0x6c, 0x6b, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x62, 0x61,
+ 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x42, 0x61, 0x6e, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_NpcTalkStateNotify_proto_rawDescOnce sync.Once
+ file_NpcTalkStateNotify_proto_rawDescData = file_NpcTalkStateNotify_proto_rawDesc
+)
+
+func file_NpcTalkStateNotify_proto_rawDescGZIP() []byte {
+ file_NpcTalkStateNotify_proto_rawDescOnce.Do(func() {
+ file_NpcTalkStateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_NpcTalkStateNotify_proto_rawDescData)
+ })
+ return file_NpcTalkStateNotify_proto_rawDescData
+}
+
+var file_NpcTalkStateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NpcTalkStateNotify_proto_goTypes = []interface{}{
+ (*NpcTalkStateNotify)(nil), // 0: proto.NpcTalkStateNotify
+}
+var file_NpcTalkStateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NpcTalkStateNotify_proto_init() }
+func file_NpcTalkStateNotify_proto_init() {
+ if File_NpcTalkStateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NpcTalkStateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NpcTalkStateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NpcTalkStateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NpcTalkStateNotify_proto_goTypes,
+ DependencyIndexes: file_NpcTalkStateNotify_proto_depIdxs,
+ MessageInfos: file_NpcTalkStateNotify_proto_msgTypes,
+ }.Build()
+ File_NpcTalkStateNotify_proto = out.File
+ file_NpcTalkStateNotify_proto_rawDesc = nil
+ file_NpcTalkStateNotify_proto_goTypes = nil
+ file_NpcTalkStateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/NullMsg.pb.go b/protocol/proto/NullMsg.pb.go
new file mode 100644
index 00000000..402bbf66
--- /dev/null
+++ b/protocol/proto/NullMsg.pb.go
@@ -0,0 +1,131 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: NullMsg.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type NullMsg struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *NullMsg) Reset() {
+ *x = NullMsg{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_NullMsg_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NullMsg) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NullMsg) ProtoMessage() {}
+
+func (x *NullMsg) ProtoReflect() protoreflect.Message {
+ mi := &file_NullMsg_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NullMsg.ProtoReflect.Descriptor instead.
+func (*NullMsg) Descriptor() ([]byte, []int) {
+ return file_NullMsg_proto_rawDescGZIP(), []int{0}
+}
+
+var File_NullMsg_proto protoreflect.FileDescriptor
+
+var file_NullMsg_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x4e, 0x75, 0x6c, 0x6c, 0x4d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x09, 0x0a, 0x07, 0x4e, 0x75, 0x6c, 0x6c, 0x4d, 0x73,
+ 0x67, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_NullMsg_proto_rawDescOnce sync.Once
+ file_NullMsg_proto_rawDescData = file_NullMsg_proto_rawDesc
+)
+
+func file_NullMsg_proto_rawDescGZIP() []byte {
+ file_NullMsg_proto_rawDescOnce.Do(func() {
+ file_NullMsg_proto_rawDescData = protoimpl.X.CompressGZIP(file_NullMsg_proto_rawDescData)
+ })
+ return file_NullMsg_proto_rawDescData
+}
+
+var file_NullMsg_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_NullMsg_proto_goTypes = []interface{}{
+ (*NullMsg)(nil), // 0: proto.NullMsg
+}
+var file_NullMsg_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_NullMsg_proto_init() }
+func file_NullMsg_proto_init() {
+ if File_NullMsg_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_NullMsg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NullMsg); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_NullMsg_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_NullMsg_proto_goTypes,
+ DependencyIndexes: file_NullMsg_proto_depIdxs,
+ MessageInfos: file_NullMsg_proto_msgTypes,
+ }.Build()
+ File_NullMsg_proto = out.File
+ file_NullMsg_proto_rawDesc = nil
+ file_NullMsg_proto_goTypes = nil
+ file_NullMsg_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ObstacleInfo.pb.go b/protocol/proto/ObstacleInfo.pb.go
new file mode 100644
index 00000000..062db16f
--- /dev/null
+++ b/protocol/proto/ObstacleInfo.pb.go
@@ -0,0 +1,270 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ObstacleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ObstacleInfo_ShapeType int32
+
+const (
+ ObstacleInfo_SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE ObstacleInfo_ShapeType = 0
+ ObstacleInfo_SHAPE_TYPE_OBSTACLE_SHAPE_BOX ObstacleInfo_ShapeType = 1
+)
+
+// Enum value maps for ObstacleInfo_ShapeType.
+var (
+ ObstacleInfo_ShapeType_name = map[int32]string{
+ 0: "SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE",
+ 1: "SHAPE_TYPE_OBSTACLE_SHAPE_BOX",
+ }
+ ObstacleInfo_ShapeType_value = map[string]int32{
+ "SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE": 0,
+ "SHAPE_TYPE_OBSTACLE_SHAPE_BOX": 1,
+ }
+)
+
+func (x ObstacleInfo_ShapeType) Enum() *ObstacleInfo_ShapeType {
+ p := new(ObstacleInfo_ShapeType)
+ *p = x
+ return p
+}
+
+func (x ObstacleInfo_ShapeType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ObstacleInfo_ShapeType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ObstacleInfo_proto_enumTypes[0].Descriptor()
+}
+
+func (ObstacleInfo_ShapeType) Type() protoreflect.EnumType {
+ return &file_ObstacleInfo_proto_enumTypes[0]
+}
+
+func (x ObstacleInfo_ShapeType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ObstacleInfo_ShapeType.Descriptor instead.
+func (ObstacleInfo_ShapeType) EnumDescriptor() ([]byte, []int) {
+ return file_ObstacleInfo_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type ObstacleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rotation *MathQuaternion `protobuf:"bytes,4,opt,name=rotation,proto3" json:"rotation,omitempty"`
+ ObstacleId int32 `protobuf:"varint,2,opt,name=obstacle_id,json=obstacleId,proto3" json:"obstacle_id,omitempty"`
+ Center *Vector `protobuf:"bytes,14,opt,name=center,proto3" json:"center,omitempty"`
+ Shape ObstacleInfo_ShapeType `protobuf:"varint,6,opt,name=shape,proto3,enum=proto.ObstacleInfo_ShapeType" json:"shape,omitempty"`
+ Extents *Vector3Int `protobuf:"bytes,12,opt,name=extents,proto3" json:"extents,omitempty"`
+}
+
+func (x *ObstacleInfo) Reset() {
+ *x = ObstacleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ObstacleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ObstacleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ObstacleInfo) ProtoMessage() {}
+
+func (x *ObstacleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ObstacleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ObstacleInfo.ProtoReflect.Descriptor instead.
+func (*ObstacleInfo) Descriptor() ([]byte, []int) {
+ return file_ObstacleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ObstacleInfo) GetRotation() *MathQuaternion {
+ if x != nil {
+ return x.Rotation
+ }
+ return nil
+}
+
+func (x *ObstacleInfo) GetObstacleId() int32 {
+ if x != nil {
+ return x.ObstacleId
+ }
+ return 0
+}
+
+func (x *ObstacleInfo) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *ObstacleInfo) GetShape() ObstacleInfo_ShapeType {
+ if x != nil {
+ return x.Shape
+ }
+ return ObstacleInfo_SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE
+}
+
+func (x *ObstacleInfo) GetExtents() *Vector3Int {
+ if x != nil {
+ return x.Extents
+ }
+ return nil
+}
+
+var File_ObstacleInfo_proto protoreflect.FileDescriptor
+
+var file_ObstacleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4d, 0x61, 0x74,
+ 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x10, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc2, 0x02, 0x0a, 0x0c, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74,
+ 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x6f, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x62, 0x73, 0x74,
+ 0x61, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a,
+ 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, 0x68, 0x61,
+ 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22,
+ 0x55, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21,
+ 0x53, 0x48, 0x41, 0x50, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x42, 0x53, 0x54, 0x41,
+ 0x43, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x53, 0x55, 0x4c,
+ 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x48, 0x41, 0x50, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4f, 0x42, 0x53, 0x54, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45,
+ 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ObstacleInfo_proto_rawDescOnce sync.Once
+ file_ObstacleInfo_proto_rawDescData = file_ObstacleInfo_proto_rawDesc
+)
+
+func file_ObstacleInfo_proto_rawDescGZIP() []byte {
+ file_ObstacleInfo_proto_rawDescOnce.Do(func() {
+ file_ObstacleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ObstacleInfo_proto_rawDescData)
+ })
+ return file_ObstacleInfo_proto_rawDescData
+}
+
+var file_ObstacleInfo_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ObstacleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ObstacleInfo_proto_goTypes = []interface{}{
+ (ObstacleInfo_ShapeType)(0), // 0: proto.ObstacleInfo.ShapeType
+ (*ObstacleInfo)(nil), // 1: proto.ObstacleInfo
+ (*MathQuaternion)(nil), // 2: proto.MathQuaternion
+ (*Vector)(nil), // 3: proto.Vector
+ (*Vector3Int)(nil), // 4: proto.Vector3Int
+}
+var file_ObstacleInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.ObstacleInfo.rotation:type_name -> proto.MathQuaternion
+ 3, // 1: proto.ObstacleInfo.center:type_name -> proto.Vector
+ 0, // 2: proto.ObstacleInfo.shape:type_name -> proto.ObstacleInfo.ShapeType
+ 4, // 3: proto.ObstacleInfo.extents:type_name -> proto.Vector3Int
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_ObstacleInfo_proto_init() }
+func file_ObstacleInfo_proto_init() {
+ if File_ObstacleInfo_proto != nil {
+ return
+ }
+ file_MathQuaternion_proto_init()
+ file_Vector_proto_init()
+ file_Vector3Int_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ObstacleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ObstacleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ObstacleInfo_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ObstacleInfo_proto_goTypes,
+ DependencyIndexes: file_ObstacleInfo_proto_depIdxs,
+ EnumInfos: file_ObstacleInfo_proto_enumTypes,
+ MessageInfos: file_ObstacleInfo_proto_msgTypes,
+ }.Build()
+ File_ObstacleInfo_proto = out.File
+ file_ObstacleInfo_proto_rawDesc = nil
+ file_ObstacleInfo_proto_goTypes = nil
+ file_ObstacleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ObstacleModifyNotify.pb.go b/protocol/proto/ObstacleModifyNotify.pb.go
new file mode 100644
index 00000000..daa05a6a
--- /dev/null
+++ b/protocol/proto/ObstacleModifyNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ObstacleModifyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2312
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ObstacleModifyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RemoveObstacleIds []int32 `protobuf:"varint,9,rep,packed,name=remove_obstacle_ids,json=removeObstacleIds,proto3" json:"remove_obstacle_ids,omitempty"`
+ AddObstacles []*ObstacleInfo `protobuf:"bytes,6,rep,name=add_obstacles,json=addObstacles,proto3" json:"add_obstacles,omitempty"`
+ SceneId uint32 `protobuf:"varint,5,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *ObstacleModifyNotify) Reset() {
+ *x = ObstacleModifyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ObstacleModifyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ObstacleModifyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ObstacleModifyNotify) ProtoMessage() {}
+
+func (x *ObstacleModifyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ObstacleModifyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ObstacleModifyNotify.ProtoReflect.Descriptor instead.
+func (*ObstacleModifyNotify) Descriptor() ([]byte, []int) {
+ return file_ObstacleModifyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ObstacleModifyNotify) GetRemoveObstacleIds() []int32 {
+ if x != nil {
+ return x.RemoveObstacleIds
+ }
+ return nil
+}
+
+func (x *ObstacleModifyNotify) GetAddObstacles() []*ObstacleInfo {
+ if x != nil {
+ return x.AddObstacles
+ }
+ return nil
+}
+
+func (x *ObstacleModifyNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_ObstacleModifyNotify_proto protoreflect.FileDescriptor
+
+var file_ObstacleModifyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x01, 0x0a, 0x14, 0x4f, 0x62, 0x73, 0x74,
+ 0x61, 0x63, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x61,
+ 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x05, 0x52, 0x11, 0x72,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x73,
+ 0x12, 0x38, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65,
+ 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x64,
+ 0x64, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ObstacleModifyNotify_proto_rawDescOnce sync.Once
+ file_ObstacleModifyNotify_proto_rawDescData = file_ObstacleModifyNotify_proto_rawDesc
+)
+
+func file_ObstacleModifyNotify_proto_rawDescGZIP() []byte {
+ file_ObstacleModifyNotify_proto_rawDescOnce.Do(func() {
+ file_ObstacleModifyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ObstacleModifyNotify_proto_rawDescData)
+ })
+ return file_ObstacleModifyNotify_proto_rawDescData
+}
+
+var file_ObstacleModifyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ObstacleModifyNotify_proto_goTypes = []interface{}{
+ (*ObstacleModifyNotify)(nil), // 0: proto.ObstacleModifyNotify
+ (*ObstacleInfo)(nil), // 1: proto.ObstacleInfo
+}
+var file_ObstacleModifyNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ObstacleModifyNotify.add_obstacles:type_name -> proto.ObstacleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ObstacleModifyNotify_proto_init() }
+func file_ObstacleModifyNotify_proto_init() {
+ if File_ObstacleModifyNotify_proto != nil {
+ return
+ }
+ file_ObstacleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ObstacleModifyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ObstacleModifyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ObstacleModifyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ObstacleModifyNotify_proto_goTypes,
+ DependencyIndexes: file_ObstacleModifyNotify_proto_depIdxs,
+ MessageInfos: file_ObstacleModifyNotify_proto_msgTypes,
+ }.Build()
+ File_ObstacleModifyNotify_proto = out.File
+ file_ObstacleModifyNotify_proto_rawDesc = nil
+ file_ObstacleModifyNotify_proto_goTypes = nil
+ file_ObstacleModifyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OfferingInfo.pb.go b/protocol/proto/OfferingInfo.pb.go
new file mode 100644
index 00000000..01886119
--- /dev/null
+++ b/protocol/proto/OfferingInfo.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OfferingInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type OfferingInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OfferingId uint32 `protobuf:"varint,1,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"`
+}
+
+func (x *OfferingInfo) Reset() {
+ *x = OfferingInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OfferingInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OfferingInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OfferingInfo) ProtoMessage() {}
+
+func (x *OfferingInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_OfferingInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OfferingInfo.ProtoReflect.Descriptor instead.
+func (*OfferingInfo) Descriptor() ([]byte, []int) {
+ return file_OfferingInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OfferingInfo) GetOfferingId() uint32 {
+ if x != nil {
+ return x.OfferingId
+ }
+ return 0
+}
+
+var File_OfferingInfo_proto protoreflect.FileDescriptor
+
+var file_OfferingInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x0c, 0x4f,
+ 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x6f,
+ 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OfferingInfo_proto_rawDescOnce sync.Once
+ file_OfferingInfo_proto_rawDescData = file_OfferingInfo_proto_rawDesc
+)
+
+func file_OfferingInfo_proto_rawDescGZIP() []byte {
+ file_OfferingInfo_proto_rawDescOnce.Do(func() {
+ file_OfferingInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_OfferingInfo_proto_rawDescData)
+ })
+ return file_OfferingInfo_proto_rawDescData
+}
+
+var file_OfferingInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OfferingInfo_proto_goTypes = []interface{}{
+ (*OfferingInfo)(nil), // 0: proto.OfferingInfo
+}
+var file_OfferingInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_OfferingInfo_proto_init() }
+func file_OfferingInfo_proto_init() {
+ if File_OfferingInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OfferingInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OfferingInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OfferingInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OfferingInfo_proto_goTypes,
+ DependencyIndexes: file_OfferingInfo_proto_depIdxs,
+ MessageInfos: file_OfferingInfo_proto_msgTypes,
+ }.Build()
+ File_OfferingInfo_proto = out.File
+ file_OfferingInfo_proto_rawDesc = nil
+ file_OfferingInfo_proto_goTypes = nil
+ file_OfferingInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OfferingInteractReq.pb.go b/protocol/proto/OfferingInteractReq.pb.go
new file mode 100644
index 00000000..ef2d233a
--- /dev/null
+++ b/protocol/proto/OfferingInteractReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OfferingInteractReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2918
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type OfferingInteractReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OfferingId uint32 `protobuf:"varint,9,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"`
+}
+
+func (x *OfferingInteractReq) Reset() {
+ *x = OfferingInteractReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OfferingInteractReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OfferingInteractReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OfferingInteractReq) ProtoMessage() {}
+
+func (x *OfferingInteractReq) ProtoReflect() protoreflect.Message {
+ mi := &file_OfferingInteractReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OfferingInteractReq.ProtoReflect.Descriptor instead.
+func (*OfferingInteractReq) Descriptor() ([]byte, []int) {
+ return file_OfferingInteractReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OfferingInteractReq) GetOfferingId() uint32 {
+ if x != nil {
+ return x.OfferingId
+ }
+ return 0
+}
+
+var File_OfferingInteractReq_proto protoreflect.FileDescriptor
+
+var file_OfferingInteractReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61,
+ 0x63, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x13, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e,
+ 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66,
+ 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OfferingInteractReq_proto_rawDescOnce sync.Once
+ file_OfferingInteractReq_proto_rawDescData = file_OfferingInteractReq_proto_rawDesc
+)
+
+func file_OfferingInteractReq_proto_rawDescGZIP() []byte {
+ file_OfferingInteractReq_proto_rawDescOnce.Do(func() {
+ file_OfferingInteractReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_OfferingInteractReq_proto_rawDescData)
+ })
+ return file_OfferingInteractReq_proto_rawDescData
+}
+
+var file_OfferingInteractReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OfferingInteractReq_proto_goTypes = []interface{}{
+ (*OfferingInteractReq)(nil), // 0: proto.OfferingInteractReq
+}
+var file_OfferingInteractReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_OfferingInteractReq_proto_init() }
+func file_OfferingInteractReq_proto_init() {
+ if File_OfferingInteractReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OfferingInteractReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OfferingInteractReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OfferingInteractReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OfferingInteractReq_proto_goTypes,
+ DependencyIndexes: file_OfferingInteractReq_proto_depIdxs,
+ MessageInfos: file_OfferingInteractReq_proto_msgTypes,
+ }.Build()
+ File_OfferingInteractReq_proto = out.File
+ file_OfferingInteractReq_proto_rawDesc = nil
+ file_OfferingInteractReq_proto_goTypes = nil
+ file_OfferingInteractReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OfferingInteractRsp.pb.go b/protocol/proto/OfferingInteractRsp.pb.go
new file mode 100644
index 00000000..b38f2076
--- /dev/null
+++ b/protocol/proto/OfferingInteractRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OfferingInteractRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2908
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OfferingInteractRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OfferingData *PlayerOfferingData `protobuf:"bytes,11,opt,name=offering_data,json=offeringData,proto3" json:"offering_data,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *OfferingInteractRsp) Reset() {
+ *x = OfferingInteractRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OfferingInteractRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OfferingInteractRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OfferingInteractRsp) ProtoMessage() {}
+
+func (x *OfferingInteractRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_OfferingInteractRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OfferingInteractRsp.ProtoReflect.Descriptor instead.
+func (*OfferingInteractRsp) Descriptor() ([]byte, []int) {
+ return file_OfferingInteractRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OfferingInteractRsp) GetOfferingData() *PlayerOfferingData {
+ if x != nil {
+ return x.OfferingData
+ }
+ return nil
+}
+
+func (x *OfferingInteractRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_OfferingInteractRsp_proto protoreflect.FileDescriptor
+
+var file_OfferingInteractRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61,
+ 0x63, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69,
+ 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x13,
+ 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0d, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f,
+ 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e,
+ 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_OfferingInteractRsp_proto_rawDescOnce sync.Once
+ file_OfferingInteractRsp_proto_rawDescData = file_OfferingInteractRsp_proto_rawDesc
+)
+
+func file_OfferingInteractRsp_proto_rawDescGZIP() []byte {
+ file_OfferingInteractRsp_proto_rawDescOnce.Do(func() {
+ file_OfferingInteractRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_OfferingInteractRsp_proto_rawDescData)
+ })
+ return file_OfferingInteractRsp_proto_rawDescData
+}
+
+var file_OfferingInteractRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OfferingInteractRsp_proto_goTypes = []interface{}{
+ (*OfferingInteractRsp)(nil), // 0: proto.OfferingInteractRsp
+ (*PlayerOfferingData)(nil), // 1: proto.PlayerOfferingData
+}
+var file_OfferingInteractRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.OfferingInteractRsp.offering_data:type_name -> proto.PlayerOfferingData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OfferingInteractRsp_proto_init() }
+func file_OfferingInteractRsp_proto_init() {
+ if File_OfferingInteractRsp_proto != nil {
+ return
+ }
+ file_PlayerOfferingData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OfferingInteractRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OfferingInteractRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OfferingInteractRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OfferingInteractRsp_proto_goTypes,
+ DependencyIndexes: file_OfferingInteractRsp_proto_depIdxs,
+ MessageInfos: file_OfferingInteractRsp_proto_msgTypes,
+ }.Build()
+ File_OfferingInteractRsp_proto = out.File
+ file_OfferingInteractRsp_proto_rawDesc = nil
+ file_OfferingInteractRsp_proto_goTypes = nil
+ file_OfferingInteractRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OfficialCustomDungeon.pb.go b/protocol/proto/OfficialCustomDungeon.pb.go
new file mode 100644
index 00000000..1ef1583f
--- /dev/null
+++ b/protocol/proto/OfficialCustomDungeon.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OfficialCustomDungeon.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type OfficialCustomDungeon struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,11,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ WinTimes uint32 `protobuf:"varint,3,opt,name=win_times,json=winTimes,proto3" json:"win_times,omitempty"`
+}
+
+func (x *OfficialCustomDungeon) Reset() {
+ *x = OfficialCustomDungeon{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OfficialCustomDungeon_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OfficialCustomDungeon) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OfficialCustomDungeon) ProtoMessage() {}
+
+func (x *OfficialCustomDungeon) ProtoReflect() protoreflect.Message {
+ mi := &file_OfficialCustomDungeon_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OfficialCustomDungeon.ProtoReflect.Descriptor instead.
+func (*OfficialCustomDungeon) Descriptor() ([]byte, []int) {
+ return file_OfficialCustomDungeon_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OfficialCustomDungeon) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *OfficialCustomDungeon) GetWinTimes() uint32 {
+ if x != nil {
+ return x.WinTimes
+ }
+ return 0
+}
+
+var File_OfficialCustomDungeon_proto protoreflect.FileDescriptor
+
+var file_OfficialCustomDungeon_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x15, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x77, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x77, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OfficialCustomDungeon_proto_rawDescOnce sync.Once
+ file_OfficialCustomDungeon_proto_rawDescData = file_OfficialCustomDungeon_proto_rawDesc
+)
+
+func file_OfficialCustomDungeon_proto_rawDescGZIP() []byte {
+ file_OfficialCustomDungeon_proto_rawDescOnce.Do(func() {
+ file_OfficialCustomDungeon_proto_rawDescData = protoimpl.X.CompressGZIP(file_OfficialCustomDungeon_proto_rawDescData)
+ })
+ return file_OfficialCustomDungeon_proto_rawDescData
+}
+
+var file_OfficialCustomDungeon_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OfficialCustomDungeon_proto_goTypes = []interface{}{
+ (*OfficialCustomDungeon)(nil), // 0: proto.OfficialCustomDungeon
+}
+var file_OfficialCustomDungeon_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_OfficialCustomDungeon_proto_init() }
+func file_OfficialCustomDungeon_proto_init() {
+ if File_OfficialCustomDungeon_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OfficialCustomDungeon_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OfficialCustomDungeon); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OfficialCustomDungeon_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OfficialCustomDungeon_proto_goTypes,
+ DependencyIndexes: file_OfficialCustomDungeon_proto_depIdxs,
+ MessageInfos: file_OfficialCustomDungeon_proto_msgTypes,
+ }.Build()
+ File_OfficialCustomDungeon_proto = out.File
+ file_OfficialCustomDungeon_proto_rawDesc = nil
+ file_OfficialCustomDungeon_proto_goTypes = nil
+ file_OfficialCustomDungeon_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OneofGatherPointDetectorData.pb.go b/protocol/proto/OneofGatherPointDetectorData.pb.go
new file mode 100644
index 00000000..b358dac6
--- /dev/null
+++ b/protocol/proto/OneofGatherPointDetectorData.pb.go
@@ -0,0 +1,226 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OneofGatherPointDetectorData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type OneofGatherPointDetectorData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HintCenterPos *Vector `protobuf:"bytes,7,opt,name=hint_center_pos,json=hintCenterPos,proto3" json:"hint_center_pos,omitempty"`
+ HintRadius uint32 `protobuf:"varint,14,opt,name=hint_radius,json=hintRadius,proto3" json:"hint_radius,omitempty"`
+ MaterialId uint32 `protobuf:"varint,10,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,6,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,13,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ IsAllCollected bool `protobuf:"varint,4,opt,name=is_all_collected,json=isAllCollected,proto3" json:"is_all_collected,omitempty"`
+ IsHintValid bool `protobuf:"varint,15,opt,name=is_hint_valid,json=isHintValid,proto3" json:"is_hint_valid,omitempty"`
+}
+
+func (x *OneofGatherPointDetectorData) Reset() {
+ *x = OneofGatherPointDetectorData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OneofGatherPointDetectorData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OneofGatherPointDetectorData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OneofGatherPointDetectorData) ProtoMessage() {}
+
+func (x *OneofGatherPointDetectorData) ProtoReflect() protoreflect.Message {
+ mi := &file_OneofGatherPointDetectorData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OneofGatherPointDetectorData.ProtoReflect.Descriptor instead.
+func (*OneofGatherPointDetectorData) Descriptor() ([]byte, []int) {
+ return file_OneofGatherPointDetectorData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OneofGatherPointDetectorData) GetHintCenterPos() *Vector {
+ if x != nil {
+ return x.HintCenterPos
+ }
+ return nil
+}
+
+func (x *OneofGatherPointDetectorData) GetHintRadius() uint32 {
+ if x != nil {
+ return x.HintRadius
+ }
+ return 0
+}
+
+func (x *OneofGatherPointDetectorData) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *OneofGatherPointDetectorData) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *OneofGatherPointDetectorData) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *OneofGatherPointDetectorData) GetIsAllCollected() bool {
+ if x != nil {
+ return x.IsAllCollected
+ }
+ return false
+}
+
+func (x *OneofGatherPointDetectorData) GetIsHintValid() bool {
+ if x != nil {
+ return x.IsHintValid
+ }
+ return false
+}
+
+var File_OneofGatherPointDetectorData_proto protoreflect.FileDescriptor
+
+var file_OneofGatherPointDetectorData_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x02, 0x0a, 0x1c, 0x4f, 0x6e,
+ 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x65,
+ 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x0f, 0x68, 0x69,
+ 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x0d, 0x68, 0x69, 0x6e, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f,
+ 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x68, 0x69, 0x6e, 0x74, 0x52, 0x61, 0x64, 0x69,
+ 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x69,
+ 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x6e, 0x74,
+ 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73,
+ 0x48, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OneofGatherPointDetectorData_proto_rawDescOnce sync.Once
+ file_OneofGatherPointDetectorData_proto_rawDescData = file_OneofGatherPointDetectorData_proto_rawDesc
+)
+
+func file_OneofGatherPointDetectorData_proto_rawDescGZIP() []byte {
+ file_OneofGatherPointDetectorData_proto_rawDescOnce.Do(func() {
+ file_OneofGatherPointDetectorData_proto_rawDescData = protoimpl.X.CompressGZIP(file_OneofGatherPointDetectorData_proto_rawDescData)
+ })
+ return file_OneofGatherPointDetectorData_proto_rawDescData
+}
+
+var file_OneofGatherPointDetectorData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OneofGatherPointDetectorData_proto_goTypes = []interface{}{
+ (*OneofGatherPointDetectorData)(nil), // 0: proto.OneofGatherPointDetectorData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_OneofGatherPointDetectorData_proto_depIdxs = []int32{
+ 1, // 0: proto.OneofGatherPointDetectorData.hint_center_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OneofGatherPointDetectorData_proto_init() }
+func file_OneofGatherPointDetectorData_proto_init() {
+ if File_OneofGatherPointDetectorData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OneofGatherPointDetectorData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OneofGatherPointDetectorData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OneofGatherPointDetectorData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OneofGatherPointDetectorData_proto_goTypes,
+ DependencyIndexes: file_OneofGatherPointDetectorData_proto_depIdxs,
+ MessageInfos: file_OneofGatherPointDetectorData_proto_msgTypes,
+ }.Build()
+ File_OneofGatherPointDetectorData_proto = out.File
+ file_OneofGatherPointDetectorData_proto_rawDesc = nil
+ file_OneofGatherPointDetectorData_proto_goTypes = nil
+ file_OneofGatherPointDetectorData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OneofGatherPointDetectorDataNotify.pb.go b/protocol/proto/OneofGatherPointDetectorDataNotify.pb.go
new file mode 100644
index 00000000..f3b814d9
--- /dev/null
+++ b/protocol/proto/OneofGatherPointDetectorDataNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OneofGatherPointDetectorDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4297
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OneofGatherPointDetectorDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OneofGatherPointDetectorDataList []*OneofGatherPointDetectorData `protobuf:"bytes,3,rep,name=oneof_gather_point_detector_data_list,json=oneofGatherPointDetectorDataList,proto3" json:"oneof_gather_point_detector_data_list,omitempty"`
+}
+
+func (x *OneofGatherPointDetectorDataNotify) Reset() {
+ *x = OneofGatherPointDetectorDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OneofGatherPointDetectorDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OneofGatherPointDetectorDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OneofGatherPointDetectorDataNotify) ProtoMessage() {}
+
+func (x *OneofGatherPointDetectorDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OneofGatherPointDetectorDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OneofGatherPointDetectorDataNotify.ProtoReflect.Descriptor instead.
+func (*OneofGatherPointDetectorDataNotify) Descriptor() ([]byte, []int) {
+ return file_OneofGatherPointDetectorDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OneofGatherPointDetectorDataNotify) GetOneofGatherPointDetectorDataList() []*OneofGatherPointDetectorData {
+ if x != nil {
+ return x.OneofGatherPointDetectorDataList
+ }
+ return nil
+}
+
+var File_OneofGatherPointDetectorDataNotify_proto protoreflect.FileDescriptor
+
+var file_OneofGatherPointDetectorDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x22, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x22, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47,
+ 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x74, 0x0a, 0x25,
+ 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OneofGatherPointDetectorDataNotify_proto_rawDescOnce sync.Once
+ file_OneofGatherPointDetectorDataNotify_proto_rawDescData = file_OneofGatherPointDetectorDataNotify_proto_rawDesc
+)
+
+func file_OneofGatherPointDetectorDataNotify_proto_rawDescGZIP() []byte {
+ file_OneofGatherPointDetectorDataNotify_proto_rawDescOnce.Do(func() {
+ file_OneofGatherPointDetectorDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OneofGatherPointDetectorDataNotify_proto_rawDescData)
+ })
+ return file_OneofGatherPointDetectorDataNotify_proto_rawDescData
+}
+
+var file_OneofGatherPointDetectorDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OneofGatherPointDetectorDataNotify_proto_goTypes = []interface{}{
+ (*OneofGatherPointDetectorDataNotify)(nil), // 0: proto.OneofGatherPointDetectorDataNotify
+ (*OneofGatherPointDetectorData)(nil), // 1: proto.OneofGatherPointDetectorData
+}
+var file_OneofGatherPointDetectorDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.OneofGatherPointDetectorDataNotify.oneof_gather_point_detector_data_list:type_name -> proto.OneofGatherPointDetectorData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OneofGatherPointDetectorDataNotify_proto_init() }
+func file_OneofGatherPointDetectorDataNotify_proto_init() {
+ if File_OneofGatherPointDetectorDataNotify_proto != nil {
+ return
+ }
+ file_OneofGatherPointDetectorData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OneofGatherPointDetectorDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OneofGatherPointDetectorDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OneofGatherPointDetectorDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OneofGatherPointDetectorDataNotify_proto_goTypes,
+ DependencyIndexes: file_OneofGatherPointDetectorDataNotify_proto_depIdxs,
+ MessageInfos: file_OneofGatherPointDetectorDataNotify_proto_msgTypes,
+ }.Build()
+ File_OneofGatherPointDetectorDataNotify_proto = out.File
+ file_OneofGatherPointDetectorDataNotify_proto_rawDesc = nil
+ file_OneofGatherPointDetectorDataNotify_proto_goTypes = nil
+ file_OneofGatherPointDetectorDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OnlinePlayerInfo.pb.go b/protocol/proto/OnlinePlayerInfo.pb.go
new file mode 100644
index 00000000..76b20594
--- /dev/null
+++ b/protocol/proto/OnlinePlayerInfo.pb.go
@@ -0,0 +1,292 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OnlinePlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type OnlinePlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ PlayerLevel uint32 `protobuf:"varint,3,opt,name=player_level,json=playerLevel,proto3" json:"player_level,omitempty"`
+ AvatarId uint32 `protobuf:"varint,4,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ MpSettingType MpSettingType `protobuf:"varint,5,opt,name=mp_setting_type,json=mpSettingType,proto3,enum=proto.MpSettingType" json:"mp_setting_type,omitempty"`
+ CurPlayerNumInWorld uint32 `protobuf:"varint,6,opt,name=cur_player_num_in_world,json=curPlayerNumInWorld,proto3" json:"cur_player_num_in_world,omitempty"`
+ WorldLevel uint32 `protobuf:"varint,7,opt,name=world_level,json=worldLevel,proto3" json:"world_level,omitempty"`
+ OnlineId string `protobuf:"bytes,8,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ NameCardId uint32 `protobuf:"varint,9,opt,name=name_card_id,json=nameCardId,proto3" json:"name_card_id,omitempty"`
+ BlacklistUidList []uint32 `protobuf:"varint,10,rep,packed,name=blacklist_uid_list,json=blacklistUidList,proto3" json:"blacklist_uid_list,omitempty"`
+ Signature string `protobuf:"bytes,11,opt,name=signature,proto3" json:"signature,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,12,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ PsnId string `protobuf:"bytes,13,opt,name=psn_id,json=psnId,proto3" json:"psn_id,omitempty"`
+}
+
+func (x *OnlinePlayerInfo) Reset() {
+ *x = OnlinePlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OnlinePlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OnlinePlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OnlinePlayerInfo) ProtoMessage() {}
+
+func (x *OnlinePlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_OnlinePlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OnlinePlayerInfo.ProtoReflect.Descriptor instead.
+func (*OnlinePlayerInfo) Descriptor() ([]byte, []int) {
+ return file_OnlinePlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OnlinePlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *OnlinePlayerInfo) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *OnlinePlayerInfo) GetPlayerLevel() uint32 {
+ if x != nil {
+ return x.PlayerLevel
+ }
+ return 0
+}
+
+func (x *OnlinePlayerInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *OnlinePlayerInfo) GetMpSettingType() MpSettingType {
+ if x != nil {
+ return x.MpSettingType
+ }
+ return MpSettingType_MP_SETTING_TYPE_NO_ENTER
+}
+
+func (x *OnlinePlayerInfo) GetCurPlayerNumInWorld() uint32 {
+ if x != nil {
+ return x.CurPlayerNumInWorld
+ }
+ return 0
+}
+
+func (x *OnlinePlayerInfo) GetWorldLevel() uint32 {
+ if x != nil {
+ return x.WorldLevel
+ }
+ return 0
+}
+
+func (x *OnlinePlayerInfo) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *OnlinePlayerInfo) GetNameCardId() uint32 {
+ if x != nil {
+ return x.NameCardId
+ }
+ return 0
+}
+
+func (x *OnlinePlayerInfo) GetBlacklistUidList() []uint32 {
+ if x != nil {
+ return x.BlacklistUidList
+ }
+ return nil
+}
+
+func (x *OnlinePlayerInfo) GetSignature() string {
+ if x != nil {
+ return x.Signature
+ }
+ return ""
+}
+
+func (x *OnlinePlayerInfo) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *OnlinePlayerInfo) GetPsnId() string {
+ if x != nil {
+ return x.PsnId
+ }
+ return ""
+}
+
+var File_OnlinePlayerInfo_proto protoreflect.FileDescriptor
+
+var file_OnlinePlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x13, 0x4d, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x03, 0x0a, 0x10, 0x4f,
+ 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
+ 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a,
+ 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x3c, 0x0a,
+ 0x0f, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x6d, 0x70,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x17, 0x63,
+ 0x75, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e,
+ 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x75,
+ 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x49, 0x6e, 0x57, 0x6f, 0x72, 0x6c,
+ 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12,
+ 0x20, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x75,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x62,
+ 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3e, 0x0a,
+ 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x15, 0x0a,
+ 0x06, 0x70, 0x73, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70,
+ 0x73, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OnlinePlayerInfo_proto_rawDescOnce sync.Once
+ file_OnlinePlayerInfo_proto_rawDescData = file_OnlinePlayerInfo_proto_rawDesc
+)
+
+func file_OnlinePlayerInfo_proto_rawDescGZIP() []byte {
+ file_OnlinePlayerInfo_proto_rawDescOnce.Do(func() {
+ file_OnlinePlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_OnlinePlayerInfo_proto_rawDescData)
+ })
+ return file_OnlinePlayerInfo_proto_rawDescData
+}
+
+var file_OnlinePlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OnlinePlayerInfo_proto_goTypes = []interface{}{
+ (*OnlinePlayerInfo)(nil), // 0: proto.OnlinePlayerInfo
+ (MpSettingType)(0), // 1: proto.MpSettingType
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_OnlinePlayerInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.OnlinePlayerInfo.mp_setting_type:type_name -> proto.MpSettingType
+ 2, // 1: proto.OnlinePlayerInfo.profile_picture:type_name -> proto.ProfilePicture
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_OnlinePlayerInfo_proto_init() }
+func file_OnlinePlayerInfo_proto_init() {
+ if File_OnlinePlayerInfo_proto != nil {
+ return
+ }
+ file_MpSettingType_proto_init()
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OnlinePlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OnlinePlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OnlinePlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OnlinePlayerInfo_proto_goTypes,
+ DependencyIndexes: file_OnlinePlayerInfo_proto_depIdxs,
+ MessageInfos: file_OnlinePlayerInfo_proto_msgTypes,
+ }.Build()
+ File_OnlinePlayerInfo_proto = out.File
+ file_OnlinePlayerInfo_proto_rawDesc = nil
+ file_OnlinePlayerInfo_proto_goTypes = nil
+ file_OnlinePlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OpActivityDataNotify.pb.go b/protocol/proto/OpActivityDataNotify.pb.go
new file mode 100644
index 00000000..0493793a
--- /dev/null
+++ b/protocol/proto/OpActivityDataNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OpActivityDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5112
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OpActivityDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpActivityInfoList []*OpActivityInfo `protobuf:"bytes,15,rep,name=op_activity_info_list,json=opActivityInfoList,proto3" json:"op_activity_info_list,omitempty"`
+}
+
+func (x *OpActivityDataNotify) Reset() {
+ *x = OpActivityDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OpActivityDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OpActivityDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OpActivityDataNotify) ProtoMessage() {}
+
+func (x *OpActivityDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OpActivityDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OpActivityDataNotify.ProtoReflect.Descriptor instead.
+func (*OpActivityDataNotify) Descriptor() ([]byte, []int) {
+ return file_OpActivityDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OpActivityDataNotify) GetOpActivityInfoList() []*OpActivityInfo {
+ if x != nil {
+ return x.OpActivityInfoList
+ }
+ return nil
+}
+
+var File_OpActivityDataNotify_proto protoreflect.FileDescriptor
+
+var file_OpActivityDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x14, 0x4f, 0x70, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x48, 0x0a, 0x15, 0x6f, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OpActivityDataNotify_proto_rawDescOnce sync.Once
+ file_OpActivityDataNotify_proto_rawDescData = file_OpActivityDataNotify_proto_rawDesc
+)
+
+func file_OpActivityDataNotify_proto_rawDescGZIP() []byte {
+ file_OpActivityDataNotify_proto_rawDescOnce.Do(func() {
+ file_OpActivityDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OpActivityDataNotify_proto_rawDescData)
+ })
+ return file_OpActivityDataNotify_proto_rawDescData
+}
+
+var file_OpActivityDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OpActivityDataNotify_proto_goTypes = []interface{}{
+ (*OpActivityDataNotify)(nil), // 0: proto.OpActivityDataNotify
+ (*OpActivityInfo)(nil), // 1: proto.OpActivityInfo
+}
+var file_OpActivityDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.OpActivityDataNotify.op_activity_info_list:type_name -> proto.OpActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OpActivityDataNotify_proto_init() }
+func file_OpActivityDataNotify_proto_init() {
+ if File_OpActivityDataNotify_proto != nil {
+ return
+ }
+ file_OpActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OpActivityDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OpActivityDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OpActivityDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OpActivityDataNotify_proto_goTypes,
+ DependencyIndexes: file_OpActivityDataNotify_proto_depIdxs,
+ MessageInfos: file_OpActivityDataNotify_proto_msgTypes,
+ }.Build()
+ File_OpActivityDataNotify_proto = out.File
+ file_OpActivityDataNotify_proto_rawDesc = nil
+ file_OpActivityDataNotify_proto_goTypes = nil
+ file_OpActivityDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OpActivityInfo.pb.go b/protocol/proto/OpActivityInfo.pb.go
new file mode 100644
index 00000000..d555eed2
--- /dev/null
+++ b/protocol/proto/OpActivityInfo.pb.go
@@ -0,0 +1,239 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OpActivityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type OpActivityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,2,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ EndTime uint32 `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ BeginTime uint32 `protobuf:"varint,5,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ IsHasChange bool `protobuf:"varint,1,opt,name=is_has_change,json=isHasChange,proto3" json:"is_has_change,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,13,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *OpActivityInfo_BonusInfo
+ Detail isOpActivityInfo_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *OpActivityInfo) Reset() {
+ *x = OpActivityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OpActivityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OpActivityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OpActivityInfo) ProtoMessage() {}
+
+func (x *OpActivityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_OpActivityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OpActivityInfo.ProtoReflect.Descriptor instead.
+func (*OpActivityInfo) Descriptor() ([]byte, []int) {
+ return file_OpActivityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OpActivityInfo) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *OpActivityInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *OpActivityInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *OpActivityInfo) GetIsHasChange() bool {
+ if x != nil {
+ return x.IsHasChange
+ }
+ return false
+}
+
+func (x *OpActivityInfo) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (m *OpActivityInfo) GetDetail() isOpActivityInfo_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *OpActivityInfo) GetBonusInfo() *BonusOpActivityInfo {
+ if x, ok := x.GetDetail().(*OpActivityInfo_BonusInfo); ok {
+ return x.BonusInfo
+ }
+ return nil
+}
+
+type isOpActivityInfo_Detail interface {
+ isOpActivityInfo_Detail()
+}
+
+type OpActivityInfo_BonusInfo struct {
+ BonusInfo *BonusOpActivityInfo `protobuf:"bytes,12,opt,name=bonus_info,json=bonusInfo,proto3,oneof"`
+}
+
+func (*OpActivityInfo_BonusInfo) isOpActivityInfo_Detail() {}
+
+var File_OpActivityInfo_proto protoreflect.FileDescriptor
+
+var file_OpActivityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x42,
+ 0x6f, 0x6e, 0x75, 0x73, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x01, 0x0a, 0x0e, 0x4f, 0x70, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
+ 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67,
+ 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x73,
+ 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
+ 0x73, 0x48, 0x61, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0a, 0x62,
+ 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x4f, 0x70, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x62,
+ 0x6f, 0x6e, 0x75, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OpActivityInfo_proto_rawDescOnce sync.Once
+ file_OpActivityInfo_proto_rawDescData = file_OpActivityInfo_proto_rawDesc
+)
+
+func file_OpActivityInfo_proto_rawDescGZIP() []byte {
+ file_OpActivityInfo_proto_rawDescOnce.Do(func() {
+ file_OpActivityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_OpActivityInfo_proto_rawDescData)
+ })
+ return file_OpActivityInfo_proto_rawDescData
+}
+
+var file_OpActivityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OpActivityInfo_proto_goTypes = []interface{}{
+ (*OpActivityInfo)(nil), // 0: proto.OpActivityInfo
+ (*BonusOpActivityInfo)(nil), // 1: proto.BonusOpActivityInfo
+}
+var file_OpActivityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.OpActivityInfo.bonus_info:type_name -> proto.BonusOpActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OpActivityInfo_proto_init() }
+func file_OpActivityInfo_proto_init() {
+ if File_OpActivityInfo_proto != nil {
+ return
+ }
+ file_BonusOpActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OpActivityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OpActivityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_OpActivityInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*OpActivityInfo_BonusInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OpActivityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OpActivityInfo_proto_goTypes,
+ DependencyIndexes: file_OpActivityInfo_proto_depIdxs,
+ MessageInfos: file_OpActivityInfo_proto_msgTypes,
+ }.Build()
+ File_OpActivityInfo_proto = out.File
+ file_OpActivityInfo_proto_rawDesc = nil
+ file_OpActivityInfo_proto_goTypes = nil
+ file_OpActivityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OpActivityStateNotify.pb.go b/protocol/proto/OpActivityStateNotify.pb.go
new file mode 100644
index 00000000..fd8c701b
--- /dev/null
+++ b/protocol/proto/OpActivityStateNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OpActivityStateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2572
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OpActivityStateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedBonusActivityIdList []uint32 `protobuf:"varint,14,rep,packed,name=finished_bonus_activity_id_list,json=finishedBonusActivityIdList,proto3" json:"finished_bonus_activity_id_list,omitempty"`
+ OpenedOpActivityInfoList []*OpActivityTagBriefInfo `protobuf:"bytes,13,rep,name=opened_op_activity_info_list,json=openedOpActivityInfoList,proto3" json:"opened_op_activity_info_list,omitempty"`
+}
+
+func (x *OpActivityStateNotify) Reset() {
+ *x = OpActivityStateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OpActivityStateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OpActivityStateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OpActivityStateNotify) ProtoMessage() {}
+
+func (x *OpActivityStateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OpActivityStateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OpActivityStateNotify.ProtoReflect.Descriptor instead.
+func (*OpActivityStateNotify) Descriptor() ([]byte, []int) {
+ return file_OpActivityStateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OpActivityStateNotify) GetFinishedBonusActivityIdList() []uint32 {
+ if x != nil {
+ return x.FinishedBonusActivityIdList
+ }
+ return nil
+}
+
+func (x *OpActivityStateNotify) GetOpenedOpActivityInfoList() []*OpActivityTagBriefInfo {
+ if x != nil {
+ return x.OpenedOpActivityInfoList
+ }
+ return nil
+}
+
+var File_OpActivityStateNotify_proto protoreflect.FileDescriptor
+
+var file_OpActivityStateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x54, 0x61, 0x67, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x15, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x44, 0x0a, 0x1f,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42,
+ 0x6f, 0x6e, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x1c, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x5f,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x67, 0x42, 0x72,
+ 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x18, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x4f,
+ 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OpActivityStateNotify_proto_rawDescOnce sync.Once
+ file_OpActivityStateNotify_proto_rawDescData = file_OpActivityStateNotify_proto_rawDesc
+)
+
+func file_OpActivityStateNotify_proto_rawDescGZIP() []byte {
+ file_OpActivityStateNotify_proto_rawDescOnce.Do(func() {
+ file_OpActivityStateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OpActivityStateNotify_proto_rawDescData)
+ })
+ return file_OpActivityStateNotify_proto_rawDescData
+}
+
+var file_OpActivityStateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OpActivityStateNotify_proto_goTypes = []interface{}{
+ (*OpActivityStateNotify)(nil), // 0: proto.OpActivityStateNotify
+ (*OpActivityTagBriefInfo)(nil), // 1: proto.OpActivityTagBriefInfo
+}
+var file_OpActivityStateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.OpActivityStateNotify.opened_op_activity_info_list:type_name -> proto.OpActivityTagBriefInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OpActivityStateNotify_proto_init() }
+func file_OpActivityStateNotify_proto_init() {
+ if File_OpActivityStateNotify_proto != nil {
+ return
+ }
+ file_OpActivityTagBriefInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OpActivityStateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OpActivityStateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OpActivityStateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OpActivityStateNotify_proto_goTypes,
+ DependencyIndexes: file_OpActivityStateNotify_proto_depIdxs,
+ MessageInfos: file_OpActivityStateNotify_proto_msgTypes,
+ }.Build()
+ File_OpActivityStateNotify_proto = out.File
+ file_OpActivityStateNotify_proto_rawDesc = nil
+ file_OpActivityStateNotify_proto_goTypes = nil
+ file_OpActivityStateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OpActivityTagBriefInfo.pb.go b/protocol/proto/OpActivityTagBriefInfo.pb.go
new file mode 100644
index 00000000..6f295ada
--- /dev/null
+++ b/protocol/proto/OpActivityTagBriefInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OpActivityTagBriefInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type OpActivityTagBriefInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConfigId uint32 `protobuf:"varint,2,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ HasReward bool `protobuf:"varint,3,opt,name=has_reward,json=hasReward,proto3" json:"has_reward,omitempty"`
+ OpActivityType uint32 `protobuf:"varint,11,opt,name=op_activity_type,json=opActivityType,proto3" json:"op_activity_type,omitempty"`
+}
+
+func (x *OpActivityTagBriefInfo) Reset() {
+ *x = OpActivityTagBriefInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OpActivityTagBriefInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OpActivityTagBriefInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OpActivityTagBriefInfo) ProtoMessage() {}
+
+func (x *OpActivityTagBriefInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_OpActivityTagBriefInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OpActivityTagBriefInfo.ProtoReflect.Descriptor instead.
+func (*OpActivityTagBriefInfo) Descriptor() ([]byte, []int) {
+ return file_OpActivityTagBriefInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OpActivityTagBriefInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *OpActivityTagBriefInfo) GetHasReward() bool {
+ if x != nil {
+ return x.HasReward
+ }
+ return false
+}
+
+func (x *OpActivityTagBriefInfo) GetOpActivityType() uint32 {
+ if x != nil {
+ return x.OpActivityType
+ }
+ return 0
+}
+
+var File_OpActivityTagBriefInfo_proto protoreflect.FileDescriptor
+
+var file_OpActivityTagBriefInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x54, 0x61, 0x67, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x16, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x54, 0x61, 0x67, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x68, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x09, 0x68, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6f,
+ 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OpActivityTagBriefInfo_proto_rawDescOnce sync.Once
+ file_OpActivityTagBriefInfo_proto_rawDescData = file_OpActivityTagBriefInfo_proto_rawDesc
+)
+
+func file_OpActivityTagBriefInfo_proto_rawDescGZIP() []byte {
+ file_OpActivityTagBriefInfo_proto_rawDescOnce.Do(func() {
+ file_OpActivityTagBriefInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_OpActivityTagBriefInfo_proto_rawDescData)
+ })
+ return file_OpActivityTagBriefInfo_proto_rawDescData
+}
+
+var file_OpActivityTagBriefInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OpActivityTagBriefInfo_proto_goTypes = []interface{}{
+ (*OpActivityTagBriefInfo)(nil), // 0: proto.OpActivityTagBriefInfo
+}
+var file_OpActivityTagBriefInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_OpActivityTagBriefInfo_proto_init() }
+func file_OpActivityTagBriefInfo_proto_init() {
+ if File_OpActivityTagBriefInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OpActivityTagBriefInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OpActivityTagBriefInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OpActivityTagBriefInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OpActivityTagBriefInfo_proto_goTypes,
+ DependencyIndexes: file_OpActivityTagBriefInfo_proto_depIdxs,
+ MessageInfos: file_OpActivityTagBriefInfo_proto_msgTypes,
+ }.Build()
+ File_OpActivityTagBriefInfo_proto = out.File
+ file_OpActivityTagBriefInfo_proto_rawDesc = nil
+ file_OpActivityTagBriefInfo_proto_goTypes = nil
+ file_OpActivityTagBriefInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OpActivityUpdateNotify.pb.go b/protocol/proto/OpActivityUpdateNotify.pb.go
new file mode 100644
index 00000000..d007d775
--- /dev/null
+++ b/protocol/proto/OpActivityUpdateNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OpActivityUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5135
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OpActivityUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpActivityInfo *OpActivityInfo `protobuf:"bytes,6,opt,name=op_activity_info,json=opActivityInfo,proto3" json:"op_activity_info,omitempty"`
+}
+
+func (x *OpActivityUpdateNotify) Reset() {
+ *x = OpActivityUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OpActivityUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OpActivityUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OpActivityUpdateNotify) ProtoMessage() {}
+
+func (x *OpActivityUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OpActivityUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OpActivityUpdateNotify.ProtoReflect.Descriptor instead.
+func (*OpActivityUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_OpActivityUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OpActivityUpdateNotify) GetOpActivityInfo() *OpActivityInfo {
+ if x != nil {
+ return x.OpActivityInfo
+ }
+ return nil
+}
+
+var File_OpActivityUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_OpActivityUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x16, 0x4f,
+ 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x10, 0x6f, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OpActivityUpdateNotify_proto_rawDescOnce sync.Once
+ file_OpActivityUpdateNotify_proto_rawDescData = file_OpActivityUpdateNotify_proto_rawDesc
+)
+
+func file_OpActivityUpdateNotify_proto_rawDescGZIP() []byte {
+ file_OpActivityUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_OpActivityUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OpActivityUpdateNotify_proto_rawDescData)
+ })
+ return file_OpActivityUpdateNotify_proto_rawDescData
+}
+
+var file_OpActivityUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OpActivityUpdateNotify_proto_goTypes = []interface{}{
+ (*OpActivityUpdateNotify)(nil), // 0: proto.OpActivityUpdateNotify
+ (*OpActivityInfo)(nil), // 1: proto.OpActivityInfo
+}
+var file_OpActivityUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.OpActivityUpdateNotify.op_activity_info:type_name -> proto.OpActivityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OpActivityUpdateNotify_proto_init() }
+func file_OpActivityUpdateNotify_proto_init() {
+ if File_OpActivityUpdateNotify_proto != nil {
+ return
+ }
+ file_OpActivityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OpActivityUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OpActivityUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OpActivityUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OpActivityUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_OpActivityUpdateNotify_proto_depIdxs,
+ MessageInfos: file_OpActivityUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_OpActivityUpdateNotify_proto = out.File
+ file_OpActivityUpdateNotify_proto_rawDesc = nil
+ file_OpActivityUpdateNotify_proto_goTypes = nil
+ file_OpActivityUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OpenBlossomCircleCampGuideNotify.pb.go b/protocol/proto/OpenBlossomCircleCampGuideNotify.pb.go
new file mode 100644
index 00000000..51d61493
--- /dev/null
+++ b/protocol/proto/OpenBlossomCircleCampGuideNotify.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OpenBlossomCircleCampGuideNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2703
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type OpenBlossomCircleCampGuideNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RefreshId uint32 `protobuf:"varint,7,opt,name=refresh_id,json=refreshId,proto3" json:"refresh_id,omitempty"`
+ CircleCampIdList []uint32 `protobuf:"varint,11,rep,packed,name=circle_camp_id_list,json=circleCampIdList,proto3" json:"circle_camp_id_list,omitempty"`
+}
+
+func (x *OpenBlossomCircleCampGuideNotify) Reset() {
+ *x = OpenBlossomCircleCampGuideNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OpenBlossomCircleCampGuideNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OpenBlossomCircleCampGuideNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OpenBlossomCircleCampGuideNotify) ProtoMessage() {}
+
+func (x *OpenBlossomCircleCampGuideNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OpenBlossomCircleCampGuideNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OpenBlossomCircleCampGuideNotify.ProtoReflect.Descriptor instead.
+func (*OpenBlossomCircleCampGuideNotify) Descriptor() ([]byte, []int) {
+ return file_OpenBlossomCircleCampGuideNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OpenBlossomCircleCampGuideNotify) GetRefreshId() uint32 {
+ if x != nil {
+ return x.RefreshId
+ }
+ return 0
+}
+
+func (x *OpenBlossomCircleCampGuideNotify) GetCircleCampIdList() []uint32 {
+ if x != nil {
+ return x.CircleCampIdList
+ }
+ return nil
+}
+
+var File_OpenBlossomCircleCampGuideNotify_proto protoreflect.FileDescriptor
+
+var file_OpenBlossomCircleCampGuideNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x69, 0x72,
+ 0x63, 0x6c, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x75, 0x69, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x70, 0x0a, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x69,
+ 0x72, 0x63, 0x6c, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x75, 0x69, 0x64, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x6d,
+ 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x10, 0x63, 0x69, 0x72, 0x63, 0x6c, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OpenBlossomCircleCampGuideNotify_proto_rawDescOnce sync.Once
+ file_OpenBlossomCircleCampGuideNotify_proto_rawDescData = file_OpenBlossomCircleCampGuideNotify_proto_rawDesc
+)
+
+func file_OpenBlossomCircleCampGuideNotify_proto_rawDescGZIP() []byte {
+ file_OpenBlossomCircleCampGuideNotify_proto_rawDescOnce.Do(func() {
+ file_OpenBlossomCircleCampGuideNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OpenBlossomCircleCampGuideNotify_proto_rawDescData)
+ })
+ return file_OpenBlossomCircleCampGuideNotify_proto_rawDescData
+}
+
+var file_OpenBlossomCircleCampGuideNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OpenBlossomCircleCampGuideNotify_proto_goTypes = []interface{}{
+ (*OpenBlossomCircleCampGuideNotify)(nil), // 0: proto.OpenBlossomCircleCampGuideNotify
+}
+var file_OpenBlossomCircleCampGuideNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_OpenBlossomCircleCampGuideNotify_proto_init() }
+func file_OpenBlossomCircleCampGuideNotify_proto_init() {
+ if File_OpenBlossomCircleCampGuideNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OpenBlossomCircleCampGuideNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OpenBlossomCircleCampGuideNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OpenBlossomCircleCampGuideNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OpenBlossomCircleCampGuideNotify_proto_goTypes,
+ DependencyIndexes: file_OpenBlossomCircleCampGuideNotify_proto_depIdxs,
+ MessageInfos: file_OpenBlossomCircleCampGuideNotify_proto_msgTypes,
+ }.Build()
+ File_OpenBlossomCircleCampGuideNotify_proto = out.File
+ file_OpenBlossomCircleCampGuideNotify_proto_rawDesc = nil
+ file_OpenBlossomCircleCampGuideNotify_proto_goTypes = nil
+ file_OpenBlossomCircleCampGuideNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OpenStateChangeNotify.pb.go b/protocol/proto/OpenStateChangeNotify.pb.go
new file mode 100644
index 00000000..7a814bfe
--- /dev/null
+++ b/protocol/proto/OpenStateChangeNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OpenStateChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 127
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OpenStateChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenStateMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=open_state_map,json=openStateMap,proto3" json:"open_state_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *OpenStateChangeNotify) Reset() {
+ *x = OpenStateChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OpenStateChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OpenStateChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OpenStateChangeNotify) ProtoMessage() {}
+
+func (x *OpenStateChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OpenStateChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OpenStateChangeNotify.ProtoReflect.Descriptor instead.
+func (*OpenStateChangeNotify) Descriptor() ([]byte, []int) {
+ return file_OpenStateChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OpenStateChangeNotify) GetOpenStateMap() map[uint32]uint32 {
+ if x != nil {
+ return x.OpenStateMap
+ }
+ return nil
+}
+
+var File_OpenStateChangeNotify_proto protoreflect.FileDescriptor
+
+var file_OpenStateChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x15, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x54,
+ 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f,
+ 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x3f, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OpenStateChangeNotify_proto_rawDescOnce sync.Once
+ file_OpenStateChangeNotify_proto_rawDescData = file_OpenStateChangeNotify_proto_rawDesc
+)
+
+func file_OpenStateChangeNotify_proto_rawDescGZIP() []byte {
+ file_OpenStateChangeNotify_proto_rawDescOnce.Do(func() {
+ file_OpenStateChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OpenStateChangeNotify_proto_rawDescData)
+ })
+ return file_OpenStateChangeNotify_proto_rawDescData
+}
+
+var file_OpenStateChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_OpenStateChangeNotify_proto_goTypes = []interface{}{
+ (*OpenStateChangeNotify)(nil), // 0: proto.OpenStateChangeNotify
+ nil, // 1: proto.OpenStateChangeNotify.OpenStateMapEntry
+}
+var file_OpenStateChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.OpenStateChangeNotify.open_state_map:type_name -> proto.OpenStateChangeNotify.OpenStateMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OpenStateChangeNotify_proto_init() }
+func file_OpenStateChangeNotify_proto_init() {
+ if File_OpenStateChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OpenStateChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OpenStateChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OpenStateChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OpenStateChangeNotify_proto_goTypes,
+ DependencyIndexes: file_OpenStateChangeNotify_proto_depIdxs,
+ MessageInfos: file_OpenStateChangeNotify_proto_msgTypes,
+ }.Build()
+ File_OpenStateChangeNotify_proto = out.File
+ file_OpenStateChangeNotify_proto_rawDesc = nil
+ file_OpenStateChangeNotify_proto_goTypes = nil
+ file_OpenStateChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OpenStateUpdateNotify.pb.go b/protocol/proto/OpenStateUpdateNotify.pb.go
new file mode 100644
index 00000000..9a691103
--- /dev/null
+++ b/protocol/proto/OpenStateUpdateNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OpenStateUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 193
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OpenStateUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenStateMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=open_state_map,json=openStateMap,proto3" json:"open_state_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *OpenStateUpdateNotify) Reset() {
+ *x = OpenStateUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OpenStateUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OpenStateUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OpenStateUpdateNotify) ProtoMessage() {}
+
+func (x *OpenStateUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OpenStateUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OpenStateUpdateNotify.ProtoReflect.Descriptor instead.
+func (*OpenStateUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_OpenStateUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OpenStateUpdateNotify) GetOpenStateMap() map[uint32]uint32 {
+ if x != nil {
+ return x.OpenStateMap
+ }
+ return nil
+}
+
+var File_OpenStateUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_OpenStateUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x15, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x54,
+ 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f,
+ 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x3f, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OpenStateUpdateNotify_proto_rawDescOnce sync.Once
+ file_OpenStateUpdateNotify_proto_rawDescData = file_OpenStateUpdateNotify_proto_rawDesc
+)
+
+func file_OpenStateUpdateNotify_proto_rawDescGZIP() []byte {
+ file_OpenStateUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_OpenStateUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OpenStateUpdateNotify_proto_rawDescData)
+ })
+ return file_OpenStateUpdateNotify_proto_rawDescData
+}
+
+var file_OpenStateUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_OpenStateUpdateNotify_proto_goTypes = []interface{}{
+ (*OpenStateUpdateNotify)(nil), // 0: proto.OpenStateUpdateNotify
+ nil, // 1: proto.OpenStateUpdateNotify.OpenStateMapEntry
+}
+var file_OpenStateUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.OpenStateUpdateNotify.open_state_map:type_name -> proto.OpenStateUpdateNotify.OpenStateMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OpenStateUpdateNotify_proto_init() }
+func file_OpenStateUpdateNotify_proto_init() {
+ if File_OpenStateUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OpenStateUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OpenStateUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OpenStateUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OpenStateUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_OpenStateUpdateNotify_proto_depIdxs,
+ MessageInfos: file_OpenStateUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_OpenStateUpdateNotify_proto = out.File
+ file_OpenStateUpdateNotify_proto_rawDesc = nil
+ file_OpenStateUpdateNotify_proto_goTypes = nil
+ file_OpenStateUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OrderDisplayNotify.pb.go b/protocol/proto/OrderDisplayNotify.pb.go
new file mode 100644
index 00000000..63c88cff
--- /dev/null
+++ b/protocol/proto/OrderDisplayNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OrderDisplayNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4131
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type OrderDisplayNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OrderId uint32 `protobuf:"varint,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
+}
+
+func (x *OrderDisplayNotify) Reset() {
+ *x = OrderDisplayNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OrderDisplayNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OrderDisplayNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OrderDisplayNotify) ProtoMessage() {}
+
+func (x *OrderDisplayNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OrderDisplayNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OrderDisplayNotify.ProtoReflect.Descriptor instead.
+func (*OrderDisplayNotify) Descriptor() ([]byte, []int) {
+ return file_OrderDisplayNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OrderDisplayNotify) GetOrderId() uint32 {
+ if x != nil {
+ return x.OrderId
+ }
+ return 0
+}
+
+var File_OrderDisplayNotify_proto protoreflect.FileDescriptor
+
+var file_OrderDisplayNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2f, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
+ 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OrderDisplayNotify_proto_rawDescOnce sync.Once
+ file_OrderDisplayNotify_proto_rawDescData = file_OrderDisplayNotify_proto_rawDesc
+)
+
+func file_OrderDisplayNotify_proto_rawDescGZIP() []byte {
+ file_OrderDisplayNotify_proto_rawDescOnce.Do(func() {
+ file_OrderDisplayNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OrderDisplayNotify_proto_rawDescData)
+ })
+ return file_OrderDisplayNotify_proto_rawDescData
+}
+
+var file_OrderDisplayNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OrderDisplayNotify_proto_goTypes = []interface{}{
+ (*OrderDisplayNotify)(nil), // 0: proto.OrderDisplayNotify
+}
+var file_OrderDisplayNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_OrderDisplayNotify_proto_init() }
+func file_OrderDisplayNotify_proto_init() {
+ if File_OrderDisplayNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OrderDisplayNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OrderDisplayNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OrderDisplayNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OrderDisplayNotify_proto_goTypes,
+ DependencyIndexes: file_OrderDisplayNotify_proto_depIdxs,
+ MessageInfos: file_OrderDisplayNotify_proto_msgTypes,
+ }.Build()
+ File_OrderDisplayNotify_proto = out.File
+ file_OrderDisplayNotify_proto_rawDesc = nil
+ file_OrderDisplayNotify_proto_goTypes = nil
+ file_OrderDisplayNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OrderFinishNotify.pb.go b/protocol/proto/OrderFinishNotify.pb.go
new file mode 100644
index 00000000..62f5978f
--- /dev/null
+++ b/protocol/proto/OrderFinishNotify.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OrderFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4125
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OrderFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OrderId uint32 `protobuf:"varint,3,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"`
+ CardProductRemainDays uint32 `protobuf:"varint,15,opt,name=card_product_remain_days,json=cardProductRemainDays,proto3" json:"card_product_remain_days,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,9,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ AddMcoin uint32 `protobuf:"varint,7,opt,name=add_mcoin,json=addMcoin,proto3" json:"add_mcoin,omitempty"`
+ ProductId string `protobuf:"bytes,6,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+}
+
+func (x *OrderFinishNotify) Reset() {
+ *x = OrderFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OrderFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OrderFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OrderFinishNotify) ProtoMessage() {}
+
+func (x *OrderFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OrderFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OrderFinishNotify.ProtoReflect.Descriptor instead.
+func (*OrderFinishNotify) Descriptor() ([]byte, []int) {
+ return file_OrderFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OrderFinishNotify) GetOrderId() uint32 {
+ if x != nil {
+ return x.OrderId
+ }
+ return 0
+}
+
+func (x *OrderFinishNotify) GetCardProductRemainDays() uint32 {
+ if x != nil {
+ return x.CardProductRemainDays
+ }
+ return 0
+}
+
+func (x *OrderFinishNotify) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *OrderFinishNotify) GetAddMcoin() uint32 {
+ if x != nil {
+ return x.AddMcoin
+ }
+ return 0
+}
+
+func (x *OrderFinishNotify) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+var File_OrderFinishNotify_proto protoreflect.FileDescriptor
+
+var file_OrderFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xd2, 0x01, 0x0a, 0x11, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75,
+ 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
+ 0x74, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x2d, 0x0a, 0x09, 0x69,
+ 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64,
+ 0x64, 0x5f, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61,
+ 0x64, 0x64, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75,
+ 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f,
+ 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OrderFinishNotify_proto_rawDescOnce sync.Once
+ file_OrderFinishNotify_proto_rawDescData = file_OrderFinishNotify_proto_rawDesc
+)
+
+func file_OrderFinishNotify_proto_rawDescGZIP() []byte {
+ file_OrderFinishNotify_proto_rawDescOnce.Do(func() {
+ file_OrderFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OrderFinishNotify_proto_rawDescData)
+ })
+ return file_OrderFinishNotify_proto_rawDescData
+}
+
+var file_OrderFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OrderFinishNotify_proto_goTypes = []interface{}{
+ (*OrderFinishNotify)(nil), // 0: proto.OrderFinishNotify
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_OrderFinishNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.OrderFinishNotify.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OrderFinishNotify_proto_init() }
+func file_OrderFinishNotify_proto_init() {
+ if File_OrderFinishNotify_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OrderFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OrderFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OrderFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OrderFinishNotify_proto_goTypes,
+ DependencyIndexes: file_OrderFinishNotify_proto_depIdxs,
+ MessageInfos: file_OrderFinishNotify_proto_msgTypes,
+ }.Build()
+ File_OrderFinishNotify_proto = out.File
+ file_OrderFinishNotify_proto_rawDesc = nil
+ file_OrderFinishNotify_proto_goTypes = nil
+ file_OrderFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OtherCustomDungeonBrief.pb.go b/protocol/proto/OtherCustomDungeonBrief.pb.go
new file mode 100644
index 00000000..4fe12d83
--- /dev/null
+++ b/protocol/proto/OtherCustomDungeonBrief.pb.go
@@ -0,0 +1,287 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OtherCustomDungeonBrief.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type OtherCustomDungeonBrief struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CreatorDetail *SocialDetail `protobuf:"bytes,4,opt,name=creator_detail,json=creatorDetail,proto3" json:"creator_detail,omitempty"`
+ BattleMinCostTime uint32 `protobuf:"varint,15,opt,name=battle_min_cost_time,json=battleMinCostTime,proto3" json:"battle_min_cost_time,omitempty"`
+ Abstract *CustomDungeonAbstract `protobuf:"bytes,2,opt,name=abstract,proto3" json:"abstract,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,14,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+ Setting *CustomDungeonSetting `protobuf:"bytes,10,opt,name=setting,proto3" json:"setting,omitempty"`
+ DungeonId uint32 `protobuf:"varint,6,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ TagList []uint32 `protobuf:"varint,1,rep,packed,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
+ IsAdventureDungeon bool `protobuf:"varint,11,opt,name=is_adventure_dungeon,json=isAdventureDungeon,proto3" json:"is_adventure_dungeon,omitempty"`
+ IsPsnPlatform bool `protobuf:"varint,9,opt,name=is_psn_platform,json=isPsnPlatform,proto3" json:"is_psn_platform,omitempty"`
+ IsStored bool `protobuf:"varint,3,opt,name=is_stored,json=isStored,proto3" json:"is_stored,omitempty"`
+ Social *CustomDungeonSocial `protobuf:"bytes,12,opt,name=social,proto3" json:"social,omitempty"`
+}
+
+func (x *OtherCustomDungeonBrief) Reset() {
+ *x = OtherCustomDungeonBrief{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OtherCustomDungeonBrief_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OtherCustomDungeonBrief) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OtherCustomDungeonBrief) ProtoMessage() {}
+
+func (x *OtherCustomDungeonBrief) ProtoReflect() protoreflect.Message {
+ mi := &file_OtherCustomDungeonBrief_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OtherCustomDungeonBrief.ProtoReflect.Descriptor instead.
+func (*OtherCustomDungeonBrief) Descriptor() ([]byte, []int) {
+ return file_OtherCustomDungeonBrief_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OtherCustomDungeonBrief) GetCreatorDetail() *SocialDetail {
+ if x != nil {
+ return x.CreatorDetail
+ }
+ return nil
+}
+
+func (x *OtherCustomDungeonBrief) GetBattleMinCostTime() uint32 {
+ if x != nil {
+ return x.BattleMinCostTime
+ }
+ return 0
+}
+
+func (x *OtherCustomDungeonBrief) GetAbstract() *CustomDungeonAbstract {
+ if x != nil {
+ return x.Abstract
+ }
+ return nil
+}
+
+func (x *OtherCustomDungeonBrief) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+func (x *OtherCustomDungeonBrief) GetSetting() *CustomDungeonSetting {
+ if x != nil {
+ return x.Setting
+ }
+ return nil
+}
+
+func (x *OtherCustomDungeonBrief) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *OtherCustomDungeonBrief) GetTagList() []uint32 {
+ if x != nil {
+ return x.TagList
+ }
+ return nil
+}
+
+func (x *OtherCustomDungeonBrief) GetIsAdventureDungeon() bool {
+ if x != nil {
+ return x.IsAdventureDungeon
+ }
+ return false
+}
+
+func (x *OtherCustomDungeonBrief) GetIsPsnPlatform() bool {
+ if x != nil {
+ return x.IsPsnPlatform
+ }
+ return false
+}
+
+func (x *OtherCustomDungeonBrief) GetIsStored() bool {
+ if x != nil {
+ return x.IsStored
+ }
+ return false
+}
+
+func (x *OtherCustomDungeonBrief) GetSocial() *CustomDungeonSocial {
+ if x != nil {
+ return x.Social
+ }
+ return nil
+}
+
+var File_OtherCustomDungeonBrief_proto protoreflect.FileDescriptor
+
+var file_OtherCustomDungeonBrief_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x19, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x6f,
+ 0x63, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x53, 0x6f, 0x63, 0x69,
+ 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff,
+ 0x03, 0x0a, 0x17, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x0e, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61,
+ 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x0a, 0x14, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x4d, 0x69, 0x6e, 0x43,
+ 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x61, 0x62, 0x73, 0x74, 0x72,
+ 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41,
+ 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63,
+ 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69,
+ 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61,
+ 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61,
+ 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x76, 0x65,
+ 0x6e, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x41, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75, 0x72, 0x65,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x70, 0x73,
+ 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0d, 0x69, 0x73, 0x50, 0x73, 0x6e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12,
+ 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x06,
+ 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x6c,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OtherCustomDungeonBrief_proto_rawDescOnce sync.Once
+ file_OtherCustomDungeonBrief_proto_rawDescData = file_OtherCustomDungeonBrief_proto_rawDesc
+)
+
+func file_OtherCustomDungeonBrief_proto_rawDescGZIP() []byte {
+ file_OtherCustomDungeonBrief_proto_rawDescOnce.Do(func() {
+ file_OtherCustomDungeonBrief_proto_rawDescData = protoimpl.X.CompressGZIP(file_OtherCustomDungeonBrief_proto_rawDescData)
+ })
+ return file_OtherCustomDungeonBrief_proto_rawDescData
+}
+
+var file_OtherCustomDungeonBrief_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OtherCustomDungeonBrief_proto_goTypes = []interface{}{
+ (*OtherCustomDungeonBrief)(nil), // 0: proto.OtherCustomDungeonBrief
+ (*SocialDetail)(nil), // 1: proto.SocialDetail
+ (*CustomDungeonAbstract)(nil), // 2: proto.CustomDungeonAbstract
+ (*CustomDungeonSetting)(nil), // 3: proto.CustomDungeonSetting
+ (*CustomDungeonSocial)(nil), // 4: proto.CustomDungeonSocial
+}
+var file_OtherCustomDungeonBrief_proto_depIdxs = []int32{
+ 1, // 0: proto.OtherCustomDungeonBrief.creator_detail:type_name -> proto.SocialDetail
+ 2, // 1: proto.OtherCustomDungeonBrief.abstract:type_name -> proto.CustomDungeonAbstract
+ 3, // 2: proto.OtherCustomDungeonBrief.setting:type_name -> proto.CustomDungeonSetting
+ 4, // 3: proto.OtherCustomDungeonBrief.social:type_name -> proto.CustomDungeonSocial
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_OtherCustomDungeonBrief_proto_init() }
+func file_OtherCustomDungeonBrief_proto_init() {
+ if File_OtherCustomDungeonBrief_proto != nil {
+ return
+ }
+ file_CustomDungeonAbstract_proto_init()
+ file_CustomDungeonSetting_proto_init()
+ file_CustomDungeonSocial_proto_init()
+ file_SocialDetail_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_OtherCustomDungeonBrief_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OtherCustomDungeonBrief); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OtherCustomDungeonBrief_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OtherCustomDungeonBrief_proto_goTypes,
+ DependencyIndexes: file_OtherCustomDungeonBrief_proto_depIdxs,
+ MessageInfos: file_OtherCustomDungeonBrief_proto_msgTypes,
+ }.Build()
+ File_OtherCustomDungeonBrief_proto = out.File
+ file_OtherCustomDungeonBrief_proto_rawDesc = nil
+ file_OtherCustomDungeonBrief_proto_goTypes = nil
+ file_OtherCustomDungeonBrief_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OtherPlayerEnterHomeNotify.pb.go b/protocol/proto/OtherPlayerEnterHomeNotify.pb.go
new file mode 100644
index 00000000..48f0b843
--- /dev/null
+++ b/protocol/proto/OtherPlayerEnterHomeNotify.pb.go
@@ -0,0 +1,232 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OtherPlayerEnterHomeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type OtherPlayerEnterHomeNotify_Reason int32
+
+const (
+ OtherPlayerEnterHomeNotify_REASON_INVALID OtherPlayerEnterHomeNotify_Reason = 0
+ OtherPlayerEnterHomeNotify_REASON_ENTER OtherPlayerEnterHomeNotify_Reason = 1
+ OtherPlayerEnterHomeNotify_REASON_LEAVE OtherPlayerEnterHomeNotify_Reason = 2
+)
+
+// Enum value maps for OtherPlayerEnterHomeNotify_Reason.
+var (
+ OtherPlayerEnterHomeNotify_Reason_name = map[int32]string{
+ 0: "REASON_INVALID",
+ 1: "REASON_ENTER",
+ 2: "REASON_LEAVE",
+ }
+ OtherPlayerEnterHomeNotify_Reason_value = map[string]int32{
+ "REASON_INVALID": 0,
+ "REASON_ENTER": 1,
+ "REASON_LEAVE": 2,
+ }
+)
+
+func (x OtherPlayerEnterHomeNotify_Reason) Enum() *OtherPlayerEnterHomeNotify_Reason {
+ p := new(OtherPlayerEnterHomeNotify_Reason)
+ *p = x
+ return p
+}
+
+func (x OtherPlayerEnterHomeNotify_Reason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (OtherPlayerEnterHomeNotify_Reason) Descriptor() protoreflect.EnumDescriptor {
+ return file_OtherPlayerEnterHomeNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (OtherPlayerEnterHomeNotify_Reason) Type() protoreflect.EnumType {
+ return &file_OtherPlayerEnterHomeNotify_proto_enumTypes[0]
+}
+
+func (x OtherPlayerEnterHomeNotify_Reason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use OtherPlayerEnterHomeNotify_Reason.Descriptor instead.
+func (OtherPlayerEnterHomeNotify_Reason) EnumDescriptor() ([]byte, []int) {
+ return file_OtherPlayerEnterHomeNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 4628
+// EnetChannelId: 0
+// EnetIsReliable: true
+type OtherPlayerEnterHomeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Nickname string `protobuf:"bytes,7,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ Reason OtherPlayerEnterHomeNotify_Reason `protobuf:"varint,3,opt,name=reason,proto3,enum=proto.OtherPlayerEnterHomeNotify_Reason" json:"reason,omitempty"`
+}
+
+func (x *OtherPlayerEnterHomeNotify) Reset() {
+ *x = OtherPlayerEnterHomeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OtherPlayerEnterHomeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OtherPlayerEnterHomeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OtherPlayerEnterHomeNotify) ProtoMessage() {}
+
+func (x *OtherPlayerEnterHomeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_OtherPlayerEnterHomeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OtherPlayerEnterHomeNotify.ProtoReflect.Descriptor instead.
+func (*OtherPlayerEnterHomeNotify) Descriptor() ([]byte, []int) {
+ return file_OtherPlayerEnterHomeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OtherPlayerEnterHomeNotify) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *OtherPlayerEnterHomeNotify) GetReason() OtherPlayerEnterHomeNotify_Reason {
+ if x != nil {
+ return x.Reason
+ }
+ return OtherPlayerEnterHomeNotify_REASON_INVALID
+}
+
+var File_OtherPlayerEnterHomeNotify_proto protoreflect.FileDescriptor
+
+var file_OtherPlayerEnterHomeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x1a, 0x4f, 0x74,
+ 0x68, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f,
+ 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x74, 0x68,
+ 0x65, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06,
+ 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x40, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c,
+ 0x49, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45,
+ 0x4e, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OtherPlayerEnterHomeNotify_proto_rawDescOnce sync.Once
+ file_OtherPlayerEnterHomeNotify_proto_rawDescData = file_OtherPlayerEnterHomeNotify_proto_rawDesc
+)
+
+func file_OtherPlayerEnterHomeNotify_proto_rawDescGZIP() []byte {
+ file_OtherPlayerEnterHomeNotify_proto_rawDescOnce.Do(func() {
+ file_OtherPlayerEnterHomeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_OtherPlayerEnterHomeNotify_proto_rawDescData)
+ })
+ return file_OtherPlayerEnterHomeNotify_proto_rawDescData
+}
+
+var file_OtherPlayerEnterHomeNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_OtherPlayerEnterHomeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OtherPlayerEnterHomeNotify_proto_goTypes = []interface{}{
+ (OtherPlayerEnterHomeNotify_Reason)(0), // 0: proto.OtherPlayerEnterHomeNotify.Reason
+ (*OtherPlayerEnterHomeNotify)(nil), // 1: proto.OtherPlayerEnterHomeNotify
+}
+var file_OtherPlayerEnterHomeNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.OtherPlayerEnterHomeNotify.reason:type_name -> proto.OtherPlayerEnterHomeNotify.Reason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_OtherPlayerEnterHomeNotify_proto_init() }
+func file_OtherPlayerEnterHomeNotify_proto_init() {
+ if File_OtherPlayerEnterHomeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OtherPlayerEnterHomeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OtherPlayerEnterHomeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OtherPlayerEnterHomeNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OtherPlayerEnterHomeNotify_proto_goTypes,
+ DependencyIndexes: file_OtherPlayerEnterHomeNotify_proto_depIdxs,
+ EnumInfos: file_OtherPlayerEnterHomeNotify_proto_enumTypes,
+ MessageInfos: file_OtherPlayerEnterHomeNotify_proto_msgTypes,
+ }.Build()
+ File_OtherPlayerEnterHomeNotify_proto = out.File
+ file_OtherPlayerEnterHomeNotify_proto_rawDesc = nil
+ file_OtherPlayerEnterHomeNotify_proto_goTypes = nil
+ file_OtherPlayerEnterHomeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OutStuckCustomDungeonReq.pb.go b/protocol/proto/OutStuckCustomDungeonReq.pb.go
new file mode 100644
index 00000000..5843aea7
--- /dev/null
+++ b/protocol/proto/OutStuckCustomDungeonReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OutStuckCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6211
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type OutStuckCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *OutStuckCustomDungeonReq) Reset() {
+ *x = OutStuckCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OutStuckCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OutStuckCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OutStuckCustomDungeonReq) ProtoMessage() {}
+
+func (x *OutStuckCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_OutStuckCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OutStuckCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*OutStuckCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_OutStuckCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_OutStuckCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_OutStuckCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4f, 0x75, 0x74, 0x53, 0x74, 0x75, 0x63, 0x6b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x4f, 0x75, 0x74, 0x53, 0x74,
+ 0x75, 0x63, 0x6b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_OutStuckCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_OutStuckCustomDungeonReq_proto_rawDescData = file_OutStuckCustomDungeonReq_proto_rawDesc
+)
+
+func file_OutStuckCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_OutStuckCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_OutStuckCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_OutStuckCustomDungeonReq_proto_rawDescData)
+ })
+ return file_OutStuckCustomDungeonReq_proto_rawDescData
+}
+
+var file_OutStuckCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OutStuckCustomDungeonReq_proto_goTypes = []interface{}{
+ (*OutStuckCustomDungeonReq)(nil), // 0: proto.OutStuckCustomDungeonReq
+}
+var file_OutStuckCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_OutStuckCustomDungeonReq_proto_init() }
+func file_OutStuckCustomDungeonReq_proto_init() {
+ if File_OutStuckCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OutStuckCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OutStuckCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OutStuckCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OutStuckCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_OutStuckCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_OutStuckCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_OutStuckCustomDungeonReq_proto = out.File
+ file_OutStuckCustomDungeonReq_proto_rawDesc = nil
+ file_OutStuckCustomDungeonReq_proto_goTypes = nil
+ file_OutStuckCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/OutStuckCustomDungeonRsp.pb.go b/protocol/proto/OutStuckCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..a5c1c1e0
--- /dev/null
+++ b/protocol/proto/OutStuckCustomDungeonRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: OutStuckCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6234
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type OutStuckCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *OutStuckCustomDungeonRsp) Reset() {
+ *x = OutStuckCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_OutStuckCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *OutStuckCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*OutStuckCustomDungeonRsp) ProtoMessage() {}
+
+func (x *OutStuckCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_OutStuckCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use OutStuckCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*OutStuckCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_OutStuckCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *OutStuckCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_OutStuckCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_OutStuckCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x4f, 0x75, 0x74, 0x53, 0x74, 0x75, 0x63, 0x6b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x18, 0x4f, 0x75, 0x74, 0x53, 0x74,
+ 0x75, 0x63, 0x6b, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_OutStuckCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_OutStuckCustomDungeonRsp_proto_rawDescData = file_OutStuckCustomDungeonRsp_proto_rawDesc
+)
+
+func file_OutStuckCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_OutStuckCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_OutStuckCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_OutStuckCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_OutStuckCustomDungeonRsp_proto_rawDescData
+}
+
+var file_OutStuckCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_OutStuckCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*OutStuckCustomDungeonRsp)(nil), // 0: proto.OutStuckCustomDungeonRsp
+}
+var file_OutStuckCustomDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_OutStuckCustomDungeonRsp_proto_init() }
+func file_OutStuckCustomDungeonRsp_proto_init() {
+ if File_OutStuckCustomDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_OutStuckCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*OutStuckCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_OutStuckCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_OutStuckCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_OutStuckCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_OutStuckCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_OutStuckCustomDungeonRsp_proto = out.File
+ file_OutStuckCustomDungeonRsp_proto_rawDesc = nil
+ file_OutStuckCustomDungeonRsp_proto_goTypes = nil
+ file_OutStuckCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PBNavMeshPoly.pb.go b/protocol/proto/PBNavMeshPoly.pb.go
new file mode 100644
index 00000000..512de0f2
--- /dev/null
+++ b/protocol/proto/PBNavMeshPoly.pb.go
@@ -0,0 +1,243 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PBNavMeshPoly.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PBNavMeshPoly_EdgeType int32
+
+const (
+ PBNavMeshPoly_EDGE_TYPE_INNER PBNavMeshPoly_EdgeType = 0
+ PBNavMeshPoly_EDGE_TYPE_TILE_BOUND PBNavMeshPoly_EdgeType = 1
+ PBNavMeshPoly_EDGE_TYPE_TILE_BOUND_UNCONNECT PBNavMeshPoly_EdgeType = 2
+ PBNavMeshPoly_EDGE_TYPE_TILE_BOUND_OVERIDE PBNavMeshPoly_EdgeType = 3
+)
+
+// Enum value maps for PBNavMeshPoly_EdgeType.
+var (
+ PBNavMeshPoly_EdgeType_name = map[int32]string{
+ 0: "EDGE_TYPE_INNER",
+ 1: "EDGE_TYPE_TILE_BOUND",
+ 2: "EDGE_TYPE_TILE_BOUND_UNCONNECT",
+ 3: "EDGE_TYPE_TILE_BOUND_OVERIDE",
+ }
+ PBNavMeshPoly_EdgeType_value = map[string]int32{
+ "EDGE_TYPE_INNER": 0,
+ "EDGE_TYPE_TILE_BOUND": 1,
+ "EDGE_TYPE_TILE_BOUND_UNCONNECT": 2,
+ "EDGE_TYPE_TILE_BOUND_OVERIDE": 3,
+ }
+)
+
+func (x PBNavMeshPoly_EdgeType) Enum() *PBNavMeshPoly_EdgeType {
+ p := new(PBNavMeshPoly_EdgeType)
+ *p = x
+ return p
+}
+
+func (x PBNavMeshPoly_EdgeType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PBNavMeshPoly_EdgeType) Descriptor() protoreflect.EnumDescriptor {
+ return file_PBNavMeshPoly_proto_enumTypes[0].Descriptor()
+}
+
+func (PBNavMeshPoly_EdgeType) Type() protoreflect.EnumType {
+ return &file_PBNavMeshPoly_proto_enumTypes[0]
+}
+
+func (x PBNavMeshPoly_EdgeType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PBNavMeshPoly_EdgeType.Descriptor instead.
+func (PBNavMeshPoly_EdgeType) EnumDescriptor() ([]byte, []int) {
+ return file_PBNavMeshPoly_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type PBNavMeshPoly struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EdgeTypes []PBNavMeshPoly_EdgeType `protobuf:"varint,10,rep,packed,name=edge_types,json=edgeTypes,proto3,enum=proto.PBNavMeshPoly_EdgeType" json:"edge_types,omitempty"`
+ Area int32 `protobuf:"varint,6,opt,name=area,proto3" json:"area,omitempty"`
+ Vects []int32 `protobuf:"varint,7,rep,packed,name=vects,proto3" json:"vects,omitempty"`
+}
+
+func (x *PBNavMeshPoly) Reset() {
+ *x = PBNavMeshPoly{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PBNavMeshPoly_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PBNavMeshPoly) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PBNavMeshPoly) ProtoMessage() {}
+
+func (x *PBNavMeshPoly) ProtoReflect() protoreflect.Message {
+ mi := &file_PBNavMeshPoly_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PBNavMeshPoly.ProtoReflect.Descriptor instead.
+func (*PBNavMeshPoly) Descriptor() ([]byte, []int) {
+ return file_PBNavMeshPoly_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PBNavMeshPoly) GetEdgeTypes() []PBNavMeshPoly_EdgeType {
+ if x != nil {
+ return x.EdgeTypes
+ }
+ return nil
+}
+
+func (x *PBNavMeshPoly) GetArea() int32 {
+ if x != nil {
+ return x.Area
+ }
+ return 0
+}
+
+func (x *PBNavMeshPoly) GetVects() []int32 {
+ if x != nil {
+ return x.Vects
+ }
+ return nil
+}
+
+var File_PBNavMeshPoly_proto protoreflect.FileDescriptor
+
+var file_PBNavMeshPoly_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x42, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf8, 0x01, 0x0a,
+ 0x0d, 0x50, 0x42, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x3c,
+ 0x0a, 0x0a, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x42, 0x4e, 0x61, 0x76,
+ 0x4d, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x79, 0x2e, 0x45, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x09, 0x65, 0x64, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04,
+ 0x61, 0x72, 0x65, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x61, 0x72, 0x65, 0x61,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x65, 0x63, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52,
+ 0x05, 0x76, 0x65, 0x63, 0x74, 0x73, 0x22, 0x7f, 0x0a, 0x08, 0x45, 0x64, 0x67, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x44, 0x47, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10,
+ 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54,
+ 0x49, 0x4c, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x4e,
+ 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x54, 0x49, 0x4c, 0x45, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x4f, 0x56,
+ 0x45, 0x52, 0x49, 0x44, 0x45, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PBNavMeshPoly_proto_rawDescOnce sync.Once
+ file_PBNavMeshPoly_proto_rawDescData = file_PBNavMeshPoly_proto_rawDesc
+)
+
+func file_PBNavMeshPoly_proto_rawDescGZIP() []byte {
+ file_PBNavMeshPoly_proto_rawDescOnce.Do(func() {
+ file_PBNavMeshPoly_proto_rawDescData = protoimpl.X.CompressGZIP(file_PBNavMeshPoly_proto_rawDescData)
+ })
+ return file_PBNavMeshPoly_proto_rawDescData
+}
+
+var file_PBNavMeshPoly_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PBNavMeshPoly_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PBNavMeshPoly_proto_goTypes = []interface{}{
+ (PBNavMeshPoly_EdgeType)(0), // 0: proto.PBNavMeshPoly.EdgeType
+ (*PBNavMeshPoly)(nil), // 1: proto.PBNavMeshPoly
+}
+var file_PBNavMeshPoly_proto_depIdxs = []int32{
+ 0, // 0: proto.PBNavMeshPoly.edge_types:type_name -> proto.PBNavMeshPoly.EdgeType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PBNavMeshPoly_proto_init() }
+func file_PBNavMeshPoly_proto_init() {
+ if File_PBNavMeshPoly_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PBNavMeshPoly_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PBNavMeshPoly); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PBNavMeshPoly_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PBNavMeshPoly_proto_goTypes,
+ DependencyIndexes: file_PBNavMeshPoly_proto_depIdxs,
+ EnumInfos: file_PBNavMeshPoly_proto_enumTypes,
+ MessageInfos: file_PBNavMeshPoly_proto_msgTypes,
+ }.Build()
+ File_PBNavMeshPoly_proto = out.File
+ file_PBNavMeshPoly_proto_rawDesc = nil
+ file_PBNavMeshPoly_proto_goTypes = nil
+ file_PBNavMeshPoly_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PBNavMeshTile.pb.go b/protocol/proto/PBNavMeshTile.pb.go
new file mode 100644
index 00000000..76dfff06
--- /dev/null
+++ b/protocol/proto/PBNavMeshTile.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PBNavMeshTile.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PBNavMeshTile struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Vecs []*Vector `protobuf:"bytes,4,rep,name=vecs,proto3" json:"vecs,omitempty"`
+ Polys []*PBNavMeshPoly `protobuf:"bytes,8,rep,name=polys,proto3" json:"polys,omitempty"`
+}
+
+func (x *PBNavMeshTile) Reset() {
+ *x = PBNavMeshTile{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PBNavMeshTile_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PBNavMeshTile) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PBNavMeshTile) ProtoMessage() {}
+
+func (x *PBNavMeshTile) ProtoReflect() protoreflect.Message {
+ mi := &file_PBNavMeshTile_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PBNavMeshTile.ProtoReflect.Descriptor instead.
+func (*PBNavMeshTile) Descriptor() ([]byte, []int) {
+ return file_PBNavMeshTile_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PBNavMeshTile) GetVecs() []*Vector {
+ if x != nil {
+ return x.Vecs
+ }
+ return nil
+}
+
+func (x *PBNavMeshTile) GetPolys() []*PBNavMeshPoly {
+ if x != nil {
+ return x.Polys
+ }
+ return nil
+}
+
+var File_PBNavMeshTile_proto protoreflect.FileDescriptor
+
+var file_PBNavMeshTile_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x42, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x50, 0x42,
+ 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5e, 0x0a, 0x0d, 0x50, 0x42, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6c, 0x65,
+ 0x12, 0x21, 0x0a, 0x04, 0x76, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x76,
+ 0x65, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x70, 0x6f, 0x6c, 0x79, 0x73, 0x18, 0x08, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x42, 0x4e, 0x61, 0x76,
+ 0x4d, 0x65, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x05, 0x70, 0x6f, 0x6c, 0x79, 0x73, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PBNavMeshTile_proto_rawDescOnce sync.Once
+ file_PBNavMeshTile_proto_rawDescData = file_PBNavMeshTile_proto_rawDesc
+)
+
+func file_PBNavMeshTile_proto_rawDescGZIP() []byte {
+ file_PBNavMeshTile_proto_rawDescOnce.Do(func() {
+ file_PBNavMeshTile_proto_rawDescData = protoimpl.X.CompressGZIP(file_PBNavMeshTile_proto_rawDescData)
+ })
+ return file_PBNavMeshTile_proto_rawDescData
+}
+
+var file_PBNavMeshTile_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PBNavMeshTile_proto_goTypes = []interface{}{
+ (*PBNavMeshTile)(nil), // 0: proto.PBNavMeshTile
+ (*Vector)(nil), // 1: proto.Vector
+ (*PBNavMeshPoly)(nil), // 2: proto.PBNavMeshPoly
+}
+var file_PBNavMeshTile_proto_depIdxs = []int32{
+ 1, // 0: proto.PBNavMeshTile.vecs:type_name -> proto.Vector
+ 2, // 1: proto.PBNavMeshTile.polys:type_name -> proto.PBNavMeshPoly
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PBNavMeshTile_proto_init() }
+func file_PBNavMeshTile_proto_init() {
+ if File_PBNavMeshTile_proto != nil {
+ return
+ }
+ file_PBNavMeshPoly_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PBNavMeshTile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PBNavMeshTile); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PBNavMeshTile_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PBNavMeshTile_proto_goTypes,
+ DependencyIndexes: file_PBNavMeshTile_proto_depIdxs,
+ MessageInfos: file_PBNavMeshTile_proto_msgTypes,
+ }.Build()
+ File_PBNavMeshTile_proto = out.File
+ file_PBNavMeshTile_proto_rawDesc = nil
+ file_PBNavMeshTile_proto_goTypes = nil
+ file_PBNavMeshTile_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PSNBlackListNotify.pb.go b/protocol/proto/PSNBlackListNotify.pb.go
new file mode 100644
index 00000000..91dd3408
--- /dev/null
+++ b/protocol/proto/PSNBlackListNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PSNBlackListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4040
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PSNBlackListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PsnBlacklist []*FriendBrief `protobuf:"bytes,11,rep,name=psn_blacklist,json=psnBlacklist,proto3" json:"psn_blacklist,omitempty"`
+}
+
+func (x *PSNBlackListNotify) Reset() {
+ *x = PSNBlackListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PSNBlackListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PSNBlackListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PSNBlackListNotify) ProtoMessage() {}
+
+func (x *PSNBlackListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PSNBlackListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PSNBlackListNotify.ProtoReflect.Descriptor instead.
+func (*PSNBlackListNotify) Descriptor() ([]byte, []int) {
+ return file_PSNBlackListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PSNBlackListNotify) GetPsnBlacklist() []*FriendBrief {
+ if x != nil {
+ return x.PsnBlacklist
+ }
+ return nil
+}
+
+var File_PSNBlackListNotify_proto protoreflect.FileDescriptor
+
+var file_PSNBlackListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x53, 0x4e, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x12, 0x50, 0x53, 0x4e, 0x42, 0x6c, 0x61, 0x63, 0x6b,
+ 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x37, 0x0a, 0x0d, 0x70, 0x73,
+ 0x6e, 0x5f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x0c, 0x70, 0x73, 0x6e, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PSNBlackListNotify_proto_rawDescOnce sync.Once
+ file_PSNBlackListNotify_proto_rawDescData = file_PSNBlackListNotify_proto_rawDesc
+)
+
+func file_PSNBlackListNotify_proto_rawDescGZIP() []byte {
+ file_PSNBlackListNotify_proto_rawDescOnce.Do(func() {
+ file_PSNBlackListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PSNBlackListNotify_proto_rawDescData)
+ })
+ return file_PSNBlackListNotify_proto_rawDescData
+}
+
+var file_PSNBlackListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PSNBlackListNotify_proto_goTypes = []interface{}{
+ (*PSNBlackListNotify)(nil), // 0: proto.PSNBlackListNotify
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_PSNBlackListNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PSNBlackListNotify.psn_blacklist:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PSNBlackListNotify_proto_init() }
+func file_PSNBlackListNotify_proto_init() {
+ if File_PSNBlackListNotify_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PSNBlackListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PSNBlackListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PSNBlackListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PSNBlackListNotify_proto_goTypes,
+ DependencyIndexes: file_PSNBlackListNotify_proto_depIdxs,
+ MessageInfos: file_PSNBlackListNotify_proto_msgTypes,
+ }.Build()
+ File_PSNBlackListNotify_proto = out.File
+ file_PSNBlackListNotify_proto_rawDesc = nil
+ file_PSNBlackListNotify_proto_goTypes = nil
+ file_PSNBlackListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PSNFriendListNotify.pb.go b/protocol/proto/PSNFriendListNotify.pb.go
new file mode 100644
index 00000000..54636d1e
--- /dev/null
+++ b/protocol/proto/PSNFriendListNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PSNFriendListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4087
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PSNFriendListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PsnFriendList []*FriendBrief `protobuf:"bytes,8,rep,name=psn_friend_list,json=psnFriendList,proto3" json:"psn_friend_list,omitempty"`
+}
+
+func (x *PSNFriendListNotify) Reset() {
+ *x = PSNFriendListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PSNFriendListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PSNFriendListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PSNFriendListNotify) ProtoMessage() {}
+
+func (x *PSNFriendListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PSNFriendListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PSNFriendListNotify.ProtoReflect.Descriptor instead.
+func (*PSNFriendListNotify) Descriptor() ([]byte, []int) {
+ return file_PSNFriendListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PSNFriendListNotify) GetPsnFriendList() []*FriendBrief {
+ if x != nil {
+ return x.PsnFriendList
+ }
+ return nil
+}
+
+var File_PSNFriendListNotify_proto protoreflect.FileDescriptor
+
+var file_PSNFriendListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x50, 0x53, 0x4e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x13, 0x50, 0x53, 0x4e, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3a, 0x0a, 0x0f,
+ 0x70, 0x73, 0x6e, 0x5f, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x0d, 0x70, 0x73, 0x6e, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PSNFriendListNotify_proto_rawDescOnce sync.Once
+ file_PSNFriendListNotify_proto_rawDescData = file_PSNFriendListNotify_proto_rawDesc
+)
+
+func file_PSNFriendListNotify_proto_rawDescGZIP() []byte {
+ file_PSNFriendListNotify_proto_rawDescOnce.Do(func() {
+ file_PSNFriendListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PSNFriendListNotify_proto_rawDescData)
+ })
+ return file_PSNFriendListNotify_proto_rawDescData
+}
+
+var file_PSNFriendListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PSNFriendListNotify_proto_goTypes = []interface{}{
+ (*PSNFriendListNotify)(nil), // 0: proto.PSNFriendListNotify
+ (*FriendBrief)(nil), // 1: proto.FriendBrief
+}
+var file_PSNFriendListNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PSNFriendListNotify.psn_friend_list:type_name -> proto.FriendBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PSNFriendListNotify_proto_init() }
+func file_PSNFriendListNotify_proto_init() {
+ if File_PSNFriendListNotify_proto != nil {
+ return
+ }
+ file_FriendBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PSNFriendListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PSNFriendListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PSNFriendListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PSNFriendListNotify_proto_goTypes,
+ DependencyIndexes: file_PSNFriendListNotify_proto_depIdxs,
+ MessageInfos: file_PSNFriendListNotify_proto_msgTypes,
+ }.Build()
+ File_PSNFriendListNotify_proto = out.File
+ file_PSNFriendListNotify_proto_rawDesc = nil
+ file_PSNFriendListNotify_proto_goTypes = nil
+ file_PSNFriendListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PSPlayerApplyEnterMpReq.pb.go b/protocol/proto/PSPlayerApplyEnterMpReq.pb.go
new file mode 100644
index 00000000..4db741b7
--- /dev/null
+++ b/protocol/proto/PSPlayerApplyEnterMpReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PSPlayerApplyEnterMpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1841
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PSPlayerApplyEnterMpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetPsnId string `protobuf:"bytes,5,opt,name=target_psn_id,json=targetPsnId,proto3" json:"target_psn_id,omitempty"`
+}
+
+func (x *PSPlayerApplyEnterMpReq) Reset() {
+ *x = PSPlayerApplyEnterMpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PSPlayerApplyEnterMpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PSPlayerApplyEnterMpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PSPlayerApplyEnterMpReq) ProtoMessage() {}
+
+func (x *PSPlayerApplyEnterMpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PSPlayerApplyEnterMpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PSPlayerApplyEnterMpReq.ProtoReflect.Descriptor instead.
+func (*PSPlayerApplyEnterMpReq) Descriptor() ([]byte, []int) {
+ return file_PSPlayerApplyEnterMpReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PSPlayerApplyEnterMpReq) GetTargetPsnId() string {
+ if x != nil {
+ return x.TargetPsnId
+ }
+ return ""
+}
+
+var File_PSPlayerApplyEnterMpReq_proto protoreflect.FileDescriptor
+
+var file_PSPlayerApplyEnterMpReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x17, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x52, 0x65,
+ 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x73, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x50, 0x73, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PSPlayerApplyEnterMpReq_proto_rawDescOnce sync.Once
+ file_PSPlayerApplyEnterMpReq_proto_rawDescData = file_PSPlayerApplyEnterMpReq_proto_rawDesc
+)
+
+func file_PSPlayerApplyEnterMpReq_proto_rawDescGZIP() []byte {
+ file_PSPlayerApplyEnterMpReq_proto_rawDescOnce.Do(func() {
+ file_PSPlayerApplyEnterMpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PSPlayerApplyEnterMpReq_proto_rawDescData)
+ })
+ return file_PSPlayerApplyEnterMpReq_proto_rawDescData
+}
+
+var file_PSPlayerApplyEnterMpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PSPlayerApplyEnterMpReq_proto_goTypes = []interface{}{
+ (*PSPlayerApplyEnterMpReq)(nil), // 0: proto.PSPlayerApplyEnterMpReq
+}
+var file_PSPlayerApplyEnterMpReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PSPlayerApplyEnterMpReq_proto_init() }
+func file_PSPlayerApplyEnterMpReq_proto_init() {
+ if File_PSPlayerApplyEnterMpReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PSPlayerApplyEnterMpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PSPlayerApplyEnterMpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PSPlayerApplyEnterMpReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PSPlayerApplyEnterMpReq_proto_goTypes,
+ DependencyIndexes: file_PSPlayerApplyEnterMpReq_proto_depIdxs,
+ MessageInfos: file_PSPlayerApplyEnterMpReq_proto_msgTypes,
+ }.Build()
+ File_PSPlayerApplyEnterMpReq_proto = out.File
+ file_PSPlayerApplyEnterMpReq_proto_rawDesc = nil
+ file_PSPlayerApplyEnterMpReq_proto_goTypes = nil
+ file_PSPlayerApplyEnterMpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PSPlayerApplyEnterMpRsp.pb.go b/protocol/proto/PSPlayerApplyEnterMpRsp.pb.go
new file mode 100644
index 00000000..479502b0
--- /dev/null
+++ b/protocol/proto/PSPlayerApplyEnterMpRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PSPlayerApplyEnterMpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1842
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PSPlayerApplyEnterMpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetPsnId string `protobuf:"bytes,2,opt,name=target_psn_id,json=targetPsnId,proto3" json:"target_psn_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Param uint32 `protobuf:"varint,10,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *PSPlayerApplyEnterMpRsp) Reset() {
+ *x = PSPlayerApplyEnterMpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PSPlayerApplyEnterMpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PSPlayerApplyEnterMpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PSPlayerApplyEnterMpRsp) ProtoMessage() {}
+
+func (x *PSPlayerApplyEnterMpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PSPlayerApplyEnterMpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PSPlayerApplyEnterMpRsp.ProtoReflect.Descriptor instead.
+func (*PSPlayerApplyEnterMpRsp) Descriptor() ([]byte, []int) {
+ return file_PSPlayerApplyEnterMpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PSPlayerApplyEnterMpRsp) GetTargetPsnId() string {
+ if x != nil {
+ return x.TargetPsnId
+ }
+ return ""
+}
+
+func (x *PSPlayerApplyEnterMpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PSPlayerApplyEnterMpRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_PSPlayerApplyEnterMpRsp_proto protoreflect.FileDescriptor
+
+var file_PSPlayerApplyEnterMpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x17, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x52, 0x73,
+ 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x73, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x50, 0x73, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PSPlayerApplyEnterMpRsp_proto_rawDescOnce sync.Once
+ file_PSPlayerApplyEnterMpRsp_proto_rawDescData = file_PSPlayerApplyEnterMpRsp_proto_rawDesc
+)
+
+func file_PSPlayerApplyEnterMpRsp_proto_rawDescGZIP() []byte {
+ file_PSPlayerApplyEnterMpRsp_proto_rawDescOnce.Do(func() {
+ file_PSPlayerApplyEnterMpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PSPlayerApplyEnterMpRsp_proto_rawDescData)
+ })
+ return file_PSPlayerApplyEnterMpRsp_proto_rawDescData
+}
+
+var file_PSPlayerApplyEnterMpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PSPlayerApplyEnterMpRsp_proto_goTypes = []interface{}{
+ (*PSPlayerApplyEnterMpRsp)(nil), // 0: proto.PSPlayerApplyEnterMpRsp
+}
+var file_PSPlayerApplyEnterMpRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PSPlayerApplyEnterMpRsp_proto_init() }
+func file_PSPlayerApplyEnterMpRsp_proto_init() {
+ if File_PSPlayerApplyEnterMpRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PSPlayerApplyEnterMpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PSPlayerApplyEnterMpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PSPlayerApplyEnterMpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PSPlayerApplyEnterMpRsp_proto_goTypes,
+ DependencyIndexes: file_PSPlayerApplyEnterMpRsp_proto_depIdxs,
+ MessageInfos: file_PSPlayerApplyEnterMpRsp_proto_msgTypes,
+ }.Build()
+ File_PSPlayerApplyEnterMpRsp_proto = out.File
+ file_PSPlayerApplyEnterMpRsp_proto_rawDesc = nil
+ file_PSPlayerApplyEnterMpRsp_proto_goTypes = nil
+ file_PSPlayerApplyEnterMpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PacketHead.pb.go b/protocol/proto/PacketHead.pb.go
new file mode 100644
index 00000000..a644f53b
--- /dev/null
+++ b/protocol/proto/PacketHead.pb.go
@@ -0,0 +1,349 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PacketHead.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PacketHead struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PacketId uint32 `protobuf:"varint,1,opt,name=packet_id,json=packetId,proto3" json:"packet_id,omitempty"`
+ RpcId uint32 `protobuf:"varint,2,opt,name=rpc_id,json=rpcId,proto3" json:"rpc_id,omitempty"`
+ ClientSequenceId uint32 `protobuf:"varint,3,opt,name=client_sequence_id,json=clientSequenceId,proto3" json:"client_sequence_id,omitempty"`
+ EnetChannelId uint32 `protobuf:"varint,4,opt,name=enet_channel_id,json=enetChannelId,proto3" json:"enet_channel_id,omitempty"`
+ EnetIsReliable uint32 `protobuf:"varint,5,opt,name=enet_is_reliable,json=enetIsReliable,proto3" json:"enet_is_reliable,omitempty"`
+ SentMs uint64 `protobuf:"varint,6,opt,name=sent_ms,json=sentMs,proto3" json:"sent_ms,omitempty"`
+ UserId uint32 `protobuf:"varint,11,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
+ UserIp uint32 `protobuf:"varint,12,opt,name=user_ip,json=userIp,proto3" json:"user_ip,omitempty"`
+ UserSessionId uint32 `protobuf:"varint,13,opt,name=user_session_id,json=userSessionId,proto3" json:"user_session_id,omitempty"`
+ RecvTimeMs uint64 `protobuf:"varint,21,opt,name=recv_time_ms,json=recvTimeMs,proto3" json:"recv_time_ms,omitempty"`
+ RpcBeginTimeMs uint32 `protobuf:"varint,22,opt,name=rpc_begin_time_ms,json=rpcBeginTimeMs,proto3" json:"rpc_begin_time_ms,omitempty"`
+ ExtMap map[uint32]uint32 `protobuf:"bytes,23,rep,name=ext_map,json=extMap,proto3" json:"ext_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ SenderAppId uint32 `protobuf:"varint,24,opt,name=sender_app_id,json=senderAppId,proto3" json:"sender_app_id,omitempty"`
+ SourceService uint32 `protobuf:"varint,31,opt,name=source_service,json=sourceService,proto3" json:"source_service,omitempty"`
+ TargetService uint32 `protobuf:"varint,32,opt,name=target_service,json=targetService,proto3" json:"target_service,omitempty"`
+ ServiceAppIdMap map[uint32]uint32 `protobuf:"bytes,33,rep,name=service_app_id_map,json=serviceAppIdMap,proto3" json:"service_app_id_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ IsSetGameThread bool `protobuf:"varint,34,opt,name=is_set_game_thread,json=isSetGameThread,proto3" json:"is_set_game_thread,omitempty"`
+ GameThreadIndex uint32 `protobuf:"varint,35,opt,name=game_thread_index,json=gameThreadIndex,proto3" json:"game_thread_index,omitempty"`
+}
+
+func (x *PacketHead) Reset() {
+ *x = PacketHead{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PacketHead_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PacketHead) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PacketHead) ProtoMessage() {}
+
+func (x *PacketHead) ProtoReflect() protoreflect.Message {
+ mi := &file_PacketHead_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PacketHead.ProtoReflect.Descriptor instead.
+func (*PacketHead) Descriptor() ([]byte, []int) {
+ return file_PacketHead_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PacketHead) GetPacketId() uint32 {
+ if x != nil {
+ return x.PacketId
+ }
+ return 0
+}
+
+func (x *PacketHead) GetRpcId() uint32 {
+ if x != nil {
+ return x.RpcId
+ }
+ return 0
+}
+
+func (x *PacketHead) GetClientSequenceId() uint32 {
+ if x != nil {
+ return x.ClientSequenceId
+ }
+ return 0
+}
+
+func (x *PacketHead) GetEnetChannelId() uint32 {
+ if x != nil {
+ return x.EnetChannelId
+ }
+ return 0
+}
+
+func (x *PacketHead) GetEnetIsReliable() uint32 {
+ if x != nil {
+ return x.EnetIsReliable
+ }
+ return 0
+}
+
+func (x *PacketHead) GetSentMs() uint64 {
+ if x != nil {
+ return x.SentMs
+ }
+ return 0
+}
+
+func (x *PacketHead) GetUserId() uint32 {
+ if x != nil {
+ return x.UserId
+ }
+ return 0
+}
+
+func (x *PacketHead) GetUserIp() uint32 {
+ if x != nil {
+ return x.UserIp
+ }
+ return 0
+}
+
+func (x *PacketHead) GetUserSessionId() uint32 {
+ if x != nil {
+ return x.UserSessionId
+ }
+ return 0
+}
+
+func (x *PacketHead) GetRecvTimeMs() uint64 {
+ if x != nil {
+ return x.RecvTimeMs
+ }
+ return 0
+}
+
+func (x *PacketHead) GetRpcBeginTimeMs() uint32 {
+ if x != nil {
+ return x.RpcBeginTimeMs
+ }
+ return 0
+}
+
+func (x *PacketHead) GetExtMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ExtMap
+ }
+ return nil
+}
+
+func (x *PacketHead) GetSenderAppId() uint32 {
+ if x != nil {
+ return x.SenderAppId
+ }
+ return 0
+}
+
+func (x *PacketHead) GetSourceService() uint32 {
+ if x != nil {
+ return x.SourceService
+ }
+ return 0
+}
+
+func (x *PacketHead) GetTargetService() uint32 {
+ if x != nil {
+ return x.TargetService
+ }
+ return 0
+}
+
+func (x *PacketHead) GetServiceAppIdMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ServiceAppIdMap
+ }
+ return nil
+}
+
+func (x *PacketHead) GetIsSetGameThread() bool {
+ if x != nil {
+ return x.IsSetGameThread
+ }
+ return false
+}
+
+func (x *PacketHead) GetGameThreadIndex() uint32 {
+ if x != nil {
+ return x.GameThreadIndex
+ }
+ return 0
+}
+
+var File_PacketHead_proto protoreflect.FileDescriptor
+
+var file_PacketHead_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x06, 0x0a, 0x0a, 0x50, 0x61,
+ 0x63, 0x6b, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x63, 0x6b,
+ 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x63,
+ 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x70, 0x63, 0x5f, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x70, 0x63, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x6e,
+ 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x6e, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x6e, 0x65, 0x74, 0x5f, 0x69, 0x73, 0x5f, 0x72, 0x65,
+ 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x6e,
+ 0x65, 0x74, 0x49, 0x73, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07,
+ 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73,
+ 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x5f,
+ 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
+ 0x20, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18,
+ 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x76, 0x54, 0x69, 0x6d, 0x65, 0x4d,
+ 0x73, 0x12, 0x29, 0x0a, 0x11, 0x72, 0x70, 0x63, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x70,
+ 0x63, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x36, 0x0a, 0x07,
+ 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x65, 0x61, 0x64,
+ 0x2e, 0x45, 0x78, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x78,
+ 0x74, 0x4d, 0x61, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x61,
+ 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x6e,
+ 0x64, 0x65, 0x72, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
+ 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53,
+ 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x21, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65,
+ 0x74, 0x48, 0x65, 0x61, 0x64, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x70, 0x70,
+ 0x49, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x41, 0x70, 0x70, 0x49, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x2b, 0x0a, 0x12, 0x69,
+ 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61,
+ 0x64, 0x18, 0x22, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x65, 0x74, 0x47, 0x61,
+ 0x6d, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x61, 0x6d, 0x65,
+ 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x23, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x49,
+ 0x6e, 0x64, 0x65, 0x78, 0x1a, 0x39, 0x0a, 0x0b, 0x45, 0x78, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x42, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x70, 0x70, 0x49, 0x64, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PacketHead_proto_rawDescOnce sync.Once
+ file_PacketHead_proto_rawDescData = file_PacketHead_proto_rawDesc
+)
+
+func file_PacketHead_proto_rawDescGZIP() []byte {
+ file_PacketHead_proto_rawDescOnce.Do(func() {
+ file_PacketHead_proto_rawDescData = protoimpl.X.CompressGZIP(file_PacketHead_proto_rawDescData)
+ })
+ return file_PacketHead_proto_rawDescData
+}
+
+var file_PacketHead_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_PacketHead_proto_goTypes = []interface{}{
+ (*PacketHead)(nil), // 0: proto.PacketHead
+ nil, // 1: proto.PacketHead.ExtMapEntry
+ nil, // 2: proto.PacketHead.ServiceAppIdMapEntry
+}
+var file_PacketHead_proto_depIdxs = []int32{
+ 1, // 0: proto.PacketHead.ext_map:type_name -> proto.PacketHead.ExtMapEntry
+ 2, // 1: proto.PacketHead.service_app_id_map:type_name -> proto.PacketHead.ServiceAppIdMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PacketHead_proto_init() }
+func file_PacketHead_proto_init() {
+ if File_PacketHead_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PacketHead_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PacketHead); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PacketHead_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PacketHead_proto_goTypes,
+ DependencyIndexes: file_PacketHead_proto_depIdxs,
+ MessageInfos: file_PacketHead_proto_msgTypes,
+ }.Build()
+ File_PacketHead_proto = out.File
+ file_PacketHead_proto_rawDesc = nil
+ file_PacketHead_proto_goTypes = nil
+ file_PacketHead_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ParamList.pb.go b/protocol/proto/ParamList.pb.go
new file mode 100644
index 00000000..40580778
--- /dev/null
+++ b/protocol/proto/ParamList.pb.go
@@ -0,0 +1,158 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ParamList.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ParamList struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParamList []uint32 `protobuf:"varint,1,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+}
+
+func (x *ParamList) Reset() {
+ *x = ParamList{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ParamList_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParamList) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParamList) ProtoMessage() {}
+
+func (x *ParamList) ProtoReflect() protoreflect.Message {
+ mi := &file_ParamList_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ParamList.ProtoReflect.Descriptor instead.
+func (*ParamList) Descriptor() ([]byte, []int) {
+ return file_ParamList_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ParamList) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+var File_ParamList_proto protoreflect.FileDescriptor
+
+var file_ParamList_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2a, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ParamList_proto_rawDescOnce sync.Once
+ file_ParamList_proto_rawDescData = file_ParamList_proto_rawDesc
+)
+
+func file_ParamList_proto_rawDescGZIP() []byte {
+ file_ParamList_proto_rawDescOnce.Do(func() {
+ file_ParamList_proto_rawDescData = protoimpl.X.CompressGZIP(file_ParamList_proto_rawDescData)
+ })
+ return file_ParamList_proto_rawDescData
+}
+
+var file_ParamList_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ParamList_proto_goTypes = []interface{}{
+ (*ParamList)(nil), // 0: proto.ParamList
+}
+var file_ParamList_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ParamList_proto_init() }
+func file_ParamList_proto_init() {
+ if File_ParamList_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ParamList_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParamList); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ParamList_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ParamList_proto_goTypes,
+ DependencyIndexes: file_ParamList_proto_depIdxs,
+ MessageInfos: file_ParamList_proto_msgTypes,
+ }.Build()
+ File_ParamList_proto = out.File
+ file_ParamList_proto_rawDesc = nil
+ file_ParamList_proto_goTypes = nil
+ file_ParamList_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ParentQuest.pb.go b/protocol/proto/ParentQuest.pb.go
new file mode 100644
index 00000000..0a8a0599
--- /dev/null
+++ b/protocol/proto/ParentQuest.pb.go
@@ -0,0 +1,288 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ParentQuest.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ParentQuest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestVar []int32 `protobuf:"varint,14,rep,packed,name=quest_var,json=questVar,proto3" json:"quest_var,omitempty"`
+ TimeVarMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=time_var_map,json=timeVarMap,proto3" json:"time_var_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ParentQuestState uint32 `protobuf:"varint,1,opt,name=parent_quest_state,json=parentQuestState,proto3" json:"parent_quest_state,omitempty"`
+ IsFinished bool `protobuf:"varint,7,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ InferencePageList []*InferencePageInfo `protobuf:"bytes,15,rep,name=inference_page_list,json=inferencePageList,proto3" json:"inference_page_list,omitempty"`
+ RandomInfo *ParentQuestRandomInfo `protobuf:"bytes,12,opt,name=random_info,json=randomInfo,proto3" json:"random_info,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,3,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ IsRandom bool `protobuf:"varint,13,opt,name=is_random,json=isRandom,proto3" json:"is_random,omitempty"`
+ VideoKey uint64 `protobuf:"varint,6,opt,name=video_key,json=videoKey,proto3" json:"video_key,omitempty"`
+ QuestVarSeq uint32 `protobuf:"varint,11,opt,name=quest_var_seq,json=questVarSeq,proto3" json:"quest_var_seq,omitempty"`
+ ChildQuestList []*ChildQuest `protobuf:"bytes,9,rep,name=child_quest_list,json=childQuestList,proto3" json:"child_quest_list,omitempty"`
+}
+
+func (x *ParentQuest) Reset() {
+ *x = ParentQuest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ParentQuest_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParentQuest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParentQuest) ProtoMessage() {}
+
+func (x *ParentQuest) ProtoReflect() protoreflect.Message {
+ mi := &file_ParentQuest_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ParentQuest.ProtoReflect.Descriptor instead.
+func (*ParentQuest) Descriptor() ([]byte, []int) {
+ return file_ParentQuest_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ParentQuest) GetQuestVar() []int32 {
+ if x != nil {
+ return x.QuestVar
+ }
+ return nil
+}
+
+func (x *ParentQuest) GetTimeVarMap() map[uint32]uint32 {
+ if x != nil {
+ return x.TimeVarMap
+ }
+ return nil
+}
+
+func (x *ParentQuest) GetParentQuestState() uint32 {
+ if x != nil {
+ return x.ParentQuestState
+ }
+ return 0
+}
+
+func (x *ParentQuest) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *ParentQuest) GetInferencePageList() []*InferencePageInfo {
+ if x != nil {
+ return x.InferencePageList
+ }
+ return nil
+}
+
+func (x *ParentQuest) GetRandomInfo() *ParentQuestRandomInfo {
+ if x != nil {
+ return x.RandomInfo
+ }
+ return nil
+}
+
+func (x *ParentQuest) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *ParentQuest) GetIsRandom() bool {
+ if x != nil {
+ return x.IsRandom
+ }
+ return false
+}
+
+func (x *ParentQuest) GetVideoKey() uint64 {
+ if x != nil {
+ return x.VideoKey
+ }
+ return 0
+}
+
+func (x *ParentQuest) GetQuestVarSeq() uint32 {
+ if x != nil {
+ return x.QuestVarSeq
+ }
+ return 0
+}
+
+func (x *ParentQuest) GetChildQuestList() []*ChildQuest {
+ if x != nil {
+ return x.ChildQuestList
+ }
+ return nil
+}
+
+var File_ParentQuest_proto protoreflect.FileDescriptor
+
+var file_ParentQuest_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x43, 0x68, 0x69, 0x6c,
+ 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x49, 0x6e,
+ 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xca, 0x04, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72, 0x12,
+ 0x44, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61,
+ 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x56,
+ 0x61, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x13, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
+ 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65,
+ 0x6e, 0x63, 0x65, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x69, 0x6e, 0x66,
+ 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d,
+ 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a,
+ 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75,
+ 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x64,
+ 0x6f, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x52, 0x61, 0x6e, 0x64,
+ 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4b, 0x65, 0x79, 0x12,
+ 0x22, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x73, 0x65, 0x71,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72,
+ 0x53, 0x65, 0x71, 0x12, 0x3b, 0x0a, 0x10, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74,
+ 0x52, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74,
+ 0x1a, 0x3d, 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ParentQuest_proto_rawDescOnce sync.Once
+ file_ParentQuest_proto_rawDescData = file_ParentQuest_proto_rawDesc
+)
+
+func file_ParentQuest_proto_rawDescGZIP() []byte {
+ file_ParentQuest_proto_rawDescOnce.Do(func() {
+ file_ParentQuest_proto_rawDescData = protoimpl.X.CompressGZIP(file_ParentQuest_proto_rawDescData)
+ })
+ return file_ParentQuest_proto_rawDescData
+}
+
+var file_ParentQuest_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ParentQuest_proto_goTypes = []interface{}{
+ (*ParentQuest)(nil), // 0: proto.ParentQuest
+ nil, // 1: proto.ParentQuest.TimeVarMapEntry
+ (*InferencePageInfo)(nil), // 2: proto.InferencePageInfo
+ (*ParentQuestRandomInfo)(nil), // 3: proto.ParentQuestRandomInfo
+ (*ChildQuest)(nil), // 4: proto.ChildQuest
+}
+var file_ParentQuest_proto_depIdxs = []int32{
+ 1, // 0: proto.ParentQuest.time_var_map:type_name -> proto.ParentQuest.TimeVarMapEntry
+ 2, // 1: proto.ParentQuest.inference_page_list:type_name -> proto.InferencePageInfo
+ 3, // 2: proto.ParentQuest.random_info:type_name -> proto.ParentQuestRandomInfo
+ 4, // 3: proto.ParentQuest.child_quest_list:type_name -> proto.ChildQuest
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_ParentQuest_proto_init() }
+func file_ParentQuest_proto_init() {
+ if File_ParentQuest_proto != nil {
+ return
+ }
+ file_ChildQuest_proto_init()
+ file_InferencePageInfo_proto_init()
+ file_ParentQuestRandomInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ParentQuest_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParentQuest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ParentQuest_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ParentQuest_proto_goTypes,
+ DependencyIndexes: file_ParentQuest_proto_depIdxs,
+ MessageInfos: file_ParentQuest_proto_msgTypes,
+ }.Build()
+ File_ParentQuest_proto = out.File
+ file_ParentQuest_proto_rawDesc = nil
+ file_ParentQuest_proto_goTypes = nil
+ file_ParentQuest_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ParentQuestInferenceDataNotify.pb.go b/protocol/proto/ParentQuestInferenceDataNotify.pb.go
new file mode 100644
index 00000000..ede2c0f6
--- /dev/null
+++ b/protocol/proto/ParentQuestInferenceDataNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ParentQuestInferenceDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 402
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ParentQuestInferenceDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentQuestId uint32 `protobuf:"varint,2,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ InferencePageList []*InferencePageInfo `protobuf:"bytes,1,rep,name=inference_page_list,json=inferencePageList,proto3" json:"inference_page_list,omitempty"`
+}
+
+func (x *ParentQuestInferenceDataNotify) Reset() {
+ *x = ParentQuestInferenceDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ParentQuestInferenceDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParentQuestInferenceDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParentQuestInferenceDataNotify) ProtoMessage() {}
+
+func (x *ParentQuestInferenceDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ParentQuestInferenceDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ParentQuestInferenceDataNotify.ProtoReflect.Descriptor instead.
+func (*ParentQuestInferenceDataNotify) Descriptor() ([]byte, []int) {
+ return file_ParentQuestInferenceDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ParentQuestInferenceDataNotify) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *ParentQuestInferenceDataNotify) GetInferencePageList() []*InferencePageInfo {
+ if x != nil {
+ return x.InferencePageList
+ }
+ return nil
+}
+
+var File_ParentQuestInferenceDataNotify_proto protoreflect.FileDescriptor
+
+var file_ParentQuestInferenceDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66,
+ 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x49,
+ 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x1e, 0x50, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72,
+ 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49,
+ 0x64, 0x12, 0x48, 0x0a, 0x13, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70,
+ 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
+ 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65,
+ 0x6e, 0x63, 0x65, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ParentQuestInferenceDataNotify_proto_rawDescOnce sync.Once
+ file_ParentQuestInferenceDataNotify_proto_rawDescData = file_ParentQuestInferenceDataNotify_proto_rawDesc
+)
+
+func file_ParentQuestInferenceDataNotify_proto_rawDescGZIP() []byte {
+ file_ParentQuestInferenceDataNotify_proto_rawDescOnce.Do(func() {
+ file_ParentQuestInferenceDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ParentQuestInferenceDataNotify_proto_rawDescData)
+ })
+ return file_ParentQuestInferenceDataNotify_proto_rawDescData
+}
+
+var file_ParentQuestInferenceDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ParentQuestInferenceDataNotify_proto_goTypes = []interface{}{
+ (*ParentQuestInferenceDataNotify)(nil), // 0: proto.ParentQuestInferenceDataNotify
+ (*InferencePageInfo)(nil), // 1: proto.InferencePageInfo
+}
+var file_ParentQuestInferenceDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ParentQuestInferenceDataNotify.inference_page_list:type_name -> proto.InferencePageInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ParentQuestInferenceDataNotify_proto_init() }
+func file_ParentQuestInferenceDataNotify_proto_init() {
+ if File_ParentQuestInferenceDataNotify_proto != nil {
+ return
+ }
+ file_InferencePageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ParentQuestInferenceDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParentQuestInferenceDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ParentQuestInferenceDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ParentQuestInferenceDataNotify_proto_goTypes,
+ DependencyIndexes: file_ParentQuestInferenceDataNotify_proto_depIdxs,
+ MessageInfos: file_ParentQuestInferenceDataNotify_proto_msgTypes,
+ }.Build()
+ File_ParentQuestInferenceDataNotify_proto = out.File
+ file_ParentQuestInferenceDataNotify_proto_rawDesc = nil
+ file_ParentQuestInferenceDataNotify_proto_goTypes = nil
+ file_ParentQuestInferenceDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ParentQuestRandomInfo.pb.go b/protocol/proto/ParentQuestRandomInfo.pb.go
new file mode 100644
index 00000000..06a98c8d
--- /dev/null
+++ b/protocol/proto/ParentQuestRandomInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ParentQuestRandomInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ParentQuestRandomInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FactorList []uint32 `protobuf:"varint,1,rep,packed,name=factor_list,json=factorList,proto3" json:"factor_list,omitempty"`
+ TemplateId uint32 `protobuf:"varint,8,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
+ EntranceId uint32 `protobuf:"varint,2,opt,name=entrance_id,json=entranceId,proto3" json:"entrance_id,omitempty"`
+}
+
+func (x *ParentQuestRandomInfo) Reset() {
+ *x = ParentQuestRandomInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ParentQuestRandomInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParentQuestRandomInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParentQuestRandomInfo) ProtoMessage() {}
+
+func (x *ParentQuestRandomInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ParentQuestRandomInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ParentQuestRandomInfo.ProtoReflect.Descriptor instead.
+func (*ParentQuestRandomInfo) Descriptor() ([]byte, []int) {
+ return file_ParentQuestRandomInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ParentQuestRandomInfo) GetFactorList() []uint32 {
+ if x != nil {
+ return x.FactorList
+ }
+ return nil
+}
+
+func (x *ParentQuestRandomInfo) GetTemplateId() uint32 {
+ if x != nil {
+ return x.TemplateId
+ }
+ return 0
+}
+
+func (x *ParentQuestRandomInfo) GetEntranceId() uint32 {
+ if x != nil {
+ return x.EntranceId
+ }
+ return 0
+}
+
+var File_ParentQuestRandomInfo_proto protoreflect.FileDescriptor
+
+var file_ParentQuestRandomInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e,
+ 0x64, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7a, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75,
+ 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ParentQuestRandomInfo_proto_rawDescOnce sync.Once
+ file_ParentQuestRandomInfo_proto_rawDescData = file_ParentQuestRandomInfo_proto_rawDesc
+)
+
+func file_ParentQuestRandomInfo_proto_rawDescGZIP() []byte {
+ file_ParentQuestRandomInfo_proto_rawDescOnce.Do(func() {
+ file_ParentQuestRandomInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ParentQuestRandomInfo_proto_rawDescData)
+ })
+ return file_ParentQuestRandomInfo_proto_rawDescData
+}
+
+var file_ParentQuestRandomInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ParentQuestRandomInfo_proto_goTypes = []interface{}{
+ (*ParentQuestRandomInfo)(nil), // 0: proto.ParentQuestRandomInfo
+}
+var file_ParentQuestRandomInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ParentQuestRandomInfo_proto_init() }
+func file_ParentQuestRandomInfo_proto_init() {
+ if File_ParentQuestRandomInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ParentQuestRandomInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParentQuestRandomInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ParentQuestRandomInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ParentQuestRandomInfo_proto_goTypes,
+ DependencyIndexes: file_ParentQuestRandomInfo_proto_depIdxs,
+ MessageInfos: file_ParentQuestRandomInfo_proto_msgTypes,
+ }.Build()
+ File_ParentQuestRandomInfo_proto = out.File
+ file_ParentQuestRandomInfo_proto_rawDesc = nil
+ file_ParentQuestRandomInfo_proto_goTypes = nil
+ file_ParentQuestRandomInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ParkourLevelInfo.pb.go b/protocol/proto/ParkourLevelInfo.pb.go
new file mode 100644
index 00000000..003ba0e6
--- /dev/null
+++ b/protocol/proto/ParkourLevelInfo.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ParkourLevelInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ParkourLevelInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BestRecord uint32 `protobuf:"varint,12,opt,name=best_record,json=bestRecord,proto3" json:"best_record,omitempty"`
+ IsOpen bool `protobuf:"varint,9,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ OpenTime uint32 `protobuf:"varint,7,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ Pos *Vector `protobuf:"bytes,2,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *ParkourLevelInfo) Reset() {
+ *x = ParkourLevelInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ParkourLevelInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ParkourLevelInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ParkourLevelInfo) ProtoMessage() {}
+
+func (x *ParkourLevelInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ParkourLevelInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ParkourLevelInfo.ProtoReflect.Descriptor instead.
+func (*ParkourLevelInfo) Descriptor() ([]byte, []int) {
+ return file_ParkourLevelInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ParkourLevelInfo) GetBestRecord() uint32 {
+ if x != nil {
+ return x.BestRecord
+ }
+ return 0
+}
+
+func (x *ParkourLevelInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *ParkourLevelInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *ParkourLevelInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_ParkourLevelInfo_proto protoreflect.FileDescriptor
+
+var file_ParkourLevelInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01,
+ 0x0a, 0x10, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09,
+ 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ParkourLevelInfo_proto_rawDescOnce sync.Once
+ file_ParkourLevelInfo_proto_rawDescData = file_ParkourLevelInfo_proto_rawDesc
+)
+
+func file_ParkourLevelInfo_proto_rawDescGZIP() []byte {
+ file_ParkourLevelInfo_proto_rawDescOnce.Do(func() {
+ file_ParkourLevelInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ParkourLevelInfo_proto_rawDescData)
+ })
+ return file_ParkourLevelInfo_proto_rawDescData
+}
+
+var file_ParkourLevelInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ParkourLevelInfo_proto_goTypes = []interface{}{
+ (*ParkourLevelInfo)(nil), // 0: proto.ParkourLevelInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_ParkourLevelInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ParkourLevelInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ParkourLevelInfo_proto_init() }
+func file_ParkourLevelInfo_proto_init() {
+ if File_ParkourLevelInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ParkourLevelInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ParkourLevelInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ParkourLevelInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ParkourLevelInfo_proto_goTypes,
+ DependencyIndexes: file_ParkourLevelInfo_proto_depIdxs,
+ MessageInfos: file_ParkourLevelInfo_proto_msgTypes,
+ }.Build()
+ File_ParkourLevelInfo_proto = out.File
+ file_ParkourLevelInfo_proto_rawDesc = nil
+ file_ParkourLevelInfo_proto_goTypes = nil
+ file_ParkourLevelInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PathfindingEnterSceneReq.pb.go b/protocol/proto/PathfindingEnterSceneReq.pb.go
new file mode 100644
index 00000000..d4d21e73
--- /dev/null
+++ b/protocol/proto/PathfindingEnterSceneReq.pb.go
@@ -0,0 +1,229 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PathfindingEnterSceneReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2307
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PathfindingEnterSceneReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,12,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ ActivityId []uint32 `protobuf:"varint,14,rep,packed,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ SceneTagHash uint32 `protobuf:"varint,15,opt,name=scene_tag_hash,json=sceneTagHash,proto3" json:"scene_tag_hash,omitempty"`
+ Version uint32 `protobuf:"varint,6,opt,name=version,proto3" json:"version,omitempty"`
+ IsEditor bool `protobuf:"varint,11,opt,name=is_editor,json=isEditor,proto3" json:"is_editor,omitempty"`
+ Obstacles []*ObstacleInfo `protobuf:"bytes,13,rep,name=obstacles,proto3" json:"obstacles,omitempty"`
+ PolygonId uint32 `protobuf:"varint,4,opt,name=polygon_id,json=polygonId,proto3" json:"polygon_id,omitempty"`
+}
+
+func (x *PathfindingEnterSceneReq) Reset() {
+ *x = PathfindingEnterSceneReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PathfindingEnterSceneReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PathfindingEnterSceneReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PathfindingEnterSceneReq) ProtoMessage() {}
+
+func (x *PathfindingEnterSceneReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PathfindingEnterSceneReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PathfindingEnterSceneReq.ProtoReflect.Descriptor instead.
+func (*PathfindingEnterSceneReq) Descriptor() ([]byte, []int) {
+ return file_PathfindingEnterSceneReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PathfindingEnterSceneReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *PathfindingEnterSceneReq) GetActivityId() []uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return nil
+}
+
+func (x *PathfindingEnterSceneReq) GetSceneTagHash() uint32 {
+ if x != nil {
+ return x.SceneTagHash
+ }
+ return 0
+}
+
+func (x *PathfindingEnterSceneReq) GetVersion() uint32 {
+ if x != nil {
+ return x.Version
+ }
+ return 0
+}
+
+func (x *PathfindingEnterSceneReq) GetIsEditor() bool {
+ if x != nil {
+ return x.IsEditor
+ }
+ return false
+}
+
+func (x *PathfindingEnterSceneReq) GetObstacles() []*ObstacleInfo {
+ if x != nil {
+ return x.Obstacles
+ }
+ return nil
+}
+
+func (x *PathfindingEnterSceneReq) GetPolygonId() uint32 {
+ if x != nil {
+ return x.PolygonId
+ }
+ return 0
+}
+
+var File_PathfindingEnterSceneReq_proto protoreflect.FileDescriptor
+
+var file_PathfindingEnterSceneReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x61, 0x74, 0x68, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02, 0x0a, 0x18,
+ 0x50, 0x61, 0x74, 0x68, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x61,
+ 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x54, 0x61, 0x67, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x6f,
+ 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x45, 0x64, 0x69, 0x74, 0x6f,
+ 0x72, 0x12, 0x31, 0x0a, 0x09, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x62, 0x73,
+ 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6f, 0x62, 0x73, 0x74, 0x61,
+ 0x63, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f,
+ 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PathfindingEnterSceneReq_proto_rawDescOnce sync.Once
+ file_PathfindingEnterSceneReq_proto_rawDescData = file_PathfindingEnterSceneReq_proto_rawDesc
+)
+
+func file_PathfindingEnterSceneReq_proto_rawDescGZIP() []byte {
+ file_PathfindingEnterSceneReq_proto_rawDescOnce.Do(func() {
+ file_PathfindingEnterSceneReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PathfindingEnterSceneReq_proto_rawDescData)
+ })
+ return file_PathfindingEnterSceneReq_proto_rawDescData
+}
+
+var file_PathfindingEnterSceneReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PathfindingEnterSceneReq_proto_goTypes = []interface{}{
+ (*PathfindingEnterSceneReq)(nil), // 0: proto.PathfindingEnterSceneReq
+ (*ObstacleInfo)(nil), // 1: proto.ObstacleInfo
+}
+var file_PathfindingEnterSceneReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PathfindingEnterSceneReq.obstacles:type_name -> proto.ObstacleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PathfindingEnterSceneReq_proto_init() }
+func file_PathfindingEnterSceneReq_proto_init() {
+ if File_PathfindingEnterSceneReq_proto != nil {
+ return
+ }
+ file_ObstacleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PathfindingEnterSceneReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PathfindingEnterSceneReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PathfindingEnterSceneReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PathfindingEnterSceneReq_proto_goTypes,
+ DependencyIndexes: file_PathfindingEnterSceneReq_proto_depIdxs,
+ MessageInfos: file_PathfindingEnterSceneReq_proto_msgTypes,
+ }.Build()
+ File_PathfindingEnterSceneReq_proto = out.File
+ file_PathfindingEnterSceneReq_proto_rawDesc = nil
+ file_PathfindingEnterSceneReq_proto_goTypes = nil
+ file_PathfindingEnterSceneReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PathfindingEnterSceneRsp.pb.go b/protocol/proto/PathfindingEnterSceneRsp.pb.go
new file mode 100644
index 00000000..2111e866
--- /dev/null
+++ b/protocol/proto/PathfindingEnterSceneRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PathfindingEnterSceneRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2321
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PathfindingEnterSceneRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PathfindingEnterSceneRsp) Reset() {
+ *x = PathfindingEnterSceneRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PathfindingEnterSceneRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PathfindingEnterSceneRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PathfindingEnterSceneRsp) ProtoMessage() {}
+
+func (x *PathfindingEnterSceneRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PathfindingEnterSceneRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PathfindingEnterSceneRsp.ProtoReflect.Descriptor instead.
+func (*PathfindingEnterSceneRsp) Descriptor() ([]byte, []int) {
+ return file_PathfindingEnterSceneRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PathfindingEnterSceneRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PathfindingEnterSceneRsp_proto protoreflect.FileDescriptor
+
+var file_PathfindingEnterSceneRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x61, 0x74, 0x68, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x18, 0x50, 0x61, 0x74, 0x68, 0x66,
+ 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PathfindingEnterSceneRsp_proto_rawDescOnce sync.Once
+ file_PathfindingEnterSceneRsp_proto_rawDescData = file_PathfindingEnterSceneRsp_proto_rawDesc
+)
+
+func file_PathfindingEnterSceneRsp_proto_rawDescGZIP() []byte {
+ file_PathfindingEnterSceneRsp_proto_rawDescOnce.Do(func() {
+ file_PathfindingEnterSceneRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PathfindingEnterSceneRsp_proto_rawDescData)
+ })
+ return file_PathfindingEnterSceneRsp_proto_rawDescData
+}
+
+var file_PathfindingEnterSceneRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PathfindingEnterSceneRsp_proto_goTypes = []interface{}{
+ (*PathfindingEnterSceneRsp)(nil), // 0: proto.PathfindingEnterSceneRsp
+}
+var file_PathfindingEnterSceneRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PathfindingEnterSceneRsp_proto_init() }
+func file_PathfindingEnterSceneRsp_proto_init() {
+ if File_PathfindingEnterSceneRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PathfindingEnterSceneRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PathfindingEnterSceneRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PathfindingEnterSceneRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PathfindingEnterSceneRsp_proto_goTypes,
+ DependencyIndexes: file_PathfindingEnterSceneRsp_proto_depIdxs,
+ MessageInfos: file_PathfindingEnterSceneRsp_proto_msgTypes,
+ }.Build()
+ File_PathfindingEnterSceneRsp_proto = out.File
+ file_PathfindingEnterSceneRsp_proto_rawDesc = nil
+ file_PathfindingEnterSceneRsp_proto_goTypes = nil
+ file_PathfindingEnterSceneRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PathfindingPingNotify.pb.go b/protocol/proto/PathfindingPingNotify.pb.go
new file mode 100644
index 00000000..d02dbdf1
--- /dev/null
+++ b/protocol/proto/PathfindingPingNotify.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PathfindingPingNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2335
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PathfindingPingNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *PathfindingPingNotify) Reset() {
+ *x = PathfindingPingNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PathfindingPingNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PathfindingPingNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PathfindingPingNotify) ProtoMessage() {}
+
+func (x *PathfindingPingNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PathfindingPingNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PathfindingPingNotify.ProtoReflect.Descriptor instead.
+func (*PathfindingPingNotify) Descriptor() ([]byte, []int) {
+ return file_PathfindingPingNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PathfindingPingNotify_proto protoreflect.FileDescriptor
+
+var file_PathfindingPingNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x68, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x6e,
+ 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x50, 0x61, 0x74, 0x68, 0x66, 0x69, 0x6e, 0x64,
+ 0x69, 0x6e, 0x67, 0x50, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PathfindingPingNotify_proto_rawDescOnce sync.Once
+ file_PathfindingPingNotify_proto_rawDescData = file_PathfindingPingNotify_proto_rawDesc
+)
+
+func file_PathfindingPingNotify_proto_rawDescGZIP() []byte {
+ file_PathfindingPingNotify_proto_rawDescOnce.Do(func() {
+ file_PathfindingPingNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PathfindingPingNotify_proto_rawDescData)
+ })
+ return file_PathfindingPingNotify_proto_rawDescData
+}
+
+var file_PathfindingPingNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PathfindingPingNotify_proto_goTypes = []interface{}{
+ (*PathfindingPingNotify)(nil), // 0: proto.PathfindingPingNotify
+}
+var file_PathfindingPingNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PathfindingPingNotify_proto_init() }
+func file_PathfindingPingNotify_proto_init() {
+ if File_PathfindingPingNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PathfindingPingNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PathfindingPingNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PathfindingPingNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PathfindingPingNotify_proto_goTypes,
+ DependencyIndexes: file_PathfindingPingNotify_proto_depIdxs,
+ MessageInfos: file_PathfindingPingNotify_proto_msgTypes,
+ }.Build()
+ File_PathfindingPingNotify_proto = out.File
+ file_PathfindingPingNotify_proto_rawDesc = nil
+ file_PathfindingPingNotify_proto_goTypes = nil
+ file_PathfindingPingNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PbNavMeshStatsInfo.pb.go b/protocol/proto/PbNavMeshStatsInfo.pb.go
new file mode 100644
index 00000000..c4aa77f0
--- /dev/null
+++ b/protocol/proto/PbNavMeshStatsInfo.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PbNavMeshStatsInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PbNavMeshStatsInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AuthorityAiInCombat int32 `protobuf:"varint,10,opt,name=authority_ai_in_combat,json=authorityAiInCombat,proto3" json:"authority_ai_in_combat,omitempty"`
+ NoAuthorityAiInCombat int32 `protobuf:"varint,11,opt,name=no_authority_ai_in_combat,json=noAuthorityAiInCombat,proto3" json:"no_authority_ai_in_combat,omitempty"`
+ TotalAuthorityAi int32 `protobuf:"varint,8,opt,name=total_authority_ai,json=totalAuthorityAi,proto3" json:"total_authority_ai,omitempty"`
+ TotalNoAuthorityAi int32 `protobuf:"varint,13,opt,name=total_no_authority_ai,json=totalNoAuthorityAi,proto3" json:"total_no_authority_ai,omitempty"`
+}
+
+func (x *PbNavMeshStatsInfo) Reset() {
+ *x = PbNavMeshStatsInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PbNavMeshStatsInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PbNavMeshStatsInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PbNavMeshStatsInfo) ProtoMessage() {}
+
+func (x *PbNavMeshStatsInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PbNavMeshStatsInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PbNavMeshStatsInfo.ProtoReflect.Descriptor instead.
+func (*PbNavMeshStatsInfo) Descriptor() ([]byte, []int) {
+ return file_PbNavMeshStatsInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PbNavMeshStatsInfo) GetAuthorityAiInCombat() int32 {
+ if x != nil {
+ return x.AuthorityAiInCombat
+ }
+ return 0
+}
+
+func (x *PbNavMeshStatsInfo) GetNoAuthorityAiInCombat() int32 {
+ if x != nil {
+ return x.NoAuthorityAiInCombat
+ }
+ return 0
+}
+
+func (x *PbNavMeshStatsInfo) GetTotalAuthorityAi() int32 {
+ if x != nil {
+ return x.TotalAuthorityAi
+ }
+ return 0
+}
+
+func (x *PbNavMeshStatsInfo) GetTotalNoAuthorityAi() int32 {
+ if x != nil {
+ return x.TotalNoAuthorityAi
+ }
+ return 0
+}
+
+var File_PbNavMeshStatsInfo_proto protoreflect.FileDescriptor
+
+var file_PbNavMeshStatsInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x62, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xe4, 0x01, 0x0a, 0x12, 0x50, 0x62, 0x4e, 0x61, 0x76, 0x4d, 0x65, 0x73, 0x68, 0x53,
+ 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68,
+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x69, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x62,
+ 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
+ 0x69, 0x74, 0x79, 0x41, 0x69, 0x49, 0x6e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x12, 0x38, 0x0a,
+ 0x19, 0x6e, 0x6f, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x69,
+ 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x15, 0x6e, 0x6f, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x41, 0x69, 0x49,
+ 0x6e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x69, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72,
+ 0x69, 0x74, 0x79, 0x41, 0x69, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e,
+ 0x6f, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x69, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x6f, 0x41, 0x75, 0x74,
+ 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x41, 0x69, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PbNavMeshStatsInfo_proto_rawDescOnce sync.Once
+ file_PbNavMeshStatsInfo_proto_rawDescData = file_PbNavMeshStatsInfo_proto_rawDesc
+)
+
+func file_PbNavMeshStatsInfo_proto_rawDescGZIP() []byte {
+ file_PbNavMeshStatsInfo_proto_rawDescOnce.Do(func() {
+ file_PbNavMeshStatsInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PbNavMeshStatsInfo_proto_rawDescData)
+ })
+ return file_PbNavMeshStatsInfo_proto_rawDescData
+}
+
+var file_PbNavMeshStatsInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PbNavMeshStatsInfo_proto_goTypes = []interface{}{
+ (*PbNavMeshStatsInfo)(nil), // 0: proto.PbNavMeshStatsInfo
+}
+var file_PbNavMeshStatsInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PbNavMeshStatsInfo_proto_init() }
+func file_PbNavMeshStatsInfo_proto_init() {
+ if File_PbNavMeshStatsInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PbNavMeshStatsInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PbNavMeshStatsInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PbNavMeshStatsInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PbNavMeshStatsInfo_proto_goTypes,
+ DependencyIndexes: file_PbNavMeshStatsInfo_proto_depIdxs,
+ MessageInfos: file_PbNavMeshStatsInfo_proto_msgTypes,
+ }.Build()
+ File_PbNavMeshStatsInfo_proto = out.File
+ file_PbNavMeshStatsInfo_proto_rawDesc = nil
+ file_PbNavMeshStatsInfo_proto_goTypes = nil
+ file_PbNavMeshStatsInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PersistentDungeonSwitchAvatarReq.pb.go b/protocol/proto/PersistentDungeonSwitchAvatarReq.pb.go
new file mode 100644
index 00000000..25cd5f03
--- /dev/null
+++ b/protocol/proto/PersistentDungeonSwitchAvatarReq.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PersistentDungeonSwitchAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1684
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PersistentDungeonSwitchAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurAvatarGuid uint64 `protobuf:"varint,8,opt,name=cur_avatar_guid,json=curAvatarGuid,proto3" json:"cur_avatar_guid,omitempty"`
+ AvatarTeamGuidList []uint64 `protobuf:"varint,3,rep,packed,name=avatar_team_guid_list,json=avatarTeamGuidList,proto3" json:"avatar_team_guid_list,omitempty"`
+}
+
+func (x *PersistentDungeonSwitchAvatarReq) Reset() {
+ *x = PersistentDungeonSwitchAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PersistentDungeonSwitchAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PersistentDungeonSwitchAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PersistentDungeonSwitchAvatarReq) ProtoMessage() {}
+
+func (x *PersistentDungeonSwitchAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PersistentDungeonSwitchAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PersistentDungeonSwitchAvatarReq.ProtoReflect.Descriptor instead.
+func (*PersistentDungeonSwitchAvatarReq) Descriptor() ([]byte, []int) {
+ return file_PersistentDungeonSwitchAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PersistentDungeonSwitchAvatarReq) GetCurAvatarGuid() uint64 {
+ if x != nil {
+ return x.CurAvatarGuid
+ }
+ return 0
+}
+
+func (x *PersistentDungeonSwitchAvatarReq) GetAvatarTeamGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarTeamGuidList
+ }
+ return nil
+}
+
+var File_PersistentDungeonSwitchAvatarReq_proto protoreflect.FileDescriptor
+
+var file_PersistentDungeonSwitchAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x7d, 0x0a, 0x20, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75,
+ 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x12, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PersistentDungeonSwitchAvatarReq_proto_rawDescOnce sync.Once
+ file_PersistentDungeonSwitchAvatarReq_proto_rawDescData = file_PersistentDungeonSwitchAvatarReq_proto_rawDesc
+)
+
+func file_PersistentDungeonSwitchAvatarReq_proto_rawDescGZIP() []byte {
+ file_PersistentDungeonSwitchAvatarReq_proto_rawDescOnce.Do(func() {
+ file_PersistentDungeonSwitchAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PersistentDungeonSwitchAvatarReq_proto_rawDescData)
+ })
+ return file_PersistentDungeonSwitchAvatarReq_proto_rawDescData
+}
+
+var file_PersistentDungeonSwitchAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PersistentDungeonSwitchAvatarReq_proto_goTypes = []interface{}{
+ (*PersistentDungeonSwitchAvatarReq)(nil), // 0: proto.PersistentDungeonSwitchAvatarReq
+}
+var file_PersistentDungeonSwitchAvatarReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PersistentDungeonSwitchAvatarReq_proto_init() }
+func file_PersistentDungeonSwitchAvatarReq_proto_init() {
+ if File_PersistentDungeonSwitchAvatarReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PersistentDungeonSwitchAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PersistentDungeonSwitchAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PersistentDungeonSwitchAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PersistentDungeonSwitchAvatarReq_proto_goTypes,
+ DependencyIndexes: file_PersistentDungeonSwitchAvatarReq_proto_depIdxs,
+ MessageInfos: file_PersistentDungeonSwitchAvatarReq_proto_msgTypes,
+ }.Build()
+ File_PersistentDungeonSwitchAvatarReq_proto = out.File
+ file_PersistentDungeonSwitchAvatarReq_proto_rawDesc = nil
+ file_PersistentDungeonSwitchAvatarReq_proto_goTypes = nil
+ file_PersistentDungeonSwitchAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PersistentDungeonSwitchAvatarRsp.pb.go b/protocol/proto/PersistentDungeonSwitchAvatarRsp.pb.go
new file mode 100644
index 00000000..bb41b650
--- /dev/null
+++ b/protocol/proto/PersistentDungeonSwitchAvatarRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PersistentDungeonSwitchAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1768
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PersistentDungeonSwitchAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarTeamGuidList []uint64 `protobuf:"varint,14,rep,packed,name=avatar_team_guid_list,json=avatarTeamGuidList,proto3" json:"avatar_team_guid_list,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CurAvatarGuid uint64 `protobuf:"varint,15,opt,name=cur_avatar_guid,json=curAvatarGuid,proto3" json:"cur_avatar_guid,omitempty"`
+}
+
+func (x *PersistentDungeonSwitchAvatarRsp) Reset() {
+ *x = PersistentDungeonSwitchAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PersistentDungeonSwitchAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PersistentDungeonSwitchAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PersistentDungeonSwitchAvatarRsp) ProtoMessage() {}
+
+func (x *PersistentDungeonSwitchAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PersistentDungeonSwitchAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PersistentDungeonSwitchAvatarRsp.ProtoReflect.Descriptor instead.
+func (*PersistentDungeonSwitchAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_PersistentDungeonSwitchAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PersistentDungeonSwitchAvatarRsp) GetAvatarTeamGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarTeamGuidList
+ }
+ return nil
+}
+
+func (x *PersistentDungeonSwitchAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PersistentDungeonSwitchAvatarRsp) GetCurAvatarGuid() uint64 {
+ if x != nil {
+ return x.CurAvatarGuid
+ }
+ return 0
+}
+
+var File_PersistentDungeonSwitchAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_PersistentDungeonSwitchAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x97, 0x01, 0x0a, 0x20, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x52, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74,
+ 0x65, 0x61, 0x6d, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20,
+ 0x03, 0x28, 0x04, 0x52, 0x12, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x47,
+ 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PersistentDungeonSwitchAvatarRsp_proto_rawDescOnce sync.Once
+ file_PersistentDungeonSwitchAvatarRsp_proto_rawDescData = file_PersistentDungeonSwitchAvatarRsp_proto_rawDesc
+)
+
+func file_PersistentDungeonSwitchAvatarRsp_proto_rawDescGZIP() []byte {
+ file_PersistentDungeonSwitchAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_PersistentDungeonSwitchAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PersistentDungeonSwitchAvatarRsp_proto_rawDescData)
+ })
+ return file_PersistentDungeonSwitchAvatarRsp_proto_rawDescData
+}
+
+var file_PersistentDungeonSwitchAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PersistentDungeonSwitchAvatarRsp_proto_goTypes = []interface{}{
+ (*PersistentDungeonSwitchAvatarRsp)(nil), // 0: proto.PersistentDungeonSwitchAvatarRsp
+}
+var file_PersistentDungeonSwitchAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PersistentDungeonSwitchAvatarRsp_proto_init() }
+func file_PersistentDungeonSwitchAvatarRsp_proto_init() {
+ if File_PersistentDungeonSwitchAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PersistentDungeonSwitchAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PersistentDungeonSwitchAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PersistentDungeonSwitchAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PersistentDungeonSwitchAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_PersistentDungeonSwitchAvatarRsp_proto_depIdxs,
+ MessageInfos: file_PersistentDungeonSwitchAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_PersistentDungeonSwitchAvatarRsp_proto = out.File
+ file_PersistentDungeonSwitchAvatarRsp_proto_rawDesc = nil
+ file_PersistentDungeonSwitchAvatarRsp_proto_goTypes = nil
+ file_PersistentDungeonSwitchAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PersonalLineAllDataReq.pb.go b/protocol/proto/PersonalLineAllDataReq.pb.go
new file mode 100644
index 00000000..22b69b42
--- /dev/null
+++ b/protocol/proto/PersonalLineAllDataReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PersonalLineAllDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 474
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PersonalLineAllDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *PersonalLineAllDataReq) Reset() {
+ *x = PersonalLineAllDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PersonalLineAllDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PersonalLineAllDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PersonalLineAllDataReq) ProtoMessage() {}
+
+func (x *PersonalLineAllDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PersonalLineAllDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PersonalLineAllDataReq.ProtoReflect.Descriptor instead.
+func (*PersonalLineAllDataReq) Descriptor() ([]byte, []int) {
+ return file_PersonalLineAllDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PersonalLineAllDataReq_proto protoreflect.FileDescriptor
+
+var file_PersonalLineAllDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x41, 0x6c,
+ 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PersonalLineAllDataReq_proto_rawDescOnce sync.Once
+ file_PersonalLineAllDataReq_proto_rawDescData = file_PersonalLineAllDataReq_proto_rawDesc
+)
+
+func file_PersonalLineAllDataReq_proto_rawDescGZIP() []byte {
+ file_PersonalLineAllDataReq_proto_rawDescOnce.Do(func() {
+ file_PersonalLineAllDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PersonalLineAllDataReq_proto_rawDescData)
+ })
+ return file_PersonalLineAllDataReq_proto_rawDescData
+}
+
+var file_PersonalLineAllDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PersonalLineAllDataReq_proto_goTypes = []interface{}{
+ (*PersonalLineAllDataReq)(nil), // 0: proto.PersonalLineAllDataReq
+}
+var file_PersonalLineAllDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PersonalLineAllDataReq_proto_init() }
+func file_PersonalLineAllDataReq_proto_init() {
+ if File_PersonalLineAllDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PersonalLineAllDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PersonalLineAllDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PersonalLineAllDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PersonalLineAllDataReq_proto_goTypes,
+ DependencyIndexes: file_PersonalLineAllDataReq_proto_depIdxs,
+ MessageInfos: file_PersonalLineAllDataReq_proto_msgTypes,
+ }.Build()
+ File_PersonalLineAllDataReq_proto = out.File
+ file_PersonalLineAllDataReq_proto_rawDesc = nil
+ file_PersonalLineAllDataReq_proto_goTypes = nil
+ file_PersonalLineAllDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PersonalLineAllDataRsp.pb.go b/protocol/proto/PersonalLineAllDataRsp.pb.go
new file mode 100644
index 00000000..d35a1726
--- /dev/null
+++ b/protocol/proto/PersonalLineAllDataRsp.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PersonalLineAllDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 476
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PersonalLineAllDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurFinishedDailyTaskCount uint32 `protobuf:"varint,5,opt,name=cur_finished_daily_task_count,json=curFinishedDailyTaskCount,proto3" json:"cur_finished_daily_task_count,omitempty"`
+ CanBeUnlockedPersonalLineList []uint32 `protobuf:"varint,13,rep,packed,name=can_be_unlocked_personal_line_list,json=canBeUnlockedPersonalLineList,proto3" json:"can_be_unlocked_personal_line_list,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OngoingPersonalLineList []uint32 `protobuf:"varint,8,rep,packed,name=ongoing_personal_line_list,json=ongoingPersonalLineList,proto3" json:"ongoing_personal_line_list,omitempty"`
+ LegendaryKeyCount uint32 `protobuf:"varint,11,opt,name=legendary_key_count,json=legendaryKeyCount,proto3" json:"legendary_key_count,omitempty"`
+ LockedPersonalLineList []*LockedPersonallineData `protobuf:"bytes,10,rep,name=locked_personal_line_list,json=lockedPersonalLineList,proto3" json:"locked_personal_line_list,omitempty"`
+}
+
+func (x *PersonalLineAllDataRsp) Reset() {
+ *x = PersonalLineAllDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PersonalLineAllDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PersonalLineAllDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PersonalLineAllDataRsp) ProtoMessage() {}
+
+func (x *PersonalLineAllDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PersonalLineAllDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PersonalLineAllDataRsp.ProtoReflect.Descriptor instead.
+func (*PersonalLineAllDataRsp) Descriptor() ([]byte, []int) {
+ return file_PersonalLineAllDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PersonalLineAllDataRsp) GetCurFinishedDailyTaskCount() uint32 {
+ if x != nil {
+ return x.CurFinishedDailyTaskCount
+ }
+ return 0
+}
+
+func (x *PersonalLineAllDataRsp) GetCanBeUnlockedPersonalLineList() []uint32 {
+ if x != nil {
+ return x.CanBeUnlockedPersonalLineList
+ }
+ return nil
+}
+
+func (x *PersonalLineAllDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PersonalLineAllDataRsp) GetOngoingPersonalLineList() []uint32 {
+ if x != nil {
+ return x.OngoingPersonalLineList
+ }
+ return nil
+}
+
+func (x *PersonalLineAllDataRsp) GetLegendaryKeyCount() uint32 {
+ if x != nil {
+ return x.LegendaryKeyCount
+ }
+ return 0
+}
+
+func (x *PersonalLineAllDataRsp) GetLockedPersonalLineList() []*LockedPersonallineData {
+ if x != nil {
+ return x.LockedPersonalLineList
+ }
+ return nil
+}
+
+var File_PersonalLineAllDataRsp_proto protoreflect.FileDescriptor
+
+var file_PersonalLineAllDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x41, 0x6c,
+ 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72,
+ 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x03, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x4c, 0x69, 0x6e, 0x65, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x40,
+ 0x0a, 0x1d, 0x63, 0x75, 0x72, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x64,
+ 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x63, 0x75, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x49, 0x0a, 0x22, 0x63, 0x61, 0x6e, 0x5f, 0x62, 0x65, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e,
+ 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x1d, 0x63, 0x61,
+ 0x6e, 0x42, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67,
+ 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x17, 0x6f, 0x6e, 0x67, 0x6f, 0x69,
+ 0x6e, 0x67, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f,
+ 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x11, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72,
+ 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x6f,
+ 0x63, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x16, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x73,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PersonalLineAllDataRsp_proto_rawDescOnce sync.Once
+ file_PersonalLineAllDataRsp_proto_rawDescData = file_PersonalLineAllDataRsp_proto_rawDesc
+)
+
+func file_PersonalLineAllDataRsp_proto_rawDescGZIP() []byte {
+ file_PersonalLineAllDataRsp_proto_rawDescOnce.Do(func() {
+ file_PersonalLineAllDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PersonalLineAllDataRsp_proto_rawDescData)
+ })
+ return file_PersonalLineAllDataRsp_proto_rawDescData
+}
+
+var file_PersonalLineAllDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PersonalLineAllDataRsp_proto_goTypes = []interface{}{
+ (*PersonalLineAllDataRsp)(nil), // 0: proto.PersonalLineAllDataRsp
+ (*LockedPersonallineData)(nil), // 1: proto.LockedPersonallineData
+}
+var file_PersonalLineAllDataRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PersonalLineAllDataRsp.locked_personal_line_list:type_name -> proto.LockedPersonallineData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PersonalLineAllDataRsp_proto_init() }
+func file_PersonalLineAllDataRsp_proto_init() {
+ if File_PersonalLineAllDataRsp_proto != nil {
+ return
+ }
+ file_LockedPersonallineData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PersonalLineAllDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PersonalLineAllDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PersonalLineAllDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PersonalLineAllDataRsp_proto_goTypes,
+ DependencyIndexes: file_PersonalLineAllDataRsp_proto_depIdxs,
+ MessageInfos: file_PersonalLineAllDataRsp_proto_msgTypes,
+ }.Build()
+ File_PersonalLineAllDataRsp_proto = out.File
+ file_PersonalLineAllDataRsp_proto_rawDesc = nil
+ file_PersonalLineAllDataRsp_proto_goTypes = nil
+ file_PersonalLineAllDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PersonalLineNewUnlockNotify.pb.go b/protocol/proto/PersonalLineNewUnlockNotify.pb.go
new file mode 100644
index 00000000..346eb0ec
--- /dev/null
+++ b/protocol/proto/PersonalLineNewUnlockNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PersonalLineNewUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 442
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PersonalLineNewUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PersonalLineIdList []uint32 `protobuf:"varint,9,rep,packed,name=personal_line_id_list,json=personalLineIdList,proto3" json:"personal_line_id_list,omitempty"`
+}
+
+func (x *PersonalLineNewUnlockNotify) Reset() {
+ *x = PersonalLineNewUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PersonalLineNewUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PersonalLineNewUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PersonalLineNewUnlockNotify) ProtoMessage() {}
+
+func (x *PersonalLineNewUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PersonalLineNewUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PersonalLineNewUnlockNotify.ProtoReflect.Descriptor instead.
+func (*PersonalLineNewUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_PersonalLineNewUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PersonalLineNewUnlockNotify) GetPersonalLineIdList() []uint32 {
+ if x != nil {
+ return x.PersonalLineIdList
+ }
+ return nil
+}
+
+var File_PersonalLineNewUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_PersonalLineNewUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x4e, 0x65,
+ 0x77, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x1b, 0x50, 0x65,
+ 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x55, 0x6e, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x70, 0x65, 0x72,
+ 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PersonalLineNewUnlockNotify_proto_rawDescOnce sync.Once
+ file_PersonalLineNewUnlockNotify_proto_rawDescData = file_PersonalLineNewUnlockNotify_proto_rawDesc
+)
+
+func file_PersonalLineNewUnlockNotify_proto_rawDescGZIP() []byte {
+ file_PersonalLineNewUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_PersonalLineNewUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PersonalLineNewUnlockNotify_proto_rawDescData)
+ })
+ return file_PersonalLineNewUnlockNotify_proto_rawDescData
+}
+
+var file_PersonalLineNewUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PersonalLineNewUnlockNotify_proto_goTypes = []interface{}{
+ (*PersonalLineNewUnlockNotify)(nil), // 0: proto.PersonalLineNewUnlockNotify
+}
+var file_PersonalLineNewUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PersonalLineNewUnlockNotify_proto_init() }
+func file_PersonalLineNewUnlockNotify_proto_init() {
+ if File_PersonalLineNewUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PersonalLineNewUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PersonalLineNewUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PersonalLineNewUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PersonalLineNewUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_PersonalLineNewUnlockNotify_proto_depIdxs,
+ MessageInfos: file_PersonalLineNewUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_PersonalLineNewUnlockNotify_proto = out.File
+ file_PersonalLineNewUnlockNotify_proto_rawDesc = nil
+ file_PersonalLineNewUnlockNotify_proto_goTypes = nil
+ file_PersonalLineNewUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PersonalSceneJumpReq.pb.go b/protocol/proto/PersonalSceneJumpReq.pb.go
new file mode 100644
index 00000000..e06f4667
--- /dev/null
+++ b/protocol/proto/PersonalSceneJumpReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PersonalSceneJumpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 284
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PersonalSceneJumpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,4,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *PersonalSceneJumpReq) Reset() {
+ *x = PersonalSceneJumpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PersonalSceneJumpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PersonalSceneJumpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PersonalSceneJumpReq) ProtoMessage() {}
+
+func (x *PersonalSceneJumpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PersonalSceneJumpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PersonalSceneJumpReq.ProtoReflect.Descriptor instead.
+func (*PersonalSceneJumpReq) Descriptor() ([]byte, []int) {
+ return file_PersonalSceneJumpReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PersonalSceneJumpReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_PersonalSceneJumpReq_proto protoreflect.FileDescriptor
+
+var file_PersonalSceneJumpReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4a,
+ 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x4a, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PersonalSceneJumpReq_proto_rawDescOnce sync.Once
+ file_PersonalSceneJumpReq_proto_rawDescData = file_PersonalSceneJumpReq_proto_rawDesc
+)
+
+func file_PersonalSceneJumpReq_proto_rawDescGZIP() []byte {
+ file_PersonalSceneJumpReq_proto_rawDescOnce.Do(func() {
+ file_PersonalSceneJumpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PersonalSceneJumpReq_proto_rawDescData)
+ })
+ return file_PersonalSceneJumpReq_proto_rawDescData
+}
+
+var file_PersonalSceneJumpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PersonalSceneJumpReq_proto_goTypes = []interface{}{
+ (*PersonalSceneJumpReq)(nil), // 0: proto.PersonalSceneJumpReq
+}
+var file_PersonalSceneJumpReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PersonalSceneJumpReq_proto_init() }
+func file_PersonalSceneJumpReq_proto_init() {
+ if File_PersonalSceneJumpReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PersonalSceneJumpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PersonalSceneJumpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PersonalSceneJumpReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PersonalSceneJumpReq_proto_goTypes,
+ DependencyIndexes: file_PersonalSceneJumpReq_proto_depIdxs,
+ MessageInfos: file_PersonalSceneJumpReq_proto_msgTypes,
+ }.Build()
+ File_PersonalSceneJumpReq_proto = out.File
+ file_PersonalSceneJumpReq_proto_rawDesc = nil
+ file_PersonalSceneJumpReq_proto_goTypes = nil
+ file_PersonalSceneJumpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PersonalSceneJumpRsp.pb.go b/protocol/proto/PersonalSceneJumpRsp.pb.go
new file mode 100644
index 00000000..0df3dbc0
--- /dev/null
+++ b/protocol/proto/PersonalSceneJumpRsp.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PersonalSceneJumpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 280
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PersonalSceneJumpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DestSceneId uint32 `protobuf:"varint,5,opt,name=dest_scene_id,json=destSceneId,proto3" json:"dest_scene_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DestPos *Vector `protobuf:"bytes,11,opt,name=dest_pos,json=destPos,proto3" json:"dest_pos,omitempty"`
+}
+
+func (x *PersonalSceneJumpRsp) Reset() {
+ *x = PersonalSceneJumpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PersonalSceneJumpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PersonalSceneJumpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PersonalSceneJumpRsp) ProtoMessage() {}
+
+func (x *PersonalSceneJumpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PersonalSceneJumpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PersonalSceneJumpRsp.ProtoReflect.Descriptor instead.
+func (*PersonalSceneJumpRsp) Descriptor() ([]byte, []int) {
+ return file_PersonalSceneJumpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PersonalSceneJumpRsp) GetDestSceneId() uint32 {
+ if x != nil {
+ return x.DestSceneId
+ }
+ return 0
+}
+
+func (x *PersonalSceneJumpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PersonalSceneJumpRsp) GetDestPos() *Vector {
+ if x != nil {
+ return x.DestPos
+ }
+ return nil
+}
+
+var File_PersonalSceneJumpRsp_proto protoreflect.FileDescriptor
+
+var file_PersonalSceneJumpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4a,
+ 0x75, 0x6d, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x7e, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x4a, 0x75, 0x6d, 0x70, 0x52, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x65, 0x73,
+ 0x74, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x74, 0x5f,
+ 0x70, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x64, 0x65, 0x73, 0x74, 0x50, 0x6f,
+ 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PersonalSceneJumpRsp_proto_rawDescOnce sync.Once
+ file_PersonalSceneJumpRsp_proto_rawDescData = file_PersonalSceneJumpRsp_proto_rawDesc
+)
+
+func file_PersonalSceneJumpRsp_proto_rawDescGZIP() []byte {
+ file_PersonalSceneJumpRsp_proto_rawDescOnce.Do(func() {
+ file_PersonalSceneJumpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PersonalSceneJumpRsp_proto_rawDescData)
+ })
+ return file_PersonalSceneJumpRsp_proto_rawDescData
+}
+
+var file_PersonalSceneJumpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PersonalSceneJumpRsp_proto_goTypes = []interface{}{
+ (*PersonalSceneJumpRsp)(nil), // 0: proto.PersonalSceneJumpRsp
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_PersonalSceneJumpRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PersonalSceneJumpRsp.dest_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PersonalSceneJumpRsp_proto_init() }
+func file_PersonalSceneJumpRsp_proto_init() {
+ if File_PersonalSceneJumpRsp_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PersonalSceneJumpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PersonalSceneJumpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PersonalSceneJumpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PersonalSceneJumpRsp_proto_goTypes,
+ DependencyIndexes: file_PersonalSceneJumpRsp_proto_depIdxs,
+ MessageInfos: file_PersonalSceneJumpRsp_proto_msgTypes,
+ }.Build()
+ File_PersonalSceneJumpRsp_proto = out.File
+ file_PersonalSceneJumpRsp_proto_rawDesc = nil
+ file_PersonalSceneJumpRsp_proto_goTypes = nil
+ file_PersonalSceneJumpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PhotoActivityClientViewReq.pb.go b/protocol/proto/PhotoActivityClientViewReq.pb.go
new file mode 100644
index 00000000..2fbebc44
--- /dev/null
+++ b/protocol/proto/PhotoActivityClientViewReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PhotoActivityClientViewReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8709
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PhotoActivityClientViewReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PosId uint32 `protobuf:"varint,13,opt,name=pos_id,json=posId,proto3" json:"pos_id,omitempty"`
+}
+
+func (x *PhotoActivityClientViewReq) Reset() {
+ *x = PhotoActivityClientViewReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PhotoActivityClientViewReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PhotoActivityClientViewReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PhotoActivityClientViewReq) ProtoMessage() {}
+
+func (x *PhotoActivityClientViewReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PhotoActivityClientViewReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PhotoActivityClientViewReq.ProtoReflect.Descriptor instead.
+func (*PhotoActivityClientViewReq) Descriptor() ([]byte, []int) {
+ return file_PhotoActivityClientViewReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PhotoActivityClientViewReq) GetPosId() uint32 {
+ if x != nil {
+ return x.PosId
+ }
+ return 0
+}
+
+var File_PhotoActivityClientViewReq_proto protoreflect.FileDescriptor
+
+var file_PhotoActivityClientViewReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x1a, 0x50, 0x68, 0x6f,
+ 0x74, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PhotoActivityClientViewReq_proto_rawDescOnce sync.Once
+ file_PhotoActivityClientViewReq_proto_rawDescData = file_PhotoActivityClientViewReq_proto_rawDesc
+)
+
+func file_PhotoActivityClientViewReq_proto_rawDescGZIP() []byte {
+ file_PhotoActivityClientViewReq_proto_rawDescOnce.Do(func() {
+ file_PhotoActivityClientViewReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PhotoActivityClientViewReq_proto_rawDescData)
+ })
+ return file_PhotoActivityClientViewReq_proto_rawDescData
+}
+
+var file_PhotoActivityClientViewReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PhotoActivityClientViewReq_proto_goTypes = []interface{}{
+ (*PhotoActivityClientViewReq)(nil), // 0: proto.PhotoActivityClientViewReq
+}
+var file_PhotoActivityClientViewReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PhotoActivityClientViewReq_proto_init() }
+func file_PhotoActivityClientViewReq_proto_init() {
+ if File_PhotoActivityClientViewReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PhotoActivityClientViewReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PhotoActivityClientViewReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PhotoActivityClientViewReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PhotoActivityClientViewReq_proto_goTypes,
+ DependencyIndexes: file_PhotoActivityClientViewReq_proto_depIdxs,
+ MessageInfos: file_PhotoActivityClientViewReq_proto_msgTypes,
+ }.Build()
+ File_PhotoActivityClientViewReq_proto = out.File
+ file_PhotoActivityClientViewReq_proto_rawDesc = nil
+ file_PhotoActivityClientViewReq_proto_goTypes = nil
+ file_PhotoActivityClientViewReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PhotoActivityClientViewRsp.pb.go b/protocol/proto/PhotoActivityClientViewRsp.pb.go
new file mode 100644
index 00000000..b08feac9
--- /dev/null
+++ b/protocol/proto/PhotoActivityClientViewRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PhotoActivityClientViewRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8983
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PhotoActivityClientViewRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PosId uint32 `protobuf:"varint,8,opt,name=pos_id,json=posId,proto3" json:"pos_id,omitempty"`
+}
+
+func (x *PhotoActivityClientViewRsp) Reset() {
+ *x = PhotoActivityClientViewRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PhotoActivityClientViewRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PhotoActivityClientViewRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PhotoActivityClientViewRsp) ProtoMessage() {}
+
+func (x *PhotoActivityClientViewRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PhotoActivityClientViewRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PhotoActivityClientViewRsp.ProtoReflect.Descriptor instead.
+func (*PhotoActivityClientViewRsp) Descriptor() ([]byte, []int) {
+ return file_PhotoActivityClientViewRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PhotoActivityClientViewRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PhotoActivityClientViewRsp) GetPosId() uint32 {
+ if x != nil {
+ return x.PosId
+ }
+ return 0
+}
+
+var File_PhotoActivityClientViewRsp_proto protoreflect.FileDescriptor
+
+var file_PhotoActivityClientViewRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x1a, 0x50, 0x68, 0x6f,
+ 0x74, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x56, 0x69, 0x65, 0x77, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PhotoActivityClientViewRsp_proto_rawDescOnce sync.Once
+ file_PhotoActivityClientViewRsp_proto_rawDescData = file_PhotoActivityClientViewRsp_proto_rawDesc
+)
+
+func file_PhotoActivityClientViewRsp_proto_rawDescGZIP() []byte {
+ file_PhotoActivityClientViewRsp_proto_rawDescOnce.Do(func() {
+ file_PhotoActivityClientViewRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PhotoActivityClientViewRsp_proto_rawDescData)
+ })
+ return file_PhotoActivityClientViewRsp_proto_rawDescData
+}
+
+var file_PhotoActivityClientViewRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PhotoActivityClientViewRsp_proto_goTypes = []interface{}{
+ (*PhotoActivityClientViewRsp)(nil), // 0: proto.PhotoActivityClientViewRsp
+}
+var file_PhotoActivityClientViewRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PhotoActivityClientViewRsp_proto_init() }
+func file_PhotoActivityClientViewRsp_proto_init() {
+ if File_PhotoActivityClientViewRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PhotoActivityClientViewRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PhotoActivityClientViewRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PhotoActivityClientViewRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PhotoActivityClientViewRsp_proto_goTypes,
+ DependencyIndexes: file_PhotoActivityClientViewRsp_proto_depIdxs,
+ MessageInfos: file_PhotoActivityClientViewRsp_proto_msgTypes,
+ }.Build()
+ File_PhotoActivityClientViewRsp_proto = out.File
+ file_PhotoActivityClientViewRsp_proto_rawDesc = nil
+ file_PhotoActivityClientViewRsp_proto_goTypes = nil
+ file_PhotoActivityClientViewRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PhotoActivityDetailInfo.pb.go b/protocol/proto/PhotoActivityDetailInfo.pb.go
new file mode 100644
index 00000000..8097a3a1
--- /dev/null
+++ b/protocol/proto/PhotoActivityDetailInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PhotoActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PhotoActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsContentClosed bool `protobuf:"varint,4,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ PhotoPosDataList []*PhotoPosData `protobuf:"bytes,12,rep,name=photo_pos_data_list,json=photoPosDataList,proto3" json:"photo_pos_data_list,omitempty"`
+}
+
+func (x *PhotoActivityDetailInfo) Reset() {
+ *x = PhotoActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PhotoActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PhotoActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PhotoActivityDetailInfo) ProtoMessage() {}
+
+func (x *PhotoActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PhotoActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PhotoActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*PhotoActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_PhotoActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PhotoActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *PhotoActivityDetailInfo) GetPhotoPosDataList() []*PhotoPosData {
+ if x != nil {
+ return x.PhotoPosDataList
+ }
+ return nil
+}
+
+var File_PhotoActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_PhotoActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x6f, 0x73,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x50,
+ 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73,
+ 0x65, 0x64, 0x12, 0x42, 0x0a, 0x13, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x70, 0x6f, 0x73, 0x5f,
+ 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x6f, 0x73,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x6f, 0x73, 0x44, 0x61,
+ 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PhotoActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_PhotoActivityDetailInfo_proto_rawDescData = file_PhotoActivityDetailInfo_proto_rawDesc
+)
+
+func file_PhotoActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_PhotoActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_PhotoActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PhotoActivityDetailInfo_proto_rawDescData)
+ })
+ return file_PhotoActivityDetailInfo_proto_rawDescData
+}
+
+var file_PhotoActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PhotoActivityDetailInfo_proto_goTypes = []interface{}{
+ (*PhotoActivityDetailInfo)(nil), // 0: proto.PhotoActivityDetailInfo
+ (*PhotoPosData)(nil), // 1: proto.PhotoPosData
+}
+var file_PhotoActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PhotoActivityDetailInfo.photo_pos_data_list:type_name -> proto.PhotoPosData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PhotoActivityDetailInfo_proto_init() }
+func file_PhotoActivityDetailInfo_proto_init() {
+ if File_PhotoActivityDetailInfo_proto != nil {
+ return
+ }
+ file_PhotoPosData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PhotoActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PhotoActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PhotoActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PhotoActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_PhotoActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_PhotoActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_PhotoActivityDetailInfo_proto = out.File
+ file_PhotoActivityDetailInfo_proto_rawDesc = nil
+ file_PhotoActivityDetailInfo_proto_goTypes = nil
+ file_PhotoActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PhotoActivityFinishReq.pb.go b/protocol/proto/PhotoActivityFinishReq.pb.go
new file mode 100644
index 00000000..3e0a1064
--- /dev/null
+++ b/protocol/proto/PhotoActivityFinishReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PhotoActivityFinishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8921
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PhotoActivityFinishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PosId uint32 `protobuf:"varint,15,opt,name=pos_id,json=posId,proto3" json:"pos_id,omitempty"`
+ CheckRootId uint32 `protobuf:"varint,2,opt,name=check_root_id,json=checkRootId,proto3" json:"check_root_id,omitempty"`
+ IsSucc bool `protobuf:"varint,5,opt,name=is_succ,json=isSucc,proto3" json:"is_succ,omitempty"`
+}
+
+func (x *PhotoActivityFinishReq) Reset() {
+ *x = PhotoActivityFinishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PhotoActivityFinishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PhotoActivityFinishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PhotoActivityFinishReq) ProtoMessage() {}
+
+func (x *PhotoActivityFinishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PhotoActivityFinishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PhotoActivityFinishReq.ProtoReflect.Descriptor instead.
+func (*PhotoActivityFinishReq) Descriptor() ([]byte, []int) {
+ return file_PhotoActivityFinishReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PhotoActivityFinishReq) GetPosId() uint32 {
+ if x != nil {
+ return x.PosId
+ }
+ return 0
+}
+
+func (x *PhotoActivityFinishReq) GetCheckRootId() uint32 {
+ if x != nil {
+ return x.CheckRootId
+ }
+ return 0
+}
+
+func (x *PhotoActivityFinishReq) GetIsSucc() bool {
+ if x != nil {
+ return x.IsSucc
+ }
+ return false
+}
+
+var File_PhotoActivityFinishReq_proto protoreflect.FileDescriptor
+
+var file_PhotoActivityFinishReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x16, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12,
+ 0x15, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x70, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f,
+ 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63,
+ 0x68, 0x65, 0x63, 0x6b, 0x52, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73,
+ 0x5f, 0x73, 0x75, 0x63, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53,
+ 0x75, 0x63, 0x63, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PhotoActivityFinishReq_proto_rawDescOnce sync.Once
+ file_PhotoActivityFinishReq_proto_rawDescData = file_PhotoActivityFinishReq_proto_rawDesc
+)
+
+func file_PhotoActivityFinishReq_proto_rawDescGZIP() []byte {
+ file_PhotoActivityFinishReq_proto_rawDescOnce.Do(func() {
+ file_PhotoActivityFinishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PhotoActivityFinishReq_proto_rawDescData)
+ })
+ return file_PhotoActivityFinishReq_proto_rawDescData
+}
+
+var file_PhotoActivityFinishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PhotoActivityFinishReq_proto_goTypes = []interface{}{
+ (*PhotoActivityFinishReq)(nil), // 0: proto.PhotoActivityFinishReq
+}
+var file_PhotoActivityFinishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PhotoActivityFinishReq_proto_init() }
+func file_PhotoActivityFinishReq_proto_init() {
+ if File_PhotoActivityFinishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PhotoActivityFinishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PhotoActivityFinishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PhotoActivityFinishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PhotoActivityFinishReq_proto_goTypes,
+ DependencyIndexes: file_PhotoActivityFinishReq_proto_depIdxs,
+ MessageInfos: file_PhotoActivityFinishReq_proto_msgTypes,
+ }.Build()
+ File_PhotoActivityFinishReq_proto = out.File
+ file_PhotoActivityFinishReq_proto_rawDesc = nil
+ file_PhotoActivityFinishReq_proto_goTypes = nil
+ file_PhotoActivityFinishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PhotoActivityFinishRsp.pb.go b/protocol/proto/PhotoActivityFinishRsp.pb.go
new file mode 100644
index 00000000..71bfef7c
--- /dev/null
+++ b/protocol/proto/PhotoActivityFinishRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PhotoActivityFinishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8854
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PhotoActivityFinishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PosId uint32 `protobuf:"varint,8,opt,name=pos_id,json=posId,proto3" json:"pos_id,omitempty"`
+}
+
+func (x *PhotoActivityFinishRsp) Reset() {
+ *x = PhotoActivityFinishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PhotoActivityFinishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PhotoActivityFinishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PhotoActivityFinishRsp) ProtoMessage() {}
+
+func (x *PhotoActivityFinishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PhotoActivityFinishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PhotoActivityFinishRsp.ProtoReflect.Descriptor instead.
+func (*PhotoActivityFinishRsp) Descriptor() ([]byte, []int) {
+ return file_PhotoActivityFinishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PhotoActivityFinishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PhotoActivityFinishRsp) GetPosId() uint32 {
+ if x != nil {
+ return x.PosId
+ }
+ return 0
+}
+
+var File_PhotoActivityFinishRsp_proto protoreflect.FileDescriptor
+
+var file_PhotoActivityFinishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x16, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x6f, 0x73,
+ 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PhotoActivityFinishRsp_proto_rawDescOnce sync.Once
+ file_PhotoActivityFinishRsp_proto_rawDescData = file_PhotoActivityFinishRsp_proto_rawDesc
+)
+
+func file_PhotoActivityFinishRsp_proto_rawDescGZIP() []byte {
+ file_PhotoActivityFinishRsp_proto_rawDescOnce.Do(func() {
+ file_PhotoActivityFinishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PhotoActivityFinishRsp_proto_rawDescData)
+ })
+ return file_PhotoActivityFinishRsp_proto_rawDescData
+}
+
+var file_PhotoActivityFinishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PhotoActivityFinishRsp_proto_goTypes = []interface{}{
+ (*PhotoActivityFinishRsp)(nil), // 0: proto.PhotoActivityFinishRsp
+}
+var file_PhotoActivityFinishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PhotoActivityFinishRsp_proto_init() }
+func file_PhotoActivityFinishRsp_proto_init() {
+ if File_PhotoActivityFinishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PhotoActivityFinishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PhotoActivityFinishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PhotoActivityFinishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PhotoActivityFinishRsp_proto_goTypes,
+ DependencyIndexes: file_PhotoActivityFinishRsp_proto_depIdxs,
+ MessageInfos: file_PhotoActivityFinishRsp_proto_msgTypes,
+ }.Build()
+ File_PhotoActivityFinishRsp_proto = out.File
+ file_PhotoActivityFinishRsp_proto_rawDesc = nil
+ file_PhotoActivityFinishRsp_proto_goTypes = nil
+ file_PhotoActivityFinishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PhotoGallerySettleInfo.pb.go b/protocol/proto/PhotoGallerySettleInfo.pb.go
new file mode 100644
index 00000000..75b732f0
--- /dev/null
+++ b/protocol/proto/PhotoGallerySettleInfo.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PhotoGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PhotoGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason GalleryStopReason `protobuf:"varint,7,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+}
+
+func (x *PhotoGallerySettleInfo) Reset() {
+ *x = PhotoGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PhotoGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PhotoGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PhotoGallerySettleInfo) ProtoMessage() {}
+
+func (x *PhotoGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PhotoGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PhotoGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*PhotoGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_PhotoGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PhotoGallerySettleInfo) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+var File_PhotoGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_PhotoGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74,
+ 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a,
+ 0x0a, 0x16, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PhotoGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_PhotoGallerySettleInfo_proto_rawDescData = file_PhotoGallerySettleInfo_proto_rawDesc
+)
+
+func file_PhotoGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_PhotoGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_PhotoGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PhotoGallerySettleInfo_proto_rawDescData)
+ })
+ return file_PhotoGallerySettleInfo_proto_rawDescData
+}
+
+var file_PhotoGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PhotoGallerySettleInfo_proto_goTypes = []interface{}{
+ (*PhotoGallerySettleInfo)(nil), // 0: proto.PhotoGallerySettleInfo
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_PhotoGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PhotoGallerySettleInfo.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PhotoGallerySettleInfo_proto_init() }
+func file_PhotoGallerySettleInfo_proto_init() {
+ if File_PhotoGallerySettleInfo_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PhotoGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PhotoGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PhotoGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PhotoGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_PhotoGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_PhotoGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_PhotoGallerySettleInfo_proto = out.File
+ file_PhotoGallerySettleInfo_proto_rawDesc = nil
+ file_PhotoGallerySettleInfo_proto_goTypes = nil
+ file_PhotoGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PhotoPosData.pb.go b/protocol/proto/PhotoPosData.pb.go
new file mode 100644
index 00000000..88a6074f
--- /dev/null
+++ b/protocol/proto/PhotoPosData.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PhotoPosData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PhotoPosData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Center *Vector `protobuf:"bytes,15,opt,name=center,proto3" json:"center,omitempty"`
+ OpenTime uint32 `protobuf:"varint,2,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsView bool `protobuf:"varint,4,opt,name=is_view,json=isView,proto3" json:"is_view,omitempty"`
+ PosId uint32 `protobuf:"varint,9,opt,name=pos_id,json=posId,proto3" json:"pos_id,omitempty"`
+ IsOpen bool `protobuf:"varint,6,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *PhotoPosData) Reset() {
+ *x = PhotoPosData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PhotoPosData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PhotoPosData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PhotoPosData) ProtoMessage() {}
+
+func (x *PhotoPosData) ProtoReflect() protoreflect.Message {
+ mi := &file_PhotoPosData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PhotoPosData.ProtoReflect.Descriptor instead.
+func (*PhotoPosData) Descriptor() ([]byte, []int) {
+ return file_PhotoPosData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PhotoPosData) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *PhotoPosData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *PhotoPosData) GetIsView() bool {
+ if x != nil {
+ return x.IsView
+ }
+ return false
+}
+
+func (x *PhotoPosData) GetPosId() uint32 {
+ if x != nil {
+ return x.PosId
+ }
+ return 0
+}
+
+func (x *PhotoPosData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_PhotoPosData_proto protoreflect.FileDescriptor
+
+var file_PhotoPosData_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x50, 0x6f, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x01, 0x0a, 0x0c, 0x50, 0x68,
+ 0x6f, 0x74, 0x6f, 0x50, 0x6f, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x65,
+ 0x6e, 0x74, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17,
+ 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x06, 0x69, 0x73, 0x56, 0x69, 0x65, 0x77, 0x12, 0x15, 0x0a, 0x06, 0x70, 0x6f, 0x73, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x17,
+ 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PhotoPosData_proto_rawDescOnce sync.Once
+ file_PhotoPosData_proto_rawDescData = file_PhotoPosData_proto_rawDesc
+)
+
+func file_PhotoPosData_proto_rawDescGZIP() []byte {
+ file_PhotoPosData_proto_rawDescOnce.Do(func() {
+ file_PhotoPosData_proto_rawDescData = protoimpl.X.CompressGZIP(file_PhotoPosData_proto_rawDescData)
+ })
+ return file_PhotoPosData_proto_rawDescData
+}
+
+var file_PhotoPosData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PhotoPosData_proto_goTypes = []interface{}{
+ (*PhotoPosData)(nil), // 0: proto.PhotoPosData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_PhotoPosData_proto_depIdxs = []int32{
+ 1, // 0: proto.PhotoPosData.center:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PhotoPosData_proto_init() }
+func file_PhotoPosData_proto_init() {
+ if File_PhotoPosData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PhotoPosData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PhotoPosData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PhotoPosData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PhotoPosData_proto_goTypes,
+ DependencyIndexes: file_PhotoPosData_proto_depIdxs,
+ MessageInfos: file_PhotoPosData_proto_msgTypes,
+ }.Build()
+ File_PhotoPosData_proto = out.File
+ file_PhotoPosData_proto_rawDesc = nil
+ file_PhotoPosData_proto_goTypes = nil
+ file_PhotoPosData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PingReq.pb.go b/protocol/proto/PingReq.pb.go
new file mode 100644
index 00000000..fd2c28d1
--- /dev/null
+++ b/protocol/proto/PingReq.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PingReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 7
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PingReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClientTime uint32 `protobuf:"varint,12,opt,name=client_time,json=clientTime,proto3" json:"client_time,omitempty"`
+ UeTime float32 `protobuf:"fixed32,14,opt,name=ue_time,json=ueTime,proto3" json:"ue_time,omitempty"`
+ TotalTickTime float64 `protobuf:"fixed64,6,opt,name=total_tick_time,json=totalTickTime,proto3" json:"total_tick_time,omitempty"`
+ ScData []byte `protobuf:"bytes,10,opt,name=sc_data,json=scData,proto3" json:"sc_data,omitempty"`
+ Seq uint32 `protobuf:"varint,3,opt,name=seq,proto3" json:"seq,omitempty"`
+}
+
+func (x *PingReq) Reset() {
+ *x = PingReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PingReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PingReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PingReq) ProtoMessage() {}
+
+func (x *PingReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PingReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PingReq.ProtoReflect.Descriptor instead.
+func (*PingReq) Descriptor() ([]byte, []int) {
+ return file_PingReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PingReq) GetClientTime() uint32 {
+ if x != nil {
+ return x.ClientTime
+ }
+ return 0
+}
+
+func (x *PingReq) GetUeTime() float32 {
+ if x != nil {
+ return x.UeTime
+ }
+ return 0
+}
+
+func (x *PingReq) GetTotalTickTime() float64 {
+ if x != nil {
+ return x.TotalTickTime
+ }
+ return 0
+}
+
+func (x *PingReq) GetScData() []byte {
+ if x != nil {
+ return x.ScData
+ }
+ return nil
+}
+
+func (x *PingReq) GetSeq() uint32 {
+ if x != nil {
+ return x.Seq
+ }
+ return 0
+}
+
+var File_PingReq_proto protoreflect.FileDescriptor
+
+var file_PingReq_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x07, 0x50, 0x69, 0x6e, 0x67, 0x52,
+ 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x75, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x63, 0x6b,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x63, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x63, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a,
+ 0x03, 0x73, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PingReq_proto_rawDescOnce sync.Once
+ file_PingReq_proto_rawDescData = file_PingReq_proto_rawDesc
+)
+
+func file_PingReq_proto_rawDescGZIP() []byte {
+ file_PingReq_proto_rawDescOnce.Do(func() {
+ file_PingReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PingReq_proto_rawDescData)
+ })
+ return file_PingReq_proto_rawDescData
+}
+
+var file_PingReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PingReq_proto_goTypes = []interface{}{
+ (*PingReq)(nil), // 0: proto.PingReq
+}
+var file_PingReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PingReq_proto_init() }
+func file_PingReq_proto_init() {
+ if File_PingReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PingReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PingReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PingReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PingReq_proto_goTypes,
+ DependencyIndexes: file_PingReq_proto_depIdxs,
+ MessageInfos: file_PingReq_proto_msgTypes,
+ }.Build()
+ File_PingReq_proto = out.File
+ file_PingReq_proto_rawDesc = nil
+ file_PingReq_proto_goTypes = nil
+ file_PingReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PingRsp.pb.go b/protocol/proto/PingRsp.pb.go
new file mode 100644
index 00000000..f4888b46
--- /dev/null
+++ b/protocol/proto/PingRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PingRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PingRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClientTime uint32 `protobuf:"varint,15,opt,name=client_time,json=clientTime,proto3" json:"client_time,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Seq uint32 `protobuf:"varint,13,opt,name=seq,proto3" json:"seq,omitempty"`
+}
+
+func (x *PingRsp) Reset() {
+ *x = PingRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PingRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PingRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PingRsp) ProtoMessage() {}
+
+func (x *PingRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PingRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PingRsp.ProtoReflect.Descriptor instead.
+func (*PingRsp) Descriptor() ([]byte, []int) {
+ return file_PingRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PingRsp) GetClientTime() uint32 {
+ if x != nil {
+ return x.ClientTime
+ }
+ return 0
+}
+
+func (x *PingRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PingRsp) GetSeq() uint32 {
+ if x != nil {
+ return x.Seq
+ }
+ return 0
+}
+
+var File_PingRsp_proto protoreflect.FileDescriptor
+
+var file_PingRsp_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x07, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x73,
+ 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03,
+ 0x73, 0x65, 0x71, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PingRsp_proto_rawDescOnce sync.Once
+ file_PingRsp_proto_rawDescData = file_PingRsp_proto_rawDesc
+)
+
+func file_PingRsp_proto_rawDescGZIP() []byte {
+ file_PingRsp_proto_rawDescOnce.Do(func() {
+ file_PingRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PingRsp_proto_rawDescData)
+ })
+ return file_PingRsp_proto_rawDescData
+}
+
+var file_PingRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PingRsp_proto_goTypes = []interface{}{
+ (*PingRsp)(nil), // 0: proto.PingRsp
+}
+var file_PingRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PingRsp_proto_init() }
+func file_PingRsp_proto_init() {
+ if File_PingRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PingRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PingRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PingRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PingRsp_proto_goTypes,
+ DependencyIndexes: file_PingRsp_proto_depIdxs,
+ MessageInfos: file_PingRsp_proto_msgTypes,
+ }.Build()
+ File_PingRsp_proto = out.File
+ file_PingRsp_proto_rawDesc = nil
+ file_PingRsp_proto_goTypes = nil
+ file_PingRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlaceInfo.pb.go b/protocol/proto/PlaceInfo.pb.go
new file mode 100644
index 00000000..f0ad73c6
--- /dev/null
+++ b/protocol/proto/PlaceInfo.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlaceInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlaceInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,2,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *PlaceInfo) Reset() {
+ *x = PlaceInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlaceInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlaceInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlaceInfo) ProtoMessage() {}
+
+func (x *PlaceInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlaceInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlaceInfo.ProtoReflect.Descriptor instead.
+func (*PlaceInfo) Descriptor() ([]byte, []int) {
+ return file_PlaceInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlaceInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *PlaceInfo) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_PlaceInfo_proto protoreflect.FileDescriptor
+
+var file_PlaceInfo_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlaceInfo_proto_rawDescOnce sync.Once
+ file_PlaceInfo_proto_rawDescData = file_PlaceInfo_proto_rawDesc
+)
+
+func file_PlaceInfo_proto_rawDescGZIP() []byte {
+ file_PlaceInfo_proto_rawDescOnce.Do(func() {
+ file_PlaceInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlaceInfo_proto_rawDescData)
+ })
+ return file_PlaceInfo_proto_rawDescData
+}
+
+var file_PlaceInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlaceInfo_proto_goTypes = []interface{}{
+ (*PlaceInfo)(nil), // 0: proto.PlaceInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_PlaceInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlaceInfo.pos:type_name -> proto.Vector
+ 1, // 1: proto.PlaceInfo.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlaceInfo_proto_init() }
+func file_PlaceInfo_proto_init() {
+ if File_PlaceInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlaceInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlaceInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlaceInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlaceInfo_proto_goTypes,
+ DependencyIndexes: file_PlaceInfo_proto_depIdxs,
+ MessageInfos: file_PlaceInfo_proto_msgTypes,
+ }.Build()
+ File_PlaceInfo_proto = out.File
+ file_PlaceInfo_proto_rawDesc = nil
+ file_PlaceInfo_proto_goTypes = nil
+ file_PlaceInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerAcceptAllGiveFlowerReq.pb.go b/protocol/proto/PlantFlowerAcceptAllGiveFlowerReq.pb.go
new file mode 100644
index 00000000..6974d0e1
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptAllGiveFlowerReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerAcceptAllGiveFlowerReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8808
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerAcceptAllGiveFlowerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,11,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerAcceptAllGiveFlowerReq) Reset() {
+ *x = PlantFlowerAcceptAllGiveFlowerReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerAcceptAllGiveFlowerReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerAcceptAllGiveFlowerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerAcceptAllGiveFlowerReq) ProtoMessage() {}
+
+func (x *PlantFlowerAcceptAllGiveFlowerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerAcceptAllGiveFlowerReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerAcceptAllGiveFlowerReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerAcceptAllGiveFlowerReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerAcceptAllGiveFlowerReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerAcceptAllGiveFlowerReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x44, 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41,
+ 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDescData = file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDesc
+)
+
+func file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDescData)
+ })
+ return file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDescData
+}
+
+var file_PlantFlowerAcceptAllGiveFlowerReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerAcceptAllGiveFlowerReq_proto_goTypes = []interface{}{
+ (*PlantFlowerAcceptAllGiveFlowerReq)(nil), // 0: proto.PlantFlowerAcceptAllGiveFlowerReq
+}
+var file_PlantFlowerAcceptAllGiveFlowerReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerAcceptAllGiveFlowerReq_proto_init() }
+func file_PlantFlowerAcceptAllGiveFlowerReq_proto_init() {
+ if File_PlantFlowerAcceptAllGiveFlowerReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerAcceptAllGiveFlowerReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerAcceptAllGiveFlowerReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerAcceptAllGiveFlowerReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerAcceptAllGiveFlowerReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerAcceptAllGiveFlowerReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerAcceptAllGiveFlowerReq_proto = out.File
+ file_PlantFlowerAcceptAllGiveFlowerReq_proto_rawDesc = nil
+ file_PlantFlowerAcceptAllGiveFlowerReq_proto_goTypes = nil
+ file_PlantFlowerAcceptAllGiveFlowerReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerAcceptAllGiveFlowerRsp.pb.go b/protocol/proto/PlantFlowerAcceptAllGiveFlowerRsp.pb.go
new file mode 100644
index 00000000..376e8b4a
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptAllGiveFlowerRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerAcceptAllGiveFlowerRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8888
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerAcceptAllGiveFlowerRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AcceptFlowerResultInfoList []*PlantFlowerAcceptFlowerResultInfo `protobuf:"bytes,13,rep,name=accept_flower_result_info_list,json=acceptFlowerResultInfoList,proto3" json:"accept_flower_result_info_list,omitempty"`
+}
+
+func (x *PlantFlowerAcceptAllGiveFlowerRsp) Reset() {
+ *x = PlantFlowerAcceptAllGiveFlowerRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerAcceptAllGiveFlowerRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerAcceptAllGiveFlowerRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerAcceptAllGiveFlowerRsp) ProtoMessage() {}
+
+func (x *PlantFlowerAcceptAllGiveFlowerRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerAcceptAllGiveFlowerRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerAcceptAllGiveFlowerRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerAcceptAllGiveFlowerRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerAcceptAllGiveFlowerRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerAcceptAllGiveFlowerRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlantFlowerAcceptAllGiveFlowerRsp) GetAcceptFlowerResultInfoList() []*PlantFlowerAcceptFlowerResultInfo {
+ if x != nil {
+ return x.AcceptFlowerResultInfoList
+ }
+ return nil
+}
+
+var File_PlantFlowerAcceptAllGiveFlowerRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x27, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x21, 0x50, 0x6c,
+ 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41,
+ 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x6c, 0x0a, 0x1e, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x1a, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDescData = file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDesc
+)
+
+func file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDescData
+}
+
+var file_PlantFlowerAcceptAllGiveFlowerRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerAcceptAllGiveFlowerRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerAcceptAllGiveFlowerRsp)(nil), // 0: proto.PlantFlowerAcceptAllGiveFlowerRsp
+ (*PlantFlowerAcceptFlowerResultInfo)(nil), // 1: proto.PlantFlowerAcceptFlowerResultInfo
+}
+var file_PlantFlowerAcceptAllGiveFlowerRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerAcceptAllGiveFlowerRsp.accept_flower_result_info_list:type_name -> proto.PlantFlowerAcceptFlowerResultInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerAcceptAllGiveFlowerRsp_proto_init() }
+func file_PlantFlowerAcceptAllGiveFlowerRsp_proto_init() {
+ if File_PlantFlowerAcceptAllGiveFlowerRsp_proto != nil {
+ return
+ }
+ file_PlantFlowerAcceptFlowerResultInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerAcceptAllGiveFlowerRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerAcceptAllGiveFlowerRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerAcceptAllGiveFlowerRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerAcceptAllGiveFlowerRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerAcceptAllGiveFlowerRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerAcceptAllGiveFlowerRsp_proto = out.File
+ file_PlantFlowerAcceptAllGiveFlowerRsp_proto_rawDesc = nil
+ file_PlantFlowerAcceptAllGiveFlowerRsp_proto_goTypes = nil
+ file_PlantFlowerAcceptAllGiveFlowerRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerAcceptFlowerResultInfo.pb.go b/protocol/proto/PlantFlowerAcceptFlowerResultInfo.pb.go
new file mode 100644
index 00000000..2791d017
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptFlowerResultInfo.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerAcceptFlowerResultInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlantFlowerAcceptFlowerResultInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnacceptFlowerNumMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=unaccept_flower_num_map,json=unacceptFlowerNumMap,proto3" json:"unaccept_flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Uid uint32 `protobuf:"varint,7,opt,name=uid,proto3" json:"uid,omitempty"`
+ AcceptFlowerNumMap map[uint32]uint32 `protobuf:"bytes,10,rep,name=accept_flower_num_map,json=acceptFlowerNumMap,proto3" json:"accept_flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *PlantFlowerAcceptFlowerResultInfo) Reset() {
+ *x = PlantFlowerAcceptFlowerResultInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerAcceptFlowerResultInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerAcceptFlowerResultInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerAcceptFlowerResultInfo) ProtoMessage() {}
+
+func (x *PlantFlowerAcceptFlowerResultInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerAcceptFlowerResultInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerAcceptFlowerResultInfo.ProtoReflect.Descriptor instead.
+func (*PlantFlowerAcceptFlowerResultInfo) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerAcceptFlowerResultInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerAcceptFlowerResultInfo) GetUnacceptFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.UnacceptFlowerNumMap
+ }
+ return nil
+}
+
+func (x *PlantFlowerAcceptFlowerResultInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlantFlowerAcceptFlowerResultInfo) GetAcceptFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AcceptFlowerNumMap
+ }
+ return nil
+}
+
+var File_PlantFlowerAcceptFlowerResultInfo_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerAcceptFlowerResultInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xb5, 0x03, 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x79, 0x0a, 0x17, 0x75, 0x6e, 0x61, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70,
+ 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x55, 0x6e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x75, 0x6e, 0x61,
+ 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x73, 0x0a, 0x15, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x66, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x1a, 0x47, 0x0a, 0x19, 0x55, 0x6e, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x1a, 0x45, 0x0a, 0x17, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65,
+ 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerAcceptFlowerResultInfo_proto_rawDescOnce sync.Once
+ file_PlantFlowerAcceptFlowerResultInfo_proto_rawDescData = file_PlantFlowerAcceptFlowerResultInfo_proto_rawDesc
+)
+
+func file_PlantFlowerAcceptFlowerResultInfo_proto_rawDescGZIP() []byte {
+ file_PlantFlowerAcceptFlowerResultInfo_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerAcceptFlowerResultInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerAcceptFlowerResultInfo_proto_rawDescData)
+ })
+ return file_PlantFlowerAcceptFlowerResultInfo_proto_rawDescData
+}
+
+var file_PlantFlowerAcceptFlowerResultInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_PlantFlowerAcceptFlowerResultInfo_proto_goTypes = []interface{}{
+ (*PlantFlowerAcceptFlowerResultInfo)(nil), // 0: proto.PlantFlowerAcceptFlowerResultInfo
+ nil, // 1: proto.PlantFlowerAcceptFlowerResultInfo.UnacceptFlowerNumMapEntry
+ nil, // 2: proto.PlantFlowerAcceptFlowerResultInfo.AcceptFlowerNumMapEntry
+}
+var file_PlantFlowerAcceptFlowerResultInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerAcceptFlowerResultInfo.unaccept_flower_num_map:type_name -> proto.PlantFlowerAcceptFlowerResultInfo.UnacceptFlowerNumMapEntry
+ 2, // 1: proto.PlantFlowerAcceptFlowerResultInfo.accept_flower_num_map:type_name -> proto.PlantFlowerAcceptFlowerResultInfo.AcceptFlowerNumMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerAcceptFlowerResultInfo_proto_init() }
+func file_PlantFlowerAcceptFlowerResultInfo_proto_init() {
+ if File_PlantFlowerAcceptFlowerResultInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerAcceptFlowerResultInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerAcceptFlowerResultInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerAcceptFlowerResultInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerAcceptFlowerResultInfo_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerAcceptFlowerResultInfo_proto_depIdxs,
+ MessageInfos: file_PlantFlowerAcceptFlowerResultInfo_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerAcceptFlowerResultInfo_proto = out.File
+ file_PlantFlowerAcceptFlowerResultInfo_proto_rawDesc = nil
+ file_PlantFlowerAcceptFlowerResultInfo_proto_goTypes = nil
+ file_PlantFlowerAcceptFlowerResultInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerAcceptGiveFlowerReq.pb.go b/protocol/proto/PlantFlowerAcceptGiveFlowerReq.pb.go
new file mode 100644
index 00000000..cf9ae86c
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptGiveFlowerReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerAcceptGiveFlowerReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8383
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerAcceptGiveFlowerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Uid uint32 `protobuf:"varint,12,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *PlantFlowerAcceptGiveFlowerReq) Reset() {
+ *x = PlantFlowerAcceptGiveFlowerReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerAcceptGiveFlowerReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerAcceptGiveFlowerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerAcceptGiveFlowerReq) ProtoMessage() {}
+
+func (x *PlantFlowerAcceptGiveFlowerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerAcceptGiveFlowerReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerAcceptGiveFlowerReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerAcceptGiveFlowerReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerAcceptGiveFlowerReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerAcceptGiveFlowerReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerAcceptGiveFlowerReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_PlantFlowerAcceptGiveFlowerReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerAcceptGiveFlowerReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a,
+ 0x1e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75,
+ 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerAcceptGiveFlowerReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerAcceptGiveFlowerReq_proto_rawDescData = file_PlantFlowerAcceptGiveFlowerReq_proto_rawDesc
+)
+
+func file_PlantFlowerAcceptGiveFlowerReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerAcceptGiveFlowerReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerAcceptGiveFlowerReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerAcceptGiveFlowerReq_proto_rawDescData)
+ })
+ return file_PlantFlowerAcceptGiveFlowerReq_proto_rawDescData
+}
+
+var file_PlantFlowerAcceptGiveFlowerReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerAcceptGiveFlowerReq_proto_goTypes = []interface{}{
+ (*PlantFlowerAcceptGiveFlowerReq)(nil), // 0: proto.PlantFlowerAcceptGiveFlowerReq
+}
+var file_PlantFlowerAcceptGiveFlowerReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerAcceptGiveFlowerReq_proto_init() }
+func file_PlantFlowerAcceptGiveFlowerReq_proto_init() {
+ if File_PlantFlowerAcceptGiveFlowerReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerAcceptGiveFlowerReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerAcceptGiveFlowerReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerAcceptGiveFlowerReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerAcceptGiveFlowerReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerAcceptGiveFlowerReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerAcceptGiveFlowerReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerAcceptGiveFlowerReq_proto = out.File
+ file_PlantFlowerAcceptGiveFlowerReq_proto_rawDesc = nil
+ file_PlantFlowerAcceptGiveFlowerReq_proto_goTypes = nil
+ file_PlantFlowerAcceptGiveFlowerReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerAcceptGiveFlowerRsp.pb.go b/protocol/proto/PlantFlowerAcceptGiveFlowerRsp.pb.go
new file mode 100644
index 00000000..c86da99d
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptGiveFlowerRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerAcceptGiveFlowerRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8567
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerAcceptGiveFlowerRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ AcceptFlowerResultInfo *PlantFlowerAcceptFlowerResultInfo `protobuf:"bytes,15,opt,name=accept_flower_result_info,json=acceptFlowerResultInfo,proto3" json:"accept_flower_result_info,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlantFlowerAcceptGiveFlowerRsp) Reset() {
+ *x = PlantFlowerAcceptGiveFlowerRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerAcceptGiveFlowerRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerAcceptGiveFlowerRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerAcceptGiveFlowerRsp) ProtoMessage() {}
+
+func (x *PlantFlowerAcceptGiveFlowerRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerAcceptGiveFlowerRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerAcceptGiveFlowerRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerAcceptGiveFlowerRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerAcceptGiveFlowerRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerAcceptGiveFlowerRsp) GetAcceptFlowerResultInfo() *PlantFlowerAcceptFlowerResultInfo {
+ if x != nil {
+ return x.AcceptFlowerResultInfo
+ }
+ return nil
+}
+
+func (x *PlantFlowerAcceptGiveFlowerRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlantFlowerAcceptGiveFlowerRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x50,
+ 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x6e, 0x74,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x76, 0x65,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x63, 0x0a, 0x19, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65,
+ 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x16, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x46,
+ 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDescData = file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDesc
+)
+
+func file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDescData
+}
+
+var file_PlantFlowerAcceptGiveFlowerRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerAcceptGiveFlowerRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerAcceptGiveFlowerRsp)(nil), // 0: proto.PlantFlowerAcceptGiveFlowerRsp
+ (*PlantFlowerAcceptFlowerResultInfo)(nil), // 1: proto.PlantFlowerAcceptFlowerResultInfo
+}
+var file_PlantFlowerAcceptGiveFlowerRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerAcceptGiveFlowerRsp.accept_flower_result_info:type_name -> proto.PlantFlowerAcceptFlowerResultInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerAcceptGiveFlowerRsp_proto_init() }
+func file_PlantFlowerAcceptGiveFlowerRsp_proto_init() {
+ if File_PlantFlowerAcceptGiveFlowerRsp_proto != nil {
+ return
+ }
+ file_PlantFlowerAcceptFlowerResultInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerAcceptGiveFlowerRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerAcceptGiveFlowerRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerAcceptGiveFlowerRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerAcceptGiveFlowerRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerAcceptGiveFlowerRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerAcceptGiveFlowerRsp_proto = out.File
+ file_PlantFlowerAcceptGiveFlowerRsp_proto_rawDesc = nil
+ file_PlantFlowerAcceptGiveFlowerRsp_proto_goTypes = nil
+ file_PlantFlowerAcceptGiveFlowerRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerActivityDetailInfo.pb.go b/protocol/proto/PlantFlowerActivityDetailInfo.pb.go
new file mode 100644
index 00000000..d8d0389a
--- /dev/null
+++ b/protocol/proto/PlantFlowerActivityDetailInfo.pb.go
@@ -0,0 +1,235 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlantFlowerActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsContentClosed bool `protobuf:"varint,3,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ WishFlowerNumMap map[uint32]uint32 `protobuf:"bytes,10,rep,name=wish_flower_num_map,json=wishFlowerNumMap,proto3" json:"wish_flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ TodaySeedRewardId uint32 `protobuf:"varint,11,opt,name=today_seed_reward_id,json=todaySeedRewardId,proto3" json:"today_seed_reward_id,omitempty"`
+ DayIndex uint32 `protobuf:"varint,1,opt,name=day_index,json=dayIndex,proto3" json:"day_index,omitempty"`
+ IsTodayHasAwarded bool `protobuf:"varint,13,opt,name=is_today_has_awarded,json=isTodayHasAwarded,proto3" json:"is_today_has_awarded,omitempty"`
+ UsedFlowerNumMap map[uint32]uint32 `protobuf:"bytes,7,rep,name=used_flower_num_map,json=usedFlowerNumMap,proto3" json:"used_flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *PlantFlowerActivityDetailInfo) Reset() {
+ *x = PlantFlowerActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerActivityDetailInfo) ProtoMessage() {}
+
+func (x *PlantFlowerActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*PlantFlowerActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *PlantFlowerActivityDetailInfo) GetWishFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.WishFlowerNumMap
+ }
+ return nil
+}
+
+func (x *PlantFlowerActivityDetailInfo) GetTodaySeedRewardId() uint32 {
+ if x != nil {
+ return x.TodaySeedRewardId
+ }
+ return 0
+}
+
+func (x *PlantFlowerActivityDetailInfo) GetDayIndex() uint32 {
+ if x != nil {
+ return x.DayIndex
+ }
+ return 0
+}
+
+func (x *PlantFlowerActivityDetailInfo) GetIsTodayHasAwarded() bool {
+ if x != nil {
+ return x.IsTodayHasAwarded
+ }
+ return false
+}
+
+func (x *PlantFlowerActivityDetailInfo) GetUsedFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.UsedFlowerNumMap
+ }
+ return nil
+}
+
+var File_PlantFlowerActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x04, 0x0a,
+ 0x1d, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a,
+ 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x69, 0x0a, 0x13, 0x77, 0x69,
+ 0x73, 0x68, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x57, 0x69,
+ 0x73, 0x68, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x10, 0x77, 0x69, 0x73, 0x68, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e,
+ 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x5f, 0x73,
+ 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x65, 0x65, 0x64, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61, 0x79, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x5f,
+ 0x68, 0x61, 0x73, 0x5f, 0x61, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x11, 0x69, 0x73, 0x54, 0x6f, 0x64, 0x61, 0x79, 0x48, 0x61, 0x73, 0x41, 0x77, 0x61,
+ 0x72, 0x64, 0x65, 0x64, 0x12, 0x69, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x3a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46,
+ 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x75,
+ 0x73, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x1a,
+ 0x43, 0x0a, 0x15, 0x57, 0x69, 0x73, 0x68, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_PlantFlowerActivityDetailInfo_proto_rawDescData = file_PlantFlowerActivityDetailInfo_proto_rawDesc
+)
+
+func file_PlantFlowerActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_PlantFlowerActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerActivityDetailInfo_proto_rawDescData)
+ })
+ return file_PlantFlowerActivityDetailInfo_proto_rawDescData
+}
+
+var file_PlantFlowerActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_PlantFlowerActivityDetailInfo_proto_goTypes = []interface{}{
+ (*PlantFlowerActivityDetailInfo)(nil), // 0: proto.PlantFlowerActivityDetailInfo
+ nil, // 1: proto.PlantFlowerActivityDetailInfo.WishFlowerNumMapEntry
+ nil, // 2: proto.PlantFlowerActivityDetailInfo.UsedFlowerNumMapEntry
+}
+var file_PlantFlowerActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerActivityDetailInfo.wish_flower_num_map:type_name -> proto.PlantFlowerActivityDetailInfo.WishFlowerNumMapEntry
+ 2, // 1: proto.PlantFlowerActivityDetailInfo.used_flower_num_map:type_name -> proto.PlantFlowerActivityDetailInfo.UsedFlowerNumMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerActivityDetailInfo_proto_init() }
+func file_PlantFlowerActivityDetailInfo_proto_init() {
+ if File_PlantFlowerActivityDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_PlantFlowerActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerActivityDetailInfo_proto = out.File
+ file_PlantFlowerActivityDetailInfo_proto_rawDesc = nil
+ file_PlantFlowerActivityDetailInfo_proto_goTypes = nil
+ file_PlantFlowerActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerEditFlowerCombinationReq.pb.go b/protocol/proto/PlantFlowerEditFlowerCombinationReq.pb.go
new file mode 100644
index 00000000..ae5aeb90
--- /dev/null
+++ b/protocol/proto/PlantFlowerEditFlowerCombinationReq.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerEditFlowerCombinationReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8843
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerEditFlowerCombinationReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FlowerCombinationInfo *CustomGadgetTreeInfo `protobuf:"bytes,10,opt,name=flower_combination_info,json=flowerCombinationInfo,proto3" json:"flower_combination_info,omitempty"`
+ EntityId uint32 `protobuf:"varint,14,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,9,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerEditFlowerCombinationReq) Reset() {
+ *x = PlantFlowerEditFlowerCombinationReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerEditFlowerCombinationReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerEditFlowerCombinationReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerEditFlowerCombinationReq) ProtoMessage() {}
+
+func (x *PlantFlowerEditFlowerCombinationReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerEditFlowerCombinationReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerEditFlowerCombinationReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerEditFlowerCombinationReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerEditFlowerCombinationReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerEditFlowerCombinationReq) GetFlowerCombinationInfo() *CustomGadgetTreeInfo {
+ if x != nil {
+ return x.FlowerCombinationInfo
+ }
+ return nil
+}
+
+func (x *PlantFlowerEditFlowerCombinationReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *PlantFlowerEditFlowerCombinationReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerEditFlowerCombinationReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerEditFlowerCombinationReq_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x45, 0x64, 0x69,
+ 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8,
+ 0x01, 0x0a, 0x23, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x45, 0x64,
+ 0x69, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x53, 0x0a, 0x17, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x15, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62,
+ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerEditFlowerCombinationReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerEditFlowerCombinationReq_proto_rawDescData = file_PlantFlowerEditFlowerCombinationReq_proto_rawDesc
+)
+
+func file_PlantFlowerEditFlowerCombinationReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerEditFlowerCombinationReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerEditFlowerCombinationReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerEditFlowerCombinationReq_proto_rawDescData)
+ })
+ return file_PlantFlowerEditFlowerCombinationReq_proto_rawDescData
+}
+
+var file_PlantFlowerEditFlowerCombinationReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerEditFlowerCombinationReq_proto_goTypes = []interface{}{
+ (*PlantFlowerEditFlowerCombinationReq)(nil), // 0: proto.PlantFlowerEditFlowerCombinationReq
+ (*CustomGadgetTreeInfo)(nil), // 1: proto.CustomGadgetTreeInfo
+}
+var file_PlantFlowerEditFlowerCombinationReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerEditFlowerCombinationReq.flower_combination_info:type_name -> proto.CustomGadgetTreeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerEditFlowerCombinationReq_proto_init() }
+func file_PlantFlowerEditFlowerCombinationReq_proto_init() {
+ if File_PlantFlowerEditFlowerCombinationReq_proto != nil {
+ return
+ }
+ file_CustomGadgetTreeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerEditFlowerCombinationReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerEditFlowerCombinationReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerEditFlowerCombinationReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerEditFlowerCombinationReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerEditFlowerCombinationReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerEditFlowerCombinationReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerEditFlowerCombinationReq_proto = out.File
+ file_PlantFlowerEditFlowerCombinationReq_proto_rawDesc = nil
+ file_PlantFlowerEditFlowerCombinationReq_proto_goTypes = nil
+ file_PlantFlowerEditFlowerCombinationReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerEditFlowerCombinationRsp.pb.go b/protocol/proto/PlantFlowerEditFlowerCombinationRsp.pb.go
new file mode 100644
index 00000000..8afd7e1e
--- /dev/null
+++ b/protocol/proto/PlantFlowerEditFlowerCombinationRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerEditFlowerCombinationRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8788
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerEditFlowerCombinationRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,13,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlantFlowerEditFlowerCombinationRsp) Reset() {
+ *x = PlantFlowerEditFlowerCombinationRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerEditFlowerCombinationRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerEditFlowerCombinationRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerEditFlowerCombinationRsp) ProtoMessage() {}
+
+func (x *PlantFlowerEditFlowerCombinationRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerEditFlowerCombinationRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerEditFlowerCombinationRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerEditFlowerCombinationRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerEditFlowerCombinationRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerEditFlowerCombinationRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerEditFlowerCombinationRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlantFlowerEditFlowerCombinationRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerEditFlowerCombinationRsp_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x45, 0x64, 0x69,
+ 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x23, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65,
+ 0x72, 0x45, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x69,
+ 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerEditFlowerCombinationRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerEditFlowerCombinationRsp_proto_rawDescData = file_PlantFlowerEditFlowerCombinationRsp_proto_rawDesc
+)
+
+func file_PlantFlowerEditFlowerCombinationRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerEditFlowerCombinationRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerEditFlowerCombinationRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerEditFlowerCombinationRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerEditFlowerCombinationRsp_proto_rawDescData
+}
+
+var file_PlantFlowerEditFlowerCombinationRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerEditFlowerCombinationRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerEditFlowerCombinationRsp)(nil), // 0: proto.PlantFlowerEditFlowerCombinationRsp
+}
+var file_PlantFlowerEditFlowerCombinationRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerEditFlowerCombinationRsp_proto_init() }
+func file_PlantFlowerEditFlowerCombinationRsp_proto_init() {
+ if File_PlantFlowerEditFlowerCombinationRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerEditFlowerCombinationRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerEditFlowerCombinationRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerEditFlowerCombinationRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerEditFlowerCombinationRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerEditFlowerCombinationRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerEditFlowerCombinationRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerEditFlowerCombinationRsp_proto = out.File
+ file_PlantFlowerEditFlowerCombinationRsp_proto_rawDesc = nil
+ file_PlantFlowerEditFlowerCombinationRsp_proto_goTypes = nil
+ file_PlantFlowerEditFlowerCombinationRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerFriendFlowerWishData.pb.go b/protocol/proto/PlantFlowerFriendFlowerWishData.pb.go
new file mode 100644
index 00000000..29caf101
--- /dev/null
+++ b/protocol/proto/PlantFlowerFriendFlowerWishData.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerFriendFlowerWishData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlantFlowerFriendFlowerWishData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProfilePicture *ProfilePicture `protobuf:"bytes,3,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ Uid uint32 `protobuf:"varint,5,opt,name=uid,proto3" json:"uid,omitempty"`
+ Nickname string `protobuf:"bytes,14,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ FlowerNumMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=flower_num_map,json=flowerNumMap,proto3" json:"flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *PlantFlowerFriendFlowerWishData) Reset() {
+ *x = PlantFlowerFriendFlowerWishData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerFriendFlowerWishData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerFriendFlowerWishData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerFriendFlowerWishData) ProtoMessage() {}
+
+func (x *PlantFlowerFriendFlowerWishData) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerFriendFlowerWishData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerFriendFlowerWishData.ProtoReflect.Descriptor instead.
+func (*PlantFlowerFriendFlowerWishData) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerFriendFlowerWishData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerFriendFlowerWishData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *PlantFlowerFriendFlowerWishData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlantFlowerFriendFlowerWishData) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *PlantFlowerFriendFlowerWishData) GetFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.FlowerNumMap
+ }
+ return nil
+}
+
+var File_PlantFlowerFriendFlowerWishData_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerFriendFlowerWishData_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14,
+ 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x02, 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x57, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69,
+ 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69,
+ 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69,
+ 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerFriendFlowerWishData_proto_rawDescOnce sync.Once
+ file_PlantFlowerFriendFlowerWishData_proto_rawDescData = file_PlantFlowerFriendFlowerWishData_proto_rawDesc
+)
+
+func file_PlantFlowerFriendFlowerWishData_proto_rawDescGZIP() []byte {
+ file_PlantFlowerFriendFlowerWishData_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerFriendFlowerWishData_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerFriendFlowerWishData_proto_rawDescData)
+ })
+ return file_PlantFlowerFriendFlowerWishData_proto_rawDescData
+}
+
+var file_PlantFlowerFriendFlowerWishData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_PlantFlowerFriendFlowerWishData_proto_goTypes = []interface{}{
+ (*PlantFlowerFriendFlowerWishData)(nil), // 0: proto.PlantFlowerFriendFlowerWishData
+ nil, // 1: proto.PlantFlowerFriendFlowerWishData.FlowerNumMapEntry
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_PlantFlowerFriendFlowerWishData_proto_depIdxs = []int32{
+ 2, // 0: proto.PlantFlowerFriendFlowerWishData.profile_picture:type_name -> proto.ProfilePicture
+ 1, // 1: proto.PlantFlowerFriendFlowerWishData.flower_num_map:type_name -> proto.PlantFlowerFriendFlowerWishData.FlowerNumMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerFriendFlowerWishData_proto_init() }
+func file_PlantFlowerFriendFlowerWishData_proto_init() {
+ if File_PlantFlowerFriendFlowerWishData_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerFriendFlowerWishData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerFriendFlowerWishData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerFriendFlowerWishData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerFriendFlowerWishData_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerFriendFlowerWishData_proto_depIdxs,
+ MessageInfos: file_PlantFlowerFriendFlowerWishData_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerFriendFlowerWishData_proto = out.File
+ file_PlantFlowerFriendFlowerWishData_proto_rawDesc = nil
+ file_PlantFlowerFriendFlowerWishData_proto_goTypes = nil
+ file_PlantFlowerFriendFlowerWishData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGetCanGiveFriendFlowerReq.pb.go b/protocol/proto/PlantFlowerGetCanGiveFriendFlowerReq.pb.go
new file mode 100644
index 00000000..fcd98e59
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetCanGiveFriendFlowerReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGetCanGiveFriendFlowerReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8716
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerGetCanGiveFriendFlowerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,15,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerReq) Reset() {
+ *x = PlantFlowerGetCanGiveFriendFlowerReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGetCanGiveFriendFlowerReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGetCanGiveFriendFlowerReq) ProtoMessage() {}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGetCanGiveFriendFlowerReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGetCanGiveFriendFlowerReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGetCanGiveFriendFlowerReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerGetCanGiveFriendFlowerReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x43, 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDescData = file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDesc
+)
+
+func file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDescData)
+ })
+ return file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDescData
+}
+
+var file_PlantFlowerGetCanGiveFriendFlowerReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerGetCanGiveFriendFlowerReq_proto_goTypes = []interface{}{
+ (*PlantFlowerGetCanGiveFriendFlowerReq)(nil), // 0: proto.PlantFlowerGetCanGiveFriendFlowerReq
+}
+var file_PlantFlowerGetCanGiveFriendFlowerReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGetCanGiveFriendFlowerReq_proto_init() }
+func file_PlantFlowerGetCanGiveFriendFlowerReq_proto_init() {
+ if File_PlantFlowerGetCanGiveFriendFlowerReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGetCanGiveFriendFlowerReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGetCanGiveFriendFlowerReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGetCanGiveFriendFlowerReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGetCanGiveFriendFlowerReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGetCanGiveFriendFlowerReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGetCanGiveFriendFlowerReq_proto = out.File
+ file_PlantFlowerGetCanGiveFriendFlowerReq_proto_rawDesc = nil
+ file_PlantFlowerGetCanGiveFriendFlowerReq_proto_goTypes = nil
+ file_PlantFlowerGetCanGiveFriendFlowerReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGetCanGiveFriendFlowerRsp.pb.go b/protocol/proto/PlantFlowerGetCanGiveFriendFlowerRsp.pb.go
new file mode 100644
index 00000000..e670d48c
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetCanGiveFriendFlowerRsp.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGetCanGiveFriendFlowerRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8766
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerGetCanGiveFriendFlowerRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FlowerNumMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=flower_num_map,json=flowerNumMap,proto3" json:"flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ScheduleId uint32 `protobuf:"varint,4,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerRsp) Reset() {
+ *x = PlantFlowerGetCanGiveFriendFlowerRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGetCanGiveFriendFlowerRsp) ProtoMessage() {}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGetCanGiveFriendFlowerRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGetCanGiveFriendFlowerRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerRsp) GetFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.FlowerNumMap
+ }
+ return nil
+}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerGetCanGiveFriendFlowerRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlantFlowerGetCanGiveFriendFlowerRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x43, 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x02, 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x0e,
+ 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61,
+ 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x47, 0x69,
+ 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x73,
+ 0x70, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x1a, 0x3f, 0x0a, 0x11,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDescData = file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDesc
+)
+
+func file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDescData
+}
+
+var file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerGetCanGiveFriendFlowerRsp)(nil), // 0: proto.PlantFlowerGetCanGiveFriendFlowerRsp
+ nil, // 1: proto.PlantFlowerGetCanGiveFriendFlowerRsp.FlowerNumMapEntry
+}
+var file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerGetCanGiveFriendFlowerRsp.flower_num_map:type_name -> proto.PlantFlowerGetCanGiveFriendFlowerRsp.FlowerNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_init() }
+func file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_init() {
+ if File_PlantFlowerGetCanGiveFriendFlowerRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGetCanGiveFriendFlowerRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGetCanGiveFriendFlowerRsp_proto = out.File
+ file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_rawDesc = nil
+ file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_goTypes = nil
+ file_PlantFlowerGetCanGiveFriendFlowerRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGetFriendFlowerWishListReq.pb.go b/protocol/proto/PlantFlowerGetFriendFlowerWishListReq.pb.go
new file mode 100644
index 00000000..f3d57217
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetFriendFlowerWishListReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGetFriendFlowerWishListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8126
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerGetFriendFlowerWishListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,7,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerGetFriendFlowerWishListReq) Reset() {
+ *x = PlantFlowerGetFriendFlowerWishListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGetFriendFlowerWishListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGetFriendFlowerWishListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGetFriendFlowerWishListReq) ProtoMessage() {}
+
+func (x *PlantFlowerGetFriendFlowerWishListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGetFriendFlowerWishListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGetFriendFlowerWishListReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGetFriendFlowerWishListReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGetFriendFlowerWishListReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerGetFriendFlowerWishListReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69, 0x73, 0x68,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x25, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDescData = file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDesc
+)
+
+func file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDescData)
+ })
+ return file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDescData
+}
+
+var file_PlantFlowerGetFriendFlowerWishListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerGetFriendFlowerWishListReq_proto_goTypes = []interface{}{
+ (*PlantFlowerGetFriendFlowerWishListReq)(nil), // 0: proto.PlantFlowerGetFriendFlowerWishListReq
+}
+var file_PlantFlowerGetFriendFlowerWishListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGetFriendFlowerWishListReq_proto_init() }
+func file_PlantFlowerGetFriendFlowerWishListReq_proto_init() {
+ if File_PlantFlowerGetFriendFlowerWishListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGetFriendFlowerWishListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGetFriendFlowerWishListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGetFriendFlowerWishListReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGetFriendFlowerWishListReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGetFriendFlowerWishListReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGetFriendFlowerWishListReq_proto = out.File
+ file_PlantFlowerGetFriendFlowerWishListReq_proto_rawDesc = nil
+ file_PlantFlowerGetFriendFlowerWishListReq_proto_goTypes = nil
+ file_PlantFlowerGetFriendFlowerWishListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGetFriendFlowerWishListRsp.pb.go b/protocol/proto/PlantFlowerGetFriendFlowerWishListRsp.pb.go
new file mode 100644
index 00000000..88088294
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetFriendFlowerWishListRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGetFriendFlowerWishListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8511
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerGetFriendFlowerWishListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ FriendFlowerWishList []*PlantFlowerFriendFlowerWishData `protobuf:"bytes,9,rep,name=friend_flower_wish_list,json=friendFlowerWishList,proto3" json:"friend_flower_wish_list,omitempty"`
+}
+
+func (x *PlantFlowerGetFriendFlowerWishListRsp) Reset() {
+ *x = PlantFlowerGetFriendFlowerWishListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGetFriendFlowerWishListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGetFriendFlowerWishListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGetFriendFlowerWishListRsp) ProtoMessage() {}
+
+func (x *PlantFlowerGetFriendFlowerWishListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGetFriendFlowerWishListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGetFriendFlowerWishListRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGetFriendFlowerWishListRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGetFriendFlowerWishListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlantFlowerGetFriendFlowerWishListRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerGetFriendFlowerWishListRsp) GetFriendFlowerWishList() []*PlantFlowerFriendFlowerWishData {
+ if x != nil {
+ return x.FriendFlowerWishList
+ }
+ return nil
+}
+
+var File_PlantFlowerGetFriendFlowerWishListRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69, 0x73, 0x68,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65,
+ 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69, 0x73,
+ 0x68, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x25,
+ 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69,
+ 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x12, 0x5d, 0x0a, 0x17, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x65,
+ 0x72, 0x5f, 0x77, 0x69, 0x73, 0x68, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46,
+ 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65,
+ 0x72, 0x57, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x52, 0x14, 0x66, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDescData = file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDesc
+)
+
+func file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDescData
+}
+
+var file_PlantFlowerGetFriendFlowerWishListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerGetFriendFlowerWishListRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerGetFriendFlowerWishListRsp)(nil), // 0: proto.PlantFlowerGetFriendFlowerWishListRsp
+ (*PlantFlowerFriendFlowerWishData)(nil), // 1: proto.PlantFlowerFriendFlowerWishData
+}
+var file_PlantFlowerGetFriendFlowerWishListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerGetFriendFlowerWishListRsp.friend_flower_wish_list:type_name -> proto.PlantFlowerFriendFlowerWishData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGetFriendFlowerWishListRsp_proto_init() }
+func file_PlantFlowerGetFriendFlowerWishListRsp_proto_init() {
+ if File_PlantFlowerGetFriendFlowerWishListRsp_proto != nil {
+ return
+ }
+ file_PlantFlowerFriendFlowerWishData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGetFriendFlowerWishListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGetFriendFlowerWishListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGetFriendFlowerWishListRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGetFriendFlowerWishListRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGetFriendFlowerWishListRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGetFriendFlowerWishListRsp_proto = out.File
+ file_PlantFlowerGetFriendFlowerWishListRsp_proto_rawDesc = nil
+ file_PlantFlowerGetFriendFlowerWishListRsp_proto_goTypes = nil
+ file_PlantFlowerGetFriendFlowerWishListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGetRecvFlowerListReq.pb.go b/protocol/proto/PlantFlowerGetRecvFlowerListReq.pb.go
new file mode 100644
index 00000000..c8f42fb4
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetRecvFlowerListReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGetRecvFlowerListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8270
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerGetRecvFlowerListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerGetRecvFlowerListReq) Reset() {
+ *x = PlantFlowerGetRecvFlowerListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGetRecvFlowerListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGetRecvFlowerListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGetRecvFlowerListReq) ProtoMessage() {}
+
+func (x *PlantFlowerGetRecvFlowerListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGetRecvFlowerListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGetRecvFlowerListReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGetRecvFlowerListReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGetRecvFlowerListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGetRecvFlowerListReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerGetRecvFlowerListReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGetRecvFlowerListReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x52, 0x65, 0x63, 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42,
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x52, 0x65, 0x63, 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGetRecvFlowerListReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerGetRecvFlowerListReq_proto_rawDescData = file_PlantFlowerGetRecvFlowerListReq_proto_rawDesc
+)
+
+func file_PlantFlowerGetRecvFlowerListReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGetRecvFlowerListReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGetRecvFlowerListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGetRecvFlowerListReq_proto_rawDescData)
+ })
+ return file_PlantFlowerGetRecvFlowerListReq_proto_rawDescData
+}
+
+var file_PlantFlowerGetRecvFlowerListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerGetRecvFlowerListReq_proto_goTypes = []interface{}{
+ (*PlantFlowerGetRecvFlowerListReq)(nil), // 0: proto.PlantFlowerGetRecvFlowerListReq
+}
+var file_PlantFlowerGetRecvFlowerListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGetRecvFlowerListReq_proto_init() }
+func file_PlantFlowerGetRecvFlowerListReq_proto_init() {
+ if File_PlantFlowerGetRecvFlowerListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGetRecvFlowerListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGetRecvFlowerListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGetRecvFlowerListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGetRecvFlowerListReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGetRecvFlowerListReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGetRecvFlowerListReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGetRecvFlowerListReq_proto = out.File
+ file_PlantFlowerGetRecvFlowerListReq_proto_rawDesc = nil
+ file_PlantFlowerGetRecvFlowerListReq_proto_goTypes = nil
+ file_PlantFlowerGetRecvFlowerListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGetRecvFlowerListRsp.pb.go b/protocol/proto/PlantFlowerGetRecvFlowerListRsp.pb.go
new file mode 100644
index 00000000..c8ac7908
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetRecvFlowerListRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGetRecvFlowerListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8374
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerGetRecvFlowerListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,6,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RecvFlowerList []*PlantFlowerRecvFlowerData `protobuf:"bytes,4,rep,name=recv_flower_list,json=recvFlowerList,proto3" json:"recv_flower_list,omitempty"`
+}
+
+func (x *PlantFlowerGetRecvFlowerListRsp) Reset() {
+ *x = PlantFlowerGetRecvFlowerListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGetRecvFlowerListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGetRecvFlowerListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGetRecvFlowerListRsp) ProtoMessage() {}
+
+func (x *PlantFlowerGetRecvFlowerListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGetRecvFlowerListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGetRecvFlowerListRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGetRecvFlowerListRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGetRecvFlowerListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGetRecvFlowerListRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerGetRecvFlowerListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlantFlowerGetRecvFlowerListRsp) GetRecvFlowerList() []*PlantFlowerRecvFlowerData {
+ if x != nil {
+ return x.RecvFlowerList
+ }
+ return nil
+}
+
+var File_PlantFlowerGetRecvFlowerListRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGetRecvFlowerListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x52, 0x65, 0x63, 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
+ 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63, 0x76, 0x46,
+ 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xa8, 0x01, 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4a,
+ 0x0a, 0x10, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63, 0x76,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x76,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGetRecvFlowerListRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerGetRecvFlowerListRsp_proto_rawDescData = file_PlantFlowerGetRecvFlowerListRsp_proto_rawDesc
+)
+
+func file_PlantFlowerGetRecvFlowerListRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGetRecvFlowerListRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGetRecvFlowerListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGetRecvFlowerListRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerGetRecvFlowerListRsp_proto_rawDescData
+}
+
+var file_PlantFlowerGetRecvFlowerListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerGetRecvFlowerListRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerGetRecvFlowerListRsp)(nil), // 0: proto.PlantFlowerGetRecvFlowerListRsp
+ (*PlantFlowerRecvFlowerData)(nil), // 1: proto.PlantFlowerRecvFlowerData
+}
+var file_PlantFlowerGetRecvFlowerListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerGetRecvFlowerListRsp.recv_flower_list:type_name -> proto.PlantFlowerRecvFlowerData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGetRecvFlowerListRsp_proto_init() }
+func file_PlantFlowerGetRecvFlowerListRsp_proto_init() {
+ if File_PlantFlowerGetRecvFlowerListRsp_proto != nil {
+ return
+ }
+ file_PlantFlowerRecvFlowerData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGetRecvFlowerListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGetRecvFlowerListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGetRecvFlowerListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGetRecvFlowerListRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGetRecvFlowerListRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGetRecvFlowerListRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGetRecvFlowerListRsp_proto = out.File
+ file_PlantFlowerGetRecvFlowerListRsp_proto_rawDesc = nil
+ file_PlantFlowerGetRecvFlowerListRsp_proto_goTypes = nil
+ file_PlantFlowerGetRecvFlowerListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGetSeedInfoReq.pb.go b/protocol/proto/PlantFlowerGetSeedInfoReq.pb.go
new file mode 100644
index 00000000..3189d23a
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetSeedInfoReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGetSeedInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8560
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerGetSeedInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,6,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerGetSeedInfoReq) Reset() {
+ *x = PlantFlowerGetSeedInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGetSeedInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGetSeedInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGetSeedInfoReq) ProtoMessage() {}
+
+func (x *PlantFlowerGetSeedInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGetSeedInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGetSeedInfoReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGetSeedInfoReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGetSeedInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGetSeedInfoReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerGetSeedInfoReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGetSeedInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x53, 0x65, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x6e,
+ 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x65, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGetSeedInfoReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerGetSeedInfoReq_proto_rawDescData = file_PlantFlowerGetSeedInfoReq_proto_rawDesc
+)
+
+func file_PlantFlowerGetSeedInfoReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGetSeedInfoReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGetSeedInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGetSeedInfoReq_proto_rawDescData)
+ })
+ return file_PlantFlowerGetSeedInfoReq_proto_rawDescData
+}
+
+var file_PlantFlowerGetSeedInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerGetSeedInfoReq_proto_goTypes = []interface{}{
+ (*PlantFlowerGetSeedInfoReq)(nil), // 0: proto.PlantFlowerGetSeedInfoReq
+}
+var file_PlantFlowerGetSeedInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGetSeedInfoReq_proto_init() }
+func file_PlantFlowerGetSeedInfoReq_proto_init() {
+ if File_PlantFlowerGetSeedInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGetSeedInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGetSeedInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGetSeedInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGetSeedInfoReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGetSeedInfoReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGetSeedInfoReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGetSeedInfoReq_proto = out.File
+ file_PlantFlowerGetSeedInfoReq_proto_rawDesc = nil
+ file_PlantFlowerGetSeedInfoReq_proto_goTypes = nil
+ file_PlantFlowerGetSeedInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGetSeedInfoRsp.pb.go b/protocol/proto/PlantFlowerGetSeedInfoRsp.pb.go
new file mode 100644
index 00000000..4862e05b
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetSeedInfoRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGetSeedInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8764
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerGetSeedInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,12,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ SeedRewardId uint32 `protobuf:"varint,5,opt,name=seed_reward_id,json=seedRewardId,proto3" json:"seed_reward_id,omitempty"`
+}
+
+func (x *PlantFlowerGetSeedInfoRsp) Reset() {
+ *x = PlantFlowerGetSeedInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGetSeedInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGetSeedInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGetSeedInfoRsp) ProtoMessage() {}
+
+func (x *PlantFlowerGetSeedInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGetSeedInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGetSeedInfoRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGetSeedInfoRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGetSeedInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGetSeedInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlantFlowerGetSeedInfoRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerGetSeedInfoRsp) GetSeedRewardId() uint32 {
+ if x != nil {
+ return x.SeedRewardId
+ }
+ return 0
+}
+
+var File_PlantFlowerGetSeedInfoRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGetSeedInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74,
+ 0x53, 0x65, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x6e,
+ 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74, 0x53, 0x65, 0x65, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x65, 0x64, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGetSeedInfoRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerGetSeedInfoRsp_proto_rawDescData = file_PlantFlowerGetSeedInfoRsp_proto_rawDesc
+)
+
+func file_PlantFlowerGetSeedInfoRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGetSeedInfoRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGetSeedInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGetSeedInfoRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerGetSeedInfoRsp_proto_rawDescData
+}
+
+var file_PlantFlowerGetSeedInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerGetSeedInfoRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerGetSeedInfoRsp)(nil), // 0: proto.PlantFlowerGetSeedInfoRsp
+}
+var file_PlantFlowerGetSeedInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGetSeedInfoRsp_proto_init() }
+func file_PlantFlowerGetSeedInfoRsp_proto_init() {
+ if File_PlantFlowerGetSeedInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGetSeedInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGetSeedInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGetSeedInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGetSeedInfoRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGetSeedInfoRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGetSeedInfoRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGetSeedInfoRsp_proto = out.File
+ file_PlantFlowerGetSeedInfoRsp_proto_rawDesc = nil
+ file_PlantFlowerGetSeedInfoRsp_proto_goTypes = nil
+ file_PlantFlowerGetSeedInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGiveFriendFlowerReq.pb.go b/protocol/proto/PlantFlowerGiveFriendFlowerReq.pb.go
new file mode 100644
index 00000000..a6aba3af
--- /dev/null
+++ b/protocol/proto/PlantFlowerGiveFriendFlowerReq.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGiveFriendFlowerReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8846
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerGiveFriendFlowerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,11,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Uid uint32 `protobuf:"varint,13,opt,name=uid,proto3" json:"uid,omitempty"`
+ FlowerNumMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=flower_num_map,json=flowerNumMap,proto3" json:"flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *PlantFlowerGiveFriendFlowerReq) Reset() {
+ *x = PlantFlowerGiveFriendFlowerReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGiveFriendFlowerReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGiveFriendFlowerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGiveFriendFlowerReq) ProtoMessage() {}
+
+func (x *PlantFlowerGiveFriendFlowerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGiveFriendFlowerReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGiveFriendFlowerReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGiveFriendFlowerReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGiveFriendFlowerReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGiveFriendFlowerReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerGiveFriendFlowerReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlantFlowerGiveFriendFlowerReq) GetFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.FlowerNumMap
+ }
+ return nil
+}
+
+var File_PlantFlowerGiveFriendFlowerReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGiveFriendFlowerReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x69, 0x76,
+ 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x01,
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x69, 0x76,
+ 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x71,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49,
+ 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x75, 0x69, 0x64, 0x12, 0x5d, 0x0a, 0x0e, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47,
+ 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52,
+ 0x65, 0x71, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d,
+ 0x61, 0x70, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGiveFriendFlowerReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerGiveFriendFlowerReq_proto_rawDescData = file_PlantFlowerGiveFriendFlowerReq_proto_rawDesc
+)
+
+func file_PlantFlowerGiveFriendFlowerReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGiveFriendFlowerReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGiveFriendFlowerReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGiveFriendFlowerReq_proto_rawDescData)
+ })
+ return file_PlantFlowerGiveFriendFlowerReq_proto_rawDescData
+}
+
+var file_PlantFlowerGiveFriendFlowerReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_PlantFlowerGiveFriendFlowerReq_proto_goTypes = []interface{}{
+ (*PlantFlowerGiveFriendFlowerReq)(nil), // 0: proto.PlantFlowerGiveFriendFlowerReq
+ nil, // 1: proto.PlantFlowerGiveFriendFlowerReq.FlowerNumMapEntry
+}
+var file_PlantFlowerGiveFriendFlowerReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerGiveFriendFlowerReq.flower_num_map:type_name -> proto.PlantFlowerGiveFriendFlowerReq.FlowerNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGiveFriendFlowerReq_proto_init() }
+func file_PlantFlowerGiveFriendFlowerReq_proto_init() {
+ if File_PlantFlowerGiveFriendFlowerReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGiveFriendFlowerReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGiveFriendFlowerReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGiveFriendFlowerReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGiveFriendFlowerReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGiveFriendFlowerReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGiveFriendFlowerReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGiveFriendFlowerReq_proto = out.File
+ file_PlantFlowerGiveFriendFlowerReq_proto_rawDesc = nil
+ file_PlantFlowerGiveFriendFlowerReq_proto_goTypes = nil
+ file_PlantFlowerGiveFriendFlowerReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerGiveFriendFlowerRsp.pb.go b/protocol/proto/PlantFlowerGiveFriendFlowerRsp.pb.go
new file mode 100644
index 00000000..591c5238
--- /dev/null
+++ b/protocol/proto/PlantFlowerGiveFriendFlowerRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerGiveFriendFlowerRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8386
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerGiveFriendFlowerRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LimitFlowerList []uint32 `protobuf:"varint,5,rep,packed,name=limit_flower_list,json=limitFlowerList,proto3" json:"limit_flower_list,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,14,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerGiveFriendFlowerRsp) Reset() {
+ *x = PlantFlowerGiveFriendFlowerRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerGiveFriendFlowerRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerGiveFriendFlowerRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerGiveFriendFlowerRsp) ProtoMessage() {}
+
+func (x *PlantFlowerGiveFriendFlowerRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerGiveFriendFlowerRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerGiveFriendFlowerRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerGiveFriendFlowerRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerGiveFriendFlowerRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerGiveFriendFlowerRsp) GetLimitFlowerList() []uint32 {
+ if x != nil {
+ return x.LimitFlowerList
+ }
+ return nil
+}
+
+func (x *PlantFlowerGiveFriendFlowerRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlantFlowerGiveFriendFlowerRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerGiveFriendFlowerRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerGiveFriendFlowerRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x69, 0x76,
+ 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01,
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x69, 0x76,
+ 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x73, 0x70,
+ 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x69, 0x6d,
+ 0x69, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerGiveFriendFlowerRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerGiveFriendFlowerRsp_proto_rawDescData = file_PlantFlowerGiveFriendFlowerRsp_proto_rawDesc
+)
+
+func file_PlantFlowerGiveFriendFlowerRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerGiveFriendFlowerRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerGiveFriendFlowerRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerGiveFriendFlowerRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerGiveFriendFlowerRsp_proto_rawDescData
+}
+
+var file_PlantFlowerGiveFriendFlowerRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerGiveFriendFlowerRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerGiveFriendFlowerRsp)(nil), // 0: proto.PlantFlowerGiveFriendFlowerRsp
+}
+var file_PlantFlowerGiveFriendFlowerRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerGiveFriendFlowerRsp_proto_init() }
+func file_PlantFlowerGiveFriendFlowerRsp_proto_init() {
+ if File_PlantFlowerGiveFriendFlowerRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerGiveFriendFlowerRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerGiveFriendFlowerRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerGiveFriendFlowerRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerGiveFriendFlowerRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerGiveFriendFlowerRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerGiveFriendFlowerRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerGiveFriendFlowerRsp_proto = out.File
+ file_PlantFlowerGiveFriendFlowerRsp_proto_rawDesc = nil
+ file_PlantFlowerGiveFriendFlowerRsp_proto_goTypes = nil
+ file_PlantFlowerGiveFriendFlowerRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerHaveRecvFlowerNotify.pb.go b/protocol/proto/PlantFlowerHaveRecvFlowerNotify.pb.go
new file mode 100644
index 00000000..9de134dc
--- /dev/null
+++ b/protocol/proto/PlantFlowerHaveRecvFlowerNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerHaveRecvFlowerNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8078
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerHaveRecvFlowerNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,10,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerHaveRecvFlowerNotify) Reset() {
+ *x = PlantFlowerHaveRecvFlowerNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerHaveRecvFlowerNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerHaveRecvFlowerNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerHaveRecvFlowerNotify) ProtoMessage() {}
+
+func (x *PlantFlowerHaveRecvFlowerNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerHaveRecvFlowerNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerHaveRecvFlowerNotify.ProtoReflect.Descriptor instead.
+func (*PlantFlowerHaveRecvFlowerNotify) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerHaveRecvFlowerNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerHaveRecvFlowerNotify) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerHaveRecvFlowerNotify_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerHaveRecvFlowerNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x48, 0x61, 0x76,
+ 0x65, 0x52, 0x65, 0x63, 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42,
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x48, 0x61, 0x76,
+ 0x65, 0x52, 0x65, 0x63, 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerHaveRecvFlowerNotify_proto_rawDescOnce sync.Once
+ file_PlantFlowerHaveRecvFlowerNotify_proto_rawDescData = file_PlantFlowerHaveRecvFlowerNotify_proto_rawDesc
+)
+
+func file_PlantFlowerHaveRecvFlowerNotify_proto_rawDescGZIP() []byte {
+ file_PlantFlowerHaveRecvFlowerNotify_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerHaveRecvFlowerNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerHaveRecvFlowerNotify_proto_rawDescData)
+ })
+ return file_PlantFlowerHaveRecvFlowerNotify_proto_rawDescData
+}
+
+var file_PlantFlowerHaveRecvFlowerNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerHaveRecvFlowerNotify_proto_goTypes = []interface{}{
+ (*PlantFlowerHaveRecvFlowerNotify)(nil), // 0: proto.PlantFlowerHaveRecvFlowerNotify
+}
+var file_PlantFlowerHaveRecvFlowerNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerHaveRecvFlowerNotify_proto_init() }
+func file_PlantFlowerHaveRecvFlowerNotify_proto_init() {
+ if File_PlantFlowerHaveRecvFlowerNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerHaveRecvFlowerNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerHaveRecvFlowerNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerHaveRecvFlowerNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerHaveRecvFlowerNotify_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerHaveRecvFlowerNotify_proto_depIdxs,
+ MessageInfos: file_PlantFlowerHaveRecvFlowerNotify_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerHaveRecvFlowerNotify_proto = out.File
+ file_PlantFlowerHaveRecvFlowerNotify_proto_rawDesc = nil
+ file_PlantFlowerHaveRecvFlowerNotify_proto_goTypes = nil
+ file_PlantFlowerHaveRecvFlowerNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerRecvFlowerData.pb.go b/protocol/proto/PlantFlowerRecvFlowerData.pb.go
new file mode 100644
index 00000000..b50158d2
--- /dev/null
+++ b/protocol/proto/PlantFlowerRecvFlowerData.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerRecvFlowerData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlantFlowerRecvFlowerData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProfilePicture *ProfilePicture `protobuf:"bytes,13,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ Uid uint32 `protobuf:"varint,9,opt,name=uid,proto3" json:"uid,omitempty"`
+ FlowerNumMap map[uint32]uint32 `protobuf:"bytes,14,rep,name=flower_num_map,json=flowerNumMap,proto3" json:"flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *PlantFlowerRecvFlowerData) Reset() {
+ *x = PlantFlowerRecvFlowerData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerRecvFlowerData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerRecvFlowerData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerRecvFlowerData) ProtoMessage() {}
+
+func (x *PlantFlowerRecvFlowerData) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerRecvFlowerData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerRecvFlowerData.ProtoReflect.Descriptor instead.
+func (*PlantFlowerRecvFlowerData) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerRecvFlowerData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerRecvFlowerData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *PlantFlowerRecvFlowerData) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *PlantFlowerRecvFlowerData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlantFlowerRecvFlowerData) GetFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.FlowerNumMap
+ }
+ return nil
+}
+
+var File_PlantFlowerRecvFlowerData_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerRecvFlowerData_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63,
+ 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4,
+ 0x02, 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65,
+ 0x63, 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0f,
+ 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72,
+ 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72,
+ 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08,
+ 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x58, 0x0a, 0x0e, 0x66, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63, 0x76, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75,
+ 0x6d, 0x4d, 0x61, 0x70, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75,
+ 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerRecvFlowerData_proto_rawDescOnce sync.Once
+ file_PlantFlowerRecvFlowerData_proto_rawDescData = file_PlantFlowerRecvFlowerData_proto_rawDesc
+)
+
+func file_PlantFlowerRecvFlowerData_proto_rawDescGZIP() []byte {
+ file_PlantFlowerRecvFlowerData_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerRecvFlowerData_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerRecvFlowerData_proto_rawDescData)
+ })
+ return file_PlantFlowerRecvFlowerData_proto_rawDescData
+}
+
+var file_PlantFlowerRecvFlowerData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_PlantFlowerRecvFlowerData_proto_goTypes = []interface{}{
+ (*PlantFlowerRecvFlowerData)(nil), // 0: proto.PlantFlowerRecvFlowerData
+ nil, // 1: proto.PlantFlowerRecvFlowerData.FlowerNumMapEntry
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_PlantFlowerRecvFlowerData_proto_depIdxs = []int32{
+ 2, // 0: proto.PlantFlowerRecvFlowerData.profile_picture:type_name -> proto.ProfilePicture
+ 1, // 1: proto.PlantFlowerRecvFlowerData.flower_num_map:type_name -> proto.PlantFlowerRecvFlowerData.FlowerNumMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerRecvFlowerData_proto_init() }
+func file_PlantFlowerRecvFlowerData_proto_init() {
+ if File_PlantFlowerRecvFlowerData_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerRecvFlowerData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerRecvFlowerData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerRecvFlowerData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerRecvFlowerData_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerRecvFlowerData_proto_depIdxs,
+ MessageInfos: file_PlantFlowerRecvFlowerData_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerRecvFlowerData_proto = out.File
+ file_PlantFlowerRecvFlowerData_proto_rawDesc = nil
+ file_PlantFlowerRecvFlowerData_proto_goTypes = nil
+ file_PlantFlowerRecvFlowerData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerSetFlowerWishReq.pb.go b/protocol/proto/PlantFlowerSetFlowerWishReq.pb.go
new file mode 100644
index 00000000..537faa60
--- /dev/null
+++ b/protocol/proto/PlantFlowerSetFlowerWishReq.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerSetFlowerWishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8547
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerSetFlowerWishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FlowerNumMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=flower_num_map,json=flowerNumMap,proto3" json:"flower_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ScheduleId uint32 `protobuf:"varint,5,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerSetFlowerWishReq) Reset() {
+ *x = PlantFlowerSetFlowerWishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerSetFlowerWishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerSetFlowerWishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerSetFlowerWishReq) ProtoMessage() {}
+
+func (x *PlantFlowerSetFlowerWishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerSetFlowerWishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerSetFlowerWishReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerSetFlowerWishReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerSetFlowerWishReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerSetFlowerWishReq) GetFlowerNumMap() map[uint32]uint32 {
+ if x != nil {
+ return x.FlowerNumMap
+ }
+ return nil
+}
+
+func (x *PlantFlowerSetFlowerWishReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerSetFlowerWishReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerSetFlowerWishReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x74,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x1b, 0x50,
+ 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x57, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x5a, 0x0a, 0x0e, 0x66, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57,
+ 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x6c, 0x6f, 0x77, 0x65,
+ 0x72, 0x4e, 0x75, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
+ 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerSetFlowerWishReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerSetFlowerWishReq_proto_rawDescData = file_PlantFlowerSetFlowerWishReq_proto_rawDesc
+)
+
+func file_PlantFlowerSetFlowerWishReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerSetFlowerWishReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerSetFlowerWishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerSetFlowerWishReq_proto_rawDescData)
+ })
+ return file_PlantFlowerSetFlowerWishReq_proto_rawDescData
+}
+
+var file_PlantFlowerSetFlowerWishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_PlantFlowerSetFlowerWishReq_proto_goTypes = []interface{}{
+ (*PlantFlowerSetFlowerWishReq)(nil), // 0: proto.PlantFlowerSetFlowerWishReq
+ nil, // 1: proto.PlantFlowerSetFlowerWishReq.FlowerNumMapEntry
+}
+var file_PlantFlowerSetFlowerWishReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlantFlowerSetFlowerWishReq.flower_num_map:type_name -> proto.PlantFlowerSetFlowerWishReq.FlowerNumMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerSetFlowerWishReq_proto_init() }
+func file_PlantFlowerSetFlowerWishReq_proto_init() {
+ if File_PlantFlowerSetFlowerWishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerSetFlowerWishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerSetFlowerWishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerSetFlowerWishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerSetFlowerWishReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerSetFlowerWishReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerSetFlowerWishReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerSetFlowerWishReq_proto = out.File
+ file_PlantFlowerSetFlowerWishReq_proto_rawDesc = nil
+ file_PlantFlowerSetFlowerWishReq_proto_goTypes = nil
+ file_PlantFlowerSetFlowerWishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerSetFlowerWishRsp.pb.go b/protocol/proto/PlantFlowerSetFlowerWishRsp.pb.go
new file mode 100644
index 00000000..383aa913
--- /dev/null
+++ b/protocol/proto/PlantFlowerSetFlowerWishRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerSetFlowerWishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8910
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerSetFlowerWishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,7,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlantFlowerSetFlowerWishRsp) Reset() {
+ *x = PlantFlowerSetFlowerWishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerSetFlowerWishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerSetFlowerWishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerSetFlowerWishRsp) ProtoMessage() {}
+
+func (x *PlantFlowerSetFlowerWishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerSetFlowerWishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerSetFlowerWishRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerSetFlowerWishRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerSetFlowerWishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerSetFlowerWishRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *PlantFlowerSetFlowerWishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlantFlowerSetFlowerWishRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerSetFlowerWishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x74,
+ 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x57, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1b, 0x50, 0x6c,
+ 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x57, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerSetFlowerWishRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerSetFlowerWishRsp_proto_rawDescData = file_PlantFlowerSetFlowerWishRsp_proto_rawDesc
+)
+
+func file_PlantFlowerSetFlowerWishRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerSetFlowerWishRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerSetFlowerWishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerSetFlowerWishRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerSetFlowerWishRsp_proto_rawDescData
+}
+
+var file_PlantFlowerSetFlowerWishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerSetFlowerWishRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerSetFlowerWishRsp)(nil), // 0: proto.PlantFlowerSetFlowerWishRsp
+}
+var file_PlantFlowerSetFlowerWishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerSetFlowerWishRsp_proto_init() }
+func file_PlantFlowerSetFlowerWishRsp_proto_init() {
+ if File_PlantFlowerSetFlowerWishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerSetFlowerWishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerSetFlowerWishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerSetFlowerWishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerSetFlowerWishRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerSetFlowerWishRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerSetFlowerWishRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerSetFlowerWishRsp_proto = out.File
+ file_PlantFlowerSetFlowerWishRsp_proto_rawDesc = nil
+ file_PlantFlowerSetFlowerWishRsp_proto_goTypes = nil
+ file_PlantFlowerSetFlowerWishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerTakeSeedRewardReq.pb.go b/protocol/proto/PlantFlowerTakeSeedRewardReq.pb.go
new file mode 100644
index 00000000..42c6edd4
--- /dev/null
+++ b/protocol/proto/PlantFlowerTakeSeedRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerTakeSeedRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8968
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlantFlowerTakeSeedRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,12,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerTakeSeedRewardReq) Reset() {
+ *x = PlantFlowerTakeSeedRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerTakeSeedRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerTakeSeedRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerTakeSeedRewardReq) ProtoMessage() {}
+
+func (x *PlantFlowerTakeSeedRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerTakeSeedRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerTakeSeedRewardReq.ProtoReflect.Descriptor instead.
+func (*PlantFlowerTakeSeedRewardReq) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerTakeSeedRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerTakeSeedRewardReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerTakeSeedRewardReq_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerTakeSeedRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x61, 0x6b,
+ 0x65, 0x53, 0x65, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x1c, 0x50,
+ 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x65,
+ 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerTakeSeedRewardReq_proto_rawDescOnce sync.Once
+ file_PlantFlowerTakeSeedRewardReq_proto_rawDescData = file_PlantFlowerTakeSeedRewardReq_proto_rawDesc
+)
+
+func file_PlantFlowerTakeSeedRewardReq_proto_rawDescGZIP() []byte {
+ file_PlantFlowerTakeSeedRewardReq_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerTakeSeedRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerTakeSeedRewardReq_proto_rawDescData)
+ })
+ return file_PlantFlowerTakeSeedRewardReq_proto_rawDescData
+}
+
+var file_PlantFlowerTakeSeedRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerTakeSeedRewardReq_proto_goTypes = []interface{}{
+ (*PlantFlowerTakeSeedRewardReq)(nil), // 0: proto.PlantFlowerTakeSeedRewardReq
+}
+var file_PlantFlowerTakeSeedRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerTakeSeedRewardReq_proto_init() }
+func file_PlantFlowerTakeSeedRewardReq_proto_init() {
+ if File_PlantFlowerTakeSeedRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerTakeSeedRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerTakeSeedRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerTakeSeedRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerTakeSeedRewardReq_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerTakeSeedRewardReq_proto_depIdxs,
+ MessageInfos: file_PlantFlowerTakeSeedRewardReq_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerTakeSeedRewardReq_proto = out.File
+ file_PlantFlowerTakeSeedRewardReq_proto_rawDesc = nil
+ file_PlantFlowerTakeSeedRewardReq_proto_goTypes = nil
+ file_PlantFlowerTakeSeedRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlantFlowerTakeSeedRewardRsp.pb.go b/protocol/proto/PlantFlowerTakeSeedRewardRsp.pb.go
new file mode 100644
index 00000000..b14502b1
--- /dev/null
+++ b/protocol/proto/PlantFlowerTakeSeedRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlantFlowerTakeSeedRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8860
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlantFlowerTakeSeedRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,13,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlantFlowerTakeSeedRewardRsp) Reset() {
+ *x = PlantFlowerTakeSeedRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlantFlowerTakeSeedRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlantFlowerTakeSeedRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlantFlowerTakeSeedRewardRsp) ProtoMessage() {}
+
+func (x *PlantFlowerTakeSeedRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlantFlowerTakeSeedRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlantFlowerTakeSeedRewardRsp.ProtoReflect.Descriptor instead.
+func (*PlantFlowerTakeSeedRewardRsp) Descriptor() ([]byte, []int) {
+ return file_PlantFlowerTakeSeedRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlantFlowerTakeSeedRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlantFlowerTakeSeedRewardRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlantFlowerTakeSeedRewardRsp_proto protoreflect.FileDescriptor
+
+var file_PlantFlowerTakeSeedRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x61, 0x6b,
+ 0x65, 0x53, 0x65, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1c, 0x50,
+ 0x6c, 0x61, 0x6e, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x65,
+ 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlantFlowerTakeSeedRewardRsp_proto_rawDescOnce sync.Once
+ file_PlantFlowerTakeSeedRewardRsp_proto_rawDescData = file_PlantFlowerTakeSeedRewardRsp_proto_rawDesc
+)
+
+func file_PlantFlowerTakeSeedRewardRsp_proto_rawDescGZIP() []byte {
+ file_PlantFlowerTakeSeedRewardRsp_proto_rawDescOnce.Do(func() {
+ file_PlantFlowerTakeSeedRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlantFlowerTakeSeedRewardRsp_proto_rawDescData)
+ })
+ return file_PlantFlowerTakeSeedRewardRsp_proto_rawDescData
+}
+
+var file_PlantFlowerTakeSeedRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlantFlowerTakeSeedRewardRsp_proto_goTypes = []interface{}{
+ (*PlantFlowerTakeSeedRewardRsp)(nil), // 0: proto.PlantFlowerTakeSeedRewardRsp
+}
+var file_PlantFlowerTakeSeedRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlantFlowerTakeSeedRewardRsp_proto_init() }
+func file_PlantFlowerTakeSeedRewardRsp_proto_init() {
+ if File_PlantFlowerTakeSeedRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlantFlowerTakeSeedRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlantFlowerTakeSeedRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlantFlowerTakeSeedRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlantFlowerTakeSeedRewardRsp_proto_goTypes,
+ DependencyIndexes: file_PlantFlowerTakeSeedRewardRsp_proto_depIdxs,
+ MessageInfos: file_PlantFlowerTakeSeedRewardRsp_proto_msgTypes,
+ }.Build()
+ File_PlantFlowerTakeSeedRewardRsp_proto = out.File
+ file_PlantFlowerTakeSeedRewardRsp_proto_rawDesc = nil
+ file_PlantFlowerTakeSeedRewardRsp_proto_goTypes = nil
+ file_PlantFlowerTakeSeedRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlatformChangeRouteNotify.pb.go b/protocol/proto/PlatformChangeRouteNotify.pb.go
new file mode 100644
index 00000000..835187b3
--- /dev/null
+++ b/protocol/proto/PlatformChangeRouteNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlatformChangeRouteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 268
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlatformChangeRouteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Platform *PlatformInfo `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"`
+ SceneTime uint32 `protobuf:"varint,8,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+}
+
+func (x *PlatformChangeRouteNotify) Reset() {
+ *x = PlatformChangeRouteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlatformChangeRouteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlatformChangeRouteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlatformChangeRouteNotify) ProtoMessage() {}
+
+func (x *PlatformChangeRouteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlatformChangeRouteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlatformChangeRouteNotify.ProtoReflect.Descriptor instead.
+func (*PlatformChangeRouteNotify) Descriptor() ([]byte, []int) {
+ return file_PlatformChangeRouteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlatformChangeRouteNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *PlatformChangeRouteNotify) GetPlatform() *PlatformInfo {
+ if x != nil {
+ return x.Platform
+ }
+ return nil
+}
+
+func (x *PlatformChangeRouteNotify) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+var File_PlatformChangeRouteNotify_proto protoreflect.FileDescriptor
+
+var file_PlatformChangeRouteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
+ 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01, 0x0a,
+ 0x19, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52,
+ 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08,
+ 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlatformChangeRouteNotify_proto_rawDescOnce sync.Once
+ file_PlatformChangeRouteNotify_proto_rawDescData = file_PlatformChangeRouteNotify_proto_rawDesc
+)
+
+func file_PlatformChangeRouteNotify_proto_rawDescGZIP() []byte {
+ file_PlatformChangeRouteNotify_proto_rawDescOnce.Do(func() {
+ file_PlatformChangeRouteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlatformChangeRouteNotify_proto_rawDescData)
+ })
+ return file_PlatformChangeRouteNotify_proto_rawDescData
+}
+
+var file_PlatformChangeRouteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlatformChangeRouteNotify_proto_goTypes = []interface{}{
+ (*PlatformChangeRouteNotify)(nil), // 0: proto.PlatformChangeRouteNotify
+ (*PlatformInfo)(nil), // 1: proto.PlatformInfo
+}
+var file_PlatformChangeRouteNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlatformChangeRouteNotify.platform:type_name -> proto.PlatformInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlatformChangeRouteNotify_proto_init() }
+func file_PlatformChangeRouteNotify_proto_init() {
+ if File_PlatformChangeRouteNotify_proto != nil {
+ return
+ }
+ file_PlatformInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlatformChangeRouteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlatformChangeRouteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlatformChangeRouteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlatformChangeRouteNotify_proto_goTypes,
+ DependencyIndexes: file_PlatformChangeRouteNotify_proto_depIdxs,
+ MessageInfos: file_PlatformChangeRouteNotify_proto_msgTypes,
+ }.Build()
+ File_PlatformChangeRouteNotify_proto = out.File
+ file_PlatformChangeRouteNotify_proto_rawDesc = nil
+ file_PlatformChangeRouteNotify_proto_goTypes = nil
+ file_PlatformChangeRouteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlatformInfo.pb.go b/protocol/proto/PlatformInfo.pb.go
new file mode 100644
index 00000000..e8308e34
--- /dev/null
+++ b/protocol/proto/PlatformInfo.pb.go
@@ -0,0 +1,315 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlatformInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlatformInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RouteId uint32 `protobuf:"varint,1,opt,name=route_id,json=routeId,proto3" json:"route_id,omitempty"`
+ StartIndex int32 `protobuf:"varint,2,opt,name=start_index,json=startIndex,proto3" json:"start_index,omitempty"`
+ StartRouteTime uint32 `protobuf:"varint,3,opt,name=start_route_time,json=startRouteTime,proto3" json:"start_route_time,omitempty"`
+ StartSceneTime uint32 `protobuf:"varint,4,opt,name=start_scene_time,json=startSceneTime,proto3" json:"start_scene_time,omitempty"`
+ StartPos *Vector `protobuf:"bytes,7,opt,name=start_pos,json=startPos,proto3" json:"start_pos,omitempty"`
+ IsStarted bool `protobuf:"varint,8,opt,name=is_started,json=isStarted,proto3" json:"is_started,omitempty"`
+ StartRot *MathQuaternion `protobuf:"bytes,9,opt,name=start_rot,json=startRot,proto3" json:"start_rot,omitempty"`
+ StopSceneTime uint32 `protobuf:"varint,10,opt,name=stop_scene_time,json=stopSceneTime,proto3" json:"stop_scene_time,omitempty"`
+ PosOffset *Vector `protobuf:"bytes,11,opt,name=pos_offset,json=posOffset,proto3" json:"pos_offset,omitempty"`
+ RotOffset *MathQuaternion `protobuf:"bytes,12,opt,name=rot_offset,json=rotOffset,proto3" json:"rot_offset,omitempty"`
+ MovingPlatformType MovingPlatformType `protobuf:"varint,13,opt,name=moving_platform_type,json=movingPlatformType,proto3,enum=proto.MovingPlatformType" json:"moving_platform_type,omitempty"`
+ IsActive bool `protobuf:"varint,14,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
+ Route *Route `protobuf:"bytes,15,opt,name=route,proto3" json:"route,omitempty"`
+ PointId uint32 `protobuf:"varint,16,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *PlatformInfo) Reset() {
+ *x = PlatformInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlatformInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlatformInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlatformInfo) ProtoMessage() {}
+
+func (x *PlatformInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlatformInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlatformInfo.ProtoReflect.Descriptor instead.
+func (*PlatformInfo) Descriptor() ([]byte, []int) {
+ return file_PlatformInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlatformInfo) GetRouteId() uint32 {
+ if x != nil {
+ return x.RouteId
+ }
+ return 0
+}
+
+func (x *PlatformInfo) GetStartIndex() int32 {
+ if x != nil {
+ return x.StartIndex
+ }
+ return 0
+}
+
+func (x *PlatformInfo) GetStartRouteTime() uint32 {
+ if x != nil {
+ return x.StartRouteTime
+ }
+ return 0
+}
+
+func (x *PlatformInfo) GetStartSceneTime() uint32 {
+ if x != nil {
+ return x.StartSceneTime
+ }
+ return 0
+}
+
+func (x *PlatformInfo) GetStartPos() *Vector {
+ if x != nil {
+ return x.StartPos
+ }
+ return nil
+}
+
+func (x *PlatformInfo) GetIsStarted() bool {
+ if x != nil {
+ return x.IsStarted
+ }
+ return false
+}
+
+func (x *PlatformInfo) GetStartRot() *MathQuaternion {
+ if x != nil {
+ return x.StartRot
+ }
+ return nil
+}
+
+func (x *PlatformInfo) GetStopSceneTime() uint32 {
+ if x != nil {
+ return x.StopSceneTime
+ }
+ return 0
+}
+
+func (x *PlatformInfo) GetPosOffset() *Vector {
+ if x != nil {
+ return x.PosOffset
+ }
+ return nil
+}
+
+func (x *PlatformInfo) GetRotOffset() *MathQuaternion {
+ if x != nil {
+ return x.RotOffset
+ }
+ return nil
+}
+
+func (x *PlatformInfo) GetMovingPlatformType() MovingPlatformType {
+ if x != nil {
+ return x.MovingPlatformType
+ }
+ return MovingPlatformType_MOVING_PLATFORM_TYPE_NONE
+}
+
+func (x *PlatformInfo) GetIsActive() bool {
+ if x != nil {
+ return x.IsActive
+ }
+ return false
+}
+
+func (x *PlatformInfo) GetRoute() *Route {
+ if x != nil {
+ return x.Route
+ }
+ return nil
+}
+
+func (x *PlatformInfo) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_PlatformInfo_proto protoreflect.FileDescriptor
+
+var file_PlatformInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4d, 0x61, 0x74,
+ 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x18, 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
+ 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x04, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x6f, 0x75,
+ 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a,
+ 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x50, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65,
+ 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x65, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61,
+ 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x52, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c,
+ 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x34, 0x0a, 0x0a,
+ 0x72, 0x6f, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x68, 0x51, 0x75, 0x61,
+ 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x72, 0x6f, 0x74, 0x4f, 0x66, 0x66, 0x73,
+ 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6c, 0x61,
+ 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x50,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x6d, 0x6f, 0x76,
+ 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x22, 0x0a, 0x05,
+ 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlatformInfo_proto_rawDescOnce sync.Once
+ file_PlatformInfo_proto_rawDescData = file_PlatformInfo_proto_rawDesc
+)
+
+func file_PlatformInfo_proto_rawDescGZIP() []byte {
+ file_PlatformInfo_proto_rawDescOnce.Do(func() {
+ file_PlatformInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlatformInfo_proto_rawDescData)
+ })
+ return file_PlatformInfo_proto_rawDescData
+}
+
+var file_PlatformInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlatformInfo_proto_goTypes = []interface{}{
+ (*PlatformInfo)(nil), // 0: proto.PlatformInfo
+ (*Vector)(nil), // 1: proto.Vector
+ (*MathQuaternion)(nil), // 2: proto.MathQuaternion
+ (MovingPlatformType)(0), // 3: proto.MovingPlatformType
+ (*Route)(nil), // 4: proto.Route
+}
+var file_PlatformInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlatformInfo.start_pos:type_name -> proto.Vector
+ 2, // 1: proto.PlatformInfo.start_rot:type_name -> proto.MathQuaternion
+ 1, // 2: proto.PlatformInfo.pos_offset:type_name -> proto.Vector
+ 2, // 3: proto.PlatformInfo.rot_offset:type_name -> proto.MathQuaternion
+ 3, // 4: proto.PlatformInfo.moving_platform_type:type_name -> proto.MovingPlatformType
+ 4, // 5: proto.PlatformInfo.route:type_name -> proto.Route
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_PlatformInfo_proto_init() }
+func file_PlatformInfo_proto_init() {
+ if File_PlatformInfo_proto != nil {
+ return
+ }
+ file_MathQuaternion_proto_init()
+ file_MovingPlatformType_proto_init()
+ file_Route_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlatformInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlatformInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlatformInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlatformInfo_proto_goTypes,
+ DependencyIndexes: file_PlatformInfo_proto_depIdxs,
+ MessageInfos: file_PlatformInfo_proto_msgTypes,
+ }.Build()
+ File_PlatformInfo_proto = out.File
+ file_PlatformInfo_proto_rawDesc = nil
+ file_PlatformInfo_proto_goTypes = nil
+ file_PlatformInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlatformStartRouteNotify.pb.go b/protocol/proto/PlatformStartRouteNotify.pb.go
new file mode 100644
index 00000000..178e6230
--- /dev/null
+++ b/protocol/proto/PlatformStartRouteNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlatformStartRouteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 218
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlatformStartRouteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Platform *PlatformInfo `protobuf:"bytes,15,opt,name=platform,proto3" json:"platform,omitempty"`
+ SceneTime uint32 `protobuf:"varint,12,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *PlatformStartRouteNotify) Reset() {
+ *x = PlatformStartRouteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlatformStartRouteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlatformStartRouteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlatformStartRouteNotify) ProtoMessage() {}
+
+func (x *PlatformStartRouteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlatformStartRouteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlatformStartRouteNotify.ProtoReflect.Descriptor instead.
+func (*PlatformStartRouteNotify) Descriptor() ([]byte, []int) {
+ return file_PlatformStartRouteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlatformStartRouteNotify) GetPlatform() *PlatformInfo {
+ if x != nil {
+ return x.Platform
+ }
+ return nil
+}
+
+func (x *PlatformStartRouteNotify) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *PlatformStartRouteNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_PlatformStartRouteNotify_proto protoreflect.FileDescriptor
+
+var file_PlatformStartRouteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52,
+ 0x6f, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
+ 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x18,
+ 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74,
+ 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlatformStartRouteNotify_proto_rawDescOnce sync.Once
+ file_PlatformStartRouteNotify_proto_rawDescData = file_PlatformStartRouteNotify_proto_rawDesc
+)
+
+func file_PlatformStartRouteNotify_proto_rawDescGZIP() []byte {
+ file_PlatformStartRouteNotify_proto_rawDescOnce.Do(func() {
+ file_PlatformStartRouteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlatformStartRouteNotify_proto_rawDescData)
+ })
+ return file_PlatformStartRouteNotify_proto_rawDescData
+}
+
+var file_PlatformStartRouteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlatformStartRouteNotify_proto_goTypes = []interface{}{
+ (*PlatformStartRouteNotify)(nil), // 0: proto.PlatformStartRouteNotify
+ (*PlatformInfo)(nil), // 1: proto.PlatformInfo
+}
+var file_PlatformStartRouteNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlatformStartRouteNotify.platform:type_name -> proto.PlatformInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlatformStartRouteNotify_proto_init() }
+func file_PlatformStartRouteNotify_proto_init() {
+ if File_PlatformStartRouteNotify_proto != nil {
+ return
+ }
+ file_PlatformInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlatformStartRouteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlatformStartRouteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlatformStartRouteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlatformStartRouteNotify_proto_goTypes,
+ DependencyIndexes: file_PlatformStartRouteNotify_proto_depIdxs,
+ MessageInfos: file_PlatformStartRouteNotify_proto_msgTypes,
+ }.Build()
+ File_PlatformStartRouteNotify_proto = out.File
+ file_PlatformStartRouteNotify_proto_rawDesc = nil
+ file_PlatformStartRouteNotify_proto_goTypes = nil
+ file_PlatformStartRouteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlatformStopRouteNotify.pb.go b/protocol/proto/PlatformStopRouteNotify.pb.go
new file mode 100644
index 00000000..25089414
--- /dev/null
+++ b/protocol/proto/PlatformStopRouteNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlatformStopRouteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 266
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlatformStopRouteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneTime uint32 `protobuf:"varint,9,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ EntityId uint32 `protobuf:"varint,12,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Platform *PlatformInfo `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform,omitempty"`
+}
+
+func (x *PlatformStopRouteNotify) Reset() {
+ *x = PlatformStopRouteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlatformStopRouteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlatformStopRouteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlatformStopRouteNotify) ProtoMessage() {}
+
+func (x *PlatformStopRouteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlatformStopRouteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlatformStopRouteNotify.ProtoReflect.Descriptor instead.
+func (*PlatformStopRouteNotify) Descriptor() ([]byte, []int) {
+ return file_PlatformStopRouteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlatformStopRouteNotify) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *PlatformStopRouteNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *PlatformStopRouteNotify) GetPlatform() *PlatformInfo {
+ if x != nil {
+ return x.Platform
+ }
+ return nil
+}
+
+var File_PlatformStopRouteNotify_proto protoreflect.FileDescriptor
+
+var file_PlatformStopRouteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x6f,
+ 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x50,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61,
+ 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlatformStopRouteNotify_proto_rawDescOnce sync.Once
+ file_PlatformStopRouteNotify_proto_rawDescData = file_PlatformStopRouteNotify_proto_rawDesc
+)
+
+func file_PlatformStopRouteNotify_proto_rawDescGZIP() []byte {
+ file_PlatformStopRouteNotify_proto_rawDescOnce.Do(func() {
+ file_PlatformStopRouteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlatformStopRouteNotify_proto_rawDescData)
+ })
+ return file_PlatformStopRouteNotify_proto_rawDescData
+}
+
+var file_PlatformStopRouteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlatformStopRouteNotify_proto_goTypes = []interface{}{
+ (*PlatformStopRouteNotify)(nil), // 0: proto.PlatformStopRouteNotify
+ (*PlatformInfo)(nil), // 1: proto.PlatformInfo
+}
+var file_PlatformStopRouteNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlatformStopRouteNotify.platform:type_name -> proto.PlatformInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlatformStopRouteNotify_proto_init() }
+func file_PlatformStopRouteNotify_proto_init() {
+ if File_PlatformStopRouteNotify_proto != nil {
+ return
+ }
+ file_PlatformInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlatformStopRouteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlatformStopRouteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlatformStopRouteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlatformStopRouteNotify_proto_goTypes,
+ DependencyIndexes: file_PlatformStopRouteNotify_proto_depIdxs,
+ MessageInfos: file_PlatformStopRouteNotify_proto_msgTypes,
+ }.Build()
+ File_PlatformStopRouteNotify_proto = out.File
+ file_PlatformStopRouteNotify_proto_rawDesc = nil
+ file_PlatformStopRouteNotify_proto_goTypes = nil
+ file_PlatformStopRouteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlatformType.pb.go b/protocol/proto/PlatformType.pb.go
new file mode 100644
index 00000000..5823f9b7
--- /dev/null
+++ b/protocol/proto/PlatformType.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlatformType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlatformType int32
+
+const (
+ PlatformType_PLATFORM_TYPE_EDITOR PlatformType = 0
+ PlatformType_PLATFORM_TYPE_IOS PlatformType = 1
+ PlatformType_PLATFORM_TYPE_ANDROID PlatformType = 2
+ PlatformType_PLATFORM_TYPE_PC PlatformType = 3
+ PlatformType_PLATFORM_TYPE_PS4 PlatformType = 4
+ PlatformType_PLATFORM_TYPE_SERVER PlatformType = 5
+ PlatformType_PLATFORM_TYPE_CLOUD_ANDROID PlatformType = 6
+ PlatformType_PLATFORM_TYPE_CLOUD_IOS PlatformType = 7
+ PlatformType_PLATFORM_TYPE_PS5 PlatformType = 8
+ PlatformType_PLATFORM_TYPE_CLOUD_WEB PlatformType = 9
+ PlatformType_PLATFORM_TYPE_CLOUD_TV PlatformType = 10
+ PlatformType_PLATFORM_TYPE_CLOUD_MAC PlatformType = 11
+ PlatformType_PLATFORM_TYPE_CLOUD_PC PlatformType = 12
+ PlatformType_PLATFORM_TYPE_CLOUD_THIRD_PARTY_MOBILE PlatformType = 13
+ PlatformType_PLATFORM_TYPE_CLOUD_THIRD_PARTY_PC PlatformType = 14
+)
+
+// Enum value maps for PlatformType.
+var (
+ PlatformType_name = map[int32]string{
+ 0: "PLATFORM_TYPE_EDITOR",
+ 1: "PLATFORM_TYPE_IOS",
+ 2: "PLATFORM_TYPE_ANDROID",
+ 3: "PLATFORM_TYPE_PC",
+ 4: "PLATFORM_TYPE_PS4",
+ 5: "PLATFORM_TYPE_SERVER",
+ 6: "PLATFORM_TYPE_CLOUD_ANDROID",
+ 7: "PLATFORM_TYPE_CLOUD_IOS",
+ 8: "PLATFORM_TYPE_PS5",
+ 9: "PLATFORM_TYPE_CLOUD_WEB",
+ 10: "PLATFORM_TYPE_CLOUD_TV",
+ 11: "PLATFORM_TYPE_CLOUD_MAC",
+ 12: "PLATFORM_TYPE_CLOUD_PC",
+ 13: "PLATFORM_TYPE_CLOUD_THIRD_PARTY_MOBILE",
+ 14: "PLATFORM_TYPE_CLOUD_THIRD_PARTY_PC",
+ }
+ PlatformType_value = map[string]int32{
+ "PLATFORM_TYPE_EDITOR": 0,
+ "PLATFORM_TYPE_IOS": 1,
+ "PLATFORM_TYPE_ANDROID": 2,
+ "PLATFORM_TYPE_PC": 3,
+ "PLATFORM_TYPE_PS4": 4,
+ "PLATFORM_TYPE_SERVER": 5,
+ "PLATFORM_TYPE_CLOUD_ANDROID": 6,
+ "PLATFORM_TYPE_CLOUD_IOS": 7,
+ "PLATFORM_TYPE_PS5": 8,
+ "PLATFORM_TYPE_CLOUD_WEB": 9,
+ "PLATFORM_TYPE_CLOUD_TV": 10,
+ "PLATFORM_TYPE_CLOUD_MAC": 11,
+ "PLATFORM_TYPE_CLOUD_PC": 12,
+ "PLATFORM_TYPE_CLOUD_THIRD_PARTY_MOBILE": 13,
+ "PLATFORM_TYPE_CLOUD_THIRD_PARTY_PC": 14,
+ }
+)
+
+func (x PlatformType) Enum() *PlatformType {
+ p := new(PlatformType)
+ *p = x
+ return p
+}
+
+func (x PlatformType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlatformType) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlatformType_proto_enumTypes[0].Descriptor()
+}
+
+func (PlatformType) Type() protoreflect.EnumType {
+ return &file_PlatformType_proto_enumTypes[0]
+}
+
+func (x PlatformType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlatformType.Descriptor instead.
+func (PlatformType) EnumDescriptor() ([]byte, []int) {
+ return file_PlatformType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PlatformType_proto protoreflect.FileDescriptor
+
+var file_PlatformType_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xbc, 0x03, 0x0a, 0x0c,
+ 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14,
+ 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x44,
+ 0x49, 0x54, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f,
+ 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x01, 0x12, 0x19, 0x0a,
+ 0x15, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41,
+ 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x4c, 0x41, 0x54,
+ 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x43, 0x10, 0x03, 0x12, 0x15,
+ 0x0a, 0x11, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x50, 0x53, 0x34, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52,
+ 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x05, 0x12,
+ 0x1f, 0x0a, 0x1b, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x06,
+ 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x49, 0x4f, 0x53, 0x10, 0x07, 0x12, 0x15, 0x0a,
+ 0x11, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50,
+ 0x53, 0x35, 0x10, 0x08, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x57, 0x45, 0x42, 0x10,
+ 0x09, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x54, 0x56, 0x10, 0x0a, 0x12, 0x1b, 0x0a,
+ 0x17, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43,
+ 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x4d, 0x41, 0x43, 0x10, 0x0b, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x4c,
+ 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55,
+ 0x44, 0x5f, 0x50, 0x43, 0x10, 0x0c, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f,
+ 0x52, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x54, 0x48,
+ 0x49, 0x52, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45,
+ 0x10, 0x0d, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x54, 0x48, 0x49, 0x52, 0x44, 0x5f,
+ 0x50, 0x41, 0x52, 0x54, 0x59, 0x5f, 0x50, 0x43, 0x10, 0x0e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlatformType_proto_rawDescOnce sync.Once
+ file_PlatformType_proto_rawDescData = file_PlatformType_proto_rawDesc
+)
+
+func file_PlatformType_proto_rawDescGZIP() []byte {
+ file_PlatformType_proto_rawDescOnce.Do(func() {
+ file_PlatformType_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlatformType_proto_rawDescData)
+ })
+ return file_PlatformType_proto_rawDescData
+}
+
+var file_PlatformType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlatformType_proto_goTypes = []interface{}{
+ (PlatformType)(0), // 0: proto.PlatformType
+}
+var file_PlatformType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlatformType_proto_init() }
+func file_PlatformType_proto_init() {
+ if File_PlatformType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlatformType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlatformType_proto_goTypes,
+ DependencyIndexes: file_PlatformType_proto_depIdxs,
+ EnumInfos: file_PlatformType_proto_enumTypes,
+ }.Build()
+ File_PlatformType_proto = out.File
+ file_PlatformType_proto_rawDesc = nil
+ file_PlatformType_proto_goTypes = nil
+ file_PlatformType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayProduct.pb.go b/protocol/proto/PlayProduct.pb.go
new file mode 100644
index 00000000..198d43f2
--- /dev/null
+++ b/protocol/proto/PlayProduct.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayProduct.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayProduct struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ PriceTier string `protobuf:"bytes,2,opt,name=price_tier,json=priceTier,proto3" json:"price_tier,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,3,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *PlayProduct) Reset() {
+ *x = PlayProduct{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayProduct_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayProduct) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayProduct) ProtoMessage() {}
+
+func (x *PlayProduct) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayProduct_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayProduct.ProtoReflect.Descriptor instead.
+func (*PlayProduct) Descriptor() ([]byte, []int) {
+ return file_PlayProduct_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayProduct) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *PlayProduct) GetPriceTier() string {
+ if x != nil {
+ return x.PriceTier
+ }
+ return ""
+}
+
+func (x *PlayProduct) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_PlayProduct_proto protoreflect.FileDescriptor
+
+var file_PlayProduct_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x0b, 0x50, 0x6c,
+ 0x61, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f,
+ 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x63,
+ 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72,
+ 0x69, 0x63, 0x65, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayProduct_proto_rawDescOnce sync.Once
+ file_PlayProduct_proto_rawDescData = file_PlayProduct_proto_rawDesc
+)
+
+func file_PlayProduct_proto_rawDescGZIP() []byte {
+ file_PlayProduct_proto_rawDescOnce.Do(func() {
+ file_PlayProduct_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayProduct_proto_rawDescData)
+ })
+ return file_PlayProduct_proto_rawDescData
+}
+
+var file_PlayProduct_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayProduct_proto_goTypes = []interface{}{
+ (*PlayProduct)(nil), // 0: proto.PlayProduct
+}
+var file_PlayProduct_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayProduct_proto_init() }
+func file_PlayProduct_proto_init() {
+ if File_PlayProduct_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayProduct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayProduct); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayProduct_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayProduct_proto_goTypes,
+ DependencyIndexes: file_PlayProduct_proto_depIdxs,
+ MessageInfos: file_PlayProduct_proto_msgTypes,
+ }.Build()
+ File_PlayProduct_proto = out.File
+ file_PlayProduct_proto_rawDesc = nil
+ file_PlayProduct_proto_goTypes = nil
+ file_PlayProduct_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayTeamEntityInfo.pb.go b/protocol/proto/PlayTeamEntityInfo.pb.go
new file mode 100644
index 00000000..8e02ad79
--- /dev/null
+++ b/protocol/proto/PlayTeamEntityInfo.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayTeamEntityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayTeamEntityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ PlayerUid uint32 `protobuf:"varint,2,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+ AuthorityPeerId uint32 `protobuf:"varint,3,opt,name=authority_peer_id,json=authorityPeerId,proto3" json:"authority_peer_id,omitempty"`
+ GadgetConfigId uint32 `protobuf:"varint,5,opt,name=gadget_config_id,json=gadgetConfigId,proto3" json:"gadget_config_id,omitempty"`
+ AbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,6,opt,name=ability_info,json=abilityInfo,proto3" json:"ability_info,omitempty"`
+}
+
+func (x *PlayTeamEntityInfo) Reset() {
+ *x = PlayTeamEntityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayTeamEntityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayTeamEntityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayTeamEntityInfo) ProtoMessage() {}
+
+func (x *PlayTeamEntityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayTeamEntityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayTeamEntityInfo.ProtoReflect.Descriptor instead.
+func (*PlayTeamEntityInfo) Descriptor() ([]byte, []int) {
+ return file_PlayTeamEntityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayTeamEntityInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *PlayTeamEntityInfo) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+func (x *PlayTeamEntityInfo) GetAuthorityPeerId() uint32 {
+ if x != nil {
+ return x.AuthorityPeerId
+ }
+ return 0
+}
+
+func (x *PlayTeamEntityInfo) GetGadgetConfigId() uint32 {
+ if x != nil {
+ return x.GadgetConfigId
+ }
+ return 0
+}
+
+func (x *PlayTeamEntityInfo) GetAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.AbilityInfo
+ }
+ return nil
+}
+
+var File_PlayTeamEntityInfo_proto protoreflect.FileDescriptor
+
+var file_PlayTeamEntityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1a, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01,
+ 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64,
+ 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x65,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x75, 0x74,
+ 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayTeamEntityInfo_proto_rawDescOnce sync.Once
+ file_PlayTeamEntityInfo_proto_rawDescData = file_PlayTeamEntityInfo_proto_rawDesc
+)
+
+func file_PlayTeamEntityInfo_proto_rawDescGZIP() []byte {
+ file_PlayTeamEntityInfo_proto_rawDescOnce.Do(func() {
+ file_PlayTeamEntityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayTeamEntityInfo_proto_rawDescData)
+ })
+ return file_PlayTeamEntityInfo_proto_rawDescData
+}
+
+var file_PlayTeamEntityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayTeamEntityInfo_proto_goTypes = []interface{}{
+ (*PlayTeamEntityInfo)(nil), // 0: proto.PlayTeamEntityInfo
+ (*AbilitySyncStateInfo)(nil), // 1: proto.AbilitySyncStateInfo
+}
+var file_PlayTeamEntityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayTeamEntityInfo.ability_info:type_name -> proto.AbilitySyncStateInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayTeamEntityInfo_proto_init() }
+func file_PlayTeamEntityInfo_proto_init() {
+ if File_PlayTeamEntityInfo_proto != nil {
+ return
+ }
+ file_AbilitySyncStateInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayTeamEntityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayTeamEntityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayTeamEntityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayTeamEntityInfo_proto_goTypes,
+ DependencyIndexes: file_PlayTeamEntityInfo_proto_depIdxs,
+ MessageInfos: file_PlayTeamEntityInfo_proto_msgTypes,
+ }.Build()
+ File_PlayTeamEntityInfo_proto = out.File
+ file_PlayTeamEntityInfo_proto_rawDesc = nil
+ file_PlayTeamEntityInfo_proto_goTypes = nil
+ file_PlayTeamEntityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.pb.go b/protocol/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.pb.go
new file mode 100644
index 00000000..8cda809e
--- /dev/null
+++ b/protocol/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerAllowEnterMpAfterAgreeMatchNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4199
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerAllowEnterMpAfterAgreeMatchNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,1,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *PlayerAllowEnterMpAfterAgreeMatchNotify) Reset() {
+ *x = PlayerAllowEnterMpAfterAgreeMatchNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerAllowEnterMpAfterAgreeMatchNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerAllowEnterMpAfterAgreeMatchNotify) ProtoMessage() {}
+
+func (x *PlayerAllowEnterMpAfterAgreeMatchNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerAllowEnterMpAfterAgreeMatchNotify.ProtoReflect.Descriptor instead.
+func (*PlayerAllowEnterMpAfterAgreeMatchNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerAllowEnterMpAfterAgreeMatchNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_PlayerAllowEnterMpAfterAgreeMatchNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x41, 0x67, 0x72, 0x65, 0x65, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x27, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x41, 0x66, 0x74, 0x65,
+ 0x72, 0x41, 0x67, 0x72, 0x65, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDescOnce sync.Once
+ file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDescData = file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDesc
+)
+
+func file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDescGZIP() []byte {
+ file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDescData)
+ })
+ return file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDescData
+}
+
+var file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_goTypes = []interface{}{
+ (*PlayerAllowEnterMpAfterAgreeMatchNotify)(nil), // 0: proto.PlayerAllowEnterMpAfterAgreeMatchNotify
+}
+var file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_init() }
+func file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_init() {
+ if File_PlayerAllowEnterMpAfterAgreeMatchNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerAllowEnterMpAfterAgreeMatchNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_depIdxs,
+ MessageInfos: file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerAllowEnterMpAfterAgreeMatchNotify_proto = out.File
+ file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_rawDesc = nil
+ file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_goTypes = nil
+ file_PlayerAllowEnterMpAfterAgreeMatchNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterHomeNotify.pb.go b/protocol/proto/PlayerApplyEnterHomeNotify.pb.go
new file mode 100644
index 00000000..da90ec51
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterHomeNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterHomeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4533
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerApplyEnterHomeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SrcPlayerInfo *OnlinePlayerInfo `protobuf:"bytes,9,opt,name=src_player_info,json=srcPlayerInfo,proto3" json:"src_player_info,omitempty"`
+ SrcAppId uint32 `protobuf:"varint,10,opt,name=src_app_id,json=srcAppId,proto3" json:"src_app_id,omitempty"`
+}
+
+func (x *PlayerApplyEnterHomeNotify) Reset() {
+ *x = PlayerApplyEnterHomeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterHomeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterHomeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterHomeNotify) ProtoMessage() {}
+
+func (x *PlayerApplyEnterHomeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterHomeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterHomeNotify.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterHomeNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterHomeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterHomeNotify) GetSrcPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.SrcPlayerInfo
+ }
+ return nil
+}
+
+func (x *PlayerApplyEnterHomeNotify) GetSrcAppId() uint32 {
+ if x != nil {
+ return x.SrcAppId
+ }
+ return 0
+}
+
+var File_PlayerApplyEnterHomeNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterHomeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x7b, 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79,
+ 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x3f, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0d, 0x73, 0x72, 0x63, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1c, 0x0a, 0x0a, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x72, 0x63, 0x41, 0x70, 0x70, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterHomeNotify_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterHomeNotify_proto_rawDescData = file_PlayerApplyEnterHomeNotify_proto_rawDesc
+)
+
+func file_PlayerApplyEnterHomeNotify_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterHomeNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterHomeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterHomeNotify_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterHomeNotify_proto_rawDescData
+}
+
+var file_PlayerApplyEnterHomeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterHomeNotify_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterHomeNotify)(nil), // 0: proto.PlayerApplyEnterHomeNotify
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+}
+var file_PlayerApplyEnterHomeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerApplyEnterHomeNotify.src_player_info:type_name -> proto.OnlinePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterHomeNotify_proto_init() }
+func file_PlayerApplyEnterHomeNotify_proto_init() {
+ if File_PlayerApplyEnterHomeNotify_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterHomeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterHomeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterHomeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterHomeNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterHomeNotify_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterHomeNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterHomeNotify_proto = out.File
+ file_PlayerApplyEnterHomeNotify_proto_rawDesc = nil
+ file_PlayerApplyEnterHomeNotify_proto_goTypes = nil
+ file_PlayerApplyEnterHomeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterHomeResultNotify.pb.go b/protocol/proto/PlayerApplyEnterHomeResultNotify.pb.go
new file mode 100644
index 00000000..42cec5de
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterHomeResultNotify.pb.go
@@ -0,0 +1,286 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterHomeResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerApplyEnterHomeResultNotify_Reason int32
+
+const (
+ PlayerApplyEnterHomeResultNotify_REASON_PLAYER_JUDGE PlayerApplyEnterHomeResultNotify_Reason = 0
+ PlayerApplyEnterHomeResultNotify_REASON_PLAYER_ENTER_OPTION_REFUSE PlayerApplyEnterHomeResultNotify_Reason = 1
+ PlayerApplyEnterHomeResultNotify_REASON_PLAYER_ENTER_OPTION_DIRECT PlayerApplyEnterHomeResultNotify_Reason = 2
+ PlayerApplyEnterHomeResultNotify_REASON_SYSTEM_JUDGE PlayerApplyEnterHomeResultNotify_Reason = 3
+ PlayerApplyEnterHomeResultNotify_REASON_HOST_IN_MATCH PlayerApplyEnterHomeResultNotify_Reason = 4
+ PlayerApplyEnterHomeResultNotify_REASON_PS_PLAYER_NOT_ACCEPT_OTHERS PlayerApplyEnterHomeResultNotify_Reason = 5
+ PlayerApplyEnterHomeResultNotify_REASON_OPEN_STATE_NOT_OPEN PlayerApplyEnterHomeResultNotify_Reason = 6
+ PlayerApplyEnterHomeResultNotify_REASON_HOST_IN_EDIT_MODE PlayerApplyEnterHomeResultNotify_Reason = 7
+ PlayerApplyEnterHomeResultNotify_REASON_PRIOR_CHECK PlayerApplyEnterHomeResultNotify_Reason = 8
+)
+
+// Enum value maps for PlayerApplyEnterHomeResultNotify_Reason.
+var (
+ PlayerApplyEnterHomeResultNotify_Reason_name = map[int32]string{
+ 0: "REASON_PLAYER_JUDGE",
+ 1: "REASON_PLAYER_ENTER_OPTION_REFUSE",
+ 2: "REASON_PLAYER_ENTER_OPTION_DIRECT",
+ 3: "REASON_SYSTEM_JUDGE",
+ 4: "REASON_HOST_IN_MATCH",
+ 5: "REASON_PS_PLAYER_NOT_ACCEPT_OTHERS",
+ 6: "REASON_OPEN_STATE_NOT_OPEN",
+ 7: "REASON_HOST_IN_EDIT_MODE",
+ 8: "REASON_PRIOR_CHECK",
+ }
+ PlayerApplyEnterHomeResultNotify_Reason_value = map[string]int32{
+ "REASON_PLAYER_JUDGE": 0,
+ "REASON_PLAYER_ENTER_OPTION_REFUSE": 1,
+ "REASON_PLAYER_ENTER_OPTION_DIRECT": 2,
+ "REASON_SYSTEM_JUDGE": 3,
+ "REASON_HOST_IN_MATCH": 4,
+ "REASON_PS_PLAYER_NOT_ACCEPT_OTHERS": 5,
+ "REASON_OPEN_STATE_NOT_OPEN": 6,
+ "REASON_HOST_IN_EDIT_MODE": 7,
+ "REASON_PRIOR_CHECK": 8,
+ }
+)
+
+func (x PlayerApplyEnterHomeResultNotify_Reason) Enum() *PlayerApplyEnterHomeResultNotify_Reason {
+ p := new(PlayerApplyEnterHomeResultNotify_Reason)
+ *p = x
+ return p
+}
+
+func (x PlayerApplyEnterHomeResultNotify_Reason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerApplyEnterHomeResultNotify_Reason) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerApplyEnterHomeResultNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerApplyEnterHomeResultNotify_Reason) Type() protoreflect.EnumType {
+ return &file_PlayerApplyEnterHomeResultNotify_proto_enumTypes[0]
+}
+
+func (x PlayerApplyEnterHomeResultNotify_Reason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerApplyEnterHomeResultNotify_Reason.Descriptor instead.
+func (PlayerApplyEnterHomeResultNotify_Reason) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterHomeResultNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 4468
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerApplyEnterHomeResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetNickname string `protobuf:"bytes,7,opt,name=target_nickname,json=targetNickname,proto3" json:"target_nickname,omitempty"`
+ Reason PlayerApplyEnterHomeResultNotify_Reason `protobuf:"varint,5,opt,name=reason,proto3,enum=proto.PlayerApplyEnterHomeResultNotify_Reason" json:"reason,omitempty"`
+ TargetUid uint32 `protobuf:"varint,12,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ IsAgreed bool `protobuf:"varint,9,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+}
+
+func (x *PlayerApplyEnterHomeResultNotify) Reset() {
+ *x = PlayerApplyEnterHomeResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterHomeResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterHomeResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterHomeResultNotify) ProtoMessage() {}
+
+func (x *PlayerApplyEnterHomeResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterHomeResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterHomeResultNotify.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterHomeResultNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterHomeResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterHomeResultNotify) GetTargetNickname() string {
+ if x != nil {
+ return x.TargetNickname
+ }
+ return ""
+}
+
+func (x *PlayerApplyEnterHomeResultNotify) GetReason() PlayerApplyEnterHomeResultNotify_Reason {
+ if x != nil {
+ return x.Reason
+ }
+ return PlayerApplyEnterHomeResultNotify_REASON_PLAYER_JUDGE
+}
+
+func (x *PlayerApplyEnterHomeResultNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterHomeResultNotify) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+var File_PlayerApplyEnterHomeResultNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterHomeResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xf2, 0x03, 0x0a, 0x20, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e,
+ 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a,
+ 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c,
+ 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x55, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65,
+ 0x64, 0x22, 0xa0, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4a, 0x55,
+ 0x44, 0x47, 0x45, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x45, 0x4e,
+ 0x54, 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43,
+ 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x59,
+ 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x4a, 0x55, 0x44, 0x47, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x4d,
+ 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x50, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41,
+ 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x53, 0x10, 0x05, 0x12, 0x1e,
+ 0x0a, 0x1a, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, 0x54,
+ 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x06, 0x12, 0x1c,
+ 0x0a, 0x18, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x49, 0x4e,
+ 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x5f, 0x43, 0x48, 0x45,
+ 0x43, 0x4b, 0x10, 0x08, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterHomeResultNotify_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterHomeResultNotify_proto_rawDescData = file_PlayerApplyEnterHomeResultNotify_proto_rawDesc
+)
+
+func file_PlayerApplyEnterHomeResultNotify_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterHomeResultNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterHomeResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterHomeResultNotify_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterHomeResultNotify_proto_rawDescData
+}
+
+var file_PlayerApplyEnterHomeResultNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerApplyEnterHomeResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterHomeResultNotify_proto_goTypes = []interface{}{
+ (PlayerApplyEnterHomeResultNotify_Reason)(0), // 0: proto.PlayerApplyEnterHomeResultNotify.Reason
+ (*PlayerApplyEnterHomeResultNotify)(nil), // 1: proto.PlayerApplyEnterHomeResultNotify
+}
+var file_PlayerApplyEnterHomeResultNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.PlayerApplyEnterHomeResultNotify.reason:type_name -> proto.PlayerApplyEnterHomeResultNotify.Reason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterHomeResultNotify_proto_init() }
+func file_PlayerApplyEnterHomeResultNotify_proto_init() {
+ if File_PlayerApplyEnterHomeResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterHomeResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterHomeResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterHomeResultNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterHomeResultNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterHomeResultNotify_proto_depIdxs,
+ EnumInfos: file_PlayerApplyEnterHomeResultNotify_proto_enumTypes,
+ MessageInfos: file_PlayerApplyEnterHomeResultNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterHomeResultNotify_proto = out.File
+ file_PlayerApplyEnterHomeResultNotify_proto_rawDesc = nil
+ file_PlayerApplyEnterHomeResultNotify_proto_goTypes = nil
+ file_PlayerApplyEnterHomeResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterHomeResultReq.pb.go b/protocol/proto/PlayerApplyEnterHomeResultReq.pb.go
new file mode 100644
index 00000000..952a9acb
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterHomeResultReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterHomeResultReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4693
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerApplyEnterHomeResultReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ApplyUid uint32 `protobuf:"varint,14,opt,name=apply_uid,json=applyUid,proto3" json:"apply_uid,omitempty"`
+ IsAgreed bool `protobuf:"varint,10,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+}
+
+func (x *PlayerApplyEnterHomeResultReq) Reset() {
+ *x = PlayerApplyEnterHomeResultReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterHomeResultReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterHomeResultReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterHomeResultReq) ProtoMessage() {}
+
+func (x *PlayerApplyEnterHomeResultReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterHomeResultReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterHomeResultReq.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterHomeResultReq) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterHomeResultReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterHomeResultReq) GetApplyUid() uint32 {
+ if x != nil {
+ return x.ApplyUid
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterHomeResultReq) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+var File_PlayerApplyEnterHomeResultReq_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterHomeResultReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1d,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73,
+ 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69,
+ 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterHomeResultReq_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterHomeResultReq_proto_rawDescData = file_PlayerApplyEnterHomeResultReq_proto_rawDesc
+)
+
+func file_PlayerApplyEnterHomeResultReq_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterHomeResultReq_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterHomeResultReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterHomeResultReq_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterHomeResultReq_proto_rawDescData
+}
+
+var file_PlayerApplyEnterHomeResultReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterHomeResultReq_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterHomeResultReq)(nil), // 0: proto.PlayerApplyEnterHomeResultReq
+}
+var file_PlayerApplyEnterHomeResultReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterHomeResultReq_proto_init() }
+func file_PlayerApplyEnterHomeResultReq_proto_init() {
+ if File_PlayerApplyEnterHomeResultReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterHomeResultReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterHomeResultReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterHomeResultReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterHomeResultReq_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterHomeResultReq_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterHomeResultReq_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterHomeResultReq_proto = out.File
+ file_PlayerApplyEnterHomeResultReq_proto_rawDesc = nil
+ file_PlayerApplyEnterHomeResultReq_proto_goTypes = nil
+ file_PlayerApplyEnterHomeResultReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterHomeResultRsp.pb.go b/protocol/proto/PlayerApplyEnterHomeResultRsp.pb.go
new file mode 100644
index 00000000..ce3e042e
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterHomeResultRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterHomeResultRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4706
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerApplyEnterHomeResultRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAgreed bool `protobuf:"varint,2,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+ ApplyUid uint32 `protobuf:"varint,11,opt,name=apply_uid,json=applyUid,proto3" json:"apply_uid,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Param uint32 `protobuf:"varint,10,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *PlayerApplyEnterHomeResultRsp) Reset() {
+ *x = PlayerApplyEnterHomeResultRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterHomeResultRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterHomeResultRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterHomeResultRsp) ProtoMessage() {}
+
+func (x *PlayerApplyEnterHomeResultRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterHomeResultRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterHomeResultRsp.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterHomeResultRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterHomeResultRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterHomeResultRsp) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+func (x *PlayerApplyEnterHomeResultRsp) GetApplyUid() uint32 {
+ if x != nil {
+ return x.ApplyUid
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterHomeResultRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterHomeResultRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_PlayerApplyEnterHomeResultRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterHomeResultRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a,
+ 0x1d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x73, 0x70, 0x12, 0x1b,
+ 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61,
+ 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterHomeResultRsp_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterHomeResultRsp_proto_rawDescData = file_PlayerApplyEnterHomeResultRsp_proto_rawDesc
+)
+
+func file_PlayerApplyEnterHomeResultRsp_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterHomeResultRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterHomeResultRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterHomeResultRsp_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterHomeResultRsp_proto_rawDescData
+}
+
+var file_PlayerApplyEnterHomeResultRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterHomeResultRsp_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterHomeResultRsp)(nil), // 0: proto.PlayerApplyEnterHomeResultRsp
+}
+var file_PlayerApplyEnterHomeResultRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterHomeResultRsp_proto_init() }
+func file_PlayerApplyEnterHomeResultRsp_proto_init() {
+ if File_PlayerApplyEnterHomeResultRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterHomeResultRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterHomeResultRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterHomeResultRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterHomeResultRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterHomeResultRsp_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterHomeResultRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterHomeResultRsp_proto = out.File
+ file_PlayerApplyEnterHomeResultRsp_proto_rawDesc = nil
+ file_PlayerApplyEnterHomeResultRsp_proto_goTypes = nil
+ file_PlayerApplyEnterHomeResultRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.pb.go b/protocol/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.pb.go
new file mode 100644
index 00000000..3ca49960
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterMpAfterMatchAgreedNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4195
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerApplyEnterMpAfterMatchAgreedNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SrcPlayerInfo *OnlinePlayerInfo `protobuf:"bytes,11,opt,name=src_player_info,json=srcPlayerInfo,proto3" json:"src_player_info,omitempty"`
+ MatchserverId uint32 `protobuf:"varint,10,opt,name=matchserver_id,json=matchserverId,proto3" json:"matchserver_id,omitempty"`
+ MatchType MatchType `protobuf:"varint,3,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+}
+
+func (x *PlayerApplyEnterMpAfterMatchAgreedNotify) Reset() {
+ *x = PlayerApplyEnterMpAfterMatchAgreedNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterMpAfterMatchAgreedNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterMpAfterMatchAgreedNotify) ProtoMessage() {}
+
+func (x *PlayerApplyEnterMpAfterMatchAgreedNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterMpAfterMatchAgreedNotify.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterMpAfterMatchAgreedNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterMpAfterMatchAgreedNotify) GetSrcPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.SrcPlayerInfo
+ }
+ return nil
+}
+
+func (x *PlayerApplyEnterMpAfterMatchAgreedNotify) GetMatchserverId() uint32 {
+ if x != nil {
+ return x.MatchserverId
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterMpAfterMatchAgreedNotify) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+var File_PlayerApplyEnterMpAfterMatchAgreedNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67,
+ 0x72, 0x65, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xc3, 0x01, 0x0a, 0x28, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79,
+ 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x41, 0x66, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x41, 0x67, 0x72, 0x65, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a,
+ 0x0f, 0x73, 0x72, 0x63, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f,
+ 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0d, 0x73, 0x72, 0x63, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25,
+ 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDescData = file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDesc
+)
+
+func file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDescData
+}
+
+var file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterMpAfterMatchAgreedNotify)(nil), // 0: proto.PlayerApplyEnterMpAfterMatchAgreedNotify
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+ (MatchType)(0), // 2: proto.MatchType
+}
+var file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerApplyEnterMpAfterMatchAgreedNotify.src_player_info:type_name -> proto.OnlinePlayerInfo
+ 2, // 1: proto.PlayerApplyEnterMpAfterMatchAgreedNotify.match_type:type_name -> proto.MatchType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_init() }
+func file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_init() {
+ if File_PlayerApplyEnterMpAfterMatchAgreedNotify_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterMpAfterMatchAgreedNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterMpAfterMatchAgreedNotify_proto = out.File
+ file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_rawDesc = nil
+ file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_goTypes = nil
+ file_PlayerApplyEnterMpAfterMatchAgreedNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterMpNotify.pb.go b/protocol/proto/PlayerApplyEnterMpNotify.pb.go
new file mode 100644
index 00000000..683d5ebc
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterMpNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1826
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerApplyEnterMpNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SrcThreadIndex uint32 `protobuf:"varint,5,opt,name=src_thread_index,json=srcThreadIndex,proto3" json:"src_thread_index,omitempty"`
+ SrcAppId uint32 `protobuf:"varint,6,opt,name=src_app_id,json=srcAppId,proto3" json:"src_app_id,omitempty"`
+ SrcPlayerInfo *OnlinePlayerInfo `protobuf:"bytes,2,opt,name=src_player_info,json=srcPlayerInfo,proto3" json:"src_player_info,omitempty"`
+}
+
+func (x *PlayerApplyEnterMpNotify) Reset() {
+ *x = PlayerApplyEnterMpNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterMpNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterMpNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterMpNotify) ProtoMessage() {}
+
+func (x *PlayerApplyEnterMpNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterMpNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterMpNotify.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterMpNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterMpNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterMpNotify) GetSrcThreadIndex() uint32 {
+ if x != nil {
+ return x.SrcThreadIndex
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterMpNotify) GetSrcAppId() uint32 {
+ if x != nil {
+ return x.SrcAppId
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterMpNotify) GetSrcPlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.SrcPlayerInfo
+ }
+ return nil
+}
+
+var File_PlayerApplyEnterMpNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterMpNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xa3, 0x01, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10,
+ 0x73, 0x72, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x54, 0x68, 0x72, 0x65, 0x61,
+ 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1c, 0x0a, 0x0a, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x70,
+ 0x70, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x72, 0x63, 0x41,
+ 0x70, 0x70, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x5f, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x72, 0x63, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterMpNotify_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterMpNotify_proto_rawDescData = file_PlayerApplyEnterMpNotify_proto_rawDesc
+)
+
+func file_PlayerApplyEnterMpNotify_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterMpNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterMpNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterMpNotify_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterMpNotify_proto_rawDescData
+}
+
+var file_PlayerApplyEnterMpNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterMpNotify_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterMpNotify)(nil), // 0: proto.PlayerApplyEnterMpNotify
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+}
+var file_PlayerApplyEnterMpNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerApplyEnterMpNotify.src_player_info:type_name -> proto.OnlinePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterMpNotify_proto_init() }
+func file_PlayerApplyEnterMpNotify_proto_init() {
+ if File_PlayerApplyEnterMpNotify_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterMpNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterMpNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterMpNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterMpNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterMpNotify_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterMpNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterMpNotify_proto = out.File
+ file_PlayerApplyEnterMpNotify_proto_rawDesc = nil
+ file_PlayerApplyEnterMpNotify_proto_goTypes = nil
+ file_PlayerApplyEnterMpNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterMpReq.pb.go b/protocol/proto/PlayerApplyEnterMpReq.pb.go
new file mode 100644
index 00000000..351be1f1
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterMpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1818
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerApplyEnterMpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,4,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *PlayerApplyEnterMpReq) Reset() {
+ *x = PlayerApplyEnterMpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterMpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterMpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterMpReq) ProtoMessage() {}
+
+func (x *PlayerApplyEnterMpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterMpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterMpReq.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterMpReq) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterMpReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterMpReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_PlayerApplyEnterMpReq_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterMpReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70,
+ 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterMpReq_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterMpReq_proto_rawDescData = file_PlayerApplyEnterMpReq_proto_rawDesc
+)
+
+func file_PlayerApplyEnterMpReq_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterMpReq_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterMpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterMpReq_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterMpReq_proto_rawDescData
+}
+
+var file_PlayerApplyEnterMpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterMpReq_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterMpReq)(nil), // 0: proto.PlayerApplyEnterMpReq
+}
+var file_PlayerApplyEnterMpReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterMpReq_proto_init() }
+func file_PlayerApplyEnterMpReq_proto_init() {
+ if File_PlayerApplyEnterMpReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterMpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterMpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterMpReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterMpReq_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterMpReq_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterMpReq_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterMpReq_proto = out.File
+ file_PlayerApplyEnterMpReq_proto_rawDesc = nil
+ file_PlayerApplyEnterMpReq_proto_goTypes = nil
+ file_PlayerApplyEnterMpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterMpResultNotify.pb.go b/protocol/proto/PlayerApplyEnterMpResultNotify.pb.go
new file mode 100644
index 00000000..ac850b22
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpResultNotify.pb.go
@@ -0,0 +1,312 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterMpResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerApplyEnterMpResultNotify_Reason int32
+
+const (
+ PlayerApplyEnterMpResultNotify_REASON_PLAYER_JUDGE PlayerApplyEnterMpResultNotify_Reason = 0
+ PlayerApplyEnterMpResultNotify_REASON_SCENE_CANNOT_ENTER PlayerApplyEnterMpResultNotify_Reason = 1
+ PlayerApplyEnterMpResultNotify_REASON_PLAYER_CANNOT_ENTER_MP PlayerApplyEnterMpResultNotify_Reason = 2
+ PlayerApplyEnterMpResultNotify_REASON_SYSTEM_JUDGE PlayerApplyEnterMpResultNotify_Reason = 3
+ PlayerApplyEnterMpResultNotify_REASON_ALLOW_ENTER_PLAYER_FULL PlayerApplyEnterMpResultNotify_Reason = 4
+ PlayerApplyEnterMpResultNotify_REASON_WORLD_LEVEL_LOWER_THAN_HOST PlayerApplyEnterMpResultNotify_Reason = 5
+ PlayerApplyEnterMpResultNotify_REASON_HOST_IN_MATCH PlayerApplyEnterMpResultNotify_Reason = 6
+ PlayerApplyEnterMpResultNotify_REASON_PLAYER_IN_BLACKLIST PlayerApplyEnterMpResultNotify_Reason = 7
+ PlayerApplyEnterMpResultNotify_REASON_PS_PLAYER_NOT_ACCEPT_OTHERS PlayerApplyEnterMpResultNotify_Reason = 8
+ PlayerApplyEnterMpResultNotify_REASON_HOST_IS_BLOCKED PlayerApplyEnterMpResultNotify_Reason = 9
+ PlayerApplyEnterMpResultNotify_REASON_OTHER_DATA_VERSION_NOT_LATEST PlayerApplyEnterMpResultNotify_Reason = 10
+ PlayerApplyEnterMpResultNotify_REASON_DATA_VERSION_NOT_LATEST PlayerApplyEnterMpResultNotify_Reason = 11
+ PlayerApplyEnterMpResultNotify_REASON_PLAYER_NOT_IN_PLAYER_WORLD PlayerApplyEnterMpResultNotify_Reason = 12
+ PlayerApplyEnterMpResultNotify_REASON_MAX_PLAYER PlayerApplyEnterMpResultNotify_Reason = 13
+)
+
+// Enum value maps for PlayerApplyEnterMpResultNotify_Reason.
+var (
+ PlayerApplyEnterMpResultNotify_Reason_name = map[int32]string{
+ 0: "REASON_PLAYER_JUDGE",
+ 1: "REASON_SCENE_CANNOT_ENTER",
+ 2: "REASON_PLAYER_CANNOT_ENTER_MP",
+ 3: "REASON_SYSTEM_JUDGE",
+ 4: "REASON_ALLOW_ENTER_PLAYER_FULL",
+ 5: "REASON_WORLD_LEVEL_LOWER_THAN_HOST",
+ 6: "REASON_HOST_IN_MATCH",
+ 7: "REASON_PLAYER_IN_BLACKLIST",
+ 8: "REASON_PS_PLAYER_NOT_ACCEPT_OTHERS",
+ 9: "REASON_HOST_IS_BLOCKED",
+ 10: "REASON_OTHER_DATA_VERSION_NOT_LATEST",
+ 11: "REASON_DATA_VERSION_NOT_LATEST",
+ 12: "REASON_PLAYER_NOT_IN_PLAYER_WORLD",
+ 13: "REASON_MAX_PLAYER",
+ }
+ PlayerApplyEnterMpResultNotify_Reason_value = map[string]int32{
+ "REASON_PLAYER_JUDGE": 0,
+ "REASON_SCENE_CANNOT_ENTER": 1,
+ "REASON_PLAYER_CANNOT_ENTER_MP": 2,
+ "REASON_SYSTEM_JUDGE": 3,
+ "REASON_ALLOW_ENTER_PLAYER_FULL": 4,
+ "REASON_WORLD_LEVEL_LOWER_THAN_HOST": 5,
+ "REASON_HOST_IN_MATCH": 6,
+ "REASON_PLAYER_IN_BLACKLIST": 7,
+ "REASON_PS_PLAYER_NOT_ACCEPT_OTHERS": 8,
+ "REASON_HOST_IS_BLOCKED": 9,
+ "REASON_OTHER_DATA_VERSION_NOT_LATEST": 10,
+ "REASON_DATA_VERSION_NOT_LATEST": 11,
+ "REASON_PLAYER_NOT_IN_PLAYER_WORLD": 12,
+ "REASON_MAX_PLAYER": 13,
+ }
+)
+
+func (x PlayerApplyEnterMpResultNotify_Reason) Enum() *PlayerApplyEnterMpResultNotify_Reason {
+ p := new(PlayerApplyEnterMpResultNotify_Reason)
+ *p = x
+ return p
+}
+
+func (x PlayerApplyEnterMpResultNotify_Reason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerApplyEnterMpResultNotify_Reason) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerApplyEnterMpResultNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerApplyEnterMpResultNotify_Reason) Type() protoreflect.EnumType {
+ return &file_PlayerApplyEnterMpResultNotify_proto_enumTypes[0]
+}
+
+func (x PlayerApplyEnterMpResultNotify_Reason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerApplyEnterMpResultNotify_Reason.Descriptor instead.
+func (PlayerApplyEnterMpResultNotify_Reason) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterMpResultNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 1807
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerApplyEnterMpResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAgreed bool `protobuf:"varint,2,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+ TargetNickname string `protobuf:"bytes,12,opt,name=target_nickname,json=targetNickname,proto3" json:"target_nickname,omitempty"`
+ Reason PlayerApplyEnterMpResultNotify_Reason `protobuf:"varint,13,opt,name=reason,proto3,enum=proto.PlayerApplyEnterMpResultNotify_Reason" json:"reason,omitempty"`
+ TargetUid uint32 `protobuf:"varint,1,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *PlayerApplyEnterMpResultNotify) Reset() {
+ *x = PlayerApplyEnterMpResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterMpResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterMpResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterMpResultNotify) ProtoMessage() {}
+
+func (x *PlayerApplyEnterMpResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterMpResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterMpResultNotify.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterMpResultNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterMpResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterMpResultNotify) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+func (x *PlayerApplyEnterMpResultNotify) GetTargetNickname() string {
+ if x != nil {
+ return x.TargetNickname
+ }
+ return ""
+}
+
+func (x *PlayerApplyEnterMpResultNotify) GetReason() PlayerApplyEnterMpResultNotify_Reason {
+ if x != nil {
+ return x.Reason
+ }
+ return PlayerApplyEnterMpResultNotify_REASON_PLAYER_JUDGE
+}
+
+func (x *PlayerApplyEnterMpResultNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_PlayerApplyEnterMpResultNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterMpResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x05,
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x64, 0x12, 0x27, 0x0a,
+ 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x69,
+ 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d,
+ 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x22, 0xd2, 0x03, 0x0a, 0x06,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4a, 0x55, 0x44, 0x47, 0x45, 0x10, 0x00, 0x12,
+ 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f,
+ 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x21,
+ 0x0a, 0x1d, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f,
+ 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x50, 0x10,
+ 0x02, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x59, 0x53, 0x54,
+ 0x45, 0x4d, 0x5f, 0x4a, 0x55, 0x44, 0x47, 0x45, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x04, 0x12, 0x26,
+ 0x0a, 0x22, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f,
+ 0x48, 0x4f, 0x53, 0x54, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x06,
+ 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45,
+ 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x07,
+ 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x53, 0x5f, 0x50, 0x4c,
+ 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f,
+ 0x4f, 0x54, 0x48, 0x45, 0x52, 0x53, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b,
+ 0x45, 0x44, 0x10, 0x09, 0x12, 0x28, 0x0a, 0x24, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4f,
+ 0x54, 0x48, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0x0a, 0x12, 0x22,
+ 0x0a, 0x1e, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x56, 0x45,
+ 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x54,
+ 0x10, 0x0b, 0x12, 0x25, 0x0a, 0x21, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41,
+ 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45,
+ 0x52, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x0d,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterMpResultNotify_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterMpResultNotify_proto_rawDescData = file_PlayerApplyEnterMpResultNotify_proto_rawDesc
+)
+
+func file_PlayerApplyEnterMpResultNotify_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterMpResultNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterMpResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterMpResultNotify_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterMpResultNotify_proto_rawDescData
+}
+
+var file_PlayerApplyEnterMpResultNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerApplyEnterMpResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterMpResultNotify_proto_goTypes = []interface{}{
+ (PlayerApplyEnterMpResultNotify_Reason)(0), // 0: proto.PlayerApplyEnterMpResultNotify.Reason
+ (*PlayerApplyEnterMpResultNotify)(nil), // 1: proto.PlayerApplyEnterMpResultNotify
+}
+var file_PlayerApplyEnterMpResultNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.PlayerApplyEnterMpResultNotify.reason:type_name -> proto.PlayerApplyEnterMpResultNotify.Reason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterMpResultNotify_proto_init() }
+func file_PlayerApplyEnterMpResultNotify_proto_init() {
+ if File_PlayerApplyEnterMpResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterMpResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterMpResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterMpResultNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterMpResultNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterMpResultNotify_proto_depIdxs,
+ EnumInfos: file_PlayerApplyEnterMpResultNotify_proto_enumTypes,
+ MessageInfos: file_PlayerApplyEnterMpResultNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterMpResultNotify_proto = out.File
+ file_PlayerApplyEnterMpResultNotify_proto_rawDesc = nil
+ file_PlayerApplyEnterMpResultNotify_proto_goTypes = nil
+ file_PlayerApplyEnterMpResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterMpResultReq.pb.go b/protocol/proto/PlayerApplyEnterMpResultReq.pb.go
new file mode 100644
index 00000000..2c810fdd
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpResultReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterMpResultReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1802
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerApplyEnterMpResultReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ApplyUid uint32 `protobuf:"varint,2,opt,name=apply_uid,json=applyUid,proto3" json:"apply_uid,omitempty"`
+ IsAgreed bool `protobuf:"varint,12,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+}
+
+func (x *PlayerApplyEnterMpResultReq) Reset() {
+ *x = PlayerApplyEnterMpResultReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterMpResultReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterMpResultReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterMpResultReq) ProtoMessage() {}
+
+func (x *PlayerApplyEnterMpResultReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterMpResultReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterMpResultReq.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterMpResultReq) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterMpResultReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterMpResultReq) GetApplyUid() uint32 {
+ if x != nil {
+ return x.ApplyUid
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterMpResultReq) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+var File_PlayerApplyEnterMpResultReq_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterMpResultReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x1b, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70,
+ 0x6c, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x70,
+ 0x70, 0x6c, 0x79, 0x55, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72,
+ 0x65, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x67, 0x72,
+ 0x65, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterMpResultReq_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterMpResultReq_proto_rawDescData = file_PlayerApplyEnterMpResultReq_proto_rawDesc
+)
+
+func file_PlayerApplyEnterMpResultReq_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterMpResultReq_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterMpResultReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterMpResultReq_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterMpResultReq_proto_rawDescData
+}
+
+var file_PlayerApplyEnterMpResultReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterMpResultReq_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterMpResultReq)(nil), // 0: proto.PlayerApplyEnterMpResultReq
+}
+var file_PlayerApplyEnterMpResultReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterMpResultReq_proto_init() }
+func file_PlayerApplyEnterMpResultReq_proto_init() {
+ if File_PlayerApplyEnterMpResultReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterMpResultReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterMpResultReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterMpResultReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterMpResultReq_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterMpResultReq_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterMpResultReq_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterMpResultReq_proto = out.File
+ file_PlayerApplyEnterMpResultReq_proto_rawDesc = nil
+ file_PlayerApplyEnterMpResultReq_proto_goTypes = nil
+ file_PlayerApplyEnterMpResultReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterMpResultRsp.pb.go b/protocol/proto/PlayerApplyEnterMpResultRsp.pb.go
new file mode 100644
index 00000000..12ea80a4
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpResultRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterMpResultRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1831
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerApplyEnterMpResultRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsAgreed bool `protobuf:"varint,3,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+ ApplyUid uint32 `protobuf:"varint,10,opt,name=apply_uid,json=applyUid,proto3" json:"apply_uid,omitempty"`
+ Param uint32 `protobuf:"varint,12,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *PlayerApplyEnterMpResultRsp) Reset() {
+ *x = PlayerApplyEnterMpResultRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterMpResultRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterMpResultRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterMpResultRsp) ProtoMessage() {}
+
+func (x *PlayerApplyEnterMpResultRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterMpResultRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterMpResultRsp.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterMpResultRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterMpResultRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterMpResultRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterMpResultRsp) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+func (x *PlayerApplyEnterMpResultRsp) GetApplyUid() uint32 {
+ if x != nil {
+ return x.ApplyUid
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterMpResultRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_PlayerApplyEnterMpResultRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterMpResultRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x1b, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d,
+ 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x69, 0x64, 0x12, 0x14,
+ 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterMpResultRsp_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterMpResultRsp_proto_rawDescData = file_PlayerApplyEnterMpResultRsp_proto_rawDesc
+)
+
+func file_PlayerApplyEnterMpResultRsp_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterMpResultRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterMpResultRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterMpResultRsp_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterMpResultRsp_proto_rawDescData
+}
+
+var file_PlayerApplyEnterMpResultRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterMpResultRsp_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterMpResultRsp)(nil), // 0: proto.PlayerApplyEnterMpResultRsp
+}
+var file_PlayerApplyEnterMpResultRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterMpResultRsp_proto_init() }
+func file_PlayerApplyEnterMpResultRsp_proto_init() {
+ if File_PlayerApplyEnterMpResultRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterMpResultRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterMpResultRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterMpResultRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterMpResultRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterMpResultRsp_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterMpResultRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterMpResultRsp_proto = out.File
+ file_PlayerApplyEnterMpResultRsp_proto_rawDesc = nil
+ file_PlayerApplyEnterMpResultRsp_proto_goTypes = nil
+ file_PlayerApplyEnterMpResultRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerApplyEnterMpRsp.pb.go b/protocol/proto/PlayerApplyEnterMpRsp.pb.go
new file mode 100644
index 00000000..483566bb
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerApplyEnterMpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1825
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerApplyEnterMpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetUid uint32 `protobuf:"varint,3,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ Param uint32 `protobuf:"varint,4,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *PlayerApplyEnterMpRsp) Reset() {
+ *x = PlayerApplyEnterMpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerApplyEnterMpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerApplyEnterMpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerApplyEnterMpRsp) ProtoMessage() {}
+
+func (x *PlayerApplyEnterMpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerApplyEnterMpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerApplyEnterMpRsp.ProtoReflect.Descriptor instead.
+func (*PlayerApplyEnterMpRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerApplyEnterMpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerApplyEnterMpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterMpRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *PlayerApplyEnterMpRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_PlayerApplyEnterMpRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerApplyEnterMpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x4d, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x70,
+ 0x70, 0x6c, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerApplyEnterMpRsp_proto_rawDescOnce sync.Once
+ file_PlayerApplyEnterMpRsp_proto_rawDescData = file_PlayerApplyEnterMpRsp_proto_rawDesc
+)
+
+func file_PlayerApplyEnterMpRsp_proto_rawDescGZIP() []byte {
+ file_PlayerApplyEnterMpRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerApplyEnterMpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerApplyEnterMpRsp_proto_rawDescData)
+ })
+ return file_PlayerApplyEnterMpRsp_proto_rawDescData
+}
+
+var file_PlayerApplyEnterMpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerApplyEnterMpRsp_proto_goTypes = []interface{}{
+ (*PlayerApplyEnterMpRsp)(nil), // 0: proto.PlayerApplyEnterMpRsp
+}
+var file_PlayerApplyEnterMpRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerApplyEnterMpRsp_proto_init() }
+func file_PlayerApplyEnterMpRsp_proto_init() {
+ if File_PlayerApplyEnterMpRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerApplyEnterMpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerApplyEnterMpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerApplyEnterMpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerApplyEnterMpRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerApplyEnterMpRsp_proto_depIdxs,
+ MessageInfos: file_PlayerApplyEnterMpRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerApplyEnterMpRsp_proto = out.File
+ file_PlayerApplyEnterMpRsp_proto_rawDesc = nil
+ file_PlayerApplyEnterMpRsp_proto_goTypes = nil
+ file_PlayerApplyEnterMpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCancelMatchReq.pb.go b/protocol/proto/PlayerCancelMatchReq.pb.go
new file mode 100644
index 00000000..456cf6a9
--- /dev/null
+++ b/protocol/proto/PlayerCancelMatchReq.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCancelMatchReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4157
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerCancelMatchReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchType MatchType `protobuf:"varint,11,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+}
+
+func (x *PlayerCancelMatchReq) Reset() {
+ *x = PlayerCancelMatchReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCancelMatchReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCancelMatchReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCancelMatchReq) ProtoMessage() {}
+
+func (x *PlayerCancelMatchReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCancelMatchReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCancelMatchReq.ProtoReflect.Descriptor instead.
+func (*PlayerCancelMatchReq) Descriptor() ([]byte, []int) {
+ return file_PlayerCancelMatchReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCancelMatchReq) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+var File_PlayerCancelMatchReq_proto protoreflect.FileDescriptor
+
+var file_PlayerCancelMatchReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61,
+ 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x2f, 0x0a, 0x0a,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PlayerCancelMatchReq_proto_rawDescOnce sync.Once
+ file_PlayerCancelMatchReq_proto_rawDescData = file_PlayerCancelMatchReq_proto_rawDesc
+)
+
+func file_PlayerCancelMatchReq_proto_rawDescGZIP() []byte {
+ file_PlayerCancelMatchReq_proto_rawDescOnce.Do(func() {
+ file_PlayerCancelMatchReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCancelMatchReq_proto_rawDescData)
+ })
+ return file_PlayerCancelMatchReq_proto_rawDescData
+}
+
+var file_PlayerCancelMatchReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCancelMatchReq_proto_goTypes = []interface{}{
+ (*PlayerCancelMatchReq)(nil), // 0: proto.PlayerCancelMatchReq
+ (MatchType)(0), // 1: proto.MatchType
+}
+var file_PlayerCancelMatchReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerCancelMatchReq.match_type:type_name -> proto.MatchType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCancelMatchReq_proto_init() }
+func file_PlayerCancelMatchReq_proto_init() {
+ if File_PlayerCancelMatchReq_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCancelMatchReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCancelMatchReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCancelMatchReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCancelMatchReq_proto_goTypes,
+ DependencyIndexes: file_PlayerCancelMatchReq_proto_depIdxs,
+ MessageInfos: file_PlayerCancelMatchReq_proto_msgTypes,
+ }.Build()
+ File_PlayerCancelMatchReq_proto = out.File
+ file_PlayerCancelMatchReq_proto_rawDesc = nil
+ file_PlayerCancelMatchReq_proto_goTypes = nil
+ file_PlayerCancelMatchReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCancelMatchRsp.pb.go b/protocol/proto/PlayerCancelMatchRsp.pb.go
new file mode 100644
index 00000000..2cde62fa
--- /dev/null
+++ b/protocol/proto/PlayerCancelMatchRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCancelMatchRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4152
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerCancelMatchRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MatchType MatchType `protobuf:"varint,7,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+}
+
+func (x *PlayerCancelMatchRsp) Reset() {
+ *x = PlayerCancelMatchRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCancelMatchRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCancelMatchRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCancelMatchRsp) ProtoMessage() {}
+
+func (x *PlayerCancelMatchRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCancelMatchRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCancelMatchRsp.ProtoReflect.Descriptor instead.
+func (*PlayerCancelMatchRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerCancelMatchRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCancelMatchRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerCancelMatchRsp) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+var File_PlayerCancelMatchRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerCancelMatchRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x61,
+ 0x6e, 0x63, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCancelMatchRsp_proto_rawDescOnce sync.Once
+ file_PlayerCancelMatchRsp_proto_rawDescData = file_PlayerCancelMatchRsp_proto_rawDesc
+)
+
+func file_PlayerCancelMatchRsp_proto_rawDescGZIP() []byte {
+ file_PlayerCancelMatchRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerCancelMatchRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCancelMatchRsp_proto_rawDescData)
+ })
+ return file_PlayerCancelMatchRsp_proto_rawDescData
+}
+
+var file_PlayerCancelMatchRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCancelMatchRsp_proto_goTypes = []interface{}{
+ (*PlayerCancelMatchRsp)(nil), // 0: proto.PlayerCancelMatchRsp
+ (MatchType)(0), // 1: proto.MatchType
+}
+var file_PlayerCancelMatchRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerCancelMatchRsp.match_type:type_name -> proto.MatchType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCancelMatchRsp_proto_init() }
+func file_PlayerCancelMatchRsp_proto_init() {
+ if File_PlayerCancelMatchRsp_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCancelMatchRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCancelMatchRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCancelMatchRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCancelMatchRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerCancelMatchRsp_proto_depIdxs,
+ MessageInfos: file_PlayerCancelMatchRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerCancelMatchRsp_proto = out.File
+ file_PlayerCancelMatchRsp_proto_rawDesc = nil
+ file_PlayerCancelMatchRsp_proto_goTypes = nil
+ file_PlayerCancelMatchRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerChatCDNotify.pb.go b/protocol/proto/PlayerChatCDNotify.pb.go
new file mode 100644
index 00000000..5b69f130
--- /dev/null
+++ b/protocol/proto/PlayerChatCDNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerChatCDNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3367
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerChatCDNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OverTime uint32 `protobuf:"varint,15,opt,name=over_time,json=overTime,proto3" json:"over_time,omitempty"`
+}
+
+func (x *PlayerChatCDNotify) Reset() {
+ *x = PlayerChatCDNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerChatCDNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerChatCDNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerChatCDNotify) ProtoMessage() {}
+
+func (x *PlayerChatCDNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerChatCDNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerChatCDNotify.ProtoReflect.Descriptor instead.
+func (*PlayerChatCDNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerChatCDNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerChatCDNotify) GetOverTime() uint32 {
+ if x != nil {
+ return x.OverTime
+ }
+ return 0
+}
+
+var File_PlayerChatCDNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerChatCDNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x43, 0x44, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x31, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x43,
+ 0x44, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72,
+ 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerChatCDNotify_proto_rawDescOnce sync.Once
+ file_PlayerChatCDNotify_proto_rawDescData = file_PlayerChatCDNotify_proto_rawDesc
+)
+
+func file_PlayerChatCDNotify_proto_rawDescGZIP() []byte {
+ file_PlayerChatCDNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerChatCDNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerChatCDNotify_proto_rawDescData)
+ })
+ return file_PlayerChatCDNotify_proto_rawDescData
+}
+
+var file_PlayerChatCDNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerChatCDNotify_proto_goTypes = []interface{}{
+ (*PlayerChatCDNotify)(nil), // 0: proto.PlayerChatCDNotify
+}
+var file_PlayerChatCDNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerChatCDNotify_proto_init() }
+func file_PlayerChatCDNotify_proto_init() {
+ if File_PlayerChatCDNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerChatCDNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerChatCDNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerChatCDNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerChatCDNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerChatCDNotify_proto_depIdxs,
+ MessageInfos: file_PlayerChatCDNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerChatCDNotify_proto = out.File
+ file_PlayerChatCDNotify_proto_rawDesc = nil
+ file_PlayerChatCDNotify_proto_goTypes = nil
+ file_PlayerChatCDNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerChatNotify.pb.go b/protocol/proto/PlayerChatNotify.pb.go
new file mode 100644
index 00000000..f4eb83cb
--- /dev/null
+++ b/protocol/proto/PlayerChatNotify.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerChatNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3010
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerChatNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatInfo *ChatInfo `protobuf:"bytes,3,opt,name=chat_info,json=chatInfo,proto3" json:"chat_info,omitempty"`
+ ChannelId uint32 `protobuf:"varint,6,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+}
+
+func (x *PlayerChatNotify) Reset() {
+ *x = PlayerChatNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerChatNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerChatNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerChatNotify) ProtoMessage() {}
+
+func (x *PlayerChatNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerChatNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerChatNotify.ProtoReflect.Descriptor instead.
+func (*PlayerChatNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerChatNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerChatNotify) GetChatInfo() *ChatInfo {
+ if x != nil {
+ return x.ChatInfo
+ }
+ return nil
+}
+
+func (x *PlayerChatNotify) GetChannelId() uint32 {
+ if x != nil {
+ return x.ChannelId
+ }
+ return 0
+}
+
+var File_PlayerChatNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerChatNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5f, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerChatNotify_proto_rawDescOnce sync.Once
+ file_PlayerChatNotify_proto_rawDescData = file_PlayerChatNotify_proto_rawDesc
+)
+
+func file_PlayerChatNotify_proto_rawDescGZIP() []byte {
+ file_PlayerChatNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerChatNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerChatNotify_proto_rawDescData)
+ })
+ return file_PlayerChatNotify_proto_rawDescData
+}
+
+var file_PlayerChatNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerChatNotify_proto_goTypes = []interface{}{
+ (*PlayerChatNotify)(nil), // 0: proto.PlayerChatNotify
+ (*ChatInfo)(nil), // 1: proto.ChatInfo
+}
+var file_PlayerChatNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerChatNotify.chat_info:type_name -> proto.ChatInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerChatNotify_proto_init() }
+func file_PlayerChatNotify_proto_init() {
+ if File_PlayerChatNotify_proto != nil {
+ return
+ }
+ file_ChatInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerChatNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerChatNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerChatNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerChatNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerChatNotify_proto_depIdxs,
+ MessageInfos: file_PlayerChatNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerChatNotify_proto = out.File
+ file_PlayerChatNotify_proto_rawDesc = nil
+ file_PlayerChatNotify_proto_goTypes = nil
+ file_PlayerChatNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerChatReq.pb.go b/protocol/proto/PlayerChatReq.pb.go
new file mode 100644
index 00000000..2ee19da5
--- /dev/null
+++ b/protocol/proto/PlayerChatReq.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerChatReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3185
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerChatReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChannelId uint32 `protobuf:"varint,13,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+ ChatInfo *ChatInfo `protobuf:"bytes,15,opt,name=chat_info,json=chatInfo,proto3" json:"chat_info,omitempty"`
+}
+
+func (x *PlayerChatReq) Reset() {
+ *x = PlayerChatReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerChatReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerChatReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerChatReq) ProtoMessage() {}
+
+func (x *PlayerChatReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerChatReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerChatReq.ProtoReflect.Descriptor instead.
+func (*PlayerChatReq) Descriptor() ([]byte, []int) {
+ return file_PlayerChatReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerChatReq) GetChannelId() uint32 {
+ if x != nil {
+ return x.ChannelId
+ }
+ return 0
+}
+
+func (x *PlayerChatReq) GetChatInfo() *ChatInfo {
+ if x != nil {
+ return x.ChatInfo
+ }
+ return nil
+}
+
+var File_PlayerChatReq_proto protoreflect.FileDescriptor
+
+var file_PlayerChatReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x43, 0x68,
+ 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x0d,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09,
+ 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x08, 0x63, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerChatReq_proto_rawDescOnce sync.Once
+ file_PlayerChatReq_proto_rawDescData = file_PlayerChatReq_proto_rawDesc
+)
+
+func file_PlayerChatReq_proto_rawDescGZIP() []byte {
+ file_PlayerChatReq_proto_rawDescOnce.Do(func() {
+ file_PlayerChatReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerChatReq_proto_rawDescData)
+ })
+ return file_PlayerChatReq_proto_rawDescData
+}
+
+var file_PlayerChatReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerChatReq_proto_goTypes = []interface{}{
+ (*PlayerChatReq)(nil), // 0: proto.PlayerChatReq
+ (*ChatInfo)(nil), // 1: proto.ChatInfo
+}
+var file_PlayerChatReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerChatReq.chat_info:type_name -> proto.ChatInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerChatReq_proto_init() }
+func file_PlayerChatReq_proto_init() {
+ if File_PlayerChatReq_proto != nil {
+ return
+ }
+ file_ChatInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerChatReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerChatReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerChatReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerChatReq_proto_goTypes,
+ DependencyIndexes: file_PlayerChatReq_proto_depIdxs,
+ MessageInfos: file_PlayerChatReq_proto_msgTypes,
+ }.Build()
+ File_PlayerChatReq_proto = out.File
+ file_PlayerChatReq_proto_rawDesc = nil
+ file_PlayerChatReq_proto_goTypes = nil
+ file_PlayerChatReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerChatRsp.pb.go b/protocol/proto/PlayerChatRsp.pb.go
new file mode 100644
index 00000000..0b983018
--- /dev/null
+++ b/protocol/proto/PlayerChatRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerChatRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3228
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerChatRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatForbiddenEndtime uint32 `protobuf:"varint,15,opt,name=chat_forbidden_endtime,json=chatForbiddenEndtime,proto3" json:"chat_forbidden_endtime,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerChatRsp) Reset() {
+ *x = PlayerChatRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerChatRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerChatRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerChatRsp) ProtoMessage() {}
+
+func (x *PlayerChatRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerChatRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerChatRsp.ProtoReflect.Descriptor instead.
+func (*PlayerChatRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerChatRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerChatRsp) GetChatForbiddenEndtime() uint32 {
+ if x != nil {
+ return x.ChatForbiddenEndtime
+ }
+ return 0
+}
+
+func (x *PlayerChatRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerChatRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerChatRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x0d,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x68, 0x61, 0x74, 0x52, 0x73, 0x70, 0x12, 0x34, 0x0a,
+ 0x16, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f,
+ 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63,
+ 0x68, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x74,
+ 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PlayerChatRsp_proto_rawDescOnce sync.Once
+ file_PlayerChatRsp_proto_rawDescData = file_PlayerChatRsp_proto_rawDesc
+)
+
+func file_PlayerChatRsp_proto_rawDescGZIP() []byte {
+ file_PlayerChatRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerChatRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerChatRsp_proto_rawDescData)
+ })
+ return file_PlayerChatRsp_proto_rawDescData
+}
+
+var file_PlayerChatRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerChatRsp_proto_goTypes = []interface{}{
+ (*PlayerChatRsp)(nil), // 0: proto.PlayerChatRsp
+}
+var file_PlayerChatRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerChatRsp_proto_init() }
+func file_PlayerChatRsp_proto_init() {
+ if File_PlayerChatRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerChatRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerChatRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerChatRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerChatRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerChatRsp_proto_depIdxs,
+ MessageInfos: file_PlayerChatRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerChatRsp_proto = out.File
+ file_PlayerChatRsp_proto_rawDesc = nil
+ file_PlayerChatRsp_proto_goTypes = nil
+ file_PlayerChatRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCompoundMaterialBoostReq.pb.go b/protocol/proto/PlayerCompoundMaterialBoostReq.pb.go
new file mode 100644
index 00000000..d05c2f42
--- /dev/null
+++ b/protocol/proto/PlayerCompoundMaterialBoostReq.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCompoundMaterialBoostReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 185
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerCompoundMaterialBoostReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsBoostAll bool `protobuf:"varint,8,opt,name=is_boost_all,json=isBoostAll,proto3" json:"is_boost_all,omitempty"`
+ TargetCompoundGroupId uint32 `protobuf:"varint,14,opt,name=target_compound_group_id,json=targetCompoundGroupId,proto3" json:"target_compound_group_id,omitempty"`
+ ConsumeMaterialId uint32 `protobuf:"varint,9,opt,name=consume_material_id,json=consumeMaterialId,proto3" json:"consume_material_id,omitempty"`
+ ConsumeMaterialCount uint32 `protobuf:"varint,1,opt,name=consume_material_count,json=consumeMaterialCount,proto3" json:"consume_material_count,omitempty"`
+}
+
+func (x *PlayerCompoundMaterialBoostReq) Reset() {
+ *x = PlayerCompoundMaterialBoostReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCompoundMaterialBoostReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCompoundMaterialBoostReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCompoundMaterialBoostReq) ProtoMessage() {}
+
+func (x *PlayerCompoundMaterialBoostReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCompoundMaterialBoostReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCompoundMaterialBoostReq.ProtoReflect.Descriptor instead.
+func (*PlayerCompoundMaterialBoostReq) Descriptor() ([]byte, []int) {
+ return file_PlayerCompoundMaterialBoostReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCompoundMaterialBoostReq) GetIsBoostAll() bool {
+ if x != nil {
+ return x.IsBoostAll
+ }
+ return false
+}
+
+func (x *PlayerCompoundMaterialBoostReq) GetTargetCompoundGroupId() uint32 {
+ if x != nil {
+ return x.TargetCompoundGroupId
+ }
+ return 0
+}
+
+func (x *PlayerCompoundMaterialBoostReq) GetConsumeMaterialId() uint32 {
+ if x != nil {
+ return x.ConsumeMaterialId
+ }
+ return 0
+}
+
+func (x *PlayerCompoundMaterialBoostReq) GetConsumeMaterialCount() uint32 {
+ if x != nil {
+ return x.ConsumeMaterialCount
+ }
+ return 0
+}
+
+var File_PlayerCompoundMaterialBoostReq_proto protoreflect.FileDescriptor
+
+var file_PlayerCompoundMaterialBoostReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64,
+ 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x01,
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64,
+ 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71,
+ 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6c, 0x6c,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70,
+ 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x63,
+ 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d,
+ 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x63,
+ 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x6f, 0x6e,
+ 0x73, 0x75, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCompoundMaterialBoostReq_proto_rawDescOnce sync.Once
+ file_PlayerCompoundMaterialBoostReq_proto_rawDescData = file_PlayerCompoundMaterialBoostReq_proto_rawDesc
+)
+
+func file_PlayerCompoundMaterialBoostReq_proto_rawDescGZIP() []byte {
+ file_PlayerCompoundMaterialBoostReq_proto_rawDescOnce.Do(func() {
+ file_PlayerCompoundMaterialBoostReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCompoundMaterialBoostReq_proto_rawDescData)
+ })
+ return file_PlayerCompoundMaterialBoostReq_proto_rawDescData
+}
+
+var file_PlayerCompoundMaterialBoostReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCompoundMaterialBoostReq_proto_goTypes = []interface{}{
+ (*PlayerCompoundMaterialBoostReq)(nil), // 0: proto.PlayerCompoundMaterialBoostReq
+}
+var file_PlayerCompoundMaterialBoostReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCompoundMaterialBoostReq_proto_init() }
+func file_PlayerCompoundMaterialBoostReq_proto_init() {
+ if File_PlayerCompoundMaterialBoostReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCompoundMaterialBoostReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCompoundMaterialBoostReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCompoundMaterialBoostReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCompoundMaterialBoostReq_proto_goTypes,
+ DependencyIndexes: file_PlayerCompoundMaterialBoostReq_proto_depIdxs,
+ MessageInfos: file_PlayerCompoundMaterialBoostReq_proto_msgTypes,
+ }.Build()
+ File_PlayerCompoundMaterialBoostReq_proto = out.File
+ file_PlayerCompoundMaterialBoostReq_proto_rawDesc = nil
+ file_PlayerCompoundMaterialBoostReq_proto_goTypes = nil
+ file_PlayerCompoundMaterialBoostReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCompoundMaterialBoostRsp.pb.go b/protocol/proto/PlayerCompoundMaterialBoostRsp.pb.go
new file mode 100644
index 00000000..8fdd8943
--- /dev/null
+++ b/protocol/proto/PlayerCompoundMaterialBoostRsp.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCompoundMaterialBoostRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 125
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerCompoundMaterialBoostRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TakeItemList []*ItemParam `protobuf:"bytes,2,rep,name=take_item_list,json=takeItemList,proto3" json:"take_item_list,omitempty"`
+ TakeStatus CompoundBoostTakeStatusType `protobuf:"varint,6,opt,name=take_status,json=takeStatus,proto3,enum=proto.CompoundBoostTakeStatusType" json:"take_status,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CompoundQueDataList []*CompoundQueueData `protobuf:"bytes,1,rep,name=compound_que_data_list,json=compoundQueDataList,proto3" json:"compound_que_data_list,omitempty"`
+}
+
+func (x *PlayerCompoundMaterialBoostRsp) Reset() {
+ *x = PlayerCompoundMaterialBoostRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCompoundMaterialBoostRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCompoundMaterialBoostRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCompoundMaterialBoostRsp) ProtoMessage() {}
+
+func (x *PlayerCompoundMaterialBoostRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCompoundMaterialBoostRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCompoundMaterialBoostRsp.ProtoReflect.Descriptor instead.
+func (*PlayerCompoundMaterialBoostRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerCompoundMaterialBoostRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCompoundMaterialBoostRsp) GetTakeItemList() []*ItemParam {
+ if x != nil {
+ return x.TakeItemList
+ }
+ return nil
+}
+
+func (x *PlayerCompoundMaterialBoostRsp) GetTakeStatus() CompoundBoostTakeStatusType {
+ if x != nil {
+ return x.TakeStatus
+ }
+ return CompoundBoostTakeStatusType_COMPOUND_BOOST_TAKE_STATUS_TYPE_NONE
+}
+
+func (x *PlayerCompoundMaterialBoostRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerCompoundMaterialBoostRsp) GetCompoundQueDataList() []*CompoundQueueData {
+ if x != nil {
+ return x.CompoundQueDataList
+ }
+ return nil
+}
+
+var File_PlayerCompoundMaterialBoostRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerCompoundMaterialBoostRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64,
+ 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x43,
+ 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x61, 0x6b, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x1e, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x61, 0x74,
+ 0x65, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x36, 0x0a,
+ 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74,
+ 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x74, 0x65,
+ 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x6f, 0x6f, 0x73, 0x74,
+ 0x54, 0x61, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
+ 0x74, 0x61, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64,
+ 0x5f, 0x71, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x13,
+ 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCompoundMaterialBoostRsp_proto_rawDescOnce sync.Once
+ file_PlayerCompoundMaterialBoostRsp_proto_rawDescData = file_PlayerCompoundMaterialBoostRsp_proto_rawDesc
+)
+
+func file_PlayerCompoundMaterialBoostRsp_proto_rawDescGZIP() []byte {
+ file_PlayerCompoundMaterialBoostRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerCompoundMaterialBoostRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCompoundMaterialBoostRsp_proto_rawDescData)
+ })
+ return file_PlayerCompoundMaterialBoostRsp_proto_rawDescData
+}
+
+var file_PlayerCompoundMaterialBoostRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCompoundMaterialBoostRsp_proto_goTypes = []interface{}{
+ (*PlayerCompoundMaterialBoostRsp)(nil), // 0: proto.PlayerCompoundMaterialBoostRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+ (CompoundBoostTakeStatusType)(0), // 2: proto.CompoundBoostTakeStatusType
+ (*CompoundQueueData)(nil), // 3: proto.CompoundQueueData
+}
+var file_PlayerCompoundMaterialBoostRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerCompoundMaterialBoostRsp.take_item_list:type_name -> proto.ItemParam
+ 2, // 1: proto.PlayerCompoundMaterialBoostRsp.take_status:type_name -> proto.CompoundBoostTakeStatusType
+ 3, // 2: proto.PlayerCompoundMaterialBoostRsp.compound_que_data_list:type_name -> proto.CompoundQueueData
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCompoundMaterialBoostRsp_proto_init() }
+func file_PlayerCompoundMaterialBoostRsp_proto_init() {
+ if File_PlayerCompoundMaterialBoostRsp_proto != nil {
+ return
+ }
+ file_CompoundBoostTakeStatusType_proto_init()
+ file_CompoundQueueData_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCompoundMaterialBoostRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCompoundMaterialBoostRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCompoundMaterialBoostRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCompoundMaterialBoostRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerCompoundMaterialBoostRsp_proto_depIdxs,
+ MessageInfos: file_PlayerCompoundMaterialBoostRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerCompoundMaterialBoostRsp_proto = out.File
+ file_PlayerCompoundMaterialBoostRsp_proto_rawDesc = nil
+ file_PlayerCompoundMaterialBoostRsp_proto_goTypes = nil
+ file_PlayerCompoundMaterialBoostRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCompoundMaterialReq.pb.go b/protocol/proto/PlayerCompoundMaterialReq.pb.go
new file mode 100644
index 00000000..650ef9a3
--- /dev/null
+++ b/protocol/proto/PlayerCompoundMaterialReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCompoundMaterialReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 150
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerCompoundMaterialReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Count uint32 `protobuf:"varint,11,opt,name=count,proto3" json:"count,omitempty"`
+ CompoundId uint32 `protobuf:"varint,3,opt,name=compound_id,json=compoundId,proto3" json:"compound_id,omitempty"`
+}
+
+func (x *PlayerCompoundMaterialReq) Reset() {
+ *x = PlayerCompoundMaterialReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCompoundMaterialReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCompoundMaterialReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCompoundMaterialReq) ProtoMessage() {}
+
+func (x *PlayerCompoundMaterialReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCompoundMaterialReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCompoundMaterialReq.ProtoReflect.Descriptor instead.
+func (*PlayerCompoundMaterialReq) Descriptor() ([]byte, []int) {
+ return file_PlayerCompoundMaterialReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCompoundMaterialReq) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *PlayerCompoundMaterialReq) GetCompoundId() uint32 {
+ if x != nil {
+ return x.CompoundId
+ }
+ return 0
+}
+
+var File_PlayerCompoundMaterialReq_proto protoreflect.FileDescriptor
+
+var file_PlayerCompoundMaterialReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64,
+ 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
+ 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCompoundMaterialReq_proto_rawDescOnce sync.Once
+ file_PlayerCompoundMaterialReq_proto_rawDescData = file_PlayerCompoundMaterialReq_proto_rawDesc
+)
+
+func file_PlayerCompoundMaterialReq_proto_rawDescGZIP() []byte {
+ file_PlayerCompoundMaterialReq_proto_rawDescOnce.Do(func() {
+ file_PlayerCompoundMaterialReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCompoundMaterialReq_proto_rawDescData)
+ })
+ return file_PlayerCompoundMaterialReq_proto_rawDescData
+}
+
+var file_PlayerCompoundMaterialReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCompoundMaterialReq_proto_goTypes = []interface{}{
+ (*PlayerCompoundMaterialReq)(nil), // 0: proto.PlayerCompoundMaterialReq
+}
+var file_PlayerCompoundMaterialReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCompoundMaterialReq_proto_init() }
+func file_PlayerCompoundMaterialReq_proto_init() {
+ if File_PlayerCompoundMaterialReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCompoundMaterialReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCompoundMaterialReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCompoundMaterialReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCompoundMaterialReq_proto_goTypes,
+ DependencyIndexes: file_PlayerCompoundMaterialReq_proto_depIdxs,
+ MessageInfos: file_PlayerCompoundMaterialReq_proto_msgTypes,
+ }.Build()
+ File_PlayerCompoundMaterialReq_proto = out.File
+ file_PlayerCompoundMaterialReq_proto_rawDesc = nil
+ file_PlayerCompoundMaterialReq_proto_goTypes = nil
+ file_PlayerCompoundMaterialReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCompoundMaterialRsp.pb.go b/protocol/proto/PlayerCompoundMaterialRsp.pb.go
new file mode 100644
index 00000000..c14c422e
--- /dev/null
+++ b/protocol/proto/PlayerCompoundMaterialRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCompoundMaterialRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 143
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerCompoundMaterialRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CompoundQueData *CompoundQueueData `protobuf:"bytes,5,opt,name=compound_que_data,json=compoundQueData,proto3" json:"compound_que_data,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerCompoundMaterialRsp) Reset() {
+ *x = PlayerCompoundMaterialRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCompoundMaterialRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCompoundMaterialRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCompoundMaterialRsp) ProtoMessage() {}
+
+func (x *PlayerCompoundMaterialRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCompoundMaterialRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCompoundMaterialRsp.ProtoReflect.Descriptor instead.
+func (*PlayerCompoundMaterialRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerCompoundMaterialRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCompoundMaterialRsp) GetCompoundQueData() *CompoundQueueData {
+ if x != nil {
+ return x.CompoundQueData
+ }
+ return nil
+}
+
+func (x *PlayerCompoundMaterialRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerCompoundMaterialRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerCompoundMaterialRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64,
+ 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75,
+ 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x7b, 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6f,
+ 0x75, 0x6e, 0x64, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x44,
+ 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x5f, 0x64,
+ 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCompoundMaterialRsp_proto_rawDescOnce sync.Once
+ file_PlayerCompoundMaterialRsp_proto_rawDescData = file_PlayerCompoundMaterialRsp_proto_rawDesc
+)
+
+func file_PlayerCompoundMaterialRsp_proto_rawDescGZIP() []byte {
+ file_PlayerCompoundMaterialRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerCompoundMaterialRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCompoundMaterialRsp_proto_rawDescData)
+ })
+ return file_PlayerCompoundMaterialRsp_proto_rawDescData
+}
+
+var file_PlayerCompoundMaterialRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCompoundMaterialRsp_proto_goTypes = []interface{}{
+ (*PlayerCompoundMaterialRsp)(nil), // 0: proto.PlayerCompoundMaterialRsp
+ (*CompoundQueueData)(nil), // 1: proto.CompoundQueueData
+}
+var file_PlayerCompoundMaterialRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerCompoundMaterialRsp.compound_que_data:type_name -> proto.CompoundQueueData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCompoundMaterialRsp_proto_init() }
+func file_PlayerCompoundMaterialRsp_proto_init() {
+ if File_PlayerCompoundMaterialRsp_proto != nil {
+ return
+ }
+ file_CompoundQueueData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCompoundMaterialRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCompoundMaterialRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCompoundMaterialRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCompoundMaterialRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerCompoundMaterialRsp_proto_depIdxs,
+ MessageInfos: file_PlayerCompoundMaterialRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerCompoundMaterialRsp_proto = out.File
+ file_PlayerCompoundMaterialRsp_proto_rawDesc = nil
+ file_PlayerCompoundMaterialRsp_proto_goTypes = nil
+ file_PlayerCompoundMaterialRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerConfirmMatchReq.pb.go b/protocol/proto/PlayerConfirmMatchReq.pb.go
new file mode 100644
index 00000000..04af92aa
--- /dev/null
+++ b/protocol/proto/PlayerConfirmMatchReq.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerConfirmMatchReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerConfirmMatchReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchType MatchType `protobuf:"varint,12,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+ IsAgreed bool `protobuf:"varint,10,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+}
+
+func (x *PlayerConfirmMatchReq) Reset() {
+ *x = PlayerConfirmMatchReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerConfirmMatchReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerConfirmMatchReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerConfirmMatchReq) ProtoMessage() {}
+
+func (x *PlayerConfirmMatchReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerConfirmMatchReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerConfirmMatchReq.ProtoReflect.Descriptor instead.
+func (*PlayerConfirmMatchReq) Descriptor() ([]byte, []int) {
+ return file_PlayerConfirmMatchReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerConfirmMatchReq) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+func (x *PlayerConfirmMatchReq) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+var File_PlayerConfirmMatchReq_proto protoreflect.FileDescriptor
+
+var file_PlayerConfirmMatchReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x2f,
+ 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerConfirmMatchReq_proto_rawDescOnce sync.Once
+ file_PlayerConfirmMatchReq_proto_rawDescData = file_PlayerConfirmMatchReq_proto_rawDesc
+)
+
+func file_PlayerConfirmMatchReq_proto_rawDescGZIP() []byte {
+ file_PlayerConfirmMatchReq_proto_rawDescOnce.Do(func() {
+ file_PlayerConfirmMatchReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerConfirmMatchReq_proto_rawDescData)
+ })
+ return file_PlayerConfirmMatchReq_proto_rawDescData
+}
+
+var file_PlayerConfirmMatchReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerConfirmMatchReq_proto_goTypes = []interface{}{
+ (*PlayerConfirmMatchReq)(nil), // 0: proto.PlayerConfirmMatchReq
+ (MatchType)(0), // 1: proto.MatchType
+}
+var file_PlayerConfirmMatchReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerConfirmMatchReq.match_type:type_name -> proto.MatchType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerConfirmMatchReq_proto_init() }
+func file_PlayerConfirmMatchReq_proto_init() {
+ if File_PlayerConfirmMatchReq_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerConfirmMatchReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerConfirmMatchReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerConfirmMatchReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerConfirmMatchReq_proto_goTypes,
+ DependencyIndexes: file_PlayerConfirmMatchReq_proto_depIdxs,
+ MessageInfos: file_PlayerConfirmMatchReq_proto_msgTypes,
+ }.Build()
+ File_PlayerConfirmMatchReq_proto = out.File
+ file_PlayerConfirmMatchReq_proto_rawDesc = nil
+ file_PlayerConfirmMatchReq_proto_goTypes = nil
+ file_PlayerConfirmMatchReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerConfirmMatchRsp.pb.go b/protocol/proto/PlayerConfirmMatchRsp.pb.go
new file mode 100644
index 00000000..89509fca
--- /dev/null
+++ b/protocol/proto/PlayerConfirmMatchRsp.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerConfirmMatchRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4194
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerConfirmMatchRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchType MatchType `protobuf:"varint,9,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+ MatchId uint32 `protobuf:"varint,4,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+ IsAgreed bool `protobuf:"varint,11,opt,name=is_agreed,json=isAgreed,proto3" json:"is_agreed,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerConfirmMatchRsp) Reset() {
+ *x = PlayerConfirmMatchRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerConfirmMatchRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerConfirmMatchRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerConfirmMatchRsp) ProtoMessage() {}
+
+func (x *PlayerConfirmMatchRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerConfirmMatchRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerConfirmMatchRsp.ProtoReflect.Descriptor instead.
+func (*PlayerConfirmMatchRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerConfirmMatchRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerConfirmMatchRsp) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+func (x *PlayerConfirmMatchRsp) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+func (x *PlayerConfirmMatchRsp) GetIsAgreed() bool {
+ if x != nil {
+ return x.IsAgreed
+ }
+ return false
+}
+
+func (x *PlayerConfirmMatchRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerConfirmMatchRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerConfirmMatchRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x01, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x73, 0x70, 0x12,
+ 0x2f, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerConfirmMatchRsp_proto_rawDescOnce sync.Once
+ file_PlayerConfirmMatchRsp_proto_rawDescData = file_PlayerConfirmMatchRsp_proto_rawDesc
+)
+
+func file_PlayerConfirmMatchRsp_proto_rawDescGZIP() []byte {
+ file_PlayerConfirmMatchRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerConfirmMatchRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerConfirmMatchRsp_proto_rawDescData)
+ })
+ return file_PlayerConfirmMatchRsp_proto_rawDescData
+}
+
+var file_PlayerConfirmMatchRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerConfirmMatchRsp_proto_goTypes = []interface{}{
+ (*PlayerConfirmMatchRsp)(nil), // 0: proto.PlayerConfirmMatchRsp
+ (MatchType)(0), // 1: proto.MatchType
+}
+var file_PlayerConfirmMatchRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerConfirmMatchRsp.match_type:type_name -> proto.MatchType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerConfirmMatchRsp_proto_init() }
+func file_PlayerConfirmMatchRsp_proto_init() {
+ if File_PlayerConfirmMatchRsp_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerConfirmMatchRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerConfirmMatchRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerConfirmMatchRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerConfirmMatchRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerConfirmMatchRsp_proto_depIdxs,
+ MessageInfos: file_PlayerConfirmMatchRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerConfirmMatchRsp_proto = out.File
+ file_PlayerConfirmMatchRsp_proto_rawDesc = nil
+ file_PlayerConfirmMatchRsp_proto_goTypes = nil
+ file_PlayerConfirmMatchRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCookArgsReq.pb.go b/protocol/proto/PlayerCookArgsReq.pb.go
new file mode 100644
index 00000000..4e67a2db
--- /dev/null
+++ b/protocol/proto/PlayerCookArgsReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCookArgsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 166
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerCookArgsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AssistAvatar uint32 `protobuf:"varint,10,opt,name=assist_avatar,json=assistAvatar,proto3" json:"assist_avatar,omitempty"`
+ RecipeId uint32 `protobuf:"varint,11,opt,name=recipe_id,json=recipeId,proto3" json:"recipe_id,omitempty"`
+}
+
+func (x *PlayerCookArgsReq) Reset() {
+ *x = PlayerCookArgsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCookArgsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCookArgsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCookArgsReq) ProtoMessage() {}
+
+func (x *PlayerCookArgsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCookArgsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCookArgsReq.ProtoReflect.Descriptor instead.
+func (*PlayerCookArgsReq) Descriptor() ([]byte, []int) {
+ return file_PlayerCookArgsReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCookArgsReq) GetAssistAvatar() uint32 {
+ if x != nil {
+ return x.AssistAvatar
+ }
+ return 0
+}
+
+func (x *PlayerCookArgsReq) GetRecipeId() uint32 {
+ if x != nil {
+ return x.RecipeId
+ }
+ return 0
+}
+
+var File_PlayerCookArgsReq_proto protoreflect.FileDescriptor
+
+var file_PlayerCookArgsReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6b, 0x41, 0x72, 0x67, 0x73,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x55, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6b, 0x41, 0x72,
+ 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x73,
+ 0x73, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65,
+ 0x63, 0x69, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72,
+ 0x65, 0x63, 0x69, 0x70, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCookArgsReq_proto_rawDescOnce sync.Once
+ file_PlayerCookArgsReq_proto_rawDescData = file_PlayerCookArgsReq_proto_rawDesc
+)
+
+func file_PlayerCookArgsReq_proto_rawDescGZIP() []byte {
+ file_PlayerCookArgsReq_proto_rawDescOnce.Do(func() {
+ file_PlayerCookArgsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCookArgsReq_proto_rawDescData)
+ })
+ return file_PlayerCookArgsReq_proto_rawDescData
+}
+
+var file_PlayerCookArgsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCookArgsReq_proto_goTypes = []interface{}{
+ (*PlayerCookArgsReq)(nil), // 0: proto.PlayerCookArgsReq
+}
+var file_PlayerCookArgsReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCookArgsReq_proto_init() }
+func file_PlayerCookArgsReq_proto_init() {
+ if File_PlayerCookArgsReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCookArgsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCookArgsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCookArgsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCookArgsReq_proto_goTypes,
+ DependencyIndexes: file_PlayerCookArgsReq_proto_depIdxs,
+ MessageInfos: file_PlayerCookArgsReq_proto_msgTypes,
+ }.Build()
+ File_PlayerCookArgsReq_proto = out.File
+ file_PlayerCookArgsReq_proto_rawDesc = nil
+ file_PlayerCookArgsReq_proto_goTypes = nil
+ file_PlayerCookArgsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCookArgsRsp.pb.go b/protocol/proto/PlayerCookArgsRsp.pb.go
new file mode 100644
index 00000000..2e6e8b6e
--- /dev/null
+++ b/protocol/proto/PlayerCookArgsRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCookArgsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 168
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerCookArgsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ QteRangeRatio float32 `protobuf:"fixed32,12,opt,name=qte_range_ratio,json=qteRangeRatio,proto3" json:"qte_range_ratio,omitempty"`
+}
+
+func (x *PlayerCookArgsRsp) Reset() {
+ *x = PlayerCookArgsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCookArgsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCookArgsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCookArgsRsp) ProtoMessage() {}
+
+func (x *PlayerCookArgsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCookArgsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCookArgsRsp.ProtoReflect.Descriptor instead.
+func (*PlayerCookArgsRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerCookArgsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCookArgsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerCookArgsRsp) GetQteRangeRatio() float32 {
+ if x != nil {
+ return x.QteRangeRatio
+ }
+ return 0
+}
+
+var File_PlayerCookArgsRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerCookArgsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6b, 0x41, 0x72, 0x67, 0x73,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x55, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6b, 0x41, 0x72,
+ 0x67, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x26, 0x0a, 0x0f, 0x71, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x71, 0x74, 0x65, 0x52, 0x61, 0x6e,
+ 0x67, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCookArgsRsp_proto_rawDescOnce sync.Once
+ file_PlayerCookArgsRsp_proto_rawDescData = file_PlayerCookArgsRsp_proto_rawDesc
+)
+
+func file_PlayerCookArgsRsp_proto_rawDescGZIP() []byte {
+ file_PlayerCookArgsRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerCookArgsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCookArgsRsp_proto_rawDescData)
+ })
+ return file_PlayerCookArgsRsp_proto_rawDescData
+}
+
+var file_PlayerCookArgsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCookArgsRsp_proto_goTypes = []interface{}{
+ (*PlayerCookArgsRsp)(nil), // 0: proto.PlayerCookArgsRsp
+}
+var file_PlayerCookArgsRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCookArgsRsp_proto_init() }
+func file_PlayerCookArgsRsp_proto_init() {
+ if File_PlayerCookArgsRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCookArgsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCookArgsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCookArgsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCookArgsRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerCookArgsRsp_proto_depIdxs,
+ MessageInfos: file_PlayerCookArgsRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerCookArgsRsp_proto = out.File
+ file_PlayerCookArgsRsp_proto_rawDesc = nil
+ file_PlayerCookArgsRsp_proto_goTypes = nil
+ file_PlayerCookArgsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCookReq.pb.go b/protocol/proto/PlayerCookReq.pb.go
new file mode 100644
index 00000000..6ed90027
--- /dev/null
+++ b/protocol/proto/PlayerCookReq.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCookReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 194
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerCookReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CookCount uint32 `protobuf:"varint,1,opt,name=cook_count,json=cookCount,proto3" json:"cook_count,omitempty"`
+ QteQuality uint32 `protobuf:"varint,12,opt,name=qte_quality,json=qteQuality,proto3" json:"qte_quality,omitempty"`
+ RecipeId uint32 `protobuf:"varint,8,opt,name=recipe_id,json=recipeId,proto3" json:"recipe_id,omitempty"`
+ AssistAvatar uint32 `protobuf:"varint,14,opt,name=assist_avatar,json=assistAvatar,proto3" json:"assist_avatar,omitempty"`
+}
+
+func (x *PlayerCookReq) Reset() {
+ *x = PlayerCookReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCookReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCookReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCookReq) ProtoMessage() {}
+
+func (x *PlayerCookReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCookReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCookReq.ProtoReflect.Descriptor instead.
+func (*PlayerCookReq) Descriptor() ([]byte, []int) {
+ return file_PlayerCookReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCookReq) GetCookCount() uint32 {
+ if x != nil {
+ return x.CookCount
+ }
+ return 0
+}
+
+func (x *PlayerCookReq) GetQteQuality() uint32 {
+ if x != nil {
+ return x.QteQuality
+ }
+ return 0
+}
+
+func (x *PlayerCookReq) GetRecipeId() uint32 {
+ if x != nil {
+ return x.RecipeId
+ }
+ return 0
+}
+
+func (x *PlayerCookReq) GetAssistAvatar() uint32 {
+ if x != nil {
+ return x.AssistAvatar
+ }
+ return 0
+}
+
+var File_PlayerCookReq_proto protoreflect.FileDescriptor
+
+var file_PlayerCookReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a,
+ 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x63, 0x6f, 0x6f, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x71, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x71, 0x74, 0x65, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1b,
+ 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61,
+ 0x73, 0x73, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCookReq_proto_rawDescOnce sync.Once
+ file_PlayerCookReq_proto_rawDescData = file_PlayerCookReq_proto_rawDesc
+)
+
+func file_PlayerCookReq_proto_rawDescGZIP() []byte {
+ file_PlayerCookReq_proto_rawDescOnce.Do(func() {
+ file_PlayerCookReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCookReq_proto_rawDescData)
+ })
+ return file_PlayerCookReq_proto_rawDescData
+}
+
+var file_PlayerCookReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCookReq_proto_goTypes = []interface{}{
+ (*PlayerCookReq)(nil), // 0: proto.PlayerCookReq
+}
+var file_PlayerCookReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCookReq_proto_init() }
+func file_PlayerCookReq_proto_init() {
+ if File_PlayerCookReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCookReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCookReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCookReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCookReq_proto_goTypes,
+ DependencyIndexes: file_PlayerCookReq_proto_depIdxs,
+ MessageInfos: file_PlayerCookReq_proto_msgTypes,
+ }.Build()
+ File_PlayerCookReq_proto = out.File
+ file_PlayerCookReq_proto_rawDesc = nil
+ file_PlayerCookReq_proto_goTypes = nil
+ file_PlayerCookReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCookRsp.pb.go b/protocol/proto/PlayerCookRsp.pb.go
new file mode 100644
index 00000000..1f9747ab
--- /dev/null
+++ b/protocol/proto/PlayerCookRsp.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCookRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 188
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerCookRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExtralItemList []*ItemParam `protobuf:"bytes,15,rep,name=extral_item_list,json=extralItemList,proto3" json:"extral_item_list,omitempty"`
+ CookCount uint32 `protobuf:"varint,12,opt,name=cook_count,json=cookCount,proto3" json:"cook_count,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,11,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ QteQuality uint32 `protobuf:"varint,5,opt,name=qte_quality,json=qteQuality,proto3" json:"qte_quality,omitempty"`
+ RecipeData *CookRecipeData `protobuf:"bytes,7,opt,name=recipe_data,json=recipeData,proto3" json:"recipe_data,omitempty"`
+}
+
+func (x *PlayerCookRsp) Reset() {
+ *x = PlayerCookRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCookRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCookRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCookRsp) ProtoMessage() {}
+
+func (x *PlayerCookRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCookRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCookRsp.ProtoReflect.Descriptor instead.
+func (*PlayerCookRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerCookRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCookRsp) GetExtralItemList() []*ItemParam {
+ if x != nil {
+ return x.ExtralItemList
+ }
+ return nil
+}
+
+func (x *PlayerCookRsp) GetCookCount() uint32 {
+ if x != nil {
+ return x.CookCount
+ }
+ return 0
+}
+
+func (x *PlayerCookRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *PlayerCookRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerCookRsp) GetQteQuality() uint32 {
+ if x != nil {
+ return x.QteQuality
+ }
+ return 0
+}
+
+func (x *PlayerCookRsp) GetRecipeData() *CookRecipeData {
+ if x != nil {
+ return x.RecipeData
+ }
+ return nil
+}
+
+var File_PlayerCookRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerCookRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x43, 0x6f,
+ 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x02, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f,
+ 0x6f, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x6c, 0x5f,
+ 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6f, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6f, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x71, 0x74, 0x65,
+ 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x71, 0x74, 0x65, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x65,
+ 0x63, 0x69, 0x70, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x63, 0x69,
+ 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerCookRsp_proto_rawDescOnce sync.Once
+ file_PlayerCookRsp_proto_rawDescData = file_PlayerCookRsp_proto_rawDesc
+)
+
+func file_PlayerCookRsp_proto_rawDescGZIP() []byte {
+ file_PlayerCookRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerCookRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCookRsp_proto_rawDescData)
+ })
+ return file_PlayerCookRsp_proto_rawDescData
+}
+
+var file_PlayerCookRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCookRsp_proto_goTypes = []interface{}{
+ (*PlayerCookRsp)(nil), // 0: proto.PlayerCookRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+ (*CookRecipeData)(nil), // 2: proto.CookRecipeData
+}
+var file_PlayerCookRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerCookRsp.extral_item_list:type_name -> proto.ItemParam
+ 1, // 1: proto.PlayerCookRsp.item_list:type_name -> proto.ItemParam
+ 2, // 2: proto.PlayerCookRsp.recipe_data:type_name -> proto.CookRecipeData
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCookRsp_proto_init() }
+func file_PlayerCookRsp_proto_init() {
+ if File_PlayerCookRsp_proto != nil {
+ return
+ }
+ file_CookRecipeData_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCookRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCookRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCookRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCookRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerCookRsp_proto_depIdxs,
+ MessageInfos: file_PlayerCookRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerCookRsp_proto = out.File
+ file_PlayerCookRsp_proto_rawDesc = nil
+ file_PlayerCookRsp_proto_goTypes = nil
+ file_PlayerCookRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerCustomDungeonMuipData.pb.go b/protocol/proto/PlayerCustomDungeonMuipData.pb.go
new file mode 100644
index 00000000..3a130bce
--- /dev/null
+++ b/protocol/proto/PlayerCustomDungeonMuipData.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerCustomDungeonMuipData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerCustomDungeonMuipData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ PublishDungeonList []uint64 `protobuf:"varint,2,rep,packed,name=publish_dungeon_list,json=publishDungeonList,proto3" json:"publish_dungeon_list,omitempty"`
+ StoreDungeonList []uint64 `protobuf:"varint,3,rep,packed,name=store_dungeon_list,json=storeDungeonList,proto3" json:"store_dungeon_list,omitempty"`
+ BattleRecordList []*CustomDungeonBattleRecordMuipData `protobuf:"bytes,4,rep,name=battle_record_list,json=battleRecordList,proto3" json:"battle_record_list,omitempty"`
+}
+
+func (x *PlayerCustomDungeonMuipData) Reset() {
+ *x = PlayerCustomDungeonMuipData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerCustomDungeonMuipData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerCustomDungeonMuipData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerCustomDungeonMuipData) ProtoMessage() {}
+
+func (x *PlayerCustomDungeonMuipData) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerCustomDungeonMuipData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerCustomDungeonMuipData.ProtoReflect.Descriptor instead.
+func (*PlayerCustomDungeonMuipData) Descriptor() ([]byte, []int) {
+ return file_PlayerCustomDungeonMuipData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerCustomDungeonMuipData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlayerCustomDungeonMuipData) GetPublishDungeonList() []uint64 {
+ if x != nil {
+ return x.PublishDungeonList
+ }
+ return nil
+}
+
+func (x *PlayerCustomDungeonMuipData) GetStoreDungeonList() []uint64 {
+ if x != nil {
+ return x.StoreDungeonList
+ }
+ return nil
+}
+
+func (x *PlayerCustomDungeonMuipData) GetBattleRecordList() []*CustomDungeonBattleRecordMuipData {
+ if x != nil {
+ return x.BattleRecordList
+ }
+ return nil
+}
+
+var File_PlayerCustomDungeonMuipData_proto protoreflect.FileDescriptor
+
+var file_PlayerCustomDungeonMuipData_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x43, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xe7, 0x01, 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4d, 0x75, 0x69, 0x70, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
+ 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x04, 0x52, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x65,
+ 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x04, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x12, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f,
+ 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x4d, 0x75, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x62, 0x61, 0x74,
+ 0x74, 0x6c, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PlayerCustomDungeonMuipData_proto_rawDescOnce sync.Once
+ file_PlayerCustomDungeonMuipData_proto_rawDescData = file_PlayerCustomDungeonMuipData_proto_rawDesc
+)
+
+func file_PlayerCustomDungeonMuipData_proto_rawDescGZIP() []byte {
+ file_PlayerCustomDungeonMuipData_proto_rawDescOnce.Do(func() {
+ file_PlayerCustomDungeonMuipData_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerCustomDungeonMuipData_proto_rawDescData)
+ })
+ return file_PlayerCustomDungeonMuipData_proto_rawDescData
+}
+
+var file_PlayerCustomDungeonMuipData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerCustomDungeonMuipData_proto_goTypes = []interface{}{
+ (*PlayerCustomDungeonMuipData)(nil), // 0: proto.PlayerCustomDungeonMuipData
+ (*CustomDungeonBattleRecordMuipData)(nil), // 1: proto.CustomDungeonBattleRecordMuipData
+}
+var file_PlayerCustomDungeonMuipData_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerCustomDungeonMuipData.battle_record_list:type_name -> proto.CustomDungeonBattleRecordMuipData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerCustomDungeonMuipData_proto_init() }
+func file_PlayerCustomDungeonMuipData_proto_init() {
+ if File_PlayerCustomDungeonMuipData_proto != nil {
+ return
+ }
+ file_CustomDungeonBattleRecordMuipData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerCustomDungeonMuipData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerCustomDungeonMuipData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerCustomDungeonMuipData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerCustomDungeonMuipData_proto_goTypes,
+ DependencyIndexes: file_PlayerCustomDungeonMuipData_proto_depIdxs,
+ MessageInfos: file_PlayerCustomDungeonMuipData_proto_msgTypes,
+ }.Build()
+ File_PlayerCustomDungeonMuipData_proto = out.File
+ file_PlayerCustomDungeonMuipData_proto_rawDesc = nil
+ file_PlayerCustomDungeonMuipData_proto_goTypes = nil
+ file_PlayerCustomDungeonMuipData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerDataNotify.pb.go b/protocol/proto/PlayerDataNotify.pb.go
new file mode 100644
index 00000000..9aca2ffb
--- /dev/null
+++ b/protocol/proto/PlayerDataNotify.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 190
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerTime uint64 `protobuf:"varint,7,opt,name=server_time,json=serverTime,proto3" json:"server_time,omitempty"`
+ NickName string `protobuf:"bytes,8,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
+ IsFirstLoginToday bool `protobuf:"varint,12,opt,name=is_first_login_today,json=isFirstLoginToday,proto3" json:"is_first_login_today,omitempty"`
+ RegionId uint32 `protobuf:"varint,6,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
+ PropMap map[uint32]*PropValue `protobuf:"bytes,15,rep,name=prop_map,json=propMap,proto3" json:"prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *PlayerDataNotify) Reset() {
+ *x = PlayerDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerDataNotify) ProtoMessage() {}
+
+func (x *PlayerDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerDataNotify.ProtoReflect.Descriptor instead.
+func (*PlayerDataNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerDataNotify) GetServerTime() uint64 {
+ if x != nil {
+ return x.ServerTime
+ }
+ return 0
+}
+
+func (x *PlayerDataNotify) GetNickName() string {
+ if x != nil {
+ return x.NickName
+ }
+ return ""
+}
+
+func (x *PlayerDataNotify) GetIsFirstLoginToday() bool {
+ if x != nil {
+ return x.IsFirstLoginToday
+ }
+ return false
+}
+
+func (x *PlayerDataNotify) GetRegionId() uint32 {
+ if x != nil {
+ return x.RegionId
+ }
+ return 0
+}
+
+func (x *PlayerDataNotify) GetPropMap() map[uint32]*PropValue {
+ if x != nil {
+ return x.PropMap
+ }
+ return nil
+}
+
+var File_PlayerDataNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xad, 0x02, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f,
+ 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x11, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54,
+ 0x6f, 0x64, 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49,
+ 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x50, 0x72, 0x6f,
+ 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x70, 0x4d,
+ 0x61, 0x70, 0x1a, 0x4c, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerDataNotify_proto_rawDescOnce sync.Once
+ file_PlayerDataNotify_proto_rawDescData = file_PlayerDataNotify_proto_rawDesc
+)
+
+func file_PlayerDataNotify_proto_rawDescGZIP() []byte {
+ file_PlayerDataNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerDataNotify_proto_rawDescData)
+ })
+ return file_PlayerDataNotify_proto_rawDescData
+}
+
+var file_PlayerDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_PlayerDataNotify_proto_goTypes = []interface{}{
+ (*PlayerDataNotify)(nil), // 0: proto.PlayerDataNotify
+ nil, // 1: proto.PlayerDataNotify.PropMapEntry
+ (*PropValue)(nil), // 2: proto.PropValue
+}
+var file_PlayerDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerDataNotify.prop_map:type_name -> proto.PlayerDataNotify.PropMapEntry
+ 2, // 1: proto.PlayerDataNotify.PropMapEntry.value:type_name -> proto.PropValue
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerDataNotify_proto_init() }
+func file_PlayerDataNotify_proto_init() {
+ if File_PlayerDataNotify_proto != nil {
+ return
+ }
+ file_PropValue_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerDataNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerDataNotify_proto_depIdxs,
+ MessageInfos: file_PlayerDataNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerDataNotify_proto = out.File
+ file_PlayerDataNotify_proto_rawDesc = nil
+ file_PlayerDataNotify_proto_goTypes = nil
+ file_PlayerDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerDeathZoneNotify.pb.go b/protocol/proto/PlayerDeathZoneNotify.pb.go
new file mode 100644
index 00000000..5febc41d
--- /dev/null
+++ b/protocol/proto/PlayerDeathZoneNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerDeathZoneNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6275
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerDeathZoneNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurDeathZoneId uint32 `protobuf:"varint,8,opt,name=cur_death_zone_id,json=curDeathZoneId,proto3" json:"cur_death_zone_id,omitempty"`
+}
+
+func (x *PlayerDeathZoneNotify) Reset() {
+ *x = PlayerDeathZoneNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerDeathZoneNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerDeathZoneNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerDeathZoneNotify) ProtoMessage() {}
+
+func (x *PlayerDeathZoneNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerDeathZoneNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerDeathZoneNotify.ProtoReflect.Descriptor instead.
+func (*PlayerDeathZoneNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerDeathZoneNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerDeathZoneNotify) GetCurDeathZoneId() uint32 {
+ if x != nil {
+ return x.CurDeathZoneId
+ }
+ return 0
+}
+
+var File_PlayerDeathZoneNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerDeathZoneNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65, 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x65,
+ 0x61, 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a,
+ 0x11, 0x63, 0x75, 0x72, 0x5f, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x44, 0x65, 0x61,
+ 0x74, 0x68, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerDeathZoneNotify_proto_rawDescOnce sync.Once
+ file_PlayerDeathZoneNotify_proto_rawDescData = file_PlayerDeathZoneNotify_proto_rawDesc
+)
+
+func file_PlayerDeathZoneNotify_proto_rawDescGZIP() []byte {
+ file_PlayerDeathZoneNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerDeathZoneNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerDeathZoneNotify_proto_rawDescData)
+ })
+ return file_PlayerDeathZoneNotify_proto_rawDescData
+}
+
+var file_PlayerDeathZoneNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerDeathZoneNotify_proto_goTypes = []interface{}{
+ (*PlayerDeathZoneNotify)(nil), // 0: proto.PlayerDeathZoneNotify
+}
+var file_PlayerDeathZoneNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerDeathZoneNotify_proto_init() }
+func file_PlayerDeathZoneNotify_proto_init() {
+ if File_PlayerDeathZoneNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerDeathZoneNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerDeathZoneNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerDeathZoneNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerDeathZoneNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerDeathZoneNotify_proto_depIdxs,
+ MessageInfos: file_PlayerDeathZoneNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerDeathZoneNotify_proto = out.File
+ file_PlayerDeathZoneNotify_proto_rawDesc = nil
+ file_PlayerDeathZoneNotify_proto_goTypes = nil
+ file_PlayerDeathZoneNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerDieOption.pb.go b/protocol/proto/PlayerDieOption.pb.go
new file mode 100644
index 00000000..3fed5dd8
--- /dev/null
+++ b/protocol/proto/PlayerDieOption.pb.go
@@ -0,0 +1,156 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerDieOption.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerDieOption int32
+
+const (
+ PlayerDieOption_PLAYER_DIE_OPTION_OPT_NONE PlayerDieOption = 0
+ PlayerDieOption_PLAYER_DIE_OPTION_OPT_REPLAY PlayerDieOption = 1
+ PlayerDieOption_PLAYER_DIE_OPTION_OPT_CANCEL PlayerDieOption = 2
+ PlayerDieOption_PLAYER_DIE_OPTION_OPT_REVIVE PlayerDieOption = 3
+)
+
+// Enum value maps for PlayerDieOption.
+var (
+ PlayerDieOption_name = map[int32]string{
+ 0: "PLAYER_DIE_OPTION_OPT_NONE",
+ 1: "PLAYER_DIE_OPTION_OPT_REPLAY",
+ 2: "PLAYER_DIE_OPTION_OPT_CANCEL",
+ 3: "PLAYER_DIE_OPTION_OPT_REVIVE",
+ }
+ PlayerDieOption_value = map[string]int32{
+ "PLAYER_DIE_OPTION_OPT_NONE": 0,
+ "PLAYER_DIE_OPTION_OPT_REPLAY": 1,
+ "PLAYER_DIE_OPTION_OPT_CANCEL": 2,
+ "PLAYER_DIE_OPTION_OPT_REVIVE": 3,
+ }
+)
+
+func (x PlayerDieOption) Enum() *PlayerDieOption {
+ p := new(PlayerDieOption)
+ *p = x
+ return p
+}
+
+func (x PlayerDieOption) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerDieOption) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerDieOption_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerDieOption) Type() protoreflect.EnumType {
+ return &file_PlayerDieOption_proto_enumTypes[0]
+}
+
+func (x PlayerDieOption) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerDieOption.Descriptor instead.
+func (PlayerDieOption) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerDieOption_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PlayerDieOption_proto protoreflect.FileDescriptor
+
+var file_PlayerDieOption_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x97,
+ 0x01, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45,
+ 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45,
+ 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45,
+ 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4c,
+ 0x41, 0x59, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44,
+ 0x49, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x5f, 0x43, 0x41,
+ 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52,
+ 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x5f,
+ 0x52, 0x45, 0x56, 0x49, 0x56, 0x45, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerDieOption_proto_rawDescOnce sync.Once
+ file_PlayerDieOption_proto_rawDescData = file_PlayerDieOption_proto_rawDesc
+)
+
+func file_PlayerDieOption_proto_rawDescGZIP() []byte {
+ file_PlayerDieOption_proto_rawDescOnce.Do(func() {
+ file_PlayerDieOption_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerDieOption_proto_rawDescData)
+ })
+ return file_PlayerDieOption_proto_rawDescData
+}
+
+var file_PlayerDieOption_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerDieOption_proto_goTypes = []interface{}{
+ (PlayerDieOption)(0), // 0: proto.PlayerDieOption
+}
+var file_PlayerDieOption_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerDieOption_proto_init() }
+func file_PlayerDieOption_proto_init() {
+ if File_PlayerDieOption_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerDieOption_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerDieOption_proto_goTypes,
+ DependencyIndexes: file_PlayerDieOption_proto_depIdxs,
+ EnumInfos: file_PlayerDieOption_proto_enumTypes,
+ }.Build()
+ File_PlayerDieOption_proto = out.File
+ file_PlayerDieOption_proto_rawDesc = nil
+ file_PlayerDieOption_proto_goTypes = nil
+ file_PlayerDieOption_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerDieType.pb.go b/protocol/proto/PlayerDieType.pb.go
new file mode 100644
index 00000000..131131a2
--- /dev/null
+++ b/protocol/proto/PlayerDieType.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerDieType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerDieType int32
+
+const (
+ PlayerDieType_PLAYER_DIE_TYPE_NONE PlayerDieType = 0
+ PlayerDieType_PLAYER_DIE_TYPE_KILL_BY_MONSTER PlayerDieType = 1
+ PlayerDieType_PLAYER_DIE_TYPE_KILL_BY_GEAR PlayerDieType = 2
+ PlayerDieType_PLAYER_DIE_TYPE_FALL PlayerDieType = 3
+ PlayerDieType_PLAYER_DIE_TYPE_DRAWN PlayerDieType = 4
+ PlayerDieType_PLAYER_DIE_TYPE_ABYSS PlayerDieType = 5
+ PlayerDieType_PLAYER_DIE_TYPE_GM PlayerDieType = 6
+ PlayerDieType_PLAYER_DIE_TYPE_CLIMATE_COLD PlayerDieType = 7
+ PlayerDieType_PLAYER_DIE_TYPE_STORM_LIGHTING PlayerDieType = 8
+)
+
+// Enum value maps for PlayerDieType.
+var (
+ PlayerDieType_name = map[int32]string{
+ 0: "PLAYER_DIE_TYPE_NONE",
+ 1: "PLAYER_DIE_TYPE_KILL_BY_MONSTER",
+ 2: "PLAYER_DIE_TYPE_KILL_BY_GEAR",
+ 3: "PLAYER_DIE_TYPE_FALL",
+ 4: "PLAYER_DIE_TYPE_DRAWN",
+ 5: "PLAYER_DIE_TYPE_ABYSS",
+ 6: "PLAYER_DIE_TYPE_GM",
+ 7: "PLAYER_DIE_TYPE_CLIMATE_COLD",
+ 8: "PLAYER_DIE_TYPE_STORM_LIGHTING",
+ }
+ PlayerDieType_value = map[string]int32{
+ "PLAYER_DIE_TYPE_NONE": 0,
+ "PLAYER_DIE_TYPE_KILL_BY_MONSTER": 1,
+ "PLAYER_DIE_TYPE_KILL_BY_GEAR": 2,
+ "PLAYER_DIE_TYPE_FALL": 3,
+ "PLAYER_DIE_TYPE_DRAWN": 4,
+ "PLAYER_DIE_TYPE_ABYSS": 5,
+ "PLAYER_DIE_TYPE_GM": 6,
+ "PLAYER_DIE_TYPE_CLIMATE_COLD": 7,
+ "PLAYER_DIE_TYPE_STORM_LIGHTING": 8,
+ }
+)
+
+func (x PlayerDieType) Enum() *PlayerDieType {
+ p := new(PlayerDieType)
+ *p = x
+ return p
+}
+
+func (x PlayerDieType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerDieType) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerDieType_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerDieType) Type() protoreflect.EnumType {
+ return &file_PlayerDieType_proto_enumTypes[0]
+}
+
+func (x PlayerDieType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerDieType.Descriptor instead.
+func (PlayerDieType) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerDieType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PlayerDieType_proto protoreflect.FileDescriptor
+
+var file_PlayerDieType_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x9e, 0x02, 0x0a,
+ 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
+ 0x0a, 0x14, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x4c, 0x41, 0x59,
+ 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x49, 0x4c, 0x4c,
+ 0x5f, 0x42, 0x59, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x20, 0x0a,
+ 0x1c, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x42, 0x59, 0x5f, 0x47, 0x45, 0x41, 0x52, 0x10, 0x02, 0x12,
+ 0x18, 0x0a, 0x14, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x46, 0x41, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4c, 0x41,
+ 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x52, 0x41,
+ 0x57, 0x4e, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44,
+ 0x49, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x42, 0x59, 0x53, 0x53, 0x10, 0x05, 0x12,
+ 0x16, 0x0a, 0x12, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x47, 0x4d, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4c, 0x41, 0x59, 0x45,
+ 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x4d, 0x41,
+ 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x44, 0x10, 0x07, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x4c, 0x41,
+ 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x4f,
+ 0x52, 0x4d, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PlayerDieType_proto_rawDescOnce sync.Once
+ file_PlayerDieType_proto_rawDescData = file_PlayerDieType_proto_rawDesc
+)
+
+func file_PlayerDieType_proto_rawDescGZIP() []byte {
+ file_PlayerDieType_proto_rawDescOnce.Do(func() {
+ file_PlayerDieType_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerDieType_proto_rawDescData)
+ })
+ return file_PlayerDieType_proto_rawDescData
+}
+
+var file_PlayerDieType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerDieType_proto_goTypes = []interface{}{
+ (PlayerDieType)(0), // 0: proto.PlayerDieType
+}
+var file_PlayerDieType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerDieType_proto_init() }
+func file_PlayerDieType_proto_init() {
+ if File_PlayerDieType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerDieType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerDieType_proto_goTypes,
+ DependencyIndexes: file_PlayerDieType_proto_depIdxs,
+ EnumInfos: file_PlayerDieType_proto_enumTypes,
+ }.Build()
+ File_PlayerDieType_proto = out.File
+ file_PlayerDieType_proto_rawDesc = nil
+ file_PlayerDieType_proto_goTypes = nil
+ file_PlayerDieType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerEnterDungeonReq.pb.go b/protocol/proto/PlayerEnterDungeonReq.pb.go
new file mode 100644
index 00000000..9ba49420
--- /dev/null
+++ b/protocol/proto/PlayerEnterDungeonReq.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerEnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 912
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerEnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterPosInfo *DungeonEnterPosInfo `protobuf:"bytes,2,opt,name=enter_pos_info,json=enterPosInfo,proto3" json:"enter_pos_info,omitempty"`
+ PointId uint32 `protobuf:"varint,13,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ DungeonId uint32 `protobuf:"varint,7,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *PlayerEnterDungeonReq) Reset() {
+ *x = PlayerEnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerEnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerEnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerEnterDungeonReq) ProtoMessage() {}
+
+func (x *PlayerEnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerEnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerEnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*PlayerEnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_PlayerEnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerEnterDungeonReq) GetEnterPosInfo() *DungeonEnterPosInfo {
+ if x != nil {
+ return x.EnterPosInfo
+ }
+ return nil
+}
+
+func (x *PlayerEnterDungeonReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *PlayerEnterDungeonReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_PlayerEnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_PlayerEnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x50, 0x6f, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x93, 0x01, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x40, 0x0a, 0x0e, 0x65, 0x6e, 0x74,
+ 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x65,
+ 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerEnterDungeonReq_proto_rawDescOnce sync.Once
+ file_PlayerEnterDungeonReq_proto_rawDescData = file_PlayerEnterDungeonReq_proto_rawDesc
+)
+
+func file_PlayerEnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_PlayerEnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_PlayerEnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerEnterDungeonReq_proto_rawDescData)
+ })
+ return file_PlayerEnterDungeonReq_proto_rawDescData
+}
+
+var file_PlayerEnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerEnterDungeonReq_proto_goTypes = []interface{}{
+ (*PlayerEnterDungeonReq)(nil), // 0: proto.PlayerEnterDungeonReq
+ (*DungeonEnterPosInfo)(nil), // 1: proto.DungeonEnterPosInfo
+}
+var file_PlayerEnterDungeonReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerEnterDungeonReq.enter_pos_info:type_name -> proto.DungeonEnterPosInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerEnterDungeonReq_proto_init() }
+func file_PlayerEnterDungeonReq_proto_init() {
+ if File_PlayerEnterDungeonReq_proto != nil {
+ return
+ }
+ file_DungeonEnterPosInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerEnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerEnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerEnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerEnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_PlayerEnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_PlayerEnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_PlayerEnterDungeonReq_proto = out.File
+ file_PlayerEnterDungeonReq_proto_rawDesc = nil
+ file_PlayerEnterDungeonReq_proto_goTypes = nil
+ file_PlayerEnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerEnterDungeonRsp.pb.go b/protocol/proto/PlayerEnterDungeonRsp.pb.go
new file mode 100644
index 00000000..e9d6437d
--- /dev/null
+++ b/protocol/proto/PlayerEnterDungeonRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerEnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 935
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerEnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,2,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ PointId uint32 `protobuf:"varint,6,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerEnterDungeonRsp) Reset() {
+ *x = PlayerEnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerEnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerEnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerEnterDungeonRsp) ProtoMessage() {}
+
+func (x *PlayerEnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerEnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerEnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*PlayerEnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerEnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerEnterDungeonRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *PlayerEnterDungeonRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *PlayerEnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerEnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerEnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerEnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_PlayerEnterDungeonRsp_proto_rawDescData = file_PlayerEnterDungeonRsp_proto_rawDesc
+)
+
+func file_PlayerEnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_PlayerEnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerEnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerEnterDungeonRsp_proto_rawDescData)
+ })
+ return file_PlayerEnterDungeonRsp_proto_rawDescData
+}
+
+var file_PlayerEnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerEnterDungeonRsp_proto_goTypes = []interface{}{
+ (*PlayerEnterDungeonRsp)(nil), // 0: proto.PlayerEnterDungeonRsp
+}
+var file_PlayerEnterDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerEnterDungeonRsp_proto_init() }
+func file_PlayerEnterDungeonRsp_proto_init() {
+ if File_PlayerEnterDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerEnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerEnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerEnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerEnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerEnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_PlayerEnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerEnterDungeonRsp_proto = out.File
+ file_PlayerEnterDungeonRsp_proto_rawDesc = nil
+ file_PlayerEnterDungeonRsp_proto_goTypes = nil
+ file_PlayerEnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerEnterSceneInfoNotify.pb.go b/protocol/proto/PlayerEnterSceneInfoNotify.pb.go
new file mode 100644
index 00000000..59ebe139
--- /dev/null
+++ b/protocol/proto/PlayerEnterSceneInfoNotify.pb.go
@@ -0,0 +1,227 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerEnterSceneInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 214
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerEnterSceneInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TeamEnterInfo *TeamEnterSceneInfo `protobuf:"bytes,8,opt,name=team_enter_info,json=teamEnterInfo,proto3" json:"team_enter_info,omitempty"`
+ EnterSceneToken uint32 `protobuf:"varint,12,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+ AvatarEnterInfo []*AvatarEnterSceneInfo `protobuf:"bytes,7,rep,name=avatar_enter_info,json=avatarEnterInfo,proto3" json:"avatar_enter_info,omitempty"`
+ CurAvatarEntityId uint32 `protobuf:"varint,6,opt,name=cur_avatar_entity_id,json=curAvatarEntityId,proto3" json:"cur_avatar_entity_id,omitempty"`
+ MpLevelEntityInfo *MPLevelEntityInfo `protobuf:"bytes,5,opt,name=mp_level_entity_info,json=mpLevelEntityInfo,proto3" json:"mp_level_entity_info,omitempty"`
+}
+
+func (x *PlayerEnterSceneInfoNotify) Reset() {
+ *x = PlayerEnterSceneInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerEnterSceneInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerEnterSceneInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerEnterSceneInfoNotify) ProtoMessage() {}
+
+func (x *PlayerEnterSceneInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerEnterSceneInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerEnterSceneInfoNotify.ProtoReflect.Descriptor instead.
+func (*PlayerEnterSceneInfoNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerEnterSceneInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerEnterSceneInfoNotify) GetTeamEnterInfo() *TeamEnterSceneInfo {
+ if x != nil {
+ return x.TeamEnterInfo
+ }
+ return nil
+}
+
+func (x *PlayerEnterSceneInfoNotify) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneInfoNotify) GetAvatarEnterInfo() []*AvatarEnterSceneInfo {
+ if x != nil {
+ return x.AvatarEnterInfo
+ }
+ return nil
+}
+
+func (x *PlayerEnterSceneInfoNotify) GetCurAvatarEntityId() uint32 {
+ if x != nil {
+ return x.CurAvatarEntityId
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneInfoNotify) GetMpLevelEntityInfo() *MPLevelEntityInfo {
+ if x != nil {
+ return x.MpLevelEntityInfo
+ }
+ return nil
+}
+
+var File_PlayerEnterSceneInfoNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerEnterSceneInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x4d, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
+ 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x02, 0x0a, 0x1a, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x41, 0x0a, 0x0f, 0x74, 0x65, 0x61, 0x6d, 0x5f,
+ 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x74, 0x65, 0x61,
+ 0x6d, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e,
+ 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x47, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x2f, 0x0a, 0x14, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63,
+ 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x49, 0x0a, 0x14, 0x6d, 0x70, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x50, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x6d, 0x70, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerEnterSceneInfoNotify_proto_rawDescOnce sync.Once
+ file_PlayerEnterSceneInfoNotify_proto_rawDescData = file_PlayerEnterSceneInfoNotify_proto_rawDesc
+)
+
+func file_PlayerEnterSceneInfoNotify_proto_rawDescGZIP() []byte {
+ file_PlayerEnterSceneInfoNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerEnterSceneInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerEnterSceneInfoNotify_proto_rawDescData)
+ })
+ return file_PlayerEnterSceneInfoNotify_proto_rawDescData
+}
+
+var file_PlayerEnterSceneInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerEnterSceneInfoNotify_proto_goTypes = []interface{}{
+ (*PlayerEnterSceneInfoNotify)(nil), // 0: proto.PlayerEnterSceneInfoNotify
+ (*TeamEnterSceneInfo)(nil), // 1: proto.TeamEnterSceneInfo
+ (*AvatarEnterSceneInfo)(nil), // 2: proto.AvatarEnterSceneInfo
+ (*MPLevelEntityInfo)(nil), // 3: proto.MPLevelEntityInfo
+}
+var file_PlayerEnterSceneInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerEnterSceneInfoNotify.team_enter_info:type_name -> proto.TeamEnterSceneInfo
+ 2, // 1: proto.PlayerEnterSceneInfoNotify.avatar_enter_info:type_name -> proto.AvatarEnterSceneInfo
+ 3, // 2: proto.PlayerEnterSceneInfoNotify.mp_level_entity_info:type_name -> proto.MPLevelEntityInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_PlayerEnterSceneInfoNotify_proto_init() }
+func file_PlayerEnterSceneInfoNotify_proto_init() {
+ if File_PlayerEnterSceneInfoNotify_proto != nil {
+ return
+ }
+ file_AvatarEnterSceneInfo_proto_init()
+ file_MPLevelEntityInfo_proto_init()
+ file_TeamEnterSceneInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerEnterSceneInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerEnterSceneInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerEnterSceneInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerEnterSceneInfoNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerEnterSceneInfoNotify_proto_depIdxs,
+ MessageInfos: file_PlayerEnterSceneInfoNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerEnterSceneInfoNotify_proto = out.File
+ file_PlayerEnterSceneInfoNotify_proto_rawDesc = nil
+ file_PlayerEnterSceneInfoNotify_proto_goTypes = nil
+ file_PlayerEnterSceneInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerEnterSceneNotify.pb.go b/protocol/proto/PlayerEnterSceneNotify.pb.go
new file mode 100644
index 00000000..53197fbd
--- /dev/null
+++ b/protocol/proto/PlayerEnterSceneNotify.pb.go
@@ -0,0 +1,327 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerEnterSceneNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 272
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerEnterSceneNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PrevSceneId uint32 `protobuf:"varint,6,opt,name=prev_scene_id,json=prevSceneId,proto3" json:"prev_scene_id,omitempty"`
+ DungeonId uint32 `protobuf:"varint,12,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ IsSkipUi bool `protobuf:"varint,1732,opt,name=is_skip_ui,json=isSkipUi,proto3" json:"is_skip_ui,omitempty"`
+ SceneId uint32 `protobuf:"varint,15,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Type EnterType `protobuf:"varint,13,opt,name=type,proto3,enum=proto.EnterType" json:"type,omitempty"`
+ SceneBeginTime uint64 `protobuf:"varint,14,opt,name=scene_begin_time,json=sceneBeginTime,proto3" json:"scene_begin_time,omitempty"`
+ WorldLevel uint32 `protobuf:"varint,11,opt,name=world_level,json=worldLevel,proto3" json:"world_level,omitempty"`
+ WorldType uint32 `protobuf:"varint,1490,opt,name=world_type,json=worldType,proto3" json:"world_type,omitempty"`
+ TargetUid uint32 `protobuf:"varint,4,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ IsFirstLoginEnterScene bool `protobuf:"varint,3,opt,name=is_first_login_enter_scene,json=isFirstLoginEnterScene,proto3" json:"is_first_login_enter_scene,omitempty"`
+ SceneTagIdList []uint32 `protobuf:"varint,5,rep,packed,name=scene_tag_id_list,json=sceneTagIdList,proto3" json:"scene_tag_id_list,omitempty"`
+ SceneTransaction string `protobuf:"bytes,1842,opt,name=scene_transaction,json=sceneTransaction,proto3" json:"scene_transaction,omitempty"`
+ PrevPos *Vector `protobuf:"bytes,8,opt,name=prev_pos,json=prevPos,proto3" json:"prev_pos,omitempty"`
+ EnterReason uint32 `protobuf:"varint,1828,opt,name=enter_reason,json=enterReason,proto3" json:"enter_reason,omitempty"`
+ Pos *Vector `protobuf:"bytes,7,opt,name=pos,proto3" json:"pos,omitempty"`
+ EnterSceneToken uint32 `protobuf:"varint,2,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+}
+
+func (x *PlayerEnterSceneNotify) Reset() {
+ *x = PlayerEnterSceneNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerEnterSceneNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerEnterSceneNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerEnterSceneNotify) ProtoMessage() {}
+
+func (x *PlayerEnterSceneNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerEnterSceneNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerEnterSceneNotify.ProtoReflect.Descriptor instead.
+func (*PlayerEnterSceneNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerEnterSceneNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerEnterSceneNotify) GetPrevSceneId() uint32 {
+ if x != nil {
+ return x.PrevSceneId
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneNotify) GetIsSkipUi() bool {
+ if x != nil {
+ return x.IsSkipUi
+ }
+ return false
+}
+
+func (x *PlayerEnterSceneNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneNotify) GetType() EnterType {
+ if x != nil {
+ return x.Type
+ }
+ return EnterType_ENTER_TYPE_NONE
+}
+
+func (x *PlayerEnterSceneNotify) GetSceneBeginTime() uint64 {
+ if x != nil {
+ return x.SceneBeginTime
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneNotify) GetWorldLevel() uint32 {
+ if x != nil {
+ return x.WorldLevel
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneNotify) GetWorldType() uint32 {
+ if x != nil {
+ return x.WorldType
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneNotify) GetIsFirstLoginEnterScene() bool {
+ if x != nil {
+ return x.IsFirstLoginEnterScene
+ }
+ return false
+}
+
+func (x *PlayerEnterSceneNotify) GetSceneTagIdList() []uint32 {
+ if x != nil {
+ return x.SceneTagIdList
+ }
+ return nil
+}
+
+func (x *PlayerEnterSceneNotify) GetSceneTransaction() string {
+ if x != nil {
+ return x.SceneTransaction
+ }
+ return ""
+}
+
+func (x *PlayerEnterSceneNotify) GetPrevPos() *Vector {
+ if x != nil {
+ return x.PrevPos
+ }
+ return nil
+}
+
+func (x *PlayerEnterSceneNotify) GetEnterReason() uint32 {
+ if x != nil {
+ return x.EnterReason
+ }
+ return 0
+}
+
+func (x *PlayerEnterSceneNotify) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *PlayerEnterSceneNotify) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+var File_PlayerEnterSceneNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerEnterSceneNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x04, 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45,
+ 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x22, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x76, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x75, 0x69,
+ 0x18, 0xc4, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x55,
+ 0x69, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,
+ 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x62, 0x65, 0x67, 0x69,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a,
+ 0x0a, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd2, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x1a,
+ 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x65,
+ 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x16, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x61, 0x67, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb2, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x10, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x28, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x50, 0x6f, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x65,
+ 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0xa4, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
+ 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73,
+ 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74,
+ 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerEnterSceneNotify_proto_rawDescOnce sync.Once
+ file_PlayerEnterSceneNotify_proto_rawDescData = file_PlayerEnterSceneNotify_proto_rawDesc
+)
+
+func file_PlayerEnterSceneNotify_proto_rawDescGZIP() []byte {
+ file_PlayerEnterSceneNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerEnterSceneNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerEnterSceneNotify_proto_rawDescData)
+ })
+ return file_PlayerEnterSceneNotify_proto_rawDescData
+}
+
+var file_PlayerEnterSceneNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerEnterSceneNotify_proto_goTypes = []interface{}{
+ (*PlayerEnterSceneNotify)(nil), // 0: proto.PlayerEnterSceneNotify
+ (EnterType)(0), // 1: proto.EnterType
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_PlayerEnterSceneNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerEnterSceneNotify.type:type_name -> proto.EnterType
+ 2, // 1: proto.PlayerEnterSceneNotify.prev_pos:type_name -> proto.Vector
+ 2, // 2: proto.PlayerEnterSceneNotify.pos:type_name -> proto.Vector
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_PlayerEnterSceneNotify_proto_init() }
+func file_PlayerEnterSceneNotify_proto_init() {
+ if File_PlayerEnterSceneNotify_proto != nil {
+ return
+ }
+ file_EnterType_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerEnterSceneNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerEnterSceneNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerEnterSceneNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerEnterSceneNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerEnterSceneNotify_proto_depIdxs,
+ MessageInfos: file_PlayerEnterSceneNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerEnterSceneNotify_proto = out.File
+ file_PlayerEnterSceneNotify_proto_rawDesc = nil
+ file_PlayerEnterSceneNotify_proto_goTypes = nil
+ file_PlayerEnterSceneNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerEyePointStateNotify.pb.go b/protocol/proto/PlayerEyePointStateNotify.pb.go
new file mode 100644
index 00000000..ef9d2adf
--- /dev/null
+++ b/protocol/proto/PlayerEyePointStateNotify.pb.go
@@ -0,0 +1,343 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerEyePointStateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3051
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerEyePointStateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RegionEntityId uint32 `protobuf:"varint,15,opt,name=region_entity_id,json=regionEntityId,proto3" json:"region_entity_id,omitempty"`
+ EyePointPos *Vector `protobuf:"bytes,1,opt,name=eye_point_pos,json=eyePointPos,proto3" json:"eye_point_pos,omitempty"`
+ IsUseEyePoint bool `protobuf:"varint,3,opt,name=is_use_eye_point,json=isUseEyePoint,proto3" json:"is_use_eye_point,omitempty"`
+ RegionConfigId uint32 `protobuf:"varint,7,opt,name=region_config_id,json=regionConfigId,proto3" json:"region_config_id,omitempty"`
+ RegionShape uint32 `protobuf:"varint,12,opt,name=region_shape,json=regionShape,proto3" json:"region_shape,omitempty"`
+ IsFilterStreamPos bool `protobuf:"varint,2,opt,name=is_filter_stream_pos,json=isFilterStreamPos,proto3" json:"is_filter_stream_pos,omitempty"`
+ FixLodLevel int32 `protobuf:"varint,5,opt,name=fix_lod_level,json=fixLodLevel,proto3" json:"fix_lod_level,omitempty"`
+ RegionGroupId uint32 `protobuf:"varint,4,opt,name=region_group_id,json=regionGroupId,proto3" json:"region_group_id,omitempty"`
+ // Types that are assignable to RegionSize:
+ //
+ // *PlayerEyePointStateNotify_SphereRadius
+ // *PlayerEyePointStateNotify_CubicSize
+ // *PlayerEyePointStateNotify_CylinderSize
+ // *PlayerEyePointStateNotify_PolygonSize
+ RegionSize isPlayerEyePointStateNotify_RegionSize `protobuf_oneof:"region_size"`
+}
+
+func (x *PlayerEyePointStateNotify) Reset() {
+ *x = PlayerEyePointStateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerEyePointStateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerEyePointStateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerEyePointStateNotify) ProtoMessage() {}
+
+func (x *PlayerEyePointStateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerEyePointStateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerEyePointStateNotify.ProtoReflect.Descriptor instead.
+func (*PlayerEyePointStateNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerEyePointStateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerEyePointStateNotify) GetRegionEntityId() uint32 {
+ if x != nil {
+ return x.RegionEntityId
+ }
+ return 0
+}
+
+func (x *PlayerEyePointStateNotify) GetEyePointPos() *Vector {
+ if x != nil {
+ return x.EyePointPos
+ }
+ return nil
+}
+
+func (x *PlayerEyePointStateNotify) GetIsUseEyePoint() bool {
+ if x != nil {
+ return x.IsUseEyePoint
+ }
+ return false
+}
+
+func (x *PlayerEyePointStateNotify) GetRegionConfigId() uint32 {
+ if x != nil {
+ return x.RegionConfigId
+ }
+ return 0
+}
+
+func (x *PlayerEyePointStateNotify) GetRegionShape() uint32 {
+ if x != nil {
+ return x.RegionShape
+ }
+ return 0
+}
+
+func (x *PlayerEyePointStateNotify) GetIsFilterStreamPos() bool {
+ if x != nil {
+ return x.IsFilterStreamPos
+ }
+ return false
+}
+
+func (x *PlayerEyePointStateNotify) GetFixLodLevel() int32 {
+ if x != nil {
+ return x.FixLodLevel
+ }
+ return 0
+}
+
+func (x *PlayerEyePointStateNotify) GetRegionGroupId() uint32 {
+ if x != nil {
+ return x.RegionGroupId
+ }
+ return 0
+}
+
+func (m *PlayerEyePointStateNotify) GetRegionSize() isPlayerEyePointStateNotify_RegionSize {
+ if m != nil {
+ return m.RegionSize
+ }
+ return nil
+}
+
+func (x *PlayerEyePointStateNotify) GetSphereRadius() float32 {
+ if x, ok := x.GetRegionSize().(*PlayerEyePointStateNotify_SphereRadius); ok {
+ return x.SphereRadius
+ }
+ return 0
+}
+
+func (x *PlayerEyePointStateNotify) GetCubicSize() *Vector {
+ if x, ok := x.GetRegionSize().(*PlayerEyePointStateNotify_CubicSize); ok {
+ return x.CubicSize
+ }
+ return nil
+}
+
+func (x *PlayerEyePointStateNotify) GetCylinderSize() *CylinderRegionSize {
+ if x, ok := x.GetRegionSize().(*PlayerEyePointStateNotify_CylinderSize); ok {
+ return x.CylinderSize
+ }
+ return nil
+}
+
+func (x *PlayerEyePointStateNotify) GetPolygonSize() *PolygonRegionSize {
+ if x, ok := x.GetRegionSize().(*PlayerEyePointStateNotify_PolygonSize); ok {
+ return x.PolygonSize
+ }
+ return nil
+}
+
+type isPlayerEyePointStateNotify_RegionSize interface {
+ isPlayerEyePointStateNotify_RegionSize()
+}
+
+type PlayerEyePointStateNotify_SphereRadius struct {
+ SphereRadius float32 `protobuf:"fixed32,255,opt,name=sphere_radius,json=sphereRadius,proto3,oneof"`
+}
+
+type PlayerEyePointStateNotify_CubicSize struct {
+ CubicSize *Vector `protobuf:"bytes,1823,opt,name=cubic_size,json=cubicSize,proto3,oneof"`
+}
+
+type PlayerEyePointStateNotify_CylinderSize struct {
+ CylinderSize *CylinderRegionSize `protobuf:"bytes,1862,opt,name=cylinder_size,json=cylinderSize,proto3,oneof"`
+}
+
+type PlayerEyePointStateNotify_PolygonSize struct {
+ PolygonSize *PolygonRegionSize `protobuf:"bytes,877,opt,name=polygon_size,json=polygonSize,proto3,oneof"`
+}
+
+func (*PlayerEyePointStateNotify_SphereRadius) isPlayerEyePointStateNotify_RegionSize() {}
+
+func (*PlayerEyePointStateNotify_CubicSize) isPlayerEyePointStateNotify_RegionSize() {}
+
+func (*PlayerEyePointStateNotify_CylinderSize) isPlayerEyePointStateNotify_RegionSize() {}
+
+func (*PlayerEyePointStateNotify_PolygonSize) isPlayerEyePointStateNotify_RegionSize() {}
+
+var File_PlayerEyePointStateNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerEyePointStateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x45, 0x79, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x43, 0x79, 0x6c, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x17, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x04, 0x0a, 0x19, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x45, 0x79, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x31, 0x0a, 0x0d, 0x65, 0x79, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x65, 0x79, 0x65, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x50, 0x6f, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x65,
+ 0x79, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
+ 0x69, 0x73, 0x55, 0x73, 0x65, 0x45, 0x79, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28, 0x0a,
+ 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73,
+ 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x70,
+ 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x46, 0x69, 0x6c, 0x74,
+ 0x65, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x50, 0x6f, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x66,
+ 0x69, 0x78, 0x5f, 0x6c, 0x6f, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x78, 0x4c, 0x6f, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
+ 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x70, 0x68, 0x65, 0x72,
+ 0x65, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48,
+ 0x00, 0x52, 0x0c, 0x73, 0x70, 0x68, 0x65, 0x72, 0x65, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12,
+ 0x2f, 0x0a, 0x0a, 0x63, 0x75, 0x62, 0x69, 0x63, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x9f, 0x0e,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x09, 0x63, 0x75, 0x62, 0x69, 0x63, 0x53, 0x69, 0x7a, 0x65,
+ 0x12, 0x41, 0x0a, 0x0d, 0x63, 0x79, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x18, 0xc6, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x79, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53,
+ 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x79, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x53,
+ 0x69, 0x7a, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x5f, 0x73,
+ 0x69, 0x7a, 0x65, 0x18, 0xed, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x53, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x53,
+ 0x69, 0x7a, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69,
+ 0x7a, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerEyePointStateNotify_proto_rawDescOnce sync.Once
+ file_PlayerEyePointStateNotify_proto_rawDescData = file_PlayerEyePointStateNotify_proto_rawDesc
+)
+
+func file_PlayerEyePointStateNotify_proto_rawDescGZIP() []byte {
+ file_PlayerEyePointStateNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerEyePointStateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerEyePointStateNotify_proto_rawDescData)
+ })
+ return file_PlayerEyePointStateNotify_proto_rawDescData
+}
+
+var file_PlayerEyePointStateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerEyePointStateNotify_proto_goTypes = []interface{}{
+ (*PlayerEyePointStateNotify)(nil), // 0: proto.PlayerEyePointStateNotify
+ (*Vector)(nil), // 1: proto.Vector
+ (*CylinderRegionSize)(nil), // 2: proto.CylinderRegionSize
+ (*PolygonRegionSize)(nil), // 3: proto.PolygonRegionSize
+}
+var file_PlayerEyePointStateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerEyePointStateNotify.eye_point_pos:type_name -> proto.Vector
+ 1, // 1: proto.PlayerEyePointStateNotify.cubic_size:type_name -> proto.Vector
+ 2, // 2: proto.PlayerEyePointStateNotify.cylinder_size:type_name -> proto.CylinderRegionSize
+ 3, // 3: proto.PlayerEyePointStateNotify.polygon_size:type_name -> proto.PolygonRegionSize
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_PlayerEyePointStateNotify_proto_init() }
+func file_PlayerEyePointStateNotify_proto_init() {
+ if File_PlayerEyePointStateNotify_proto != nil {
+ return
+ }
+ file_CylinderRegionSize_proto_init()
+ file_PolygonRegionSize_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerEyePointStateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerEyePointStateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_PlayerEyePointStateNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*PlayerEyePointStateNotify_SphereRadius)(nil),
+ (*PlayerEyePointStateNotify_CubicSize)(nil),
+ (*PlayerEyePointStateNotify_CylinderSize)(nil),
+ (*PlayerEyePointStateNotify_PolygonSize)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerEyePointStateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerEyePointStateNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerEyePointStateNotify_proto_depIdxs,
+ MessageInfos: file_PlayerEyePointStateNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerEyePointStateNotify_proto = out.File
+ file_PlayerEyePointStateNotify_proto_rawDesc = nil
+ file_PlayerEyePointStateNotify_proto_goTypes = nil
+ file_PlayerEyePointStateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerFishingDataNotify.pb.go b/protocol/proto/PlayerFishingDataNotify.pb.go
new file mode 100644
index 00000000..b30a5303
--- /dev/null
+++ b/protocol/proto/PlayerFishingDataNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerFishingDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5835
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerFishingDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LastFishRodId uint32 `protobuf:"varint,8,opt,name=last_fish_rod_id,json=lastFishRodId,proto3" json:"last_fish_rod_id,omitempty"`
+}
+
+func (x *PlayerFishingDataNotify) Reset() {
+ *x = PlayerFishingDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerFishingDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerFishingDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerFishingDataNotify) ProtoMessage() {}
+
+func (x *PlayerFishingDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerFishingDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerFishingDataNotify.ProtoReflect.Descriptor instead.
+func (*PlayerFishingDataNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerFishingDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerFishingDataNotify) GetLastFishRodId() uint32 {
+ if x != nil {
+ return x.LastFishRodId
+ }
+ return 0
+}
+
+var File_PlayerFishingDataNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerFishingDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44,
+ 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x27, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x72,
+ 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x73,
+ 0x74, 0x46, 0x69, 0x73, 0x68, 0x52, 0x6f, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerFishingDataNotify_proto_rawDescOnce sync.Once
+ file_PlayerFishingDataNotify_proto_rawDescData = file_PlayerFishingDataNotify_proto_rawDesc
+)
+
+func file_PlayerFishingDataNotify_proto_rawDescGZIP() []byte {
+ file_PlayerFishingDataNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerFishingDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerFishingDataNotify_proto_rawDescData)
+ })
+ return file_PlayerFishingDataNotify_proto_rawDescData
+}
+
+var file_PlayerFishingDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerFishingDataNotify_proto_goTypes = []interface{}{
+ (*PlayerFishingDataNotify)(nil), // 0: proto.PlayerFishingDataNotify
+}
+var file_PlayerFishingDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerFishingDataNotify_proto_init() }
+func file_PlayerFishingDataNotify_proto_init() {
+ if File_PlayerFishingDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerFishingDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerFishingDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerFishingDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerFishingDataNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerFishingDataNotify_proto_depIdxs,
+ MessageInfos: file_PlayerFishingDataNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerFishingDataNotify_proto = out.File
+ file_PlayerFishingDataNotify_proto_rawDesc = nil
+ file_PlayerFishingDataNotify_proto_goTypes = nil
+ file_PlayerFishingDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerForceExitReq.pb.go b/protocol/proto/PlayerForceExitReq.pb.go
new file mode 100644
index 00000000..db83c9c0
--- /dev/null
+++ b/protocol/proto/PlayerForceExitReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerForceExitReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 189
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerForceExitReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *PlayerForceExitReq) Reset() {
+ *x = PlayerForceExitReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerForceExitReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerForceExitReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerForceExitReq) ProtoMessage() {}
+
+func (x *PlayerForceExitReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerForceExitReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerForceExitReq.ProtoReflect.Descriptor instead.
+func (*PlayerForceExitReq) Descriptor() ([]byte, []int) {
+ return file_PlayerForceExitReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PlayerForceExitReq_proto protoreflect.FileDescriptor
+
+var file_PlayerForceExitReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x45, 0x78, 0x69,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65,
+ 0x45, 0x78, 0x69, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerForceExitReq_proto_rawDescOnce sync.Once
+ file_PlayerForceExitReq_proto_rawDescData = file_PlayerForceExitReq_proto_rawDesc
+)
+
+func file_PlayerForceExitReq_proto_rawDescGZIP() []byte {
+ file_PlayerForceExitReq_proto_rawDescOnce.Do(func() {
+ file_PlayerForceExitReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerForceExitReq_proto_rawDescData)
+ })
+ return file_PlayerForceExitReq_proto_rawDescData
+}
+
+var file_PlayerForceExitReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerForceExitReq_proto_goTypes = []interface{}{
+ (*PlayerForceExitReq)(nil), // 0: proto.PlayerForceExitReq
+}
+var file_PlayerForceExitReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerForceExitReq_proto_init() }
+func file_PlayerForceExitReq_proto_init() {
+ if File_PlayerForceExitReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerForceExitReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerForceExitReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerForceExitReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerForceExitReq_proto_goTypes,
+ DependencyIndexes: file_PlayerForceExitReq_proto_depIdxs,
+ MessageInfos: file_PlayerForceExitReq_proto_msgTypes,
+ }.Build()
+ File_PlayerForceExitReq_proto = out.File
+ file_PlayerForceExitReq_proto_rawDesc = nil
+ file_PlayerForceExitReq_proto_goTypes = nil
+ file_PlayerForceExitReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerForceExitRsp.pb.go b/protocol/proto/PlayerForceExitRsp.pb.go
new file mode 100644
index 00000000..3a9d0127
--- /dev/null
+++ b/protocol/proto/PlayerForceExitRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerForceExitRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 159
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerForceExitRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerForceExitRsp) Reset() {
+ *x = PlayerForceExitRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerForceExitRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerForceExitRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerForceExitRsp) ProtoMessage() {}
+
+func (x *PlayerForceExitRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerForceExitRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerForceExitRsp.ProtoReflect.Descriptor instead.
+func (*PlayerForceExitRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerForceExitRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerForceExitRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerForceExitRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerForceExitRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x45, 0x78, 0x69,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2e, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x65,
+ 0x45, 0x78, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerForceExitRsp_proto_rawDescOnce sync.Once
+ file_PlayerForceExitRsp_proto_rawDescData = file_PlayerForceExitRsp_proto_rawDesc
+)
+
+func file_PlayerForceExitRsp_proto_rawDescGZIP() []byte {
+ file_PlayerForceExitRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerForceExitRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerForceExitRsp_proto_rawDescData)
+ })
+ return file_PlayerForceExitRsp_proto_rawDescData
+}
+
+var file_PlayerForceExitRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerForceExitRsp_proto_goTypes = []interface{}{
+ (*PlayerForceExitRsp)(nil), // 0: proto.PlayerForceExitRsp
+}
+var file_PlayerForceExitRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerForceExitRsp_proto_init() }
+func file_PlayerForceExitRsp_proto_init() {
+ if File_PlayerForceExitRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerForceExitRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerForceExitRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerForceExitRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerForceExitRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerForceExitRsp_proto_depIdxs,
+ MessageInfos: file_PlayerForceExitRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerForceExitRsp_proto = out.File
+ file_PlayerForceExitRsp_proto_rawDesc = nil
+ file_PlayerForceExitRsp_proto_goTypes = nil
+ file_PlayerForceExitRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerGCGMatchConfirmNotify.pb.go b/protocol/proto/PlayerGCGMatchConfirmNotify.pb.go
new file mode 100644
index 00000000..ecd06975
--- /dev/null
+++ b/protocol/proto/PlayerGCGMatchConfirmNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerGCGMatchConfirmNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4185
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerGCGMatchConfirmNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,10,opt,name=uid,proto3" json:"uid,omitempty"`
+ IsAgree bool `protobuf:"varint,5,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ MatchId uint32 `protobuf:"varint,14,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+}
+
+func (x *PlayerGCGMatchConfirmNotify) Reset() {
+ *x = PlayerGCGMatchConfirmNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerGCGMatchConfirmNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerGCGMatchConfirmNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerGCGMatchConfirmNotify) ProtoMessage() {}
+
+func (x *PlayerGCGMatchConfirmNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerGCGMatchConfirmNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerGCGMatchConfirmNotify.ProtoReflect.Descriptor instead.
+func (*PlayerGCGMatchConfirmNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerGCGMatchConfirmNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerGCGMatchConfirmNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlayerGCGMatchConfirmNotify) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *PlayerGCGMatchConfirmNotify) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+var File_PlayerGCGMatchConfirmNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerGCGMatchConfirmNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x43, 0x47, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x1b, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x47, 0x43, 0x47, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x72, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69,
+ 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69,
+ 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerGCGMatchConfirmNotify_proto_rawDescOnce sync.Once
+ file_PlayerGCGMatchConfirmNotify_proto_rawDescData = file_PlayerGCGMatchConfirmNotify_proto_rawDesc
+)
+
+func file_PlayerGCGMatchConfirmNotify_proto_rawDescGZIP() []byte {
+ file_PlayerGCGMatchConfirmNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerGCGMatchConfirmNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerGCGMatchConfirmNotify_proto_rawDescData)
+ })
+ return file_PlayerGCGMatchConfirmNotify_proto_rawDescData
+}
+
+var file_PlayerGCGMatchConfirmNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerGCGMatchConfirmNotify_proto_goTypes = []interface{}{
+ (*PlayerGCGMatchConfirmNotify)(nil), // 0: proto.PlayerGCGMatchConfirmNotify
+}
+var file_PlayerGCGMatchConfirmNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerGCGMatchConfirmNotify_proto_init() }
+func file_PlayerGCGMatchConfirmNotify_proto_init() {
+ if File_PlayerGCGMatchConfirmNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerGCGMatchConfirmNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerGCGMatchConfirmNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerGCGMatchConfirmNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerGCGMatchConfirmNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerGCGMatchConfirmNotify_proto_depIdxs,
+ MessageInfos: file_PlayerGCGMatchConfirmNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerGCGMatchConfirmNotify_proto = out.File
+ file_PlayerGCGMatchConfirmNotify_proto_rawDesc = nil
+ file_PlayerGCGMatchConfirmNotify_proto_goTypes = nil
+ file_PlayerGCGMatchConfirmNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerGCGMatchDismissNotify.pb.go b/protocol/proto/PlayerGCGMatchDismissNotify.pb.go
new file mode 100644
index 00000000..f7326465
--- /dev/null
+++ b/protocol/proto/PlayerGCGMatchDismissNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerGCGMatchDismissNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4173
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerGCGMatchDismissNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchId uint32 `protobuf:"varint,11,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+ Reason MatchReason `protobuf:"varint,5,opt,name=reason,proto3,enum=proto.MatchReason" json:"reason,omitempty"`
+ UidList []uint32 `protobuf:"varint,7,rep,packed,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"`
+}
+
+func (x *PlayerGCGMatchDismissNotify) Reset() {
+ *x = PlayerGCGMatchDismissNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerGCGMatchDismissNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerGCGMatchDismissNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerGCGMatchDismissNotify) ProtoMessage() {}
+
+func (x *PlayerGCGMatchDismissNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerGCGMatchDismissNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerGCGMatchDismissNotify.ProtoReflect.Descriptor instead.
+func (*PlayerGCGMatchDismissNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerGCGMatchDismissNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerGCGMatchDismissNotify) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+func (x *PlayerGCGMatchDismissNotify) GetReason() MatchReason {
+ if x != nil {
+ return x.Reason
+ }
+ return MatchReason_MATCH_REASON_NONE
+}
+
+func (x *PlayerGCGMatchDismissNotify) GetUidList() []uint32 {
+ if x != nil {
+ return x.UidList
+ }
+ return nil
+}
+
+var File_PlayerGCGMatchDismissNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerGCGMatchDismissNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x43, 0x47, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a,
+ 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x43, 0x47, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44,
+ 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PlayerGCGMatchDismissNotify_proto_rawDescOnce sync.Once
+ file_PlayerGCGMatchDismissNotify_proto_rawDescData = file_PlayerGCGMatchDismissNotify_proto_rawDesc
+)
+
+func file_PlayerGCGMatchDismissNotify_proto_rawDescGZIP() []byte {
+ file_PlayerGCGMatchDismissNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerGCGMatchDismissNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerGCGMatchDismissNotify_proto_rawDescData)
+ })
+ return file_PlayerGCGMatchDismissNotify_proto_rawDescData
+}
+
+var file_PlayerGCGMatchDismissNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerGCGMatchDismissNotify_proto_goTypes = []interface{}{
+ (*PlayerGCGMatchDismissNotify)(nil), // 0: proto.PlayerGCGMatchDismissNotify
+ (MatchReason)(0), // 1: proto.MatchReason
+}
+var file_PlayerGCGMatchDismissNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerGCGMatchDismissNotify.reason:type_name -> proto.MatchReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerGCGMatchDismissNotify_proto_init() }
+func file_PlayerGCGMatchDismissNotify_proto_init() {
+ if File_PlayerGCGMatchDismissNotify_proto != nil {
+ return
+ }
+ file_MatchReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerGCGMatchDismissNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerGCGMatchDismissNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerGCGMatchDismissNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerGCGMatchDismissNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerGCGMatchDismissNotify_proto_depIdxs,
+ MessageInfos: file_PlayerGCGMatchDismissNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerGCGMatchDismissNotify_proto = out.File
+ file_PlayerGCGMatchDismissNotify_proto_rawDesc = nil
+ file_PlayerGCGMatchDismissNotify_proto_goTypes = nil
+ file_PlayerGCGMatchDismissNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerGameTimeNotify.pb.go b/protocol/proto/PlayerGameTimeNotify.pb.go
new file mode 100644
index 00000000..e765d38e
--- /dev/null
+++ b/protocol/proto/PlayerGameTimeNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerGameTimeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 131
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerGameTimeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,7,opt,name=uid,proto3" json:"uid,omitempty"`
+ GameTime uint32 `protobuf:"varint,3,opt,name=game_time,json=gameTime,proto3" json:"game_time,omitempty"`
+ IsHome bool `protobuf:"varint,13,opt,name=is_home,json=isHome,proto3" json:"is_home,omitempty"`
+}
+
+func (x *PlayerGameTimeNotify) Reset() {
+ *x = PlayerGameTimeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerGameTimeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerGameTimeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerGameTimeNotify) ProtoMessage() {}
+
+func (x *PlayerGameTimeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerGameTimeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerGameTimeNotify.ProtoReflect.Descriptor instead.
+func (*PlayerGameTimeNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerGameTimeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerGameTimeNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlayerGameTimeNotify) GetGameTime() uint32 {
+ if x != nil {
+ return x.GameTime
+ }
+ return 0
+}
+
+func (x *PlayerGameTimeNotify) GetIsHome() bool {
+ if x != nil {
+ return x.IsHome
+ }
+ return false
+}
+
+var File_PlayerGameTimeNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerGameTimeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x61, 0x6d,
+ 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73,
+ 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48,
+ 0x6f, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerGameTimeNotify_proto_rawDescOnce sync.Once
+ file_PlayerGameTimeNotify_proto_rawDescData = file_PlayerGameTimeNotify_proto_rawDesc
+)
+
+func file_PlayerGameTimeNotify_proto_rawDescGZIP() []byte {
+ file_PlayerGameTimeNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerGameTimeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerGameTimeNotify_proto_rawDescData)
+ })
+ return file_PlayerGameTimeNotify_proto_rawDescData
+}
+
+var file_PlayerGameTimeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerGameTimeNotify_proto_goTypes = []interface{}{
+ (*PlayerGameTimeNotify)(nil), // 0: proto.PlayerGameTimeNotify
+}
+var file_PlayerGameTimeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerGameTimeNotify_proto_init() }
+func file_PlayerGameTimeNotify_proto_init() {
+ if File_PlayerGameTimeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerGameTimeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerGameTimeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerGameTimeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerGameTimeNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerGameTimeNotify_proto_depIdxs,
+ MessageInfos: file_PlayerGameTimeNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerGameTimeNotify_proto = out.File
+ file_PlayerGameTimeNotify_proto_rawDesc = nil
+ file_PlayerGameTimeNotify_proto_goTypes = nil
+ file_PlayerGameTimeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerGeneralMatchConfirmNotify.pb.go b/protocol/proto/PlayerGeneralMatchConfirmNotify.pb.go
new file mode 100644
index 00000000..b8c5d090
--- /dev/null
+++ b/protocol/proto/PlayerGeneralMatchConfirmNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerGeneralMatchConfirmNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4192
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerGeneralMatchConfirmNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchId uint32 `protobuf:"varint,8,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+ IsAgree bool `protobuf:"varint,13,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ Uid uint32 `protobuf:"varint,14,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *PlayerGeneralMatchConfirmNotify) Reset() {
+ *x = PlayerGeneralMatchConfirmNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerGeneralMatchConfirmNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerGeneralMatchConfirmNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerGeneralMatchConfirmNotify) ProtoMessage() {}
+
+func (x *PlayerGeneralMatchConfirmNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerGeneralMatchConfirmNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerGeneralMatchConfirmNotify.ProtoReflect.Descriptor instead.
+func (*PlayerGeneralMatchConfirmNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerGeneralMatchConfirmNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerGeneralMatchConfirmNotify) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+func (x *PlayerGeneralMatchConfirmNotify) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *PlayerGeneralMatchConfirmNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_PlayerGeneralMatchConfirmNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerGeneralMatchConfirmNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69,
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
+ 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
+ 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerGeneralMatchConfirmNotify_proto_rawDescOnce sync.Once
+ file_PlayerGeneralMatchConfirmNotify_proto_rawDescData = file_PlayerGeneralMatchConfirmNotify_proto_rawDesc
+)
+
+func file_PlayerGeneralMatchConfirmNotify_proto_rawDescGZIP() []byte {
+ file_PlayerGeneralMatchConfirmNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerGeneralMatchConfirmNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerGeneralMatchConfirmNotify_proto_rawDescData)
+ })
+ return file_PlayerGeneralMatchConfirmNotify_proto_rawDescData
+}
+
+var file_PlayerGeneralMatchConfirmNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerGeneralMatchConfirmNotify_proto_goTypes = []interface{}{
+ (*PlayerGeneralMatchConfirmNotify)(nil), // 0: proto.PlayerGeneralMatchConfirmNotify
+}
+var file_PlayerGeneralMatchConfirmNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerGeneralMatchConfirmNotify_proto_init() }
+func file_PlayerGeneralMatchConfirmNotify_proto_init() {
+ if File_PlayerGeneralMatchConfirmNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerGeneralMatchConfirmNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerGeneralMatchConfirmNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerGeneralMatchConfirmNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerGeneralMatchConfirmNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerGeneralMatchConfirmNotify_proto_depIdxs,
+ MessageInfos: file_PlayerGeneralMatchConfirmNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerGeneralMatchConfirmNotify_proto = out.File
+ file_PlayerGeneralMatchConfirmNotify_proto_rawDesc = nil
+ file_PlayerGeneralMatchConfirmNotify_proto_goTypes = nil
+ file_PlayerGeneralMatchConfirmNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerGeneralMatchDismissNotify.pb.go b/protocol/proto/PlayerGeneralMatchDismissNotify.pb.go
new file mode 100644
index 00000000..11751050
--- /dev/null
+++ b/protocol/proto/PlayerGeneralMatchDismissNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerGeneralMatchDismissNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4191
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerGeneralMatchDismissNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UidList []uint32 `protobuf:"varint,3,rep,packed,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"`
+ Reason MatchReason `protobuf:"varint,13,opt,name=reason,proto3,enum=proto.MatchReason" json:"reason,omitempty"`
+ MatchId uint32 `protobuf:"varint,1,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+}
+
+func (x *PlayerGeneralMatchDismissNotify) Reset() {
+ *x = PlayerGeneralMatchDismissNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerGeneralMatchDismissNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerGeneralMatchDismissNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerGeneralMatchDismissNotify) ProtoMessage() {}
+
+func (x *PlayerGeneralMatchDismissNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerGeneralMatchDismissNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerGeneralMatchDismissNotify.ProtoReflect.Descriptor instead.
+func (*PlayerGeneralMatchDismissNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerGeneralMatchDismissNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerGeneralMatchDismissNotify) GetUidList() []uint32 {
+ if x != nil {
+ return x.UidList
+ }
+ return nil
+}
+
+func (x *PlayerGeneralMatchDismissNotify) GetReason() MatchReason {
+ if x != nil {
+ return x.Reason
+ }
+ return MatchReason_MATCH_REASON_NONE
+}
+
+func (x *PlayerGeneralMatchDismissNotify) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+var File_PlayerGeneralMatchDismissNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerGeneralMatchDismissNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x83, 0x01, 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerGeneralMatchDismissNotify_proto_rawDescOnce sync.Once
+ file_PlayerGeneralMatchDismissNotify_proto_rawDescData = file_PlayerGeneralMatchDismissNotify_proto_rawDesc
+)
+
+func file_PlayerGeneralMatchDismissNotify_proto_rawDescGZIP() []byte {
+ file_PlayerGeneralMatchDismissNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerGeneralMatchDismissNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerGeneralMatchDismissNotify_proto_rawDescData)
+ })
+ return file_PlayerGeneralMatchDismissNotify_proto_rawDescData
+}
+
+var file_PlayerGeneralMatchDismissNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerGeneralMatchDismissNotify_proto_goTypes = []interface{}{
+ (*PlayerGeneralMatchDismissNotify)(nil), // 0: proto.PlayerGeneralMatchDismissNotify
+ (MatchReason)(0), // 1: proto.MatchReason
+}
+var file_PlayerGeneralMatchDismissNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerGeneralMatchDismissNotify.reason:type_name -> proto.MatchReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerGeneralMatchDismissNotify_proto_init() }
+func file_PlayerGeneralMatchDismissNotify_proto_init() {
+ if File_PlayerGeneralMatchDismissNotify_proto != nil {
+ return
+ }
+ file_MatchReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerGeneralMatchDismissNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerGeneralMatchDismissNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerGeneralMatchDismissNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerGeneralMatchDismissNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerGeneralMatchDismissNotify_proto_depIdxs,
+ MessageInfos: file_PlayerGeneralMatchDismissNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerGeneralMatchDismissNotify_proto = out.File
+ file_PlayerGeneralMatchDismissNotify_proto_rawDesc = nil
+ file_PlayerGeneralMatchDismissNotify_proto_goTypes = nil
+ file_PlayerGeneralMatchDismissNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerGetForceQuitBanInfoReq.pb.go b/protocol/proto/PlayerGetForceQuitBanInfoReq.pb.go
new file mode 100644
index 00000000..26d5eaf3
--- /dev/null
+++ b/protocol/proto/PlayerGetForceQuitBanInfoReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerGetForceQuitBanInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4164
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerGetForceQuitBanInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *PlayerGetForceQuitBanInfoReq) Reset() {
+ *x = PlayerGetForceQuitBanInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerGetForceQuitBanInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerGetForceQuitBanInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerGetForceQuitBanInfoReq) ProtoMessage() {}
+
+func (x *PlayerGetForceQuitBanInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerGetForceQuitBanInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerGetForceQuitBanInfoReq.ProtoReflect.Descriptor instead.
+func (*PlayerGetForceQuitBanInfoReq) Descriptor() ([]byte, []int) {
+ return file_PlayerGetForceQuitBanInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PlayerGetForceQuitBanInfoReq_proto protoreflect.FileDescriptor
+
+var file_PlayerGetForceQuitBanInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65,
+ 0x51, 0x75, 0x69, 0x74, 0x42, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x51, 0x75, 0x69,
+ 0x74, 0x42, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerGetForceQuitBanInfoReq_proto_rawDescOnce sync.Once
+ file_PlayerGetForceQuitBanInfoReq_proto_rawDescData = file_PlayerGetForceQuitBanInfoReq_proto_rawDesc
+)
+
+func file_PlayerGetForceQuitBanInfoReq_proto_rawDescGZIP() []byte {
+ file_PlayerGetForceQuitBanInfoReq_proto_rawDescOnce.Do(func() {
+ file_PlayerGetForceQuitBanInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerGetForceQuitBanInfoReq_proto_rawDescData)
+ })
+ return file_PlayerGetForceQuitBanInfoReq_proto_rawDescData
+}
+
+var file_PlayerGetForceQuitBanInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerGetForceQuitBanInfoReq_proto_goTypes = []interface{}{
+ (*PlayerGetForceQuitBanInfoReq)(nil), // 0: proto.PlayerGetForceQuitBanInfoReq
+}
+var file_PlayerGetForceQuitBanInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerGetForceQuitBanInfoReq_proto_init() }
+func file_PlayerGetForceQuitBanInfoReq_proto_init() {
+ if File_PlayerGetForceQuitBanInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerGetForceQuitBanInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerGetForceQuitBanInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerGetForceQuitBanInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerGetForceQuitBanInfoReq_proto_goTypes,
+ DependencyIndexes: file_PlayerGetForceQuitBanInfoReq_proto_depIdxs,
+ MessageInfos: file_PlayerGetForceQuitBanInfoReq_proto_msgTypes,
+ }.Build()
+ File_PlayerGetForceQuitBanInfoReq_proto = out.File
+ file_PlayerGetForceQuitBanInfoReq_proto_rawDesc = nil
+ file_PlayerGetForceQuitBanInfoReq_proto_goTypes = nil
+ file_PlayerGetForceQuitBanInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerGetForceQuitBanInfoRsp.pb.go b/protocol/proto/PlayerGetForceQuitBanInfoRsp.pb.go
new file mode 100644
index 00000000..cd8ff841
--- /dev/null
+++ b/protocol/proto/PlayerGetForceQuitBanInfoRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerGetForceQuitBanInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4197
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerGetForceQuitBanInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MatchId uint32 `protobuf:"varint,8,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+ ExpireTime uint32 `protobuf:"varint,13,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
+}
+
+func (x *PlayerGetForceQuitBanInfoRsp) Reset() {
+ *x = PlayerGetForceQuitBanInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerGetForceQuitBanInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerGetForceQuitBanInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerGetForceQuitBanInfoRsp) ProtoMessage() {}
+
+func (x *PlayerGetForceQuitBanInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerGetForceQuitBanInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerGetForceQuitBanInfoRsp.ProtoReflect.Descriptor instead.
+func (*PlayerGetForceQuitBanInfoRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerGetForceQuitBanInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerGetForceQuitBanInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerGetForceQuitBanInfoRsp) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+func (x *PlayerGetForceQuitBanInfoRsp) GetExpireTime() uint32 {
+ if x != nil {
+ return x.ExpireTime
+ }
+ return 0
+}
+
+var File_PlayerGetForceQuitBanInfoRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerGetForceQuitBanInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65,
+ 0x51, 0x75, 0x69, 0x74, 0x42, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x1c, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x51, 0x75, 0x69,
+ 0x74, 0x42, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69,
+ 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerGetForceQuitBanInfoRsp_proto_rawDescOnce sync.Once
+ file_PlayerGetForceQuitBanInfoRsp_proto_rawDescData = file_PlayerGetForceQuitBanInfoRsp_proto_rawDesc
+)
+
+func file_PlayerGetForceQuitBanInfoRsp_proto_rawDescGZIP() []byte {
+ file_PlayerGetForceQuitBanInfoRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerGetForceQuitBanInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerGetForceQuitBanInfoRsp_proto_rawDescData)
+ })
+ return file_PlayerGetForceQuitBanInfoRsp_proto_rawDescData
+}
+
+var file_PlayerGetForceQuitBanInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerGetForceQuitBanInfoRsp_proto_goTypes = []interface{}{
+ (*PlayerGetForceQuitBanInfoRsp)(nil), // 0: proto.PlayerGetForceQuitBanInfoRsp
+}
+var file_PlayerGetForceQuitBanInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerGetForceQuitBanInfoRsp_proto_init() }
+func file_PlayerGetForceQuitBanInfoRsp_proto_init() {
+ if File_PlayerGetForceQuitBanInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerGetForceQuitBanInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerGetForceQuitBanInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerGetForceQuitBanInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerGetForceQuitBanInfoRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerGetForceQuitBanInfoRsp_proto_depIdxs,
+ MessageInfos: file_PlayerGetForceQuitBanInfoRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerGetForceQuitBanInfoRsp_proto = out.File
+ file_PlayerGetForceQuitBanInfoRsp_proto_rawDesc = nil
+ file_PlayerGetForceQuitBanInfoRsp_proto_goTypes = nil
+ file_PlayerGetForceQuitBanInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerHomeCompInfo.pb.go b/protocol/proto/PlayerHomeCompInfo.pb.go
new file mode 100644
index 00000000..b302490f
--- /dev/null
+++ b/protocol/proto/PlayerHomeCompInfo.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerHomeCompInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerHomeCompInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnlockedModuleIdList []uint32 `protobuf:"varint,4,rep,packed,name=unlocked_module_id_list,json=unlockedModuleIdList,proto3" json:"unlocked_module_id_list,omitempty"`
+ SeenModuleIdList []uint32 `protobuf:"varint,2,rep,packed,name=seen_module_id_list,json=seenModuleIdList,proto3" json:"seen_module_id_list,omitempty"`
+ LevelupRewardGotLevelList []uint32 `protobuf:"varint,7,rep,packed,name=levelup_reward_got_level_list,json=levelupRewardGotLevelList,proto3" json:"levelup_reward_got_level_list,omitempty"`
+ FriendEnterHomeOption FriendEnterHomeOption `protobuf:"varint,8,opt,name=friend_enter_home_option,json=friendEnterHomeOption,proto3,enum=proto.FriendEnterHomeOption" json:"friend_enter_home_option,omitempty"`
+}
+
+func (x *PlayerHomeCompInfo) Reset() {
+ *x = PlayerHomeCompInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerHomeCompInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerHomeCompInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerHomeCompInfo) ProtoMessage() {}
+
+func (x *PlayerHomeCompInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerHomeCompInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerHomeCompInfo.ProtoReflect.Descriptor instead.
+func (*PlayerHomeCompInfo) Descriptor() ([]byte, []int) {
+ return file_PlayerHomeCompInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerHomeCompInfo) GetUnlockedModuleIdList() []uint32 {
+ if x != nil {
+ return x.UnlockedModuleIdList
+ }
+ return nil
+}
+
+func (x *PlayerHomeCompInfo) GetSeenModuleIdList() []uint32 {
+ if x != nil {
+ return x.SeenModuleIdList
+ }
+ return nil
+}
+
+func (x *PlayerHomeCompInfo) GetLevelupRewardGotLevelList() []uint32 {
+ if x != nil {
+ return x.LevelupRewardGotLevelList
+ }
+ return nil
+}
+
+func (x *PlayerHomeCompInfo) GetFriendEnterHomeOption() FriendEnterHomeOption {
+ if x != nil {
+ return x.FriendEnterHomeOption
+ }
+ return FriendEnterHomeOption_FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM
+}
+
+var File_PlayerHomeCompInfo_proto protoreflect.FileDescriptor
+
+var file_PlayerHomeCompInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1b, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f,
+ 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93,
+ 0x02, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x6d,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x17, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
+ 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
+ 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x13,
+ 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x65, 0x65, 0x6e, 0x4d,
+ 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x1d, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x67, 0x6f,
+ 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x19, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x75, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x47, 0x6f, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a,
+ 0x18, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x6f,
+ 0x6d, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x66,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerHomeCompInfo_proto_rawDescOnce sync.Once
+ file_PlayerHomeCompInfo_proto_rawDescData = file_PlayerHomeCompInfo_proto_rawDesc
+)
+
+func file_PlayerHomeCompInfo_proto_rawDescGZIP() []byte {
+ file_PlayerHomeCompInfo_proto_rawDescOnce.Do(func() {
+ file_PlayerHomeCompInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerHomeCompInfo_proto_rawDescData)
+ })
+ return file_PlayerHomeCompInfo_proto_rawDescData
+}
+
+var file_PlayerHomeCompInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerHomeCompInfo_proto_goTypes = []interface{}{
+ (*PlayerHomeCompInfo)(nil), // 0: proto.PlayerHomeCompInfo
+ (FriendEnterHomeOption)(0), // 1: proto.FriendEnterHomeOption
+}
+var file_PlayerHomeCompInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerHomeCompInfo.friend_enter_home_option:type_name -> proto.FriendEnterHomeOption
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerHomeCompInfo_proto_init() }
+func file_PlayerHomeCompInfo_proto_init() {
+ if File_PlayerHomeCompInfo_proto != nil {
+ return
+ }
+ file_FriendEnterHomeOption_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerHomeCompInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerHomeCompInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerHomeCompInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerHomeCompInfo_proto_goTypes,
+ DependencyIndexes: file_PlayerHomeCompInfo_proto_depIdxs,
+ MessageInfos: file_PlayerHomeCompInfo_proto_msgTypes,
+ }.Build()
+ File_PlayerHomeCompInfo_proto = out.File
+ file_PlayerHomeCompInfo_proto_rawDesc = nil
+ file_PlayerHomeCompInfo_proto_goTypes = nil
+ file_PlayerHomeCompInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerHomeCompInfoNotify.pb.go b/protocol/proto/PlayerHomeCompInfoNotify.pb.go
new file mode 100644
index 00000000..a2f9ab4a
--- /dev/null
+++ b/protocol/proto/PlayerHomeCompInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerHomeCompInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4880
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerHomeCompInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CompInfo *PlayerHomeCompInfo `protobuf:"bytes,4,opt,name=comp_info,json=compInfo,proto3" json:"comp_info,omitempty"`
+}
+
+func (x *PlayerHomeCompInfoNotify) Reset() {
+ *x = PlayerHomeCompInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerHomeCompInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerHomeCompInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerHomeCompInfoNotify) ProtoMessage() {}
+
+func (x *PlayerHomeCompInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerHomeCompInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerHomeCompInfoNotify.ProtoReflect.Descriptor instead.
+func (*PlayerHomeCompInfoNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerHomeCompInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerHomeCompInfoNotify) GetCompInfo() *PlayerHomeCompInfo {
+ if x != nil {
+ return x.CompInfo
+ }
+ return nil
+}
+
+var File_PlayerHomeCompInfoNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerHomeCompInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48,
+ 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x52, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x43,
+ 0x6f, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x36, 0x0a,
+ 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48,
+ 0x6f, 0x6d, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x6f, 0x6d,
+ 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerHomeCompInfoNotify_proto_rawDescOnce sync.Once
+ file_PlayerHomeCompInfoNotify_proto_rawDescData = file_PlayerHomeCompInfoNotify_proto_rawDesc
+)
+
+func file_PlayerHomeCompInfoNotify_proto_rawDescGZIP() []byte {
+ file_PlayerHomeCompInfoNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerHomeCompInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerHomeCompInfoNotify_proto_rawDescData)
+ })
+ return file_PlayerHomeCompInfoNotify_proto_rawDescData
+}
+
+var file_PlayerHomeCompInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerHomeCompInfoNotify_proto_goTypes = []interface{}{
+ (*PlayerHomeCompInfoNotify)(nil), // 0: proto.PlayerHomeCompInfoNotify
+ (*PlayerHomeCompInfo)(nil), // 1: proto.PlayerHomeCompInfo
+}
+var file_PlayerHomeCompInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerHomeCompInfoNotify.comp_info:type_name -> proto.PlayerHomeCompInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerHomeCompInfoNotify_proto_init() }
+func file_PlayerHomeCompInfoNotify_proto_init() {
+ if File_PlayerHomeCompInfoNotify_proto != nil {
+ return
+ }
+ file_PlayerHomeCompInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerHomeCompInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerHomeCompInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerHomeCompInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerHomeCompInfoNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerHomeCompInfoNotify_proto_depIdxs,
+ MessageInfos: file_PlayerHomeCompInfoNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerHomeCompInfoNotify_proto = out.File
+ file_PlayerHomeCompInfoNotify_proto_rawDesc = nil
+ file_PlayerHomeCompInfoNotify_proto_goTypes = nil
+ file_PlayerHomeCompInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerInjectFixNotify.pb.go b/protocol/proto/PlayerInjectFixNotify.pb.go
new file mode 100644
index 00000000..517868fd
--- /dev/null
+++ b/protocol/proto/PlayerInjectFixNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerInjectFixNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 132
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerInjectFixNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,13,opt,name=id,proto3" json:"id,omitempty"`
+ InjectFix []byte `protobuf:"bytes,10,opt,name=inject_fix,json=injectFix,proto3" json:"inject_fix,omitempty"`
+}
+
+func (x *PlayerInjectFixNotify) Reset() {
+ *x = PlayerInjectFixNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerInjectFixNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerInjectFixNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerInjectFixNotify) ProtoMessage() {}
+
+func (x *PlayerInjectFixNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerInjectFixNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerInjectFixNotify.ProtoReflect.Descriptor instead.
+func (*PlayerInjectFixNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerInjectFixNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerInjectFixNotify) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *PlayerInjectFixNotify) GetInjectFix() []byte {
+ if x != nil {
+ return x.InjectFix
+ }
+ return nil
+}
+
+var File_PlayerInjectFixNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerInjectFixNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69,
+ 0x78, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e,
+ 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x78, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x0e, 0x0a,
+ 0x02, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x09, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x69, 0x78, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerInjectFixNotify_proto_rawDescOnce sync.Once
+ file_PlayerInjectFixNotify_proto_rawDescData = file_PlayerInjectFixNotify_proto_rawDesc
+)
+
+func file_PlayerInjectFixNotify_proto_rawDescGZIP() []byte {
+ file_PlayerInjectFixNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerInjectFixNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerInjectFixNotify_proto_rawDescData)
+ })
+ return file_PlayerInjectFixNotify_proto_rawDescData
+}
+
+var file_PlayerInjectFixNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerInjectFixNotify_proto_goTypes = []interface{}{
+ (*PlayerInjectFixNotify)(nil), // 0: proto.PlayerInjectFixNotify
+}
+var file_PlayerInjectFixNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerInjectFixNotify_proto_init() }
+func file_PlayerInjectFixNotify_proto_init() {
+ if File_PlayerInjectFixNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerInjectFixNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerInjectFixNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerInjectFixNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerInjectFixNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerInjectFixNotify_proto_depIdxs,
+ MessageInfos: file_PlayerInjectFixNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerInjectFixNotify_proto = out.File
+ file_PlayerInjectFixNotify_proto_rawDesc = nil
+ file_PlayerInjectFixNotify_proto_goTypes = nil
+ file_PlayerInjectFixNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerInvestigationAllInfoNotify.pb.go b/protocol/proto/PlayerInvestigationAllInfoNotify.pb.go
new file mode 100644
index 00000000..2af6fcdb
--- /dev/null
+++ b/protocol/proto/PlayerInvestigationAllInfoNotify.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerInvestigationAllInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1928
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerInvestigationAllInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InvestigationList []*Investigation `protobuf:"bytes,15,rep,name=investigation_list,json=investigationList,proto3" json:"investigation_list,omitempty"`
+ InvestigationTargetList []*InvestigationTarget `protobuf:"bytes,12,rep,name=investigation_target_list,json=investigationTargetList,proto3" json:"investigation_target_list,omitempty"`
+}
+
+func (x *PlayerInvestigationAllInfoNotify) Reset() {
+ *x = PlayerInvestigationAllInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerInvestigationAllInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerInvestigationAllInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerInvestigationAllInfoNotify) ProtoMessage() {}
+
+func (x *PlayerInvestigationAllInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerInvestigationAllInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerInvestigationAllInfoNotify.ProtoReflect.Descriptor instead.
+func (*PlayerInvestigationAllInfoNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerInvestigationAllInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerInvestigationAllInfoNotify) GetInvestigationList() []*Investigation {
+ if x != nil {
+ return x.InvestigationList
+ }
+ return nil
+}
+
+func (x *PlayerInvestigationAllInfoNotify) GetInvestigationTargetList() []*InvestigationTarget {
+ if x != nil {
+ return x.InvestigationTargetList
+ }
+ return nil
+}
+
+var File_PlayerInvestigationAllInfoNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerInvestigationAllInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x13, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xbf, 0x01, 0x0a, 0x20, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x43, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69,
+ 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x19, 0x69, 0x6e, 0x76,
+ 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x17, 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerInvestigationAllInfoNotify_proto_rawDescOnce sync.Once
+ file_PlayerInvestigationAllInfoNotify_proto_rawDescData = file_PlayerInvestigationAllInfoNotify_proto_rawDesc
+)
+
+func file_PlayerInvestigationAllInfoNotify_proto_rawDescGZIP() []byte {
+ file_PlayerInvestigationAllInfoNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerInvestigationAllInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerInvestigationAllInfoNotify_proto_rawDescData)
+ })
+ return file_PlayerInvestigationAllInfoNotify_proto_rawDescData
+}
+
+var file_PlayerInvestigationAllInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerInvestigationAllInfoNotify_proto_goTypes = []interface{}{
+ (*PlayerInvestigationAllInfoNotify)(nil), // 0: proto.PlayerInvestigationAllInfoNotify
+ (*Investigation)(nil), // 1: proto.Investigation
+ (*InvestigationTarget)(nil), // 2: proto.InvestigationTarget
+}
+var file_PlayerInvestigationAllInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerInvestigationAllInfoNotify.investigation_list:type_name -> proto.Investigation
+ 2, // 1: proto.PlayerInvestigationAllInfoNotify.investigation_target_list:type_name -> proto.InvestigationTarget
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerInvestigationAllInfoNotify_proto_init() }
+func file_PlayerInvestigationAllInfoNotify_proto_init() {
+ if File_PlayerInvestigationAllInfoNotify_proto != nil {
+ return
+ }
+ file_Investigation_proto_init()
+ file_InvestigationTarget_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerInvestigationAllInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerInvestigationAllInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerInvestigationAllInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerInvestigationAllInfoNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerInvestigationAllInfoNotify_proto_depIdxs,
+ MessageInfos: file_PlayerInvestigationAllInfoNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerInvestigationAllInfoNotify_proto = out.File
+ file_PlayerInvestigationAllInfoNotify_proto_rawDesc = nil
+ file_PlayerInvestigationAllInfoNotify_proto_goTypes = nil
+ file_PlayerInvestigationAllInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerInvestigationNotify.pb.go b/protocol/proto/PlayerInvestigationNotify.pb.go
new file mode 100644
index 00000000..be6c4b75
--- /dev/null
+++ b/protocol/proto/PlayerInvestigationNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerInvestigationNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1911
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerInvestigationNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InvestigationList []*Investigation `protobuf:"bytes,1,rep,name=investigation_list,json=investigationList,proto3" json:"investigation_list,omitempty"`
+}
+
+func (x *PlayerInvestigationNotify) Reset() {
+ *x = PlayerInvestigationNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerInvestigationNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerInvestigationNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerInvestigationNotify) ProtoMessage() {}
+
+func (x *PlayerInvestigationNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerInvestigationNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerInvestigationNotify.ProtoReflect.Descriptor instead.
+func (*PlayerInvestigationNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerInvestigationNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerInvestigationNotify) GetInvestigationList() []*Investigation {
+ if x != nil {
+ return x.InvestigationList
+ }
+ return nil
+}
+
+var File_PlayerInvestigationNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerInvestigationNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74,
+ 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a,
+ 0x19, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x43, 0x0a, 0x12, 0x69, 0x6e,
+ 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
+ 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x69, 0x6e,
+ 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerInvestigationNotify_proto_rawDescOnce sync.Once
+ file_PlayerInvestigationNotify_proto_rawDescData = file_PlayerInvestigationNotify_proto_rawDesc
+)
+
+func file_PlayerInvestigationNotify_proto_rawDescGZIP() []byte {
+ file_PlayerInvestigationNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerInvestigationNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerInvestigationNotify_proto_rawDescData)
+ })
+ return file_PlayerInvestigationNotify_proto_rawDescData
+}
+
+var file_PlayerInvestigationNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerInvestigationNotify_proto_goTypes = []interface{}{
+ (*PlayerInvestigationNotify)(nil), // 0: proto.PlayerInvestigationNotify
+ (*Investigation)(nil), // 1: proto.Investigation
+}
+var file_PlayerInvestigationNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerInvestigationNotify.investigation_list:type_name -> proto.Investigation
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerInvestigationNotify_proto_init() }
+func file_PlayerInvestigationNotify_proto_init() {
+ if File_PlayerInvestigationNotify_proto != nil {
+ return
+ }
+ file_Investigation_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerInvestigationNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerInvestigationNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerInvestigationNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerInvestigationNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerInvestigationNotify_proto_depIdxs,
+ MessageInfos: file_PlayerInvestigationNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerInvestigationNotify_proto = out.File
+ file_PlayerInvestigationNotify_proto_rawDesc = nil
+ file_PlayerInvestigationNotify_proto_goTypes = nil
+ file_PlayerInvestigationNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerInvestigationTargetNotify.pb.go b/protocol/proto/PlayerInvestigationTargetNotify.pb.go
new file mode 100644
index 00000000..4315a89f
--- /dev/null
+++ b/protocol/proto/PlayerInvestigationTargetNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerInvestigationTargetNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1929
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerInvestigationTargetNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InvestigationTargetList []*InvestigationTarget `protobuf:"bytes,1,rep,name=investigation_target_list,json=investigationTargetList,proto3" json:"investigation_target_list,omitempty"`
+}
+
+func (x *PlayerInvestigationTargetNotify) Reset() {
+ *x = PlayerInvestigationTargetNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerInvestigationTargetNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerInvestigationTargetNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerInvestigationTargetNotify) ProtoMessage() {}
+
+func (x *PlayerInvestigationTargetNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerInvestigationTargetNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerInvestigationTargetNotify.ProtoReflect.Descriptor instead.
+func (*PlayerInvestigationTargetNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerInvestigationTargetNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerInvestigationTargetNotify) GetInvestigationTargetList() []*InvestigationTarget {
+ if x != nil {
+ return x.InvestigationTargetList
+ }
+ return nil
+}
+
+var File_PlayerInvestigationTargetNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerInvestigationTargetNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x1f, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x56, 0x0a, 0x19,
+ 0x69, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x17, 0x69, 0x6e, 0x76,
+ 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerInvestigationTargetNotify_proto_rawDescOnce sync.Once
+ file_PlayerInvestigationTargetNotify_proto_rawDescData = file_PlayerInvestigationTargetNotify_proto_rawDesc
+)
+
+func file_PlayerInvestigationTargetNotify_proto_rawDescGZIP() []byte {
+ file_PlayerInvestigationTargetNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerInvestigationTargetNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerInvestigationTargetNotify_proto_rawDescData)
+ })
+ return file_PlayerInvestigationTargetNotify_proto_rawDescData
+}
+
+var file_PlayerInvestigationTargetNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerInvestigationTargetNotify_proto_goTypes = []interface{}{
+ (*PlayerInvestigationTargetNotify)(nil), // 0: proto.PlayerInvestigationTargetNotify
+ (*InvestigationTarget)(nil), // 1: proto.InvestigationTarget
+}
+var file_PlayerInvestigationTargetNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerInvestigationTargetNotify.investigation_target_list:type_name -> proto.InvestigationTarget
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerInvestigationTargetNotify_proto_init() }
+func file_PlayerInvestigationTargetNotify_proto_init() {
+ if File_PlayerInvestigationTargetNotify_proto != nil {
+ return
+ }
+ file_InvestigationTarget_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerInvestigationTargetNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerInvestigationTargetNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerInvestigationTargetNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerInvestigationTargetNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerInvestigationTargetNotify_proto_depIdxs,
+ MessageInfos: file_PlayerInvestigationTargetNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerInvestigationTargetNotify_proto = out.File
+ file_PlayerInvestigationTargetNotify_proto_rawDesc = nil
+ file_PlayerInvestigationTargetNotify_proto_goTypes = nil
+ file_PlayerInvestigationTargetNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerLevelRewardUpdateNotify.pb.go b/protocol/proto/PlayerLevelRewardUpdateNotify.pb.go
new file mode 100644
index 00000000..57b200d2
--- /dev/null
+++ b/protocol/proto/PlayerLevelRewardUpdateNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerLevelRewardUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 200
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerLevelRewardUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelList []uint32 `protobuf:"varint,9,rep,packed,name=level_list,json=levelList,proto3" json:"level_list,omitempty"`
+}
+
+func (x *PlayerLevelRewardUpdateNotify) Reset() {
+ *x = PlayerLevelRewardUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerLevelRewardUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerLevelRewardUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerLevelRewardUpdateNotify) ProtoMessage() {}
+
+func (x *PlayerLevelRewardUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerLevelRewardUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerLevelRewardUpdateNotify.ProtoReflect.Descriptor instead.
+func (*PlayerLevelRewardUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerLevelRewardUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerLevelRewardUpdateNotify) GetLevelList() []uint32 {
+ if x != nil {
+ return x.LevelList
+ }
+ return nil
+}
+
+var File_PlayerLevelRewardUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerLevelRewardUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x1d,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerLevelRewardUpdateNotify_proto_rawDescOnce sync.Once
+ file_PlayerLevelRewardUpdateNotify_proto_rawDescData = file_PlayerLevelRewardUpdateNotify_proto_rawDesc
+)
+
+func file_PlayerLevelRewardUpdateNotify_proto_rawDescGZIP() []byte {
+ file_PlayerLevelRewardUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerLevelRewardUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerLevelRewardUpdateNotify_proto_rawDescData)
+ })
+ return file_PlayerLevelRewardUpdateNotify_proto_rawDescData
+}
+
+var file_PlayerLevelRewardUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerLevelRewardUpdateNotify_proto_goTypes = []interface{}{
+ (*PlayerLevelRewardUpdateNotify)(nil), // 0: proto.PlayerLevelRewardUpdateNotify
+}
+var file_PlayerLevelRewardUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerLevelRewardUpdateNotify_proto_init() }
+func file_PlayerLevelRewardUpdateNotify_proto_init() {
+ if File_PlayerLevelRewardUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerLevelRewardUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerLevelRewardUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerLevelRewardUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerLevelRewardUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerLevelRewardUpdateNotify_proto_depIdxs,
+ MessageInfos: file_PlayerLevelRewardUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerLevelRewardUpdateNotify_proto = out.File
+ file_PlayerLevelRewardUpdateNotify_proto_rawDesc = nil
+ file_PlayerLevelRewardUpdateNotify_proto_goTypes = nil
+ file_PlayerLevelRewardUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerLocationInfo.pb.go b/protocol/proto/PlayerLocationInfo.pb.go
new file mode 100644
index 00000000..c513a7cf
--- /dev/null
+++ b/protocol/proto/PlayerLocationInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerLocationInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerLocationInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,15,opt,name=uid,proto3" json:"uid,omitempty"`
+ Pos *Vector `protobuf:"bytes,3,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,13,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *PlayerLocationInfo) Reset() {
+ *x = PlayerLocationInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerLocationInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerLocationInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerLocationInfo) ProtoMessage() {}
+
+func (x *PlayerLocationInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerLocationInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerLocationInfo.ProtoReflect.Descriptor instead.
+func (*PlayerLocationInfo) Descriptor() ([]byte, []int) {
+ return file_PlayerLocationInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerLocationInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlayerLocationInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *PlayerLocationInfo) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_PlayerLocationInfo_proto protoreflect.FileDescriptor
+
+var file_PlayerLocationInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x68, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerLocationInfo_proto_rawDescOnce sync.Once
+ file_PlayerLocationInfo_proto_rawDescData = file_PlayerLocationInfo_proto_rawDesc
+)
+
+func file_PlayerLocationInfo_proto_rawDescGZIP() []byte {
+ file_PlayerLocationInfo_proto_rawDescOnce.Do(func() {
+ file_PlayerLocationInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerLocationInfo_proto_rawDescData)
+ })
+ return file_PlayerLocationInfo_proto_rawDescData
+}
+
+var file_PlayerLocationInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerLocationInfo_proto_goTypes = []interface{}{
+ (*PlayerLocationInfo)(nil), // 0: proto.PlayerLocationInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_PlayerLocationInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerLocationInfo.pos:type_name -> proto.Vector
+ 1, // 1: proto.PlayerLocationInfo.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerLocationInfo_proto_init() }
+func file_PlayerLocationInfo_proto_init() {
+ if File_PlayerLocationInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerLocationInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerLocationInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerLocationInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerLocationInfo_proto_goTypes,
+ DependencyIndexes: file_PlayerLocationInfo_proto_depIdxs,
+ MessageInfos: file_PlayerLocationInfo_proto_msgTypes,
+ }.Build()
+ File_PlayerLocationInfo_proto = out.File
+ file_PlayerLocationInfo_proto_rawDesc = nil
+ file_PlayerLocationInfo_proto_goTypes = nil
+ file_PlayerLocationInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerLoginReq.pb.go b/protocol/proto/PlayerLoginReq.pb.go
new file mode 100644
index 00000000..7baafb38
--- /dev/null
+++ b/protocol/proto/PlayerLoginReq.pb.go
@@ -0,0 +1,597 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerLoginReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 112
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerLoginReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LanguageType uint32 `protobuf:"varint,6,opt,name=language_type,json=languageType,proto3" json:"language_type,omitempty"`
+ RegPlatform uint32 `protobuf:"varint,615,opt,name=reg_platform,json=regPlatform,proto3" json:"reg_platform,omitempty"`
+ TrackingIoInfo *TrackingIOInfo `protobuf:"bytes,1660,opt,name=tracking_io_info,json=trackingIoInfo,proto3" json:"tracking_io_info,omitempty"`
+ AccountType uint32 `protobuf:"varint,13,opt,name=account_type,json=accountType,proto3" json:"account_type,omitempty"`
+ Token string `protobuf:"bytes,15,opt,name=token,proto3" json:"token,omitempty"`
+ ExtraBinData []byte `protobuf:"bytes,1458,opt,name=extra_bin_data,json=extraBinData,proto3" json:"extra_bin_data,omitempty"`
+ ChannelId uint32 `protobuf:"varint,1314,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
+ ClientDataVersion uint32 `protobuf:"varint,688,opt,name=client_data_version,json=clientDataVersion,proto3" json:"client_data_version,omitempty"`
+ AccountUid string `protobuf:"bytes,2,opt,name=account_uid,json=accountUid,proto3" json:"account_uid,omitempty"`
+ ClientVersion string `protobuf:"bytes,12,opt,name=client_version,json=clientVersion,proto3" json:"client_version,omitempty"`
+ SecurityLibraryMd5 string `protobuf:"bytes,772,opt,name=security_library_md5,json=securityLibraryMd5,proto3" json:"security_library_md5,omitempty"`
+ CountryCode string `protobuf:"bytes,2000,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
+ PsnId string `protobuf:"bytes,1268,opt,name=psn_id,json=psnId,proto3" json:"psn_id,omitempty"`
+ ClientPort uint32 `protobuf:"varint,431,opt,name=client_port,json=clientPort,proto3" json:"client_port,omitempty"`
+ DeviceName string `protobuf:"bytes,9,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"`
+ Cps string `protobuf:"bytes,1163,opt,name=cps,proto3" json:"cps,omitempty"`
+ LoginRand uint64 `protobuf:"varint,3,opt,name=login_rand,json=loginRand,proto3" json:"login_rand,omitempty"`
+ TargetHomeParam uint32 `protobuf:"varint,984,opt,name=target_home_param,json=targetHomeParam,proto3" json:"target_home_param,omitempty"`
+ AdjustTrackingInfo *AdjustTrackingInfo `protobuf:"bytes,1816,opt,name=adjust_tracking_info,json=adjustTrackingInfo,proto3" json:"adjust_tracking_info,omitempty"`
+ IsTransfer bool `protobuf:"varint,908,opt,name=is_transfer,json=isTransfer,proto3" json:"is_transfer,omitempty"`
+ Tag uint32 `protobuf:"varint,1787,opt,name=tag,proto3" json:"tag,omitempty"`
+ IsGuest bool `protobuf:"varint,5,opt,name=is_guest,json=isGuest,proto3" json:"is_guest,omitempty"`
+ EnvironmentErrorCode []byte `protobuf:"bytes,2026,opt,name=environment_error_code,json=environmentErrorCode,proto3" json:"environment_error_code,omitempty"`
+ OnlineId string `protobuf:"bytes,903,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ IsEditor bool `protobuf:"varint,8,opt,name=is_editor,json=isEditor,proto3" json:"is_editor,omitempty"`
+ ChecksumClientVersion string `protobuf:"bytes,861,opt,name=checksum_client_version,json=checksumClientVersion,proto3" json:"checksum_client_version,omitempty"`
+ SecurityCmdReply []byte `protobuf:"bytes,1995,opt,name=security_cmd_reply,json=securityCmdReply,proto3" json:"security_cmd_reply,omitempty"`
+ SecurityLibraryVersion string `protobuf:"bytes,1213,opt,name=security_library_version,json=securityLibraryVersion,proto3" json:"security_library_version,omitempty"`
+ Birthday string `protobuf:"bytes,1652,opt,name=birthday,proto3" json:"birthday,omitempty"`
+ DeviceUuid string `protobuf:"bytes,4,opt,name=device_uuid,json=deviceUuid,proto3" json:"device_uuid,omitempty"`
+ ClientToken uint32 `protobuf:"varint,1546,opt,name=client_token,json=clientToken,proto3" json:"client_token,omitempty"`
+ SubChannelId uint32 `protobuf:"varint,23,opt,name=sub_channel_id,json=subChannelId,proto3" json:"sub_channel_id,omitempty"`
+ TargetUid uint32 `protobuf:"varint,11,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ DeviceInfo string `protobuf:"bytes,1,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
+ ClientVerisonHash string `protobuf:"bytes,1707,opt,name=client_verison_hash,json=clientVerisonHash,proto3" json:"client_verison_hash,omitempty"`
+ Checksum string `protobuf:"bytes,1532,opt,name=checksum,proto3" json:"checksum,omitempty"`
+ PlatformType uint32 `protobuf:"varint,14,opt,name=platform_type,json=platformType,proto3" json:"platform_type,omitempty"`
+ TargetHomeOwnerUid uint32 `protobuf:"varint,1864,opt,name=target_home_owner_uid,json=targetHomeOwnerUid,proto3" json:"target_home_owner_uid,omitempty"`
+ CloudClientIp uint32 `protobuf:"varint,1335,opt,name=cloud_client_ip,json=cloudClientIp,proto3" json:"cloud_client_ip,omitempty"`
+ GmUid uint32 `protobuf:"varint,612,opt,name=gm_uid,json=gmUid,proto3" json:"gm_uid,omitempty"`
+ SystemVersion string `protobuf:"bytes,10,opt,name=system_version,json=systemVersion,proto3" json:"system_version,omitempty"`
+ Platform string `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform,omitempty"`
+}
+
+func (x *PlayerLoginReq) Reset() {
+ *x = PlayerLoginReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerLoginReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerLoginReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerLoginReq) ProtoMessage() {}
+
+func (x *PlayerLoginReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerLoginReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerLoginReq.ProtoReflect.Descriptor instead.
+func (*PlayerLoginReq) Descriptor() ([]byte, []int) {
+ return file_PlayerLoginReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerLoginReq) GetLanguageType() uint32 {
+ if x != nil {
+ return x.LanguageType
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetRegPlatform() uint32 {
+ if x != nil {
+ return x.RegPlatform
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetTrackingIoInfo() *TrackingIOInfo {
+ if x != nil {
+ return x.TrackingIoInfo
+ }
+ return nil
+}
+
+func (x *PlayerLoginReq) GetAccountType() uint32 {
+ if x != nil {
+ return x.AccountType
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetToken() string {
+ if x != nil {
+ return x.Token
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetExtraBinData() []byte {
+ if x != nil {
+ return x.ExtraBinData
+ }
+ return nil
+}
+
+func (x *PlayerLoginReq) GetChannelId() uint32 {
+ if x != nil {
+ return x.ChannelId
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetClientDataVersion() uint32 {
+ if x != nil {
+ return x.ClientDataVersion
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetAccountUid() string {
+ if x != nil {
+ return x.AccountUid
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetClientVersion() string {
+ if x != nil {
+ return x.ClientVersion
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetSecurityLibraryMd5() string {
+ if x != nil {
+ return x.SecurityLibraryMd5
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetCountryCode() string {
+ if x != nil {
+ return x.CountryCode
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetPsnId() string {
+ if x != nil {
+ return x.PsnId
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetClientPort() uint32 {
+ if x != nil {
+ return x.ClientPort
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetDeviceName() string {
+ if x != nil {
+ return x.DeviceName
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetCps() string {
+ if x != nil {
+ return x.Cps
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetLoginRand() uint64 {
+ if x != nil {
+ return x.LoginRand
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetTargetHomeParam() uint32 {
+ if x != nil {
+ return x.TargetHomeParam
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetAdjustTrackingInfo() *AdjustTrackingInfo {
+ if x != nil {
+ return x.AdjustTrackingInfo
+ }
+ return nil
+}
+
+func (x *PlayerLoginReq) GetIsTransfer() bool {
+ if x != nil {
+ return x.IsTransfer
+ }
+ return false
+}
+
+func (x *PlayerLoginReq) GetTag() uint32 {
+ if x != nil {
+ return x.Tag
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetIsGuest() bool {
+ if x != nil {
+ return x.IsGuest
+ }
+ return false
+}
+
+func (x *PlayerLoginReq) GetEnvironmentErrorCode() []byte {
+ if x != nil {
+ return x.EnvironmentErrorCode
+ }
+ return nil
+}
+
+func (x *PlayerLoginReq) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetIsEditor() bool {
+ if x != nil {
+ return x.IsEditor
+ }
+ return false
+}
+
+func (x *PlayerLoginReq) GetChecksumClientVersion() string {
+ if x != nil {
+ return x.ChecksumClientVersion
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetSecurityCmdReply() []byte {
+ if x != nil {
+ return x.SecurityCmdReply
+ }
+ return nil
+}
+
+func (x *PlayerLoginReq) GetSecurityLibraryVersion() string {
+ if x != nil {
+ return x.SecurityLibraryVersion
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetBirthday() string {
+ if x != nil {
+ return x.Birthday
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetDeviceUuid() string {
+ if x != nil {
+ return x.DeviceUuid
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetClientToken() uint32 {
+ if x != nil {
+ return x.ClientToken
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetSubChannelId() uint32 {
+ if x != nil {
+ return x.SubChannelId
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetDeviceInfo() string {
+ if x != nil {
+ return x.DeviceInfo
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetClientVerisonHash() string {
+ if x != nil {
+ return x.ClientVerisonHash
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetChecksum() string {
+ if x != nil {
+ return x.Checksum
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetPlatformType() uint32 {
+ if x != nil {
+ return x.PlatformType
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetTargetHomeOwnerUid() uint32 {
+ if x != nil {
+ return x.TargetHomeOwnerUid
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetCloudClientIp() uint32 {
+ if x != nil {
+ return x.CloudClientIp
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetGmUid() uint32 {
+ if x != nil {
+ return x.GmUid
+ }
+ return 0
+}
+
+func (x *PlayerLoginReq) GetSystemVersion() string {
+ if x != nil {
+ return x.SystemVersion
+ }
+ return ""
+}
+
+func (x *PlayerLoginReq) GetPlatform() string {
+ if x != nil {
+ return x.Platform
+ }
+ return ""
+}
+
+var File_PlayerLoginReq_proto protoreflect.FileDescriptor
+
+var file_PlayerLoginReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x41,
+ 0x64, 0x6a, 0x75, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e,
+ 0x67, 0x49, 0x4f, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x0c,
+ 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71,
+ 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x5f, 0x70, 0x6c, 0x61,
+ 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xe7, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65,
+ 0x67, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x40, 0x0a, 0x10, 0x74, 0x72, 0x61,
+ 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6f, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xfc, 0x0c,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61,
+ 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x4f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x74, 0x72, 0x61,
+ 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x61,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
+ 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x62, 0x69,
+ 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0xb2, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x65,
+ 0x78, 0x74, 0x72, 0x61, 0x42, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
+ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0xa2, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x18, 0xb0, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x69, 0x64, 0x12, 0x25, 0x0a,
+ 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79,
+ 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x84, 0x06, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x62,
+ 0x72, 0x61, 0x72, 0x79, 0x4d, 0x64, 0x35, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xd0, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70,
+ 0x73, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0xf4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x73,
+ 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f,
+ 0x72, 0x74, 0x18, 0xaf, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x11, 0x0a, 0x03, 0x63, 0x70, 0x73, 0x18, 0x8b, 0x09,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67,
+ 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c,
+ 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0xd8, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x4c, 0x0a, 0x14, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x5f,
+ 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x98, 0x0e,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x6a,
+ 0x75, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x12, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x65, 0x72, 0x18, 0x8c, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x11, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0xfb, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67,
+ 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x47, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x16, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
+ 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xea, 0x0f,
+ 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,
+ 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x6e,
+ 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x87, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x65,
+ 0x64, 0x69, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x45,
+ 0x64, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x17, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
+ 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x18, 0xdd, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
+ 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d,
+ 0x0a, 0x12, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6d, 0x64, 0x5f, 0x72,
+ 0x65, 0x70, 0x6c, 0x79, 0x18, 0xcb, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x65, 0x63,
+ 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x39, 0x0a,
+ 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72,
+ 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0x09, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x16, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72,
+ 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74,
+ 0x68, 0x64, 0x61, 0x79, 0x18, 0xf4, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x69, 0x72,
+ 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
+ 0x75, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69,
+ 0x63, 0x65, 0x55, 0x75, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x8a, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x75,
+ 0x62, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x73,
+ 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0xab, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x48, 0x61, 0x73,
+ 0x68, 0x12, 0x1b, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0xfc, 0x0b,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x23,
+ 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x6f,
+ 0x6d, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0xc8, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x4f,
+ 0x77, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
+ 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x18, 0xb7, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70,
+ 0x12, 0x16, 0x0a, 0x06, 0x67, 0x6d, 0x5f, 0x75, 0x69, 0x64, 0x18, 0xe4, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x67, 0x6d, 0x55, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x79, 0x73, 0x74,
+ 0x65, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
+ 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerLoginReq_proto_rawDescOnce sync.Once
+ file_PlayerLoginReq_proto_rawDescData = file_PlayerLoginReq_proto_rawDesc
+)
+
+func file_PlayerLoginReq_proto_rawDescGZIP() []byte {
+ file_PlayerLoginReq_proto_rawDescOnce.Do(func() {
+ file_PlayerLoginReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerLoginReq_proto_rawDescData)
+ })
+ return file_PlayerLoginReq_proto_rawDescData
+}
+
+var file_PlayerLoginReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerLoginReq_proto_goTypes = []interface{}{
+ (*PlayerLoginReq)(nil), // 0: proto.PlayerLoginReq
+ (*TrackingIOInfo)(nil), // 1: proto.TrackingIOInfo
+ (*AdjustTrackingInfo)(nil), // 2: proto.AdjustTrackingInfo
+}
+var file_PlayerLoginReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerLoginReq.tracking_io_info:type_name -> proto.TrackingIOInfo
+ 2, // 1: proto.PlayerLoginReq.adjust_tracking_info:type_name -> proto.AdjustTrackingInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerLoginReq_proto_init() }
+func file_PlayerLoginReq_proto_init() {
+ if File_PlayerLoginReq_proto != nil {
+ return
+ }
+ file_AdjustTrackingInfo_proto_init()
+ file_TrackingIOInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerLoginReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerLoginReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerLoginReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerLoginReq_proto_goTypes,
+ DependencyIndexes: file_PlayerLoginReq_proto_depIdxs,
+ MessageInfos: file_PlayerLoginReq_proto_msgTypes,
+ }.Build()
+ File_PlayerLoginReq_proto = out.File
+ file_PlayerLoginReq_proto_rawDesc = nil
+ file_PlayerLoginReq_proto_goTypes = nil
+ file_PlayerLoginReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerLoginRsp.pb.go b/protocol/proto/PlayerLoginRsp.pb.go
new file mode 100644
index 00000000..67fd76dc
--- /dev/null
+++ b/protocol/proto/PlayerLoginRsp.pb.go
@@ -0,0 +1,568 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerLoginRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 135
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerLoginRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClientDataVersion uint32 `protobuf:"varint,1,opt,name=client_data_version,json=clientDataVersion,proto3" json:"client_data_version,omitempty"`
+ IsScOpen bool `protobuf:"varint,1429,opt,name=is_sc_open,json=isScOpen,proto3" json:"is_sc_open,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ BlockInfoMap map[uint32]*BlockInfo `protobuf:"bytes,571,rep,name=block_info_map,json=blockInfoMap,proto3" json:"block_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ IsAudit bool `protobuf:"varint,1685,opt,name=is_audit,json=isAudit,proto3" json:"is_audit,omitempty"`
+ IsTransfer bool `protobuf:"varint,2018,opt,name=is_transfer,json=isTransfer,proto3" json:"is_transfer,omitempty"`
+ ClientSilenceMd5 string `protobuf:"bytes,1746,opt,name=client_silence_md5,json=clientSilenceMd5,proto3" json:"client_silence_md5,omitempty"`
+ NextResVersionConfig *ResVersionConfig `protobuf:"bytes,1573,opt,name=next_res_version_config,json=nextResVersionConfig,proto3" json:"next_res_version_config,omitempty"`
+ ClientSilenceDataVersion uint32 `protobuf:"varint,6,opt,name=client_silence_data_version,json=clientSilenceDataVersion,proto3" json:"client_silence_data_version,omitempty"`
+ LoginRand uint64 `protobuf:"varint,4,opt,name=login_rand,json=loginRand,proto3" json:"login_rand,omitempty"`
+ IsNewPlayer bool `protobuf:"varint,8,opt,name=is_new_player,json=isNewPlayer,proto3" json:"is_new_player,omitempty"`
+ ClientVersionSuffix string `protobuf:"bytes,1047,opt,name=client_version_suffix,json=clientVersionSuffix,proto3" json:"client_version_suffix,omitempty"`
+ GameBiz string `protobuf:"bytes,5,opt,name=game_biz,json=gameBiz,proto3" json:"game_biz,omitempty"`
+ NextResourceUrl string `protobuf:"bytes,621,opt,name=next_resource_url,json=nextResourceUrl,proto3" json:"next_resource_url,omitempty"`
+ IsRelogin bool `protobuf:"varint,10,opt,name=is_relogin,json=isRelogin,proto3" json:"is_relogin,omitempty"`
+ TotalTickTime float64 `protobuf:"fixed64,125,opt,name=total_tick_time,json=totalTickTime,proto3" json:"total_tick_time,omitempty"`
+ IsEnableClientHashDebug bool `protobuf:"varint,932,opt,name=is_enable_client_hash_debug,json=isEnableClientHashDebug,proto3" json:"is_enable_client_hash_debug,omitempty"`
+ ScInfo []byte `protobuf:"bytes,2024,opt,name=sc_info,json=scInfo,proto3" json:"sc_info,omitempty"`
+ AbilityHashCode int32 `protobuf:"varint,12,opt,name=ability_hash_code,json=abilityHashCode,proto3" json:"ability_hash_code,omitempty"`
+ RegisterCps string `protobuf:"bytes,2040,opt,name=register_cps,json=registerCps,proto3" json:"register_cps,omitempty"`
+ IsLoginRspSplit bool `protobuf:"varint,1649,opt,name=is_login_rsp_split,json=isLoginRspSplit,proto3" json:"is_login_rsp_split,omitempty"`
+ IsUseAbilityHash bool `protobuf:"varint,2,opt,name=is_use_ability_hash,json=isUseAbilityHash,proto3" json:"is_use_ability_hash,omitempty"`
+ AbilityHashMap map[string]int32 `protobuf:"bytes,11,rep,name=ability_hash_map,json=abilityHashMap,proto3" json:"ability_hash_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ShortAbilityHashMap []*ShortAbilityHashPair `protobuf:"bytes,250,rep,name=short_ability_hash_map,json=shortAbilityHashMap,proto3" json:"short_ability_hash_map,omitempty"`
+ ClientMd5 string `protobuf:"bytes,1830,opt,name=client_md5,json=clientMd5,proto3" json:"client_md5,omitempty"`
+ CountryCode string `protobuf:"bytes,1900,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
+ IsDataNeedRelogin bool `protobuf:"varint,951,opt,name=is_data_need_relogin,json=isDataNeedRelogin,proto3" json:"is_data_need_relogin,omitempty"`
+ ResVersionConfig *ResVersionConfig `protobuf:"bytes,1969,opt,name=res_version_config,json=resVersionConfig,proto3" json:"res_version_config,omitempty"`
+ FeatureBlockInfoList []*FeatureBlockInfo `protobuf:"bytes,1352,rep,name=feature_block_info_list,json=featureBlockInfoList,proto3" json:"feature_block_info_list,omitempty"`
+ Birthday string `protobuf:"bytes,624,opt,name=birthday,proto3" json:"birthday,omitempty"`
+ TargetUid uint32 `protobuf:"varint,14,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ PlayerData []byte `protobuf:"bytes,13,opt,name=player_data,json=playerData,proto3" json:"player_data,omitempty"`
+ ClientSilenceVersionSuffix string `protobuf:"bytes,1299,opt,name=client_silence_version_suffix,json=clientSilenceVersionSuffix,proto3" json:"client_silence_version_suffix,omitempty"`
+ TargetHomeOwnerUid uint32 `protobuf:"varint,553,opt,name=target_home_owner_uid,json=targetHomeOwnerUid,proto3" json:"target_home_owner_uid,omitempty"`
+ PlayerDataVersion uint32 `protobuf:"varint,7,opt,name=player_data_version,json=playerDataVersion,proto3" json:"player_data_version,omitempty"`
+}
+
+func (x *PlayerLoginRsp) Reset() {
+ *x = PlayerLoginRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerLoginRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerLoginRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerLoginRsp) ProtoMessage() {}
+
+func (x *PlayerLoginRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerLoginRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerLoginRsp.ProtoReflect.Descriptor instead.
+func (*PlayerLoginRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerLoginRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerLoginRsp) GetClientDataVersion() uint32 {
+ if x != nil {
+ return x.ClientDataVersion
+ }
+ return 0
+}
+
+func (x *PlayerLoginRsp) GetIsScOpen() bool {
+ if x != nil {
+ return x.IsScOpen
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerLoginRsp) GetBlockInfoMap() map[uint32]*BlockInfo {
+ if x != nil {
+ return x.BlockInfoMap
+ }
+ return nil
+}
+
+func (x *PlayerLoginRsp) GetIsAudit() bool {
+ if x != nil {
+ return x.IsAudit
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetIsTransfer() bool {
+ if x != nil {
+ return x.IsTransfer
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetClientSilenceMd5() string {
+ if x != nil {
+ return x.ClientSilenceMd5
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetNextResVersionConfig() *ResVersionConfig {
+ if x != nil {
+ return x.NextResVersionConfig
+ }
+ return nil
+}
+
+func (x *PlayerLoginRsp) GetClientSilenceDataVersion() uint32 {
+ if x != nil {
+ return x.ClientSilenceDataVersion
+ }
+ return 0
+}
+
+func (x *PlayerLoginRsp) GetLoginRand() uint64 {
+ if x != nil {
+ return x.LoginRand
+ }
+ return 0
+}
+
+func (x *PlayerLoginRsp) GetIsNewPlayer() bool {
+ if x != nil {
+ return x.IsNewPlayer
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetClientVersionSuffix() string {
+ if x != nil {
+ return x.ClientVersionSuffix
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetGameBiz() string {
+ if x != nil {
+ return x.GameBiz
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetNextResourceUrl() string {
+ if x != nil {
+ return x.NextResourceUrl
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetIsRelogin() bool {
+ if x != nil {
+ return x.IsRelogin
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetTotalTickTime() float64 {
+ if x != nil {
+ return x.TotalTickTime
+ }
+ return 0
+}
+
+func (x *PlayerLoginRsp) GetIsEnableClientHashDebug() bool {
+ if x != nil {
+ return x.IsEnableClientHashDebug
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetScInfo() []byte {
+ if x != nil {
+ return x.ScInfo
+ }
+ return nil
+}
+
+func (x *PlayerLoginRsp) GetAbilityHashCode() int32 {
+ if x != nil {
+ return x.AbilityHashCode
+ }
+ return 0
+}
+
+func (x *PlayerLoginRsp) GetRegisterCps() string {
+ if x != nil {
+ return x.RegisterCps
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetIsLoginRspSplit() bool {
+ if x != nil {
+ return x.IsLoginRspSplit
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetIsUseAbilityHash() bool {
+ if x != nil {
+ return x.IsUseAbilityHash
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetAbilityHashMap() map[string]int32 {
+ if x != nil {
+ return x.AbilityHashMap
+ }
+ return nil
+}
+
+func (x *PlayerLoginRsp) GetShortAbilityHashMap() []*ShortAbilityHashPair {
+ if x != nil {
+ return x.ShortAbilityHashMap
+ }
+ return nil
+}
+
+func (x *PlayerLoginRsp) GetClientMd5() string {
+ if x != nil {
+ return x.ClientMd5
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetCountryCode() string {
+ if x != nil {
+ return x.CountryCode
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetIsDataNeedRelogin() bool {
+ if x != nil {
+ return x.IsDataNeedRelogin
+ }
+ return false
+}
+
+func (x *PlayerLoginRsp) GetResVersionConfig() *ResVersionConfig {
+ if x != nil {
+ return x.ResVersionConfig
+ }
+ return nil
+}
+
+func (x *PlayerLoginRsp) GetFeatureBlockInfoList() []*FeatureBlockInfo {
+ if x != nil {
+ return x.FeatureBlockInfoList
+ }
+ return nil
+}
+
+func (x *PlayerLoginRsp) GetBirthday() string {
+ if x != nil {
+ return x.Birthday
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *PlayerLoginRsp) GetPlayerData() []byte {
+ if x != nil {
+ return x.PlayerData
+ }
+ return nil
+}
+
+func (x *PlayerLoginRsp) GetClientSilenceVersionSuffix() string {
+ if x != nil {
+ return x.ClientSilenceVersionSuffix
+ }
+ return ""
+}
+
+func (x *PlayerLoginRsp) GetTargetHomeOwnerUid() uint32 {
+ if x != nil {
+ return x.TargetHomeOwnerUid
+ }
+ return 0
+}
+
+func (x *PlayerLoginRsp) GetPlayerDataVersion() uint32 {
+ if x != nil {
+ return x.PlayerDataVersion
+ }
+ return 0
+}
+
+var File_PlayerLoginRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerLoginRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x42,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16,
+ 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a,
+ 0x53, 0x68, 0x6f, 0x72, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x68,
+ 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x0e, 0x0a, 0x0e, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x2e, 0x0a,
+ 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x63, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x95, 0x0b, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x63, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xbb, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f,
+ 0x67, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x75, 0x64,
+ 0x69, 0x74, 0x18, 0x95, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x75, 0x64,
+ 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x18, 0xe2, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
+ 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0xd2, 0x0d, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65,
+ 0x4d, 0x64, 0x35, 0x12, 0x4f, 0x0a, 0x17, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x5f,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xa5,
+ 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65,
+ 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14,
+ 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
+ 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x61,
+ 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18,
+ 0x97, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x67,
+ 0x61, 0x6d, 0x65, 0x5f, 0x62, 0x69, 0x7a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67,
+ 0x61, 0x6d, 0x65, 0x42, 0x69, 0x7a, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0xed, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x6c, 0x6f, 0x67, 0x69,
+ 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, 0x6c, 0x6f, 0x67,
+ 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x63, 0x6b,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x7d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x54, 0x69, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x73,
+ 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x68,
+ 0x61, 0x73, 0x68, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x18, 0xa4, 0x07, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x17, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x48, 0x61, 0x73, 0x68, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xe8, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x63, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x68,
+ 0x61, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f,
+ 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x12,
+ 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x70, 0x73, 0x18,
+ 0xf8, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
+ 0x43, 0x70, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f,
+ 0x72, 0x73, 0x70, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0xf1, 0x0c, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0f, 0x69, 0x73, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x53, 0x70, 0x6c, 0x69,
+ 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x61, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,
+ 0x69, 0x73, 0x55, 0x73, 0x65, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x68,
+ 0x12, 0x53, 0x0a, 0x10, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x73,
+ 0x70, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61,
+ 0x73, 0x68, 0x4d, 0x61, 0x70, 0x12, 0x51, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0xfa, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x68, 0x6f, 0x72, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x68, 0x50,
+ 0x61, 0x69, 0x72, 0x52, 0x13, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0xa6, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x64, 0x35, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xec, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14,
+ 0x69, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c,
+ 0x6f, 0x67, 0x69, 0x6e, 0x18, 0xb7, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x44,
+ 0x61, 0x74, 0x61, 0x4e, 0x65, 0x65, 0x64, 0x52, 0x65, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x46,
+ 0x0a, 0x12, 0x72, 0x65, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb1, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x72, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x17, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
+ 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0xc8, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x14, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68,
+ 0x64, 0x61, 0x79, 0x18, 0xf0, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74,
+ 0x68, 0x64, 0x61, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x55, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x1d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73,
+ 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73,
+ 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x93, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x63, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x69,
+ 0x64, 0x18, 0xa9, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13,
+ 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x44, 0x61, 0x74, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x51, 0x0a, 0x11,
+ 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
+ 0x41, 0x0a, 0x13, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x68, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerLoginRsp_proto_rawDescOnce sync.Once
+ file_PlayerLoginRsp_proto_rawDescData = file_PlayerLoginRsp_proto_rawDesc
+)
+
+func file_PlayerLoginRsp_proto_rawDescGZIP() []byte {
+ file_PlayerLoginRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerLoginRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerLoginRsp_proto_rawDescData)
+ })
+ return file_PlayerLoginRsp_proto_rawDescData
+}
+
+var file_PlayerLoginRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_PlayerLoginRsp_proto_goTypes = []interface{}{
+ (*PlayerLoginRsp)(nil), // 0: proto.PlayerLoginRsp
+ nil, // 1: proto.PlayerLoginRsp.BlockInfoMapEntry
+ nil, // 2: proto.PlayerLoginRsp.AbilityHashMapEntry
+ (*ResVersionConfig)(nil), // 3: proto.ResVersionConfig
+ (*ShortAbilityHashPair)(nil), // 4: proto.ShortAbilityHashPair
+ (*FeatureBlockInfo)(nil), // 5: proto.FeatureBlockInfo
+ (*BlockInfo)(nil), // 6: proto.BlockInfo
+}
+var file_PlayerLoginRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerLoginRsp.block_info_map:type_name -> proto.PlayerLoginRsp.BlockInfoMapEntry
+ 3, // 1: proto.PlayerLoginRsp.next_res_version_config:type_name -> proto.ResVersionConfig
+ 2, // 2: proto.PlayerLoginRsp.ability_hash_map:type_name -> proto.PlayerLoginRsp.AbilityHashMapEntry
+ 4, // 3: proto.PlayerLoginRsp.short_ability_hash_map:type_name -> proto.ShortAbilityHashPair
+ 3, // 4: proto.PlayerLoginRsp.res_version_config:type_name -> proto.ResVersionConfig
+ 5, // 5: proto.PlayerLoginRsp.feature_block_info_list:type_name -> proto.FeatureBlockInfo
+ 6, // 6: proto.PlayerLoginRsp.BlockInfoMapEntry.value:type_name -> proto.BlockInfo
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
+}
+
+func init() { file_PlayerLoginRsp_proto_init() }
+func file_PlayerLoginRsp_proto_init() {
+ if File_PlayerLoginRsp_proto != nil {
+ return
+ }
+ file_BlockInfo_proto_init()
+ file_FeatureBlockInfo_proto_init()
+ file_ResVersionConfig_proto_init()
+ file_ShortAbilityHashPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerLoginRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerLoginRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerLoginRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerLoginRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerLoginRsp_proto_depIdxs,
+ MessageInfos: file_PlayerLoginRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerLoginRsp_proto = out.File
+ file_PlayerLoginRsp_proto_rawDesc = nil
+ file_PlayerLoginRsp_proto_goTypes = nil
+ file_PlayerLoginRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerLogoutNotify.pb.go b/protocol/proto/PlayerLogoutNotify.pb.go
new file mode 100644
index 00000000..7b88d180
--- /dev/null
+++ b/protocol/proto/PlayerLogoutNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerLogoutNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 103
+// EnetChannelId: 0
+// EnetIsReliable: false
+type PlayerLogoutNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerLogoutNotify) Reset() {
+ *x = PlayerLogoutNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerLogoutNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerLogoutNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerLogoutNotify) ProtoMessage() {}
+
+func (x *PlayerLogoutNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerLogoutNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerLogoutNotify.ProtoReflect.Descriptor instead.
+func (*PlayerLogoutNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerLogoutNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerLogoutNotify) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerLogoutNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerLogoutNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2e, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerLogoutNotify_proto_rawDescOnce sync.Once
+ file_PlayerLogoutNotify_proto_rawDescData = file_PlayerLogoutNotify_proto_rawDesc
+)
+
+func file_PlayerLogoutNotify_proto_rawDescGZIP() []byte {
+ file_PlayerLogoutNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerLogoutNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerLogoutNotify_proto_rawDescData)
+ })
+ return file_PlayerLogoutNotify_proto_rawDescData
+}
+
+var file_PlayerLogoutNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerLogoutNotify_proto_goTypes = []interface{}{
+ (*PlayerLogoutNotify)(nil), // 0: proto.PlayerLogoutNotify
+}
+var file_PlayerLogoutNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerLogoutNotify_proto_init() }
+func file_PlayerLogoutNotify_proto_init() {
+ if File_PlayerLogoutNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerLogoutNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerLogoutNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerLogoutNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerLogoutNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerLogoutNotify_proto_depIdxs,
+ MessageInfos: file_PlayerLogoutNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerLogoutNotify_proto = out.File
+ file_PlayerLogoutNotify_proto_rawDesc = nil
+ file_PlayerLogoutNotify_proto_goTypes = nil
+ file_PlayerLogoutNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerLogoutReq.pb.go b/protocol/proto/PlayerLogoutReq.pb.go
new file mode 100644
index 00000000..bc89a5d0
--- /dev/null
+++ b/protocol/proto/PlayerLogoutReq.pb.go
@@ -0,0 +1,245 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerLogoutReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerLogoutReq_Reason int32
+
+const (
+ PlayerLogoutReq_REASON_DISCONNECT PlayerLogoutReq_Reason = 0
+ PlayerLogoutReq_REASON_CLIENT_REQ PlayerLogoutReq_Reason = 1
+ PlayerLogoutReq_REASON_TIMEOUT PlayerLogoutReq_Reason = 2
+ PlayerLogoutReq_REASON_ADMIN_REQ PlayerLogoutReq_Reason = 3
+ PlayerLogoutReq_REASON_SERVER_CLOSE PlayerLogoutReq_Reason = 4
+ PlayerLogoutReq_REASON_GM_CLEAR PlayerLogoutReq_Reason = 5
+ PlayerLogoutReq_REASON_PLAYER_TRANSFER PlayerLogoutReq_Reason = 6
+ PlayerLogoutReq_REASON_CLIENT_CHECKSUM_INVALID PlayerLogoutReq_Reason = 7
+)
+
+// Enum value maps for PlayerLogoutReq_Reason.
+var (
+ PlayerLogoutReq_Reason_name = map[int32]string{
+ 0: "REASON_DISCONNECT",
+ 1: "REASON_CLIENT_REQ",
+ 2: "REASON_TIMEOUT",
+ 3: "REASON_ADMIN_REQ",
+ 4: "REASON_SERVER_CLOSE",
+ 5: "REASON_GM_CLEAR",
+ 6: "REASON_PLAYER_TRANSFER",
+ 7: "REASON_CLIENT_CHECKSUM_INVALID",
+ }
+ PlayerLogoutReq_Reason_value = map[string]int32{
+ "REASON_DISCONNECT": 0,
+ "REASON_CLIENT_REQ": 1,
+ "REASON_TIMEOUT": 2,
+ "REASON_ADMIN_REQ": 3,
+ "REASON_SERVER_CLOSE": 4,
+ "REASON_GM_CLEAR": 5,
+ "REASON_PLAYER_TRANSFER": 6,
+ "REASON_CLIENT_CHECKSUM_INVALID": 7,
+ }
+)
+
+func (x PlayerLogoutReq_Reason) Enum() *PlayerLogoutReq_Reason {
+ p := new(PlayerLogoutReq_Reason)
+ *p = x
+ return p
+}
+
+func (x PlayerLogoutReq_Reason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerLogoutReq_Reason) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerLogoutReq_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerLogoutReq_Reason) Type() protoreflect.EnumType {
+ return &file_PlayerLogoutReq_proto_enumTypes[0]
+}
+
+func (x PlayerLogoutReq_Reason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerLogoutReq_Reason.Descriptor instead.
+func (PlayerLogoutReq_Reason) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerLogoutReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerLogoutReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason PlayerLogoutReq_Reason `protobuf:"varint,6,opt,name=reason,proto3,enum=proto.PlayerLogoutReq_Reason" json:"reason,omitempty"`
+}
+
+func (x *PlayerLogoutReq) Reset() {
+ *x = PlayerLogoutReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerLogoutReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerLogoutReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerLogoutReq) ProtoMessage() {}
+
+func (x *PlayerLogoutReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerLogoutReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerLogoutReq.ProtoReflect.Descriptor instead.
+func (*PlayerLogoutReq) Descriptor() ([]byte, []int) {
+ return file_PlayerLogoutReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerLogoutReq) GetReason() PlayerLogoutReq_Reason {
+ if x != nil {
+ return x.Reason
+ }
+ return PlayerLogoutReq_REASON_DISCONNECT
+}
+
+var File_PlayerLogoutReq_proto protoreflect.FileDescriptor
+
+var file_PlayerLogoutReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99,
+ 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52,
+ 0x65, 0x71, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xce, 0x01, 0x0a, 0x06, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44,
+ 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x51,
+ 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d,
+ 0x45, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4c,
+ 0x4f, 0x53, 0x45, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x47, 0x4d, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x4e,
+ 0x53, 0x46, 0x45, 0x52, 0x10, 0x06, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x53, 0x55, 0x4d,
+ 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x07, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerLogoutReq_proto_rawDescOnce sync.Once
+ file_PlayerLogoutReq_proto_rawDescData = file_PlayerLogoutReq_proto_rawDesc
+)
+
+func file_PlayerLogoutReq_proto_rawDescGZIP() []byte {
+ file_PlayerLogoutReq_proto_rawDescOnce.Do(func() {
+ file_PlayerLogoutReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerLogoutReq_proto_rawDescData)
+ })
+ return file_PlayerLogoutReq_proto_rawDescData
+}
+
+var file_PlayerLogoutReq_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerLogoutReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerLogoutReq_proto_goTypes = []interface{}{
+ (PlayerLogoutReq_Reason)(0), // 0: proto.PlayerLogoutReq.Reason
+ (*PlayerLogoutReq)(nil), // 1: proto.PlayerLogoutReq
+}
+var file_PlayerLogoutReq_proto_depIdxs = []int32{
+ 0, // 0: proto.PlayerLogoutReq.reason:type_name -> proto.PlayerLogoutReq.Reason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerLogoutReq_proto_init() }
+func file_PlayerLogoutReq_proto_init() {
+ if File_PlayerLogoutReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerLogoutReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerLogoutReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerLogoutReq_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerLogoutReq_proto_goTypes,
+ DependencyIndexes: file_PlayerLogoutReq_proto_depIdxs,
+ EnumInfos: file_PlayerLogoutReq_proto_enumTypes,
+ MessageInfos: file_PlayerLogoutReq_proto_msgTypes,
+ }.Build()
+ File_PlayerLogoutReq_proto = out.File
+ file_PlayerLogoutReq_proto_rawDesc = nil
+ file_PlayerLogoutReq_proto_goTypes = nil
+ file_PlayerLogoutReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerLogoutRsp.pb.go b/protocol/proto/PlayerLogoutRsp.pb.go
new file mode 100644
index 00000000..86aafa02
--- /dev/null
+++ b/protocol/proto/PlayerLogoutRsp.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerLogoutRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 121
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerLogoutRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerLogoutRsp) Reset() {
+ *x = PlayerLogoutRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerLogoutRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerLogoutRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerLogoutRsp) ProtoMessage() {}
+
+func (x *PlayerLogoutRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerLogoutRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerLogoutRsp.ProtoReflect.Descriptor instead.
+func (*PlayerLogoutRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerLogoutRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerLogoutRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerLogoutRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerLogoutRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b,
+ 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerLogoutRsp_proto_rawDescOnce sync.Once
+ file_PlayerLogoutRsp_proto_rawDescData = file_PlayerLogoutRsp_proto_rawDesc
+)
+
+func file_PlayerLogoutRsp_proto_rawDescGZIP() []byte {
+ file_PlayerLogoutRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerLogoutRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerLogoutRsp_proto_rawDescData)
+ })
+ return file_PlayerLogoutRsp_proto_rawDescData
+}
+
+var file_PlayerLogoutRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerLogoutRsp_proto_goTypes = []interface{}{
+ (*PlayerLogoutRsp)(nil), // 0: proto.PlayerLogoutRsp
+}
+var file_PlayerLogoutRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerLogoutRsp_proto_init() }
+func file_PlayerLogoutRsp_proto_init() {
+ if File_PlayerLogoutRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerLogoutRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerLogoutRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerLogoutRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerLogoutRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerLogoutRsp_proto_depIdxs,
+ MessageInfos: file_PlayerLogoutRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerLogoutRsp_proto = out.File
+ file_PlayerLogoutRsp_proto_rawDesc = nil
+ file_PlayerLogoutRsp_proto_goTypes = nil
+ file_PlayerLogoutRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerLuaShellNotify.pb.go b/protocol/proto/PlayerLuaShellNotify.pb.go
new file mode 100644
index 00000000..00d49e16
--- /dev/null
+++ b/protocol/proto/PlayerLuaShellNotify.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerLuaShellNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 133
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerLuaShellNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShellType LuaShellType `protobuf:"varint,7,opt,name=shell_type,json=shellType,proto3,enum=proto.LuaShellType" json:"shell_type,omitempty"`
+ Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
+ LuaShell []byte `protobuf:"bytes,12,opt,name=lua_shell,json=luaShell,proto3" json:"lua_shell,omitempty"`
+ UseType uint32 `protobuf:"varint,10,opt,name=use_type,json=useType,proto3" json:"use_type,omitempty"`
+}
+
+func (x *PlayerLuaShellNotify) Reset() {
+ *x = PlayerLuaShellNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerLuaShellNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerLuaShellNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerLuaShellNotify) ProtoMessage() {}
+
+func (x *PlayerLuaShellNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerLuaShellNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerLuaShellNotify.ProtoReflect.Descriptor instead.
+func (*PlayerLuaShellNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerLuaShellNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerLuaShellNotify) GetShellType() LuaShellType {
+ if x != nil {
+ return x.ShellType
+ }
+ return LuaShellType_LUA_SHELL_TYPE_LUASHELL_NONE
+}
+
+func (x *PlayerLuaShellNotify) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *PlayerLuaShellNotify) GetLuaShell() []byte {
+ if x != nil {
+ return x.LuaShell
+ }
+ return nil
+}
+
+func (x *PlayerLuaShellNotify) GetUseType() uint32 {
+ if x != nil {
+ return x.UseType
+ }
+ return 0
+}
+
+var File_PlayerLuaShellNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerLuaShellNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x75, 0x61, 0x53, 0x68, 0x65, 0x6c, 0x6c,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4c, 0x75, 0x61, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x4c, 0x75, 0x61, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x61,
+ 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x68, 0x65, 0x6c, 0x6c,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x75, 0x61, 0x5f, 0x73, 0x68, 0x65, 0x6c,
+ 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6c, 0x75, 0x61, 0x53, 0x68, 0x65, 0x6c,
+ 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerLuaShellNotify_proto_rawDescOnce sync.Once
+ file_PlayerLuaShellNotify_proto_rawDescData = file_PlayerLuaShellNotify_proto_rawDesc
+)
+
+func file_PlayerLuaShellNotify_proto_rawDescGZIP() []byte {
+ file_PlayerLuaShellNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerLuaShellNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerLuaShellNotify_proto_rawDescData)
+ })
+ return file_PlayerLuaShellNotify_proto_rawDescData
+}
+
+var file_PlayerLuaShellNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerLuaShellNotify_proto_goTypes = []interface{}{
+ (*PlayerLuaShellNotify)(nil), // 0: proto.PlayerLuaShellNotify
+ (LuaShellType)(0), // 1: proto.LuaShellType
+}
+var file_PlayerLuaShellNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerLuaShellNotify.shell_type:type_name -> proto.LuaShellType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerLuaShellNotify_proto_init() }
+func file_PlayerLuaShellNotify_proto_init() {
+ if File_PlayerLuaShellNotify_proto != nil {
+ return
+ }
+ file_LuaShellType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerLuaShellNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerLuaShellNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerLuaShellNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerLuaShellNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerLuaShellNotify_proto_depIdxs,
+ MessageInfos: file_PlayerLuaShellNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerLuaShellNotify_proto = out.File
+ file_PlayerLuaShellNotify_proto_rawDesc = nil
+ file_PlayerLuaShellNotify_proto_goTypes = nil
+ file_PlayerLuaShellNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerMatchAgreedResultNotify.pb.go b/protocol/proto/PlayerMatchAgreedResultNotify.pb.go
new file mode 100644
index 00000000..0405ef0b
--- /dev/null
+++ b/protocol/proto/PlayerMatchAgreedResultNotify.pb.go
@@ -0,0 +1,261 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerMatchAgreedResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerMatchAgreedResultNotify_Reason int32
+
+const (
+ PlayerMatchAgreedResultNotify_REASON_SUCC PlayerMatchAgreedResultNotify_Reason = 0
+ PlayerMatchAgreedResultNotify_REASON_TARGET_SCENE_CANNOT_ENTER PlayerMatchAgreedResultNotify_Reason = 1
+ PlayerMatchAgreedResultNotify_REASON_SELF_MP_UNAVAILABLE PlayerMatchAgreedResultNotify_Reason = 2
+ PlayerMatchAgreedResultNotify_REASON_OTHER_DATA_VERSION_NOT_LATEST PlayerMatchAgreedResultNotify_Reason = 3
+ PlayerMatchAgreedResultNotify_REASON_DATA_VERSION_NOT_LATEST PlayerMatchAgreedResultNotify_Reason = 4
+)
+
+// Enum value maps for PlayerMatchAgreedResultNotify_Reason.
+var (
+ PlayerMatchAgreedResultNotify_Reason_name = map[int32]string{
+ 0: "REASON_SUCC",
+ 1: "REASON_TARGET_SCENE_CANNOT_ENTER",
+ 2: "REASON_SELF_MP_UNAVAILABLE",
+ 3: "REASON_OTHER_DATA_VERSION_NOT_LATEST",
+ 4: "REASON_DATA_VERSION_NOT_LATEST",
+ }
+ PlayerMatchAgreedResultNotify_Reason_value = map[string]int32{
+ "REASON_SUCC": 0,
+ "REASON_TARGET_SCENE_CANNOT_ENTER": 1,
+ "REASON_SELF_MP_UNAVAILABLE": 2,
+ "REASON_OTHER_DATA_VERSION_NOT_LATEST": 3,
+ "REASON_DATA_VERSION_NOT_LATEST": 4,
+ }
+)
+
+func (x PlayerMatchAgreedResultNotify_Reason) Enum() *PlayerMatchAgreedResultNotify_Reason {
+ p := new(PlayerMatchAgreedResultNotify_Reason)
+ *p = x
+ return p
+}
+
+func (x PlayerMatchAgreedResultNotify_Reason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerMatchAgreedResultNotify_Reason) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerMatchAgreedResultNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerMatchAgreedResultNotify_Reason) Type() protoreflect.EnumType {
+ return &file_PlayerMatchAgreedResultNotify_proto_enumTypes[0]
+}
+
+func (x PlayerMatchAgreedResultNotify_Reason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerMatchAgreedResultNotify_Reason.Descriptor instead.
+func (PlayerMatchAgreedResultNotify_Reason) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerMatchAgreedResultNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 4170
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerMatchAgreedResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,14,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ MatchType MatchType `protobuf:"varint,3,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+ Reason PlayerMatchAgreedResultNotify_Reason `protobuf:"varint,8,opt,name=reason,proto3,enum=proto.PlayerMatchAgreedResultNotify_Reason" json:"reason,omitempty"`
+}
+
+func (x *PlayerMatchAgreedResultNotify) Reset() {
+ *x = PlayerMatchAgreedResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerMatchAgreedResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerMatchAgreedResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerMatchAgreedResultNotify) ProtoMessage() {}
+
+func (x *PlayerMatchAgreedResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerMatchAgreedResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerMatchAgreedResultNotify.ProtoReflect.Descriptor instead.
+func (*PlayerMatchAgreedResultNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerMatchAgreedResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerMatchAgreedResultNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *PlayerMatchAgreedResultNotify) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+func (x *PlayerMatchAgreedResultNotify) GetReason() PlayerMatchAgreedResultNotify_Reason {
+ if x != nil {
+ return x.Reason
+ }
+ return PlayerMatchAgreedResultNotify_REASON_SUCC
+}
+
+var File_PlayerMatchAgreedResultNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerMatchAgreedResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x72,
+ 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x02,
+ 0x0a, 0x1d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x67, 0x72,
+ 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x2f,
+ 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x43, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x41, 0x67, 0x72, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
+ 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x10, 0x00,
+ 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45,
+ 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x4e, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x4d, 0x50, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c,
+ 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x56, 0x45, 0x52, 0x53,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0x03,
+ 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f,
+ 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45,
+ 0x53, 0x54, 0x10, 0x04, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerMatchAgreedResultNotify_proto_rawDescOnce sync.Once
+ file_PlayerMatchAgreedResultNotify_proto_rawDescData = file_PlayerMatchAgreedResultNotify_proto_rawDesc
+)
+
+func file_PlayerMatchAgreedResultNotify_proto_rawDescGZIP() []byte {
+ file_PlayerMatchAgreedResultNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerMatchAgreedResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerMatchAgreedResultNotify_proto_rawDescData)
+ })
+ return file_PlayerMatchAgreedResultNotify_proto_rawDescData
+}
+
+var file_PlayerMatchAgreedResultNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerMatchAgreedResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerMatchAgreedResultNotify_proto_goTypes = []interface{}{
+ (PlayerMatchAgreedResultNotify_Reason)(0), // 0: proto.PlayerMatchAgreedResultNotify.Reason
+ (*PlayerMatchAgreedResultNotify)(nil), // 1: proto.PlayerMatchAgreedResultNotify
+ (MatchType)(0), // 2: proto.MatchType
+}
+var file_PlayerMatchAgreedResultNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.PlayerMatchAgreedResultNotify.match_type:type_name -> proto.MatchType
+ 0, // 1: proto.PlayerMatchAgreedResultNotify.reason:type_name -> proto.PlayerMatchAgreedResultNotify.Reason
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerMatchAgreedResultNotify_proto_init() }
+func file_PlayerMatchAgreedResultNotify_proto_init() {
+ if File_PlayerMatchAgreedResultNotify_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerMatchAgreedResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerMatchAgreedResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerMatchAgreedResultNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerMatchAgreedResultNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerMatchAgreedResultNotify_proto_depIdxs,
+ EnumInfos: file_PlayerMatchAgreedResultNotify_proto_enumTypes,
+ MessageInfos: file_PlayerMatchAgreedResultNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerMatchAgreedResultNotify_proto = out.File
+ file_PlayerMatchAgreedResultNotify_proto_rawDesc = nil
+ file_PlayerMatchAgreedResultNotify_proto_goTypes = nil
+ file_PlayerMatchAgreedResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerMatchInfoNotify.pb.go b/protocol/proto/PlayerMatchInfoNotify.pb.go
new file mode 100644
index 00000000..94afd0af
--- /dev/null
+++ b/protocol/proto/PlayerMatchInfoNotify.pb.go
@@ -0,0 +1,252 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerMatchInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4175
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerMatchInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchId uint32 `protobuf:"varint,8,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+ MatchBeginTime uint32 `protobuf:"varint,4,opt,name=match_begin_time,json=matchBeginTime,proto3" json:"match_begin_time,omitempty"`
+ DungeonId uint32 `protobuf:"varint,10,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ MatchType MatchType `protobuf:"varint,11,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+ MechanicusDifficultLevel uint32 `protobuf:"varint,12,opt,name=mechanicus_difficult_level,json=mechanicusDifficultLevel,proto3" json:"mechanicus_difficult_level,omitempty"`
+ MatchParamList []uint32 `protobuf:"varint,6,rep,packed,name=match_param_list,json=matchParamList,proto3" json:"match_param_list,omitempty"`
+ EstimateMatchCostTime uint32 `protobuf:"varint,3,opt,name=estimate_match_cost_time,json=estimateMatchCostTime,proto3" json:"estimate_match_cost_time,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,5,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ HostUid uint32 `protobuf:"varint,13,opt,name=host_uid,json=hostUid,proto3" json:"host_uid,omitempty"`
+}
+
+func (x *PlayerMatchInfoNotify) Reset() {
+ *x = PlayerMatchInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerMatchInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerMatchInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerMatchInfoNotify) ProtoMessage() {}
+
+func (x *PlayerMatchInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerMatchInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerMatchInfoNotify.ProtoReflect.Descriptor instead.
+func (*PlayerMatchInfoNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerMatchInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerMatchInfoNotify) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+func (x *PlayerMatchInfoNotify) GetMatchBeginTime() uint32 {
+ if x != nil {
+ return x.MatchBeginTime
+ }
+ return 0
+}
+
+func (x *PlayerMatchInfoNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *PlayerMatchInfoNotify) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+func (x *PlayerMatchInfoNotify) GetMechanicusDifficultLevel() uint32 {
+ if x != nil {
+ return x.MechanicusDifficultLevel
+ }
+ return 0
+}
+
+func (x *PlayerMatchInfoNotify) GetMatchParamList() []uint32 {
+ if x != nil {
+ return x.MatchParamList
+ }
+ return nil
+}
+
+func (x *PlayerMatchInfoNotify) GetEstimateMatchCostTime() uint32 {
+ if x != nil {
+ return x.EstimateMatchCostTime
+ }
+ return 0
+}
+
+func (x *PlayerMatchInfoNotify) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *PlayerMatchInfoNotify) GetHostUid() uint32 {
+ if x != nil {
+ return x.HostUid
+ }
+ return 0
+}
+
+var File_PlayerMatchInfoNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerMatchInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x03, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x65, 0x67, 0x69, 0x6e,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63,
+ 0x75, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e,
+ 0x69, 0x63, 0x75, 0x73, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x18,
+ 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63,
+ 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15,
+ 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x73,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61,
+ 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PlayerMatchInfoNotify_proto_rawDescOnce sync.Once
+ file_PlayerMatchInfoNotify_proto_rawDescData = file_PlayerMatchInfoNotify_proto_rawDesc
+)
+
+func file_PlayerMatchInfoNotify_proto_rawDescGZIP() []byte {
+ file_PlayerMatchInfoNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerMatchInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerMatchInfoNotify_proto_rawDescData)
+ })
+ return file_PlayerMatchInfoNotify_proto_rawDescData
+}
+
+var file_PlayerMatchInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerMatchInfoNotify_proto_goTypes = []interface{}{
+ (*PlayerMatchInfoNotify)(nil), // 0: proto.PlayerMatchInfoNotify
+ (MatchType)(0), // 1: proto.MatchType
+}
+var file_PlayerMatchInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerMatchInfoNotify.match_type:type_name -> proto.MatchType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerMatchInfoNotify_proto_init() }
+func file_PlayerMatchInfoNotify_proto_init() {
+ if File_PlayerMatchInfoNotify_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerMatchInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerMatchInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerMatchInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerMatchInfoNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerMatchInfoNotify_proto_depIdxs,
+ MessageInfos: file_PlayerMatchInfoNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerMatchInfoNotify_proto = out.File
+ file_PlayerMatchInfoNotify_proto_rawDesc = nil
+ file_PlayerMatchInfoNotify_proto_goTypes = nil
+ file_PlayerMatchInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerMatchStopNotify.pb.go b/protocol/proto/PlayerMatchStopNotify.pb.go
new file mode 100644
index 00000000..210ae2b9
--- /dev/null
+++ b/protocol/proto/PlayerMatchStopNotify.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerMatchStopNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4181
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerMatchStopNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason MatchReason `protobuf:"varint,1,opt,name=reason,proto3,enum=proto.MatchReason" json:"reason,omitempty"`
+ HostUid uint32 `protobuf:"varint,12,opt,name=host_uid,json=hostUid,proto3" json:"host_uid,omitempty"`
+}
+
+func (x *PlayerMatchStopNotify) Reset() {
+ *x = PlayerMatchStopNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerMatchStopNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerMatchStopNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerMatchStopNotify) ProtoMessage() {}
+
+func (x *PlayerMatchStopNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerMatchStopNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerMatchStopNotify.ProtoReflect.Descriptor instead.
+func (*PlayerMatchStopNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerMatchStopNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerMatchStopNotify) GetReason() MatchReason {
+ if x != nil {
+ return x.Reason
+ }
+ return MatchReason_MATCH_REASON_NONE
+}
+
+func (x *PlayerMatchStopNotify) GetHostUid() uint32 {
+ if x != nil {
+ return x.HostUid
+ }
+ return 0
+}
+
+var File_PlayerMatchStopNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerMatchStopNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6f,
+ 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08,
+ 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x68, 0x6f, 0x73, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerMatchStopNotify_proto_rawDescOnce sync.Once
+ file_PlayerMatchStopNotify_proto_rawDescData = file_PlayerMatchStopNotify_proto_rawDesc
+)
+
+func file_PlayerMatchStopNotify_proto_rawDescGZIP() []byte {
+ file_PlayerMatchStopNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerMatchStopNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerMatchStopNotify_proto_rawDescData)
+ })
+ return file_PlayerMatchStopNotify_proto_rawDescData
+}
+
+var file_PlayerMatchStopNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerMatchStopNotify_proto_goTypes = []interface{}{
+ (*PlayerMatchStopNotify)(nil), // 0: proto.PlayerMatchStopNotify
+ (MatchReason)(0), // 1: proto.MatchReason
+}
+var file_PlayerMatchStopNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerMatchStopNotify.reason:type_name -> proto.MatchReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerMatchStopNotify_proto_init() }
+func file_PlayerMatchStopNotify_proto_init() {
+ if File_PlayerMatchStopNotify_proto != nil {
+ return
+ }
+ file_MatchReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerMatchStopNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerMatchStopNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerMatchStopNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerMatchStopNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerMatchStopNotify_proto_depIdxs,
+ MessageInfos: file_PlayerMatchStopNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerMatchStopNotify_proto = out.File
+ file_PlayerMatchStopNotify_proto_rawDesc = nil
+ file_PlayerMatchStopNotify_proto_goTypes = nil
+ file_PlayerMatchStopNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerMatchSuccNotify.pb.go b/protocol/proto/PlayerMatchSuccNotify.pb.go
new file mode 100644
index 00000000..521b1800
--- /dev/null
+++ b/protocol/proto/PlayerMatchSuccNotify.pb.go
@@ -0,0 +1,253 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerMatchSuccNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4179
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerMatchSuccNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GeneralMatchInfo *GeneralMatchInfo `protobuf:"bytes,7,opt,name=general_match_info,json=generalMatchInfo,proto3" json:"general_match_info,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,15,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ HostUid uint32 `protobuf:"varint,3,opt,name=host_uid,json=hostUid,proto3" json:"host_uid,omitempty"`
+ MatchType MatchType `protobuf:"varint,5,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+ GcgMatchInfo *GCGMatchInfo `protobuf:"bytes,11,opt,name=gcg_match_info,json=gcgMatchInfo,proto3" json:"gcg_match_info,omitempty"`
+ ConfirmEndTime uint32 `protobuf:"varint,2,opt,name=confirm_end_time,json=confirmEndTime,proto3" json:"confirm_end_time,omitempty"`
+ DungeonId uint32 `protobuf:"varint,6,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ MechanicusDifficultLevel uint32 `protobuf:"varint,1,opt,name=mechanicus_difficult_level,json=mechanicusDifficultLevel,proto3" json:"mechanicus_difficult_level,omitempty"`
+}
+
+func (x *PlayerMatchSuccNotify) Reset() {
+ *x = PlayerMatchSuccNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerMatchSuccNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerMatchSuccNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerMatchSuccNotify) ProtoMessage() {}
+
+func (x *PlayerMatchSuccNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerMatchSuccNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerMatchSuccNotify.ProtoReflect.Descriptor instead.
+func (*PlayerMatchSuccNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerMatchSuccNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerMatchSuccNotify) GetGeneralMatchInfo() *GeneralMatchInfo {
+ if x != nil {
+ return x.GeneralMatchInfo
+ }
+ return nil
+}
+
+func (x *PlayerMatchSuccNotify) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *PlayerMatchSuccNotify) GetHostUid() uint32 {
+ if x != nil {
+ return x.HostUid
+ }
+ return 0
+}
+
+func (x *PlayerMatchSuccNotify) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+func (x *PlayerMatchSuccNotify) GetGcgMatchInfo() *GCGMatchInfo {
+ if x != nil {
+ return x.GcgMatchInfo
+ }
+ return nil
+}
+
+func (x *PlayerMatchSuccNotify) GetConfirmEndTime() uint32 {
+ if x != nil {
+ return x.ConfirmEndTime
+ }
+ return 0
+}
+
+func (x *PlayerMatchSuccNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *PlayerMatchSuccNotify) GetMechanicusDifficultLevel() uint32 {
+ if x != nil {
+ return x.MechanicusDifficultLevel
+ }
+ return 0
+}
+
+var File_PlayerMatchSuccNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerMatchSuccNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63,
+ 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x47, 0x43, 0x47, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x8a, 0x03, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x53, 0x75, 0x63, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x45, 0x0a, 0x12, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0e,
+ 0x67, 0x63, 0x67, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x43, 0x47,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x67, 0x63, 0x67, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x72, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64,
+ 0x12, 0x3c, 0x0a, 0x1a, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x64,
+ 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73,
+ 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PlayerMatchSuccNotify_proto_rawDescOnce sync.Once
+ file_PlayerMatchSuccNotify_proto_rawDescData = file_PlayerMatchSuccNotify_proto_rawDesc
+)
+
+func file_PlayerMatchSuccNotify_proto_rawDescGZIP() []byte {
+ file_PlayerMatchSuccNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerMatchSuccNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerMatchSuccNotify_proto_rawDescData)
+ })
+ return file_PlayerMatchSuccNotify_proto_rawDescData
+}
+
+var file_PlayerMatchSuccNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerMatchSuccNotify_proto_goTypes = []interface{}{
+ (*PlayerMatchSuccNotify)(nil), // 0: proto.PlayerMatchSuccNotify
+ (*GeneralMatchInfo)(nil), // 1: proto.GeneralMatchInfo
+ (MatchType)(0), // 2: proto.MatchType
+ (*GCGMatchInfo)(nil), // 3: proto.GCGMatchInfo
+}
+var file_PlayerMatchSuccNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerMatchSuccNotify.general_match_info:type_name -> proto.GeneralMatchInfo
+ 2, // 1: proto.PlayerMatchSuccNotify.match_type:type_name -> proto.MatchType
+ 3, // 2: proto.PlayerMatchSuccNotify.gcg_match_info:type_name -> proto.GCGMatchInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_PlayerMatchSuccNotify_proto_init() }
+func file_PlayerMatchSuccNotify_proto_init() {
+ if File_PlayerMatchSuccNotify_proto != nil {
+ return
+ }
+ file_GCGMatchInfo_proto_init()
+ file_GeneralMatchInfo_proto_init()
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerMatchSuccNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerMatchSuccNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerMatchSuccNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerMatchSuccNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerMatchSuccNotify_proto_depIdxs,
+ MessageInfos: file_PlayerMatchSuccNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerMatchSuccNotify_proto = out.File
+ file_PlayerMatchSuccNotify_proto_rawDesc = nil
+ file_PlayerMatchSuccNotify_proto_goTypes = nil
+ file_PlayerMatchSuccNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerNicknameAuditDataNotify.pb.go b/protocol/proto/PlayerNicknameAuditDataNotify.pb.go
new file mode 100644
index 00000000..7eea1718
--- /dev/null
+++ b/protocol/proto/PlayerNicknameAuditDataNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerNicknameAuditDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 108
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerNicknameAuditDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *ContentAuditInfo `protobuf:"bytes,13,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *PlayerNicknameAuditDataNotify) Reset() {
+ *x = PlayerNicknameAuditDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerNicknameAuditDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerNicknameAuditDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerNicknameAuditDataNotify) ProtoMessage() {}
+
+func (x *PlayerNicknameAuditDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerNicknameAuditDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerNicknameAuditDataNotify.ProtoReflect.Descriptor instead.
+func (*PlayerNicknameAuditDataNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerNicknameAuditDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerNicknameAuditDataNotify) GetInfo() *ContentAuditInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_PlayerNicknameAuditDataNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerNicknameAuditDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x43, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x1d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x69,
+ 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2b, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e,
+ 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerNicknameAuditDataNotify_proto_rawDescOnce sync.Once
+ file_PlayerNicknameAuditDataNotify_proto_rawDescData = file_PlayerNicknameAuditDataNotify_proto_rawDesc
+)
+
+func file_PlayerNicknameAuditDataNotify_proto_rawDescGZIP() []byte {
+ file_PlayerNicknameAuditDataNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerNicknameAuditDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerNicknameAuditDataNotify_proto_rawDescData)
+ })
+ return file_PlayerNicknameAuditDataNotify_proto_rawDescData
+}
+
+var file_PlayerNicknameAuditDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerNicknameAuditDataNotify_proto_goTypes = []interface{}{
+ (*PlayerNicknameAuditDataNotify)(nil), // 0: proto.PlayerNicknameAuditDataNotify
+ (*ContentAuditInfo)(nil), // 1: proto.ContentAuditInfo
+}
+var file_PlayerNicknameAuditDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerNicknameAuditDataNotify.info:type_name -> proto.ContentAuditInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerNicknameAuditDataNotify_proto_init() }
+func file_PlayerNicknameAuditDataNotify_proto_init() {
+ if File_PlayerNicknameAuditDataNotify_proto != nil {
+ return
+ }
+ file_ContentAuditInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerNicknameAuditDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerNicknameAuditDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerNicknameAuditDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerNicknameAuditDataNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerNicknameAuditDataNotify_proto_depIdxs,
+ MessageInfos: file_PlayerNicknameAuditDataNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerNicknameAuditDataNotify_proto = out.File
+ file_PlayerNicknameAuditDataNotify_proto_rawDesc = nil
+ file_PlayerNicknameAuditDataNotify_proto_goTypes = nil
+ file_PlayerNicknameAuditDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerNicknameNotify.pb.go b/protocol/proto/PlayerNicknameNotify.pb.go
new file mode 100644
index 00000000..e9288dbe
--- /dev/null
+++ b/protocol/proto/PlayerNicknameNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerNicknameNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 109
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerNicknameNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Nickname string `protobuf:"bytes,7,opt,name=nickname,proto3" json:"nickname,omitempty"`
+}
+
+func (x *PlayerNicknameNotify) Reset() {
+ *x = PlayerNicknameNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerNicknameNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerNicknameNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerNicknameNotify) ProtoMessage() {}
+
+func (x *PlayerNicknameNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerNicknameNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerNicknameNotify.ProtoReflect.Descriptor instead.
+func (*PlayerNicknameNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerNicknameNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerNicknameNotify) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+var File_PlayerNicknameNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerNicknameNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x69, 0x63,
+ 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e,
+ 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e,
+ 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerNicknameNotify_proto_rawDescOnce sync.Once
+ file_PlayerNicknameNotify_proto_rawDescData = file_PlayerNicknameNotify_proto_rawDesc
+)
+
+func file_PlayerNicknameNotify_proto_rawDescGZIP() []byte {
+ file_PlayerNicknameNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerNicknameNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerNicknameNotify_proto_rawDescData)
+ })
+ return file_PlayerNicknameNotify_proto_rawDescData
+}
+
+var file_PlayerNicknameNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerNicknameNotify_proto_goTypes = []interface{}{
+ (*PlayerNicknameNotify)(nil), // 0: proto.PlayerNicknameNotify
+}
+var file_PlayerNicknameNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerNicknameNotify_proto_init() }
+func file_PlayerNicknameNotify_proto_init() {
+ if File_PlayerNicknameNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerNicknameNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerNicknameNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerNicknameNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerNicknameNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerNicknameNotify_proto_depIdxs,
+ MessageInfos: file_PlayerNicknameNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerNicknameNotify_proto = out.File
+ file_PlayerNicknameNotify_proto_rawDesc = nil
+ file_PlayerNicknameNotify_proto_goTypes = nil
+ file_PlayerNicknameNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerOfferingData.pb.go b/protocol/proto/PlayerOfferingData.pb.go
new file mode 100644
index 00000000..df7b1d68
--- /dev/null
+++ b/protocol/proto/PlayerOfferingData.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerOfferingData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerOfferingData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OfferingId uint32 `protobuf:"varint,1,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"`
+ IsFirstInteract bool `protobuf:"varint,15,opt,name=is_first_interact,json=isFirstInteract,proto3" json:"is_first_interact,omitempty"`
+ Level uint32 `protobuf:"varint,12,opt,name=level,proto3" json:"level,omitempty"`
+ TakenLevelRewardList []uint32 `protobuf:"varint,8,rep,packed,name=taken_level_reward_list,json=takenLevelRewardList,proto3" json:"taken_level_reward_list,omitempty"`
+ IsNewMaxLevel bool `protobuf:"varint,6,opt,name=is_new_max_level,json=isNewMaxLevel,proto3" json:"is_new_max_level,omitempty"`
+}
+
+func (x *PlayerOfferingData) Reset() {
+ *x = PlayerOfferingData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerOfferingData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerOfferingData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerOfferingData) ProtoMessage() {}
+
+func (x *PlayerOfferingData) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerOfferingData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerOfferingData.ProtoReflect.Descriptor instead.
+func (*PlayerOfferingData) Descriptor() ([]byte, []int) {
+ return file_PlayerOfferingData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerOfferingData) GetOfferingId() uint32 {
+ if x != nil {
+ return x.OfferingId
+ }
+ return 0
+}
+
+func (x *PlayerOfferingData) GetIsFirstInteract() bool {
+ if x != nil {
+ return x.IsFirstInteract
+ }
+ return false
+}
+
+func (x *PlayerOfferingData) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *PlayerOfferingData) GetTakenLevelRewardList() []uint32 {
+ if x != nil {
+ return x.TakenLevelRewardList
+ }
+ return nil
+}
+
+func (x *PlayerOfferingData) GetIsNewMaxLevel() bool {
+ if x != nil {
+ return x.IsNewMaxLevel
+ }
+ return false
+}
+
+var File_PlayerOfferingData_proto protoreflect.FileDescriptor
+
+var file_PlayerOfferingData_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xd7, 0x01, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65,
+ 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x65,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f,
+ 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f,
+ 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x35, 0x0a, 0x17, 0x74,
+ 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x74, 0x61,
+ 0x6b, 0x65, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x27, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x61, 0x78,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73,
+ 0x4e, 0x65, 0x77, 0x4d, 0x61, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerOfferingData_proto_rawDescOnce sync.Once
+ file_PlayerOfferingData_proto_rawDescData = file_PlayerOfferingData_proto_rawDesc
+)
+
+func file_PlayerOfferingData_proto_rawDescGZIP() []byte {
+ file_PlayerOfferingData_proto_rawDescOnce.Do(func() {
+ file_PlayerOfferingData_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerOfferingData_proto_rawDescData)
+ })
+ return file_PlayerOfferingData_proto_rawDescData
+}
+
+var file_PlayerOfferingData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerOfferingData_proto_goTypes = []interface{}{
+ (*PlayerOfferingData)(nil), // 0: proto.PlayerOfferingData
+}
+var file_PlayerOfferingData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerOfferingData_proto_init() }
+func file_PlayerOfferingData_proto_init() {
+ if File_PlayerOfferingData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerOfferingData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerOfferingData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerOfferingData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerOfferingData_proto_goTypes,
+ DependencyIndexes: file_PlayerOfferingData_proto_depIdxs,
+ MessageInfos: file_PlayerOfferingData_proto_msgTypes,
+ }.Build()
+ File_PlayerOfferingData_proto = out.File
+ file_PlayerOfferingData_proto_rawDesc = nil
+ file_PlayerOfferingData_proto_goTypes = nil
+ file_PlayerOfferingData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerOfferingDataNotify.pb.go b/protocol/proto/PlayerOfferingDataNotify.pb.go
new file mode 100644
index 00000000..8f71b61b
--- /dev/null
+++ b/protocol/proto/PlayerOfferingDataNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerOfferingDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2923
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerOfferingDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OfferingDataList []*PlayerOfferingData `protobuf:"bytes,2,rep,name=offering_data_list,json=offeringDataList,proto3" json:"offering_data_list,omitempty"`
+}
+
+func (x *PlayerOfferingDataNotify) Reset() {
+ *x = PlayerOfferingDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerOfferingDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerOfferingDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerOfferingDataNotify) ProtoMessage() {}
+
+func (x *PlayerOfferingDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerOfferingDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerOfferingDataNotify.ProtoReflect.Descriptor instead.
+func (*PlayerOfferingDataNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerOfferingDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerOfferingDataNotify) GetOfferingDataList() []*PlayerOfferingData {
+ if x != nil {
+ return x.OfferingDataList
+ }
+ return nil
+}
+
+var File_PlayerOfferingDataNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerOfferingDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67,
+ 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f,
+ 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x63, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72,
+ 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x47, 0x0a,
+ 0x12, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61,
+ 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerOfferingDataNotify_proto_rawDescOnce sync.Once
+ file_PlayerOfferingDataNotify_proto_rawDescData = file_PlayerOfferingDataNotify_proto_rawDesc
+)
+
+func file_PlayerOfferingDataNotify_proto_rawDescGZIP() []byte {
+ file_PlayerOfferingDataNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerOfferingDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerOfferingDataNotify_proto_rawDescData)
+ })
+ return file_PlayerOfferingDataNotify_proto_rawDescData
+}
+
+var file_PlayerOfferingDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerOfferingDataNotify_proto_goTypes = []interface{}{
+ (*PlayerOfferingDataNotify)(nil), // 0: proto.PlayerOfferingDataNotify
+ (*PlayerOfferingData)(nil), // 1: proto.PlayerOfferingData
+}
+var file_PlayerOfferingDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerOfferingDataNotify.offering_data_list:type_name -> proto.PlayerOfferingData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerOfferingDataNotify_proto_init() }
+func file_PlayerOfferingDataNotify_proto_init() {
+ if File_PlayerOfferingDataNotify_proto != nil {
+ return
+ }
+ file_PlayerOfferingData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerOfferingDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerOfferingDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerOfferingDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerOfferingDataNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerOfferingDataNotify_proto_depIdxs,
+ MessageInfos: file_PlayerOfferingDataNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerOfferingDataNotify_proto = out.File
+ file_PlayerOfferingDataNotify_proto_rawDesc = nil
+ file_PlayerOfferingDataNotify_proto_goTypes = nil
+ file_PlayerOfferingDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerOfferingReq.pb.go b/protocol/proto/PlayerOfferingReq.pb.go
new file mode 100644
index 00000000..d6e27e0c
--- /dev/null
+++ b/protocol/proto/PlayerOfferingReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerOfferingReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2907
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerOfferingReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OfferingId uint32 `protobuf:"varint,6,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"`
+}
+
+func (x *PlayerOfferingReq) Reset() {
+ *x = PlayerOfferingReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerOfferingReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerOfferingReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerOfferingReq) ProtoMessage() {}
+
+func (x *PlayerOfferingReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerOfferingReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerOfferingReq.ProtoReflect.Descriptor instead.
+func (*PlayerOfferingReq) Descriptor() ([]byte, []int) {
+ return file_PlayerOfferingReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerOfferingReq) GetOfferingId() uint32 {
+ if x != nil {
+ return x.OfferingId
+ }
+ return 0
+}
+
+var File_PlayerOfferingReq_proto protoreflect.FileDescriptor
+
+var file_PlayerOfferingReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x34, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69,
+ 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e,
+ 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65,
+ 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerOfferingReq_proto_rawDescOnce sync.Once
+ file_PlayerOfferingReq_proto_rawDescData = file_PlayerOfferingReq_proto_rawDesc
+)
+
+func file_PlayerOfferingReq_proto_rawDescGZIP() []byte {
+ file_PlayerOfferingReq_proto_rawDescOnce.Do(func() {
+ file_PlayerOfferingReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerOfferingReq_proto_rawDescData)
+ })
+ return file_PlayerOfferingReq_proto_rawDescData
+}
+
+var file_PlayerOfferingReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerOfferingReq_proto_goTypes = []interface{}{
+ (*PlayerOfferingReq)(nil), // 0: proto.PlayerOfferingReq
+}
+var file_PlayerOfferingReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerOfferingReq_proto_init() }
+func file_PlayerOfferingReq_proto_init() {
+ if File_PlayerOfferingReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerOfferingReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerOfferingReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerOfferingReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerOfferingReq_proto_goTypes,
+ DependencyIndexes: file_PlayerOfferingReq_proto_depIdxs,
+ MessageInfos: file_PlayerOfferingReq_proto_msgTypes,
+ }.Build()
+ File_PlayerOfferingReq_proto = out.File
+ file_PlayerOfferingReq_proto_rawDesc = nil
+ file_PlayerOfferingReq_proto_goTypes = nil
+ file_PlayerOfferingReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerOfferingRsp.pb.go b/protocol/proto/PlayerOfferingRsp.pb.go
new file mode 100644
index 00000000..07a56b86
--- /dev/null
+++ b/protocol/proto/PlayerOfferingRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerOfferingRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2917
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerOfferingRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*ItemParam `protobuf:"bytes,7,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OfferingData *PlayerOfferingData `protobuf:"bytes,10,opt,name=offering_data,json=offeringData,proto3" json:"offering_data,omitempty"`
+}
+
+func (x *PlayerOfferingRsp) Reset() {
+ *x = PlayerOfferingRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerOfferingRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerOfferingRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerOfferingRsp) ProtoMessage() {}
+
+func (x *PlayerOfferingRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerOfferingRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerOfferingRsp.ProtoReflect.Descriptor instead.
+func (*PlayerOfferingRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerOfferingRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerOfferingRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *PlayerOfferingRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerOfferingRsp) GetOfferingData() *PlayerOfferingData {
+ if x != nil {
+ return x.OfferingData
+ }
+ return nil
+}
+
+var File_PlayerOfferingRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerOfferingRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e,
+ 0x67, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x11,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x73,
+ 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x6f, 0x66,
+ 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x6f, 0x66,
+ 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerOfferingRsp_proto_rawDescOnce sync.Once
+ file_PlayerOfferingRsp_proto_rawDescData = file_PlayerOfferingRsp_proto_rawDesc
+)
+
+func file_PlayerOfferingRsp_proto_rawDescGZIP() []byte {
+ file_PlayerOfferingRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerOfferingRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerOfferingRsp_proto_rawDescData)
+ })
+ return file_PlayerOfferingRsp_proto_rawDescData
+}
+
+var file_PlayerOfferingRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerOfferingRsp_proto_goTypes = []interface{}{
+ (*PlayerOfferingRsp)(nil), // 0: proto.PlayerOfferingRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+ (*PlayerOfferingData)(nil), // 2: proto.PlayerOfferingData
+}
+var file_PlayerOfferingRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerOfferingRsp.item_list:type_name -> proto.ItemParam
+ 2, // 1: proto.PlayerOfferingRsp.offering_data:type_name -> proto.PlayerOfferingData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerOfferingRsp_proto_init() }
+func file_PlayerOfferingRsp_proto_init() {
+ if File_PlayerOfferingRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ file_PlayerOfferingData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerOfferingRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerOfferingRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerOfferingRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerOfferingRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerOfferingRsp_proto_depIdxs,
+ MessageInfos: file_PlayerOfferingRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerOfferingRsp_proto = out.File
+ file_PlayerOfferingRsp_proto_rawDesc = nil
+ file_PlayerOfferingRsp_proto_goTypes = nil
+ file_PlayerOfferingRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerPreEnterMpNotify.pb.go b/protocol/proto/PlayerPreEnterMpNotify.pb.go
new file mode 100644
index 00000000..c3669fc2
--- /dev/null
+++ b/protocol/proto/PlayerPreEnterMpNotify.pb.go
@@ -0,0 +1,240 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerPreEnterMpNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerPreEnterMpNotify_State int32
+
+const (
+ PlayerPreEnterMpNotify_STATE_INVALID PlayerPreEnterMpNotify_State = 0
+ PlayerPreEnterMpNotify_STATE_START PlayerPreEnterMpNotify_State = 1
+ PlayerPreEnterMpNotify_STATE_TIMEOUT PlayerPreEnterMpNotify_State = 2
+)
+
+// Enum value maps for PlayerPreEnterMpNotify_State.
+var (
+ PlayerPreEnterMpNotify_State_name = map[int32]string{
+ 0: "STATE_INVALID",
+ 1: "STATE_START",
+ 2: "STATE_TIMEOUT",
+ }
+ PlayerPreEnterMpNotify_State_value = map[string]int32{
+ "STATE_INVALID": 0,
+ "STATE_START": 1,
+ "STATE_TIMEOUT": 2,
+ }
+)
+
+func (x PlayerPreEnterMpNotify_State) Enum() *PlayerPreEnterMpNotify_State {
+ p := new(PlayerPreEnterMpNotify_State)
+ *p = x
+ return p
+}
+
+func (x PlayerPreEnterMpNotify_State) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerPreEnterMpNotify_State) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerPreEnterMpNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerPreEnterMpNotify_State) Type() protoreflect.EnumType {
+ return &file_PlayerPreEnterMpNotify_proto_enumTypes[0]
+}
+
+func (x PlayerPreEnterMpNotify_State) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerPreEnterMpNotify_State.Descriptor instead.
+func (PlayerPreEnterMpNotify_State) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerPreEnterMpNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 1822
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerPreEnterMpNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ State PlayerPreEnterMpNotify_State `protobuf:"varint,2,opt,name=state,proto3,enum=proto.PlayerPreEnterMpNotify_State" json:"state,omitempty"`
+ Uid uint32 `protobuf:"varint,14,opt,name=uid,proto3" json:"uid,omitempty"`
+ Nickname string `protobuf:"bytes,6,opt,name=nickname,proto3" json:"nickname,omitempty"`
+}
+
+func (x *PlayerPreEnterMpNotify) Reset() {
+ *x = PlayerPreEnterMpNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerPreEnterMpNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerPreEnterMpNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerPreEnterMpNotify) ProtoMessage() {}
+
+func (x *PlayerPreEnterMpNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerPreEnterMpNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerPreEnterMpNotify.ProtoReflect.Descriptor instead.
+func (*PlayerPreEnterMpNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerPreEnterMpNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerPreEnterMpNotify) GetState() PlayerPreEnterMpNotify_State {
+ if x != nil {
+ return x.State
+ }
+ return PlayerPreEnterMpNotify_STATE_INVALID
+}
+
+func (x *PlayerPreEnterMpNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlayerPreEnterMpNotify) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+var File_PlayerPreEnterMpNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerPreEnterMpNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x4d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x50, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72,
+ 0x65, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x53,
+ 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a,
+ 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41,
+ 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53,
+ 0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerPreEnterMpNotify_proto_rawDescOnce sync.Once
+ file_PlayerPreEnterMpNotify_proto_rawDescData = file_PlayerPreEnterMpNotify_proto_rawDesc
+)
+
+func file_PlayerPreEnterMpNotify_proto_rawDescGZIP() []byte {
+ file_PlayerPreEnterMpNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerPreEnterMpNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerPreEnterMpNotify_proto_rawDescData)
+ })
+ return file_PlayerPreEnterMpNotify_proto_rawDescData
+}
+
+var file_PlayerPreEnterMpNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerPreEnterMpNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerPreEnterMpNotify_proto_goTypes = []interface{}{
+ (PlayerPreEnterMpNotify_State)(0), // 0: proto.PlayerPreEnterMpNotify.State
+ (*PlayerPreEnterMpNotify)(nil), // 1: proto.PlayerPreEnterMpNotify
+}
+var file_PlayerPreEnterMpNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.PlayerPreEnterMpNotify.state:type_name -> proto.PlayerPreEnterMpNotify.State
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerPreEnterMpNotify_proto_init() }
+func file_PlayerPreEnterMpNotify_proto_init() {
+ if File_PlayerPreEnterMpNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerPreEnterMpNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerPreEnterMpNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerPreEnterMpNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerPreEnterMpNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerPreEnterMpNotify_proto_depIdxs,
+ EnumInfos: file_PlayerPreEnterMpNotify_proto_enumTypes,
+ MessageInfos: file_PlayerPreEnterMpNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerPreEnterMpNotify_proto = out.File
+ file_PlayerPreEnterMpNotify_proto_rawDesc = nil
+ file_PlayerPreEnterMpNotify_proto_goTypes = nil
+ file_PlayerPreEnterMpNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerPropChangeNotify.pb.go b/protocol/proto/PlayerPropChangeNotify.pb.go
new file mode 100644
index 00000000..705a198a
--- /dev/null
+++ b/protocol/proto/PlayerPropChangeNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerPropChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 139
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerPropChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PropDelta uint32 `protobuf:"varint,13,opt,name=prop_delta,json=propDelta,proto3" json:"prop_delta,omitempty"`
+ PropType uint32 `protobuf:"varint,12,opt,name=prop_type,json=propType,proto3" json:"prop_type,omitempty"`
+}
+
+func (x *PlayerPropChangeNotify) Reset() {
+ *x = PlayerPropChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerPropChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerPropChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerPropChangeNotify) ProtoMessage() {}
+
+func (x *PlayerPropChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerPropChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerPropChangeNotify.ProtoReflect.Descriptor instead.
+func (*PlayerPropChangeNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerPropChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerPropChangeNotify) GetPropDelta() uint32 {
+ if x != nil {
+ return x.PropDelta
+ }
+ return 0
+}
+
+func (x *PlayerPropChangeNotify) GetPropType() uint32 {
+ if x != nil {
+ return x.PropType
+ }
+ return 0
+}
+
+var File_PlayerPropChangeNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerPropChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50,
+ 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x1b,
+ 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerPropChangeNotify_proto_rawDescOnce sync.Once
+ file_PlayerPropChangeNotify_proto_rawDescData = file_PlayerPropChangeNotify_proto_rawDesc
+)
+
+func file_PlayerPropChangeNotify_proto_rawDescGZIP() []byte {
+ file_PlayerPropChangeNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerPropChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerPropChangeNotify_proto_rawDescData)
+ })
+ return file_PlayerPropChangeNotify_proto_rawDescData
+}
+
+var file_PlayerPropChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerPropChangeNotify_proto_goTypes = []interface{}{
+ (*PlayerPropChangeNotify)(nil), // 0: proto.PlayerPropChangeNotify
+}
+var file_PlayerPropChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerPropChangeNotify_proto_init() }
+func file_PlayerPropChangeNotify_proto_init() {
+ if File_PlayerPropChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerPropChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerPropChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerPropChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerPropChangeNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerPropChangeNotify_proto_depIdxs,
+ MessageInfos: file_PlayerPropChangeNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerPropChangeNotify_proto = out.File
+ file_PlayerPropChangeNotify_proto_rawDesc = nil
+ file_PlayerPropChangeNotify_proto_goTypes = nil
+ file_PlayerPropChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerPropChangeReasonNotify.pb.go b/protocol/proto/PlayerPropChangeReasonNotify.pb.go
new file mode 100644
index 00000000..b13d9bf0
--- /dev/null
+++ b/protocol/proto/PlayerPropChangeReasonNotify.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerPropChangeReasonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1299
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerPropChangeReasonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PropType uint32 `protobuf:"varint,6,opt,name=prop_type,json=propType,proto3" json:"prop_type,omitempty"`
+ OldValue float32 `protobuf:"fixed32,12,opt,name=old_value,json=oldValue,proto3" json:"old_value,omitempty"`
+ Reason PropChangeReason `protobuf:"varint,1,opt,name=reason,proto3,enum=proto.PropChangeReason" json:"reason,omitempty"`
+ CurValue float32 `protobuf:"fixed32,11,opt,name=cur_value,json=curValue,proto3" json:"cur_value,omitempty"`
+}
+
+func (x *PlayerPropChangeReasonNotify) Reset() {
+ *x = PlayerPropChangeReasonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerPropChangeReasonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerPropChangeReasonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerPropChangeReasonNotify) ProtoMessage() {}
+
+func (x *PlayerPropChangeReasonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerPropChangeReasonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerPropChangeReasonNotify.ProtoReflect.Descriptor instead.
+func (*PlayerPropChangeReasonNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerPropChangeReasonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerPropChangeReasonNotify) GetPropType() uint32 {
+ if x != nil {
+ return x.PropType
+ }
+ return 0
+}
+
+func (x *PlayerPropChangeReasonNotify) GetOldValue() float32 {
+ if x != nil {
+ return x.OldValue
+ }
+ return 0
+}
+
+func (x *PlayerPropChangeReasonNotify) GetReason() PropChangeReason {
+ if x != nil {
+ return x.Reason
+ }
+ return PropChangeReason_PROP_CHANGE_REASON_NONE
+}
+
+func (x *PlayerPropChangeReasonNotify) GetCurValue() float32 {
+ if x != nil {
+ return x.CurValue
+ }
+ return 0
+}
+
+var File_PlayerPropChangeReasonNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerPropChangeReasonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x50, 0x72, 0x6f,
+ 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72,
+ 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2f,
+ 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
+ 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x08, 0x63, 0x75, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerPropChangeReasonNotify_proto_rawDescOnce sync.Once
+ file_PlayerPropChangeReasonNotify_proto_rawDescData = file_PlayerPropChangeReasonNotify_proto_rawDesc
+)
+
+func file_PlayerPropChangeReasonNotify_proto_rawDescGZIP() []byte {
+ file_PlayerPropChangeReasonNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerPropChangeReasonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerPropChangeReasonNotify_proto_rawDescData)
+ })
+ return file_PlayerPropChangeReasonNotify_proto_rawDescData
+}
+
+var file_PlayerPropChangeReasonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerPropChangeReasonNotify_proto_goTypes = []interface{}{
+ (*PlayerPropChangeReasonNotify)(nil), // 0: proto.PlayerPropChangeReasonNotify
+ (PropChangeReason)(0), // 1: proto.PropChangeReason
+}
+var file_PlayerPropChangeReasonNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerPropChangeReasonNotify.reason:type_name -> proto.PropChangeReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerPropChangeReasonNotify_proto_init() }
+func file_PlayerPropChangeReasonNotify_proto_init() {
+ if File_PlayerPropChangeReasonNotify_proto != nil {
+ return
+ }
+ file_PropChangeReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerPropChangeReasonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerPropChangeReasonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerPropChangeReasonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerPropChangeReasonNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerPropChangeReasonNotify_proto_depIdxs,
+ MessageInfos: file_PlayerPropChangeReasonNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerPropChangeReasonNotify_proto = out.File
+ file_PlayerPropChangeReasonNotify_proto_rawDesc = nil
+ file_PlayerPropChangeReasonNotify_proto_goTypes = nil
+ file_PlayerPropChangeReasonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerPropNotify.pb.go b/protocol/proto/PlayerPropNotify.pb.go
new file mode 100644
index 00000000..15630a63
--- /dev/null
+++ b/protocol/proto/PlayerPropNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerPropNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 175
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerPropNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PropMap map[uint32]*PropValue `protobuf:"bytes,13,rep,name=prop_map,json=propMap,proto3" json:"prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *PlayerPropNotify) Reset() {
+ *x = PlayerPropNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerPropNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerPropNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerPropNotify) ProtoMessage() {}
+
+func (x *PlayerPropNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerPropNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerPropNotify.ProtoReflect.Descriptor instead.
+func (*PlayerPropNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerPropNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerPropNotify) GetPropMap() map[uint32]*PropValue {
+ if x != nil {
+ return x.PropMap
+ }
+ return nil
+}
+
+var File_PlayerPropNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerPropNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70,
+ 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x1a, 0x4c, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerPropNotify_proto_rawDescOnce sync.Once
+ file_PlayerPropNotify_proto_rawDescData = file_PlayerPropNotify_proto_rawDesc
+)
+
+func file_PlayerPropNotify_proto_rawDescGZIP() []byte {
+ file_PlayerPropNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerPropNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerPropNotify_proto_rawDescData)
+ })
+ return file_PlayerPropNotify_proto_rawDescData
+}
+
+var file_PlayerPropNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_PlayerPropNotify_proto_goTypes = []interface{}{
+ (*PlayerPropNotify)(nil), // 0: proto.PlayerPropNotify
+ nil, // 1: proto.PlayerPropNotify.PropMapEntry
+ (*PropValue)(nil), // 2: proto.PropValue
+}
+var file_PlayerPropNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerPropNotify.prop_map:type_name -> proto.PlayerPropNotify.PropMapEntry
+ 2, // 1: proto.PlayerPropNotify.PropMapEntry.value:type_name -> proto.PropValue
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerPropNotify_proto_init() }
+func file_PlayerPropNotify_proto_init() {
+ if File_PlayerPropNotify_proto != nil {
+ return
+ }
+ file_PropValue_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerPropNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerPropNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerPropNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerPropNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerPropNotify_proto_depIdxs,
+ MessageInfos: file_PlayerPropNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerPropNotify_proto = out.File
+ file_PlayerPropNotify_proto_rawDesc = nil
+ file_PlayerPropNotify_proto_goTypes = nil
+ file_PlayerPropNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerQuitDungeonReq.pb.go b/protocol/proto/PlayerQuitDungeonReq.pb.go
new file mode 100644
index 00000000..d931f6bf
--- /dev/null
+++ b/protocol/proto/PlayerQuitDungeonReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerQuitDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 907
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerQuitDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsQuitImmediately bool `protobuf:"varint,10,opt,name=is_quit_immediately,json=isQuitImmediately,proto3" json:"is_quit_immediately,omitempty"`
+ PointId uint32 `protobuf:"varint,7,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *PlayerQuitDungeonReq) Reset() {
+ *x = PlayerQuitDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerQuitDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerQuitDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerQuitDungeonReq) ProtoMessage() {}
+
+func (x *PlayerQuitDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerQuitDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerQuitDungeonReq.ProtoReflect.Descriptor instead.
+func (*PlayerQuitDungeonReq) Descriptor() ([]byte, []int) {
+ return file_PlayerQuitDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerQuitDungeonReq) GetIsQuitImmediately() bool {
+ if x != nil {
+ return x.IsQuitImmediately
+ }
+ return false
+}
+
+func (x *PlayerQuitDungeonReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_PlayerQuitDungeonReq_proto protoreflect.FileDescriptor
+
+var file_PlayerQuitDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x69, 0x74, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x69,
+ 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x2e, 0x0a, 0x13, 0x69,
+ 0x73, 0x5f, 0x71, 0x75, 0x69, 0x74, 0x5f, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65,
+ 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x51, 0x75, 0x69, 0x74,
+ 0x49, 0x6d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerQuitDungeonReq_proto_rawDescOnce sync.Once
+ file_PlayerQuitDungeonReq_proto_rawDescData = file_PlayerQuitDungeonReq_proto_rawDesc
+)
+
+func file_PlayerQuitDungeonReq_proto_rawDescGZIP() []byte {
+ file_PlayerQuitDungeonReq_proto_rawDescOnce.Do(func() {
+ file_PlayerQuitDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerQuitDungeonReq_proto_rawDescData)
+ })
+ return file_PlayerQuitDungeonReq_proto_rawDescData
+}
+
+var file_PlayerQuitDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerQuitDungeonReq_proto_goTypes = []interface{}{
+ (*PlayerQuitDungeonReq)(nil), // 0: proto.PlayerQuitDungeonReq
+}
+var file_PlayerQuitDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerQuitDungeonReq_proto_init() }
+func file_PlayerQuitDungeonReq_proto_init() {
+ if File_PlayerQuitDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerQuitDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerQuitDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerQuitDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerQuitDungeonReq_proto_goTypes,
+ DependencyIndexes: file_PlayerQuitDungeonReq_proto_depIdxs,
+ MessageInfos: file_PlayerQuitDungeonReq_proto_msgTypes,
+ }.Build()
+ File_PlayerQuitDungeonReq_proto = out.File
+ file_PlayerQuitDungeonReq_proto_rawDesc = nil
+ file_PlayerQuitDungeonReq_proto_goTypes = nil
+ file_PlayerQuitDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerQuitDungeonRsp.pb.go b/protocol/proto/PlayerQuitDungeonRsp.pb.go
new file mode 100644
index 00000000..707be68d
--- /dev/null
+++ b/protocol/proto/PlayerQuitDungeonRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerQuitDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 921
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerQuitDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,11,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerQuitDungeonRsp) Reset() {
+ *x = PlayerQuitDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerQuitDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerQuitDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerQuitDungeonRsp) ProtoMessage() {}
+
+func (x *PlayerQuitDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerQuitDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerQuitDungeonRsp.ProtoReflect.Descriptor instead.
+func (*PlayerQuitDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerQuitDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerQuitDungeonRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *PlayerQuitDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerQuitDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerQuitDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x69, 0x74, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x69,
+ 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerQuitDungeonRsp_proto_rawDescOnce sync.Once
+ file_PlayerQuitDungeonRsp_proto_rawDescData = file_PlayerQuitDungeonRsp_proto_rawDesc
+)
+
+func file_PlayerQuitDungeonRsp_proto_rawDescGZIP() []byte {
+ file_PlayerQuitDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerQuitDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerQuitDungeonRsp_proto_rawDescData)
+ })
+ return file_PlayerQuitDungeonRsp_proto_rawDescData
+}
+
+var file_PlayerQuitDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerQuitDungeonRsp_proto_goTypes = []interface{}{
+ (*PlayerQuitDungeonRsp)(nil), // 0: proto.PlayerQuitDungeonRsp
+}
+var file_PlayerQuitDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerQuitDungeonRsp_proto_init() }
+func file_PlayerQuitDungeonRsp_proto_init() {
+ if File_PlayerQuitDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerQuitDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerQuitDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerQuitDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerQuitDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerQuitDungeonRsp_proto_depIdxs,
+ MessageInfos: file_PlayerQuitDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerQuitDungeonRsp_proto = out.File
+ file_PlayerQuitDungeonRsp_proto_rawDesc = nil
+ file_PlayerQuitDungeonRsp_proto_goTypes = nil
+ file_PlayerQuitDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerQuitFromHomeNotify.pb.go b/protocol/proto/PlayerQuitFromHomeNotify.pb.go
new file mode 100644
index 00000000..a8352d9e
--- /dev/null
+++ b/protocol/proto/PlayerQuitFromHomeNotify.pb.go
@@ -0,0 +1,245 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerQuitFromHomeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerQuitFromHomeNotify_QuitReason int32
+
+const (
+ PlayerQuitFromHomeNotify_QUIT_REASON_INVALID PlayerQuitFromHomeNotify_QuitReason = 0
+ PlayerQuitFromHomeNotify_QUIT_REASON_KICK_BY_HOST PlayerQuitFromHomeNotify_QuitReason = 1
+ PlayerQuitFromHomeNotify_QUIT_REASON_BACK_TO_MY_WORLD PlayerQuitFromHomeNotify_QuitReason = 2
+ PlayerQuitFromHomeNotify_QUIT_REASON_HOME_BLOCKED PlayerQuitFromHomeNotify_QuitReason = 3
+ PlayerQuitFromHomeNotify_QUIT_REASON_HOME_IN_EDIT_MODE PlayerQuitFromHomeNotify_QuitReason = 4
+ PlayerQuitFromHomeNotify_QUIT_REASON_BY_MUIP PlayerQuitFromHomeNotify_QuitReason = 5
+ PlayerQuitFromHomeNotify_QUIT_REASON_CUR_MODULE_CLOSED PlayerQuitFromHomeNotify_QuitReason = 6
+)
+
+// Enum value maps for PlayerQuitFromHomeNotify_QuitReason.
+var (
+ PlayerQuitFromHomeNotify_QuitReason_name = map[int32]string{
+ 0: "QUIT_REASON_INVALID",
+ 1: "QUIT_REASON_KICK_BY_HOST",
+ 2: "QUIT_REASON_BACK_TO_MY_WORLD",
+ 3: "QUIT_REASON_HOME_BLOCKED",
+ 4: "QUIT_REASON_HOME_IN_EDIT_MODE",
+ 5: "QUIT_REASON_BY_MUIP",
+ 6: "QUIT_REASON_CUR_MODULE_CLOSED",
+ }
+ PlayerQuitFromHomeNotify_QuitReason_value = map[string]int32{
+ "QUIT_REASON_INVALID": 0,
+ "QUIT_REASON_KICK_BY_HOST": 1,
+ "QUIT_REASON_BACK_TO_MY_WORLD": 2,
+ "QUIT_REASON_HOME_BLOCKED": 3,
+ "QUIT_REASON_HOME_IN_EDIT_MODE": 4,
+ "QUIT_REASON_BY_MUIP": 5,
+ "QUIT_REASON_CUR_MODULE_CLOSED": 6,
+ }
+)
+
+func (x PlayerQuitFromHomeNotify_QuitReason) Enum() *PlayerQuitFromHomeNotify_QuitReason {
+ p := new(PlayerQuitFromHomeNotify_QuitReason)
+ *p = x
+ return p
+}
+
+func (x PlayerQuitFromHomeNotify_QuitReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerQuitFromHomeNotify_QuitReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerQuitFromHomeNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerQuitFromHomeNotify_QuitReason) Type() protoreflect.EnumType {
+ return &file_PlayerQuitFromHomeNotify_proto_enumTypes[0]
+}
+
+func (x PlayerQuitFromHomeNotify_QuitReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerQuitFromHomeNotify_QuitReason.Descriptor instead.
+func (PlayerQuitFromHomeNotify_QuitReason) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerQuitFromHomeNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 4656
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerQuitFromHomeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason PlayerQuitFromHomeNotify_QuitReason `protobuf:"varint,6,opt,name=reason,proto3,enum=proto.PlayerQuitFromHomeNotify_QuitReason" json:"reason,omitempty"`
+}
+
+func (x *PlayerQuitFromHomeNotify) Reset() {
+ *x = PlayerQuitFromHomeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerQuitFromHomeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerQuitFromHomeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerQuitFromHomeNotify) ProtoMessage() {}
+
+func (x *PlayerQuitFromHomeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerQuitFromHomeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerQuitFromHomeNotify.ProtoReflect.Descriptor instead.
+func (*PlayerQuitFromHomeNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerQuitFromHomeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerQuitFromHomeNotify) GetReason() PlayerQuitFromHomeNotify_QuitReason {
+ if x != nil {
+ return x.Reason
+ }
+ return PlayerQuitFromHomeNotify_QUIT_REASON_INVALID
+}
+
+var File_PlayerQuitFromHomeNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerQuitFromHomeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x69, 0x74, 0x46, 0x72, 0x6f, 0x6d,
+ 0x48, 0x6f, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x02, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x51, 0x75, 0x69, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x6f, 0x6d, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x42, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x51, 0x75, 0x69, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x48, 0x6f, 0x6d, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x51, 0x75, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xe2, 0x01, 0x0a, 0x0a, 0x51, 0x75, 0x69,
+ 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x51, 0x55, 0x49, 0x54, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00,
+ 0x12, 0x1c, 0x0a, 0x18, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x4b, 0x49, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x20,
+ 0x0a, 0x1c, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x41,
+ 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x59, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x10, 0x02,
+ 0x12, 0x1c, 0x0a, 0x18, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x03, 0x12, 0x21,
+ 0x0a, 0x1d, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10,
+ 0x04, 0x12, 0x17, 0x0a, 0x13, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x42, 0x59, 0x5f, 0x4d, 0x55, 0x49, 0x50, 0x10, 0x05, 0x12, 0x21, 0x0a, 0x1d, 0x51, 0x55,
+ 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x4d, 0x4f,
+ 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x06, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PlayerQuitFromHomeNotify_proto_rawDescOnce sync.Once
+ file_PlayerQuitFromHomeNotify_proto_rawDescData = file_PlayerQuitFromHomeNotify_proto_rawDesc
+)
+
+func file_PlayerQuitFromHomeNotify_proto_rawDescGZIP() []byte {
+ file_PlayerQuitFromHomeNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerQuitFromHomeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerQuitFromHomeNotify_proto_rawDescData)
+ })
+ return file_PlayerQuitFromHomeNotify_proto_rawDescData
+}
+
+var file_PlayerQuitFromHomeNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerQuitFromHomeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerQuitFromHomeNotify_proto_goTypes = []interface{}{
+ (PlayerQuitFromHomeNotify_QuitReason)(0), // 0: proto.PlayerQuitFromHomeNotify.QuitReason
+ (*PlayerQuitFromHomeNotify)(nil), // 1: proto.PlayerQuitFromHomeNotify
+}
+var file_PlayerQuitFromHomeNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.PlayerQuitFromHomeNotify.reason:type_name -> proto.PlayerQuitFromHomeNotify.QuitReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerQuitFromHomeNotify_proto_init() }
+func file_PlayerQuitFromHomeNotify_proto_init() {
+ if File_PlayerQuitFromHomeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerQuitFromHomeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerQuitFromHomeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerQuitFromHomeNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerQuitFromHomeNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerQuitFromHomeNotify_proto_depIdxs,
+ EnumInfos: file_PlayerQuitFromHomeNotify_proto_enumTypes,
+ MessageInfos: file_PlayerQuitFromHomeNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerQuitFromHomeNotify_proto = out.File
+ file_PlayerQuitFromHomeNotify_proto_rawDesc = nil
+ file_PlayerQuitFromHomeNotify_proto_goTypes = nil
+ file_PlayerQuitFromHomeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerQuitFromMpNotify.pb.go b/protocol/proto/PlayerQuitFromMpNotify.pb.go
new file mode 100644
index 00000000..d03d7057
--- /dev/null
+++ b/protocol/proto/PlayerQuitFromMpNotify.pb.go
@@ -0,0 +1,267 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerQuitFromMpNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerQuitFromMpNotify_QuitReason int32
+
+const (
+ PlayerQuitFromMpNotify_QUIT_REASON_INVALID PlayerQuitFromMpNotify_QuitReason = 0
+ PlayerQuitFromMpNotify_QUIT_REASON_HOST_NO_OTHER_PLAYER PlayerQuitFromMpNotify_QuitReason = 1
+ PlayerQuitFromMpNotify_QUIT_REASON_KICK_BY_HOST PlayerQuitFromMpNotify_QuitReason = 2
+ PlayerQuitFromMpNotify_QUIT_REASON_BACK_TO_MY_WORLD PlayerQuitFromMpNotify_QuitReason = 3
+ PlayerQuitFromMpNotify_QUIT_REASON_KICK_BY_HOST_LOGOUT PlayerQuitFromMpNotify_QuitReason = 4
+ PlayerQuitFromMpNotify_QUIT_REASON_KICK_BY_HOST_BLOCK PlayerQuitFromMpNotify_QuitReason = 5
+ PlayerQuitFromMpNotify_QUIT_REASON_BE_BLOCKED PlayerQuitFromMpNotify_QuitReason = 6
+ PlayerQuitFromMpNotify_QUIT_REASON_KICK_BY_HOST_ENTER_HOME PlayerQuitFromMpNotify_QuitReason = 7
+ PlayerQuitFromMpNotify_QUIT_REASON_HOST_SCENE_INVALID PlayerQuitFromMpNotify_QuitReason = 8
+ PlayerQuitFromMpNotify_QUIT_REASON_KICK_BY_PLAY PlayerQuitFromMpNotify_QuitReason = 9
+ PlayerQuitFromMpNotify_QUIT_REASON_KICK_BY_ISLAND_PARTY_GALLERY_START_FAILED PlayerQuitFromMpNotify_QuitReason = 10
+)
+
+// Enum value maps for PlayerQuitFromMpNotify_QuitReason.
+var (
+ PlayerQuitFromMpNotify_QuitReason_name = map[int32]string{
+ 0: "QUIT_REASON_INVALID",
+ 1: "QUIT_REASON_HOST_NO_OTHER_PLAYER",
+ 2: "QUIT_REASON_KICK_BY_HOST",
+ 3: "QUIT_REASON_BACK_TO_MY_WORLD",
+ 4: "QUIT_REASON_KICK_BY_HOST_LOGOUT",
+ 5: "QUIT_REASON_KICK_BY_HOST_BLOCK",
+ 6: "QUIT_REASON_BE_BLOCKED",
+ 7: "QUIT_REASON_KICK_BY_HOST_ENTER_HOME",
+ 8: "QUIT_REASON_HOST_SCENE_INVALID",
+ 9: "QUIT_REASON_KICK_BY_PLAY",
+ 10: "QUIT_REASON_KICK_BY_ISLAND_PARTY_GALLERY_START_FAILED",
+ }
+ PlayerQuitFromMpNotify_QuitReason_value = map[string]int32{
+ "QUIT_REASON_INVALID": 0,
+ "QUIT_REASON_HOST_NO_OTHER_PLAYER": 1,
+ "QUIT_REASON_KICK_BY_HOST": 2,
+ "QUIT_REASON_BACK_TO_MY_WORLD": 3,
+ "QUIT_REASON_KICK_BY_HOST_LOGOUT": 4,
+ "QUIT_REASON_KICK_BY_HOST_BLOCK": 5,
+ "QUIT_REASON_BE_BLOCKED": 6,
+ "QUIT_REASON_KICK_BY_HOST_ENTER_HOME": 7,
+ "QUIT_REASON_HOST_SCENE_INVALID": 8,
+ "QUIT_REASON_KICK_BY_PLAY": 9,
+ "QUIT_REASON_KICK_BY_ISLAND_PARTY_GALLERY_START_FAILED": 10,
+ }
+)
+
+func (x PlayerQuitFromMpNotify_QuitReason) Enum() *PlayerQuitFromMpNotify_QuitReason {
+ p := new(PlayerQuitFromMpNotify_QuitReason)
+ *p = x
+ return p
+}
+
+func (x PlayerQuitFromMpNotify_QuitReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PlayerQuitFromMpNotify_QuitReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_PlayerQuitFromMpNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (PlayerQuitFromMpNotify_QuitReason) Type() protoreflect.EnumType {
+ return &file_PlayerQuitFromMpNotify_proto_enumTypes[0]
+}
+
+func (x PlayerQuitFromMpNotify_QuitReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PlayerQuitFromMpNotify_QuitReason.Descriptor instead.
+func (PlayerQuitFromMpNotify_QuitReason) EnumDescriptor() ([]byte, []int) {
+ return file_PlayerQuitFromMpNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 1829
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerQuitFromMpNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason PlayerQuitFromMpNotify_QuitReason `protobuf:"varint,11,opt,name=reason,proto3,enum=proto.PlayerQuitFromMpNotify_QuitReason" json:"reason,omitempty"`
+}
+
+func (x *PlayerQuitFromMpNotify) Reset() {
+ *x = PlayerQuitFromMpNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerQuitFromMpNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerQuitFromMpNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerQuitFromMpNotify) ProtoMessage() {}
+
+func (x *PlayerQuitFromMpNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerQuitFromMpNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerQuitFromMpNotify.ProtoReflect.Descriptor instead.
+func (*PlayerQuitFromMpNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerQuitFromMpNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerQuitFromMpNotify) GetReason() PlayerQuitFromMpNotify_QuitReason {
+ if x != nil {
+ return x.Reason
+ }
+ return PlayerQuitFromMpNotify_QUIT_REASON_INVALID
+}
+
+var File_PlayerQuitFromMpNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerQuitFromMpNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51, 0x75, 0x69, 0x74, 0x46, 0x72, 0x6f, 0x6d,
+ 0x4d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x03, 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x51, 0x75, 0x69, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x40, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x51,
+ 0x75, 0x69, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x51, 0x75, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x22, 0x96, 0x03, 0x0a, 0x0a, 0x51, 0x75, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x51, 0x55,
+ 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x4e,
+ 0x4f, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x01,
+ 0x12, 0x1c, 0x0a, 0x18, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x4b, 0x49, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x02, 0x12, 0x20,
+ 0x0a, 0x1c, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x41,
+ 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x5f, 0x4d, 0x59, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x10, 0x03,
+ 0x12, 0x23, 0x0a, 0x1f, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x4b, 0x49, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x4c, 0x4f, 0x47,
+ 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x48, 0x4f, 0x53,
+ 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x55, 0x49,
+ 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43,
+ 0x4b, 0x45, 0x44, 0x10, 0x06, 0x12, 0x27, 0x0a, 0x23, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x48, 0x4f, 0x53,
+ 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x10, 0x07, 0x12, 0x22,
+ 0x0a, 0x1e, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x48, 0x4f,
+ 0x53, 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44,
+ 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x4b, 0x49, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x10, 0x09,
+ 0x12, 0x39, 0x0a, 0x35, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x4b, 0x49, 0x43, 0x4b, 0x5f, 0x42, 0x59, 0x5f, 0x49, 0x53, 0x4c, 0x41, 0x4e, 0x44, 0x5f, 0x50,
+ 0x41, 0x52, 0x54, 0x59, 0x5f, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41,
+ 0x52, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0a, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerQuitFromMpNotify_proto_rawDescOnce sync.Once
+ file_PlayerQuitFromMpNotify_proto_rawDescData = file_PlayerQuitFromMpNotify_proto_rawDesc
+)
+
+func file_PlayerQuitFromMpNotify_proto_rawDescGZIP() []byte {
+ file_PlayerQuitFromMpNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerQuitFromMpNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerQuitFromMpNotify_proto_rawDescData)
+ })
+ return file_PlayerQuitFromMpNotify_proto_rawDescData
+}
+
+var file_PlayerQuitFromMpNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PlayerQuitFromMpNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerQuitFromMpNotify_proto_goTypes = []interface{}{
+ (PlayerQuitFromMpNotify_QuitReason)(0), // 0: proto.PlayerQuitFromMpNotify.QuitReason
+ (*PlayerQuitFromMpNotify)(nil), // 1: proto.PlayerQuitFromMpNotify
+}
+var file_PlayerQuitFromMpNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.PlayerQuitFromMpNotify.reason:type_name -> proto.PlayerQuitFromMpNotify.QuitReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerQuitFromMpNotify_proto_init() }
+func file_PlayerQuitFromMpNotify_proto_init() {
+ if File_PlayerQuitFromMpNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerQuitFromMpNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerQuitFromMpNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerQuitFromMpNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerQuitFromMpNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerQuitFromMpNotify_proto_depIdxs,
+ EnumInfos: file_PlayerQuitFromMpNotify_proto_enumTypes,
+ MessageInfos: file_PlayerQuitFromMpNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerQuitFromMpNotify_proto = out.File
+ file_PlayerQuitFromMpNotify_proto_rawDesc = nil
+ file_PlayerQuitFromMpNotify_proto_goTypes = nil
+ file_PlayerQuitFromMpNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerRTTInfo.pb.go b/protocol/proto/PlayerRTTInfo.pb.go
new file mode 100644
index 00000000..28252beb
--- /dev/null
+++ b/protocol/proto/PlayerRTTInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerRTTInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerRTTInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rtt uint32 `protobuf:"varint,2,opt,name=rtt,proto3" json:"rtt,omitempty"`
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *PlayerRTTInfo) Reset() {
+ *x = PlayerRTTInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerRTTInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerRTTInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerRTTInfo) ProtoMessage() {}
+
+func (x *PlayerRTTInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerRTTInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerRTTInfo.ProtoReflect.Descriptor instead.
+func (*PlayerRTTInfo) Descriptor() ([]byte, []int) {
+ return file_PlayerRTTInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerRTTInfo) GetRtt() uint32 {
+ if x != nil {
+ return x.Rtt
+ }
+ return 0
+}
+
+func (x *PlayerRTTInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_PlayerRTTInfo_proto protoreflect.FileDescriptor
+
+var file_PlayerRTTInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x54, 0x54, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x0d,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x54, 0x54, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a,
+ 0x03, 0x72, 0x74, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x74, 0x74, 0x12,
+ 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerRTTInfo_proto_rawDescOnce sync.Once
+ file_PlayerRTTInfo_proto_rawDescData = file_PlayerRTTInfo_proto_rawDesc
+)
+
+func file_PlayerRTTInfo_proto_rawDescGZIP() []byte {
+ file_PlayerRTTInfo_proto_rawDescOnce.Do(func() {
+ file_PlayerRTTInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerRTTInfo_proto_rawDescData)
+ })
+ return file_PlayerRTTInfo_proto_rawDescData
+}
+
+var file_PlayerRTTInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerRTTInfo_proto_goTypes = []interface{}{
+ (*PlayerRTTInfo)(nil), // 0: proto.PlayerRTTInfo
+}
+var file_PlayerRTTInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerRTTInfo_proto_init() }
+func file_PlayerRTTInfo_proto_init() {
+ if File_PlayerRTTInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerRTTInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerRTTInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerRTTInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerRTTInfo_proto_goTypes,
+ DependencyIndexes: file_PlayerRTTInfo_proto_depIdxs,
+ MessageInfos: file_PlayerRTTInfo_proto_msgTypes,
+ }.Build()
+ File_PlayerRTTInfo_proto = out.File
+ file_PlayerRTTInfo_proto_rawDesc = nil
+ file_PlayerRTTInfo_proto_goTypes = nil
+ file_PlayerRTTInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerRandomCookReq.pb.go b/protocol/proto/PlayerRandomCookReq.pb.go
new file mode 100644
index 00000000..3bd1ed7e
--- /dev/null
+++ b/protocol/proto/PlayerRandomCookReq.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerRandomCookReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 126
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerRandomCookReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaterialList []*ItemParam `protobuf:"bytes,13,rep,name=material_list,json=materialList,proto3" json:"material_list,omitempty"`
+}
+
+func (x *PlayerRandomCookReq) Reset() {
+ *x = PlayerRandomCookReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerRandomCookReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerRandomCookReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerRandomCookReq) ProtoMessage() {}
+
+func (x *PlayerRandomCookReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerRandomCookReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerRandomCookReq.ProtoReflect.Descriptor instead.
+func (*PlayerRandomCookReq) Descriptor() ([]byte, []int) {
+ return file_PlayerRandomCookReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerRandomCookReq) GetMaterialList() []*ItemParam {
+ if x != nil {
+ return x.MaterialList
+ }
+ return nil
+}
+
+var File_PlayerRandomCookReq_proto protoreflect.FileDescriptor
+
+var file_PlayerRandomCookReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x43, 0x6f,
+ 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e,
+ 0x64, 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x35, 0x0a, 0x0d, 0x6d, 0x61,
+ 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerRandomCookReq_proto_rawDescOnce sync.Once
+ file_PlayerRandomCookReq_proto_rawDescData = file_PlayerRandomCookReq_proto_rawDesc
+)
+
+func file_PlayerRandomCookReq_proto_rawDescGZIP() []byte {
+ file_PlayerRandomCookReq_proto_rawDescOnce.Do(func() {
+ file_PlayerRandomCookReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerRandomCookReq_proto_rawDescData)
+ })
+ return file_PlayerRandomCookReq_proto_rawDescData
+}
+
+var file_PlayerRandomCookReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerRandomCookReq_proto_goTypes = []interface{}{
+ (*PlayerRandomCookReq)(nil), // 0: proto.PlayerRandomCookReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_PlayerRandomCookReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerRandomCookReq.material_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerRandomCookReq_proto_init() }
+func file_PlayerRandomCookReq_proto_init() {
+ if File_PlayerRandomCookReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerRandomCookReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerRandomCookReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerRandomCookReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerRandomCookReq_proto_goTypes,
+ DependencyIndexes: file_PlayerRandomCookReq_proto_depIdxs,
+ MessageInfos: file_PlayerRandomCookReq_proto_msgTypes,
+ }.Build()
+ File_PlayerRandomCookReq_proto = out.File
+ file_PlayerRandomCookReq_proto_rawDesc = nil
+ file_PlayerRandomCookReq_proto_goTypes = nil
+ file_PlayerRandomCookReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerRandomCookRsp.pb.go b/protocol/proto/PlayerRandomCookRsp.pb.go
new file mode 100644
index 00000000..2b4e9f27
--- /dev/null
+++ b/protocol/proto/PlayerRandomCookRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerRandomCookRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 163
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerRandomCookRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerRandomCookRsp) Reset() {
+ *x = PlayerRandomCookRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerRandomCookRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerRandomCookRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerRandomCookRsp) ProtoMessage() {}
+
+func (x *PlayerRandomCookRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerRandomCookRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerRandomCookRsp.ProtoReflect.Descriptor instead.
+func (*PlayerRandomCookRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerRandomCookRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerRandomCookRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerRandomCookRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerRandomCookRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x43, 0x6f,
+ 0x6f, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x64,
+ 0x6f, 0x6d, 0x43, 0x6f, 0x6f, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerRandomCookRsp_proto_rawDescOnce sync.Once
+ file_PlayerRandomCookRsp_proto_rawDescData = file_PlayerRandomCookRsp_proto_rawDesc
+)
+
+func file_PlayerRandomCookRsp_proto_rawDescGZIP() []byte {
+ file_PlayerRandomCookRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerRandomCookRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerRandomCookRsp_proto_rawDescData)
+ })
+ return file_PlayerRandomCookRsp_proto_rawDescData
+}
+
+var file_PlayerRandomCookRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerRandomCookRsp_proto_goTypes = []interface{}{
+ (*PlayerRandomCookRsp)(nil), // 0: proto.PlayerRandomCookRsp
+}
+var file_PlayerRandomCookRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerRandomCookRsp_proto_init() }
+func file_PlayerRandomCookRsp_proto_init() {
+ if File_PlayerRandomCookRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerRandomCookRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerRandomCookRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerRandomCookRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerRandomCookRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerRandomCookRsp_proto_depIdxs,
+ MessageInfos: file_PlayerRandomCookRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerRandomCookRsp_proto = out.File
+ file_PlayerRandomCookRsp_proto_rawDesc = nil
+ file_PlayerRandomCookRsp_proto_goTypes = nil
+ file_PlayerRandomCookRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerRechargeDataNotify.pb.go b/protocol/proto/PlayerRechargeDataNotify.pb.go
new file mode 100644
index 00000000..e755a521
--- /dev/null
+++ b/protocol/proto/PlayerRechargeDataNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerRechargeDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4102
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerRechargeDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardProductRemainDays uint32 `protobuf:"varint,12,opt,name=card_product_remain_days,json=cardProductRemainDays,proto3" json:"card_product_remain_days,omitempty"`
+ ProductPriceTierList []*ProductPriceTier `protobuf:"bytes,11,rep,name=product_price_tier_list,json=productPriceTierList,proto3" json:"product_price_tier_list,omitempty"`
+}
+
+func (x *PlayerRechargeDataNotify) Reset() {
+ *x = PlayerRechargeDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerRechargeDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerRechargeDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerRechargeDataNotify) ProtoMessage() {}
+
+func (x *PlayerRechargeDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerRechargeDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerRechargeDataNotify.ProtoReflect.Descriptor instead.
+func (*PlayerRechargeDataNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerRechargeDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerRechargeDataNotify) GetCardProductRemainDays() uint32 {
+ if x != nil {
+ return x.CardProductRemainDays
+ }
+ return 0
+}
+
+func (x *PlayerRechargeDataNotify) GetProductPriceTierList() []*ProductPriceTier {
+ if x != nil {
+ return x.ProductPriceTierList
+ }
+ return nil
+}
+
+var File_PlayerRechargeDataNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerRechargeDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
+ 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xa3, 0x01, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x37, 0x0a, 0x18,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6d,
+ 0x61, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15,
+ 0x63, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x69,
+ 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x4e, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
+ 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x65, 0x72, 0x52,
+ 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x65,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerRechargeDataNotify_proto_rawDescOnce sync.Once
+ file_PlayerRechargeDataNotify_proto_rawDescData = file_PlayerRechargeDataNotify_proto_rawDesc
+)
+
+func file_PlayerRechargeDataNotify_proto_rawDescGZIP() []byte {
+ file_PlayerRechargeDataNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerRechargeDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerRechargeDataNotify_proto_rawDescData)
+ })
+ return file_PlayerRechargeDataNotify_proto_rawDescData
+}
+
+var file_PlayerRechargeDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerRechargeDataNotify_proto_goTypes = []interface{}{
+ (*PlayerRechargeDataNotify)(nil), // 0: proto.PlayerRechargeDataNotify
+ (*ProductPriceTier)(nil), // 1: proto.ProductPriceTier
+}
+var file_PlayerRechargeDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerRechargeDataNotify.product_price_tier_list:type_name -> proto.ProductPriceTier
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerRechargeDataNotify_proto_init() }
+func file_PlayerRechargeDataNotify_proto_init() {
+ if File_PlayerRechargeDataNotify_proto != nil {
+ return
+ }
+ file_ProductPriceTier_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerRechargeDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerRechargeDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerRechargeDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerRechargeDataNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerRechargeDataNotify_proto_depIdxs,
+ MessageInfos: file_PlayerRechargeDataNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerRechargeDataNotify_proto = out.File
+ file_PlayerRechargeDataNotify_proto_rawDesc = nil
+ file_PlayerRechargeDataNotify_proto_goTypes = nil
+ file_PlayerRechargeDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerReportReq.pb.go b/protocol/proto/PlayerReportReq.pb.go
new file mode 100644
index 00000000..72be52fb
--- /dev/null
+++ b/protocol/proto/PlayerReportReq.pb.go
@@ -0,0 +1,211 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerReportReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4024
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerReportReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Reason ReportReasonType `protobuf:"varint,12,opt,name=reason,proto3,enum=proto.ReportReasonType" json:"reason,omitempty"`
+ Content string `protobuf:"bytes,8,opt,name=content,proto3" json:"content,omitempty"`
+ TargetHomeModuleId uint32 `protobuf:"varint,5,opt,name=target_home_module_id,json=targetHomeModuleId,proto3" json:"target_home_module_id,omitempty"`
+ TargetHomeModuleName string `protobuf:"bytes,6,opt,name=target_home_module_name,json=targetHomeModuleName,proto3" json:"target_home_module_name,omitempty"`
+ TargetUid uint32 `protobuf:"varint,14,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *PlayerReportReq) Reset() {
+ *x = PlayerReportReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerReportReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerReportReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerReportReq) ProtoMessage() {}
+
+func (x *PlayerReportReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerReportReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerReportReq.ProtoReflect.Descriptor instead.
+func (*PlayerReportReq) Descriptor() ([]byte, []int) {
+ return file_PlayerReportReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerReportReq) GetReason() ReportReasonType {
+ if x != nil {
+ return x.Reason
+ }
+ return ReportReasonType_REPORT_REASON_TYPE_NONE
+}
+
+func (x *PlayerReportReq) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+func (x *PlayerReportReq) GetTargetHomeModuleId() uint32 {
+ if x != nil {
+ return x.TargetHomeModuleId
+ }
+ return 0
+}
+
+func (x *PlayerReportReq) GetTargetHomeModuleName() string {
+ if x != nil {
+ return x.TargetHomeModuleName
+ }
+ return ""
+}
+
+func (x *PlayerReportReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_PlayerReportReq_proto protoreflect.FileDescriptor
+
+var file_PlayerReportReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16,
+ 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x01, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x2f, 0x0a, 0x06, 0x72, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x6f, 0x6d, 0x65,
+ 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x48, 0x6f, 0x6d, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PlayerReportReq_proto_rawDescOnce sync.Once
+ file_PlayerReportReq_proto_rawDescData = file_PlayerReportReq_proto_rawDesc
+)
+
+func file_PlayerReportReq_proto_rawDescGZIP() []byte {
+ file_PlayerReportReq_proto_rawDescOnce.Do(func() {
+ file_PlayerReportReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerReportReq_proto_rawDescData)
+ })
+ return file_PlayerReportReq_proto_rawDescData
+}
+
+var file_PlayerReportReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerReportReq_proto_goTypes = []interface{}{
+ (*PlayerReportReq)(nil), // 0: proto.PlayerReportReq
+ (ReportReasonType)(0), // 1: proto.ReportReasonType
+}
+var file_PlayerReportReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerReportReq.reason:type_name -> proto.ReportReasonType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerReportReq_proto_init() }
+func file_PlayerReportReq_proto_init() {
+ if File_PlayerReportReq_proto != nil {
+ return
+ }
+ file_ReportReasonType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerReportReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerReportReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerReportReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerReportReq_proto_goTypes,
+ DependencyIndexes: file_PlayerReportReq_proto_depIdxs,
+ MessageInfos: file_PlayerReportReq_proto_msgTypes,
+ }.Build()
+ File_PlayerReportReq_proto = out.File
+ file_PlayerReportReq_proto_rawDesc = nil
+ file_PlayerReportReq_proto_goTypes = nil
+ file_PlayerReportReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerReportRsp.pb.go b/protocol/proto/PlayerReportRsp.pb.go
new file mode 100644
index 00000000..2e323abf
--- /dev/null
+++ b/protocol/proto/PlayerReportRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerReportRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4056
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerReportRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CdTime uint32 `protobuf:"varint,11,opt,name=cd_time,json=cdTime,proto3" json:"cd_time,omitempty"`
+ TargetUid uint32 `protobuf:"varint,6,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerReportRsp) Reset() {
+ *x = PlayerReportRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerReportRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerReportRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerReportRsp) ProtoMessage() {}
+
+func (x *PlayerReportRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerReportRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerReportRsp.ProtoReflect.Descriptor instead.
+func (*PlayerReportRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerReportRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerReportRsp) GetCdTime() uint32 {
+ if x != nil {
+ return x.CdTime
+ }
+ return 0
+}
+
+func (x *PlayerReportRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *PlayerReportRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerReportRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerReportRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63,
+ 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x73,
+ 0x70, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x63, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerReportRsp_proto_rawDescOnce sync.Once
+ file_PlayerReportRsp_proto_rawDescData = file_PlayerReportRsp_proto_rawDesc
+)
+
+func file_PlayerReportRsp_proto_rawDescGZIP() []byte {
+ file_PlayerReportRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerReportRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerReportRsp_proto_rawDescData)
+ })
+ return file_PlayerReportRsp_proto_rawDescData
+}
+
+var file_PlayerReportRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerReportRsp_proto_goTypes = []interface{}{
+ (*PlayerReportRsp)(nil), // 0: proto.PlayerReportRsp
+}
+var file_PlayerReportRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerReportRsp_proto_init() }
+func file_PlayerReportRsp_proto_init() {
+ if File_PlayerReportRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerReportRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerReportRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerReportRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerReportRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerReportRsp_proto_depIdxs,
+ MessageInfos: file_PlayerReportRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerReportRsp_proto = out.File
+ file_PlayerReportRsp_proto_rawDesc = nil
+ file_PlayerReportRsp_proto_goTypes = nil
+ file_PlayerReportRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerRoutineDataNotify.pb.go b/protocol/proto/PlayerRoutineDataNotify.pb.go
new file mode 100644
index 00000000..247671ca
--- /dev/null
+++ b/protocol/proto/PlayerRoutineDataNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerRoutineDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3526
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerRoutineDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoutineInfoList []*PlayerRoutineInfo `protobuf:"bytes,11,rep,name=routine_info_list,json=routineInfoList,proto3" json:"routine_info_list,omitempty"`
+}
+
+func (x *PlayerRoutineDataNotify) Reset() {
+ *x = PlayerRoutineDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerRoutineDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerRoutineDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerRoutineDataNotify) ProtoMessage() {}
+
+func (x *PlayerRoutineDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerRoutineDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerRoutineDataNotify.ProtoReflect.Descriptor instead.
+func (*PlayerRoutineDataNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerRoutineDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerRoutineDataNotify) GetRoutineInfoList() []*PlayerRoutineInfo {
+ if x != nil {
+ return x.RoutineInfoList
+ }
+ return nil
+}
+
+var File_PlayerRoutineDataNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerRoutineDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x6f,
+ 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5f, 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x44, 0x0a, 0x11, 0x72, 0x6f,
+ 0x75, 0x74, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerRoutineDataNotify_proto_rawDescOnce sync.Once
+ file_PlayerRoutineDataNotify_proto_rawDescData = file_PlayerRoutineDataNotify_proto_rawDesc
+)
+
+func file_PlayerRoutineDataNotify_proto_rawDescGZIP() []byte {
+ file_PlayerRoutineDataNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerRoutineDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerRoutineDataNotify_proto_rawDescData)
+ })
+ return file_PlayerRoutineDataNotify_proto_rawDescData
+}
+
+var file_PlayerRoutineDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerRoutineDataNotify_proto_goTypes = []interface{}{
+ (*PlayerRoutineDataNotify)(nil), // 0: proto.PlayerRoutineDataNotify
+ (*PlayerRoutineInfo)(nil), // 1: proto.PlayerRoutineInfo
+}
+var file_PlayerRoutineDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerRoutineDataNotify.routine_info_list:type_name -> proto.PlayerRoutineInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerRoutineDataNotify_proto_init() }
+func file_PlayerRoutineDataNotify_proto_init() {
+ if File_PlayerRoutineDataNotify_proto != nil {
+ return
+ }
+ file_PlayerRoutineInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerRoutineDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerRoutineDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerRoutineDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerRoutineDataNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerRoutineDataNotify_proto_depIdxs,
+ MessageInfos: file_PlayerRoutineDataNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerRoutineDataNotify_proto = out.File
+ file_PlayerRoutineDataNotify_proto_rawDesc = nil
+ file_PlayerRoutineDataNotify_proto_goTypes = nil
+ file_PlayerRoutineDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerRoutineInfo.pb.go b/protocol/proto/PlayerRoutineInfo.pb.go
new file mode 100644
index 00000000..ad29708a
--- /dev/null
+++ b/protocol/proto/PlayerRoutineInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerRoutineInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerRoutineInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoutineType uint32 `protobuf:"varint,8,opt,name=routine_type,json=routineType,proto3" json:"routine_type,omitempty"`
+ FinishedNum uint32 `protobuf:"varint,15,opt,name=finished_num,json=finishedNum,proto3" json:"finished_num,omitempty"`
+}
+
+func (x *PlayerRoutineInfo) Reset() {
+ *x = PlayerRoutineInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerRoutineInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerRoutineInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerRoutineInfo) ProtoMessage() {}
+
+func (x *PlayerRoutineInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerRoutineInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerRoutineInfo.ProtoReflect.Descriptor instead.
+func (*PlayerRoutineInfo) Descriptor() ([]byte, []int) {
+ return file_PlayerRoutineInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerRoutineInfo) GetRoutineType() uint32 {
+ if x != nil {
+ return x.RoutineType
+ }
+ return 0
+}
+
+func (x *PlayerRoutineInfo) GetFinishedNum() uint32 {
+ if x != nil {
+ return x.FinishedNum
+ }
+ return 0
+}
+
+var File_PlayerRoutineInfo_proto protoreflect.FileDescriptor
+
+var file_PlayerRoutineInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x59, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerRoutineInfo_proto_rawDescOnce sync.Once
+ file_PlayerRoutineInfo_proto_rawDescData = file_PlayerRoutineInfo_proto_rawDesc
+)
+
+func file_PlayerRoutineInfo_proto_rawDescGZIP() []byte {
+ file_PlayerRoutineInfo_proto_rawDescOnce.Do(func() {
+ file_PlayerRoutineInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerRoutineInfo_proto_rawDescData)
+ })
+ return file_PlayerRoutineInfo_proto_rawDescData
+}
+
+var file_PlayerRoutineInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerRoutineInfo_proto_goTypes = []interface{}{
+ (*PlayerRoutineInfo)(nil), // 0: proto.PlayerRoutineInfo
+}
+var file_PlayerRoutineInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerRoutineInfo_proto_init() }
+func file_PlayerRoutineInfo_proto_init() {
+ if File_PlayerRoutineInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerRoutineInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerRoutineInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerRoutineInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerRoutineInfo_proto_goTypes,
+ DependencyIndexes: file_PlayerRoutineInfo_proto_depIdxs,
+ MessageInfos: file_PlayerRoutineInfo_proto_msgTypes,
+ }.Build()
+ File_PlayerRoutineInfo_proto = out.File
+ file_PlayerRoutineInfo_proto_rawDesc = nil
+ file_PlayerRoutineInfo_proto_goTypes = nil
+ file_PlayerRoutineInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerSetLanguageReq.pb.go b/protocol/proto/PlayerSetLanguageReq.pb.go
new file mode 100644
index 00000000..fab674d1
--- /dev/null
+++ b/protocol/proto/PlayerSetLanguageReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerSetLanguageReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 142
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerSetLanguageReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LanguageType uint32 `protobuf:"varint,5,opt,name=language_type,json=languageType,proto3" json:"language_type,omitempty"`
+}
+
+func (x *PlayerSetLanguageReq) Reset() {
+ *x = PlayerSetLanguageReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerSetLanguageReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerSetLanguageReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerSetLanguageReq) ProtoMessage() {}
+
+func (x *PlayerSetLanguageReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerSetLanguageReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerSetLanguageReq.ProtoReflect.Descriptor instead.
+func (*PlayerSetLanguageReq) Descriptor() ([]byte, []int) {
+ return file_PlayerSetLanguageReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerSetLanguageReq) GetLanguageType() uint32 {
+ if x != nil {
+ return x.LanguageType
+ }
+ return 0
+}
+
+var File_PlayerSetLanguageReq_proto protoreflect.FileDescriptor
+
+var file_PlayerSetLanguageReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75,
+ 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74,
+ 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x6c,
+ 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerSetLanguageReq_proto_rawDescOnce sync.Once
+ file_PlayerSetLanguageReq_proto_rawDescData = file_PlayerSetLanguageReq_proto_rawDesc
+)
+
+func file_PlayerSetLanguageReq_proto_rawDescGZIP() []byte {
+ file_PlayerSetLanguageReq_proto_rawDescOnce.Do(func() {
+ file_PlayerSetLanguageReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerSetLanguageReq_proto_rawDescData)
+ })
+ return file_PlayerSetLanguageReq_proto_rawDescData
+}
+
+var file_PlayerSetLanguageReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerSetLanguageReq_proto_goTypes = []interface{}{
+ (*PlayerSetLanguageReq)(nil), // 0: proto.PlayerSetLanguageReq
+}
+var file_PlayerSetLanguageReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerSetLanguageReq_proto_init() }
+func file_PlayerSetLanguageReq_proto_init() {
+ if File_PlayerSetLanguageReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerSetLanguageReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerSetLanguageReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerSetLanguageReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerSetLanguageReq_proto_goTypes,
+ DependencyIndexes: file_PlayerSetLanguageReq_proto_depIdxs,
+ MessageInfos: file_PlayerSetLanguageReq_proto_msgTypes,
+ }.Build()
+ File_PlayerSetLanguageReq_proto = out.File
+ file_PlayerSetLanguageReq_proto_rawDesc = nil
+ file_PlayerSetLanguageReq_proto_goTypes = nil
+ file_PlayerSetLanguageReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerSetLanguageRsp.pb.go b/protocol/proto/PlayerSetLanguageRsp.pb.go
new file mode 100644
index 00000000..9d1c6db1
--- /dev/null
+++ b/protocol/proto/PlayerSetLanguageRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerSetLanguageRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 130
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerSetLanguageRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerSetLanguageRsp) Reset() {
+ *x = PlayerSetLanguageRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerSetLanguageRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerSetLanguageRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerSetLanguageRsp) ProtoMessage() {}
+
+func (x *PlayerSetLanguageRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerSetLanguageRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerSetLanguageRsp.ProtoReflect.Descriptor instead.
+func (*PlayerSetLanguageRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerSetLanguageRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerSetLanguageRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerSetLanguageRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerSetLanguageRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75,
+ 0x61, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74,
+ 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerSetLanguageRsp_proto_rawDescOnce sync.Once
+ file_PlayerSetLanguageRsp_proto_rawDescData = file_PlayerSetLanguageRsp_proto_rawDesc
+)
+
+func file_PlayerSetLanguageRsp_proto_rawDescGZIP() []byte {
+ file_PlayerSetLanguageRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerSetLanguageRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerSetLanguageRsp_proto_rawDescData)
+ })
+ return file_PlayerSetLanguageRsp_proto_rawDescData
+}
+
+var file_PlayerSetLanguageRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerSetLanguageRsp_proto_goTypes = []interface{}{
+ (*PlayerSetLanguageRsp)(nil), // 0: proto.PlayerSetLanguageRsp
+}
+var file_PlayerSetLanguageRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerSetLanguageRsp_proto_init() }
+func file_PlayerSetLanguageRsp_proto_init() {
+ if File_PlayerSetLanguageRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerSetLanguageRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerSetLanguageRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerSetLanguageRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerSetLanguageRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerSetLanguageRsp_proto_depIdxs,
+ MessageInfos: file_PlayerSetLanguageRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerSetLanguageRsp_proto = out.File
+ file_PlayerSetLanguageRsp_proto_rawDesc = nil
+ file_PlayerSetLanguageRsp_proto_goTypes = nil
+ file_PlayerSetLanguageRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerSetOnlyMPWithPSPlayerReq.pb.go b/protocol/proto/PlayerSetOnlyMPWithPSPlayerReq.pb.go
new file mode 100644
index 00000000..abdb9a6c
--- /dev/null
+++ b/protocol/proto/PlayerSetOnlyMPWithPSPlayerReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerSetOnlyMPWithPSPlayerReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1820
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerSetOnlyMPWithPSPlayerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOnly bool `protobuf:"varint,13,opt,name=is_only,json=isOnly,proto3" json:"is_only,omitempty"`
+}
+
+func (x *PlayerSetOnlyMPWithPSPlayerReq) Reset() {
+ *x = PlayerSetOnlyMPWithPSPlayerReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerSetOnlyMPWithPSPlayerReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerSetOnlyMPWithPSPlayerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerSetOnlyMPWithPSPlayerReq) ProtoMessage() {}
+
+func (x *PlayerSetOnlyMPWithPSPlayerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerSetOnlyMPWithPSPlayerReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerSetOnlyMPWithPSPlayerReq.ProtoReflect.Descriptor instead.
+func (*PlayerSetOnlyMPWithPSPlayerReq) Descriptor() ([]byte, []int) {
+ return file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerSetOnlyMPWithPSPlayerReq) GetIsOnly() bool {
+ if x != nil {
+ return x.IsOnly
+ }
+ return false
+}
+
+var File_PlayerSetOnlyMPWithPSPlayerReq_proto protoreflect.FileDescriptor
+
+var file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x4d,
+ 0x50, 0x57, 0x69, 0x74, 0x68, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a,
+ 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x4d, 0x50,
+ 0x57, 0x69, 0x74, 0x68, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x06, 0x69, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDescOnce sync.Once
+ file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDescData = file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDesc
+)
+
+func file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDescGZIP() []byte {
+ file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDescOnce.Do(func() {
+ file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDescData)
+ })
+ return file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDescData
+}
+
+var file_PlayerSetOnlyMPWithPSPlayerReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerSetOnlyMPWithPSPlayerReq_proto_goTypes = []interface{}{
+ (*PlayerSetOnlyMPWithPSPlayerReq)(nil), // 0: proto.PlayerSetOnlyMPWithPSPlayerReq
+}
+var file_PlayerSetOnlyMPWithPSPlayerReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerSetOnlyMPWithPSPlayerReq_proto_init() }
+func file_PlayerSetOnlyMPWithPSPlayerReq_proto_init() {
+ if File_PlayerSetOnlyMPWithPSPlayerReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerSetOnlyMPWithPSPlayerReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerSetOnlyMPWithPSPlayerReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerSetOnlyMPWithPSPlayerReq_proto_goTypes,
+ DependencyIndexes: file_PlayerSetOnlyMPWithPSPlayerReq_proto_depIdxs,
+ MessageInfos: file_PlayerSetOnlyMPWithPSPlayerReq_proto_msgTypes,
+ }.Build()
+ File_PlayerSetOnlyMPWithPSPlayerReq_proto = out.File
+ file_PlayerSetOnlyMPWithPSPlayerReq_proto_rawDesc = nil
+ file_PlayerSetOnlyMPWithPSPlayerReq_proto_goTypes = nil
+ file_PlayerSetOnlyMPWithPSPlayerReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerSetOnlyMPWithPSPlayerRsp.pb.go b/protocol/proto/PlayerSetOnlyMPWithPSPlayerRsp.pb.go
new file mode 100644
index 00000000..80a4875b
--- /dev/null
+++ b/protocol/proto/PlayerSetOnlyMPWithPSPlayerRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerSetOnlyMPWithPSPlayerRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1845
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerSetOnlyMPWithPSPlayerRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsOnly bool `protobuf:"varint,8,opt,name=is_only,json=isOnly,proto3" json:"is_only,omitempty"`
+}
+
+func (x *PlayerSetOnlyMPWithPSPlayerRsp) Reset() {
+ *x = PlayerSetOnlyMPWithPSPlayerRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerSetOnlyMPWithPSPlayerRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerSetOnlyMPWithPSPlayerRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerSetOnlyMPWithPSPlayerRsp) ProtoMessage() {}
+
+func (x *PlayerSetOnlyMPWithPSPlayerRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerSetOnlyMPWithPSPlayerRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerSetOnlyMPWithPSPlayerRsp.ProtoReflect.Descriptor instead.
+func (*PlayerSetOnlyMPWithPSPlayerRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerSetOnlyMPWithPSPlayerRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerSetOnlyMPWithPSPlayerRsp) GetIsOnly() bool {
+ if x != nil {
+ return x.IsOnly
+ }
+ return false
+}
+
+var File_PlayerSetOnlyMPWithPSPlayerRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x4d,
+ 0x50, 0x57, 0x69, 0x74, 0x68, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a,
+ 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x4d, 0x50,
+ 0x57, 0x69, 0x74, 0x68, 0x50, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x6e,
+ 0x6c, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDescOnce sync.Once
+ file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDescData = file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDesc
+)
+
+func file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDescGZIP() []byte {
+ file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDescData)
+ })
+ return file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDescData
+}
+
+var file_PlayerSetOnlyMPWithPSPlayerRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerSetOnlyMPWithPSPlayerRsp_proto_goTypes = []interface{}{
+ (*PlayerSetOnlyMPWithPSPlayerRsp)(nil), // 0: proto.PlayerSetOnlyMPWithPSPlayerRsp
+}
+var file_PlayerSetOnlyMPWithPSPlayerRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerSetOnlyMPWithPSPlayerRsp_proto_init() }
+func file_PlayerSetOnlyMPWithPSPlayerRsp_proto_init() {
+ if File_PlayerSetOnlyMPWithPSPlayerRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerSetOnlyMPWithPSPlayerRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerSetOnlyMPWithPSPlayerRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerSetOnlyMPWithPSPlayerRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerSetOnlyMPWithPSPlayerRsp_proto_depIdxs,
+ MessageInfos: file_PlayerSetOnlyMPWithPSPlayerRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerSetOnlyMPWithPSPlayerRsp_proto = out.File
+ file_PlayerSetOnlyMPWithPSPlayerRsp_proto_rawDesc = nil
+ file_PlayerSetOnlyMPWithPSPlayerRsp_proto_goTypes = nil
+ file_PlayerSetOnlyMPWithPSPlayerRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerSetPauseReq.pb.go b/protocol/proto/PlayerSetPauseReq.pb.go
new file mode 100644
index 00000000..260128b5
--- /dev/null
+++ b/protocol/proto/PlayerSetPauseReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerSetPauseReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 124
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerSetPauseReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsPaused bool `protobuf:"varint,1,opt,name=is_paused,json=isPaused,proto3" json:"is_paused,omitempty"`
+}
+
+func (x *PlayerSetPauseReq) Reset() {
+ *x = PlayerSetPauseReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerSetPauseReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerSetPauseReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerSetPauseReq) ProtoMessage() {}
+
+func (x *PlayerSetPauseReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerSetPauseReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerSetPauseReq.ProtoReflect.Descriptor instead.
+func (*PlayerSetPauseReq) Descriptor() ([]byte, []int) {
+ return file_PlayerSetPauseReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerSetPauseReq) GetIsPaused() bool {
+ if x != nil {
+ return x.IsPaused
+ }
+ return false
+}
+
+var File_PlayerSetPauseReq_proto protoreflect.FileDescriptor
+
+var file_PlayerSetPauseReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x30, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75,
+ 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x75, 0x73,
+ 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x61, 0x75, 0x73,
+ 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerSetPauseReq_proto_rawDescOnce sync.Once
+ file_PlayerSetPauseReq_proto_rawDescData = file_PlayerSetPauseReq_proto_rawDesc
+)
+
+func file_PlayerSetPauseReq_proto_rawDescGZIP() []byte {
+ file_PlayerSetPauseReq_proto_rawDescOnce.Do(func() {
+ file_PlayerSetPauseReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerSetPauseReq_proto_rawDescData)
+ })
+ return file_PlayerSetPauseReq_proto_rawDescData
+}
+
+var file_PlayerSetPauseReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerSetPauseReq_proto_goTypes = []interface{}{
+ (*PlayerSetPauseReq)(nil), // 0: proto.PlayerSetPauseReq
+}
+var file_PlayerSetPauseReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerSetPauseReq_proto_init() }
+func file_PlayerSetPauseReq_proto_init() {
+ if File_PlayerSetPauseReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerSetPauseReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerSetPauseReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerSetPauseReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerSetPauseReq_proto_goTypes,
+ DependencyIndexes: file_PlayerSetPauseReq_proto_depIdxs,
+ MessageInfos: file_PlayerSetPauseReq_proto_msgTypes,
+ }.Build()
+ File_PlayerSetPauseReq_proto = out.File
+ file_PlayerSetPauseReq_proto_rawDesc = nil
+ file_PlayerSetPauseReq_proto_goTypes = nil
+ file_PlayerSetPauseReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerSetPauseRsp.pb.go b/protocol/proto/PlayerSetPauseRsp.pb.go
new file mode 100644
index 00000000..c739a2c4
--- /dev/null
+++ b/protocol/proto/PlayerSetPauseRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerSetPauseRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 156
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerSetPauseRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PlayerSetPauseRsp) Reset() {
+ *x = PlayerSetPauseRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerSetPauseRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerSetPauseRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerSetPauseRsp) ProtoMessage() {}
+
+func (x *PlayerSetPauseRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerSetPauseRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerSetPauseRsp.ProtoReflect.Descriptor instead.
+func (*PlayerSetPauseRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerSetPauseRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerSetPauseRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PlayerSetPauseRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerSetPauseRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x2d, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75,
+ 0x73, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerSetPauseRsp_proto_rawDescOnce sync.Once
+ file_PlayerSetPauseRsp_proto_rawDescData = file_PlayerSetPauseRsp_proto_rawDesc
+)
+
+func file_PlayerSetPauseRsp_proto_rawDescGZIP() []byte {
+ file_PlayerSetPauseRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerSetPauseRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerSetPauseRsp_proto_rawDescData)
+ })
+ return file_PlayerSetPauseRsp_proto_rawDescData
+}
+
+var file_PlayerSetPauseRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerSetPauseRsp_proto_goTypes = []interface{}{
+ (*PlayerSetPauseRsp)(nil), // 0: proto.PlayerSetPauseRsp
+}
+var file_PlayerSetPauseRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerSetPauseRsp_proto_init() }
+func file_PlayerSetPauseRsp_proto_init() {
+ if File_PlayerSetPauseRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerSetPauseRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerSetPauseRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerSetPauseRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerSetPauseRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerSetPauseRsp_proto_depIdxs,
+ MessageInfos: file_PlayerSetPauseRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerSetPauseRsp_proto = out.File
+ file_PlayerSetPauseRsp_proto_rawDesc = nil
+ file_PlayerSetPauseRsp_proto_goTypes = nil
+ file_PlayerSetPauseRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerSignatureAuditDataNotify.pb.go b/protocol/proto/PlayerSignatureAuditDataNotify.pb.go
new file mode 100644
index 00000000..d4507550
--- /dev/null
+++ b/protocol/proto/PlayerSignatureAuditDataNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerSignatureAuditDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4060
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerSignatureAuditDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *ContentAuditInfo `protobuf:"bytes,14,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *PlayerSignatureAuditDataNotify) Reset() {
+ *x = PlayerSignatureAuditDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerSignatureAuditDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerSignatureAuditDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerSignatureAuditDataNotify) ProtoMessage() {}
+
+func (x *PlayerSignatureAuditDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerSignatureAuditDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerSignatureAuditDataNotify.ProtoReflect.Descriptor instead.
+func (*PlayerSignatureAuditDataNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerSignatureAuditDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerSignatureAuditDataNotify) GetInfo() *ContentAuditInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_PlayerSignatureAuditDataNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerSignatureAuditDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
+ 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x43,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x1e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53,
+ 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2b, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04,
+ 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerSignatureAuditDataNotify_proto_rawDescOnce sync.Once
+ file_PlayerSignatureAuditDataNotify_proto_rawDescData = file_PlayerSignatureAuditDataNotify_proto_rawDesc
+)
+
+func file_PlayerSignatureAuditDataNotify_proto_rawDescGZIP() []byte {
+ file_PlayerSignatureAuditDataNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerSignatureAuditDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerSignatureAuditDataNotify_proto_rawDescData)
+ })
+ return file_PlayerSignatureAuditDataNotify_proto_rawDescData
+}
+
+var file_PlayerSignatureAuditDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerSignatureAuditDataNotify_proto_goTypes = []interface{}{
+ (*PlayerSignatureAuditDataNotify)(nil), // 0: proto.PlayerSignatureAuditDataNotify
+ (*ContentAuditInfo)(nil), // 1: proto.ContentAuditInfo
+}
+var file_PlayerSignatureAuditDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerSignatureAuditDataNotify.info:type_name -> proto.ContentAuditInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerSignatureAuditDataNotify_proto_init() }
+func file_PlayerSignatureAuditDataNotify_proto_init() {
+ if File_PlayerSignatureAuditDataNotify_proto != nil {
+ return
+ }
+ file_ContentAuditInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerSignatureAuditDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerSignatureAuditDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerSignatureAuditDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerSignatureAuditDataNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerSignatureAuditDataNotify_proto_depIdxs,
+ MessageInfos: file_PlayerSignatureAuditDataNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerSignatureAuditDataNotify_proto = out.File
+ file_PlayerSignatureAuditDataNotify_proto_rawDesc = nil
+ file_PlayerSignatureAuditDataNotify_proto_goTypes = nil
+ file_PlayerSignatureAuditDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerSignatureNotify.pb.go b/protocol/proto/PlayerSignatureNotify.pb.go
new file mode 100644
index 00000000..4adc2f1e
--- /dev/null
+++ b/protocol/proto/PlayerSignatureNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerSignatureNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4014
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerSignatureNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Signature string `protobuf:"bytes,12,opt,name=signature,proto3" json:"signature,omitempty"`
+}
+
+func (x *PlayerSignatureNotify) Reset() {
+ *x = PlayerSignatureNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerSignatureNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerSignatureNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerSignatureNotify) ProtoMessage() {}
+
+func (x *PlayerSignatureNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerSignatureNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerSignatureNotify.ProtoReflect.Descriptor instead.
+func (*PlayerSignatureNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerSignatureNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerSignatureNotify) GetSignature() string {
+ if x != nil {
+ return x.Signature
+ }
+ return ""
+}
+
+var File_PlayerSignatureNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerSignatureNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69,
+ 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1c, 0x0a,
+ 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerSignatureNotify_proto_rawDescOnce sync.Once
+ file_PlayerSignatureNotify_proto_rawDescData = file_PlayerSignatureNotify_proto_rawDesc
+)
+
+func file_PlayerSignatureNotify_proto_rawDescGZIP() []byte {
+ file_PlayerSignatureNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerSignatureNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerSignatureNotify_proto_rawDescData)
+ })
+ return file_PlayerSignatureNotify_proto_rawDescData
+}
+
+var file_PlayerSignatureNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerSignatureNotify_proto_goTypes = []interface{}{
+ (*PlayerSignatureNotify)(nil), // 0: proto.PlayerSignatureNotify
+}
+var file_PlayerSignatureNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerSignatureNotify_proto_init() }
+func file_PlayerSignatureNotify_proto_init() {
+ if File_PlayerSignatureNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerSignatureNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerSignatureNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerSignatureNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerSignatureNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerSignatureNotify_proto_depIdxs,
+ MessageInfos: file_PlayerSignatureNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerSignatureNotify_proto = out.File
+ file_PlayerSignatureNotify_proto_rawDesc = nil
+ file_PlayerSignatureNotify_proto_goTypes = nil
+ file_PlayerSignatureNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerStartMatchReq.pb.go b/protocol/proto/PlayerStartMatchReq.pb.go
new file mode 100644
index 00000000..dc2ed38a
--- /dev/null
+++ b/protocol/proto/PlayerStartMatchReq.pb.go
@@ -0,0 +1,220 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerStartMatchReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4176
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PlayerStartMatchReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchType MatchType `protobuf:"varint,3,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+ MechanicusDifficultLevel uint32 `protobuf:"varint,12,opt,name=mechanicus_difficult_level,json=mechanicusDifficultLevel,proto3" json:"mechanicus_difficult_level,omitempty"`
+ MatchParamList []uint32 `protobuf:"varint,11,rep,packed,name=match_param_list,json=matchParamList,proto3" json:"match_param_list,omitempty"`
+ DungeonId uint32 `protobuf:"varint,1,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,15,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ MatchId uint32 `protobuf:"varint,6,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+}
+
+func (x *PlayerStartMatchReq) Reset() {
+ *x = PlayerStartMatchReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerStartMatchReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerStartMatchReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerStartMatchReq) ProtoMessage() {}
+
+func (x *PlayerStartMatchReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerStartMatchReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerStartMatchReq.ProtoReflect.Descriptor instead.
+func (*PlayerStartMatchReq) Descriptor() ([]byte, []int) {
+ return file_PlayerStartMatchReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerStartMatchReq) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+func (x *PlayerStartMatchReq) GetMechanicusDifficultLevel() uint32 {
+ if x != nil {
+ return x.MechanicusDifficultLevel
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchReq) GetMatchParamList() []uint32 {
+ if x != nil {
+ return x.MatchParamList
+ }
+ return nil
+}
+
+func (x *PlayerStartMatchReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchReq) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchReq) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+var File_PlayerStartMatchReq_proto protoreflect.FileDescriptor
+
+var file_PlayerStartMatchReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x2f, 0x0a, 0x0a, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x1a,
+ 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69,
+ 0x63, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x18, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x44, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49,
+ 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerStartMatchReq_proto_rawDescOnce sync.Once
+ file_PlayerStartMatchReq_proto_rawDescData = file_PlayerStartMatchReq_proto_rawDesc
+)
+
+func file_PlayerStartMatchReq_proto_rawDescGZIP() []byte {
+ file_PlayerStartMatchReq_proto_rawDescOnce.Do(func() {
+ file_PlayerStartMatchReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerStartMatchReq_proto_rawDescData)
+ })
+ return file_PlayerStartMatchReq_proto_rawDescData
+}
+
+var file_PlayerStartMatchReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerStartMatchReq_proto_goTypes = []interface{}{
+ (*PlayerStartMatchReq)(nil), // 0: proto.PlayerStartMatchReq
+ (MatchType)(0), // 1: proto.MatchType
+}
+var file_PlayerStartMatchReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerStartMatchReq.match_type:type_name -> proto.MatchType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerStartMatchReq_proto_init() }
+func file_PlayerStartMatchReq_proto_init() {
+ if File_PlayerStartMatchReq_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerStartMatchReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerStartMatchReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerStartMatchReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerStartMatchReq_proto_goTypes,
+ DependencyIndexes: file_PlayerStartMatchReq_proto_depIdxs,
+ MessageInfos: file_PlayerStartMatchReq_proto_msgTypes,
+ }.Build()
+ File_PlayerStartMatchReq_proto = out.File
+ file_PlayerStartMatchReq_proto_rawDesc = nil
+ file_PlayerStartMatchReq_proto_goTypes = nil
+ file_PlayerStartMatchReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerStartMatchRsp.pb.go b/protocol/proto/PlayerStartMatchRsp.pb.go
new file mode 100644
index 00000000..2754e897
--- /dev/null
+++ b/protocol/proto/PlayerStartMatchRsp.pb.go
@@ -0,0 +1,238 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerStartMatchRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4168
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerStartMatchRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PunishEndTime uint32 `protobuf:"varint,5,opt,name=punish_end_time,json=punishEndTime,proto3" json:"punish_end_time,omitempty"`
+ Param uint32 `protobuf:"varint,4,opt,name=param,proto3" json:"param,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,13,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+ MechanicusDifficultLevel uint32 `protobuf:"varint,2,opt,name=mechanicus_difficult_level,json=mechanicusDifficultLevel,proto3" json:"mechanicus_difficult_level,omitempty"`
+ DungeonId uint32 `protobuf:"varint,3,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ MatchId uint32 `protobuf:"varint,8,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+ MatchType MatchType `protobuf:"varint,7,opt,name=match_type,json=matchType,proto3,enum=proto.MatchType" json:"match_type,omitempty"`
+}
+
+func (x *PlayerStartMatchRsp) Reset() {
+ *x = PlayerStartMatchRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerStartMatchRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerStartMatchRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerStartMatchRsp) ProtoMessage() {}
+
+func (x *PlayerStartMatchRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerStartMatchRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerStartMatchRsp.ProtoReflect.Descriptor instead.
+func (*PlayerStartMatchRsp) Descriptor() ([]byte, []int) {
+ return file_PlayerStartMatchRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerStartMatchRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchRsp) GetPunishEndTime() uint32 {
+ if x != nil {
+ return x.PunishEndTime
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchRsp) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchRsp) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchRsp) GetMechanicusDifficultLevel() uint32 {
+ if x != nil {
+ return x.MechanicusDifficultLevel
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchRsp) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+func (x *PlayerStartMatchRsp) GetMatchType() MatchType {
+ if x != nil {
+ return x.MatchType
+ }
+ return MatchType_MATCH_TYPE_NONE
+}
+
+var File_PlayerStartMatchRsp_proto protoreflect.FileDescriptor
+
+var file_PlayerStartMatchRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x02, 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x5f,
+ 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
+ 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49,
+ 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f,
+ 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75,
+ 0x73, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerStartMatchRsp_proto_rawDescOnce sync.Once
+ file_PlayerStartMatchRsp_proto_rawDescData = file_PlayerStartMatchRsp_proto_rawDesc
+)
+
+func file_PlayerStartMatchRsp_proto_rawDescGZIP() []byte {
+ file_PlayerStartMatchRsp_proto_rawDescOnce.Do(func() {
+ file_PlayerStartMatchRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerStartMatchRsp_proto_rawDescData)
+ })
+ return file_PlayerStartMatchRsp_proto_rawDescData
+}
+
+var file_PlayerStartMatchRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerStartMatchRsp_proto_goTypes = []interface{}{
+ (*PlayerStartMatchRsp)(nil), // 0: proto.PlayerStartMatchRsp
+ (MatchType)(0), // 1: proto.MatchType
+}
+var file_PlayerStartMatchRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerStartMatchRsp.match_type:type_name -> proto.MatchType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerStartMatchRsp_proto_init() }
+func file_PlayerStartMatchRsp_proto_init() {
+ if File_PlayerStartMatchRsp_proto != nil {
+ return
+ }
+ file_MatchType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerStartMatchRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerStartMatchRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerStartMatchRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerStartMatchRsp_proto_goTypes,
+ DependencyIndexes: file_PlayerStartMatchRsp_proto_depIdxs,
+ MessageInfos: file_PlayerStartMatchRsp_proto_msgTypes,
+ }.Build()
+ File_PlayerStartMatchRsp_proto = out.File
+ file_PlayerStartMatchRsp_proto_rawDesc = nil
+ file_PlayerStartMatchRsp_proto_goTypes = nil
+ file_PlayerStartMatchRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerStoreNotify.pb.go b/protocol/proto/PlayerStoreNotify.pb.go
new file mode 100644
index 00000000..06443e84
--- /dev/null
+++ b/protocol/proto/PlayerStoreNotify.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerStoreNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 672
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerStoreNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*Item `protobuf:"bytes,15,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ WeightLimit uint32 `protobuf:"varint,8,opt,name=weight_limit,json=weightLimit,proto3" json:"weight_limit,omitempty"`
+ StoreType StoreType `protobuf:"varint,2,opt,name=store_type,json=storeType,proto3,enum=proto.StoreType" json:"store_type,omitempty"`
+}
+
+func (x *PlayerStoreNotify) Reset() {
+ *x = PlayerStoreNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerStoreNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerStoreNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerStoreNotify) ProtoMessage() {}
+
+func (x *PlayerStoreNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerStoreNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerStoreNotify.ProtoReflect.Descriptor instead.
+func (*PlayerStoreNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerStoreNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerStoreNotify) GetItemList() []*Item {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *PlayerStoreNotify) GetWeightLimit() uint32 {
+ if x != nil {
+ return x.WeightLimit
+ }
+ return 0
+}
+
+func (x *PlayerStoreNotify) GetStoreType() StoreType {
+ if x != nil {
+ return x.StoreType
+ }
+ return StoreType_STORE_TYPE_NONE
+}
+
+var File_PlayerStoreNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerStoreNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x53, 0x74,
+ 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01,
+ 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
+ 0x74, 0x65, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a,
+ 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74,
+ 0x12, 0x2f, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x6f,
+ 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerStoreNotify_proto_rawDescOnce sync.Once
+ file_PlayerStoreNotify_proto_rawDescData = file_PlayerStoreNotify_proto_rawDesc
+)
+
+func file_PlayerStoreNotify_proto_rawDescGZIP() []byte {
+ file_PlayerStoreNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerStoreNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerStoreNotify_proto_rawDescData)
+ })
+ return file_PlayerStoreNotify_proto_rawDescData
+}
+
+var file_PlayerStoreNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerStoreNotify_proto_goTypes = []interface{}{
+ (*PlayerStoreNotify)(nil), // 0: proto.PlayerStoreNotify
+ (*Item)(nil), // 1: proto.Item
+ (StoreType)(0), // 2: proto.StoreType
+}
+var file_PlayerStoreNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerStoreNotify.item_list:type_name -> proto.Item
+ 2, // 1: proto.PlayerStoreNotify.store_type:type_name -> proto.StoreType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_PlayerStoreNotify_proto_init() }
+func file_PlayerStoreNotify_proto_init() {
+ if File_PlayerStoreNotify_proto != nil {
+ return
+ }
+ file_Item_proto_init()
+ file_StoreType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerStoreNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerStoreNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerStoreNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerStoreNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerStoreNotify_proto_depIdxs,
+ MessageInfos: file_PlayerStoreNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerStoreNotify_proto = out.File
+ file_PlayerStoreNotify_proto_rawDesc = nil
+ file_PlayerStoreNotify_proto_goTypes = nil
+ file_PlayerStoreNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerTimeNotify.pb.go b/protocol/proto/PlayerTimeNotify.pb.go
new file mode 100644
index 00000000..dbc1ab0e
--- /dev/null
+++ b/protocol/proto/PlayerTimeNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerTimeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 191
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerTimeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerTime uint64 `protobuf:"varint,5,opt,name=server_time,json=serverTime,proto3" json:"server_time,omitempty"`
+ PlayerTime uint64 `protobuf:"varint,11,opt,name=player_time,json=playerTime,proto3" json:"player_time,omitempty"`
+ IsPaused bool `protobuf:"varint,14,opt,name=is_paused,json=isPaused,proto3" json:"is_paused,omitempty"`
+}
+
+func (x *PlayerTimeNotify) Reset() {
+ *x = PlayerTimeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerTimeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerTimeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerTimeNotify) ProtoMessage() {}
+
+func (x *PlayerTimeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerTimeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerTimeNotify.ProtoReflect.Descriptor instead.
+func (*PlayerTimeNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerTimeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerTimeNotify) GetServerTime() uint64 {
+ if x != nil {
+ return x.ServerTime
+ }
+ return 0
+}
+
+func (x *PlayerTimeNotify) GetPlayerTime() uint64 {
+ if x != nil {
+ return x.PlayerTime
+ }
+ return 0
+}
+
+func (x *PlayerTimeNotify) GetIsPaused() bool {
+ if x != nil {
+ return x.IsPaused
+ }
+ return false
+}
+
+var File_PlayerTimeNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerTimeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x71, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x75, 0x73,
+ 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x61, 0x75, 0x73,
+ 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerTimeNotify_proto_rawDescOnce sync.Once
+ file_PlayerTimeNotify_proto_rawDescData = file_PlayerTimeNotify_proto_rawDesc
+)
+
+func file_PlayerTimeNotify_proto_rawDescGZIP() []byte {
+ file_PlayerTimeNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerTimeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerTimeNotify_proto_rawDescData)
+ })
+ return file_PlayerTimeNotify_proto_rawDescData
+}
+
+var file_PlayerTimeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerTimeNotify_proto_goTypes = []interface{}{
+ (*PlayerTimeNotify)(nil), // 0: proto.PlayerTimeNotify
+}
+var file_PlayerTimeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerTimeNotify_proto_init() }
+func file_PlayerTimeNotify_proto_init() {
+ if File_PlayerTimeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerTimeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerTimeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerTimeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerTimeNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerTimeNotify_proto_depIdxs,
+ MessageInfos: file_PlayerTimeNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerTimeNotify_proto = out.File
+ file_PlayerTimeNotify_proto_rawDesc = nil
+ file_PlayerTimeNotify_proto_goTypes = nil
+ file_PlayerTimeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerUidExtInfo.pb.go b/protocol/proto/PlayerUidExtInfo.pb.go
new file mode 100644
index 00000000..5ad67bb9
--- /dev/null
+++ b/protocol/proto/PlayerUidExtInfo.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerUidExtInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerUidExtInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RegPlatform uint32 `protobuf:"varint,1,opt,name=reg_platform,json=regPlatform,proto3" json:"reg_platform,omitempty"`
+}
+
+func (x *PlayerUidExtInfo) Reset() {
+ *x = PlayerUidExtInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerUidExtInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerUidExtInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerUidExtInfo) ProtoMessage() {}
+
+func (x *PlayerUidExtInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerUidExtInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerUidExtInfo.ProtoReflect.Descriptor instead.
+func (*PlayerUidExtInfo) Descriptor() ([]byte, []int) {
+ return file_PlayerUidExtInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerUidExtInfo) GetRegPlatform() uint32 {
+ if x != nil {
+ return x.RegPlatform
+ }
+ return 0
+}
+
+var File_PlayerUidExtInfo_proto protoreflect.FileDescriptor
+
+var file_PlayerUidExtInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x45, 0x78, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x35, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x45, 0x78, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66,
+ 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x50, 0x6c,
+ 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerUidExtInfo_proto_rawDescOnce sync.Once
+ file_PlayerUidExtInfo_proto_rawDescData = file_PlayerUidExtInfo_proto_rawDesc
+)
+
+func file_PlayerUidExtInfo_proto_rawDescGZIP() []byte {
+ file_PlayerUidExtInfo_proto_rawDescOnce.Do(func() {
+ file_PlayerUidExtInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerUidExtInfo_proto_rawDescData)
+ })
+ return file_PlayerUidExtInfo_proto_rawDescData
+}
+
+var file_PlayerUidExtInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerUidExtInfo_proto_goTypes = []interface{}{
+ (*PlayerUidExtInfo)(nil), // 0: proto.PlayerUidExtInfo
+}
+var file_PlayerUidExtInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerUidExtInfo_proto_init() }
+func file_PlayerUidExtInfo_proto_init() {
+ if File_PlayerUidExtInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerUidExtInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerUidExtInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerUidExtInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerUidExtInfo_proto_goTypes,
+ DependencyIndexes: file_PlayerUidExtInfo_proto_depIdxs,
+ MessageInfos: file_PlayerUidExtInfo_proto_msgTypes,
+ }.Build()
+ File_PlayerUidExtInfo_proto = out.File
+ file_PlayerUidExtInfo_proto_rawDesc = nil
+ file_PlayerUidExtInfo_proto_goTypes = nil
+ file_PlayerUidExtInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerWidgetInfo.pb.go b/protocol/proto/PlayerWidgetInfo.pb.go
new file mode 100644
index 00000000..5eff2478
--- /dev/null
+++ b/protocol/proto/PlayerWidgetInfo.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerWidgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerWidgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,14,opt,name=uid,proto3" json:"uid,omitempty"`
+ SlotList []*WidgetSlotData `protobuf:"bytes,13,rep,name=slot_list,json=slotList,proto3" json:"slot_list,omitempty"`
+}
+
+func (x *PlayerWidgetInfo) Reset() {
+ *x = PlayerWidgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerWidgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerWidgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerWidgetInfo) ProtoMessage() {}
+
+func (x *PlayerWidgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerWidgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerWidgetInfo.ProtoReflect.Descriptor instead.
+func (*PlayerWidgetInfo) Descriptor() ([]byte, []int) {
+ return file_PlayerWidgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerWidgetInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *PlayerWidgetInfo) GetSlotList() []*WidgetSlotData {
+ if x != nil {
+ return x.SlotList
+ }
+ return nil
+}
+
+var File_PlayerWidgetInfo_proto protoreflect.FileDescriptor
+
+var file_PlayerWidgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x73,
+ 0x6c, 0x6f, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x73, 0x6c, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerWidgetInfo_proto_rawDescOnce sync.Once
+ file_PlayerWidgetInfo_proto_rawDescData = file_PlayerWidgetInfo_proto_rawDesc
+)
+
+func file_PlayerWidgetInfo_proto_rawDescGZIP() []byte {
+ file_PlayerWidgetInfo_proto_rawDescOnce.Do(func() {
+ file_PlayerWidgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerWidgetInfo_proto_rawDescData)
+ })
+ return file_PlayerWidgetInfo_proto_rawDescData
+}
+
+var file_PlayerWidgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerWidgetInfo_proto_goTypes = []interface{}{
+ (*PlayerWidgetInfo)(nil), // 0: proto.PlayerWidgetInfo
+ (*WidgetSlotData)(nil), // 1: proto.WidgetSlotData
+}
+var file_PlayerWidgetInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerWidgetInfo.slot_list:type_name -> proto.WidgetSlotData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerWidgetInfo_proto_init() }
+func file_PlayerWidgetInfo_proto_init() {
+ if File_PlayerWidgetInfo_proto != nil {
+ return
+ }
+ file_WidgetSlotData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerWidgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerWidgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerWidgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerWidgetInfo_proto_goTypes,
+ DependencyIndexes: file_PlayerWidgetInfo_proto_depIdxs,
+ MessageInfos: file_PlayerWidgetInfo_proto_msgTypes,
+ }.Build()
+ File_PlayerWidgetInfo_proto = out.File
+ file_PlayerWidgetInfo_proto_rawDesc = nil
+ file_PlayerWidgetInfo_proto_goTypes = nil
+ file_PlayerWidgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerWorldLocationInfo.pb.go b/protocol/proto/PlayerWorldLocationInfo.pb.go
new file mode 100644
index 00000000..76e794fc
--- /dev/null
+++ b/protocol/proto/PlayerWorldLocationInfo.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerWorldLocationInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerWorldLocationInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,1,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ PlayerLoc *PlayerLocationInfo `protobuf:"bytes,12,opt,name=player_loc,json=playerLoc,proto3" json:"player_loc,omitempty"`
+}
+
+func (x *PlayerWorldLocationInfo) Reset() {
+ *x = PlayerWorldLocationInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerWorldLocationInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerWorldLocationInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerWorldLocationInfo) ProtoMessage() {}
+
+func (x *PlayerWorldLocationInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerWorldLocationInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerWorldLocationInfo.ProtoReflect.Descriptor instead.
+func (*PlayerWorldLocationInfo) Descriptor() ([]byte, []int) {
+ return file_PlayerWorldLocationInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerWorldLocationInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *PlayerWorldLocationInfo) GetPlayerLoc() *PlayerLocationInfo {
+ if x != nil {
+ return x.PlayerLoc
+ }
+ return nil
+}
+
+var File_PlayerWorldLocationInfo_proto protoreflect.FileDescriptor
+
+var file_PlayerWorldLocationInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6e, 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerWorldLocationInfo_proto_rawDescOnce sync.Once
+ file_PlayerWorldLocationInfo_proto_rawDescData = file_PlayerWorldLocationInfo_proto_rawDesc
+)
+
+func file_PlayerWorldLocationInfo_proto_rawDescGZIP() []byte {
+ file_PlayerWorldLocationInfo_proto_rawDescOnce.Do(func() {
+ file_PlayerWorldLocationInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerWorldLocationInfo_proto_rawDescData)
+ })
+ return file_PlayerWorldLocationInfo_proto_rawDescData
+}
+
+var file_PlayerWorldLocationInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerWorldLocationInfo_proto_goTypes = []interface{}{
+ (*PlayerWorldLocationInfo)(nil), // 0: proto.PlayerWorldLocationInfo
+ (*PlayerLocationInfo)(nil), // 1: proto.PlayerLocationInfo
+}
+var file_PlayerWorldLocationInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerWorldLocationInfo.player_loc:type_name -> proto.PlayerLocationInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerWorldLocationInfo_proto_init() }
+func file_PlayerWorldLocationInfo_proto_init() {
+ if File_PlayerWorldLocationInfo_proto != nil {
+ return
+ }
+ file_PlayerLocationInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerWorldLocationInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerWorldLocationInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerWorldLocationInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerWorldLocationInfo_proto_goTypes,
+ DependencyIndexes: file_PlayerWorldLocationInfo_proto_depIdxs,
+ MessageInfos: file_PlayerWorldLocationInfo_proto_msgTypes,
+ }.Build()
+ File_PlayerWorldLocationInfo_proto = out.File
+ file_PlayerWorldLocationInfo_proto_rawDesc = nil
+ file_PlayerWorldLocationInfo_proto_goTypes = nil
+ file_PlayerWorldLocationInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerWorldSceneInfo.pb.go b/protocol/proto/PlayerWorldSceneInfo.pb.go
new file mode 100644
index 00000000..a8fd63d9
--- /dev/null
+++ b/protocol/proto/PlayerWorldSceneInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerWorldSceneInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PlayerWorldSceneInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,11,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ SceneTagIdList []uint32 `protobuf:"varint,8,rep,packed,name=scene_tag_id_list,json=sceneTagIdList,proto3" json:"scene_tag_id_list,omitempty"`
+ IsLocked bool `protobuf:"varint,12,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
+}
+
+func (x *PlayerWorldSceneInfo) Reset() {
+ *x = PlayerWorldSceneInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerWorldSceneInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerWorldSceneInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerWorldSceneInfo) ProtoMessage() {}
+
+func (x *PlayerWorldSceneInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerWorldSceneInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerWorldSceneInfo.ProtoReflect.Descriptor instead.
+func (*PlayerWorldSceneInfo) Descriptor() ([]byte, []int) {
+ return file_PlayerWorldSceneInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerWorldSceneInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *PlayerWorldSceneInfo) GetSceneTagIdList() []uint32 {
+ if x != nil {
+ return x.SceneTagIdList
+ }
+ return nil
+}
+
+func (x *PlayerWorldSceneInfo) GetIsLocked() bool {
+ if x != nil {
+ return x.IsLocked
+ }
+ return false
+}
+
+var File_PlayerWorldSceneInfo_proto protoreflect.FileDescriptor
+
+var file_PlayerWorldSceneInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72,
+ 0x6c, 0x64, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x11, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0e, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x61, 0x67, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_PlayerWorldSceneInfo_proto_rawDescOnce sync.Once
+ file_PlayerWorldSceneInfo_proto_rawDescData = file_PlayerWorldSceneInfo_proto_rawDesc
+)
+
+func file_PlayerWorldSceneInfo_proto_rawDescGZIP() []byte {
+ file_PlayerWorldSceneInfo_proto_rawDescOnce.Do(func() {
+ file_PlayerWorldSceneInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerWorldSceneInfo_proto_rawDescData)
+ })
+ return file_PlayerWorldSceneInfo_proto_rawDescData
+}
+
+var file_PlayerWorldSceneInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerWorldSceneInfo_proto_goTypes = []interface{}{
+ (*PlayerWorldSceneInfo)(nil), // 0: proto.PlayerWorldSceneInfo
+}
+var file_PlayerWorldSceneInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PlayerWorldSceneInfo_proto_init() }
+func file_PlayerWorldSceneInfo_proto_init() {
+ if File_PlayerWorldSceneInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerWorldSceneInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerWorldSceneInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerWorldSceneInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerWorldSceneInfo_proto_goTypes,
+ DependencyIndexes: file_PlayerWorldSceneInfo_proto_depIdxs,
+ MessageInfos: file_PlayerWorldSceneInfo_proto_msgTypes,
+ }.Build()
+ File_PlayerWorldSceneInfo_proto = out.File
+ file_PlayerWorldSceneInfo_proto_rawDesc = nil
+ file_PlayerWorldSceneInfo_proto_goTypes = nil
+ file_PlayerWorldSceneInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PlayerWorldSceneInfoListNotify.pb.go b/protocol/proto/PlayerWorldSceneInfoListNotify.pb.go
new file mode 100644
index 00000000..5f2a8c34
--- /dev/null
+++ b/protocol/proto/PlayerWorldSceneInfoListNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PlayerWorldSceneInfoListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3129
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PlayerWorldSceneInfoListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InfoList []*PlayerWorldSceneInfo `protobuf:"bytes,5,rep,name=info_list,json=infoList,proto3" json:"info_list,omitempty"`
+}
+
+func (x *PlayerWorldSceneInfoListNotify) Reset() {
+ *x = PlayerWorldSceneInfoListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PlayerWorldSceneInfoListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PlayerWorldSceneInfoListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PlayerWorldSceneInfoListNotify) ProtoMessage() {}
+
+func (x *PlayerWorldSceneInfoListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PlayerWorldSceneInfoListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PlayerWorldSceneInfoListNotify.ProtoReflect.Descriptor instead.
+func (*PlayerWorldSceneInfoListNotify) Descriptor() ([]byte, []int) {
+ return file_PlayerWorldSceneInfoListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PlayerWorldSceneInfoListNotify) GetInfoList() []*PlayerWorldSceneInfo {
+ if x != nil {
+ return x.InfoList
+ }
+ return nil
+}
+
+var File_PlayerWorldSceneInfoListNotify_proto protoreflect.FileDescriptor
+
+var file_PlayerWorldSceneInfoListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x1e, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72,
+ 0x6c, 0x64, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x69, 0x6e, 0x66,
+ 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PlayerWorldSceneInfoListNotify_proto_rawDescOnce sync.Once
+ file_PlayerWorldSceneInfoListNotify_proto_rawDescData = file_PlayerWorldSceneInfoListNotify_proto_rawDesc
+)
+
+func file_PlayerWorldSceneInfoListNotify_proto_rawDescGZIP() []byte {
+ file_PlayerWorldSceneInfoListNotify_proto_rawDescOnce.Do(func() {
+ file_PlayerWorldSceneInfoListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PlayerWorldSceneInfoListNotify_proto_rawDescData)
+ })
+ return file_PlayerWorldSceneInfoListNotify_proto_rawDescData
+}
+
+var file_PlayerWorldSceneInfoListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PlayerWorldSceneInfoListNotify_proto_goTypes = []interface{}{
+ (*PlayerWorldSceneInfoListNotify)(nil), // 0: proto.PlayerWorldSceneInfoListNotify
+ (*PlayerWorldSceneInfo)(nil), // 1: proto.PlayerWorldSceneInfo
+}
+var file_PlayerWorldSceneInfoListNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PlayerWorldSceneInfoListNotify.info_list:type_name -> proto.PlayerWorldSceneInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PlayerWorldSceneInfoListNotify_proto_init() }
+func file_PlayerWorldSceneInfoListNotify_proto_init() {
+ if File_PlayerWorldSceneInfoListNotify_proto != nil {
+ return
+ }
+ file_PlayerWorldSceneInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PlayerWorldSceneInfoListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PlayerWorldSceneInfoListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PlayerWorldSceneInfoListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PlayerWorldSceneInfoListNotify_proto_goTypes,
+ DependencyIndexes: file_PlayerWorldSceneInfoListNotify_proto_depIdxs,
+ MessageInfos: file_PlayerWorldSceneInfoListNotify_proto_msgTypes,
+ }.Build()
+ File_PlayerWorldSceneInfoListNotify_proto = out.File
+ file_PlayerWorldSceneInfoListNotify_proto_rawDesc = nil
+ file_PlayerWorldSceneInfoListNotify_proto_goTypes = nil
+ file_PlayerWorldSceneInfoListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PolygonRegionSize.pb.go b/protocol/proto/PolygonRegionSize.pb.go
new file mode 100644
index 00000000..e1ededec
--- /dev/null
+++ b/protocol/proto/PolygonRegionSize.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PolygonRegionSize.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PolygonRegionSize struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointList []*VectorPlane `protobuf:"bytes,5,rep,name=point_list,json=pointList,proto3" json:"point_list,omitempty"`
+ Height float32 `protobuf:"fixed32,9,opt,name=height,proto3" json:"height,omitempty"`
+}
+
+func (x *PolygonRegionSize) Reset() {
+ *x = PolygonRegionSize{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PolygonRegionSize_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PolygonRegionSize) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PolygonRegionSize) ProtoMessage() {}
+
+func (x *PolygonRegionSize) ProtoReflect() protoreflect.Message {
+ mi := &file_PolygonRegionSize_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PolygonRegionSize.ProtoReflect.Descriptor instead.
+func (*PolygonRegionSize) Descriptor() ([]byte, []int) {
+ return file_PolygonRegionSize_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PolygonRegionSize) GetPointList() []*VectorPlane {
+ if x != nil {
+ return x.PointList
+ }
+ return nil
+}
+
+func (x *PolygonRegionSize) GetHeight() float32 {
+ if x != nil {
+ return x.Height
+ }
+ return 0
+}
+
+var File_PolygonRegionSize_proto protoreflect.FileDescriptor
+
+var file_PolygonRegionSize_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53,
+ 0x69, 0x7a, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x11, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x11, 0x50, 0x6f, 0x6c, 0x79, 0x67, 0x6f, 0x6e, 0x52, 0x65,
+ 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x70, 0x6f, 0x69, 0x6e,
+ 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x65,
+ 0x52, 0x09, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68,
+ 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x68, 0x65, 0x69,
+ 0x67, 0x68, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PolygonRegionSize_proto_rawDescOnce sync.Once
+ file_PolygonRegionSize_proto_rawDescData = file_PolygonRegionSize_proto_rawDesc
+)
+
+func file_PolygonRegionSize_proto_rawDescGZIP() []byte {
+ file_PolygonRegionSize_proto_rawDescOnce.Do(func() {
+ file_PolygonRegionSize_proto_rawDescData = protoimpl.X.CompressGZIP(file_PolygonRegionSize_proto_rawDescData)
+ })
+ return file_PolygonRegionSize_proto_rawDescData
+}
+
+var file_PolygonRegionSize_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PolygonRegionSize_proto_goTypes = []interface{}{
+ (*PolygonRegionSize)(nil), // 0: proto.PolygonRegionSize
+ (*VectorPlane)(nil), // 1: proto.VectorPlane
+}
+var file_PolygonRegionSize_proto_depIdxs = []int32{
+ 1, // 0: proto.PolygonRegionSize.point_list:type_name -> proto.VectorPlane
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PolygonRegionSize_proto_init() }
+func file_PolygonRegionSize_proto_init() {
+ if File_PolygonRegionSize_proto != nil {
+ return
+ }
+ file_VectorPlane_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PolygonRegionSize_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PolygonRegionSize); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PolygonRegionSize_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PolygonRegionSize_proto_goTypes,
+ DependencyIndexes: file_PolygonRegionSize_proto_depIdxs,
+ MessageInfos: file_PolygonRegionSize_proto_msgTypes,
+ }.Build()
+ File_PolygonRegionSize_proto = out.File
+ file_PolygonRegionSize_proto_rawDesc = nil
+ file_PolygonRegionSize_proto_goTypes = nil
+ file_PolygonRegionSize_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PostEnterSceneReq.pb.go b/protocol/proto/PostEnterSceneReq.pb.go
new file mode 100644
index 00000000..8d3596bd
--- /dev/null
+++ b/protocol/proto/PostEnterSceneReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PostEnterSceneReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3312
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PostEnterSceneReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterSceneToken uint32 `protobuf:"varint,12,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+}
+
+func (x *PostEnterSceneReq) Reset() {
+ *x = PostEnterSceneReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PostEnterSceneReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PostEnterSceneReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PostEnterSceneReq) ProtoMessage() {}
+
+func (x *PostEnterSceneReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PostEnterSceneReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PostEnterSceneReq.ProtoReflect.Descriptor instead.
+func (*PostEnterSceneReq) Descriptor() ([]byte, []int) {
+ return file_PostEnterSceneReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PostEnterSceneReq) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+var File_PostEnterSceneReq_proto protoreflect.FileDescriptor
+
+var file_PostEnterSceneReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x3f, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PostEnterSceneReq_proto_rawDescOnce sync.Once
+ file_PostEnterSceneReq_proto_rawDescData = file_PostEnterSceneReq_proto_rawDesc
+)
+
+func file_PostEnterSceneReq_proto_rawDescGZIP() []byte {
+ file_PostEnterSceneReq_proto_rawDescOnce.Do(func() {
+ file_PostEnterSceneReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PostEnterSceneReq_proto_rawDescData)
+ })
+ return file_PostEnterSceneReq_proto_rawDescData
+}
+
+var file_PostEnterSceneReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PostEnterSceneReq_proto_goTypes = []interface{}{
+ (*PostEnterSceneReq)(nil), // 0: proto.PostEnterSceneReq
+}
+var file_PostEnterSceneReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PostEnterSceneReq_proto_init() }
+func file_PostEnterSceneReq_proto_init() {
+ if File_PostEnterSceneReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PostEnterSceneReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PostEnterSceneReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PostEnterSceneReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PostEnterSceneReq_proto_goTypes,
+ DependencyIndexes: file_PostEnterSceneReq_proto_depIdxs,
+ MessageInfos: file_PostEnterSceneReq_proto_msgTypes,
+ }.Build()
+ File_PostEnterSceneReq_proto = out.File
+ file_PostEnterSceneReq_proto_rawDesc = nil
+ file_PostEnterSceneReq_proto_goTypes = nil
+ file_PostEnterSceneReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PostEnterSceneRsp.pb.go b/protocol/proto/PostEnterSceneRsp.pb.go
new file mode 100644
index 00000000..fbbed621
--- /dev/null
+++ b/protocol/proto/PostEnterSceneRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PostEnterSceneRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3184
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PostEnterSceneRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EnterSceneToken uint32 `protobuf:"varint,12,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+}
+
+func (x *PostEnterSceneRsp) Reset() {
+ *x = PostEnterSceneRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PostEnterSceneRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PostEnterSceneRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PostEnterSceneRsp) ProtoMessage() {}
+
+func (x *PostEnterSceneRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PostEnterSceneRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PostEnterSceneRsp.ProtoReflect.Descriptor instead.
+func (*PostEnterSceneRsp) Descriptor() ([]byte, []int) {
+ return file_PostEnterSceneRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PostEnterSceneRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PostEnterSceneRsp) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+var File_PostEnterSceneRsp_proto protoreflect.FileDescriptor
+
+var file_PostEnterSceneRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x59, 0x0a, 0x11, 0x50, 0x6f, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PostEnterSceneRsp_proto_rawDescOnce sync.Once
+ file_PostEnterSceneRsp_proto_rawDescData = file_PostEnterSceneRsp_proto_rawDesc
+)
+
+func file_PostEnterSceneRsp_proto_rawDescGZIP() []byte {
+ file_PostEnterSceneRsp_proto_rawDescOnce.Do(func() {
+ file_PostEnterSceneRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PostEnterSceneRsp_proto_rawDescData)
+ })
+ return file_PostEnterSceneRsp_proto_rawDescData
+}
+
+var file_PostEnterSceneRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PostEnterSceneRsp_proto_goTypes = []interface{}{
+ (*PostEnterSceneRsp)(nil), // 0: proto.PostEnterSceneRsp
+}
+var file_PostEnterSceneRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PostEnterSceneRsp_proto_init() }
+func file_PostEnterSceneRsp_proto_init() {
+ if File_PostEnterSceneRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PostEnterSceneRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PostEnterSceneRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PostEnterSceneRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PostEnterSceneRsp_proto_goTypes,
+ DependencyIndexes: file_PostEnterSceneRsp_proto_depIdxs,
+ MessageInfos: file_PostEnterSceneRsp_proto_msgTypes,
+ }.Build()
+ File_PostEnterSceneRsp_proto = out.File
+ file_PostEnterSceneRsp_proto_rawDesc = nil
+ file_PostEnterSceneRsp_proto_goTypes = nil
+ file_PostEnterSceneRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionActivityDetailInfo.pb.go b/protocol/proto/PotionActivityDetailInfo.pb.go
new file mode 100644
index 00000000..d3a457c9
--- /dev/null
+++ b/protocol/proto/PotionActivityDetailInfo.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PotionActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageList []*PotionStageData `protobuf:"bytes,10,rep,name=stage_list,json=stageList,proto3" json:"stage_list,omitempty"`
+}
+
+func (x *PotionActivityDetailInfo) Reset() {
+ *x = PotionActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionActivityDetailInfo) ProtoMessage() {}
+
+func (x *PotionActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*PotionActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_PotionActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionActivityDetailInfo) GetStageList() []*PotionStageData {
+ if x != nil {
+ return x.StageList
+ }
+ return nil
+}
+
+var File_PotionActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_PotionActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51,
+ 0x0a, 0x18, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x0a, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_PotionActivityDetailInfo_proto_rawDescData = file_PotionActivityDetailInfo_proto_rawDesc
+)
+
+func file_PotionActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_PotionActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_PotionActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionActivityDetailInfo_proto_rawDescData)
+ })
+ return file_PotionActivityDetailInfo_proto_rawDescData
+}
+
+var file_PotionActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionActivityDetailInfo_proto_goTypes = []interface{}{
+ (*PotionActivityDetailInfo)(nil), // 0: proto.PotionActivityDetailInfo
+ (*PotionStageData)(nil), // 1: proto.PotionStageData
+}
+var file_PotionActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.PotionActivityDetailInfo.stage_list:type_name -> proto.PotionStageData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PotionActivityDetailInfo_proto_init() }
+func file_PotionActivityDetailInfo_proto_init() {
+ if File_PotionActivityDetailInfo_proto != nil {
+ return
+ }
+ file_PotionStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PotionActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_PotionActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_PotionActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_PotionActivityDetailInfo_proto = out.File
+ file_PotionActivityDetailInfo_proto_rawDesc = nil
+ file_PotionActivityDetailInfo_proto_goTypes = nil
+ file_PotionActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionAvatarInfo.pb.go b/protocol/proto/PotionAvatarInfo.pb.go
new file mode 100644
index 00000000..486b0e34
--- /dev/null
+++ b/protocol/proto/PotionAvatarInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PotionAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsTrial bool `protobuf:"varint,6,opt,name=is_trial,json=isTrial,proto3" json:"is_trial,omitempty"`
+ AvatarId uint64 `protobuf:"varint,8,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *PotionAvatarInfo) Reset() {
+ *x = PotionAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionAvatarInfo) ProtoMessage() {}
+
+func (x *PotionAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionAvatarInfo.ProtoReflect.Descriptor instead.
+func (*PotionAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_PotionAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionAvatarInfo) GetIsTrial() bool {
+ if x != nil {
+ return x.IsTrial
+ }
+ return false
+}
+
+func (x *PotionAvatarInfo) GetAvatarId() uint64 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_PotionAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_PotionAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x4a, 0x0a, 0x10, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1b,
+ 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionAvatarInfo_proto_rawDescOnce sync.Once
+ file_PotionAvatarInfo_proto_rawDescData = file_PotionAvatarInfo_proto_rawDesc
+)
+
+func file_PotionAvatarInfo_proto_rawDescGZIP() []byte {
+ file_PotionAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_PotionAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionAvatarInfo_proto_rawDescData)
+ })
+ return file_PotionAvatarInfo_proto_rawDescData
+}
+
+var file_PotionAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionAvatarInfo_proto_goTypes = []interface{}{
+ (*PotionAvatarInfo)(nil), // 0: proto.PotionAvatarInfo
+}
+var file_PotionAvatarInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionAvatarInfo_proto_init() }
+func file_PotionAvatarInfo_proto_init() {
+ if File_PotionAvatarInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_PotionAvatarInfo_proto_depIdxs,
+ MessageInfos: file_PotionAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_PotionAvatarInfo_proto = out.File
+ file_PotionAvatarInfo_proto_rawDesc = nil
+ file_PotionAvatarInfo_proto_goTypes = nil
+ file_PotionAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionDungeonAvatar.pb.go b/protocol/proto/PotionDungeonAvatar.pb.go
new file mode 100644
index 00000000..c856cd8b
--- /dev/null
+++ b/protocol/proto/PotionDungeonAvatar.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionDungeonAvatar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PotionDungeonAvatar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,8,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ IsTrial bool `protobuf:"varint,2,opt,name=is_trial,json=isTrial,proto3" json:"is_trial,omitempty"`
+}
+
+func (x *PotionDungeonAvatar) Reset() {
+ *x = PotionDungeonAvatar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionDungeonAvatar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionDungeonAvatar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionDungeonAvatar) ProtoMessage() {}
+
+func (x *PotionDungeonAvatar) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionDungeonAvatar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionDungeonAvatar.ProtoReflect.Descriptor instead.
+func (*PotionDungeonAvatar) Descriptor() ([]byte, []int) {
+ return file_PotionDungeonAvatar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionDungeonAvatar) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *PotionDungeonAvatar) GetIsTrial() bool {
+ if x != nil {
+ return x.IsTrial
+ }
+ return false
+}
+
+var File_PotionDungeonAvatar_proto protoreflect.FileDescriptor
+
+var file_PotionDungeonAvatar_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x13, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,
+ 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
+ 0x54, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionDungeonAvatar_proto_rawDescOnce sync.Once
+ file_PotionDungeonAvatar_proto_rawDescData = file_PotionDungeonAvatar_proto_rawDesc
+)
+
+func file_PotionDungeonAvatar_proto_rawDescGZIP() []byte {
+ file_PotionDungeonAvatar_proto_rawDescOnce.Do(func() {
+ file_PotionDungeonAvatar_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionDungeonAvatar_proto_rawDescData)
+ })
+ return file_PotionDungeonAvatar_proto_rawDescData
+}
+
+var file_PotionDungeonAvatar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionDungeonAvatar_proto_goTypes = []interface{}{
+ (*PotionDungeonAvatar)(nil), // 0: proto.PotionDungeonAvatar
+}
+var file_PotionDungeonAvatar_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionDungeonAvatar_proto_init() }
+func file_PotionDungeonAvatar_proto_init() {
+ if File_PotionDungeonAvatar_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionDungeonAvatar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionDungeonAvatar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionDungeonAvatar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionDungeonAvatar_proto_goTypes,
+ DependencyIndexes: file_PotionDungeonAvatar_proto_depIdxs,
+ MessageInfos: file_PotionDungeonAvatar_proto_msgTypes,
+ }.Build()
+ File_PotionDungeonAvatar_proto = out.File
+ file_PotionDungeonAvatar_proto_rawDesc = nil
+ file_PotionDungeonAvatar_proto_goTypes = nil
+ file_PotionDungeonAvatar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionDungeonResultInfo.pb.go b/protocol/proto/PotionDungeonResultInfo.pb.go
new file mode 100644
index 00000000..63add571
--- /dev/null
+++ b/protocol/proto/PotionDungeonResultInfo.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionDungeonResultInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PotionDungeonResultInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinalScore uint32 `protobuf:"varint,8,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+ LeftTime uint32 `protobuf:"varint,9,opt,name=left_time,json=leftTime,proto3" json:"left_time,omitempty"`
+ DifficultyLevel uint32 `protobuf:"varint,14,opt,name=difficulty_level,json=difficultyLevel,proto3" json:"difficulty_level,omitempty"`
+ ModeId uint32 `protobuf:"varint,11,opt,name=mode_id,json=modeId,proto3" json:"mode_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,4,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ StageId uint32 `protobuf:"varint,2,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *PotionDungeonResultInfo) Reset() {
+ *x = PotionDungeonResultInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionDungeonResultInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionDungeonResultInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionDungeonResultInfo) ProtoMessage() {}
+
+func (x *PotionDungeonResultInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionDungeonResultInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionDungeonResultInfo.ProtoReflect.Descriptor instead.
+func (*PotionDungeonResultInfo) Descriptor() ([]byte, []int) {
+ return file_PotionDungeonResultInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionDungeonResultInfo) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+func (x *PotionDungeonResultInfo) GetLeftTime() uint32 {
+ if x != nil {
+ return x.LeftTime
+ }
+ return 0
+}
+
+func (x *PotionDungeonResultInfo) GetDifficultyLevel() uint32 {
+ if x != nil {
+ return x.DifficultyLevel
+ }
+ return 0
+}
+
+func (x *PotionDungeonResultInfo) GetModeId() uint32 {
+ if x != nil {
+ return x.ModeId
+ }
+ return 0
+}
+
+func (x *PotionDungeonResultInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *PotionDungeonResultInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_PotionDungeonResultInfo_proto protoreflect.FileDescriptor
+
+var file_PotionDungeonResultInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x17, 0x50, 0x6f, 0x74, 0x69, 0x6f,
+ 0x6e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d,
+ 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x6f,
+ 0x64, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionDungeonResultInfo_proto_rawDescOnce sync.Once
+ file_PotionDungeonResultInfo_proto_rawDescData = file_PotionDungeonResultInfo_proto_rawDesc
+)
+
+func file_PotionDungeonResultInfo_proto_rawDescGZIP() []byte {
+ file_PotionDungeonResultInfo_proto_rawDescOnce.Do(func() {
+ file_PotionDungeonResultInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionDungeonResultInfo_proto_rawDescData)
+ })
+ return file_PotionDungeonResultInfo_proto_rawDescData
+}
+
+var file_PotionDungeonResultInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionDungeonResultInfo_proto_goTypes = []interface{}{
+ (*PotionDungeonResultInfo)(nil), // 0: proto.PotionDungeonResultInfo
+}
+var file_PotionDungeonResultInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionDungeonResultInfo_proto_init() }
+func file_PotionDungeonResultInfo_proto_init() {
+ if File_PotionDungeonResultInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionDungeonResultInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionDungeonResultInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionDungeonResultInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionDungeonResultInfo_proto_goTypes,
+ DependencyIndexes: file_PotionDungeonResultInfo_proto_depIdxs,
+ MessageInfos: file_PotionDungeonResultInfo_proto_msgTypes,
+ }.Build()
+ File_PotionDungeonResultInfo_proto = out.File
+ file_PotionDungeonResultInfo_proto_rawDesc = nil
+ file_PotionDungeonResultInfo_proto_goTypes = nil
+ file_PotionDungeonResultInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionEnterDungeonNotify.pb.go b/protocol/proto/PotionEnterDungeonNotify.pb.go
new file mode 100644
index 00000000..765a2d6d
--- /dev/null
+++ b/protocol/proto/PotionEnterDungeonNotify.pb.go
@@ -0,0 +1,210 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionEnterDungeonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8531
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PotionEnterDungeonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,13,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ DifficultyLevel uint32 `protobuf:"varint,7,opt,name=difficulty_level,json=difficultyLevel,proto3" json:"difficulty_level,omitempty"`
+ DungeonAvatarList []*PotionDungeonAvatar `protobuf:"bytes,6,rep,name=dungeon_avatar_list,json=dungeonAvatarList,proto3" json:"dungeon_avatar_list,omitempty"`
+ LevelId uint32 `protobuf:"varint,8,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ ModeId uint32 `protobuf:"varint,5,opt,name=mode_id,json=modeId,proto3" json:"mode_id,omitempty"`
+}
+
+func (x *PotionEnterDungeonNotify) Reset() {
+ *x = PotionEnterDungeonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionEnterDungeonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionEnterDungeonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionEnterDungeonNotify) ProtoMessage() {}
+
+func (x *PotionEnterDungeonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionEnterDungeonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionEnterDungeonNotify.ProtoReflect.Descriptor instead.
+func (*PotionEnterDungeonNotify) Descriptor() ([]byte, []int) {
+ return file_PotionEnterDungeonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionEnterDungeonNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *PotionEnterDungeonNotify) GetDifficultyLevel() uint32 {
+ if x != nil {
+ return x.DifficultyLevel
+ }
+ return 0
+}
+
+func (x *PotionEnterDungeonNotify) GetDungeonAvatarList() []*PotionDungeonAvatar {
+ if x != nil {
+ return x.DungeonAvatarList
+ }
+ return nil
+}
+
+func (x *PotionEnterDungeonNotify) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *PotionEnterDungeonNotify) GetModeId() uint32 {
+ if x != nil {
+ return x.ModeId
+ }
+ return 0
+}
+
+var File_PotionEnterDungeonNotify_proto protoreflect.FileDescriptor
+
+var file_PotionEnterDungeonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xe0, 0x01, 0x0a, 0x18, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x4a, 0x0a, 0x13, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x74, 0x69, 0x6f,
+ 0x6e, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x11,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
+ 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d,
+ 0x6f, 0x64, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionEnterDungeonNotify_proto_rawDescOnce sync.Once
+ file_PotionEnterDungeonNotify_proto_rawDescData = file_PotionEnterDungeonNotify_proto_rawDesc
+)
+
+func file_PotionEnterDungeonNotify_proto_rawDescGZIP() []byte {
+ file_PotionEnterDungeonNotify_proto_rawDescOnce.Do(func() {
+ file_PotionEnterDungeonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionEnterDungeonNotify_proto_rawDescData)
+ })
+ return file_PotionEnterDungeonNotify_proto_rawDescData
+}
+
+var file_PotionEnterDungeonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionEnterDungeonNotify_proto_goTypes = []interface{}{
+ (*PotionEnterDungeonNotify)(nil), // 0: proto.PotionEnterDungeonNotify
+ (*PotionDungeonAvatar)(nil), // 1: proto.PotionDungeonAvatar
+}
+var file_PotionEnterDungeonNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PotionEnterDungeonNotify.dungeon_avatar_list:type_name -> proto.PotionDungeonAvatar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PotionEnterDungeonNotify_proto_init() }
+func file_PotionEnterDungeonNotify_proto_init() {
+ if File_PotionEnterDungeonNotify_proto != nil {
+ return
+ }
+ file_PotionDungeonAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PotionEnterDungeonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionEnterDungeonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionEnterDungeonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionEnterDungeonNotify_proto_goTypes,
+ DependencyIndexes: file_PotionEnterDungeonNotify_proto_depIdxs,
+ MessageInfos: file_PotionEnterDungeonNotify_proto_msgTypes,
+ }.Build()
+ File_PotionEnterDungeonNotify_proto = out.File
+ file_PotionEnterDungeonNotify_proto_rawDesc = nil
+ file_PotionEnterDungeonNotify_proto_goTypes = nil
+ file_PotionEnterDungeonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionEnterDungeonReq.pb.go b/protocol/proto/PotionEnterDungeonReq.pb.go
new file mode 100644
index 00000000..d10394a7
--- /dev/null
+++ b/protocol/proto/PotionEnterDungeonReq.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionEnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8261
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PotionEnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuffIdList []uint32 `protobuf:"varint,15,rep,packed,name=buff_id_list,json=buffIdList,proto3" json:"buff_id_list,omitempty"`
+ LevelId uint32 `protobuf:"varint,5,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ AvatarInfoList []*PotionAvatarInfo `protobuf:"bytes,14,rep,name=avatar_info_list,json=avatarInfoList,proto3" json:"avatar_info_list,omitempty"`
+ ModeId uint32 `protobuf:"varint,2,opt,name=mode_id,json=modeId,proto3" json:"mode_id,omitempty"`
+ StageId uint32 `protobuf:"varint,13,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *PotionEnterDungeonReq) Reset() {
+ *x = PotionEnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionEnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionEnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionEnterDungeonReq) ProtoMessage() {}
+
+func (x *PotionEnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionEnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionEnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*PotionEnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_PotionEnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionEnterDungeonReq) GetBuffIdList() []uint32 {
+ if x != nil {
+ return x.BuffIdList
+ }
+ return nil
+}
+
+func (x *PotionEnterDungeonReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *PotionEnterDungeonReq) GetAvatarInfoList() []*PotionAvatarInfo {
+ if x != nil {
+ return x.AvatarInfoList
+ }
+ return nil
+}
+
+func (x *PotionEnterDungeonReq) GetModeId() uint32 {
+ if x != nil {
+ return x.ModeId
+ }
+ return 0
+}
+
+func (x *PotionEnterDungeonReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_PotionEnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_PotionEnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x01, 0x0a,
+ 0x15, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x75,
+ 0x66, 0x66, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionEnterDungeonReq_proto_rawDescOnce sync.Once
+ file_PotionEnterDungeonReq_proto_rawDescData = file_PotionEnterDungeonReq_proto_rawDesc
+)
+
+func file_PotionEnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_PotionEnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_PotionEnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionEnterDungeonReq_proto_rawDescData)
+ })
+ return file_PotionEnterDungeonReq_proto_rawDescData
+}
+
+var file_PotionEnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionEnterDungeonReq_proto_goTypes = []interface{}{
+ (*PotionEnterDungeonReq)(nil), // 0: proto.PotionEnterDungeonReq
+ (*PotionAvatarInfo)(nil), // 1: proto.PotionAvatarInfo
+}
+var file_PotionEnterDungeonReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PotionEnterDungeonReq.avatar_info_list:type_name -> proto.PotionAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PotionEnterDungeonReq_proto_init() }
+func file_PotionEnterDungeonReq_proto_init() {
+ if File_PotionEnterDungeonReq_proto != nil {
+ return
+ }
+ file_PotionAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PotionEnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionEnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionEnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionEnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_PotionEnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_PotionEnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_PotionEnterDungeonReq_proto = out.File
+ file_PotionEnterDungeonReq_proto_rawDesc = nil
+ file_PotionEnterDungeonReq_proto_goTypes = nil
+ file_PotionEnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionEnterDungeonRsp.pb.go b/protocol/proto/PotionEnterDungeonRsp.pb.go
new file mode 100644
index 00000000..da159a86
--- /dev/null
+++ b/protocol/proto/PotionEnterDungeonRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionEnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8482
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PotionEnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PotionEnterDungeonRsp) Reset() {
+ *x = PotionEnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionEnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionEnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionEnterDungeonRsp) ProtoMessage() {}
+
+func (x *PotionEnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionEnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionEnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*PotionEnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_PotionEnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionEnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PotionEnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_PotionEnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x15, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e,
+ 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionEnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_PotionEnterDungeonRsp_proto_rawDescData = file_PotionEnterDungeonRsp_proto_rawDesc
+)
+
+func file_PotionEnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_PotionEnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_PotionEnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionEnterDungeonRsp_proto_rawDescData)
+ })
+ return file_PotionEnterDungeonRsp_proto_rawDescData
+}
+
+var file_PotionEnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionEnterDungeonRsp_proto_goTypes = []interface{}{
+ (*PotionEnterDungeonRsp)(nil), // 0: proto.PotionEnterDungeonRsp
+}
+var file_PotionEnterDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionEnterDungeonRsp_proto_init() }
+func file_PotionEnterDungeonRsp_proto_init() {
+ if File_PotionEnterDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionEnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionEnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionEnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionEnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_PotionEnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_PotionEnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_PotionEnterDungeonRsp_proto = out.File
+ file_PotionEnterDungeonRsp_proto_rawDesc = nil
+ file_PotionEnterDungeonRsp_proto_goTypes = nil
+ file_PotionEnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionLevelData.pb.go b/protocol/proto/PotionLevelData.pb.go
new file mode 100644
index 00000000..8a2024ba
--- /dev/null
+++ b/protocol/proto/PotionLevelData.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PotionLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,10,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Score uint32 `protobuf:"varint,7,opt,name=score,proto3" json:"score,omitempty"`
+ ModeId uint32 `protobuf:"varint,5,opt,name=mode_id,json=modeId,proto3" json:"mode_id,omitempty"`
+ DifficultyLevel uint32 `protobuf:"varint,2,opt,name=difficulty_level,json=difficultyLevel,proto3" json:"difficulty_level,omitempty"`
+}
+
+func (x *PotionLevelData) Reset() {
+ *x = PotionLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionLevelData) ProtoMessage() {}
+
+func (x *PotionLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionLevelData.ProtoReflect.Descriptor instead.
+func (*PotionLevelData) Descriptor() ([]byte, []int) {
+ return file_PotionLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionLevelData) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *PotionLevelData) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *PotionLevelData) GetModeId() uint32 {
+ if x != nil {
+ return x.ModeId
+ }
+ return 0
+}
+
+func (x *PotionLevelData) GetDifficultyLevel() uint32 {
+ if x != nil {
+ return x.DifficultyLevel
+ }
+ return 0
+}
+
+var File_PotionLevelData_proto protoreflect.FileDescriptor
+
+var file_PotionLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86,
+ 0x01, 0x0a, 0x0f, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10,
+ 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
+ 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionLevelData_proto_rawDescOnce sync.Once
+ file_PotionLevelData_proto_rawDescData = file_PotionLevelData_proto_rawDesc
+)
+
+func file_PotionLevelData_proto_rawDescGZIP() []byte {
+ file_PotionLevelData_proto_rawDescOnce.Do(func() {
+ file_PotionLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionLevelData_proto_rawDescData)
+ })
+ return file_PotionLevelData_proto_rawDescData
+}
+
+var file_PotionLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionLevelData_proto_goTypes = []interface{}{
+ (*PotionLevelData)(nil), // 0: proto.PotionLevelData
+}
+var file_PotionLevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionLevelData_proto_init() }
+func file_PotionLevelData_proto_init() {
+ if File_PotionLevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionLevelData_proto_goTypes,
+ DependencyIndexes: file_PotionLevelData_proto_depIdxs,
+ MessageInfos: file_PotionLevelData_proto_msgTypes,
+ }.Build()
+ File_PotionLevelData_proto = out.File
+ file_PotionLevelData_proto_rawDesc = nil
+ file_PotionLevelData_proto_goTypes = nil
+ file_PotionLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionResetChallengeReq.pb.go b/protocol/proto/PotionResetChallengeReq.pb.go
new file mode 100644
index 00000000..94e17517
--- /dev/null
+++ b/protocol/proto/PotionResetChallengeReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionResetChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8377
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PotionResetChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,1,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *PotionResetChallengeReq) Reset() {
+ *x = PotionResetChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionResetChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionResetChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionResetChallengeReq) ProtoMessage() {}
+
+func (x *PotionResetChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionResetChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionResetChallengeReq.ProtoReflect.Descriptor instead.
+func (*PotionResetChallengeReq) Descriptor() ([]byte, []int) {
+ return file_PotionResetChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionResetChallengeReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_PotionResetChallengeReq_proto protoreflect.FileDescriptor
+
+var file_PotionResetChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x17, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionResetChallengeReq_proto_rawDescOnce sync.Once
+ file_PotionResetChallengeReq_proto_rawDescData = file_PotionResetChallengeReq_proto_rawDesc
+)
+
+func file_PotionResetChallengeReq_proto_rawDescGZIP() []byte {
+ file_PotionResetChallengeReq_proto_rawDescOnce.Do(func() {
+ file_PotionResetChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionResetChallengeReq_proto_rawDescData)
+ })
+ return file_PotionResetChallengeReq_proto_rawDescData
+}
+
+var file_PotionResetChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionResetChallengeReq_proto_goTypes = []interface{}{
+ (*PotionResetChallengeReq)(nil), // 0: proto.PotionResetChallengeReq
+}
+var file_PotionResetChallengeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionResetChallengeReq_proto_init() }
+func file_PotionResetChallengeReq_proto_init() {
+ if File_PotionResetChallengeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionResetChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionResetChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionResetChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionResetChallengeReq_proto_goTypes,
+ DependencyIndexes: file_PotionResetChallengeReq_proto_depIdxs,
+ MessageInfos: file_PotionResetChallengeReq_proto_msgTypes,
+ }.Build()
+ File_PotionResetChallengeReq_proto = out.File
+ file_PotionResetChallengeReq_proto_rawDesc = nil
+ file_PotionResetChallengeReq_proto_goTypes = nil
+ file_PotionResetChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionResetChallengeRsp.pb.go b/protocol/proto/PotionResetChallengeRsp.pb.go
new file mode 100644
index 00000000..fc3cd196
--- /dev/null
+++ b/protocol/proto/PotionResetChallengeRsp.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionResetChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8067
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PotionResetChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ StageData *PotionStageData `protobuf:"bytes,14,opt,name=stage_data,json=stageData,proto3" json:"stage_data,omitempty"`
+}
+
+func (x *PotionResetChallengeRsp) Reset() {
+ *x = PotionResetChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionResetChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionResetChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionResetChallengeRsp) ProtoMessage() {}
+
+func (x *PotionResetChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionResetChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionResetChallengeRsp.ProtoReflect.Descriptor instead.
+func (*PotionResetChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_PotionResetChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionResetChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PotionResetChallengeRsp) GetStageData() *PotionStageData {
+ if x != nil {
+ return x.StageData
+ }
+ return nil
+}
+
+var File_PotionResetChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_PotionResetChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a,
+ 0x17, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50,
+ 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionResetChallengeRsp_proto_rawDescOnce sync.Once
+ file_PotionResetChallengeRsp_proto_rawDescData = file_PotionResetChallengeRsp_proto_rawDesc
+)
+
+func file_PotionResetChallengeRsp_proto_rawDescGZIP() []byte {
+ file_PotionResetChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_PotionResetChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionResetChallengeRsp_proto_rawDescData)
+ })
+ return file_PotionResetChallengeRsp_proto_rawDescData
+}
+
+var file_PotionResetChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionResetChallengeRsp_proto_goTypes = []interface{}{
+ (*PotionResetChallengeRsp)(nil), // 0: proto.PotionResetChallengeRsp
+ (*PotionStageData)(nil), // 1: proto.PotionStageData
+}
+var file_PotionResetChallengeRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PotionResetChallengeRsp.stage_data:type_name -> proto.PotionStageData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PotionResetChallengeRsp_proto_init() }
+func file_PotionResetChallengeRsp_proto_init() {
+ if File_PotionResetChallengeRsp_proto != nil {
+ return
+ }
+ file_PotionStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PotionResetChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionResetChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionResetChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionResetChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_PotionResetChallengeRsp_proto_depIdxs,
+ MessageInfos: file_PotionResetChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_PotionResetChallengeRsp_proto = out.File
+ file_PotionResetChallengeRsp_proto_rawDesc = nil
+ file_PotionResetChallengeRsp_proto_goTypes = nil
+ file_PotionResetChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionRestartDungeonReq.pb.go b/protocol/proto/PotionRestartDungeonReq.pb.go
new file mode 100644
index 00000000..e55b773d
--- /dev/null
+++ b/protocol/proto/PotionRestartDungeonReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionRestartDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8273
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PotionRestartDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *PotionRestartDungeonReq) Reset() {
+ *x = PotionRestartDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionRestartDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionRestartDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionRestartDungeonReq) ProtoMessage() {}
+
+func (x *PotionRestartDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionRestartDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionRestartDungeonReq.ProtoReflect.Descriptor instead.
+func (*PotionRestartDungeonReq) Descriptor() ([]byte, []int) {
+ return file_PotionRestartDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PotionRestartDungeonReq_proto protoreflect.FileDescriptor
+
+var file_PotionRestartDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionRestartDungeonReq_proto_rawDescOnce sync.Once
+ file_PotionRestartDungeonReq_proto_rawDescData = file_PotionRestartDungeonReq_proto_rawDesc
+)
+
+func file_PotionRestartDungeonReq_proto_rawDescGZIP() []byte {
+ file_PotionRestartDungeonReq_proto_rawDescOnce.Do(func() {
+ file_PotionRestartDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionRestartDungeonReq_proto_rawDescData)
+ })
+ return file_PotionRestartDungeonReq_proto_rawDescData
+}
+
+var file_PotionRestartDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionRestartDungeonReq_proto_goTypes = []interface{}{
+ (*PotionRestartDungeonReq)(nil), // 0: proto.PotionRestartDungeonReq
+}
+var file_PotionRestartDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionRestartDungeonReq_proto_init() }
+func file_PotionRestartDungeonReq_proto_init() {
+ if File_PotionRestartDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionRestartDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionRestartDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionRestartDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionRestartDungeonReq_proto_goTypes,
+ DependencyIndexes: file_PotionRestartDungeonReq_proto_depIdxs,
+ MessageInfos: file_PotionRestartDungeonReq_proto_msgTypes,
+ }.Build()
+ File_PotionRestartDungeonReq_proto = out.File
+ file_PotionRestartDungeonReq_proto_rawDesc = nil
+ file_PotionRestartDungeonReq_proto_goTypes = nil
+ file_PotionRestartDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionRestartDungeonRsp.pb.go b/protocol/proto/PotionRestartDungeonRsp.pb.go
new file mode 100644
index 00000000..02802a4c
--- /dev/null
+++ b/protocol/proto/PotionRestartDungeonRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionRestartDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8062
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PotionRestartDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PotionRestartDungeonRsp) Reset() {
+ *x = PotionRestartDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionRestartDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionRestartDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionRestartDungeonRsp) ProtoMessage() {}
+
+func (x *PotionRestartDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionRestartDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionRestartDungeonRsp.ProtoReflect.Descriptor instead.
+func (*PotionRestartDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_PotionRestartDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionRestartDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PotionRestartDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_PotionRestartDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionRestartDungeonRsp_proto_rawDescOnce sync.Once
+ file_PotionRestartDungeonRsp_proto_rawDescData = file_PotionRestartDungeonRsp_proto_rawDesc
+)
+
+func file_PotionRestartDungeonRsp_proto_rawDescGZIP() []byte {
+ file_PotionRestartDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_PotionRestartDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionRestartDungeonRsp_proto_rawDescData)
+ })
+ return file_PotionRestartDungeonRsp_proto_rawDescData
+}
+
+var file_PotionRestartDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionRestartDungeonRsp_proto_goTypes = []interface{}{
+ (*PotionRestartDungeonRsp)(nil), // 0: proto.PotionRestartDungeonRsp
+}
+var file_PotionRestartDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionRestartDungeonRsp_proto_init() }
+func file_PotionRestartDungeonRsp_proto_init() {
+ if File_PotionRestartDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionRestartDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionRestartDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionRestartDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionRestartDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_PotionRestartDungeonRsp_proto_depIdxs,
+ MessageInfos: file_PotionRestartDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_PotionRestartDungeonRsp_proto = out.File
+ file_PotionRestartDungeonRsp_proto_rawDesc = nil
+ file_PotionRestartDungeonRsp_proto_goTypes = nil
+ file_PotionRestartDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionSaveDungeonResultReq.pb.go b/protocol/proto/PotionSaveDungeonResultReq.pb.go
new file mode 100644
index 00000000..571f93fc
--- /dev/null
+++ b/protocol/proto/PotionSaveDungeonResultReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionSaveDungeonResultReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8192
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PotionSaveDungeonResultReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,8,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *PotionSaveDungeonResultReq) Reset() {
+ *x = PotionSaveDungeonResultReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionSaveDungeonResultReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionSaveDungeonResultReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionSaveDungeonResultReq) ProtoMessage() {}
+
+func (x *PotionSaveDungeonResultReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionSaveDungeonResultReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionSaveDungeonResultReq.ProtoReflect.Descriptor instead.
+func (*PotionSaveDungeonResultReq) Descriptor() ([]byte, []int) {
+ return file_PotionSaveDungeonResultReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionSaveDungeonResultReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *PotionSaveDungeonResultReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_PotionSaveDungeonResultReq_proto protoreflect.FileDescriptor
+
+var file_PotionSaveDungeonResultReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x1a, 0x50, 0x6f, 0x74,
+ 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PotionSaveDungeonResultReq_proto_rawDescOnce sync.Once
+ file_PotionSaveDungeonResultReq_proto_rawDescData = file_PotionSaveDungeonResultReq_proto_rawDesc
+)
+
+func file_PotionSaveDungeonResultReq_proto_rawDescGZIP() []byte {
+ file_PotionSaveDungeonResultReq_proto_rawDescOnce.Do(func() {
+ file_PotionSaveDungeonResultReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionSaveDungeonResultReq_proto_rawDescData)
+ })
+ return file_PotionSaveDungeonResultReq_proto_rawDescData
+}
+
+var file_PotionSaveDungeonResultReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionSaveDungeonResultReq_proto_goTypes = []interface{}{
+ (*PotionSaveDungeonResultReq)(nil), // 0: proto.PotionSaveDungeonResultReq
+}
+var file_PotionSaveDungeonResultReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionSaveDungeonResultReq_proto_init() }
+func file_PotionSaveDungeonResultReq_proto_init() {
+ if File_PotionSaveDungeonResultReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionSaveDungeonResultReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionSaveDungeonResultReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionSaveDungeonResultReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionSaveDungeonResultReq_proto_goTypes,
+ DependencyIndexes: file_PotionSaveDungeonResultReq_proto_depIdxs,
+ MessageInfos: file_PotionSaveDungeonResultReq_proto_msgTypes,
+ }.Build()
+ File_PotionSaveDungeonResultReq_proto = out.File
+ file_PotionSaveDungeonResultReq_proto_rawDesc = nil
+ file_PotionSaveDungeonResultReq_proto_goTypes = nil
+ file_PotionSaveDungeonResultReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionSaveDungeonResultRsp.pb.go b/protocol/proto/PotionSaveDungeonResultRsp.pb.go
new file mode 100644
index 00000000..f32f107d
--- /dev/null
+++ b/protocol/proto/PotionSaveDungeonResultRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionSaveDungeonResultRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8688
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PotionSaveDungeonResultRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PotionSaveDungeonResultRsp) Reset() {
+ *x = PotionSaveDungeonResultRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionSaveDungeonResultRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionSaveDungeonResultRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionSaveDungeonResultRsp) ProtoMessage() {}
+
+func (x *PotionSaveDungeonResultRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionSaveDungeonResultRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionSaveDungeonResultRsp.ProtoReflect.Descriptor instead.
+func (*PotionSaveDungeonResultRsp) Descriptor() ([]byte, []int) {
+ return file_PotionSaveDungeonResultRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionSaveDungeonResultRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PotionSaveDungeonResultRsp_proto protoreflect.FileDescriptor
+
+var file_PotionSaveDungeonResultRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x50, 0x6f, 0x74,
+ 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionSaveDungeonResultRsp_proto_rawDescOnce sync.Once
+ file_PotionSaveDungeonResultRsp_proto_rawDescData = file_PotionSaveDungeonResultRsp_proto_rawDesc
+)
+
+func file_PotionSaveDungeonResultRsp_proto_rawDescGZIP() []byte {
+ file_PotionSaveDungeonResultRsp_proto_rawDescOnce.Do(func() {
+ file_PotionSaveDungeonResultRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionSaveDungeonResultRsp_proto_rawDescData)
+ })
+ return file_PotionSaveDungeonResultRsp_proto_rawDescData
+}
+
+var file_PotionSaveDungeonResultRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionSaveDungeonResultRsp_proto_goTypes = []interface{}{
+ (*PotionSaveDungeonResultRsp)(nil), // 0: proto.PotionSaveDungeonResultRsp
+}
+var file_PotionSaveDungeonResultRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PotionSaveDungeonResultRsp_proto_init() }
+func file_PotionSaveDungeonResultRsp_proto_init() {
+ if File_PotionSaveDungeonResultRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PotionSaveDungeonResultRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionSaveDungeonResultRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionSaveDungeonResultRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionSaveDungeonResultRsp_proto_goTypes,
+ DependencyIndexes: file_PotionSaveDungeonResultRsp_proto_depIdxs,
+ MessageInfos: file_PotionSaveDungeonResultRsp_proto_msgTypes,
+ }.Build()
+ File_PotionSaveDungeonResultRsp_proto = out.File
+ file_PotionSaveDungeonResultRsp_proto_rawDesc = nil
+ file_PotionSaveDungeonResultRsp_proto_goTypes = nil
+ file_PotionSaveDungeonResultRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PotionStageData.pb.go b/protocol/proto/PotionStageData.pb.go
new file mode 100644
index 00000000..a8417704
--- /dev/null
+++ b/protocol/proto/PotionStageData.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PotionStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PotionStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,11,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ CoolDownBuffIdList []uint32 `protobuf:"varint,2,rep,packed,name=cool_down_buff_id_list,json=coolDownBuffIdList,proto3" json:"cool_down_buff_id_list,omitempty"`
+ IsOpen bool `protobuf:"varint,15,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ LevelList []*PotionLevelData `protobuf:"bytes,14,rep,name=level_list,json=levelList,proto3" json:"level_list,omitempty"`
+ CoolDownAvatarIdList []uint32 `protobuf:"varint,13,rep,packed,name=cool_down_avatar_id_list,json=coolDownAvatarIdList,proto3" json:"cool_down_avatar_id_list,omitempty"`
+}
+
+func (x *PotionStageData) Reset() {
+ *x = PotionStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PotionStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PotionStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PotionStageData) ProtoMessage() {}
+
+func (x *PotionStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_PotionStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PotionStageData.ProtoReflect.Descriptor instead.
+func (*PotionStageData) Descriptor() ([]byte, []int) {
+ return file_PotionStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PotionStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *PotionStageData) GetCoolDownBuffIdList() []uint32 {
+ if x != nil {
+ return x.CoolDownBuffIdList
+ }
+ return nil
+}
+
+func (x *PotionStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *PotionStageData) GetLevelList() []*PotionLevelData {
+ if x != nil {
+ return x.LevelList
+ }
+ return nil
+}
+
+func (x *PotionStageData) GetCoolDownAvatarIdList() []uint32 {
+ if x != nil {
+ return x.CoolDownAvatarIdList
+ }
+ return nil
+}
+
+var File_PotionStageData_proto protoreflect.FileDescriptor
+
+var file_PotionStageData_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15,
+ 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x01, 0x0a, 0x0f, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x16, 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77,
+ 0x6e, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x42, 0x75,
+ 0x66, 0x66, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f,
+ 0x70, 0x65, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65,
+ 0x6e, 0x12, 0x35, 0x0a, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6f,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x18, 0x63, 0x6f, 0x6f, 0x6c,
+ 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x6f, 0x6f, 0x6c,
+ 0x44, 0x6f, 0x77, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PotionStageData_proto_rawDescOnce sync.Once
+ file_PotionStageData_proto_rawDescData = file_PotionStageData_proto_rawDesc
+)
+
+func file_PotionStageData_proto_rawDescGZIP() []byte {
+ file_PotionStageData_proto_rawDescOnce.Do(func() {
+ file_PotionStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_PotionStageData_proto_rawDescData)
+ })
+ return file_PotionStageData_proto_rawDescData
+}
+
+var file_PotionStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PotionStageData_proto_goTypes = []interface{}{
+ (*PotionStageData)(nil), // 0: proto.PotionStageData
+ (*PotionLevelData)(nil), // 1: proto.PotionLevelData
+}
+var file_PotionStageData_proto_depIdxs = []int32{
+ 1, // 0: proto.PotionStageData.level_list:type_name -> proto.PotionLevelData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PotionStageData_proto_init() }
+func file_PotionStageData_proto_init() {
+ if File_PotionStageData_proto != nil {
+ return
+ }
+ file_PotionLevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PotionStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PotionStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PotionStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PotionStageData_proto_goTypes,
+ DependencyIndexes: file_PotionStageData_proto_depIdxs,
+ MessageInfos: file_PotionStageData_proto_msgTypes,
+ }.Build()
+ File_PotionStageData_proto = out.File
+ file_PotionStageData_proto_rawDesc = nil
+ file_PotionStageData_proto_goTypes = nil
+ file_PotionStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PrivateChatNotify.pb.go b/protocol/proto/PrivateChatNotify.pb.go
new file mode 100644
index 00000000..aee8aae9
--- /dev/null
+++ b/protocol/proto/PrivateChatNotify.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PrivateChatNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4962
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PrivateChatNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatInfo *ChatInfo `protobuf:"bytes,7,opt,name=chat_info,json=chatInfo,proto3" json:"chat_info,omitempty"`
+}
+
+func (x *PrivateChatNotify) Reset() {
+ *x = PrivateChatNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PrivateChatNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PrivateChatNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PrivateChatNotify) ProtoMessage() {}
+
+func (x *PrivateChatNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PrivateChatNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PrivateChatNotify.ProtoReflect.Descriptor instead.
+func (*PrivateChatNotify) Descriptor() ([]byte, []int) {
+ return file_PrivateChatNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PrivateChatNotify) GetChatInfo() *ChatInfo {
+ if x != nil {
+ return x.ChatInfo
+ }
+ return nil
+}
+
+var File_PrivateChatNotify_proto protoreflect.FileDescriptor
+
+var file_PrivateChatNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x41, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PrivateChatNotify_proto_rawDescOnce sync.Once
+ file_PrivateChatNotify_proto_rawDescData = file_PrivateChatNotify_proto_rawDesc
+)
+
+func file_PrivateChatNotify_proto_rawDescGZIP() []byte {
+ file_PrivateChatNotify_proto_rawDescOnce.Do(func() {
+ file_PrivateChatNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PrivateChatNotify_proto_rawDescData)
+ })
+ return file_PrivateChatNotify_proto_rawDescData
+}
+
+var file_PrivateChatNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PrivateChatNotify_proto_goTypes = []interface{}{
+ (*PrivateChatNotify)(nil), // 0: proto.PrivateChatNotify
+ (*ChatInfo)(nil), // 1: proto.ChatInfo
+}
+var file_PrivateChatNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PrivateChatNotify.chat_info:type_name -> proto.ChatInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PrivateChatNotify_proto_init() }
+func file_PrivateChatNotify_proto_init() {
+ if File_PrivateChatNotify_proto != nil {
+ return
+ }
+ file_ChatInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PrivateChatNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PrivateChatNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PrivateChatNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PrivateChatNotify_proto_goTypes,
+ DependencyIndexes: file_PrivateChatNotify_proto_depIdxs,
+ MessageInfos: file_PrivateChatNotify_proto_msgTypes,
+ }.Build()
+ File_PrivateChatNotify_proto = out.File
+ file_PrivateChatNotify_proto_rawDesc = nil
+ file_PrivateChatNotify_proto_goTypes = nil
+ file_PrivateChatNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PrivateChatReq.pb.go b/protocol/proto/PrivateChatReq.pb.go
new file mode 100644
index 00000000..d9303d76
--- /dev/null
+++ b/protocol/proto/PrivateChatReq.pb.go
@@ -0,0 +1,212 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PrivateChatReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5022
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PrivateChatReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,7,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ // Types that are assignable to Content:
+ //
+ // *PrivateChatReq_Text
+ // *PrivateChatReq_Icon
+ Content isPrivateChatReq_Content `protobuf_oneof:"content"`
+}
+
+func (x *PrivateChatReq) Reset() {
+ *x = PrivateChatReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PrivateChatReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PrivateChatReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PrivateChatReq) ProtoMessage() {}
+
+func (x *PrivateChatReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PrivateChatReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PrivateChatReq.ProtoReflect.Descriptor instead.
+func (*PrivateChatReq) Descriptor() ([]byte, []int) {
+ return file_PrivateChatReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PrivateChatReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (m *PrivateChatReq) GetContent() isPrivateChatReq_Content {
+ if m != nil {
+ return m.Content
+ }
+ return nil
+}
+
+func (x *PrivateChatReq) GetText() string {
+ if x, ok := x.GetContent().(*PrivateChatReq_Text); ok {
+ return x.Text
+ }
+ return ""
+}
+
+func (x *PrivateChatReq) GetIcon() uint32 {
+ if x, ok := x.GetContent().(*PrivateChatReq_Icon); ok {
+ return x.Icon
+ }
+ return 0
+}
+
+type isPrivateChatReq_Content interface {
+ isPrivateChatReq_Content()
+}
+
+type PrivateChatReq_Text struct {
+ Text string `protobuf:"bytes,3,opt,name=text,proto3,oneof"`
+}
+
+type PrivateChatReq_Icon struct {
+ Icon uint32 `protobuf:"varint,4,opt,name=icon,proto3,oneof"`
+}
+
+func (*PrivateChatReq_Text) isPrivateChatReq_Content() {}
+
+func (*PrivateChatReq_Icon) isPrivateChatReq_Content() {}
+
+var File_PrivateChatReq_proto protoreflect.FileDescriptor
+
+var file_PrivateChatReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a,
+ 0x0e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x14,
+ 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04,
+ 0x74, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x48, 0x00, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PrivateChatReq_proto_rawDescOnce sync.Once
+ file_PrivateChatReq_proto_rawDescData = file_PrivateChatReq_proto_rawDesc
+)
+
+func file_PrivateChatReq_proto_rawDescGZIP() []byte {
+ file_PrivateChatReq_proto_rawDescOnce.Do(func() {
+ file_PrivateChatReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PrivateChatReq_proto_rawDescData)
+ })
+ return file_PrivateChatReq_proto_rawDescData
+}
+
+var file_PrivateChatReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PrivateChatReq_proto_goTypes = []interface{}{
+ (*PrivateChatReq)(nil), // 0: proto.PrivateChatReq
+}
+var file_PrivateChatReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PrivateChatReq_proto_init() }
+func file_PrivateChatReq_proto_init() {
+ if File_PrivateChatReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PrivateChatReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PrivateChatReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_PrivateChatReq_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*PrivateChatReq_Text)(nil),
+ (*PrivateChatReq_Icon)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PrivateChatReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PrivateChatReq_proto_goTypes,
+ DependencyIndexes: file_PrivateChatReq_proto_depIdxs,
+ MessageInfos: file_PrivateChatReq_proto_msgTypes,
+ }.Build()
+ File_PrivateChatReq_proto = out.File
+ file_PrivateChatReq_proto_rawDesc = nil
+ file_PrivateChatReq_proto_goTypes = nil
+ file_PrivateChatReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PrivateChatRsp.pb.go b/protocol/proto/PrivateChatRsp.pb.go
new file mode 100644
index 00000000..a54ba818
--- /dev/null
+++ b/protocol/proto/PrivateChatRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PrivateChatRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5048
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PrivateChatRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatForbiddenEndtime uint32 `protobuf:"varint,12,opt,name=chat_forbidden_endtime,json=chatForbiddenEndtime,proto3" json:"chat_forbidden_endtime,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PrivateChatRsp) Reset() {
+ *x = PrivateChatRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PrivateChatRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PrivateChatRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PrivateChatRsp) ProtoMessage() {}
+
+func (x *PrivateChatRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PrivateChatRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PrivateChatRsp.ProtoReflect.Descriptor instead.
+func (*PrivateChatRsp) Descriptor() ([]byte, []int) {
+ return file_PrivateChatRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PrivateChatRsp) GetChatForbiddenEndtime() uint32 {
+ if x != nil {
+ return x.ChatForbiddenEndtime
+ }
+ return 0
+}
+
+func (x *PrivateChatRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PrivateChatRsp_proto protoreflect.FileDescriptor
+
+var file_PrivateChatRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a,
+ 0x0e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x52, 0x73, 0x70, 0x12,
+ 0x34, 0x0a, 0x16, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65,
+ 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x14, 0x63, 0x68, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x45, 0x6e,
+ 0x64, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PrivateChatRsp_proto_rawDescOnce sync.Once
+ file_PrivateChatRsp_proto_rawDescData = file_PrivateChatRsp_proto_rawDesc
+)
+
+func file_PrivateChatRsp_proto_rawDescGZIP() []byte {
+ file_PrivateChatRsp_proto_rawDescOnce.Do(func() {
+ file_PrivateChatRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PrivateChatRsp_proto_rawDescData)
+ })
+ return file_PrivateChatRsp_proto_rawDescData
+}
+
+var file_PrivateChatRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PrivateChatRsp_proto_goTypes = []interface{}{
+ (*PrivateChatRsp)(nil), // 0: proto.PrivateChatRsp
+}
+var file_PrivateChatRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PrivateChatRsp_proto_init() }
+func file_PrivateChatRsp_proto_init() {
+ if File_PrivateChatRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PrivateChatRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PrivateChatRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PrivateChatRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PrivateChatRsp_proto_goTypes,
+ DependencyIndexes: file_PrivateChatRsp_proto_depIdxs,
+ MessageInfos: file_PrivateChatRsp_proto_msgTypes,
+ }.Build()
+ File_PrivateChatRsp_proto = out.File
+ file_PrivateChatRsp_proto_rawDesc = nil
+ file_PrivateChatRsp_proto_goTypes = nil
+ file_PrivateChatRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProductPriceTier.pb.go b/protocol/proto/ProductPriceTier.pb.go
new file mode 100644
index 00000000..feb14253
--- /dev/null
+++ b/protocol/proto/ProductPriceTier.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProductPriceTier.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ProductPriceTier struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProductId string `protobuf:"bytes,6,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ PriceTier string `protobuf:"bytes,12,opt,name=price_tier,json=priceTier,proto3" json:"price_tier,omitempty"`
+}
+
+func (x *ProductPriceTier) Reset() {
+ *x = ProductPriceTier{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProductPriceTier_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProductPriceTier) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProductPriceTier) ProtoMessage() {}
+
+func (x *ProductPriceTier) ProtoReflect() protoreflect.Message {
+ mi := &file_ProductPriceTier_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProductPriceTier.ProtoReflect.Descriptor instead.
+func (*ProductPriceTier) Descriptor() ([]byte, []int) {
+ return file_ProductPriceTier_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProductPriceTier) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *ProductPriceTier) GetPriceTier() string {
+ if x != nil {
+ return x.PriceTier
+ }
+ return ""
+}
+
+var File_ProductPriceTier_proto protoreflect.FileDescriptor
+
+var file_ProductPriceTier_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69,
+ 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x50, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54,
+ 0x69, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
+ 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x65,
+ 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ProductPriceTier_proto_rawDescOnce sync.Once
+ file_ProductPriceTier_proto_rawDescData = file_ProductPriceTier_proto_rawDesc
+)
+
+func file_ProductPriceTier_proto_rawDescGZIP() []byte {
+ file_ProductPriceTier_proto_rawDescOnce.Do(func() {
+ file_ProductPriceTier_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProductPriceTier_proto_rawDescData)
+ })
+ return file_ProductPriceTier_proto_rawDescData
+}
+
+var file_ProductPriceTier_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProductPriceTier_proto_goTypes = []interface{}{
+ (*ProductPriceTier)(nil), // 0: proto.ProductPriceTier
+}
+var file_ProductPriceTier_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProductPriceTier_proto_init() }
+func file_ProductPriceTier_proto_init() {
+ if File_ProductPriceTier_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ProductPriceTier_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProductPriceTier); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProductPriceTier_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProductPriceTier_proto_goTypes,
+ DependencyIndexes: file_ProductPriceTier_proto_depIdxs,
+ MessageInfos: file_ProductPriceTier_proto_msgTypes,
+ }.Build()
+ File_ProductPriceTier_proto = out.File
+ file_ProductPriceTier_proto_rawDesc = nil
+ file_ProductPriceTier_proto_goTypes = nil
+ file_ProductPriceTier_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProfilePicture.pb.go b/protocol/proto/ProfilePicture.pb.go
new file mode 100644
index 00000000..e5339313
--- /dev/null
+++ b/protocol/proto/ProfilePicture.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProfilePicture.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ProfilePicture struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ CostumeId uint32 `protobuf:"varint,2,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+}
+
+func (x *ProfilePicture) Reset() {
+ *x = ProfilePicture{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProfilePicture_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProfilePicture) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProfilePicture) ProtoMessage() {}
+
+func (x *ProfilePicture) ProtoReflect() protoreflect.Message {
+ mi := &file_ProfilePicture_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProfilePicture.ProtoReflect.Descriptor instead.
+func (*ProfilePicture) Descriptor() ([]byte, []int) {
+ return file_ProfilePicture_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProfilePicture) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *ProfilePicture) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+var File_ProfilePicture_proto protoreflect.FileDescriptor
+
+var file_ProfilePicture_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a,
+ 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ProfilePicture_proto_rawDescOnce sync.Once
+ file_ProfilePicture_proto_rawDescData = file_ProfilePicture_proto_rawDesc
+)
+
+func file_ProfilePicture_proto_rawDescGZIP() []byte {
+ file_ProfilePicture_proto_rawDescOnce.Do(func() {
+ file_ProfilePicture_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProfilePicture_proto_rawDescData)
+ })
+ return file_ProfilePicture_proto_rawDescData
+}
+
+var file_ProfilePicture_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProfilePicture_proto_goTypes = []interface{}{
+ (*ProfilePicture)(nil), // 0: proto.ProfilePicture
+}
+var file_ProfilePicture_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProfilePicture_proto_init() }
+func file_ProfilePicture_proto_init() {
+ if File_ProfilePicture_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ProfilePicture_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProfilePicture); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProfilePicture_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProfilePicture_proto_goTypes,
+ DependencyIndexes: file_ProfilePicture_proto_depIdxs,
+ MessageInfos: file_ProfilePicture_proto_msgTypes,
+ }.Build()
+ File_ProfilePicture_proto = out.File
+ file_ProfilePicture_proto_rawDesc = nil
+ file_ProfilePicture_proto_goTypes = nil
+ file_ProfilePicture_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProfilePictureChangeNotify.pb.go b/protocol/proto/ProfilePictureChangeNotify.pb.go
new file mode 100644
index 00000000..969f6fa4
--- /dev/null
+++ b/protocol/proto/ProfilePictureChangeNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProfilePictureChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4016
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ProfilePictureChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProfilePicture *ProfilePicture `protobuf:"bytes,12,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+}
+
+func (x *ProfilePictureChangeNotify) Reset() {
+ *x = ProfilePictureChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProfilePictureChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProfilePictureChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProfilePictureChangeNotify) ProtoMessage() {}
+
+func (x *ProfilePictureChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ProfilePictureChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProfilePictureChangeNotify.ProtoReflect.Descriptor instead.
+func (*ProfilePictureChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ProfilePictureChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProfilePictureChangeNotify) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+var File_ProfilePictureChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ProfilePictureChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69,
+ 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5c, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+ 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3e, 0x0a,
+ 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ProfilePictureChangeNotify_proto_rawDescOnce sync.Once
+ file_ProfilePictureChangeNotify_proto_rawDescData = file_ProfilePictureChangeNotify_proto_rawDesc
+)
+
+func file_ProfilePictureChangeNotify_proto_rawDescGZIP() []byte {
+ file_ProfilePictureChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ProfilePictureChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProfilePictureChangeNotify_proto_rawDescData)
+ })
+ return file_ProfilePictureChangeNotify_proto_rawDescData
+}
+
+var file_ProfilePictureChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProfilePictureChangeNotify_proto_goTypes = []interface{}{
+ (*ProfilePictureChangeNotify)(nil), // 0: proto.ProfilePictureChangeNotify
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_ProfilePictureChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ProfilePictureChangeNotify.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ProfilePictureChangeNotify_proto_init() }
+func file_ProfilePictureChangeNotify_proto_init() {
+ if File_ProfilePictureChangeNotify_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ProfilePictureChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProfilePictureChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProfilePictureChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProfilePictureChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ProfilePictureChangeNotify_proto_depIdxs,
+ MessageInfos: file_ProfilePictureChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ProfilePictureChangeNotify_proto = out.File
+ file_ProfilePictureChangeNotify_proto_rawDesc = nil
+ file_ProfilePictureChangeNotify_proto_goTypes = nil
+ file_ProfilePictureChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProjectorOptionReq.pb.go b/protocol/proto/ProjectorOptionReq.pb.go
new file mode 100644
index 00000000..02c4fcac
--- /dev/null
+++ b/protocol/proto/ProjectorOptionReq.pb.go
@@ -0,0 +1,231 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProjectorOptionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ProjectorOptionReq_ProjectorOpType int32
+
+const (
+ ProjectorOptionReq_PROJECTOR_OP_TYPE_NONE ProjectorOptionReq_ProjectorOpType = 0
+ ProjectorOptionReq_PROJECTOR_OP_TYPE_CREATE ProjectorOptionReq_ProjectorOpType = 1
+ ProjectorOptionReq_PROJECTOR_OP_TYPE_DESTROY ProjectorOptionReq_ProjectorOpType = 2
+)
+
+// Enum value maps for ProjectorOptionReq_ProjectorOpType.
+var (
+ ProjectorOptionReq_ProjectorOpType_name = map[int32]string{
+ 0: "PROJECTOR_OP_TYPE_NONE",
+ 1: "PROJECTOR_OP_TYPE_CREATE",
+ 2: "PROJECTOR_OP_TYPE_DESTROY",
+ }
+ ProjectorOptionReq_ProjectorOpType_value = map[string]int32{
+ "PROJECTOR_OP_TYPE_NONE": 0,
+ "PROJECTOR_OP_TYPE_CREATE": 1,
+ "PROJECTOR_OP_TYPE_DESTROY": 2,
+ }
+)
+
+func (x ProjectorOptionReq_ProjectorOpType) Enum() *ProjectorOptionReq_ProjectorOpType {
+ p := new(ProjectorOptionReq_ProjectorOpType)
+ *p = x
+ return p
+}
+
+func (x ProjectorOptionReq_ProjectorOpType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ProjectorOptionReq_ProjectorOpType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ProjectorOptionReq_proto_enumTypes[0].Descriptor()
+}
+
+func (ProjectorOptionReq_ProjectorOpType) Type() protoreflect.EnumType {
+ return &file_ProjectorOptionReq_proto_enumTypes[0]
+}
+
+func (x ProjectorOptionReq_ProjectorOpType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ProjectorOptionReq_ProjectorOpType.Descriptor instead.
+func (ProjectorOptionReq_ProjectorOpType) EnumDescriptor() ([]byte, []int) {
+ return file_ProjectorOptionReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 863
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ProjectorOptionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpType uint32 `protobuf:"varint,7,opt,name=op_type,json=opType,proto3" json:"op_type,omitempty"`
+ EntityId uint32 `protobuf:"varint,10,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *ProjectorOptionReq) Reset() {
+ *x = ProjectorOptionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProjectorOptionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProjectorOptionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProjectorOptionReq) ProtoMessage() {}
+
+func (x *ProjectorOptionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ProjectorOptionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProjectorOptionReq.ProtoReflect.Descriptor instead.
+func (*ProjectorOptionReq) Descriptor() ([]byte, []int) {
+ return file_ProjectorOptionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProjectorOptionReq) GetOpType() uint32 {
+ if x != nil {
+ return x.OpType
+ }
+ return 0
+}
+
+func (x *ProjectorOptionReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_ProjectorOptionReq_proto protoreflect.FileDescriptor
+
+var file_ProjectorOptionReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x6a,
+ 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4f,
+ 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a,
+ 0x18, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x50,
+ 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x44, 0x45, 0x53, 0x54, 0x52, 0x4f, 0x59, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ProjectorOptionReq_proto_rawDescOnce sync.Once
+ file_ProjectorOptionReq_proto_rawDescData = file_ProjectorOptionReq_proto_rawDesc
+)
+
+func file_ProjectorOptionReq_proto_rawDescGZIP() []byte {
+ file_ProjectorOptionReq_proto_rawDescOnce.Do(func() {
+ file_ProjectorOptionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProjectorOptionReq_proto_rawDescData)
+ })
+ return file_ProjectorOptionReq_proto_rawDescData
+}
+
+var file_ProjectorOptionReq_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ProjectorOptionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProjectorOptionReq_proto_goTypes = []interface{}{
+ (ProjectorOptionReq_ProjectorOpType)(0), // 0: proto.ProjectorOptionReq.ProjectorOpType
+ (*ProjectorOptionReq)(nil), // 1: proto.ProjectorOptionReq
+}
+var file_ProjectorOptionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProjectorOptionReq_proto_init() }
+func file_ProjectorOptionReq_proto_init() {
+ if File_ProjectorOptionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ProjectorOptionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProjectorOptionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProjectorOptionReq_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProjectorOptionReq_proto_goTypes,
+ DependencyIndexes: file_ProjectorOptionReq_proto_depIdxs,
+ EnumInfos: file_ProjectorOptionReq_proto_enumTypes,
+ MessageInfos: file_ProjectorOptionReq_proto_msgTypes,
+ }.Build()
+ File_ProjectorOptionReq_proto = out.File
+ file_ProjectorOptionReq_proto_rawDesc = nil
+ file_ProjectorOptionReq_proto_goTypes = nil
+ file_ProjectorOptionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProjectorOptionRsp.pb.go b/protocol/proto/ProjectorOptionRsp.pb.go
new file mode 100644
index 00000000..acb33448
--- /dev/null
+++ b/protocol/proto/ProjectorOptionRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProjectorOptionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 895
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ProjectorOptionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,10,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OpType uint32 `protobuf:"varint,13,opt,name=op_type,json=opType,proto3" json:"op_type,omitempty"`
+}
+
+func (x *ProjectorOptionRsp) Reset() {
+ *x = ProjectorOptionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProjectorOptionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProjectorOptionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProjectorOptionRsp) ProtoMessage() {}
+
+func (x *ProjectorOptionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ProjectorOptionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProjectorOptionRsp.ProtoReflect.Descriptor instead.
+func (*ProjectorOptionRsp) Descriptor() ([]byte, []int) {
+ return file_ProjectorOptionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProjectorOptionRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *ProjectorOptionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ProjectorOptionRsp) GetOpType() uint32 {
+ if x != nil {
+ return x.OpType
+ }
+ return 0
+}
+
+var File_ProjectorOptionRsp_proto protoreflect.FileDescriptor
+
+var file_ProjectorOptionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x64, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x4f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17,
+ 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ProjectorOptionRsp_proto_rawDescOnce sync.Once
+ file_ProjectorOptionRsp_proto_rawDescData = file_ProjectorOptionRsp_proto_rawDesc
+)
+
+func file_ProjectorOptionRsp_proto_rawDescGZIP() []byte {
+ file_ProjectorOptionRsp_proto_rawDescOnce.Do(func() {
+ file_ProjectorOptionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProjectorOptionRsp_proto_rawDescData)
+ })
+ return file_ProjectorOptionRsp_proto_rawDescData
+}
+
+var file_ProjectorOptionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProjectorOptionRsp_proto_goTypes = []interface{}{
+ (*ProjectorOptionRsp)(nil), // 0: proto.ProjectorOptionRsp
+}
+var file_ProjectorOptionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProjectorOptionRsp_proto_init() }
+func file_ProjectorOptionRsp_proto_init() {
+ if File_ProjectorOptionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ProjectorOptionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProjectorOptionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProjectorOptionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProjectorOptionRsp_proto_goTypes,
+ DependencyIndexes: file_ProjectorOptionRsp_proto_depIdxs,
+ MessageInfos: file_ProjectorOptionRsp_proto_msgTypes,
+ }.Build()
+ File_ProjectorOptionRsp_proto = out.File
+ file_ProjectorOptionRsp_proto_rawDesc = nil
+ file_ProjectorOptionRsp_proto_goTypes = nil
+ file_ProjectorOptionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PropChangeReason.pb.go b/protocol/proto/PropChangeReason.pb.go
new file mode 100644
index 00000000..12abcc1c
--- /dev/null
+++ b/protocol/proto/PropChangeReason.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PropChangeReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PropChangeReason int32
+
+const (
+ PropChangeReason_PROP_CHANGE_REASON_NONE PropChangeReason = 0
+ PropChangeReason_PROP_CHANGE_REASON_STATUE_RECOVER PropChangeReason = 1
+ PropChangeReason_PROP_CHANGE_REASON_ENERGY_BALL PropChangeReason = 2
+ PropChangeReason_PROP_CHANGE_REASON_ABILITY PropChangeReason = 3
+ PropChangeReason_PROP_CHANGE_REASON_LEVELUP PropChangeReason = 4
+ PropChangeReason_PROP_CHANGE_REASON_ITEM PropChangeReason = 5
+ PropChangeReason_PROP_CHANGE_REASON_AVATAR_CARD PropChangeReason = 6
+ PropChangeReason_PROP_CHANGE_REASON_CITY_LEVELUP PropChangeReason = 7
+ PropChangeReason_PROP_CHANGE_REASON_AVATAR_UPGRADE PropChangeReason = 8
+ PropChangeReason_PROP_CHANGE_REASON_AVATAR_PROMOTE PropChangeReason = 9
+ PropChangeReason_PROP_CHANGE_REASON_PLAYER_ADD_EXP PropChangeReason = 10
+ PropChangeReason_PROP_CHANGE_REASON_FINISH_QUEST PropChangeReason = 11
+ PropChangeReason_PROP_CHANGE_REASON_GM PropChangeReason = 12
+ PropChangeReason_PROP_CHANGE_REASON_MANUAL_ADJUST_WORLD_LEVEL PropChangeReason = 13
+)
+
+// Enum value maps for PropChangeReason.
+var (
+ PropChangeReason_name = map[int32]string{
+ 0: "PROP_CHANGE_REASON_NONE",
+ 1: "PROP_CHANGE_REASON_STATUE_RECOVER",
+ 2: "PROP_CHANGE_REASON_ENERGY_BALL",
+ 3: "PROP_CHANGE_REASON_ABILITY",
+ 4: "PROP_CHANGE_REASON_LEVELUP",
+ 5: "PROP_CHANGE_REASON_ITEM",
+ 6: "PROP_CHANGE_REASON_AVATAR_CARD",
+ 7: "PROP_CHANGE_REASON_CITY_LEVELUP",
+ 8: "PROP_CHANGE_REASON_AVATAR_UPGRADE",
+ 9: "PROP_CHANGE_REASON_AVATAR_PROMOTE",
+ 10: "PROP_CHANGE_REASON_PLAYER_ADD_EXP",
+ 11: "PROP_CHANGE_REASON_FINISH_QUEST",
+ 12: "PROP_CHANGE_REASON_GM",
+ 13: "PROP_CHANGE_REASON_MANUAL_ADJUST_WORLD_LEVEL",
+ }
+ PropChangeReason_value = map[string]int32{
+ "PROP_CHANGE_REASON_NONE": 0,
+ "PROP_CHANGE_REASON_STATUE_RECOVER": 1,
+ "PROP_CHANGE_REASON_ENERGY_BALL": 2,
+ "PROP_CHANGE_REASON_ABILITY": 3,
+ "PROP_CHANGE_REASON_LEVELUP": 4,
+ "PROP_CHANGE_REASON_ITEM": 5,
+ "PROP_CHANGE_REASON_AVATAR_CARD": 6,
+ "PROP_CHANGE_REASON_CITY_LEVELUP": 7,
+ "PROP_CHANGE_REASON_AVATAR_UPGRADE": 8,
+ "PROP_CHANGE_REASON_AVATAR_PROMOTE": 9,
+ "PROP_CHANGE_REASON_PLAYER_ADD_EXP": 10,
+ "PROP_CHANGE_REASON_FINISH_QUEST": 11,
+ "PROP_CHANGE_REASON_GM": 12,
+ "PROP_CHANGE_REASON_MANUAL_ADJUST_WORLD_LEVEL": 13,
+ }
+)
+
+func (x PropChangeReason) Enum() *PropChangeReason {
+ p := new(PropChangeReason)
+ *p = x
+ return p
+}
+
+func (x PropChangeReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PropChangeReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_PropChangeReason_proto_enumTypes[0].Descriptor()
+}
+
+func (PropChangeReason) Type() protoreflect.EnumType {
+ return &file_PropChangeReason_proto_enumTypes[0]
+}
+
+func (x PropChangeReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PropChangeReason.Descriptor instead.
+func (PropChangeReason) EnumDescriptor() ([]byte, []int) {
+ return file_PropChangeReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_PropChangeReason_proto protoreflect.FileDescriptor
+
+var file_PropChangeReason_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0x87, 0x04, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41,
+ 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45,
+ 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x5f, 0x52,
+ 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x50,
+ 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45,
+ 0x4e, 0x45, 0x52, 0x47, 0x59, 0x5f, 0x42, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a,
+ 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a,
+ 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x55, 0x50, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17,
+ 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x05, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f,
+ 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x10, 0x06, 0x12, 0x23, 0x0a,
+ 0x1f, 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x55, 0x50,
+ 0x10, 0x07, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47,
+ 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f,
+ 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x08, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f,
+ 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x09,
+ 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41, 0x44,
+ 0x44, 0x5f, 0x45, 0x58, 0x50, 0x10, 0x0a, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x4f, 0x50, 0x5f,
+ 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49,
+ 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15,
+ 0x50, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x47, 0x4d, 0x10, 0x0c, 0x12, 0x30, 0x0a, 0x2c, 0x50, 0x52, 0x4f, 0x50, 0x5f,
+ 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x41,
+ 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, 0x5f, 0x57, 0x4f, 0x52, 0x4c,
+ 0x44, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x0d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PropChangeReason_proto_rawDescOnce sync.Once
+ file_PropChangeReason_proto_rawDescData = file_PropChangeReason_proto_rawDesc
+)
+
+func file_PropChangeReason_proto_rawDescGZIP() []byte {
+ file_PropChangeReason_proto_rawDescOnce.Do(func() {
+ file_PropChangeReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_PropChangeReason_proto_rawDescData)
+ })
+ return file_PropChangeReason_proto_rawDescData
+}
+
+var file_PropChangeReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_PropChangeReason_proto_goTypes = []interface{}{
+ (PropChangeReason)(0), // 0: proto.PropChangeReason
+}
+var file_PropChangeReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PropChangeReason_proto_init() }
+func file_PropChangeReason_proto_init() {
+ if File_PropChangeReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PropChangeReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PropChangeReason_proto_goTypes,
+ DependencyIndexes: file_PropChangeReason_proto_depIdxs,
+ EnumInfos: file_PropChangeReason_proto_enumTypes,
+ }.Build()
+ File_PropChangeReason_proto = out.File
+ file_PropChangeReason_proto_rawDesc = nil
+ file_PropChangeReason_proto_goTypes = nil
+ file_PropChangeReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PropPair.pb.go b/protocol/proto/PropPair.pb.go
new file mode 100644
index 00000000..efc0ac4d
--- /dev/null
+++ b/protocol/proto/PropPair.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PropPair.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PropPair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
+ PropValue *PropValue `protobuf:"bytes,2,opt,name=prop_value,json=propValue,proto3" json:"prop_value,omitempty"`
+}
+
+func (x *PropPair) Reset() {
+ *x = PropPair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PropPair_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PropPair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PropPair) ProtoMessage() {}
+
+func (x *PropPair) ProtoReflect() protoreflect.Message {
+ mi := &file_PropPair_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PropPair.ProtoReflect.Descriptor instead.
+func (*PropPair) Descriptor() ([]byte, []int) {
+ return file_PropPair_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PropPair) GetType() uint32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+func (x *PropPair) GetPropValue() *PropValue {
+ if x != nil {
+ return x.PropValue
+ }
+ return nil
+}
+
+var File_PropPair_proto protoreflect.FileDescriptor
+
+var file_PropPair_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x70, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70,
+ 0x50, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
+ 0x70, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PropPair_proto_rawDescOnce sync.Once
+ file_PropPair_proto_rawDescData = file_PropPair_proto_rawDesc
+)
+
+func file_PropPair_proto_rawDescGZIP() []byte {
+ file_PropPair_proto_rawDescOnce.Do(func() {
+ file_PropPair_proto_rawDescData = protoimpl.X.CompressGZIP(file_PropPair_proto_rawDescData)
+ })
+ return file_PropPair_proto_rawDescData
+}
+
+var file_PropPair_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PropPair_proto_goTypes = []interface{}{
+ (*PropPair)(nil), // 0: proto.PropPair
+ (*PropValue)(nil), // 1: proto.PropValue
+}
+var file_PropPair_proto_depIdxs = []int32{
+ 1, // 0: proto.PropPair.prop_value:type_name -> proto.PropValue
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PropPair_proto_init() }
+func file_PropPair_proto_init() {
+ if File_PropPair_proto != nil {
+ return
+ }
+ file_PropValue_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PropPair_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PropPair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PropPair_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PropPair_proto_goTypes,
+ DependencyIndexes: file_PropPair_proto_depIdxs,
+ MessageInfos: file_PropPair_proto_msgTypes,
+ }.Build()
+ File_PropPair_proto = out.File
+ file_PropPair_proto_rawDesc = nil
+ file_PropPair_proto_goTypes = nil
+ file_PropPair_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PropValue.pb.go b/protocol/proto/PropValue.pb.go
new file mode 100644
index 00000000..34d6b573
--- /dev/null
+++ b/protocol/proto/PropValue.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PropValue.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PropValue struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
+ Val int64 `protobuf:"varint,4,opt,name=val,proto3" json:"val,omitempty"`
+ // Types that are assignable to Value:
+ //
+ // *PropValue_Ival
+ // *PropValue_Fval
+ Value isPropValue_Value `protobuf_oneof:"value"`
+}
+
+func (x *PropValue) Reset() {
+ *x = PropValue{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PropValue_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PropValue) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PropValue) ProtoMessage() {}
+
+func (x *PropValue) ProtoReflect() protoreflect.Message {
+ mi := &file_PropValue_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PropValue.ProtoReflect.Descriptor instead.
+func (*PropValue) Descriptor() ([]byte, []int) {
+ return file_PropValue_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PropValue) GetType() uint32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+func (x *PropValue) GetVal() int64 {
+ if x != nil {
+ return x.Val
+ }
+ return 0
+}
+
+func (m *PropValue) GetValue() isPropValue_Value {
+ if m != nil {
+ return m.Value
+ }
+ return nil
+}
+
+func (x *PropValue) GetIval() int64 {
+ if x, ok := x.GetValue().(*PropValue_Ival); ok {
+ return x.Ival
+ }
+ return 0
+}
+
+func (x *PropValue) GetFval() float32 {
+ if x, ok := x.GetValue().(*PropValue_Fval); ok {
+ return x.Fval
+ }
+ return 0
+}
+
+type isPropValue_Value interface {
+ isPropValue_Value()
+}
+
+type PropValue_Ival struct {
+ Ival int64 `protobuf:"varint,2,opt,name=ival,proto3,oneof"`
+}
+
+type PropValue_Fval struct {
+ Fval float32 `protobuf:"fixed32,3,opt,name=fval,proto3,oneof"`
+}
+
+func (*PropValue_Ival) isPropValue_Value() {}
+
+func (*PropValue_Fval) isPropValue_Value() {}
+
+var File_PropValue_proto protoreflect.FileDescriptor
+
+var file_PropValue_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x70,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x76, 0x61, 0x6c,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x04, 0x69,
+ 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x04, 0x69, 0x76, 0x61,
+ 0x6c, 0x12, 0x14, 0x0a, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x48,
+ 0x00, 0x52, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PropValue_proto_rawDescOnce sync.Once
+ file_PropValue_proto_rawDescData = file_PropValue_proto_rawDesc
+)
+
+func file_PropValue_proto_rawDescGZIP() []byte {
+ file_PropValue_proto_rawDescOnce.Do(func() {
+ file_PropValue_proto_rawDescData = protoimpl.X.CompressGZIP(file_PropValue_proto_rawDescData)
+ })
+ return file_PropValue_proto_rawDescData
+}
+
+var file_PropValue_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PropValue_proto_goTypes = []interface{}{
+ (*PropValue)(nil), // 0: proto.PropValue
+}
+var file_PropValue_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PropValue_proto_init() }
+func file_PropValue_proto_init() {
+ if File_PropValue_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PropValue_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PropValue); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_PropValue_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*PropValue_Ival)(nil),
+ (*PropValue_Fval)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PropValue_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PropValue_proto_goTypes,
+ DependencyIndexes: file_PropValue_proto_depIdxs,
+ MessageInfos: file_PropValue_proto_msgTypes,
+ }.Build()
+ File_PropValue_proto = out.File
+ file_PropValue_proto_rawDesc = nil
+ file_PropValue_proto_goTypes = nil
+ file_PropValue_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProtEntityType.pb.go b/protocol/proto/ProtEntityType.pb.go
new file mode 100644
index 00000000..01fd1b65
--- /dev/null
+++ b/protocol/proto/ProtEntityType.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProtEntityType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ProtEntityType int32
+
+const (
+ ProtEntityType_PROT_ENTITY_TYPE_NONE ProtEntityType = 0
+ ProtEntityType_PROT_ENTITY_TYPE_AVATAR ProtEntityType = 1
+ ProtEntityType_PROT_ENTITY_TYPE_MONSTER ProtEntityType = 2
+ ProtEntityType_PROT_ENTITY_TYPE_NPC ProtEntityType = 3
+ ProtEntityType_PROT_ENTITY_TYPE_GADGET ProtEntityType = 4
+ ProtEntityType_PROT_ENTITY_TYPE_REGION ProtEntityType = 5
+ ProtEntityType_PROT_ENTITY_TYPE_WEAPON ProtEntityType = 6
+ ProtEntityType_PROT_ENTITY_TYPE_WEATHER ProtEntityType = 7
+ ProtEntityType_PROT_ENTITY_TYPE_SCENE ProtEntityType = 8
+ ProtEntityType_PROT_ENTITY_TYPE_TEAM ProtEntityType = 9
+ ProtEntityType_PROT_ENTITY_TYPE_MASSIVE_ENTITY ProtEntityType = 10
+ ProtEntityType_PROT_ENTITY_TYPE_MP_LEVEL ProtEntityType = 11
+ ProtEntityType_PROT_ENTITY_TYPE_PLAY_TEAM_ENTITY ProtEntityType = 12
+ ProtEntityType_PROT_ENTITY_TYPE_EYE_POINT ProtEntityType = 13
+ ProtEntityType_PROT_ENTITY_TYPE_MAX ProtEntityType = 14
+)
+
+// Enum value maps for ProtEntityType.
+var (
+ ProtEntityType_name = map[int32]string{
+ 0: "PROT_ENTITY_TYPE_NONE",
+ 1: "PROT_ENTITY_TYPE_AVATAR",
+ 2: "PROT_ENTITY_TYPE_MONSTER",
+ 3: "PROT_ENTITY_TYPE_NPC",
+ 4: "PROT_ENTITY_TYPE_GADGET",
+ 5: "PROT_ENTITY_TYPE_REGION",
+ 6: "PROT_ENTITY_TYPE_WEAPON",
+ 7: "PROT_ENTITY_TYPE_WEATHER",
+ 8: "PROT_ENTITY_TYPE_SCENE",
+ 9: "PROT_ENTITY_TYPE_TEAM",
+ 10: "PROT_ENTITY_TYPE_MASSIVE_ENTITY",
+ 11: "PROT_ENTITY_TYPE_MP_LEVEL",
+ 12: "PROT_ENTITY_TYPE_PLAY_TEAM_ENTITY",
+ 13: "PROT_ENTITY_TYPE_EYE_POINT",
+ 14: "PROT_ENTITY_TYPE_MAX",
+ }
+ ProtEntityType_value = map[string]int32{
+ "PROT_ENTITY_TYPE_NONE": 0,
+ "PROT_ENTITY_TYPE_AVATAR": 1,
+ "PROT_ENTITY_TYPE_MONSTER": 2,
+ "PROT_ENTITY_TYPE_NPC": 3,
+ "PROT_ENTITY_TYPE_GADGET": 4,
+ "PROT_ENTITY_TYPE_REGION": 5,
+ "PROT_ENTITY_TYPE_WEAPON": 6,
+ "PROT_ENTITY_TYPE_WEATHER": 7,
+ "PROT_ENTITY_TYPE_SCENE": 8,
+ "PROT_ENTITY_TYPE_TEAM": 9,
+ "PROT_ENTITY_TYPE_MASSIVE_ENTITY": 10,
+ "PROT_ENTITY_TYPE_MP_LEVEL": 11,
+ "PROT_ENTITY_TYPE_PLAY_TEAM_ENTITY": 12,
+ "PROT_ENTITY_TYPE_EYE_POINT": 13,
+ "PROT_ENTITY_TYPE_MAX": 14,
+ }
+)
+
+func (x ProtEntityType) Enum() *ProtEntityType {
+ p := new(ProtEntityType)
+ *p = x
+ return p
+}
+
+func (x ProtEntityType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ProtEntityType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ProtEntityType_proto_enumTypes[0].Descriptor()
+}
+
+func (ProtEntityType) Type() protoreflect.EnumType {
+ return &file_ProtEntityType_proto_enumTypes[0]
+}
+
+func (x ProtEntityType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ProtEntityType.Descriptor instead.
+func (ProtEntityType) EnumDescriptor() ([]byte, []int) {
+ return file_ProtEntityType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ProtEntityType_proto protoreflect.FileDescriptor
+
+var file_ProtEntityType_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xd1, 0x03,
+ 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x50,
+ 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x54,
+ 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x4f, 0x4e,
+ 0x53, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45,
+ 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x50, 0x43, 0x10, 0x03,
+ 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x10, 0x04, 0x12, 0x1b, 0x0a,
+ 0x17, 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52,
+ 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57,
+ 0x45, 0x41, 0x50, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x45, 0x41, 0x54,
+ 0x48, 0x45, 0x52, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e,
+ 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10,
+ 0x08, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x09, 0x12, 0x23, 0x0a, 0x1f,
+ 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4d, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10,
+ 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x50, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x0b,
+ 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x45,
+ 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x52, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x59, 0x45, 0x5f,
+ 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x0d, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x52, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x58, 0x10,
+ 0x0e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ProtEntityType_proto_rawDescOnce sync.Once
+ file_ProtEntityType_proto_rawDescData = file_ProtEntityType_proto_rawDesc
+)
+
+func file_ProtEntityType_proto_rawDescGZIP() []byte {
+ file_ProtEntityType_proto_rawDescOnce.Do(func() {
+ file_ProtEntityType_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProtEntityType_proto_rawDescData)
+ })
+ return file_ProtEntityType_proto_rawDescData
+}
+
+var file_ProtEntityType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ProtEntityType_proto_goTypes = []interface{}{
+ (ProtEntityType)(0), // 0: proto.ProtEntityType
+}
+var file_ProtEntityType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProtEntityType_proto_init() }
+func file_ProtEntityType_proto_init() {
+ if File_ProtEntityType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProtEntityType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProtEntityType_proto_goTypes,
+ DependencyIndexes: file_ProtEntityType_proto_depIdxs,
+ EnumInfos: file_ProtEntityType_proto_enumTypes,
+ }.Build()
+ File_ProtEntityType_proto = out.File
+ file_ProtEntityType_proto_rawDesc = nil
+ file_ProtEntityType_proto_goTypes = nil
+ file_ProtEntityType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProudSkillChangeNotify.pb.go b/protocol/proto/ProudSkillChangeNotify.pb.go
new file mode 100644
index 00000000..a45a4297
--- /dev/null
+++ b/protocol/proto/ProudSkillChangeNotify.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProudSkillChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1031
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ProudSkillChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,11,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ SkillDepotId uint32 `protobuf:"varint,8,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+ ProudSkillList []uint32 `protobuf:"varint,12,rep,packed,name=proud_skill_list,json=proudSkillList,proto3" json:"proud_skill_list,omitempty"`
+}
+
+func (x *ProudSkillChangeNotify) Reset() {
+ *x = ProudSkillChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProudSkillChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProudSkillChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProudSkillChangeNotify) ProtoMessage() {}
+
+func (x *ProudSkillChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ProudSkillChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProudSkillChangeNotify.ProtoReflect.Descriptor instead.
+func (*ProudSkillChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ProudSkillChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProudSkillChangeNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *ProudSkillChangeNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *ProudSkillChangeNotify) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+func (x *ProudSkillChangeNotify) GetProudSkillList() []uint32 {
+ if x != nil {
+ return x.ProudSkillList
+ }
+ return nil
+}
+
+var File_ProudSkillChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ProudSkillChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x16, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x24,
+ 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x65, 0x70,
+ 0x6f, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e,
+ 0x70, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ProudSkillChangeNotify_proto_rawDescOnce sync.Once
+ file_ProudSkillChangeNotify_proto_rawDescData = file_ProudSkillChangeNotify_proto_rawDesc
+)
+
+func file_ProudSkillChangeNotify_proto_rawDescGZIP() []byte {
+ file_ProudSkillChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ProudSkillChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProudSkillChangeNotify_proto_rawDescData)
+ })
+ return file_ProudSkillChangeNotify_proto_rawDescData
+}
+
+var file_ProudSkillChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProudSkillChangeNotify_proto_goTypes = []interface{}{
+ (*ProudSkillChangeNotify)(nil), // 0: proto.ProudSkillChangeNotify
+}
+var file_ProudSkillChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProudSkillChangeNotify_proto_init() }
+func file_ProudSkillChangeNotify_proto_init() {
+ if File_ProudSkillChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ProudSkillChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProudSkillChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProudSkillChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProudSkillChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ProudSkillChangeNotify_proto_depIdxs,
+ MessageInfos: file_ProudSkillChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ProudSkillChangeNotify_proto = out.File
+ file_ProudSkillChangeNotify_proto_rawDesc = nil
+ file_ProudSkillChangeNotify_proto_goTypes = nil
+ file_ProudSkillChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProudSkillExtraLevelNotify.pb.go b/protocol/proto/ProudSkillExtraLevelNotify.pb.go
new file mode 100644
index 00000000..3938370e
--- /dev/null
+++ b/protocol/proto/ProudSkillExtraLevelNotify.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProudSkillExtraLevelNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1081
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ProudSkillExtraLevelNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TalentType uint32 `protobuf:"varint,11,opt,name=talent_type,json=talentType,proto3" json:"talent_type,omitempty"`
+ TalentIndex uint32 `protobuf:"varint,8,opt,name=talent_index,json=talentIndex,proto3" json:"talent_index,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,15,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ ExtraLevel uint32 `protobuf:"varint,3,opt,name=extra_level,json=extraLevel,proto3" json:"extra_level,omitempty"`
+}
+
+func (x *ProudSkillExtraLevelNotify) Reset() {
+ *x = ProudSkillExtraLevelNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProudSkillExtraLevelNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProudSkillExtraLevelNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProudSkillExtraLevelNotify) ProtoMessage() {}
+
+func (x *ProudSkillExtraLevelNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ProudSkillExtraLevelNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProudSkillExtraLevelNotify.ProtoReflect.Descriptor instead.
+func (*ProudSkillExtraLevelNotify) Descriptor() ([]byte, []int) {
+ return file_ProudSkillExtraLevelNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProudSkillExtraLevelNotify) GetTalentType() uint32 {
+ if x != nil {
+ return x.TalentType
+ }
+ return 0
+}
+
+func (x *ProudSkillExtraLevelNotify) GetTalentIndex() uint32 {
+ if x != nil {
+ return x.TalentIndex
+ }
+ return 0
+}
+
+func (x *ProudSkillExtraLevelNotify) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *ProudSkillExtraLevelNotify) GetExtraLevel() uint32 {
+ if x != nil {
+ return x.ExtraLevel
+ }
+ return 0
+}
+
+var File_ProudSkillExtraLevelNotify_proto protoreflect.FileDescriptor
+
+var file_ProudSkillExtraLevelNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72,
+ 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x50, 0x72,
+ 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x6c, 0x65,
+ 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74,
+ 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61, 0x6c,
+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ProudSkillExtraLevelNotify_proto_rawDescOnce sync.Once
+ file_ProudSkillExtraLevelNotify_proto_rawDescData = file_ProudSkillExtraLevelNotify_proto_rawDesc
+)
+
+func file_ProudSkillExtraLevelNotify_proto_rawDescGZIP() []byte {
+ file_ProudSkillExtraLevelNotify_proto_rawDescOnce.Do(func() {
+ file_ProudSkillExtraLevelNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProudSkillExtraLevelNotify_proto_rawDescData)
+ })
+ return file_ProudSkillExtraLevelNotify_proto_rawDescData
+}
+
+var file_ProudSkillExtraLevelNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProudSkillExtraLevelNotify_proto_goTypes = []interface{}{
+ (*ProudSkillExtraLevelNotify)(nil), // 0: proto.ProudSkillExtraLevelNotify
+}
+var file_ProudSkillExtraLevelNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProudSkillExtraLevelNotify_proto_init() }
+func file_ProudSkillExtraLevelNotify_proto_init() {
+ if File_ProudSkillExtraLevelNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ProudSkillExtraLevelNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProudSkillExtraLevelNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProudSkillExtraLevelNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProudSkillExtraLevelNotify_proto_goTypes,
+ DependencyIndexes: file_ProudSkillExtraLevelNotify_proto_depIdxs,
+ MessageInfos: file_ProudSkillExtraLevelNotify_proto_msgTypes,
+ }.Build()
+ File_ProudSkillExtraLevelNotify_proto = out.File
+ file_ProudSkillExtraLevelNotify_proto_rawDesc = nil
+ file_ProudSkillExtraLevelNotify_proto_goTypes = nil
+ file_ProudSkillExtraLevelNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProudSkillUpgradeReq.pb.go b/protocol/proto/ProudSkillUpgradeReq.pb.go
new file mode 100644
index 00000000..25e4fe69
--- /dev/null
+++ b/protocol/proto/ProudSkillUpgradeReq.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProudSkillUpgradeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1073
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ProudSkillUpgradeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,5,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ OldProudSkillLevel uint32 `protobuf:"varint,4,opt,name=old_proud_skill_level,json=oldProudSkillLevel,proto3" json:"old_proud_skill_level,omitempty"`
+ ProudSkillId uint32 `protobuf:"varint,14,opt,name=proud_skill_id,json=proudSkillId,proto3" json:"proud_skill_id,omitempty"`
+}
+
+func (x *ProudSkillUpgradeReq) Reset() {
+ *x = ProudSkillUpgradeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProudSkillUpgradeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProudSkillUpgradeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProudSkillUpgradeReq) ProtoMessage() {}
+
+func (x *ProudSkillUpgradeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ProudSkillUpgradeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProudSkillUpgradeReq.ProtoReflect.Descriptor instead.
+func (*ProudSkillUpgradeReq) Descriptor() ([]byte, []int) {
+ return file_ProudSkillUpgradeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProudSkillUpgradeReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *ProudSkillUpgradeReq) GetOldProudSkillLevel() uint32 {
+ if x != nil {
+ return x.OldProudSkillLevel
+ }
+ return 0
+}
+
+func (x *ProudSkillUpgradeReq) GetProudSkillId() uint32 {
+ if x != nil {
+ return x.ProudSkillId
+ }
+ return 0
+}
+
+var File_ProudSkillUpgradeReq_proto protoreflect.FileDescriptor
+
+var file_ProudSkillUpgradeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72,
+ 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x31, 0x0a,
+ 0x15, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6f, 0x6c,
+ 0x64, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ProudSkillUpgradeReq_proto_rawDescOnce sync.Once
+ file_ProudSkillUpgradeReq_proto_rawDescData = file_ProudSkillUpgradeReq_proto_rawDesc
+)
+
+func file_ProudSkillUpgradeReq_proto_rawDescGZIP() []byte {
+ file_ProudSkillUpgradeReq_proto_rawDescOnce.Do(func() {
+ file_ProudSkillUpgradeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProudSkillUpgradeReq_proto_rawDescData)
+ })
+ return file_ProudSkillUpgradeReq_proto_rawDescData
+}
+
+var file_ProudSkillUpgradeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProudSkillUpgradeReq_proto_goTypes = []interface{}{
+ (*ProudSkillUpgradeReq)(nil), // 0: proto.ProudSkillUpgradeReq
+}
+var file_ProudSkillUpgradeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProudSkillUpgradeReq_proto_init() }
+func file_ProudSkillUpgradeReq_proto_init() {
+ if File_ProudSkillUpgradeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ProudSkillUpgradeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProudSkillUpgradeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProudSkillUpgradeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProudSkillUpgradeReq_proto_goTypes,
+ DependencyIndexes: file_ProudSkillUpgradeReq_proto_depIdxs,
+ MessageInfos: file_ProudSkillUpgradeReq_proto_msgTypes,
+ }.Build()
+ File_ProudSkillUpgradeReq_proto = out.File
+ file_ProudSkillUpgradeReq_proto_rawDesc = nil
+ file_ProudSkillUpgradeReq_proto_goTypes = nil
+ file_ProudSkillUpgradeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ProudSkillUpgradeRsp.pb.go b/protocol/proto/ProudSkillUpgradeRsp.pb.go
new file mode 100644
index 00000000..9ae14a85
--- /dev/null
+++ b/protocol/proto/ProudSkillUpgradeRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ProudSkillUpgradeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1099
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ProudSkillUpgradeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,6,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ ProudSkillId uint32 `protobuf:"varint,10,opt,name=proud_skill_id,json=proudSkillId,proto3" json:"proud_skill_id,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ProudSkillUpgradeRsp) Reset() {
+ *x = ProudSkillUpgradeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ProudSkillUpgradeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProudSkillUpgradeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProudSkillUpgradeRsp) ProtoMessage() {}
+
+func (x *ProudSkillUpgradeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ProudSkillUpgradeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProudSkillUpgradeRsp.ProtoReflect.Descriptor instead.
+func (*ProudSkillUpgradeRsp) Descriptor() ([]byte, []int) {
+ return file_ProudSkillUpgradeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ProudSkillUpgradeRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *ProudSkillUpgradeRsp) GetProudSkillId() uint32 {
+ if x != nil {
+ return x.ProudSkillId
+ }
+ return 0
+}
+
+func (x *ProudSkillUpgradeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ProudSkillUpgradeRsp_proto protoreflect.FileDescriptor
+
+var file_ProudSkillUpgradeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x70, 0x67, 0x72,
+ 0x61, 0x64, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e,
+ 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ProudSkillUpgradeRsp_proto_rawDescOnce sync.Once
+ file_ProudSkillUpgradeRsp_proto_rawDescData = file_ProudSkillUpgradeRsp_proto_rawDesc
+)
+
+func file_ProudSkillUpgradeRsp_proto_rawDescGZIP() []byte {
+ file_ProudSkillUpgradeRsp_proto_rawDescOnce.Do(func() {
+ file_ProudSkillUpgradeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ProudSkillUpgradeRsp_proto_rawDescData)
+ })
+ return file_ProudSkillUpgradeRsp_proto_rawDescData
+}
+
+var file_ProudSkillUpgradeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ProudSkillUpgradeRsp_proto_goTypes = []interface{}{
+ (*ProudSkillUpgradeRsp)(nil), // 0: proto.ProudSkillUpgradeRsp
+}
+var file_ProudSkillUpgradeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ProudSkillUpgradeRsp_proto_init() }
+func file_ProudSkillUpgradeRsp_proto_init() {
+ if File_ProudSkillUpgradeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ProudSkillUpgradeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ProudSkillUpgradeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ProudSkillUpgradeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ProudSkillUpgradeRsp_proto_goTypes,
+ DependencyIndexes: file_ProudSkillUpgradeRsp_proto_depIdxs,
+ MessageInfos: file_ProudSkillUpgradeRsp_proto_msgTypes,
+ }.Build()
+ File_ProudSkillUpgradeRsp_proto = out.File
+ file_ProudSkillUpgradeRsp_proto_rawDesc = nil
+ file_ProudSkillUpgradeRsp_proto_goTypes = nil
+ file_ProudSkillUpgradeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PublishCustomDungeonReq.pb.go b/protocol/proto/PublishCustomDungeonReq.pb.go
new file mode 100644
index 00000000..e9724467
--- /dev/null
+++ b/protocol/proto/PublishCustomDungeonReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PublishCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6242
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PublishCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TagList []uint32 `protobuf:"varint,1,rep,packed,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,5,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+}
+
+func (x *PublishCustomDungeonReq) Reset() {
+ *x = PublishCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PublishCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PublishCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PublishCustomDungeonReq) ProtoMessage() {}
+
+func (x *PublishCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PublishCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PublishCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*PublishCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_PublishCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PublishCustomDungeonReq) GetTagList() []uint32 {
+ if x != nil {
+ return x.TagList
+ }
+ return nil
+}
+
+func (x *PublishCustomDungeonReq) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+var File_PublishCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_PublishCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73,
+ 0x68, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PublishCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_PublishCustomDungeonReq_proto_rawDescData = file_PublishCustomDungeonReq_proto_rawDesc
+)
+
+func file_PublishCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_PublishCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_PublishCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PublishCustomDungeonReq_proto_rawDescData)
+ })
+ return file_PublishCustomDungeonReq_proto_rawDescData
+}
+
+var file_PublishCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PublishCustomDungeonReq_proto_goTypes = []interface{}{
+ (*PublishCustomDungeonReq)(nil), // 0: proto.PublishCustomDungeonReq
+}
+var file_PublishCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PublishCustomDungeonReq_proto_init() }
+func file_PublishCustomDungeonReq_proto_init() {
+ if File_PublishCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PublishCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PublishCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PublishCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PublishCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_PublishCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_PublishCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_PublishCustomDungeonReq_proto = out.File
+ file_PublishCustomDungeonReq_proto_rawDesc = nil
+ file_PublishCustomDungeonReq_proto_goTypes = nil
+ file_PublishCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PublishCustomDungeonRsp.pb.go b/protocol/proto/PublishCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..00c79c9b
--- /dev/null
+++ b/protocol/proto/PublishCustomDungeonRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PublishCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6214
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PublishCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PublishCustomDungeonRsp) Reset() {
+ *x = PublishCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PublishCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PublishCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PublishCustomDungeonRsp) ProtoMessage() {}
+
+func (x *PublishCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PublishCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PublishCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*PublishCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_PublishCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PublishCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PublishCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_PublishCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73,
+ 0x68, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PublishCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_PublishCustomDungeonRsp_proto_rawDescData = file_PublishCustomDungeonRsp_proto_rawDesc
+)
+
+func file_PublishCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_PublishCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_PublishCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PublishCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_PublishCustomDungeonRsp_proto_rawDescData
+}
+
+var file_PublishCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PublishCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*PublishCustomDungeonRsp)(nil), // 0: proto.PublishCustomDungeonRsp
+}
+var file_PublishCustomDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PublishCustomDungeonRsp_proto_init() }
+func file_PublishCustomDungeonRsp_proto_init() {
+ if File_PublishCustomDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PublishCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PublishCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PublishCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PublishCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_PublishCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_PublishCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_PublishCustomDungeonRsp_proto = out.File
+ file_PublishCustomDungeonRsp_proto_rawDesc = nil
+ file_PublishCustomDungeonRsp_proto_goTypes = nil
+ file_PublishCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PublishUgcReq.pb.go b/protocol/proto/PublishUgcReq.pb.go
new file mode 100644
index 00000000..a02a6230
--- /dev/null
+++ b/protocol/proto/PublishUgcReq.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PublishUgcReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6344
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PublishUgcReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcType UgcType `protobuf:"varint,7,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+ UgcGuid uint64 `protobuf:"varint,12,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+}
+
+func (x *PublishUgcReq) Reset() {
+ *x = PublishUgcReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PublishUgcReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PublishUgcReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PublishUgcReq) ProtoMessage() {}
+
+func (x *PublishUgcReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PublishUgcReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PublishUgcReq.ProtoReflect.Descriptor instead.
+func (*PublishUgcReq) Descriptor() ([]byte, []int) {
+ return file_PublishUgcReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PublishUgcReq) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+func (x *PublishUgcReq) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+var File_PublishUgcReq_proto protoreflect.FileDescriptor
+
+var file_PublishUgcReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x55, 0x67, 0x63, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x55, 0x67,
+ 0x63, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x0d, 0x50,
+ 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x55, 0x67, 0x63, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x08,
+ 0x75, 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07,
+ 0x75, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75,
+ 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PublishUgcReq_proto_rawDescOnce sync.Once
+ file_PublishUgcReq_proto_rawDescData = file_PublishUgcReq_proto_rawDesc
+)
+
+func file_PublishUgcReq_proto_rawDescGZIP() []byte {
+ file_PublishUgcReq_proto_rawDescOnce.Do(func() {
+ file_PublishUgcReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PublishUgcReq_proto_rawDescData)
+ })
+ return file_PublishUgcReq_proto_rawDescData
+}
+
+var file_PublishUgcReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PublishUgcReq_proto_goTypes = []interface{}{
+ (*PublishUgcReq)(nil), // 0: proto.PublishUgcReq
+ (UgcType)(0), // 1: proto.UgcType
+}
+var file_PublishUgcReq_proto_depIdxs = []int32{
+ 1, // 0: proto.PublishUgcReq.ugc_type:type_name -> proto.UgcType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PublishUgcReq_proto_init() }
+func file_PublishUgcReq_proto_init() {
+ if File_PublishUgcReq_proto != nil {
+ return
+ }
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PublishUgcReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PublishUgcReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PublishUgcReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PublishUgcReq_proto_goTypes,
+ DependencyIndexes: file_PublishUgcReq_proto_depIdxs,
+ MessageInfos: file_PublishUgcReq_proto_msgTypes,
+ }.Build()
+ File_PublishUgcReq_proto = out.File
+ file_PublishUgcReq_proto_rawDesc = nil
+ file_PublishUgcReq_proto_goTypes = nil
+ file_PublishUgcReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PublishUgcRsp.pb.go b/protocol/proto/PublishUgcRsp.pb.go
new file mode 100644
index 00000000..06a21d01
--- /dev/null
+++ b/protocol/proto/PublishUgcRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PublishUgcRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6349
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PublishUgcRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcGuid uint64 `protobuf:"varint,14,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ UgcType UgcType `protobuf:"varint,13,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+}
+
+func (x *PublishUgcRsp) Reset() {
+ *x = PublishUgcRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PublishUgcRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PublishUgcRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PublishUgcRsp) ProtoMessage() {}
+
+func (x *PublishUgcRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PublishUgcRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PublishUgcRsp.ProtoReflect.Descriptor instead.
+func (*PublishUgcRsp) Descriptor() ([]byte, []int) {
+ return file_PublishUgcRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PublishUgcRsp) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+func (x *PublishUgcRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *PublishUgcRsp) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+var File_PublishUgcRsp_proto protoreflect.FileDescriptor
+
+var file_PublishUgcRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x55, 0x67, 0x63, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x55, 0x67,
+ 0x63, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x0d, 0x50,
+ 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x55, 0x67, 0x63, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08,
+ 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07,
+ 0x75, 0x67, 0x63, 0x47, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x07, 0x75, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PublishUgcRsp_proto_rawDescOnce sync.Once
+ file_PublishUgcRsp_proto_rawDescData = file_PublishUgcRsp_proto_rawDesc
+)
+
+func file_PublishUgcRsp_proto_rawDescGZIP() []byte {
+ file_PublishUgcRsp_proto_rawDescOnce.Do(func() {
+ file_PublishUgcRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PublishUgcRsp_proto_rawDescData)
+ })
+ return file_PublishUgcRsp_proto_rawDescData
+}
+
+var file_PublishUgcRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PublishUgcRsp_proto_goTypes = []interface{}{
+ (*PublishUgcRsp)(nil), // 0: proto.PublishUgcRsp
+ (UgcType)(0), // 1: proto.UgcType
+}
+var file_PublishUgcRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PublishUgcRsp.ugc_type:type_name -> proto.UgcType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PublishUgcRsp_proto_init() }
+func file_PublishUgcRsp_proto_init() {
+ if File_PublishUgcRsp_proto != nil {
+ return
+ }
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PublishUgcRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PublishUgcRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PublishUgcRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PublishUgcRsp_proto_goTypes,
+ DependencyIndexes: file_PublishUgcRsp_proto_depIdxs,
+ MessageInfos: file_PublishUgcRsp_proto_msgTypes,
+ }.Build()
+ File_PublishUgcRsp_proto = out.File
+ file_PublishUgcRsp_proto_rawDesc = nil
+ file_PublishUgcRsp_proto_goTypes = nil
+ file_PublishUgcRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PullPrivateChatReq.pb.go b/protocol/proto/PullPrivateChatReq.pb.go
new file mode 100644
index 00000000..67944eba
--- /dev/null
+++ b/protocol/proto/PullPrivateChatReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PullPrivateChatReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4971
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PullPrivateChatReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,5,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ PullNum uint32 `protobuf:"varint,7,opt,name=pull_num,json=pullNum,proto3" json:"pull_num,omitempty"`
+ FromSequence uint32 `protobuf:"varint,12,opt,name=from_sequence,json=fromSequence,proto3" json:"from_sequence,omitempty"`
+}
+
+func (x *PullPrivateChatReq) Reset() {
+ *x = PullPrivateChatReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PullPrivateChatReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PullPrivateChatReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PullPrivateChatReq) ProtoMessage() {}
+
+func (x *PullPrivateChatReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PullPrivateChatReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PullPrivateChatReq.ProtoReflect.Descriptor instead.
+func (*PullPrivateChatReq) Descriptor() ([]byte, []int) {
+ return file_PullPrivateChatReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PullPrivateChatReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *PullPrivateChatReq) GetPullNum() uint32 {
+ if x != nil {
+ return x.PullNum
+ }
+ return 0
+}
+
+func (x *PullPrivateChatReq) GetFromSequence() uint32 {
+ if x != nil {
+ return x.FromSequence
+ }
+ return 0
+}
+
+var File_PullPrivateChatReq_proto protoreflect.FileDescriptor
+
+var file_PullPrivateChatReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x75, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x73, 0x0a, 0x12, 0x50, 0x75, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x6e,
+ 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x75, 0x6c, 0x6c, 0x4e, 0x75,
+ 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e,
+ 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x53, 0x65,
+ 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PullPrivateChatReq_proto_rawDescOnce sync.Once
+ file_PullPrivateChatReq_proto_rawDescData = file_PullPrivateChatReq_proto_rawDesc
+)
+
+func file_PullPrivateChatReq_proto_rawDescGZIP() []byte {
+ file_PullPrivateChatReq_proto_rawDescOnce.Do(func() {
+ file_PullPrivateChatReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PullPrivateChatReq_proto_rawDescData)
+ })
+ return file_PullPrivateChatReq_proto_rawDescData
+}
+
+var file_PullPrivateChatReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PullPrivateChatReq_proto_goTypes = []interface{}{
+ (*PullPrivateChatReq)(nil), // 0: proto.PullPrivateChatReq
+}
+var file_PullPrivateChatReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PullPrivateChatReq_proto_init() }
+func file_PullPrivateChatReq_proto_init() {
+ if File_PullPrivateChatReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PullPrivateChatReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PullPrivateChatReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PullPrivateChatReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PullPrivateChatReq_proto_goTypes,
+ DependencyIndexes: file_PullPrivateChatReq_proto_depIdxs,
+ MessageInfos: file_PullPrivateChatReq_proto_msgTypes,
+ }.Build()
+ File_PullPrivateChatReq_proto = out.File
+ file_PullPrivateChatReq_proto_rawDesc = nil
+ file_PullPrivateChatReq_proto_goTypes = nil
+ file_PullPrivateChatReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PullPrivateChatRsp.pb.go b/protocol/proto/PullPrivateChatRsp.pb.go
new file mode 100644
index 00000000..abf7c704
--- /dev/null
+++ b/protocol/proto/PullPrivateChatRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PullPrivateChatRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4953
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PullPrivateChatRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatInfo []*ChatInfo `protobuf:"bytes,15,rep,name=chat_info,json=chatInfo,proto3" json:"chat_info,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PullPrivateChatRsp) Reset() {
+ *x = PullPrivateChatRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PullPrivateChatRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PullPrivateChatRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PullPrivateChatRsp) ProtoMessage() {}
+
+func (x *PullPrivateChatRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PullPrivateChatRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PullPrivateChatRsp.ProtoReflect.Descriptor instead.
+func (*PullPrivateChatRsp) Descriptor() ([]byte, []int) {
+ return file_PullPrivateChatRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PullPrivateChatRsp) GetChatInfo() []*ChatInfo {
+ if x != nil {
+ return x.ChatInfo
+ }
+ return nil
+}
+
+func (x *PullPrivateChatRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PullPrivateChatRsp_proto protoreflect.FileDescriptor
+
+var file_PullPrivateChatRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x50, 0x75, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x5c, 0x0a, 0x12, 0x50, 0x75, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x43, 0x68, 0x61, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PullPrivateChatRsp_proto_rawDescOnce sync.Once
+ file_PullPrivateChatRsp_proto_rawDescData = file_PullPrivateChatRsp_proto_rawDesc
+)
+
+func file_PullPrivateChatRsp_proto_rawDescGZIP() []byte {
+ file_PullPrivateChatRsp_proto_rawDescOnce.Do(func() {
+ file_PullPrivateChatRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PullPrivateChatRsp_proto_rawDescData)
+ })
+ return file_PullPrivateChatRsp_proto_rawDescData
+}
+
+var file_PullPrivateChatRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PullPrivateChatRsp_proto_goTypes = []interface{}{
+ (*PullPrivateChatRsp)(nil), // 0: proto.PullPrivateChatRsp
+ (*ChatInfo)(nil), // 1: proto.ChatInfo
+}
+var file_PullPrivateChatRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PullPrivateChatRsp.chat_info:type_name -> proto.ChatInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PullPrivateChatRsp_proto_init() }
+func file_PullPrivateChatRsp_proto_init() {
+ if File_PullPrivateChatRsp_proto != nil {
+ return
+ }
+ file_ChatInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PullPrivateChatRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PullPrivateChatRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PullPrivateChatRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PullPrivateChatRsp_proto_goTypes,
+ DependencyIndexes: file_PullPrivateChatRsp_proto_depIdxs,
+ MessageInfos: file_PullPrivateChatRsp_proto_msgTypes,
+ }.Build()
+ File_PullPrivateChatRsp_proto = out.File
+ file_PullPrivateChatRsp_proto_rawDesc = nil
+ file_PullPrivateChatRsp_proto_goTypes = nil
+ file_PullPrivateChatRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PullRecentChatReq.pb.go b/protocol/proto/PullRecentChatReq.pb.go
new file mode 100644
index 00000000..c3067f4c
--- /dev/null
+++ b/protocol/proto/PullRecentChatReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PullRecentChatReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5040
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PullRecentChatReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PullNum uint32 `protobuf:"varint,6,opt,name=pull_num,json=pullNum,proto3" json:"pull_num,omitempty"`
+ BeginSequence uint32 `protobuf:"varint,15,opt,name=begin_sequence,json=beginSequence,proto3" json:"begin_sequence,omitempty"`
+}
+
+func (x *PullRecentChatReq) Reset() {
+ *x = PullRecentChatReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PullRecentChatReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PullRecentChatReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PullRecentChatReq) ProtoMessage() {}
+
+func (x *PullRecentChatReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PullRecentChatReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PullRecentChatReq.ProtoReflect.Descriptor instead.
+func (*PullRecentChatReq) Descriptor() ([]byte, []int) {
+ return file_PullRecentChatReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PullRecentChatReq) GetPullNum() uint32 {
+ if x != nil {
+ return x.PullNum
+ }
+ return 0
+}
+
+func (x *PullRecentChatReq) GetBeginSequence() uint32 {
+ if x != nil {
+ return x.BeginSequence
+ }
+ return 0
+}
+
+var File_PullRecentChatReq_proto protoreflect.FileDescriptor
+
+var file_PullRecentChatReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x74,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x55, 0x0a, 0x11, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x68,
+ 0x61, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x75, 0x6c, 0x6c, 0x4e, 0x75, 0x6d,
+ 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e,
+ 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x53,
+ 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PullRecentChatReq_proto_rawDescOnce sync.Once
+ file_PullRecentChatReq_proto_rawDescData = file_PullRecentChatReq_proto_rawDesc
+)
+
+func file_PullRecentChatReq_proto_rawDescGZIP() []byte {
+ file_PullRecentChatReq_proto_rawDescOnce.Do(func() {
+ file_PullRecentChatReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PullRecentChatReq_proto_rawDescData)
+ })
+ return file_PullRecentChatReq_proto_rawDescData
+}
+
+var file_PullRecentChatReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PullRecentChatReq_proto_goTypes = []interface{}{
+ (*PullRecentChatReq)(nil), // 0: proto.PullRecentChatReq
+}
+var file_PullRecentChatReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PullRecentChatReq_proto_init() }
+func file_PullRecentChatReq_proto_init() {
+ if File_PullRecentChatReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PullRecentChatReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PullRecentChatReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PullRecentChatReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PullRecentChatReq_proto_goTypes,
+ DependencyIndexes: file_PullRecentChatReq_proto_depIdxs,
+ MessageInfos: file_PullRecentChatReq_proto_msgTypes,
+ }.Build()
+ File_PullRecentChatReq_proto = out.File
+ file_PullRecentChatReq_proto_rawDesc = nil
+ file_PullRecentChatReq_proto_goTypes = nil
+ file_PullRecentChatReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PullRecentChatRsp.pb.go b/protocol/proto/PullRecentChatRsp.pb.go
new file mode 100644
index 00000000..443b5e2f
--- /dev/null
+++ b/protocol/proto/PullRecentChatRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PullRecentChatRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5023
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PullRecentChatRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatInfo []*ChatInfo `protobuf:"bytes,15,rep,name=chat_info,json=chatInfo,proto3" json:"chat_info,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PullRecentChatRsp) Reset() {
+ *x = PullRecentChatRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PullRecentChatRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PullRecentChatRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PullRecentChatRsp) ProtoMessage() {}
+
+func (x *PullRecentChatRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PullRecentChatRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PullRecentChatRsp.ProtoReflect.Descriptor instead.
+func (*PullRecentChatRsp) Descriptor() ([]byte, []int) {
+ return file_PullRecentChatRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PullRecentChatRsp) GetChatInfo() []*ChatInfo {
+ if x != nil {
+ return x.ChatInfo
+ }
+ return nil
+}
+
+func (x *PullRecentChatRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PullRecentChatRsp_proto protoreflect.FileDescriptor
+
+var file_PullRecentChatRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x74,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x75, 0x6c, 0x6c, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x43, 0x68,
+ 0x61, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x68, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x68, 0x61, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_PullRecentChatRsp_proto_rawDescOnce sync.Once
+ file_PullRecentChatRsp_proto_rawDescData = file_PullRecentChatRsp_proto_rawDesc
+)
+
+func file_PullRecentChatRsp_proto_rawDescGZIP() []byte {
+ file_PullRecentChatRsp_proto_rawDescOnce.Do(func() {
+ file_PullRecentChatRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PullRecentChatRsp_proto_rawDescData)
+ })
+ return file_PullRecentChatRsp_proto_rawDescData
+}
+
+var file_PullRecentChatRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PullRecentChatRsp_proto_goTypes = []interface{}{
+ (*PullRecentChatRsp)(nil), // 0: proto.PullRecentChatRsp
+ (*ChatInfo)(nil), // 1: proto.ChatInfo
+}
+var file_PullRecentChatRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.PullRecentChatRsp.chat_info:type_name -> proto.ChatInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PullRecentChatRsp_proto_init() }
+func file_PullRecentChatRsp_proto_init() {
+ if File_PullRecentChatRsp_proto != nil {
+ return
+ }
+ file_ChatInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PullRecentChatRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PullRecentChatRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PullRecentChatRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PullRecentChatRsp_proto_goTypes,
+ DependencyIndexes: file_PullRecentChatRsp_proto_depIdxs,
+ MessageInfos: file_PullRecentChatRsp_proto_msgTypes,
+ }.Build()
+ File_PullRecentChatRsp_proto = out.File
+ file_PullRecentChatRsp_proto_rawDesc = nil
+ file_PullRecentChatRsp_proto_goTypes = nil
+ file_PullRecentChatRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PushTipsAllDataNotify.pb.go b/protocol/proto/PushTipsAllDataNotify.pb.go
new file mode 100644
index 00000000..c9a3f9b7
--- /dev/null
+++ b/protocol/proto/PushTipsAllDataNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PushTipsAllDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2222
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PushTipsAllDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PushTipsList []*PushTipsData `protobuf:"bytes,4,rep,name=push_tips_list,json=pushTipsList,proto3" json:"push_tips_list,omitempty"`
+}
+
+func (x *PushTipsAllDataNotify) Reset() {
+ *x = PushTipsAllDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PushTipsAllDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PushTipsAllDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PushTipsAllDataNotify) ProtoMessage() {}
+
+func (x *PushTipsAllDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PushTipsAllDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PushTipsAllDataNotify.ProtoReflect.Descriptor instead.
+func (*PushTipsAllDataNotify) Descriptor() ([]byte, []int) {
+ return file_PushTipsAllDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PushTipsAllDataNotify) GetPushTipsList() []*PushTipsData {
+ if x != nil {
+ return x.PushTipsList
+ }
+ return nil
+}
+
+var File_PushTipsAllDataNotify_proto protoreflect.FileDescriptor
+
+var file_PushTipsAllDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x15, 0x50, 0x75, 0x73, 0x68,
+ 0x54, 0x69, 0x70, 0x73, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x39, 0x0a, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c,
+ 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PushTipsAllDataNotify_proto_rawDescOnce sync.Once
+ file_PushTipsAllDataNotify_proto_rawDescData = file_PushTipsAllDataNotify_proto_rawDesc
+)
+
+func file_PushTipsAllDataNotify_proto_rawDescGZIP() []byte {
+ file_PushTipsAllDataNotify_proto_rawDescOnce.Do(func() {
+ file_PushTipsAllDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PushTipsAllDataNotify_proto_rawDescData)
+ })
+ return file_PushTipsAllDataNotify_proto_rawDescData
+}
+
+var file_PushTipsAllDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PushTipsAllDataNotify_proto_goTypes = []interface{}{
+ (*PushTipsAllDataNotify)(nil), // 0: proto.PushTipsAllDataNotify
+ (*PushTipsData)(nil), // 1: proto.PushTipsData
+}
+var file_PushTipsAllDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PushTipsAllDataNotify.push_tips_list:type_name -> proto.PushTipsData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PushTipsAllDataNotify_proto_init() }
+func file_PushTipsAllDataNotify_proto_init() {
+ if File_PushTipsAllDataNotify_proto != nil {
+ return
+ }
+ file_PushTipsData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PushTipsAllDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PushTipsAllDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PushTipsAllDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PushTipsAllDataNotify_proto_goTypes,
+ DependencyIndexes: file_PushTipsAllDataNotify_proto_depIdxs,
+ MessageInfos: file_PushTipsAllDataNotify_proto_msgTypes,
+ }.Build()
+ File_PushTipsAllDataNotify_proto = out.File
+ file_PushTipsAllDataNotify_proto_rawDesc = nil
+ file_PushTipsAllDataNotify_proto_goTypes = nil
+ file_PushTipsAllDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PushTipsChangeNotify.pb.go b/protocol/proto/PushTipsChangeNotify.pb.go
new file mode 100644
index 00000000..bde32622
--- /dev/null
+++ b/protocol/proto/PushTipsChangeNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PushTipsChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2265
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PushTipsChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PushTipsList []*PushTipsData `protobuf:"bytes,9,rep,name=push_tips_list,json=pushTipsList,proto3" json:"push_tips_list,omitempty"`
+}
+
+func (x *PushTipsChangeNotify) Reset() {
+ *x = PushTipsChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PushTipsChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PushTipsChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PushTipsChangeNotify) ProtoMessage() {}
+
+func (x *PushTipsChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_PushTipsChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PushTipsChangeNotify.ProtoReflect.Descriptor instead.
+func (*PushTipsChangeNotify) Descriptor() ([]byte, []int) {
+ return file_PushTipsChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PushTipsChangeNotify) GetPushTipsList() []*PushTipsData {
+ if x != nil {
+ return x.PushTipsList
+ }
+ return nil
+}
+
+var File_PushTipsChangeNotify_proto protoreflect.FileDescriptor
+
+var file_PushTipsChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x14, 0x50, 0x75, 0x73, 0x68, 0x54,
+ 0x69, 0x70, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x39, 0x0a, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x70, 0x75,
+ 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PushTipsChangeNotify_proto_rawDescOnce sync.Once
+ file_PushTipsChangeNotify_proto_rawDescData = file_PushTipsChangeNotify_proto_rawDesc
+)
+
+func file_PushTipsChangeNotify_proto_rawDescGZIP() []byte {
+ file_PushTipsChangeNotify_proto_rawDescOnce.Do(func() {
+ file_PushTipsChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_PushTipsChangeNotify_proto_rawDescData)
+ })
+ return file_PushTipsChangeNotify_proto_rawDescData
+}
+
+var file_PushTipsChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PushTipsChangeNotify_proto_goTypes = []interface{}{
+ (*PushTipsChangeNotify)(nil), // 0: proto.PushTipsChangeNotify
+ (*PushTipsData)(nil), // 1: proto.PushTipsData
+}
+var file_PushTipsChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.PushTipsChangeNotify.push_tips_list:type_name -> proto.PushTipsData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_PushTipsChangeNotify_proto_init() }
+func file_PushTipsChangeNotify_proto_init() {
+ if File_PushTipsChangeNotify_proto != nil {
+ return
+ }
+ file_PushTipsData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_PushTipsChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PushTipsChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PushTipsChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PushTipsChangeNotify_proto_goTypes,
+ DependencyIndexes: file_PushTipsChangeNotify_proto_depIdxs,
+ MessageInfos: file_PushTipsChangeNotify_proto_msgTypes,
+ }.Build()
+ File_PushTipsChangeNotify_proto = out.File
+ file_PushTipsChangeNotify_proto_rawDesc = nil
+ file_PushTipsChangeNotify_proto_goTypes = nil
+ file_PushTipsChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PushTipsData.pb.go b/protocol/proto/PushTipsData.pb.go
new file mode 100644
index 00000000..a5b81df8
--- /dev/null
+++ b/protocol/proto/PushTipsData.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PushTipsData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type PushTipsData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PushTipsId uint32 `protobuf:"varint,13,opt,name=push_tips_id,json=pushTipsId,proto3" json:"push_tips_id,omitempty"`
+ State uint32 `protobuf:"varint,4,opt,name=state,proto3" json:"state,omitempty"`
+}
+
+func (x *PushTipsData) Reset() {
+ *x = PushTipsData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PushTipsData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PushTipsData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PushTipsData) ProtoMessage() {}
+
+func (x *PushTipsData) ProtoReflect() protoreflect.Message {
+ mi := &file_PushTipsData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PushTipsData.ProtoReflect.Descriptor instead.
+func (*PushTipsData) Descriptor() ([]byte, []int) {
+ return file_PushTipsData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PushTipsData) GetPushTipsId() uint32 {
+ if x != nil {
+ return x.PushTipsId
+ }
+ return 0
+}
+
+func (x *PushTipsData) GetState() uint32 {
+ if x != nil {
+ return x.State
+ }
+ return 0
+}
+
+var File_PushTipsData_proto protoreflect.FileDescriptor
+
+var file_PushTipsData_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x0c, 0x50,
+ 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0c, 0x70,
+ 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x49, 0x64, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PushTipsData_proto_rawDescOnce sync.Once
+ file_PushTipsData_proto_rawDescData = file_PushTipsData_proto_rawDesc
+)
+
+func file_PushTipsData_proto_rawDescGZIP() []byte {
+ file_PushTipsData_proto_rawDescOnce.Do(func() {
+ file_PushTipsData_proto_rawDescData = protoimpl.X.CompressGZIP(file_PushTipsData_proto_rawDescData)
+ })
+ return file_PushTipsData_proto_rawDescData
+}
+
+var file_PushTipsData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PushTipsData_proto_goTypes = []interface{}{
+ (*PushTipsData)(nil), // 0: proto.PushTipsData
+}
+var file_PushTipsData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PushTipsData_proto_init() }
+func file_PushTipsData_proto_init() {
+ if File_PushTipsData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PushTipsData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PushTipsData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PushTipsData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PushTipsData_proto_goTypes,
+ DependencyIndexes: file_PushTipsData_proto_depIdxs,
+ MessageInfos: file_PushTipsData_proto_msgTypes,
+ }.Build()
+ File_PushTipsData_proto = out.File
+ file_PushTipsData_proto_rawDesc = nil
+ file_PushTipsData_proto_goTypes = nil
+ file_PushTipsData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PushTipsReadFinishReq.pb.go b/protocol/proto/PushTipsReadFinishReq.pb.go
new file mode 100644
index 00000000..ddd6ffec
--- /dev/null
+++ b/protocol/proto/PushTipsReadFinishReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PushTipsReadFinishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2204
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type PushTipsReadFinishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PushTipsId uint32 `protobuf:"varint,11,opt,name=push_tips_id,json=pushTipsId,proto3" json:"push_tips_id,omitempty"`
+}
+
+func (x *PushTipsReadFinishReq) Reset() {
+ *x = PushTipsReadFinishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PushTipsReadFinishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PushTipsReadFinishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PushTipsReadFinishReq) ProtoMessage() {}
+
+func (x *PushTipsReadFinishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_PushTipsReadFinishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PushTipsReadFinishReq.ProtoReflect.Descriptor instead.
+func (*PushTipsReadFinishReq) Descriptor() ([]byte, []int) {
+ return file_PushTipsReadFinishReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PushTipsReadFinishReq) GetPushTipsId() uint32 {
+ if x != nil {
+ return x.PushTipsId
+ }
+ return 0
+}
+
+var File_PushTipsReadFinishReq_proto protoreflect.FileDescriptor
+
+var file_PushTipsReadFinishReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x15, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73,
+ 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a,
+ 0x0c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PushTipsReadFinishReq_proto_rawDescOnce sync.Once
+ file_PushTipsReadFinishReq_proto_rawDescData = file_PushTipsReadFinishReq_proto_rawDesc
+)
+
+func file_PushTipsReadFinishReq_proto_rawDescGZIP() []byte {
+ file_PushTipsReadFinishReq_proto_rawDescOnce.Do(func() {
+ file_PushTipsReadFinishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_PushTipsReadFinishReq_proto_rawDescData)
+ })
+ return file_PushTipsReadFinishReq_proto_rawDescData
+}
+
+var file_PushTipsReadFinishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PushTipsReadFinishReq_proto_goTypes = []interface{}{
+ (*PushTipsReadFinishReq)(nil), // 0: proto.PushTipsReadFinishReq
+}
+var file_PushTipsReadFinishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PushTipsReadFinishReq_proto_init() }
+func file_PushTipsReadFinishReq_proto_init() {
+ if File_PushTipsReadFinishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PushTipsReadFinishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PushTipsReadFinishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PushTipsReadFinishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PushTipsReadFinishReq_proto_goTypes,
+ DependencyIndexes: file_PushTipsReadFinishReq_proto_depIdxs,
+ MessageInfos: file_PushTipsReadFinishReq_proto_msgTypes,
+ }.Build()
+ File_PushTipsReadFinishReq_proto = out.File
+ file_PushTipsReadFinishReq_proto_rawDesc = nil
+ file_PushTipsReadFinishReq_proto_goTypes = nil
+ file_PushTipsReadFinishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/PushTipsReadFinishRsp.pb.go b/protocol/proto/PushTipsReadFinishRsp.pb.go
new file mode 100644
index 00000000..56e6d4ee
--- /dev/null
+++ b/protocol/proto/PushTipsReadFinishRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: PushTipsReadFinishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2293
+// EnetChannelId: 0
+// EnetIsReliable: true
+type PushTipsReadFinishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PushTipsId uint32 `protobuf:"varint,3,opt,name=push_tips_id,json=pushTipsId,proto3" json:"push_tips_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *PushTipsReadFinishRsp) Reset() {
+ *x = PushTipsReadFinishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_PushTipsReadFinishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PushTipsReadFinishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PushTipsReadFinishRsp) ProtoMessage() {}
+
+func (x *PushTipsReadFinishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_PushTipsReadFinishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PushTipsReadFinishRsp.ProtoReflect.Descriptor instead.
+func (*PushTipsReadFinishRsp) Descriptor() ([]byte, []int) {
+ return file_PushTipsReadFinishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PushTipsReadFinishRsp) GetPushTipsId() uint32 {
+ if x != nil {
+ return x.PushTipsId
+ }
+ return 0
+}
+
+func (x *PushTipsReadFinishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_PushTipsReadFinishRsp_proto protoreflect.FileDescriptor
+
+var file_PushTipsReadFinishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x61, 0x64, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x15, 0x50, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73,
+ 0x52, 0x65, 0x61, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12, 0x20, 0x0a,
+ 0x0c, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73, 0x49, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_PushTipsReadFinishRsp_proto_rawDescOnce sync.Once
+ file_PushTipsReadFinishRsp_proto_rawDescData = file_PushTipsReadFinishRsp_proto_rawDesc
+)
+
+func file_PushTipsReadFinishRsp_proto_rawDescGZIP() []byte {
+ file_PushTipsReadFinishRsp_proto_rawDescOnce.Do(func() {
+ file_PushTipsReadFinishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_PushTipsReadFinishRsp_proto_rawDescData)
+ })
+ return file_PushTipsReadFinishRsp_proto_rawDescData
+}
+
+var file_PushTipsReadFinishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_PushTipsReadFinishRsp_proto_goTypes = []interface{}{
+ (*PushTipsReadFinishRsp)(nil), // 0: proto.PushTipsReadFinishRsp
+}
+var file_PushTipsReadFinishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_PushTipsReadFinishRsp_proto_init() }
+func file_PushTipsReadFinishRsp_proto_init() {
+ if File_PushTipsReadFinishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_PushTipsReadFinishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PushTipsReadFinishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_PushTipsReadFinishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_PushTipsReadFinishRsp_proto_goTypes,
+ DependencyIndexes: file_PushTipsReadFinishRsp_proto_depIdxs,
+ MessageInfos: file_PushTipsReadFinishRsp_proto_msgTypes,
+ }.Build()
+ File_PushTipsReadFinishRsp_proto = out.File
+ file_PushTipsReadFinishRsp_proto_rawDesc = nil
+ file_PushTipsReadFinishRsp_proto_goTypes = nil
+ file_PushTipsReadFinishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QueryCodexMonsterBeKilledNumReq.pb.go b/protocol/proto/QueryCodexMonsterBeKilledNumReq.pb.go
new file mode 100644
index 00000000..e4d04457
--- /dev/null
+++ b/protocol/proto/QueryCodexMonsterBeKilledNumReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QueryCodexMonsterBeKilledNumReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4203
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QueryCodexMonsterBeKilledNumReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CodexIdList []uint32 `protobuf:"varint,14,rep,packed,name=codex_id_list,json=codexIdList,proto3" json:"codex_id_list,omitempty"`
+}
+
+func (x *QueryCodexMonsterBeKilledNumReq) Reset() {
+ *x = QueryCodexMonsterBeKilledNumReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QueryCodexMonsterBeKilledNumReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryCodexMonsterBeKilledNumReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryCodexMonsterBeKilledNumReq) ProtoMessage() {}
+
+func (x *QueryCodexMonsterBeKilledNumReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QueryCodexMonsterBeKilledNumReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryCodexMonsterBeKilledNumReq.ProtoReflect.Descriptor instead.
+func (*QueryCodexMonsterBeKilledNumReq) Descriptor() ([]byte, []int) {
+ return file_QueryCodexMonsterBeKilledNumReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QueryCodexMonsterBeKilledNumReq) GetCodexIdList() []uint32 {
+ if x != nil {
+ return x.CodexIdList
+ }
+ return nil
+}
+
+var File_QueryCodexMonsterBeKilledNumReq_proto protoreflect.FileDescriptor
+
+var file_QueryCodexMonsterBeKilledNumReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x42, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45,
+ 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x42, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x52, 0x65,
+ 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x78, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QueryCodexMonsterBeKilledNumReq_proto_rawDescOnce sync.Once
+ file_QueryCodexMonsterBeKilledNumReq_proto_rawDescData = file_QueryCodexMonsterBeKilledNumReq_proto_rawDesc
+)
+
+func file_QueryCodexMonsterBeKilledNumReq_proto_rawDescGZIP() []byte {
+ file_QueryCodexMonsterBeKilledNumReq_proto_rawDescOnce.Do(func() {
+ file_QueryCodexMonsterBeKilledNumReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QueryCodexMonsterBeKilledNumReq_proto_rawDescData)
+ })
+ return file_QueryCodexMonsterBeKilledNumReq_proto_rawDescData
+}
+
+var file_QueryCodexMonsterBeKilledNumReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QueryCodexMonsterBeKilledNumReq_proto_goTypes = []interface{}{
+ (*QueryCodexMonsterBeKilledNumReq)(nil), // 0: proto.QueryCodexMonsterBeKilledNumReq
+}
+var file_QueryCodexMonsterBeKilledNumReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QueryCodexMonsterBeKilledNumReq_proto_init() }
+func file_QueryCodexMonsterBeKilledNumReq_proto_init() {
+ if File_QueryCodexMonsterBeKilledNumReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QueryCodexMonsterBeKilledNumReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryCodexMonsterBeKilledNumReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QueryCodexMonsterBeKilledNumReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QueryCodexMonsterBeKilledNumReq_proto_goTypes,
+ DependencyIndexes: file_QueryCodexMonsterBeKilledNumReq_proto_depIdxs,
+ MessageInfos: file_QueryCodexMonsterBeKilledNumReq_proto_msgTypes,
+ }.Build()
+ File_QueryCodexMonsterBeKilledNumReq_proto = out.File
+ file_QueryCodexMonsterBeKilledNumReq_proto_rawDesc = nil
+ file_QueryCodexMonsterBeKilledNumReq_proto_goTypes = nil
+ file_QueryCodexMonsterBeKilledNumReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QueryCodexMonsterBeKilledNumRsp.pb.go b/protocol/proto/QueryCodexMonsterBeKilledNumRsp.pb.go
new file mode 100644
index 00000000..10d87035
--- /dev/null
+++ b/protocol/proto/QueryCodexMonsterBeKilledNumRsp.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QueryCodexMonsterBeKilledNumRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4209
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QueryCodexMonsterBeKilledNumRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CodexIdList []uint32 `protobuf:"varint,4,rep,packed,name=codex_id_list,json=codexIdList,proto3" json:"codex_id_list,omitempty"`
+ BeCapturedNumList []uint32 `protobuf:"varint,6,rep,packed,name=be_captured_num_list,json=beCapturedNumList,proto3" json:"be_captured_num_list,omitempty"`
+ BeKilledNumList []uint32 `protobuf:"varint,12,rep,packed,name=be_killed_num_list,json=beKilledNumList,proto3" json:"be_killed_num_list,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *QueryCodexMonsterBeKilledNumRsp) Reset() {
+ *x = QueryCodexMonsterBeKilledNumRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QueryCodexMonsterBeKilledNumRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryCodexMonsterBeKilledNumRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryCodexMonsterBeKilledNumRsp) ProtoMessage() {}
+
+func (x *QueryCodexMonsterBeKilledNumRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QueryCodexMonsterBeKilledNumRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryCodexMonsterBeKilledNumRsp.ProtoReflect.Descriptor instead.
+func (*QueryCodexMonsterBeKilledNumRsp) Descriptor() ([]byte, []int) {
+ return file_QueryCodexMonsterBeKilledNumRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QueryCodexMonsterBeKilledNumRsp) GetCodexIdList() []uint32 {
+ if x != nil {
+ return x.CodexIdList
+ }
+ return nil
+}
+
+func (x *QueryCodexMonsterBeKilledNumRsp) GetBeCapturedNumList() []uint32 {
+ if x != nil {
+ return x.BeCapturedNumList
+ }
+ return nil
+}
+
+func (x *QueryCodexMonsterBeKilledNumRsp) GetBeKilledNumList() []uint32 {
+ if x != nil {
+ return x.BeKilledNumList
+ }
+ return nil
+}
+
+func (x *QueryCodexMonsterBeKilledNumRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_QueryCodexMonsterBeKilledNumRsp_proto protoreflect.FileDescriptor
+
+var file_QueryCodexMonsterBeKilledNumRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x4d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x42, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd,
+ 0x01, 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x4d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x42, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x75, 0x6d, 0x52,
+ 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x64, 0x65, 0x78,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x62, 0x65, 0x5f, 0x63, 0x61, 0x70,
+ 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x62, 0x65, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64,
+ 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x62, 0x65, 0x5f, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x62, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4e, 0x75, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_QueryCodexMonsterBeKilledNumRsp_proto_rawDescOnce sync.Once
+ file_QueryCodexMonsterBeKilledNumRsp_proto_rawDescData = file_QueryCodexMonsterBeKilledNumRsp_proto_rawDesc
+)
+
+func file_QueryCodexMonsterBeKilledNumRsp_proto_rawDescGZIP() []byte {
+ file_QueryCodexMonsterBeKilledNumRsp_proto_rawDescOnce.Do(func() {
+ file_QueryCodexMonsterBeKilledNumRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QueryCodexMonsterBeKilledNumRsp_proto_rawDescData)
+ })
+ return file_QueryCodexMonsterBeKilledNumRsp_proto_rawDescData
+}
+
+var file_QueryCodexMonsterBeKilledNumRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QueryCodexMonsterBeKilledNumRsp_proto_goTypes = []interface{}{
+ (*QueryCodexMonsterBeKilledNumRsp)(nil), // 0: proto.QueryCodexMonsterBeKilledNumRsp
+}
+var file_QueryCodexMonsterBeKilledNumRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QueryCodexMonsterBeKilledNumRsp_proto_init() }
+func file_QueryCodexMonsterBeKilledNumRsp_proto_init() {
+ if File_QueryCodexMonsterBeKilledNumRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QueryCodexMonsterBeKilledNumRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryCodexMonsterBeKilledNumRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QueryCodexMonsterBeKilledNumRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QueryCodexMonsterBeKilledNumRsp_proto_goTypes,
+ DependencyIndexes: file_QueryCodexMonsterBeKilledNumRsp_proto_depIdxs,
+ MessageInfos: file_QueryCodexMonsterBeKilledNumRsp_proto_msgTypes,
+ }.Build()
+ File_QueryCodexMonsterBeKilledNumRsp_proto = out.File
+ file_QueryCodexMonsterBeKilledNumRsp_proto_rawDesc = nil
+ file_QueryCodexMonsterBeKilledNumRsp_proto_goTypes = nil
+ file_QueryCodexMonsterBeKilledNumRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QueryCurrRegionHttpRsp.pb.go b/protocol/proto/QueryCurrRegionHttpRsp.pb.go
new file mode 100644
index 00000000..c837241b
--- /dev/null
+++ b/protocol/proto/QueryCurrRegionHttpRsp.pb.go
@@ -0,0 +1,283 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QueryCurrRegionHttpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type QueryCurrRegionHttpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
+ RegionInfo *RegionInfo `protobuf:"bytes,3,opt,name=region_info,json=regionInfo,proto3" json:"region_info,omitempty"`
+ ClientSecretKey []byte `protobuf:"bytes,11,opt,name=client_secret_key,json=clientSecretKey,proto3" json:"client_secret_key,omitempty"`
+ RegionCustomConfigEncrypted []byte `protobuf:"bytes,12,opt,name=region_custom_config_encrypted,json=regionCustomConfigEncrypted,proto3" json:"region_custom_config_encrypted,omitempty"`
+ ClientRegionCustomConfigEncrypted []byte `protobuf:"bytes,13,opt,name=client_region_custom_config_encrypted,json=clientRegionCustomConfigEncrypted,proto3" json:"client_region_custom_config_encrypted,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *QueryCurrRegionHttpRsp_ForceUpdate
+ // *QueryCurrRegionHttpRsp_StopServer
+ Detail isQueryCurrRegionHttpRsp_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *QueryCurrRegionHttpRsp) Reset() {
+ *x = QueryCurrRegionHttpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QueryCurrRegionHttpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryCurrRegionHttpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryCurrRegionHttpRsp) ProtoMessage() {}
+
+func (x *QueryCurrRegionHttpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QueryCurrRegionHttpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryCurrRegionHttpRsp.ProtoReflect.Descriptor instead.
+func (*QueryCurrRegionHttpRsp) Descriptor() ([]byte, []int) {
+ return file_QueryCurrRegionHttpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QueryCurrRegionHttpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *QueryCurrRegionHttpRsp) GetMsg() string {
+ if x != nil {
+ return x.Msg
+ }
+ return ""
+}
+
+func (x *QueryCurrRegionHttpRsp) GetRegionInfo() *RegionInfo {
+ if x != nil {
+ return x.RegionInfo
+ }
+ return nil
+}
+
+func (x *QueryCurrRegionHttpRsp) GetClientSecretKey() []byte {
+ if x != nil {
+ return x.ClientSecretKey
+ }
+ return nil
+}
+
+func (x *QueryCurrRegionHttpRsp) GetRegionCustomConfigEncrypted() []byte {
+ if x != nil {
+ return x.RegionCustomConfigEncrypted
+ }
+ return nil
+}
+
+func (x *QueryCurrRegionHttpRsp) GetClientRegionCustomConfigEncrypted() []byte {
+ if x != nil {
+ return x.ClientRegionCustomConfigEncrypted
+ }
+ return nil
+}
+
+func (m *QueryCurrRegionHttpRsp) GetDetail() isQueryCurrRegionHttpRsp_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *QueryCurrRegionHttpRsp) GetForceUpdate() *ForceUpdateInfo {
+ if x, ok := x.GetDetail().(*QueryCurrRegionHttpRsp_ForceUpdate); ok {
+ return x.ForceUpdate
+ }
+ return nil
+}
+
+func (x *QueryCurrRegionHttpRsp) GetStopServer() *StopServerInfo {
+ if x, ok := x.GetDetail().(*QueryCurrRegionHttpRsp_StopServer); ok {
+ return x.StopServer
+ }
+ return nil
+}
+
+type isQueryCurrRegionHttpRsp_Detail interface {
+ isQueryCurrRegionHttpRsp_Detail()
+}
+
+type QueryCurrRegionHttpRsp_ForceUpdate struct {
+ ForceUpdate *ForceUpdateInfo `protobuf:"bytes,4,opt,name=force_update,json=forceUpdate,proto3,oneof"`
+}
+
+type QueryCurrRegionHttpRsp_StopServer struct {
+ StopServer *StopServerInfo `protobuf:"bytes,5,opt,name=stop_server,json=stopServer,proto3,oneof"`
+}
+
+func (*QueryCurrRegionHttpRsp_ForceUpdate) isQueryCurrRegionHttpRsp_Detail() {}
+
+func (*QueryCurrRegionHttpRsp_StopServer) isQueryCurrRegionHttpRsp_Detail() {}
+
+var File_QueryCurrRegionHttpRsp_proto protoreflect.FileDescriptor
+
+var file_QueryCurrRegionHttpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75, 0x72, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x52, 0x65,
+ 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14,
+ 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x03, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x75,
+ 0x72, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x32, 0x0a, 0x0b, 0x72,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
+ 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x1e, 0x72,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0c, 0x52, 0x1b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64,
+ 0x12, 0x50, 0x0a, 0x25, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
+ 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52,
+ 0x21, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
+ 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x48, 0x00, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12,
+ 0x38, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x6f,
+ 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x73,
+ 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QueryCurrRegionHttpRsp_proto_rawDescOnce sync.Once
+ file_QueryCurrRegionHttpRsp_proto_rawDescData = file_QueryCurrRegionHttpRsp_proto_rawDesc
+)
+
+func file_QueryCurrRegionHttpRsp_proto_rawDescGZIP() []byte {
+ file_QueryCurrRegionHttpRsp_proto_rawDescOnce.Do(func() {
+ file_QueryCurrRegionHttpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QueryCurrRegionHttpRsp_proto_rawDescData)
+ })
+ return file_QueryCurrRegionHttpRsp_proto_rawDescData
+}
+
+var file_QueryCurrRegionHttpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QueryCurrRegionHttpRsp_proto_goTypes = []interface{}{
+ (*QueryCurrRegionHttpRsp)(nil), // 0: proto.QueryCurrRegionHttpRsp
+ (*RegionInfo)(nil), // 1: proto.RegionInfo
+ (*ForceUpdateInfo)(nil), // 2: proto.ForceUpdateInfo
+ (*StopServerInfo)(nil), // 3: proto.StopServerInfo
+}
+var file_QueryCurrRegionHttpRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.QueryCurrRegionHttpRsp.region_info:type_name -> proto.RegionInfo
+ 2, // 1: proto.QueryCurrRegionHttpRsp.force_update:type_name -> proto.ForceUpdateInfo
+ 3, // 2: proto.QueryCurrRegionHttpRsp.stop_server:type_name -> proto.StopServerInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_QueryCurrRegionHttpRsp_proto_init() }
+func file_QueryCurrRegionHttpRsp_proto_init() {
+ if File_QueryCurrRegionHttpRsp_proto != nil {
+ return
+ }
+ file_ForceUpdateInfo_proto_init()
+ file_RegionInfo_proto_init()
+ file_StopServerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QueryCurrRegionHttpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryCurrRegionHttpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_QueryCurrRegionHttpRsp_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*QueryCurrRegionHttpRsp_ForceUpdate)(nil),
+ (*QueryCurrRegionHttpRsp_StopServer)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QueryCurrRegionHttpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QueryCurrRegionHttpRsp_proto_goTypes,
+ DependencyIndexes: file_QueryCurrRegionHttpRsp_proto_depIdxs,
+ MessageInfos: file_QueryCurrRegionHttpRsp_proto_msgTypes,
+ }.Build()
+ File_QueryCurrRegionHttpRsp_proto = out.File
+ file_QueryCurrRegionHttpRsp_proto_rawDesc = nil
+ file_QueryCurrRegionHttpRsp_proto_goTypes = nil
+ file_QueryCurrRegionHttpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QueryFilter.pb.go b/protocol/proto/QueryFilter.pb.go
new file mode 100644
index 00000000..6c87f940
--- /dev/null
+++ b/protocol/proto/QueryFilter.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QueryFilter.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type QueryFilter struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TypeId int32 `protobuf:"varint,9,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"`
+ AreaMask int32 `protobuf:"varint,13,opt,name=area_mask,json=areaMask,proto3" json:"area_mask,omitempty"`
+}
+
+func (x *QueryFilter) Reset() {
+ *x = QueryFilter{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QueryFilter_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryFilter) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryFilter) ProtoMessage() {}
+
+func (x *QueryFilter) ProtoReflect() protoreflect.Message {
+ mi := &file_QueryFilter_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryFilter.ProtoReflect.Descriptor instead.
+func (*QueryFilter) Descriptor() ([]byte, []int) {
+ return file_QueryFilter_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QueryFilter) GetTypeId() int32 {
+ if x != nil {
+ return x.TypeId
+ }
+ return 0
+}
+
+func (x *QueryFilter) GetAreaMask() int32 {
+ if x != nil {
+ return x.AreaMask
+ }
+ return 0
+}
+
+var File_QueryFilter_proto protoreflect.FileDescriptor
+
+var file_QueryFilter_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x0b, 0x51, 0x75,
+ 0x65, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65,
+ 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x4d, 0x61, 0x73, 0x6b, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QueryFilter_proto_rawDescOnce sync.Once
+ file_QueryFilter_proto_rawDescData = file_QueryFilter_proto_rawDesc
+)
+
+func file_QueryFilter_proto_rawDescGZIP() []byte {
+ file_QueryFilter_proto_rawDescOnce.Do(func() {
+ file_QueryFilter_proto_rawDescData = protoimpl.X.CompressGZIP(file_QueryFilter_proto_rawDescData)
+ })
+ return file_QueryFilter_proto_rawDescData
+}
+
+var file_QueryFilter_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QueryFilter_proto_goTypes = []interface{}{
+ (*QueryFilter)(nil), // 0: proto.QueryFilter
+}
+var file_QueryFilter_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QueryFilter_proto_init() }
+func file_QueryFilter_proto_init() {
+ if File_QueryFilter_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QueryFilter_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryFilter); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QueryFilter_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QueryFilter_proto_goTypes,
+ DependencyIndexes: file_QueryFilter_proto_depIdxs,
+ MessageInfos: file_QueryFilter_proto_msgTypes,
+ }.Build()
+ File_QueryFilter_proto = out.File
+ file_QueryFilter_proto_rawDesc = nil
+ file_QueryFilter_proto_goTypes = nil
+ file_QueryFilter_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QueryPathReq.pb.go b/protocol/proto/QueryPathReq.pb.go
new file mode 100644
index 00000000..1e71618b
--- /dev/null
+++ b/protocol/proto/QueryPathReq.pb.go
@@ -0,0 +1,313 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QueryPathReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type QueryPathReq_OptionType int32
+
+const (
+ QueryPathReq_OPTION_TYPE_NONE QueryPathReq_OptionType = 0
+ QueryPathReq_OPTION_TYPE_NORMAL QueryPathReq_OptionType = 1
+ QueryPathReq_OPTION_TYPE_FIRST_CAN_GO QueryPathReq_OptionType = 2
+)
+
+// Enum value maps for QueryPathReq_OptionType.
+var (
+ QueryPathReq_OptionType_name = map[int32]string{
+ 0: "OPTION_TYPE_NONE",
+ 1: "OPTION_TYPE_NORMAL",
+ 2: "OPTION_TYPE_FIRST_CAN_GO",
+ }
+ QueryPathReq_OptionType_value = map[string]int32{
+ "OPTION_TYPE_NONE": 0,
+ "OPTION_TYPE_NORMAL": 1,
+ "OPTION_TYPE_FIRST_CAN_GO": 2,
+ }
+)
+
+func (x QueryPathReq_OptionType) Enum() *QueryPathReq_OptionType {
+ p := new(QueryPathReq_OptionType)
+ *p = x
+ return p
+}
+
+func (x QueryPathReq_OptionType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (QueryPathReq_OptionType) Descriptor() protoreflect.EnumDescriptor {
+ return file_QueryPathReq_proto_enumTypes[0].Descriptor()
+}
+
+func (QueryPathReq_OptionType) Type() protoreflect.EnumType {
+ return &file_QueryPathReq_proto_enumTypes[0]
+}
+
+func (x QueryPathReq_OptionType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use QueryPathReq_OptionType.Descriptor instead.
+func (QueryPathReq_OptionType) EnumDescriptor() ([]byte, []int) {
+ return file_QueryPathReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 2372
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QueryPathReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QueryType QueryPathReq_OptionType `protobuf:"varint,13,opt,name=query_type,json=queryType,proto3,enum=proto.QueryPathReq_OptionType" json:"query_type,omitempty"`
+ SourceExtend *Vector3Int `protobuf:"bytes,6,opt,name=source_extend,json=sourceExtend,proto3" json:"source_extend,omitempty"`
+ SourcePos *Vector `protobuf:"bytes,2,opt,name=source_pos,json=sourcePos,proto3" json:"source_pos,omitempty"`
+ Filter *QueryFilter `protobuf:"bytes,12,opt,name=filter,proto3" json:"filter,omitempty"`
+ QueryId int32 `protobuf:"varint,15,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
+ DestinationExtend *Vector3Int `protobuf:"bytes,4,opt,name=destination_extend,json=destinationExtend,proto3" json:"destination_extend,omitempty"`
+ DestinationPos []*Vector `protobuf:"bytes,10,rep,name=destination_pos,json=destinationPos,proto3" json:"destination_pos,omitempty"`
+ SceneId uint32 `protobuf:"varint,11,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *QueryPathReq) Reset() {
+ *x = QueryPathReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QueryPathReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryPathReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryPathReq) ProtoMessage() {}
+
+func (x *QueryPathReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QueryPathReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryPathReq.ProtoReflect.Descriptor instead.
+func (*QueryPathReq) Descriptor() ([]byte, []int) {
+ return file_QueryPathReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QueryPathReq) GetQueryType() QueryPathReq_OptionType {
+ if x != nil {
+ return x.QueryType
+ }
+ return QueryPathReq_OPTION_TYPE_NONE
+}
+
+func (x *QueryPathReq) GetSourceExtend() *Vector3Int {
+ if x != nil {
+ return x.SourceExtend
+ }
+ return nil
+}
+
+func (x *QueryPathReq) GetSourcePos() *Vector {
+ if x != nil {
+ return x.SourcePos
+ }
+ return nil
+}
+
+func (x *QueryPathReq) GetFilter() *QueryFilter {
+ if x != nil {
+ return x.Filter
+ }
+ return nil
+}
+
+func (x *QueryPathReq) GetQueryId() int32 {
+ if x != nil {
+ return x.QueryId
+ }
+ return 0
+}
+
+func (x *QueryPathReq) GetDestinationExtend() *Vector3Int {
+ if x != nil {
+ return x.DestinationExtend
+ }
+ return nil
+}
+
+func (x *QueryPathReq) GetDestinationPos() []*Vector {
+ if x != nil {
+ return x.DestinationPos
+ }
+ return nil
+}
+
+func (x *QueryPathReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_QueryPathReq_proto protoreflect.FileDescriptor
+
+var file_QueryPathReq_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9,
+ 0x03, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x12,
+ 0x3d, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x65, 0x72,
+ 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36,
+ 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x2c, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x50, 0x6f, 0x73, 0x12, 0x2a, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
+ 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x12, 0x64,
+ 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74,
+ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x36, 0x0a,
+ 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x73,
+ 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x50, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64,
+ 0x22, 0x58, 0x0a, 0x0a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
+ 0x0a, 0x10, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18,
+ 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53,
+ 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x47, 0x4f, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QueryPathReq_proto_rawDescOnce sync.Once
+ file_QueryPathReq_proto_rawDescData = file_QueryPathReq_proto_rawDesc
+)
+
+func file_QueryPathReq_proto_rawDescGZIP() []byte {
+ file_QueryPathReq_proto_rawDescOnce.Do(func() {
+ file_QueryPathReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QueryPathReq_proto_rawDescData)
+ })
+ return file_QueryPathReq_proto_rawDescData
+}
+
+var file_QueryPathReq_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_QueryPathReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QueryPathReq_proto_goTypes = []interface{}{
+ (QueryPathReq_OptionType)(0), // 0: proto.QueryPathReq.OptionType
+ (*QueryPathReq)(nil), // 1: proto.QueryPathReq
+ (*Vector3Int)(nil), // 2: proto.Vector3Int
+ (*Vector)(nil), // 3: proto.Vector
+ (*QueryFilter)(nil), // 4: proto.QueryFilter
+}
+var file_QueryPathReq_proto_depIdxs = []int32{
+ 0, // 0: proto.QueryPathReq.query_type:type_name -> proto.QueryPathReq.OptionType
+ 2, // 1: proto.QueryPathReq.source_extend:type_name -> proto.Vector3Int
+ 3, // 2: proto.QueryPathReq.source_pos:type_name -> proto.Vector
+ 4, // 3: proto.QueryPathReq.filter:type_name -> proto.QueryFilter
+ 2, // 4: proto.QueryPathReq.destination_extend:type_name -> proto.Vector3Int
+ 3, // 5: proto.QueryPathReq.destination_pos:type_name -> proto.Vector
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_QueryPathReq_proto_init() }
+func file_QueryPathReq_proto_init() {
+ if File_QueryPathReq_proto != nil {
+ return
+ }
+ file_QueryFilter_proto_init()
+ file_Vector_proto_init()
+ file_Vector3Int_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QueryPathReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryPathReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QueryPathReq_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QueryPathReq_proto_goTypes,
+ DependencyIndexes: file_QueryPathReq_proto_depIdxs,
+ EnumInfos: file_QueryPathReq_proto_enumTypes,
+ MessageInfos: file_QueryPathReq_proto_msgTypes,
+ }.Build()
+ File_QueryPathReq_proto = out.File
+ file_QueryPathReq_proto_rawDesc = nil
+ file_QueryPathReq_proto_goTypes = nil
+ file_QueryPathReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QueryPathRsp.pb.go b/protocol/proto/QueryPathRsp.pb.go
new file mode 100644
index 00000000..5c814d61
--- /dev/null
+++ b/protocol/proto/QueryPathRsp.pb.go
@@ -0,0 +1,257 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QueryPathRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type QueryPathRsp_PathStatusType int32
+
+const (
+ QueryPathRsp_PATH_STATUS_TYPE_FAIL QueryPathRsp_PathStatusType = 0
+ QueryPathRsp_PATH_STATUS_TYPE_SUCC QueryPathRsp_PathStatusType = 1
+ QueryPathRsp_PATH_STATUS_TYPE_PARTIAL QueryPathRsp_PathStatusType = 2
+)
+
+// Enum value maps for QueryPathRsp_PathStatusType.
+var (
+ QueryPathRsp_PathStatusType_name = map[int32]string{
+ 0: "PATH_STATUS_TYPE_FAIL",
+ 1: "PATH_STATUS_TYPE_SUCC",
+ 2: "PATH_STATUS_TYPE_PARTIAL",
+ }
+ QueryPathRsp_PathStatusType_value = map[string]int32{
+ "PATH_STATUS_TYPE_FAIL": 0,
+ "PATH_STATUS_TYPE_SUCC": 1,
+ "PATH_STATUS_TYPE_PARTIAL": 2,
+ }
+)
+
+func (x QueryPathRsp_PathStatusType) Enum() *QueryPathRsp_PathStatusType {
+ p := new(QueryPathRsp_PathStatusType)
+ *p = x
+ return p
+}
+
+func (x QueryPathRsp_PathStatusType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (QueryPathRsp_PathStatusType) Descriptor() protoreflect.EnumDescriptor {
+ return file_QueryPathRsp_proto_enumTypes[0].Descriptor()
+}
+
+func (QueryPathRsp_PathStatusType) Type() protoreflect.EnumType {
+ return &file_QueryPathRsp_proto_enumTypes[0]
+}
+
+func (x QueryPathRsp_PathStatusType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use QueryPathRsp_PathStatusType.Descriptor instead.
+func (QueryPathRsp_PathStatusType) EnumDescriptor() ([]byte, []int) {
+ return file_QueryPathRsp_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 2398
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QueryPathRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QueryId int32 `protobuf:"varint,12,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
+ Corners []*Vector `protobuf:"bytes,6,rep,name=corners,proto3" json:"corners,omitempty"`
+ QueryStatus QueryPathRsp_PathStatusType `protobuf:"varint,8,opt,name=query_status,json=queryStatus,proto3,enum=proto.QueryPathRsp_PathStatusType" json:"query_status,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *QueryPathRsp) Reset() {
+ *x = QueryPathRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QueryPathRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryPathRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryPathRsp) ProtoMessage() {}
+
+func (x *QueryPathRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QueryPathRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryPathRsp.ProtoReflect.Descriptor instead.
+func (*QueryPathRsp) Descriptor() ([]byte, []int) {
+ return file_QueryPathRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QueryPathRsp) GetQueryId() int32 {
+ if x != nil {
+ return x.QueryId
+ }
+ return 0
+}
+
+func (x *QueryPathRsp) GetCorners() []*Vector {
+ if x != nil {
+ return x.Corners
+ }
+ return nil
+}
+
+func (x *QueryPathRsp) GetQueryStatus() QueryPathRsp_PathStatusType {
+ if x != nil {
+ return x.QueryStatus
+ }
+ return QueryPathRsp_PATH_STATUS_TYPE_FAIL
+}
+
+func (x *QueryPathRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_QueryPathRsp_proto protoreflect.FileDescriptor
+
+var file_QueryPathRsp_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x02, 0x0a, 0x0c, 0x51, 0x75,
+ 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75,
+ 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x73,
+ 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x45,
+ 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x65,
+ 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x22,
+ 0x64, 0x0a, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15,
+ 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x53, 0x55, 0x43, 0x43, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x54, 0x48, 0x5f,
+ 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54,
+ 0x49, 0x41, 0x4c, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QueryPathRsp_proto_rawDescOnce sync.Once
+ file_QueryPathRsp_proto_rawDescData = file_QueryPathRsp_proto_rawDesc
+)
+
+func file_QueryPathRsp_proto_rawDescGZIP() []byte {
+ file_QueryPathRsp_proto_rawDescOnce.Do(func() {
+ file_QueryPathRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QueryPathRsp_proto_rawDescData)
+ })
+ return file_QueryPathRsp_proto_rawDescData
+}
+
+var file_QueryPathRsp_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_QueryPathRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QueryPathRsp_proto_goTypes = []interface{}{
+ (QueryPathRsp_PathStatusType)(0), // 0: proto.QueryPathRsp.PathStatusType
+ (*QueryPathRsp)(nil), // 1: proto.QueryPathRsp
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_QueryPathRsp_proto_depIdxs = []int32{
+ 2, // 0: proto.QueryPathRsp.corners:type_name -> proto.Vector
+ 0, // 1: proto.QueryPathRsp.query_status:type_name -> proto.QueryPathRsp.PathStatusType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_QueryPathRsp_proto_init() }
+func file_QueryPathRsp_proto_init() {
+ if File_QueryPathRsp_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QueryPathRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryPathRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QueryPathRsp_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QueryPathRsp_proto_goTypes,
+ DependencyIndexes: file_QueryPathRsp_proto_depIdxs,
+ EnumInfos: file_QueryPathRsp_proto_enumTypes,
+ MessageInfos: file_QueryPathRsp_proto_msgTypes,
+ }.Build()
+ File_QueryPathRsp_proto = out.File
+ file_QueryPathRsp_proto_rawDesc = nil
+ file_QueryPathRsp_proto_goTypes = nil
+ file_QueryPathRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QueryRegionListHttpRsp.pb.go b/protocol/proto/QueryRegionListHttpRsp.pb.go
new file mode 100644
index 00000000..98eb8db1
--- /dev/null
+++ b/protocol/proto/QueryRegionListHttpRsp.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QueryRegionListHttpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type QueryRegionListHttpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RegionList []*RegionSimpleInfo `protobuf:"bytes,2,rep,name=region_list,json=regionList,proto3" json:"region_list,omitempty"`
+ ClientSecretKey []byte `protobuf:"bytes,5,opt,name=client_secret_key,json=clientSecretKey,proto3" json:"client_secret_key,omitempty"`
+ ClientCustomConfigEncrypted []byte `protobuf:"bytes,6,opt,name=client_custom_config_encrypted,json=clientCustomConfigEncrypted,proto3" json:"client_custom_config_encrypted,omitempty"`
+ EnableLoginPc bool `protobuf:"varint,7,opt,name=enable_login_pc,json=enableLoginPc,proto3" json:"enable_login_pc,omitempty"`
+}
+
+func (x *QueryRegionListHttpRsp) Reset() {
+ *x = QueryRegionListHttpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QueryRegionListHttpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QueryRegionListHttpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QueryRegionListHttpRsp) ProtoMessage() {}
+
+func (x *QueryRegionListHttpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QueryRegionListHttpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QueryRegionListHttpRsp.ProtoReflect.Descriptor instead.
+func (*QueryRegionListHttpRsp) Descriptor() ([]byte, []int) {
+ return file_QueryRegionListHttpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QueryRegionListHttpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *QueryRegionListHttpRsp) GetRegionList() []*RegionSimpleInfo {
+ if x != nil {
+ return x.RegionList
+ }
+ return nil
+}
+
+func (x *QueryRegionListHttpRsp) GetClientSecretKey() []byte {
+ if x != nil {
+ return x.ClientSecretKey
+ }
+ return nil
+}
+
+func (x *QueryRegionListHttpRsp) GetClientCustomConfigEncrypted() []byte {
+ if x != nil {
+ return x.ClientCustomConfigEncrypted
+ }
+ return nil
+}
+
+func (x *QueryRegionListHttpRsp) GetEnableLoginPc() bool {
+ if x != nil {
+ return x.EnableLoginPc
+ }
+ return false
+}
+
+var File_QueryRegionListHttpRsp_proto protoreflect.FileDescriptor
+
+var file_QueryRegionListHttpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
+ 0x74, 0x48, 0x74, 0x74, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x6d,
+ 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x02,
+ 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
+ 0x74, 0x48, 0x74, 0x74, 0x70, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65,
+ 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
+ 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x1e, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c,
+ 0x52, 0x1b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a,
+ 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x70, 0x63,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f,
+ 0x67, 0x69, 0x6e, 0x50, 0x63, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QueryRegionListHttpRsp_proto_rawDescOnce sync.Once
+ file_QueryRegionListHttpRsp_proto_rawDescData = file_QueryRegionListHttpRsp_proto_rawDesc
+)
+
+func file_QueryRegionListHttpRsp_proto_rawDescGZIP() []byte {
+ file_QueryRegionListHttpRsp_proto_rawDescOnce.Do(func() {
+ file_QueryRegionListHttpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QueryRegionListHttpRsp_proto_rawDescData)
+ })
+ return file_QueryRegionListHttpRsp_proto_rawDescData
+}
+
+var file_QueryRegionListHttpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QueryRegionListHttpRsp_proto_goTypes = []interface{}{
+ (*QueryRegionListHttpRsp)(nil), // 0: proto.QueryRegionListHttpRsp
+ (*RegionSimpleInfo)(nil), // 1: proto.RegionSimpleInfo
+}
+var file_QueryRegionListHttpRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.QueryRegionListHttpRsp.region_list:type_name -> proto.RegionSimpleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_QueryRegionListHttpRsp_proto_init() }
+func file_QueryRegionListHttpRsp_proto_init() {
+ if File_QueryRegionListHttpRsp_proto != nil {
+ return
+ }
+ file_RegionSimpleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QueryRegionListHttpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryRegionListHttpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QueryRegionListHttpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QueryRegionListHttpRsp_proto_goTypes,
+ DependencyIndexes: file_QueryRegionListHttpRsp_proto_depIdxs,
+ MessageInfos: file_QueryRegionListHttpRsp_proto_msgTypes,
+ }.Build()
+ File_QueryRegionListHttpRsp_proto = out.File
+ file_QueryRegionListHttpRsp_proto_rawDesc = nil
+ file_QueryRegionListHttpRsp_proto_goTypes = nil
+ file_QueryRegionListHttpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Quest.pb.go b/protocol/proto/Quest.pb.go
new file mode 100644
index 00000000..b8c043ef
--- /dev/null
+++ b/protocol/proto/Quest.pb.go
@@ -0,0 +1,309 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Quest.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Quest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,1,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ State uint32 `protobuf:"varint,2,opt,name=state,proto3" json:"state,omitempty"`
+ StartTime uint32 `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ IsRandom bool `protobuf:"varint,5,opt,name=is_random,json=isRandom,proto3" json:"is_random,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,6,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ QuestConfigId uint32 `protobuf:"varint,7,opt,name=quest_config_id,json=questConfigId,proto3" json:"quest_config_id,omitempty"`
+ StartGameTime uint32 `protobuf:"varint,8,opt,name=start_game_time,json=startGameTime,proto3" json:"start_game_time,omitempty"`
+ AcceptTime uint32 `protobuf:"varint,9,opt,name=accept_time,json=acceptTime,proto3" json:"accept_time,omitempty"`
+ LackedNpcList []uint32 `protobuf:"varint,10,rep,packed,name=lacked_npc_list,json=lackedNpcList,proto3" json:"lacked_npc_list,omitempty"`
+ FinishProgressList []uint32 `protobuf:"varint,11,rep,packed,name=finish_progress_list,json=finishProgressList,proto3" json:"finish_progress_list,omitempty"`
+ FailProgressList []uint32 `protobuf:"varint,12,rep,packed,name=fail_progress_list,json=failProgressList,proto3" json:"fail_progress_list,omitempty"`
+ LackedNpcMap map[uint32]uint32 `protobuf:"bytes,13,rep,name=lacked_npc_map,json=lackedNpcMap,proto3" json:"lacked_npc_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ LackedPlaceList []uint32 `protobuf:"varint,14,rep,packed,name=lacked_place_list,json=lackedPlaceList,proto3" json:"lacked_place_list,omitempty"`
+ LackedPlaceMap map[uint32]uint32 `protobuf:"bytes,15,rep,name=lacked_place_map,json=lackedPlaceMap,proto3" json:"lacked_place_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *Quest) Reset() {
+ *x = Quest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Quest_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Quest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Quest) ProtoMessage() {}
+
+func (x *Quest) ProtoReflect() protoreflect.Message {
+ mi := &file_Quest_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Quest.ProtoReflect.Descriptor instead.
+func (*Quest) Descriptor() ([]byte, []int) {
+ return file_Quest_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Quest) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *Quest) GetState() uint32 {
+ if x != nil {
+ return x.State
+ }
+ return 0
+}
+
+func (x *Quest) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *Quest) GetIsRandom() bool {
+ if x != nil {
+ return x.IsRandom
+ }
+ return false
+}
+
+func (x *Quest) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *Quest) GetQuestConfigId() uint32 {
+ if x != nil {
+ return x.QuestConfigId
+ }
+ return 0
+}
+
+func (x *Quest) GetStartGameTime() uint32 {
+ if x != nil {
+ return x.StartGameTime
+ }
+ return 0
+}
+
+func (x *Quest) GetAcceptTime() uint32 {
+ if x != nil {
+ return x.AcceptTime
+ }
+ return 0
+}
+
+func (x *Quest) GetLackedNpcList() []uint32 {
+ if x != nil {
+ return x.LackedNpcList
+ }
+ return nil
+}
+
+func (x *Quest) GetFinishProgressList() []uint32 {
+ if x != nil {
+ return x.FinishProgressList
+ }
+ return nil
+}
+
+func (x *Quest) GetFailProgressList() []uint32 {
+ if x != nil {
+ return x.FailProgressList
+ }
+ return nil
+}
+
+func (x *Quest) GetLackedNpcMap() map[uint32]uint32 {
+ if x != nil {
+ return x.LackedNpcMap
+ }
+ return nil
+}
+
+func (x *Quest) GetLackedPlaceList() []uint32 {
+ if x != nil {
+ return x.LackedPlaceList
+ }
+ return nil
+}
+
+func (x *Quest) GetLackedPlaceMap() map[uint32]uint32 {
+ if x != nil {
+ return x.LackedPlaceMap
+ }
+ return nil
+}
+
+var File_Quest_proto protoreflect.FileDescriptor
+
+var file_Quest_proto_rawDesc = []byte{
+ 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x05, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19,
+ 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x08, 0x69, 0x73, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x70,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73,
+ 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6e,
+ 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x6c,
+ 0x61, 0x63, 0x6b, 0x65, 0x64, 0x4e, 0x70, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c,
+ 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c,
+ 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0e,
+ 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x6e, 0x70, 0x63, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x4e, 0x70, 0x63, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x4e, 0x70, 0x63, 0x4d,
+ 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61,
+ 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x6c,
+ 0x61, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4a,
+ 0x0a, 0x10, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x6c, 0x61,
+ 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6c, 0x61, 0x63, 0x6b,
+ 0x65, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x3f, 0x0a, 0x11, 0x4c, 0x61,
+ 0x63, 0x6b, 0x65, 0x64, 0x4e, 0x70, 0x63, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4c,
+ 0x61, 0x63, 0x6b, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_Quest_proto_rawDescOnce sync.Once
+ file_Quest_proto_rawDescData = file_Quest_proto_rawDesc
+)
+
+func file_Quest_proto_rawDescGZIP() []byte {
+ file_Quest_proto_rawDescOnce.Do(func() {
+ file_Quest_proto_rawDescData = protoimpl.X.CompressGZIP(file_Quest_proto_rawDescData)
+ })
+ return file_Quest_proto_rawDescData
+}
+
+var file_Quest_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_Quest_proto_goTypes = []interface{}{
+ (*Quest)(nil), // 0: proto.Quest
+ nil, // 1: proto.Quest.LackedNpcMapEntry
+ nil, // 2: proto.Quest.LackedPlaceMapEntry
+}
+var file_Quest_proto_depIdxs = []int32{
+ 1, // 0: proto.Quest.lacked_npc_map:type_name -> proto.Quest.LackedNpcMapEntry
+ 2, // 1: proto.Quest.lacked_place_map:type_name -> proto.Quest.LackedPlaceMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_Quest_proto_init() }
+func file_Quest_proto_init() {
+ if File_Quest_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Quest_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Quest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Quest_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Quest_proto_goTypes,
+ DependencyIndexes: file_Quest_proto_depIdxs,
+ MessageInfos: file_Quest_proto_msgTypes,
+ }.Build()
+ File_Quest_proto = out.File
+ file_Quest_proto_rawDesc = nil
+ file_Quest_proto_goTypes = nil
+ file_Quest_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestCreateEntityReq.pb.go b/protocol/proto/QuestCreateEntityReq.pb.go
new file mode 100644
index 00000000..779dbb4d
--- /dev/null
+++ b/protocol/proto/QuestCreateEntityReq.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestCreateEntityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 499
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QuestCreateEntityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentQuestId uint32 `protobuf:"varint,9,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ IsRewind bool `protobuf:"varint,3,opt,name=is_rewind,json=isRewind,proto3" json:"is_rewind,omitempty"`
+ QuestId uint32 `protobuf:"varint,2,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ Entity *CreateEntityInfo `protobuf:"bytes,13,opt,name=entity,proto3" json:"entity,omitempty"`
+}
+
+func (x *QuestCreateEntityReq) Reset() {
+ *x = QuestCreateEntityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestCreateEntityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestCreateEntityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestCreateEntityReq) ProtoMessage() {}
+
+func (x *QuestCreateEntityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestCreateEntityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestCreateEntityReq.ProtoReflect.Descriptor instead.
+func (*QuestCreateEntityReq) Descriptor() ([]byte, []int) {
+ return file_QuestCreateEntityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestCreateEntityReq) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *QuestCreateEntityReq) GetIsRewind() bool {
+ if x != nil {
+ return x.IsRewind
+ }
+ return false
+}
+
+func (x *QuestCreateEntityReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *QuestCreateEntityReq) GetEntity() *CreateEntityInfo {
+ if x != nil {
+ return x.Entity
+ }
+ return nil
+}
+
+var File_QuestCreateEntityReq_proto protoreflect.FileDescriptor
+
+var file_QuestCreateEntityReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x14,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x69, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x08, 0x69, 0x73, 0x52, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestCreateEntityReq_proto_rawDescOnce sync.Once
+ file_QuestCreateEntityReq_proto_rawDescData = file_QuestCreateEntityReq_proto_rawDesc
+)
+
+func file_QuestCreateEntityReq_proto_rawDescGZIP() []byte {
+ file_QuestCreateEntityReq_proto_rawDescOnce.Do(func() {
+ file_QuestCreateEntityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestCreateEntityReq_proto_rawDescData)
+ })
+ return file_QuestCreateEntityReq_proto_rawDescData
+}
+
+var file_QuestCreateEntityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestCreateEntityReq_proto_goTypes = []interface{}{
+ (*QuestCreateEntityReq)(nil), // 0: proto.QuestCreateEntityReq
+ (*CreateEntityInfo)(nil), // 1: proto.CreateEntityInfo
+}
+var file_QuestCreateEntityReq_proto_depIdxs = []int32{
+ 1, // 0: proto.QuestCreateEntityReq.entity:type_name -> proto.CreateEntityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_QuestCreateEntityReq_proto_init() }
+func file_QuestCreateEntityReq_proto_init() {
+ if File_QuestCreateEntityReq_proto != nil {
+ return
+ }
+ file_CreateEntityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QuestCreateEntityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestCreateEntityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestCreateEntityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestCreateEntityReq_proto_goTypes,
+ DependencyIndexes: file_QuestCreateEntityReq_proto_depIdxs,
+ MessageInfos: file_QuestCreateEntityReq_proto_msgTypes,
+ }.Build()
+ File_QuestCreateEntityReq_proto = out.File
+ file_QuestCreateEntityReq_proto_rawDesc = nil
+ file_QuestCreateEntityReq_proto_goTypes = nil
+ file_QuestCreateEntityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestCreateEntityRsp.pb.go b/protocol/proto/QuestCreateEntityRsp.pb.go
new file mode 100644
index 00000000..a44561be
--- /dev/null
+++ b/protocol/proto/QuestCreateEntityRsp.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestCreateEntityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 431
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestCreateEntityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,13,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Entity *CreateEntityInfo `protobuf:"bytes,11,opt,name=entity,proto3" json:"entity,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,1,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ IsRewind bool `protobuf:"varint,14,opt,name=is_rewind,json=isRewind,proto3" json:"is_rewind,omitempty"`
+}
+
+func (x *QuestCreateEntityRsp) Reset() {
+ *x = QuestCreateEntityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestCreateEntityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestCreateEntityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestCreateEntityRsp) ProtoMessage() {}
+
+func (x *QuestCreateEntityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestCreateEntityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestCreateEntityRsp.ProtoReflect.Descriptor instead.
+func (*QuestCreateEntityRsp) Descriptor() ([]byte, []int) {
+ return file_QuestCreateEntityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestCreateEntityRsp) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *QuestCreateEntityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *QuestCreateEntityRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *QuestCreateEntityRsp) GetEntity() *CreateEntityInfo {
+ if x != nil {
+ return x.Entity
+ }
+ return nil
+}
+
+func (x *QuestCreateEntityRsp) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *QuestCreateEntityRsp) GetIsRewind() bool {
+ if x != nil {
+ return x.IsRewind
+ }
+ return false
+}
+
+var File_QuestCreateEntityRsp_proto protoreflect.FileDescriptor
+
+var file_QuestCreateEntityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x01, 0x0a, 0x14,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12,
+ 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x52, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestCreateEntityRsp_proto_rawDescOnce sync.Once
+ file_QuestCreateEntityRsp_proto_rawDescData = file_QuestCreateEntityRsp_proto_rawDesc
+)
+
+func file_QuestCreateEntityRsp_proto_rawDescGZIP() []byte {
+ file_QuestCreateEntityRsp_proto_rawDescOnce.Do(func() {
+ file_QuestCreateEntityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestCreateEntityRsp_proto_rawDescData)
+ })
+ return file_QuestCreateEntityRsp_proto_rawDescData
+}
+
+var file_QuestCreateEntityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestCreateEntityRsp_proto_goTypes = []interface{}{
+ (*QuestCreateEntityRsp)(nil), // 0: proto.QuestCreateEntityRsp
+ (*CreateEntityInfo)(nil), // 1: proto.CreateEntityInfo
+}
+var file_QuestCreateEntityRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.QuestCreateEntityRsp.entity:type_name -> proto.CreateEntityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_QuestCreateEntityRsp_proto_init() }
+func file_QuestCreateEntityRsp_proto_init() {
+ if File_QuestCreateEntityRsp_proto != nil {
+ return
+ }
+ file_CreateEntityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QuestCreateEntityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestCreateEntityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestCreateEntityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestCreateEntityRsp_proto_goTypes,
+ DependencyIndexes: file_QuestCreateEntityRsp_proto_depIdxs,
+ MessageInfos: file_QuestCreateEntityRsp_proto_msgTypes,
+ }.Build()
+ File_QuestCreateEntityRsp_proto = out.File
+ file_QuestCreateEntityRsp_proto_rawDesc = nil
+ file_QuestCreateEntityRsp_proto_goTypes = nil
+ file_QuestCreateEntityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestDelNotify.pb.go b/protocol/proto/QuestDelNotify.pb.go
new file mode 100644
index 00000000..653cffb5
--- /dev/null
+++ b/protocol/proto/QuestDelNotify.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestDelNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 412
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestDelNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,1,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *QuestDelNotify) Reset() {
+ *x = QuestDelNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestDelNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestDelNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestDelNotify) ProtoMessage() {}
+
+func (x *QuestDelNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestDelNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestDelNotify.ProtoReflect.Descriptor instead.
+func (*QuestDelNotify) Descriptor() ([]byte, []int) {
+ return file_QuestDelNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestDelNotify) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_QuestDelNotify_proto protoreflect.FileDescriptor
+
+var file_QuestDelNotify_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b, 0x0a,
+ 0x0e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestDelNotify_proto_rawDescOnce sync.Once
+ file_QuestDelNotify_proto_rawDescData = file_QuestDelNotify_proto_rawDesc
+)
+
+func file_QuestDelNotify_proto_rawDescGZIP() []byte {
+ file_QuestDelNotify_proto_rawDescOnce.Do(func() {
+ file_QuestDelNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestDelNotify_proto_rawDescData)
+ })
+ return file_QuestDelNotify_proto_rawDescData
+}
+
+var file_QuestDelNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestDelNotify_proto_goTypes = []interface{}{
+ (*QuestDelNotify)(nil), // 0: proto.QuestDelNotify
+}
+var file_QuestDelNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestDelNotify_proto_init() }
+func file_QuestDelNotify_proto_init() {
+ if File_QuestDelNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestDelNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestDelNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestDelNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestDelNotify_proto_goTypes,
+ DependencyIndexes: file_QuestDelNotify_proto_depIdxs,
+ MessageInfos: file_QuestDelNotify_proto_msgTypes,
+ }.Build()
+ File_QuestDelNotify_proto = out.File
+ file_QuestDelNotify_proto_rawDesc = nil
+ file_QuestDelNotify_proto_goTypes = nil
+ file_QuestDelNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestDestroyEntityReq.pb.go b/protocol/proto/QuestDestroyEntityReq.pb.go
new file mode 100644
index 00000000..135349cf
--- /dev/null
+++ b/protocol/proto/QuestDestroyEntityReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestDestroyEntityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 475
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QuestDestroyEntityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,2,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ QuestId uint32 `protobuf:"varint,8,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *QuestDestroyEntityReq) Reset() {
+ *x = QuestDestroyEntityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestDestroyEntityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestDestroyEntityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestDestroyEntityReq) ProtoMessage() {}
+
+func (x *QuestDestroyEntityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestDestroyEntityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestDestroyEntityReq.ProtoReflect.Descriptor instead.
+func (*QuestDestroyEntityReq) Descriptor() ([]byte, []int) {
+ return file_QuestDestroyEntityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestDestroyEntityReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *QuestDestroyEntityReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *QuestDestroyEntityReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_QuestDestroyEntityReq_proto protoreflect.FileDescriptor
+
+var file_QuestDestroyEntityReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x73,
+ 0x74, 0x72, 0x6f, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestDestroyEntityReq_proto_rawDescOnce sync.Once
+ file_QuestDestroyEntityReq_proto_rawDescData = file_QuestDestroyEntityReq_proto_rawDesc
+)
+
+func file_QuestDestroyEntityReq_proto_rawDescGZIP() []byte {
+ file_QuestDestroyEntityReq_proto_rawDescOnce.Do(func() {
+ file_QuestDestroyEntityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestDestroyEntityReq_proto_rawDescData)
+ })
+ return file_QuestDestroyEntityReq_proto_rawDescData
+}
+
+var file_QuestDestroyEntityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestDestroyEntityReq_proto_goTypes = []interface{}{
+ (*QuestDestroyEntityReq)(nil), // 0: proto.QuestDestroyEntityReq
+}
+var file_QuestDestroyEntityReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestDestroyEntityReq_proto_init() }
+func file_QuestDestroyEntityReq_proto_init() {
+ if File_QuestDestroyEntityReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestDestroyEntityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestDestroyEntityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestDestroyEntityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestDestroyEntityReq_proto_goTypes,
+ DependencyIndexes: file_QuestDestroyEntityReq_proto_depIdxs,
+ MessageInfos: file_QuestDestroyEntityReq_proto_msgTypes,
+ }.Build()
+ File_QuestDestroyEntityReq_proto = out.File
+ file_QuestDestroyEntityReq_proto_rawDesc = nil
+ file_QuestDestroyEntityReq_proto_goTypes = nil
+ file_QuestDestroyEntityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestDestroyEntityRsp.pb.go b/protocol/proto/QuestDestroyEntityRsp.pb.go
new file mode 100644
index 00000000..ce8f1d26
--- /dev/null
+++ b/protocol/proto/QuestDestroyEntityRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestDestroyEntityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 448
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestDestroyEntityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,14,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,9,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,12,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *QuestDestroyEntityRsp) Reset() {
+ *x = QuestDestroyEntityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestDestroyEntityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestDestroyEntityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestDestroyEntityRsp) ProtoMessage() {}
+
+func (x *QuestDestroyEntityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestDestroyEntityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestDestroyEntityRsp.ProtoReflect.Descriptor instead.
+func (*QuestDestroyEntityRsp) Descriptor() ([]byte, []int) {
+ return file_QuestDestroyEntityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestDestroyEntityRsp) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *QuestDestroyEntityRsp) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *QuestDestroyEntityRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *QuestDestroyEntityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_QuestDestroyEntityRsp_proto protoreflect.FileDescriptor
+
+var file_QuestDestroyEntityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65,
+ 0x73, 0x74, 0x72, 0x6f, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12, 0x19,
+ 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestDestroyEntityRsp_proto_rawDescOnce sync.Once
+ file_QuestDestroyEntityRsp_proto_rawDescData = file_QuestDestroyEntityRsp_proto_rawDesc
+)
+
+func file_QuestDestroyEntityRsp_proto_rawDescGZIP() []byte {
+ file_QuestDestroyEntityRsp_proto_rawDescOnce.Do(func() {
+ file_QuestDestroyEntityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestDestroyEntityRsp_proto_rawDescData)
+ })
+ return file_QuestDestroyEntityRsp_proto_rawDescData
+}
+
+var file_QuestDestroyEntityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestDestroyEntityRsp_proto_goTypes = []interface{}{
+ (*QuestDestroyEntityRsp)(nil), // 0: proto.QuestDestroyEntityRsp
+}
+var file_QuestDestroyEntityRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestDestroyEntityRsp_proto_init() }
+func file_QuestDestroyEntityRsp_proto_init() {
+ if File_QuestDestroyEntityRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestDestroyEntityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestDestroyEntityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestDestroyEntityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestDestroyEntityRsp_proto_goTypes,
+ DependencyIndexes: file_QuestDestroyEntityRsp_proto_depIdxs,
+ MessageInfos: file_QuestDestroyEntityRsp_proto_msgTypes,
+ }.Build()
+ File_QuestDestroyEntityRsp_proto = out.File
+ file_QuestDestroyEntityRsp_proto_rawDesc = nil
+ file_QuestDestroyEntityRsp_proto_goTypes = nil
+ file_QuestDestroyEntityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestDestroyNpcReq.pb.go b/protocol/proto/QuestDestroyNpcReq.pb.go
new file mode 100644
index 00000000..411fb7ce
--- /dev/null
+++ b/protocol/proto/QuestDestroyNpcReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestDestroyNpcReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 422
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QuestDestroyNpcReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NpcId uint32 `protobuf:"varint,1,opt,name=npc_id,json=npcId,proto3" json:"npc_id,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,12,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+}
+
+func (x *QuestDestroyNpcReq) Reset() {
+ *x = QuestDestroyNpcReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestDestroyNpcReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestDestroyNpcReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestDestroyNpcReq) ProtoMessage() {}
+
+func (x *QuestDestroyNpcReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestDestroyNpcReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestDestroyNpcReq.ProtoReflect.Descriptor instead.
+func (*QuestDestroyNpcReq) Descriptor() ([]byte, []int) {
+ return file_QuestDestroyNpcReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestDestroyNpcReq) GetNpcId() uint32 {
+ if x != nil {
+ return x.NpcId
+ }
+ return 0
+}
+
+func (x *QuestDestroyNpcReq) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+var File_QuestDestroyNpcReq_proto protoreflect.FileDescriptor
+
+var file_QuestDestroyNpcReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4e, 0x70,
+ 0x63, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x53, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f,
+ 0x79, 0x4e, 0x70, 0x63, 0x52, 0x65, 0x71, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x70, 0x63, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x70, 0x63, 0x49, 0x64, 0x12, 0x26,
+ 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51,
+ 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestDestroyNpcReq_proto_rawDescOnce sync.Once
+ file_QuestDestroyNpcReq_proto_rawDescData = file_QuestDestroyNpcReq_proto_rawDesc
+)
+
+func file_QuestDestroyNpcReq_proto_rawDescGZIP() []byte {
+ file_QuestDestroyNpcReq_proto_rawDescOnce.Do(func() {
+ file_QuestDestroyNpcReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestDestroyNpcReq_proto_rawDescData)
+ })
+ return file_QuestDestroyNpcReq_proto_rawDescData
+}
+
+var file_QuestDestroyNpcReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestDestroyNpcReq_proto_goTypes = []interface{}{
+ (*QuestDestroyNpcReq)(nil), // 0: proto.QuestDestroyNpcReq
+}
+var file_QuestDestroyNpcReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestDestroyNpcReq_proto_init() }
+func file_QuestDestroyNpcReq_proto_init() {
+ if File_QuestDestroyNpcReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestDestroyNpcReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestDestroyNpcReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestDestroyNpcReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestDestroyNpcReq_proto_goTypes,
+ DependencyIndexes: file_QuestDestroyNpcReq_proto_depIdxs,
+ MessageInfos: file_QuestDestroyNpcReq_proto_msgTypes,
+ }.Build()
+ File_QuestDestroyNpcReq_proto = out.File
+ file_QuestDestroyNpcReq_proto_rawDesc = nil
+ file_QuestDestroyNpcReq_proto_goTypes = nil
+ file_QuestDestroyNpcReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestDestroyNpcRsp.pb.go b/protocol/proto/QuestDestroyNpcRsp.pb.go
new file mode 100644
index 00000000..dc49de51
--- /dev/null
+++ b/protocol/proto/QuestDestroyNpcRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestDestroyNpcRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 465
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestDestroyNpcRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NpcId uint32 `protobuf:"varint,12,opt,name=npc_id,json=npcId,proto3" json:"npc_id,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,4,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *QuestDestroyNpcRsp) Reset() {
+ *x = QuestDestroyNpcRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestDestroyNpcRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestDestroyNpcRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestDestroyNpcRsp) ProtoMessage() {}
+
+func (x *QuestDestroyNpcRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestDestroyNpcRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestDestroyNpcRsp.ProtoReflect.Descriptor instead.
+func (*QuestDestroyNpcRsp) Descriptor() ([]byte, []int) {
+ return file_QuestDestroyNpcRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestDestroyNpcRsp) GetNpcId() uint32 {
+ if x != nil {
+ return x.NpcId
+ }
+ return 0
+}
+
+func (x *QuestDestroyNpcRsp) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *QuestDestroyNpcRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_QuestDestroyNpcRsp_proto protoreflect.FileDescriptor
+
+var file_QuestDestroyNpcRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4e, 0x70,
+ 0x63, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6d, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f,
+ 0x79, 0x4e, 0x70, 0x63, 0x52, 0x73, 0x70, 0x12, 0x15, 0x0a, 0x06, 0x6e, 0x70, 0x63, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x70, 0x63, 0x49, 0x64, 0x12, 0x26,
+ 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51,
+ 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestDestroyNpcRsp_proto_rawDescOnce sync.Once
+ file_QuestDestroyNpcRsp_proto_rawDescData = file_QuestDestroyNpcRsp_proto_rawDesc
+)
+
+func file_QuestDestroyNpcRsp_proto_rawDescGZIP() []byte {
+ file_QuestDestroyNpcRsp_proto_rawDescOnce.Do(func() {
+ file_QuestDestroyNpcRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestDestroyNpcRsp_proto_rawDescData)
+ })
+ return file_QuestDestroyNpcRsp_proto_rawDescData
+}
+
+var file_QuestDestroyNpcRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestDestroyNpcRsp_proto_goTypes = []interface{}{
+ (*QuestDestroyNpcRsp)(nil), // 0: proto.QuestDestroyNpcRsp
+}
+var file_QuestDestroyNpcRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestDestroyNpcRsp_proto_init() }
+func file_QuestDestroyNpcRsp_proto_init() {
+ if File_QuestDestroyNpcRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestDestroyNpcRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestDestroyNpcRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestDestroyNpcRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestDestroyNpcRsp_proto_goTypes,
+ DependencyIndexes: file_QuestDestroyNpcRsp_proto_depIdxs,
+ MessageInfos: file_QuestDestroyNpcRsp_proto_msgTypes,
+ }.Build()
+ File_QuestDestroyNpcRsp_proto = out.File
+ file_QuestDestroyNpcRsp_proto_rawDesc = nil
+ file_QuestDestroyNpcRsp_proto_goTypes = nil
+ file_QuestDestroyNpcRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestGlobalVar.pb.go b/protocol/proto/QuestGlobalVar.pb.go
new file mode 100644
index 00000000..cd2476e7
--- /dev/null
+++ b/protocol/proto/QuestGlobalVar.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestGlobalVar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type QuestGlobalVar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Value int32 `protobuf:"varint,8,opt,name=value,proto3" json:"value,omitempty"`
+ Key uint32 `protobuf:"varint,4,opt,name=key,proto3" json:"key,omitempty"`
+}
+
+func (x *QuestGlobalVar) Reset() {
+ *x = QuestGlobalVar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestGlobalVar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestGlobalVar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestGlobalVar) ProtoMessage() {}
+
+func (x *QuestGlobalVar) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestGlobalVar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestGlobalVar.ProtoReflect.Descriptor instead.
+func (*QuestGlobalVar) Descriptor() ([]byte, []int) {
+ return file_QuestGlobalVar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestGlobalVar) GetValue() int32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+func (x *QuestGlobalVar) GetKey() uint32 {
+ if x != nil {
+ return x.Key
+ }
+ return 0
+}
+
+var File_QuestGlobalVar_proto protoreflect.FileDescriptor
+
+var file_QuestGlobalVar_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x51, 0x75, 0x65, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a,
+ 0x0e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x72, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestGlobalVar_proto_rawDescOnce sync.Once
+ file_QuestGlobalVar_proto_rawDescData = file_QuestGlobalVar_proto_rawDesc
+)
+
+func file_QuestGlobalVar_proto_rawDescGZIP() []byte {
+ file_QuestGlobalVar_proto_rawDescOnce.Do(func() {
+ file_QuestGlobalVar_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestGlobalVar_proto_rawDescData)
+ })
+ return file_QuestGlobalVar_proto_rawDescData
+}
+
+var file_QuestGlobalVar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestGlobalVar_proto_goTypes = []interface{}{
+ (*QuestGlobalVar)(nil), // 0: proto.QuestGlobalVar
+}
+var file_QuestGlobalVar_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestGlobalVar_proto_init() }
+func file_QuestGlobalVar_proto_init() {
+ if File_QuestGlobalVar_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestGlobalVar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestGlobalVar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestGlobalVar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestGlobalVar_proto_goTypes,
+ DependencyIndexes: file_QuestGlobalVar_proto_depIdxs,
+ MessageInfos: file_QuestGlobalVar_proto_msgTypes,
+ }.Build()
+ File_QuestGlobalVar_proto = out.File
+ file_QuestGlobalVar_proto_rawDesc = nil
+ file_QuestGlobalVar_proto_goTypes = nil
+ file_QuestGlobalVar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestGlobalVarNotify.pb.go b/protocol/proto/QuestGlobalVarNotify.pb.go
new file mode 100644
index 00000000..5f57db84
--- /dev/null
+++ b/protocol/proto/QuestGlobalVarNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestGlobalVarNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 434
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestGlobalVarNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ VarList []*QuestGlobalVar `protobuf:"bytes,1,rep,name=var_list,json=varList,proto3" json:"var_list,omitempty"`
+}
+
+func (x *QuestGlobalVarNotify) Reset() {
+ *x = QuestGlobalVarNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestGlobalVarNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestGlobalVarNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestGlobalVarNotify) ProtoMessage() {}
+
+func (x *QuestGlobalVarNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestGlobalVarNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestGlobalVarNotify.ProtoReflect.Descriptor instead.
+func (*QuestGlobalVarNotify) Descriptor() ([]byte, []int) {
+ return file_QuestGlobalVarNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestGlobalVarNotify) GetVarList() []*QuestGlobalVar {
+ if x != nil {
+ return x.VarList
+ }
+ return nil
+}
+
+var File_QuestGlobalVarNotify_proto protoreflect.FileDescriptor
+
+var file_QuestGlobalVarNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x51, 0x75, 0x65, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
+ 0x56, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x14, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x30, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x65, 0x73,
+ 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x72, 0x52, 0x07, 0x76, 0x61, 0x72, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestGlobalVarNotify_proto_rawDescOnce sync.Once
+ file_QuestGlobalVarNotify_proto_rawDescData = file_QuestGlobalVarNotify_proto_rawDesc
+)
+
+func file_QuestGlobalVarNotify_proto_rawDescGZIP() []byte {
+ file_QuestGlobalVarNotify_proto_rawDescOnce.Do(func() {
+ file_QuestGlobalVarNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestGlobalVarNotify_proto_rawDescData)
+ })
+ return file_QuestGlobalVarNotify_proto_rawDescData
+}
+
+var file_QuestGlobalVarNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestGlobalVarNotify_proto_goTypes = []interface{}{
+ (*QuestGlobalVarNotify)(nil), // 0: proto.QuestGlobalVarNotify
+ (*QuestGlobalVar)(nil), // 1: proto.QuestGlobalVar
+}
+var file_QuestGlobalVarNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.QuestGlobalVarNotify.var_list:type_name -> proto.QuestGlobalVar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_QuestGlobalVarNotify_proto_init() }
+func file_QuestGlobalVarNotify_proto_init() {
+ if File_QuestGlobalVarNotify_proto != nil {
+ return
+ }
+ file_QuestGlobalVar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QuestGlobalVarNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestGlobalVarNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestGlobalVarNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestGlobalVarNotify_proto_goTypes,
+ DependencyIndexes: file_QuestGlobalVarNotify_proto_depIdxs,
+ MessageInfos: file_QuestGlobalVarNotify_proto_msgTypes,
+ }.Build()
+ File_QuestGlobalVarNotify_proto = out.File
+ file_QuestGlobalVarNotify_proto_rawDesc = nil
+ file_QuestGlobalVarNotify_proto_goTypes = nil
+ file_QuestGlobalVarNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestListNotify.pb.go b/protocol/proto/QuestListNotify.pb.go
new file mode 100644
index 00000000..e64afc3c
--- /dev/null
+++ b/protocol/proto/QuestListNotify.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 472
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestList []*Quest `protobuf:"bytes,1,rep,name=quest_list,json=questList,proto3" json:"quest_list,omitempty"`
+}
+
+func (x *QuestListNotify) Reset() {
+ *x = QuestListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestListNotify) ProtoMessage() {}
+
+func (x *QuestListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestListNotify.ProtoReflect.Descriptor instead.
+func (*QuestListNotify) Descriptor() ([]byte, []int) {
+ return file_QuestListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestListNotify) GetQuestList() []*Quest {
+ if x != nil {
+ return x.QuestList
+ }
+ return nil
+}
+
+var File_QuestListNotify_proto protoreflect.FileDescriptor
+
+var file_QuestListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x0f, 0x51,
+ 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2b,
+ 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74,
+ 0x52, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestListNotify_proto_rawDescOnce sync.Once
+ file_QuestListNotify_proto_rawDescData = file_QuestListNotify_proto_rawDesc
+)
+
+func file_QuestListNotify_proto_rawDescGZIP() []byte {
+ file_QuestListNotify_proto_rawDescOnce.Do(func() {
+ file_QuestListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestListNotify_proto_rawDescData)
+ })
+ return file_QuestListNotify_proto_rawDescData
+}
+
+var file_QuestListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestListNotify_proto_goTypes = []interface{}{
+ (*QuestListNotify)(nil), // 0: proto.QuestListNotify
+ (*Quest)(nil), // 1: proto.Quest
+}
+var file_QuestListNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.QuestListNotify.quest_list:type_name -> proto.Quest
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_QuestListNotify_proto_init() }
+func file_QuestListNotify_proto_init() {
+ if File_QuestListNotify_proto != nil {
+ return
+ }
+ file_Quest_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QuestListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestListNotify_proto_goTypes,
+ DependencyIndexes: file_QuestListNotify_proto_depIdxs,
+ MessageInfos: file_QuestListNotify_proto_msgTypes,
+ }.Build()
+ File_QuestListNotify_proto = out.File
+ file_QuestListNotify_proto_rawDesc = nil
+ file_QuestListNotify_proto_goTypes = nil
+ file_QuestListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestListUpdateNotify.pb.go b/protocol/proto/QuestListUpdateNotify.pb.go
new file mode 100644
index 00000000..098aacfa
--- /dev/null
+++ b/protocol/proto/QuestListUpdateNotify.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestListUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 498
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestListUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestList []*Quest `protobuf:"bytes,6,rep,name=quest_list,json=questList,proto3" json:"quest_list,omitempty"`
+}
+
+func (x *QuestListUpdateNotify) Reset() {
+ *x = QuestListUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestListUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestListUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestListUpdateNotify) ProtoMessage() {}
+
+func (x *QuestListUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestListUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestListUpdateNotify.ProtoReflect.Descriptor instead.
+func (*QuestListUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_QuestListUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestListUpdateNotify) GetQuestList() []*Quest {
+ if x != nil {
+ return x.QuestList
+ }
+ return nil
+}
+
+var File_QuestListUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_QuestListUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x51, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x44, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2b, 0x0a, 0x0a, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52, 0x09, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestListUpdateNotify_proto_rawDescOnce sync.Once
+ file_QuestListUpdateNotify_proto_rawDescData = file_QuestListUpdateNotify_proto_rawDesc
+)
+
+func file_QuestListUpdateNotify_proto_rawDescGZIP() []byte {
+ file_QuestListUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_QuestListUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestListUpdateNotify_proto_rawDescData)
+ })
+ return file_QuestListUpdateNotify_proto_rawDescData
+}
+
+var file_QuestListUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestListUpdateNotify_proto_goTypes = []interface{}{
+ (*QuestListUpdateNotify)(nil), // 0: proto.QuestListUpdateNotify
+ (*Quest)(nil), // 1: proto.Quest
+}
+var file_QuestListUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.QuestListUpdateNotify.quest_list:type_name -> proto.Quest
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_QuestListUpdateNotify_proto_init() }
+func file_QuestListUpdateNotify_proto_init() {
+ if File_QuestListUpdateNotify_proto != nil {
+ return
+ }
+ file_Quest_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QuestListUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestListUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestListUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestListUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_QuestListUpdateNotify_proto_depIdxs,
+ MessageInfos: file_QuestListUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_QuestListUpdateNotify_proto = out.File
+ file_QuestListUpdateNotify_proto_rawDesc = nil
+ file_QuestListUpdateNotify_proto_goTypes = nil
+ file_QuestListUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestProgressUpdateNotify.pb.go b/protocol/proto/QuestProgressUpdateNotify.pb.go
new file mode 100644
index 00000000..f0aab99e
--- /dev/null
+++ b/protocol/proto/QuestProgressUpdateNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestProgressUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 482
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestProgressUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,12,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ FailProgressList []uint32 `protobuf:"varint,6,rep,packed,name=fail_progress_list,json=failProgressList,proto3" json:"fail_progress_list,omitempty"`
+ FinishProgressList []uint32 `protobuf:"varint,13,rep,packed,name=finish_progress_list,json=finishProgressList,proto3" json:"finish_progress_list,omitempty"`
+}
+
+func (x *QuestProgressUpdateNotify) Reset() {
+ *x = QuestProgressUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestProgressUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestProgressUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestProgressUpdateNotify) ProtoMessage() {}
+
+func (x *QuestProgressUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestProgressUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestProgressUpdateNotify.ProtoReflect.Descriptor instead.
+func (*QuestProgressUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_QuestProgressUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestProgressUpdateNotify) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *QuestProgressUpdateNotify) GetFailProgressList() []uint32 {
+ if x != nil {
+ return x.FailProgressList
+ }
+ return nil
+}
+
+func (x *QuestProgressUpdateNotify) GetFinishProgressList() []uint32 {
+ if x != nil {
+ return x.FinishProgressList
+ }
+ return nil
+}
+
+var File_QuestProgressUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_QuestProgressUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x19, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49,
+ 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x66,
+ 0x61, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x30, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x66,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestProgressUpdateNotify_proto_rawDescOnce sync.Once
+ file_QuestProgressUpdateNotify_proto_rawDescData = file_QuestProgressUpdateNotify_proto_rawDesc
+)
+
+func file_QuestProgressUpdateNotify_proto_rawDescGZIP() []byte {
+ file_QuestProgressUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_QuestProgressUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestProgressUpdateNotify_proto_rawDescData)
+ })
+ return file_QuestProgressUpdateNotify_proto_rawDescData
+}
+
+var file_QuestProgressUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestProgressUpdateNotify_proto_goTypes = []interface{}{
+ (*QuestProgressUpdateNotify)(nil), // 0: proto.QuestProgressUpdateNotify
+}
+var file_QuestProgressUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestProgressUpdateNotify_proto_init() }
+func file_QuestProgressUpdateNotify_proto_init() {
+ if File_QuestProgressUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestProgressUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestProgressUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestProgressUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestProgressUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_QuestProgressUpdateNotify_proto_depIdxs,
+ MessageInfos: file_QuestProgressUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_QuestProgressUpdateNotify_proto = out.File
+ file_QuestProgressUpdateNotify_proto_rawDesc = nil
+ file_QuestProgressUpdateNotify_proto_goTypes = nil
+ file_QuestProgressUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestTransmitReq.pb.go b/protocol/proto/QuestTransmitReq.pb.go
new file mode 100644
index 00000000..b117a900
--- /dev/null
+++ b/protocol/proto/QuestTransmitReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestTransmitReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 450
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QuestTransmitReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,15,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ QuestId uint32 `protobuf:"varint,5,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *QuestTransmitReq) Reset() {
+ *x = QuestTransmitReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestTransmitReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestTransmitReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestTransmitReq) ProtoMessage() {}
+
+func (x *QuestTransmitReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestTransmitReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestTransmitReq.ProtoReflect.Descriptor instead.
+func (*QuestTransmitReq) Descriptor() ([]byte, []int) {
+ return file_QuestTransmitReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestTransmitReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *QuestTransmitReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_QuestTransmitReq_proto protoreflect.FileDescriptor
+
+var file_QuestTransmitReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x51, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x48, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestTransmitReq_proto_rawDescOnce sync.Once
+ file_QuestTransmitReq_proto_rawDescData = file_QuestTransmitReq_proto_rawDesc
+)
+
+func file_QuestTransmitReq_proto_rawDescGZIP() []byte {
+ file_QuestTransmitReq_proto_rawDescOnce.Do(func() {
+ file_QuestTransmitReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestTransmitReq_proto_rawDescData)
+ })
+ return file_QuestTransmitReq_proto_rawDescData
+}
+
+var file_QuestTransmitReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestTransmitReq_proto_goTypes = []interface{}{
+ (*QuestTransmitReq)(nil), // 0: proto.QuestTransmitReq
+}
+var file_QuestTransmitReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestTransmitReq_proto_init() }
+func file_QuestTransmitReq_proto_init() {
+ if File_QuestTransmitReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestTransmitReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestTransmitReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestTransmitReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestTransmitReq_proto_goTypes,
+ DependencyIndexes: file_QuestTransmitReq_proto_depIdxs,
+ MessageInfos: file_QuestTransmitReq_proto_msgTypes,
+ }.Build()
+ File_QuestTransmitReq_proto = out.File
+ file_QuestTransmitReq_proto_rawDesc = nil
+ file_QuestTransmitReq_proto_goTypes = nil
+ file_QuestTransmitReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestTransmitRsp.pb.go b/protocol/proto/QuestTransmitRsp.pb.go
new file mode 100644
index 00000000..c0ae7bb7
--- /dev/null
+++ b/protocol/proto/QuestTransmitRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestTransmitRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 443
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestTransmitRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,12,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ QuestId uint32 `protobuf:"varint,3,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *QuestTransmitRsp) Reset() {
+ *x = QuestTransmitRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestTransmitRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestTransmitRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestTransmitRsp) ProtoMessage() {}
+
+func (x *QuestTransmitRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestTransmitRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestTransmitRsp.ProtoReflect.Descriptor instead.
+func (*QuestTransmitRsp) Descriptor() ([]byte, []int) {
+ return file_QuestTransmitRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestTransmitRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *QuestTransmitRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *QuestTransmitRsp) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_QuestTransmitRsp_proto protoreflect.FileDescriptor
+
+var file_QuestTransmitRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x51, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x62, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestTransmitRsp_proto_rawDescOnce sync.Once
+ file_QuestTransmitRsp_proto_rawDescData = file_QuestTransmitRsp_proto_rawDesc
+)
+
+func file_QuestTransmitRsp_proto_rawDescGZIP() []byte {
+ file_QuestTransmitRsp_proto_rawDescOnce.Do(func() {
+ file_QuestTransmitRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestTransmitRsp_proto_rawDescData)
+ })
+ return file_QuestTransmitRsp_proto_rawDescData
+}
+
+var file_QuestTransmitRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestTransmitRsp_proto_goTypes = []interface{}{
+ (*QuestTransmitRsp)(nil), // 0: proto.QuestTransmitRsp
+}
+var file_QuestTransmitRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestTransmitRsp_proto_init() }
+func file_QuestTransmitRsp_proto_init() {
+ if File_QuestTransmitRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestTransmitRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestTransmitRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestTransmitRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestTransmitRsp_proto_goTypes,
+ DependencyIndexes: file_QuestTransmitRsp_proto_depIdxs,
+ MessageInfos: file_QuestTransmitRsp_proto_msgTypes,
+ }.Build()
+ File_QuestTransmitRsp_proto = out.File
+ file_QuestTransmitRsp_proto_rawDesc = nil
+ file_QuestTransmitRsp_proto_goTypes = nil
+ file_QuestTransmitRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestUpdateQuestTimeVarNotify.pb.go b/protocol/proto/QuestUpdateQuestTimeVarNotify.pb.go
new file mode 100644
index 00000000..83b8822d
--- /dev/null
+++ b/protocol/proto/QuestUpdateQuestTimeVarNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestUpdateQuestTimeVarNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 456
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestUpdateQuestTimeVarNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TimeVarMap map[uint32]uint32 `protobuf:"bytes,1,rep,name=time_var_map,json=timeVarMap,proto3" json:"time_var_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ParentQuestId uint32 `protobuf:"varint,3,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+}
+
+func (x *QuestUpdateQuestTimeVarNotify) Reset() {
+ *x = QuestUpdateQuestTimeVarNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestUpdateQuestTimeVarNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestUpdateQuestTimeVarNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestUpdateQuestTimeVarNotify) ProtoMessage() {}
+
+func (x *QuestUpdateQuestTimeVarNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestUpdateQuestTimeVarNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestUpdateQuestTimeVarNotify.ProtoReflect.Descriptor instead.
+func (*QuestUpdateQuestTimeVarNotify) Descriptor() ([]byte, []int) {
+ return file_QuestUpdateQuestTimeVarNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestUpdateQuestTimeVarNotify) GetTimeVarMap() map[uint32]uint32 {
+ if x != nil {
+ return x.TimeVarMap
+ }
+ return nil
+}
+
+func (x *QuestUpdateQuestTimeVarNotify) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+var File_QuestUpdateQuestTimeVarNotify_proto protoreflect.FileDescriptor
+
+var file_QuestUpdateQuestTimeVarNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x51, 0x75, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x01, 0x0a,
+ 0x1d, 0x51, 0x75, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x56,
+ 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d,
+ 0x65, 0x56, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x56,
+ 0x61, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65,
+ 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x1a, 0x3d,
+ 0x0a, 0x0f, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_QuestUpdateQuestTimeVarNotify_proto_rawDescOnce sync.Once
+ file_QuestUpdateQuestTimeVarNotify_proto_rawDescData = file_QuestUpdateQuestTimeVarNotify_proto_rawDesc
+)
+
+func file_QuestUpdateQuestTimeVarNotify_proto_rawDescGZIP() []byte {
+ file_QuestUpdateQuestTimeVarNotify_proto_rawDescOnce.Do(func() {
+ file_QuestUpdateQuestTimeVarNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestUpdateQuestTimeVarNotify_proto_rawDescData)
+ })
+ return file_QuestUpdateQuestTimeVarNotify_proto_rawDescData
+}
+
+var file_QuestUpdateQuestTimeVarNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_QuestUpdateQuestTimeVarNotify_proto_goTypes = []interface{}{
+ (*QuestUpdateQuestTimeVarNotify)(nil), // 0: proto.QuestUpdateQuestTimeVarNotify
+ nil, // 1: proto.QuestUpdateQuestTimeVarNotify.TimeVarMapEntry
+}
+var file_QuestUpdateQuestTimeVarNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.QuestUpdateQuestTimeVarNotify.time_var_map:type_name -> proto.QuestUpdateQuestTimeVarNotify.TimeVarMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_QuestUpdateQuestTimeVarNotify_proto_init() }
+func file_QuestUpdateQuestTimeVarNotify_proto_init() {
+ if File_QuestUpdateQuestTimeVarNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestUpdateQuestTimeVarNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestUpdateQuestTimeVarNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestUpdateQuestTimeVarNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestUpdateQuestTimeVarNotify_proto_goTypes,
+ DependencyIndexes: file_QuestUpdateQuestTimeVarNotify_proto_depIdxs,
+ MessageInfos: file_QuestUpdateQuestTimeVarNotify_proto_msgTypes,
+ }.Build()
+ File_QuestUpdateQuestTimeVarNotify_proto = out.File
+ file_QuestUpdateQuestTimeVarNotify_proto_rawDesc = nil
+ file_QuestUpdateQuestTimeVarNotify_proto_goTypes = nil
+ file_QuestUpdateQuestTimeVarNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestUpdateQuestVarNotify.pb.go b/protocol/proto/QuestUpdateQuestVarNotify.pb.go
new file mode 100644
index 00000000..5f4f9fa6
--- /dev/null
+++ b/protocol/proto/QuestUpdateQuestVarNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestUpdateQuestVarNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 453
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestUpdateQuestVarNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestVar []int32 `protobuf:"varint,1,rep,packed,name=quest_var,json=questVar,proto3" json:"quest_var,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,12,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ ParentQuestVarSeq uint32 `protobuf:"varint,8,opt,name=parent_quest_var_seq,json=parentQuestVarSeq,proto3" json:"parent_quest_var_seq,omitempty"`
+}
+
+func (x *QuestUpdateQuestVarNotify) Reset() {
+ *x = QuestUpdateQuestVarNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestUpdateQuestVarNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestUpdateQuestVarNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestUpdateQuestVarNotify) ProtoMessage() {}
+
+func (x *QuestUpdateQuestVarNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestUpdateQuestVarNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestUpdateQuestVarNotify.ProtoReflect.Descriptor instead.
+func (*QuestUpdateQuestVarNotify) Descriptor() ([]byte, []int) {
+ return file_QuestUpdateQuestVarNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestUpdateQuestVarNotify) GetQuestVar() []int32 {
+ if x != nil {
+ return x.QuestVar
+ }
+ return nil
+}
+
+func (x *QuestUpdateQuestVarNotify) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *QuestUpdateQuestVarNotify) GetParentQuestVarSeq() uint32 {
+ if x != nil {
+ return x.ParentQuestVarSeq
+ }
+ return 0
+}
+
+var File_QuestUpdateQuestVarNotify_proto protoreflect.FileDescriptor
+
+var file_QuestUpdateQuestVarNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x51, 0x75, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x56, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x19, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
+ 0x76, 0x61, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x56, 0x61, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x70,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f,
+ 0x73, 0x65, 0x71, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e,
+ 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72, 0x53, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestUpdateQuestVarNotify_proto_rawDescOnce sync.Once
+ file_QuestUpdateQuestVarNotify_proto_rawDescData = file_QuestUpdateQuestVarNotify_proto_rawDesc
+)
+
+func file_QuestUpdateQuestVarNotify_proto_rawDescGZIP() []byte {
+ file_QuestUpdateQuestVarNotify_proto_rawDescOnce.Do(func() {
+ file_QuestUpdateQuestVarNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestUpdateQuestVarNotify_proto_rawDescData)
+ })
+ return file_QuestUpdateQuestVarNotify_proto_rawDescData
+}
+
+var file_QuestUpdateQuestVarNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestUpdateQuestVarNotify_proto_goTypes = []interface{}{
+ (*QuestUpdateQuestVarNotify)(nil), // 0: proto.QuestUpdateQuestVarNotify
+}
+var file_QuestUpdateQuestVarNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestUpdateQuestVarNotify_proto_init() }
+func file_QuestUpdateQuestVarNotify_proto_init() {
+ if File_QuestUpdateQuestVarNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestUpdateQuestVarNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestUpdateQuestVarNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestUpdateQuestVarNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestUpdateQuestVarNotify_proto_goTypes,
+ DependencyIndexes: file_QuestUpdateQuestVarNotify_proto_depIdxs,
+ MessageInfos: file_QuestUpdateQuestVarNotify_proto_msgTypes,
+ }.Build()
+ File_QuestUpdateQuestVarNotify_proto = out.File
+ file_QuestUpdateQuestVarNotify_proto_rawDesc = nil
+ file_QuestUpdateQuestVarNotify_proto_goTypes = nil
+ file_QuestUpdateQuestVarNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestUpdateQuestVarReq.pb.go b/protocol/proto/QuestUpdateQuestVarReq.pb.go
new file mode 100644
index 00000000..79cfa668
--- /dev/null
+++ b/protocol/proto/QuestUpdateQuestVarReq.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestUpdateQuestVarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 447
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QuestUpdateQuestVarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParentQuestId uint32 `protobuf:"varint,9,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ QuestVarOpList []*QuestVarOp `protobuf:"bytes,4,rep,name=quest_var_op_list,json=questVarOpList,proto3" json:"quest_var_op_list,omitempty"`
+ QuestId uint32 `protobuf:"varint,11,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+ ParentQuestVarSeq uint32 `protobuf:"varint,1,opt,name=parent_quest_var_seq,json=parentQuestVarSeq,proto3" json:"parent_quest_var_seq,omitempty"`
+}
+
+func (x *QuestUpdateQuestVarReq) Reset() {
+ *x = QuestUpdateQuestVarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestUpdateQuestVarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestUpdateQuestVarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestUpdateQuestVarReq) ProtoMessage() {}
+
+func (x *QuestUpdateQuestVarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestUpdateQuestVarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestUpdateQuestVarReq.ProtoReflect.Descriptor instead.
+func (*QuestUpdateQuestVarReq) Descriptor() ([]byte, []int) {
+ return file_QuestUpdateQuestVarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestUpdateQuestVarReq) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *QuestUpdateQuestVarReq) GetQuestVarOpList() []*QuestVarOp {
+ if x != nil {
+ return x.QuestVarOpList
+ }
+ return nil
+}
+
+func (x *QuestUpdateQuestVarReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+func (x *QuestUpdateQuestVarReq) GetParentQuestVarSeq() uint32 {
+ if x != nil {
+ return x.ParentQuestVarSeq
+ }
+ return 0
+}
+
+var File_QuestUpdateQuestVarReq_proto protoreflect.FileDescriptor
+
+var file_QuestUpdateQuestVarReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x56, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72, 0x4f,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x01, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x73,
+ 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72, 0x52,
+ 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72,
+ 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x11, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x51, 0x75,
+ 0x65, 0x73, 0x74, 0x56, 0x61, 0x72, 0x4f, 0x70, 0x52, 0x0e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56,
+ 0x61, 0x72, 0x4f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61,
+ 0x72, 0x53, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestUpdateQuestVarReq_proto_rawDescOnce sync.Once
+ file_QuestUpdateQuestVarReq_proto_rawDescData = file_QuestUpdateQuestVarReq_proto_rawDesc
+)
+
+func file_QuestUpdateQuestVarReq_proto_rawDescGZIP() []byte {
+ file_QuestUpdateQuestVarReq_proto_rawDescOnce.Do(func() {
+ file_QuestUpdateQuestVarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestUpdateQuestVarReq_proto_rawDescData)
+ })
+ return file_QuestUpdateQuestVarReq_proto_rawDescData
+}
+
+var file_QuestUpdateQuestVarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestUpdateQuestVarReq_proto_goTypes = []interface{}{
+ (*QuestUpdateQuestVarReq)(nil), // 0: proto.QuestUpdateQuestVarReq
+ (*QuestVarOp)(nil), // 1: proto.QuestVarOp
+}
+var file_QuestUpdateQuestVarReq_proto_depIdxs = []int32{
+ 1, // 0: proto.QuestUpdateQuestVarReq.quest_var_op_list:type_name -> proto.QuestVarOp
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_QuestUpdateQuestVarReq_proto_init() }
+func file_QuestUpdateQuestVarReq_proto_init() {
+ if File_QuestUpdateQuestVarReq_proto != nil {
+ return
+ }
+ file_QuestVarOp_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QuestUpdateQuestVarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestUpdateQuestVarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestUpdateQuestVarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestUpdateQuestVarReq_proto_goTypes,
+ DependencyIndexes: file_QuestUpdateQuestVarReq_proto_depIdxs,
+ MessageInfos: file_QuestUpdateQuestVarReq_proto_msgTypes,
+ }.Build()
+ File_QuestUpdateQuestVarReq_proto = out.File
+ file_QuestUpdateQuestVarReq_proto_rawDesc = nil
+ file_QuestUpdateQuestVarReq_proto_goTypes = nil
+ file_QuestUpdateQuestVarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestUpdateQuestVarRsp.pb.go b/protocol/proto/QuestUpdateQuestVarRsp.pb.go
new file mode 100644
index 00000000..676b237f
--- /dev/null
+++ b/protocol/proto/QuestUpdateQuestVarRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestUpdateQuestVarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 439
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuestUpdateQuestVarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ParentQuestVarSeq uint32 `protobuf:"varint,2,opt,name=parent_quest_var_seq,json=parentQuestVarSeq,proto3" json:"parent_quest_var_seq,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,8,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ QuestId uint32 `protobuf:"varint,15,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *QuestUpdateQuestVarRsp) Reset() {
+ *x = QuestUpdateQuestVarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestUpdateQuestVarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestUpdateQuestVarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestUpdateQuestVarRsp) ProtoMessage() {}
+
+func (x *QuestUpdateQuestVarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestUpdateQuestVarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestUpdateQuestVarRsp.ProtoReflect.Descriptor instead.
+func (*QuestUpdateQuestVarRsp) Descriptor() ([]byte, []int) {
+ return file_QuestUpdateQuestVarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestUpdateQuestVarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *QuestUpdateQuestVarRsp) GetParentQuestVarSeq() uint32 {
+ if x != nil {
+ return x.ParentQuestVarSeq
+ }
+ return 0
+}
+
+func (x *QuestUpdateQuestVarRsp) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *QuestUpdateQuestVarRsp) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_QuestUpdateQuestVarRsp_proto protoreflect.FileDescriptor
+
+var file_QuestUpdateQuestVarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x51, 0x75, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x56, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x73, 0x74, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x73,
+ 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72, 0x53, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73,
+ 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_QuestUpdateQuestVarRsp_proto_rawDescOnce sync.Once
+ file_QuestUpdateQuestVarRsp_proto_rawDescData = file_QuestUpdateQuestVarRsp_proto_rawDesc
+)
+
+func file_QuestUpdateQuestVarRsp_proto_rawDescGZIP() []byte {
+ file_QuestUpdateQuestVarRsp_proto_rawDescOnce.Do(func() {
+ file_QuestUpdateQuestVarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestUpdateQuestVarRsp_proto_rawDescData)
+ })
+ return file_QuestUpdateQuestVarRsp_proto_rawDescData
+}
+
+var file_QuestUpdateQuestVarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestUpdateQuestVarRsp_proto_goTypes = []interface{}{
+ (*QuestUpdateQuestVarRsp)(nil), // 0: proto.QuestUpdateQuestVarRsp
+}
+var file_QuestUpdateQuestVarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestUpdateQuestVarRsp_proto_init() }
+func file_QuestUpdateQuestVarRsp_proto_init() {
+ if File_QuestUpdateQuestVarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestUpdateQuestVarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestUpdateQuestVarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestUpdateQuestVarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestUpdateQuestVarRsp_proto_goTypes,
+ DependencyIndexes: file_QuestUpdateQuestVarRsp_proto_depIdxs,
+ MessageInfos: file_QuestUpdateQuestVarRsp_proto_msgTypes,
+ }.Build()
+ File_QuestUpdateQuestVarRsp_proto = out.File
+ file_QuestUpdateQuestVarRsp_proto_rawDesc = nil
+ file_QuestUpdateQuestVarRsp_proto_goTypes = nil
+ file_QuestUpdateQuestVarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuestVarOp.pb.go b/protocol/proto/QuestVarOp.pb.go
new file mode 100644
index 00000000..5593753a
--- /dev/null
+++ b/protocol/proto/QuestVarOp.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuestVarOp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type QuestVarOp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,9,opt,name=index,proto3" json:"index,omitempty"`
+ Value int32 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
+ IsAdd bool `protobuf:"varint,6,opt,name=is_add,json=isAdd,proto3" json:"is_add,omitempty"`
+}
+
+func (x *QuestVarOp) Reset() {
+ *x = QuestVarOp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuestVarOp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuestVarOp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuestVarOp) ProtoMessage() {}
+
+func (x *QuestVarOp) ProtoReflect() protoreflect.Message {
+ mi := &file_QuestVarOp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuestVarOp.ProtoReflect.Descriptor instead.
+func (*QuestVarOp) Descriptor() ([]byte, []int) {
+ return file_QuestVarOp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuestVarOp) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *QuestVarOp) GetValue() int32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+func (x *QuestVarOp) GetIsAdd() bool {
+ if x != nil {
+ return x.IsAdd
+ }
+ return false
+}
+
+var File_QuestVarOp_proto protoreflect.FileDescriptor
+
+var file_QuestVarOp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x51, 0x75, 0x65, 0x73, 0x74, 0x56, 0x61, 0x72, 0x4f, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x0a, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x56, 0x61, 0x72, 0x4f, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x41, 0x64, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuestVarOp_proto_rawDescOnce sync.Once
+ file_QuestVarOp_proto_rawDescData = file_QuestVarOp_proto_rawDesc
+)
+
+func file_QuestVarOp_proto_rawDescGZIP() []byte {
+ file_QuestVarOp_proto_rawDescOnce.Do(func() {
+ file_QuestVarOp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuestVarOp_proto_rawDescData)
+ })
+ return file_QuestVarOp_proto_rawDescData
+}
+
+var file_QuestVarOp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuestVarOp_proto_goTypes = []interface{}{
+ (*QuestVarOp)(nil), // 0: proto.QuestVarOp
+}
+var file_QuestVarOp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuestVarOp_proto_init() }
+func file_QuestVarOp_proto_init() {
+ if File_QuestVarOp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuestVarOp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuestVarOp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuestVarOp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuestVarOp_proto_goTypes,
+ DependencyIndexes: file_QuestVarOp_proto_depIdxs,
+ MessageInfos: file_QuestVarOp_proto_msgTypes,
+ }.Build()
+ File_QuestVarOp_proto = out.File
+ file_QuestVarOp_proto_rawDesc = nil
+ file_QuestVarOp_proto_goTypes = nil
+ file_QuestVarOp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuickOpenActivityReq.pb.go b/protocol/proto/QuickOpenActivityReq.pb.go
new file mode 100644
index 00000000..54aab1e8
--- /dev/null
+++ b/protocol/proto/QuickOpenActivityReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuickOpenActivityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8178
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QuickOpenActivityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,1,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *QuickOpenActivityReq) Reset() {
+ *x = QuickOpenActivityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuickOpenActivityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuickOpenActivityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuickOpenActivityReq) ProtoMessage() {}
+
+func (x *QuickOpenActivityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QuickOpenActivityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuickOpenActivityReq.ProtoReflect.Descriptor instead.
+func (*QuickOpenActivityReq) Descriptor() ([]byte, []int) {
+ return file_QuickOpenActivityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuickOpenActivityReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_QuickOpenActivityReq_proto protoreflect.FileDescriptor
+
+var file_QuickOpenActivityReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x14, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuickOpenActivityReq_proto_rawDescOnce sync.Once
+ file_QuickOpenActivityReq_proto_rawDescData = file_QuickOpenActivityReq_proto_rawDesc
+)
+
+func file_QuickOpenActivityReq_proto_rawDescGZIP() []byte {
+ file_QuickOpenActivityReq_proto_rawDescOnce.Do(func() {
+ file_QuickOpenActivityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuickOpenActivityReq_proto_rawDescData)
+ })
+ return file_QuickOpenActivityReq_proto_rawDescData
+}
+
+var file_QuickOpenActivityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuickOpenActivityReq_proto_goTypes = []interface{}{
+ (*QuickOpenActivityReq)(nil), // 0: proto.QuickOpenActivityReq
+}
+var file_QuickOpenActivityReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuickOpenActivityReq_proto_init() }
+func file_QuickOpenActivityReq_proto_init() {
+ if File_QuickOpenActivityReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuickOpenActivityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuickOpenActivityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuickOpenActivityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuickOpenActivityReq_proto_goTypes,
+ DependencyIndexes: file_QuickOpenActivityReq_proto_depIdxs,
+ MessageInfos: file_QuickOpenActivityReq_proto_msgTypes,
+ }.Build()
+ File_QuickOpenActivityReq_proto = out.File
+ file_QuickOpenActivityReq_proto_rawDesc = nil
+ file_QuickOpenActivityReq_proto_goTypes = nil
+ file_QuickOpenActivityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuickOpenActivityRsp.pb.go b/protocol/proto/QuickOpenActivityRsp.pb.go
new file mode 100644
index 00000000..5b29d262
--- /dev/null
+++ b/protocol/proto/QuickOpenActivityRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuickOpenActivityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8882
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuickOpenActivityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ActivityId uint32 `protobuf:"varint,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *QuickOpenActivityRsp) Reset() {
+ *x = QuickOpenActivityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuickOpenActivityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuickOpenActivityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuickOpenActivityRsp) ProtoMessage() {}
+
+func (x *QuickOpenActivityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QuickOpenActivityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuickOpenActivityRsp.ProtoReflect.Descriptor instead.
+func (*QuickOpenActivityRsp) Descriptor() ([]byte, []int) {
+ return file_QuickOpenActivityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuickOpenActivityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *QuickOpenActivityRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_QuickOpenActivityRsp_proto protoreflect.FileDescriptor
+
+var file_QuickOpenActivityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x14, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x4f, 0x70, 0x65, 0x6e,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_QuickOpenActivityRsp_proto_rawDescOnce sync.Once
+ file_QuickOpenActivityRsp_proto_rawDescData = file_QuickOpenActivityRsp_proto_rawDesc
+)
+
+func file_QuickOpenActivityRsp_proto_rawDescGZIP() []byte {
+ file_QuickOpenActivityRsp_proto_rawDescOnce.Do(func() {
+ file_QuickOpenActivityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuickOpenActivityRsp_proto_rawDescData)
+ })
+ return file_QuickOpenActivityRsp_proto_rawDescData
+}
+
+var file_QuickOpenActivityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuickOpenActivityRsp_proto_goTypes = []interface{}{
+ (*QuickOpenActivityRsp)(nil), // 0: proto.QuickOpenActivityRsp
+}
+var file_QuickOpenActivityRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_QuickOpenActivityRsp_proto_init() }
+func file_QuickOpenActivityRsp_proto_init() {
+ if File_QuickOpenActivityRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_QuickOpenActivityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuickOpenActivityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuickOpenActivityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuickOpenActivityRsp_proto_goTypes,
+ DependencyIndexes: file_QuickOpenActivityRsp_proto_depIdxs,
+ MessageInfos: file_QuickOpenActivityRsp_proto_msgTypes,
+ }.Build()
+ File_QuickOpenActivityRsp_proto = out.File
+ file_QuickOpenActivityRsp_proto_rawDesc = nil
+ file_QuickOpenActivityRsp_proto_goTypes = nil
+ file_QuickOpenActivityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuickUseWidgetReq.pb.go b/protocol/proto/QuickUseWidgetReq.pb.go
new file mode 100644
index 00000000..85a52a45
--- /dev/null
+++ b/protocol/proto/QuickUseWidgetReq.pb.go
@@ -0,0 +1,268 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuickUseWidgetReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4299
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type QuickUseWidgetReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Param:
+ //
+ // *QuickUseWidgetReq_LocationInfo
+ // *QuickUseWidgetReq_CameraInfo
+ // *QuickUseWidgetReq_CreatorInfo
+ // *QuickUseWidgetReq_ThunderBirdFeatherInfo
+ Param isQuickUseWidgetReq_Param `protobuf_oneof:"param"`
+}
+
+func (x *QuickUseWidgetReq) Reset() {
+ *x = QuickUseWidgetReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuickUseWidgetReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuickUseWidgetReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuickUseWidgetReq) ProtoMessage() {}
+
+func (x *QuickUseWidgetReq) ProtoReflect() protoreflect.Message {
+ mi := &file_QuickUseWidgetReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuickUseWidgetReq.ProtoReflect.Descriptor instead.
+func (*QuickUseWidgetReq) Descriptor() ([]byte, []int) {
+ return file_QuickUseWidgetReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *QuickUseWidgetReq) GetParam() isQuickUseWidgetReq_Param {
+ if m != nil {
+ return m.Param
+ }
+ return nil
+}
+
+func (x *QuickUseWidgetReq) GetLocationInfo() *WidgetCreateLocationInfo {
+ if x, ok := x.GetParam().(*QuickUseWidgetReq_LocationInfo); ok {
+ return x.LocationInfo
+ }
+ return nil
+}
+
+func (x *QuickUseWidgetReq) GetCameraInfo() *WidgetCameraInfo {
+ if x, ok := x.GetParam().(*QuickUseWidgetReq_CameraInfo); ok {
+ return x.CameraInfo
+ }
+ return nil
+}
+
+func (x *QuickUseWidgetReq) GetCreatorInfo() *WidgetCreatorInfo {
+ if x, ok := x.GetParam().(*QuickUseWidgetReq_CreatorInfo); ok {
+ return x.CreatorInfo
+ }
+ return nil
+}
+
+func (x *QuickUseWidgetReq) GetThunderBirdFeatherInfo() *WidgetThunderBirdFeatherInfo {
+ if x, ok := x.GetParam().(*QuickUseWidgetReq_ThunderBirdFeatherInfo); ok {
+ return x.ThunderBirdFeatherInfo
+ }
+ return nil
+}
+
+type isQuickUseWidgetReq_Param interface {
+ isQuickUseWidgetReq_Param()
+}
+
+type QuickUseWidgetReq_LocationInfo struct {
+ LocationInfo *WidgetCreateLocationInfo `protobuf:"bytes,676,opt,name=location_info,json=locationInfo,proto3,oneof"`
+}
+
+type QuickUseWidgetReq_CameraInfo struct {
+ CameraInfo *WidgetCameraInfo `protobuf:"bytes,478,opt,name=camera_info,json=cameraInfo,proto3,oneof"`
+}
+
+type QuickUseWidgetReq_CreatorInfo struct {
+ CreatorInfo *WidgetCreatorInfo `protobuf:"bytes,812,opt,name=creator_info,json=creatorInfo,proto3,oneof"`
+}
+
+type QuickUseWidgetReq_ThunderBirdFeatherInfo struct {
+ ThunderBirdFeatherInfo *WidgetThunderBirdFeatherInfo `protobuf:"bytes,1859,opt,name=thunder_bird_feather_info,json=thunderBirdFeatherInfo,proto3,oneof"`
+}
+
+func (*QuickUseWidgetReq_LocationInfo) isQuickUseWidgetReq_Param() {}
+
+func (*QuickUseWidgetReq_CameraInfo) isQuickUseWidgetReq_Param() {}
+
+func (*QuickUseWidgetReq_CreatorInfo) isQuickUseWidgetReq_Param() {}
+
+func (*QuickUseWidgetReq_ThunderBirdFeatherInfo) isQuickUseWidgetReq_Param() {}
+
+var File_QuickUseWidgetReq_proto protoreflect.FileDescriptor
+
+var file_QuickUseWidgetReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x22, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72,
+ 0x42, 0x69, 0x72, 0x64, 0x46, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x02, 0x0a, 0x11, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x55,
+ 0x73, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x47, 0x0a, 0x0d, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xa4, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0xde, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0xac, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x61, 0x0a, 0x19, 0x74, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x69, 0x72,
+ 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xc3,
+ 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x54, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x69, 0x72, 0x64, 0x46,
+ 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x16, 0x74, 0x68,
+ 0x75, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x69, 0x72, 0x64, 0x46, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x07, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_QuickUseWidgetReq_proto_rawDescOnce sync.Once
+ file_QuickUseWidgetReq_proto_rawDescData = file_QuickUseWidgetReq_proto_rawDesc
+)
+
+func file_QuickUseWidgetReq_proto_rawDescGZIP() []byte {
+ file_QuickUseWidgetReq_proto_rawDescOnce.Do(func() {
+ file_QuickUseWidgetReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuickUseWidgetReq_proto_rawDescData)
+ })
+ return file_QuickUseWidgetReq_proto_rawDescData
+}
+
+var file_QuickUseWidgetReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuickUseWidgetReq_proto_goTypes = []interface{}{
+ (*QuickUseWidgetReq)(nil), // 0: proto.QuickUseWidgetReq
+ (*WidgetCreateLocationInfo)(nil), // 1: proto.WidgetCreateLocationInfo
+ (*WidgetCameraInfo)(nil), // 2: proto.WidgetCameraInfo
+ (*WidgetCreatorInfo)(nil), // 3: proto.WidgetCreatorInfo
+ (*WidgetThunderBirdFeatherInfo)(nil), // 4: proto.WidgetThunderBirdFeatherInfo
+}
+var file_QuickUseWidgetReq_proto_depIdxs = []int32{
+ 1, // 0: proto.QuickUseWidgetReq.location_info:type_name -> proto.WidgetCreateLocationInfo
+ 2, // 1: proto.QuickUseWidgetReq.camera_info:type_name -> proto.WidgetCameraInfo
+ 3, // 2: proto.QuickUseWidgetReq.creator_info:type_name -> proto.WidgetCreatorInfo
+ 4, // 3: proto.QuickUseWidgetReq.thunder_bird_feather_info:type_name -> proto.WidgetThunderBirdFeatherInfo
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_QuickUseWidgetReq_proto_init() }
+func file_QuickUseWidgetReq_proto_init() {
+ if File_QuickUseWidgetReq_proto != nil {
+ return
+ }
+ file_WidgetCameraInfo_proto_init()
+ file_WidgetCreateLocationInfo_proto_init()
+ file_WidgetCreatorInfo_proto_init()
+ file_WidgetThunderBirdFeatherInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QuickUseWidgetReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuickUseWidgetReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_QuickUseWidgetReq_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*QuickUseWidgetReq_LocationInfo)(nil),
+ (*QuickUseWidgetReq_CameraInfo)(nil),
+ (*QuickUseWidgetReq_CreatorInfo)(nil),
+ (*QuickUseWidgetReq_ThunderBirdFeatherInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuickUseWidgetReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuickUseWidgetReq_proto_goTypes,
+ DependencyIndexes: file_QuickUseWidgetReq_proto_depIdxs,
+ MessageInfos: file_QuickUseWidgetReq_proto_msgTypes,
+ }.Build()
+ File_QuickUseWidgetReq_proto = out.File
+ file_QuickUseWidgetReq_proto_rawDesc = nil
+ file_QuickUseWidgetReq_proto_goTypes = nil
+ file_QuickUseWidgetReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/QuickUseWidgetRsp.pb.go b/protocol/proto/QuickUseWidgetRsp.pb.go
new file mode 100644
index 00000000..28a634da
--- /dev/null
+++ b/protocol/proto/QuickUseWidgetRsp.pb.go
@@ -0,0 +1,267 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: QuickUseWidgetRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4270
+// EnetChannelId: 0
+// EnetIsReliable: true
+type QuickUseWidgetRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaterialId uint32 `protobuf:"varint,6,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ // Types that are assignable to Param:
+ //
+ // *QuickUseWidgetRsp_DetectorData
+ // *QuickUseWidgetRsp_ClientCollectorData
+ // *QuickUseWidgetRsp_SkyCrystalDetectorQuickUseResult
+ Param isQuickUseWidgetRsp_Param `protobuf_oneof:"param"`
+}
+
+func (x *QuickUseWidgetRsp) Reset() {
+ *x = QuickUseWidgetRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_QuickUseWidgetRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *QuickUseWidgetRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*QuickUseWidgetRsp) ProtoMessage() {}
+
+func (x *QuickUseWidgetRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_QuickUseWidgetRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use QuickUseWidgetRsp.ProtoReflect.Descriptor instead.
+func (*QuickUseWidgetRsp) Descriptor() ([]byte, []int) {
+ return file_QuickUseWidgetRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *QuickUseWidgetRsp) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *QuickUseWidgetRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (m *QuickUseWidgetRsp) GetParam() isQuickUseWidgetRsp_Param {
+ if m != nil {
+ return m.Param
+ }
+ return nil
+}
+
+func (x *QuickUseWidgetRsp) GetDetectorData() *OneofGatherPointDetectorData {
+ if x, ok := x.GetParam().(*QuickUseWidgetRsp_DetectorData); ok {
+ return x.DetectorData
+ }
+ return nil
+}
+
+func (x *QuickUseWidgetRsp) GetClientCollectorData() *ClientCollectorData {
+ if x, ok := x.GetParam().(*QuickUseWidgetRsp_ClientCollectorData); ok {
+ return x.ClientCollectorData
+ }
+ return nil
+}
+
+func (x *QuickUseWidgetRsp) GetSkyCrystalDetectorQuickUseResult() *SkyCrystalDetectorQuickUseResult {
+ if x, ok := x.GetParam().(*QuickUseWidgetRsp_SkyCrystalDetectorQuickUseResult); ok {
+ return x.SkyCrystalDetectorQuickUseResult
+ }
+ return nil
+}
+
+type isQuickUseWidgetRsp_Param interface {
+ isQuickUseWidgetRsp_Param()
+}
+
+type QuickUseWidgetRsp_DetectorData struct {
+ DetectorData *OneofGatherPointDetectorData `protobuf:"bytes,3,opt,name=detector_data,json=detectorData,proto3,oneof"`
+}
+
+type QuickUseWidgetRsp_ClientCollectorData struct {
+ ClientCollectorData *ClientCollectorData `protobuf:"bytes,15,opt,name=client_collector_data,json=clientCollectorData,proto3,oneof"`
+}
+
+type QuickUseWidgetRsp_SkyCrystalDetectorQuickUseResult struct {
+ SkyCrystalDetectorQuickUseResult *SkyCrystalDetectorQuickUseResult `protobuf:"bytes,168922,opt,name=sky_crystal_detector_quick_use_result,json=skyCrystalDetectorQuickUseResult,proto3,oneof"`
+}
+
+func (*QuickUseWidgetRsp_DetectorData) isQuickUseWidgetRsp_Param() {}
+
+func (*QuickUseWidgetRsp_ClientCollectorData) isQuickUseWidgetRsp_Param() {}
+
+func (*QuickUseWidgetRsp_SkyCrystalDetectorQuickUseResult) isQuickUseWidgetRsp_Param() {}
+
+var File_QuickUseWidgetRsp_proto protoreflect.FileDescriptor
+
+var file_QuickUseWidgetRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x4f, 0x6e, 0x65,
+ 0x6f, 0x66, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x74,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x26, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x02, 0x0a, 0x11, 0x51, 0x75, 0x69, 0x63,
+ 0x6b, 0x55, 0x73, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x64, 0x65, 0x74, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, 0x61, 0x74,
+ 0x68, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63,
+ 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48,
+ 0x00, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x7c, 0x0a, 0x25, 0x73, 0x6b, 0x79, 0x5f, 0x63, 0x72,
+ 0x79, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x71,
+ 0x75, 0x69, 0x63, 0x6b, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
+ 0xda, 0xa7, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x48, 0x00, 0x52, 0x20, 0x73, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65,
+ 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_QuickUseWidgetRsp_proto_rawDescOnce sync.Once
+ file_QuickUseWidgetRsp_proto_rawDescData = file_QuickUseWidgetRsp_proto_rawDesc
+)
+
+func file_QuickUseWidgetRsp_proto_rawDescGZIP() []byte {
+ file_QuickUseWidgetRsp_proto_rawDescOnce.Do(func() {
+ file_QuickUseWidgetRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_QuickUseWidgetRsp_proto_rawDescData)
+ })
+ return file_QuickUseWidgetRsp_proto_rawDescData
+}
+
+var file_QuickUseWidgetRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_QuickUseWidgetRsp_proto_goTypes = []interface{}{
+ (*QuickUseWidgetRsp)(nil), // 0: proto.QuickUseWidgetRsp
+ (*OneofGatherPointDetectorData)(nil), // 1: proto.OneofGatherPointDetectorData
+ (*ClientCollectorData)(nil), // 2: proto.ClientCollectorData
+ (*SkyCrystalDetectorQuickUseResult)(nil), // 3: proto.SkyCrystalDetectorQuickUseResult
+}
+var file_QuickUseWidgetRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.QuickUseWidgetRsp.detector_data:type_name -> proto.OneofGatherPointDetectorData
+ 2, // 1: proto.QuickUseWidgetRsp.client_collector_data:type_name -> proto.ClientCollectorData
+ 3, // 2: proto.QuickUseWidgetRsp.sky_crystal_detector_quick_use_result:type_name -> proto.SkyCrystalDetectorQuickUseResult
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_QuickUseWidgetRsp_proto_init() }
+func file_QuickUseWidgetRsp_proto_init() {
+ if File_QuickUseWidgetRsp_proto != nil {
+ return
+ }
+ file_ClientCollectorData_proto_init()
+ file_OneofGatherPointDetectorData_proto_init()
+ file_SkyCrystalDetectorQuickUseResult_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_QuickUseWidgetRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QuickUseWidgetRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_QuickUseWidgetRsp_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*QuickUseWidgetRsp_DetectorData)(nil),
+ (*QuickUseWidgetRsp_ClientCollectorData)(nil),
+ (*QuickUseWidgetRsp_SkyCrystalDetectorQuickUseResult)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_QuickUseWidgetRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_QuickUseWidgetRsp_proto_goTypes,
+ DependencyIndexes: file_QuickUseWidgetRsp_proto_depIdxs,
+ MessageInfos: file_QuickUseWidgetRsp_proto_msgTypes,
+ }.Build()
+ File_QuickUseWidgetRsp_proto = out.File
+ file_QuickUseWidgetRsp_proto_rawDesc = nil
+ file_QuickUseWidgetRsp_proto_goTypes = nil
+ file_QuickUseWidgetRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RacingGallerySettleInfo.pb.go b/protocol/proto/RacingGallerySettleInfo.pb.go
new file mode 100644
index 00000000..5a642c93
--- /dev/null
+++ b/protocol/proto/RacingGallerySettleInfo.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RacingGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RacingGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WinnerUid uint32 `protobuf:"varint,6,opt,name=winner_uid,json=winnerUid,proto3" json:"winner_uid,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,4,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ UseTime uint32 `protobuf:"varint,1,opt,name=use_time,json=useTime,proto3" json:"use_time,omitempty"`
+}
+
+func (x *RacingGallerySettleInfo) Reset() {
+ *x = RacingGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RacingGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RacingGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RacingGallerySettleInfo) ProtoMessage() {}
+
+func (x *RacingGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RacingGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RacingGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*RacingGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_RacingGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RacingGallerySettleInfo) GetWinnerUid() uint32 {
+ if x != nil {
+ return x.WinnerUid
+ }
+ return 0
+}
+
+func (x *RacingGallerySettleInfo) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *RacingGallerySettleInfo) GetUseTime() uint32 {
+ if x != nil {
+ return x.UseTime
+ }
+ return 0
+}
+
+var File_RacingGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_RacingGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53,
+ 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x85, 0x01, 0x0a, 0x17, 0x52, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x77,
+ 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x77, 0x69, 0x6e, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08,
+ 0x75, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x75, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RacingGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_RacingGallerySettleInfo_proto_rawDescData = file_RacingGallerySettleInfo_proto_rawDesc
+)
+
+func file_RacingGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_RacingGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_RacingGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RacingGallerySettleInfo_proto_rawDescData)
+ })
+ return file_RacingGallerySettleInfo_proto_rawDescData
+}
+
+var file_RacingGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RacingGallerySettleInfo_proto_goTypes = []interface{}{
+ (*RacingGallerySettleInfo)(nil), // 0: proto.RacingGallerySettleInfo
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_RacingGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RacingGallerySettleInfo.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RacingGallerySettleInfo_proto_init() }
+func file_RacingGallerySettleInfo_proto_init() {
+ if File_RacingGallerySettleInfo_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RacingGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RacingGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RacingGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RacingGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_RacingGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_RacingGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_RacingGallerySettleInfo_proto = out.File
+ file_RacingGallerySettleInfo_proto_rawDesc = nil
+ file_RacingGallerySettleInfo_proto_goTypes = nil
+ file_RacingGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReadMailNotify.pb.go b/protocol/proto/ReadMailNotify.pb.go
new file mode 100644
index 00000000..95c6509e
--- /dev/null
+++ b/protocol/proto/ReadMailNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReadMailNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1412
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReadMailNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MailIdList []uint32 `protobuf:"varint,2,rep,packed,name=mail_id_list,json=mailIdList,proto3" json:"mail_id_list,omitempty"`
+}
+
+func (x *ReadMailNotify) Reset() {
+ *x = ReadMailNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReadMailNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadMailNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadMailNotify) ProtoMessage() {}
+
+func (x *ReadMailNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ReadMailNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadMailNotify.ProtoReflect.Descriptor instead.
+func (*ReadMailNotify) Descriptor() ([]byte, []int) {
+ return file_ReadMailNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReadMailNotify) GetMailIdList() []uint32 {
+ if x != nil {
+ return x.MailIdList
+ }
+ return nil
+}
+
+var File_ReadMailNotify_proto protoreflect.FileDescriptor
+
+var file_ReadMailNotify_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a,
+ 0x0e, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReadMailNotify_proto_rawDescOnce sync.Once
+ file_ReadMailNotify_proto_rawDescData = file_ReadMailNotify_proto_rawDesc
+)
+
+func file_ReadMailNotify_proto_rawDescGZIP() []byte {
+ file_ReadMailNotify_proto_rawDescOnce.Do(func() {
+ file_ReadMailNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReadMailNotify_proto_rawDescData)
+ })
+ return file_ReadMailNotify_proto_rawDescData
+}
+
+var file_ReadMailNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReadMailNotify_proto_goTypes = []interface{}{
+ (*ReadMailNotify)(nil), // 0: proto.ReadMailNotify
+}
+var file_ReadMailNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReadMailNotify_proto_init() }
+func file_ReadMailNotify_proto_init() {
+ if File_ReadMailNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReadMailNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadMailNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReadMailNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReadMailNotify_proto_goTypes,
+ DependencyIndexes: file_ReadMailNotify_proto_depIdxs,
+ MessageInfos: file_ReadMailNotify_proto_msgTypes,
+ }.Build()
+ File_ReadMailNotify_proto = out.File
+ file_ReadMailNotify_proto_rawDesc = nil
+ file_ReadMailNotify_proto_goTypes = nil
+ file_ReadMailNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReadNicknameAuditReq.pb.go b/protocol/proto/ReadNicknameAuditReq.pb.go
new file mode 100644
index 00000000..18409e85
--- /dev/null
+++ b/protocol/proto/ReadNicknameAuditReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReadNicknameAuditReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 177
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReadNicknameAuditReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReadNicknameAuditReq) Reset() {
+ *x = ReadNicknameAuditReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReadNicknameAuditReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadNicknameAuditReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadNicknameAuditReq) ProtoMessage() {}
+
+func (x *ReadNicknameAuditReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReadNicknameAuditReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadNicknameAuditReq.ProtoReflect.Descriptor instead.
+func (*ReadNicknameAuditReq) Descriptor() ([]byte, []int) {
+ return file_ReadNicknameAuditReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ReadNicknameAuditReq_proto protoreflect.FileDescriptor
+
+var file_ReadNicknameAuditReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x75,
+ 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x69, 0x63, 0x6b, 0x6e,
+ 0x61, 0x6d, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReadNicknameAuditReq_proto_rawDescOnce sync.Once
+ file_ReadNicknameAuditReq_proto_rawDescData = file_ReadNicknameAuditReq_proto_rawDesc
+)
+
+func file_ReadNicknameAuditReq_proto_rawDescGZIP() []byte {
+ file_ReadNicknameAuditReq_proto_rawDescOnce.Do(func() {
+ file_ReadNicknameAuditReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReadNicknameAuditReq_proto_rawDescData)
+ })
+ return file_ReadNicknameAuditReq_proto_rawDescData
+}
+
+var file_ReadNicknameAuditReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReadNicknameAuditReq_proto_goTypes = []interface{}{
+ (*ReadNicknameAuditReq)(nil), // 0: proto.ReadNicknameAuditReq
+}
+var file_ReadNicknameAuditReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReadNicknameAuditReq_proto_init() }
+func file_ReadNicknameAuditReq_proto_init() {
+ if File_ReadNicknameAuditReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReadNicknameAuditReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadNicknameAuditReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReadNicknameAuditReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReadNicknameAuditReq_proto_goTypes,
+ DependencyIndexes: file_ReadNicknameAuditReq_proto_depIdxs,
+ MessageInfos: file_ReadNicknameAuditReq_proto_msgTypes,
+ }.Build()
+ File_ReadNicknameAuditReq_proto = out.File
+ file_ReadNicknameAuditReq_proto_rawDesc = nil
+ file_ReadNicknameAuditReq_proto_goTypes = nil
+ file_ReadNicknameAuditReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReadNicknameAuditRsp.pb.go b/protocol/proto/ReadNicknameAuditRsp.pb.go
new file mode 100644
index 00000000..5a57b0e1
--- /dev/null
+++ b/protocol/proto/ReadNicknameAuditRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReadNicknameAuditRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 137
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReadNicknameAuditRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ReadNicknameAuditRsp) Reset() {
+ *x = ReadNicknameAuditRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReadNicknameAuditRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadNicknameAuditRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadNicknameAuditRsp) ProtoMessage() {}
+
+func (x *ReadNicknameAuditRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReadNicknameAuditRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadNicknameAuditRsp.ProtoReflect.Descriptor instead.
+func (*ReadNicknameAuditRsp) Descriptor() ([]byte, []int) {
+ return file_ReadNicknameAuditRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReadNicknameAuditRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ReadNicknameAuditRsp_proto protoreflect.FileDescriptor
+
+var file_ReadNicknameAuditRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x75,
+ 0x64, 0x69, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x14, 0x52, 0x65, 0x61, 0x64, 0x4e, 0x69, 0x63, 0x6b, 0x6e,
+ 0x61, 0x6d, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReadNicknameAuditRsp_proto_rawDescOnce sync.Once
+ file_ReadNicknameAuditRsp_proto_rawDescData = file_ReadNicknameAuditRsp_proto_rawDesc
+)
+
+func file_ReadNicknameAuditRsp_proto_rawDescGZIP() []byte {
+ file_ReadNicknameAuditRsp_proto_rawDescOnce.Do(func() {
+ file_ReadNicknameAuditRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReadNicknameAuditRsp_proto_rawDescData)
+ })
+ return file_ReadNicknameAuditRsp_proto_rawDescData
+}
+
+var file_ReadNicknameAuditRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReadNicknameAuditRsp_proto_goTypes = []interface{}{
+ (*ReadNicknameAuditRsp)(nil), // 0: proto.ReadNicknameAuditRsp
+}
+var file_ReadNicknameAuditRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReadNicknameAuditRsp_proto_init() }
+func file_ReadNicknameAuditRsp_proto_init() {
+ if File_ReadNicknameAuditRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReadNicknameAuditRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadNicknameAuditRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReadNicknameAuditRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReadNicknameAuditRsp_proto_goTypes,
+ DependencyIndexes: file_ReadNicknameAuditRsp_proto_depIdxs,
+ MessageInfos: file_ReadNicknameAuditRsp_proto_msgTypes,
+ }.Build()
+ File_ReadNicknameAuditRsp_proto = out.File
+ file_ReadNicknameAuditRsp_proto_rawDesc = nil
+ file_ReadNicknameAuditRsp_proto_goTypes = nil
+ file_ReadNicknameAuditRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReadPrivateChatReq.pb.go b/protocol/proto/ReadPrivateChatReq.pb.go
new file mode 100644
index 00000000..47b10b41
--- /dev/null
+++ b/protocol/proto/ReadPrivateChatReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReadPrivateChatReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5049
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReadPrivateChatReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,1,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *ReadPrivateChatReq) Reset() {
+ *x = ReadPrivateChatReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReadPrivateChatReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadPrivateChatReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadPrivateChatReq) ProtoMessage() {}
+
+func (x *ReadPrivateChatReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReadPrivateChatReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadPrivateChatReq.ProtoReflect.Descriptor instead.
+func (*ReadPrivateChatReq) Descriptor() ([]byte, []int) {
+ return file_ReadPrivateChatReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReadPrivateChatReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_ReadPrivateChatReq_proto protoreflect.FileDescriptor
+
+var file_ReadPrivateChatReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x33, 0x0a, 0x12, 0x52, 0x65, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x43, 0x68, 0x61, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReadPrivateChatReq_proto_rawDescOnce sync.Once
+ file_ReadPrivateChatReq_proto_rawDescData = file_ReadPrivateChatReq_proto_rawDesc
+)
+
+func file_ReadPrivateChatReq_proto_rawDescGZIP() []byte {
+ file_ReadPrivateChatReq_proto_rawDescOnce.Do(func() {
+ file_ReadPrivateChatReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReadPrivateChatReq_proto_rawDescData)
+ })
+ return file_ReadPrivateChatReq_proto_rawDescData
+}
+
+var file_ReadPrivateChatReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReadPrivateChatReq_proto_goTypes = []interface{}{
+ (*ReadPrivateChatReq)(nil), // 0: proto.ReadPrivateChatReq
+}
+var file_ReadPrivateChatReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReadPrivateChatReq_proto_init() }
+func file_ReadPrivateChatReq_proto_init() {
+ if File_ReadPrivateChatReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReadPrivateChatReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadPrivateChatReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReadPrivateChatReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReadPrivateChatReq_proto_goTypes,
+ DependencyIndexes: file_ReadPrivateChatReq_proto_depIdxs,
+ MessageInfos: file_ReadPrivateChatReq_proto_msgTypes,
+ }.Build()
+ File_ReadPrivateChatReq_proto = out.File
+ file_ReadPrivateChatReq_proto_rawDesc = nil
+ file_ReadPrivateChatReq_proto_goTypes = nil
+ file_ReadPrivateChatReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReadPrivateChatRsp.pb.go b/protocol/proto/ReadPrivateChatRsp.pb.go
new file mode 100644
index 00000000..81d305d3
--- /dev/null
+++ b/protocol/proto/ReadPrivateChatRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReadPrivateChatRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4981
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReadPrivateChatRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ReadPrivateChatRsp) Reset() {
+ *x = ReadPrivateChatRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReadPrivateChatRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadPrivateChatRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadPrivateChatRsp) ProtoMessage() {}
+
+func (x *ReadPrivateChatRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReadPrivateChatRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadPrivateChatRsp.ProtoReflect.Descriptor instead.
+func (*ReadPrivateChatRsp) Descriptor() ([]byte, []int) {
+ return file_ReadPrivateChatRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReadPrivateChatRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ReadPrivateChatRsp_proto protoreflect.FileDescriptor
+
+var file_ReadPrivateChatRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2e, 0x0a, 0x12, 0x52, 0x65, 0x61, 0x64, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
+ 0x43, 0x68, 0x61, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReadPrivateChatRsp_proto_rawDescOnce sync.Once
+ file_ReadPrivateChatRsp_proto_rawDescData = file_ReadPrivateChatRsp_proto_rawDesc
+)
+
+func file_ReadPrivateChatRsp_proto_rawDescGZIP() []byte {
+ file_ReadPrivateChatRsp_proto_rawDescOnce.Do(func() {
+ file_ReadPrivateChatRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReadPrivateChatRsp_proto_rawDescData)
+ })
+ return file_ReadPrivateChatRsp_proto_rawDescData
+}
+
+var file_ReadPrivateChatRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReadPrivateChatRsp_proto_goTypes = []interface{}{
+ (*ReadPrivateChatRsp)(nil), // 0: proto.ReadPrivateChatRsp
+}
+var file_ReadPrivateChatRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReadPrivateChatRsp_proto_init() }
+func file_ReadPrivateChatRsp_proto_init() {
+ if File_ReadPrivateChatRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReadPrivateChatRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadPrivateChatRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReadPrivateChatRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReadPrivateChatRsp_proto_goTypes,
+ DependencyIndexes: file_ReadPrivateChatRsp_proto_depIdxs,
+ MessageInfos: file_ReadPrivateChatRsp_proto_msgTypes,
+ }.Build()
+ File_ReadPrivateChatRsp_proto = out.File
+ file_ReadPrivateChatRsp_proto_rawDesc = nil
+ file_ReadPrivateChatRsp_proto_goTypes = nil
+ file_ReadPrivateChatRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReadSignatureAuditReq.pb.go b/protocol/proto/ReadSignatureAuditReq.pb.go
new file mode 100644
index 00000000..784d87d2
--- /dev/null
+++ b/protocol/proto/ReadSignatureAuditReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReadSignatureAuditReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4020
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReadSignatureAuditReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReadSignatureAuditReq) Reset() {
+ *x = ReadSignatureAuditReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReadSignatureAuditReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadSignatureAuditReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadSignatureAuditReq) ProtoMessage() {}
+
+func (x *ReadSignatureAuditReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReadSignatureAuditReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadSignatureAuditReq.ProtoReflect.Descriptor instead.
+func (*ReadSignatureAuditReq) Descriptor() ([]byte, []int) {
+ return file_ReadSignatureAuditReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ReadSignatureAuditReq_proto protoreflect.FileDescriptor
+
+var file_ReadSignatureAuditReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x65, 0x61, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41,
+ 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x61, 0x64, 0x53, 0x69, 0x67, 0x6e,
+ 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ReadSignatureAuditReq_proto_rawDescOnce sync.Once
+ file_ReadSignatureAuditReq_proto_rawDescData = file_ReadSignatureAuditReq_proto_rawDesc
+)
+
+func file_ReadSignatureAuditReq_proto_rawDescGZIP() []byte {
+ file_ReadSignatureAuditReq_proto_rawDescOnce.Do(func() {
+ file_ReadSignatureAuditReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReadSignatureAuditReq_proto_rawDescData)
+ })
+ return file_ReadSignatureAuditReq_proto_rawDescData
+}
+
+var file_ReadSignatureAuditReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReadSignatureAuditReq_proto_goTypes = []interface{}{
+ (*ReadSignatureAuditReq)(nil), // 0: proto.ReadSignatureAuditReq
+}
+var file_ReadSignatureAuditReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReadSignatureAuditReq_proto_init() }
+func file_ReadSignatureAuditReq_proto_init() {
+ if File_ReadSignatureAuditReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReadSignatureAuditReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadSignatureAuditReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReadSignatureAuditReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReadSignatureAuditReq_proto_goTypes,
+ DependencyIndexes: file_ReadSignatureAuditReq_proto_depIdxs,
+ MessageInfos: file_ReadSignatureAuditReq_proto_msgTypes,
+ }.Build()
+ File_ReadSignatureAuditReq_proto = out.File
+ file_ReadSignatureAuditReq_proto_rawDesc = nil
+ file_ReadSignatureAuditReq_proto_goTypes = nil
+ file_ReadSignatureAuditReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReadSignatureAuditRsp.pb.go b/protocol/proto/ReadSignatureAuditRsp.pb.go
new file mode 100644
index 00000000..e661606e
--- /dev/null
+++ b/protocol/proto/ReadSignatureAuditRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReadSignatureAuditRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4064
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReadSignatureAuditRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ReadSignatureAuditRsp) Reset() {
+ *x = ReadSignatureAuditRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReadSignatureAuditRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReadSignatureAuditRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReadSignatureAuditRsp) ProtoMessage() {}
+
+func (x *ReadSignatureAuditRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReadSignatureAuditRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReadSignatureAuditRsp.ProtoReflect.Descriptor instead.
+func (*ReadSignatureAuditRsp) Descriptor() ([]byte, []int) {
+ return file_ReadSignatureAuditRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReadSignatureAuditRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ReadSignatureAuditRsp_proto protoreflect.FileDescriptor
+
+var file_ReadSignatureAuditRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x65, 0x61, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41,
+ 0x75, 0x64, 0x69, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x15, 0x52, 0x65, 0x61, 0x64, 0x53, 0x69, 0x67, 0x6e,
+ 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReadSignatureAuditRsp_proto_rawDescOnce sync.Once
+ file_ReadSignatureAuditRsp_proto_rawDescData = file_ReadSignatureAuditRsp_proto_rawDesc
+)
+
+func file_ReadSignatureAuditRsp_proto_rawDescGZIP() []byte {
+ file_ReadSignatureAuditRsp_proto_rawDescOnce.Do(func() {
+ file_ReadSignatureAuditRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReadSignatureAuditRsp_proto_rawDescData)
+ })
+ return file_ReadSignatureAuditRsp_proto_rawDescData
+}
+
+var file_ReadSignatureAuditRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReadSignatureAuditRsp_proto_goTypes = []interface{}{
+ (*ReadSignatureAuditRsp)(nil), // 0: proto.ReadSignatureAuditRsp
+}
+var file_ReadSignatureAuditRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReadSignatureAuditRsp_proto_init() }
+func file_ReadSignatureAuditRsp_proto_init() {
+ if File_ReadSignatureAuditRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReadSignatureAuditRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadSignatureAuditRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReadSignatureAuditRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReadSignatureAuditRsp_proto_goTypes,
+ DependencyIndexes: file_ReadSignatureAuditRsp_proto_depIdxs,
+ MessageInfos: file_ReadSignatureAuditRsp_proto_msgTypes,
+ }.Build()
+ File_ReadSignatureAuditRsp_proto = out.File
+ file_ReadSignatureAuditRsp_proto_rawDesc = nil
+ file_ReadSignatureAuditRsp_proto_goTypes = nil
+ file_ReadSignatureAuditRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReceivedTrialAvatarActivityRewardReq.pb.go b/protocol/proto/ReceivedTrialAvatarActivityRewardReq.pb.go
new file mode 100644
index 00000000..12d36ae5
--- /dev/null
+++ b/protocol/proto/ReceivedTrialAvatarActivityRewardReq.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReceivedTrialAvatarActivityRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2130
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReceivedTrialAvatarActivityRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialAvatarIndexId uint32 `protobuf:"varint,4,opt,name=trial_avatar_index_id,json=trialAvatarIndexId,proto3" json:"trial_avatar_index_id,omitempty"`
+}
+
+func (x *ReceivedTrialAvatarActivityRewardReq) Reset() {
+ *x = ReceivedTrialAvatarActivityRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReceivedTrialAvatarActivityRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReceivedTrialAvatarActivityRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReceivedTrialAvatarActivityRewardReq) ProtoMessage() {}
+
+func (x *ReceivedTrialAvatarActivityRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReceivedTrialAvatarActivityRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReceivedTrialAvatarActivityRewardReq.ProtoReflect.Descriptor instead.
+func (*ReceivedTrialAvatarActivityRewardReq) Descriptor() ([]byte, []int) {
+ return file_ReceivedTrialAvatarActivityRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReceivedTrialAvatarActivityRewardReq) GetTrialAvatarIndexId() uint32 {
+ if x != nil {
+ return x.TrialAvatarIndexId
+ }
+ return 0
+}
+
+var File_ReceivedTrialAvatarActivityRewardReq_proto protoreflect.FileDescriptor
+
+var file_ReceivedTrialAvatarActivityRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x24, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54,
+ 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x15, 0x74,
+ 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x72, 0x69, 0x61,
+ 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ReceivedTrialAvatarActivityRewardReq_proto_rawDescOnce sync.Once
+ file_ReceivedTrialAvatarActivityRewardReq_proto_rawDescData = file_ReceivedTrialAvatarActivityRewardReq_proto_rawDesc
+)
+
+func file_ReceivedTrialAvatarActivityRewardReq_proto_rawDescGZIP() []byte {
+ file_ReceivedTrialAvatarActivityRewardReq_proto_rawDescOnce.Do(func() {
+ file_ReceivedTrialAvatarActivityRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReceivedTrialAvatarActivityRewardReq_proto_rawDescData)
+ })
+ return file_ReceivedTrialAvatarActivityRewardReq_proto_rawDescData
+}
+
+var file_ReceivedTrialAvatarActivityRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReceivedTrialAvatarActivityRewardReq_proto_goTypes = []interface{}{
+ (*ReceivedTrialAvatarActivityRewardReq)(nil), // 0: proto.ReceivedTrialAvatarActivityRewardReq
+}
+var file_ReceivedTrialAvatarActivityRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReceivedTrialAvatarActivityRewardReq_proto_init() }
+func file_ReceivedTrialAvatarActivityRewardReq_proto_init() {
+ if File_ReceivedTrialAvatarActivityRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReceivedTrialAvatarActivityRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReceivedTrialAvatarActivityRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReceivedTrialAvatarActivityRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReceivedTrialAvatarActivityRewardReq_proto_goTypes,
+ DependencyIndexes: file_ReceivedTrialAvatarActivityRewardReq_proto_depIdxs,
+ MessageInfos: file_ReceivedTrialAvatarActivityRewardReq_proto_msgTypes,
+ }.Build()
+ File_ReceivedTrialAvatarActivityRewardReq_proto = out.File
+ file_ReceivedTrialAvatarActivityRewardReq_proto_rawDesc = nil
+ file_ReceivedTrialAvatarActivityRewardReq_proto_goTypes = nil
+ file_ReceivedTrialAvatarActivityRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReceivedTrialAvatarActivityRewardRsp.pb.go b/protocol/proto/ReceivedTrialAvatarActivityRewardRsp.pb.go
new file mode 100644
index 00000000..7f637c34
--- /dev/null
+++ b/protocol/proto/ReceivedTrialAvatarActivityRewardRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReceivedTrialAvatarActivityRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2076
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReceivedTrialAvatarActivityRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,13,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TrialAvatarIndexId uint32 `protobuf:"varint,9,opt,name=trial_avatar_index_id,json=trialAvatarIndexId,proto3" json:"trial_avatar_index_id,omitempty"`
+}
+
+func (x *ReceivedTrialAvatarActivityRewardRsp) Reset() {
+ *x = ReceivedTrialAvatarActivityRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReceivedTrialAvatarActivityRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReceivedTrialAvatarActivityRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReceivedTrialAvatarActivityRewardRsp) ProtoMessage() {}
+
+func (x *ReceivedTrialAvatarActivityRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReceivedTrialAvatarActivityRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReceivedTrialAvatarActivityRewardRsp.ProtoReflect.Descriptor instead.
+func (*ReceivedTrialAvatarActivityRewardRsp) Descriptor() ([]byte, []int) {
+ return file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReceivedTrialAvatarActivityRewardRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *ReceivedTrialAvatarActivityRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ReceivedTrialAvatarActivityRewardRsp) GetTrialAvatarIndexId() uint32 {
+ if x != nil {
+ return x.TrialAvatarIndexId
+ }
+ return 0
+}
+
+var File_ReceivedTrialAvatarActivityRewardRsp_proto protoreflect.FileDescriptor
+
+var file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64,
+ 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x72, 0x69, 0x61, 0x6c,
+ 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDescOnce sync.Once
+ file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDescData = file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDesc
+)
+
+func file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDescGZIP() []byte {
+ file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDescOnce.Do(func() {
+ file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDescData)
+ })
+ return file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDescData
+}
+
+var file_ReceivedTrialAvatarActivityRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReceivedTrialAvatarActivityRewardRsp_proto_goTypes = []interface{}{
+ (*ReceivedTrialAvatarActivityRewardRsp)(nil), // 0: proto.ReceivedTrialAvatarActivityRewardRsp
+}
+var file_ReceivedTrialAvatarActivityRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReceivedTrialAvatarActivityRewardRsp_proto_init() }
+func file_ReceivedTrialAvatarActivityRewardRsp_proto_init() {
+ if File_ReceivedTrialAvatarActivityRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReceivedTrialAvatarActivityRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReceivedTrialAvatarActivityRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReceivedTrialAvatarActivityRewardRsp_proto_goTypes,
+ DependencyIndexes: file_ReceivedTrialAvatarActivityRewardRsp_proto_depIdxs,
+ MessageInfos: file_ReceivedTrialAvatarActivityRewardRsp_proto_msgTypes,
+ }.Build()
+ File_ReceivedTrialAvatarActivityRewardRsp_proto = out.File
+ file_ReceivedTrialAvatarActivityRewardRsp_proto_rawDesc = nil
+ file_ReceivedTrialAvatarActivityRewardRsp_proto_goTypes = nil
+ file_ReceivedTrialAvatarActivityRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RechargeReq.pb.go b/protocol/proto/RechargeReq.pb.go
new file mode 100644
index 00000000..8c57c31e
--- /dev/null
+++ b/protocol/proto/RechargeReq.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RechargeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4126
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RechargeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayProduct *PlayProduct `protobuf:"bytes,10,opt,name=play_product,json=playProduct,proto3" json:"play_product,omitempty"`
+ CardProduct *ShopCardProduct `protobuf:"bytes,8,opt,name=card_product,json=cardProduct,proto3" json:"card_product,omitempty"`
+ McoinProduct *ShopMcoinProduct `protobuf:"bytes,14,opt,name=mcoin_product,json=mcoinProduct,proto3" json:"mcoin_product,omitempty"`
+ ConcertProduct *ShopConcertProduct `protobuf:"bytes,7,opt,name=concert_product,json=concertProduct,proto3" json:"concert_product,omitempty"`
+}
+
+func (x *RechargeReq) Reset() {
+ *x = RechargeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RechargeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RechargeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RechargeReq) ProtoMessage() {}
+
+func (x *RechargeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RechargeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RechargeReq.ProtoReflect.Descriptor instead.
+func (*RechargeReq) Descriptor() ([]byte, []int) {
+ return file_RechargeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RechargeReq) GetPlayProduct() *PlayProduct {
+ if x != nil {
+ return x.PlayProduct
+ }
+ return nil
+}
+
+func (x *RechargeReq) GetCardProduct() *ShopCardProduct {
+ if x != nil {
+ return x.CardProduct
+ }
+ return nil
+}
+
+func (x *RechargeReq) GetMcoinProduct() *ShopMcoinProduct {
+ if x != nil {
+ return x.McoinProduct
+ }
+ return nil
+}
+
+func (x *RechargeReq) GetConcertProduct() *ShopConcertProduct {
+ if x != nil {
+ return x.ConcertProduct
+ }
+ return nil
+}
+
+var File_RechargeReq_proto protoreflect.FileDescriptor
+
+var file_RechargeReq_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x50, 0x6c, 0x61, 0x79,
+ 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53,
+ 0x68, 0x6f, 0x70, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x53, 0x68, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x72,
+ 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16,
+ 0x53, 0x68, 0x6f, 0x70, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x68, 0x61,
+ 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x35, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x70,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
+ 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x39, 0x0a,
+ 0x0c, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x70,
+ 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x0b, 0x63, 0x61, 0x72,
+ 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x0d, 0x6d, 0x63, 0x6f, 0x69,
+ 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x4d, 0x63, 0x6f, 0x69,
+ 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x0c, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x50,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72,
+ 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x63,
+ 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x63,
+ 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RechargeReq_proto_rawDescOnce sync.Once
+ file_RechargeReq_proto_rawDescData = file_RechargeReq_proto_rawDesc
+)
+
+func file_RechargeReq_proto_rawDescGZIP() []byte {
+ file_RechargeReq_proto_rawDescOnce.Do(func() {
+ file_RechargeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RechargeReq_proto_rawDescData)
+ })
+ return file_RechargeReq_proto_rawDescData
+}
+
+var file_RechargeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RechargeReq_proto_goTypes = []interface{}{
+ (*RechargeReq)(nil), // 0: proto.RechargeReq
+ (*PlayProduct)(nil), // 1: proto.PlayProduct
+ (*ShopCardProduct)(nil), // 2: proto.ShopCardProduct
+ (*ShopMcoinProduct)(nil), // 3: proto.ShopMcoinProduct
+ (*ShopConcertProduct)(nil), // 4: proto.ShopConcertProduct
+}
+var file_RechargeReq_proto_depIdxs = []int32{
+ 1, // 0: proto.RechargeReq.play_product:type_name -> proto.PlayProduct
+ 2, // 1: proto.RechargeReq.card_product:type_name -> proto.ShopCardProduct
+ 3, // 2: proto.RechargeReq.mcoin_product:type_name -> proto.ShopMcoinProduct
+ 4, // 3: proto.RechargeReq.concert_product:type_name -> proto.ShopConcertProduct
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_RechargeReq_proto_init() }
+func file_RechargeReq_proto_init() {
+ if File_RechargeReq_proto != nil {
+ return
+ }
+ file_PlayProduct_proto_init()
+ file_ShopCardProduct_proto_init()
+ file_ShopConcertProduct_proto_init()
+ file_ShopMcoinProduct_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RechargeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RechargeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RechargeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RechargeReq_proto_goTypes,
+ DependencyIndexes: file_RechargeReq_proto_depIdxs,
+ MessageInfos: file_RechargeReq_proto_msgTypes,
+ }.Build()
+ File_RechargeReq_proto = out.File
+ file_RechargeReq_proto_rawDesc = nil
+ file_RechargeReq_proto_goTypes = nil
+ file_RechargeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RechargeRsp.pb.go b/protocol/proto/RechargeRsp.pb.go
new file mode 100644
index 00000000..3156a483
--- /dev/null
+++ b/protocol/proto/RechargeRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RechargeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4118
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RechargeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsShowMinorsHint bool `protobuf:"varint,6,opt,name=is_show_minors_hint,json=isShowMinorsHint,proto3" json:"is_show_minors_hint,omitempty"`
+ ProductId string `protobuf:"bytes,2,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+}
+
+func (x *RechargeRsp) Reset() {
+ *x = RechargeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RechargeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RechargeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RechargeRsp) ProtoMessage() {}
+
+func (x *RechargeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RechargeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RechargeRsp.ProtoReflect.Descriptor instead.
+func (*RechargeRsp) Descriptor() ([]byte, []int) {
+ return file_RechargeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RechargeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *RechargeRsp) GetIsShowMinorsHint() bool {
+ if x != nil {
+ return x.IsShowMinorsHint
+ }
+ return false
+}
+
+func (x *RechargeRsp) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+var File_RechargeRsp_proto protoreflect.FileDescriptor
+
+var file_RechargeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x0b, 0x52, 0x65,
+ 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d,
+ 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x73, 0x48, 0x69,
+ 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RechargeRsp_proto_rawDescOnce sync.Once
+ file_RechargeRsp_proto_rawDescData = file_RechargeRsp_proto_rawDesc
+)
+
+func file_RechargeRsp_proto_rawDescGZIP() []byte {
+ file_RechargeRsp_proto_rawDescOnce.Do(func() {
+ file_RechargeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RechargeRsp_proto_rawDescData)
+ })
+ return file_RechargeRsp_proto_rawDescData
+}
+
+var file_RechargeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RechargeRsp_proto_goTypes = []interface{}{
+ (*RechargeRsp)(nil), // 0: proto.RechargeRsp
+}
+var file_RechargeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RechargeRsp_proto_init() }
+func file_RechargeRsp_proto_init() {
+ if File_RechargeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RechargeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RechargeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RechargeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RechargeRsp_proto_goTypes,
+ DependencyIndexes: file_RechargeRsp_proto_depIdxs,
+ MessageInfos: file_RechargeRsp_proto_msgTypes,
+ }.Build()
+ File_RechargeRsp_proto = out.File
+ file_RechargeRsp_proto_rawDesc = nil
+ file_RechargeRsp_proto_goTypes = nil
+ file_RechargeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RecordUsage.pb.go b/protocol/proto/RecordUsage.pb.go
new file mode 100644
index 00000000..6a31e681
--- /dev/null
+++ b/protocol/proto/RecordUsage.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RecordUsage.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RecordUsage int32
+
+const (
+ RecordUsage_RECORD_USAGE_UGC_RECORD_USAGE_NONE RecordUsage = 0
+ RecordUsage_RECORD_USAGE_UGC_RECORD_USAGE_IMPORT RecordUsage = 1
+ RecordUsage_RECORD_USAGE_UGC_RECORD_USAGE_PLAY RecordUsage = 2
+ RecordUsage_RECORD_USAGE_UGC_RECORD_USAGE_TRIAL RecordUsage = 3
+ RecordUsage_RECORD_USAGE_UGC_RECORD_USAGE_COMPARE RecordUsage = 4
+)
+
+// Enum value maps for RecordUsage.
+var (
+ RecordUsage_name = map[int32]string{
+ 0: "RECORD_USAGE_UGC_RECORD_USAGE_NONE",
+ 1: "RECORD_USAGE_UGC_RECORD_USAGE_IMPORT",
+ 2: "RECORD_USAGE_UGC_RECORD_USAGE_PLAY",
+ 3: "RECORD_USAGE_UGC_RECORD_USAGE_TRIAL",
+ 4: "RECORD_USAGE_UGC_RECORD_USAGE_COMPARE",
+ }
+ RecordUsage_value = map[string]int32{
+ "RECORD_USAGE_UGC_RECORD_USAGE_NONE": 0,
+ "RECORD_USAGE_UGC_RECORD_USAGE_IMPORT": 1,
+ "RECORD_USAGE_UGC_RECORD_USAGE_PLAY": 2,
+ "RECORD_USAGE_UGC_RECORD_USAGE_TRIAL": 3,
+ "RECORD_USAGE_UGC_RECORD_USAGE_COMPARE": 4,
+ }
+)
+
+func (x RecordUsage) Enum() *RecordUsage {
+ p := new(RecordUsage)
+ *p = x
+ return p
+}
+
+func (x RecordUsage) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RecordUsage) Descriptor() protoreflect.EnumDescriptor {
+ return file_RecordUsage_proto_enumTypes[0].Descriptor()
+}
+
+func (RecordUsage) Type() protoreflect.EnumType {
+ return &file_RecordUsage_proto_enumTypes[0]
+}
+
+func (x RecordUsage) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RecordUsage.Descriptor instead.
+func (RecordUsage) EnumDescriptor() ([]byte, []int) {
+ return file_RecordUsage_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RecordUsage_proto protoreflect.FileDescriptor
+
+var file_RecordUsage_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xdb, 0x01, 0x0a, 0x0b, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45,
+ 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x52,
+ 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45,
+ 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55, 0x53, 0x41,
+ 0x47, 0x45, 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55, 0x53,
+ 0x41, 0x47, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22,
+ 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x47, 0x43,
+ 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c,
+ 0x41, 0x59, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55,
+ 0x53, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f,
+ 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x29, 0x0a,
+ 0x25, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x47,
+ 0x43, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43,
+ 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x10, 0x04, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RecordUsage_proto_rawDescOnce sync.Once
+ file_RecordUsage_proto_rawDescData = file_RecordUsage_proto_rawDesc
+)
+
+func file_RecordUsage_proto_rawDescGZIP() []byte {
+ file_RecordUsage_proto_rawDescOnce.Do(func() {
+ file_RecordUsage_proto_rawDescData = protoimpl.X.CompressGZIP(file_RecordUsage_proto_rawDescData)
+ })
+ return file_RecordUsage_proto_rawDescData
+}
+
+var file_RecordUsage_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_RecordUsage_proto_goTypes = []interface{}{
+ (RecordUsage)(0), // 0: proto.RecordUsage
+}
+var file_RecordUsage_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RecordUsage_proto_init() }
+func file_RecordUsage_proto_init() {
+ if File_RecordUsage_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RecordUsage_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RecordUsage_proto_goTypes,
+ DependencyIndexes: file_RecordUsage_proto_depIdxs,
+ EnumInfos: file_RecordUsage_proto_enumTypes,
+ }.Build()
+ File_RecordUsage_proto = out.File
+ file_RecordUsage_proto_rawDesc = nil
+ file_RecordUsage_proto_goTypes = nil
+ file_RecordUsage_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RedPointData.pb.go b/protocol/proto/RedPointData.pb.go
new file mode 100644
index 00000000..c58623c7
--- /dev/null
+++ b/protocol/proto/RedPointData.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RedPointData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RedPointData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RedPointType uint32 `protobuf:"varint,1,opt,name=red_point_type,json=redPointType,proto3" json:"red_point_type,omitempty"`
+ IsShow bool `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"`
+ ContentId uint32 `protobuf:"varint,3,opt,name=content_id,json=contentId,proto3" json:"content_id,omitempty"`
+}
+
+func (x *RedPointData) Reset() {
+ *x = RedPointData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RedPointData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RedPointData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RedPointData) ProtoMessage() {}
+
+func (x *RedPointData) ProtoReflect() protoreflect.Message {
+ mi := &file_RedPointData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RedPointData.ProtoReflect.Descriptor instead.
+func (*RedPointData) Descriptor() ([]byte, []int) {
+ return file_RedPointData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RedPointData) GetRedPointType() uint32 {
+ if x != nil {
+ return x.RedPointType
+ }
+ return 0
+}
+
+func (x *RedPointData) GetIsShow() bool {
+ if x != nil {
+ return x.IsShow
+ }
+ return false
+}
+
+func (x *RedPointData) GetContentId() uint32 {
+ if x != nil {
+ return x.ContentId
+ }
+ return 0
+}
+
+var File_RedPointData_proto protoreflect.FileDescriptor
+
+var file_RedPointData_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x52, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x0c, 0x52,
+ 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x72,
+ 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RedPointData_proto_rawDescOnce sync.Once
+ file_RedPointData_proto_rawDescData = file_RedPointData_proto_rawDesc
+)
+
+func file_RedPointData_proto_rawDescGZIP() []byte {
+ file_RedPointData_proto_rawDescOnce.Do(func() {
+ file_RedPointData_proto_rawDescData = protoimpl.X.CompressGZIP(file_RedPointData_proto_rawDescData)
+ })
+ return file_RedPointData_proto_rawDescData
+}
+
+var file_RedPointData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RedPointData_proto_goTypes = []interface{}{
+ (*RedPointData)(nil), // 0: proto.RedPointData
+}
+var file_RedPointData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RedPointData_proto_init() }
+func file_RedPointData_proto_init() {
+ if File_RedPointData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RedPointData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RedPointData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RedPointData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RedPointData_proto_goTypes,
+ DependencyIndexes: file_RedPointData_proto_depIdxs,
+ MessageInfos: file_RedPointData_proto_msgTypes,
+ }.Build()
+ File_RedPointData_proto = out.File
+ file_RedPointData_proto_rawDesc = nil
+ file_RedPointData_proto_goTypes = nil
+ file_RedPointData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RedeemLegendaryKeyReq.pb.go b/protocol/proto/RedeemLegendaryKeyReq.pb.go
new file mode 100644
index 00000000..d8d6bbfa
--- /dev/null
+++ b/protocol/proto/RedeemLegendaryKeyReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RedeemLegendaryKeyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 446
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RedeemLegendaryKeyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RedeemLegendaryKeyReq) Reset() {
+ *x = RedeemLegendaryKeyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RedeemLegendaryKeyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RedeemLegendaryKeyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RedeemLegendaryKeyReq) ProtoMessage() {}
+
+func (x *RedeemLegendaryKeyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RedeemLegendaryKeyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RedeemLegendaryKeyReq.ProtoReflect.Descriptor instead.
+func (*RedeemLegendaryKeyReq) Descriptor() ([]byte, []int) {
+ return file_RedeemLegendaryKeyReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RedeemLegendaryKeyReq_proto protoreflect.FileDescriptor
+
+var file_RedeemLegendaryKeyReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72,
+ 0x79, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4c, 0x65,
+ 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_RedeemLegendaryKeyReq_proto_rawDescOnce sync.Once
+ file_RedeemLegendaryKeyReq_proto_rawDescData = file_RedeemLegendaryKeyReq_proto_rawDesc
+)
+
+func file_RedeemLegendaryKeyReq_proto_rawDescGZIP() []byte {
+ file_RedeemLegendaryKeyReq_proto_rawDescOnce.Do(func() {
+ file_RedeemLegendaryKeyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RedeemLegendaryKeyReq_proto_rawDescData)
+ })
+ return file_RedeemLegendaryKeyReq_proto_rawDescData
+}
+
+var file_RedeemLegendaryKeyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RedeemLegendaryKeyReq_proto_goTypes = []interface{}{
+ (*RedeemLegendaryKeyReq)(nil), // 0: proto.RedeemLegendaryKeyReq
+}
+var file_RedeemLegendaryKeyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RedeemLegendaryKeyReq_proto_init() }
+func file_RedeemLegendaryKeyReq_proto_init() {
+ if File_RedeemLegendaryKeyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RedeemLegendaryKeyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RedeemLegendaryKeyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RedeemLegendaryKeyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RedeemLegendaryKeyReq_proto_goTypes,
+ DependencyIndexes: file_RedeemLegendaryKeyReq_proto_depIdxs,
+ MessageInfos: file_RedeemLegendaryKeyReq_proto_msgTypes,
+ }.Build()
+ File_RedeemLegendaryKeyReq_proto = out.File
+ file_RedeemLegendaryKeyReq_proto_rawDesc = nil
+ file_RedeemLegendaryKeyReq_proto_goTypes = nil
+ file_RedeemLegendaryKeyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RedeemLegendaryKeyRsp.pb.go b/protocol/proto/RedeemLegendaryKeyRsp.pb.go
new file mode 100644
index 00000000..6ae54eb7
--- /dev/null
+++ b/protocol/proto/RedeemLegendaryKeyRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RedeemLegendaryKeyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 441
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RedeemLegendaryKeyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LegendaryKeyCount uint32 `protobuf:"varint,11,opt,name=legendary_key_count,json=legendaryKeyCount,proto3" json:"legendary_key_count,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RedeemLegendaryKeyRsp) Reset() {
+ *x = RedeemLegendaryKeyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RedeemLegendaryKeyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RedeemLegendaryKeyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RedeemLegendaryKeyRsp) ProtoMessage() {}
+
+func (x *RedeemLegendaryKeyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RedeemLegendaryKeyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RedeemLegendaryKeyRsp.ProtoReflect.Descriptor instead.
+func (*RedeemLegendaryKeyRsp) Descriptor() ([]byte, []int) {
+ return file_RedeemLegendaryKeyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RedeemLegendaryKeyRsp) GetLegendaryKeyCount() uint32 {
+ if x != nil {
+ return x.LegendaryKeyCount
+ }
+ return 0
+}
+
+func (x *RedeemLegendaryKeyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RedeemLegendaryKeyRsp_proto protoreflect.FileDescriptor
+
+var file_RedeemLegendaryKeyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72,
+ 0x79, 0x4b, 0x65, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x15, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x4c, 0x65,
+ 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x52, 0x73, 0x70, 0x12, 0x2e, 0x0a,
+ 0x13, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x65, 0x67, 0x65,
+ 0x6e, 0x64, 0x61, 0x72, 0x79, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RedeemLegendaryKeyRsp_proto_rawDescOnce sync.Once
+ file_RedeemLegendaryKeyRsp_proto_rawDescData = file_RedeemLegendaryKeyRsp_proto_rawDesc
+)
+
+func file_RedeemLegendaryKeyRsp_proto_rawDescGZIP() []byte {
+ file_RedeemLegendaryKeyRsp_proto_rawDescOnce.Do(func() {
+ file_RedeemLegendaryKeyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RedeemLegendaryKeyRsp_proto_rawDescData)
+ })
+ return file_RedeemLegendaryKeyRsp_proto_rawDescData
+}
+
+var file_RedeemLegendaryKeyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RedeemLegendaryKeyRsp_proto_goTypes = []interface{}{
+ (*RedeemLegendaryKeyRsp)(nil), // 0: proto.RedeemLegendaryKeyRsp
+}
+var file_RedeemLegendaryKeyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RedeemLegendaryKeyRsp_proto_init() }
+func file_RedeemLegendaryKeyRsp_proto_init() {
+ if File_RedeemLegendaryKeyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RedeemLegendaryKeyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RedeemLegendaryKeyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RedeemLegendaryKeyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RedeemLegendaryKeyRsp_proto_goTypes,
+ DependencyIndexes: file_RedeemLegendaryKeyRsp_proto_depIdxs,
+ MessageInfos: file_RedeemLegendaryKeyRsp_proto_msgTypes,
+ }.Build()
+ File_RedeemLegendaryKeyRsp_proto = out.File
+ file_RedeemLegendaryKeyRsp_proto_rawDesc = nil
+ file_RedeemLegendaryKeyRsp_proto_goTypes = nil
+ file_RedeemLegendaryKeyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReformFireworksReq.pb.go b/protocol/proto/ReformFireworksReq.pb.go
new file mode 100644
index 00000000..fec9950b
--- /dev/null
+++ b/protocol/proto/ReformFireworksReq.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReformFireworksReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6036
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReformFireworksReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FireworksReformData *FireworksReformData `protobuf:"bytes,3,opt,name=fireworks_reform_data,json=fireworksReformData,proto3" json:"fireworks_reform_data,omitempty"`
+}
+
+func (x *ReformFireworksReq) Reset() {
+ *x = ReformFireworksReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReformFireworksReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReformFireworksReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReformFireworksReq) ProtoMessage() {}
+
+func (x *ReformFireworksReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReformFireworksReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReformFireworksReq.ProtoReflect.Descriptor instead.
+func (*ReformFireworksReq) Descriptor() ([]byte, []int) {
+ return file_ReformFireworksReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReformFireworksReq) GetFireworksReformData() *FireworksReformData {
+ if x != nil {
+ return x.FireworksReformData
+ }
+ return nil
+}
+
+var File_ReformFireworksReq_proto protoreflect.FileDescriptor
+
+var file_ReformFireworksReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b,
+ 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f,
+ 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x12,
+ 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52,
+ 0x65, 0x71, 0x12, 0x4e, 0x0a, 0x15, 0x66, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f,
+ 0x72, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f,
+ 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x13, 0x66,
+ 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x61,
+ 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReformFireworksReq_proto_rawDescOnce sync.Once
+ file_ReformFireworksReq_proto_rawDescData = file_ReformFireworksReq_proto_rawDesc
+)
+
+func file_ReformFireworksReq_proto_rawDescGZIP() []byte {
+ file_ReformFireworksReq_proto_rawDescOnce.Do(func() {
+ file_ReformFireworksReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReformFireworksReq_proto_rawDescData)
+ })
+ return file_ReformFireworksReq_proto_rawDescData
+}
+
+var file_ReformFireworksReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReformFireworksReq_proto_goTypes = []interface{}{
+ (*ReformFireworksReq)(nil), // 0: proto.ReformFireworksReq
+ (*FireworksReformData)(nil), // 1: proto.FireworksReformData
+}
+var file_ReformFireworksReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ReformFireworksReq.fireworks_reform_data:type_name -> proto.FireworksReformData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ReformFireworksReq_proto_init() }
+func file_ReformFireworksReq_proto_init() {
+ if File_ReformFireworksReq_proto != nil {
+ return
+ }
+ file_FireworksReformData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReformFireworksReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReformFireworksReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReformFireworksReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReformFireworksReq_proto_goTypes,
+ DependencyIndexes: file_ReformFireworksReq_proto_depIdxs,
+ MessageInfos: file_ReformFireworksReq_proto_msgTypes,
+ }.Build()
+ File_ReformFireworksReq_proto = out.File
+ file_ReformFireworksReq_proto_rawDesc = nil
+ file_ReformFireworksReq_proto_goTypes = nil
+ file_ReformFireworksReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReformFireworksRsp.pb.go b/protocol/proto/ReformFireworksRsp.pb.go
new file mode 100644
index 00000000..a5ea5e5a
--- /dev/null
+++ b/protocol/proto/ReformFireworksRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReformFireworksRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5929
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReformFireworksRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ReformFireworksRsp) Reset() {
+ *x = ReformFireworksRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReformFireworksRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReformFireworksRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReformFireworksRsp) ProtoMessage() {}
+
+func (x *ReformFireworksRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReformFireworksRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReformFireworksRsp.ProtoReflect.Descriptor instead.
+func (*ReformFireworksRsp) Descriptor() ([]byte, []int) {
+ return file_ReformFireworksRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReformFireworksRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ReformFireworksRsp_proto protoreflect.FileDescriptor
+
+var file_ReformFireworksRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x72, 0x65, 0x77, 0x6f, 0x72, 0x6b,
+ 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2e, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x69, 0x72, 0x65, 0x77,
+ 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReformFireworksRsp_proto_rawDescOnce sync.Once
+ file_ReformFireworksRsp_proto_rawDescData = file_ReformFireworksRsp_proto_rawDesc
+)
+
+func file_ReformFireworksRsp_proto_rawDescGZIP() []byte {
+ file_ReformFireworksRsp_proto_rawDescOnce.Do(func() {
+ file_ReformFireworksRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReformFireworksRsp_proto_rawDescData)
+ })
+ return file_ReformFireworksRsp_proto_rawDescData
+}
+
+var file_ReformFireworksRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReformFireworksRsp_proto_goTypes = []interface{}{
+ (*ReformFireworksRsp)(nil), // 0: proto.ReformFireworksRsp
+}
+var file_ReformFireworksRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReformFireworksRsp_proto_init() }
+func file_ReformFireworksRsp_proto_init() {
+ if File_ReformFireworksRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReformFireworksRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReformFireworksRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReformFireworksRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReformFireworksRsp_proto_goTypes,
+ DependencyIndexes: file_ReformFireworksRsp_proto_depIdxs,
+ MessageInfos: file_ReformFireworksRsp_proto_msgTypes,
+ }.Build()
+ File_ReformFireworksRsp_proto = out.File
+ file_ReformFireworksRsp_proto_rawDesc = nil
+ file_ReformFireworksRsp_proto_goTypes = nil
+ file_ReformFireworksRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RefreshBackgroundAvatarReq.pb.go b/protocol/proto/RefreshBackgroundAvatarReq.pb.go
new file mode 100644
index 00000000..9bba88f2
--- /dev/null
+++ b/protocol/proto/RefreshBackgroundAvatarReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RefreshBackgroundAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1743
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RefreshBackgroundAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RefreshBackgroundAvatarReq) Reset() {
+ *x = RefreshBackgroundAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RefreshBackgroundAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RefreshBackgroundAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RefreshBackgroundAvatarReq) ProtoMessage() {}
+
+func (x *RefreshBackgroundAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RefreshBackgroundAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RefreshBackgroundAvatarReq.ProtoReflect.Descriptor instead.
+func (*RefreshBackgroundAvatarReq) Descriptor() ([]byte, []int) {
+ return file_RefreshBackgroundAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RefreshBackgroundAvatarReq_proto protoreflect.FileDescriptor
+
+var file_RefreshBackgroundAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f,
+ 0x75, 0x6e, 0x64, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RefreshBackgroundAvatarReq_proto_rawDescOnce sync.Once
+ file_RefreshBackgroundAvatarReq_proto_rawDescData = file_RefreshBackgroundAvatarReq_proto_rawDesc
+)
+
+func file_RefreshBackgroundAvatarReq_proto_rawDescGZIP() []byte {
+ file_RefreshBackgroundAvatarReq_proto_rawDescOnce.Do(func() {
+ file_RefreshBackgroundAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RefreshBackgroundAvatarReq_proto_rawDescData)
+ })
+ return file_RefreshBackgroundAvatarReq_proto_rawDescData
+}
+
+var file_RefreshBackgroundAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RefreshBackgroundAvatarReq_proto_goTypes = []interface{}{
+ (*RefreshBackgroundAvatarReq)(nil), // 0: proto.RefreshBackgroundAvatarReq
+}
+var file_RefreshBackgroundAvatarReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RefreshBackgroundAvatarReq_proto_init() }
+func file_RefreshBackgroundAvatarReq_proto_init() {
+ if File_RefreshBackgroundAvatarReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RefreshBackgroundAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RefreshBackgroundAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RefreshBackgroundAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RefreshBackgroundAvatarReq_proto_goTypes,
+ DependencyIndexes: file_RefreshBackgroundAvatarReq_proto_depIdxs,
+ MessageInfos: file_RefreshBackgroundAvatarReq_proto_msgTypes,
+ }.Build()
+ File_RefreshBackgroundAvatarReq_proto = out.File
+ file_RefreshBackgroundAvatarReq_proto_rawDesc = nil
+ file_RefreshBackgroundAvatarReq_proto_goTypes = nil
+ file_RefreshBackgroundAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RefreshBackgroundAvatarRsp.pb.go b/protocol/proto/RefreshBackgroundAvatarRsp.pb.go
new file mode 100644
index 00000000..a2c28c94
--- /dev/null
+++ b/protocol/proto/RefreshBackgroundAvatarRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RefreshBackgroundAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1800
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RefreshBackgroundAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HpFullTimeMap map[uint64]uint32 `protobuf:"bytes,15,rep,name=hp_full_time_map,json=hpFullTimeMap,proto3" json:"hp_full_time_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RefreshBackgroundAvatarRsp) Reset() {
+ *x = RefreshBackgroundAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RefreshBackgroundAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RefreshBackgroundAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RefreshBackgroundAvatarRsp) ProtoMessage() {}
+
+func (x *RefreshBackgroundAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RefreshBackgroundAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RefreshBackgroundAvatarRsp.ProtoReflect.Descriptor instead.
+func (*RefreshBackgroundAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_RefreshBackgroundAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RefreshBackgroundAvatarRsp) GetHpFullTimeMap() map[uint64]uint32 {
+ if x != nil {
+ return x.HpFullTimeMap
+ }
+ return nil
+}
+
+func (x *RefreshBackgroundAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RefreshBackgroundAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_RefreshBackgroundAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f,
+ 0x75, 0x6e, 0x64, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x01, 0x0a, 0x1a, 0x52, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x5d, 0x0a, 0x10, 0x68, 0x70, 0x5f, 0x66,
+ 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x48, 0x70, 0x46, 0x75, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x68, 0x70, 0x46, 0x75, 0x6c, 0x6c,
+ 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x48, 0x70, 0x46, 0x75, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+ 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RefreshBackgroundAvatarRsp_proto_rawDescOnce sync.Once
+ file_RefreshBackgroundAvatarRsp_proto_rawDescData = file_RefreshBackgroundAvatarRsp_proto_rawDesc
+)
+
+func file_RefreshBackgroundAvatarRsp_proto_rawDescGZIP() []byte {
+ file_RefreshBackgroundAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_RefreshBackgroundAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RefreshBackgroundAvatarRsp_proto_rawDescData)
+ })
+ return file_RefreshBackgroundAvatarRsp_proto_rawDescData
+}
+
+var file_RefreshBackgroundAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_RefreshBackgroundAvatarRsp_proto_goTypes = []interface{}{
+ (*RefreshBackgroundAvatarRsp)(nil), // 0: proto.RefreshBackgroundAvatarRsp
+ nil, // 1: proto.RefreshBackgroundAvatarRsp.HpFullTimeMapEntry
+}
+var file_RefreshBackgroundAvatarRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.RefreshBackgroundAvatarRsp.hp_full_time_map:type_name -> proto.RefreshBackgroundAvatarRsp.HpFullTimeMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RefreshBackgroundAvatarRsp_proto_init() }
+func file_RefreshBackgroundAvatarRsp_proto_init() {
+ if File_RefreshBackgroundAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RefreshBackgroundAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RefreshBackgroundAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RefreshBackgroundAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RefreshBackgroundAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_RefreshBackgroundAvatarRsp_proto_depIdxs,
+ MessageInfos: file_RefreshBackgroundAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_RefreshBackgroundAvatarRsp_proto = out.File
+ file_RefreshBackgroundAvatarRsp_proto_rawDesc = nil
+ file_RefreshBackgroundAvatarRsp_proto_goTypes = nil
+ file_RefreshBackgroundAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RefreshEntityAuthNotify.pb.go b/protocol/proto/RefreshEntityAuthNotify.pb.go
new file mode 100644
index 00000000..b758aa49
--- /dev/null
+++ b/protocol/proto/RefreshEntityAuthNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RefreshEntityAuthNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3259
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RefreshEntityAuthNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityIdList []uint32 `protobuf:"varint,7,rep,packed,name=entity_id_list,json=entityIdList,proto3" json:"entity_id_list,omitempty"`
+}
+
+func (x *RefreshEntityAuthNotify) Reset() {
+ *x = RefreshEntityAuthNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RefreshEntityAuthNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RefreshEntityAuthNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RefreshEntityAuthNotify) ProtoMessage() {}
+
+func (x *RefreshEntityAuthNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RefreshEntityAuthNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RefreshEntityAuthNotify.ProtoReflect.Descriptor instead.
+func (*RefreshEntityAuthNotify) Descriptor() ([]byte, []int) {
+ return file_RefreshEntityAuthNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RefreshEntityAuthNotify) GetEntityIdList() []uint32 {
+ if x != nil {
+ return x.EntityIdList
+ }
+ return nil
+}
+
+var File_RefreshEntityAuthNotify_proto protoreflect.FileDescriptor
+
+var file_RefreshEntityAuthNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41,
+ 0x75, 0x74, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x17, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73,
+ 0x68, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RefreshEntityAuthNotify_proto_rawDescOnce sync.Once
+ file_RefreshEntityAuthNotify_proto_rawDescData = file_RefreshEntityAuthNotify_proto_rawDesc
+)
+
+func file_RefreshEntityAuthNotify_proto_rawDescGZIP() []byte {
+ file_RefreshEntityAuthNotify_proto_rawDescOnce.Do(func() {
+ file_RefreshEntityAuthNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RefreshEntityAuthNotify_proto_rawDescData)
+ })
+ return file_RefreshEntityAuthNotify_proto_rawDescData
+}
+
+var file_RefreshEntityAuthNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RefreshEntityAuthNotify_proto_goTypes = []interface{}{
+ (*RefreshEntityAuthNotify)(nil), // 0: proto.RefreshEntityAuthNotify
+}
+var file_RefreshEntityAuthNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RefreshEntityAuthNotify_proto_init() }
+func file_RefreshEntityAuthNotify_proto_init() {
+ if File_RefreshEntityAuthNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RefreshEntityAuthNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RefreshEntityAuthNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RefreshEntityAuthNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RefreshEntityAuthNotify_proto_goTypes,
+ DependencyIndexes: file_RefreshEntityAuthNotify_proto_depIdxs,
+ MessageInfos: file_RefreshEntityAuthNotify_proto_msgTypes,
+ }.Build()
+ File_RefreshEntityAuthNotify_proto = out.File
+ file_RefreshEntityAuthNotify_proto_rawDesc = nil
+ file_RefreshEntityAuthNotify_proto_goTypes = nil
+ file_RefreshEntityAuthNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RefreshRogueDiaryCardReq.pb.go b/protocol/proto/RefreshRogueDiaryCardReq.pb.go
new file mode 100644
index 00000000..cc899bfd
--- /dev/null
+++ b/protocol/proto/RefreshRogueDiaryCardReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RefreshRogueDiaryCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8991
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RefreshRogueDiaryCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RefreshCardList []uint32 `protobuf:"varint,8,rep,packed,name=refresh_card_list,json=refreshCardList,proto3" json:"refresh_card_list,omitempty"`
+}
+
+func (x *RefreshRogueDiaryCardReq) Reset() {
+ *x = RefreshRogueDiaryCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RefreshRogueDiaryCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RefreshRogueDiaryCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RefreshRogueDiaryCardReq) ProtoMessage() {}
+
+func (x *RefreshRogueDiaryCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RefreshRogueDiaryCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RefreshRogueDiaryCardReq.ProtoReflect.Descriptor instead.
+func (*RefreshRogueDiaryCardReq) Descriptor() ([]byte, []int) {
+ return file_RefreshRogueDiaryCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RefreshRogueDiaryCardReq) GetRefreshCardList() []uint32 {
+ if x != nil {
+ return x.RefreshCardList
+ }
+ return nil
+}
+
+var File_RefreshRogueDiaryCardReq_proto protoreflect.FileDescriptor
+
+var file_RefreshRogueDiaryCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69,
+ 0x61, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x18, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f,
+ 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RefreshRogueDiaryCardReq_proto_rawDescOnce sync.Once
+ file_RefreshRogueDiaryCardReq_proto_rawDescData = file_RefreshRogueDiaryCardReq_proto_rawDesc
+)
+
+func file_RefreshRogueDiaryCardReq_proto_rawDescGZIP() []byte {
+ file_RefreshRogueDiaryCardReq_proto_rawDescOnce.Do(func() {
+ file_RefreshRogueDiaryCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RefreshRogueDiaryCardReq_proto_rawDescData)
+ })
+ return file_RefreshRogueDiaryCardReq_proto_rawDescData
+}
+
+var file_RefreshRogueDiaryCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RefreshRogueDiaryCardReq_proto_goTypes = []interface{}{
+ (*RefreshRogueDiaryCardReq)(nil), // 0: proto.RefreshRogueDiaryCardReq
+}
+var file_RefreshRogueDiaryCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RefreshRogueDiaryCardReq_proto_init() }
+func file_RefreshRogueDiaryCardReq_proto_init() {
+ if File_RefreshRogueDiaryCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RefreshRogueDiaryCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RefreshRogueDiaryCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RefreshRogueDiaryCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RefreshRogueDiaryCardReq_proto_goTypes,
+ DependencyIndexes: file_RefreshRogueDiaryCardReq_proto_depIdxs,
+ MessageInfos: file_RefreshRogueDiaryCardReq_proto_msgTypes,
+ }.Build()
+ File_RefreshRogueDiaryCardReq_proto = out.File
+ file_RefreshRogueDiaryCardReq_proto_rawDesc = nil
+ file_RefreshRogueDiaryCardReq_proto_goTypes = nil
+ file_RefreshRogueDiaryCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RefreshRogueDiaryCardRsp.pb.go b/protocol/proto/RefreshRogueDiaryCardRsp.pb.go
new file mode 100644
index 00000000..add80574
--- /dev/null
+++ b/protocol/proto/RefreshRogueDiaryCardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RefreshRogueDiaryCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8028
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RefreshRogueDiaryCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RandCardList []uint32 `protobuf:"varint,15,rep,packed,name=rand_card_list,json=randCardList,proto3" json:"rand_card_list,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RefreshRogueDiaryCardRsp) Reset() {
+ *x = RefreshRogueDiaryCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RefreshRogueDiaryCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RefreshRogueDiaryCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RefreshRogueDiaryCardRsp) ProtoMessage() {}
+
+func (x *RefreshRogueDiaryCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RefreshRogueDiaryCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RefreshRogueDiaryCardRsp.ProtoReflect.Descriptor instead.
+func (*RefreshRogueDiaryCardRsp) Descriptor() ([]byte, []int) {
+ return file_RefreshRogueDiaryCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RefreshRogueDiaryCardRsp) GetRandCardList() []uint32 {
+ if x != nil {
+ return x.RandCardList
+ }
+ return nil
+}
+
+func (x *RefreshRogueDiaryCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RefreshRogueDiaryCardRsp_proto protoreflect.FileDescriptor
+
+var file_RefreshRogueDiaryCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69,
+ 0x61, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x18, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x43, 0x61, 0x72, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x61, 0x6e,
+ 0x64, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RefreshRogueDiaryCardRsp_proto_rawDescOnce sync.Once
+ file_RefreshRogueDiaryCardRsp_proto_rawDescData = file_RefreshRogueDiaryCardRsp_proto_rawDesc
+)
+
+func file_RefreshRogueDiaryCardRsp_proto_rawDescGZIP() []byte {
+ file_RefreshRogueDiaryCardRsp_proto_rawDescOnce.Do(func() {
+ file_RefreshRogueDiaryCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RefreshRogueDiaryCardRsp_proto_rawDescData)
+ })
+ return file_RefreshRogueDiaryCardRsp_proto_rawDescData
+}
+
+var file_RefreshRogueDiaryCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RefreshRogueDiaryCardRsp_proto_goTypes = []interface{}{
+ (*RefreshRogueDiaryCardRsp)(nil), // 0: proto.RefreshRogueDiaryCardRsp
+}
+var file_RefreshRogueDiaryCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RefreshRogueDiaryCardRsp_proto_init() }
+func file_RefreshRogueDiaryCardRsp_proto_init() {
+ if File_RefreshRogueDiaryCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RefreshRogueDiaryCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RefreshRogueDiaryCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RefreshRogueDiaryCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RefreshRogueDiaryCardRsp_proto_goTypes,
+ DependencyIndexes: file_RefreshRogueDiaryCardRsp_proto_depIdxs,
+ MessageInfos: file_RefreshRogueDiaryCardRsp_proto_msgTypes,
+ }.Build()
+ File_RefreshRogueDiaryCardRsp_proto = out.File
+ file_RefreshRogueDiaryCardRsp_proto_rawDesc = nil
+ file_RefreshRogueDiaryCardRsp_proto_goTypes = nil
+ file_RefreshRogueDiaryCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RefreshRoguelikeDungeonCardReq.pb.go b/protocol/proto/RefreshRoguelikeDungeonCardReq.pb.go
new file mode 100644
index 00000000..a2832d7a
--- /dev/null
+++ b/protocol/proto/RefreshRoguelikeDungeonCardReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RefreshRoguelikeDungeonCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8279
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RefreshRoguelikeDungeonCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RefreshRoguelikeDungeonCardReq) Reset() {
+ *x = RefreshRoguelikeDungeonCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RefreshRoguelikeDungeonCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RefreshRoguelikeDungeonCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RefreshRoguelikeDungeonCardReq) ProtoMessage() {}
+
+func (x *RefreshRoguelikeDungeonCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RefreshRoguelikeDungeonCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RefreshRoguelikeDungeonCardReq.ProtoReflect.Descriptor instead.
+func (*RefreshRoguelikeDungeonCardReq) Descriptor() ([]byte, []int) {
+ return file_RefreshRoguelikeDungeonCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RefreshRoguelikeDungeonCardReq_proto protoreflect.FileDescriptor
+
+var file_RefreshRoguelikeDungeonCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b,
+ 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RefreshRoguelikeDungeonCardReq_proto_rawDescOnce sync.Once
+ file_RefreshRoguelikeDungeonCardReq_proto_rawDescData = file_RefreshRoguelikeDungeonCardReq_proto_rawDesc
+)
+
+func file_RefreshRoguelikeDungeonCardReq_proto_rawDescGZIP() []byte {
+ file_RefreshRoguelikeDungeonCardReq_proto_rawDescOnce.Do(func() {
+ file_RefreshRoguelikeDungeonCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RefreshRoguelikeDungeonCardReq_proto_rawDescData)
+ })
+ return file_RefreshRoguelikeDungeonCardReq_proto_rawDescData
+}
+
+var file_RefreshRoguelikeDungeonCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RefreshRoguelikeDungeonCardReq_proto_goTypes = []interface{}{
+ (*RefreshRoguelikeDungeonCardReq)(nil), // 0: proto.RefreshRoguelikeDungeonCardReq
+}
+var file_RefreshRoguelikeDungeonCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RefreshRoguelikeDungeonCardReq_proto_init() }
+func file_RefreshRoguelikeDungeonCardReq_proto_init() {
+ if File_RefreshRoguelikeDungeonCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RefreshRoguelikeDungeonCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RefreshRoguelikeDungeonCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RefreshRoguelikeDungeonCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RefreshRoguelikeDungeonCardReq_proto_goTypes,
+ DependencyIndexes: file_RefreshRoguelikeDungeonCardReq_proto_depIdxs,
+ MessageInfos: file_RefreshRoguelikeDungeonCardReq_proto_msgTypes,
+ }.Build()
+ File_RefreshRoguelikeDungeonCardReq_proto = out.File
+ file_RefreshRoguelikeDungeonCardReq_proto_rawDesc = nil
+ file_RefreshRoguelikeDungeonCardReq_proto_goTypes = nil
+ file_RefreshRoguelikeDungeonCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RefreshRoguelikeDungeonCardRsp.pb.go b/protocol/proto/RefreshRoguelikeDungeonCardRsp.pb.go
new file mode 100644
index 00000000..9aac6907
--- /dev/null
+++ b/protocol/proto/RefreshRoguelikeDungeonCardRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RefreshRoguelikeDungeonCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8349
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RefreshRoguelikeDungeonCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ResCardList []uint32 `protobuf:"varint,9,rep,packed,name=res_card_list,json=resCardList,proto3" json:"res_card_list,omitempty"`
+}
+
+func (x *RefreshRoguelikeDungeonCardRsp) Reset() {
+ *x = RefreshRoguelikeDungeonCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RefreshRoguelikeDungeonCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RefreshRoguelikeDungeonCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RefreshRoguelikeDungeonCardRsp) ProtoMessage() {}
+
+func (x *RefreshRoguelikeDungeonCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RefreshRoguelikeDungeonCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RefreshRoguelikeDungeonCardRsp.ProtoReflect.Descriptor instead.
+func (*RefreshRoguelikeDungeonCardRsp) Descriptor() ([]byte, []int) {
+ return file_RefreshRoguelikeDungeonCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RefreshRoguelikeDungeonCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *RefreshRoguelikeDungeonCardRsp) GetResCardList() []uint32 {
+ if x != nil {
+ return x.ResCardList
+ }
+ return nil
+}
+
+var File_RefreshRoguelikeDungeonCardRsp_proto protoreflect.FileDescriptor
+
+var file_RefreshRoguelikeDungeonCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a,
+ 0x1e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b,
+ 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x73,
+ 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0b, 0x72, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_RefreshRoguelikeDungeonCardRsp_proto_rawDescOnce sync.Once
+ file_RefreshRoguelikeDungeonCardRsp_proto_rawDescData = file_RefreshRoguelikeDungeonCardRsp_proto_rawDesc
+)
+
+func file_RefreshRoguelikeDungeonCardRsp_proto_rawDescGZIP() []byte {
+ file_RefreshRoguelikeDungeonCardRsp_proto_rawDescOnce.Do(func() {
+ file_RefreshRoguelikeDungeonCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RefreshRoguelikeDungeonCardRsp_proto_rawDescData)
+ })
+ return file_RefreshRoguelikeDungeonCardRsp_proto_rawDescData
+}
+
+var file_RefreshRoguelikeDungeonCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RefreshRoguelikeDungeonCardRsp_proto_goTypes = []interface{}{
+ (*RefreshRoguelikeDungeonCardRsp)(nil), // 0: proto.RefreshRoguelikeDungeonCardRsp
+}
+var file_RefreshRoguelikeDungeonCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RefreshRoguelikeDungeonCardRsp_proto_init() }
+func file_RefreshRoguelikeDungeonCardRsp_proto_init() {
+ if File_RefreshRoguelikeDungeonCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RefreshRoguelikeDungeonCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RefreshRoguelikeDungeonCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RefreshRoguelikeDungeonCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RefreshRoguelikeDungeonCardRsp_proto_goTypes,
+ DependencyIndexes: file_RefreshRoguelikeDungeonCardRsp_proto_depIdxs,
+ MessageInfos: file_RefreshRoguelikeDungeonCardRsp_proto_msgTypes,
+ }.Build()
+ File_RefreshRoguelikeDungeonCardRsp_proto = out.File
+ file_RefreshRoguelikeDungeonCardRsp_proto_rawDesc = nil
+ file_RefreshRoguelikeDungeonCardRsp_proto_goTypes = nil
+ file_RefreshRoguelikeDungeonCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionInfo.pb.go b/protocol/proto/RegionInfo.pb.go
new file mode 100644
index 00000000..9b5eb2c1
--- /dev/null
+++ b/protocol/proto/RegionInfo.pb.go
@@ -0,0 +1,467 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RegionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GateserverIp string `protobuf:"bytes,1,opt,name=gateserver_ip,json=gateserverIp,proto3" json:"gateserver_ip,omitempty"`
+ GateserverPort uint32 `protobuf:"varint,2,opt,name=gateserver_port,json=gateserverPort,proto3" json:"gateserver_port,omitempty"`
+ PayCallbackUrl string `protobuf:"bytes,3,opt,name=pay_callback_url,json=payCallbackUrl,proto3" json:"pay_callback_url,omitempty"`
+ AreaType string `protobuf:"bytes,7,opt,name=area_type,json=areaType,proto3" json:"area_type,omitempty"`
+ ResourceUrl string `protobuf:"bytes,8,opt,name=resource_url,json=resourceUrl,proto3" json:"resource_url,omitempty"`
+ DataUrl string `protobuf:"bytes,9,opt,name=data_url,json=dataUrl,proto3" json:"data_url,omitempty"`
+ FeedbackUrl string `protobuf:"bytes,10,opt,name=feedback_url,json=feedbackUrl,proto3" json:"feedback_url,omitempty"`
+ BulletinUrl string `protobuf:"bytes,11,opt,name=bulletin_url,json=bulletinUrl,proto3" json:"bulletin_url,omitempty"`
+ ResourceUrlBak string `protobuf:"bytes,12,opt,name=resource_url_bak,json=resourceUrlBak,proto3" json:"resource_url_bak,omitempty"`
+ DataUrlBak string `protobuf:"bytes,13,opt,name=data_url_bak,json=dataUrlBak,proto3" json:"data_url_bak,omitempty"`
+ ClientDataVersion uint32 `protobuf:"varint,14,opt,name=client_data_version,json=clientDataVersion,proto3" json:"client_data_version,omitempty"`
+ HandbookUrl string `protobuf:"bytes,16,opt,name=handbook_url,json=handbookUrl,proto3" json:"handbook_url,omitempty"`
+ ClientSilenceDataVersion uint32 `protobuf:"varint,18,opt,name=client_silence_data_version,json=clientSilenceDataVersion,proto3" json:"client_silence_data_version,omitempty"`
+ ClientDataMd5 string `protobuf:"bytes,19,opt,name=client_data_md5,json=clientDataMd5,proto3" json:"client_data_md5,omitempty"`
+ ClientSilenceDataMd5 string `protobuf:"bytes,20,opt,name=client_silence_data_md5,json=clientSilenceDataMd5,proto3" json:"client_silence_data_md5,omitempty"`
+ ResVersionConfig *ResVersionConfig `protobuf:"bytes,22,opt,name=res_version_config,json=resVersionConfig,proto3" json:"res_version_config,omitempty"`
+ SecretKey []byte `protobuf:"bytes,23,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
+ OfficialCommunityUrl string `protobuf:"bytes,24,opt,name=official_community_url,json=officialCommunityUrl,proto3" json:"official_community_url,omitempty"`
+ ClientVersionSuffix string `protobuf:"bytes,26,opt,name=client_version_suffix,json=clientVersionSuffix,proto3" json:"client_version_suffix,omitempty"`
+ ClientSilenceVersionSuffix string `protobuf:"bytes,27,opt,name=client_silence_version_suffix,json=clientSilenceVersionSuffix,proto3" json:"client_silence_version_suffix,omitempty"`
+ UseGateserverDomainName bool `protobuf:"varint,28,opt,name=use_gateserver_domain_name,json=useGateserverDomainName,proto3" json:"use_gateserver_domain_name,omitempty"`
+ GateserverDomainName string `protobuf:"bytes,29,opt,name=gateserver_domain_name,json=gateserverDomainName,proto3" json:"gateserver_domain_name,omitempty"`
+ UserCenterUrl string `protobuf:"bytes,30,opt,name=user_center_url,json=userCenterUrl,proto3" json:"user_center_url,omitempty"`
+ AccountBindUrl string `protobuf:"bytes,31,opt,name=account_bind_url,json=accountBindUrl,proto3" json:"account_bind_url,omitempty"`
+ CdkeyUrl string `protobuf:"bytes,32,opt,name=cdkey_url,json=cdkeyUrl,proto3" json:"cdkey_url,omitempty"`
+ PrivacyPolicyUrl string `protobuf:"bytes,33,opt,name=privacy_policy_url,json=privacyPolicyUrl,proto3" json:"privacy_policy_url,omitempty"`
+ NextResourceUrl string `protobuf:"bytes,34,opt,name=next_resource_url,json=nextResourceUrl,proto3" json:"next_resource_url,omitempty"`
+ NextResVersionConfig *ResVersionConfig `protobuf:"bytes,35,opt,name=next_res_version_config,json=nextResVersionConfig,proto3" json:"next_res_version_config,omitempty"`
+ GameBiz string `protobuf:"bytes,36,opt,name=game_biz,json=gameBiz,proto3" json:"game_biz,omitempty"`
+}
+
+func (x *RegionInfo) Reset() {
+ *x = RegionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RegionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RegionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RegionInfo) ProtoMessage() {}
+
+func (x *RegionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RegionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RegionInfo.ProtoReflect.Descriptor instead.
+func (*RegionInfo) Descriptor() ([]byte, []int) {
+ return file_RegionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RegionInfo) GetGateserverIp() string {
+ if x != nil {
+ return x.GateserverIp
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetGateserverPort() uint32 {
+ if x != nil {
+ return x.GateserverPort
+ }
+ return 0
+}
+
+func (x *RegionInfo) GetPayCallbackUrl() string {
+ if x != nil {
+ return x.PayCallbackUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetAreaType() string {
+ if x != nil {
+ return x.AreaType
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetResourceUrl() string {
+ if x != nil {
+ return x.ResourceUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetDataUrl() string {
+ if x != nil {
+ return x.DataUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetFeedbackUrl() string {
+ if x != nil {
+ return x.FeedbackUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetBulletinUrl() string {
+ if x != nil {
+ return x.BulletinUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetResourceUrlBak() string {
+ if x != nil {
+ return x.ResourceUrlBak
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetDataUrlBak() string {
+ if x != nil {
+ return x.DataUrlBak
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetClientDataVersion() uint32 {
+ if x != nil {
+ return x.ClientDataVersion
+ }
+ return 0
+}
+
+func (x *RegionInfo) GetHandbookUrl() string {
+ if x != nil {
+ return x.HandbookUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetClientSilenceDataVersion() uint32 {
+ if x != nil {
+ return x.ClientSilenceDataVersion
+ }
+ return 0
+}
+
+func (x *RegionInfo) GetClientDataMd5() string {
+ if x != nil {
+ return x.ClientDataMd5
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetClientSilenceDataMd5() string {
+ if x != nil {
+ return x.ClientSilenceDataMd5
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetResVersionConfig() *ResVersionConfig {
+ if x != nil {
+ return x.ResVersionConfig
+ }
+ return nil
+}
+
+func (x *RegionInfo) GetSecretKey() []byte {
+ if x != nil {
+ return x.SecretKey
+ }
+ return nil
+}
+
+func (x *RegionInfo) GetOfficialCommunityUrl() string {
+ if x != nil {
+ return x.OfficialCommunityUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetClientVersionSuffix() string {
+ if x != nil {
+ return x.ClientVersionSuffix
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetClientSilenceVersionSuffix() string {
+ if x != nil {
+ return x.ClientSilenceVersionSuffix
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetUseGateserverDomainName() bool {
+ if x != nil {
+ return x.UseGateserverDomainName
+ }
+ return false
+}
+
+func (x *RegionInfo) GetGateserverDomainName() string {
+ if x != nil {
+ return x.GateserverDomainName
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetUserCenterUrl() string {
+ if x != nil {
+ return x.UserCenterUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetAccountBindUrl() string {
+ if x != nil {
+ return x.AccountBindUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetCdkeyUrl() string {
+ if x != nil {
+ return x.CdkeyUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetPrivacyPolicyUrl() string {
+ if x != nil {
+ return x.PrivacyPolicyUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetNextResourceUrl() string {
+ if x != nil {
+ return x.NextResourceUrl
+ }
+ return ""
+}
+
+func (x *RegionInfo) GetNextResVersionConfig() *ResVersionConfig {
+ if x != nil {
+ return x.NextResVersionConfig
+ }
+ return nil
+}
+
+func (x *RegionInfo) GetGameBiz() string {
+ if x != nil {
+ return x.GameBiz
+ }
+ return ""
+}
+
+var File_RegionInfo_proto protoreflect.FileDescriptor
+
+var file_RegionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x73, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x9c, 0x0a, 0x0a, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61, 0x74, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69,
+ 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x61, 0x74, 0x65, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x49, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x67, 0x61, 0x74, 0x65, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
+ 0x67, 0x61, 0x74, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x28,
+ 0x0a, 0x10, 0x70, 0x61, 0x79, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x75,
+ 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x43, 0x61, 0x6c,
+ 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x72, 0x65, 0x61,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x65,
+ 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61,
+ 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x61, 0x74, 0x61,
+ 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x5f,
+ 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x64, 0x62,
+ 0x61, 0x63, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74,
+ 0x69, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x75,
+ 0x6c, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x62, 0x61, 0x6b, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c,
+ 0x42, 0x61, 0x6b, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x75, 0x72, 0x6c, 0x5f,
+ 0x62, 0x61, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x55,
+ 0x72, 0x6c, 0x42, 0x61, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f,
+ 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f,
+ 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x68, 0x61, 0x6e,
+ 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
+ 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4d, 0x64, 0x35, 0x12,
+ 0x35, 0x0a, 0x17, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63,
+ 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6d, 0x64, 0x35, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x4d, 0x64, 0x35, 0x12, 0x45, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x5f, 0x76, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x16, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x56, 0x65,
+ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x72, 0x65, 0x73,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x16,
+ 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
+ 0x74, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x66,
+ 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x55,
+ 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x1a, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x41, 0x0a, 0x1d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x5f, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x63,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x75, 0x73, 0x65,
+ 0x5f, 0x67, 0x61, 0x74, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61,
+ 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x75,
+ 0x73, 0x65, 0x47, 0x61, 0x74, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61,
+ 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x67, 0x61, 0x74, 0x65, 0x73, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x67, 0x61, 0x74, 0x65, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f,
+ 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18,
+ 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x43, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
+ 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
+ 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x64, 0x6b, 0x65, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x20, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x63, 0x64, 0x6b, 0x65, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x70,
+ 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x75, 0x72,
+ 0x6c, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78,
+ 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x22,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x4e, 0x0a, 0x17, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65,
+ 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
+ 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+ 0x14, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x62, 0x69,
+ 0x7a, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x42, 0x69, 0x7a,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionInfo_proto_rawDescOnce sync.Once
+ file_RegionInfo_proto_rawDescData = file_RegionInfo_proto_rawDesc
+)
+
+func file_RegionInfo_proto_rawDescGZIP() []byte {
+ file_RegionInfo_proto_rawDescOnce.Do(func() {
+ file_RegionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionInfo_proto_rawDescData)
+ })
+ return file_RegionInfo_proto_rawDescData
+}
+
+var file_RegionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RegionInfo_proto_goTypes = []interface{}{
+ (*RegionInfo)(nil), // 0: proto.RegionInfo
+ (*ResVersionConfig)(nil), // 1: proto.ResVersionConfig
+}
+var file_RegionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RegionInfo.res_version_config:type_name -> proto.ResVersionConfig
+ 1, // 1: proto.RegionInfo.next_res_version_config:type_name -> proto.ResVersionConfig
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_RegionInfo_proto_init() }
+func file_RegionInfo_proto_init() {
+ if File_RegionInfo_proto != nil {
+ return
+ }
+ file_ResVersionConfig_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RegionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionInfo_proto_goTypes,
+ DependencyIndexes: file_RegionInfo_proto_depIdxs,
+ MessageInfos: file_RegionInfo_proto_msgTypes,
+ }.Build()
+ File_RegionInfo_proto = out.File
+ file_RegionInfo_proto_rawDesc = nil
+ file_RegionInfo_proto_goTypes = nil
+ file_RegionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionSearch.pb.go b/protocol/proto/RegionSearch.pb.go
new file mode 100644
index 00000000..86b053bc
--- /dev/null
+++ b/protocol/proto/RegionSearch.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionSearch.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RegionSearch struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsEntered bool `protobuf:"varint,13,opt,name=is_entered,json=isEntered,proto3" json:"is_entered,omitempty"`
+ Progress uint32 `protobuf:"varint,5,opt,name=progress,proto3" json:"progress,omitempty"`
+ State RegionSearchState `protobuf:"varint,2,opt,name=state,proto3,enum=proto.RegionSearchState" json:"state,omitempty"`
+ RegionSearchId uint32 `protobuf:"varint,8,opt,name=region_search_id,json=regionSearchId,proto3" json:"region_search_id,omitempty"`
+}
+
+func (x *RegionSearch) Reset() {
+ *x = RegionSearch{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RegionSearch_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RegionSearch) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RegionSearch) ProtoMessage() {}
+
+func (x *RegionSearch) ProtoReflect() protoreflect.Message {
+ mi := &file_RegionSearch_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RegionSearch.ProtoReflect.Descriptor instead.
+func (*RegionSearch) Descriptor() ([]byte, []int) {
+ return file_RegionSearch_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RegionSearch) GetIsEntered() bool {
+ if x != nil {
+ return x.IsEntered
+ }
+ return false
+}
+
+func (x *RegionSearch) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *RegionSearch) GetState() RegionSearchState {
+ if x != nil {
+ return x.State
+ }
+ return RegionSearchState_REGION_SEARCH_STATE_NONE
+}
+
+func (x *RegionSearch) GetRegionSearchId() uint32 {
+ if x != nil {
+ return x.RegionSearchId
+ }
+ return 0
+}
+
+var File_RegionSearch_proto protoreflect.FileDescriptor
+
+var file_RegionSearch_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x52, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53,
+ 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x74,
+ 0x65, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65,
+ 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
+ 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63,
+ 0x68, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69,
+ 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionSearch_proto_rawDescOnce sync.Once
+ file_RegionSearch_proto_rawDescData = file_RegionSearch_proto_rawDesc
+)
+
+func file_RegionSearch_proto_rawDescGZIP() []byte {
+ file_RegionSearch_proto_rawDescOnce.Do(func() {
+ file_RegionSearch_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionSearch_proto_rawDescData)
+ })
+ return file_RegionSearch_proto_rawDescData
+}
+
+var file_RegionSearch_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RegionSearch_proto_goTypes = []interface{}{
+ (*RegionSearch)(nil), // 0: proto.RegionSearch
+ (RegionSearchState)(0), // 1: proto.RegionSearchState
+}
+var file_RegionSearch_proto_depIdxs = []int32{
+ 1, // 0: proto.RegionSearch.state:type_name -> proto.RegionSearchState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RegionSearch_proto_init() }
+func file_RegionSearch_proto_init() {
+ if File_RegionSearch_proto != nil {
+ return
+ }
+ file_RegionSearchState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RegionSearch_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegionSearch); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionSearch_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionSearch_proto_goTypes,
+ DependencyIndexes: file_RegionSearch_proto_depIdxs,
+ MessageInfos: file_RegionSearch_proto_msgTypes,
+ }.Build()
+ File_RegionSearch_proto = out.File
+ file_RegionSearch_proto_rawDesc = nil
+ file_RegionSearch_proto_goTypes = nil
+ file_RegionSearch_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionSearchChangeRegionNotify.pb.go b/protocol/proto/RegionSearchChangeRegionNotify.pb.go
new file mode 100644
index 00000000..50211ac6
--- /dev/null
+++ b/protocol/proto/RegionSearchChangeRegionNotify.pb.go
@@ -0,0 +1,235 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionSearchChangeRegionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RegionSearchChangeRegionNotify_RegionEvent int32
+
+const (
+ RegionSearchChangeRegionNotify_REGION_EVENT_NONE RegionSearchChangeRegionNotify_RegionEvent = 0
+ RegionSearchChangeRegionNotify_REGION_EVENT_ENTER RegionSearchChangeRegionNotify_RegionEvent = 1
+ RegionSearchChangeRegionNotify_REGION_EVENT_LEAVE RegionSearchChangeRegionNotify_RegionEvent = 2
+)
+
+// Enum value maps for RegionSearchChangeRegionNotify_RegionEvent.
+var (
+ RegionSearchChangeRegionNotify_RegionEvent_name = map[int32]string{
+ 0: "REGION_EVENT_NONE",
+ 1: "REGION_EVENT_ENTER",
+ 2: "REGION_EVENT_LEAVE",
+ }
+ RegionSearchChangeRegionNotify_RegionEvent_value = map[string]int32{
+ "REGION_EVENT_NONE": 0,
+ "REGION_EVENT_ENTER": 1,
+ "REGION_EVENT_LEAVE": 2,
+ }
+)
+
+func (x RegionSearchChangeRegionNotify_RegionEvent) Enum() *RegionSearchChangeRegionNotify_RegionEvent {
+ p := new(RegionSearchChangeRegionNotify_RegionEvent)
+ *p = x
+ return p
+}
+
+func (x RegionSearchChangeRegionNotify_RegionEvent) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RegionSearchChangeRegionNotify_RegionEvent) Descriptor() protoreflect.EnumDescriptor {
+ return file_RegionSearchChangeRegionNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (RegionSearchChangeRegionNotify_RegionEvent) Type() protoreflect.EnumType {
+ return &file_RegionSearchChangeRegionNotify_proto_enumTypes[0]
+}
+
+func (x RegionSearchChangeRegionNotify_RegionEvent) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RegionSearchChangeRegionNotify_RegionEvent.Descriptor instead.
+func (RegionSearchChangeRegionNotify_RegionEvent) EnumDescriptor() ([]byte, []int) {
+ return file_RegionSearchChangeRegionNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 5618
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RegionSearchChangeRegionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Event RegionSearchChangeRegionNotify_RegionEvent `protobuf:"varint,1,opt,name=event,proto3,enum=proto.RegionSearchChangeRegionNotify_RegionEvent" json:"event,omitempty"`
+ RegionId uint32 `protobuf:"varint,10,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
+}
+
+func (x *RegionSearchChangeRegionNotify) Reset() {
+ *x = RegionSearchChangeRegionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RegionSearchChangeRegionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RegionSearchChangeRegionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RegionSearchChangeRegionNotify) ProtoMessage() {}
+
+func (x *RegionSearchChangeRegionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RegionSearchChangeRegionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RegionSearchChangeRegionNotify.ProtoReflect.Descriptor instead.
+func (*RegionSearchChangeRegionNotify) Descriptor() ([]byte, []int) {
+ return file_RegionSearchChangeRegionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RegionSearchChangeRegionNotify) GetEvent() RegionSearchChangeRegionNotify_RegionEvent {
+ if x != nil {
+ return x.Event
+ }
+ return RegionSearchChangeRegionNotify_REGION_EVENT_NONE
+}
+
+func (x *RegionSearchChangeRegionNotify) GetRegionId() uint32 {
+ if x != nil {
+ return x.RegionId
+ }
+ return 0
+}
+
+var File_RegionSearchChangeRegionNotify_proto protoreflect.FileDescriptor
+
+var file_RegionSearchChangeRegionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x01,
+ 0x0a, 0x1e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x47, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65,
+ 0x61, 0x72, 0x63, 0x68, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65,
+ 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12,
+ 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x4e, 0x54,
+ 0x45, 0x52, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x45,
+ 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionSearchChangeRegionNotify_proto_rawDescOnce sync.Once
+ file_RegionSearchChangeRegionNotify_proto_rawDescData = file_RegionSearchChangeRegionNotify_proto_rawDesc
+)
+
+func file_RegionSearchChangeRegionNotify_proto_rawDescGZIP() []byte {
+ file_RegionSearchChangeRegionNotify_proto_rawDescOnce.Do(func() {
+ file_RegionSearchChangeRegionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionSearchChangeRegionNotify_proto_rawDescData)
+ })
+ return file_RegionSearchChangeRegionNotify_proto_rawDescData
+}
+
+var file_RegionSearchChangeRegionNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_RegionSearchChangeRegionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RegionSearchChangeRegionNotify_proto_goTypes = []interface{}{
+ (RegionSearchChangeRegionNotify_RegionEvent)(0), // 0: proto.RegionSearchChangeRegionNotify.RegionEvent
+ (*RegionSearchChangeRegionNotify)(nil), // 1: proto.RegionSearchChangeRegionNotify
+}
+var file_RegionSearchChangeRegionNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.RegionSearchChangeRegionNotify.event:type_name -> proto.RegionSearchChangeRegionNotify.RegionEvent
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RegionSearchChangeRegionNotify_proto_init() }
+func file_RegionSearchChangeRegionNotify_proto_init() {
+ if File_RegionSearchChangeRegionNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RegionSearchChangeRegionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegionSearchChangeRegionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionSearchChangeRegionNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionSearchChangeRegionNotify_proto_goTypes,
+ DependencyIndexes: file_RegionSearchChangeRegionNotify_proto_depIdxs,
+ EnumInfos: file_RegionSearchChangeRegionNotify_proto_enumTypes,
+ MessageInfos: file_RegionSearchChangeRegionNotify_proto_msgTypes,
+ }.Build()
+ File_RegionSearchChangeRegionNotify_proto = out.File
+ file_RegionSearchChangeRegionNotify_proto_rawDesc = nil
+ file_RegionSearchChangeRegionNotify_proto_goTypes = nil
+ file_RegionSearchChangeRegionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionSearchInfo.pb.go b/protocol/proto/RegionSearchInfo.pb.go
new file mode 100644
index 00000000..779c84e0
--- /dev/null
+++ b/protocol/proto/RegionSearchInfo.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionSearchInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RegionSearchInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
+ RegionSearchList []*RegionSearch `protobuf:"bytes,1,rep,name=region_search_list,json=regionSearchList,proto3" json:"region_search_list,omitempty"`
+ IsEntered bool `protobuf:"varint,7,opt,name=is_entered,json=isEntered,proto3" json:"is_entered,omitempty"`
+}
+
+func (x *RegionSearchInfo) Reset() {
+ *x = RegionSearchInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RegionSearchInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RegionSearchInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RegionSearchInfo) ProtoMessage() {}
+
+func (x *RegionSearchInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RegionSearchInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RegionSearchInfo.ProtoReflect.Descriptor instead.
+func (*RegionSearchInfo) Descriptor() ([]byte, []int) {
+ return file_RegionSearchInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RegionSearchInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *RegionSearchInfo) GetRegionSearchList() []*RegionSearch {
+ if x != nil {
+ return x.RegionSearchList
+ }
+ return nil
+}
+
+func (x *RegionSearchInfo) GetIsEntered() bool {
+ if x != nil {
+ return x.IsEntered
+ }
+ return false
+}
+
+var File_RegionSearchInfo_proto protoreflect.FileDescriptor
+
+var file_RegionSearchInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x12, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65,
+ 0x61, 0x72, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x12, 0x72, 0x65, 0x67, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
+ 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x09, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionSearchInfo_proto_rawDescOnce sync.Once
+ file_RegionSearchInfo_proto_rawDescData = file_RegionSearchInfo_proto_rawDesc
+)
+
+func file_RegionSearchInfo_proto_rawDescGZIP() []byte {
+ file_RegionSearchInfo_proto_rawDescOnce.Do(func() {
+ file_RegionSearchInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionSearchInfo_proto_rawDescData)
+ })
+ return file_RegionSearchInfo_proto_rawDescData
+}
+
+var file_RegionSearchInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RegionSearchInfo_proto_goTypes = []interface{}{
+ (*RegionSearchInfo)(nil), // 0: proto.RegionSearchInfo
+ (*RegionSearch)(nil), // 1: proto.RegionSearch
+}
+var file_RegionSearchInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RegionSearchInfo.region_search_list:type_name -> proto.RegionSearch
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RegionSearchInfo_proto_init() }
+func file_RegionSearchInfo_proto_init() {
+ if File_RegionSearchInfo_proto != nil {
+ return
+ }
+ file_RegionSearch_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RegionSearchInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegionSearchInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionSearchInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionSearchInfo_proto_goTypes,
+ DependencyIndexes: file_RegionSearchInfo_proto_depIdxs,
+ MessageInfos: file_RegionSearchInfo_proto_msgTypes,
+ }.Build()
+ File_RegionSearchInfo_proto = out.File
+ file_RegionSearchInfo_proto_rawDesc = nil
+ file_RegionSearchInfo_proto_goTypes = nil
+ file_RegionSearchInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionSearchNotify.pb.go b/protocol/proto/RegionSearchNotify.pb.go
new file mode 100644
index 00000000..8c9954b7
--- /dev/null
+++ b/protocol/proto/RegionSearchNotify.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionSearchNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5626
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RegionSearchNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RegionSearchList []*RegionSearchInfo `protobuf:"bytes,1,rep,name=region_search_list,json=regionSearchList,proto3" json:"region_search_list,omitempty"`
+ Uid uint32 `protobuf:"varint,8,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *RegionSearchNotify) Reset() {
+ *x = RegionSearchNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RegionSearchNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RegionSearchNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RegionSearchNotify) ProtoMessage() {}
+
+func (x *RegionSearchNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RegionSearchNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RegionSearchNotify.ProtoReflect.Descriptor instead.
+func (*RegionSearchNotify) Descriptor() ([]byte, []int) {
+ return file_RegionSearchNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RegionSearchNotify) GetRegionSearchList() []*RegionSearchInfo {
+ if x != nil {
+ return x.RegionSearchList
+ }
+ return nil
+}
+
+func (x *RegionSearchNotify) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_RegionSearchNotify_proto protoreflect.FileDescriptor
+
+var file_RegionSearchNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x12, 0x52, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x45, 0x0a, 0x12, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72,
+ 0x63, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionSearchNotify_proto_rawDescOnce sync.Once
+ file_RegionSearchNotify_proto_rawDescData = file_RegionSearchNotify_proto_rawDesc
+)
+
+func file_RegionSearchNotify_proto_rawDescGZIP() []byte {
+ file_RegionSearchNotify_proto_rawDescOnce.Do(func() {
+ file_RegionSearchNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionSearchNotify_proto_rawDescData)
+ })
+ return file_RegionSearchNotify_proto_rawDescData
+}
+
+var file_RegionSearchNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RegionSearchNotify_proto_goTypes = []interface{}{
+ (*RegionSearchNotify)(nil), // 0: proto.RegionSearchNotify
+ (*RegionSearchInfo)(nil), // 1: proto.RegionSearchInfo
+}
+var file_RegionSearchNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RegionSearchNotify.region_search_list:type_name -> proto.RegionSearchInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RegionSearchNotify_proto_init() }
+func file_RegionSearchNotify_proto_init() {
+ if File_RegionSearchNotify_proto != nil {
+ return
+ }
+ file_RegionSearchInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RegionSearchNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegionSearchNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionSearchNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionSearchNotify_proto_goTypes,
+ DependencyIndexes: file_RegionSearchNotify_proto_depIdxs,
+ MessageInfos: file_RegionSearchNotify_proto_msgTypes,
+ }.Build()
+ File_RegionSearchNotify_proto = out.File
+ file_RegionSearchNotify_proto_rawDesc = nil
+ file_RegionSearchNotify_proto_goTypes = nil
+ file_RegionSearchNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionSearchState.pb.go b/protocol/proto/RegionSearchState.pb.go
new file mode 100644
index 00000000..83bc4900
--- /dev/null
+++ b/protocol/proto/RegionSearchState.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionSearchState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RegionSearchState int32
+
+const (
+ RegionSearchState_REGION_SEARCH_STATE_NONE RegionSearchState = 0
+ RegionSearchState_REGION_SEARCH_STATE_UNSTARTED RegionSearchState = 1
+ RegionSearchState_REGION_SEARCH_STATE_STARTED RegionSearchState = 2
+ RegionSearchState_REGION_SEARCH_STATE_WAIT_REWARD RegionSearchState = 3
+ RegionSearchState_REGION_SEARCH_STATE_FINISHED RegionSearchState = 4
+)
+
+// Enum value maps for RegionSearchState.
+var (
+ RegionSearchState_name = map[int32]string{
+ 0: "REGION_SEARCH_STATE_NONE",
+ 1: "REGION_SEARCH_STATE_UNSTARTED",
+ 2: "REGION_SEARCH_STATE_STARTED",
+ 3: "REGION_SEARCH_STATE_WAIT_REWARD",
+ 4: "REGION_SEARCH_STATE_FINISHED",
+ }
+ RegionSearchState_value = map[string]int32{
+ "REGION_SEARCH_STATE_NONE": 0,
+ "REGION_SEARCH_STATE_UNSTARTED": 1,
+ "REGION_SEARCH_STATE_STARTED": 2,
+ "REGION_SEARCH_STATE_WAIT_REWARD": 3,
+ "REGION_SEARCH_STATE_FINISHED": 4,
+ }
+)
+
+func (x RegionSearchState) Enum() *RegionSearchState {
+ p := new(RegionSearchState)
+ *p = x
+ return p
+}
+
+func (x RegionSearchState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RegionSearchState) Descriptor() protoreflect.EnumDescriptor {
+ return file_RegionSearchState_proto_enumTypes[0].Descriptor()
+}
+
+func (RegionSearchState) Type() protoreflect.EnumType {
+ return &file_RegionSearchState_proto_enumTypes[0]
+}
+
+func (x RegionSearchState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RegionSearchState.Descriptor instead.
+func (RegionSearchState) EnumDescriptor() ([]byte, []int) {
+ return file_RegionSearchState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RegionSearchState_proto protoreflect.FileDescriptor
+
+var file_RegionSearchState_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2a, 0xbc, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63,
+ 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x53,
+ 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x54,
+ 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x47, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53,
+ 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x47, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x57, 0x41, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x03, 0x12, 0x20, 0x0a,
+ 0x1c, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53,
+ 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x04, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionSearchState_proto_rawDescOnce sync.Once
+ file_RegionSearchState_proto_rawDescData = file_RegionSearchState_proto_rawDesc
+)
+
+func file_RegionSearchState_proto_rawDescGZIP() []byte {
+ file_RegionSearchState_proto_rawDescOnce.Do(func() {
+ file_RegionSearchState_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionSearchState_proto_rawDescData)
+ })
+ return file_RegionSearchState_proto_rawDescData
+}
+
+var file_RegionSearchState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_RegionSearchState_proto_goTypes = []interface{}{
+ (RegionSearchState)(0), // 0: proto.RegionSearchState
+}
+var file_RegionSearchState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RegionSearchState_proto_init() }
+func file_RegionSearchState_proto_init() {
+ if File_RegionSearchState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionSearchState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionSearchState_proto_goTypes,
+ DependencyIndexes: file_RegionSearchState_proto_depIdxs,
+ EnumInfos: file_RegionSearchState_proto_enumTypes,
+ }.Build()
+ File_RegionSearchState_proto = out.File
+ file_RegionSearchState_proto_rawDesc = nil
+ file_RegionSearchState_proto_goTypes = nil
+ file_RegionSearchState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionSimpleInfo.pb.go b/protocol/proto/RegionSimpleInfo.pb.go
new file mode 100644
index 00000000..4d19c08a
--- /dev/null
+++ b/protocol/proto/RegionSimpleInfo.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionSimpleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RegionSimpleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
+ Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
+ DispatchUrl string `protobuf:"bytes,4,opt,name=dispatch_url,json=dispatchUrl,proto3" json:"dispatch_url,omitempty"`
+}
+
+func (x *RegionSimpleInfo) Reset() {
+ *x = RegionSimpleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RegionSimpleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RegionSimpleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RegionSimpleInfo) ProtoMessage() {}
+
+func (x *RegionSimpleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RegionSimpleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RegionSimpleInfo.ProtoReflect.Descriptor instead.
+func (*RegionSimpleInfo) Descriptor() ([]byte, []int) {
+ return file_RegionSimpleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RegionSimpleInfo) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *RegionSimpleInfo) GetTitle() string {
+ if x != nil {
+ return x.Title
+ }
+ return ""
+}
+
+func (x *RegionSimpleInfo) GetType() string {
+ if x != nil {
+ return x.Type
+ }
+ return ""
+}
+
+func (x *RegionSimpleInfo) GetDispatchUrl() string {
+ if x != nil {
+ return x.DispatchUrl
+ }
+ return ""
+}
+
+var File_RegionSimpleInfo_proto protoreflect.FileDescriptor
+
+var file_RegionSimpleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x73, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a,
+ 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x75, 0x72,
+ 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x61, 0x74, 0x63,
+ 0x68, 0x55, 0x72, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionSimpleInfo_proto_rawDescOnce sync.Once
+ file_RegionSimpleInfo_proto_rawDescData = file_RegionSimpleInfo_proto_rawDesc
+)
+
+func file_RegionSimpleInfo_proto_rawDescGZIP() []byte {
+ file_RegionSimpleInfo_proto_rawDescOnce.Do(func() {
+ file_RegionSimpleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionSimpleInfo_proto_rawDescData)
+ })
+ return file_RegionSimpleInfo_proto_rawDescData
+}
+
+var file_RegionSimpleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RegionSimpleInfo_proto_goTypes = []interface{}{
+ (*RegionSimpleInfo)(nil), // 0: proto.RegionSimpleInfo
+}
+var file_RegionSimpleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RegionSimpleInfo_proto_init() }
+func file_RegionSimpleInfo_proto_init() {
+ if File_RegionSimpleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RegionSimpleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegionSimpleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionSimpleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionSimpleInfo_proto_goTypes,
+ DependencyIndexes: file_RegionSimpleInfo_proto_depIdxs,
+ MessageInfos: file_RegionSimpleInfo_proto_msgTypes,
+ }.Build()
+ File_RegionSimpleInfo_proto = out.File
+ file_RegionSimpleInfo_proto_rawDesc = nil
+ file_RegionSimpleInfo_proto_goTypes = nil
+ file_RegionSimpleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionalPlayInfoNotify.pb.go b/protocol/proto/RegionalPlayInfoNotify.pb.go
new file mode 100644
index 00000000..e41a26c7
--- /dev/null
+++ b/protocol/proto/RegionalPlayInfoNotify.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionalPlayInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6276
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RegionalPlayInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ VarList []*RegionalPlayVar `protobuf:"bytes,5,rep,name=var_list,json=varList,proto3" json:"var_list,omitempty"`
+ PlayName string `protobuf:"bytes,9,opt,name=play_name,json=playName,proto3" json:"play_name,omitempty"`
+ IsEnabled bool `protobuf:"varint,15,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"`
+ PlayType uint32 `protobuf:"varint,7,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ IsInRegion bool `protobuf:"varint,4,opt,name=is_in_region,json=isInRegion,proto3" json:"is_in_region,omitempty"`
+}
+
+func (x *RegionalPlayInfoNotify) Reset() {
+ *x = RegionalPlayInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RegionalPlayInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RegionalPlayInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RegionalPlayInfoNotify) ProtoMessage() {}
+
+func (x *RegionalPlayInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RegionalPlayInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RegionalPlayInfoNotify.ProtoReflect.Descriptor instead.
+func (*RegionalPlayInfoNotify) Descriptor() ([]byte, []int) {
+ return file_RegionalPlayInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RegionalPlayInfoNotify) GetVarList() []*RegionalPlayVar {
+ if x != nil {
+ return x.VarList
+ }
+ return nil
+}
+
+func (x *RegionalPlayInfoNotify) GetPlayName() string {
+ if x != nil {
+ return x.PlayName
+ }
+ return ""
+}
+
+func (x *RegionalPlayInfoNotify) GetIsEnabled() bool {
+ if x != nil {
+ return x.IsEnabled
+ }
+ return false
+}
+
+func (x *RegionalPlayInfoNotify) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *RegionalPlayInfoNotify) GetIsInRegion() bool {
+ if x != nil {
+ return x.IsInRegion
+ }
+ return false
+}
+
+var File_RegionalPlayInfoNotify_proto protoreflect.FileDescriptor
+
+var file_RegionalPlayInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50,
+ 0x6c, 0x61, 0x79, 0x56, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x01, 0x0a,
+ 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x31, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x56, 0x61,
+ 0x72, 0x52, 0x07, 0x76, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c,
+ 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
+ 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e,
+ 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45,
+ 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x52,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionalPlayInfoNotify_proto_rawDescOnce sync.Once
+ file_RegionalPlayInfoNotify_proto_rawDescData = file_RegionalPlayInfoNotify_proto_rawDesc
+)
+
+func file_RegionalPlayInfoNotify_proto_rawDescGZIP() []byte {
+ file_RegionalPlayInfoNotify_proto_rawDescOnce.Do(func() {
+ file_RegionalPlayInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionalPlayInfoNotify_proto_rawDescData)
+ })
+ return file_RegionalPlayInfoNotify_proto_rawDescData
+}
+
+var file_RegionalPlayInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RegionalPlayInfoNotify_proto_goTypes = []interface{}{
+ (*RegionalPlayInfoNotify)(nil), // 0: proto.RegionalPlayInfoNotify
+ (*RegionalPlayVar)(nil), // 1: proto.RegionalPlayVar
+}
+var file_RegionalPlayInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RegionalPlayInfoNotify.var_list:type_name -> proto.RegionalPlayVar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RegionalPlayInfoNotify_proto_init() }
+func file_RegionalPlayInfoNotify_proto_init() {
+ if File_RegionalPlayInfoNotify_proto != nil {
+ return
+ }
+ file_RegionalPlayVar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RegionalPlayInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegionalPlayInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionalPlayInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionalPlayInfoNotify_proto_goTypes,
+ DependencyIndexes: file_RegionalPlayInfoNotify_proto_depIdxs,
+ MessageInfos: file_RegionalPlayInfoNotify_proto_msgTypes,
+ }.Build()
+ File_RegionalPlayInfoNotify_proto = out.File
+ file_RegionalPlayInfoNotify_proto_rawDesc = nil
+ file_RegionalPlayInfoNotify_proto_goTypes = nil
+ file_RegionalPlayInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RegionalPlayVar.pb.go b/protocol/proto/RegionalPlayVar.pb.go
new file mode 100644
index 00000000..e23ac9d9
--- /dev/null
+++ b/protocol/proto/RegionalPlayVar.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RegionalPlayVar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RegionalPlayVar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type uint32 `protobuf:"varint,15,opt,name=type,proto3" json:"type,omitempty"`
+ MaxValue float32 `protobuf:"fixed32,11,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"`
+ Value float32 `protobuf:"fixed32,3,opt,name=value,proto3" json:"value,omitempty"`
+ BaseValue float32 `protobuf:"fixed32,10,opt,name=base_value,json=baseValue,proto3" json:"base_value,omitempty"`
+}
+
+func (x *RegionalPlayVar) Reset() {
+ *x = RegionalPlayVar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RegionalPlayVar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RegionalPlayVar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RegionalPlayVar) ProtoMessage() {}
+
+func (x *RegionalPlayVar) ProtoReflect() protoreflect.Message {
+ mi := &file_RegionalPlayVar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RegionalPlayVar.ProtoReflect.Descriptor instead.
+func (*RegionalPlayVar) Descriptor() ([]byte, []int) {
+ return file_RegionalPlayVar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RegionalPlayVar) GetType() uint32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+func (x *RegionalPlayVar) GetMaxValue() float32 {
+ if x != nil {
+ return x.MaxValue
+ }
+ return 0
+}
+
+func (x *RegionalPlayVar) GetValue() float32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+func (x *RegionalPlayVar) GetBaseValue() float32 {
+ if x != nil {
+ return x.BaseValue
+ }
+ return 0
+}
+
+var File_RegionalPlayVar_proto protoreflect.FileDescriptor
+
+var file_RegionalPlayVar_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x56, 0x61,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77,
+ 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x56, 0x61,
+ 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65,
+ 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, 0x61,
+ 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RegionalPlayVar_proto_rawDescOnce sync.Once
+ file_RegionalPlayVar_proto_rawDescData = file_RegionalPlayVar_proto_rawDesc
+)
+
+func file_RegionalPlayVar_proto_rawDescGZIP() []byte {
+ file_RegionalPlayVar_proto_rawDescOnce.Do(func() {
+ file_RegionalPlayVar_proto_rawDescData = protoimpl.X.CompressGZIP(file_RegionalPlayVar_proto_rawDescData)
+ })
+ return file_RegionalPlayVar_proto_rawDescData
+}
+
+var file_RegionalPlayVar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RegionalPlayVar_proto_goTypes = []interface{}{
+ (*RegionalPlayVar)(nil), // 0: proto.RegionalPlayVar
+}
+var file_RegionalPlayVar_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RegionalPlayVar_proto_init() }
+func file_RegionalPlayVar_proto_init() {
+ if File_RegionalPlayVar_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RegionalPlayVar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RegionalPlayVar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RegionalPlayVar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RegionalPlayVar_proto_goTypes,
+ DependencyIndexes: file_RegionalPlayVar_proto_depIdxs,
+ MessageInfos: file_RegionalPlayVar_proto_msgTypes,
+ }.Build()
+ File_RegionalPlayVar_proto = out.File
+ file_RegionalPlayVar_proto_rawDesc = nil
+ file_RegionalPlayVar_proto_goTypes = nil
+ file_RegionalPlayVar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Reliquary.pb.go b/protocol/proto/Reliquary.pb.go
new file mode 100644
index 00000000..980125af
--- /dev/null
+++ b/protocol/proto/Reliquary.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Reliquary.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Reliquary struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
+ Exp uint32 `protobuf:"varint,2,opt,name=exp,proto3" json:"exp,omitempty"`
+ PromoteLevel uint32 `protobuf:"varint,3,opt,name=promote_level,json=promoteLevel,proto3" json:"promote_level,omitempty"`
+ MainPropId uint32 `protobuf:"varint,4,opt,name=main_prop_id,json=mainPropId,proto3" json:"main_prop_id,omitempty"`
+ AppendPropIdList []uint32 `protobuf:"varint,5,rep,packed,name=append_prop_id_list,json=appendPropIdList,proto3" json:"append_prop_id_list,omitempty"`
+}
+
+func (x *Reliquary) Reset() {
+ *x = Reliquary{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Reliquary_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Reliquary) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Reliquary) ProtoMessage() {}
+
+func (x *Reliquary) ProtoReflect() protoreflect.Message {
+ mi := &file_Reliquary_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Reliquary.ProtoReflect.Descriptor instead.
+func (*Reliquary) Descriptor() ([]byte, []int) {
+ return file_Reliquary_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Reliquary) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *Reliquary) GetExp() uint32 {
+ if x != nil {
+ return x.Exp
+ }
+ return 0
+}
+
+func (x *Reliquary) GetPromoteLevel() uint32 {
+ if x != nil {
+ return x.PromoteLevel
+ }
+ return 0
+}
+
+func (x *Reliquary) GetMainPropId() uint32 {
+ if x != nil {
+ return x.MainPropId
+ }
+ return 0
+}
+
+func (x *Reliquary) GetAppendPropIdList() []uint32 {
+ if x != nil {
+ return x.AppendPropIdList
+ }
+ return nil
+}
+
+var File_Reliquary_proto protoreflect.FileDescriptor
+
+var file_Reliquary_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x6c,
+ 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03,
+ 0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x23,
+ 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70,
+ 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x50,
+ 0x72, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f,
+ 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x10, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Reliquary_proto_rawDescOnce sync.Once
+ file_Reliquary_proto_rawDescData = file_Reliquary_proto_rawDesc
+)
+
+func file_Reliquary_proto_rawDescGZIP() []byte {
+ file_Reliquary_proto_rawDescOnce.Do(func() {
+ file_Reliquary_proto_rawDescData = protoimpl.X.CompressGZIP(file_Reliquary_proto_rawDescData)
+ })
+ return file_Reliquary_proto_rawDescData
+}
+
+var file_Reliquary_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Reliquary_proto_goTypes = []interface{}{
+ (*Reliquary)(nil), // 0: proto.Reliquary
+}
+var file_Reliquary_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_Reliquary_proto_init() }
+func file_Reliquary_proto_init() {
+ if File_Reliquary_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Reliquary_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Reliquary); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Reliquary_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Reliquary_proto_goTypes,
+ DependencyIndexes: file_Reliquary_proto_depIdxs,
+ MessageInfos: file_Reliquary_proto_msgTypes,
+ }.Build()
+ File_Reliquary_proto = out.File
+ file_Reliquary_proto_rawDesc = nil
+ file_Reliquary_proto_goTypes = nil
+ file_Reliquary_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReliquaryDecomposeReq.pb.go b/protocol/proto/ReliquaryDecomposeReq.pb.go
new file mode 100644
index 00000000..0b2d3784
--- /dev/null
+++ b/protocol/proto/ReliquaryDecomposeReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReliquaryDecomposeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 638
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReliquaryDecomposeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConfigId uint32 `protobuf:"varint,13,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ TargetCount uint32 `protobuf:"varint,9,opt,name=target_count,json=targetCount,proto3" json:"target_count,omitempty"`
+ GuidList []uint64 `protobuf:"varint,8,rep,packed,name=guid_list,json=guidList,proto3" json:"guid_list,omitempty"`
+}
+
+func (x *ReliquaryDecomposeReq) Reset() {
+ *x = ReliquaryDecomposeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReliquaryDecomposeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReliquaryDecomposeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReliquaryDecomposeReq) ProtoMessage() {}
+
+func (x *ReliquaryDecomposeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReliquaryDecomposeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReliquaryDecomposeReq.ProtoReflect.Descriptor instead.
+func (*ReliquaryDecomposeReq) Descriptor() ([]byte, []int) {
+ return file_ReliquaryDecomposeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReliquaryDecomposeReq) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *ReliquaryDecomposeReq) GetTargetCount() uint32 {
+ if x != nil {
+ return x.TargetCount
+ }
+ return 0
+}
+
+func (x *ReliquaryDecomposeReq) GetGuidList() []uint64 {
+ if x != nil {
+ return x.GuidList
+ }
+ return nil
+}
+
+var File_ReliquaryDecomposeReq_proto protoreflect.FileDescriptor
+
+var file_ReliquaryDecomposeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x44, 0x65, 0x63, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72,
+ 0x79, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a,
+ 0x09, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04,
+ 0x52, 0x08, 0x67, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReliquaryDecomposeReq_proto_rawDescOnce sync.Once
+ file_ReliquaryDecomposeReq_proto_rawDescData = file_ReliquaryDecomposeReq_proto_rawDesc
+)
+
+func file_ReliquaryDecomposeReq_proto_rawDescGZIP() []byte {
+ file_ReliquaryDecomposeReq_proto_rawDescOnce.Do(func() {
+ file_ReliquaryDecomposeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReliquaryDecomposeReq_proto_rawDescData)
+ })
+ return file_ReliquaryDecomposeReq_proto_rawDescData
+}
+
+var file_ReliquaryDecomposeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReliquaryDecomposeReq_proto_goTypes = []interface{}{
+ (*ReliquaryDecomposeReq)(nil), // 0: proto.ReliquaryDecomposeReq
+}
+var file_ReliquaryDecomposeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReliquaryDecomposeReq_proto_init() }
+func file_ReliquaryDecomposeReq_proto_init() {
+ if File_ReliquaryDecomposeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReliquaryDecomposeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReliquaryDecomposeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReliquaryDecomposeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReliquaryDecomposeReq_proto_goTypes,
+ DependencyIndexes: file_ReliquaryDecomposeReq_proto_depIdxs,
+ MessageInfos: file_ReliquaryDecomposeReq_proto_msgTypes,
+ }.Build()
+ File_ReliquaryDecomposeReq_proto = out.File
+ file_ReliquaryDecomposeReq_proto_rawDesc = nil
+ file_ReliquaryDecomposeReq_proto_goTypes = nil
+ file_ReliquaryDecomposeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReliquaryDecomposeRsp.pb.go b/protocol/proto/ReliquaryDecomposeRsp.pb.go
new file mode 100644
index 00000000..344988bf
--- /dev/null
+++ b/protocol/proto/ReliquaryDecomposeRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReliquaryDecomposeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 611
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReliquaryDecomposeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GuidList []uint64 `protobuf:"varint,14,rep,packed,name=guid_list,json=guidList,proto3" json:"guid_list,omitempty"`
+}
+
+func (x *ReliquaryDecomposeRsp) Reset() {
+ *x = ReliquaryDecomposeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReliquaryDecomposeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReliquaryDecomposeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReliquaryDecomposeRsp) ProtoMessage() {}
+
+func (x *ReliquaryDecomposeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReliquaryDecomposeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReliquaryDecomposeRsp.ProtoReflect.Descriptor instead.
+func (*ReliquaryDecomposeRsp) Descriptor() ([]byte, []int) {
+ return file_ReliquaryDecomposeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReliquaryDecomposeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ReliquaryDecomposeRsp) GetGuidList() []uint64 {
+ if x != nil {
+ return x.GuidList
+ }
+ return nil
+}
+
+var File_ReliquaryDecomposeRsp_proto protoreflect.FileDescriptor
+
+var file_ReliquaryDecomposeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x44, 0x65, 0x63, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x73, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72,
+ 0x79, 0x44, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x67, 0x75, 0x69, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReliquaryDecomposeRsp_proto_rawDescOnce sync.Once
+ file_ReliquaryDecomposeRsp_proto_rawDescData = file_ReliquaryDecomposeRsp_proto_rawDesc
+)
+
+func file_ReliquaryDecomposeRsp_proto_rawDescGZIP() []byte {
+ file_ReliquaryDecomposeRsp_proto_rawDescOnce.Do(func() {
+ file_ReliquaryDecomposeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReliquaryDecomposeRsp_proto_rawDescData)
+ })
+ return file_ReliquaryDecomposeRsp_proto_rawDescData
+}
+
+var file_ReliquaryDecomposeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReliquaryDecomposeRsp_proto_goTypes = []interface{}{
+ (*ReliquaryDecomposeRsp)(nil), // 0: proto.ReliquaryDecomposeRsp
+}
+var file_ReliquaryDecomposeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReliquaryDecomposeRsp_proto_init() }
+func file_ReliquaryDecomposeRsp_proto_init() {
+ if File_ReliquaryDecomposeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReliquaryDecomposeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReliquaryDecomposeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReliquaryDecomposeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReliquaryDecomposeRsp_proto_goTypes,
+ DependencyIndexes: file_ReliquaryDecomposeRsp_proto_depIdxs,
+ MessageInfos: file_ReliquaryDecomposeRsp_proto_msgTypes,
+ }.Build()
+ File_ReliquaryDecomposeRsp_proto = out.File
+ file_ReliquaryDecomposeRsp_proto_rawDesc = nil
+ file_ReliquaryDecomposeRsp_proto_goTypes = nil
+ file_ReliquaryDecomposeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReliquaryPromoteReq.pb.go b/protocol/proto/ReliquaryPromoteReq.pb.go
new file mode 100644
index 00000000..25accf1d
--- /dev/null
+++ b/protocol/proto/ReliquaryPromoteReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReliquaryPromoteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 627
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReliquaryPromoteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemGuid uint64 `protobuf:"varint,10,opt,name=item_guid,json=itemGuid,proto3" json:"item_guid,omitempty"`
+ TargetGuid uint64 `protobuf:"varint,13,opt,name=target_guid,json=targetGuid,proto3" json:"target_guid,omitempty"`
+}
+
+func (x *ReliquaryPromoteReq) Reset() {
+ *x = ReliquaryPromoteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReliquaryPromoteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReliquaryPromoteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReliquaryPromoteReq) ProtoMessage() {}
+
+func (x *ReliquaryPromoteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReliquaryPromoteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReliquaryPromoteReq.ProtoReflect.Descriptor instead.
+func (*ReliquaryPromoteReq) Descriptor() ([]byte, []int) {
+ return file_ReliquaryPromoteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReliquaryPromoteReq) GetItemGuid() uint64 {
+ if x != nil {
+ return x.ItemGuid
+ }
+ return 0
+}
+
+func (x *ReliquaryPromoteReq) GetTargetGuid() uint64 {
+ if x != nil {
+ return x.TargetGuid
+ }
+ return 0
+}
+
+var File_ReliquaryPromoteReq_proto protoreflect.FileDescriptor
+
+var file_ReliquaryPromoteReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f,
+ 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x50,
+ 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x74,
+ 0x65, 0x6d, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReliquaryPromoteReq_proto_rawDescOnce sync.Once
+ file_ReliquaryPromoteReq_proto_rawDescData = file_ReliquaryPromoteReq_proto_rawDesc
+)
+
+func file_ReliquaryPromoteReq_proto_rawDescGZIP() []byte {
+ file_ReliquaryPromoteReq_proto_rawDescOnce.Do(func() {
+ file_ReliquaryPromoteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReliquaryPromoteReq_proto_rawDescData)
+ })
+ return file_ReliquaryPromoteReq_proto_rawDescData
+}
+
+var file_ReliquaryPromoteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReliquaryPromoteReq_proto_goTypes = []interface{}{
+ (*ReliquaryPromoteReq)(nil), // 0: proto.ReliquaryPromoteReq
+}
+var file_ReliquaryPromoteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReliquaryPromoteReq_proto_init() }
+func file_ReliquaryPromoteReq_proto_init() {
+ if File_ReliquaryPromoteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReliquaryPromoteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReliquaryPromoteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReliquaryPromoteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReliquaryPromoteReq_proto_goTypes,
+ DependencyIndexes: file_ReliquaryPromoteReq_proto_depIdxs,
+ MessageInfos: file_ReliquaryPromoteReq_proto_msgTypes,
+ }.Build()
+ File_ReliquaryPromoteReq_proto = out.File
+ file_ReliquaryPromoteReq_proto_rawDesc = nil
+ file_ReliquaryPromoteReq_proto_goTypes = nil
+ file_ReliquaryPromoteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReliquaryPromoteRsp.pb.go b/protocol/proto/ReliquaryPromoteRsp.pb.go
new file mode 100644
index 00000000..d749ad3e
--- /dev/null
+++ b/protocol/proto/ReliquaryPromoteRsp.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReliquaryPromoteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 694
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReliquaryPromoteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OldPromoteLevel uint32 `protobuf:"varint,10,opt,name=old_promote_level,json=oldPromoteLevel,proto3" json:"old_promote_level,omitempty"`
+ TargetReliquaryGuid uint64 `protobuf:"varint,6,opt,name=target_reliquary_guid,json=targetReliquaryGuid,proto3" json:"target_reliquary_guid,omitempty"`
+ CurAppendPropList []uint32 `protobuf:"varint,9,rep,packed,name=cur_append_prop_list,json=curAppendPropList,proto3" json:"cur_append_prop_list,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CurPromoteLevel uint32 `protobuf:"varint,2,opt,name=cur_promote_level,json=curPromoteLevel,proto3" json:"cur_promote_level,omitempty"`
+ OldAppendPropList []uint32 `protobuf:"varint,8,rep,packed,name=old_append_prop_list,json=oldAppendPropList,proto3" json:"old_append_prop_list,omitempty"`
+}
+
+func (x *ReliquaryPromoteRsp) Reset() {
+ *x = ReliquaryPromoteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReliquaryPromoteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReliquaryPromoteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReliquaryPromoteRsp) ProtoMessage() {}
+
+func (x *ReliquaryPromoteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReliquaryPromoteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReliquaryPromoteRsp.ProtoReflect.Descriptor instead.
+func (*ReliquaryPromoteRsp) Descriptor() ([]byte, []int) {
+ return file_ReliquaryPromoteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReliquaryPromoteRsp) GetOldPromoteLevel() uint32 {
+ if x != nil {
+ return x.OldPromoteLevel
+ }
+ return 0
+}
+
+func (x *ReliquaryPromoteRsp) GetTargetReliquaryGuid() uint64 {
+ if x != nil {
+ return x.TargetReliquaryGuid
+ }
+ return 0
+}
+
+func (x *ReliquaryPromoteRsp) GetCurAppendPropList() []uint32 {
+ if x != nil {
+ return x.CurAppendPropList
+ }
+ return nil
+}
+
+func (x *ReliquaryPromoteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ReliquaryPromoteRsp) GetCurPromoteLevel() uint32 {
+ if x != nil {
+ return x.CurPromoteLevel
+ }
+ return 0
+}
+
+func (x *ReliquaryPromoteRsp) GetOldAppendPropList() []uint32 {
+ if x != nil {
+ return x.OldAppendPropList
+ }
+ return nil
+}
+
+var File_ReliquaryPromoteRsp_proto protoreflect.FileDescriptor
+
+var file_ReliquaryPromoteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6d, 0x6f,
+ 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x9d, 0x02, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79,
+ 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x6c,
+ 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6f, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74,
+ 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c,
+ 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x47, 0x75, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x75,
+ 0x72, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x75, 0x72, 0x41, 0x70, 0x70,
+ 0x65, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f,
+ 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0f, 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x2f, 0x0a, 0x14, 0x6f, 0x6c, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f,
+ 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x11, 0x6f, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReliquaryPromoteRsp_proto_rawDescOnce sync.Once
+ file_ReliquaryPromoteRsp_proto_rawDescData = file_ReliquaryPromoteRsp_proto_rawDesc
+)
+
+func file_ReliquaryPromoteRsp_proto_rawDescGZIP() []byte {
+ file_ReliquaryPromoteRsp_proto_rawDescOnce.Do(func() {
+ file_ReliquaryPromoteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReliquaryPromoteRsp_proto_rawDescData)
+ })
+ return file_ReliquaryPromoteRsp_proto_rawDescData
+}
+
+var file_ReliquaryPromoteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReliquaryPromoteRsp_proto_goTypes = []interface{}{
+ (*ReliquaryPromoteRsp)(nil), // 0: proto.ReliquaryPromoteRsp
+}
+var file_ReliquaryPromoteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReliquaryPromoteRsp_proto_init() }
+func file_ReliquaryPromoteRsp_proto_init() {
+ if File_ReliquaryPromoteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReliquaryPromoteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReliquaryPromoteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReliquaryPromoteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReliquaryPromoteRsp_proto_goTypes,
+ DependencyIndexes: file_ReliquaryPromoteRsp_proto_depIdxs,
+ MessageInfos: file_ReliquaryPromoteRsp_proto_msgTypes,
+ }.Build()
+ File_ReliquaryPromoteRsp_proto = out.File
+ file_ReliquaryPromoteRsp_proto_rawDesc = nil
+ file_ReliquaryPromoteRsp_proto_goTypes = nil
+ file_ReliquaryPromoteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReliquaryUpgradeReq.pb.go b/protocol/proto/ReliquaryUpgradeReq.pb.go
new file mode 100644
index 00000000..0296a3f8
--- /dev/null
+++ b/protocol/proto/ReliquaryUpgradeReq.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReliquaryUpgradeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 604
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReliquaryUpgradeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemParamList []*ItemParam `protobuf:"bytes,11,rep,name=item_param_list,json=itemParamList,proto3" json:"item_param_list,omitempty"`
+ TargetReliquaryGuid uint64 `protobuf:"varint,6,opt,name=target_reliquary_guid,json=targetReliquaryGuid,proto3" json:"target_reliquary_guid,omitempty"`
+ FoodReliquaryGuidList []uint64 `protobuf:"varint,12,rep,packed,name=food_reliquary_guid_list,json=foodReliquaryGuidList,proto3" json:"food_reliquary_guid_list,omitempty"`
+}
+
+func (x *ReliquaryUpgradeReq) Reset() {
+ *x = ReliquaryUpgradeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReliquaryUpgradeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReliquaryUpgradeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReliquaryUpgradeReq) ProtoMessage() {}
+
+func (x *ReliquaryUpgradeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReliquaryUpgradeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReliquaryUpgradeReq.ProtoReflect.Descriptor instead.
+func (*ReliquaryUpgradeReq) Descriptor() ([]byte, []int) {
+ return file_ReliquaryUpgradeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReliquaryUpgradeReq) GetItemParamList() []*ItemParam {
+ if x != nil {
+ return x.ItemParamList
+ }
+ return nil
+}
+
+func (x *ReliquaryUpgradeReq) GetTargetReliquaryGuid() uint64 {
+ if x != nil {
+ return x.TargetReliquaryGuid
+ }
+ return 0
+}
+
+func (x *ReliquaryUpgradeReq) GetFoodReliquaryGuidList() []uint64 {
+ if x != nil {
+ return x.FoodReliquaryGuidList
+ }
+ return nil
+}
+
+var File_ReliquaryUpgradeReq_proto protoreflect.FileDescriptor
+
+var file_ReliquaryUpgradeReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61,
+ 0x64, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72,
+ 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x0f, 0x69,
+ 0x74, 0x65, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69,
+ 0x71, 0x75, 0x61, 0x72, 0x79, 0x47, 0x75, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x66, 0x6f, 0x6f,
+ 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x04, 0x52, 0x15, 0x66, 0x6f, 0x6f,
+ 0x64, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReliquaryUpgradeReq_proto_rawDescOnce sync.Once
+ file_ReliquaryUpgradeReq_proto_rawDescData = file_ReliquaryUpgradeReq_proto_rawDesc
+)
+
+func file_ReliquaryUpgradeReq_proto_rawDescGZIP() []byte {
+ file_ReliquaryUpgradeReq_proto_rawDescOnce.Do(func() {
+ file_ReliquaryUpgradeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReliquaryUpgradeReq_proto_rawDescData)
+ })
+ return file_ReliquaryUpgradeReq_proto_rawDescData
+}
+
+var file_ReliquaryUpgradeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReliquaryUpgradeReq_proto_goTypes = []interface{}{
+ (*ReliquaryUpgradeReq)(nil), // 0: proto.ReliquaryUpgradeReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_ReliquaryUpgradeReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ReliquaryUpgradeReq.item_param_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ReliquaryUpgradeReq_proto_init() }
+func file_ReliquaryUpgradeReq_proto_init() {
+ if File_ReliquaryUpgradeReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReliquaryUpgradeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReliquaryUpgradeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReliquaryUpgradeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReliquaryUpgradeReq_proto_goTypes,
+ DependencyIndexes: file_ReliquaryUpgradeReq_proto_depIdxs,
+ MessageInfos: file_ReliquaryUpgradeReq_proto_msgTypes,
+ }.Build()
+ File_ReliquaryUpgradeReq_proto = out.File
+ file_ReliquaryUpgradeReq_proto_rawDesc = nil
+ file_ReliquaryUpgradeReq_proto_goTypes = nil
+ file_ReliquaryUpgradeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReliquaryUpgradeRsp.pb.go b/protocol/proto/ReliquaryUpgradeRsp.pb.go
new file mode 100644
index 00000000..aa6c57c1
--- /dev/null
+++ b/protocol/proto/ReliquaryUpgradeRsp.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReliquaryUpgradeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 693
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReliquaryUpgradeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OldLevel uint32 `protobuf:"varint,4,opt,name=old_level,json=oldLevel,proto3" json:"old_level,omitempty"`
+ CurLevel uint32 `protobuf:"varint,13,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+ TargetReliquaryGuid uint64 `protobuf:"varint,9,opt,name=target_reliquary_guid,json=targetReliquaryGuid,proto3" json:"target_reliquary_guid,omitempty"`
+ CurAppendPropList []uint32 `protobuf:"varint,2,rep,packed,name=cur_append_prop_list,json=curAppendPropList,proto3" json:"cur_append_prop_list,omitempty"`
+ PowerUpRate uint32 `protobuf:"varint,6,opt,name=power_up_rate,json=powerUpRate,proto3" json:"power_up_rate,omitempty"`
+ OldAppendPropList []uint32 `protobuf:"varint,15,rep,packed,name=old_append_prop_list,json=oldAppendPropList,proto3" json:"old_append_prop_list,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ReliquaryUpgradeRsp) Reset() {
+ *x = ReliquaryUpgradeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReliquaryUpgradeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReliquaryUpgradeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReliquaryUpgradeRsp) ProtoMessage() {}
+
+func (x *ReliquaryUpgradeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReliquaryUpgradeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReliquaryUpgradeRsp.ProtoReflect.Descriptor instead.
+func (*ReliquaryUpgradeRsp) Descriptor() ([]byte, []int) {
+ return file_ReliquaryUpgradeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReliquaryUpgradeRsp) GetOldLevel() uint32 {
+ if x != nil {
+ return x.OldLevel
+ }
+ return 0
+}
+
+func (x *ReliquaryUpgradeRsp) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+func (x *ReliquaryUpgradeRsp) GetTargetReliquaryGuid() uint64 {
+ if x != nil {
+ return x.TargetReliquaryGuid
+ }
+ return 0
+}
+
+func (x *ReliquaryUpgradeRsp) GetCurAppendPropList() []uint32 {
+ if x != nil {
+ return x.CurAppendPropList
+ }
+ return nil
+}
+
+func (x *ReliquaryUpgradeRsp) GetPowerUpRate() uint32 {
+ if x != nil {
+ return x.PowerUpRate
+ }
+ return 0
+}
+
+func (x *ReliquaryUpgradeRsp) GetOldAppendPropList() []uint32 {
+ if x != nil {
+ return x.OldAppendPropList
+ }
+ return nil
+}
+
+func (x *ReliquaryUpgradeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ReliquaryUpgradeRsp_proto protoreflect.FileDescriptor
+
+var file_ReliquaryUpgradeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61,
+ 0x64, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xa3, 0x02, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79,
+ 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6c,
+ 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f,
+ 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72,
+ 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x71,
+ 0x75, 0x61, 0x72, 0x79, 0x47, 0x75, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x63, 0x75, 0x72, 0x5f,
+ 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x75, 0x72, 0x41, 0x70, 0x70, 0x65, 0x6e,
+ 0x64, 0x50, 0x72, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x6f, 0x77,
+ 0x65, 0x72, 0x5f, 0x75, 0x70, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x55, 0x70, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a,
+ 0x14, 0x6f, 0x6c, 0x64, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x6c, 0x64,
+ 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReliquaryUpgradeRsp_proto_rawDescOnce sync.Once
+ file_ReliquaryUpgradeRsp_proto_rawDescData = file_ReliquaryUpgradeRsp_proto_rawDesc
+)
+
+func file_ReliquaryUpgradeRsp_proto_rawDescGZIP() []byte {
+ file_ReliquaryUpgradeRsp_proto_rawDescOnce.Do(func() {
+ file_ReliquaryUpgradeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReliquaryUpgradeRsp_proto_rawDescData)
+ })
+ return file_ReliquaryUpgradeRsp_proto_rawDescData
+}
+
+var file_ReliquaryUpgradeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReliquaryUpgradeRsp_proto_goTypes = []interface{}{
+ (*ReliquaryUpgradeRsp)(nil), // 0: proto.ReliquaryUpgradeRsp
+}
+var file_ReliquaryUpgradeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReliquaryUpgradeRsp_proto_init() }
+func file_ReliquaryUpgradeRsp_proto_init() {
+ if File_ReliquaryUpgradeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReliquaryUpgradeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReliquaryUpgradeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReliquaryUpgradeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReliquaryUpgradeRsp_proto_goTypes,
+ DependencyIndexes: file_ReliquaryUpgradeRsp_proto_depIdxs,
+ MessageInfos: file_ReliquaryUpgradeRsp_proto_msgTypes,
+ }.Build()
+ File_ReliquaryUpgradeRsp_proto = out.File
+ file_ReliquaryUpgradeRsp_proto_rawDesc = nil
+ file_ReliquaryUpgradeRsp_proto_goTypes = nil
+ file_ReliquaryUpgradeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RemotePlayerWidgetNotify.pb.go b/protocol/proto/RemotePlayerWidgetNotify.pb.go
new file mode 100644
index 00000000..7d7747ca
--- /dev/null
+++ b/protocol/proto/RemotePlayerWidgetNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RemotePlayerWidgetNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5995
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RemotePlayerWidgetNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerWidgetInfoList []*PlayerWidgetInfo `protobuf:"bytes,3,rep,name=player_widget_info_list,json=playerWidgetInfoList,proto3" json:"player_widget_info_list,omitempty"`
+}
+
+func (x *RemotePlayerWidgetNotify) Reset() {
+ *x = RemotePlayerWidgetNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RemotePlayerWidgetNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RemotePlayerWidgetNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemotePlayerWidgetNotify) ProtoMessage() {}
+
+func (x *RemotePlayerWidgetNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RemotePlayerWidgetNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemotePlayerWidgetNotify.ProtoReflect.Descriptor instead.
+func (*RemotePlayerWidgetNotify) Descriptor() ([]byte, []int) {
+ return file_RemotePlayerWidgetNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RemotePlayerWidgetNotify) GetPlayerWidgetInfoList() []*PlayerWidgetInfo {
+ if x != nil {
+ return x.PlayerWidgetInfoList
+ }
+ return nil
+}
+
+var File_RemotePlayerWidgetNotify_proto protoreflect.FileDescriptor
+
+var file_RemotePlayerWidgetNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x6a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x4e, 0x0a, 0x17, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x69, 0x64, 0x67, 0x65,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x69, 0x64,
+ 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RemotePlayerWidgetNotify_proto_rawDescOnce sync.Once
+ file_RemotePlayerWidgetNotify_proto_rawDescData = file_RemotePlayerWidgetNotify_proto_rawDesc
+)
+
+func file_RemotePlayerWidgetNotify_proto_rawDescGZIP() []byte {
+ file_RemotePlayerWidgetNotify_proto_rawDescOnce.Do(func() {
+ file_RemotePlayerWidgetNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RemotePlayerWidgetNotify_proto_rawDescData)
+ })
+ return file_RemotePlayerWidgetNotify_proto_rawDescData
+}
+
+var file_RemotePlayerWidgetNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RemotePlayerWidgetNotify_proto_goTypes = []interface{}{
+ (*RemotePlayerWidgetNotify)(nil), // 0: proto.RemotePlayerWidgetNotify
+ (*PlayerWidgetInfo)(nil), // 1: proto.PlayerWidgetInfo
+}
+var file_RemotePlayerWidgetNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RemotePlayerWidgetNotify.player_widget_info_list:type_name -> proto.PlayerWidgetInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RemotePlayerWidgetNotify_proto_init() }
+func file_RemotePlayerWidgetNotify_proto_init() {
+ if File_RemotePlayerWidgetNotify_proto != nil {
+ return
+ }
+ file_PlayerWidgetInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RemotePlayerWidgetNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RemotePlayerWidgetNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RemotePlayerWidgetNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RemotePlayerWidgetNotify_proto_goTypes,
+ DependencyIndexes: file_RemotePlayerWidgetNotify_proto_depIdxs,
+ MessageInfos: file_RemotePlayerWidgetNotify_proto_msgTypes,
+ }.Build()
+ File_RemotePlayerWidgetNotify_proto = out.File
+ file_RemotePlayerWidgetNotify_proto_rawDesc = nil
+ file_RemotePlayerWidgetNotify_proto_goTypes = nil
+ file_RemotePlayerWidgetNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RemoveBlacklistReq.pb.go b/protocol/proto/RemoveBlacklistReq.pb.go
new file mode 100644
index 00000000..7b6e07fc
--- /dev/null
+++ b/protocol/proto/RemoveBlacklistReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RemoveBlacklistReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4063
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RemoveBlacklistReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,13,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *RemoveBlacklistReq) Reset() {
+ *x = RemoveBlacklistReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RemoveBlacklistReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RemoveBlacklistReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoveBlacklistReq) ProtoMessage() {}
+
+func (x *RemoveBlacklistReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RemoveBlacklistReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemoveBlacklistReq.ProtoReflect.Descriptor instead.
+func (*RemoveBlacklistReq) Descriptor() ([]byte, []int) {
+ return file_RemoveBlacklistReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RemoveBlacklistReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_RemoveBlacklistReq_proto protoreflect.FileDescriptor
+
+var file_RemoveBlacklistReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x33, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b,
+ 0x6c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RemoveBlacklistReq_proto_rawDescOnce sync.Once
+ file_RemoveBlacklistReq_proto_rawDescData = file_RemoveBlacklistReq_proto_rawDesc
+)
+
+func file_RemoveBlacklistReq_proto_rawDescGZIP() []byte {
+ file_RemoveBlacklistReq_proto_rawDescOnce.Do(func() {
+ file_RemoveBlacklistReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RemoveBlacklistReq_proto_rawDescData)
+ })
+ return file_RemoveBlacklistReq_proto_rawDescData
+}
+
+var file_RemoveBlacklistReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RemoveBlacklistReq_proto_goTypes = []interface{}{
+ (*RemoveBlacklistReq)(nil), // 0: proto.RemoveBlacklistReq
+}
+var file_RemoveBlacklistReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RemoveBlacklistReq_proto_init() }
+func file_RemoveBlacklistReq_proto_init() {
+ if File_RemoveBlacklistReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RemoveBlacklistReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RemoveBlacklistReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RemoveBlacklistReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RemoveBlacklistReq_proto_goTypes,
+ DependencyIndexes: file_RemoveBlacklistReq_proto_depIdxs,
+ MessageInfos: file_RemoveBlacklistReq_proto_msgTypes,
+ }.Build()
+ File_RemoveBlacklistReq_proto = out.File
+ file_RemoveBlacklistReq_proto_rawDesc = nil
+ file_RemoveBlacklistReq_proto_goTypes = nil
+ file_RemoveBlacklistReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RemoveBlacklistRsp.pb.go b/protocol/proto/RemoveBlacklistRsp.pb.go
new file mode 100644
index 00000000..98a3fca1
--- /dev/null
+++ b/protocol/proto/RemoveBlacklistRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RemoveBlacklistRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4095
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RemoveBlacklistRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetUid uint32 `protobuf:"varint,7,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *RemoveBlacklistRsp) Reset() {
+ *x = RemoveBlacklistRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RemoveBlacklistRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RemoveBlacklistRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoveBlacklistRsp) ProtoMessage() {}
+
+func (x *RemoveBlacklistRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RemoveBlacklistRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemoveBlacklistRsp.ProtoReflect.Descriptor instead.
+func (*RemoveBlacklistRsp) Descriptor() ([]byte, []int) {
+ return file_RemoveBlacklistRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RemoveBlacklistRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *RemoveBlacklistRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_RemoveBlacklistRsp_proto protoreflect.FileDescriptor
+
+var file_RemoveBlacklistRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x4d, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b,
+ 0x6c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RemoveBlacklistRsp_proto_rawDescOnce sync.Once
+ file_RemoveBlacklistRsp_proto_rawDescData = file_RemoveBlacklistRsp_proto_rawDesc
+)
+
+func file_RemoveBlacklistRsp_proto_rawDescGZIP() []byte {
+ file_RemoveBlacklistRsp_proto_rawDescOnce.Do(func() {
+ file_RemoveBlacklistRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RemoveBlacklistRsp_proto_rawDescData)
+ })
+ return file_RemoveBlacklistRsp_proto_rawDescData
+}
+
+var file_RemoveBlacklistRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RemoveBlacklistRsp_proto_goTypes = []interface{}{
+ (*RemoveBlacklistRsp)(nil), // 0: proto.RemoveBlacklistRsp
+}
+var file_RemoveBlacklistRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RemoveBlacklistRsp_proto_init() }
+func file_RemoveBlacklistRsp_proto_init() {
+ if File_RemoveBlacklistRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RemoveBlacklistRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RemoveBlacklistRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RemoveBlacklistRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RemoveBlacklistRsp_proto_goTypes,
+ DependencyIndexes: file_RemoveBlacklistRsp_proto_depIdxs,
+ MessageInfos: file_RemoveBlacklistRsp_proto_msgTypes,
+ }.Build()
+ File_RemoveBlacklistRsp_proto = out.File
+ file_RemoveBlacklistRsp_proto_rawDesc = nil
+ file_RemoveBlacklistRsp_proto_goTypes = nil
+ file_RemoveBlacklistRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RemoveCustomDungeonReq.pb.go b/protocol/proto/RemoveCustomDungeonReq.pb.go
new file mode 100644
index 00000000..005d54f0
--- /dev/null
+++ b/protocol/proto/RemoveCustomDungeonReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RemoveCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6249
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RemoveCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonGuid uint64 `protobuf:"varint,14,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+}
+
+func (x *RemoveCustomDungeonReq) Reset() {
+ *x = RemoveCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RemoveCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RemoveCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoveCustomDungeonReq) ProtoMessage() {}
+
+func (x *RemoveCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RemoveCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemoveCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*RemoveCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_RemoveCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RemoveCustomDungeonReq) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+var File_RemoveCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_RemoveCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12,
+ 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75,
+ 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RemoveCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_RemoveCustomDungeonReq_proto_rawDescData = file_RemoveCustomDungeonReq_proto_rawDesc
+)
+
+func file_RemoveCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_RemoveCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_RemoveCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RemoveCustomDungeonReq_proto_rawDescData)
+ })
+ return file_RemoveCustomDungeonReq_proto_rawDescData
+}
+
+var file_RemoveCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RemoveCustomDungeonReq_proto_goTypes = []interface{}{
+ (*RemoveCustomDungeonReq)(nil), // 0: proto.RemoveCustomDungeonReq
+}
+var file_RemoveCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RemoveCustomDungeonReq_proto_init() }
+func file_RemoveCustomDungeonReq_proto_init() {
+ if File_RemoveCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RemoveCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RemoveCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RemoveCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RemoveCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_RemoveCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_RemoveCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_RemoveCustomDungeonReq_proto = out.File
+ file_RemoveCustomDungeonReq_proto_rawDesc = nil
+ file_RemoveCustomDungeonReq_proto_goTypes = nil
+ file_RemoveCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RemoveCustomDungeonRsp.pb.go b/protocol/proto/RemoveCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..5e90f207
--- /dev/null
+++ b/protocol/proto/RemoveCustomDungeonRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RemoveCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6220
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RemoveCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,11,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+}
+
+func (x *RemoveCustomDungeonRsp) Reset() {
+ *x = RemoveCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RemoveCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RemoveCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoveCustomDungeonRsp) ProtoMessage() {}
+
+func (x *RemoveCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RemoveCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemoveCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*RemoveCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_RemoveCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RemoveCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *RemoveCustomDungeonRsp) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+var File_RemoveCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_RemoveCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RemoveCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_RemoveCustomDungeonRsp_proto_rawDescData = file_RemoveCustomDungeonRsp_proto_rawDesc
+)
+
+func file_RemoveCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_RemoveCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_RemoveCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RemoveCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_RemoveCustomDungeonRsp_proto_rawDescData
+}
+
+var file_RemoveCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RemoveCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*RemoveCustomDungeonRsp)(nil), // 0: proto.RemoveCustomDungeonRsp
+}
+var file_RemoveCustomDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RemoveCustomDungeonRsp_proto_init() }
+func file_RemoveCustomDungeonRsp_proto_init() {
+ if File_RemoveCustomDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RemoveCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RemoveCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RemoveCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RemoveCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_RemoveCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_RemoveCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_RemoveCustomDungeonRsp_proto = out.File
+ file_RemoveCustomDungeonRsp_proto_rawDesc = nil
+ file_RemoveCustomDungeonRsp_proto_goTypes = nil
+ file_RemoveCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RemoveRandTaskInfoNotify.pb.go b/protocol/proto/RemoveRandTaskInfoNotify.pb.go
new file mode 100644
index 00000000..64ca9f37
--- /dev/null
+++ b/protocol/proto/RemoveRandTaskInfoNotify.pb.go
@@ -0,0 +1,249 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RemoveRandTaskInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RemoveRandTaskInfoNotify_FinishReason int32
+
+const (
+ RemoveRandTaskInfoNotify_FINISH_REASON_DEFAULT RemoveRandTaskInfoNotify_FinishReason = 0
+ RemoveRandTaskInfoNotify_FINISH_REASON_CLEAR RemoveRandTaskInfoNotify_FinishReason = 1
+ RemoveRandTaskInfoNotify_FINISH_REASON_DISTANCE RemoveRandTaskInfoNotify_FinishReason = 2
+ RemoveRandTaskInfoNotify_FINISH_REASON_FINISH RemoveRandTaskInfoNotify_FinishReason = 3
+)
+
+// Enum value maps for RemoveRandTaskInfoNotify_FinishReason.
+var (
+ RemoveRandTaskInfoNotify_FinishReason_name = map[int32]string{
+ 0: "FINISH_REASON_DEFAULT",
+ 1: "FINISH_REASON_CLEAR",
+ 2: "FINISH_REASON_DISTANCE",
+ 3: "FINISH_REASON_FINISH",
+ }
+ RemoveRandTaskInfoNotify_FinishReason_value = map[string]int32{
+ "FINISH_REASON_DEFAULT": 0,
+ "FINISH_REASON_CLEAR": 1,
+ "FINISH_REASON_DISTANCE": 2,
+ "FINISH_REASON_FINISH": 3,
+ }
+)
+
+func (x RemoveRandTaskInfoNotify_FinishReason) Enum() *RemoveRandTaskInfoNotify_FinishReason {
+ p := new(RemoveRandTaskInfoNotify_FinishReason)
+ *p = x
+ return p
+}
+
+func (x RemoveRandTaskInfoNotify_FinishReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RemoveRandTaskInfoNotify_FinishReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_RemoveRandTaskInfoNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (RemoveRandTaskInfoNotify_FinishReason) Type() protoreflect.EnumType {
+ return &file_RemoveRandTaskInfoNotify_proto_enumTypes[0]
+}
+
+func (x RemoveRandTaskInfoNotify_FinishReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RemoveRandTaskInfoNotify_FinishReason.Descriptor instead.
+func (RemoveRandTaskInfoNotify_FinishReason) EnumDescriptor() ([]byte, []int) {
+ return file_RemoveRandTaskInfoNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 161
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RemoveRandTaskInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSucc bool `protobuf:"varint,9,opt,name=is_succ,json=isSucc,proto3" json:"is_succ,omitempty"`
+ Reason RemoveRandTaskInfoNotify_FinishReason `protobuf:"varint,10,opt,name=reason,proto3,enum=proto.RemoveRandTaskInfoNotify_FinishReason" json:"reason,omitempty"`
+ RandTaskId uint32 `protobuf:"varint,13,opt,name=rand_task_id,json=randTaskId,proto3" json:"rand_task_id,omitempty"`
+}
+
+func (x *RemoveRandTaskInfoNotify) Reset() {
+ *x = RemoveRandTaskInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RemoveRandTaskInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RemoveRandTaskInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RemoveRandTaskInfoNotify) ProtoMessage() {}
+
+func (x *RemoveRandTaskInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RemoveRandTaskInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RemoveRandTaskInfoNotify.ProtoReflect.Descriptor instead.
+func (*RemoveRandTaskInfoNotify) Descriptor() ([]byte, []int) {
+ return file_RemoveRandTaskInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RemoveRandTaskInfoNotify) GetIsSucc() bool {
+ if x != nil {
+ return x.IsSucc
+ }
+ return false
+}
+
+func (x *RemoveRandTaskInfoNotify) GetReason() RemoveRandTaskInfoNotify_FinishReason {
+ if x != nil {
+ return x.Reason
+ }
+ return RemoveRandTaskInfoNotify_FINISH_REASON_DEFAULT
+}
+
+func (x *RemoveRandTaskInfoNotify) GetRandTaskId() uint32 {
+ if x != nil {
+ return x.RandTaskId
+ }
+ return 0
+}
+
+var File_RemoveRandTaskInfoNotify_proto protoreflect.FileDescriptor
+
+var file_RemoveRandTaskInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x54, 0x61, 0x73, 0x6b,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x12, 0x44, 0x0a,
+ 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x64,
+ 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x54,
+ 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00,
+ 0x12, 0x17, 0x0a, 0x13, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x49, 0x4e,
+ 0x49, 0x53, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41,
+ 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x03, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RemoveRandTaskInfoNotify_proto_rawDescOnce sync.Once
+ file_RemoveRandTaskInfoNotify_proto_rawDescData = file_RemoveRandTaskInfoNotify_proto_rawDesc
+)
+
+func file_RemoveRandTaskInfoNotify_proto_rawDescGZIP() []byte {
+ file_RemoveRandTaskInfoNotify_proto_rawDescOnce.Do(func() {
+ file_RemoveRandTaskInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RemoveRandTaskInfoNotify_proto_rawDescData)
+ })
+ return file_RemoveRandTaskInfoNotify_proto_rawDescData
+}
+
+var file_RemoveRandTaskInfoNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_RemoveRandTaskInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RemoveRandTaskInfoNotify_proto_goTypes = []interface{}{
+ (RemoveRandTaskInfoNotify_FinishReason)(0), // 0: proto.RemoveRandTaskInfoNotify.FinishReason
+ (*RemoveRandTaskInfoNotify)(nil), // 1: proto.RemoveRandTaskInfoNotify
+}
+var file_RemoveRandTaskInfoNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.RemoveRandTaskInfoNotify.reason:type_name -> proto.RemoveRandTaskInfoNotify.FinishReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RemoveRandTaskInfoNotify_proto_init() }
+func file_RemoveRandTaskInfoNotify_proto_init() {
+ if File_RemoveRandTaskInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RemoveRandTaskInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RemoveRandTaskInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RemoveRandTaskInfoNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RemoveRandTaskInfoNotify_proto_goTypes,
+ DependencyIndexes: file_RemoveRandTaskInfoNotify_proto_depIdxs,
+ EnumInfos: file_RemoveRandTaskInfoNotify_proto_enumTypes,
+ MessageInfos: file_RemoveRandTaskInfoNotify_proto_msgTypes,
+ }.Build()
+ File_RemoveRandTaskInfoNotify_proto = out.File
+ file_RemoveRandTaskInfoNotify_proto_rawDesc = nil
+ file_RemoveRandTaskInfoNotify_proto_goTypes = nil
+ file_RemoveRandTaskInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReplayCustomDungeonReq.pb.go b/protocol/proto/ReplayCustomDungeonReq.pb.go
new file mode 100644
index 00000000..6fdb3f83
--- /dev/null
+++ b/protocol/proto/ReplayCustomDungeonReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReplayCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6243
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReplayCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReplayCustomDungeonReq) Reset() {
+ *x = ReplayCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReplayCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReplayCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReplayCustomDungeonReq) ProtoMessage() {}
+
+func (x *ReplayCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReplayCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReplayCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*ReplayCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_ReplayCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ReplayCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_ReplayCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReplayCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_ReplayCustomDungeonReq_proto_rawDescData = file_ReplayCustomDungeonReq_proto_rawDesc
+)
+
+func file_ReplayCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_ReplayCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_ReplayCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReplayCustomDungeonReq_proto_rawDescData)
+ })
+ return file_ReplayCustomDungeonReq_proto_rawDescData
+}
+
+var file_ReplayCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReplayCustomDungeonReq_proto_goTypes = []interface{}{
+ (*ReplayCustomDungeonReq)(nil), // 0: proto.ReplayCustomDungeonReq
+}
+var file_ReplayCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReplayCustomDungeonReq_proto_init() }
+func file_ReplayCustomDungeonReq_proto_init() {
+ if File_ReplayCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReplayCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReplayCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReplayCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReplayCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_ReplayCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_ReplayCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_ReplayCustomDungeonReq_proto = out.File
+ file_ReplayCustomDungeonReq_proto_rawDesc = nil
+ file_ReplayCustomDungeonReq_proto_goTypes = nil
+ file_ReplayCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReplayCustomDungeonRsp.pb.go b/protocol/proto/ReplayCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..baff79cf
--- /dev/null
+++ b/protocol/proto/ReplayCustomDungeonRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReplayCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6240
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReplayCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ReplayCustomDungeonRsp) Reset() {
+ *x = ReplayCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReplayCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReplayCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReplayCustomDungeonRsp) ProtoMessage() {}
+
+func (x *ReplayCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReplayCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReplayCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*ReplayCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_ReplayCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReplayCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ReplayCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_ReplayCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReplayCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_ReplayCustomDungeonRsp_proto_rawDescData = file_ReplayCustomDungeonRsp_proto_rawDesc
+)
+
+func file_ReplayCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_ReplayCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_ReplayCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReplayCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_ReplayCustomDungeonRsp_proto_rawDescData
+}
+
+var file_ReplayCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReplayCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*ReplayCustomDungeonRsp)(nil), // 0: proto.ReplayCustomDungeonRsp
+}
+var file_ReplayCustomDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReplayCustomDungeonRsp_proto_init() }
+func file_ReplayCustomDungeonRsp_proto_init() {
+ if File_ReplayCustomDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReplayCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReplayCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReplayCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReplayCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_ReplayCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_ReplayCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_ReplayCustomDungeonRsp_proto = out.File
+ file_ReplayCustomDungeonRsp_proto_rawDesc = nil
+ file_ReplayCustomDungeonRsp_proto_goTypes = nil
+ file_ReplayCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReportFightAntiCheatNotify.pb.go b/protocol/proto/ReportFightAntiCheatNotify.pb.go
new file mode 100644
index 00000000..e2ad1a3c
--- /dev/null
+++ b/protocol/proto/ReportFightAntiCheatNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReportFightAntiCheatNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 368
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReportFightAntiCheatNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CheatCount uint32 `protobuf:"varint,8,opt,name=cheat_count,json=cheatCount,proto3" json:"cheat_count,omitempty"`
+ CheatType uint32 `protobuf:"varint,12,opt,name=cheat_type,json=cheatType,proto3" json:"cheat_type,omitempty"`
+}
+
+func (x *ReportFightAntiCheatNotify) Reset() {
+ *x = ReportFightAntiCheatNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReportFightAntiCheatNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReportFightAntiCheatNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReportFightAntiCheatNotify) ProtoMessage() {}
+
+func (x *ReportFightAntiCheatNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ReportFightAntiCheatNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReportFightAntiCheatNotify.ProtoReflect.Descriptor instead.
+func (*ReportFightAntiCheatNotify) Descriptor() ([]byte, []int) {
+ return file_ReportFightAntiCheatNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReportFightAntiCheatNotify) GetCheatCount() uint32 {
+ if x != nil {
+ return x.CheatCount
+ }
+ return 0
+}
+
+func (x *ReportFightAntiCheatNotify) GetCheatType() uint32 {
+ if x != nil {
+ return x.CheatType
+ }
+ return 0
+}
+
+var File_ReportFightAntiCheatNotify_proto protoreflect.FileDescriptor
+
+var file_ReportFightAntiCheatNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x41, 0x6e, 0x74,
+ 0x69, 0x43, 0x68, 0x65, 0x61, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x1a, 0x52, 0x65, 0x70,
+ 0x6f, 0x72, 0x74, 0x46, 0x69, 0x67, 0x68, 0x74, 0x41, 0x6e, 0x74, 0x69, 0x43, 0x68, 0x65, 0x61,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x65, 0x61, 0x74,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x68,
+ 0x65, 0x61, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x61,
+ 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68,
+ 0x65, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReportFightAntiCheatNotify_proto_rawDescOnce sync.Once
+ file_ReportFightAntiCheatNotify_proto_rawDescData = file_ReportFightAntiCheatNotify_proto_rawDesc
+)
+
+func file_ReportFightAntiCheatNotify_proto_rawDescGZIP() []byte {
+ file_ReportFightAntiCheatNotify_proto_rawDescOnce.Do(func() {
+ file_ReportFightAntiCheatNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReportFightAntiCheatNotify_proto_rawDescData)
+ })
+ return file_ReportFightAntiCheatNotify_proto_rawDescData
+}
+
+var file_ReportFightAntiCheatNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReportFightAntiCheatNotify_proto_goTypes = []interface{}{
+ (*ReportFightAntiCheatNotify)(nil), // 0: proto.ReportFightAntiCheatNotify
+}
+var file_ReportFightAntiCheatNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReportFightAntiCheatNotify_proto_init() }
+func file_ReportFightAntiCheatNotify_proto_init() {
+ if File_ReportFightAntiCheatNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReportFightAntiCheatNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReportFightAntiCheatNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReportFightAntiCheatNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReportFightAntiCheatNotify_proto_goTypes,
+ DependencyIndexes: file_ReportFightAntiCheatNotify_proto_depIdxs,
+ MessageInfos: file_ReportFightAntiCheatNotify_proto_msgTypes,
+ }.Build()
+ File_ReportFightAntiCheatNotify_proto = out.File
+ file_ReportFightAntiCheatNotify_proto_rawDesc = nil
+ file_ReportFightAntiCheatNotify_proto_goTypes = nil
+ file_ReportFightAntiCheatNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReportReasonType.pb.go b/protocol/proto/ReportReasonType.pb.go
new file mode 100644
index 00000000..00044a38
--- /dev/null
+++ b/protocol/proto/ReportReasonType.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReportReasonType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ReportReasonType int32
+
+const (
+ ReportReasonType_REPORT_REASON_TYPE_NONE ReportReasonType = 0
+ ReportReasonType_REPORT_REASON_TYPE_DECEPTIVE_ADS ReportReasonType = 1
+ ReportReasonType_REPORT_REASON_TYPE_ABUSING ReportReasonType = 2
+ ReportReasonType_REPORT_REASON_TYPE_CHEAT ReportReasonType = 3
+ ReportReasonType_REPORT_REASON_TYPE_POLITICAL ReportReasonType = 4
+ ReportReasonType_REPORT_REASON_TYPE_OTHER ReportReasonType = 5
+ ReportReasonType_REPORT_REASON_TYPE_HOME ReportReasonType = 6
+)
+
+// Enum value maps for ReportReasonType.
+var (
+ ReportReasonType_name = map[int32]string{
+ 0: "REPORT_REASON_TYPE_NONE",
+ 1: "REPORT_REASON_TYPE_DECEPTIVE_ADS",
+ 2: "REPORT_REASON_TYPE_ABUSING",
+ 3: "REPORT_REASON_TYPE_CHEAT",
+ 4: "REPORT_REASON_TYPE_POLITICAL",
+ 5: "REPORT_REASON_TYPE_OTHER",
+ 6: "REPORT_REASON_TYPE_HOME",
+ }
+ ReportReasonType_value = map[string]int32{
+ "REPORT_REASON_TYPE_NONE": 0,
+ "REPORT_REASON_TYPE_DECEPTIVE_ADS": 1,
+ "REPORT_REASON_TYPE_ABUSING": 2,
+ "REPORT_REASON_TYPE_CHEAT": 3,
+ "REPORT_REASON_TYPE_POLITICAL": 4,
+ "REPORT_REASON_TYPE_OTHER": 5,
+ "REPORT_REASON_TYPE_HOME": 6,
+ }
+)
+
+func (x ReportReasonType) Enum() *ReportReasonType {
+ p := new(ReportReasonType)
+ *p = x
+ return p
+}
+
+func (x ReportReasonType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ReportReasonType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ReportReasonType_proto_enumTypes[0].Descriptor()
+}
+
+func (ReportReasonType) Type() protoreflect.EnumType {
+ return &file_ReportReasonType_proto_enumTypes[0]
+}
+
+func (x ReportReasonType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ReportReasonType.Descriptor instead.
+func (ReportReasonType) EnumDescriptor() ([]byte, []int) {
+ return file_ReportReasonType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ReportReasonType_proto protoreflect.FileDescriptor
+
+var file_ReportReasonType_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0xf0, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x43, 0x45, 0x50, 0x54, 0x49, 0x56,
+ 0x45, 0x5f, 0x41, 0x44, 0x53, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x50, 0x4f, 0x52,
+ 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x42,
+ 0x55, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x50, 0x4f, 0x52,
+ 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48,
+ 0x45, 0x41, 0x54, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49,
+ 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x50, 0x4f, 0x52,
+ 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x54,
+ 0x48, 0x45, 0x52, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x4f, 0x4d, 0x45,
+ 0x10, 0x06, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReportReasonType_proto_rawDescOnce sync.Once
+ file_ReportReasonType_proto_rawDescData = file_ReportReasonType_proto_rawDesc
+)
+
+func file_ReportReasonType_proto_rawDescGZIP() []byte {
+ file_ReportReasonType_proto_rawDescOnce.Do(func() {
+ file_ReportReasonType_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReportReasonType_proto_rawDescData)
+ })
+ return file_ReportReasonType_proto_rawDescData
+}
+
+var file_ReportReasonType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ReportReasonType_proto_goTypes = []interface{}{
+ (ReportReasonType)(0), // 0: proto.ReportReasonType
+}
+var file_ReportReasonType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReportReasonType_proto_init() }
+func file_ReportReasonType_proto_init() {
+ if File_ReportReasonType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReportReasonType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReportReasonType_proto_goTypes,
+ DependencyIndexes: file_ReportReasonType_proto_depIdxs,
+ EnumInfos: file_ReportReasonType_proto_enumTypes,
+ }.Build()
+ File_ReportReasonType_proto = out.File
+ file_ReportReasonType_proto_rawDesc = nil
+ file_ReportReasonType_proto_goTypes = nil
+ file_ReportReasonType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReportTrackingIOInfoNotify.pb.go b/protocol/proto/ReportTrackingIOInfoNotify.pb.go
new file mode 100644
index 00000000..fe71951a
--- /dev/null
+++ b/protocol/proto/ReportTrackingIOInfoNotify.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReportTrackingIOInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4129
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReportTrackingIOInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rydevicetype string `protobuf:"bytes,12,opt,name=rydevicetype,proto3" json:"rydevicetype,omitempty"`
+ Deviceid string `protobuf:"bytes,1,opt,name=deviceid,proto3" json:"deviceid,omitempty"`
+ ClientTz string `protobuf:"bytes,13,opt,name=client_tz,json=clientTz,proto3" json:"client_tz,omitempty"`
+ Appid string `protobuf:"bytes,14,opt,name=appid,proto3" json:"appid,omitempty"`
+ Mac string `protobuf:"bytes,15,opt,name=mac,proto3" json:"mac,omitempty"`
+}
+
+func (x *ReportTrackingIOInfoNotify) Reset() {
+ *x = ReportTrackingIOInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReportTrackingIOInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReportTrackingIOInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReportTrackingIOInfoNotify) ProtoMessage() {}
+
+func (x *ReportTrackingIOInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ReportTrackingIOInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReportTrackingIOInfoNotify.ProtoReflect.Descriptor instead.
+func (*ReportTrackingIOInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ReportTrackingIOInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReportTrackingIOInfoNotify) GetRydevicetype() string {
+ if x != nil {
+ return x.Rydevicetype
+ }
+ return ""
+}
+
+func (x *ReportTrackingIOInfoNotify) GetDeviceid() string {
+ if x != nil {
+ return x.Deviceid
+ }
+ return ""
+}
+
+func (x *ReportTrackingIOInfoNotify) GetClientTz() string {
+ if x != nil {
+ return x.ClientTz
+ }
+ return ""
+}
+
+func (x *ReportTrackingIOInfoNotify) GetAppid() string {
+ if x != nil {
+ return x.Appid
+ }
+ return ""
+}
+
+func (x *ReportTrackingIOInfoNotify) GetMac() string {
+ if x != nil {
+ return x.Mac
+ }
+ return ""
+}
+
+var File_ReportTrackingIOInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ReportTrackingIOInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67,
+ 0x49, 0x4f, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x1a, 0x52, 0x65,
+ 0x70, 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x4f, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x79, 0x64, 0x65,
+ 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+ 0x72, 0x79, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08,
+ 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x5f, 0x74, 0x7a, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x54, 0x7a, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d,
+ 0x61, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ReportTrackingIOInfoNotify_proto_rawDescOnce sync.Once
+ file_ReportTrackingIOInfoNotify_proto_rawDescData = file_ReportTrackingIOInfoNotify_proto_rawDesc
+)
+
+func file_ReportTrackingIOInfoNotify_proto_rawDescGZIP() []byte {
+ file_ReportTrackingIOInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ReportTrackingIOInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReportTrackingIOInfoNotify_proto_rawDescData)
+ })
+ return file_ReportTrackingIOInfoNotify_proto_rawDescData
+}
+
+var file_ReportTrackingIOInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReportTrackingIOInfoNotify_proto_goTypes = []interface{}{
+ (*ReportTrackingIOInfoNotify)(nil), // 0: proto.ReportTrackingIOInfoNotify
+}
+var file_ReportTrackingIOInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReportTrackingIOInfoNotify_proto_init() }
+func file_ReportTrackingIOInfoNotify_proto_init() {
+ if File_ReportTrackingIOInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReportTrackingIOInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReportTrackingIOInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReportTrackingIOInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReportTrackingIOInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ReportTrackingIOInfoNotify_proto_depIdxs,
+ MessageInfos: file_ReportTrackingIOInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ReportTrackingIOInfoNotify_proto = out.File
+ file_ReportTrackingIOInfoNotify_proto_rawDesc = nil
+ file_ReportTrackingIOInfoNotify_proto_goTypes = nil
+ file_ReportTrackingIOInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RequestLiveInfoReq.pb.go b/protocol/proto/RequestLiveInfoReq.pb.go
new file mode 100644
index 00000000..69d204dd
--- /dev/null
+++ b/protocol/proto/RequestLiveInfoReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RequestLiveInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 894
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RequestLiveInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LiveId uint32 `protobuf:"varint,6,opt,name=live_id,json=liveId,proto3" json:"live_id,omitempty"`
+}
+
+func (x *RequestLiveInfoReq) Reset() {
+ *x = RequestLiveInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RequestLiveInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RequestLiveInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RequestLiveInfoReq) ProtoMessage() {}
+
+func (x *RequestLiveInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RequestLiveInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RequestLiveInfoReq.ProtoReflect.Descriptor instead.
+func (*RequestLiveInfoReq) Descriptor() ([]byte, []int) {
+ return file_RequestLiveInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RequestLiveInfoReq) GetLiveId() uint32 {
+ if x != nil {
+ return x.LiveId
+ }
+ return 0
+}
+
+var File_RequestLiveInfoReq_proto protoreflect.FileDescriptor
+
+var file_RequestLiveInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2d, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x76, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RequestLiveInfoReq_proto_rawDescOnce sync.Once
+ file_RequestLiveInfoReq_proto_rawDescData = file_RequestLiveInfoReq_proto_rawDesc
+)
+
+func file_RequestLiveInfoReq_proto_rawDescGZIP() []byte {
+ file_RequestLiveInfoReq_proto_rawDescOnce.Do(func() {
+ file_RequestLiveInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RequestLiveInfoReq_proto_rawDescData)
+ })
+ return file_RequestLiveInfoReq_proto_rawDescData
+}
+
+var file_RequestLiveInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RequestLiveInfoReq_proto_goTypes = []interface{}{
+ (*RequestLiveInfoReq)(nil), // 0: proto.RequestLiveInfoReq
+}
+var file_RequestLiveInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RequestLiveInfoReq_proto_init() }
+func file_RequestLiveInfoReq_proto_init() {
+ if File_RequestLiveInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RequestLiveInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RequestLiveInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RequestLiveInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RequestLiveInfoReq_proto_goTypes,
+ DependencyIndexes: file_RequestLiveInfoReq_proto_depIdxs,
+ MessageInfos: file_RequestLiveInfoReq_proto_msgTypes,
+ }.Build()
+ File_RequestLiveInfoReq_proto = out.File
+ file_RequestLiveInfoReq_proto_rawDesc = nil
+ file_RequestLiveInfoReq_proto_goTypes = nil
+ file_RequestLiveInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RequestLiveInfoRsp.pb.go b/protocol/proto/RequestLiveInfoRsp.pb.go
new file mode 100644
index 00000000..1561d801
--- /dev/null
+++ b/protocol/proto/RequestLiveInfoRsp.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RequestLiveInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 888
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RequestLiveInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SpareLiveUrl string `protobuf:"bytes,14,opt,name=spare_live_url,json=spareLiveUrl,proto3" json:"spare_live_url,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ LiveUrl string `protobuf:"bytes,12,opt,name=live_url,json=liveUrl,proto3" json:"live_url,omitempty"`
+ LiveId uint32 `protobuf:"varint,2,opt,name=live_id,json=liveId,proto3" json:"live_id,omitempty"`
+}
+
+func (x *RequestLiveInfoRsp) Reset() {
+ *x = RequestLiveInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RequestLiveInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RequestLiveInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RequestLiveInfoRsp) ProtoMessage() {}
+
+func (x *RequestLiveInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RequestLiveInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RequestLiveInfoRsp.ProtoReflect.Descriptor instead.
+func (*RequestLiveInfoRsp) Descriptor() ([]byte, []int) {
+ return file_RequestLiveInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RequestLiveInfoRsp) GetSpareLiveUrl() string {
+ if x != nil {
+ return x.SpareLiveUrl
+ }
+ return ""
+}
+
+func (x *RequestLiveInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *RequestLiveInfoRsp) GetLiveUrl() string {
+ if x != nil {
+ return x.LiveUrl
+ }
+ return ""
+}
+
+func (x *RequestLiveInfoRsp) GetLiveId() uint32 {
+ if x != nil {
+ return x.LiveId
+ }
+ return 0
+}
+
+var File_RequestLiveInfoRsp_proto protoreflect.FileDescriptor
+
+var file_RequestLiveInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x76,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x70, 0x61, 0x72,
+ 0x65, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x73, 0x70, 0x61, 0x72, 0x65, 0x4c, 0x69, 0x76, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x76, 0x65,
+ 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x76, 0x65,
+ 0x55, 0x72, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RequestLiveInfoRsp_proto_rawDescOnce sync.Once
+ file_RequestLiveInfoRsp_proto_rawDescData = file_RequestLiveInfoRsp_proto_rawDesc
+)
+
+func file_RequestLiveInfoRsp_proto_rawDescGZIP() []byte {
+ file_RequestLiveInfoRsp_proto_rawDescOnce.Do(func() {
+ file_RequestLiveInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RequestLiveInfoRsp_proto_rawDescData)
+ })
+ return file_RequestLiveInfoRsp_proto_rawDescData
+}
+
+var file_RequestLiveInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RequestLiveInfoRsp_proto_goTypes = []interface{}{
+ (*RequestLiveInfoRsp)(nil), // 0: proto.RequestLiveInfoRsp
+}
+var file_RequestLiveInfoRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RequestLiveInfoRsp_proto_init() }
+func file_RequestLiveInfoRsp_proto_init() {
+ if File_RequestLiveInfoRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RequestLiveInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RequestLiveInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RequestLiveInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RequestLiveInfoRsp_proto_goTypes,
+ DependencyIndexes: file_RequestLiveInfoRsp_proto_depIdxs,
+ MessageInfos: file_RequestLiveInfoRsp_proto_msgTypes,
+ }.Build()
+ File_RequestLiveInfoRsp_proto = out.File
+ file_RequestLiveInfoRsp_proto_rawDesc = nil
+ file_RequestLiveInfoRsp_proto_goTypes = nil
+ file_RequestLiveInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResVersionConfig.pb.go b/protocol/proto/ResVersionConfig.pb.go
new file mode 100644
index 00000000..90986932
--- /dev/null
+++ b/protocol/proto/ResVersionConfig.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResVersionConfig.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ResVersionConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
+ Relogin bool `protobuf:"varint,2,opt,name=relogin,proto3" json:"relogin,omitempty"`
+ Md5 string `protobuf:"bytes,3,opt,name=md5,proto3" json:"md5,omitempty"`
+ ReleaseTotalSize string `protobuf:"bytes,4,opt,name=release_total_size,json=releaseTotalSize,proto3" json:"release_total_size,omitempty"`
+ VersionSuffix string `protobuf:"bytes,5,opt,name=version_suffix,json=versionSuffix,proto3" json:"version_suffix,omitempty"`
+ Branch string `protobuf:"bytes,6,opt,name=branch,proto3" json:"branch,omitempty"`
+ NextScriptVersion string `protobuf:"bytes,7,opt,name=next_script_version,json=nextScriptVersion,proto3" json:"next_script_version,omitempty"`
+}
+
+func (x *ResVersionConfig) Reset() {
+ *x = ResVersionConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ResVersionConfig_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResVersionConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResVersionConfig) ProtoMessage() {}
+
+func (x *ResVersionConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_ResVersionConfig_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResVersionConfig.ProtoReflect.Descriptor instead.
+func (*ResVersionConfig) Descriptor() ([]byte, []int) {
+ return file_ResVersionConfig_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResVersionConfig) GetVersion() uint32 {
+ if x != nil {
+ return x.Version
+ }
+ return 0
+}
+
+func (x *ResVersionConfig) GetRelogin() bool {
+ if x != nil {
+ return x.Relogin
+ }
+ return false
+}
+
+func (x *ResVersionConfig) GetMd5() string {
+ if x != nil {
+ return x.Md5
+ }
+ return ""
+}
+
+func (x *ResVersionConfig) GetReleaseTotalSize() string {
+ if x != nil {
+ return x.ReleaseTotalSize
+ }
+ return ""
+}
+
+func (x *ResVersionConfig) GetVersionSuffix() string {
+ if x != nil {
+ return x.VersionSuffix
+ }
+ return ""
+}
+
+func (x *ResVersionConfig) GetBranch() string {
+ if x != nil {
+ return x.Branch
+ }
+ return ""
+}
+
+func (x *ResVersionConfig) GetNextScriptVersion() string {
+ if x != nil {
+ return x.NextScriptVersion
+ }
+ return ""
+}
+
+var File_ResVersionConfig_proto protoreflect.FileDescriptor
+
+var file_ResVersionConfig_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xf5, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x07, 0x72, 0x65, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x64, 0x35, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x64, 0x35, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65,
+ 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x54,
+ 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12,
+ 0x16, 0x0a, 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x65, 0x78, 0x74, 0x5f,
+ 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResVersionConfig_proto_rawDescOnce sync.Once
+ file_ResVersionConfig_proto_rawDescData = file_ResVersionConfig_proto_rawDesc
+)
+
+func file_ResVersionConfig_proto_rawDescGZIP() []byte {
+ file_ResVersionConfig_proto_rawDescOnce.Do(func() {
+ file_ResVersionConfig_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResVersionConfig_proto_rawDescData)
+ })
+ return file_ResVersionConfig_proto_rawDescData
+}
+
+var file_ResVersionConfig_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ResVersionConfig_proto_goTypes = []interface{}{
+ (*ResVersionConfig)(nil), // 0: proto.ResVersionConfig
+}
+var file_ResVersionConfig_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ResVersionConfig_proto_init() }
+func file_ResVersionConfig_proto_init() {
+ if File_ResVersionConfig_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ResVersionConfig_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResVersionConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResVersionConfig_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResVersionConfig_proto_goTypes,
+ DependencyIndexes: file_ResVersionConfig_proto_depIdxs,
+ MessageInfos: file_ResVersionConfig_proto_msgTypes,
+ }.Build()
+ File_ResVersionConfig_proto = out.File
+ file_ResVersionConfig_proto_rawDesc = nil
+ file_ResVersionConfig_proto_goTypes = nil
+ file_ResVersionConfig_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReserveRogueDiaryAvatarReq.pb.go b/protocol/proto/ReserveRogueDiaryAvatarReq.pb.go
new file mode 100644
index 00000000..d1c8c326
--- /dev/null
+++ b/protocol/proto/ReserveRogueDiaryAvatarReq.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReserveRogueDiaryAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8748
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReserveRogueDiaryAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReserveAvatarList []*RogueDiaryAvatar `protobuf:"bytes,6,rep,name=reserve_avatar_list,json=reserveAvatarList,proto3" json:"reserve_avatar_list,omitempty"`
+}
+
+func (x *ReserveRogueDiaryAvatarReq) Reset() {
+ *x = ReserveRogueDiaryAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReserveRogueDiaryAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReserveRogueDiaryAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReserveRogueDiaryAvatarReq) ProtoMessage() {}
+
+func (x *ReserveRogueDiaryAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReserveRogueDiaryAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReserveRogueDiaryAvatarReq.ProtoReflect.Descriptor instead.
+func (*ReserveRogueDiaryAvatarReq) Descriptor() ([]byte, []int) {
+ return file_ReserveRogueDiaryAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReserveRogueDiaryAvatarReq) GetReserveAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.ReserveAvatarList
+ }
+ return nil
+}
+
+var File_ReserveRogueDiaryAvatarReq_proto protoreflect.FileDescriptor
+
+var file_ReserveRogueDiaryAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69,
+ 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x65, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12,
+ 0x47, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReserveRogueDiaryAvatarReq_proto_rawDescOnce sync.Once
+ file_ReserveRogueDiaryAvatarReq_proto_rawDescData = file_ReserveRogueDiaryAvatarReq_proto_rawDesc
+)
+
+func file_ReserveRogueDiaryAvatarReq_proto_rawDescGZIP() []byte {
+ file_ReserveRogueDiaryAvatarReq_proto_rawDescOnce.Do(func() {
+ file_ReserveRogueDiaryAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReserveRogueDiaryAvatarReq_proto_rawDescData)
+ })
+ return file_ReserveRogueDiaryAvatarReq_proto_rawDescData
+}
+
+var file_ReserveRogueDiaryAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReserveRogueDiaryAvatarReq_proto_goTypes = []interface{}{
+ (*ReserveRogueDiaryAvatarReq)(nil), // 0: proto.ReserveRogueDiaryAvatarReq
+ (*RogueDiaryAvatar)(nil), // 1: proto.RogueDiaryAvatar
+}
+var file_ReserveRogueDiaryAvatarReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ReserveRogueDiaryAvatarReq.reserve_avatar_list:type_name -> proto.RogueDiaryAvatar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ReserveRogueDiaryAvatarReq_proto_init() }
+func file_ReserveRogueDiaryAvatarReq_proto_init() {
+ if File_ReserveRogueDiaryAvatarReq_proto != nil {
+ return
+ }
+ file_RogueDiaryAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReserveRogueDiaryAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReserveRogueDiaryAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReserveRogueDiaryAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReserveRogueDiaryAvatarReq_proto_goTypes,
+ DependencyIndexes: file_ReserveRogueDiaryAvatarReq_proto_depIdxs,
+ MessageInfos: file_ReserveRogueDiaryAvatarReq_proto_msgTypes,
+ }.Build()
+ File_ReserveRogueDiaryAvatarReq_proto = out.File
+ file_ReserveRogueDiaryAvatarReq_proto_rawDesc = nil
+ file_ReserveRogueDiaryAvatarReq_proto_goTypes = nil
+ file_ReserveRogueDiaryAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReserveRogueDiaryAvatarRsp.pb.go b/protocol/proto/ReserveRogueDiaryAvatarRsp.pb.go
new file mode 100644
index 00000000..2e3d2e11
--- /dev/null
+++ b/protocol/proto/ReserveRogueDiaryAvatarRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReserveRogueDiaryAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8799
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReserveRogueDiaryAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ReserveRogueDiaryAvatarRsp) Reset() {
+ *x = ReserveRogueDiaryAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReserveRogueDiaryAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReserveRogueDiaryAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReserveRogueDiaryAvatarRsp) ProtoMessage() {}
+
+func (x *ReserveRogueDiaryAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReserveRogueDiaryAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReserveRogueDiaryAvatarRsp.ProtoReflect.Descriptor instead.
+func (*ReserveRogueDiaryAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_ReserveRogueDiaryAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReserveRogueDiaryAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ReserveRogueDiaryAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_ReserveRogueDiaryAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69,
+ 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x52, 0x65, 0x73,
+ 0x65, 0x72, 0x76, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReserveRogueDiaryAvatarRsp_proto_rawDescOnce sync.Once
+ file_ReserveRogueDiaryAvatarRsp_proto_rawDescData = file_ReserveRogueDiaryAvatarRsp_proto_rawDesc
+)
+
+func file_ReserveRogueDiaryAvatarRsp_proto_rawDescGZIP() []byte {
+ file_ReserveRogueDiaryAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_ReserveRogueDiaryAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReserveRogueDiaryAvatarRsp_proto_rawDescData)
+ })
+ return file_ReserveRogueDiaryAvatarRsp_proto_rawDescData
+}
+
+var file_ReserveRogueDiaryAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReserveRogueDiaryAvatarRsp_proto_goTypes = []interface{}{
+ (*ReserveRogueDiaryAvatarRsp)(nil), // 0: proto.ReserveRogueDiaryAvatarRsp
+}
+var file_ReserveRogueDiaryAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReserveRogueDiaryAvatarRsp_proto_init() }
+func file_ReserveRogueDiaryAvatarRsp_proto_init() {
+ if File_ReserveRogueDiaryAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReserveRogueDiaryAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReserveRogueDiaryAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReserveRogueDiaryAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReserveRogueDiaryAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_ReserveRogueDiaryAvatarRsp_proto_depIdxs,
+ MessageInfos: file_ReserveRogueDiaryAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_ReserveRogueDiaryAvatarRsp_proto = out.File
+ file_ReserveRogueDiaryAvatarRsp_proto_rawDesc = nil
+ file_ReserveRogueDiaryAvatarRsp_proto_goTypes = nil
+ file_ReserveRogueDiaryAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResetRogueDiaryPlayReq.pb.go b/protocol/proto/ResetRogueDiaryPlayReq.pb.go
new file mode 100644
index 00000000..e9d67dfc
--- /dev/null
+++ b/protocol/proto/ResetRogueDiaryPlayReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResetRogueDiaryPlayReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8127
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ResetRogueDiaryPlayReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,5,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *ResetRogueDiaryPlayReq) Reset() {
+ *x = ResetRogueDiaryPlayReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ResetRogueDiaryPlayReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResetRogueDiaryPlayReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResetRogueDiaryPlayReq) ProtoMessage() {}
+
+func (x *ResetRogueDiaryPlayReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ResetRogueDiaryPlayReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResetRogueDiaryPlayReq.ProtoReflect.Descriptor instead.
+func (*ResetRogueDiaryPlayReq) Descriptor() ([]byte, []int) {
+ return file_ResetRogueDiaryPlayReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResetRogueDiaryPlayReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_ResetRogueDiaryPlayReq_proto protoreflect.FileDescriptor
+
+var file_ResetRogueDiaryPlayReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResetRogueDiaryPlayReq_proto_rawDescOnce sync.Once
+ file_ResetRogueDiaryPlayReq_proto_rawDescData = file_ResetRogueDiaryPlayReq_proto_rawDesc
+)
+
+func file_ResetRogueDiaryPlayReq_proto_rawDescGZIP() []byte {
+ file_ResetRogueDiaryPlayReq_proto_rawDescOnce.Do(func() {
+ file_ResetRogueDiaryPlayReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResetRogueDiaryPlayReq_proto_rawDescData)
+ })
+ return file_ResetRogueDiaryPlayReq_proto_rawDescData
+}
+
+var file_ResetRogueDiaryPlayReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ResetRogueDiaryPlayReq_proto_goTypes = []interface{}{
+ (*ResetRogueDiaryPlayReq)(nil), // 0: proto.ResetRogueDiaryPlayReq
+}
+var file_ResetRogueDiaryPlayReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ResetRogueDiaryPlayReq_proto_init() }
+func file_ResetRogueDiaryPlayReq_proto_init() {
+ if File_ResetRogueDiaryPlayReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ResetRogueDiaryPlayReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResetRogueDiaryPlayReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResetRogueDiaryPlayReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResetRogueDiaryPlayReq_proto_goTypes,
+ DependencyIndexes: file_ResetRogueDiaryPlayReq_proto_depIdxs,
+ MessageInfos: file_ResetRogueDiaryPlayReq_proto_msgTypes,
+ }.Build()
+ File_ResetRogueDiaryPlayReq_proto = out.File
+ file_ResetRogueDiaryPlayReq_proto_rawDesc = nil
+ file_ResetRogueDiaryPlayReq_proto_goTypes = nil
+ file_ResetRogueDiaryPlayReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResetRogueDiaryPlayRsp.pb.go b/protocol/proto/ResetRogueDiaryPlayRsp.pb.go
new file mode 100644
index 00000000..ad3a8801
--- /dev/null
+++ b/protocol/proto/ResetRogueDiaryPlayRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResetRogueDiaryPlayRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8948
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ResetRogueDiaryPlayRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ResetRogueDiaryPlayRsp) Reset() {
+ *x = ResetRogueDiaryPlayRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ResetRogueDiaryPlayRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResetRogueDiaryPlayRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResetRogueDiaryPlayRsp) ProtoMessage() {}
+
+func (x *ResetRogueDiaryPlayRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ResetRogueDiaryPlayRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResetRogueDiaryPlayRsp.ProtoReflect.Descriptor instead.
+func (*ResetRogueDiaryPlayRsp) Descriptor() ([]byte, []int) {
+ return file_ResetRogueDiaryPlayRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResetRogueDiaryPlayRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ResetRogueDiaryPlayRsp_proto protoreflect.FileDescriptor
+
+var file_ResetRogueDiaryPlayRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResetRogueDiaryPlayRsp_proto_rawDescOnce sync.Once
+ file_ResetRogueDiaryPlayRsp_proto_rawDescData = file_ResetRogueDiaryPlayRsp_proto_rawDesc
+)
+
+func file_ResetRogueDiaryPlayRsp_proto_rawDescGZIP() []byte {
+ file_ResetRogueDiaryPlayRsp_proto_rawDescOnce.Do(func() {
+ file_ResetRogueDiaryPlayRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResetRogueDiaryPlayRsp_proto_rawDescData)
+ })
+ return file_ResetRogueDiaryPlayRsp_proto_rawDescData
+}
+
+var file_ResetRogueDiaryPlayRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ResetRogueDiaryPlayRsp_proto_goTypes = []interface{}{
+ (*ResetRogueDiaryPlayRsp)(nil), // 0: proto.ResetRogueDiaryPlayRsp
+}
+var file_ResetRogueDiaryPlayRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ResetRogueDiaryPlayRsp_proto_init() }
+func file_ResetRogueDiaryPlayRsp_proto_init() {
+ if File_ResetRogueDiaryPlayRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ResetRogueDiaryPlayRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResetRogueDiaryPlayRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResetRogueDiaryPlayRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResetRogueDiaryPlayRsp_proto_goTypes,
+ DependencyIndexes: file_ResetRogueDiaryPlayRsp_proto_depIdxs,
+ MessageInfos: file_ResetRogueDiaryPlayRsp_proto_msgTypes,
+ }.Build()
+ File_ResetRogueDiaryPlayRsp_proto = out.File
+ file_ResetRogueDiaryPlayRsp_proto_rawDesc = nil
+ file_ResetRogueDiaryPlayRsp_proto_goTypes = nil
+ file_ResetRogueDiaryPlayRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResinCardData.pb.go b/protocol/proto/ResinCardData.pb.go
new file mode 100644
index 00000000..04154727
--- /dev/null
+++ b/protocol/proto/ResinCardData.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResinCardData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ResinCardData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RemainRewardDays uint32 `protobuf:"varint,3,opt,name=remain_reward_days,json=remainRewardDays,proto3" json:"remain_reward_days,omitempty"`
+ ExpireTime uint32 `protobuf:"varint,12,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"`
+ LastDailyRewardTime uint32 `protobuf:"varint,2,opt,name=last_daily_reward_time,json=lastDailyRewardTime,proto3" json:"last_daily_reward_time,omitempty"`
+ ConfigId uint32 `protobuf:"varint,7,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *ResinCardData) Reset() {
+ *x = ResinCardData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ResinCardData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResinCardData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResinCardData) ProtoMessage() {}
+
+func (x *ResinCardData) ProtoReflect() protoreflect.Message {
+ mi := &file_ResinCardData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResinCardData.ProtoReflect.Descriptor instead.
+func (*ResinCardData) Descriptor() ([]byte, []int) {
+ return file_ResinCardData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResinCardData) GetRemainRewardDays() uint32 {
+ if x != nil {
+ return x.RemainRewardDays
+ }
+ return 0
+}
+
+func (x *ResinCardData) GetExpireTime() uint32 {
+ if x != nil {
+ return x.ExpireTime
+ }
+ return 0
+}
+
+func (x *ResinCardData) GetLastDailyRewardTime() uint32 {
+ if x != nil {
+ return x.LastDailyRewardTime
+ }
+ return 0
+}
+
+func (x *ResinCardData) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_ResinCardData_proto protoreflect.FileDescriptor
+
+var file_ResinCardData_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a,
+ 0x0d, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c,
+ 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x64, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x61,
+ 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x79, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a,
+ 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6c,
+ 0x61, 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResinCardData_proto_rawDescOnce sync.Once
+ file_ResinCardData_proto_rawDescData = file_ResinCardData_proto_rawDesc
+)
+
+func file_ResinCardData_proto_rawDescGZIP() []byte {
+ file_ResinCardData_proto_rawDescOnce.Do(func() {
+ file_ResinCardData_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResinCardData_proto_rawDescData)
+ })
+ return file_ResinCardData_proto_rawDescData
+}
+
+var file_ResinCardData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ResinCardData_proto_goTypes = []interface{}{
+ (*ResinCardData)(nil), // 0: proto.ResinCardData
+}
+var file_ResinCardData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ResinCardData_proto_init() }
+func file_ResinCardData_proto_init() {
+ if File_ResinCardData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ResinCardData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResinCardData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResinCardData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResinCardData_proto_goTypes,
+ DependencyIndexes: file_ResinCardData_proto_depIdxs,
+ MessageInfos: file_ResinCardData_proto_msgTypes,
+ }.Build()
+ File_ResinCardData_proto = out.File
+ file_ResinCardData_proto_rawDesc = nil
+ file_ResinCardData_proto_goTypes = nil
+ file_ResinCardData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResinCardDataUpdateNotify.pb.go b/protocol/proto/ResinCardDataUpdateNotify.pb.go
new file mode 100644
index 00000000..a32a7ab7
--- /dev/null
+++ b/protocol/proto/ResinCardDataUpdateNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResinCardDataUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4149
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ResinCardDataUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TodayStartTime uint32 `protobuf:"varint,6,opt,name=today_start_time,json=todayStartTime,proto3" json:"today_start_time,omitempty"`
+ CardDataList []*ResinCardData `protobuf:"bytes,2,rep,name=card_data_list,json=cardDataList,proto3" json:"card_data_list,omitempty"`
+}
+
+func (x *ResinCardDataUpdateNotify) Reset() {
+ *x = ResinCardDataUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ResinCardDataUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResinCardDataUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResinCardDataUpdateNotify) ProtoMessage() {}
+
+func (x *ResinCardDataUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ResinCardDataUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResinCardDataUpdateNotify.ProtoReflect.Descriptor instead.
+func (*ResinCardDataUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_ResinCardDataUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResinCardDataUpdateNotify) GetTodayStartTime() uint32 {
+ if x != nil {
+ return x.TodayStartTime
+ }
+ return 0
+}
+
+func (x *ResinCardDataUpdateNotify) GetCardDataList() []*ResinCardData {
+ if x != nil {
+ return x.CardDataList
+ }
+ return nil
+}
+
+var File_ResinCardDataUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_ResinCardDataUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43,
+ 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01,
+ 0x0a, 0x19, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x74,
+ 0x6f, 0x64, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0e, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResinCardDataUpdateNotify_proto_rawDescOnce sync.Once
+ file_ResinCardDataUpdateNotify_proto_rawDescData = file_ResinCardDataUpdateNotify_proto_rawDesc
+)
+
+func file_ResinCardDataUpdateNotify_proto_rawDescGZIP() []byte {
+ file_ResinCardDataUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_ResinCardDataUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResinCardDataUpdateNotify_proto_rawDescData)
+ })
+ return file_ResinCardDataUpdateNotify_proto_rawDescData
+}
+
+var file_ResinCardDataUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ResinCardDataUpdateNotify_proto_goTypes = []interface{}{
+ (*ResinCardDataUpdateNotify)(nil), // 0: proto.ResinCardDataUpdateNotify
+ (*ResinCardData)(nil), // 1: proto.ResinCardData
+}
+var file_ResinCardDataUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ResinCardDataUpdateNotify.card_data_list:type_name -> proto.ResinCardData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ResinCardDataUpdateNotify_proto_init() }
+func file_ResinCardDataUpdateNotify_proto_init() {
+ if File_ResinCardDataUpdateNotify_proto != nil {
+ return
+ }
+ file_ResinCardData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ResinCardDataUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResinCardDataUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResinCardDataUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResinCardDataUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_ResinCardDataUpdateNotify_proto_depIdxs,
+ MessageInfos: file_ResinCardDataUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_ResinCardDataUpdateNotify_proto = out.File
+ file_ResinCardDataUpdateNotify_proto_rawDesc = nil
+ file_ResinCardDataUpdateNotify_proto_goTypes = nil
+ file_ResinCardDataUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResinChangeNotify.pb.go b/protocol/proto/ResinChangeNotify.pb.go
new file mode 100644
index 00000000..6edcb2a6
--- /dev/null
+++ b/protocol/proto/ResinChangeNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResinChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 642
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ResinChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NextAddTimestamp uint32 `protobuf:"varint,6,opt,name=next_add_timestamp,json=nextAddTimestamp,proto3" json:"next_add_timestamp,omitempty"`
+ CurBuyCount uint32 `protobuf:"varint,4,opt,name=cur_buy_count,json=curBuyCount,proto3" json:"cur_buy_count,omitempty"`
+ CurValue uint32 `protobuf:"varint,12,opt,name=cur_value,json=curValue,proto3" json:"cur_value,omitempty"`
+}
+
+func (x *ResinChangeNotify) Reset() {
+ *x = ResinChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ResinChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResinChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResinChangeNotify) ProtoMessage() {}
+
+func (x *ResinChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ResinChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResinChangeNotify.ProtoReflect.Descriptor instead.
+func (*ResinChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ResinChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResinChangeNotify) GetNextAddTimestamp() uint32 {
+ if x != nil {
+ return x.NextAddTimestamp
+ }
+ return 0
+}
+
+func (x *ResinChangeNotify) GetCurBuyCount() uint32 {
+ if x != nil {
+ return x.CurBuyCount
+ }
+ return 0
+}
+
+func (x *ResinChangeNotify) GetCurValue() uint32 {
+ if x != nil {
+ return x.CurValue
+ }
+ return 0
+}
+
+var File_ResinChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ResinChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x82, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x61,
+ 0x64, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x41, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x5f, 0x62, 0x75, 0x79, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72,
+ 0x42, 0x75, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResinChangeNotify_proto_rawDescOnce sync.Once
+ file_ResinChangeNotify_proto_rawDescData = file_ResinChangeNotify_proto_rawDesc
+)
+
+func file_ResinChangeNotify_proto_rawDescGZIP() []byte {
+ file_ResinChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ResinChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResinChangeNotify_proto_rawDescData)
+ })
+ return file_ResinChangeNotify_proto_rawDescData
+}
+
+var file_ResinChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ResinChangeNotify_proto_goTypes = []interface{}{
+ (*ResinChangeNotify)(nil), // 0: proto.ResinChangeNotify
+}
+var file_ResinChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ResinChangeNotify_proto_init() }
+func file_ResinChangeNotify_proto_init() {
+ if File_ResinChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ResinChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResinChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResinChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResinChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ResinChangeNotify_proto_depIdxs,
+ MessageInfos: file_ResinChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ResinChangeNotify_proto = out.File
+ file_ResinChangeNotify_proto_rawDesc = nil
+ file_ResinChangeNotify_proto_goTypes = nil
+ file_ResinChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResinCostType.pb.go b/protocol/proto/ResinCostType.pb.go
new file mode 100644
index 00000000..f84a3565
--- /dev/null
+++ b/protocol/proto/ResinCostType.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResinCostType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ResinCostType int32
+
+const (
+ ResinCostType_RESIN_COST_TYPE_NONE ResinCostType = 0
+ ResinCostType_RESIN_COST_TYPE_NORMAL ResinCostType = 1
+ ResinCostType_RESIN_COST_TYPE_CONDENSE ResinCostType = 2
+ ResinCostType_RESIN_COST_TYPE_REUNION_PRIVILEGE ResinCostType = 3
+ ResinCostType_RESIN_COST_TYPE_OP_ACTIVITY ResinCostType = 4
+ ResinCostType_RESIN_COST_TYPE_MATERIAL ResinCostType = 5
+)
+
+// Enum value maps for ResinCostType.
+var (
+ ResinCostType_name = map[int32]string{
+ 0: "RESIN_COST_TYPE_NONE",
+ 1: "RESIN_COST_TYPE_NORMAL",
+ 2: "RESIN_COST_TYPE_CONDENSE",
+ 3: "RESIN_COST_TYPE_REUNION_PRIVILEGE",
+ 4: "RESIN_COST_TYPE_OP_ACTIVITY",
+ 5: "RESIN_COST_TYPE_MATERIAL",
+ }
+ ResinCostType_value = map[string]int32{
+ "RESIN_COST_TYPE_NONE": 0,
+ "RESIN_COST_TYPE_NORMAL": 1,
+ "RESIN_COST_TYPE_CONDENSE": 2,
+ "RESIN_COST_TYPE_REUNION_PRIVILEGE": 3,
+ "RESIN_COST_TYPE_OP_ACTIVITY": 4,
+ "RESIN_COST_TYPE_MATERIAL": 5,
+ }
+)
+
+func (x ResinCostType) Enum() *ResinCostType {
+ p := new(ResinCostType)
+ *p = x
+ return p
+}
+
+func (x ResinCostType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ResinCostType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ResinCostType_proto_enumTypes[0].Descriptor()
+}
+
+func (ResinCostType) Type() protoreflect.EnumType {
+ return &file_ResinCostType_proto_enumTypes[0]
+}
+
+func (x ResinCostType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ResinCostType.Descriptor instead.
+func (ResinCostType) EnumDescriptor() ([]byte, []int) {
+ return file_ResinCostType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ResinCostType_proto protoreflect.FileDescriptor
+
+var file_ResinCostType_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xc9, 0x01, 0x0a,
+ 0x0d, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
+ 0x0a, 0x14, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x53, 0x49,
+ 0x4e, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x52, 0x4d,
+ 0x41, 0x4c, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x43, 0x4f,
+ 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x45, 0x4e, 0x53, 0x45,
+ 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x53, 0x54,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52,
+ 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x53,
+ 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x50, 0x5f,
+ 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45,
+ 0x53, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41,
+ 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x05, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResinCostType_proto_rawDescOnce sync.Once
+ file_ResinCostType_proto_rawDescData = file_ResinCostType_proto_rawDesc
+)
+
+func file_ResinCostType_proto_rawDescGZIP() []byte {
+ file_ResinCostType_proto_rawDescOnce.Do(func() {
+ file_ResinCostType_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResinCostType_proto_rawDescData)
+ })
+ return file_ResinCostType_proto_rawDescData
+}
+
+var file_ResinCostType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ResinCostType_proto_goTypes = []interface{}{
+ (ResinCostType)(0), // 0: proto.ResinCostType
+}
+var file_ResinCostType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ResinCostType_proto_init() }
+func file_ResinCostType_proto_init() {
+ if File_ResinCostType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResinCostType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResinCostType_proto_goTypes,
+ DependencyIndexes: file_ResinCostType_proto_depIdxs,
+ EnumInfos: file_ResinCostType_proto_enumTypes,
+ }.Build()
+ File_ResinCostType_proto = out.File
+ file_ResinCostType_proto_rawDesc = nil
+ file_ResinCostType_proto_goTypes = nil
+ file_ResinCostType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RestartEffigyChallengeReq.pb.go b/protocol/proto/RestartEffigyChallengeReq.pb.go
new file mode 100644
index 00000000..1d018cf6
--- /dev/null
+++ b/protocol/proto/RestartEffigyChallengeReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RestartEffigyChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2148
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RestartEffigyChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RestartEffigyChallengeReq) Reset() {
+ *x = RestartEffigyChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RestartEffigyChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RestartEffigyChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RestartEffigyChallengeReq) ProtoMessage() {}
+
+func (x *RestartEffigyChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RestartEffigyChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RestartEffigyChallengeReq.ProtoReflect.Descriptor instead.
+func (*RestartEffigyChallengeReq) Descriptor() ([]byte, []int) {
+ return file_RestartEffigyChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RestartEffigyChallengeReq_proto protoreflect.FileDescriptor
+
+var file_RestartEffigyChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RestartEffigyChallengeReq_proto_rawDescOnce sync.Once
+ file_RestartEffigyChallengeReq_proto_rawDescData = file_RestartEffigyChallengeReq_proto_rawDesc
+)
+
+func file_RestartEffigyChallengeReq_proto_rawDescGZIP() []byte {
+ file_RestartEffigyChallengeReq_proto_rawDescOnce.Do(func() {
+ file_RestartEffigyChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RestartEffigyChallengeReq_proto_rawDescData)
+ })
+ return file_RestartEffigyChallengeReq_proto_rawDescData
+}
+
+var file_RestartEffigyChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RestartEffigyChallengeReq_proto_goTypes = []interface{}{
+ (*RestartEffigyChallengeReq)(nil), // 0: proto.RestartEffigyChallengeReq
+}
+var file_RestartEffigyChallengeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RestartEffigyChallengeReq_proto_init() }
+func file_RestartEffigyChallengeReq_proto_init() {
+ if File_RestartEffigyChallengeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RestartEffigyChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RestartEffigyChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RestartEffigyChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RestartEffigyChallengeReq_proto_goTypes,
+ DependencyIndexes: file_RestartEffigyChallengeReq_proto_depIdxs,
+ MessageInfos: file_RestartEffigyChallengeReq_proto_msgTypes,
+ }.Build()
+ File_RestartEffigyChallengeReq_proto = out.File
+ file_RestartEffigyChallengeReq_proto_rawDesc = nil
+ file_RestartEffigyChallengeReq_proto_goTypes = nil
+ file_RestartEffigyChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RestartEffigyChallengeRsp.pb.go b/protocol/proto/RestartEffigyChallengeRsp.pb.go
new file mode 100644
index 00000000..8bebf452
--- /dev/null
+++ b/protocol/proto/RestartEffigyChallengeRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RestartEffigyChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2042
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RestartEffigyChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RestartEffigyChallengeRsp) Reset() {
+ *x = RestartEffigyChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RestartEffigyChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RestartEffigyChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RestartEffigyChallengeRsp) ProtoMessage() {}
+
+func (x *RestartEffigyChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RestartEffigyChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RestartEffigyChallengeRsp.ProtoReflect.Descriptor instead.
+func (*RestartEffigyChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_RestartEffigyChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RestartEffigyChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RestartEffigyChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_RestartEffigyChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RestartEffigyChallengeRsp_proto_rawDescOnce sync.Once
+ file_RestartEffigyChallengeRsp_proto_rawDescData = file_RestartEffigyChallengeRsp_proto_rawDesc
+)
+
+func file_RestartEffigyChallengeRsp_proto_rawDescGZIP() []byte {
+ file_RestartEffigyChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_RestartEffigyChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RestartEffigyChallengeRsp_proto_rawDescData)
+ })
+ return file_RestartEffigyChallengeRsp_proto_rawDescData
+}
+
+var file_RestartEffigyChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RestartEffigyChallengeRsp_proto_goTypes = []interface{}{
+ (*RestartEffigyChallengeRsp)(nil), // 0: proto.RestartEffigyChallengeRsp
+}
+var file_RestartEffigyChallengeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RestartEffigyChallengeRsp_proto_init() }
+func file_RestartEffigyChallengeRsp_proto_init() {
+ if File_RestartEffigyChallengeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RestartEffigyChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RestartEffigyChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RestartEffigyChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RestartEffigyChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_RestartEffigyChallengeRsp_proto_depIdxs,
+ MessageInfos: file_RestartEffigyChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_RestartEffigyChallengeRsp_proto = out.File
+ file_RestartEffigyChallengeRsp_proto_rawDesc = nil
+ file_RestartEffigyChallengeRsp_proto_goTypes = nil
+ file_RestartEffigyChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResumeRogueDiaryDungeonReq.pb.go b/protocol/proto/ResumeRogueDiaryDungeonReq.pb.go
new file mode 100644
index 00000000..6e61a7f6
--- /dev/null
+++ b/protocol/proto/ResumeRogueDiaryDungeonReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResumeRogueDiaryDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8838
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ResumeRogueDiaryDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,2,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *ResumeRogueDiaryDungeonReq) Reset() {
+ *x = ResumeRogueDiaryDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ResumeRogueDiaryDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResumeRogueDiaryDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResumeRogueDiaryDungeonReq) ProtoMessage() {}
+
+func (x *ResumeRogueDiaryDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ResumeRogueDiaryDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResumeRogueDiaryDungeonReq.ProtoReflect.Descriptor instead.
+func (*ResumeRogueDiaryDungeonReq) Descriptor() ([]byte, []int) {
+ return file_ResumeRogueDiaryDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResumeRogueDiaryDungeonReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_ResumeRogueDiaryDungeonReq_proto protoreflect.FileDescriptor
+
+var file_ResumeRogueDiaryDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61,
+ 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x1a, 0x52, 0x65, 0x73,
+ 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResumeRogueDiaryDungeonReq_proto_rawDescOnce sync.Once
+ file_ResumeRogueDiaryDungeonReq_proto_rawDescData = file_ResumeRogueDiaryDungeonReq_proto_rawDesc
+)
+
+func file_ResumeRogueDiaryDungeonReq_proto_rawDescGZIP() []byte {
+ file_ResumeRogueDiaryDungeonReq_proto_rawDescOnce.Do(func() {
+ file_ResumeRogueDiaryDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResumeRogueDiaryDungeonReq_proto_rawDescData)
+ })
+ return file_ResumeRogueDiaryDungeonReq_proto_rawDescData
+}
+
+var file_ResumeRogueDiaryDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ResumeRogueDiaryDungeonReq_proto_goTypes = []interface{}{
+ (*ResumeRogueDiaryDungeonReq)(nil), // 0: proto.ResumeRogueDiaryDungeonReq
+}
+var file_ResumeRogueDiaryDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ResumeRogueDiaryDungeonReq_proto_init() }
+func file_ResumeRogueDiaryDungeonReq_proto_init() {
+ if File_ResumeRogueDiaryDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ResumeRogueDiaryDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResumeRogueDiaryDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResumeRogueDiaryDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResumeRogueDiaryDungeonReq_proto_goTypes,
+ DependencyIndexes: file_ResumeRogueDiaryDungeonReq_proto_depIdxs,
+ MessageInfos: file_ResumeRogueDiaryDungeonReq_proto_msgTypes,
+ }.Build()
+ File_ResumeRogueDiaryDungeonReq_proto = out.File
+ file_ResumeRogueDiaryDungeonReq_proto_rawDesc = nil
+ file_ResumeRogueDiaryDungeonReq_proto_goTypes = nil
+ file_ResumeRogueDiaryDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ResumeRogueDiaryDungeonRsp.pb.go b/protocol/proto/ResumeRogueDiaryDungeonRsp.pb.go
new file mode 100644
index 00000000..2d877bf2
--- /dev/null
+++ b/protocol/proto/ResumeRogueDiaryDungeonRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ResumeRogueDiaryDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8989
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ResumeRogueDiaryDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ResumeRogueDiaryDungeonRsp) Reset() {
+ *x = ResumeRogueDiaryDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ResumeRogueDiaryDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResumeRogueDiaryDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResumeRogueDiaryDungeonRsp) ProtoMessage() {}
+
+func (x *ResumeRogueDiaryDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ResumeRogueDiaryDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResumeRogueDiaryDungeonRsp.ProtoReflect.Descriptor instead.
+func (*ResumeRogueDiaryDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_ResumeRogueDiaryDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ResumeRogueDiaryDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ResumeRogueDiaryDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_ResumeRogueDiaryDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61,
+ 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x52, 0x65, 0x73,
+ 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ResumeRogueDiaryDungeonRsp_proto_rawDescOnce sync.Once
+ file_ResumeRogueDiaryDungeonRsp_proto_rawDescData = file_ResumeRogueDiaryDungeonRsp_proto_rawDesc
+)
+
+func file_ResumeRogueDiaryDungeonRsp_proto_rawDescGZIP() []byte {
+ file_ResumeRogueDiaryDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_ResumeRogueDiaryDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ResumeRogueDiaryDungeonRsp_proto_rawDescData)
+ })
+ return file_ResumeRogueDiaryDungeonRsp_proto_rawDescData
+}
+
+var file_ResumeRogueDiaryDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ResumeRogueDiaryDungeonRsp_proto_goTypes = []interface{}{
+ (*ResumeRogueDiaryDungeonRsp)(nil), // 0: proto.ResumeRogueDiaryDungeonRsp
+}
+var file_ResumeRogueDiaryDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ResumeRogueDiaryDungeonRsp_proto_init() }
+func file_ResumeRogueDiaryDungeonRsp_proto_init() {
+ if File_ResumeRogueDiaryDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ResumeRogueDiaryDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResumeRogueDiaryDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ResumeRogueDiaryDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ResumeRogueDiaryDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_ResumeRogueDiaryDungeonRsp_proto_depIdxs,
+ MessageInfos: file_ResumeRogueDiaryDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_ResumeRogueDiaryDungeonRsp_proto = out.File
+ file_ResumeRogueDiaryDungeonRsp_proto_rawDesc = nil
+ file_ResumeRogueDiaryDungeonRsp_proto_goTypes = nil
+ file_ResumeRogueDiaryDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Retcode.pb.go b/protocol/proto/Retcode.pb.go
new file mode 100644
index 00000000..73c38f15
--- /dev/null
+++ b/protocol/proto/Retcode.pb.go
@@ -0,0 +1,5998 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Retcode.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Retcode int32
+
+const (
+ Retcode_RETCODE_RET_SUCC Retcode = 0
+ Retcode_RETCODE_RET_FAIL Retcode = -1
+ Retcode_RETCODE_RET_SVR_ERROR Retcode = 1
+ Retcode_RETCODE_RET_UNKNOWN_ERROR Retcode = 2
+ Retcode_RETCODE_RET_FREQUENT Retcode = 3
+ Retcode_RETCODE_RET_NODE_FORWARD_ERROR Retcode = 4
+ Retcode_RETCODE_RET_NOT_FOUND_CONFIG Retcode = 5
+ Retcode_RETCODE_RET_SYSTEM_BUSY Retcode = 6
+ Retcode_RETCODE_RET_GM_UID_BIND Retcode = 7
+ Retcode_RETCODE_RET_FORBIDDEN Retcode = 8
+ Retcode_RETCODE_RET_STOP_REGISTER Retcode = 10
+ Retcode_RETCODE_RET_STOP_SERVER Retcode = 11
+ Retcode_RETCODE_RET_ACCOUNT_VEIRFY_ERROR Retcode = 12
+ Retcode_RETCODE_RET_ACCOUNT_FREEZE Retcode = 13
+ Retcode_RETCODE_RET_REPEAT_LOGIN Retcode = 14
+ Retcode_RETCODE_RET_CLIENT_VERSION_ERROR Retcode = 15
+ Retcode_RETCODE_RET_TOKEN_ERROR Retcode = 16
+ Retcode_RETCODE_RET_ACCOUNT_NOT_EXIST Retcode = 17
+ Retcode_RETCODE_RET_WAIT_OTHER_LOGIN Retcode = 18
+ Retcode_RETCODE_RET_ANOTHER_LOGIN Retcode = 19
+ Retcode_RETCODE_RET_CLIENT_FORCE_UPDATE Retcode = 20
+ Retcode_RETCODE_RET_BLACK_UID Retcode = 21
+ Retcode_RETCODE_RET_LOGIN_DB_FAIL Retcode = 22
+ Retcode_RETCODE_RET_LOGIN_INIT_FAIL Retcode = 23
+ Retcode_RETCODE_RET_MYSQL_DUPLICATE Retcode = 24
+ Retcode_RETCODE_RET_MAX_PLAYER Retcode = 25
+ Retcode_RETCODE_RET_ANTI_ADDICT Retcode = 26
+ Retcode_RETCODE_RET_PS_PLAYER_WITHOUT_ONLINE_ID Retcode = 27
+ Retcode_RETCODE_RET_ONLINE_ID_NOT_FOUND Retcode = 28
+ Retcode_RETCODE_RET_ONLNE_ID_NOT_MATCH Retcode = 29
+ Retcode_RETCODE_RET_REGISTER_IS_FULL Retcode = 30
+ Retcode_RETCODE_RET_CHECKSUM_INVALID Retcode = 31
+ Retcode_RETCODE_RET_BLACK_REGISTER_IP Retcode = 32
+ Retcode_RETCODE_RET_EXCEED_REGISTER_RATE Retcode = 33
+ Retcode_RETCODE_RET_UNKNOWN_PLATFORM Retcode = 34
+ Retcode_RETCODE_RET_TOKEN_PARAM_ERROR Retcode = 35
+ Retcode_RETCODE_RET_ANTI_OFFLINE_ERROR Retcode = 36
+ Retcode_RETCODE_RET_BLACK_LOGIN_IP Retcode = 37
+ Retcode_RETCODE_RET_GET_TOKEN_SESSION_HAS_UID Retcode = 38
+ Retcode_RETCODE_RET_ENVIRONMENT_ERROR Retcode = 39
+ Retcode_RETCODE_RET_CHECK_CLIENT_VERSION_HASH_FAIL Retcode = 40
+ Retcode_RETCODE_RET_MINOR_REGISTER_FOBIDDEN Retcode = 41
+ Retcode_RETCODE_RET_SECURITY_LIBRARY_ERROR Retcode = 42
+ Retcode_RETCODE_RET_AVATAR_IN_CD Retcode = 101
+ Retcode_RETCODE_RET_AVATAR_NOT_ALIVE Retcode = 102
+ Retcode_RETCODE_RET_AVATAR_NOT_ON_SCENE Retcode = 103
+ Retcode_RETCODE_RET_CAN_NOT_FIND_AVATAR Retcode = 104
+ Retcode_RETCODE_RET_CAN_NOT_DEL_CUR_AVATAR Retcode = 105
+ Retcode_RETCODE_RET_DUPLICATE_AVATAR Retcode = 106
+ Retcode_RETCODE_RET_AVATAR_IS_SAME_ONE Retcode = 107
+ Retcode_RETCODE_RET_AVATAR_LEVEL_LESS_THAN Retcode = 108
+ Retcode_RETCODE_RET_AVATAR_CAN_NOT_CHANGE_ELEMENT Retcode = 109
+ Retcode_RETCODE_RET_AVATAR_BREAK_LEVEL_LESS_THAN Retcode = 110
+ Retcode_RETCODE_RET_AVATAR_ON_MAX_BREAK_LEVEL Retcode = 111
+ Retcode_RETCODE_RET_AVATAR_ID_ALREADY_EXIST Retcode = 112
+ Retcode_RETCODE_RET_AVATAR_NOT_DEAD Retcode = 113
+ Retcode_RETCODE_RET_AVATAR_IS_REVIVING Retcode = 114
+ Retcode_RETCODE_RET_AVATAR_ID_ERROR Retcode = 115
+ Retcode_RETCODE_RET_REPEAT_SET_PLAYER_BORN_DATA Retcode = 116
+ Retcode_RETCODE_RET_PLAYER_LEVEL_LESS_THAN Retcode = 117
+ Retcode_RETCODE_RET_AVATAR_LIMIT_LEVEL_ERROR Retcode = 118
+ Retcode_RETCODE_RET_CUR_AVATAR_NOT_ALIVE Retcode = 119
+ Retcode_RETCODE_RET_CAN_NOT_FIND_TEAM Retcode = 120
+ Retcode_RETCODE_RET_CAN_NOT_FIND_CUR_TEAM Retcode = 121
+ Retcode_RETCODE_RET_AVATAR_NOT_EXIST_IN_TEAM Retcode = 122
+ Retcode_RETCODE_RET_CAN_NOT_REMOVE_CUR_AVATAR_FROM_TEAM Retcode = 123
+ Retcode_RETCODE_RET_CAN_NOT_USE_REVIVE_ITEM_FOR_CUR_AVATAR Retcode = 124
+ Retcode_RETCODE_RET_TEAM_COST_EXCEED_LIMIT Retcode = 125
+ Retcode_RETCODE_RET_TEAM_AVATAR_IN_EXPEDITION Retcode = 126
+ Retcode_RETCODE_RET_TEAM_CAN_NOT_CHOSE_REPLACE_USE Retcode = 127
+ Retcode_RETCODE_RET_AVATAR_IN_COMBAT Retcode = 128
+ Retcode_RETCODE_RET_NICKNAME_UTF8_ERROR Retcode = 130
+ Retcode_RETCODE_RET_NICKNAME_TOO_LONG Retcode = 131
+ Retcode_RETCODE_RET_NICKNAME_WORD_ILLEGAL Retcode = 132
+ Retcode_RETCODE_RET_NICKNAME_TOO_MANY_DIGITS Retcode = 133
+ Retcode_RETCODE_RET_NICKNAME_IS_EMPTY Retcode = 134
+ Retcode_RETCODE_RET_NICKNAME_MONTHLY_LIMIT Retcode = 135
+ Retcode_RETCODE_RET_NICKNAME_NOT_CHANGED Retcode = 136
+ Retcode_RETCODE_RET_PLAYER_NOT_ONLINE Retcode = 140
+ Retcode_RETCODE_RET_OPEN_STATE_NOT_OPEN Retcode = 141
+ Retcode_RETCODE_RET_FEATURE_CLOSED Retcode = 142
+ Retcode_RETCODE_RET_AVATAR_EXPEDITION_AVATAR_DIE Retcode = 152
+ Retcode_RETCODE_RET_AVATAR_EXPEDITION_COUNT_LIMIT Retcode = 153
+ Retcode_RETCODE_RET_AVATAR_EXPEDITION_MAIN_FORBID Retcode = 154
+ Retcode_RETCODE_RET_AVATAR_EXPEDITION_TRIAL_FORBID Retcode = 155
+ Retcode_RETCODE_RET_TEAM_NAME_ILLEGAL Retcode = 156
+ Retcode_RETCODE_RET_IS_NOT_IN_STANDBY Retcode = 157
+ Retcode_RETCODE_RET_IS_IN_DUNGEON Retcode = 158
+ Retcode_RETCODE_RET_IS_IN_LOCK_AVATAR_QUEST Retcode = 159
+ Retcode_RETCODE_RET_IS_USING_TRIAL_AVATAR Retcode = 160
+ Retcode_RETCODE_RET_IS_USING_TEMP_AVATAR Retcode = 161
+ Retcode_RETCODE_RET_NOT_HAS_FLYCLOAK Retcode = 162
+ Retcode_RETCODE_RET_FETTER_REWARD_ALREADY_GOT Retcode = 163
+ Retcode_RETCODE_RET_FETTER_REWARD_LEVEL_NOT_ENOUGH Retcode = 164
+ Retcode_RETCODE_RET_WORLD_LEVEL_ADJUST_MIN_LEVEL Retcode = 165
+ Retcode_RETCODE_RET_WORLD_LEVEL_ADJUST_CD Retcode = 166
+ Retcode_RETCODE_RET_NOT_HAS_COSTUME Retcode = 167
+ Retcode_RETCODE_RET_COSTUME_AVATAR_ERROR Retcode = 168
+ Retcode_RETCODE_RET_FLYCLOAK_PLATFORM_TYPE_ERR Retcode = 169
+ Retcode_RETCODE_RET_IN_TRANSFER Retcode = 170
+ Retcode_RETCODE_RET_IS_IN_LOCK_AVATAR Retcode = 171
+ Retcode_RETCODE_RET_FULL_BACKUP_TEAM Retcode = 172
+ Retcode_RETCODE_RET_BACKUP_TEAM_ID_NOT_VALID Retcode = 173
+ Retcode_RETCODE_RET_BACKUP_TEAM_IS_CUR_TEAM Retcode = 174
+ Retcode_RETCODE_RET_FLOAT_ERROR Retcode = 201
+ Retcode_RETCODE_RET_NPC_NOT_EXIST Retcode = 301
+ Retcode_RETCODE_RET_NPC_TOO_FAR Retcode = 302
+ Retcode_RETCODE_RET_NOT_CURRENT_TALK Retcode = 303
+ Retcode_RETCODE_RET_NPC_CREATE_FAIL Retcode = 304
+ Retcode_RETCODE_RET_NPC_MOVE_FAIL Retcode = 305
+ Retcode_RETCODE_RET_QUEST_NOT_EXIST Retcode = 401
+ Retcode_RETCODE_RET_QUEST_IS_FAIL Retcode = 402
+ Retcode_RETCODE_RET_QUEST_CONTENT_ERROR Retcode = 403
+ Retcode_RETCODE_RET_BARGAIN_NOT_ACTIVATED Retcode = 404
+ Retcode_RETCODE_RET_BARGAIN_FINISHED Retcode = 405
+ Retcode_RETCODE_RET_INFERENCE_ASSOCIATE_WORD_ERROR Retcode = 406
+ Retcode_RETCODE_RET_INFERENCE_SUBMIT_WORD_NO_CONCLUSION Retcode = 407
+ Retcode_RETCODE_RET_POINT_NOT_UNLOCKED Retcode = 501
+ Retcode_RETCODE_RET_POINT_TOO_FAR Retcode = 502
+ Retcode_RETCODE_RET_POINT_ALREAY_UNLOCKED Retcode = 503
+ Retcode_RETCODE_RET_ENTITY_NOT_EXIST Retcode = 504
+ Retcode_RETCODE_RET_ENTER_SCENE_FAIL Retcode = 505
+ Retcode_RETCODE_RET_PLAYER_IS_ENTER_SCENE Retcode = 506
+ Retcode_RETCODE_RET_CITY_MAX_LEVEL Retcode = 507
+ Retcode_RETCODE_RET_AREA_LOCKED Retcode = 508
+ Retcode_RETCODE_RET_JOIN_OTHER_WAIT Retcode = 509
+ Retcode_RETCODE_RET_WEATHER_AREA_NOT_FOUND Retcode = 510
+ Retcode_RETCODE_RET_WEATHER_IS_LOCKED Retcode = 511
+ Retcode_RETCODE_RET_NOT_IN_SELF_SCENE Retcode = 512
+ Retcode_RETCODE_RET_GROUP_NOT_EXIST Retcode = 513
+ Retcode_RETCODE_RET_MARK_NAME_ILLEGAL Retcode = 514
+ Retcode_RETCODE_RET_MARK_ALREADY_EXISTS Retcode = 515
+ Retcode_RETCODE_RET_MARK_OVERFLOW Retcode = 516
+ Retcode_RETCODE_RET_MARK_NOT_EXISTS Retcode = 517
+ Retcode_RETCODE_RET_MARK_UNKNOWN_TYPE Retcode = 518
+ Retcode_RETCODE_RET_MARK_NAME_TOO_LONG Retcode = 519
+ Retcode_RETCODE_RET_DISTANCE_LONG Retcode = 520
+ Retcode_RETCODE_RET_ENTER_SCENE_TOKEN_INVALID Retcode = 521
+ Retcode_RETCODE_RET_NOT_IN_WORLD_SCENE Retcode = 522
+ Retcode_RETCODE_RET_ANY_GALLERY_STARTED Retcode = 523
+ Retcode_RETCODE_RET_GALLERY_NOT_START Retcode = 524
+ Retcode_RETCODE_RET_GALLERY_INTERRUPT_ONLY_ON_SINGLE_MODE Retcode = 525
+ Retcode_RETCODE_RET_GALLERY_CANNOT_INTERRUPT Retcode = 526
+ Retcode_RETCODE_RET_GALLERY_WORLD_NOT_MEET Retcode = 527
+ Retcode_RETCODE_RET_GALLERY_SCENE_NOT_MEET Retcode = 528
+ Retcode_RETCODE_RET_CUR_PLAY_CANNOT_TRANSFER Retcode = 529
+ Retcode_RETCODE_RET_CANT_USE_WIDGET_IN_HOME_SCENE Retcode = 530
+ Retcode_RETCODE_RET_SCENE_GROUP_NOT_MATCH Retcode = 531
+ Retcode_RETCODE_RET_POS_ROT_INVALID Retcode = 551
+ Retcode_RETCODE_RET_MARK_INVALID_SCENE_ID Retcode = 552
+ Retcode_RETCODE_RET_INVALID_SCENE_TO_USE_ANCHOR_POINT Retcode = 553
+ Retcode_RETCODE_RET_ENTER_HOME_SCENE_FAIL Retcode = 554
+ Retcode_RETCODE_RET_CUR_SCENE_IS_NULL Retcode = 555
+ Retcode_RETCODE_RET_GROUP_ID_ERROR Retcode = 556
+ Retcode_RETCODE_RET_GALLERY_INTERRUPT_NOT_OWNER Retcode = 557
+ Retcode_RETCODE_RET_NO_SPRING_IN_AREA Retcode = 558
+ Retcode_RETCODE_RET_AREA_NOT_IN_SCENE Retcode = 559
+ Retcode_RETCODE_RET_INVALID_CITY_ID Retcode = 560
+ Retcode_RETCODE_RET_INVALID_SCENE_ID Retcode = 561
+ Retcode_RETCODE_RET_DEST_SCENE_IS_NOT_ALLOW Retcode = 562
+ Retcode_RETCODE_RET_LEVEL_TAG_SWITCH_IN_CD Retcode = 563
+ Retcode_RETCODE_RET_LEVEL_TAG_ALREADY_EXIST Retcode = 564
+ Retcode_RETCODE_RET_INVALID_AREA_ID Retcode = 565
+ Retcode_RETCODE_RET_ITEM_NOT_EXIST Retcode = 601
+ Retcode_RETCODE_RET_PACK_EXCEED_MAX_WEIGHT Retcode = 602
+ Retcode_RETCODE_RET_ITEM_NOT_DROPABLE Retcode = 603
+ Retcode_RETCODE_RET_ITEM_NOT_USABLE Retcode = 604
+ Retcode_RETCODE_RET_ITEM_INVALID_USE_COUNT Retcode = 605
+ Retcode_RETCODE_RET_ITEM_INVALID_DROP_COUNT Retcode = 606
+ Retcode_RETCODE_RET_ITEM_ALREADY_EXIST Retcode = 607
+ Retcode_RETCODE_RET_ITEM_IN_COOLDOWN Retcode = 608
+ Retcode_RETCODE_RET_ITEM_COUNT_NOT_ENOUGH Retcode = 609
+ Retcode_RETCODE_RET_ITEM_INVALID_TARGET Retcode = 610
+ Retcode_RETCODE_RET_RECIPE_NOT_EXIST Retcode = 611
+ Retcode_RETCODE_RET_RECIPE_LOCKED Retcode = 612
+ Retcode_RETCODE_RET_RECIPE_UNLOCKED Retcode = 613
+ Retcode_RETCODE_RET_COMPOUND_QUEUE_FULL Retcode = 614
+ Retcode_RETCODE_RET_COMPOUND_NOT_FINISH Retcode = 615
+ Retcode_RETCODE_RET_MAIL_ITEM_NOT_GET Retcode = 616
+ Retcode_RETCODE_RET_ITEM_EXCEED_LIMIT Retcode = 617
+ Retcode_RETCODE_RET_AVATAR_CAN_NOT_USE Retcode = 618
+ Retcode_RETCODE_RET_ITEM_NEED_PLAYER_LEVEL Retcode = 619
+ Retcode_RETCODE_RET_RECIPE_NOT_AUTO_QTE Retcode = 620
+ Retcode_RETCODE_RET_COMPOUND_BUSY_QUEUE Retcode = 621
+ Retcode_RETCODE_RET_NEED_MORE_SCOIN Retcode = 622
+ Retcode_RETCODE_RET_SKILL_DEPOT_NOT_FOUND Retcode = 623
+ Retcode_RETCODE_RET_HCOIN_NOT_ENOUGH Retcode = 624
+ Retcode_RETCODE_RET_SCOIN_NOT_ENOUGH Retcode = 625
+ Retcode_RETCODE_RET_HCOIN_EXCEED_LIMIT Retcode = 626
+ Retcode_RETCODE_RET_SCOIN_EXCEED_LIMIT Retcode = 627
+ Retcode_RETCODE_RET_MAIL_EXPIRED Retcode = 628
+ Retcode_RETCODE_RET_REWARD_HAS_TAKEN Retcode = 629
+ Retcode_RETCODE_RET_COMBINE_COUNT_TOO_LARGE Retcode = 630
+ Retcode_RETCODE_RET_GIVING_ITEM_WRONG Retcode = 631
+ Retcode_RETCODE_RET_GIVING_IS_FINISHED Retcode = 632
+ Retcode_RETCODE_RET_GIVING_NOT_ACTIVED Retcode = 633
+ Retcode_RETCODE_RET_FORGE_QUEUE_FULL Retcode = 634
+ Retcode_RETCODE_RET_FORGE_QUEUE_CAPACITY Retcode = 635
+ Retcode_RETCODE_RET_FORGE_QUEUE_NOT_FOUND Retcode = 636
+ Retcode_RETCODE_RET_FORGE_QUEUE_EMPTY Retcode = 637
+ Retcode_RETCODE_RET_NOT_SUPPORT_ITEM Retcode = 638
+ Retcode_RETCODE_RET_ITEM_EMPTY Retcode = 639
+ Retcode_RETCODE_RET_VIRTUAL_EXCEED_LIMIT Retcode = 640
+ Retcode_RETCODE_RET_MATERIAL_EXCEED_LIMIT Retcode = 641
+ Retcode_RETCODE_RET_EQUIP_EXCEED_LIMIT Retcode = 642
+ Retcode_RETCODE_RET_ITEM_SHOULD_HAVE_NO_LEVEL Retcode = 643
+ Retcode_RETCODE_RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT Retcode = 644
+ Retcode_RETCODE_RET_WEAPON_LEVEL_INVALID Retcode = 645
+ Retcode_RETCODE_RET_UNKNOW_ITEM_TYPE Retcode = 646
+ Retcode_RETCODE_RET_ITEM_COUNT_IS_ZERO Retcode = 647
+ Retcode_RETCODE_RET_ITEM_IS_EXPIRED Retcode = 648
+ Retcode_RETCODE_RET_ITEM_EXCEED_OUTPUT_LIMIT Retcode = 649
+ Retcode_RETCODE_RET_EQUIP_LEVEL_HIGHER Retcode = 650
+ Retcode_RETCODE_RET_EQUIP_CAN_NOT_WAKE_OFF_WEAPON Retcode = 651
+ Retcode_RETCODE_RET_EQUIP_HAS_BEEN_WEARED Retcode = 652
+ Retcode_RETCODE_RET_EQUIP_WEARED_CANNOT_DROP Retcode = 653
+ Retcode_RETCODE_RET_AWAKEN_LEVEL_MAX Retcode = 654
+ Retcode_RETCODE_RET_MCOIN_NOT_ENOUGH Retcode = 655
+ Retcode_RETCODE_RET_MCOIN_EXCEED_LIMIT Retcode = 656
+ Retcode_RETCODE_RET_RESIN_NOT_ENOUGH Retcode = 660
+ Retcode_RETCODE_RET_RESIN_EXCEED_LIMIT Retcode = 661
+ Retcode_RETCODE_RET_RESIN_OPENSTATE_OFF Retcode = 662
+ Retcode_RETCODE_RET_RESIN_BOUGHT_COUNT_EXCEEDED Retcode = 663
+ Retcode_RETCODE_RET_RESIN_CARD_DAILY_REWARD_HAS_TAKEN Retcode = 664
+ Retcode_RETCODE_RET_RESIN_CARD_EXPIRED Retcode = 665
+ Retcode_RETCODE_RET_AVATAR_CAN_NOT_COOK Retcode = 666
+ Retcode_RETCODE_RET_ATTACH_AVATAR_CD Retcode = 667
+ Retcode_RETCODE_RET_AUTO_RECOVER_OPENSTATE_OFF Retcode = 668
+ Retcode_RETCODE_RET_AUTO_RECOVER_BOUGHT_COUNT_EXCEEDED Retcode = 669
+ Retcode_RETCODE_RET_RESIN_GAIN_FAILED Retcode = 670
+ Retcode_RETCODE_RET_WIDGET_ORNAMENTS_TYPE_ERROR Retcode = 671
+ Retcode_RETCODE_RET_ALL_TARGET_SATIATION_FULL Retcode = 672
+ Retcode_RETCODE_RET_FORGE_WORLD_LEVEL_NOT_MATCH Retcode = 673
+ Retcode_RETCODE_RET_FORGE_POINT_NOT_ENOUGH Retcode = 674
+ Retcode_RETCODE_RET_WIDGET_ANCHOR_POINT_FULL Retcode = 675
+ Retcode_RETCODE_RET_WIDGET_ANCHOR_POINT_NOT_FOUND Retcode = 676
+ Retcode_RETCODE_RET_ALL_BONFIRE_EXCEED_MAX_COUNT Retcode = 677
+ Retcode_RETCODE_RET_BONFIRE_EXCEED_MAX_COUNT Retcode = 678
+ Retcode_RETCODE_RET_LUNCH_BOX_DATA_ERROR Retcode = 679
+ Retcode_RETCODE_RET_INVALID_QUICK_USE_WIDGET Retcode = 680
+ Retcode_RETCODE_RET_INVALID_REPLACE_RESIN_COUNT Retcode = 681
+ Retcode_RETCODE_RET_PREV_DETECTED_GATHER_NOT_FOUND Retcode = 682
+ Retcode_RETCODE_RET_GOT_ALL_ONEOFF_GAHTER Retcode = 683
+ Retcode_RETCODE_RET_INVALID_WIDGET_MATERIAL_ID Retcode = 684
+ Retcode_RETCODE_RET_WIDGET_DETECTOR_NO_HINT_TO_CLEAR Retcode = 685
+ Retcode_RETCODE_RET_WIDGET_ALREADY_WITHIN_NEARBY_RADIUS Retcode = 686
+ Retcode_RETCODE_RET_WIDGET_CLIENT_COLLECTOR_NEED_POINTS Retcode = 687
+ Retcode_RETCODE_RET_WIDGET_IN_COMBAT Retcode = 688
+ Retcode_RETCODE_RET_WIDGET_NOT_SET_QUICK_USE Retcode = 689
+ Retcode_RETCODE_RET_ALREADY_ATTACH_WIDGET Retcode = 690
+ Retcode_RETCODE_RET_EQUIP_IS_LOCKED Retcode = 691
+ Retcode_RETCODE_RET_FORGE_IS_LOCKED Retcode = 692
+ Retcode_RETCODE_RET_COMBINE_IS_LOCKED Retcode = 693
+ Retcode_RETCODE_RET_FORGE_OUTPUT_STACK_LIMIT Retcode = 694
+ Retcode_RETCODE_RET_ALREADY_DETTACH_WIDGET Retcode = 695
+ Retcode_RETCODE_RET_GADGET_BUILDER_EXCEED_MAX_COUNT Retcode = 696
+ Retcode_RETCODE_RET_REUNION_PRIVILEGE_RESIN_TYPE_IS_NORMAL Retcode = 697
+ Retcode_RETCODE_RET_BONUS_COUNT_EXCEED_DOUBLE_LIMIT Retcode = 698
+ Retcode_RETCODE_RET_RELIQUARY_DECOMPOSE_PARAM_ERROR Retcode = 699
+ Retcode_RETCODE_RET_ITEM_COMBINE_COUNT_NOT_ENOUGH Retcode = 700
+ Retcode_RETCODE_RET_GOODS_NOT_EXIST Retcode = 701
+ Retcode_RETCODE_RET_GOODS_MATERIAL_NOT_ENOUGH Retcode = 702
+ Retcode_RETCODE_RET_GOODS_NOT_IN_TIME Retcode = 703
+ Retcode_RETCODE_RET_GOODS_BUY_NUM_NOT_ENOUGH Retcode = 704
+ Retcode_RETCODE_RET_GOODS_BUY_NUM_ERROR Retcode = 705
+ Retcode_RETCODE_RET_SHOP_NOT_OPEN Retcode = 706
+ Retcode_RETCODE_RET_SHOP_CONTENT_NOT_MATCH Retcode = 707
+ Retcode_RETCODE_RET_CHAT_FORBIDDEN Retcode = 798
+ Retcode_RETCODE_RET_CHAT_CD Retcode = 799
+ Retcode_RETCODE_RET_CHAT_FREQUENTLY Retcode = 800
+ Retcode_RETCODE_RET_GADGET_NOT_EXIST Retcode = 801
+ Retcode_RETCODE_RET_GADGET_NOT_INTERACTIVE Retcode = 802
+ Retcode_RETCODE_RET_GADGET_NOT_GATHERABLE Retcode = 803
+ Retcode_RETCODE_RET_CHEST_IS_LOCKED Retcode = 804
+ Retcode_RETCODE_RET_GADGET_CREATE_FAIL Retcode = 805
+ Retcode_RETCODE_RET_WORKTOP_OPTION_NOT_EXIST Retcode = 806
+ Retcode_RETCODE_RET_GADGET_STATUE_NOT_ACTIVE Retcode = 807
+ Retcode_RETCODE_RET_GADGET_STATUE_OPENED Retcode = 808
+ Retcode_RETCODE_RET_BOSS_CHEST_NO_QUALIFICATION Retcode = 809
+ Retcode_RETCODE_RET_BOSS_CHEST_LIFE_TIME_OVER Retcode = 810
+ Retcode_RETCODE_RET_BOSS_CHEST_WEEK_NUM_LIMIT Retcode = 811
+ Retcode_RETCODE_RET_BOSS_CHEST_GUEST_WORLD_LEVEL Retcode = 812
+ Retcode_RETCODE_RET_BOSS_CHEST_HAS_TAKEN Retcode = 813
+ Retcode_RETCODE_RET_BLOSSOM_CHEST_NO_QUALIFICATION Retcode = 814
+ Retcode_RETCODE_RET_BLOSSOM_CHEST_LIFE_TIME_OVER Retcode = 815
+ Retcode_RETCODE_RET_BLOSSOM_CHEST_HAS_TAKEN Retcode = 816
+ Retcode_RETCODE_RET_BLOSSOM_CHEST_GUEST_WORLD_LEVEL Retcode = 817
+ Retcode_RETCODE_RET_MP_PLAY_REWARD_NO_QUALIFICATION Retcode = 818
+ Retcode_RETCODE_RET_MP_PLAY_REWARD_HAS_TAKEN Retcode = 819
+ Retcode_RETCODE_RET_GENERAL_REWARD_NO_QUALIFICATION Retcode = 820
+ Retcode_RETCODE_RET_GENERAL_REWARD_LIFE_TIME_OVER Retcode = 821
+ Retcode_RETCODE_RET_GENERAL_REWARD_HAS_TAKEN Retcode = 822
+ Retcode_RETCODE_RET_GADGET_NOT_VEHICLE Retcode = 823
+ Retcode_RETCODE_RET_VEHICLE_SLOT_OCCUPIED Retcode = 824
+ Retcode_RETCODE_RET_NOT_IN_VEHICLE Retcode = 825
+ Retcode_RETCODE_RET_CREATE_VEHICLE_IN_CD Retcode = 826
+ Retcode_RETCODE_RET_CREATE_VEHICLE_POS_INVALID Retcode = 827
+ Retcode_RETCODE_RET_VEHICLE_POINT_NOT_UNLOCK Retcode = 828
+ Retcode_RETCODE_RET_GADGET_INTERACT_COND_NOT_MEET Retcode = 829
+ Retcode_RETCODE_RET_GADGET_INTERACT_PARAM_ERROR Retcode = 830
+ Retcode_RETCODE_RET_GADGET_CUSTOM_COMBINATION_INVALID Retcode = 831
+ Retcode_RETCODE_RET_DESHRET_OBELISK_DUPLICATE_INTERACT Retcode = 832
+ Retcode_RETCODE_RET_DESHRET_OBELISK_NO_AVAIL_CHEST Retcode = 833
+ Retcode_RETCODE_RET_ACTIVITY_CLOSE Retcode = 860
+ Retcode_RETCODE_RET_ACTIVITY_ITEM_ERROR Retcode = 861
+ Retcode_RETCODE_RET_ACTIVITY_CONTRIBUTION_NOT_ENOUGH Retcode = 862
+ Retcode_RETCODE_RET_SEA_LAMP_PHASE_NOT_FINISH Retcode = 863
+ Retcode_RETCODE_RET_SEA_LAMP_FLY_NUM_LIMIT Retcode = 864
+ Retcode_RETCODE_RET_SEA_LAMP_FLY_LAMP_WORD_ILLEGAL Retcode = 865
+ Retcode_RETCODE_RET_ACTIVITY_WATCHER_REWARD_TAKEN Retcode = 866
+ Retcode_RETCODE_RET_ACTIVITY_WATCHER_REWARD_NOT_FINISHED Retcode = 867
+ Retcode_RETCODE_RET_SALESMAN_ALREADY_DELIVERED Retcode = 868
+ Retcode_RETCODE_RET_SALESMAN_REWARD_COUNT_NOT_ENOUGH Retcode = 869
+ Retcode_RETCODE_RET_SALESMAN_POSITION_INVALID Retcode = 870
+ Retcode_RETCODE_RET_DELIVER_NOT_FINISH_ALL_QUEST Retcode = 871
+ Retcode_RETCODE_RET_DELIVER_ALREADY_TAKE_DAILY_REWARD Retcode = 872
+ Retcode_RETCODE_RET_ASTER_PROGRESS_EXCEED_LIMIT Retcode = 873
+ Retcode_RETCODE_RET_ASTER_CREDIT_EXCEED_LIMIT Retcode = 874
+ Retcode_RETCODE_RET_ASTER_TOKEN_EXCEED_LIMIT Retcode = 875
+ Retcode_RETCODE_RET_ASTER_CREDIT_NOT_ENOUGH Retcode = 876
+ Retcode_RETCODE_RET_ASTER_TOKEN_NOT_ENOUGH Retcode = 877
+ Retcode_RETCODE_RET_ASTER_SPECIAL_REWARD_HAS_TAKEN Retcode = 878
+ Retcode_RETCODE_RET_FLIGHT_GROUP_ACTIVITY_NOT_STARTED Retcode = 879
+ Retcode_RETCODE_RET_ASTER_MID_PREVIOUS_BATTLE_NOT_FINISHED Retcode = 880
+ Retcode_RETCODE_RET_DRAGON_SPINE_SHIMMERING_ESSENCE_EXCEED_LIMIT Retcode = 881
+ Retcode_RETCODE_RET_DRAGON_SPINE_WARM_ESSENCE_EXCEED_LIMIT Retcode = 882
+ Retcode_RETCODE_RET_DRAGON_SPINE_WONDROUS_ESSENCE_EXCEED_LIMIT Retcode = 883
+ Retcode_RETCODE_RET_DRAGON_SPINE_SHIMMERING_ESSENCE_NOT_ENOUGH Retcode = 884
+ Retcode_RETCODE_RET_DRAGON_SPINE_WARM_ESSENCE_NOT_ENOUGH Retcode = 885
+ Retcode_RETCODE_RET_DRAGON_SPINE_WONDROUS_ESSENCE_NOT_ENOUGH Retcode = 886
+ Retcode_RETCODE_RET_EFFIGY_FIRST_PASS_REWARD_HAS_TAKEN Retcode = 891
+ Retcode_RETCODE_RET_EFFIGY_REWARD_HAS_TAKEN Retcode = 892
+ Retcode_RETCODE_RET_TREASURE_MAP_ADD_TOKEN_EXCEED_LIMIT Retcode = 893
+ Retcode_RETCODE_RET_TREASURE_MAP_TOKEN_NOT_ENOUGHT Retcode = 894
+ Retcode_RETCODE_RET_SEA_LAMP_COIN_EXCEED_LIMIT Retcode = 895
+ Retcode_RETCODE_RET_SEA_LAMP_COIN_NOT_ENOUGH Retcode = 896
+ Retcode_RETCODE_RET_SEA_LAMP_POPULARITY_EXCEED_LIMIT Retcode = 897
+ Retcode_RETCODE_RET_ACTIVITY_AVATAR_REWARD_NOT_OPEN Retcode = 898
+ Retcode_RETCODE_RET_ACTIVITY_AVATAR_REWARD_HAS_TAKEN Retcode = 899
+ Retcode_RETCODE_RET_ARENA_ACTIVITY_ALREADY_STARTED Retcode = 900
+ Retcode_RETCODE_RET_TALENT_ALREAY_UNLOCKED Retcode = 901
+ Retcode_RETCODE_RET_PREV_TALENT_NOT_UNLOCKED Retcode = 902
+ Retcode_RETCODE_RET_BIG_TALENT_POINT_NOT_ENOUGH Retcode = 903
+ Retcode_RETCODE_RET_SMALL_TALENT_POINT_NOT_ENOUGH Retcode = 904
+ Retcode_RETCODE_RET_PROUD_SKILL_ALREADY_GOT Retcode = 905
+ Retcode_RETCODE_RET_PREV_PROUD_SKILL_NOT_GET Retcode = 906
+ Retcode_RETCODE_RET_PROUD_SKILL_MAX_LEVEL Retcode = 907
+ Retcode_RETCODE_RET_CANDIDATE_SKILL_DEPOT_ID_NOT_FIND Retcode = 910
+ Retcode_RETCODE_RET_SKILL_DEPOT_IS_THE_SAME Retcode = 911
+ Retcode_RETCODE_RET_MONSTER_NOT_EXIST Retcode = 1001
+ Retcode_RETCODE_RET_MONSTER_CREATE_FAIL Retcode = 1002
+ Retcode_RETCODE_RET_DUNGEON_ENTER_FAIL Retcode = 1101
+ Retcode_RETCODE_RET_DUNGEON_QUIT_FAIL Retcode = 1102
+ Retcode_RETCODE_RET_DUNGEON_ENTER_EXCEED_DAY_COUNT Retcode = 1103
+ Retcode_RETCODE_RET_DUNGEON_REVIVE_EXCEED_MAX_COUNT Retcode = 1104
+ Retcode_RETCODE_RET_DUNGEON_REVIVE_FAIL Retcode = 1105
+ Retcode_RETCODE_RET_DUNGEON_NOT_SUCCEED Retcode = 1106
+ Retcode_RETCODE_RET_DUNGEON_CAN_NOT_CANCEL Retcode = 1107
+ Retcode_RETCODE_RET_DEST_DUNGEON_SETTLED Retcode = 1108
+ Retcode_RETCODE_RET_DUNGEON_CANDIDATE_TEAM_IS_FULL Retcode = 1109
+ Retcode_RETCODE_RET_DUNGEON_CANDIDATE_TEAM_IS_DISMISS Retcode = 1110
+ Retcode_RETCODE_RET_DUNGEON_CANDIDATE_TEAM_NOT_ALL_READY Retcode = 1111
+ Retcode_RETCODE_RET_DUNGEON_CANDIDATE_TEAM_HAS_REPEAT_AVATAR Retcode = 1112
+ Retcode_RETCODE_RET_DUNGEON_CANDIDATE_NOT_SINGEL_PASS Retcode = 1113
+ Retcode_RETCODE_RET_DUNGEON_REPLAY_NEED_ALL_PLAYER_DIE Retcode = 1114
+ Retcode_RETCODE_RET_DUNGEON_REPLAY_HAS_REVIVE_COUNT Retcode = 1115
+ Retcode_RETCODE_RET_DUNGEON_OTHERS_LEAVE Retcode = 1116
+ Retcode_RETCODE_RET_DUNGEON_ENTER_LEVEL_LIMIT Retcode = 1117
+ Retcode_RETCODE_RET_DUNGEON_CANNOT_ENTER_PLOT_IN_MP Retcode = 1118
+ Retcode_RETCODE_RET_DUNGEON_DROP_SUBFIELD_LIMIT Retcode = 1119
+ Retcode_RETCODE_RET_DUNGEON_BE_INVITE_PLAYER_AVATAR_ALL_DIE Retcode = 1120
+ Retcode_RETCODE_RET_DUNGEON_CANNOT_KICK Retcode = 1121
+ Retcode_RETCODE_RET_DUNGEON_CANDIDATE_TEAM_SOMEONE_LEVEL_LIMIT Retcode = 1122
+ Retcode_RETCODE_RET_DUNGEON_IN_FORCE_QUIT Retcode = 1123
+ Retcode_RETCODE_RET_DUNGEON_GUEST_QUIT_DUNGEON Retcode = 1124
+ Retcode_RETCODE_RET_DUNGEON_TICKET_FAIL Retcode = 1125
+ Retcode_RETCODE_RET_MP_NOT_IN_MY_WORLD Retcode = 1201
+ Retcode_RETCODE_RET_MP_IN_MP_MODE Retcode = 1202
+ Retcode_RETCODE_RET_MP_SCENE_IS_FULL Retcode = 1203
+ Retcode_RETCODE_RET_MP_MODE_NOT_AVAILABLE Retcode = 1204
+ Retcode_RETCODE_RET_MP_PLAYER_NOT_ENTERABLE Retcode = 1205
+ Retcode_RETCODE_RET_MP_QUEST_BLOCK_MP Retcode = 1206
+ Retcode_RETCODE_RET_MP_IN_ROOM_SCENE Retcode = 1207
+ Retcode_RETCODE_RET_MP_WORLD_IS_FULL Retcode = 1208
+ Retcode_RETCODE_RET_MP_PLAYER_NOT_ALLOW_ENTER Retcode = 1209
+ Retcode_RETCODE_RET_MP_PLAYER_DISCONNECTED Retcode = 1210
+ Retcode_RETCODE_RET_MP_NOT_IN_MP_MODE Retcode = 1211
+ Retcode_RETCODE_RET_MP_OWNER_NOT_ENTER Retcode = 1212
+ Retcode_RETCODE_RET_MP_ALLOW_ENTER_PLAYER_FULL Retcode = 1213
+ Retcode_RETCODE_RET_MP_TARGET_PLAYER_IN_TRANSFER Retcode = 1214
+ Retcode_RETCODE_RET_MP_TARGET_ENTERING_OTHER Retcode = 1215
+ Retcode_RETCODE_RET_MP_OTHER_ENTERING Retcode = 1216
+ Retcode_RETCODE_RET_MP_ENTER_MAIN_PLAYER_IN_PLOT Retcode = 1217
+ Retcode_RETCODE_RET_MP_NOT_PS_PLAYER Retcode = 1218
+ Retcode_RETCODE_RET_MP_PLAY_NOT_ACTIVE Retcode = 1219
+ Retcode_RETCODE_RET_MP_PLAY_REMAIN_REWARDS Retcode = 1220
+ Retcode_RETCODE_RET_MP_PLAY_NO_REWARD Retcode = 1221
+ Retcode_RETCODE_RET_MP_OPEN_STATE_FAIL Retcode = 1223
+ Retcode_RETCODE_RET_MP_PLAYER_IN_BLACKLIST Retcode = 1224
+ Retcode_RETCODE_RET_MP_REPLY_TIMEOUT Retcode = 1225
+ Retcode_RETCODE_RET_MP_IS_BLOCK Retcode = 1226
+ Retcode_RETCODE_RET_MP_ENTER_MAIN_PLAYER_IN_MP_PLAY Retcode = 1227
+ Retcode_RETCODE_RET_MP_IN_MP_PLAY_BATTLE Retcode = 1228
+ Retcode_RETCODE_RET_MP_GUEST_HAS_REWARD_REMAINED Retcode = 1229
+ Retcode_RETCODE_RET_MP_QUIT_MP_INVALID Retcode = 1230
+ Retcode_RETCODE_RET_MP_OTHER_DATA_VERSION_NOT_LATEST Retcode = 1231
+ Retcode_RETCODE_RET_MP_DATA_VERSION_NOT_LATEST Retcode = 1232
+ Retcode_RETCODE_RET_MP_CUR_WORLD_NOT_ENTERABLE Retcode = 1233
+ Retcode_RETCODE_RET_MP_ANY_GALLERY_STARTED Retcode = 1234
+ Retcode_RETCODE_RET_MP_HAS_ACTIVE_DRAFT Retcode = 1235
+ Retcode_RETCODE_RET_MP_PLAYER_IN_DUNGEON Retcode = 1236
+ Retcode_RETCODE_RET_MP_MATCH_FULL Retcode = 1237
+ Retcode_RETCODE_RET_MP_MATCH_LIMIT Retcode = 1238
+ Retcode_RETCODE_RET_MP_MATCH_IN_PUNISH Retcode = 1239
+ Retcode_RETCODE_RET_MP_IS_IN_MULTISTAGE Retcode = 1240
+ Retcode_RETCODE_RET_MP_MATCH_PLAY_NOT_OPEN Retcode = 1241
+ Retcode_RETCODE_RET_MP_ONLY_MP_WITH_PS_PLAYER Retcode = 1242
+ Retcode_RETCODE_RET_MP_GUEST_LOADING_FIRST_ENTER Retcode = 1243
+ Retcode_RETCODE_RET_MP_SUMMER_TIME_SPRINT_BOAT_ONGOING Retcode = 1244
+ Retcode_RETCODE_RET_MP_BLITZ_RUSH_PARKOUR_CHALLENGE_ONGOING Retcode = 1245
+ Retcode_RETCODE_RET_MP_MUSIC_GAME_ONGOING Retcode = 1246
+ Retcode_RETCODE_RET_MP_IN_MPING_MODE Retcode = 1247
+ Retcode_RETCODE_RET_MP_OWNER_IN_SINGLE_SCENE Retcode = 1248
+ Retcode_RETCODE_RET_MP_IN_SINGLE_SCENE Retcode = 1249
+ Retcode_RETCODE_RET_MP_REPLY_NO_VALID_AVATAR Retcode = 1250
+ Retcode_RETCODE_RET_MAIL_PARA_ERR Retcode = 1301
+ Retcode_RETCODE_RET_MAIL_MAX_NUM Retcode = 1302
+ Retcode_RETCODE_RET_MAIL_ITEM_NUM_EXCEED Retcode = 1303
+ Retcode_RETCODE_RET_MAIL_TITLE_LEN_EXCEED Retcode = 1304
+ Retcode_RETCODE_RET_MAIL_CONTENT_LEN_EXCEED Retcode = 1305
+ Retcode_RETCODE_RET_MAIL_SENDER_LEN_EXCEED Retcode = 1306
+ Retcode_RETCODE_RET_MAIL_PARSE_PACKET_FAIL Retcode = 1307
+ Retcode_RETCODE_RET_OFFLINE_MSG_MAX_NUM Retcode = 1308
+ Retcode_RETCODE_RET_OFFLINE_MSG_SAME_TICKET Retcode = 1309
+ Retcode_RETCODE_RET_MAIL_EXCEL_MAIL_TYPE_ERROR Retcode = 1310
+ Retcode_RETCODE_RET_MAIL_CANNOT_SEND_MCOIN Retcode = 1311
+ Retcode_RETCODE_RET_MAIL_HCOIN_EXCEED_LIMIT Retcode = 1312
+ Retcode_RETCODE_RET_MAIL_SCOIN_EXCEED_LIMIT Retcode = 1313
+ Retcode_RETCODE_RET_MAIL_MATERIAL_ID_INVALID Retcode = 1314
+ Retcode_RETCODE_RET_MAIL_AVATAR_EXCEED_LIMIT Retcode = 1315
+ Retcode_RETCODE_RET_MAIL_GACHA_TICKET_ETC_EXCEED_LIMIT Retcode = 1316
+ Retcode_RETCODE_RET_MAIL_ITEM_EXCEED_CEHUA_LIMIT Retcode = 1317
+ Retcode_RETCODE_RET_MAIL_SPACE_OR_REST_NUM_NOT_ENOUGH Retcode = 1318
+ Retcode_RETCODE_RET_MAIL_TICKET_IS_EMPTY Retcode = 1319
+ Retcode_RETCODE_RET_MAIL_TRANSACTION_IS_EMPTY Retcode = 1320
+ Retcode_RETCODE_RET_MAIL_DELETE_COLLECTED Retcode = 1321
+ Retcode_RETCODE_RET_DAILY_TASK_NOT_FINISH Retcode = 1330
+ Retcode_RETCODE_RET_DAILY_TAKS_HAS_TAKEN Retcode = 1331
+ Retcode_RETCODE_RET_SOCIAL_OFFLINE_MSG_NUM_EXCEED Retcode = 1332
+ Retcode_RETCODE_RET_DAILY_TASK_FILTER_CITY_NOT_OPEN Retcode = 1333
+ Retcode_RETCODE_RET_GACHA_INAVAILABLE Retcode = 1401
+ Retcode_RETCODE_RET_GACHA_RANDOM_NOT_MATCH Retcode = 1402
+ Retcode_RETCODE_RET_GACHA_SCHEDULE_NOT_MATCH Retcode = 1403
+ Retcode_RETCODE_RET_GACHA_INVALID_TIMES Retcode = 1404
+ Retcode_RETCODE_RET_GACHA_COST_ITEM_NOT_ENOUGH Retcode = 1405
+ Retcode_RETCODE_RET_GACHA_TIMES_LIMIT Retcode = 1406
+ Retcode_RETCODE_RET_GACHA_WISH_SAME_ITEM Retcode = 1407
+ Retcode_RETCODE_RET_GACHA_WISH_INVALID_ITEM Retcode = 1408
+ Retcode_RETCODE_RET_GACHA_MINORS_TIMES_LIMIT Retcode = 1409
+ Retcode_RETCODE_RET_INVESTIGAITON_NOT_IN_PROGRESS Retcode = 1501
+ Retcode_RETCODE_RET_INVESTIGAITON_UNCOMPLETE Retcode = 1502
+ Retcode_RETCODE_RET_INVESTIGAITON_REWARD_TAKEN Retcode = 1503
+ Retcode_RETCODE_RET_INVESTIGAITON_TARGET_STATE_ERROR Retcode = 1504
+ Retcode_RETCODE_RET_PUSH_TIPS_NOT_FOUND Retcode = 1505
+ Retcode_RETCODE_RET_SIGN_IN_RECORD_NOT_FOUND Retcode = 1506
+ Retcode_RETCODE_RET_ALREADY_HAVE_SIGNED_IN Retcode = 1507
+ Retcode_RETCODE_RET_SIGN_IN_COND_NOT_SATISFIED Retcode = 1508
+ Retcode_RETCODE_RET_BONUS_ACTIVITY_NOT_UNREWARDED Retcode = 1509
+ Retcode_RETCODE_RET_SIGN_IN_REWARDED Retcode = 1510
+ Retcode_RETCODE_RET_TOWER_NOT_OPEN Retcode = 1521
+ Retcode_RETCODE_RET_TOWER_HAVE_DAILY_RECORD Retcode = 1522
+ Retcode_RETCODE_RET_TOWER_NOT_RECORD Retcode = 1523
+ Retcode_RETCODE_RET_TOWER_HAVE_RECORD Retcode = 1524
+ Retcode_RETCODE_RET_TOWER_TEAM_NUM_ERROR Retcode = 1525
+ Retcode_RETCODE_RET_TOWER_FLOOR_NOT_OPEN Retcode = 1526
+ Retcode_RETCODE_RET_TOWER_NO_FLOOR_STAR_RECORD Retcode = 1527
+ Retcode_RETCODE_RET_ALREADY_HAS_TOWER_BUFF Retcode = 1528
+ Retcode_RETCODE_RET_DUPLICATE_ENTER_LEVEL Retcode = 1529
+ Retcode_RETCODE_RET_NOT_IN_TOWER_LEVEL Retcode = 1530
+ Retcode_RETCODE_RET_IN_TOWER_LEVEL Retcode = 1531
+ Retcode_RETCODE_RET_TOWER_PREV_FLOOR_NOT_FINISH Retcode = 1532
+ Retcode_RETCODE_RET_TOWER_STAR_NOT_ENOUGH Retcode = 1533
+ Retcode_RETCODE_RET_BATTLE_PASS_NO_SCHEDULE Retcode = 1541
+ Retcode_RETCODE_RET_BATTLE_PASS_HAS_BUYED Retcode = 1542
+ Retcode_RETCODE_RET_BATTLE_PASS_LEVEL_OVERFLOW Retcode = 1543
+ Retcode_RETCODE_RET_BATTLE_PASS_PRODUCT_EXPIRED Retcode = 1544
+ Retcode_RETCODE_RET_MATCH_HOST_QUIT Retcode = 1561
+ Retcode_RETCODE_RET_MATCH_ALREADY_IN_MATCH Retcode = 1562
+ Retcode_RETCODE_RET_MATCH_NOT_IN_MATCH Retcode = 1563
+ Retcode_RETCODE_RET_MATCH_APPLYING_ENTER_MP Retcode = 1564
+ Retcode_RETCODE_RET_WIDGET_TREASURE_SPOT_NOT_FOUND Retcode = 1581
+ Retcode_RETCODE_RET_WIDGET_TREASURE_ENTITY_EXISTS Retcode = 1582
+ Retcode_RETCODE_RET_WIDGET_TREASURE_SPOT_FAR_AWAY Retcode = 1583
+ Retcode_RETCODE_RET_WIDGET_TREASURE_FINISHED_TODAY Retcode = 1584
+ Retcode_RETCODE_RET_WIDGET_QUICK_USE_REQ_PARAM_ERROR Retcode = 1585
+ Retcode_RETCODE_RET_WIDGET_CAMERA_SCAN_ID_ERROR Retcode = 1586
+ Retcode_RETCODE_RET_WIDGET_NOT_ACTIVE Retcode = 1587
+ Retcode_RETCODE_RET_WIDGET_FEATHER_NOT_ACTIVE Retcode = 1588
+ Retcode_RETCODE_RET_WIDGET_FEATHER_GADGET_TOO_FAR_AWAY Retcode = 1589
+ Retcode_RETCODE_RET_WIDGET_CAPTURE_ANIMAL_NOT_EXIST Retcode = 1590
+ Retcode_RETCODE_RET_WIDGET_CAPTURE_ANIMAL_DROP_BAG_LIMIT Retcode = 1591
+ Retcode_RETCODE_RET_WIDGET_CAPTURE_ANIMAL_CAN_NOT_CAPTURE Retcode = 1592
+ Retcode_RETCODE_RET_WIDGET_SKY_CRYSTAL_ALL_COLLECTED Retcode = 1593
+ Retcode_RETCODE_RET_WIDGET_SKY_CRYSTAL_HINT_ALREADY_EXIST Retcode = 1594
+ Retcode_RETCODE_RET_WIDGET_SKY_CRYSTAL_NOT_FOUND Retcode = 1595
+ Retcode_RETCODE_RET_WIDGET_SKY_CRYSTAL_NO_HINT_TO_CLEAR Retcode = 1596
+ Retcode_RETCODE_RET_WIDGET_LIGHT_STONE_ENERGY_NOT_ENOUGH Retcode = 1597
+ Retcode_RETCODE_RET_WIDGET_TOY_CRYSTAL_ENERGY_NOT_ENOUGH Retcode = 1598
+ Retcode_RETCODE_RET_WIDGET_LIGHT_STONE_LEVEL_NOT_ENOUGH Retcode = 1599
+ Retcode_RETCODE_RET_UID_NOT_EXIST Retcode = 2001
+ Retcode_RETCODE_RET_PARSE_BIN_ERROR Retcode = 2002
+ Retcode_RETCODE_RET_ACCOUNT_INFO_NOT_EXIST Retcode = 2003
+ Retcode_RETCODE_RET_ORDER_INFO_NOT_EXIST Retcode = 2004
+ Retcode_RETCODE_RET_SNAPSHOT_INDEX_ERROR Retcode = 2005
+ Retcode_RETCODE_RET_MAIL_HAS_BEEN_SENT Retcode = 2006
+ Retcode_RETCODE_RET_PRODUCT_NOT_EXIST Retcode = 2007
+ Retcode_RETCODE_RET_UNFINISH_ORDER Retcode = 2008
+ Retcode_RETCODE_RET_ID_NOT_EXIST Retcode = 2009
+ Retcode_RETCODE_RET_ORDER_TRADE_EARLY Retcode = 2010
+ Retcode_RETCODE_RET_ORDER_FINISHED Retcode = 2011
+ Retcode_RETCODE_RET_GAMESERVER_VERSION_WRONG Retcode = 2012
+ Retcode_RETCODE_RET_OFFLINE_OP_FULL_LENGTH Retcode = 2013
+ Retcode_RETCODE_RET_CONCERT_PRODUCT_OBTAIN_LIMIT Retcode = 2014
+ Retcode_RETCODE_RET_CONCERT_PRODUCT_TICKET_DUPLICATED Retcode = 2015
+ Retcode_RETCODE_RET_CONCERT_PRODUCT_TICKET_EMPTY Retcode = 2016
+ Retcode_RETCODE_RET_REDIS_MODIFIED Retcode = 5001
+ Retcode_RETCODE_RET_REDIS_UID_NOT_EXIST Retcode = 5002
+ Retcode_RETCODE_RET_PATHFINDING_DATA_NOT_EXIST Retcode = 6001
+ Retcode_RETCODE_RET_PATHFINDING_DESTINATION_NOT_EXIST Retcode = 6002
+ Retcode_RETCODE_RET_PATHFINDING_ERROR_SCENE Retcode = 6003
+ Retcode_RETCODE_RET_PATHFINDING_SCENE_DATA_LOADING Retcode = 6004
+ Retcode_RETCODE_RET_FRIEND_COUNT_EXCEEDED Retcode = 7001
+ Retcode_RETCODE_RET_PLAYER_NOT_EXIST Retcode = 7002
+ Retcode_RETCODE_RET_ALREADY_SENT_ADD_REQUEST Retcode = 7003
+ Retcode_RETCODE_RET_ASK_FRIEND_LIST_FULL Retcode = 7004
+ Retcode_RETCODE_RET_PLAYER_ALREADY_IS_FRIEND Retcode = 7005
+ Retcode_RETCODE_RET_PLAYER_NOT_ASK_FRIEND Retcode = 7006
+ Retcode_RETCODE_RET_TARGET_FRIEND_COUNT_EXCEED Retcode = 7007
+ Retcode_RETCODE_RET_NOT_FRIEND Retcode = 7008
+ Retcode_RETCODE_RET_BIRTHDAY_CANNOT_BE_SET_TWICE Retcode = 7009
+ Retcode_RETCODE_RET_CANNOT_ADD_SELF_FRIEND Retcode = 7010
+ Retcode_RETCODE_RET_SIGNATURE_ILLEGAL Retcode = 7011
+ Retcode_RETCODE_RET_PS_PLAYER_CANNOT_ADD_FRIENDS Retcode = 7012
+ Retcode_RETCODE_RET_PS_PLAYER_CANNOT_REMOVE_FRIENDS Retcode = 7013
+ Retcode_RETCODE_RET_NAME_CARD_NOT_UNLOCKED Retcode = 7014
+ Retcode_RETCODE_RET_ALREADY_IN_BLACKLIST Retcode = 7015
+ Retcode_RETCODE_RET_PS_PALEYRS_CANNOT_ADD_BLACKLIST Retcode = 7016
+ Retcode_RETCODE_RET_PLAYER_BLACKLIST_FULL Retcode = 7017
+ Retcode_RETCODE_RET_PLAYER_NOT_IN_BLACKLIST Retcode = 7018
+ Retcode_RETCODE_RET_BLACKLIST_PLAYER_CANNOT_ADD_FRIEND Retcode = 7019
+ Retcode_RETCODE_RET_IN_TARGET_BLACKLIST Retcode = 7020
+ Retcode_RETCODE_RET_CANNOT_ADD_TARGET_FRIEND Retcode = 7021
+ Retcode_RETCODE_RET_BIRTHDAY_FORMAT_ERROR Retcode = 7022
+ Retcode_RETCODE_RET_ONLINE_ID_NOT_EXISTS Retcode = 7023
+ Retcode_RETCODE_RET_FIRST_SHARE_REWARD_HAS_TAKEN Retcode = 7024
+ Retcode_RETCODE_RET_PS_PLAYER_CANNOT_REMOVE_BLACKLIST Retcode = 7025
+ Retcode_RETCODE_RET_REPORT_CD Retcode = 7026
+ Retcode_RETCODE_RET_REPORT_CONTENT_ILLEGAL Retcode = 7027
+ Retcode_RETCODE_RET_REMARK_WORD_ILLEGAL Retcode = 7028
+ Retcode_RETCODE_RET_REMARK_TOO_LONG Retcode = 7029
+ Retcode_RETCODE_RET_REMARK_UTF8_ERROR Retcode = 7030
+ Retcode_RETCODE_RET_REMARK_IS_EMPTY Retcode = 7031
+ Retcode_RETCODE_RET_ASK_ADD_FRIEND_CD Retcode = 7032
+ Retcode_RETCODE_RET_SHOW_AVATAR_INFO_NOT_EXIST Retcode = 7033
+ Retcode_RETCODE_RET_PLAYER_NOT_SHOW_AVATAR Retcode = 7034
+ Retcode_RETCODE_RET_SOCIAL_UPDATE_SHOW_LIST_REPEAT_ID Retcode = 7035
+ Retcode_RETCODE_RET_PSN_ID_NOT_FOUND Retcode = 7036
+ Retcode_RETCODE_RET_EMOJI_COLLECTION_NUM_EXCEED_LIMIT Retcode = 7037
+ Retcode_RETCODE_RET_REMARK_EMPTY Retcode = 7038
+ Retcode_RETCODE_RET_IN_TARGET_PSN_BLACKLIST Retcode = 7039
+ Retcode_RETCODE_RET_SIGNATURE_NOT_CHANGED Retcode = 7040
+ Retcode_RETCODE_RET_SIGNATURE_MONTHLY_LIMIT Retcode = 7041
+ Retcode_RETCODE_RET_OFFERING_NOT_OPEN Retcode = 7081
+ Retcode_RETCODE_RET_OFFERING_LEVEL_LIMIT Retcode = 7082
+ Retcode_RETCODE_RET_OFFERING_LEVEL_NOT_REACH Retcode = 7083
+ Retcode_RETCODE_RET_OFFERING_LEVEL_HAS_TAKEN Retcode = 7084
+ Retcode_RETCODE_RET_CITY_REPUTATION_NOT_OPEN Retcode = 7101
+ Retcode_RETCODE_RET_CITY_REPUTATION_LEVEL_TAKEN Retcode = 7102
+ Retcode_RETCODE_RET_CITY_REPUTATION_LEVEL_NOT_REACH Retcode = 7103
+ Retcode_RETCODE_RET_CITY_REPUTATION_PARENT_QUEST_TAKEN Retcode = 7104
+ Retcode_RETCODE_RET_CITY_REPUTATION_PARENT_QUEST_UNFINISH Retcode = 7105
+ Retcode_RETCODE_RET_CITY_REPUTATION_ACCEPT_REQUEST Retcode = 7106
+ Retcode_RETCODE_RET_CITY_REPUTATION_NOT_ACCEPT_REQUEST Retcode = 7107
+ Retcode_RETCODE_RET_CITY_REPUTATION_ACCEPT_REQUEST_LIMIT Retcode = 7108
+ Retcode_RETCODE_RET_CITY_REPUTATION_ENTRANCE_NOT_OPEN Retcode = 7109
+ Retcode_RETCODE_RET_CITY_REPUTATION_TAKEN_REQUEST_REWARD Retcode = 7110
+ Retcode_RETCODE_RET_CITY_REPUTATION_SWITCH_CLOSE Retcode = 7111
+ Retcode_RETCODE_RET_CITY_REPUTATION_ENTRACE_SWITCH_CLOSE Retcode = 7112
+ Retcode_RETCODE_RET_CITY_REPUTATION_TAKEN_EXPLORE_REWARD Retcode = 7113
+ Retcode_RETCODE_RET_CITY_REPUTATION_EXPLORE_NOT_REACH Retcode = 7114
+ Retcode_RETCODE_RET_MECHANICUS_NOT_OPEN Retcode = 7120
+ Retcode_RETCODE_RET_MECHANICUS_GEAR_UNLOCK Retcode = 7121
+ Retcode_RETCODE_RET_MECHANICUS_GEAR_LOCK Retcode = 7122
+ Retcode_RETCODE_RET_MECHANICUS_GEAR_LEVEL_LIMIT Retcode = 7123
+ Retcode_RETCODE_RET_MECHANICUS_COIN_NOT_ENOUGH Retcode = 7124
+ Retcode_RETCODE_RET_MECHANICUS_NO_SEQUENCE Retcode = 7125
+ Retcode_RETCODE_RET_MECHANICUS_SEQUENCE_LIMIT_LEVEL Retcode = 7126
+ Retcode_RETCODE_RET_MECHANICUS_SEQUENCE_LIMIT_OPEN Retcode = 7127
+ Retcode_RETCODE_RET_MECHANICUS_DIFFICULT_NOT_SUPPORT Retcode = 7128
+ Retcode_RETCODE_RET_MECHANICUS_TICKET_NOT_ENOUGH Retcode = 7129
+ Retcode_RETCODE_RET_MECHANICUS_TEACH_NOT_FINISH Retcode = 7130
+ Retcode_RETCODE_RET_MECHANICUS_TEACH_FINISHED Retcode = 7131
+ Retcode_RETCODE_RET_MECHANICUS_PREV_DIFFICULT_LEVEL_BLOCK Retcode = 7132
+ Retcode_RETCODE_RET_MECHANICUS_PLAYER_LIMIT Retcode = 7133
+ Retcode_RETCODE_RET_MECHANICUS_PUNISH_TIME Retcode = 7134
+ Retcode_RETCODE_RET_MECHANICUS_SWITCH_CLOSE Retcode = 7135
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_NOT_IN_DUNGEON Retcode = 7150
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_PLAY_NOT_FOUND Retcode = 7151
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_DUPLICATE_PICK_CARD Retcode = 7152
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_PLAYER_NOT_IN_PLAY Retcode = 7153
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_CARD_NOT_AVAILABLE Retcode = 7154
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_NOT_IN_CARD_STAGE Retcode = 7155
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_CARD_IS_WAITING Retcode = 7156
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_CARD_ALL_CONFIRMED Retcode = 7157
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_CARD_ALREADY_CONFIRMED Retcode = 7158
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_CARD_CONFIRMED_BY_OTHER Retcode = 7159
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_CARD_NOT_ENOUGH_POINTS Retcode = 7160
+ Retcode_RETCODE_RET_MECHANICUS_BATTLE_CARD_ALREADY_SKIPPED Retcode = 7161
+ Retcode_RETCODE_RET_LEGENDARY_KEY_NOT_ENOUGH Retcode = 8001
+ Retcode_RETCODE_RET_LEGENDARY_KEY_EXCEED_LIMIT Retcode = 8002
+ Retcode_RETCODE_RET_DAILY_TASK_NOT_ENOUGH_TO_REDEEM Retcode = 8003
+ Retcode_RETCODE_RET_PERSONAL_LINE_OPEN_STATE_OFF Retcode = 8004
+ Retcode_RETCODE_RET_PERSONAL_LINE_LEVEL_NOT_ENOUGH Retcode = 8005
+ Retcode_RETCODE_RET_PERSONAL_LINE_NOT_OPEN Retcode = 8006
+ Retcode_RETCODE_RET_PERSONAL_LINE_PRE_QUEST_NOT_FINISH Retcode = 8007
+ Retcode_RETCODE_RET_HUNTING_ALREADY_FINISH_OFFER_LIMIT Retcode = 8201
+ Retcode_RETCODE_RET_HUNTING_HAS_UNFINISHED_OFFER Retcode = 8202
+ Retcode_RETCODE_RET_HUNTING_FAILED_OFFER_NOT_CD_READY Retcode = 8203
+ Retcode_RETCODE_RET_HUNTING_NOT_TAKE_OFFER Retcode = 8204
+ Retcode_RETCODE_RET_HUNTING_CANNOT_TAKE_TWICE Retcode = 8205
+ Retcode_RETCODE_RET_RPIVATE_CHAT_INVALID_CONTENT_TYPE Retcode = 8901
+ Retcode_RETCODE_RET_PRIVATE_CHAT_TARGET_IS_NOT_FRIEND Retcode = 8902
+ Retcode_RETCODE_RET_PRIVATE_CHAT_CONTENT_NOT_SUPPORTED Retcode = 8903
+ Retcode_RETCODE_RET_PRIVATE_CHAT_CONTENT_TOO_LONG Retcode = 8904
+ Retcode_RETCODE_RET_PRIVATE_CHAT_PULL_TOO_FAST Retcode = 8905
+ Retcode_RETCODE_RET_PRIVATE_CHAT_REPEAT_READ Retcode = 8906
+ Retcode_RETCODE_RET_PRIVATE_CHAT_READ_NOT_FRIEND Retcode = 8907
+ Retcode_RETCODE_RET_REUNION_FINISHED Retcode = 9001
+ Retcode_RETCODE_RET_REUNION_NOT_ACTIVATED Retcode = 9002
+ Retcode_RETCODE_RET_REUNION_ALREADY_TAKE_FIRST_REWARD Retcode = 9003
+ Retcode_RETCODE_RET_REUNION_SIGN_IN_REWARDED Retcode = 9004
+ Retcode_RETCODE_RET_REUNION_WATCHER_REWARDED Retcode = 9005
+ Retcode_RETCODE_RET_REUNION_WATCHER_NOT_FINISH Retcode = 9006
+ Retcode_RETCODE_RET_REUNION_MISSION_REWARDED Retcode = 9007
+ Retcode_RETCODE_RET_REUNION_MISSION_NOT_FINISH Retcode = 9008
+ Retcode_RETCODE_RET_REUNION_WATCHER_REWARD_NOT_UNLOCKED Retcode = 9009
+ Retcode_RETCODE_RET_BLESSING_CONTENT_CLOSED Retcode = 9101
+ Retcode_RETCODE_RET_BLESSING_NOT_ACTIVE Retcode = 9102
+ Retcode_RETCODE_RET_BLESSING_NOT_TODAY_ENTITY Retcode = 9103
+ Retcode_RETCODE_RET_BLESSING_ENTITY_EXCEED_SCAN_NUM_LIMIT Retcode = 9104
+ Retcode_RETCODE_RET_BLESSING_DAILY_SCAN_NUM_EXCEED_LIMIT Retcode = 9105
+ Retcode_RETCODE_RET_BLESSING_REDEEM_REWARD_NUM_EXCEED_LIMIT Retcode = 9106
+ Retcode_RETCODE_RET_BLESSING_REDEEM_PIC_NUM_NOT_ENOUGH Retcode = 9107
+ Retcode_RETCODE_RET_BLESSING_PIC_NOT_ENOUGH Retcode = 9108
+ Retcode_RETCODE_RET_BLESSING_PIC_HAS_RECEIVED Retcode = 9109
+ Retcode_RETCODE_RET_BLESSING_TARGET_RECV_NUM_EXCEED Retcode = 9110
+ Retcode_RETCODE_RET_FLEUR_FAIR_CREDIT_EXCEED_LIMIT Retcode = 9111
+ Retcode_RETCODE_RET_FLEUR_FAIR_CREDIT_NOT_ENOUGH Retcode = 9112
+ Retcode_RETCODE_RET_FLEUR_FAIR_TOKEN_EXCEED_LIMIT Retcode = 9113
+ Retcode_RETCODE_RET_FLEUR_FAIR_TOKEN_NOT_ENOUGH Retcode = 9114
+ Retcode_RETCODE_RET_FLEUR_FAIR_MINIGAME_NOT_OPEN Retcode = 9115
+ Retcode_RETCODE_RET_FLEUR_FAIR_MUSIC_GAME_DIFFICULTY_NOT_UNLOCK Retcode = 9116
+ Retcode_RETCODE_RET_FLEUR_FAIR_DUNGEON_LOCKED Retcode = 9117
+ Retcode_RETCODE_RET_FLEUR_FAIR_DUNGEON_PUNISH_TIME Retcode = 9118
+ Retcode_RETCODE_RET_FLEUR_FAIR_ONLY_OWNER_CAN_RESTART_MINIGAM Retcode = 9119
+ Retcode_RETCODE_RET_WATER_SPIRIT_COIN_EXCEED_LIMIT Retcode = 9120
+ Retcode_RETCODE_RET_WATER_SPIRIT_COIN_NOT_ENOUGH Retcode = 9121
+ Retcode_RETCODE_RET_REGION_SEARCH_NO_SEARCH Retcode = 9122
+ Retcode_RETCODE_RET_REGION_SEARCH_STATE_ERROR Retcode = 9123
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_STAGE_NOT_OPEN Retcode = 9130
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_NOT_OPEN Retcode = 9131
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD_HAS_TAKEN Retcode = 9132
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD_HAS_TAKEN Retcode = 9133
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_INVALID_ONE_OFF_DUNGEON Retcode = 9134
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_DONE Retcode = 9135
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_STAGE_NOT_OPEN Retcode = 9136
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_TOKEN_EXCEED_LIMIT Retcode = 9137
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_TOKEN_NOT_ENOUGH Retcode = 9138
+ Retcode_RETCODE_RET_CHANNELLER_SLAB_PLAYER_NOT_IN_ONE_OFF_DUNGEON Retcode = 9139
+ Retcode_RETCODE_RET_MIST_TRIAL_SELECT_CHARACTER_NUM_NOT_ENOUGH Retcode = 9150
+ Retcode_RETCODE_RET_HIDE_AND_SEEK_PLAY_NOT_OPEN Retcode = 9160
+ Retcode_RETCODE_RET_HIDE_AND_SEEK_PLAY_MAP_NOT_OPEN Retcode = 9161
+ Retcode_RETCODE_RET_SUMMER_TIME_DRAFT_WOORD_EXCEED_LIMIT Retcode = 9170
+ Retcode_RETCODE_RET_SUMMER_TIME_DRAFT_WOORD_NOT_ENOUGH Retcode = 9171
+ Retcode_RETCODE_RET_SUMMER_TIME_MINI_HARPASTUM_EXCEED_LIMIT Retcode = 9172
+ Retcode_RETCODE_RET_SUMMER_TIME_MINI_HARPASTUMNOT_ENOUGH Retcode = 9173
+ Retcode_RETCODE_RET_BOUNCE_CONJURING_COIN_EXCEED_LIMIT Retcode = 9180
+ Retcode_RETCODE_RET_BOUNCE_CONJURING_COIN_NOT_ENOUGH Retcode = 9181
+ Retcode_RETCODE_RET_CHESS_TEACH_MAP_FINISHED Retcode = 9183
+ Retcode_RETCODE_RET_CHESS_TEACH_MAP_UNFINISHED Retcode = 9184
+ Retcode_RETCODE_RET_CHESS_COIN_EXCEED_LIMIT Retcode = 9185
+ Retcode_RETCODE_RET_CHESS_COIN_NOT_ENOUGH Retcode = 9186
+ Retcode_RETCODE_RET_CHESS_IN_PUNISH_TIME Retcode = 9187
+ Retcode_RETCODE_RET_CHESS_PREV_MAP_UNFINISHED Retcode = 9188
+ Retcode_RETCODE_RET_CHESS_MAP_LOCKED Retcode = 9189
+ Retcode_RETCODE_RET_BLITZ_RUSH_NOT_OPEN Retcode = 9192
+ Retcode_RETCODE_RET_BLITZ_RUSH_DUNGEON_NOT_OPEN Retcode = 9193
+ Retcode_RETCODE_RET_BLITZ_RUSH_COIN_A_EXCEED_LIMIT Retcode = 9194
+ Retcode_RETCODE_RET_BLITZ_RUSH_COIN_B_EXCEED_LIMIT Retcode = 9195
+ Retcode_RETCODE_RET_BLITZ_RUSH_COIN_A_NOT_ENOUGH Retcode = 9196
+ Retcode_RETCODE_RET_BLITZ_RUSH_COIN_B_NOT_ENOUGH Retcode = 9197
+ Retcode_RETCODE_RET_MIRACLE_RING_VALUE_NOT_ENOUGH Retcode = 9201
+ Retcode_RETCODE_RET_MIRACLE_RING_CD Retcode = 9202
+ Retcode_RETCODE_RET_MIRACLE_RING_REWARD_NOT_TAKEN Retcode = 9203
+ Retcode_RETCODE_RET_MIRACLE_RING_NOT_DELIVER Retcode = 9204
+ Retcode_RETCODE_RET_MIRACLE_RING_DELIVER_EXCEED Retcode = 9205
+ Retcode_RETCODE_RET_MIRACLE_RING_HAS_CREATED Retcode = 9206
+ Retcode_RETCODE_RET_MIRACLE_RING_HAS_NOT_CREATED Retcode = 9207
+ Retcode_RETCODE_RET_MIRACLE_RING_NOT_YOURS Retcode = 9208
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_UNAUTHORIZED Retcode = 9251
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_SCENE_NOT_FOUND Retcode = 9252
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_NOT_IN_INIT_STATE Retcode = 9253
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_BILDING_POINT_NOT_ENOUGHT Retcode = 9254
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_NOT_IN_BUILT_STATE Retcode = 9255
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_OP_NOT_SUPPORTED Retcode = 9256
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_REQ_PLAYER_NOT_IN_SCENE Retcode = 9257
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_LOCKED_BY_ANOTHER_PLAYER Retcode = 9258
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_NOT_LOCKED Retcode = 9259
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_DUPLICATE_LOCK Retcode = 9260
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_PLAYER_NOT_FOUND Retcode = 9261
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_PLAYER_GEAR_NOT_FOUND Retcode = 9262
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_ROTAION_DISABLED Retcode = 9263
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_REACH_DUNGEON_GEAR_LIMIT Retcode = 9264
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_REACH_SINGLE_GEAR_LIMIT Retcode = 9265
+ Retcode_RETCODE_RET_GADGET_FOUNDATION_ROTATION_ON_GOING Retcode = 9266
+ Retcode_RETCODE_RET_OP_ACTIVITY_BONUS_NOT_FOUND Retcode = 9301
+ Retcode_RETCODE_RET_OP_ACTIVITY_NOT_OPEN Retcode = 9302
+ Retcode_RETCODE_RET_MULTISTAGE_PLAY_PLAYER_NOT_IN_SCENE Retcode = 9501
+ Retcode_RETCODE_RET_MULTISTAGE_PLAY_NOT_FOUND Retcode = 9502
+ Retcode_RETCODE_RET_COOP_CHAPTER_NOT_OPEN Retcode = 9601
+ Retcode_RETCODE_RET_COOP_COND_NOT_MEET Retcode = 9602
+ Retcode_RETCODE_RET_COOP_POINT_LOCKED Retcode = 9603
+ Retcode_RETCODE_RET_COOP_NOT_HAVE_PROGRESS Retcode = 9604
+ Retcode_RETCODE_RET_COOP_REWARD_HAS_TAKEN Retcode = 9605
+ Retcode_RETCODE_RET_DRAFT_HAS_ACTIVE_DRAFT Retcode = 9651
+ Retcode_RETCODE_RET_DRAFT_NOT_IN_MY_WORLD Retcode = 9652
+ Retcode_RETCODE_RET_DRAFT_NOT_SUPPORT_MP Retcode = 9653
+ Retcode_RETCODE_RET_DRAFT_PLAYER_NOT_ENOUGH Retcode = 9654
+ Retcode_RETCODE_RET_DRAFT_INCORRECT_SCENE Retcode = 9655
+ Retcode_RETCODE_RET_DRAFT_OTHER_PLAYER_ENTERING Retcode = 9656
+ Retcode_RETCODE_RET_DRAFT_GUEST_IS_TRANSFERRING Retcode = 9657
+ Retcode_RETCODE_RET_DRAFT_GUEST_NOT_IN_DRAFT_SCENE Retcode = 9658
+ Retcode_RETCODE_RET_DRAFT_INVITE_OVER_TIME Retcode = 9659
+ Retcode_RETCODE_RET_DRAFT_TWICE_CONFIRM_OVER_TIMER Retcode = 9660
+ Retcode_RETCODE_RET_HOME_UNKOWN Retcode = 9701
+ Retcode_RETCODE_RET_HOME_INVALID_CLIENT_PARAM Retcode = 9702
+ Retcode_RETCODE_RET_HOME_TARGE_PLAYER_HAS_NO_HOME Retcode = 9703
+ Retcode_RETCODE_RET_HOME_NOT_ONLINE Retcode = 9704
+ Retcode_RETCODE_RET_HOME_PLAYER_FULL Retcode = 9705
+ Retcode_RETCODE_RET_HOME_BLOCKED Retcode = 9706
+ Retcode_RETCODE_RET_HOME_ALREADY_IN_TARGET_HOME_WORLD Retcode = 9707
+ Retcode_RETCODE_RET_HOME_IN_EDIT_MODE Retcode = 9708
+ Retcode_RETCODE_RET_HOME_NOT_IN_EDIT_MODE Retcode = 9709
+ Retcode_RETCODE_RET_HOME_HAS_GUEST Retcode = 9710
+ Retcode_RETCODE_RET_HOME_CANT_ENTER_BY_IN_EDIT_MODE Retcode = 9711
+ Retcode_RETCODE_RET_HOME_CLIENT_PARAM_INVALID Retcode = 9712
+ Retcode_RETCODE_RET_HOME_PLAYER_NOT_IN_HOME_WORLD Retcode = 9713
+ Retcode_RETCODE_RET_HOME_PLAYER_NOT_IN_SELF_HOME_WORLD Retcode = 9714
+ Retcode_RETCODE_RET_HOME_NOT_FOUND_IN_MEM Retcode = 9715
+ Retcode_RETCODE_RET_HOME_PLAYER_IN_HOME_ROOM_SCENE Retcode = 9716
+ Retcode_RETCODE_RET_HOME_HOME_REFUSE_GUEST_ENTER Retcode = 9717
+ Retcode_RETCODE_RET_HOME_OWNER_REFUSE_TO_ENTER_HOME Retcode = 9718
+ Retcode_RETCODE_RET_HOME_OWNER_OFFLINE Retcode = 9719
+ Retcode_RETCODE_RET_HOME_FURNITURE_EXCEED_LIMIT Retcode = 9720
+ Retcode_RETCODE_RET_HOME_FURNITURE_COUNT_NOT_ENOUGH Retcode = 9721
+ Retcode_RETCODE_RET_HOME_IN_TRY_ENTER_PROCESS Retcode = 9722
+ Retcode_RETCODE_RET_HOME_ALREADY_IN_TARGET_SCENE Retcode = 9723
+ Retcode_RETCODE_RET_HOME_COIN_EXCEED_LIMIT Retcode = 9724
+ Retcode_RETCODE_RET_HOME_COIN_NOT_ENOUGH Retcode = 9725
+ Retcode_RETCODE_RET_HOME_MODULE_NOT_UNLOCKED Retcode = 9726
+ Retcode_RETCODE_RET_HOME_CUR_MODULE_CLOSED Retcode = 9727
+ Retcode_RETCODE_RET_HOME_FURNITURE_SUITE_NOT_UNLOCKED Retcode = 9728
+ Retcode_RETCODE_RET_HOME_IN_MATCH Retcode = 9729
+ Retcode_RETCODE_RET_HOME_IN_COMBAT Retcode = 9730
+ Retcode_RETCODE_RET_HOME_EDIT_MODE_CD Retcode = 9731
+ Retcode_RETCODE_RET_HOME_UPDATE_FURNITURE_CD Retcode = 9732
+ Retcode_RETCODE_RET_HOME_BLOCK_FURNITURE_LIMIT Retcode = 9733
+ Retcode_RETCODE_RET_HOME_NOT_SUPPORT Retcode = 9734
+ Retcode_RETCODE_RET_HOME_STATE_NOT_OPEN Retcode = 9735
+ Retcode_RETCODE_RET_HOME_TARGET_STATE_NOT_OPEN Retcode = 9736
+ Retcode_RETCODE_RET_HOME_APPLY_ENTER_OTHER_HOME_FAIL Retcode = 9737
+ Retcode_RETCODE_RET_HOME_SAVE_NO_MAIN_HOUSE Retcode = 9738
+ Retcode_RETCODE_RET_HOME_IN_DUNGEON Retcode = 9739
+ Retcode_RETCODE_RET_HOME_ANY_GALLERY_STARTED Retcode = 9740
+ Retcode_RETCODE_RET_HOME_QUEST_BLOCK_HOME Retcode = 9741
+ Retcode_RETCODE_RET_HOME_WAITING_PRIOR_CHECK Retcode = 9742
+ Retcode_RETCODE_RET_HOME_PERSISTENT_CHECK_FAIL Retcode = 9743
+ Retcode_RETCODE_RET_HOME_FIND_ONLINE_HOME_FAIL Retcode = 9744
+ Retcode_RETCODE_RET_HOME_JOIN_SCENE_FAIL Retcode = 9745
+ Retcode_RETCODE_RET_HOME_MAX_PLAYER Retcode = 9746
+ Retcode_RETCODE_RET_HOME_IN_TRANSFER Retcode = 9747
+ Retcode_RETCODE_RET_HOME_ANY_HOME_GALLERY_STARTED Retcode = 9748
+ Retcode_RETCODE_RET_HOME_CAN_NOT_ENTER_IN_AUDIT Retcode = 9749
+ Retcode_RETCODE_RET_FURNITURE_MAKE_INDEX_ERROR Retcode = 9750
+ Retcode_RETCODE_RET_FURNITURE_MAKE_LOCKED Retcode = 9751
+ Retcode_RETCODE_RET_FURNITURE_MAKE_CONFIG_ERROR Retcode = 9752
+ Retcode_RETCODE_RET_FURNITURE_MAKE_SLOT_FULL Retcode = 9753
+ Retcode_RETCODE_RET_FURNITURE_MAKE_ADD_FURNITURE_FAIL Retcode = 9754
+ Retcode_RETCODE_RET_FURNITURE_MAKE_UNFINISH Retcode = 9755
+ Retcode_RETCODE_RET_FURNITURE_MAKE_IS_FINISH Retcode = 9756
+ Retcode_RETCODE_RET_FURNITURE_MAKE_NOT_IN_CORRECT_HOME Retcode = 9757
+ Retcode_RETCODE_RET_FURNITURE_MAKE_NO_COUNT Retcode = 9758
+ Retcode_RETCODE_RET_FURNITURE_MAKE_ACCELERATE_LIMIT Retcode = 9759
+ Retcode_RETCODE_RET_FURNITURE_MAKE_NO_MAKE_DATA Retcode = 9760
+ Retcode_RETCODE_RET_HOME_LIMITED_SHOP_CLOSE Retcode = 9761
+ Retcode_RETCODE_RET_HOME_AVATAR_NOT_SHOW Retcode = 9762
+ Retcode_RETCODE_RET_HOME_EVENT_COND_NOT_SATISFIED Retcode = 9763
+ Retcode_RETCODE_RET_HOME_INVALID_ARRANGE_ANIMAL_PARAM Retcode = 9764
+ Retcode_RETCODE_RET_HOME_INVALID_ARRANGE_NPC_PARAM Retcode = 9765
+ Retcode_RETCODE_RET_HOME_INVALID_ARRANGE_SUITE_PARAM Retcode = 9766
+ Retcode_RETCODE_RET_HOME_INVALID_ARRANGE_MAIN_HOUSE_PARAM Retcode = 9767
+ Retcode_RETCODE_RET_HOME_AVATAR_STATE_NOT_OPEN Retcode = 9768
+ Retcode_RETCODE_RET_HOME_PLANT_FIELD_NOT_EMPTY Retcode = 9769
+ Retcode_RETCODE_RET_HOME_PLANT_FIELD_EMPTY Retcode = 9770
+ Retcode_RETCODE_RET_HOME_PLANT_FIELD_TYPE_ERROR Retcode = 9771
+ Retcode_RETCODE_RET_HOME_PLANT_TIME_NOT_ENOUGH Retcode = 9772
+ Retcode_RETCODE_RET_HOME_PLANT_SUB_FIELD_NUM_NOT_ENOUGH Retcode = 9773
+ Retcode_RETCODE_RET_HOME_PLANT_FIELD_PARAM_ERROR Retcode = 9774
+ Retcode_RETCODE_RET_HOME_FURNITURE_GUID_ERROR Retcode = 9775
+ Retcode_RETCODE_RET_HOME_FURNITURE_ARRANGE_LIMIT Retcode = 9776
+ Retcode_RETCODE_RET_HOME_FISH_FARMING_LIMIT Retcode = 9777
+ Retcode_RETCODE_RET_HOME_FISH_COUNT_NOT_ENOUGH Retcode = 9778
+ Retcode_RETCODE_RET_HOME_FURNITURE_COST_LIMIT Retcode = 9779
+ Retcode_RETCODE_RET_HOME_CUSTOM_FURNITURE_INVALID Retcode = 9780
+ Retcode_RETCODE_RET_HOME_INVALID_ARRANGE_GROUP_PARAM Retcode = 9781
+ Retcode_RETCODE_RET_HOME_FURNITURE_ARRANGE_GROUP_LIMIT Retcode = 9782
+ Retcode_RETCODE_RET_HOME_PICTURE_FRAME_COOP_CG_GENDER_ERROR Retcode = 9783
+ Retcode_RETCODE_RET_HOME_PICTURE_FRAME_COOP_CG_NOT_UNLOCK Retcode = 9784
+ Retcode_RETCODE_RET_HOME_FURNITURE_CANNOT_ARRANGE Retcode = 9785
+ Retcode_RETCODE_RET_HOME_FURNITURE_IN_DUPLICATE_SUITE Retcode = 9786
+ Retcode_RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_SMALL Retcode = 9787
+ Retcode_RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_BIG Retcode = 9788
+ Retcode_RETCODE_RET_HOME_FURNITURE_SUITE_EXCEED_LIMIT Retcode = 9789
+ Retcode_RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_EXCEED_LIMIT Retcode = 9790
+ Retcode_RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_INVALID_SURFACE_TYPE Retcode = 9791
+ Retcode_RETCODE_RET_HOME_BGM_ID_NOT_FOUND Retcode = 9792
+ Retcode_RETCODE_RET_HOME_BGM_NOT_UNLOCKED Retcode = 9793
+ Retcode_RETCODE_RET_HOME_BGM_FURNITURE_NOT_FOUND Retcode = 9794
+ Retcode_RETCODE_RET_HOME_BGM_NOT_SUPPORT_BY_CUR_SCENE Retcode = 9795
+ Retcode_RETCODE_RET_HOME_LIMITED_SHOP_GOODS_DISABLE Retcode = 9796
+ Retcode_RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_EMPTY Retcode = 9797
+ Retcode_RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_NOT_FOUND Retcode = 9798
+ Retcode_RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_COUNT_INVALID Retcode = 9799
+ Retcode_RETCODE_RET_HOME_WORLD_WOOD_EXCHANGE_EXCEED_LIMIT Retcode = 9800
+ Retcode_RETCODE_RET_SUMO_ACTIVITY_STAGE_NOT_OPEN Retcode = 10000
+ Retcode_RETCODE_RET_SUMO_ACTIVITY_SWITCH_TEAM_IN_CD Retcode = 10001
+ Retcode_RETCODE_RET_SUMO_ACTIVITY_TEAM_NUM_INCORRECT Retcode = 10002
+ Retcode_RETCODE_RET_LUNA_RITE_ACTIVITY_AREA_ID_ERROR Retcode = 10004
+ Retcode_RETCODE_RET_LUNA_RITE_ACTIVITY_BATTLE_NOT_FINISH Retcode = 10005
+ Retcode_RETCODE_RET_LUNA_RITE_ACTIVITY_ALREADY_SACRIFICE Retcode = 10006
+ Retcode_RETCODE_RET_LUNA_RITE_ACTIVITY_ALREADY_TAKE_REWARD Retcode = 10007
+ Retcode_RETCODE_RET_LUNA_RITE_ACTIVITY_SACRIFICE_NOT_ENOUGH Retcode = 10008
+ Retcode_RETCODE_RET_LUNA_RITE_ACTIVITY_SEARCHING_COND_NOT_MEET Retcode = 10009
+ Retcode_RETCODE_RET_DIG_GADGET_CONFIG_ID_NOT_MATCH Retcode = 10015
+ Retcode_RETCODE_RET_DIG_FIND_NEAREST_POS_FAIL Retcode = 10016
+ Retcode_RETCODE_RET_MUSIC_GAME_LEVEL_NOT_OPEN Retcode = 10021
+ Retcode_RETCODE_RET_MUSIC_GAME_LEVEL_NOT_UNLOCK Retcode = 10022
+ Retcode_RETCODE_RET_MUSIC_GAME_LEVEL_NOT_STARTED Retcode = 10023
+ Retcode_RETCODE_RET_MUSIC_GAME_LEVEL_CONFIG_NOT_FOUND Retcode = 10024
+ Retcode_RETCODE_RET_MUSIC_GAME_LEVEL_ID_NOT_MATCH Retcode = 10025
+ Retcode_RETCODE_RET_ROGUELIKE_COIN_A_NOT_ENOUGH Retcode = 10031
+ Retcode_RETCODE_RET_ROGUELIKE_COIN_B_NOT_ENOUGH Retcode = 10032
+ Retcode_RETCODE_RET_ROGUELIKE_COIN_C_NOT_ENOUGH Retcode = 10033
+ Retcode_RETCODE_RET_ROGUELIKE_COIN_A_EXCEED_LIMIT Retcode = 10034
+ Retcode_RETCODE_RET_ROGUELIKE_COIN_B_EXCEED_LIMIT Retcode = 10035
+ Retcode_RETCODE_RET_ROGUELIKE_COIN_C_EXCEED_LIMIT Retcode = 10036
+ Retcode_RETCODE_RET_ROGUELIKE_RUNE_COUNT_NOT_ENOUGH Retcode = 10037
+ Retcode_RETCODE_RET_ROGUELIKE_NOT_IN_ROGUE_DUNGEON Retcode = 10038
+ Retcode_RETCODE_RET_ROGUELIKE_CELL_NOT_FOUND Retcode = 10039
+ Retcode_RETCODE_RET_ROGUELIKE_CELL_TYPE_INCORRECT Retcode = 10040
+ Retcode_RETCODE_RET_ROGUELIKE_CELL_ALREADY_FINISHED Retcode = 10041
+ Retcode_RETCODE_RET_ROGUELIKE_DUNGEON_HAVE_UNFINISHED_PROGRESS Retcode = 10042
+ Retcode_RETCODE_RET_ROGUELIKE_STAGE_NOT_FINISHED Retcode = 10043
+ Retcode_RETCODE_RET_ROGUELIKE_STAGE_FIRST_PASS_REWARD_HAS_TAKEN Retcode = 10045
+ Retcode_RETCODE_RET_ROGUELIKE_ACTIVITY_CONTENT_CLOSED Retcode = 10046
+ Retcode_RETCODE_RET_ROGUELIKE_DUNGEON_PRE_QUEST_NOT_FINISHED Retcode = 10047
+ Retcode_RETCODE_RET_ROGUELIKE_DUNGEON_NOT_OPEN Retcode = 10048
+ Retcode_RETCODE_RET_ROGUELIKE_SPRINT_IS_BANNED Retcode = 10049
+ Retcode_RETCODE_RET_ROGUELIKE_DUNGEON_PRE_STAGE_NOT_FINISHED Retcode = 10050
+ Retcode_RETCODE_RET_ROGUELIKE_ALL_AVATAR_DIE_CANNOT_RESUME Retcode = 10051
+ Retcode_RETCODE_RET_PLANT_FLOWER_ALREADY_TAKE_SEED Retcode = 10056
+ Retcode_RETCODE_RET_PLANT_FLOWER_FRIEND_HAVE_FLOWER_LIMIT Retcode = 10057
+ Retcode_RETCODE_RET_PLANT_FLOWER_CAN_GIVE_FLOWER_NOT_ENOUGH Retcode = 10058
+ Retcode_RETCODE_RET_PLANT_FLOWER_WISH_FLOWER_KINDS_LIMIT Retcode = 10059
+ Retcode_RETCODE_RET_PLANT_FLOWER_HAVE_FLOWER_NOT_ENOUGH Retcode = 10060
+ Retcode_RETCODE_RET_PLANT_FLOWER_FLOWER_COMBINATION_INVALID Retcode = 10061
+ Retcode_RETCODE_RET_HACHI_DUNGEON_NOT_VALID Retcode = 10052
+ Retcode_RETCODE_RET_HACHI_DUNGEON_STAGE_NOT_OPEN Retcode = 10053
+ Retcode_RETCODE_RET_HACHI_DUNGEON_TEAMMATE_NOT_PASS Retcode = 10054
+ Retcode_RETCODE_RET_WINTER_CAMP_COIN_A_NOT_ENOUGH Retcode = 10071
+ Retcode_RETCODE_RET_WINTER_CAMP_COIN_B_NOT_ENOUGH Retcode = 10072
+ Retcode_RETCODE_RET_WINTER_CAMP_COIN_A_EXCEED_LIMIT Retcode = 10073
+ Retcode_RETCODE_RET_WINTER_CAMP_COIN_B_EXCEED_LIMIT Retcode = 10074
+ Retcode_RETCODE_RET_WINTER_CAMP_WISH_ID_INVALID Retcode = 10075
+ Retcode_RETCODE_RET_WINTER_CAMP_NOT_FOUND_RECV_ITEM_DATA Retcode = 10076
+ Retcode_RETCODE_RET_WINTER_CAMP_FRIEND_ITEM_COUNT_OVERFLOW Retcode = 10077
+ Retcode_RETCODE_RET_WINTER_CAMP_SELECT_ITEM_DATA_INVALID Retcode = 10078
+ Retcode_RETCODE_RET_WINTER_CAMP_ITEM_LIST_EMPTY Retcode = 10079
+ Retcode_RETCODE_RET_WINTER_CAMP_REWARD_ALREADY_TAKEN Retcode = 10080
+ Retcode_RETCODE_RET_WINTER_CAMP_STAGE_NOT_FINISH Retcode = 10081
+ Retcode_RETCODE_RET_WINTER_CAMP_GADGET_INVALID Retcode = 10082
+ Retcode_RETCODE_RET_LANTERN_RITE_COIN_A_NOT_ENOUGH Retcode = 10090
+ Retcode_RETCODE_RET_LANTERN_RITE_COIN_B_NOT_ENOUGH Retcode = 10091
+ Retcode_RETCODE_RET_LANTERN_RITE_COIN_C_NOT_ENOUGH Retcode = 10092
+ Retcode_RETCODE_RET_LANTERN_RITE_COIN_A_EXCEED_LIMIT Retcode = 10093
+ Retcode_RETCODE_RET_LANTERN_RITE_COIN_B_EXCEED_LIMIT Retcode = 10094
+ Retcode_RETCODE_RET_LANTERN_RITE_COIN_C_EXCEED_LIMIT Retcode = 10095
+ Retcode_RETCODE_RET_LANTERN_RITE_PROJECTION_CONTENT_CLOSED Retcode = 10096
+ Retcode_RETCODE_RET_LANTERN_RITE_PROJECTION_CAN_NOT_START Retcode = 10097
+ Retcode_RETCODE_RET_LANTERN_RITE_DUNGEON_NOT_OPEN Retcode = 10098
+ Retcode_RETCODE_RET_LANTERN_RITE_HAS_TAKEN_SKIN_REWARD Retcode = 10099
+ Retcode_RETCODE_RET_LANTERN_RITE_NOT_FINISHED_SKIN_WATCHERS Retcode = 10100
+ Retcode_RETCODE_RET_LANTERN_RITE_FIREWORKS_CONTENT_CLOSED Retcode = 10101
+ Retcode_RETCODE_RET_LANTERN_RITE_FIREWORKS_CHALLENGE_NOT_START Retcode = 10102
+ Retcode_RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_PARAM_ERROR Retcode = 10103
+ Retcode_RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_SKILL_LOCK Retcode = 10104
+ Retcode_RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_STAMINA_NOT_ENOUGH Retcode = 10105
+ Retcode_RETCODE_RET_POTION_ACTIVITY_STAGE_NOT_OPEN Retcode = 10110
+ Retcode_RETCODE_RET_POTION_ACTIVITY_LEVEL_HAVE_PASS Retcode = 10111
+ Retcode_RETCODE_RET_POTION_ACTIVITY_TEAM_NUM_INCORRECT Retcode = 10112
+ Retcode_RETCODE_RET_POTION_ACTIVITY_AVATAR_IN_CD Retcode = 10113
+ Retcode_RETCODE_RET_POTION_ACTIVITY_BUFF_IN_CD Retcode = 10114
+ Retcode_RETCODE_RET_IRODORI_POETRY_INVALID_LINE_ID Retcode = 10120
+ Retcode_RETCODE_RET_IRODORI_POETRY_INVALID_THEME_ID Retcode = 10121
+ Retcode_RETCODE_RET_IRODORI_POETRY_NOT_GET_ALL_INSPIRATION Retcode = 10122
+ Retcode_RETCODE_RET_IRODORI_POETRY_INSPIRATION_REACH_LIMIE Retcode = 10123
+ Retcode_RETCODE_RET_IRODORI_POETRY_ENTITY_ALREADY_SCANNED Retcode = 10124
+ Retcode_RETCODE_RET_ACTIVITY_BANNER_ALREADY_CLEARED Retcode = 10300
+ Retcode_RETCODE_RET_IRODORI_CHESS_NOT_OPEN Retcode = 10301
+ Retcode_RETCODE_RET_IRODORI_CHESS_LEVEL_NOT_OPEN Retcode = 10302
+ Retcode_RETCODE_RET_IRODORI_CHESS_MAP_NOT_OPEN Retcode = 10303
+ Retcode_RETCODE_RET_IRODORI_CHESS_MAP_CARD_ALREADY_EQUIPED Retcode = 10304
+ Retcode_RETCODE_RET_IRODORI_CHESS_EQUIP_CARD_EXCEED_LIMIT Retcode = 10305
+ Retcode_RETCODE_RET_IRODORI_CHESS_MAP_CARD_NOT_EQUIPED Retcode = 10306
+ Retcode_RETCODE_RET_IRODORI_CHESS_ENTER_FAIL_CARD_EXCEED_LIMIT Retcode = 10307
+ Retcode_RETCODE_RET_ACTIVITY_FRIEND_HAVE_GIFT_LIMIT Retcode = 10310
+ Retcode_RETCODE_RET_GACHA_ACTIVITY_HAVE_REWARD_LIMIT Retcode = 10315
+ Retcode_RETCODE_RET_GACHA_ACTIVITY_HAVE_ROBOT_LIMIT Retcode = 10316
+ Retcode_RETCODE_RET_SUMMER_TIME_V2_COIN_EXCEED_LIMIT Retcode = 10317
+ Retcode_RETCODE_RET_SUMMER_TIME_V2_COIN_NOT_ENOUGH Retcode = 10318
+ Retcode_RETCODE_RET_SUMMER_TIME_V2_DUNGEON_STAGE_NOT_OPEN Retcode = 10319
+ Retcode_RETCODE_RET_SUMMER_TIME_V2_PREV_DUNGEON_NOT_COMPLETE Retcode = 10320
+ Retcode_RETCODE_RET_ROGUE_DIARY_AVATAR_DEATH Retcode = 10350
+ Retcode_RETCODE_RET_ROGUE_DIARY_AVATAR_TIRED Retcode = 10351
+ Retcode_RETCODE_RET_ROGUE_DIARY_AVATAR_DUPLICATED Retcode = 10352
+ Retcode_RETCODE_RET_ROGUE_DIARY_COIN_NOT_ENOUGH Retcode = 10353
+ Retcode_RETCODE_RET_ROGUE_DIARY_VIRTUAL_COIN_EXCEED_LIMIT Retcode = 10354
+ Retcode_RETCODE_RET_ROGUE_DIARY_VIRTUAL_COIN_NOT_ENOUGH Retcode = 10355
+ Retcode_RETCODE_RET_ROGUE_DIARY_CONTENT_CLOSED Retcode = 10366
+ Retcode_RETCODE_RET_GRAVEN_INNOCENCE_COIN_A_NOT_ENOUGH Retcode = 10380
+ Retcode_RETCODE_RET_GRAVEN_INNOCENCE_COIN_B_NOT_ENOUGH Retcode = 10381
+ Retcode_RETCODE_RET_GRAVEN_INNOCENCE_COIN_A_EXCEED_LIMIT Retcode = 10382
+ Retcode_RETCODE_RET_GRAVEN_INNOCENCE_COIN_B_EXCEED_LIMIT Retcode = 10383
+ Retcode_RETCODE_RET_ISLAND_PARTY_STAGE_NOT_OPEN Retcode = 10371
+ Retcode_RETCODE_RET_NOT_IN_FISHING Retcode = 11001
+ Retcode_RETCODE_RET_FISH_STATE_ERROR Retcode = 11002
+ Retcode_RETCODE_RET_FISH_BAIT_LIMIT Retcode = 11003
+ Retcode_RETCODE_RET_FISHING_MAX_DISTANCE Retcode = 11004
+ Retcode_RETCODE_RET_FISHING_IN_COMBAT Retcode = 11005
+ Retcode_RETCODE_RET_FISHING_BATTLE_TOO_SHORT Retcode = 11006
+ Retcode_RETCODE_RET_FISH_GONE_AWAY Retcode = 11007
+ Retcode_RETCODE_RET_CAN_NOT_EDIT_OTHER_DUNGEON Retcode = 11051
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_DISMATCH Retcode = 11052
+ Retcode_RETCODE_RET_NO_CUSTOM_DUNGEON_DATA Retcode = 11053
+ Retcode_RETCODE_RET_BUILD_CUSTOM_DUNGEON_FAIL Retcode = 11054
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_ROOM_CHECK_FAIL Retcode = 11055
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_SAVE_MAY_FAIL Retcode = 11056
+ Retcode_RETCODE_RET_NOT_IN_CUSTOM_DUNGEON Retcode = 11057
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_INTERNAL_FAIL Retcode = 11058
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_TRY Retcode = 11059
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NO_START_ROOM Retcode = 11060
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NO_ROOM_DATA Retcode = 11061
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_SAVE_TOO_FREQUENT Retcode = 11062
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NOT_SELF_PASS Retcode = 11063
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_LACK_COIN Retcode = 11064
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NO_FINISH_BRICK Retcode = 11065
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_MULTI_FINISH Retcode = 11066
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NOT_PUBLISHED Retcode = 11067
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_FULL_STORE Retcode = 11068
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_STORE_REPEAT Retcode = 11069
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_STORE_SELF Retcode = 11070
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NOT_SAVE_SUCC Retcode = 11071
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_LIKE_SELF Retcode = 11072
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NOT_FOUND Retcode = 11073
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_INVALID_SETTING Retcode = 11074
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NO_FINISH_SETTING Retcode = 11075
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_SAVE_NOTHING Retcode = 11076
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NOT_IN_GROUP Retcode = 11077
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NOT_OFFICIAL Retcode = 11078
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_LIFE_NUM_ERROR Retcode = 11079
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NO_OPEN_ROOM Retcode = 11080
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_BRICK_EXCEED_LIMIT Retcode = 11081
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_OFFICIAL_NOT_UNLOCK Retcode = 11082
+ Retcode_RETCODE_RET_CAN_NOT_EDIT_OFFICIAL_SETTING Retcode = 11083
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_BAN_PUBLISH Retcode = 11084
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_REPLAY Retcode = 11085
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NOT_OPEN_GROUP Retcode = 11086
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_MAX_EDIT_NUM Retcode = 11087
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_OUT_STUCK Retcode = 11088
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_MAX_TAG Retcode = 11089
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_INVALID_TAG Retcode = 11090
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_MAX_COST Retcode = 11091
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_REQUEST_TOO_FREQUENT Retcode = 11092
+ Retcode_RETCODE_RET_CUSTOM_DUNGEON_NOT_OPEN Retcode = 11093
+ Retcode_RETCODE_RET_SHARE_CD_ID_ERROR Retcode = 11101
+ Retcode_RETCODE_RET_SHARE_CD_INDEX_ERROR Retcode = 11102
+ Retcode_RETCODE_RET_SHARE_CD_IN_CD Retcode = 11103
+ Retcode_RETCODE_RET_SHARE_CD_TOKEN_NOT_ENOUGH Retcode = 11104
+ Retcode_RETCODE_RET_UGC_DISMATCH Retcode = 11151
+ Retcode_RETCODE_RET_UGC_DATA_NOT_FOUND Retcode = 11152
+ Retcode_RETCODE_RET_UGC_BRIEF_NOT_FOUND Retcode = 11153
+ Retcode_RETCODE_RET_UGC_DISABLED Retcode = 11154
+ Retcode_RETCODE_RET_UGC_LIMITED Retcode = 11155
+ Retcode_RETCODE_RET_UGC_LOCKED Retcode = 11156
+ Retcode_RETCODE_RET_UGC_NOT_AUTH Retcode = 11157
+ Retcode_RETCODE_RET_UGC_NOT_OPEN Retcode = 11158
+ Retcode_RETCODE_RET_UGC_BAN_PUBLISH Retcode = 11159
+ Retcode_RETCODE_RET_COMPOUND_BOOST_ITEM_NOT_EXIST Retcode = 11201
+ Retcode_RETCODE_RET_COMPOUND_BOOST_TARGET_NOT_EXIST Retcode = 11202
+ Retcode_RETCODE_RET_QUICK_HIT_TREE_EMPTY_TREES Retcode = 11211
+)
+
+// Enum value maps for Retcode.
+var (
+ Retcode_name = map[int32]string{
+ 0: "RETCODE_RET_SUCC",
+ -1: "RETCODE_RET_FAIL",
+ 1: "RETCODE_RET_SVR_ERROR",
+ 2: "RETCODE_RET_UNKNOWN_ERROR",
+ 3: "RETCODE_RET_FREQUENT",
+ 4: "RETCODE_RET_NODE_FORWARD_ERROR",
+ 5: "RETCODE_RET_NOT_FOUND_CONFIG",
+ 6: "RETCODE_RET_SYSTEM_BUSY",
+ 7: "RETCODE_RET_GM_UID_BIND",
+ 8: "RETCODE_RET_FORBIDDEN",
+ 10: "RETCODE_RET_STOP_REGISTER",
+ 11: "RETCODE_RET_STOP_SERVER",
+ 12: "RETCODE_RET_ACCOUNT_VEIRFY_ERROR",
+ 13: "RETCODE_RET_ACCOUNT_FREEZE",
+ 14: "RETCODE_RET_REPEAT_LOGIN",
+ 15: "RETCODE_RET_CLIENT_VERSION_ERROR",
+ 16: "RETCODE_RET_TOKEN_ERROR",
+ 17: "RETCODE_RET_ACCOUNT_NOT_EXIST",
+ 18: "RETCODE_RET_WAIT_OTHER_LOGIN",
+ 19: "RETCODE_RET_ANOTHER_LOGIN",
+ 20: "RETCODE_RET_CLIENT_FORCE_UPDATE",
+ 21: "RETCODE_RET_BLACK_UID",
+ 22: "RETCODE_RET_LOGIN_DB_FAIL",
+ 23: "RETCODE_RET_LOGIN_INIT_FAIL",
+ 24: "RETCODE_RET_MYSQL_DUPLICATE",
+ 25: "RETCODE_RET_MAX_PLAYER",
+ 26: "RETCODE_RET_ANTI_ADDICT",
+ 27: "RETCODE_RET_PS_PLAYER_WITHOUT_ONLINE_ID",
+ 28: "RETCODE_RET_ONLINE_ID_NOT_FOUND",
+ 29: "RETCODE_RET_ONLNE_ID_NOT_MATCH",
+ 30: "RETCODE_RET_REGISTER_IS_FULL",
+ 31: "RETCODE_RET_CHECKSUM_INVALID",
+ 32: "RETCODE_RET_BLACK_REGISTER_IP",
+ 33: "RETCODE_RET_EXCEED_REGISTER_RATE",
+ 34: "RETCODE_RET_UNKNOWN_PLATFORM",
+ 35: "RETCODE_RET_TOKEN_PARAM_ERROR",
+ 36: "RETCODE_RET_ANTI_OFFLINE_ERROR",
+ 37: "RETCODE_RET_BLACK_LOGIN_IP",
+ 38: "RETCODE_RET_GET_TOKEN_SESSION_HAS_UID",
+ 39: "RETCODE_RET_ENVIRONMENT_ERROR",
+ 40: "RETCODE_RET_CHECK_CLIENT_VERSION_HASH_FAIL",
+ 41: "RETCODE_RET_MINOR_REGISTER_FOBIDDEN",
+ 42: "RETCODE_RET_SECURITY_LIBRARY_ERROR",
+ 101: "RETCODE_RET_AVATAR_IN_CD",
+ 102: "RETCODE_RET_AVATAR_NOT_ALIVE",
+ 103: "RETCODE_RET_AVATAR_NOT_ON_SCENE",
+ 104: "RETCODE_RET_CAN_NOT_FIND_AVATAR",
+ 105: "RETCODE_RET_CAN_NOT_DEL_CUR_AVATAR",
+ 106: "RETCODE_RET_DUPLICATE_AVATAR",
+ 107: "RETCODE_RET_AVATAR_IS_SAME_ONE",
+ 108: "RETCODE_RET_AVATAR_LEVEL_LESS_THAN",
+ 109: "RETCODE_RET_AVATAR_CAN_NOT_CHANGE_ELEMENT",
+ 110: "RETCODE_RET_AVATAR_BREAK_LEVEL_LESS_THAN",
+ 111: "RETCODE_RET_AVATAR_ON_MAX_BREAK_LEVEL",
+ 112: "RETCODE_RET_AVATAR_ID_ALREADY_EXIST",
+ 113: "RETCODE_RET_AVATAR_NOT_DEAD",
+ 114: "RETCODE_RET_AVATAR_IS_REVIVING",
+ 115: "RETCODE_RET_AVATAR_ID_ERROR",
+ 116: "RETCODE_RET_REPEAT_SET_PLAYER_BORN_DATA",
+ 117: "RETCODE_RET_PLAYER_LEVEL_LESS_THAN",
+ 118: "RETCODE_RET_AVATAR_LIMIT_LEVEL_ERROR",
+ 119: "RETCODE_RET_CUR_AVATAR_NOT_ALIVE",
+ 120: "RETCODE_RET_CAN_NOT_FIND_TEAM",
+ 121: "RETCODE_RET_CAN_NOT_FIND_CUR_TEAM",
+ 122: "RETCODE_RET_AVATAR_NOT_EXIST_IN_TEAM",
+ 123: "RETCODE_RET_CAN_NOT_REMOVE_CUR_AVATAR_FROM_TEAM",
+ 124: "RETCODE_RET_CAN_NOT_USE_REVIVE_ITEM_FOR_CUR_AVATAR",
+ 125: "RETCODE_RET_TEAM_COST_EXCEED_LIMIT",
+ 126: "RETCODE_RET_TEAM_AVATAR_IN_EXPEDITION",
+ 127: "RETCODE_RET_TEAM_CAN_NOT_CHOSE_REPLACE_USE",
+ 128: "RETCODE_RET_AVATAR_IN_COMBAT",
+ 130: "RETCODE_RET_NICKNAME_UTF8_ERROR",
+ 131: "RETCODE_RET_NICKNAME_TOO_LONG",
+ 132: "RETCODE_RET_NICKNAME_WORD_ILLEGAL",
+ 133: "RETCODE_RET_NICKNAME_TOO_MANY_DIGITS",
+ 134: "RETCODE_RET_NICKNAME_IS_EMPTY",
+ 135: "RETCODE_RET_NICKNAME_MONTHLY_LIMIT",
+ 136: "RETCODE_RET_NICKNAME_NOT_CHANGED",
+ 140: "RETCODE_RET_PLAYER_NOT_ONLINE",
+ 141: "RETCODE_RET_OPEN_STATE_NOT_OPEN",
+ 142: "RETCODE_RET_FEATURE_CLOSED",
+ 152: "RETCODE_RET_AVATAR_EXPEDITION_AVATAR_DIE",
+ 153: "RETCODE_RET_AVATAR_EXPEDITION_COUNT_LIMIT",
+ 154: "RETCODE_RET_AVATAR_EXPEDITION_MAIN_FORBID",
+ 155: "RETCODE_RET_AVATAR_EXPEDITION_TRIAL_FORBID",
+ 156: "RETCODE_RET_TEAM_NAME_ILLEGAL",
+ 157: "RETCODE_RET_IS_NOT_IN_STANDBY",
+ 158: "RETCODE_RET_IS_IN_DUNGEON",
+ 159: "RETCODE_RET_IS_IN_LOCK_AVATAR_QUEST",
+ 160: "RETCODE_RET_IS_USING_TRIAL_AVATAR",
+ 161: "RETCODE_RET_IS_USING_TEMP_AVATAR",
+ 162: "RETCODE_RET_NOT_HAS_FLYCLOAK",
+ 163: "RETCODE_RET_FETTER_REWARD_ALREADY_GOT",
+ 164: "RETCODE_RET_FETTER_REWARD_LEVEL_NOT_ENOUGH",
+ 165: "RETCODE_RET_WORLD_LEVEL_ADJUST_MIN_LEVEL",
+ 166: "RETCODE_RET_WORLD_LEVEL_ADJUST_CD",
+ 167: "RETCODE_RET_NOT_HAS_COSTUME",
+ 168: "RETCODE_RET_COSTUME_AVATAR_ERROR",
+ 169: "RETCODE_RET_FLYCLOAK_PLATFORM_TYPE_ERR",
+ 170: "RETCODE_RET_IN_TRANSFER",
+ 171: "RETCODE_RET_IS_IN_LOCK_AVATAR",
+ 172: "RETCODE_RET_FULL_BACKUP_TEAM",
+ 173: "RETCODE_RET_BACKUP_TEAM_ID_NOT_VALID",
+ 174: "RETCODE_RET_BACKUP_TEAM_IS_CUR_TEAM",
+ 201: "RETCODE_RET_FLOAT_ERROR",
+ 301: "RETCODE_RET_NPC_NOT_EXIST",
+ 302: "RETCODE_RET_NPC_TOO_FAR",
+ 303: "RETCODE_RET_NOT_CURRENT_TALK",
+ 304: "RETCODE_RET_NPC_CREATE_FAIL",
+ 305: "RETCODE_RET_NPC_MOVE_FAIL",
+ 401: "RETCODE_RET_QUEST_NOT_EXIST",
+ 402: "RETCODE_RET_QUEST_IS_FAIL",
+ 403: "RETCODE_RET_QUEST_CONTENT_ERROR",
+ 404: "RETCODE_RET_BARGAIN_NOT_ACTIVATED",
+ 405: "RETCODE_RET_BARGAIN_FINISHED",
+ 406: "RETCODE_RET_INFERENCE_ASSOCIATE_WORD_ERROR",
+ 407: "RETCODE_RET_INFERENCE_SUBMIT_WORD_NO_CONCLUSION",
+ 501: "RETCODE_RET_POINT_NOT_UNLOCKED",
+ 502: "RETCODE_RET_POINT_TOO_FAR",
+ 503: "RETCODE_RET_POINT_ALREAY_UNLOCKED",
+ 504: "RETCODE_RET_ENTITY_NOT_EXIST",
+ 505: "RETCODE_RET_ENTER_SCENE_FAIL",
+ 506: "RETCODE_RET_PLAYER_IS_ENTER_SCENE",
+ 507: "RETCODE_RET_CITY_MAX_LEVEL",
+ 508: "RETCODE_RET_AREA_LOCKED",
+ 509: "RETCODE_RET_JOIN_OTHER_WAIT",
+ 510: "RETCODE_RET_WEATHER_AREA_NOT_FOUND",
+ 511: "RETCODE_RET_WEATHER_IS_LOCKED",
+ 512: "RETCODE_RET_NOT_IN_SELF_SCENE",
+ 513: "RETCODE_RET_GROUP_NOT_EXIST",
+ 514: "RETCODE_RET_MARK_NAME_ILLEGAL",
+ 515: "RETCODE_RET_MARK_ALREADY_EXISTS",
+ 516: "RETCODE_RET_MARK_OVERFLOW",
+ 517: "RETCODE_RET_MARK_NOT_EXISTS",
+ 518: "RETCODE_RET_MARK_UNKNOWN_TYPE",
+ 519: "RETCODE_RET_MARK_NAME_TOO_LONG",
+ 520: "RETCODE_RET_DISTANCE_LONG",
+ 521: "RETCODE_RET_ENTER_SCENE_TOKEN_INVALID",
+ 522: "RETCODE_RET_NOT_IN_WORLD_SCENE",
+ 523: "RETCODE_RET_ANY_GALLERY_STARTED",
+ 524: "RETCODE_RET_GALLERY_NOT_START",
+ 525: "RETCODE_RET_GALLERY_INTERRUPT_ONLY_ON_SINGLE_MODE",
+ 526: "RETCODE_RET_GALLERY_CANNOT_INTERRUPT",
+ 527: "RETCODE_RET_GALLERY_WORLD_NOT_MEET",
+ 528: "RETCODE_RET_GALLERY_SCENE_NOT_MEET",
+ 529: "RETCODE_RET_CUR_PLAY_CANNOT_TRANSFER",
+ 530: "RETCODE_RET_CANT_USE_WIDGET_IN_HOME_SCENE",
+ 531: "RETCODE_RET_SCENE_GROUP_NOT_MATCH",
+ 551: "RETCODE_RET_POS_ROT_INVALID",
+ 552: "RETCODE_RET_MARK_INVALID_SCENE_ID",
+ 553: "RETCODE_RET_INVALID_SCENE_TO_USE_ANCHOR_POINT",
+ 554: "RETCODE_RET_ENTER_HOME_SCENE_FAIL",
+ 555: "RETCODE_RET_CUR_SCENE_IS_NULL",
+ 556: "RETCODE_RET_GROUP_ID_ERROR",
+ 557: "RETCODE_RET_GALLERY_INTERRUPT_NOT_OWNER",
+ 558: "RETCODE_RET_NO_SPRING_IN_AREA",
+ 559: "RETCODE_RET_AREA_NOT_IN_SCENE",
+ 560: "RETCODE_RET_INVALID_CITY_ID",
+ 561: "RETCODE_RET_INVALID_SCENE_ID",
+ 562: "RETCODE_RET_DEST_SCENE_IS_NOT_ALLOW",
+ 563: "RETCODE_RET_LEVEL_TAG_SWITCH_IN_CD",
+ 564: "RETCODE_RET_LEVEL_TAG_ALREADY_EXIST",
+ 565: "RETCODE_RET_INVALID_AREA_ID",
+ 601: "RETCODE_RET_ITEM_NOT_EXIST",
+ 602: "RETCODE_RET_PACK_EXCEED_MAX_WEIGHT",
+ 603: "RETCODE_RET_ITEM_NOT_DROPABLE",
+ 604: "RETCODE_RET_ITEM_NOT_USABLE",
+ 605: "RETCODE_RET_ITEM_INVALID_USE_COUNT",
+ 606: "RETCODE_RET_ITEM_INVALID_DROP_COUNT",
+ 607: "RETCODE_RET_ITEM_ALREADY_EXIST",
+ 608: "RETCODE_RET_ITEM_IN_COOLDOWN",
+ 609: "RETCODE_RET_ITEM_COUNT_NOT_ENOUGH",
+ 610: "RETCODE_RET_ITEM_INVALID_TARGET",
+ 611: "RETCODE_RET_RECIPE_NOT_EXIST",
+ 612: "RETCODE_RET_RECIPE_LOCKED",
+ 613: "RETCODE_RET_RECIPE_UNLOCKED",
+ 614: "RETCODE_RET_COMPOUND_QUEUE_FULL",
+ 615: "RETCODE_RET_COMPOUND_NOT_FINISH",
+ 616: "RETCODE_RET_MAIL_ITEM_NOT_GET",
+ 617: "RETCODE_RET_ITEM_EXCEED_LIMIT",
+ 618: "RETCODE_RET_AVATAR_CAN_NOT_USE",
+ 619: "RETCODE_RET_ITEM_NEED_PLAYER_LEVEL",
+ 620: "RETCODE_RET_RECIPE_NOT_AUTO_QTE",
+ 621: "RETCODE_RET_COMPOUND_BUSY_QUEUE",
+ 622: "RETCODE_RET_NEED_MORE_SCOIN",
+ 623: "RETCODE_RET_SKILL_DEPOT_NOT_FOUND",
+ 624: "RETCODE_RET_HCOIN_NOT_ENOUGH",
+ 625: "RETCODE_RET_SCOIN_NOT_ENOUGH",
+ 626: "RETCODE_RET_HCOIN_EXCEED_LIMIT",
+ 627: "RETCODE_RET_SCOIN_EXCEED_LIMIT",
+ 628: "RETCODE_RET_MAIL_EXPIRED",
+ 629: "RETCODE_RET_REWARD_HAS_TAKEN",
+ 630: "RETCODE_RET_COMBINE_COUNT_TOO_LARGE",
+ 631: "RETCODE_RET_GIVING_ITEM_WRONG",
+ 632: "RETCODE_RET_GIVING_IS_FINISHED",
+ 633: "RETCODE_RET_GIVING_NOT_ACTIVED",
+ 634: "RETCODE_RET_FORGE_QUEUE_FULL",
+ 635: "RETCODE_RET_FORGE_QUEUE_CAPACITY",
+ 636: "RETCODE_RET_FORGE_QUEUE_NOT_FOUND",
+ 637: "RETCODE_RET_FORGE_QUEUE_EMPTY",
+ 638: "RETCODE_RET_NOT_SUPPORT_ITEM",
+ 639: "RETCODE_RET_ITEM_EMPTY",
+ 640: "RETCODE_RET_VIRTUAL_EXCEED_LIMIT",
+ 641: "RETCODE_RET_MATERIAL_EXCEED_LIMIT",
+ 642: "RETCODE_RET_EQUIP_EXCEED_LIMIT",
+ 643: "RETCODE_RET_ITEM_SHOULD_HAVE_NO_LEVEL",
+ 644: "RETCODE_RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT",
+ 645: "RETCODE_RET_WEAPON_LEVEL_INVALID",
+ 646: "RETCODE_RET_UNKNOW_ITEM_TYPE",
+ 647: "RETCODE_RET_ITEM_COUNT_IS_ZERO",
+ 648: "RETCODE_RET_ITEM_IS_EXPIRED",
+ 649: "RETCODE_RET_ITEM_EXCEED_OUTPUT_LIMIT",
+ 650: "RETCODE_RET_EQUIP_LEVEL_HIGHER",
+ 651: "RETCODE_RET_EQUIP_CAN_NOT_WAKE_OFF_WEAPON",
+ 652: "RETCODE_RET_EQUIP_HAS_BEEN_WEARED",
+ 653: "RETCODE_RET_EQUIP_WEARED_CANNOT_DROP",
+ 654: "RETCODE_RET_AWAKEN_LEVEL_MAX",
+ 655: "RETCODE_RET_MCOIN_NOT_ENOUGH",
+ 656: "RETCODE_RET_MCOIN_EXCEED_LIMIT",
+ 660: "RETCODE_RET_RESIN_NOT_ENOUGH",
+ 661: "RETCODE_RET_RESIN_EXCEED_LIMIT",
+ 662: "RETCODE_RET_RESIN_OPENSTATE_OFF",
+ 663: "RETCODE_RET_RESIN_BOUGHT_COUNT_EXCEEDED",
+ 664: "RETCODE_RET_RESIN_CARD_DAILY_REWARD_HAS_TAKEN",
+ 665: "RETCODE_RET_RESIN_CARD_EXPIRED",
+ 666: "RETCODE_RET_AVATAR_CAN_NOT_COOK",
+ 667: "RETCODE_RET_ATTACH_AVATAR_CD",
+ 668: "RETCODE_RET_AUTO_RECOVER_OPENSTATE_OFF",
+ 669: "RETCODE_RET_AUTO_RECOVER_BOUGHT_COUNT_EXCEEDED",
+ 670: "RETCODE_RET_RESIN_GAIN_FAILED",
+ 671: "RETCODE_RET_WIDGET_ORNAMENTS_TYPE_ERROR",
+ 672: "RETCODE_RET_ALL_TARGET_SATIATION_FULL",
+ 673: "RETCODE_RET_FORGE_WORLD_LEVEL_NOT_MATCH",
+ 674: "RETCODE_RET_FORGE_POINT_NOT_ENOUGH",
+ 675: "RETCODE_RET_WIDGET_ANCHOR_POINT_FULL",
+ 676: "RETCODE_RET_WIDGET_ANCHOR_POINT_NOT_FOUND",
+ 677: "RETCODE_RET_ALL_BONFIRE_EXCEED_MAX_COUNT",
+ 678: "RETCODE_RET_BONFIRE_EXCEED_MAX_COUNT",
+ 679: "RETCODE_RET_LUNCH_BOX_DATA_ERROR",
+ 680: "RETCODE_RET_INVALID_QUICK_USE_WIDGET",
+ 681: "RETCODE_RET_INVALID_REPLACE_RESIN_COUNT",
+ 682: "RETCODE_RET_PREV_DETECTED_GATHER_NOT_FOUND",
+ 683: "RETCODE_RET_GOT_ALL_ONEOFF_GAHTER",
+ 684: "RETCODE_RET_INVALID_WIDGET_MATERIAL_ID",
+ 685: "RETCODE_RET_WIDGET_DETECTOR_NO_HINT_TO_CLEAR",
+ 686: "RETCODE_RET_WIDGET_ALREADY_WITHIN_NEARBY_RADIUS",
+ 687: "RETCODE_RET_WIDGET_CLIENT_COLLECTOR_NEED_POINTS",
+ 688: "RETCODE_RET_WIDGET_IN_COMBAT",
+ 689: "RETCODE_RET_WIDGET_NOT_SET_QUICK_USE",
+ 690: "RETCODE_RET_ALREADY_ATTACH_WIDGET",
+ 691: "RETCODE_RET_EQUIP_IS_LOCKED",
+ 692: "RETCODE_RET_FORGE_IS_LOCKED",
+ 693: "RETCODE_RET_COMBINE_IS_LOCKED",
+ 694: "RETCODE_RET_FORGE_OUTPUT_STACK_LIMIT",
+ 695: "RETCODE_RET_ALREADY_DETTACH_WIDGET",
+ 696: "RETCODE_RET_GADGET_BUILDER_EXCEED_MAX_COUNT",
+ 697: "RETCODE_RET_REUNION_PRIVILEGE_RESIN_TYPE_IS_NORMAL",
+ 698: "RETCODE_RET_BONUS_COUNT_EXCEED_DOUBLE_LIMIT",
+ 699: "RETCODE_RET_RELIQUARY_DECOMPOSE_PARAM_ERROR",
+ 700: "RETCODE_RET_ITEM_COMBINE_COUNT_NOT_ENOUGH",
+ 701: "RETCODE_RET_GOODS_NOT_EXIST",
+ 702: "RETCODE_RET_GOODS_MATERIAL_NOT_ENOUGH",
+ 703: "RETCODE_RET_GOODS_NOT_IN_TIME",
+ 704: "RETCODE_RET_GOODS_BUY_NUM_NOT_ENOUGH",
+ 705: "RETCODE_RET_GOODS_BUY_NUM_ERROR",
+ 706: "RETCODE_RET_SHOP_NOT_OPEN",
+ 707: "RETCODE_RET_SHOP_CONTENT_NOT_MATCH",
+ 798: "RETCODE_RET_CHAT_FORBIDDEN",
+ 799: "RETCODE_RET_CHAT_CD",
+ 800: "RETCODE_RET_CHAT_FREQUENTLY",
+ 801: "RETCODE_RET_GADGET_NOT_EXIST",
+ 802: "RETCODE_RET_GADGET_NOT_INTERACTIVE",
+ 803: "RETCODE_RET_GADGET_NOT_GATHERABLE",
+ 804: "RETCODE_RET_CHEST_IS_LOCKED",
+ 805: "RETCODE_RET_GADGET_CREATE_FAIL",
+ 806: "RETCODE_RET_WORKTOP_OPTION_NOT_EXIST",
+ 807: "RETCODE_RET_GADGET_STATUE_NOT_ACTIVE",
+ 808: "RETCODE_RET_GADGET_STATUE_OPENED",
+ 809: "RETCODE_RET_BOSS_CHEST_NO_QUALIFICATION",
+ 810: "RETCODE_RET_BOSS_CHEST_LIFE_TIME_OVER",
+ 811: "RETCODE_RET_BOSS_CHEST_WEEK_NUM_LIMIT",
+ 812: "RETCODE_RET_BOSS_CHEST_GUEST_WORLD_LEVEL",
+ 813: "RETCODE_RET_BOSS_CHEST_HAS_TAKEN",
+ 814: "RETCODE_RET_BLOSSOM_CHEST_NO_QUALIFICATION",
+ 815: "RETCODE_RET_BLOSSOM_CHEST_LIFE_TIME_OVER",
+ 816: "RETCODE_RET_BLOSSOM_CHEST_HAS_TAKEN",
+ 817: "RETCODE_RET_BLOSSOM_CHEST_GUEST_WORLD_LEVEL",
+ 818: "RETCODE_RET_MP_PLAY_REWARD_NO_QUALIFICATION",
+ 819: "RETCODE_RET_MP_PLAY_REWARD_HAS_TAKEN",
+ 820: "RETCODE_RET_GENERAL_REWARD_NO_QUALIFICATION",
+ 821: "RETCODE_RET_GENERAL_REWARD_LIFE_TIME_OVER",
+ 822: "RETCODE_RET_GENERAL_REWARD_HAS_TAKEN",
+ 823: "RETCODE_RET_GADGET_NOT_VEHICLE",
+ 824: "RETCODE_RET_VEHICLE_SLOT_OCCUPIED",
+ 825: "RETCODE_RET_NOT_IN_VEHICLE",
+ 826: "RETCODE_RET_CREATE_VEHICLE_IN_CD",
+ 827: "RETCODE_RET_CREATE_VEHICLE_POS_INVALID",
+ 828: "RETCODE_RET_VEHICLE_POINT_NOT_UNLOCK",
+ 829: "RETCODE_RET_GADGET_INTERACT_COND_NOT_MEET",
+ 830: "RETCODE_RET_GADGET_INTERACT_PARAM_ERROR",
+ 831: "RETCODE_RET_GADGET_CUSTOM_COMBINATION_INVALID",
+ 832: "RETCODE_RET_DESHRET_OBELISK_DUPLICATE_INTERACT",
+ 833: "RETCODE_RET_DESHRET_OBELISK_NO_AVAIL_CHEST",
+ 860: "RETCODE_RET_ACTIVITY_CLOSE",
+ 861: "RETCODE_RET_ACTIVITY_ITEM_ERROR",
+ 862: "RETCODE_RET_ACTIVITY_CONTRIBUTION_NOT_ENOUGH",
+ 863: "RETCODE_RET_SEA_LAMP_PHASE_NOT_FINISH",
+ 864: "RETCODE_RET_SEA_LAMP_FLY_NUM_LIMIT",
+ 865: "RETCODE_RET_SEA_LAMP_FLY_LAMP_WORD_ILLEGAL",
+ 866: "RETCODE_RET_ACTIVITY_WATCHER_REWARD_TAKEN",
+ 867: "RETCODE_RET_ACTIVITY_WATCHER_REWARD_NOT_FINISHED",
+ 868: "RETCODE_RET_SALESMAN_ALREADY_DELIVERED",
+ 869: "RETCODE_RET_SALESMAN_REWARD_COUNT_NOT_ENOUGH",
+ 870: "RETCODE_RET_SALESMAN_POSITION_INVALID",
+ 871: "RETCODE_RET_DELIVER_NOT_FINISH_ALL_QUEST",
+ 872: "RETCODE_RET_DELIVER_ALREADY_TAKE_DAILY_REWARD",
+ 873: "RETCODE_RET_ASTER_PROGRESS_EXCEED_LIMIT",
+ 874: "RETCODE_RET_ASTER_CREDIT_EXCEED_LIMIT",
+ 875: "RETCODE_RET_ASTER_TOKEN_EXCEED_LIMIT",
+ 876: "RETCODE_RET_ASTER_CREDIT_NOT_ENOUGH",
+ 877: "RETCODE_RET_ASTER_TOKEN_NOT_ENOUGH",
+ 878: "RETCODE_RET_ASTER_SPECIAL_REWARD_HAS_TAKEN",
+ 879: "RETCODE_RET_FLIGHT_GROUP_ACTIVITY_NOT_STARTED",
+ 880: "RETCODE_RET_ASTER_MID_PREVIOUS_BATTLE_NOT_FINISHED",
+ 881: "RETCODE_RET_DRAGON_SPINE_SHIMMERING_ESSENCE_EXCEED_LIMIT",
+ 882: "RETCODE_RET_DRAGON_SPINE_WARM_ESSENCE_EXCEED_LIMIT",
+ 883: "RETCODE_RET_DRAGON_SPINE_WONDROUS_ESSENCE_EXCEED_LIMIT",
+ 884: "RETCODE_RET_DRAGON_SPINE_SHIMMERING_ESSENCE_NOT_ENOUGH",
+ 885: "RETCODE_RET_DRAGON_SPINE_WARM_ESSENCE_NOT_ENOUGH",
+ 886: "RETCODE_RET_DRAGON_SPINE_WONDROUS_ESSENCE_NOT_ENOUGH",
+ 891: "RETCODE_RET_EFFIGY_FIRST_PASS_REWARD_HAS_TAKEN",
+ 892: "RETCODE_RET_EFFIGY_REWARD_HAS_TAKEN",
+ 893: "RETCODE_RET_TREASURE_MAP_ADD_TOKEN_EXCEED_LIMIT",
+ 894: "RETCODE_RET_TREASURE_MAP_TOKEN_NOT_ENOUGHT",
+ 895: "RETCODE_RET_SEA_LAMP_COIN_EXCEED_LIMIT",
+ 896: "RETCODE_RET_SEA_LAMP_COIN_NOT_ENOUGH",
+ 897: "RETCODE_RET_SEA_LAMP_POPULARITY_EXCEED_LIMIT",
+ 898: "RETCODE_RET_ACTIVITY_AVATAR_REWARD_NOT_OPEN",
+ 899: "RETCODE_RET_ACTIVITY_AVATAR_REWARD_HAS_TAKEN",
+ 900: "RETCODE_RET_ARENA_ACTIVITY_ALREADY_STARTED",
+ 901: "RETCODE_RET_TALENT_ALREAY_UNLOCKED",
+ 902: "RETCODE_RET_PREV_TALENT_NOT_UNLOCKED",
+ 903: "RETCODE_RET_BIG_TALENT_POINT_NOT_ENOUGH",
+ 904: "RETCODE_RET_SMALL_TALENT_POINT_NOT_ENOUGH",
+ 905: "RETCODE_RET_PROUD_SKILL_ALREADY_GOT",
+ 906: "RETCODE_RET_PREV_PROUD_SKILL_NOT_GET",
+ 907: "RETCODE_RET_PROUD_SKILL_MAX_LEVEL",
+ 910: "RETCODE_RET_CANDIDATE_SKILL_DEPOT_ID_NOT_FIND",
+ 911: "RETCODE_RET_SKILL_DEPOT_IS_THE_SAME",
+ 1001: "RETCODE_RET_MONSTER_NOT_EXIST",
+ 1002: "RETCODE_RET_MONSTER_CREATE_FAIL",
+ 1101: "RETCODE_RET_DUNGEON_ENTER_FAIL",
+ 1102: "RETCODE_RET_DUNGEON_QUIT_FAIL",
+ 1103: "RETCODE_RET_DUNGEON_ENTER_EXCEED_DAY_COUNT",
+ 1104: "RETCODE_RET_DUNGEON_REVIVE_EXCEED_MAX_COUNT",
+ 1105: "RETCODE_RET_DUNGEON_REVIVE_FAIL",
+ 1106: "RETCODE_RET_DUNGEON_NOT_SUCCEED",
+ 1107: "RETCODE_RET_DUNGEON_CAN_NOT_CANCEL",
+ 1108: "RETCODE_RET_DEST_DUNGEON_SETTLED",
+ 1109: "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_IS_FULL",
+ 1110: "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_IS_DISMISS",
+ 1111: "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_NOT_ALL_READY",
+ 1112: "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_HAS_REPEAT_AVATAR",
+ 1113: "RETCODE_RET_DUNGEON_CANDIDATE_NOT_SINGEL_PASS",
+ 1114: "RETCODE_RET_DUNGEON_REPLAY_NEED_ALL_PLAYER_DIE",
+ 1115: "RETCODE_RET_DUNGEON_REPLAY_HAS_REVIVE_COUNT",
+ 1116: "RETCODE_RET_DUNGEON_OTHERS_LEAVE",
+ 1117: "RETCODE_RET_DUNGEON_ENTER_LEVEL_LIMIT",
+ 1118: "RETCODE_RET_DUNGEON_CANNOT_ENTER_PLOT_IN_MP",
+ 1119: "RETCODE_RET_DUNGEON_DROP_SUBFIELD_LIMIT",
+ 1120: "RETCODE_RET_DUNGEON_BE_INVITE_PLAYER_AVATAR_ALL_DIE",
+ 1121: "RETCODE_RET_DUNGEON_CANNOT_KICK",
+ 1122: "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_SOMEONE_LEVEL_LIMIT",
+ 1123: "RETCODE_RET_DUNGEON_IN_FORCE_QUIT",
+ 1124: "RETCODE_RET_DUNGEON_GUEST_QUIT_DUNGEON",
+ 1125: "RETCODE_RET_DUNGEON_TICKET_FAIL",
+ 1201: "RETCODE_RET_MP_NOT_IN_MY_WORLD",
+ 1202: "RETCODE_RET_MP_IN_MP_MODE",
+ 1203: "RETCODE_RET_MP_SCENE_IS_FULL",
+ 1204: "RETCODE_RET_MP_MODE_NOT_AVAILABLE",
+ 1205: "RETCODE_RET_MP_PLAYER_NOT_ENTERABLE",
+ 1206: "RETCODE_RET_MP_QUEST_BLOCK_MP",
+ 1207: "RETCODE_RET_MP_IN_ROOM_SCENE",
+ 1208: "RETCODE_RET_MP_WORLD_IS_FULL",
+ 1209: "RETCODE_RET_MP_PLAYER_NOT_ALLOW_ENTER",
+ 1210: "RETCODE_RET_MP_PLAYER_DISCONNECTED",
+ 1211: "RETCODE_RET_MP_NOT_IN_MP_MODE",
+ 1212: "RETCODE_RET_MP_OWNER_NOT_ENTER",
+ 1213: "RETCODE_RET_MP_ALLOW_ENTER_PLAYER_FULL",
+ 1214: "RETCODE_RET_MP_TARGET_PLAYER_IN_TRANSFER",
+ 1215: "RETCODE_RET_MP_TARGET_ENTERING_OTHER",
+ 1216: "RETCODE_RET_MP_OTHER_ENTERING",
+ 1217: "RETCODE_RET_MP_ENTER_MAIN_PLAYER_IN_PLOT",
+ 1218: "RETCODE_RET_MP_NOT_PS_PLAYER",
+ 1219: "RETCODE_RET_MP_PLAY_NOT_ACTIVE",
+ 1220: "RETCODE_RET_MP_PLAY_REMAIN_REWARDS",
+ 1221: "RETCODE_RET_MP_PLAY_NO_REWARD",
+ 1223: "RETCODE_RET_MP_OPEN_STATE_FAIL",
+ 1224: "RETCODE_RET_MP_PLAYER_IN_BLACKLIST",
+ 1225: "RETCODE_RET_MP_REPLY_TIMEOUT",
+ 1226: "RETCODE_RET_MP_IS_BLOCK",
+ 1227: "RETCODE_RET_MP_ENTER_MAIN_PLAYER_IN_MP_PLAY",
+ 1228: "RETCODE_RET_MP_IN_MP_PLAY_BATTLE",
+ 1229: "RETCODE_RET_MP_GUEST_HAS_REWARD_REMAINED",
+ 1230: "RETCODE_RET_MP_QUIT_MP_INVALID",
+ 1231: "RETCODE_RET_MP_OTHER_DATA_VERSION_NOT_LATEST",
+ 1232: "RETCODE_RET_MP_DATA_VERSION_NOT_LATEST",
+ 1233: "RETCODE_RET_MP_CUR_WORLD_NOT_ENTERABLE",
+ 1234: "RETCODE_RET_MP_ANY_GALLERY_STARTED",
+ 1235: "RETCODE_RET_MP_HAS_ACTIVE_DRAFT",
+ 1236: "RETCODE_RET_MP_PLAYER_IN_DUNGEON",
+ 1237: "RETCODE_RET_MP_MATCH_FULL",
+ 1238: "RETCODE_RET_MP_MATCH_LIMIT",
+ 1239: "RETCODE_RET_MP_MATCH_IN_PUNISH",
+ 1240: "RETCODE_RET_MP_IS_IN_MULTISTAGE",
+ 1241: "RETCODE_RET_MP_MATCH_PLAY_NOT_OPEN",
+ 1242: "RETCODE_RET_MP_ONLY_MP_WITH_PS_PLAYER",
+ 1243: "RETCODE_RET_MP_GUEST_LOADING_FIRST_ENTER",
+ 1244: "RETCODE_RET_MP_SUMMER_TIME_SPRINT_BOAT_ONGOING",
+ 1245: "RETCODE_RET_MP_BLITZ_RUSH_PARKOUR_CHALLENGE_ONGOING",
+ 1246: "RETCODE_RET_MP_MUSIC_GAME_ONGOING",
+ 1247: "RETCODE_RET_MP_IN_MPING_MODE",
+ 1248: "RETCODE_RET_MP_OWNER_IN_SINGLE_SCENE",
+ 1249: "RETCODE_RET_MP_IN_SINGLE_SCENE",
+ 1250: "RETCODE_RET_MP_REPLY_NO_VALID_AVATAR",
+ 1301: "RETCODE_RET_MAIL_PARA_ERR",
+ 1302: "RETCODE_RET_MAIL_MAX_NUM",
+ 1303: "RETCODE_RET_MAIL_ITEM_NUM_EXCEED",
+ 1304: "RETCODE_RET_MAIL_TITLE_LEN_EXCEED",
+ 1305: "RETCODE_RET_MAIL_CONTENT_LEN_EXCEED",
+ 1306: "RETCODE_RET_MAIL_SENDER_LEN_EXCEED",
+ 1307: "RETCODE_RET_MAIL_PARSE_PACKET_FAIL",
+ 1308: "RETCODE_RET_OFFLINE_MSG_MAX_NUM",
+ 1309: "RETCODE_RET_OFFLINE_MSG_SAME_TICKET",
+ 1310: "RETCODE_RET_MAIL_EXCEL_MAIL_TYPE_ERROR",
+ 1311: "RETCODE_RET_MAIL_CANNOT_SEND_MCOIN",
+ 1312: "RETCODE_RET_MAIL_HCOIN_EXCEED_LIMIT",
+ 1313: "RETCODE_RET_MAIL_SCOIN_EXCEED_LIMIT",
+ 1314: "RETCODE_RET_MAIL_MATERIAL_ID_INVALID",
+ 1315: "RETCODE_RET_MAIL_AVATAR_EXCEED_LIMIT",
+ 1316: "RETCODE_RET_MAIL_GACHA_TICKET_ETC_EXCEED_LIMIT",
+ 1317: "RETCODE_RET_MAIL_ITEM_EXCEED_CEHUA_LIMIT",
+ 1318: "RETCODE_RET_MAIL_SPACE_OR_REST_NUM_NOT_ENOUGH",
+ 1319: "RETCODE_RET_MAIL_TICKET_IS_EMPTY",
+ 1320: "RETCODE_RET_MAIL_TRANSACTION_IS_EMPTY",
+ 1321: "RETCODE_RET_MAIL_DELETE_COLLECTED",
+ 1330: "RETCODE_RET_DAILY_TASK_NOT_FINISH",
+ 1331: "RETCODE_RET_DAILY_TAKS_HAS_TAKEN",
+ 1332: "RETCODE_RET_SOCIAL_OFFLINE_MSG_NUM_EXCEED",
+ 1333: "RETCODE_RET_DAILY_TASK_FILTER_CITY_NOT_OPEN",
+ 1401: "RETCODE_RET_GACHA_INAVAILABLE",
+ 1402: "RETCODE_RET_GACHA_RANDOM_NOT_MATCH",
+ 1403: "RETCODE_RET_GACHA_SCHEDULE_NOT_MATCH",
+ 1404: "RETCODE_RET_GACHA_INVALID_TIMES",
+ 1405: "RETCODE_RET_GACHA_COST_ITEM_NOT_ENOUGH",
+ 1406: "RETCODE_RET_GACHA_TIMES_LIMIT",
+ 1407: "RETCODE_RET_GACHA_WISH_SAME_ITEM",
+ 1408: "RETCODE_RET_GACHA_WISH_INVALID_ITEM",
+ 1409: "RETCODE_RET_GACHA_MINORS_TIMES_LIMIT",
+ 1501: "RETCODE_RET_INVESTIGAITON_NOT_IN_PROGRESS",
+ 1502: "RETCODE_RET_INVESTIGAITON_UNCOMPLETE",
+ 1503: "RETCODE_RET_INVESTIGAITON_REWARD_TAKEN",
+ 1504: "RETCODE_RET_INVESTIGAITON_TARGET_STATE_ERROR",
+ 1505: "RETCODE_RET_PUSH_TIPS_NOT_FOUND",
+ 1506: "RETCODE_RET_SIGN_IN_RECORD_NOT_FOUND",
+ 1507: "RETCODE_RET_ALREADY_HAVE_SIGNED_IN",
+ 1508: "RETCODE_RET_SIGN_IN_COND_NOT_SATISFIED",
+ 1509: "RETCODE_RET_BONUS_ACTIVITY_NOT_UNREWARDED",
+ 1510: "RETCODE_RET_SIGN_IN_REWARDED",
+ 1521: "RETCODE_RET_TOWER_NOT_OPEN",
+ 1522: "RETCODE_RET_TOWER_HAVE_DAILY_RECORD",
+ 1523: "RETCODE_RET_TOWER_NOT_RECORD",
+ 1524: "RETCODE_RET_TOWER_HAVE_RECORD",
+ 1525: "RETCODE_RET_TOWER_TEAM_NUM_ERROR",
+ 1526: "RETCODE_RET_TOWER_FLOOR_NOT_OPEN",
+ 1527: "RETCODE_RET_TOWER_NO_FLOOR_STAR_RECORD",
+ 1528: "RETCODE_RET_ALREADY_HAS_TOWER_BUFF",
+ 1529: "RETCODE_RET_DUPLICATE_ENTER_LEVEL",
+ 1530: "RETCODE_RET_NOT_IN_TOWER_LEVEL",
+ 1531: "RETCODE_RET_IN_TOWER_LEVEL",
+ 1532: "RETCODE_RET_TOWER_PREV_FLOOR_NOT_FINISH",
+ 1533: "RETCODE_RET_TOWER_STAR_NOT_ENOUGH",
+ 1541: "RETCODE_RET_BATTLE_PASS_NO_SCHEDULE",
+ 1542: "RETCODE_RET_BATTLE_PASS_HAS_BUYED",
+ 1543: "RETCODE_RET_BATTLE_PASS_LEVEL_OVERFLOW",
+ 1544: "RETCODE_RET_BATTLE_PASS_PRODUCT_EXPIRED",
+ 1561: "RETCODE_RET_MATCH_HOST_QUIT",
+ 1562: "RETCODE_RET_MATCH_ALREADY_IN_MATCH",
+ 1563: "RETCODE_RET_MATCH_NOT_IN_MATCH",
+ 1564: "RETCODE_RET_MATCH_APPLYING_ENTER_MP",
+ 1581: "RETCODE_RET_WIDGET_TREASURE_SPOT_NOT_FOUND",
+ 1582: "RETCODE_RET_WIDGET_TREASURE_ENTITY_EXISTS",
+ 1583: "RETCODE_RET_WIDGET_TREASURE_SPOT_FAR_AWAY",
+ 1584: "RETCODE_RET_WIDGET_TREASURE_FINISHED_TODAY",
+ 1585: "RETCODE_RET_WIDGET_QUICK_USE_REQ_PARAM_ERROR",
+ 1586: "RETCODE_RET_WIDGET_CAMERA_SCAN_ID_ERROR",
+ 1587: "RETCODE_RET_WIDGET_NOT_ACTIVE",
+ 1588: "RETCODE_RET_WIDGET_FEATHER_NOT_ACTIVE",
+ 1589: "RETCODE_RET_WIDGET_FEATHER_GADGET_TOO_FAR_AWAY",
+ 1590: "RETCODE_RET_WIDGET_CAPTURE_ANIMAL_NOT_EXIST",
+ 1591: "RETCODE_RET_WIDGET_CAPTURE_ANIMAL_DROP_BAG_LIMIT",
+ 1592: "RETCODE_RET_WIDGET_CAPTURE_ANIMAL_CAN_NOT_CAPTURE",
+ 1593: "RETCODE_RET_WIDGET_SKY_CRYSTAL_ALL_COLLECTED",
+ 1594: "RETCODE_RET_WIDGET_SKY_CRYSTAL_HINT_ALREADY_EXIST",
+ 1595: "RETCODE_RET_WIDGET_SKY_CRYSTAL_NOT_FOUND",
+ 1596: "RETCODE_RET_WIDGET_SKY_CRYSTAL_NO_HINT_TO_CLEAR",
+ 1597: "RETCODE_RET_WIDGET_LIGHT_STONE_ENERGY_NOT_ENOUGH",
+ 1598: "RETCODE_RET_WIDGET_TOY_CRYSTAL_ENERGY_NOT_ENOUGH",
+ 1599: "RETCODE_RET_WIDGET_LIGHT_STONE_LEVEL_NOT_ENOUGH",
+ 2001: "RETCODE_RET_UID_NOT_EXIST",
+ 2002: "RETCODE_RET_PARSE_BIN_ERROR",
+ 2003: "RETCODE_RET_ACCOUNT_INFO_NOT_EXIST",
+ 2004: "RETCODE_RET_ORDER_INFO_NOT_EXIST",
+ 2005: "RETCODE_RET_SNAPSHOT_INDEX_ERROR",
+ 2006: "RETCODE_RET_MAIL_HAS_BEEN_SENT",
+ 2007: "RETCODE_RET_PRODUCT_NOT_EXIST",
+ 2008: "RETCODE_RET_UNFINISH_ORDER",
+ 2009: "RETCODE_RET_ID_NOT_EXIST",
+ 2010: "RETCODE_RET_ORDER_TRADE_EARLY",
+ 2011: "RETCODE_RET_ORDER_FINISHED",
+ 2012: "RETCODE_RET_GAMESERVER_VERSION_WRONG",
+ 2013: "RETCODE_RET_OFFLINE_OP_FULL_LENGTH",
+ 2014: "RETCODE_RET_CONCERT_PRODUCT_OBTAIN_LIMIT",
+ 2015: "RETCODE_RET_CONCERT_PRODUCT_TICKET_DUPLICATED",
+ 2016: "RETCODE_RET_CONCERT_PRODUCT_TICKET_EMPTY",
+ 5001: "RETCODE_RET_REDIS_MODIFIED",
+ 5002: "RETCODE_RET_REDIS_UID_NOT_EXIST",
+ 6001: "RETCODE_RET_PATHFINDING_DATA_NOT_EXIST",
+ 6002: "RETCODE_RET_PATHFINDING_DESTINATION_NOT_EXIST",
+ 6003: "RETCODE_RET_PATHFINDING_ERROR_SCENE",
+ 6004: "RETCODE_RET_PATHFINDING_SCENE_DATA_LOADING",
+ 7001: "RETCODE_RET_FRIEND_COUNT_EXCEEDED",
+ 7002: "RETCODE_RET_PLAYER_NOT_EXIST",
+ 7003: "RETCODE_RET_ALREADY_SENT_ADD_REQUEST",
+ 7004: "RETCODE_RET_ASK_FRIEND_LIST_FULL",
+ 7005: "RETCODE_RET_PLAYER_ALREADY_IS_FRIEND",
+ 7006: "RETCODE_RET_PLAYER_NOT_ASK_FRIEND",
+ 7007: "RETCODE_RET_TARGET_FRIEND_COUNT_EXCEED",
+ 7008: "RETCODE_RET_NOT_FRIEND",
+ 7009: "RETCODE_RET_BIRTHDAY_CANNOT_BE_SET_TWICE",
+ 7010: "RETCODE_RET_CANNOT_ADD_SELF_FRIEND",
+ 7011: "RETCODE_RET_SIGNATURE_ILLEGAL",
+ 7012: "RETCODE_RET_PS_PLAYER_CANNOT_ADD_FRIENDS",
+ 7013: "RETCODE_RET_PS_PLAYER_CANNOT_REMOVE_FRIENDS",
+ 7014: "RETCODE_RET_NAME_CARD_NOT_UNLOCKED",
+ 7015: "RETCODE_RET_ALREADY_IN_BLACKLIST",
+ 7016: "RETCODE_RET_PS_PALEYRS_CANNOT_ADD_BLACKLIST",
+ 7017: "RETCODE_RET_PLAYER_BLACKLIST_FULL",
+ 7018: "RETCODE_RET_PLAYER_NOT_IN_BLACKLIST",
+ 7019: "RETCODE_RET_BLACKLIST_PLAYER_CANNOT_ADD_FRIEND",
+ 7020: "RETCODE_RET_IN_TARGET_BLACKLIST",
+ 7021: "RETCODE_RET_CANNOT_ADD_TARGET_FRIEND",
+ 7022: "RETCODE_RET_BIRTHDAY_FORMAT_ERROR",
+ 7023: "RETCODE_RET_ONLINE_ID_NOT_EXISTS",
+ 7024: "RETCODE_RET_FIRST_SHARE_REWARD_HAS_TAKEN",
+ 7025: "RETCODE_RET_PS_PLAYER_CANNOT_REMOVE_BLACKLIST",
+ 7026: "RETCODE_RET_REPORT_CD",
+ 7027: "RETCODE_RET_REPORT_CONTENT_ILLEGAL",
+ 7028: "RETCODE_RET_REMARK_WORD_ILLEGAL",
+ 7029: "RETCODE_RET_REMARK_TOO_LONG",
+ 7030: "RETCODE_RET_REMARK_UTF8_ERROR",
+ 7031: "RETCODE_RET_REMARK_IS_EMPTY",
+ 7032: "RETCODE_RET_ASK_ADD_FRIEND_CD",
+ 7033: "RETCODE_RET_SHOW_AVATAR_INFO_NOT_EXIST",
+ 7034: "RETCODE_RET_PLAYER_NOT_SHOW_AVATAR",
+ 7035: "RETCODE_RET_SOCIAL_UPDATE_SHOW_LIST_REPEAT_ID",
+ 7036: "RETCODE_RET_PSN_ID_NOT_FOUND",
+ 7037: "RETCODE_RET_EMOJI_COLLECTION_NUM_EXCEED_LIMIT",
+ 7038: "RETCODE_RET_REMARK_EMPTY",
+ 7039: "RETCODE_RET_IN_TARGET_PSN_BLACKLIST",
+ 7040: "RETCODE_RET_SIGNATURE_NOT_CHANGED",
+ 7041: "RETCODE_RET_SIGNATURE_MONTHLY_LIMIT",
+ 7081: "RETCODE_RET_OFFERING_NOT_OPEN",
+ 7082: "RETCODE_RET_OFFERING_LEVEL_LIMIT",
+ 7083: "RETCODE_RET_OFFERING_LEVEL_NOT_REACH",
+ 7084: "RETCODE_RET_OFFERING_LEVEL_HAS_TAKEN",
+ 7101: "RETCODE_RET_CITY_REPUTATION_NOT_OPEN",
+ 7102: "RETCODE_RET_CITY_REPUTATION_LEVEL_TAKEN",
+ 7103: "RETCODE_RET_CITY_REPUTATION_LEVEL_NOT_REACH",
+ 7104: "RETCODE_RET_CITY_REPUTATION_PARENT_QUEST_TAKEN",
+ 7105: "RETCODE_RET_CITY_REPUTATION_PARENT_QUEST_UNFINISH",
+ 7106: "RETCODE_RET_CITY_REPUTATION_ACCEPT_REQUEST",
+ 7107: "RETCODE_RET_CITY_REPUTATION_NOT_ACCEPT_REQUEST",
+ 7108: "RETCODE_RET_CITY_REPUTATION_ACCEPT_REQUEST_LIMIT",
+ 7109: "RETCODE_RET_CITY_REPUTATION_ENTRANCE_NOT_OPEN",
+ 7110: "RETCODE_RET_CITY_REPUTATION_TAKEN_REQUEST_REWARD",
+ 7111: "RETCODE_RET_CITY_REPUTATION_SWITCH_CLOSE",
+ 7112: "RETCODE_RET_CITY_REPUTATION_ENTRACE_SWITCH_CLOSE",
+ 7113: "RETCODE_RET_CITY_REPUTATION_TAKEN_EXPLORE_REWARD",
+ 7114: "RETCODE_RET_CITY_REPUTATION_EXPLORE_NOT_REACH",
+ 7120: "RETCODE_RET_MECHANICUS_NOT_OPEN",
+ 7121: "RETCODE_RET_MECHANICUS_GEAR_UNLOCK",
+ 7122: "RETCODE_RET_MECHANICUS_GEAR_LOCK",
+ 7123: "RETCODE_RET_MECHANICUS_GEAR_LEVEL_LIMIT",
+ 7124: "RETCODE_RET_MECHANICUS_COIN_NOT_ENOUGH",
+ 7125: "RETCODE_RET_MECHANICUS_NO_SEQUENCE",
+ 7126: "RETCODE_RET_MECHANICUS_SEQUENCE_LIMIT_LEVEL",
+ 7127: "RETCODE_RET_MECHANICUS_SEQUENCE_LIMIT_OPEN",
+ 7128: "RETCODE_RET_MECHANICUS_DIFFICULT_NOT_SUPPORT",
+ 7129: "RETCODE_RET_MECHANICUS_TICKET_NOT_ENOUGH",
+ 7130: "RETCODE_RET_MECHANICUS_TEACH_NOT_FINISH",
+ 7131: "RETCODE_RET_MECHANICUS_TEACH_FINISHED",
+ 7132: "RETCODE_RET_MECHANICUS_PREV_DIFFICULT_LEVEL_BLOCK",
+ 7133: "RETCODE_RET_MECHANICUS_PLAYER_LIMIT",
+ 7134: "RETCODE_RET_MECHANICUS_PUNISH_TIME",
+ 7135: "RETCODE_RET_MECHANICUS_SWITCH_CLOSE",
+ 7150: "RETCODE_RET_MECHANICUS_BATTLE_NOT_IN_DUNGEON",
+ 7151: "RETCODE_RET_MECHANICUS_BATTLE_PLAY_NOT_FOUND",
+ 7152: "RETCODE_RET_MECHANICUS_BATTLE_DUPLICATE_PICK_CARD",
+ 7153: "RETCODE_RET_MECHANICUS_BATTLE_PLAYER_NOT_IN_PLAY",
+ 7154: "RETCODE_RET_MECHANICUS_BATTLE_CARD_NOT_AVAILABLE",
+ 7155: "RETCODE_RET_MECHANICUS_BATTLE_NOT_IN_CARD_STAGE",
+ 7156: "RETCODE_RET_MECHANICUS_BATTLE_CARD_IS_WAITING",
+ 7157: "RETCODE_RET_MECHANICUS_BATTLE_CARD_ALL_CONFIRMED",
+ 7158: "RETCODE_RET_MECHANICUS_BATTLE_CARD_ALREADY_CONFIRMED",
+ 7159: "RETCODE_RET_MECHANICUS_BATTLE_CARD_CONFIRMED_BY_OTHER",
+ 7160: "RETCODE_RET_MECHANICUS_BATTLE_CARD_NOT_ENOUGH_POINTS",
+ 7161: "RETCODE_RET_MECHANICUS_BATTLE_CARD_ALREADY_SKIPPED",
+ 8001: "RETCODE_RET_LEGENDARY_KEY_NOT_ENOUGH",
+ 8002: "RETCODE_RET_LEGENDARY_KEY_EXCEED_LIMIT",
+ 8003: "RETCODE_RET_DAILY_TASK_NOT_ENOUGH_TO_REDEEM",
+ 8004: "RETCODE_RET_PERSONAL_LINE_OPEN_STATE_OFF",
+ 8005: "RETCODE_RET_PERSONAL_LINE_LEVEL_NOT_ENOUGH",
+ 8006: "RETCODE_RET_PERSONAL_LINE_NOT_OPEN",
+ 8007: "RETCODE_RET_PERSONAL_LINE_PRE_QUEST_NOT_FINISH",
+ 8201: "RETCODE_RET_HUNTING_ALREADY_FINISH_OFFER_LIMIT",
+ 8202: "RETCODE_RET_HUNTING_HAS_UNFINISHED_OFFER",
+ 8203: "RETCODE_RET_HUNTING_FAILED_OFFER_NOT_CD_READY",
+ 8204: "RETCODE_RET_HUNTING_NOT_TAKE_OFFER",
+ 8205: "RETCODE_RET_HUNTING_CANNOT_TAKE_TWICE",
+ 8901: "RETCODE_RET_RPIVATE_CHAT_INVALID_CONTENT_TYPE",
+ 8902: "RETCODE_RET_PRIVATE_CHAT_TARGET_IS_NOT_FRIEND",
+ 8903: "RETCODE_RET_PRIVATE_CHAT_CONTENT_NOT_SUPPORTED",
+ 8904: "RETCODE_RET_PRIVATE_CHAT_CONTENT_TOO_LONG",
+ 8905: "RETCODE_RET_PRIVATE_CHAT_PULL_TOO_FAST",
+ 8906: "RETCODE_RET_PRIVATE_CHAT_REPEAT_READ",
+ 8907: "RETCODE_RET_PRIVATE_CHAT_READ_NOT_FRIEND",
+ 9001: "RETCODE_RET_REUNION_FINISHED",
+ 9002: "RETCODE_RET_REUNION_NOT_ACTIVATED",
+ 9003: "RETCODE_RET_REUNION_ALREADY_TAKE_FIRST_REWARD",
+ 9004: "RETCODE_RET_REUNION_SIGN_IN_REWARDED",
+ 9005: "RETCODE_RET_REUNION_WATCHER_REWARDED",
+ 9006: "RETCODE_RET_REUNION_WATCHER_NOT_FINISH",
+ 9007: "RETCODE_RET_REUNION_MISSION_REWARDED",
+ 9008: "RETCODE_RET_REUNION_MISSION_NOT_FINISH",
+ 9009: "RETCODE_RET_REUNION_WATCHER_REWARD_NOT_UNLOCKED",
+ 9101: "RETCODE_RET_BLESSING_CONTENT_CLOSED",
+ 9102: "RETCODE_RET_BLESSING_NOT_ACTIVE",
+ 9103: "RETCODE_RET_BLESSING_NOT_TODAY_ENTITY",
+ 9104: "RETCODE_RET_BLESSING_ENTITY_EXCEED_SCAN_NUM_LIMIT",
+ 9105: "RETCODE_RET_BLESSING_DAILY_SCAN_NUM_EXCEED_LIMIT",
+ 9106: "RETCODE_RET_BLESSING_REDEEM_REWARD_NUM_EXCEED_LIMIT",
+ 9107: "RETCODE_RET_BLESSING_REDEEM_PIC_NUM_NOT_ENOUGH",
+ 9108: "RETCODE_RET_BLESSING_PIC_NOT_ENOUGH",
+ 9109: "RETCODE_RET_BLESSING_PIC_HAS_RECEIVED",
+ 9110: "RETCODE_RET_BLESSING_TARGET_RECV_NUM_EXCEED",
+ 9111: "RETCODE_RET_FLEUR_FAIR_CREDIT_EXCEED_LIMIT",
+ 9112: "RETCODE_RET_FLEUR_FAIR_CREDIT_NOT_ENOUGH",
+ 9113: "RETCODE_RET_FLEUR_FAIR_TOKEN_EXCEED_LIMIT",
+ 9114: "RETCODE_RET_FLEUR_FAIR_TOKEN_NOT_ENOUGH",
+ 9115: "RETCODE_RET_FLEUR_FAIR_MINIGAME_NOT_OPEN",
+ 9116: "RETCODE_RET_FLEUR_FAIR_MUSIC_GAME_DIFFICULTY_NOT_UNLOCK",
+ 9117: "RETCODE_RET_FLEUR_FAIR_DUNGEON_LOCKED",
+ 9118: "RETCODE_RET_FLEUR_FAIR_DUNGEON_PUNISH_TIME",
+ 9119: "RETCODE_RET_FLEUR_FAIR_ONLY_OWNER_CAN_RESTART_MINIGAM",
+ 9120: "RETCODE_RET_WATER_SPIRIT_COIN_EXCEED_LIMIT",
+ 9121: "RETCODE_RET_WATER_SPIRIT_COIN_NOT_ENOUGH",
+ 9122: "RETCODE_RET_REGION_SEARCH_NO_SEARCH",
+ 9123: "RETCODE_RET_REGION_SEARCH_STATE_ERROR",
+ 9130: "RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_STAGE_NOT_OPEN",
+ 9131: "RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_NOT_OPEN",
+ 9132: "RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD_HAS_TAKEN",
+ 9133: "RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD_HAS_TAKEN",
+ 9134: "RETCODE_RET_CHANNELLER_SLAB_INVALID_ONE_OFF_DUNGEON",
+ 9135: "RETCODE_RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_DONE",
+ 9136: "RETCODE_RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_STAGE_NOT_OPEN",
+ 9137: "RETCODE_RET_CHANNELLER_SLAB_TOKEN_EXCEED_LIMIT",
+ 9138: "RETCODE_RET_CHANNELLER_SLAB_TOKEN_NOT_ENOUGH",
+ 9139: "RETCODE_RET_CHANNELLER_SLAB_PLAYER_NOT_IN_ONE_OFF_DUNGEON",
+ 9150: "RETCODE_RET_MIST_TRIAL_SELECT_CHARACTER_NUM_NOT_ENOUGH",
+ 9160: "RETCODE_RET_HIDE_AND_SEEK_PLAY_NOT_OPEN",
+ 9161: "RETCODE_RET_HIDE_AND_SEEK_PLAY_MAP_NOT_OPEN",
+ 9170: "RETCODE_RET_SUMMER_TIME_DRAFT_WOORD_EXCEED_LIMIT",
+ 9171: "RETCODE_RET_SUMMER_TIME_DRAFT_WOORD_NOT_ENOUGH",
+ 9172: "RETCODE_RET_SUMMER_TIME_MINI_HARPASTUM_EXCEED_LIMIT",
+ 9173: "RETCODE_RET_SUMMER_TIME_MINI_HARPASTUMNOT_ENOUGH",
+ 9180: "RETCODE_RET_BOUNCE_CONJURING_COIN_EXCEED_LIMIT",
+ 9181: "RETCODE_RET_BOUNCE_CONJURING_COIN_NOT_ENOUGH",
+ 9183: "RETCODE_RET_CHESS_TEACH_MAP_FINISHED",
+ 9184: "RETCODE_RET_CHESS_TEACH_MAP_UNFINISHED",
+ 9185: "RETCODE_RET_CHESS_COIN_EXCEED_LIMIT",
+ 9186: "RETCODE_RET_CHESS_COIN_NOT_ENOUGH",
+ 9187: "RETCODE_RET_CHESS_IN_PUNISH_TIME",
+ 9188: "RETCODE_RET_CHESS_PREV_MAP_UNFINISHED",
+ 9189: "RETCODE_RET_CHESS_MAP_LOCKED",
+ 9192: "RETCODE_RET_BLITZ_RUSH_NOT_OPEN",
+ 9193: "RETCODE_RET_BLITZ_RUSH_DUNGEON_NOT_OPEN",
+ 9194: "RETCODE_RET_BLITZ_RUSH_COIN_A_EXCEED_LIMIT",
+ 9195: "RETCODE_RET_BLITZ_RUSH_COIN_B_EXCEED_LIMIT",
+ 9196: "RETCODE_RET_BLITZ_RUSH_COIN_A_NOT_ENOUGH",
+ 9197: "RETCODE_RET_BLITZ_RUSH_COIN_B_NOT_ENOUGH",
+ 9201: "RETCODE_RET_MIRACLE_RING_VALUE_NOT_ENOUGH",
+ 9202: "RETCODE_RET_MIRACLE_RING_CD",
+ 9203: "RETCODE_RET_MIRACLE_RING_REWARD_NOT_TAKEN",
+ 9204: "RETCODE_RET_MIRACLE_RING_NOT_DELIVER",
+ 9205: "RETCODE_RET_MIRACLE_RING_DELIVER_EXCEED",
+ 9206: "RETCODE_RET_MIRACLE_RING_HAS_CREATED",
+ 9207: "RETCODE_RET_MIRACLE_RING_HAS_NOT_CREATED",
+ 9208: "RETCODE_RET_MIRACLE_RING_NOT_YOURS",
+ 9251: "RETCODE_RET_GADGET_FOUNDATION_UNAUTHORIZED",
+ 9252: "RETCODE_RET_GADGET_FOUNDATION_SCENE_NOT_FOUND",
+ 9253: "RETCODE_RET_GADGET_FOUNDATION_NOT_IN_INIT_STATE",
+ 9254: "RETCODE_RET_GADGET_FOUNDATION_BILDING_POINT_NOT_ENOUGHT",
+ 9255: "RETCODE_RET_GADGET_FOUNDATION_NOT_IN_BUILT_STATE",
+ 9256: "RETCODE_RET_GADGET_FOUNDATION_OP_NOT_SUPPORTED",
+ 9257: "RETCODE_RET_GADGET_FOUNDATION_REQ_PLAYER_NOT_IN_SCENE",
+ 9258: "RETCODE_RET_GADGET_FOUNDATION_LOCKED_BY_ANOTHER_PLAYER",
+ 9259: "RETCODE_RET_GADGET_FOUNDATION_NOT_LOCKED",
+ 9260: "RETCODE_RET_GADGET_FOUNDATION_DUPLICATE_LOCK",
+ 9261: "RETCODE_RET_GADGET_FOUNDATION_PLAYER_NOT_FOUND",
+ 9262: "RETCODE_RET_GADGET_FOUNDATION_PLAYER_GEAR_NOT_FOUND",
+ 9263: "RETCODE_RET_GADGET_FOUNDATION_ROTAION_DISABLED",
+ 9264: "RETCODE_RET_GADGET_FOUNDATION_REACH_DUNGEON_GEAR_LIMIT",
+ 9265: "RETCODE_RET_GADGET_FOUNDATION_REACH_SINGLE_GEAR_LIMIT",
+ 9266: "RETCODE_RET_GADGET_FOUNDATION_ROTATION_ON_GOING",
+ 9301: "RETCODE_RET_OP_ACTIVITY_BONUS_NOT_FOUND",
+ 9302: "RETCODE_RET_OP_ACTIVITY_NOT_OPEN",
+ 9501: "RETCODE_RET_MULTISTAGE_PLAY_PLAYER_NOT_IN_SCENE",
+ 9502: "RETCODE_RET_MULTISTAGE_PLAY_NOT_FOUND",
+ 9601: "RETCODE_RET_COOP_CHAPTER_NOT_OPEN",
+ 9602: "RETCODE_RET_COOP_COND_NOT_MEET",
+ 9603: "RETCODE_RET_COOP_POINT_LOCKED",
+ 9604: "RETCODE_RET_COOP_NOT_HAVE_PROGRESS",
+ 9605: "RETCODE_RET_COOP_REWARD_HAS_TAKEN",
+ 9651: "RETCODE_RET_DRAFT_HAS_ACTIVE_DRAFT",
+ 9652: "RETCODE_RET_DRAFT_NOT_IN_MY_WORLD",
+ 9653: "RETCODE_RET_DRAFT_NOT_SUPPORT_MP",
+ 9654: "RETCODE_RET_DRAFT_PLAYER_NOT_ENOUGH",
+ 9655: "RETCODE_RET_DRAFT_INCORRECT_SCENE",
+ 9656: "RETCODE_RET_DRAFT_OTHER_PLAYER_ENTERING",
+ 9657: "RETCODE_RET_DRAFT_GUEST_IS_TRANSFERRING",
+ 9658: "RETCODE_RET_DRAFT_GUEST_NOT_IN_DRAFT_SCENE",
+ 9659: "RETCODE_RET_DRAFT_INVITE_OVER_TIME",
+ 9660: "RETCODE_RET_DRAFT_TWICE_CONFIRM_OVER_TIMER",
+ 9701: "RETCODE_RET_HOME_UNKOWN",
+ 9702: "RETCODE_RET_HOME_INVALID_CLIENT_PARAM",
+ 9703: "RETCODE_RET_HOME_TARGE_PLAYER_HAS_NO_HOME",
+ 9704: "RETCODE_RET_HOME_NOT_ONLINE",
+ 9705: "RETCODE_RET_HOME_PLAYER_FULL",
+ 9706: "RETCODE_RET_HOME_BLOCKED",
+ 9707: "RETCODE_RET_HOME_ALREADY_IN_TARGET_HOME_WORLD",
+ 9708: "RETCODE_RET_HOME_IN_EDIT_MODE",
+ 9709: "RETCODE_RET_HOME_NOT_IN_EDIT_MODE",
+ 9710: "RETCODE_RET_HOME_HAS_GUEST",
+ 9711: "RETCODE_RET_HOME_CANT_ENTER_BY_IN_EDIT_MODE",
+ 9712: "RETCODE_RET_HOME_CLIENT_PARAM_INVALID",
+ 9713: "RETCODE_RET_HOME_PLAYER_NOT_IN_HOME_WORLD",
+ 9714: "RETCODE_RET_HOME_PLAYER_NOT_IN_SELF_HOME_WORLD",
+ 9715: "RETCODE_RET_HOME_NOT_FOUND_IN_MEM",
+ 9716: "RETCODE_RET_HOME_PLAYER_IN_HOME_ROOM_SCENE",
+ 9717: "RETCODE_RET_HOME_HOME_REFUSE_GUEST_ENTER",
+ 9718: "RETCODE_RET_HOME_OWNER_REFUSE_TO_ENTER_HOME",
+ 9719: "RETCODE_RET_HOME_OWNER_OFFLINE",
+ 9720: "RETCODE_RET_HOME_FURNITURE_EXCEED_LIMIT",
+ 9721: "RETCODE_RET_HOME_FURNITURE_COUNT_NOT_ENOUGH",
+ 9722: "RETCODE_RET_HOME_IN_TRY_ENTER_PROCESS",
+ 9723: "RETCODE_RET_HOME_ALREADY_IN_TARGET_SCENE",
+ 9724: "RETCODE_RET_HOME_COIN_EXCEED_LIMIT",
+ 9725: "RETCODE_RET_HOME_COIN_NOT_ENOUGH",
+ 9726: "RETCODE_RET_HOME_MODULE_NOT_UNLOCKED",
+ 9727: "RETCODE_RET_HOME_CUR_MODULE_CLOSED",
+ 9728: "RETCODE_RET_HOME_FURNITURE_SUITE_NOT_UNLOCKED",
+ 9729: "RETCODE_RET_HOME_IN_MATCH",
+ 9730: "RETCODE_RET_HOME_IN_COMBAT",
+ 9731: "RETCODE_RET_HOME_EDIT_MODE_CD",
+ 9732: "RETCODE_RET_HOME_UPDATE_FURNITURE_CD",
+ 9733: "RETCODE_RET_HOME_BLOCK_FURNITURE_LIMIT",
+ 9734: "RETCODE_RET_HOME_NOT_SUPPORT",
+ 9735: "RETCODE_RET_HOME_STATE_NOT_OPEN",
+ 9736: "RETCODE_RET_HOME_TARGET_STATE_NOT_OPEN",
+ 9737: "RETCODE_RET_HOME_APPLY_ENTER_OTHER_HOME_FAIL",
+ 9738: "RETCODE_RET_HOME_SAVE_NO_MAIN_HOUSE",
+ 9739: "RETCODE_RET_HOME_IN_DUNGEON",
+ 9740: "RETCODE_RET_HOME_ANY_GALLERY_STARTED",
+ 9741: "RETCODE_RET_HOME_QUEST_BLOCK_HOME",
+ 9742: "RETCODE_RET_HOME_WAITING_PRIOR_CHECK",
+ 9743: "RETCODE_RET_HOME_PERSISTENT_CHECK_FAIL",
+ 9744: "RETCODE_RET_HOME_FIND_ONLINE_HOME_FAIL",
+ 9745: "RETCODE_RET_HOME_JOIN_SCENE_FAIL",
+ 9746: "RETCODE_RET_HOME_MAX_PLAYER",
+ 9747: "RETCODE_RET_HOME_IN_TRANSFER",
+ 9748: "RETCODE_RET_HOME_ANY_HOME_GALLERY_STARTED",
+ 9749: "RETCODE_RET_HOME_CAN_NOT_ENTER_IN_AUDIT",
+ 9750: "RETCODE_RET_FURNITURE_MAKE_INDEX_ERROR",
+ 9751: "RETCODE_RET_FURNITURE_MAKE_LOCKED",
+ 9752: "RETCODE_RET_FURNITURE_MAKE_CONFIG_ERROR",
+ 9753: "RETCODE_RET_FURNITURE_MAKE_SLOT_FULL",
+ 9754: "RETCODE_RET_FURNITURE_MAKE_ADD_FURNITURE_FAIL",
+ 9755: "RETCODE_RET_FURNITURE_MAKE_UNFINISH",
+ 9756: "RETCODE_RET_FURNITURE_MAKE_IS_FINISH",
+ 9757: "RETCODE_RET_FURNITURE_MAKE_NOT_IN_CORRECT_HOME",
+ 9758: "RETCODE_RET_FURNITURE_MAKE_NO_COUNT",
+ 9759: "RETCODE_RET_FURNITURE_MAKE_ACCELERATE_LIMIT",
+ 9760: "RETCODE_RET_FURNITURE_MAKE_NO_MAKE_DATA",
+ 9761: "RETCODE_RET_HOME_LIMITED_SHOP_CLOSE",
+ 9762: "RETCODE_RET_HOME_AVATAR_NOT_SHOW",
+ 9763: "RETCODE_RET_HOME_EVENT_COND_NOT_SATISFIED",
+ 9764: "RETCODE_RET_HOME_INVALID_ARRANGE_ANIMAL_PARAM",
+ 9765: "RETCODE_RET_HOME_INVALID_ARRANGE_NPC_PARAM",
+ 9766: "RETCODE_RET_HOME_INVALID_ARRANGE_SUITE_PARAM",
+ 9767: "RETCODE_RET_HOME_INVALID_ARRANGE_MAIN_HOUSE_PARAM",
+ 9768: "RETCODE_RET_HOME_AVATAR_STATE_NOT_OPEN",
+ 9769: "RETCODE_RET_HOME_PLANT_FIELD_NOT_EMPTY",
+ 9770: "RETCODE_RET_HOME_PLANT_FIELD_EMPTY",
+ 9771: "RETCODE_RET_HOME_PLANT_FIELD_TYPE_ERROR",
+ 9772: "RETCODE_RET_HOME_PLANT_TIME_NOT_ENOUGH",
+ 9773: "RETCODE_RET_HOME_PLANT_SUB_FIELD_NUM_NOT_ENOUGH",
+ 9774: "RETCODE_RET_HOME_PLANT_FIELD_PARAM_ERROR",
+ 9775: "RETCODE_RET_HOME_FURNITURE_GUID_ERROR",
+ 9776: "RETCODE_RET_HOME_FURNITURE_ARRANGE_LIMIT",
+ 9777: "RETCODE_RET_HOME_FISH_FARMING_LIMIT",
+ 9778: "RETCODE_RET_HOME_FISH_COUNT_NOT_ENOUGH",
+ 9779: "RETCODE_RET_HOME_FURNITURE_COST_LIMIT",
+ 9780: "RETCODE_RET_HOME_CUSTOM_FURNITURE_INVALID",
+ 9781: "RETCODE_RET_HOME_INVALID_ARRANGE_GROUP_PARAM",
+ 9782: "RETCODE_RET_HOME_FURNITURE_ARRANGE_GROUP_LIMIT",
+ 9783: "RETCODE_RET_HOME_PICTURE_FRAME_COOP_CG_GENDER_ERROR",
+ 9784: "RETCODE_RET_HOME_PICTURE_FRAME_COOP_CG_NOT_UNLOCK",
+ 9785: "RETCODE_RET_HOME_FURNITURE_CANNOT_ARRANGE",
+ 9786: "RETCODE_RET_HOME_FURNITURE_IN_DUPLICATE_SUITE",
+ 9787: "RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_SMALL",
+ 9788: "RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_BIG",
+ 9789: "RETCODE_RET_HOME_FURNITURE_SUITE_EXCEED_LIMIT",
+ 9790: "RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_EXCEED_LIMIT",
+ 9791: "RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_INVALID_SURFACE_TYPE",
+ 9792: "RETCODE_RET_HOME_BGM_ID_NOT_FOUND",
+ 9793: "RETCODE_RET_HOME_BGM_NOT_UNLOCKED",
+ 9794: "RETCODE_RET_HOME_BGM_FURNITURE_NOT_FOUND",
+ 9795: "RETCODE_RET_HOME_BGM_NOT_SUPPORT_BY_CUR_SCENE",
+ 9796: "RETCODE_RET_HOME_LIMITED_SHOP_GOODS_DISABLE",
+ 9797: "RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_EMPTY",
+ 9798: "RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_NOT_FOUND",
+ 9799: "RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_COUNT_INVALID",
+ 9800: "RETCODE_RET_HOME_WORLD_WOOD_EXCHANGE_EXCEED_LIMIT",
+ 10000: "RETCODE_RET_SUMO_ACTIVITY_STAGE_NOT_OPEN",
+ 10001: "RETCODE_RET_SUMO_ACTIVITY_SWITCH_TEAM_IN_CD",
+ 10002: "RETCODE_RET_SUMO_ACTIVITY_TEAM_NUM_INCORRECT",
+ 10004: "RETCODE_RET_LUNA_RITE_ACTIVITY_AREA_ID_ERROR",
+ 10005: "RETCODE_RET_LUNA_RITE_ACTIVITY_BATTLE_NOT_FINISH",
+ 10006: "RETCODE_RET_LUNA_RITE_ACTIVITY_ALREADY_SACRIFICE",
+ 10007: "RETCODE_RET_LUNA_RITE_ACTIVITY_ALREADY_TAKE_REWARD",
+ 10008: "RETCODE_RET_LUNA_RITE_ACTIVITY_SACRIFICE_NOT_ENOUGH",
+ 10009: "RETCODE_RET_LUNA_RITE_ACTIVITY_SEARCHING_COND_NOT_MEET",
+ 10015: "RETCODE_RET_DIG_GADGET_CONFIG_ID_NOT_MATCH",
+ 10016: "RETCODE_RET_DIG_FIND_NEAREST_POS_FAIL",
+ 10021: "RETCODE_RET_MUSIC_GAME_LEVEL_NOT_OPEN",
+ 10022: "RETCODE_RET_MUSIC_GAME_LEVEL_NOT_UNLOCK",
+ 10023: "RETCODE_RET_MUSIC_GAME_LEVEL_NOT_STARTED",
+ 10024: "RETCODE_RET_MUSIC_GAME_LEVEL_CONFIG_NOT_FOUND",
+ 10025: "RETCODE_RET_MUSIC_GAME_LEVEL_ID_NOT_MATCH",
+ 10031: "RETCODE_RET_ROGUELIKE_COIN_A_NOT_ENOUGH",
+ 10032: "RETCODE_RET_ROGUELIKE_COIN_B_NOT_ENOUGH",
+ 10033: "RETCODE_RET_ROGUELIKE_COIN_C_NOT_ENOUGH",
+ 10034: "RETCODE_RET_ROGUELIKE_COIN_A_EXCEED_LIMIT",
+ 10035: "RETCODE_RET_ROGUELIKE_COIN_B_EXCEED_LIMIT",
+ 10036: "RETCODE_RET_ROGUELIKE_COIN_C_EXCEED_LIMIT",
+ 10037: "RETCODE_RET_ROGUELIKE_RUNE_COUNT_NOT_ENOUGH",
+ 10038: "RETCODE_RET_ROGUELIKE_NOT_IN_ROGUE_DUNGEON",
+ 10039: "RETCODE_RET_ROGUELIKE_CELL_NOT_FOUND",
+ 10040: "RETCODE_RET_ROGUELIKE_CELL_TYPE_INCORRECT",
+ 10041: "RETCODE_RET_ROGUELIKE_CELL_ALREADY_FINISHED",
+ 10042: "RETCODE_RET_ROGUELIKE_DUNGEON_HAVE_UNFINISHED_PROGRESS",
+ 10043: "RETCODE_RET_ROGUELIKE_STAGE_NOT_FINISHED",
+ 10045: "RETCODE_RET_ROGUELIKE_STAGE_FIRST_PASS_REWARD_HAS_TAKEN",
+ 10046: "RETCODE_RET_ROGUELIKE_ACTIVITY_CONTENT_CLOSED",
+ 10047: "RETCODE_RET_ROGUELIKE_DUNGEON_PRE_QUEST_NOT_FINISHED",
+ 10048: "RETCODE_RET_ROGUELIKE_DUNGEON_NOT_OPEN",
+ 10049: "RETCODE_RET_ROGUELIKE_SPRINT_IS_BANNED",
+ 10050: "RETCODE_RET_ROGUELIKE_DUNGEON_PRE_STAGE_NOT_FINISHED",
+ 10051: "RETCODE_RET_ROGUELIKE_ALL_AVATAR_DIE_CANNOT_RESUME",
+ 10056: "RETCODE_RET_PLANT_FLOWER_ALREADY_TAKE_SEED",
+ 10057: "RETCODE_RET_PLANT_FLOWER_FRIEND_HAVE_FLOWER_LIMIT",
+ 10058: "RETCODE_RET_PLANT_FLOWER_CAN_GIVE_FLOWER_NOT_ENOUGH",
+ 10059: "RETCODE_RET_PLANT_FLOWER_WISH_FLOWER_KINDS_LIMIT",
+ 10060: "RETCODE_RET_PLANT_FLOWER_HAVE_FLOWER_NOT_ENOUGH",
+ 10061: "RETCODE_RET_PLANT_FLOWER_FLOWER_COMBINATION_INVALID",
+ 10052: "RETCODE_RET_HACHI_DUNGEON_NOT_VALID",
+ 10053: "RETCODE_RET_HACHI_DUNGEON_STAGE_NOT_OPEN",
+ 10054: "RETCODE_RET_HACHI_DUNGEON_TEAMMATE_NOT_PASS",
+ 10071: "RETCODE_RET_WINTER_CAMP_COIN_A_NOT_ENOUGH",
+ 10072: "RETCODE_RET_WINTER_CAMP_COIN_B_NOT_ENOUGH",
+ 10073: "RETCODE_RET_WINTER_CAMP_COIN_A_EXCEED_LIMIT",
+ 10074: "RETCODE_RET_WINTER_CAMP_COIN_B_EXCEED_LIMIT",
+ 10075: "RETCODE_RET_WINTER_CAMP_WISH_ID_INVALID",
+ 10076: "RETCODE_RET_WINTER_CAMP_NOT_FOUND_RECV_ITEM_DATA",
+ 10077: "RETCODE_RET_WINTER_CAMP_FRIEND_ITEM_COUNT_OVERFLOW",
+ 10078: "RETCODE_RET_WINTER_CAMP_SELECT_ITEM_DATA_INVALID",
+ 10079: "RETCODE_RET_WINTER_CAMP_ITEM_LIST_EMPTY",
+ 10080: "RETCODE_RET_WINTER_CAMP_REWARD_ALREADY_TAKEN",
+ 10081: "RETCODE_RET_WINTER_CAMP_STAGE_NOT_FINISH",
+ 10082: "RETCODE_RET_WINTER_CAMP_GADGET_INVALID",
+ 10090: "RETCODE_RET_LANTERN_RITE_COIN_A_NOT_ENOUGH",
+ 10091: "RETCODE_RET_LANTERN_RITE_COIN_B_NOT_ENOUGH",
+ 10092: "RETCODE_RET_LANTERN_RITE_COIN_C_NOT_ENOUGH",
+ 10093: "RETCODE_RET_LANTERN_RITE_COIN_A_EXCEED_LIMIT",
+ 10094: "RETCODE_RET_LANTERN_RITE_COIN_B_EXCEED_LIMIT",
+ 10095: "RETCODE_RET_LANTERN_RITE_COIN_C_EXCEED_LIMIT",
+ 10096: "RETCODE_RET_LANTERN_RITE_PROJECTION_CONTENT_CLOSED",
+ 10097: "RETCODE_RET_LANTERN_RITE_PROJECTION_CAN_NOT_START",
+ 10098: "RETCODE_RET_LANTERN_RITE_DUNGEON_NOT_OPEN",
+ 10099: "RETCODE_RET_LANTERN_RITE_HAS_TAKEN_SKIN_REWARD",
+ 10100: "RETCODE_RET_LANTERN_RITE_NOT_FINISHED_SKIN_WATCHERS",
+ 10101: "RETCODE_RET_LANTERN_RITE_FIREWORKS_CONTENT_CLOSED",
+ 10102: "RETCODE_RET_LANTERN_RITE_FIREWORKS_CHALLENGE_NOT_START",
+ 10103: "RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_PARAM_ERROR",
+ 10104: "RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_SKILL_LOCK",
+ 10105: "RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_STAMINA_NOT_ENOUGH",
+ 10110: "RETCODE_RET_POTION_ACTIVITY_STAGE_NOT_OPEN",
+ 10111: "RETCODE_RET_POTION_ACTIVITY_LEVEL_HAVE_PASS",
+ 10112: "RETCODE_RET_POTION_ACTIVITY_TEAM_NUM_INCORRECT",
+ 10113: "RETCODE_RET_POTION_ACTIVITY_AVATAR_IN_CD",
+ 10114: "RETCODE_RET_POTION_ACTIVITY_BUFF_IN_CD",
+ 10120: "RETCODE_RET_IRODORI_POETRY_INVALID_LINE_ID",
+ 10121: "RETCODE_RET_IRODORI_POETRY_INVALID_THEME_ID",
+ 10122: "RETCODE_RET_IRODORI_POETRY_NOT_GET_ALL_INSPIRATION",
+ 10123: "RETCODE_RET_IRODORI_POETRY_INSPIRATION_REACH_LIMIE",
+ 10124: "RETCODE_RET_IRODORI_POETRY_ENTITY_ALREADY_SCANNED",
+ 10300: "RETCODE_RET_ACTIVITY_BANNER_ALREADY_CLEARED",
+ 10301: "RETCODE_RET_IRODORI_CHESS_NOT_OPEN",
+ 10302: "RETCODE_RET_IRODORI_CHESS_LEVEL_NOT_OPEN",
+ 10303: "RETCODE_RET_IRODORI_CHESS_MAP_NOT_OPEN",
+ 10304: "RETCODE_RET_IRODORI_CHESS_MAP_CARD_ALREADY_EQUIPED",
+ 10305: "RETCODE_RET_IRODORI_CHESS_EQUIP_CARD_EXCEED_LIMIT",
+ 10306: "RETCODE_RET_IRODORI_CHESS_MAP_CARD_NOT_EQUIPED",
+ 10307: "RETCODE_RET_IRODORI_CHESS_ENTER_FAIL_CARD_EXCEED_LIMIT",
+ 10310: "RETCODE_RET_ACTIVITY_FRIEND_HAVE_GIFT_LIMIT",
+ 10315: "RETCODE_RET_GACHA_ACTIVITY_HAVE_REWARD_LIMIT",
+ 10316: "RETCODE_RET_GACHA_ACTIVITY_HAVE_ROBOT_LIMIT",
+ 10317: "RETCODE_RET_SUMMER_TIME_V2_COIN_EXCEED_LIMIT",
+ 10318: "RETCODE_RET_SUMMER_TIME_V2_COIN_NOT_ENOUGH",
+ 10319: "RETCODE_RET_SUMMER_TIME_V2_DUNGEON_STAGE_NOT_OPEN",
+ 10320: "RETCODE_RET_SUMMER_TIME_V2_PREV_DUNGEON_NOT_COMPLETE",
+ 10350: "RETCODE_RET_ROGUE_DIARY_AVATAR_DEATH",
+ 10351: "RETCODE_RET_ROGUE_DIARY_AVATAR_TIRED",
+ 10352: "RETCODE_RET_ROGUE_DIARY_AVATAR_DUPLICATED",
+ 10353: "RETCODE_RET_ROGUE_DIARY_COIN_NOT_ENOUGH",
+ 10354: "RETCODE_RET_ROGUE_DIARY_VIRTUAL_COIN_EXCEED_LIMIT",
+ 10355: "RETCODE_RET_ROGUE_DIARY_VIRTUAL_COIN_NOT_ENOUGH",
+ 10366: "RETCODE_RET_ROGUE_DIARY_CONTENT_CLOSED",
+ 10380: "RETCODE_RET_GRAVEN_INNOCENCE_COIN_A_NOT_ENOUGH",
+ 10381: "RETCODE_RET_GRAVEN_INNOCENCE_COIN_B_NOT_ENOUGH",
+ 10382: "RETCODE_RET_GRAVEN_INNOCENCE_COIN_A_EXCEED_LIMIT",
+ 10383: "RETCODE_RET_GRAVEN_INNOCENCE_COIN_B_EXCEED_LIMIT",
+ 10371: "RETCODE_RET_ISLAND_PARTY_STAGE_NOT_OPEN",
+ 11001: "RETCODE_RET_NOT_IN_FISHING",
+ 11002: "RETCODE_RET_FISH_STATE_ERROR",
+ 11003: "RETCODE_RET_FISH_BAIT_LIMIT",
+ 11004: "RETCODE_RET_FISHING_MAX_DISTANCE",
+ 11005: "RETCODE_RET_FISHING_IN_COMBAT",
+ 11006: "RETCODE_RET_FISHING_BATTLE_TOO_SHORT",
+ 11007: "RETCODE_RET_FISH_GONE_AWAY",
+ 11051: "RETCODE_RET_CAN_NOT_EDIT_OTHER_DUNGEON",
+ 11052: "RETCODE_RET_CUSTOM_DUNGEON_DISMATCH",
+ 11053: "RETCODE_RET_NO_CUSTOM_DUNGEON_DATA",
+ 11054: "RETCODE_RET_BUILD_CUSTOM_DUNGEON_FAIL",
+ 11055: "RETCODE_RET_CUSTOM_DUNGEON_ROOM_CHECK_FAIL",
+ 11056: "RETCODE_RET_CUSTOM_DUNGEON_SAVE_MAY_FAIL",
+ 11057: "RETCODE_RET_NOT_IN_CUSTOM_DUNGEON",
+ 11058: "RETCODE_RET_CUSTOM_DUNGEON_INTERNAL_FAIL",
+ 11059: "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_TRY",
+ 11060: "RETCODE_RET_CUSTOM_DUNGEON_NO_START_ROOM",
+ 11061: "RETCODE_RET_CUSTOM_DUNGEON_NO_ROOM_DATA",
+ 11062: "RETCODE_RET_CUSTOM_DUNGEON_SAVE_TOO_FREQUENT",
+ 11063: "RETCODE_RET_CUSTOM_DUNGEON_NOT_SELF_PASS",
+ 11064: "RETCODE_RET_CUSTOM_DUNGEON_LACK_COIN",
+ 11065: "RETCODE_RET_CUSTOM_DUNGEON_NO_FINISH_BRICK",
+ 11066: "RETCODE_RET_CUSTOM_DUNGEON_MULTI_FINISH",
+ 11067: "RETCODE_RET_CUSTOM_DUNGEON_NOT_PUBLISHED",
+ 11068: "RETCODE_RET_CUSTOM_DUNGEON_FULL_STORE",
+ 11069: "RETCODE_RET_CUSTOM_DUNGEON_STORE_REPEAT",
+ 11070: "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_STORE_SELF",
+ 11071: "RETCODE_RET_CUSTOM_DUNGEON_NOT_SAVE_SUCC",
+ 11072: "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_LIKE_SELF",
+ 11073: "RETCODE_RET_CUSTOM_DUNGEON_NOT_FOUND",
+ 11074: "RETCODE_RET_CUSTOM_DUNGEON_INVALID_SETTING",
+ 11075: "RETCODE_RET_CUSTOM_DUNGEON_NO_FINISH_SETTING",
+ 11076: "RETCODE_RET_CUSTOM_DUNGEON_SAVE_NOTHING",
+ 11077: "RETCODE_RET_CUSTOM_DUNGEON_NOT_IN_GROUP",
+ 11078: "RETCODE_RET_CUSTOM_DUNGEON_NOT_OFFICIAL",
+ 11079: "RETCODE_RET_CUSTOM_DUNGEON_LIFE_NUM_ERROR",
+ 11080: "RETCODE_RET_CUSTOM_DUNGEON_NO_OPEN_ROOM",
+ 11081: "RETCODE_RET_CUSTOM_DUNGEON_BRICK_EXCEED_LIMIT",
+ 11082: "RETCODE_RET_CUSTOM_DUNGEON_OFFICIAL_NOT_UNLOCK",
+ 11083: "RETCODE_RET_CAN_NOT_EDIT_OFFICIAL_SETTING",
+ 11084: "RETCODE_RET_CUSTOM_DUNGEON_BAN_PUBLISH",
+ 11085: "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_REPLAY",
+ 11086: "RETCODE_RET_CUSTOM_DUNGEON_NOT_OPEN_GROUP",
+ 11087: "RETCODE_RET_CUSTOM_DUNGEON_MAX_EDIT_NUM",
+ 11088: "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_OUT_STUCK",
+ 11089: "RETCODE_RET_CUSTOM_DUNGEON_MAX_TAG",
+ 11090: "RETCODE_RET_CUSTOM_DUNGEON_INVALID_TAG",
+ 11091: "RETCODE_RET_CUSTOM_DUNGEON_MAX_COST",
+ 11092: "RETCODE_RET_CUSTOM_DUNGEON_REQUEST_TOO_FREQUENT",
+ 11093: "RETCODE_RET_CUSTOM_DUNGEON_NOT_OPEN",
+ 11101: "RETCODE_RET_SHARE_CD_ID_ERROR",
+ 11102: "RETCODE_RET_SHARE_CD_INDEX_ERROR",
+ 11103: "RETCODE_RET_SHARE_CD_IN_CD",
+ 11104: "RETCODE_RET_SHARE_CD_TOKEN_NOT_ENOUGH",
+ 11151: "RETCODE_RET_UGC_DISMATCH",
+ 11152: "RETCODE_RET_UGC_DATA_NOT_FOUND",
+ 11153: "RETCODE_RET_UGC_BRIEF_NOT_FOUND",
+ 11154: "RETCODE_RET_UGC_DISABLED",
+ 11155: "RETCODE_RET_UGC_LIMITED",
+ 11156: "RETCODE_RET_UGC_LOCKED",
+ 11157: "RETCODE_RET_UGC_NOT_AUTH",
+ 11158: "RETCODE_RET_UGC_NOT_OPEN",
+ 11159: "RETCODE_RET_UGC_BAN_PUBLISH",
+ 11201: "RETCODE_RET_COMPOUND_BOOST_ITEM_NOT_EXIST",
+ 11202: "RETCODE_RET_COMPOUND_BOOST_TARGET_NOT_EXIST",
+ 11211: "RETCODE_RET_QUICK_HIT_TREE_EMPTY_TREES",
+ }
+ Retcode_value = map[string]int32{
+ "RETCODE_RET_SUCC": 0,
+ "RETCODE_RET_FAIL": -1,
+ "RETCODE_RET_SVR_ERROR": 1,
+ "RETCODE_RET_UNKNOWN_ERROR": 2,
+ "RETCODE_RET_FREQUENT": 3,
+ "RETCODE_RET_NODE_FORWARD_ERROR": 4,
+ "RETCODE_RET_NOT_FOUND_CONFIG": 5,
+ "RETCODE_RET_SYSTEM_BUSY": 6,
+ "RETCODE_RET_GM_UID_BIND": 7,
+ "RETCODE_RET_FORBIDDEN": 8,
+ "RETCODE_RET_STOP_REGISTER": 10,
+ "RETCODE_RET_STOP_SERVER": 11,
+ "RETCODE_RET_ACCOUNT_VEIRFY_ERROR": 12,
+ "RETCODE_RET_ACCOUNT_FREEZE": 13,
+ "RETCODE_RET_REPEAT_LOGIN": 14,
+ "RETCODE_RET_CLIENT_VERSION_ERROR": 15,
+ "RETCODE_RET_TOKEN_ERROR": 16,
+ "RETCODE_RET_ACCOUNT_NOT_EXIST": 17,
+ "RETCODE_RET_WAIT_OTHER_LOGIN": 18,
+ "RETCODE_RET_ANOTHER_LOGIN": 19,
+ "RETCODE_RET_CLIENT_FORCE_UPDATE": 20,
+ "RETCODE_RET_BLACK_UID": 21,
+ "RETCODE_RET_LOGIN_DB_FAIL": 22,
+ "RETCODE_RET_LOGIN_INIT_FAIL": 23,
+ "RETCODE_RET_MYSQL_DUPLICATE": 24,
+ "RETCODE_RET_MAX_PLAYER": 25,
+ "RETCODE_RET_ANTI_ADDICT": 26,
+ "RETCODE_RET_PS_PLAYER_WITHOUT_ONLINE_ID": 27,
+ "RETCODE_RET_ONLINE_ID_NOT_FOUND": 28,
+ "RETCODE_RET_ONLNE_ID_NOT_MATCH": 29,
+ "RETCODE_RET_REGISTER_IS_FULL": 30,
+ "RETCODE_RET_CHECKSUM_INVALID": 31,
+ "RETCODE_RET_BLACK_REGISTER_IP": 32,
+ "RETCODE_RET_EXCEED_REGISTER_RATE": 33,
+ "RETCODE_RET_UNKNOWN_PLATFORM": 34,
+ "RETCODE_RET_TOKEN_PARAM_ERROR": 35,
+ "RETCODE_RET_ANTI_OFFLINE_ERROR": 36,
+ "RETCODE_RET_BLACK_LOGIN_IP": 37,
+ "RETCODE_RET_GET_TOKEN_SESSION_HAS_UID": 38,
+ "RETCODE_RET_ENVIRONMENT_ERROR": 39,
+ "RETCODE_RET_CHECK_CLIENT_VERSION_HASH_FAIL": 40,
+ "RETCODE_RET_MINOR_REGISTER_FOBIDDEN": 41,
+ "RETCODE_RET_SECURITY_LIBRARY_ERROR": 42,
+ "RETCODE_RET_AVATAR_IN_CD": 101,
+ "RETCODE_RET_AVATAR_NOT_ALIVE": 102,
+ "RETCODE_RET_AVATAR_NOT_ON_SCENE": 103,
+ "RETCODE_RET_CAN_NOT_FIND_AVATAR": 104,
+ "RETCODE_RET_CAN_NOT_DEL_CUR_AVATAR": 105,
+ "RETCODE_RET_DUPLICATE_AVATAR": 106,
+ "RETCODE_RET_AVATAR_IS_SAME_ONE": 107,
+ "RETCODE_RET_AVATAR_LEVEL_LESS_THAN": 108,
+ "RETCODE_RET_AVATAR_CAN_NOT_CHANGE_ELEMENT": 109,
+ "RETCODE_RET_AVATAR_BREAK_LEVEL_LESS_THAN": 110,
+ "RETCODE_RET_AVATAR_ON_MAX_BREAK_LEVEL": 111,
+ "RETCODE_RET_AVATAR_ID_ALREADY_EXIST": 112,
+ "RETCODE_RET_AVATAR_NOT_DEAD": 113,
+ "RETCODE_RET_AVATAR_IS_REVIVING": 114,
+ "RETCODE_RET_AVATAR_ID_ERROR": 115,
+ "RETCODE_RET_REPEAT_SET_PLAYER_BORN_DATA": 116,
+ "RETCODE_RET_PLAYER_LEVEL_LESS_THAN": 117,
+ "RETCODE_RET_AVATAR_LIMIT_LEVEL_ERROR": 118,
+ "RETCODE_RET_CUR_AVATAR_NOT_ALIVE": 119,
+ "RETCODE_RET_CAN_NOT_FIND_TEAM": 120,
+ "RETCODE_RET_CAN_NOT_FIND_CUR_TEAM": 121,
+ "RETCODE_RET_AVATAR_NOT_EXIST_IN_TEAM": 122,
+ "RETCODE_RET_CAN_NOT_REMOVE_CUR_AVATAR_FROM_TEAM": 123,
+ "RETCODE_RET_CAN_NOT_USE_REVIVE_ITEM_FOR_CUR_AVATAR": 124,
+ "RETCODE_RET_TEAM_COST_EXCEED_LIMIT": 125,
+ "RETCODE_RET_TEAM_AVATAR_IN_EXPEDITION": 126,
+ "RETCODE_RET_TEAM_CAN_NOT_CHOSE_REPLACE_USE": 127,
+ "RETCODE_RET_AVATAR_IN_COMBAT": 128,
+ "RETCODE_RET_NICKNAME_UTF8_ERROR": 130,
+ "RETCODE_RET_NICKNAME_TOO_LONG": 131,
+ "RETCODE_RET_NICKNAME_WORD_ILLEGAL": 132,
+ "RETCODE_RET_NICKNAME_TOO_MANY_DIGITS": 133,
+ "RETCODE_RET_NICKNAME_IS_EMPTY": 134,
+ "RETCODE_RET_NICKNAME_MONTHLY_LIMIT": 135,
+ "RETCODE_RET_NICKNAME_NOT_CHANGED": 136,
+ "RETCODE_RET_PLAYER_NOT_ONLINE": 140,
+ "RETCODE_RET_OPEN_STATE_NOT_OPEN": 141,
+ "RETCODE_RET_FEATURE_CLOSED": 142,
+ "RETCODE_RET_AVATAR_EXPEDITION_AVATAR_DIE": 152,
+ "RETCODE_RET_AVATAR_EXPEDITION_COUNT_LIMIT": 153,
+ "RETCODE_RET_AVATAR_EXPEDITION_MAIN_FORBID": 154,
+ "RETCODE_RET_AVATAR_EXPEDITION_TRIAL_FORBID": 155,
+ "RETCODE_RET_TEAM_NAME_ILLEGAL": 156,
+ "RETCODE_RET_IS_NOT_IN_STANDBY": 157,
+ "RETCODE_RET_IS_IN_DUNGEON": 158,
+ "RETCODE_RET_IS_IN_LOCK_AVATAR_QUEST": 159,
+ "RETCODE_RET_IS_USING_TRIAL_AVATAR": 160,
+ "RETCODE_RET_IS_USING_TEMP_AVATAR": 161,
+ "RETCODE_RET_NOT_HAS_FLYCLOAK": 162,
+ "RETCODE_RET_FETTER_REWARD_ALREADY_GOT": 163,
+ "RETCODE_RET_FETTER_REWARD_LEVEL_NOT_ENOUGH": 164,
+ "RETCODE_RET_WORLD_LEVEL_ADJUST_MIN_LEVEL": 165,
+ "RETCODE_RET_WORLD_LEVEL_ADJUST_CD": 166,
+ "RETCODE_RET_NOT_HAS_COSTUME": 167,
+ "RETCODE_RET_COSTUME_AVATAR_ERROR": 168,
+ "RETCODE_RET_FLYCLOAK_PLATFORM_TYPE_ERR": 169,
+ "RETCODE_RET_IN_TRANSFER": 170,
+ "RETCODE_RET_IS_IN_LOCK_AVATAR": 171,
+ "RETCODE_RET_FULL_BACKUP_TEAM": 172,
+ "RETCODE_RET_BACKUP_TEAM_ID_NOT_VALID": 173,
+ "RETCODE_RET_BACKUP_TEAM_IS_CUR_TEAM": 174,
+ "RETCODE_RET_FLOAT_ERROR": 201,
+ "RETCODE_RET_NPC_NOT_EXIST": 301,
+ "RETCODE_RET_NPC_TOO_FAR": 302,
+ "RETCODE_RET_NOT_CURRENT_TALK": 303,
+ "RETCODE_RET_NPC_CREATE_FAIL": 304,
+ "RETCODE_RET_NPC_MOVE_FAIL": 305,
+ "RETCODE_RET_QUEST_NOT_EXIST": 401,
+ "RETCODE_RET_QUEST_IS_FAIL": 402,
+ "RETCODE_RET_QUEST_CONTENT_ERROR": 403,
+ "RETCODE_RET_BARGAIN_NOT_ACTIVATED": 404,
+ "RETCODE_RET_BARGAIN_FINISHED": 405,
+ "RETCODE_RET_INFERENCE_ASSOCIATE_WORD_ERROR": 406,
+ "RETCODE_RET_INFERENCE_SUBMIT_WORD_NO_CONCLUSION": 407,
+ "RETCODE_RET_POINT_NOT_UNLOCKED": 501,
+ "RETCODE_RET_POINT_TOO_FAR": 502,
+ "RETCODE_RET_POINT_ALREAY_UNLOCKED": 503,
+ "RETCODE_RET_ENTITY_NOT_EXIST": 504,
+ "RETCODE_RET_ENTER_SCENE_FAIL": 505,
+ "RETCODE_RET_PLAYER_IS_ENTER_SCENE": 506,
+ "RETCODE_RET_CITY_MAX_LEVEL": 507,
+ "RETCODE_RET_AREA_LOCKED": 508,
+ "RETCODE_RET_JOIN_OTHER_WAIT": 509,
+ "RETCODE_RET_WEATHER_AREA_NOT_FOUND": 510,
+ "RETCODE_RET_WEATHER_IS_LOCKED": 511,
+ "RETCODE_RET_NOT_IN_SELF_SCENE": 512,
+ "RETCODE_RET_GROUP_NOT_EXIST": 513,
+ "RETCODE_RET_MARK_NAME_ILLEGAL": 514,
+ "RETCODE_RET_MARK_ALREADY_EXISTS": 515,
+ "RETCODE_RET_MARK_OVERFLOW": 516,
+ "RETCODE_RET_MARK_NOT_EXISTS": 517,
+ "RETCODE_RET_MARK_UNKNOWN_TYPE": 518,
+ "RETCODE_RET_MARK_NAME_TOO_LONG": 519,
+ "RETCODE_RET_DISTANCE_LONG": 520,
+ "RETCODE_RET_ENTER_SCENE_TOKEN_INVALID": 521,
+ "RETCODE_RET_NOT_IN_WORLD_SCENE": 522,
+ "RETCODE_RET_ANY_GALLERY_STARTED": 523,
+ "RETCODE_RET_GALLERY_NOT_START": 524,
+ "RETCODE_RET_GALLERY_INTERRUPT_ONLY_ON_SINGLE_MODE": 525,
+ "RETCODE_RET_GALLERY_CANNOT_INTERRUPT": 526,
+ "RETCODE_RET_GALLERY_WORLD_NOT_MEET": 527,
+ "RETCODE_RET_GALLERY_SCENE_NOT_MEET": 528,
+ "RETCODE_RET_CUR_PLAY_CANNOT_TRANSFER": 529,
+ "RETCODE_RET_CANT_USE_WIDGET_IN_HOME_SCENE": 530,
+ "RETCODE_RET_SCENE_GROUP_NOT_MATCH": 531,
+ "RETCODE_RET_POS_ROT_INVALID": 551,
+ "RETCODE_RET_MARK_INVALID_SCENE_ID": 552,
+ "RETCODE_RET_INVALID_SCENE_TO_USE_ANCHOR_POINT": 553,
+ "RETCODE_RET_ENTER_HOME_SCENE_FAIL": 554,
+ "RETCODE_RET_CUR_SCENE_IS_NULL": 555,
+ "RETCODE_RET_GROUP_ID_ERROR": 556,
+ "RETCODE_RET_GALLERY_INTERRUPT_NOT_OWNER": 557,
+ "RETCODE_RET_NO_SPRING_IN_AREA": 558,
+ "RETCODE_RET_AREA_NOT_IN_SCENE": 559,
+ "RETCODE_RET_INVALID_CITY_ID": 560,
+ "RETCODE_RET_INVALID_SCENE_ID": 561,
+ "RETCODE_RET_DEST_SCENE_IS_NOT_ALLOW": 562,
+ "RETCODE_RET_LEVEL_TAG_SWITCH_IN_CD": 563,
+ "RETCODE_RET_LEVEL_TAG_ALREADY_EXIST": 564,
+ "RETCODE_RET_INVALID_AREA_ID": 565,
+ "RETCODE_RET_ITEM_NOT_EXIST": 601,
+ "RETCODE_RET_PACK_EXCEED_MAX_WEIGHT": 602,
+ "RETCODE_RET_ITEM_NOT_DROPABLE": 603,
+ "RETCODE_RET_ITEM_NOT_USABLE": 604,
+ "RETCODE_RET_ITEM_INVALID_USE_COUNT": 605,
+ "RETCODE_RET_ITEM_INVALID_DROP_COUNT": 606,
+ "RETCODE_RET_ITEM_ALREADY_EXIST": 607,
+ "RETCODE_RET_ITEM_IN_COOLDOWN": 608,
+ "RETCODE_RET_ITEM_COUNT_NOT_ENOUGH": 609,
+ "RETCODE_RET_ITEM_INVALID_TARGET": 610,
+ "RETCODE_RET_RECIPE_NOT_EXIST": 611,
+ "RETCODE_RET_RECIPE_LOCKED": 612,
+ "RETCODE_RET_RECIPE_UNLOCKED": 613,
+ "RETCODE_RET_COMPOUND_QUEUE_FULL": 614,
+ "RETCODE_RET_COMPOUND_NOT_FINISH": 615,
+ "RETCODE_RET_MAIL_ITEM_NOT_GET": 616,
+ "RETCODE_RET_ITEM_EXCEED_LIMIT": 617,
+ "RETCODE_RET_AVATAR_CAN_NOT_USE": 618,
+ "RETCODE_RET_ITEM_NEED_PLAYER_LEVEL": 619,
+ "RETCODE_RET_RECIPE_NOT_AUTO_QTE": 620,
+ "RETCODE_RET_COMPOUND_BUSY_QUEUE": 621,
+ "RETCODE_RET_NEED_MORE_SCOIN": 622,
+ "RETCODE_RET_SKILL_DEPOT_NOT_FOUND": 623,
+ "RETCODE_RET_HCOIN_NOT_ENOUGH": 624,
+ "RETCODE_RET_SCOIN_NOT_ENOUGH": 625,
+ "RETCODE_RET_HCOIN_EXCEED_LIMIT": 626,
+ "RETCODE_RET_SCOIN_EXCEED_LIMIT": 627,
+ "RETCODE_RET_MAIL_EXPIRED": 628,
+ "RETCODE_RET_REWARD_HAS_TAKEN": 629,
+ "RETCODE_RET_COMBINE_COUNT_TOO_LARGE": 630,
+ "RETCODE_RET_GIVING_ITEM_WRONG": 631,
+ "RETCODE_RET_GIVING_IS_FINISHED": 632,
+ "RETCODE_RET_GIVING_NOT_ACTIVED": 633,
+ "RETCODE_RET_FORGE_QUEUE_FULL": 634,
+ "RETCODE_RET_FORGE_QUEUE_CAPACITY": 635,
+ "RETCODE_RET_FORGE_QUEUE_NOT_FOUND": 636,
+ "RETCODE_RET_FORGE_QUEUE_EMPTY": 637,
+ "RETCODE_RET_NOT_SUPPORT_ITEM": 638,
+ "RETCODE_RET_ITEM_EMPTY": 639,
+ "RETCODE_RET_VIRTUAL_EXCEED_LIMIT": 640,
+ "RETCODE_RET_MATERIAL_EXCEED_LIMIT": 641,
+ "RETCODE_RET_EQUIP_EXCEED_LIMIT": 642,
+ "RETCODE_RET_ITEM_SHOULD_HAVE_NO_LEVEL": 643,
+ "RETCODE_RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT": 644,
+ "RETCODE_RET_WEAPON_LEVEL_INVALID": 645,
+ "RETCODE_RET_UNKNOW_ITEM_TYPE": 646,
+ "RETCODE_RET_ITEM_COUNT_IS_ZERO": 647,
+ "RETCODE_RET_ITEM_IS_EXPIRED": 648,
+ "RETCODE_RET_ITEM_EXCEED_OUTPUT_LIMIT": 649,
+ "RETCODE_RET_EQUIP_LEVEL_HIGHER": 650,
+ "RETCODE_RET_EQUIP_CAN_NOT_WAKE_OFF_WEAPON": 651,
+ "RETCODE_RET_EQUIP_HAS_BEEN_WEARED": 652,
+ "RETCODE_RET_EQUIP_WEARED_CANNOT_DROP": 653,
+ "RETCODE_RET_AWAKEN_LEVEL_MAX": 654,
+ "RETCODE_RET_MCOIN_NOT_ENOUGH": 655,
+ "RETCODE_RET_MCOIN_EXCEED_LIMIT": 656,
+ "RETCODE_RET_RESIN_NOT_ENOUGH": 660,
+ "RETCODE_RET_RESIN_EXCEED_LIMIT": 661,
+ "RETCODE_RET_RESIN_OPENSTATE_OFF": 662,
+ "RETCODE_RET_RESIN_BOUGHT_COUNT_EXCEEDED": 663,
+ "RETCODE_RET_RESIN_CARD_DAILY_REWARD_HAS_TAKEN": 664,
+ "RETCODE_RET_RESIN_CARD_EXPIRED": 665,
+ "RETCODE_RET_AVATAR_CAN_NOT_COOK": 666,
+ "RETCODE_RET_ATTACH_AVATAR_CD": 667,
+ "RETCODE_RET_AUTO_RECOVER_OPENSTATE_OFF": 668,
+ "RETCODE_RET_AUTO_RECOVER_BOUGHT_COUNT_EXCEEDED": 669,
+ "RETCODE_RET_RESIN_GAIN_FAILED": 670,
+ "RETCODE_RET_WIDGET_ORNAMENTS_TYPE_ERROR": 671,
+ "RETCODE_RET_ALL_TARGET_SATIATION_FULL": 672,
+ "RETCODE_RET_FORGE_WORLD_LEVEL_NOT_MATCH": 673,
+ "RETCODE_RET_FORGE_POINT_NOT_ENOUGH": 674,
+ "RETCODE_RET_WIDGET_ANCHOR_POINT_FULL": 675,
+ "RETCODE_RET_WIDGET_ANCHOR_POINT_NOT_FOUND": 676,
+ "RETCODE_RET_ALL_BONFIRE_EXCEED_MAX_COUNT": 677,
+ "RETCODE_RET_BONFIRE_EXCEED_MAX_COUNT": 678,
+ "RETCODE_RET_LUNCH_BOX_DATA_ERROR": 679,
+ "RETCODE_RET_INVALID_QUICK_USE_WIDGET": 680,
+ "RETCODE_RET_INVALID_REPLACE_RESIN_COUNT": 681,
+ "RETCODE_RET_PREV_DETECTED_GATHER_NOT_FOUND": 682,
+ "RETCODE_RET_GOT_ALL_ONEOFF_GAHTER": 683,
+ "RETCODE_RET_INVALID_WIDGET_MATERIAL_ID": 684,
+ "RETCODE_RET_WIDGET_DETECTOR_NO_HINT_TO_CLEAR": 685,
+ "RETCODE_RET_WIDGET_ALREADY_WITHIN_NEARBY_RADIUS": 686,
+ "RETCODE_RET_WIDGET_CLIENT_COLLECTOR_NEED_POINTS": 687,
+ "RETCODE_RET_WIDGET_IN_COMBAT": 688,
+ "RETCODE_RET_WIDGET_NOT_SET_QUICK_USE": 689,
+ "RETCODE_RET_ALREADY_ATTACH_WIDGET": 690,
+ "RETCODE_RET_EQUIP_IS_LOCKED": 691,
+ "RETCODE_RET_FORGE_IS_LOCKED": 692,
+ "RETCODE_RET_COMBINE_IS_LOCKED": 693,
+ "RETCODE_RET_FORGE_OUTPUT_STACK_LIMIT": 694,
+ "RETCODE_RET_ALREADY_DETTACH_WIDGET": 695,
+ "RETCODE_RET_GADGET_BUILDER_EXCEED_MAX_COUNT": 696,
+ "RETCODE_RET_REUNION_PRIVILEGE_RESIN_TYPE_IS_NORMAL": 697,
+ "RETCODE_RET_BONUS_COUNT_EXCEED_DOUBLE_LIMIT": 698,
+ "RETCODE_RET_RELIQUARY_DECOMPOSE_PARAM_ERROR": 699,
+ "RETCODE_RET_ITEM_COMBINE_COUNT_NOT_ENOUGH": 700,
+ "RETCODE_RET_GOODS_NOT_EXIST": 701,
+ "RETCODE_RET_GOODS_MATERIAL_NOT_ENOUGH": 702,
+ "RETCODE_RET_GOODS_NOT_IN_TIME": 703,
+ "RETCODE_RET_GOODS_BUY_NUM_NOT_ENOUGH": 704,
+ "RETCODE_RET_GOODS_BUY_NUM_ERROR": 705,
+ "RETCODE_RET_SHOP_NOT_OPEN": 706,
+ "RETCODE_RET_SHOP_CONTENT_NOT_MATCH": 707,
+ "RETCODE_RET_CHAT_FORBIDDEN": 798,
+ "RETCODE_RET_CHAT_CD": 799,
+ "RETCODE_RET_CHAT_FREQUENTLY": 800,
+ "RETCODE_RET_GADGET_NOT_EXIST": 801,
+ "RETCODE_RET_GADGET_NOT_INTERACTIVE": 802,
+ "RETCODE_RET_GADGET_NOT_GATHERABLE": 803,
+ "RETCODE_RET_CHEST_IS_LOCKED": 804,
+ "RETCODE_RET_GADGET_CREATE_FAIL": 805,
+ "RETCODE_RET_WORKTOP_OPTION_NOT_EXIST": 806,
+ "RETCODE_RET_GADGET_STATUE_NOT_ACTIVE": 807,
+ "RETCODE_RET_GADGET_STATUE_OPENED": 808,
+ "RETCODE_RET_BOSS_CHEST_NO_QUALIFICATION": 809,
+ "RETCODE_RET_BOSS_CHEST_LIFE_TIME_OVER": 810,
+ "RETCODE_RET_BOSS_CHEST_WEEK_NUM_LIMIT": 811,
+ "RETCODE_RET_BOSS_CHEST_GUEST_WORLD_LEVEL": 812,
+ "RETCODE_RET_BOSS_CHEST_HAS_TAKEN": 813,
+ "RETCODE_RET_BLOSSOM_CHEST_NO_QUALIFICATION": 814,
+ "RETCODE_RET_BLOSSOM_CHEST_LIFE_TIME_OVER": 815,
+ "RETCODE_RET_BLOSSOM_CHEST_HAS_TAKEN": 816,
+ "RETCODE_RET_BLOSSOM_CHEST_GUEST_WORLD_LEVEL": 817,
+ "RETCODE_RET_MP_PLAY_REWARD_NO_QUALIFICATION": 818,
+ "RETCODE_RET_MP_PLAY_REWARD_HAS_TAKEN": 819,
+ "RETCODE_RET_GENERAL_REWARD_NO_QUALIFICATION": 820,
+ "RETCODE_RET_GENERAL_REWARD_LIFE_TIME_OVER": 821,
+ "RETCODE_RET_GENERAL_REWARD_HAS_TAKEN": 822,
+ "RETCODE_RET_GADGET_NOT_VEHICLE": 823,
+ "RETCODE_RET_VEHICLE_SLOT_OCCUPIED": 824,
+ "RETCODE_RET_NOT_IN_VEHICLE": 825,
+ "RETCODE_RET_CREATE_VEHICLE_IN_CD": 826,
+ "RETCODE_RET_CREATE_VEHICLE_POS_INVALID": 827,
+ "RETCODE_RET_VEHICLE_POINT_NOT_UNLOCK": 828,
+ "RETCODE_RET_GADGET_INTERACT_COND_NOT_MEET": 829,
+ "RETCODE_RET_GADGET_INTERACT_PARAM_ERROR": 830,
+ "RETCODE_RET_GADGET_CUSTOM_COMBINATION_INVALID": 831,
+ "RETCODE_RET_DESHRET_OBELISK_DUPLICATE_INTERACT": 832,
+ "RETCODE_RET_DESHRET_OBELISK_NO_AVAIL_CHEST": 833,
+ "RETCODE_RET_ACTIVITY_CLOSE": 860,
+ "RETCODE_RET_ACTIVITY_ITEM_ERROR": 861,
+ "RETCODE_RET_ACTIVITY_CONTRIBUTION_NOT_ENOUGH": 862,
+ "RETCODE_RET_SEA_LAMP_PHASE_NOT_FINISH": 863,
+ "RETCODE_RET_SEA_LAMP_FLY_NUM_LIMIT": 864,
+ "RETCODE_RET_SEA_LAMP_FLY_LAMP_WORD_ILLEGAL": 865,
+ "RETCODE_RET_ACTIVITY_WATCHER_REWARD_TAKEN": 866,
+ "RETCODE_RET_ACTIVITY_WATCHER_REWARD_NOT_FINISHED": 867,
+ "RETCODE_RET_SALESMAN_ALREADY_DELIVERED": 868,
+ "RETCODE_RET_SALESMAN_REWARD_COUNT_NOT_ENOUGH": 869,
+ "RETCODE_RET_SALESMAN_POSITION_INVALID": 870,
+ "RETCODE_RET_DELIVER_NOT_FINISH_ALL_QUEST": 871,
+ "RETCODE_RET_DELIVER_ALREADY_TAKE_DAILY_REWARD": 872,
+ "RETCODE_RET_ASTER_PROGRESS_EXCEED_LIMIT": 873,
+ "RETCODE_RET_ASTER_CREDIT_EXCEED_LIMIT": 874,
+ "RETCODE_RET_ASTER_TOKEN_EXCEED_LIMIT": 875,
+ "RETCODE_RET_ASTER_CREDIT_NOT_ENOUGH": 876,
+ "RETCODE_RET_ASTER_TOKEN_NOT_ENOUGH": 877,
+ "RETCODE_RET_ASTER_SPECIAL_REWARD_HAS_TAKEN": 878,
+ "RETCODE_RET_FLIGHT_GROUP_ACTIVITY_NOT_STARTED": 879,
+ "RETCODE_RET_ASTER_MID_PREVIOUS_BATTLE_NOT_FINISHED": 880,
+ "RETCODE_RET_DRAGON_SPINE_SHIMMERING_ESSENCE_EXCEED_LIMIT": 881,
+ "RETCODE_RET_DRAGON_SPINE_WARM_ESSENCE_EXCEED_LIMIT": 882,
+ "RETCODE_RET_DRAGON_SPINE_WONDROUS_ESSENCE_EXCEED_LIMIT": 883,
+ "RETCODE_RET_DRAGON_SPINE_SHIMMERING_ESSENCE_NOT_ENOUGH": 884,
+ "RETCODE_RET_DRAGON_SPINE_WARM_ESSENCE_NOT_ENOUGH": 885,
+ "RETCODE_RET_DRAGON_SPINE_WONDROUS_ESSENCE_NOT_ENOUGH": 886,
+ "RETCODE_RET_EFFIGY_FIRST_PASS_REWARD_HAS_TAKEN": 891,
+ "RETCODE_RET_EFFIGY_REWARD_HAS_TAKEN": 892,
+ "RETCODE_RET_TREASURE_MAP_ADD_TOKEN_EXCEED_LIMIT": 893,
+ "RETCODE_RET_TREASURE_MAP_TOKEN_NOT_ENOUGHT": 894,
+ "RETCODE_RET_SEA_LAMP_COIN_EXCEED_LIMIT": 895,
+ "RETCODE_RET_SEA_LAMP_COIN_NOT_ENOUGH": 896,
+ "RETCODE_RET_SEA_LAMP_POPULARITY_EXCEED_LIMIT": 897,
+ "RETCODE_RET_ACTIVITY_AVATAR_REWARD_NOT_OPEN": 898,
+ "RETCODE_RET_ACTIVITY_AVATAR_REWARD_HAS_TAKEN": 899,
+ "RETCODE_RET_ARENA_ACTIVITY_ALREADY_STARTED": 900,
+ "RETCODE_RET_TALENT_ALREAY_UNLOCKED": 901,
+ "RETCODE_RET_PREV_TALENT_NOT_UNLOCKED": 902,
+ "RETCODE_RET_BIG_TALENT_POINT_NOT_ENOUGH": 903,
+ "RETCODE_RET_SMALL_TALENT_POINT_NOT_ENOUGH": 904,
+ "RETCODE_RET_PROUD_SKILL_ALREADY_GOT": 905,
+ "RETCODE_RET_PREV_PROUD_SKILL_NOT_GET": 906,
+ "RETCODE_RET_PROUD_SKILL_MAX_LEVEL": 907,
+ "RETCODE_RET_CANDIDATE_SKILL_DEPOT_ID_NOT_FIND": 910,
+ "RETCODE_RET_SKILL_DEPOT_IS_THE_SAME": 911,
+ "RETCODE_RET_MONSTER_NOT_EXIST": 1001,
+ "RETCODE_RET_MONSTER_CREATE_FAIL": 1002,
+ "RETCODE_RET_DUNGEON_ENTER_FAIL": 1101,
+ "RETCODE_RET_DUNGEON_QUIT_FAIL": 1102,
+ "RETCODE_RET_DUNGEON_ENTER_EXCEED_DAY_COUNT": 1103,
+ "RETCODE_RET_DUNGEON_REVIVE_EXCEED_MAX_COUNT": 1104,
+ "RETCODE_RET_DUNGEON_REVIVE_FAIL": 1105,
+ "RETCODE_RET_DUNGEON_NOT_SUCCEED": 1106,
+ "RETCODE_RET_DUNGEON_CAN_NOT_CANCEL": 1107,
+ "RETCODE_RET_DEST_DUNGEON_SETTLED": 1108,
+ "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_IS_FULL": 1109,
+ "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_IS_DISMISS": 1110,
+ "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_NOT_ALL_READY": 1111,
+ "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_HAS_REPEAT_AVATAR": 1112,
+ "RETCODE_RET_DUNGEON_CANDIDATE_NOT_SINGEL_PASS": 1113,
+ "RETCODE_RET_DUNGEON_REPLAY_NEED_ALL_PLAYER_DIE": 1114,
+ "RETCODE_RET_DUNGEON_REPLAY_HAS_REVIVE_COUNT": 1115,
+ "RETCODE_RET_DUNGEON_OTHERS_LEAVE": 1116,
+ "RETCODE_RET_DUNGEON_ENTER_LEVEL_LIMIT": 1117,
+ "RETCODE_RET_DUNGEON_CANNOT_ENTER_PLOT_IN_MP": 1118,
+ "RETCODE_RET_DUNGEON_DROP_SUBFIELD_LIMIT": 1119,
+ "RETCODE_RET_DUNGEON_BE_INVITE_PLAYER_AVATAR_ALL_DIE": 1120,
+ "RETCODE_RET_DUNGEON_CANNOT_KICK": 1121,
+ "RETCODE_RET_DUNGEON_CANDIDATE_TEAM_SOMEONE_LEVEL_LIMIT": 1122,
+ "RETCODE_RET_DUNGEON_IN_FORCE_QUIT": 1123,
+ "RETCODE_RET_DUNGEON_GUEST_QUIT_DUNGEON": 1124,
+ "RETCODE_RET_DUNGEON_TICKET_FAIL": 1125,
+ "RETCODE_RET_MP_NOT_IN_MY_WORLD": 1201,
+ "RETCODE_RET_MP_IN_MP_MODE": 1202,
+ "RETCODE_RET_MP_SCENE_IS_FULL": 1203,
+ "RETCODE_RET_MP_MODE_NOT_AVAILABLE": 1204,
+ "RETCODE_RET_MP_PLAYER_NOT_ENTERABLE": 1205,
+ "RETCODE_RET_MP_QUEST_BLOCK_MP": 1206,
+ "RETCODE_RET_MP_IN_ROOM_SCENE": 1207,
+ "RETCODE_RET_MP_WORLD_IS_FULL": 1208,
+ "RETCODE_RET_MP_PLAYER_NOT_ALLOW_ENTER": 1209,
+ "RETCODE_RET_MP_PLAYER_DISCONNECTED": 1210,
+ "RETCODE_RET_MP_NOT_IN_MP_MODE": 1211,
+ "RETCODE_RET_MP_OWNER_NOT_ENTER": 1212,
+ "RETCODE_RET_MP_ALLOW_ENTER_PLAYER_FULL": 1213,
+ "RETCODE_RET_MP_TARGET_PLAYER_IN_TRANSFER": 1214,
+ "RETCODE_RET_MP_TARGET_ENTERING_OTHER": 1215,
+ "RETCODE_RET_MP_OTHER_ENTERING": 1216,
+ "RETCODE_RET_MP_ENTER_MAIN_PLAYER_IN_PLOT": 1217,
+ "RETCODE_RET_MP_NOT_PS_PLAYER": 1218,
+ "RETCODE_RET_MP_PLAY_NOT_ACTIVE": 1219,
+ "RETCODE_RET_MP_PLAY_REMAIN_REWARDS": 1220,
+ "RETCODE_RET_MP_PLAY_NO_REWARD": 1221,
+ "RETCODE_RET_MP_OPEN_STATE_FAIL": 1223,
+ "RETCODE_RET_MP_PLAYER_IN_BLACKLIST": 1224,
+ "RETCODE_RET_MP_REPLY_TIMEOUT": 1225,
+ "RETCODE_RET_MP_IS_BLOCK": 1226,
+ "RETCODE_RET_MP_ENTER_MAIN_PLAYER_IN_MP_PLAY": 1227,
+ "RETCODE_RET_MP_IN_MP_PLAY_BATTLE": 1228,
+ "RETCODE_RET_MP_GUEST_HAS_REWARD_REMAINED": 1229,
+ "RETCODE_RET_MP_QUIT_MP_INVALID": 1230,
+ "RETCODE_RET_MP_OTHER_DATA_VERSION_NOT_LATEST": 1231,
+ "RETCODE_RET_MP_DATA_VERSION_NOT_LATEST": 1232,
+ "RETCODE_RET_MP_CUR_WORLD_NOT_ENTERABLE": 1233,
+ "RETCODE_RET_MP_ANY_GALLERY_STARTED": 1234,
+ "RETCODE_RET_MP_HAS_ACTIVE_DRAFT": 1235,
+ "RETCODE_RET_MP_PLAYER_IN_DUNGEON": 1236,
+ "RETCODE_RET_MP_MATCH_FULL": 1237,
+ "RETCODE_RET_MP_MATCH_LIMIT": 1238,
+ "RETCODE_RET_MP_MATCH_IN_PUNISH": 1239,
+ "RETCODE_RET_MP_IS_IN_MULTISTAGE": 1240,
+ "RETCODE_RET_MP_MATCH_PLAY_NOT_OPEN": 1241,
+ "RETCODE_RET_MP_ONLY_MP_WITH_PS_PLAYER": 1242,
+ "RETCODE_RET_MP_GUEST_LOADING_FIRST_ENTER": 1243,
+ "RETCODE_RET_MP_SUMMER_TIME_SPRINT_BOAT_ONGOING": 1244,
+ "RETCODE_RET_MP_BLITZ_RUSH_PARKOUR_CHALLENGE_ONGOING": 1245,
+ "RETCODE_RET_MP_MUSIC_GAME_ONGOING": 1246,
+ "RETCODE_RET_MP_IN_MPING_MODE": 1247,
+ "RETCODE_RET_MP_OWNER_IN_SINGLE_SCENE": 1248,
+ "RETCODE_RET_MP_IN_SINGLE_SCENE": 1249,
+ "RETCODE_RET_MP_REPLY_NO_VALID_AVATAR": 1250,
+ "RETCODE_RET_MAIL_PARA_ERR": 1301,
+ "RETCODE_RET_MAIL_MAX_NUM": 1302,
+ "RETCODE_RET_MAIL_ITEM_NUM_EXCEED": 1303,
+ "RETCODE_RET_MAIL_TITLE_LEN_EXCEED": 1304,
+ "RETCODE_RET_MAIL_CONTENT_LEN_EXCEED": 1305,
+ "RETCODE_RET_MAIL_SENDER_LEN_EXCEED": 1306,
+ "RETCODE_RET_MAIL_PARSE_PACKET_FAIL": 1307,
+ "RETCODE_RET_OFFLINE_MSG_MAX_NUM": 1308,
+ "RETCODE_RET_OFFLINE_MSG_SAME_TICKET": 1309,
+ "RETCODE_RET_MAIL_EXCEL_MAIL_TYPE_ERROR": 1310,
+ "RETCODE_RET_MAIL_CANNOT_SEND_MCOIN": 1311,
+ "RETCODE_RET_MAIL_HCOIN_EXCEED_LIMIT": 1312,
+ "RETCODE_RET_MAIL_SCOIN_EXCEED_LIMIT": 1313,
+ "RETCODE_RET_MAIL_MATERIAL_ID_INVALID": 1314,
+ "RETCODE_RET_MAIL_AVATAR_EXCEED_LIMIT": 1315,
+ "RETCODE_RET_MAIL_GACHA_TICKET_ETC_EXCEED_LIMIT": 1316,
+ "RETCODE_RET_MAIL_ITEM_EXCEED_CEHUA_LIMIT": 1317,
+ "RETCODE_RET_MAIL_SPACE_OR_REST_NUM_NOT_ENOUGH": 1318,
+ "RETCODE_RET_MAIL_TICKET_IS_EMPTY": 1319,
+ "RETCODE_RET_MAIL_TRANSACTION_IS_EMPTY": 1320,
+ "RETCODE_RET_MAIL_DELETE_COLLECTED": 1321,
+ "RETCODE_RET_DAILY_TASK_NOT_FINISH": 1330,
+ "RETCODE_RET_DAILY_TAKS_HAS_TAKEN": 1331,
+ "RETCODE_RET_SOCIAL_OFFLINE_MSG_NUM_EXCEED": 1332,
+ "RETCODE_RET_DAILY_TASK_FILTER_CITY_NOT_OPEN": 1333,
+ "RETCODE_RET_GACHA_INAVAILABLE": 1401,
+ "RETCODE_RET_GACHA_RANDOM_NOT_MATCH": 1402,
+ "RETCODE_RET_GACHA_SCHEDULE_NOT_MATCH": 1403,
+ "RETCODE_RET_GACHA_INVALID_TIMES": 1404,
+ "RETCODE_RET_GACHA_COST_ITEM_NOT_ENOUGH": 1405,
+ "RETCODE_RET_GACHA_TIMES_LIMIT": 1406,
+ "RETCODE_RET_GACHA_WISH_SAME_ITEM": 1407,
+ "RETCODE_RET_GACHA_WISH_INVALID_ITEM": 1408,
+ "RETCODE_RET_GACHA_MINORS_TIMES_LIMIT": 1409,
+ "RETCODE_RET_INVESTIGAITON_NOT_IN_PROGRESS": 1501,
+ "RETCODE_RET_INVESTIGAITON_UNCOMPLETE": 1502,
+ "RETCODE_RET_INVESTIGAITON_REWARD_TAKEN": 1503,
+ "RETCODE_RET_INVESTIGAITON_TARGET_STATE_ERROR": 1504,
+ "RETCODE_RET_PUSH_TIPS_NOT_FOUND": 1505,
+ "RETCODE_RET_SIGN_IN_RECORD_NOT_FOUND": 1506,
+ "RETCODE_RET_ALREADY_HAVE_SIGNED_IN": 1507,
+ "RETCODE_RET_SIGN_IN_COND_NOT_SATISFIED": 1508,
+ "RETCODE_RET_BONUS_ACTIVITY_NOT_UNREWARDED": 1509,
+ "RETCODE_RET_SIGN_IN_REWARDED": 1510,
+ "RETCODE_RET_TOWER_NOT_OPEN": 1521,
+ "RETCODE_RET_TOWER_HAVE_DAILY_RECORD": 1522,
+ "RETCODE_RET_TOWER_NOT_RECORD": 1523,
+ "RETCODE_RET_TOWER_HAVE_RECORD": 1524,
+ "RETCODE_RET_TOWER_TEAM_NUM_ERROR": 1525,
+ "RETCODE_RET_TOWER_FLOOR_NOT_OPEN": 1526,
+ "RETCODE_RET_TOWER_NO_FLOOR_STAR_RECORD": 1527,
+ "RETCODE_RET_ALREADY_HAS_TOWER_BUFF": 1528,
+ "RETCODE_RET_DUPLICATE_ENTER_LEVEL": 1529,
+ "RETCODE_RET_NOT_IN_TOWER_LEVEL": 1530,
+ "RETCODE_RET_IN_TOWER_LEVEL": 1531,
+ "RETCODE_RET_TOWER_PREV_FLOOR_NOT_FINISH": 1532,
+ "RETCODE_RET_TOWER_STAR_NOT_ENOUGH": 1533,
+ "RETCODE_RET_BATTLE_PASS_NO_SCHEDULE": 1541,
+ "RETCODE_RET_BATTLE_PASS_HAS_BUYED": 1542,
+ "RETCODE_RET_BATTLE_PASS_LEVEL_OVERFLOW": 1543,
+ "RETCODE_RET_BATTLE_PASS_PRODUCT_EXPIRED": 1544,
+ "RETCODE_RET_MATCH_HOST_QUIT": 1561,
+ "RETCODE_RET_MATCH_ALREADY_IN_MATCH": 1562,
+ "RETCODE_RET_MATCH_NOT_IN_MATCH": 1563,
+ "RETCODE_RET_MATCH_APPLYING_ENTER_MP": 1564,
+ "RETCODE_RET_WIDGET_TREASURE_SPOT_NOT_FOUND": 1581,
+ "RETCODE_RET_WIDGET_TREASURE_ENTITY_EXISTS": 1582,
+ "RETCODE_RET_WIDGET_TREASURE_SPOT_FAR_AWAY": 1583,
+ "RETCODE_RET_WIDGET_TREASURE_FINISHED_TODAY": 1584,
+ "RETCODE_RET_WIDGET_QUICK_USE_REQ_PARAM_ERROR": 1585,
+ "RETCODE_RET_WIDGET_CAMERA_SCAN_ID_ERROR": 1586,
+ "RETCODE_RET_WIDGET_NOT_ACTIVE": 1587,
+ "RETCODE_RET_WIDGET_FEATHER_NOT_ACTIVE": 1588,
+ "RETCODE_RET_WIDGET_FEATHER_GADGET_TOO_FAR_AWAY": 1589,
+ "RETCODE_RET_WIDGET_CAPTURE_ANIMAL_NOT_EXIST": 1590,
+ "RETCODE_RET_WIDGET_CAPTURE_ANIMAL_DROP_BAG_LIMIT": 1591,
+ "RETCODE_RET_WIDGET_CAPTURE_ANIMAL_CAN_NOT_CAPTURE": 1592,
+ "RETCODE_RET_WIDGET_SKY_CRYSTAL_ALL_COLLECTED": 1593,
+ "RETCODE_RET_WIDGET_SKY_CRYSTAL_HINT_ALREADY_EXIST": 1594,
+ "RETCODE_RET_WIDGET_SKY_CRYSTAL_NOT_FOUND": 1595,
+ "RETCODE_RET_WIDGET_SKY_CRYSTAL_NO_HINT_TO_CLEAR": 1596,
+ "RETCODE_RET_WIDGET_LIGHT_STONE_ENERGY_NOT_ENOUGH": 1597,
+ "RETCODE_RET_WIDGET_TOY_CRYSTAL_ENERGY_NOT_ENOUGH": 1598,
+ "RETCODE_RET_WIDGET_LIGHT_STONE_LEVEL_NOT_ENOUGH": 1599,
+ "RETCODE_RET_UID_NOT_EXIST": 2001,
+ "RETCODE_RET_PARSE_BIN_ERROR": 2002,
+ "RETCODE_RET_ACCOUNT_INFO_NOT_EXIST": 2003,
+ "RETCODE_RET_ORDER_INFO_NOT_EXIST": 2004,
+ "RETCODE_RET_SNAPSHOT_INDEX_ERROR": 2005,
+ "RETCODE_RET_MAIL_HAS_BEEN_SENT": 2006,
+ "RETCODE_RET_PRODUCT_NOT_EXIST": 2007,
+ "RETCODE_RET_UNFINISH_ORDER": 2008,
+ "RETCODE_RET_ID_NOT_EXIST": 2009,
+ "RETCODE_RET_ORDER_TRADE_EARLY": 2010,
+ "RETCODE_RET_ORDER_FINISHED": 2011,
+ "RETCODE_RET_GAMESERVER_VERSION_WRONG": 2012,
+ "RETCODE_RET_OFFLINE_OP_FULL_LENGTH": 2013,
+ "RETCODE_RET_CONCERT_PRODUCT_OBTAIN_LIMIT": 2014,
+ "RETCODE_RET_CONCERT_PRODUCT_TICKET_DUPLICATED": 2015,
+ "RETCODE_RET_CONCERT_PRODUCT_TICKET_EMPTY": 2016,
+ "RETCODE_RET_REDIS_MODIFIED": 5001,
+ "RETCODE_RET_REDIS_UID_NOT_EXIST": 5002,
+ "RETCODE_RET_PATHFINDING_DATA_NOT_EXIST": 6001,
+ "RETCODE_RET_PATHFINDING_DESTINATION_NOT_EXIST": 6002,
+ "RETCODE_RET_PATHFINDING_ERROR_SCENE": 6003,
+ "RETCODE_RET_PATHFINDING_SCENE_DATA_LOADING": 6004,
+ "RETCODE_RET_FRIEND_COUNT_EXCEEDED": 7001,
+ "RETCODE_RET_PLAYER_NOT_EXIST": 7002,
+ "RETCODE_RET_ALREADY_SENT_ADD_REQUEST": 7003,
+ "RETCODE_RET_ASK_FRIEND_LIST_FULL": 7004,
+ "RETCODE_RET_PLAYER_ALREADY_IS_FRIEND": 7005,
+ "RETCODE_RET_PLAYER_NOT_ASK_FRIEND": 7006,
+ "RETCODE_RET_TARGET_FRIEND_COUNT_EXCEED": 7007,
+ "RETCODE_RET_NOT_FRIEND": 7008,
+ "RETCODE_RET_BIRTHDAY_CANNOT_BE_SET_TWICE": 7009,
+ "RETCODE_RET_CANNOT_ADD_SELF_FRIEND": 7010,
+ "RETCODE_RET_SIGNATURE_ILLEGAL": 7011,
+ "RETCODE_RET_PS_PLAYER_CANNOT_ADD_FRIENDS": 7012,
+ "RETCODE_RET_PS_PLAYER_CANNOT_REMOVE_FRIENDS": 7013,
+ "RETCODE_RET_NAME_CARD_NOT_UNLOCKED": 7014,
+ "RETCODE_RET_ALREADY_IN_BLACKLIST": 7015,
+ "RETCODE_RET_PS_PALEYRS_CANNOT_ADD_BLACKLIST": 7016,
+ "RETCODE_RET_PLAYER_BLACKLIST_FULL": 7017,
+ "RETCODE_RET_PLAYER_NOT_IN_BLACKLIST": 7018,
+ "RETCODE_RET_BLACKLIST_PLAYER_CANNOT_ADD_FRIEND": 7019,
+ "RETCODE_RET_IN_TARGET_BLACKLIST": 7020,
+ "RETCODE_RET_CANNOT_ADD_TARGET_FRIEND": 7021,
+ "RETCODE_RET_BIRTHDAY_FORMAT_ERROR": 7022,
+ "RETCODE_RET_ONLINE_ID_NOT_EXISTS": 7023,
+ "RETCODE_RET_FIRST_SHARE_REWARD_HAS_TAKEN": 7024,
+ "RETCODE_RET_PS_PLAYER_CANNOT_REMOVE_BLACKLIST": 7025,
+ "RETCODE_RET_REPORT_CD": 7026,
+ "RETCODE_RET_REPORT_CONTENT_ILLEGAL": 7027,
+ "RETCODE_RET_REMARK_WORD_ILLEGAL": 7028,
+ "RETCODE_RET_REMARK_TOO_LONG": 7029,
+ "RETCODE_RET_REMARK_UTF8_ERROR": 7030,
+ "RETCODE_RET_REMARK_IS_EMPTY": 7031,
+ "RETCODE_RET_ASK_ADD_FRIEND_CD": 7032,
+ "RETCODE_RET_SHOW_AVATAR_INFO_NOT_EXIST": 7033,
+ "RETCODE_RET_PLAYER_NOT_SHOW_AVATAR": 7034,
+ "RETCODE_RET_SOCIAL_UPDATE_SHOW_LIST_REPEAT_ID": 7035,
+ "RETCODE_RET_PSN_ID_NOT_FOUND": 7036,
+ "RETCODE_RET_EMOJI_COLLECTION_NUM_EXCEED_LIMIT": 7037,
+ "RETCODE_RET_REMARK_EMPTY": 7038,
+ "RETCODE_RET_IN_TARGET_PSN_BLACKLIST": 7039,
+ "RETCODE_RET_SIGNATURE_NOT_CHANGED": 7040,
+ "RETCODE_RET_SIGNATURE_MONTHLY_LIMIT": 7041,
+ "RETCODE_RET_OFFERING_NOT_OPEN": 7081,
+ "RETCODE_RET_OFFERING_LEVEL_LIMIT": 7082,
+ "RETCODE_RET_OFFERING_LEVEL_NOT_REACH": 7083,
+ "RETCODE_RET_OFFERING_LEVEL_HAS_TAKEN": 7084,
+ "RETCODE_RET_CITY_REPUTATION_NOT_OPEN": 7101,
+ "RETCODE_RET_CITY_REPUTATION_LEVEL_TAKEN": 7102,
+ "RETCODE_RET_CITY_REPUTATION_LEVEL_NOT_REACH": 7103,
+ "RETCODE_RET_CITY_REPUTATION_PARENT_QUEST_TAKEN": 7104,
+ "RETCODE_RET_CITY_REPUTATION_PARENT_QUEST_UNFINISH": 7105,
+ "RETCODE_RET_CITY_REPUTATION_ACCEPT_REQUEST": 7106,
+ "RETCODE_RET_CITY_REPUTATION_NOT_ACCEPT_REQUEST": 7107,
+ "RETCODE_RET_CITY_REPUTATION_ACCEPT_REQUEST_LIMIT": 7108,
+ "RETCODE_RET_CITY_REPUTATION_ENTRANCE_NOT_OPEN": 7109,
+ "RETCODE_RET_CITY_REPUTATION_TAKEN_REQUEST_REWARD": 7110,
+ "RETCODE_RET_CITY_REPUTATION_SWITCH_CLOSE": 7111,
+ "RETCODE_RET_CITY_REPUTATION_ENTRACE_SWITCH_CLOSE": 7112,
+ "RETCODE_RET_CITY_REPUTATION_TAKEN_EXPLORE_REWARD": 7113,
+ "RETCODE_RET_CITY_REPUTATION_EXPLORE_NOT_REACH": 7114,
+ "RETCODE_RET_MECHANICUS_NOT_OPEN": 7120,
+ "RETCODE_RET_MECHANICUS_GEAR_UNLOCK": 7121,
+ "RETCODE_RET_MECHANICUS_GEAR_LOCK": 7122,
+ "RETCODE_RET_MECHANICUS_GEAR_LEVEL_LIMIT": 7123,
+ "RETCODE_RET_MECHANICUS_COIN_NOT_ENOUGH": 7124,
+ "RETCODE_RET_MECHANICUS_NO_SEQUENCE": 7125,
+ "RETCODE_RET_MECHANICUS_SEQUENCE_LIMIT_LEVEL": 7126,
+ "RETCODE_RET_MECHANICUS_SEQUENCE_LIMIT_OPEN": 7127,
+ "RETCODE_RET_MECHANICUS_DIFFICULT_NOT_SUPPORT": 7128,
+ "RETCODE_RET_MECHANICUS_TICKET_NOT_ENOUGH": 7129,
+ "RETCODE_RET_MECHANICUS_TEACH_NOT_FINISH": 7130,
+ "RETCODE_RET_MECHANICUS_TEACH_FINISHED": 7131,
+ "RETCODE_RET_MECHANICUS_PREV_DIFFICULT_LEVEL_BLOCK": 7132,
+ "RETCODE_RET_MECHANICUS_PLAYER_LIMIT": 7133,
+ "RETCODE_RET_MECHANICUS_PUNISH_TIME": 7134,
+ "RETCODE_RET_MECHANICUS_SWITCH_CLOSE": 7135,
+ "RETCODE_RET_MECHANICUS_BATTLE_NOT_IN_DUNGEON": 7150,
+ "RETCODE_RET_MECHANICUS_BATTLE_PLAY_NOT_FOUND": 7151,
+ "RETCODE_RET_MECHANICUS_BATTLE_DUPLICATE_PICK_CARD": 7152,
+ "RETCODE_RET_MECHANICUS_BATTLE_PLAYER_NOT_IN_PLAY": 7153,
+ "RETCODE_RET_MECHANICUS_BATTLE_CARD_NOT_AVAILABLE": 7154,
+ "RETCODE_RET_MECHANICUS_BATTLE_NOT_IN_CARD_STAGE": 7155,
+ "RETCODE_RET_MECHANICUS_BATTLE_CARD_IS_WAITING": 7156,
+ "RETCODE_RET_MECHANICUS_BATTLE_CARD_ALL_CONFIRMED": 7157,
+ "RETCODE_RET_MECHANICUS_BATTLE_CARD_ALREADY_CONFIRMED": 7158,
+ "RETCODE_RET_MECHANICUS_BATTLE_CARD_CONFIRMED_BY_OTHER": 7159,
+ "RETCODE_RET_MECHANICUS_BATTLE_CARD_NOT_ENOUGH_POINTS": 7160,
+ "RETCODE_RET_MECHANICUS_BATTLE_CARD_ALREADY_SKIPPED": 7161,
+ "RETCODE_RET_LEGENDARY_KEY_NOT_ENOUGH": 8001,
+ "RETCODE_RET_LEGENDARY_KEY_EXCEED_LIMIT": 8002,
+ "RETCODE_RET_DAILY_TASK_NOT_ENOUGH_TO_REDEEM": 8003,
+ "RETCODE_RET_PERSONAL_LINE_OPEN_STATE_OFF": 8004,
+ "RETCODE_RET_PERSONAL_LINE_LEVEL_NOT_ENOUGH": 8005,
+ "RETCODE_RET_PERSONAL_LINE_NOT_OPEN": 8006,
+ "RETCODE_RET_PERSONAL_LINE_PRE_QUEST_NOT_FINISH": 8007,
+ "RETCODE_RET_HUNTING_ALREADY_FINISH_OFFER_LIMIT": 8201,
+ "RETCODE_RET_HUNTING_HAS_UNFINISHED_OFFER": 8202,
+ "RETCODE_RET_HUNTING_FAILED_OFFER_NOT_CD_READY": 8203,
+ "RETCODE_RET_HUNTING_NOT_TAKE_OFFER": 8204,
+ "RETCODE_RET_HUNTING_CANNOT_TAKE_TWICE": 8205,
+ "RETCODE_RET_RPIVATE_CHAT_INVALID_CONTENT_TYPE": 8901,
+ "RETCODE_RET_PRIVATE_CHAT_TARGET_IS_NOT_FRIEND": 8902,
+ "RETCODE_RET_PRIVATE_CHAT_CONTENT_NOT_SUPPORTED": 8903,
+ "RETCODE_RET_PRIVATE_CHAT_CONTENT_TOO_LONG": 8904,
+ "RETCODE_RET_PRIVATE_CHAT_PULL_TOO_FAST": 8905,
+ "RETCODE_RET_PRIVATE_CHAT_REPEAT_READ": 8906,
+ "RETCODE_RET_PRIVATE_CHAT_READ_NOT_FRIEND": 8907,
+ "RETCODE_RET_REUNION_FINISHED": 9001,
+ "RETCODE_RET_REUNION_NOT_ACTIVATED": 9002,
+ "RETCODE_RET_REUNION_ALREADY_TAKE_FIRST_REWARD": 9003,
+ "RETCODE_RET_REUNION_SIGN_IN_REWARDED": 9004,
+ "RETCODE_RET_REUNION_WATCHER_REWARDED": 9005,
+ "RETCODE_RET_REUNION_WATCHER_NOT_FINISH": 9006,
+ "RETCODE_RET_REUNION_MISSION_REWARDED": 9007,
+ "RETCODE_RET_REUNION_MISSION_NOT_FINISH": 9008,
+ "RETCODE_RET_REUNION_WATCHER_REWARD_NOT_UNLOCKED": 9009,
+ "RETCODE_RET_BLESSING_CONTENT_CLOSED": 9101,
+ "RETCODE_RET_BLESSING_NOT_ACTIVE": 9102,
+ "RETCODE_RET_BLESSING_NOT_TODAY_ENTITY": 9103,
+ "RETCODE_RET_BLESSING_ENTITY_EXCEED_SCAN_NUM_LIMIT": 9104,
+ "RETCODE_RET_BLESSING_DAILY_SCAN_NUM_EXCEED_LIMIT": 9105,
+ "RETCODE_RET_BLESSING_REDEEM_REWARD_NUM_EXCEED_LIMIT": 9106,
+ "RETCODE_RET_BLESSING_REDEEM_PIC_NUM_NOT_ENOUGH": 9107,
+ "RETCODE_RET_BLESSING_PIC_NOT_ENOUGH": 9108,
+ "RETCODE_RET_BLESSING_PIC_HAS_RECEIVED": 9109,
+ "RETCODE_RET_BLESSING_TARGET_RECV_NUM_EXCEED": 9110,
+ "RETCODE_RET_FLEUR_FAIR_CREDIT_EXCEED_LIMIT": 9111,
+ "RETCODE_RET_FLEUR_FAIR_CREDIT_NOT_ENOUGH": 9112,
+ "RETCODE_RET_FLEUR_FAIR_TOKEN_EXCEED_LIMIT": 9113,
+ "RETCODE_RET_FLEUR_FAIR_TOKEN_NOT_ENOUGH": 9114,
+ "RETCODE_RET_FLEUR_FAIR_MINIGAME_NOT_OPEN": 9115,
+ "RETCODE_RET_FLEUR_FAIR_MUSIC_GAME_DIFFICULTY_NOT_UNLOCK": 9116,
+ "RETCODE_RET_FLEUR_FAIR_DUNGEON_LOCKED": 9117,
+ "RETCODE_RET_FLEUR_FAIR_DUNGEON_PUNISH_TIME": 9118,
+ "RETCODE_RET_FLEUR_FAIR_ONLY_OWNER_CAN_RESTART_MINIGAM": 9119,
+ "RETCODE_RET_WATER_SPIRIT_COIN_EXCEED_LIMIT": 9120,
+ "RETCODE_RET_WATER_SPIRIT_COIN_NOT_ENOUGH": 9121,
+ "RETCODE_RET_REGION_SEARCH_NO_SEARCH": 9122,
+ "RETCODE_RET_REGION_SEARCH_STATE_ERROR": 9123,
+ "RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_STAGE_NOT_OPEN": 9130,
+ "RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_NOT_OPEN": 9131,
+ "RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD_HAS_TAKEN": 9132,
+ "RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD_HAS_TAKEN": 9133,
+ "RETCODE_RET_CHANNELLER_SLAB_INVALID_ONE_OFF_DUNGEON": 9134,
+ "RETCODE_RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_DONE": 9135,
+ "RETCODE_RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_STAGE_NOT_OPEN": 9136,
+ "RETCODE_RET_CHANNELLER_SLAB_TOKEN_EXCEED_LIMIT": 9137,
+ "RETCODE_RET_CHANNELLER_SLAB_TOKEN_NOT_ENOUGH": 9138,
+ "RETCODE_RET_CHANNELLER_SLAB_PLAYER_NOT_IN_ONE_OFF_DUNGEON": 9139,
+ "RETCODE_RET_MIST_TRIAL_SELECT_CHARACTER_NUM_NOT_ENOUGH": 9150,
+ "RETCODE_RET_HIDE_AND_SEEK_PLAY_NOT_OPEN": 9160,
+ "RETCODE_RET_HIDE_AND_SEEK_PLAY_MAP_NOT_OPEN": 9161,
+ "RETCODE_RET_SUMMER_TIME_DRAFT_WOORD_EXCEED_LIMIT": 9170,
+ "RETCODE_RET_SUMMER_TIME_DRAFT_WOORD_NOT_ENOUGH": 9171,
+ "RETCODE_RET_SUMMER_TIME_MINI_HARPASTUM_EXCEED_LIMIT": 9172,
+ "RETCODE_RET_SUMMER_TIME_MINI_HARPASTUMNOT_ENOUGH": 9173,
+ "RETCODE_RET_BOUNCE_CONJURING_COIN_EXCEED_LIMIT": 9180,
+ "RETCODE_RET_BOUNCE_CONJURING_COIN_NOT_ENOUGH": 9181,
+ "RETCODE_RET_CHESS_TEACH_MAP_FINISHED": 9183,
+ "RETCODE_RET_CHESS_TEACH_MAP_UNFINISHED": 9184,
+ "RETCODE_RET_CHESS_COIN_EXCEED_LIMIT": 9185,
+ "RETCODE_RET_CHESS_COIN_NOT_ENOUGH": 9186,
+ "RETCODE_RET_CHESS_IN_PUNISH_TIME": 9187,
+ "RETCODE_RET_CHESS_PREV_MAP_UNFINISHED": 9188,
+ "RETCODE_RET_CHESS_MAP_LOCKED": 9189,
+ "RETCODE_RET_BLITZ_RUSH_NOT_OPEN": 9192,
+ "RETCODE_RET_BLITZ_RUSH_DUNGEON_NOT_OPEN": 9193,
+ "RETCODE_RET_BLITZ_RUSH_COIN_A_EXCEED_LIMIT": 9194,
+ "RETCODE_RET_BLITZ_RUSH_COIN_B_EXCEED_LIMIT": 9195,
+ "RETCODE_RET_BLITZ_RUSH_COIN_A_NOT_ENOUGH": 9196,
+ "RETCODE_RET_BLITZ_RUSH_COIN_B_NOT_ENOUGH": 9197,
+ "RETCODE_RET_MIRACLE_RING_VALUE_NOT_ENOUGH": 9201,
+ "RETCODE_RET_MIRACLE_RING_CD": 9202,
+ "RETCODE_RET_MIRACLE_RING_REWARD_NOT_TAKEN": 9203,
+ "RETCODE_RET_MIRACLE_RING_NOT_DELIVER": 9204,
+ "RETCODE_RET_MIRACLE_RING_DELIVER_EXCEED": 9205,
+ "RETCODE_RET_MIRACLE_RING_HAS_CREATED": 9206,
+ "RETCODE_RET_MIRACLE_RING_HAS_NOT_CREATED": 9207,
+ "RETCODE_RET_MIRACLE_RING_NOT_YOURS": 9208,
+ "RETCODE_RET_GADGET_FOUNDATION_UNAUTHORIZED": 9251,
+ "RETCODE_RET_GADGET_FOUNDATION_SCENE_NOT_FOUND": 9252,
+ "RETCODE_RET_GADGET_FOUNDATION_NOT_IN_INIT_STATE": 9253,
+ "RETCODE_RET_GADGET_FOUNDATION_BILDING_POINT_NOT_ENOUGHT": 9254,
+ "RETCODE_RET_GADGET_FOUNDATION_NOT_IN_BUILT_STATE": 9255,
+ "RETCODE_RET_GADGET_FOUNDATION_OP_NOT_SUPPORTED": 9256,
+ "RETCODE_RET_GADGET_FOUNDATION_REQ_PLAYER_NOT_IN_SCENE": 9257,
+ "RETCODE_RET_GADGET_FOUNDATION_LOCKED_BY_ANOTHER_PLAYER": 9258,
+ "RETCODE_RET_GADGET_FOUNDATION_NOT_LOCKED": 9259,
+ "RETCODE_RET_GADGET_FOUNDATION_DUPLICATE_LOCK": 9260,
+ "RETCODE_RET_GADGET_FOUNDATION_PLAYER_NOT_FOUND": 9261,
+ "RETCODE_RET_GADGET_FOUNDATION_PLAYER_GEAR_NOT_FOUND": 9262,
+ "RETCODE_RET_GADGET_FOUNDATION_ROTAION_DISABLED": 9263,
+ "RETCODE_RET_GADGET_FOUNDATION_REACH_DUNGEON_GEAR_LIMIT": 9264,
+ "RETCODE_RET_GADGET_FOUNDATION_REACH_SINGLE_GEAR_LIMIT": 9265,
+ "RETCODE_RET_GADGET_FOUNDATION_ROTATION_ON_GOING": 9266,
+ "RETCODE_RET_OP_ACTIVITY_BONUS_NOT_FOUND": 9301,
+ "RETCODE_RET_OP_ACTIVITY_NOT_OPEN": 9302,
+ "RETCODE_RET_MULTISTAGE_PLAY_PLAYER_NOT_IN_SCENE": 9501,
+ "RETCODE_RET_MULTISTAGE_PLAY_NOT_FOUND": 9502,
+ "RETCODE_RET_COOP_CHAPTER_NOT_OPEN": 9601,
+ "RETCODE_RET_COOP_COND_NOT_MEET": 9602,
+ "RETCODE_RET_COOP_POINT_LOCKED": 9603,
+ "RETCODE_RET_COOP_NOT_HAVE_PROGRESS": 9604,
+ "RETCODE_RET_COOP_REWARD_HAS_TAKEN": 9605,
+ "RETCODE_RET_DRAFT_HAS_ACTIVE_DRAFT": 9651,
+ "RETCODE_RET_DRAFT_NOT_IN_MY_WORLD": 9652,
+ "RETCODE_RET_DRAFT_NOT_SUPPORT_MP": 9653,
+ "RETCODE_RET_DRAFT_PLAYER_NOT_ENOUGH": 9654,
+ "RETCODE_RET_DRAFT_INCORRECT_SCENE": 9655,
+ "RETCODE_RET_DRAFT_OTHER_PLAYER_ENTERING": 9656,
+ "RETCODE_RET_DRAFT_GUEST_IS_TRANSFERRING": 9657,
+ "RETCODE_RET_DRAFT_GUEST_NOT_IN_DRAFT_SCENE": 9658,
+ "RETCODE_RET_DRAFT_INVITE_OVER_TIME": 9659,
+ "RETCODE_RET_DRAFT_TWICE_CONFIRM_OVER_TIMER": 9660,
+ "RETCODE_RET_HOME_UNKOWN": 9701,
+ "RETCODE_RET_HOME_INVALID_CLIENT_PARAM": 9702,
+ "RETCODE_RET_HOME_TARGE_PLAYER_HAS_NO_HOME": 9703,
+ "RETCODE_RET_HOME_NOT_ONLINE": 9704,
+ "RETCODE_RET_HOME_PLAYER_FULL": 9705,
+ "RETCODE_RET_HOME_BLOCKED": 9706,
+ "RETCODE_RET_HOME_ALREADY_IN_TARGET_HOME_WORLD": 9707,
+ "RETCODE_RET_HOME_IN_EDIT_MODE": 9708,
+ "RETCODE_RET_HOME_NOT_IN_EDIT_MODE": 9709,
+ "RETCODE_RET_HOME_HAS_GUEST": 9710,
+ "RETCODE_RET_HOME_CANT_ENTER_BY_IN_EDIT_MODE": 9711,
+ "RETCODE_RET_HOME_CLIENT_PARAM_INVALID": 9712,
+ "RETCODE_RET_HOME_PLAYER_NOT_IN_HOME_WORLD": 9713,
+ "RETCODE_RET_HOME_PLAYER_NOT_IN_SELF_HOME_WORLD": 9714,
+ "RETCODE_RET_HOME_NOT_FOUND_IN_MEM": 9715,
+ "RETCODE_RET_HOME_PLAYER_IN_HOME_ROOM_SCENE": 9716,
+ "RETCODE_RET_HOME_HOME_REFUSE_GUEST_ENTER": 9717,
+ "RETCODE_RET_HOME_OWNER_REFUSE_TO_ENTER_HOME": 9718,
+ "RETCODE_RET_HOME_OWNER_OFFLINE": 9719,
+ "RETCODE_RET_HOME_FURNITURE_EXCEED_LIMIT": 9720,
+ "RETCODE_RET_HOME_FURNITURE_COUNT_NOT_ENOUGH": 9721,
+ "RETCODE_RET_HOME_IN_TRY_ENTER_PROCESS": 9722,
+ "RETCODE_RET_HOME_ALREADY_IN_TARGET_SCENE": 9723,
+ "RETCODE_RET_HOME_COIN_EXCEED_LIMIT": 9724,
+ "RETCODE_RET_HOME_COIN_NOT_ENOUGH": 9725,
+ "RETCODE_RET_HOME_MODULE_NOT_UNLOCKED": 9726,
+ "RETCODE_RET_HOME_CUR_MODULE_CLOSED": 9727,
+ "RETCODE_RET_HOME_FURNITURE_SUITE_NOT_UNLOCKED": 9728,
+ "RETCODE_RET_HOME_IN_MATCH": 9729,
+ "RETCODE_RET_HOME_IN_COMBAT": 9730,
+ "RETCODE_RET_HOME_EDIT_MODE_CD": 9731,
+ "RETCODE_RET_HOME_UPDATE_FURNITURE_CD": 9732,
+ "RETCODE_RET_HOME_BLOCK_FURNITURE_LIMIT": 9733,
+ "RETCODE_RET_HOME_NOT_SUPPORT": 9734,
+ "RETCODE_RET_HOME_STATE_NOT_OPEN": 9735,
+ "RETCODE_RET_HOME_TARGET_STATE_NOT_OPEN": 9736,
+ "RETCODE_RET_HOME_APPLY_ENTER_OTHER_HOME_FAIL": 9737,
+ "RETCODE_RET_HOME_SAVE_NO_MAIN_HOUSE": 9738,
+ "RETCODE_RET_HOME_IN_DUNGEON": 9739,
+ "RETCODE_RET_HOME_ANY_GALLERY_STARTED": 9740,
+ "RETCODE_RET_HOME_QUEST_BLOCK_HOME": 9741,
+ "RETCODE_RET_HOME_WAITING_PRIOR_CHECK": 9742,
+ "RETCODE_RET_HOME_PERSISTENT_CHECK_FAIL": 9743,
+ "RETCODE_RET_HOME_FIND_ONLINE_HOME_FAIL": 9744,
+ "RETCODE_RET_HOME_JOIN_SCENE_FAIL": 9745,
+ "RETCODE_RET_HOME_MAX_PLAYER": 9746,
+ "RETCODE_RET_HOME_IN_TRANSFER": 9747,
+ "RETCODE_RET_HOME_ANY_HOME_GALLERY_STARTED": 9748,
+ "RETCODE_RET_HOME_CAN_NOT_ENTER_IN_AUDIT": 9749,
+ "RETCODE_RET_FURNITURE_MAKE_INDEX_ERROR": 9750,
+ "RETCODE_RET_FURNITURE_MAKE_LOCKED": 9751,
+ "RETCODE_RET_FURNITURE_MAKE_CONFIG_ERROR": 9752,
+ "RETCODE_RET_FURNITURE_MAKE_SLOT_FULL": 9753,
+ "RETCODE_RET_FURNITURE_MAKE_ADD_FURNITURE_FAIL": 9754,
+ "RETCODE_RET_FURNITURE_MAKE_UNFINISH": 9755,
+ "RETCODE_RET_FURNITURE_MAKE_IS_FINISH": 9756,
+ "RETCODE_RET_FURNITURE_MAKE_NOT_IN_CORRECT_HOME": 9757,
+ "RETCODE_RET_FURNITURE_MAKE_NO_COUNT": 9758,
+ "RETCODE_RET_FURNITURE_MAKE_ACCELERATE_LIMIT": 9759,
+ "RETCODE_RET_FURNITURE_MAKE_NO_MAKE_DATA": 9760,
+ "RETCODE_RET_HOME_LIMITED_SHOP_CLOSE": 9761,
+ "RETCODE_RET_HOME_AVATAR_NOT_SHOW": 9762,
+ "RETCODE_RET_HOME_EVENT_COND_NOT_SATISFIED": 9763,
+ "RETCODE_RET_HOME_INVALID_ARRANGE_ANIMAL_PARAM": 9764,
+ "RETCODE_RET_HOME_INVALID_ARRANGE_NPC_PARAM": 9765,
+ "RETCODE_RET_HOME_INVALID_ARRANGE_SUITE_PARAM": 9766,
+ "RETCODE_RET_HOME_INVALID_ARRANGE_MAIN_HOUSE_PARAM": 9767,
+ "RETCODE_RET_HOME_AVATAR_STATE_NOT_OPEN": 9768,
+ "RETCODE_RET_HOME_PLANT_FIELD_NOT_EMPTY": 9769,
+ "RETCODE_RET_HOME_PLANT_FIELD_EMPTY": 9770,
+ "RETCODE_RET_HOME_PLANT_FIELD_TYPE_ERROR": 9771,
+ "RETCODE_RET_HOME_PLANT_TIME_NOT_ENOUGH": 9772,
+ "RETCODE_RET_HOME_PLANT_SUB_FIELD_NUM_NOT_ENOUGH": 9773,
+ "RETCODE_RET_HOME_PLANT_FIELD_PARAM_ERROR": 9774,
+ "RETCODE_RET_HOME_FURNITURE_GUID_ERROR": 9775,
+ "RETCODE_RET_HOME_FURNITURE_ARRANGE_LIMIT": 9776,
+ "RETCODE_RET_HOME_FISH_FARMING_LIMIT": 9777,
+ "RETCODE_RET_HOME_FISH_COUNT_NOT_ENOUGH": 9778,
+ "RETCODE_RET_HOME_FURNITURE_COST_LIMIT": 9779,
+ "RETCODE_RET_HOME_CUSTOM_FURNITURE_INVALID": 9780,
+ "RETCODE_RET_HOME_INVALID_ARRANGE_GROUP_PARAM": 9781,
+ "RETCODE_RET_HOME_FURNITURE_ARRANGE_GROUP_LIMIT": 9782,
+ "RETCODE_RET_HOME_PICTURE_FRAME_COOP_CG_GENDER_ERROR": 9783,
+ "RETCODE_RET_HOME_PICTURE_FRAME_COOP_CG_NOT_UNLOCK": 9784,
+ "RETCODE_RET_HOME_FURNITURE_CANNOT_ARRANGE": 9785,
+ "RETCODE_RET_HOME_FURNITURE_IN_DUPLICATE_SUITE": 9786,
+ "RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_SMALL": 9787,
+ "RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_BIG": 9788,
+ "RETCODE_RET_HOME_FURNITURE_SUITE_EXCEED_LIMIT": 9789,
+ "RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_EXCEED_LIMIT": 9790,
+ "RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_INVALID_SURFACE_TYPE": 9791,
+ "RETCODE_RET_HOME_BGM_ID_NOT_FOUND": 9792,
+ "RETCODE_RET_HOME_BGM_NOT_UNLOCKED": 9793,
+ "RETCODE_RET_HOME_BGM_FURNITURE_NOT_FOUND": 9794,
+ "RETCODE_RET_HOME_BGM_NOT_SUPPORT_BY_CUR_SCENE": 9795,
+ "RETCODE_RET_HOME_LIMITED_SHOP_GOODS_DISABLE": 9796,
+ "RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_EMPTY": 9797,
+ "RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_NOT_FOUND": 9798,
+ "RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_COUNT_INVALID": 9799,
+ "RETCODE_RET_HOME_WORLD_WOOD_EXCHANGE_EXCEED_LIMIT": 9800,
+ "RETCODE_RET_SUMO_ACTIVITY_STAGE_NOT_OPEN": 10000,
+ "RETCODE_RET_SUMO_ACTIVITY_SWITCH_TEAM_IN_CD": 10001,
+ "RETCODE_RET_SUMO_ACTIVITY_TEAM_NUM_INCORRECT": 10002,
+ "RETCODE_RET_LUNA_RITE_ACTIVITY_AREA_ID_ERROR": 10004,
+ "RETCODE_RET_LUNA_RITE_ACTIVITY_BATTLE_NOT_FINISH": 10005,
+ "RETCODE_RET_LUNA_RITE_ACTIVITY_ALREADY_SACRIFICE": 10006,
+ "RETCODE_RET_LUNA_RITE_ACTIVITY_ALREADY_TAKE_REWARD": 10007,
+ "RETCODE_RET_LUNA_RITE_ACTIVITY_SACRIFICE_NOT_ENOUGH": 10008,
+ "RETCODE_RET_LUNA_RITE_ACTIVITY_SEARCHING_COND_NOT_MEET": 10009,
+ "RETCODE_RET_DIG_GADGET_CONFIG_ID_NOT_MATCH": 10015,
+ "RETCODE_RET_DIG_FIND_NEAREST_POS_FAIL": 10016,
+ "RETCODE_RET_MUSIC_GAME_LEVEL_NOT_OPEN": 10021,
+ "RETCODE_RET_MUSIC_GAME_LEVEL_NOT_UNLOCK": 10022,
+ "RETCODE_RET_MUSIC_GAME_LEVEL_NOT_STARTED": 10023,
+ "RETCODE_RET_MUSIC_GAME_LEVEL_CONFIG_NOT_FOUND": 10024,
+ "RETCODE_RET_MUSIC_GAME_LEVEL_ID_NOT_MATCH": 10025,
+ "RETCODE_RET_ROGUELIKE_COIN_A_NOT_ENOUGH": 10031,
+ "RETCODE_RET_ROGUELIKE_COIN_B_NOT_ENOUGH": 10032,
+ "RETCODE_RET_ROGUELIKE_COIN_C_NOT_ENOUGH": 10033,
+ "RETCODE_RET_ROGUELIKE_COIN_A_EXCEED_LIMIT": 10034,
+ "RETCODE_RET_ROGUELIKE_COIN_B_EXCEED_LIMIT": 10035,
+ "RETCODE_RET_ROGUELIKE_COIN_C_EXCEED_LIMIT": 10036,
+ "RETCODE_RET_ROGUELIKE_RUNE_COUNT_NOT_ENOUGH": 10037,
+ "RETCODE_RET_ROGUELIKE_NOT_IN_ROGUE_DUNGEON": 10038,
+ "RETCODE_RET_ROGUELIKE_CELL_NOT_FOUND": 10039,
+ "RETCODE_RET_ROGUELIKE_CELL_TYPE_INCORRECT": 10040,
+ "RETCODE_RET_ROGUELIKE_CELL_ALREADY_FINISHED": 10041,
+ "RETCODE_RET_ROGUELIKE_DUNGEON_HAVE_UNFINISHED_PROGRESS": 10042,
+ "RETCODE_RET_ROGUELIKE_STAGE_NOT_FINISHED": 10043,
+ "RETCODE_RET_ROGUELIKE_STAGE_FIRST_PASS_REWARD_HAS_TAKEN": 10045,
+ "RETCODE_RET_ROGUELIKE_ACTIVITY_CONTENT_CLOSED": 10046,
+ "RETCODE_RET_ROGUELIKE_DUNGEON_PRE_QUEST_NOT_FINISHED": 10047,
+ "RETCODE_RET_ROGUELIKE_DUNGEON_NOT_OPEN": 10048,
+ "RETCODE_RET_ROGUELIKE_SPRINT_IS_BANNED": 10049,
+ "RETCODE_RET_ROGUELIKE_DUNGEON_PRE_STAGE_NOT_FINISHED": 10050,
+ "RETCODE_RET_ROGUELIKE_ALL_AVATAR_DIE_CANNOT_RESUME": 10051,
+ "RETCODE_RET_PLANT_FLOWER_ALREADY_TAKE_SEED": 10056,
+ "RETCODE_RET_PLANT_FLOWER_FRIEND_HAVE_FLOWER_LIMIT": 10057,
+ "RETCODE_RET_PLANT_FLOWER_CAN_GIVE_FLOWER_NOT_ENOUGH": 10058,
+ "RETCODE_RET_PLANT_FLOWER_WISH_FLOWER_KINDS_LIMIT": 10059,
+ "RETCODE_RET_PLANT_FLOWER_HAVE_FLOWER_NOT_ENOUGH": 10060,
+ "RETCODE_RET_PLANT_FLOWER_FLOWER_COMBINATION_INVALID": 10061,
+ "RETCODE_RET_HACHI_DUNGEON_NOT_VALID": 10052,
+ "RETCODE_RET_HACHI_DUNGEON_STAGE_NOT_OPEN": 10053,
+ "RETCODE_RET_HACHI_DUNGEON_TEAMMATE_NOT_PASS": 10054,
+ "RETCODE_RET_WINTER_CAMP_COIN_A_NOT_ENOUGH": 10071,
+ "RETCODE_RET_WINTER_CAMP_COIN_B_NOT_ENOUGH": 10072,
+ "RETCODE_RET_WINTER_CAMP_COIN_A_EXCEED_LIMIT": 10073,
+ "RETCODE_RET_WINTER_CAMP_COIN_B_EXCEED_LIMIT": 10074,
+ "RETCODE_RET_WINTER_CAMP_WISH_ID_INVALID": 10075,
+ "RETCODE_RET_WINTER_CAMP_NOT_FOUND_RECV_ITEM_DATA": 10076,
+ "RETCODE_RET_WINTER_CAMP_FRIEND_ITEM_COUNT_OVERFLOW": 10077,
+ "RETCODE_RET_WINTER_CAMP_SELECT_ITEM_DATA_INVALID": 10078,
+ "RETCODE_RET_WINTER_CAMP_ITEM_LIST_EMPTY": 10079,
+ "RETCODE_RET_WINTER_CAMP_REWARD_ALREADY_TAKEN": 10080,
+ "RETCODE_RET_WINTER_CAMP_STAGE_NOT_FINISH": 10081,
+ "RETCODE_RET_WINTER_CAMP_GADGET_INVALID": 10082,
+ "RETCODE_RET_LANTERN_RITE_COIN_A_NOT_ENOUGH": 10090,
+ "RETCODE_RET_LANTERN_RITE_COIN_B_NOT_ENOUGH": 10091,
+ "RETCODE_RET_LANTERN_RITE_COIN_C_NOT_ENOUGH": 10092,
+ "RETCODE_RET_LANTERN_RITE_COIN_A_EXCEED_LIMIT": 10093,
+ "RETCODE_RET_LANTERN_RITE_COIN_B_EXCEED_LIMIT": 10094,
+ "RETCODE_RET_LANTERN_RITE_COIN_C_EXCEED_LIMIT": 10095,
+ "RETCODE_RET_LANTERN_RITE_PROJECTION_CONTENT_CLOSED": 10096,
+ "RETCODE_RET_LANTERN_RITE_PROJECTION_CAN_NOT_START": 10097,
+ "RETCODE_RET_LANTERN_RITE_DUNGEON_NOT_OPEN": 10098,
+ "RETCODE_RET_LANTERN_RITE_HAS_TAKEN_SKIN_REWARD": 10099,
+ "RETCODE_RET_LANTERN_RITE_NOT_FINISHED_SKIN_WATCHERS": 10100,
+ "RETCODE_RET_LANTERN_RITE_FIREWORKS_CONTENT_CLOSED": 10101,
+ "RETCODE_RET_LANTERN_RITE_FIREWORKS_CHALLENGE_NOT_START": 10102,
+ "RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_PARAM_ERROR": 10103,
+ "RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_SKILL_LOCK": 10104,
+ "RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_STAMINA_NOT_ENOUGH": 10105,
+ "RETCODE_RET_POTION_ACTIVITY_STAGE_NOT_OPEN": 10110,
+ "RETCODE_RET_POTION_ACTIVITY_LEVEL_HAVE_PASS": 10111,
+ "RETCODE_RET_POTION_ACTIVITY_TEAM_NUM_INCORRECT": 10112,
+ "RETCODE_RET_POTION_ACTIVITY_AVATAR_IN_CD": 10113,
+ "RETCODE_RET_POTION_ACTIVITY_BUFF_IN_CD": 10114,
+ "RETCODE_RET_IRODORI_POETRY_INVALID_LINE_ID": 10120,
+ "RETCODE_RET_IRODORI_POETRY_INVALID_THEME_ID": 10121,
+ "RETCODE_RET_IRODORI_POETRY_NOT_GET_ALL_INSPIRATION": 10122,
+ "RETCODE_RET_IRODORI_POETRY_INSPIRATION_REACH_LIMIE": 10123,
+ "RETCODE_RET_IRODORI_POETRY_ENTITY_ALREADY_SCANNED": 10124,
+ "RETCODE_RET_ACTIVITY_BANNER_ALREADY_CLEARED": 10300,
+ "RETCODE_RET_IRODORI_CHESS_NOT_OPEN": 10301,
+ "RETCODE_RET_IRODORI_CHESS_LEVEL_NOT_OPEN": 10302,
+ "RETCODE_RET_IRODORI_CHESS_MAP_NOT_OPEN": 10303,
+ "RETCODE_RET_IRODORI_CHESS_MAP_CARD_ALREADY_EQUIPED": 10304,
+ "RETCODE_RET_IRODORI_CHESS_EQUIP_CARD_EXCEED_LIMIT": 10305,
+ "RETCODE_RET_IRODORI_CHESS_MAP_CARD_NOT_EQUIPED": 10306,
+ "RETCODE_RET_IRODORI_CHESS_ENTER_FAIL_CARD_EXCEED_LIMIT": 10307,
+ "RETCODE_RET_ACTIVITY_FRIEND_HAVE_GIFT_LIMIT": 10310,
+ "RETCODE_RET_GACHA_ACTIVITY_HAVE_REWARD_LIMIT": 10315,
+ "RETCODE_RET_GACHA_ACTIVITY_HAVE_ROBOT_LIMIT": 10316,
+ "RETCODE_RET_SUMMER_TIME_V2_COIN_EXCEED_LIMIT": 10317,
+ "RETCODE_RET_SUMMER_TIME_V2_COIN_NOT_ENOUGH": 10318,
+ "RETCODE_RET_SUMMER_TIME_V2_DUNGEON_STAGE_NOT_OPEN": 10319,
+ "RETCODE_RET_SUMMER_TIME_V2_PREV_DUNGEON_NOT_COMPLETE": 10320,
+ "RETCODE_RET_ROGUE_DIARY_AVATAR_DEATH": 10350,
+ "RETCODE_RET_ROGUE_DIARY_AVATAR_TIRED": 10351,
+ "RETCODE_RET_ROGUE_DIARY_AVATAR_DUPLICATED": 10352,
+ "RETCODE_RET_ROGUE_DIARY_COIN_NOT_ENOUGH": 10353,
+ "RETCODE_RET_ROGUE_DIARY_VIRTUAL_COIN_EXCEED_LIMIT": 10354,
+ "RETCODE_RET_ROGUE_DIARY_VIRTUAL_COIN_NOT_ENOUGH": 10355,
+ "RETCODE_RET_ROGUE_DIARY_CONTENT_CLOSED": 10366,
+ "RETCODE_RET_GRAVEN_INNOCENCE_COIN_A_NOT_ENOUGH": 10380,
+ "RETCODE_RET_GRAVEN_INNOCENCE_COIN_B_NOT_ENOUGH": 10381,
+ "RETCODE_RET_GRAVEN_INNOCENCE_COIN_A_EXCEED_LIMIT": 10382,
+ "RETCODE_RET_GRAVEN_INNOCENCE_COIN_B_EXCEED_LIMIT": 10383,
+ "RETCODE_RET_ISLAND_PARTY_STAGE_NOT_OPEN": 10371,
+ "RETCODE_RET_NOT_IN_FISHING": 11001,
+ "RETCODE_RET_FISH_STATE_ERROR": 11002,
+ "RETCODE_RET_FISH_BAIT_LIMIT": 11003,
+ "RETCODE_RET_FISHING_MAX_DISTANCE": 11004,
+ "RETCODE_RET_FISHING_IN_COMBAT": 11005,
+ "RETCODE_RET_FISHING_BATTLE_TOO_SHORT": 11006,
+ "RETCODE_RET_FISH_GONE_AWAY": 11007,
+ "RETCODE_RET_CAN_NOT_EDIT_OTHER_DUNGEON": 11051,
+ "RETCODE_RET_CUSTOM_DUNGEON_DISMATCH": 11052,
+ "RETCODE_RET_NO_CUSTOM_DUNGEON_DATA": 11053,
+ "RETCODE_RET_BUILD_CUSTOM_DUNGEON_FAIL": 11054,
+ "RETCODE_RET_CUSTOM_DUNGEON_ROOM_CHECK_FAIL": 11055,
+ "RETCODE_RET_CUSTOM_DUNGEON_SAVE_MAY_FAIL": 11056,
+ "RETCODE_RET_NOT_IN_CUSTOM_DUNGEON": 11057,
+ "RETCODE_RET_CUSTOM_DUNGEON_INTERNAL_FAIL": 11058,
+ "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_TRY": 11059,
+ "RETCODE_RET_CUSTOM_DUNGEON_NO_START_ROOM": 11060,
+ "RETCODE_RET_CUSTOM_DUNGEON_NO_ROOM_DATA": 11061,
+ "RETCODE_RET_CUSTOM_DUNGEON_SAVE_TOO_FREQUENT": 11062,
+ "RETCODE_RET_CUSTOM_DUNGEON_NOT_SELF_PASS": 11063,
+ "RETCODE_RET_CUSTOM_DUNGEON_LACK_COIN": 11064,
+ "RETCODE_RET_CUSTOM_DUNGEON_NO_FINISH_BRICK": 11065,
+ "RETCODE_RET_CUSTOM_DUNGEON_MULTI_FINISH": 11066,
+ "RETCODE_RET_CUSTOM_DUNGEON_NOT_PUBLISHED": 11067,
+ "RETCODE_RET_CUSTOM_DUNGEON_FULL_STORE": 11068,
+ "RETCODE_RET_CUSTOM_DUNGEON_STORE_REPEAT": 11069,
+ "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_STORE_SELF": 11070,
+ "RETCODE_RET_CUSTOM_DUNGEON_NOT_SAVE_SUCC": 11071,
+ "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_LIKE_SELF": 11072,
+ "RETCODE_RET_CUSTOM_DUNGEON_NOT_FOUND": 11073,
+ "RETCODE_RET_CUSTOM_DUNGEON_INVALID_SETTING": 11074,
+ "RETCODE_RET_CUSTOM_DUNGEON_NO_FINISH_SETTING": 11075,
+ "RETCODE_RET_CUSTOM_DUNGEON_SAVE_NOTHING": 11076,
+ "RETCODE_RET_CUSTOM_DUNGEON_NOT_IN_GROUP": 11077,
+ "RETCODE_RET_CUSTOM_DUNGEON_NOT_OFFICIAL": 11078,
+ "RETCODE_RET_CUSTOM_DUNGEON_LIFE_NUM_ERROR": 11079,
+ "RETCODE_RET_CUSTOM_DUNGEON_NO_OPEN_ROOM": 11080,
+ "RETCODE_RET_CUSTOM_DUNGEON_BRICK_EXCEED_LIMIT": 11081,
+ "RETCODE_RET_CUSTOM_DUNGEON_OFFICIAL_NOT_UNLOCK": 11082,
+ "RETCODE_RET_CAN_NOT_EDIT_OFFICIAL_SETTING": 11083,
+ "RETCODE_RET_CUSTOM_DUNGEON_BAN_PUBLISH": 11084,
+ "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_REPLAY": 11085,
+ "RETCODE_RET_CUSTOM_DUNGEON_NOT_OPEN_GROUP": 11086,
+ "RETCODE_RET_CUSTOM_DUNGEON_MAX_EDIT_NUM": 11087,
+ "RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_OUT_STUCK": 11088,
+ "RETCODE_RET_CUSTOM_DUNGEON_MAX_TAG": 11089,
+ "RETCODE_RET_CUSTOM_DUNGEON_INVALID_TAG": 11090,
+ "RETCODE_RET_CUSTOM_DUNGEON_MAX_COST": 11091,
+ "RETCODE_RET_CUSTOM_DUNGEON_REQUEST_TOO_FREQUENT": 11092,
+ "RETCODE_RET_CUSTOM_DUNGEON_NOT_OPEN": 11093,
+ "RETCODE_RET_SHARE_CD_ID_ERROR": 11101,
+ "RETCODE_RET_SHARE_CD_INDEX_ERROR": 11102,
+ "RETCODE_RET_SHARE_CD_IN_CD": 11103,
+ "RETCODE_RET_SHARE_CD_TOKEN_NOT_ENOUGH": 11104,
+ "RETCODE_RET_UGC_DISMATCH": 11151,
+ "RETCODE_RET_UGC_DATA_NOT_FOUND": 11152,
+ "RETCODE_RET_UGC_BRIEF_NOT_FOUND": 11153,
+ "RETCODE_RET_UGC_DISABLED": 11154,
+ "RETCODE_RET_UGC_LIMITED": 11155,
+ "RETCODE_RET_UGC_LOCKED": 11156,
+ "RETCODE_RET_UGC_NOT_AUTH": 11157,
+ "RETCODE_RET_UGC_NOT_OPEN": 11158,
+ "RETCODE_RET_UGC_BAN_PUBLISH": 11159,
+ "RETCODE_RET_COMPOUND_BOOST_ITEM_NOT_EXIST": 11201,
+ "RETCODE_RET_COMPOUND_BOOST_TARGET_NOT_EXIST": 11202,
+ "RETCODE_RET_QUICK_HIT_TREE_EMPTY_TREES": 11211,
+ }
+)
+
+func (x Retcode) Enum() *Retcode {
+ p := new(Retcode)
+ *p = x
+ return p
+}
+
+func (x Retcode) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (Retcode) Descriptor() protoreflect.EnumDescriptor {
+ return file_Retcode_proto_enumTypes[0].Descriptor()
+}
+
+func (Retcode) Type() protoreflect.EnumType {
+ return &file_Retcode_proto_enumTypes[0]
+}
+
+func (x Retcode) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use Retcode.Descriptor instead.
+func (Retcode) EnumDescriptor() ([]byte, []int) {
+ return file_Retcode_proto_rawDescGZIP(), []int{0}
+}
+
+var File_Retcode_proto protoreflect.FileDescriptor
+
+var file_Retcode_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a,
+ 0xbd, 0xde, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43,
+ 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x10, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x53, 0x56, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e,
+ 0x4f, 0x57, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x52, 0x45, 0x51, 0x55,
+ 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52,
+ 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55,
+ 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45,
+ 0x4d, 0x5f, 0x42, 0x55, 0x53, 0x59, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x4d, 0x5f, 0x55, 0x49, 0x44, 0x5f, 0x42,
+ 0x49, 0x4e, 0x44, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x08,
+ 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x10, 0x0a, 0x12,
+ 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53,
+ 0x54, 0x4f, 0x50, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x24, 0x0a, 0x20,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x4f,
+ 0x55, 0x4e, 0x54, 0x5f, 0x56, 0x45, 0x49, 0x52, 0x46, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
+ 0x10, 0x0c, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45,
+ 0x10, 0x0d, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x0e,
+ 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0f, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f,
+ 0x52, 0x10, 0x10, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x58, 0x49, 0x53, 0x54, 0x10, 0x11, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52,
+ 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x12, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f,
+ 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x13, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x4f,
+ 0x52, 0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x14, 0x12, 0x19, 0x0a, 0x15,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x41, 0x43,
+ 0x4b, 0x5f, 0x55, 0x49, 0x44, 0x10, 0x15, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x5f, 0x44, 0x42, 0x5f,
+ 0x46, 0x41, 0x49, 0x4c, 0x10, 0x16, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54,
+ 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x17, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x59, 0x53, 0x51, 0x4c, 0x5f, 0x44, 0x55, 0x50,
+ 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x10, 0x18, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x50, 0x4c, 0x41, 0x59,
+ 0x45, 0x52, 0x10, 0x19, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x5f, 0x41, 0x44, 0x44, 0x49, 0x43, 0x54, 0x10,
+ 0x1a, 0x12, 0x2b, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x50, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f,
+ 0x55, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x1b, 0x12, 0x23,
+ 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x4e,
+ 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e,
+ 0x44, 0x10, 0x1c, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x1d, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f,
+ 0x49, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x1e, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x53, 0x55,
+ 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x1f, 0x12, 0x21, 0x0a, 0x1d, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b,
+ 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x49, 0x50, 0x10, 0x20, 0x12, 0x24,
+ 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x58,
+ 0x43, 0x45, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x52, 0x41,
+ 0x54, 0x45, 0x10, 0x21, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x54,
+ 0x46, 0x4f, 0x52, 0x4d, 0x10, 0x22, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x41,
+ 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x23, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x5f, 0x4f, 0x46,
+ 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x24, 0x12, 0x1e, 0x0a,
+ 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x41,
+ 0x43, 0x4b, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x5f, 0x49, 0x50, 0x10, 0x25, 0x12, 0x29, 0x0a,
+ 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x45, 0x54,
+ 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x48,
+ 0x41, 0x53, 0x5f, 0x55, 0x49, 0x44, 0x10, 0x26, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d,
+ 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x27, 0x12, 0x2e, 0x0a, 0x2a, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b,
+ 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x48, 0x41, 0x53, 0x48, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x28, 0x12, 0x27, 0x0a, 0x23, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x4e, 0x4f, 0x52,
+ 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x46, 0x4f, 0x42, 0x49, 0x44, 0x44,
+ 0x45, 0x4e, 0x10, 0x29, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x49, 0x42,
+ 0x52, 0x41, 0x52, 0x59, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x2a, 0x12, 0x1c, 0x0a, 0x18,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54,
+ 0x41, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x44, 0x10, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x66, 0x12, 0x23, 0x0a, 0x1f,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54,
+ 0x41, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10,
+ 0x67, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x41, 0x56,
+ 0x41, 0x54, 0x41, 0x52, 0x10, 0x68, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45,
+ 0x4c, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0x69, 0x12, 0x20,
+ 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55,
+ 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0x6a,
+ 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x49, 0x53, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x5f, 0x4f,
+ 0x4e, 0x45, 0x10, 0x6b, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
+ 0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x6c, 0x12, 0x2d, 0x0a, 0x29,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54,
+ 0x41, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47,
+ 0x45, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x6d, 0x12, 0x2c, 0x0a, 0x28, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41,
+ 0x52, 0x5f, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x45,
+ 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x6e, 0x12, 0x29, 0x0a, 0x25, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f,
+ 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x52, 0x45, 0x41, 0x4b, 0x5f, 0x4c, 0x45, 0x56,
+ 0x45, 0x4c, 0x10, 0x6f, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x49, 0x44, 0x5f, 0x41, 0x4c,
+ 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x70, 0x12, 0x1f, 0x0a,
+ 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41,
+ 0x54, 0x41, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x10, 0x71, 0x12, 0x22,
+ 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56,
+ 0x41, 0x54, 0x41, 0x52, 0x5f, 0x49, 0x53, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x56, 0x49, 0x4e, 0x47,
+ 0x10, 0x72, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x49, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f,
+ 0x52, 0x10, 0x73, 0x12, 0x2b, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x50, 0x4c,
+ 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x74,
+ 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x45, 0x53,
+ 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x75, 0x12, 0x28, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
+ 0x10, 0x76, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x77, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x78, 0x12, 0x25, 0x0a, 0x21, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x54, 0x45, 0x41, 0x4d,
+ 0x10, 0x79, 0x12, 0x28, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49,
+ 0x53, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x7a, 0x12, 0x33, 0x0a, 0x2f,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x41,
+ 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10,
+ 0x7b, 0x12, 0x36, 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x52, 0x45, 0x56,
+ 0x49, 0x56, 0x45, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x43, 0x55, 0x52,
+ 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0x7c, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x43, 0x4f,
+ 0x53, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10,
+ 0x7d, 0x12, 0x29, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x49, 0x4e, 0x5f,
+ 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x7e, 0x12, 0x2e, 0x0a, 0x2a,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d,
+ 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x48, 0x4f, 0x53, 0x45, 0x5f, 0x52,
+ 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x7f, 0x12, 0x21, 0x0a, 0x1c,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54,
+ 0x41, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x10, 0x80, 0x01, 0x12,
+ 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e,
+ 0x49, 0x43, 0x4b, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x55, 0x54, 0x46, 0x38, 0x5f, 0x45, 0x52, 0x52,
+ 0x4f, 0x52, 0x10, 0x82, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x49, 0x43, 0x4b, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f,
+ 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0x83, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x49, 0x43, 0x4b, 0x4e, 0x41, 0x4d,
+ 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x44, 0x5f, 0x49, 0x4c, 0x4c, 0x45, 0x47, 0x41, 0x4c, 0x10, 0x84,
+ 0x01, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4e, 0x49, 0x43, 0x4b, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4d, 0x41,
+ 0x4e, 0x59, 0x5f, 0x44, 0x49, 0x47, 0x49, 0x54, 0x53, 0x10, 0x85, 0x01, 0x12, 0x22, 0x0a, 0x1d,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x49, 0x43, 0x4b,
+ 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x53, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x86, 0x01,
+ 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4e, 0x49, 0x43, 0x4b, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x4c, 0x59,
+ 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x87, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x49, 0x43, 0x4b, 0x4e, 0x41, 0x4d,
+ 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x88, 0x01,
+ 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e,
+ 0x45, 0x10, 0x8c, 0x01, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x8d, 0x01, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52,
+ 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x8e, 0x01, 0x12, 0x2d, 0x0a, 0x28, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41,
+ 0x52, 0x5f, 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x56, 0x41,
+ 0x54, 0x41, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x10, 0x98, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52,
+ 0x5f, 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e,
+ 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x99, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52,
+ 0x5f, 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x49, 0x4e,
+ 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x10, 0x9a, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52,
+ 0x5f, 0x45, 0x58, 0x50, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x52, 0x49, 0x41,
+ 0x4c, 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x10, 0x9b, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f,
+ 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x4c, 0x4c, 0x45, 0x47, 0x41, 0x4c, 0x10, 0x9c, 0x01, 0x12,
+ 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49,
+ 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x42, 0x59,
+ 0x10, 0x9d, 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x10, 0x9e, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x41, 0x56,
+ 0x41, 0x54, 0x41, 0x52, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x9f, 0x01, 0x12, 0x26, 0x0a,
+ 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x53, 0x5f,
+ 0x55, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x41, 0x56, 0x41, 0x54,
+ 0x41, 0x52, 0x10, 0xa0, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x55, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x45,
+ 0x4d, 0x50, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0xa1, 0x01, 0x12, 0x21, 0x0a, 0x1c,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x48, 0x41, 0x53, 0x5f, 0x46, 0x4c, 0x59, 0x43, 0x4c, 0x4f, 0x41, 0x4b, 0x10, 0xa2, 0x01, 0x12,
+ 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46,
+ 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x41, 0x4c, 0x52,
+ 0x45, 0x41, 0x44, 0x59, 0x5f, 0x47, 0x4f, 0x54, 0x10, 0xa3, 0x01, 0x12, 0x2f, 0x0a, 0x2a, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x45, 0x54, 0x54, 0x45,
+ 0x52, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xa4, 0x01, 0x12, 0x2d, 0x0a, 0x28,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x4f, 0x52, 0x4c,
+ 0x44, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, 0x5f, 0x4d,
+ 0x49, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xa5, 0x01, 0x12, 0x26, 0x0a, 0x21, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44,
+ 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, 0x5f, 0x43, 0x44,
+ 0x10, 0xa6, 0x01, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x55,
+ 0x4d, 0x45, 0x10, 0xa7, 0x01, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x55, 0x4d, 0x45, 0x5f, 0x41, 0x56, 0x41,
+ 0x54, 0x41, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xa8, 0x01, 0x12, 0x2b, 0x0a, 0x26,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x59, 0x43,
+ 0x4c, 0x4f, 0x41, 0x4b, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x10, 0xa9, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e,
+ 0x53, 0x46, 0x45, 0x52, 0x10, 0xaa, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x4c, 0x4f, 0x43,
+ 0x4b, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0xab, 0x01, 0x12, 0x21, 0x0a, 0x1c, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f,
+ 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x10, 0xac, 0x01, 0x12, 0x29,
+ 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x41,
+ 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xad, 0x01, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f,
+ 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x53, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x54, 0x45, 0x41, 0x4d,
+ 0x10, 0xae, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xc9,
+ 0x01, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4e, 0x50, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xad,
+ 0x02, 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4e, 0x50, 0x43, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x46, 0x41, 0x52, 0x10, 0xae, 0x02, 0x12,
+ 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x41, 0x4c, 0x4b, 0x10,
+ 0xaf, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4e, 0x50, 0x43, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49,
+ 0x4c, 0x10, 0xb0, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x50, 0x43, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x46, 0x41, 0x49,
+ 0x4c, 0x10, 0xb1, 0x02, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58,
+ 0x49, 0x53, 0x54, 0x10, 0x91, 0x03, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x46,
+ 0x41, 0x49, 0x4c, 0x10, 0x92, 0x03, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54,
+ 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x93, 0x03, 0x12, 0x26, 0x0a, 0x21,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x52, 0x47,
+ 0x41, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x45,
+ 0x44, 0x10, 0x94, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x52, 0x47, 0x41, 0x49, 0x4e, 0x5f, 0x46, 0x49, 0x4e, 0x49,
+ 0x53, 0x48, 0x45, 0x44, 0x10, 0x95, 0x03, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45,
+ 0x5f, 0x41, 0x53, 0x53, 0x4f, 0x43, 0x49, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x44, 0x5f,
+ 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x96, 0x03, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43,
+ 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x57, 0x4f, 0x52, 0x44, 0x5f, 0x4e, 0x4f,
+ 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x97, 0x03, 0x12, 0x23,
+ 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4f,
+ 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44,
+ 0x10, 0xf5, 0x03, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x46, 0x41, 0x52,
+ 0x10, 0xf6, 0x03, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x59, 0x5f,
+ 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xf7, 0x03, 0x12, 0x21, 0x0a, 0x1c, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54,
+ 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xf8, 0x03, 0x12, 0x21,
+ 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x4e,
+ 0x54, 0x45, 0x52, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xf9,
+ 0x03, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x49, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52,
+ 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xfa, 0x03, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x41,
+ 0x58, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xfb, 0x03, 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x4c,
+ 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xfc, 0x03, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x4f, 0x54, 0x48,
+ 0x45, 0x52, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x10, 0xfd, 0x03, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x45, 0x41, 0x54, 0x48, 0x45,
+ 0x52, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44,
+ 0x10, 0xfe, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x45, 0x41, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x49, 0x53, 0x5f, 0x4c, 0x4f,
+ 0x43, 0x4b, 0x45, 0x44, 0x10, 0xff, 0x03, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x45,
+ 0x4c, 0x46, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0x80, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x81, 0x04, 0x12, 0x22, 0x0a,
+ 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x52,
+ 0x4b, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x4c, 0x4c, 0x45, 0x47, 0x41, 0x4c, 0x10, 0x82,
+ 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58,
+ 0x49, 0x53, 0x54, 0x53, 0x10, 0x83, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x4f, 0x56, 0x45, 0x52,
+ 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x84, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x85, 0x04, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x55, 0x4e,
+ 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x86, 0x04, 0x12, 0x23, 0x0a,
+ 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x52,
+ 0x4b, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10,
+ 0x87, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10,
+ 0x88, 0x04, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x54, 0x4f,
+ 0x4b, 0x45, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x89, 0x04, 0x12, 0x23,
+ 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45,
+ 0x10, 0x8a, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x41, 0x4e, 0x59, 0x5f, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53,
+ 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x8b, 0x04, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x8c, 0x04, 0x12, 0x36, 0x0a,
+ 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x4c,
+ 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, 0x5f, 0x4f,
+ 0x4e, 0x4c, 0x59, 0x5f, 0x4f, 0x4e, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x4d, 0x4f,
+ 0x44, 0x45, 0x10, 0x8d, 0x04, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x41, 0x4e,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, 0x10, 0x8e, 0x04,
+ 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x4d, 0x45, 0x45, 0x54, 0x10, 0x8f, 0x04, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59,
+ 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x45, 0x54, 0x10,
+ 0x90, 0x04, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0x91, 0x04, 0x12, 0x2e, 0x0a,
+ 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e,
+ 0x54, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x5f,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0x92, 0x04, 0x12, 0x26, 0x0a,
+ 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45,
+ 0x4e, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54,
+ 0x43, 0x48, 0x10, 0x93, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x53, 0x5f, 0x52, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x56,
+ 0x41, 0x4c, 0x49, 0x44, 0x10, 0xa7, 0x04, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x56, 0x41,
+ 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x10, 0xa8, 0x04, 0x12,
+ 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49,
+ 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x54, 0x4f, 0x5f,
+ 0x55, 0x53, 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54,
+ 0x10, 0xa9, 0x04, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x53, 0x43,
+ 0x45, 0x4e, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xaa, 0x04, 0x12, 0x22, 0x0a, 0x1d, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x53,
+ 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x49, 0x53, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0xab, 0x04, 0x12,
+ 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47,
+ 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x49, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xac, 0x04,
+ 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50,
+ 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0xad, 0x04, 0x12, 0x22,
+ 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f,
+ 0x5f, 0x53, 0x50, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x10,
+ 0xae, 0x04, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x43,
+ 0x45, 0x4e, 0x45, 0x10, 0xaf, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x49,
+ 0x54, 0x59, 0x5f, 0x49, 0x44, 0x10, 0xb0, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f,
+ 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x10, 0xb1, 0x04, 0x12, 0x28, 0x0a, 0x23, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x5f,
+ 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x4c, 0x4c,
+ 0x4f, 0x57, 0x10, 0xb2, 0x04, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x41, 0x47, 0x5f, 0x53,
+ 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x44, 0x10, 0xb3, 0x04, 0x12, 0x28,
+ 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x45,
+ 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x41, 0x47, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f,
+ 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xb4, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f,
+ 0x41, 0x52, 0x45, 0x41, 0x5f, 0x49, 0x44, 0x10, 0xb5, 0x04, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xd9, 0x04, 0x12, 0x27, 0x0a, 0x22, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48,
+ 0x54, 0x10, 0xda, 0x04, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x52, 0x4f,
+ 0x50, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xdb, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x55, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xdc, 0x04, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x49,
+ 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54,
+ 0x10, 0xdd, 0x04, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f,
+ 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0xde, 0x04, 0x12, 0x23, 0x0a,
+ 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45,
+ 0x4d, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10,
+ 0xdf, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4f, 0x4c, 0x44, 0x4f,
+ 0x57, 0x4e, 0x10, 0xe0, 0x04, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xe1, 0x04, 0x12, 0x24, 0x0a,
+ 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45,
+ 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54,
+ 0x10, 0xe2, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x49, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58,
+ 0x49, 0x53, 0x54, 0x10, 0xe3, 0x04, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x49, 0x50, 0x45, 0x5f, 0x4c, 0x4f, 0x43,
+ 0x4b, 0x45, 0x44, 0x10, 0xe4, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x49, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4c,
+ 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xe5, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x55, 0x4e, 0x44,
+ 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xe6, 0x04, 0x12, 0x24,
+ 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f,
+ 0x4d, 0x50, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53,
+ 0x48, 0x10, 0xe7, 0x04, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x47, 0x45, 0x54, 0x10, 0xe8, 0x04, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x58, 0x43,
+ 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xe9, 0x04, 0x12, 0x23, 0x0a, 0x1e,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54,
+ 0x41, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x10, 0xea,
+ 0x04, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45,
+ 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xeb, 0x04, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x49, 0x50, 0x45,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x51, 0x54, 0x45, 0x10, 0xec, 0x04,
+ 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x42, 0x55, 0x53, 0x59, 0x5f, 0x51, 0x55,
+ 0x45, 0x55, 0x45, 0x10, 0xed, 0x04, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x52, 0x45, 0x5f,
+ 0x53, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xee, 0x04, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x44, 0x45,
+ 0x50, 0x4f, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xef, 0x04,
+ 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x48, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48,
+ 0x10, 0xf0, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f,
+ 0x55, 0x47, 0x48, 0x10, 0xf1, 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45,
+ 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xf2, 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x4f, 0x49, 0x4e,
+ 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xf3, 0x04,
+ 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0xf4, 0x04, 0x12,
+ 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52,
+ 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10,
+ 0xf5, 0x04, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f,
+ 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0xf6, 0x04, 0x12, 0x22, 0x0a, 0x1d,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x49, 0x56, 0x49,
+ 0x4e, 0x47, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x10, 0xf7, 0x04,
+ 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x47, 0x49, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48,
+ 0x45, 0x44, 0x10, 0xf8, 0x04, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x49, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x44, 0x10, 0xf9, 0x04, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x47, 0x45, 0x5f,
+ 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xfa, 0x04, 0x12, 0x25, 0x0a,
+ 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x52,
+ 0x47, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x43, 0x49, 0x54,
+ 0x59, 0x10, 0xfb, 0x04, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x47, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xfc, 0x04, 0x12, 0x22, 0x0a, 0x1d,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x47,
+ 0x45, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xfd, 0x04,
+ 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d,
+ 0x10, 0xfe, 0x04, 0x12, 0x1b, 0x0a, 0x16, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xff, 0x04,
+ 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0x80, 0x05, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x81, 0x05, 0x12,
+ 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45,
+ 0x51, 0x55, 0x49, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x10, 0x82, 0x05, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x5f,
+ 0x48, 0x41, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x83, 0x05,
+ 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x57, 0x45, 0x41, 0x50, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x10, 0x84, 0x05, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x57, 0x45, 0x41, 0x50, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
+ 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x85, 0x05, 0x12, 0x21, 0x0a, 0x1c, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
+ 0x57, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x86, 0x05, 0x12, 0x23,
+ 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54,
+ 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x5a, 0x45, 0x52, 0x4f,
+ 0x10, 0x87, 0x05, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x49, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52,
+ 0x45, 0x44, 0x10, 0x88, 0x05, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44,
+ 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x89, 0x05,
+ 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x45, 0x51, 0x55, 0x49, 0x50, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x48, 0x49, 0x47, 0x48,
+ 0x45, 0x52, 0x10, 0x8a, 0x05, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x49, 0x50, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x57, 0x41, 0x4b, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x5f, 0x57, 0x45, 0x41, 0x50,
+ 0x4f, 0x4e, 0x10, 0x8b, 0x05, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x49, 0x50, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x42,
+ 0x45, 0x45, 0x4e, 0x5f, 0x57, 0x45, 0x41, 0x52, 0x45, 0x44, 0x10, 0x8c, 0x05, 0x12, 0x29, 0x0a,
+ 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x51, 0x55,
+ 0x49, 0x50, 0x5f, 0x57, 0x45, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x8d, 0x05, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x57, 0x41, 0x4b, 0x45, 0x4e, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x8e, 0x05, 0x12, 0x21, 0x0a, 0x1c, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x43, 0x4f, 0x49, 0x4e,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x8f, 0x05, 0x12, 0x23,
+ 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x43,
+ 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54,
+ 0x10, 0x90, 0x05, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f,
+ 0x55, 0x47, 0x48, 0x10, 0x94, 0x05, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45,
+ 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x95, 0x05, 0x12, 0x24, 0x0a, 0x1f, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x4e,
+ 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x96,
+ 0x05, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x42, 0x4f, 0x55, 0x47, 0x48, 0x54, 0x5f, 0x43, 0x4f,
+ 0x55, 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x97, 0x05, 0x12,
+ 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52,
+ 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f,
+ 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e,
+ 0x10, 0x98, 0x05, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x45, 0x58,
+ 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x99, 0x05, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x43,
+ 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x10, 0x9a, 0x05, 0x12, 0x21,
+ 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x54,
+ 0x54, 0x41, 0x43, 0x48, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x43, 0x44, 0x10, 0x9b,
+ 0x05, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x4f, 0x50,
+ 0x45, 0x4e, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x9c, 0x05, 0x12, 0x33,
+ 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x55,
+ 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x42, 0x4f, 0x55, 0x47, 0x48,
+ 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44,
+ 0x10, 0x9d, 0x05, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x47, 0x41, 0x49, 0x4e, 0x5f, 0x46, 0x41,
+ 0x49, 0x4c, 0x45, 0x44, 0x10, 0x9e, 0x05, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x4f, 0x52,
+ 0x4e, 0x41, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52,
+ 0x4f, 0x52, 0x10, 0x9f, 0x05, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f,
+ 0x53, 0x41, 0x54, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xa0,
+ 0x05, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x46, 0x4f, 0x52, 0x47, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x4c, 0x45, 0x56,
+ 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0xa1, 0x05, 0x12,
+ 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46,
+ 0x4f, 0x52, 0x47, 0x45, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xa2, 0x05, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x41,
+ 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x46, 0x55, 0x4c, 0x4c,
+ 0x10, 0xa3, 0x05, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52,
+ 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44,
+ 0x10, 0xa4, 0x05, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x42, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x45, 0x5f, 0x45,
+ 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10,
+ 0xa5, 0x05, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x42, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44,
+ 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0xa6, 0x05, 0x12, 0x25, 0x0a,
+ 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x55, 0x4e,
+ 0x43, 0x48, 0x5f, 0x42, 0x4f, 0x58, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f,
+ 0x52, 0x10, 0xa7, 0x05, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x51, 0x55, 0x49, 0x43,
+ 0x4b, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x10, 0xa8, 0x05, 0x12,
+ 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49,
+ 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x52,
+ 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0xa9, 0x05, 0x12, 0x2f, 0x0a,
+ 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x45,
+ 0x56, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x47, 0x41, 0x54, 0x48, 0x45,
+ 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xaa, 0x05, 0x12, 0x26,
+ 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x4f,
+ 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x4e, 0x45, 0x4f, 0x46, 0x46, 0x5f, 0x47, 0x41, 0x48,
+ 0x54, 0x45, 0x52, 0x10, 0xab, 0x05, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x57, 0x49,
+ 0x44, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x49, 0x44,
+ 0x10, 0xac, 0x05, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54,
+ 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x4f, 0x5f, 0x43, 0x4c,
+ 0x45, 0x41, 0x52, 0x10, 0xad, 0x05, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x52,
+ 0x45, 0x41, 0x44, 0x59, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x49, 0x4e, 0x5f, 0x4e, 0x45, 0x41, 0x52,
+ 0x42, 0x59, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x55, 0x53, 0x10, 0xae, 0x05, 0x12, 0x34, 0x0a, 0x2f,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47,
+ 0x45, 0x54, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43,
+ 0x54, 0x4f, 0x52, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x10,
+ 0xaf, 0x05, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x42,
+ 0x41, 0x54, 0x10, 0xb0, 0x05, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x5f, 0x55, 0x53, 0x45, 0x10, 0xb1, 0x05,
+ 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x5f, 0x57,
+ 0x49, 0x44, 0x47, 0x45, 0x54, 0x10, 0xb2, 0x05, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x49, 0x50, 0x5f, 0x49, 0x53,
+ 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xb3, 0x05, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x47, 0x45, 0x5f,
+ 0x49, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xb4, 0x05, 0x12, 0x22, 0x0a, 0x1d,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x42,
+ 0x49, 0x4e, 0x45, 0x5f, 0x49, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xb5, 0x05,
+ 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x46, 0x4f, 0x52, 0x47, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x53, 0x54, 0x41,
+ 0x43, 0x4b, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb6, 0x05, 0x12, 0x27, 0x0a, 0x22, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41,
+ 0x44, 0x59, 0x5f, 0x44, 0x45, 0x54, 0x54, 0x41, 0x43, 0x48, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45,
+ 0x54, 0x10, 0xb7, 0x05, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x44,
+ 0x45, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x4f,
+ 0x55, 0x4e, 0x54, 0x10, 0xb8, 0x05, 0x12, 0x37, 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52,
+ 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x49, 0x4e, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0xb9, 0x05, 0x12,
+ 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42,
+ 0x4f, 0x4e, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45,
+ 0x44, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xba,
+ 0x05, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x52, 0x45, 0x4c, 0x49, 0x51, 0x55, 0x41, 0x52, 0x59, 0x5f, 0x44, 0x45, 0x43, 0x4f, 0x4d,
+ 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
+ 0x10, 0xbb, 0x05, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x45, 0x5f,
+ 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48,
+ 0x10, 0xbc, 0x05, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49,
+ 0x53, 0x54, 0x10, 0xbd, 0x05, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x53, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52,
+ 0x49, 0x41, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xbe,
+ 0x05, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x49,
+ 0x4d, 0x45, 0x10, 0xbf, 0x05, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x53, 0x5f, 0x42, 0x55, 0x59, 0x5f, 0x4e,
+ 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xc0, 0x05,
+ 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x47, 0x4f, 0x4f, 0x44, 0x53, 0x5f, 0x42, 0x55, 0x59, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x52,
+ 0x52, 0x4f, 0x52, 0x10, 0xc1, 0x05, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f,
+ 0x50, 0x45, 0x4e, 0x10, 0xc2, 0x05, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45,
+ 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0xc3, 0x05, 0x12,
+ 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43,
+ 0x48, 0x41, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x42, 0x49, 0x44, 0x44, 0x45, 0x4e, 0x10, 0x9e, 0x06,
+ 0x12, 0x18, 0x0a, 0x13, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x48, 0x41, 0x54, 0x5f, 0x43, 0x44, 0x10, 0x9f, 0x06, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x46,
+ 0x52, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x10, 0xa0, 0x06, 0x12, 0x21, 0x0a, 0x1c,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47,
+ 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xa1, 0x06, 0x12,
+ 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47,
+ 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41,
+ 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xa2, 0x06, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x47, 0x41, 0x54, 0x48, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xa3, 0x06,
+ 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x48, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10,
+ 0xa4, 0x06, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f,
+ 0x46, 0x41, 0x49, 0x4c, 0x10, 0xa5, 0x06, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x54, 0x4f, 0x50, 0x5f, 0x4f,
+ 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10,
+ 0xa6, 0x06, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xa7, 0x06, 0x12, 0x25, 0x0a,
+ 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44,
+ 0x47, 0x45, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x45,
+ 0x44, 0x10, 0xa8, 0x06, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x5f, 0x4e,
+ 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10,
+ 0xa9, 0x06, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x42, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x5f, 0x4c, 0x49, 0x46,
+ 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x10, 0xaa, 0x06, 0x12, 0x2a,
+ 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4f,
+ 0x53, 0x53, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x5f, 0x57, 0x45, 0x45, 0x4b, 0x5f, 0x4e, 0x55,
+ 0x4d, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xab, 0x06, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4f, 0x53, 0x53, 0x5f, 0x43,
+ 0x48, 0x45, 0x53, 0x54, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44,
+ 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xac, 0x06, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4f, 0x53, 0x53, 0x5f, 0x43, 0x48,
+ 0x45, 0x53, 0x54, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xad, 0x06,
+ 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x42, 0x4c, 0x4f, 0x53, 0x53, 0x4f, 0x4d, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x4f,
+ 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xae,
+ 0x06, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x42, 0x4c, 0x4f, 0x53, 0x53, 0x4f, 0x4d, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x5f, 0x4c,
+ 0x49, 0x46, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x10, 0xaf, 0x06,
+ 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x42, 0x4c, 0x4f, 0x53, 0x53, 0x4f, 0x4d, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x5f, 0x48, 0x41,
+ 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xb0, 0x06, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x4f, 0x53, 0x53, 0x4f,
+ 0x4d, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x57, 0x4f,
+ 0x52, 0x4c, 0x44, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xb1, 0x06, 0x12, 0x30, 0x0a, 0x2b,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x50,
+ 0x4c, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x51, 0x55,
+ 0x41, 0x4c, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb2, 0x06, 0x12, 0x29,
+ 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53,
+ 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xb3, 0x06, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c,
+ 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49,
+ 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb4, 0x06, 0x12, 0x2e, 0x0a, 0x29, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52,
+ 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4c, 0x49, 0x46, 0x45, 0x5f, 0x54,
+ 0x49, 0x4d, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x10, 0xb5, 0x06, 0x12, 0x29, 0x0a, 0x24, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52,
+ 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41,
+ 0x4b, 0x45, 0x4e, 0x10, 0xb6, 0x06, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x56, 0x45, 0x48, 0x49, 0x43, 0x4c, 0x45, 0x10, 0xb7, 0x06, 0x12, 0x26, 0x0a, 0x21, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x56, 0x45, 0x48, 0x49, 0x43,
+ 0x4c, 0x45, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x4f, 0x43, 0x43, 0x55, 0x50, 0x49, 0x45, 0x44,
+ 0x10, 0xb8, 0x06, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x56, 0x45, 0x48, 0x49, 0x43, 0x4c,
+ 0x45, 0x10, 0xb9, 0x06, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x45, 0x48, 0x49, 0x43,
+ 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x44, 0x10, 0xba, 0x06, 0x12, 0x2b, 0x0a, 0x26, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54,
+ 0x45, 0x5f, 0x56, 0x45, 0x48, 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x50, 0x4f, 0x53, 0x5f, 0x49, 0x4e,
+ 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xbb, 0x06, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x56, 0x45, 0x48, 0x49, 0x43, 0x4c, 0x45, 0x5f,
+ 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b,
+ 0x10, 0xbc, 0x06, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41,
+ 0x43, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x45, 0x54,
+ 0x10, 0xbd, 0x06, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41,
+ 0x43, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xbe,
+ 0x06, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x43,
+ 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c,
+ 0x49, 0x44, 0x10, 0xbf, 0x06, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x48, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x42, 0x45,
+ 0x4c, 0x49, 0x53, 0x4b, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x49,
+ 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x10, 0xc0, 0x06, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x48, 0x52, 0x45,
+ 0x54, 0x5f, 0x4f, 0x42, 0x45, 0x4c, 0x49, 0x53, 0x4b, 0x5f, 0x4e, 0x4f, 0x5f, 0x41, 0x56, 0x41,
+ 0x49, 0x4c, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x54, 0x10, 0xc1, 0x06, 0x12, 0x1f, 0x0a, 0x1a, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56,
+ 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0xdc, 0x06, 0x12, 0x24, 0x0a, 0x1f,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49,
+ 0x56, 0x49, 0x54, 0x59, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
+ 0xdd, 0x06, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52,
+ 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55,
+ 0x47, 0x48, 0x10, 0xde, 0x06, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x41, 0x5f, 0x4c, 0x41, 0x4d, 0x50, 0x5f, 0x50, 0x48,
+ 0x41, 0x53, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0xdf,
+ 0x06, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x53, 0x45, 0x41, 0x5f, 0x4c, 0x41, 0x4d, 0x50, 0x5f, 0x46, 0x4c, 0x59, 0x5f, 0x4e, 0x55,
+ 0x4d, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xe0, 0x06, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x41, 0x5f, 0x4c, 0x41,
+ 0x4d, 0x50, 0x5f, 0x46, 0x4c, 0x59, 0x5f, 0x4c, 0x41, 0x4d, 0x50, 0x5f, 0x57, 0x4f, 0x52, 0x44,
+ 0x5f, 0x49, 0x4c, 0x4c, 0x45, 0x47, 0x41, 0x4c, 0x10, 0xe1, 0x06, 0x12, 0x2e, 0x0a, 0x29, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56,
+ 0x49, 0x54, 0x59, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x57, 0x41,
+ 0x52, 0x44, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xe2, 0x06, 0x12, 0x35, 0x0a, 0x30, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56,
+ 0x49, 0x54, 0x59, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x57, 0x41,
+ 0x52, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10,
+ 0xe3, 0x06, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x53, 0x41, 0x4c, 0x45, 0x53, 0x4d, 0x41, 0x4e, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41,
+ 0x44, 0x59, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10, 0xe4, 0x06, 0x12,
+ 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53,
+ 0x41, 0x4c, 0x45, 0x53, 0x4d, 0x41, 0x4e, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x43,
+ 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10,
+ 0xe5, 0x06, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x53, 0x41, 0x4c, 0x45, 0x53, 0x4d, 0x41, 0x4e, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xe6, 0x06, 0x12, 0x2d,
+ 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x45,
+ 0x4c, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48,
+ 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xe7, 0x06, 0x12, 0x32, 0x0a,
+ 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x4c,
+ 0x49, 0x56, 0x45, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x54, 0x41, 0x4b,
+ 0x45, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0xe8,
+ 0x06, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x41, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xe9, 0x06, 0x12,
+ 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41,
+ 0x53, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45,
+ 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xea, 0x06, 0x12, 0x29, 0x0a, 0x24, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x53, 0x54, 0x45, 0x52,
+ 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49,
+ 0x4d, 0x49, 0x54, 0x10, 0xeb, 0x06, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x44,
+ 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xec, 0x06,
+ 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x41, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xed, 0x06, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x53,
+ 0x50, 0x45, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41,
+ 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xee, 0x06, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x49, 0x47, 0x48, 0x54,
+ 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0xef, 0x06, 0x12, 0x37,
+ 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x53,
+ 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x49, 0x4f, 0x55, 0x53,
+ 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49,
+ 0x53, 0x48, 0x45, 0x44, 0x10, 0xf0, 0x06, 0x12, 0x3d, 0x0a, 0x38, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x5f, 0x53, 0x50,
+ 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x48, 0x49, 0x4d, 0x4d, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x45,
+ 0x53, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49,
+ 0x4d, 0x49, 0x54, 0x10, 0xf1, 0x06, 0x12, 0x37, 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x5f, 0x53, 0x50, 0x49,
+ 0x4e, 0x45, 0x5f, 0x57, 0x41, 0x52, 0x4d, 0x5f, 0x45, 0x53, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xf2, 0x06, 0x12,
+ 0x3b, 0x0a, 0x36, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44,
+ 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x5f, 0x53, 0x50, 0x49, 0x4e, 0x45, 0x5f, 0x57, 0x4f, 0x4e, 0x44,
+ 0x52, 0x4f, 0x55, 0x53, 0x5f, 0x45, 0x53, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x43,
+ 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xf3, 0x06, 0x12, 0x3b, 0x0a, 0x36,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x47,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x50, 0x49, 0x4e, 0x45, 0x5f, 0x53, 0x48, 0x49, 0x4d, 0x4d, 0x45, 0x52,
+ 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x53, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xf4, 0x06, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x50, 0x49, 0x4e, 0x45, 0x5f, 0x57, 0x41, 0x52, 0x4d, 0x5f, 0x45, 0x53, 0x53, 0x45, 0x4e,
+ 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xf5, 0x06,
+ 0x12, 0x39, 0x0a, 0x34, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x44, 0x52, 0x41, 0x47, 0x4f, 0x4e, 0x5f, 0x53, 0x50, 0x49, 0x4e, 0x45, 0x5f, 0x57, 0x4f, 0x4e,
+ 0x44, 0x52, 0x4f, 0x55, 0x53, 0x5f, 0x45, 0x53, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xf6, 0x06, 0x12, 0x33, 0x0a, 0x2e, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x49, 0x47,
+ 0x59, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x52, 0x45, 0x57,
+ 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xfb, 0x06,
+ 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x45, 0x46, 0x46, 0x49, 0x47, 0x59, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41,
+ 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xfc, 0x06, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x52, 0x45, 0x41, 0x53, 0x55,
+ 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e,
+ 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xfd, 0x06,
+ 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x54, 0x52, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x54, 0x4f, 0x4b,
+ 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x54, 0x10, 0xfe,
+ 0x06, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x53, 0x45, 0x41, 0x5f, 0x4c, 0x41, 0x4d, 0x50, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45,
+ 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xff, 0x06, 0x12, 0x29,
+ 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x45,
+ 0x41, 0x5f, 0x4c, 0x41, 0x4d, 0x50, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x80, 0x07, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x41, 0x5f, 0x4c, 0x41, 0x4d,
+ 0x50, 0x5f, 0x50, 0x4f, 0x50, 0x55, 0x4c, 0x41, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x43,
+ 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x81, 0x07, 0x12, 0x30, 0x0a, 0x2b,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49,
+ 0x56, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x57, 0x41,
+ 0x52, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x82, 0x07, 0x12, 0x31,
+ 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x43,
+ 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x52, 0x45,
+ 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0x83,
+ 0x07, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x41, 0x52, 0x45, 0x4e, 0x41, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f,
+ 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10,
+ 0x84, 0x07, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x54, 0x41, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x59, 0x5f,
+ 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x85, 0x07, 0x12, 0x29, 0x0a, 0x24, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x5f,
+ 0x54, 0x41, 0x4c, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43,
+ 0x4b, 0x45, 0x44, 0x10, 0x86, 0x07, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x49, 0x47, 0x5f, 0x54, 0x41, 0x4c, 0x45, 0x4e, 0x54,
+ 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47,
+ 0x48, 0x10, 0x87, 0x07, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x5f, 0x54, 0x41, 0x4c, 0x45, 0x4e, 0x54,
+ 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47,
+ 0x48, 0x10, 0x88, 0x07, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x5f,
+ 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x47, 0x4f, 0x54, 0x10, 0x89, 0x07, 0x12, 0x29,
+ 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52,
+ 0x45, 0x56, 0x5f, 0x50, 0x52, 0x4f, 0x55, 0x44, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x47, 0x45, 0x54, 0x10, 0x8a, 0x07, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x55, 0x44, 0x5f, 0x53,
+ 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x8b,
+ 0x07, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c,
+ 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49,
+ 0x4e, 0x44, 0x10, 0x8e, 0x07, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x44, 0x45, 0x50, 0x4f, 0x54,
+ 0x5f, 0x49, 0x53, 0x5f, 0x54, 0x48, 0x45, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x10, 0x8f, 0x07, 0x12,
+ 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d,
+ 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54,
+ 0x10, 0xe9, 0x07, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54,
+ 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xea, 0x07, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xcd, 0x08, 0x12, 0x22,
+ 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10,
+ 0xce, 0x08, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54,
+ 0x10, 0xcf, 0x08, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x56,
+ 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x4f, 0x55,
+ 0x4e, 0x54, 0x10, 0xd0, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x56,
+ 0x49, 0x56, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xd1, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x10, 0xd2,
+ 0x08, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0xd3, 0x08, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x5f, 0x44,
+ 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 0xd4,
+ 0x08, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41,
+ 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10,
+ 0xd5, 0x08, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44,
+ 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x4d,
+ 0x49, 0x53, 0x53, 0x10, 0xd6, 0x08, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41,
+ 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0xd7, 0x08, 0x12, 0x39, 0x0a,
+ 0x34, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e,
+ 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54,
+ 0x45, 0x41, 0x4d, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x5f, 0x41,
+ 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0xd8, 0x08, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x49,
+ 0x4e, 0x47, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0xd9, 0x08, 0x12, 0x33, 0x0a, 0x2e,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47,
+ 0x45, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f,
+ 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x10, 0xda,
+ 0x08, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f,
+ 0x48, 0x41, 0x53, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x56, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54,
+ 0x10, 0xdb, 0x08, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52,
+ 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0xdc, 0x08, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x49,
+ 0x4d, 0x49, 0x54, 0x10, 0xdd, 0x08, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41,
+ 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x4c, 0x4f, 0x54, 0x5f,
+ 0x49, 0x4e, 0x5f, 0x4d, 0x50, 0x10, 0xde, 0x08, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4c, 0x49,
+ 0x4d, 0x49, 0x54, 0x10, 0xdf, 0x08, 0x12, 0x38, 0x0a, 0x33, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x42, 0x45,
+ 0x5f, 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x41,
+ 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x44, 0x49, 0x45, 0x10, 0xe0, 0x08,
+ 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x4b,
+ 0x49, 0x43, 0x4b, 0x10, 0xe1, 0x08, 0x12, 0x3b, 0x0a, 0x36, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x43, 0x41,
+ 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x4f, 0x4d,
+ 0x45, 0x4f, 0x4e, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54,
+ 0x10, 0xe2, 0x08, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x46, 0x4f,
+ 0x52, 0x43, 0x45, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x10, 0xe3, 0x08, 0x12, 0x2b, 0x0a, 0x26, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x10, 0xe4, 0x08, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xe5, 0x08, 0x12, 0x23,
+ 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x59, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44,
+ 0x10, 0xb1, 0x09, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
+ 0x10, 0xb2, 0x09, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x49, 0x53, 0x5f, 0x46,
+ 0x55, 0x4c, 0x4c, 0x10, 0xb3, 0x09, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xb4, 0x09, 0x12, 0x28,
+ 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45,
+ 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xb5, 0x09, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54,
+ 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4d, 0x50, 0x10, 0xb6, 0x09, 0x12, 0x21, 0x0a, 0x1c,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x49,
+ 0x4e, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xb7, 0x09, 0x12,
+ 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d,
+ 0x50, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x49, 0x53, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10,
+ 0xb8, 0x09, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0xb9, 0x09, 0x12, 0x27,
+ 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45,
+ 0x43, 0x54, 0x45, 0x44, 0x10, 0xba, 0x09, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e,
+ 0x5f, 0x4d, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xbb, 0x09, 0x12, 0x23, 0x0a, 0x1e, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4f, 0x57,
+ 0x4e, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0xbc, 0x09,
+ 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4d, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x50,
+ 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xbd, 0x09, 0x12, 0x2d, 0x0a,
+ 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f,
+ 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x49, 0x4e,
+ 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0xbe, 0x09, 0x12, 0x29, 0x0a, 0x24,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x54,
+ 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f,
+ 0x54, 0x48, 0x45, 0x52, 0x10, 0xbf, 0x09, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f,
+ 0x45, 0x4e, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0x09, 0x12, 0x2d, 0x0a, 0x28, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x45, 0x4e,
+ 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f,
+ 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x4f, 0x54, 0x10, 0xc1, 0x09, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x50, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0xc2, 0x09, 0x12, 0x23, 0x0a,
+ 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f,
+ 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10,
+ 0xc3, 0x09, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x49, 0x4e,
+ 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x53, 0x10, 0xc4, 0x09, 0x12, 0x22, 0x0a, 0x1d, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c,
+ 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0xc5, 0x09, 0x12,
+ 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d,
+ 0x50, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49,
+ 0x4c, 0x10, 0xc7, 0x09, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x49, 0x4e,
+ 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xc8, 0x09, 0x12, 0x21, 0x0a,
+ 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f,
+ 0x52, 0x45, 0x50, 0x4c, 0x59, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0xc9, 0x09,
+ 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4d, 0x50, 0x5f, 0x49, 0x53, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xca, 0x09, 0x12, 0x30,
+ 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59,
+ 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x10, 0xcb, 0x09,
+ 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4d, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x42, 0x41,
+ 0x54, 0x54, 0x4c, 0x45, 0x10, 0xcc, 0x09, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x5f,
+ 0x48, 0x41, 0x53, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x49,
+ 0x4e, 0x45, 0x44, 0x10, 0xcd, 0x09, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xce, 0x09, 0x12, 0x31, 0x0a, 0x2c, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4f, 0x54,
+ 0x48, 0x45, 0x52, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0xcf, 0x09, 0x12, 0x2b,
+ 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0xd0, 0x09, 0x12, 0x2b, 0x0a, 0x26, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x43, 0x55,
+ 0x52, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45,
+ 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xd1, 0x09, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x41, 0x4e, 0x59, 0x5f, 0x47,
+ 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0xd2,
+ 0x09, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4d, 0x50, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x44,
+ 0x52, 0x41, 0x46, 0x54, 0x10, 0xd3, 0x09, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52,
+ 0x5f, 0x49, 0x4e, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x10, 0xd4, 0x09, 0x12, 0x1e,
+ 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xd5, 0x09, 0x12, 0x1f,
+ 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xd6, 0x09, 0x12,
+ 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d,
+ 0x50, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x55, 0x4e, 0x49, 0x53,
+ 0x48, 0x10, 0xd7, 0x09, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x49, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x55, 0x4c,
+ 0x54, 0x49, 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, 0xd8, 0x09, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4d, 0x41, 0x54,
+ 0x43, 0x48, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e,
+ 0x10, 0xd9, 0x09, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x4d, 0x50, 0x5f, 0x57, 0x49,
+ 0x54, 0x48, 0x5f, 0x50, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0xda, 0x09, 0x12,
+ 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d,
+ 0x50, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x5f,
+ 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0xdb, 0x09, 0x12, 0x33,
+ 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50,
+ 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x53, 0x50, 0x52,
+ 0x49, 0x4e, 0x54, 0x5f, 0x42, 0x4f, 0x41, 0x54, 0x5f, 0x4f, 0x4e, 0x47, 0x4f, 0x49, 0x4e, 0x47,
+ 0x10, 0xdc, 0x09, 0x12, 0x38, 0x0a, 0x33, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x42, 0x4c, 0x49, 0x54, 0x5a, 0x5f, 0x52, 0x55, 0x53, 0x48,
+ 0x5f, 0x50, 0x41, 0x52, 0x4b, 0x4f, 0x55, 0x52, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e,
+ 0x47, 0x45, 0x5f, 0x4f, 0x4e, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0xdd, 0x09, 0x12, 0x26, 0x0a,
+ 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f,
+ 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4f, 0x4e, 0x47, 0x4f, 0x49,
+ 0x4e, 0x47, 0x10, 0xde, 0x09, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x50, 0x49, 0x4e, 0x47,
+ 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xdf, 0x09, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52,
+ 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45,
+ 0x10, 0xe0, 0x09, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f,
+ 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xe1, 0x09, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x50, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x59,
+ 0x5f, 0x4e, 0x4f, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52,
+ 0x10, 0xe2, 0x09, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x5f, 0x45, 0x52, 0x52,
+ 0x10, 0x95, 0x0a, 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x55, 0x4d, 0x10,
+ 0x96, 0x0a, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x55, 0x4d, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0x97, 0x0a, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x49,
+ 0x54, 0x4c, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0x98,
+ 0x0a, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x45,
+ 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0x99, 0x0a, 0x12, 0x27, 0x0a, 0x22, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f,
+ 0x53, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45,
+ 0x44, 0x10, 0x9a, 0x0a, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x50,
+ 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x9b, 0x0a, 0x12, 0x24, 0x0a,
+ 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x46, 0x46,
+ 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x55, 0x4d,
+ 0x10, 0x9c, 0x0a, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x53,
+ 0x41, 0x4d, 0x45, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x9d, 0x0a, 0x12, 0x2b, 0x0a,
+ 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49,
+ 0x4c, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x9e, 0x0a, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x43,
+ 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x4d, 0x43, 0x4f, 0x49, 0x4e,
+ 0x10, 0x9f, 0x0a, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x48, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58,
+ 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xa0, 0x0a, 0x12, 0x28, 0x0a,
+ 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49,
+ 0x4c, 0x5f, 0x53, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0xa1, 0x0a, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x4d, 0x41, 0x54, 0x45,
+ 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10,
+ 0xa2, 0x0a, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x45, 0x58,
+ 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xa3, 0x0a, 0x12, 0x33, 0x0a,
+ 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49,
+ 0x4c, 0x5f, 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x45,
+ 0x54, 0x43, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10,
+ 0xa4, 0x0a, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45,
+ 0x45, 0x44, 0x5f, 0x43, 0x45, 0x48, 0x55, 0x41, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xa5,
+ 0x0a, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x52,
+ 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55,
+ 0x47, 0x48, 0x10, 0xa6, 0x0a, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54,
+ 0x5f, 0x49, 0x53, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xa7, 0x0a, 0x12, 0x2a, 0x0a, 0x25,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c,
+ 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x53, 0x5f,
+ 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xa8, 0x0a, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x44, 0x45, 0x4c,
+ 0x45, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xa9, 0x0a,
+ 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46,
+ 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0xb2, 0x0a, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x54, 0x41,
+ 0x4b, 0x53, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xb3, 0x0a, 0x12,
+ 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53,
+ 0x4f, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4d, 0x53,
+ 0x47, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0xb4, 0x0a, 0x12,
+ 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44,
+ 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52,
+ 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xb5,
+ 0x0a, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x49, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42,
+ 0x4c, 0x45, 0x10, 0xf9, 0x0a, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f,
+ 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0xfa, 0x0a, 0x12, 0x29,
+ 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41,
+ 0x43, 0x48, 0x41, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0xfb, 0x0a, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x49,
+ 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x10, 0xfc, 0x0a, 0x12,
+ 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47,
+ 0x41, 0x43, 0x48, 0x41, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xfd, 0x0a, 0x12, 0x22, 0x0a, 0x1d,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x43, 0x48,
+ 0x41, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xfe, 0x0a,
+ 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x57, 0x49, 0x53, 0x48, 0x5f, 0x53, 0x41, 0x4d, 0x45, 0x5f,
+ 0x49, 0x54, 0x45, 0x4d, 0x10, 0xff, 0x0a, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x57, 0x49, 0x53,
+ 0x48, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x10, 0x80,
+ 0x0b, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x4d, 0x49, 0x4e, 0x4f, 0x52, 0x53, 0x5f, 0x54, 0x49,
+ 0x4d, 0x45, 0x53, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x81, 0x0b, 0x12, 0x2e, 0x0a, 0x29,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x45,
+ 0x53, 0x54, 0x49, 0x47, 0x41, 0x49, 0x54, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e,
+ 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0xdd, 0x0b, 0x12, 0x29, 0x0a, 0x24,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x45,
+ 0x53, 0x54, 0x49, 0x47, 0x41, 0x49, 0x54, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4d, 0x50,
+ 0x4c, 0x45, 0x54, 0x45, 0x10, 0xde, 0x0b, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x53, 0x54, 0x49, 0x47, 0x41,
+ 0x49, 0x54, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x41, 0x4b, 0x45,
+ 0x4e, 0x10, 0xdf, 0x0b, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x53, 0x54, 0x49, 0x47, 0x41, 0x49, 0x54, 0x4f,
+ 0x4e, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0xe0, 0x0b, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x54, 0x49, 0x50, 0x53,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xe1, 0x0b, 0x12, 0x29, 0x0a,
+ 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x47,
+ 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xe2, 0x0b, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f,
+ 0x48, 0x41, 0x56, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x10, 0xe3,
+ 0x0b, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x53, 0x41, 0x54, 0x49, 0x53, 0x46, 0x49, 0x45, 0x44, 0x10, 0xe4, 0x0b, 0x12, 0x2e,
+ 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4f,
+ 0x4e, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0xe5, 0x0b, 0x12, 0x21,
+ 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x49,
+ 0x47, 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0xe6,
+ 0x0b, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10,
+ 0xf1, 0x0b, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x44, 0x41, 0x49,
+ 0x4c, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x10, 0xf2, 0x0b, 0x12, 0x21, 0x0a, 0x1c,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x57, 0x45,
+ 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x10, 0xf3, 0x0b, 0x12,
+ 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54,
+ 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44,
+ 0x10, 0xf4, 0x0b, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x55,
+ 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xf5, 0x0b, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f,
+ 0x46, 0x4c, 0x4f, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xf6,
+ 0x0b, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x4c, 0x4f, 0x4f, 0x52, 0x5f,
+ 0x53, 0x54, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x10, 0xf7, 0x0b, 0x12, 0x27,
+ 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x4c,
+ 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f,
+ 0x42, 0x55, 0x46, 0x46, 0x10, 0xf8, 0x0b, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45,
+ 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xf9, 0x0b, 0x12,
+ 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x56, 0x45,
+ 0x4c, 0x10, 0xfa, 0x0b, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x45, 0x56,
+ 0x45, 0x4c, 0x10, 0xfb, 0x0b, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x5f,
+ 0x46, 0x4c, 0x4f, 0x4f, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48,
+ 0x10, 0xfc, 0x0b, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xfd, 0x0b, 0x12, 0x28, 0x0a, 0x23, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c,
+ 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55,
+ 0x4c, 0x45, 0x10, 0x85, 0x0c, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53,
+ 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x42, 0x55, 0x59, 0x45, 0x44, 0x10, 0x86, 0x0c, 0x12, 0x2b, 0x0a,
+ 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x54,
+ 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4f,
+ 0x56, 0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x87, 0x0c, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45,
+ 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x45, 0x58,
+ 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x88, 0x0c, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x48, 0x4f,
+ 0x53, 0x54, 0x5f, 0x51, 0x55, 0x49, 0x54, 0x10, 0x99, 0x0c, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f,
+ 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48,
+ 0x10, 0x9a, 0x0c, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f,
+ 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x9b, 0x0c, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x50,
+ 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x50, 0x10,
+ 0x9c, 0x0c, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x52, 0x45, 0x41, 0x53, 0x55, 0x52,
+ 0x45, 0x5f, 0x53, 0x50, 0x4f, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44,
+ 0x10, 0xad, 0x0c, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x52, 0x45, 0x41, 0x53, 0x55,
+ 0x52, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53,
+ 0x10, 0xae, 0x0c, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x52, 0x45, 0x41, 0x53, 0x55,
+ 0x52, 0x45, 0x5f, 0x53, 0x50, 0x4f, 0x54, 0x5f, 0x46, 0x41, 0x52, 0x5f, 0x41, 0x57, 0x41, 0x59,
+ 0x10, 0xaf, 0x0c, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x52, 0x45, 0x41, 0x53, 0x55,
+ 0x52, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x44, 0x41,
+ 0x59, 0x10, 0xb0, 0x0c, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b,
+ 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0xb1, 0x0c, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x41,
+ 0x4d, 0x45, 0x52, 0x41, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x45, 0x52, 0x52,
+ 0x4f, 0x52, 0x10, 0xb2, 0x0c, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xb3, 0x0c, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f,
+ 0x46, 0x45, 0x41, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49,
+ 0x56, 0x45, 0x10, 0xb4, 0x0c, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x45, 0x41, 0x54,
+ 0x48, 0x45, 0x52, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x46,
+ 0x41, 0x52, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x10, 0xb5, 0x0c, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54,
+ 0x5f, 0x43, 0x41, 0x50, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xb6, 0x0c, 0x12, 0x35, 0x0a, 0x30,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47,
+ 0x45, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41,
+ 0x4c, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x42, 0x41, 0x47, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54,
+ 0x10, 0xb7, 0x0c, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x50, 0x54, 0x55, 0x52,
+ 0x45, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x43, 0x41, 0x50, 0x54, 0x55, 0x52, 0x45, 0x10, 0xb8, 0x0c, 0x12, 0x31, 0x0a, 0x2c, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45,
+ 0x54, 0x5f, 0x53, 0x4b, 0x59, 0x5f, 0x43, 0x52, 0x59, 0x53, 0x54, 0x41, 0x4c, 0x5f, 0x41, 0x4c,
+ 0x4c, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xb9, 0x0c, 0x12, 0x36,
+ 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49,
+ 0x44, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x4b, 0x59, 0x5f, 0x43, 0x52, 0x59, 0x53, 0x54, 0x41, 0x4c,
+ 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58,
+ 0x49, 0x53, 0x54, 0x10, 0xba, 0x0c, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x4b, 0x59,
+ 0x5f, 0x43, 0x52, 0x59, 0x53, 0x54, 0x41, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55,
+ 0x4e, 0x44, 0x10, 0xbb, 0x0c, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x4b, 0x59, 0x5f,
+ 0x43, 0x52, 0x59, 0x53, 0x54, 0x41, 0x4c, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x5f,
+ 0x54, 0x4f, 0x5f, 0x43, 0x4c, 0x45, 0x41, 0x52, 0x10, 0xbc, 0x0c, 0x12, 0x35, 0x0a, 0x30, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45,
+ 0x54, 0x5f, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x45, 0x4e,
+ 0x45, 0x52, 0x47, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10,
+ 0xbd, 0x0c, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x59, 0x5f, 0x43, 0x52, 0x59,
+ 0x53, 0x54, 0x41, 0x4c, 0x5f, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xbe, 0x0c, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f,
+ 0x4c, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x4e, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45,
+ 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xbf, 0x0c, 0x12,
+ 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x55,
+ 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xd1, 0x0f, 0x12,
+ 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50,
+ 0x41, 0x52, 0x53, 0x45, 0x5f, 0x42, 0x49, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xd2,
+ 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xd3, 0x0f, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f,
+ 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xd4,
+ 0x0f, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f,
+ 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xd5, 0x0f, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x48, 0x41, 0x53,
+ 0x5f, 0x42, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x10, 0xd6, 0x0f, 0x12, 0x22, 0x0a,
+ 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x4f,
+ 0x44, 0x55, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xd7,
+ 0x0f, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x55, 0x4e, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10,
+ 0xd8, 0x0f, 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xd9,
+ 0x0f, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x45, 0x41, 0x52,
+ 0x4c, 0x59, 0x10, 0xda, 0x0f, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53,
+ 0x48, 0x45, 0x44, 0x10, 0xdb, 0x0f, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52,
+ 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x10, 0xdc,
+ 0x0f, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4f, 0x50, 0x5f, 0x46, 0x55, 0x4c, 0x4c,
+ 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0xdd, 0x0f, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x45, 0x52,
+ 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x4f, 0x42, 0x54, 0x41, 0x49, 0x4e,
+ 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xde, 0x0f, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x45, 0x52, 0x54,
+ 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x5f,
+ 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0xdf, 0x0f, 0x12, 0x2d, 0x0a,
+ 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e,
+ 0x43, 0x45, 0x52, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x54, 0x49, 0x43,
+ 0x4b, 0x45, 0x54, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xe0, 0x0f, 0x12, 0x1f, 0x0a, 0x1a,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x44, 0x49,
+ 0x53, 0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x89, 0x27, 0x12, 0x24, 0x0a,
+ 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x44,
+ 0x49, 0x53, 0x5f, 0x55, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54,
+ 0x10, 0x8a, 0x27, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x46, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x44,
+ 0x41, 0x54, 0x41, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xf1, 0x2e,
+ 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x50, 0x41, 0x54, 0x48, 0x46, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x53, 0x54,
+ 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53,
+ 0x54, 0x10, 0xf2, 0x2e, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x46, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f,
+ 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xf3, 0x2e, 0x12, 0x2f,
+ 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x41,
+ 0x54, 0x48, 0x46, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f,
+ 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf4, 0x2e, 0x12,
+ 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46,
+ 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45,
+ 0x45, 0x44, 0x45, 0x44, 0x10, 0xd9, 0x36, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xda, 0x36, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44,
+ 0x59, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45,
+ 0x53, 0x54, 0x10, 0xdb, 0x36, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x53, 0x4b, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f,
+ 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xdc, 0x36, 0x12, 0x29, 0x0a, 0x24,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59,
+ 0x45, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, 0x53, 0x5f, 0x46, 0x52,
+ 0x49, 0x45, 0x4e, 0x44, 0x10, 0xdd, 0x36, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x41, 0x53, 0x4b, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0xde, 0x36, 0x12,
+ 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x54,
+ 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x43, 0x4f, 0x55,
+ 0x4e, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0xdf, 0x36, 0x12, 0x1b, 0x0a, 0x16,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0xe0, 0x36, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x49, 0x52, 0x54, 0x48, 0x44, 0x41,
+ 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f,
+ 0x54, 0x57, 0x49, 0x43, 0x45, 0x10, 0xe1, 0x36, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x41,
+ 0x44, 0x44, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0xe2,
+ 0x36, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x49, 0x4c, 0x4c, 0x45, 0x47,
+ 0x41, 0x4c, 0x10, 0xe3, 0x36, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43,
+ 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44,
+ 0x53, 0x10, 0xe4, 0x36, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x50, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x41,
+ 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x46, 0x52, 0x49, 0x45,
+ 0x4e, 0x44, 0x53, 0x10, 0xe5, 0x36, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xe6, 0x36, 0x12,
+ 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41,
+ 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x4c,
+ 0x49, 0x53, 0x54, 0x10, 0xe7, 0x36, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x53, 0x5f, 0x50, 0x41, 0x4c, 0x45, 0x59, 0x52, 0x53,
+ 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x42, 0x4c, 0x41, 0x43,
+ 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xe8, 0x36, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x42,
+ 0x4c, 0x41, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xe9, 0x36,
+ 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x42, 0x4c,
+ 0x41, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xea, 0x36, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x4c,
+ 0x49, 0x53, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0xeb, 0x36, 0x12,
+ 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49,
+ 0x4e, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x4c, 0x49,
+ 0x53, 0x54, 0x10, 0xec, 0x36, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x5f,
+ 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0xed, 0x36,
+ 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x42, 0x49, 0x52, 0x54, 0x48, 0x44, 0x41, 0x59, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f,
+ 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xee, 0x36, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x49,
+ 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0xef, 0x36, 0x12,
+ 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46,
+ 0x49, 0x52, 0x53, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52,
+ 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xf0, 0x36, 0x12, 0x32,
+ 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x53,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x52,
+ 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54, 0x10,
+ 0xf1, 0x36, 0x12, 0x1a, 0x0a, 0x15, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x44, 0x10, 0xf2, 0x36, 0x12, 0x27,
+ 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45,
+ 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4c, 0x4c,
+ 0x45, 0x47, 0x41, 0x4c, 0x10, 0xf3, 0x36, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x57, 0x4f,
+ 0x52, 0x44, 0x5f, 0x49, 0x4c, 0x4c, 0x45, 0x47, 0x41, 0x4c, 0x10, 0xf4, 0x36, 0x12, 0x20, 0x0a,
+ 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x4d,
+ 0x41, 0x52, 0x4b, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0xf5, 0x36, 0x12,
+ 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52,
+ 0x45, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x55, 0x54, 0x46, 0x38, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52,
+ 0x10, 0xf6, 0x36, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x49, 0x53, 0x5f, 0x45, 0x4d, 0x50,
+ 0x54, 0x59, 0x10, 0xf7, 0x36, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x53, 0x4b, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x52, 0x49,
+ 0x45, 0x4e, 0x44, 0x5f, 0x43, 0x44, 0x10, 0xf8, 0x36, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x5f, 0x41, 0x56,
+ 0x41, 0x54, 0x41, 0x52, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58,
+ 0x49, 0x53, 0x54, 0x10, 0xf9, 0x36, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x53, 0x48, 0x4f, 0x57, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0xfa, 0x36, 0x12,
+ 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53,
+ 0x4f, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x48, 0x4f,
+ 0x57, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x5f, 0x49, 0x44,
+ 0x10, 0xfb, 0x36, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x50, 0x53, 0x4e, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f,
+ 0x55, 0x4e, 0x44, 0x10, 0xfc, 0x36, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x45, 0x4d, 0x4f, 0x4a, 0x49, 0x5f, 0x43, 0x4f, 0x4c, 0x4c,
+ 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45,
+ 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xfd, 0x36, 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x41, 0x52, 0x4b,
+ 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xfe, 0x36, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x41, 0x52, 0x47,
+ 0x45, 0x54, 0x5f, 0x50, 0x53, 0x4e, 0x5f, 0x42, 0x4c, 0x41, 0x43, 0x4b, 0x4c, 0x49, 0x53, 0x54,
+ 0x10, 0xff, 0x36, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x80, 0x37, 0x12, 0x28, 0x0a, 0x23, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41,
+ 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x4c, 0x59, 0x5f, 0x4c, 0x49, 0x4d,
+ 0x49, 0x54, 0x10, 0x81, 0x37, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xa9, 0x37, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x49, 0x4e,
+ 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xaa, 0x37,
+ 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4f, 0x46, 0x46, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x10, 0xab, 0x37, 0x12, 0x29, 0x0a, 0x24, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52,
+ 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41,
+ 0x4b, 0x45, 0x4e, 0x10, 0xac, 0x37, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54,
+ 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xbd,
+ 0x37, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xbe, 0x37, 0x12,
+ 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43,
+ 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x10, 0xbf,
+ 0x37, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x41,
+ 0x4b, 0x45, 0x4e, 0x10, 0xc0, 0x37, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54,
+ 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x51, 0x55, 0x45,
+ 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0xc1, 0x37, 0x12, 0x2f,
+ 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49,
+ 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43,
+ 0x43, 0x45, 0x50, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xc2, 0x37, 0x12,
+ 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43,
+ 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53,
+ 0x54, 0x10, 0xc3, 0x37, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45,
+ 0x53, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xc4, 0x37, 0x12, 0x32, 0x0a, 0x2d, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f,
+ 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x41,
+ 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xc5, 0x37, 0x12,
+ 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43,
+ 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54,
+ 0x41, 0x4b, 0x45, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x57,
+ 0x41, 0x52, 0x44, 0x10, 0xc6, 0x37, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54,
+ 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x4c, 0x4f,
+ 0x53, 0x45, 0x10, 0xc7, 0x37, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x57, 0x49,
+ 0x54, 0x43, 0x48, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0xc8, 0x37, 0x12, 0x35, 0x0a, 0x30,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59,
+ 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x4b, 0x45,
+ 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44,
+ 0x10, 0xc9, 0x37, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x50, 0x55, 0x54, 0x41, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52,
+ 0x45, 0x41, 0x43, 0x48, 0x10, 0xca, 0x37, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55,
+ 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xd0, 0x37, 0x12, 0x27, 0x0a,
+ 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43,
+ 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x47, 0x45, 0x41, 0x52, 0x5f, 0x55, 0x4e, 0x4c,
+ 0x4f, 0x43, 0x4b, 0x10, 0xd1, 0x37, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53,
+ 0x5f, 0x47, 0x45, 0x41, 0x52, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xd2, 0x37, 0x12, 0x2c, 0x0a,
+ 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43,
+ 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x47, 0x45, 0x41, 0x52, 0x5f, 0x4c, 0x45, 0x56,
+ 0x45, 0x4c, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xd3, 0x37, 0x12, 0x2b, 0x0a, 0x26, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41,
+ 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xd4, 0x37, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43,
+ 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0xd5,
+ 0x37, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x53, 0x45, 0x51, 0x55,
+ 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
+ 0x10, 0xd6, 0x37, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x53, 0x45,
+ 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x45,
+ 0x4e, 0x10, 0xd7, 0x37, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x44,
+ 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50,
+ 0x50, 0x4f, 0x52, 0x54, 0x10, 0xd8, 0x37, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55,
+ 0x53, 0x5f, 0x54, 0x49, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f,
+ 0x55, 0x47, 0x48, 0x10, 0xd9, 0x37, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53,
+ 0x5f, 0x54, 0x45, 0x41, 0x43, 0x48, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53,
+ 0x48, 0x10, 0xda, 0x37, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x54,
+ 0x45, 0x41, 0x43, 0x48, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0xdb, 0x37,
+ 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x5f,
+ 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f,
+ 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xdc, 0x37, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43,
+ 0x55, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10,
+ 0xdd, 0x37, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x50, 0x55, 0x4e,
+ 0x49, 0x53, 0x48, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0xde, 0x37, 0x12, 0x28, 0x0a, 0x23, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41,
+ 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x4c, 0x4f,
+ 0x53, 0x45, 0x10, 0xdf, 0x37, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f,
+ 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x10, 0xee, 0x37, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43,
+ 0x55, 0x53, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xef, 0x37, 0x12, 0x36, 0x0a, 0x31, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41,
+ 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x44, 0x55, 0x50,
+ 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x5f, 0x43, 0x41, 0x52, 0x44,
+ 0x10, 0xf0, 0x37, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x42, 0x41,
+ 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x10, 0xf1, 0x37, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e,
+ 0x49, 0x43, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xf2,
+ 0x37, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x54, 0x54,
+ 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53,
+ 0x54, 0x41, 0x47, 0x45, 0x10, 0xf3, 0x37, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55,
+ 0x53, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x49, 0x53,
+ 0x5f, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xf4, 0x37, 0x12, 0x35, 0x0a, 0x30, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41,
+ 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52,
+ 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10,
+ 0xf5, 0x37, 0x12, 0x39, 0x0a, 0x34, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x54,
+ 0x54, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59,
+ 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0xf6, 0x37, 0x12, 0x3a, 0x0a,
+ 0x35, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43,
+ 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x43,
+ 0x41, 0x52, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x42, 0x59,
+ 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0xf7, 0x37, 0x12, 0x39, 0x0a, 0x34, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49,
+ 0x43, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54,
+ 0x53, 0x10, 0xf8, 0x37, 0x12, 0x37, 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55, 0x53, 0x5f, 0x42,
+ 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41,
+ 0x44, 0x59, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10, 0xf9, 0x37, 0x12, 0x29, 0x0a,
+ 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x45, 0x47,
+ 0x45, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xc1, 0x3e, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x45, 0x47, 0x45, 0x4e, 0x44, 0x41, 0x52,
+ 0x59, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d,
+ 0x49, 0x54, 0x10, 0xc2, 0x3e, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x5f, 0x54, 0x4f, 0x5f, 0x52, 0x45,
+ 0x44, 0x45, 0x45, 0x4d, 0x10, 0xc3, 0x3e, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x4f, 0x4e, 0x41, 0x4c, 0x5f,
+ 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x4f, 0x46, 0x46, 0x10, 0xc4, 0x3e, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4c,
+ 0x49, 0x4e, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e,
+ 0x4f, 0x55, 0x47, 0x48, 0x10, 0xc5, 0x3e, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x4f, 0x4e, 0x41, 0x4c, 0x5f,
+ 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xc6, 0x3e,
+ 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x50, 0x45, 0x52, 0x53, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x50, 0x52,
+ 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49,
+ 0x53, 0x48, 0x10, 0xc7, 0x3e, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x4c, 0x52,
+ 0x45, 0x41, 0x44, 0x59, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x4f, 0x46, 0x46, 0x45,
+ 0x52, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x89, 0x40, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x55, 0x4e, 0x54, 0x49, 0x4e,
+ 0x47, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x55, 0x4e, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44,
+ 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x10, 0x8a, 0x40, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47,
+ 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x43, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x8b, 0x40, 0x12, 0x27, 0x0a,
+ 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x55, 0x4e,
+ 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x4f, 0x46,
+ 0x46, 0x45, 0x52, 0x10, 0x8c, 0x40, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41,
+ 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x54, 0x57, 0x49, 0x43, 0x45, 0x10,
+ 0x8d, 0x40, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x52, 0x50, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x49,
+ 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x10, 0xc5, 0x45, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48,
+ 0x41, 0x54, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0xc6, 0x45, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54,
+ 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0xc7, 0x45, 0x12,
+ 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50,
+ 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54,
+ 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x10, 0xc8, 0x45, 0x12,
+ 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50,
+ 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x50, 0x55, 0x4c, 0x4c,
+ 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0xc9, 0x45, 0x12, 0x29, 0x0a, 0x24,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56,
+ 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x5f,
+ 0x52, 0x45, 0x41, 0x44, 0x10, 0xca, 0x45, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x43,
+ 0x48, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x52, 0x49,
+ 0x45, 0x4e, 0x44, 0x10, 0xcb, 0x45, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x49,
+ 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0xa9, 0x46, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x45, 0x44, 0x10, 0xaa,
+ 0x46, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59,
+ 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x57, 0x41,
+ 0x52, 0x44, 0x10, 0xab, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x49, 0x47,
+ 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0xac, 0x46,
+ 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, 0x5f,
+ 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0xad, 0x46, 0x12, 0x2b, 0x0a, 0x26, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46,
+ 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0xae, 0x46, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x45, 0x44,
+ 0x10, 0xaf, 0x46, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0xb0, 0x46,
+ 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x52, 0x45, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x45, 0x52, 0x5f,
+ 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43,
+ 0x4b, 0x45, 0x44, 0x10, 0xb1, 0x46, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x43,
+ 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x8d, 0x47,
+ 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x43, 0x54,
+ 0x49, 0x56, 0x45, 0x10, 0x8e, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x54, 0x4f, 0x44, 0x41, 0x59, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10,
+ 0x8f, 0x47, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54,
+ 0x59, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x55,
+ 0x4d, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x90, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49,
+ 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x55,
+ 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x91,
+ 0x47, 0x12, 0x38, 0x0a, 0x33, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x44, 0x45, 0x45, 0x4d,
+ 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45,
+ 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x92, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x45, 0x53, 0x53,
+ 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x44, 0x45, 0x45, 0x4d, 0x5f, 0x50, 0x49, 0x43, 0x5f, 0x4e,
+ 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x93, 0x47,
+ 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x43, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x94, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49,
+ 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x43, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49,
+ 0x56, 0x45, 0x44, 0x10, 0x95, 0x47, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x45, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x54,
+ 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x45,
+ 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0x96, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46, 0x41,
+ 0x49, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44,
+ 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x97, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46,
+ 0x41, 0x49, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x98, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46, 0x41,
+ 0x49, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f,
+ 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x99, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46, 0x41,
+ 0x49, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f,
+ 0x55, 0x47, 0x48, 0x10, 0x9a, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x52,
+ 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50,
+ 0x45, 0x4e, 0x10, 0x9b, 0x47, 0x12, 0x3c, 0x0a, 0x37, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x52, 0x5f,
+ 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x49,
+ 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b,
+ 0x10, 0x9c, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x52, 0x5f, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x9d, 0x47, 0x12,
+ 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46,
+ 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x52, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x5f, 0x50, 0x55, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x9e, 0x47,
+ 0x12, 0x3a, 0x0a, 0x35, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x46, 0x4c, 0x45, 0x55, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x52, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f,
+ 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52,
+ 0x54, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x47, 0x41, 0x4d, 0x10, 0x9f, 0x47, 0x12, 0x2f, 0x0a, 0x2a,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x41, 0x54, 0x45,
+ 0x52, 0x5f, 0x53, 0x50, 0x49, 0x52, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58,
+ 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xa0, 0x47, 0x12, 0x2d, 0x0a,
+ 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x41, 0x54,
+ 0x45, 0x52, 0x5f, 0x53, 0x50, 0x49, 0x52, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xa1, 0x47, 0x12, 0x28, 0x0a, 0x23,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4e, 0x4f, 0x5f, 0x53, 0x45, 0x41,
+ 0x52, 0x43, 0x48, 0x10, 0xa2, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x41,
+ 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
+ 0xa3, 0x47, 0x12, 0x3c, 0x0a, 0x37, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41,
+ 0x42, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53,
+ 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xaa, 0x47,
+ 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x42, 0x5f,
+ 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xab, 0x47, 0x12, 0x49, 0x0a, 0x44, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x4c,
+ 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x42, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x44, 0x55, 0x4e,
+ 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f,
+ 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e,
+ 0x10, 0xac, 0x47, 0x12, 0x44, 0x0a, 0x3f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c,
+ 0x41, 0x42, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x43, 0x4f, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53,
+ 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xad, 0x47, 0x12, 0x38, 0x0a, 0x33, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c,
+ 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x42, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44,
+ 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x10, 0xae, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c,
+ 0x41, 0x42, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0xaf, 0x47, 0x12, 0x3f, 0x0a, 0x3a, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45,
+ 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x42, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x46,
+ 0x46, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xb0, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e,
+ 0x45, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x42, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e,
+ 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb1, 0x47,
+ 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c, 0x41, 0x42, 0x5f,
+ 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48,
+ 0x10, 0xb2, 0x47, 0x12, 0x3e, 0x0a, 0x39, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x53, 0x4c,
+ 0x41, 0x42, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e,
+ 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x10, 0xb3, 0x47, 0x12, 0x3b, 0x0a, 0x36, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x53, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x45,
+ 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x5f, 0x4e,
+ 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xbe, 0x47,
+ 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x48, 0x49, 0x44, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x50, 0x4c,
+ 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xc8, 0x47, 0x12, 0x30,
+ 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x49,
+ 0x44, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x50, 0x4c, 0x41, 0x59,
+ 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xc9, 0x47,
+ 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x46,
+ 0x54, 0x5f, 0x57, 0x4f, 0x4f, 0x52, 0x44, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0xd2, 0x47, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x49,
+ 0x4d, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x57, 0x4f, 0x4f, 0x52, 0x44, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xd3, 0x47, 0x12, 0x38, 0x0a, 0x33,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d,
+ 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x5f, 0x48, 0x41, 0x52,
+ 0x50, 0x41, 0x53, 0x54, 0x55, 0x4d, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49,
+ 0x4d, 0x49, 0x54, 0x10, 0xd4, 0x47, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d,
+ 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x5f, 0x48, 0x41, 0x52, 0x50, 0x41, 0x53, 0x54, 0x55, 0x4d,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xd5, 0x47, 0x12, 0x33, 0x0a,
+ 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4f, 0x55,
+ 0x4e, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4a, 0x55, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f,
+ 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10,
+ 0xdc, 0x47, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4a, 0x55, 0x52, 0x49,
+ 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55,
+ 0x47, 0x48, 0x10, 0xdd, 0x47, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x45, 0x41, 0x43, 0x48,
+ 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0xdf, 0x47,
+ 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x45, 0x41, 0x43, 0x48, 0x5f, 0x4d, 0x41, 0x50, 0x5f,
+ 0x55, 0x4e, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0xe0, 0x47, 0x12, 0x28, 0x0a,
+ 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x45,
+ 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0xe1, 0x47, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x4f, 0x49,
+ 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xe2, 0x47, 0x12,
+ 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43,
+ 0x48, 0x45, 0x53, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x55, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x54,
+ 0x49, 0x4d, 0x45, 0x10, 0xe3, 0x47, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x56,
+ 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x55, 0x4e, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10,
+ 0xe4, 0x47, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x4b,
+ 0x45, 0x44, 0x10, 0xe5, 0x47, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x49, 0x54, 0x5a, 0x5f, 0x52, 0x55, 0x53, 0x48, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xe8, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x49, 0x54, 0x5a,
+ 0x5f, 0x52, 0x55, 0x53, 0x48, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xe9, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x49, 0x54, 0x5a, 0x5f, 0x52,
+ 0x55, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45,
+ 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xea, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x49, 0x54, 0x5a, 0x5f,
+ 0x52, 0x55, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x45, 0x58, 0x43, 0x45,
+ 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xeb, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x49, 0x54, 0x5a,
+ 0x5f, 0x52, 0x55, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xec, 0x47, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42, 0x4c, 0x49, 0x54, 0x5a, 0x5f,
+ 0x52, 0x55, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xed, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45,
+ 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xf1, 0x47, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45,
+ 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x44, 0x10, 0xf2, 0x47, 0x12, 0x2e, 0x0a, 0x29, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x52, 0x41, 0x43,
+ 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xf3, 0x47, 0x12, 0x29, 0x0a, 0x24, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x52, 0x41, 0x43,
+ 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x49,
+ 0x56, 0x45, 0x52, 0x10, 0xf4, 0x47, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x49,
+ 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45,
+ 0x44, 0x10, 0xf5, 0x47, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47,
+ 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xf6, 0x47, 0x12,
+ 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d,
+ 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xf7, 0x47, 0x12, 0x27,
+ 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x49,
+ 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x59,
+ 0x4f, 0x55, 0x52, 0x53, 0x10, 0xf8, 0x47, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f,
+ 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x4f,
+ 0x52, 0x49, 0x5a, 0x45, 0x44, 0x10, 0xa3, 0x48, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46,
+ 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xa4, 0x48, 0x12, 0x34, 0x0a, 0x2f,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47,
+ 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10,
+ 0xa5, 0x48, 0x12, 0x3c, 0x0a, 0x37, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x49, 0x4c, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x49, 0x4e,
+ 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x54, 0x10, 0xa6, 0x48,
+ 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x5f, 0x53,
+ 0x54, 0x41, 0x54, 0x45, 0x10, 0xa7, 0x48, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f,
+ 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0xa8, 0x48, 0x12, 0x3a, 0x0a, 0x35,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47,
+ 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45,
+ 0x51, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f,
+ 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xa9, 0x48, 0x12, 0x3b, 0x0a, 0x36, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46,
+ 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44,
+ 0x5f, 0x42, 0x59, 0x5f, 0x41, 0x4e, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59,
+ 0x45, 0x52, 0x10, 0xaa, 0x48, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e,
+ 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45,
+ 0x44, 0x10, 0xab, 0x48, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44,
+ 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f,
+ 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xac, 0x48, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f,
+ 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xad, 0x48, 0x12, 0x38, 0x0a, 0x33,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47,
+ 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c,
+ 0x41, 0x59, 0x45, 0x52, 0x5f, 0x47, 0x45, 0x41, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f,
+ 0x55, 0x4e, 0x44, 0x10, 0xae, 0x48, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55,
+ 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x54, 0x41, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xaf, 0x48, 0x12, 0x3b, 0x0a, 0x36, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45,
+ 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x41,
+ 0x43, 0x48, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x47, 0x45, 0x41, 0x52, 0x5f,
+ 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb0, 0x48, 0x12, 0x3a, 0x0a, 0x35, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46,
+ 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x43, 0x48, 0x5f,
+ 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x47, 0x45, 0x41, 0x52, 0x5f, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x10, 0xb1, 0x48, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44,
+ 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f,
+ 0x4e, 0x5f, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0xb2, 0x48, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x43, 0x54,
+ 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x4f, 0x4e, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xd5, 0x48, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56,
+ 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xd6, 0x48, 0x12,
+ 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d,
+ 0x55, 0x4c, 0x54, 0x49, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x50,
+ 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x45,
+ 0x4e, 0x45, 0x10, 0x9d, 0x4a, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f,
+ 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x9e,
+ 0x4a, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x50, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x81, 0x4b, 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x43, 0x4f,
+ 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x45, 0x54, 0x10, 0x82, 0x4b, 0x12, 0x22,
+ 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f,
+ 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10,
+ 0x83, 0x4b, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f,
+ 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x84, 0x4b, 0x12, 0x26, 0x0a, 0x21, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f,
+ 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e,
+ 0x10, 0x85, 0x4b, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x41, 0x43, 0x54,
+ 0x49, 0x56, 0x45, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x10, 0xb3, 0x4b, 0x12, 0x26, 0x0a, 0x21,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46,
+ 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x59, 0x5f, 0x57, 0x4f, 0x52, 0x4c,
+ 0x44, 0x10, 0xb4, 0x4b, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55,
+ 0x50, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x50, 0x10, 0xb5, 0x4b, 0x12, 0x28, 0x0a, 0x23, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54,
+ 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55,
+ 0x47, 0x48, 0x10, 0xb6, 0x4b, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52,
+ 0x52, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xb7, 0x4b, 0x12, 0x2c, 0x0a,
+ 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41,
+ 0x46, 0x54, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f,
+ 0x45, 0x4e, 0x54, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0xb8, 0x4b, 0x12, 0x2c, 0x0a, 0x27, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54,
+ 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x49, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46,
+ 0x45, 0x52, 0x52, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0x4b, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x47,
+ 0x55, 0x45, 0x53, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x44, 0x52, 0x41, 0x46,
+ 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xba, 0x4b, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f,
+ 0x49, 0x4e, 0x56, 0x49, 0x54, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45,
+ 0x10, 0xbb, 0x4b, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x46, 0x54, 0x5f, 0x54, 0x57, 0x49, 0x43, 0x45, 0x5f, 0x43,
+ 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45,
+ 0x52, 0x10, 0xbc, 0x4b, 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4f, 0x57, 0x4e, 0x10,
+ 0xe5, 0x4b, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43,
+ 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x10, 0xe6, 0x4b, 0x12, 0x2e,
+ 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f,
+ 0x48, 0x41, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x10, 0xe7, 0x4b, 0x12, 0x20,
+ 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0xe8, 0x4b,
+ 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c,
+ 0x10, 0xe9, 0x4b, 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10,
+ 0xea, 0x4b, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49,
+ 0x4e, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x57, 0x4f,
+ 0x52, 0x4c, 0x44, 0x10, 0xeb, 0x4b, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x44,
+ 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xec, 0x4b, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10,
+ 0xed, 0x4b, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x47, 0x55, 0x45, 0x53, 0x54,
+ 0x10, 0xee, 0x4b, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x54, 0x5f, 0x45, 0x4e, 0x54,
+ 0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x49, 0x4e, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4d, 0x4f,
+ 0x44, 0x45, 0x10, 0xef, 0x4b, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54,
+ 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xf0,
+ 0x4b, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x49, 0x4e, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x10, 0xf1,
+ 0x4b, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x57, 0x4f,
+ 0x52, 0x4c, 0x44, 0x10, 0xf2, 0x4b, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46,
+ 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x45, 0x4d, 0x10, 0xf3, 0x4b, 0x12, 0x2f,
+ 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x48, 0x4f, 0x4d,
+ 0x45, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xf4, 0x4b, 0x12,
+ 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48,
+ 0x4f, 0x4d, 0x45, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, 0x5f,
+ 0x47, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0xf5, 0x4b, 0x12, 0x30,
+ 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x46, 0x55, 0x53, 0x45, 0x5f,
+ 0x54, 0x4f, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x10, 0xf6, 0x4b,
+ 0x12, 0x23, 0x0a, 0x1e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49,
+ 0x4e, 0x45, 0x10, 0xf7, 0x4b, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54,
+ 0x55, 0x52, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54,
+ 0x10, 0xf8, 0x4b, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52,
+ 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55,
+ 0x47, 0x48, 0x10, 0xf9, 0x4b, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x59,
+ 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x10, 0xfa,
+ 0x4b, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x49, 0x4e,
+ 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x10, 0xfb, 0x4b,
+ 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44,
+ 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xfc, 0x4b, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x43, 0x4f,
+ 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xfd, 0x4b,
+ 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0xfe, 0x4b, 0x12, 0x27, 0x0a, 0x22, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f,
+ 0x43, 0x55, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45,
+ 0x44, 0x10, 0xff, 0x4b, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55,
+ 0x52, 0x45, 0x5f, 0x53, 0x55, 0x49, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c,
+ 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x80, 0x4c, 0x12, 0x1e, 0x0a, 0x19, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x5f,
+ 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x81, 0x4c, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x5f,
+ 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54, 0x10, 0x82, 0x4c, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x45, 0x44,
+ 0x49, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x44, 0x10, 0x83, 0x4c, 0x12, 0x29, 0x0a,
+ 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d,
+ 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55,
+ 0x52, 0x45, 0x5f, 0x43, 0x44, 0x10, 0x84, 0x4c, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x42, 0x4c, 0x4f,
+ 0x43, 0x4b, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4c, 0x49, 0x4d,
+ 0x49, 0x54, 0x10, 0x85, 0x4c, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55,
+ 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x86, 0x4c, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x87, 0x4c, 0x12, 0x2b,
+ 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x88, 0x4c, 0x12, 0x31, 0x0a, 0x2c, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f,
+ 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4f, 0x54, 0x48, 0x45,
+ 0x52, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x89, 0x4c, 0x12, 0x28,
+ 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x5f,
+ 0x48, 0x4f, 0x55, 0x53, 0x45, 0x10, 0x8a, 0x4c, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x5f,
+ 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x10, 0x8b, 0x4c, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x41,
+ 0x4e, 0x59, 0x5f, 0x47, 0x41, 0x4c, 0x4c, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54,
+ 0x45, 0x44, 0x10, 0x8c, 0x4c, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f,
+ 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x10, 0x8d, 0x4c, 0x12, 0x29, 0x0a,
+ 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d,
+ 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x5f,
+ 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x8e, 0x4c, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x45, 0x52,
+ 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x46, 0x41,
+ 0x49, 0x4c, 0x10, 0x8f, 0x4c, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x4f,
+ 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10,
+ 0x90, 0x4c, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x45, 0x4e,
+ 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x91, 0x4c, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4d, 0x41,
+ 0x58, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x10, 0x92, 0x4c, 0x12, 0x21, 0x0a, 0x1c, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f,
+ 0x49, 0x4e, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0x93, 0x4c, 0x12, 0x2e,
+ 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x47, 0x41, 0x4c, 0x4c,
+ 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x94, 0x4c, 0x12, 0x2c,
+ 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52,
+ 0x5f, 0x49, 0x4e, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x54, 0x10, 0x95, 0x4c, 0x12, 0x2b, 0x0a, 0x26,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x55, 0x52, 0x4e,
+ 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58,
+ 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x96, 0x4c, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55,
+ 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x97,
+ 0x4c, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f,
+ 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x98, 0x4c, 0x12,
+ 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46,
+ 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f, 0x53, 0x4c,
+ 0x4f, 0x54, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x99, 0x4c, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54,
+ 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x55, 0x52,
+ 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x9a, 0x4c, 0x12, 0x28,
+ 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x55,
+ 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f, 0x55, 0x4e, 0x46,
+ 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x9b, 0x4c, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52,
+ 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f, 0x49, 0x53, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48,
+ 0x10, 0x9c, 0x4c, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x4b,
+ 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54,
+ 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x10, 0x9d, 0x4c, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52,
+ 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10,
+ 0x9e, 0x4c, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41, 0x4b, 0x45,
+ 0x5f, 0x41, 0x43, 0x43, 0x45, 0x4c, 0x45, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x10, 0x9f, 0x4c, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x41,
+ 0x4b, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x4d, 0x41, 0x4b, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10,
+ 0xa0, 0x4c, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x5f, 0x53,
+ 0x48, 0x4f, 0x50, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0xa1, 0x4c, 0x12, 0x25, 0x0a, 0x20,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45,
+ 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x57,
+ 0x10, 0xa2, 0x4c, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f,
+ 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x41, 0x54, 0x49, 0x53, 0x46, 0x49, 0x45, 0x44,
+ 0x10, 0xa3, 0x4c, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f,
+ 0x41, 0x52, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x41, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x50,
+ 0x41, 0x52, 0x41, 0x4d, 0x10, 0xa4, 0x4c, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41,
+ 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4e, 0x50, 0x43, 0x5f,
+ 0x50, 0x41, 0x52, 0x41, 0x4d, 0x10, 0xa5, 0x4c, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x56,
+ 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x53, 0x55, 0x49,
+ 0x54, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x10, 0xa6, 0x4c, 0x12, 0x36, 0x0a, 0x31, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f,
+ 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f,
+ 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x48, 0x4f, 0x55, 0x53, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d,
+ 0x10, 0xa7, 0x4c, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x53,
+ 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xa8, 0x4c,
+ 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xa9, 0x4c, 0x12, 0x27, 0x0a,
+ 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d,
+ 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x45, 0x4d,
+ 0x50, 0x54, 0x59, 0x10, 0xaa, 0x4c, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54,
+ 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f,
+ 0x52, 0x10, 0xab, 0x4c, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x54,
+ 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xac,
+ 0x4c, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x5f,
+ 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e,
+ 0x4f, 0x55, 0x47, 0x48, 0x10, 0xad, 0x4c, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e,
+ 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45, 0x52,
+ 0x52, 0x4f, 0x52, 0x10, 0xae, 0x4c, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49,
+ 0x54, 0x55, 0x52, 0x45, 0x5f, 0x47, 0x55, 0x49, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
+ 0xaf, 0x4c, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45,
+ 0x5f, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb0,
+ 0x4c, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x46, 0x41, 0x52, 0x4d, 0x49,
+ 0x4e, 0x47, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb1, 0x4c, 0x12, 0x2b, 0x0a, 0x26, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f,
+ 0x46, 0x49, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xb2, 0x4c, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52,
+ 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x10, 0xb3, 0x4c, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
+ 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
+ 0x44, 0x10, 0xb4, 0x4c, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44,
+ 0x5f, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50,
+ 0x41, 0x52, 0x41, 0x4d, 0x10, 0xb5, 0x4c, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e,
+ 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x47, 0x52,
+ 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb6, 0x4c, 0x12, 0x38, 0x0a, 0x33,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45,
+ 0x5f, 0x50, 0x49, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x5f, 0x43,
+ 0x4f, 0x4f, 0x50, 0x5f, 0x43, 0x47, 0x5f, 0x47, 0x45, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x45, 0x52,
+ 0x52, 0x4f, 0x52, 0x10, 0xb7, 0x4c, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x54, 0x55,
+ 0x52, 0x45, 0x5f, 0x46, 0x52, 0x41, 0x4d, 0x45, 0x5f, 0x43, 0x4f, 0x4f, 0x50, 0x5f, 0x43, 0x47,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xb8, 0x4c, 0x12, 0x2e,
+ 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x41, 0x4e,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xb9, 0x4c, 0x12, 0x32,
+ 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f,
+ 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x5f,
+ 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x49, 0x54, 0x45, 0x10,
+ 0xba, 0x4c, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45,
+ 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x53, 0x55, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x4f,
+ 0x4f, 0x5f, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x10, 0xbb, 0x4c, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46,
+ 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
+ 0x53, 0x55, 0x49, 0x54, 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x42, 0x49, 0x47, 0x10, 0xbc, 0x4c,
+ 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x53,
+ 0x55, 0x49, 0x54, 0x45, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x10, 0xbd, 0x4c, 0x12, 0x39, 0x0a, 0x34, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55,
+ 0x52, 0x45, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x53, 0x55, 0x49, 0x54, 0x45, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xbe, 0x4c, 0x12,
+ 0x41, 0x0a, 0x3c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48,
+ 0x4f, 0x4d, 0x45, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x53, 0x55, 0x49, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c,
+ 0x49, 0x44, 0x5f, 0x53, 0x55, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10,
+ 0xbf, 0x4c, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x42, 0x47, 0x4d, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc0, 0x4c, 0x12, 0x26, 0x0a, 0x21, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x42,
+ 0x47, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10,
+ 0xc1, 0x4c, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x42, 0x47, 0x4d, 0x5f, 0x46, 0x55, 0x52, 0x4e, 0x49,
+ 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc2,
+ 0x4c, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x42, 0x47, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x55,
+ 0x50, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x59, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x53, 0x43, 0x45,
+ 0x4e, 0x45, 0x10, 0xc3, 0x4c, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45,
+ 0x44, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x47, 0x4f, 0x4f, 0x44, 0x53, 0x5f, 0x44, 0x49, 0x53,
+ 0x41, 0x42, 0x4c, 0x45, 0x10, 0xc4, 0x4c, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c,
+ 0x44, 0x5f, 0x57, 0x4f, 0x4f, 0x44, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f,
+ 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xc5, 0x4c, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x57, 0x4f, 0x52,
+ 0x4c, 0x44, 0x5f, 0x57, 0x4f, 0x4f, 0x44, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xc6, 0x4c, 0x12, 0x37, 0x0a,
+ 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d,
+ 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x57, 0x4f, 0x4f, 0x44, 0x5f, 0x4d, 0x41, 0x54,
+ 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x56, 0x41,
+ 0x4c, 0x49, 0x44, 0x10, 0xc7, 0x4c, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x4f, 0x4d, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44,
+ 0x5f, 0x57, 0x4f, 0x4f, 0x44, 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x45,
+ 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xc8, 0x4c, 0x12, 0x2d,
+ 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55,
+ 0x4d, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x47,
+ 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x90, 0x4e, 0x12, 0x30, 0x0a,
+ 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55, 0x4d,
+ 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43,
+ 0x48, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x44, 0x10, 0x91, 0x4e, 0x12,
+ 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53,
+ 0x55, 0x4d, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x45, 0x41,
+ 0x4d, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x10,
+ 0x92, 0x4e, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49,
+ 0x56, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x5f, 0x49, 0x44, 0x5f, 0x45, 0x52, 0x52,
+ 0x4f, 0x52, 0x10, 0x94, 0x4e, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x41,
+ 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x95, 0x4e, 0x12, 0x35, 0x0a, 0x30,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x55, 0x4e, 0x41,
+ 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x41,
+ 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x53, 0x41, 0x43, 0x52, 0x49, 0x46, 0x49, 0x43, 0x45,
+ 0x10, 0x96, 0x4e, 0x12, 0x37, 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54,
+ 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x54, 0x41,
+ 0x4b, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0x97, 0x4e, 0x12, 0x38, 0x0a, 0x33,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x55, 0x4e, 0x41,
+ 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53,
+ 0x41, 0x43, 0x52, 0x49, 0x46, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f,
+ 0x55, 0x47, 0x48, 0x10, 0x98, 0x4e, 0x12, 0x3b, 0x0a, 0x36, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x55, 0x4e, 0x41, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f,
+ 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x49,
+ 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x45, 0x54,
+ 0x10, 0x99, 0x4e, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x44, 0x49, 0x47, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x4f,
+ 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x49, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43,
+ 0x48, 0x10, 0x9f, 0x4e, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x44, 0x49, 0x47, 0x5f, 0x46, 0x49, 0x4e, 0x44, 0x5f, 0x4e, 0x45, 0x41,
+ 0x52, 0x45, 0x53, 0x54, 0x5f, 0x50, 0x4f, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xa0, 0x4e,
+ 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xa5, 0x4e, 0x12, 0x2c, 0x0a, 0x27,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x55, 0x53, 0x49,
+ 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xa6, 0x4e, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f,
+ 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53,
+ 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0xa7, 0x4e, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f, 0x47,
+ 0x41, 0x4d, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xa8, 0x4e, 0x12, 0x2e, 0x0a,
+ 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4d, 0x55, 0x53,
+ 0x49, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x44,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0xa9, 0x4e, 0x12, 0x2c, 0x0a,
+ 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47,
+ 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xaf, 0x4e, 0x12, 0x2c, 0x0a, 0x27, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45,
+ 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xb0, 0x4e, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49,
+ 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e,
+ 0x4f, 0x55, 0x47, 0x48, 0x10, 0xb1, 0x4e, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45,
+ 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb2, 0x4e, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45,
+ 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb3, 0x4e, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45,
+ 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x43, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0xb4, 0x4e, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45,
+ 0x5f, 0x52, 0x55, 0x4e, 0x45, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
+ 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xb5, 0x4e, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49,
+ 0x4b, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f,
+ 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x10, 0xb6, 0x4e, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c,
+ 0x49, 0x4b, 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55,
+ 0x4e, 0x44, 0x10, 0xb7, 0x4e, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43,
+ 0x45, 0x4c, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45,
+ 0x43, 0x54, 0x10, 0xb8, 0x4e, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43,
+ 0x45, 0x4c, 0x4c, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x46, 0x49, 0x4e, 0x49,
+ 0x53, 0x48, 0x45, 0x44, 0x10, 0xb9, 0x4e, 0x12, 0x3b, 0x0a, 0x36, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45,
+ 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x55, 0x4e,
+ 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53,
+ 0x53, 0x10, 0xba, 0x4e, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54,
+ 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44,
+ 0x10, 0xbb, 0x4e, 0x12, 0x3c, 0x0a, 0x37, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x41,
+ 0x47, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x52, 0x45,
+ 0x57, 0x41, 0x52, 0x44, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xbd,
+ 0x4e, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56,
+ 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53,
+ 0x45, 0x44, 0x10, 0xbe, 0x4e, 0x12, 0x39, 0x0a, 0x34, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x44,
+ 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0xbf, 0x4e,
+ 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xc0, 0x4e, 0x12, 0x2b, 0x0a,
+ 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47,
+ 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x5f, 0x49, 0x53,
+ 0x5f, 0x42, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x10, 0xc1, 0x4e, 0x12, 0x39, 0x0a, 0x34, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c,
+ 0x49, 0x4b, 0x45, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x5f,
+ 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48,
+ 0x45, 0x44, 0x10, 0xc2, 0x4e, 0x12, 0x37, 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x41,
+ 0x4c, 0x4c, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x5f, 0x43, 0x41,
+ 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45, 0x10, 0xc3, 0x4e, 0x12, 0x2f,
+ 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c,
+ 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41,
+ 0x44, 0x59, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x5f, 0x53, 0x45, 0x45, 0x44, 0x10, 0xc8, 0x4e, 0x12,
+ 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50,
+ 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x46, 0x52, 0x49, 0x45,
+ 0x4e, 0x44, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0xc9, 0x4e, 0x12, 0x38, 0x0a, 0x33, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x4f,
+ 0x57, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x47, 0x49, 0x56, 0x45, 0x5f, 0x46, 0x4c, 0x4f,
+ 0x57, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xca,
+ 0x4e, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x57, 0x49,
+ 0x53, 0x48, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x53, 0x5f,
+ 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xcb, 0x4e, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x4c,
+ 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x52,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xcc, 0x4e, 0x12, 0x38,
+ 0x0a, 0x33, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4c,
+ 0x41, 0x4e, 0x54, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x46, 0x4c, 0x4f, 0x57, 0x45,
+ 0x52, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e,
+ 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xcd, 0x4e, 0x12, 0x28, 0x0a, 0x23, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x48, 0x41, 0x43, 0x48, 0x49, 0x5f, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10,
+ 0xc4, 0x4e, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x48, 0x41, 0x43, 0x48, 0x49, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xc5,
+ 0x4e, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x48, 0x41, 0x43, 0x48, 0x49, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x54,
+ 0x45, 0x41, 0x4d, 0x4d, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x41, 0x53, 0x53,
+ 0x10, 0xc6, 0x4e, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x43,
+ 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48,
+ 0x10, 0xd7, 0x4e, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x43,
+ 0x4f, 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48,
+ 0x10, 0xd8, 0x4e, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x43,
+ 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d,
+ 0x49, 0x54, 0x10, 0xd9, 0x4e, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50,
+ 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4d, 0x49, 0x54, 0x10, 0xda, 0x4e, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41,
+ 0x4d, 0x50, 0x5f, 0x57, 0x49, 0x53, 0x48, 0x5f, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c,
+ 0x49, 0x44, 0x10, 0xdb, 0x4e, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f,
+ 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0xdc, 0x4e, 0x12, 0x37, 0x0a, 0x32,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54,
+ 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x49,
+ 0x54, 0x45, 0x4d, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46, 0x4c,
+ 0x4f, 0x57, 0x10, 0xdd, 0x4e, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50,
+ 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x44, 0x41, 0x54,
+ 0x41, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xde, 0x4e, 0x12, 0x2c, 0x0a, 0x27,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54,
+ 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4c, 0x49, 0x53,
+ 0x54, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0xdf, 0x4e, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54, 0x45, 0x52,
+ 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x41, 0x4c, 0x52,
+ 0x45, 0x41, 0x44, 0x59, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x10, 0xe0, 0x4e, 0x12, 0x2d, 0x0a,
+ 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e,
+ 0x54, 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0xe1, 0x4e, 0x12, 0x2b, 0x0a, 0x26,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x57, 0x49, 0x4e, 0x54,
+ 0x45, 0x52, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x5f, 0x47, 0x41, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x49,
+ 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xe2, 0x4e, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e,
+ 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xea, 0x4e, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52,
+ 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xeb, 0x4e, 0x12, 0x2f, 0x0a, 0x2a, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45,
+ 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x43, 0x5f, 0x4e,
+ 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xec, 0x4e, 0x12, 0x31, 0x0a, 0x2c,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54,
+ 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xed, 0x4e, 0x12,
+ 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c,
+ 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e,
+ 0x5f, 0x42, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10,
+ 0xee, 0x4e, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43,
+ 0x4f, 0x49, 0x4e, 0x5f, 0x43, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d,
+ 0x49, 0x54, 0x10, 0xef, 0x4e, 0x12, 0x37, 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54,
+ 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e,
+ 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xf0, 0x4e, 0x12, 0x36,
+ 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41,
+ 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45,
+ 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54,
+ 0x41, 0x52, 0x54, 0x10, 0xf1, 0x4e, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49,
+ 0x54, 0x45, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f,
+ 0x50, 0x45, 0x4e, 0x10, 0xf2, 0x4e, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49,
+ 0x54, 0x45, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x5f, 0x53, 0x4b, 0x49,
+ 0x4e, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x10, 0xf3, 0x4e, 0x12, 0x38, 0x0a, 0x33, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45,
+ 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x49,
+ 0x53, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x4b, 0x49, 0x4e, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x45,
+ 0x52, 0x53, 0x10, 0xf4, 0x4e, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54,
+ 0x45, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54,
+ 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xf5, 0x4e, 0x12, 0x3b, 0x0a,
+ 0x36, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e,
+ 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f,
+ 0x52, 0x4b, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xf6, 0x4e, 0x12, 0x3a, 0x0a, 0x35, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52,
+ 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53,
+ 0x5f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45, 0x52,
+ 0x52, 0x4f, 0x52, 0x10, 0xf7, 0x4e, 0x12, 0x39, 0x0a, 0x34, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49,
+ 0x54, 0x45, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x52, 0x45, 0x46,
+ 0x4f, 0x52, 0x4d, 0x5f, 0x53, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xf8,
+ 0x4e, 0x12, 0x41, 0x0a, 0x3c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x4c, 0x41, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x5f, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x46, 0x49,
+ 0x52, 0x45, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x53,
+ 0x54, 0x41, 0x4d, 0x49, 0x4e, 0x41, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47,
+ 0x48, 0x10, 0xf9, 0x4e, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56,
+ 0x49, 0x54, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50,
+ 0x45, 0x4e, 0x10, 0xfe, 0x4e, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49,
+ 0x56, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f,
+ 0x50, 0x41, 0x53, 0x53, 0x10, 0xff, 0x4e, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43,
+ 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x45, 0x41, 0x4d, 0x5f, 0x4e, 0x55, 0x4d, 0x5f,
+ 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x10, 0x80, 0x4f, 0x12, 0x2d, 0x0a, 0x28,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x54,
+ 0x41, 0x52, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x44, 0x10, 0x81, 0x4f, 0x12, 0x2b, 0x0a, 0x26, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x5f,
+ 0x49, 0x4e, 0x5f, 0x43, 0x44, 0x10, 0x82, 0x4f, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49, 0x5f,
+ 0x50, 0x4f, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c,
+ 0x49, 0x4e, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x88, 0x4f, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49,
+ 0x5f, 0x50, 0x4f, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f,
+ 0x54, 0x48, 0x45, 0x4d, 0x45, 0x5f, 0x49, 0x44, 0x10, 0x89, 0x4f, 0x12, 0x37, 0x0a, 0x32, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f, 0x44, 0x4f,
+ 0x52, 0x49, 0x5f, 0x50, 0x4f, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x47, 0x45,
+ 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x50, 0x49, 0x52, 0x41, 0x54, 0x49, 0x4f,
+ 0x4e, 0x10, 0x8a, 0x4f, 0x12, 0x37, 0x0a, 0x32, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x50, 0x4f, 0x45, 0x54,
+ 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x50, 0x49, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52,
+ 0x45, 0x41, 0x43, 0x48, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x45, 0x10, 0x8b, 0x4f, 0x12, 0x36, 0x0a,
+ 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f,
+ 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x50, 0x4f, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x45, 0x4e, 0x54, 0x49,
+ 0x54, 0x59, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4e, 0x4e,
+ 0x45, 0x44, 0x10, 0x8c, 0x4f, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x42, 0x41,
+ 0x4e, 0x4e, 0x45, 0x52, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x43, 0x4c, 0x45,
+ 0x41, 0x52, 0x45, 0x44, 0x10, 0xbc, 0x50, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x43,
+ 0x48, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xbd, 0x50,
+ 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x49, 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x4c, 0x45,
+ 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xbe, 0x50, 0x12,
+ 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49,
+ 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x50,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0xbf, 0x50, 0x12, 0x37, 0x0a, 0x32,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f, 0x44,
+ 0x4f, 0x52, 0x49, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x43, 0x41,
+ 0x52, 0x44, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x51, 0x55, 0x49, 0x50,
+ 0x45, 0x44, 0x10, 0xc0, 0x50, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x43, 0x48, 0x45,
+ 0x53, 0x53, 0x5f, 0x45, 0x51, 0x55, 0x49, 0x50, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x45, 0x58,
+ 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xc1, 0x50, 0x12, 0x33, 0x0a,
+ 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x49, 0x52, 0x4f,
+ 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x41, 0x50, 0x5f, 0x43,
+ 0x41, 0x52, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x49, 0x50, 0x45, 0x44, 0x10,
+ 0xc2, 0x50, 0x12, 0x3b, 0x0a, 0x36, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x49, 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x43, 0x48, 0x45, 0x53, 0x53, 0x5f,
+ 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x41, 0x52, 0x44, 0x5f,
+ 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xc3, 0x50, 0x12,
+ 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x41,
+ 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x5f, 0x48,
+ 0x41, 0x56, 0x45, 0x5f, 0x47, 0x49, 0x46, 0x54, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xc6,
+ 0x50, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x5f,
+ 0x48, 0x41, 0x56, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x10, 0xcb, 0x50, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x47, 0x41, 0x43, 0x48, 0x41, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49,
+ 0x54, 0x59, 0x5f, 0x48, 0x41, 0x56, 0x45, 0x5f, 0x52, 0x4f, 0x42, 0x4f, 0x54, 0x5f, 0x4c, 0x49,
+ 0x4d, 0x49, 0x54, 0x10, 0xcc, 0x50, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d,
+ 0x45, 0x5f, 0x56, 0x32, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44,
+ 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xcd, 0x50, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52, 0x5f,
+ 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x56, 0x32, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xce, 0x50, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52,
+ 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x56, 0x32, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10,
+ 0xcf, 0x50, 0x12, 0x39, 0x0a, 0x34, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x45, 0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x56, 0x32,
+ 0x5f, 0x50, 0x52, 0x45, 0x56, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0xd0, 0x50, 0x12, 0x29, 0x0a,
+ 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47,
+ 0x55, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f,
+ 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0xee, 0x50, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49,
+ 0x41, 0x52, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x54, 0x49, 0x52, 0x45, 0x44,
+ 0x10, 0xef, 0x50, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x41,
+ 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44,
+ 0x10, 0xf0, 0x50, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x43,
+ 0x4f, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xf1,
+ 0x50, 0x12, 0x36, 0x0a, 0x31, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x56, 0x49, 0x52,
+ 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44,
+ 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xf2, 0x50, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x44,
+ 0x49, 0x41, 0x52, 0x59, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x49,
+ 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xf3, 0x50, 0x12,
+ 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x52,
+ 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45,
+ 0x4e, 0x54, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xfe, 0x50, 0x12, 0x33, 0x0a, 0x2e,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x56,
+ 0x45, 0x4e, 0x5f, 0x49, 0x4e, 0x4e, 0x4f, 0x43, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x49,
+ 0x4e, 0x5f, 0x41, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x8c,
+ 0x51, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x47, 0x52, 0x41, 0x56, 0x45, 0x4e, 0x5f, 0x49, 0x4e, 0x4e, 0x4f, 0x43, 0x45, 0x4e, 0x43,
+ 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f,
+ 0x55, 0x47, 0x48, 0x10, 0x8d, 0x51, 0x12, 0x35, 0x0a, 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x56, 0x45, 0x4e, 0x5f, 0x49, 0x4e, 0x4e,
+ 0x4f, 0x43, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x5f, 0x45, 0x58,
+ 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x8e, 0x51, 0x12, 0x35, 0x0a,
+ 0x30, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x47, 0x52, 0x41,
+ 0x56, 0x45, 0x4e, 0x5f, 0x49, 0x4e, 0x4e, 0x4f, 0x43, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x43, 0x4f,
+ 0x49, 0x4e, 0x5f, 0x42, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49,
+ 0x54, 0x10, 0x8f, 0x51, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x49, 0x53, 0x4c, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x59,
+ 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10,
+ 0x83, 0x51, 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47,
+ 0x10, 0xf9, 0x55, 0x12, 0x21, 0x0a, 0x1c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52,
+ 0x52, 0x4f, 0x52, 0x10, 0xfa, 0x55, 0x12, 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x42, 0x41, 0x49, 0x54, 0x5f,
+ 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xfb, 0x55, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f,
+ 0x4d, 0x41, 0x58, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0xfc, 0x55, 0x12,
+ 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46,
+ 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x42, 0x41, 0x54,
+ 0x10, 0xfd, 0x55, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c,
+ 0x45, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x10, 0xfe, 0x55, 0x12, 0x1f,
+ 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x46, 0x49,
+ 0x53, 0x48, 0x5f, 0x47, 0x4f, 0x4e, 0x45, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x10, 0xff, 0x55, 0x12,
+ 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43,
+ 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4f, 0x54, 0x48, 0x45,
+ 0x52, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x10, 0xab, 0x56, 0x12, 0x28, 0x0a, 0x23,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54,
+ 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x44, 0x49, 0x53, 0x4d, 0x41,
+ 0x54, 0x43, 0x48, 0x10, 0xac, 0x56, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
+ 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0xad, 0x56, 0x12,
+ 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x42,
+ 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47,
+ 0x45, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xae, 0x56, 0x12, 0x2f, 0x0a, 0x2a, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f,
+ 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x43,
+ 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xaf, 0x56, 0x12, 0x2d, 0x0a, 0x28,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54,
+ 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f,
+ 0x4d, 0x41, 0x59, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0xb0, 0x56, 0x12, 0x26, 0x0a, 0x21, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49,
+ 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x10, 0xb1, 0x56, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10,
+ 0xb2, 0x56, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x54, 0x52, 0x59, 0x10, 0xb3, 0x56, 0x12,
+ 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43,
+ 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
+ 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xb4, 0x56, 0x12, 0x2c,
+ 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f,
+ 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0xb5, 0x56, 0x12, 0x31, 0x0a, 0x2c,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54,
+ 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f,
+ 0x54, 0x4f, 0x4f, 0x5f, 0x46, 0x52, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x10, 0xb6, 0x56, 0x12,
+ 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43,
+ 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f,
+ 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0xb7, 0x56, 0x12, 0x29,
+ 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4c, 0x41, 0x43,
+ 0x4b, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x10, 0xb8, 0x56, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
+ 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53,
+ 0x48, 0x5f, 0x42, 0x52, 0x49, 0x43, 0x4b, 0x10, 0xb9, 0x56, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45,
+ 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d,
+ 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x46,
+ 0x49, 0x4e, 0x49, 0x53, 0x48, 0x10, 0xba, 0x56, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43,
+ 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44,
+ 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49,
+ 0x53, 0x48, 0x45, 0x44, 0x10, 0xbb, 0x56, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45,
+ 0x10, 0xbc, 0x56, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x10, 0xbd,
+ 0x56, 0x12, 0x32, 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x53, 0x45,
+ 0x4c, 0x46, 0x10, 0xbe, 0x56, 0x12, 0x2d, 0x0a, 0x28, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47,
+ 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x53, 0x55, 0x43,
+ 0x43, 0x10, 0xbf, 0x56, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f,
+ 0x53, 0x45, 0x4c, 0x46, 0x10, 0xc0, 0x56, 0x12, 0x29, 0x0a, 0x24, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10,
+ 0xc1, 0x56, 0x12, 0x2f, 0x0a, 0x2a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47,
+ 0x10, 0xc2, 0x56, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x5f, 0x53, 0x45, 0x54, 0x54,
+ 0x49, 0x4e, 0x47, 0x10, 0xc3, 0x56, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e,
+ 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e,
+ 0x47, 0x10, 0xc4, 0x56, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10,
+ 0xc5, 0x56, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x49, 0x43, 0x49, 0x41, 0x4c, 0x10, 0xc6, 0x56,
+ 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4c,
+ 0x49, 0x46, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xc7, 0x56,
+ 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e,
+ 0x4f, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0xc8, 0x56, 0x12, 0x32,
+ 0x0a, 0x2d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x42, 0x52, 0x49,
+ 0x43, 0x4b, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10,
+ 0xc9, 0x56, 0x12, 0x33, 0x0a, 0x2e, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x4f, 0x46, 0x46, 0x49, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e,
+ 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0xca, 0x56, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45,
+ 0x44, 0x49, 0x54, 0x5f, 0x4f, 0x46, 0x46, 0x49, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x54,
+ 0x54, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x56, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55,
+ 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53,
+ 0x48, 0x10, 0xcc, 0x56, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41,
+ 0x59, 0x10, 0xcd, 0x56, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x47, 0x52, 0x4f, 0x55,
+ 0x50, 0x10, 0xce, 0x56, 0x12, 0x2c, 0x0a, 0x27, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4e, 0x55, 0x4d, 0x10,
+ 0xcf, 0x56, 0x12, 0x31, 0x0a, 0x2c, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45,
+ 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e,
+ 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x53, 0x54, 0x55,
+ 0x43, 0x4b, 0x10, 0xd0, 0x56, 0x12, 0x27, 0x0a, 0x22, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47,
+ 0x45, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x54, 0x41, 0x47, 0x10, 0xd1, 0x56, 0x12, 0x2b,
+ 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55,
+ 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56,
+ 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x41, 0x47, 0x10, 0xd2, 0x56, 0x12, 0x28, 0x0a, 0x23, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f,
+ 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x4f,
+ 0x53, 0x54, 0x10, 0xd3, 0x56, 0x12, 0x34, 0x0a, 0x2f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47,
+ 0x45, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x4f, 0x4f, 0x5f,
+ 0x46, 0x52, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x10, 0xd4, 0x56, 0x12, 0x28, 0x0a, 0x23, 0x52,
+ 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f,
+ 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50,
+ 0x45, 0x4e, 0x10, 0xd5, 0x56, 0x12, 0x22, 0x0a, 0x1d, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45,
+ 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x43, 0x44, 0x5f, 0x49, 0x44,
+ 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xdd, 0x56, 0x12, 0x25, 0x0a, 0x20, 0x52, 0x45, 0x54,
+ 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x43,
+ 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xde, 0x56,
+ 0x12, 0x1f, 0x0a, 0x1a, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x43, 0x44, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x44, 0x10, 0xdf,
+ 0x56, 0x12, 0x2a, 0x0a, 0x25, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x43, 0x44, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0xe0, 0x56, 0x12, 0x1d, 0x0a,
+ 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x55, 0x47, 0x43,
+ 0x5f, 0x44, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x8f, 0x57, 0x12, 0x23, 0x0a, 0x1e,
+ 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x55, 0x47, 0x43, 0x5f,
+ 0x44, 0x41, 0x54, 0x41, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x90,
+ 0x57, 0x12, 0x24, 0x0a, 0x1f, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x42, 0x52, 0x49, 0x45, 0x46, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46,
+ 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x91, 0x57, 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f,
+ 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42,
+ 0x4c, 0x45, 0x44, 0x10, 0x92, 0x57, 0x12, 0x1c, 0x0a, 0x17, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44,
+ 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45,
+ 0x44, 0x10, 0x93, 0x57, 0x12, 0x1b, 0x0a, 0x16, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f,
+ 0x52, 0x45, 0x54, 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x94,
+ 0x57, 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x55, 0x47, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x95, 0x57,
+ 0x12, 0x1d, 0x0a, 0x18, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f,
+ 0x55, 0x47, 0x43, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x96, 0x57, 0x12,
+ 0x20, 0x0a, 0x1b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x5f, 0x55,
+ 0x47, 0x43, 0x5f, 0x42, 0x41, 0x4e, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x97,
+ 0x57, 0x12, 0x2e, 0x0a, 0x29, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x5f,
+ 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0xc1,
+ 0x57, 0x12, 0x30, 0x0a, 0x2b, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x45, 0x54,
+ 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x42, 0x4f, 0x4f, 0x53, 0x54, 0x5f,
+ 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54,
+ 0x10, 0xc2, 0x57, 0x12, 0x2b, 0x0a, 0x26, 0x52, 0x45, 0x54, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x52,
+ 0x45, 0x54, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x5f, 0x48, 0x49, 0x54, 0x5f, 0x54, 0x52, 0x45,
+ 0x45, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x54, 0x52, 0x45, 0x45, 0x53, 0x10, 0xcb, 0x57,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Retcode_proto_rawDescOnce sync.Once
+ file_Retcode_proto_rawDescData = file_Retcode_proto_rawDesc
+)
+
+func file_Retcode_proto_rawDescGZIP() []byte {
+ file_Retcode_proto_rawDescOnce.Do(func() {
+ file_Retcode_proto_rawDescData = protoimpl.X.CompressGZIP(file_Retcode_proto_rawDescData)
+ })
+ return file_Retcode_proto_rawDescData
+}
+
+var file_Retcode_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_Retcode_proto_goTypes = []interface{}{
+ (Retcode)(0), // 0: Retcode
+}
+var file_Retcode_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_Retcode_proto_init() }
+func file_Retcode_proto_init() {
+ if File_Retcode_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Retcode_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Retcode_proto_goTypes,
+ DependencyIndexes: file_Retcode_proto_depIdxs,
+ EnumInfos: file_Retcode_proto_enumTypes,
+ }.Build()
+ File_Retcode_proto = out.File
+ file_Retcode_proto_rawDesc = nil
+ file_Retcode_proto_goTypes = nil
+ file_Retcode_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RetryCurRogueDiaryDungeonReq.pb.go b/protocol/proto/RetryCurRogueDiaryDungeonReq.pb.go
new file mode 100644
index 00000000..46b4d1e8
--- /dev/null
+++ b/protocol/proto/RetryCurRogueDiaryDungeonReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RetryCurRogueDiaryDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8398
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RetryCurRogueDiaryDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RetryCurRogueDiaryDungeonReq) Reset() {
+ *x = RetryCurRogueDiaryDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RetryCurRogueDiaryDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RetryCurRogueDiaryDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RetryCurRogueDiaryDungeonReq) ProtoMessage() {}
+
+func (x *RetryCurRogueDiaryDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RetryCurRogueDiaryDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RetryCurRogueDiaryDungeonReq.ProtoReflect.Descriptor instead.
+func (*RetryCurRogueDiaryDungeonReq) Descriptor() ([]byte, []int) {
+ return file_RetryCurRogueDiaryDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RetryCurRogueDiaryDungeonReq_proto protoreflect.FileDescriptor
+
+var file_RetryCurRogueDiaryDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x75, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44,
+ 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x52,
+ 0x65, 0x74, 0x72, 0x79, 0x43, 0x75, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RetryCurRogueDiaryDungeonReq_proto_rawDescOnce sync.Once
+ file_RetryCurRogueDiaryDungeonReq_proto_rawDescData = file_RetryCurRogueDiaryDungeonReq_proto_rawDesc
+)
+
+func file_RetryCurRogueDiaryDungeonReq_proto_rawDescGZIP() []byte {
+ file_RetryCurRogueDiaryDungeonReq_proto_rawDescOnce.Do(func() {
+ file_RetryCurRogueDiaryDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RetryCurRogueDiaryDungeonReq_proto_rawDescData)
+ })
+ return file_RetryCurRogueDiaryDungeonReq_proto_rawDescData
+}
+
+var file_RetryCurRogueDiaryDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RetryCurRogueDiaryDungeonReq_proto_goTypes = []interface{}{
+ (*RetryCurRogueDiaryDungeonReq)(nil), // 0: proto.RetryCurRogueDiaryDungeonReq
+}
+var file_RetryCurRogueDiaryDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RetryCurRogueDiaryDungeonReq_proto_init() }
+func file_RetryCurRogueDiaryDungeonReq_proto_init() {
+ if File_RetryCurRogueDiaryDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RetryCurRogueDiaryDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RetryCurRogueDiaryDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RetryCurRogueDiaryDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RetryCurRogueDiaryDungeonReq_proto_goTypes,
+ DependencyIndexes: file_RetryCurRogueDiaryDungeonReq_proto_depIdxs,
+ MessageInfos: file_RetryCurRogueDiaryDungeonReq_proto_msgTypes,
+ }.Build()
+ File_RetryCurRogueDiaryDungeonReq_proto = out.File
+ file_RetryCurRogueDiaryDungeonReq_proto_rawDesc = nil
+ file_RetryCurRogueDiaryDungeonReq_proto_goTypes = nil
+ file_RetryCurRogueDiaryDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RetryCurRogueDiaryDungeonRsp.pb.go b/protocol/proto/RetryCurRogueDiaryDungeonRsp.pb.go
new file mode 100644
index 00000000..f9861021
--- /dev/null
+++ b/protocol/proto/RetryCurRogueDiaryDungeonRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RetryCurRogueDiaryDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8334
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RetryCurRogueDiaryDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RetryCurRogueDiaryDungeonRsp) Reset() {
+ *x = RetryCurRogueDiaryDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RetryCurRogueDiaryDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RetryCurRogueDiaryDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RetryCurRogueDiaryDungeonRsp) ProtoMessage() {}
+
+func (x *RetryCurRogueDiaryDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RetryCurRogueDiaryDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RetryCurRogueDiaryDungeonRsp.ProtoReflect.Descriptor instead.
+func (*RetryCurRogueDiaryDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_RetryCurRogueDiaryDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RetryCurRogueDiaryDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RetryCurRogueDiaryDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_RetryCurRogueDiaryDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x75, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44,
+ 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1c, 0x52,
+ 0x65, 0x74, 0x72, 0x79, 0x43, 0x75, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RetryCurRogueDiaryDungeonRsp_proto_rawDescOnce sync.Once
+ file_RetryCurRogueDiaryDungeonRsp_proto_rawDescData = file_RetryCurRogueDiaryDungeonRsp_proto_rawDesc
+)
+
+func file_RetryCurRogueDiaryDungeonRsp_proto_rawDescGZIP() []byte {
+ file_RetryCurRogueDiaryDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_RetryCurRogueDiaryDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RetryCurRogueDiaryDungeonRsp_proto_rawDescData)
+ })
+ return file_RetryCurRogueDiaryDungeonRsp_proto_rawDescData
+}
+
+var file_RetryCurRogueDiaryDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RetryCurRogueDiaryDungeonRsp_proto_goTypes = []interface{}{
+ (*RetryCurRogueDiaryDungeonRsp)(nil), // 0: proto.RetryCurRogueDiaryDungeonRsp
+}
+var file_RetryCurRogueDiaryDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RetryCurRogueDiaryDungeonRsp_proto_init() }
+func file_RetryCurRogueDiaryDungeonRsp_proto_init() {
+ if File_RetryCurRogueDiaryDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RetryCurRogueDiaryDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RetryCurRogueDiaryDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RetryCurRogueDiaryDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RetryCurRogueDiaryDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_RetryCurRogueDiaryDungeonRsp_proto_depIdxs,
+ MessageInfos: file_RetryCurRogueDiaryDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_RetryCurRogueDiaryDungeonRsp_proto = out.File
+ file_RetryCurRogueDiaryDungeonRsp_proto_rawDesc = nil
+ file_RetryCurRogueDiaryDungeonRsp_proto_goTypes = nil
+ file_RetryCurRogueDiaryDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionActivateNotify.pb.go b/protocol/proto/ReunionActivateNotify.pb.go
new file mode 100644
index 00000000..d653ca74
--- /dev/null
+++ b/protocol/proto/ReunionActivateNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionActivateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5085
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReunionActivateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsActivate bool `protobuf:"varint,9,opt,name=is_activate,json=isActivate,proto3" json:"is_activate,omitempty"`
+ ReunionBriefInfo *ReunionBriefInfo `protobuf:"bytes,13,opt,name=reunion_brief_info,json=reunionBriefInfo,proto3" json:"reunion_brief_info,omitempty"`
+}
+
+func (x *ReunionActivateNotify) Reset() {
+ *x = ReunionActivateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionActivateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionActivateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionActivateNotify) ProtoMessage() {}
+
+func (x *ReunionActivateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionActivateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionActivateNotify.ProtoReflect.Descriptor instead.
+func (*ReunionActivateNotify) Descriptor() ([]byte, []int) {
+ return file_ReunionActivateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionActivateNotify) GetIsActivate() bool {
+ if x != nil {
+ return x.IsActivate
+ }
+ return false
+}
+
+func (x *ReunionActivateNotify) GetReunionBriefInfo() *ReunionBriefInfo {
+ if x != nil {
+ return x.ReunionBriefInfo
+ }
+ return nil
+}
+
+var File_ReunionActivateNotify_proto protoreflect.FileDescriptor
+
+var file_ReunionActivateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x15,
+ 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x12, 0x72, 0x65, 0x75, 0x6e, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x75, 0x6e, 0x69,
+ 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x72, 0x65, 0x75,
+ 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ReunionActivateNotify_proto_rawDescOnce sync.Once
+ file_ReunionActivateNotify_proto_rawDescData = file_ReunionActivateNotify_proto_rawDesc
+)
+
+func file_ReunionActivateNotify_proto_rawDescGZIP() []byte {
+ file_ReunionActivateNotify_proto_rawDescOnce.Do(func() {
+ file_ReunionActivateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionActivateNotify_proto_rawDescData)
+ })
+ return file_ReunionActivateNotify_proto_rawDescData
+}
+
+var file_ReunionActivateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionActivateNotify_proto_goTypes = []interface{}{
+ (*ReunionActivateNotify)(nil), // 0: proto.ReunionActivateNotify
+ (*ReunionBriefInfo)(nil), // 1: proto.ReunionBriefInfo
+}
+var file_ReunionActivateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ReunionActivateNotify.reunion_brief_info:type_name -> proto.ReunionBriefInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ReunionActivateNotify_proto_init() }
+func file_ReunionActivateNotify_proto_init() {
+ if File_ReunionActivateNotify_proto != nil {
+ return
+ }
+ file_ReunionBriefInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionActivateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionActivateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionActivateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionActivateNotify_proto_goTypes,
+ DependencyIndexes: file_ReunionActivateNotify_proto_depIdxs,
+ MessageInfos: file_ReunionActivateNotify_proto_msgTypes,
+ }.Build()
+ File_ReunionActivateNotify_proto = out.File
+ file_ReunionActivateNotify_proto_rawDesc = nil
+ file_ReunionActivateNotify_proto_goTypes = nil
+ file_ReunionActivateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionBriefInfo.pb.go b/protocol/proto/ReunionBriefInfo.pb.go
new file mode 100644
index 00000000..3b53cab2
--- /dev/null
+++ b/protocol/proto/ReunionBriefInfo.pb.go
@@ -0,0 +1,281 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionBriefInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ReunionBriefInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FirstGiftRewardId uint32 `protobuf:"varint,15,opt,name=first_gift_reward_id,json=firstGiftRewardId,proto3" json:"first_gift_reward_id,omitempty"`
+ PrivilegeId uint32 `protobuf:"varint,5,opt,name=privilege_id,json=privilegeId,proto3" json:"privilege_id,omitempty"`
+ MissionId uint32 `protobuf:"varint,10,opt,name=mission_id,json=missionId,proto3" json:"mission_id,omitempty"`
+ FirstDayStartTime uint32 `protobuf:"varint,3,opt,name=first_day_start_time,json=firstDayStartTime,proto3" json:"first_day_start_time,omitempty"`
+ SignInHasReward bool `protobuf:"varint,2,opt,name=sign_in_has_reward,json=signInHasReward,proto3" json:"sign_in_has_reward,omitempty"`
+ StartTime uint32 `protobuf:"varint,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ IsTakenFirstGift bool `protobuf:"varint,8,opt,name=is_taken_first_gift,json=isTakenFirstGift,proto3" json:"is_taken_first_gift,omitempty"`
+ FinishTime uint32 `protobuf:"varint,12,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
+ MissionHasReward bool `protobuf:"varint,9,opt,name=mission_has_reward,json=missionHasReward,proto3" json:"mission_has_reward,omitempty"`
+ PrivilegeInfo *ReunionPrivilegeInfo `protobuf:"bytes,14,opt,name=privilege_info,json=privilegeInfo,proto3" json:"privilege_info,omitempty"`
+ Version string `protobuf:"bytes,13,opt,name=version,proto3" json:"version,omitempty"`
+ SignInConfigId uint32 `protobuf:"varint,6,opt,name=sign_in_config_id,json=signInConfigId,proto3" json:"sign_in_config_id,omitempty"`
+}
+
+func (x *ReunionBriefInfo) Reset() {
+ *x = ReunionBriefInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionBriefInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionBriefInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionBriefInfo) ProtoMessage() {}
+
+func (x *ReunionBriefInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionBriefInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionBriefInfo.ProtoReflect.Descriptor instead.
+func (*ReunionBriefInfo) Descriptor() ([]byte, []int) {
+ return file_ReunionBriefInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionBriefInfo) GetFirstGiftRewardId() uint32 {
+ if x != nil {
+ return x.FirstGiftRewardId
+ }
+ return 0
+}
+
+func (x *ReunionBriefInfo) GetPrivilegeId() uint32 {
+ if x != nil {
+ return x.PrivilegeId
+ }
+ return 0
+}
+
+func (x *ReunionBriefInfo) GetMissionId() uint32 {
+ if x != nil {
+ return x.MissionId
+ }
+ return 0
+}
+
+func (x *ReunionBriefInfo) GetFirstDayStartTime() uint32 {
+ if x != nil {
+ return x.FirstDayStartTime
+ }
+ return 0
+}
+
+func (x *ReunionBriefInfo) GetSignInHasReward() bool {
+ if x != nil {
+ return x.SignInHasReward
+ }
+ return false
+}
+
+func (x *ReunionBriefInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *ReunionBriefInfo) GetIsTakenFirstGift() bool {
+ if x != nil {
+ return x.IsTakenFirstGift
+ }
+ return false
+}
+
+func (x *ReunionBriefInfo) GetFinishTime() uint32 {
+ if x != nil {
+ return x.FinishTime
+ }
+ return 0
+}
+
+func (x *ReunionBriefInfo) GetMissionHasReward() bool {
+ if x != nil {
+ return x.MissionHasReward
+ }
+ return false
+}
+
+func (x *ReunionBriefInfo) GetPrivilegeInfo() *ReunionPrivilegeInfo {
+ if x != nil {
+ return x.PrivilegeInfo
+ }
+ return nil
+}
+
+func (x *ReunionBriefInfo) GetVersion() string {
+ if x != nil {
+ return x.Version
+ }
+ return ""
+}
+
+func (x *ReunionBriefInfo) GetSignInConfigId() uint32 {
+ if x != nil {
+ return x.SignInConfigId
+ }
+ return 0
+}
+
+var File_ReunionBriefInfo_proto protoreflect.FileDescriptor
+
+var file_ReunionBriefInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1a, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x04, 0x0a, 0x10,
+ 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x2f, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x5f, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11,
+ 0x66, 0x69, 0x72, 0x73, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65,
+ 0x67, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x79,
+ 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x44, 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f,
+ 0x68, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x48, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x66, 0x69, 0x72,
+ 0x73, 0x74, 0x5f, 0x67, 0x69, 0x66, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69,
+ 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x47, 0x69, 0x66, 0x74, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x5f,
+ 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x42,
+ 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
+ 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x11,
+ 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x43,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionBriefInfo_proto_rawDescOnce sync.Once
+ file_ReunionBriefInfo_proto_rawDescData = file_ReunionBriefInfo_proto_rawDesc
+)
+
+func file_ReunionBriefInfo_proto_rawDescGZIP() []byte {
+ file_ReunionBriefInfo_proto_rawDescOnce.Do(func() {
+ file_ReunionBriefInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionBriefInfo_proto_rawDescData)
+ })
+ return file_ReunionBriefInfo_proto_rawDescData
+}
+
+var file_ReunionBriefInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionBriefInfo_proto_goTypes = []interface{}{
+ (*ReunionBriefInfo)(nil), // 0: proto.ReunionBriefInfo
+ (*ReunionPrivilegeInfo)(nil), // 1: proto.ReunionPrivilegeInfo
+}
+var file_ReunionBriefInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ReunionBriefInfo.privilege_info:type_name -> proto.ReunionPrivilegeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ReunionBriefInfo_proto_init() }
+func file_ReunionBriefInfo_proto_init() {
+ if File_ReunionBriefInfo_proto != nil {
+ return
+ }
+ file_ReunionPrivilegeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionBriefInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionBriefInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionBriefInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionBriefInfo_proto_goTypes,
+ DependencyIndexes: file_ReunionBriefInfo_proto_depIdxs,
+ MessageInfos: file_ReunionBriefInfo_proto_msgTypes,
+ }.Build()
+ File_ReunionBriefInfo_proto = out.File
+ file_ReunionBriefInfo_proto_rawDesc = nil
+ file_ReunionBriefInfo_proto_goTypes = nil
+ file_ReunionBriefInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionBriefInfoReq.pb.go b/protocol/proto/ReunionBriefInfoReq.pb.go
new file mode 100644
index 00000000..94ded036
--- /dev/null
+++ b/protocol/proto/ReunionBriefInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionBriefInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5076
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ReunionBriefInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReunionBriefInfoReq) Reset() {
+ *x = ReunionBriefInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionBriefInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionBriefInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionBriefInfoReq) ProtoMessage() {}
+
+func (x *ReunionBriefInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionBriefInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionBriefInfoReq.ProtoReflect.Descriptor instead.
+func (*ReunionBriefInfoReq) Descriptor() ([]byte, []int) {
+ return file_ReunionBriefInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ReunionBriefInfoReq_proto protoreflect.FileDescriptor
+
+var file_ReunionBriefInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionBriefInfoReq_proto_rawDescOnce sync.Once
+ file_ReunionBriefInfoReq_proto_rawDescData = file_ReunionBriefInfoReq_proto_rawDesc
+)
+
+func file_ReunionBriefInfoReq_proto_rawDescGZIP() []byte {
+ file_ReunionBriefInfoReq_proto_rawDescOnce.Do(func() {
+ file_ReunionBriefInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionBriefInfoReq_proto_rawDescData)
+ })
+ return file_ReunionBriefInfoReq_proto_rawDescData
+}
+
+var file_ReunionBriefInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionBriefInfoReq_proto_goTypes = []interface{}{
+ (*ReunionBriefInfoReq)(nil), // 0: proto.ReunionBriefInfoReq
+}
+var file_ReunionBriefInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReunionBriefInfoReq_proto_init() }
+func file_ReunionBriefInfoReq_proto_init() {
+ if File_ReunionBriefInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionBriefInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionBriefInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionBriefInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionBriefInfoReq_proto_goTypes,
+ DependencyIndexes: file_ReunionBriefInfoReq_proto_depIdxs,
+ MessageInfos: file_ReunionBriefInfoReq_proto_msgTypes,
+ }.Build()
+ File_ReunionBriefInfoReq_proto = out.File
+ file_ReunionBriefInfoReq_proto_rawDesc = nil
+ file_ReunionBriefInfoReq_proto_goTypes = nil
+ file_ReunionBriefInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionBriefInfoRsp.pb.go b/protocol/proto/ReunionBriefInfoRsp.pb.go
new file mode 100644
index 00000000..c32d1666
--- /dev/null
+++ b/protocol/proto/ReunionBriefInfoRsp.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionBriefInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5068
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReunionBriefInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsActivate bool `protobuf:"varint,13,opt,name=is_activate,json=isActivate,proto3" json:"is_activate,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ReunionBriefInfo *ReunionBriefInfo `protobuf:"bytes,5,opt,name=reunion_brief_info,json=reunionBriefInfo,proto3" json:"reunion_brief_info,omitempty"`
+}
+
+func (x *ReunionBriefInfoRsp) Reset() {
+ *x = ReunionBriefInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionBriefInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionBriefInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionBriefInfoRsp) ProtoMessage() {}
+
+func (x *ReunionBriefInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionBriefInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionBriefInfoRsp.ProtoReflect.Descriptor instead.
+func (*ReunionBriefInfoRsp) Descriptor() ([]byte, []int) {
+ return file_ReunionBriefInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionBriefInfoRsp) GetIsActivate() bool {
+ if x != nil {
+ return x.IsActivate
+ }
+ return false
+}
+
+func (x *ReunionBriefInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ReunionBriefInfoRsp) GetReunionBriefInfo() *ReunionBriefInfo {
+ if x != nil {
+ return x.ReunionBriefInfo
+ }
+ return nil
+}
+
+var File_ReunionBriefInfoRsp_proto protoreflect.FileDescriptor
+
+var file_ReunionBriefInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x13, 0x52,
+ 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74,
+ 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a,
+ 0x12, 0x72, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x10, 0x72, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionBriefInfoRsp_proto_rawDescOnce sync.Once
+ file_ReunionBriefInfoRsp_proto_rawDescData = file_ReunionBriefInfoRsp_proto_rawDesc
+)
+
+func file_ReunionBriefInfoRsp_proto_rawDescGZIP() []byte {
+ file_ReunionBriefInfoRsp_proto_rawDescOnce.Do(func() {
+ file_ReunionBriefInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionBriefInfoRsp_proto_rawDescData)
+ })
+ return file_ReunionBriefInfoRsp_proto_rawDescData
+}
+
+var file_ReunionBriefInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionBriefInfoRsp_proto_goTypes = []interface{}{
+ (*ReunionBriefInfoRsp)(nil), // 0: proto.ReunionBriefInfoRsp
+ (*ReunionBriefInfo)(nil), // 1: proto.ReunionBriefInfo
+}
+var file_ReunionBriefInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ReunionBriefInfoRsp.reunion_brief_info:type_name -> proto.ReunionBriefInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ReunionBriefInfoRsp_proto_init() }
+func file_ReunionBriefInfoRsp_proto_init() {
+ if File_ReunionBriefInfoRsp_proto != nil {
+ return
+ }
+ file_ReunionBriefInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionBriefInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionBriefInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionBriefInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionBriefInfoRsp_proto_goTypes,
+ DependencyIndexes: file_ReunionBriefInfoRsp_proto_depIdxs,
+ MessageInfos: file_ReunionBriefInfoRsp_proto_msgTypes,
+ }.Build()
+ File_ReunionBriefInfoRsp_proto = out.File
+ file_ReunionBriefInfoRsp_proto_rawDesc = nil
+ file_ReunionBriefInfoRsp_proto_goTypes = nil
+ file_ReunionBriefInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionDailyRefreshNotify.pb.go b/protocol/proto/ReunionDailyRefreshNotify.pb.go
new file mode 100644
index 00000000..3a89a9c3
--- /dev/null
+++ b/protocol/proto/ReunionDailyRefreshNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionDailyRefreshNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5100
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReunionDailyRefreshNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReunionBriefInfo *ReunionBriefInfo `protobuf:"bytes,4,opt,name=reunion_brief_info,json=reunionBriefInfo,proto3" json:"reunion_brief_info,omitempty"`
+}
+
+func (x *ReunionDailyRefreshNotify) Reset() {
+ *x = ReunionDailyRefreshNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionDailyRefreshNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionDailyRefreshNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionDailyRefreshNotify) ProtoMessage() {}
+
+func (x *ReunionDailyRefreshNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionDailyRefreshNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionDailyRefreshNotify.ProtoReflect.Descriptor instead.
+func (*ReunionDailyRefreshNotify) Descriptor() ([]byte, []int) {
+ return file_ReunionDailyRefreshNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionDailyRefreshNotify) GetReunionBriefInfo() *ReunionBriefInfo {
+ if x != nil {
+ return x.ReunionBriefInfo
+ }
+ return nil
+}
+
+var File_ReunionDailyRefreshNotify_proto protoreflect.FileDescriptor
+
+var file_ReunionDailyRefreshNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f,
+ 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x62, 0x0a, 0x19, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x69, 0x6c, 0x79,
+ 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x45, 0x0a,
+ 0x12, 0x72, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x10, 0x72, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionDailyRefreshNotify_proto_rawDescOnce sync.Once
+ file_ReunionDailyRefreshNotify_proto_rawDescData = file_ReunionDailyRefreshNotify_proto_rawDesc
+)
+
+func file_ReunionDailyRefreshNotify_proto_rawDescGZIP() []byte {
+ file_ReunionDailyRefreshNotify_proto_rawDescOnce.Do(func() {
+ file_ReunionDailyRefreshNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionDailyRefreshNotify_proto_rawDescData)
+ })
+ return file_ReunionDailyRefreshNotify_proto_rawDescData
+}
+
+var file_ReunionDailyRefreshNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionDailyRefreshNotify_proto_goTypes = []interface{}{
+ (*ReunionDailyRefreshNotify)(nil), // 0: proto.ReunionDailyRefreshNotify
+ (*ReunionBriefInfo)(nil), // 1: proto.ReunionBriefInfo
+}
+var file_ReunionDailyRefreshNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ReunionDailyRefreshNotify.reunion_brief_info:type_name -> proto.ReunionBriefInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ReunionDailyRefreshNotify_proto_init() }
+func file_ReunionDailyRefreshNotify_proto_init() {
+ if File_ReunionDailyRefreshNotify_proto != nil {
+ return
+ }
+ file_ReunionBriefInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionDailyRefreshNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionDailyRefreshNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionDailyRefreshNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionDailyRefreshNotify_proto_goTypes,
+ DependencyIndexes: file_ReunionDailyRefreshNotify_proto_depIdxs,
+ MessageInfos: file_ReunionDailyRefreshNotify_proto_msgTypes,
+ }.Build()
+ File_ReunionDailyRefreshNotify_proto = out.File
+ file_ReunionDailyRefreshNotify_proto_rawDesc = nil
+ file_ReunionDailyRefreshNotify_proto_goTypes = nil
+ file_ReunionDailyRefreshNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionMissionInfo.pb.go b/protocol/proto/ReunionMissionInfo.pb.go
new file mode 100644
index 00000000..4fdaf146
--- /dev/null
+++ b/protocol/proto/ReunionMissionInfo.pb.go
@@ -0,0 +1,242 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionMissionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ReunionMissionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurDayWatcherList []*ReunionWatcherInfo `protobuf:"bytes,3,rep,name=cur_day_watcher_list,json=curDayWatcherList,proto3" json:"cur_day_watcher_list,omitempty"`
+ CurScore uint32 `protobuf:"varint,11,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ IsTakenReward bool `protobuf:"varint,8,opt,name=is_taken_reward,json=isTakenReward,proto3" json:"is_taken_reward,omitempty"`
+ IsTakenRewardList []bool `protobuf:"varint,6,rep,packed,name=is_taken_reward_list,json=isTakenRewardList,proto3" json:"is_taken_reward_list,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,5,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ IsFinished bool `protobuf:"varint,9,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ MissionId uint32 `protobuf:"varint,12,opt,name=mission_id,json=missionId,proto3" json:"mission_id,omitempty"`
+ WatcherList []*ReunionWatcherInfo `protobuf:"bytes,2,rep,name=watcher_list,json=watcherList,proto3" json:"watcher_list,omitempty"`
+}
+
+func (x *ReunionMissionInfo) Reset() {
+ *x = ReunionMissionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionMissionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionMissionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionMissionInfo) ProtoMessage() {}
+
+func (x *ReunionMissionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionMissionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionMissionInfo.ProtoReflect.Descriptor instead.
+func (*ReunionMissionInfo) Descriptor() ([]byte, []int) {
+ return file_ReunionMissionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionMissionInfo) GetCurDayWatcherList() []*ReunionWatcherInfo {
+ if x != nil {
+ return x.CurDayWatcherList
+ }
+ return nil
+}
+
+func (x *ReunionMissionInfo) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *ReunionMissionInfo) GetIsTakenReward() bool {
+ if x != nil {
+ return x.IsTakenReward
+ }
+ return false
+}
+
+func (x *ReunionMissionInfo) GetIsTakenRewardList() []bool {
+ if x != nil {
+ return x.IsTakenRewardList
+ }
+ return nil
+}
+
+func (x *ReunionMissionInfo) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *ReunionMissionInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *ReunionMissionInfo) GetMissionId() uint32 {
+ if x != nil {
+ return x.MissionId
+ }
+ return 0
+}
+
+func (x *ReunionMissionInfo) GetWatcherList() []*ReunionWatcherInfo {
+ if x != nil {
+ return x.WatcherList
+ }
+ return nil
+}
+
+var File_ReunionMissionInfo_proto protoreflect.FileDescriptor
+
+var file_ReunionMissionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x18, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x03, 0x0a, 0x12,
+ 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x14, 0x63, 0x75, 0x72, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x77, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e,
+ 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x63, 0x75, 0x72,
+ 0x44, 0x61, 0x79, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b,
+ 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69,
+ 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f,
+ 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x08, 0x52, 0x11, 0x69, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64,
+ 0x12, 0x3c, 0x0a, 0x0c, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
+ 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ReunionMissionInfo_proto_rawDescOnce sync.Once
+ file_ReunionMissionInfo_proto_rawDescData = file_ReunionMissionInfo_proto_rawDesc
+)
+
+func file_ReunionMissionInfo_proto_rawDescGZIP() []byte {
+ file_ReunionMissionInfo_proto_rawDescOnce.Do(func() {
+ file_ReunionMissionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionMissionInfo_proto_rawDescData)
+ })
+ return file_ReunionMissionInfo_proto_rawDescData
+}
+
+var file_ReunionMissionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionMissionInfo_proto_goTypes = []interface{}{
+ (*ReunionMissionInfo)(nil), // 0: proto.ReunionMissionInfo
+ (*ReunionWatcherInfo)(nil), // 1: proto.ReunionWatcherInfo
+}
+var file_ReunionMissionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ReunionMissionInfo.cur_day_watcher_list:type_name -> proto.ReunionWatcherInfo
+ 1, // 1: proto.ReunionMissionInfo.watcher_list:type_name -> proto.ReunionWatcherInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ReunionMissionInfo_proto_init() }
+func file_ReunionMissionInfo_proto_init() {
+ if File_ReunionMissionInfo_proto != nil {
+ return
+ }
+ file_ReunionWatcherInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionMissionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionMissionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionMissionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionMissionInfo_proto_goTypes,
+ DependencyIndexes: file_ReunionMissionInfo_proto_depIdxs,
+ MessageInfos: file_ReunionMissionInfo_proto_msgTypes,
+ }.Build()
+ File_ReunionMissionInfo_proto = out.File
+ file_ReunionMissionInfo_proto_rawDesc = nil
+ file_ReunionMissionInfo_proto_goTypes = nil
+ file_ReunionMissionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionPrivilegeChangeNotify.pb.go b/protocol/proto/ReunionPrivilegeChangeNotify.pb.go
new file mode 100644
index 00000000..b52a2bed
--- /dev/null
+++ b/protocol/proto/ReunionPrivilegeChangeNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionPrivilegeChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5098
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReunionPrivilegeChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PrivilegeInfo *ReunionPrivilegeInfo `protobuf:"bytes,13,opt,name=privilege_info,json=privilegeInfo,proto3" json:"privilege_info,omitempty"`
+}
+
+func (x *ReunionPrivilegeChangeNotify) Reset() {
+ *x = ReunionPrivilegeChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionPrivilegeChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionPrivilegeChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionPrivilegeChangeNotify) ProtoMessage() {}
+
+func (x *ReunionPrivilegeChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionPrivilegeChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionPrivilegeChangeNotify.ProtoReflect.Descriptor instead.
+func (*ReunionPrivilegeChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ReunionPrivilegeChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionPrivilegeChangeNotify) GetPrivilegeInfo() *ReunionPrivilegeInfo {
+ if x != nil {
+ return x.PrivilegeInfo
+ }
+ return nil
+}
+
+var File_ReunionPrivilegeChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ReunionPrivilegeChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65,
+ 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x52, 0x65, 0x75,
+ 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x1c, 0x52, 0x65, 0x75, 0x6e, 0x69,
+ 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x42, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x69,
+ 0x6c, 0x65, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50,
+ 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x70, 0x72,
+ 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionPrivilegeChangeNotify_proto_rawDescOnce sync.Once
+ file_ReunionPrivilegeChangeNotify_proto_rawDescData = file_ReunionPrivilegeChangeNotify_proto_rawDesc
+)
+
+func file_ReunionPrivilegeChangeNotify_proto_rawDescGZIP() []byte {
+ file_ReunionPrivilegeChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ReunionPrivilegeChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionPrivilegeChangeNotify_proto_rawDescData)
+ })
+ return file_ReunionPrivilegeChangeNotify_proto_rawDescData
+}
+
+var file_ReunionPrivilegeChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionPrivilegeChangeNotify_proto_goTypes = []interface{}{
+ (*ReunionPrivilegeChangeNotify)(nil), // 0: proto.ReunionPrivilegeChangeNotify
+ (*ReunionPrivilegeInfo)(nil), // 1: proto.ReunionPrivilegeInfo
+}
+var file_ReunionPrivilegeChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ReunionPrivilegeChangeNotify.privilege_info:type_name -> proto.ReunionPrivilegeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ReunionPrivilegeChangeNotify_proto_init() }
+func file_ReunionPrivilegeChangeNotify_proto_init() {
+ if File_ReunionPrivilegeChangeNotify_proto != nil {
+ return
+ }
+ file_ReunionPrivilegeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionPrivilegeChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionPrivilegeChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionPrivilegeChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionPrivilegeChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ReunionPrivilegeChangeNotify_proto_depIdxs,
+ MessageInfos: file_ReunionPrivilegeChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ReunionPrivilegeChangeNotify_proto = out.File
+ file_ReunionPrivilegeChangeNotify_proto_rawDesc = nil
+ file_ReunionPrivilegeChangeNotify_proto_goTypes = nil
+ file_ReunionPrivilegeChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionPrivilegeInfo.pb.go b/protocol/proto/ReunionPrivilegeInfo.pb.go
new file mode 100644
index 00000000..d71e53fa
--- /dev/null
+++ b/protocol/proto/ReunionPrivilegeInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionPrivilegeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ReunionPrivilegeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurDayCount uint32 `protobuf:"varint,7,opt,name=cur_day_count,json=curDayCount,proto3" json:"cur_day_count,omitempty"`
+ TotalCount uint32 `protobuf:"varint,10,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
+ PrivilegeId uint32 `protobuf:"varint,4,opt,name=privilege_id,json=privilegeId,proto3" json:"privilege_id,omitempty"`
+}
+
+func (x *ReunionPrivilegeInfo) Reset() {
+ *x = ReunionPrivilegeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionPrivilegeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionPrivilegeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionPrivilegeInfo) ProtoMessage() {}
+
+func (x *ReunionPrivilegeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionPrivilegeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionPrivilegeInfo.ProtoReflect.Descriptor instead.
+func (*ReunionPrivilegeInfo) Descriptor() ([]byte, []int) {
+ return file_ReunionPrivilegeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionPrivilegeInfo) GetCurDayCount() uint32 {
+ if x != nil {
+ return x.CurDayCount
+ }
+ return 0
+}
+
+func (x *ReunionPrivilegeInfo) GetTotalCount() uint32 {
+ if x != nil {
+ return x.TotalCount
+ }
+ return 0
+}
+
+func (x *ReunionPrivilegeInfo) GetPrivilegeId() uint32 {
+ if x != nil {
+ return x.PrivilegeId
+ }
+ return 0
+}
+
+var File_ReunionPrivilegeInfo_proto protoreflect.FileDescriptor
+
+var file_ReunionPrivilegeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x14, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x50, 0x72,
+ 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x63,
+ 0x75, 0x72, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x44, 0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionPrivilegeInfo_proto_rawDescOnce sync.Once
+ file_ReunionPrivilegeInfo_proto_rawDescData = file_ReunionPrivilegeInfo_proto_rawDesc
+)
+
+func file_ReunionPrivilegeInfo_proto_rawDescGZIP() []byte {
+ file_ReunionPrivilegeInfo_proto_rawDescOnce.Do(func() {
+ file_ReunionPrivilegeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionPrivilegeInfo_proto_rawDescData)
+ })
+ return file_ReunionPrivilegeInfo_proto_rawDescData
+}
+
+var file_ReunionPrivilegeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionPrivilegeInfo_proto_goTypes = []interface{}{
+ (*ReunionPrivilegeInfo)(nil), // 0: proto.ReunionPrivilegeInfo
+}
+var file_ReunionPrivilegeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReunionPrivilegeInfo_proto_init() }
+func file_ReunionPrivilegeInfo_proto_init() {
+ if File_ReunionPrivilegeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionPrivilegeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionPrivilegeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionPrivilegeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionPrivilegeInfo_proto_goTypes,
+ DependencyIndexes: file_ReunionPrivilegeInfo_proto_depIdxs,
+ MessageInfos: file_ReunionPrivilegeInfo_proto_msgTypes,
+ }.Build()
+ File_ReunionPrivilegeInfo_proto = out.File
+ file_ReunionPrivilegeInfo_proto_rawDesc = nil
+ file_ReunionPrivilegeInfo_proto_goTypes = nil
+ file_ReunionPrivilegeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionSettleNotify.pb.go b/protocol/proto/ReunionSettleNotify.pb.go
new file mode 100644
index 00000000..236a47d8
--- /dev/null
+++ b/protocol/proto/ReunionSettleNotify.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5073
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ReunionSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReunionSettleNotify) Reset() {
+ *x = ReunionSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionSettleNotify) ProtoMessage() {}
+
+func (x *ReunionSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionSettleNotify.ProtoReflect.Descriptor instead.
+func (*ReunionSettleNotify) Descriptor() ([]byte, []int) {
+ return file_ReunionSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ReunionSettleNotify_proto protoreflect.FileDescriptor
+
+var file_ReunionSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionSettleNotify_proto_rawDescOnce sync.Once
+ file_ReunionSettleNotify_proto_rawDescData = file_ReunionSettleNotify_proto_rawDesc
+)
+
+func file_ReunionSettleNotify_proto_rawDescGZIP() []byte {
+ file_ReunionSettleNotify_proto_rawDescOnce.Do(func() {
+ file_ReunionSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionSettleNotify_proto_rawDescData)
+ })
+ return file_ReunionSettleNotify_proto_rawDescData
+}
+
+var file_ReunionSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionSettleNotify_proto_goTypes = []interface{}{
+ (*ReunionSettleNotify)(nil), // 0: proto.ReunionSettleNotify
+}
+var file_ReunionSettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReunionSettleNotify_proto_init() }
+func file_ReunionSettleNotify_proto_init() {
+ if File_ReunionSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionSettleNotify_proto_goTypes,
+ DependencyIndexes: file_ReunionSettleNotify_proto_depIdxs,
+ MessageInfos: file_ReunionSettleNotify_proto_msgTypes,
+ }.Build()
+ File_ReunionSettleNotify_proto = out.File
+ file_ReunionSettleNotify_proto_rawDesc = nil
+ file_ReunionSettleNotify_proto_goTypes = nil
+ file_ReunionSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionSignInInfo.pb.go b/protocol/proto/ReunionSignInInfo.pb.go
new file mode 100644
index 00000000..8e12f4f7
--- /dev/null
+++ b/protocol/proto/ReunionSignInInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionSignInInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ReunionSignInInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SignInCount uint32 `protobuf:"varint,6,opt,name=sign_in_count,json=signInCount,proto3" json:"sign_in_count,omitempty"`
+ RewardDayList []uint32 `protobuf:"varint,8,rep,packed,name=reward_day_list,json=rewardDayList,proto3" json:"reward_day_list,omitempty"`
+ ConfigId uint32 `protobuf:"varint,12,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ LastSignInTime uint32 `protobuf:"varint,11,opt,name=last_sign_in_time,json=lastSignInTime,proto3" json:"last_sign_in_time,omitempty"`
+}
+
+func (x *ReunionSignInInfo) Reset() {
+ *x = ReunionSignInInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionSignInInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionSignInInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionSignInInfo) ProtoMessage() {}
+
+func (x *ReunionSignInInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionSignInInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionSignInInfo.ProtoReflect.Descriptor instead.
+func (*ReunionSignInInfo) Descriptor() ([]byte, []int) {
+ return file_ReunionSignInInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionSignInInfo) GetSignInCount() uint32 {
+ if x != nil {
+ return x.SignInCount
+ }
+ return 0
+}
+
+func (x *ReunionSignInInfo) GetRewardDayList() []uint32 {
+ if x != nil {
+ return x.RewardDayList
+ }
+ return nil
+}
+
+func (x *ReunionSignInInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *ReunionSignInInfo) GetLastSignInTime() uint32 {
+ if x != nil {
+ return x.LastSignInTime
+ }
+ return 0
+}
+
+var File_ReunionSignInInfo_proto protoreflect.FileDescriptor
+
+var file_ReunionSignInInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xa7, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e,
+ 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73,
+ 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x79, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12,
+ 0x29, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74,
+ 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionSignInInfo_proto_rawDescOnce sync.Once
+ file_ReunionSignInInfo_proto_rawDescData = file_ReunionSignInInfo_proto_rawDesc
+)
+
+func file_ReunionSignInInfo_proto_rawDescGZIP() []byte {
+ file_ReunionSignInInfo_proto_rawDescOnce.Do(func() {
+ file_ReunionSignInInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionSignInInfo_proto_rawDescData)
+ })
+ return file_ReunionSignInInfo_proto_rawDescData
+}
+
+var file_ReunionSignInInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionSignInInfo_proto_goTypes = []interface{}{
+ (*ReunionSignInInfo)(nil), // 0: proto.ReunionSignInInfo
+}
+var file_ReunionSignInInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReunionSignInInfo_proto_init() }
+func file_ReunionSignInInfo_proto_init() {
+ if File_ReunionSignInInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionSignInInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionSignInInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionSignInInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionSignInInfo_proto_goTypes,
+ DependencyIndexes: file_ReunionSignInInfo_proto_depIdxs,
+ MessageInfos: file_ReunionSignInInfo_proto_msgTypes,
+ }.Build()
+ File_ReunionSignInInfo_proto = out.File
+ file_ReunionSignInInfo_proto_rawDesc = nil
+ file_ReunionSignInInfo_proto_goTypes = nil
+ file_ReunionSignInInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ReunionWatcherInfo.pb.go b/protocol/proto/ReunionWatcherInfo.pb.go
new file mode 100644
index 00000000..14cc0f4f
--- /dev/null
+++ b/protocol/proto/ReunionWatcherInfo.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ReunionWatcherInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ReunionWatcherInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardUnlockTime uint32 `protobuf:"varint,12,opt,name=reward_unlock_time,json=rewardUnlockTime,proto3" json:"reward_unlock_time,omitempty"`
+ WatcherId uint32 `protobuf:"varint,3,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+ TotalProgress uint32 `protobuf:"varint,4,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+ CurProgress uint32 `protobuf:"varint,11,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+ IsTakenReward bool `protobuf:"varint,14,opt,name=is_taken_reward,json=isTakenReward,proto3" json:"is_taken_reward,omitempty"`
+}
+
+func (x *ReunionWatcherInfo) Reset() {
+ *x = ReunionWatcherInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ReunionWatcherInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReunionWatcherInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReunionWatcherInfo) ProtoMessage() {}
+
+func (x *ReunionWatcherInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ReunionWatcherInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReunionWatcherInfo.ProtoReflect.Descriptor instead.
+func (*ReunionWatcherInfo) Descriptor() ([]byte, []int) {
+ return file_ReunionWatcherInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ReunionWatcherInfo) GetRewardUnlockTime() uint32 {
+ if x != nil {
+ return x.RewardUnlockTime
+ }
+ return 0
+}
+
+func (x *ReunionWatcherInfo) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+func (x *ReunionWatcherInfo) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+func (x *ReunionWatcherInfo) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+func (x *ReunionWatcherInfo) GetIsTakenReward() bool {
+ if x != nil {
+ return x.IsTakenReward
+ }
+ return false
+}
+
+var File_ReunionWatcherInfo_proto protoreflect.FileDescriptor
+
+var file_ReunionWatcherInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xd3, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74,
+ 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x5f, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, 0x61, 0x74, 0x63,
+ 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c,
+ 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12,
+ 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x54, 0x61, 0x6b, 0x65,
+ 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ReunionWatcherInfo_proto_rawDescOnce sync.Once
+ file_ReunionWatcherInfo_proto_rawDescData = file_ReunionWatcherInfo_proto_rawDesc
+)
+
+func file_ReunionWatcherInfo_proto_rawDescGZIP() []byte {
+ file_ReunionWatcherInfo_proto_rawDescOnce.Do(func() {
+ file_ReunionWatcherInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ReunionWatcherInfo_proto_rawDescData)
+ })
+ return file_ReunionWatcherInfo_proto_rawDescData
+}
+
+var file_ReunionWatcherInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ReunionWatcherInfo_proto_goTypes = []interface{}{
+ (*ReunionWatcherInfo)(nil), // 0: proto.ReunionWatcherInfo
+}
+var file_ReunionWatcherInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ReunionWatcherInfo_proto_init() }
+func file_ReunionWatcherInfo_proto_init() {
+ if File_ReunionWatcherInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ReunionWatcherInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReunionWatcherInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ReunionWatcherInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ReunionWatcherInfo_proto_goTypes,
+ DependencyIndexes: file_ReunionWatcherInfo_proto_depIdxs,
+ MessageInfos: file_ReunionWatcherInfo_proto_msgTypes,
+ }.Build()
+ File_ReunionWatcherInfo_proto = out.File
+ file_ReunionWatcherInfo_proto_rawDesc = nil
+ file_ReunionWatcherInfo_proto_goTypes = nil
+ file_ReunionWatcherInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Reward.pb.go b/protocol/proto/Reward.pb.go
new file mode 100644
index 00000000..35a02b8d
--- /dev/null
+++ b/protocol/proto/Reward.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Reward.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Reward struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId uint32 `protobuf:"varint,1,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,2,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *Reward) Reset() {
+ *x = Reward{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Reward_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Reward) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Reward) ProtoMessage() {}
+
+func (x *Reward) ProtoReflect() protoreflect.Message {
+ mi := &file_Reward_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Reward.ProtoReflect.Descriptor instead.
+func (*Reward) Descriptor() ([]byte, []int) {
+ return file_Reward_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Reward) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *Reward) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_Reward_proto protoreflect.FileDescriptor
+
+var file_Reward_proto_rawDesc = []byte{
+ 0x0a, 0x0c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x2d, 0x0a,
+ 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Reward_proto_rawDescOnce sync.Once
+ file_Reward_proto_rawDescData = file_Reward_proto_rawDesc
+)
+
+func file_Reward_proto_rawDescGZIP() []byte {
+ file_Reward_proto_rawDescOnce.Do(func() {
+ file_Reward_proto_rawDescData = protoimpl.X.CompressGZIP(file_Reward_proto_rawDescData)
+ })
+ return file_Reward_proto_rawDescData
+}
+
+var file_Reward_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Reward_proto_goTypes = []interface{}{
+ (*Reward)(nil), // 0: proto.Reward
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_Reward_proto_depIdxs = []int32{
+ 1, // 0: proto.Reward.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_Reward_proto_init() }
+func file_Reward_proto_init() {
+ if File_Reward_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_Reward_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Reward); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Reward_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Reward_proto_goTypes,
+ DependencyIndexes: file_Reward_proto_depIdxs,
+ MessageInfos: file_Reward_proto_msgTypes,
+ }.Build()
+ File_Reward_proto = out.File
+ file_Reward_proto_rawDesc = nil
+ file_Reward_proto_goTypes = nil
+ file_Reward_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RobotPushPlayerDataNotify.pb.go b/protocol/proto/RobotPushPlayerDataNotify.pb.go
new file mode 100644
index 00000000..e9a78be0
--- /dev/null
+++ b/protocol/proto/RobotPushPlayerDataNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RobotPushPlayerDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 97
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RobotPushPlayerDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Bin []byte `protobuf:"bytes,6,opt,name=bin,proto3" json:"bin,omitempty"`
+}
+
+func (x *RobotPushPlayerDataNotify) Reset() {
+ *x = RobotPushPlayerDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RobotPushPlayerDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RobotPushPlayerDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RobotPushPlayerDataNotify) ProtoMessage() {}
+
+func (x *RobotPushPlayerDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RobotPushPlayerDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RobotPushPlayerDataNotify.ProtoReflect.Descriptor instead.
+func (*RobotPushPlayerDataNotify) Descriptor() ([]byte, []int) {
+ return file_RobotPushPlayerDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RobotPushPlayerDataNotify) GetBin() []byte {
+ if x != nil {
+ return x.Bin
+ }
+ return nil
+}
+
+var File_RobotPushPlayerDataNotify_proto protoreflect.FileDescriptor
+
+var file_RobotPushPlayerDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x6f, 0x62, 0x6f, 0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a, 0x19, 0x52, 0x6f, 0x62, 0x6f,
+ 0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x03, 0x62, 0x69, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RobotPushPlayerDataNotify_proto_rawDescOnce sync.Once
+ file_RobotPushPlayerDataNotify_proto_rawDescData = file_RobotPushPlayerDataNotify_proto_rawDesc
+)
+
+func file_RobotPushPlayerDataNotify_proto_rawDescGZIP() []byte {
+ file_RobotPushPlayerDataNotify_proto_rawDescOnce.Do(func() {
+ file_RobotPushPlayerDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RobotPushPlayerDataNotify_proto_rawDescData)
+ })
+ return file_RobotPushPlayerDataNotify_proto_rawDescData
+}
+
+var file_RobotPushPlayerDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RobotPushPlayerDataNotify_proto_goTypes = []interface{}{
+ (*RobotPushPlayerDataNotify)(nil), // 0: proto.RobotPushPlayerDataNotify
+}
+var file_RobotPushPlayerDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RobotPushPlayerDataNotify_proto_init() }
+func file_RobotPushPlayerDataNotify_proto_init() {
+ if File_RobotPushPlayerDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RobotPushPlayerDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RobotPushPlayerDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RobotPushPlayerDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RobotPushPlayerDataNotify_proto_goTypes,
+ DependencyIndexes: file_RobotPushPlayerDataNotify_proto_depIdxs,
+ MessageInfos: file_RobotPushPlayerDataNotify_proto_msgTypes,
+ }.Build()
+ File_RobotPushPlayerDataNotify_proto = out.File
+ file_RobotPushPlayerDataNotify_proto_rawDesc = nil
+ file_RobotPushPlayerDataNotify_proto_goTypes = nil
+ file_RobotPushPlayerDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RockBoardExploreDetailInfo.pb.go b/protocol/proto/RockBoardExploreDetailInfo.pb.go
new file mode 100644
index 00000000..0fb0c453
--- /dev/null
+++ b/protocol/proto/RockBoardExploreDetailInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RockBoardExploreDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RockBoardExploreDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageDataList []*RockBoardExploreStageData `protobuf:"bytes,9,rep,name=stage_data_list,json=stageDataList,proto3" json:"stage_data_list,omitempty"`
+}
+
+func (x *RockBoardExploreDetailInfo) Reset() {
+ *x = RockBoardExploreDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RockBoardExploreDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RockBoardExploreDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RockBoardExploreDetailInfo) ProtoMessage() {}
+
+func (x *RockBoardExploreDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RockBoardExploreDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RockBoardExploreDetailInfo.ProtoReflect.Descriptor instead.
+func (*RockBoardExploreDetailInfo) Descriptor() ([]byte, []int) {
+ return file_RockBoardExploreDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RockBoardExploreDetailInfo) GetStageDataList() []*RockBoardExploreStageData {
+ if x != nil {
+ return x.StageDataList
+ }
+ return nil
+}
+
+var File_RockBoardExploreDetailInfo_proto protoreflect.FileDescriptor
+
+var file_RockBoardExploreDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f,
+ 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x52, 0x6f, 0x63, 0x6b, 0x42,
+ 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x1a, 0x52, 0x6f,
+ 0x63, 0x6b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x48, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x63, 0x6b, 0x42, 0x6f,
+ 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RockBoardExploreDetailInfo_proto_rawDescOnce sync.Once
+ file_RockBoardExploreDetailInfo_proto_rawDescData = file_RockBoardExploreDetailInfo_proto_rawDesc
+)
+
+func file_RockBoardExploreDetailInfo_proto_rawDescGZIP() []byte {
+ file_RockBoardExploreDetailInfo_proto_rawDescOnce.Do(func() {
+ file_RockBoardExploreDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RockBoardExploreDetailInfo_proto_rawDescData)
+ })
+ return file_RockBoardExploreDetailInfo_proto_rawDescData
+}
+
+var file_RockBoardExploreDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RockBoardExploreDetailInfo_proto_goTypes = []interface{}{
+ (*RockBoardExploreDetailInfo)(nil), // 0: proto.RockBoardExploreDetailInfo
+ (*RockBoardExploreStageData)(nil), // 1: proto.RockBoardExploreStageData
+}
+var file_RockBoardExploreDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RockBoardExploreDetailInfo.stage_data_list:type_name -> proto.RockBoardExploreStageData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RockBoardExploreDetailInfo_proto_init() }
+func file_RockBoardExploreDetailInfo_proto_init() {
+ if File_RockBoardExploreDetailInfo_proto != nil {
+ return
+ }
+ file_RockBoardExploreStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RockBoardExploreDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RockBoardExploreDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RockBoardExploreDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RockBoardExploreDetailInfo_proto_goTypes,
+ DependencyIndexes: file_RockBoardExploreDetailInfo_proto_depIdxs,
+ MessageInfos: file_RockBoardExploreDetailInfo_proto_msgTypes,
+ }.Build()
+ File_RockBoardExploreDetailInfo_proto = out.File
+ file_RockBoardExploreDetailInfo_proto_rawDesc = nil
+ file_RockBoardExploreDetailInfo_proto_goTypes = nil
+ file_RockBoardExploreDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RockBoardExploreStageData.pb.go b/protocol/proto/RockBoardExploreStageData.pb.go
new file mode 100644
index 00000000..4f25cafc
--- /dev/null
+++ b/protocol/proto/RockBoardExploreStageData.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RockBoardExploreStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RockBoardExploreStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinish bool `protobuf:"varint,6,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ OpenTime uint32 `protobuf:"varint,7,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsOpen bool `protobuf:"varint,5,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ StageId uint32 `protobuf:"varint,3,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *RockBoardExploreStageData) Reset() {
+ *x = RockBoardExploreStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RockBoardExploreStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RockBoardExploreStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RockBoardExploreStageData) ProtoMessage() {}
+
+func (x *RockBoardExploreStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_RockBoardExploreStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RockBoardExploreStageData.ProtoReflect.Descriptor instead.
+func (*RockBoardExploreStageData) Descriptor() ([]byte, []int) {
+ return file_RockBoardExploreStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RockBoardExploreStageData) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *RockBoardExploreStageData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *RockBoardExploreStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *RockBoardExploreStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_RockBoardExploreStageData_proto protoreflect.FileDescriptor
+
+var file_RockBoardExploreStageData_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x6f, 0x63, 0x6b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f,
+ 0x72, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x19, 0x52, 0x6f, 0x63,
+ 0x6b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RockBoardExploreStageData_proto_rawDescOnce sync.Once
+ file_RockBoardExploreStageData_proto_rawDescData = file_RockBoardExploreStageData_proto_rawDesc
+)
+
+func file_RockBoardExploreStageData_proto_rawDescGZIP() []byte {
+ file_RockBoardExploreStageData_proto_rawDescOnce.Do(func() {
+ file_RockBoardExploreStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_RockBoardExploreStageData_proto_rawDescData)
+ })
+ return file_RockBoardExploreStageData_proto_rawDescData
+}
+
+var file_RockBoardExploreStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RockBoardExploreStageData_proto_goTypes = []interface{}{
+ (*RockBoardExploreStageData)(nil), // 0: proto.RockBoardExploreStageData
+}
+var file_RockBoardExploreStageData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RockBoardExploreStageData_proto_init() }
+func file_RockBoardExploreStageData_proto_init() {
+ if File_RockBoardExploreStageData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RockBoardExploreStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RockBoardExploreStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RockBoardExploreStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RockBoardExploreStageData_proto_goTypes,
+ DependencyIndexes: file_RockBoardExploreStageData_proto_depIdxs,
+ MessageInfos: file_RockBoardExploreStageData_proto_msgTypes,
+ }.Build()
+ File_RockBoardExploreStageData_proto = out.File
+ file_RockBoardExploreStageData_proto_rawDesc = nil
+ file_RockBoardExploreStageData_proto_goTypes = nil
+ file_RockBoardExploreStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueAvatarInfo.pb.go b/protocol/proto/RogueAvatarInfo.pb.go
new file mode 100644
index 00000000..138cbbef
--- /dev/null
+++ b/protocol/proto/RogueAvatarInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOnstage bool `protobuf:"varint,5,opt,name=is_onstage,json=isOnstage,proto3" json:"is_onstage,omitempty"`
+ IsAlive bool `protobuf:"varint,3,opt,name=is_alive,json=isAlive,proto3" json:"is_alive,omitempty"`
+ AvatarId uint32 `protobuf:"varint,14,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *RogueAvatarInfo) Reset() {
+ *x = RogueAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueAvatarInfo) ProtoMessage() {}
+
+func (x *RogueAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueAvatarInfo.ProtoReflect.Descriptor instead.
+func (*RogueAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_RogueAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueAvatarInfo) GetIsOnstage() bool {
+ if x != nil {
+ return x.IsOnstage
+ }
+ return false
+}
+
+func (x *RogueAvatarInfo) GetIsAlive() bool {
+ if x != nil {
+ return x.IsAlive
+ }
+ return false
+}
+
+func (x *RogueAvatarInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_RogueAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_RogueAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68,
+ 0x0a, 0x0f, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueAvatarInfo_proto_rawDescOnce sync.Once
+ file_RogueAvatarInfo_proto_rawDescData = file_RogueAvatarInfo_proto_rawDesc
+)
+
+func file_RogueAvatarInfo_proto_rawDescGZIP() []byte {
+ file_RogueAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_RogueAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueAvatarInfo_proto_rawDescData)
+ })
+ return file_RogueAvatarInfo_proto_rawDescData
+}
+
+var file_RogueAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueAvatarInfo_proto_goTypes = []interface{}{
+ (*RogueAvatarInfo)(nil), // 0: proto.RogueAvatarInfo
+}
+var file_RogueAvatarInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueAvatarInfo_proto_init() }
+func file_RogueAvatarInfo_proto_init() {
+ if File_RogueAvatarInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_RogueAvatarInfo_proto_depIdxs,
+ MessageInfos: file_RogueAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_RogueAvatarInfo_proto = out.File
+ file_RogueAvatarInfo_proto_rawDesc = nil
+ file_RogueAvatarInfo_proto_goTypes = nil
+ file_RogueAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueCellInfo.pb.go b/protocol/proto/RogueCellInfo.pb.go
new file mode 100644
index 00000000..21e9db4e
--- /dev/null
+++ b/protocol/proto/RogueCellInfo.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueCellInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueCellInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CellConfigId uint32 `protobuf:"varint,14,opt,name=cell_config_id,json=cellConfigId,proto3" json:"cell_config_id,omitempty"`
+ DungeonId uint32 `protobuf:"varint,4,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CellId uint32 `protobuf:"varint,9,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+ CellType uint32 `protobuf:"varint,13,opt,name=cell_type,json=cellType,proto3" json:"cell_type,omitempty"`
+ State RogueCellState `protobuf:"varint,10,opt,name=state,proto3,enum=proto.RogueCellState" json:"state,omitempty"`
+}
+
+func (x *RogueCellInfo) Reset() {
+ *x = RogueCellInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueCellInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueCellInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueCellInfo) ProtoMessage() {}
+
+func (x *RogueCellInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueCellInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueCellInfo.ProtoReflect.Descriptor instead.
+func (*RogueCellInfo) Descriptor() ([]byte, []int) {
+ return file_RogueCellInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueCellInfo) GetCellConfigId() uint32 {
+ if x != nil {
+ return x.CellConfigId
+ }
+ return 0
+}
+
+func (x *RogueCellInfo) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *RogueCellInfo) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+func (x *RogueCellInfo) GetCellType() uint32 {
+ if x != nil {
+ return x.CellType
+ }
+ return 0
+}
+
+func (x *RogueCellInfo) GetState() RogueCellState {
+ if x != nil {
+ return x.State
+ }
+ return RogueCellState_ROGUE_CELL_STATE_NONE
+}
+
+var File_RogueCellInfo_proto protoreflect.FileDescriptor
+
+var file_RogueCellInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xb7, 0x01, 0x0a, 0x0d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x65,
+ 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65, 0x6c,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c, 0x6c,
+ 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x2b, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c,
+ 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueCellInfo_proto_rawDescOnce sync.Once
+ file_RogueCellInfo_proto_rawDescData = file_RogueCellInfo_proto_rawDesc
+)
+
+func file_RogueCellInfo_proto_rawDescGZIP() []byte {
+ file_RogueCellInfo_proto_rawDescOnce.Do(func() {
+ file_RogueCellInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueCellInfo_proto_rawDescData)
+ })
+ return file_RogueCellInfo_proto_rawDescData
+}
+
+var file_RogueCellInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueCellInfo_proto_goTypes = []interface{}{
+ (*RogueCellInfo)(nil), // 0: proto.RogueCellInfo
+ (RogueCellState)(0), // 1: proto.RogueCellState
+}
+var file_RogueCellInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueCellInfo.state:type_name -> proto.RogueCellState
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueCellInfo_proto_init() }
+func file_RogueCellInfo_proto_init() {
+ if File_RogueCellInfo_proto != nil {
+ return
+ }
+ file_RogueCellState_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueCellInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueCellInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueCellInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueCellInfo_proto_goTypes,
+ DependencyIndexes: file_RogueCellInfo_proto_depIdxs,
+ MessageInfos: file_RogueCellInfo_proto_msgTypes,
+ }.Build()
+ File_RogueCellInfo_proto = out.File
+ file_RogueCellInfo_proto_rawDesc = nil
+ file_RogueCellInfo_proto_goTypes = nil
+ file_RogueCellInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueCellState.pb.go b/protocol/proto/RogueCellState.pb.go
new file mode 100644
index 00000000..07dc6caf
--- /dev/null
+++ b/protocol/proto/RogueCellState.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueCellState.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueCellState int32
+
+const (
+ RogueCellState_ROGUE_CELL_STATE_NONE RogueCellState = 0
+ RogueCellState_ROGUE_CELL_STATE_BATTLE RogueCellState = 1
+ RogueCellState_ROGUE_CELL_STATE_SUCCESS RogueCellState = 2
+ RogueCellState_ROGUE_CELL_STATE_FINISH RogueCellState = 3
+ RogueCellState_ROGUE_CELL_STATE_TAKEN_CHEST RogueCellState = 4
+)
+
+// Enum value maps for RogueCellState.
+var (
+ RogueCellState_name = map[int32]string{
+ 0: "ROGUE_CELL_STATE_NONE",
+ 1: "ROGUE_CELL_STATE_BATTLE",
+ 2: "ROGUE_CELL_STATE_SUCCESS",
+ 3: "ROGUE_CELL_STATE_FINISH",
+ 4: "ROGUE_CELL_STATE_TAKEN_CHEST",
+ }
+ RogueCellState_value = map[string]int32{
+ "ROGUE_CELL_STATE_NONE": 0,
+ "ROGUE_CELL_STATE_BATTLE": 1,
+ "ROGUE_CELL_STATE_SUCCESS": 2,
+ "ROGUE_CELL_STATE_FINISH": 3,
+ "ROGUE_CELL_STATE_TAKEN_CHEST": 4,
+ }
+)
+
+func (x RogueCellState) Enum() *RogueCellState {
+ p := new(RogueCellState)
+ *p = x
+ return p
+}
+
+func (x RogueCellState) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RogueCellState) Descriptor() protoreflect.EnumDescriptor {
+ return file_RogueCellState_proto_enumTypes[0].Descriptor()
+}
+
+func (RogueCellState) Type() protoreflect.EnumType {
+ return &file_RogueCellState_proto_enumTypes[0]
+}
+
+func (x RogueCellState) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RogueCellState.Descriptor instead.
+func (RogueCellState) EnumDescriptor() ([]byte, []int) {
+ return file_RogueCellState_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RogueCellState_proto protoreflect.FileDescriptor
+
+var file_RogueCellState_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xa5, 0x01,
+ 0x0a, 0x0e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x5f, 0x53,
+ 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x52,
+ 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f,
+ 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x47, 0x55,
+ 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x43,
+ 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f,
+ 0x43, 0x45, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4e, 0x49, 0x53,
+ 0x48, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x43, 0x45, 0x4c,
+ 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x4b, 0x45, 0x4e, 0x5f, 0x43, 0x48,
+ 0x45, 0x53, 0x54, 0x10, 0x04, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueCellState_proto_rawDescOnce sync.Once
+ file_RogueCellState_proto_rawDescData = file_RogueCellState_proto_rawDesc
+)
+
+func file_RogueCellState_proto_rawDescGZIP() []byte {
+ file_RogueCellState_proto_rawDescOnce.Do(func() {
+ file_RogueCellState_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueCellState_proto_rawDescData)
+ })
+ return file_RogueCellState_proto_rawDescData
+}
+
+var file_RogueCellState_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_RogueCellState_proto_goTypes = []interface{}{
+ (RogueCellState)(0), // 0: proto.RogueCellState
+}
+var file_RogueCellState_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueCellState_proto_init() }
+func file_RogueCellState_proto_init() {
+ if File_RogueCellState_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueCellState_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueCellState_proto_goTypes,
+ DependencyIndexes: file_RogueCellState_proto_depIdxs,
+ EnumInfos: file_RogueCellState_proto_enumTypes,
+ }.Build()
+ File_RogueCellState_proto = out.File
+ file_RogueCellState_proto_rawDesc = nil
+ file_RogueCellState_proto_goTypes = nil
+ file_RogueCellState_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueCellUpdateNotify.pb.go b/protocol/proto/RogueCellUpdateNotify.pb.go
new file mode 100644
index 00000000..a88dd0cb
--- /dev/null
+++ b/protocol/proto/RogueCellUpdateNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueCellUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8642
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RogueCellUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CellInfo *RogueCellInfo `protobuf:"bytes,7,opt,name=cell_info,json=cellInfo,proto3" json:"cell_info,omitempty"`
+}
+
+func (x *RogueCellUpdateNotify) Reset() {
+ *x = RogueCellUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueCellUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueCellUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueCellUpdateNotify) ProtoMessage() {}
+
+func (x *RogueCellUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueCellUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueCellUpdateNotify.ProtoReflect.Descriptor instead.
+func (*RogueCellUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_RogueCellUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueCellUpdateNotify) GetCellInfo() *RogueCellInfo {
+ if x != nil {
+ return x.CellInfo
+ }
+ return nil
+}
+
+var File_RogueCellUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_RogueCellUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x15, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x65, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueCellUpdateNotify_proto_rawDescOnce sync.Once
+ file_RogueCellUpdateNotify_proto_rawDescData = file_RogueCellUpdateNotify_proto_rawDesc
+)
+
+func file_RogueCellUpdateNotify_proto_rawDescGZIP() []byte {
+ file_RogueCellUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_RogueCellUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueCellUpdateNotify_proto_rawDescData)
+ })
+ return file_RogueCellUpdateNotify_proto_rawDescData
+}
+
+var file_RogueCellUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueCellUpdateNotify_proto_goTypes = []interface{}{
+ (*RogueCellUpdateNotify)(nil), // 0: proto.RogueCellUpdateNotify
+ (*RogueCellInfo)(nil), // 1: proto.RogueCellInfo
+}
+var file_RogueCellUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueCellUpdateNotify.cell_info:type_name -> proto.RogueCellInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueCellUpdateNotify_proto_init() }
+func file_RogueCellUpdateNotify_proto_init() {
+ if File_RogueCellUpdateNotify_proto != nil {
+ return
+ }
+ file_RogueCellInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueCellUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueCellUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueCellUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueCellUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_RogueCellUpdateNotify_proto_depIdxs,
+ MessageInfos: file_RogueCellUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_RogueCellUpdateNotify_proto = out.File
+ file_RogueCellUpdateNotify_proto_rawDesc = nil
+ file_RogueCellUpdateNotify_proto_goTypes = nil
+ file_RogueCellUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryActivityDetailInfo.pb.go b/protocol/proto/RogueDiaryActivityDetailInfo.pb.go
new file mode 100644
index 00000000..a97594d8
--- /dev/null
+++ b/protocol/proto/RogueDiaryActivityDetailInfo.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueDiaryActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageList []*RogueDiaryStageInfo `protobuf:"bytes,11,rep,name=stage_list,json=stageList,proto3" json:"stage_list,omitempty"`
+ IsHaveProgress bool `protobuf:"varint,10,opt,name=is_have_progress,json=isHaveProgress,proto3" json:"is_have_progress,omitempty"`
+ IsContentClosed bool `protobuf:"varint,2,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ CurProgress *RogueDiaryProgress `protobuf:"bytes,7,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+}
+
+func (x *RogueDiaryActivityDetailInfo) Reset() {
+ *x = RogueDiaryActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryActivityDetailInfo) ProtoMessage() {}
+
+func (x *RogueDiaryActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*RogueDiaryActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryActivityDetailInfo) GetStageList() []*RogueDiaryStageInfo {
+ if x != nil {
+ return x.StageList
+ }
+ return nil
+}
+
+func (x *RogueDiaryActivityDetailInfo) GetIsHaveProgress() bool {
+ if x != nil {
+ return x.IsHaveProgress
+ }
+ return false
+}
+
+func (x *RogueDiaryActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *RogueDiaryActivityDetailInfo) GetCurProgress() *RogueDiaryProgress {
+ if x != nil {
+ return x.CurProgress
+ }
+ return nil
+}
+
+var File_RogueDiaryActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xed, 0x01, 0x0a, 0x1c, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10,
+ 0x69, 0x73, 0x5f, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x50, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73,
+ 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_RogueDiaryActivityDetailInfo_proto_rawDescData = file_RogueDiaryActivityDetailInfo_proto_rawDesc
+)
+
+func file_RogueDiaryActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_RogueDiaryActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryActivityDetailInfo_proto_rawDescData)
+ })
+ return file_RogueDiaryActivityDetailInfo_proto_rawDescData
+}
+
+var file_RogueDiaryActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryActivityDetailInfo_proto_goTypes = []interface{}{
+ (*RogueDiaryActivityDetailInfo)(nil), // 0: proto.RogueDiaryActivityDetailInfo
+ (*RogueDiaryStageInfo)(nil), // 1: proto.RogueDiaryStageInfo
+ (*RogueDiaryProgress)(nil), // 2: proto.RogueDiaryProgress
+}
+var file_RogueDiaryActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueDiaryActivityDetailInfo.stage_list:type_name -> proto.RogueDiaryStageInfo
+ 2, // 1: proto.RogueDiaryActivityDetailInfo.cur_progress:type_name -> proto.RogueDiaryProgress
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryActivityDetailInfo_proto_init() }
+func file_RogueDiaryActivityDetailInfo_proto_init() {
+ if File_RogueDiaryActivityDetailInfo_proto != nil {
+ return
+ }
+ file_RogueDiaryProgress_proto_init()
+ file_RogueDiaryStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_RogueDiaryActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryActivityDetailInfo_proto = out.File
+ file_RogueDiaryActivityDetailInfo_proto_rawDesc = nil
+ file_RogueDiaryActivityDetailInfo_proto_goTypes = nil
+ file_RogueDiaryActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryAvatar.pb.go b/protocol/proto/RogueDiaryAvatar.pb.go
new file mode 100644
index 00000000..bf837e1c
--- /dev/null
+++ b/protocol/proto/RogueDiaryAvatar.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryAvatar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueDiaryAvatar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Avatar *ActivityDungeonAvatar `protobuf:"bytes,2,opt,name=avatar,proto3" json:"avatar,omitempty"`
+ Level uint32 `protobuf:"varint,14,opt,name=level,proto3" json:"level,omitempty"`
+ TiredRound uint32 `protobuf:"varint,13,opt,name=tired_round,json=tiredRound,proto3" json:"tired_round,omitempty"`
+ DisableStatusList []RogueDiaryAvatarDisableStatus `protobuf:"varint,9,rep,packed,name=disable_status_list,json=disableStatusList,proto3,enum=proto.RogueDiaryAvatarDisableStatus" json:"disable_status_list,omitempty"`
+}
+
+func (x *RogueDiaryAvatar) Reset() {
+ *x = RogueDiaryAvatar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryAvatar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryAvatar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryAvatar) ProtoMessage() {}
+
+func (x *RogueDiaryAvatar) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryAvatar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryAvatar.ProtoReflect.Descriptor instead.
+func (*RogueDiaryAvatar) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryAvatar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryAvatar) GetAvatar() *ActivityDungeonAvatar {
+ if x != nil {
+ return x.Avatar
+ }
+ return nil
+}
+
+func (x *RogueDiaryAvatar) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *RogueDiaryAvatar) GetTiredRound() uint32 {
+ if x != nil {
+ return x.TiredRound
+ }
+ return 0
+}
+
+func (x *RogueDiaryAvatar) GetDisableStatusList() []RogueDiaryAvatarDisableStatus {
+ if x != nil {
+ return x.DisableStatusList
+ }
+ return nil
+}
+
+var File_RogueDiaryAvatar_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryAvatar_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x69,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xd5, 0x01, 0x0a, 0x10, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x6e,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x72, 0x65, 0x64, 0x52, 0x6f,
+ 0x75, 0x6e, 0x64, 0x12, 0x54, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e,
+ 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69,
+ 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x74, 0x61, 0x74, 0x75, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryAvatar_proto_rawDescOnce sync.Once
+ file_RogueDiaryAvatar_proto_rawDescData = file_RogueDiaryAvatar_proto_rawDesc
+)
+
+func file_RogueDiaryAvatar_proto_rawDescGZIP() []byte {
+ file_RogueDiaryAvatar_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryAvatar_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryAvatar_proto_rawDescData)
+ })
+ return file_RogueDiaryAvatar_proto_rawDescData
+}
+
+var file_RogueDiaryAvatar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryAvatar_proto_goTypes = []interface{}{
+ (*RogueDiaryAvatar)(nil), // 0: proto.RogueDiaryAvatar
+ (*ActivityDungeonAvatar)(nil), // 1: proto.ActivityDungeonAvatar
+ (RogueDiaryAvatarDisableStatus)(0), // 2: proto.RogueDiaryAvatarDisableStatus
+}
+var file_RogueDiaryAvatar_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueDiaryAvatar.avatar:type_name -> proto.ActivityDungeonAvatar
+ 2, // 1: proto.RogueDiaryAvatar.disable_status_list:type_name -> proto.RogueDiaryAvatarDisableStatus
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryAvatar_proto_init() }
+func file_RogueDiaryAvatar_proto_init() {
+ if File_RogueDiaryAvatar_proto != nil {
+ return
+ }
+ file_ActivityDungeonAvatar_proto_init()
+ file_RogueDiaryAvatarDisableStatus_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryAvatar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryAvatar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryAvatar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryAvatar_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryAvatar_proto_depIdxs,
+ MessageInfos: file_RogueDiaryAvatar_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryAvatar_proto = out.File
+ file_RogueDiaryAvatar_proto_rawDesc = nil
+ file_RogueDiaryAvatar_proto_goTypes = nil
+ file_RogueDiaryAvatar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryAvatarDisableStatus.pb.go b/protocol/proto/RogueDiaryAvatarDisableStatus.pb.go
new file mode 100644
index 00000000..3a387302
--- /dev/null
+++ b/protocol/proto/RogueDiaryAvatarDisableStatus.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryAvatarDisableStatus.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueDiaryAvatarDisableStatus int32
+
+const (
+ RogueDiaryAvatarDisableStatus_ROGUE_DIARY_AVATAR_DISABLE_STATUS_NONE RogueDiaryAvatarDisableStatus = 0
+ RogueDiaryAvatarDisableStatus_ROGUE_DIARY_AVATAR_DISABLE_STATUS_DEATH RogueDiaryAvatarDisableStatus = 1
+ RogueDiaryAvatarDisableStatus_ROGUE_DIARY_AVATAR_DISABLE_STATUS_TIRED RogueDiaryAvatarDisableStatus = 2
+ RogueDiaryAvatarDisableStatus_ROGUE_DIARY_AVATAR_DISABLE_STATUS_DUPLICATED RogueDiaryAvatarDisableStatus = 3
+)
+
+// Enum value maps for RogueDiaryAvatarDisableStatus.
+var (
+ RogueDiaryAvatarDisableStatus_name = map[int32]string{
+ 0: "ROGUE_DIARY_AVATAR_DISABLE_STATUS_NONE",
+ 1: "ROGUE_DIARY_AVATAR_DISABLE_STATUS_DEATH",
+ 2: "ROGUE_DIARY_AVATAR_DISABLE_STATUS_TIRED",
+ 3: "ROGUE_DIARY_AVATAR_DISABLE_STATUS_DUPLICATED",
+ }
+ RogueDiaryAvatarDisableStatus_value = map[string]int32{
+ "ROGUE_DIARY_AVATAR_DISABLE_STATUS_NONE": 0,
+ "ROGUE_DIARY_AVATAR_DISABLE_STATUS_DEATH": 1,
+ "ROGUE_DIARY_AVATAR_DISABLE_STATUS_TIRED": 2,
+ "ROGUE_DIARY_AVATAR_DISABLE_STATUS_DUPLICATED": 3,
+ }
+)
+
+func (x RogueDiaryAvatarDisableStatus) Enum() *RogueDiaryAvatarDisableStatus {
+ p := new(RogueDiaryAvatarDisableStatus)
+ *p = x
+ return p
+}
+
+func (x RogueDiaryAvatarDisableStatus) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RogueDiaryAvatarDisableStatus) Descriptor() protoreflect.EnumDescriptor {
+ return file_RogueDiaryAvatarDisableStatus_proto_enumTypes[0].Descriptor()
+}
+
+func (RogueDiaryAvatarDisableStatus) Type() protoreflect.EnumType {
+ return &file_RogueDiaryAvatarDisableStatus_proto_enumTypes[0]
+}
+
+func (x RogueDiaryAvatarDisableStatus) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RogueDiaryAvatarDisableStatus.Descriptor instead.
+func (RogueDiaryAvatarDisableStatus) EnumDescriptor() ([]byte, []int) {
+ return file_RogueDiaryAvatarDisableStatus_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RogueDiaryAvatarDisableStatus_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryAvatarDisableStatus_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xd7, 0x01, 0x0a,
+ 0x1d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a,
+ 0x0a, 0x26, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x56,
+ 0x41, 0x54, 0x41, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41,
+ 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x52, 0x4f,
+ 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52,
+ 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
+ 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x52, 0x4f, 0x47, 0x55, 0x45,
+ 0x5f, 0x44, 0x49, 0x41, 0x52, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x44, 0x49,
+ 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x49, 0x52,
+ 0x45, 0x44, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x52, 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x44, 0x49,
+ 0x41, 0x52, 0x59, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42,
+ 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43,
+ 0x41, 0x54, 0x45, 0x44, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryAvatarDisableStatus_proto_rawDescOnce sync.Once
+ file_RogueDiaryAvatarDisableStatus_proto_rawDescData = file_RogueDiaryAvatarDisableStatus_proto_rawDesc
+)
+
+func file_RogueDiaryAvatarDisableStatus_proto_rawDescGZIP() []byte {
+ file_RogueDiaryAvatarDisableStatus_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryAvatarDisableStatus_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryAvatarDisableStatus_proto_rawDescData)
+ })
+ return file_RogueDiaryAvatarDisableStatus_proto_rawDescData
+}
+
+var file_RogueDiaryAvatarDisableStatus_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_RogueDiaryAvatarDisableStatus_proto_goTypes = []interface{}{
+ (RogueDiaryAvatarDisableStatus)(0), // 0: proto.RogueDiaryAvatarDisableStatus
+}
+var file_RogueDiaryAvatarDisableStatus_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryAvatarDisableStatus_proto_init() }
+func file_RogueDiaryAvatarDisableStatus_proto_init() {
+ if File_RogueDiaryAvatarDisableStatus_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryAvatarDisableStatus_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryAvatarDisableStatus_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryAvatarDisableStatus_proto_depIdxs,
+ EnumInfos: file_RogueDiaryAvatarDisableStatus_proto_enumTypes,
+ }.Build()
+ File_RogueDiaryAvatarDisableStatus_proto = out.File
+ file_RogueDiaryAvatarDisableStatus_proto_rawDesc = nil
+ file_RogueDiaryAvatarDisableStatus_proto_goTypes = nil
+ file_RogueDiaryAvatarDisableStatus_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryCoinAddNotify.pb.go b/protocol/proto/RogueDiaryCoinAddNotify.pb.go
new file mode 100644
index 00000000..c07a222b
--- /dev/null
+++ b/protocol/proto/RogueDiaryCoinAddNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryCoinAddNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueDiaryCoinAddNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Num uint32 `protobuf:"varint,10,opt,name=num,proto3" json:"num,omitempty"`
+}
+
+func (x *RogueDiaryCoinAddNotify) Reset() {
+ *x = RogueDiaryCoinAddNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryCoinAddNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryCoinAddNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryCoinAddNotify) ProtoMessage() {}
+
+func (x *RogueDiaryCoinAddNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryCoinAddNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryCoinAddNotify.ProtoReflect.Descriptor instead.
+func (*RogueDiaryCoinAddNotify) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryCoinAddNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryCoinAddNotify) GetNum() uint32 {
+ if x != nil {
+ return x.Num
+ }
+ return 0
+}
+
+var File_RogueDiaryCoinAddNotify_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryCoinAddNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x69, 0x6e,
+ 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x17, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44,
+ 0x69, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryCoinAddNotify_proto_rawDescOnce sync.Once
+ file_RogueDiaryCoinAddNotify_proto_rawDescData = file_RogueDiaryCoinAddNotify_proto_rawDesc
+)
+
+func file_RogueDiaryCoinAddNotify_proto_rawDescGZIP() []byte {
+ file_RogueDiaryCoinAddNotify_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryCoinAddNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryCoinAddNotify_proto_rawDescData)
+ })
+ return file_RogueDiaryCoinAddNotify_proto_rawDescData
+}
+
+var file_RogueDiaryCoinAddNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryCoinAddNotify_proto_goTypes = []interface{}{
+ (*RogueDiaryCoinAddNotify)(nil), // 0: proto.RogueDiaryCoinAddNotify
+}
+var file_RogueDiaryCoinAddNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryCoinAddNotify_proto_init() }
+func file_RogueDiaryCoinAddNotify_proto_init() {
+ if File_RogueDiaryCoinAddNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryCoinAddNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryCoinAddNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryCoinAddNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryCoinAddNotify_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryCoinAddNotify_proto_depIdxs,
+ MessageInfos: file_RogueDiaryCoinAddNotify_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryCoinAddNotify_proto = out.File
+ file_RogueDiaryCoinAddNotify_proto_rawDesc = nil
+ file_RogueDiaryCoinAddNotify_proto_goTypes = nil
+ file_RogueDiaryCoinAddNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryDungeonInfoNotify.pb.go b/protocol/proto/RogueDiaryDungeonInfoNotify.pb.go
new file mode 100644
index 00000000..3df01540
--- /dev/null
+++ b/protocol/proto/RogueDiaryDungeonInfoNotify.pb.go
@@ -0,0 +1,259 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryDungeonInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8597
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueDiaryDungeonInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ RoundMonsterList []uint32 `protobuf:"varint,15,rep,packed,name=round_monster_list,json=roundMonsterList,proto3" json:"round_monster_list,omitempty"`
+ Time uint32 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
+ CurRoom uint32 `protobuf:"varint,5,opt,name=cur_room,json=curRoom,proto3" json:"cur_room,omitempty"`
+ CurRound uint32 `protobuf:"varint,6,opt,name=cur_round,json=curRound,proto3" json:"cur_round,omitempty"`
+ Coin uint32 `protobuf:"varint,11,opt,name=coin,proto3" json:"coin,omitempty"`
+ Difficulty uint32 `protobuf:"varint,8,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+ DungeonId uint32 `protobuf:"varint,14,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ RoomList []*RogueDiaryRoomInfo `protobuf:"bytes,7,rep,name=room_list,json=roomList,proto3" json:"room_list,omitempty"`
+ RoundCardList []uint32 `protobuf:"varint,10,rep,packed,name=round_card_list,json=roundCardList,proto3" json:"round_card_list,omitempty"`
+}
+
+func (x *RogueDiaryDungeonInfoNotify) Reset() {
+ *x = RogueDiaryDungeonInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryDungeonInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryDungeonInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryDungeonInfoNotify) ProtoMessage() {}
+
+func (x *RogueDiaryDungeonInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryDungeonInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryDungeonInfoNotify.ProtoReflect.Descriptor instead.
+func (*RogueDiaryDungeonInfoNotify) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryDungeonInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetRoundMonsterList() []uint32 {
+ if x != nil {
+ return x.RoundMonsterList
+ }
+ return nil
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetTime() uint32 {
+ if x != nil {
+ return x.Time
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetCurRoom() uint32 {
+ if x != nil {
+ return x.CurRoom
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetCurRound() uint32 {
+ if x != nil {
+ return x.CurRound
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetRoomList() []*RogueDiaryRoomInfo {
+ if x != nil {
+ return x.RoomList
+ }
+ return nil
+}
+
+func (x *RogueDiaryDungeonInfoNotify) GetRoundCardList() []uint32 {
+ if x != nil {
+ return x.RoundCardList
+ }
+ return nil
+}
+
+var File_RogueDiaryDungeonInfoNotify_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryDungeonInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x02, 0x0a, 0x1b, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69,
+ 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12,
+ 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x6f, 0x75,
+ 0x6e, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a,
+ 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x6d,
+ 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09,
+ 0x63, 0x75, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x63, 0x75, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69,
+ 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x1e, 0x0a,
+ 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x09,
+ 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61,
+ 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x61,
+ 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x72,
+ 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryDungeonInfoNotify_proto_rawDescOnce sync.Once
+ file_RogueDiaryDungeonInfoNotify_proto_rawDescData = file_RogueDiaryDungeonInfoNotify_proto_rawDesc
+)
+
+func file_RogueDiaryDungeonInfoNotify_proto_rawDescGZIP() []byte {
+ file_RogueDiaryDungeonInfoNotify_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryDungeonInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryDungeonInfoNotify_proto_rawDescData)
+ })
+ return file_RogueDiaryDungeonInfoNotify_proto_rawDescData
+}
+
+var file_RogueDiaryDungeonInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryDungeonInfoNotify_proto_goTypes = []interface{}{
+ (*RogueDiaryDungeonInfoNotify)(nil), // 0: proto.RogueDiaryDungeonInfoNotify
+ (*RogueDiaryRoomInfo)(nil), // 1: proto.RogueDiaryRoomInfo
+}
+var file_RogueDiaryDungeonInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueDiaryDungeonInfoNotify.room_list:type_name -> proto.RogueDiaryRoomInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryDungeonInfoNotify_proto_init() }
+func file_RogueDiaryDungeonInfoNotify_proto_init() {
+ if File_RogueDiaryDungeonInfoNotify_proto != nil {
+ return
+ }
+ file_RogueDiaryRoomInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryDungeonInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryDungeonInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryDungeonInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryDungeonInfoNotify_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryDungeonInfoNotify_proto_depIdxs,
+ MessageInfos: file_RogueDiaryDungeonInfoNotify_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryDungeonInfoNotify_proto = out.File
+ file_RogueDiaryDungeonInfoNotify_proto_rawDesc = nil
+ file_RogueDiaryDungeonInfoNotify_proto_goTypes = nil
+ file_RogueDiaryDungeonInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryDungeonRecord.pb.go b/protocol/proto/RogueDiaryDungeonRecord.pb.go
new file mode 100644
index 00000000..7d380b3a
--- /dev/null
+++ b/protocol/proto/RogueDiaryDungeonRecord.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryDungeonRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueDiaryDungeonRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinish bool `protobuf:"varint,10,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ MaxRound uint32 `protobuf:"varint,5,opt,name=max_round,json=maxRound,proto3" json:"max_round,omitempty"`
+ FinishTime uint32 `protobuf:"varint,15,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
+ Difficulty uint32 `protobuf:"varint,13,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+}
+
+func (x *RogueDiaryDungeonRecord) Reset() {
+ *x = RogueDiaryDungeonRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryDungeonRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryDungeonRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryDungeonRecord) ProtoMessage() {}
+
+func (x *RogueDiaryDungeonRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryDungeonRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryDungeonRecord.ProtoReflect.Descriptor instead.
+func (*RogueDiaryDungeonRecord) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryDungeonRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryDungeonRecord) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *RogueDiaryDungeonRecord) GetMaxRound() uint32 {
+ if x != nil {
+ return x.MaxRound
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonRecord) GetFinishTime() uint32 {
+ if x != nil {
+ return x.FinishTime
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonRecord) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+var File_RogueDiaryDungeonRecord_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryDungeonRecord_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x17, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12,
+ 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a,
+ 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_RogueDiaryDungeonRecord_proto_rawDescOnce sync.Once
+ file_RogueDiaryDungeonRecord_proto_rawDescData = file_RogueDiaryDungeonRecord_proto_rawDesc
+)
+
+func file_RogueDiaryDungeonRecord_proto_rawDescGZIP() []byte {
+ file_RogueDiaryDungeonRecord_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryDungeonRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryDungeonRecord_proto_rawDescData)
+ })
+ return file_RogueDiaryDungeonRecord_proto_rawDescData
+}
+
+var file_RogueDiaryDungeonRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryDungeonRecord_proto_goTypes = []interface{}{
+ (*RogueDiaryDungeonRecord)(nil), // 0: proto.RogueDiaryDungeonRecord
+}
+var file_RogueDiaryDungeonRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryDungeonRecord_proto_init() }
+func file_RogueDiaryDungeonRecord_proto_init() {
+ if File_RogueDiaryDungeonRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryDungeonRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryDungeonRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryDungeonRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryDungeonRecord_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryDungeonRecord_proto_depIdxs,
+ MessageInfos: file_RogueDiaryDungeonRecord_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryDungeonRecord_proto = out.File
+ file_RogueDiaryDungeonRecord_proto_rawDesc = nil
+ file_RogueDiaryDungeonRecord_proto_goTypes = nil
+ file_RogueDiaryDungeonRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryDungeonSettleNotify.pb.go b/protocol/proto/RogueDiaryDungeonSettleNotify.pb.go
new file mode 100644
index 00000000..138d2dd8
--- /dev/null
+++ b/protocol/proto/RogueDiaryDungeonSettleNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryDungeonSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8895
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueDiaryDungeonSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExploreTime uint32 `protobuf:"varint,1,opt,name=explore_time,json=exploreTime,proto3" json:"explore_time,omitempty"`
+ IsFinish bool `protobuf:"varint,3,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ CurRound uint32 `protobuf:"varint,2,opt,name=cur_round,json=curRound,proto3" json:"cur_round,omitempty"`
+}
+
+func (x *RogueDiaryDungeonSettleNotify) Reset() {
+ *x = RogueDiaryDungeonSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryDungeonSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryDungeonSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryDungeonSettleNotify) ProtoMessage() {}
+
+func (x *RogueDiaryDungeonSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryDungeonSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryDungeonSettleNotify.ProtoReflect.Descriptor instead.
+func (*RogueDiaryDungeonSettleNotify) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryDungeonSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryDungeonSettleNotify) GetExploreTime() uint32 {
+ if x != nil {
+ return x.ExploreTime
+ }
+ return 0
+}
+
+func (x *RogueDiaryDungeonSettleNotify) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *RogueDiaryDungeonSettleNotify) GetCurRound() uint32 {
+ if x != nil {
+ return x.CurRound
+ }
+ return 0
+}
+
+var File_RogueDiaryDungeonSettleNotify_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryDungeonSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x1d,
+ 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a,
+ 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1b, 0x0a,
+ 0x09, 0x63, 0x75, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x63, 0x75, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryDungeonSettleNotify_proto_rawDescOnce sync.Once
+ file_RogueDiaryDungeonSettleNotify_proto_rawDescData = file_RogueDiaryDungeonSettleNotify_proto_rawDesc
+)
+
+func file_RogueDiaryDungeonSettleNotify_proto_rawDescGZIP() []byte {
+ file_RogueDiaryDungeonSettleNotify_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryDungeonSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryDungeonSettleNotify_proto_rawDescData)
+ })
+ return file_RogueDiaryDungeonSettleNotify_proto_rawDescData
+}
+
+var file_RogueDiaryDungeonSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryDungeonSettleNotify_proto_goTypes = []interface{}{
+ (*RogueDiaryDungeonSettleNotify)(nil), // 0: proto.RogueDiaryDungeonSettleNotify
+}
+var file_RogueDiaryDungeonSettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryDungeonSettleNotify_proto_init() }
+func file_RogueDiaryDungeonSettleNotify_proto_init() {
+ if File_RogueDiaryDungeonSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryDungeonSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryDungeonSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryDungeonSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryDungeonSettleNotify_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryDungeonSettleNotify_proto_depIdxs,
+ MessageInfos: file_RogueDiaryDungeonSettleNotify_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryDungeonSettleNotify_proto = out.File
+ file_RogueDiaryDungeonSettleNotify_proto_rawDesc = nil
+ file_RogueDiaryDungeonSettleNotify_proto_goTypes = nil
+ file_RogueDiaryDungeonSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryProgress.pb.go b/protocol/proto/RogueDiaryProgress.pb.go
new file mode 100644
index 00000000..a8fd0638
--- /dev/null
+++ b/protocol/proto/RogueDiaryProgress.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryProgress.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueDiaryProgress struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Difficulty uint32 `protobuf:"varint,7,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+ OptionalCardList []uint32 `protobuf:"varint,4,rep,packed,name=optional_card_list,json=optionalCardList,proto3" json:"optional_card_list,omitempty"`
+ IsEnterDungeon bool `protobuf:"varint,9,opt,name=is_enter_dungeon,json=isEnterDungeon,proto3" json:"is_enter_dungeon,omitempty"`
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ CurRound uint32 `protobuf:"varint,3,opt,name=cur_round,json=curRound,proto3" json:"cur_round,omitempty"`
+}
+
+func (x *RogueDiaryProgress) Reset() {
+ *x = RogueDiaryProgress{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryProgress_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryProgress) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryProgress) ProtoMessage() {}
+
+func (x *RogueDiaryProgress) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryProgress_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryProgress.ProtoReflect.Descriptor instead.
+func (*RogueDiaryProgress) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryProgress_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryProgress) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+func (x *RogueDiaryProgress) GetOptionalCardList() []uint32 {
+ if x != nil {
+ return x.OptionalCardList
+ }
+ return nil
+}
+
+func (x *RogueDiaryProgress) GetIsEnterDungeon() bool {
+ if x != nil {
+ return x.IsEnterDungeon
+ }
+ return false
+}
+
+func (x *RogueDiaryProgress) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RogueDiaryProgress) GetCurRound() uint32 {
+ if x != nil {
+ return x.CurRound
+ }
+ return 0
+}
+
+var File_RogueDiaryProgress_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryProgress_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x12, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79,
+ 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x61,
+ 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x74,
+ 0x65, 0x72, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0e, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63,
+ 0x75, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x63, 0x75, 0x72, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryProgress_proto_rawDescOnce sync.Once
+ file_RogueDiaryProgress_proto_rawDescData = file_RogueDiaryProgress_proto_rawDesc
+)
+
+func file_RogueDiaryProgress_proto_rawDescGZIP() []byte {
+ file_RogueDiaryProgress_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryProgress_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryProgress_proto_rawDescData)
+ })
+ return file_RogueDiaryProgress_proto_rawDescData
+}
+
+var file_RogueDiaryProgress_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryProgress_proto_goTypes = []interface{}{
+ (*RogueDiaryProgress)(nil), // 0: proto.RogueDiaryProgress
+}
+var file_RogueDiaryProgress_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryProgress_proto_init() }
+func file_RogueDiaryProgress_proto_init() {
+ if File_RogueDiaryProgress_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryProgress_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryProgress); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryProgress_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryProgress_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryProgress_proto_depIdxs,
+ MessageInfos: file_RogueDiaryProgress_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryProgress_proto = out.File
+ file_RogueDiaryProgress_proto_rawDesc = nil
+ file_RogueDiaryProgress_proto_goTypes = nil
+ file_RogueDiaryProgress_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryRepairInfoNotify.pb.go b/protocol/proto/RogueDiaryRepairInfoNotify.pb.go
new file mode 100644
index 00000000..425e27c6
--- /dev/null
+++ b/protocol/proto/RogueDiaryRepairInfoNotify.pb.go
@@ -0,0 +1,255 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryRepairInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8641
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueDiaryRepairInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,8,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ SelectCardList []uint32 `protobuf:"varint,14,rep,packed,name=select_card_list,json=selectCardList,proto3" json:"select_card_list,omitempty"`
+ AvatarList []*RogueDiaryAvatar `protobuf:"bytes,13,rep,name=avatar_list,json=avatarList,proto3" json:"avatar_list,omitempty"`
+ RoomList []*RogueDiaryRoomInfo `protobuf:"bytes,2,rep,name=room_list,json=roomList,proto3" json:"room_list,omitempty"`
+ RandCardList []uint32 `protobuf:"varint,10,rep,packed,name=rand_card_list,json=randCardList,proto3" json:"rand_card_list,omitempty"`
+ SelectAvatarList []*RogueDiaryAvatar `protobuf:"bytes,9,rep,name=select_avatar_list,json=selectAvatarList,proto3" json:"select_avatar_list,omitempty"`
+ ChosenCardList []uint32 `protobuf:"varint,15,rep,packed,name=chosen_card_list,json=chosenCardList,proto3" json:"chosen_card_list,omitempty"`
+ TrialAvatarList []*RogueDiaryAvatar `protobuf:"bytes,11,rep,name=trial_avatar_list,json=trialAvatarList,proto3" json:"trial_avatar_list,omitempty"`
+}
+
+func (x *RogueDiaryRepairInfoNotify) Reset() {
+ *x = RogueDiaryRepairInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryRepairInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryRepairInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryRepairInfoNotify) ProtoMessage() {}
+
+func (x *RogueDiaryRepairInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryRepairInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryRepairInfoNotify.ProtoReflect.Descriptor instead.
+func (*RogueDiaryRepairInfoNotify) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryRepairInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryRepairInfoNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RogueDiaryRepairInfoNotify) GetSelectCardList() []uint32 {
+ if x != nil {
+ return x.SelectCardList
+ }
+ return nil
+}
+
+func (x *RogueDiaryRepairInfoNotify) GetAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.AvatarList
+ }
+ return nil
+}
+
+func (x *RogueDiaryRepairInfoNotify) GetRoomList() []*RogueDiaryRoomInfo {
+ if x != nil {
+ return x.RoomList
+ }
+ return nil
+}
+
+func (x *RogueDiaryRepairInfoNotify) GetRandCardList() []uint32 {
+ if x != nil {
+ return x.RandCardList
+ }
+ return nil
+}
+
+func (x *RogueDiaryRepairInfoNotify) GetSelectAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.SelectAvatarList
+ }
+ return nil
+}
+
+func (x *RogueDiaryRepairInfoNotify) GetChosenCardList() []uint32 {
+ if x != nil {
+ return x.ChosenCardList
+ }
+ return nil
+}
+
+func (x *RogueDiaryRepairInfoNotify) GetTrialAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.TrialAvatarList
+ }
+ return nil
+}
+
+var File_RogueDiaryRepairInfoNotify_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryRepairInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x65, 0x70, 0x61,
+ 0x69, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x18, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x6f, 0x6f,
+ 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x03, 0x0a, 0x1a,
+ 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x38, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x0a, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x72, 0x6f, 0x6f,
+ 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52,
+ 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x61, 0x6e, 0x64, 0x43,
+ 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x12, 0x73, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x10, 0x73, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28,
+ 0x0a, 0x10, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e,
+ 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x61,
+ 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x0f, 0x74, 0x72,
+ 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_RogueDiaryRepairInfoNotify_proto_rawDescOnce sync.Once
+ file_RogueDiaryRepairInfoNotify_proto_rawDescData = file_RogueDiaryRepairInfoNotify_proto_rawDesc
+)
+
+func file_RogueDiaryRepairInfoNotify_proto_rawDescGZIP() []byte {
+ file_RogueDiaryRepairInfoNotify_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryRepairInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryRepairInfoNotify_proto_rawDescData)
+ })
+ return file_RogueDiaryRepairInfoNotify_proto_rawDescData
+}
+
+var file_RogueDiaryRepairInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryRepairInfoNotify_proto_goTypes = []interface{}{
+ (*RogueDiaryRepairInfoNotify)(nil), // 0: proto.RogueDiaryRepairInfoNotify
+ (*RogueDiaryAvatar)(nil), // 1: proto.RogueDiaryAvatar
+ (*RogueDiaryRoomInfo)(nil), // 2: proto.RogueDiaryRoomInfo
+}
+var file_RogueDiaryRepairInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueDiaryRepairInfoNotify.avatar_list:type_name -> proto.RogueDiaryAvatar
+ 2, // 1: proto.RogueDiaryRepairInfoNotify.room_list:type_name -> proto.RogueDiaryRoomInfo
+ 1, // 2: proto.RogueDiaryRepairInfoNotify.select_avatar_list:type_name -> proto.RogueDiaryAvatar
+ 1, // 3: proto.RogueDiaryRepairInfoNotify.trial_avatar_list:type_name -> proto.RogueDiaryAvatar
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryRepairInfoNotify_proto_init() }
+func file_RogueDiaryRepairInfoNotify_proto_init() {
+ if File_RogueDiaryRepairInfoNotify_proto != nil {
+ return
+ }
+ file_RogueDiaryAvatar_proto_init()
+ file_RogueDiaryRoomInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryRepairInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryRepairInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryRepairInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryRepairInfoNotify_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryRepairInfoNotify_proto_depIdxs,
+ MessageInfos: file_RogueDiaryRepairInfoNotify_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryRepairInfoNotify_proto = out.File
+ file_RogueDiaryRepairInfoNotify_proto_rawDesc = nil
+ file_RogueDiaryRepairInfoNotify_proto_goTypes = nil
+ file_RogueDiaryRepairInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryReviveAvatarReq.pb.go b/protocol/proto/RogueDiaryReviveAvatarReq.pb.go
new file mode 100644
index 00000000..c85e8799
--- /dev/null
+++ b/protocol/proto/RogueDiaryReviveAvatarReq.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryReviveAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8038
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueDiaryReviveAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReviveAvatar *RogueDiaryAvatar `protobuf:"bytes,2,opt,name=revive_avatar,json=reviveAvatar,proto3" json:"revive_avatar,omitempty"`
+}
+
+func (x *RogueDiaryReviveAvatarReq) Reset() {
+ *x = RogueDiaryReviveAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryReviveAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryReviveAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryReviveAvatarReq) ProtoMessage() {}
+
+func (x *RogueDiaryReviveAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryReviveAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryReviveAvatarReq.ProtoReflect.Descriptor instead.
+func (*RogueDiaryReviveAvatarReq) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryReviveAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryReviveAvatarReq) GetReviveAvatar() *RogueDiaryAvatar {
+ if x != nil {
+ return x.ReviveAvatar
+ }
+ return nil
+}
+
+var File_RogueDiaryReviveAvatarReq_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryReviveAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x65, 0x76, 0x69,
+ 0x76, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44,
+ 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x59, 0x0a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x65,
+ 0x76, 0x69, 0x76, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x3c, 0x0a,
+ 0x0d, 0x72, 0x65, 0x76, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x0c, 0x72,
+ 0x65, 0x76, 0x69, 0x76, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryReviveAvatarReq_proto_rawDescOnce sync.Once
+ file_RogueDiaryReviveAvatarReq_proto_rawDescData = file_RogueDiaryReviveAvatarReq_proto_rawDesc
+)
+
+func file_RogueDiaryReviveAvatarReq_proto_rawDescGZIP() []byte {
+ file_RogueDiaryReviveAvatarReq_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryReviveAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryReviveAvatarReq_proto_rawDescData)
+ })
+ return file_RogueDiaryReviveAvatarReq_proto_rawDescData
+}
+
+var file_RogueDiaryReviveAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryReviveAvatarReq_proto_goTypes = []interface{}{
+ (*RogueDiaryReviveAvatarReq)(nil), // 0: proto.RogueDiaryReviveAvatarReq
+ (*RogueDiaryAvatar)(nil), // 1: proto.RogueDiaryAvatar
+}
+var file_RogueDiaryReviveAvatarReq_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueDiaryReviveAvatarReq.revive_avatar:type_name -> proto.RogueDiaryAvatar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryReviveAvatarReq_proto_init() }
+func file_RogueDiaryReviveAvatarReq_proto_init() {
+ if File_RogueDiaryReviveAvatarReq_proto != nil {
+ return
+ }
+ file_RogueDiaryAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryReviveAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryReviveAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryReviveAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryReviveAvatarReq_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryReviveAvatarReq_proto_depIdxs,
+ MessageInfos: file_RogueDiaryReviveAvatarReq_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryReviveAvatarReq_proto = out.File
+ file_RogueDiaryReviveAvatarReq_proto_rawDesc = nil
+ file_RogueDiaryReviveAvatarReq_proto_goTypes = nil
+ file_RogueDiaryReviveAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryReviveAvatarRsp.pb.go b/protocol/proto/RogueDiaryReviveAvatarRsp.pb.go
new file mode 100644
index 00000000..29940305
--- /dev/null
+++ b/protocol/proto/RogueDiaryReviveAvatarRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryReviveAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8343
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RogueDiaryReviveAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RogueDiaryReviveAvatarRsp) Reset() {
+ *x = RogueDiaryReviveAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryReviveAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryReviveAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryReviveAvatarRsp) ProtoMessage() {}
+
+func (x *RogueDiaryReviveAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryReviveAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryReviveAvatarRsp.ProtoReflect.Descriptor instead.
+func (*RogueDiaryReviveAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryReviveAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryReviveAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RogueDiaryReviveAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryReviveAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x65, 0x76, 0x69,
+ 0x76, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x19, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x65, 0x76, 0x69, 0x76, 0x65, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryReviveAvatarRsp_proto_rawDescOnce sync.Once
+ file_RogueDiaryReviveAvatarRsp_proto_rawDescData = file_RogueDiaryReviveAvatarRsp_proto_rawDesc
+)
+
+func file_RogueDiaryReviveAvatarRsp_proto_rawDescGZIP() []byte {
+ file_RogueDiaryReviveAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryReviveAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryReviveAvatarRsp_proto_rawDescData)
+ })
+ return file_RogueDiaryReviveAvatarRsp_proto_rawDescData
+}
+
+var file_RogueDiaryReviveAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryReviveAvatarRsp_proto_goTypes = []interface{}{
+ (*RogueDiaryReviveAvatarRsp)(nil), // 0: proto.RogueDiaryReviveAvatarRsp
+}
+var file_RogueDiaryReviveAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryReviveAvatarRsp_proto_init() }
+func file_RogueDiaryReviveAvatarRsp_proto_init() {
+ if File_RogueDiaryReviveAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryReviveAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryReviveAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryReviveAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryReviveAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryReviveAvatarRsp_proto_depIdxs,
+ MessageInfos: file_RogueDiaryReviveAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryReviveAvatarRsp_proto = out.File
+ file_RogueDiaryReviveAvatarRsp_proto_rawDesc = nil
+ file_RogueDiaryReviveAvatarRsp_proto_goTypes = nil
+ file_RogueDiaryReviveAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryRoomInfo.pb.go b/protocol/proto/RogueDiaryRoomInfo.pb.go
new file mode 100644
index 00000000..a6528507
--- /dev/null
+++ b/protocol/proto/RogueDiaryRoomInfo.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryRoomInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueDiaryRoomInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterList []*Uint32Pair `protobuf:"bytes,1,rep,name=monster_list,json=monsterList,proto3" json:"monster_list,omitempty"`
+ IsBoss bool `protobuf:"varint,3,opt,name=is_boss,json=isBoss,proto3" json:"is_boss,omitempty"`
+ ConfigId uint32 `protobuf:"varint,7,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *RogueDiaryRoomInfo) Reset() {
+ *x = RogueDiaryRoomInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryRoomInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryRoomInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryRoomInfo) ProtoMessage() {}
+
+func (x *RogueDiaryRoomInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryRoomInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryRoomInfo.ProtoReflect.Descriptor instead.
+func (*RogueDiaryRoomInfo) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryRoomInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryRoomInfo) GetMonsterList() []*Uint32Pair {
+ if x != nil {
+ return x.MonsterList
+ }
+ return nil
+}
+
+func (x *RogueDiaryRoomInfo) GetIsBoss() bool {
+ if x != nil {
+ return x.IsBoss
+ }
+ return false
+}
+
+func (x *RogueDiaryRoomInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_RogueDiaryRoomInfo_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryRoomInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61,
+ 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x0c, 0x6d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50,
+ 0x61, 0x69, 0x72, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x69, 0x73, 0x42, 0x6f, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryRoomInfo_proto_rawDescOnce sync.Once
+ file_RogueDiaryRoomInfo_proto_rawDescData = file_RogueDiaryRoomInfo_proto_rawDesc
+)
+
+func file_RogueDiaryRoomInfo_proto_rawDescGZIP() []byte {
+ file_RogueDiaryRoomInfo_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryRoomInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryRoomInfo_proto_rawDescData)
+ })
+ return file_RogueDiaryRoomInfo_proto_rawDescData
+}
+
+var file_RogueDiaryRoomInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryRoomInfo_proto_goTypes = []interface{}{
+ (*RogueDiaryRoomInfo)(nil), // 0: proto.RogueDiaryRoomInfo
+ (*Uint32Pair)(nil), // 1: proto.Uint32Pair
+}
+var file_RogueDiaryRoomInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueDiaryRoomInfo.monster_list:type_name -> proto.Uint32Pair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryRoomInfo_proto_init() }
+func file_RogueDiaryRoomInfo_proto_init() {
+ if File_RogueDiaryRoomInfo_proto != nil {
+ return
+ }
+ file_Uint32Pair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryRoomInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryRoomInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryRoomInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryRoomInfo_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryRoomInfo_proto_depIdxs,
+ MessageInfos: file_RogueDiaryRoomInfo_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryRoomInfo_proto = out.File
+ file_RogueDiaryRoomInfo_proto_rawDesc = nil
+ file_RogueDiaryRoomInfo_proto_goTypes = nil
+ file_RogueDiaryRoomInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryStageInfo.pb.go b/protocol/proto/RogueDiaryStageInfo.pb.go
new file mode 100644
index 00000000..78fbbef7
--- /dev/null
+++ b/protocol/proto/RogueDiaryStageInfo.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueDiaryStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,1,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ BestRecord *RogueDiaryDungeonRecord `protobuf:"bytes,12,opt,name=best_record,json=bestRecord,proto3" json:"best_record,omitempty"`
+ IsHaveTry bool `protobuf:"varint,10,opt,name=is_have_try,json=isHaveTry,proto3" json:"is_have_try,omitempty"`
+}
+
+func (x *RogueDiaryStageInfo) Reset() {
+ *x = RogueDiaryStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryStageInfo) ProtoMessage() {}
+
+func (x *RogueDiaryStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryStageInfo.ProtoReflect.Descriptor instead.
+func (*RogueDiaryStageInfo) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RogueDiaryStageInfo) GetBestRecord() *RogueDiaryDungeonRecord {
+ if x != nil {
+ return x.BestRecord
+ }
+ return nil
+}
+
+func (x *RogueDiaryStageInfo) GetIsHaveTry() bool {
+ if x != nil {
+ return x.IsHaveTry
+ }
+ return false
+}
+
+var File_RogueDiaryStageInfo_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x76, 0x65,
+ 0x5f, 0x74, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x48, 0x61,
+ 0x76, 0x65, 0x54, 0x72, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryStageInfo_proto_rawDescOnce sync.Once
+ file_RogueDiaryStageInfo_proto_rawDescData = file_RogueDiaryStageInfo_proto_rawDesc
+)
+
+func file_RogueDiaryStageInfo_proto_rawDescGZIP() []byte {
+ file_RogueDiaryStageInfo_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryStageInfo_proto_rawDescData)
+ })
+ return file_RogueDiaryStageInfo_proto_rawDescData
+}
+
+var file_RogueDiaryStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryStageInfo_proto_goTypes = []interface{}{
+ (*RogueDiaryStageInfo)(nil), // 0: proto.RogueDiaryStageInfo
+ (*RogueDiaryDungeonRecord)(nil), // 1: proto.RogueDiaryDungeonRecord
+}
+var file_RogueDiaryStageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueDiaryStageInfo.best_record:type_name -> proto.RogueDiaryDungeonRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryStageInfo_proto_init() }
+func file_RogueDiaryStageInfo_proto_init() {
+ if File_RogueDiaryStageInfo_proto != nil {
+ return
+ }
+ file_RogueDiaryDungeonRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryStageInfo_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryStageInfo_proto_depIdxs,
+ MessageInfos: file_RogueDiaryStageInfo_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryStageInfo_proto = out.File
+ file_RogueDiaryStageInfo_proto_rawDesc = nil
+ file_RogueDiaryStageInfo_proto_goTypes = nil
+ file_RogueDiaryStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDiaryTiredAvatarNotify.pb.go b/protocol/proto/RogueDiaryTiredAvatarNotify.pb.go
new file mode 100644
index 00000000..e5f59eb3
--- /dev/null
+++ b/protocol/proto/RogueDiaryTiredAvatarNotify.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDiaryTiredAvatarNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8514
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueDiaryTiredAvatarNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OptianalTiredAvatarList []*RogueDiaryAvatar `protobuf:"bytes,10,rep,name=optianal_tired_avatar_list,json=optianalTiredAvatarList,proto3" json:"optianal_tired_avatar_list,omitempty"`
+ ReserveAvatarNum uint32 `protobuf:"varint,6,opt,name=reserve_avatar_num,json=reserveAvatarNum,proto3" json:"reserve_avatar_num,omitempty"`
+ TiredType uint32 `protobuf:"varint,8,opt,name=tired_type,json=tiredType,proto3" json:"tired_type,omitempty"`
+ IsNeedShow bool `protobuf:"varint,7,opt,name=is_need_show,json=isNeedShow,proto3" json:"is_need_show,omitempty"`
+}
+
+func (x *RogueDiaryTiredAvatarNotify) Reset() {
+ *x = RogueDiaryTiredAvatarNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDiaryTiredAvatarNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDiaryTiredAvatarNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDiaryTiredAvatarNotify) ProtoMessage() {}
+
+func (x *RogueDiaryTiredAvatarNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDiaryTiredAvatarNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDiaryTiredAvatarNotify.ProtoReflect.Descriptor instead.
+func (*RogueDiaryTiredAvatarNotify) Descriptor() ([]byte, []int) {
+ return file_RogueDiaryTiredAvatarNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDiaryTiredAvatarNotify) GetOptianalTiredAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.OptianalTiredAvatarList
+ }
+ return nil
+}
+
+func (x *RogueDiaryTiredAvatarNotify) GetReserveAvatarNum() uint32 {
+ if x != nil {
+ return x.ReserveAvatarNum
+ }
+ return 0
+}
+
+func (x *RogueDiaryTiredAvatarNotify) GetTiredType() uint32 {
+ if x != nil {
+ return x.TiredType
+ }
+ return 0
+}
+
+func (x *RogueDiaryTiredAvatarNotify) GetIsNeedShow() bool {
+ if x != nil {
+ return x.IsNeedShow
+ }
+ return false
+}
+
+var File_RogueDiaryTiredAvatarNotify_proto protoreflect.FileDescriptor
+
+var file_RogueDiaryTiredAvatarNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x54, 0x69, 0x72, 0x65,
+ 0x64, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xe2, 0x01, 0x0a, 0x1b, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x54, 0x69, 0x72, 0x65, 0x64, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x54, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x61, 0x6e, 0x61, 0x6c, 0x5f, 0x74,
+ 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
+ 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52,
+ 0x17, 0x6f, 0x70, 0x74, 0x69, 0x61, 0x6e, 0x61, 0x6c, 0x54, 0x69, 0x72, 0x65, 0x64, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x65,
+ 0x72, 0x76, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x72, 0x65,
+ 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x65, 0x64,
+ 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4e,
+ 0x65, 0x65, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDiaryTiredAvatarNotify_proto_rawDescOnce sync.Once
+ file_RogueDiaryTiredAvatarNotify_proto_rawDescData = file_RogueDiaryTiredAvatarNotify_proto_rawDesc
+)
+
+func file_RogueDiaryTiredAvatarNotify_proto_rawDescGZIP() []byte {
+ file_RogueDiaryTiredAvatarNotify_proto_rawDescOnce.Do(func() {
+ file_RogueDiaryTiredAvatarNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDiaryTiredAvatarNotify_proto_rawDescData)
+ })
+ return file_RogueDiaryTiredAvatarNotify_proto_rawDescData
+}
+
+var file_RogueDiaryTiredAvatarNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDiaryTiredAvatarNotify_proto_goTypes = []interface{}{
+ (*RogueDiaryTiredAvatarNotify)(nil), // 0: proto.RogueDiaryTiredAvatarNotify
+ (*RogueDiaryAvatar)(nil), // 1: proto.RogueDiaryAvatar
+}
+var file_RogueDiaryTiredAvatarNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueDiaryTiredAvatarNotify.optianal_tired_avatar_list:type_name -> proto.RogueDiaryAvatar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueDiaryTiredAvatarNotify_proto_init() }
+func file_RogueDiaryTiredAvatarNotify_proto_init() {
+ if File_RogueDiaryTiredAvatarNotify_proto != nil {
+ return
+ }
+ file_RogueDiaryAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDiaryTiredAvatarNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDiaryTiredAvatarNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDiaryTiredAvatarNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDiaryTiredAvatarNotify_proto_goTypes,
+ DependencyIndexes: file_RogueDiaryTiredAvatarNotify_proto_depIdxs,
+ MessageInfos: file_RogueDiaryTiredAvatarNotify_proto_msgTypes,
+ }.Build()
+ File_RogueDiaryTiredAvatarNotify_proto = out.File
+ file_RogueDiaryTiredAvatarNotify_proto_rawDesc = nil
+ file_RogueDiaryTiredAvatarNotify_proto_goTypes = nil
+ file_RogueDiaryTiredAvatarNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueDungeonPlayerCellChangeNotify.pb.go b/protocol/proto/RogueDungeonPlayerCellChangeNotify.pb.go
new file mode 100644
index 00000000..ccfa1e2e
--- /dev/null
+++ b/protocol/proto/RogueDungeonPlayerCellChangeNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueDungeonPlayerCellChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8347
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RogueDungeonPlayerCellChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OldCellId uint32 `protobuf:"varint,10,opt,name=old_cell_id,json=oldCellId,proto3" json:"old_cell_id,omitempty"`
+ CellId uint32 `protobuf:"varint,7,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+}
+
+func (x *RogueDungeonPlayerCellChangeNotify) Reset() {
+ *x = RogueDungeonPlayerCellChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueDungeonPlayerCellChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueDungeonPlayerCellChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueDungeonPlayerCellChangeNotify) ProtoMessage() {}
+
+func (x *RogueDungeonPlayerCellChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueDungeonPlayerCellChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueDungeonPlayerCellChangeNotify.ProtoReflect.Descriptor instead.
+func (*RogueDungeonPlayerCellChangeNotify) Descriptor() ([]byte, []int) {
+ return file_RogueDungeonPlayerCellChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueDungeonPlayerCellChangeNotify) GetOldCellId() uint32 {
+ if x != nil {
+ return x.OldCellId
+ }
+ return 0
+}
+
+func (x *RogueDungeonPlayerCellChangeNotify) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+var File_RogueDungeonPlayerCellChangeNotify_proto protoreflect.FileDescriptor
+
+var file_RogueDungeonPlayerCellChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x5d, 0x0a, 0x22, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x6c, 0x64, 0x5f, 0x63,
+ 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x6c,
+ 0x64, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueDungeonPlayerCellChangeNotify_proto_rawDescOnce sync.Once
+ file_RogueDungeonPlayerCellChangeNotify_proto_rawDescData = file_RogueDungeonPlayerCellChangeNotify_proto_rawDesc
+)
+
+func file_RogueDungeonPlayerCellChangeNotify_proto_rawDescGZIP() []byte {
+ file_RogueDungeonPlayerCellChangeNotify_proto_rawDescOnce.Do(func() {
+ file_RogueDungeonPlayerCellChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueDungeonPlayerCellChangeNotify_proto_rawDescData)
+ })
+ return file_RogueDungeonPlayerCellChangeNotify_proto_rawDescData
+}
+
+var file_RogueDungeonPlayerCellChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueDungeonPlayerCellChangeNotify_proto_goTypes = []interface{}{
+ (*RogueDungeonPlayerCellChangeNotify)(nil), // 0: proto.RogueDungeonPlayerCellChangeNotify
+}
+var file_RogueDungeonPlayerCellChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueDungeonPlayerCellChangeNotify_proto_init() }
+func file_RogueDungeonPlayerCellChangeNotify_proto_init() {
+ if File_RogueDungeonPlayerCellChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueDungeonPlayerCellChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueDungeonPlayerCellChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueDungeonPlayerCellChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueDungeonPlayerCellChangeNotify_proto_goTypes,
+ DependencyIndexes: file_RogueDungeonPlayerCellChangeNotify_proto_depIdxs,
+ MessageInfos: file_RogueDungeonPlayerCellChangeNotify_proto_msgTypes,
+ }.Build()
+ File_RogueDungeonPlayerCellChangeNotify_proto = out.File
+ file_RogueDungeonPlayerCellChangeNotify_proto_rawDesc = nil
+ file_RogueDungeonPlayerCellChangeNotify_proto_goTypes = nil
+ file_RogueDungeonPlayerCellChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueEffectRecord.pb.go b/protocol/proto/RogueEffectRecord.pb.go
new file mode 100644
index 00000000..65890897
--- /dev/null
+++ b/protocol/proto/RogueEffectRecord.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueEffectRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueEffectRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SourceId uint32 `protobuf:"varint,6,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
+ ExtraParamList []uint32 `protobuf:"varint,9,rep,packed,name=extra_param_list,json=extraParamList,proto3" json:"extra_param_list,omitempty"`
+ Count uint32 `protobuf:"varint,10,opt,name=count,proto3" json:"count,omitempty"`
+ IsNew bool `protobuf:"varint,5,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"`
+}
+
+func (x *RogueEffectRecord) Reset() {
+ *x = RogueEffectRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueEffectRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueEffectRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueEffectRecord) ProtoMessage() {}
+
+func (x *RogueEffectRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueEffectRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueEffectRecord.ProtoReflect.Descriptor instead.
+func (*RogueEffectRecord) Descriptor() ([]byte, []int) {
+ return file_RogueEffectRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueEffectRecord) GetSourceId() uint32 {
+ if x != nil {
+ return x.SourceId
+ }
+ return 0
+}
+
+func (x *RogueEffectRecord) GetExtraParamList() []uint32 {
+ if x != nil {
+ return x.ExtraParamList
+ }
+ return nil
+}
+
+func (x *RogueEffectRecord) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *RogueEffectRecord) GetIsNew() bool {
+ if x != nil {
+ return x.IsNew
+ }
+ return false
+}
+
+var File_RogueEffectRecord_proto protoreflect.FileDescriptor
+
+var file_RogueEffectRecord_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x87, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x65,
+ 0x78, 0x74, 0x72, 0x61, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a,
+ 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueEffectRecord_proto_rawDescOnce sync.Once
+ file_RogueEffectRecord_proto_rawDescData = file_RogueEffectRecord_proto_rawDesc
+)
+
+func file_RogueEffectRecord_proto_rawDescGZIP() []byte {
+ file_RogueEffectRecord_proto_rawDescOnce.Do(func() {
+ file_RogueEffectRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueEffectRecord_proto_rawDescData)
+ })
+ return file_RogueEffectRecord_proto_rawDescData
+}
+
+var file_RogueEffectRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueEffectRecord_proto_goTypes = []interface{}{
+ (*RogueEffectRecord)(nil), // 0: proto.RogueEffectRecord
+}
+var file_RogueEffectRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueEffectRecord_proto_init() }
+func file_RogueEffectRecord_proto_init() {
+ if File_RogueEffectRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueEffectRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueEffectRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueEffectRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueEffectRecord_proto_goTypes,
+ DependencyIndexes: file_RogueEffectRecord_proto_depIdxs,
+ MessageInfos: file_RogueEffectRecord_proto_msgTypes,
+ }.Build()
+ File_RogueEffectRecord_proto = out.File
+ file_RogueEffectRecord_proto_rawDesc = nil
+ file_RogueEffectRecord_proto_goTypes = nil
+ file_RogueEffectRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueEliteCellDifficultyType.pb.go b/protocol/proto/RogueEliteCellDifficultyType.pb.go
new file mode 100644
index 00000000..f0dbf63d
--- /dev/null
+++ b/protocol/proto/RogueEliteCellDifficultyType.pb.go
@@ -0,0 +1,149 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueEliteCellDifficultyType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueEliteCellDifficultyType int32
+
+const (
+ RogueEliteCellDifficultyType_ROGUE_ELITE_CELL_DIFFICULTY_TYPE_NORMAL RogueEliteCellDifficultyType = 0
+ RogueEliteCellDifficultyType_ROGUE_ELITE_CELL_DIFFICULTY_TYPE_HARD RogueEliteCellDifficultyType = 1
+)
+
+// Enum value maps for RogueEliteCellDifficultyType.
+var (
+ RogueEliteCellDifficultyType_name = map[int32]string{
+ 0: "ROGUE_ELITE_CELL_DIFFICULTY_TYPE_NORMAL",
+ 1: "ROGUE_ELITE_CELL_DIFFICULTY_TYPE_HARD",
+ }
+ RogueEliteCellDifficultyType_value = map[string]int32{
+ "ROGUE_ELITE_CELL_DIFFICULTY_TYPE_NORMAL": 0,
+ "ROGUE_ELITE_CELL_DIFFICULTY_TYPE_HARD": 1,
+ }
+)
+
+func (x RogueEliteCellDifficultyType) Enum() *RogueEliteCellDifficultyType {
+ p := new(RogueEliteCellDifficultyType)
+ *p = x
+ return p
+}
+
+func (x RogueEliteCellDifficultyType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (RogueEliteCellDifficultyType) Descriptor() protoreflect.EnumDescriptor {
+ return file_RogueEliteCellDifficultyType_proto_enumTypes[0].Descriptor()
+}
+
+func (RogueEliteCellDifficultyType) Type() protoreflect.EnumType {
+ return &file_RogueEliteCellDifficultyType_proto_enumTypes[0]
+}
+
+func (x RogueEliteCellDifficultyType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use RogueEliteCellDifficultyType.Descriptor instead.
+func (RogueEliteCellDifficultyType) EnumDescriptor() ([]byte, []int) {
+ return file_RogueEliteCellDifficultyType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RogueEliteCellDifficultyType_proto protoreflect.FileDescriptor
+
+var file_RogueEliteCellDifficultyType_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x6c, 0x69, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c,
+ 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x76, 0x0a, 0x1c, 0x52,
+ 0x6f, 0x67, 0x75, 0x65, 0x45, 0x6c, 0x69, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x44, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x27, 0x52,
+ 0x4f, 0x47, 0x55, 0x45, 0x5f, 0x45, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x5f,
+ 0x44, 0x49, 0x46, 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x52, 0x4f, 0x47, 0x55,
+ 0x45, 0x5f, 0x45, 0x4c, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x5f, 0x44, 0x49, 0x46,
+ 0x46, 0x49, 0x43, 0x55, 0x4c, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x41, 0x52,
+ 0x44, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueEliteCellDifficultyType_proto_rawDescOnce sync.Once
+ file_RogueEliteCellDifficultyType_proto_rawDescData = file_RogueEliteCellDifficultyType_proto_rawDesc
+)
+
+func file_RogueEliteCellDifficultyType_proto_rawDescGZIP() []byte {
+ file_RogueEliteCellDifficultyType_proto_rawDescOnce.Do(func() {
+ file_RogueEliteCellDifficultyType_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueEliteCellDifficultyType_proto_rawDescData)
+ })
+ return file_RogueEliteCellDifficultyType_proto_rawDescData
+}
+
+var file_RogueEliteCellDifficultyType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_RogueEliteCellDifficultyType_proto_goTypes = []interface{}{
+ (RogueEliteCellDifficultyType)(0), // 0: proto.RogueEliteCellDifficultyType
+}
+var file_RogueEliteCellDifficultyType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueEliteCellDifficultyType_proto_init() }
+func file_RogueEliteCellDifficultyType_proto_init() {
+ if File_RogueEliteCellDifficultyType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueEliteCellDifficultyType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueEliteCellDifficultyType_proto_goTypes,
+ DependencyIndexes: file_RogueEliteCellDifficultyType_proto_depIdxs,
+ EnumInfos: file_RogueEliteCellDifficultyType_proto_enumTypes,
+ }.Build()
+ File_RogueEliteCellDifficultyType_proto = out.File
+ file_RogueEliteCellDifficultyType_proto_rawDesc = nil
+ file_RogueEliteCellDifficultyType_proto_goTypes = nil
+ file_RogueEliteCellDifficultyType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueFinishRepairReq.pb.go b/protocol/proto/RogueFinishRepairReq.pb.go
new file mode 100644
index 00000000..81d95264
--- /dev/null
+++ b/protocol/proto/RogueFinishRepairReq.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueFinishRepairReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8363
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueFinishRepairReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChosenCardList []uint32 `protobuf:"varint,1,rep,packed,name=chosen_card_list,json=chosenCardList,proto3" json:"chosen_card_list,omitempty"`
+ ChosenAvatarList []*RogueDiaryAvatar `protobuf:"bytes,8,rep,name=chosen_avatar_list,json=chosenAvatarList,proto3" json:"chosen_avatar_list,omitempty"`
+}
+
+func (x *RogueFinishRepairReq) Reset() {
+ *x = RogueFinishRepairReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueFinishRepairReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueFinishRepairReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueFinishRepairReq) ProtoMessage() {}
+
+func (x *RogueFinishRepairReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueFinishRepairReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueFinishRepairReq.ProtoReflect.Descriptor instead.
+func (*RogueFinishRepairReq) Descriptor() ([]byte, []int) {
+ return file_RogueFinishRepairReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueFinishRepairReq) GetChosenCardList() []uint32 {
+ if x != nil {
+ return x.ChosenCardList
+ }
+ return nil
+}
+
+func (x *RogueFinishRepairReq) GetChosenAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.ChosenAvatarList
+ }
+ return nil
+}
+
+var File_RogueFinishRepairReq_proto protoreflect.FileDescriptor
+
+var file_RogueFinishRepairReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x70,
+ 0x61, 0x69, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x01, 0x0a, 0x14,
+ 0x52, 0x6f, 0x67, 0x75, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x70, 0x61, 0x69,
+ 0x72, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x5f, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e,
+ 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45,
+ 0x0a, 0x12, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x52, 0x10, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueFinishRepairReq_proto_rawDescOnce sync.Once
+ file_RogueFinishRepairReq_proto_rawDescData = file_RogueFinishRepairReq_proto_rawDesc
+)
+
+func file_RogueFinishRepairReq_proto_rawDescGZIP() []byte {
+ file_RogueFinishRepairReq_proto_rawDescOnce.Do(func() {
+ file_RogueFinishRepairReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueFinishRepairReq_proto_rawDescData)
+ })
+ return file_RogueFinishRepairReq_proto_rawDescData
+}
+
+var file_RogueFinishRepairReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueFinishRepairReq_proto_goTypes = []interface{}{
+ (*RogueFinishRepairReq)(nil), // 0: proto.RogueFinishRepairReq
+ (*RogueDiaryAvatar)(nil), // 1: proto.RogueDiaryAvatar
+}
+var file_RogueFinishRepairReq_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueFinishRepairReq.chosen_avatar_list:type_name -> proto.RogueDiaryAvatar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueFinishRepairReq_proto_init() }
+func file_RogueFinishRepairReq_proto_init() {
+ if File_RogueFinishRepairReq_proto != nil {
+ return
+ }
+ file_RogueDiaryAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueFinishRepairReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueFinishRepairReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueFinishRepairReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueFinishRepairReq_proto_goTypes,
+ DependencyIndexes: file_RogueFinishRepairReq_proto_depIdxs,
+ MessageInfos: file_RogueFinishRepairReq_proto_msgTypes,
+ }.Build()
+ File_RogueFinishRepairReq_proto = out.File
+ file_RogueFinishRepairReq_proto_rawDesc = nil
+ file_RogueFinishRepairReq_proto_goTypes = nil
+ file_RogueFinishRepairReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueFinishRepairRsp.pb.go b/protocol/proto/RogueFinishRepairRsp.pb.go
new file mode 100644
index 00000000..de821386
--- /dev/null
+++ b/protocol/proto/RogueFinishRepairRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueFinishRepairRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8535
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RogueFinishRepairRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RogueFinishRepairRsp) Reset() {
+ *x = RogueFinishRepairRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueFinishRepairRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueFinishRepairRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueFinishRepairRsp) ProtoMessage() {}
+
+func (x *RogueFinishRepairRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueFinishRepairRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueFinishRepairRsp.ProtoReflect.Descriptor instead.
+func (*RogueFinishRepairRsp) Descriptor() ([]byte, []int) {
+ return file_RogueFinishRepairRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueFinishRepairRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RogueFinishRepairRsp_proto protoreflect.FileDescriptor
+
+var file_RogueFinishRepairRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x70,
+ 0x61, 0x69, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x14, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueFinishRepairRsp_proto_rawDescOnce sync.Once
+ file_RogueFinishRepairRsp_proto_rawDescData = file_RogueFinishRepairRsp_proto_rawDesc
+)
+
+func file_RogueFinishRepairRsp_proto_rawDescGZIP() []byte {
+ file_RogueFinishRepairRsp_proto_rawDescOnce.Do(func() {
+ file_RogueFinishRepairRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueFinishRepairRsp_proto_rawDescData)
+ })
+ return file_RogueFinishRepairRsp_proto_rawDescData
+}
+
+var file_RogueFinishRepairRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueFinishRepairRsp_proto_goTypes = []interface{}{
+ (*RogueFinishRepairRsp)(nil), // 0: proto.RogueFinishRepairRsp
+}
+var file_RogueFinishRepairRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueFinishRepairRsp_proto_init() }
+func file_RogueFinishRepairRsp_proto_init() {
+ if File_RogueFinishRepairRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueFinishRepairRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueFinishRepairRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueFinishRepairRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueFinishRepairRsp_proto_goTypes,
+ DependencyIndexes: file_RogueFinishRepairRsp_proto_depIdxs,
+ MessageInfos: file_RogueFinishRepairRsp_proto_msgTypes,
+ }.Build()
+ File_RogueFinishRepairRsp_proto = out.File
+ file_RogueFinishRepairRsp_proto_rawDesc = nil
+ file_RogueFinishRepairRsp_proto_goTypes = nil
+ file_RogueFinishRepairRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueHealAvatarsReq.pb.go b/protocol/proto/RogueHealAvatarsReq.pb.go
new file mode 100644
index 00000000..33afc47e
--- /dev/null
+++ b/protocol/proto/RogueHealAvatarsReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueHealAvatarsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8947
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueHealAvatarsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,1,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CellId uint32 `protobuf:"varint,3,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+}
+
+func (x *RogueHealAvatarsReq) Reset() {
+ *x = RogueHealAvatarsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueHealAvatarsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueHealAvatarsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueHealAvatarsReq) ProtoMessage() {}
+
+func (x *RogueHealAvatarsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueHealAvatarsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueHealAvatarsReq.ProtoReflect.Descriptor instead.
+func (*RogueHealAvatarsReq) Descriptor() ([]byte, []int) {
+ return file_RogueHealAvatarsReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueHealAvatarsReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *RogueHealAvatarsReq) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+var File_RogueHealAvatarsReq_proto protoreflect.FileDescriptor
+
+var file_RogueHealAvatarsReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x13, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueHealAvatarsReq_proto_rawDescOnce sync.Once
+ file_RogueHealAvatarsReq_proto_rawDescData = file_RogueHealAvatarsReq_proto_rawDesc
+)
+
+func file_RogueHealAvatarsReq_proto_rawDescGZIP() []byte {
+ file_RogueHealAvatarsReq_proto_rawDescOnce.Do(func() {
+ file_RogueHealAvatarsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueHealAvatarsReq_proto_rawDescData)
+ })
+ return file_RogueHealAvatarsReq_proto_rawDescData
+}
+
+var file_RogueHealAvatarsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueHealAvatarsReq_proto_goTypes = []interface{}{
+ (*RogueHealAvatarsReq)(nil), // 0: proto.RogueHealAvatarsReq
+}
+var file_RogueHealAvatarsReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueHealAvatarsReq_proto_init() }
+func file_RogueHealAvatarsReq_proto_init() {
+ if File_RogueHealAvatarsReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueHealAvatarsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueHealAvatarsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueHealAvatarsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueHealAvatarsReq_proto_goTypes,
+ DependencyIndexes: file_RogueHealAvatarsReq_proto_depIdxs,
+ MessageInfos: file_RogueHealAvatarsReq_proto_msgTypes,
+ }.Build()
+ File_RogueHealAvatarsReq_proto = out.File
+ file_RogueHealAvatarsReq_proto_rawDesc = nil
+ file_RogueHealAvatarsReq_proto_goTypes = nil
+ file_RogueHealAvatarsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueHealAvatarsRsp.pb.go b/protocol/proto/RogueHealAvatarsRsp.pb.go
new file mode 100644
index 00000000..5c24932e
--- /dev/null
+++ b/protocol/proto/RogueHealAvatarsRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueHealAvatarsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8949
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RogueHealAvatarsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,10,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CellId uint32 `protobuf:"varint,14,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+}
+
+func (x *RogueHealAvatarsRsp) Reset() {
+ *x = RogueHealAvatarsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueHealAvatarsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueHealAvatarsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueHealAvatarsRsp) ProtoMessage() {}
+
+func (x *RogueHealAvatarsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueHealAvatarsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueHealAvatarsRsp.ProtoReflect.Descriptor instead.
+func (*RogueHealAvatarsRsp) Descriptor() ([]byte, []int) {
+ return file_RogueHealAvatarsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueHealAvatarsRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *RogueHealAvatarsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *RogueHealAvatarsRsp) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+var File_RogueHealAvatarsRsp_proto protoreflect.FileDescriptor
+
+var file_RogueHealAvatarsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x13, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x73, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueHealAvatarsRsp_proto_rawDescOnce sync.Once
+ file_RogueHealAvatarsRsp_proto_rawDescData = file_RogueHealAvatarsRsp_proto_rawDesc
+)
+
+func file_RogueHealAvatarsRsp_proto_rawDescGZIP() []byte {
+ file_RogueHealAvatarsRsp_proto_rawDescOnce.Do(func() {
+ file_RogueHealAvatarsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueHealAvatarsRsp_proto_rawDescData)
+ })
+ return file_RogueHealAvatarsRsp_proto_rawDescData
+}
+
+var file_RogueHealAvatarsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueHealAvatarsRsp_proto_goTypes = []interface{}{
+ (*RogueHealAvatarsRsp)(nil), // 0: proto.RogueHealAvatarsRsp
+}
+var file_RogueHealAvatarsRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueHealAvatarsRsp_proto_init() }
+func file_RogueHealAvatarsRsp_proto_init() {
+ if File_RogueHealAvatarsRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueHealAvatarsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueHealAvatarsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueHealAvatarsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueHealAvatarsRsp_proto_goTypes,
+ DependencyIndexes: file_RogueHealAvatarsRsp_proto_depIdxs,
+ MessageInfos: file_RogueHealAvatarsRsp_proto_msgTypes,
+ }.Build()
+ File_RogueHealAvatarsRsp_proto = out.File
+ file_RogueHealAvatarsRsp_proto_rawDesc = nil
+ file_RogueHealAvatarsRsp_proto_goTypes = nil
+ file_RogueHealAvatarsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueResumeDungeonReq.pb.go b/protocol/proto/RogueResumeDungeonReq.pb.go
new file mode 100644
index 00000000..82724c91
--- /dev/null
+++ b/protocol/proto/RogueResumeDungeonReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueResumeDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8795
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueResumeDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *RogueResumeDungeonReq) Reset() {
+ *x = RogueResumeDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueResumeDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueResumeDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueResumeDungeonReq) ProtoMessage() {}
+
+func (x *RogueResumeDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueResumeDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueResumeDungeonReq.ProtoReflect.Descriptor instead.
+func (*RogueResumeDungeonReq) Descriptor() ([]byte, []int) {
+ return file_RogueResumeDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueResumeDungeonReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_RogueResumeDungeonReq_proto protoreflect.FileDescriptor
+
+var file_RogueResumeDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x15, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x52, 0x65, 0x73,
+ 0x75, 0x6d, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueResumeDungeonReq_proto_rawDescOnce sync.Once
+ file_RogueResumeDungeonReq_proto_rawDescData = file_RogueResumeDungeonReq_proto_rawDesc
+)
+
+func file_RogueResumeDungeonReq_proto_rawDescGZIP() []byte {
+ file_RogueResumeDungeonReq_proto_rawDescOnce.Do(func() {
+ file_RogueResumeDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueResumeDungeonReq_proto_rawDescData)
+ })
+ return file_RogueResumeDungeonReq_proto_rawDescData
+}
+
+var file_RogueResumeDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueResumeDungeonReq_proto_goTypes = []interface{}{
+ (*RogueResumeDungeonReq)(nil), // 0: proto.RogueResumeDungeonReq
+}
+var file_RogueResumeDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueResumeDungeonReq_proto_init() }
+func file_RogueResumeDungeonReq_proto_init() {
+ if File_RogueResumeDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueResumeDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueResumeDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueResumeDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueResumeDungeonReq_proto_goTypes,
+ DependencyIndexes: file_RogueResumeDungeonReq_proto_depIdxs,
+ MessageInfos: file_RogueResumeDungeonReq_proto_msgTypes,
+ }.Build()
+ File_RogueResumeDungeonReq_proto = out.File
+ file_RogueResumeDungeonReq_proto_rawDesc = nil
+ file_RogueResumeDungeonReq_proto_goTypes = nil
+ file_RogueResumeDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueResumeDungeonRsp.pb.go b/protocol/proto/RogueResumeDungeonRsp.pb.go
new file mode 100644
index 00000000..d2153244
--- /dev/null
+++ b/protocol/proto/RogueResumeDungeonRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueResumeDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8647
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RogueResumeDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RogueResumeDungeonRsp) Reset() {
+ *x = RogueResumeDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueResumeDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueResumeDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueResumeDungeonRsp) ProtoMessage() {}
+
+func (x *RogueResumeDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueResumeDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueResumeDungeonRsp.ProtoReflect.Descriptor instead.
+func (*RogueResumeDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_RogueResumeDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueResumeDungeonRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RogueResumeDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RogueResumeDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_RogueResumeDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x15, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x52, 0x65, 0x73,
+ 0x75, 0x6d, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueResumeDungeonRsp_proto_rawDescOnce sync.Once
+ file_RogueResumeDungeonRsp_proto_rawDescData = file_RogueResumeDungeonRsp_proto_rawDesc
+)
+
+func file_RogueResumeDungeonRsp_proto_rawDescGZIP() []byte {
+ file_RogueResumeDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_RogueResumeDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueResumeDungeonRsp_proto_rawDescData)
+ })
+ return file_RogueResumeDungeonRsp_proto_rawDescData
+}
+
+var file_RogueResumeDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueResumeDungeonRsp_proto_goTypes = []interface{}{
+ (*RogueResumeDungeonRsp)(nil), // 0: proto.RogueResumeDungeonRsp
+}
+var file_RogueResumeDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueResumeDungeonRsp_proto_init() }
+func file_RogueResumeDungeonRsp_proto_init() {
+ if File_RogueResumeDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueResumeDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueResumeDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueResumeDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueResumeDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_RogueResumeDungeonRsp_proto_depIdxs,
+ MessageInfos: file_RogueResumeDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_RogueResumeDungeonRsp_proto = out.File
+ file_RogueResumeDungeonRsp_proto_rawDesc = nil
+ file_RogueResumeDungeonRsp_proto_goTypes = nil
+ file_RogueResumeDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueShowAvatarTeamInfo.pb.go b/protocol/proto/RogueShowAvatarTeamInfo.pb.go
new file mode 100644
index 00000000..ed039cc9
--- /dev/null
+++ b/protocol/proto/RogueShowAvatarTeamInfo.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueShowAvatarTeamInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueShowAvatarTeamInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarList []*RogueAvatarInfo `protobuf:"bytes,12,rep,name=avatar_list,json=avatarList,proto3" json:"avatar_list,omitempty"`
+}
+
+func (x *RogueShowAvatarTeamInfo) Reset() {
+ *x = RogueShowAvatarTeamInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueShowAvatarTeamInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueShowAvatarTeamInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueShowAvatarTeamInfo) ProtoMessage() {}
+
+func (x *RogueShowAvatarTeamInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueShowAvatarTeamInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueShowAvatarTeamInfo.ProtoReflect.Descriptor instead.
+func (*RogueShowAvatarTeamInfo) Descriptor() ([]byte, []int) {
+ return file_RogueShowAvatarTeamInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueShowAvatarTeamInfo) GetAvatarList() []*RogueAvatarInfo {
+ if x != nil {
+ return x.AvatarList
+ }
+ return nil
+}
+
+var File_RogueShowAvatarTeamInfo_proto protoreflect.FileDescriptor
+
+var file_RogueShowAvatarTeamInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a,
+ 0x17, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueShowAvatarTeamInfo_proto_rawDescOnce sync.Once
+ file_RogueShowAvatarTeamInfo_proto_rawDescData = file_RogueShowAvatarTeamInfo_proto_rawDesc
+)
+
+func file_RogueShowAvatarTeamInfo_proto_rawDescGZIP() []byte {
+ file_RogueShowAvatarTeamInfo_proto_rawDescOnce.Do(func() {
+ file_RogueShowAvatarTeamInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueShowAvatarTeamInfo_proto_rawDescData)
+ })
+ return file_RogueShowAvatarTeamInfo_proto_rawDescData
+}
+
+var file_RogueShowAvatarTeamInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueShowAvatarTeamInfo_proto_goTypes = []interface{}{
+ (*RogueShowAvatarTeamInfo)(nil), // 0: proto.RogueShowAvatarTeamInfo
+ (*RogueAvatarInfo)(nil), // 1: proto.RogueAvatarInfo
+}
+var file_RogueShowAvatarTeamInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueShowAvatarTeamInfo.avatar_list:type_name -> proto.RogueAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RogueShowAvatarTeamInfo_proto_init() }
+func file_RogueShowAvatarTeamInfo_proto_init() {
+ if File_RogueShowAvatarTeamInfo_proto != nil {
+ return
+ }
+ file_RogueAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueShowAvatarTeamInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueShowAvatarTeamInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueShowAvatarTeamInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueShowAvatarTeamInfo_proto_goTypes,
+ DependencyIndexes: file_RogueShowAvatarTeamInfo_proto_depIdxs,
+ MessageInfos: file_RogueShowAvatarTeamInfo_proto_msgTypes,
+ }.Build()
+ File_RogueShowAvatarTeamInfo_proto = out.File
+ file_RogueShowAvatarTeamInfo_proto_rawDesc = nil
+ file_RogueShowAvatarTeamInfo_proto_goTypes = nil
+ file_RogueShowAvatarTeamInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueStageInfo.pb.go b/protocol/proto/RogueStageInfo.pb.go
new file mode 100644
index 00000000..f96b4d83
--- /dev/null
+++ b/protocol/proto/RogueStageInfo.pb.go
@@ -0,0 +1,316 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RogueStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarTeam *RogueShowAvatarTeamInfo `protobuf:"bytes,2,opt,name=avatar_team,json=avatarTeam,proto3" json:"avatar_team,omitempty"`
+ IsPassed bool `protobuf:"varint,5,opt,name=is_passed,json=isPassed,proto3" json:"is_passed,omitempty"`
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ ReviseMonsterLevel uint32 `protobuf:"varint,205,opt,name=revise_monster_level,json=reviseMonsterLevel,proto3" json:"revise_monster_level,omitempty"`
+ RuneRecordList []*RoguelikeRuneRecord `protobuf:"bytes,6,rep,name=rune_record_list,json=runeRecordList,proto3" json:"rune_record_list,omitempty"`
+ IsOpen bool `protobuf:"varint,1,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ CurLevel uint32 `protobuf:"varint,4,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+ CachedCoinCNum uint32 `protobuf:"varint,1409,opt,name=cached_coin_c_num,json=cachedCoinCNum,proto3" json:"cached_coin_c_num,omitempty"`
+ IsTakenReward bool `protobuf:"varint,11,opt,name=is_taken_reward,json=isTakenReward,proto3" json:"is_taken_reward,omitempty"`
+ IsInCombat bool `protobuf:"varint,12,opt,name=is_in_combat,json=isInCombat,proto3" json:"is_in_combat,omitempty"`
+ CachedCoinBNum uint32 `protobuf:"varint,14,opt,name=cached_coin_b_num,json=cachedCoinBNum,proto3" json:"cached_coin_b_num,omitempty"`
+ ExploreCellNum uint32 `protobuf:"varint,15,opt,name=explore_cell_num,json=exploreCellNum,proto3" json:"explore_cell_num,omitempty"`
+ CoinCNum uint32 `protobuf:"varint,8,opt,name=coin_c_num,json=coinCNum,proto3" json:"coin_c_num,omitempty"`
+ IsExplored bool `protobuf:"varint,9,opt,name=is_explored,json=isExplored,proto3" json:"is_explored,omitempty"`
+ MaxPassedLevel uint32 `protobuf:"varint,3,opt,name=max_passed_level,json=maxPassedLevel,proto3" json:"max_passed_level,omitempty"`
+}
+
+func (x *RogueStageInfo) Reset() {
+ *x = RogueStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueStageInfo) ProtoMessage() {}
+
+func (x *RogueStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueStageInfo.ProtoReflect.Descriptor instead.
+func (*RogueStageInfo) Descriptor() ([]byte, []int) {
+ return file_RogueStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueStageInfo) GetAvatarTeam() *RogueShowAvatarTeamInfo {
+ if x != nil {
+ return x.AvatarTeam
+ }
+ return nil
+}
+
+func (x *RogueStageInfo) GetIsPassed() bool {
+ if x != nil {
+ return x.IsPassed
+ }
+ return false
+}
+
+func (x *RogueStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RogueStageInfo) GetReviseMonsterLevel() uint32 {
+ if x != nil {
+ return x.ReviseMonsterLevel
+ }
+ return 0
+}
+
+func (x *RogueStageInfo) GetRuneRecordList() []*RoguelikeRuneRecord {
+ if x != nil {
+ return x.RuneRecordList
+ }
+ return nil
+}
+
+func (x *RogueStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *RogueStageInfo) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+func (x *RogueStageInfo) GetCachedCoinCNum() uint32 {
+ if x != nil {
+ return x.CachedCoinCNum
+ }
+ return 0
+}
+
+func (x *RogueStageInfo) GetIsTakenReward() bool {
+ if x != nil {
+ return x.IsTakenReward
+ }
+ return false
+}
+
+func (x *RogueStageInfo) GetIsInCombat() bool {
+ if x != nil {
+ return x.IsInCombat
+ }
+ return false
+}
+
+func (x *RogueStageInfo) GetCachedCoinBNum() uint32 {
+ if x != nil {
+ return x.CachedCoinBNum
+ }
+ return 0
+}
+
+func (x *RogueStageInfo) GetExploreCellNum() uint32 {
+ if x != nil {
+ return x.ExploreCellNum
+ }
+ return 0
+}
+
+func (x *RogueStageInfo) GetCoinCNum() uint32 {
+ if x != nil {
+ return x.CoinCNum
+ }
+ return 0
+}
+
+func (x *RogueStageInfo) GetIsExplored() bool {
+ if x != nil {
+ return x.IsExplored
+ }
+ return false
+}
+
+func (x *RogueStageInfo) GetMaxPassedLevel() uint32 {
+ if x != nil {
+ return x.MaxPassedLevel
+ }
+ return 0
+}
+
+var File_RogueStageInfo_proto protoreflect.FileDescriptor
+
+var file_RogueStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x52,
+ 0x6f, 0x67, 0x75, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65,
+ 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x04, 0x0a, 0x0e, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x68, 0x6f,
+ 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x76, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0xcd, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x76, 0x69, 0x73, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0e, 0x72, 0x75,
+ 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07,
+ 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
+ 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x69,
+ 0x6e, 0x5f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x81, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
+ 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x43, 0x4e, 0x75, 0x6d, 0x12, 0x26,
+ 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x6e,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f,
+ 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73,
+ 0x49, 0x6e, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x61, 0x63, 0x68,
+ 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x62, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x42,
+ 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x63,
+ 0x65, 0x6c, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65,
+ 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a,
+ 0x0a, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x43, 0x4e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x69,
+ 0x73, 0x5f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0a, 0x69, 0x73, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10,
+ 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x73, 0x73, 0x65,
+ 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueStageInfo_proto_rawDescOnce sync.Once
+ file_RogueStageInfo_proto_rawDescData = file_RogueStageInfo_proto_rawDesc
+)
+
+func file_RogueStageInfo_proto_rawDescGZIP() []byte {
+ file_RogueStageInfo_proto_rawDescOnce.Do(func() {
+ file_RogueStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueStageInfo_proto_rawDescData)
+ })
+ return file_RogueStageInfo_proto_rawDescData
+}
+
+var file_RogueStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueStageInfo_proto_goTypes = []interface{}{
+ (*RogueStageInfo)(nil), // 0: proto.RogueStageInfo
+ (*RogueShowAvatarTeamInfo)(nil), // 1: proto.RogueShowAvatarTeamInfo
+ (*RoguelikeRuneRecord)(nil), // 2: proto.RoguelikeRuneRecord
+}
+var file_RogueStageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RogueStageInfo.avatar_team:type_name -> proto.RogueShowAvatarTeamInfo
+ 2, // 1: proto.RogueStageInfo.rune_record_list:type_name -> proto.RoguelikeRuneRecord
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_RogueStageInfo_proto_init() }
+func file_RogueStageInfo_proto_init() {
+ if File_RogueStageInfo_proto != nil {
+ return
+ }
+ file_RogueShowAvatarTeamInfo_proto_init()
+ file_RoguelikeRuneRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RogueStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueStageInfo_proto_goTypes,
+ DependencyIndexes: file_RogueStageInfo_proto_depIdxs,
+ MessageInfos: file_RogueStageInfo_proto_msgTypes,
+ }.Build()
+ File_RogueStageInfo_proto = out.File
+ file_RogueStageInfo_proto_rawDesc = nil
+ file_RogueStageInfo_proto_goTypes = nil
+ file_RogueStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueSwitchAvatarReq.pb.go b/protocol/proto/RogueSwitchAvatarReq.pb.go
new file mode 100644
index 00000000..49b85ada
--- /dev/null
+++ b/protocol/proto/RogueSwitchAvatarReq.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueSwitchAvatarReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8201
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RogueSwitchAvatarReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CellId uint32 `protobuf:"varint,15,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+ OnstageAvatarGuidList []uint64 `protobuf:"varint,3,rep,packed,name=onstage_avatar_guid_list,json=onstageAvatarGuidList,proto3" json:"onstage_avatar_guid_list,omitempty"`
+ CurAvatarGuid uint64 `protobuf:"varint,11,opt,name=cur_avatar_guid,json=curAvatarGuid,proto3" json:"cur_avatar_guid,omitempty"`
+ DungeonId uint32 `protobuf:"varint,6,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+}
+
+func (x *RogueSwitchAvatarReq) Reset() {
+ *x = RogueSwitchAvatarReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueSwitchAvatarReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueSwitchAvatarReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueSwitchAvatarReq) ProtoMessage() {}
+
+func (x *RogueSwitchAvatarReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueSwitchAvatarReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueSwitchAvatarReq.ProtoReflect.Descriptor instead.
+func (*RogueSwitchAvatarReq) Descriptor() ([]byte, []int) {
+ return file_RogueSwitchAvatarReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueSwitchAvatarReq) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+func (x *RogueSwitchAvatarReq) GetOnstageAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.OnstageAvatarGuidList
+ }
+ return nil
+}
+
+func (x *RogueSwitchAvatarReq) GetCurAvatarGuid() uint64 {
+ if x != nil {
+ return x.CurAvatarGuid
+ }
+ return 0
+}
+
+func (x *RogueSwitchAvatarReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+var File_RogueSwitchAvatarReq_proto protoreflect.FileDescriptor
+
+var file_RogueSwitchAvatarReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x01, 0x0a, 0x14, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x77, 0x69,
+ 0x74, 0x63, 0x68, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07,
+ 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63,
+ 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x15, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26,
+ 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueSwitchAvatarReq_proto_rawDescOnce sync.Once
+ file_RogueSwitchAvatarReq_proto_rawDescData = file_RogueSwitchAvatarReq_proto_rawDesc
+)
+
+func file_RogueSwitchAvatarReq_proto_rawDescGZIP() []byte {
+ file_RogueSwitchAvatarReq_proto_rawDescOnce.Do(func() {
+ file_RogueSwitchAvatarReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueSwitchAvatarReq_proto_rawDescData)
+ })
+ return file_RogueSwitchAvatarReq_proto_rawDescData
+}
+
+var file_RogueSwitchAvatarReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueSwitchAvatarReq_proto_goTypes = []interface{}{
+ (*RogueSwitchAvatarReq)(nil), // 0: proto.RogueSwitchAvatarReq
+}
+var file_RogueSwitchAvatarReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueSwitchAvatarReq_proto_init() }
+func file_RogueSwitchAvatarReq_proto_init() {
+ if File_RogueSwitchAvatarReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueSwitchAvatarReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueSwitchAvatarReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueSwitchAvatarReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueSwitchAvatarReq_proto_goTypes,
+ DependencyIndexes: file_RogueSwitchAvatarReq_proto_depIdxs,
+ MessageInfos: file_RogueSwitchAvatarReq_proto_msgTypes,
+ }.Build()
+ File_RogueSwitchAvatarReq_proto = out.File
+ file_RogueSwitchAvatarReq_proto_rawDesc = nil
+ file_RogueSwitchAvatarReq_proto_goTypes = nil
+ file_RogueSwitchAvatarReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RogueSwitchAvatarRsp.pb.go b/protocol/proto/RogueSwitchAvatarRsp.pb.go
new file mode 100644
index 00000000..92e5bf45
--- /dev/null
+++ b/protocol/proto/RogueSwitchAvatarRsp.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RogueSwitchAvatarRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8915
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RogueSwitchAvatarRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurAvatarGuid uint64 `protobuf:"varint,4,opt,name=cur_avatar_guid,json=curAvatarGuid,proto3" json:"cur_avatar_guid,omitempty"`
+ BackstageAvatarGuidList []uint64 `protobuf:"varint,8,rep,packed,name=backstage_avatar_guid_list,json=backstageAvatarGuidList,proto3" json:"backstage_avatar_guid_list,omitempty"`
+ DungeonId uint32 `protobuf:"varint,14,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CellId uint32 `protobuf:"varint,3,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OnstageAvatarGuidList []uint64 `protobuf:"varint,9,rep,packed,name=onstage_avatar_guid_list,json=onstageAvatarGuidList,proto3" json:"onstage_avatar_guid_list,omitempty"`
+}
+
+func (x *RogueSwitchAvatarRsp) Reset() {
+ *x = RogueSwitchAvatarRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RogueSwitchAvatarRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RogueSwitchAvatarRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RogueSwitchAvatarRsp) ProtoMessage() {}
+
+func (x *RogueSwitchAvatarRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RogueSwitchAvatarRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RogueSwitchAvatarRsp.ProtoReflect.Descriptor instead.
+func (*RogueSwitchAvatarRsp) Descriptor() ([]byte, []int) {
+ return file_RogueSwitchAvatarRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RogueSwitchAvatarRsp) GetCurAvatarGuid() uint64 {
+ if x != nil {
+ return x.CurAvatarGuid
+ }
+ return 0
+}
+
+func (x *RogueSwitchAvatarRsp) GetBackstageAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.BackstageAvatarGuidList
+ }
+ return nil
+}
+
+func (x *RogueSwitchAvatarRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *RogueSwitchAvatarRsp) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+func (x *RogueSwitchAvatarRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *RogueSwitchAvatarRsp) GetOnstageAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.OnstageAvatarGuidList
+ }
+ return nil
+}
+
+var File_RogueSwitchAvatarRsp_proto protoreflect.FileDescriptor
+
+var file_RogueSwitchAvatarRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x14, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x77, 0x69,
+ 0x74, 0x63, 0x68, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x0f,
+ 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x04, 0x52, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64,
+ 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x09, 0x20, 0x03, 0x28, 0x04, 0x52, 0x15, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RogueSwitchAvatarRsp_proto_rawDescOnce sync.Once
+ file_RogueSwitchAvatarRsp_proto_rawDescData = file_RogueSwitchAvatarRsp_proto_rawDesc
+)
+
+func file_RogueSwitchAvatarRsp_proto_rawDescGZIP() []byte {
+ file_RogueSwitchAvatarRsp_proto_rawDescOnce.Do(func() {
+ file_RogueSwitchAvatarRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RogueSwitchAvatarRsp_proto_rawDescData)
+ })
+ return file_RogueSwitchAvatarRsp_proto_rawDescData
+}
+
+var file_RogueSwitchAvatarRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RogueSwitchAvatarRsp_proto_goTypes = []interface{}{
+ (*RogueSwitchAvatarRsp)(nil), // 0: proto.RogueSwitchAvatarRsp
+}
+var file_RogueSwitchAvatarRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RogueSwitchAvatarRsp_proto_init() }
+func file_RogueSwitchAvatarRsp_proto_init() {
+ if File_RogueSwitchAvatarRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RogueSwitchAvatarRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RogueSwitchAvatarRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RogueSwitchAvatarRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RogueSwitchAvatarRsp_proto_goTypes,
+ DependencyIndexes: file_RogueSwitchAvatarRsp_proto_depIdxs,
+ MessageInfos: file_RogueSwitchAvatarRsp_proto_msgTypes,
+ }.Build()
+ File_RogueSwitchAvatarRsp_proto = out.File
+ file_RogueSwitchAvatarRsp_proto_rawDesc = nil
+ file_RogueSwitchAvatarRsp_proto_goTypes = nil
+ file_RogueSwitchAvatarRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeCardGachaNotify.pb.go b/protocol/proto/RoguelikeCardGachaNotify.pb.go
new file mode 100644
index 00000000..23fea62d
--- /dev/null
+++ b/protocol/proto/RoguelikeCardGachaNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeCardGachaNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8925
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeCardGachaNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardList []uint32 `protobuf:"varint,10,rep,packed,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ IsCanRefresh bool `protobuf:"varint,11,opt,name=is_can_refresh,json=isCanRefresh,proto3" json:"is_can_refresh,omitempty"`
+}
+
+func (x *RoguelikeCardGachaNotify) Reset() {
+ *x = RoguelikeCardGachaNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeCardGachaNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeCardGachaNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeCardGachaNotify) ProtoMessage() {}
+
+func (x *RoguelikeCardGachaNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeCardGachaNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeCardGachaNotify.ProtoReflect.Descriptor instead.
+func (*RoguelikeCardGachaNotify) Descriptor() ([]byte, []int) {
+ return file_RoguelikeCardGachaNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeCardGachaNotify) GetCardList() []uint32 {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *RoguelikeCardGachaNotify) GetIsCanRefresh() bool {
+ if x != nil {
+ return x.IsCanRefresh
+ }
+ return false
+}
+
+var File_RoguelikeCardGachaNotify_proto protoreflect.FileDescriptor
+
+var file_RoguelikeCardGachaNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x61, 0x72, 0x64, 0x47,
+ 0x61, 0x63, 0x68, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x18, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x6c, 0x69, 0x6b, 0x65, 0x43, 0x61, 0x72, 0x64, 0x47, 0x61, 0x63, 0x68, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x52,
+ 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeCardGachaNotify_proto_rawDescOnce sync.Once
+ file_RoguelikeCardGachaNotify_proto_rawDescData = file_RoguelikeCardGachaNotify_proto_rawDesc
+)
+
+func file_RoguelikeCardGachaNotify_proto_rawDescGZIP() []byte {
+ file_RoguelikeCardGachaNotify_proto_rawDescOnce.Do(func() {
+ file_RoguelikeCardGachaNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeCardGachaNotify_proto_rawDescData)
+ })
+ return file_RoguelikeCardGachaNotify_proto_rawDescData
+}
+
+var file_RoguelikeCardGachaNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeCardGachaNotify_proto_goTypes = []interface{}{
+ (*RoguelikeCardGachaNotify)(nil), // 0: proto.RoguelikeCardGachaNotify
+}
+var file_RoguelikeCardGachaNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeCardGachaNotify_proto_init() }
+func file_RoguelikeCardGachaNotify_proto_init() {
+ if File_RoguelikeCardGachaNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeCardGachaNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeCardGachaNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeCardGachaNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeCardGachaNotify_proto_goTypes,
+ DependencyIndexes: file_RoguelikeCardGachaNotify_proto_depIdxs,
+ MessageInfos: file_RoguelikeCardGachaNotify_proto_msgTypes,
+ }.Build()
+ File_RoguelikeCardGachaNotify_proto = out.File
+ file_RoguelikeCardGachaNotify_proto_rawDesc = nil
+ file_RoguelikeCardGachaNotify_proto_goTypes = nil
+ file_RoguelikeCardGachaNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeDungeonActivityDetailInfo.pb.go b/protocol/proto/RoguelikeDungeonActivityDetailInfo.pb.go
new file mode 100644
index 00000000..7fb6857e
--- /dev/null
+++ b/protocol/proto/RoguelikeDungeonActivityDetailInfo.pb.go
@@ -0,0 +1,227 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeDungeonActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RoguelikeDungeonActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageList []*RogueStageInfo `protobuf:"bytes,8,rep,name=stage_list,json=stageList,proto3" json:"stage_list,omitempty"`
+ ShikigamiList []*RoguelikeShikigamiRecord `protobuf:"bytes,5,rep,name=shikigami_list,json=shikigamiList,proto3" json:"shikigami_list,omitempty"`
+ EquippedRuneList []uint32 `protobuf:"varint,14,rep,packed,name=equipped_rune_list,json=equippedRuneList,proto3" json:"equipped_rune_list,omitempty"`
+ ContentCloseTime uint32 `protobuf:"varint,6,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ IsContentClosed bool `protobuf:"varint,10,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ RuneList []uint32 `protobuf:"varint,2,rep,packed,name=rune_list,json=runeList,proto3" json:"rune_list,omitempty"`
+}
+
+func (x *RoguelikeDungeonActivityDetailInfo) Reset() {
+ *x = RoguelikeDungeonActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeDungeonActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeDungeonActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeDungeonActivityDetailInfo) ProtoMessage() {}
+
+func (x *RoguelikeDungeonActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeDungeonActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeDungeonActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*RoguelikeDungeonActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_RoguelikeDungeonActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeDungeonActivityDetailInfo) GetStageList() []*RogueStageInfo {
+ if x != nil {
+ return x.StageList
+ }
+ return nil
+}
+
+func (x *RoguelikeDungeonActivityDetailInfo) GetShikigamiList() []*RoguelikeShikigamiRecord {
+ if x != nil {
+ return x.ShikigamiList
+ }
+ return nil
+}
+
+func (x *RoguelikeDungeonActivityDetailInfo) GetEquippedRuneList() []uint32 {
+ if x != nil {
+ return x.EquippedRuneList
+ }
+ return nil
+}
+
+func (x *RoguelikeDungeonActivityDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *RoguelikeDungeonActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *RoguelikeDungeonActivityDetailInfo) GetRuneList() []uint32 {
+ if x != nil {
+ return x.RuneList
+ }
+ return nil
+}
+
+var File_RoguelikeDungeonActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_RoguelikeDungeonActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x14, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x53, 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x02, 0x0a, 0x22, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34,
+ 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d,
+ 0x69, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x68,
+ 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0d, 0x73,
+ 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12,
+ 0x65, 0x71, 0x75, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x71, 0x75, 0x69, 0x70, 0x70,
+ 0x65, 0x64, 0x52, 0x75, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43,
+ 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c,
+ 0x6f, 0x73, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x75, 0x6e, 0x65, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeDungeonActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_RoguelikeDungeonActivityDetailInfo_proto_rawDescData = file_RoguelikeDungeonActivityDetailInfo_proto_rawDesc
+)
+
+func file_RoguelikeDungeonActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_RoguelikeDungeonActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_RoguelikeDungeonActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeDungeonActivityDetailInfo_proto_rawDescData)
+ })
+ return file_RoguelikeDungeonActivityDetailInfo_proto_rawDescData
+}
+
+var file_RoguelikeDungeonActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeDungeonActivityDetailInfo_proto_goTypes = []interface{}{
+ (*RoguelikeDungeonActivityDetailInfo)(nil), // 0: proto.RoguelikeDungeonActivityDetailInfo
+ (*RogueStageInfo)(nil), // 1: proto.RogueStageInfo
+ (*RoguelikeShikigamiRecord)(nil), // 2: proto.RoguelikeShikigamiRecord
+}
+var file_RoguelikeDungeonActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RoguelikeDungeonActivityDetailInfo.stage_list:type_name -> proto.RogueStageInfo
+ 2, // 1: proto.RoguelikeDungeonActivityDetailInfo.shikigami_list:type_name -> proto.RoguelikeShikigamiRecord
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeDungeonActivityDetailInfo_proto_init() }
+func file_RoguelikeDungeonActivityDetailInfo_proto_init() {
+ if File_RoguelikeDungeonActivityDetailInfo_proto != nil {
+ return
+ }
+ file_RogueStageInfo_proto_init()
+ file_RoguelikeShikigamiRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeDungeonActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeDungeonActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeDungeonActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeDungeonActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_RoguelikeDungeonActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_RoguelikeDungeonActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_RoguelikeDungeonActivityDetailInfo_proto = out.File
+ file_RoguelikeDungeonActivityDetailInfo_proto_rawDesc = nil
+ file_RoguelikeDungeonActivityDetailInfo_proto_goTypes = nil
+ file_RoguelikeDungeonActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeDungeonSettleInfo.pb.go b/protocol/proto/RoguelikeDungeonSettleInfo.pb.go
new file mode 100644
index 00000000..5a8f192e
--- /dev/null
+++ b/protocol/proto/RoguelikeDungeonSettleInfo.pb.go
@@ -0,0 +1,243 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeDungeonSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RoguelikeDungeonSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,5,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsFinalLevel bool `protobuf:"varint,15,opt,name=is_final_level,json=isFinalLevel,proto3" json:"is_final_level,omitempty"`
+ FinishedChallengeCellNumMap map[uint32]*RoguelikeSettleCoinInfo `protobuf:"bytes,3,rep,name=finished_challenge_cell_num_map,json=finishedChallengeCellNumMap,proto3" json:"finished_challenge_cell_num_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ IsCoinCReachLimit bool `protobuf:"varint,13,opt,name=is_coin_c_reach_limit,json=isCoinCReachLimit,proto3" json:"is_coin_c_reach_limit,omitempty"`
+ CurLevel uint32 `protobuf:"varint,9,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+ TotalCoinBNum uint32 `protobuf:"varint,6,opt,name=total_coin_b_num,json=totalCoinBNum,proto3" json:"total_coin_b_num,omitempty"`
+ TotalCoinCNum uint32 `protobuf:"varint,10,opt,name=total_coin_c_num,json=totalCoinCNum,proto3" json:"total_coin_c_num,omitempty"`
+}
+
+func (x *RoguelikeDungeonSettleInfo) Reset() {
+ *x = RoguelikeDungeonSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeDungeonSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeDungeonSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeDungeonSettleInfo) ProtoMessage() {}
+
+func (x *RoguelikeDungeonSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeDungeonSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeDungeonSettleInfo.ProtoReflect.Descriptor instead.
+func (*RoguelikeDungeonSettleInfo) Descriptor() ([]byte, []int) {
+ return file_RoguelikeDungeonSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeDungeonSettleInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RoguelikeDungeonSettleInfo) GetIsFinalLevel() bool {
+ if x != nil {
+ return x.IsFinalLevel
+ }
+ return false
+}
+
+func (x *RoguelikeDungeonSettleInfo) GetFinishedChallengeCellNumMap() map[uint32]*RoguelikeSettleCoinInfo {
+ if x != nil {
+ return x.FinishedChallengeCellNumMap
+ }
+ return nil
+}
+
+func (x *RoguelikeDungeonSettleInfo) GetIsCoinCReachLimit() bool {
+ if x != nil {
+ return x.IsCoinCReachLimit
+ }
+ return false
+}
+
+func (x *RoguelikeDungeonSettleInfo) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+func (x *RoguelikeDungeonSettleInfo) GetTotalCoinBNum() uint32 {
+ if x != nil {
+ return x.TotalCoinBNum
+ }
+ return 0
+}
+
+func (x *RoguelikeDungeonSettleInfo) GetTotalCoinCNum() uint32 {
+ if x != nil {
+ return x.TotalCoinCNum
+ }
+ return 0
+}
+
+var File_RoguelikeDungeonSettleInfo_proto protoreflect.FileDescriptor
+
+var file_RoguelikeDungeonSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf9, 0x03, 0x0a, 0x1a, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x46, 0x69,
+ 0x6e, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x88, 0x01, 0x0a, 0x1f, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f,
+ 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x12, 0x30, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63,
+ 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x43, 0x52, 0x65, 0x61, 0x63, 0x68,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x27, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x69, 0x6e,
+ 0x5f, 0x62, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x4e, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x10, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x69, 0x6e,
+ 0x43, 0x4e, 0x75, 0x6d, 0x1a, 0x6e, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x4e, 0x75, 0x6d,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeDungeonSettleInfo_proto_rawDescOnce sync.Once
+ file_RoguelikeDungeonSettleInfo_proto_rawDescData = file_RoguelikeDungeonSettleInfo_proto_rawDesc
+)
+
+func file_RoguelikeDungeonSettleInfo_proto_rawDescGZIP() []byte {
+ file_RoguelikeDungeonSettleInfo_proto_rawDescOnce.Do(func() {
+ file_RoguelikeDungeonSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeDungeonSettleInfo_proto_rawDescData)
+ })
+ return file_RoguelikeDungeonSettleInfo_proto_rawDescData
+}
+
+var file_RoguelikeDungeonSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_RoguelikeDungeonSettleInfo_proto_goTypes = []interface{}{
+ (*RoguelikeDungeonSettleInfo)(nil), // 0: proto.RoguelikeDungeonSettleInfo
+ nil, // 1: proto.RoguelikeDungeonSettleInfo.FinishedChallengeCellNumMapEntry
+ (*RoguelikeSettleCoinInfo)(nil), // 2: proto.RoguelikeSettleCoinInfo
+}
+var file_RoguelikeDungeonSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.RoguelikeDungeonSettleInfo.finished_challenge_cell_num_map:type_name -> proto.RoguelikeDungeonSettleInfo.FinishedChallengeCellNumMapEntry
+ 2, // 1: proto.RoguelikeDungeonSettleInfo.FinishedChallengeCellNumMapEntry.value:type_name -> proto.RoguelikeSettleCoinInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeDungeonSettleInfo_proto_init() }
+func file_RoguelikeDungeonSettleInfo_proto_init() {
+ if File_RoguelikeDungeonSettleInfo_proto != nil {
+ return
+ }
+ file_RoguelikeSettleCoinInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeDungeonSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeDungeonSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeDungeonSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeDungeonSettleInfo_proto_goTypes,
+ DependencyIndexes: file_RoguelikeDungeonSettleInfo_proto_depIdxs,
+ MessageInfos: file_RoguelikeDungeonSettleInfo_proto_msgTypes,
+ }.Build()
+ File_RoguelikeDungeonSettleInfo_proto = out.File
+ file_RoguelikeDungeonSettleInfo_proto_rawDesc = nil
+ file_RoguelikeDungeonSettleInfo_proto_goTypes = nil
+ file_RoguelikeDungeonSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeEffectDataNotify.pb.go b/protocol/proto/RoguelikeEffectDataNotify.pb.go
new file mode 100644
index 00000000..082b5623
--- /dev/null
+++ b/protocol/proto/RoguelikeEffectDataNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeEffectDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8222
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeEffectDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurseList []*RogueEffectRecord `protobuf:"bytes,7,rep,name=curse_list,json=curseList,proto3" json:"curse_list,omitempty"`
+ CardList []*RogueEffectRecord `protobuf:"bytes,4,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+}
+
+func (x *RoguelikeEffectDataNotify) Reset() {
+ *x = RoguelikeEffectDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeEffectDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeEffectDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeEffectDataNotify) ProtoMessage() {}
+
+func (x *RoguelikeEffectDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeEffectDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeEffectDataNotify.ProtoReflect.Descriptor instead.
+func (*RoguelikeEffectDataNotify) Descriptor() ([]byte, []int) {
+ return file_RoguelikeEffectDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeEffectDataNotify) GetCurseList() []*RogueEffectRecord {
+ if x != nil {
+ return x.CurseList
+ }
+ return nil
+}
+
+func (x *RoguelikeEffectDataNotify) GetCardList() []*RogueEffectRecord {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+var File_RoguelikeEffectDataNotify_proto protoreflect.FileDescriptor
+
+var file_RoguelikeEffectDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x45,
+ 0x66, 0x66, 0x65, 0x63, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x37, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x63,
+ 0x75, 0x72, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeEffectDataNotify_proto_rawDescOnce sync.Once
+ file_RoguelikeEffectDataNotify_proto_rawDescData = file_RoguelikeEffectDataNotify_proto_rawDesc
+)
+
+func file_RoguelikeEffectDataNotify_proto_rawDescGZIP() []byte {
+ file_RoguelikeEffectDataNotify_proto_rawDescOnce.Do(func() {
+ file_RoguelikeEffectDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeEffectDataNotify_proto_rawDescData)
+ })
+ return file_RoguelikeEffectDataNotify_proto_rawDescData
+}
+
+var file_RoguelikeEffectDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeEffectDataNotify_proto_goTypes = []interface{}{
+ (*RoguelikeEffectDataNotify)(nil), // 0: proto.RoguelikeEffectDataNotify
+ (*RogueEffectRecord)(nil), // 1: proto.RogueEffectRecord
+}
+var file_RoguelikeEffectDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RoguelikeEffectDataNotify.curse_list:type_name -> proto.RogueEffectRecord
+ 1, // 1: proto.RoguelikeEffectDataNotify.card_list:type_name -> proto.RogueEffectRecord
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeEffectDataNotify_proto_init() }
+func file_RoguelikeEffectDataNotify_proto_init() {
+ if File_RoguelikeEffectDataNotify_proto != nil {
+ return
+ }
+ file_RogueEffectRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeEffectDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeEffectDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeEffectDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeEffectDataNotify_proto_goTypes,
+ DependencyIndexes: file_RoguelikeEffectDataNotify_proto_depIdxs,
+ MessageInfos: file_RoguelikeEffectDataNotify_proto_msgTypes,
+ }.Build()
+ File_RoguelikeEffectDataNotify_proto = out.File
+ file_RoguelikeEffectDataNotify_proto_rawDesc = nil
+ file_RoguelikeEffectDataNotify_proto_goTypes = nil
+ file_RoguelikeEffectDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeEffectViewReq.pb.go b/protocol/proto/RoguelikeEffectViewReq.pb.go
new file mode 100644
index 00000000..c8a605e6
--- /dev/null
+++ b/protocol/proto/RoguelikeEffectViewReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeEffectViewReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8528
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RoguelikeEffectViewReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ViewCurseList []uint32 `protobuf:"varint,10,rep,packed,name=view_curse_list,json=viewCurseList,proto3" json:"view_curse_list,omitempty"`
+ ViewCardList []uint32 `protobuf:"varint,2,rep,packed,name=view_card_list,json=viewCardList,proto3" json:"view_card_list,omitempty"`
+}
+
+func (x *RoguelikeEffectViewReq) Reset() {
+ *x = RoguelikeEffectViewReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeEffectViewReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeEffectViewReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeEffectViewReq) ProtoMessage() {}
+
+func (x *RoguelikeEffectViewReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeEffectViewReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeEffectViewReq.ProtoReflect.Descriptor instead.
+func (*RoguelikeEffectViewReq) Descriptor() ([]byte, []int) {
+ return file_RoguelikeEffectViewReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeEffectViewReq) GetViewCurseList() []uint32 {
+ if x != nil {
+ return x.ViewCurseList
+ }
+ return nil
+}
+
+func (x *RoguelikeEffectViewReq) GetViewCardList() []uint32 {
+ if x != nil {
+ return x.ViewCardList
+ }
+ return nil
+}
+
+var File_RoguelikeEffectViewReq_proto protoreflect.FileDescriptor
+
+var file_RoguelikeEffectViewReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x12,
+ 0x26, 0x0a, 0x0f, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x76, 0x69, 0x65, 0x77, 0x43, 0x75,
+ 0x72, 0x73, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x69, 0x65, 0x77, 0x5f,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0c, 0x76, 0x69, 0x65, 0x77, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_RoguelikeEffectViewReq_proto_rawDescOnce sync.Once
+ file_RoguelikeEffectViewReq_proto_rawDescData = file_RoguelikeEffectViewReq_proto_rawDesc
+)
+
+func file_RoguelikeEffectViewReq_proto_rawDescGZIP() []byte {
+ file_RoguelikeEffectViewReq_proto_rawDescOnce.Do(func() {
+ file_RoguelikeEffectViewReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeEffectViewReq_proto_rawDescData)
+ })
+ return file_RoguelikeEffectViewReq_proto_rawDescData
+}
+
+var file_RoguelikeEffectViewReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeEffectViewReq_proto_goTypes = []interface{}{
+ (*RoguelikeEffectViewReq)(nil), // 0: proto.RoguelikeEffectViewReq
+}
+var file_RoguelikeEffectViewReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeEffectViewReq_proto_init() }
+func file_RoguelikeEffectViewReq_proto_init() {
+ if File_RoguelikeEffectViewReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeEffectViewReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeEffectViewReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeEffectViewReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeEffectViewReq_proto_goTypes,
+ DependencyIndexes: file_RoguelikeEffectViewReq_proto_depIdxs,
+ MessageInfos: file_RoguelikeEffectViewReq_proto_msgTypes,
+ }.Build()
+ File_RoguelikeEffectViewReq_proto = out.File
+ file_RoguelikeEffectViewReq_proto_rawDesc = nil
+ file_RoguelikeEffectViewReq_proto_goTypes = nil
+ file_RoguelikeEffectViewReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeEffectViewRsp.pb.go b/protocol/proto/RoguelikeEffectViewRsp.pb.go
new file mode 100644
index 00000000..3f34a3e2
--- /dev/null
+++ b/protocol/proto/RoguelikeEffectViewRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeEffectViewRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8639
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RoguelikeEffectViewRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RoguelikeEffectViewRsp) Reset() {
+ *x = RoguelikeEffectViewRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeEffectViewRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeEffectViewRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeEffectViewRsp) ProtoMessage() {}
+
+func (x *RoguelikeEffectViewRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeEffectViewRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeEffectViewRsp.ProtoReflect.Descriptor instead.
+func (*RoguelikeEffectViewRsp) Descriptor() ([]byte, []int) {
+ return file_RoguelikeEffectViewRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeEffectViewRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RoguelikeEffectViewRsp_proto protoreflect.FileDescriptor
+
+var file_RoguelikeEffectViewRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63,
+ 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x56, 0x69, 0x65, 0x77, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeEffectViewRsp_proto_rawDescOnce sync.Once
+ file_RoguelikeEffectViewRsp_proto_rawDescData = file_RoguelikeEffectViewRsp_proto_rawDesc
+)
+
+func file_RoguelikeEffectViewRsp_proto_rawDescGZIP() []byte {
+ file_RoguelikeEffectViewRsp_proto_rawDescOnce.Do(func() {
+ file_RoguelikeEffectViewRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeEffectViewRsp_proto_rawDescData)
+ })
+ return file_RoguelikeEffectViewRsp_proto_rawDescData
+}
+
+var file_RoguelikeEffectViewRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeEffectViewRsp_proto_goTypes = []interface{}{
+ (*RoguelikeEffectViewRsp)(nil), // 0: proto.RoguelikeEffectViewRsp
+}
+var file_RoguelikeEffectViewRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeEffectViewRsp_proto_init() }
+func file_RoguelikeEffectViewRsp_proto_init() {
+ if File_RoguelikeEffectViewRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeEffectViewRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeEffectViewRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeEffectViewRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeEffectViewRsp_proto_goTypes,
+ DependencyIndexes: file_RoguelikeEffectViewRsp_proto_depIdxs,
+ MessageInfos: file_RoguelikeEffectViewRsp_proto_msgTypes,
+ }.Build()
+ File_RoguelikeEffectViewRsp_proto = out.File
+ file_RoguelikeEffectViewRsp_proto_rawDesc = nil
+ file_RoguelikeEffectViewRsp_proto_goTypes = nil
+ file_RoguelikeEffectViewRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeGadgetInfo.pb.go b/protocol/proto/RoguelikeGadgetInfo.pb.go
new file mode 100644
index 00000000..ea4be290
--- /dev/null
+++ b/protocol/proto/RoguelikeGadgetInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RoguelikeGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CellConfigId uint32 `protobuf:"varint,1,opt,name=cell_config_id,json=cellConfigId,proto3" json:"cell_config_id,omitempty"`
+ CellType uint32 `protobuf:"varint,2,opt,name=cell_type,json=cellType,proto3" json:"cell_type,omitempty"`
+ CellState uint32 `protobuf:"varint,3,opt,name=cell_state,json=cellState,proto3" json:"cell_state,omitempty"`
+ CellId uint32 `protobuf:"varint,4,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+}
+
+func (x *RoguelikeGadgetInfo) Reset() {
+ *x = RoguelikeGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeGadgetInfo) ProtoMessage() {}
+
+func (x *RoguelikeGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeGadgetInfo.ProtoReflect.Descriptor instead.
+func (*RoguelikeGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_RoguelikeGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeGadgetInfo) GetCellConfigId() uint32 {
+ if x != nil {
+ return x.CellConfigId
+ }
+ return 0
+}
+
+func (x *RoguelikeGadgetInfo) GetCellType() uint32 {
+ if x != nil {
+ return x.CellType
+ }
+ return 0
+}
+
+func (x *RoguelikeGadgetInfo) GetCellState() uint32 {
+ if x != nil {
+ return x.CellState
+ }
+ return 0
+}
+
+func (x *RoguelikeGadgetInfo) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+var File_RoguelikeGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_RoguelikeGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x65,
+ 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x63, 0x65, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07,
+ 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63,
+ 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeGadgetInfo_proto_rawDescOnce sync.Once
+ file_RoguelikeGadgetInfo_proto_rawDescData = file_RoguelikeGadgetInfo_proto_rawDesc
+)
+
+func file_RoguelikeGadgetInfo_proto_rawDescGZIP() []byte {
+ file_RoguelikeGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_RoguelikeGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeGadgetInfo_proto_rawDescData)
+ })
+ return file_RoguelikeGadgetInfo_proto_rawDescData
+}
+
+var file_RoguelikeGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeGadgetInfo_proto_goTypes = []interface{}{
+ (*RoguelikeGadgetInfo)(nil), // 0: proto.RoguelikeGadgetInfo
+}
+var file_RoguelikeGadgetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeGadgetInfo_proto_init() }
+func file_RoguelikeGadgetInfo_proto_init() {
+ if File_RoguelikeGadgetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_RoguelikeGadgetInfo_proto_depIdxs,
+ MessageInfos: file_RoguelikeGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_RoguelikeGadgetInfo_proto = out.File
+ file_RoguelikeGadgetInfo_proto_rawDesc = nil
+ file_RoguelikeGadgetInfo_proto_goTypes = nil
+ file_RoguelikeGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeGiveUpReq.pb.go b/protocol/proto/RoguelikeGiveUpReq.pb.go
new file mode 100644
index 00000000..98d579b5
--- /dev/null
+++ b/protocol/proto/RoguelikeGiveUpReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeGiveUpReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8660
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RoguelikeGiveUpReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *RoguelikeGiveUpReq) Reset() {
+ *x = RoguelikeGiveUpReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeGiveUpReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeGiveUpReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeGiveUpReq) ProtoMessage() {}
+
+func (x *RoguelikeGiveUpReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeGiveUpReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeGiveUpReq.ProtoReflect.Descriptor instead.
+func (*RoguelikeGiveUpReq) Descriptor() ([]byte, []int) {
+ return file_RoguelikeGiveUpReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeGiveUpReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_RoguelikeGiveUpReq_proto protoreflect.FileDescriptor
+
+var file_RoguelikeGiveUpReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x47, 0x69, 0x76, 0x65, 0x55,
+ 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2f, 0x0a, 0x12, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x47, 0x69,
+ 0x76, 0x65, 0x55, 0x70, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeGiveUpReq_proto_rawDescOnce sync.Once
+ file_RoguelikeGiveUpReq_proto_rawDescData = file_RoguelikeGiveUpReq_proto_rawDesc
+)
+
+func file_RoguelikeGiveUpReq_proto_rawDescGZIP() []byte {
+ file_RoguelikeGiveUpReq_proto_rawDescOnce.Do(func() {
+ file_RoguelikeGiveUpReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeGiveUpReq_proto_rawDescData)
+ })
+ return file_RoguelikeGiveUpReq_proto_rawDescData
+}
+
+var file_RoguelikeGiveUpReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeGiveUpReq_proto_goTypes = []interface{}{
+ (*RoguelikeGiveUpReq)(nil), // 0: proto.RoguelikeGiveUpReq
+}
+var file_RoguelikeGiveUpReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeGiveUpReq_proto_init() }
+func file_RoguelikeGiveUpReq_proto_init() {
+ if File_RoguelikeGiveUpReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeGiveUpReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeGiveUpReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeGiveUpReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeGiveUpReq_proto_goTypes,
+ DependencyIndexes: file_RoguelikeGiveUpReq_proto_depIdxs,
+ MessageInfos: file_RoguelikeGiveUpReq_proto_msgTypes,
+ }.Build()
+ File_RoguelikeGiveUpReq_proto = out.File
+ file_RoguelikeGiveUpReq_proto_rawDesc = nil
+ file_RoguelikeGiveUpReq_proto_goTypes = nil
+ file_RoguelikeGiveUpReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeGiveUpRsp.pb.go b/protocol/proto/RoguelikeGiveUpRsp.pb.go
new file mode 100644
index 00000000..2f45b939
--- /dev/null
+++ b/protocol/proto/RoguelikeGiveUpRsp.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeGiveUpRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8139
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeGiveUpRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ // Types that are assignable to Info:
+ //
+ // *RoguelikeGiveUpRsp_SettleInfo
+ Info isRoguelikeGiveUpRsp_Info `protobuf_oneof:"info"`
+}
+
+func (x *RoguelikeGiveUpRsp) Reset() {
+ *x = RoguelikeGiveUpRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeGiveUpRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeGiveUpRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeGiveUpRsp) ProtoMessage() {}
+
+func (x *RoguelikeGiveUpRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeGiveUpRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeGiveUpRsp.ProtoReflect.Descriptor instead.
+func (*RoguelikeGiveUpRsp) Descriptor() ([]byte, []int) {
+ return file_RoguelikeGiveUpRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeGiveUpRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *RoguelikeGiveUpRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (m *RoguelikeGiveUpRsp) GetInfo() isRoguelikeGiveUpRsp_Info {
+ if m != nil {
+ return m.Info
+ }
+ return nil
+}
+
+func (x *RoguelikeGiveUpRsp) GetSettleInfo() *RoguelikeDungeonSettleInfo {
+ if x, ok := x.GetInfo().(*RoguelikeGiveUpRsp_SettleInfo); ok {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+type isRoguelikeGiveUpRsp_Info interface {
+ isRoguelikeGiveUpRsp_Info()
+}
+
+type RoguelikeGiveUpRsp_SettleInfo struct {
+ SettleInfo *RoguelikeDungeonSettleInfo `protobuf:"bytes,8,opt,name=settle_info,json=settleInfo,proto3,oneof"`
+}
+
+func (*RoguelikeGiveUpRsp_SettleInfo) isRoguelikeGiveUpRsp_Info() {}
+
+var File_RoguelikeGiveUpRsp_proto protoreflect.FileDescriptor
+
+var file_RoguelikeGiveUpRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x47, 0x69, 0x76, 0x65, 0x55,
+ 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x20, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x12, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b,
+ 0x65, 0x47, 0x69, 0x76, 0x65, 0x55, 0x70, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12,
+ 0x44, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x06, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_RoguelikeGiveUpRsp_proto_rawDescOnce sync.Once
+ file_RoguelikeGiveUpRsp_proto_rawDescData = file_RoguelikeGiveUpRsp_proto_rawDesc
+)
+
+func file_RoguelikeGiveUpRsp_proto_rawDescGZIP() []byte {
+ file_RoguelikeGiveUpRsp_proto_rawDescOnce.Do(func() {
+ file_RoguelikeGiveUpRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeGiveUpRsp_proto_rawDescData)
+ })
+ return file_RoguelikeGiveUpRsp_proto_rawDescData
+}
+
+var file_RoguelikeGiveUpRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeGiveUpRsp_proto_goTypes = []interface{}{
+ (*RoguelikeGiveUpRsp)(nil), // 0: proto.RoguelikeGiveUpRsp
+ (*RoguelikeDungeonSettleInfo)(nil), // 1: proto.RoguelikeDungeonSettleInfo
+}
+var file_RoguelikeGiveUpRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.RoguelikeGiveUpRsp.settle_info:type_name -> proto.RoguelikeDungeonSettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeGiveUpRsp_proto_init() }
+func file_RoguelikeGiveUpRsp_proto_init() {
+ if File_RoguelikeGiveUpRsp_proto != nil {
+ return
+ }
+ file_RoguelikeDungeonSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeGiveUpRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeGiveUpRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_RoguelikeGiveUpRsp_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*RoguelikeGiveUpRsp_SettleInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeGiveUpRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeGiveUpRsp_proto_goTypes,
+ DependencyIndexes: file_RoguelikeGiveUpRsp_proto_depIdxs,
+ MessageInfos: file_RoguelikeGiveUpRsp_proto_msgTypes,
+ }.Build()
+ File_RoguelikeGiveUpRsp_proto = out.File
+ file_RoguelikeGiveUpRsp_proto_rawDesc = nil
+ file_RoguelikeGiveUpRsp_proto_goTypes = nil
+ file_RoguelikeGiveUpRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeMistClearNotify.pb.go b/protocol/proto/RoguelikeMistClearNotify.pb.go
new file mode 100644
index 00000000..e124d766
--- /dev/null
+++ b/protocol/proto/RoguelikeMistClearNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeMistClearNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8324
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeMistClearNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RoguelikeMistClearNotify) Reset() {
+ *x = RoguelikeMistClearNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeMistClearNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeMistClearNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeMistClearNotify) ProtoMessage() {}
+
+func (x *RoguelikeMistClearNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeMistClearNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeMistClearNotify.ProtoReflect.Descriptor instead.
+func (*RoguelikeMistClearNotify) Descriptor() ([]byte, []int) {
+ return file_RoguelikeMistClearNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_RoguelikeMistClearNotify_proto protoreflect.FileDescriptor
+
+var file_RoguelikeMistClearNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x4d, 0x69, 0x73, 0x74, 0x43,
+ 0x6c, 0x65, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x6c, 0x69, 0x6b, 0x65, 0x4d, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeMistClearNotify_proto_rawDescOnce sync.Once
+ file_RoguelikeMistClearNotify_proto_rawDescData = file_RoguelikeMistClearNotify_proto_rawDesc
+)
+
+func file_RoguelikeMistClearNotify_proto_rawDescGZIP() []byte {
+ file_RoguelikeMistClearNotify_proto_rawDescOnce.Do(func() {
+ file_RoguelikeMistClearNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeMistClearNotify_proto_rawDescData)
+ })
+ return file_RoguelikeMistClearNotify_proto_rawDescData
+}
+
+var file_RoguelikeMistClearNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeMistClearNotify_proto_goTypes = []interface{}{
+ (*RoguelikeMistClearNotify)(nil), // 0: proto.RoguelikeMistClearNotify
+}
+var file_RoguelikeMistClearNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeMistClearNotify_proto_init() }
+func file_RoguelikeMistClearNotify_proto_init() {
+ if File_RoguelikeMistClearNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeMistClearNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeMistClearNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeMistClearNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeMistClearNotify_proto_goTypes,
+ DependencyIndexes: file_RoguelikeMistClearNotify_proto_depIdxs,
+ MessageInfos: file_RoguelikeMistClearNotify_proto_msgTypes,
+ }.Build()
+ File_RoguelikeMistClearNotify_proto = out.File
+ file_RoguelikeMistClearNotify_proto_rawDesc = nil
+ file_RoguelikeMistClearNotify_proto_goTypes = nil
+ file_RoguelikeMistClearNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeRefreshCardCostUpdateNotify.pb.go b/protocol/proto/RoguelikeRefreshCardCostUpdateNotify.pb.go
new file mode 100644
index 00000000..d96f3a58
--- /dev/null
+++ b/protocol/proto/RoguelikeRefreshCardCostUpdateNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeRefreshCardCostUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8927
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeRefreshCardCostUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemCount uint32 `protobuf:"varint,5,opt,name=item_count,json=itemCount,proto3" json:"item_count,omitempty"`
+ ItemId uint32 `protobuf:"varint,1,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+}
+
+func (x *RoguelikeRefreshCardCostUpdateNotify) Reset() {
+ *x = RoguelikeRefreshCardCostUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeRefreshCardCostUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeRefreshCardCostUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeRefreshCardCostUpdateNotify) ProtoMessage() {}
+
+func (x *RoguelikeRefreshCardCostUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeRefreshCardCostUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeRefreshCardCostUpdateNotify.ProtoReflect.Descriptor instead.
+func (*RoguelikeRefreshCardCostUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeRefreshCardCostUpdateNotify) GetItemCount() uint32 {
+ if x != nil {
+ return x.ItemCount
+ }
+ return 0
+}
+
+func (x *RoguelikeRefreshCardCostUpdateNotify) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+var File_RoguelikeRefreshCardCostUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65,
+ 0x73, 0x68, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x24, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x73, 0x74, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
+ 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74,
+ 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65,
+ 0x6d, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDescOnce sync.Once
+ file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDescData = file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDesc
+)
+
+func file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDescGZIP() []byte {
+ file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDescData)
+ })
+ return file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDescData
+}
+
+var file_RoguelikeRefreshCardCostUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeRefreshCardCostUpdateNotify_proto_goTypes = []interface{}{
+ (*RoguelikeRefreshCardCostUpdateNotify)(nil), // 0: proto.RoguelikeRefreshCardCostUpdateNotify
+}
+var file_RoguelikeRefreshCardCostUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeRefreshCardCostUpdateNotify_proto_init() }
+func file_RoguelikeRefreshCardCostUpdateNotify_proto_init() {
+ if File_RoguelikeRefreshCardCostUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeRefreshCardCostUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeRefreshCardCostUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeRefreshCardCostUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_RoguelikeRefreshCardCostUpdateNotify_proto_depIdxs,
+ MessageInfos: file_RoguelikeRefreshCardCostUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_RoguelikeRefreshCardCostUpdateNotify_proto = out.File
+ file_RoguelikeRefreshCardCostUpdateNotify_proto_rawDesc = nil
+ file_RoguelikeRefreshCardCostUpdateNotify_proto_goTypes = nil
+ file_RoguelikeRefreshCardCostUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeResourceBonusPropUpdateNotify.pb.go b/protocol/proto/RoguelikeResourceBonusPropUpdateNotify.pb.go
new file mode 100644
index 00000000..312ba582
--- /dev/null
+++ b/protocol/proto/RoguelikeResourceBonusPropUpdateNotify.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeResourceBonusPropUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8555
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeResourceBonusPropUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BonusResourceProp float32 `protobuf:"fixed32,12,opt,name=bonus_resource_prop,json=bonusResourceProp,proto3" json:"bonus_resource_prop,omitempty"`
+}
+
+func (x *RoguelikeResourceBonusPropUpdateNotify) Reset() {
+ *x = RoguelikeResourceBonusPropUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeResourceBonusPropUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeResourceBonusPropUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeResourceBonusPropUpdateNotify) ProtoMessage() {}
+
+func (x *RoguelikeResourceBonusPropUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeResourceBonusPropUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeResourceBonusPropUpdateNotify.ProtoReflect.Descriptor instead.
+func (*RoguelikeResourceBonusPropUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeResourceBonusPropUpdateNotify) GetBonusResourceProp() float32 {
+ if x != nil {
+ return x.BonusResourceProp
+ }
+ return 0
+}
+
+var File_RoguelikeResourceBonusPropUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x50, 0x72, 0x6f, 0x70, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x26, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x50,
+ 0x72, 0x6f, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x2e, 0x0a, 0x13, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x62, 0x6f,
+ 0x6e, 0x75, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDescOnce sync.Once
+ file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDescData = file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDesc
+)
+
+func file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDescGZIP() []byte {
+ file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDescData)
+ })
+ return file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDescData
+}
+
+var file_RoguelikeResourceBonusPropUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeResourceBonusPropUpdateNotify_proto_goTypes = []interface{}{
+ (*RoguelikeResourceBonusPropUpdateNotify)(nil), // 0: proto.RoguelikeResourceBonusPropUpdateNotify
+}
+var file_RoguelikeResourceBonusPropUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeResourceBonusPropUpdateNotify_proto_init() }
+func file_RoguelikeResourceBonusPropUpdateNotify_proto_init() {
+ if File_RoguelikeResourceBonusPropUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeResourceBonusPropUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeResourceBonusPropUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeResourceBonusPropUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_RoguelikeResourceBonusPropUpdateNotify_proto_depIdxs,
+ MessageInfos: file_RoguelikeResourceBonusPropUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_RoguelikeResourceBonusPropUpdateNotify_proto = out.File
+ file_RoguelikeResourceBonusPropUpdateNotify_proto_rawDesc = nil
+ file_RoguelikeResourceBonusPropUpdateNotify_proto_goTypes = nil
+ file_RoguelikeResourceBonusPropUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeRuneRecord.pb.go b/protocol/proto/RoguelikeRuneRecord.pb.go
new file mode 100644
index 00000000..8947d2b2
--- /dev/null
+++ b/protocol/proto/RoguelikeRuneRecord.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeRuneRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RoguelikeRuneRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LeftCount uint32 `protobuf:"varint,14,opt,name=left_count,json=leftCount,proto3" json:"left_count,omitempty"`
+ RuneId uint32 `protobuf:"varint,6,opt,name=rune_id,json=runeId,proto3" json:"rune_id,omitempty"`
+ MaxCount uint32 `protobuf:"varint,4,opt,name=max_count,json=maxCount,proto3" json:"max_count,omitempty"`
+}
+
+func (x *RoguelikeRuneRecord) Reset() {
+ *x = RoguelikeRuneRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeRuneRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeRuneRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeRuneRecord) ProtoMessage() {}
+
+func (x *RoguelikeRuneRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeRuneRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeRuneRecord.ProtoReflect.Descriptor instead.
+func (*RoguelikeRuneRecord) Descriptor() ([]byte, []int) {
+ return file_RoguelikeRuneRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeRuneRecord) GetLeftCount() uint32 {
+ if x != nil {
+ return x.LeftCount
+ }
+ return 0
+}
+
+func (x *RoguelikeRuneRecord) GetRuneId() uint32 {
+ if x != nil {
+ return x.RuneId
+ }
+ return 0
+}
+
+func (x *RoguelikeRuneRecord) GetMaxCount() uint32 {
+ if x != nil {
+ return x.MaxCount
+ }
+ return 0
+}
+
+var File_RoguelikeRuneRecord_proto protoreflect.FileDescriptor
+
+var file_RoguelikeRuneRecord_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x13, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52,
+ 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x65, 0x66,
+ 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c,
+ 0x65, 0x66, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x65, 0x49,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeRuneRecord_proto_rawDescOnce sync.Once
+ file_RoguelikeRuneRecord_proto_rawDescData = file_RoguelikeRuneRecord_proto_rawDesc
+)
+
+func file_RoguelikeRuneRecord_proto_rawDescGZIP() []byte {
+ file_RoguelikeRuneRecord_proto_rawDescOnce.Do(func() {
+ file_RoguelikeRuneRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeRuneRecord_proto_rawDescData)
+ })
+ return file_RoguelikeRuneRecord_proto_rawDescData
+}
+
+var file_RoguelikeRuneRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeRuneRecord_proto_goTypes = []interface{}{
+ (*RoguelikeRuneRecord)(nil), // 0: proto.RoguelikeRuneRecord
+}
+var file_RoguelikeRuneRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeRuneRecord_proto_init() }
+func file_RoguelikeRuneRecord_proto_init() {
+ if File_RoguelikeRuneRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeRuneRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeRuneRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeRuneRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeRuneRecord_proto_goTypes,
+ DependencyIndexes: file_RoguelikeRuneRecord_proto_depIdxs,
+ MessageInfos: file_RoguelikeRuneRecord_proto_msgTypes,
+ }.Build()
+ File_RoguelikeRuneRecord_proto = out.File
+ file_RoguelikeRuneRecord_proto_rawDesc = nil
+ file_RoguelikeRuneRecord_proto_goTypes = nil
+ file_RoguelikeRuneRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeRuneRecordUpdateNotify.pb.go b/protocol/proto/RoguelikeRuneRecordUpdateNotify.pb.go
new file mode 100644
index 00000000..5edacb34
--- /dev/null
+++ b/protocol/proto/RoguelikeRuneRecordUpdateNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeRuneRecordUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8973
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeRuneRecordUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RuneRecordList []*RoguelikeRuneRecord `protobuf:"bytes,11,rep,name=rune_record_list,json=runeRecordList,proto3" json:"rune_record_list,omitempty"`
+}
+
+func (x *RoguelikeRuneRecordUpdateNotify) Reset() {
+ *x = RoguelikeRuneRecordUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeRuneRecordUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeRuneRecordUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeRuneRecordUpdateNotify) ProtoMessage() {}
+
+func (x *RoguelikeRuneRecordUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeRuneRecordUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeRuneRecordUpdateNotify.ProtoReflect.Descriptor instead.
+func (*RoguelikeRuneRecordUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_RoguelikeRuneRecordUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeRuneRecordUpdateNotify) GetRuneRecordList() []*RoguelikeRuneRecord {
+ if x != nil {
+ return x.RuneRecordList
+ }
+ return nil
+}
+
+var File_RoguelikeRuneRecordUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_RoguelikeRuneRecordUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x1f, 0x52, 0x6f, 0x67,
+ 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x44, 0x0a, 0x10,
+ 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
+ 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeRuneRecordUpdateNotify_proto_rawDescOnce sync.Once
+ file_RoguelikeRuneRecordUpdateNotify_proto_rawDescData = file_RoguelikeRuneRecordUpdateNotify_proto_rawDesc
+)
+
+func file_RoguelikeRuneRecordUpdateNotify_proto_rawDescGZIP() []byte {
+ file_RoguelikeRuneRecordUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_RoguelikeRuneRecordUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeRuneRecordUpdateNotify_proto_rawDescData)
+ })
+ return file_RoguelikeRuneRecordUpdateNotify_proto_rawDescData
+}
+
+var file_RoguelikeRuneRecordUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeRuneRecordUpdateNotify_proto_goTypes = []interface{}{
+ (*RoguelikeRuneRecordUpdateNotify)(nil), // 0: proto.RoguelikeRuneRecordUpdateNotify
+ (*RoguelikeRuneRecord)(nil), // 1: proto.RoguelikeRuneRecord
+}
+var file_RoguelikeRuneRecordUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.RoguelikeRuneRecordUpdateNotify.rune_record_list:type_name -> proto.RoguelikeRuneRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeRuneRecordUpdateNotify_proto_init() }
+func file_RoguelikeRuneRecordUpdateNotify_proto_init() {
+ if File_RoguelikeRuneRecordUpdateNotify_proto != nil {
+ return
+ }
+ file_RoguelikeRuneRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeRuneRecordUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeRuneRecordUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeRuneRecordUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeRuneRecordUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_RoguelikeRuneRecordUpdateNotify_proto_depIdxs,
+ MessageInfos: file_RoguelikeRuneRecordUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_RoguelikeRuneRecordUpdateNotify_proto = out.File
+ file_RoguelikeRuneRecordUpdateNotify_proto_rawDesc = nil
+ file_RoguelikeRuneRecordUpdateNotify_proto_goTypes = nil
+ file_RoguelikeRuneRecordUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonReq.pb.go b/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonReq.pb.go
new file mode 100644
index 00000000..38d82727
--- /dev/null
+++ b/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonReq.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeSelectAvatarAndEnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8457
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RoguelikeSelectAvatarAndEnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OnstageAvatarGuidList []uint64 `protobuf:"varint,14,rep,packed,name=onstage_avatar_guid_list,json=onstageAvatarGuidList,proto3" json:"onstage_avatar_guid_list,omitempty"`
+ StageId uint32 `protobuf:"varint,4,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ BackstageAvatarGuidList []uint64 `protobuf:"varint,11,rep,packed,name=backstage_avatar_guid_list,json=backstageAvatarGuidList,proto3" json:"backstage_avatar_guid_list,omitempty"`
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonReq) Reset() {
+ *x = RoguelikeSelectAvatarAndEnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeSelectAvatarAndEnterDungeonReq) ProtoMessage() {}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeSelectAvatarAndEnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*RoguelikeSelectAvatarAndEnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonReq) GetOnstageAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.OnstageAvatarGuidList
+ }
+ return nil
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonReq) GetBackstageAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.BackstageAvatarGuidList
+ }
+ return nil
+}
+
+var File_RoguelikeSelectAvatarAndEnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x27, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x12, 0x37, 0x0a, 0x18, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e,
+ 0x20, 0x03, 0x28, 0x04, 0x52, 0x15, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x04, 0x52, 0x17, 0x62, 0x61, 0x63, 0x6b,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDescOnce sync.Once
+ file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDescData = file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDesc
+)
+
+func file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDescData)
+ })
+ return file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDescData
+}
+
+var file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_goTypes = []interface{}{
+ (*RoguelikeSelectAvatarAndEnterDungeonReq)(nil), // 0: proto.RoguelikeSelectAvatarAndEnterDungeonReq
+}
+var file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_init() }
+func file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_init() {
+ if File_RoguelikeSelectAvatarAndEnterDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeSelectAvatarAndEnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_RoguelikeSelectAvatarAndEnterDungeonReq_proto = out.File
+ file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_rawDesc = nil
+ file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_goTypes = nil
+ file_RoguelikeSelectAvatarAndEnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.pb.go b/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.pb.go
new file mode 100644
index 00000000..5d10479d
--- /dev/null
+++ b/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeSelectAvatarAndEnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8538
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeSelectAvatarAndEnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonRsp) Reset() {
+ *x = RoguelikeSelectAvatarAndEnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeSelectAvatarAndEnterDungeonRsp) ProtoMessage() {}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeSelectAvatarAndEnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*RoguelikeSelectAvatarAndEnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RoguelikeSelectAvatarAndEnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RoguelikeSelectAvatarAndEnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x27, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c,
+ 0x69, 0x6b, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41,
+ 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73,
+ 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDescData = file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDesc
+)
+
+func file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDescData)
+ })
+ return file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDescData
+}
+
+var file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_goTypes = []interface{}{
+ (*RoguelikeSelectAvatarAndEnterDungeonRsp)(nil), // 0: proto.RoguelikeSelectAvatarAndEnterDungeonRsp
+}
+var file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_init() }
+func file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_init() {
+ if File_RoguelikeSelectAvatarAndEnterDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeSelectAvatarAndEnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_RoguelikeSelectAvatarAndEnterDungeonRsp_proto = out.File
+ file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_rawDesc = nil
+ file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_goTypes = nil
+ file_RoguelikeSelectAvatarAndEnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeSettleCoinInfo.pb.go b/protocol/proto/RoguelikeSettleCoinInfo.pb.go
new file mode 100644
index 00000000..c7c45ddd
--- /dev/null
+++ b/protocol/proto/RoguelikeSettleCoinInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeSettleCoinInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RoguelikeSettleCoinInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CoinC uint32 `protobuf:"varint,8,opt,name=coin_c,json=coinC,proto3" json:"coin_c,omitempty"`
+ CoinB uint32 `protobuf:"varint,10,opt,name=coin_b,json=coinB,proto3" json:"coin_b,omitempty"`
+ CellNum uint32 `protobuf:"varint,1,opt,name=cell_num,json=cellNum,proto3" json:"cell_num,omitempty"`
+}
+
+func (x *RoguelikeSettleCoinInfo) Reset() {
+ *x = RoguelikeSettleCoinInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeSettleCoinInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeSettleCoinInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeSettleCoinInfo) ProtoMessage() {}
+
+func (x *RoguelikeSettleCoinInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeSettleCoinInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeSettleCoinInfo.ProtoReflect.Descriptor instead.
+func (*RoguelikeSettleCoinInfo) Descriptor() ([]byte, []int) {
+ return file_RoguelikeSettleCoinInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeSettleCoinInfo) GetCoinC() uint32 {
+ if x != nil {
+ return x.CoinC
+ }
+ return 0
+}
+
+func (x *RoguelikeSettleCoinInfo) GetCoinB() uint32 {
+ if x != nil {
+ return x.CoinB
+ }
+ return 0
+}
+
+func (x *RoguelikeSettleCoinInfo) GetCellNum() uint32 {
+ if x != nil {
+ return x.CellNum
+ }
+ return 0
+}
+
+var File_RoguelikeSettleCoinInfo_proto protoreflect.FileDescriptor
+
+var file_RoguelikeSettleCoinInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x17, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c,
+ 0x69, 0x6b, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x69, 0x6e, 0x43, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x6f, 0x69, 0x6e,
+ 0x5f, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x69, 0x6e, 0x42, 0x12,
+ 0x19, 0x0a, 0x08, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeSettleCoinInfo_proto_rawDescOnce sync.Once
+ file_RoguelikeSettleCoinInfo_proto_rawDescData = file_RoguelikeSettleCoinInfo_proto_rawDesc
+)
+
+func file_RoguelikeSettleCoinInfo_proto_rawDescGZIP() []byte {
+ file_RoguelikeSettleCoinInfo_proto_rawDescOnce.Do(func() {
+ file_RoguelikeSettleCoinInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeSettleCoinInfo_proto_rawDescData)
+ })
+ return file_RoguelikeSettleCoinInfo_proto_rawDescData
+}
+
+var file_RoguelikeSettleCoinInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeSettleCoinInfo_proto_goTypes = []interface{}{
+ (*RoguelikeSettleCoinInfo)(nil), // 0: proto.RoguelikeSettleCoinInfo
+}
+var file_RoguelikeSettleCoinInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeSettleCoinInfo_proto_init() }
+func file_RoguelikeSettleCoinInfo_proto_init() {
+ if File_RoguelikeSettleCoinInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeSettleCoinInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeSettleCoinInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeSettleCoinInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeSettleCoinInfo_proto_goTypes,
+ DependencyIndexes: file_RoguelikeSettleCoinInfo_proto_depIdxs,
+ MessageInfos: file_RoguelikeSettleCoinInfo_proto_msgTypes,
+ }.Build()
+ File_RoguelikeSettleCoinInfo_proto = out.File
+ file_RoguelikeSettleCoinInfo_proto_rawDesc = nil
+ file_RoguelikeSettleCoinInfo_proto_goTypes = nil
+ file_RoguelikeSettleCoinInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeShikigamiRecord.pb.go b/protocol/proto/RoguelikeShikigamiRecord.pb.go
new file mode 100644
index 00000000..3f2f0b95
--- /dev/null
+++ b/protocol/proto/RoguelikeShikigamiRecord.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeShikigamiRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RoguelikeShikigamiRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,6,opt,name=id,proto3" json:"id,omitempty"`
+ Level uint32 `protobuf:"varint,3,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *RoguelikeShikigamiRecord) Reset() {
+ *x = RoguelikeShikigamiRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeShikigamiRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeShikigamiRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeShikigamiRecord) ProtoMessage() {}
+
+func (x *RoguelikeShikigamiRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeShikigamiRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeShikigamiRecord.ProtoReflect.Descriptor instead.
+func (*RoguelikeShikigamiRecord) Descriptor() ([]byte, []int) {
+ return file_RoguelikeShikigamiRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeShikigamiRecord) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *RoguelikeShikigamiRecord) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_RoguelikeShikigamiRecord_proto protoreflect.FileDescriptor
+
+var file_RoguelikeShikigamiRecord_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x68, 0x69, 0x6b, 0x69,
+ 0x67, 0x61, 0x6d, 0x69, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x18, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x6c, 0x69, 0x6b, 0x65, 0x53, 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeShikigamiRecord_proto_rawDescOnce sync.Once
+ file_RoguelikeShikigamiRecord_proto_rawDescData = file_RoguelikeShikigamiRecord_proto_rawDesc
+)
+
+func file_RoguelikeShikigamiRecord_proto_rawDescGZIP() []byte {
+ file_RoguelikeShikigamiRecord_proto_rawDescOnce.Do(func() {
+ file_RoguelikeShikigamiRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeShikigamiRecord_proto_rawDescData)
+ })
+ return file_RoguelikeShikigamiRecord_proto_rawDescData
+}
+
+var file_RoguelikeShikigamiRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeShikigamiRecord_proto_goTypes = []interface{}{
+ (*RoguelikeShikigamiRecord)(nil), // 0: proto.RoguelikeShikigamiRecord
+}
+var file_RoguelikeShikigamiRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeShikigamiRecord_proto_init() }
+func file_RoguelikeShikigamiRecord_proto_init() {
+ if File_RoguelikeShikigamiRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeShikigamiRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeShikigamiRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeShikigamiRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeShikigamiRecord_proto_goTypes,
+ DependencyIndexes: file_RoguelikeShikigamiRecord_proto_depIdxs,
+ MessageInfos: file_RoguelikeShikigamiRecord_proto_msgTypes,
+ }.Build()
+ File_RoguelikeShikigamiRecord_proto = out.File
+ file_RoguelikeShikigamiRecord_proto_rawDesc = nil
+ file_RoguelikeShikigamiRecord_proto_goTypes = nil
+ file_RoguelikeShikigamiRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeTakeStageFirstPassRewardReq.pb.go b/protocol/proto/RoguelikeTakeStageFirstPassRewardReq.pb.go
new file mode 100644
index 00000000..01a1d94a
--- /dev/null
+++ b/protocol/proto/RoguelikeTakeStageFirstPassRewardReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeTakeStageFirstPassRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type RoguelikeTakeStageFirstPassRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,1,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *RoguelikeTakeStageFirstPassRewardReq) Reset() {
+ *x = RoguelikeTakeStageFirstPassRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeTakeStageFirstPassRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeTakeStageFirstPassRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeTakeStageFirstPassRewardReq) ProtoMessage() {}
+
+func (x *RoguelikeTakeStageFirstPassRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeTakeStageFirstPassRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeTakeStageFirstPassRewardReq.ProtoReflect.Descriptor instead.
+func (*RoguelikeTakeStageFirstPassRewardReq) Descriptor() ([]byte, []int) {
+ return file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeTakeStageFirstPassRewardReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_RoguelikeTakeStageFirstPassRewardReq_proto protoreflect.FileDescriptor
+
+var file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x24, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x54, 0x61, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61,
+ 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDescOnce sync.Once
+ file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDescData = file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDesc
+)
+
+func file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDescGZIP() []byte {
+ file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDescOnce.Do(func() {
+ file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDescData)
+ })
+ return file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDescData
+}
+
+var file_RoguelikeTakeStageFirstPassRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeTakeStageFirstPassRewardReq_proto_goTypes = []interface{}{
+ (*RoguelikeTakeStageFirstPassRewardReq)(nil), // 0: proto.RoguelikeTakeStageFirstPassRewardReq
+}
+var file_RoguelikeTakeStageFirstPassRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeTakeStageFirstPassRewardReq_proto_init() }
+func file_RoguelikeTakeStageFirstPassRewardReq_proto_init() {
+ if File_RoguelikeTakeStageFirstPassRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeTakeStageFirstPassRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeTakeStageFirstPassRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeTakeStageFirstPassRewardReq_proto_goTypes,
+ DependencyIndexes: file_RoguelikeTakeStageFirstPassRewardReq_proto_depIdxs,
+ MessageInfos: file_RoguelikeTakeStageFirstPassRewardReq_proto_msgTypes,
+ }.Build()
+ File_RoguelikeTakeStageFirstPassRewardReq_proto = out.File
+ file_RoguelikeTakeStageFirstPassRewardReq_proto_rawDesc = nil
+ file_RoguelikeTakeStageFirstPassRewardReq_proto_goTypes = nil
+ file_RoguelikeTakeStageFirstPassRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoguelikeTakeStageFirstPassRewardRsp.pb.go b/protocol/proto/RoguelikeTakeStageFirstPassRewardRsp.pb.go
new file mode 100644
index 00000000..a0518e17
--- /dev/null
+++ b/protocol/proto/RoguelikeTakeStageFirstPassRewardRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoguelikeTakeStageFirstPassRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8552
+// EnetChannelId: 0
+// EnetIsReliable: true
+type RoguelikeTakeStageFirstPassRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,14,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *RoguelikeTakeStageFirstPassRewardRsp) Reset() {
+ *x = RoguelikeTakeStageFirstPassRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoguelikeTakeStageFirstPassRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoguelikeTakeStageFirstPassRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoguelikeTakeStageFirstPassRewardRsp) ProtoMessage() {}
+
+func (x *RoguelikeTakeStageFirstPassRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_RoguelikeTakeStageFirstPassRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoguelikeTakeStageFirstPassRewardRsp.ProtoReflect.Descriptor instead.
+func (*RoguelikeTakeStageFirstPassRewardRsp) Descriptor() ([]byte, []int) {
+ return file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoguelikeTakeStageFirstPassRewardRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *RoguelikeTakeStageFirstPassRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_RoguelikeTakeStageFirstPassRewardRsp_proto protoreflect.FileDescriptor
+
+var file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x24, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x54, 0x61, 0x6b, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61,
+ 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDescOnce sync.Once
+ file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDescData = file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDesc
+)
+
+func file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDescGZIP() []byte {
+ file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDescOnce.Do(func() {
+ file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDescData)
+ })
+ return file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDescData
+}
+
+var file_RoguelikeTakeStageFirstPassRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoguelikeTakeStageFirstPassRewardRsp_proto_goTypes = []interface{}{
+ (*RoguelikeTakeStageFirstPassRewardRsp)(nil), // 0: proto.RoguelikeTakeStageFirstPassRewardRsp
+}
+var file_RoguelikeTakeStageFirstPassRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoguelikeTakeStageFirstPassRewardRsp_proto_init() }
+func file_RoguelikeTakeStageFirstPassRewardRsp_proto_init() {
+ if File_RoguelikeTakeStageFirstPassRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoguelikeTakeStageFirstPassRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoguelikeTakeStageFirstPassRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoguelikeTakeStageFirstPassRewardRsp_proto_goTypes,
+ DependencyIndexes: file_RoguelikeTakeStageFirstPassRewardRsp_proto_depIdxs,
+ MessageInfos: file_RoguelikeTakeStageFirstPassRewardRsp_proto_msgTypes,
+ }.Build()
+ File_RoguelikeTakeStageFirstPassRewardRsp_proto = out.File
+ file_RoguelikeTakeStageFirstPassRewardRsp_proto_rawDesc = nil
+ file_RoguelikeTakeStageFirstPassRewardRsp_proto_goTypes = nil
+ file_RoguelikeTakeStageFirstPassRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Route.pb.go b/protocol/proto/Route.pb.go
new file mode 100644
index 00000000..746f3802
--- /dev/null
+++ b/protocol/proto/Route.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Route.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Route struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoutePoints []*RoutePoint `protobuf:"bytes,1,rep,name=route_points,json=routePoints,proto3" json:"route_points,omitempty"`
+ RouteType uint32 `protobuf:"varint,2,opt,name=route_type,json=routeType,proto3" json:"route_type,omitempty"`
+}
+
+func (x *Route) Reset() {
+ *x = Route{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Route_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Route) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Route) ProtoMessage() {}
+
+func (x *Route) ProtoReflect() protoreflect.Message {
+ mi := &file_Route_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Route.ProtoReflect.Descriptor instead.
+func (*Route) Descriptor() ([]byte, []int) {
+ return file_Route_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Route) GetRoutePoints() []*RoutePoint {
+ if x != nil {
+ return x.RoutePoints
+ }
+ return nil
+}
+
+func (x *Route) GetRouteType() uint32 {
+ if x != nil {
+ return x.RouteType
+ }
+ return 0
+}
+
+var File_Route_proto protoreflect.FileDescriptor
+
+var file_Route_proto_rawDesc = []byte{
+ 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12,
+ 0x34, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f,
+ 0x75, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Route_proto_rawDescOnce sync.Once
+ file_Route_proto_rawDescData = file_Route_proto_rawDesc
+)
+
+func file_Route_proto_rawDescGZIP() []byte {
+ file_Route_proto_rawDescOnce.Do(func() {
+ file_Route_proto_rawDescData = protoimpl.X.CompressGZIP(file_Route_proto_rawDescData)
+ })
+ return file_Route_proto_rawDescData
+}
+
+var file_Route_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Route_proto_goTypes = []interface{}{
+ (*Route)(nil), // 0: proto.Route
+ (*RoutePoint)(nil), // 1: proto.RoutePoint
+}
+var file_Route_proto_depIdxs = []int32{
+ 1, // 0: proto.Route.route_points:type_name -> proto.RoutePoint
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_Route_proto_init() }
+func file_Route_proto_init() {
+ if File_Route_proto != nil {
+ return
+ }
+ file_RoutePoint_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_Route_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Route); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Route_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Route_proto_goTypes,
+ DependencyIndexes: file_Route_proto_depIdxs,
+ MessageInfos: file_Route_proto_msgTypes,
+ }.Build()
+ File_Route_proto = out.File
+ file_Route_proto_rawDesc = nil
+ file_Route_proto_goTypes = nil
+ file_Route_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoutePoint.pb.go b/protocol/proto/RoutePoint.pb.go
new file mode 100644
index 00000000..d28cc1df
--- /dev/null
+++ b/protocol/proto/RoutePoint.pb.go
@@ -0,0 +1,310 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoutePoint.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RoutePoint struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Position *Vector `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
+ ArriveRange float32 `protobuf:"fixed32,2,opt,name=arrive_range,json=arriveRange,proto3" json:"arrive_range,omitempty"`
+ HasReachEvent bool `protobuf:"varint,3,opt,name=has_reach_event,json=hasReachEvent,proto3" json:"has_reach_event,omitempty"`
+ // Types that are assignable to MoveParams:
+ //
+ // *RoutePoint_Velocity
+ // *RoutePoint_Time
+ MoveParams isRoutePoint_MoveParams `protobuf_oneof:"move_params"`
+ // Types that are assignable to RotateParams:
+ //
+ // *RoutePoint_Rotation
+ // *RoutePoint_RotationSpeed
+ // *RoutePoint_AxisSpeed
+ RotateParams isRoutePoint_RotateParams `protobuf_oneof:"rotate_params"`
+}
+
+func (x *RoutePoint) Reset() {
+ *x = RoutePoint{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoutePoint_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutePoint) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutePoint) ProtoMessage() {}
+
+func (x *RoutePoint) ProtoReflect() protoreflect.Message {
+ mi := &file_RoutePoint_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoutePoint.ProtoReflect.Descriptor instead.
+func (*RoutePoint) Descriptor() ([]byte, []int) {
+ return file_RoutePoint_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoutePoint) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+func (x *RoutePoint) GetArriveRange() float32 {
+ if x != nil {
+ return x.ArriveRange
+ }
+ return 0
+}
+
+func (x *RoutePoint) GetHasReachEvent() bool {
+ if x != nil {
+ return x.HasReachEvent
+ }
+ return false
+}
+
+func (m *RoutePoint) GetMoveParams() isRoutePoint_MoveParams {
+ if m != nil {
+ return m.MoveParams
+ }
+ return nil
+}
+
+func (x *RoutePoint) GetVelocity() float32 {
+ if x, ok := x.GetMoveParams().(*RoutePoint_Velocity); ok {
+ return x.Velocity
+ }
+ return 0
+}
+
+func (x *RoutePoint) GetTime() float32 {
+ if x, ok := x.GetMoveParams().(*RoutePoint_Time); ok {
+ return x.Time
+ }
+ return 0
+}
+
+func (m *RoutePoint) GetRotateParams() isRoutePoint_RotateParams {
+ if m != nil {
+ return m.RotateParams
+ }
+ return nil
+}
+
+func (x *RoutePoint) GetRotation() *Vector {
+ if x, ok := x.GetRotateParams().(*RoutePoint_Rotation); ok {
+ return x.Rotation
+ }
+ return nil
+}
+
+func (x *RoutePoint) GetRotationSpeed() *MathQuaternion {
+ if x, ok := x.GetRotateParams().(*RoutePoint_RotationSpeed); ok {
+ return x.RotationSpeed
+ }
+ return nil
+}
+
+func (x *RoutePoint) GetAxisSpeed() *MathQuaternion {
+ if x, ok := x.GetRotateParams().(*RoutePoint_AxisSpeed); ok {
+ return x.AxisSpeed
+ }
+ return nil
+}
+
+type isRoutePoint_MoveParams interface {
+ isRoutePoint_MoveParams()
+}
+
+type RoutePoint_Velocity struct {
+ Velocity float32 `protobuf:"fixed32,11,opt,name=velocity,proto3,oneof"`
+}
+
+type RoutePoint_Time struct {
+ Time float32 `protobuf:"fixed32,12,opt,name=time,proto3,oneof"`
+}
+
+func (*RoutePoint_Velocity) isRoutePoint_MoveParams() {}
+
+func (*RoutePoint_Time) isRoutePoint_MoveParams() {}
+
+type isRoutePoint_RotateParams interface {
+ isRoutePoint_RotateParams()
+}
+
+type RoutePoint_Rotation struct {
+ Rotation *Vector `protobuf:"bytes,21,opt,name=rotation,proto3,oneof"`
+}
+
+type RoutePoint_RotationSpeed struct {
+ RotationSpeed *MathQuaternion `protobuf:"bytes,22,opt,name=rotation_speed,json=rotationSpeed,proto3,oneof"`
+}
+
+type RoutePoint_AxisSpeed struct {
+ AxisSpeed *MathQuaternion `protobuf:"bytes,23,opt,name=axis_speed,json=axisSpeed,proto3,oneof"`
+}
+
+func (*RoutePoint_Rotation) isRoutePoint_RotateParams() {}
+
+func (*RoutePoint_RotationSpeed) isRoutePoint_RotateParams() {}
+
+func (*RoutePoint_AxisSpeed) isRoutePoint_RotateParams() {}
+
+var File_RoutePoint_proto protoreflect.FileDescriptor
+
+var file_RoutePoint_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4d, 0x61, 0x74, 0x68, 0x51,
+ 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x02,
+ 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x08,
+ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x69, 0x76,
+ 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x61,
+ 0x72, 0x72, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x61,
+ 0x73, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x52, 0x65, 0x61, 0x63, 0x68, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x08, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79,
+ 0x12, 0x14, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00,
+ 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x01, 0x52, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0e, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69,
+ 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0d, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70,
+ 0x65, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x61, 0x78, 0x69, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x65,
+ 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4d, 0x61, 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72, 0x6e, 0x69, 0x6f, 0x6e, 0x48, 0x01,
+ 0x52, 0x09, 0x61, 0x78, 0x69, 0x73, 0x53, 0x70, 0x65, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x6d,
+ 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x72, 0x6f,
+ 0x74, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoutePoint_proto_rawDescOnce sync.Once
+ file_RoutePoint_proto_rawDescData = file_RoutePoint_proto_rawDesc
+)
+
+func file_RoutePoint_proto_rawDescGZIP() []byte {
+ file_RoutePoint_proto_rawDescOnce.Do(func() {
+ file_RoutePoint_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoutePoint_proto_rawDescData)
+ })
+ return file_RoutePoint_proto_rawDescData
+}
+
+var file_RoutePoint_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoutePoint_proto_goTypes = []interface{}{
+ (*RoutePoint)(nil), // 0: proto.RoutePoint
+ (*Vector)(nil), // 1: proto.Vector
+ (*MathQuaternion)(nil), // 2: proto.MathQuaternion
+}
+var file_RoutePoint_proto_depIdxs = []int32{
+ 1, // 0: proto.RoutePoint.position:type_name -> proto.Vector
+ 1, // 1: proto.RoutePoint.rotation:type_name -> proto.Vector
+ 2, // 2: proto.RoutePoint.rotation_speed:type_name -> proto.MathQuaternion
+ 2, // 3: proto.RoutePoint.axis_speed:type_name -> proto.MathQuaternion
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_RoutePoint_proto_init() }
+func file_RoutePoint_proto_init() {
+ if File_RoutePoint_proto != nil {
+ return
+ }
+ file_MathQuaternion_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_RoutePoint_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutePoint); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_RoutePoint_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*RoutePoint_Velocity)(nil),
+ (*RoutePoint_Time)(nil),
+ (*RoutePoint_Rotation)(nil),
+ (*RoutePoint_RotationSpeed)(nil),
+ (*RoutePoint_AxisSpeed)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoutePoint_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoutePoint_proto_goTypes,
+ DependencyIndexes: file_RoutePoint_proto_depIdxs,
+ MessageInfos: file_RoutePoint_proto_msgTypes,
+ }.Build()
+ File_RoutePoint_proto = out.File
+ file_RoutePoint_proto_rawDesc = nil
+ file_RoutePoint_proto_goTypes = nil
+ file_RoutePoint_proto_depIdxs = nil
+}
diff --git a/protocol/proto/RoutePointChangeInfo.pb.go b/protocol/proto/RoutePointChangeInfo.pb.go
new file mode 100644
index 00000000..aff65dc5
--- /dev/null
+++ b/protocol/proto/RoutePointChangeInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: RoutePointChangeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type RoutePointChangeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WaitTime float32 `protobuf:"fixed32,6,opt,name=wait_time,json=waitTime,proto3" json:"wait_time,omitempty"`
+ TargetVelocity float32 `protobuf:"fixed32,14,opt,name=target_velocity,json=targetVelocity,proto3" json:"target_velocity,omitempty"`
+ PointIndex uint32 `protobuf:"varint,11,opt,name=point_index,json=pointIndex,proto3" json:"point_index,omitempty"`
+}
+
+func (x *RoutePointChangeInfo) Reset() {
+ *x = RoutePointChangeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_RoutePointChangeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutePointChangeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutePointChangeInfo) ProtoMessage() {}
+
+func (x *RoutePointChangeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_RoutePointChangeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoutePointChangeInfo.ProtoReflect.Descriptor instead.
+func (*RoutePointChangeInfo) Descriptor() ([]byte, []int) {
+ return file_RoutePointChangeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoutePointChangeInfo) GetWaitTime() float32 {
+ if x != nil {
+ return x.WaitTime
+ }
+ return 0
+}
+
+func (x *RoutePointChangeInfo) GetTargetVelocity() float32 {
+ if x != nil {
+ return x.TargetVelocity
+ }
+ return 0
+}
+
+func (x *RoutePointChangeInfo) GetPointIndex() uint32 {
+ if x != nil {
+ return x.PointIndex
+ }
+ return 0
+}
+
+var File_RoutePointChangeInfo_proto protoreflect.FileDescriptor
+
+var file_RoutePointChangeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x77,
+ 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08,
+ 0x77, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x76, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x6c, 0x6f, 0x63, 0x69, 0x74,
+ 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_RoutePointChangeInfo_proto_rawDescOnce sync.Once
+ file_RoutePointChangeInfo_proto_rawDescData = file_RoutePointChangeInfo_proto_rawDesc
+)
+
+func file_RoutePointChangeInfo_proto_rawDescGZIP() []byte {
+ file_RoutePointChangeInfo_proto_rawDescOnce.Do(func() {
+ file_RoutePointChangeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_RoutePointChangeInfo_proto_rawDescData)
+ })
+ return file_RoutePointChangeInfo_proto_rawDescData
+}
+
+var file_RoutePointChangeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_RoutePointChangeInfo_proto_goTypes = []interface{}{
+ (*RoutePointChangeInfo)(nil), // 0: proto.RoutePointChangeInfo
+}
+var file_RoutePointChangeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_RoutePointChangeInfo_proto_init() }
+func file_RoutePointChangeInfo_proto_init() {
+ if File_RoutePointChangeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_RoutePointChangeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutePointChangeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_RoutePointChangeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_RoutePointChangeInfo_proto_goTypes,
+ DependencyIndexes: file_RoutePointChangeInfo_proto_depIdxs,
+ MessageInfos: file_RoutePointChangeInfo_proto_msgTypes,
+ }.Build()
+ File_RoutePointChangeInfo_proto = out.File
+ file_RoutePointChangeInfo_proto_rawDesc = nil
+ file_RoutePointChangeInfo_proto_goTypes = nil
+ file_RoutePointChangeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalesmanActivityDetailInfo.pb.go b/protocol/proto/SalesmanActivityDetailInfo.pb.go
new file mode 100644
index 00000000..6d1096c3
--- /dev/null
+++ b/protocol/proto/SalesmanActivityDetailInfo.pb.go
@@ -0,0 +1,274 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalesmanActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalesmanActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SpecialRewardPreviewId uint32 `protobuf:"varint,3,opt,name=special_reward_preview_id,json=specialRewardPreviewId,proto3" json:"special_reward_preview_id,omitempty"`
+ Status SalesmanStatusType `protobuf:"varint,4,opt,name=status,proto3,enum=proto.SalesmanStatusType" json:"status,omitempty"`
+ LastDeliverTime uint32 `protobuf:"varint,2,opt,name=last_deliver_time,json=lastDeliverTime,proto3" json:"last_deliver_time,omitempty"`
+ SelectedRewardIdMap map[uint32]uint32 `protobuf:"bytes,5,rep,name=selected_reward_id_map,json=selectedRewardIdMap,proto3" json:"selected_reward_id_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ DeliverCount uint32 `protobuf:"varint,11,opt,name=deliver_count,json=deliverCount,proto3" json:"deliver_count,omitempty"`
+ IsHasTakenSpecialReward bool `protobuf:"varint,7,opt,name=is_has_taken_special_reward,json=isHasTakenSpecialReward,proto3" json:"is_has_taken_special_reward,omitempty"`
+ DayIndex uint32 `protobuf:"varint,12,opt,name=day_index,json=dayIndex,proto3" json:"day_index,omitempty"`
+ CondDayCount uint32 `protobuf:"varint,6,opt,name=cond_day_count,json=condDayCount,proto3" json:"cond_day_count,omitempty"`
+ DayRewardId uint32 `protobuf:"varint,9,opt,name=day_reward_id,json=dayRewardId,proto3" json:"day_reward_id,omitempty"`
+ IsTodayHasDelivered bool `protobuf:"varint,13,opt,name=is_today_has_delivered,json=isTodayHasDelivered,proto3" json:"is_today_has_delivered,omitempty"`
+}
+
+func (x *SalesmanActivityDetailInfo) Reset() {
+ *x = SalesmanActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalesmanActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalesmanActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalesmanActivityDetailInfo) ProtoMessage() {}
+
+func (x *SalesmanActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalesmanActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalesmanActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*SalesmanActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_SalesmanActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalesmanActivityDetailInfo) GetSpecialRewardPreviewId() uint32 {
+ if x != nil {
+ return x.SpecialRewardPreviewId
+ }
+ return 0
+}
+
+func (x *SalesmanActivityDetailInfo) GetStatus() SalesmanStatusType {
+ if x != nil {
+ return x.Status
+ }
+ return SalesmanStatusType_SALESMAN_STATUS_TYPE_NONE
+}
+
+func (x *SalesmanActivityDetailInfo) GetLastDeliverTime() uint32 {
+ if x != nil {
+ return x.LastDeliverTime
+ }
+ return 0
+}
+
+func (x *SalesmanActivityDetailInfo) GetSelectedRewardIdMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SelectedRewardIdMap
+ }
+ return nil
+}
+
+func (x *SalesmanActivityDetailInfo) GetDeliverCount() uint32 {
+ if x != nil {
+ return x.DeliverCount
+ }
+ return 0
+}
+
+func (x *SalesmanActivityDetailInfo) GetIsHasTakenSpecialReward() bool {
+ if x != nil {
+ return x.IsHasTakenSpecialReward
+ }
+ return false
+}
+
+func (x *SalesmanActivityDetailInfo) GetDayIndex() uint32 {
+ if x != nil {
+ return x.DayIndex
+ }
+ return 0
+}
+
+func (x *SalesmanActivityDetailInfo) GetCondDayCount() uint32 {
+ if x != nil {
+ return x.CondDayCount
+ }
+ return 0
+}
+
+func (x *SalesmanActivityDetailInfo) GetDayRewardId() uint32 {
+ if x != nil {
+ return x.DayRewardId
+ }
+ return 0
+}
+
+func (x *SalesmanActivityDetailInfo) GetIsTodayHasDelivered() bool {
+ if x != nil {
+ return x.IsTodayHasDelivered
+ }
+ return false
+}
+
+var File_SalesmanActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_SalesmanActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x53, 0x61, 0x6c, 0x65, 0x73,
+ 0x6d, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x04, 0x0a, 0x1a, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x19, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, 0x31, 0x0a,
+ 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x61, 0x73,
+ 0x74, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x6f, 0x0a, 0x16,
+ 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x23, 0x0a,
+ 0x0d, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x1b, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x61, 0x6b,
+ 0x65, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x48, 0x61, 0x73, 0x54, 0x61,
+ 0x6b, 0x65, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x0a,
+ 0x0e, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x64, 0x44, 0x61, 0x79, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x64, 0x61, 0x79, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x74, 0x6f,
+ 0x64, 0x61, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x54, 0x6f, 0x64, 0x61, 0x79,
+ 0x48, 0x61, 0x73, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x65, 0x64, 0x1a, 0x46, 0x0a, 0x18,
+ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalesmanActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_SalesmanActivityDetailInfo_proto_rawDescData = file_SalesmanActivityDetailInfo_proto_rawDesc
+)
+
+func file_SalesmanActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_SalesmanActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_SalesmanActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalesmanActivityDetailInfo_proto_rawDescData)
+ })
+ return file_SalesmanActivityDetailInfo_proto_rawDescData
+}
+
+var file_SalesmanActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SalesmanActivityDetailInfo_proto_goTypes = []interface{}{
+ (*SalesmanActivityDetailInfo)(nil), // 0: proto.SalesmanActivityDetailInfo
+ nil, // 1: proto.SalesmanActivityDetailInfo.SelectedRewardIdMapEntry
+ (SalesmanStatusType)(0), // 2: proto.SalesmanStatusType
+}
+var file_SalesmanActivityDetailInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.SalesmanActivityDetailInfo.status:type_name -> proto.SalesmanStatusType
+ 1, // 1: proto.SalesmanActivityDetailInfo.selected_reward_id_map:type_name -> proto.SalesmanActivityDetailInfo.SelectedRewardIdMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SalesmanActivityDetailInfo_proto_init() }
+func file_SalesmanActivityDetailInfo_proto_init() {
+ if File_SalesmanActivityDetailInfo_proto != nil {
+ return
+ }
+ file_SalesmanStatusType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalesmanActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalesmanActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalesmanActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalesmanActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_SalesmanActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_SalesmanActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_SalesmanActivityDetailInfo_proto = out.File
+ file_SalesmanActivityDetailInfo_proto_rawDesc = nil
+ file_SalesmanActivityDetailInfo_proto_goTypes = nil
+ file_SalesmanActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalesmanDeliverItemReq.pb.go b/protocol/proto/SalesmanDeliverItemReq.pb.go
new file mode 100644
index 00000000..bd732fbc
--- /dev/null
+++ b/protocol/proto/SalesmanDeliverItemReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalesmanDeliverItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2138
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SalesmanDeliverItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,4,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *SalesmanDeliverItemReq) Reset() {
+ *x = SalesmanDeliverItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalesmanDeliverItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalesmanDeliverItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalesmanDeliverItemReq) ProtoMessage() {}
+
+func (x *SalesmanDeliverItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SalesmanDeliverItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalesmanDeliverItemReq.ProtoReflect.Descriptor instead.
+func (*SalesmanDeliverItemReq) Descriptor() ([]byte, []int) {
+ return file_SalesmanDeliverItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalesmanDeliverItemReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_SalesmanDeliverItemReq_proto protoreflect.FileDescriptor
+
+var file_SalesmanDeliverItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65,
+ 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x16, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61,
+ 0x6e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalesmanDeliverItemReq_proto_rawDescOnce sync.Once
+ file_SalesmanDeliverItemReq_proto_rawDescData = file_SalesmanDeliverItemReq_proto_rawDesc
+)
+
+func file_SalesmanDeliverItemReq_proto_rawDescGZIP() []byte {
+ file_SalesmanDeliverItemReq_proto_rawDescOnce.Do(func() {
+ file_SalesmanDeliverItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalesmanDeliverItemReq_proto_rawDescData)
+ })
+ return file_SalesmanDeliverItemReq_proto_rawDescData
+}
+
+var file_SalesmanDeliverItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalesmanDeliverItemReq_proto_goTypes = []interface{}{
+ (*SalesmanDeliverItemReq)(nil), // 0: proto.SalesmanDeliverItemReq
+}
+var file_SalesmanDeliverItemReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalesmanDeliverItemReq_proto_init() }
+func file_SalesmanDeliverItemReq_proto_init() {
+ if File_SalesmanDeliverItemReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalesmanDeliverItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalesmanDeliverItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalesmanDeliverItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalesmanDeliverItemReq_proto_goTypes,
+ DependencyIndexes: file_SalesmanDeliverItemReq_proto_depIdxs,
+ MessageInfos: file_SalesmanDeliverItemReq_proto_msgTypes,
+ }.Build()
+ File_SalesmanDeliverItemReq_proto = out.File
+ file_SalesmanDeliverItemReq_proto_rawDesc = nil
+ file_SalesmanDeliverItemReq_proto_goTypes = nil
+ file_SalesmanDeliverItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalesmanDeliverItemRsp.pb.go b/protocol/proto/SalesmanDeliverItemRsp.pb.go
new file mode 100644
index 00000000..f56fe5ce
--- /dev/null
+++ b/protocol/proto/SalesmanDeliverItemRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalesmanDeliverItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2104
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SalesmanDeliverItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,9,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SalesmanDeliverItemRsp) Reset() {
+ *x = SalesmanDeliverItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalesmanDeliverItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalesmanDeliverItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalesmanDeliverItemRsp) ProtoMessage() {}
+
+func (x *SalesmanDeliverItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SalesmanDeliverItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalesmanDeliverItemRsp.ProtoReflect.Descriptor instead.
+func (*SalesmanDeliverItemRsp) Descriptor() ([]byte, []int) {
+ return file_SalesmanDeliverItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalesmanDeliverItemRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *SalesmanDeliverItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SalesmanDeliverItemRsp_proto protoreflect.FileDescriptor
+
+var file_SalesmanDeliverItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65,
+ 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61,
+ 0x6e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalesmanDeliverItemRsp_proto_rawDescOnce sync.Once
+ file_SalesmanDeliverItemRsp_proto_rawDescData = file_SalesmanDeliverItemRsp_proto_rawDesc
+)
+
+func file_SalesmanDeliverItemRsp_proto_rawDescGZIP() []byte {
+ file_SalesmanDeliverItemRsp_proto_rawDescOnce.Do(func() {
+ file_SalesmanDeliverItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalesmanDeliverItemRsp_proto_rawDescData)
+ })
+ return file_SalesmanDeliverItemRsp_proto_rawDescData
+}
+
+var file_SalesmanDeliverItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalesmanDeliverItemRsp_proto_goTypes = []interface{}{
+ (*SalesmanDeliverItemRsp)(nil), // 0: proto.SalesmanDeliverItemRsp
+}
+var file_SalesmanDeliverItemRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalesmanDeliverItemRsp_proto_init() }
+func file_SalesmanDeliverItemRsp_proto_init() {
+ if File_SalesmanDeliverItemRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalesmanDeliverItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalesmanDeliverItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalesmanDeliverItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalesmanDeliverItemRsp_proto_goTypes,
+ DependencyIndexes: file_SalesmanDeliverItemRsp_proto_depIdxs,
+ MessageInfos: file_SalesmanDeliverItemRsp_proto_msgTypes,
+ }.Build()
+ File_SalesmanDeliverItemRsp_proto = out.File
+ file_SalesmanDeliverItemRsp_proto_rawDesc = nil
+ file_SalesmanDeliverItemRsp_proto_goTypes = nil
+ file_SalesmanDeliverItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalesmanStatusType.pb.go b/protocol/proto/SalesmanStatusType.pb.go
new file mode 100644
index 00000000..463f7227
--- /dev/null
+++ b/protocol/proto/SalesmanStatusType.pb.go
@@ -0,0 +1,157 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalesmanStatusType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalesmanStatusType int32
+
+const (
+ SalesmanStatusType_SALESMAN_STATUS_TYPE_NONE SalesmanStatusType = 0
+ SalesmanStatusType_SALESMAN_STATUS_TYPE_UNSTARTED SalesmanStatusType = 1
+ SalesmanStatusType_SALESMAN_STATUS_TYPE_STARTED SalesmanStatusType = 2
+ SalesmanStatusType_SALESMAN_STATUS_TYPE_DELIVERED SalesmanStatusType = 3
+)
+
+// Enum value maps for SalesmanStatusType.
+var (
+ SalesmanStatusType_name = map[int32]string{
+ 0: "SALESMAN_STATUS_TYPE_NONE",
+ 1: "SALESMAN_STATUS_TYPE_UNSTARTED",
+ 2: "SALESMAN_STATUS_TYPE_STARTED",
+ 3: "SALESMAN_STATUS_TYPE_DELIVERED",
+ }
+ SalesmanStatusType_value = map[string]int32{
+ "SALESMAN_STATUS_TYPE_NONE": 0,
+ "SALESMAN_STATUS_TYPE_UNSTARTED": 1,
+ "SALESMAN_STATUS_TYPE_STARTED": 2,
+ "SALESMAN_STATUS_TYPE_DELIVERED": 3,
+ }
+)
+
+func (x SalesmanStatusType) Enum() *SalesmanStatusType {
+ p := new(SalesmanStatusType)
+ *p = x
+ return p
+}
+
+func (x SalesmanStatusType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SalesmanStatusType) Descriptor() protoreflect.EnumDescriptor {
+ return file_SalesmanStatusType_proto_enumTypes[0].Descriptor()
+}
+
+func (SalesmanStatusType) Type() protoreflect.EnumType {
+ return &file_SalesmanStatusType_proto_enumTypes[0]
+}
+
+func (x SalesmanStatusType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SalesmanStatusType.Descriptor instead.
+func (SalesmanStatusType) EnumDescriptor() ([]byte, []int) {
+ return file_SalesmanStatusType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SalesmanStatusType_proto protoreflect.FileDescriptor
+
+var file_SalesmanStatusType_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2a, 0x9d, 0x01, 0x0a, 0x12, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x41, 0x4c, 0x45,
+ 0x53, 0x4d, 0x41, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x41, 0x4c, 0x45, 0x53,
+ 0x4d, 0x41, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x55, 0x4e, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x53,
+ 0x41, 0x4c, 0x45, 0x53, 0x4d, 0x41, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x22, 0x0a,
+ 0x1e, 0x53, 0x41, 0x4c, 0x45, 0x53, 0x4d, 0x41, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x45, 0x44, 0x10,
+ 0x03, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalesmanStatusType_proto_rawDescOnce sync.Once
+ file_SalesmanStatusType_proto_rawDescData = file_SalesmanStatusType_proto_rawDesc
+)
+
+func file_SalesmanStatusType_proto_rawDescGZIP() []byte {
+ file_SalesmanStatusType_proto_rawDescOnce.Do(func() {
+ file_SalesmanStatusType_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalesmanStatusType_proto_rawDescData)
+ })
+ return file_SalesmanStatusType_proto_rawDescData
+}
+
+var file_SalesmanStatusType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_SalesmanStatusType_proto_goTypes = []interface{}{
+ (SalesmanStatusType)(0), // 0: proto.SalesmanStatusType
+}
+var file_SalesmanStatusType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalesmanStatusType_proto_init() }
+func file_SalesmanStatusType_proto_init() {
+ if File_SalesmanStatusType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalesmanStatusType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalesmanStatusType_proto_goTypes,
+ DependencyIndexes: file_SalesmanStatusType_proto_depIdxs,
+ EnumInfos: file_SalesmanStatusType_proto_enumTypes,
+ }.Build()
+ File_SalesmanStatusType_proto = out.File
+ file_SalesmanStatusType_proto_rawDesc = nil
+ file_SalesmanStatusType_proto_goTypes = nil
+ file_SalesmanStatusType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalesmanTakeRewardReq.pb.go b/protocol/proto/SalesmanTakeRewardReq.pb.go
new file mode 100644
index 00000000..2d637bb5
--- /dev/null
+++ b/protocol/proto/SalesmanTakeRewardReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalesmanTakeRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2191
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SalesmanTakeRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Position uint32 `protobuf:"varint,8,opt,name=position,proto3" json:"position,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,7,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *SalesmanTakeRewardReq) Reset() {
+ *x = SalesmanTakeRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalesmanTakeRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalesmanTakeRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalesmanTakeRewardReq) ProtoMessage() {}
+
+func (x *SalesmanTakeRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SalesmanTakeRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalesmanTakeRewardReq.ProtoReflect.Descriptor instead.
+func (*SalesmanTakeRewardReq) Descriptor() ([]byte, []int) {
+ return file_SalesmanTakeRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalesmanTakeRewardReq) GetPosition() uint32 {
+ if x != nil {
+ return x.Position
+ }
+ return 0
+}
+
+func (x *SalesmanTakeRewardReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_SalesmanTakeRewardReq_proto protoreflect.FileDescriptor
+
+var file_SalesmanTakeRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x15, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e,
+ 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a,
+ 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalesmanTakeRewardReq_proto_rawDescOnce sync.Once
+ file_SalesmanTakeRewardReq_proto_rawDescData = file_SalesmanTakeRewardReq_proto_rawDesc
+)
+
+func file_SalesmanTakeRewardReq_proto_rawDescGZIP() []byte {
+ file_SalesmanTakeRewardReq_proto_rawDescOnce.Do(func() {
+ file_SalesmanTakeRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalesmanTakeRewardReq_proto_rawDescData)
+ })
+ return file_SalesmanTakeRewardReq_proto_rawDescData
+}
+
+var file_SalesmanTakeRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalesmanTakeRewardReq_proto_goTypes = []interface{}{
+ (*SalesmanTakeRewardReq)(nil), // 0: proto.SalesmanTakeRewardReq
+}
+var file_SalesmanTakeRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalesmanTakeRewardReq_proto_init() }
+func file_SalesmanTakeRewardReq_proto_init() {
+ if File_SalesmanTakeRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalesmanTakeRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalesmanTakeRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalesmanTakeRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalesmanTakeRewardReq_proto_goTypes,
+ DependencyIndexes: file_SalesmanTakeRewardReq_proto_depIdxs,
+ MessageInfos: file_SalesmanTakeRewardReq_proto_msgTypes,
+ }.Build()
+ File_SalesmanTakeRewardReq_proto = out.File
+ file_SalesmanTakeRewardReq_proto_rawDesc = nil
+ file_SalesmanTakeRewardReq_proto_goTypes = nil
+ file_SalesmanTakeRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalesmanTakeRewardRsp.pb.go b/protocol/proto/SalesmanTakeRewardRsp.pb.go
new file mode 100644
index 00000000..98d3e7d2
--- /dev/null
+++ b/protocol/proto/SalesmanTakeRewardRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalesmanTakeRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2110
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SalesmanTakeRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Position uint32 `protobuf:"varint,13,opt,name=position,proto3" json:"position,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,7,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ RewardId uint32 `protobuf:"varint,9,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SalesmanTakeRewardRsp) Reset() {
+ *x = SalesmanTakeRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalesmanTakeRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalesmanTakeRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalesmanTakeRewardRsp) ProtoMessage() {}
+
+func (x *SalesmanTakeRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SalesmanTakeRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalesmanTakeRewardRsp.ProtoReflect.Descriptor instead.
+func (*SalesmanTakeRewardRsp) Descriptor() ([]byte, []int) {
+ return file_SalesmanTakeRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalesmanTakeRewardRsp) GetPosition() uint32 {
+ if x != nil {
+ return x.Position
+ }
+ return 0
+}
+
+func (x *SalesmanTakeRewardRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *SalesmanTakeRewardRsp) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *SalesmanTakeRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SalesmanTakeRewardRsp_proto protoreflect.FileDescriptor
+
+var file_SalesmanTakeRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x15, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61,
+ 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1a,
+ 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalesmanTakeRewardRsp_proto_rawDescOnce sync.Once
+ file_SalesmanTakeRewardRsp_proto_rawDescData = file_SalesmanTakeRewardRsp_proto_rawDesc
+)
+
+func file_SalesmanTakeRewardRsp_proto_rawDescGZIP() []byte {
+ file_SalesmanTakeRewardRsp_proto_rawDescOnce.Do(func() {
+ file_SalesmanTakeRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalesmanTakeRewardRsp_proto_rawDescData)
+ })
+ return file_SalesmanTakeRewardRsp_proto_rawDescData
+}
+
+var file_SalesmanTakeRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalesmanTakeRewardRsp_proto_goTypes = []interface{}{
+ (*SalesmanTakeRewardRsp)(nil), // 0: proto.SalesmanTakeRewardRsp
+}
+var file_SalesmanTakeRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalesmanTakeRewardRsp_proto_init() }
+func file_SalesmanTakeRewardRsp_proto_init() {
+ if File_SalesmanTakeRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalesmanTakeRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalesmanTakeRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalesmanTakeRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalesmanTakeRewardRsp_proto_goTypes,
+ DependencyIndexes: file_SalesmanTakeRewardRsp_proto_depIdxs,
+ MessageInfos: file_SalesmanTakeRewardRsp_proto_msgTypes,
+ }.Build()
+ File_SalesmanTakeRewardRsp_proto = out.File
+ file_SalesmanTakeRewardRsp_proto_rawDesc = nil
+ file_SalesmanTakeRewardRsp_proto_goTypes = nil
+ file_SalesmanTakeRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalesmanTakeSpecialRewardReq.pb.go b/protocol/proto/SalesmanTakeSpecialRewardReq.pb.go
new file mode 100644
index 00000000..cd0f2fa6
--- /dev/null
+++ b/protocol/proto/SalesmanTakeSpecialRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalesmanTakeSpecialRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2145
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SalesmanTakeSpecialRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,13,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *SalesmanTakeSpecialRewardReq) Reset() {
+ *x = SalesmanTakeSpecialRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalesmanTakeSpecialRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalesmanTakeSpecialRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalesmanTakeSpecialRewardReq) ProtoMessage() {}
+
+func (x *SalesmanTakeSpecialRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SalesmanTakeSpecialRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalesmanTakeSpecialRewardReq.ProtoReflect.Descriptor instead.
+func (*SalesmanTakeSpecialRewardReq) Descriptor() ([]byte, []int) {
+ return file_SalesmanTakeSpecialRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalesmanTakeSpecialRewardReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_SalesmanTakeSpecialRewardReq_proto protoreflect.FileDescriptor
+
+var file_SalesmanTakeSpecialRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x70,
+ 0x65, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x1c, 0x53,
+ 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69,
+ 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
+ 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalesmanTakeSpecialRewardReq_proto_rawDescOnce sync.Once
+ file_SalesmanTakeSpecialRewardReq_proto_rawDescData = file_SalesmanTakeSpecialRewardReq_proto_rawDesc
+)
+
+func file_SalesmanTakeSpecialRewardReq_proto_rawDescGZIP() []byte {
+ file_SalesmanTakeSpecialRewardReq_proto_rawDescOnce.Do(func() {
+ file_SalesmanTakeSpecialRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalesmanTakeSpecialRewardReq_proto_rawDescData)
+ })
+ return file_SalesmanTakeSpecialRewardReq_proto_rawDescData
+}
+
+var file_SalesmanTakeSpecialRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalesmanTakeSpecialRewardReq_proto_goTypes = []interface{}{
+ (*SalesmanTakeSpecialRewardReq)(nil), // 0: proto.SalesmanTakeSpecialRewardReq
+}
+var file_SalesmanTakeSpecialRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalesmanTakeSpecialRewardReq_proto_init() }
+func file_SalesmanTakeSpecialRewardReq_proto_init() {
+ if File_SalesmanTakeSpecialRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalesmanTakeSpecialRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalesmanTakeSpecialRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalesmanTakeSpecialRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalesmanTakeSpecialRewardReq_proto_goTypes,
+ DependencyIndexes: file_SalesmanTakeSpecialRewardReq_proto_depIdxs,
+ MessageInfos: file_SalesmanTakeSpecialRewardReq_proto_msgTypes,
+ }.Build()
+ File_SalesmanTakeSpecialRewardReq_proto = out.File
+ file_SalesmanTakeSpecialRewardReq_proto_rawDesc = nil
+ file_SalesmanTakeSpecialRewardReq_proto_goTypes = nil
+ file_SalesmanTakeSpecialRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalesmanTakeSpecialRewardRsp.pb.go b/protocol/proto/SalesmanTakeSpecialRewardRsp.pb.go
new file mode 100644
index 00000000..15dd70a7
--- /dev/null
+++ b/protocol/proto/SalesmanTakeSpecialRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalesmanTakeSpecialRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2124
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SalesmanTakeSpecialRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,5,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *SalesmanTakeSpecialRewardRsp) Reset() {
+ *x = SalesmanTakeSpecialRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalesmanTakeSpecialRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalesmanTakeSpecialRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalesmanTakeSpecialRewardRsp) ProtoMessage() {}
+
+func (x *SalesmanTakeSpecialRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SalesmanTakeSpecialRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalesmanTakeSpecialRewardRsp.ProtoReflect.Descriptor instead.
+func (*SalesmanTakeSpecialRewardRsp) Descriptor() ([]byte, []int) {
+ return file_SalesmanTakeSpecialRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalesmanTakeSpecialRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SalesmanTakeSpecialRewardRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_SalesmanTakeSpecialRewardRsp_proto protoreflect.FileDescriptor
+
+var file_SalesmanTakeSpecialRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x70,
+ 0x65, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1c, 0x53,
+ 0x61, 0x6c, 0x65, 0x73, 0x6d, 0x61, 0x6e, 0x54, 0x61, 0x6b, 0x65, 0x53, 0x70, 0x65, 0x63, 0x69,
+ 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalesmanTakeSpecialRewardRsp_proto_rawDescOnce sync.Once
+ file_SalesmanTakeSpecialRewardRsp_proto_rawDescData = file_SalesmanTakeSpecialRewardRsp_proto_rawDesc
+)
+
+func file_SalesmanTakeSpecialRewardRsp_proto_rawDescGZIP() []byte {
+ file_SalesmanTakeSpecialRewardRsp_proto_rawDescOnce.Do(func() {
+ file_SalesmanTakeSpecialRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalesmanTakeSpecialRewardRsp_proto_rawDescData)
+ })
+ return file_SalesmanTakeSpecialRewardRsp_proto_rawDescData
+}
+
+var file_SalesmanTakeSpecialRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalesmanTakeSpecialRewardRsp_proto_goTypes = []interface{}{
+ (*SalesmanTakeSpecialRewardRsp)(nil), // 0: proto.SalesmanTakeSpecialRewardRsp
+}
+var file_SalesmanTakeSpecialRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalesmanTakeSpecialRewardRsp_proto_init() }
+func file_SalesmanTakeSpecialRewardRsp_proto_init() {
+ if File_SalesmanTakeSpecialRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalesmanTakeSpecialRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalesmanTakeSpecialRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalesmanTakeSpecialRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalesmanTakeSpecialRewardRsp_proto_goTypes,
+ DependencyIndexes: file_SalesmanTakeSpecialRewardRsp_proto_depIdxs,
+ MessageInfos: file_SalesmanTakeSpecialRewardRsp_proto_msgTypes,
+ }.Build()
+ File_SalesmanTakeSpecialRewardRsp_proto = out.File
+ file_SalesmanTakeSpecialRewardRsp_proto_rawDesc = nil
+ file_SalesmanTakeSpecialRewardRsp_proto_goTypes = nil
+ file_SalesmanTakeSpecialRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageBundleChallengeInfo.pb.go b/protocol/proto/SalvageBundleChallengeInfo.pb.go
new file mode 100644
index 00000000..3767786b
--- /dev/null
+++ b/protocol/proto/SalvageBundleChallengeInfo.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageBundleChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvageBundleChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinishedBundleList []uint32 `protobuf:"varint,13,rep,packed,name=finished_bundle_list,json=finishedBundleList,proto3" json:"finished_bundle_list,omitempty"`
+}
+
+func (x *SalvageBundleChallengeInfo) Reset() {
+ *x = SalvageBundleChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageBundleChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageBundleChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageBundleChallengeInfo) ProtoMessage() {}
+
+func (x *SalvageBundleChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageBundleChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageBundleChallengeInfo.ProtoReflect.Descriptor instead.
+func (*SalvageBundleChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_SalvageBundleChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageBundleChallengeInfo) GetFinishedBundleList() []uint32 {
+ if x != nil {
+ return x.FinishedBundleList
+ }
+ return nil
+}
+
+var File_SalvageBundleChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_SalvageBundleChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x1a, 0x53, 0x61, 0x6c,
+ 0x76, 0x61, 0x67, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42,
+ 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageBundleChallengeInfo_proto_rawDescOnce sync.Once
+ file_SalvageBundleChallengeInfo_proto_rawDescData = file_SalvageBundleChallengeInfo_proto_rawDesc
+)
+
+func file_SalvageBundleChallengeInfo_proto_rawDescGZIP() []byte {
+ file_SalvageBundleChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_SalvageBundleChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageBundleChallengeInfo_proto_rawDescData)
+ })
+ return file_SalvageBundleChallengeInfo_proto_rawDescData
+}
+
+var file_SalvageBundleChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageBundleChallengeInfo_proto_goTypes = []interface{}{
+ (*SalvageBundleChallengeInfo)(nil), // 0: proto.SalvageBundleChallengeInfo
+}
+var file_SalvageBundleChallengeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalvageBundleChallengeInfo_proto_init() }
+func file_SalvageBundleChallengeInfo_proto_init() {
+ if File_SalvageBundleChallengeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageBundleChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageBundleChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageBundleChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageBundleChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_SalvageBundleChallengeInfo_proto_depIdxs,
+ MessageInfos: file_SalvageBundleChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_SalvageBundleChallengeInfo_proto = out.File
+ file_SalvageBundleChallengeInfo_proto_rawDesc = nil
+ file_SalvageBundleChallengeInfo_proto_goTypes = nil
+ file_SalvageBundleChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageChallengeInfo.pb.go b/protocol/proto/SalvageChallengeInfo.pb.go
new file mode 100644
index 00000000..791cdf34
--- /dev/null
+++ b/protocol/proto/SalvageChallengeInfo.pb.go
@@ -0,0 +1,255 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvageChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeType uint32 `protobuf:"varint,5,opt,name=challenge_type,json=challengeType,proto3" json:"challenge_type,omitempty"`
+ IsUnlock bool `protobuf:"varint,12,opt,name=is_unlock,json=isUnlock,proto3" json:"is_unlock,omitempty"`
+ // Types that are assignable to ChallengeDetail:
+ //
+ // *SalvageChallengeInfo_BundleInfo
+ // *SalvageChallengeInfo_ScoreChallengeInfo
+ // *SalvageChallengeInfo_BossChallengeId
+ ChallengeDetail isSalvageChallengeInfo_ChallengeDetail `protobuf_oneof:"challenge_detail"`
+}
+
+func (x *SalvageChallengeInfo) Reset() {
+ *x = SalvageChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageChallengeInfo) ProtoMessage() {}
+
+func (x *SalvageChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageChallengeInfo.ProtoReflect.Descriptor instead.
+func (*SalvageChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_SalvageChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageChallengeInfo) GetChallengeType() uint32 {
+ if x != nil {
+ return x.ChallengeType
+ }
+ return 0
+}
+
+func (x *SalvageChallengeInfo) GetIsUnlock() bool {
+ if x != nil {
+ return x.IsUnlock
+ }
+ return false
+}
+
+func (m *SalvageChallengeInfo) GetChallengeDetail() isSalvageChallengeInfo_ChallengeDetail {
+ if m != nil {
+ return m.ChallengeDetail
+ }
+ return nil
+}
+
+func (x *SalvageChallengeInfo) GetBundleInfo() *SalvageBundleChallengeInfo {
+ if x, ok := x.GetChallengeDetail().(*SalvageChallengeInfo_BundleInfo); ok {
+ return x.BundleInfo
+ }
+ return nil
+}
+
+func (x *SalvageChallengeInfo) GetScoreChallengeInfo() *SalvageScoreChallengeInfo {
+ if x, ok := x.GetChallengeDetail().(*SalvageChallengeInfo_ScoreChallengeInfo); ok {
+ return x.ScoreChallengeInfo
+ }
+ return nil
+}
+
+func (x *SalvageChallengeInfo) GetBossChallengeId() uint32 {
+ if x, ok := x.GetChallengeDetail().(*SalvageChallengeInfo_BossChallengeId); ok {
+ return x.BossChallengeId
+ }
+ return 0
+}
+
+type isSalvageChallengeInfo_ChallengeDetail interface {
+ isSalvageChallengeInfo_ChallengeDetail()
+}
+
+type SalvageChallengeInfo_BundleInfo struct {
+ BundleInfo *SalvageBundleChallengeInfo `protobuf:"bytes,11,opt,name=bundle_info,json=bundleInfo,proto3,oneof"`
+}
+
+type SalvageChallengeInfo_ScoreChallengeInfo struct {
+ ScoreChallengeInfo *SalvageScoreChallengeInfo `protobuf:"bytes,13,opt,name=score_challenge_info,json=scoreChallengeInfo,proto3,oneof"`
+}
+
+type SalvageChallengeInfo_BossChallengeId struct {
+ BossChallengeId uint32 `protobuf:"varint,2,opt,name=boss_challenge_id,json=bossChallengeId,proto3,oneof"`
+}
+
+func (*SalvageChallengeInfo_BundleInfo) isSalvageChallengeInfo_ChallengeDetail() {}
+
+func (*SalvageChallengeInfo_ScoreChallengeInfo) isSalvageChallengeInfo_ChallengeDetail() {}
+
+func (*SalvageChallengeInfo_BossChallengeId) isSalvageChallengeInfo_ChallengeDetail() {}
+
+var File_SalvageChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_SalvageChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x42, 0x75, 0x6e, 0x64,
+ 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x02, 0x0a, 0x14, 0x53, 0x61, 0x6c, 0x76, 0x61,
+ 0x67, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x75, 0x6e, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x55, 0x6e, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x12, 0x44, 0x0a, 0x0b, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x62,
+ 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x14, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x2c, 0x0a, 0x11, 0x62, 0x6f, 0x73, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x6f,
+ 0x73, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x12, 0x0a,
+ 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageChallengeInfo_proto_rawDescOnce sync.Once
+ file_SalvageChallengeInfo_proto_rawDescData = file_SalvageChallengeInfo_proto_rawDesc
+)
+
+func file_SalvageChallengeInfo_proto_rawDescGZIP() []byte {
+ file_SalvageChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_SalvageChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageChallengeInfo_proto_rawDescData)
+ })
+ return file_SalvageChallengeInfo_proto_rawDescData
+}
+
+var file_SalvageChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageChallengeInfo_proto_goTypes = []interface{}{
+ (*SalvageChallengeInfo)(nil), // 0: proto.SalvageChallengeInfo
+ (*SalvageBundleChallengeInfo)(nil), // 1: proto.SalvageBundleChallengeInfo
+ (*SalvageScoreChallengeInfo)(nil), // 2: proto.SalvageScoreChallengeInfo
+}
+var file_SalvageChallengeInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SalvageChallengeInfo.bundle_info:type_name -> proto.SalvageBundleChallengeInfo
+ 2, // 1: proto.SalvageChallengeInfo.score_challenge_info:type_name -> proto.SalvageScoreChallengeInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SalvageChallengeInfo_proto_init() }
+func file_SalvageChallengeInfo_proto_init() {
+ if File_SalvageChallengeInfo_proto != nil {
+ return
+ }
+ file_SalvageBundleChallengeInfo_proto_init()
+ file_SalvageScoreChallengeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_SalvageChallengeInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*SalvageChallengeInfo_BundleInfo)(nil),
+ (*SalvageChallengeInfo_ScoreChallengeInfo)(nil),
+ (*SalvageChallengeInfo_BossChallengeId)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_SalvageChallengeInfo_proto_depIdxs,
+ MessageInfos: file_SalvageChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_SalvageChallengeInfo_proto = out.File
+ file_SalvageChallengeInfo_proto_rawDesc = nil
+ file_SalvageChallengeInfo_proto_goTypes = nil
+ file_SalvageChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageEscortGallerySettleInfo.pb.go b/protocol/proto/SalvageEscortGallerySettleInfo.pb.go
new file mode 100644
index 00000000..ce0fc13b
--- /dev/null
+++ b/protocol/proto/SalvageEscortGallerySettleInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageEscortGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvageEscortGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TimeRemain uint32 `protobuf:"varint,14,opt,name=time_remain,json=timeRemain,proto3" json:"time_remain,omitempty"`
+ Reason SalvageEscortStopReason `protobuf:"varint,7,opt,name=reason,proto3,enum=proto.SalvageEscortStopReason" json:"reason,omitempty"`
+}
+
+func (x *SalvageEscortGallerySettleInfo) Reset() {
+ *x = SalvageEscortGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageEscortGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageEscortGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageEscortGallerySettleInfo) ProtoMessage() {}
+
+func (x *SalvageEscortGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageEscortGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageEscortGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*SalvageEscortGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_SalvageEscortGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageEscortGallerySettleInfo) GetTimeRemain() uint32 {
+ if x != nil {
+ return x.TimeRemain
+ }
+ return 0
+}
+
+func (x *SalvageEscortGallerySettleInfo) GetReason() SalvageEscortStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return SalvageEscortStopReason_SALVAGE_ESCORT_STOP_REASON_NONE
+}
+
+var File_SalvageEscortGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_SalvageEscortGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x53,
+ 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x70,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x1e,
+ 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x12,
+ 0x36, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45,
+ 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52,
+ 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageEscortGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_SalvageEscortGallerySettleInfo_proto_rawDescData = file_SalvageEscortGallerySettleInfo_proto_rawDesc
+)
+
+func file_SalvageEscortGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_SalvageEscortGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_SalvageEscortGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageEscortGallerySettleInfo_proto_rawDescData)
+ })
+ return file_SalvageEscortGallerySettleInfo_proto_rawDescData
+}
+
+var file_SalvageEscortGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageEscortGallerySettleInfo_proto_goTypes = []interface{}{
+ (*SalvageEscortGallerySettleInfo)(nil), // 0: proto.SalvageEscortGallerySettleInfo
+ (SalvageEscortStopReason)(0), // 1: proto.SalvageEscortStopReason
+}
+var file_SalvageEscortGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SalvageEscortGallerySettleInfo.reason:type_name -> proto.SalvageEscortStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SalvageEscortGallerySettleInfo_proto_init() }
+func file_SalvageEscortGallerySettleInfo_proto_init() {
+ if File_SalvageEscortGallerySettleInfo_proto != nil {
+ return
+ }
+ file_SalvageEscortStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageEscortGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageEscortGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageEscortGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageEscortGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_SalvageEscortGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_SalvageEscortGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_SalvageEscortGallerySettleInfo_proto = out.File
+ file_SalvageEscortGallerySettleInfo_proto_rawDesc = nil
+ file_SalvageEscortGallerySettleInfo_proto_goTypes = nil
+ file_SalvageEscortGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageEscortRestartReq.pb.go b/protocol/proto/SalvageEscortRestartReq.pb.go
new file mode 100644
index 00000000..4bddf69c
--- /dev/null
+++ b/protocol/proto/SalvageEscortRestartReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageEscortRestartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8396
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SalvageEscortRestartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,4,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *SalvageEscortRestartReq) Reset() {
+ *x = SalvageEscortRestartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageEscortRestartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageEscortRestartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageEscortRestartReq) ProtoMessage() {}
+
+func (x *SalvageEscortRestartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageEscortRestartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageEscortRestartReq.ProtoReflect.Descriptor instead.
+func (*SalvageEscortRestartReq) Descriptor() ([]byte, []int) {
+ return file_SalvageEscortRestartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageEscortRestartReq) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_SalvageEscortRestartReq_proto protoreflect.FileDescriptor
+
+var file_SalvageEscortRestartReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x17, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67,
+ 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageEscortRestartReq_proto_rawDescOnce sync.Once
+ file_SalvageEscortRestartReq_proto_rawDescData = file_SalvageEscortRestartReq_proto_rawDesc
+)
+
+func file_SalvageEscortRestartReq_proto_rawDescGZIP() []byte {
+ file_SalvageEscortRestartReq_proto_rawDescOnce.Do(func() {
+ file_SalvageEscortRestartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageEscortRestartReq_proto_rawDescData)
+ })
+ return file_SalvageEscortRestartReq_proto_rawDescData
+}
+
+var file_SalvageEscortRestartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageEscortRestartReq_proto_goTypes = []interface{}{
+ (*SalvageEscortRestartReq)(nil), // 0: proto.SalvageEscortRestartReq
+}
+var file_SalvageEscortRestartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalvageEscortRestartReq_proto_init() }
+func file_SalvageEscortRestartReq_proto_init() {
+ if File_SalvageEscortRestartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageEscortRestartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageEscortRestartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageEscortRestartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageEscortRestartReq_proto_goTypes,
+ DependencyIndexes: file_SalvageEscortRestartReq_proto_depIdxs,
+ MessageInfos: file_SalvageEscortRestartReq_proto_msgTypes,
+ }.Build()
+ File_SalvageEscortRestartReq_proto = out.File
+ file_SalvageEscortRestartReq_proto_rawDesc = nil
+ file_SalvageEscortRestartReq_proto_goTypes = nil
+ file_SalvageEscortRestartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageEscortRestartRsp.pb.go b/protocol/proto/SalvageEscortRestartRsp.pb.go
new file mode 100644
index 00000000..2cb54886
--- /dev/null
+++ b/protocol/proto/SalvageEscortRestartRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageEscortRestartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8959
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SalvageEscortRestartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,14,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SalvageEscortRestartRsp) Reset() {
+ *x = SalvageEscortRestartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageEscortRestartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageEscortRestartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageEscortRestartRsp) ProtoMessage() {}
+
+func (x *SalvageEscortRestartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageEscortRestartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageEscortRestartRsp.ProtoReflect.Descriptor instead.
+func (*SalvageEscortRestartRsp) Descriptor() ([]byte, []int) {
+ return file_SalvageEscortRestartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageEscortRestartRsp) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *SalvageEscortRestartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SalvageEscortRestartRsp_proto protoreflect.FileDescriptor
+
+var file_SalvageEscortRestartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x52,
+ 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x17, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67,
+ 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73,
+ 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageEscortRestartRsp_proto_rawDescOnce sync.Once
+ file_SalvageEscortRestartRsp_proto_rawDescData = file_SalvageEscortRestartRsp_proto_rawDesc
+)
+
+func file_SalvageEscortRestartRsp_proto_rawDescGZIP() []byte {
+ file_SalvageEscortRestartRsp_proto_rawDescOnce.Do(func() {
+ file_SalvageEscortRestartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageEscortRestartRsp_proto_rawDescData)
+ })
+ return file_SalvageEscortRestartRsp_proto_rawDescData
+}
+
+var file_SalvageEscortRestartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageEscortRestartRsp_proto_goTypes = []interface{}{
+ (*SalvageEscortRestartRsp)(nil), // 0: proto.SalvageEscortRestartRsp
+}
+var file_SalvageEscortRestartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalvageEscortRestartRsp_proto_init() }
+func file_SalvageEscortRestartRsp_proto_init() {
+ if File_SalvageEscortRestartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageEscortRestartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageEscortRestartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageEscortRestartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageEscortRestartRsp_proto_goTypes,
+ DependencyIndexes: file_SalvageEscortRestartRsp_proto_depIdxs,
+ MessageInfos: file_SalvageEscortRestartRsp_proto_msgTypes,
+ }.Build()
+ File_SalvageEscortRestartRsp_proto = out.File
+ file_SalvageEscortRestartRsp_proto_rawDesc = nil
+ file_SalvageEscortRestartRsp_proto_goTypes = nil
+ file_SalvageEscortRestartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageEscortSettleInfo.pb.go b/protocol/proto/SalvageEscortSettleInfo.pb.go
new file mode 100644
index 00000000..36542d95
--- /dev/null
+++ b/protocol/proto/SalvageEscortSettleInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageEscortSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvageEscortSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SettleInfo *SalvageEscortGallerySettleInfo `protobuf:"bytes,3,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+ IsNewRecord bool `protobuf:"varint,2,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *SalvageEscortSettleInfo) Reset() {
+ *x = SalvageEscortSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageEscortSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageEscortSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageEscortSettleInfo) ProtoMessage() {}
+
+func (x *SalvageEscortSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageEscortSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageEscortSettleInfo.ProtoReflect.Descriptor instead.
+func (*SalvageEscortSettleInfo) Descriptor() ([]byte, []int) {
+ return file_SalvageEscortSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageEscortSettleInfo) GetSettleInfo() *SalvageEscortGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+func (x *SalvageEscortSettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_SalvageEscortSettleInfo_proto protoreflect.FileDescriptor
+
+var file_SalvageEscortSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45,
+ 0x73, 0x63, 0x6f, 0x72, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a,
+ 0x17, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63,
+ 0x6f, 0x72, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageEscortSettleInfo_proto_rawDescOnce sync.Once
+ file_SalvageEscortSettleInfo_proto_rawDescData = file_SalvageEscortSettleInfo_proto_rawDesc
+)
+
+func file_SalvageEscortSettleInfo_proto_rawDescGZIP() []byte {
+ file_SalvageEscortSettleInfo_proto_rawDescOnce.Do(func() {
+ file_SalvageEscortSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageEscortSettleInfo_proto_rawDescData)
+ })
+ return file_SalvageEscortSettleInfo_proto_rawDescData
+}
+
+var file_SalvageEscortSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageEscortSettleInfo_proto_goTypes = []interface{}{
+ (*SalvageEscortSettleInfo)(nil), // 0: proto.SalvageEscortSettleInfo
+ (*SalvageEscortGallerySettleInfo)(nil), // 1: proto.SalvageEscortGallerySettleInfo
+}
+var file_SalvageEscortSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SalvageEscortSettleInfo.settle_info:type_name -> proto.SalvageEscortGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SalvageEscortSettleInfo_proto_init() }
+func file_SalvageEscortSettleInfo_proto_init() {
+ if File_SalvageEscortSettleInfo_proto != nil {
+ return
+ }
+ file_SalvageEscortGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageEscortSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageEscortSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageEscortSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageEscortSettleInfo_proto_goTypes,
+ DependencyIndexes: file_SalvageEscortSettleInfo_proto_depIdxs,
+ MessageInfos: file_SalvageEscortSettleInfo_proto_msgTypes,
+ }.Build()
+ File_SalvageEscortSettleInfo_proto = out.File
+ file_SalvageEscortSettleInfo_proto_rawDesc = nil
+ file_SalvageEscortSettleInfo_proto_goTypes = nil
+ file_SalvageEscortSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageEscortSettleNotify.pb.go b/protocol/proto/SalvageEscortSettleNotify.pb.go
new file mode 100644
index 00000000..019818ee
--- /dev/null
+++ b/protocol/proto/SalvageEscortSettleNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageEscortSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8499
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SalvageEscortSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,14,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ SettleInfo *SalvageEscortSettleInfo `protobuf:"bytes,15,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+}
+
+func (x *SalvageEscortSettleNotify) Reset() {
+ *x = SalvageEscortSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageEscortSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageEscortSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageEscortSettleNotify) ProtoMessage() {}
+
+func (x *SalvageEscortSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageEscortSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageEscortSettleNotify.ProtoReflect.Descriptor instead.
+func (*SalvageEscortSettleNotify) Descriptor() ([]byte, []int) {
+ return file_SalvageEscortSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageEscortSettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *SalvageEscortSettleNotify) GetSettleInfo() *SalvageEscortSettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+var File_SalvageEscortSettleNotify_proto protoreflect.FileDescriptor
+
+var file_SalvageEscortSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67,
+ 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x19, 0x53, 0x61, 0x6c, 0x76, 0x61,
+ 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageEscortSettleNotify_proto_rawDescOnce sync.Once
+ file_SalvageEscortSettleNotify_proto_rawDescData = file_SalvageEscortSettleNotify_proto_rawDesc
+)
+
+func file_SalvageEscortSettleNotify_proto_rawDescGZIP() []byte {
+ file_SalvageEscortSettleNotify_proto_rawDescOnce.Do(func() {
+ file_SalvageEscortSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageEscortSettleNotify_proto_rawDescData)
+ })
+ return file_SalvageEscortSettleNotify_proto_rawDescData
+}
+
+var file_SalvageEscortSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageEscortSettleNotify_proto_goTypes = []interface{}{
+ (*SalvageEscortSettleNotify)(nil), // 0: proto.SalvageEscortSettleNotify
+ (*SalvageEscortSettleInfo)(nil), // 1: proto.SalvageEscortSettleInfo
+}
+var file_SalvageEscortSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SalvageEscortSettleNotify.settle_info:type_name -> proto.SalvageEscortSettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SalvageEscortSettleNotify_proto_init() }
+func file_SalvageEscortSettleNotify_proto_init() {
+ if File_SalvageEscortSettleNotify_proto != nil {
+ return
+ }
+ file_SalvageEscortSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageEscortSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageEscortSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageEscortSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageEscortSettleNotify_proto_goTypes,
+ DependencyIndexes: file_SalvageEscortSettleNotify_proto_depIdxs,
+ MessageInfos: file_SalvageEscortSettleNotify_proto_msgTypes,
+ }.Build()
+ File_SalvageEscortSettleNotify_proto = out.File
+ file_SalvageEscortSettleNotify_proto_rawDesc = nil
+ file_SalvageEscortSettleNotify_proto_goTypes = nil
+ file_SalvageEscortSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageEscortStopReason.pb.go b/protocol/proto/SalvageEscortStopReason.pb.go
new file mode 100644
index 00000000..ca8a82c6
--- /dev/null
+++ b/protocol/proto/SalvageEscortStopReason.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageEscortStopReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvageEscortStopReason int32
+
+const (
+ SalvageEscortStopReason_SALVAGE_ESCORT_STOP_REASON_NONE SalvageEscortStopReason = 0
+ SalvageEscortStopReason_SALVAGE_ESCORT_STOP_REASON_SUCCESS SalvageEscortStopReason = 1
+ SalvageEscortStopReason_SALVAGE_ESCORT_STOP_REASON_DUMP SalvageEscortStopReason = 2
+ SalvageEscortStopReason_SALVAGE_ESCORT_STOP_REASON_TIME SalvageEscortStopReason = 3
+ SalvageEscortStopReason_SALVAGE_ESCORT_STOP_REASON_INTERRUPT SalvageEscortStopReason = 4
+ SalvageEscortStopReason_SALVAGE_ESCORT_STOP_REASON_LEAVE SalvageEscortStopReason = 5
+ SalvageEscortStopReason_SALVAGE_ESCORT_STOP_REASON_FULL SalvageEscortStopReason = 6
+)
+
+// Enum value maps for SalvageEscortStopReason.
+var (
+ SalvageEscortStopReason_name = map[int32]string{
+ 0: "SALVAGE_ESCORT_STOP_REASON_NONE",
+ 1: "SALVAGE_ESCORT_STOP_REASON_SUCCESS",
+ 2: "SALVAGE_ESCORT_STOP_REASON_DUMP",
+ 3: "SALVAGE_ESCORT_STOP_REASON_TIME",
+ 4: "SALVAGE_ESCORT_STOP_REASON_INTERRUPT",
+ 5: "SALVAGE_ESCORT_STOP_REASON_LEAVE",
+ 6: "SALVAGE_ESCORT_STOP_REASON_FULL",
+ }
+ SalvageEscortStopReason_value = map[string]int32{
+ "SALVAGE_ESCORT_STOP_REASON_NONE": 0,
+ "SALVAGE_ESCORT_STOP_REASON_SUCCESS": 1,
+ "SALVAGE_ESCORT_STOP_REASON_DUMP": 2,
+ "SALVAGE_ESCORT_STOP_REASON_TIME": 3,
+ "SALVAGE_ESCORT_STOP_REASON_INTERRUPT": 4,
+ "SALVAGE_ESCORT_STOP_REASON_LEAVE": 5,
+ "SALVAGE_ESCORT_STOP_REASON_FULL": 6,
+ }
+)
+
+func (x SalvageEscortStopReason) Enum() *SalvageEscortStopReason {
+ p := new(SalvageEscortStopReason)
+ *p = x
+ return p
+}
+
+func (x SalvageEscortStopReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SalvageEscortStopReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_SalvageEscortStopReason_proto_enumTypes[0].Descriptor()
+}
+
+func (SalvageEscortStopReason) Type() protoreflect.EnumType {
+ return &file_SalvageEscortStopReason_proto_enumTypes[0]
+}
+
+func (x SalvageEscortStopReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SalvageEscortStopReason.Descriptor instead.
+func (SalvageEscortStopReason) EnumDescriptor() ([]byte, []int) {
+ return file_SalvageEscortStopReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SalvageEscortStopReason_proto protoreflect.FileDescriptor
+
+var file_SalvageEscortStopReason_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53,
+ 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xa5, 0x02, 0x0a, 0x17, 0x53, 0x61, 0x6c, 0x76, 0x61,
+ 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73,
+ 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x53,
+ 0x43, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e,
+ 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x41, 0x4c, 0x56, 0x41,
+ 0x47, 0x45, 0x5f, 0x45, 0x53, 0x43, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12,
+ 0x23, 0x0a, 0x1f, 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x53, 0x43, 0x4f, 0x52,
+ 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x44, 0x55,
+ 0x4d, 0x50, 0x10, 0x02, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f,
+ 0x45, 0x53, 0x43, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x03, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x41, 0x4c,
+ 0x56, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x53, 0x43, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50,
+ 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50,
+ 0x54, 0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f, 0x45,
+ 0x53, 0x43, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
+ 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x41, 0x4c,
+ 0x56, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x53, 0x43, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50,
+ 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x06, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SalvageEscortStopReason_proto_rawDescOnce sync.Once
+ file_SalvageEscortStopReason_proto_rawDescData = file_SalvageEscortStopReason_proto_rawDesc
+)
+
+func file_SalvageEscortStopReason_proto_rawDescGZIP() []byte {
+ file_SalvageEscortStopReason_proto_rawDescOnce.Do(func() {
+ file_SalvageEscortStopReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageEscortStopReason_proto_rawDescData)
+ })
+ return file_SalvageEscortStopReason_proto_rawDescData
+}
+
+var file_SalvageEscortStopReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_SalvageEscortStopReason_proto_goTypes = []interface{}{
+ (SalvageEscortStopReason)(0), // 0: proto.SalvageEscortStopReason
+}
+var file_SalvageEscortStopReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalvageEscortStopReason_proto_init() }
+func file_SalvageEscortStopReason_proto_init() {
+ if File_SalvageEscortStopReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageEscortStopReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageEscortStopReason_proto_goTypes,
+ DependencyIndexes: file_SalvageEscortStopReason_proto_depIdxs,
+ EnumInfos: file_SalvageEscortStopReason_proto_enumTypes,
+ }.Build()
+ File_SalvageEscortStopReason_proto = out.File
+ file_SalvageEscortStopReason_proto_rawDesc = nil
+ file_SalvageEscortStopReason_proto_goTypes = nil
+ file_SalvageEscortStopReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvagePreventGallerySettleInfo.pb.go b/protocol/proto/SalvagePreventGallerySettleInfo.pb.go
new file mode 100644
index 00000000..5d22c2c5
--- /dev/null
+++ b/protocol/proto/SalvagePreventGallerySettleInfo.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvagePreventGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvagePreventGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TimeRemain uint32 `protobuf:"varint,8,opt,name=time_remain,json=timeRemain,proto3" json:"time_remain,omitempty"`
+ Reason SalvagePreventStopReason `protobuf:"varint,7,opt,name=reason,proto3,enum=proto.SalvagePreventStopReason" json:"reason,omitempty"`
+ FinalScore uint32 `protobuf:"varint,13,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+ MonsterCount uint32 `protobuf:"varint,15,opt,name=monster_count,json=monsterCount,proto3" json:"monster_count,omitempty"`
+}
+
+func (x *SalvagePreventGallerySettleInfo) Reset() {
+ *x = SalvagePreventGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvagePreventGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvagePreventGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvagePreventGallerySettleInfo) ProtoMessage() {}
+
+func (x *SalvagePreventGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvagePreventGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvagePreventGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*SalvagePreventGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_SalvagePreventGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvagePreventGallerySettleInfo) GetTimeRemain() uint32 {
+ if x != nil {
+ return x.TimeRemain
+ }
+ return 0
+}
+
+func (x *SalvagePreventGallerySettleInfo) GetReason() SalvagePreventStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return SalvagePreventStopReason_SALVAGE_PREVENT_STOP_REASON_NONE
+}
+
+func (x *SalvagePreventGallerySettleInfo) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+func (x *SalvagePreventGallerySettleInfo) GetMonsterCount() uint32 {
+ if x != nil {
+ return x.MonsterCount
+ }
+ return 0
+}
+
+var File_SalvagePreventGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_SalvagePreventGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e,
+ 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74,
+ 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1,
+ 0x01, 0x0a, 0x1f, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69,
+ 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x6d,
+ 0x61, 0x69, 0x6e, 0x12, 0x37, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x76,
+ 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a,
+ 0x0d, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvagePreventGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_SalvagePreventGallerySettleInfo_proto_rawDescData = file_SalvagePreventGallerySettleInfo_proto_rawDesc
+)
+
+func file_SalvagePreventGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_SalvagePreventGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_SalvagePreventGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvagePreventGallerySettleInfo_proto_rawDescData)
+ })
+ return file_SalvagePreventGallerySettleInfo_proto_rawDescData
+}
+
+var file_SalvagePreventGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvagePreventGallerySettleInfo_proto_goTypes = []interface{}{
+ (*SalvagePreventGallerySettleInfo)(nil), // 0: proto.SalvagePreventGallerySettleInfo
+ (SalvagePreventStopReason)(0), // 1: proto.SalvagePreventStopReason
+}
+var file_SalvagePreventGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SalvagePreventGallerySettleInfo.reason:type_name -> proto.SalvagePreventStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SalvagePreventGallerySettleInfo_proto_init() }
+func file_SalvagePreventGallerySettleInfo_proto_init() {
+ if File_SalvagePreventGallerySettleInfo_proto != nil {
+ return
+ }
+ file_SalvagePreventStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalvagePreventGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvagePreventGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvagePreventGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvagePreventGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_SalvagePreventGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_SalvagePreventGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_SalvagePreventGallerySettleInfo_proto = out.File
+ file_SalvagePreventGallerySettleInfo_proto_rawDesc = nil
+ file_SalvagePreventGallerySettleInfo_proto_goTypes = nil
+ file_SalvagePreventGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvagePreventRestartReq.pb.go b/protocol/proto/SalvagePreventRestartReq.pb.go
new file mode 100644
index 00000000..7755c69f
--- /dev/null
+++ b/protocol/proto/SalvagePreventRestartReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvagePreventRestartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8367
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SalvagePreventRestartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,13,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *SalvagePreventRestartReq) Reset() {
+ *x = SalvagePreventRestartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvagePreventRestartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvagePreventRestartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvagePreventRestartReq) ProtoMessage() {}
+
+func (x *SalvagePreventRestartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvagePreventRestartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvagePreventRestartReq.ProtoReflect.Descriptor instead.
+func (*SalvagePreventRestartReq) Descriptor() ([]byte, []int) {
+ return file_SalvagePreventRestartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvagePreventRestartReq) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_SalvagePreventRestartReq_proto protoreflect.FileDescriptor
+
+var file_SalvagePreventRestartReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x18, 0x53, 0x61, 0x6c, 0x76, 0x61,
+ 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvagePreventRestartReq_proto_rawDescOnce sync.Once
+ file_SalvagePreventRestartReq_proto_rawDescData = file_SalvagePreventRestartReq_proto_rawDesc
+)
+
+func file_SalvagePreventRestartReq_proto_rawDescGZIP() []byte {
+ file_SalvagePreventRestartReq_proto_rawDescOnce.Do(func() {
+ file_SalvagePreventRestartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvagePreventRestartReq_proto_rawDescData)
+ })
+ return file_SalvagePreventRestartReq_proto_rawDescData
+}
+
+var file_SalvagePreventRestartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvagePreventRestartReq_proto_goTypes = []interface{}{
+ (*SalvagePreventRestartReq)(nil), // 0: proto.SalvagePreventRestartReq
+}
+var file_SalvagePreventRestartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalvagePreventRestartReq_proto_init() }
+func file_SalvagePreventRestartReq_proto_init() {
+ if File_SalvagePreventRestartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalvagePreventRestartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvagePreventRestartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvagePreventRestartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvagePreventRestartReq_proto_goTypes,
+ DependencyIndexes: file_SalvagePreventRestartReq_proto_depIdxs,
+ MessageInfos: file_SalvagePreventRestartReq_proto_msgTypes,
+ }.Build()
+ File_SalvagePreventRestartReq_proto = out.File
+ file_SalvagePreventRestartReq_proto_rawDesc = nil
+ file_SalvagePreventRestartReq_proto_goTypes = nil
+ file_SalvagePreventRestartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvagePreventRestartRsp.pb.go b/protocol/proto/SalvagePreventRestartRsp.pb.go
new file mode 100644
index 00000000..dc3d77e4
--- /dev/null
+++ b/protocol/proto/SalvagePreventRestartRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvagePreventRestartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8938
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SalvagePreventRestartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GalleryId uint32 `protobuf:"varint,12,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *SalvagePreventRestartRsp) Reset() {
+ *x = SalvagePreventRestartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvagePreventRestartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvagePreventRestartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvagePreventRestartRsp) ProtoMessage() {}
+
+func (x *SalvagePreventRestartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvagePreventRestartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvagePreventRestartRsp.ProtoReflect.Descriptor instead.
+func (*SalvagePreventRestartRsp) Descriptor() ([]byte, []int) {
+ return file_SalvagePreventRestartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvagePreventRestartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SalvagePreventRestartRsp) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_SalvagePreventRestartRsp_proto protoreflect.FileDescriptor
+
+var file_SalvagePreventRestartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x18, 0x53, 0x61, 0x6c, 0x76, 0x61,
+ 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvagePreventRestartRsp_proto_rawDescOnce sync.Once
+ file_SalvagePreventRestartRsp_proto_rawDescData = file_SalvagePreventRestartRsp_proto_rawDesc
+)
+
+func file_SalvagePreventRestartRsp_proto_rawDescGZIP() []byte {
+ file_SalvagePreventRestartRsp_proto_rawDescOnce.Do(func() {
+ file_SalvagePreventRestartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvagePreventRestartRsp_proto_rawDescData)
+ })
+ return file_SalvagePreventRestartRsp_proto_rawDescData
+}
+
+var file_SalvagePreventRestartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvagePreventRestartRsp_proto_goTypes = []interface{}{
+ (*SalvagePreventRestartRsp)(nil), // 0: proto.SalvagePreventRestartRsp
+}
+var file_SalvagePreventRestartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalvagePreventRestartRsp_proto_init() }
+func file_SalvagePreventRestartRsp_proto_init() {
+ if File_SalvagePreventRestartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalvagePreventRestartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvagePreventRestartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvagePreventRestartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvagePreventRestartRsp_proto_goTypes,
+ DependencyIndexes: file_SalvagePreventRestartRsp_proto_depIdxs,
+ MessageInfos: file_SalvagePreventRestartRsp_proto_msgTypes,
+ }.Build()
+ File_SalvagePreventRestartRsp_proto = out.File
+ file_SalvagePreventRestartRsp_proto_rawDesc = nil
+ file_SalvagePreventRestartRsp_proto_goTypes = nil
+ file_SalvagePreventRestartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvagePreventSettleInfo.pb.go b/protocol/proto/SalvagePreventSettleInfo.pb.go
new file mode 100644
index 00000000..86e3f4a5
--- /dev/null
+++ b/protocol/proto/SalvagePreventSettleInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvagePreventSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvagePreventSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsNewRecord bool `protobuf:"varint,8,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ SettleInfo *SalvagePreventGallerySettleInfo `protobuf:"bytes,14,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+}
+
+func (x *SalvagePreventSettleInfo) Reset() {
+ *x = SalvagePreventSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvagePreventSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvagePreventSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvagePreventSettleInfo) ProtoMessage() {}
+
+func (x *SalvagePreventSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvagePreventSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvagePreventSettleInfo.ProtoReflect.Descriptor instead.
+func (*SalvagePreventSettleInfo) Descriptor() ([]byte, []int) {
+ return file_SalvagePreventSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvagePreventSettleInfo) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *SalvagePreventSettleInfo) GetSettleInfo() *SalvagePreventGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+var File_SalvagePreventSettleInfo_proto protoreflect.FileDescriptor
+
+var file_SalvagePreventSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65,
+ 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87,
+ 0x01, 0x0a, 0x18, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
+ 0x47, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c,
+ 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvagePreventSettleInfo_proto_rawDescOnce sync.Once
+ file_SalvagePreventSettleInfo_proto_rawDescData = file_SalvagePreventSettleInfo_proto_rawDesc
+)
+
+func file_SalvagePreventSettleInfo_proto_rawDescGZIP() []byte {
+ file_SalvagePreventSettleInfo_proto_rawDescOnce.Do(func() {
+ file_SalvagePreventSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvagePreventSettleInfo_proto_rawDescData)
+ })
+ return file_SalvagePreventSettleInfo_proto_rawDescData
+}
+
+var file_SalvagePreventSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvagePreventSettleInfo_proto_goTypes = []interface{}{
+ (*SalvagePreventSettleInfo)(nil), // 0: proto.SalvagePreventSettleInfo
+ (*SalvagePreventGallerySettleInfo)(nil), // 1: proto.SalvagePreventGallerySettleInfo
+}
+var file_SalvagePreventSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SalvagePreventSettleInfo.settle_info:type_name -> proto.SalvagePreventGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SalvagePreventSettleInfo_proto_init() }
+func file_SalvagePreventSettleInfo_proto_init() {
+ if File_SalvagePreventSettleInfo_proto != nil {
+ return
+ }
+ file_SalvagePreventGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalvagePreventSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvagePreventSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvagePreventSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvagePreventSettleInfo_proto_goTypes,
+ DependencyIndexes: file_SalvagePreventSettleInfo_proto_depIdxs,
+ MessageInfos: file_SalvagePreventSettleInfo_proto_msgTypes,
+ }.Build()
+ File_SalvagePreventSettleInfo_proto = out.File
+ file_SalvagePreventSettleInfo_proto_rawDesc = nil
+ file_SalvagePreventSettleInfo_proto_goTypes = nil
+ file_SalvagePreventSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvagePreventSettleNotify.pb.go b/protocol/proto/SalvagePreventSettleNotify.pb.go
new file mode 100644
index 00000000..ca2f5d0b
--- /dev/null
+++ b/protocol/proto/SalvagePreventSettleNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvagePreventSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8231
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SalvagePreventSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,13,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ SettleInfo *SalvagePreventSettleInfo `protobuf:"bytes,12,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+}
+
+func (x *SalvagePreventSettleNotify) Reset() {
+ *x = SalvagePreventSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvagePreventSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvagePreventSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvagePreventSettleNotify) ProtoMessage() {}
+
+func (x *SalvagePreventSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvagePreventSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvagePreventSettleNotify.ProtoReflect.Descriptor instead.
+func (*SalvagePreventSettleNotify) Descriptor() ([]byte, []int) {
+ return file_SalvagePreventSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvagePreventSettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *SalvagePreventSettleNotify) GetSettleInfo() *SalvagePreventSettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+var File_SalvagePreventSettleNotify_proto protoreflect.FileDescriptor
+
+var file_SalvagePreventSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x53, 0x61, 0x6c, 0x76, 0x61,
+ 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x1a, 0x53, 0x61, 0x6c,
+ 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvagePreventSettleNotify_proto_rawDescOnce sync.Once
+ file_SalvagePreventSettleNotify_proto_rawDescData = file_SalvagePreventSettleNotify_proto_rawDesc
+)
+
+func file_SalvagePreventSettleNotify_proto_rawDescGZIP() []byte {
+ file_SalvagePreventSettleNotify_proto_rawDescOnce.Do(func() {
+ file_SalvagePreventSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvagePreventSettleNotify_proto_rawDescData)
+ })
+ return file_SalvagePreventSettleNotify_proto_rawDescData
+}
+
+var file_SalvagePreventSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvagePreventSettleNotify_proto_goTypes = []interface{}{
+ (*SalvagePreventSettleNotify)(nil), // 0: proto.SalvagePreventSettleNotify
+ (*SalvagePreventSettleInfo)(nil), // 1: proto.SalvagePreventSettleInfo
+}
+var file_SalvagePreventSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SalvagePreventSettleNotify.settle_info:type_name -> proto.SalvagePreventSettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SalvagePreventSettleNotify_proto_init() }
+func file_SalvagePreventSettleNotify_proto_init() {
+ if File_SalvagePreventSettleNotify_proto != nil {
+ return
+ }
+ file_SalvagePreventSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalvagePreventSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvagePreventSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvagePreventSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvagePreventSettleNotify_proto_goTypes,
+ DependencyIndexes: file_SalvagePreventSettleNotify_proto_depIdxs,
+ MessageInfos: file_SalvagePreventSettleNotify_proto_msgTypes,
+ }.Build()
+ File_SalvagePreventSettleNotify_proto = out.File
+ file_SalvagePreventSettleNotify_proto_rawDesc = nil
+ file_SalvagePreventSettleNotify_proto_goTypes = nil
+ file_SalvagePreventSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvagePreventStopReason.pb.go b/protocol/proto/SalvagePreventStopReason.pb.go
new file mode 100644
index 00000000..222620e3
--- /dev/null
+++ b/protocol/proto/SalvagePreventStopReason.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvagePreventStopReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvagePreventStopReason int32
+
+const (
+ SalvagePreventStopReason_SALVAGE_PREVENT_STOP_REASON_NONE SalvagePreventStopReason = 0
+ SalvagePreventStopReason_SALVAGE_PREVENT_STOP_REASON_SUCCESS SalvagePreventStopReason = 1
+ SalvagePreventStopReason_SALVAGE_PREVENT_STOP_REASON_ARRIVAL SalvagePreventStopReason = 2
+ SalvagePreventStopReason_SALVAGE_PREVENT_STOP_REASON_INTERRUPT SalvagePreventStopReason = 3
+ SalvagePreventStopReason_SALVAGE_PREVENT_STOP_REASON_LEAVE SalvagePreventStopReason = 4
+ SalvagePreventStopReason_SALVAGE_PREVENT_STOP_REASON_FULL SalvagePreventStopReason = 5
+ SalvagePreventStopReason_SALVAGE_PREVENT_STOP_REASON_AWAY SalvagePreventStopReason = 6
+)
+
+// Enum value maps for SalvagePreventStopReason.
+var (
+ SalvagePreventStopReason_name = map[int32]string{
+ 0: "SALVAGE_PREVENT_STOP_REASON_NONE",
+ 1: "SALVAGE_PREVENT_STOP_REASON_SUCCESS",
+ 2: "SALVAGE_PREVENT_STOP_REASON_ARRIVAL",
+ 3: "SALVAGE_PREVENT_STOP_REASON_INTERRUPT",
+ 4: "SALVAGE_PREVENT_STOP_REASON_LEAVE",
+ 5: "SALVAGE_PREVENT_STOP_REASON_FULL",
+ 6: "SALVAGE_PREVENT_STOP_REASON_AWAY",
+ }
+ SalvagePreventStopReason_value = map[string]int32{
+ "SALVAGE_PREVENT_STOP_REASON_NONE": 0,
+ "SALVAGE_PREVENT_STOP_REASON_SUCCESS": 1,
+ "SALVAGE_PREVENT_STOP_REASON_ARRIVAL": 2,
+ "SALVAGE_PREVENT_STOP_REASON_INTERRUPT": 3,
+ "SALVAGE_PREVENT_STOP_REASON_LEAVE": 4,
+ "SALVAGE_PREVENT_STOP_REASON_FULL": 5,
+ "SALVAGE_PREVENT_STOP_REASON_AWAY": 6,
+ }
+)
+
+func (x SalvagePreventStopReason) Enum() *SalvagePreventStopReason {
+ p := new(SalvagePreventStopReason)
+ *p = x
+ return p
+}
+
+func (x SalvagePreventStopReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SalvagePreventStopReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_SalvagePreventStopReason_proto_enumTypes[0].Descriptor()
+}
+
+func (SalvagePreventStopReason) Type() protoreflect.EnumType {
+ return &file_SalvagePreventStopReason_proto_enumTypes[0]
+}
+
+func (x SalvagePreventStopReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SalvagePreventStopReason.Descriptor instead.
+func (SalvagePreventStopReason) EnumDescriptor() ([]byte, []int) {
+ return file_SalvagePreventStopReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SalvagePreventStopReason_proto protoreflect.FileDescriptor
+
+var file_SalvagePreventStopReason_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xb0, 0x02, 0x0a, 0x18, 0x53, 0x61, 0x6c, 0x76,
+ 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f,
+ 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x41,
+ 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54,
+ 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53,
+ 0x53, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f, 0x50,
+ 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x49, 0x56, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x29, 0x0a, 0x25,
+ 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f,
+ 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x54, 0x45,
+ 0x52, 0x52, 0x55, 0x50, 0x54, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x41, 0x4c, 0x56, 0x41,
+ 0x47, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f,
+ 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x41, 0x56, 0x45, 0x10, 0x04, 0x12, 0x24,
+ 0x0a, 0x20, 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e,
+ 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x55,
+ 0x4c, 0x4c, 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x41, 0x4c, 0x56, 0x41, 0x47, 0x45, 0x5f,
+ 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x57, 0x41, 0x59, 0x10, 0x06, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvagePreventStopReason_proto_rawDescOnce sync.Once
+ file_SalvagePreventStopReason_proto_rawDescData = file_SalvagePreventStopReason_proto_rawDesc
+)
+
+func file_SalvagePreventStopReason_proto_rawDescGZIP() []byte {
+ file_SalvagePreventStopReason_proto_rawDescOnce.Do(func() {
+ file_SalvagePreventStopReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvagePreventStopReason_proto_rawDescData)
+ })
+ return file_SalvagePreventStopReason_proto_rawDescData
+}
+
+var file_SalvagePreventStopReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_SalvagePreventStopReason_proto_goTypes = []interface{}{
+ (SalvagePreventStopReason)(0), // 0: proto.SalvagePreventStopReason
+}
+var file_SalvagePreventStopReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalvagePreventStopReason_proto_init() }
+func file_SalvagePreventStopReason_proto_init() {
+ if File_SalvagePreventStopReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvagePreventStopReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvagePreventStopReason_proto_goTypes,
+ DependencyIndexes: file_SalvagePreventStopReason_proto_depIdxs,
+ EnumInfos: file_SalvagePreventStopReason_proto_enumTypes,
+ }.Build()
+ File_SalvagePreventStopReason_proto = out.File
+ file_SalvagePreventStopReason_proto_rawDesc = nil
+ file_SalvagePreventStopReason_proto_goTypes = nil
+ file_SalvagePreventStopReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageScoreChallengeInfo.pb.go b/protocol/proto/SalvageScoreChallengeInfo.pb.go
new file mode 100644
index 00000000..d0ba422b
--- /dev/null
+++ b/protocol/proto/SalvageScoreChallengeInfo.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageScoreChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvageScoreChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SalvageChallengeId uint32 `protobuf:"varint,13,opt,name=salvage_challenge_id,json=salvageChallengeId,proto3" json:"salvage_challenge_id,omitempty"`
+ MaxScore uint32 `protobuf:"varint,7,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+}
+
+func (x *SalvageScoreChallengeInfo) Reset() {
+ *x = SalvageScoreChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageScoreChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageScoreChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageScoreChallengeInfo) ProtoMessage() {}
+
+func (x *SalvageScoreChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageScoreChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageScoreChallengeInfo.ProtoReflect.Descriptor instead.
+func (*SalvageScoreChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_SalvageScoreChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageScoreChallengeInfo) GetSalvageChallengeId() uint32 {
+ if x != nil {
+ return x.SalvageChallengeId
+ }
+ return 0
+}
+
+func (x *SalvageScoreChallengeInfo) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+var File_SalvageScoreChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_SalvageScoreChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x19, 0x53, 0x61, 0x6c, 0x76,
+ 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65,
+ 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x12, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageScoreChallengeInfo_proto_rawDescOnce sync.Once
+ file_SalvageScoreChallengeInfo_proto_rawDescData = file_SalvageScoreChallengeInfo_proto_rawDesc
+)
+
+func file_SalvageScoreChallengeInfo_proto_rawDescGZIP() []byte {
+ file_SalvageScoreChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_SalvageScoreChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageScoreChallengeInfo_proto_rawDescData)
+ })
+ return file_SalvageScoreChallengeInfo_proto_rawDescData
+}
+
+var file_SalvageScoreChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageScoreChallengeInfo_proto_goTypes = []interface{}{
+ (*SalvageScoreChallengeInfo)(nil), // 0: proto.SalvageScoreChallengeInfo
+}
+var file_SalvageScoreChallengeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SalvageScoreChallengeInfo_proto_init() }
+func file_SalvageScoreChallengeInfo_proto_init() {
+ if File_SalvageScoreChallengeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageScoreChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageScoreChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageScoreChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageScoreChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_SalvageScoreChallengeInfo_proto_depIdxs,
+ MessageInfos: file_SalvageScoreChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_SalvageScoreChallengeInfo_proto = out.File
+ file_SalvageScoreChallengeInfo_proto_rawDesc = nil
+ file_SalvageScoreChallengeInfo_proto_goTypes = nil
+ file_SalvageScoreChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SalvageStageInfo.pb.go b/protocol/proto/SalvageStageInfo.pb.go
new file mode 100644
index 00000000..26468736
--- /dev/null
+++ b/protocol/proto/SalvageStageInfo.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SalvageStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SalvageStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeInfoList []*SalvageChallengeInfo `protobuf:"bytes,9,rep,name=challenge_info_list,json=challengeInfoList,proto3" json:"challenge_info_list,omitempty"`
+ IsOpen bool `protobuf:"varint,10,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ StageId uint32 `protobuf:"varint,2,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *SalvageStageInfo) Reset() {
+ *x = SalvageStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SalvageStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SalvageStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SalvageStageInfo) ProtoMessage() {}
+
+func (x *SalvageStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SalvageStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SalvageStageInfo.ProtoReflect.Descriptor instead.
+func (*SalvageStageInfo) Descriptor() ([]byte, []int) {
+ return file_SalvageStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SalvageStageInfo) GetChallengeInfoList() []*SalvageChallengeInfo {
+ if x != nil {
+ return x.ChallengeInfoList
+ }
+ return nil
+}
+
+func (x *SalvageStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *SalvageStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_SalvageStageInfo_proto protoreflect.FileDescriptor
+
+var file_SalvageStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1a, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x10,
+ 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x4b, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a,
+ 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
+ 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SalvageStageInfo_proto_rawDescOnce sync.Once
+ file_SalvageStageInfo_proto_rawDescData = file_SalvageStageInfo_proto_rawDesc
+)
+
+func file_SalvageStageInfo_proto_rawDescGZIP() []byte {
+ file_SalvageStageInfo_proto_rawDescOnce.Do(func() {
+ file_SalvageStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SalvageStageInfo_proto_rawDescData)
+ })
+ return file_SalvageStageInfo_proto_rawDescData
+}
+
+var file_SalvageStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SalvageStageInfo_proto_goTypes = []interface{}{
+ (*SalvageStageInfo)(nil), // 0: proto.SalvageStageInfo
+ (*SalvageChallengeInfo)(nil), // 1: proto.SalvageChallengeInfo
+}
+var file_SalvageStageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SalvageStageInfo.challenge_info_list:type_name -> proto.SalvageChallengeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SalvageStageInfo_proto_init() }
+func file_SalvageStageInfo_proto_init() {
+ if File_SalvageStageInfo_proto != nil {
+ return
+ }
+ file_SalvageChallengeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SalvageStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SalvageStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SalvageStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SalvageStageInfo_proto_goTypes,
+ DependencyIndexes: file_SalvageStageInfo_proto_depIdxs,
+ MessageInfos: file_SalvageStageInfo_proto_msgTypes,
+ }.Build()
+ File_SalvageStageInfo_proto = out.File
+ file_SalvageStageInfo_proto_rawDesc = nil
+ file_SalvageStageInfo_proto_goTypes = nil
+ file_SalvageStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SaveCoopDialogReq.pb.go b/protocol/proto/SaveCoopDialogReq.pb.go
new file mode 100644
index 00000000..c40cd525
--- /dev/null
+++ b/protocol/proto/SaveCoopDialogReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SaveCoopDialogReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2000
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SaveCoopDialogReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MainCoopId uint32 `protobuf:"varint,11,opt,name=main_coop_id,json=mainCoopId,proto3" json:"main_coop_id,omitempty"`
+ DialogId uint32 `protobuf:"varint,6,opt,name=dialog_id,json=dialogId,proto3" json:"dialog_id,omitempty"`
+}
+
+func (x *SaveCoopDialogReq) Reset() {
+ *x = SaveCoopDialogReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SaveCoopDialogReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SaveCoopDialogReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SaveCoopDialogReq) ProtoMessage() {}
+
+func (x *SaveCoopDialogReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SaveCoopDialogReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SaveCoopDialogReq.ProtoReflect.Descriptor instead.
+func (*SaveCoopDialogReq) Descriptor() ([]byte, []int) {
+ return file_SaveCoopDialogReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SaveCoopDialogReq) GetMainCoopId() uint32 {
+ if x != nil {
+ return x.MainCoopId
+ }
+ return 0
+}
+
+func (x *SaveCoopDialogReq) GetDialogId() uint32 {
+ if x != nil {
+ return x.DialogId
+ }
+ return 0
+}
+
+var File_SaveCoopDialogReq_proto protoreflect.FileDescriptor
+
+var file_SaveCoopDialogReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6f, 0x70, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x52, 0x0a, 0x11, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6f, 0x70, 0x44, 0x69, 0x61, 0x6c,
+ 0x6f, 0x67, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f,
+ 0x6f, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x69,
+ 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x61, 0x6c, 0x6f,
+ 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x61, 0x6c,
+ 0x6f, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SaveCoopDialogReq_proto_rawDescOnce sync.Once
+ file_SaveCoopDialogReq_proto_rawDescData = file_SaveCoopDialogReq_proto_rawDesc
+)
+
+func file_SaveCoopDialogReq_proto_rawDescGZIP() []byte {
+ file_SaveCoopDialogReq_proto_rawDescOnce.Do(func() {
+ file_SaveCoopDialogReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SaveCoopDialogReq_proto_rawDescData)
+ })
+ return file_SaveCoopDialogReq_proto_rawDescData
+}
+
+var file_SaveCoopDialogReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SaveCoopDialogReq_proto_goTypes = []interface{}{
+ (*SaveCoopDialogReq)(nil), // 0: proto.SaveCoopDialogReq
+}
+var file_SaveCoopDialogReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SaveCoopDialogReq_proto_init() }
+func file_SaveCoopDialogReq_proto_init() {
+ if File_SaveCoopDialogReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SaveCoopDialogReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SaveCoopDialogReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SaveCoopDialogReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SaveCoopDialogReq_proto_goTypes,
+ DependencyIndexes: file_SaveCoopDialogReq_proto_depIdxs,
+ MessageInfos: file_SaveCoopDialogReq_proto_msgTypes,
+ }.Build()
+ File_SaveCoopDialogReq_proto = out.File
+ file_SaveCoopDialogReq_proto_rawDesc = nil
+ file_SaveCoopDialogReq_proto_goTypes = nil
+ file_SaveCoopDialogReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SaveCoopDialogRsp.pb.go b/protocol/proto/SaveCoopDialogRsp.pb.go
new file mode 100644
index 00000000..cc43d365
--- /dev/null
+++ b/protocol/proto/SaveCoopDialogRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SaveCoopDialogRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1962
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SaveCoopDialogRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DialogId uint32 `protobuf:"varint,8,opt,name=dialog_id,json=dialogId,proto3" json:"dialog_id,omitempty"`
+ MainCoopId uint32 `protobuf:"varint,10,opt,name=main_coop_id,json=mainCoopId,proto3" json:"main_coop_id,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SaveCoopDialogRsp) Reset() {
+ *x = SaveCoopDialogRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SaveCoopDialogRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SaveCoopDialogRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SaveCoopDialogRsp) ProtoMessage() {}
+
+func (x *SaveCoopDialogRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SaveCoopDialogRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SaveCoopDialogRsp.ProtoReflect.Descriptor instead.
+func (*SaveCoopDialogRsp) Descriptor() ([]byte, []int) {
+ return file_SaveCoopDialogRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SaveCoopDialogRsp) GetDialogId() uint32 {
+ if x != nil {
+ return x.DialogId
+ }
+ return 0
+}
+
+func (x *SaveCoopDialogRsp) GetMainCoopId() uint32 {
+ if x != nil {
+ return x.MainCoopId
+ }
+ return 0
+}
+
+func (x *SaveCoopDialogRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SaveCoopDialogRsp_proto protoreflect.FileDescriptor
+
+var file_SaveCoopDialogRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6f, 0x70, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6c, 0x0a, 0x11, 0x53, 0x61, 0x76, 0x65, 0x43, 0x6f, 0x6f, 0x70, 0x44, 0x69, 0x61, 0x6c,
+ 0x6f, 0x67, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x5f,
+ 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,
+ 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f,
+ 0x6f, 0x70, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SaveCoopDialogRsp_proto_rawDescOnce sync.Once
+ file_SaveCoopDialogRsp_proto_rawDescData = file_SaveCoopDialogRsp_proto_rawDesc
+)
+
+func file_SaveCoopDialogRsp_proto_rawDescGZIP() []byte {
+ file_SaveCoopDialogRsp_proto_rawDescOnce.Do(func() {
+ file_SaveCoopDialogRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SaveCoopDialogRsp_proto_rawDescData)
+ })
+ return file_SaveCoopDialogRsp_proto_rawDescData
+}
+
+var file_SaveCoopDialogRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SaveCoopDialogRsp_proto_goTypes = []interface{}{
+ (*SaveCoopDialogRsp)(nil), // 0: proto.SaveCoopDialogRsp
+}
+var file_SaveCoopDialogRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SaveCoopDialogRsp_proto_init() }
+func file_SaveCoopDialogRsp_proto_init() {
+ if File_SaveCoopDialogRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SaveCoopDialogRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SaveCoopDialogRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SaveCoopDialogRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SaveCoopDialogRsp_proto_goTypes,
+ DependencyIndexes: file_SaveCoopDialogRsp_proto_depIdxs,
+ MessageInfos: file_SaveCoopDialogRsp_proto_msgTypes,
+ }.Build()
+ File_SaveCoopDialogRsp_proto = out.File
+ file_SaveCoopDialogRsp_proto_rawDesc = nil
+ file_SaveCoopDialogRsp_proto_goTypes = nil
+ file_SaveCoopDialogRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SaveCustomDungeonRoomReq.pb.go b/protocol/proto/SaveCustomDungeonRoomReq.pb.go
new file mode 100644
index 00000000..5c4accb0
--- /dev/null
+++ b/protocol/proto/SaveCustomDungeonRoomReq.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SaveCustomDungeonRoomReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6225
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SaveCustomDungeonRoomReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CustomDungeonRoom *CustomDungeonRoom `protobuf:"bytes,5,opt,name=custom_dungeon_room,json=customDungeonRoom,proto3" json:"custom_dungeon_room,omitempty"`
+ IsUpdateSetting bool `protobuf:"varint,7,opt,name=is_update_setting,json=isUpdateSetting,proto3" json:"is_update_setting,omitempty"`
+ Setting *CustomDungeonSetting `protobuf:"bytes,13,opt,name=setting,proto3" json:"setting,omitempty"`
+}
+
+func (x *SaveCustomDungeonRoomReq) Reset() {
+ *x = SaveCustomDungeonRoomReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SaveCustomDungeonRoomReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SaveCustomDungeonRoomReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SaveCustomDungeonRoomReq) ProtoMessage() {}
+
+func (x *SaveCustomDungeonRoomReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SaveCustomDungeonRoomReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SaveCustomDungeonRoomReq.ProtoReflect.Descriptor instead.
+func (*SaveCustomDungeonRoomReq) Descriptor() ([]byte, []int) {
+ return file_SaveCustomDungeonRoomReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SaveCustomDungeonRoomReq) GetCustomDungeonRoom() *CustomDungeonRoom {
+ if x != nil {
+ return x.CustomDungeonRoom
+ }
+ return nil
+}
+
+func (x *SaveCustomDungeonRoomReq) GetIsUpdateSetting() bool {
+ if x != nil {
+ return x.IsUpdateSetting
+ }
+ return false
+}
+
+func (x *SaveCustomDungeonRoomReq) GetSetting() *CustomDungeonSetting {
+ if x != nil {
+ return x.Setting
+ }
+ return nil
+}
+
+var File_SaveCustomDungeonRoomReq_proto protoreflect.FileDescriptor
+
+var file_SaveCustomDungeonRoomReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x61, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a,
+ 0x18, 0x53, 0x61, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x48, 0x0a, 0x13, 0x63, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x6d,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d,
+ 0x52, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x6f, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
+ 0x69, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12,
+ 0x35, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SaveCustomDungeonRoomReq_proto_rawDescOnce sync.Once
+ file_SaveCustomDungeonRoomReq_proto_rawDescData = file_SaveCustomDungeonRoomReq_proto_rawDesc
+)
+
+func file_SaveCustomDungeonRoomReq_proto_rawDescGZIP() []byte {
+ file_SaveCustomDungeonRoomReq_proto_rawDescOnce.Do(func() {
+ file_SaveCustomDungeonRoomReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SaveCustomDungeonRoomReq_proto_rawDescData)
+ })
+ return file_SaveCustomDungeonRoomReq_proto_rawDescData
+}
+
+var file_SaveCustomDungeonRoomReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SaveCustomDungeonRoomReq_proto_goTypes = []interface{}{
+ (*SaveCustomDungeonRoomReq)(nil), // 0: proto.SaveCustomDungeonRoomReq
+ (*CustomDungeonRoom)(nil), // 1: proto.CustomDungeonRoom
+ (*CustomDungeonSetting)(nil), // 2: proto.CustomDungeonSetting
+}
+var file_SaveCustomDungeonRoomReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SaveCustomDungeonRoomReq.custom_dungeon_room:type_name -> proto.CustomDungeonRoom
+ 2, // 1: proto.SaveCustomDungeonRoomReq.setting:type_name -> proto.CustomDungeonSetting
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SaveCustomDungeonRoomReq_proto_init() }
+func file_SaveCustomDungeonRoomReq_proto_init() {
+ if File_SaveCustomDungeonRoomReq_proto != nil {
+ return
+ }
+ file_CustomDungeonRoom_proto_init()
+ file_CustomDungeonSetting_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SaveCustomDungeonRoomReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SaveCustomDungeonRoomReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SaveCustomDungeonRoomReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SaveCustomDungeonRoomReq_proto_goTypes,
+ DependencyIndexes: file_SaveCustomDungeonRoomReq_proto_depIdxs,
+ MessageInfos: file_SaveCustomDungeonRoomReq_proto_msgTypes,
+ }.Build()
+ File_SaveCustomDungeonRoomReq_proto = out.File
+ file_SaveCustomDungeonRoomReq_proto_rawDesc = nil
+ file_SaveCustomDungeonRoomReq_proto_goTypes = nil
+ file_SaveCustomDungeonRoomReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SaveCustomDungeonRoomRsp.pb.go b/protocol/proto/SaveCustomDungeonRoomRsp.pb.go
new file mode 100644
index 00000000..b7f8e599
--- /dev/null
+++ b/protocol/proto/SaveCustomDungeonRoomRsp.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SaveCustomDungeonRoomRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6207
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SaveCustomDungeonRoomRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,14,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ ErrorBlockList []*CustomDungeonBlock `protobuf:"bytes,9,rep,name=error_block_list,json=errorBlockList,proto3" json:"error_block_list,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SaveCustomDungeonRoomRsp) Reset() {
+ *x = SaveCustomDungeonRoomRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SaveCustomDungeonRoomRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SaveCustomDungeonRoomRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SaveCustomDungeonRoomRsp) ProtoMessage() {}
+
+func (x *SaveCustomDungeonRoomRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SaveCustomDungeonRoomRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SaveCustomDungeonRoomRsp.ProtoReflect.Descriptor instead.
+func (*SaveCustomDungeonRoomRsp) Descriptor() ([]byte, []int) {
+ return file_SaveCustomDungeonRoomRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SaveCustomDungeonRoomRsp) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *SaveCustomDungeonRoomRsp) GetErrorBlockList() []*CustomDungeonBlock {
+ if x != nil {
+ return x.ErrorBlockList
+ }
+ return nil
+}
+
+func (x *SaveCustomDungeonRoomRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SaveCustomDungeonRoomRsp_proto protoreflect.FileDescriptor
+
+var file_SaveCustomDungeonRoomRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x61, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x18, 0x53, 0x61, 0x76, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x17,
+ 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0e, 0x65, 0x72,
+ 0x72, 0x6f, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SaveCustomDungeonRoomRsp_proto_rawDescOnce sync.Once
+ file_SaveCustomDungeonRoomRsp_proto_rawDescData = file_SaveCustomDungeonRoomRsp_proto_rawDesc
+)
+
+func file_SaveCustomDungeonRoomRsp_proto_rawDescGZIP() []byte {
+ file_SaveCustomDungeonRoomRsp_proto_rawDescOnce.Do(func() {
+ file_SaveCustomDungeonRoomRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SaveCustomDungeonRoomRsp_proto_rawDescData)
+ })
+ return file_SaveCustomDungeonRoomRsp_proto_rawDescData
+}
+
+var file_SaveCustomDungeonRoomRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SaveCustomDungeonRoomRsp_proto_goTypes = []interface{}{
+ (*SaveCustomDungeonRoomRsp)(nil), // 0: proto.SaveCustomDungeonRoomRsp
+ (*CustomDungeonBlock)(nil), // 1: proto.CustomDungeonBlock
+}
+var file_SaveCustomDungeonRoomRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SaveCustomDungeonRoomRsp.error_block_list:type_name -> proto.CustomDungeonBlock
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SaveCustomDungeonRoomRsp_proto_init() }
+func file_SaveCustomDungeonRoomRsp_proto_init() {
+ if File_SaveCustomDungeonRoomRsp_proto != nil {
+ return
+ }
+ file_CustomDungeonBlock_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SaveCustomDungeonRoomRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SaveCustomDungeonRoomRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SaveCustomDungeonRoomRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SaveCustomDungeonRoomRsp_proto_goTypes,
+ DependencyIndexes: file_SaveCustomDungeonRoomRsp_proto_depIdxs,
+ MessageInfos: file_SaveCustomDungeonRoomRsp_proto_msgTypes,
+ }.Build()
+ File_SaveCustomDungeonRoomRsp_proto = out.File
+ file_SaveCustomDungeonRoomRsp_proto_rawDesc = nil
+ file_SaveCustomDungeonRoomRsp_proto_goTypes = nil
+ file_SaveCustomDungeonRoomRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SaveMainCoopReq.pb.go b/protocol/proto/SaveMainCoopReq.pb.go
new file mode 100644
index 00000000..d917ccf9
--- /dev/null
+++ b/protocol/proto/SaveMainCoopReq.pb.go
@@ -0,0 +1,220 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SaveMainCoopReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1975
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SaveMainCoopReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NormalVarMap map[uint32]int32 `protobuf:"bytes,15,rep,name=normal_var_map,json=normalVarMap,proto3" json:"normal_var_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ SelfConfidence uint32 `protobuf:"varint,2,opt,name=self_confidence,json=selfConfidence,proto3" json:"self_confidence,omitempty"`
+ SavePointId uint32 `protobuf:"varint,1,opt,name=save_point_id,json=savePointId,proto3" json:"save_point_id,omitempty"`
+ TempVarMap map[uint32]int32 `protobuf:"bytes,8,rep,name=temp_var_map,json=tempVarMap,proto3" json:"temp_var_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Id uint32 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *SaveMainCoopReq) Reset() {
+ *x = SaveMainCoopReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SaveMainCoopReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SaveMainCoopReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SaveMainCoopReq) ProtoMessage() {}
+
+func (x *SaveMainCoopReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SaveMainCoopReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SaveMainCoopReq.ProtoReflect.Descriptor instead.
+func (*SaveMainCoopReq) Descriptor() ([]byte, []int) {
+ return file_SaveMainCoopReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SaveMainCoopReq) GetNormalVarMap() map[uint32]int32 {
+ if x != nil {
+ return x.NormalVarMap
+ }
+ return nil
+}
+
+func (x *SaveMainCoopReq) GetSelfConfidence() uint32 {
+ if x != nil {
+ return x.SelfConfidence
+ }
+ return 0
+}
+
+func (x *SaveMainCoopReq) GetSavePointId() uint32 {
+ if x != nil {
+ return x.SavePointId
+ }
+ return 0
+}
+
+func (x *SaveMainCoopReq) GetTempVarMap() map[uint32]int32 {
+ if x != nil {
+ return x.TempVarMap
+ }
+ return nil
+}
+
+func (x *SaveMainCoopReq) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_SaveMainCoopReq_proto protoreflect.FileDescriptor
+
+var file_SaveMainCoopReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88,
+ 0x03, 0x0a, 0x0f, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x52,
+ 0x65, 0x71, 0x12, 0x4e, 0x0a, 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x72,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x52,
+ 0x65, 0x71, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x72, 0x4d,
+ 0x61, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 0x65, 0x6c,
+ 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73,
+ 0x61, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12,
+ 0x48, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x61,
+ 0x76, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x54, 0x65,
+ 0x6d, 0x70, 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x74,
+ 0x65, 0x6d, 0x70, 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x4e, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6c, 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x54, 0x65,
+ 0x6d, 0x70, 0x56, 0x61, 0x72, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SaveMainCoopReq_proto_rawDescOnce sync.Once
+ file_SaveMainCoopReq_proto_rawDescData = file_SaveMainCoopReq_proto_rawDesc
+)
+
+func file_SaveMainCoopReq_proto_rawDescGZIP() []byte {
+ file_SaveMainCoopReq_proto_rawDescOnce.Do(func() {
+ file_SaveMainCoopReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SaveMainCoopReq_proto_rawDescData)
+ })
+ return file_SaveMainCoopReq_proto_rawDescData
+}
+
+var file_SaveMainCoopReq_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_SaveMainCoopReq_proto_goTypes = []interface{}{
+ (*SaveMainCoopReq)(nil), // 0: proto.SaveMainCoopReq
+ nil, // 1: proto.SaveMainCoopReq.NormalVarMapEntry
+ nil, // 2: proto.SaveMainCoopReq.TempVarMapEntry
+}
+var file_SaveMainCoopReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SaveMainCoopReq.normal_var_map:type_name -> proto.SaveMainCoopReq.NormalVarMapEntry
+ 2, // 1: proto.SaveMainCoopReq.temp_var_map:type_name -> proto.SaveMainCoopReq.TempVarMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SaveMainCoopReq_proto_init() }
+func file_SaveMainCoopReq_proto_init() {
+ if File_SaveMainCoopReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SaveMainCoopReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SaveMainCoopReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SaveMainCoopReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SaveMainCoopReq_proto_goTypes,
+ DependencyIndexes: file_SaveMainCoopReq_proto_depIdxs,
+ MessageInfos: file_SaveMainCoopReq_proto_msgTypes,
+ }.Build()
+ File_SaveMainCoopReq_proto = out.File
+ file_SaveMainCoopReq_proto_rawDesc = nil
+ file_SaveMainCoopReq_proto_goTypes = nil
+ file_SaveMainCoopReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SaveMainCoopRsp.pb.go b/protocol/proto/SaveMainCoopRsp.pb.go
new file mode 100644
index 00000000..200a4ebf
--- /dev/null
+++ b/protocol/proto/SaveMainCoopRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SaveMainCoopRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1957
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SaveMainCoopRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SavePointIdList []uint32 `protobuf:"varint,15,rep,packed,name=save_point_id_list,json=savePointIdList,proto3" json:"save_point_id_list,omitempty"`
+ Id uint32 `protobuf:"varint,14,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *SaveMainCoopRsp) Reset() {
+ *x = SaveMainCoopRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SaveMainCoopRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SaveMainCoopRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SaveMainCoopRsp) ProtoMessage() {}
+
+func (x *SaveMainCoopRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SaveMainCoopRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SaveMainCoopRsp.ProtoReflect.Descriptor instead.
+func (*SaveMainCoopRsp) Descriptor() ([]byte, []int) {
+ return file_SaveMainCoopRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SaveMainCoopRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SaveMainCoopRsp) GetSavePointIdList() []uint32 {
+ if x != nil {
+ return x.SavePointIdList
+ }
+ return nil
+}
+
+func (x *SaveMainCoopRsp) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_SaveMainCoopRsp_proto protoreflect.FileDescriptor
+
+var file_SaveMainCoopRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68,
+ 0x0a, 0x0f, 0x53, 0x61, 0x76, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x73,
+ 0x61, 0x76, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x61, 0x76, 0x65, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SaveMainCoopRsp_proto_rawDescOnce sync.Once
+ file_SaveMainCoopRsp_proto_rawDescData = file_SaveMainCoopRsp_proto_rawDesc
+)
+
+func file_SaveMainCoopRsp_proto_rawDescGZIP() []byte {
+ file_SaveMainCoopRsp_proto_rawDescOnce.Do(func() {
+ file_SaveMainCoopRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SaveMainCoopRsp_proto_rawDescData)
+ })
+ return file_SaveMainCoopRsp_proto_rawDescData
+}
+
+var file_SaveMainCoopRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SaveMainCoopRsp_proto_goTypes = []interface{}{
+ (*SaveMainCoopRsp)(nil), // 0: proto.SaveMainCoopRsp
+}
+var file_SaveMainCoopRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SaveMainCoopRsp_proto_init() }
+func file_SaveMainCoopRsp_proto_init() {
+ if File_SaveMainCoopRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SaveMainCoopRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SaveMainCoopRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SaveMainCoopRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SaveMainCoopRsp_proto_goTypes,
+ DependencyIndexes: file_SaveMainCoopRsp_proto_depIdxs,
+ MessageInfos: file_SaveMainCoopRsp_proto_msgTypes,
+ }.Build()
+ File_SaveMainCoopRsp_proto = out.File
+ file_SaveMainCoopRsp_proto_rawDesc = nil
+ file_SaveMainCoopRsp_proto_goTypes = nil
+ file_SaveMainCoopRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SaveUgcReq.pb.go b/protocol/proto/SaveUgcReq.pb.go
new file mode 100644
index 00000000..6058d5ec
--- /dev/null
+++ b/protocol/proto/SaveUgcReq.pb.go
@@ -0,0 +1,245 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SaveUgcReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6329
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SaveUgcReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UgcType UgcType `protobuf:"varint,11,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+ // Types that are assignable to Record:
+ //
+ // *SaveUgcReq_MusicRecord
+ Record isSaveUgcReq_Record `protobuf_oneof:"record"`
+ // Types that are assignable to Brief:
+ //
+ // *SaveUgcReq_MusicBriefInfo
+ Brief isSaveUgcReq_Brief `protobuf_oneof:"brief"`
+}
+
+func (x *SaveUgcReq) Reset() {
+ *x = SaveUgcReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SaveUgcReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SaveUgcReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SaveUgcReq) ProtoMessage() {}
+
+func (x *SaveUgcReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SaveUgcReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SaveUgcReq.ProtoReflect.Descriptor instead.
+func (*SaveUgcReq) Descriptor() ([]byte, []int) {
+ return file_SaveUgcReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SaveUgcReq) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+func (m *SaveUgcReq) GetRecord() isSaveUgcReq_Record {
+ if m != nil {
+ return m.Record
+ }
+ return nil
+}
+
+func (x *SaveUgcReq) GetMusicRecord() *UgcMusicRecord {
+ if x, ok := x.GetRecord().(*SaveUgcReq_MusicRecord); ok {
+ return x.MusicRecord
+ }
+ return nil
+}
+
+func (m *SaveUgcReq) GetBrief() isSaveUgcReq_Brief {
+ if m != nil {
+ return m.Brief
+ }
+ return nil
+}
+
+func (x *SaveUgcReq) GetMusicBriefInfo() *UgcMusicBriefInfo {
+ if x, ok := x.GetBrief().(*SaveUgcReq_MusicBriefInfo); ok {
+ return x.MusicBriefInfo
+ }
+ return nil
+}
+
+type isSaveUgcReq_Record interface {
+ isSaveUgcReq_Record()
+}
+
+type SaveUgcReq_MusicRecord struct {
+ MusicRecord *UgcMusicRecord `protobuf:"bytes,2,opt,name=music_record,json=musicRecord,proto3,oneof"`
+}
+
+func (*SaveUgcReq_MusicRecord) isSaveUgcReq_Record() {}
+
+type isSaveUgcReq_Brief interface {
+ isSaveUgcReq_Brief()
+}
+
+type SaveUgcReq_MusicBriefInfo struct {
+ MusicBriefInfo *UgcMusicBriefInfo `protobuf:"bytes,1488,opt,name=music_brief_info,json=musicBriefInfo,proto3,oneof"`
+}
+
+func (*SaveUgcReq_MusicBriefInfo) isSaveUgcReq_Brief() {}
+
+var File_SaveUgcReq_proto protoreflect.FileDescriptor
+
+var file_SaveUgcReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x53, 0x61, 0x76, 0x65, 0x55, 0x67, 0x63, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x55, 0x67, 0x63, 0x4d, 0x75,
+ 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x14, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcd, 0x01, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65,
+ 0x55, 0x67, 0x63, 0x52, 0x65, 0x71, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x74, 0x79,
+ 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x75, 0x67, 0x63, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x00,
+ 0x52, 0x0b, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x45, 0x0a,
+ 0x10, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0xd0, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x01, 0x52, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66,
+ 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x07,
+ 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SaveUgcReq_proto_rawDescOnce sync.Once
+ file_SaveUgcReq_proto_rawDescData = file_SaveUgcReq_proto_rawDesc
+)
+
+func file_SaveUgcReq_proto_rawDescGZIP() []byte {
+ file_SaveUgcReq_proto_rawDescOnce.Do(func() {
+ file_SaveUgcReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SaveUgcReq_proto_rawDescData)
+ })
+ return file_SaveUgcReq_proto_rawDescData
+}
+
+var file_SaveUgcReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SaveUgcReq_proto_goTypes = []interface{}{
+ (*SaveUgcReq)(nil), // 0: proto.SaveUgcReq
+ (UgcType)(0), // 1: proto.UgcType
+ (*UgcMusicRecord)(nil), // 2: proto.UgcMusicRecord
+ (*UgcMusicBriefInfo)(nil), // 3: proto.UgcMusicBriefInfo
+}
+var file_SaveUgcReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SaveUgcReq.ugc_type:type_name -> proto.UgcType
+ 2, // 1: proto.SaveUgcReq.music_record:type_name -> proto.UgcMusicRecord
+ 3, // 2: proto.SaveUgcReq.music_brief_info:type_name -> proto.UgcMusicBriefInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_SaveUgcReq_proto_init() }
+func file_SaveUgcReq_proto_init() {
+ if File_SaveUgcReq_proto != nil {
+ return
+ }
+ file_UgcMusicBriefInfo_proto_init()
+ file_UgcMusicRecord_proto_init()
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SaveUgcReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SaveUgcReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_SaveUgcReq_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*SaveUgcReq_MusicRecord)(nil),
+ (*SaveUgcReq_MusicBriefInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SaveUgcReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SaveUgcReq_proto_goTypes,
+ DependencyIndexes: file_SaveUgcReq_proto_depIdxs,
+ MessageInfos: file_SaveUgcReq_proto_msgTypes,
+ }.Build()
+ File_SaveUgcReq_proto = out.File
+ file_SaveUgcReq_proto_rawDesc = nil
+ file_SaveUgcReq_proto_goTypes = nil
+ file_SaveUgcReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SaveUgcRsp.pb.go b/protocol/proto/SaveUgcRsp.pb.go
new file mode 100644
index 00000000..08de42a0
--- /dev/null
+++ b/protocol/proto/SaveUgcRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SaveUgcRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6322
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SaveUgcRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ UgcGuid uint64 `protobuf:"varint,8,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+ UgcType UgcType `protobuf:"varint,1,opt,name=ugc_type,json=ugcType,proto3,enum=proto.UgcType" json:"ugc_type,omitempty"`
+}
+
+func (x *SaveUgcRsp) Reset() {
+ *x = SaveUgcRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SaveUgcRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SaveUgcRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SaveUgcRsp) ProtoMessage() {}
+
+func (x *SaveUgcRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SaveUgcRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SaveUgcRsp.ProtoReflect.Descriptor instead.
+func (*SaveUgcRsp) Descriptor() ([]byte, []int) {
+ return file_SaveUgcRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SaveUgcRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SaveUgcRsp) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+func (x *SaveUgcRsp) GetUgcType() UgcType {
+ if x != nil {
+ return x.UgcType
+ }
+ return UgcType_UGC_TYPE_NONE
+}
+
+var File_SaveUgcRsp_proto protoreflect.FileDescriptor
+
+var file_SaveUgcRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x53, 0x61, 0x76, 0x65, 0x55, 0x67, 0x63, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x55, 0x67, 0x63, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65,
+ 0x55, 0x67, 0x63, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x04, 0x52, 0x07, 0x75, 0x67, 0x63, 0x47, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x08, 0x75,
+ 0x67, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x75,
+ 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SaveUgcRsp_proto_rawDescOnce sync.Once
+ file_SaveUgcRsp_proto_rawDescData = file_SaveUgcRsp_proto_rawDesc
+)
+
+func file_SaveUgcRsp_proto_rawDescGZIP() []byte {
+ file_SaveUgcRsp_proto_rawDescOnce.Do(func() {
+ file_SaveUgcRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SaveUgcRsp_proto_rawDescData)
+ })
+ return file_SaveUgcRsp_proto_rawDescData
+}
+
+var file_SaveUgcRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SaveUgcRsp_proto_goTypes = []interface{}{
+ (*SaveUgcRsp)(nil), // 0: proto.SaveUgcRsp
+ (UgcType)(0), // 1: proto.UgcType
+}
+var file_SaveUgcRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SaveUgcRsp.ugc_type:type_name -> proto.UgcType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SaveUgcRsp_proto_init() }
+func file_SaveUgcRsp_proto_init() {
+ if File_SaveUgcRsp_proto != nil {
+ return
+ }
+ file_UgcType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SaveUgcRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SaveUgcRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SaveUgcRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SaveUgcRsp_proto_goTypes,
+ DependencyIndexes: file_SaveUgcRsp_proto_depIdxs,
+ MessageInfos: file_SaveUgcRsp_proto_msgTypes,
+ }.Build()
+ File_SaveUgcRsp_proto = out.File
+ file_SaveUgcRsp_proto_rawDesc = nil
+ file_SaveUgcRsp_proto_goTypes = nil
+ file_SaveUgcRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneAreaUnlockNotify.pb.go b/protocol/proto/SceneAreaUnlockNotify.pb.go
new file mode 100644
index 00000000..eb1310ce
--- /dev/null
+++ b/protocol/proto/SceneAreaUnlockNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneAreaUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 293
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneAreaUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaList []uint32 `protobuf:"varint,10,rep,packed,name=area_list,json=areaList,proto3" json:"area_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,9,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *SceneAreaUnlockNotify) Reset() {
+ *x = SceneAreaUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneAreaUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneAreaUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneAreaUnlockNotify) ProtoMessage() {}
+
+func (x *SceneAreaUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneAreaUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneAreaUnlockNotify.ProtoReflect.Descriptor instead.
+func (*SceneAreaUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_SceneAreaUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneAreaUnlockNotify) GetAreaList() []uint32 {
+ if x != nil {
+ return x.AreaList
+ }
+ return nil
+}
+
+func (x *SceneAreaUnlockNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_SceneAreaUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_SceneAreaUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x65,
+ 0x61, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneAreaUnlockNotify_proto_rawDescOnce sync.Once
+ file_SceneAreaUnlockNotify_proto_rawDescData = file_SceneAreaUnlockNotify_proto_rawDesc
+)
+
+func file_SceneAreaUnlockNotify_proto_rawDescGZIP() []byte {
+ file_SceneAreaUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_SceneAreaUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneAreaUnlockNotify_proto_rawDescData)
+ })
+ return file_SceneAreaUnlockNotify_proto_rawDescData
+}
+
+var file_SceneAreaUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneAreaUnlockNotify_proto_goTypes = []interface{}{
+ (*SceneAreaUnlockNotify)(nil), // 0: proto.SceneAreaUnlockNotify
+}
+var file_SceneAreaUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneAreaUnlockNotify_proto_init() }
+func file_SceneAreaUnlockNotify_proto_init() {
+ if File_SceneAreaUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneAreaUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneAreaUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneAreaUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneAreaUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_SceneAreaUnlockNotify_proto_depIdxs,
+ MessageInfos: file_SceneAreaUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_SceneAreaUnlockNotify_proto = out.File
+ file_SceneAreaUnlockNotify_proto_rawDesc = nil
+ file_SceneAreaUnlockNotify_proto_goTypes = nil
+ file_SceneAreaUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneAreaWeatherNotify.pb.go b/protocol/proto/SceneAreaWeatherNotify.pb.go
new file mode 100644
index 00000000..af35b31a
--- /dev/null
+++ b/protocol/proto/SceneAreaWeatherNotify.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneAreaWeatherNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 230
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneAreaWeatherNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WeatherAreaId uint32 `protobuf:"varint,1,opt,name=weather_area_id,json=weatherAreaId,proto3" json:"weather_area_id,omitempty"`
+ WeatherGadgetId uint32 `protobuf:"varint,9,opt,name=weather_gadget_id,json=weatherGadgetId,proto3" json:"weather_gadget_id,omitempty"`
+ ClimateType uint32 `protobuf:"varint,14,opt,name=climate_type,json=climateType,proto3" json:"climate_type,omitempty"`
+ TransDuration float32 `protobuf:"fixed32,15,opt,name=trans_duration,json=transDuration,proto3" json:"trans_duration,omitempty"`
+ WeatherValueMap map[uint32]string `protobuf:"bytes,10,rep,name=weather_value_map,json=weatherValueMap,proto3" json:"weather_value_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *SceneAreaWeatherNotify) Reset() {
+ *x = SceneAreaWeatherNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneAreaWeatherNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneAreaWeatherNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneAreaWeatherNotify) ProtoMessage() {}
+
+func (x *SceneAreaWeatherNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneAreaWeatherNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneAreaWeatherNotify.ProtoReflect.Descriptor instead.
+func (*SceneAreaWeatherNotify) Descriptor() ([]byte, []int) {
+ return file_SceneAreaWeatherNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneAreaWeatherNotify) GetWeatherAreaId() uint32 {
+ if x != nil {
+ return x.WeatherAreaId
+ }
+ return 0
+}
+
+func (x *SceneAreaWeatherNotify) GetWeatherGadgetId() uint32 {
+ if x != nil {
+ return x.WeatherGadgetId
+ }
+ return 0
+}
+
+func (x *SceneAreaWeatherNotify) GetClimateType() uint32 {
+ if x != nil {
+ return x.ClimateType
+ }
+ return 0
+}
+
+func (x *SceneAreaWeatherNotify) GetTransDuration() float32 {
+ if x != nil {
+ return x.TransDuration
+ }
+ return 0
+}
+
+func (x *SceneAreaWeatherNotify) GetWeatherValueMap() map[uint32]string {
+ if x != nil {
+ return x.WeatherValueMap
+ }
+ return nil
+}
+
+var File_SceneAreaWeatherNotify_proto protoreflect.FileDescriptor
+
+var file_SceneAreaWeatherNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x57, 0x65, 0x61, 0x74, 0x68,
+ 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x02, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41,
+ 0x72, 0x65, 0x61, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x65, 0x61,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x65, 0x61, 0x74, 0x68,
+ 0x65, 0x72, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x65, 0x61, 0x74,
+ 0x68, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x6d,
+ 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52,
+ 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e,
+ 0x0a, 0x11, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x72, 0x65, 0x61, 0x57, 0x65, 0x61, 0x74, 0x68,
+ 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x77,
+ 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x42,
+ 0x0a, 0x14, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneAreaWeatherNotify_proto_rawDescOnce sync.Once
+ file_SceneAreaWeatherNotify_proto_rawDescData = file_SceneAreaWeatherNotify_proto_rawDesc
+)
+
+func file_SceneAreaWeatherNotify_proto_rawDescGZIP() []byte {
+ file_SceneAreaWeatherNotify_proto_rawDescOnce.Do(func() {
+ file_SceneAreaWeatherNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneAreaWeatherNotify_proto_rawDescData)
+ })
+ return file_SceneAreaWeatherNotify_proto_rawDescData
+}
+
+var file_SceneAreaWeatherNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SceneAreaWeatherNotify_proto_goTypes = []interface{}{
+ (*SceneAreaWeatherNotify)(nil), // 0: proto.SceneAreaWeatherNotify
+ nil, // 1: proto.SceneAreaWeatherNotify.WeatherValueMapEntry
+}
+var file_SceneAreaWeatherNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneAreaWeatherNotify.weather_value_map:type_name -> proto.SceneAreaWeatherNotify.WeatherValueMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneAreaWeatherNotify_proto_init() }
+func file_SceneAreaWeatherNotify_proto_init() {
+ if File_SceneAreaWeatherNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneAreaWeatherNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneAreaWeatherNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneAreaWeatherNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneAreaWeatherNotify_proto_goTypes,
+ DependencyIndexes: file_SceneAreaWeatherNotify_proto_depIdxs,
+ MessageInfos: file_SceneAreaWeatherNotify_proto_msgTypes,
+ }.Build()
+ File_SceneAreaWeatherNotify_proto = out.File
+ file_SceneAreaWeatherNotify_proto_rawDesc = nil
+ file_SceneAreaWeatherNotify_proto_goTypes = nil
+ file_SceneAreaWeatherNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneAudioNotify.pb.go b/protocol/proto/SceneAudioNotify.pb.go
new file mode 100644
index 00000000..efa7547d
--- /dev/null
+++ b/protocol/proto/SceneAudioNotify.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneAudioNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3166
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneAudioNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param2 []float32 `protobuf:"fixed32,14,rep,packed,name=param2,proto3" json:"param2,omitempty"`
+ Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
+ Param3 []string `protobuf:"bytes,11,rep,name=param3,proto3" json:"param3,omitempty"`
+ SourceUid uint32 `protobuf:"varint,6,opt,name=source_uid,json=sourceUid,proto3" json:"source_uid,omitempty"`
+ Param1 []uint32 `protobuf:"varint,4,rep,packed,name=param1,proto3" json:"param1,omitempty"`
+}
+
+func (x *SceneAudioNotify) Reset() {
+ *x = SceneAudioNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneAudioNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneAudioNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneAudioNotify) ProtoMessage() {}
+
+func (x *SceneAudioNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneAudioNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneAudioNotify.ProtoReflect.Descriptor instead.
+func (*SceneAudioNotify) Descriptor() ([]byte, []int) {
+ return file_SceneAudioNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneAudioNotify) GetParam2() []float32 {
+ if x != nil {
+ return x.Param2
+ }
+ return nil
+}
+
+func (x *SceneAudioNotify) GetType() int32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+func (x *SceneAudioNotify) GetParam3() []string {
+ if x != nil {
+ return x.Param3
+ }
+ return nil
+}
+
+func (x *SceneAudioNotify) GetSourceUid() uint32 {
+ if x != nil {
+ return x.SourceUid
+ }
+ return 0
+}
+
+func (x *SceneAudioNotify) GetParam1() []uint32 {
+ if x != nil {
+ return x.Param1
+ }
+ return nil
+}
+
+var File_SceneAudioNotify_proto protoreflect.FileDescriptor
+
+var file_SceneAudioNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x8d, 0x01, 0x0a, 0x10, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x0e,
+ 0x20, 0x03, 0x28, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x12, 0x0a, 0x04,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
+ 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09,
+ 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x31, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneAudioNotify_proto_rawDescOnce sync.Once
+ file_SceneAudioNotify_proto_rawDescData = file_SceneAudioNotify_proto_rawDesc
+)
+
+func file_SceneAudioNotify_proto_rawDescGZIP() []byte {
+ file_SceneAudioNotify_proto_rawDescOnce.Do(func() {
+ file_SceneAudioNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneAudioNotify_proto_rawDescData)
+ })
+ return file_SceneAudioNotify_proto_rawDescData
+}
+
+var file_SceneAudioNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneAudioNotify_proto_goTypes = []interface{}{
+ (*SceneAudioNotify)(nil), // 0: proto.SceneAudioNotify
+}
+var file_SceneAudioNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneAudioNotify_proto_init() }
+func file_SceneAudioNotify_proto_init() {
+ if File_SceneAudioNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneAudioNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneAudioNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneAudioNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneAudioNotify_proto_goTypes,
+ DependencyIndexes: file_SceneAudioNotify_proto_depIdxs,
+ MessageInfos: file_SceneAudioNotify_proto_msgTypes,
+ }.Build()
+ File_SceneAudioNotify_proto = out.File
+ file_SceneAudioNotify_proto_rawDesc = nil
+ file_SceneAudioNotify_proto_goTypes = nil
+ file_SceneAudioNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneAvatarInfo.pb.go b/protocol/proto/SceneAvatarInfo.pb.go
new file mode 100644
index 00000000..569fff1b
--- /dev/null
+++ b/protocol/proto/SceneAvatarInfo.pb.go
@@ -0,0 +1,414 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ AvatarId uint32 `protobuf:"varint,2,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Guid uint64 `protobuf:"varint,3,opt,name=guid,proto3" json:"guid,omitempty"`
+ PeerId uint32 `protobuf:"varint,4,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
+ EquipIdList []uint32 `protobuf:"varint,5,rep,packed,name=equip_id_list,json=equipIdList,proto3" json:"equip_id_list,omitempty"`
+ SkillDepotId uint32 `protobuf:"varint,6,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+ TalentIdList []uint32 `protobuf:"varint,7,rep,packed,name=talent_id_list,json=talentIdList,proto3" json:"talent_id_list,omitempty"`
+ Weapon *SceneWeaponInfo `protobuf:"bytes,8,opt,name=weapon,proto3" json:"weapon,omitempty"`
+ ReliquaryList []*SceneReliquaryInfo `protobuf:"bytes,9,rep,name=reliquary_list,json=reliquaryList,proto3" json:"reliquary_list,omitempty"`
+ CoreProudSkillLevel uint32 `protobuf:"varint,11,opt,name=core_proud_skill_level,json=coreProudSkillLevel,proto3" json:"core_proud_skill_level,omitempty"`
+ InherentProudSkillList []uint32 `protobuf:"varint,12,rep,packed,name=inherent_proud_skill_list,json=inherentProudSkillList,proto3" json:"inherent_proud_skill_list,omitempty"`
+ SkillLevelMap map[uint32]uint32 `protobuf:"bytes,13,rep,name=skill_level_map,json=skillLevelMap,proto3" json:"skill_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ProudSkillExtraLevelMap map[uint32]uint32 `protobuf:"bytes,14,rep,name=proud_skill_extra_level_map,json=proudSkillExtraLevelMap,proto3" json:"proud_skill_extra_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ServerBuffList []*ServerBuff `protobuf:"bytes,15,rep,name=server_buff_list,json=serverBuffList,proto3" json:"server_buff_list,omitempty"`
+ TeamResonanceList []uint32 `protobuf:"varint,16,rep,packed,name=team_resonance_list,json=teamResonanceList,proto3" json:"team_resonance_list,omitempty"`
+ WearingFlycloakId uint32 `protobuf:"varint,17,opt,name=wearing_flycloak_id,json=wearingFlycloakId,proto3" json:"wearing_flycloak_id,omitempty"`
+ BornTime uint32 `protobuf:"varint,18,opt,name=born_time,json=bornTime,proto3" json:"born_time,omitempty"`
+ CostumeId uint32 `protobuf:"varint,19,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ CurVehicleInfo *CurVehicleInfo `protobuf:"bytes,20,opt,name=cur_vehicle_info,json=curVehicleInfo,proto3" json:"cur_vehicle_info,omitempty"`
+ ExcelInfo *AvatarExcelInfo `protobuf:"bytes,21,opt,name=excel_info,json=excelInfo,proto3" json:"excel_info,omitempty"`
+ AnimHash uint32 `protobuf:"varint,22,opt,name=anim_hash,json=animHash,proto3" json:"anim_hash,omitempty"`
+}
+
+func (x *SceneAvatarInfo) Reset() {
+ *x = SceneAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneAvatarInfo) ProtoMessage() {}
+
+func (x *SceneAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneAvatarInfo.ProtoReflect.Descriptor instead.
+func (*SceneAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_SceneAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneAvatarInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetPeerId() uint32 {
+ if x != nil {
+ return x.PeerId
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetEquipIdList() []uint32 {
+ if x != nil {
+ return x.EquipIdList
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetTalentIdList() []uint32 {
+ if x != nil {
+ return x.TalentIdList
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetWeapon() *SceneWeaponInfo {
+ if x != nil {
+ return x.Weapon
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetReliquaryList() []*SceneReliquaryInfo {
+ if x != nil {
+ return x.ReliquaryList
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetCoreProudSkillLevel() uint32 {
+ if x != nil {
+ return x.CoreProudSkillLevel
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetInherentProudSkillList() []uint32 {
+ if x != nil {
+ return x.InherentProudSkillList
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetSkillLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkillLevelMap
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetProudSkillExtraLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ProudSkillExtraLevelMap
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetServerBuffList() []*ServerBuff {
+ if x != nil {
+ return x.ServerBuffList
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetTeamResonanceList() []uint32 {
+ if x != nil {
+ return x.TeamResonanceList
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetWearingFlycloakId() uint32 {
+ if x != nil {
+ return x.WearingFlycloakId
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetBornTime() uint32 {
+ if x != nil {
+ return x.BornTime
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *SceneAvatarInfo) GetCurVehicleInfo() *CurVehicleInfo {
+ if x != nil {
+ return x.CurVehicleInfo
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetExcelInfo() *AvatarExcelInfo {
+ if x != nil {
+ return x.ExcelInfo
+ }
+ return nil
+}
+
+func (x *SceneAvatarInfo) GetAnimHash() uint32 {
+ if x != nil {
+ return x.AnimHash
+ }
+ return 0
+}
+
+var File_SceneAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_SceneAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x43, 0x75, 0x72, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x70,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x53, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81,
+ 0x09, 0x0a, 0x0f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x75, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
+ 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22,
+ 0x0a, 0x0d, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x71, 0x75, 0x69, 0x70, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x61, 0x6c, 0x65,
+ 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0c, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e,
+ 0x0a, 0x06, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x70,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x12, 0x40,
+ 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x13, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x39, 0x0a, 0x19, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x65, 0x6e,
+ 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x16, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x65,
+ 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x51, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x4d, 0x61, 0x70, 0x12, 0x71, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x70,
+ 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x3b, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42,
+ 0x75, 0x66, 0x66, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x6f,
+ 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x11, 0x74, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x66,
+ 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x11, 0x77, 0x65, 0x61, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x79, 0x63, 0x6c, 0x6f, 0x61,
+ 0x6b, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x6f, 0x72, 0x6e, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x13,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12,
+ 0x3f, 0x0a, 0x10, 0x63, 0x75, 0x72, 0x5f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x75, 0x72, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0e, 0x63, 0x75, 0x72, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x35, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x45, 0x78, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x65, 0x78,
+ 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x6e, 0x69, 0x6d, 0x5f,
+ 0x68, 0x61, 0x73, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x6e, 0x69, 0x6d,
+ 0x48, 0x61, 0x73, 0x68, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneAvatarInfo_proto_rawDescOnce sync.Once
+ file_SceneAvatarInfo_proto_rawDescData = file_SceneAvatarInfo_proto_rawDesc
+)
+
+func file_SceneAvatarInfo_proto_rawDescGZIP() []byte {
+ file_SceneAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_SceneAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneAvatarInfo_proto_rawDescData)
+ })
+ return file_SceneAvatarInfo_proto_rawDescData
+}
+
+var file_SceneAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_SceneAvatarInfo_proto_goTypes = []interface{}{
+ (*SceneAvatarInfo)(nil), // 0: proto.SceneAvatarInfo
+ nil, // 1: proto.SceneAvatarInfo.SkillLevelMapEntry
+ nil, // 2: proto.SceneAvatarInfo.ProudSkillExtraLevelMapEntry
+ (*SceneWeaponInfo)(nil), // 3: proto.SceneWeaponInfo
+ (*SceneReliquaryInfo)(nil), // 4: proto.SceneReliquaryInfo
+ (*ServerBuff)(nil), // 5: proto.ServerBuff
+ (*CurVehicleInfo)(nil), // 6: proto.CurVehicleInfo
+ (*AvatarExcelInfo)(nil), // 7: proto.AvatarExcelInfo
+}
+var file_SceneAvatarInfo_proto_depIdxs = []int32{
+ 3, // 0: proto.SceneAvatarInfo.weapon:type_name -> proto.SceneWeaponInfo
+ 4, // 1: proto.SceneAvatarInfo.reliquary_list:type_name -> proto.SceneReliquaryInfo
+ 1, // 2: proto.SceneAvatarInfo.skill_level_map:type_name -> proto.SceneAvatarInfo.SkillLevelMapEntry
+ 2, // 3: proto.SceneAvatarInfo.proud_skill_extra_level_map:type_name -> proto.SceneAvatarInfo.ProudSkillExtraLevelMapEntry
+ 5, // 4: proto.SceneAvatarInfo.server_buff_list:type_name -> proto.ServerBuff
+ 6, // 5: proto.SceneAvatarInfo.cur_vehicle_info:type_name -> proto.CurVehicleInfo
+ 7, // 6: proto.SceneAvatarInfo.excel_info:type_name -> proto.AvatarExcelInfo
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
+}
+
+func init() { file_SceneAvatarInfo_proto_init() }
+func file_SceneAvatarInfo_proto_init() {
+ if File_SceneAvatarInfo_proto != nil {
+ return
+ }
+ file_AvatarExcelInfo_proto_init()
+ file_CurVehicleInfo_proto_init()
+ file_SceneReliquaryInfo_proto_init()
+ file_SceneWeaponInfo_proto_init()
+ file_ServerBuff_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_SceneAvatarInfo_proto_depIdxs,
+ MessageInfos: file_SceneAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_SceneAvatarInfo_proto = out.File
+ file_SceneAvatarInfo_proto_rawDesc = nil
+ file_SceneAvatarInfo_proto_goTypes = nil
+ file_SceneAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneAvatarStaminaStepReq.pb.go b/protocol/proto/SceneAvatarStaminaStepReq.pb.go
new file mode 100644
index 00000000..3a43438b
--- /dev/null
+++ b/protocol/proto/SceneAvatarStaminaStepReq.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneAvatarStaminaStepReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 299
+// EnetChannelId: 1
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneAvatarStaminaStepReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UseClientRot bool `protobuf:"varint,15,opt,name=use_client_rot,json=useClientRot,proto3" json:"use_client_rot,omitempty"`
+ Rot *Vector `protobuf:"bytes,7,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *SceneAvatarStaminaStepReq) Reset() {
+ *x = SceneAvatarStaminaStepReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneAvatarStaminaStepReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneAvatarStaminaStepReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneAvatarStaminaStepReq) ProtoMessage() {}
+
+func (x *SceneAvatarStaminaStepReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneAvatarStaminaStepReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneAvatarStaminaStepReq.ProtoReflect.Descriptor instead.
+func (*SceneAvatarStaminaStepReq) Descriptor() ([]byte, []int) {
+ return file_SceneAvatarStaminaStepReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneAvatarStaminaStepReq) GetUseClientRot() bool {
+ if x != nil {
+ return x.UseClientRot
+ }
+ return false
+}
+
+func (x *SceneAvatarStaminaStepReq) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_SceneAvatarStaminaStepReq_proto protoreflect.FileDescriptor
+
+var file_SceneAvatarStaminaStepReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x74, 0x61,
+ 0x6d, 0x69, 0x6e, 0x61, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x19, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x53, 0x74, 0x65, 0x70,
+ 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x73, 0x65,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneAvatarStaminaStepReq_proto_rawDescOnce sync.Once
+ file_SceneAvatarStaminaStepReq_proto_rawDescData = file_SceneAvatarStaminaStepReq_proto_rawDesc
+)
+
+func file_SceneAvatarStaminaStepReq_proto_rawDescGZIP() []byte {
+ file_SceneAvatarStaminaStepReq_proto_rawDescOnce.Do(func() {
+ file_SceneAvatarStaminaStepReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneAvatarStaminaStepReq_proto_rawDescData)
+ })
+ return file_SceneAvatarStaminaStepReq_proto_rawDescData
+}
+
+var file_SceneAvatarStaminaStepReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneAvatarStaminaStepReq_proto_goTypes = []interface{}{
+ (*SceneAvatarStaminaStepReq)(nil), // 0: proto.SceneAvatarStaminaStepReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_SceneAvatarStaminaStepReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneAvatarStaminaStepReq.rot:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneAvatarStaminaStepReq_proto_init() }
+func file_SceneAvatarStaminaStepReq_proto_init() {
+ if File_SceneAvatarStaminaStepReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneAvatarStaminaStepReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneAvatarStaminaStepReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneAvatarStaminaStepReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneAvatarStaminaStepReq_proto_goTypes,
+ DependencyIndexes: file_SceneAvatarStaminaStepReq_proto_depIdxs,
+ MessageInfos: file_SceneAvatarStaminaStepReq_proto_msgTypes,
+ }.Build()
+ File_SceneAvatarStaminaStepReq_proto = out.File
+ file_SceneAvatarStaminaStepReq_proto_rawDesc = nil
+ file_SceneAvatarStaminaStepReq_proto_goTypes = nil
+ file_SceneAvatarStaminaStepReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneAvatarStaminaStepRsp.pb.go b/protocol/proto/SceneAvatarStaminaStepRsp.pb.go
new file mode 100644
index 00000000..daa1430b
--- /dev/null
+++ b/protocol/proto/SceneAvatarStaminaStepRsp.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneAvatarStaminaStepRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 231
+// EnetChannelId: 1
+// EnetIsReliable: true
+type SceneAvatarStaminaStepRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UseClientRot bool `protobuf:"varint,9,opt,name=use_client_rot,json=useClientRot,proto3" json:"use_client_rot,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Rot *Vector `protobuf:"bytes,11,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *SceneAvatarStaminaStepRsp) Reset() {
+ *x = SceneAvatarStaminaStepRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneAvatarStaminaStepRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneAvatarStaminaStepRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneAvatarStaminaStepRsp) ProtoMessage() {}
+
+func (x *SceneAvatarStaminaStepRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneAvatarStaminaStepRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneAvatarStaminaStepRsp.ProtoReflect.Descriptor instead.
+func (*SceneAvatarStaminaStepRsp) Descriptor() ([]byte, []int) {
+ return file_SceneAvatarStaminaStepRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneAvatarStaminaStepRsp) GetUseClientRot() bool {
+ if x != nil {
+ return x.UseClientRot
+ }
+ return false
+}
+
+func (x *SceneAvatarStaminaStepRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SceneAvatarStaminaStepRsp) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_SceneAvatarStaminaStepRsp_proto protoreflect.FileDescriptor
+
+var file_SceneAvatarStaminaStepRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x74, 0x61,
+ 0x6d, 0x69, 0x6e, 0x61, 0x53, 0x74, 0x65, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x19, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x53, 0x74, 0x65, 0x70,
+ 0x52, 0x73, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x75, 0x73, 0x65,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x03, 0x72, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneAvatarStaminaStepRsp_proto_rawDescOnce sync.Once
+ file_SceneAvatarStaminaStepRsp_proto_rawDescData = file_SceneAvatarStaminaStepRsp_proto_rawDesc
+)
+
+func file_SceneAvatarStaminaStepRsp_proto_rawDescGZIP() []byte {
+ file_SceneAvatarStaminaStepRsp_proto_rawDescOnce.Do(func() {
+ file_SceneAvatarStaminaStepRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneAvatarStaminaStepRsp_proto_rawDescData)
+ })
+ return file_SceneAvatarStaminaStepRsp_proto_rawDescData
+}
+
+var file_SceneAvatarStaminaStepRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneAvatarStaminaStepRsp_proto_goTypes = []interface{}{
+ (*SceneAvatarStaminaStepRsp)(nil), // 0: proto.SceneAvatarStaminaStepRsp
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_SceneAvatarStaminaStepRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneAvatarStaminaStepRsp.rot:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneAvatarStaminaStepRsp_proto_init() }
+func file_SceneAvatarStaminaStepRsp_proto_init() {
+ if File_SceneAvatarStaminaStepRsp_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneAvatarStaminaStepRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneAvatarStaminaStepRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneAvatarStaminaStepRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneAvatarStaminaStepRsp_proto_goTypes,
+ DependencyIndexes: file_SceneAvatarStaminaStepRsp_proto_depIdxs,
+ MessageInfos: file_SceneAvatarStaminaStepRsp_proto_msgTypes,
+ }.Build()
+ File_SceneAvatarStaminaStepRsp_proto = out.File
+ file_SceneAvatarStaminaStepRsp_proto_rawDesc = nil
+ file_SceneAvatarStaminaStepRsp_proto_goTypes = nil
+ file_SceneAvatarStaminaStepRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneCreateEntityReq.pb.go b/protocol/proto/SceneCreateEntityReq.pb.go
new file mode 100644
index 00000000..a262c885
--- /dev/null
+++ b/protocol/proto/SceneCreateEntityReq.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneCreateEntityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 288
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneCreateEntityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Entity *CreateEntityInfo `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
+ IsDestroyWhenDisconnect bool `protobuf:"varint,10,opt,name=is_destroy_when_disconnect,json=isDestroyWhenDisconnect,proto3" json:"is_destroy_when_disconnect,omitempty"`
+ Reason CreateReason `protobuf:"varint,3,opt,name=reason,proto3,enum=proto.CreateReason" json:"reason,omitempty"`
+}
+
+func (x *SceneCreateEntityReq) Reset() {
+ *x = SceneCreateEntityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneCreateEntityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneCreateEntityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneCreateEntityReq) ProtoMessage() {}
+
+func (x *SceneCreateEntityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneCreateEntityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneCreateEntityReq.ProtoReflect.Descriptor instead.
+func (*SceneCreateEntityReq) Descriptor() ([]byte, []int) {
+ return file_SceneCreateEntityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneCreateEntityReq) GetEntity() *CreateEntityInfo {
+ if x != nil {
+ return x.Entity
+ }
+ return nil
+}
+
+func (x *SceneCreateEntityReq) GetIsDestroyWhenDisconnect() bool {
+ if x != nil {
+ return x.IsDestroyWhenDisconnect
+ }
+ return false
+}
+
+func (x *SceneCreateEntityReq) GetReason() CreateReason {
+ if x != nil {
+ return x.Reason
+ }
+ return CreateReason_CREATE_REASON_NONE
+}
+
+var File_SceneCreateEntityReq_proto protoreflect.FileDescriptor
+
+var file_SceneCreateEntityReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb1, 0x01, 0x0a, 0x14, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x73, 0x5f,
+ 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x64, 0x69, 0x73,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69,
+ 0x73, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x57, 0x68, 0x65, 0x6e, 0x44, 0x69, 0x73, 0x63,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneCreateEntityReq_proto_rawDescOnce sync.Once
+ file_SceneCreateEntityReq_proto_rawDescData = file_SceneCreateEntityReq_proto_rawDesc
+)
+
+func file_SceneCreateEntityReq_proto_rawDescGZIP() []byte {
+ file_SceneCreateEntityReq_proto_rawDescOnce.Do(func() {
+ file_SceneCreateEntityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneCreateEntityReq_proto_rawDescData)
+ })
+ return file_SceneCreateEntityReq_proto_rawDescData
+}
+
+var file_SceneCreateEntityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneCreateEntityReq_proto_goTypes = []interface{}{
+ (*SceneCreateEntityReq)(nil), // 0: proto.SceneCreateEntityReq
+ (*CreateEntityInfo)(nil), // 1: proto.CreateEntityInfo
+ (CreateReason)(0), // 2: proto.CreateReason
+}
+var file_SceneCreateEntityReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneCreateEntityReq.entity:type_name -> proto.CreateEntityInfo
+ 2, // 1: proto.SceneCreateEntityReq.reason:type_name -> proto.CreateReason
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SceneCreateEntityReq_proto_init() }
+func file_SceneCreateEntityReq_proto_init() {
+ if File_SceneCreateEntityReq_proto != nil {
+ return
+ }
+ file_CreateEntityInfo_proto_init()
+ file_CreateReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneCreateEntityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneCreateEntityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneCreateEntityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneCreateEntityReq_proto_goTypes,
+ DependencyIndexes: file_SceneCreateEntityReq_proto_depIdxs,
+ MessageInfos: file_SceneCreateEntityReq_proto_msgTypes,
+ }.Build()
+ File_SceneCreateEntityReq_proto = out.File
+ file_SceneCreateEntityReq_proto_rawDesc = nil
+ file_SceneCreateEntityReq_proto_goTypes = nil
+ file_SceneCreateEntityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneCreateEntityRsp.pb.go b/protocol/proto/SceneCreateEntityRsp.pb.go
new file mode 100644
index 00000000..6247611c
--- /dev/null
+++ b/protocol/proto/SceneCreateEntityRsp.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneCreateEntityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 226
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneCreateEntityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Entity *CreateEntityInfo `protobuf:"bytes,10,opt,name=entity,proto3" json:"entity,omitempty"`
+}
+
+func (x *SceneCreateEntityRsp) Reset() {
+ *x = SceneCreateEntityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneCreateEntityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneCreateEntityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneCreateEntityRsp) ProtoMessage() {}
+
+func (x *SceneCreateEntityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneCreateEntityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneCreateEntityRsp.ProtoReflect.Descriptor instead.
+func (*SceneCreateEntityRsp) Descriptor() ([]byte, []int) {
+ return file_SceneCreateEntityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneCreateEntityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SceneCreateEntityRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *SceneCreateEntityRsp) GetEntity() *CreateEntityInfo {
+ if x != nil {
+ return x.Entity
+ }
+ return nil
+}
+
+var File_SceneCreateEntityRsp_proto protoreflect.FileDescriptor
+
+var file_SceneCreateEntityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x14, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneCreateEntityRsp_proto_rawDescOnce sync.Once
+ file_SceneCreateEntityRsp_proto_rawDescData = file_SceneCreateEntityRsp_proto_rawDesc
+)
+
+func file_SceneCreateEntityRsp_proto_rawDescGZIP() []byte {
+ file_SceneCreateEntityRsp_proto_rawDescOnce.Do(func() {
+ file_SceneCreateEntityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneCreateEntityRsp_proto_rawDescData)
+ })
+ return file_SceneCreateEntityRsp_proto_rawDescData
+}
+
+var file_SceneCreateEntityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneCreateEntityRsp_proto_goTypes = []interface{}{
+ (*SceneCreateEntityRsp)(nil), // 0: proto.SceneCreateEntityRsp
+ (*CreateEntityInfo)(nil), // 1: proto.CreateEntityInfo
+}
+var file_SceneCreateEntityRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneCreateEntityRsp.entity:type_name -> proto.CreateEntityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneCreateEntityRsp_proto_init() }
+func file_SceneCreateEntityRsp_proto_init() {
+ if File_SceneCreateEntityRsp_proto != nil {
+ return
+ }
+ file_CreateEntityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneCreateEntityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneCreateEntityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneCreateEntityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneCreateEntityRsp_proto_goTypes,
+ DependencyIndexes: file_SceneCreateEntityRsp_proto_depIdxs,
+ MessageInfos: file_SceneCreateEntityRsp_proto_msgTypes,
+ }.Build()
+ File_SceneCreateEntityRsp_proto = out.File
+ file_SceneCreateEntityRsp_proto_rawDesc = nil
+ file_SceneCreateEntityRsp_proto_goTypes = nil
+ file_SceneCreateEntityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneDataNotify.pb.go b/protocol/proto/SceneDataNotify.pb.go
new file mode 100644
index 00000000..5cda7309
--- /dev/null
+++ b/protocol/proto/SceneDataNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3203
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelConfigNameList []string `protobuf:"bytes,15,rep,name=level_config_name_list,json=levelConfigNameList,proto3" json:"level_config_name_list,omitempty"`
+ SceneTagIdList []uint32 `protobuf:"varint,8,rep,packed,name=scene_tag_id_list,json=sceneTagIdList,proto3" json:"scene_tag_id_list,omitempty"`
+}
+
+func (x *SceneDataNotify) Reset() {
+ *x = SceneDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneDataNotify) ProtoMessage() {}
+
+func (x *SceneDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneDataNotify.ProtoReflect.Descriptor instead.
+func (*SceneDataNotify) Descriptor() ([]byte, []int) {
+ return file_SceneDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneDataNotify) GetLevelConfigNameList() []string {
+ if x != nil {
+ return x.LevelConfigNameList
+ }
+ return nil
+}
+
+func (x *SceneDataNotify) GetSceneTagIdList() []uint32 {
+ if x != nil {
+ return x.SceneTagIdList
+ }
+ return nil
+}
+
+var File_SceneDataNotify_proto protoreflect.FileDescriptor
+
+var file_SceneDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71,
+ 0x0a, 0x0f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x13, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61,
+ 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x11, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0e, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x61, 0x67, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneDataNotify_proto_rawDescOnce sync.Once
+ file_SceneDataNotify_proto_rawDescData = file_SceneDataNotify_proto_rawDesc
+)
+
+func file_SceneDataNotify_proto_rawDescGZIP() []byte {
+ file_SceneDataNotify_proto_rawDescOnce.Do(func() {
+ file_SceneDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneDataNotify_proto_rawDescData)
+ })
+ return file_SceneDataNotify_proto_rawDescData
+}
+
+var file_SceneDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneDataNotify_proto_goTypes = []interface{}{
+ (*SceneDataNotify)(nil), // 0: proto.SceneDataNotify
+}
+var file_SceneDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneDataNotify_proto_init() }
+func file_SceneDataNotify_proto_init() {
+ if File_SceneDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneDataNotify_proto_goTypes,
+ DependencyIndexes: file_SceneDataNotify_proto_depIdxs,
+ MessageInfos: file_SceneDataNotify_proto_msgTypes,
+ }.Build()
+ File_SceneDataNotify_proto = out.File
+ file_SceneDataNotify_proto_rawDesc = nil
+ file_SceneDataNotify_proto_goTypes = nil
+ file_SceneDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneDestroyEntityReq.pb.go b/protocol/proto/SceneDestroyEntityReq.pb.go
new file mode 100644
index 00000000..5ad0a848
--- /dev/null
+++ b/protocol/proto/SceneDestroyEntityReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneDestroyEntityReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 263
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneDestroyEntityReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *SceneDestroyEntityReq) Reset() {
+ *x = SceneDestroyEntityReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneDestroyEntityReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneDestroyEntityReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneDestroyEntityReq) ProtoMessage() {}
+
+func (x *SceneDestroyEntityReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneDestroyEntityReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneDestroyEntityReq.ProtoReflect.Descriptor instead.
+func (*SceneDestroyEntityReq) Descriptor() ([]byte, []int) {
+ return file_SceneDestroyEntityReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneDestroyEntityReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_SceneDestroyEntityReq_proto protoreflect.FileDescriptor
+
+var file_SceneDestroyEntityReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x65, 0x73,
+ 0x74, 0x72, 0x6f, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneDestroyEntityReq_proto_rawDescOnce sync.Once
+ file_SceneDestroyEntityReq_proto_rawDescData = file_SceneDestroyEntityReq_proto_rawDesc
+)
+
+func file_SceneDestroyEntityReq_proto_rawDescGZIP() []byte {
+ file_SceneDestroyEntityReq_proto_rawDescOnce.Do(func() {
+ file_SceneDestroyEntityReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneDestroyEntityReq_proto_rawDescData)
+ })
+ return file_SceneDestroyEntityReq_proto_rawDescData
+}
+
+var file_SceneDestroyEntityReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneDestroyEntityReq_proto_goTypes = []interface{}{
+ (*SceneDestroyEntityReq)(nil), // 0: proto.SceneDestroyEntityReq
+}
+var file_SceneDestroyEntityReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneDestroyEntityReq_proto_init() }
+func file_SceneDestroyEntityReq_proto_init() {
+ if File_SceneDestroyEntityReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneDestroyEntityReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneDestroyEntityReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneDestroyEntityReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneDestroyEntityReq_proto_goTypes,
+ DependencyIndexes: file_SceneDestroyEntityReq_proto_depIdxs,
+ MessageInfos: file_SceneDestroyEntityReq_proto_msgTypes,
+ }.Build()
+ File_SceneDestroyEntityReq_proto = out.File
+ file_SceneDestroyEntityReq_proto_rawDesc = nil
+ file_SceneDestroyEntityReq_proto_goTypes = nil
+ file_SceneDestroyEntityReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneDestroyEntityRsp.pb.go b/protocol/proto/SceneDestroyEntityRsp.pb.go
new file mode 100644
index 00000000..bab3ac51
--- /dev/null
+++ b/protocol/proto/SceneDestroyEntityRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneDestroyEntityRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 295
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneDestroyEntityRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EntityId uint32 `protobuf:"varint,7,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *SceneDestroyEntityRsp) Reset() {
+ *x = SceneDestroyEntityRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneDestroyEntityRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneDestroyEntityRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneDestroyEntityRsp) ProtoMessage() {}
+
+func (x *SceneDestroyEntityRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneDestroyEntityRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneDestroyEntityRsp.ProtoReflect.Descriptor instead.
+func (*SceneDestroyEntityRsp) Descriptor() ([]byte, []int) {
+ return file_SceneDestroyEntityRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneDestroyEntityRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SceneDestroyEntityRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_SceneDestroyEntityRsp_proto protoreflect.FileDescriptor
+
+var file_SceneDestroyEntityRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x44, 0x65, 0x73,
+ 0x74, 0x72, 0x6f, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneDestroyEntityRsp_proto_rawDescOnce sync.Once
+ file_SceneDestroyEntityRsp_proto_rawDescData = file_SceneDestroyEntityRsp_proto_rawDesc
+)
+
+func file_SceneDestroyEntityRsp_proto_rawDescGZIP() []byte {
+ file_SceneDestroyEntityRsp_proto_rawDescOnce.Do(func() {
+ file_SceneDestroyEntityRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneDestroyEntityRsp_proto_rawDescData)
+ })
+ return file_SceneDestroyEntityRsp_proto_rawDescData
+}
+
+var file_SceneDestroyEntityRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneDestroyEntityRsp_proto_goTypes = []interface{}{
+ (*SceneDestroyEntityRsp)(nil), // 0: proto.SceneDestroyEntityRsp
+}
+var file_SceneDestroyEntityRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneDestroyEntityRsp_proto_init() }
+func file_SceneDestroyEntityRsp_proto_init() {
+ if File_SceneDestroyEntityRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneDestroyEntityRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneDestroyEntityRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneDestroyEntityRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneDestroyEntityRsp_proto_goTypes,
+ DependencyIndexes: file_SceneDestroyEntityRsp_proto_depIdxs,
+ MessageInfos: file_SceneDestroyEntityRsp_proto_msgTypes,
+ }.Build()
+ File_SceneDestroyEntityRsp_proto = out.File
+ file_SceneDestroyEntityRsp_proto_rawDesc = nil
+ file_SceneDestroyEntityRsp_proto_goTypes = nil
+ file_SceneDestroyEntityRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntitiesMoveCombineNotify.pb.go b/protocol/proto/SceneEntitiesMoveCombineNotify.pb.go
new file mode 100644
index 00000000..d070ba2e
--- /dev/null
+++ b/protocol/proto/SceneEntitiesMoveCombineNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntitiesMoveCombineNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3387
+// EnetChannelId: 1
+// EnetIsReliable: false
+type SceneEntitiesMoveCombineNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityMoveInfoList []*EntityMoveInfo `protobuf:"bytes,8,rep,name=entity_move_info_list,json=entityMoveInfoList,proto3" json:"entity_move_info_list,omitempty"`
+}
+
+func (x *SceneEntitiesMoveCombineNotify) Reset() {
+ *x = SceneEntitiesMoveCombineNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntitiesMoveCombineNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntitiesMoveCombineNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntitiesMoveCombineNotify) ProtoMessage() {}
+
+func (x *SceneEntitiesMoveCombineNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntitiesMoveCombineNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntitiesMoveCombineNotify.ProtoReflect.Descriptor instead.
+func (*SceneEntitiesMoveCombineNotify) Descriptor() ([]byte, []int) {
+ return file_SceneEntitiesMoveCombineNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntitiesMoveCombineNotify) GetEntityMoveInfoList() []*EntityMoveInfo {
+ if x != nil {
+ return x.EntityMoveInfoList
+ }
+ return nil
+}
+
+var File_SceneEntitiesMoveCombineNotify_proto protoreflect.FileDescriptor
+
+var file_SceneEntitiesMoveCombineNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4d,
+ 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x1e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x69, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x48, 0x0a, 0x15, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntitiesMoveCombineNotify_proto_rawDescOnce sync.Once
+ file_SceneEntitiesMoveCombineNotify_proto_rawDescData = file_SceneEntitiesMoveCombineNotify_proto_rawDesc
+)
+
+func file_SceneEntitiesMoveCombineNotify_proto_rawDescGZIP() []byte {
+ file_SceneEntitiesMoveCombineNotify_proto_rawDescOnce.Do(func() {
+ file_SceneEntitiesMoveCombineNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntitiesMoveCombineNotify_proto_rawDescData)
+ })
+ return file_SceneEntitiesMoveCombineNotify_proto_rawDescData
+}
+
+var file_SceneEntitiesMoveCombineNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntitiesMoveCombineNotify_proto_goTypes = []interface{}{
+ (*SceneEntitiesMoveCombineNotify)(nil), // 0: proto.SceneEntitiesMoveCombineNotify
+ (*EntityMoveInfo)(nil), // 1: proto.EntityMoveInfo
+}
+var file_SceneEntitiesMoveCombineNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntitiesMoveCombineNotify.entity_move_info_list:type_name -> proto.EntityMoveInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntitiesMoveCombineNotify_proto_init() }
+func file_SceneEntitiesMoveCombineNotify_proto_init() {
+ if File_SceneEntitiesMoveCombineNotify_proto != nil {
+ return
+ }
+ file_EntityMoveInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntitiesMoveCombineNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntitiesMoveCombineNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntitiesMoveCombineNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntitiesMoveCombineNotify_proto_goTypes,
+ DependencyIndexes: file_SceneEntitiesMoveCombineNotify_proto_depIdxs,
+ MessageInfos: file_SceneEntitiesMoveCombineNotify_proto_msgTypes,
+ }.Build()
+ File_SceneEntitiesMoveCombineNotify_proto = out.File
+ file_SceneEntitiesMoveCombineNotify_proto_rawDesc = nil
+ file_SceneEntitiesMoveCombineNotify_proto_goTypes = nil
+ file_SceneEntitiesMoveCombineNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntitiesMovesReq.pb.go b/protocol/proto/SceneEntitiesMovesReq.pb.go
new file mode 100644
index 00000000..9ef3b58c
--- /dev/null
+++ b/protocol/proto/SceneEntitiesMovesReq.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntitiesMovesReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 279
+// EnetChannelId: 1
+// EnetIsReliable: false
+// IsAllowClient: true
+type SceneEntitiesMovesReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityMoveInfoList []*EntityMoveInfo `protobuf:"bytes,14,rep,name=entity_move_info_list,json=entityMoveInfoList,proto3" json:"entity_move_info_list,omitempty"`
+}
+
+func (x *SceneEntitiesMovesReq) Reset() {
+ *x = SceneEntitiesMovesReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntitiesMovesReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntitiesMovesReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntitiesMovesReq) ProtoMessage() {}
+
+func (x *SceneEntitiesMovesReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntitiesMovesReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntitiesMovesReq.ProtoReflect.Descriptor instead.
+func (*SceneEntitiesMovesReq) Descriptor() ([]byte, []int) {
+ return file_SceneEntitiesMovesReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntitiesMovesReq) GetEntityMoveInfoList() []*EntityMoveInfo {
+ if x != nil {
+ return x.EntityMoveInfoList
+ }
+ return nil
+}
+
+var File_SceneEntitiesMovesReq_proto protoreflect.FileDescriptor
+
+var file_SceneEntitiesMovesReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4d,
+ 0x6f, 0x76, 0x65, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x15, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x73,
+ 0x52, 0x65, 0x71, 0x12, 0x48, 0x0a, 0x15, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x6f,
+ 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SceneEntitiesMovesReq_proto_rawDescOnce sync.Once
+ file_SceneEntitiesMovesReq_proto_rawDescData = file_SceneEntitiesMovesReq_proto_rawDesc
+)
+
+func file_SceneEntitiesMovesReq_proto_rawDescGZIP() []byte {
+ file_SceneEntitiesMovesReq_proto_rawDescOnce.Do(func() {
+ file_SceneEntitiesMovesReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntitiesMovesReq_proto_rawDescData)
+ })
+ return file_SceneEntitiesMovesReq_proto_rawDescData
+}
+
+var file_SceneEntitiesMovesReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntitiesMovesReq_proto_goTypes = []interface{}{
+ (*SceneEntitiesMovesReq)(nil), // 0: proto.SceneEntitiesMovesReq
+ (*EntityMoveInfo)(nil), // 1: proto.EntityMoveInfo
+}
+var file_SceneEntitiesMovesReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntitiesMovesReq.entity_move_info_list:type_name -> proto.EntityMoveInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntitiesMovesReq_proto_init() }
+func file_SceneEntitiesMovesReq_proto_init() {
+ if File_SceneEntitiesMovesReq_proto != nil {
+ return
+ }
+ file_EntityMoveInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntitiesMovesReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntitiesMovesReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntitiesMovesReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntitiesMovesReq_proto_goTypes,
+ DependencyIndexes: file_SceneEntitiesMovesReq_proto_depIdxs,
+ MessageInfos: file_SceneEntitiesMovesReq_proto_msgTypes,
+ }.Build()
+ File_SceneEntitiesMovesReq_proto = out.File
+ file_SceneEntitiesMovesReq_proto_rawDesc = nil
+ file_SceneEntitiesMovesReq_proto_goTypes = nil
+ file_SceneEntitiesMovesReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntitiesMovesRsp.pb.go b/protocol/proto/SceneEntitiesMovesRsp.pb.go
new file mode 100644
index 00000000..1cb8661d
--- /dev/null
+++ b/protocol/proto/SceneEntitiesMovesRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntitiesMovesRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 255
+// EnetChannelId: 1
+// EnetIsReliable: false
+type SceneEntitiesMovesRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityMoveFailInfoList []*EntityMoveFailInfo `protobuf:"bytes,11,rep,name=entity_move_fail_info_list,json=entityMoveFailInfoList,proto3" json:"entity_move_fail_info_list,omitempty"`
+}
+
+func (x *SceneEntitiesMovesRsp) Reset() {
+ *x = SceneEntitiesMovesRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntitiesMovesRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntitiesMovesRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntitiesMovesRsp) ProtoMessage() {}
+
+func (x *SceneEntitiesMovesRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntitiesMovesRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntitiesMovesRsp.ProtoReflect.Descriptor instead.
+func (*SceneEntitiesMovesRsp) Descriptor() ([]byte, []int) {
+ return file_SceneEntitiesMovesRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntitiesMovesRsp) GetEntityMoveFailInfoList() []*EntityMoveFailInfo {
+ if x != nil {
+ return x.EntityMoveFailInfoList
+ }
+ return nil
+}
+
+var File_SceneEntitiesMovesRsp_proto protoreflect.FileDescriptor
+
+var file_SceneEntitiesMovesRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4d,
+ 0x6f, 0x76, 0x65, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65,
+ 0x46, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e,
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x4d,
+ 0x6f, 0x76, 0x65, 0x73, 0x52, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x1a, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x16, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f,
+ 0x76, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntitiesMovesRsp_proto_rawDescOnce sync.Once
+ file_SceneEntitiesMovesRsp_proto_rawDescData = file_SceneEntitiesMovesRsp_proto_rawDesc
+)
+
+func file_SceneEntitiesMovesRsp_proto_rawDescGZIP() []byte {
+ file_SceneEntitiesMovesRsp_proto_rawDescOnce.Do(func() {
+ file_SceneEntitiesMovesRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntitiesMovesRsp_proto_rawDescData)
+ })
+ return file_SceneEntitiesMovesRsp_proto_rawDescData
+}
+
+var file_SceneEntitiesMovesRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntitiesMovesRsp_proto_goTypes = []interface{}{
+ (*SceneEntitiesMovesRsp)(nil), // 0: proto.SceneEntitiesMovesRsp
+ (*EntityMoveFailInfo)(nil), // 1: proto.EntityMoveFailInfo
+}
+var file_SceneEntitiesMovesRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntitiesMovesRsp.entity_move_fail_info_list:type_name -> proto.EntityMoveFailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntitiesMovesRsp_proto_init() }
+func file_SceneEntitiesMovesRsp_proto_init() {
+ if File_SceneEntitiesMovesRsp_proto != nil {
+ return
+ }
+ file_EntityMoveFailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntitiesMovesRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntitiesMovesRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntitiesMovesRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntitiesMovesRsp_proto_goTypes,
+ DependencyIndexes: file_SceneEntitiesMovesRsp_proto_depIdxs,
+ MessageInfos: file_SceneEntitiesMovesRsp_proto_msgTypes,
+ }.Build()
+ File_SceneEntitiesMovesRsp_proto = out.File
+ file_SceneEntitiesMovesRsp_proto_rawDesc = nil
+ file_SceneEntitiesMovesRsp_proto_goTypes = nil
+ file_SceneEntitiesMovesRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityAiInfo.pb.go b/protocol/proto/SceneEntityAiInfo.pb.go
new file mode 100644
index 00000000..7030ade8
--- /dev/null
+++ b/protocol/proto/SceneEntityAiInfo.pb.go
@@ -0,0 +1,257 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityAiInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneEntityAiInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAiOpen bool `protobuf:"varint,1,opt,name=is_ai_open,json=isAiOpen,proto3" json:"is_ai_open,omitempty"`
+ BornPos *Vector `protobuf:"bytes,2,opt,name=born_pos,json=bornPos,proto3" json:"born_pos,omitempty"`
+ SkillCdMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=skill_cd_map,json=skillCdMap,proto3" json:"skill_cd_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ServantInfo *ServantInfo `protobuf:"bytes,4,opt,name=servant_info,json=servantInfo,proto3" json:"servant_info,omitempty"`
+ AiThreatMap map[uint32]uint32 `protobuf:"bytes,5,rep,name=ai_threat_map,json=aiThreatMap,proto3" json:"ai_threat_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ SkillGroupCdMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=skill_group_cd_map,json=skillGroupCdMap,proto3" json:"skill_group_cd_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CurTactic uint32 `protobuf:"varint,7,opt,name=cur_tactic,json=curTactic,proto3" json:"cur_tactic,omitempty"`
+}
+
+func (x *SceneEntityAiInfo) Reset() {
+ *x = SceneEntityAiInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityAiInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityAiInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityAiInfo) ProtoMessage() {}
+
+func (x *SceneEntityAiInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityAiInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityAiInfo.ProtoReflect.Descriptor instead.
+func (*SceneEntityAiInfo) Descriptor() ([]byte, []int) {
+ return file_SceneEntityAiInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityAiInfo) GetIsAiOpen() bool {
+ if x != nil {
+ return x.IsAiOpen
+ }
+ return false
+}
+
+func (x *SceneEntityAiInfo) GetBornPos() *Vector {
+ if x != nil {
+ return x.BornPos
+ }
+ return nil
+}
+
+func (x *SceneEntityAiInfo) GetSkillCdMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkillCdMap
+ }
+ return nil
+}
+
+func (x *SceneEntityAiInfo) GetServantInfo() *ServantInfo {
+ if x != nil {
+ return x.ServantInfo
+ }
+ return nil
+}
+
+func (x *SceneEntityAiInfo) GetAiThreatMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AiThreatMap
+ }
+ return nil
+}
+
+func (x *SceneEntityAiInfo) GetSkillGroupCdMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkillGroupCdMap
+ }
+ return nil
+}
+
+func (x *SceneEntityAiInfo) GetCurTactic() uint32 {
+ if x != nil {
+ return x.CurTactic
+ }
+ return 0
+}
+
+var File_SceneEntityAiInfo_proto protoreflect.FileDescriptor
+
+var file_SceneEntityAiInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x69, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x11, 0x53, 0x65, 0x72, 0x76, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xeb, 0x04, 0x0a, 0x11, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x61, 0x69,
+ 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41,
+ 0x69, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x28, 0x0a, 0x08, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x70, 0x6f,
+ 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x62, 0x6f, 0x72, 0x6e, 0x50, 0x6f, 0x73, 0x12,
+ 0x4a, 0x0a, 0x0c, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x35, 0x0a, 0x0c, 0x73,
+ 0x65, 0x72, 0x76, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x61, 0x6e,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x61, 0x6e, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0d, 0x61, 0x69, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f,
+ 0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x69, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4d, 0x61,
+ 0x70, 0x12, 0x5a, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
+ 0x5f, 0x63, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x61, 0x63, 0x74, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x63, 0x75, 0x72, 0x54, 0x61, 0x63, 0x74, 0x69, 0x63, 0x1a, 0x3d, 0x0a, 0x0f,
+ 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41,
+ 0x69, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+ 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65,
+ 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x64, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityAiInfo_proto_rawDescOnce sync.Once
+ file_SceneEntityAiInfo_proto_rawDescData = file_SceneEntityAiInfo_proto_rawDesc
+)
+
+func file_SceneEntityAiInfo_proto_rawDescGZIP() []byte {
+ file_SceneEntityAiInfo_proto_rawDescOnce.Do(func() {
+ file_SceneEntityAiInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityAiInfo_proto_rawDescData)
+ })
+ return file_SceneEntityAiInfo_proto_rawDescData
+}
+
+var file_SceneEntityAiInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_SceneEntityAiInfo_proto_goTypes = []interface{}{
+ (*SceneEntityAiInfo)(nil), // 0: proto.SceneEntityAiInfo
+ nil, // 1: proto.SceneEntityAiInfo.SkillCdMapEntry
+ nil, // 2: proto.SceneEntityAiInfo.AiThreatMapEntry
+ nil, // 3: proto.SceneEntityAiInfo.SkillGroupCdMapEntry
+ (*Vector)(nil), // 4: proto.Vector
+ (*ServantInfo)(nil), // 5: proto.ServantInfo
+}
+var file_SceneEntityAiInfo_proto_depIdxs = []int32{
+ 4, // 0: proto.SceneEntityAiInfo.born_pos:type_name -> proto.Vector
+ 1, // 1: proto.SceneEntityAiInfo.skill_cd_map:type_name -> proto.SceneEntityAiInfo.SkillCdMapEntry
+ 5, // 2: proto.SceneEntityAiInfo.servant_info:type_name -> proto.ServantInfo
+ 2, // 3: proto.SceneEntityAiInfo.ai_threat_map:type_name -> proto.SceneEntityAiInfo.AiThreatMapEntry
+ 3, // 4: proto.SceneEntityAiInfo.skill_group_cd_map:type_name -> proto.SceneEntityAiInfo.SkillGroupCdMapEntry
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityAiInfo_proto_init() }
+func file_SceneEntityAiInfo_proto_init() {
+ if File_SceneEntityAiInfo_proto != nil {
+ return
+ }
+ file_ServantInfo_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityAiInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityAiInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityAiInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityAiInfo_proto_goTypes,
+ DependencyIndexes: file_SceneEntityAiInfo_proto_depIdxs,
+ MessageInfos: file_SceneEntityAiInfo_proto_msgTypes,
+ }.Build()
+ File_SceneEntityAiInfo_proto = out.File
+ file_SceneEntityAiInfo_proto_rawDesc = nil
+ file_SceneEntityAiInfo_proto_goTypes = nil
+ file_SceneEntityAiInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityAppearNotify.pb.go b/protocol/proto/SceneEntityAppearNotify.pb.go
new file mode 100644
index 00000000..9488142c
--- /dev/null
+++ b/protocol/proto/SceneEntityAppearNotify.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityAppearNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 221
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneEntityAppearNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AppearType VisionType `protobuf:"varint,15,opt,name=appear_type,json=appearType,proto3,enum=proto.VisionType" json:"appear_type,omitempty"`
+ Param uint32 `protobuf:"varint,9,opt,name=param,proto3" json:"param,omitempty"`
+ EntityList []*SceneEntityInfo `protobuf:"bytes,5,rep,name=entity_list,json=entityList,proto3" json:"entity_list,omitempty"`
+}
+
+func (x *SceneEntityAppearNotify) Reset() {
+ *x = SceneEntityAppearNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityAppearNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityAppearNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityAppearNotify) ProtoMessage() {}
+
+func (x *SceneEntityAppearNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityAppearNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityAppearNotify.ProtoReflect.Descriptor instead.
+func (*SceneEntityAppearNotify) Descriptor() ([]byte, []int) {
+ return file_SceneEntityAppearNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityAppearNotify) GetAppearType() VisionType {
+ if x != nil {
+ return x.AppearType
+ }
+ return VisionType_VISION_TYPE_NONE
+}
+
+func (x *SceneEntityAppearNotify) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *SceneEntityAppearNotify) GetEntityList() []*SceneEntityInfo {
+ if x != nil {
+ return x.EntityList
+ }
+ return nil
+}
+
+var File_SceneEntityAppearNotify_proto protoreflect.FileDescriptor
+
+var file_SceneEntityAppearNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x70, 0x70,
+ 0x65, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x56,
+ 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x9c, 0x01, 0x0a, 0x17, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41,
+ 0x70, 0x70, 0x65, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x32, 0x0a, 0x0b, 0x61,
+ 0x70, 0x70, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x37, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityAppearNotify_proto_rawDescOnce sync.Once
+ file_SceneEntityAppearNotify_proto_rawDescData = file_SceneEntityAppearNotify_proto_rawDesc
+)
+
+func file_SceneEntityAppearNotify_proto_rawDescGZIP() []byte {
+ file_SceneEntityAppearNotify_proto_rawDescOnce.Do(func() {
+ file_SceneEntityAppearNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityAppearNotify_proto_rawDescData)
+ })
+ return file_SceneEntityAppearNotify_proto_rawDescData
+}
+
+var file_SceneEntityAppearNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityAppearNotify_proto_goTypes = []interface{}{
+ (*SceneEntityAppearNotify)(nil), // 0: proto.SceneEntityAppearNotify
+ (VisionType)(0), // 1: proto.VisionType
+ (*SceneEntityInfo)(nil), // 2: proto.SceneEntityInfo
+}
+var file_SceneEntityAppearNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntityAppearNotify.appear_type:type_name -> proto.VisionType
+ 2, // 1: proto.SceneEntityAppearNotify.entity_list:type_name -> proto.SceneEntityInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityAppearNotify_proto_init() }
+func file_SceneEntityAppearNotify_proto_init() {
+ if File_SceneEntityAppearNotify_proto != nil {
+ return
+ }
+ file_SceneEntityInfo_proto_init()
+ file_VisionType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityAppearNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityAppearNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityAppearNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityAppearNotify_proto_goTypes,
+ DependencyIndexes: file_SceneEntityAppearNotify_proto_depIdxs,
+ MessageInfos: file_SceneEntityAppearNotify_proto_msgTypes,
+ }.Build()
+ File_SceneEntityAppearNotify_proto = out.File
+ file_SceneEntityAppearNotify_proto_rawDesc = nil
+ file_SceneEntityAppearNotify_proto_goTypes = nil
+ file_SceneEntityAppearNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityDisappearNotify.pb.go b/protocol/proto/SceneEntityDisappearNotify.pb.go
new file mode 100644
index 00000000..fb441261
--- /dev/null
+++ b/protocol/proto/SceneEntityDisappearNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityDisappearNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 203
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneEntityDisappearNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param uint32 `protobuf:"varint,6,opt,name=param,proto3" json:"param,omitempty"`
+ EntityList []uint32 `protobuf:"varint,1,rep,packed,name=entity_list,json=entityList,proto3" json:"entity_list,omitempty"`
+ DisappearType VisionType `protobuf:"varint,2,opt,name=disappear_type,json=disappearType,proto3,enum=proto.VisionType" json:"disappear_type,omitempty"`
+}
+
+func (x *SceneEntityDisappearNotify) Reset() {
+ *x = SceneEntityDisappearNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityDisappearNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityDisappearNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityDisappearNotify) ProtoMessage() {}
+
+func (x *SceneEntityDisappearNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityDisappearNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityDisappearNotify.ProtoReflect.Descriptor instead.
+func (*SceneEntityDisappearNotify) Descriptor() ([]byte, []int) {
+ return file_SceneEntityDisappearNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityDisappearNotify) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *SceneEntityDisappearNotify) GetEntityList() []uint32 {
+ if x != nil {
+ return x.EntityList
+ }
+ return nil
+}
+
+func (x *SceneEntityDisappearNotify) GetDisappearType() VisionType {
+ if x != nil {
+ return x.DisappearType
+ }
+ return VisionType_VISION_TYPE_NONE
+}
+
+var File_SceneEntityDisappearNotify_proto protoreflect.FileDescriptor
+
+var file_SceneEntityDisappearNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73,
+ 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x56, 0x69, 0x73, 0x69, 0x6f,
+ 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x1a,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x69, 0x73, 0x61, 0x70,
+ 0x70, 0x65, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x38, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x64, 0x69,
+ 0x73, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityDisappearNotify_proto_rawDescOnce sync.Once
+ file_SceneEntityDisappearNotify_proto_rawDescData = file_SceneEntityDisappearNotify_proto_rawDesc
+)
+
+func file_SceneEntityDisappearNotify_proto_rawDescGZIP() []byte {
+ file_SceneEntityDisappearNotify_proto_rawDescOnce.Do(func() {
+ file_SceneEntityDisappearNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityDisappearNotify_proto_rawDescData)
+ })
+ return file_SceneEntityDisappearNotify_proto_rawDescData
+}
+
+var file_SceneEntityDisappearNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityDisappearNotify_proto_goTypes = []interface{}{
+ (*SceneEntityDisappearNotify)(nil), // 0: proto.SceneEntityDisappearNotify
+ (VisionType)(0), // 1: proto.VisionType
+}
+var file_SceneEntityDisappearNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntityDisappearNotify.disappear_type:type_name -> proto.VisionType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityDisappearNotify_proto_init() }
+func file_SceneEntityDisappearNotify_proto_init() {
+ if File_SceneEntityDisappearNotify_proto != nil {
+ return
+ }
+ file_VisionType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityDisappearNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityDisappearNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityDisappearNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityDisappearNotify_proto_goTypes,
+ DependencyIndexes: file_SceneEntityDisappearNotify_proto_depIdxs,
+ MessageInfos: file_SceneEntityDisappearNotify_proto_msgTypes,
+ }.Build()
+ File_SceneEntityDisappearNotify_proto = out.File
+ file_SceneEntityDisappearNotify_proto_rawDesc = nil
+ file_SceneEntityDisappearNotify_proto_goTypes = nil
+ file_SceneEntityDisappearNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityDrownReq.pb.go b/protocol/proto/SceneEntityDrownReq.pb.go
new file mode 100644
index 00000000..c8872986
--- /dev/null
+++ b/protocol/proto/SceneEntityDrownReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityDrownReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 227
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneEntityDrownReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,10,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *SceneEntityDrownReq) Reset() {
+ *x = SceneEntityDrownReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityDrownReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityDrownReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityDrownReq) ProtoMessage() {}
+
+func (x *SceneEntityDrownReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityDrownReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityDrownReq.ProtoReflect.Descriptor instead.
+func (*SceneEntityDrownReq) Descriptor() ([]byte, []int) {
+ return file_SceneEntityDrownReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityDrownReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_SceneEntityDrownReq_proto protoreflect.FileDescriptor
+
+var file_SceneEntityDrownReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x72, 0x6f,
+ 0x77, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x13, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x44, 0x72, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityDrownReq_proto_rawDescOnce sync.Once
+ file_SceneEntityDrownReq_proto_rawDescData = file_SceneEntityDrownReq_proto_rawDesc
+)
+
+func file_SceneEntityDrownReq_proto_rawDescGZIP() []byte {
+ file_SceneEntityDrownReq_proto_rawDescOnce.Do(func() {
+ file_SceneEntityDrownReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityDrownReq_proto_rawDescData)
+ })
+ return file_SceneEntityDrownReq_proto_rawDescData
+}
+
+var file_SceneEntityDrownReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityDrownReq_proto_goTypes = []interface{}{
+ (*SceneEntityDrownReq)(nil), // 0: proto.SceneEntityDrownReq
+}
+var file_SceneEntityDrownReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityDrownReq_proto_init() }
+func file_SceneEntityDrownReq_proto_init() {
+ if File_SceneEntityDrownReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityDrownReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityDrownReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityDrownReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityDrownReq_proto_goTypes,
+ DependencyIndexes: file_SceneEntityDrownReq_proto_depIdxs,
+ MessageInfos: file_SceneEntityDrownReq_proto_msgTypes,
+ }.Build()
+ File_SceneEntityDrownReq_proto = out.File
+ file_SceneEntityDrownReq_proto_rawDesc = nil
+ file_SceneEntityDrownReq_proto_goTypes = nil
+ file_SceneEntityDrownReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityDrownRsp.pb.go b/protocol/proto/SceneEntityDrownRsp.pb.go
new file mode 100644
index 00000000..0e476f94
--- /dev/null
+++ b/protocol/proto/SceneEntityDrownRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityDrownRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 294
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneEntityDrownRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EntityId uint32 `protobuf:"varint,11,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *SceneEntityDrownRsp) Reset() {
+ *x = SceneEntityDrownRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityDrownRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityDrownRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityDrownRsp) ProtoMessage() {}
+
+func (x *SceneEntityDrownRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityDrownRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityDrownRsp.ProtoReflect.Descriptor instead.
+func (*SceneEntityDrownRsp) Descriptor() ([]byte, []int) {
+ return file_SceneEntityDrownRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityDrownRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SceneEntityDrownRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_SceneEntityDrownRsp_proto protoreflect.FileDescriptor
+
+var file_SceneEntityDrownRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x72, 0x6f,
+ 0x77, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x13, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x44, 0x72, 0x6f, 0x77, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityDrownRsp_proto_rawDescOnce sync.Once
+ file_SceneEntityDrownRsp_proto_rawDescData = file_SceneEntityDrownRsp_proto_rawDesc
+)
+
+func file_SceneEntityDrownRsp_proto_rawDescGZIP() []byte {
+ file_SceneEntityDrownRsp_proto_rawDescOnce.Do(func() {
+ file_SceneEntityDrownRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityDrownRsp_proto_rawDescData)
+ })
+ return file_SceneEntityDrownRsp_proto_rawDescData
+}
+
+var file_SceneEntityDrownRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityDrownRsp_proto_goTypes = []interface{}{
+ (*SceneEntityDrownRsp)(nil), // 0: proto.SceneEntityDrownRsp
+}
+var file_SceneEntityDrownRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityDrownRsp_proto_init() }
+func file_SceneEntityDrownRsp_proto_init() {
+ if File_SceneEntityDrownRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityDrownRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityDrownRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityDrownRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityDrownRsp_proto_goTypes,
+ DependencyIndexes: file_SceneEntityDrownRsp_proto_depIdxs,
+ MessageInfos: file_SceneEntityDrownRsp_proto_msgTypes,
+ }.Build()
+ File_SceneEntityDrownRsp_proto = out.File
+ file_SceneEntityDrownRsp_proto_rawDesc = nil
+ file_SceneEntityDrownRsp_proto_goTypes = nil
+ file_SceneEntityDrownRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityInfo.pb.go b/protocol/proto/SceneEntityInfo.pb.go
new file mode 100644
index 00000000..4287bb05
--- /dev/null
+++ b/protocol/proto/SceneEntityInfo.pb.go
@@ -0,0 +1,467 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneEntityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityType ProtEntityType `protobuf:"varint,1,opt,name=entity_type,json=entityType,proto3,enum=proto.ProtEntityType" json:"entity_type,omitempty"`
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+ MotionInfo *MotionInfo `protobuf:"bytes,4,opt,name=motion_info,json=motionInfo,proto3" json:"motion_info,omitempty"`
+ PropList []*PropPair `protobuf:"bytes,5,rep,name=prop_list,json=propList,proto3" json:"prop_list,omitempty"`
+ FightPropList []*FightPropPair `protobuf:"bytes,6,rep,name=fight_prop_list,json=fightPropList,proto3" json:"fight_prop_list,omitempty"`
+ LifeState uint32 `protobuf:"varint,7,opt,name=life_state,json=lifeState,proto3" json:"life_state,omitempty"`
+ AnimatorParaList []*AnimatorParameterValueInfoPair `protobuf:"bytes,9,rep,name=animator_para_list,json=animatorParaList,proto3" json:"animator_para_list,omitempty"`
+ LastMoveSceneTimeMs uint32 `protobuf:"varint,17,opt,name=last_move_scene_time_ms,json=lastMoveSceneTimeMs,proto3" json:"last_move_scene_time_ms,omitempty"`
+ LastMoveReliableSeq uint32 `protobuf:"varint,18,opt,name=last_move_reliable_seq,json=lastMoveReliableSeq,proto3" json:"last_move_reliable_seq,omitempty"`
+ EntityClientData *EntityClientData `protobuf:"bytes,19,opt,name=entity_client_data,json=entityClientData,proto3" json:"entity_client_data,omitempty"`
+ EntityEnvironmentInfoList []*EntityEnvironmentInfo `protobuf:"bytes,20,rep,name=entity_environment_info_list,json=entityEnvironmentInfoList,proto3" json:"entity_environment_info_list,omitempty"`
+ EntityAuthorityInfo *EntityAuthorityInfo `protobuf:"bytes,21,opt,name=entity_authority_info,json=entityAuthorityInfo,proto3" json:"entity_authority_info,omitempty"`
+ TagList []string `protobuf:"bytes,22,rep,name=tag_list,json=tagList,proto3" json:"tag_list,omitempty"`
+ ServerBuffList []*ServerBuff `protobuf:"bytes,23,rep,name=server_buff_list,json=serverBuffList,proto3" json:"server_buff_list,omitempty"`
+ // Types that are assignable to Entity:
+ //
+ // *SceneEntityInfo_Avatar
+ // *SceneEntityInfo_Monster
+ // *SceneEntityInfo_Npc
+ // *SceneEntityInfo_Gadget
+ Entity isSceneEntityInfo_Entity `protobuf_oneof:"entity"`
+}
+
+func (x *SceneEntityInfo) Reset() {
+ *x = SceneEntityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityInfo) ProtoMessage() {}
+
+func (x *SceneEntityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityInfo.ProtoReflect.Descriptor instead.
+func (*SceneEntityInfo) Descriptor() ([]byte, []int) {
+ return file_SceneEntityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityInfo) GetEntityType() ProtEntityType {
+ if x != nil {
+ return x.EntityType
+ }
+ return ProtEntityType_PROT_ENTITY_TYPE_NONE
+}
+
+func (x *SceneEntityInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *SceneEntityInfo) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *SceneEntityInfo) GetMotionInfo() *MotionInfo {
+ if x != nil {
+ return x.MotionInfo
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetPropList() []*PropPair {
+ if x != nil {
+ return x.PropList
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetFightPropList() []*FightPropPair {
+ if x != nil {
+ return x.FightPropList
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetLifeState() uint32 {
+ if x != nil {
+ return x.LifeState
+ }
+ return 0
+}
+
+func (x *SceneEntityInfo) GetAnimatorParaList() []*AnimatorParameterValueInfoPair {
+ if x != nil {
+ return x.AnimatorParaList
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetLastMoveSceneTimeMs() uint32 {
+ if x != nil {
+ return x.LastMoveSceneTimeMs
+ }
+ return 0
+}
+
+func (x *SceneEntityInfo) GetLastMoveReliableSeq() uint32 {
+ if x != nil {
+ return x.LastMoveReliableSeq
+ }
+ return 0
+}
+
+func (x *SceneEntityInfo) GetEntityClientData() *EntityClientData {
+ if x != nil {
+ return x.EntityClientData
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetEntityEnvironmentInfoList() []*EntityEnvironmentInfo {
+ if x != nil {
+ return x.EntityEnvironmentInfoList
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetEntityAuthorityInfo() *EntityAuthorityInfo {
+ if x != nil {
+ return x.EntityAuthorityInfo
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetTagList() []string {
+ if x != nil {
+ return x.TagList
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetServerBuffList() []*ServerBuff {
+ if x != nil {
+ return x.ServerBuffList
+ }
+ return nil
+}
+
+func (m *SceneEntityInfo) GetEntity() isSceneEntityInfo_Entity {
+ if m != nil {
+ return m.Entity
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetAvatar() *SceneAvatarInfo {
+ if x, ok := x.GetEntity().(*SceneEntityInfo_Avatar); ok {
+ return x.Avatar
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetMonster() *SceneMonsterInfo {
+ if x, ok := x.GetEntity().(*SceneEntityInfo_Monster); ok {
+ return x.Monster
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetNpc() *SceneNpcInfo {
+ if x, ok := x.GetEntity().(*SceneEntityInfo_Npc); ok {
+ return x.Npc
+ }
+ return nil
+}
+
+func (x *SceneEntityInfo) GetGadget() *SceneGadgetInfo {
+ if x, ok := x.GetEntity().(*SceneEntityInfo_Gadget); ok {
+ return x.Gadget
+ }
+ return nil
+}
+
+type isSceneEntityInfo_Entity interface {
+ isSceneEntityInfo_Entity()
+}
+
+type SceneEntityInfo_Avatar struct {
+ Avatar *SceneAvatarInfo `protobuf:"bytes,10,opt,name=avatar,proto3,oneof"`
+}
+
+type SceneEntityInfo_Monster struct {
+ Monster *SceneMonsterInfo `protobuf:"bytes,11,opt,name=monster,proto3,oneof"`
+}
+
+type SceneEntityInfo_Npc struct {
+ Npc *SceneNpcInfo `protobuf:"bytes,12,opt,name=npc,proto3,oneof"`
+}
+
+type SceneEntityInfo_Gadget struct {
+ Gadget *SceneGadgetInfo `protobuf:"bytes,13,opt,name=gadget,proto3,oneof"`
+}
+
+func (*SceneEntityInfo_Avatar) isSceneEntityInfo_Entity() {}
+
+func (*SceneEntityInfo_Monster) isSceneEntityInfo_Entity() {}
+
+func (*SceneEntityInfo_Npc) isSceneEntityInfo_Entity() {}
+
+func (*SceneEntityInfo_Gadget) isSceneEntityInfo_Entity() {}
+
+var File_SceneEntityInfo_proto protoreflect.FileDescriptor
+
+var file_SceneEntityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24,
+ 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
+ 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74, 0x68,
+ 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45,
+ 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x50,
+ 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x50, 0x72, 0x6f,
+ 0x70, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f,
+ 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x70,
+ 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x08,
+ 0x0a, 0x0f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x36, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50,
+ 0x72, 0x6f, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x6d, 0x6f,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c,
+ 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x50, 0x61,
+ 0x69, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0f,
+ 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69,
+ 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0d, 0x66, 0x69, 0x67,
+ 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69,
+ 0x66, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x6c, 0x69, 0x66, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x6e, 0x69,
+ 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e,
+ 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x61, 0x69, 0x72, 0x52, 0x10, 0x61, 0x6e,
+ 0x69, 0x6d, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x61, 0x72, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34,
+ 0x0a, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x63, 0x65, 0x6e,
+ 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x13, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69,
+ 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x76,
+ 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x12,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65,
+ 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x71, 0x12, 0x45, 0x0a, 0x12, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18,
+ 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x5d, 0x0a, 0x1c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72,
+ 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x19, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x76, 0x69,
+ 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x4e, 0x0a, 0x15, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x75, 0x74,
+ 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x19, 0x0a, 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x16, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x10, 0x73, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x17,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42,
+ 0x75, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x6d, 0x6f, 0x6e,
+ 0x73, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x12, 0x27,
+ 0x0a, 0x03, 0x6e, 0x70, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f,
+ 0x48, 0x00, 0x52, 0x03, 0x6e, 0x70, 0x63, 0x12, 0x30, 0x0a, 0x06, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x06, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityInfo_proto_rawDescOnce sync.Once
+ file_SceneEntityInfo_proto_rawDescData = file_SceneEntityInfo_proto_rawDesc
+)
+
+func file_SceneEntityInfo_proto_rawDescGZIP() []byte {
+ file_SceneEntityInfo_proto_rawDescOnce.Do(func() {
+ file_SceneEntityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityInfo_proto_rawDescData)
+ })
+ return file_SceneEntityInfo_proto_rawDescData
+}
+
+var file_SceneEntityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityInfo_proto_goTypes = []interface{}{
+ (*SceneEntityInfo)(nil), // 0: proto.SceneEntityInfo
+ (ProtEntityType)(0), // 1: proto.ProtEntityType
+ (*MotionInfo)(nil), // 2: proto.MotionInfo
+ (*PropPair)(nil), // 3: proto.PropPair
+ (*FightPropPair)(nil), // 4: proto.FightPropPair
+ (*AnimatorParameterValueInfoPair)(nil), // 5: proto.AnimatorParameterValueInfoPair
+ (*EntityClientData)(nil), // 6: proto.EntityClientData
+ (*EntityEnvironmentInfo)(nil), // 7: proto.EntityEnvironmentInfo
+ (*EntityAuthorityInfo)(nil), // 8: proto.EntityAuthorityInfo
+ (*ServerBuff)(nil), // 9: proto.ServerBuff
+ (*SceneAvatarInfo)(nil), // 10: proto.SceneAvatarInfo
+ (*SceneMonsterInfo)(nil), // 11: proto.SceneMonsterInfo
+ (*SceneNpcInfo)(nil), // 12: proto.SceneNpcInfo
+ (*SceneGadgetInfo)(nil), // 13: proto.SceneGadgetInfo
+}
+var file_SceneEntityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntityInfo.entity_type:type_name -> proto.ProtEntityType
+ 2, // 1: proto.SceneEntityInfo.motion_info:type_name -> proto.MotionInfo
+ 3, // 2: proto.SceneEntityInfo.prop_list:type_name -> proto.PropPair
+ 4, // 3: proto.SceneEntityInfo.fight_prop_list:type_name -> proto.FightPropPair
+ 5, // 4: proto.SceneEntityInfo.animator_para_list:type_name -> proto.AnimatorParameterValueInfoPair
+ 6, // 5: proto.SceneEntityInfo.entity_client_data:type_name -> proto.EntityClientData
+ 7, // 6: proto.SceneEntityInfo.entity_environment_info_list:type_name -> proto.EntityEnvironmentInfo
+ 8, // 7: proto.SceneEntityInfo.entity_authority_info:type_name -> proto.EntityAuthorityInfo
+ 9, // 8: proto.SceneEntityInfo.server_buff_list:type_name -> proto.ServerBuff
+ 10, // 9: proto.SceneEntityInfo.avatar:type_name -> proto.SceneAvatarInfo
+ 11, // 10: proto.SceneEntityInfo.monster:type_name -> proto.SceneMonsterInfo
+ 12, // 11: proto.SceneEntityInfo.npc:type_name -> proto.SceneNpcInfo
+ 13, // 12: proto.SceneEntityInfo.gadget:type_name -> proto.SceneGadgetInfo
+ 13, // [13:13] is the sub-list for method output_type
+ 13, // [13:13] is the sub-list for method input_type
+ 13, // [13:13] is the sub-list for extension type_name
+ 13, // [13:13] is the sub-list for extension extendee
+ 0, // [0:13] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityInfo_proto_init() }
+func file_SceneEntityInfo_proto_init() {
+ if File_SceneEntityInfo_proto != nil {
+ return
+ }
+ file_AnimatorParameterValueInfoPair_proto_init()
+ file_EntityAuthorityInfo_proto_init()
+ file_EntityClientData_proto_init()
+ file_EntityEnvironmentInfo_proto_init()
+ file_FightPropPair_proto_init()
+ file_MotionInfo_proto_init()
+ file_PropPair_proto_init()
+ file_ProtEntityType_proto_init()
+ file_SceneAvatarInfo_proto_init()
+ file_SceneGadgetInfo_proto_init()
+ file_SceneMonsterInfo_proto_init()
+ file_SceneNpcInfo_proto_init()
+ file_ServerBuff_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_SceneEntityInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*SceneEntityInfo_Avatar)(nil),
+ (*SceneEntityInfo_Monster)(nil),
+ (*SceneEntityInfo_Npc)(nil),
+ (*SceneEntityInfo_Gadget)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityInfo_proto_goTypes,
+ DependencyIndexes: file_SceneEntityInfo_proto_depIdxs,
+ MessageInfos: file_SceneEntityInfo_proto_msgTypes,
+ }.Build()
+ File_SceneEntityInfo_proto = out.File
+ file_SceneEntityInfo_proto_rawDesc = nil
+ file_SceneEntityInfo_proto_goTypes = nil
+ file_SceneEntityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityMoveNotify.pb.go b/protocol/proto/SceneEntityMoveNotify.pb.go
new file mode 100644
index 00000000..93aa1a39
--- /dev/null
+++ b/protocol/proto/SceneEntityMoveNotify.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityMoveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 275
+// EnetChannelId: 1
+// EnetIsReliable: true
+type SceneEntityMoveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MotionInfo *MotionInfo `protobuf:"bytes,6,opt,name=motion_info,json=motionInfo,proto3" json:"motion_info,omitempty"`
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ SceneTime uint32 `protobuf:"varint,15,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ ReliableSeq uint32 `protobuf:"varint,2,opt,name=reliable_seq,json=reliableSeq,proto3" json:"reliable_seq,omitempty"`
+}
+
+func (x *SceneEntityMoveNotify) Reset() {
+ *x = SceneEntityMoveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityMoveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityMoveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityMoveNotify) ProtoMessage() {}
+
+func (x *SceneEntityMoveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityMoveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityMoveNotify.ProtoReflect.Descriptor instead.
+func (*SceneEntityMoveNotify) Descriptor() ([]byte, []int) {
+ return file_SceneEntityMoveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityMoveNotify) GetMotionInfo() *MotionInfo {
+ if x != nil {
+ return x.MotionInfo
+ }
+ return nil
+}
+
+func (x *SceneEntityMoveNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *SceneEntityMoveNotify) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *SceneEntityMoveNotify) GetReliableSeq() uint32 {
+ if x != nil {
+ return x.ReliableSeq
+ }
+ return 0
+}
+
+var File_SceneEntityMoveNotify_proto protoreflect.FileDescriptor
+
+var file_SceneEntityMoveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x32, 0x0a, 0x0b, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x71,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65,
+ 0x53, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityMoveNotify_proto_rawDescOnce sync.Once
+ file_SceneEntityMoveNotify_proto_rawDescData = file_SceneEntityMoveNotify_proto_rawDesc
+)
+
+func file_SceneEntityMoveNotify_proto_rawDescGZIP() []byte {
+ file_SceneEntityMoveNotify_proto_rawDescOnce.Do(func() {
+ file_SceneEntityMoveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityMoveNotify_proto_rawDescData)
+ })
+ return file_SceneEntityMoveNotify_proto_rawDescData
+}
+
+var file_SceneEntityMoveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityMoveNotify_proto_goTypes = []interface{}{
+ (*SceneEntityMoveNotify)(nil), // 0: proto.SceneEntityMoveNotify
+ (*MotionInfo)(nil), // 1: proto.MotionInfo
+}
+var file_SceneEntityMoveNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntityMoveNotify.motion_info:type_name -> proto.MotionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityMoveNotify_proto_init() }
+func file_SceneEntityMoveNotify_proto_init() {
+ if File_SceneEntityMoveNotify_proto != nil {
+ return
+ }
+ file_MotionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityMoveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityMoveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityMoveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityMoveNotify_proto_goTypes,
+ DependencyIndexes: file_SceneEntityMoveNotify_proto_depIdxs,
+ MessageInfos: file_SceneEntityMoveNotify_proto_msgTypes,
+ }.Build()
+ File_SceneEntityMoveNotify_proto = out.File
+ file_SceneEntityMoveNotify_proto_rawDesc = nil
+ file_SceneEntityMoveNotify_proto_goTypes = nil
+ file_SceneEntityMoveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityMoveReq.pb.go b/protocol/proto/SceneEntityMoveReq.pb.go
new file mode 100644
index 00000000..f69c05db
--- /dev/null
+++ b/protocol/proto/SceneEntityMoveReq.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityMoveReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 290
+// EnetChannelId: 1
+// EnetIsReliable: false
+// IsAllowClient: true
+type SceneEntityMoveReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MotionInfo *MotionInfo `protobuf:"bytes,7,opt,name=motion_info,json=motionInfo,proto3" json:"motion_info,omitempty"`
+ SceneTime uint32 `protobuf:"varint,4,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ReliableSeq uint32 `protobuf:"varint,15,opt,name=reliable_seq,json=reliableSeq,proto3" json:"reliable_seq,omitempty"`
+}
+
+func (x *SceneEntityMoveReq) Reset() {
+ *x = SceneEntityMoveReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityMoveReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityMoveReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityMoveReq) ProtoMessage() {}
+
+func (x *SceneEntityMoveReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityMoveReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityMoveReq.ProtoReflect.Descriptor instead.
+func (*SceneEntityMoveReq) Descriptor() ([]byte, []int) {
+ return file_SceneEntityMoveReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityMoveReq) GetMotionInfo() *MotionInfo {
+ if x != nil {
+ return x.MotionInfo
+ }
+ return nil
+}
+
+func (x *SceneEntityMoveReq) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *SceneEntityMoveReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *SceneEntityMoveReq) GetReliableSeq() uint32 {
+ if x != nil {
+ return x.ReliableSeq
+ }
+ return 0
+}
+
+var File_SceneEntityMoveReq_proto protoreflect.FileDescriptor
+
+var file_SceneEntityMoveReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76,
+ 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x12, 0x32, 0x0a, 0x0b, 0x6d, 0x6f,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0a, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65,
+ 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SceneEntityMoveReq_proto_rawDescOnce sync.Once
+ file_SceneEntityMoveReq_proto_rawDescData = file_SceneEntityMoveReq_proto_rawDesc
+)
+
+func file_SceneEntityMoveReq_proto_rawDescGZIP() []byte {
+ file_SceneEntityMoveReq_proto_rawDescOnce.Do(func() {
+ file_SceneEntityMoveReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityMoveReq_proto_rawDescData)
+ })
+ return file_SceneEntityMoveReq_proto_rawDescData
+}
+
+var file_SceneEntityMoveReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityMoveReq_proto_goTypes = []interface{}{
+ (*SceneEntityMoveReq)(nil), // 0: proto.SceneEntityMoveReq
+ (*MotionInfo)(nil), // 1: proto.MotionInfo
+}
+var file_SceneEntityMoveReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntityMoveReq.motion_info:type_name -> proto.MotionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityMoveReq_proto_init() }
+func file_SceneEntityMoveReq_proto_init() {
+ if File_SceneEntityMoveReq_proto != nil {
+ return
+ }
+ file_MotionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityMoveReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityMoveReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityMoveReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityMoveReq_proto_goTypes,
+ DependencyIndexes: file_SceneEntityMoveReq_proto_depIdxs,
+ MessageInfos: file_SceneEntityMoveReq_proto_msgTypes,
+ }.Build()
+ File_SceneEntityMoveReq_proto = out.File
+ file_SceneEntityMoveReq_proto_rawDesc = nil
+ file_SceneEntityMoveReq_proto_goTypes = nil
+ file_SceneEntityMoveReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityMoveRsp.pb.go b/protocol/proto/SceneEntityMoveRsp.pb.go
new file mode 100644
index 00000000..920acd21
--- /dev/null
+++ b/protocol/proto/SceneEntityMoveRsp.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityMoveRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 273
+// EnetChannelId: 1
+// EnetIsReliable: true
+type SceneEntityMoveRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ FailMotion *MotionInfo `protobuf:"bytes,1,opt,name=fail_motion,json=failMotion,proto3" json:"fail_motion,omitempty"`
+ SceneTime uint32 `protobuf:"varint,10,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ ReliableSeq uint32 `protobuf:"varint,6,opt,name=reliable_seq,json=reliableSeq,proto3" json:"reliable_seq,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SceneEntityMoveRsp) Reset() {
+ *x = SceneEntityMoveRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityMoveRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityMoveRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityMoveRsp) ProtoMessage() {}
+
+func (x *SceneEntityMoveRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityMoveRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityMoveRsp.ProtoReflect.Descriptor instead.
+func (*SceneEntityMoveRsp) Descriptor() ([]byte, []int) {
+ return file_SceneEntityMoveRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityMoveRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *SceneEntityMoveRsp) GetFailMotion() *MotionInfo {
+ if x != nil {
+ return x.FailMotion
+ }
+ return nil
+}
+
+func (x *SceneEntityMoveRsp) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *SceneEntityMoveRsp) GetReliableSeq() uint32 {
+ if x != nil {
+ return x.ReliableSeq
+ }
+ return 0
+}
+
+func (x *SceneEntityMoveRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SceneEntityMoveRsp_proto protoreflect.FileDescriptor
+
+var file_SceneEntityMoveRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76,
+ 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x10, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f,
+ 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65,
+ 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x71, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityMoveRsp_proto_rawDescOnce sync.Once
+ file_SceneEntityMoveRsp_proto_rawDescData = file_SceneEntityMoveRsp_proto_rawDesc
+)
+
+func file_SceneEntityMoveRsp_proto_rawDescGZIP() []byte {
+ file_SceneEntityMoveRsp_proto_rawDescOnce.Do(func() {
+ file_SceneEntityMoveRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityMoveRsp_proto_rawDescData)
+ })
+ return file_SceneEntityMoveRsp_proto_rawDescData
+}
+
+var file_SceneEntityMoveRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityMoveRsp_proto_goTypes = []interface{}{
+ (*SceneEntityMoveRsp)(nil), // 0: proto.SceneEntityMoveRsp
+ (*MotionInfo)(nil), // 1: proto.MotionInfo
+}
+var file_SceneEntityMoveRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntityMoveRsp.fail_motion:type_name -> proto.MotionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityMoveRsp_proto_init() }
+func file_SceneEntityMoveRsp_proto_init() {
+ if File_SceneEntityMoveRsp_proto != nil {
+ return
+ }
+ file_MotionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityMoveRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityMoveRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityMoveRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityMoveRsp_proto_goTypes,
+ DependencyIndexes: file_SceneEntityMoveRsp_proto_depIdxs,
+ MessageInfos: file_SceneEntityMoveRsp_proto_msgTypes,
+ }.Build()
+ File_SceneEntityMoveRsp_proto = out.File
+ file_SceneEntityMoveRsp_proto_rawDesc = nil
+ file_SceneEntityMoveRsp_proto_goTypes = nil
+ file_SceneEntityMoveRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneEntityUpdateNotify.pb.go b/protocol/proto/SceneEntityUpdateNotify.pb.go
new file mode 100644
index 00000000..fff24bc5
--- /dev/null
+++ b/protocol/proto/SceneEntityUpdateNotify.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneEntityUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3412
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneEntityUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param uint32 `protobuf:"varint,10,opt,name=param,proto3" json:"param,omitempty"`
+ AppearType VisionType `protobuf:"varint,13,opt,name=appear_type,json=appearType,proto3,enum=proto.VisionType" json:"appear_type,omitempty"`
+ EntityList []*SceneEntityInfo `protobuf:"bytes,5,rep,name=entity_list,json=entityList,proto3" json:"entity_list,omitempty"`
+}
+
+func (x *SceneEntityUpdateNotify) Reset() {
+ *x = SceneEntityUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneEntityUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneEntityUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneEntityUpdateNotify) ProtoMessage() {}
+
+func (x *SceneEntityUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneEntityUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneEntityUpdateNotify.ProtoReflect.Descriptor instead.
+func (*SceneEntityUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_SceneEntityUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneEntityUpdateNotify) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *SceneEntityUpdateNotify) GetAppearType() VisionType {
+ if x != nil {
+ return x.AppearType
+ }
+ return VisionType_VISION_TYPE_NONE
+}
+
+func (x *SceneEntityUpdateNotify) GetEntityList() []*SceneEntityInfo {
+ if x != nil {
+ return x.EntityList
+ }
+ return nil
+}
+
+var File_SceneEntityUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_SceneEntityUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x56,
+ 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x9c, 0x01, 0x0a, 0x17, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x12, 0x32, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x61, 0x70, 0x70, 0x65, 0x61,
+ 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SceneEntityUpdateNotify_proto_rawDescOnce sync.Once
+ file_SceneEntityUpdateNotify_proto_rawDescData = file_SceneEntityUpdateNotify_proto_rawDesc
+)
+
+func file_SceneEntityUpdateNotify_proto_rawDescGZIP() []byte {
+ file_SceneEntityUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_SceneEntityUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneEntityUpdateNotify_proto_rawDescData)
+ })
+ return file_SceneEntityUpdateNotify_proto_rawDescData
+}
+
+var file_SceneEntityUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneEntityUpdateNotify_proto_goTypes = []interface{}{
+ (*SceneEntityUpdateNotify)(nil), // 0: proto.SceneEntityUpdateNotify
+ (VisionType)(0), // 1: proto.VisionType
+ (*SceneEntityInfo)(nil), // 2: proto.SceneEntityInfo
+}
+var file_SceneEntityUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneEntityUpdateNotify.appear_type:type_name -> proto.VisionType
+ 2, // 1: proto.SceneEntityUpdateNotify.entity_list:type_name -> proto.SceneEntityInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SceneEntityUpdateNotify_proto_init() }
+func file_SceneEntityUpdateNotify_proto_init() {
+ if File_SceneEntityUpdateNotify_proto != nil {
+ return
+ }
+ file_SceneEntityInfo_proto_init()
+ file_VisionType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneEntityUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneEntityUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneEntityUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneEntityUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_SceneEntityUpdateNotify_proto_depIdxs,
+ MessageInfos: file_SceneEntityUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_SceneEntityUpdateNotify_proto = out.File
+ file_SceneEntityUpdateNotify_proto_rawDesc = nil
+ file_SceneEntityUpdateNotify_proto_goTypes = nil
+ file_SceneEntityUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneFishInfo.pb.go b/protocol/proto/SceneFishInfo.pb.go
new file mode 100644
index 00000000..e3b7b6f6
--- /dev/null
+++ b/protocol/proto/SceneFishInfo.pb.go
@@ -0,0 +1,206 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneFishInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneFishInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FishId uint32 `protobuf:"varint,1,opt,name=fish_id,json=fishId,proto3" json:"fish_id,omitempty"`
+ FishPoolEntityId uint32 `protobuf:"varint,2,opt,name=fish_pool_entity_id,json=fishPoolEntityId,proto3" json:"fish_pool_entity_id,omitempty"`
+ FishPoolPos *Vector `protobuf:"bytes,3,opt,name=fish_pool_pos,json=fishPoolPos,proto3" json:"fish_pool_pos,omitempty"`
+ FishPoolGadgetId uint32 `protobuf:"varint,4,opt,name=fish_pool_gadget_id,json=fishPoolGadgetId,proto3" json:"fish_pool_gadget_id,omitempty"`
+ LastShockTime uint32 `protobuf:"varint,5,opt,name=last_shock_time,json=lastShockTime,proto3" json:"last_shock_time,omitempty"`
+}
+
+func (x *SceneFishInfo) Reset() {
+ *x = SceneFishInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneFishInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneFishInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneFishInfo) ProtoMessage() {}
+
+func (x *SceneFishInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneFishInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneFishInfo.ProtoReflect.Descriptor instead.
+func (*SceneFishInfo) Descriptor() ([]byte, []int) {
+ return file_SceneFishInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneFishInfo) GetFishId() uint32 {
+ if x != nil {
+ return x.FishId
+ }
+ return 0
+}
+
+func (x *SceneFishInfo) GetFishPoolEntityId() uint32 {
+ if x != nil {
+ return x.FishPoolEntityId
+ }
+ return 0
+}
+
+func (x *SceneFishInfo) GetFishPoolPos() *Vector {
+ if x != nil {
+ return x.FishPoolPos
+ }
+ return nil
+}
+
+func (x *SceneFishInfo) GetFishPoolGadgetId() uint32 {
+ if x != nil {
+ return x.FishPoolGadgetId
+ }
+ return 0
+}
+
+func (x *SceneFishInfo) GetLastShockTime() uint32 {
+ if x != nil {
+ return x.LastShockTime
+ }
+ return 0
+}
+
+var File_SceneFishInfo_proto protoreflect.FileDescriptor
+
+var file_SceneFishInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07,
+ 0x66, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66,
+ 0x69, 0x73, 0x68, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x6f,
+ 0x6f, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x0d, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6f,
+ 0x6c, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x66, 0x69, 0x73, 0x68,
+ 0x50, 0x6f, 0x6f, 0x6c, 0x50, 0x6f, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x66, 0x69, 0x73, 0x68, 0x5f,
+ 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x66, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73,
+ 0x68, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x68, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SceneFishInfo_proto_rawDescOnce sync.Once
+ file_SceneFishInfo_proto_rawDescData = file_SceneFishInfo_proto_rawDesc
+)
+
+func file_SceneFishInfo_proto_rawDescGZIP() []byte {
+ file_SceneFishInfo_proto_rawDescOnce.Do(func() {
+ file_SceneFishInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneFishInfo_proto_rawDescData)
+ })
+ return file_SceneFishInfo_proto_rawDescData
+}
+
+var file_SceneFishInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneFishInfo_proto_goTypes = []interface{}{
+ (*SceneFishInfo)(nil), // 0: proto.SceneFishInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_SceneFishInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneFishInfo.fish_pool_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneFishInfo_proto_init() }
+func file_SceneFishInfo_proto_init() {
+ if File_SceneFishInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneFishInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneFishInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneFishInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneFishInfo_proto_goTypes,
+ DependencyIndexes: file_SceneFishInfo_proto_depIdxs,
+ MessageInfos: file_SceneFishInfo_proto_msgTypes,
+ }.Build()
+ File_SceneFishInfo_proto = out.File
+ file_SceneFishInfo_proto_rawDesc = nil
+ file_SceneFishInfo_proto_goTypes = nil
+ file_SceneFishInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneForceLockNotify.pb.go b/protocol/proto/SceneForceLockNotify.pb.go
new file mode 100644
index 00000000..6dee6d5f
--- /dev/null
+++ b/protocol/proto/SceneForceLockNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneForceLockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 234
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneForceLockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ForceIdList []uint32 `protobuf:"varint,9,rep,packed,name=force_id_list,json=forceIdList,proto3" json:"force_id_list,omitempty"`
+}
+
+func (x *SceneForceLockNotify) Reset() {
+ *x = SceneForceLockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneForceLockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneForceLockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneForceLockNotify) ProtoMessage() {}
+
+func (x *SceneForceLockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneForceLockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneForceLockNotify.ProtoReflect.Descriptor instead.
+func (*SceneForceLockNotify) Descriptor() ([]byte, []int) {
+ return file_SceneForceLockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneForceLockNotify) GetForceIdList() []uint32 {
+ if x != nil {
+ return x.ForceIdList
+ }
+ return nil
+}
+
+var File_SceneForceLockNotify_proto protoreflect.FileDescriptor
+
+var file_SceneForceLockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x6b,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x14, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x63,
+ 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x66,
+ 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneForceLockNotify_proto_rawDescOnce sync.Once
+ file_SceneForceLockNotify_proto_rawDescData = file_SceneForceLockNotify_proto_rawDesc
+)
+
+func file_SceneForceLockNotify_proto_rawDescGZIP() []byte {
+ file_SceneForceLockNotify_proto_rawDescOnce.Do(func() {
+ file_SceneForceLockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneForceLockNotify_proto_rawDescData)
+ })
+ return file_SceneForceLockNotify_proto_rawDescData
+}
+
+var file_SceneForceLockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneForceLockNotify_proto_goTypes = []interface{}{
+ (*SceneForceLockNotify)(nil), // 0: proto.SceneForceLockNotify
+}
+var file_SceneForceLockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneForceLockNotify_proto_init() }
+func file_SceneForceLockNotify_proto_init() {
+ if File_SceneForceLockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneForceLockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneForceLockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneForceLockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneForceLockNotify_proto_goTypes,
+ DependencyIndexes: file_SceneForceLockNotify_proto_depIdxs,
+ MessageInfos: file_SceneForceLockNotify_proto_msgTypes,
+ }.Build()
+ File_SceneForceLockNotify_proto = out.File
+ file_SceneForceLockNotify_proto_rawDesc = nil
+ file_SceneForceLockNotify_proto_goTypes = nil
+ file_SceneForceLockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneForceUnlockNotify.pb.go b/protocol/proto/SceneForceUnlockNotify.pb.go
new file mode 100644
index 00000000..d1e4009f
--- /dev/null
+++ b/protocol/proto/SceneForceUnlockNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneForceUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 206
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneForceUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAdd bool `protobuf:"varint,10,opt,name=is_add,json=isAdd,proto3" json:"is_add,omitempty"`
+ ForceIdList []uint32 `protobuf:"varint,2,rep,packed,name=force_id_list,json=forceIdList,proto3" json:"force_id_list,omitempty"`
+}
+
+func (x *SceneForceUnlockNotify) Reset() {
+ *x = SceneForceUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneForceUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneForceUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneForceUnlockNotify) ProtoMessage() {}
+
+func (x *SceneForceUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneForceUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneForceUnlockNotify.ProtoReflect.Descriptor instead.
+func (*SceneForceUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_SceneForceUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneForceUnlockNotify) GetIsAdd() bool {
+ if x != nil {
+ return x.IsAdd
+ }
+ return false
+}
+
+func (x *SceneForceUnlockNotify) GetForceIdList() []uint32 {
+ if x != nil {
+ return x.ForceIdList
+ }
+ return nil
+}
+
+var File_SceneForceUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_SceneForceUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x46, 0x6f,
+ 0x72, 0x63, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x05, 0x69, 0x73, 0x41, 0x64, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x66,
+ 0x6f, 0x72, 0x63, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneForceUnlockNotify_proto_rawDescOnce sync.Once
+ file_SceneForceUnlockNotify_proto_rawDescData = file_SceneForceUnlockNotify_proto_rawDesc
+)
+
+func file_SceneForceUnlockNotify_proto_rawDescGZIP() []byte {
+ file_SceneForceUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_SceneForceUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneForceUnlockNotify_proto_rawDescData)
+ })
+ return file_SceneForceUnlockNotify_proto_rawDescData
+}
+
+var file_SceneForceUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneForceUnlockNotify_proto_goTypes = []interface{}{
+ (*SceneForceUnlockNotify)(nil), // 0: proto.SceneForceUnlockNotify
+}
+var file_SceneForceUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneForceUnlockNotify_proto_init() }
+func file_SceneForceUnlockNotify_proto_init() {
+ if File_SceneForceUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneForceUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneForceUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneForceUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneForceUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_SceneForceUnlockNotify_proto_depIdxs,
+ MessageInfos: file_SceneForceUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_SceneForceUnlockNotify_proto = out.File
+ file_SceneForceUnlockNotify_proto_rawDesc = nil
+ file_SceneForceUnlockNotify_proto_goTypes = nil
+ file_SceneForceUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGadgetInfo.pb.go b/protocol/proto/SceneGadgetInfo.pb.go
new file mode 100644
index 00000000..000d55a5
--- /dev/null
+++ b/protocol/proto/SceneGadgetInfo.pb.go
@@ -0,0 +1,860 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetId uint32 `protobuf:"varint,1,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,3,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ OwnerEntityId uint32 `protobuf:"varint,4,opt,name=owner_entity_id,json=ownerEntityId,proto3" json:"owner_entity_id,omitempty"`
+ BornType GadgetBornType `protobuf:"varint,5,opt,name=born_type,json=bornType,proto3,enum=proto.GadgetBornType" json:"born_type,omitempty"`
+ GadgetState uint32 `protobuf:"varint,6,opt,name=gadget_state,json=gadgetState,proto3" json:"gadget_state,omitempty"`
+ GadgetType uint32 `protobuf:"varint,7,opt,name=gadget_type,json=gadgetType,proto3" json:"gadget_type,omitempty"`
+ IsShowCutscene bool `protobuf:"varint,8,opt,name=is_show_cutscene,json=isShowCutscene,proto3" json:"is_show_cutscene,omitempty"`
+ AuthorityPeerId uint32 `protobuf:"varint,9,opt,name=authority_peer_id,json=authorityPeerId,proto3" json:"authority_peer_id,omitempty"`
+ IsEnableInteract bool `protobuf:"varint,10,opt,name=is_enable_interact,json=isEnableInteract,proto3" json:"is_enable_interact,omitempty"`
+ InteractId uint32 `protobuf:"varint,11,opt,name=interact_id,json=interactId,proto3" json:"interact_id,omitempty"`
+ MarkFlag uint32 `protobuf:"varint,21,opt,name=mark_flag,json=markFlag,proto3" json:"mark_flag,omitempty"`
+ PropOwnerEntityId uint32 `protobuf:"varint,22,opt,name=prop_owner_entity_id,json=propOwnerEntityId,proto3" json:"prop_owner_entity_id,omitempty"`
+ Platform *PlatformInfo `protobuf:"bytes,23,opt,name=platform,proto3" json:"platform,omitempty"`
+ InteractUidList []uint32 `protobuf:"varint,24,rep,packed,name=interact_uid_list,json=interactUidList,proto3" json:"interact_uid_list,omitempty"`
+ DraftId uint32 `protobuf:"varint,25,opt,name=draft_id,json=draftId,proto3" json:"draft_id,omitempty"`
+ GadgetTalkState uint32 `protobuf:"varint,26,opt,name=gadget_talk_state,json=gadgetTalkState,proto3" json:"gadget_talk_state,omitempty"`
+ PlayInfo *GadgetPlayInfo `protobuf:"bytes,100,opt,name=play_info,json=playInfo,proto3" json:"play_info,omitempty"`
+ // Types that are assignable to Content:
+ //
+ // *SceneGadgetInfo_TrifleItem
+ // *SceneGadgetInfo_GatherGadget
+ // *SceneGadgetInfo_Worktop
+ // *SceneGadgetInfo_ClientGadget
+ // *SceneGadgetInfo_Weather
+ // *SceneGadgetInfo_AbilityGadget
+ // *SceneGadgetInfo_StatueGadget
+ // *SceneGadgetInfo_BossChest
+ // *SceneGadgetInfo_BlossomChest
+ // *SceneGadgetInfo_MpPlayReward
+ // *SceneGadgetInfo_GeneralReward
+ // *SceneGadgetInfo_OfferingInfo
+ // *SceneGadgetInfo_FoundationInfo
+ // *SceneGadgetInfo_VehicleInfo
+ // *SceneGadgetInfo_ShellInfo
+ // *SceneGadgetInfo_ScreenInfo
+ // *SceneGadgetInfo_FishPoolInfo
+ // *SceneGadgetInfo_CustomGadgetTreeInfo
+ // *SceneGadgetInfo_RoguelikeGadgetInfo
+ // *SceneGadgetInfo_NightCrowGadgetInfo
+ // *SceneGadgetInfo_DeshretObeliskGadgetInfo
+ Content isSceneGadgetInfo_Content `protobuf_oneof:"content"`
+}
+
+func (x *SceneGadgetInfo) Reset() {
+ *x = SceneGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGadgetInfo) ProtoMessage() {}
+
+func (x *SceneGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGadgetInfo.ProtoReflect.Descriptor instead.
+func (*SceneGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGadgetInfo) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetOwnerEntityId() uint32 {
+ if x != nil {
+ return x.OwnerEntityId
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetBornType() GadgetBornType {
+ if x != nil {
+ return x.BornType
+ }
+ return GadgetBornType_GADGET_BORN_TYPE_NONE
+}
+
+func (x *SceneGadgetInfo) GetGadgetState() uint32 {
+ if x != nil {
+ return x.GadgetState
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetGadgetType() uint32 {
+ if x != nil {
+ return x.GadgetType
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetIsShowCutscene() bool {
+ if x != nil {
+ return x.IsShowCutscene
+ }
+ return false
+}
+
+func (x *SceneGadgetInfo) GetAuthorityPeerId() uint32 {
+ if x != nil {
+ return x.AuthorityPeerId
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetIsEnableInteract() bool {
+ if x != nil {
+ return x.IsEnableInteract
+ }
+ return false
+}
+
+func (x *SceneGadgetInfo) GetInteractId() uint32 {
+ if x != nil {
+ return x.InteractId
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetMarkFlag() uint32 {
+ if x != nil {
+ return x.MarkFlag
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetPropOwnerEntityId() uint32 {
+ if x != nil {
+ return x.PropOwnerEntityId
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetPlatform() *PlatformInfo {
+ if x != nil {
+ return x.Platform
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetInteractUidList() []uint32 {
+ if x != nil {
+ return x.InteractUidList
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetDraftId() uint32 {
+ if x != nil {
+ return x.DraftId
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetGadgetTalkState() uint32 {
+ if x != nil {
+ return x.GadgetTalkState
+ }
+ return 0
+}
+
+func (x *SceneGadgetInfo) GetPlayInfo() *GadgetPlayInfo {
+ if x != nil {
+ return x.PlayInfo
+ }
+ return nil
+}
+
+func (m *SceneGadgetInfo) GetContent() isSceneGadgetInfo_Content {
+ if m != nil {
+ return m.Content
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetTrifleItem() *Item {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_TrifleItem); ok {
+ return x.TrifleItem
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetGatherGadget() *GatherGadgetInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_GatherGadget); ok {
+ return x.GatherGadget
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetWorktop() *WorktopInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_Worktop); ok {
+ return x.Worktop
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetClientGadget() *ClientGadgetInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_ClientGadget); ok {
+ return x.ClientGadget
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetWeather() *WeatherInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_Weather); ok {
+ return x.Weather
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetAbilityGadget() *AbilityGadgetInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_AbilityGadget); ok {
+ return x.AbilityGadget
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetStatueGadget() *StatueGadgetInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_StatueGadget); ok {
+ return x.StatueGadget
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetBossChest() *BossChestInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_BossChest); ok {
+ return x.BossChest
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetBlossomChest() *BlossomChestInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_BlossomChest); ok {
+ return x.BlossomChest
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetMpPlayReward() *MpPlayRewardInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_MpPlayReward); ok {
+ return x.MpPlayReward
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetGeneralReward() *GadgetGeneralRewardInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_GeneralReward); ok {
+ return x.GeneralReward
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetOfferingInfo() *OfferingInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_OfferingInfo); ok {
+ return x.OfferingInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetFoundationInfo() *FoundationInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_FoundationInfo); ok {
+ return x.FoundationInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetVehicleInfo() *VehicleInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_VehicleInfo); ok {
+ return x.VehicleInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetShellInfo() *EchoShellInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_ShellInfo); ok {
+ return x.ShellInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetScreenInfo() *ScreenInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_ScreenInfo); ok {
+ return x.ScreenInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetFishPoolInfo() *FishPoolInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_FishPoolInfo); ok {
+ return x.FishPoolInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetCustomGadgetTreeInfo() *CustomGadgetTreeInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_CustomGadgetTreeInfo); ok {
+ return x.CustomGadgetTreeInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetRoguelikeGadgetInfo() *RoguelikeGadgetInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_RoguelikeGadgetInfo); ok {
+ return x.RoguelikeGadgetInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetNightCrowGadgetInfo() *NightCrowGadgetInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_NightCrowGadgetInfo); ok {
+ return x.NightCrowGadgetInfo
+ }
+ return nil
+}
+
+func (x *SceneGadgetInfo) GetDeshretObeliskGadgetInfo() *DeshretObeliskGadgetInfo {
+ if x, ok := x.GetContent().(*SceneGadgetInfo_DeshretObeliskGadgetInfo); ok {
+ return x.DeshretObeliskGadgetInfo
+ }
+ return nil
+}
+
+type isSceneGadgetInfo_Content interface {
+ isSceneGadgetInfo_Content()
+}
+
+type SceneGadgetInfo_TrifleItem struct {
+ TrifleItem *Item `protobuf:"bytes,12,opt,name=trifle_item,json=trifleItem,proto3,oneof"`
+}
+
+type SceneGadgetInfo_GatherGadget struct {
+ GatherGadget *GatherGadgetInfo `protobuf:"bytes,13,opt,name=gather_gadget,json=gatherGadget,proto3,oneof"`
+}
+
+type SceneGadgetInfo_Worktop struct {
+ Worktop *WorktopInfo `protobuf:"bytes,14,opt,name=worktop,proto3,oneof"`
+}
+
+type SceneGadgetInfo_ClientGadget struct {
+ ClientGadget *ClientGadgetInfo `protobuf:"bytes,15,opt,name=client_gadget,json=clientGadget,proto3,oneof"`
+}
+
+type SceneGadgetInfo_Weather struct {
+ Weather *WeatherInfo `protobuf:"bytes,17,opt,name=weather,proto3,oneof"`
+}
+
+type SceneGadgetInfo_AbilityGadget struct {
+ AbilityGadget *AbilityGadgetInfo `protobuf:"bytes,18,opt,name=ability_gadget,json=abilityGadget,proto3,oneof"`
+}
+
+type SceneGadgetInfo_StatueGadget struct {
+ StatueGadget *StatueGadgetInfo `protobuf:"bytes,19,opt,name=statue_gadget,json=statueGadget,proto3,oneof"`
+}
+
+type SceneGadgetInfo_BossChest struct {
+ BossChest *BossChestInfo `protobuf:"bytes,20,opt,name=boss_chest,json=bossChest,proto3,oneof"`
+}
+
+type SceneGadgetInfo_BlossomChest struct {
+ BlossomChest *BlossomChestInfo `protobuf:"bytes,41,opt,name=blossom_chest,json=blossomChest,proto3,oneof"`
+}
+
+type SceneGadgetInfo_MpPlayReward struct {
+ MpPlayReward *MpPlayRewardInfo `protobuf:"bytes,42,opt,name=mp_play_reward,json=mpPlayReward,proto3,oneof"`
+}
+
+type SceneGadgetInfo_GeneralReward struct {
+ GeneralReward *GadgetGeneralRewardInfo `protobuf:"bytes,43,opt,name=general_reward,json=generalReward,proto3,oneof"`
+}
+
+type SceneGadgetInfo_OfferingInfo struct {
+ OfferingInfo *OfferingInfo `protobuf:"bytes,44,opt,name=offering_info,json=offeringInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_FoundationInfo struct {
+ FoundationInfo *FoundationInfo `protobuf:"bytes,45,opt,name=foundation_info,json=foundationInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_VehicleInfo struct {
+ VehicleInfo *VehicleInfo `protobuf:"bytes,46,opt,name=vehicle_info,json=vehicleInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_ShellInfo struct {
+ ShellInfo *EchoShellInfo `protobuf:"bytes,47,opt,name=shell_info,json=shellInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_ScreenInfo struct {
+ ScreenInfo *ScreenInfo `protobuf:"bytes,48,opt,name=screen_info,json=screenInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_FishPoolInfo struct {
+ FishPoolInfo *FishPoolInfo `protobuf:"bytes,59,opt,name=fish_pool_info,json=fishPoolInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_CustomGadgetTreeInfo struct {
+ CustomGadgetTreeInfo *CustomGadgetTreeInfo `protobuf:"bytes,60,opt,name=custom_gadget_tree_info,json=customGadgetTreeInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_RoguelikeGadgetInfo struct {
+ RoguelikeGadgetInfo *RoguelikeGadgetInfo `protobuf:"bytes,61,opt,name=roguelike_gadget_info,json=roguelikeGadgetInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_NightCrowGadgetInfo struct {
+ NightCrowGadgetInfo *NightCrowGadgetInfo `protobuf:"bytes,62,opt,name=night_crow_gadget_info,json=nightCrowGadgetInfo,proto3,oneof"`
+}
+
+type SceneGadgetInfo_DeshretObeliskGadgetInfo struct {
+ DeshretObeliskGadgetInfo *DeshretObeliskGadgetInfo `protobuf:"bytes,63,opt,name=deshret_obelisk_gadget_info,json=deshretObeliskGadgetInfo,proto3,oneof"`
+}
+
+func (*SceneGadgetInfo_TrifleItem) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_GatherGadget) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_Worktop) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_ClientGadget) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_Weather) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_AbilityGadget) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_StatueGadget) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_BossChest) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_BlossomChest) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_MpPlayReward) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_GeneralReward) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_OfferingInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_FoundationInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_VehicleInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_ShellInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_ScreenInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_FishPoolInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_CustomGadgetTreeInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_RoguelikeGadgetInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_NightCrowGadgetInfo) isSceneGadgetInfo_Content() {}
+
+func (*SceneGadgetInfo_DeshretObeliskGadgetInfo) isSceneGadgetInfo_Content() {}
+
+var File_SceneGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d,
+ 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x13, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x44, 0x65, 0x73, 0x68, 0x72, 0x65,
+ 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x68,
+ 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x46,
+ 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x14, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x42,
+ 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x16, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x49, 0x74, 0x65, 0x6d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x4e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4f, 0x66, 0x66, 0x65, 0x72,
+ 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x50,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x53, 0x63,
+ 0x72, 0x65, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16,
+ 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x57, 0x65, 0x61, 0x74, 0x68,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x57, 0x6f,
+ 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xae, 0x10, 0x0a, 0x0f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77, 0x6e, 0x65,
+ 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x32, 0x0a, 0x09, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x62, 0x6f, 0x72, 0x6e,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x73,
+ 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x73,
+ 0x68, 0x6f, 0x77, 0x5f, 0x63, 0x75, 0x74, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x75, 0x74, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f,
+ 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61,
+ 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c,
+ 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x45, 0x6e,
+ 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x72,
+ 0x6f, 0x70, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x70, 0x4f, 0x77,
+ 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x70,
+ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2a, 0x0a, 0x11,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63,
+ 0x74, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x72, 0x61, 0x66,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x64, 0x72, 0x61, 0x66,
+ 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61,
+ 0x6c, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x61, 0x6c, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
+ 0x32, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x64, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x0b, 0x74, 0x72, 0x69, 0x66, 0x6c, 0x65, 0x5f, 0x69, 0x74,
+ 0x65, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x66, 0x6c, 0x65, 0x49,
+ 0x74, 0x65, 0x6d, 0x12, 0x3e, 0x0a, 0x0d, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x67, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6b, 0x74, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b,
+ 0x74, 0x6f, 0x70, 0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x67, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x18, 0x11,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x07, 0x77, 0x65, 0x61, 0x74,
+ 0x68, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0e, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x67,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x65,
+ 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x65,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x62, 0x6f, 0x73, 0x73, 0x5f, 0x63,
+ 0x68, 0x65, 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x42, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a,
+ 0x0d, 0x62, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74, 0x18, 0x29,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x6f,
+ 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x0c, 0x62, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a,
+ 0x0e, 0x6d, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18,
+ 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x70,
+ 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x0c, 0x6d, 0x70, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x47,
+ 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x3a, 0x0a, 0x0d, 0x6f, 0x66, 0x66, 0x65, 0x72,
+ 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x0c, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48,
+ 0x00, 0x52, 0x0b, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35,
+ 0x0a, 0x0a, 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x2f, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x53,
+ 0x68, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x73, 0x68, 0x65, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x0a, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0e, 0x66,
+ 0x69, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x3b, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x73, 0x68,
+ 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x69, 0x73, 0x68,
+ 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72,
+ 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50,
+ 0x0a, 0x15, 0x72, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x13, 0x72, 0x6f, 0x67,
+ 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x51, 0x0a, 0x16, 0x6e, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x63, 0x72, 0x6f, 0x77, 0x5f, 0x67,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72,
+ 0x6f, 0x77, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x13,
+ 0x6e, 0x69, 0x67, 0x68, 0x74, 0x43, 0x72, 0x6f, 0x77, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x1b, 0x64, 0x65, 0x73, 0x68, 0x72, 0x65, 0x74, 0x5f, 0x6f,
+ 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x44, 0x65, 0x73, 0x68, 0x72, 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x18, 0x64, 0x65, 0x73,
+ 0x68, 0x72, 0x65, 0x74, 0x4f, 0x62, 0x65, 0x6c, 0x69, 0x73, 0x6b, 0x47, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGadgetInfo_proto_rawDescOnce sync.Once
+ file_SceneGadgetInfo_proto_rawDescData = file_SceneGadgetInfo_proto_rawDesc
+)
+
+func file_SceneGadgetInfo_proto_rawDescGZIP() []byte {
+ file_SceneGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGadgetInfo_proto_rawDescData)
+ })
+ return file_SceneGadgetInfo_proto_rawDescData
+}
+
+var file_SceneGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGadgetInfo_proto_goTypes = []interface{}{
+ (*SceneGadgetInfo)(nil), // 0: proto.SceneGadgetInfo
+ (GadgetBornType)(0), // 1: proto.GadgetBornType
+ (*PlatformInfo)(nil), // 2: proto.PlatformInfo
+ (*GadgetPlayInfo)(nil), // 3: proto.GadgetPlayInfo
+ (*Item)(nil), // 4: proto.Item
+ (*GatherGadgetInfo)(nil), // 5: proto.GatherGadgetInfo
+ (*WorktopInfo)(nil), // 6: proto.WorktopInfo
+ (*ClientGadgetInfo)(nil), // 7: proto.ClientGadgetInfo
+ (*WeatherInfo)(nil), // 8: proto.WeatherInfo
+ (*AbilityGadgetInfo)(nil), // 9: proto.AbilityGadgetInfo
+ (*StatueGadgetInfo)(nil), // 10: proto.StatueGadgetInfo
+ (*BossChestInfo)(nil), // 11: proto.BossChestInfo
+ (*BlossomChestInfo)(nil), // 12: proto.BlossomChestInfo
+ (*MpPlayRewardInfo)(nil), // 13: proto.MpPlayRewardInfo
+ (*GadgetGeneralRewardInfo)(nil), // 14: proto.GadgetGeneralRewardInfo
+ (*OfferingInfo)(nil), // 15: proto.OfferingInfo
+ (*FoundationInfo)(nil), // 16: proto.FoundationInfo
+ (*VehicleInfo)(nil), // 17: proto.VehicleInfo
+ (*EchoShellInfo)(nil), // 18: proto.EchoShellInfo
+ (*ScreenInfo)(nil), // 19: proto.ScreenInfo
+ (*FishPoolInfo)(nil), // 20: proto.FishPoolInfo
+ (*CustomGadgetTreeInfo)(nil), // 21: proto.CustomGadgetTreeInfo
+ (*RoguelikeGadgetInfo)(nil), // 22: proto.RoguelikeGadgetInfo
+ (*NightCrowGadgetInfo)(nil), // 23: proto.NightCrowGadgetInfo
+ (*DeshretObeliskGadgetInfo)(nil), // 24: proto.DeshretObeliskGadgetInfo
+}
+var file_SceneGadgetInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGadgetInfo.born_type:type_name -> proto.GadgetBornType
+ 2, // 1: proto.SceneGadgetInfo.platform:type_name -> proto.PlatformInfo
+ 3, // 2: proto.SceneGadgetInfo.play_info:type_name -> proto.GadgetPlayInfo
+ 4, // 3: proto.SceneGadgetInfo.trifle_item:type_name -> proto.Item
+ 5, // 4: proto.SceneGadgetInfo.gather_gadget:type_name -> proto.GatherGadgetInfo
+ 6, // 5: proto.SceneGadgetInfo.worktop:type_name -> proto.WorktopInfo
+ 7, // 6: proto.SceneGadgetInfo.client_gadget:type_name -> proto.ClientGadgetInfo
+ 8, // 7: proto.SceneGadgetInfo.weather:type_name -> proto.WeatherInfo
+ 9, // 8: proto.SceneGadgetInfo.ability_gadget:type_name -> proto.AbilityGadgetInfo
+ 10, // 9: proto.SceneGadgetInfo.statue_gadget:type_name -> proto.StatueGadgetInfo
+ 11, // 10: proto.SceneGadgetInfo.boss_chest:type_name -> proto.BossChestInfo
+ 12, // 11: proto.SceneGadgetInfo.blossom_chest:type_name -> proto.BlossomChestInfo
+ 13, // 12: proto.SceneGadgetInfo.mp_play_reward:type_name -> proto.MpPlayRewardInfo
+ 14, // 13: proto.SceneGadgetInfo.general_reward:type_name -> proto.GadgetGeneralRewardInfo
+ 15, // 14: proto.SceneGadgetInfo.offering_info:type_name -> proto.OfferingInfo
+ 16, // 15: proto.SceneGadgetInfo.foundation_info:type_name -> proto.FoundationInfo
+ 17, // 16: proto.SceneGadgetInfo.vehicle_info:type_name -> proto.VehicleInfo
+ 18, // 17: proto.SceneGadgetInfo.shell_info:type_name -> proto.EchoShellInfo
+ 19, // 18: proto.SceneGadgetInfo.screen_info:type_name -> proto.ScreenInfo
+ 20, // 19: proto.SceneGadgetInfo.fish_pool_info:type_name -> proto.FishPoolInfo
+ 21, // 20: proto.SceneGadgetInfo.custom_gadget_tree_info:type_name -> proto.CustomGadgetTreeInfo
+ 22, // 21: proto.SceneGadgetInfo.roguelike_gadget_info:type_name -> proto.RoguelikeGadgetInfo
+ 23, // 22: proto.SceneGadgetInfo.night_crow_gadget_info:type_name -> proto.NightCrowGadgetInfo
+ 24, // 23: proto.SceneGadgetInfo.deshret_obelisk_gadget_info:type_name -> proto.DeshretObeliskGadgetInfo
+ 24, // [24:24] is the sub-list for method output_type
+ 24, // [24:24] is the sub-list for method input_type
+ 24, // [24:24] is the sub-list for extension type_name
+ 24, // [24:24] is the sub-list for extension extendee
+ 0, // [0:24] is the sub-list for field type_name
+}
+
+func init() { file_SceneGadgetInfo_proto_init() }
+func file_SceneGadgetInfo_proto_init() {
+ if File_SceneGadgetInfo_proto != nil {
+ return
+ }
+ file_AbilityGadgetInfo_proto_init()
+ file_BlossomChestInfo_proto_init()
+ file_BossChestInfo_proto_init()
+ file_ClientGadgetInfo_proto_init()
+ file_CustomGadgetTreeInfo_proto_init()
+ file_DeshretObeliskGadgetInfo_proto_init()
+ file_EchoShellInfo_proto_init()
+ file_FishPoolInfo_proto_init()
+ file_FoundationInfo_proto_init()
+ file_GadgetBornType_proto_init()
+ file_GadgetGeneralRewardInfo_proto_init()
+ file_GadgetPlayInfo_proto_init()
+ file_GatherGadgetInfo_proto_init()
+ file_Item_proto_init()
+ file_MpPlayRewardInfo_proto_init()
+ file_NightCrowGadgetInfo_proto_init()
+ file_OfferingInfo_proto_init()
+ file_PlatformInfo_proto_init()
+ file_RoguelikeGadgetInfo_proto_init()
+ file_ScreenInfo_proto_init()
+ file_StatueGadgetInfo_proto_init()
+ file_VehicleInfo_proto_init()
+ file_WeatherInfo_proto_init()
+ file_WorktopInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_SceneGadgetInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*SceneGadgetInfo_TrifleItem)(nil),
+ (*SceneGadgetInfo_GatherGadget)(nil),
+ (*SceneGadgetInfo_Worktop)(nil),
+ (*SceneGadgetInfo_ClientGadget)(nil),
+ (*SceneGadgetInfo_Weather)(nil),
+ (*SceneGadgetInfo_AbilityGadget)(nil),
+ (*SceneGadgetInfo_StatueGadget)(nil),
+ (*SceneGadgetInfo_BossChest)(nil),
+ (*SceneGadgetInfo_BlossomChest)(nil),
+ (*SceneGadgetInfo_MpPlayReward)(nil),
+ (*SceneGadgetInfo_GeneralReward)(nil),
+ (*SceneGadgetInfo_OfferingInfo)(nil),
+ (*SceneGadgetInfo_FoundationInfo)(nil),
+ (*SceneGadgetInfo_VehicleInfo)(nil),
+ (*SceneGadgetInfo_ShellInfo)(nil),
+ (*SceneGadgetInfo_ScreenInfo)(nil),
+ (*SceneGadgetInfo_FishPoolInfo)(nil),
+ (*SceneGadgetInfo_CustomGadgetTreeInfo)(nil),
+ (*SceneGadgetInfo_RoguelikeGadgetInfo)(nil),
+ (*SceneGadgetInfo_NightCrowGadgetInfo)(nil),
+ (*SceneGadgetInfo_DeshretObeliskGadgetInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGadgetInfo_proto_depIdxs,
+ MessageInfos: file_SceneGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGadgetInfo_proto = out.File
+ file_SceneGadgetInfo_proto_rawDesc = nil
+ file_SceneGadgetInfo_proto_goTypes = nil
+ file_SceneGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryBalloonInfo.pb.go b/protocol/proto/SceneGalleryBalloonInfo.pb.go
new file mode 100644
index 00000000..05b3faa6
--- /dev/null
+++ b/protocol/proto/SceneGalleryBalloonInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryBalloonInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryBalloonInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScenePlayerBalloonInfoMap map[uint32]*BalloonPlayerInfo `protobuf:"bytes,14,rep,name=scene_player_balloon_info_map,json=scenePlayerBalloonInfoMap,proto3" json:"scene_player_balloon_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ EndTime uint32 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *SceneGalleryBalloonInfo) Reset() {
+ *x = SceneGalleryBalloonInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryBalloonInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryBalloonInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryBalloonInfo) ProtoMessage() {}
+
+func (x *SceneGalleryBalloonInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryBalloonInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryBalloonInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryBalloonInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryBalloonInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryBalloonInfo) GetScenePlayerBalloonInfoMap() map[uint32]*BalloonPlayerInfo {
+ if x != nil {
+ return x.ScenePlayerBalloonInfoMap
+ }
+ return nil
+}
+
+func (x *SceneGalleryBalloonInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_SceneGalleryBalloonInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryBalloonInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x61,
+ 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x9d, 0x02, 0x0a, 0x17, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x7f, 0x0a, 0x1d, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0e, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61,
+ 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x52, 0x19, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61,
+ 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x08,
+ 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x66, 0x0a, 0x1e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryBalloonInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryBalloonInfo_proto_rawDescData = file_SceneGalleryBalloonInfo_proto_rawDesc
+)
+
+func file_SceneGalleryBalloonInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryBalloonInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryBalloonInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryBalloonInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryBalloonInfo_proto_rawDescData
+}
+
+var file_SceneGalleryBalloonInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SceneGalleryBalloonInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryBalloonInfo)(nil), // 0: proto.SceneGalleryBalloonInfo
+ nil, // 1: proto.SceneGalleryBalloonInfo.ScenePlayerBalloonInfoMapEntry
+ (*BalloonPlayerInfo)(nil), // 2: proto.BalloonPlayerInfo
+}
+var file_SceneGalleryBalloonInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryBalloonInfo.scene_player_balloon_info_map:type_name -> proto.SceneGalleryBalloonInfo.ScenePlayerBalloonInfoMapEntry
+ 2, // 1: proto.SceneGalleryBalloonInfo.ScenePlayerBalloonInfoMapEntry.value:type_name -> proto.BalloonPlayerInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryBalloonInfo_proto_init() }
+func file_SceneGalleryBalloonInfo_proto_init() {
+ if File_SceneGalleryBalloonInfo_proto != nil {
+ return
+ }
+ file_BalloonPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryBalloonInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryBalloonInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryBalloonInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryBalloonInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryBalloonInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryBalloonInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryBalloonInfo_proto = out.File
+ file_SceneGalleryBalloonInfo_proto_rawDesc = nil
+ file_SceneGalleryBalloonInfo_proto_goTypes = nil
+ file_SceneGalleryBalloonInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryBounceConjuringInfo.pb.go b/protocol/proto/SceneGalleryBounceConjuringInfo.pb.go
new file mode 100644
index 00000000..fb91503e
--- /dev/null
+++ b/protocol/proto/SceneGalleryBounceConjuringInfo.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryBounceConjuringInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryBounceConjuringInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalDestroyedMachineCount uint32 `protobuf:"varint,4,opt,name=total_destroyed_machine_count,json=totalDestroyedMachineCount,proto3" json:"total_destroyed_machine_count,omitempty"`
+ TotalScore uint32 `protobuf:"varint,6,opt,name=total_score,json=totalScore,proto3" json:"total_score,omitempty"`
+}
+
+func (x *SceneGalleryBounceConjuringInfo) Reset() {
+ *x = SceneGalleryBounceConjuringInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryBounceConjuringInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryBounceConjuringInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryBounceConjuringInfo) ProtoMessage() {}
+
+func (x *SceneGalleryBounceConjuringInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryBounceConjuringInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryBounceConjuringInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryBounceConjuringInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryBounceConjuringInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryBounceConjuringInfo) GetTotalDestroyedMachineCount() uint32 {
+ if x != nil {
+ return x.TotalDestroyedMachineCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryBounceConjuringInfo) GetTotalScore() uint32 {
+ if x != nil {
+ return x.TotalScore
+ }
+ return 0
+}
+
+var File_SceneGalleryBounceConjuringInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryBounceConjuringInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x6f,
+ 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85,
+ 0x01, 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42,
+ 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x1d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x73, 0x74,
+ 0x72, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryBounceConjuringInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryBounceConjuringInfo_proto_rawDescData = file_SceneGalleryBounceConjuringInfo_proto_rawDesc
+)
+
+func file_SceneGalleryBounceConjuringInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryBounceConjuringInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryBounceConjuringInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryBounceConjuringInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryBounceConjuringInfo_proto_rawDescData
+}
+
+var file_SceneGalleryBounceConjuringInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryBounceConjuringInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryBounceConjuringInfo)(nil), // 0: proto.SceneGalleryBounceConjuringInfo
+}
+var file_SceneGalleryBounceConjuringInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryBounceConjuringInfo_proto_init() }
+func file_SceneGalleryBounceConjuringInfo_proto_init() {
+ if File_SceneGalleryBounceConjuringInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryBounceConjuringInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryBounceConjuringInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryBounceConjuringInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryBounceConjuringInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryBounceConjuringInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryBounceConjuringInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryBounceConjuringInfo_proto = out.File
+ file_SceneGalleryBounceConjuringInfo_proto_rawDesc = nil
+ file_SceneGalleryBounceConjuringInfo_proto_goTypes = nil
+ file_SceneGalleryBounceConjuringInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryBrokenFloorInfo.pb.go b/protocol/proto/SceneGalleryBrokenFloorInfo.pb.go
new file mode 100644
index 00000000..98d66c7d
--- /dev/null
+++ b/protocol/proto/SceneGalleryBrokenFloorInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryBrokenFloorInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryBrokenFloorInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FallCountMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=fall_count_map,json=fallCountMap,proto3" json:"fall_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ EndTime uint32 `protobuf:"varint,9,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *SceneGalleryBrokenFloorInfo) Reset() {
+ *x = SceneGalleryBrokenFloorInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryBrokenFloorInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryBrokenFloorInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryBrokenFloorInfo) ProtoMessage() {}
+
+func (x *SceneGalleryBrokenFloorInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryBrokenFloorInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryBrokenFloorInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryBrokenFloorInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryBrokenFloorInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryBrokenFloorInfo) GetFallCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.FallCountMap
+ }
+ return nil
+}
+
+func (x *SceneGalleryBrokenFloorInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_SceneGalleryBrokenFloorInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryBrokenFloorInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x72,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x01, 0x0a, 0x1b, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x72, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5a, 0x0a, 0x0e, 0x66, 0x61,
+ 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6c, 0x6f,
+ 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x1a, 0x3f, 0x0a, 0x11, 0x46, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryBrokenFloorInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryBrokenFloorInfo_proto_rawDescData = file_SceneGalleryBrokenFloorInfo_proto_rawDesc
+)
+
+func file_SceneGalleryBrokenFloorInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryBrokenFloorInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryBrokenFloorInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryBrokenFloorInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryBrokenFloorInfo_proto_rawDescData
+}
+
+var file_SceneGalleryBrokenFloorInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SceneGalleryBrokenFloorInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryBrokenFloorInfo)(nil), // 0: proto.SceneGalleryBrokenFloorInfo
+ nil, // 1: proto.SceneGalleryBrokenFloorInfo.FallCountMapEntry
+}
+var file_SceneGalleryBrokenFloorInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryBrokenFloorInfo.fall_count_map:type_name -> proto.SceneGalleryBrokenFloorInfo.FallCountMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryBrokenFloorInfo_proto_init() }
+func file_SceneGalleryBrokenFloorInfo_proto_init() {
+ if File_SceneGalleryBrokenFloorInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryBrokenFloorInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryBrokenFloorInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryBrokenFloorInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryBrokenFloorInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryBrokenFloorInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryBrokenFloorInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryBrokenFloorInfo_proto = out.File
+ file_SceneGalleryBrokenFloorInfo_proto_rawDesc = nil
+ file_SceneGalleryBrokenFloorInfo_proto_goTypes = nil
+ file_SceneGalleryBrokenFloorInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryBulletInfo.pb.go b/protocol/proto/SceneGalleryBulletInfo.pb.go
new file mode 100644
index 00000000..bb7f3c15
--- /dev/null
+++ b/protocol/proto/SceneGalleryBulletInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryBulletInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryBulletInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndTime uint32 `protobuf:"varint,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ HitCountMap map[uint32]uint32 `protobuf:"bytes,10,rep,name=hit_count_map,json=hitCountMap,proto3" json:"hit_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *SceneGalleryBulletInfo) Reset() {
+ *x = SceneGalleryBulletInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryBulletInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryBulletInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryBulletInfo) ProtoMessage() {}
+
+func (x *SceneGalleryBulletInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryBulletInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryBulletInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryBulletInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryBulletInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryBulletInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryBulletInfo) GetHitCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.HitCountMap
+ }
+ return nil
+}
+
+var File_SceneGalleryBulletInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryBulletInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x75,
+ 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x68,
+ 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x52, 0x0b, 0x68, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x1a,
+ 0x3e, 0x0a, 0x10, 0x48, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryBulletInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryBulletInfo_proto_rawDescData = file_SceneGalleryBulletInfo_proto_rawDesc
+)
+
+func file_SceneGalleryBulletInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryBulletInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryBulletInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryBulletInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryBulletInfo_proto_rawDescData
+}
+
+var file_SceneGalleryBulletInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SceneGalleryBulletInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryBulletInfo)(nil), // 0: proto.SceneGalleryBulletInfo
+ nil, // 1: proto.SceneGalleryBulletInfo.HitCountMapEntry
+}
+var file_SceneGalleryBulletInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryBulletInfo.hit_count_map:type_name -> proto.SceneGalleryBulletInfo.HitCountMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryBulletInfo_proto_init() }
+func file_SceneGalleryBulletInfo_proto_init() {
+ if File_SceneGalleryBulletInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryBulletInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryBulletInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryBulletInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryBulletInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryBulletInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryBulletInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryBulletInfo_proto = out.File
+ file_SceneGalleryBulletInfo_proto_rawDesc = nil
+ file_SceneGalleryBulletInfo_proto_goTypes = nil
+ file_SceneGalleryBulletInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryBuoyantCombatInfo.pb.go b/protocol/proto/SceneGalleryBuoyantCombatInfo.pb.go
new file mode 100644
index 00000000..e5c7dc6e
--- /dev/null
+++ b/protocol/proto/SceneGalleryBuoyantCombatInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryBuoyantCombatInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryBuoyantCombatInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,6,opt,name=score,proto3" json:"score,omitempty"`
+ KillSpecialMonsterCount uint32 `protobuf:"varint,1,opt,name=kill_special_monster_count,json=killSpecialMonsterCount,proto3" json:"kill_special_monster_count,omitempty"`
+ KillMonsterCount uint32 `protobuf:"varint,14,opt,name=kill_monster_count,json=killMonsterCount,proto3" json:"kill_monster_count,omitempty"`
+}
+
+func (x *SceneGalleryBuoyantCombatInfo) Reset() {
+ *x = SceneGalleryBuoyantCombatInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryBuoyantCombatInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryBuoyantCombatInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryBuoyantCombatInfo) ProtoMessage() {}
+
+func (x *SceneGalleryBuoyantCombatInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryBuoyantCombatInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryBuoyantCombatInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryBuoyantCombatInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryBuoyantCombatInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryBuoyantCombatInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *SceneGalleryBuoyantCombatInfo) GetKillSpecialMonsterCount() uint32 {
+ if x != nil {
+ return x.KillSpecialMonsterCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryBuoyantCombatInfo) GetKillMonsterCount() uint32 {
+ if x != nil {
+ return x.KillMonsterCount
+ }
+ return 0
+}
+
+var File_SceneGalleryBuoyantCombatInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryBuoyantCombatInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x75,
+ 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x01, 0x0a,
+ 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x75, 0x6f,
+ 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x70, 0x65,
+ 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x70,
+ 0x65, 0x63, 0x69, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryBuoyantCombatInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryBuoyantCombatInfo_proto_rawDescData = file_SceneGalleryBuoyantCombatInfo_proto_rawDesc
+)
+
+func file_SceneGalleryBuoyantCombatInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryBuoyantCombatInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryBuoyantCombatInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryBuoyantCombatInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryBuoyantCombatInfo_proto_rawDescData
+}
+
+var file_SceneGalleryBuoyantCombatInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryBuoyantCombatInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryBuoyantCombatInfo)(nil), // 0: proto.SceneGalleryBuoyantCombatInfo
+}
+var file_SceneGalleryBuoyantCombatInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryBuoyantCombatInfo_proto_init() }
+func file_SceneGalleryBuoyantCombatInfo_proto_init() {
+ if File_SceneGalleryBuoyantCombatInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryBuoyantCombatInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryBuoyantCombatInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryBuoyantCombatInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryBuoyantCombatInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryBuoyantCombatInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryBuoyantCombatInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryBuoyantCombatInfo_proto = out.File
+ file_SceneGalleryBuoyantCombatInfo_proto_rawDesc = nil
+ file_SceneGalleryBuoyantCombatInfo_proto_goTypes = nil
+ file_SceneGalleryBuoyantCombatInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryCharAmusementInfo.pb.go b/protocol/proto/SceneGalleryCharAmusementInfo.pb.go
new file mode 100644
index 00000000..62b26845
--- /dev/null
+++ b/protocol/proto/SceneGalleryCharAmusementInfo.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryCharAmusementInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryCharAmusementInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsLastLevel bool `protobuf:"varint,2,opt,name=is_last_level,json=isLastLevel,proto3" json:"is_last_level,omitempty"`
+ MaxScore uint32 `protobuf:"varint,9,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ CurScore uint32 `protobuf:"varint,14,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+ IsFinish bool `protobuf:"varint,10,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ IsSuccess bool `protobuf:"varint,1,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *SceneGalleryCharAmusementInfo) Reset() {
+ *x = SceneGalleryCharAmusementInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryCharAmusementInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryCharAmusementInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryCharAmusementInfo) ProtoMessage() {}
+
+func (x *SceneGalleryCharAmusementInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryCharAmusementInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryCharAmusementInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryCharAmusementInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryCharAmusementInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryCharAmusementInfo) GetIsLastLevel() bool {
+ if x != nil {
+ return x.IsLastLevel
+ }
+ return false
+}
+
+func (x *SceneGalleryCharAmusementInfo) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *SceneGalleryCharAmusementInfo) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+func (x *SceneGalleryCharAmusementInfo) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *SceneGalleryCharAmusementInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_SceneGalleryCharAmusementInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryCharAmusementInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x68,
+ 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x01, 0x0a,
+ 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x68, 0x61,
+ 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22,
+ 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09,
+ 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f,
+ 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69,
+ 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryCharAmusementInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryCharAmusementInfo_proto_rawDescData = file_SceneGalleryCharAmusementInfo_proto_rawDesc
+)
+
+func file_SceneGalleryCharAmusementInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryCharAmusementInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryCharAmusementInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryCharAmusementInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryCharAmusementInfo_proto_rawDescData
+}
+
+var file_SceneGalleryCharAmusementInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryCharAmusementInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryCharAmusementInfo)(nil), // 0: proto.SceneGalleryCharAmusementInfo
+}
+var file_SceneGalleryCharAmusementInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryCharAmusementInfo_proto_init() }
+func file_SceneGalleryCharAmusementInfo_proto_init() {
+ if File_SceneGalleryCharAmusementInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryCharAmusementInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryCharAmusementInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryCharAmusementInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryCharAmusementInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryCharAmusementInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryCharAmusementInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryCharAmusementInfo_proto = out.File
+ file_SceneGalleryCharAmusementInfo_proto_rawDesc = nil
+ file_SceneGalleryCharAmusementInfo_proto_goTypes = nil
+ file_SceneGalleryCharAmusementInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryCrystalLinkInfo.pb.go b/protocol/proto/SceneGalleryCrystalLinkInfo.pb.go
new file mode 100644
index 00000000..1109f8ed
--- /dev/null
+++ b/protocol/proto/SceneGalleryCrystalLinkInfo.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryCrystalLinkInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryCrystalLinkInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,10,opt,name=score,proto3" json:"score,omitempty"`
+}
+
+func (x *SceneGalleryCrystalLinkInfo) Reset() {
+ *x = SceneGalleryCrystalLinkInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryCrystalLinkInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryCrystalLinkInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryCrystalLinkInfo) ProtoMessage() {}
+
+func (x *SceneGalleryCrystalLinkInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryCrystalLinkInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryCrystalLinkInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryCrystalLinkInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryCrystalLinkInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryCrystalLinkInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+var File_SceneGalleryCrystalLinkInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryCrystalLinkInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x72,
+ 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x1b, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61,
+ 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryCrystalLinkInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryCrystalLinkInfo_proto_rawDescData = file_SceneGalleryCrystalLinkInfo_proto_rawDesc
+)
+
+func file_SceneGalleryCrystalLinkInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryCrystalLinkInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryCrystalLinkInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryCrystalLinkInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryCrystalLinkInfo_proto_rawDescData
+}
+
+var file_SceneGalleryCrystalLinkInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryCrystalLinkInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryCrystalLinkInfo)(nil), // 0: proto.SceneGalleryCrystalLinkInfo
+}
+var file_SceneGalleryCrystalLinkInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryCrystalLinkInfo_proto_init() }
+func file_SceneGalleryCrystalLinkInfo_proto_init() {
+ if File_SceneGalleryCrystalLinkInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryCrystalLinkInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryCrystalLinkInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryCrystalLinkInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryCrystalLinkInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryCrystalLinkInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryCrystalLinkInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryCrystalLinkInfo_proto = out.File
+ file_SceneGalleryCrystalLinkInfo_proto_rawDesc = nil
+ file_SceneGalleryCrystalLinkInfo_proto_goTypes = nil
+ file_SceneGalleryCrystalLinkInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryEffigyChallengeV2Info.pb.go b/protocol/proto/SceneGalleryEffigyChallengeV2Info.pb.go
new file mode 100644
index 00000000..be3fe3c0
--- /dev/null
+++ b/protocol/proto/SceneGalleryEffigyChallengeV2Info.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryEffigyChallengeV2Info.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryEffigyChallengeV2Info struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ KilledMonsterCnt uint32 `protobuf:"varint,10,opt,name=killed_monster_cnt,json=killedMonsterCnt,proto3" json:"killed_monster_cnt,omitempty"`
+ TotalTargetKillCnt uint32 `protobuf:"varint,15,opt,name=total_target_kill_cnt,json=totalTargetKillCnt,proto3" json:"total_target_kill_cnt,omitempty"`
+ SceneStartTime uint32 `protobuf:"varint,14,opt,name=scene_start_time,json=sceneStartTime,proto3" json:"scene_start_time,omitempty"`
+ TRemainUseTime uint32 `protobuf:"varint,6,opt,name=t_remain_use_time,json=tRemainUseTime,proto3" json:"t_remain_use_time,omitempty"`
+ BossViolentLevel uint32 `protobuf:"varint,9,opt,name=boss_violent_level,json=bossViolentLevel,proto3" json:"boss_violent_level,omitempty"`
+}
+
+func (x *SceneGalleryEffigyChallengeV2Info) Reset() {
+ *x = SceneGalleryEffigyChallengeV2Info{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryEffigyChallengeV2Info_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryEffigyChallengeV2Info) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryEffigyChallengeV2Info) ProtoMessage() {}
+
+func (x *SceneGalleryEffigyChallengeV2Info) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryEffigyChallengeV2Info_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryEffigyChallengeV2Info.ProtoReflect.Descriptor instead.
+func (*SceneGalleryEffigyChallengeV2Info) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryEffigyChallengeV2Info_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryEffigyChallengeV2Info) GetKilledMonsterCnt() uint32 {
+ if x != nil {
+ return x.KilledMonsterCnt
+ }
+ return 0
+}
+
+func (x *SceneGalleryEffigyChallengeV2Info) GetTotalTargetKillCnt() uint32 {
+ if x != nil {
+ return x.TotalTargetKillCnt
+ }
+ return 0
+}
+
+func (x *SceneGalleryEffigyChallengeV2Info) GetSceneStartTime() uint32 {
+ if x != nil {
+ return x.SceneStartTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryEffigyChallengeV2Info) GetTRemainUseTime() uint32 {
+ if x != nil {
+ return x.TRemainUseTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryEffigyChallengeV2Info) GetBossViolentLevel() uint32 {
+ if x != nil {
+ return x.BossViolentLevel
+ }
+ return 0
+}
+
+var File_SceneGalleryEffigyChallengeV2Info_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryEffigyChallengeV2Info_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x45, 0x66,
+ 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x87, 0x02, 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x56, 0x32, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64,
+ 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x43, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x4b, 0x69, 0x6c, 0x6c, 0x43, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x29, 0x0a, 0x11, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x73,
+ 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x52,
+ 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12,
+ 0x62, 0x6f, 0x73, 0x73, 0x5f, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x62, 0x6f, 0x73, 0x73, 0x56, 0x69,
+ 0x6f, 0x6c, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryEffigyChallengeV2Info_proto_rawDescOnce sync.Once
+ file_SceneGalleryEffigyChallengeV2Info_proto_rawDescData = file_SceneGalleryEffigyChallengeV2Info_proto_rawDesc
+)
+
+func file_SceneGalleryEffigyChallengeV2Info_proto_rawDescGZIP() []byte {
+ file_SceneGalleryEffigyChallengeV2Info_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryEffigyChallengeV2Info_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryEffigyChallengeV2Info_proto_rawDescData)
+ })
+ return file_SceneGalleryEffigyChallengeV2Info_proto_rawDescData
+}
+
+var file_SceneGalleryEffigyChallengeV2Info_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryEffigyChallengeV2Info_proto_goTypes = []interface{}{
+ (*SceneGalleryEffigyChallengeV2Info)(nil), // 0: proto.SceneGalleryEffigyChallengeV2Info
+}
+var file_SceneGalleryEffigyChallengeV2Info_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryEffigyChallengeV2Info_proto_init() }
+func file_SceneGalleryEffigyChallengeV2Info_proto_init() {
+ if File_SceneGalleryEffigyChallengeV2Info_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryEffigyChallengeV2Info_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryEffigyChallengeV2Info); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryEffigyChallengeV2Info_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryEffigyChallengeV2Info_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryEffigyChallengeV2Info_proto_depIdxs,
+ MessageInfos: file_SceneGalleryEffigyChallengeV2Info_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryEffigyChallengeV2Info_proto = out.File
+ file_SceneGalleryEffigyChallengeV2Info_proto_rawDesc = nil
+ file_SceneGalleryEffigyChallengeV2Info_proto_goTypes = nil
+ file_SceneGalleryEffigyChallengeV2Info_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryFallInfo.pb.go b/protocol/proto/SceneGalleryFallInfo.pb.go
new file mode 100644
index 00000000..a5d4b96d
--- /dev/null
+++ b/protocol/proto/SceneGalleryFallInfo.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryFallInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryFallInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScenePlayerFallInfoMap map[uint32]*FallPlayerInfo `protobuf:"bytes,12,rep,name=scene_player_fall_info_map,json=scenePlayerFallInfoMap,proto3" json:"scene_player_fall_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ EndTime uint32 `protobuf:"varint,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *SceneGalleryFallInfo) Reset() {
+ *x = SceneGalleryFallInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryFallInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryFallInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryFallInfo) ProtoMessage() {}
+
+func (x *SceneGalleryFallInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryFallInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryFallInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryFallInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryFallInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryFallInfo) GetScenePlayerFallInfoMap() map[uint32]*FallPlayerInfo {
+ if x != nil {
+ return x.ScenePlayerFallInfoMap
+ }
+ return nil
+}
+
+func (x *SceneGalleryFallInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_SceneGalleryFallInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryFallInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x61,
+ 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x46, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x02, 0x0a, 0x14, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x73, 0x0a, 0x1a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70,
+ 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46,
+ 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x16, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x46, 0x61, 0x6c, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x1a, 0x60, 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x46, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
+ 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x61, 0x6c, 0x6c, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryFallInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryFallInfo_proto_rawDescData = file_SceneGalleryFallInfo_proto_rawDesc
+)
+
+func file_SceneGalleryFallInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryFallInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryFallInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryFallInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryFallInfo_proto_rawDescData
+}
+
+var file_SceneGalleryFallInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SceneGalleryFallInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryFallInfo)(nil), // 0: proto.SceneGalleryFallInfo
+ nil, // 1: proto.SceneGalleryFallInfo.ScenePlayerFallInfoMapEntry
+ (*FallPlayerInfo)(nil), // 2: proto.FallPlayerInfo
+}
+var file_SceneGalleryFallInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryFallInfo.scene_player_fall_info_map:type_name -> proto.SceneGalleryFallInfo.ScenePlayerFallInfoMapEntry
+ 2, // 1: proto.SceneGalleryFallInfo.ScenePlayerFallInfoMapEntry.value:type_name -> proto.FallPlayerInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryFallInfo_proto_init() }
+func file_SceneGalleryFallInfo_proto_init() {
+ if File_SceneGalleryFallInfo_proto != nil {
+ return
+ }
+ file_FallPlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryFallInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryFallInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryFallInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryFallInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryFallInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryFallInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryFallInfo_proto = out.File
+ file_SceneGalleryFallInfo_proto_rawDesc = nil
+ file_SceneGalleryFallInfo_proto_goTypes = nil
+ file_SceneGalleryFallInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryFlowerInfo.pb.go b/protocol/proto/SceneGalleryFlowerInfo.pb.go
new file mode 100644
index 00000000..306d5136
--- /dev/null
+++ b/protocol/proto/SceneGalleryFlowerInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryFlowerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryFlowerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EndTime uint32 `protobuf:"varint,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ TargetScore uint32 `protobuf:"varint,13,opt,name=target_score,json=targetScore,proto3" json:"target_score,omitempty"`
+ CurScore uint32 `protobuf:"varint,9,opt,name=cur_score,json=curScore,proto3" json:"cur_score,omitempty"`
+}
+
+func (x *SceneGalleryFlowerInfo) Reset() {
+ *x = SceneGalleryFlowerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryFlowerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryFlowerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryFlowerInfo) ProtoMessage() {}
+
+func (x *SceneGalleryFlowerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryFlowerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryFlowerInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryFlowerInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryFlowerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryFlowerInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryFlowerInfo) GetTargetScore() uint32 {
+ if x != nil {
+ return x.TargetScore
+ }
+ return 0
+}
+
+func (x *SceneGalleryFlowerInfo) GetCurScore() uint32 {
+ if x != nil {
+ return x.CurScore
+ }
+ return 0
+}
+
+var File_SceneGalleryFlowerInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryFlowerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b, 0x0a,
+ 0x09, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x63, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryFlowerInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryFlowerInfo_proto_rawDescData = file_SceneGalleryFlowerInfo_proto_rawDesc
+)
+
+func file_SceneGalleryFlowerInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryFlowerInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryFlowerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryFlowerInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryFlowerInfo_proto_rawDescData
+}
+
+var file_SceneGalleryFlowerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryFlowerInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryFlowerInfo)(nil), // 0: proto.SceneGalleryFlowerInfo
+}
+var file_SceneGalleryFlowerInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryFlowerInfo_proto_init() }
+func file_SceneGalleryFlowerInfo_proto_init() {
+ if File_SceneGalleryFlowerInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryFlowerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryFlowerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryFlowerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryFlowerInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryFlowerInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryFlowerInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryFlowerInfo_proto = out.File
+ file_SceneGalleryFlowerInfo_proto_rawDesc = nil
+ file_SceneGalleryFlowerInfo_proto_goTypes = nil
+ file_SceneGalleryFlowerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryFungusFighterCaptureInfo.pb.go b/protocol/proto/SceneGalleryFungusFighterCaptureInfo.pb.go
new file mode 100644
index 00000000..e0183238
--- /dev/null
+++ b/protocol/proto/SceneGalleryFungusFighterCaptureInfo.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryFungusFighterCaptureInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryFungusFighterCaptureInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsHideProgress bool `protobuf:"varint,13,opt,name=is_hide_progress,json=isHideProgress,proto3" json:"is_hide_progress,omitempty"`
+}
+
+func (x *SceneGalleryFungusFighterCaptureInfo) Reset() {
+ *x = SceneGalleryFungusFighterCaptureInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryFungusFighterCaptureInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryFungusFighterCaptureInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryFungusFighterCaptureInfo) ProtoMessage() {}
+
+func (x *SceneGalleryFungusFighterCaptureInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryFungusFighterCaptureInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryFungusFighterCaptureInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryFungusFighterCaptureInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryFungusFighterCaptureInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryFungusFighterCaptureInfo) GetIsHideProgress() bool {
+ if x != nil {
+ return x.IsHideProgress
+ }
+ return false
+}
+
+var File_SceneGalleryFungusFighterCaptureInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryFungusFighterCaptureInfo_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x75,
+ 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x75,
+ 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72,
+ 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x69,
+ 0x73, 0x5f, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x48, 0x69, 0x64, 0x65, 0x50, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryFungusFighterCaptureInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryFungusFighterCaptureInfo_proto_rawDescData = file_SceneGalleryFungusFighterCaptureInfo_proto_rawDesc
+)
+
+func file_SceneGalleryFungusFighterCaptureInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryFungusFighterCaptureInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryFungusFighterCaptureInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryFungusFighterCaptureInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryFungusFighterCaptureInfo_proto_rawDescData
+}
+
+var file_SceneGalleryFungusFighterCaptureInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryFungusFighterCaptureInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryFungusFighterCaptureInfo)(nil), // 0: proto.SceneGalleryFungusFighterCaptureInfo
+}
+var file_SceneGalleryFungusFighterCaptureInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryFungusFighterCaptureInfo_proto_init() }
+func file_SceneGalleryFungusFighterCaptureInfo_proto_init() {
+ if File_SceneGalleryFungusFighterCaptureInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryFungusFighterCaptureInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryFungusFighterCaptureInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryFungusFighterCaptureInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryFungusFighterCaptureInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryFungusFighterCaptureInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryFungusFighterCaptureInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryFungusFighterCaptureInfo_proto = out.File
+ file_SceneGalleryFungusFighterCaptureInfo_proto_rawDesc = nil
+ file_SceneGalleryFungusFighterCaptureInfo_proto_goTypes = nil
+ file_SceneGalleryFungusFighterCaptureInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryFungusFighterTrainingInfo.pb.go b/protocol/proto/SceneGalleryFungusFighterTrainingInfo.pb.go
new file mode 100644
index 00000000..68ebdc2a
--- /dev/null
+++ b/protocol/proto/SceneGalleryFungusFighterTrainingInfo.pb.go
@@ -0,0 +1,225 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryFungusFighterTrainingInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryFungusFighterTrainingInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaxMonsterCount uint32 `protobuf:"varint,4,opt,name=max_monster_count,json=maxMonsterCount,proto3" json:"max_monster_count,omitempty"`
+ KilledMonsterCount uint32 `protobuf:"varint,9,opt,name=killed_monster_count,json=killedMonsterCount,proto3" json:"killed_monster_count,omitempty"`
+ BuffStartTime uint32 `protobuf:"varint,13,opt,name=buff_start_time,json=buffStartTime,proto3" json:"buff_start_time,omitempty"`
+ BuffId uint32 `protobuf:"varint,1,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+ MaxSkillCount uint32 `protobuf:"varint,10,opt,name=max_skill_count,json=maxSkillCount,proto3" json:"max_skill_count,omitempty"`
+ BuffLastTime uint32 `protobuf:"varint,14,opt,name=buff_last_time,json=buffLastTime,proto3" json:"buff_last_time,omitempty"`
+ RestSkillCount uint32 `protobuf:"varint,5,opt,name=rest_skill_count,json=restSkillCount,proto3" json:"rest_skill_count,omitempty"`
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) Reset() {
+ *x = SceneGalleryFungusFighterTrainingInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryFungusFighterTrainingInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryFungusFighterTrainingInfo) ProtoMessage() {}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryFungusFighterTrainingInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryFungusFighterTrainingInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryFungusFighterTrainingInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryFungusFighterTrainingInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) GetMaxMonsterCount() uint32 {
+ if x != nil {
+ return x.MaxMonsterCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) GetKilledMonsterCount() uint32 {
+ if x != nil {
+ return x.KilledMonsterCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) GetBuffStartTime() uint32 {
+ if x != nil {
+ return x.BuffStartTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) GetMaxSkillCount() uint32 {
+ if x != nil {
+ return x.MaxSkillCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) GetBuffLastTime() uint32 {
+ if x != nil {
+ return x.BuffLastTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryFungusFighterTrainingInfo) GetRestSkillCount() uint32 {
+ if x != nil {
+ return x.RestSkillCount
+ }
+ return 0
+}
+
+var File_SceneGalleryFungusFighterTrainingInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryFungusFighterTrainingInfo_proto_rawDesc = []byte{
+ 0x0a, 0x2b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x75,
+ 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e,
+ 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x02, 0x0a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74,
+ 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a,
+ 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x4d, 0x6f,
+ 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f,
+ 0x62, 0x75, 0x66, 0x66, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x49, 0x64, 0x12, 0x26, 0x0a,
+ 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x62,
+ 0x75, 0x66, 0x66, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72,
+ 0x65, 0x73, 0x74, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x74, 0x53, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryFungusFighterTrainingInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryFungusFighterTrainingInfo_proto_rawDescData = file_SceneGalleryFungusFighterTrainingInfo_proto_rawDesc
+)
+
+func file_SceneGalleryFungusFighterTrainingInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryFungusFighterTrainingInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryFungusFighterTrainingInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryFungusFighterTrainingInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryFungusFighterTrainingInfo_proto_rawDescData
+}
+
+var file_SceneGalleryFungusFighterTrainingInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryFungusFighterTrainingInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryFungusFighterTrainingInfo)(nil), // 0: proto.SceneGalleryFungusFighterTrainingInfo
+}
+var file_SceneGalleryFungusFighterTrainingInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryFungusFighterTrainingInfo_proto_init() }
+func file_SceneGalleryFungusFighterTrainingInfo_proto_init() {
+ if File_SceneGalleryFungusFighterTrainingInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryFungusFighterTrainingInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryFungusFighterTrainingInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryFungusFighterTrainingInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryFungusFighterTrainingInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryFungusFighterTrainingInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryFungusFighterTrainingInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryFungusFighterTrainingInfo_proto = out.File
+ file_SceneGalleryFungusFighterTrainingInfo_proto_rawDesc = nil
+ file_SceneGalleryFungusFighterTrainingInfo_proto_goTypes = nil
+ file_SceneGalleryFungusFighterTrainingInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryHandballInfo.pb.go b/protocol/proto/SceneGalleryHandballInfo.pb.go
new file mode 100644
index 00000000..fc95c971
--- /dev/null
+++ b/protocol/proto/SceneGalleryHandballInfo.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryHandballInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryHandballInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BallPlaceInfo *PlaceInfo `protobuf:"bytes,9,opt,name=ball_place_info,json=ballPlaceInfo,proto3" json:"ball_place_info,omitempty"`
+ IsHaveBall bool `protobuf:"varint,15,opt,name=is_have_ball,json=isHaveBall,proto3" json:"is_have_ball,omitempty"`
+}
+
+func (x *SceneGalleryHandballInfo) Reset() {
+ *x = SceneGalleryHandballInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryHandballInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryHandballInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryHandballInfo) ProtoMessage() {}
+
+func (x *SceneGalleryHandballInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryHandballInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryHandballInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryHandballInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryHandballInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryHandballInfo) GetBallPlaceInfo() *PlaceInfo {
+ if x != nil {
+ return x.BallPlaceInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryHandballInfo) GetIsHaveBall() bool {
+ if x != nil {
+ return x.IsHaveBall
+ }
+ return false
+}
+
+var File_SceneGalleryHandballInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryHandballInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x61,
+ 0x6e, 0x64, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x61, 0x6c, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x0f, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6c, 0x61,
+ 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0d, 0x62, 0x61, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20,
+ 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x42, 0x61, 0x6c, 0x6c,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryHandballInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryHandballInfo_proto_rawDescData = file_SceneGalleryHandballInfo_proto_rawDesc
+)
+
+func file_SceneGalleryHandballInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryHandballInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryHandballInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryHandballInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryHandballInfo_proto_rawDescData
+}
+
+var file_SceneGalleryHandballInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryHandballInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryHandballInfo)(nil), // 0: proto.SceneGalleryHandballInfo
+ (*PlaceInfo)(nil), // 1: proto.PlaceInfo
+}
+var file_SceneGalleryHandballInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryHandballInfo.ball_place_info:type_name -> proto.PlaceInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryHandballInfo_proto_init() }
+func file_SceneGalleryHandballInfo_proto_init() {
+ if File_SceneGalleryHandballInfo_proto != nil {
+ return
+ }
+ file_PlaceInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryHandballInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryHandballInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryHandballInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryHandballInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryHandballInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryHandballInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryHandballInfo_proto = out.File
+ file_SceneGalleryHandballInfo_proto_rawDesc = nil
+ file_SceneGalleryHandballInfo_proto_goTypes = nil
+ file_SceneGalleryHandballInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryHideAndSeekInfo.pb.go b/protocol/proto/SceneGalleryHideAndSeekInfo.pb.go
new file mode 100644
index 00000000..7273afb6
--- /dev/null
+++ b/protocol/proto/SceneGalleryHideAndSeekInfo.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryHideAndSeekInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryHideAndSeekInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ VisibleUidList []uint32 `protobuf:"varint,13,rep,packed,name=visible_uid_list,json=visibleUidList,proto3" json:"visible_uid_list,omitempty"`
+ CaughtUidList []uint32 `protobuf:"varint,4,rep,packed,name=caught_uid_list,json=caughtUidList,proto3" json:"caught_uid_list,omitempty"`
+}
+
+func (x *SceneGalleryHideAndSeekInfo) Reset() {
+ *x = SceneGalleryHideAndSeekInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryHideAndSeekInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryHideAndSeekInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryHideAndSeekInfo) ProtoMessage() {}
+
+func (x *SceneGalleryHideAndSeekInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryHideAndSeekInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryHideAndSeekInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryHideAndSeekInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryHideAndSeekInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryHideAndSeekInfo) GetVisibleUidList() []uint32 {
+ if x != nil {
+ return x.VisibleUidList
+ }
+ return nil
+}
+
+func (x *SceneGalleryHideAndSeekInfo) GetCaughtUidList() []uint32 {
+ if x != nil {
+ return x.CaughtUidList
+ }
+ return nil
+}
+
+var File_SceneGalleryHideAndSeekInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryHideAndSeekInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x69,
+ 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x1b, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e,
+ 0x64, 0x53, 0x65, 0x65, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x76, 0x69, 0x73,
+ 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x55, 0x69, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x61, 0x75, 0x67, 0x68, 0x74, 0x5f, 0x75, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x61,
+ 0x75, 0x67, 0x68, 0x74, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryHideAndSeekInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryHideAndSeekInfo_proto_rawDescData = file_SceneGalleryHideAndSeekInfo_proto_rawDesc
+)
+
+func file_SceneGalleryHideAndSeekInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryHideAndSeekInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryHideAndSeekInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryHideAndSeekInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryHideAndSeekInfo_proto_rawDescData
+}
+
+var file_SceneGalleryHideAndSeekInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryHideAndSeekInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryHideAndSeekInfo)(nil), // 0: proto.SceneGalleryHideAndSeekInfo
+}
+var file_SceneGalleryHideAndSeekInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryHideAndSeekInfo_proto_init() }
+func file_SceneGalleryHideAndSeekInfo_proto_init() {
+ if File_SceneGalleryHideAndSeekInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryHideAndSeekInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryHideAndSeekInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryHideAndSeekInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryHideAndSeekInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryHideAndSeekInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryHideAndSeekInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryHideAndSeekInfo_proto = out.File
+ file_SceneGalleryHideAndSeekInfo_proto_rawDesc = nil
+ file_SceneGalleryHideAndSeekInfo_proto_goTypes = nil
+ file_SceneGalleryHideAndSeekInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryHomeBalloonInfo.pb.go b/protocol/proto/SceneGalleryHomeBalloonInfo.pb.go
new file mode 100644
index 00000000..d3690691
--- /dev/null
+++ b/protocol/proto/SceneGalleryHomeBalloonInfo.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryHomeBalloonInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryHomeBalloonInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,7,opt,name=score,proto3" json:"score,omitempty"`
+}
+
+func (x *SceneGalleryHomeBalloonInfo) Reset() {
+ *x = SceneGalleryHomeBalloonInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryHomeBalloonInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryHomeBalloonInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryHomeBalloonInfo) ProtoMessage() {}
+
+func (x *SceneGalleryHomeBalloonInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryHomeBalloonInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryHomeBalloonInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryHomeBalloonInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryHomeBalloonInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryHomeBalloonInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+var File_SceneGalleryHomeBalloonInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryHomeBalloonInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x6f,
+ 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x1b, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61,
+ 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryHomeBalloonInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryHomeBalloonInfo_proto_rawDescData = file_SceneGalleryHomeBalloonInfo_proto_rawDesc
+)
+
+func file_SceneGalleryHomeBalloonInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryHomeBalloonInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryHomeBalloonInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryHomeBalloonInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryHomeBalloonInfo_proto_rawDescData
+}
+
+var file_SceneGalleryHomeBalloonInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryHomeBalloonInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryHomeBalloonInfo)(nil), // 0: proto.SceneGalleryHomeBalloonInfo
+}
+var file_SceneGalleryHomeBalloonInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryHomeBalloonInfo_proto_init() }
+func file_SceneGalleryHomeBalloonInfo_proto_init() {
+ if File_SceneGalleryHomeBalloonInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryHomeBalloonInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryHomeBalloonInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryHomeBalloonInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryHomeBalloonInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryHomeBalloonInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryHomeBalloonInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryHomeBalloonInfo_proto = out.File
+ file_SceneGalleryHomeBalloonInfo_proto_rawDesc = nil
+ file_SceneGalleryHomeBalloonInfo_proto_goTypes = nil
+ file_SceneGalleryHomeBalloonInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryHomeSeekFurnitureInfo.pb.go b/protocol/proto/SceneGalleryHomeSeekFurnitureInfo.pb.go
new file mode 100644
index 00000000..53f1614a
--- /dev/null
+++ b/protocol/proto/SceneGalleryHomeSeekFurnitureInfo.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryHomeSeekFurnitureInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryHomeSeekFurnitureInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurTideLeftNum uint32 `protobuf:"varint,6,opt,name=cur_tide_left_num,json=curTideLeftNum,proto3" json:"cur_tide_left_num,omitempty"`
+ PlayerScoreMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=player_score_map,json=playerScoreMap,proto3" json:"player_score_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CurTideDurationTime uint32 `protobuf:"varint,12,opt,name=cur_tide_duration_time,json=curTideDurationTime,proto3" json:"cur_tide_duration_time,omitempty"`
+ CurTideTotalNum uint32 `protobuf:"varint,9,opt,name=cur_tide_total_num,json=curTideTotalNum,proto3" json:"cur_tide_total_num,omitempty"`
+}
+
+func (x *SceneGalleryHomeSeekFurnitureInfo) Reset() {
+ *x = SceneGalleryHomeSeekFurnitureInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryHomeSeekFurnitureInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryHomeSeekFurnitureInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryHomeSeekFurnitureInfo) ProtoMessage() {}
+
+func (x *SceneGalleryHomeSeekFurnitureInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryHomeSeekFurnitureInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryHomeSeekFurnitureInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryHomeSeekFurnitureInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryHomeSeekFurnitureInfo) GetCurTideLeftNum() uint32 {
+ if x != nil {
+ return x.CurTideLeftNum
+ }
+ return 0
+}
+
+func (x *SceneGalleryHomeSeekFurnitureInfo) GetPlayerScoreMap() map[uint32]uint32 {
+ if x != nil {
+ return x.PlayerScoreMap
+ }
+ return nil
+}
+
+func (x *SceneGalleryHomeSeekFurnitureInfo) GetCurTideDurationTime() uint32 {
+ if x != nil {
+ return x.CurTideDurationTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryHomeSeekFurnitureInfo) GetCurTideTotalNum() uint32 {
+ if x != nil {
+ return x.CurTideTotalNum
+ }
+ return 0
+}
+
+var File_SceneGalleryHomeSeekFurnitureInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x6f,
+ 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xdb, 0x02, 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75,
+ 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x69,
+ 0x64, 0x65, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x54, 0x69, 0x64, 0x65, 0x4c, 0x65, 0x66, 0x74, 0x4e, 0x75,
+ 0x6d, 0x12, 0x66, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72,
+ 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x75, 0x72,
+ 0x5f, 0x74, 0x69, 0x64, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x75, 0x72, 0x54, 0x69,
+ 0x64, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b,
+ 0x0a, 0x12, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x69, 0x64, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c,
+ 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x54,
+ 0x69, 0x64, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x1a, 0x41, 0x0a, 0x13, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDescData = file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDesc
+)
+
+func file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDescData
+}
+
+var file_SceneGalleryHomeSeekFurnitureInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SceneGalleryHomeSeekFurnitureInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryHomeSeekFurnitureInfo)(nil), // 0: proto.SceneGalleryHomeSeekFurnitureInfo
+ nil, // 1: proto.SceneGalleryHomeSeekFurnitureInfo.PlayerScoreMapEntry
+}
+var file_SceneGalleryHomeSeekFurnitureInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryHomeSeekFurnitureInfo.player_score_map:type_name -> proto.SceneGalleryHomeSeekFurnitureInfo.PlayerScoreMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryHomeSeekFurnitureInfo_proto_init() }
+func file_SceneGalleryHomeSeekFurnitureInfo_proto_init() {
+ if File_SceneGalleryHomeSeekFurnitureInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryHomeSeekFurnitureInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryHomeSeekFurnitureInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryHomeSeekFurnitureInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryHomeSeekFurnitureInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryHomeSeekFurnitureInfo_proto = out.File
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_rawDesc = nil
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_goTypes = nil
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryInfo.pb.go b/protocol/proto/SceneGalleryInfo.pb.go
new file mode 100644
index 00000000..05ac2739
--- /dev/null
+++ b/protocol/proto/SceneGalleryInfo.pb.go
@@ -0,0 +1,1035 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Stage GalleryStageType `protobuf:"varint,5,opt,name=stage,proto3,enum=proto.GalleryStageType" json:"stage,omitempty"`
+ ProgressInfoList []*SceneGalleryProgressInfo `protobuf:"bytes,4,rep,name=progress_info_list,json=progressInfoList,proto3" json:"progress_info_list,omitempty"`
+ GalleryId uint32 `protobuf:"varint,2,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ StartTime uint32 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ EndTime uint32 `protobuf:"varint,11,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ OwnerUid uint32 `protobuf:"varint,9,opt,name=owner_uid,json=ownerUid,proto3" json:"owner_uid,omitempty"`
+ PlayerCount uint32 `protobuf:"varint,1,opt,name=player_count,json=playerCount,proto3" json:"player_count,omitempty"`
+ PreStartEndTime uint32 `protobuf:"varint,15,opt,name=pre_start_end_time,json=preStartEndTime,proto3" json:"pre_start_end_time,omitempty"`
+ // Types that are assignable to Info:
+ //
+ // *SceneGalleryInfo_BalloonInfo
+ // *SceneGalleryInfo_FallInfo
+ // *SceneGalleryInfo_FlowerInfo
+ // *SceneGalleryInfo_BulletInfo
+ // *SceneGalleryInfo_BrokenFloorInfo
+ // *SceneGalleryInfo_HideAndSeekInfo
+ // *SceneGalleryInfo_BuoyantCombatInfo
+ // *SceneGalleryInfo_BounceConjuringInfo
+ // *SceneGalleryInfo_HandballInfo
+ // *SceneGalleryInfo_SumoInfo
+ // *SceneGalleryInfo_SalvagePreventInfo
+ // *SceneGalleryInfo_SalvageEscortInfo
+ // *SceneGalleryInfo_HomeBalloonInfo
+ // *SceneGalleryInfo_CrystalLinkInfo
+ // *SceneGalleryInfo_IrodoriMasterInfo
+ // *SceneGalleryInfo_LuminanceStoneChallengeInfo
+ // *SceneGalleryInfo_HomeSeekFurnitureInfo
+ // *SceneGalleryInfo_IslandPartyDownHillInfo
+ // *SceneGalleryInfo_SummerTimeV2BoatInfo
+ // *SceneGalleryInfo_IslandPartyRaftInfo
+ // *SceneGalleryInfo_IslandPartySailInfo
+ // *SceneGalleryInfo_InstableSprayInfo
+ // *SceneGalleryInfo_MuqadasPotionInfo
+ // *SceneGalleryInfo_TreasureSeelieInfo
+ // *SceneGalleryInfo_VintageHuntingInfo
+ // *SceneGalleryInfo_WindFieldInfo
+ // *SceneGalleryInfo_FungusFighterTrainingInfo
+ // *SceneGalleryInfo_EffigyChallengeInfo
+ // *SceneGalleryInfo_FungusFighterCaptureInfo
+ // *SceneGalleryInfo_CharAmusementInfo
+ Info isSceneGalleryInfo_Info `protobuf_oneof:"info"`
+}
+
+func (x *SceneGalleryInfo) Reset() {
+ *x = SceneGalleryInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryInfo) ProtoMessage() {}
+
+func (x *SceneGalleryInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryInfo) GetStage() GalleryStageType {
+ if x != nil {
+ return x.Stage
+ }
+ return GalleryStageType_GALLERY_STAGE_TYPE_NONE
+}
+
+func (x *SceneGalleryInfo) GetProgressInfoList() []*SceneGalleryProgressInfo {
+ if x != nil {
+ return x.ProgressInfoList
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *SceneGalleryInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryInfo) GetOwnerUid() uint32 {
+ if x != nil {
+ return x.OwnerUid
+ }
+ return 0
+}
+
+func (x *SceneGalleryInfo) GetPlayerCount() uint32 {
+ if x != nil {
+ return x.PlayerCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryInfo) GetPreStartEndTime() uint32 {
+ if x != nil {
+ return x.PreStartEndTime
+ }
+ return 0
+}
+
+func (m *SceneGalleryInfo) GetInfo() isSceneGalleryInfo_Info {
+ if m != nil {
+ return m.Info
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetBalloonInfo() *SceneGalleryBalloonInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_BalloonInfo); ok {
+ return x.BalloonInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetFallInfo() *SceneGalleryFallInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_FallInfo); ok {
+ return x.FallInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetFlowerInfo() *SceneGalleryFlowerInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_FlowerInfo); ok {
+ return x.FlowerInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetBulletInfo() *SceneGalleryBulletInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_BulletInfo); ok {
+ return x.BulletInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetBrokenFloorInfo() *SceneGalleryBrokenFloorInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_BrokenFloorInfo); ok {
+ return x.BrokenFloorInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetHideAndSeekInfo() *SceneGalleryHideAndSeekInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_HideAndSeekInfo); ok {
+ return x.HideAndSeekInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetBuoyantCombatInfo() *SceneGalleryBuoyantCombatInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_BuoyantCombatInfo); ok {
+ return x.BuoyantCombatInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetBounceConjuringInfo() *SceneGalleryBounceConjuringInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_BounceConjuringInfo); ok {
+ return x.BounceConjuringInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetHandballInfo() *SceneGalleryHandballInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_HandballInfo); ok {
+ return x.HandballInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetSumoInfo() *SceneGallerySumoInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_SumoInfo); ok {
+ return x.SumoInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetSalvagePreventInfo() *SceneGallerySalvagePreventInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_SalvagePreventInfo); ok {
+ return x.SalvagePreventInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetSalvageEscortInfo() *SceneGallerySalvageEscortInfoInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_SalvageEscortInfo); ok {
+ return x.SalvageEscortInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetHomeBalloonInfo() *SceneGalleryHomeBalloonInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_HomeBalloonInfo); ok {
+ return x.HomeBalloonInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetCrystalLinkInfo() *SceneGalleryCrystalLinkInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_CrystalLinkInfo); ok {
+ return x.CrystalLinkInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetIrodoriMasterInfo() *SceneGalleryIrodoriMasterInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_IrodoriMasterInfo); ok {
+ return x.IrodoriMasterInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetLuminanceStoneChallengeInfo() *SceneGalleryLuminanceStoneChallengeInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_LuminanceStoneChallengeInfo); ok {
+ return x.LuminanceStoneChallengeInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetHomeSeekFurnitureInfo() *SceneGalleryHomeSeekFurnitureInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_HomeSeekFurnitureInfo); ok {
+ return x.HomeSeekFurnitureInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetIslandPartyDownHillInfo() *SceneGalleryIslandPartyDownHillInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_IslandPartyDownHillInfo); ok {
+ return x.IslandPartyDownHillInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetSummerTimeV2BoatInfo() *SceneGallerySummerTimeV2BoatInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_SummerTimeV2BoatInfo); ok {
+ return x.SummerTimeV2BoatInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetIslandPartyRaftInfo() *SceneGalleryIslandPartyRaftInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_IslandPartyRaftInfo); ok {
+ return x.IslandPartyRaftInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetIslandPartySailInfo() *SceneGalleryIslandPartySailInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_IslandPartySailInfo); ok {
+ return x.IslandPartySailInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetInstableSprayInfo() *SceneGalleryInstableSprayInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_InstableSprayInfo); ok {
+ return x.InstableSprayInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetMuqadasPotionInfo() *SceneGalleryMuqadasPotionInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_MuqadasPotionInfo); ok {
+ return x.MuqadasPotionInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetTreasureSeelieInfo() *SceneGalleryTreasureSeelieInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_TreasureSeelieInfo); ok {
+ return x.TreasureSeelieInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetVintageHuntingInfo() *SceneGalleryVintageHuntingInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_VintageHuntingInfo); ok {
+ return x.VintageHuntingInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetWindFieldInfo() *SceneGalleryWindFieldInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_WindFieldInfo); ok {
+ return x.WindFieldInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetFungusFighterTrainingInfo() *SceneGalleryFungusFighterTrainingInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_FungusFighterTrainingInfo); ok {
+ return x.FungusFighterTrainingInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetEffigyChallengeInfo() *SceneGalleryEffigyChallengeV2Info {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_EffigyChallengeInfo); ok {
+ return x.EffigyChallengeInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetFungusFighterCaptureInfo() *SceneGalleryFungusFighterCaptureInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_FungusFighterCaptureInfo); ok {
+ return x.FungusFighterCaptureInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryInfo) GetCharAmusementInfo() *SceneGalleryCharAmusementInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryInfo_CharAmusementInfo); ok {
+ return x.CharAmusementInfo
+ }
+ return nil
+}
+
+type isSceneGalleryInfo_Info interface {
+ isSceneGalleryInfo_Info()
+}
+
+type SceneGalleryInfo_BalloonInfo struct {
+ BalloonInfo *SceneGalleryBalloonInfo `protobuf:"bytes,14,opt,name=balloon_info,json=balloonInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_FallInfo struct {
+ FallInfo *SceneGalleryFallInfo `protobuf:"bytes,7,opt,name=fall_info,json=fallInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_FlowerInfo struct {
+ FlowerInfo *SceneGalleryFlowerInfo `protobuf:"bytes,8,opt,name=flower_info,json=flowerInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_BulletInfo struct {
+ BulletInfo *SceneGalleryBulletInfo `protobuf:"bytes,13,opt,name=bullet_info,json=bulletInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_BrokenFloorInfo struct {
+ BrokenFloorInfo *SceneGalleryBrokenFloorInfo `protobuf:"bytes,10,opt,name=broken_floor_info,json=brokenFloorInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_HideAndSeekInfo struct {
+ HideAndSeekInfo *SceneGalleryHideAndSeekInfo `protobuf:"bytes,6,opt,name=hide_and_seek_info,json=hideAndSeekInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_BuoyantCombatInfo struct {
+ BuoyantCombatInfo *SceneGalleryBuoyantCombatInfo `protobuf:"bytes,1384,opt,name=buoyant_combat_info,json=buoyantCombatInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_BounceConjuringInfo struct {
+ BounceConjuringInfo *SceneGalleryBounceConjuringInfo `protobuf:"bytes,708,opt,name=bounce_conjuring_info,json=bounceConjuringInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_HandballInfo struct {
+ HandballInfo *SceneGalleryHandballInfo `protobuf:"bytes,1997,opt,name=handball_info,json=handballInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_SumoInfo struct {
+ SumoInfo *SceneGallerySumoInfo `protobuf:"bytes,811,opt,name=sumo_info,json=sumoInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_SalvagePreventInfo struct {
+ SalvagePreventInfo *SceneGallerySalvagePreventInfo `protobuf:"bytes,1700,opt,name=salvage_prevent_info,json=salvagePreventInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_SalvageEscortInfo struct {
+ SalvageEscortInfo *SceneGallerySalvageEscortInfoInfo `protobuf:"bytes,759,opt,name=salvage_escort_info,json=salvageEscortInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_HomeBalloonInfo struct {
+ HomeBalloonInfo *SceneGalleryHomeBalloonInfo `protobuf:"bytes,1034,opt,name=home_balloon_info,json=homeBalloonInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_CrystalLinkInfo struct {
+ CrystalLinkInfo *SceneGalleryCrystalLinkInfo `protobuf:"bytes,2004,opt,name=crystal_link_info,json=crystalLinkInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_IrodoriMasterInfo struct {
+ IrodoriMasterInfo *SceneGalleryIrodoriMasterInfo `protobuf:"bytes,1953,opt,name=irodori_master_info,json=irodoriMasterInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_LuminanceStoneChallengeInfo struct {
+ LuminanceStoneChallengeInfo *SceneGalleryLuminanceStoneChallengeInfo `protobuf:"bytes,106,opt,name=luminance_stone_challenge_info,json=luminanceStoneChallengeInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_HomeSeekFurnitureInfo struct {
+ HomeSeekFurnitureInfo *SceneGalleryHomeSeekFurnitureInfo `protobuf:"bytes,1456,opt,name=home_seek_furniture_info,json=homeSeekFurnitureInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_IslandPartyDownHillInfo struct {
+ IslandPartyDownHillInfo *SceneGalleryIslandPartyDownHillInfo `protobuf:"bytes,462,opt,name=island_party_down_hill_info,json=islandPartyDownHillInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_SummerTimeV2BoatInfo struct {
+ SummerTimeV2BoatInfo *SceneGallerySummerTimeV2BoatInfo `protobuf:"bytes,296,opt,name=summer_time_v2_boat_info,json=summerTimeV2BoatInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_IslandPartyRaftInfo struct {
+ IslandPartyRaftInfo *SceneGalleryIslandPartyRaftInfo `protobuf:"bytes,1805,opt,name=island_party_raft_info,json=islandPartyRaftInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_IslandPartySailInfo struct {
+ IslandPartySailInfo *SceneGalleryIslandPartySailInfo `protobuf:"bytes,1133,opt,name=island_party_sail_info,json=islandPartySailInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_InstableSprayInfo struct {
+ InstableSprayInfo *SceneGalleryInstableSprayInfo `protobuf:"bytes,1196,opt,name=instable_spray_info,json=instableSprayInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_MuqadasPotionInfo struct {
+ MuqadasPotionInfo *SceneGalleryMuqadasPotionInfo `protobuf:"bytes,865,opt,name=muqadas_potion_info,json=muqadasPotionInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_TreasureSeelieInfo struct {
+ TreasureSeelieInfo *SceneGalleryTreasureSeelieInfo `protobuf:"bytes,1525,opt,name=treasure_seelie_info,json=treasureSeelieInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_VintageHuntingInfo struct {
+ VintageHuntingInfo *SceneGalleryVintageHuntingInfo `protobuf:"bytes,254,opt,name=vintage_hunting_info,json=vintageHuntingInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_WindFieldInfo struct {
+ WindFieldInfo *SceneGalleryWindFieldInfo `protobuf:"bytes,1080,opt,name=wind_field_info,json=windFieldInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_FungusFighterTrainingInfo struct {
+ FungusFighterTrainingInfo *SceneGalleryFungusFighterTrainingInfo `protobuf:"bytes,1328,opt,name=fungus_fighter_training_info,json=fungusFighterTrainingInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_EffigyChallengeInfo struct {
+ EffigyChallengeInfo *SceneGalleryEffigyChallengeV2Info `protobuf:"bytes,882,opt,name=effigy_challenge_info,json=effigyChallengeInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_FungusFighterCaptureInfo struct {
+ FungusFighterCaptureInfo *SceneGalleryFungusFighterCaptureInfo `protobuf:"bytes,422,opt,name=fungus_fighter_capture_info,json=fungusFighterCaptureInfo,proto3,oneof"`
+}
+
+type SceneGalleryInfo_CharAmusementInfo struct {
+ CharAmusementInfo *SceneGalleryCharAmusementInfo `protobuf:"bytes,1086,opt,name=char_amusement_info,json=charAmusementInfo,proto3,oneof"`
+}
+
+func (*SceneGalleryInfo_BalloonInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_FallInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_FlowerInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_BulletInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_BrokenFloorInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_HideAndSeekInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_BuoyantCombatInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_BounceConjuringInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_HandballInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_SumoInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_SalvagePreventInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_SalvageEscortInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_HomeBalloonInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_CrystalLinkInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_IrodoriMasterInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_LuminanceStoneChallengeInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_HomeSeekFurnitureInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_IslandPartyDownHillInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_SummerTimeV2BoatInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_IslandPartyRaftInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_IslandPartySailInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_InstableSprayInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_MuqadasPotionInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_TreasureSeelieInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_VintageHuntingInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_WindFieldInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_FungusFighterTrainingInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_EffigyChallengeInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_FungusFighterCaptureInfo) isSceneGalleryInfo_Info() {}
+
+func (*SceneGalleryInfo_CharAmusementInfo) isSceneGalleryInfo_Info() {}
+
+var File_SceneGalleryInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x42, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72,
+ 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x72, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x75,
+ 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x75, 0x6f, 0x79,
+ 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e,
+ 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x56, 0x32, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x75, 0x6e, 0x67,
+ 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69,
+ 0x67, 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x6f, 0x6d, 0x65, 0x53,
+ 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69,
+ 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x29, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73,
+ 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x48, 0x69, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50,
+ 0x61, 0x72, 0x74, 0x79, 0x52, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
+ 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x61, 0x6c, 0x76, 0x61,
+ 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72,
+ 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x53, 0x75, 0x6d, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x54, 0x72,
+ 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69,
+ 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x17,
+ 0x0a, 0x10, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x53, 0x74, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x10,
+ 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19,
+ 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e,
+ 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x77,
+ 0x6e, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x70, 0x72, 0x65,
+ 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45,
+ 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x42, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0b,
+ 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x09, 0x66,
+ 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x66,
+ 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x77, 0x65,
+ 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x46, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0a, 0x66,
+ 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x0b, 0x62, 0x75, 0x6c,
+ 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x0a, 0x62, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x11, 0x62,
+ 0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x72, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x72,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a,
+ 0x12, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x65, 0x6b, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x69,
+ 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x0f, 0x68, 0x69, 0x64, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6b, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x57, 0x0a, 0x13, 0x62, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x62,
+ 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xe8, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x62, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43,
+ 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5d, 0x0a, 0x15, 0x62, 0x6f, 0x75,
+ 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0xc4, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x42, 0x6f,
+ 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x13, 0x62, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6a, 0x75,
+ 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x0d, 0x68, 0x61, 0x6e, 0x64,
+ 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xcd, 0x0f, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x62, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x3b, 0x0a, 0x09, 0x73, 0x75, 0x6d, 0x6f, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xab,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x6f, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x73, 0x75, 0x6d, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5a,
+ 0x0a, 0x14, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xa4, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50,
+ 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5b, 0x0a, 0x13, 0x73, 0x61,
+ 0x6c, 0x76, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0xf7, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x61, 0x6c,
+ 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x73, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63,
+ 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x11, 0x68, 0x6f, 0x6d, 0x65, 0x5f,
+ 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x8a, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x6f, 0x6d, 0x65, 0x42, 0x61, 0x6c, 0x6c,
+ 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x68, 0x6f, 0x6d, 0x65, 0x42,
+ 0x61, 0x6c, 0x6c, 0x6f, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x51, 0x0a, 0x11, 0x63, 0x72,
+ 0x79, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0xd4, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74,
+ 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x72,
+ 0x79, 0x73, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a,
+ 0x13, 0x69, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x5f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xa1, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x49, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x11, 0x69, 0x72, 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x75, 0x0a, 0x1e, 0x6c, 0x75, 0x6d, 0x69, 0x6e, 0x61,
+ 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e,
+ 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00,
+ 0x52, 0x1b, 0x6c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x64, 0x0a,
+ 0x18, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x65, 0x6b, 0x5f, 0x66, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xb0, 0x0b, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x15, 0x68, 0x6f,
+ 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x6b, 0x0a, 0x1b, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x61,
+ 0x72, 0x74, 0x79, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x68, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0xce, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73,
+ 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x48, 0x69, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x17, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50,
+ 0x61, 0x72, 0x74, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x48, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x62, 0x0a, 0x18, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+ 0x76, 0x32, 0x5f, 0x62, 0x6f, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xa8, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69,
+ 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x14,
+ 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a, 0x16, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x5f, 0x70,
+ 0x61, 0x72, 0x74, 0x79, 0x5f, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x8d,
+ 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64,
+ 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x13, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x61, 0x66, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a, 0x16, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x5f, 0x70,
+ 0x61, 0x72, 0x74, 0x79, 0x5f, 0x73, 0x61, 0x69, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xed,
+ 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64,
+ 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x13, 0x69, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65,
+ 0x5f, 0x73, 0x70, 0x72, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xac, 0x09, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
+ 0x70, 0x72, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74,
+ 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a,
+ 0x13, 0x6d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x5f, 0x70, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xe1, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x4d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x11, 0x6d, 0x75, 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5a, 0x0a, 0x14, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75,
+ 0x72, 0x65, 0x5f, 0x73, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xf5,
+ 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75,
+ 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x12,
+ 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x5a, 0x0a, 0x14, 0x76, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xfe, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e,
+ 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x12, 0x76, 0x69, 0x6e, 0x74,
+ 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4b,
+ 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0xb8, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x57, 0x69, 0x6e,
+ 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0d, 0x77, 0x69,
+ 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x70, 0x0a, 0x1c, 0x66,
+ 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x72,
+ 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xb0, 0x0a, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f,
+ 0x48, 0x00, 0x52, 0x19, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74, 0x65,
+ 0x72, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f, 0x0a,
+ 0x15, 0x65, 0x66, 0x66, 0x69, 0x67, 0x79, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xf2, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x56, 0x32, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x13, 0x65, 0x66, 0x66, 0x69, 0x67,
+ 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x6d,
+ 0x0a, 0x1b, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x67, 0x68, 0x74, 0x65, 0x72,
+ 0x5f, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xa6, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x46, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46,
+ 0x69, 0x67, 0x68, 0x74, 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x18, 0x66, 0x75, 0x6e, 0x67, 0x75, 0x73, 0x46, 0x69, 0x67, 0x68, 0x74,
+ 0x65, 0x72, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x57, 0x0a,
+ 0x13, 0x63, 0x68, 0x61, 0x72, 0x5f, 0x61, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xbe, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x43, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x48, 0x00, 0x52, 0x11, 0x63, 0x68, 0x61, 0x72, 0x41, 0x6d, 0x75, 0x73, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x06, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryInfo_proto_rawDescData = file_SceneGalleryInfo_proto_rawDesc
+)
+
+func file_SceneGalleryInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryInfo_proto_rawDescData
+}
+
+var file_SceneGalleryInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryInfo)(nil), // 0: proto.SceneGalleryInfo
+ (GalleryStageType)(0), // 1: proto.GalleryStageType
+ (*SceneGalleryProgressInfo)(nil), // 2: proto.SceneGalleryProgressInfo
+ (*SceneGalleryBalloonInfo)(nil), // 3: proto.SceneGalleryBalloonInfo
+ (*SceneGalleryFallInfo)(nil), // 4: proto.SceneGalleryFallInfo
+ (*SceneGalleryFlowerInfo)(nil), // 5: proto.SceneGalleryFlowerInfo
+ (*SceneGalleryBulletInfo)(nil), // 6: proto.SceneGalleryBulletInfo
+ (*SceneGalleryBrokenFloorInfo)(nil), // 7: proto.SceneGalleryBrokenFloorInfo
+ (*SceneGalleryHideAndSeekInfo)(nil), // 8: proto.SceneGalleryHideAndSeekInfo
+ (*SceneGalleryBuoyantCombatInfo)(nil), // 9: proto.SceneGalleryBuoyantCombatInfo
+ (*SceneGalleryBounceConjuringInfo)(nil), // 10: proto.SceneGalleryBounceConjuringInfo
+ (*SceneGalleryHandballInfo)(nil), // 11: proto.SceneGalleryHandballInfo
+ (*SceneGallerySumoInfo)(nil), // 12: proto.SceneGallerySumoInfo
+ (*SceneGallerySalvagePreventInfo)(nil), // 13: proto.SceneGallerySalvagePreventInfo
+ (*SceneGallerySalvageEscortInfoInfo)(nil), // 14: proto.SceneGallerySalvageEscortInfoInfo
+ (*SceneGalleryHomeBalloonInfo)(nil), // 15: proto.SceneGalleryHomeBalloonInfo
+ (*SceneGalleryCrystalLinkInfo)(nil), // 16: proto.SceneGalleryCrystalLinkInfo
+ (*SceneGalleryIrodoriMasterInfo)(nil), // 17: proto.SceneGalleryIrodoriMasterInfo
+ (*SceneGalleryLuminanceStoneChallengeInfo)(nil), // 18: proto.SceneGalleryLuminanceStoneChallengeInfo
+ (*SceneGalleryHomeSeekFurnitureInfo)(nil), // 19: proto.SceneGalleryHomeSeekFurnitureInfo
+ (*SceneGalleryIslandPartyDownHillInfo)(nil), // 20: proto.SceneGalleryIslandPartyDownHillInfo
+ (*SceneGallerySummerTimeV2BoatInfo)(nil), // 21: proto.SceneGallerySummerTimeV2BoatInfo
+ (*SceneGalleryIslandPartyRaftInfo)(nil), // 22: proto.SceneGalleryIslandPartyRaftInfo
+ (*SceneGalleryIslandPartySailInfo)(nil), // 23: proto.SceneGalleryIslandPartySailInfo
+ (*SceneGalleryInstableSprayInfo)(nil), // 24: proto.SceneGalleryInstableSprayInfo
+ (*SceneGalleryMuqadasPotionInfo)(nil), // 25: proto.SceneGalleryMuqadasPotionInfo
+ (*SceneGalleryTreasureSeelieInfo)(nil), // 26: proto.SceneGalleryTreasureSeelieInfo
+ (*SceneGalleryVintageHuntingInfo)(nil), // 27: proto.SceneGalleryVintageHuntingInfo
+ (*SceneGalleryWindFieldInfo)(nil), // 28: proto.SceneGalleryWindFieldInfo
+ (*SceneGalleryFungusFighterTrainingInfo)(nil), // 29: proto.SceneGalleryFungusFighterTrainingInfo
+ (*SceneGalleryEffigyChallengeV2Info)(nil), // 30: proto.SceneGalleryEffigyChallengeV2Info
+ (*SceneGalleryFungusFighterCaptureInfo)(nil), // 31: proto.SceneGalleryFungusFighterCaptureInfo
+ (*SceneGalleryCharAmusementInfo)(nil), // 32: proto.SceneGalleryCharAmusementInfo
+}
+var file_SceneGalleryInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryInfo.stage:type_name -> proto.GalleryStageType
+ 2, // 1: proto.SceneGalleryInfo.progress_info_list:type_name -> proto.SceneGalleryProgressInfo
+ 3, // 2: proto.SceneGalleryInfo.balloon_info:type_name -> proto.SceneGalleryBalloonInfo
+ 4, // 3: proto.SceneGalleryInfo.fall_info:type_name -> proto.SceneGalleryFallInfo
+ 5, // 4: proto.SceneGalleryInfo.flower_info:type_name -> proto.SceneGalleryFlowerInfo
+ 6, // 5: proto.SceneGalleryInfo.bullet_info:type_name -> proto.SceneGalleryBulletInfo
+ 7, // 6: proto.SceneGalleryInfo.broken_floor_info:type_name -> proto.SceneGalleryBrokenFloorInfo
+ 8, // 7: proto.SceneGalleryInfo.hide_and_seek_info:type_name -> proto.SceneGalleryHideAndSeekInfo
+ 9, // 8: proto.SceneGalleryInfo.buoyant_combat_info:type_name -> proto.SceneGalleryBuoyantCombatInfo
+ 10, // 9: proto.SceneGalleryInfo.bounce_conjuring_info:type_name -> proto.SceneGalleryBounceConjuringInfo
+ 11, // 10: proto.SceneGalleryInfo.handball_info:type_name -> proto.SceneGalleryHandballInfo
+ 12, // 11: proto.SceneGalleryInfo.sumo_info:type_name -> proto.SceneGallerySumoInfo
+ 13, // 12: proto.SceneGalleryInfo.salvage_prevent_info:type_name -> proto.SceneGallerySalvagePreventInfo
+ 14, // 13: proto.SceneGalleryInfo.salvage_escort_info:type_name -> proto.SceneGallerySalvageEscortInfoInfo
+ 15, // 14: proto.SceneGalleryInfo.home_balloon_info:type_name -> proto.SceneGalleryHomeBalloonInfo
+ 16, // 15: proto.SceneGalleryInfo.crystal_link_info:type_name -> proto.SceneGalleryCrystalLinkInfo
+ 17, // 16: proto.SceneGalleryInfo.irodori_master_info:type_name -> proto.SceneGalleryIrodoriMasterInfo
+ 18, // 17: proto.SceneGalleryInfo.luminance_stone_challenge_info:type_name -> proto.SceneGalleryLuminanceStoneChallengeInfo
+ 19, // 18: proto.SceneGalleryInfo.home_seek_furniture_info:type_name -> proto.SceneGalleryHomeSeekFurnitureInfo
+ 20, // 19: proto.SceneGalleryInfo.island_party_down_hill_info:type_name -> proto.SceneGalleryIslandPartyDownHillInfo
+ 21, // 20: proto.SceneGalleryInfo.summer_time_v2_boat_info:type_name -> proto.SceneGallerySummerTimeV2BoatInfo
+ 22, // 21: proto.SceneGalleryInfo.island_party_raft_info:type_name -> proto.SceneGalleryIslandPartyRaftInfo
+ 23, // 22: proto.SceneGalleryInfo.island_party_sail_info:type_name -> proto.SceneGalleryIslandPartySailInfo
+ 24, // 23: proto.SceneGalleryInfo.instable_spray_info:type_name -> proto.SceneGalleryInstableSprayInfo
+ 25, // 24: proto.SceneGalleryInfo.muqadas_potion_info:type_name -> proto.SceneGalleryMuqadasPotionInfo
+ 26, // 25: proto.SceneGalleryInfo.treasure_seelie_info:type_name -> proto.SceneGalleryTreasureSeelieInfo
+ 27, // 26: proto.SceneGalleryInfo.vintage_hunting_info:type_name -> proto.SceneGalleryVintageHuntingInfo
+ 28, // 27: proto.SceneGalleryInfo.wind_field_info:type_name -> proto.SceneGalleryWindFieldInfo
+ 29, // 28: proto.SceneGalleryInfo.fungus_fighter_training_info:type_name -> proto.SceneGalleryFungusFighterTrainingInfo
+ 30, // 29: proto.SceneGalleryInfo.effigy_challenge_info:type_name -> proto.SceneGalleryEffigyChallengeV2Info
+ 31, // 30: proto.SceneGalleryInfo.fungus_fighter_capture_info:type_name -> proto.SceneGalleryFungusFighterCaptureInfo
+ 32, // 31: proto.SceneGalleryInfo.char_amusement_info:type_name -> proto.SceneGalleryCharAmusementInfo
+ 32, // [32:32] is the sub-list for method output_type
+ 32, // [32:32] is the sub-list for method input_type
+ 32, // [32:32] is the sub-list for extension type_name
+ 32, // [32:32] is the sub-list for extension extendee
+ 0, // [0:32] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryInfo_proto_init() }
+func file_SceneGalleryInfo_proto_init() {
+ if File_SceneGalleryInfo_proto != nil {
+ return
+ }
+ file_GalleryStageType_proto_init()
+ file_SceneGalleryBalloonInfo_proto_init()
+ file_SceneGalleryBounceConjuringInfo_proto_init()
+ file_SceneGalleryBrokenFloorInfo_proto_init()
+ file_SceneGalleryBulletInfo_proto_init()
+ file_SceneGalleryBuoyantCombatInfo_proto_init()
+ file_SceneGalleryCharAmusementInfo_proto_init()
+ file_SceneGalleryCrystalLinkInfo_proto_init()
+ file_SceneGalleryEffigyChallengeV2Info_proto_init()
+ file_SceneGalleryFallInfo_proto_init()
+ file_SceneGalleryFlowerInfo_proto_init()
+ file_SceneGalleryFungusFighterCaptureInfo_proto_init()
+ file_SceneGalleryFungusFighterTrainingInfo_proto_init()
+ file_SceneGalleryHandballInfo_proto_init()
+ file_SceneGalleryHideAndSeekInfo_proto_init()
+ file_SceneGalleryHomeBalloonInfo_proto_init()
+ file_SceneGalleryHomeSeekFurnitureInfo_proto_init()
+ file_SceneGalleryInstableSprayInfo_proto_init()
+ file_SceneGalleryIrodoriMasterInfo_proto_init()
+ file_SceneGalleryIslandPartyDownHillInfo_proto_init()
+ file_SceneGalleryIslandPartyRaftInfo_proto_init()
+ file_SceneGalleryIslandPartySailInfo_proto_init()
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_init()
+ file_SceneGalleryMuqadasPotionInfo_proto_init()
+ file_SceneGalleryProgressInfo_proto_init()
+ file_SceneGallerySalvageEscortInfoInfo_proto_init()
+ file_SceneGallerySalvagePreventInfo_proto_init()
+ file_SceneGallerySummerTimeV2BoatInfo_proto_init()
+ file_SceneGallerySumoInfo_proto_init()
+ file_SceneGalleryTreasureSeelieInfo_proto_init()
+ file_SceneGalleryVintageHuntingInfo_proto_init()
+ file_SceneGalleryWindFieldInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_SceneGalleryInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*SceneGalleryInfo_BalloonInfo)(nil),
+ (*SceneGalleryInfo_FallInfo)(nil),
+ (*SceneGalleryInfo_FlowerInfo)(nil),
+ (*SceneGalleryInfo_BulletInfo)(nil),
+ (*SceneGalleryInfo_BrokenFloorInfo)(nil),
+ (*SceneGalleryInfo_HideAndSeekInfo)(nil),
+ (*SceneGalleryInfo_BuoyantCombatInfo)(nil),
+ (*SceneGalleryInfo_BounceConjuringInfo)(nil),
+ (*SceneGalleryInfo_HandballInfo)(nil),
+ (*SceneGalleryInfo_SumoInfo)(nil),
+ (*SceneGalleryInfo_SalvagePreventInfo)(nil),
+ (*SceneGalleryInfo_SalvageEscortInfo)(nil),
+ (*SceneGalleryInfo_HomeBalloonInfo)(nil),
+ (*SceneGalleryInfo_CrystalLinkInfo)(nil),
+ (*SceneGalleryInfo_IrodoriMasterInfo)(nil),
+ (*SceneGalleryInfo_LuminanceStoneChallengeInfo)(nil),
+ (*SceneGalleryInfo_HomeSeekFurnitureInfo)(nil),
+ (*SceneGalleryInfo_IslandPartyDownHillInfo)(nil),
+ (*SceneGalleryInfo_SummerTimeV2BoatInfo)(nil),
+ (*SceneGalleryInfo_IslandPartyRaftInfo)(nil),
+ (*SceneGalleryInfo_IslandPartySailInfo)(nil),
+ (*SceneGalleryInfo_InstableSprayInfo)(nil),
+ (*SceneGalleryInfo_MuqadasPotionInfo)(nil),
+ (*SceneGalleryInfo_TreasureSeelieInfo)(nil),
+ (*SceneGalleryInfo_VintageHuntingInfo)(nil),
+ (*SceneGalleryInfo_WindFieldInfo)(nil),
+ (*SceneGalleryInfo_FungusFighterTrainingInfo)(nil),
+ (*SceneGalleryInfo_EffigyChallengeInfo)(nil),
+ (*SceneGalleryInfo_FungusFighterCaptureInfo)(nil),
+ (*SceneGalleryInfo_CharAmusementInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryInfo_proto = out.File
+ file_SceneGalleryInfo_proto_rawDesc = nil
+ file_SceneGalleryInfo_proto_goTypes = nil
+ file_SceneGalleryInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryInfoNotify.pb.go b/protocol/proto/SceneGalleryInfoNotify.pb.go
new file mode 100644
index 00000000..dbdfdb09
--- /dev/null
+++ b/protocol/proto/SceneGalleryInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5581
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneGalleryInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryInfo *SceneGalleryInfo `protobuf:"bytes,4,opt,name=gallery_info,json=galleryInfo,proto3" json:"gallery_info,omitempty"`
+}
+
+func (x *SceneGalleryInfoNotify) Reset() {
+ *x = SceneGalleryInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryInfoNotify) ProtoMessage() {}
+
+func (x *SceneGalleryInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryInfoNotify.ProtoReflect.Descriptor instead.
+func (*SceneGalleryInfoNotify) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryInfoNotify) GetGalleryInfo() *SceneGalleryInfo {
+ if x != nil {
+ return x.GalleryInfo
+ }
+ return nil
+}
+
+var File_SceneGalleryInfoNotify_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a,
+ 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3a, 0x0a, 0x0c, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryInfoNotify_proto_rawDescOnce sync.Once
+ file_SceneGalleryInfoNotify_proto_rawDescData = file_SceneGalleryInfoNotify_proto_rawDesc
+)
+
+func file_SceneGalleryInfoNotify_proto_rawDescGZIP() []byte {
+ file_SceneGalleryInfoNotify_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryInfoNotify_proto_rawDescData)
+ })
+ return file_SceneGalleryInfoNotify_proto_rawDescData
+}
+
+var file_SceneGalleryInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryInfoNotify_proto_goTypes = []interface{}{
+ (*SceneGalleryInfoNotify)(nil), // 0: proto.SceneGalleryInfoNotify
+ (*SceneGalleryInfo)(nil), // 1: proto.SceneGalleryInfo
+}
+var file_SceneGalleryInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryInfoNotify.gallery_info:type_name -> proto.SceneGalleryInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryInfoNotify_proto_init() }
+func file_SceneGalleryInfoNotify_proto_init() {
+ if File_SceneGalleryInfoNotify_proto != nil {
+ return
+ }
+ file_SceneGalleryInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryInfoNotify_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryInfoNotify_proto_depIdxs,
+ MessageInfos: file_SceneGalleryInfoNotify_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryInfoNotify_proto = out.File
+ file_SceneGalleryInfoNotify_proto_rawDesc = nil
+ file_SceneGalleryInfoNotify_proto_goTypes = nil
+ file_SceneGalleryInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryInstableSprayBuffInfo.pb.go b/protocol/proto/SceneGalleryInstableSprayBuffInfo.pb.go
new file mode 100644
index 00000000..5b75bce3
--- /dev/null
+++ b/protocol/proto/SceneGalleryInstableSprayBuffInfo.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryInstableSprayBuffInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryInstableSprayBuffInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BuffId uint32 `protobuf:"varint,6,opt,name=buff_id,json=buffId,proto3" json:"buff_id,omitempty"`
+ BuffEndTime uint64 `protobuf:"varint,9,opt,name=buff_end_time,json=buffEndTime,proto3" json:"buff_end_time,omitempty"`
+ BuffMaxTime uint64 `protobuf:"varint,4,opt,name=buff_max_time,json=buffMaxTime,proto3" json:"buff_max_time,omitempty"`
+}
+
+func (x *SceneGalleryInstableSprayBuffInfo) Reset() {
+ *x = SceneGalleryInstableSprayBuffInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryInstableSprayBuffInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryInstableSprayBuffInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryInstableSprayBuffInfo) ProtoMessage() {}
+
+func (x *SceneGalleryInstableSprayBuffInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryInstableSprayBuffInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryInstableSprayBuffInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryInstableSprayBuffInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryInstableSprayBuffInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryInstableSprayBuffInfo) GetBuffId() uint32 {
+ if x != nil {
+ return x.BuffId
+ }
+ return 0
+}
+
+func (x *SceneGalleryInstableSprayBuffInfo) GetBuffEndTime() uint64 {
+ if x != nil {
+ return x.BuffEndTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryInstableSprayBuffInfo) GetBuffMaxTime() uint64 {
+ if x != nil {
+ return x.BuffMaxTime
+ }
+ return 0
+}
+
+var File_SceneGalleryInstableSprayBuffInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryInstableSprayBuffInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e,
+ 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x42, 0x75, 0x66, 0x66, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x84, 0x01, 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x42, 0x75,
+ 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x62, 0x75, 0x66, 0x66, 0x49, 0x64, 0x12,
+ 0x22, 0x0a, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x75, 0x66, 0x66, 0x45, 0x6e, 0x64, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6d, 0x61, 0x78, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x75, 0x66, 0x66,
+ 0x4d, 0x61, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryInstableSprayBuffInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryInstableSprayBuffInfo_proto_rawDescData = file_SceneGalleryInstableSprayBuffInfo_proto_rawDesc
+)
+
+func file_SceneGalleryInstableSprayBuffInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryInstableSprayBuffInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryInstableSprayBuffInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryInstableSprayBuffInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryInstableSprayBuffInfo_proto_rawDescData
+}
+
+var file_SceneGalleryInstableSprayBuffInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryInstableSprayBuffInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryInstableSprayBuffInfo)(nil), // 0: proto.SceneGalleryInstableSprayBuffInfo
+}
+var file_SceneGalleryInstableSprayBuffInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryInstableSprayBuffInfo_proto_init() }
+func file_SceneGalleryInstableSprayBuffInfo_proto_init() {
+ if File_SceneGalleryInstableSprayBuffInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryInstableSprayBuffInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryInstableSprayBuffInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryInstableSprayBuffInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryInstableSprayBuffInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryInstableSprayBuffInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryInstableSprayBuffInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryInstableSprayBuffInfo_proto = out.File
+ file_SceneGalleryInstableSprayBuffInfo_proto_rawDesc = nil
+ file_SceneGalleryInstableSprayBuffInfo_proto_goTypes = nil
+ file_SceneGalleryInstableSprayBuffInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryInstableSprayInfo.pb.go b/protocol/proto/SceneGalleryInstableSprayInfo.pb.go
new file mode 100644
index 00000000..b836e270
--- /dev/null
+++ b/protocol/proto/SceneGalleryInstableSprayInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryInstableSprayInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryInstableSprayInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,5,opt,name=score,proto3" json:"score,omitempty"`
+ BuffInfoList []*SceneGalleryInstableSprayBuffInfo `protobuf:"bytes,12,rep,name=buff_info_list,json=buffInfoList,proto3" json:"buff_info_list,omitempty"`
+}
+
+func (x *SceneGalleryInstableSprayInfo) Reset() {
+ *x = SceneGalleryInstableSprayInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryInstableSprayInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryInstableSprayInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryInstableSprayInfo) ProtoMessage() {}
+
+func (x *SceneGalleryInstableSprayInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryInstableSprayInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryInstableSprayInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryInstableSprayInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryInstableSprayInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryInstableSprayInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *SceneGalleryInstableSprayInfo) GetBuffInfoList() []*SceneGalleryInstableSprayBuffInfo {
+ if x != nil {
+ return x.BuffInfoList
+ }
+ return nil
+}
+
+var File_SceneGalleryInstableSprayInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryInstableSprayInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e,
+ 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70,
+ 0x72, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x4e, 0x0a,
+ 0x0e, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x53, 0x70, 0x72, 0x61, 0x79, 0x42, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0c, 0x62, 0x75, 0x66, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SceneGalleryInstableSprayInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryInstableSprayInfo_proto_rawDescData = file_SceneGalleryInstableSprayInfo_proto_rawDesc
+)
+
+func file_SceneGalleryInstableSprayInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryInstableSprayInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryInstableSprayInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryInstableSprayInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryInstableSprayInfo_proto_rawDescData
+}
+
+var file_SceneGalleryInstableSprayInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryInstableSprayInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryInstableSprayInfo)(nil), // 0: proto.SceneGalleryInstableSprayInfo
+ (*SceneGalleryInstableSprayBuffInfo)(nil), // 1: proto.SceneGalleryInstableSprayBuffInfo
+}
+var file_SceneGalleryInstableSprayInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryInstableSprayInfo.buff_info_list:type_name -> proto.SceneGalleryInstableSprayBuffInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryInstableSprayInfo_proto_init() }
+func file_SceneGalleryInstableSprayInfo_proto_init() {
+ if File_SceneGalleryInstableSprayInfo_proto != nil {
+ return
+ }
+ file_SceneGalleryInstableSprayBuffInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryInstableSprayInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryInstableSprayInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryInstableSprayInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryInstableSprayInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryInstableSprayInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryInstableSprayInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryInstableSprayInfo_proto = out.File
+ file_SceneGalleryInstableSprayInfo_proto_rawDesc = nil
+ file_SceneGalleryInstableSprayInfo_proto_goTypes = nil
+ file_SceneGalleryInstableSprayInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryIrodoriMasterInfo.pb.go b/protocol/proto/SceneGalleryIrodoriMasterInfo.pb.go
new file mode 100644
index 00000000..ba1f0a8e
--- /dev/null
+++ b/protocol/proto/SceneGalleryIrodoriMasterInfo.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryIrodoriMasterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryIrodoriMasterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,8,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ Difficulty uint32 `protobuf:"varint,1,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+ IsCgViewed bool `protobuf:"varint,5,opt,name=is_cg_viewed,json=isCgViewed,proto3" json:"is_cg_viewed,omitempty"`
+}
+
+func (x *SceneGalleryIrodoriMasterInfo) Reset() {
+ *x = SceneGalleryIrodoriMasterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryIrodoriMasterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryIrodoriMasterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryIrodoriMasterInfo) ProtoMessage() {}
+
+func (x *SceneGalleryIrodoriMasterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryIrodoriMasterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryIrodoriMasterInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryIrodoriMasterInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryIrodoriMasterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryIrodoriMasterInfo) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *SceneGalleryIrodoriMasterInfo) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+func (x *SceneGalleryIrodoriMasterInfo) GetIsCgViewed() bool {
+ if x != nil {
+ return x.IsCgViewed
+ }
+ return false
+}
+
+var File_SceneGalleryIrodoriMasterInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryIrodoriMasterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x72,
+ 0x6f, 0x64, 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x1d,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x72, 0x6f, 0x64,
+ 0x6f, 0x72, 0x69, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a,
+ 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63,
+ 0x67, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a,
+ 0x69, 0x73, 0x43, 0x67, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryIrodoriMasterInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryIrodoriMasterInfo_proto_rawDescData = file_SceneGalleryIrodoriMasterInfo_proto_rawDesc
+)
+
+func file_SceneGalleryIrodoriMasterInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryIrodoriMasterInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryIrodoriMasterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryIrodoriMasterInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryIrodoriMasterInfo_proto_rawDescData
+}
+
+var file_SceneGalleryIrodoriMasterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryIrodoriMasterInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryIrodoriMasterInfo)(nil), // 0: proto.SceneGalleryIrodoriMasterInfo
+}
+var file_SceneGalleryIrodoriMasterInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryIrodoriMasterInfo_proto_init() }
+func file_SceneGalleryIrodoriMasterInfo_proto_init() {
+ if File_SceneGalleryIrodoriMasterInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryIrodoriMasterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryIrodoriMasterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryIrodoriMasterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryIrodoriMasterInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryIrodoriMasterInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryIrodoriMasterInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryIrodoriMasterInfo_proto = out.File
+ file_SceneGalleryIrodoriMasterInfo_proto_rawDesc = nil
+ file_SceneGalleryIrodoriMasterInfo_proto_goTypes = nil
+ file_SceneGalleryIrodoriMasterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryIslandPartyDownHillInfo.pb.go b/protocol/proto/SceneGalleryIslandPartyDownHillInfo.pb.go
new file mode 100644
index 00000000..2225c1dd
--- /dev/null
+++ b/protocol/proto/SceneGalleryIslandPartyDownHillInfo.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryIslandPartyDownHillInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryIslandPartyDownHillInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalKillMonsterCount uint32 `protobuf:"varint,14,opt,name=total_kill_monster_count,json=totalKillMonsterCount,proto3" json:"total_kill_monster_count,omitempty"`
+ StartSource GalleryStartSource `protobuf:"varint,15,opt,name=start_source,json=startSource,proto3,enum=proto.GalleryStartSource" json:"start_source,omitempty"`
+ MaxKillMonsterCount uint32 `protobuf:"varint,5,opt,name=max_kill_monster_count,json=maxKillMonsterCount,proto3" json:"max_kill_monster_count,omitempty"`
+ Coin uint32 `protobuf:"varint,13,opt,name=coin,proto3" json:"coin,omitempty"`
+}
+
+func (x *SceneGalleryIslandPartyDownHillInfo) Reset() {
+ *x = SceneGalleryIslandPartyDownHillInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryIslandPartyDownHillInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryIslandPartyDownHillInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryIslandPartyDownHillInfo) ProtoMessage() {}
+
+func (x *SceneGalleryIslandPartyDownHillInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryIslandPartyDownHillInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryIslandPartyDownHillInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryIslandPartyDownHillInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryIslandPartyDownHillInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryIslandPartyDownHillInfo) GetTotalKillMonsterCount() uint32 {
+ if x != nil {
+ return x.TotalKillMonsterCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartyDownHillInfo) GetStartSource() GalleryStartSource {
+ if x != nil {
+ return x.StartSource
+ }
+ return GalleryStartSource_GALLERY_START_SOURCE_BY_NONE
+}
+
+func (x *SceneGalleryIslandPartyDownHillInfo) GetMaxKillMonsterCount() uint32 {
+ if x != nil {
+ return x.MaxKillMonsterCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartyDownHillInfo) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+var File_SceneGalleryIslandPartyDownHillInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryIslandPartyDownHillInfo_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73,
+ 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x48, 0x69, 0x6c,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x18, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x01, 0x0a,
+ 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73, 0x6c,
+ 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x48, 0x69, 0x6c, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x37, 0x0a, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4b, 0x69, 0x6c,
+ 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3c, 0x0a,
+ 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d,
+ 0x61, 0x78, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x61, 0x78,
+ 0x4b, 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
+ 0x63, 0x6f, 0x69, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryIslandPartyDownHillInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryIslandPartyDownHillInfo_proto_rawDescData = file_SceneGalleryIslandPartyDownHillInfo_proto_rawDesc
+)
+
+func file_SceneGalleryIslandPartyDownHillInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryIslandPartyDownHillInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryIslandPartyDownHillInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryIslandPartyDownHillInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryIslandPartyDownHillInfo_proto_rawDescData
+}
+
+var file_SceneGalleryIslandPartyDownHillInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryIslandPartyDownHillInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryIslandPartyDownHillInfo)(nil), // 0: proto.SceneGalleryIslandPartyDownHillInfo
+ (GalleryStartSource)(0), // 1: proto.GalleryStartSource
+}
+var file_SceneGalleryIslandPartyDownHillInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryIslandPartyDownHillInfo.start_source:type_name -> proto.GalleryStartSource
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryIslandPartyDownHillInfo_proto_init() }
+func file_SceneGalleryIslandPartyDownHillInfo_proto_init() {
+ if File_SceneGalleryIslandPartyDownHillInfo_proto != nil {
+ return
+ }
+ file_GalleryStartSource_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryIslandPartyDownHillInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryIslandPartyDownHillInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryIslandPartyDownHillInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryIslandPartyDownHillInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryIslandPartyDownHillInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryIslandPartyDownHillInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryIslandPartyDownHillInfo_proto = out.File
+ file_SceneGalleryIslandPartyDownHillInfo_proto_rawDesc = nil
+ file_SceneGalleryIslandPartyDownHillInfo_proto_goTypes = nil
+ file_SceneGalleryIslandPartyDownHillInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryIslandPartyRaftInfo.pb.go b/protocol/proto/SceneGalleryIslandPartyRaftInfo.pb.go
new file mode 100644
index 00000000..0c55961e
--- /dev/null
+++ b/protocol/proto/SceneGalleryIslandPartyRaftInfo.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryIslandPartyRaftInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryIslandPartyRaftInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Coin uint32 `protobuf:"varint,6,opt,name=coin,proto3" json:"coin,omitempty"`
+ StartSource GalleryStartSource `protobuf:"varint,7,opt,name=start_source,json=startSource,proto3,enum=proto.GalleryStartSource" json:"start_source,omitempty"`
+ Component uint32 `protobuf:"varint,1,opt,name=component,proto3" json:"component,omitempty"`
+ Fuel uint32 `protobuf:"varint,15,opt,name=fuel,proto3" json:"fuel,omitempty"`
+ PointId uint32 `protobuf:"varint,12,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ RaftEntityId uint32 `protobuf:"varint,4,opt,name=raft_entity_id,json=raftEntityId,proto3" json:"raft_entity_id,omitempty"`
+}
+
+func (x *SceneGalleryIslandPartyRaftInfo) Reset() {
+ *x = SceneGalleryIslandPartyRaftInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryIslandPartyRaftInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryIslandPartyRaftInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryIslandPartyRaftInfo) ProtoMessage() {}
+
+func (x *SceneGalleryIslandPartyRaftInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryIslandPartyRaftInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryIslandPartyRaftInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryIslandPartyRaftInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryIslandPartyRaftInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryIslandPartyRaftInfo) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartyRaftInfo) GetStartSource() GalleryStartSource {
+ if x != nil {
+ return x.StartSource
+ }
+ return GalleryStartSource_GALLERY_START_SOURCE_BY_NONE
+}
+
+func (x *SceneGalleryIslandPartyRaftInfo) GetComponent() uint32 {
+ if x != nil {
+ return x.Component
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartyRaftInfo) GetFuel() uint32 {
+ if x != nil {
+ return x.Fuel
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartyRaftInfo) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartyRaftInfo) GetRaftEntityId() uint32 {
+ if x != nil {
+ return x.RaftEntityId
+ }
+ return 0
+}
+
+var File_SceneGalleryIslandPartyRaftInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryIslandPartyRaftInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73,
+ 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x52, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01, 0x0a, 0x1f, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50,
+ 0x61, 0x72, 0x74, 0x79, 0x52, 0x61, 0x66, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04,
+ 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x69, 0x6e,
+ 0x12, 0x3c, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c,
+ 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04,
+ 0x66, 0x75, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x75, 0x65, 0x6c,
+ 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x72,
+ 0x61, 0x66, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x61, 0x66, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryIslandPartyRaftInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryIslandPartyRaftInfo_proto_rawDescData = file_SceneGalleryIslandPartyRaftInfo_proto_rawDesc
+)
+
+func file_SceneGalleryIslandPartyRaftInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryIslandPartyRaftInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryIslandPartyRaftInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryIslandPartyRaftInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryIslandPartyRaftInfo_proto_rawDescData
+}
+
+var file_SceneGalleryIslandPartyRaftInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryIslandPartyRaftInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryIslandPartyRaftInfo)(nil), // 0: proto.SceneGalleryIslandPartyRaftInfo
+ (GalleryStartSource)(0), // 1: proto.GalleryStartSource
+}
+var file_SceneGalleryIslandPartyRaftInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryIslandPartyRaftInfo.start_source:type_name -> proto.GalleryStartSource
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryIslandPartyRaftInfo_proto_init() }
+func file_SceneGalleryIslandPartyRaftInfo_proto_init() {
+ if File_SceneGalleryIslandPartyRaftInfo_proto != nil {
+ return
+ }
+ file_GalleryStartSource_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryIslandPartyRaftInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryIslandPartyRaftInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryIslandPartyRaftInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryIslandPartyRaftInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryIslandPartyRaftInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryIslandPartyRaftInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryIslandPartyRaftInfo_proto = out.File
+ file_SceneGalleryIslandPartyRaftInfo_proto_rawDesc = nil
+ file_SceneGalleryIslandPartyRaftInfo_proto_goTypes = nil
+ file_SceneGalleryIslandPartyRaftInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryIslandPartySailInfo.pb.go b/protocol/proto/SceneGalleryIslandPartySailInfo.pb.go
new file mode 100644
index 00000000..ee9867dd
--- /dev/null
+++ b/protocol/proto/SceneGalleryIslandPartySailInfo.pb.go
@@ -0,0 +1,235 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryIslandPartySailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryIslandPartySailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaxCleanProgress uint32 `protobuf:"varint,14,opt,name=max_clean_progress,json=maxCleanProgress,proto3" json:"max_clean_progress,omitempty"`
+ CleanProgress uint32 `protobuf:"varint,10,opt,name=clean_progress,json=cleanProgress,proto3" json:"clean_progress,omitempty"`
+ StartSource GalleryStartSource `protobuf:"varint,1,opt,name=start_source,json=startSource,proto3,enum=proto.GalleryStartSource" json:"start_source,omitempty"`
+ KillProgress uint32 `protobuf:"varint,11,opt,name=kill_progress,json=killProgress,proto3" json:"kill_progress,omitempty"`
+ Coin uint32 `protobuf:"varint,15,opt,name=coin,proto3" json:"coin,omitempty"`
+ Stage IslandPartySailStage `protobuf:"varint,12,opt,name=stage,proto3,enum=proto.IslandPartySailStage" json:"stage,omitempty"`
+ MaxKillProgress uint32 `protobuf:"varint,8,opt,name=max_kill_progress,json=maxKillProgress,proto3" json:"max_kill_progress,omitempty"`
+}
+
+func (x *SceneGalleryIslandPartySailInfo) Reset() {
+ *x = SceneGalleryIslandPartySailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryIslandPartySailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryIslandPartySailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryIslandPartySailInfo) ProtoMessage() {}
+
+func (x *SceneGalleryIslandPartySailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryIslandPartySailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryIslandPartySailInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryIslandPartySailInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryIslandPartySailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryIslandPartySailInfo) GetMaxCleanProgress() uint32 {
+ if x != nil {
+ return x.MaxCleanProgress
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartySailInfo) GetCleanProgress() uint32 {
+ if x != nil {
+ return x.CleanProgress
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartySailInfo) GetStartSource() GalleryStartSource {
+ if x != nil {
+ return x.StartSource
+ }
+ return GalleryStartSource_GALLERY_START_SOURCE_BY_NONE
+}
+
+func (x *SceneGalleryIslandPartySailInfo) GetKillProgress() uint32 {
+ if x != nil {
+ return x.KillProgress
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartySailInfo) GetCoin() uint32 {
+ if x != nil {
+ return x.Coin
+ }
+ return 0
+}
+
+func (x *SceneGalleryIslandPartySailInfo) GetStage() IslandPartySailStage {
+ if x != nil {
+ return x.Stage
+ }
+ return IslandPartySailStage_ISLAND_PARTY_SAIL_STAGE_NONE
+}
+
+func (x *SceneGalleryIslandPartySailInfo) GetMaxKillProgress() uint32 {
+ if x != nil {
+ return x.MaxKillProgress
+ }
+ return 0
+}
+
+var File_SceneGalleryIslandPartySailInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryIslandPartySailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73,
+ 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64,
+ 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x61, 0x67, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x02, 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79,
+ 0x53, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f,
+ 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x50, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f,
+ 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
+ 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a,
+ 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0b,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
+ 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x73, 0x6c, 0x61,
+ 0x6e, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x53, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72,
+ 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryIslandPartySailInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryIslandPartySailInfo_proto_rawDescData = file_SceneGalleryIslandPartySailInfo_proto_rawDesc
+)
+
+func file_SceneGalleryIslandPartySailInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryIslandPartySailInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryIslandPartySailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryIslandPartySailInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryIslandPartySailInfo_proto_rawDescData
+}
+
+var file_SceneGalleryIslandPartySailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryIslandPartySailInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryIslandPartySailInfo)(nil), // 0: proto.SceneGalleryIslandPartySailInfo
+ (GalleryStartSource)(0), // 1: proto.GalleryStartSource
+ (IslandPartySailStage)(0), // 2: proto.IslandPartySailStage
+}
+var file_SceneGalleryIslandPartySailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryIslandPartySailInfo.start_source:type_name -> proto.GalleryStartSource
+ 2, // 1: proto.SceneGalleryIslandPartySailInfo.stage:type_name -> proto.IslandPartySailStage
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryIslandPartySailInfo_proto_init() }
+func file_SceneGalleryIslandPartySailInfo_proto_init() {
+ if File_SceneGalleryIslandPartySailInfo_proto != nil {
+ return
+ }
+ file_GalleryStartSource_proto_init()
+ file_IslandPartySailStage_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryIslandPartySailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryIslandPartySailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryIslandPartySailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryIslandPartySailInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryIslandPartySailInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryIslandPartySailInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryIslandPartySailInfo_proto = out.File
+ file_SceneGalleryIslandPartySailInfo_proto_rawDesc = nil
+ file_SceneGalleryIslandPartySailInfo_proto_goTypes = nil
+ file_SceneGalleryIslandPartySailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryLuminanceStoneChallengeInfo.pb.go b/protocol/proto/SceneGalleryLuminanceStoneChallengeInfo.pb.go
new file mode 100644
index 00000000..c7ba64c9
--- /dev/null
+++ b/protocol/proto/SceneGalleryLuminanceStoneChallengeInfo.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryLuminanceStoneChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryLuminanceStoneChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ KillMonsterCount uint32 `protobuf:"varint,5,opt,name=kill_monster_count,json=killMonsterCount,proto3" json:"kill_monster_count,omitempty"`
+ Score uint32 `protobuf:"varint,3,opt,name=score,proto3" json:"score,omitempty"`
+ CleanMudCount uint32 `protobuf:"varint,2,opt,name=clean_mud_count,json=cleanMudCount,proto3" json:"clean_mud_count,omitempty"`
+ KillSpecialMonsterCount uint32 `protobuf:"varint,6,opt,name=kill_special_monster_count,json=killSpecialMonsterCount,proto3" json:"kill_special_monster_count,omitempty"`
+}
+
+func (x *SceneGalleryLuminanceStoneChallengeInfo) Reset() {
+ *x = SceneGalleryLuminanceStoneChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryLuminanceStoneChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryLuminanceStoneChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryLuminanceStoneChallengeInfo) ProtoMessage() {}
+
+func (x *SceneGalleryLuminanceStoneChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryLuminanceStoneChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryLuminanceStoneChallengeInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryLuminanceStoneChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryLuminanceStoneChallengeInfo) GetKillMonsterCount() uint32 {
+ if x != nil {
+ return x.KillMonsterCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryLuminanceStoneChallengeInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *SceneGalleryLuminanceStoneChallengeInfo) GetCleanMudCount() uint32 {
+ if x != nil {
+ return x.CleanMudCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryLuminanceStoneChallengeInfo) GetKillSpecialMonsterCount() uint32 {
+ if x != nil {
+ return x.KillSpecialMonsterCount
+ }
+ return 0
+}
+
+var File_SceneGalleryLuminanceStoneChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4c, 0x75,
+ 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x01, 0x0a, 0x27, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4c, 0x75, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x65,
+ 0x53, 0x74, 0x6f, 0x6e, 0x65, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74,
+ 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f,
+ 0x6d, 0x75, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x4d, 0x75, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3b,
+ 0x0a, 0x1a, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x5f, 0x6d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x17, 0x6b, 0x69, 0x6c, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x4d,
+ 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDescData = file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDesc
+)
+
+func file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDescData
+}
+
+var file_SceneGalleryLuminanceStoneChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryLuminanceStoneChallengeInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryLuminanceStoneChallengeInfo)(nil), // 0: proto.SceneGalleryLuminanceStoneChallengeInfo
+}
+var file_SceneGalleryLuminanceStoneChallengeInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryLuminanceStoneChallengeInfo_proto_init() }
+func file_SceneGalleryLuminanceStoneChallengeInfo_proto_init() {
+ if File_SceneGalleryLuminanceStoneChallengeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryLuminanceStoneChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryLuminanceStoneChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryLuminanceStoneChallengeInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryLuminanceStoneChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryLuminanceStoneChallengeInfo_proto = out.File
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_rawDesc = nil
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_goTypes = nil
+ file_SceneGalleryLuminanceStoneChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryMuqadasPotionInfo.pb.go b/protocol/proto/SceneGalleryMuqadasPotionInfo.pb.go
new file mode 100644
index 00000000..2eddc153
--- /dev/null
+++ b/protocol/proto/SceneGalleryMuqadasPotionInfo.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryMuqadasPotionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryMuqadasPotionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,6,opt,name=score,proto3" json:"score,omitempty"`
+ CaptureWeaknessCount uint32 `protobuf:"varint,4,opt,name=capture_weakness_count,json=captureWeaknessCount,proto3" json:"capture_weakness_count,omitempty"`
+ SkillEnergy uint32 `protobuf:"varint,10,opt,name=skill_energy,json=skillEnergy,proto3" json:"skill_energy,omitempty"`
+ SkillUseLimit uint32 `protobuf:"varint,9,opt,name=skill_use_limit,json=skillUseLimit,proto3" json:"skill_use_limit,omitempty"`
+}
+
+func (x *SceneGalleryMuqadasPotionInfo) Reset() {
+ *x = SceneGalleryMuqadasPotionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryMuqadasPotionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryMuqadasPotionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryMuqadasPotionInfo) ProtoMessage() {}
+
+func (x *SceneGalleryMuqadasPotionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryMuqadasPotionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryMuqadasPotionInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryMuqadasPotionInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryMuqadasPotionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryMuqadasPotionInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *SceneGalleryMuqadasPotionInfo) GetCaptureWeaknessCount() uint32 {
+ if x != nil {
+ return x.CaptureWeaknessCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryMuqadasPotionInfo) GetSkillEnergy() uint32 {
+ if x != nil {
+ return x.SkillEnergy
+ }
+ return 0
+}
+
+func (x *SceneGalleryMuqadasPotionInfo) GetSkillUseLimit() uint32 {
+ if x != nil {
+ return x.SkillUseLimit
+ }
+ return 0
+}
+
+var File_SceneGalleryMuqadasPotionInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryMuqadasPotionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4d, 0x75,
+ 0x71, 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, 0x0a,
+ 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4d, 0x75, 0x71,
+ 0x61, 0x64, 0x61, 0x73, 0x50, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14,
+ 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f,
+ 0x77, 0x65, 0x61, 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x57, 0x65, 0x61,
+ 0x6b, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x26, 0x0a,
+ 0x0f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x73, 0x65,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryMuqadasPotionInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryMuqadasPotionInfo_proto_rawDescData = file_SceneGalleryMuqadasPotionInfo_proto_rawDesc
+)
+
+func file_SceneGalleryMuqadasPotionInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryMuqadasPotionInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryMuqadasPotionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryMuqadasPotionInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryMuqadasPotionInfo_proto_rawDescData
+}
+
+var file_SceneGalleryMuqadasPotionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryMuqadasPotionInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryMuqadasPotionInfo)(nil), // 0: proto.SceneGalleryMuqadasPotionInfo
+}
+var file_SceneGalleryMuqadasPotionInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryMuqadasPotionInfo_proto_init() }
+func file_SceneGalleryMuqadasPotionInfo_proto_init() {
+ if File_SceneGalleryMuqadasPotionInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryMuqadasPotionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryMuqadasPotionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryMuqadasPotionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryMuqadasPotionInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryMuqadasPotionInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryMuqadasPotionInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryMuqadasPotionInfo_proto = out.File
+ file_SceneGalleryMuqadasPotionInfo_proto_rawDesc = nil
+ file_SceneGalleryMuqadasPotionInfo_proto_goTypes = nil
+ file_SceneGalleryMuqadasPotionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryProgressInfo.pb.go b/protocol/proto/SceneGalleryProgressInfo.pb.go
new file mode 100644
index 00000000..258c6c5a
--- /dev/null
+++ b/protocol/proto/SceneGalleryProgressInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryProgressInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryProgressInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProgressStageList []uint32 `protobuf:"varint,8,rep,packed,name=progress_stage_list,json=progressStageList,proto3" json:"progress_stage_list,omitempty"`
+ Key string `protobuf:"bytes,11,opt,name=key,proto3" json:"key,omitempty"`
+ Progress uint32 `protobuf:"varint,5,opt,name=progress,proto3" json:"progress,omitempty"`
+ UiForm uint32 `protobuf:"varint,12,opt,name=ui_form,json=uiForm,proto3" json:"ui_form,omitempty"`
+}
+
+func (x *SceneGalleryProgressInfo) Reset() {
+ *x = SceneGalleryProgressInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryProgressInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryProgressInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryProgressInfo) ProtoMessage() {}
+
+func (x *SceneGalleryProgressInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryProgressInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryProgressInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryProgressInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryProgressInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryProgressInfo) GetProgressStageList() []uint32 {
+ if x != nil {
+ return x.ProgressStageList
+ }
+ return nil
+}
+
+func (x *SceneGalleryProgressInfo) GetKey() string {
+ if x != nil {
+ return x.Key
+ }
+ return ""
+}
+
+func (x *SceneGalleryProgressInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *SceneGalleryProgressInfo) GetUiForm() uint32 {
+ if x != nil {
+ return x.UiForm
+ }
+ return 0
+}
+
+var File_SceneGalleryProgressInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryProgressInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x50, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x69, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x69, 0x46, 0x6f, 0x72, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryProgressInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryProgressInfo_proto_rawDescData = file_SceneGalleryProgressInfo_proto_rawDesc
+)
+
+func file_SceneGalleryProgressInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryProgressInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryProgressInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryProgressInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryProgressInfo_proto_rawDescData
+}
+
+var file_SceneGalleryProgressInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryProgressInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryProgressInfo)(nil), // 0: proto.SceneGalleryProgressInfo
+}
+var file_SceneGalleryProgressInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryProgressInfo_proto_init() }
+func file_SceneGalleryProgressInfo_proto_init() {
+ if File_SceneGalleryProgressInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryProgressInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryProgressInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryProgressInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryProgressInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryProgressInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryProgressInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryProgressInfo_proto = out.File
+ file_SceneGalleryProgressInfo_proto_rawDesc = nil
+ file_SceneGalleryProgressInfo_proto_goTypes = nil
+ file_SceneGalleryProgressInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGallerySalvageEscortInfoInfo.pb.go b/protocol/proto/SceneGallerySalvageEscortInfoInfo.pb.go
new file mode 100644
index 00000000..bd3dced6
--- /dev/null
+++ b/protocol/proto/SceneGallerySalvageEscortInfoInfo.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGallerySalvageEscortInfoInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGallerySalvageEscortInfoInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaxBoxCount uint32 `protobuf:"varint,14,opt,name=max_box_count,json=maxBoxCount,proto3" json:"max_box_count,omitempty"`
+ MaxMonsterCount uint32 `protobuf:"varint,3,opt,name=max_monster_count,json=maxMonsterCount,proto3" json:"max_monster_count,omitempty"`
+ BoxCount uint32 `protobuf:"varint,7,opt,name=box_count,json=boxCount,proto3" json:"box_count,omitempty"`
+ MonsterCount uint32 `protobuf:"varint,11,opt,name=monster_count,json=monsterCount,proto3" json:"monster_count,omitempty"`
+}
+
+func (x *SceneGallerySalvageEscortInfoInfo) Reset() {
+ *x = SceneGallerySalvageEscortInfoInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGallerySalvageEscortInfoInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGallerySalvageEscortInfoInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGallerySalvageEscortInfoInfo) ProtoMessage() {}
+
+func (x *SceneGallerySalvageEscortInfoInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGallerySalvageEscortInfoInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGallerySalvageEscortInfoInfo.ProtoReflect.Descriptor instead.
+func (*SceneGallerySalvageEscortInfoInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGallerySalvageEscortInfoInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGallerySalvageEscortInfoInfo) GetMaxBoxCount() uint32 {
+ if x != nil {
+ return x.MaxBoxCount
+ }
+ return 0
+}
+
+func (x *SceneGallerySalvageEscortInfoInfo) GetMaxMonsterCount() uint32 {
+ if x != nil {
+ return x.MaxMonsterCount
+ }
+ return 0
+}
+
+func (x *SceneGallerySalvageEscortInfoInfo) GetBoxCount() uint32 {
+ if x != nil {
+ return x.BoxCount
+ }
+ return 0
+}
+
+func (x *SceneGallerySalvageEscortInfoInfo) GetMonsterCount() uint32 {
+ if x != nil {
+ return x.MonsterCount
+ }
+ return 0
+}
+
+var File_SceneGallerySalvageEscortInfoInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGallerySalvageEscortInfoInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x61,
+ 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xb5, 0x01, 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x45, 0x73, 0x63, 0x6f, 0x72, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x6f,
+ 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d,
+ 0x61, 0x78, 0x42, 0x6f, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61,
+ 0x78, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6f, 0x78, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x6f, 0x78, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGallerySalvageEscortInfoInfo_proto_rawDescOnce sync.Once
+ file_SceneGallerySalvageEscortInfoInfo_proto_rawDescData = file_SceneGallerySalvageEscortInfoInfo_proto_rawDesc
+)
+
+func file_SceneGallerySalvageEscortInfoInfo_proto_rawDescGZIP() []byte {
+ file_SceneGallerySalvageEscortInfoInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGallerySalvageEscortInfoInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGallerySalvageEscortInfoInfo_proto_rawDescData)
+ })
+ return file_SceneGallerySalvageEscortInfoInfo_proto_rawDescData
+}
+
+var file_SceneGallerySalvageEscortInfoInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGallerySalvageEscortInfoInfo_proto_goTypes = []interface{}{
+ (*SceneGallerySalvageEscortInfoInfo)(nil), // 0: proto.SceneGallerySalvageEscortInfoInfo
+}
+var file_SceneGallerySalvageEscortInfoInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGallerySalvageEscortInfoInfo_proto_init() }
+func file_SceneGallerySalvageEscortInfoInfo_proto_init() {
+ if File_SceneGallerySalvageEscortInfoInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGallerySalvageEscortInfoInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGallerySalvageEscortInfoInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGallerySalvageEscortInfoInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGallerySalvageEscortInfoInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGallerySalvageEscortInfoInfo_proto_depIdxs,
+ MessageInfos: file_SceneGallerySalvageEscortInfoInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGallerySalvageEscortInfoInfo_proto = out.File
+ file_SceneGallerySalvageEscortInfoInfo_proto_rawDesc = nil
+ file_SceneGallerySalvageEscortInfoInfo_proto_goTypes = nil
+ file_SceneGallerySalvageEscortInfoInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGallerySalvagePreventInfo.pb.go b/protocol/proto/SceneGallerySalvagePreventInfo.pb.go
new file mode 100644
index 00000000..1551c9a1
--- /dev/null
+++ b/protocol/proto/SceneGallerySalvagePreventInfo.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGallerySalvagePreventInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGallerySalvagePreventInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterCount uint32 `protobuf:"varint,7,opt,name=monster_count,json=monsterCount,proto3" json:"monster_count,omitempty"`
+}
+
+func (x *SceneGallerySalvagePreventInfo) Reset() {
+ *x = SceneGallerySalvagePreventInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGallerySalvagePreventInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGallerySalvagePreventInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGallerySalvagePreventInfo) ProtoMessage() {}
+
+func (x *SceneGallerySalvagePreventInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGallerySalvagePreventInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGallerySalvagePreventInfo.ProtoReflect.Descriptor instead.
+func (*SceneGallerySalvagePreventInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGallerySalvagePreventInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGallerySalvagePreventInfo) GetMonsterCount() uint32 {
+ if x != nil {
+ return x.MonsterCount
+ }
+ return 0
+}
+
+var File_SceneGallerySalvagePreventInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGallerySalvagePreventInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x61,
+ 0x6c, 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x45, 0x0a,
+ 0x1e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x61, 0x6c,
+ 0x76, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGallerySalvagePreventInfo_proto_rawDescOnce sync.Once
+ file_SceneGallerySalvagePreventInfo_proto_rawDescData = file_SceneGallerySalvagePreventInfo_proto_rawDesc
+)
+
+func file_SceneGallerySalvagePreventInfo_proto_rawDescGZIP() []byte {
+ file_SceneGallerySalvagePreventInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGallerySalvagePreventInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGallerySalvagePreventInfo_proto_rawDescData)
+ })
+ return file_SceneGallerySalvagePreventInfo_proto_rawDescData
+}
+
+var file_SceneGallerySalvagePreventInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGallerySalvagePreventInfo_proto_goTypes = []interface{}{
+ (*SceneGallerySalvagePreventInfo)(nil), // 0: proto.SceneGallerySalvagePreventInfo
+}
+var file_SceneGallerySalvagePreventInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGallerySalvagePreventInfo_proto_init() }
+func file_SceneGallerySalvagePreventInfo_proto_init() {
+ if File_SceneGallerySalvagePreventInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGallerySalvagePreventInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGallerySalvagePreventInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGallerySalvagePreventInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGallerySalvagePreventInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGallerySalvagePreventInfo_proto_depIdxs,
+ MessageInfos: file_SceneGallerySalvagePreventInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGallerySalvagePreventInfo_proto = out.File
+ file_SceneGallerySalvagePreventInfo_proto_rawDesc = nil
+ file_SceneGallerySalvagePreventInfo_proto_goTypes = nil
+ file_SceneGallerySalvagePreventInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGallerySummerTimeV2BoatInfo.pb.go b/protocol/proto/SceneGallerySummerTimeV2BoatInfo.pb.go
new file mode 100644
index 00000000..5db8a15f
--- /dev/null
+++ b/protocol/proto/SceneGallerySummerTimeV2BoatInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGallerySummerTimeV2BoatInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGallerySummerTimeV2BoatInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param1 uint32 `protobuf:"varint,15,opt,name=param1,proto3" json:"param1,omitempty"`
+ Param3 uint32 `protobuf:"varint,3,opt,name=param3,proto3" json:"param3,omitempty"`
+ UsedTime uint32 `protobuf:"varint,11,opt,name=used_time,json=usedTime,proto3" json:"used_time,omitempty"`
+ Param2 uint32 `protobuf:"varint,7,opt,name=param2,proto3" json:"param2,omitempty"`
+}
+
+func (x *SceneGallerySummerTimeV2BoatInfo) Reset() {
+ *x = SceneGallerySummerTimeV2BoatInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGallerySummerTimeV2BoatInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGallerySummerTimeV2BoatInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGallerySummerTimeV2BoatInfo) ProtoMessage() {}
+
+func (x *SceneGallerySummerTimeV2BoatInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGallerySummerTimeV2BoatInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGallerySummerTimeV2BoatInfo.ProtoReflect.Descriptor instead.
+func (*SceneGallerySummerTimeV2BoatInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGallerySummerTimeV2BoatInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGallerySummerTimeV2BoatInfo) GetParam1() uint32 {
+ if x != nil {
+ return x.Param1
+ }
+ return 0
+}
+
+func (x *SceneGallerySummerTimeV2BoatInfo) GetParam3() uint32 {
+ if x != nil {
+ return x.Param3
+ }
+ return 0
+}
+
+func (x *SceneGallerySummerTimeV2BoatInfo) GetUsedTime() uint32 {
+ if x != nil {
+ return x.UsedTime
+ }
+ return 0
+}
+
+func (x *SceneGallerySummerTimeV2BoatInfo) GetParam2() uint32 {
+ if x != nil {
+ return x.Param2
+ }
+ return 0
+}
+
+var File_SceneGallerySummerTimeV2BoatInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGallerySummerTimeV2BoatInfo_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x75,
+ 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x87, 0x01, 0x0a, 0x20, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x33, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGallerySummerTimeV2BoatInfo_proto_rawDescOnce sync.Once
+ file_SceneGallerySummerTimeV2BoatInfo_proto_rawDescData = file_SceneGallerySummerTimeV2BoatInfo_proto_rawDesc
+)
+
+func file_SceneGallerySummerTimeV2BoatInfo_proto_rawDescGZIP() []byte {
+ file_SceneGallerySummerTimeV2BoatInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGallerySummerTimeV2BoatInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGallerySummerTimeV2BoatInfo_proto_rawDescData)
+ })
+ return file_SceneGallerySummerTimeV2BoatInfo_proto_rawDescData
+}
+
+var file_SceneGallerySummerTimeV2BoatInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGallerySummerTimeV2BoatInfo_proto_goTypes = []interface{}{
+ (*SceneGallerySummerTimeV2BoatInfo)(nil), // 0: proto.SceneGallerySummerTimeV2BoatInfo
+}
+var file_SceneGallerySummerTimeV2BoatInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGallerySummerTimeV2BoatInfo_proto_init() }
+func file_SceneGallerySummerTimeV2BoatInfo_proto_init() {
+ if File_SceneGallerySummerTimeV2BoatInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGallerySummerTimeV2BoatInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGallerySummerTimeV2BoatInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGallerySummerTimeV2BoatInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGallerySummerTimeV2BoatInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGallerySummerTimeV2BoatInfo_proto_depIdxs,
+ MessageInfos: file_SceneGallerySummerTimeV2BoatInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGallerySummerTimeV2BoatInfo_proto = out.File
+ file_SceneGallerySummerTimeV2BoatInfo_proto_rawDesc = nil
+ file_SceneGallerySummerTimeV2BoatInfo_proto_goTypes = nil
+ file_SceneGallerySummerTimeV2BoatInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGallerySumoInfo.pb.go b/protocol/proto/SceneGallerySumoInfo.pb.go
new file mode 100644
index 00000000..14a2e210
--- /dev/null
+++ b/protocol/proto/SceneGallerySumoInfo.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGallerySumoInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGallerySumoInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Score uint32 `protobuf:"varint,2,opt,name=score,proto3" json:"score,omitempty"`
+ KillNormalMosnterNum uint32 `protobuf:"varint,15,opt,name=kill_normal_mosnter_num,json=killNormalMosnterNum,proto3" json:"kill_normal_mosnter_num,omitempty"`
+ KillEliteMonsterNum uint32 `protobuf:"varint,14,opt,name=kill_elite_monster_num,json=killEliteMonsterNum,proto3" json:"kill_elite_monster_num,omitempty"`
+}
+
+func (x *SceneGallerySumoInfo) Reset() {
+ *x = SceneGallerySumoInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGallerySumoInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGallerySumoInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGallerySumoInfo) ProtoMessage() {}
+
+func (x *SceneGallerySumoInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGallerySumoInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGallerySumoInfo.ProtoReflect.Descriptor instead.
+func (*SceneGallerySumoInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGallerySumoInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGallerySumoInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *SceneGallerySumoInfo) GetKillNormalMosnterNum() uint32 {
+ if x != nil {
+ return x.KillNormalMosnterNum
+ }
+ return 0
+}
+
+func (x *SceneGallerySumoInfo) GetKillEliteMonsterNum() uint32 {
+ if x != nil {
+ return x.KillEliteMonsterNum
+ }
+ return 0
+}
+
+var File_SceneGallerySumoInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGallerySumoInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x75,
+ 0x6d, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x14, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x75, 0x6d, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61,
+ 0x6c, 0x5f, 0x6d, 0x6f, 0x73, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6b, 0x69, 0x6c, 0x6c, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x4d,
+ 0x6f, 0x73, 0x6e, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x33, 0x0a, 0x16, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x5f, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f,
+ 0x6e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6b, 0x69, 0x6c, 0x6c, 0x45,
+ 0x6c, 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SceneGallerySumoInfo_proto_rawDescOnce sync.Once
+ file_SceneGallerySumoInfo_proto_rawDescData = file_SceneGallerySumoInfo_proto_rawDesc
+)
+
+func file_SceneGallerySumoInfo_proto_rawDescGZIP() []byte {
+ file_SceneGallerySumoInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGallerySumoInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGallerySumoInfo_proto_rawDescData)
+ })
+ return file_SceneGallerySumoInfo_proto_rawDescData
+}
+
+var file_SceneGallerySumoInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGallerySumoInfo_proto_goTypes = []interface{}{
+ (*SceneGallerySumoInfo)(nil), // 0: proto.SceneGallerySumoInfo
+}
+var file_SceneGallerySumoInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGallerySumoInfo_proto_init() }
+func file_SceneGallerySumoInfo_proto_init() {
+ if File_SceneGallerySumoInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGallerySumoInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGallerySumoInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGallerySumoInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGallerySumoInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGallerySumoInfo_proto_depIdxs,
+ MessageInfos: file_SceneGallerySumoInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGallerySumoInfo_proto = out.File
+ file_SceneGallerySumoInfo_proto_rawDesc = nil
+ file_SceneGallerySumoInfo_proto_goTypes = nil
+ file_SceneGallerySumoInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryTreasureSeelieInfo.pb.go b/protocol/proto/SceneGalleryTreasureSeelieInfo.pb.go
new file mode 100644
index 00000000..de625107
--- /dev/null
+++ b/protocol/proto/SceneGalleryTreasureSeelieInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryTreasureSeelieInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryTreasureSeelieInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Progress uint32 `protobuf:"varint,15,opt,name=progress,proto3" json:"progress,omitempty"`
+ Goal uint32 `protobuf:"varint,14,opt,name=goal,proto3" json:"goal,omitempty"`
+}
+
+func (x *SceneGalleryTreasureSeelieInfo) Reset() {
+ *x = SceneGalleryTreasureSeelieInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryTreasureSeelieInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryTreasureSeelieInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryTreasureSeelieInfo) ProtoMessage() {}
+
+func (x *SceneGalleryTreasureSeelieInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryTreasureSeelieInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryTreasureSeelieInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryTreasureSeelieInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryTreasureSeelieInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryTreasureSeelieInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *SceneGalleryTreasureSeelieInfo) GetGoal() uint32 {
+ if x != nil {
+ return x.Goal
+ }
+ return 0
+}
+
+var File_SceneGalleryTreasureSeelieInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryTreasureSeelieInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x54, 0x72,
+ 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a,
+ 0x1e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x54, 0x72, 0x65,
+ 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x67,
+ 0x6f, 0x61, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x6f, 0x61, 0x6c, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryTreasureSeelieInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryTreasureSeelieInfo_proto_rawDescData = file_SceneGalleryTreasureSeelieInfo_proto_rawDesc
+)
+
+func file_SceneGalleryTreasureSeelieInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryTreasureSeelieInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryTreasureSeelieInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryTreasureSeelieInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryTreasureSeelieInfo_proto_rawDescData
+}
+
+var file_SceneGalleryTreasureSeelieInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryTreasureSeelieInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryTreasureSeelieInfo)(nil), // 0: proto.SceneGalleryTreasureSeelieInfo
+}
+var file_SceneGalleryTreasureSeelieInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryTreasureSeelieInfo_proto_init() }
+func file_SceneGalleryTreasureSeelieInfo_proto_init() {
+ if File_SceneGalleryTreasureSeelieInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryTreasureSeelieInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryTreasureSeelieInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryTreasureSeelieInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryTreasureSeelieInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryTreasureSeelieInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryTreasureSeelieInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryTreasureSeelieInfo_proto = out.File
+ file_SceneGalleryTreasureSeelieInfo_proto_rawDesc = nil
+ file_SceneGalleryTreasureSeelieInfo_proto_goTypes = nil
+ file_SceneGalleryTreasureSeelieInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryVintageHuntingInfo.pb.go b/protocol/proto/SceneGalleryVintageHuntingInfo.pb.go
new file mode 100644
index 00000000..00b5241c
--- /dev/null
+++ b/protocol/proto/SceneGalleryVintageHuntingInfo.pb.go
@@ -0,0 +1,253 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryVintageHuntingInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryVintageHuntingInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ // Types that are assignable to Info:
+ //
+ // *SceneGalleryVintageHuntingInfo_FirstStageInfo
+ // *SceneGalleryVintageHuntingInfo_SecondStageInfo
+ // *SceneGalleryVintageHuntingInfo_ThirdStageInfo
+ Info isSceneGalleryVintageHuntingInfo_Info `protobuf_oneof:"info"`
+}
+
+func (x *SceneGalleryVintageHuntingInfo) Reset() {
+ *x = SceneGalleryVintageHuntingInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryVintageHuntingInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryVintageHuntingInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryVintageHuntingInfo) ProtoMessage() {}
+
+func (x *SceneGalleryVintageHuntingInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryVintageHuntingInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryVintageHuntingInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryVintageHuntingInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryVintageHuntingInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryVintageHuntingInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (m *SceneGalleryVintageHuntingInfo) GetInfo() isSceneGalleryVintageHuntingInfo_Info {
+ if m != nil {
+ return m.Info
+ }
+ return nil
+}
+
+func (x *SceneGalleryVintageHuntingInfo) GetFirstStageInfo() *VintageHuntingFirstStageInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryVintageHuntingInfo_FirstStageInfo); ok {
+ return x.FirstStageInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryVintageHuntingInfo) GetSecondStageInfo() *VintageHuntingSecondStageInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryVintageHuntingInfo_SecondStageInfo); ok {
+ return x.SecondStageInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryVintageHuntingInfo) GetThirdStageInfo() *VintageHuntingThirdStageInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryVintageHuntingInfo_ThirdStageInfo); ok {
+ return x.ThirdStageInfo
+ }
+ return nil
+}
+
+type isSceneGalleryVintageHuntingInfo_Info interface {
+ isSceneGalleryVintageHuntingInfo_Info()
+}
+
+type SceneGalleryVintageHuntingInfo_FirstStageInfo struct {
+ FirstStageInfo *VintageHuntingFirstStageInfo `protobuf:"bytes,2,opt,name=first_stage_info,json=firstStageInfo,proto3,oneof"`
+}
+
+type SceneGalleryVintageHuntingInfo_SecondStageInfo struct {
+ SecondStageInfo *VintageHuntingSecondStageInfo `protobuf:"bytes,15,opt,name=second_stage_info,json=secondStageInfo,proto3,oneof"`
+}
+
+type SceneGalleryVintageHuntingInfo_ThirdStageInfo struct {
+ ThirdStageInfo *VintageHuntingThirdStageInfo `protobuf:"bytes,12,opt,name=third_stage_info,json=thirdStageInfo,proto3,oneof"`
+}
+
+func (*SceneGalleryVintageHuntingInfo_FirstStageInfo) isSceneGalleryVintageHuntingInfo_Info() {}
+
+func (*SceneGalleryVintageHuntingInfo_SecondStageInfo) isSceneGalleryVintageHuntingInfo_Info() {}
+
+func (*SceneGalleryVintageHuntingInfo_ThirdStageInfo) isSceneGalleryVintageHuntingInfo_Info() {}
+
+var File_SceneGalleryVintageHuntingInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryVintageHuntingInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x56, 0x69,
+ 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x56,
+ 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72,
+ 0x73, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e,
+ 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48,
+ 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x69, 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb9, 0x02, 0x0a, 0x1e, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x56, 0x69, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73,
+ 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x52, 0x0a, 0x11, 0x73, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e,
+ 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x65,
+ 0x63, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4f, 0x0a,
+ 0x10, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x68,
+ 0x69, 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e,
+ 0x74, 0x68, 0x69, 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x06,
+ 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryVintageHuntingInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryVintageHuntingInfo_proto_rawDescData = file_SceneGalleryVintageHuntingInfo_proto_rawDesc
+)
+
+func file_SceneGalleryVintageHuntingInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryVintageHuntingInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryVintageHuntingInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryVintageHuntingInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryVintageHuntingInfo_proto_rawDescData
+}
+
+var file_SceneGalleryVintageHuntingInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryVintageHuntingInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryVintageHuntingInfo)(nil), // 0: proto.SceneGalleryVintageHuntingInfo
+ (*VintageHuntingFirstStageInfo)(nil), // 1: proto.VintageHuntingFirstStageInfo
+ (*VintageHuntingSecondStageInfo)(nil), // 2: proto.VintageHuntingSecondStageInfo
+ (*VintageHuntingThirdStageInfo)(nil), // 3: proto.VintageHuntingThirdStageInfo
+}
+var file_SceneGalleryVintageHuntingInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryVintageHuntingInfo.first_stage_info:type_name -> proto.VintageHuntingFirstStageInfo
+ 2, // 1: proto.SceneGalleryVintageHuntingInfo.second_stage_info:type_name -> proto.VintageHuntingSecondStageInfo
+ 3, // 2: proto.SceneGalleryVintageHuntingInfo.third_stage_info:type_name -> proto.VintageHuntingThirdStageInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryVintageHuntingInfo_proto_init() }
+func file_SceneGalleryVintageHuntingInfo_proto_init() {
+ if File_SceneGalleryVintageHuntingInfo_proto != nil {
+ return
+ }
+ file_VintageHuntingFirstStageInfo_proto_init()
+ file_VintageHuntingSecondStageInfo_proto_init()
+ file_VintageHuntingThirdStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryVintageHuntingInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryVintageHuntingInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_SceneGalleryVintageHuntingInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*SceneGalleryVintageHuntingInfo_FirstStageInfo)(nil),
+ (*SceneGalleryVintageHuntingInfo_SecondStageInfo)(nil),
+ (*SceneGalleryVintageHuntingInfo_ThirdStageInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryVintageHuntingInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryVintageHuntingInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryVintageHuntingInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryVintageHuntingInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryVintageHuntingInfo_proto = out.File
+ file_SceneGalleryVintageHuntingInfo_proto_rawDesc = nil
+ file_SceneGalleryVintageHuntingInfo_proto_goTypes = nil
+ file_SceneGalleryVintageHuntingInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryVintageHuntingSettleNotify.pb.go b/protocol/proto/SceneGalleryVintageHuntingSettleNotify.pb.go
new file mode 100644
index 00000000..736f0bd4
--- /dev/null
+++ b/protocol/proto/SceneGalleryVintageHuntingSettleNotify.pb.go
@@ -0,0 +1,305 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryVintageHuntingSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20324
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneGalleryVintageHuntingSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HasNewWatcher bool `protobuf:"varint,11,opt,name=has_new_watcher,json=hasNewWatcher,proto3" json:"has_new_watcher,omitempty"`
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ TotalWatcherNum uint32 `protobuf:"varint,12,opt,name=total_watcher_num,json=totalWatcherNum,proto3" json:"total_watcher_num,omitempty"`
+ FinishedWatcherNum uint32 `protobuf:"varint,6,opt,name=finished_watcher_num,json=finishedWatcherNum,proto3" json:"finished_watcher_num,omitempty"`
+ IsNewRecord bool `protobuf:"varint,1,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ // Types that are assignable to Info:
+ //
+ // *SceneGalleryVintageHuntingSettleNotify_FirstStageInfo
+ // *SceneGalleryVintageHuntingSettleNotify_SecondStageInfo
+ // *SceneGalleryVintageHuntingSettleNotify_ThirdStageInfo
+ Info isSceneGalleryVintageHuntingSettleNotify_Info `protobuf_oneof:"info"`
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) Reset() {
+ *x = SceneGalleryVintageHuntingSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryVintageHuntingSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryVintageHuntingSettleNotify) ProtoMessage() {}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryVintageHuntingSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryVintageHuntingSettleNotify.ProtoReflect.Descriptor instead.
+func (*SceneGalleryVintageHuntingSettleNotify) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryVintageHuntingSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) GetHasNewWatcher() bool {
+ if x != nil {
+ return x.HasNewWatcher
+ }
+ return false
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) GetTotalWatcherNum() uint32 {
+ if x != nil {
+ return x.TotalWatcherNum
+ }
+ return 0
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) GetFinishedWatcherNum() uint32 {
+ if x != nil {
+ return x.FinishedWatcherNum
+ }
+ return 0
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (m *SceneGalleryVintageHuntingSettleNotify) GetInfo() isSceneGalleryVintageHuntingSettleNotify_Info {
+ if m != nil {
+ return m.Info
+ }
+ return nil
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) GetFirstStageInfo() *VintageHuntingFirstStageSettleInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryVintageHuntingSettleNotify_FirstStageInfo); ok {
+ return x.FirstStageInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) GetSecondStageInfo() *VintageHuntingSecondStageSettleInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryVintageHuntingSettleNotify_SecondStageInfo); ok {
+ return x.SecondStageInfo
+ }
+ return nil
+}
+
+func (x *SceneGalleryVintageHuntingSettleNotify) GetThirdStageInfo() *VintageHuntingThirdStageSettleInfo {
+ if x, ok := x.GetInfo().(*SceneGalleryVintageHuntingSettleNotify_ThirdStageInfo); ok {
+ return x.ThirdStageInfo
+ }
+ return nil
+}
+
+type isSceneGalleryVintageHuntingSettleNotify_Info interface {
+ isSceneGalleryVintageHuntingSettleNotify_Info()
+}
+
+type SceneGalleryVintageHuntingSettleNotify_FirstStageInfo struct {
+ FirstStageInfo *VintageHuntingFirstStageSettleInfo `protobuf:"bytes,4,opt,name=first_stage_info,json=firstStageInfo,proto3,oneof"`
+}
+
+type SceneGalleryVintageHuntingSettleNotify_SecondStageInfo struct {
+ SecondStageInfo *VintageHuntingSecondStageSettleInfo `protobuf:"bytes,10,opt,name=second_stage_info,json=secondStageInfo,proto3,oneof"`
+}
+
+type SceneGalleryVintageHuntingSettleNotify_ThirdStageInfo struct {
+ ThirdStageInfo *VintageHuntingThirdStageSettleInfo `protobuf:"bytes,8,opt,name=third_stage_info,json=thirdStageInfo,proto3,oneof"`
+}
+
+func (*SceneGalleryVintageHuntingSettleNotify_FirstStageInfo) isSceneGalleryVintageHuntingSettleNotify_Info() {
+}
+
+func (*SceneGalleryVintageHuntingSettleNotify_SecondStageInfo) isSceneGalleryVintageHuntingSettleNotify_Info() {
+}
+
+func (*SceneGalleryVintageHuntingSettleNotify_ThirdStageInfo) isSceneGalleryVintageHuntingSettleNotify_Info() {
+}
+
+var File_SceneGalleryVintageHuntingSettleNotify_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryVintageHuntingSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x56, 0x69,
+ 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x29, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53,
+ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x56, 0x69, 0x6e, 0x74,
+ 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x69, 0x72, 0x64, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x03, 0x0a, 0x26, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x26, 0x0a, 0x0f, 0x68, 0x61, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x68, 0x61, 0x73, 0x4e, 0x65, 0x77,
+ 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x77, 0x61, 0x74, 0x63,
+ 0x68, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74,
+ 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x30,
+ 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68,
+ 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4e, 0x75, 0x6d,
+ 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x12, 0x55, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x74,
+ 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53,
+ 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x72,
+ 0x73, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x58, 0x0a, 0x11, 0x73,
+ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48,
+ 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x69, 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x68,
+ 0x69, 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x06, 0x0a, 0x04,
+ 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryVintageHuntingSettleNotify_proto_rawDescOnce sync.Once
+ file_SceneGalleryVintageHuntingSettleNotify_proto_rawDescData = file_SceneGalleryVintageHuntingSettleNotify_proto_rawDesc
+)
+
+func file_SceneGalleryVintageHuntingSettleNotify_proto_rawDescGZIP() []byte {
+ file_SceneGalleryVintageHuntingSettleNotify_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryVintageHuntingSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryVintageHuntingSettleNotify_proto_rawDescData)
+ })
+ return file_SceneGalleryVintageHuntingSettleNotify_proto_rawDescData
+}
+
+var file_SceneGalleryVintageHuntingSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryVintageHuntingSettleNotify_proto_goTypes = []interface{}{
+ (*SceneGalleryVintageHuntingSettleNotify)(nil), // 0: proto.SceneGalleryVintageHuntingSettleNotify
+ (*VintageHuntingFirstStageSettleInfo)(nil), // 1: proto.VintageHuntingFirstStageSettleInfo
+ (*VintageHuntingSecondStageSettleInfo)(nil), // 2: proto.VintageHuntingSecondStageSettleInfo
+ (*VintageHuntingThirdStageSettleInfo)(nil), // 3: proto.VintageHuntingThirdStageSettleInfo
+}
+var file_SceneGalleryVintageHuntingSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneGalleryVintageHuntingSettleNotify.first_stage_info:type_name -> proto.VintageHuntingFirstStageSettleInfo
+ 2, // 1: proto.SceneGalleryVintageHuntingSettleNotify.second_stage_info:type_name -> proto.VintageHuntingSecondStageSettleInfo
+ 3, // 2: proto.SceneGalleryVintageHuntingSettleNotify.third_stage_info:type_name -> proto.VintageHuntingThirdStageSettleInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryVintageHuntingSettleNotify_proto_init() }
+func file_SceneGalleryVintageHuntingSettleNotify_proto_init() {
+ if File_SceneGalleryVintageHuntingSettleNotify_proto != nil {
+ return
+ }
+ file_VintageHuntingFirstStageSettleInfo_proto_init()
+ file_VintageHuntingSecondStageSettleInfo_proto_init()
+ file_VintageHuntingThirdStageSettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryVintageHuntingSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryVintageHuntingSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_SceneGalleryVintageHuntingSettleNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*SceneGalleryVintageHuntingSettleNotify_FirstStageInfo)(nil),
+ (*SceneGalleryVintageHuntingSettleNotify_SecondStageInfo)(nil),
+ (*SceneGalleryVintageHuntingSettleNotify_ThirdStageInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryVintageHuntingSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryVintageHuntingSettleNotify_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryVintageHuntingSettleNotify_proto_depIdxs,
+ MessageInfos: file_SceneGalleryVintageHuntingSettleNotify_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryVintageHuntingSettleNotify_proto = out.File
+ file_SceneGalleryVintageHuntingSettleNotify_proto_rawDesc = nil
+ file_SceneGalleryVintageHuntingSettleNotify_proto_goTypes = nil
+ file_SceneGalleryVintageHuntingSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneGalleryWindFieldInfo.pb.go b/protocol/proto/SceneGalleryWindFieldInfo.pb.go
new file mode 100644
index 00000000..a277cf95
--- /dev/null
+++ b/protocol/proto/SceneGalleryWindFieldInfo.pb.go
@@ -0,0 +1,236 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneGalleryWindFieldInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneGalleryWindFieldInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ KilledMonsterNum uint32 `protobuf:"varint,5,opt,name=killed_monster_num,json=killedMonsterNum,proto3" json:"killed_monster_num,omitempty"`
+ ChallengeBallMaxCount uint32 `protobuf:"varint,12,opt,name=challenge_ball_max_count,json=challengeBallMaxCount,proto3" json:"challenge_ball_max_count,omitempty"`
+ ShowId uint32 `protobuf:"varint,15,opt,name=show_id,json=showId,proto3" json:"show_id,omitempty"`
+ ChallengeTotalTime uint32 `protobuf:"varint,4,opt,name=challenge_total_time,json=challengeTotalTime,proto3" json:"challenge_total_time,omitempty"`
+ ChallengeBallCurCount uint32 `protobuf:"varint,9,opt,name=challenge_ball_cur_count,json=challengeBallCurCount,proto3" json:"challenge_ball_cur_count,omitempty"`
+ CoinNum uint32 `protobuf:"varint,1,opt,name=coin_num,json=coinNum,proto3" json:"coin_num,omitempty"`
+ ChallengeTimestamp uint32 `protobuf:"varint,13,opt,name=challenge_timestamp,json=challengeTimestamp,proto3" json:"challenge_timestamp,omitempty"`
+ ElementBallNum uint32 `protobuf:"varint,10,opt,name=element_ball_num,json=elementBallNum,proto3" json:"element_ball_num,omitempty"`
+}
+
+func (x *SceneGalleryWindFieldInfo) Reset() {
+ *x = SceneGalleryWindFieldInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneGalleryWindFieldInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneGalleryWindFieldInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneGalleryWindFieldInfo) ProtoMessage() {}
+
+func (x *SceneGalleryWindFieldInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneGalleryWindFieldInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneGalleryWindFieldInfo.ProtoReflect.Descriptor instead.
+func (*SceneGalleryWindFieldInfo) Descriptor() ([]byte, []int) {
+ return file_SceneGalleryWindFieldInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneGalleryWindFieldInfo) GetKilledMonsterNum() uint32 {
+ if x != nil {
+ return x.KilledMonsterNum
+ }
+ return 0
+}
+
+func (x *SceneGalleryWindFieldInfo) GetChallengeBallMaxCount() uint32 {
+ if x != nil {
+ return x.ChallengeBallMaxCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryWindFieldInfo) GetShowId() uint32 {
+ if x != nil {
+ return x.ShowId
+ }
+ return 0
+}
+
+func (x *SceneGalleryWindFieldInfo) GetChallengeTotalTime() uint32 {
+ if x != nil {
+ return x.ChallengeTotalTime
+ }
+ return 0
+}
+
+func (x *SceneGalleryWindFieldInfo) GetChallengeBallCurCount() uint32 {
+ if x != nil {
+ return x.ChallengeBallCurCount
+ }
+ return 0
+}
+
+func (x *SceneGalleryWindFieldInfo) GetCoinNum() uint32 {
+ if x != nil {
+ return x.CoinNum
+ }
+ return 0
+}
+
+func (x *SceneGalleryWindFieldInfo) GetChallengeTimestamp() uint32 {
+ if x != nil {
+ return x.ChallengeTimestamp
+ }
+ return 0
+}
+
+func (x *SceneGalleryWindFieldInfo) GetElementBallNum() uint32 {
+ if x != nil {
+ return x.ElementBallNum
+ }
+ return 0
+}
+
+var File_SceneGalleryWindFieldInfo_proto protoreflect.FileDescriptor
+
+var file_SceneGalleryWindFieldInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x57, 0x69,
+ 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x02, 0x0a, 0x19, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64,
+ 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a,
+ 0x07, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x73, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54,
+ 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x72, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x2f, 0x0a, 0x13,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x28, 0x0a,
+ 0x10, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x42, 0x61, 0x6c, 0x6c, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneGalleryWindFieldInfo_proto_rawDescOnce sync.Once
+ file_SceneGalleryWindFieldInfo_proto_rawDescData = file_SceneGalleryWindFieldInfo_proto_rawDesc
+)
+
+func file_SceneGalleryWindFieldInfo_proto_rawDescGZIP() []byte {
+ file_SceneGalleryWindFieldInfo_proto_rawDescOnce.Do(func() {
+ file_SceneGalleryWindFieldInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneGalleryWindFieldInfo_proto_rawDescData)
+ })
+ return file_SceneGalleryWindFieldInfo_proto_rawDescData
+}
+
+var file_SceneGalleryWindFieldInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneGalleryWindFieldInfo_proto_goTypes = []interface{}{
+ (*SceneGalleryWindFieldInfo)(nil), // 0: proto.SceneGalleryWindFieldInfo
+}
+var file_SceneGalleryWindFieldInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneGalleryWindFieldInfo_proto_init() }
+func file_SceneGalleryWindFieldInfo_proto_init() {
+ if File_SceneGalleryWindFieldInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneGalleryWindFieldInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneGalleryWindFieldInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneGalleryWindFieldInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneGalleryWindFieldInfo_proto_goTypes,
+ DependencyIndexes: file_SceneGalleryWindFieldInfo_proto_depIdxs,
+ MessageInfos: file_SceneGalleryWindFieldInfo_proto_msgTypes,
+ }.Build()
+ File_SceneGalleryWindFieldInfo_proto = out.File
+ file_SceneGalleryWindFieldInfo_proto_rawDesc = nil
+ file_SceneGalleryWindFieldInfo_proto_goTypes = nil
+ file_SceneGalleryWindFieldInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneInitFinishReq.pb.go b/protocol/proto/SceneInitFinishReq.pb.go
new file mode 100644
index 00000000..99199b8d
--- /dev/null
+++ b/protocol/proto/SceneInitFinishReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneInitFinishReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 235
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneInitFinishReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterSceneToken uint32 `protobuf:"varint,11,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+}
+
+func (x *SceneInitFinishReq) Reset() {
+ *x = SceneInitFinishReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneInitFinishReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneInitFinishReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneInitFinishReq) ProtoMessage() {}
+
+func (x *SceneInitFinishReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneInitFinishReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneInitFinishReq.ProtoReflect.Descriptor instead.
+func (*SceneInitFinishReq) Descriptor() ([]byte, []int) {
+ return file_SceneInitFinishReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneInitFinishReq) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+var File_SceneInitFinishReq_proto protoreflect.FileDescriptor
+
+var file_SceneInitFinishReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x40, 0x0a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72,
+ 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneInitFinishReq_proto_rawDescOnce sync.Once
+ file_SceneInitFinishReq_proto_rawDescData = file_SceneInitFinishReq_proto_rawDesc
+)
+
+func file_SceneInitFinishReq_proto_rawDescGZIP() []byte {
+ file_SceneInitFinishReq_proto_rawDescOnce.Do(func() {
+ file_SceneInitFinishReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneInitFinishReq_proto_rawDescData)
+ })
+ return file_SceneInitFinishReq_proto_rawDescData
+}
+
+var file_SceneInitFinishReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneInitFinishReq_proto_goTypes = []interface{}{
+ (*SceneInitFinishReq)(nil), // 0: proto.SceneInitFinishReq
+}
+var file_SceneInitFinishReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneInitFinishReq_proto_init() }
+func file_SceneInitFinishReq_proto_init() {
+ if File_SceneInitFinishReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneInitFinishReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneInitFinishReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneInitFinishReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneInitFinishReq_proto_goTypes,
+ DependencyIndexes: file_SceneInitFinishReq_proto_depIdxs,
+ MessageInfos: file_SceneInitFinishReq_proto_msgTypes,
+ }.Build()
+ File_SceneInitFinishReq_proto = out.File
+ file_SceneInitFinishReq_proto_rawDesc = nil
+ file_SceneInitFinishReq_proto_goTypes = nil
+ file_SceneInitFinishReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneInitFinishRsp.pb.go b/protocol/proto/SceneInitFinishRsp.pb.go
new file mode 100644
index 00000000..e098acd6
--- /dev/null
+++ b/protocol/proto/SceneInitFinishRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneInitFinishRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 207
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneInitFinishRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EnterSceneToken uint32 `protobuf:"varint,8,opt,name=enter_scene_token,json=enterSceneToken,proto3" json:"enter_scene_token,omitempty"`
+}
+
+func (x *SceneInitFinishRsp) Reset() {
+ *x = SceneInitFinishRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneInitFinishRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneInitFinishRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneInitFinishRsp) ProtoMessage() {}
+
+func (x *SceneInitFinishRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneInitFinishRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneInitFinishRsp.ProtoReflect.Descriptor instead.
+func (*SceneInitFinishRsp) Descriptor() ([]byte, []int) {
+ return file_SceneInitFinishRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneInitFinishRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SceneInitFinishRsp) GetEnterSceneToken() uint32 {
+ if x != nil {
+ return x.EnterSceneToken
+ }
+ return 0
+}
+
+var File_SceneInitFinishRsp_proto protoreflect.FileDescriptor
+
+var file_SceneInitFinishRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x5a, 0x0a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x6e,
+ 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SceneInitFinishRsp_proto_rawDescOnce sync.Once
+ file_SceneInitFinishRsp_proto_rawDescData = file_SceneInitFinishRsp_proto_rawDesc
+)
+
+func file_SceneInitFinishRsp_proto_rawDescGZIP() []byte {
+ file_SceneInitFinishRsp_proto_rawDescOnce.Do(func() {
+ file_SceneInitFinishRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneInitFinishRsp_proto_rawDescData)
+ })
+ return file_SceneInitFinishRsp_proto_rawDescData
+}
+
+var file_SceneInitFinishRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneInitFinishRsp_proto_goTypes = []interface{}{
+ (*SceneInitFinishRsp)(nil), // 0: proto.SceneInitFinishRsp
+}
+var file_SceneInitFinishRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneInitFinishRsp_proto_init() }
+func file_SceneInitFinishRsp_proto_init() {
+ if File_SceneInitFinishRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneInitFinishRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneInitFinishRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneInitFinishRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneInitFinishRsp_proto_goTypes,
+ DependencyIndexes: file_SceneInitFinishRsp_proto_depIdxs,
+ MessageInfos: file_SceneInitFinishRsp_proto_msgTypes,
+ }.Build()
+ File_SceneInitFinishRsp_proto = out.File
+ file_SceneInitFinishRsp_proto_rawDesc = nil
+ file_SceneInitFinishRsp_proto_goTypes = nil
+ file_SceneInitFinishRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneKickPlayerNotify.pb.go b/protocol/proto/SceneKickPlayerNotify.pb.go
new file mode 100644
index 00000000..8c404c4a
--- /dev/null
+++ b/protocol/proto/SceneKickPlayerNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneKickPlayerNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 211
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneKickPlayerNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,8,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ KickerUid uint32 `protobuf:"varint,9,opt,name=kicker_uid,json=kickerUid,proto3" json:"kicker_uid,omitempty"`
+}
+
+func (x *SceneKickPlayerNotify) Reset() {
+ *x = SceneKickPlayerNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneKickPlayerNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneKickPlayerNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneKickPlayerNotify) ProtoMessage() {}
+
+func (x *SceneKickPlayerNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneKickPlayerNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneKickPlayerNotify.ProtoReflect.Descriptor instead.
+func (*SceneKickPlayerNotify) Descriptor() ([]byte, []int) {
+ return file_SceneKickPlayerNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneKickPlayerNotify) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *SceneKickPlayerNotify) GetKickerUid() uint32 {
+ if x != nil {
+ return x.KickerUid
+ }
+ return 0
+}
+
+var File_SceneKickPlayerNotify_proto protoreflect.FileDescriptor
+
+var file_SceneKickPlayerNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4b, 0x69, 0x63,
+ 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x6b, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x6b, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneKickPlayerNotify_proto_rawDescOnce sync.Once
+ file_SceneKickPlayerNotify_proto_rawDescData = file_SceneKickPlayerNotify_proto_rawDesc
+)
+
+func file_SceneKickPlayerNotify_proto_rawDescGZIP() []byte {
+ file_SceneKickPlayerNotify_proto_rawDescOnce.Do(func() {
+ file_SceneKickPlayerNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneKickPlayerNotify_proto_rawDescData)
+ })
+ return file_SceneKickPlayerNotify_proto_rawDescData
+}
+
+var file_SceneKickPlayerNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneKickPlayerNotify_proto_goTypes = []interface{}{
+ (*SceneKickPlayerNotify)(nil), // 0: proto.SceneKickPlayerNotify
+}
+var file_SceneKickPlayerNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneKickPlayerNotify_proto_init() }
+func file_SceneKickPlayerNotify_proto_init() {
+ if File_SceneKickPlayerNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneKickPlayerNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneKickPlayerNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneKickPlayerNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneKickPlayerNotify_proto_goTypes,
+ DependencyIndexes: file_SceneKickPlayerNotify_proto_depIdxs,
+ MessageInfos: file_SceneKickPlayerNotify_proto_msgTypes,
+ }.Build()
+ File_SceneKickPlayerNotify_proto = out.File
+ file_SceneKickPlayerNotify_proto_rawDesc = nil
+ file_SceneKickPlayerNotify_proto_goTypes = nil
+ file_SceneKickPlayerNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneKickPlayerReq.pb.go b/protocol/proto/SceneKickPlayerReq.pb.go
new file mode 100644
index 00000000..48be0ae3
--- /dev/null
+++ b/protocol/proto/SceneKickPlayerReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneKickPlayerReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 264
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneKickPlayerReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,6,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *SceneKickPlayerReq) Reset() {
+ *x = SceneKickPlayerReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneKickPlayerReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneKickPlayerReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneKickPlayerReq) ProtoMessage() {}
+
+func (x *SceneKickPlayerReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneKickPlayerReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneKickPlayerReq.ProtoReflect.Descriptor instead.
+func (*SceneKickPlayerReq) Descriptor() ([]byte, []int) {
+ return file_SceneKickPlayerReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneKickPlayerReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_SceneKickPlayerReq_proto protoreflect.FileDescriptor
+
+var file_SceneKickPlayerReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x33, 0x0a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72,
+ 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneKickPlayerReq_proto_rawDescOnce sync.Once
+ file_SceneKickPlayerReq_proto_rawDescData = file_SceneKickPlayerReq_proto_rawDesc
+)
+
+func file_SceneKickPlayerReq_proto_rawDescGZIP() []byte {
+ file_SceneKickPlayerReq_proto_rawDescOnce.Do(func() {
+ file_SceneKickPlayerReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneKickPlayerReq_proto_rawDescData)
+ })
+ return file_SceneKickPlayerReq_proto_rawDescData
+}
+
+var file_SceneKickPlayerReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneKickPlayerReq_proto_goTypes = []interface{}{
+ (*SceneKickPlayerReq)(nil), // 0: proto.SceneKickPlayerReq
+}
+var file_SceneKickPlayerReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneKickPlayerReq_proto_init() }
+func file_SceneKickPlayerReq_proto_init() {
+ if File_SceneKickPlayerReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneKickPlayerReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneKickPlayerReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneKickPlayerReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneKickPlayerReq_proto_goTypes,
+ DependencyIndexes: file_SceneKickPlayerReq_proto_depIdxs,
+ MessageInfos: file_SceneKickPlayerReq_proto_msgTypes,
+ }.Build()
+ File_SceneKickPlayerReq_proto = out.File
+ file_SceneKickPlayerReq_proto_rawDesc = nil
+ file_SceneKickPlayerReq_proto_goTypes = nil
+ file_SceneKickPlayerReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneKickPlayerRsp.pb.go b/protocol/proto/SceneKickPlayerRsp.pb.go
new file mode 100644
index 00000000..2456d420
--- /dev/null
+++ b/protocol/proto/SceneKickPlayerRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneKickPlayerRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 238
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneKickPlayerRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TargetUid uint32 `protobuf:"varint,10,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+}
+
+func (x *SceneKickPlayerRsp) Reset() {
+ *x = SceneKickPlayerRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneKickPlayerRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneKickPlayerRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneKickPlayerRsp) ProtoMessage() {}
+
+func (x *SceneKickPlayerRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneKickPlayerRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneKickPlayerRsp.ProtoReflect.Descriptor instead.
+func (*SceneKickPlayerRsp) Descriptor() ([]byte, []int) {
+ return file_SceneKickPlayerRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneKickPlayerRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SceneKickPlayerRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+var File_SceneKickPlayerRsp_proto protoreflect.FileDescriptor
+
+var file_SceneKickPlayerRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x4d, 0x0a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4b, 0x69, 0x63, 0x6b, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneKickPlayerRsp_proto_rawDescOnce sync.Once
+ file_SceneKickPlayerRsp_proto_rawDescData = file_SceneKickPlayerRsp_proto_rawDesc
+)
+
+func file_SceneKickPlayerRsp_proto_rawDescGZIP() []byte {
+ file_SceneKickPlayerRsp_proto_rawDescOnce.Do(func() {
+ file_SceneKickPlayerRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneKickPlayerRsp_proto_rawDescData)
+ })
+ return file_SceneKickPlayerRsp_proto_rawDescData
+}
+
+var file_SceneKickPlayerRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneKickPlayerRsp_proto_goTypes = []interface{}{
+ (*SceneKickPlayerRsp)(nil), // 0: proto.SceneKickPlayerRsp
+}
+var file_SceneKickPlayerRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneKickPlayerRsp_proto_init() }
+func file_SceneKickPlayerRsp_proto_init() {
+ if File_SceneKickPlayerRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneKickPlayerRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneKickPlayerRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneKickPlayerRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneKickPlayerRsp_proto_goTypes,
+ DependencyIndexes: file_SceneKickPlayerRsp_proto_depIdxs,
+ MessageInfos: file_SceneKickPlayerRsp_proto_msgTypes,
+ }.Build()
+ File_SceneKickPlayerRsp_proto = out.File
+ file_SceneKickPlayerRsp_proto_rawDesc = nil
+ file_SceneKickPlayerRsp_proto_goTypes = nil
+ file_SceneKickPlayerRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneMonsterInfo.pb.go b/protocol/proto/SceneMonsterInfo.pb.go
new file mode 100644
index 00000000..757260b8
--- /dev/null
+++ b/protocol/proto/SceneMonsterInfo.pb.go
@@ -0,0 +1,469 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneMonsterInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneMonsterInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterId uint32 `protobuf:"varint,1,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,3,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ WeaponList []*SceneWeaponInfo `protobuf:"bytes,4,rep,name=weapon_list,json=weaponList,proto3" json:"weapon_list,omitempty"`
+ AuthorityPeerId uint32 `protobuf:"varint,5,opt,name=authority_peer_id,json=authorityPeerId,proto3" json:"authority_peer_id,omitempty"`
+ AffixList []uint32 `protobuf:"varint,6,rep,packed,name=affix_list,json=affixList,proto3" json:"affix_list,omitempty"`
+ IsElite bool `protobuf:"varint,7,opt,name=is_elite,json=isElite,proto3" json:"is_elite,omitempty"`
+ OwnerEntityId uint32 `protobuf:"varint,8,opt,name=owner_entity_id,json=ownerEntityId,proto3" json:"owner_entity_id,omitempty"`
+ SummonedTag uint32 `protobuf:"varint,9,opt,name=summoned_tag,json=summonedTag,proto3" json:"summoned_tag,omitempty"`
+ SummonTagMap map[uint32]uint32 `protobuf:"bytes,10,rep,name=summon_tag_map,json=summonTagMap,proto3" json:"summon_tag_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ PoseId uint32 `protobuf:"varint,11,opt,name=pose_id,json=poseId,proto3" json:"pose_id,omitempty"`
+ BornType MonsterBornType `protobuf:"varint,12,opt,name=born_type,json=bornType,proto3,enum=proto.MonsterBornType" json:"born_type,omitempty"`
+ BlockId uint32 `protobuf:"varint,13,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+ MarkFlag uint32 `protobuf:"varint,14,opt,name=mark_flag,json=markFlag,proto3" json:"mark_flag,omitempty"`
+ TitleId uint32 `protobuf:"varint,15,opt,name=title_id,json=titleId,proto3" json:"title_id,omitempty"`
+ SpecialNameId uint32 `protobuf:"varint,16,opt,name=special_name_id,json=specialNameId,proto3" json:"special_name_id,omitempty"`
+ AttackTargetId uint32 `protobuf:"varint,17,opt,name=attack_target_id,json=attackTargetId,proto3" json:"attack_target_id,omitempty"`
+ MonsterRoute *MonsterRoute `protobuf:"bytes,18,opt,name=monster_route,json=monsterRoute,proto3" json:"monster_route,omitempty"`
+ AiConfigId uint32 `protobuf:"varint,19,opt,name=ai_config_id,json=aiConfigId,proto3" json:"ai_config_id,omitempty"`
+ LevelRouteId uint32 `protobuf:"varint,20,opt,name=level_route_id,json=levelRouteId,proto3" json:"level_route_id,omitempty"`
+ InitPoseId uint32 `protobuf:"varint,21,opt,name=init_pose_id,json=initPoseId,proto3" json:"init_pose_id,omitempty"`
+ IsLight bool `protobuf:"varint,22,opt,name=is_light,json=isLight,proto3" json:"is_light,omitempty"`
+ KillNum uint32 `protobuf:"varint,23,opt,name=kill_num,json=killNum,proto3" json:"kill_num,omitempty"`
+ // Types that are assignable to Content:
+ //
+ // *SceneMonsterInfo_FishInfo
+ // *SceneMonsterInfo_FishtankFishInfo
+ Content isSceneMonsterInfo_Content `protobuf_oneof:"content"`
+}
+
+func (x *SceneMonsterInfo) Reset() {
+ *x = SceneMonsterInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneMonsterInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneMonsterInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneMonsterInfo) ProtoMessage() {}
+
+func (x *SceneMonsterInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneMonsterInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneMonsterInfo.ProtoReflect.Descriptor instead.
+func (*SceneMonsterInfo) Descriptor() ([]byte, []int) {
+ return file_SceneMonsterInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneMonsterInfo) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetWeaponList() []*SceneWeaponInfo {
+ if x != nil {
+ return x.WeaponList
+ }
+ return nil
+}
+
+func (x *SceneMonsterInfo) GetAuthorityPeerId() uint32 {
+ if x != nil {
+ return x.AuthorityPeerId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetAffixList() []uint32 {
+ if x != nil {
+ return x.AffixList
+ }
+ return nil
+}
+
+func (x *SceneMonsterInfo) GetIsElite() bool {
+ if x != nil {
+ return x.IsElite
+ }
+ return false
+}
+
+func (x *SceneMonsterInfo) GetOwnerEntityId() uint32 {
+ if x != nil {
+ return x.OwnerEntityId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetSummonedTag() uint32 {
+ if x != nil {
+ return x.SummonedTag
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetSummonTagMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SummonTagMap
+ }
+ return nil
+}
+
+func (x *SceneMonsterInfo) GetPoseId() uint32 {
+ if x != nil {
+ return x.PoseId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetBornType() MonsterBornType {
+ if x != nil {
+ return x.BornType
+ }
+ return MonsterBornType_MONSTER_BORN_TYPE_NONE
+}
+
+func (x *SceneMonsterInfo) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetMarkFlag() uint32 {
+ if x != nil {
+ return x.MarkFlag
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetTitleId() uint32 {
+ if x != nil {
+ return x.TitleId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetSpecialNameId() uint32 {
+ if x != nil {
+ return x.SpecialNameId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetAttackTargetId() uint32 {
+ if x != nil {
+ return x.AttackTargetId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetMonsterRoute() *MonsterRoute {
+ if x != nil {
+ return x.MonsterRoute
+ }
+ return nil
+}
+
+func (x *SceneMonsterInfo) GetAiConfigId() uint32 {
+ if x != nil {
+ return x.AiConfigId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetLevelRouteId() uint32 {
+ if x != nil {
+ return x.LevelRouteId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetInitPoseId() uint32 {
+ if x != nil {
+ return x.InitPoseId
+ }
+ return 0
+}
+
+func (x *SceneMonsterInfo) GetIsLight() bool {
+ if x != nil {
+ return x.IsLight
+ }
+ return false
+}
+
+func (x *SceneMonsterInfo) GetKillNum() uint32 {
+ if x != nil {
+ return x.KillNum
+ }
+ return 0
+}
+
+func (m *SceneMonsterInfo) GetContent() isSceneMonsterInfo_Content {
+ if m != nil {
+ return m.Content
+ }
+ return nil
+}
+
+func (x *SceneMonsterInfo) GetFishInfo() *SceneFishInfo {
+ if x, ok := x.GetContent().(*SceneMonsterInfo_FishInfo); ok {
+ return x.FishInfo
+ }
+ return nil
+}
+
+func (x *SceneMonsterInfo) GetFishtankFishInfo() *FishtankFishInfo {
+ if x, ok := x.GetContent().(*SceneMonsterInfo_FishtankFishInfo); ok {
+ return x.FishtankFishInfo
+ }
+ return nil
+}
+
+type isSceneMonsterInfo_Content interface {
+ isSceneMonsterInfo_Content()
+}
+
+type SceneMonsterInfo_FishInfo struct {
+ FishInfo *SceneFishInfo `protobuf:"bytes,50,opt,name=fish_info,json=fishInfo,proto3,oneof"`
+}
+
+type SceneMonsterInfo_FishtankFishInfo struct {
+ FishtankFishInfo *FishtankFishInfo `protobuf:"bytes,51,opt,name=fishtank_fish_info,json=fishtankFishInfo,proto3,oneof"`
+}
+
+func (*SceneMonsterInfo_FishInfo) isSceneMonsterInfo_Content() {}
+
+func (*SceneMonsterInfo_FishtankFishInfo) isSceneMonsterInfo_Content() {}
+
+var File_SceneMonsterInfo_proto protoreflect.FileDescriptor
+
+var file_SceneMonsterInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x46, 0x69, 0x73, 0x68, 0x74, 0x61, 0x6e, 0x6b, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12,
+ 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x13, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65,
+ 0x61, 0x70, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb,
+ 0x08, 0x0a, 0x10, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72,
+ 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x0b, 0x77, 0x65,
+ 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61,
+ 0x70, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79,
+ 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19,
+ 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x07, 0x69, 0x73, 0x45, 0x6c, 0x69, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x77, 0x6e,
+ 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0d, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x61,
+ 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x65,
+ 0x64, 0x54, 0x61, 0x67, 0x12, 0x4f, 0x0a, 0x0e, 0x73, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74,
+ 0x61, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x67, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x54,
+ 0x61, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x12, 0x33,
+ 0x0a, 0x09, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65,
+ 0x72, 0x42, 0x6f, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x62, 0x6f, 0x72, 0x6e, 0x54,
+ 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x72, 0x6b, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x74,
+ 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74,
+ 0x69, 0x74, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61,
+ 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x28,
+ 0x0a, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b,
+ 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52,
+ 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x75,
+ 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
+ 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x69, 0x43, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x6f,
+ 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x6e,
+ 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x69, 0x6e, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
+ 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
+ 0x69, 0x73, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x5f,
+ 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6b, 0x69, 0x6c, 0x6c, 0x4e,
+ 0x75, 0x6d, 0x12, 0x33, 0x0a, 0x09, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x66,
+ 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x12, 0x66, 0x69, 0x73, 0x68, 0x74,
+ 0x61, 0x6e, 0x6b, 0x5f, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x33, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x73, 0x68,
+ 0x74, 0x61, 0x6e, 0x6b, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x10,
+ 0x66, 0x69, 0x73, 0x68, 0x74, 0x61, 0x6e, 0x6b, 0x46, 0x69, 0x73, 0x68, 0x49, 0x6e, 0x66, 0x6f,
+ 0x1a, 0x3f, 0x0a, 0x11, 0x53, 0x75, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x67, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneMonsterInfo_proto_rawDescOnce sync.Once
+ file_SceneMonsterInfo_proto_rawDescData = file_SceneMonsterInfo_proto_rawDesc
+)
+
+func file_SceneMonsterInfo_proto_rawDescGZIP() []byte {
+ file_SceneMonsterInfo_proto_rawDescOnce.Do(func() {
+ file_SceneMonsterInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneMonsterInfo_proto_rawDescData)
+ })
+ return file_SceneMonsterInfo_proto_rawDescData
+}
+
+var file_SceneMonsterInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SceneMonsterInfo_proto_goTypes = []interface{}{
+ (*SceneMonsterInfo)(nil), // 0: proto.SceneMonsterInfo
+ nil, // 1: proto.SceneMonsterInfo.SummonTagMapEntry
+ (*SceneWeaponInfo)(nil), // 2: proto.SceneWeaponInfo
+ (MonsterBornType)(0), // 3: proto.MonsterBornType
+ (*MonsterRoute)(nil), // 4: proto.MonsterRoute
+ (*SceneFishInfo)(nil), // 5: proto.SceneFishInfo
+ (*FishtankFishInfo)(nil), // 6: proto.FishtankFishInfo
+}
+var file_SceneMonsterInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.SceneMonsterInfo.weapon_list:type_name -> proto.SceneWeaponInfo
+ 1, // 1: proto.SceneMonsterInfo.summon_tag_map:type_name -> proto.SceneMonsterInfo.SummonTagMapEntry
+ 3, // 2: proto.SceneMonsterInfo.born_type:type_name -> proto.MonsterBornType
+ 4, // 3: proto.SceneMonsterInfo.monster_route:type_name -> proto.MonsterRoute
+ 5, // 4: proto.SceneMonsterInfo.fish_info:type_name -> proto.SceneFishInfo
+ 6, // 5: proto.SceneMonsterInfo.fishtank_fish_info:type_name -> proto.FishtankFishInfo
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_SceneMonsterInfo_proto_init() }
+func file_SceneMonsterInfo_proto_init() {
+ if File_SceneMonsterInfo_proto != nil {
+ return
+ }
+ file_FishtankFishInfo_proto_init()
+ file_MonsterBornType_proto_init()
+ file_MonsterRoute_proto_init()
+ file_SceneFishInfo_proto_init()
+ file_SceneWeaponInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneMonsterInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneMonsterInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_SceneMonsterInfo_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*SceneMonsterInfo_FishInfo)(nil),
+ (*SceneMonsterInfo_FishtankFishInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneMonsterInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneMonsterInfo_proto_goTypes,
+ DependencyIndexes: file_SceneMonsterInfo_proto_depIdxs,
+ MessageInfos: file_SceneMonsterInfo_proto_msgTypes,
+ }.Build()
+ File_SceneMonsterInfo_proto = out.File
+ file_SceneMonsterInfo_proto_rawDesc = nil
+ file_SceneMonsterInfo_proto_goTypes = nil
+ file_SceneMonsterInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneNpcInfo.pb.go b/protocol/proto/SceneNpcInfo.pb.go
new file mode 100644
index 00000000..5bafe2ed
--- /dev/null
+++ b/protocol/proto/SceneNpcInfo.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneNpcInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneNpcInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NpcId uint32 `protobuf:"varint,1,opt,name=npc_id,json=npcId,proto3" json:"npc_id,omitempty"`
+ RoomId uint32 `protobuf:"varint,2,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ ParentQuestId uint32 `protobuf:"varint,3,opt,name=parent_quest_id,json=parentQuestId,proto3" json:"parent_quest_id,omitempty"`
+ BlockId uint32 `protobuf:"varint,4,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
+}
+
+func (x *SceneNpcInfo) Reset() {
+ *x = SceneNpcInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneNpcInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneNpcInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneNpcInfo) ProtoMessage() {}
+
+func (x *SceneNpcInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneNpcInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneNpcInfo.ProtoReflect.Descriptor instead.
+func (*SceneNpcInfo) Descriptor() ([]byte, []int) {
+ return file_SceneNpcInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneNpcInfo) GetNpcId() uint32 {
+ if x != nil {
+ return x.NpcId
+ }
+ return 0
+}
+
+func (x *SceneNpcInfo) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *SceneNpcInfo) GetParentQuestId() uint32 {
+ if x != nil {
+ return x.ParentQuestId
+ }
+ return 0
+}
+
+func (x *SceneNpcInfo) GetBlockId() uint32 {
+ if x != nil {
+ return x.BlockId
+ }
+ return 0
+}
+
+var File_SceneNpcInfo_proto protoreflect.FileDescriptor
+
+var file_SceneNpcInfo_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x0c,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x4e, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06,
+ 0x6e, 0x70, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x70,
+ 0x63, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneNpcInfo_proto_rawDescOnce sync.Once
+ file_SceneNpcInfo_proto_rawDescData = file_SceneNpcInfo_proto_rawDesc
+)
+
+func file_SceneNpcInfo_proto_rawDescGZIP() []byte {
+ file_SceneNpcInfo_proto_rawDescOnce.Do(func() {
+ file_SceneNpcInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneNpcInfo_proto_rawDescData)
+ })
+ return file_SceneNpcInfo_proto_rawDescData
+}
+
+var file_SceneNpcInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneNpcInfo_proto_goTypes = []interface{}{
+ (*SceneNpcInfo)(nil), // 0: proto.SceneNpcInfo
+}
+var file_SceneNpcInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneNpcInfo_proto_init() }
+func file_SceneNpcInfo_proto_init() {
+ if File_SceneNpcInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneNpcInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneNpcInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneNpcInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneNpcInfo_proto_goTypes,
+ DependencyIndexes: file_SceneNpcInfo_proto_depIdxs,
+ MessageInfos: file_SceneNpcInfo_proto_msgTypes,
+ }.Build()
+ File_SceneNpcInfo_proto = out.File
+ file_SceneNpcInfo_proto_rawDesc = nil
+ file_SceneNpcInfo_proto_goTypes = nil
+ file_SceneNpcInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayBattleInfo.pb.go b/protocol/proto/ScenePlayBattleInfo.pb.go
new file mode 100644
index 00000000..1249375c
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleInfo.pb.go
@@ -0,0 +1,248 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayBattleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ScenePlayBattleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Mode uint32 `protobuf:"varint,4,opt,name=mode,proto3" json:"mode,omitempty"`
+ ProgressStageList []uint32 `protobuf:"varint,3,rep,packed,name=progress_stage_list,json=progressStageList,proto3" json:"progress_stage_list,omitempty"`
+ StartTime uint32 `protobuf:"varint,10,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ Duration uint32 `protobuf:"varint,14,opt,name=duration,proto3" json:"duration,omitempty"`
+ PlayType uint32 `protobuf:"varint,12,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ PlayId uint32 `protobuf:"varint,1,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+ PrepareEndTime uint32 `protobuf:"varint,7,opt,name=prepare_end_time,json=prepareEndTime,proto3" json:"prepare_end_time,omitempty"`
+ Progress uint32 `protobuf:"varint,11,opt,name=progress,proto3" json:"progress,omitempty"`
+ State uint32 `protobuf:"varint,8,opt,name=state,proto3" json:"state,omitempty"`
+ Type uint32 `protobuf:"varint,9,opt,name=type,proto3" json:"type,omitempty"`
+}
+
+func (x *ScenePlayBattleInfo) Reset() {
+ *x = ScenePlayBattleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayBattleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayBattleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayBattleInfo) ProtoMessage() {}
+
+func (x *ScenePlayBattleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayBattleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayBattleInfo.ProtoReflect.Descriptor instead.
+func (*ScenePlayBattleInfo) Descriptor() ([]byte, []int) {
+ return file_ScenePlayBattleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayBattleInfo) GetMode() uint32 {
+ if x != nil {
+ return x.Mode
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInfo) GetProgressStageList() []uint32 {
+ if x != nil {
+ return x.ProgressStageList
+ }
+ return nil
+}
+
+func (x *ScenePlayBattleInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInfo) GetDuration() uint32 {
+ if x != nil {
+ return x.Duration
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInfo) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInfo) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInfo) GetPrepareEndTime() uint32 {
+ if x != nil {
+ return x.PrepareEndTime
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInfo) GetState() uint32 {
+ if x != nil {
+ return x.State
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInfo) GetType() uint32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+var File_ScenePlayBattleInfo_proto protoreflect.FileDescriptor
+
+var file_ScenePlayBattleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xba, 0x02, 0x0a, 0x13, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f,
+ 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x2e,
+ 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
+ 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61,
+ 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6c,
+ 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12,
+ 0x28, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x70, 0x61,
+ 0x72, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f,
+ 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayBattleInfo_proto_rawDescOnce sync.Once
+ file_ScenePlayBattleInfo_proto_rawDescData = file_ScenePlayBattleInfo_proto_rawDesc
+)
+
+func file_ScenePlayBattleInfo_proto_rawDescGZIP() []byte {
+ file_ScenePlayBattleInfo_proto_rawDescOnce.Do(func() {
+ file_ScenePlayBattleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayBattleInfo_proto_rawDescData)
+ })
+ return file_ScenePlayBattleInfo_proto_rawDescData
+}
+
+var file_ScenePlayBattleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayBattleInfo_proto_goTypes = []interface{}{
+ (*ScenePlayBattleInfo)(nil), // 0: proto.ScenePlayBattleInfo
+}
+var file_ScenePlayBattleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayBattleInfo_proto_init() }
+func file_ScenePlayBattleInfo_proto_init() {
+ if File_ScenePlayBattleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayBattleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayBattleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayBattleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayBattleInfo_proto_goTypes,
+ DependencyIndexes: file_ScenePlayBattleInfo_proto_depIdxs,
+ MessageInfos: file_ScenePlayBattleInfo_proto_msgTypes,
+ }.Build()
+ File_ScenePlayBattleInfo_proto = out.File
+ file_ScenePlayBattleInfo_proto_rawDesc = nil
+ file_ScenePlayBattleInfo_proto_goTypes = nil
+ file_ScenePlayBattleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayBattleInfoListNotify.pb.go b/protocol/proto/ScenePlayBattleInfoListNotify.pb.go
new file mode 100644
index 00000000..0ec8c9fa
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleInfoListNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayBattleInfoListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4431
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayBattleInfoListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BattleInfoList []*ScenePlayBattleInfo `protobuf:"bytes,12,rep,name=battle_info_list,json=battleInfoList,proto3" json:"battle_info_list,omitempty"`
+}
+
+func (x *ScenePlayBattleInfoListNotify) Reset() {
+ *x = ScenePlayBattleInfoListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayBattleInfoListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayBattleInfoListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayBattleInfoListNotify) ProtoMessage() {}
+
+func (x *ScenePlayBattleInfoListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayBattleInfoListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayBattleInfoListNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayBattleInfoListNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayBattleInfoListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayBattleInfoListNotify) GetBattleInfoList() []*ScenePlayBattleInfo {
+ if x != nil {
+ return x.BattleInfoList
+ }
+ return nil
+}
+
+var File_ScenePlayBattleInfoListNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayBattleInfoListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x44, 0x0a, 0x10, 0x62, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e,
+ 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayBattleInfoListNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayBattleInfoListNotify_proto_rawDescData = file_ScenePlayBattleInfoListNotify_proto_rawDesc
+)
+
+func file_ScenePlayBattleInfoListNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayBattleInfoListNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayBattleInfoListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayBattleInfoListNotify_proto_rawDescData)
+ })
+ return file_ScenePlayBattleInfoListNotify_proto_rawDescData
+}
+
+var file_ScenePlayBattleInfoListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayBattleInfoListNotify_proto_goTypes = []interface{}{
+ (*ScenePlayBattleInfoListNotify)(nil), // 0: proto.ScenePlayBattleInfoListNotify
+ (*ScenePlayBattleInfo)(nil), // 1: proto.ScenePlayBattleInfo
+}
+var file_ScenePlayBattleInfoListNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayBattleInfoListNotify.battle_info_list:type_name -> proto.ScenePlayBattleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayBattleInfoListNotify_proto_init() }
+func file_ScenePlayBattleInfoListNotify_proto_init() {
+ if File_ScenePlayBattleInfoListNotify_proto != nil {
+ return
+ }
+ file_ScenePlayBattleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayBattleInfoListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayBattleInfoListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayBattleInfoListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayBattleInfoListNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayBattleInfoListNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayBattleInfoListNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayBattleInfoListNotify_proto = out.File
+ file_ScenePlayBattleInfoListNotify_proto_rawDesc = nil
+ file_ScenePlayBattleInfoListNotify_proto_goTypes = nil
+ file_ScenePlayBattleInfoListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayBattleInfoNotify.pb.go b/protocol/proto/ScenePlayBattleInfoNotify.pb.go
new file mode 100644
index 00000000..e50d97d0
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleInfoNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayBattleInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4422
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayBattleInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BattleInfo *ScenePlayBattleInfo `protobuf:"bytes,11,opt,name=battle_info,json=battleInfo,proto3" json:"battle_info,omitempty"`
+}
+
+func (x *ScenePlayBattleInfoNotify) Reset() {
+ *x = ScenePlayBattleInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayBattleInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayBattleInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayBattleInfoNotify) ProtoMessage() {}
+
+func (x *ScenePlayBattleInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayBattleInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayBattleInfoNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayBattleInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayBattleInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayBattleInfoNotify) GetBattleInfo() *ScenePlayBattleInfo {
+ if x != nil {
+ return x.BattleInfo
+ }
+ return nil
+}
+
+var File_ScenePlayBattleInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayBattleInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50,
+ 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x19, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x3b, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ScenePlayBattleInfoNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayBattleInfoNotify_proto_rawDescData = file_ScenePlayBattleInfoNotify_proto_rawDesc
+)
+
+func file_ScenePlayBattleInfoNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayBattleInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayBattleInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayBattleInfoNotify_proto_rawDescData)
+ })
+ return file_ScenePlayBattleInfoNotify_proto_rawDescData
+}
+
+var file_ScenePlayBattleInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayBattleInfoNotify_proto_goTypes = []interface{}{
+ (*ScenePlayBattleInfoNotify)(nil), // 0: proto.ScenePlayBattleInfoNotify
+ (*ScenePlayBattleInfo)(nil), // 1: proto.ScenePlayBattleInfo
+}
+var file_ScenePlayBattleInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayBattleInfoNotify.battle_info:type_name -> proto.ScenePlayBattleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayBattleInfoNotify_proto_init() }
+func file_ScenePlayBattleInfoNotify_proto_init() {
+ if File_ScenePlayBattleInfoNotify_proto != nil {
+ return
+ }
+ file_ScenePlayBattleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayBattleInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayBattleInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayBattleInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayBattleInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayBattleInfoNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayBattleInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayBattleInfoNotify_proto = out.File
+ file_ScenePlayBattleInfoNotify_proto_rawDesc = nil
+ file_ScenePlayBattleInfoNotify_proto_goTypes = nil
+ file_ScenePlayBattleInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayBattleInterruptNotify.pb.go b/protocol/proto/ScenePlayBattleInterruptNotify.pb.go
new file mode 100644
index 00000000..e8e60c27
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleInterruptNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayBattleInterruptNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4425
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayBattleInterruptNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InterruptState uint32 `protobuf:"varint,6,opt,name=interrupt_state,json=interruptState,proto3" json:"interrupt_state,omitempty"`
+ PlayId uint32 `protobuf:"varint,5,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+ PlayType uint32 `protobuf:"varint,1,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+}
+
+func (x *ScenePlayBattleInterruptNotify) Reset() {
+ *x = ScenePlayBattleInterruptNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayBattleInterruptNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayBattleInterruptNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayBattleInterruptNotify) ProtoMessage() {}
+
+func (x *ScenePlayBattleInterruptNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayBattleInterruptNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayBattleInterruptNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayBattleInterruptNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayBattleInterruptNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayBattleInterruptNotify) GetInterruptState() uint32 {
+ if x != nil {
+ return x.InterruptState
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInterruptNotify) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleInterruptNotify) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+var File_ScenePlayBattleInterruptNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayBattleInterruptNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a,
+ 0x1e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72,
+ 0x75, 0x70, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayBattleInterruptNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayBattleInterruptNotify_proto_rawDescData = file_ScenePlayBattleInterruptNotify_proto_rawDesc
+)
+
+func file_ScenePlayBattleInterruptNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayBattleInterruptNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayBattleInterruptNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayBattleInterruptNotify_proto_rawDescData)
+ })
+ return file_ScenePlayBattleInterruptNotify_proto_rawDescData
+}
+
+var file_ScenePlayBattleInterruptNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayBattleInterruptNotify_proto_goTypes = []interface{}{
+ (*ScenePlayBattleInterruptNotify)(nil), // 0: proto.ScenePlayBattleInterruptNotify
+}
+var file_ScenePlayBattleInterruptNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayBattleInterruptNotify_proto_init() }
+func file_ScenePlayBattleInterruptNotify_proto_init() {
+ if File_ScenePlayBattleInterruptNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayBattleInterruptNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayBattleInterruptNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayBattleInterruptNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayBattleInterruptNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayBattleInterruptNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayBattleInterruptNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayBattleInterruptNotify_proto = out.File
+ file_ScenePlayBattleInterruptNotify_proto_rawDesc = nil
+ file_ScenePlayBattleInterruptNotify_proto_goTypes = nil
+ file_ScenePlayBattleInterruptNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayBattleResultNotify.pb.go b/protocol/proto/ScenePlayBattleResultNotify.pb.go
new file mode 100644
index 00000000..8bc0b600
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleResultNotify.pb.go
@@ -0,0 +1,231 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayBattleResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4398
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayBattleResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsWin bool `protobuf:"varint,1,opt,name=is_win,json=isWin,proto3" json:"is_win,omitempty"`
+ CostTime uint32 `protobuf:"varint,7,opt,name=cost_time,json=costTime,proto3" json:"cost_time,omitempty"`
+ PlayType uint32 `protobuf:"varint,15,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ PlayId uint32 `protobuf:"varint,11,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+ SettlePlayerInfoList []*ScenePlayBattleSettlePlayerInfo `protobuf:"bytes,4,rep,name=settle_player_info_list,json=settlePlayerInfoList,proto3" json:"settle_player_info_list,omitempty"`
+ SettleRewardInfoList []*ScenePlayBattleSettleRewardInfo `protobuf:"bytes,14,rep,name=settle_reward_info_list,json=settleRewardInfoList,proto3" json:"settle_reward_info_list,omitempty"`
+}
+
+func (x *ScenePlayBattleResultNotify) Reset() {
+ *x = ScenePlayBattleResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayBattleResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayBattleResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayBattleResultNotify) ProtoMessage() {}
+
+func (x *ScenePlayBattleResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayBattleResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayBattleResultNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayBattleResultNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayBattleResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayBattleResultNotify) GetIsWin() bool {
+ if x != nil {
+ return x.IsWin
+ }
+ return false
+}
+
+func (x *ScenePlayBattleResultNotify) GetCostTime() uint32 {
+ if x != nil {
+ return x.CostTime
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleResultNotify) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleResultNotify) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleResultNotify) GetSettlePlayerInfoList() []*ScenePlayBattleSettlePlayerInfo {
+ if x != nil {
+ return x.SettlePlayerInfoList
+ }
+ return nil
+}
+
+func (x *ScenePlayBattleResultNotify) GetSettleRewardInfoList() []*ScenePlayBattleSettleRewardInfo {
+ if x != nil {
+ return x.SettleRewardInfoList
+ }
+ return nil
+}
+
+var File_ScenePlayBattleResultNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayBattleResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x02, 0x0a, 0x1b, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x77,
+ 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x57, 0x69, 0x6e, 0x12,
+ 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
+ 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79,
+ 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x17, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x5d, 0x0a, 0x17, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x65, 0x74, 0x74,
+ 0x6c, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayBattleResultNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayBattleResultNotify_proto_rawDescData = file_ScenePlayBattleResultNotify_proto_rawDesc
+)
+
+func file_ScenePlayBattleResultNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayBattleResultNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayBattleResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayBattleResultNotify_proto_rawDescData)
+ })
+ return file_ScenePlayBattleResultNotify_proto_rawDescData
+}
+
+var file_ScenePlayBattleResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayBattleResultNotify_proto_goTypes = []interface{}{
+ (*ScenePlayBattleResultNotify)(nil), // 0: proto.ScenePlayBattleResultNotify
+ (*ScenePlayBattleSettlePlayerInfo)(nil), // 1: proto.ScenePlayBattleSettlePlayerInfo
+ (*ScenePlayBattleSettleRewardInfo)(nil), // 2: proto.ScenePlayBattleSettleRewardInfo
+}
+var file_ScenePlayBattleResultNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayBattleResultNotify.settle_player_info_list:type_name -> proto.ScenePlayBattleSettlePlayerInfo
+ 2, // 1: proto.ScenePlayBattleResultNotify.settle_reward_info_list:type_name -> proto.ScenePlayBattleSettleRewardInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayBattleResultNotify_proto_init() }
+func file_ScenePlayBattleResultNotify_proto_init() {
+ if File_ScenePlayBattleResultNotify_proto != nil {
+ return
+ }
+ file_ScenePlayBattleSettlePlayerInfo_proto_init()
+ file_ScenePlayBattleSettleRewardInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayBattleResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayBattleResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayBattleResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayBattleResultNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayBattleResultNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayBattleResultNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayBattleResultNotify_proto = out.File
+ file_ScenePlayBattleResultNotify_proto_rawDesc = nil
+ file_ScenePlayBattleResultNotify_proto_goTypes = nil
+ file_ScenePlayBattleResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayBattleSettlePlayerInfo.pb.go b/protocol/proto/ScenePlayBattleSettlePlayerInfo.pb.go
new file mode 100644
index 00000000..35d3089e
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleSettlePlayerInfo.pb.go
@@ -0,0 +1,242 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayBattleSettlePlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ScenePlayBattleSettlePlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardList []*ExhibitionDisplayInfo `protobuf:"bytes,14,rep,name=card_list,json=cardList,proto3" json:"card_list,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,10,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ HeadImage uint32 `protobuf:"varint,11,opt,name=head_image,json=headImage,proto3" json:"head_image,omitempty"`
+ StatisticId uint32 `protobuf:"varint,4,opt,name=statistic_id,json=statisticId,proto3" json:"statistic_id,omitempty"`
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ Param int64 `protobuf:"varint,5,opt,name=param,proto3" json:"param,omitempty"`
+ OnlineId string `protobuf:"bytes,12,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ Nickname string `protobuf:"bytes,15,opt,name=nickname,proto3" json:"nickname,omitempty"`
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) Reset() {
+ *x = ScenePlayBattleSettlePlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayBattleSettlePlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayBattleSettlePlayerInfo) ProtoMessage() {}
+
+func (x *ScenePlayBattleSettlePlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayBattleSettlePlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayBattleSettlePlayerInfo.ProtoReflect.Descriptor instead.
+func (*ScenePlayBattleSettlePlayerInfo) Descriptor() ([]byte, []int) {
+ return file_ScenePlayBattleSettlePlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) GetCardList() []*ExhibitionDisplayInfo {
+ if x != nil {
+ return x.CardList
+ }
+ return nil
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) GetHeadImage() uint32 {
+ if x != nil {
+ return x.HeadImage
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) GetStatisticId() uint32 {
+ if x != nil {
+ return x.StatisticId
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) GetParam() int64 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *ScenePlayBattleSettlePlayerInfo) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+var File_ScenePlayBattleSettlePlayerInfo_proto protoreflect.FileDescriptor
+
+var file_ScenePlayBattleSettlePlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b,
+ 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xbf, 0x02, 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x70, 0x6c,
+ 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x68, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12,
+ 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63,
+ 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e,
+ 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f,
+ 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e,
+ 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayBattleSettlePlayerInfo_proto_rawDescOnce sync.Once
+ file_ScenePlayBattleSettlePlayerInfo_proto_rawDescData = file_ScenePlayBattleSettlePlayerInfo_proto_rawDesc
+)
+
+func file_ScenePlayBattleSettlePlayerInfo_proto_rawDescGZIP() []byte {
+ file_ScenePlayBattleSettlePlayerInfo_proto_rawDescOnce.Do(func() {
+ file_ScenePlayBattleSettlePlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayBattleSettlePlayerInfo_proto_rawDescData)
+ })
+ return file_ScenePlayBattleSettlePlayerInfo_proto_rawDescData
+}
+
+var file_ScenePlayBattleSettlePlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayBattleSettlePlayerInfo_proto_goTypes = []interface{}{
+ (*ScenePlayBattleSettlePlayerInfo)(nil), // 0: proto.ScenePlayBattleSettlePlayerInfo
+ (*ExhibitionDisplayInfo)(nil), // 1: proto.ExhibitionDisplayInfo
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_ScenePlayBattleSettlePlayerInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayBattleSettlePlayerInfo.card_list:type_name -> proto.ExhibitionDisplayInfo
+ 2, // 1: proto.ScenePlayBattleSettlePlayerInfo.profile_picture:type_name -> proto.ProfilePicture
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayBattleSettlePlayerInfo_proto_init() }
+func file_ScenePlayBattleSettlePlayerInfo_proto_init() {
+ if File_ScenePlayBattleSettlePlayerInfo_proto != nil {
+ return
+ }
+ file_ExhibitionDisplayInfo_proto_init()
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayBattleSettlePlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayBattleSettlePlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayBattleSettlePlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayBattleSettlePlayerInfo_proto_goTypes,
+ DependencyIndexes: file_ScenePlayBattleSettlePlayerInfo_proto_depIdxs,
+ MessageInfos: file_ScenePlayBattleSettlePlayerInfo_proto_msgTypes,
+ }.Build()
+ File_ScenePlayBattleSettlePlayerInfo_proto = out.File
+ file_ScenePlayBattleSettlePlayerInfo_proto_rawDesc = nil
+ file_ScenePlayBattleSettlePlayerInfo_proto_goTypes = nil
+ file_ScenePlayBattleSettlePlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayBattleSettleRewardInfo.pb.go b/protocol/proto/ScenePlayBattleSettleRewardInfo.pb.go
new file mode 100644
index 00000000..066af922
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleSettleRewardInfo.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayBattleSettleRewardInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ScenePlayBattleSettleRewardInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardItemList []*ItemParam `protobuf:"bytes,4,rep,name=reward_item_list,json=rewardItemList,proto3" json:"reward_item_list,omitempty"`
+ Uid uint32 `protobuf:"varint,3,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *ScenePlayBattleSettleRewardInfo) Reset() {
+ *x = ScenePlayBattleSettleRewardInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayBattleSettleRewardInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayBattleSettleRewardInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayBattleSettleRewardInfo) ProtoMessage() {}
+
+func (x *ScenePlayBattleSettleRewardInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayBattleSettleRewardInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayBattleSettleRewardInfo.ProtoReflect.Descriptor instead.
+func (*ScenePlayBattleSettleRewardInfo) Descriptor() ([]byte, []int) {
+ return file_ScenePlayBattleSettleRewardInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayBattleSettleRewardInfo) GetRewardItemList() []*ItemParam {
+ if x != nil {
+ return x.RewardItemList
+ }
+ return nil
+}
+
+func (x *ScenePlayBattleSettleRewardInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_ScenePlayBattleSettleRewardInfo_proto protoreflect.FileDescriptor
+
+var file_ScenePlayBattleSettleRewardInfo_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
+ 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x6f, 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e,
+ 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x10,
+ 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayBattleSettleRewardInfo_proto_rawDescOnce sync.Once
+ file_ScenePlayBattleSettleRewardInfo_proto_rawDescData = file_ScenePlayBattleSettleRewardInfo_proto_rawDesc
+)
+
+func file_ScenePlayBattleSettleRewardInfo_proto_rawDescGZIP() []byte {
+ file_ScenePlayBattleSettleRewardInfo_proto_rawDescOnce.Do(func() {
+ file_ScenePlayBattleSettleRewardInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayBattleSettleRewardInfo_proto_rawDescData)
+ })
+ return file_ScenePlayBattleSettleRewardInfo_proto_rawDescData
+}
+
+var file_ScenePlayBattleSettleRewardInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayBattleSettleRewardInfo_proto_goTypes = []interface{}{
+ (*ScenePlayBattleSettleRewardInfo)(nil), // 0: proto.ScenePlayBattleSettleRewardInfo
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_ScenePlayBattleSettleRewardInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayBattleSettleRewardInfo.reward_item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayBattleSettleRewardInfo_proto_init() }
+func file_ScenePlayBattleSettleRewardInfo_proto_init() {
+ if File_ScenePlayBattleSettleRewardInfo_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayBattleSettleRewardInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayBattleSettleRewardInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayBattleSettleRewardInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayBattleSettleRewardInfo_proto_goTypes,
+ DependencyIndexes: file_ScenePlayBattleSettleRewardInfo_proto_depIdxs,
+ MessageInfos: file_ScenePlayBattleSettleRewardInfo_proto_msgTypes,
+ }.Build()
+ File_ScenePlayBattleSettleRewardInfo_proto = out.File
+ file_ScenePlayBattleSettleRewardInfo_proto_rawDesc = nil
+ file_ScenePlayBattleSettleRewardInfo_proto_goTypes = nil
+ file_ScenePlayBattleSettleRewardInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayBattleUidOpNotify.pb.go b/protocol/proto/ScenePlayBattleUidOpNotify.pb.go
new file mode 100644
index 00000000..d56e48f1
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleUidOpNotify.pb.go
@@ -0,0 +1,252 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayBattleUidOpNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4447
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayBattleUidOpNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Op uint32 `protobuf:"varint,7,opt,name=op,proto3" json:"op,omitempty"`
+ ParamTargetList []uint32 `protobuf:"varint,9,rep,packed,name=param_target_list,json=paramTargetList,proto3" json:"param_target_list,omitempty"`
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ ParamStr string `protobuf:"bytes,3,opt,name=param_str,json=paramStr,proto3" json:"param_str,omitempty"`
+ UidList []uint32 `protobuf:"varint,6,rep,packed,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"`
+ ParamIndex uint32 `protobuf:"varint,11,opt,name=param_index,json=paramIndex,proto3" json:"param_index,omitempty"`
+ PlayType uint32 `protobuf:"varint,8,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ ParamDuration uint32 `protobuf:"varint,12,opt,name=param_duration,json=paramDuration,proto3" json:"param_duration,omitempty"`
+ ParamList []uint32 `protobuf:"varint,15,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ PlayId uint32 `protobuf:"varint,5,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+}
+
+func (x *ScenePlayBattleUidOpNotify) Reset() {
+ *x = ScenePlayBattleUidOpNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayBattleUidOpNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayBattleUidOpNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayBattleUidOpNotify) ProtoMessage() {}
+
+func (x *ScenePlayBattleUidOpNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayBattleUidOpNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayBattleUidOpNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayBattleUidOpNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayBattleUidOpNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetOp() uint32 {
+ if x != nil {
+ return x.Op
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetParamTargetList() []uint32 {
+ if x != nil {
+ return x.ParamTargetList
+ }
+ return nil
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetParamStr() string {
+ if x != nil {
+ return x.ParamStr
+ }
+ return ""
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetUidList() []uint32 {
+ if x != nil {
+ return x.UidList
+ }
+ return nil
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetParamIndex() uint32 {
+ if x != nil {
+ return x.ParamIndex
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetParamDuration() uint32 {
+ if x != nil {
+ return x.ParamDuration
+ }
+ return 0
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *ScenePlayBattleUidOpNotify) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+var File_ScenePlayBattleUidOpNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayBattleUidOpNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x55, 0x69, 0x64, 0x4f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x02, 0x0a, 0x1a, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x55, 0x69, 0x64,
+ 0x4f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x61,
+ 0x6d, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x53, 0x74, 0x72, 0x12, 0x19,
+ 0x0a, 0x08, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x07, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c,
+ 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70,
+ 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a,
+ 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayBattleUidOpNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayBattleUidOpNotify_proto_rawDescData = file_ScenePlayBattleUidOpNotify_proto_rawDesc
+)
+
+func file_ScenePlayBattleUidOpNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayBattleUidOpNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayBattleUidOpNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayBattleUidOpNotify_proto_rawDescData)
+ })
+ return file_ScenePlayBattleUidOpNotify_proto_rawDescData
+}
+
+var file_ScenePlayBattleUidOpNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayBattleUidOpNotify_proto_goTypes = []interface{}{
+ (*ScenePlayBattleUidOpNotify)(nil), // 0: proto.ScenePlayBattleUidOpNotify
+}
+var file_ScenePlayBattleUidOpNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayBattleUidOpNotify_proto_init() }
+func file_ScenePlayBattleUidOpNotify_proto_init() {
+ if File_ScenePlayBattleUidOpNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayBattleUidOpNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayBattleUidOpNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayBattleUidOpNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayBattleUidOpNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayBattleUidOpNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayBattleUidOpNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayBattleUidOpNotify_proto = out.File
+ file_ScenePlayBattleUidOpNotify_proto_rawDesc = nil
+ file_ScenePlayBattleUidOpNotify_proto_goTypes = nil
+ file_ScenePlayBattleUidOpNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayGuestReplyInviteReq.pb.go b/protocol/proto/ScenePlayGuestReplyInviteReq.pb.go
new file mode 100644
index 00000000..9a868bea
--- /dev/null
+++ b/protocol/proto/ScenePlayGuestReplyInviteReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayGuestReplyInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4353
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ScenePlayGuestReplyInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAgree bool `protobuf:"varint,15,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ PlayId uint32 `protobuf:"varint,6,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+}
+
+func (x *ScenePlayGuestReplyInviteReq) Reset() {
+ *x = ScenePlayGuestReplyInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayGuestReplyInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayGuestReplyInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayGuestReplyInviteReq) ProtoMessage() {}
+
+func (x *ScenePlayGuestReplyInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayGuestReplyInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayGuestReplyInviteReq.ProtoReflect.Descriptor instead.
+func (*ScenePlayGuestReplyInviteReq) Descriptor() ([]byte, []int) {
+ return file_ScenePlayGuestReplyInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayGuestReplyInviteReq) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *ScenePlayGuestReplyInviteReq) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+var File_ScenePlayGuestReplyInviteReq_proto protoreflect.FileDescriptor
+
+var file_ScenePlayGuestReplyInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74,
+ 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x1c, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70,
+ 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69,
+ 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69,
+ 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayGuestReplyInviteReq_proto_rawDescOnce sync.Once
+ file_ScenePlayGuestReplyInviteReq_proto_rawDescData = file_ScenePlayGuestReplyInviteReq_proto_rawDesc
+)
+
+func file_ScenePlayGuestReplyInviteReq_proto_rawDescGZIP() []byte {
+ file_ScenePlayGuestReplyInviteReq_proto_rawDescOnce.Do(func() {
+ file_ScenePlayGuestReplyInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayGuestReplyInviteReq_proto_rawDescData)
+ })
+ return file_ScenePlayGuestReplyInviteReq_proto_rawDescData
+}
+
+var file_ScenePlayGuestReplyInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayGuestReplyInviteReq_proto_goTypes = []interface{}{
+ (*ScenePlayGuestReplyInviteReq)(nil), // 0: proto.ScenePlayGuestReplyInviteReq
+}
+var file_ScenePlayGuestReplyInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayGuestReplyInviteReq_proto_init() }
+func file_ScenePlayGuestReplyInviteReq_proto_init() {
+ if File_ScenePlayGuestReplyInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayGuestReplyInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayGuestReplyInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayGuestReplyInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayGuestReplyInviteReq_proto_goTypes,
+ DependencyIndexes: file_ScenePlayGuestReplyInviteReq_proto_depIdxs,
+ MessageInfos: file_ScenePlayGuestReplyInviteReq_proto_msgTypes,
+ }.Build()
+ File_ScenePlayGuestReplyInviteReq_proto = out.File
+ file_ScenePlayGuestReplyInviteReq_proto_rawDesc = nil
+ file_ScenePlayGuestReplyInviteReq_proto_goTypes = nil
+ file_ScenePlayGuestReplyInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayGuestReplyInviteRsp.pb.go b/protocol/proto/ScenePlayGuestReplyInviteRsp.pb.go
new file mode 100644
index 00000000..78d3b171
--- /dev/null
+++ b/protocol/proto/ScenePlayGuestReplyInviteRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayGuestReplyInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4440
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayGuestReplyInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsAgree bool `protobuf:"varint,2,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+ PlayId uint32 `protobuf:"varint,8,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+}
+
+func (x *ScenePlayGuestReplyInviteRsp) Reset() {
+ *x = ScenePlayGuestReplyInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayGuestReplyInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayGuestReplyInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayGuestReplyInviteRsp) ProtoMessage() {}
+
+func (x *ScenePlayGuestReplyInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayGuestReplyInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayGuestReplyInviteRsp.ProtoReflect.Descriptor instead.
+func (*ScenePlayGuestReplyInviteRsp) Descriptor() ([]byte, []int) {
+ return file_ScenePlayGuestReplyInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayGuestReplyInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ScenePlayGuestReplyInviteRsp) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+func (x *ScenePlayGuestReplyInviteRsp) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+var File_ScenePlayGuestReplyInviteRsp_proto protoreflect.FileDescriptor
+
+var file_ScenePlayGuestReplyInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74,
+ 0x52, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x1c, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70,
+ 0x6c, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65,
+ 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayGuestReplyInviteRsp_proto_rawDescOnce sync.Once
+ file_ScenePlayGuestReplyInviteRsp_proto_rawDescData = file_ScenePlayGuestReplyInviteRsp_proto_rawDesc
+)
+
+func file_ScenePlayGuestReplyInviteRsp_proto_rawDescGZIP() []byte {
+ file_ScenePlayGuestReplyInviteRsp_proto_rawDescOnce.Do(func() {
+ file_ScenePlayGuestReplyInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayGuestReplyInviteRsp_proto_rawDescData)
+ })
+ return file_ScenePlayGuestReplyInviteRsp_proto_rawDescData
+}
+
+var file_ScenePlayGuestReplyInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayGuestReplyInviteRsp_proto_goTypes = []interface{}{
+ (*ScenePlayGuestReplyInviteRsp)(nil), // 0: proto.ScenePlayGuestReplyInviteRsp
+}
+var file_ScenePlayGuestReplyInviteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayGuestReplyInviteRsp_proto_init() }
+func file_ScenePlayGuestReplyInviteRsp_proto_init() {
+ if File_ScenePlayGuestReplyInviteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayGuestReplyInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayGuestReplyInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayGuestReplyInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayGuestReplyInviteRsp_proto_goTypes,
+ DependencyIndexes: file_ScenePlayGuestReplyInviteRsp_proto_depIdxs,
+ MessageInfos: file_ScenePlayGuestReplyInviteRsp_proto_msgTypes,
+ }.Build()
+ File_ScenePlayGuestReplyInviteRsp_proto = out.File
+ file_ScenePlayGuestReplyInviteRsp_proto_rawDesc = nil
+ file_ScenePlayGuestReplyInviteRsp_proto_goTypes = nil
+ file_ScenePlayGuestReplyInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayGuestReplyNotify.pb.go b/protocol/proto/ScenePlayGuestReplyNotify.pb.go
new file mode 100644
index 00000000..6f6c8d69
--- /dev/null
+++ b/protocol/proto/ScenePlayGuestReplyNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayGuestReplyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4423
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayGuestReplyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayId uint32 `protobuf:"varint,13,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+ GuestUid uint32 `protobuf:"varint,12,opt,name=guest_uid,json=guestUid,proto3" json:"guest_uid,omitempty"`
+ IsAgree bool `protobuf:"varint,3,opt,name=is_agree,json=isAgree,proto3" json:"is_agree,omitempty"`
+}
+
+func (x *ScenePlayGuestReplyNotify) Reset() {
+ *x = ScenePlayGuestReplyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayGuestReplyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayGuestReplyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayGuestReplyNotify) ProtoMessage() {}
+
+func (x *ScenePlayGuestReplyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayGuestReplyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayGuestReplyNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayGuestReplyNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayGuestReplyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayGuestReplyNotify) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+func (x *ScenePlayGuestReplyNotify) GetGuestUid() uint32 {
+ if x != nil {
+ return x.GuestUid
+ }
+ return 0
+}
+
+func (x *ScenePlayGuestReplyNotify) GetIsAgree() bool {
+ if x != nil {
+ return x.IsAgree
+ }
+ return false
+}
+
+var File_ScenePlayGuestReplyNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayGuestReplyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74,
+ 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6c, 0x0a, 0x19, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x50, 0x6c, 0x61, 0x79, 0x47, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1b,
+ 0x0a, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x67, 0x75, 0x65, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69,
+ 0x73, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69,
+ 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayGuestReplyNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayGuestReplyNotify_proto_rawDescData = file_ScenePlayGuestReplyNotify_proto_rawDesc
+)
+
+func file_ScenePlayGuestReplyNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayGuestReplyNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayGuestReplyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayGuestReplyNotify_proto_rawDescData)
+ })
+ return file_ScenePlayGuestReplyNotify_proto_rawDescData
+}
+
+var file_ScenePlayGuestReplyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayGuestReplyNotify_proto_goTypes = []interface{}{
+ (*ScenePlayGuestReplyNotify)(nil), // 0: proto.ScenePlayGuestReplyNotify
+}
+var file_ScenePlayGuestReplyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayGuestReplyNotify_proto_init() }
+func file_ScenePlayGuestReplyNotify_proto_init() {
+ if File_ScenePlayGuestReplyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayGuestReplyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayGuestReplyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayGuestReplyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayGuestReplyNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayGuestReplyNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayGuestReplyNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayGuestReplyNotify_proto = out.File
+ file_ScenePlayGuestReplyNotify_proto_rawDesc = nil
+ file_ScenePlayGuestReplyNotify_proto_goTypes = nil
+ file_ScenePlayGuestReplyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayInfo.pb.go b/protocol/proto/ScenePlayInfo.pb.go
new file mode 100644
index 00000000..49ee0754
--- /dev/null
+++ b/protocol/proto/ScenePlayInfo.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ScenePlayInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntryId uint32 `protobuf:"varint,15,opt,name=entry_id,json=entryId,proto3" json:"entry_id,omitempty"`
+ PlayId uint32 `protobuf:"varint,11,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+ PlayType uint32 `protobuf:"varint,3,opt,name=play_type,json=playType,proto3" json:"play_type,omitempty"`
+ IsOpen bool `protobuf:"varint,9,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *ScenePlayInfo) Reset() {
+ *x = ScenePlayInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayInfo) ProtoMessage() {}
+
+func (x *ScenePlayInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayInfo.ProtoReflect.Descriptor instead.
+func (*ScenePlayInfo) Descriptor() ([]byte, []int) {
+ return file_ScenePlayInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayInfo) GetEntryId() uint32 {
+ if x != nil {
+ return x.EntryId
+ }
+ return 0
+}
+
+func (x *ScenePlayInfo) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+func (x *ScenePlayInfo) GetPlayType() uint32 {
+ if x != nil {
+ return x.PlayType
+ }
+ return 0
+}
+
+func (x *ScenePlayInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_ScenePlayInfo_proto protoreflect.FileDescriptor
+
+var file_ScenePlayInfo_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x0d,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a,
+ 0x08, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17,
+ 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayInfo_proto_rawDescOnce sync.Once
+ file_ScenePlayInfo_proto_rawDescData = file_ScenePlayInfo_proto_rawDesc
+)
+
+func file_ScenePlayInfo_proto_rawDescGZIP() []byte {
+ file_ScenePlayInfo_proto_rawDescOnce.Do(func() {
+ file_ScenePlayInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayInfo_proto_rawDescData)
+ })
+ return file_ScenePlayInfo_proto_rawDescData
+}
+
+var file_ScenePlayInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayInfo_proto_goTypes = []interface{}{
+ (*ScenePlayInfo)(nil), // 0: proto.ScenePlayInfo
+}
+var file_ScenePlayInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayInfo_proto_init() }
+func file_ScenePlayInfo_proto_init() {
+ if File_ScenePlayInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayInfo_proto_goTypes,
+ DependencyIndexes: file_ScenePlayInfo_proto_depIdxs,
+ MessageInfos: file_ScenePlayInfo_proto_msgTypes,
+ }.Build()
+ File_ScenePlayInfo_proto = out.File
+ file_ScenePlayInfo_proto_rawDesc = nil
+ file_ScenePlayInfo_proto_goTypes = nil
+ file_ScenePlayInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayInfoListNotify.pb.go b/protocol/proto/ScenePlayInfoListNotify.pb.go
new file mode 100644
index 00000000..81c87d34
--- /dev/null
+++ b/protocol/proto/ScenePlayInfoListNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayInfoListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4381
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayInfoListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayInfoList []*ScenePlayInfo `protobuf:"bytes,6,rep,name=play_info_list,json=playInfoList,proto3" json:"play_info_list,omitempty"`
+}
+
+func (x *ScenePlayInfoListNotify) Reset() {
+ *x = ScenePlayInfoListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayInfoListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayInfoListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayInfoListNotify) ProtoMessage() {}
+
+func (x *ScenePlayInfoListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayInfoListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayInfoListNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayInfoListNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayInfoListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayInfoListNotify) GetPlayInfoList() []*ScenePlayInfo {
+ if x != nil {
+ return x.PlayInfoList
+ }
+ return nil
+}
+
+var File_ScenePlayInfoListNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayInfoListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
+ 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x17, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3a, 0x0a, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayInfoListNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayInfoListNotify_proto_rawDescData = file_ScenePlayInfoListNotify_proto_rawDesc
+)
+
+func file_ScenePlayInfoListNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayInfoListNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayInfoListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayInfoListNotify_proto_rawDescData)
+ })
+ return file_ScenePlayInfoListNotify_proto_rawDescData
+}
+
+var file_ScenePlayInfoListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayInfoListNotify_proto_goTypes = []interface{}{
+ (*ScenePlayInfoListNotify)(nil), // 0: proto.ScenePlayInfoListNotify
+ (*ScenePlayInfo)(nil), // 1: proto.ScenePlayInfo
+}
+var file_ScenePlayInfoListNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayInfoListNotify.play_info_list:type_name -> proto.ScenePlayInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayInfoListNotify_proto_init() }
+func file_ScenePlayInfoListNotify_proto_init() {
+ if File_ScenePlayInfoListNotify_proto != nil {
+ return
+ }
+ file_ScenePlayInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayInfoListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayInfoListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayInfoListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayInfoListNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayInfoListNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayInfoListNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayInfoListNotify_proto = out.File
+ file_ScenePlayInfoListNotify_proto_rawDesc = nil
+ file_ScenePlayInfoListNotify_proto_goTypes = nil
+ file_ScenePlayInfoListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayInviteResultNotify.pb.go b/protocol/proto/ScenePlayInviteResultNotify.pb.go
new file mode 100644
index 00000000..1a76d43a
--- /dev/null
+++ b/protocol/proto/ScenePlayInviteResultNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayInviteResultNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4449
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayInviteResultNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAllArgee bool `protobuf:"varint,11,opt,name=is_all_argee,json=isAllArgee,proto3" json:"is_all_argee,omitempty"`
+ PlayId uint32 `protobuf:"varint,15,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+}
+
+func (x *ScenePlayInviteResultNotify) Reset() {
+ *x = ScenePlayInviteResultNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayInviteResultNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayInviteResultNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayInviteResultNotify) ProtoMessage() {}
+
+func (x *ScenePlayInviteResultNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayInviteResultNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayInviteResultNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayInviteResultNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayInviteResultNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayInviteResultNotify) GetIsAllArgee() bool {
+ if x != nil {
+ return x.IsAllArgee
+ }
+ return false
+}
+
+func (x *ScenePlayInviteResultNotify) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+var File_ScenePlayInviteResultNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayInviteResultNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74,
+ 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1b, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73,
+ 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x73, 0x5f,
+ 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x72, 0x67, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0a, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x41, 0x72, 0x67, 0x65, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70,
+ 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c,
+ 0x61, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayInviteResultNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayInviteResultNotify_proto_rawDescData = file_ScenePlayInviteResultNotify_proto_rawDesc
+)
+
+func file_ScenePlayInviteResultNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayInviteResultNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayInviteResultNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayInviteResultNotify_proto_rawDescData)
+ })
+ return file_ScenePlayInviteResultNotify_proto_rawDescData
+}
+
+var file_ScenePlayInviteResultNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayInviteResultNotify_proto_goTypes = []interface{}{
+ (*ScenePlayInviteResultNotify)(nil), // 0: proto.ScenePlayInviteResultNotify
+}
+var file_ScenePlayInviteResultNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayInviteResultNotify_proto_init() }
+func file_ScenePlayInviteResultNotify_proto_init() {
+ if File_ScenePlayInviteResultNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayInviteResultNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayInviteResultNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayInviteResultNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayInviteResultNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayInviteResultNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayInviteResultNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayInviteResultNotify_proto = out.File
+ file_ScenePlayInviteResultNotify_proto_rawDesc = nil
+ file_ScenePlayInviteResultNotify_proto_goTypes = nil
+ file_ScenePlayInviteResultNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayOutofRegionNotify.pb.go b/protocol/proto/ScenePlayOutofRegionNotify.pb.go
new file mode 100644
index 00000000..6e7c80af
--- /dev/null
+++ b/protocol/proto/ScenePlayOutofRegionNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayOutofRegionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4355
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ScenePlayOutofRegionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayId uint32 `protobuf:"varint,13,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+}
+
+func (x *ScenePlayOutofRegionNotify) Reset() {
+ *x = ScenePlayOutofRegionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayOutofRegionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayOutofRegionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayOutofRegionNotify) ProtoMessage() {}
+
+func (x *ScenePlayOutofRegionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayOutofRegionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayOutofRegionNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayOutofRegionNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayOutofRegionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayOutofRegionNotify) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+var File_ScenePlayOutofRegionNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayOutofRegionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x75, 0x74, 0x6f, 0x66,
+ 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x1a, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x75, 0x74, 0x6f, 0x66, 0x52, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayOutofRegionNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayOutofRegionNotify_proto_rawDescData = file_ScenePlayOutofRegionNotify_proto_rawDesc
+)
+
+func file_ScenePlayOutofRegionNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayOutofRegionNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayOutofRegionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayOutofRegionNotify_proto_rawDescData)
+ })
+ return file_ScenePlayOutofRegionNotify_proto_rawDescData
+}
+
+var file_ScenePlayOutofRegionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayOutofRegionNotify_proto_goTypes = []interface{}{
+ (*ScenePlayOutofRegionNotify)(nil), // 0: proto.ScenePlayOutofRegionNotify
+}
+var file_ScenePlayOutofRegionNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayOutofRegionNotify_proto_init() }
+func file_ScenePlayOutofRegionNotify_proto_init() {
+ if File_ScenePlayOutofRegionNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayOutofRegionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayOutofRegionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayOutofRegionNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayOutofRegionNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayOutofRegionNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayOutofRegionNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayOutofRegionNotify_proto = out.File
+ file_ScenePlayOutofRegionNotify_proto_rawDesc = nil
+ file_ScenePlayOutofRegionNotify_proto_goTypes = nil
+ file_ScenePlayOutofRegionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayOwnerCheckReq.pb.go b/protocol/proto/ScenePlayOwnerCheckReq.pb.go
new file mode 100644
index 00000000..c72704dd
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerCheckReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayOwnerCheckReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4448
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ScenePlayOwnerCheckReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayId uint32 `protobuf:"varint,9,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+ IsSkipMatch bool `protobuf:"varint,6,opt,name=is_skip_match,json=isSkipMatch,proto3" json:"is_skip_match,omitempty"`
+}
+
+func (x *ScenePlayOwnerCheckReq) Reset() {
+ *x = ScenePlayOwnerCheckReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayOwnerCheckReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayOwnerCheckReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayOwnerCheckReq) ProtoMessage() {}
+
+func (x *ScenePlayOwnerCheckReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayOwnerCheckReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayOwnerCheckReq.ProtoReflect.Descriptor instead.
+func (*ScenePlayOwnerCheckReq) Descriptor() ([]byte, []int) {
+ return file_ScenePlayOwnerCheckReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayOwnerCheckReq) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+func (x *ScenePlayOwnerCheckReq) GetIsSkipMatch() bool {
+ if x != nil {
+ return x.IsSkipMatch
+ }
+ return false
+}
+
+var File_ScenePlayOwnerCheckReq_proto protoreflect.FileDescriptor
+
+var file_ScenePlayOwnerCheckReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c,
+ 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73,
+ 0x6b, 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayOwnerCheckReq_proto_rawDescOnce sync.Once
+ file_ScenePlayOwnerCheckReq_proto_rawDescData = file_ScenePlayOwnerCheckReq_proto_rawDesc
+)
+
+func file_ScenePlayOwnerCheckReq_proto_rawDescGZIP() []byte {
+ file_ScenePlayOwnerCheckReq_proto_rawDescOnce.Do(func() {
+ file_ScenePlayOwnerCheckReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayOwnerCheckReq_proto_rawDescData)
+ })
+ return file_ScenePlayOwnerCheckReq_proto_rawDescData
+}
+
+var file_ScenePlayOwnerCheckReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayOwnerCheckReq_proto_goTypes = []interface{}{
+ (*ScenePlayOwnerCheckReq)(nil), // 0: proto.ScenePlayOwnerCheckReq
+}
+var file_ScenePlayOwnerCheckReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayOwnerCheckReq_proto_init() }
+func file_ScenePlayOwnerCheckReq_proto_init() {
+ if File_ScenePlayOwnerCheckReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayOwnerCheckReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayOwnerCheckReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayOwnerCheckReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayOwnerCheckReq_proto_goTypes,
+ DependencyIndexes: file_ScenePlayOwnerCheckReq_proto_depIdxs,
+ MessageInfos: file_ScenePlayOwnerCheckReq_proto_msgTypes,
+ }.Build()
+ File_ScenePlayOwnerCheckReq_proto = out.File
+ file_ScenePlayOwnerCheckReq_proto_rawDesc = nil
+ file_ScenePlayOwnerCheckReq_proto_goTypes = nil
+ file_ScenePlayOwnerCheckReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayOwnerCheckRsp.pb.go b/protocol/proto/ScenePlayOwnerCheckRsp.pb.go
new file mode 100644
index 00000000..1f6544a0
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerCheckRsp.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayOwnerCheckRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4362
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayOwnerCheckRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParamList []uint32 `protobuf:"varint,8,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ IsSkipMatch bool `protobuf:"varint,1,opt,name=is_skip_match,json=isSkipMatch,proto3" json:"is_skip_match,omitempty"`
+ PlayId uint32 `protobuf:"varint,9,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+ WrongUid uint32 `protobuf:"varint,5,opt,name=wrong_uid,json=wrongUid,proto3" json:"wrong_uid,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ScenePlayOwnerCheckRsp) Reset() {
+ *x = ScenePlayOwnerCheckRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayOwnerCheckRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayOwnerCheckRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayOwnerCheckRsp) ProtoMessage() {}
+
+func (x *ScenePlayOwnerCheckRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayOwnerCheckRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayOwnerCheckRsp.ProtoReflect.Descriptor instead.
+func (*ScenePlayOwnerCheckRsp) Descriptor() ([]byte, []int) {
+ return file_ScenePlayOwnerCheckRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayOwnerCheckRsp) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *ScenePlayOwnerCheckRsp) GetIsSkipMatch() bool {
+ if x != nil {
+ return x.IsSkipMatch
+ }
+ return false
+}
+
+func (x *ScenePlayOwnerCheckRsp) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+func (x *ScenePlayOwnerCheckRsp) GetWrongUid() uint32 {
+ if x != nil {
+ return x.WrongUid
+ }
+ return 0
+}
+
+func (x *ScenePlayOwnerCheckRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ScenePlayOwnerCheckRsp_proto protoreflect.FileDescriptor
+
+var file_ScenePlayOwnerCheckRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50,
+ 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x73, 0x70,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x4d, 0x61,
+ 0x74, 0x63, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x55, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayOwnerCheckRsp_proto_rawDescOnce sync.Once
+ file_ScenePlayOwnerCheckRsp_proto_rawDescData = file_ScenePlayOwnerCheckRsp_proto_rawDesc
+)
+
+func file_ScenePlayOwnerCheckRsp_proto_rawDescGZIP() []byte {
+ file_ScenePlayOwnerCheckRsp_proto_rawDescOnce.Do(func() {
+ file_ScenePlayOwnerCheckRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayOwnerCheckRsp_proto_rawDescData)
+ })
+ return file_ScenePlayOwnerCheckRsp_proto_rawDescData
+}
+
+var file_ScenePlayOwnerCheckRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayOwnerCheckRsp_proto_goTypes = []interface{}{
+ (*ScenePlayOwnerCheckRsp)(nil), // 0: proto.ScenePlayOwnerCheckRsp
+}
+var file_ScenePlayOwnerCheckRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayOwnerCheckRsp_proto_init() }
+func file_ScenePlayOwnerCheckRsp_proto_init() {
+ if File_ScenePlayOwnerCheckRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayOwnerCheckRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayOwnerCheckRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayOwnerCheckRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayOwnerCheckRsp_proto_goTypes,
+ DependencyIndexes: file_ScenePlayOwnerCheckRsp_proto_depIdxs,
+ MessageInfos: file_ScenePlayOwnerCheckRsp_proto_msgTypes,
+ }.Build()
+ File_ScenePlayOwnerCheckRsp_proto = out.File
+ file_ScenePlayOwnerCheckRsp_proto_rawDesc = nil
+ file_ScenePlayOwnerCheckRsp_proto_goTypes = nil
+ file_ScenePlayOwnerCheckRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayOwnerInviteNotify.pb.go b/protocol/proto/ScenePlayOwnerInviteNotify.pb.go
new file mode 100644
index 00000000..14e23477
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerInviteNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayOwnerInviteNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4371
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayOwnerInviteNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InviteCd uint32 `protobuf:"varint,14,opt,name=invite_cd,json=inviteCd,proto3" json:"invite_cd,omitempty"`
+ PlayId uint32 `protobuf:"varint,5,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+ IsRemainReward bool `protobuf:"varint,15,opt,name=is_remain_reward,json=isRemainReward,proto3" json:"is_remain_reward,omitempty"`
+}
+
+func (x *ScenePlayOwnerInviteNotify) Reset() {
+ *x = ScenePlayOwnerInviteNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayOwnerInviteNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayOwnerInviteNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayOwnerInviteNotify) ProtoMessage() {}
+
+func (x *ScenePlayOwnerInviteNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayOwnerInviteNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayOwnerInviteNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayOwnerInviteNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayOwnerInviteNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayOwnerInviteNotify) GetInviteCd() uint32 {
+ if x != nil {
+ return x.InviteCd
+ }
+ return 0
+}
+
+func (x *ScenePlayOwnerInviteNotify) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+func (x *ScenePlayOwnerInviteNotify) GetIsRemainReward() bool {
+ if x != nil {
+ return x.IsRemainReward
+ }
+ return false
+}
+
+var File_ScenePlayOwnerInviteNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayOwnerInviteNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72,
+ 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x1a, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x69, 0x74,
+ 0x65, 0x5f, 0x63, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x69,
+ 0x74, 0x65, 0x43, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x12, 0x28, 0x0a,
+ 0x10, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x69,
+ 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayOwnerInviteNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayOwnerInviteNotify_proto_rawDescData = file_ScenePlayOwnerInviteNotify_proto_rawDesc
+)
+
+func file_ScenePlayOwnerInviteNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayOwnerInviteNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayOwnerInviteNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayOwnerInviteNotify_proto_rawDescData)
+ })
+ return file_ScenePlayOwnerInviteNotify_proto_rawDescData
+}
+
+var file_ScenePlayOwnerInviteNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayOwnerInviteNotify_proto_goTypes = []interface{}{
+ (*ScenePlayOwnerInviteNotify)(nil), // 0: proto.ScenePlayOwnerInviteNotify
+}
+var file_ScenePlayOwnerInviteNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayOwnerInviteNotify_proto_init() }
+func file_ScenePlayOwnerInviteNotify_proto_init() {
+ if File_ScenePlayOwnerInviteNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayOwnerInviteNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayOwnerInviteNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayOwnerInviteNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayOwnerInviteNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayOwnerInviteNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayOwnerInviteNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayOwnerInviteNotify_proto = out.File
+ file_ScenePlayOwnerInviteNotify_proto_rawDesc = nil
+ file_ScenePlayOwnerInviteNotify_proto_goTypes = nil
+ file_ScenePlayOwnerInviteNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayOwnerStartInviteReq.pb.go b/protocol/proto/ScenePlayOwnerStartInviteReq.pb.go
new file mode 100644
index 00000000..9e62a15f
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerStartInviteReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayOwnerStartInviteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4385
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ScenePlayOwnerStartInviteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSkipMatch bool `protobuf:"varint,8,opt,name=is_skip_match,json=isSkipMatch,proto3" json:"is_skip_match,omitempty"`
+ PlayId uint32 `protobuf:"varint,13,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+}
+
+func (x *ScenePlayOwnerStartInviteReq) Reset() {
+ *x = ScenePlayOwnerStartInviteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayOwnerStartInviteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayOwnerStartInviteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayOwnerStartInviteReq) ProtoMessage() {}
+
+func (x *ScenePlayOwnerStartInviteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayOwnerStartInviteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayOwnerStartInviteReq.ProtoReflect.Descriptor instead.
+func (*ScenePlayOwnerStartInviteReq) Descriptor() ([]byte, []int) {
+ return file_ScenePlayOwnerStartInviteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayOwnerStartInviteReq) GetIsSkipMatch() bool {
+ if x != nil {
+ return x.IsSkipMatch
+ }
+ return false
+}
+
+func (x *ScenePlayOwnerStartInviteReq) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+var File_ScenePlayOwnerStartInviteReq_proto protoreflect.FileDescriptor
+
+var file_ScenePlayOwnerStartInviteReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x1c, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12,
+ 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayOwnerStartInviteReq_proto_rawDescOnce sync.Once
+ file_ScenePlayOwnerStartInviteReq_proto_rawDescData = file_ScenePlayOwnerStartInviteReq_proto_rawDesc
+)
+
+func file_ScenePlayOwnerStartInviteReq_proto_rawDescGZIP() []byte {
+ file_ScenePlayOwnerStartInviteReq_proto_rawDescOnce.Do(func() {
+ file_ScenePlayOwnerStartInviteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayOwnerStartInviteReq_proto_rawDescData)
+ })
+ return file_ScenePlayOwnerStartInviteReq_proto_rawDescData
+}
+
+var file_ScenePlayOwnerStartInviteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayOwnerStartInviteReq_proto_goTypes = []interface{}{
+ (*ScenePlayOwnerStartInviteReq)(nil), // 0: proto.ScenePlayOwnerStartInviteReq
+}
+var file_ScenePlayOwnerStartInviteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayOwnerStartInviteReq_proto_init() }
+func file_ScenePlayOwnerStartInviteReq_proto_init() {
+ if File_ScenePlayOwnerStartInviteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayOwnerStartInviteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayOwnerStartInviteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayOwnerStartInviteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayOwnerStartInviteReq_proto_goTypes,
+ DependencyIndexes: file_ScenePlayOwnerStartInviteReq_proto_depIdxs,
+ MessageInfos: file_ScenePlayOwnerStartInviteReq_proto_msgTypes,
+ }.Build()
+ File_ScenePlayOwnerStartInviteReq_proto = out.File
+ file_ScenePlayOwnerStartInviteReq_proto_rawDesc = nil
+ file_ScenePlayOwnerStartInviteReq_proto_goTypes = nil
+ file_ScenePlayOwnerStartInviteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayOwnerStartInviteRsp.pb.go b/protocol/proto/ScenePlayOwnerStartInviteRsp.pb.go
new file mode 100644
index 00000000..53e71286
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerStartInviteRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayOwnerStartInviteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4357
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayOwnerStartInviteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSkipMatch bool `protobuf:"varint,7,opt,name=is_skip_match,json=isSkipMatch,proto3" json:"is_skip_match,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PlayId uint32 `protobuf:"varint,11,opt,name=play_id,json=playId,proto3" json:"play_id,omitempty"`
+}
+
+func (x *ScenePlayOwnerStartInviteRsp) Reset() {
+ *x = ScenePlayOwnerStartInviteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayOwnerStartInviteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayOwnerStartInviteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayOwnerStartInviteRsp) ProtoMessage() {}
+
+func (x *ScenePlayOwnerStartInviteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayOwnerStartInviteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayOwnerStartInviteRsp.ProtoReflect.Descriptor instead.
+func (*ScenePlayOwnerStartInviteRsp) Descriptor() ([]byte, []int) {
+ return file_ScenePlayOwnerStartInviteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayOwnerStartInviteRsp) GetIsSkipMatch() bool {
+ if x != nil {
+ return x.IsSkipMatch
+ }
+ return false
+}
+
+func (x *ScenePlayOwnerStartInviteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ScenePlayOwnerStartInviteRsp) GetPlayId() uint32 {
+ if x != nil {
+ return x.PlayId
+ }
+ return 0
+}
+
+var File_ScenePlayOwnerStartInviteRsp_proto protoreflect.FileDescriptor
+
+var file_ScenePlayOwnerStartInviteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x1c, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x6b, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6c, 0x61,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayOwnerStartInviteRsp_proto_rawDescOnce sync.Once
+ file_ScenePlayOwnerStartInviteRsp_proto_rawDescData = file_ScenePlayOwnerStartInviteRsp_proto_rawDesc
+)
+
+func file_ScenePlayOwnerStartInviteRsp_proto_rawDescGZIP() []byte {
+ file_ScenePlayOwnerStartInviteRsp_proto_rawDescOnce.Do(func() {
+ file_ScenePlayOwnerStartInviteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayOwnerStartInviteRsp_proto_rawDescData)
+ })
+ return file_ScenePlayOwnerStartInviteRsp_proto_rawDescData
+}
+
+var file_ScenePlayOwnerStartInviteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayOwnerStartInviteRsp_proto_goTypes = []interface{}{
+ (*ScenePlayOwnerStartInviteRsp)(nil), // 0: proto.ScenePlayOwnerStartInviteRsp
+}
+var file_ScenePlayOwnerStartInviteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayOwnerStartInviteRsp_proto_init() }
+func file_ScenePlayOwnerStartInviteRsp_proto_init() {
+ if File_ScenePlayOwnerStartInviteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayOwnerStartInviteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayOwnerStartInviteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayOwnerStartInviteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayOwnerStartInviteRsp_proto_goTypes,
+ DependencyIndexes: file_ScenePlayOwnerStartInviteRsp_proto_depIdxs,
+ MessageInfos: file_ScenePlayOwnerStartInviteRsp_proto_msgTypes,
+ }.Build()
+ File_ScenePlayOwnerStartInviteRsp_proto = out.File
+ file_ScenePlayOwnerStartInviteRsp_proto_rawDesc = nil
+ file_ScenePlayOwnerStartInviteRsp_proto_goTypes = nil
+ file_ScenePlayOwnerStartInviteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayerBackgroundAvatarRefreshNotify.pb.go b/protocol/proto/ScenePlayerBackgroundAvatarRefreshNotify.pb.go
new file mode 100644
index 00000000..a850e407
--- /dev/null
+++ b/protocol/proto/ScenePlayerBackgroundAvatarRefreshNotify.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayerBackgroundAvatarRefreshNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3274
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayerBackgroundAvatarRefreshNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityList []*SceneEntityInfo `protobuf:"bytes,4,rep,name=entity_list,json=entityList,proto3" json:"entity_list,omitempty"`
+ AppearType VisionType `protobuf:"varint,8,opt,name=appear_type,json=appearType,proto3,enum=proto.VisionType" json:"appear_type,omitempty"`
+ Param uint32 `protobuf:"varint,9,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *ScenePlayerBackgroundAvatarRefreshNotify) Reset() {
+ *x = ScenePlayerBackgroundAvatarRefreshNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayerBackgroundAvatarRefreshNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayerBackgroundAvatarRefreshNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayerBackgroundAvatarRefreshNotify) ProtoMessage() {}
+
+func (x *ScenePlayerBackgroundAvatarRefreshNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayerBackgroundAvatarRefreshNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayerBackgroundAvatarRefreshNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayerBackgroundAvatarRefreshNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayerBackgroundAvatarRefreshNotify) GetEntityList() []*SceneEntityInfo {
+ if x != nil {
+ return x.EntityList
+ }
+ return nil
+}
+
+func (x *ScenePlayerBackgroundAvatarRefreshNotify) GetAppearType() VisionType {
+ if x != nil {
+ return x.AppearType
+ }
+ return VisionType_VISION_TYPE_NONE
+}
+
+func (x *ScenePlayerBackgroundAvatarRefreshNotify) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_ScenePlayerBackgroundAvatarRefreshNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x61, 0x63,
+ 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10,
+ 0x56, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xad, 0x01, 0x0a, 0x28, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x42, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x37, 0x0a,
+ 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
+ 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDescData = file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDesc
+)
+
+func file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDescData)
+ })
+ return file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDescData
+}
+
+var file_ScenePlayerBackgroundAvatarRefreshNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayerBackgroundAvatarRefreshNotify_proto_goTypes = []interface{}{
+ (*ScenePlayerBackgroundAvatarRefreshNotify)(nil), // 0: proto.ScenePlayerBackgroundAvatarRefreshNotify
+ (*SceneEntityInfo)(nil), // 1: proto.SceneEntityInfo
+ (VisionType)(0), // 2: proto.VisionType
+}
+var file_ScenePlayerBackgroundAvatarRefreshNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayerBackgroundAvatarRefreshNotify.entity_list:type_name -> proto.SceneEntityInfo
+ 2, // 1: proto.ScenePlayerBackgroundAvatarRefreshNotify.appear_type:type_name -> proto.VisionType
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayerBackgroundAvatarRefreshNotify_proto_init() }
+func file_ScenePlayerBackgroundAvatarRefreshNotify_proto_init() {
+ if File_ScenePlayerBackgroundAvatarRefreshNotify_proto != nil {
+ return
+ }
+ file_SceneEntityInfo_proto_init()
+ file_VisionType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayerBackgroundAvatarRefreshNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayerBackgroundAvatarRefreshNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayerBackgroundAvatarRefreshNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayerBackgroundAvatarRefreshNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayerBackgroundAvatarRefreshNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayerBackgroundAvatarRefreshNotify_proto = out.File
+ file_ScenePlayerBackgroundAvatarRefreshNotify_proto_rawDesc = nil
+ file_ScenePlayerBackgroundAvatarRefreshNotify_proto_goTypes = nil
+ file_ScenePlayerBackgroundAvatarRefreshNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayerInfo.pb.go b/protocol/proto/ScenePlayerInfo.pb.go
new file mode 100644
index 00000000..b357810d
--- /dev/null
+++ b/protocol/proto/ScenePlayerInfo.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ScenePlayerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,10,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ PeerId uint32 `protobuf:"varint,6,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
+ OnlinePlayerInfo *OnlinePlayerInfo `protobuf:"bytes,13,opt,name=online_player_info,json=onlinePlayerInfo,proto3" json:"online_player_info,omitempty"`
+ IsConnected bool `protobuf:"varint,2,opt,name=is_connected,json=isConnected,proto3" json:"is_connected,omitempty"`
+ Name string `protobuf:"bytes,15,opt,name=name,proto3" json:"name,omitempty"`
+ Uid uint32 `protobuf:"varint,8,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *ScenePlayerInfo) Reset() {
+ *x = ScenePlayerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayerInfo) ProtoMessage() {}
+
+func (x *ScenePlayerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayerInfo.ProtoReflect.Descriptor instead.
+func (*ScenePlayerInfo) Descriptor() ([]byte, []int) {
+ return file_ScenePlayerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayerInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *ScenePlayerInfo) GetPeerId() uint32 {
+ if x != nil {
+ return x.PeerId
+ }
+ return 0
+}
+
+func (x *ScenePlayerInfo) GetOnlinePlayerInfo() *OnlinePlayerInfo {
+ if x != nil {
+ return x.OnlinePlayerInfo
+ }
+ return nil
+}
+
+func (x *ScenePlayerInfo) GetIsConnected() bool {
+ if x != nil {
+ return x.IsConnected
+ }
+ return false
+}
+
+func (x *ScenePlayerInfo) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ScenePlayerInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_ScenePlayerInfo_proto protoreflect.FileDescriptor
+
+var file_ScenePlayerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16,
+ 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x01, 0x0a, 0x0f, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45,
+ 0x0a, 0x12, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x10, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43,
+ 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03,
+ 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayerInfo_proto_rawDescOnce sync.Once
+ file_ScenePlayerInfo_proto_rawDescData = file_ScenePlayerInfo_proto_rawDesc
+)
+
+func file_ScenePlayerInfo_proto_rawDescGZIP() []byte {
+ file_ScenePlayerInfo_proto_rawDescOnce.Do(func() {
+ file_ScenePlayerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayerInfo_proto_rawDescData)
+ })
+ return file_ScenePlayerInfo_proto_rawDescData
+}
+
+var file_ScenePlayerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayerInfo_proto_goTypes = []interface{}{
+ (*ScenePlayerInfo)(nil), // 0: proto.ScenePlayerInfo
+ (*OnlinePlayerInfo)(nil), // 1: proto.OnlinePlayerInfo
+}
+var file_ScenePlayerInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayerInfo.online_player_info:type_name -> proto.OnlinePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayerInfo_proto_init() }
+func file_ScenePlayerInfo_proto_init() {
+ if File_ScenePlayerInfo_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayerInfo_proto_goTypes,
+ DependencyIndexes: file_ScenePlayerInfo_proto_depIdxs,
+ MessageInfos: file_ScenePlayerInfo_proto_msgTypes,
+ }.Build()
+ File_ScenePlayerInfo_proto = out.File
+ file_ScenePlayerInfo_proto_rawDesc = nil
+ file_ScenePlayerInfo_proto_goTypes = nil
+ file_ScenePlayerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayerInfoNotify.pb.go b/protocol/proto/ScenePlayerInfoNotify.pb.go
new file mode 100644
index 00000000..75a435a5
--- /dev/null
+++ b/protocol/proto/ScenePlayerInfoNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayerInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 267
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayerInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerInfoList []*ScenePlayerInfo `protobuf:"bytes,5,rep,name=player_info_list,json=playerInfoList,proto3" json:"player_info_list,omitempty"`
+}
+
+func (x *ScenePlayerInfoNotify) Reset() {
+ *x = ScenePlayerInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayerInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayerInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayerInfoNotify) ProtoMessage() {}
+
+func (x *ScenePlayerInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayerInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayerInfoNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayerInfoNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayerInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayerInfoNotify) GetPlayerInfoList() []*ScenePlayerInfo {
+ if x != nil {
+ return x.PlayerInfoList
+ }
+ return nil
+}
+
+var File_ScenePlayerInfoNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayerInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x15, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x40, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69,
+ 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayerInfoNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayerInfoNotify_proto_rawDescData = file_ScenePlayerInfoNotify_proto_rawDesc
+)
+
+func file_ScenePlayerInfoNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayerInfoNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayerInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayerInfoNotify_proto_rawDescData)
+ })
+ return file_ScenePlayerInfoNotify_proto_rawDescData
+}
+
+var file_ScenePlayerInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayerInfoNotify_proto_goTypes = []interface{}{
+ (*ScenePlayerInfoNotify)(nil), // 0: proto.ScenePlayerInfoNotify
+ (*ScenePlayerInfo)(nil), // 1: proto.ScenePlayerInfo
+}
+var file_ScenePlayerInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayerInfoNotify.player_info_list:type_name -> proto.ScenePlayerInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayerInfoNotify_proto_init() }
+func file_ScenePlayerInfoNotify_proto_init() {
+ if File_ScenePlayerInfoNotify_proto != nil {
+ return
+ }
+ file_ScenePlayerInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayerInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayerInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayerInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayerInfoNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayerInfoNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayerInfoNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayerInfoNotify_proto = out.File
+ file_ScenePlayerInfoNotify_proto_rawDesc = nil
+ file_ScenePlayerInfoNotify_proto_goTypes = nil
+ file_ScenePlayerInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayerLocationNotify.pb.go b/protocol/proto/ScenePlayerLocationNotify.pb.go
new file mode 100644
index 00000000..07eed5e7
--- /dev/null
+++ b/protocol/proto/ScenePlayerLocationNotify.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayerLocationNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 248
+// EnetChannelId: 1
+// EnetIsReliable: true
+type ScenePlayerLocationNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ VehicleLocList []*VehicleLocationInfo `protobuf:"bytes,3,rep,name=vehicle_loc_list,json=vehicleLocList,proto3" json:"vehicle_loc_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,9,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ PlayerLocList []*PlayerLocationInfo `protobuf:"bytes,14,rep,name=player_loc_list,json=playerLocList,proto3" json:"player_loc_list,omitempty"`
+}
+
+func (x *ScenePlayerLocationNotify) Reset() {
+ *x = ScenePlayerLocationNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayerLocationNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayerLocationNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayerLocationNotify) ProtoMessage() {}
+
+func (x *ScenePlayerLocationNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayerLocationNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayerLocationNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayerLocationNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayerLocationNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayerLocationNotify) GetVehicleLocList() []*VehicleLocationInfo {
+ if x != nil {
+ return x.VehicleLocList
+ }
+ return nil
+}
+
+func (x *ScenePlayerLocationNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *ScenePlayerLocationNotify) GetPlayerLocList() []*PlayerLocationInfo {
+ if x != nil {
+ return x.PlayerLocList
+ }
+ return nil
+}
+
+var File_ScenePlayerLocationNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayerLocationNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01,
+ 0x0a, 0x19, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x44, 0x0a, 0x10, 0x76,
+ 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0e, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0f,
+ 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayerLocationNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayerLocationNotify_proto_rawDescData = file_ScenePlayerLocationNotify_proto_rawDesc
+)
+
+func file_ScenePlayerLocationNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayerLocationNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayerLocationNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayerLocationNotify_proto_rawDescData)
+ })
+ return file_ScenePlayerLocationNotify_proto_rawDescData
+}
+
+var file_ScenePlayerLocationNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayerLocationNotify_proto_goTypes = []interface{}{
+ (*ScenePlayerLocationNotify)(nil), // 0: proto.ScenePlayerLocationNotify
+ (*VehicleLocationInfo)(nil), // 1: proto.VehicleLocationInfo
+ (*PlayerLocationInfo)(nil), // 2: proto.PlayerLocationInfo
+}
+var file_ScenePlayerLocationNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ScenePlayerLocationNotify.vehicle_loc_list:type_name -> proto.VehicleLocationInfo
+ 2, // 1: proto.ScenePlayerLocationNotify.player_loc_list:type_name -> proto.PlayerLocationInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayerLocationNotify_proto_init() }
+func file_ScenePlayerLocationNotify_proto_init() {
+ if File_ScenePlayerLocationNotify_proto != nil {
+ return
+ }
+ file_PlayerLocationInfo_proto_init()
+ file_VehicleLocationInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayerLocationNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayerLocationNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayerLocationNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayerLocationNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayerLocationNotify_proto_depIdxs,
+ MessageInfos: file_ScenePlayerLocationNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayerLocationNotify_proto = out.File
+ file_ScenePlayerLocationNotify_proto_rawDesc = nil
+ file_ScenePlayerLocationNotify_proto_goTypes = nil
+ file_ScenePlayerLocationNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePlayerSoundNotify.pb.go b/protocol/proto/ScenePlayerSoundNotify.pb.go
new file mode 100644
index 00000000..bb88f343
--- /dev/null
+++ b/protocol/proto/ScenePlayerSoundNotify.pb.go
@@ -0,0 +1,249 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePlayerSoundNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ScenePlayerSoundNotify_PlaySoundType int32
+
+const (
+ ScenePlayerSoundNotify_PLAY_SOUND_TYPE_NONE ScenePlayerSoundNotify_PlaySoundType = 0
+ ScenePlayerSoundNotify_PLAY_SOUND_TYPE_START ScenePlayerSoundNotify_PlaySoundType = 1
+ ScenePlayerSoundNotify_PLAY_SOUND_TYPE_STOP ScenePlayerSoundNotify_PlaySoundType = 2
+)
+
+// Enum value maps for ScenePlayerSoundNotify_PlaySoundType.
+var (
+ ScenePlayerSoundNotify_PlaySoundType_name = map[int32]string{
+ 0: "PLAY_SOUND_TYPE_NONE",
+ 1: "PLAY_SOUND_TYPE_START",
+ 2: "PLAY_SOUND_TYPE_STOP",
+ }
+ ScenePlayerSoundNotify_PlaySoundType_value = map[string]int32{
+ "PLAY_SOUND_TYPE_NONE": 0,
+ "PLAY_SOUND_TYPE_START": 1,
+ "PLAY_SOUND_TYPE_STOP": 2,
+ }
+)
+
+func (x ScenePlayerSoundNotify_PlaySoundType) Enum() *ScenePlayerSoundNotify_PlaySoundType {
+ p := new(ScenePlayerSoundNotify_PlaySoundType)
+ *p = x
+ return p
+}
+
+func (x ScenePlayerSoundNotify_PlaySoundType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ScenePlayerSoundNotify_PlaySoundType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ScenePlayerSoundNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (ScenePlayerSoundNotify_PlaySoundType) Type() protoreflect.EnumType {
+ return &file_ScenePlayerSoundNotify_proto_enumTypes[0]
+}
+
+func (x ScenePlayerSoundNotify_PlaySoundType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ScenePlayerSoundNotify_PlaySoundType.Descriptor instead.
+func (ScenePlayerSoundNotify_PlaySoundType) EnumDescriptor() ([]byte, []int) {
+ return file_ScenePlayerSoundNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 233
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePlayerSoundNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SoundName string `protobuf:"bytes,4,opt,name=sound_name,json=soundName,proto3" json:"sound_name,omitempty"`
+ PlayType ScenePlayerSoundNotify_PlaySoundType `protobuf:"varint,8,opt,name=play_type,json=playType,proto3,enum=proto.ScenePlayerSoundNotify_PlaySoundType" json:"play_type,omitempty"`
+ PlayPos *Vector `protobuf:"bytes,3,opt,name=play_pos,json=playPos,proto3" json:"play_pos,omitempty"`
+}
+
+func (x *ScenePlayerSoundNotify) Reset() {
+ *x = ScenePlayerSoundNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePlayerSoundNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePlayerSoundNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePlayerSoundNotify) ProtoMessage() {}
+
+func (x *ScenePlayerSoundNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePlayerSoundNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePlayerSoundNotify.ProtoReflect.Descriptor instead.
+func (*ScenePlayerSoundNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePlayerSoundNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePlayerSoundNotify) GetSoundName() string {
+ if x != nil {
+ return x.SoundName
+ }
+ return ""
+}
+
+func (x *ScenePlayerSoundNotify) GetPlayType() ScenePlayerSoundNotify_PlaySoundType {
+ if x != nil {
+ return x.PlayType
+ }
+ return ScenePlayerSoundNotify_PLAY_SOUND_TYPE_NONE
+}
+
+func (x *ScenePlayerSoundNotify) GetPlayPos() *Vector {
+ if x != nil {
+ return x.PlayPos
+ }
+ return nil
+}
+
+var File_ScenePlayerSoundNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePlayerSoundNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6f, 0x75,
+ 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61,
+ 0x79, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a,
+ 0x09, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x50, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x70,
+ 0x6c, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x5f,
+ 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x50, 0x6f,
+ 0x73, 0x22, 0x5e, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x4e, 0x44,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15,
+ 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4c, 0x41, 0x59, 0x5f,
+ 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x10,
+ 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePlayerSoundNotify_proto_rawDescOnce sync.Once
+ file_ScenePlayerSoundNotify_proto_rawDescData = file_ScenePlayerSoundNotify_proto_rawDesc
+)
+
+func file_ScenePlayerSoundNotify_proto_rawDescGZIP() []byte {
+ file_ScenePlayerSoundNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePlayerSoundNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePlayerSoundNotify_proto_rawDescData)
+ })
+ return file_ScenePlayerSoundNotify_proto_rawDescData
+}
+
+var file_ScenePlayerSoundNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ScenePlayerSoundNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePlayerSoundNotify_proto_goTypes = []interface{}{
+ (ScenePlayerSoundNotify_PlaySoundType)(0), // 0: proto.ScenePlayerSoundNotify.PlaySoundType
+ (*ScenePlayerSoundNotify)(nil), // 1: proto.ScenePlayerSoundNotify
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_ScenePlayerSoundNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.ScenePlayerSoundNotify.play_type:type_name -> proto.ScenePlayerSoundNotify.PlaySoundType
+ 2, // 1: proto.ScenePlayerSoundNotify.play_pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ScenePlayerSoundNotify_proto_init() }
+func file_ScenePlayerSoundNotify_proto_init() {
+ if File_ScenePlayerSoundNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePlayerSoundNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePlayerSoundNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePlayerSoundNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePlayerSoundNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePlayerSoundNotify_proto_depIdxs,
+ EnumInfos: file_ScenePlayerSoundNotify_proto_enumTypes,
+ MessageInfos: file_ScenePlayerSoundNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePlayerSoundNotify_proto = out.File
+ file_ScenePlayerSoundNotify_proto_rawDesc = nil
+ file_ScenePlayerSoundNotify_proto_goTypes = nil
+ file_ScenePlayerSoundNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScenePointUnlockNotify.pb.go b/protocol/proto/ScenePointUnlockNotify.pb.go
new file mode 100644
index 00000000..05ad664e
--- /dev/null
+++ b/protocol/proto/ScenePointUnlockNotify.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScenePointUnlockNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 247
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ScenePointUnlockNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointList []uint32 `protobuf:"varint,13,rep,packed,name=point_list,json=pointList,proto3" json:"point_list,omitempty"`
+ SceneId uint32 `protobuf:"varint,6,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ UnhidePointList []uint32 `protobuf:"varint,12,rep,packed,name=unhide_point_list,json=unhidePointList,proto3" json:"unhide_point_list,omitempty"`
+ HidePointList []uint32 `protobuf:"varint,1,rep,packed,name=hide_point_list,json=hidePointList,proto3" json:"hide_point_list,omitempty"`
+ LockedPointList []uint32 `protobuf:"varint,8,rep,packed,name=locked_point_list,json=lockedPointList,proto3" json:"locked_point_list,omitempty"`
+}
+
+func (x *ScenePointUnlockNotify) Reset() {
+ *x = ScenePointUnlockNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScenePointUnlockNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScenePointUnlockNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScenePointUnlockNotify) ProtoMessage() {}
+
+func (x *ScenePointUnlockNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ScenePointUnlockNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScenePointUnlockNotify.ProtoReflect.Descriptor instead.
+func (*ScenePointUnlockNotify) Descriptor() ([]byte, []int) {
+ return file_ScenePointUnlockNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScenePointUnlockNotify) GetPointList() []uint32 {
+ if x != nil {
+ return x.PointList
+ }
+ return nil
+}
+
+func (x *ScenePointUnlockNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *ScenePointUnlockNotify) GetUnhidePointList() []uint32 {
+ if x != nil {
+ return x.UnhidePointList
+ }
+ return nil
+}
+
+func (x *ScenePointUnlockNotify) GetHidePointList() []uint32 {
+ if x != nil {
+ return x.HidePointList
+ }
+ return nil
+}
+
+func (x *ScenePointUnlockNotify) GetLockedPointList() []uint32 {
+ if x != nil {
+ return x.LockedPointList
+ }
+ return nil
+}
+
+var File_ScenePointUnlockNotify_proto protoreflect.FileDescriptor
+
+var file_ScenePointUnlockNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x6e, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x01, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x6e,
+ 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x75, 0x6e, 0x68, 0x69, 0x64, 0x65, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0d, 0x68, 0x69, 0x64, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a,
+ 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
+ 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScenePointUnlockNotify_proto_rawDescOnce sync.Once
+ file_ScenePointUnlockNotify_proto_rawDescData = file_ScenePointUnlockNotify_proto_rawDesc
+)
+
+func file_ScenePointUnlockNotify_proto_rawDescGZIP() []byte {
+ file_ScenePointUnlockNotify_proto_rawDescOnce.Do(func() {
+ file_ScenePointUnlockNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScenePointUnlockNotify_proto_rawDescData)
+ })
+ return file_ScenePointUnlockNotify_proto_rawDescData
+}
+
+var file_ScenePointUnlockNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScenePointUnlockNotify_proto_goTypes = []interface{}{
+ (*ScenePointUnlockNotify)(nil), // 0: proto.ScenePointUnlockNotify
+}
+var file_ScenePointUnlockNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScenePointUnlockNotify_proto_init() }
+func file_ScenePointUnlockNotify_proto_init() {
+ if File_ScenePointUnlockNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScenePointUnlockNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScenePointUnlockNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScenePointUnlockNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScenePointUnlockNotify_proto_goTypes,
+ DependencyIndexes: file_ScenePointUnlockNotify_proto_depIdxs,
+ MessageInfos: file_ScenePointUnlockNotify_proto_msgTypes,
+ }.Build()
+ File_ScenePointUnlockNotify_proto = out.File
+ file_ScenePointUnlockNotify_proto_rawDesc = nil
+ file_ScenePointUnlockNotify_proto_goTypes = nil
+ file_ScenePointUnlockNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneReliquaryInfo.pb.go b/protocol/proto/SceneReliquaryInfo.pb.go
new file mode 100644
index 00000000..77d002cd
--- /dev/null
+++ b/protocol/proto/SceneReliquaryInfo.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneReliquaryInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneReliquaryInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,1,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ Guid uint64 `protobuf:"varint,2,opt,name=guid,proto3" json:"guid,omitempty"`
+ Level uint32 `protobuf:"varint,3,opt,name=level,proto3" json:"level,omitempty"`
+ PromoteLevel uint32 `protobuf:"varint,4,opt,name=promote_level,json=promoteLevel,proto3" json:"promote_level,omitempty"`
+}
+
+func (x *SceneReliquaryInfo) Reset() {
+ *x = SceneReliquaryInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneReliquaryInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneReliquaryInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneReliquaryInfo) ProtoMessage() {}
+
+func (x *SceneReliquaryInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneReliquaryInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneReliquaryInfo.ProtoReflect.Descriptor instead.
+func (*SceneReliquaryInfo) Descriptor() ([]byte, []int) {
+ return file_SceneReliquaryInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneReliquaryInfo) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *SceneReliquaryInfo) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *SceneReliquaryInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *SceneReliquaryInfo) GetPromoteLevel() uint32 {
+ if x != nil {
+ return x.PromoteLevel
+ }
+ return 0
+}
+
+var File_SceneReliquaryInfo_proto protoreflect.FileDescriptor
+
+var file_SceneReliquaryInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x7c, 0x0a, 0x12, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75,
+ 0x61, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64,
+ 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04,
+ 0x67, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72,
+ 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneReliquaryInfo_proto_rawDescOnce sync.Once
+ file_SceneReliquaryInfo_proto_rawDescData = file_SceneReliquaryInfo_proto_rawDesc
+)
+
+func file_SceneReliquaryInfo_proto_rawDescGZIP() []byte {
+ file_SceneReliquaryInfo_proto_rawDescOnce.Do(func() {
+ file_SceneReliquaryInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneReliquaryInfo_proto_rawDescData)
+ })
+ return file_SceneReliquaryInfo_proto_rawDescData
+}
+
+var file_SceneReliquaryInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneReliquaryInfo_proto_goTypes = []interface{}{
+ (*SceneReliquaryInfo)(nil), // 0: proto.SceneReliquaryInfo
+}
+var file_SceneReliquaryInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneReliquaryInfo_proto_init() }
+func file_SceneReliquaryInfo_proto_init() {
+ if File_SceneReliquaryInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneReliquaryInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneReliquaryInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneReliquaryInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneReliquaryInfo_proto_goTypes,
+ DependencyIndexes: file_SceneReliquaryInfo_proto_depIdxs,
+ MessageInfos: file_SceneReliquaryInfo_proto_msgTypes,
+ }.Build()
+ File_SceneReliquaryInfo_proto = out.File
+ file_SceneReliquaryInfo_proto_rawDesc = nil
+ file_SceneReliquaryInfo_proto_goTypes = nil
+ file_SceneReliquaryInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneRouteChangeInfo.pb.go b/protocol/proto/SceneRouteChangeInfo.pb.go
new file mode 100644
index 00000000..2b2ac9dd
--- /dev/null
+++ b/protocol/proto/SceneRouteChangeInfo.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneRouteChangeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneRouteChangeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsForward bool `protobuf:"varint,12,opt,name=is_forward,json=isForward,proto3" json:"is_forward,omitempty"`
+ RouteId uint32 `protobuf:"varint,15,opt,name=route_id,json=routeId,proto3" json:"route_id,omitempty"`
+ Type uint32 `protobuf:"varint,4,opt,name=type,proto3" json:"type,omitempty"`
+ PointList []*RoutePointChangeInfo `protobuf:"bytes,1,rep,name=point_list,json=pointList,proto3" json:"point_list,omitempty"`
+}
+
+func (x *SceneRouteChangeInfo) Reset() {
+ *x = SceneRouteChangeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneRouteChangeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneRouteChangeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneRouteChangeInfo) ProtoMessage() {}
+
+func (x *SceneRouteChangeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneRouteChangeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneRouteChangeInfo.ProtoReflect.Descriptor instead.
+func (*SceneRouteChangeInfo) Descriptor() ([]byte, []int) {
+ return file_SceneRouteChangeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneRouteChangeInfo) GetIsForward() bool {
+ if x != nil {
+ return x.IsForward
+ }
+ return false
+}
+
+func (x *SceneRouteChangeInfo) GetRouteId() uint32 {
+ if x != nil {
+ return x.RouteId
+ }
+ return 0
+}
+
+func (x *SceneRouteChangeInfo) GetType() uint32 {
+ if x != nil {
+ return x.Type
+ }
+ return 0
+}
+
+func (x *SceneRouteChangeInfo) GetPointList() []*RoutePointChangeInfo {
+ if x != nil {
+ return x.PointList
+ }
+ return nil
+}
+
+var File_SceneRouteChangeInfo_proto protoreflect.FileDescriptor
+
+var file_SceneRouteChangeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xa0, 0x01, 0x0a, 0x14, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x66,
+ 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73,
+ 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65,
+ 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneRouteChangeInfo_proto_rawDescOnce sync.Once
+ file_SceneRouteChangeInfo_proto_rawDescData = file_SceneRouteChangeInfo_proto_rawDesc
+)
+
+func file_SceneRouteChangeInfo_proto_rawDescGZIP() []byte {
+ file_SceneRouteChangeInfo_proto_rawDescOnce.Do(func() {
+ file_SceneRouteChangeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneRouteChangeInfo_proto_rawDescData)
+ })
+ return file_SceneRouteChangeInfo_proto_rawDescData
+}
+
+var file_SceneRouteChangeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneRouteChangeInfo_proto_goTypes = []interface{}{
+ (*SceneRouteChangeInfo)(nil), // 0: proto.SceneRouteChangeInfo
+ (*RoutePointChangeInfo)(nil), // 1: proto.RoutePointChangeInfo
+}
+var file_SceneRouteChangeInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneRouteChangeInfo.point_list:type_name -> proto.RoutePointChangeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneRouteChangeInfo_proto_init() }
+func file_SceneRouteChangeInfo_proto_init() {
+ if File_SceneRouteChangeInfo_proto != nil {
+ return
+ }
+ file_RoutePointChangeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneRouteChangeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneRouteChangeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneRouteChangeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneRouteChangeInfo_proto_goTypes,
+ DependencyIndexes: file_SceneRouteChangeInfo_proto_depIdxs,
+ MessageInfos: file_SceneRouteChangeInfo_proto_msgTypes,
+ }.Build()
+ File_SceneRouteChangeInfo_proto = out.File
+ file_SceneRouteChangeInfo_proto_rawDesc = nil
+ file_SceneRouteChangeInfo_proto_goTypes = nil
+ file_SceneRouteChangeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneRouteChangeNotify.pb.go b/protocol/proto/SceneRouteChangeNotify.pb.go
new file mode 100644
index 00000000..c1cb8b5f
--- /dev/null
+++ b/protocol/proto/SceneRouteChangeNotify.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneRouteChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 240
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneRouteChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,12,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ SceneTime uint32 `protobuf:"varint,11,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ RouteList []*SceneRouteChangeInfo `protobuf:"bytes,2,rep,name=route_list,json=routeList,proto3" json:"route_list,omitempty"`
+}
+
+func (x *SceneRouteChangeNotify) Reset() {
+ *x = SceneRouteChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneRouteChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneRouteChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneRouteChangeNotify) ProtoMessage() {}
+
+func (x *SceneRouteChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneRouteChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneRouteChangeNotify.ProtoReflect.Descriptor instead.
+func (*SceneRouteChangeNotify) Descriptor() ([]byte, []int) {
+ return file_SceneRouteChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneRouteChangeNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *SceneRouteChangeNotify) GetSceneTime() uint32 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *SceneRouteChangeNotify) GetRouteList() []*SceneRouteChangeInfo {
+ if x != nil {
+ return x.RouteList
+ }
+ return nil
+}
+
+var File_SceneRouteChangeNotify_proto protoreflect.FileDescriptor
+
+var file_SceneRouteChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74,
+ 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08,
+ 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneRouteChangeNotify_proto_rawDescOnce sync.Once
+ file_SceneRouteChangeNotify_proto_rawDescData = file_SceneRouteChangeNotify_proto_rawDesc
+)
+
+func file_SceneRouteChangeNotify_proto_rawDescGZIP() []byte {
+ file_SceneRouteChangeNotify_proto_rawDescOnce.Do(func() {
+ file_SceneRouteChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneRouteChangeNotify_proto_rawDescData)
+ })
+ return file_SceneRouteChangeNotify_proto_rawDescData
+}
+
+var file_SceneRouteChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneRouteChangeNotify_proto_goTypes = []interface{}{
+ (*SceneRouteChangeNotify)(nil), // 0: proto.SceneRouteChangeNotify
+ (*SceneRouteChangeInfo)(nil), // 1: proto.SceneRouteChangeInfo
+}
+var file_SceneRouteChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneRouteChangeNotify.route_list:type_name -> proto.SceneRouteChangeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneRouteChangeNotify_proto_init() }
+func file_SceneRouteChangeNotify_proto_init() {
+ if File_SceneRouteChangeNotify_proto != nil {
+ return
+ }
+ file_SceneRouteChangeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneRouteChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneRouteChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneRouteChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneRouteChangeNotify_proto_goTypes,
+ DependencyIndexes: file_SceneRouteChangeNotify_proto_depIdxs,
+ MessageInfos: file_SceneRouteChangeNotify_proto_msgTypes,
+ }.Build()
+ File_SceneRouteChangeNotify_proto = out.File
+ file_SceneRouteChangeNotify_proto_rawDesc = nil
+ file_SceneRouteChangeNotify_proto_goTypes = nil
+ file_SceneRouteChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneSurfaceMaterial.pb.go b/protocol/proto/SceneSurfaceMaterial.pb.go
new file mode 100644
index 00000000..de3b71a3
--- /dev/null
+++ b/protocol/proto/SceneSurfaceMaterial.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneSurfaceMaterial.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneSurfaceMaterial int32
+
+const (
+ SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_INVALID SceneSurfaceMaterial = 0
+ SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_GRASS SceneSurfaceMaterial = 1
+ SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_DIRT SceneSurfaceMaterial = 2
+ SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_ROCK SceneSurfaceMaterial = 3
+ SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_SNOW SceneSurfaceMaterial = 4
+ SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_WATER SceneSurfaceMaterial = 5
+ SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_TILE SceneSurfaceMaterial = 6
+ SceneSurfaceMaterial_SCENE_SURFACE_MATERIAL_SAND SceneSurfaceMaterial = 7
+)
+
+// Enum value maps for SceneSurfaceMaterial.
+var (
+ SceneSurfaceMaterial_name = map[int32]string{
+ 0: "SCENE_SURFACE_MATERIAL_INVALID",
+ 1: "SCENE_SURFACE_MATERIAL_GRASS",
+ 2: "SCENE_SURFACE_MATERIAL_DIRT",
+ 3: "SCENE_SURFACE_MATERIAL_ROCK",
+ 4: "SCENE_SURFACE_MATERIAL_SNOW",
+ 5: "SCENE_SURFACE_MATERIAL_WATER",
+ 6: "SCENE_SURFACE_MATERIAL_TILE",
+ 7: "SCENE_SURFACE_MATERIAL_SAND",
+ }
+ SceneSurfaceMaterial_value = map[string]int32{
+ "SCENE_SURFACE_MATERIAL_INVALID": 0,
+ "SCENE_SURFACE_MATERIAL_GRASS": 1,
+ "SCENE_SURFACE_MATERIAL_DIRT": 2,
+ "SCENE_SURFACE_MATERIAL_ROCK": 3,
+ "SCENE_SURFACE_MATERIAL_SNOW": 4,
+ "SCENE_SURFACE_MATERIAL_WATER": 5,
+ "SCENE_SURFACE_MATERIAL_TILE": 6,
+ "SCENE_SURFACE_MATERIAL_SAND": 7,
+ }
+)
+
+func (x SceneSurfaceMaterial) Enum() *SceneSurfaceMaterial {
+ p := new(SceneSurfaceMaterial)
+ *p = x
+ return p
+}
+
+func (x SceneSurfaceMaterial) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SceneSurfaceMaterial) Descriptor() protoreflect.EnumDescriptor {
+ return file_SceneSurfaceMaterial_proto_enumTypes[0].Descriptor()
+}
+
+func (SceneSurfaceMaterial) Type() protoreflect.EnumType {
+ return &file_SceneSurfaceMaterial_proto_enumTypes[0]
+}
+
+func (x SceneSurfaceMaterial) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SceneSurfaceMaterial.Descriptor instead.
+func (SceneSurfaceMaterial) EnumDescriptor() ([]byte, []int) {
+ return file_SceneSurfaceMaterial_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SceneSurfaceMaterial_proto protoreflect.FileDescriptor
+
+var file_SceneSurfaceMaterial_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x53, 0x75, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61,
+ 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0xa3, 0x02, 0x0a, 0x14, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x53, 0x75, 0x72,
+ 0x66, 0x61, 0x63, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x1e,
+ 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4d, 0x41,
+ 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00,
+ 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x52, 0x46, 0x41, 0x43,
+ 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x47, 0x52, 0x41, 0x53, 0x53,
+ 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x52, 0x46,
+ 0x41, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x44, 0x49, 0x52,
+ 0x54, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x53, 0x55, 0x52,
+ 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x4f,
+ 0x43, 0x4b, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x53, 0x55,
+ 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f, 0x53,
+ 0x4e, 0x4f, 0x57, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x43, 0x45, 0x4e, 0x45, 0x5f, 0x53,
+ 0x55, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f,
+ 0x57, 0x41, 0x54, 0x45, 0x52, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x43, 0x45, 0x4e, 0x45,
+ 0x5f, 0x53, 0x55, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41,
+ 0x4c, 0x5f, 0x54, 0x49, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x43, 0x45, 0x4e,
+ 0x45, 0x5f, 0x53, 0x55, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49,
+ 0x41, 0x4c, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x10, 0x07, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneSurfaceMaterial_proto_rawDescOnce sync.Once
+ file_SceneSurfaceMaterial_proto_rawDescData = file_SceneSurfaceMaterial_proto_rawDesc
+)
+
+func file_SceneSurfaceMaterial_proto_rawDescGZIP() []byte {
+ file_SceneSurfaceMaterial_proto_rawDescOnce.Do(func() {
+ file_SceneSurfaceMaterial_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneSurfaceMaterial_proto_rawDescData)
+ })
+ return file_SceneSurfaceMaterial_proto_rawDescData
+}
+
+var file_SceneSurfaceMaterial_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_SceneSurfaceMaterial_proto_goTypes = []interface{}{
+ (SceneSurfaceMaterial)(0), // 0: proto.SceneSurfaceMaterial
+}
+var file_SceneSurfaceMaterial_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneSurfaceMaterial_proto_init() }
+func file_SceneSurfaceMaterial_proto_init() {
+ if File_SceneSurfaceMaterial_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneSurfaceMaterial_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneSurfaceMaterial_proto_goTypes,
+ DependencyIndexes: file_SceneSurfaceMaterial_proto_depIdxs,
+ EnumInfos: file_SceneSurfaceMaterial_proto_enumTypes,
+ }.Build()
+ File_SceneSurfaceMaterial_proto = out.File
+ file_SceneSurfaceMaterial_proto_rawDesc = nil
+ file_SceneSurfaceMaterial_proto_goTypes = nil
+ file_SceneSurfaceMaterial_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneTeamAvatar.pb.go b/protocol/proto/SceneTeamAvatar.pb.go
new file mode 100644
index 00000000..1efee93c
--- /dev/null
+++ b/protocol/proto/SceneTeamAvatar.pb.go
@@ -0,0 +1,354 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneTeamAvatar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneTeamAvatar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarAbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,5,opt,name=avatar_ability_info,json=avatarAbilityInfo,proto3" json:"avatar_ability_info,omitempty"`
+ AvatarInfo *AvatarInfo `protobuf:"bytes,8,opt,name=avatar_info,json=avatarInfo,proto3" json:"avatar_info,omitempty"`
+ IsOnScene bool `protobuf:"varint,152,opt,name=is_on_scene,json=isOnScene,proto3" json:"is_on_scene,omitempty"`
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,15,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ SceneId uint32 `protobuf:"varint,1,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ WeaponEntityId uint32 `protobuf:"varint,7,opt,name=weapon_entity_id,json=weaponEntityId,proto3" json:"weapon_entity_id,omitempty"`
+ SceneAvatarInfo *SceneAvatarInfo `protobuf:"bytes,3,opt,name=scene_avatar_info,json=sceneAvatarInfo,proto3" json:"scene_avatar_info,omitempty"`
+ WeaponGuid uint64 `protobuf:"varint,4,opt,name=weapon_guid,json=weaponGuid,proto3" json:"weapon_guid,omitempty"`
+ WeaponAbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,11,opt,name=weapon_ability_info,json=weaponAbilityInfo,proto3" json:"weapon_ability_info,omitempty"`
+ SceneEntityInfo *SceneEntityInfo `protobuf:"bytes,12,opt,name=scene_entity_info,json=sceneEntityInfo,proto3" json:"scene_entity_info,omitempty"`
+ PlayerUid uint32 `protobuf:"varint,14,opt,name=player_uid,json=playerUid,proto3" json:"player_uid,omitempty"`
+ IsReconnect bool `protobuf:"varint,6,opt,name=is_reconnect,json=isReconnect,proto3" json:"is_reconnect,omitempty"`
+ AbilityControlBlock *AbilityControlBlock `protobuf:"bytes,2,opt,name=ability_control_block,json=abilityControlBlock,proto3" json:"ability_control_block,omitempty"`
+ IsPlayerCurAvatar bool `protobuf:"varint,13,opt,name=is_player_cur_avatar,json=isPlayerCurAvatar,proto3" json:"is_player_cur_avatar,omitempty"`
+ ServerBuffList []*ServerBuff `protobuf:"bytes,10,rep,name=server_buff_list,json=serverBuffList,proto3" json:"server_buff_list,omitempty"`
+}
+
+func (x *SceneTeamAvatar) Reset() {
+ *x = SceneTeamAvatar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneTeamAvatar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneTeamAvatar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneTeamAvatar) ProtoMessage() {}
+
+func (x *SceneTeamAvatar) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneTeamAvatar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneTeamAvatar.ProtoReflect.Descriptor instead.
+func (*SceneTeamAvatar) Descriptor() ([]byte, []int) {
+ return file_SceneTeamAvatar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneTeamAvatar) GetAvatarAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.AvatarAbilityInfo
+ }
+ return nil
+}
+
+func (x *SceneTeamAvatar) GetAvatarInfo() *AvatarInfo {
+ if x != nil {
+ return x.AvatarInfo
+ }
+ return nil
+}
+
+func (x *SceneTeamAvatar) GetIsOnScene() bool {
+ if x != nil {
+ return x.IsOnScene
+ }
+ return false
+}
+
+func (x *SceneTeamAvatar) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *SceneTeamAvatar) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *SceneTeamAvatar) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *SceneTeamAvatar) GetWeaponEntityId() uint32 {
+ if x != nil {
+ return x.WeaponEntityId
+ }
+ return 0
+}
+
+func (x *SceneTeamAvatar) GetSceneAvatarInfo() *SceneAvatarInfo {
+ if x != nil {
+ return x.SceneAvatarInfo
+ }
+ return nil
+}
+
+func (x *SceneTeamAvatar) GetWeaponGuid() uint64 {
+ if x != nil {
+ return x.WeaponGuid
+ }
+ return 0
+}
+
+func (x *SceneTeamAvatar) GetWeaponAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.WeaponAbilityInfo
+ }
+ return nil
+}
+
+func (x *SceneTeamAvatar) GetSceneEntityInfo() *SceneEntityInfo {
+ if x != nil {
+ return x.SceneEntityInfo
+ }
+ return nil
+}
+
+func (x *SceneTeamAvatar) GetPlayerUid() uint32 {
+ if x != nil {
+ return x.PlayerUid
+ }
+ return 0
+}
+
+func (x *SceneTeamAvatar) GetIsReconnect() bool {
+ if x != nil {
+ return x.IsReconnect
+ }
+ return false
+}
+
+func (x *SceneTeamAvatar) GetAbilityControlBlock() *AbilityControlBlock {
+ if x != nil {
+ return x.AbilityControlBlock
+ }
+ return nil
+}
+
+func (x *SceneTeamAvatar) GetIsPlayerCurAvatar() bool {
+ if x != nil {
+ return x.IsPlayerCurAvatar
+ }
+ return false
+}
+
+func (x *SceneTeamAvatar) GetServerBuffList() []*ServerBuff {
+ if x != nil {
+ return x.ServerBuffList
+ }
+ return nil
+}
+
+var File_SceneTeamAvatar_proto protoreflect.FileDescriptor
+
+var file_SceneTeamAvatar_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66,
+ 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x06, 0x0a, 0x0f, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x4b, 0x0a, 0x13, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e,
+ 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x69, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x98, 0x01, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4f, 0x6e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e,
+ 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x42, 0x0a, 0x11, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x77, 0x65, 0x61, 0x70, 0x6f,
+ 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12, 0x4b, 0x0a, 0x13, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f,
+ 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69,
+ 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x11, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x11, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x5f, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x52,
+ 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x4e, 0x0a, 0x15, 0x61, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x52, 0x13, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x43, 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x3b, 0x0a, 0x10, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75,
+ 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneTeamAvatar_proto_rawDescOnce sync.Once
+ file_SceneTeamAvatar_proto_rawDescData = file_SceneTeamAvatar_proto_rawDesc
+)
+
+func file_SceneTeamAvatar_proto_rawDescGZIP() []byte {
+ file_SceneTeamAvatar_proto_rawDescOnce.Do(func() {
+ file_SceneTeamAvatar_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneTeamAvatar_proto_rawDescData)
+ })
+ return file_SceneTeamAvatar_proto_rawDescData
+}
+
+var file_SceneTeamAvatar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneTeamAvatar_proto_goTypes = []interface{}{
+ (*SceneTeamAvatar)(nil), // 0: proto.SceneTeamAvatar
+ (*AbilitySyncStateInfo)(nil), // 1: proto.AbilitySyncStateInfo
+ (*AvatarInfo)(nil), // 2: proto.AvatarInfo
+ (*SceneAvatarInfo)(nil), // 3: proto.SceneAvatarInfo
+ (*SceneEntityInfo)(nil), // 4: proto.SceneEntityInfo
+ (*AbilityControlBlock)(nil), // 5: proto.AbilityControlBlock
+ (*ServerBuff)(nil), // 6: proto.ServerBuff
+}
+var file_SceneTeamAvatar_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneTeamAvatar.avatar_ability_info:type_name -> proto.AbilitySyncStateInfo
+ 2, // 1: proto.SceneTeamAvatar.avatar_info:type_name -> proto.AvatarInfo
+ 3, // 2: proto.SceneTeamAvatar.scene_avatar_info:type_name -> proto.SceneAvatarInfo
+ 1, // 3: proto.SceneTeamAvatar.weapon_ability_info:type_name -> proto.AbilitySyncStateInfo
+ 4, // 4: proto.SceneTeamAvatar.scene_entity_info:type_name -> proto.SceneEntityInfo
+ 5, // 5: proto.SceneTeamAvatar.ability_control_block:type_name -> proto.AbilityControlBlock
+ 6, // 6: proto.SceneTeamAvatar.server_buff_list:type_name -> proto.ServerBuff
+ 7, // [7:7] is the sub-list for method output_type
+ 7, // [7:7] is the sub-list for method input_type
+ 7, // [7:7] is the sub-list for extension type_name
+ 7, // [7:7] is the sub-list for extension extendee
+ 0, // [0:7] is the sub-list for field type_name
+}
+
+func init() { file_SceneTeamAvatar_proto_init() }
+func file_SceneTeamAvatar_proto_init() {
+ if File_SceneTeamAvatar_proto != nil {
+ return
+ }
+ file_AbilityControlBlock_proto_init()
+ file_AbilitySyncStateInfo_proto_init()
+ file_AvatarInfo_proto_init()
+ file_SceneAvatarInfo_proto_init()
+ file_SceneEntityInfo_proto_init()
+ file_ServerBuff_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneTeamAvatar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneTeamAvatar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneTeamAvatar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneTeamAvatar_proto_goTypes,
+ DependencyIndexes: file_SceneTeamAvatar_proto_depIdxs,
+ MessageInfos: file_SceneTeamAvatar_proto_msgTypes,
+ }.Build()
+ File_SceneTeamAvatar_proto = out.File
+ file_SceneTeamAvatar_proto_rawDesc = nil
+ file_SceneTeamAvatar_proto_goTypes = nil
+ file_SceneTeamAvatar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneTeamUpdateNotify.pb.go b/protocol/proto/SceneTeamUpdateNotify.pb.go
new file mode 100644
index 00000000..87c2a35b
--- /dev/null
+++ b/protocol/proto/SceneTeamUpdateNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneTeamUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1775
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneTeamUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneTeamAvatarList []*SceneTeamAvatar `protobuf:"bytes,11,rep,name=scene_team_avatar_list,json=sceneTeamAvatarList,proto3" json:"scene_team_avatar_list,omitempty"`
+ IsInMp bool `protobuf:"varint,15,opt,name=is_in_mp,json=isInMp,proto3" json:"is_in_mp,omitempty"`
+}
+
+func (x *SceneTeamUpdateNotify) Reset() {
+ *x = SceneTeamUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneTeamUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneTeamUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneTeamUpdateNotify) ProtoMessage() {}
+
+func (x *SceneTeamUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneTeamUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneTeamUpdateNotify.ProtoReflect.Descriptor instead.
+func (*SceneTeamUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_SceneTeamUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneTeamUpdateNotify) GetSceneTeamAvatarList() []*SceneTeamAvatar {
+ if x != nil {
+ return x.SceneTeamAvatarList
+ }
+ return nil
+}
+
+func (x *SceneTeamUpdateNotify) GetIsInMp() bool {
+ if x != nil {
+ return x.IsInMp
+ }
+ return false
+}
+
+var File_SceneTeamUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_SceneTeamUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x15, 0x53,
+ 0x63, 0x65, 0x6e, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x4b, 0x0a, 0x16, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x65,
+ 0x61, 0x6d, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x13, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x18, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x70, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x49, 0x6e, 0x4d, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneTeamUpdateNotify_proto_rawDescOnce sync.Once
+ file_SceneTeamUpdateNotify_proto_rawDescData = file_SceneTeamUpdateNotify_proto_rawDesc
+)
+
+func file_SceneTeamUpdateNotify_proto_rawDescGZIP() []byte {
+ file_SceneTeamUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_SceneTeamUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneTeamUpdateNotify_proto_rawDescData)
+ })
+ return file_SceneTeamUpdateNotify_proto_rawDescData
+}
+
+var file_SceneTeamUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneTeamUpdateNotify_proto_goTypes = []interface{}{
+ (*SceneTeamUpdateNotify)(nil), // 0: proto.SceneTeamUpdateNotify
+ (*SceneTeamAvatar)(nil), // 1: proto.SceneTeamAvatar
+}
+var file_SceneTeamUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SceneTeamUpdateNotify.scene_team_avatar_list:type_name -> proto.SceneTeamAvatar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SceneTeamUpdateNotify_proto_init() }
+func file_SceneTeamUpdateNotify_proto_init() {
+ if File_SceneTeamUpdateNotify_proto != nil {
+ return
+ }
+ file_SceneTeamAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneTeamUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneTeamUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneTeamUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneTeamUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_SceneTeamUpdateNotify_proto_depIdxs,
+ MessageInfos: file_SceneTeamUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_SceneTeamUpdateNotify_proto = out.File
+ file_SceneTeamUpdateNotify_proto_rawDesc = nil
+ file_SceneTeamUpdateNotify_proto_goTypes = nil
+ file_SceneTeamUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneTimeNotify.pb.go b/protocol/proto/SceneTimeNotify.pb.go
new file mode 100644
index 00000000..a7da3996
--- /dev/null
+++ b/protocol/proto/SceneTimeNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneTimeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 245
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneTimeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneTime uint64 `protobuf:"varint,14,opt,name=scene_time,json=sceneTime,proto3" json:"scene_time,omitempty"`
+ IsPaused bool `protobuf:"varint,1,opt,name=is_paused,json=isPaused,proto3" json:"is_paused,omitempty"`
+ SceneId uint32 `protobuf:"varint,7,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *SceneTimeNotify) Reset() {
+ *x = SceneTimeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneTimeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneTimeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneTimeNotify) ProtoMessage() {}
+
+func (x *SceneTimeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneTimeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneTimeNotify.ProtoReflect.Descriptor instead.
+func (*SceneTimeNotify) Descriptor() ([]byte, []int) {
+ return file_SceneTimeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneTimeNotify) GetSceneTime() uint64 {
+ if x != nil {
+ return x.SceneTime
+ }
+ return 0
+}
+
+func (x *SceneTimeNotify) GetIsPaused() bool {
+ if x != nil {
+ return x.IsPaused
+ }
+ return false
+}
+
+func (x *SceneTimeNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_SceneTimeNotify_proto protoreflect.FileDescriptor
+
+var file_SceneTimeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68,
+ 0x0a, 0x0f, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x61, 0x75, 0x73, 0x65, 0x64, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneTimeNotify_proto_rawDescOnce sync.Once
+ file_SceneTimeNotify_proto_rawDescData = file_SceneTimeNotify_proto_rawDesc
+)
+
+func file_SceneTimeNotify_proto_rawDescGZIP() []byte {
+ file_SceneTimeNotify_proto_rawDescOnce.Do(func() {
+ file_SceneTimeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneTimeNotify_proto_rawDescData)
+ })
+ return file_SceneTimeNotify_proto_rawDescData
+}
+
+var file_SceneTimeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneTimeNotify_proto_goTypes = []interface{}{
+ (*SceneTimeNotify)(nil), // 0: proto.SceneTimeNotify
+}
+var file_SceneTimeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneTimeNotify_proto_init() }
+func file_SceneTimeNotify_proto_init() {
+ if File_SceneTimeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneTimeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneTimeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneTimeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneTimeNotify_proto_goTypes,
+ DependencyIndexes: file_SceneTimeNotify_proto_depIdxs,
+ MessageInfos: file_SceneTimeNotify_proto_msgTypes,
+ }.Build()
+ File_SceneTimeNotify_proto = out.File
+ file_SceneTimeNotify_proto_rawDesc = nil
+ file_SceneTimeNotify_proto_goTypes = nil
+ file_SceneTimeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneTransToPointReq.pb.go b/protocol/proto/SceneTransToPointReq.pb.go
new file mode 100644
index 00000000..5a0fffd2
--- /dev/null
+++ b/protocol/proto/SceneTransToPointReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneTransToPointReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 239
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneTransToPointReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,13,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ PointId uint32 `protobuf:"varint,1,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *SceneTransToPointReq) Reset() {
+ *x = SceneTransToPointReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneTransToPointReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneTransToPointReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneTransToPointReq) ProtoMessage() {}
+
+func (x *SceneTransToPointReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneTransToPointReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneTransToPointReq.ProtoReflect.Descriptor instead.
+func (*SceneTransToPointReq) Descriptor() ([]byte, []int) {
+ return file_SceneTransToPointReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneTransToPointReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *SceneTransToPointReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_SceneTransToPointReq_proto protoreflect.FileDescriptor
+
+var file_SceneTransToPointReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x54, 0x6f, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x14, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x54, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneTransToPointReq_proto_rawDescOnce sync.Once
+ file_SceneTransToPointReq_proto_rawDescData = file_SceneTransToPointReq_proto_rawDesc
+)
+
+func file_SceneTransToPointReq_proto_rawDescGZIP() []byte {
+ file_SceneTransToPointReq_proto_rawDescOnce.Do(func() {
+ file_SceneTransToPointReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneTransToPointReq_proto_rawDescData)
+ })
+ return file_SceneTransToPointReq_proto_rawDescData
+}
+
+var file_SceneTransToPointReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneTransToPointReq_proto_goTypes = []interface{}{
+ (*SceneTransToPointReq)(nil), // 0: proto.SceneTransToPointReq
+}
+var file_SceneTransToPointReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneTransToPointReq_proto_init() }
+func file_SceneTransToPointReq_proto_init() {
+ if File_SceneTransToPointReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneTransToPointReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneTransToPointReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneTransToPointReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneTransToPointReq_proto_goTypes,
+ DependencyIndexes: file_SceneTransToPointReq_proto_depIdxs,
+ MessageInfos: file_SceneTransToPointReq_proto_msgTypes,
+ }.Build()
+ File_SceneTransToPointReq_proto = out.File
+ file_SceneTransToPointReq_proto_rawDesc = nil
+ file_SceneTransToPointReq_proto_goTypes = nil
+ file_SceneTransToPointReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneTransToPointRsp.pb.go b/protocol/proto/SceneTransToPointRsp.pb.go
new file mode 100644
index 00000000..bfc4e3c5
--- /dev/null
+++ b/protocol/proto/SceneTransToPointRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneTransToPointRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 253
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneTransToPointRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,14,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,3,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SceneTransToPointRsp) Reset() {
+ *x = SceneTransToPointRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneTransToPointRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneTransToPointRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneTransToPointRsp) ProtoMessage() {}
+
+func (x *SceneTransToPointRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneTransToPointRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneTransToPointRsp.ProtoReflect.Descriptor instead.
+func (*SceneTransToPointRsp) Descriptor() ([]byte, []int) {
+ return file_SceneTransToPointRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneTransToPointRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *SceneTransToPointRsp) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *SceneTransToPointRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SceneTransToPointRsp_proto protoreflect.FileDescriptor
+
+var file_SceneTransToPointRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x54, 0x6f, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x14, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x54, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70,
+ 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneTransToPointRsp_proto_rawDescOnce sync.Once
+ file_SceneTransToPointRsp_proto_rawDescData = file_SceneTransToPointRsp_proto_rawDesc
+)
+
+func file_SceneTransToPointRsp_proto_rawDescGZIP() []byte {
+ file_SceneTransToPointRsp_proto_rawDescOnce.Do(func() {
+ file_SceneTransToPointRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneTransToPointRsp_proto_rawDescData)
+ })
+ return file_SceneTransToPointRsp_proto_rawDescData
+}
+
+var file_SceneTransToPointRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneTransToPointRsp_proto_goTypes = []interface{}{
+ (*SceneTransToPointRsp)(nil), // 0: proto.SceneTransToPointRsp
+}
+var file_SceneTransToPointRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneTransToPointRsp_proto_init() }
+func file_SceneTransToPointRsp_proto_init() {
+ if File_SceneTransToPointRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneTransToPointRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneTransToPointRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneTransToPointRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneTransToPointRsp_proto_goTypes,
+ DependencyIndexes: file_SceneTransToPointRsp_proto_depIdxs,
+ MessageInfos: file_SceneTransToPointRsp_proto_msgTypes,
+ }.Build()
+ File_SceneTransToPointRsp_proto = out.File
+ file_SceneTransToPointRsp_proto_rawDesc = nil
+ file_SceneTransToPointRsp_proto_goTypes = nil
+ file_SceneTransToPointRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneWeaponInfo.pb.go b/protocol/proto/SceneWeaponInfo.pb.go
new file mode 100644
index 00000000..353e108f
--- /dev/null
+++ b/protocol/proto/SceneWeaponInfo.pb.go
@@ -0,0 +1,260 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneWeaponInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SceneWeaponInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ GadgetId uint32 `protobuf:"varint,2,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ ItemId uint32 `protobuf:"varint,3,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ Guid uint64 `protobuf:"varint,4,opt,name=guid,proto3" json:"guid,omitempty"`
+ Level uint32 `protobuf:"varint,5,opt,name=level,proto3" json:"level,omitempty"`
+ PromoteLevel uint32 `protobuf:"varint,6,opt,name=promote_level,json=promoteLevel,proto3" json:"promote_level,omitempty"`
+ AbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,7,opt,name=ability_info,json=abilityInfo,proto3" json:"ability_info,omitempty"`
+ AffixMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=affix_map,json=affixMap,proto3" json:"affix_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ RendererChangedInfo *EntityRendererChangedInfo `protobuf:"bytes,9,opt,name=renderer_changed_info,json=rendererChangedInfo,proto3" json:"renderer_changed_info,omitempty"`
+}
+
+func (x *SceneWeaponInfo) Reset() {
+ *x = SceneWeaponInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneWeaponInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneWeaponInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneWeaponInfo) ProtoMessage() {}
+
+func (x *SceneWeaponInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneWeaponInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneWeaponInfo.ProtoReflect.Descriptor instead.
+func (*SceneWeaponInfo) Descriptor() ([]byte, []int) {
+ return file_SceneWeaponInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneWeaponInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *SceneWeaponInfo) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *SceneWeaponInfo) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *SceneWeaponInfo) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *SceneWeaponInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *SceneWeaponInfo) GetPromoteLevel() uint32 {
+ if x != nil {
+ return x.PromoteLevel
+ }
+ return 0
+}
+
+func (x *SceneWeaponInfo) GetAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.AbilityInfo
+ }
+ return nil
+}
+
+func (x *SceneWeaponInfo) GetAffixMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AffixMap
+ }
+ return nil
+}
+
+func (x *SceneWeaponInfo) GetRendererChangedInfo() *EntityRendererChangedInfo {
+ if x != nil {
+ return x.RendererChangedInfo
+ }
+ return nil
+}
+
+var File_SceneWeaponInfo_proto protoreflect.FileDescriptor
+
+var file_SceneWeaponInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x03, 0x0a, 0x0f,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d,
+ 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d,
+ 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x3e, 0x0a, 0x0c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x66, 0x66,
+ 0x69, 0x78, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x61, 0x66, 0x66, 0x69,
+ 0x78, 0x4d, 0x61, 0x70, 0x12, 0x54, 0x0a, 0x15, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72,
+ 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x52, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x13, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x65, 0x72, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x3b, 0x0a, 0x0d, 0x41, 0x66,
+ 0x66, 0x69, 0x78, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneWeaponInfo_proto_rawDescOnce sync.Once
+ file_SceneWeaponInfo_proto_rawDescData = file_SceneWeaponInfo_proto_rawDesc
+)
+
+func file_SceneWeaponInfo_proto_rawDescGZIP() []byte {
+ file_SceneWeaponInfo_proto_rawDescOnce.Do(func() {
+ file_SceneWeaponInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneWeaponInfo_proto_rawDescData)
+ })
+ return file_SceneWeaponInfo_proto_rawDescData
+}
+
+var file_SceneWeaponInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SceneWeaponInfo_proto_goTypes = []interface{}{
+ (*SceneWeaponInfo)(nil), // 0: proto.SceneWeaponInfo
+ nil, // 1: proto.SceneWeaponInfo.AffixMapEntry
+ (*AbilitySyncStateInfo)(nil), // 2: proto.AbilitySyncStateInfo
+ (*EntityRendererChangedInfo)(nil), // 3: proto.EntityRendererChangedInfo
+}
+var file_SceneWeaponInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.SceneWeaponInfo.ability_info:type_name -> proto.AbilitySyncStateInfo
+ 1, // 1: proto.SceneWeaponInfo.affix_map:type_name -> proto.SceneWeaponInfo.AffixMapEntry
+ 3, // 2: proto.SceneWeaponInfo.renderer_changed_info:type_name -> proto.EntityRendererChangedInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_SceneWeaponInfo_proto_init() }
+func file_SceneWeaponInfo_proto_init() {
+ if File_SceneWeaponInfo_proto != nil {
+ return
+ }
+ file_AbilitySyncStateInfo_proto_init()
+ file_EntityRendererChangedInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SceneWeaponInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneWeaponInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneWeaponInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneWeaponInfo_proto_goTypes,
+ DependencyIndexes: file_SceneWeaponInfo_proto_depIdxs,
+ MessageInfos: file_SceneWeaponInfo_proto_msgTypes,
+ }.Build()
+ File_SceneWeaponInfo_proto = out.File
+ file_SceneWeaponInfo_proto_rawDesc = nil
+ file_SceneWeaponInfo_proto_goTypes = nil
+ file_SceneWeaponInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneWeatherForcastReq.pb.go b/protocol/proto/SceneWeatherForcastReq.pb.go
new file mode 100644
index 00000000..eb16099b
--- /dev/null
+++ b/protocol/proto/SceneWeatherForcastReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneWeatherForcastReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3110
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SceneWeatherForcastReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WeatherAreaId uint32 `protobuf:"varint,15,opt,name=weather_area_id,json=weatherAreaId,proto3" json:"weather_area_id,omitempty"`
+}
+
+func (x *SceneWeatherForcastReq) Reset() {
+ *x = SceneWeatherForcastReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneWeatherForcastReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneWeatherForcastReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneWeatherForcastReq) ProtoMessage() {}
+
+func (x *SceneWeatherForcastReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneWeatherForcastReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneWeatherForcastReq.ProtoReflect.Descriptor instead.
+func (*SceneWeatherForcastReq) Descriptor() ([]byte, []int) {
+ return file_SceneWeatherForcastReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneWeatherForcastReq) GetWeatherAreaId() uint32 {
+ if x != nil {
+ return x.WeatherAreaId
+ }
+ return 0
+}
+
+var File_SceneWeatherForcastReq_proto protoreflect.FileDescriptor
+
+var file_SceneWeatherForcastReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x46, 0x6f,
+ 0x72, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65,
+ 0x61, 0x74, 0x68, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x26, 0x0a, 0x0f, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65,
+ 0x72, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneWeatherForcastReq_proto_rawDescOnce sync.Once
+ file_SceneWeatherForcastReq_proto_rawDescData = file_SceneWeatherForcastReq_proto_rawDesc
+)
+
+func file_SceneWeatherForcastReq_proto_rawDescGZIP() []byte {
+ file_SceneWeatherForcastReq_proto_rawDescOnce.Do(func() {
+ file_SceneWeatherForcastReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneWeatherForcastReq_proto_rawDescData)
+ })
+ return file_SceneWeatherForcastReq_proto_rawDescData
+}
+
+var file_SceneWeatherForcastReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneWeatherForcastReq_proto_goTypes = []interface{}{
+ (*SceneWeatherForcastReq)(nil), // 0: proto.SceneWeatherForcastReq
+}
+var file_SceneWeatherForcastReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneWeatherForcastReq_proto_init() }
+func file_SceneWeatherForcastReq_proto_init() {
+ if File_SceneWeatherForcastReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneWeatherForcastReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneWeatherForcastReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneWeatherForcastReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneWeatherForcastReq_proto_goTypes,
+ DependencyIndexes: file_SceneWeatherForcastReq_proto_depIdxs,
+ MessageInfos: file_SceneWeatherForcastReq_proto_msgTypes,
+ }.Build()
+ File_SceneWeatherForcastReq_proto = out.File
+ file_SceneWeatherForcastReq_proto_rawDesc = nil
+ file_SceneWeatherForcastReq_proto_goTypes = nil
+ file_SceneWeatherForcastReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SceneWeatherForcastRsp.pb.go b/protocol/proto/SceneWeatherForcastRsp.pb.go
new file mode 100644
index 00000000..e3cefb37
--- /dev/null
+++ b/protocol/proto/SceneWeatherForcastRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SceneWeatherForcastRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3012
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SceneWeatherForcastRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NextClimateTime uint64 `protobuf:"varint,14,opt,name=next_climate_time,json=nextClimateTime,proto3" json:"next_climate_time,omitempty"`
+ ForcastClimateList []uint32 `protobuf:"varint,2,rep,packed,name=forcast_climate_list,json=forcastClimateList,proto3" json:"forcast_climate_list,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SceneWeatherForcastRsp) Reset() {
+ *x = SceneWeatherForcastRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SceneWeatherForcastRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SceneWeatherForcastRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SceneWeatherForcastRsp) ProtoMessage() {}
+
+func (x *SceneWeatherForcastRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SceneWeatherForcastRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SceneWeatherForcastRsp.ProtoReflect.Descriptor instead.
+func (*SceneWeatherForcastRsp) Descriptor() ([]byte, []int) {
+ return file_SceneWeatherForcastRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SceneWeatherForcastRsp) GetNextClimateTime() uint64 {
+ if x != nil {
+ return x.NextClimateTime
+ }
+ return 0
+}
+
+func (x *SceneWeatherForcastRsp) GetForcastClimateList() []uint32 {
+ if x != nil {
+ return x.ForcastClimateList
+ }
+ return nil
+}
+
+func (x *SceneWeatherForcastRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SceneWeatherForcastRsp_proto protoreflect.FileDescriptor
+
+var file_SceneWeatherForcastRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x46, 0x6f,
+ 0x72, 0x63, 0x61, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x16, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57,
+ 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x63, 0x61, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6e, 0x65, 0x78,
+ 0x74, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14,
+ 0x66, 0x6f, 0x72, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x6f, 0x72, 0x63,
+ 0x61, 0x73, 0x74, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SceneWeatherForcastRsp_proto_rawDescOnce sync.Once
+ file_SceneWeatherForcastRsp_proto_rawDescData = file_SceneWeatherForcastRsp_proto_rawDesc
+)
+
+func file_SceneWeatherForcastRsp_proto_rawDescGZIP() []byte {
+ file_SceneWeatherForcastRsp_proto_rawDescOnce.Do(func() {
+ file_SceneWeatherForcastRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SceneWeatherForcastRsp_proto_rawDescData)
+ })
+ return file_SceneWeatherForcastRsp_proto_rawDescData
+}
+
+var file_SceneWeatherForcastRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SceneWeatherForcastRsp_proto_goTypes = []interface{}{
+ (*SceneWeatherForcastRsp)(nil), // 0: proto.SceneWeatherForcastRsp
+}
+var file_SceneWeatherForcastRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SceneWeatherForcastRsp_proto_init() }
+func file_SceneWeatherForcastRsp_proto_init() {
+ if File_SceneWeatherForcastRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SceneWeatherForcastRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SceneWeatherForcastRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SceneWeatherForcastRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SceneWeatherForcastRsp_proto_goTypes,
+ DependencyIndexes: file_SceneWeatherForcastRsp_proto_depIdxs,
+ MessageInfos: file_SceneWeatherForcastRsp_proto_msgTypes,
+ }.Build()
+ File_SceneWeatherForcastRsp_proto = out.File
+ file_SceneWeatherForcastRsp_proto_rawDesc = nil
+ file_SceneWeatherForcastRsp_proto_goTypes = nil
+ file_SceneWeatherForcastRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ScreenInfo.pb.go b/protocol/proto/ScreenInfo.pb.go
new file mode 100644
index 00000000..66f931fe
--- /dev/null
+++ b/protocol/proto/ScreenInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ScreenInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ScreenInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LiveId uint32 `protobuf:"varint,1,opt,name=live_id,json=liveId,proto3" json:"live_id,omitempty"`
+ ProjectorEntityId uint32 `protobuf:"varint,2,opt,name=projector_entity_id,json=projectorEntityId,proto3" json:"projector_entity_id,omitempty"`
+}
+
+func (x *ScreenInfo) Reset() {
+ *x = ScreenInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ScreenInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ScreenInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ScreenInfo) ProtoMessage() {}
+
+func (x *ScreenInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ScreenInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ScreenInfo.ProtoReflect.Descriptor instead.
+func (*ScreenInfo) Descriptor() ([]byte, []int) {
+ return file_ScreenInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ScreenInfo) GetLiveId() uint32 {
+ if x != nil {
+ return x.LiveId
+ }
+ return 0
+}
+
+func (x *ScreenInfo) GetProjectorEntityId() uint32 {
+ if x != nil {
+ return x.ProjectorEntityId
+ }
+ return 0
+}
+
+var File_ScreenInfo_proto protoreflect.FileDescriptor
+
+var file_ScreenInfo_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x0a, 0x53, 0x63, 0x72,
+ 0x65, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x64,
+ 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ScreenInfo_proto_rawDescOnce sync.Once
+ file_ScreenInfo_proto_rawDescData = file_ScreenInfo_proto_rawDesc
+)
+
+func file_ScreenInfo_proto_rawDescGZIP() []byte {
+ file_ScreenInfo_proto_rawDescOnce.Do(func() {
+ file_ScreenInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ScreenInfo_proto_rawDescData)
+ })
+ return file_ScreenInfo_proto_rawDescData
+}
+
+var file_ScreenInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ScreenInfo_proto_goTypes = []interface{}{
+ (*ScreenInfo)(nil), // 0: proto.ScreenInfo
+}
+var file_ScreenInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ScreenInfo_proto_init() }
+func file_ScreenInfo_proto_init() {
+ if File_ScreenInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ScreenInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ScreenInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ScreenInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ScreenInfo_proto_goTypes,
+ DependencyIndexes: file_ScreenInfo_proto_depIdxs,
+ MessageInfos: file_ScreenInfo_proto_msgTypes,
+ }.Build()
+ File_ScreenInfo_proto = out.File
+ file_ScreenInfo_proto_rawDesc = nil
+ file_ScreenInfo_proto_goTypes = nil
+ file_ScreenInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampActivityDetailInfo.pb.go b/protocol/proto/SeaLampActivityDetailInfo.pb.go
new file mode 100644
index 00000000..35744d83
--- /dev/null
+++ b/protocol/proto/SeaLampActivityDetailInfo.pb.go
@@ -0,0 +1,222 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SeaLampActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PhaseId uint32 `protobuf:"varint,14,opt,name=phase_id,json=phaseId,proto3" json:"phase_id,omitempty"`
+ TakenPhaseRewardList []uint32 `protobuf:"varint,1,rep,packed,name=taken_phase_reward_list,json=takenPhaseRewardList,proto3" json:"taken_phase_reward_list,omitempty"`
+ TakenContributionRewardList []uint32 `protobuf:"varint,7,rep,packed,name=taken_contribution_reward_list,json=takenContributionRewardList,proto3" json:"taken_contribution_reward_list,omitempty"`
+ Progress uint32 `protobuf:"varint,8,opt,name=progress,proto3" json:"progress,omitempty"`
+ Contribution uint32 `protobuf:"varint,15,opt,name=contribution,proto3" json:"contribution,omitempty"`
+ Factor uint32 `protobuf:"varint,13,opt,name=factor,proto3" json:"factor,omitempty"`
+ Days uint32 `protobuf:"varint,4,opt,name=days,proto3" json:"days,omitempty"`
+}
+
+func (x *SeaLampActivityDetailInfo) Reset() {
+ *x = SeaLampActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampActivityDetailInfo) ProtoMessage() {}
+
+func (x *SeaLampActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*SeaLampActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_SeaLampActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampActivityDetailInfo) GetPhaseId() uint32 {
+ if x != nil {
+ return x.PhaseId
+ }
+ return 0
+}
+
+func (x *SeaLampActivityDetailInfo) GetTakenPhaseRewardList() []uint32 {
+ if x != nil {
+ return x.TakenPhaseRewardList
+ }
+ return nil
+}
+
+func (x *SeaLampActivityDetailInfo) GetTakenContributionRewardList() []uint32 {
+ if x != nil {
+ return x.TakenContributionRewardList
+ }
+ return nil
+}
+
+func (x *SeaLampActivityDetailInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *SeaLampActivityDetailInfo) GetContribution() uint32 {
+ if x != nil {
+ return x.Contribution
+ }
+ return 0
+}
+
+func (x *SeaLampActivityDetailInfo) GetFactor() uint32 {
+ if x != nil {
+ return x.Factor
+ }
+ return 0
+}
+
+func (x *SeaLampActivityDetailInfo) GetDays() uint32 {
+ if x != nil {
+ return x.Days
+ }
+ return 0
+}
+
+var File_SeaLampActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_SeaLampActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x02, 0x0a, 0x19, 0x53, 0x65, 0x61,
+ 0x4c, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x68, 0x61, 0x73, 0x65, 0x49,
+ 0x64, 0x12, 0x35, 0x0a, 0x17, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65,
+ 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x14, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x74, 0x61, 0x6b, 0x65,
+ 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x1b, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a,
+ 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e,
+ 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
+ 0x06, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66,
+ 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x61, 0x79, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_SeaLampActivityDetailInfo_proto_rawDescData = file_SeaLampActivityDetailInfo_proto_rawDesc
+)
+
+func file_SeaLampActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_SeaLampActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_SeaLampActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampActivityDetailInfo_proto_rawDescData)
+ })
+ return file_SeaLampActivityDetailInfo_proto_rawDescData
+}
+
+var file_SeaLampActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampActivityDetailInfo_proto_goTypes = []interface{}{
+ (*SeaLampActivityDetailInfo)(nil), // 0: proto.SeaLampActivityDetailInfo
+}
+var file_SeaLampActivityDetailInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampActivityDetailInfo_proto_init() }
+func file_SeaLampActivityDetailInfo_proto_init() {
+ if File_SeaLampActivityDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_SeaLampActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_SeaLampActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_SeaLampActivityDetailInfo_proto = out.File
+ file_SeaLampActivityDetailInfo_proto_rawDesc = nil
+ file_SeaLampActivityDetailInfo_proto_goTypes = nil
+ file_SeaLampActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampActivityInfo.pb.go b/protocol/proto/SeaLampActivityInfo.pb.go
new file mode 100644
index 00000000..b2c4a290
--- /dev/null
+++ b/protocol/proto/SeaLampActivityInfo.pb.go
@@ -0,0 +1,251 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampActivityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SeaLampActivityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsMechanicusOpen bool `protobuf:"varint,14,opt,name=is_mechanicus_open,json=isMechanicusOpen,proto3" json:"is_mechanicus_open,omitempty"`
+ DayIndex uint32 `protobuf:"varint,1,opt,name=day_index,json=dayIndex,proto3" json:"day_index,omitempty"`
+ SectionInfoList []*SeaLampSectionInfo `protobuf:"bytes,6,rep,name=section_info_list,json=sectionInfoList,proto3" json:"section_info_list,omitempty"`
+ Popularity uint32 `protobuf:"varint,10,opt,name=popularity,proto3" json:"popularity,omitempty"`
+ SeaLampCoin uint32 `protobuf:"varint,15,opt,name=sea_lamp_coin,json=seaLampCoin,proto3" json:"sea_lamp_coin,omitempty"`
+ FirstDayStartTime uint32 `protobuf:"varint,11,opt,name=first_day_start_time,json=firstDayStartTime,proto3" json:"first_day_start_time,omitempty"`
+ MechanicusId uint32 `protobuf:"varint,9,opt,name=mechanicus_id,json=mechanicusId,proto3" json:"mechanicus_id,omitempty"`
+ IsMechanicusFeatureClose bool `protobuf:"varint,12,opt,name=is_mechanicus_feature_close,json=isMechanicusFeatureClose,proto3" json:"is_mechanicus_feature_close,omitempty"`
+ IsContentClosed bool `protobuf:"varint,5,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+}
+
+func (x *SeaLampActivityInfo) Reset() {
+ *x = SeaLampActivityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampActivityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampActivityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampActivityInfo) ProtoMessage() {}
+
+func (x *SeaLampActivityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampActivityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampActivityInfo.ProtoReflect.Descriptor instead.
+func (*SeaLampActivityInfo) Descriptor() ([]byte, []int) {
+ return file_SeaLampActivityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampActivityInfo) GetIsMechanicusOpen() bool {
+ if x != nil {
+ return x.IsMechanicusOpen
+ }
+ return false
+}
+
+func (x *SeaLampActivityInfo) GetDayIndex() uint32 {
+ if x != nil {
+ return x.DayIndex
+ }
+ return 0
+}
+
+func (x *SeaLampActivityInfo) GetSectionInfoList() []*SeaLampSectionInfo {
+ if x != nil {
+ return x.SectionInfoList
+ }
+ return nil
+}
+
+func (x *SeaLampActivityInfo) GetPopularity() uint32 {
+ if x != nil {
+ return x.Popularity
+ }
+ return 0
+}
+
+func (x *SeaLampActivityInfo) GetSeaLampCoin() uint32 {
+ if x != nil {
+ return x.SeaLampCoin
+ }
+ return 0
+}
+
+func (x *SeaLampActivityInfo) GetFirstDayStartTime() uint32 {
+ if x != nil {
+ return x.FirstDayStartTime
+ }
+ return 0
+}
+
+func (x *SeaLampActivityInfo) GetMechanicusId() uint32 {
+ if x != nil {
+ return x.MechanicusId
+ }
+ return 0
+}
+
+func (x *SeaLampActivityInfo) GetIsMechanicusFeatureClose() bool {
+ if x != nil {
+ return x.IsMechanicusFeatureClose
+ }
+ return false
+}
+
+func (x *SeaLampActivityInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+var File_SeaLampActivityInfo_proto protoreflect.FileDescriptor
+
+var file_SeaLampActivityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x18, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x03, 0x0a,
+ 0x13, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x6d, 0x65, 0x63, 0x68, 0x61,
+ 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x69, 0x73, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
+ 0x45, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61,
+ 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x70, 0x75,
+ 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x5f, 0x6c, 0x61,
+ 0x6d, 0x70, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73,
+ 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x66, 0x69,
+ 0x72, 0x73, 0x74, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x44,
+ 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d,
+ 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75, 0x73, 0x49, 0x64,
+ 0x12, 0x3d, 0x0a, 0x1b, 0x69, 0x73, 0x5f, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x63, 0x75,
+ 0x73, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x73, 0x4d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69,
+ 0x63, 0x75, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12,
+ 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c,
+ 0x6f, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampActivityInfo_proto_rawDescOnce sync.Once
+ file_SeaLampActivityInfo_proto_rawDescData = file_SeaLampActivityInfo_proto_rawDesc
+)
+
+func file_SeaLampActivityInfo_proto_rawDescGZIP() []byte {
+ file_SeaLampActivityInfo_proto_rawDescOnce.Do(func() {
+ file_SeaLampActivityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampActivityInfo_proto_rawDescData)
+ })
+ return file_SeaLampActivityInfo_proto_rawDescData
+}
+
+var file_SeaLampActivityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampActivityInfo_proto_goTypes = []interface{}{
+ (*SeaLampActivityInfo)(nil), // 0: proto.SeaLampActivityInfo
+ (*SeaLampSectionInfo)(nil), // 1: proto.SeaLampSectionInfo
+}
+var file_SeaLampActivityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SeaLampActivityInfo.section_info_list:type_name -> proto.SeaLampSectionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampActivityInfo_proto_init() }
+func file_SeaLampActivityInfo_proto_init() {
+ if File_SeaLampActivityInfo_proto != nil {
+ return
+ }
+ file_SeaLampSectionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampActivityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampActivityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampActivityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampActivityInfo_proto_goTypes,
+ DependencyIndexes: file_SeaLampActivityInfo_proto_depIdxs,
+ MessageInfos: file_SeaLampActivityInfo_proto_msgTypes,
+ }.Build()
+ File_SeaLampActivityInfo_proto = out.File
+ file_SeaLampActivityInfo_proto_rawDesc = nil
+ file_SeaLampActivityInfo_proto_goTypes = nil
+ file_SeaLampActivityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampCoinNotify.pb.go b/protocol/proto/SeaLampCoinNotify.pb.go
new file mode 100644
index 00000000..e4f05936
--- /dev/null
+++ b/protocol/proto/SeaLampCoinNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampCoinNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2114
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SeaLampCoinNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SeaLampCoin uint32 `protobuf:"varint,8,opt,name=sea_lamp_coin,json=seaLampCoin,proto3" json:"sea_lamp_coin,omitempty"`
+}
+
+func (x *SeaLampCoinNotify) Reset() {
+ *x = SeaLampCoinNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampCoinNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampCoinNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampCoinNotify) ProtoMessage() {}
+
+func (x *SeaLampCoinNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampCoinNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampCoinNotify.ProtoReflect.Descriptor instead.
+func (*SeaLampCoinNotify) Descriptor() ([]byte, []int) {
+ return file_SeaLampCoinNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampCoinNotify) GetSeaLampCoin() uint32 {
+ if x != nil {
+ return x.SeaLampCoin
+ }
+ return 0
+}
+
+var File_SeaLampCoinNotify_proto protoreflect.FileDescriptor
+
+var file_SeaLampCoinNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x37, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x5f, 0x6c, 0x61, 0x6d,
+ 0x70, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65,
+ 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampCoinNotify_proto_rawDescOnce sync.Once
+ file_SeaLampCoinNotify_proto_rawDescData = file_SeaLampCoinNotify_proto_rawDesc
+)
+
+func file_SeaLampCoinNotify_proto_rawDescGZIP() []byte {
+ file_SeaLampCoinNotify_proto_rawDescOnce.Do(func() {
+ file_SeaLampCoinNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampCoinNotify_proto_rawDescData)
+ })
+ return file_SeaLampCoinNotify_proto_rawDescData
+}
+
+var file_SeaLampCoinNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampCoinNotify_proto_goTypes = []interface{}{
+ (*SeaLampCoinNotify)(nil), // 0: proto.SeaLampCoinNotify
+}
+var file_SeaLampCoinNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampCoinNotify_proto_init() }
+func file_SeaLampCoinNotify_proto_init() {
+ if File_SeaLampCoinNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampCoinNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampCoinNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampCoinNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampCoinNotify_proto_goTypes,
+ DependencyIndexes: file_SeaLampCoinNotify_proto_depIdxs,
+ MessageInfos: file_SeaLampCoinNotify_proto_msgTypes,
+ }.Build()
+ File_SeaLampCoinNotify_proto = out.File
+ file_SeaLampCoinNotify_proto_rawDesc = nil
+ file_SeaLampCoinNotify_proto_goTypes = nil
+ file_SeaLampCoinNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampContributeItemReq.pb.go b/protocol/proto/SeaLampContributeItemReq.pb.go
new file mode 100644
index 00000000..301e04e6
--- /dev/null
+++ b/protocol/proto/SeaLampContributeItemReq.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampContributeItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2123
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SeaLampContributeItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,8,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,1,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *SeaLampContributeItemReq) Reset() {
+ *x = SeaLampContributeItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampContributeItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampContributeItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampContributeItemReq) ProtoMessage() {}
+
+func (x *SeaLampContributeItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampContributeItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampContributeItemReq.ProtoReflect.Descriptor instead.
+func (*SeaLampContributeItemReq) Descriptor() ([]byte, []int) {
+ return file_SeaLampContributeItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampContributeItemReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *SeaLampContributeItemReq) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_SeaLampContributeItemReq_proto protoreflect.FileDescriptor
+
+var file_SeaLampContributeItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62,
+ 0x75, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x4c,
+ 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x74, 0x65,
+ 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampContributeItemReq_proto_rawDescOnce sync.Once
+ file_SeaLampContributeItemReq_proto_rawDescData = file_SeaLampContributeItemReq_proto_rawDesc
+)
+
+func file_SeaLampContributeItemReq_proto_rawDescGZIP() []byte {
+ file_SeaLampContributeItemReq_proto_rawDescOnce.Do(func() {
+ file_SeaLampContributeItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampContributeItemReq_proto_rawDescData)
+ })
+ return file_SeaLampContributeItemReq_proto_rawDescData
+}
+
+var file_SeaLampContributeItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampContributeItemReq_proto_goTypes = []interface{}{
+ (*SeaLampContributeItemReq)(nil), // 0: proto.SeaLampContributeItemReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_SeaLampContributeItemReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SeaLampContributeItemReq.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampContributeItemReq_proto_init() }
+func file_SeaLampContributeItemReq_proto_init() {
+ if File_SeaLampContributeItemReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampContributeItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampContributeItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampContributeItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampContributeItemReq_proto_goTypes,
+ DependencyIndexes: file_SeaLampContributeItemReq_proto_depIdxs,
+ MessageInfos: file_SeaLampContributeItemReq_proto_msgTypes,
+ }.Build()
+ File_SeaLampContributeItemReq_proto = out.File
+ file_SeaLampContributeItemReq_proto_rawDesc = nil
+ file_SeaLampContributeItemReq_proto_goTypes = nil
+ file_SeaLampContributeItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampContributeItemRsp.pb.go b/protocol/proto/SeaLampContributeItemRsp.pb.go
new file mode 100644
index 00000000..e5cf9e65
--- /dev/null
+++ b/protocol/proto/SeaLampContributeItemRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampContributeItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2139
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SeaLampContributeItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AddContribution uint32 `protobuf:"varint,7,opt,name=add_contribution,json=addContribution,proto3" json:"add_contribution,omitempty"`
+ AddProgress uint32 `protobuf:"varint,1,opt,name=add_progress,json=addProgress,proto3" json:"add_progress,omitempty"`
+ TotalContribution uint32 `protobuf:"varint,14,opt,name=total_contribution,json=totalContribution,proto3" json:"total_contribution,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SeaLampContributeItemRsp) Reset() {
+ *x = SeaLampContributeItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampContributeItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampContributeItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampContributeItemRsp) ProtoMessage() {}
+
+func (x *SeaLampContributeItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampContributeItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampContributeItemRsp.ProtoReflect.Descriptor instead.
+func (*SeaLampContributeItemRsp) Descriptor() ([]byte, []int) {
+ return file_SeaLampContributeItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampContributeItemRsp) GetAddContribution() uint32 {
+ if x != nil {
+ return x.AddContribution
+ }
+ return 0
+}
+
+func (x *SeaLampContributeItemRsp) GetAddProgress() uint32 {
+ if x != nil {
+ return x.AddProgress
+ }
+ return 0
+}
+
+func (x *SeaLampContributeItemRsp) GetTotalContribution() uint32 {
+ if x != nil {
+ return x.TotalContribution
+ }
+ return 0
+}
+
+func (x *SeaLampContributeItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SeaLampContributeItemRsp_proto protoreflect.FileDescriptor
+
+var file_SeaLampContributeItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62,
+ 0x75, 0x74, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x4c,
+ 0x61, 0x6d, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x74, 0x65,
+ 0x6d, 0x52, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
+ 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x61, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
+ 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampContributeItemRsp_proto_rawDescOnce sync.Once
+ file_SeaLampContributeItemRsp_proto_rawDescData = file_SeaLampContributeItemRsp_proto_rawDesc
+)
+
+func file_SeaLampContributeItemRsp_proto_rawDescGZIP() []byte {
+ file_SeaLampContributeItemRsp_proto_rawDescOnce.Do(func() {
+ file_SeaLampContributeItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampContributeItemRsp_proto_rawDescData)
+ })
+ return file_SeaLampContributeItemRsp_proto_rawDescData
+}
+
+var file_SeaLampContributeItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampContributeItemRsp_proto_goTypes = []interface{}{
+ (*SeaLampContributeItemRsp)(nil), // 0: proto.SeaLampContributeItemRsp
+}
+var file_SeaLampContributeItemRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampContributeItemRsp_proto_init() }
+func file_SeaLampContributeItemRsp_proto_init() {
+ if File_SeaLampContributeItemRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampContributeItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampContributeItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampContributeItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampContributeItemRsp_proto_goTypes,
+ DependencyIndexes: file_SeaLampContributeItemRsp_proto_depIdxs,
+ MessageInfos: file_SeaLampContributeItemRsp_proto_msgTypes,
+ }.Build()
+ File_SeaLampContributeItemRsp_proto = out.File
+ file_SeaLampContributeItemRsp_proto_rawDesc = nil
+ file_SeaLampContributeItemRsp_proto_goTypes = nil
+ file_SeaLampContributeItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampFlyLampNotify.pb.go b/protocol/proto/SeaLampFlyLampNotify.pb.go
new file mode 100644
index 00000000..c38953d4
--- /dev/null
+++ b/protocol/proto/SeaLampFlyLampNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampFlyLampNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2105
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SeaLampFlyLampNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,11,opt,name=pos,proto3" json:"pos,omitempty"`
+ ItemNum uint32 `protobuf:"varint,10,opt,name=item_num,json=itemNum,proto3" json:"item_num,omitempty"`
+ ItemId uint32 `protobuf:"varint,7,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ Param int32 `protobuf:"varint,5,opt,name=param,proto3" json:"param,omitempty"`
+}
+
+func (x *SeaLampFlyLampNotify) Reset() {
+ *x = SeaLampFlyLampNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampFlyLampNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampFlyLampNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampFlyLampNotify) ProtoMessage() {}
+
+func (x *SeaLampFlyLampNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampFlyLampNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampFlyLampNotify.ProtoReflect.Descriptor instead.
+func (*SeaLampFlyLampNotify) Descriptor() ([]byte, []int) {
+ return file_SeaLampFlyLampNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampFlyLampNotify) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *SeaLampFlyLampNotify) GetItemNum() uint32 {
+ if x != nil {
+ return x.ItemNum
+ }
+ return 0
+}
+
+func (x *SeaLampFlyLampNotify) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *SeaLampFlyLampNotify) GetParam() int32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+var File_SeaLampFlyLampNotify_proto protoreflect.FileDescriptor
+
+var file_SeaLampFlyLampNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x46, 0x6c, 0x79, 0x4c, 0x61, 0x6d, 0x70,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x46, 0x6c, 0x79,
+ 0x4c, 0x61, 0x6d, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f,
+ 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69,
+ 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69,
+ 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12,
+ 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampFlyLampNotify_proto_rawDescOnce sync.Once
+ file_SeaLampFlyLampNotify_proto_rawDescData = file_SeaLampFlyLampNotify_proto_rawDesc
+)
+
+func file_SeaLampFlyLampNotify_proto_rawDescGZIP() []byte {
+ file_SeaLampFlyLampNotify_proto_rawDescOnce.Do(func() {
+ file_SeaLampFlyLampNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampFlyLampNotify_proto_rawDescData)
+ })
+ return file_SeaLampFlyLampNotify_proto_rawDescData
+}
+
+var file_SeaLampFlyLampNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampFlyLampNotify_proto_goTypes = []interface{}{
+ (*SeaLampFlyLampNotify)(nil), // 0: proto.SeaLampFlyLampNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_SeaLampFlyLampNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SeaLampFlyLampNotify.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampFlyLampNotify_proto_init() }
+func file_SeaLampFlyLampNotify_proto_init() {
+ if File_SeaLampFlyLampNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampFlyLampNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampFlyLampNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampFlyLampNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampFlyLampNotify_proto_goTypes,
+ DependencyIndexes: file_SeaLampFlyLampNotify_proto_depIdxs,
+ MessageInfos: file_SeaLampFlyLampNotify_proto_msgTypes,
+ }.Build()
+ File_SeaLampFlyLampNotify_proto = out.File
+ file_SeaLampFlyLampNotify_proto_rawDesc = nil
+ file_SeaLampFlyLampNotify_proto_goTypes = nil
+ file_SeaLampFlyLampNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampFlyLampReq.pb.go b/protocol/proto/SeaLampFlyLampReq.pb.go
new file mode 100644
index 00000000..00f0d8e2
--- /dev/null
+++ b/protocol/proto/SeaLampFlyLampReq.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampFlyLampReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2199
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SeaLampFlyLampReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,9,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ Param int32 `protobuf:"varint,10,opt,name=param,proto3" json:"param,omitempty"`
+ Pos *Vector `protobuf:"bytes,7,opt,name=pos,proto3" json:"pos,omitempty"`
+ ItemNum uint32 `protobuf:"varint,5,opt,name=item_num,json=itemNum,proto3" json:"item_num,omitempty"`
+}
+
+func (x *SeaLampFlyLampReq) Reset() {
+ *x = SeaLampFlyLampReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampFlyLampReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampFlyLampReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampFlyLampReq) ProtoMessage() {}
+
+func (x *SeaLampFlyLampReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampFlyLampReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampFlyLampReq.ProtoReflect.Descriptor instead.
+func (*SeaLampFlyLampReq) Descriptor() ([]byte, []int) {
+ return file_SeaLampFlyLampReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampFlyLampReq) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *SeaLampFlyLampReq) GetParam() int32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *SeaLampFlyLampReq) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *SeaLampFlyLampReq) GetItemNum() uint32 {
+ if x != nil {
+ return x.ItemNum
+ }
+ return 0
+}
+
+var File_SeaLampFlyLampReq_proto protoreflect.FileDescriptor
+
+var file_SeaLampFlyLampReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x46, 0x6c, 0x79, 0x4c, 0x61, 0x6d, 0x70,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7e,
+ 0x0a, 0x11, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x46, 0x6c, 0x79, 0x4c, 0x61, 0x6d, 0x70,
+ 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampFlyLampReq_proto_rawDescOnce sync.Once
+ file_SeaLampFlyLampReq_proto_rawDescData = file_SeaLampFlyLampReq_proto_rawDesc
+)
+
+func file_SeaLampFlyLampReq_proto_rawDescGZIP() []byte {
+ file_SeaLampFlyLampReq_proto_rawDescOnce.Do(func() {
+ file_SeaLampFlyLampReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampFlyLampReq_proto_rawDescData)
+ })
+ return file_SeaLampFlyLampReq_proto_rawDescData
+}
+
+var file_SeaLampFlyLampReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampFlyLampReq_proto_goTypes = []interface{}{
+ (*SeaLampFlyLampReq)(nil), // 0: proto.SeaLampFlyLampReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_SeaLampFlyLampReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SeaLampFlyLampReq.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampFlyLampReq_proto_init() }
+func file_SeaLampFlyLampReq_proto_init() {
+ if File_SeaLampFlyLampReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampFlyLampReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampFlyLampReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampFlyLampReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampFlyLampReq_proto_goTypes,
+ DependencyIndexes: file_SeaLampFlyLampReq_proto_depIdxs,
+ MessageInfos: file_SeaLampFlyLampReq_proto_msgTypes,
+ }.Build()
+ File_SeaLampFlyLampReq_proto = out.File
+ file_SeaLampFlyLampReq_proto_rawDesc = nil
+ file_SeaLampFlyLampReq_proto_goTypes = nil
+ file_SeaLampFlyLampReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampFlyLampRsp.pb.go b/protocol/proto/SeaLampFlyLampRsp.pb.go
new file mode 100644
index 00000000..b0e25a47
--- /dev/null
+++ b/protocol/proto/SeaLampFlyLampRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampFlyLampRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2192
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SeaLampFlyLampRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemNum uint32 `protobuf:"varint,9,opt,name=item_num,json=itemNum,proto3" json:"item_num,omitempty"`
+ ItemId uint32 `protobuf:"varint,15,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SeaLampFlyLampRsp) Reset() {
+ *x = SeaLampFlyLampRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampFlyLampRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampFlyLampRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampFlyLampRsp) ProtoMessage() {}
+
+func (x *SeaLampFlyLampRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampFlyLampRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampFlyLampRsp.ProtoReflect.Descriptor instead.
+func (*SeaLampFlyLampRsp) Descriptor() ([]byte, []int) {
+ return file_SeaLampFlyLampRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampFlyLampRsp) GetItemNum() uint32 {
+ if x != nil {
+ return x.ItemNum
+ }
+ return 0
+}
+
+func (x *SeaLampFlyLampRsp) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *SeaLampFlyLampRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SeaLampFlyLampRsp_proto protoreflect.FileDescriptor
+
+var file_SeaLampFlyLampRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x46, 0x6c, 0x79, 0x4c, 0x61, 0x6d, 0x70,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x61, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x46, 0x6c, 0x79, 0x4c, 0x61,
+ 0x6d, 0x70, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d,
+ 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampFlyLampRsp_proto_rawDescOnce sync.Once
+ file_SeaLampFlyLampRsp_proto_rawDescData = file_SeaLampFlyLampRsp_proto_rawDesc
+)
+
+func file_SeaLampFlyLampRsp_proto_rawDescGZIP() []byte {
+ file_SeaLampFlyLampRsp_proto_rawDescOnce.Do(func() {
+ file_SeaLampFlyLampRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampFlyLampRsp_proto_rawDescData)
+ })
+ return file_SeaLampFlyLampRsp_proto_rawDescData
+}
+
+var file_SeaLampFlyLampRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampFlyLampRsp_proto_goTypes = []interface{}{
+ (*SeaLampFlyLampRsp)(nil), // 0: proto.SeaLampFlyLampRsp
+}
+var file_SeaLampFlyLampRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampFlyLampRsp_proto_init() }
+func file_SeaLampFlyLampRsp_proto_init() {
+ if File_SeaLampFlyLampRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampFlyLampRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampFlyLampRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampFlyLampRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampFlyLampRsp_proto_goTypes,
+ DependencyIndexes: file_SeaLampFlyLampRsp_proto_depIdxs,
+ MessageInfos: file_SeaLampFlyLampRsp_proto_msgTypes,
+ }.Build()
+ File_SeaLampFlyLampRsp_proto = out.File
+ file_SeaLampFlyLampRsp_proto_rawDesc = nil
+ file_SeaLampFlyLampRsp_proto_goTypes = nil
+ file_SeaLampFlyLampRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampPopularityNotify.pb.go b/protocol/proto/SeaLampPopularityNotify.pb.go
new file mode 100644
index 00000000..bedc71a6
--- /dev/null
+++ b/protocol/proto/SeaLampPopularityNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampPopularityNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2032
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SeaLampPopularityNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Popularity uint32 `protobuf:"varint,4,opt,name=popularity,proto3" json:"popularity,omitempty"`
+}
+
+func (x *SeaLampPopularityNotify) Reset() {
+ *x = SeaLampPopularityNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampPopularityNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampPopularityNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampPopularityNotify) ProtoMessage() {}
+
+func (x *SeaLampPopularityNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampPopularityNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampPopularityNotify.ProtoReflect.Descriptor instead.
+func (*SeaLampPopularityNotify) Descriptor() ([]byte, []int) {
+ return file_SeaLampPopularityNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampPopularityNotify) GetPopularity() uint32 {
+ if x != nil {
+ return x.Popularity
+ }
+ return 0
+}
+
+var File_SeaLampPopularityNotify_proto protoreflect.FileDescriptor
+
+var file_SeaLampPopularityNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72,
+ 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x17, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d,
+ 0x70, 0x50, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x72, 0x69, 0x74,
+ 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampPopularityNotify_proto_rawDescOnce sync.Once
+ file_SeaLampPopularityNotify_proto_rawDescData = file_SeaLampPopularityNotify_proto_rawDesc
+)
+
+func file_SeaLampPopularityNotify_proto_rawDescGZIP() []byte {
+ file_SeaLampPopularityNotify_proto_rawDescOnce.Do(func() {
+ file_SeaLampPopularityNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampPopularityNotify_proto_rawDescData)
+ })
+ return file_SeaLampPopularityNotify_proto_rawDescData
+}
+
+var file_SeaLampPopularityNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampPopularityNotify_proto_goTypes = []interface{}{
+ (*SeaLampPopularityNotify)(nil), // 0: proto.SeaLampPopularityNotify
+}
+var file_SeaLampPopularityNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampPopularityNotify_proto_init() }
+func file_SeaLampPopularityNotify_proto_init() {
+ if File_SeaLampPopularityNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampPopularityNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampPopularityNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampPopularityNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampPopularityNotify_proto_goTypes,
+ DependencyIndexes: file_SeaLampPopularityNotify_proto_depIdxs,
+ MessageInfos: file_SeaLampPopularityNotify_proto_msgTypes,
+ }.Build()
+ File_SeaLampPopularityNotify_proto = out.File
+ file_SeaLampPopularityNotify_proto_rawDesc = nil
+ file_SeaLampPopularityNotify_proto_goTypes = nil
+ file_SeaLampPopularityNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampSectionInfo.pb.go b/protocol/proto/SeaLampSectionInfo.pb.go
new file mode 100644
index 00000000..193482f4
--- /dev/null
+++ b/protocol/proto/SeaLampSectionInfo.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampSectionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SeaLampSectionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SectionId uint32 `protobuf:"varint,11,opt,name=section_id,json=sectionId,proto3" json:"section_id,omitempty"`
+}
+
+func (x *SeaLampSectionInfo) Reset() {
+ *x = SeaLampSectionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampSectionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampSectionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampSectionInfo) ProtoMessage() {}
+
+func (x *SeaLampSectionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampSectionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampSectionInfo.ProtoReflect.Descriptor instead.
+func (*SeaLampSectionInfo) Descriptor() ([]byte, []int) {
+ return file_SeaLampSectionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampSectionInfo) GetSectionId() uint32 {
+ if x != nil {
+ return x.SectionId
+ }
+ return 0
+}
+
+var File_SeaLampSectionInfo_proto protoreflect.FileDescriptor
+
+var file_SeaLampSectionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x33, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x63, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampSectionInfo_proto_rawDescOnce sync.Once
+ file_SeaLampSectionInfo_proto_rawDescData = file_SeaLampSectionInfo_proto_rawDesc
+)
+
+func file_SeaLampSectionInfo_proto_rawDescGZIP() []byte {
+ file_SeaLampSectionInfo_proto_rawDescOnce.Do(func() {
+ file_SeaLampSectionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampSectionInfo_proto_rawDescData)
+ })
+ return file_SeaLampSectionInfo_proto_rawDescData
+}
+
+var file_SeaLampSectionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampSectionInfo_proto_goTypes = []interface{}{
+ (*SeaLampSectionInfo)(nil), // 0: proto.SeaLampSectionInfo
+}
+var file_SeaLampSectionInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampSectionInfo_proto_init() }
+func file_SeaLampSectionInfo_proto_init() {
+ if File_SeaLampSectionInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampSectionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampSectionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampSectionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampSectionInfo_proto_goTypes,
+ DependencyIndexes: file_SeaLampSectionInfo_proto_depIdxs,
+ MessageInfos: file_SeaLampSectionInfo_proto_msgTypes,
+ }.Build()
+ File_SeaLampSectionInfo_proto = out.File
+ file_SeaLampSectionInfo_proto_rawDesc = nil
+ file_SeaLampSectionInfo_proto_goTypes = nil
+ file_SeaLampSectionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampTakeContributionRewardReq.pb.go b/protocol/proto/SeaLampTakeContributionRewardReq.pb.go
new file mode 100644
index 00000000..7b7f1e49
--- /dev/null
+++ b/protocol/proto/SeaLampTakeContributionRewardReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampTakeContributionRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2019
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SeaLampTakeContributionRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,10,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *SeaLampTakeContributionRewardReq) Reset() {
+ *x = SeaLampTakeContributionRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampTakeContributionRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampTakeContributionRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampTakeContributionRewardReq) ProtoMessage() {}
+
+func (x *SeaLampTakeContributionRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampTakeContributionRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampTakeContributionRewardReq.ProtoReflect.Descriptor instead.
+func (*SeaLampTakeContributionRewardReq) Descriptor() ([]byte, []int) {
+ return file_SeaLampTakeContributionRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampTakeContributionRewardReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *SeaLampTakeContributionRewardReq) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_SeaLampTakeContributionRewardReq_proto protoreflect.FileDescriptor
+
+var file_SeaLampTakeContributionRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6e,
+ 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x60, 0x0a, 0x20, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f,
+ 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampTakeContributionRewardReq_proto_rawDescOnce sync.Once
+ file_SeaLampTakeContributionRewardReq_proto_rawDescData = file_SeaLampTakeContributionRewardReq_proto_rawDesc
+)
+
+func file_SeaLampTakeContributionRewardReq_proto_rawDescGZIP() []byte {
+ file_SeaLampTakeContributionRewardReq_proto_rawDescOnce.Do(func() {
+ file_SeaLampTakeContributionRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampTakeContributionRewardReq_proto_rawDescData)
+ })
+ return file_SeaLampTakeContributionRewardReq_proto_rawDescData
+}
+
+var file_SeaLampTakeContributionRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampTakeContributionRewardReq_proto_goTypes = []interface{}{
+ (*SeaLampTakeContributionRewardReq)(nil), // 0: proto.SeaLampTakeContributionRewardReq
+}
+var file_SeaLampTakeContributionRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampTakeContributionRewardReq_proto_init() }
+func file_SeaLampTakeContributionRewardReq_proto_init() {
+ if File_SeaLampTakeContributionRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampTakeContributionRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampTakeContributionRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampTakeContributionRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampTakeContributionRewardReq_proto_goTypes,
+ DependencyIndexes: file_SeaLampTakeContributionRewardReq_proto_depIdxs,
+ MessageInfos: file_SeaLampTakeContributionRewardReq_proto_msgTypes,
+ }.Build()
+ File_SeaLampTakeContributionRewardReq_proto = out.File
+ file_SeaLampTakeContributionRewardReq_proto_rawDesc = nil
+ file_SeaLampTakeContributionRewardReq_proto_goTypes = nil
+ file_SeaLampTakeContributionRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampTakeContributionRewardRsp.pb.go b/protocol/proto/SeaLampTakeContributionRewardRsp.pb.go
new file mode 100644
index 00000000..34b8e96a
--- /dev/null
+++ b/protocol/proto/SeaLampTakeContributionRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampTakeContributionRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2177
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SeaLampTakeContributionRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConfigId uint32 `protobuf:"varint,9,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SeaLampTakeContributionRewardRsp) Reset() {
+ *x = SeaLampTakeContributionRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampTakeContributionRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampTakeContributionRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampTakeContributionRewardRsp) ProtoMessage() {}
+
+func (x *SeaLampTakeContributionRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampTakeContributionRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampTakeContributionRewardRsp.ProtoReflect.Descriptor instead.
+func (*SeaLampTakeContributionRewardRsp) Descriptor() ([]byte, []int) {
+ return file_SeaLampTakeContributionRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampTakeContributionRewardRsp) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *SeaLampTakeContributionRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SeaLampTakeContributionRewardRsp_proto protoreflect.FileDescriptor
+
+var file_SeaLampTakeContributionRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6e,
+ 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x59, 0x0a, 0x20, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f,
+ 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampTakeContributionRewardRsp_proto_rawDescOnce sync.Once
+ file_SeaLampTakeContributionRewardRsp_proto_rawDescData = file_SeaLampTakeContributionRewardRsp_proto_rawDesc
+)
+
+func file_SeaLampTakeContributionRewardRsp_proto_rawDescGZIP() []byte {
+ file_SeaLampTakeContributionRewardRsp_proto_rawDescOnce.Do(func() {
+ file_SeaLampTakeContributionRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampTakeContributionRewardRsp_proto_rawDescData)
+ })
+ return file_SeaLampTakeContributionRewardRsp_proto_rawDescData
+}
+
+var file_SeaLampTakeContributionRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampTakeContributionRewardRsp_proto_goTypes = []interface{}{
+ (*SeaLampTakeContributionRewardRsp)(nil), // 0: proto.SeaLampTakeContributionRewardRsp
+}
+var file_SeaLampTakeContributionRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampTakeContributionRewardRsp_proto_init() }
+func file_SeaLampTakeContributionRewardRsp_proto_init() {
+ if File_SeaLampTakeContributionRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampTakeContributionRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampTakeContributionRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampTakeContributionRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampTakeContributionRewardRsp_proto_goTypes,
+ DependencyIndexes: file_SeaLampTakeContributionRewardRsp_proto_depIdxs,
+ MessageInfos: file_SeaLampTakeContributionRewardRsp_proto_msgTypes,
+ }.Build()
+ File_SeaLampTakeContributionRewardRsp_proto = out.File
+ file_SeaLampTakeContributionRewardRsp_proto_rawDesc = nil
+ file_SeaLampTakeContributionRewardRsp_proto_goTypes = nil
+ file_SeaLampTakeContributionRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampTakePhaseRewardReq.pb.go b/protocol/proto/SeaLampTakePhaseRewardReq.pb.go
new file mode 100644
index 00000000..ca0ff078
--- /dev/null
+++ b/protocol/proto/SeaLampTakePhaseRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampTakePhaseRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2176
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SeaLampTakePhaseRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PhaseId uint32 `protobuf:"varint,12,opt,name=phase_id,json=phaseId,proto3" json:"phase_id,omitempty"`
+ ActivityId uint32 `protobuf:"varint,11,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *SeaLampTakePhaseRewardReq) Reset() {
+ *x = SeaLampTakePhaseRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampTakePhaseRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampTakePhaseRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampTakePhaseRewardReq) ProtoMessage() {}
+
+func (x *SeaLampTakePhaseRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampTakePhaseRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampTakePhaseRewardReq.ProtoReflect.Descriptor instead.
+func (*SeaLampTakePhaseRewardReq) Descriptor() ([]byte, []int) {
+ return file_SeaLampTakePhaseRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampTakePhaseRewardReq) GetPhaseId() uint32 {
+ if x != nil {
+ return x.PhaseId
+ }
+ return 0
+}
+
+func (x *SeaLampTakePhaseRewardReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_SeaLampTakePhaseRewardReq_proto protoreflect.FileDescriptor
+
+var file_SeaLampTakePhaseRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x50, 0x68, 0x61,
+ 0x73, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x4c,
+ 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x68, 0x61, 0x73, 0x65, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampTakePhaseRewardReq_proto_rawDescOnce sync.Once
+ file_SeaLampTakePhaseRewardReq_proto_rawDescData = file_SeaLampTakePhaseRewardReq_proto_rawDesc
+)
+
+func file_SeaLampTakePhaseRewardReq_proto_rawDescGZIP() []byte {
+ file_SeaLampTakePhaseRewardReq_proto_rawDescOnce.Do(func() {
+ file_SeaLampTakePhaseRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampTakePhaseRewardReq_proto_rawDescData)
+ })
+ return file_SeaLampTakePhaseRewardReq_proto_rawDescData
+}
+
+var file_SeaLampTakePhaseRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampTakePhaseRewardReq_proto_goTypes = []interface{}{
+ (*SeaLampTakePhaseRewardReq)(nil), // 0: proto.SeaLampTakePhaseRewardReq
+}
+var file_SeaLampTakePhaseRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampTakePhaseRewardReq_proto_init() }
+func file_SeaLampTakePhaseRewardReq_proto_init() {
+ if File_SeaLampTakePhaseRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampTakePhaseRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampTakePhaseRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampTakePhaseRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampTakePhaseRewardReq_proto_goTypes,
+ DependencyIndexes: file_SeaLampTakePhaseRewardReq_proto_depIdxs,
+ MessageInfos: file_SeaLampTakePhaseRewardReq_proto_msgTypes,
+ }.Build()
+ File_SeaLampTakePhaseRewardReq_proto = out.File
+ file_SeaLampTakePhaseRewardReq_proto_rawDesc = nil
+ file_SeaLampTakePhaseRewardReq_proto_goTypes = nil
+ file_SeaLampTakePhaseRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeaLampTakePhaseRewardRsp.pb.go b/protocol/proto/SeaLampTakePhaseRewardRsp.pb.go
new file mode 100644
index 00000000..0c8ee2c0
--- /dev/null
+++ b/protocol/proto/SeaLampTakePhaseRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeaLampTakePhaseRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2190
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SeaLampTakePhaseRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PhaseId uint32 `protobuf:"varint,2,opt,name=phase_id,json=phaseId,proto3" json:"phase_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SeaLampTakePhaseRewardRsp) Reset() {
+ *x = SeaLampTakePhaseRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeaLampTakePhaseRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeaLampTakePhaseRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeaLampTakePhaseRewardRsp) ProtoMessage() {}
+
+func (x *SeaLampTakePhaseRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SeaLampTakePhaseRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeaLampTakePhaseRewardRsp.ProtoReflect.Descriptor instead.
+func (*SeaLampTakePhaseRewardRsp) Descriptor() ([]byte, []int) {
+ return file_SeaLampTakePhaseRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeaLampTakePhaseRewardRsp) GetPhaseId() uint32 {
+ if x != nil {
+ return x.PhaseId
+ }
+ return 0
+}
+
+func (x *SeaLampTakePhaseRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SeaLampTakePhaseRewardRsp_proto protoreflect.FileDescriptor
+
+var file_SeaLampTakePhaseRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x65, 0x61, 0x4c, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x50, 0x68, 0x61,
+ 0x73, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x4c,
+ 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x68, 0x61, 0x73, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x68, 0x61, 0x73, 0x65, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeaLampTakePhaseRewardRsp_proto_rawDescOnce sync.Once
+ file_SeaLampTakePhaseRewardRsp_proto_rawDescData = file_SeaLampTakePhaseRewardRsp_proto_rawDesc
+)
+
+func file_SeaLampTakePhaseRewardRsp_proto_rawDescGZIP() []byte {
+ file_SeaLampTakePhaseRewardRsp_proto_rawDescOnce.Do(func() {
+ file_SeaLampTakePhaseRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeaLampTakePhaseRewardRsp_proto_rawDescData)
+ })
+ return file_SeaLampTakePhaseRewardRsp_proto_rawDescData
+}
+
+var file_SeaLampTakePhaseRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeaLampTakePhaseRewardRsp_proto_goTypes = []interface{}{
+ (*SeaLampTakePhaseRewardRsp)(nil), // 0: proto.SeaLampTakePhaseRewardRsp
+}
+var file_SeaLampTakePhaseRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeaLampTakePhaseRewardRsp_proto_init() }
+func file_SeaLampTakePhaseRewardRsp_proto_init() {
+ if File_SeaLampTakePhaseRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeaLampTakePhaseRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeaLampTakePhaseRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeaLampTakePhaseRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeaLampTakePhaseRewardRsp_proto_goTypes,
+ DependencyIndexes: file_SeaLampTakePhaseRewardRsp_proto_depIdxs,
+ MessageInfos: file_SeaLampTakePhaseRewardRsp_proto_msgTypes,
+ }.Build()
+ File_SeaLampTakePhaseRewardRsp_proto = out.File
+ file_SeaLampTakePhaseRewardRsp_proto_rawDesc = nil
+ file_SeaLampTakePhaseRewardRsp_proto_goTypes = nil
+ file_SeaLampTakePhaseRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SealBattleBeginNotify.pb.go b/protocol/proto/SealBattleBeginNotify.pb.go
new file mode 100644
index 00000000..33633944
--- /dev/null
+++ b/protocol/proto/SealBattleBeginNotify.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SealBattleBeginNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 289
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SealBattleBeginNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SealMaxProgress uint32 `protobuf:"varint,9,opt,name=seal_max_progress,json=sealMaxProgress,proto3" json:"seal_max_progress,omitempty"`
+ SealEntityId uint32 `protobuf:"varint,1,opt,name=seal_entity_id,json=sealEntityId,proto3" json:"seal_entity_id,omitempty"`
+ SealRadius uint32 `protobuf:"varint,12,opt,name=seal_radius,json=sealRadius,proto3" json:"seal_radius,omitempty"`
+ BattleType SealBattleType `protobuf:"varint,14,opt,name=battle_type,json=battleType,proto3,enum=proto.SealBattleType" json:"battle_type,omitempty"`
+}
+
+func (x *SealBattleBeginNotify) Reset() {
+ *x = SealBattleBeginNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SealBattleBeginNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SealBattleBeginNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SealBattleBeginNotify) ProtoMessage() {}
+
+func (x *SealBattleBeginNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SealBattleBeginNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SealBattleBeginNotify.ProtoReflect.Descriptor instead.
+func (*SealBattleBeginNotify) Descriptor() ([]byte, []int) {
+ return file_SealBattleBeginNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SealBattleBeginNotify) GetSealMaxProgress() uint32 {
+ if x != nil {
+ return x.SealMaxProgress
+ }
+ return 0
+}
+
+func (x *SealBattleBeginNotify) GetSealEntityId() uint32 {
+ if x != nil {
+ return x.SealEntityId
+ }
+ return 0
+}
+
+func (x *SealBattleBeginNotify) GetSealRadius() uint32 {
+ if x != nil {
+ return x.SealRadius
+ }
+ return 0
+}
+
+func (x *SealBattleBeginNotify) GetBattleType() SealBattleType {
+ if x != nil {
+ return x.BattleType
+ }
+ return SealBattleType_SEAL_BATTLE_TYPE_KEEP_ALIVE
+}
+
+var File_SealBattleBeginNotify_proto protoreflect.FileDescriptor
+
+var file_SealBattleBeginNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x42, 0x65, 0x67, 0x69,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x01, 0x0a, 0x15, 0x53,
+ 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78,
+ 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0f, 0x73, 0x65, 0x61, 0x6c, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x6c, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x6c, 0x5f, 0x72,
+ 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x61,
+ 0x6c, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x74, 0x6c,
+ 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54,
+ 0x79, 0x70, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SealBattleBeginNotify_proto_rawDescOnce sync.Once
+ file_SealBattleBeginNotify_proto_rawDescData = file_SealBattleBeginNotify_proto_rawDesc
+)
+
+func file_SealBattleBeginNotify_proto_rawDescGZIP() []byte {
+ file_SealBattleBeginNotify_proto_rawDescOnce.Do(func() {
+ file_SealBattleBeginNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SealBattleBeginNotify_proto_rawDescData)
+ })
+ return file_SealBattleBeginNotify_proto_rawDescData
+}
+
+var file_SealBattleBeginNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SealBattleBeginNotify_proto_goTypes = []interface{}{
+ (*SealBattleBeginNotify)(nil), // 0: proto.SealBattleBeginNotify
+ (SealBattleType)(0), // 1: proto.SealBattleType
+}
+var file_SealBattleBeginNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SealBattleBeginNotify.battle_type:type_name -> proto.SealBattleType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SealBattleBeginNotify_proto_init() }
+func file_SealBattleBeginNotify_proto_init() {
+ if File_SealBattleBeginNotify_proto != nil {
+ return
+ }
+ file_SealBattleType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SealBattleBeginNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SealBattleBeginNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SealBattleBeginNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SealBattleBeginNotify_proto_goTypes,
+ DependencyIndexes: file_SealBattleBeginNotify_proto_depIdxs,
+ MessageInfos: file_SealBattleBeginNotify_proto_msgTypes,
+ }.Build()
+ File_SealBattleBeginNotify_proto = out.File
+ file_SealBattleBeginNotify_proto_rawDesc = nil
+ file_SealBattleBeginNotify_proto_goTypes = nil
+ file_SealBattleBeginNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SealBattleEndNotify.pb.go b/protocol/proto/SealBattleEndNotify.pb.go
new file mode 100644
index 00000000..69258750
--- /dev/null
+++ b/protocol/proto/SealBattleEndNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SealBattleEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 259
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SealBattleEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsWin bool `protobuf:"varint,4,opt,name=is_win,json=isWin,proto3" json:"is_win,omitempty"`
+ SealEntityId uint32 `protobuf:"varint,15,opt,name=seal_entity_id,json=sealEntityId,proto3" json:"seal_entity_id,omitempty"`
+}
+
+func (x *SealBattleEndNotify) Reset() {
+ *x = SealBattleEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SealBattleEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SealBattleEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SealBattleEndNotify) ProtoMessage() {}
+
+func (x *SealBattleEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SealBattleEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SealBattleEndNotify.ProtoReflect.Descriptor instead.
+func (*SealBattleEndNotify) Descriptor() ([]byte, []int) {
+ return file_SealBattleEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SealBattleEndNotify) GetIsWin() bool {
+ if x != nil {
+ return x.IsWin
+ }
+ return false
+}
+
+func (x *SealBattleEndNotify) GetSealEntityId() uint32 {
+ if x != nil {
+ return x.SealEntityId
+ }
+ return 0
+}
+
+var File_SealBattleEndNotify_proto protoreflect.FileDescriptor
+
+var file_SealBattleEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65,
+ 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f,
+ 0x77, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x57, 0x69, 0x6e,
+ 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x6c, 0x45, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SealBattleEndNotify_proto_rawDescOnce sync.Once
+ file_SealBattleEndNotify_proto_rawDescData = file_SealBattleEndNotify_proto_rawDesc
+)
+
+func file_SealBattleEndNotify_proto_rawDescGZIP() []byte {
+ file_SealBattleEndNotify_proto_rawDescOnce.Do(func() {
+ file_SealBattleEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SealBattleEndNotify_proto_rawDescData)
+ })
+ return file_SealBattleEndNotify_proto_rawDescData
+}
+
+var file_SealBattleEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SealBattleEndNotify_proto_goTypes = []interface{}{
+ (*SealBattleEndNotify)(nil), // 0: proto.SealBattleEndNotify
+}
+var file_SealBattleEndNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SealBattleEndNotify_proto_init() }
+func file_SealBattleEndNotify_proto_init() {
+ if File_SealBattleEndNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SealBattleEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SealBattleEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SealBattleEndNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SealBattleEndNotify_proto_goTypes,
+ DependencyIndexes: file_SealBattleEndNotify_proto_depIdxs,
+ MessageInfos: file_SealBattleEndNotify_proto_msgTypes,
+ }.Build()
+ File_SealBattleEndNotify_proto = out.File
+ file_SealBattleEndNotify_proto_rawDesc = nil
+ file_SealBattleEndNotify_proto_goTypes = nil
+ file_SealBattleEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SealBattleProgressNotify.pb.go b/protocol/proto/SealBattleProgressNotify.pb.go
new file mode 100644
index 00000000..a5e13d1d
--- /dev/null
+++ b/protocol/proto/SealBattleProgressNotify.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SealBattleProgressNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 232
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SealBattleProgressNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SealEntityId uint32 `protobuf:"varint,9,opt,name=seal_entity_id,json=sealEntityId,proto3" json:"seal_entity_id,omitempty"`
+ MaxProgress uint32 `protobuf:"varint,10,opt,name=max_progress,json=maxProgress,proto3" json:"max_progress,omitempty"`
+ SealRadius uint32 `protobuf:"varint,4,opt,name=seal_radius,json=sealRadius,proto3" json:"seal_radius,omitempty"`
+ Progress uint32 `protobuf:"varint,5,opt,name=progress,proto3" json:"progress,omitempty"`
+ EndTime uint32 `protobuf:"varint,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *SealBattleProgressNotify) Reset() {
+ *x = SealBattleProgressNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SealBattleProgressNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SealBattleProgressNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SealBattleProgressNotify) ProtoMessage() {}
+
+func (x *SealBattleProgressNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SealBattleProgressNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SealBattleProgressNotify.ProtoReflect.Descriptor instead.
+func (*SealBattleProgressNotify) Descriptor() ([]byte, []int) {
+ return file_SealBattleProgressNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SealBattleProgressNotify) GetSealEntityId() uint32 {
+ if x != nil {
+ return x.SealEntityId
+ }
+ return 0
+}
+
+func (x *SealBattleProgressNotify) GetMaxProgress() uint32 {
+ if x != nil {
+ return x.MaxProgress
+ }
+ return 0
+}
+
+func (x *SealBattleProgressNotify) GetSealRadius() uint32 {
+ if x != nil {
+ return x.SealRadius
+ }
+ return 0
+}
+
+func (x *SealBattleProgressNotify) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *SealBattleProgressNotify) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_SealBattleProgressNotify_proto protoreflect.FileDescriptor
+
+var file_SealBattleProgressNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x6c,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65,
+ 0x61, 0x6c, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61,
+ 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x73, 0x65, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x6c, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x1a,
+ 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e,
+ 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e,
+ 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SealBattleProgressNotify_proto_rawDescOnce sync.Once
+ file_SealBattleProgressNotify_proto_rawDescData = file_SealBattleProgressNotify_proto_rawDesc
+)
+
+func file_SealBattleProgressNotify_proto_rawDescGZIP() []byte {
+ file_SealBattleProgressNotify_proto_rawDescOnce.Do(func() {
+ file_SealBattleProgressNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SealBattleProgressNotify_proto_rawDescData)
+ })
+ return file_SealBattleProgressNotify_proto_rawDescData
+}
+
+var file_SealBattleProgressNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SealBattleProgressNotify_proto_goTypes = []interface{}{
+ (*SealBattleProgressNotify)(nil), // 0: proto.SealBattleProgressNotify
+}
+var file_SealBattleProgressNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SealBattleProgressNotify_proto_init() }
+func file_SealBattleProgressNotify_proto_init() {
+ if File_SealBattleProgressNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SealBattleProgressNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SealBattleProgressNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SealBattleProgressNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SealBattleProgressNotify_proto_goTypes,
+ DependencyIndexes: file_SealBattleProgressNotify_proto_depIdxs,
+ MessageInfos: file_SealBattleProgressNotify_proto_msgTypes,
+ }.Build()
+ File_SealBattleProgressNotify_proto = out.File
+ file_SealBattleProgressNotify_proto_rawDesc = nil
+ file_SealBattleProgressNotify_proto_goTypes = nil
+ file_SealBattleProgressNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SealBattleType.pb.go b/protocol/proto/SealBattleType.pb.go
new file mode 100644
index 00000000..09af0d03
--- /dev/null
+++ b/protocol/proto/SealBattleType.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SealBattleType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SealBattleType int32
+
+const (
+ SealBattleType_SEAL_BATTLE_TYPE_KEEP_ALIVE SealBattleType = 0
+ SealBattleType_SEAL_BATTLE_TYPE_KILL_MONSTER SealBattleType = 1
+ SealBattleType_SEAL_BATTLE_TYPE_ENERGY_CHARGE SealBattleType = 2
+)
+
+// Enum value maps for SealBattleType.
+var (
+ SealBattleType_name = map[int32]string{
+ 0: "SEAL_BATTLE_TYPE_KEEP_ALIVE",
+ 1: "SEAL_BATTLE_TYPE_KILL_MONSTER",
+ 2: "SEAL_BATTLE_TYPE_ENERGY_CHARGE",
+ }
+ SealBattleType_value = map[string]int32{
+ "SEAL_BATTLE_TYPE_KEEP_ALIVE": 0,
+ "SEAL_BATTLE_TYPE_KILL_MONSTER": 1,
+ "SEAL_BATTLE_TYPE_ENERGY_CHARGE": 2,
+ }
+)
+
+func (x SealBattleType) Enum() *SealBattleType {
+ p := new(SealBattleType)
+ *p = x
+ return p
+}
+
+func (x SealBattleType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SealBattleType) Descriptor() protoreflect.EnumDescriptor {
+ return file_SealBattleType_proto_enumTypes[0].Descriptor()
+}
+
+func (SealBattleType) Type() protoreflect.EnumType {
+ return &file_SealBattleType_proto_enumTypes[0]
+}
+
+func (x SealBattleType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SealBattleType.Descriptor instead.
+func (SealBattleType) EnumDescriptor() ([]byte, []int) {
+ return file_SealBattleType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SealBattleType_proto protoreflect.FileDescriptor
+
+var file_SealBattleType_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x78, 0x0a,
+ 0x0e, 0x53, 0x65, 0x61, 0x6c, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
+ 0x1f, 0x0a, 0x1b, 0x53, 0x45, 0x41, 0x4c, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x41, 0x4c, 0x49, 0x56, 0x45, 0x10, 0x00,
+ 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x45, 0x41, 0x4c, 0x5f, 0x42, 0x41, 0x54, 0x54, 0x4c, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x4d, 0x4f, 0x4e, 0x53, 0x54, 0x45,
+ 0x52, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x41, 0x4c, 0x5f, 0x42, 0x41, 0x54, 0x54,
+ 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x5f, 0x43,
+ 0x48, 0x41, 0x52, 0x47, 0x45, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SealBattleType_proto_rawDescOnce sync.Once
+ file_SealBattleType_proto_rawDescData = file_SealBattleType_proto_rawDesc
+)
+
+func file_SealBattleType_proto_rawDescGZIP() []byte {
+ file_SealBattleType_proto_rawDescOnce.Do(func() {
+ file_SealBattleType_proto_rawDescData = protoimpl.X.CompressGZIP(file_SealBattleType_proto_rawDescData)
+ })
+ return file_SealBattleType_proto_rawDescData
+}
+
+var file_SealBattleType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_SealBattleType_proto_goTypes = []interface{}{
+ (SealBattleType)(0), // 0: proto.SealBattleType
+}
+var file_SealBattleType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SealBattleType_proto_init() }
+func file_SealBattleType_proto_init() {
+ if File_SealBattleType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SealBattleType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SealBattleType_proto_goTypes,
+ DependencyIndexes: file_SealBattleType_proto_depIdxs,
+ EnumInfos: file_SealBattleType_proto_enumTypes,
+ }.Build()
+ File_SealBattleType_proto = out.File
+ file_SealBattleType_proto_rawDesc = nil
+ file_SealBattleType_proto_goTypes = nil
+ file_SealBattleType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SearchCustomDungeonReq.pb.go b/protocol/proto/SearchCustomDungeonReq.pb.go
new file mode 100644
index 00000000..75d41048
--- /dev/null
+++ b/protocol/proto/SearchCustomDungeonReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SearchCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6233
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SearchCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonCode string `protobuf:"bytes,6,opt,name=dungeon_code,json=dungeonCode,proto3" json:"dungeon_code,omitempty"`
+}
+
+func (x *SearchCustomDungeonReq) Reset() {
+ *x = SearchCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SearchCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SearchCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SearchCustomDungeonReq) ProtoMessage() {}
+
+func (x *SearchCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SearchCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SearchCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*SearchCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_SearchCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SearchCustomDungeonReq) GetDungeonCode() string {
+ if x != nil {
+ return x.DungeonCode
+ }
+ return ""
+}
+
+var File_SearchCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_SearchCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12,
+ 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SearchCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_SearchCustomDungeonReq_proto_rawDescData = file_SearchCustomDungeonReq_proto_rawDesc
+)
+
+func file_SearchCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_SearchCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_SearchCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SearchCustomDungeonReq_proto_rawDescData)
+ })
+ return file_SearchCustomDungeonReq_proto_rawDescData
+}
+
+var file_SearchCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SearchCustomDungeonReq_proto_goTypes = []interface{}{
+ (*SearchCustomDungeonReq)(nil), // 0: proto.SearchCustomDungeonReq
+}
+var file_SearchCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SearchCustomDungeonReq_proto_init() }
+func file_SearchCustomDungeonReq_proto_init() {
+ if File_SearchCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SearchCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SearchCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SearchCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SearchCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_SearchCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_SearchCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_SearchCustomDungeonReq_proto = out.File
+ file_SearchCustomDungeonReq_proto_rawDesc = nil
+ file_SearchCustomDungeonReq_proto_goTypes = nil
+ file_SearchCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SearchCustomDungeonRsp.pb.go b/protocol/proto/SearchCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..62b8ecf7
--- /dev/null
+++ b/protocol/proto/SearchCustomDungeonRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SearchCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6215
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SearchCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CustomDungeonBrief *OtherCustomDungeonBrief `protobuf:"bytes,14,opt,name=custom_dungeon_brief,json=customDungeonBrief,proto3" json:"custom_dungeon_brief,omitempty"`
+}
+
+func (x *SearchCustomDungeonRsp) Reset() {
+ *x = SearchCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SearchCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SearchCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SearchCustomDungeonRsp) ProtoMessage() {}
+
+func (x *SearchCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SearchCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SearchCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*SearchCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_SearchCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SearchCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SearchCustomDungeonRsp) GetCustomDungeonBrief() *OtherCustomDungeonBrief {
+ if x != nil {
+ return x.CustomDungeonBrief
+ }
+ return nil
+}
+
+var File_SearchCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_SearchCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x50, 0x0a, 0x14, 0x63, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x62, 0x72, 0x69, 0x65,
+ 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x42, 0x72, 0x69, 0x65, 0x66, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SearchCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_SearchCustomDungeonRsp_proto_rawDescData = file_SearchCustomDungeonRsp_proto_rawDesc
+)
+
+func file_SearchCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_SearchCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_SearchCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SearchCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_SearchCustomDungeonRsp_proto_rawDescData
+}
+
+var file_SearchCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SearchCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*SearchCustomDungeonRsp)(nil), // 0: proto.SearchCustomDungeonRsp
+ (*OtherCustomDungeonBrief)(nil), // 1: proto.OtherCustomDungeonBrief
+}
+var file_SearchCustomDungeonRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SearchCustomDungeonRsp.custom_dungeon_brief:type_name -> proto.OtherCustomDungeonBrief
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SearchCustomDungeonRsp_proto_init() }
+func file_SearchCustomDungeonRsp_proto_init() {
+ if File_SearchCustomDungeonRsp_proto != nil {
+ return
+ }
+ file_OtherCustomDungeonBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SearchCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SearchCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SearchCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SearchCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_SearchCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_SearchCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_SearchCustomDungeonRsp_proto = out.File
+ file_SearchCustomDungeonRsp_proto_rawDesc = nil
+ file_SearchCustomDungeonRsp_proto_goTypes = nil
+ file_SearchCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeeMonsterReq.pb.go b/protocol/proto/SeeMonsterReq.pb.go
new file mode 100644
index 00000000..3ea275ab
--- /dev/null
+++ b/protocol/proto/SeeMonsterReq.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeeMonsterReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 228
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SeeMonsterReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonsterId uint32 `protobuf:"varint,7,opt,name=monster_id,json=monsterId,proto3" json:"monster_id,omitempty"`
+}
+
+func (x *SeeMonsterReq) Reset() {
+ *x = SeeMonsterReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeeMonsterReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeeMonsterReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeeMonsterReq) ProtoMessage() {}
+
+func (x *SeeMonsterReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SeeMonsterReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeeMonsterReq.ProtoReflect.Descriptor instead.
+func (*SeeMonsterReq) Descriptor() ([]byte, []int) {
+ return file_SeeMonsterReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeeMonsterReq) GetMonsterId() uint32 {
+ if x != nil {
+ return x.MonsterId
+ }
+ return 0
+}
+
+var File_SeeMonsterReq_proto protoreflect.FileDescriptor
+
+var file_SeeMonsterReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x53, 0x65, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x0d,
+ 0x53, 0x65, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeeMonsterReq_proto_rawDescOnce sync.Once
+ file_SeeMonsterReq_proto_rawDescData = file_SeeMonsterReq_proto_rawDesc
+)
+
+func file_SeeMonsterReq_proto_rawDescGZIP() []byte {
+ file_SeeMonsterReq_proto_rawDescOnce.Do(func() {
+ file_SeeMonsterReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeeMonsterReq_proto_rawDescData)
+ })
+ return file_SeeMonsterReq_proto_rawDescData
+}
+
+var file_SeeMonsterReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeeMonsterReq_proto_goTypes = []interface{}{
+ (*SeeMonsterReq)(nil), // 0: proto.SeeMonsterReq
+}
+var file_SeeMonsterReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeeMonsterReq_proto_init() }
+func file_SeeMonsterReq_proto_init() {
+ if File_SeeMonsterReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeeMonsterReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeeMonsterReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeeMonsterReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeeMonsterReq_proto_goTypes,
+ DependencyIndexes: file_SeeMonsterReq_proto_depIdxs,
+ MessageInfos: file_SeeMonsterReq_proto_msgTypes,
+ }.Build()
+ File_SeeMonsterReq_proto = out.File
+ file_SeeMonsterReq_proto_rawDesc = nil
+ file_SeeMonsterReq_proto_goTypes = nil
+ file_SeeMonsterReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeeMonsterRsp.pb.go b/protocol/proto/SeeMonsterRsp.pb.go
new file mode 100644
index 00000000..8aa8a803
--- /dev/null
+++ b/protocol/proto/SeeMonsterRsp.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeeMonsterRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 251
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SeeMonsterRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SeeMonsterRsp) Reset() {
+ *x = SeeMonsterRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeeMonsterRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeeMonsterRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeeMonsterRsp) ProtoMessage() {}
+
+func (x *SeeMonsterRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SeeMonsterRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeeMonsterRsp.ProtoReflect.Descriptor instead.
+func (*SeeMonsterRsp) Descriptor() ([]byte, []int) {
+ return file_SeeMonsterRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeeMonsterRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SeeMonsterRsp_proto protoreflect.FileDescriptor
+
+var file_SeeMonsterRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x53, 0x65, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x29, 0x0a, 0x0d,
+ 0x53, 0x65, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeeMonsterRsp_proto_rawDescOnce sync.Once
+ file_SeeMonsterRsp_proto_rawDescData = file_SeeMonsterRsp_proto_rawDesc
+)
+
+func file_SeeMonsterRsp_proto_rawDescGZIP() []byte {
+ file_SeeMonsterRsp_proto_rawDescOnce.Do(func() {
+ file_SeeMonsterRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeeMonsterRsp_proto_rawDescData)
+ })
+ return file_SeeMonsterRsp_proto_rawDescData
+}
+
+var file_SeeMonsterRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeeMonsterRsp_proto_goTypes = []interface{}{
+ (*SeeMonsterRsp)(nil), // 0: proto.SeeMonsterRsp
+}
+var file_SeeMonsterRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SeeMonsterRsp_proto_init() }
+func file_SeeMonsterRsp_proto_init() {
+ if File_SeeMonsterRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SeeMonsterRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeeMonsterRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeeMonsterRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeeMonsterRsp_proto_goTypes,
+ DependencyIndexes: file_SeeMonsterRsp_proto_depIdxs,
+ MessageInfos: file_SeeMonsterRsp_proto_msgTypes,
+ }.Build()
+ File_SeeMonsterRsp_proto = out.File
+ file_SeeMonsterRsp_proto_rawDesc = nil
+ file_SeeMonsterRsp_proto_goTypes = nil
+ file_SeeMonsterRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SeekFurnitureGalleryInfo.pb.go b/protocol/proto/SeekFurnitureGalleryInfo.pb.go
new file mode 100644
index 00000000..fcef215e
--- /dev/null
+++ b/protocol/proto/SeekFurnitureGalleryInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SeekFurnitureGalleryInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SeekFurnitureGalleryInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecordList []*HomeSeekFurnitureOneRecord `protobuf:"bytes,5,rep,name=record_list,json=recordList,proto3" json:"record_list,omitempty"`
+}
+
+func (x *SeekFurnitureGalleryInfo) Reset() {
+ *x = SeekFurnitureGalleryInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SeekFurnitureGalleryInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SeekFurnitureGalleryInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SeekFurnitureGalleryInfo) ProtoMessage() {}
+
+func (x *SeekFurnitureGalleryInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SeekFurnitureGalleryInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SeekFurnitureGalleryInfo.ProtoReflect.Descriptor instead.
+func (*SeekFurnitureGalleryInfo) Descriptor() ([]byte, []int) {
+ return file_SeekFurnitureGalleryInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SeekFurnitureGalleryInfo) GetRecordList() []*HomeSeekFurnitureOneRecord {
+ if x != nil {
+ return x.RecordList
+ }
+ return nil
+}
+
+var File_SeekFurnitureGalleryInfo_proto protoreflect.FileDescriptor
+
+var file_SeekFurnitureGalleryInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x47,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65,
+ 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x65, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x18, 0x53, 0x65, 0x65,
+ 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x48, 0x6f, 0x6d, 0x65, 0x53, 0x65, 0x65, 0x6b, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x4f, 0x6e, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0a, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SeekFurnitureGalleryInfo_proto_rawDescOnce sync.Once
+ file_SeekFurnitureGalleryInfo_proto_rawDescData = file_SeekFurnitureGalleryInfo_proto_rawDesc
+)
+
+func file_SeekFurnitureGalleryInfo_proto_rawDescGZIP() []byte {
+ file_SeekFurnitureGalleryInfo_proto_rawDescOnce.Do(func() {
+ file_SeekFurnitureGalleryInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SeekFurnitureGalleryInfo_proto_rawDescData)
+ })
+ return file_SeekFurnitureGalleryInfo_proto_rawDescData
+}
+
+var file_SeekFurnitureGalleryInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SeekFurnitureGalleryInfo_proto_goTypes = []interface{}{
+ (*SeekFurnitureGalleryInfo)(nil), // 0: proto.SeekFurnitureGalleryInfo
+ (*HomeSeekFurnitureOneRecord)(nil), // 1: proto.HomeSeekFurnitureOneRecord
+}
+var file_SeekFurnitureGalleryInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SeekFurnitureGalleryInfo.record_list:type_name -> proto.HomeSeekFurnitureOneRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SeekFurnitureGalleryInfo_proto_init() }
+func file_SeekFurnitureGalleryInfo_proto_init() {
+ if File_SeekFurnitureGalleryInfo_proto != nil {
+ return
+ }
+ file_HomeSeekFurnitureOneRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SeekFurnitureGalleryInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SeekFurnitureGalleryInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SeekFurnitureGalleryInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SeekFurnitureGalleryInfo_proto_goTypes,
+ DependencyIndexes: file_SeekFurnitureGalleryInfo_proto_depIdxs,
+ MessageInfos: file_SeekFurnitureGalleryInfo_proto_msgTypes,
+ }.Build()
+ File_SeekFurnitureGalleryInfo_proto = out.File
+ file_SeekFurnitureGalleryInfo_proto_rawDesc = nil
+ file_SeekFurnitureGalleryInfo_proto_goTypes = nil
+ file_SeekFurnitureGalleryInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SegmentCRCInfo.pb.go b/protocol/proto/SegmentCRCInfo.pb.go
new file mode 100644
index 00000000..7b9d48e7
--- /dev/null
+++ b/protocol/proto/SegmentCRCInfo.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SegmentCRCInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SegmentCRCInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Module uint32 `protobuf:"varint,13,opt,name=module,proto3" json:"module,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Size uint32 `protobuf:"varint,10,opt,name=size,proto3" json:"size,omitempty"`
+ Crc string `protobuf:"bytes,3,opt,name=crc,proto3" json:"crc,omitempty"`
+ Offset uint32 `protobuf:"varint,11,opt,name=offset,proto3" json:"offset,omitempty"`
+}
+
+func (x *SegmentCRCInfo) Reset() {
+ *x = SegmentCRCInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SegmentCRCInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SegmentCRCInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SegmentCRCInfo) ProtoMessage() {}
+
+func (x *SegmentCRCInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SegmentCRCInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SegmentCRCInfo.ProtoReflect.Descriptor instead.
+func (*SegmentCRCInfo) Descriptor() ([]byte, []int) {
+ return file_SegmentCRCInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SegmentCRCInfo) GetModule() uint32 {
+ if x != nil {
+ return x.Module
+ }
+ return 0
+}
+
+func (x *SegmentCRCInfo) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SegmentCRCInfo) GetSize() uint32 {
+ if x != nil {
+ return x.Size
+ }
+ return 0
+}
+
+func (x *SegmentCRCInfo) GetCrc() string {
+ if x != nil {
+ return x.Crc
+ }
+ return ""
+}
+
+func (x *SegmentCRCInfo) GetOffset() uint32 {
+ if x != nil {
+ return x.Offset
+ }
+ return 0
+}
+
+var File_SegmentCRCInfo_proto protoreflect.FileDescriptor
+
+var file_SegmentCRCInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x52, 0x43, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01,
+ 0x0a, 0x0e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x52, 0x43, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x72, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
+ 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SegmentCRCInfo_proto_rawDescOnce sync.Once
+ file_SegmentCRCInfo_proto_rawDescData = file_SegmentCRCInfo_proto_rawDesc
+)
+
+func file_SegmentCRCInfo_proto_rawDescGZIP() []byte {
+ file_SegmentCRCInfo_proto_rawDescOnce.Do(func() {
+ file_SegmentCRCInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SegmentCRCInfo_proto_rawDescData)
+ })
+ return file_SegmentCRCInfo_proto_rawDescData
+}
+
+var file_SegmentCRCInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SegmentCRCInfo_proto_goTypes = []interface{}{
+ (*SegmentCRCInfo)(nil), // 0: proto.SegmentCRCInfo
+}
+var file_SegmentCRCInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SegmentCRCInfo_proto_init() }
+func file_SegmentCRCInfo_proto_init() {
+ if File_SegmentCRCInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SegmentCRCInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SegmentCRCInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SegmentCRCInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SegmentCRCInfo_proto_goTypes,
+ DependencyIndexes: file_SegmentCRCInfo_proto_depIdxs,
+ MessageInfos: file_SegmentCRCInfo_proto_msgTypes,
+ }.Build()
+ File_SegmentCRCInfo_proto = out.File
+ file_SegmentCRCInfo_proto_rawDesc = nil
+ file_SegmentCRCInfo_proto_goTypes = nil
+ file_SegmentCRCInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SegmentInfo.pb.go b/protocol/proto/SegmentInfo.pb.go
new file mode 100644
index 00000000..e9c1dd68
--- /dev/null
+++ b/protocol/proto/SegmentInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SegmentInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SegmentInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Offset uint32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
+ Module uint32 `protobuf:"varint,7,opt,name=module,proto3" json:"module,omitempty"`
+ Size uint32 `protobuf:"varint,8,opt,name=size,proto3" json:"size,omitempty"`
+}
+
+func (x *SegmentInfo) Reset() {
+ *x = SegmentInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SegmentInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SegmentInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SegmentInfo) ProtoMessage() {}
+
+func (x *SegmentInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SegmentInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SegmentInfo.ProtoReflect.Descriptor instead.
+func (*SegmentInfo) Descriptor() ([]byte, []int) {
+ return file_SegmentInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SegmentInfo) GetOffset() uint32 {
+ if x != nil {
+ return x.Offset
+ }
+ return 0
+}
+
+func (x *SegmentInfo) GetModule() uint32 {
+ if x != nil {
+ return x.Module
+ }
+ return 0
+}
+
+func (x *SegmentInfo) GetSize() uint32 {
+ if x != nil {
+ return x.Size
+ }
+ return 0
+}
+
+var File_SegmentInfo_proto protoreflect.FileDescriptor
+
+var file_SegmentInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x0b, 0x53, 0x65,
+ 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66,
+ 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
+ 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SegmentInfo_proto_rawDescOnce sync.Once
+ file_SegmentInfo_proto_rawDescData = file_SegmentInfo_proto_rawDesc
+)
+
+func file_SegmentInfo_proto_rawDescGZIP() []byte {
+ file_SegmentInfo_proto_rawDescOnce.Do(func() {
+ file_SegmentInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SegmentInfo_proto_rawDescData)
+ })
+ return file_SegmentInfo_proto_rawDescData
+}
+
+var file_SegmentInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SegmentInfo_proto_goTypes = []interface{}{
+ (*SegmentInfo)(nil), // 0: proto.SegmentInfo
+}
+var file_SegmentInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SegmentInfo_proto_init() }
+func file_SegmentInfo_proto_init() {
+ if File_SegmentInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SegmentInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SegmentInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SegmentInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SegmentInfo_proto_goTypes,
+ DependencyIndexes: file_SegmentInfo_proto_depIdxs,
+ MessageInfos: file_SegmentInfo_proto_msgTypes,
+ }.Build()
+ File_SegmentInfo_proto = out.File
+ file_SegmentInfo_proto_rawDesc = nil
+ file_SegmentInfo_proto_goTypes = nil
+ file_SegmentInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SelectAsterMidDifficultyReq.pb.go b/protocol/proto/SelectAsterMidDifficultyReq.pb.go
new file mode 100644
index 00000000..47fa892e
--- /dev/null
+++ b/protocol/proto/SelectAsterMidDifficultyReq.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SelectAsterMidDifficultyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2134
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SelectAsterMidDifficultyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityId uint32 `protobuf:"varint,13,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,5,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *SelectAsterMidDifficultyReq) Reset() {
+ *x = SelectAsterMidDifficultyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SelectAsterMidDifficultyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelectAsterMidDifficultyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelectAsterMidDifficultyReq) ProtoMessage() {}
+
+func (x *SelectAsterMidDifficultyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SelectAsterMidDifficultyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelectAsterMidDifficultyReq.ProtoReflect.Descriptor instead.
+func (*SelectAsterMidDifficultyReq) Descriptor() ([]byte, []int) {
+ return file_SelectAsterMidDifficultyReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SelectAsterMidDifficultyReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *SelectAsterMidDifficultyReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *SelectAsterMidDifficultyReq) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_SelectAsterMidDifficultyReq_proto protoreflect.FileDescriptor
+
+var file_SelectAsterMidDifficultyReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64,
+ 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x1b, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x44, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
+ 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SelectAsterMidDifficultyReq_proto_rawDescOnce sync.Once
+ file_SelectAsterMidDifficultyReq_proto_rawDescData = file_SelectAsterMidDifficultyReq_proto_rawDesc
+)
+
+func file_SelectAsterMidDifficultyReq_proto_rawDescGZIP() []byte {
+ file_SelectAsterMidDifficultyReq_proto_rawDescOnce.Do(func() {
+ file_SelectAsterMidDifficultyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SelectAsterMidDifficultyReq_proto_rawDescData)
+ })
+ return file_SelectAsterMidDifficultyReq_proto_rawDescData
+}
+
+var file_SelectAsterMidDifficultyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SelectAsterMidDifficultyReq_proto_goTypes = []interface{}{
+ (*SelectAsterMidDifficultyReq)(nil), // 0: proto.SelectAsterMidDifficultyReq
+}
+var file_SelectAsterMidDifficultyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SelectAsterMidDifficultyReq_proto_init() }
+func file_SelectAsterMidDifficultyReq_proto_init() {
+ if File_SelectAsterMidDifficultyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SelectAsterMidDifficultyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelectAsterMidDifficultyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SelectAsterMidDifficultyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SelectAsterMidDifficultyReq_proto_goTypes,
+ DependencyIndexes: file_SelectAsterMidDifficultyReq_proto_depIdxs,
+ MessageInfos: file_SelectAsterMidDifficultyReq_proto_msgTypes,
+ }.Build()
+ File_SelectAsterMidDifficultyReq_proto = out.File
+ file_SelectAsterMidDifficultyReq_proto_rawDesc = nil
+ file_SelectAsterMidDifficultyReq_proto_goTypes = nil
+ file_SelectAsterMidDifficultyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SelectAsterMidDifficultyRsp.pb.go b/protocol/proto/SelectAsterMidDifficultyRsp.pb.go
new file mode 100644
index 00000000..8a15ed16
--- /dev/null
+++ b/protocol/proto/SelectAsterMidDifficultyRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SelectAsterMidDifficultyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2180
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SelectAsterMidDifficultyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,5,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,14,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *SelectAsterMidDifficultyRsp) Reset() {
+ *x = SelectAsterMidDifficultyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SelectAsterMidDifficultyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelectAsterMidDifficultyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelectAsterMidDifficultyRsp) ProtoMessage() {}
+
+func (x *SelectAsterMidDifficultyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SelectAsterMidDifficultyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelectAsterMidDifficultyRsp.ProtoReflect.Descriptor instead.
+func (*SelectAsterMidDifficultyRsp) Descriptor() ([]byte, []int) {
+ return file_SelectAsterMidDifficultyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SelectAsterMidDifficultyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SelectAsterMidDifficultyRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *SelectAsterMidDifficultyRsp) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *SelectAsterMidDifficultyRsp) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_SelectAsterMidDifficultyRsp_proto protoreflect.FileDescriptor
+
+var file_SelectAsterMidDifficultyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64,
+ 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x1b, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x41, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x44, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12,
+ 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
+ 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SelectAsterMidDifficultyRsp_proto_rawDescOnce sync.Once
+ file_SelectAsterMidDifficultyRsp_proto_rawDescData = file_SelectAsterMidDifficultyRsp_proto_rawDesc
+)
+
+func file_SelectAsterMidDifficultyRsp_proto_rawDescGZIP() []byte {
+ file_SelectAsterMidDifficultyRsp_proto_rawDescOnce.Do(func() {
+ file_SelectAsterMidDifficultyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SelectAsterMidDifficultyRsp_proto_rawDescData)
+ })
+ return file_SelectAsterMidDifficultyRsp_proto_rawDescData
+}
+
+var file_SelectAsterMidDifficultyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SelectAsterMidDifficultyRsp_proto_goTypes = []interface{}{
+ (*SelectAsterMidDifficultyRsp)(nil), // 0: proto.SelectAsterMidDifficultyRsp
+}
+var file_SelectAsterMidDifficultyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SelectAsterMidDifficultyRsp_proto_init() }
+func file_SelectAsterMidDifficultyRsp_proto_init() {
+ if File_SelectAsterMidDifficultyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SelectAsterMidDifficultyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelectAsterMidDifficultyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SelectAsterMidDifficultyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SelectAsterMidDifficultyRsp_proto_goTypes,
+ DependencyIndexes: file_SelectAsterMidDifficultyRsp_proto_depIdxs,
+ MessageInfos: file_SelectAsterMidDifficultyRsp_proto_msgTypes,
+ }.Build()
+ File_SelectAsterMidDifficultyRsp_proto = out.File
+ file_SelectAsterMidDifficultyRsp_proto_rawDesc = nil
+ file_SelectAsterMidDifficultyRsp_proto_goTypes = nil
+ file_SelectAsterMidDifficultyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SelectEffigyChallengeConditionReq.pb.go b/protocol/proto/SelectEffigyChallengeConditionReq.pb.go
new file mode 100644
index 00000000..0bf71cab
--- /dev/null
+++ b/protocol/proto/SelectEffigyChallengeConditionReq.pb.go
@@ -0,0 +1,186 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SelectEffigyChallengeConditionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2064
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SelectEffigyChallengeConditionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DifficultyId uint32 `protobuf:"varint,15,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,7,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ ConditionIdList []uint32 `protobuf:"varint,9,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+}
+
+func (x *SelectEffigyChallengeConditionReq) Reset() {
+ *x = SelectEffigyChallengeConditionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SelectEffigyChallengeConditionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelectEffigyChallengeConditionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelectEffigyChallengeConditionReq) ProtoMessage() {}
+
+func (x *SelectEffigyChallengeConditionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SelectEffigyChallengeConditionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelectEffigyChallengeConditionReq.ProtoReflect.Descriptor instead.
+func (*SelectEffigyChallengeConditionReq) Descriptor() ([]byte, []int) {
+ return file_SelectEffigyChallengeConditionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SelectEffigyChallengeConditionReq) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *SelectEffigyChallengeConditionReq) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *SelectEffigyChallengeConditionReq) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+var File_SelectEffigyChallengeConditionReq_proto protoreflect.FileDescriptor
+
+var file_SelectEffigyChallengeConditionReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x97, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67,
+ 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63,
+ 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64,
+ 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x2a,
+ 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SelectEffigyChallengeConditionReq_proto_rawDescOnce sync.Once
+ file_SelectEffigyChallengeConditionReq_proto_rawDescData = file_SelectEffigyChallengeConditionReq_proto_rawDesc
+)
+
+func file_SelectEffigyChallengeConditionReq_proto_rawDescGZIP() []byte {
+ file_SelectEffigyChallengeConditionReq_proto_rawDescOnce.Do(func() {
+ file_SelectEffigyChallengeConditionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SelectEffigyChallengeConditionReq_proto_rawDescData)
+ })
+ return file_SelectEffigyChallengeConditionReq_proto_rawDescData
+}
+
+var file_SelectEffigyChallengeConditionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SelectEffigyChallengeConditionReq_proto_goTypes = []interface{}{
+ (*SelectEffigyChallengeConditionReq)(nil), // 0: proto.SelectEffigyChallengeConditionReq
+}
+var file_SelectEffigyChallengeConditionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SelectEffigyChallengeConditionReq_proto_init() }
+func file_SelectEffigyChallengeConditionReq_proto_init() {
+ if File_SelectEffigyChallengeConditionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SelectEffigyChallengeConditionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelectEffigyChallengeConditionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SelectEffigyChallengeConditionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SelectEffigyChallengeConditionReq_proto_goTypes,
+ DependencyIndexes: file_SelectEffigyChallengeConditionReq_proto_depIdxs,
+ MessageInfos: file_SelectEffigyChallengeConditionReq_proto_msgTypes,
+ }.Build()
+ File_SelectEffigyChallengeConditionReq_proto = out.File
+ file_SelectEffigyChallengeConditionReq_proto_rawDesc = nil
+ file_SelectEffigyChallengeConditionReq_proto_goTypes = nil
+ file_SelectEffigyChallengeConditionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SelectEffigyChallengeConditionRsp.pb.go b/protocol/proto/SelectEffigyChallengeConditionRsp.pb.go
new file mode 100644
index 00000000..4d136367
--- /dev/null
+++ b/protocol/proto/SelectEffigyChallengeConditionRsp.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SelectEffigyChallengeConditionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2039
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SelectEffigyChallengeConditionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConditionIdList []uint32 `protobuf:"varint,12,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,7,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,2,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *SelectEffigyChallengeConditionRsp) Reset() {
+ *x = SelectEffigyChallengeConditionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SelectEffigyChallengeConditionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelectEffigyChallengeConditionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelectEffigyChallengeConditionRsp) ProtoMessage() {}
+
+func (x *SelectEffigyChallengeConditionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SelectEffigyChallengeConditionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelectEffigyChallengeConditionRsp.ProtoReflect.Descriptor instead.
+func (*SelectEffigyChallengeConditionRsp) Descriptor() ([]byte, []int) {
+ return file_SelectEffigyChallengeConditionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SelectEffigyChallengeConditionRsp) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *SelectEffigyChallengeConditionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SelectEffigyChallengeConditionRsp) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *SelectEffigyChallengeConditionRsp) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_SelectEffigyChallengeConditionRsp_proto protoreflect.FileDescriptor
+
+var file_SelectEffigyChallengeConditionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xb1, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67,
+ 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d,
+ 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SelectEffigyChallengeConditionRsp_proto_rawDescOnce sync.Once
+ file_SelectEffigyChallengeConditionRsp_proto_rawDescData = file_SelectEffigyChallengeConditionRsp_proto_rawDesc
+)
+
+func file_SelectEffigyChallengeConditionRsp_proto_rawDescGZIP() []byte {
+ file_SelectEffigyChallengeConditionRsp_proto_rawDescOnce.Do(func() {
+ file_SelectEffigyChallengeConditionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SelectEffigyChallengeConditionRsp_proto_rawDescData)
+ })
+ return file_SelectEffigyChallengeConditionRsp_proto_rawDescData
+}
+
+var file_SelectEffigyChallengeConditionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SelectEffigyChallengeConditionRsp_proto_goTypes = []interface{}{
+ (*SelectEffigyChallengeConditionRsp)(nil), // 0: proto.SelectEffigyChallengeConditionRsp
+}
+var file_SelectEffigyChallengeConditionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SelectEffigyChallengeConditionRsp_proto_init() }
+func file_SelectEffigyChallengeConditionRsp_proto_init() {
+ if File_SelectEffigyChallengeConditionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SelectEffigyChallengeConditionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelectEffigyChallengeConditionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SelectEffigyChallengeConditionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SelectEffigyChallengeConditionRsp_proto_goTypes,
+ DependencyIndexes: file_SelectEffigyChallengeConditionRsp_proto_depIdxs,
+ MessageInfos: file_SelectEffigyChallengeConditionRsp_proto_msgTypes,
+ }.Build()
+ File_SelectEffigyChallengeConditionRsp_proto = out.File
+ file_SelectEffigyChallengeConditionRsp_proto_rawDesc = nil
+ file_SelectEffigyChallengeConditionRsp_proto_goTypes = nil
+ file_SelectEffigyChallengeConditionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SelectRoguelikeDungeonCardReq.pb.go b/protocol/proto/SelectRoguelikeDungeonCardReq.pb.go
new file mode 100644
index 00000000..86227fb6
--- /dev/null
+++ b/protocol/proto/SelectRoguelikeDungeonCardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SelectRoguelikeDungeonCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8085
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SelectRoguelikeDungeonCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,13,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+}
+
+func (x *SelectRoguelikeDungeonCardReq) Reset() {
+ *x = SelectRoguelikeDungeonCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SelectRoguelikeDungeonCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelectRoguelikeDungeonCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelectRoguelikeDungeonCardReq) ProtoMessage() {}
+
+func (x *SelectRoguelikeDungeonCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SelectRoguelikeDungeonCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelectRoguelikeDungeonCardReq.ProtoReflect.Descriptor instead.
+func (*SelectRoguelikeDungeonCardReq) Descriptor() ([]byte, []int) {
+ return file_SelectRoguelikeDungeonCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SelectRoguelikeDungeonCardReq) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+var File_SelectRoguelikeDungeonCardReq_proto protoreflect.FileDescriptor
+
+var file_SelectRoguelikeDungeonCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b,
+ 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1d,
+ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a,
+ 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SelectRoguelikeDungeonCardReq_proto_rawDescOnce sync.Once
+ file_SelectRoguelikeDungeonCardReq_proto_rawDescData = file_SelectRoguelikeDungeonCardReq_proto_rawDesc
+)
+
+func file_SelectRoguelikeDungeonCardReq_proto_rawDescGZIP() []byte {
+ file_SelectRoguelikeDungeonCardReq_proto_rawDescOnce.Do(func() {
+ file_SelectRoguelikeDungeonCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SelectRoguelikeDungeonCardReq_proto_rawDescData)
+ })
+ return file_SelectRoguelikeDungeonCardReq_proto_rawDescData
+}
+
+var file_SelectRoguelikeDungeonCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SelectRoguelikeDungeonCardReq_proto_goTypes = []interface{}{
+ (*SelectRoguelikeDungeonCardReq)(nil), // 0: proto.SelectRoguelikeDungeonCardReq
+}
+var file_SelectRoguelikeDungeonCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SelectRoguelikeDungeonCardReq_proto_init() }
+func file_SelectRoguelikeDungeonCardReq_proto_init() {
+ if File_SelectRoguelikeDungeonCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SelectRoguelikeDungeonCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelectRoguelikeDungeonCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SelectRoguelikeDungeonCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SelectRoguelikeDungeonCardReq_proto_goTypes,
+ DependencyIndexes: file_SelectRoguelikeDungeonCardReq_proto_depIdxs,
+ MessageInfos: file_SelectRoguelikeDungeonCardReq_proto_msgTypes,
+ }.Build()
+ File_SelectRoguelikeDungeonCardReq_proto = out.File
+ file_SelectRoguelikeDungeonCardReq_proto_rawDesc = nil
+ file_SelectRoguelikeDungeonCardReq_proto_goTypes = nil
+ file_SelectRoguelikeDungeonCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SelectRoguelikeDungeonCardRsp.pb.go b/protocol/proto/SelectRoguelikeDungeonCardRsp.pb.go
new file mode 100644
index 00000000..4229291e
--- /dev/null
+++ b/protocol/proto/SelectRoguelikeDungeonCardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SelectRoguelikeDungeonCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8138
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SelectRoguelikeDungeonCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CardId uint32 `protobuf:"varint,9,opt,name=card_id,json=cardId,proto3" json:"card_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SelectRoguelikeDungeonCardRsp) Reset() {
+ *x = SelectRoguelikeDungeonCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SelectRoguelikeDungeonCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelectRoguelikeDungeonCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelectRoguelikeDungeonCardRsp) ProtoMessage() {}
+
+func (x *SelectRoguelikeDungeonCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SelectRoguelikeDungeonCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelectRoguelikeDungeonCardRsp.ProtoReflect.Descriptor instead.
+func (*SelectRoguelikeDungeonCardRsp) Descriptor() ([]byte, []int) {
+ return file_SelectRoguelikeDungeonCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SelectRoguelikeDungeonCardRsp) GetCardId() uint32 {
+ if x != nil {
+ return x.CardId
+ }
+ return 0
+}
+
+func (x *SelectRoguelikeDungeonCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SelectRoguelikeDungeonCardRsp_proto protoreflect.FileDescriptor
+
+var file_SelectRoguelikeDungeonCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b,
+ 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x1d,
+ 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a,
+ 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SelectRoguelikeDungeonCardRsp_proto_rawDescOnce sync.Once
+ file_SelectRoguelikeDungeonCardRsp_proto_rawDescData = file_SelectRoguelikeDungeonCardRsp_proto_rawDesc
+)
+
+func file_SelectRoguelikeDungeonCardRsp_proto_rawDescGZIP() []byte {
+ file_SelectRoguelikeDungeonCardRsp_proto_rawDescOnce.Do(func() {
+ file_SelectRoguelikeDungeonCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SelectRoguelikeDungeonCardRsp_proto_rawDescData)
+ })
+ return file_SelectRoguelikeDungeonCardRsp_proto_rawDescData
+}
+
+var file_SelectRoguelikeDungeonCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SelectRoguelikeDungeonCardRsp_proto_goTypes = []interface{}{
+ (*SelectRoguelikeDungeonCardRsp)(nil), // 0: proto.SelectRoguelikeDungeonCardRsp
+}
+var file_SelectRoguelikeDungeonCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SelectRoguelikeDungeonCardRsp_proto_init() }
+func file_SelectRoguelikeDungeonCardRsp_proto_init() {
+ if File_SelectRoguelikeDungeonCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SelectRoguelikeDungeonCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelectRoguelikeDungeonCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SelectRoguelikeDungeonCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SelectRoguelikeDungeonCardRsp_proto_goTypes,
+ DependencyIndexes: file_SelectRoguelikeDungeonCardRsp_proto_depIdxs,
+ MessageInfos: file_SelectRoguelikeDungeonCardRsp_proto_msgTypes,
+ }.Build()
+ File_SelectRoguelikeDungeonCardRsp_proto = out.File
+ file_SelectRoguelikeDungeonCardRsp_proto_rawDesc = nil
+ file_SelectRoguelikeDungeonCardRsp_proto_goTypes = nil
+ file_SelectRoguelikeDungeonCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SelectWorktopOptionReq.pb.go b/protocol/proto/SelectWorktopOptionReq.pb.go
new file mode 100644
index 00000000..39e8e27b
--- /dev/null
+++ b/protocol/proto/SelectWorktopOptionReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SelectWorktopOptionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 807
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SelectWorktopOptionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityId uint32 `protobuf:"varint,12,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ OptionId uint32 `protobuf:"varint,11,opt,name=option_id,json=optionId,proto3" json:"option_id,omitempty"`
+}
+
+func (x *SelectWorktopOptionReq) Reset() {
+ *x = SelectWorktopOptionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SelectWorktopOptionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelectWorktopOptionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelectWorktopOptionReq) ProtoMessage() {}
+
+func (x *SelectWorktopOptionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SelectWorktopOptionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelectWorktopOptionReq.ProtoReflect.Descriptor instead.
+func (*SelectWorktopOptionReq) Descriptor() ([]byte, []int) {
+ return file_SelectWorktopOptionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SelectWorktopOptionReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *SelectWorktopOptionReq) GetOptionId() uint32 {
+ if x != nil {
+ return x.OptionId
+ }
+ return 0
+}
+
+var File_SelectWorktopOptionReq_proto protoreflect.FileDescriptor
+
+var file_SelectWorktopOptionReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x16, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x57,
+ 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12,
+ 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SelectWorktopOptionReq_proto_rawDescOnce sync.Once
+ file_SelectWorktopOptionReq_proto_rawDescData = file_SelectWorktopOptionReq_proto_rawDesc
+)
+
+func file_SelectWorktopOptionReq_proto_rawDescGZIP() []byte {
+ file_SelectWorktopOptionReq_proto_rawDescOnce.Do(func() {
+ file_SelectWorktopOptionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SelectWorktopOptionReq_proto_rawDescData)
+ })
+ return file_SelectWorktopOptionReq_proto_rawDescData
+}
+
+var file_SelectWorktopOptionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SelectWorktopOptionReq_proto_goTypes = []interface{}{
+ (*SelectWorktopOptionReq)(nil), // 0: proto.SelectWorktopOptionReq
+}
+var file_SelectWorktopOptionReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SelectWorktopOptionReq_proto_init() }
+func file_SelectWorktopOptionReq_proto_init() {
+ if File_SelectWorktopOptionReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SelectWorktopOptionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelectWorktopOptionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SelectWorktopOptionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SelectWorktopOptionReq_proto_goTypes,
+ DependencyIndexes: file_SelectWorktopOptionReq_proto_depIdxs,
+ MessageInfos: file_SelectWorktopOptionReq_proto_msgTypes,
+ }.Build()
+ File_SelectWorktopOptionReq_proto = out.File
+ file_SelectWorktopOptionReq_proto_rawDesc = nil
+ file_SelectWorktopOptionReq_proto_goTypes = nil
+ file_SelectWorktopOptionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SelectWorktopOptionRsp.pb.go b/protocol/proto/SelectWorktopOptionRsp.pb.go
new file mode 100644
index 00000000..9d3d293b
--- /dev/null
+++ b/protocol/proto/SelectWorktopOptionRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SelectWorktopOptionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 821
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SelectWorktopOptionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityId uint32 `protobuf:"varint,13,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ OptionId uint32 `protobuf:"varint,7,opt,name=option_id,json=optionId,proto3" json:"option_id,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SelectWorktopOptionRsp) Reset() {
+ *x = SelectWorktopOptionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SelectWorktopOptionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SelectWorktopOptionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SelectWorktopOptionRsp) ProtoMessage() {}
+
+func (x *SelectWorktopOptionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SelectWorktopOptionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SelectWorktopOptionRsp.ProtoReflect.Descriptor instead.
+func (*SelectWorktopOptionRsp) Descriptor() ([]byte, []int) {
+ return file_SelectWorktopOptionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SelectWorktopOptionRsp) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *SelectWorktopOptionRsp) GetOptionId() uint32 {
+ if x != nil {
+ return x.OptionId
+ }
+ return 0
+}
+
+func (x *SelectWorktopOptionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SelectWorktopOptionRsp_proto protoreflect.FileDescriptor
+
+var file_SelectWorktopOptionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x16, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x57,
+ 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12,
+ 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SelectWorktopOptionRsp_proto_rawDescOnce sync.Once
+ file_SelectWorktopOptionRsp_proto_rawDescData = file_SelectWorktopOptionRsp_proto_rawDesc
+)
+
+func file_SelectWorktopOptionRsp_proto_rawDescGZIP() []byte {
+ file_SelectWorktopOptionRsp_proto_rawDescOnce.Do(func() {
+ file_SelectWorktopOptionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SelectWorktopOptionRsp_proto_rawDescData)
+ })
+ return file_SelectWorktopOptionRsp_proto_rawDescData
+}
+
+var file_SelectWorktopOptionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SelectWorktopOptionRsp_proto_goTypes = []interface{}{
+ (*SelectWorktopOptionRsp)(nil), // 0: proto.SelectWorktopOptionRsp
+}
+var file_SelectWorktopOptionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SelectWorktopOptionRsp_proto_init() }
+func file_SelectWorktopOptionRsp_proto_init() {
+ if File_SelectWorktopOptionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SelectWorktopOptionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SelectWorktopOptionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SelectWorktopOptionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SelectWorktopOptionRsp_proto_goTypes,
+ DependencyIndexes: file_SelectWorktopOptionRsp_proto_depIdxs,
+ MessageInfos: file_SelectWorktopOptionRsp_proto_msgTypes,
+ }.Build()
+ File_SelectWorktopOptionRsp_proto = out.File
+ file_SelectWorktopOptionRsp_proto_rawDesc = nil
+ file_SelectWorktopOptionRsp_proto_goTypes = nil
+ file_SelectWorktopOptionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServantInfo.pb.go b/protocol/proto/ServantInfo.pb.go
new file mode 100644
index 00000000..5c53bf64
--- /dev/null
+++ b/protocol/proto/ServantInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServantInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ServantInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MasterEntityId uint32 `protobuf:"varint,1,opt,name=master_entity_id,json=masterEntityId,proto3" json:"master_entity_id,omitempty"`
+ BornSlotIndex uint32 `protobuf:"varint,2,opt,name=born_slot_index,json=bornSlotIndex,proto3" json:"born_slot_index,omitempty"`
+}
+
+func (x *ServantInfo) Reset() {
+ *x = ServantInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServantInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServantInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServantInfo) ProtoMessage() {}
+
+func (x *ServantInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ServantInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServantInfo.ProtoReflect.Descriptor instead.
+func (*ServantInfo) Descriptor() ([]byte, []int) {
+ return file_ServantInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServantInfo) GetMasterEntityId() uint32 {
+ if x != nil {
+ return x.MasterEntityId
+ }
+ return 0
+}
+
+func (x *ServantInfo) GetBornSlotIndex() uint32 {
+ if x != nil {
+ return x.BornSlotIndex
+ }
+ return 0
+}
+
+var File_ServantInfo_proto protoreflect.FileDescriptor
+
+var file_ServantInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x53, 0x65, 0x72, 0x76, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x0b, 0x53, 0x65,
+ 0x72, 0x76, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x6f, 0x72, 0x6e, 0x5f, 0x73, 0x6c, 0x6f, 0x74,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x6f,
+ 0x72, 0x6e, 0x53, 0x6c, 0x6f, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServantInfo_proto_rawDescOnce sync.Once
+ file_ServantInfo_proto_rawDescData = file_ServantInfo_proto_rawDesc
+)
+
+func file_ServantInfo_proto_rawDescGZIP() []byte {
+ file_ServantInfo_proto_rawDescOnce.Do(func() {
+ file_ServantInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServantInfo_proto_rawDescData)
+ })
+ return file_ServantInfo_proto_rawDescData
+}
+
+var file_ServantInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServantInfo_proto_goTypes = []interface{}{
+ (*ServantInfo)(nil), // 0: proto.ServantInfo
+}
+var file_ServantInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServantInfo_proto_init() }
+func file_ServantInfo_proto_init() {
+ if File_ServantInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServantInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServantInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServantInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServantInfo_proto_goTypes,
+ DependencyIndexes: file_ServantInfo_proto_depIdxs,
+ MessageInfos: file_ServantInfo_proto_msgTypes,
+ }.Build()
+ File_ServantInfo_proto = out.File
+ file_ServantInfo_proto_rawDesc = nil
+ file_ServantInfo_proto_goTypes = nil
+ file_ServantInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerAnnounceNotify.pb.go b/protocol/proto/ServerAnnounceNotify.pb.go
new file mode 100644
index 00000000..48201c6e
--- /dev/null
+++ b/protocol/proto/ServerAnnounceNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerAnnounceNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2197
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerAnnounceNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AnnounceDataList []*AnnounceData `protobuf:"bytes,11,rep,name=announce_data_list,json=announceDataList,proto3" json:"announce_data_list,omitempty"`
+}
+
+func (x *ServerAnnounceNotify) Reset() {
+ *x = ServerAnnounceNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerAnnounceNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerAnnounceNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerAnnounceNotify) ProtoMessage() {}
+
+func (x *ServerAnnounceNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerAnnounceNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerAnnounceNotify.ProtoReflect.Descriptor instead.
+func (*ServerAnnounceNotify) Descriptor() ([]byte, []int) {
+ return file_ServerAnnounceNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerAnnounceNotify) GetAnnounceDataList() []*AnnounceData {
+ if x != nil {
+ return x.AnnounceDataList
+ }
+ return nil
+}
+
+var File_ServerAnnounceNotify_proto protoreflect.FileDescriptor
+
+var file_ServerAnnounceNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x41, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x10, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerAnnounceNotify_proto_rawDescOnce sync.Once
+ file_ServerAnnounceNotify_proto_rawDescData = file_ServerAnnounceNotify_proto_rawDesc
+)
+
+func file_ServerAnnounceNotify_proto_rawDescGZIP() []byte {
+ file_ServerAnnounceNotify_proto_rawDescOnce.Do(func() {
+ file_ServerAnnounceNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerAnnounceNotify_proto_rawDescData)
+ })
+ return file_ServerAnnounceNotify_proto_rawDescData
+}
+
+var file_ServerAnnounceNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerAnnounceNotify_proto_goTypes = []interface{}{
+ (*ServerAnnounceNotify)(nil), // 0: proto.ServerAnnounceNotify
+ (*AnnounceData)(nil), // 1: proto.AnnounceData
+}
+var file_ServerAnnounceNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ServerAnnounceNotify.announce_data_list:type_name -> proto.AnnounceData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ServerAnnounceNotify_proto_init() }
+func file_ServerAnnounceNotify_proto_init() {
+ if File_ServerAnnounceNotify_proto != nil {
+ return
+ }
+ file_AnnounceData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ServerAnnounceNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerAnnounceNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerAnnounceNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerAnnounceNotify_proto_goTypes,
+ DependencyIndexes: file_ServerAnnounceNotify_proto_depIdxs,
+ MessageInfos: file_ServerAnnounceNotify_proto_msgTypes,
+ }.Build()
+ File_ServerAnnounceNotify_proto = out.File
+ file_ServerAnnounceNotify_proto_rawDesc = nil
+ file_ServerAnnounceNotify_proto_goTypes = nil
+ file_ServerAnnounceNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerAnnounceRevokeNotify.pb.go b/protocol/proto/ServerAnnounceRevokeNotify.pb.go
new file mode 100644
index 00000000..7a4096e1
--- /dev/null
+++ b/protocol/proto/ServerAnnounceRevokeNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerAnnounceRevokeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2092
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerAnnounceRevokeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConfigIdList []uint32 `protobuf:"varint,15,rep,packed,name=config_id_list,json=configIdList,proto3" json:"config_id_list,omitempty"`
+}
+
+func (x *ServerAnnounceRevokeNotify) Reset() {
+ *x = ServerAnnounceRevokeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerAnnounceRevokeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerAnnounceRevokeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerAnnounceRevokeNotify) ProtoMessage() {}
+
+func (x *ServerAnnounceRevokeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerAnnounceRevokeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerAnnounceRevokeNotify.ProtoReflect.Descriptor instead.
+func (*ServerAnnounceRevokeNotify) Descriptor() ([]byte, []int) {
+ return file_ServerAnnounceRevokeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerAnnounceRevokeNotify) GetConfigIdList() []uint32 {
+ if x != nil {
+ return x.ConfigIdList
+ }
+ return nil
+}
+
+var File_ServerAnnounceRevokeNotify_proto protoreflect.FileDescriptor
+
+var file_ServerAnnounceRevokeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65,
+ 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x42, 0x0a, 0x1a, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ServerAnnounceRevokeNotify_proto_rawDescOnce sync.Once
+ file_ServerAnnounceRevokeNotify_proto_rawDescData = file_ServerAnnounceRevokeNotify_proto_rawDesc
+)
+
+func file_ServerAnnounceRevokeNotify_proto_rawDescGZIP() []byte {
+ file_ServerAnnounceRevokeNotify_proto_rawDescOnce.Do(func() {
+ file_ServerAnnounceRevokeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerAnnounceRevokeNotify_proto_rawDescData)
+ })
+ return file_ServerAnnounceRevokeNotify_proto_rawDescData
+}
+
+var file_ServerAnnounceRevokeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerAnnounceRevokeNotify_proto_goTypes = []interface{}{
+ (*ServerAnnounceRevokeNotify)(nil), // 0: proto.ServerAnnounceRevokeNotify
+}
+var file_ServerAnnounceRevokeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerAnnounceRevokeNotify_proto_init() }
+func file_ServerAnnounceRevokeNotify_proto_init() {
+ if File_ServerAnnounceRevokeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerAnnounceRevokeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerAnnounceRevokeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerAnnounceRevokeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerAnnounceRevokeNotify_proto_goTypes,
+ DependencyIndexes: file_ServerAnnounceRevokeNotify_proto_depIdxs,
+ MessageInfos: file_ServerAnnounceRevokeNotify_proto_msgTypes,
+ }.Build()
+ File_ServerAnnounceRevokeNotify_proto = out.File
+ file_ServerAnnounceRevokeNotify_proto_rawDesc = nil
+ file_ServerAnnounceRevokeNotify_proto_goTypes = nil
+ file_ServerAnnounceRevokeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerBuff.pb.go b/protocol/proto/ServerBuff.pb.go
new file mode 100644
index 00000000..2b5f9a26
--- /dev/null
+++ b/protocol/proto/ServerBuff.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerBuff.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ServerBuff struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerBuffUid uint32 `protobuf:"varint,1,opt,name=server_buff_uid,json=serverBuffUid,proto3" json:"server_buff_uid,omitempty"`
+ ServerBuffId uint32 `protobuf:"varint,2,opt,name=server_buff_id,json=serverBuffId,proto3" json:"server_buff_id,omitempty"`
+ ServerBuffType uint32 `protobuf:"varint,3,opt,name=server_buff_type,json=serverBuffType,proto3" json:"server_buff_type,omitempty"`
+ InstancedModifierId uint32 `protobuf:"varint,4,opt,name=instanced_modifier_id,json=instancedModifierId,proto3" json:"instanced_modifier_id,omitempty"`
+ IsModifierAdded bool `protobuf:"varint,5,opt,name=is_modifier_added,json=isModifierAdded,proto3" json:"is_modifier_added,omitempty"`
+}
+
+func (x *ServerBuff) Reset() {
+ *x = ServerBuff{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerBuff_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerBuff) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerBuff) ProtoMessage() {}
+
+func (x *ServerBuff) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerBuff_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerBuff.ProtoReflect.Descriptor instead.
+func (*ServerBuff) Descriptor() ([]byte, []int) {
+ return file_ServerBuff_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerBuff) GetServerBuffUid() uint32 {
+ if x != nil {
+ return x.ServerBuffUid
+ }
+ return 0
+}
+
+func (x *ServerBuff) GetServerBuffId() uint32 {
+ if x != nil {
+ return x.ServerBuffId
+ }
+ return 0
+}
+
+func (x *ServerBuff) GetServerBuffType() uint32 {
+ if x != nil {
+ return x.ServerBuffType
+ }
+ return 0
+}
+
+func (x *ServerBuff) GetInstancedModifierId() uint32 {
+ if x != nil {
+ return x.InstancedModifierId
+ }
+ return 0
+}
+
+func (x *ServerBuff) GetIsModifierAdded() bool {
+ if x != nil {
+ return x.IsModifierAdded
+ }
+ return false
+}
+
+var File_ServerBuff_proto protoreflect.FileDescriptor
+
+var file_ServerBuff_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x01, 0x0a, 0x0a, 0x53, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x55, 0x69, 0x64,
+ 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x42, 0x75, 0x66, 0x66, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x6f,
+ 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69,
+ 0x65, 0x72, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x41, 0x64, 0x64, 0x65, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerBuff_proto_rawDescOnce sync.Once
+ file_ServerBuff_proto_rawDescData = file_ServerBuff_proto_rawDesc
+)
+
+func file_ServerBuff_proto_rawDescGZIP() []byte {
+ file_ServerBuff_proto_rawDescOnce.Do(func() {
+ file_ServerBuff_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerBuff_proto_rawDescData)
+ })
+ return file_ServerBuff_proto_rawDescData
+}
+
+var file_ServerBuff_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerBuff_proto_goTypes = []interface{}{
+ (*ServerBuff)(nil), // 0: proto.ServerBuff
+}
+var file_ServerBuff_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerBuff_proto_init() }
+func file_ServerBuff_proto_init() {
+ if File_ServerBuff_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerBuff_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerBuff); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerBuff_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerBuff_proto_goTypes,
+ DependencyIndexes: file_ServerBuff_proto_depIdxs,
+ MessageInfos: file_ServerBuff_proto_msgTypes,
+ }.Build()
+ File_ServerBuff_proto = out.File
+ file_ServerBuff_proto_rawDesc = nil
+ file_ServerBuff_proto_goTypes = nil
+ file_ServerBuff_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerBuffChangeNotify.pb.go b/protocol/proto/ServerBuffChangeNotify.pb.go
new file mode 100644
index 00000000..febe2a5d
--- /dev/null
+++ b/protocol/proto/ServerBuffChangeNotify.pb.go
@@ -0,0 +1,272 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerBuffChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ServerBuffChangeNotify_ServerBuffChangeType int32
+
+const (
+ ServerBuffChangeNotify_SERVER_BUFF_CHANGE_TYPE_ADD_SERVER_BUFF ServerBuffChangeNotify_ServerBuffChangeType = 0
+ ServerBuffChangeNotify_SERVER_BUFF_CHANGE_TYPE_DEL_SERVER_BUFF ServerBuffChangeNotify_ServerBuffChangeType = 1
+)
+
+// Enum value maps for ServerBuffChangeNotify_ServerBuffChangeType.
+var (
+ ServerBuffChangeNotify_ServerBuffChangeType_name = map[int32]string{
+ 0: "SERVER_BUFF_CHANGE_TYPE_ADD_SERVER_BUFF",
+ 1: "SERVER_BUFF_CHANGE_TYPE_DEL_SERVER_BUFF",
+ }
+ ServerBuffChangeNotify_ServerBuffChangeType_value = map[string]int32{
+ "SERVER_BUFF_CHANGE_TYPE_ADD_SERVER_BUFF": 0,
+ "SERVER_BUFF_CHANGE_TYPE_DEL_SERVER_BUFF": 1,
+ }
+)
+
+func (x ServerBuffChangeNotify_ServerBuffChangeType) Enum() *ServerBuffChangeNotify_ServerBuffChangeType {
+ p := new(ServerBuffChangeNotify_ServerBuffChangeType)
+ *p = x
+ return p
+}
+
+func (x ServerBuffChangeNotify_ServerBuffChangeType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServerBuffChangeNotify_ServerBuffChangeType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ServerBuffChangeNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (ServerBuffChangeNotify_ServerBuffChangeType) Type() protoreflect.EnumType {
+ return &file_ServerBuffChangeNotify_proto_enumTypes[0]
+}
+
+func (x ServerBuffChangeNotify_ServerBuffChangeType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServerBuffChangeNotify_ServerBuffChangeType.Descriptor instead.
+func (ServerBuffChangeNotify_ServerBuffChangeType) EnumDescriptor() ([]byte, []int) {
+ return file_ServerBuffChangeNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 361
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerBuffChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerBuffChangeType ServerBuffChangeNotify_ServerBuffChangeType `protobuf:"varint,7,opt,name=server_buff_change_type,json=serverBuffChangeType,proto3,enum=proto.ServerBuffChangeNotify_ServerBuffChangeType" json:"server_buff_change_type,omitempty"`
+ IsCreatureBuff bool `protobuf:"varint,10,opt,name=is_creature_buff,json=isCreatureBuff,proto3" json:"is_creature_buff,omitempty"`
+ EntityIdList []uint32 `protobuf:"varint,1,rep,packed,name=entity_id_list,json=entityIdList,proto3" json:"entity_id_list,omitempty"`
+ AvatarGuidList []uint64 `protobuf:"varint,12,rep,packed,name=avatar_guid_list,json=avatarGuidList,proto3" json:"avatar_guid_list,omitempty"`
+ ServerBuffList []*ServerBuff `protobuf:"bytes,11,rep,name=server_buff_list,json=serverBuffList,proto3" json:"server_buff_list,omitempty"`
+}
+
+func (x *ServerBuffChangeNotify) Reset() {
+ *x = ServerBuffChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerBuffChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerBuffChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerBuffChangeNotify) ProtoMessage() {}
+
+func (x *ServerBuffChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerBuffChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerBuffChangeNotify.ProtoReflect.Descriptor instead.
+func (*ServerBuffChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ServerBuffChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerBuffChangeNotify) GetServerBuffChangeType() ServerBuffChangeNotify_ServerBuffChangeType {
+ if x != nil {
+ return x.ServerBuffChangeType
+ }
+ return ServerBuffChangeNotify_SERVER_BUFF_CHANGE_TYPE_ADD_SERVER_BUFF
+}
+
+func (x *ServerBuffChangeNotify) GetIsCreatureBuff() bool {
+ if x != nil {
+ return x.IsCreatureBuff
+ }
+ return false
+}
+
+func (x *ServerBuffChangeNotify) GetEntityIdList() []uint32 {
+ if x != nil {
+ return x.EntityIdList
+ }
+ return nil
+}
+
+func (x *ServerBuffChangeNotify) GetAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarGuidList
+ }
+ return nil
+}
+
+func (x *ServerBuffChangeNotify) GetServerBuffList() []*ServerBuff {
+ if x != nil {
+ return x.ServerBuffList
+ }
+ return nil
+}
+
+var File_ServerBuffChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ServerBuffChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66,
+ 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x03, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x69, 0x0a, 0x17, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66,
+ 0x66, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76,
+ 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42,
+ 0x75, 0x66, 0x66, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a,
+ 0x10, 0x69, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x75, 0x66,
+ 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x75, 0x72, 0x65, 0x42, 0x75, 0x66, 0x66, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a,
+ 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47,
+ 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65,
+ 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x42, 0x75, 0x66, 0x66, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66,
+ 0x4c, 0x69, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x75,
+ 0x66, 0x66, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x27,
+ 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x5f, 0x43, 0x48, 0x41, 0x4e,
+ 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56,
+ 0x45, 0x52, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x10, 0x00, 0x12, 0x2b, 0x0a, 0x27, 0x53, 0x45, 0x52,
+ 0x56, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x46, 0x46, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f,
+ 0x42, 0x55, 0x46, 0x46, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerBuffChangeNotify_proto_rawDescOnce sync.Once
+ file_ServerBuffChangeNotify_proto_rawDescData = file_ServerBuffChangeNotify_proto_rawDesc
+)
+
+func file_ServerBuffChangeNotify_proto_rawDescGZIP() []byte {
+ file_ServerBuffChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ServerBuffChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerBuffChangeNotify_proto_rawDescData)
+ })
+ return file_ServerBuffChangeNotify_proto_rawDescData
+}
+
+var file_ServerBuffChangeNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ServerBuffChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerBuffChangeNotify_proto_goTypes = []interface{}{
+ (ServerBuffChangeNotify_ServerBuffChangeType)(0), // 0: proto.ServerBuffChangeNotify.ServerBuffChangeType
+ (*ServerBuffChangeNotify)(nil), // 1: proto.ServerBuffChangeNotify
+ (*ServerBuff)(nil), // 2: proto.ServerBuff
+}
+var file_ServerBuffChangeNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.ServerBuffChangeNotify.server_buff_change_type:type_name -> proto.ServerBuffChangeNotify.ServerBuffChangeType
+ 2, // 1: proto.ServerBuffChangeNotify.server_buff_list:type_name -> proto.ServerBuff
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ServerBuffChangeNotify_proto_init() }
+func file_ServerBuffChangeNotify_proto_init() {
+ if File_ServerBuffChangeNotify_proto != nil {
+ return
+ }
+ file_ServerBuff_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ServerBuffChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerBuffChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerBuffChangeNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerBuffChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ServerBuffChangeNotify_proto_depIdxs,
+ EnumInfos: file_ServerBuffChangeNotify_proto_enumTypes,
+ MessageInfos: file_ServerBuffChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ServerBuffChangeNotify_proto = out.File
+ file_ServerBuffChangeNotify_proto_rawDesc = nil
+ file_ServerBuffChangeNotify_proto_goTypes = nil
+ file_ServerBuffChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerCombatEndNotify.pb.go b/protocol/proto/ServerCombatEndNotify.pb.go
new file mode 100644
index 00000000..b1a41458
--- /dev/null
+++ b/protocol/proto/ServerCombatEndNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerCombatEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1105
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerCombatEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CombatEndTypeList []uint32 `protobuf:"varint,14,rep,packed,name=combat_end_type_list,json=combatEndTypeList,proto3" json:"combat_end_type_list,omitempty"`
+}
+
+func (x *ServerCombatEndNotify) Reset() {
+ *x = ServerCombatEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerCombatEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerCombatEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerCombatEndNotify) ProtoMessage() {}
+
+func (x *ServerCombatEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerCombatEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerCombatEndNotify.ProtoReflect.Descriptor instead.
+func (*ServerCombatEndNotify) Descriptor() ([]byte, []int) {
+ return file_ServerCombatEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerCombatEndNotify) GetCombatEndTypeList() []uint32 {
+ if x != nil {
+ return x.CombatEndTypeList
+ }
+ return nil
+}
+
+var File_ServerCombatEndNotify_proto protoreflect.FileDescriptor
+
+var file_ServerCombatEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x45, 0x6e,
+ 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f,
+ 0x6d, 0x62, 0x61, 0x74, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a,
+ 0x14, 0x63, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6f, 0x6d,
+ 0x62, 0x61, 0x74, 0x45, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ServerCombatEndNotify_proto_rawDescOnce sync.Once
+ file_ServerCombatEndNotify_proto_rawDescData = file_ServerCombatEndNotify_proto_rawDesc
+)
+
+func file_ServerCombatEndNotify_proto_rawDescGZIP() []byte {
+ file_ServerCombatEndNotify_proto_rawDescOnce.Do(func() {
+ file_ServerCombatEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerCombatEndNotify_proto_rawDescData)
+ })
+ return file_ServerCombatEndNotify_proto_rawDescData
+}
+
+var file_ServerCombatEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerCombatEndNotify_proto_goTypes = []interface{}{
+ (*ServerCombatEndNotify)(nil), // 0: proto.ServerCombatEndNotify
+}
+var file_ServerCombatEndNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerCombatEndNotify_proto_init() }
+func file_ServerCombatEndNotify_proto_init() {
+ if File_ServerCombatEndNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerCombatEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerCombatEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerCombatEndNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerCombatEndNotify_proto_goTypes,
+ DependencyIndexes: file_ServerCombatEndNotify_proto_depIdxs,
+ MessageInfos: file_ServerCombatEndNotify_proto_msgTypes,
+ }.Build()
+ File_ServerCombatEndNotify_proto = out.File
+ file_ServerCombatEndNotify_proto_rawDesc = nil
+ file_ServerCombatEndNotify_proto_goTypes = nil
+ file_ServerCombatEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerCondMeetQuestListUpdateNotify.pb.go b/protocol/proto/ServerCondMeetQuestListUpdateNotify.pb.go
new file mode 100644
index 00000000..1ec96384
--- /dev/null
+++ b/protocol/proto/ServerCondMeetQuestListUpdateNotify.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerCondMeetQuestListUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 406
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerCondMeetQuestListUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DelQuestIdList []uint32 `protobuf:"varint,1,rep,packed,name=del_quest_id_list,json=delQuestIdList,proto3" json:"del_quest_id_list,omitempty"`
+ AddQuestIdList []uint32 `protobuf:"varint,12,rep,packed,name=add_quest_id_list,json=addQuestIdList,proto3" json:"add_quest_id_list,omitempty"`
+}
+
+func (x *ServerCondMeetQuestListUpdateNotify) Reset() {
+ *x = ServerCondMeetQuestListUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerCondMeetQuestListUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerCondMeetQuestListUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerCondMeetQuestListUpdateNotify) ProtoMessage() {}
+
+func (x *ServerCondMeetQuestListUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerCondMeetQuestListUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerCondMeetQuestListUpdateNotify.ProtoReflect.Descriptor instead.
+func (*ServerCondMeetQuestListUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_ServerCondMeetQuestListUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerCondMeetQuestListUpdateNotify) GetDelQuestIdList() []uint32 {
+ if x != nil {
+ return x.DelQuestIdList
+ }
+ return nil
+}
+
+func (x *ServerCondMeetQuestListUpdateNotify) GetAddQuestIdList() []uint32 {
+ if x != nil {
+ return x.AddQuestIdList
+ }
+ return nil
+}
+
+var File_ServerCondMeetQuestListUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_ServerCondMeetQuestListUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x4d, 0x65, 0x65, 0x74,
+ 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x23, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64,
+ 0x4d, 0x65, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a, 0x11, 0x64, 0x65, 0x6c,
+ 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x64, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0e, 0x61, 0x64, 0x64, 0x51, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerCondMeetQuestListUpdateNotify_proto_rawDescOnce sync.Once
+ file_ServerCondMeetQuestListUpdateNotify_proto_rawDescData = file_ServerCondMeetQuestListUpdateNotify_proto_rawDesc
+)
+
+func file_ServerCondMeetQuestListUpdateNotify_proto_rawDescGZIP() []byte {
+ file_ServerCondMeetQuestListUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_ServerCondMeetQuestListUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerCondMeetQuestListUpdateNotify_proto_rawDescData)
+ })
+ return file_ServerCondMeetQuestListUpdateNotify_proto_rawDescData
+}
+
+var file_ServerCondMeetQuestListUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerCondMeetQuestListUpdateNotify_proto_goTypes = []interface{}{
+ (*ServerCondMeetQuestListUpdateNotify)(nil), // 0: proto.ServerCondMeetQuestListUpdateNotify
+}
+var file_ServerCondMeetQuestListUpdateNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerCondMeetQuestListUpdateNotify_proto_init() }
+func file_ServerCondMeetQuestListUpdateNotify_proto_init() {
+ if File_ServerCondMeetQuestListUpdateNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerCondMeetQuestListUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerCondMeetQuestListUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerCondMeetQuestListUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerCondMeetQuestListUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_ServerCondMeetQuestListUpdateNotify_proto_depIdxs,
+ MessageInfos: file_ServerCondMeetQuestListUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_ServerCondMeetQuestListUpdateNotify_proto = out.File
+ file_ServerCondMeetQuestListUpdateNotify_proto_rawDesc = nil
+ file_ServerCondMeetQuestListUpdateNotify_proto_goTypes = nil
+ file_ServerCondMeetQuestListUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerDisconnectClientNotify.pb.go b/protocol/proto/ServerDisconnectClientNotify.pb.go
new file mode 100644
index 00000000..58d87e01
--- /dev/null
+++ b/protocol/proto/ServerDisconnectClientNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerDisconnectClientNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 184
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerDisconnectClientNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data uint32 `protobuf:"varint,10,opt,name=data,proto3" json:"data,omitempty"`
+}
+
+func (x *ServerDisconnectClientNotify) Reset() {
+ *x = ServerDisconnectClientNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerDisconnectClientNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerDisconnectClientNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerDisconnectClientNotify) ProtoMessage() {}
+
+func (x *ServerDisconnectClientNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerDisconnectClientNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerDisconnectClientNotify.ProtoReflect.Descriptor instead.
+func (*ServerDisconnectClientNotify) Descriptor() ([]byte, []int) {
+ return file_ServerDisconnectClientNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerDisconnectClientNotify) GetData() uint32 {
+ if x != nil {
+ return x.Data
+ }
+ return 0
+}
+
+var File_ServerDisconnectClientNotify_proto protoreflect.FileDescriptor
+
+var file_ServerDisconnectClientNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x1c, 0x53,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64,
+ 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerDisconnectClientNotify_proto_rawDescOnce sync.Once
+ file_ServerDisconnectClientNotify_proto_rawDescData = file_ServerDisconnectClientNotify_proto_rawDesc
+)
+
+func file_ServerDisconnectClientNotify_proto_rawDescGZIP() []byte {
+ file_ServerDisconnectClientNotify_proto_rawDescOnce.Do(func() {
+ file_ServerDisconnectClientNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerDisconnectClientNotify_proto_rawDescData)
+ })
+ return file_ServerDisconnectClientNotify_proto_rawDescData
+}
+
+var file_ServerDisconnectClientNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerDisconnectClientNotify_proto_goTypes = []interface{}{
+ (*ServerDisconnectClientNotify)(nil), // 0: proto.ServerDisconnectClientNotify
+}
+var file_ServerDisconnectClientNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerDisconnectClientNotify_proto_init() }
+func file_ServerDisconnectClientNotify_proto_init() {
+ if File_ServerDisconnectClientNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerDisconnectClientNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerDisconnectClientNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerDisconnectClientNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerDisconnectClientNotify_proto_goTypes,
+ DependencyIndexes: file_ServerDisconnectClientNotify_proto_depIdxs,
+ MessageInfos: file_ServerDisconnectClientNotify_proto_msgTypes,
+ }.Build()
+ File_ServerDisconnectClientNotify_proto = out.File
+ file_ServerDisconnectClientNotify_proto_rawDesc = nil
+ file_ServerDisconnectClientNotify_proto_goTypes = nil
+ file_ServerDisconnectClientNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerGlobalValueChangeNotify.pb.go b/protocol/proto/ServerGlobalValueChangeNotify.pb.go
new file mode 100644
index 00000000..14b1fe45
--- /dev/null
+++ b/protocol/proto/ServerGlobalValueChangeNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerGlobalValueChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1197
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerGlobalValueChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,6,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Value float32 `protobuf:"fixed32,12,opt,name=value,proto3" json:"value,omitempty"`
+ KeyHash uint32 `protobuf:"varint,13,opt,name=key_hash,json=keyHash,proto3" json:"key_hash,omitempty"`
+}
+
+func (x *ServerGlobalValueChangeNotify) Reset() {
+ *x = ServerGlobalValueChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerGlobalValueChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerGlobalValueChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerGlobalValueChangeNotify) ProtoMessage() {}
+
+func (x *ServerGlobalValueChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerGlobalValueChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerGlobalValueChangeNotify.ProtoReflect.Descriptor instead.
+func (*ServerGlobalValueChangeNotify) Descriptor() ([]byte, []int) {
+ return file_ServerGlobalValueChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerGlobalValueChangeNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *ServerGlobalValueChangeNotify) GetValue() float32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+func (x *ServerGlobalValueChangeNotify) GetKeyHash() uint32 {
+ if x != nil {
+ return x.KeyHash
+ }
+ return 0
+}
+
+var File_ServerGlobalValueChangeNotify_proto protoreflect.FileDescriptor
+
+var file_ServerGlobalValueChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x1d,
+ 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerGlobalValueChangeNotify_proto_rawDescOnce sync.Once
+ file_ServerGlobalValueChangeNotify_proto_rawDescData = file_ServerGlobalValueChangeNotify_proto_rawDesc
+)
+
+func file_ServerGlobalValueChangeNotify_proto_rawDescGZIP() []byte {
+ file_ServerGlobalValueChangeNotify_proto_rawDescOnce.Do(func() {
+ file_ServerGlobalValueChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerGlobalValueChangeNotify_proto_rawDescData)
+ })
+ return file_ServerGlobalValueChangeNotify_proto_rawDescData
+}
+
+var file_ServerGlobalValueChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerGlobalValueChangeNotify_proto_goTypes = []interface{}{
+ (*ServerGlobalValueChangeNotify)(nil), // 0: proto.ServerGlobalValueChangeNotify
+}
+var file_ServerGlobalValueChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerGlobalValueChangeNotify_proto_init() }
+func file_ServerGlobalValueChangeNotify_proto_init() {
+ if File_ServerGlobalValueChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerGlobalValueChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerGlobalValueChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerGlobalValueChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerGlobalValueChangeNotify_proto_goTypes,
+ DependencyIndexes: file_ServerGlobalValueChangeNotify_proto_depIdxs,
+ MessageInfos: file_ServerGlobalValueChangeNotify_proto_msgTypes,
+ }.Build()
+ File_ServerGlobalValueChangeNotify_proto = out.File
+ file_ServerGlobalValueChangeNotify_proto_rawDesc = nil
+ file_ServerGlobalValueChangeNotify_proto_goTypes = nil
+ file_ServerGlobalValueChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerLogLevel.pb.go b/protocol/proto/ServerLogLevel.pb.go
new file mode 100644
index 00000000..27123139
--- /dev/null
+++ b/protocol/proto/ServerLogLevel.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerLogLevel.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ServerLogLevel int32
+
+const (
+ ServerLogLevel_SERVER_LOG_LEVEL_NONE ServerLogLevel = 0
+ ServerLogLevel_SERVER_LOG_LEVEL_DEBUG ServerLogLevel = 1
+ ServerLogLevel_SERVER_LOG_LEVEL_INFO ServerLogLevel = 2
+ ServerLogLevel_SERVER_LOG_LEVEL_WARNING ServerLogLevel = 3
+ ServerLogLevel_SERVER_LOG_LEVEL_ERROR ServerLogLevel = 4
+)
+
+// Enum value maps for ServerLogLevel.
+var (
+ ServerLogLevel_name = map[int32]string{
+ 0: "SERVER_LOG_LEVEL_NONE",
+ 1: "SERVER_LOG_LEVEL_DEBUG",
+ 2: "SERVER_LOG_LEVEL_INFO",
+ 3: "SERVER_LOG_LEVEL_WARNING",
+ 4: "SERVER_LOG_LEVEL_ERROR",
+ }
+ ServerLogLevel_value = map[string]int32{
+ "SERVER_LOG_LEVEL_NONE": 0,
+ "SERVER_LOG_LEVEL_DEBUG": 1,
+ "SERVER_LOG_LEVEL_INFO": 2,
+ "SERVER_LOG_LEVEL_WARNING": 3,
+ "SERVER_LOG_LEVEL_ERROR": 4,
+ }
+)
+
+func (x ServerLogLevel) Enum() *ServerLogLevel {
+ p := new(ServerLogLevel)
+ *p = x
+ return p
+}
+
+func (x ServerLogLevel) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServerLogLevel) Descriptor() protoreflect.EnumDescriptor {
+ return file_ServerLogLevel_proto_enumTypes[0].Descriptor()
+}
+
+func (ServerLogLevel) Type() protoreflect.EnumType {
+ return &file_ServerLogLevel_proto_enumTypes[0]
+}
+
+func (x ServerLogLevel) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServerLogLevel.Descriptor instead.
+func (ServerLogLevel) EnumDescriptor() ([]byte, []int) {
+ return file_ServerLogLevel_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ServerLogLevel_proto protoreflect.FileDescriptor
+
+var file_ServerLogLevel_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x9c, 0x01,
+ 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53,
+ 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f,
+ 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45,
+ 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f,
+ 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47,
+ 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03,
+ 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerLogLevel_proto_rawDescOnce sync.Once
+ file_ServerLogLevel_proto_rawDescData = file_ServerLogLevel_proto_rawDesc
+)
+
+func file_ServerLogLevel_proto_rawDescGZIP() []byte {
+ file_ServerLogLevel_proto_rawDescOnce.Do(func() {
+ file_ServerLogLevel_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerLogLevel_proto_rawDescData)
+ })
+ return file_ServerLogLevel_proto_rawDescData
+}
+
+var file_ServerLogLevel_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ServerLogLevel_proto_goTypes = []interface{}{
+ (ServerLogLevel)(0), // 0: proto.ServerLogLevel
+}
+var file_ServerLogLevel_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerLogLevel_proto_init() }
+func file_ServerLogLevel_proto_init() {
+ if File_ServerLogLevel_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerLogLevel_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerLogLevel_proto_goTypes,
+ DependencyIndexes: file_ServerLogLevel_proto_depIdxs,
+ EnumInfos: file_ServerLogLevel_proto_enumTypes,
+ }.Build()
+ File_ServerLogLevel_proto = out.File
+ file_ServerLogLevel_proto_rawDesc = nil
+ file_ServerLogLevel_proto_goTypes = nil
+ file_ServerLogLevel_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerLogNotify.pb.go b/protocol/proto/ServerLogNotify.pb.go
new file mode 100644
index 00000000..d521ae93
--- /dev/null
+++ b/protocol/proto/ServerLogNotify.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerLogNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 31
+// EnetChannelId: 1
+// EnetIsReliable: true
+type ServerLogNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerLog string `protobuf:"bytes,7,opt,name=server_log,json=serverLog,proto3" json:"server_log,omitempty"`
+ LogType ServerLogType `protobuf:"varint,9,opt,name=log_type,json=logType,proto3,enum=proto.ServerLogType" json:"log_type,omitempty"`
+ LogLevel ServerLogLevel `protobuf:"varint,15,opt,name=log_level,json=logLevel,proto3,enum=proto.ServerLogLevel" json:"log_level,omitempty"`
+}
+
+func (x *ServerLogNotify) Reset() {
+ *x = ServerLogNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerLogNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerLogNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerLogNotify) ProtoMessage() {}
+
+func (x *ServerLogNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerLogNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerLogNotify.ProtoReflect.Descriptor instead.
+func (*ServerLogNotify) Descriptor() ([]byte, []int) {
+ return file_ServerLogNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerLogNotify) GetServerLog() string {
+ if x != nil {
+ return x.ServerLog
+ }
+ return ""
+}
+
+func (x *ServerLogNotify) GetLogType() ServerLogType {
+ if x != nil {
+ return x.LogType
+ }
+ return ServerLogType_SERVER_LOG_TYPE_NONE
+}
+
+func (x *ServerLogNotify) GetLogLevel() ServerLogLevel {
+ if x != nil {
+ return x.LogLevel
+ }
+ return ServerLogLevel_SERVER_LOG_LEVEL_NONE
+}
+
+var File_ServerLogNotify_proto protoreflect.FileDescriptor
+
+var file_ServerLogNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14,
+ 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x53, 0x65,
+ 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x12, 0x2f, 0x0a, 0x08,
+ 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67,
+ 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a,
+ 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c,
+ 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerLogNotify_proto_rawDescOnce sync.Once
+ file_ServerLogNotify_proto_rawDescData = file_ServerLogNotify_proto_rawDesc
+)
+
+func file_ServerLogNotify_proto_rawDescGZIP() []byte {
+ file_ServerLogNotify_proto_rawDescOnce.Do(func() {
+ file_ServerLogNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerLogNotify_proto_rawDescData)
+ })
+ return file_ServerLogNotify_proto_rawDescData
+}
+
+var file_ServerLogNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerLogNotify_proto_goTypes = []interface{}{
+ (*ServerLogNotify)(nil), // 0: proto.ServerLogNotify
+ (ServerLogType)(0), // 1: proto.ServerLogType
+ (ServerLogLevel)(0), // 2: proto.ServerLogLevel
+}
+var file_ServerLogNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ServerLogNotify.log_type:type_name -> proto.ServerLogType
+ 2, // 1: proto.ServerLogNotify.log_level:type_name -> proto.ServerLogLevel
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ServerLogNotify_proto_init() }
+func file_ServerLogNotify_proto_init() {
+ if File_ServerLogNotify_proto != nil {
+ return
+ }
+ file_ServerLogLevel_proto_init()
+ file_ServerLogType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ServerLogNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerLogNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerLogNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerLogNotify_proto_goTypes,
+ DependencyIndexes: file_ServerLogNotify_proto_depIdxs,
+ MessageInfos: file_ServerLogNotify_proto_msgTypes,
+ }.Build()
+ File_ServerLogNotify_proto = out.File
+ file_ServerLogNotify_proto_rawDesc = nil
+ file_ServerLogNotify_proto_goTypes = nil
+ file_ServerLogNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerLogType.pb.go b/protocol/proto/ServerLogType.pb.go
new file mode 100644
index 00000000..7e7bd6d8
--- /dev/null
+++ b/protocol/proto/ServerLogType.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerLogType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ServerLogType int32
+
+const (
+ ServerLogType_SERVER_LOG_TYPE_NONE ServerLogType = 0
+ ServerLogType_SERVER_LOG_TYPE_ABILITY ServerLogType = 1
+ ServerLogType_SERVER_LOG_TYPE_LEVEL ServerLogType = 2
+ ServerLogType_SERVER_LOG_TYPE_ENTITY ServerLogType = 3
+ ServerLogType_SERVER_LOG_TYPE_LUA ServerLogType = 4
+)
+
+// Enum value maps for ServerLogType.
+var (
+ ServerLogType_name = map[int32]string{
+ 0: "SERVER_LOG_TYPE_NONE",
+ 1: "SERVER_LOG_TYPE_ABILITY",
+ 2: "SERVER_LOG_TYPE_LEVEL",
+ 3: "SERVER_LOG_TYPE_ENTITY",
+ 4: "SERVER_LOG_TYPE_LUA",
+ }
+ ServerLogType_value = map[string]int32{
+ "SERVER_LOG_TYPE_NONE": 0,
+ "SERVER_LOG_TYPE_ABILITY": 1,
+ "SERVER_LOG_TYPE_LEVEL": 2,
+ "SERVER_LOG_TYPE_ENTITY": 3,
+ "SERVER_LOG_TYPE_LUA": 4,
+ }
+)
+
+func (x ServerLogType) Enum() *ServerLogType {
+ p := new(ServerLogType)
+ *p = x
+ return p
+}
+
+func (x ServerLogType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServerLogType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ServerLogType_proto_enumTypes[0].Descriptor()
+}
+
+func (ServerLogType) Type() protoreflect.EnumType {
+ return &file_ServerLogType_proto_enumTypes[0]
+}
+
+func (x ServerLogType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServerLogType.Descriptor instead.
+func (ServerLogType) EnumDescriptor() ([]byte, []int) {
+ return file_ServerLogType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ServerLogType_proto protoreflect.FileDescriptor
+
+var file_ServerLogType_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x96, 0x01, 0x0a,
+ 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
+ 0x0a, 0x14, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x52, 0x56,
+ 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x42, 0x49, 0x4c,
+ 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f,
+ 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x02,
+ 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13,
+ 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x4c, 0x55, 0x41, 0x10, 0x04, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerLogType_proto_rawDescOnce sync.Once
+ file_ServerLogType_proto_rawDescData = file_ServerLogType_proto_rawDesc
+)
+
+func file_ServerLogType_proto_rawDescGZIP() []byte {
+ file_ServerLogType_proto_rawDescOnce.Do(func() {
+ file_ServerLogType_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerLogType_proto_rawDescData)
+ })
+ return file_ServerLogType_proto_rawDescData
+}
+
+var file_ServerLogType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ServerLogType_proto_goTypes = []interface{}{
+ (ServerLogType)(0), // 0: proto.ServerLogType
+}
+var file_ServerLogType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerLogType_proto_init() }
+func file_ServerLogType_proto_init() {
+ if File_ServerLogType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerLogType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerLogType_proto_goTypes,
+ DependencyIndexes: file_ServerLogType_proto_depIdxs,
+ EnumInfos: file_ServerLogType_proto_enumTypes,
+ }.Build()
+ File_ServerLogType_proto = out.File
+ file_ServerLogType_proto_rawDesc = nil
+ file_ServerLogType_proto_goTypes = nil
+ file_ServerLogType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerMassiveEntity.pb.go b/protocol/proto/ServerMassiveEntity.pb.go
new file mode 100644
index 00000000..bef9539e
--- /dev/null
+++ b/protocol/proto/ServerMassiveEntity.pb.go
@@ -0,0 +1,285 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerMassiveEntity.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ServerMassiveEntity struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityType uint32 `protobuf:"varint,1,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
+ ConfigId uint32 `protobuf:"varint,2,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ RuntimeId uint32 `protobuf:"varint,3,opt,name=runtime_id,json=runtimeId,proto3" json:"runtime_id,omitempty"`
+ AuthorityPeerId uint32 `protobuf:"varint,4,opt,name=authority_peer_id,json=authorityPeerId,proto3" json:"authority_peer_id,omitempty"`
+ ObjId int64 `protobuf:"varint,5,opt,name=obj_id,json=objId,proto3" json:"obj_id,omitempty"`
+ // Types that are assignable to EntityInfo:
+ //
+ // *ServerMassiveEntity_WaterInfo
+ // *ServerMassiveEntity_GrassInfo
+ // *ServerMassiveEntity_BoxInfo
+ EntityInfo isServerMassiveEntity_EntityInfo `protobuf_oneof:"entity_info"`
+}
+
+func (x *ServerMassiveEntity) Reset() {
+ *x = ServerMassiveEntity{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerMassiveEntity_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerMassiveEntity) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerMassiveEntity) ProtoMessage() {}
+
+func (x *ServerMassiveEntity) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerMassiveEntity_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerMassiveEntity.ProtoReflect.Descriptor instead.
+func (*ServerMassiveEntity) Descriptor() ([]byte, []int) {
+ return file_ServerMassiveEntity_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerMassiveEntity) GetEntityType() uint32 {
+ if x != nil {
+ return x.EntityType
+ }
+ return 0
+}
+
+func (x *ServerMassiveEntity) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *ServerMassiveEntity) GetRuntimeId() uint32 {
+ if x != nil {
+ return x.RuntimeId
+ }
+ return 0
+}
+
+func (x *ServerMassiveEntity) GetAuthorityPeerId() uint32 {
+ if x != nil {
+ return x.AuthorityPeerId
+ }
+ return 0
+}
+
+func (x *ServerMassiveEntity) GetObjId() int64 {
+ if x != nil {
+ return x.ObjId
+ }
+ return 0
+}
+
+func (m *ServerMassiveEntity) GetEntityInfo() isServerMassiveEntity_EntityInfo {
+ if m != nil {
+ return m.EntityInfo
+ }
+ return nil
+}
+
+func (x *ServerMassiveEntity) GetWaterInfo() *MassiveWaterInfo {
+ if x, ok := x.GetEntityInfo().(*ServerMassiveEntity_WaterInfo); ok {
+ return x.WaterInfo
+ }
+ return nil
+}
+
+func (x *ServerMassiveEntity) GetGrassInfo() *MassiveGrassInfo {
+ if x, ok := x.GetEntityInfo().(*ServerMassiveEntity_GrassInfo); ok {
+ return x.GrassInfo
+ }
+ return nil
+}
+
+func (x *ServerMassiveEntity) GetBoxInfo() *MassiveBoxInfo {
+ if x, ok := x.GetEntityInfo().(*ServerMassiveEntity_BoxInfo); ok {
+ return x.BoxInfo
+ }
+ return nil
+}
+
+type isServerMassiveEntity_EntityInfo interface {
+ isServerMassiveEntity_EntityInfo()
+}
+
+type ServerMassiveEntity_WaterInfo struct {
+ WaterInfo *MassiveWaterInfo `protobuf:"bytes,6,opt,name=water_info,json=waterInfo,proto3,oneof"`
+}
+
+type ServerMassiveEntity_GrassInfo struct {
+ GrassInfo *MassiveGrassInfo `protobuf:"bytes,7,opt,name=grass_info,json=grassInfo,proto3,oneof"`
+}
+
+type ServerMassiveEntity_BoxInfo struct {
+ BoxInfo *MassiveBoxInfo `protobuf:"bytes,8,opt,name=box_info,json=boxInfo,proto3,oneof"`
+}
+
+func (*ServerMassiveEntity_WaterInfo) isServerMassiveEntity_EntityInfo() {}
+
+func (*ServerMassiveEntity_GrassInfo) isServerMassiveEntity_EntityInfo() {}
+
+func (*ServerMassiveEntity_BoxInfo) isServerMassiveEntity_EntityInfo() {}
+
+var File_ServerMassiveEntity_proto protoreflect.FileDescriptor
+
+var file_ServerMassiveEntity_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x14, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x42, 0x6f, 0x78, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76,
+ 0x65, 0x47, 0x72, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x16, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x57, 0x61, 0x74, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x72,
+ 0x76, 0x65, 0x72, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a,
+ 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72,
+ 0x69, 0x74, 0x79, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x62, 0x6a,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6f, 0x62, 0x6a, 0x49, 0x64,
+ 0x12, 0x38, 0x0a, 0x0a, 0x77, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x73,
+ 0x73, 0x69, 0x76, 0x65, 0x57, 0x61, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x09, 0x77, 0x61, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x0a, 0x67, 0x72,
+ 0x61, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x47, 0x72,
+ 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x67, 0x72, 0x61, 0x73, 0x73,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
+ 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x42, 0x6f, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52,
+ 0x07, 0x62, 0x6f, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerMassiveEntity_proto_rawDescOnce sync.Once
+ file_ServerMassiveEntity_proto_rawDescData = file_ServerMassiveEntity_proto_rawDesc
+)
+
+func file_ServerMassiveEntity_proto_rawDescGZIP() []byte {
+ file_ServerMassiveEntity_proto_rawDescOnce.Do(func() {
+ file_ServerMassiveEntity_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerMassiveEntity_proto_rawDescData)
+ })
+ return file_ServerMassiveEntity_proto_rawDescData
+}
+
+var file_ServerMassiveEntity_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerMassiveEntity_proto_goTypes = []interface{}{
+ (*ServerMassiveEntity)(nil), // 0: proto.ServerMassiveEntity
+ (*MassiveWaterInfo)(nil), // 1: proto.MassiveWaterInfo
+ (*MassiveGrassInfo)(nil), // 2: proto.MassiveGrassInfo
+ (*MassiveBoxInfo)(nil), // 3: proto.MassiveBoxInfo
+}
+var file_ServerMassiveEntity_proto_depIdxs = []int32{
+ 1, // 0: proto.ServerMassiveEntity.water_info:type_name -> proto.MassiveWaterInfo
+ 2, // 1: proto.ServerMassiveEntity.grass_info:type_name -> proto.MassiveGrassInfo
+ 3, // 2: proto.ServerMassiveEntity.box_info:type_name -> proto.MassiveBoxInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ServerMassiveEntity_proto_init() }
+func file_ServerMassiveEntity_proto_init() {
+ if File_ServerMassiveEntity_proto != nil {
+ return
+ }
+ file_MassiveBoxInfo_proto_init()
+ file_MassiveGrassInfo_proto_init()
+ file_MassiveWaterInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ServerMassiveEntity_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerMassiveEntity); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ServerMassiveEntity_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*ServerMassiveEntity_WaterInfo)(nil),
+ (*ServerMassiveEntity_GrassInfo)(nil),
+ (*ServerMassiveEntity_BoxInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerMassiveEntity_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerMassiveEntity_proto_goTypes,
+ DependencyIndexes: file_ServerMassiveEntity_proto_depIdxs,
+ MessageInfos: file_ServerMassiveEntity_proto_msgTypes,
+ }.Build()
+ File_ServerMassiveEntity_proto = out.File
+ file_ServerMassiveEntity_proto_rawDesc = nil
+ file_ServerMassiveEntity_proto_goTypes = nil
+ file_ServerMassiveEntity_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerMessageNotify.pb.go b/protocol/proto/ServerMessageNotify.pb.go
new file mode 100644
index 00000000..7aeab4bf
--- /dev/null
+++ b/protocol/proto/ServerMessageNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerMessageNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5718
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerMessageNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
+}
+
+func (x *ServerMessageNotify) Reset() {
+ *x = ServerMessageNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerMessageNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerMessageNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerMessageNotify) ProtoMessage() {}
+
+func (x *ServerMessageNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerMessageNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerMessageNotify.ProtoReflect.Descriptor instead.
+func (*ServerMessageNotify) Descriptor() ([]byte, []int) {
+ return file_ServerMessageNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerMessageNotify) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+var File_ServerMessageNotify_proto protoreflect.FileDescriptor
+
+var file_ServerMessageNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerMessageNotify_proto_rawDescOnce sync.Once
+ file_ServerMessageNotify_proto_rawDescData = file_ServerMessageNotify_proto_rawDesc
+)
+
+func file_ServerMessageNotify_proto_rawDescGZIP() []byte {
+ file_ServerMessageNotify_proto_rawDescOnce.Do(func() {
+ file_ServerMessageNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerMessageNotify_proto_rawDescData)
+ })
+ return file_ServerMessageNotify_proto_rawDescData
+}
+
+var file_ServerMessageNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerMessageNotify_proto_goTypes = []interface{}{
+ (*ServerMessageNotify)(nil), // 0: proto.ServerMessageNotify
+}
+var file_ServerMessageNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerMessageNotify_proto_init() }
+func file_ServerMessageNotify_proto_init() {
+ if File_ServerMessageNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerMessageNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerMessageNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerMessageNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerMessageNotify_proto_goTypes,
+ DependencyIndexes: file_ServerMessageNotify_proto_depIdxs,
+ MessageInfos: file_ServerMessageNotify_proto_msgTypes,
+ }.Build()
+ File_ServerMessageNotify_proto = out.File
+ file_ServerMessageNotify_proto_rawDesc = nil
+ file_ServerMessageNotify_proto_goTypes = nil
+ file_ServerMessageNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerTimeNotify.pb.go b/protocol/proto/ServerTimeNotify.pb.go
new file mode 100644
index 00000000..311de99e
--- /dev/null
+++ b/protocol/proto/ServerTimeNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerTimeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 99
+// EnetChannelId: 1
+// EnetIsReliable: true
+type ServerTimeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ServerTime uint64 `protobuf:"varint,5,opt,name=server_time,json=serverTime,proto3" json:"server_time,omitempty"`
+}
+
+func (x *ServerTimeNotify) Reset() {
+ *x = ServerTimeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerTimeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerTimeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerTimeNotify) ProtoMessage() {}
+
+func (x *ServerTimeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerTimeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerTimeNotify.ProtoReflect.Descriptor instead.
+func (*ServerTimeNotify) Descriptor() ([]byte, []int) {
+ return file_ServerTimeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerTimeNotify) GetServerTime() uint64 {
+ if x != nil {
+ return x.ServerTime
+ }
+ return 0
+}
+
+var File_ServerTimeNotify_proto protoreflect.FileDescriptor
+
+var file_ServerTimeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x33, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
+ 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerTimeNotify_proto_rawDescOnce sync.Once
+ file_ServerTimeNotify_proto_rawDescData = file_ServerTimeNotify_proto_rawDesc
+)
+
+func file_ServerTimeNotify_proto_rawDescGZIP() []byte {
+ file_ServerTimeNotify_proto_rawDescOnce.Do(func() {
+ file_ServerTimeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerTimeNotify_proto_rawDescData)
+ })
+ return file_ServerTimeNotify_proto_rawDescData
+}
+
+var file_ServerTimeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerTimeNotify_proto_goTypes = []interface{}{
+ (*ServerTimeNotify)(nil), // 0: proto.ServerTimeNotify
+}
+var file_ServerTimeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerTimeNotify_proto_init() }
+func file_ServerTimeNotify_proto_init() {
+ if File_ServerTimeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerTimeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerTimeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerTimeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerTimeNotify_proto_goTypes,
+ DependencyIndexes: file_ServerTimeNotify_proto_depIdxs,
+ MessageInfos: file_ServerTimeNotify_proto_msgTypes,
+ }.Build()
+ File_ServerTimeNotify_proto = out.File
+ file_ServerTimeNotify_proto_rawDesc = nil
+ file_ServerTimeNotify_proto_goTypes = nil
+ file_ServerTimeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerTryCancelGeneralMatchNotify.pb.go b/protocol/proto/ServerTryCancelGeneralMatchNotify.pb.go
new file mode 100644
index 00000000..e9a2a85d
--- /dev/null
+++ b/protocol/proto/ServerTryCancelGeneralMatchNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerTryCancelGeneralMatchNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4187
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerTryCancelGeneralMatchNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MatchId uint32 `protobuf:"varint,9,opt,name=match_id,json=matchId,proto3" json:"match_id,omitempty"`
+}
+
+func (x *ServerTryCancelGeneralMatchNotify) Reset() {
+ *x = ServerTryCancelGeneralMatchNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerTryCancelGeneralMatchNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerTryCancelGeneralMatchNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerTryCancelGeneralMatchNotify) ProtoMessage() {}
+
+func (x *ServerTryCancelGeneralMatchNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerTryCancelGeneralMatchNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerTryCancelGeneralMatchNotify.ProtoReflect.Descriptor instead.
+func (*ServerTryCancelGeneralMatchNotify) Descriptor() ([]byte, []int) {
+ return file_ServerTryCancelGeneralMatchNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerTryCancelGeneralMatchNotify) GetMatchId() uint32 {
+ if x != nil {
+ return x.MatchId
+ }
+ return 0
+}
+
+var File_ServerTryCancelGeneralMatchNotify_proto protoreflect.FileDescriptor
+
+var file_ServerTryCancelGeneralMatchNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x72, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65,
+ 0x6c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x3e, 0x0a, 0x21, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x72, 0x79, 0x43, 0x61, 0x6e,
+ 0x63, 0x65, 0x6c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerTryCancelGeneralMatchNotify_proto_rawDescOnce sync.Once
+ file_ServerTryCancelGeneralMatchNotify_proto_rawDescData = file_ServerTryCancelGeneralMatchNotify_proto_rawDesc
+)
+
+func file_ServerTryCancelGeneralMatchNotify_proto_rawDescGZIP() []byte {
+ file_ServerTryCancelGeneralMatchNotify_proto_rawDescOnce.Do(func() {
+ file_ServerTryCancelGeneralMatchNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerTryCancelGeneralMatchNotify_proto_rawDescData)
+ })
+ return file_ServerTryCancelGeneralMatchNotify_proto_rawDescData
+}
+
+var file_ServerTryCancelGeneralMatchNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerTryCancelGeneralMatchNotify_proto_goTypes = []interface{}{
+ (*ServerTryCancelGeneralMatchNotify)(nil), // 0: proto.ServerTryCancelGeneralMatchNotify
+}
+var file_ServerTryCancelGeneralMatchNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ServerTryCancelGeneralMatchNotify_proto_init() }
+func file_ServerTryCancelGeneralMatchNotify_proto_init() {
+ if File_ServerTryCancelGeneralMatchNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerTryCancelGeneralMatchNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerTryCancelGeneralMatchNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerTryCancelGeneralMatchNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerTryCancelGeneralMatchNotify_proto_goTypes,
+ DependencyIndexes: file_ServerTryCancelGeneralMatchNotify_proto_depIdxs,
+ MessageInfos: file_ServerTryCancelGeneralMatchNotify_proto_msgTypes,
+ }.Build()
+ File_ServerTryCancelGeneralMatchNotify_proto = out.File
+ file_ServerTryCancelGeneralMatchNotify_proto_rawDesc = nil
+ file_ServerTryCancelGeneralMatchNotify_proto_goTypes = nil
+ file_ServerTryCancelGeneralMatchNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ServerUpdateGlobalValueNotify.pb.go b/protocol/proto/ServerUpdateGlobalValueNotify.pb.go
new file mode 100644
index 00000000..0bef6747
--- /dev/null
+++ b/protocol/proto/ServerUpdateGlobalValueNotify.pb.go
@@ -0,0 +1,263 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ServerUpdateGlobalValueNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ServerUpdateGlobalValueNotify_UpdateType int32
+
+const (
+ ServerUpdateGlobalValueNotify_UPDATE_TYPE_INVALID ServerUpdateGlobalValueNotify_UpdateType = 0
+ ServerUpdateGlobalValueNotify_UPDATE_TYPE_ADD ServerUpdateGlobalValueNotify_UpdateType = 1
+ ServerUpdateGlobalValueNotify_UPDATE_TYPE_SET ServerUpdateGlobalValueNotify_UpdateType = 2
+)
+
+// Enum value maps for ServerUpdateGlobalValueNotify_UpdateType.
+var (
+ ServerUpdateGlobalValueNotify_UpdateType_name = map[int32]string{
+ 0: "UPDATE_TYPE_INVALID",
+ 1: "UPDATE_TYPE_ADD",
+ 2: "UPDATE_TYPE_SET",
+ }
+ ServerUpdateGlobalValueNotify_UpdateType_value = map[string]int32{
+ "UPDATE_TYPE_INVALID": 0,
+ "UPDATE_TYPE_ADD": 1,
+ "UPDATE_TYPE_SET": 2,
+ }
+)
+
+func (x ServerUpdateGlobalValueNotify_UpdateType) Enum() *ServerUpdateGlobalValueNotify_UpdateType {
+ p := new(ServerUpdateGlobalValueNotify_UpdateType)
+ *p = x
+ return p
+}
+
+func (x ServerUpdateGlobalValueNotify_UpdateType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ServerUpdateGlobalValueNotify_UpdateType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ServerUpdateGlobalValueNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (ServerUpdateGlobalValueNotify_UpdateType) Type() protoreflect.EnumType {
+ return &file_ServerUpdateGlobalValueNotify_proto_enumTypes[0]
+}
+
+func (x ServerUpdateGlobalValueNotify_UpdateType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ServerUpdateGlobalValueNotify_UpdateType.Descriptor instead.
+func (ServerUpdateGlobalValueNotify_UpdateType) EnumDescriptor() ([]byte, []int) {
+ return file_ServerUpdateGlobalValueNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 1148
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ServerUpdateGlobalValueNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ UpdateType ServerUpdateGlobalValueNotify_UpdateType `protobuf:"varint,13,opt,name=update_type,json=updateType,proto3,enum=proto.ServerUpdateGlobalValueNotify_UpdateType" json:"update_type,omitempty"`
+ Delta float32 `protobuf:"fixed32,3,opt,name=delta,proto3" json:"delta,omitempty"`
+ KeyHash uint32 `protobuf:"varint,10,opt,name=key_hash,json=keyHash,proto3" json:"key_hash,omitempty"`
+ Value float32 `protobuf:"fixed32,6,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *ServerUpdateGlobalValueNotify) Reset() {
+ *x = ServerUpdateGlobalValueNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ServerUpdateGlobalValueNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServerUpdateGlobalValueNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServerUpdateGlobalValueNotify) ProtoMessage() {}
+
+func (x *ServerUpdateGlobalValueNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ServerUpdateGlobalValueNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServerUpdateGlobalValueNotify.ProtoReflect.Descriptor instead.
+func (*ServerUpdateGlobalValueNotify) Descriptor() ([]byte, []int) {
+ return file_ServerUpdateGlobalValueNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ServerUpdateGlobalValueNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *ServerUpdateGlobalValueNotify) GetUpdateType() ServerUpdateGlobalValueNotify_UpdateType {
+ if x != nil {
+ return x.UpdateType
+ }
+ return ServerUpdateGlobalValueNotify_UPDATE_TYPE_INVALID
+}
+
+func (x *ServerUpdateGlobalValueNotify) GetDelta() float32 {
+ if x != nil {
+ return x.Delta
+ }
+ return 0
+}
+
+func (x *ServerUpdateGlobalValueNotify) GetKeyHash() uint32 {
+ if x != nil {
+ return x.KeyHash
+ }
+ return 0
+}
+
+func (x *ServerUpdateGlobalValueNotify) GetValue() float32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+var File_ServerUpdateGlobalValueNotify_proto protoreflect.FileDescriptor
+
+var file_ServerUpdateGlobalValueNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6c,
+ 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x02, 0x0a,
+ 0x1d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f,
+ 0x62, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x0b, 0x75,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65,
+ 0x6c, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14,
+ 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4f, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x55,
+ 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x10, 0x01,
+ 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x53, 0x45, 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ServerUpdateGlobalValueNotify_proto_rawDescOnce sync.Once
+ file_ServerUpdateGlobalValueNotify_proto_rawDescData = file_ServerUpdateGlobalValueNotify_proto_rawDesc
+)
+
+func file_ServerUpdateGlobalValueNotify_proto_rawDescGZIP() []byte {
+ file_ServerUpdateGlobalValueNotify_proto_rawDescOnce.Do(func() {
+ file_ServerUpdateGlobalValueNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ServerUpdateGlobalValueNotify_proto_rawDescData)
+ })
+ return file_ServerUpdateGlobalValueNotify_proto_rawDescData
+}
+
+var file_ServerUpdateGlobalValueNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ServerUpdateGlobalValueNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ServerUpdateGlobalValueNotify_proto_goTypes = []interface{}{
+ (ServerUpdateGlobalValueNotify_UpdateType)(0), // 0: proto.ServerUpdateGlobalValueNotify.UpdateType
+ (*ServerUpdateGlobalValueNotify)(nil), // 1: proto.ServerUpdateGlobalValueNotify
+}
+var file_ServerUpdateGlobalValueNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.ServerUpdateGlobalValueNotify.update_type:type_name -> proto.ServerUpdateGlobalValueNotify.UpdateType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ServerUpdateGlobalValueNotify_proto_init() }
+func file_ServerUpdateGlobalValueNotify_proto_init() {
+ if File_ServerUpdateGlobalValueNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ServerUpdateGlobalValueNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServerUpdateGlobalValueNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ServerUpdateGlobalValueNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ServerUpdateGlobalValueNotify_proto_goTypes,
+ DependencyIndexes: file_ServerUpdateGlobalValueNotify_proto_depIdxs,
+ EnumInfos: file_ServerUpdateGlobalValueNotify_proto_enumTypes,
+ MessageInfos: file_ServerUpdateGlobalValueNotify_proto_msgTypes,
+ }.Build()
+ File_ServerUpdateGlobalValueNotify_proto = out.File
+ file_ServerUpdateGlobalValueNotify_proto_rawDesc = nil
+ file_ServerUpdateGlobalValueNotify_proto_goTypes = nil
+ file_ServerUpdateGlobalValueNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetBattlePassViewedReq.pb.go b/protocol/proto/SetBattlePassViewedReq.pb.go
new file mode 100644
index 00000000..1a468205
--- /dev/null
+++ b/protocol/proto/SetBattlePassViewedReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetBattlePassViewedReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2641
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetBattlePassViewedReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,6,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *SetBattlePassViewedReq) Reset() {
+ *x = SetBattlePassViewedReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetBattlePassViewedReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetBattlePassViewedReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetBattlePassViewedReq) ProtoMessage() {}
+
+func (x *SetBattlePassViewedReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetBattlePassViewedReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetBattlePassViewedReq.ProtoReflect.Descriptor instead.
+func (*SetBattlePassViewedReq) Descriptor() ([]byte, []int) {
+ return file_SetBattlePassViewedReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetBattlePassViewedReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_SetBattlePassViewedReq_proto protoreflect.FileDescriptor
+
+var file_SetBattlePassViewedReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x56,
+ 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetBattlePassViewedReq_proto_rawDescOnce sync.Once
+ file_SetBattlePassViewedReq_proto_rawDescData = file_SetBattlePassViewedReq_proto_rawDesc
+)
+
+func file_SetBattlePassViewedReq_proto_rawDescGZIP() []byte {
+ file_SetBattlePassViewedReq_proto_rawDescOnce.Do(func() {
+ file_SetBattlePassViewedReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetBattlePassViewedReq_proto_rawDescData)
+ })
+ return file_SetBattlePassViewedReq_proto_rawDescData
+}
+
+var file_SetBattlePassViewedReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetBattlePassViewedReq_proto_goTypes = []interface{}{
+ (*SetBattlePassViewedReq)(nil), // 0: proto.SetBattlePassViewedReq
+}
+var file_SetBattlePassViewedReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetBattlePassViewedReq_proto_init() }
+func file_SetBattlePassViewedReq_proto_init() {
+ if File_SetBattlePassViewedReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetBattlePassViewedReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetBattlePassViewedReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetBattlePassViewedReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetBattlePassViewedReq_proto_goTypes,
+ DependencyIndexes: file_SetBattlePassViewedReq_proto_depIdxs,
+ MessageInfos: file_SetBattlePassViewedReq_proto_msgTypes,
+ }.Build()
+ File_SetBattlePassViewedReq_proto = out.File
+ file_SetBattlePassViewedReq_proto_rawDesc = nil
+ file_SetBattlePassViewedReq_proto_goTypes = nil
+ file_SetBattlePassViewedReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetBattlePassViewedRsp.pb.go b/protocol/proto/SetBattlePassViewedRsp.pb.go
new file mode 100644
index 00000000..fbcb1ea7
--- /dev/null
+++ b/protocol/proto/SetBattlePassViewedRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetBattlePassViewedRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2642
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetBattlePassViewedRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetBattlePassViewedRsp) Reset() {
+ *x = SetBattlePassViewedRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetBattlePassViewedRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetBattlePassViewedRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetBattlePassViewedRsp) ProtoMessage() {}
+
+func (x *SetBattlePassViewedRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetBattlePassViewedRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetBattlePassViewedRsp.ProtoReflect.Descriptor instead.
+func (*SetBattlePassViewedRsp) Descriptor() ([]byte, []int) {
+ return file_SetBattlePassViewedRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetBattlePassViewedRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *SetBattlePassViewedRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetBattlePassViewedRsp_proto protoreflect.FileDescriptor
+
+var file_SetBattlePassViewedRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x56,
+ 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x42, 0x61, 0x74, 0x74,
+ 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetBattlePassViewedRsp_proto_rawDescOnce sync.Once
+ file_SetBattlePassViewedRsp_proto_rawDescData = file_SetBattlePassViewedRsp_proto_rawDesc
+)
+
+func file_SetBattlePassViewedRsp_proto_rawDescGZIP() []byte {
+ file_SetBattlePassViewedRsp_proto_rawDescOnce.Do(func() {
+ file_SetBattlePassViewedRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetBattlePassViewedRsp_proto_rawDescData)
+ })
+ return file_SetBattlePassViewedRsp_proto_rawDescData
+}
+
+var file_SetBattlePassViewedRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetBattlePassViewedRsp_proto_goTypes = []interface{}{
+ (*SetBattlePassViewedRsp)(nil), // 0: proto.SetBattlePassViewedRsp
+}
+var file_SetBattlePassViewedRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetBattlePassViewedRsp_proto_init() }
+func file_SetBattlePassViewedRsp_proto_init() {
+ if File_SetBattlePassViewedRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetBattlePassViewedRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetBattlePassViewedRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetBattlePassViewedRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetBattlePassViewedRsp_proto_goTypes,
+ DependencyIndexes: file_SetBattlePassViewedRsp_proto_depIdxs,
+ MessageInfos: file_SetBattlePassViewedRsp_proto_msgTypes,
+ }.Build()
+ File_SetBattlePassViewedRsp_proto = out.File
+ file_SetBattlePassViewedRsp_proto_rawDesc = nil
+ file_SetBattlePassViewedRsp_proto_goTypes = nil
+ file_SetBattlePassViewedRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetChatEmojiCollectionReq.pb.go b/protocol/proto/SetChatEmojiCollectionReq.pb.go
new file mode 100644
index 00000000..6eae6fef
--- /dev/null
+++ b/protocol/proto/SetChatEmojiCollectionReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetChatEmojiCollectionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4084
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetChatEmojiCollectionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChatEmojiCollectionData *ChatEmojiCollectionData `protobuf:"bytes,12,opt,name=chat_emoji_collection_data,json=chatEmojiCollectionData,proto3" json:"chat_emoji_collection_data,omitempty"`
+}
+
+func (x *SetChatEmojiCollectionReq) Reset() {
+ *x = SetChatEmojiCollectionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetChatEmojiCollectionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetChatEmojiCollectionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetChatEmojiCollectionReq) ProtoMessage() {}
+
+func (x *SetChatEmojiCollectionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetChatEmojiCollectionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetChatEmojiCollectionReq.ProtoReflect.Descriptor instead.
+func (*SetChatEmojiCollectionReq) Descriptor() ([]byte, []int) {
+ return file_SetChatEmojiCollectionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetChatEmojiCollectionReq) GetChatEmojiCollectionData() *ChatEmojiCollectionData {
+ if x != nil {
+ return x.ChatEmojiCollectionData
+ }
+ return nil
+}
+
+var File_SetChatEmojiCollectionReq_proto protoreflect.FileDescriptor
+
+var file_SetChatEmojiCollectionReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d,
+ 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x43, 0x68,
+ 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x12, 0x5b, 0x0a, 0x1a, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x65, 0x6d, 0x6f,
+ 0x6a, 0x69, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x17, 0x63, 0x68, 0x61, 0x74, 0x45, 0x6d,
+ 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74,
+ 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetChatEmojiCollectionReq_proto_rawDescOnce sync.Once
+ file_SetChatEmojiCollectionReq_proto_rawDescData = file_SetChatEmojiCollectionReq_proto_rawDesc
+)
+
+func file_SetChatEmojiCollectionReq_proto_rawDescGZIP() []byte {
+ file_SetChatEmojiCollectionReq_proto_rawDescOnce.Do(func() {
+ file_SetChatEmojiCollectionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetChatEmojiCollectionReq_proto_rawDescData)
+ })
+ return file_SetChatEmojiCollectionReq_proto_rawDescData
+}
+
+var file_SetChatEmojiCollectionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetChatEmojiCollectionReq_proto_goTypes = []interface{}{
+ (*SetChatEmojiCollectionReq)(nil), // 0: proto.SetChatEmojiCollectionReq
+ (*ChatEmojiCollectionData)(nil), // 1: proto.ChatEmojiCollectionData
+}
+var file_SetChatEmojiCollectionReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SetChatEmojiCollectionReq.chat_emoji_collection_data:type_name -> proto.ChatEmojiCollectionData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetChatEmojiCollectionReq_proto_init() }
+func file_SetChatEmojiCollectionReq_proto_init() {
+ if File_SetChatEmojiCollectionReq_proto != nil {
+ return
+ }
+ file_ChatEmojiCollectionData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetChatEmojiCollectionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetChatEmojiCollectionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetChatEmojiCollectionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetChatEmojiCollectionReq_proto_goTypes,
+ DependencyIndexes: file_SetChatEmojiCollectionReq_proto_depIdxs,
+ MessageInfos: file_SetChatEmojiCollectionReq_proto_msgTypes,
+ }.Build()
+ File_SetChatEmojiCollectionReq_proto = out.File
+ file_SetChatEmojiCollectionReq_proto_rawDesc = nil
+ file_SetChatEmojiCollectionReq_proto_goTypes = nil
+ file_SetChatEmojiCollectionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetChatEmojiCollectionRsp.pb.go b/protocol/proto/SetChatEmojiCollectionRsp.pb.go
new file mode 100644
index 00000000..47051dc3
--- /dev/null
+++ b/protocol/proto/SetChatEmojiCollectionRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetChatEmojiCollectionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4080
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetChatEmojiCollectionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetChatEmojiCollectionRsp) Reset() {
+ *x = SetChatEmojiCollectionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetChatEmojiCollectionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetChatEmojiCollectionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetChatEmojiCollectionRsp) ProtoMessage() {}
+
+func (x *SetChatEmojiCollectionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetChatEmojiCollectionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetChatEmojiCollectionRsp.ProtoReflect.Descriptor instead.
+func (*SetChatEmojiCollectionRsp) Descriptor() ([]byte, []int) {
+ return file_SetChatEmojiCollectionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetChatEmojiCollectionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetChatEmojiCollectionRsp_proto protoreflect.FileDescriptor
+
+var file_SetChatEmojiCollectionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x43,
+ 0x68, 0x61, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetChatEmojiCollectionRsp_proto_rawDescOnce sync.Once
+ file_SetChatEmojiCollectionRsp_proto_rawDescData = file_SetChatEmojiCollectionRsp_proto_rawDesc
+)
+
+func file_SetChatEmojiCollectionRsp_proto_rawDescGZIP() []byte {
+ file_SetChatEmojiCollectionRsp_proto_rawDescOnce.Do(func() {
+ file_SetChatEmojiCollectionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetChatEmojiCollectionRsp_proto_rawDescData)
+ })
+ return file_SetChatEmojiCollectionRsp_proto_rawDescData
+}
+
+var file_SetChatEmojiCollectionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetChatEmojiCollectionRsp_proto_goTypes = []interface{}{
+ (*SetChatEmojiCollectionRsp)(nil), // 0: proto.SetChatEmojiCollectionRsp
+}
+var file_SetChatEmojiCollectionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetChatEmojiCollectionRsp_proto_init() }
+func file_SetChatEmojiCollectionRsp_proto_init() {
+ if File_SetChatEmojiCollectionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetChatEmojiCollectionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetChatEmojiCollectionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetChatEmojiCollectionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetChatEmojiCollectionRsp_proto_goTypes,
+ DependencyIndexes: file_SetChatEmojiCollectionRsp_proto_depIdxs,
+ MessageInfos: file_SetChatEmojiCollectionRsp_proto_msgTypes,
+ }.Build()
+ File_SetChatEmojiCollectionRsp_proto = out.File
+ file_SetChatEmojiCollectionRsp_proto_rawDesc = nil
+ file_SetChatEmojiCollectionRsp_proto_goTypes = nil
+ file_SetChatEmojiCollectionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetCodexPushtipsReadReq.pb.go b/protocol/proto/SetCodexPushtipsReadReq.pb.go
new file mode 100644
index 00000000..a4a12add
--- /dev/null
+++ b/protocol/proto/SetCodexPushtipsReadReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetCodexPushtipsReadReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4208
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetCodexPushtipsReadReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"`
+ CodexId uint32 `protobuf:"varint,14,opt,name=codex_id,json=codexId,proto3" json:"codex_id,omitempty"`
+}
+
+func (x *SetCodexPushtipsReadReq) Reset() {
+ *x = SetCodexPushtipsReadReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetCodexPushtipsReadReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetCodexPushtipsReadReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetCodexPushtipsReadReq) ProtoMessage() {}
+
+func (x *SetCodexPushtipsReadReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetCodexPushtipsReadReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetCodexPushtipsReadReq.ProtoReflect.Descriptor instead.
+func (*SetCodexPushtipsReadReq) Descriptor() ([]byte, []int) {
+ return file_SetCodexPushtipsReadReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetCodexPushtipsReadReq) GetTypeId() uint32 {
+ if x != nil {
+ return x.TypeId
+ }
+ return 0
+}
+
+func (x *SetCodexPushtipsReadReq) GetCodexId() uint32 {
+ if x != nil {
+ return x.CodexId
+ }
+ return 0
+}
+
+var File_SetCodexPushtipsReadReq_proto protoreflect.FileDescriptor
+
+var file_SetCodexPushtipsReadReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x50, 0x75, 0x73, 0x68, 0x74, 0x69,
+ 0x70, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x64,
+ 0x65, 0x78, 0x50, 0x75, 0x73, 0x68, 0x74, 0x69, 0x70, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f,
+ 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f,
+ 0x64, 0x65, 0x78, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetCodexPushtipsReadReq_proto_rawDescOnce sync.Once
+ file_SetCodexPushtipsReadReq_proto_rawDescData = file_SetCodexPushtipsReadReq_proto_rawDesc
+)
+
+func file_SetCodexPushtipsReadReq_proto_rawDescGZIP() []byte {
+ file_SetCodexPushtipsReadReq_proto_rawDescOnce.Do(func() {
+ file_SetCodexPushtipsReadReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetCodexPushtipsReadReq_proto_rawDescData)
+ })
+ return file_SetCodexPushtipsReadReq_proto_rawDescData
+}
+
+var file_SetCodexPushtipsReadReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetCodexPushtipsReadReq_proto_goTypes = []interface{}{
+ (*SetCodexPushtipsReadReq)(nil), // 0: proto.SetCodexPushtipsReadReq
+}
+var file_SetCodexPushtipsReadReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetCodexPushtipsReadReq_proto_init() }
+func file_SetCodexPushtipsReadReq_proto_init() {
+ if File_SetCodexPushtipsReadReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetCodexPushtipsReadReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetCodexPushtipsReadReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetCodexPushtipsReadReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetCodexPushtipsReadReq_proto_goTypes,
+ DependencyIndexes: file_SetCodexPushtipsReadReq_proto_depIdxs,
+ MessageInfos: file_SetCodexPushtipsReadReq_proto_msgTypes,
+ }.Build()
+ File_SetCodexPushtipsReadReq_proto = out.File
+ file_SetCodexPushtipsReadReq_proto_rawDesc = nil
+ file_SetCodexPushtipsReadReq_proto_goTypes = nil
+ file_SetCodexPushtipsReadReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetCodexPushtipsReadRsp.pb.go b/protocol/proto/SetCodexPushtipsReadRsp.pb.go
new file mode 100644
index 00000000..86a15e49
--- /dev/null
+++ b/protocol/proto/SetCodexPushtipsReadRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetCodexPushtipsReadRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4206
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetCodexPushtipsReadRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TypeId uint32 `protobuf:"varint,5,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"`
+ CodexId uint32 `protobuf:"varint,14,opt,name=codex_id,json=codexId,proto3" json:"codex_id,omitempty"`
+}
+
+func (x *SetCodexPushtipsReadRsp) Reset() {
+ *x = SetCodexPushtipsReadRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetCodexPushtipsReadRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetCodexPushtipsReadRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetCodexPushtipsReadRsp) ProtoMessage() {}
+
+func (x *SetCodexPushtipsReadRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetCodexPushtipsReadRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetCodexPushtipsReadRsp.ProtoReflect.Descriptor instead.
+func (*SetCodexPushtipsReadRsp) Descriptor() ([]byte, []int) {
+ return file_SetCodexPushtipsReadRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetCodexPushtipsReadRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SetCodexPushtipsReadRsp) GetTypeId() uint32 {
+ if x != nil {
+ return x.TypeId
+ }
+ return 0
+}
+
+func (x *SetCodexPushtipsReadRsp) GetCodexId() uint32 {
+ if x != nil {
+ return x.CodexId
+ }
+ return 0
+}
+
+var File_SetCodexPushtipsReadRsp_proto protoreflect.FileDescriptor
+
+var file_SetCodexPushtipsReadRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x50, 0x75, 0x73, 0x68, 0x74, 0x69,
+ 0x70, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x64,
+ 0x65, 0x78, 0x50, 0x75, 0x73, 0x68, 0x74, 0x69, 0x70, 0x73, 0x52, 0x65, 0x61, 0x64, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74,
+ 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79,
+ 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x64, 0x65, 0x78, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetCodexPushtipsReadRsp_proto_rawDescOnce sync.Once
+ file_SetCodexPushtipsReadRsp_proto_rawDescData = file_SetCodexPushtipsReadRsp_proto_rawDesc
+)
+
+func file_SetCodexPushtipsReadRsp_proto_rawDescGZIP() []byte {
+ file_SetCodexPushtipsReadRsp_proto_rawDescOnce.Do(func() {
+ file_SetCodexPushtipsReadRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetCodexPushtipsReadRsp_proto_rawDescData)
+ })
+ return file_SetCodexPushtipsReadRsp_proto_rawDescData
+}
+
+var file_SetCodexPushtipsReadRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetCodexPushtipsReadRsp_proto_goTypes = []interface{}{
+ (*SetCodexPushtipsReadRsp)(nil), // 0: proto.SetCodexPushtipsReadRsp
+}
+var file_SetCodexPushtipsReadRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetCodexPushtipsReadRsp_proto_init() }
+func file_SetCodexPushtipsReadRsp_proto_init() {
+ if File_SetCodexPushtipsReadRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetCodexPushtipsReadRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetCodexPushtipsReadRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetCodexPushtipsReadRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetCodexPushtipsReadRsp_proto_goTypes,
+ DependencyIndexes: file_SetCodexPushtipsReadRsp_proto_depIdxs,
+ MessageInfos: file_SetCodexPushtipsReadRsp_proto_msgTypes,
+ }.Build()
+ File_SetCodexPushtipsReadRsp_proto = out.File
+ file_SetCodexPushtipsReadRsp_proto_rawDesc = nil
+ file_SetCodexPushtipsReadRsp_proto_goTypes = nil
+ file_SetCodexPushtipsReadRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetCoopChapterViewedReq.pb.go b/protocol/proto/SetCoopChapterViewedReq.pb.go
new file mode 100644
index 00000000..003c9fcf
--- /dev/null
+++ b/protocol/proto/SetCoopChapterViewedReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetCoopChapterViewedReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1965
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetCoopChapterViewedReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterId uint32 `protobuf:"varint,2,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *SetCoopChapterViewedReq) Reset() {
+ *x = SetCoopChapterViewedReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetCoopChapterViewedReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetCoopChapterViewedReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetCoopChapterViewedReq) ProtoMessage() {}
+
+func (x *SetCoopChapterViewedReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetCoopChapterViewedReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetCoopChapterViewedReq.ProtoReflect.Descriptor instead.
+func (*SetCoopChapterViewedReq) Descriptor() ([]byte, []int) {
+ return file_SetCoopChapterViewedReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetCoopChapterViewedReq) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+var File_SetCoopChapterViewedReq_proto protoreflect.FileDescriptor
+
+var file_SetCoopChapterViewedReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
+ 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6f,
+ 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x65,
+ 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetCoopChapterViewedReq_proto_rawDescOnce sync.Once
+ file_SetCoopChapterViewedReq_proto_rawDescData = file_SetCoopChapterViewedReq_proto_rawDesc
+)
+
+func file_SetCoopChapterViewedReq_proto_rawDescGZIP() []byte {
+ file_SetCoopChapterViewedReq_proto_rawDescOnce.Do(func() {
+ file_SetCoopChapterViewedReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetCoopChapterViewedReq_proto_rawDescData)
+ })
+ return file_SetCoopChapterViewedReq_proto_rawDescData
+}
+
+var file_SetCoopChapterViewedReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetCoopChapterViewedReq_proto_goTypes = []interface{}{
+ (*SetCoopChapterViewedReq)(nil), // 0: proto.SetCoopChapterViewedReq
+}
+var file_SetCoopChapterViewedReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetCoopChapterViewedReq_proto_init() }
+func file_SetCoopChapterViewedReq_proto_init() {
+ if File_SetCoopChapterViewedReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetCoopChapterViewedReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetCoopChapterViewedReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetCoopChapterViewedReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetCoopChapterViewedReq_proto_goTypes,
+ DependencyIndexes: file_SetCoopChapterViewedReq_proto_depIdxs,
+ MessageInfos: file_SetCoopChapterViewedReq_proto_msgTypes,
+ }.Build()
+ File_SetCoopChapterViewedReq_proto = out.File
+ file_SetCoopChapterViewedReq_proto_rawDesc = nil
+ file_SetCoopChapterViewedReq_proto_goTypes = nil
+ file_SetCoopChapterViewedReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetCoopChapterViewedRsp.pb.go b/protocol/proto/SetCoopChapterViewedRsp.pb.go
new file mode 100644
index 00000000..c08cbb22
--- /dev/null
+++ b/protocol/proto/SetCoopChapterViewedRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetCoopChapterViewedRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1963
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetCoopChapterViewedRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterId uint32 `protobuf:"varint,11,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetCoopChapterViewedRsp) Reset() {
+ *x = SetCoopChapterViewedRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetCoopChapterViewedRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetCoopChapterViewedRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetCoopChapterViewedRsp) ProtoMessage() {}
+
+func (x *SetCoopChapterViewedRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetCoopChapterViewedRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetCoopChapterViewedRsp.ProtoReflect.Descriptor instead.
+func (*SetCoopChapterViewedRsp) Descriptor() ([]byte, []int) {
+ return file_SetCoopChapterViewedRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetCoopChapterViewedRsp) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+func (x *SetCoopChapterViewedRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetCoopChapterViewedRsp_proto protoreflect.FileDescriptor
+
+var file_SetCoopChapterViewedRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72,
+ 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6f,
+ 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x65, 0x64, 0x52, 0x73,
+ 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetCoopChapterViewedRsp_proto_rawDescOnce sync.Once
+ file_SetCoopChapterViewedRsp_proto_rawDescData = file_SetCoopChapterViewedRsp_proto_rawDesc
+)
+
+func file_SetCoopChapterViewedRsp_proto_rawDescGZIP() []byte {
+ file_SetCoopChapterViewedRsp_proto_rawDescOnce.Do(func() {
+ file_SetCoopChapterViewedRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetCoopChapterViewedRsp_proto_rawDescData)
+ })
+ return file_SetCoopChapterViewedRsp_proto_rawDescData
+}
+
+var file_SetCoopChapterViewedRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetCoopChapterViewedRsp_proto_goTypes = []interface{}{
+ (*SetCoopChapterViewedRsp)(nil), // 0: proto.SetCoopChapterViewedRsp
+}
+var file_SetCoopChapterViewedRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetCoopChapterViewedRsp_proto_init() }
+func file_SetCoopChapterViewedRsp_proto_init() {
+ if File_SetCoopChapterViewedRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetCoopChapterViewedRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetCoopChapterViewedRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetCoopChapterViewedRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetCoopChapterViewedRsp_proto_goTypes,
+ DependencyIndexes: file_SetCoopChapterViewedRsp_proto_depIdxs,
+ MessageInfos: file_SetCoopChapterViewedRsp_proto_msgTypes,
+ }.Build()
+ File_SetCoopChapterViewedRsp_proto = out.File
+ file_SetCoopChapterViewedRsp_proto_rawDesc = nil
+ file_SetCoopChapterViewedRsp_proto_goTypes = nil
+ file_SetCoopChapterViewedRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetCurExpeditionChallengeIdReq.pb.go b/protocol/proto/SetCurExpeditionChallengeIdReq.pb.go
new file mode 100644
index 00000000..e5137d69
--- /dev/null
+++ b/protocol/proto/SetCurExpeditionChallengeIdReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetCurExpeditionChallengeIdReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2021
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetCurExpeditionChallengeIdReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *SetCurExpeditionChallengeIdReq) Reset() {
+ *x = SetCurExpeditionChallengeIdReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetCurExpeditionChallengeIdReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetCurExpeditionChallengeIdReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetCurExpeditionChallengeIdReq) ProtoMessage() {}
+
+func (x *SetCurExpeditionChallengeIdReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetCurExpeditionChallengeIdReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetCurExpeditionChallengeIdReq.ProtoReflect.Descriptor instead.
+func (*SetCurExpeditionChallengeIdReq) Descriptor() ([]byte, []int) {
+ return file_SetCurExpeditionChallengeIdReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetCurExpeditionChallengeIdReq) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_SetCurExpeditionChallengeIdReq_proto protoreflect.FileDescriptor
+
+var file_SetCurExpeditionChallengeIdReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a,
+ 0x1e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12,
+ 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetCurExpeditionChallengeIdReq_proto_rawDescOnce sync.Once
+ file_SetCurExpeditionChallengeIdReq_proto_rawDescData = file_SetCurExpeditionChallengeIdReq_proto_rawDesc
+)
+
+func file_SetCurExpeditionChallengeIdReq_proto_rawDescGZIP() []byte {
+ file_SetCurExpeditionChallengeIdReq_proto_rawDescOnce.Do(func() {
+ file_SetCurExpeditionChallengeIdReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetCurExpeditionChallengeIdReq_proto_rawDescData)
+ })
+ return file_SetCurExpeditionChallengeIdReq_proto_rawDescData
+}
+
+var file_SetCurExpeditionChallengeIdReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetCurExpeditionChallengeIdReq_proto_goTypes = []interface{}{
+ (*SetCurExpeditionChallengeIdReq)(nil), // 0: proto.SetCurExpeditionChallengeIdReq
+}
+var file_SetCurExpeditionChallengeIdReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetCurExpeditionChallengeIdReq_proto_init() }
+func file_SetCurExpeditionChallengeIdReq_proto_init() {
+ if File_SetCurExpeditionChallengeIdReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetCurExpeditionChallengeIdReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetCurExpeditionChallengeIdReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetCurExpeditionChallengeIdReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetCurExpeditionChallengeIdReq_proto_goTypes,
+ DependencyIndexes: file_SetCurExpeditionChallengeIdReq_proto_depIdxs,
+ MessageInfos: file_SetCurExpeditionChallengeIdReq_proto_msgTypes,
+ }.Build()
+ File_SetCurExpeditionChallengeIdReq_proto = out.File
+ file_SetCurExpeditionChallengeIdReq_proto_rawDesc = nil
+ file_SetCurExpeditionChallengeIdReq_proto_goTypes = nil
+ file_SetCurExpeditionChallengeIdReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetCurExpeditionChallengeIdRsp.pb.go b/protocol/proto/SetCurExpeditionChallengeIdRsp.pb.go
new file mode 100644
index 00000000..3a7d1f0e
--- /dev/null
+++ b/protocol/proto/SetCurExpeditionChallengeIdRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetCurExpeditionChallengeIdRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2049
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetCurExpeditionChallengeIdRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,14,opt,name=id,proto3" json:"id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetCurExpeditionChallengeIdRsp) Reset() {
+ *x = SetCurExpeditionChallengeIdRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetCurExpeditionChallengeIdRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetCurExpeditionChallengeIdRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetCurExpeditionChallengeIdRsp) ProtoMessage() {}
+
+func (x *SetCurExpeditionChallengeIdRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetCurExpeditionChallengeIdRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetCurExpeditionChallengeIdRsp.ProtoReflect.Descriptor instead.
+func (*SetCurExpeditionChallengeIdRsp) Descriptor() ([]byte, []int) {
+ return file_SetCurExpeditionChallengeIdRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetCurExpeditionChallengeIdRsp) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *SetCurExpeditionChallengeIdRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetCurExpeditionChallengeIdRsp_proto protoreflect.FileDescriptor
+
+var file_SetCurExpeditionChallengeIdRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a,
+ 0x1e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x45, 0x78, 0x70, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
+ 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetCurExpeditionChallengeIdRsp_proto_rawDescOnce sync.Once
+ file_SetCurExpeditionChallengeIdRsp_proto_rawDescData = file_SetCurExpeditionChallengeIdRsp_proto_rawDesc
+)
+
+func file_SetCurExpeditionChallengeIdRsp_proto_rawDescGZIP() []byte {
+ file_SetCurExpeditionChallengeIdRsp_proto_rawDescOnce.Do(func() {
+ file_SetCurExpeditionChallengeIdRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetCurExpeditionChallengeIdRsp_proto_rawDescData)
+ })
+ return file_SetCurExpeditionChallengeIdRsp_proto_rawDescData
+}
+
+var file_SetCurExpeditionChallengeIdRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetCurExpeditionChallengeIdRsp_proto_goTypes = []interface{}{
+ (*SetCurExpeditionChallengeIdRsp)(nil), // 0: proto.SetCurExpeditionChallengeIdRsp
+}
+var file_SetCurExpeditionChallengeIdRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetCurExpeditionChallengeIdRsp_proto_init() }
+func file_SetCurExpeditionChallengeIdRsp_proto_init() {
+ if File_SetCurExpeditionChallengeIdRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetCurExpeditionChallengeIdRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetCurExpeditionChallengeIdRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetCurExpeditionChallengeIdRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetCurExpeditionChallengeIdRsp_proto_goTypes,
+ DependencyIndexes: file_SetCurExpeditionChallengeIdRsp_proto_depIdxs,
+ MessageInfos: file_SetCurExpeditionChallengeIdRsp_proto_msgTypes,
+ }.Build()
+ File_SetCurExpeditionChallengeIdRsp_proto = out.File
+ file_SetCurExpeditionChallengeIdRsp_proto_rawDesc = nil
+ file_SetCurExpeditionChallengeIdRsp_proto_goTypes = nil
+ file_SetCurExpeditionChallengeIdRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetEntityClientDataNotify.pb.go b/protocol/proto/SetEntityClientDataNotify.pb.go
new file mode 100644
index 00000000..1fb8ffb6
--- /dev/null
+++ b/protocol/proto/SetEntityClientDataNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetEntityClientDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3146
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetEntityClientDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,14,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ EntityClientData *EntityClientData `protobuf:"bytes,9,opt,name=entity_client_data,json=entityClientData,proto3" json:"entity_client_data,omitempty"`
+}
+
+func (x *SetEntityClientDataNotify) Reset() {
+ *x = SetEntityClientDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetEntityClientDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetEntityClientDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetEntityClientDataNotify) ProtoMessage() {}
+
+func (x *SetEntityClientDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SetEntityClientDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetEntityClientDataNotify.ProtoReflect.Descriptor instead.
+func (*SetEntityClientDataNotify) Descriptor() ([]byte, []int) {
+ return file_SetEntityClientDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetEntityClientDataNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *SetEntityClientDataNotify) GetEntityClientData() *EntityClientData {
+ if x != nil {
+ return x.EntityClientData
+ }
+ return nil
+}
+
+var File_SetEntityClientDataNotify_proto protoreflect.FileDescriptor
+
+var file_SetEntityClientDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x7f, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x12, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetEntityClientDataNotify_proto_rawDescOnce sync.Once
+ file_SetEntityClientDataNotify_proto_rawDescData = file_SetEntityClientDataNotify_proto_rawDesc
+)
+
+func file_SetEntityClientDataNotify_proto_rawDescGZIP() []byte {
+ file_SetEntityClientDataNotify_proto_rawDescOnce.Do(func() {
+ file_SetEntityClientDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetEntityClientDataNotify_proto_rawDescData)
+ })
+ return file_SetEntityClientDataNotify_proto_rawDescData
+}
+
+var file_SetEntityClientDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetEntityClientDataNotify_proto_goTypes = []interface{}{
+ (*SetEntityClientDataNotify)(nil), // 0: proto.SetEntityClientDataNotify
+ (*EntityClientData)(nil), // 1: proto.EntityClientData
+}
+var file_SetEntityClientDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SetEntityClientDataNotify.entity_client_data:type_name -> proto.EntityClientData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetEntityClientDataNotify_proto_init() }
+func file_SetEntityClientDataNotify_proto_init() {
+ if File_SetEntityClientDataNotify_proto != nil {
+ return
+ }
+ file_EntityClientData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetEntityClientDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetEntityClientDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetEntityClientDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetEntityClientDataNotify_proto_goTypes,
+ DependencyIndexes: file_SetEntityClientDataNotify_proto_depIdxs,
+ MessageInfos: file_SetEntityClientDataNotify_proto_msgTypes,
+ }.Build()
+ File_SetEntityClientDataNotify_proto = out.File
+ file_SetEntityClientDataNotify_proto_rawDesc = nil
+ file_SetEntityClientDataNotify_proto_goTypes = nil
+ file_SetEntityClientDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetEquipLockStateReq.pb.go b/protocol/proto/SetEquipLockStateReq.pb.go
new file mode 100644
index 00000000..f0db1b51
--- /dev/null
+++ b/protocol/proto/SetEquipLockStateReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetEquipLockStateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 666
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetEquipLockStateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsLocked bool `protobuf:"varint,15,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
+ TargetEquipGuid uint64 `protobuf:"varint,9,opt,name=target_equip_guid,json=targetEquipGuid,proto3" json:"target_equip_guid,omitempty"`
+}
+
+func (x *SetEquipLockStateReq) Reset() {
+ *x = SetEquipLockStateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetEquipLockStateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetEquipLockStateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetEquipLockStateReq) ProtoMessage() {}
+
+func (x *SetEquipLockStateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetEquipLockStateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetEquipLockStateReq.ProtoReflect.Descriptor instead.
+func (*SetEquipLockStateReq) Descriptor() ([]byte, []int) {
+ return file_SetEquipLockStateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetEquipLockStateReq) GetIsLocked() bool {
+ if x != nil {
+ return x.IsLocked
+ }
+ return false
+}
+
+func (x *SetEquipLockStateReq) GetTargetEquipGuid() uint64 {
+ if x != nil {
+ return x.TargetEquipGuid
+ }
+ return 0
+}
+
+var File_SetEquipLockStateReq_proto protoreflect.FileDescriptor
+
+var file_SetEquipLockStateReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4c,
+ 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x69,
+ 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
+ 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70,
+ 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetEquipLockStateReq_proto_rawDescOnce sync.Once
+ file_SetEquipLockStateReq_proto_rawDescData = file_SetEquipLockStateReq_proto_rawDesc
+)
+
+func file_SetEquipLockStateReq_proto_rawDescGZIP() []byte {
+ file_SetEquipLockStateReq_proto_rawDescOnce.Do(func() {
+ file_SetEquipLockStateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetEquipLockStateReq_proto_rawDescData)
+ })
+ return file_SetEquipLockStateReq_proto_rawDescData
+}
+
+var file_SetEquipLockStateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetEquipLockStateReq_proto_goTypes = []interface{}{
+ (*SetEquipLockStateReq)(nil), // 0: proto.SetEquipLockStateReq
+}
+var file_SetEquipLockStateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetEquipLockStateReq_proto_init() }
+func file_SetEquipLockStateReq_proto_init() {
+ if File_SetEquipLockStateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetEquipLockStateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetEquipLockStateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetEquipLockStateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetEquipLockStateReq_proto_goTypes,
+ DependencyIndexes: file_SetEquipLockStateReq_proto_depIdxs,
+ MessageInfos: file_SetEquipLockStateReq_proto_msgTypes,
+ }.Build()
+ File_SetEquipLockStateReq_proto = out.File
+ file_SetEquipLockStateReq_proto_rawDesc = nil
+ file_SetEquipLockStateReq_proto_goTypes = nil
+ file_SetEquipLockStateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetEquipLockStateRsp.pb.go b/protocol/proto/SetEquipLockStateRsp.pb.go
new file mode 100644
index 00000000..88540d79
--- /dev/null
+++ b/protocol/proto/SetEquipLockStateRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetEquipLockStateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 668
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetEquipLockStateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetEquipGuid uint64 `protobuf:"varint,14,opt,name=target_equip_guid,json=targetEquipGuid,proto3" json:"target_equip_guid,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsLocked bool `protobuf:"varint,10,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
+}
+
+func (x *SetEquipLockStateRsp) Reset() {
+ *x = SetEquipLockStateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetEquipLockStateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetEquipLockStateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetEquipLockStateRsp) ProtoMessage() {}
+
+func (x *SetEquipLockStateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetEquipLockStateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetEquipLockStateRsp.ProtoReflect.Descriptor instead.
+func (*SetEquipLockStateRsp) Descriptor() ([]byte, []int) {
+ return file_SetEquipLockStateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetEquipLockStateRsp) GetTargetEquipGuid() uint64 {
+ if x != nil {
+ return x.TargetEquipGuid
+ }
+ return 0
+}
+
+func (x *SetEquipLockStateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SetEquipLockStateRsp) GetIsLocked() bool {
+ if x != nil {
+ return x.IsLocked
+ }
+ return false
+}
+
+var File_SetEquipLockStateRsp_proto protoreflect.FileDescriptor
+
+var file_SetEquipLockStateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4c,
+ 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x71,
+ 0x75, 0x69, 0x70, 0x47, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SetEquipLockStateRsp_proto_rawDescOnce sync.Once
+ file_SetEquipLockStateRsp_proto_rawDescData = file_SetEquipLockStateRsp_proto_rawDesc
+)
+
+func file_SetEquipLockStateRsp_proto_rawDescGZIP() []byte {
+ file_SetEquipLockStateRsp_proto_rawDescOnce.Do(func() {
+ file_SetEquipLockStateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetEquipLockStateRsp_proto_rawDescData)
+ })
+ return file_SetEquipLockStateRsp_proto_rawDescData
+}
+
+var file_SetEquipLockStateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetEquipLockStateRsp_proto_goTypes = []interface{}{
+ (*SetEquipLockStateRsp)(nil), // 0: proto.SetEquipLockStateRsp
+}
+var file_SetEquipLockStateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetEquipLockStateRsp_proto_init() }
+func file_SetEquipLockStateRsp_proto_init() {
+ if File_SetEquipLockStateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetEquipLockStateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetEquipLockStateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetEquipLockStateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetEquipLockStateRsp_proto_goTypes,
+ DependencyIndexes: file_SetEquipLockStateRsp_proto_depIdxs,
+ MessageInfos: file_SetEquipLockStateRsp_proto_msgTypes,
+ }.Build()
+ File_SetEquipLockStateRsp_proto = out.File
+ file_SetEquipLockStateRsp_proto_rawDesc = nil
+ file_SetEquipLockStateRsp_proto_goTypes = nil
+ file_SetEquipLockStateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetFriendEnterHomeOptionReq.pb.go b/protocol/proto/SetFriendEnterHomeOptionReq.pb.go
new file mode 100644
index 00000000..420651b1
--- /dev/null
+++ b/protocol/proto/SetFriendEnterHomeOptionReq.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetFriendEnterHomeOptionReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4494
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetFriendEnterHomeOptionReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Option FriendEnterHomeOption `protobuf:"varint,7,opt,name=option,proto3,enum=proto.FriendEnterHomeOption" json:"option,omitempty"`
+}
+
+func (x *SetFriendEnterHomeOptionReq) Reset() {
+ *x = SetFriendEnterHomeOptionReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetFriendEnterHomeOptionReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetFriendEnterHomeOptionReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetFriendEnterHomeOptionReq) ProtoMessage() {}
+
+func (x *SetFriendEnterHomeOptionReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetFriendEnterHomeOptionReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetFriendEnterHomeOptionReq.ProtoReflect.Descriptor instead.
+func (*SetFriendEnterHomeOptionReq) Descriptor() ([]byte, []int) {
+ return file_SetFriendEnterHomeOptionReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetFriendEnterHomeOptionReq) GetOption() FriendEnterHomeOption {
+ if x != nil {
+ return x.Option
+ }
+ return FriendEnterHomeOption_FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM
+}
+
+var File_SetFriendEnterHomeOptionReq_proto protoreflect.FileDescriptor
+
+var file_SetFriendEnterHomeOptionReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x34, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetFriendEnterHomeOptionReq_proto_rawDescOnce sync.Once
+ file_SetFriendEnterHomeOptionReq_proto_rawDescData = file_SetFriendEnterHomeOptionReq_proto_rawDesc
+)
+
+func file_SetFriendEnterHomeOptionReq_proto_rawDescGZIP() []byte {
+ file_SetFriendEnterHomeOptionReq_proto_rawDescOnce.Do(func() {
+ file_SetFriendEnterHomeOptionReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetFriendEnterHomeOptionReq_proto_rawDescData)
+ })
+ return file_SetFriendEnterHomeOptionReq_proto_rawDescData
+}
+
+var file_SetFriendEnterHomeOptionReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetFriendEnterHomeOptionReq_proto_goTypes = []interface{}{
+ (*SetFriendEnterHomeOptionReq)(nil), // 0: proto.SetFriendEnterHomeOptionReq
+ (FriendEnterHomeOption)(0), // 1: proto.FriendEnterHomeOption
+}
+var file_SetFriendEnterHomeOptionReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SetFriendEnterHomeOptionReq.option:type_name -> proto.FriendEnterHomeOption
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetFriendEnterHomeOptionReq_proto_init() }
+func file_SetFriendEnterHomeOptionReq_proto_init() {
+ if File_SetFriendEnterHomeOptionReq_proto != nil {
+ return
+ }
+ file_FriendEnterHomeOption_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetFriendEnterHomeOptionReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetFriendEnterHomeOptionReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetFriendEnterHomeOptionReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetFriendEnterHomeOptionReq_proto_goTypes,
+ DependencyIndexes: file_SetFriendEnterHomeOptionReq_proto_depIdxs,
+ MessageInfos: file_SetFriendEnterHomeOptionReq_proto_msgTypes,
+ }.Build()
+ File_SetFriendEnterHomeOptionReq_proto = out.File
+ file_SetFriendEnterHomeOptionReq_proto_rawDesc = nil
+ file_SetFriendEnterHomeOptionReq_proto_goTypes = nil
+ file_SetFriendEnterHomeOptionReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetFriendEnterHomeOptionRsp.pb.go b/protocol/proto/SetFriendEnterHomeOptionRsp.pb.go
new file mode 100644
index 00000000..f18a978a
--- /dev/null
+++ b/protocol/proto/SetFriendEnterHomeOptionRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetFriendEnterHomeOptionRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4743
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetFriendEnterHomeOptionRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetFriendEnterHomeOptionRsp) Reset() {
+ *x = SetFriendEnterHomeOptionRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetFriendEnterHomeOptionRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetFriendEnterHomeOptionRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetFriendEnterHomeOptionRsp) ProtoMessage() {}
+
+func (x *SetFriendEnterHomeOptionRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetFriendEnterHomeOptionRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetFriendEnterHomeOptionRsp.ProtoReflect.Descriptor instead.
+func (*SetFriendEnterHomeOptionRsp) Descriptor() ([]byte, []int) {
+ return file_SetFriendEnterHomeOptionRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetFriendEnterHomeOptionRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetFriendEnterHomeOptionRsp_proto protoreflect.FileDescriptor
+
+var file_SetFriendEnterHomeOptionRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x1b, 0x53, 0x65,
+ 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65,
+ 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetFriendEnterHomeOptionRsp_proto_rawDescOnce sync.Once
+ file_SetFriendEnterHomeOptionRsp_proto_rawDescData = file_SetFriendEnterHomeOptionRsp_proto_rawDesc
+)
+
+func file_SetFriendEnterHomeOptionRsp_proto_rawDescGZIP() []byte {
+ file_SetFriendEnterHomeOptionRsp_proto_rawDescOnce.Do(func() {
+ file_SetFriendEnterHomeOptionRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetFriendEnterHomeOptionRsp_proto_rawDescData)
+ })
+ return file_SetFriendEnterHomeOptionRsp_proto_rawDescData
+}
+
+var file_SetFriendEnterHomeOptionRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetFriendEnterHomeOptionRsp_proto_goTypes = []interface{}{
+ (*SetFriendEnterHomeOptionRsp)(nil), // 0: proto.SetFriendEnterHomeOptionRsp
+}
+var file_SetFriendEnterHomeOptionRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetFriendEnterHomeOptionRsp_proto_init() }
+func file_SetFriendEnterHomeOptionRsp_proto_init() {
+ if File_SetFriendEnterHomeOptionRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetFriendEnterHomeOptionRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetFriendEnterHomeOptionRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetFriendEnterHomeOptionRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetFriendEnterHomeOptionRsp_proto_goTypes,
+ DependencyIndexes: file_SetFriendEnterHomeOptionRsp_proto_depIdxs,
+ MessageInfos: file_SetFriendEnterHomeOptionRsp_proto_msgTypes,
+ }.Build()
+ File_SetFriendEnterHomeOptionRsp_proto = out.File
+ file_SetFriendEnterHomeOptionRsp_proto_rawDesc = nil
+ file_SetFriendEnterHomeOptionRsp_proto_goTypes = nil
+ file_SetFriendEnterHomeOptionRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetFriendRemarkNameReq.pb.go b/protocol/proto/SetFriendRemarkNameReq.pb.go
new file mode 100644
index 00000000..ee8473f8
--- /dev/null
+++ b/protocol/proto/SetFriendRemarkNameReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetFriendRemarkNameReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4042
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetFriendRemarkNameReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,10,opt,name=uid,proto3" json:"uid,omitempty"`
+ RemarkName string `protobuf:"bytes,8,opt,name=remark_name,json=remarkName,proto3" json:"remark_name,omitempty"`
+}
+
+func (x *SetFriendRemarkNameReq) Reset() {
+ *x = SetFriendRemarkNameReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetFriendRemarkNameReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetFriendRemarkNameReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetFriendRemarkNameReq) ProtoMessage() {}
+
+func (x *SetFriendRemarkNameReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetFriendRemarkNameReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetFriendRemarkNameReq.ProtoReflect.Descriptor instead.
+func (*SetFriendRemarkNameReq) Descriptor() ([]byte, []int) {
+ return file_SetFriendRemarkNameReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetFriendRemarkNameReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *SetFriendRemarkNameReq) GetRemarkName() string {
+ if x != nil {
+ return x.RemarkName
+ }
+ return ""
+}
+
+var File_SetFriendRemarkNameReq_proto protoreflect.FileDescriptor
+
+var file_SetFriendRemarkNameReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x6d, 0x61, 0x72,
+ 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
+ 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61,
+ 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetFriendRemarkNameReq_proto_rawDescOnce sync.Once
+ file_SetFriendRemarkNameReq_proto_rawDescData = file_SetFriendRemarkNameReq_proto_rawDesc
+)
+
+func file_SetFriendRemarkNameReq_proto_rawDescGZIP() []byte {
+ file_SetFriendRemarkNameReq_proto_rawDescOnce.Do(func() {
+ file_SetFriendRemarkNameReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetFriendRemarkNameReq_proto_rawDescData)
+ })
+ return file_SetFriendRemarkNameReq_proto_rawDescData
+}
+
+var file_SetFriendRemarkNameReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetFriendRemarkNameReq_proto_goTypes = []interface{}{
+ (*SetFriendRemarkNameReq)(nil), // 0: proto.SetFriendRemarkNameReq
+}
+var file_SetFriendRemarkNameReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetFriendRemarkNameReq_proto_init() }
+func file_SetFriendRemarkNameReq_proto_init() {
+ if File_SetFriendRemarkNameReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetFriendRemarkNameReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetFriendRemarkNameReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetFriendRemarkNameReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetFriendRemarkNameReq_proto_goTypes,
+ DependencyIndexes: file_SetFriendRemarkNameReq_proto_depIdxs,
+ MessageInfos: file_SetFriendRemarkNameReq_proto_msgTypes,
+ }.Build()
+ File_SetFriendRemarkNameReq_proto = out.File
+ file_SetFriendRemarkNameReq_proto_rawDesc = nil
+ file_SetFriendRemarkNameReq_proto_goTypes = nil
+ file_SetFriendRemarkNameReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetFriendRemarkNameRsp.pb.go b/protocol/proto/SetFriendRemarkNameRsp.pb.go
new file mode 100644
index 00000000..f859afb0
--- /dev/null
+++ b/protocol/proto/SetFriendRemarkNameRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetFriendRemarkNameRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4030
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetFriendRemarkNameRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RemarkName string `protobuf:"bytes,13,opt,name=remark_name,json=remarkName,proto3" json:"remark_name,omitempty"`
+ IsClearRemark bool `protobuf:"varint,3,opt,name=is_clear_remark,json=isClearRemark,proto3" json:"is_clear_remark,omitempty"`
+ Uid uint32 `protobuf:"varint,10,opt,name=uid,proto3" json:"uid,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetFriendRemarkNameRsp) Reset() {
+ *x = SetFriendRemarkNameRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetFriendRemarkNameRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetFriendRemarkNameRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetFriendRemarkNameRsp) ProtoMessage() {}
+
+func (x *SetFriendRemarkNameRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetFriendRemarkNameRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetFriendRemarkNameRsp.ProtoReflect.Descriptor instead.
+func (*SetFriendRemarkNameRsp) Descriptor() ([]byte, []int) {
+ return file_SetFriendRemarkNameRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetFriendRemarkNameRsp) GetRemarkName() string {
+ if x != nil {
+ return x.RemarkName
+ }
+ return ""
+}
+
+func (x *SetFriendRemarkNameRsp) GetIsClearRemark() bool {
+ if x != nil {
+ return x.IsClearRemark
+ }
+ return false
+}
+
+func (x *SetFriendRemarkNameRsp) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *SetFriendRemarkNameRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetFriendRemarkNameRsp_proto protoreflect.FileDescriptor
+
+var file_SetFriendRemarkNameRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x6d, 0x61, 0x72,
+ 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x73, 0x70,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d,
+ 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x65,
+ 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x6c,
+ 0x65, 0x61, 0x72, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetFriendRemarkNameRsp_proto_rawDescOnce sync.Once
+ file_SetFriendRemarkNameRsp_proto_rawDescData = file_SetFriendRemarkNameRsp_proto_rawDesc
+)
+
+func file_SetFriendRemarkNameRsp_proto_rawDescGZIP() []byte {
+ file_SetFriendRemarkNameRsp_proto_rawDescOnce.Do(func() {
+ file_SetFriendRemarkNameRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetFriendRemarkNameRsp_proto_rawDescData)
+ })
+ return file_SetFriendRemarkNameRsp_proto_rawDescData
+}
+
+var file_SetFriendRemarkNameRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetFriendRemarkNameRsp_proto_goTypes = []interface{}{
+ (*SetFriendRemarkNameRsp)(nil), // 0: proto.SetFriendRemarkNameRsp
+}
+var file_SetFriendRemarkNameRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetFriendRemarkNameRsp_proto_init() }
+func file_SetFriendRemarkNameRsp_proto_init() {
+ if File_SetFriendRemarkNameRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetFriendRemarkNameRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetFriendRemarkNameRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetFriendRemarkNameRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetFriendRemarkNameRsp_proto_goTypes,
+ DependencyIndexes: file_SetFriendRemarkNameRsp_proto_depIdxs,
+ MessageInfos: file_SetFriendRemarkNameRsp_proto_msgTypes,
+ }.Build()
+ File_SetFriendRemarkNameRsp_proto = out.File
+ file_SetFriendRemarkNameRsp_proto_rawDesc = nil
+ file_SetFriendRemarkNameRsp_proto_goTypes = nil
+ file_SetFriendRemarkNameRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetH5ActivityRedDotTimestampReq.pb.go b/protocol/proto/SetH5ActivityRedDotTimestampReq.pb.go
new file mode 100644
index 00000000..4dc6700a
--- /dev/null
+++ b/protocol/proto/SetH5ActivityRedDotTimestampReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetH5ActivityRedDotTimestampReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5657
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetH5ActivityRedDotTimestampReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ClientRedDotTimestamp uint32 `protobuf:"varint,13,opt,name=client_red_dot_timestamp,json=clientRedDotTimestamp,proto3" json:"client_red_dot_timestamp,omitempty"`
+}
+
+func (x *SetH5ActivityRedDotTimestampReq) Reset() {
+ *x = SetH5ActivityRedDotTimestampReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetH5ActivityRedDotTimestampReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetH5ActivityRedDotTimestampReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetH5ActivityRedDotTimestampReq) ProtoMessage() {}
+
+func (x *SetH5ActivityRedDotTimestampReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetH5ActivityRedDotTimestampReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetH5ActivityRedDotTimestampReq.ProtoReflect.Descriptor instead.
+func (*SetH5ActivityRedDotTimestampReq) Descriptor() ([]byte, []int) {
+ return file_SetH5ActivityRedDotTimestampReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetH5ActivityRedDotTimestampReq) GetClientRedDotTimestamp() uint32 {
+ if x != nil {
+ return x.ClientRedDotTimestamp
+ }
+ return 0
+}
+
+var File_SetH5ActivityRedDotTimestampReq_proto protoreflect.FileDescriptor
+
+var file_SetH5ActivityRedDotTimestampReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x65, 0x74, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x64, 0x44, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a,
+ 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x64, 0x44, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x65,
+ 0x71, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x5f,
+ 0x64, 0x6f, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x64, 0x44, 0x6f,
+ 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetH5ActivityRedDotTimestampReq_proto_rawDescOnce sync.Once
+ file_SetH5ActivityRedDotTimestampReq_proto_rawDescData = file_SetH5ActivityRedDotTimestampReq_proto_rawDesc
+)
+
+func file_SetH5ActivityRedDotTimestampReq_proto_rawDescGZIP() []byte {
+ file_SetH5ActivityRedDotTimestampReq_proto_rawDescOnce.Do(func() {
+ file_SetH5ActivityRedDotTimestampReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetH5ActivityRedDotTimestampReq_proto_rawDescData)
+ })
+ return file_SetH5ActivityRedDotTimestampReq_proto_rawDescData
+}
+
+var file_SetH5ActivityRedDotTimestampReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetH5ActivityRedDotTimestampReq_proto_goTypes = []interface{}{
+ (*SetH5ActivityRedDotTimestampReq)(nil), // 0: proto.SetH5ActivityRedDotTimestampReq
+}
+var file_SetH5ActivityRedDotTimestampReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetH5ActivityRedDotTimestampReq_proto_init() }
+func file_SetH5ActivityRedDotTimestampReq_proto_init() {
+ if File_SetH5ActivityRedDotTimestampReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetH5ActivityRedDotTimestampReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetH5ActivityRedDotTimestampReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetH5ActivityRedDotTimestampReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetH5ActivityRedDotTimestampReq_proto_goTypes,
+ DependencyIndexes: file_SetH5ActivityRedDotTimestampReq_proto_depIdxs,
+ MessageInfos: file_SetH5ActivityRedDotTimestampReq_proto_msgTypes,
+ }.Build()
+ File_SetH5ActivityRedDotTimestampReq_proto = out.File
+ file_SetH5ActivityRedDotTimestampReq_proto_rawDesc = nil
+ file_SetH5ActivityRedDotTimestampReq_proto_goTypes = nil
+ file_SetH5ActivityRedDotTimestampReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetH5ActivityRedDotTimestampRsp.pb.go b/protocol/proto/SetH5ActivityRedDotTimestampRsp.pb.go
new file mode 100644
index 00000000..e9e065ff
--- /dev/null
+++ b/protocol/proto/SetH5ActivityRedDotTimestampRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetH5ActivityRedDotTimestampRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5652
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetH5ActivityRedDotTimestampRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetH5ActivityRedDotTimestampRsp) Reset() {
+ *x = SetH5ActivityRedDotTimestampRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetH5ActivityRedDotTimestampRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetH5ActivityRedDotTimestampRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetH5ActivityRedDotTimestampRsp) ProtoMessage() {}
+
+func (x *SetH5ActivityRedDotTimestampRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetH5ActivityRedDotTimestampRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetH5ActivityRedDotTimestampRsp.ProtoReflect.Descriptor instead.
+func (*SetH5ActivityRedDotTimestampRsp) Descriptor() ([]byte, []int) {
+ return file_SetH5ActivityRedDotTimestampRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetH5ActivityRedDotTimestampRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetH5ActivityRedDotTimestampRsp_proto protoreflect.FileDescriptor
+
+var file_SetH5ActivityRedDotTimestampRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x65, 0x74, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x64, 0x44, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x48, 0x35, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x64, 0x44, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetH5ActivityRedDotTimestampRsp_proto_rawDescOnce sync.Once
+ file_SetH5ActivityRedDotTimestampRsp_proto_rawDescData = file_SetH5ActivityRedDotTimestampRsp_proto_rawDesc
+)
+
+func file_SetH5ActivityRedDotTimestampRsp_proto_rawDescGZIP() []byte {
+ file_SetH5ActivityRedDotTimestampRsp_proto_rawDescOnce.Do(func() {
+ file_SetH5ActivityRedDotTimestampRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetH5ActivityRedDotTimestampRsp_proto_rawDescData)
+ })
+ return file_SetH5ActivityRedDotTimestampRsp_proto_rawDescData
+}
+
+var file_SetH5ActivityRedDotTimestampRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetH5ActivityRedDotTimestampRsp_proto_goTypes = []interface{}{
+ (*SetH5ActivityRedDotTimestampRsp)(nil), // 0: proto.SetH5ActivityRedDotTimestampRsp
+}
+var file_SetH5ActivityRedDotTimestampRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetH5ActivityRedDotTimestampRsp_proto_init() }
+func file_SetH5ActivityRedDotTimestampRsp_proto_init() {
+ if File_SetH5ActivityRedDotTimestampRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetH5ActivityRedDotTimestampRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetH5ActivityRedDotTimestampRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetH5ActivityRedDotTimestampRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetH5ActivityRedDotTimestampRsp_proto_goTypes,
+ DependencyIndexes: file_SetH5ActivityRedDotTimestampRsp_proto_depIdxs,
+ MessageInfos: file_SetH5ActivityRedDotTimestampRsp_proto_msgTypes,
+ }.Build()
+ File_SetH5ActivityRedDotTimestampRsp_proto = out.File
+ file_SetH5ActivityRedDotTimestampRsp_proto_rawDesc = nil
+ file_SetH5ActivityRedDotTimestampRsp_proto_goTypes = nil
+ file_SetH5ActivityRedDotTimestampRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetIsAutoUnlockSpecificEquipReq.pb.go b/protocol/proto/SetIsAutoUnlockSpecificEquipReq.pb.go
new file mode 100644
index 00000000..948c414a
--- /dev/null
+++ b/protocol/proto/SetIsAutoUnlockSpecificEquipReq.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetIsAutoUnlockSpecificEquipReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 620
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetIsAutoUnlockSpecificEquipReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAutoUnlockSpecificEquip bool `protobuf:"varint,14,opt,name=is_auto_unlock_specific_equip,json=isAutoUnlockSpecificEquip,proto3" json:"is_auto_unlock_specific_equip,omitempty"`
+}
+
+func (x *SetIsAutoUnlockSpecificEquipReq) Reset() {
+ *x = SetIsAutoUnlockSpecificEquipReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetIsAutoUnlockSpecificEquipReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetIsAutoUnlockSpecificEquipReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetIsAutoUnlockSpecificEquipReq) ProtoMessage() {}
+
+func (x *SetIsAutoUnlockSpecificEquipReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetIsAutoUnlockSpecificEquipReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetIsAutoUnlockSpecificEquipReq.ProtoReflect.Descriptor instead.
+func (*SetIsAutoUnlockSpecificEquipReq) Descriptor() ([]byte, []int) {
+ return file_SetIsAutoUnlockSpecificEquipReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetIsAutoUnlockSpecificEquipReq) GetIsAutoUnlockSpecificEquip() bool {
+ if x != nil {
+ return x.IsAutoUnlockSpecificEquip
+ }
+ return false
+}
+
+var File_SetIsAutoUnlockSpecificEquipReq_proto protoreflect.FileDescriptor
+
+var file_SetIsAutoUnlockSpecificEquipReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x65, 0x74, 0x49, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63,
+ 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x49, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65,
+ 0x71, 0x12, 0x40, 0x0a, 0x1d, 0x69, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x75, 0x6e, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x65, 0x71, 0x75,
+ 0x69, 0x70, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x73, 0x41, 0x75, 0x74, 0x6f,
+ 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x71,
+ 0x75, 0x69, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetIsAutoUnlockSpecificEquipReq_proto_rawDescOnce sync.Once
+ file_SetIsAutoUnlockSpecificEquipReq_proto_rawDescData = file_SetIsAutoUnlockSpecificEquipReq_proto_rawDesc
+)
+
+func file_SetIsAutoUnlockSpecificEquipReq_proto_rawDescGZIP() []byte {
+ file_SetIsAutoUnlockSpecificEquipReq_proto_rawDescOnce.Do(func() {
+ file_SetIsAutoUnlockSpecificEquipReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetIsAutoUnlockSpecificEquipReq_proto_rawDescData)
+ })
+ return file_SetIsAutoUnlockSpecificEquipReq_proto_rawDescData
+}
+
+var file_SetIsAutoUnlockSpecificEquipReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetIsAutoUnlockSpecificEquipReq_proto_goTypes = []interface{}{
+ (*SetIsAutoUnlockSpecificEquipReq)(nil), // 0: proto.SetIsAutoUnlockSpecificEquipReq
+}
+var file_SetIsAutoUnlockSpecificEquipReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetIsAutoUnlockSpecificEquipReq_proto_init() }
+func file_SetIsAutoUnlockSpecificEquipReq_proto_init() {
+ if File_SetIsAutoUnlockSpecificEquipReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetIsAutoUnlockSpecificEquipReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetIsAutoUnlockSpecificEquipReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetIsAutoUnlockSpecificEquipReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetIsAutoUnlockSpecificEquipReq_proto_goTypes,
+ DependencyIndexes: file_SetIsAutoUnlockSpecificEquipReq_proto_depIdxs,
+ MessageInfos: file_SetIsAutoUnlockSpecificEquipReq_proto_msgTypes,
+ }.Build()
+ File_SetIsAutoUnlockSpecificEquipReq_proto = out.File
+ file_SetIsAutoUnlockSpecificEquipReq_proto_rawDesc = nil
+ file_SetIsAutoUnlockSpecificEquipReq_proto_goTypes = nil
+ file_SetIsAutoUnlockSpecificEquipReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetIsAutoUnlockSpecificEquipRsp.pb.go b/protocol/proto/SetIsAutoUnlockSpecificEquipRsp.pb.go
new file mode 100644
index 00000000..db460835
--- /dev/null
+++ b/protocol/proto/SetIsAutoUnlockSpecificEquipRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetIsAutoUnlockSpecificEquipRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 664
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetIsAutoUnlockSpecificEquipRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetIsAutoUnlockSpecificEquipRsp) Reset() {
+ *x = SetIsAutoUnlockSpecificEquipRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetIsAutoUnlockSpecificEquipRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetIsAutoUnlockSpecificEquipRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetIsAutoUnlockSpecificEquipRsp) ProtoMessage() {}
+
+func (x *SetIsAutoUnlockSpecificEquipRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetIsAutoUnlockSpecificEquipRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetIsAutoUnlockSpecificEquipRsp.ProtoReflect.Descriptor instead.
+func (*SetIsAutoUnlockSpecificEquipRsp) Descriptor() ([]byte, []int) {
+ return file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetIsAutoUnlockSpecificEquipRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetIsAutoUnlockSpecificEquipRsp_proto protoreflect.FileDescriptor
+
+var file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x65, 0x74, 0x49, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b,
+ 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x49, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x6e, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDescOnce sync.Once
+ file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDescData = file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDesc
+)
+
+func file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDescGZIP() []byte {
+ file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDescOnce.Do(func() {
+ file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDescData)
+ })
+ return file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDescData
+}
+
+var file_SetIsAutoUnlockSpecificEquipRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetIsAutoUnlockSpecificEquipRsp_proto_goTypes = []interface{}{
+ (*SetIsAutoUnlockSpecificEquipRsp)(nil), // 0: proto.SetIsAutoUnlockSpecificEquipRsp
+}
+var file_SetIsAutoUnlockSpecificEquipRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetIsAutoUnlockSpecificEquipRsp_proto_init() }
+func file_SetIsAutoUnlockSpecificEquipRsp_proto_init() {
+ if File_SetIsAutoUnlockSpecificEquipRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetIsAutoUnlockSpecificEquipRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetIsAutoUnlockSpecificEquipRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetIsAutoUnlockSpecificEquipRsp_proto_goTypes,
+ DependencyIndexes: file_SetIsAutoUnlockSpecificEquipRsp_proto_depIdxs,
+ MessageInfos: file_SetIsAutoUnlockSpecificEquipRsp_proto_msgTypes,
+ }.Build()
+ File_SetIsAutoUnlockSpecificEquipRsp_proto = out.File
+ file_SetIsAutoUnlockSpecificEquipRsp_proto_rawDesc = nil
+ file_SetIsAutoUnlockSpecificEquipRsp_proto_goTypes = nil
+ file_SetIsAutoUnlockSpecificEquipRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetLimitOptimizationNotify.pb.go b/protocol/proto/SetLimitOptimizationNotify.pb.go
new file mode 100644
index 00000000..b0c70332
--- /dev/null
+++ b/protocol/proto/SetLimitOptimizationNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetLimitOptimizationNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8851
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetLimitOptimizationNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsActive bool `protobuf:"varint,3,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
+}
+
+func (x *SetLimitOptimizationNotify) Reset() {
+ *x = SetLimitOptimizationNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetLimitOptimizationNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetLimitOptimizationNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetLimitOptimizationNotify) ProtoMessage() {}
+
+func (x *SetLimitOptimizationNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SetLimitOptimizationNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetLimitOptimizationNotify.ProtoReflect.Descriptor instead.
+func (*SetLimitOptimizationNotify) Descriptor() ([]byte, []int) {
+ return file_SetLimitOptimizationNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetLimitOptimizationNotify) GetIsActive() bool {
+ if x != nil {
+ return x.IsActive
+ }
+ return false
+}
+
+var File_SetLimitOptimizationNotify_proto protoreflect.FileDescriptor
+
+var file_SetLimitOptimizationNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
+ 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1a, 0x53, 0x65, 0x74,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetLimitOptimizationNotify_proto_rawDescOnce sync.Once
+ file_SetLimitOptimizationNotify_proto_rawDescData = file_SetLimitOptimizationNotify_proto_rawDesc
+)
+
+func file_SetLimitOptimizationNotify_proto_rawDescGZIP() []byte {
+ file_SetLimitOptimizationNotify_proto_rawDescOnce.Do(func() {
+ file_SetLimitOptimizationNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetLimitOptimizationNotify_proto_rawDescData)
+ })
+ return file_SetLimitOptimizationNotify_proto_rawDescData
+}
+
+var file_SetLimitOptimizationNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetLimitOptimizationNotify_proto_goTypes = []interface{}{
+ (*SetLimitOptimizationNotify)(nil), // 0: proto.SetLimitOptimizationNotify
+}
+var file_SetLimitOptimizationNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetLimitOptimizationNotify_proto_init() }
+func file_SetLimitOptimizationNotify_proto_init() {
+ if File_SetLimitOptimizationNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetLimitOptimizationNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetLimitOptimizationNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetLimitOptimizationNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetLimitOptimizationNotify_proto_goTypes,
+ DependencyIndexes: file_SetLimitOptimizationNotify_proto_depIdxs,
+ MessageInfos: file_SetLimitOptimizationNotify_proto_msgTypes,
+ }.Build()
+ File_SetLimitOptimizationNotify_proto = out.File
+ file_SetLimitOptimizationNotify_proto_rawDesc = nil
+ file_SetLimitOptimizationNotify_proto_goTypes = nil
+ file_SetLimitOptimizationNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetNameCardReq.pb.go b/protocol/proto/SetNameCardReq.pb.go
new file mode 100644
index 00000000..91db6599
--- /dev/null
+++ b/protocol/proto/SetNameCardReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetNameCardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4004
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetNameCardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NameCardId uint32 `protobuf:"varint,10,opt,name=name_card_id,json=nameCardId,proto3" json:"name_card_id,omitempty"`
+}
+
+func (x *SetNameCardReq) Reset() {
+ *x = SetNameCardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetNameCardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetNameCardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetNameCardReq) ProtoMessage() {}
+
+func (x *SetNameCardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetNameCardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetNameCardReq.ProtoReflect.Descriptor instead.
+func (*SetNameCardReq) Descriptor() ([]byte, []int) {
+ return file_SetNameCardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetNameCardReq) GetNameCardId() uint32 {
+ if x != nil {
+ return x.NameCardId
+ }
+ return 0
+}
+
+var File_SetNameCardReq_proto protoreflect.FileDescriptor
+
+var file_SetNameCardReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a,
+ 0x0e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12,
+ 0x20, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetNameCardReq_proto_rawDescOnce sync.Once
+ file_SetNameCardReq_proto_rawDescData = file_SetNameCardReq_proto_rawDesc
+)
+
+func file_SetNameCardReq_proto_rawDescGZIP() []byte {
+ file_SetNameCardReq_proto_rawDescOnce.Do(func() {
+ file_SetNameCardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetNameCardReq_proto_rawDescData)
+ })
+ return file_SetNameCardReq_proto_rawDescData
+}
+
+var file_SetNameCardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetNameCardReq_proto_goTypes = []interface{}{
+ (*SetNameCardReq)(nil), // 0: proto.SetNameCardReq
+}
+var file_SetNameCardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetNameCardReq_proto_init() }
+func file_SetNameCardReq_proto_init() {
+ if File_SetNameCardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetNameCardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetNameCardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetNameCardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetNameCardReq_proto_goTypes,
+ DependencyIndexes: file_SetNameCardReq_proto_depIdxs,
+ MessageInfos: file_SetNameCardReq_proto_msgTypes,
+ }.Build()
+ File_SetNameCardReq_proto = out.File
+ file_SetNameCardReq_proto_rawDesc = nil
+ file_SetNameCardReq_proto_goTypes = nil
+ file_SetNameCardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetNameCardRsp.pb.go b/protocol/proto/SetNameCardRsp.pb.go
new file mode 100644
index 00000000..2341db1e
--- /dev/null
+++ b/protocol/proto/SetNameCardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetNameCardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4093
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetNameCardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NameCardId uint32 `protobuf:"varint,11,opt,name=name_card_id,json=nameCardId,proto3" json:"name_card_id,omitempty"`
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetNameCardRsp) Reset() {
+ *x = SetNameCardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetNameCardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetNameCardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetNameCardRsp) ProtoMessage() {}
+
+func (x *SetNameCardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetNameCardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetNameCardRsp.ProtoReflect.Descriptor instead.
+func (*SetNameCardRsp) Descriptor() ([]byte, []int) {
+ return file_SetNameCardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetNameCardRsp) GetNameCardId() uint32 {
+ if x != nil {
+ return x.NameCardId
+ }
+ return 0
+}
+
+func (x *SetNameCardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetNameCardRsp_proto protoreflect.FileDescriptor
+
+var file_SetNameCardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a,
+ 0x0e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x20, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetNameCardRsp_proto_rawDescOnce sync.Once
+ file_SetNameCardRsp_proto_rawDescData = file_SetNameCardRsp_proto_rawDesc
+)
+
+func file_SetNameCardRsp_proto_rawDescGZIP() []byte {
+ file_SetNameCardRsp_proto_rawDescOnce.Do(func() {
+ file_SetNameCardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetNameCardRsp_proto_rawDescData)
+ })
+ return file_SetNameCardRsp_proto_rawDescData
+}
+
+var file_SetNameCardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetNameCardRsp_proto_goTypes = []interface{}{
+ (*SetNameCardRsp)(nil), // 0: proto.SetNameCardRsp
+}
+var file_SetNameCardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetNameCardRsp_proto_init() }
+func file_SetNameCardRsp_proto_init() {
+ if File_SetNameCardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetNameCardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetNameCardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetNameCardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetNameCardRsp_proto_goTypes,
+ DependencyIndexes: file_SetNameCardRsp_proto_depIdxs,
+ MessageInfos: file_SetNameCardRsp_proto_msgTypes,
+ }.Build()
+ File_SetNameCardRsp_proto = out.File
+ file_SetNameCardRsp_proto_rawDesc = nil
+ file_SetNameCardRsp_proto_goTypes = nil
+ file_SetNameCardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetOpenStateReq.pb.go b/protocol/proto/SetOpenStateReq.pb.go
new file mode 100644
index 00000000..8c045680
--- /dev/null
+++ b/protocol/proto/SetOpenStateReq.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetOpenStateReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 165
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetOpenStateReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Key uint32 `protobuf:"varint,12,opt,name=key,proto3" json:"key,omitempty"`
+ Value uint32 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *SetOpenStateReq) Reset() {
+ *x = SetOpenStateReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetOpenStateReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetOpenStateReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetOpenStateReq) ProtoMessage() {}
+
+func (x *SetOpenStateReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetOpenStateReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetOpenStateReq.ProtoReflect.Descriptor instead.
+func (*SetOpenStateReq) Descriptor() ([]byte, []int) {
+ return file_SetOpenStateReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetOpenStateReq) GetKey() uint32 {
+ if x != nil {
+ return x.Key
+ }
+ return 0
+}
+
+func (x *SetOpenStateReq) GetValue() uint32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+var File_SetOpenStateReq_proto protoreflect.FileDescriptor
+
+var file_SetOpenStateReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39,
+ 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetOpenStateReq_proto_rawDescOnce sync.Once
+ file_SetOpenStateReq_proto_rawDescData = file_SetOpenStateReq_proto_rawDesc
+)
+
+func file_SetOpenStateReq_proto_rawDescGZIP() []byte {
+ file_SetOpenStateReq_proto_rawDescOnce.Do(func() {
+ file_SetOpenStateReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetOpenStateReq_proto_rawDescData)
+ })
+ return file_SetOpenStateReq_proto_rawDescData
+}
+
+var file_SetOpenStateReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetOpenStateReq_proto_goTypes = []interface{}{
+ (*SetOpenStateReq)(nil), // 0: proto.SetOpenStateReq
+}
+var file_SetOpenStateReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetOpenStateReq_proto_init() }
+func file_SetOpenStateReq_proto_init() {
+ if File_SetOpenStateReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetOpenStateReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetOpenStateReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetOpenStateReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetOpenStateReq_proto_goTypes,
+ DependencyIndexes: file_SetOpenStateReq_proto_depIdxs,
+ MessageInfos: file_SetOpenStateReq_proto_msgTypes,
+ }.Build()
+ File_SetOpenStateReq_proto = out.File
+ file_SetOpenStateReq_proto_rawDesc = nil
+ file_SetOpenStateReq_proto_goTypes = nil
+ file_SetOpenStateReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetOpenStateRsp.pb.go b/protocol/proto/SetOpenStateRsp.pb.go
new file mode 100644
index 00000000..35c1853c
--- /dev/null
+++ b/protocol/proto/SetOpenStateRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetOpenStateRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 104
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetOpenStateRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Key uint32 `protobuf:"varint,9,opt,name=key,proto3" json:"key,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Value uint32 `protobuf:"varint,15,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *SetOpenStateRsp) Reset() {
+ *x = SetOpenStateRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetOpenStateRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetOpenStateRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetOpenStateRsp) ProtoMessage() {}
+
+func (x *SetOpenStateRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetOpenStateRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetOpenStateRsp.ProtoReflect.Descriptor instead.
+func (*SetOpenStateRsp) Descriptor() ([]byte, []int) {
+ return file_SetOpenStateRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetOpenStateRsp) GetKey() uint32 {
+ if x != nil {
+ return x.Key
+ }
+ return 0
+}
+
+func (x *SetOpenStateRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SetOpenStateRsp) GetValue() uint32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+var File_SetOpenStateRsp_proto protoreflect.FileDescriptor
+
+var file_SetOpenStateRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53,
+ 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetOpenStateRsp_proto_rawDescOnce sync.Once
+ file_SetOpenStateRsp_proto_rawDescData = file_SetOpenStateRsp_proto_rawDesc
+)
+
+func file_SetOpenStateRsp_proto_rawDescGZIP() []byte {
+ file_SetOpenStateRsp_proto_rawDescOnce.Do(func() {
+ file_SetOpenStateRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetOpenStateRsp_proto_rawDescData)
+ })
+ return file_SetOpenStateRsp_proto_rawDescData
+}
+
+var file_SetOpenStateRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetOpenStateRsp_proto_goTypes = []interface{}{
+ (*SetOpenStateRsp)(nil), // 0: proto.SetOpenStateRsp
+}
+var file_SetOpenStateRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetOpenStateRsp_proto_init() }
+func file_SetOpenStateRsp_proto_init() {
+ if File_SetOpenStateRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetOpenStateRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetOpenStateRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetOpenStateRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetOpenStateRsp_proto_goTypes,
+ DependencyIndexes: file_SetOpenStateRsp_proto_depIdxs,
+ MessageInfos: file_SetOpenStateRsp_proto_msgTypes,
+ }.Build()
+ File_SetOpenStateRsp_proto = out.File
+ file_SetOpenStateRsp_proto_rawDesc = nil
+ file_SetOpenStateRsp_proto_goTypes = nil
+ file_SetOpenStateRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerBirthdayReq.pb.go b/protocol/proto/SetPlayerBirthdayReq.pb.go
new file mode 100644
index 00000000..ba95dd02
--- /dev/null
+++ b/protocol/proto/SetPlayerBirthdayReq.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerBirthdayReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4048
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetPlayerBirthdayReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Birthday *Birthday `protobuf:"bytes,9,opt,name=birthday,proto3" json:"birthday,omitempty"`
+}
+
+func (x *SetPlayerBirthdayReq) Reset() {
+ *x = SetPlayerBirthdayReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerBirthdayReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerBirthdayReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerBirthdayReq) ProtoMessage() {}
+
+func (x *SetPlayerBirthdayReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerBirthdayReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerBirthdayReq.ProtoReflect.Descriptor instead.
+func (*SetPlayerBirthdayReq) Descriptor() ([]byte, []int) {
+ return file_SetPlayerBirthdayReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerBirthdayReq) GetBirthday() *Birthday {
+ if x != nil {
+ return x.Birthday
+ }
+ return nil
+}
+
+var File_SetPlayerBirthdayReq_proto protoreflect.FileDescriptor
+
+var file_SetPlayerBirthdayReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x69, 0x72, 0x74, 0x68,
+ 0x64, 0x61, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x2b, 0x0a, 0x08, 0x62,
+ 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x52, 0x08,
+ 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerBirthdayReq_proto_rawDescOnce sync.Once
+ file_SetPlayerBirthdayReq_proto_rawDescData = file_SetPlayerBirthdayReq_proto_rawDesc
+)
+
+func file_SetPlayerBirthdayReq_proto_rawDescGZIP() []byte {
+ file_SetPlayerBirthdayReq_proto_rawDescOnce.Do(func() {
+ file_SetPlayerBirthdayReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerBirthdayReq_proto_rawDescData)
+ })
+ return file_SetPlayerBirthdayReq_proto_rawDescData
+}
+
+var file_SetPlayerBirthdayReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerBirthdayReq_proto_goTypes = []interface{}{
+ (*SetPlayerBirthdayReq)(nil), // 0: proto.SetPlayerBirthdayReq
+ (*Birthday)(nil), // 1: proto.Birthday
+}
+var file_SetPlayerBirthdayReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SetPlayerBirthdayReq.birthday:type_name -> proto.Birthday
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerBirthdayReq_proto_init() }
+func file_SetPlayerBirthdayReq_proto_init() {
+ if File_SetPlayerBirthdayReq_proto != nil {
+ return
+ }
+ file_Birthday_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerBirthdayReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerBirthdayReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerBirthdayReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerBirthdayReq_proto_goTypes,
+ DependencyIndexes: file_SetPlayerBirthdayReq_proto_depIdxs,
+ MessageInfos: file_SetPlayerBirthdayReq_proto_msgTypes,
+ }.Build()
+ File_SetPlayerBirthdayReq_proto = out.File
+ file_SetPlayerBirthdayReq_proto_rawDesc = nil
+ file_SetPlayerBirthdayReq_proto_goTypes = nil
+ file_SetPlayerBirthdayReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerBirthdayRsp.pb.go b/protocol/proto/SetPlayerBirthdayRsp.pb.go
new file mode 100644
index 00000000..2c37f014
--- /dev/null
+++ b/protocol/proto/SetPlayerBirthdayRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerBirthdayRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4097
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetPlayerBirthdayRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Birthday *Birthday `protobuf:"bytes,2,opt,name=birthday,proto3" json:"birthday,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetPlayerBirthdayRsp) Reset() {
+ *x = SetPlayerBirthdayRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerBirthdayRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerBirthdayRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerBirthdayRsp) ProtoMessage() {}
+
+func (x *SetPlayerBirthdayRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerBirthdayRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerBirthdayRsp.ProtoReflect.Descriptor instead.
+func (*SetPlayerBirthdayRsp) Descriptor() ([]byte, []int) {
+ return file_SetPlayerBirthdayRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerBirthdayRsp) GetBirthday() *Birthday {
+ if x != nil {
+ return x.Birthday
+ }
+ return nil
+}
+
+func (x *SetPlayerBirthdayRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetPlayerBirthdayRsp_proto protoreflect.FileDescriptor
+
+var file_SetPlayerBirthdayRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x69, 0x72, 0x74, 0x68,
+ 0x64, 0x61, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x52, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x08, 0x62,
+ 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x52, 0x08,
+ 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerBirthdayRsp_proto_rawDescOnce sync.Once
+ file_SetPlayerBirthdayRsp_proto_rawDescData = file_SetPlayerBirthdayRsp_proto_rawDesc
+)
+
+func file_SetPlayerBirthdayRsp_proto_rawDescGZIP() []byte {
+ file_SetPlayerBirthdayRsp_proto_rawDescOnce.Do(func() {
+ file_SetPlayerBirthdayRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerBirthdayRsp_proto_rawDescData)
+ })
+ return file_SetPlayerBirthdayRsp_proto_rawDescData
+}
+
+var file_SetPlayerBirthdayRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerBirthdayRsp_proto_goTypes = []interface{}{
+ (*SetPlayerBirthdayRsp)(nil), // 0: proto.SetPlayerBirthdayRsp
+ (*Birthday)(nil), // 1: proto.Birthday
+}
+var file_SetPlayerBirthdayRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SetPlayerBirthdayRsp.birthday:type_name -> proto.Birthday
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerBirthdayRsp_proto_init() }
+func file_SetPlayerBirthdayRsp_proto_init() {
+ if File_SetPlayerBirthdayRsp_proto != nil {
+ return
+ }
+ file_Birthday_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerBirthdayRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerBirthdayRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerBirthdayRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerBirthdayRsp_proto_goTypes,
+ DependencyIndexes: file_SetPlayerBirthdayRsp_proto_depIdxs,
+ MessageInfos: file_SetPlayerBirthdayRsp_proto_msgTypes,
+ }.Build()
+ File_SetPlayerBirthdayRsp_proto = out.File
+ file_SetPlayerBirthdayRsp_proto_rawDesc = nil
+ file_SetPlayerBirthdayRsp_proto_goTypes = nil
+ file_SetPlayerBirthdayRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerBornDataReq.pb.go b/protocol/proto/SetPlayerBornDataReq.pb.go
new file mode 100644
index 00000000..9ea85867
--- /dev/null
+++ b/protocol/proto/SetPlayerBornDataReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerBornDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 105
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetPlayerBornDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,2,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ NickName string `protobuf:"bytes,13,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
+}
+
+func (x *SetPlayerBornDataReq) Reset() {
+ *x = SetPlayerBornDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerBornDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerBornDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerBornDataReq) ProtoMessage() {}
+
+func (x *SetPlayerBornDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerBornDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerBornDataReq.ProtoReflect.Descriptor instead.
+func (*SetPlayerBornDataReq) Descriptor() ([]byte, []int) {
+ return file_SetPlayerBornDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerBornDataReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *SetPlayerBornDataReq) GetNickName() string {
+ if x != nil {
+ return x.NickName
+ }
+ return ""
+}
+
+var File_SetPlayerBornDataReq_proto protoreflect.FileDescriptor
+
+var file_SetPlayerBornDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x6f, 0x72, 0x6e, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x42, 0x6f, 0x72, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b,
+ 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63,
+ 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerBornDataReq_proto_rawDescOnce sync.Once
+ file_SetPlayerBornDataReq_proto_rawDescData = file_SetPlayerBornDataReq_proto_rawDesc
+)
+
+func file_SetPlayerBornDataReq_proto_rawDescGZIP() []byte {
+ file_SetPlayerBornDataReq_proto_rawDescOnce.Do(func() {
+ file_SetPlayerBornDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerBornDataReq_proto_rawDescData)
+ })
+ return file_SetPlayerBornDataReq_proto_rawDescData
+}
+
+var file_SetPlayerBornDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerBornDataReq_proto_goTypes = []interface{}{
+ (*SetPlayerBornDataReq)(nil), // 0: proto.SetPlayerBornDataReq
+}
+var file_SetPlayerBornDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerBornDataReq_proto_init() }
+func file_SetPlayerBornDataReq_proto_init() {
+ if File_SetPlayerBornDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerBornDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerBornDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerBornDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerBornDataReq_proto_goTypes,
+ DependencyIndexes: file_SetPlayerBornDataReq_proto_depIdxs,
+ MessageInfos: file_SetPlayerBornDataReq_proto_msgTypes,
+ }.Build()
+ File_SetPlayerBornDataReq_proto = out.File
+ file_SetPlayerBornDataReq_proto_rawDesc = nil
+ file_SetPlayerBornDataReq_proto_goTypes = nil
+ file_SetPlayerBornDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerBornDataRsp.pb.go b/protocol/proto/SetPlayerBornDataRsp.pb.go
new file mode 100644
index 00000000..68d1926d
--- /dev/null
+++ b/protocol/proto/SetPlayerBornDataRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerBornDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 182
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetPlayerBornDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetPlayerBornDataRsp) Reset() {
+ *x = SetPlayerBornDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerBornDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerBornDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerBornDataRsp) ProtoMessage() {}
+
+func (x *SetPlayerBornDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerBornDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerBornDataRsp.ProtoReflect.Descriptor instead.
+func (*SetPlayerBornDataRsp) Descriptor() ([]byte, []int) {
+ return file_SetPlayerBornDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerBornDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetPlayerBornDataRsp_proto protoreflect.FileDescriptor
+
+var file_SetPlayerBornDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x6f, 0x72, 0x6e, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x42, 0x6f, 0x72, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerBornDataRsp_proto_rawDescOnce sync.Once
+ file_SetPlayerBornDataRsp_proto_rawDescData = file_SetPlayerBornDataRsp_proto_rawDesc
+)
+
+func file_SetPlayerBornDataRsp_proto_rawDescGZIP() []byte {
+ file_SetPlayerBornDataRsp_proto_rawDescOnce.Do(func() {
+ file_SetPlayerBornDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerBornDataRsp_proto_rawDescData)
+ })
+ return file_SetPlayerBornDataRsp_proto_rawDescData
+}
+
+var file_SetPlayerBornDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerBornDataRsp_proto_goTypes = []interface{}{
+ (*SetPlayerBornDataRsp)(nil), // 0: proto.SetPlayerBornDataRsp
+}
+var file_SetPlayerBornDataRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerBornDataRsp_proto_init() }
+func file_SetPlayerBornDataRsp_proto_init() {
+ if File_SetPlayerBornDataRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerBornDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerBornDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerBornDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerBornDataRsp_proto_goTypes,
+ DependencyIndexes: file_SetPlayerBornDataRsp_proto_depIdxs,
+ MessageInfos: file_SetPlayerBornDataRsp_proto_msgTypes,
+ }.Build()
+ File_SetPlayerBornDataRsp_proto = out.File
+ file_SetPlayerBornDataRsp_proto_rawDesc = nil
+ file_SetPlayerBornDataRsp_proto_goTypes = nil
+ file_SetPlayerBornDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerHeadImageReq.pb.go b/protocol/proto/SetPlayerHeadImageReq.pb.go
new file mode 100644
index 00000000..00bcb60d
--- /dev/null
+++ b/protocol/proto/SetPlayerHeadImageReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerHeadImageReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4082
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetPlayerHeadImageReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,7,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *SetPlayerHeadImageReq) Reset() {
+ *x = SetPlayerHeadImageReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerHeadImageReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerHeadImageReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerHeadImageReq) ProtoMessage() {}
+
+func (x *SetPlayerHeadImageReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerHeadImageReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerHeadImageReq.ProtoReflect.Descriptor instead.
+func (*SetPlayerHeadImageReq) Descriptor() ([]byte, []int) {
+ return file_SetPlayerHeadImageReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerHeadImageReq) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_SetPlayerHeadImageReq_proto protoreflect.FileDescriptor
+
+var file_SetPlayerHeadImageReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x49,
+ 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x48, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerHeadImageReq_proto_rawDescOnce sync.Once
+ file_SetPlayerHeadImageReq_proto_rawDescData = file_SetPlayerHeadImageReq_proto_rawDesc
+)
+
+func file_SetPlayerHeadImageReq_proto_rawDescGZIP() []byte {
+ file_SetPlayerHeadImageReq_proto_rawDescOnce.Do(func() {
+ file_SetPlayerHeadImageReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerHeadImageReq_proto_rawDescData)
+ })
+ return file_SetPlayerHeadImageReq_proto_rawDescData
+}
+
+var file_SetPlayerHeadImageReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerHeadImageReq_proto_goTypes = []interface{}{
+ (*SetPlayerHeadImageReq)(nil), // 0: proto.SetPlayerHeadImageReq
+}
+var file_SetPlayerHeadImageReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerHeadImageReq_proto_init() }
+func file_SetPlayerHeadImageReq_proto_init() {
+ if File_SetPlayerHeadImageReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerHeadImageReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerHeadImageReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerHeadImageReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerHeadImageReq_proto_goTypes,
+ DependencyIndexes: file_SetPlayerHeadImageReq_proto_depIdxs,
+ MessageInfos: file_SetPlayerHeadImageReq_proto_msgTypes,
+ }.Build()
+ File_SetPlayerHeadImageReq_proto = out.File
+ file_SetPlayerHeadImageReq_proto_rawDesc = nil
+ file_SetPlayerHeadImageReq_proto_goTypes = nil
+ file_SetPlayerHeadImageReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerHeadImageRsp.pb.go b/protocol/proto/SetPlayerHeadImageRsp.pb.go
new file mode 100644
index 00000000..e99ec8b8
--- /dev/null
+++ b/protocol/proto/SetPlayerHeadImageRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerHeadImageRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4047
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetPlayerHeadImageRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProfilePicture *ProfilePicture `protobuf:"bytes,6,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ AvatarId uint32 `protobuf:"varint,5,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetPlayerHeadImageRsp) Reset() {
+ *x = SetPlayerHeadImageRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerHeadImageRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerHeadImageRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerHeadImageRsp) ProtoMessage() {}
+
+func (x *SetPlayerHeadImageRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerHeadImageRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerHeadImageRsp.ProtoReflect.Descriptor instead.
+func (*SetPlayerHeadImageRsp) Descriptor() ([]byte, []int) {
+ return file_SetPlayerHeadImageRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerHeadImageRsp) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *SetPlayerHeadImageRsp) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *SetPlayerHeadImageRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetPlayerHeadImageRsp_proto protoreflect.FileDescriptor
+
+var file_SetPlayerHeadImageRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x49,
+ 0x6d, 0x61, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x15, 0x53,
+ 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67,
+ 0x65, 0x52, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f,
+ 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49,
+ 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerHeadImageRsp_proto_rawDescOnce sync.Once
+ file_SetPlayerHeadImageRsp_proto_rawDescData = file_SetPlayerHeadImageRsp_proto_rawDesc
+)
+
+func file_SetPlayerHeadImageRsp_proto_rawDescGZIP() []byte {
+ file_SetPlayerHeadImageRsp_proto_rawDescOnce.Do(func() {
+ file_SetPlayerHeadImageRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerHeadImageRsp_proto_rawDescData)
+ })
+ return file_SetPlayerHeadImageRsp_proto_rawDescData
+}
+
+var file_SetPlayerHeadImageRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerHeadImageRsp_proto_goTypes = []interface{}{
+ (*SetPlayerHeadImageRsp)(nil), // 0: proto.SetPlayerHeadImageRsp
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_SetPlayerHeadImageRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SetPlayerHeadImageRsp.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerHeadImageRsp_proto_init() }
+func file_SetPlayerHeadImageRsp_proto_init() {
+ if File_SetPlayerHeadImageRsp_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerHeadImageRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerHeadImageRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerHeadImageRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerHeadImageRsp_proto_goTypes,
+ DependencyIndexes: file_SetPlayerHeadImageRsp_proto_depIdxs,
+ MessageInfos: file_SetPlayerHeadImageRsp_proto_msgTypes,
+ }.Build()
+ File_SetPlayerHeadImageRsp_proto = out.File
+ file_SetPlayerHeadImageRsp_proto_rawDesc = nil
+ file_SetPlayerHeadImageRsp_proto_goTypes = nil
+ file_SetPlayerHeadImageRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerNameReq.pb.go b/protocol/proto/SetPlayerNameReq.pb.go
new file mode 100644
index 00000000..c583133d
--- /dev/null
+++ b/protocol/proto/SetPlayerNameReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerNameReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 153
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetPlayerNameReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NickName string `protobuf:"bytes,1,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
+}
+
+func (x *SetPlayerNameReq) Reset() {
+ *x = SetPlayerNameReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerNameReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerNameReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerNameReq) ProtoMessage() {}
+
+func (x *SetPlayerNameReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerNameReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerNameReq.ProtoReflect.Descriptor instead.
+func (*SetPlayerNameReq) Descriptor() ([]byte, []int) {
+ return file_SetPlayerNameReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerNameReq) GetNickName() string {
+ if x != nil {
+ return x.NickName
+ }
+ return ""
+}
+
+var File_SetPlayerNameReq_proto protoreflect.FileDescriptor
+
+var file_SetPlayerNameReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2f, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerNameReq_proto_rawDescOnce sync.Once
+ file_SetPlayerNameReq_proto_rawDescData = file_SetPlayerNameReq_proto_rawDesc
+)
+
+func file_SetPlayerNameReq_proto_rawDescGZIP() []byte {
+ file_SetPlayerNameReq_proto_rawDescOnce.Do(func() {
+ file_SetPlayerNameReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerNameReq_proto_rawDescData)
+ })
+ return file_SetPlayerNameReq_proto_rawDescData
+}
+
+var file_SetPlayerNameReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerNameReq_proto_goTypes = []interface{}{
+ (*SetPlayerNameReq)(nil), // 0: proto.SetPlayerNameReq
+}
+var file_SetPlayerNameReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerNameReq_proto_init() }
+func file_SetPlayerNameReq_proto_init() {
+ if File_SetPlayerNameReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerNameReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerNameReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerNameReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerNameReq_proto_goTypes,
+ DependencyIndexes: file_SetPlayerNameReq_proto_depIdxs,
+ MessageInfos: file_SetPlayerNameReq_proto_msgTypes,
+ }.Build()
+ File_SetPlayerNameReq_proto = out.File
+ file_SetPlayerNameReq_proto_rawDesc = nil
+ file_SetPlayerNameReq_proto_goTypes = nil
+ file_SetPlayerNameReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerNameRsp.pb.go b/protocol/proto/SetPlayerNameRsp.pb.go
new file mode 100644
index 00000000..f1fa33ce
--- /dev/null
+++ b/protocol/proto/SetPlayerNameRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerNameRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 122
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetPlayerNameRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ NickName string `protobuf:"bytes,14,opt,name=nick_name,json=nickName,proto3" json:"nick_name,omitempty"`
+}
+
+func (x *SetPlayerNameRsp) Reset() {
+ *x = SetPlayerNameRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerNameRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerNameRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerNameRsp) ProtoMessage() {}
+
+func (x *SetPlayerNameRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerNameRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerNameRsp.ProtoReflect.Descriptor instead.
+func (*SetPlayerNameRsp) Descriptor() ([]byte, []int) {
+ return file_SetPlayerNameRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerNameRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SetPlayerNameRsp) GetNickName() string {
+ if x != nil {
+ return x.NickName
+ }
+ return ""
+}
+
+var File_SetPlayerNameRsp_proto protoreflect.FileDescriptor
+
+var file_SetPlayerNameRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x49, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a,
+ 0x09, 0x6e, 0x69, 0x63, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerNameRsp_proto_rawDescOnce sync.Once
+ file_SetPlayerNameRsp_proto_rawDescData = file_SetPlayerNameRsp_proto_rawDesc
+)
+
+func file_SetPlayerNameRsp_proto_rawDescGZIP() []byte {
+ file_SetPlayerNameRsp_proto_rawDescOnce.Do(func() {
+ file_SetPlayerNameRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerNameRsp_proto_rawDescData)
+ })
+ return file_SetPlayerNameRsp_proto_rawDescData
+}
+
+var file_SetPlayerNameRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerNameRsp_proto_goTypes = []interface{}{
+ (*SetPlayerNameRsp)(nil), // 0: proto.SetPlayerNameRsp
+}
+var file_SetPlayerNameRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerNameRsp_proto_init() }
+func file_SetPlayerNameRsp_proto_init() {
+ if File_SetPlayerNameRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerNameRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerNameRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerNameRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerNameRsp_proto_goTypes,
+ DependencyIndexes: file_SetPlayerNameRsp_proto_depIdxs,
+ MessageInfos: file_SetPlayerNameRsp_proto_msgTypes,
+ }.Build()
+ File_SetPlayerNameRsp_proto = out.File
+ file_SetPlayerNameRsp_proto_rawDesc = nil
+ file_SetPlayerNameRsp_proto_goTypes = nil
+ file_SetPlayerNameRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerPropReq.pb.go b/protocol/proto/SetPlayerPropReq.pb.go
new file mode 100644
index 00000000..5971416d
--- /dev/null
+++ b/protocol/proto/SetPlayerPropReq.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerPropReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 197
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetPlayerPropReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PropList []*PropValue `protobuf:"bytes,7,rep,name=prop_list,json=propList,proto3" json:"prop_list,omitempty"`
+}
+
+func (x *SetPlayerPropReq) Reset() {
+ *x = SetPlayerPropReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerPropReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerPropReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerPropReq) ProtoMessage() {}
+
+func (x *SetPlayerPropReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerPropReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerPropReq.ProtoReflect.Descriptor instead.
+func (*SetPlayerPropReq) Descriptor() ([]byte, []int) {
+ return file_SetPlayerPropReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerPropReq) GetPropList() []*PropValue {
+ if x != nil {
+ return x.PropList
+ }
+ return nil
+}
+
+var File_SetPlayerPropReq_proto protoreflect.FileDescriptor
+
+var file_SetPlayerPropReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x41, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f,
+ 0x70, 0x52, 0x65, 0x71, 0x12, 0x2d, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerPropReq_proto_rawDescOnce sync.Once
+ file_SetPlayerPropReq_proto_rawDescData = file_SetPlayerPropReq_proto_rawDesc
+)
+
+func file_SetPlayerPropReq_proto_rawDescGZIP() []byte {
+ file_SetPlayerPropReq_proto_rawDescOnce.Do(func() {
+ file_SetPlayerPropReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerPropReq_proto_rawDescData)
+ })
+ return file_SetPlayerPropReq_proto_rawDescData
+}
+
+var file_SetPlayerPropReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerPropReq_proto_goTypes = []interface{}{
+ (*SetPlayerPropReq)(nil), // 0: proto.SetPlayerPropReq
+ (*PropValue)(nil), // 1: proto.PropValue
+}
+var file_SetPlayerPropReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SetPlayerPropReq.prop_list:type_name -> proto.PropValue
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerPropReq_proto_init() }
+func file_SetPlayerPropReq_proto_init() {
+ if File_SetPlayerPropReq_proto != nil {
+ return
+ }
+ file_PropValue_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerPropReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerPropReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerPropReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerPropReq_proto_goTypes,
+ DependencyIndexes: file_SetPlayerPropReq_proto_depIdxs,
+ MessageInfos: file_SetPlayerPropReq_proto_msgTypes,
+ }.Build()
+ File_SetPlayerPropReq_proto = out.File
+ file_SetPlayerPropReq_proto_rawDesc = nil
+ file_SetPlayerPropReq_proto_goTypes = nil
+ file_SetPlayerPropReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerPropRsp.pb.go b/protocol/proto/SetPlayerPropRsp.pb.go
new file mode 100644
index 00000000..d8fc3228
--- /dev/null
+++ b/protocol/proto/SetPlayerPropRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerPropRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 181
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetPlayerPropRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetPlayerPropRsp) Reset() {
+ *x = SetPlayerPropRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerPropRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerPropRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerPropRsp) ProtoMessage() {}
+
+func (x *SetPlayerPropRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerPropRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerPropRsp.ProtoReflect.Descriptor instead.
+func (*SetPlayerPropRsp) Descriptor() ([]byte, []int) {
+ return file_SetPlayerPropRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerPropRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetPlayerPropRsp_proto protoreflect.FileDescriptor
+
+var file_SetPlayerPropRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x2c, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x70,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SetPlayerPropRsp_proto_rawDescOnce sync.Once
+ file_SetPlayerPropRsp_proto_rawDescData = file_SetPlayerPropRsp_proto_rawDesc
+)
+
+func file_SetPlayerPropRsp_proto_rawDescGZIP() []byte {
+ file_SetPlayerPropRsp_proto_rawDescOnce.Do(func() {
+ file_SetPlayerPropRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerPropRsp_proto_rawDescData)
+ })
+ return file_SetPlayerPropRsp_proto_rawDescData
+}
+
+var file_SetPlayerPropRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerPropRsp_proto_goTypes = []interface{}{
+ (*SetPlayerPropRsp)(nil), // 0: proto.SetPlayerPropRsp
+}
+var file_SetPlayerPropRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerPropRsp_proto_init() }
+func file_SetPlayerPropRsp_proto_init() {
+ if File_SetPlayerPropRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerPropRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerPropRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerPropRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerPropRsp_proto_goTypes,
+ DependencyIndexes: file_SetPlayerPropRsp_proto_depIdxs,
+ MessageInfos: file_SetPlayerPropRsp_proto_msgTypes,
+ }.Build()
+ File_SetPlayerPropRsp_proto = out.File
+ file_SetPlayerPropRsp_proto_rawDesc = nil
+ file_SetPlayerPropRsp_proto_goTypes = nil
+ file_SetPlayerPropRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerSignatureReq.pb.go b/protocol/proto/SetPlayerSignatureReq.pb.go
new file mode 100644
index 00000000..e4245884
--- /dev/null
+++ b/protocol/proto/SetPlayerSignatureReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerSignatureReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4081
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetPlayerSignatureReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Signature string `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"`
+}
+
+func (x *SetPlayerSignatureReq) Reset() {
+ *x = SetPlayerSignatureReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerSignatureReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerSignatureReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerSignatureReq) ProtoMessage() {}
+
+func (x *SetPlayerSignatureReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerSignatureReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerSignatureReq.ProtoReflect.Descriptor instead.
+func (*SetPlayerSignatureReq) Descriptor() ([]byte, []int) {
+ return file_SetPlayerSignatureReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerSignatureReq) GetSignature() string {
+ if x != nil {
+ return x.Signature
+ }
+ return ""
+}
+
+var File_SetPlayerSignatureReq_proto protoreflect.FileDescriptor
+
+var file_SetPlayerSignatureReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61,
+ 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a,
+ 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerSignatureReq_proto_rawDescOnce sync.Once
+ file_SetPlayerSignatureReq_proto_rawDescData = file_SetPlayerSignatureReq_proto_rawDesc
+)
+
+func file_SetPlayerSignatureReq_proto_rawDescGZIP() []byte {
+ file_SetPlayerSignatureReq_proto_rawDescOnce.Do(func() {
+ file_SetPlayerSignatureReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerSignatureReq_proto_rawDescData)
+ })
+ return file_SetPlayerSignatureReq_proto_rawDescData
+}
+
+var file_SetPlayerSignatureReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerSignatureReq_proto_goTypes = []interface{}{
+ (*SetPlayerSignatureReq)(nil), // 0: proto.SetPlayerSignatureReq
+}
+var file_SetPlayerSignatureReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerSignatureReq_proto_init() }
+func file_SetPlayerSignatureReq_proto_init() {
+ if File_SetPlayerSignatureReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerSignatureReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerSignatureReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerSignatureReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerSignatureReq_proto_goTypes,
+ DependencyIndexes: file_SetPlayerSignatureReq_proto_depIdxs,
+ MessageInfos: file_SetPlayerSignatureReq_proto_msgTypes,
+ }.Build()
+ File_SetPlayerSignatureReq_proto = out.File
+ file_SetPlayerSignatureReq_proto_rawDesc = nil
+ file_SetPlayerSignatureReq_proto_goTypes = nil
+ file_SetPlayerSignatureReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetPlayerSignatureRsp.pb.go b/protocol/proto/SetPlayerSignatureRsp.pb.go
new file mode 100644
index 00000000..d2cede04
--- /dev/null
+++ b/protocol/proto/SetPlayerSignatureRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetPlayerSignatureRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4005
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetPlayerSignatureRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetPlayerSignatureRsp) Reset() {
+ *x = SetPlayerSignatureRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetPlayerSignatureRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetPlayerSignatureRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetPlayerSignatureRsp) ProtoMessage() {}
+
+func (x *SetPlayerSignatureRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetPlayerSignatureRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetPlayerSignatureRsp.ProtoReflect.Descriptor instead.
+func (*SetPlayerSignatureRsp) Descriptor() ([]byte, []int) {
+ return file_SetPlayerSignatureRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetPlayerSignatureRsp) GetSignature() string {
+ if x != nil {
+ return x.Signature
+ }
+ return ""
+}
+
+func (x *SetPlayerSignatureRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetPlayerSignatureRsp_proto protoreflect.FileDescriptor
+
+var file_SetPlayerSignatureRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61,
+ 0x74, 0x75, 0x72, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1c, 0x0a,
+ 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetPlayerSignatureRsp_proto_rawDescOnce sync.Once
+ file_SetPlayerSignatureRsp_proto_rawDescData = file_SetPlayerSignatureRsp_proto_rawDesc
+)
+
+func file_SetPlayerSignatureRsp_proto_rawDescGZIP() []byte {
+ file_SetPlayerSignatureRsp_proto_rawDescOnce.Do(func() {
+ file_SetPlayerSignatureRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetPlayerSignatureRsp_proto_rawDescData)
+ })
+ return file_SetPlayerSignatureRsp_proto_rawDescData
+}
+
+var file_SetPlayerSignatureRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetPlayerSignatureRsp_proto_goTypes = []interface{}{
+ (*SetPlayerSignatureRsp)(nil), // 0: proto.SetPlayerSignatureRsp
+}
+var file_SetPlayerSignatureRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetPlayerSignatureRsp_proto_init() }
+func file_SetPlayerSignatureRsp_proto_init() {
+ if File_SetPlayerSignatureRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetPlayerSignatureRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetPlayerSignatureRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetPlayerSignatureRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetPlayerSignatureRsp_proto_goTypes,
+ DependencyIndexes: file_SetPlayerSignatureRsp_proto_depIdxs,
+ MessageInfos: file_SetPlayerSignatureRsp_proto_msgTypes,
+ }.Build()
+ File_SetPlayerSignatureRsp_proto = out.File
+ file_SetPlayerSignatureRsp_proto_rawDesc = nil
+ file_SetPlayerSignatureRsp_proto_goTypes = nil
+ file_SetPlayerSignatureRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetSceneWeatherAreaReq.pb.go b/protocol/proto/SetSceneWeatherAreaReq.pb.go
new file mode 100644
index 00000000..ad9340ff
--- /dev/null
+++ b/protocol/proto/SetSceneWeatherAreaReq.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetSceneWeatherAreaReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 254
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetSceneWeatherAreaReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WeatherGadgetId uint32 `protobuf:"varint,13,opt,name=weather_gadget_id,json=weatherGadgetId,proto3" json:"weather_gadget_id,omitempty"`
+ WeatherValueMap map[uint32]string `protobuf:"bytes,4,rep,name=weather_value_map,json=weatherValueMap,proto3" json:"weather_value_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *SetSceneWeatherAreaReq) Reset() {
+ *x = SetSceneWeatherAreaReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetSceneWeatherAreaReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetSceneWeatherAreaReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetSceneWeatherAreaReq) ProtoMessage() {}
+
+func (x *SetSceneWeatherAreaReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetSceneWeatherAreaReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetSceneWeatherAreaReq.ProtoReflect.Descriptor instead.
+func (*SetSceneWeatherAreaReq) Descriptor() ([]byte, []int) {
+ return file_SetSceneWeatherAreaReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetSceneWeatherAreaReq) GetWeatherGadgetId() uint32 {
+ if x != nil {
+ return x.WeatherGadgetId
+ }
+ return 0
+}
+
+func (x *SetSceneWeatherAreaReq) GetWeatherValueMap() map[uint32]string {
+ if x != nil {
+ return x.WeatherValueMap
+ }
+ return nil
+}
+
+var File_SetSceneWeatherAreaReq_proto protoreflect.FileDescriptor
+
+var file_SetSceneWeatherAreaReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65,
+ 0x72, 0x41, 0x72, 0x65, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe8, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65,
+ 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x41, 0x72, 0x65, 0x61, 0x52, 0x65, 0x71,
+ 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x77, 0x65, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x5e, 0x0a, 0x11,
+ 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x41,
+ 0x72, 0x65, 0x61, 0x52, 0x65, 0x71, 0x2e, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x77, 0x65, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x1a, 0x42, 0x0a, 0x14,
+ 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetSceneWeatherAreaReq_proto_rawDescOnce sync.Once
+ file_SetSceneWeatherAreaReq_proto_rawDescData = file_SetSceneWeatherAreaReq_proto_rawDesc
+)
+
+func file_SetSceneWeatherAreaReq_proto_rawDescGZIP() []byte {
+ file_SetSceneWeatherAreaReq_proto_rawDescOnce.Do(func() {
+ file_SetSceneWeatherAreaReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetSceneWeatherAreaReq_proto_rawDescData)
+ })
+ return file_SetSceneWeatherAreaReq_proto_rawDescData
+}
+
+var file_SetSceneWeatherAreaReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SetSceneWeatherAreaReq_proto_goTypes = []interface{}{
+ (*SetSceneWeatherAreaReq)(nil), // 0: proto.SetSceneWeatherAreaReq
+ nil, // 1: proto.SetSceneWeatherAreaReq.WeatherValueMapEntry
+}
+var file_SetSceneWeatherAreaReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SetSceneWeatherAreaReq.weather_value_map:type_name -> proto.SetSceneWeatherAreaReq.WeatherValueMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetSceneWeatherAreaReq_proto_init() }
+func file_SetSceneWeatherAreaReq_proto_init() {
+ if File_SetSceneWeatherAreaReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetSceneWeatherAreaReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetSceneWeatherAreaReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetSceneWeatherAreaReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetSceneWeatherAreaReq_proto_goTypes,
+ DependencyIndexes: file_SetSceneWeatherAreaReq_proto_depIdxs,
+ MessageInfos: file_SetSceneWeatherAreaReq_proto_msgTypes,
+ }.Build()
+ File_SetSceneWeatherAreaReq_proto = out.File
+ file_SetSceneWeatherAreaReq_proto_rawDesc = nil
+ file_SetSceneWeatherAreaReq_proto_goTypes = nil
+ file_SetSceneWeatherAreaReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetSceneWeatherAreaRsp.pb.go b/protocol/proto/SetSceneWeatherAreaRsp.pb.go
new file mode 100644
index 00000000..1a6f5ff7
--- /dev/null
+++ b/protocol/proto/SetSceneWeatherAreaRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetSceneWeatherAreaRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 283
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetSceneWeatherAreaRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetSceneWeatherAreaRsp) Reset() {
+ *x = SetSceneWeatherAreaRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetSceneWeatherAreaRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetSceneWeatherAreaRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetSceneWeatherAreaRsp) ProtoMessage() {}
+
+func (x *SetSceneWeatherAreaRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetSceneWeatherAreaRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetSceneWeatherAreaRsp.ProtoReflect.Descriptor instead.
+func (*SetSceneWeatherAreaRsp) Descriptor() ([]byte, []int) {
+ return file_SetSceneWeatherAreaRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetSceneWeatherAreaRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetSceneWeatherAreaRsp_proto protoreflect.FileDescriptor
+
+var file_SetSceneWeatherAreaRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65,
+ 0x72, 0x41, 0x72, 0x65, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x53, 0x63, 0x65, 0x6e,
+ 0x65, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x41, 0x72, 0x65, 0x61, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetSceneWeatherAreaRsp_proto_rawDescOnce sync.Once
+ file_SetSceneWeatherAreaRsp_proto_rawDescData = file_SetSceneWeatherAreaRsp_proto_rawDesc
+)
+
+func file_SetSceneWeatherAreaRsp_proto_rawDescGZIP() []byte {
+ file_SetSceneWeatherAreaRsp_proto_rawDescOnce.Do(func() {
+ file_SetSceneWeatherAreaRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetSceneWeatherAreaRsp_proto_rawDescData)
+ })
+ return file_SetSceneWeatherAreaRsp_proto_rawDescData
+}
+
+var file_SetSceneWeatherAreaRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetSceneWeatherAreaRsp_proto_goTypes = []interface{}{
+ (*SetSceneWeatherAreaRsp)(nil), // 0: proto.SetSceneWeatherAreaRsp
+}
+var file_SetSceneWeatherAreaRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetSceneWeatherAreaRsp_proto_init() }
+func file_SetSceneWeatherAreaRsp_proto_init() {
+ if File_SetSceneWeatherAreaRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetSceneWeatherAreaRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetSceneWeatherAreaRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetSceneWeatherAreaRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetSceneWeatherAreaRsp_proto_goTypes,
+ DependencyIndexes: file_SetSceneWeatherAreaRsp_proto_depIdxs,
+ MessageInfos: file_SetSceneWeatherAreaRsp_proto_msgTypes,
+ }.Build()
+ File_SetSceneWeatherAreaRsp_proto = out.File
+ file_SetSceneWeatherAreaRsp_proto_rawDesc = nil
+ file_SetSceneWeatherAreaRsp_proto_goTypes = nil
+ file_SetSceneWeatherAreaRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetUpAvatarTeamReq.pb.go b/protocol/proto/SetUpAvatarTeamReq.pb.go
new file mode 100644
index 00000000..4592f89c
--- /dev/null
+++ b/protocol/proto/SetUpAvatarTeamReq.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetUpAvatarTeamReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1690
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetUpAvatarTeamReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TeamId uint32 `protobuf:"varint,3,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"`
+ AvatarTeamGuidList []uint64 `protobuf:"varint,7,rep,packed,name=avatar_team_guid_list,json=avatarTeamGuidList,proto3" json:"avatar_team_guid_list,omitempty"`
+ CurAvatarGuid uint64 `protobuf:"varint,5,opt,name=cur_avatar_guid,json=curAvatarGuid,proto3" json:"cur_avatar_guid,omitempty"`
+}
+
+func (x *SetUpAvatarTeamReq) Reset() {
+ *x = SetUpAvatarTeamReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetUpAvatarTeamReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetUpAvatarTeamReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetUpAvatarTeamReq) ProtoMessage() {}
+
+func (x *SetUpAvatarTeamReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetUpAvatarTeamReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetUpAvatarTeamReq.ProtoReflect.Descriptor instead.
+func (*SetUpAvatarTeamReq) Descriptor() ([]byte, []int) {
+ return file_SetUpAvatarTeamReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetUpAvatarTeamReq) GetTeamId() uint32 {
+ if x != nil {
+ return x.TeamId
+ }
+ return 0
+}
+
+func (x *SetUpAvatarTeamReq) GetAvatarTeamGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarTeamGuidList
+ }
+ return nil
+}
+
+func (x *SetUpAvatarTeamReq) GetCurAvatarGuid() uint64 {
+ if x != nil {
+ return x.CurAvatarGuid
+ }
+ return 0
+}
+
+var File_SetUpAvatarTeamReq_proto protoreflect.FileDescriptor
+
+var file_SetUpAvatarTeamReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x65, 0x74, 0x55, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61,
+ 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x55, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x65, 0x61, 0x6d,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49,
+ 0x64, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04,
+ 0x52, 0x12, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x47, 0x75, 0x69, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63,
+ 0x75, 0x72, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetUpAvatarTeamReq_proto_rawDescOnce sync.Once
+ file_SetUpAvatarTeamReq_proto_rawDescData = file_SetUpAvatarTeamReq_proto_rawDesc
+)
+
+func file_SetUpAvatarTeamReq_proto_rawDescGZIP() []byte {
+ file_SetUpAvatarTeamReq_proto_rawDescOnce.Do(func() {
+ file_SetUpAvatarTeamReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetUpAvatarTeamReq_proto_rawDescData)
+ })
+ return file_SetUpAvatarTeamReq_proto_rawDescData
+}
+
+var file_SetUpAvatarTeamReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetUpAvatarTeamReq_proto_goTypes = []interface{}{
+ (*SetUpAvatarTeamReq)(nil), // 0: proto.SetUpAvatarTeamReq
+}
+var file_SetUpAvatarTeamReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetUpAvatarTeamReq_proto_init() }
+func file_SetUpAvatarTeamReq_proto_init() {
+ if File_SetUpAvatarTeamReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetUpAvatarTeamReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetUpAvatarTeamReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetUpAvatarTeamReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetUpAvatarTeamReq_proto_goTypes,
+ DependencyIndexes: file_SetUpAvatarTeamReq_proto_depIdxs,
+ MessageInfos: file_SetUpAvatarTeamReq_proto_msgTypes,
+ }.Build()
+ File_SetUpAvatarTeamReq_proto = out.File
+ file_SetUpAvatarTeamReq_proto_rawDesc = nil
+ file_SetUpAvatarTeamReq_proto_goTypes = nil
+ file_SetUpAvatarTeamReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetUpAvatarTeamRsp.pb.go b/protocol/proto/SetUpAvatarTeamRsp.pb.go
new file mode 100644
index 00000000..de6e67f2
--- /dev/null
+++ b/protocol/proto/SetUpAvatarTeamRsp.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetUpAvatarTeamRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1646
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetUpAvatarTeamRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarTeamGuidList []uint64 `protobuf:"varint,1,rep,packed,name=avatar_team_guid_list,json=avatarTeamGuidList,proto3" json:"avatar_team_guid_list,omitempty"`
+ TeamId uint32 `protobuf:"varint,6,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CurAvatarGuid uint64 `protobuf:"varint,13,opt,name=cur_avatar_guid,json=curAvatarGuid,proto3" json:"cur_avatar_guid,omitempty"`
+}
+
+func (x *SetUpAvatarTeamRsp) Reset() {
+ *x = SetUpAvatarTeamRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetUpAvatarTeamRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetUpAvatarTeamRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetUpAvatarTeamRsp) ProtoMessage() {}
+
+func (x *SetUpAvatarTeamRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetUpAvatarTeamRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetUpAvatarTeamRsp.ProtoReflect.Descriptor instead.
+func (*SetUpAvatarTeamRsp) Descriptor() ([]byte, []int) {
+ return file_SetUpAvatarTeamRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetUpAvatarTeamRsp) GetAvatarTeamGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarTeamGuidList
+ }
+ return nil
+}
+
+func (x *SetUpAvatarTeamRsp) GetTeamId() uint32 {
+ if x != nil {
+ return x.TeamId
+ }
+ return 0
+}
+
+func (x *SetUpAvatarTeamRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SetUpAvatarTeamRsp) GetCurAvatarGuid() uint64 {
+ if x != nil {
+ return x.CurAvatarGuid
+ }
+ return 0
+}
+
+var File_SetUpAvatarTeamRsp_proto protoreflect.FileDescriptor
+
+var file_SetUpAvatarTeamRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x65, 0x74, 0x55, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61,
+ 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xa2, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x55, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x12, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54,
+ 0x65, 0x61, 0x6d, 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74,
+ 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x65,
+ 0x61, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x26,
+ 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetUpAvatarTeamRsp_proto_rawDescOnce sync.Once
+ file_SetUpAvatarTeamRsp_proto_rawDescData = file_SetUpAvatarTeamRsp_proto_rawDesc
+)
+
+func file_SetUpAvatarTeamRsp_proto_rawDescGZIP() []byte {
+ file_SetUpAvatarTeamRsp_proto_rawDescOnce.Do(func() {
+ file_SetUpAvatarTeamRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetUpAvatarTeamRsp_proto_rawDescData)
+ })
+ return file_SetUpAvatarTeamRsp_proto_rawDescData
+}
+
+var file_SetUpAvatarTeamRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetUpAvatarTeamRsp_proto_goTypes = []interface{}{
+ (*SetUpAvatarTeamRsp)(nil), // 0: proto.SetUpAvatarTeamRsp
+}
+var file_SetUpAvatarTeamRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SetUpAvatarTeamRsp_proto_init() }
+func file_SetUpAvatarTeamRsp_proto_init() {
+ if File_SetUpAvatarTeamRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SetUpAvatarTeamRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetUpAvatarTeamRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetUpAvatarTeamRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetUpAvatarTeamRsp_proto_goTypes,
+ DependencyIndexes: file_SetUpAvatarTeamRsp_proto_depIdxs,
+ MessageInfos: file_SetUpAvatarTeamRsp_proto_msgTypes,
+ }.Build()
+ File_SetUpAvatarTeamRsp_proto = out.File
+ file_SetUpAvatarTeamRsp_proto_rawDesc = nil
+ file_SetUpAvatarTeamRsp_proto_goTypes = nil
+ file_SetUpAvatarTeamRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetUpLunchBoxWidgetReq.pb.go b/protocol/proto/SetUpLunchBoxWidgetReq.pb.go
new file mode 100644
index 00000000..bc492786
--- /dev/null
+++ b/protocol/proto/SetUpLunchBoxWidgetReq.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetUpLunchBoxWidgetReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4272
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetUpLunchBoxWidgetReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LunchBoxData *LunchBoxData `protobuf:"bytes,6,opt,name=lunch_box_data,json=lunchBoxData,proto3" json:"lunch_box_data,omitempty"`
+}
+
+func (x *SetUpLunchBoxWidgetReq) Reset() {
+ *x = SetUpLunchBoxWidgetReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetUpLunchBoxWidgetReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetUpLunchBoxWidgetReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetUpLunchBoxWidgetReq) ProtoMessage() {}
+
+func (x *SetUpLunchBoxWidgetReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetUpLunchBoxWidgetReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetUpLunchBoxWidgetReq.ProtoReflect.Descriptor instead.
+func (*SetUpLunchBoxWidgetReq) Descriptor() ([]byte, []int) {
+ return file_SetUpLunchBoxWidgetReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetUpLunchBoxWidgetReq) GetLunchBoxData() *LunchBoxData {
+ if x != nil {
+ return x.LunchBoxData
+ }
+ return nil
+}
+
+var File_SetUpLunchBoxWidgetReq_proto protoreflect.FileDescriptor
+
+var file_SetUpLunchBoxWidgetReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x55, 0x70, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x53, 0x65, 0x74,
+ 0x55, 0x70, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x62, 0x6f, 0x78,
+ 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x0c, 0x6c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SetUpLunchBoxWidgetReq_proto_rawDescOnce sync.Once
+ file_SetUpLunchBoxWidgetReq_proto_rawDescData = file_SetUpLunchBoxWidgetReq_proto_rawDesc
+)
+
+func file_SetUpLunchBoxWidgetReq_proto_rawDescGZIP() []byte {
+ file_SetUpLunchBoxWidgetReq_proto_rawDescOnce.Do(func() {
+ file_SetUpLunchBoxWidgetReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetUpLunchBoxWidgetReq_proto_rawDescData)
+ })
+ return file_SetUpLunchBoxWidgetReq_proto_rawDescData
+}
+
+var file_SetUpLunchBoxWidgetReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetUpLunchBoxWidgetReq_proto_goTypes = []interface{}{
+ (*SetUpLunchBoxWidgetReq)(nil), // 0: proto.SetUpLunchBoxWidgetReq
+ (*LunchBoxData)(nil), // 1: proto.LunchBoxData
+}
+var file_SetUpLunchBoxWidgetReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SetUpLunchBoxWidgetReq.lunch_box_data:type_name -> proto.LunchBoxData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetUpLunchBoxWidgetReq_proto_init() }
+func file_SetUpLunchBoxWidgetReq_proto_init() {
+ if File_SetUpLunchBoxWidgetReq_proto != nil {
+ return
+ }
+ file_LunchBoxData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetUpLunchBoxWidgetReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetUpLunchBoxWidgetReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetUpLunchBoxWidgetReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetUpLunchBoxWidgetReq_proto_goTypes,
+ DependencyIndexes: file_SetUpLunchBoxWidgetReq_proto_depIdxs,
+ MessageInfos: file_SetUpLunchBoxWidgetReq_proto_msgTypes,
+ }.Build()
+ File_SetUpLunchBoxWidgetReq_proto = out.File
+ file_SetUpLunchBoxWidgetReq_proto_rawDesc = nil
+ file_SetUpLunchBoxWidgetReq_proto_goTypes = nil
+ file_SetUpLunchBoxWidgetReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetUpLunchBoxWidgetRsp.pb.go b/protocol/proto/SetUpLunchBoxWidgetRsp.pb.go
new file mode 100644
index 00000000..13b43dcb
--- /dev/null
+++ b/protocol/proto/SetUpLunchBoxWidgetRsp.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetUpLunchBoxWidgetRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4294
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetUpLunchBoxWidgetRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LunchBoxData *LunchBoxData `protobuf:"bytes,3,opt,name=lunch_box_data,json=lunchBoxData,proto3" json:"lunch_box_data,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SetUpLunchBoxWidgetRsp) Reset() {
+ *x = SetUpLunchBoxWidgetRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetUpLunchBoxWidgetRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetUpLunchBoxWidgetRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetUpLunchBoxWidgetRsp) ProtoMessage() {}
+
+func (x *SetUpLunchBoxWidgetRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetUpLunchBoxWidgetRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetUpLunchBoxWidgetRsp.ProtoReflect.Descriptor instead.
+func (*SetUpLunchBoxWidgetRsp) Descriptor() ([]byte, []int) {
+ return file_SetUpLunchBoxWidgetRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetUpLunchBoxWidgetRsp) GetLunchBoxData() *LunchBoxData {
+ if x != nil {
+ return x.LunchBoxData
+ }
+ return nil
+}
+
+func (x *SetUpLunchBoxWidgetRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SetUpLunchBoxWidgetRsp_proto protoreflect.FileDescriptor
+
+var file_SetUpLunchBoxWidgetRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x55, 0x70, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x16, 0x53, 0x65, 0x74,
+ 0x55, 0x70, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x62, 0x6f, 0x78,
+ 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x0c, 0x6c, 0x75, 0x6e, 0x63, 0x68, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetUpLunchBoxWidgetRsp_proto_rawDescOnce sync.Once
+ file_SetUpLunchBoxWidgetRsp_proto_rawDescData = file_SetUpLunchBoxWidgetRsp_proto_rawDesc
+)
+
+func file_SetUpLunchBoxWidgetRsp_proto_rawDescGZIP() []byte {
+ file_SetUpLunchBoxWidgetRsp_proto_rawDescOnce.Do(func() {
+ file_SetUpLunchBoxWidgetRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetUpLunchBoxWidgetRsp_proto_rawDescData)
+ })
+ return file_SetUpLunchBoxWidgetRsp_proto_rawDescData
+}
+
+var file_SetUpLunchBoxWidgetRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetUpLunchBoxWidgetRsp_proto_goTypes = []interface{}{
+ (*SetUpLunchBoxWidgetRsp)(nil), // 0: proto.SetUpLunchBoxWidgetRsp
+ (*LunchBoxData)(nil), // 1: proto.LunchBoxData
+}
+var file_SetUpLunchBoxWidgetRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SetUpLunchBoxWidgetRsp.lunch_box_data:type_name -> proto.LunchBoxData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SetUpLunchBoxWidgetRsp_proto_init() }
+func file_SetUpLunchBoxWidgetRsp_proto_init() {
+ if File_SetUpLunchBoxWidgetRsp_proto != nil {
+ return
+ }
+ file_LunchBoxData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetUpLunchBoxWidgetRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetUpLunchBoxWidgetRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetUpLunchBoxWidgetRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetUpLunchBoxWidgetRsp_proto_goTypes,
+ DependencyIndexes: file_SetUpLunchBoxWidgetRsp_proto_depIdxs,
+ MessageInfos: file_SetUpLunchBoxWidgetRsp_proto_msgTypes,
+ }.Build()
+ File_SetUpLunchBoxWidgetRsp_proto = out.File
+ file_SetUpLunchBoxWidgetRsp_proto_rawDesc = nil
+ file_SetUpLunchBoxWidgetRsp_proto_goTypes = nil
+ file_SetUpLunchBoxWidgetRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetWidgetSlotReq.pb.go b/protocol/proto/SetWidgetSlotReq.pb.go
new file mode 100644
index 00000000..64dcfc55
--- /dev/null
+++ b/protocol/proto/SetWidgetSlotReq.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetWidgetSlotReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4259
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SetWidgetSlotReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TagList []WidgetSlotTag `protobuf:"varint,15,rep,packed,name=tag_list,json=tagList,proto3,enum=proto.WidgetSlotTag" json:"tag_list,omitempty"`
+ MaterialId uint32 `protobuf:"varint,6,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ Op WidgetSlotOp `protobuf:"varint,2,opt,name=op,proto3,enum=proto.WidgetSlotOp" json:"op,omitempty"`
+}
+
+func (x *SetWidgetSlotReq) Reset() {
+ *x = SetWidgetSlotReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetWidgetSlotReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetWidgetSlotReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetWidgetSlotReq) ProtoMessage() {}
+
+func (x *SetWidgetSlotReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SetWidgetSlotReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetWidgetSlotReq.ProtoReflect.Descriptor instead.
+func (*SetWidgetSlotReq) Descriptor() ([]byte, []int) {
+ return file_SetWidgetSlotReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetWidgetSlotReq) GetTagList() []WidgetSlotTag {
+ if x != nil {
+ return x.TagList
+ }
+ return nil
+}
+
+func (x *SetWidgetSlotReq) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *SetWidgetSlotReq) GetOp() WidgetSlotOp {
+ if x != nil {
+ return x.Op
+ }
+ return WidgetSlotOp_WIDGET_SLOT_OP_ATTACH
+}
+
+var File_SetWidgetSlotReq_proto protoreflect.FileDescriptor
+
+var file_SetWidgetSlotReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x65, 0x74, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x12, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x54,
+ 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74,
+ 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x12, 0x2f, 0x0a,
+ 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0e, 0x32,
+ 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c,
+ 0x6f, 0x74, 0x54, 0x61, 0x67, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12,
+ 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70,
+ 0x52, 0x02, 0x6f, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SetWidgetSlotReq_proto_rawDescOnce sync.Once
+ file_SetWidgetSlotReq_proto_rawDescData = file_SetWidgetSlotReq_proto_rawDesc
+)
+
+func file_SetWidgetSlotReq_proto_rawDescGZIP() []byte {
+ file_SetWidgetSlotReq_proto_rawDescOnce.Do(func() {
+ file_SetWidgetSlotReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetWidgetSlotReq_proto_rawDescData)
+ })
+ return file_SetWidgetSlotReq_proto_rawDescData
+}
+
+var file_SetWidgetSlotReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetWidgetSlotReq_proto_goTypes = []interface{}{
+ (*SetWidgetSlotReq)(nil), // 0: proto.SetWidgetSlotReq
+ (WidgetSlotTag)(0), // 1: proto.WidgetSlotTag
+ (WidgetSlotOp)(0), // 2: proto.WidgetSlotOp
+}
+var file_SetWidgetSlotReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SetWidgetSlotReq.tag_list:type_name -> proto.WidgetSlotTag
+ 2, // 1: proto.SetWidgetSlotReq.op:type_name -> proto.WidgetSlotOp
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SetWidgetSlotReq_proto_init() }
+func file_SetWidgetSlotReq_proto_init() {
+ if File_SetWidgetSlotReq_proto != nil {
+ return
+ }
+ file_WidgetSlotOp_proto_init()
+ file_WidgetSlotTag_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetWidgetSlotReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetWidgetSlotReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetWidgetSlotReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetWidgetSlotReq_proto_goTypes,
+ DependencyIndexes: file_SetWidgetSlotReq_proto_depIdxs,
+ MessageInfos: file_SetWidgetSlotReq_proto_msgTypes,
+ }.Build()
+ File_SetWidgetSlotReq_proto = out.File
+ file_SetWidgetSlotReq_proto_rawDesc = nil
+ file_SetWidgetSlotReq_proto_goTypes = nil
+ file_SetWidgetSlotReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SetWidgetSlotRsp.pb.go b/protocol/proto/SetWidgetSlotRsp.pb.go
new file mode 100644
index 00000000..4bf28a12
--- /dev/null
+++ b/protocol/proto/SetWidgetSlotRsp.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SetWidgetSlotRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4277
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SetWidgetSlotRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TagList []WidgetSlotTag `protobuf:"varint,15,rep,packed,name=tag_list,json=tagList,proto3,enum=proto.WidgetSlotTag" json:"tag_list,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MaterialId uint32 `protobuf:"varint,1,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ Op WidgetSlotOp `protobuf:"varint,4,opt,name=op,proto3,enum=proto.WidgetSlotOp" json:"op,omitempty"`
+}
+
+func (x *SetWidgetSlotRsp) Reset() {
+ *x = SetWidgetSlotRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SetWidgetSlotRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SetWidgetSlotRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SetWidgetSlotRsp) ProtoMessage() {}
+
+func (x *SetWidgetSlotRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SetWidgetSlotRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SetWidgetSlotRsp.ProtoReflect.Descriptor instead.
+func (*SetWidgetSlotRsp) Descriptor() ([]byte, []int) {
+ return file_SetWidgetSlotRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SetWidgetSlotRsp) GetTagList() []WidgetSlotTag {
+ if x != nil {
+ return x.TagList
+ }
+ return nil
+}
+
+func (x *SetWidgetSlotRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SetWidgetSlotRsp) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *SetWidgetSlotRsp) GetOp() WidgetSlotOp {
+ if x != nil {
+ return x.Op
+ }
+ return WidgetSlotOp_WIDGET_SLOT_OP_ATTACH
+}
+
+var File_SetWidgetSlotRsp_proto protoreflect.FileDescriptor
+
+var file_SetWidgetSlotRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x65, 0x74, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x12, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x54,
+ 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74,
+ 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2f, 0x0a,
+ 0x08, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0e, 0x32,
+ 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c,
+ 0x6f, 0x74, 0x54, 0x61, 0x67, 0x52, 0x07, 0x74, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65,
+ 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d,
+ 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SetWidgetSlotRsp_proto_rawDescOnce sync.Once
+ file_SetWidgetSlotRsp_proto_rawDescData = file_SetWidgetSlotRsp_proto_rawDesc
+)
+
+func file_SetWidgetSlotRsp_proto_rawDescGZIP() []byte {
+ file_SetWidgetSlotRsp_proto_rawDescOnce.Do(func() {
+ file_SetWidgetSlotRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SetWidgetSlotRsp_proto_rawDescData)
+ })
+ return file_SetWidgetSlotRsp_proto_rawDescData
+}
+
+var file_SetWidgetSlotRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SetWidgetSlotRsp_proto_goTypes = []interface{}{
+ (*SetWidgetSlotRsp)(nil), // 0: proto.SetWidgetSlotRsp
+ (WidgetSlotTag)(0), // 1: proto.WidgetSlotTag
+ (WidgetSlotOp)(0), // 2: proto.WidgetSlotOp
+}
+var file_SetWidgetSlotRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SetWidgetSlotRsp.tag_list:type_name -> proto.WidgetSlotTag
+ 2, // 1: proto.SetWidgetSlotRsp.op:type_name -> proto.WidgetSlotOp
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SetWidgetSlotRsp_proto_init() }
+func file_SetWidgetSlotRsp_proto_init() {
+ if File_SetWidgetSlotRsp_proto != nil {
+ return
+ }
+ file_WidgetSlotOp_proto_init()
+ file_WidgetSlotTag_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SetWidgetSlotRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SetWidgetSlotRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SetWidgetSlotRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SetWidgetSlotRsp_proto_goTypes,
+ DependencyIndexes: file_SetWidgetSlotRsp_proto_depIdxs,
+ MessageInfos: file_SetWidgetSlotRsp_proto_msgTypes,
+ }.Build()
+ File_SetWidgetSlotRsp_proto = out.File
+ file_SetWidgetSlotRsp_proto_rawDesc = nil
+ file_SetWidgetSlotRsp_proto_goTypes = nil
+ file_SetWidgetSlotRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShapeBox.pb.go b/protocol/proto/ShapeBox.pb.go
new file mode 100644
index 00000000..7a67d83b
--- /dev/null
+++ b/protocol/proto/ShapeBox.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShapeBox.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShapeBox struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Center *Vector `protobuf:"bytes,1,opt,name=center,proto3" json:"center,omitempty"`
+ Axis0 *Vector `protobuf:"bytes,2,opt,name=axis0,proto3" json:"axis0,omitempty"`
+ Axis1 *Vector `protobuf:"bytes,3,opt,name=axis1,proto3" json:"axis1,omitempty"`
+ Axis2 *Vector `protobuf:"bytes,4,opt,name=axis2,proto3" json:"axis2,omitempty"`
+ Extents *Vector `protobuf:"bytes,5,opt,name=extents,proto3" json:"extents,omitempty"`
+}
+
+func (x *ShapeBox) Reset() {
+ *x = ShapeBox{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShapeBox_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShapeBox) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShapeBox) ProtoMessage() {}
+
+func (x *ShapeBox) ProtoReflect() protoreflect.Message {
+ mi := &file_ShapeBox_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShapeBox.ProtoReflect.Descriptor instead.
+func (*ShapeBox) Descriptor() ([]byte, []int) {
+ return file_ShapeBox_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShapeBox) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *ShapeBox) GetAxis0() *Vector {
+ if x != nil {
+ return x.Axis0
+ }
+ return nil
+}
+
+func (x *ShapeBox) GetAxis1() *Vector {
+ if x != nil {
+ return x.Axis1
+ }
+ return nil
+}
+
+func (x *ShapeBox) GetAxis2() *Vector {
+ if x != nil {
+ return x.Axis2
+ }
+ return nil
+}
+
+func (x *ShapeBox) GetExtents() *Vector {
+ if x != nil {
+ return x.Extents
+ }
+ return nil
+}
+
+var File_ShapeBox_proto protoreflect.FileDescriptor
+
+var file_ShapeBox_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x42, 0x6f, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x08, 0x53, 0x68, 0x61, 0x70, 0x65, 0x42,
+ 0x6f, 0x78, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x05, 0x61, 0x78, 0x69,
+ 0x73, 0x30, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x61, 0x78, 0x69, 0x73, 0x30, 0x12, 0x23,
+ 0x0a, 0x05, 0x61, 0x78, 0x69, 0x73, 0x31, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x05, 0x61, 0x78,
+ 0x69, 0x73, 0x31, 0x12, 0x23, 0x0a, 0x05, 0x61, 0x78, 0x69, 0x73, 0x32, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x05, 0x61, 0x78, 0x69, 0x73, 0x32, 0x12, 0x27, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x74,
+ 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShapeBox_proto_rawDescOnce sync.Once
+ file_ShapeBox_proto_rawDescData = file_ShapeBox_proto_rawDesc
+)
+
+func file_ShapeBox_proto_rawDescGZIP() []byte {
+ file_ShapeBox_proto_rawDescOnce.Do(func() {
+ file_ShapeBox_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShapeBox_proto_rawDescData)
+ })
+ return file_ShapeBox_proto_rawDescData
+}
+
+var file_ShapeBox_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShapeBox_proto_goTypes = []interface{}{
+ (*ShapeBox)(nil), // 0: proto.ShapeBox
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_ShapeBox_proto_depIdxs = []int32{
+ 1, // 0: proto.ShapeBox.center:type_name -> proto.Vector
+ 1, // 1: proto.ShapeBox.axis0:type_name -> proto.Vector
+ 1, // 2: proto.ShapeBox.axis1:type_name -> proto.Vector
+ 1, // 3: proto.ShapeBox.axis2:type_name -> proto.Vector
+ 1, // 4: proto.ShapeBox.extents:type_name -> proto.Vector
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_ShapeBox_proto_init() }
+func file_ShapeBox_proto_init() {
+ if File_ShapeBox_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ShapeBox_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShapeBox); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShapeBox_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShapeBox_proto_goTypes,
+ DependencyIndexes: file_ShapeBox_proto_depIdxs,
+ MessageInfos: file_ShapeBox_proto_msgTypes,
+ }.Build()
+ File_ShapeBox_proto = out.File
+ file_ShapeBox_proto_rawDesc = nil
+ file_ShapeBox_proto_goTypes = nil
+ file_ShapeBox_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShapeSphere.pb.go b/protocol/proto/ShapeSphere.pb.go
new file mode 100644
index 00000000..142ce5dd
--- /dev/null
+++ b/protocol/proto/ShapeSphere.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShapeSphere.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShapeSphere struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Center *Vector `protobuf:"bytes,1,opt,name=center,proto3" json:"center,omitempty"`
+ Radius float32 `protobuf:"fixed32,2,opt,name=radius,proto3" json:"radius,omitempty"`
+}
+
+func (x *ShapeSphere) Reset() {
+ *x = ShapeSphere{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShapeSphere_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShapeSphere) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShapeSphere) ProtoMessage() {}
+
+func (x *ShapeSphere) ProtoReflect() protoreflect.Message {
+ mi := &file_ShapeSphere_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShapeSphere.ProtoReflect.Descriptor instead.
+func (*ShapeSphere) Descriptor() ([]byte, []int) {
+ return file_ShapeSphere_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShapeSphere) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *ShapeSphere) GetRadius() float32 {
+ if x != nil {
+ return x.Radius
+ }
+ return 0
+}
+
+var File_ShapeSphere_proto protoreflect.FileDescriptor
+
+var file_ShapeSphere_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x53, 0x68, 0x61, 0x70, 0x65, 0x53, 0x70, 0x68, 0x65, 0x72, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c, 0x0a, 0x0b, 0x53, 0x68, 0x61, 0x70,
+ 0x65, 0x53, 0x70, 0x68, 0x65, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x16,
+ 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06,
+ 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShapeSphere_proto_rawDescOnce sync.Once
+ file_ShapeSphere_proto_rawDescData = file_ShapeSphere_proto_rawDesc
+)
+
+func file_ShapeSphere_proto_rawDescGZIP() []byte {
+ file_ShapeSphere_proto_rawDescOnce.Do(func() {
+ file_ShapeSphere_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShapeSphere_proto_rawDescData)
+ })
+ return file_ShapeSphere_proto_rawDescData
+}
+
+var file_ShapeSphere_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShapeSphere_proto_goTypes = []interface{}{
+ (*ShapeSphere)(nil), // 0: proto.ShapeSphere
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_ShapeSphere_proto_depIdxs = []int32{
+ 1, // 0: proto.ShapeSphere.center:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ShapeSphere_proto_init() }
+func file_ShapeSphere_proto_init() {
+ if File_ShapeSphere_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ShapeSphere_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShapeSphere); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShapeSphere_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShapeSphere_proto_goTypes,
+ DependencyIndexes: file_ShapeSphere_proto_depIdxs,
+ MessageInfos: file_ShapeSphere_proto_msgTypes,
+ }.Build()
+ File_ShapeSphere_proto = out.File
+ file_ShapeSphere_proto_rawDesc = nil
+ file_ShapeSphere_proto_goTypes = nil
+ file_ShapeSphere_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShareCDInfo.pb.go b/protocol/proto/ShareCDInfo.pb.go
new file mode 100644
index 00000000..c3249c33
--- /dev/null
+++ b/protocol/proto/ShareCDInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShareCDInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShareCDInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
+ CdStartTime uint64 `protobuf:"varint,14,opt,name=cd_start_time,json=cdStartTime,proto3" json:"cd_start_time,omitempty"`
+ ShareCdId uint32 `protobuf:"varint,12,opt,name=share_cd_id,json=shareCdId,proto3" json:"share_cd_id,omitempty"`
+}
+
+func (x *ShareCDInfo) Reset() {
+ *x = ShareCDInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShareCDInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShareCDInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShareCDInfo) ProtoMessage() {}
+
+func (x *ShareCDInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ShareCDInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShareCDInfo.ProtoReflect.Descriptor instead.
+func (*ShareCDInfo) Descriptor() ([]byte, []int) {
+ return file_ShareCDInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShareCDInfo) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *ShareCDInfo) GetCdStartTime() uint64 {
+ if x != nil {
+ return x.CdStartTime
+ }
+ return 0
+}
+
+func (x *ShareCDInfo) GetShareCdId() uint32 {
+ if x != nil {
+ return x.ShareCdId
+ }
+ return 0
+}
+
+var File_ShareCDInfo_proto protoreflect.FileDescriptor
+
+var file_ShareCDInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x53, 0x68, 0x61, 0x72, 0x65, 0x43, 0x44, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x0b, 0x53, 0x68,
+ 0x61, 0x72, 0x65, 0x43, 0x44, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12,
+ 0x22, 0x0a, 0x0d, 0x63, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x63, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x64, 0x5f,
+ 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x43,
+ 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShareCDInfo_proto_rawDescOnce sync.Once
+ file_ShareCDInfo_proto_rawDescData = file_ShareCDInfo_proto_rawDesc
+)
+
+func file_ShareCDInfo_proto_rawDescGZIP() []byte {
+ file_ShareCDInfo_proto_rawDescOnce.Do(func() {
+ file_ShareCDInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShareCDInfo_proto_rawDescData)
+ })
+ return file_ShareCDInfo_proto_rawDescData
+}
+
+var file_ShareCDInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShareCDInfo_proto_goTypes = []interface{}{
+ (*ShareCDInfo)(nil), // 0: proto.ShareCDInfo
+}
+var file_ShareCDInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ShareCDInfo_proto_init() }
+func file_ShareCDInfo_proto_init() {
+ if File_ShareCDInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ShareCDInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShareCDInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShareCDInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShareCDInfo_proto_goTypes,
+ DependencyIndexes: file_ShareCDInfo_proto_depIdxs,
+ MessageInfos: file_ShareCDInfo_proto_msgTypes,
+ }.Build()
+ File_ShareCDInfo_proto = out.File
+ file_ShareCDInfo_proto_rawDesc = nil
+ file_ShareCDInfo_proto_goTypes = nil
+ file_ShareCDInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Shop.pb.go b/protocol/proto/Shop.pb.go
new file mode 100644
index 00000000..d890e1a7
--- /dev/null
+++ b/protocol/proto/Shop.pb.go
@@ -0,0 +1,255 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Shop.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Shop struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConcertProductList []*ShopConcertProduct `protobuf:"bytes,3,rep,name=concert_product_list,json=concertProductList,proto3" json:"concert_product_list,omitempty"`
+ GoodsList []*ShopGoods `protobuf:"bytes,15,rep,name=goods_list,json=goodsList,proto3" json:"goods_list,omitempty"`
+ CityReputationLevel uint32 `protobuf:"varint,2,opt,name=city_reputation_level,json=cityReputationLevel,proto3" json:"city_reputation_level,omitempty"`
+ CardProductList []*ShopCardProduct `protobuf:"bytes,14,rep,name=card_product_list,json=cardProductList,proto3" json:"card_product_list,omitempty"`
+ McoinProductList []*ShopMcoinProduct `protobuf:"bytes,7,rep,name=mcoin_product_list,json=mcoinProductList,proto3" json:"mcoin_product_list,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,11,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ CityId uint32 `protobuf:"varint,10,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ ShopType uint32 `protobuf:"varint,13,opt,name=shop_type,json=shopType,proto3" json:"shop_type,omitempty"`
+}
+
+func (x *Shop) Reset() {
+ *x = Shop{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Shop_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Shop) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Shop) ProtoMessage() {}
+
+func (x *Shop) ProtoReflect() protoreflect.Message {
+ mi := &file_Shop_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Shop.ProtoReflect.Descriptor instead.
+func (*Shop) Descriptor() ([]byte, []int) {
+ return file_Shop_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Shop) GetConcertProductList() []*ShopConcertProduct {
+ if x != nil {
+ return x.ConcertProductList
+ }
+ return nil
+}
+
+func (x *Shop) GetGoodsList() []*ShopGoods {
+ if x != nil {
+ return x.GoodsList
+ }
+ return nil
+}
+
+func (x *Shop) GetCityReputationLevel() uint32 {
+ if x != nil {
+ return x.CityReputationLevel
+ }
+ return 0
+}
+
+func (x *Shop) GetCardProductList() []*ShopCardProduct {
+ if x != nil {
+ return x.CardProductList
+ }
+ return nil
+}
+
+func (x *Shop) GetMcoinProductList() []*ShopMcoinProduct {
+ if x != nil {
+ return x.McoinProductList
+ }
+ return nil
+}
+
+func (x *Shop) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *Shop) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *Shop) GetShopType() uint32 {
+ if x != nil {
+ return x.ShopType
+ }
+ return 0
+}
+
+var File_Shop_proto protoreflect.FileDescriptor
+
+var file_Shop_proto_rawDesc = []byte{
+ 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x68, 0x6f, 0x70, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f,
+ 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x53, 0x68, 0x6f, 0x70,
+ 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x53, 0x68, 0x6f, 0x70, 0x4d, 0x63, 0x6f, 0x69, 0x6e,
+ 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x03,
+ 0x0a, 0x04, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x4b, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72,
+ 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f,
+ 0x70, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52,
+ 0x12, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x64, 0x73,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x42, 0x0a, 0x11, 0x63, 0x61, 0x72, 0x64,
+ 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x70,
+ 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x0f, 0x63, 0x61, 0x72,
+ 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x12,
+ 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
+ 0x74, 0x52, 0x10, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72,
+ 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
+ 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x68, 0x6f, 0x70,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x68, 0x6f,
+ 0x70, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Shop_proto_rawDescOnce sync.Once
+ file_Shop_proto_rawDescData = file_Shop_proto_rawDesc
+)
+
+func file_Shop_proto_rawDescGZIP() []byte {
+ file_Shop_proto_rawDescOnce.Do(func() {
+ file_Shop_proto_rawDescData = protoimpl.X.CompressGZIP(file_Shop_proto_rawDescData)
+ })
+ return file_Shop_proto_rawDescData
+}
+
+var file_Shop_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Shop_proto_goTypes = []interface{}{
+ (*Shop)(nil), // 0: proto.Shop
+ (*ShopConcertProduct)(nil), // 1: proto.ShopConcertProduct
+ (*ShopGoods)(nil), // 2: proto.ShopGoods
+ (*ShopCardProduct)(nil), // 3: proto.ShopCardProduct
+ (*ShopMcoinProduct)(nil), // 4: proto.ShopMcoinProduct
+}
+var file_Shop_proto_depIdxs = []int32{
+ 1, // 0: proto.Shop.concert_product_list:type_name -> proto.ShopConcertProduct
+ 2, // 1: proto.Shop.goods_list:type_name -> proto.ShopGoods
+ 3, // 2: proto.Shop.card_product_list:type_name -> proto.ShopCardProduct
+ 4, // 3: proto.Shop.mcoin_product_list:type_name -> proto.ShopMcoinProduct
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_Shop_proto_init() }
+func file_Shop_proto_init() {
+ if File_Shop_proto != nil {
+ return
+ }
+ file_ShopCardProduct_proto_init()
+ file_ShopConcertProduct_proto_init()
+ file_ShopGoods_proto_init()
+ file_ShopMcoinProduct_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_Shop_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Shop); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Shop_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Shop_proto_goTypes,
+ DependencyIndexes: file_Shop_proto_depIdxs,
+ MessageInfos: file_Shop_proto_msgTypes,
+ }.Build()
+ File_Shop_proto = out.File
+ file_Shop_proto_rawDesc = nil
+ file_Shop_proto_goTypes = nil
+ file_Shop_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShopCardProduct.pb.go b/protocol/proto/ShopCardProduct.pb.go
new file mode 100644
index 00000000..c801614e
--- /dev/null
+++ b/protocol/proto/ShopCardProduct.pb.go
@@ -0,0 +1,338 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShopCardProduct.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShopCardProduct struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ PriceTier string `protobuf:"bytes,2,opt,name=price_tier,json=priceTier,proto3" json:"price_tier,omitempty"`
+ McoinBase uint32 `protobuf:"varint,3,opt,name=mcoin_base,json=mcoinBase,proto3" json:"mcoin_base,omitempty"`
+ HcoinPerDay uint32 `protobuf:"varint,4,opt,name=hcoin_per_day,json=hcoinPerDay,proto3" json:"hcoin_per_day,omitempty"`
+ Days uint32 `protobuf:"varint,5,opt,name=days,proto3" json:"days,omitempty"`
+ RemainRewardDays uint32 `protobuf:"varint,6,opt,name=remain_reward_days,json=remainRewardDays,proto3" json:"remain_reward_days,omitempty"`
+ CardProductType uint32 `protobuf:"varint,7,opt,name=card_product_type,json=cardProductType,proto3" json:"card_product_type,omitempty"`
+ // Types that are assignable to ExtraCardData:
+ //
+ // *ShopCardProduct_ResinCard_
+ ExtraCardData isShopCardProduct_ExtraCardData `protobuf_oneof:"extra_card_data"`
+}
+
+func (x *ShopCardProduct) Reset() {
+ *x = ShopCardProduct{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShopCardProduct_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShopCardProduct) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShopCardProduct) ProtoMessage() {}
+
+func (x *ShopCardProduct) ProtoReflect() protoreflect.Message {
+ mi := &file_ShopCardProduct_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShopCardProduct.ProtoReflect.Descriptor instead.
+func (*ShopCardProduct) Descriptor() ([]byte, []int) {
+ return file_ShopCardProduct_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShopCardProduct) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *ShopCardProduct) GetPriceTier() string {
+ if x != nil {
+ return x.PriceTier
+ }
+ return ""
+}
+
+func (x *ShopCardProduct) GetMcoinBase() uint32 {
+ if x != nil {
+ return x.McoinBase
+ }
+ return 0
+}
+
+func (x *ShopCardProduct) GetHcoinPerDay() uint32 {
+ if x != nil {
+ return x.HcoinPerDay
+ }
+ return 0
+}
+
+func (x *ShopCardProduct) GetDays() uint32 {
+ if x != nil {
+ return x.Days
+ }
+ return 0
+}
+
+func (x *ShopCardProduct) GetRemainRewardDays() uint32 {
+ if x != nil {
+ return x.RemainRewardDays
+ }
+ return 0
+}
+
+func (x *ShopCardProduct) GetCardProductType() uint32 {
+ if x != nil {
+ return x.CardProductType
+ }
+ return 0
+}
+
+func (m *ShopCardProduct) GetExtraCardData() isShopCardProduct_ExtraCardData {
+ if m != nil {
+ return m.ExtraCardData
+ }
+ return nil
+}
+
+func (x *ShopCardProduct) GetResinCard() *ShopCardProduct_ResinCard {
+ if x, ok := x.GetExtraCardData().(*ShopCardProduct_ResinCard_); ok {
+ return x.ResinCard
+ }
+ return nil
+}
+
+type isShopCardProduct_ExtraCardData interface {
+ isShopCardProduct_ExtraCardData()
+}
+
+type ShopCardProduct_ResinCard_ struct {
+ ResinCard *ShopCardProduct_ResinCard `protobuf:"bytes,101,opt,name=resin_card,json=resinCard,proto3,oneof"`
+}
+
+func (*ShopCardProduct_ResinCard_) isShopCardProduct_ExtraCardData() {}
+
+type ShopCardProduct_ResinCard struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BaseItemList []*ItemParam `protobuf:"bytes,1,rep,name=base_item_list,json=baseItemList,proto3" json:"base_item_list,omitempty"`
+ PerDayItemList []*ItemParam `protobuf:"bytes,2,rep,name=per_day_item_list,json=perDayItemList,proto3" json:"per_day_item_list,omitempty"`
+}
+
+func (x *ShopCardProduct_ResinCard) Reset() {
+ *x = ShopCardProduct_ResinCard{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShopCardProduct_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShopCardProduct_ResinCard) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShopCardProduct_ResinCard) ProtoMessage() {}
+
+func (x *ShopCardProduct_ResinCard) ProtoReflect() protoreflect.Message {
+ mi := &file_ShopCardProduct_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShopCardProduct_ResinCard.ProtoReflect.Descriptor instead.
+func (*ShopCardProduct_ResinCard) Descriptor() ([]byte, []int) {
+ return file_ShopCardProduct_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *ShopCardProduct_ResinCard) GetBaseItemList() []*ItemParam {
+ if x != nil {
+ return x.BaseItemList
+ }
+ return nil
+}
+
+func (x *ShopCardProduct_ResinCard) GetPerDayItemList() []*ItemParam {
+ if x != nil {
+ return x.PerDayItemList
+ }
+ return nil
+}
+
+var File_ShopCardProduct_proto protoreflect.FileDescriptor
+
+var file_ShopCardProduct_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x68, 0x6f, 0x70, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
+ 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
+ 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xd9, 0x03, 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x70, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64,
+ 0x75, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
+ 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x65,
+ 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x42, 0x61, 0x73, 0x65,
+ 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x61,
+ 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x50, 0x65,
+ 0x72, 0x44, 0x61, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x04, 0x64, 0x61, 0x79, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x61,
+ 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x44, 0x61, 0x79, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x70,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x63, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x72, 0x64,
+ 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x68, 0x6f, 0x70, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x52,
+ 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x73, 0x69,
+ 0x6e, 0x43, 0x61, 0x72, 0x64, 0x1a, 0x80, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43,
+ 0x61, 0x72, 0x64, 0x12, 0x36, 0x0a, 0x0e, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x62,
+ 0x61, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x11, 0x70,
+ 0x65, 0x72, 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
+ 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x44, 0x61, 0x79,
+ 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72,
+ 0x61, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShopCardProduct_proto_rawDescOnce sync.Once
+ file_ShopCardProduct_proto_rawDescData = file_ShopCardProduct_proto_rawDesc
+)
+
+func file_ShopCardProduct_proto_rawDescGZIP() []byte {
+ file_ShopCardProduct_proto_rawDescOnce.Do(func() {
+ file_ShopCardProduct_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShopCardProduct_proto_rawDescData)
+ })
+ return file_ShopCardProduct_proto_rawDescData
+}
+
+var file_ShopCardProduct_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_ShopCardProduct_proto_goTypes = []interface{}{
+ (*ShopCardProduct)(nil), // 0: proto.ShopCardProduct
+ (*ShopCardProduct_ResinCard)(nil), // 1: proto.ShopCardProduct.ResinCard
+ (*ItemParam)(nil), // 2: proto.ItemParam
+}
+var file_ShopCardProduct_proto_depIdxs = []int32{
+ 1, // 0: proto.ShopCardProduct.resin_card:type_name -> proto.ShopCardProduct.ResinCard
+ 2, // 1: proto.ShopCardProduct.ResinCard.base_item_list:type_name -> proto.ItemParam
+ 2, // 2: proto.ShopCardProduct.ResinCard.per_day_item_list:type_name -> proto.ItemParam
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_ShopCardProduct_proto_init() }
+func file_ShopCardProduct_proto_init() {
+ if File_ShopCardProduct_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ShopCardProduct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShopCardProduct); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_ShopCardProduct_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShopCardProduct_ResinCard); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ShopCardProduct_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*ShopCardProduct_ResinCard_)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShopCardProduct_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShopCardProduct_proto_goTypes,
+ DependencyIndexes: file_ShopCardProduct_proto_depIdxs,
+ MessageInfos: file_ShopCardProduct_proto_msgTypes,
+ }.Build()
+ File_ShopCardProduct_proto = out.File
+ file_ShopCardProduct_proto_rawDesc = nil
+ file_ShopCardProduct_proto_goTypes = nil
+ file_ShopCardProduct_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShopConcertProduct.pb.go b/protocol/proto/ShopConcertProduct.pb.go
new file mode 100644
index 00000000..dfefd578
--- /dev/null
+++ b/protocol/proto/ShopConcertProduct.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShopConcertProduct.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShopConcertProduct struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ PriceTier string `protobuf:"bytes,2,opt,name=price_tier,json=priceTier,proto3" json:"price_tier,omitempty"`
+ ObtainCount uint32 `protobuf:"varint,3,opt,name=obtain_count,json=obtainCount,proto3" json:"obtain_count,omitempty"`
+ ObtainLimit uint32 `protobuf:"varint,4,opt,name=obtain_limit,json=obtainLimit,proto3" json:"obtain_limit,omitempty"`
+ BeginTime uint32 `protobuf:"varint,5,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ EndTime uint32 `protobuf:"varint,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ BuyTimes uint32 `protobuf:"varint,7,opt,name=buy_times,json=buyTimes,proto3" json:"buy_times,omitempty"`
+}
+
+func (x *ShopConcertProduct) Reset() {
+ *x = ShopConcertProduct{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShopConcertProduct_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShopConcertProduct) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShopConcertProduct) ProtoMessage() {}
+
+func (x *ShopConcertProduct) ProtoReflect() protoreflect.Message {
+ mi := &file_ShopConcertProduct_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShopConcertProduct.ProtoReflect.Descriptor instead.
+func (*ShopConcertProduct) Descriptor() ([]byte, []int) {
+ return file_ShopConcertProduct_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShopConcertProduct) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *ShopConcertProduct) GetPriceTier() string {
+ if x != nil {
+ return x.PriceTier
+ }
+ return ""
+}
+
+func (x *ShopConcertProduct) GetObtainCount() uint32 {
+ if x != nil {
+ return x.ObtainCount
+ }
+ return 0
+}
+
+func (x *ShopConcertProduct) GetObtainLimit() uint32 {
+ if x != nil {
+ return x.ObtainLimit
+ }
+ return 0
+}
+
+func (x *ShopConcertProduct) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *ShopConcertProduct) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *ShopConcertProduct) GetBuyTimes() uint32 {
+ if x != nil {
+ return x.BuyTimes
+ }
+ return 0
+}
+
+var File_ShopConcertProduct_proto protoreflect.FileDescriptor
+
+var file_ShopConcertProduct_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x68, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x50, 0x72, 0x6f,
+ 0x64, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xef, 0x01, 0x0a, 0x12, 0x53, 0x68, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x63, 0x65, 0x72,
+ 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64,
+ 0x75, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72,
+ 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65,
+ 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69,
+ 0x63, 0x65, 0x54, 0x69, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x62,
+ 0x74, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x62, 0x74,
+ 0x61, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65,
+ 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65,
+ 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x75, 0x79, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x75, 0x79, 0x54, 0x69,
+ 0x6d, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShopConcertProduct_proto_rawDescOnce sync.Once
+ file_ShopConcertProduct_proto_rawDescData = file_ShopConcertProduct_proto_rawDesc
+)
+
+func file_ShopConcertProduct_proto_rawDescGZIP() []byte {
+ file_ShopConcertProduct_proto_rawDescOnce.Do(func() {
+ file_ShopConcertProduct_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShopConcertProduct_proto_rawDescData)
+ })
+ return file_ShopConcertProduct_proto_rawDescData
+}
+
+var file_ShopConcertProduct_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShopConcertProduct_proto_goTypes = []interface{}{
+ (*ShopConcertProduct)(nil), // 0: proto.ShopConcertProduct
+}
+var file_ShopConcertProduct_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ShopConcertProduct_proto_init() }
+func file_ShopConcertProduct_proto_init() {
+ if File_ShopConcertProduct_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ShopConcertProduct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShopConcertProduct); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShopConcertProduct_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShopConcertProduct_proto_goTypes,
+ DependencyIndexes: file_ShopConcertProduct_proto_depIdxs,
+ MessageInfos: file_ShopConcertProduct_proto_msgTypes,
+ }.Build()
+ File_ShopConcertProduct_proto = out.File
+ file_ShopConcertProduct_proto_rawDesc = nil
+ file_ShopConcertProduct_proto_goTypes = nil
+ file_ShopConcertProduct_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShopGoods.pb.go b/protocol/proto/ShopGoods.pb.go
new file mode 100644
index 00000000..39095817
--- /dev/null
+++ b/protocol/proto/ShopGoods.pb.go
@@ -0,0 +1,357 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShopGoods.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShopGoods struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DiscountEndTime uint32 `protobuf:"varint,258,opt,name=discount_end_time,json=discountEndTime,proto3" json:"discount_end_time,omitempty"`
+ MinLevel uint32 `protobuf:"varint,8,opt,name=min_level,json=minLevel,proto3" json:"min_level,omitempty"`
+ EndTime uint32 `protobuf:"varint,11,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ CostItemList []*ItemParam `protobuf:"bytes,3,rep,name=cost_item_list,json=costItemList,proto3" json:"cost_item_list,omitempty"`
+ SecondarySheetId uint32 `protobuf:"varint,318,opt,name=secondary_sheet_id,json=secondarySheetId,proto3" json:"secondary_sheet_id,omitempty"`
+ Hcoin uint32 `protobuf:"varint,1,opt,name=hcoin,proto3" json:"hcoin,omitempty"`
+ Mcoin uint32 `protobuf:"varint,14,opt,name=mcoin,proto3" json:"mcoin,omitempty"`
+ DiscountId uint32 `protobuf:"varint,1998,opt,name=discount_id,json=discountId,proto3" json:"discount_id,omitempty"`
+ SingleLimit uint32 `protobuf:"varint,247,opt,name=single_limit,json=singleLimit,proto3" json:"single_limit,omitempty"`
+ GoodsId uint32 `protobuf:"varint,13,opt,name=goods_id,json=goodsId,proto3" json:"goods_id,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,7,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ MaxLevel uint32 `protobuf:"varint,4,opt,name=max_level,json=maxLevel,proto3" json:"max_level,omitempty"`
+ DisableType uint32 `protobuf:"varint,6,opt,name=disable_type,json=disableType,proto3" json:"disable_type,omitempty"`
+ DiscountBeginTime uint32 `protobuf:"varint,574,opt,name=discount_begin_time,json=discountBeginTime,proto3" json:"discount_begin_time,omitempty"`
+ PreGoodsIdList []uint32 `protobuf:"varint,2,rep,packed,name=pre_goods_id_list,json=preGoodsIdList,proto3" json:"pre_goods_id_list,omitempty"`
+ BeginTime uint32 `protobuf:"varint,5,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+ Scoin uint32 `protobuf:"varint,15,opt,name=scoin,proto3" json:"scoin,omitempty"`
+ BoughtNum uint32 `protobuf:"varint,10,opt,name=bought_num,json=boughtNum,proto3" json:"bought_num,omitempty"`
+ BuyLimit uint32 `protobuf:"varint,12,opt,name=buy_limit,json=buyLimit,proto3" json:"buy_limit,omitempty"`
+ GoodsItem *ItemParam `protobuf:"bytes,9,opt,name=goods_item,json=goodsItem,proto3" json:"goods_item,omitempty"`
+}
+
+func (x *ShopGoods) Reset() {
+ *x = ShopGoods{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShopGoods_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShopGoods) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShopGoods) ProtoMessage() {}
+
+func (x *ShopGoods) ProtoReflect() protoreflect.Message {
+ mi := &file_ShopGoods_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShopGoods.ProtoReflect.Descriptor instead.
+func (*ShopGoods) Descriptor() ([]byte, []int) {
+ return file_ShopGoods_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShopGoods) GetDiscountEndTime() uint32 {
+ if x != nil {
+ return x.DiscountEndTime
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetMinLevel() uint32 {
+ if x != nil {
+ return x.MinLevel
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetCostItemList() []*ItemParam {
+ if x != nil {
+ return x.CostItemList
+ }
+ return nil
+}
+
+func (x *ShopGoods) GetSecondarySheetId() uint32 {
+ if x != nil {
+ return x.SecondarySheetId
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetHcoin() uint32 {
+ if x != nil {
+ return x.Hcoin
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetMcoin() uint32 {
+ if x != nil {
+ return x.Mcoin
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetDiscountId() uint32 {
+ if x != nil {
+ return x.DiscountId
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetSingleLimit() uint32 {
+ if x != nil {
+ return x.SingleLimit
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetGoodsId() uint32 {
+ if x != nil {
+ return x.GoodsId
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetMaxLevel() uint32 {
+ if x != nil {
+ return x.MaxLevel
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetDisableType() uint32 {
+ if x != nil {
+ return x.DisableType
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetDiscountBeginTime() uint32 {
+ if x != nil {
+ return x.DiscountBeginTime
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetPreGoodsIdList() []uint32 {
+ if x != nil {
+ return x.PreGoodsIdList
+ }
+ return nil
+}
+
+func (x *ShopGoods) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetScoin() uint32 {
+ if x != nil {
+ return x.Scoin
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetBoughtNum() uint32 {
+ if x != nil {
+ return x.BoughtNum
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetBuyLimit() uint32 {
+ if x != nil {
+ return x.BuyLimit
+ }
+ return 0
+}
+
+func (x *ShopGoods) GetGoodsItem() *ItemParam {
+ if x != nil {
+ return x.GoodsItem
+ }
+ return nil
+}
+
+var File_ShopGoods_proto protoreflect.FileDescriptor
+
+var file_ShopGoods_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x05, 0x0a, 0x09, 0x53, 0x68,
+ 0x6f, 0x70, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x82, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x64,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0e,
+ 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72,
+ 0x79, 0x5f, 0x73, 0x68, 0x65, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xbe, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x53, 0x68, 0x65, 0x65,
+ 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x68, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x63, 0x6f,
+ 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x12,
+ 0x20, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xce,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
+ 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
+ 0x74, 0x18, 0xf7, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
+ 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x69,
+ 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64,
+ 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x78,
+ 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09,
+ 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73,
+ 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x13,
+ 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0xbe, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x64, 0x69, 0x73, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a,
+ 0x11, 0x70, 0x72, 0x65, 0x5f, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x47, 0x6f, 0x6f,
+ 0x64, 0x73, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65,
+ 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x69, 0x6e,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x69, 0x6e, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09,
+ 0x62, 0x75, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x62, 0x75, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x67, 0x6f, 0x6f,
+ 0x64, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
+ 0x09, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShopGoods_proto_rawDescOnce sync.Once
+ file_ShopGoods_proto_rawDescData = file_ShopGoods_proto_rawDesc
+)
+
+func file_ShopGoods_proto_rawDescGZIP() []byte {
+ file_ShopGoods_proto_rawDescOnce.Do(func() {
+ file_ShopGoods_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShopGoods_proto_rawDescData)
+ })
+ return file_ShopGoods_proto_rawDescData
+}
+
+var file_ShopGoods_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShopGoods_proto_goTypes = []interface{}{
+ (*ShopGoods)(nil), // 0: proto.ShopGoods
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_ShopGoods_proto_depIdxs = []int32{
+ 1, // 0: proto.ShopGoods.cost_item_list:type_name -> proto.ItemParam
+ 1, // 1: proto.ShopGoods.goods_item:type_name -> proto.ItemParam
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ShopGoods_proto_init() }
+func file_ShopGoods_proto_init() {
+ if File_ShopGoods_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ShopGoods_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShopGoods); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShopGoods_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShopGoods_proto_goTypes,
+ DependencyIndexes: file_ShopGoods_proto_depIdxs,
+ MessageInfos: file_ShopGoods_proto_msgTypes,
+ }.Build()
+ File_ShopGoods_proto = out.File
+ file_ShopGoods_proto_rawDesc = nil
+ file_ShopGoods_proto_goTypes = nil
+ file_ShopGoods_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShopMcoinProduct.pb.go b/protocol/proto/ShopMcoinProduct.pb.go
new file mode 100644
index 00000000..39af2603
--- /dev/null
+++ b/protocol/proto/ShopMcoinProduct.pb.go
@@ -0,0 +1,219 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShopMcoinProduct.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShopMcoinProduct struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProductId string `protobuf:"bytes,1,opt,name=product_id,json=productId,proto3" json:"product_id,omitempty"`
+ PriceTier string `protobuf:"bytes,2,opt,name=price_tier,json=priceTier,proto3" json:"price_tier,omitempty"`
+ McoinBase uint32 `protobuf:"varint,3,opt,name=mcoin_base,json=mcoinBase,proto3" json:"mcoin_base,omitempty"`
+ McoinNonFirst uint32 `protobuf:"varint,4,opt,name=mcoin_non_first,json=mcoinNonFirst,proto3" json:"mcoin_non_first,omitempty"`
+ McoinFirst uint32 `protobuf:"varint,5,opt,name=mcoin_first,json=mcoinFirst,proto3" json:"mcoin_first,omitempty"`
+ BoughtNum uint32 `protobuf:"varint,6,opt,name=bought_num,json=boughtNum,proto3" json:"bought_num,omitempty"`
+ IsAudit bool `protobuf:"varint,7,opt,name=is_audit,json=isAudit,proto3" json:"is_audit,omitempty"`
+}
+
+func (x *ShopMcoinProduct) Reset() {
+ *x = ShopMcoinProduct{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShopMcoinProduct_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShopMcoinProduct) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShopMcoinProduct) ProtoMessage() {}
+
+func (x *ShopMcoinProduct) ProtoReflect() protoreflect.Message {
+ mi := &file_ShopMcoinProduct_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShopMcoinProduct.ProtoReflect.Descriptor instead.
+func (*ShopMcoinProduct) Descriptor() ([]byte, []int) {
+ return file_ShopMcoinProduct_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShopMcoinProduct) GetProductId() string {
+ if x != nil {
+ return x.ProductId
+ }
+ return ""
+}
+
+func (x *ShopMcoinProduct) GetPriceTier() string {
+ if x != nil {
+ return x.PriceTier
+ }
+ return ""
+}
+
+func (x *ShopMcoinProduct) GetMcoinBase() uint32 {
+ if x != nil {
+ return x.McoinBase
+ }
+ return 0
+}
+
+func (x *ShopMcoinProduct) GetMcoinNonFirst() uint32 {
+ if x != nil {
+ return x.McoinNonFirst
+ }
+ return 0
+}
+
+func (x *ShopMcoinProduct) GetMcoinFirst() uint32 {
+ if x != nil {
+ return x.McoinFirst
+ }
+ return 0
+}
+
+func (x *ShopMcoinProduct) GetBoughtNum() uint32 {
+ if x != nil {
+ return x.BoughtNum
+ }
+ return 0
+}
+
+func (x *ShopMcoinProduct) GetIsAudit() bool {
+ if x != nil {
+ return x.IsAudit
+ }
+ return false
+}
+
+var File_ShopMcoinProduct_proto protoreflect.FileDescriptor
+
+var file_ShopMcoinProduct_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x68, 0x6f, 0x70, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x64, 0x75,
+ 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xf2, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x6f, 0x70, 0x4d, 0x63, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f,
+ 0x64, 0x75, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
+ 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x65,
+ 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69,
+ 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x62, 0x61, 0x73, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x42, 0x61, 0x73,
+ 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x66,
+ 0x69, 0x72, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x63, 0x6f, 0x69,
+ 0x6e, 0x4e, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x63, 0x6f,
+ 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6d, 0x63, 0x6f, 0x69, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6f,
+ 0x75, 0x67, 0x68, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x62, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f,
+ 0x61, 0x75, 0x64, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41,
+ 0x75, 0x64, 0x69, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShopMcoinProduct_proto_rawDescOnce sync.Once
+ file_ShopMcoinProduct_proto_rawDescData = file_ShopMcoinProduct_proto_rawDesc
+)
+
+func file_ShopMcoinProduct_proto_rawDescGZIP() []byte {
+ file_ShopMcoinProduct_proto_rawDescOnce.Do(func() {
+ file_ShopMcoinProduct_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShopMcoinProduct_proto_rawDescData)
+ })
+ return file_ShopMcoinProduct_proto_rawDescData
+}
+
+var file_ShopMcoinProduct_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShopMcoinProduct_proto_goTypes = []interface{}{
+ (*ShopMcoinProduct)(nil), // 0: proto.ShopMcoinProduct
+}
+var file_ShopMcoinProduct_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ShopMcoinProduct_proto_init() }
+func file_ShopMcoinProduct_proto_init() {
+ if File_ShopMcoinProduct_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ShopMcoinProduct_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShopMcoinProduct); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShopMcoinProduct_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShopMcoinProduct_proto_goTypes,
+ DependencyIndexes: file_ShopMcoinProduct_proto_depIdxs,
+ MessageInfos: file_ShopMcoinProduct_proto_msgTypes,
+ }.Build()
+ File_ShopMcoinProduct_proto = out.File
+ file_ShopMcoinProduct_proto_rawDesc = nil
+ file_ShopMcoinProduct_proto_goTypes = nil
+ file_ShopMcoinProduct_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShortAbilityHashPair.pb.go b/protocol/proto/ShortAbilityHashPair.pb.go
new file mode 100644
index 00000000..73419545
--- /dev/null
+++ b/protocol/proto/ShortAbilityHashPair.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShortAbilityHashPair.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShortAbilityHashPair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityConfigHash int32 `protobuf:"fixed32,15,opt,name=ability_config_hash,json=abilityConfigHash,proto3" json:"ability_config_hash,omitempty"`
+ AbilityNameHash int32 `protobuf:"fixed32,1,opt,name=ability_name_hash,json=abilityNameHash,proto3" json:"ability_name_hash,omitempty"`
+}
+
+func (x *ShortAbilityHashPair) Reset() {
+ *x = ShortAbilityHashPair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShortAbilityHashPair_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShortAbilityHashPair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShortAbilityHashPair) ProtoMessage() {}
+
+func (x *ShortAbilityHashPair) ProtoReflect() protoreflect.Message {
+ mi := &file_ShortAbilityHashPair_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShortAbilityHashPair.ProtoReflect.Descriptor instead.
+func (*ShortAbilityHashPair) Descriptor() ([]byte, []int) {
+ return file_ShortAbilityHashPair_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShortAbilityHashPair) GetAbilityConfigHash() int32 {
+ if x != nil {
+ return x.AbilityConfigHash
+ }
+ return 0
+}
+
+func (x *ShortAbilityHashPair) GetAbilityNameHash() int32 {
+ if x != nil {
+ return x.AbilityNameHash
+ }
+ return 0
+}
+
+var File_ShortAbilityHashPair_proto protoreflect.FileDescriptor
+
+var file_ShortAbilityHashPair_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x61,
+ 0x73, 0x68, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x14, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x48, 0x61, 0x73, 0x68, 0x50, 0x61, 0x69, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61,
+ 0x73, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x11, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+ 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x61,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e,
+ 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShortAbilityHashPair_proto_rawDescOnce sync.Once
+ file_ShortAbilityHashPair_proto_rawDescData = file_ShortAbilityHashPair_proto_rawDesc
+)
+
+func file_ShortAbilityHashPair_proto_rawDescGZIP() []byte {
+ file_ShortAbilityHashPair_proto_rawDescOnce.Do(func() {
+ file_ShortAbilityHashPair_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShortAbilityHashPair_proto_rawDescData)
+ })
+ return file_ShortAbilityHashPair_proto_rawDescData
+}
+
+var file_ShortAbilityHashPair_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShortAbilityHashPair_proto_goTypes = []interface{}{
+ (*ShortAbilityHashPair)(nil), // 0: proto.ShortAbilityHashPair
+}
+var file_ShortAbilityHashPair_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ShortAbilityHashPair_proto_init() }
+func file_ShortAbilityHashPair_proto_init() {
+ if File_ShortAbilityHashPair_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ShortAbilityHashPair_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShortAbilityHashPair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShortAbilityHashPair_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShortAbilityHashPair_proto_goTypes,
+ DependencyIndexes: file_ShortAbilityHashPair_proto_depIdxs,
+ MessageInfos: file_ShortAbilityHashPair_proto_msgTypes,
+ }.Build()
+ File_ShortAbilityHashPair_proto = out.File
+ file_ShortAbilityHashPair_proto_rawDesc = nil
+ file_ShortAbilityHashPair_proto_goTypes = nil
+ file_ShortAbilityHashPair_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShowAvatarInfo.pb.go b/protocol/proto/ShowAvatarInfo.pb.go
new file mode 100644
index 00000000..8461055e
--- /dev/null
+++ b/protocol/proto/ShowAvatarInfo.pb.go
@@ -0,0 +1,342 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShowAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShowAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ PropMap map[uint32]*PropValue `protobuf:"bytes,2,rep,name=prop_map,json=propMap,proto3" json:"prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ TalentIdList []uint32 `protobuf:"varint,3,rep,packed,name=talent_id_list,json=talentIdList,proto3" json:"talent_id_list,omitempty"`
+ FightPropMap map[uint32]float32 `protobuf:"bytes,4,rep,name=fight_prop_map,json=fightPropMap,proto3" json:"fight_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
+ SkillDepotId uint32 `protobuf:"varint,5,opt,name=skill_depot_id,json=skillDepotId,proto3" json:"skill_depot_id,omitempty"`
+ CoreProudSkillLevel uint32 `protobuf:"varint,6,opt,name=core_proud_skill_level,json=coreProudSkillLevel,proto3" json:"core_proud_skill_level,omitempty"`
+ InherentProudSkillList []uint32 `protobuf:"varint,7,rep,packed,name=inherent_proud_skill_list,json=inherentProudSkillList,proto3" json:"inherent_proud_skill_list,omitempty"`
+ SkillLevelMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=skill_level_map,json=skillLevelMap,proto3" json:"skill_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ ProudSkillExtraLevelMap map[uint32]uint32 `protobuf:"bytes,9,rep,name=proud_skill_extra_level_map,json=proudSkillExtraLevelMap,proto3" json:"proud_skill_extra_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ EquipList []*ShowEquip `protobuf:"bytes,10,rep,name=equip_list,json=equipList,proto3" json:"equip_list,omitempty"`
+ FetterInfo *AvatarFetterInfo `protobuf:"bytes,11,opt,name=fetter_info,json=fetterInfo,proto3" json:"fetter_info,omitempty"`
+ CostumeId uint32 `protobuf:"varint,12,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+ ExcelInfo *AvatarExcelInfo `protobuf:"bytes,13,opt,name=excel_info,json=excelInfo,proto3" json:"excel_info,omitempty"`
+}
+
+func (x *ShowAvatarInfo) Reset() {
+ *x = ShowAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShowAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShowAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShowAvatarInfo) ProtoMessage() {}
+
+func (x *ShowAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ShowAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShowAvatarInfo.ProtoReflect.Descriptor instead.
+func (*ShowAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_ShowAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShowAvatarInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *ShowAvatarInfo) GetPropMap() map[uint32]*PropValue {
+ if x != nil {
+ return x.PropMap
+ }
+ return nil
+}
+
+func (x *ShowAvatarInfo) GetTalentIdList() []uint32 {
+ if x != nil {
+ return x.TalentIdList
+ }
+ return nil
+}
+
+func (x *ShowAvatarInfo) GetFightPropMap() map[uint32]float32 {
+ if x != nil {
+ return x.FightPropMap
+ }
+ return nil
+}
+
+func (x *ShowAvatarInfo) GetSkillDepotId() uint32 {
+ if x != nil {
+ return x.SkillDepotId
+ }
+ return 0
+}
+
+func (x *ShowAvatarInfo) GetCoreProudSkillLevel() uint32 {
+ if x != nil {
+ return x.CoreProudSkillLevel
+ }
+ return 0
+}
+
+func (x *ShowAvatarInfo) GetInherentProudSkillList() []uint32 {
+ if x != nil {
+ return x.InherentProudSkillList
+ }
+ return nil
+}
+
+func (x *ShowAvatarInfo) GetSkillLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkillLevelMap
+ }
+ return nil
+}
+
+func (x *ShowAvatarInfo) GetProudSkillExtraLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.ProudSkillExtraLevelMap
+ }
+ return nil
+}
+
+func (x *ShowAvatarInfo) GetEquipList() []*ShowEquip {
+ if x != nil {
+ return x.EquipList
+ }
+ return nil
+}
+
+func (x *ShowAvatarInfo) GetFetterInfo() *AvatarFetterInfo {
+ if x != nil {
+ return x.FetterInfo
+ }
+ return nil
+}
+
+func (x *ShowAvatarInfo) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+func (x *ShowAvatarInfo) GetExcelInfo() *AvatarExcelInfo {
+ if x != nil {
+ return x.ExcelInfo
+ }
+ return nil
+}
+
+var File_ShowAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_ShowAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x50, 0x72,
+ 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x53,
+ 0x68, 0x6f, 0x77, 0x45, 0x71, 0x75, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99,
+ 0x08, 0x0a, 0x0e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x3d,
+ 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x12, 0x24, 0x0a,
+ 0x0e, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0e, 0x66, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x6f,
+ 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x66, 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d,
+ 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x6f,
+ 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x44, 0x65, 0x70, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x63, 0x6f, 0x72, 0x65,
+ 0x5f, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72,
+ 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x39, 0x0a,
+ 0x19, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x5f,
+ 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x16, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53,
+ 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x70, 0x0a, 0x1b, 0x70, 0x72,
+ 0x6f, 0x75, 0x64, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x17, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x72, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x2f, 0x0a, 0x0a,
+ 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x45, 0x71, 0x75,
+ 0x69, 0x70, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a,
+ 0x0b, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x66, 0x65, 0x74,
+ 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75,
+ 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73,
+ 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x45, 0x78, 0x63, 0x65, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x09, 0x65, 0x78, 0x63, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x4c, 0x0a,
+ 0x0c, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x46,
+ 0x69, 0x67, 0x68, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12,
+ 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a,
+ 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x75, 0x64, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x72,
+ 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+ 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79,
+ 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShowAvatarInfo_proto_rawDescOnce sync.Once
+ file_ShowAvatarInfo_proto_rawDescData = file_ShowAvatarInfo_proto_rawDesc
+)
+
+func file_ShowAvatarInfo_proto_rawDescGZIP() []byte {
+ file_ShowAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_ShowAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShowAvatarInfo_proto_rawDescData)
+ })
+ return file_ShowAvatarInfo_proto_rawDescData
+}
+
+var file_ShowAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
+var file_ShowAvatarInfo_proto_goTypes = []interface{}{
+ (*ShowAvatarInfo)(nil), // 0: proto.ShowAvatarInfo
+ nil, // 1: proto.ShowAvatarInfo.PropMapEntry
+ nil, // 2: proto.ShowAvatarInfo.FightPropMapEntry
+ nil, // 3: proto.ShowAvatarInfo.SkillLevelMapEntry
+ nil, // 4: proto.ShowAvatarInfo.ProudSkillExtraLevelMapEntry
+ (*ShowEquip)(nil), // 5: proto.ShowEquip
+ (*AvatarFetterInfo)(nil), // 6: proto.AvatarFetterInfo
+ (*AvatarExcelInfo)(nil), // 7: proto.AvatarExcelInfo
+ (*PropValue)(nil), // 8: proto.PropValue
+}
+var file_ShowAvatarInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.ShowAvatarInfo.prop_map:type_name -> proto.ShowAvatarInfo.PropMapEntry
+ 2, // 1: proto.ShowAvatarInfo.fight_prop_map:type_name -> proto.ShowAvatarInfo.FightPropMapEntry
+ 3, // 2: proto.ShowAvatarInfo.skill_level_map:type_name -> proto.ShowAvatarInfo.SkillLevelMapEntry
+ 4, // 3: proto.ShowAvatarInfo.proud_skill_extra_level_map:type_name -> proto.ShowAvatarInfo.ProudSkillExtraLevelMapEntry
+ 5, // 4: proto.ShowAvatarInfo.equip_list:type_name -> proto.ShowEquip
+ 6, // 5: proto.ShowAvatarInfo.fetter_info:type_name -> proto.AvatarFetterInfo
+ 7, // 6: proto.ShowAvatarInfo.excel_info:type_name -> proto.AvatarExcelInfo
+ 8, // 7: proto.ShowAvatarInfo.PropMapEntry.value:type_name -> proto.PropValue
+ 8, // [8:8] is the sub-list for method output_type
+ 8, // [8:8] is the sub-list for method input_type
+ 8, // [8:8] is the sub-list for extension type_name
+ 8, // [8:8] is the sub-list for extension extendee
+ 0, // [0:8] is the sub-list for field type_name
+}
+
+func init() { file_ShowAvatarInfo_proto_init() }
+func file_ShowAvatarInfo_proto_init() {
+ if File_ShowAvatarInfo_proto != nil {
+ return
+ }
+ file_AvatarExcelInfo_proto_init()
+ file_AvatarFetterInfo_proto_init()
+ file_PropValue_proto_init()
+ file_ShowEquip_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ShowAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShowAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShowAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 5,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShowAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_ShowAvatarInfo_proto_depIdxs,
+ MessageInfos: file_ShowAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_ShowAvatarInfo_proto = out.File
+ file_ShowAvatarInfo_proto_rawDesc = nil
+ file_ShowAvatarInfo_proto_goTypes = nil
+ file_ShowAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShowClientGuideNotify.pb.go b/protocol/proto/ShowClientGuideNotify.pb.go
new file mode 100644
index 00000000..e7875662
--- /dev/null
+++ b/protocol/proto/ShowClientGuideNotify.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShowClientGuideNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3005
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ShowClientGuideNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GuideName string `protobuf:"bytes,7,opt,name=guide_name,json=guideName,proto3" json:"guide_name,omitempty"`
+}
+
+func (x *ShowClientGuideNotify) Reset() {
+ *x = ShowClientGuideNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShowClientGuideNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShowClientGuideNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShowClientGuideNotify) ProtoMessage() {}
+
+func (x *ShowClientGuideNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ShowClientGuideNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShowClientGuideNotify.ProtoReflect.Descriptor instead.
+func (*ShowClientGuideNotify) Descriptor() ([]byte, []int) {
+ return file_ShowClientGuideNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShowClientGuideNotify) GetGuideName() string {
+ if x != nil {
+ return x.GuideName
+ }
+ return ""
+}
+
+var File_ShowClientGuideNotify_proto protoreflect.FileDescriptor
+
+var file_ShowClientGuideNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x47, 0x75, 0x69, 0x64,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x15, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x47, 0x75, 0x69, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x67, 0x75, 0x69, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShowClientGuideNotify_proto_rawDescOnce sync.Once
+ file_ShowClientGuideNotify_proto_rawDescData = file_ShowClientGuideNotify_proto_rawDesc
+)
+
+func file_ShowClientGuideNotify_proto_rawDescGZIP() []byte {
+ file_ShowClientGuideNotify_proto_rawDescOnce.Do(func() {
+ file_ShowClientGuideNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShowClientGuideNotify_proto_rawDescData)
+ })
+ return file_ShowClientGuideNotify_proto_rawDescData
+}
+
+var file_ShowClientGuideNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShowClientGuideNotify_proto_goTypes = []interface{}{
+ (*ShowClientGuideNotify)(nil), // 0: proto.ShowClientGuideNotify
+}
+var file_ShowClientGuideNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ShowClientGuideNotify_proto_init() }
+func file_ShowClientGuideNotify_proto_init() {
+ if File_ShowClientGuideNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ShowClientGuideNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShowClientGuideNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShowClientGuideNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShowClientGuideNotify_proto_goTypes,
+ DependencyIndexes: file_ShowClientGuideNotify_proto_depIdxs,
+ MessageInfos: file_ShowClientGuideNotify_proto_msgTypes,
+ }.Build()
+ File_ShowClientGuideNotify_proto = out.File
+ file_ShowClientGuideNotify_proto_rawDesc = nil
+ file_ShowClientGuideNotify_proto_goTypes = nil
+ file_ShowClientGuideNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShowClientTutorialNotify.pb.go b/protocol/proto/ShowClientTutorialNotify.pb.go
new file mode 100644
index 00000000..86281c51
--- /dev/null
+++ b/protocol/proto/ShowClientTutorialNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShowClientTutorialNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3305
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ShowClientTutorialNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TutorialId uint32 `protobuf:"varint,2,opt,name=tutorial_id,json=tutorialId,proto3" json:"tutorial_id,omitempty"`
+}
+
+func (x *ShowClientTutorialNotify) Reset() {
+ *x = ShowClientTutorialNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShowClientTutorialNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShowClientTutorialNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShowClientTutorialNotify) ProtoMessage() {}
+
+func (x *ShowClientTutorialNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ShowClientTutorialNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShowClientTutorialNotify.ProtoReflect.Descriptor instead.
+func (*ShowClientTutorialNotify) Descriptor() ([]byte, []int) {
+ return file_ShowClientTutorialNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShowClientTutorialNotify) GetTutorialId() uint32 {
+ if x != nil {
+ return x.TutorialId
+ }
+ return 0
+}
+
+var File_ShowClientTutorialNotify_proto protoreflect.FileDescriptor
+
+var file_ShowClientTutorialNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x75, 0x74, 0x6f,
+ 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x18, 0x53, 0x68, 0x6f, 0x77, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69,
+ 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShowClientTutorialNotify_proto_rawDescOnce sync.Once
+ file_ShowClientTutorialNotify_proto_rawDescData = file_ShowClientTutorialNotify_proto_rawDesc
+)
+
+func file_ShowClientTutorialNotify_proto_rawDescGZIP() []byte {
+ file_ShowClientTutorialNotify_proto_rawDescOnce.Do(func() {
+ file_ShowClientTutorialNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShowClientTutorialNotify_proto_rawDescData)
+ })
+ return file_ShowClientTutorialNotify_proto_rawDescData
+}
+
+var file_ShowClientTutorialNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShowClientTutorialNotify_proto_goTypes = []interface{}{
+ (*ShowClientTutorialNotify)(nil), // 0: proto.ShowClientTutorialNotify
+}
+var file_ShowClientTutorialNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ShowClientTutorialNotify_proto_init() }
+func file_ShowClientTutorialNotify_proto_init() {
+ if File_ShowClientTutorialNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ShowClientTutorialNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShowClientTutorialNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShowClientTutorialNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShowClientTutorialNotify_proto_goTypes,
+ DependencyIndexes: file_ShowClientTutorialNotify_proto_depIdxs,
+ MessageInfos: file_ShowClientTutorialNotify_proto_msgTypes,
+ }.Build()
+ File_ShowClientTutorialNotify_proto = out.File
+ file_ShowClientTutorialNotify_proto_rawDesc = nil
+ file_ShowClientTutorialNotify_proto_goTypes = nil
+ file_ShowClientTutorialNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShowCommonTipsNotify.pb.go b/protocol/proto/ShowCommonTipsNotify.pb.go
new file mode 100644
index 00000000..f8e41a85
--- /dev/null
+++ b/protocol/proto/ShowCommonTipsNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShowCommonTipsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3352
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ShowCommonTipsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Content string `protobuf:"bytes,8,opt,name=content,proto3" json:"content,omitempty"`
+ Title string `protobuf:"bytes,13,opt,name=title,proto3" json:"title,omitempty"`
+ CloseTime uint32 `protobuf:"varint,4,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"`
+}
+
+func (x *ShowCommonTipsNotify) Reset() {
+ *x = ShowCommonTipsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShowCommonTipsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShowCommonTipsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShowCommonTipsNotify) ProtoMessage() {}
+
+func (x *ShowCommonTipsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ShowCommonTipsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShowCommonTipsNotify.ProtoReflect.Descriptor instead.
+func (*ShowCommonTipsNotify) Descriptor() ([]byte, []int) {
+ return file_ShowCommonTipsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShowCommonTipsNotify) GetContent() string {
+ if x != nil {
+ return x.Content
+ }
+ return ""
+}
+
+func (x *ShowCommonTipsNotify) GetTitle() string {
+ if x != nil {
+ return x.Title
+ }
+ return ""
+}
+
+func (x *ShowCommonTipsNotify) GetCloseTime() uint32 {
+ if x != nil {
+ return x.CloseTime
+ }
+ return 0
+}
+
+var File_ShowCommonTipsNotify_proto protoreflect.FileDescriptor
+
+var file_ShowCommonTipsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x69, 0x70, 0x73,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x14, 0x53, 0x68, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x54, 0x69, 0x70, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
+ 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShowCommonTipsNotify_proto_rawDescOnce sync.Once
+ file_ShowCommonTipsNotify_proto_rawDescData = file_ShowCommonTipsNotify_proto_rawDesc
+)
+
+func file_ShowCommonTipsNotify_proto_rawDescGZIP() []byte {
+ file_ShowCommonTipsNotify_proto_rawDescOnce.Do(func() {
+ file_ShowCommonTipsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShowCommonTipsNotify_proto_rawDescData)
+ })
+ return file_ShowCommonTipsNotify_proto_rawDescData
+}
+
+var file_ShowCommonTipsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShowCommonTipsNotify_proto_goTypes = []interface{}{
+ (*ShowCommonTipsNotify)(nil), // 0: proto.ShowCommonTipsNotify
+}
+var file_ShowCommonTipsNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ShowCommonTipsNotify_proto_init() }
+func file_ShowCommonTipsNotify_proto_init() {
+ if File_ShowCommonTipsNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ShowCommonTipsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShowCommonTipsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShowCommonTipsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShowCommonTipsNotify_proto_goTypes,
+ DependencyIndexes: file_ShowCommonTipsNotify_proto_depIdxs,
+ MessageInfos: file_ShowCommonTipsNotify_proto_msgTypes,
+ }.Build()
+ File_ShowCommonTipsNotify_proto = out.File
+ file_ShowCommonTipsNotify_proto_rawDesc = nil
+ file_ShowCommonTipsNotify_proto_goTypes = nil
+ file_ShowCommonTipsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShowEquip.pb.go b/protocol/proto/ShowEquip.pb.go
new file mode 100644
index 00000000..73d85f6c
--- /dev/null
+++ b/protocol/proto/ShowEquip.pb.go
@@ -0,0 +1,218 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShowEquip.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ShowEquip struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemId uint32 `protobuf:"varint,1,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ // Types that are assignable to Detail:
+ //
+ // *ShowEquip_Reliquary
+ // *ShowEquip_Weapon
+ Detail isShowEquip_Detail `protobuf_oneof:"detail"`
+}
+
+func (x *ShowEquip) Reset() {
+ *x = ShowEquip{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShowEquip_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShowEquip) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShowEquip) ProtoMessage() {}
+
+func (x *ShowEquip) ProtoReflect() protoreflect.Message {
+ mi := &file_ShowEquip_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShowEquip.ProtoReflect.Descriptor instead.
+func (*ShowEquip) Descriptor() ([]byte, []int) {
+ return file_ShowEquip_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShowEquip) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (m *ShowEquip) GetDetail() isShowEquip_Detail {
+ if m != nil {
+ return m.Detail
+ }
+ return nil
+}
+
+func (x *ShowEquip) GetReliquary() *Reliquary {
+ if x, ok := x.GetDetail().(*ShowEquip_Reliquary); ok {
+ return x.Reliquary
+ }
+ return nil
+}
+
+func (x *ShowEquip) GetWeapon() *Weapon {
+ if x, ok := x.GetDetail().(*ShowEquip_Weapon); ok {
+ return x.Weapon
+ }
+ return nil
+}
+
+type isShowEquip_Detail interface {
+ isShowEquip_Detail()
+}
+
+type ShowEquip_Reliquary struct {
+ Reliquary *Reliquary `protobuf:"bytes,2,opt,name=reliquary,proto3,oneof"`
+}
+
+type ShowEquip_Weapon struct {
+ Weapon *Weapon `protobuf:"bytes,3,opt,name=weapon,proto3,oneof"`
+}
+
+func (*ShowEquip_Reliquary) isShowEquip_Detail() {}
+
+func (*ShowEquip_Weapon) isShowEquip_Detail() {}
+
+var File_ShowEquip_proto protoreflect.FileDescriptor
+
+var file_ShowEquip_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x53, 0x68, 0x6f, 0x77, 0x45, 0x71, 0x75, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75,
+ 0x61, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x57, 0x65, 0x61, 0x70, 0x6f,
+ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x09, 0x53, 0x68, 0x6f, 0x77,
+ 0x45, 0x71, 0x75, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x30,
+ 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6c, 0x69, 0x71, 0x75,
+ 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79,
+ 0x12, 0x27, 0x0a, 0x06, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x48,
+ 0x00, 0x52, 0x06, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShowEquip_proto_rawDescOnce sync.Once
+ file_ShowEquip_proto_rawDescData = file_ShowEquip_proto_rawDesc
+)
+
+func file_ShowEquip_proto_rawDescGZIP() []byte {
+ file_ShowEquip_proto_rawDescOnce.Do(func() {
+ file_ShowEquip_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShowEquip_proto_rawDescData)
+ })
+ return file_ShowEquip_proto_rawDescData
+}
+
+var file_ShowEquip_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShowEquip_proto_goTypes = []interface{}{
+ (*ShowEquip)(nil), // 0: proto.ShowEquip
+ (*Reliquary)(nil), // 1: proto.Reliquary
+ (*Weapon)(nil), // 2: proto.Weapon
+}
+var file_ShowEquip_proto_depIdxs = []int32{
+ 1, // 0: proto.ShowEquip.reliquary:type_name -> proto.Reliquary
+ 2, // 1: proto.ShowEquip.weapon:type_name -> proto.Weapon
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ShowEquip_proto_init() }
+func file_ShowEquip_proto_init() {
+ if File_ShowEquip_proto != nil {
+ return
+ }
+ file_Reliquary_proto_init()
+ file_Weapon_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ShowEquip_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShowEquip); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_ShowEquip_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*ShowEquip_Reliquary)(nil),
+ (*ShowEquip_Weapon)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShowEquip_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShowEquip_proto_goTypes,
+ DependencyIndexes: file_ShowEquip_proto_depIdxs,
+ MessageInfos: file_ShowEquip_proto_msgTypes,
+ }.Build()
+ File_ShowEquip_proto = out.File
+ file_ShowEquip_proto_rawDesc = nil
+ file_ShowEquip_proto_goTypes = nil
+ file_ShowEquip_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShowMessageNotify.pb.go b/protocol/proto/ShowMessageNotify.pb.go
new file mode 100644
index 00000000..684572c0
--- /dev/null
+++ b/protocol/proto/ShowMessageNotify.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShowMessageNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 35
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ShowMessageNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MsgId SvrMsgId `protobuf:"varint,14,opt,name=msg_id,json=msgId,proto3,enum=proto.SvrMsgId" json:"msg_id,omitempty"`
+ Params []*MsgParam `protobuf:"bytes,13,rep,name=params,proto3" json:"params,omitempty"`
+}
+
+func (x *ShowMessageNotify) Reset() {
+ *x = ShowMessageNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShowMessageNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShowMessageNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShowMessageNotify) ProtoMessage() {}
+
+func (x *ShowMessageNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ShowMessageNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShowMessageNotify.ProtoReflect.Descriptor instead.
+func (*ShowMessageNotify) Descriptor() ([]byte, []int) {
+ return file_ShowMessageNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShowMessageNotify) GetMsgId() SvrMsgId {
+ if x != nil {
+ return x.MsgId
+ }
+ return SvrMsgId_SVR_MSG_ID_UNKNOWN
+}
+
+func (x *ShowMessageNotify) GetParams() []*MsgParam {
+ if x != nil {
+ return x.Params
+ }
+ return nil
+}
+
+var File_ShowMessageNotify_proto protoreflect.FileDescriptor
+
+var file_ShowMessageNotify_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x53, 0x76, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x64, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x76,
+ 0x72, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x52, 0x05, 0x6d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x27, 0x0a,
+ 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShowMessageNotify_proto_rawDescOnce sync.Once
+ file_ShowMessageNotify_proto_rawDescData = file_ShowMessageNotify_proto_rawDesc
+)
+
+func file_ShowMessageNotify_proto_rawDescGZIP() []byte {
+ file_ShowMessageNotify_proto_rawDescOnce.Do(func() {
+ file_ShowMessageNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShowMessageNotify_proto_rawDescData)
+ })
+ return file_ShowMessageNotify_proto_rawDescData
+}
+
+var file_ShowMessageNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShowMessageNotify_proto_goTypes = []interface{}{
+ (*ShowMessageNotify)(nil), // 0: proto.ShowMessageNotify
+ (SvrMsgId)(0), // 1: proto.SvrMsgId
+ (*MsgParam)(nil), // 2: proto.MsgParam
+}
+var file_ShowMessageNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ShowMessageNotify.msg_id:type_name -> proto.SvrMsgId
+ 2, // 1: proto.ShowMessageNotify.params:type_name -> proto.MsgParam
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ShowMessageNotify_proto_init() }
+func file_ShowMessageNotify_proto_init() {
+ if File_ShowMessageNotify_proto != nil {
+ return
+ }
+ file_MsgParam_proto_init()
+ file_SvrMsgId_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ShowMessageNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShowMessageNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShowMessageNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShowMessageNotify_proto_goTypes,
+ DependencyIndexes: file_ShowMessageNotify_proto_depIdxs,
+ MessageInfos: file_ShowMessageNotify_proto_msgTypes,
+ }.Build()
+ File_ShowMessageNotify_proto = out.File
+ file_ShowMessageNotify_proto_rawDesc = nil
+ file_ShowMessageNotify_proto_goTypes = nil
+ file_ShowMessageNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ShowTemplateReminderNotify.pb.go b/protocol/proto/ShowTemplateReminderNotify.pb.go
new file mode 100644
index 00000000..dccfa179
--- /dev/null
+++ b/protocol/proto/ShowTemplateReminderNotify.pb.go
@@ -0,0 +1,205 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ShowTemplateReminderNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3491
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ShowTemplateReminderNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsRevoke bool `protobuf:"varint,1,opt,name=is_revoke,json=isRevoke,proto3" json:"is_revoke,omitempty"`
+ TemplateReminderId uint32 `protobuf:"varint,14,opt,name=template_reminder_id,json=templateReminderId,proto3" json:"template_reminder_id,omitempty"`
+ ParamUidList []uint32 `protobuf:"varint,3,rep,packed,name=param_uid_list,json=paramUidList,proto3" json:"param_uid_list,omitempty"`
+ ParamList []int32 `protobuf:"varint,10,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ IsNeedCache bool `protobuf:"varint,15,opt,name=is_need_cache,json=isNeedCache,proto3" json:"is_need_cache,omitempty"`
+}
+
+func (x *ShowTemplateReminderNotify) Reset() {
+ *x = ShowTemplateReminderNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ShowTemplateReminderNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShowTemplateReminderNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShowTemplateReminderNotify) ProtoMessage() {}
+
+func (x *ShowTemplateReminderNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ShowTemplateReminderNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShowTemplateReminderNotify.ProtoReflect.Descriptor instead.
+func (*ShowTemplateReminderNotify) Descriptor() ([]byte, []int) {
+ return file_ShowTemplateReminderNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ShowTemplateReminderNotify) GetIsRevoke() bool {
+ if x != nil {
+ return x.IsRevoke
+ }
+ return false
+}
+
+func (x *ShowTemplateReminderNotify) GetTemplateReminderId() uint32 {
+ if x != nil {
+ return x.TemplateReminderId
+ }
+ return 0
+}
+
+func (x *ShowTemplateReminderNotify) GetParamUidList() []uint32 {
+ if x != nil {
+ return x.ParamUidList
+ }
+ return nil
+}
+
+func (x *ShowTemplateReminderNotify) GetParamList() []int32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *ShowTemplateReminderNotify) GetIsNeedCache() bool {
+ if x != nil {
+ return x.IsNeedCache
+ }
+ return false
+}
+
+var File_ShowTemplateReminderNotify_proto protoreflect.FileDescriptor
+
+var file_ShowTemplateReminderNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x53, 0x68,
+ 0x6f, 0x77, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64,
+ 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x72,
+ 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x52,
+ 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
+ 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d,
+ 0x69, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28,
+ 0x05, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d,
+ 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ShowTemplateReminderNotify_proto_rawDescOnce sync.Once
+ file_ShowTemplateReminderNotify_proto_rawDescData = file_ShowTemplateReminderNotify_proto_rawDesc
+)
+
+func file_ShowTemplateReminderNotify_proto_rawDescGZIP() []byte {
+ file_ShowTemplateReminderNotify_proto_rawDescOnce.Do(func() {
+ file_ShowTemplateReminderNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ShowTemplateReminderNotify_proto_rawDescData)
+ })
+ return file_ShowTemplateReminderNotify_proto_rawDescData
+}
+
+var file_ShowTemplateReminderNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ShowTemplateReminderNotify_proto_goTypes = []interface{}{
+ (*ShowTemplateReminderNotify)(nil), // 0: proto.ShowTemplateReminderNotify
+}
+var file_ShowTemplateReminderNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ShowTemplateReminderNotify_proto_init() }
+func file_ShowTemplateReminderNotify_proto_init() {
+ if File_ShowTemplateReminderNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ShowTemplateReminderNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShowTemplateReminderNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ShowTemplateReminderNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ShowTemplateReminderNotify_proto_goTypes,
+ DependencyIndexes: file_ShowTemplateReminderNotify_proto_depIdxs,
+ MessageInfos: file_ShowTemplateReminderNotify_proto_msgTypes,
+ }.Build()
+ File_ShowTemplateReminderNotify_proto = out.File
+ file_ShowTemplateReminderNotify_proto_rawDesc = nil
+ file_ShowTemplateReminderNotify_proto_goTypes = nil
+ file_ShowTemplateReminderNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SignInData.pb.go b/protocol/proto/SignInData.pb.go
new file mode 100644
index 00000000..641629ce
--- /dev/null
+++ b/protocol/proto/SignInData.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SignInData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SignInData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DayCount uint32 `protobuf:"varint,14,opt,name=day_count,json=dayCount,proto3" json:"day_count,omitempty"`
+ RewardItemList []*ItemParam `protobuf:"bytes,5,rep,name=reward_item_list,json=rewardItemList,proto3" json:"reward_item_list,omitempty"`
+}
+
+func (x *SignInData) Reset() {
+ *x = SignInData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SignInData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SignInData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SignInData) ProtoMessage() {}
+
+func (x *SignInData) ProtoReflect() protoreflect.Message {
+ mi := &file_SignInData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SignInData.ProtoReflect.Descriptor instead.
+func (*SignInData) Descriptor() ([]byte, []int) {
+ return file_SignInData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SignInData) GetDayCount() uint32 {
+ if x != nil {
+ return x.DayCount
+ }
+ return 0
+}
+
+func (x *SignInData) GetRewardItemList() []*ItemParam {
+ if x != nil {
+ return x.RewardItemList
+ }
+ return nil
+}
+
+var File_SignInData_proto protoreflect.FileDescriptor
+
+var file_SignInData_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x0a, 0x53, 0x69,
+ 0x67, 0x6e, 0x49, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x79, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x64, 0x61, 0x79,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SignInData_proto_rawDescOnce sync.Once
+ file_SignInData_proto_rawDescData = file_SignInData_proto_rawDesc
+)
+
+func file_SignInData_proto_rawDescGZIP() []byte {
+ file_SignInData_proto_rawDescOnce.Do(func() {
+ file_SignInData_proto_rawDescData = protoimpl.X.CompressGZIP(file_SignInData_proto_rawDescData)
+ })
+ return file_SignInData_proto_rawDescData
+}
+
+var file_SignInData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SignInData_proto_goTypes = []interface{}{
+ (*SignInData)(nil), // 0: proto.SignInData
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_SignInData_proto_depIdxs = []int32{
+ 1, // 0: proto.SignInData.reward_item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SignInData_proto_init() }
+func file_SignInData_proto_init() {
+ if File_SignInData_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SignInData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SignInData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SignInData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SignInData_proto_goTypes,
+ DependencyIndexes: file_SignInData_proto_depIdxs,
+ MessageInfos: file_SignInData_proto_msgTypes,
+ }.Build()
+ File_SignInData_proto = out.File
+ file_SignInData_proto_rawDesc = nil
+ file_SignInData_proto_goTypes = nil
+ file_SignInData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SignInInfo.pb.go b/protocol/proto/SignInInfo.pb.go
new file mode 100644
index 00000000..d47a8e23
--- /dev/null
+++ b/protocol/proto/SignInInfo.pb.go
@@ -0,0 +1,246 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SignInInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SignInInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCondSatisfied bool `protobuf:"varint,7,opt,name=is_cond_satisfied,json=isCondSatisfied,proto3" json:"is_cond_satisfied,omitempty"`
+ RewardDayList []uint32 `protobuf:"varint,15,rep,packed,name=reward_day_list,json=rewardDayList,proto3" json:"reward_day_list,omitempty"`
+ SigninDataList []*SignInData `protobuf:"bytes,12,rep,name=signin_data_list,json=signinDataList,proto3" json:"signin_data_list,omitempty"`
+ ConfigId uint32 `protobuf:"varint,8,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ SignInCount uint32 `protobuf:"varint,2,opt,name=sign_in_count,json=signInCount,proto3" json:"sign_in_count,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,3,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ EndTime uint32 `protobuf:"varint,13,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ LastSignInTime uint32 `protobuf:"varint,6,opt,name=last_sign_in_time,json=lastSignInTime,proto3" json:"last_sign_in_time,omitempty"`
+ BeginTime uint32 `protobuf:"varint,5,opt,name=begin_time,json=beginTime,proto3" json:"begin_time,omitempty"`
+}
+
+func (x *SignInInfo) Reset() {
+ *x = SignInInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SignInInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SignInInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SignInInfo) ProtoMessage() {}
+
+func (x *SignInInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SignInInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SignInInfo.ProtoReflect.Descriptor instead.
+func (*SignInInfo) Descriptor() ([]byte, []int) {
+ return file_SignInInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SignInInfo) GetIsCondSatisfied() bool {
+ if x != nil {
+ return x.IsCondSatisfied
+ }
+ return false
+}
+
+func (x *SignInInfo) GetRewardDayList() []uint32 {
+ if x != nil {
+ return x.RewardDayList
+ }
+ return nil
+}
+
+func (x *SignInInfo) GetSigninDataList() []*SignInData {
+ if x != nil {
+ return x.SigninDataList
+ }
+ return nil
+}
+
+func (x *SignInInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *SignInInfo) GetSignInCount() uint32 {
+ if x != nil {
+ return x.SignInCount
+ }
+ return 0
+}
+
+func (x *SignInInfo) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *SignInInfo) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+func (x *SignInInfo) GetLastSignInTime() uint32 {
+ if x != nil {
+ return x.LastSignInTime
+ }
+ return 0
+}
+
+func (x *SignInInfo) GetBeginTime() uint32 {
+ if x != nil {
+ return x.BeginTime
+ }
+ return 0
+}
+
+var File_SignInInfo_proto protoreflect.FileDescriptor
+
+var file_SignInInfo_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x49,
+ 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x02, 0x0a, 0x0a,
+ 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x64, 0x53, 0x61, 0x74,
+ 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x5f, 0x64, 0x61, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0d, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b,
+ 0x0a, 0x10, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x73, 0x69, 0x67,
+ 0x6e, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e,
+ 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a,
+ 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74,
+ 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69,
+ 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SignInInfo_proto_rawDescOnce sync.Once
+ file_SignInInfo_proto_rawDescData = file_SignInInfo_proto_rawDesc
+)
+
+func file_SignInInfo_proto_rawDescGZIP() []byte {
+ file_SignInInfo_proto_rawDescOnce.Do(func() {
+ file_SignInInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SignInInfo_proto_rawDescData)
+ })
+ return file_SignInInfo_proto_rawDescData
+}
+
+var file_SignInInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SignInInfo_proto_goTypes = []interface{}{
+ (*SignInInfo)(nil), // 0: proto.SignInInfo
+ (*SignInData)(nil), // 1: proto.SignInData
+}
+var file_SignInInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SignInInfo.signin_data_list:type_name -> proto.SignInData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SignInInfo_proto_init() }
+func file_SignInInfo_proto_init() {
+ if File_SignInInfo_proto != nil {
+ return
+ }
+ file_SignInData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SignInInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SignInInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SignInInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SignInInfo_proto_goTypes,
+ DependencyIndexes: file_SignInInfo_proto_depIdxs,
+ MessageInfos: file_SignInInfo_proto_msgTypes,
+ }.Build()
+ File_SignInInfo_proto = out.File
+ file_SignInInfo_proto_rawDesc = nil
+ file_SignInInfo_proto_goTypes = nil
+ file_SignInInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SignInInfoReq.pb.go b/protocol/proto/SignInInfoReq.pb.go
new file mode 100644
index 00000000..44d93828
--- /dev/null
+++ b/protocol/proto/SignInInfoReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SignInInfoReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2512
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SignInInfoReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *SignInInfoReq) Reset() {
+ *x = SignInInfoReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SignInInfoReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SignInInfoReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SignInInfoReq) ProtoMessage() {}
+
+func (x *SignInInfoReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SignInInfoReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SignInInfoReq.ProtoReflect.Descriptor instead.
+func (*SignInInfoReq) Descriptor() ([]byte, []int) {
+ return file_SignInInfoReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SignInInfoReq_proto protoreflect.FileDescriptor
+
+var file_SignInInfoReq_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d,
+ 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SignInInfoReq_proto_rawDescOnce sync.Once
+ file_SignInInfoReq_proto_rawDescData = file_SignInInfoReq_proto_rawDesc
+)
+
+func file_SignInInfoReq_proto_rawDescGZIP() []byte {
+ file_SignInInfoReq_proto_rawDescOnce.Do(func() {
+ file_SignInInfoReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SignInInfoReq_proto_rawDescData)
+ })
+ return file_SignInInfoReq_proto_rawDescData
+}
+
+var file_SignInInfoReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SignInInfoReq_proto_goTypes = []interface{}{
+ (*SignInInfoReq)(nil), // 0: proto.SignInInfoReq
+}
+var file_SignInInfoReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SignInInfoReq_proto_init() }
+func file_SignInInfoReq_proto_init() {
+ if File_SignInInfoReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SignInInfoReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SignInInfoReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SignInInfoReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SignInInfoReq_proto_goTypes,
+ DependencyIndexes: file_SignInInfoReq_proto_depIdxs,
+ MessageInfos: file_SignInInfoReq_proto_msgTypes,
+ }.Build()
+ File_SignInInfoReq_proto = out.File
+ file_SignInInfoReq_proto_rawDesc = nil
+ file_SignInInfoReq_proto_goTypes = nil
+ file_SignInInfoReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SignInInfoRsp.pb.go b/protocol/proto/SignInInfoRsp.pb.go
new file mode 100644
index 00000000..5dfec46f
--- /dev/null
+++ b/protocol/proto/SignInInfoRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SignInInfoRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2535
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SignInInfoRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SignInInfoList []*SignInInfo `protobuf:"bytes,1,rep,name=sign_in_info_list,json=signInInfoList,proto3" json:"sign_in_info_list,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SignInInfoRsp) Reset() {
+ *x = SignInInfoRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SignInInfoRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SignInInfoRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SignInInfoRsp) ProtoMessage() {}
+
+func (x *SignInInfoRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SignInInfoRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SignInInfoRsp.ProtoReflect.Descriptor instead.
+func (*SignInInfoRsp) Descriptor() ([]byte, []int) {
+ return file_SignInInfoRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SignInInfoRsp) GetSignInInfoList() []*SignInInfo {
+ if x != nil {
+ return x.SignInInfoList
+ }
+ return nil
+}
+
+func (x *SignInInfoRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SignInInfoRsp_proto protoreflect.FileDescriptor
+
+var file_SignInInfoRsp_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x53, 0x69,
+ 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67,
+ 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12,
+ 0x3c, 0x0a, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x73,
+ 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SignInInfoRsp_proto_rawDescOnce sync.Once
+ file_SignInInfoRsp_proto_rawDescData = file_SignInInfoRsp_proto_rawDesc
+)
+
+func file_SignInInfoRsp_proto_rawDescGZIP() []byte {
+ file_SignInInfoRsp_proto_rawDescOnce.Do(func() {
+ file_SignInInfoRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SignInInfoRsp_proto_rawDescData)
+ })
+ return file_SignInInfoRsp_proto_rawDescData
+}
+
+var file_SignInInfoRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SignInInfoRsp_proto_goTypes = []interface{}{
+ (*SignInInfoRsp)(nil), // 0: proto.SignInInfoRsp
+ (*SignInInfo)(nil), // 1: proto.SignInInfo
+}
+var file_SignInInfoRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SignInInfoRsp.sign_in_info_list:type_name -> proto.SignInInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SignInInfoRsp_proto_init() }
+func file_SignInInfoRsp_proto_init() {
+ if File_SignInInfoRsp_proto != nil {
+ return
+ }
+ file_SignInInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SignInInfoRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SignInInfoRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SignInInfoRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SignInInfoRsp_proto_goTypes,
+ DependencyIndexes: file_SignInInfoRsp_proto_depIdxs,
+ MessageInfos: file_SignInInfoRsp_proto_msgTypes,
+ }.Build()
+ File_SignInInfoRsp_proto = out.File
+ file_SignInInfoRsp_proto_rawDesc = nil
+ file_SignInInfoRsp_proto_goTypes = nil
+ file_SignInInfoRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SignatureAuditConfigNotify.pb.go b/protocol/proto/SignatureAuditConfigNotify.pb.go
new file mode 100644
index 00000000..dad92b57
--- /dev/null
+++ b/protocol/proto/SignatureAuditConfigNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SignatureAuditConfigNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4092
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SignatureAuditConfigNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,9,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ SubmitLimit uint32 `protobuf:"varint,10,opt,name=submit_limit,json=submitLimit,proto3" json:"submit_limit,omitempty"`
+}
+
+func (x *SignatureAuditConfigNotify) Reset() {
+ *x = SignatureAuditConfigNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SignatureAuditConfigNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SignatureAuditConfigNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SignatureAuditConfigNotify) ProtoMessage() {}
+
+func (x *SignatureAuditConfigNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SignatureAuditConfigNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SignatureAuditConfigNotify.ProtoReflect.Descriptor instead.
+func (*SignatureAuditConfigNotify) Descriptor() ([]byte, []int) {
+ return file_SignatureAuditConfigNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SignatureAuditConfigNotify) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *SignatureAuditConfigNotify) GetSubmitLimit() uint32 {
+ if x != nil {
+ return x.SubmitLimit
+ }
+ return 0
+}
+
+var File_SignatureAuditConfigNotify_proto protoreflect.FileDescriptor
+
+var file_SignatureAuditConfigNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1a, 0x53, 0x69, 0x67,
+ 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70,
+ 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e,
+ 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4c, 0x69,
+ 0x6d, 0x69, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SignatureAuditConfigNotify_proto_rawDescOnce sync.Once
+ file_SignatureAuditConfigNotify_proto_rawDescData = file_SignatureAuditConfigNotify_proto_rawDesc
+)
+
+func file_SignatureAuditConfigNotify_proto_rawDescGZIP() []byte {
+ file_SignatureAuditConfigNotify_proto_rawDescOnce.Do(func() {
+ file_SignatureAuditConfigNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SignatureAuditConfigNotify_proto_rawDescData)
+ })
+ return file_SignatureAuditConfigNotify_proto_rawDescData
+}
+
+var file_SignatureAuditConfigNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SignatureAuditConfigNotify_proto_goTypes = []interface{}{
+ (*SignatureAuditConfigNotify)(nil), // 0: proto.SignatureAuditConfigNotify
+}
+var file_SignatureAuditConfigNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SignatureAuditConfigNotify_proto_init() }
+func file_SignatureAuditConfigNotify_proto_init() {
+ if File_SignatureAuditConfigNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SignatureAuditConfigNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SignatureAuditConfigNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SignatureAuditConfigNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SignatureAuditConfigNotify_proto_goTypes,
+ DependencyIndexes: file_SignatureAuditConfigNotify_proto_depIdxs,
+ MessageInfos: file_SignatureAuditConfigNotify_proto_msgTypes,
+ }.Build()
+ File_SignatureAuditConfigNotify_proto = out.File
+ file_SignatureAuditConfigNotify_proto_rawDesc = nil
+ file_SignatureAuditConfigNotify_proto_goTypes = nil
+ file_SignatureAuditConfigNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SkyCrystalDetectorData.pb.go b/protocol/proto/SkyCrystalDetectorData.pb.go
new file mode 100644
index 00000000..89859f48
--- /dev/null
+++ b/protocol/proto/SkyCrystalDetectorData.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SkyCrystalDetectorData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SkyCrystalDetectorData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsHintValid bool `protobuf:"varint,3,opt,name=is_hint_valid,json=isHintValid,proto3" json:"is_hint_valid,omitempty"`
+ HintCenterPos *Vector `protobuf:"bytes,8,opt,name=hint_center_pos,json=hintCenterPos,proto3" json:"hint_center_pos,omitempty"`
+ GroupId uint32 `protobuf:"varint,6,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,9,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *SkyCrystalDetectorData) Reset() {
+ *x = SkyCrystalDetectorData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SkyCrystalDetectorData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SkyCrystalDetectorData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SkyCrystalDetectorData) ProtoMessage() {}
+
+func (x *SkyCrystalDetectorData) ProtoReflect() protoreflect.Message {
+ mi := &file_SkyCrystalDetectorData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SkyCrystalDetectorData.ProtoReflect.Descriptor instead.
+func (*SkyCrystalDetectorData) Descriptor() ([]byte, []int) {
+ return file_SkyCrystalDetectorData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SkyCrystalDetectorData) GetIsHintValid() bool {
+ if x != nil {
+ return x.IsHintValid
+ }
+ return false
+}
+
+func (x *SkyCrystalDetectorData) GetHintCenterPos() *Vector {
+ if x != nil {
+ return x.HintCenterPos
+ }
+ return nil
+}
+
+func (x *SkyCrystalDetectorData) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *SkyCrystalDetectorData) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_SkyCrystalDetectorData_proto protoreflect.FileDescriptor
+
+var file_SkyCrystalDetectorData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x16, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74,
+ 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22,
+ 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x48, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c,
+ 0x69, 0x64, 0x12, 0x35, 0x0a, 0x0f, 0x68, 0x69, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65,
+ 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x68, 0x69, 0x6e, 0x74,
+ 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f,
+ 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f,
+ 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SkyCrystalDetectorData_proto_rawDescOnce sync.Once
+ file_SkyCrystalDetectorData_proto_rawDescData = file_SkyCrystalDetectorData_proto_rawDesc
+)
+
+func file_SkyCrystalDetectorData_proto_rawDescGZIP() []byte {
+ file_SkyCrystalDetectorData_proto_rawDescOnce.Do(func() {
+ file_SkyCrystalDetectorData_proto_rawDescData = protoimpl.X.CompressGZIP(file_SkyCrystalDetectorData_proto_rawDescData)
+ })
+ return file_SkyCrystalDetectorData_proto_rawDescData
+}
+
+var file_SkyCrystalDetectorData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SkyCrystalDetectorData_proto_goTypes = []interface{}{
+ (*SkyCrystalDetectorData)(nil), // 0: proto.SkyCrystalDetectorData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_SkyCrystalDetectorData_proto_depIdxs = []int32{
+ 1, // 0: proto.SkyCrystalDetectorData.hint_center_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SkyCrystalDetectorData_proto_init() }
+func file_SkyCrystalDetectorData_proto_init() {
+ if File_SkyCrystalDetectorData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SkyCrystalDetectorData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SkyCrystalDetectorData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SkyCrystalDetectorData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SkyCrystalDetectorData_proto_goTypes,
+ DependencyIndexes: file_SkyCrystalDetectorData_proto_depIdxs,
+ MessageInfos: file_SkyCrystalDetectorData_proto_msgTypes,
+ }.Build()
+ File_SkyCrystalDetectorData_proto = out.File
+ file_SkyCrystalDetectorData_proto_rawDesc = nil
+ file_SkyCrystalDetectorData_proto_goTypes = nil
+ file_SkyCrystalDetectorData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SkyCrystalDetectorDataUpdateNotify.pb.go b/protocol/proto/SkyCrystalDetectorDataUpdateNotify.pb.go
new file mode 100644
index 00000000..b81bd69e
--- /dev/null
+++ b/protocol/proto/SkyCrystalDetectorDataUpdateNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SkyCrystalDetectorDataUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4287
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SkyCrystalDetectorDataUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkyCrystalDetectorData *SkyCrystalDetectorData `protobuf:"bytes,9,opt,name=sky_crystal_detector_data,json=skyCrystalDetectorData,proto3" json:"sky_crystal_detector_data,omitempty"`
+}
+
+func (x *SkyCrystalDetectorDataUpdateNotify) Reset() {
+ *x = SkyCrystalDetectorDataUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SkyCrystalDetectorDataUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SkyCrystalDetectorDataUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SkyCrystalDetectorDataUpdateNotify) ProtoMessage() {}
+
+func (x *SkyCrystalDetectorDataUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SkyCrystalDetectorDataUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SkyCrystalDetectorDataUpdateNotify.ProtoReflect.Descriptor instead.
+func (*SkyCrystalDetectorDataUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_SkyCrystalDetectorDataUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SkyCrystalDetectorDataUpdateNotify) GetSkyCrystalDetectorData() *SkyCrystalDetectorData {
+ if x != nil {
+ return x.SkyCrystalDetectorData
+ }
+ return nil
+}
+
+var File_SkyCrystalDetectorDataUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_SkyCrystalDetectorDataUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1c, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x7e, 0x0a, 0x22, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x58, 0x0a, 0x19, 0x73, 0x6b, 0x79, 0x5f, 0x63, 0x72, 0x79,
+ 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x16, 0x73, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73,
+ 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SkyCrystalDetectorDataUpdateNotify_proto_rawDescOnce sync.Once
+ file_SkyCrystalDetectorDataUpdateNotify_proto_rawDescData = file_SkyCrystalDetectorDataUpdateNotify_proto_rawDesc
+)
+
+func file_SkyCrystalDetectorDataUpdateNotify_proto_rawDescGZIP() []byte {
+ file_SkyCrystalDetectorDataUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_SkyCrystalDetectorDataUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SkyCrystalDetectorDataUpdateNotify_proto_rawDescData)
+ })
+ return file_SkyCrystalDetectorDataUpdateNotify_proto_rawDescData
+}
+
+var file_SkyCrystalDetectorDataUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SkyCrystalDetectorDataUpdateNotify_proto_goTypes = []interface{}{
+ (*SkyCrystalDetectorDataUpdateNotify)(nil), // 0: proto.SkyCrystalDetectorDataUpdateNotify
+ (*SkyCrystalDetectorData)(nil), // 1: proto.SkyCrystalDetectorData
+}
+var file_SkyCrystalDetectorDataUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SkyCrystalDetectorDataUpdateNotify.sky_crystal_detector_data:type_name -> proto.SkyCrystalDetectorData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SkyCrystalDetectorDataUpdateNotify_proto_init() }
+func file_SkyCrystalDetectorDataUpdateNotify_proto_init() {
+ if File_SkyCrystalDetectorDataUpdateNotify_proto != nil {
+ return
+ }
+ file_SkyCrystalDetectorData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SkyCrystalDetectorDataUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SkyCrystalDetectorDataUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SkyCrystalDetectorDataUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SkyCrystalDetectorDataUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_SkyCrystalDetectorDataUpdateNotify_proto_depIdxs,
+ MessageInfos: file_SkyCrystalDetectorDataUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_SkyCrystalDetectorDataUpdateNotify_proto = out.File
+ file_SkyCrystalDetectorDataUpdateNotify_proto_rawDesc = nil
+ file_SkyCrystalDetectorDataUpdateNotify_proto_goTypes = nil
+ file_SkyCrystalDetectorDataUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SkyCrystalDetectorQuickUseResult.pb.go b/protocol/proto/SkyCrystalDetectorQuickUseResult.pb.go
new file mode 100644
index 00000000..da7fbeae
--- /dev/null
+++ b/protocol/proto/SkyCrystalDetectorQuickUseResult.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SkyCrystalDetectorQuickUseResult.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SkyCrystalDetectorQuickUseResult struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkyCrystalDetectorData *SkyCrystalDetectorData `protobuf:"bytes,9,opt,name=sky_crystal_detector_data,json=skyCrystalDetectorData,proto3" json:"sky_crystal_detector_data,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SkyCrystalDetectorQuickUseResult) Reset() {
+ *x = SkyCrystalDetectorQuickUseResult{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SkyCrystalDetectorQuickUseResult_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SkyCrystalDetectorQuickUseResult) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SkyCrystalDetectorQuickUseResult) ProtoMessage() {}
+
+func (x *SkyCrystalDetectorQuickUseResult) ProtoReflect() protoreflect.Message {
+ mi := &file_SkyCrystalDetectorQuickUseResult_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SkyCrystalDetectorQuickUseResult.ProtoReflect.Descriptor instead.
+func (*SkyCrystalDetectorQuickUseResult) Descriptor() ([]byte, []int) {
+ return file_SkyCrystalDetectorQuickUseResult_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SkyCrystalDetectorQuickUseResult) GetSkyCrystalDetectorData() *SkyCrystalDetectorData {
+ if x != nil {
+ return x.SkyCrystalDetectorData
+ }
+ return nil
+}
+
+func (x *SkyCrystalDetectorQuickUseResult) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SkyCrystalDetectorQuickUseResult_proto protoreflect.FileDescriptor
+
+var file_SkyCrystalDetectorQuickUseResult_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1c, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x01,
+ 0x0a, 0x20, 0x53, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75,
+ 0x6c, 0x74, 0x12, 0x58, 0x0a, 0x19, 0x73, 0x6b, 0x79, 0x5f, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61,
+ 0x6c, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x6b,
+ 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x16, 0x73, 0x6b, 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c,
+ 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SkyCrystalDetectorQuickUseResult_proto_rawDescOnce sync.Once
+ file_SkyCrystalDetectorQuickUseResult_proto_rawDescData = file_SkyCrystalDetectorQuickUseResult_proto_rawDesc
+)
+
+func file_SkyCrystalDetectorQuickUseResult_proto_rawDescGZIP() []byte {
+ file_SkyCrystalDetectorQuickUseResult_proto_rawDescOnce.Do(func() {
+ file_SkyCrystalDetectorQuickUseResult_proto_rawDescData = protoimpl.X.CompressGZIP(file_SkyCrystalDetectorQuickUseResult_proto_rawDescData)
+ })
+ return file_SkyCrystalDetectorQuickUseResult_proto_rawDescData
+}
+
+var file_SkyCrystalDetectorQuickUseResult_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SkyCrystalDetectorQuickUseResult_proto_goTypes = []interface{}{
+ (*SkyCrystalDetectorQuickUseResult)(nil), // 0: proto.SkyCrystalDetectorQuickUseResult
+ (*SkyCrystalDetectorData)(nil), // 1: proto.SkyCrystalDetectorData
+}
+var file_SkyCrystalDetectorQuickUseResult_proto_depIdxs = []int32{
+ 1, // 0: proto.SkyCrystalDetectorQuickUseResult.sky_crystal_detector_data:type_name -> proto.SkyCrystalDetectorData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SkyCrystalDetectorQuickUseResult_proto_init() }
+func file_SkyCrystalDetectorQuickUseResult_proto_init() {
+ if File_SkyCrystalDetectorQuickUseResult_proto != nil {
+ return
+ }
+ file_SkyCrystalDetectorData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SkyCrystalDetectorQuickUseResult_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SkyCrystalDetectorQuickUseResult); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SkyCrystalDetectorQuickUseResult_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SkyCrystalDetectorQuickUseResult_proto_goTypes,
+ DependencyIndexes: file_SkyCrystalDetectorQuickUseResult_proto_depIdxs,
+ MessageInfos: file_SkyCrystalDetectorQuickUseResult_proto_msgTypes,
+ }.Build()
+ File_SkyCrystalDetectorQuickUseResult_proto = out.File
+ file_SkyCrystalDetectorQuickUseResult_proto_rawDesc = nil
+ file_SkyCrystalDetectorQuickUseResult_proto_goTypes = nil
+ file_SkyCrystalDetectorQuickUseResult_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SocialDataNotify.pb.go b/protocol/proto/SocialDataNotify.pb.go
new file mode 100644
index 00000000..c8933b4d
--- /dev/null
+++ b/protocol/proto/SocialDataNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SocialDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4043
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SocialDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsHaveFirstShare bool `protobuf:"varint,11,opt,name=is_have_first_share,json=isHaveFirstShare,proto3" json:"is_have_first_share,omitempty"`
+}
+
+func (x *SocialDataNotify) Reset() {
+ *x = SocialDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SocialDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SocialDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SocialDataNotify) ProtoMessage() {}
+
+func (x *SocialDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SocialDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SocialDataNotify.ProtoReflect.Descriptor instead.
+func (*SocialDataNotify) Descriptor() ([]byte, []int) {
+ return file_SocialDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SocialDataNotify) GetIsHaveFirstShare() bool {
+ if x != nil {
+ return x.IsHaveFirstShare
+ }
+ return false
+}
+
+var File_SocialDataNotify_proto protoreflect.FileDescriptor
+
+var file_SocialDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x41, 0x0a, 0x10, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x2d, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x66,
+ 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x69, 0x73, 0x48, 0x61, 0x76, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x68, 0x61,
+ 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SocialDataNotify_proto_rawDescOnce sync.Once
+ file_SocialDataNotify_proto_rawDescData = file_SocialDataNotify_proto_rawDesc
+)
+
+func file_SocialDataNotify_proto_rawDescGZIP() []byte {
+ file_SocialDataNotify_proto_rawDescOnce.Do(func() {
+ file_SocialDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SocialDataNotify_proto_rawDescData)
+ })
+ return file_SocialDataNotify_proto_rawDescData
+}
+
+var file_SocialDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SocialDataNotify_proto_goTypes = []interface{}{
+ (*SocialDataNotify)(nil), // 0: proto.SocialDataNotify
+}
+var file_SocialDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SocialDataNotify_proto_init() }
+func file_SocialDataNotify_proto_init() {
+ if File_SocialDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SocialDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SocialDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SocialDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SocialDataNotify_proto_goTypes,
+ DependencyIndexes: file_SocialDataNotify_proto_depIdxs,
+ MessageInfos: file_SocialDataNotify_proto_msgTypes,
+ }.Build()
+ File_SocialDataNotify_proto = out.File
+ file_SocialDataNotify_proto_rawDesc = nil
+ file_SocialDataNotify_proto_goTypes = nil
+ file_SocialDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SocialDetail.pb.go b/protocol/proto/SocialDetail.pb.go
new file mode 100644
index 00000000..bb8851f0
--- /dev/null
+++ b/protocol/proto/SocialDetail.pb.go
@@ -0,0 +1,436 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SocialDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SocialDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ Level uint32 `protobuf:"varint,3,opt,name=level,proto3" json:"level,omitempty"`
+ AvatarId uint32 `protobuf:"varint,4,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Signature string `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
+ Birthday *Birthday `protobuf:"bytes,6,opt,name=birthday,proto3" json:"birthday,omitempty"`
+ WorldLevel uint32 `protobuf:"varint,7,opt,name=world_level,json=worldLevel,proto3" json:"world_level,omitempty"`
+ ReservedList []uint32 `protobuf:"varint,8,rep,packed,name=reserved_list,json=reservedList,proto3" json:"reserved_list,omitempty"`
+ OnlineState FriendOnlineState `protobuf:"varint,9,opt,name=online_state,json=onlineState,proto3,enum=proto.FriendOnlineState" json:"online_state,omitempty"`
+ Param uint32 `protobuf:"varint,10,opt,name=param,proto3" json:"param,omitempty"`
+ IsFriend bool `protobuf:"varint,11,opt,name=is_friend,json=isFriend,proto3" json:"is_friend,omitempty"`
+ IsMpModeAvailable bool `protobuf:"varint,12,opt,name=is_mp_mode_available,json=isMpModeAvailable,proto3" json:"is_mp_mode_available,omitempty"`
+ OnlineId string `protobuf:"bytes,13,opt,name=online_id,json=onlineId,proto3" json:"online_id,omitempty"`
+ NameCardId uint32 `protobuf:"varint,14,opt,name=name_card_id,json=nameCardId,proto3" json:"name_card_id,omitempty"`
+ IsInBlacklist bool `protobuf:"varint,15,opt,name=is_in_blacklist,json=isInBlacklist,proto3" json:"is_in_blacklist,omitempty"`
+ IsChatNoDisturb bool `protobuf:"varint,16,opt,name=is_chat_no_disturb,json=isChatNoDisturb,proto3" json:"is_chat_no_disturb,omitempty"`
+ RemarkName string `protobuf:"bytes,17,opt,name=remark_name,json=remarkName,proto3" json:"remark_name,omitempty"`
+ FinishAchievementNum uint32 `protobuf:"varint,18,opt,name=finish_achievement_num,json=finishAchievementNum,proto3" json:"finish_achievement_num,omitempty"`
+ TowerFloorIndex uint32 `protobuf:"varint,19,opt,name=tower_floor_index,json=towerFloorIndex,proto3" json:"tower_floor_index,omitempty"`
+ TowerLevelIndex uint32 `protobuf:"varint,20,opt,name=tower_level_index,json=towerLevelIndex,proto3" json:"tower_level_index,omitempty"`
+ IsShowAvatar bool `protobuf:"varint,21,opt,name=is_show_avatar,json=isShowAvatar,proto3" json:"is_show_avatar,omitempty"`
+ ShowAvatarInfoList []*SocialShowAvatarInfo `protobuf:"bytes,22,rep,name=show_avatar_info_list,json=showAvatarInfoList,proto3" json:"show_avatar_info_list,omitempty"`
+ ShowNameCardIdList []uint32 `protobuf:"varint,23,rep,packed,name=show_name_card_id_list,json=showNameCardIdList,proto3" json:"show_name_card_id_list,omitempty"`
+ FriendEnterHomeOption FriendEnterHomeOption `protobuf:"varint,24,opt,name=friend_enter_home_option,json=friendEnterHomeOption,proto3,enum=proto.FriendEnterHomeOption" json:"friend_enter_home_option,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,25,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+}
+
+func (x *SocialDetail) Reset() {
+ *x = SocialDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SocialDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SocialDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SocialDetail) ProtoMessage() {}
+
+func (x *SocialDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_SocialDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SocialDetail.ProtoReflect.Descriptor instead.
+func (*SocialDetail) Descriptor() ([]byte, []int) {
+ return file_SocialDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SocialDetail) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *SocialDetail) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetSignature() string {
+ if x != nil {
+ return x.Signature
+ }
+ return ""
+}
+
+func (x *SocialDetail) GetBirthday() *Birthday {
+ if x != nil {
+ return x.Birthday
+ }
+ return nil
+}
+
+func (x *SocialDetail) GetWorldLevel() uint32 {
+ if x != nil {
+ return x.WorldLevel
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetReservedList() []uint32 {
+ if x != nil {
+ return x.ReservedList
+ }
+ return nil
+}
+
+func (x *SocialDetail) GetOnlineState() FriendOnlineState {
+ if x != nil {
+ return x.OnlineState
+ }
+ return FriendOnlineState_FRIEND_ONLINE_STATE_FREIEND_DISCONNECT
+}
+
+func (x *SocialDetail) GetParam() uint32 {
+ if x != nil {
+ return x.Param
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetIsFriend() bool {
+ if x != nil {
+ return x.IsFriend
+ }
+ return false
+}
+
+func (x *SocialDetail) GetIsMpModeAvailable() bool {
+ if x != nil {
+ return x.IsMpModeAvailable
+ }
+ return false
+}
+
+func (x *SocialDetail) GetOnlineId() string {
+ if x != nil {
+ return x.OnlineId
+ }
+ return ""
+}
+
+func (x *SocialDetail) GetNameCardId() uint32 {
+ if x != nil {
+ return x.NameCardId
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetIsInBlacklist() bool {
+ if x != nil {
+ return x.IsInBlacklist
+ }
+ return false
+}
+
+func (x *SocialDetail) GetIsChatNoDisturb() bool {
+ if x != nil {
+ return x.IsChatNoDisturb
+ }
+ return false
+}
+
+func (x *SocialDetail) GetRemarkName() string {
+ if x != nil {
+ return x.RemarkName
+ }
+ return ""
+}
+
+func (x *SocialDetail) GetFinishAchievementNum() uint32 {
+ if x != nil {
+ return x.FinishAchievementNum
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetTowerFloorIndex() uint32 {
+ if x != nil {
+ return x.TowerFloorIndex
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetTowerLevelIndex() uint32 {
+ if x != nil {
+ return x.TowerLevelIndex
+ }
+ return 0
+}
+
+func (x *SocialDetail) GetIsShowAvatar() bool {
+ if x != nil {
+ return x.IsShowAvatar
+ }
+ return false
+}
+
+func (x *SocialDetail) GetShowAvatarInfoList() []*SocialShowAvatarInfo {
+ if x != nil {
+ return x.ShowAvatarInfoList
+ }
+ return nil
+}
+
+func (x *SocialDetail) GetShowNameCardIdList() []uint32 {
+ if x != nil {
+ return x.ShowNameCardIdList
+ }
+ return nil
+}
+
+func (x *SocialDetail) GetFriendEnterHomeOption() FriendEnterHomeOption {
+ if x != nil {
+ return x.FriendEnterHomeOption
+ }
+ return FriendEnterHomeOption_FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM
+}
+
+func (x *SocialDetail) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+var File_SocialDetail_proto protoreflect.FileDescriptor
+
+var file_SocialDetail_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x42, 0x69, 0x72,
+ 0x74, 0x68, 0x64, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64,
+ 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x53,
+ 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x08, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
+ 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
+ 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
+ 0x75, 0x72, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x69,
+ 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76,
+ 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65,
+ 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f,
+ 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x6d, 0x70, 0x5f,
+ 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x4d, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x76,
+ 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x6c, 0x69, 0x6e,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, 0x6c, 0x69,
+ 0x6e, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72,
+ 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65,
+ 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x5f,
+ 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0d, 0x69, 0x73, 0x49, 0x6e, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2b,
+ 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x6e, 0x6f, 0x5f, 0x64, 0x69, 0x73,
+ 0x74, 0x75, 0x72, 0x62, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x68,
+ 0x61, 0x74, 0x4e, 0x6f, 0x44, 0x69, 0x73, 0x74, 0x75, 0x72, 0x62, 0x12, 0x1f, 0x0a, 0x0b, 0x72,
+ 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x16,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x61, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e,
+ 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x6f,
+ 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74,
+ 0x6f, 0x77, 0x65, 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a,
+ 0x0a, 0x11, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x77, 0x65, 0x72,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73,
+ 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x15, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x12, 0x4e, 0x0a, 0x15, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68,
+ 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x73, 0x68,
+ 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x32, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61,
+ 0x72, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x55, 0x0a, 0x18, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x5f, 0x65,
+ 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65,
+ 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0f, 0x70,
+ 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x19,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f,
+ 0x66, 0x69, 0x6c, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SocialDetail_proto_rawDescOnce sync.Once
+ file_SocialDetail_proto_rawDescData = file_SocialDetail_proto_rawDesc
+)
+
+func file_SocialDetail_proto_rawDescGZIP() []byte {
+ file_SocialDetail_proto_rawDescOnce.Do(func() {
+ file_SocialDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_SocialDetail_proto_rawDescData)
+ })
+ return file_SocialDetail_proto_rawDescData
+}
+
+var file_SocialDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SocialDetail_proto_goTypes = []interface{}{
+ (*SocialDetail)(nil), // 0: proto.SocialDetail
+ (*Birthday)(nil), // 1: proto.Birthday
+ (FriendOnlineState)(0), // 2: proto.FriendOnlineState
+ (*SocialShowAvatarInfo)(nil), // 3: proto.SocialShowAvatarInfo
+ (FriendEnterHomeOption)(0), // 4: proto.FriendEnterHomeOption
+ (*ProfilePicture)(nil), // 5: proto.ProfilePicture
+}
+var file_SocialDetail_proto_depIdxs = []int32{
+ 1, // 0: proto.SocialDetail.birthday:type_name -> proto.Birthday
+ 2, // 1: proto.SocialDetail.online_state:type_name -> proto.FriendOnlineState
+ 3, // 2: proto.SocialDetail.show_avatar_info_list:type_name -> proto.SocialShowAvatarInfo
+ 4, // 3: proto.SocialDetail.friend_enter_home_option:type_name -> proto.FriendEnterHomeOption
+ 5, // 4: proto.SocialDetail.profile_picture:type_name -> proto.ProfilePicture
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_SocialDetail_proto_init() }
+func file_SocialDetail_proto_init() {
+ if File_SocialDetail_proto != nil {
+ return
+ }
+ file_Birthday_proto_init()
+ file_FriendEnterHomeOption_proto_init()
+ file_FriendOnlineState_proto_init()
+ file_ProfilePicture_proto_init()
+ file_SocialShowAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SocialDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SocialDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SocialDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SocialDetail_proto_goTypes,
+ DependencyIndexes: file_SocialDetail_proto_depIdxs,
+ MessageInfos: file_SocialDetail_proto_msgTypes,
+ }.Build()
+ File_SocialDetail_proto = out.File
+ file_SocialDetail_proto_rawDesc = nil
+ file_SocialDetail_proto_goTypes = nil
+ file_SocialDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SocialShowAvatarInfo.pb.go b/protocol/proto/SocialShowAvatarInfo.pb.go
new file mode 100644
index 00000000..092def9a
--- /dev/null
+++ b/protocol/proto/SocialShowAvatarInfo.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SocialShowAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SocialShowAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Level uint32 `protobuf:"varint,2,opt,name=level,proto3" json:"level,omitempty"`
+ CostumeId uint32 `protobuf:"varint,3,opt,name=costume_id,json=costumeId,proto3" json:"costume_id,omitempty"`
+}
+
+func (x *SocialShowAvatarInfo) Reset() {
+ *x = SocialShowAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SocialShowAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SocialShowAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SocialShowAvatarInfo) ProtoMessage() {}
+
+func (x *SocialShowAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SocialShowAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SocialShowAvatarInfo.ProtoReflect.Descriptor instead.
+func (*SocialShowAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_SocialShowAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SocialShowAvatarInfo) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *SocialShowAvatarInfo) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *SocialShowAvatarInfo) GetCostumeId() uint32 {
+ if x != nil {
+ return x.CostumeId
+ }
+ return 0
+}
+
+var File_SocialShowAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_SocialShowAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x14, 0x53, 0x6f, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f,
+ 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x75, 0x6d, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SocialShowAvatarInfo_proto_rawDescOnce sync.Once
+ file_SocialShowAvatarInfo_proto_rawDescData = file_SocialShowAvatarInfo_proto_rawDesc
+)
+
+func file_SocialShowAvatarInfo_proto_rawDescGZIP() []byte {
+ file_SocialShowAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_SocialShowAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SocialShowAvatarInfo_proto_rawDescData)
+ })
+ return file_SocialShowAvatarInfo_proto_rawDescData
+}
+
+var file_SocialShowAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SocialShowAvatarInfo_proto_goTypes = []interface{}{
+ (*SocialShowAvatarInfo)(nil), // 0: proto.SocialShowAvatarInfo
+}
+var file_SocialShowAvatarInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SocialShowAvatarInfo_proto_init() }
+func file_SocialShowAvatarInfo_proto_init() {
+ if File_SocialShowAvatarInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SocialShowAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SocialShowAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SocialShowAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SocialShowAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_SocialShowAvatarInfo_proto_depIdxs,
+ MessageInfos: file_SocialShowAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_SocialShowAvatarInfo_proto = out.File
+ file_SocialShowAvatarInfo_proto_rawDesc = nil
+ file_SocialShowAvatarInfo_proto_goTypes = nil
+ file_SocialShowAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpiceActivityDetailInfo.pb.go b/protocol/proto/SpiceActivityDetailInfo.pb.go
new file mode 100644
index 00000000..ce80ff51
--- /dev/null
+++ b/protocol/proto/SpiceActivityDetailInfo.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpiceActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SpiceActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurrentIncreaseAvatarFetterTimes uint32 `protobuf:"varint,15,opt,name=current_increase_avatar_fetter_times,json=currentIncreaseAvatarFetterTimes,proto3" json:"current_increase_avatar_fetter_times,omitempty"`
+ SpiceStageList []*SpiceStageData `protobuf:"bytes,7,rep,name=spice_stage_list,json=spiceStageList,proto3" json:"spice_stage_list,omitempty"`
+ IncreaseAvatarFetterLimitTimes uint32 `protobuf:"varint,13,opt,name=increase_avatar_fetter_limit_times,json=increaseAvatarFetterLimitTimes,proto3" json:"increase_avatar_fetter_limit_times,omitempty"`
+}
+
+func (x *SpiceActivityDetailInfo) Reset() {
+ *x = SpiceActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpiceActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpiceActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpiceActivityDetailInfo) ProtoMessage() {}
+
+func (x *SpiceActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SpiceActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpiceActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*SpiceActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_SpiceActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpiceActivityDetailInfo) GetCurrentIncreaseAvatarFetterTimes() uint32 {
+ if x != nil {
+ return x.CurrentIncreaseAvatarFetterTimes
+ }
+ return 0
+}
+
+func (x *SpiceActivityDetailInfo) GetSpiceStageList() []*SpiceStageData {
+ if x != nil {
+ return x.SpiceStageList
+ }
+ return nil
+}
+
+func (x *SpiceActivityDetailInfo) GetIncreaseAvatarFetterLimitTimes() uint32 {
+ if x != nil {
+ return x.IncreaseAvatarFetterLimitTimes
+ }
+ return 0
+}
+
+var File_SpiceActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_SpiceActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x53, 0x70, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf6, 0x01, 0x0a,
+ 0x17, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4e, 0x0a, 0x24, 0x63, 0x75, 0x72, 0x72,
+ 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49,
+ 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74,
+ 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x73, 0x70, 0x69, 0x63,
+ 0x65, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x70, 0x69, 0x63, 0x65,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x73, 0x70, 0x69, 0x63, 0x65,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x22, 0x69, 0x6e, 0x63,
+ 0x72, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x66, 0x65, 0x74,
+ 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SpiceActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_SpiceActivityDetailInfo_proto_rawDescData = file_SpiceActivityDetailInfo_proto_rawDesc
+)
+
+func file_SpiceActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_SpiceActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_SpiceActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpiceActivityDetailInfo_proto_rawDescData)
+ })
+ return file_SpiceActivityDetailInfo_proto_rawDescData
+}
+
+var file_SpiceActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpiceActivityDetailInfo_proto_goTypes = []interface{}{
+ (*SpiceActivityDetailInfo)(nil), // 0: proto.SpiceActivityDetailInfo
+ (*SpiceStageData)(nil), // 1: proto.SpiceStageData
+}
+var file_SpiceActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SpiceActivityDetailInfo.spice_stage_list:type_name -> proto.SpiceStageData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SpiceActivityDetailInfo_proto_init() }
+func file_SpiceActivityDetailInfo_proto_init() {
+ if File_SpiceActivityDetailInfo_proto != nil {
+ return
+ }
+ file_SpiceStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SpiceActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpiceActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpiceActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpiceActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_SpiceActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_SpiceActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_SpiceActivityDetailInfo_proto = out.File
+ file_SpiceActivityDetailInfo_proto_rawDesc = nil
+ file_SpiceActivityDetailInfo_proto_goTypes = nil
+ file_SpiceActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpiceActivityFinishMakeSpiceReq.pb.go b/protocol/proto/SpiceActivityFinishMakeSpiceReq.pb.go
new file mode 100644
index 00000000..994eaf73
--- /dev/null
+++ b/protocol/proto/SpiceActivityFinishMakeSpiceReq.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpiceActivityFinishMakeSpiceReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8096
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SpiceActivityFinishMakeSpiceReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LeftTurns uint32 `protobuf:"varint,4,opt,name=left_turns,json=leftTurns,proto3" json:"left_turns,omitempty"`
+ IsSuccess bool `protobuf:"varint,9,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ LeftMaterialIdList []uint32 `protobuf:"varint,12,rep,packed,name=left_material_id_list,json=leftMaterialIdList,proto3" json:"left_material_id_list,omitempty"`
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *SpiceActivityFinishMakeSpiceReq) Reset() {
+ *x = SpiceActivityFinishMakeSpiceReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpiceActivityFinishMakeSpiceReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpiceActivityFinishMakeSpiceReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpiceActivityFinishMakeSpiceReq) ProtoMessage() {}
+
+func (x *SpiceActivityFinishMakeSpiceReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SpiceActivityFinishMakeSpiceReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpiceActivityFinishMakeSpiceReq.ProtoReflect.Descriptor instead.
+func (*SpiceActivityFinishMakeSpiceReq) Descriptor() ([]byte, []int) {
+ return file_SpiceActivityFinishMakeSpiceReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpiceActivityFinishMakeSpiceReq) GetLeftTurns() uint32 {
+ if x != nil {
+ return x.LeftTurns
+ }
+ return 0
+}
+
+func (x *SpiceActivityFinishMakeSpiceReq) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *SpiceActivityFinishMakeSpiceReq) GetLeftMaterialIdList() []uint32 {
+ if x != nil {
+ return x.LeftMaterialIdList
+ }
+ return nil
+}
+
+func (x *SpiceActivityFinishMakeSpiceReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_SpiceActivityFinishMakeSpiceReq_proto protoreflect.FileDescriptor
+
+var file_SpiceActivityFinishMakeSpiceReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x70, 0x69, 0x63, 0x65, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad,
+ 0x01, 0x0a, 0x1f, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x70, 0x69, 0x63, 0x65, 0x52,
+ 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x75, 0x72, 0x6e,
+ 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x12, 0x6c, 0x65, 0x66, 0x74, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SpiceActivityFinishMakeSpiceReq_proto_rawDescOnce sync.Once
+ file_SpiceActivityFinishMakeSpiceReq_proto_rawDescData = file_SpiceActivityFinishMakeSpiceReq_proto_rawDesc
+)
+
+func file_SpiceActivityFinishMakeSpiceReq_proto_rawDescGZIP() []byte {
+ file_SpiceActivityFinishMakeSpiceReq_proto_rawDescOnce.Do(func() {
+ file_SpiceActivityFinishMakeSpiceReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpiceActivityFinishMakeSpiceReq_proto_rawDescData)
+ })
+ return file_SpiceActivityFinishMakeSpiceReq_proto_rawDescData
+}
+
+var file_SpiceActivityFinishMakeSpiceReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpiceActivityFinishMakeSpiceReq_proto_goTypes = []interface{}{
+ (*SpiceActivityFinishMakeSpiceReq)(nil), // 0: proto.SpiceActivityFinishMakeSpiceReq
+}
+var file_SpiceActivityFinishMakeSpiceReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SpiceActivityFinishMakeSpiceReq_proto_init() }
+func file_SpiceActivityFinishMakeSpiceReq_proto_init() {
+ if File_SpiceActivityFinishMakeSpiceReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SpiceActivityFinishMakeSpiceReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpiceActivityFinishMakeSpiceReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpiceActivityFinishMakeSpiceReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpiceActivityFinishMakeSpiceReq_proto_goTypes,
+ DependencyIndexes: file_SpiceActivityFinishMakeSpiceReq_proto_depIdxs,
+ MessageInfos: file_SpiceActivityFinishMakeSpiceReq_proto_msgTypes,
+ }.Build()
+ File_SpiceActivityFinishMakeSpiceReq_proto = out.File
+ file_SpiceActivityFinishMakeSpiceReq_proto_rawDesc = nil
+ file_SpiceActivityFinishMakeSpiceReq_proto_goTypes = nil
+ file_SpiceActivityFinishMakeSpiceReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpiceActivityFinishMakeSpiceRsp.pb.go b/protocol/proto/SpiceActivityFinishMakeSpiceRsp.pb.go
new file mode 100644
index 00000000..bbdcf090
--- /dev/null
+++ b/protocol/proto/SpiceActivityFinishMakeSpiceRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpiceActivityFinishMakeSpiceRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8481
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SpiceActivityFinishMakeSpiceRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,13,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IsSuccess bool `protobuf:"varint,3,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *SpiceActivityFinishMakeSpiceRsp) Reset() {
+ *x = SpiceActivityFinishMakeSpiceRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpiceActivityFinishMakeSpiceRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpiceActivityFinishMakeSpiceRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpiceActivityFinishMakeSpiceRsp) ProtoMessage() {}
+
+func (x *SpiceActivityFinishMakeSpiceRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SpiceActivityFinishMakeSpiceRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpiceActivityFinishMakeSpiceRsp.ProtoReflect.Descriptor instead.
+func (*SpiceActivityFinishMakeSpiceRsp) Descriptor() ([]byte, []int) {
+ return file_SpiceActivityFinishMakeSpiceRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpiceActivityFinishMakeSpiceRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SpiceActivityFinishMakeSpiceRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SpiceActivityFinishMakeSpiceRsp) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_SpiceActivityFinishMakeSpiceRsp_proto protoreflect.FileDescriptor
+
+var file_SpiceActivityFinishMakeSpiceRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x70, 0x69, 0x63, 0x65, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75,
+ 0x0a, 0x1f, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x70, 0x69, 0x63, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SpiceActivityFinishMakeSpiceRsp_proto_rawDescOnce sync.Once
+ file_SpiceActivityFinishMakeSpiceRsp_proto_rawDescData = file_SpiceActivityFinishMakeSpiceRsp_proto_rawDesc
+)
+
+func file_SpiceActivityFinishMakeSpiceRsp_proto_rawDescGZIP() []byte {
+ file_SpiceActivityFinishMakeSpiceRsp_proto_rawDescOnce.Do(func() {
+ file_SpiceActivityFinishMakeSpiceRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpiceActivityFinishMakeSpiceRsp_proto_rawDescData)
+ })
+ return file_SpiceActivityFinishMakeSpiceRsp_proto_rawDescData
+}
+
+var file_SpiceActivityFinishMakeSpiceRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpiceActivityFinishMakeSpiceRsp_proto_goTypes = []interface{}{
+ (*SpiceActivityFinishMakeSpiceRsp)(nil), // 0: proto.SpiceActivityFinishMakeSpiceRsp
+}
+var file_SpiceActivityFinishMakeSpiceRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SpiceActivityFinishMakeSpiceRsp_proto_init() }
+func file_SpiceActivityFinishMakeSpiceRsp_proto_init() {
+ if File_SpiceActivityFinishMakeSpiceRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SpiceActivityFinishMakeSpiceRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpiceActivityFinishMakeSpiceRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpiceActivityFinishMakeSpiceRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpiceActivityFinishMakeSpiceRsp_proto_goTypes,
+ DependencyIndexes: file_SpiceActivityFinishMakeSpiceRsp_proto_depIdxs,
+ MessageInfos: file_SpiceActivityFinishMakeSpiceRsp_proto_msgTypes,
+ }.Build()
+ File_SpiceActivityFinishMakeSpiceRsp_proto = out.File
+ file_SpiceActivityFinishMakeSpiceRsp_proto_rawDesc = nil
+ file_SpiceActivityFinishMakeSpiceRsp_proto_goTypes = nil
+ file_SpiceActivityFinishMakeSpiceRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpiceActivityGivingRecordNotify.pb.go b/protocol/proto/SpiceActivityGivingRecordNotify.pb.go
new file mode 100644
index 00000000..cfe68d97
--- /dev/null
+++ b/protocol/proto/SpiceActivityGivingRecordNotify.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpiceActivityGivingRecordNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8407
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SpiceActivityGivingRecordNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurrentIncreaseAvatarFetterTimes uint32 `protobuf:"varint,3,opt,name=current_increase_avatar_fetter_times,json=currentIncreaseAvatarFetterTimes,proto3" json:"current_increase_avatar_fetter_times,omitempty"`
+ IncreaseAvatarFetterLimitTimes uint32 `protobuf:"varint,7,opt,name=increase_avatar_fetter_limit_times,json=increaseAvatarFetterLimitTimes,proto3" json:"increase_avatar_fetter_limit_times,omitempty"`
+ AvatarId uint32 `protobuf:"varint,11,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *SpiceActivityGivingRecordNotify) Reset() {
+ *x = SpiceActivityGivingRecordNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpiceActivityGivingRecordNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpiceActivityGivingRecordNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpiceActivityGivingRecordNotify) ProtoMessage() {}
+
+func (x *SpiceActivityGivingRecordNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SpiceActivityGivingRecordNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpiceActivityGivingRecordNotify.ProtoReflect.Descriptor instead.
+func (*SpiceActivityGivingRecordNotify) Descriptor() ([]byte, []int) {
+ return file_SpiceActivityGivingRecordNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpiceActivityGivingRecordNotify) GetCurrentIncreaseAvatarFetterTimes() uint32 {
+ if x != nil {
+ return x.CurrentIncreaseAvatarFetterTimes
+ }
+ return 0
+}
+
+func (x *SpiceActivityGivingRecordNotify) GetIncreaseAvatarFetterLimitTimes() uint32 {
+ if x != nil {
+ return x.IncreaseAvatarFetterLimitTimes
+ }
+ return 0
+}
+
+func (x *SpiceActivityGivingRecordNotify) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_SpiceActivityGivingRecordNotify_proto protoreflect.FileDescriptor
+
+var file_SpiceActivityGivingRecordNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x47,
+ 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda,
+ 0x01, 0x0a, 0x1f, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79,
+ 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x4e, 0x0a, 0x24, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e,
+ 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x66, 0x65,
+ 0x74, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73,
+ 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65, 0x74, 0x74, 0x65, 0x72, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x66, 0x65, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d,
+ 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1e,
+ 0x69, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x65,
+ 0x74, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1b,
+ 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SpiceActivityGivingRecordNotify_proto_rawDescOnce sync.Once
+ file_SpiceActivityGivingRecordNotify_proto_rawDescData = file_SpiceActivityGivingRecordNotify_proto_rawDesc
+)
+
+func file_SpiceActivityGivingRecordNotify_proto_rawDescGZIP() []byte {
+ file_SpiceActivityGivingRecordNotify_proto_rawDescOnce.Do(func() {
+ file_SpiceActivityGivingRecordNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpiceActivityGivingRecordNotify_proto_rawDescData)
+ })
+ return file_SpiceActivityGivingRecordNotify_proto_rawDescData
+}
+
+var file_SpiceActivityGivingRecordNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpiceActivityGivingRecordNotify_proto_goTypes = []interface{}{
+ (*SpiceActivityGivingRecordNotify)(nil), // 0: proto.SpiceActivityGivingRecordNotify
+}
+var file_SpiceActivityGivingRecordNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SpiceActivityGivingRecordNotify_proto_init() }
+func file_SpiceActivityGivingRecordNotify_proto_init() {
+ if File_SpiceActivityGivingRecordNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SpiceActivityGivingRecordNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpiceActivityGivingRecordNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpiceActivityGivingRecordNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpiceActivityGivingRecordNotify_proto_goTypes,
+ DependencyIndexes: file_SpiceActivityGivingRecordNotify_proto_depIdxs,
+ MessageInfos: file_SpiceActivityGivingRecordNotify_proto_msgTypes,
+ }.Build()
+ File_SpiceActivityGivingRecordNotify_proto = out.File
+ file_SpiceActivityGivingRecordNotify_proto_rawDesc = nil
+ file_SpiceActivityGivingRecordNotify_proto_goTypes = nil
+ file_SpiceActivityGivingRecordNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpiceActivityProcessFoodReq.pb.go b/protocol/proto/SpiceActivityProcessFoodReq.pb.go
new file mode 100644
index 00000000..4e809fdb
--- /dev/null
+++ b/protocol/proto/SpiceActivityProcessFoodReq.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpiceActivityProcessFoodReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8216
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SpiceActivityProcessFoodReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NormalFoodList []*ItemParam `protobuf:"bytes,1,rep,name=normal_food_list,json=normalFoodList,proto3" json:"normal_food_list,omitempty"`
+}
+
+func (x *SpiceActivityProcessFoodReq) Reset() {
+ *x = SpiceActivityProcessFoodReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpiceActivityProcessFoodReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpiceActivityProcessFoodReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpiceActivityProcessFoodReq) ProtoMessage() {}
+
+func (x *SpiceActivityProcessFoodReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SpiceActivityProcessFoodReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpiceActivityProcessFoodReq.ProtoReflect.Descriptor instead.
+func (*SpiceActivityProcessFoodReq) Descriptor() ([]byte, []int) {
+ return file_SpiceActivityProcessFoodReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpiceActivityProcessFoodReq) GetNormalFoodList() []*ItemParam {
+ if x != nil {
+ return x.NormalFoodList
+ }
+ return nil
+}
+
+var File_SpiceActivityProcessFoodReq_proto protoreflect.FileDescriptor
+
+var file_SpiceActivityProcessFoodReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50,
+ 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x46, 0x6f, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x1b, 0x53,
+ 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x63,
+ 0x65, 0x73, 0x73, 0x46, 0x6f, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x12, 0x3a, 0x0a, 0x10, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x46, 0x6f,
+ 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SpiceActivityProcessFoodReq_proto_rawDescOnce sync.Once
+ file_SpiceActivityProcessFoodReq_proto_rawDescData = file_SpiceActivityProcessFoodReq_proto_rawDesc
+)
+
+func file_SpiceActivityProcessFoodReq_proto_rawDescGZIP() []byte {
+ file_SpiceActivityProcessFoodReq_proto_rawDescOnce.Do(func() {
+ file_SpiceActivityProcessFoodReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpiceActivityProcessFoodReq_proto_rawDescData)
+ })
+ return file_SpiceActivityProcessFoodReq_proto_rawDescData
+}
+
+var file_SpiceActivityProcessFoodReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpiceActivityProcessFoodReq_proto_goTypes = []interface{}{
+ (*SpiceActivityProcessFoodReq)(nil), // 0: proto.SpiceActivityProcessFoodReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_SpiceActivityProcessFoodReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SpiceActivityProcessFoodReq.normal_food_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SpiceActivityProcessFoodReq_proto_init() }
+func file_SpiceActivityProcessFoodReq_proto_init() {
+ if File_SpiceActivityProcessFoodReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SpiceActivityProcessFoodReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpiceActivityProcessFoodReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpiceActivityProcessFoodReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpiceActivityProcessFoodReq_proto_goTypes,
+ DependencyIndexes: file_SpiceActivityProcessFoodReq_proto_depIdxs,
+ MessageInfos: file_SpiceActivityProcessFoodReq_proto_msgTypes,
+ }.Build()
+ File_SpiceActivityProcessFoodReq_proto = out.File
+ file_SpiceActivityProcessFoodReq_proto_rawDesc = nil
+ file_SpiceActivityProcessFoodReq_proto_goTypes = nil
+ file_SpiceActivityProcessFoodReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpiceActivityProcessFoodRsp.pb.go b/protocol/proto/SpiceActivityProcessFoodRsp.pb.go
new file mode 100644
index 00000000..4558392c
--- /dev/null
+++ b/protocol/proto/SpiceActivityProcessFoodRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpiceActivityProcessFoodRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8772
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SpiceActivityProcessFoodRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SpecialFoodList []*ItemParam `protobuf:"bytes,14,rep,name=special_food_list,json=specialFoodList,proto3" json:"special_food_list,omitempty"`
+ NormalFoodList []*ItemParam `protobuf:"bytes,1,rep,name=normal_food_list,json=normalFoodList,proto3" json:"normal_food_list,omitempty"`
+}
+
+func (x *SpiceActivityProcessFoodRsp) Reset() {
+ *x = SpiceActivityProcessFoodRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpiceActivityProcessFoodRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpiceActivityProcessFoodRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpiceActivityProcessFoodRsp) ProtoMessage() {}
+
+func (x *SpiceActivityProcessFoodRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SpiceActivityProcessFoodRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpiceActivityProcessFoodRsp.ProtoReflect.Descriptor instead.
+func (*SpiceActivityProcessFoodRsp) Descriptor() ([]byte, []int) {
+ return file_SpiceActivityProcessFoodRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpiceActivityProcessFoodRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SpiceActivityProcessFoodRsp) GetSpecialFoodList() []*ItemParam {
+ if x != nil {
+ return x.SpecialFoodList
+ }
+ return nil
+}
+
+func (x *SpiceActivityProcessFoodRsp) GetNormalFoodList() []*ItemParam {
+ if x != nil {
+ return x.NormalFoodList
+ }
+ return nil
+}
+
+var File_SpiceActivityProcessFoodRsp_proto protoreflect.FileDescriptor
+
+var file_SpiceActivityProcessFoodRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50,
+ 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x46, 0x6f, 0x6f, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a, 0x1b,
+ 0x53, 0x70, 0x69, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f,
+ 0x63, 0x65, 0x73, 0x73, 0x46, 0x6f, 0x6f, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c,
+ 0x5f, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x46, 0x6f, 0x6f, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x66, 0x6f,
+ 0x6f, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
+ 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x46, 0x6f, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SpiceActivityProcessFoodRsp_proto_rawDescOnce sync.Once
+ file_SpiceActivityProcessFoodRsp_proto_rawDescData = file_SpiceActivityProcessFoodRsp_proto_rawDesc
+)
+
+func file_SpiceActivityProcessFoodRsp_proto_rawDescGZIP() []byte {
+ file_SpiceActivityProcessFoodRsp_proto_rawDescOnce.Do(func() {
+ file_SpiceActivityProcessFoodRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpiceActivityProcessFoodRsp_proto_rawDescData)
+ })
+ return file_SpiceActivityProcessFoodRsp_proto_rawDescData
+}
+
+var file_SpiceActivityProcessFoodRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpiceActivityProcessFoodRsp_proto_goTypes = []interface{}{
+ (*SpiceActivityProcessFoodRsp)(nil), // 0: proto.SpiceActivityProcessFoodRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_SpiceActivityProcessFoodRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SpiceActivityProcessFoodRsp.special_food_list:type_name -> proto.ItemParam
+ 1, // 1: proto.SpiceActivityProcessFoodRsp.normal_food_list:type_name -> proto.ItemParam
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SpiceActivityProcessFoodRsp_proto_init() }
+func file_SpiceActivityProcessFoodRsp_proto_init() {
+ if File_SpiceActivityProcessFoodRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SpiceActivityProcessFoodRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpiceActivityProcessFoodRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpiceActivityProcessFoodRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpiceActivityProcessFoodRsp_proto_goTypes,
+ DependencyIndexes: file_SpiceActivityProcessFoodRsp_proto_depIdxs,
+ MessageInfos: file_SpiceActivityProcessFoodRsp_proto_msgTypes,
+ }.Build()
+ File_SpiceActivityProcessFoodRsp_proto = out.File
+ file_SpiceActivityProcessFoodRsp_proto_rawDesc = nil
+ file_SpiceActivityProcessFoodRsp_proto_goTypes = nil
+ file_SpiceActivityProcessFoodRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpiceStageData.pb.go b/protocol/proto/SpiceStageData.pb.go
new file mode 100644
index 00000000..3bf6d79e
--- /dev/null
+++ b/protocol/proto/SpiceStageData.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpiceStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SpiceStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,12,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ SuccessTimes uint32 `protobuf:"varint,1,opt,name=success_times,json=successTimes,proto3" json:"success_times,omitempty"`
+ StageId uint32 `protobuf:"varint,6,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *SpiceStageData) Reset() {
+ *x = SpiceStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpiceStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpiceStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpiceStageData) ProtoMessage() {}
+
+func (x *SpiceStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_SpiceStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpiceStageData.ProtoReflect.Descriptor instead.
+func (*SpiceStageData) Descriptor() ([]byte, []int) {
+ return file_SpiceStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpiceStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *SpiceStageData) GetSuccessTimes() uint32 {
+ if x != nil {
+ return x.SuccessTimes
+ }
+ return 0
+}
+
+func (x *SpiceStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_SpiceStageData_proto protoreflect.FileDescriptor
+
+var file_SpiceStageData_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x70, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a,
+ 0x0e, 0x53, 0x70, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12,
+ 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SpiceStageData_proto_rawDescOnce sync.Once
+ file_SpiceStageData_proto_rawDescData = file_SpiceStageData_proto_rawDesc
+)
+
+func file_SpiceStageData_proto_rawDescGZIP() []byte {
+ file_SpiceStageData_proto_rawDescOnce.Do(func() {
+ file_SpiceStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpiceStageData_proto_rawDescData)
+ })
+ return file_SpiceStageData_proto_rawDescData
+}
+
+var file_SpiceStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpiceStageData_proto_goTypes = []interface{}{
+ (*SpiceStageData)(nil), // 0: proto.SpiceStageData
+}
+var file_SpiceStageData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SpiceStageData_proto_init() }
+func file_SpiceStageData_proto_init() {
+ if File_SpiceStageData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SpiceStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpiceStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpiceStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpiceStageData_proto_goTypes,
+ DependencyIndexes: file_SpiceStageData_proto_depIdxs,
+ MessageInfos: file_SpiceStageData_proto_msgTypes,
+ }.Build()
+ File_SpiceStageData_proto = out.File
+ file_SpiceStageData_proto_rawDesc = nil
+ file_SpiceStageData_proto_goTypes = nil
+ file_SpiceStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpringUseReq.pb.go b/protocol/proto/SpringUseReq.pb.go
new file mode 100644
index 00000000..6e53fbf8
--- /dev/null
+++ b/protocol/proto/SpringUseReq.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpringUseReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1748
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SpringUseReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint64 `protobuf:"varint,11,opt,name=guid,proto3" json:"guid,omitempty"`
+}
+
+func (x *SpringUseReq) Reset() {
+ *x = SpringUseReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpringUseReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpringUseReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpringUseReq) ProtoMessage() {}
+
+func (x *SpringUseReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SpringUseReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpringUseReq.ProtoReflect.Descriptor instead.
+func (*SpringUseReq) Descriptor() ([]byte, []int) {
+ return file_SpringUseReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpringUseReq) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+var File_SpringUseReq_proto protoreflect.FileDescriptor
+
+var file_SpringUseReq_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x22, 0x0a, 0x0c, 0x53,
+ 0x70, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SpringUseReq_proto_rawDescOnce sync.Once
+ file_SpringUseReq_proto_rawDescData = file_SpringUseReq_proto_rawDesc
+)
+
+func file_SpringUseReq_proto_rawDescGZIP() []byte {
+ file_SpringUseReq_proto_rawDescOnce.Do(func() {
+ file_SpringUseReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpringUseReq_proto_rawDescData)
+ })
+ return file_SpringUseReq_proto_rawDescData
+}
+
+var file_SpringUseReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpringUseReq_proto_goTypes = []interface{}{
+ (*SpringUseReq)(nil), // 0: proto.SpringUseReq
+}
+var file_SpringUseReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SpringUseReq_proto_init() }
+func file_SpringUseReq_proto_init() {
+ if File_SpringUseReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SpringUseReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpringUseReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpringUseReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpringUseReq_proto_goTypes,
+ DependencyIndexes: file_SpringUseReq_proto_depIdxs,
+ MessageInfos: file_SpringUseReq_proto_msgTypes,
+ }.Build()
+ File_SpringUseReq_proto = out.File
+ file_SpringUseReq_proto_rawDesc = nil
+ file_SpringUseReq_proto_goTypes = nil
+ file_SpringUseReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SpringUseRsp.pb.go b/protocol/proto/SpringUseRsp.pb.go
new file mode 100644
index 00000000..b3f2d418
--- /dev/null
+++ b/protocol/proto/SpringUseRsp.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SpringUseRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1642
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SpringUseRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint64 `protobuf:"varint,3,opt,name=guid,proto3" json:"guid,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SpringUseRsp) Reset() {
+ *x = SpringUseRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SpringUseRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SpringUseRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SpringUseRsp) ProtoMessage() {}
+
+func (x *SpringUseRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SpringUseRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SpringUseRsp.ProtoReflect.Descriptor instead.
+func (*SpringUseRsp) Descriptor() ([]byte, []int) {
+ return file_SpringUseRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SpringUseRsp) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *SpringUseRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SpringUseRsp_proto protoreflect.FileDescriptor
+
+var file_SpringUseRsp_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x0c, 0x53,
+ 0x70, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x52, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SpringUseRsp_proto_rawDescOnce sync.Once
+ file_SpringUseRsp_proto_rawDescData = file_SpringUseRsp_proto_rawDesc
+)
+
+func file_SpringUseRsp_proto_rawDescGZIP() []byte {
+ file_SpringUseRsp_proto_rawDescOnce.Do(func() {
+ file_SpringUseRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SpringUseRsp_proto_rawDescData)
+ })
+ return file_SpringUseRsp_proto_rawDescData
+}
+
+var file_SpringUseRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SpringUseRsp_proto_goTypes = []interface{}{
+ (*SpringUseRsp)(nil), // 0: proto.SpringUseRsp
+}
+var file_SpringUseRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SpringUseRsp_proto_init() }
+func file_SpringUseRsp_proto_init() {
+ if File_SpringUseRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SpringUseRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SpringUseRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SpringUseRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SpringUseRsp_proto_goTypes,
+ DependencyIndexes: file_SpringUseRsp_proto_depIdxs,
+ MessageInfos: file_SpringUseRsp_proto_msgTypes,
+ }.Build()
+ File_SpringUseRsp_proto = out.File
+ file_SpringUseRsp_proto_rawDesc = nil
+ file_SpringUseRsp_proto_goTypes = nil
+ file_SpringUseRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartArenaChallengeLevelReq.pb.go b/protocol/proto/StartArenaChallengeLevelReq.pb.go
new file mode 100644
index 00000000..4689d033
--- /dev/null
+++ b/protocol/proto/StartArenaChallengeLevelReq.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartArenaChallengeLevelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2127
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartArenaChallengeLevelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArenaChallengeId uint32 `protobuf:"varint,4,opt,name=arena_challenge_id,json=arenaChallengeId,proto3" json:"arena_challenge_id,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,5,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ ArenaChallengeLevel uint32 `protobuf:"varint,2,opt,name=arena_challenge_level,json=arenaChallengeLevel,proto3" json:"arena_challenge_level,omitempty"`
+}
+
+func (x *StartArenaChallengeLevelReq) Reset() {
+ *x = StartArenaChallengeLevelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartArenaChallengeLevelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartArenaChallengeLevelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartArenaChallengeLevelReq) ProtoMessage() {}
+
+func (x *StartArenaChallengeLevelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartArenaChallengeLevelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartArenaChallengeLevelReq.ProtoReflect.Descriptor instead.
+func (*StartArenaChallengeLevelReq) Descriptor() ([]byte, []int) {
+ return file_StartArenaChallengeLevelReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartArenaChallengeLevelReq) GetArenaChallengeId() uint32 {
+ if x != nil {
+ return x.ArenaChallengeId
+ }
+ return 0
+}
+
+func (x *StartArenaChallengeLevelReq) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *StartArenaChallengeLevelReq) GetArenaChallengeLevel() uint32 {
+ if x != nil {
+ return x.ArenaChallengeLevel
+ }
+ return 0
+}
+
+var File_StartArenaChallengeLevelReq_proto protoreflect.FileDescriptor
+
+var file_StartArenaChallengeLevelReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x1b, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x72,
+ 0x65, 0x6e, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x13, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67,
+ 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartArenaChallengeLevelReq_proto_rawDescOnce sync.Once
+ file_StartArenaChallengeLevelReq_proto_rawDescData = file_StartArenaChallengeLevelReq_proto_rawDesc
+)
+
+func file_StartArenaChallengeLevelReq_proto_rawDescGZIP() []byte {
+ file_StartArenaChallengeLevelReq_proto_rawDescOnce.Do(func() {
+ file_StartArenaChallengeLevelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartArenaChallengeLevelReq_proto_rawDescData)
+ })
+ return file_StartArenaChallengeLevelReq_proto_rawDescData
+}
+
+var file_StartArenaChallengeLevelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartArenaChallengeLevelReq_proto_goTypes = []interface{}{
+ (*StartArenaChallengeLevelReq)(nil), // 0: proto.StartArenaChallengeLevelReq
+}
+var file_StartArenaChallengeLevelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartArenaChallengeLevelReq_proto_init() }
+func file_StartArenaChallengeLevelReq_proto_init() {
+ if File_StartArenaChallengeLevelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartArenaChallengeLevelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartArenaChallengeLevelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartArenaChallengeLevelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartArenaChallengeLevelReq_proto_goTypes,
+ DependencyIndexes: file_StartArenaChallengeLevelReq_proto_depIdxs,
+ MessageInfos: file_StartArenaChallengeLevelReq_proto_msgTypes,
+ }.Build()
+ File_StartArenaChallengeLevelReq_proto = out.File
+ file_StartArenaChallengeLevelReq_proto_rawDesc = nil
+ file_StartArenaChallengeLevelReq_proto_goTypes = nil
+ file_StartArenaChallengeLevelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartArenaChallengeLevelRsp.pb.go b/protocol/proto/StartArenaChallengeLevelRsp.pb.go
new file mode 100644
index 00000000..c78c92a6
--- /dev/null
+++ b/protocol/proto/StartArenaChallengeLevelRsp.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartArenaChallengeLevelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2125
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartArenaChallengeLevelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ArenaChallengeLevel uint32 `protobuf:"varint,1,opt,name=arena_challenge_level,json=arenaChallengeLevel,proto3" json:"arena_challenge_level,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,3,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ ArenaChallengeId uint32 `protobuf:"varint,6,opt,name=arena_challenge_id,json=arenaChallengeId,proto3" json:"arena_challenge_id,omitempty"`
+}
+
+func (x *StartArenaChallengeLevelRsp) Reset() {
+ *x = StartArenaChallengeLevelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartArenaChallengeLevelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartArenaChallengeLevelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartArenaChallengeLevelRsp) ProtoMessage() {}
+
+func (x *StartArenaChallengeLevelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartArenaChallengeLevelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartArenaChallengeLevelRsp.ProtoReflect.Descriptor instead.
+func (*StartArenaChallengeLevelRsp) Descriptor() ([]byte, []int) {
+ return file_StartArenaChallengeLevelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartArenaChallengeLevelRsp) GetArenaChallengeLevel() uint32 {
+ if x != nil {
+ return x.ArenaChallengeLevel
+ }
+ return 0
+}
+
+func (x *StartArenaChallengeLevelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *StartArenaChallengeLevelRsp) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *StartArenaChallengeLevelRsp) GetArenaChallengeId() uint32 {
+ if x != nil {
+ return x.ArenaChallengeId
+ }
+ return 0
+}
+
+var File_StartArenaChallengeLevelRsp_proto protoreflect.FileDescriptor
+
+var file_StartArenaChallengeLevelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x1b, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x72,
+ 0x65, 0x6e, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x61, 0x72, 0x65, 0x6e, 0x61,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x72, 0x65, 0x6e, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10,
+ 0x61, 0x72, 0x65, 0x6e, 0x61, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartArenaChallengeLevelRsp_proto_rawDescOnce sync.Once
+ file_StartArenaChallengeLevelRsp_proto_rawDescData = file_StartArenaChallengeLevelRsp_proto_rawDesc
+)
+
+func file_StartArenaChallengeLevelRsp_proto_rawDescGZIP() []byte {
+ file_StartArenaChallengeLevelRsp_proto_rawDescOnce.Do(func() {
+ file_StartArenaChallengeLevelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartArenaChallengeLevelRsp_proto_rawDescData)
+ })
+ return file_StartArenaChallengeLevelRsp_proto_rawDescData
+}
+
+var file_StartArenaChallengeLevelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartArenaChallengeLevelRsp_proto_goTypes = []interface{}{
+ (*StartArenaChallengeLevelRsp)(nil), // 0: proto.StartArenaChallengeLevelRsp
+}
+var file_StartArenaChallengeLevelRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartArenaChallengeLevelRsp_proto_init() }
+func file_StartArenaChallengeLevelRsp_proto_init() {
+ if File_StartArenaChallengeLevelRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartArenaChallengeLevelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartArenaChallengeLevelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartArenaChallengeLevelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartArenaChallengeLevelRsp_proto_goTypes,
+ DependencyIndexes: file_StartArenaChallengeLevelRsp_proto_depIdxs,
+ MessageInfos: file_StartArenaChallengeLevelRsp_proto_msgTypes,
+ }.Build()
+ File_StartArenaChallengeLevelRsp_proto = out.File
+ file_StartArenaChallengeLevelRsp_proto_rawDesc = nil
+ file_StartArenaChallengeLevelRsp_proto_goTypes = nil
+ file_StartArenaChallengeLevelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartBuoyantCombatGalleryReq.pb.go b/protocol/proto/StartBuoyantCombatGalleryReq.pb.go
new file mode 100644
index 00000000..c89e5ef6
--- /dev/null
+++ b/protocol/proto/StartBuoyantCombatGalleryReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartBuoyantCombatGalleryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8732
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartBuoyantCombatGalleryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,15,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ GalleryLevel uint32 `protobuf:"varint,13,opt,name=gallery_level,json=galleryLevel,proto3" json:"gallery_level,omitempty"`
+}
+
+func (x *StartBuoyantCombatGalleryReq) Reset() {
+ *x = StartBuoyantCombatGalleryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartBuoyantCombatGalleryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartBuoyantCombatGalleryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartBuoyantCombatGalleryReq) ProtoMessage() {}
+
+func (x *StartBuoyantCombatGalleryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartBuoyantCombatGalleryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartBuoyantCombatGalleryReq.ProtoReflect.Descriptor instead.
+func (*StartBuoyantCombatGalleryReq) Descriptor() ([]byte, []int) {
+ return file_StartBuoyantCombatGalleryReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartBuoyantCombatGalleryReq) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *StartBuoyantCombatGalleryReq) GetGalleryLevel() uint32 {
+ if x != nil {
+ return x.GalleryLevel
+ }
+ return 0
+}
+
+var File_StartBuoyantCombatGalleryReq_proto protoreflect.FileDescriptor
+
+var file_StartBuoyantCombatGalleryReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f,
+ 0x6d, 0x62, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x1c, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61,
+ 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x67,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartBuoyantCombatGalleryReq_proto_rawDescOnce sync.Once
+ file_StartBuoyantCombatGalleryReq_proto_rawDescData = file_StartBuoyantCombatGalleryReq_proto_rawDesc
+)
+
+func file_StartBuoyantCombatGalleryReq_proto_rawDescGZIP() []byte {
+ file_StartBuoyantCombatGalleryReq_proto_rawDescOnce.Do(func() {
+ file_StartBuoyantCombatGalleryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartBuoyantCombatGalleryReq_proto_rawDescData)
+ })
+ return file_StartBuoyantCombatGalleryReq_proto_rawDescData
+}
+
+var file_StartBuoyantCombatGalleryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartBuoyantCombatGalleryReq_proto_goTypes = []interface{}{
+ (*StartBuoyantCombatGalleryReq)(nil), // 0: proto.StartBuoyantCombatGalleryReq
+}
+var file_StartBuoyantCombatGalleryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartBuoyantCombatGalleryReq_proto_init() }
+func file_StartBuoyantCombatGalleryReq_proto_init() {
+ if File_StartBuoyantCombatGalleryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartBuoyantCombatGalleryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartBuoyantCombatGalleryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartBuoyantCombatGalleryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartBuoyantCombatGalleryReq_proto_goTypes,
+ DependencyIndexes: file_StartBuoyantCombatGalleryReq_proto_depIdxs,
+ MessageInfos: file_StartBuoyantCombatGalleryReq_proto_msgTypes,
+ }.Build()
+ File_StartBuoyantCombatGalleryReq_proto = out.File
+ file_StartBuoyantCombatGalleryReq_proto_rawDesc = nil
+ file_StartBuoyantCombatGalleryReq_proto_goTypes = nil
+ file_StartBuoyantCombatGalleryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartBuoyantCombatGalleryRsp.pb.go b/protocol/proto/StartBuoyantCombatGalleryRsp.pb.go
new file mode 100644
index 00000000..cc183af2
--- /dev/null
+++ b/protocol/proto/StartBuoyantCombatGalleryRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartBuoyantCombatGalleryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8680
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartBuoyantCombatGalleryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryLevel uint32 `protobuf:"varint,12,opt,name=gallery_level,json=galleryLevel,proto3" json:"gallery_level,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GalleryId uint32 `protobuf:"varint,8,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *StartBuoyantCombatGalleryRsp) Reset() {
+ *x = StartBuoyantCombatGalleryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartBuoyantCombatGalleryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartBuoyantCombatGalleryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartBuoyantCombatGalleryRsp) ProtoMessage() {}
+
+func (x *StartBuoyantCombatGalleryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartBuoyantCombatGalleryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartBuoyantCombatGalleryRsp.ProtoReflect.Descriptor instead.
+func (*StartBuoyantCombatGalleryRsp) Descriptor() ([]byte, []int) {
+ return file_StartBuoyantCombatGalleryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartBuoyantCombatGalleryRsp) GetGalleryLevel() uint32 {
+ if x != nil {
+ return x.GalleryLevel
+ }
+ return 0
+}
+
+func (x *StartBuoyantCombatGalleryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *StartBuoyantCombatGalleryRsp) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_StartBuoyantCombatGalleryRsp_proto protoreflect.FileDescriptor
+
+var file_StartBuoyantCombatGalleryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f,
+ 0x6d, 0x62, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x1c, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x42, 0x75, 0x6f, 0x79, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61,
+ 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x67,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartBuoyantCombatGalleryRsp_proto_rawDescOnce sync.Once
+ file_StartBuoyantCombatGalleryRsp_proto_rawDescData = file_StartBuoyantCombatGalleryRsp_proto_rawDesc
+)
+
+func file_StartBuoyantCombatGalleryRsp_proto_rawDescGZIP() []byte {
+ file_StartBuoyantCombatGalleryRsp_proto_rawDescOnce.Do(func() {
+ file_StartBuoyantCombatGalleryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartBuoyantCombatGalleryRsp_proto_rawDescData)
+ })
+ return file_StartBuoyantCombatGalleryRsp_proto_rawDescData
+}
+
+var file_StartBuoyantCombatGalleryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartBuoyantCombatGalleryRsp_proto_goTypes = []interface{}{
+ (*StartBuoyantCombatGalleryRsp)(nil), // 0: proto.StartBuoyantCombatGalleryRsp
+}
+var file_StartBuoyantCombatGalleryRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartBuoyantCombatGalleryRsp_proto_init() }
+func file_StartBuoyantCombatGalleryRsp_proto_init() {
+ if File_StartBuoyantCombatGalleryRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartBuoyantCombatGalleryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartBuoyantCombatGalleryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartBuoyantCombatGalleryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartBuoyantCombatGalleryRsp_proto_goTypes,
+ DependencyIndexes: file_StartBuoyantCombatGalleryRsp_proto_depIdxs,
+ MessageInfos: file_StartBuoyantCombatGalleryRsp_proto_msgTypes,
+ }.Build()
+ File_StartBuoyantCombatGalleryRsp_proto = out.File
+ file_StartBuoyantCombatGalleryRsp_proto_rawDesc = nil
+ file_StartBuoyantCombatGalleryRsp_proto_goTypes = nil
+ file_StartBuoyantCombatGalleryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartCoopPointReq.pb.go b/protocol/proto/StartCoopPointReq.pb.go
new file mode 100644
index 00000000..d8c22e87
--- /dev/null
+++ b/protocol/proto/StartCoopPointReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartCoopPointReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1992
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartCoopPointReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CoopPoint uint32 `protobuf:"varint,7,opt,name=coop_point,json=coopPoint,proto3" json:"coop_point,omitempty"`
+}
+
+func (x *StartCoopPointReq) Reset() {
+ *x = StartCoopPointReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartCoopPointReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartCoopPointReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartCoopPointReq) ProtoMessage() {}
+
+func (x *StartCoopPointReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartCoopPointReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartCoopPointReq.ProtoReflect.Descriptor instead.
+func (*StartCoopPointReq) Descriptor() ([]byte, []int) {
+ return file_StartCoopPointReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartCoopPointReq) GetCoopPoint() uint32 {
+ if x != nil {
+ return x.CoopPoint
+ }
+ return 0
+}
+
+var File_StartCoopPointReq_proto protoreflect.FileDescriptor
+
+var file_StartCoopPointReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x32, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6f, 0x70, 0x50,
+ 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartCoopPointReq_proto_rawDescOnce sync.Once
+ file_StartCoopPointReq_proto_rawDescData = file_StartCoopPointReq_proto_rawDesc
+)
+
+func file_StartCoopPointReq_proto_rawDescGZIP() []byte {
+ file_StartCoopPointReq_proto_rawDescOnce.Do(func() {
+ file_StartCoopPointReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartCoopPointReq_proto_rawDescData)
+ })
+ return file_StartCoopPointReq_proto_rawDescData
+}
+
+var file_StartCoopPointReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartCoopPointReq_proto_goTypes = []interface{}{
+ (*StartCoopPointReq)(nil), // 0: proto.StartCoopPointReq
+}
+var file_StartCoopPointReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartCoopPointReq_proto_init() }
+func file_StartCoopPointReq_proto_init() {
+ if File_StartCoopPointReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartCoopPointReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartCoopPointReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartCoopPointReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartCoopPointReq_proto_goTypes,
+ DependencyIndexes: file_StartCoopPointReq_proto_depIdxs,
+ MessageInfos: file_StartCoopPointReq_proto_msgTypes,
+ }.Build()
+ File_StartCoopPointReq_proto = out.File
+ file_StartCoopPointReq_proto_rawDesc = nil
+ file_StartCoopPointReq_proto_goTypes = nil
+ file_StartCoopPointReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartCoopPointRsp.pb.go b/protocol/proto/StartCoopPointRsp.pb.go
new file mode 100644
index 00000000..731c1348
--- /dev/null
+++ b/protocol/proto/StartCoopPointRsp.pb.go
@@ -0,0 +1,197 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartCoopPointRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1964
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartCoopPointRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsStart bool `protobuf:"varint,9,opt,name=is_start,json=isStart,proto3" json:"is_start,omitempty"`
+ StartMainCoop *MainCoop `protobuf:"bytes,15,opt,name=start_main_coop,json=startMainCoop,proto3" json:"start_main_coop,omitempty"`
+ CoopPoint uint32 `protobuf:"varint,13,opt,name=coop_point,json=coopPoint,proto3" json:"coop_point,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *StartCoopPointRsp) Reset() {
+ *x = StartCoopPointRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartCoopPointRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartCoopPointRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartCoopPointRsp) ProtoMessage() {}
+
+func (x *StartCoopPointRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartCoopPointRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartCoopPointRsp.ProtoReflect.Descriptor instead.
+func (*StartCoopPointRsp) Descriptor() ([]byte, []int) {
+ return file_StartCoopPointRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartCoopPointRsp) GetIsStart() bool {
+ if x != nil {
+ return x.IsStart
+ }
+ return false
+}
+
+func (x *StartCoopPointRsp) GetStartMainCoop() *MainCoop {
+ if x != nil {
+ return x.StartMainCoop
+ }
+ return nil
+}
+
+func (x *StartCoopPointRsp) GetCoopPoint() uint32 {
+ if x != nil {
+ return x.CoopPoint
+ }
+ return 0
+}
+
+func (x *StartCoopPointRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_StartCoopPointRsp_proto protoreflect.FileDescriptor
+
+var file_StartCoopPointRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xa0, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x53, 0x74, 0x61, 0x72,
+ 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x5f,
+ 0x63, 0x6f, 0x6f, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x0d, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f,
+ 0x6f, 0x70, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x63, 0x6f, 0x6f, 0x70, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartCoopPointRsp_proto_rawDescOnce sync.Once
+ file_StartCoopPointRsp_proto_rawDescData = file_StartCoopPointRsp_proto_rawDesc
+)
+
+func file_StartCoopPointRsp_proto_rawDescGZIP() []byte {
+ file_StartCoopPointRsp_proto_rawDescOnce.Do(func() {
+ file_StartCoopPointRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartCoopPointRsp_proto_rawDescData)
+ })
+ return file_StartCoopPointRsp_proto_rawDescData
+}
+
+var file_StartCoopPointRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartCoopPointRsp_proto_goTypes = []interface{}{
+ (*StartCoopPointRsp)(nil), // 0: proto.StartCoopPointRsp
+ (*MainCoop)(nil), // 1: proto.MainCoop
+}
+var file_StartCoopPointRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.StartCoopPointRsp.start_main_coop:type_name -> proto.MainCoop
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_StartCoopPointRsp_proto_init() }
+func file_StartCoopPointRsp_proto_init() {
+ if File_StartCoopPointRsp_proto != nil {
+ return
+ }
+ file_MainCoop_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_StartCoopPointRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartCoopPointRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartCoopPointRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartCoopPointRsp_proto_goTypes,
+ DependencyIndexes: file_StartCoopPointRsp_proto_depIdxs,
+ MessageInfos: file_StartCoopPointRsp_proto_msgTypes,
+ }.Build()
+ File_StartCoopPointRsp_proto = out.File
+ file_StartCoopPointRsp_proto_rawDesc = nil
+ file_StartCoopPointRsp_proto_goTypes = nil
+ file_StartCoopPointRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartEffigyChallengeReq.pb.go b/protocol/proto/StartEffigyChallengeReq.pb.go
new file mode 100644
index 00000000..b0cb3296
--- /dev/null
+++ b/protocol/proto/StartEffigyChallengeReq.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartEffigyChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2169
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartEffigyChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DifficultyId uint32 `protobuf:"varint,9,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ ConditionIdList []uint32 `protobuf:"varint,6,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ PointId uint32 `protobuf:"varint,12,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *StartEffigyChallengeReq) Reset() {
+ *x = StartEffigyChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartEffigyChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartEffigyChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartEffigyChallengeReq) ProtoMessage() {}
+
+func (x *StartEffigyChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartEffigyChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartEffigyChallengeReq.ProtoReflect.Descriptor instead.
+func (*StartEffigyChallengeReq) Descriptor() ([]byte, []int) {
+ return file_StartEffigyChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartEffigyChallengeReq) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *StartEffigyChallengeReq) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *StartEffigyChallengeReq) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *StartEffigyChallengeReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_StartEffigyChallengeReq_proto protoreflect.FileDescriptor
+
+var file_StartEffigyChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
+ 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69,
+ 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartEffigyChallengeReq_proto_rawDescOnce sync.Once
+ file_StartEffigyChallengeReq_proto_rawDescData = file_StartEffigyChallengeReq_proto_rawDesc
+)
+
+func file_StartEffigyChallengeReq_proto_rawDescGZIP() []byte {
+ file_StartEffigyChallengeReq_proto_rawDescOnce.Do(func() {
+ file_StartEffigyChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartEffigyChallengeReq_proto_rawDescData)
+ })
+ return file_StartEffigyChallengeReq_proto_rawDescData
+}
+
+var file_StartEffigyChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartEffigyChallengeReq_proto_goTypes = []interface{}{
+ (*StartEffigyChallengeReq)(nil), // 0: proto.StartEffigyChallengeReq
+}
+var file_StartEffigyChallengeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartEffigyChallengeReq_proto_init() }
+func file_StartEffigyChallengeReq_proto_init() {
+ if File_StartEffigyChallengeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartEffigyChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartEffigyChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartEffigyChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartEffigyChallengeReq_proto_goTypes,
+ DependencyIndexes: file_StartEffigyChallengeReq_proto_depIdxs,
+ MessageInfos: file_StartEffigyChallengeReq_proto_msgTypes,
+ }.Build()
+ File_StartEffigyChallengeReq_proto = out.File
+ file_StartEffigyChallengeReq_proto_rawDesc = nil
+ file_StartEffigyChallengeReq_proto_goTypes = nil
+ file_StartEffigyChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartEffigyChallengeRsp.pb.go b/protocol/proto/StartEffigyChallengeRsp.pb.go
new file mode 100644
index 00000000..b5f2d2cc
--- /dev/null
+++ b/protocol/proto/StartEffigyChallengeRsp.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartEffigyChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2173
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartEffigyChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ConditionIdList []uint32 `protobuf:"varint,2,rep,packed,name=condition_id_list,json=conditionIdList,proto3" json:"condition_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ChallengeId uint32 `protobuf:"varint,15,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,10,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ PointId uint32 `protobuf:"varint,12,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *StartEffigyChallengeRsp) Reset() {
+ *x = StartEffigyChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartEffigyChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartEffigyChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartEffigyChallengeRsp) ProtoMessage() {}
+
+func (x *StartEffigyChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartEffigyChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartEffigyChallengeRsp.ProtoReflect.Descriptor instead.
+func (*StartEffigyChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_StartEffigyChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartEffigyChallengeRsp) GetConditionIdList() []uint32 {
+ if x != nil {
+ return x.ConditionIdList
+ }
+ return nil
+}
+
+func (x *StartEffigyChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *StartEffigyChallengeRsp) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *StartEffigyChallengeRsp) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *StartEffigyChallengeRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_StartEffigyChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_StartEffigyChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
+ 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63,
+ 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64,
+ 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartEffigyChallengeRsp_proto_rawDescOnce sync.Once
+ file_StartEffigyChallengeRsp_proto_rawDescData = file_StartEffigyChallengeRsp_proto_rawDesc
+)
+
+func file_StartEffigyChallengeRsp_proto_rawDescGZIP() []byte {
+ file_StartEffigyChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_StartEffigyChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartEffigyChallengeRsp_proto_rawDescData)
+ })
+ return file_StartEffigyChallengeRsp_proto_rawDescData
+}
+
+var file_StartEffigyChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartEffigyChallengeRsp_proto_goTypes = []interface{}{
+ (*StartEffigyChallengeRsp)(nil), // 0: proto.StartEffigyChallengeRsp
+}
+var file_StartEffigyChallengeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartEffigyChallengeRsp_proto_init() }
+func file_StartEffigyChallengeRsp_proto_init() {
+ if File_StartEffigyChallengeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartEffigyChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartEffigyChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartEffigyChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartEffigyChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_StartEffigyChallengeRsp_proto_depIdxs,
+ MessageInfos: file_StartEffigyChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_StartEffigyChallengeRsp_proto = out.File
+ file_StartEffigyChallengeRsp_proto_rawDesc = nil
+ file_StartEffigyChallengeRsp_proto_goTypes = nil
+ file_StartEffigyChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartFishingReq.pb.go b/protocol/proto/StartFishingReq.pb.go
new file mode 100644
index 00000000..4057698a
--- /dev/null
+++ b/protocol/proto/StartFishingReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartFishingReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5825
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartFishingReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RodEntityId uint32 `protobuf:"varint,5,opt,name=rod_entity_id,json=rodEntityId,proto3" json:"rod_entity_id,omitempty"`
+ FishPoolId uint32 `protobuf:"varint,15,opt,name=fish_pool_id,json=fishPoolId,proto3" json:"fish_pool_id,omitempty"`
+}
+
+func (x *StartFishingReq) Reset() {
+ *x = StartFishingReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartFishingReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartFishingReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartFishingReq) ProtoMessage() {}
+
+func (x *StartFishingReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartFishingReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartFishingReq.ProtoReflect.Descriptor instead.
+func (*StartFishingReq) Descriptor() ([]byte, []int) {
+ return file_StartFishingReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartFishingReq) GetRodEntityId() uint32 {
+ if x != nil {
+ return x.RodEntityId
+ }
+ return 0
+}
+
+func (x *StartFishingReq) GetFishPoolId() uint32 {
+ if x != nil {
+ return x.FishPoolId
+ }
+ return 0
+}
+
+var File_StartFishingReq_proto protoreflect.FileDescriptor
+
+var file_StartFishingReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57,
+ 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x65,
+ 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x6f, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x6f, 0x64, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x6f,
+ 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x73,
+ 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartFishingReq_proto_rawDescOnce sync.Once
+ file_StartFishingReq_proto_rawDescData = file_StartFishingReq_proto_rawDesc
+)
+
+func file_StartFishingReq_proto_rawDescGZIP() []byte {
+ file_StartFishingReq_proto_rawDescOnce.Do(func() {
+ file_StartFishingReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartFishingReq_proto_rawDescData)
+ })
+ return file_StartFishingReq_proto_rawDescData
+}
+
+var file_StartFishingReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartFishingReq_proto_goTypes = []interface{}{
+ (*StartFishingReq)(nil), // 0: proto.StartFishingReq
+}
+var file_StartFishingReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartFishingReq_proto_init() }
+func file_StartFishingReq_proto_init() {
+ if File_StartFishingReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartFishingReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartFishingReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartFishingReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartFishingReq_proto_goTypes,
+ DependencyIndexes: file_StartFishingReq_proto_depIdxs,
+ MessageInfos: file_StartFishingReq_proto_msgTypes,
+ }.Build()
+ File_StartFishingReq_proto = out.File
+ file_StartFishingReq_proto_rawDesc = nil
+ file_StartFishingReq_proto_goTypes = nil
+ file_StartFishingReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartFishingRsp.pb.go b/protocol/proto/StartFishingRsp.pb.go
new file mode 100644
index 00000000..f258f562
--- /dev/null
+++ b/protocol/proto/StartFishingRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartFishingRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5807
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartFishingRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FishPoolId uint32 `protobuf:"varint,14,opt,name=fish_pool_id,json=fishPoolId,proto3" json:"fish_pool_id,omitempty"`
+}
+
+func (x *StartFishingRsp) Reset() {
+ *x = StartFishingRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartFishingRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartFishingRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartFishingRsp) ProtoMessage() {}
+
+func (x *StartFishingRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartFishingRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartFishingRsp.ProtoReflect.Descriptor instead.
+func (*StartFishingRsp) Descriptor() ([]byte, []int) {
+ return file_StartFishingRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartFishingRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *StartFishingRsp) GetFishPoolId() uint32 {
+ if x != nil {
+ return x.FishPoolId
+ }
+ return 0
+}
+
+var File_StartFishingRsp_proto protoreflect.FileDescriptor
+
+var file_StartFishingRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d,
+ 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x66,
+ 0x69, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x73, 0x68, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_StartFishingRsp_proto_rawDescOnce sync.Once
+ file_StartFishingRsp_proto_rawDescData = file_StartFishingRsp_proto_rawDesc
+)
+
+func file_StartFishingRsp_proto_rawDescGZIP() []byte {
+ file_StartFishingRsp_proto_rawDescOnce.Do(func() {
+ file_StartFishingRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartFishingRsp_proto_rawDescData)
+ })
+ return file_StartFishingRsp_proto_rawDescData
+}
+
+var file_StartFishingRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartFishingRsp_proto_goTypes = []interface{}{
+ (*StartFishingRsp)(nil), // 0: proto.StartFishingRsp
+}
+var file_StartFishingRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartFishingRsp_proto_init() }
+func file_StartFishingRsp_proto_init() {
+ if File_StartFishingRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartFishingRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartFishingRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartFishingRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartFishingRsp_proto_goTypes,
+ DependencyIndexes: file_StartFishingRsp_proto_depIdxs,
+ MessageInfos: file_StartFishingRsp_proto_msgTypes,
+ }.Build()
+ File_StartFishingRsp_proto = out.File
+ file_StartFishingRsp_proto_rawDesc = nil
+ file_StartFishingRsp_proto_goTypes = nil
+ file_StartFishingRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartRogueDiaryPlayReq.pb.go b/protocol/proto/StartRogueDiaryPlayReq.pb.go
new file mode 100644
index 00000000..c54e2682
--- /dev/null
+++ b/protocol/proto/StartRogueDiaryPlayReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartRogueDiaryPlayReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8419
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartRogueDiaryPlayReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Difficulty uint32 `protobuf:"varint,1,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *StartRogueDiaryPlayReq) Reset() {
+ *x = StartRogueDiaryPlayReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartRogueDiaryPlayReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartRogueDiaryPlayReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartRogueDiaryPlayReq) ProtoMessage() {}
+
+func (x *StartRogueDiaryPlayReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartRogueDiaryPlayReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartRogueDiaryPlayReq.ProtoReflect.Descriptor instead.
+func (*StartRogueDiaryPlayReq) Descriptor() ([]byte, []int) {
+ return file_StartRogueDiaryPlayReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartRogueDiaryPlayReq) GetDifficulty() uint32 {
+ if x != nil {
+ return x.Difficulty
+ }
+ return 0
+}
+
+func (x *StartRogueDiaryPlayReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_StartRogueDiaryPlayReq_proto protoreflect.FileDescriptor
+
+var file_StartRogueDiaryPlayReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12,
+ 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartRogueDiaryPlayReq_proto_rawDescOnce sync.Once
+ file_StartRogueDiaryPlayReq_proto_rawDescData = file_StartRogueDiaryPlayReq_proto_rawDesc
+)
+
+func file_StartRogueDiaryPlayReq_proto_rawDescGZIP() []byte {
+ file_StartRogueDiaryPlayReq_proto_rawDescOnce.Do(func() {
+ file_StartRogueDiaryPlayReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartRogueDiaryPlayReq_proto_rawDescData)
+ })
+ return file_StartRogueDiaryPlayReq_proto_rawDescData
+}
+
+var file_StartRogueDiaryPlayReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartRogueDiaryPlayReq_proto_goTypes = []interface{}{
+ (*StartRogueDiaryPlayReq)(nil), // 0: proto.StartRogueDiaryPlayReq
+}
+var file_StartRogueDiaryPlayReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartRogueDiaryPlayReq_proto_init() }
+func file_StartRogueDiaryPlayReq_proto_init() {
+ if File_StartRogueDiaryPlayReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartRogueDiaryPlayReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartRogueDiaryPlayReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartRogueDiaryPlayReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartRogueDiaryPlayReq_proto_goTypes,
+ DependencyIndexes: file_StartRogueDiaryPlayReq_proto_depIdxs,
+ MessageInfos: file_StartRogueDiaryPlayReq_proto_msgTypes,
+ }.Build()
+ File_StartRogueDiaryPlayReq_proto = out.File
+ file_StartRogueDiaryPlayReq_proto_rawDesc = nil
+ file_StartRogueDiaryPlayReq_proto_goTypes = nil
+ file_StartRogueDiaryPlayReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartRogueDiaryPlayRsp.pb.go b/protocol/proto/StartRogueDiaryPlayRsp.pb.go
new file mode 100644
index 00000000..e5230939
--- /dev/null
+++ b/protocol/proto/StartRogueDiaryPlayRsp.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartRogueDiaryPlayRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8385
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartRogueDiaryPlayRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TrialAvatarList []*RogueDiaryAvatar `protobuf:"bytes,13,rep,name=trial_avatar_list,json=trialAvatarList,proto3" json:"trial_avatar_list,omitempty"`
+ RandCardList []uint32 `protobuf:"varint,12,rep,packed,name=rand_card_list,json=randCardList,proto3" json:"rand_card_list,omitempty"`
+ AvatarList []*RogueDiaryAvatar `protobuf:"bytes,9,rep,name=avatar_list,json=avatarList,proto3" json:"avatar_list,omitempty"`
+}
+
+func (x *StartRogueDiaryPlayRsp) Reset() {
+ *x = StartRogueDiaryPlayRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartRogueDiaryPlayRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartRogueDiaryPlayRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartRogueDiaryPlayRsp) ProtoMessage() {}
+
+func (x *StartRogueDiaryPlayRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartRogueDiaryPlayRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartRogueDiaryPlayRsp.ProtoReflect.Descriptor instead.
+func (*StartRogueDiaryPlayRsp) Descriptor() ([]byte, []int) {
+ return file_StartRogueDiaryPlayRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartRogueDiaryPlayRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *StartRogueDiaryPlayRsp) GetTrialAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.TrialAvatarList
+ }
+ return nil
+}
+
+func (x *StartRogueDiaryPlayRsp) GetRandCardList() []uint32 {
+ if x != nil {
+ return x.RandCardList
+ }
+ return nil
+}
+
+func (x *StartRogueDiaryPlayRsp) GetAvatarList() []*RogueDiaryAvatar {
+ if x != nil {
+ return x.AvatarList
+ }
+ return nil
+}
+
+var File_StartRogueDiaryPlayRsp_proto protoreflect.FileDescriptor
+
+var file_StartRogueDiaryPlayRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x01,
+ 0x0a, 0x16, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x0f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x5f,
+ 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52,
+ 0x0c, 0x72, 0x61, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a,
+ 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65,
+ 0x44, 0x69, 0x61, 0x72, 0x79, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x0a, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartRogueDiaryPlayRsp_proto_rawDescOnce sync.Once
+ file_StartRogueDiaryPlayRsp_proto_rawDescData = file_StartRogueDiaryPlayRsp_proto_rawDesc
+)
+
+func file_StartRogueDiaryPlayRsp_proto_rawDescGZIP() []byte {
+ file_StartRogueDiaryPlayRsp_proto_rawDescOnce.Do(func() {
+ file_StartRogueDiaryPlayRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartRogueDiaryPlayRsp_proto_rawDescData)
+ })
+ return file_StartRogueDiaryPlayRsp_proto_rawDescData
+}
+
+var file_StartRogueDiaryPlayRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartRogueDiaryPlayRsp_proto_goTypes = []interface{}{
+ (*StartRogueDiaryPlayRsp)(nil), // 0: proto.StartRogueDiaryPlayRsp
+ (*RogueDiaryAvatar)(nil), // 1: proto.RogueDiaryAvatar
+}
+var file_StartRogueDiaryPlayRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.StartRogueDiaryPlayRsp.trial_avatar_list:type_name -> proto.RogueDiaryAvatar
+ 1, // 1: proto.StartRogueDiaryPlayRsp.avatar_list:type_name -> proto.RogueDiaryAvatar
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_StartRogueDiaryPlayRsp_proto_init() }
+func file_StartRogueDiaryPlayRsp_proto_init() {
+ if File_StartRogueDiaryPlayRsp_proto != nil {
+ return
+ }
+ file_RogueDiaryAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_StartRogueDiaryPlayRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartRogueDiaryPlayRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartRogueDiaryPlayRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartRogueDiaryPlayRsp_proto_goTypes,
+ DependencyIndexes: file_StartRogueDiaryPlayRsp_proto_depIdxs,
+ MessageInfos: file_StartRogueDiaryPlayRsp_proto_msgTypes,
+ }.Build()
+ File_StartRogueDiaryPlayRsp_proto = out.File
+ file_StartRogueDiaryPlayRsp_proto_rawDesc = nil
+ file_StartRogueDiaryPlayRsp_proto_goTypes = nil
+ file_StartRogueDiaryPlayRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartRogueDiaryRoomReq.pb.go b/protocol/proto/StartRogueDiaryRoomReq.pb.go
new file mode 100644
index 00000000..2ad00f71
--- /dev/null
+++ b/protocol/proto/StartRogueDiaryRoomReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartRogueDiaryRoomReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8159
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartRogueDiaryRoomReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomDifficulty uint32 `protobuf:"varint,13,opt,name=room_difficulty,json=roomDifficulty,proto3" json:"room_difficulty,omitempty"`
+ IsSelectHard bool `protobuf:"varint,1,opt,name=is_select_hard,json=isSelectHard,proto3" json:"is_select_hard,omitempty"`
+}
+
+func (x *StartRogueDiaryRoomReq) Reset() {
+ *x = StartRogueDiaryRoomReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartRogueDiaryRoomReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartRogueDiaryRoomReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartRogueDiaryRoomReq) ProtoMessage() {}
+
+func (x *StartRogueDiaryRoomReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartRogueDiaryRoomReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartRogueDiaryRoomReq.ProtoReflect.Descriptor instead.
+func (*StartRogueDiaryRoomReq) Descriptor() ([]byte, []int) {
+ return file_StartRogueDiaryRoomReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartRogueDiaryRoomReq) GetRoomDifficulty() uint32 {
+ if x != nil {
+ return x.RoomDifficulty
+ }
+ return 0
+}
+
+func (x *StartRogueDiaryRoomReq) GetIsSelectHard() bool {
+ if x != nil {
+ return x.IsSelectHard
+ }
+ return false
+}
+
+var File_StartRogueDiaryRoomReq_proto protoreflect.FileDescriptor
+
+var file_StartRogueDiaryRoomReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12,
+ 0x27, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
+ 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x73,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0c, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x61, 0x72, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_StartRogueDiaryRoomReq_proto_rawDescOnce sync.Once
+ file_StartRogueDiaryRoomReq_proto_rawDescData = file_StartRogueDiaryRoomReq_proto_rawDesc
+)
+
+func file_StartRogueDiaryRoomReq_proto_rawDescGZIP() []byte {
+ file_StartRogueDiaryRoomReq_proto_rawDescOnce.Do(func() {
+ file_StartRogueDiaryRoomReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartRogueDiaryRoomReq_proto_rawDescData)
+ })
+ return file_StartRogueDiaryRoomReq_proto_rawDescData
+}
+
+var file_StartRogueDiaryRoomReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartRogueDiaryRoomReq_proto_goTypes = []interface{}{
+ (*StartRogueDiaryRoomReq)(nil), // 0: proto.StartRogueDiaryRoomReq
+}
+var file_StartRogueDiaryRoomReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartRogueDiaryRoomReq_proto_init() }
+func file_StartRogueDiaryRoomReq_proto_init() {
+ if File_StartRogueDiaryRoomReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartRogueDiaryRoomReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartRogueDiaryRoomReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartRogueDiaryRoomReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartRogueDiaryRoomReq_proto_goTypes,
+ DependencyIndexes: file_StartRogueDiaryRoomReq_proto_depIdxs,
+ MessageInfos: file_StartRogueDiaryRoomReq_proto_msgTypes,
+ }.Build()
+ File_StartRogueDiaryRoomReq_proto = out.File
+ file_StartRogueDiaryRoomReq_proto_rawDesc = nil
+ file_StartRogueDiaryRoomReq_proto_goTypes = nil
+ file_StartRogueDiaryRoomReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartRogueDiaryRoomRsp.pb.go b/protocol/proto/StartRogueDiaryRoomRsp.pb.go
new file mode 100644
index 00000000..2cd4c497
--- /dev/null
+++ b/protocol/proto/StartRogueDiaryRoomRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartRogueDiaryRoomRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8793
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartRogueDiaryRoomRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *StartRogueDiaryRoomRsp) Reset() {
+ *x = StartRogueDiaryRoomRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartRogueDiaryRoomRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartRogueDiaryRoomRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartRogueDiaryRoomRsp) ProtoMessage() {}
+
+func (x *StartRogueDiaryRoomRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartRogueDiaryRoomRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartRogueDiaryRoomRsp.ProtoReflect.Descriptor instead.
+func (*StartRogueDiaryRoomRsp) Descriptor() ([]byte, []int) {
+ return file_StartRogueDiaryRoomRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartRogueDiaryRoomRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_StartRogueDiaryRoomRsp_proto protoreflect.FileDescriptor
+
+var file_StartRogueDiaryRoomRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72,
+ 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartRogueDiaryRoomRsp_proto_rawDescOnce sync.Once
+ file_StartRogueDiaryRoomRsp_proto_rawDescData = file_StartRogueDiaryRoomRsp_proto_rawDesc
+)
+
+func file_StartRogueDiaryRoomRsp_proto_rawDescGZIP() []byte {
+ file_StartRogueDiaryRoomRsp_proto_rawDescOnce.Do(func() {
+ file_StartRogueDiaryRoomRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartRogueDiaryRoomRsp_proto_rawDescData)
+ })
+ return file_StartRogueDiaryRoomRsp_proto_rawDescData
+}
+
+var file_StartRogueDiaryRoomRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartRogueDiaryRoomRsp_proto_goTypes = []interface{}{
+ (*StartRogueDiaryRoomRsp)(nil), // 0: proto.StartRogueDiaryRoomRsp
+}
+var file_StartRogueDiaryRoomRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartRogueDiaryRoomRsp_proto_init() }
+func file_StartRogueDiaryRoomRsp_proto_init() {
+ if File_StartRogueDiaryRoomRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartRogueDiaryRoomRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartRogueDiaryRoomRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartRogueDiaryRoomRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartRogueDiaryRoomRsp_proto_goTypes,
+ DependencyIndexes: file_StartRogueDiaryRoomRsp_proto_depIdxs,
+ MessageInfos: file_StartRogueDiaryRoomRsp_proto_msgTypes,
+ }.Build()
+ File_StartRogueDiaryRoomRsp_proto = out.File
+ file_StartRogueDiaryRoomRsp_proto_rawDesc = nil
+ file_StartRogueDiaryRoomRsp_proto_goTypes = nil
+ file_StartRogueDiaryRoomRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartRogueEliteCellChallengeReq.pb.go b/protocol/proto/StartRogueEliteCellChallengeReq.pb.go
new file mode 100644
index 00000000..bf55665d
--- /dev/null
+++ b/protocol/proto/StartRogueEliteCellChallengeReq.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartRogueEliteCellChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8242
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartRogueEliteCellChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Difficulty RogueEliteCellDifficultyType `protobuf:"varint,1,opt,name=difficulty,proto3,enum=proto.RogueEliteCellDifficultyType" json:"difficulty,omitempty"`
+ DungeonId uint32 `protobuf:"varint,11,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CellId uint32 `protobuf:"varint,4,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+}
+
+func (x *StartRogueEliteCellChallengeReq) Reset() {
+ *x = StartRogueEliteCellChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartRogueEliteCellChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartRogueEliteCellChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartRogueEliteCellChallengeReq) ProtoMessage() {}
+
+func (x *StartRogueEliteCellChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartRogueEliteCellChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartRogueEliteCellChallengeReq.ProtoReflect.Descriptor instead.
+func (*StartRogueEliteCellChallengeReq) Descriptor() ([]byte, []int) {
+ return file_StartRogueEliteCellChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartRogueEliteCellChallengeReq) GetDifficulty() RogueEliteCellDifficultyType {
+ if x != nil {
+ return x.Difficulty
+ }
+ return RogueEliteCellDifficultyType_ROGUE_ELITE_CELL_DIFFICULTY_TYPE_NORMAL
+}
+
+func (x *StartRogueEliteCellChallengeReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *StartRogueEliteCellChallengeReq) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+var File_StartRogueEliteCellChallengeReq_proto protoreflect.FileDescriptor
+
+var file_StartRogueEliteCellChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x6c, 0x69, 0x74,
+ 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22,
+ 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x6c, 0x69, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x44, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x9e, 0x01, 0x0a, 0x1f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75,
+ 0x65, 0x45, 0x6c, 0x69, 0x74, 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63,
+ 0x75, 0x6c, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x6c, 0x69, 0x74, 0x65, 0x43, 0x65, 0x6c,
+ 0x6c, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65,
+ 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c,
+ 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartRogueEliteCellChallengeReq_proto_rawDescOnce sync.Once
+ file_StartRogueEliteCellChallengeReq_proto_rawDescData = file_StartRogueEliteCellChallengeReq_proto_rawDesc
+)
+
+func file_StartRogueEliteCellChallengeReq_proto_rawDescGZIP() []byte {
+ file_StartRogueEliteCellChallengeReq_proto_rawDescOnce.Do(func() {
+ file_StartRogueEliteCellChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartRogueEliteCellChallengeReq_proto_rawDescData)
+ })
+ return file_StartRogueEliteCellChallengeReq_proto_rawDescData
+}
+
+var file_StartRogueEliteCellChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartRogueEliteCellChallengeReq_proto_goTypes = []interface{}{
+ (*StartRogueEliteCellChallengeReq)(nil), // 0: proto.StartRogueEliteCellChallengeReq
+ (RogueEliteCellDifficultyType)(0), // 1: proto.RogueEliteCellDifficultyType
+}
+var file_StartRogueEliteCellChallengeReq_proto_depIdxs = []int32{
+ 1, // 0: proto.StartRogueEliteCellChallengeReq.difficulty:type_name -> proto.RogueEliteCellDifficultyType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_StartRogueEliteCellChallengeReq_proto_init() }
+func file_StartRogueEliteCellChallengeReq_proto_init() {
+ if File_StartRogueEliteCellChallengeReq_proto != nil {
+ return
+ }
+ file_RogueEliteCellDifficultyType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_StartRogueEliteCellChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartRogueEliteCellChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartRogueEliteCellChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartRogueEliteCellChallengeReq_proto_goTypes,
+ DependencyIndexes: file_StartRogueEliteCellChallengeReq_proto_depIdxs,
+ MessageInfos: file_StartRogueEliteCellChallengeReq_proto_msgTypes,
+ }.Build()
+ File_StartRogueEliteCellChallengeReq_proto = out.File
+ file_StartRogueEliteCellChallengeReq_proto_rawDesc = nil
+ file_StartRogueEliteCellChallengeReq_proto_goTypes = nil
+ file_StartRogueEliteCellChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartRogueEliteCellChallengeRsp.pb.go b/protocol/proto/StartRogueEliteCellChallengeRsp.pb.go
new file mode 100644
index 00000000..e277be3f
--- /dev/null
+++ b/protocol/proto/StartRogueEliteCellChallengeRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartRogueEliteCellChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8958
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartRogueEliteCellChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,12,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CellId uint32 `protobuf:"varint,9,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *StartRogueEliteCellChallengeRsp) Reset() {
+ *x = StartRogueEliteCellChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartRogueEliteCellChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartRogueEliteCellChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartRogueEliteCellChallengeRsp) ProtoMessage() {}
+
+func (x *StartRogueEliteCellChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartRogueEliteCellChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartRogueEliteCellChallengeRsp.ProtoReflect.Descriptor instead.
+func (*StartRogueEliteCellChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_StartRogueEliteCellChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartRogueEliteCellChallengeRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *StartRogueEliteCellChallengeRsp) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+func (x *StartRogueEliteCellChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_StartRogueEliteCellChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_StartRogueEliteCellChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x6c, 0x69, 0x74,
+ 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x73,
+ 0x0a, 0x1f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x45, 0x6c, 0x69, 0x74,
+ 0x65, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64,
+ 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartRogueEliteCellChallengeRsp_proto_rawDescOnce sync.Once
+ file_StartRogueEliteCellChallengeRsp_proto_rawDescData = file_StartRogueEliteCellChallengeRsp_proto_rawDesc
+)
+
+func file_StartRogueEliteCellChallengeRsp_proto_rawDescGZIP() []byte {
+ file_StartRogueEliteCellChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_StartRogueEliteCellChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartRogueEliteCellChallengeRsp_proto_rawDescData)
+ })
+ return file_StartRogueEliteCellChallengeRsp_proto_rawDescData
+}
+
+var file_StartRogueEliteCellChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartRogueEliteCellChallengeRsp_proto_goTypes = []interface{}{
+ (*StartRogueEliteCellChallengeRsp)(nil), // 0: proto.StartRogueEliteCellChallengeRsp
+}
+var file_StartRogueEliteCellChallengeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartRogueEliteCellChallengeRsp_proto_init() }
+func file_StartRogueEliteCellChallengeRsp_proto_init() {
+ if File_StartRogueEliteCellChallengeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartRogueEliteCellChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartRogueEliteCellChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartRogueEliteCellChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartRogueEliteCellChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_StartRogueEliteCellChallengeRsp_proto_depIdxs,
+ MessageInfos: file_StartRogueEliteCellChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_StartRogueEliteCellChallengeRsp_proto = out.File
+ file_StartRogueEliteCellChallengeRsp_proto_rawDesc = nil
+ file_StartRogueEliteCellChallengeRsp_proto_goTypes = nil
+ file_StartRogueEliteCellChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartRogueNormalCellChallengeReq.pb.go b/protocol/proto/StartRogueNormalCellChallengeReq.pb.go
new file mode 100644
index 00000000..610d5289
--- /dev/null
+++ b/protocol/proto/StartRogueNormalCellChallengeReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartRogueNormalCellChallengeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8205
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StartRogueNormalCellChallengeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,3,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CellId uint32 `protobuf:"varint,8,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+}
+
+func (x *StartRogueNormalCellChallengeReq) Reset() {
+ *x = StartRogueNormalCellChallengeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartRogueNormalCellChallengeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartRogueNormalCellChallengeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartRogueNormalCellChallengeReq) ProtoMessage() {}
+
+func (x *StartRogueNormalCellChallengeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StartRogueNormalCellChallengeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartRogueNormalCellChallengeReq.ProtoReflect.Descriptor instead.
+func (*StartRogueNormalCellChallengeReq) Descriptor() ([]byte, []int) {
+ return file_StartRogueNormalCellChallengeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartRogueNormalCellChallengeReq) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *StartRogueNormalCellChallengeReq) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+var File_StartRogueNormalCellChallengeReq_proto protoreflect.FileDescriptor
+
+var file_StartRogueNormalCellChallengeReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x72, 0x6d,
+ 0x61, 0x6c, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5a, 0x0a, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6c, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartRogueNormalCellChallengeReq_proto_rawDescOnce sync.Once
+ file_StartRogueNormalCellChallengeReq_proto_rawDescData = file_StartRogueNormalCellChallengeReq_proto_rawDesc
+)
+
+func file_StartRogueNormalCellChallengeReq_proto_rawDescGZIP() []byte {
+ file_StartRogueNormalCellChallengeReq_proto_rawDescOnce.Do(func() {
+ file_StartRogueNormalCellChallengeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartRogueNormalCellChallengeReq_proto_rawDescData)
+ })
+ return file_StartRogueNormalCellChallengeReq_proto_rawDescData
+}
+
+var file_StartRogueNormalCellChallengeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartRogueNormalCellChallengeReq_proto_goTypes = []interface{}{
+ (*StartRogueNormalCellChallengeReq)(nil), // 0: proto.StartRogueNormalCellChallengeReq
+}
+var file_StartRogueNormalCellChallengeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartRogueNormalCellChallengeReq_proto_init() }
+func file_StartRogueNormalCellChallengeReq_proto_init() {
+ if File_StartRogueNormalCellChallengeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartRogueNormalCellChallengeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartRogueNormalCellChallengeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartRogueNormalCellChallengeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartRogueNormalCellChallengeReq_proto_goTypes,
+ DependencyIndexes: file_StartRogueNormalCellChallengeReq_proto_depIdxs,
+ MessageInfos: file_StartRogueNormalCellChallengeReq_proto_msgTypes,
+ }.Build()
+ File_StartRogueNormalCellChallengeReq_proto = out.File
+ file_StartRogueNormalCellChallengeReq_proto_rawDesc = nil
+ file_StartRogueNormalCellChallengeReq_proto_goTypes = nil
+ file_StartRogueNormalCellChallengeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StartRogueNormalCellChallengeRsp.pb.go b/protocol/proto/StartRogueNormalCellChallengeRsp.pb.go
new file mode 100644
index 00000000..7b11e888
--- /dev/null
+++ b/protocol/proto/StartRogueNormalCellChallengeRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StartRogueNormalCellChallengeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8036
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StartRogueNormalCellChallengeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonId uint32 `protobuf:"varint,10,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ CellId uint32 `protobuf:"varint,2,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *StartRogueNormalCellChallengeRsp) Reset() {
+ *x = StartRogueNormalCellChallengeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StartRogueNormalCellChallengeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StartRogueNormalCellChallengeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StartRogueNormalCellChallengeRsp) ProtoMessage() {}
+
+func (x *StartRogueNormalCellChallengeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StartRogueNormalCellChallengeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StartRogueNormalCellChallengeRsp.ProtoReflect.Descriptor instead.
+func (*StartRogueNormalCellChallengeRsp) Descriptor() ([]byte, []int) {
+ return file_StartRogueNormalCellChallengeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StartRogueNormalCellChallengeRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *StartRogueNormalCellChallengeRsp) GetCellId() uint32 {
+ if x != nil {
+ return x.CellId
+ }
+ return 0
+}
+
+func (x *StartRogueNormalCellChallengeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_StartRogueNormalCellChallengeRsp_proto protoreflect.FileDescriptor
+
+var file_StartRogueNormalCellChallengeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x72, 0x6d,
+ 0x61, 0x6c, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x74, 0x0a, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x4e, 0x6f, 0x72,
+ 0x6d, 0x61, 0x6c, 0x43, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StartRogueNormalCellChallengeRsp_proto_rawDescOnce sync.Once
+ file_StartRogueNormalCellChallengeRsp_proto_rawDescData = file_StartRogueNormalCellChallengeRsp_proto_rawDesc
+)
+
+func file_StartRogueNormalCellChallengeRsp_proto_rawDescGZIP() []byte {
+ file_StartRogueNormalCellChallengeRsp_proto_rawDescOnce.Do(func() {
+ file_StartRogueNormalCellChallengeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StartRogueNormalCellChallengeRsp_proto_rawDescData)
+ })
+ return file_StartRogueNormalCellChallengeRsp_proto_rawDescData
+}
+
+var file_StartRogueNormalCellChallengeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StartRogueNormalCellChallengeRsp_proto_goTypes = []interface{}{
+ (*StartRogueNormalCellChallengeRsp)(nil), // 0: proto.StartRogueNormalCellChallengeRsp
+}
+var file_StartRogueNormalCellChallengeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StartRogueNormalCellChallengeRsp_proto_init() }
+func file_StartRogueNormalCellChallengeRsp_proto_init() {
+ if File_StartRogueNormalCellChallengeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StartRogueNormalCellChallengeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartRogueNormalCellChallengeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StartRogueNormalCellChallengeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StartRogueNormalCellChallengeRsp_proto_goTypes,
+ DependencyIndexes: file_StartRogueNormalCellChallengeRsp_proto_depIdxs,
+ MessageInfos: file_StartRogueNormalCellChallengeRsp_proto_msgTypes,
+ }.Build()
+ File_StartRogueNormalCellChallengeRsp_proto = out.File
+ file_StartRogueNormalCellChallengeRsp_proto_rawDesc = nil
+ file_StartRogueNormalCellChallengeRsp_proto_goTypes = nil
+ file_StartRogueNormalCellChallengeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StatueGadgetInfo.pb.go b/protocol/proto/StatueGadgetInfo.pb.go
new file mode 100644
index 00000000..79a703f7
--- /dev/null
+++ b/protocol/proto/StatueGadgetInfo.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StatueGadgetInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type StatueGadgetInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenedStatueUidList []uint32 `protobuf:"varint,1,rep,packed,name=opened_statue_uid_list,json=openedStatueUidList,proto3" json:"opened_statue_uid_list,omitempty"`
+}
+
+func (x *StatueGadgetInfo) Reset() {
+ *x = StatueGadgetInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StatueGadgetInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StatueGadgetInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StatueGadgetInfo) ProtoMessage() {}
+
+func (x *StatueGadgetInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_StatueGadgetInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StatueGadgetInfo.ProtoReflect.Descriptor instead.
+func (*StatueGadgetInfo) Descriptor() ([]byte, []int) {
+ return file_StatueGadgetInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StatueGadgetInfo) GetOpenedStatueUidList() []uint32 {
+ if x != nil {
+ return x.OpenedStatueUidList
+ }
+ return nil
+}
+
+var File_StatueGadgetInfo_proto protoreflect.FileDescriptor
+
+var file_StatueGadgetInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x47, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x75, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x16, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x13, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x65, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StatueGadgetInfo_proto_rawDescOnce sync.Once
+ file_StatueGadgetInfo_proto_rawDescData = file_StatueGadgetInfo_proto_rawDesc
+)
+
+func file_StatueGadgetInfo_proto_rawDescGZIP() []byte {
+ file_StatueGadgetInfo_proto_rawDescOnce.Do(func() {
+ file_StatueGadgetInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_StatueGadgetInfo_proto_rawDescData)
+ })
+ return file_StatueGadgetInfo_proto_rawDescData
+}
+
+var file_StatueGadgetInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StatueGadgetInfo_proto_goTypes = []interface{}{
+ (*StatueGadgetInfo)(nil), // 0: proto.StatueGadgetInfo
+}
+var file_StatueGadgetInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StatueGadgetInfo_proto_init() }
+func file_StatueGadgetInfo_proto_init() {
+ if File_StatueGadgetInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StatueGadgetInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StatueGadgetInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StatueGadgetInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StatueGadgetInfo_proto_goTypes,
+ DependencyIndexes: file_StatueGadgetInfo_proto_depIdxs,
+ MessageInfos: file_StatueGadgetInfo_proto_msgTypes,
+ }.Build()
+ File_StatueGadgetInfo_proto = out.File
+ file_StatueGadgetInfo_proto_rawDesc = nil
+ file_StatueGadgetInfo_proto_goTypes = nil
+ file_StatueGadgetInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StopReminderNotify.pb.go b/protocol/proto/StopReminderNotify.pb.go
new file mode 100644
index 00000000..02bd86fa
--- /dev/null
+++ b/protocol/proto/StopReminderNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StopReminderNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3004
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StopReminderNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ReminderId uint32 `protobuf:"varint,15,opt,name=reminder_id,json=reminderId,proto3" json:"reminder_id,omitempty"`
+}
+
+func (x *StopReminderNotify) Reset() {
+ *x = StopReminderNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StopReminderNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StopReminderNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StopReminderNotify) ProtoMessage() {}
+
+func (x *StopReminderNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_StopReminderNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StopReminderNotify.ProtoReflect.Descriptor instead.
+func (*StopReminderNotify) Descriptor() ([]byte, []int) {
+ return file_StopReminderNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StopReminderNotify) GetReminderId() uint32 {
+ if x != nil {
+ return x.ReminderId
+ }
+ return 0
+}
+
+var File_StopReminderNotify_proto protoreflect.FileDescriptor
+
+var file_StopReminderNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x35, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x65,
+ 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x69, 0x6e,
+ 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65,
+ 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StopReminderNotify_proto_rawDescOnce sync.Once
+ file_StopReminderNotify_proto_rawDescData = file_StopReminderNotify_proto_rawDesc
+)
+
+func file_StopReminderNotify_proto_rawDescGZIP() []byte {
+ file_StopReminderNotify_proto_rawDescOnce.Do(func() {
+ file_StopReminderNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_StopReminderNotify_proto_rawDescData)
+ })
+ return file_StopReminderNotify_proto_rawDescData
+}
+
+var file_StopReminderNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StopReminderNotify_proto_goTypes = []interface{}{
+ (*StopReminderNotify)(nil), // 0: proto.StopReminderNotify
+}
+var file_StopReminderNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StopReminderNotify_proto_init() }
+func file_StopReminderNotify_proto_init() {
+ if File_StopReminderNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StopReminderNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StopReminderNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StopReminderNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StopReminderNotify_proto_goTypes,
+ DependencyIndexes: file_StopReminderNotify_proto_depIdxs,
+ MessageInfos: file_StopReminderNotify_proto_msgTypes,
+ }.Build()
+ File_StopReminderNotify_proto = out.File
+ file_StopReminderNotify_proto_rawDesc = nil
+ file_StopReminderNotify_proto_goTypes = nil
+ file_StopReminderNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StopServerInfo.pb.go b/protocol/proto/StopServerInfo.pb.go
new file mode 100644
index 00000000..d20c262c
--- /dev/null
+++ b/protocol/proto/StopServerInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StopServerInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type StopServerInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StopBeginTime uint32 `protobuf:"varint,1,opt,name=stop_begin_time,json=stopBeginTime,proto3" json:"stop_begin_time,omitempty"`
+ StopEndTime uint32 `protobuf:"varint,2,opt,name=stop_end_time,json=stopEndTime,proto3" json:"stop_end_time,omitempty"`
+ Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
+ ContentMsg string `protobuf:"bytes,4,opt,name=content_msg,json=contentMsg,proto3" json:"content_msg,omitempty"`
+}
+
+func (x *StopServerInfo) Reset() {
+ *x = StopServerInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StopServerInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StopServerInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StopServerInfo) ProtoMessage() {}
+
+func (x *StopServerInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_StopServerInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StopServerInfo.ProtoReflect.Descriptor instead.
+func (*StopServerInfo) Descriptor() ([]byte, []int) {
+ return file_StopServerInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StopServerInfo) GetStopBeginTime() uint32 {
+ if x != nil {
+ return x.StopBeginTime
+ }
+ return 0
+}
+
+func (x *StopServerInfo) GetStopEndTime() uint32 {
+ if x != nil {
+ return x.StopEndTime
+ }
+ return 0
+}
+
+func (x *StopServerInfo) GetUrl() string {
+ if x != nil {
+ return x.Url
+ }
+ return ""
+}
+
+func (x *StopServerInfo) GetContentMsg() string {
+ if x != nil {
+ return x.ContentMsg
+ }
+ return ""
+}
+
+var File_StopServerInfo_proto protoreflect.FileDescriptor
+
+var file_StopServerInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01,
+ 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x70, 0x42,
+ 0x65, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x70,
+ 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x73, 0x74, 0x6f, 0x70, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03,
+ 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x67, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StopServerInfo_proto_rawDescOnce sync.Once
+ file_StopServerInfo_proto_rawDescData = file_StopServerInfo_proto_rawDesc
+)
+
+func file_StopServerInfo_proto_rawDescGZIP() []byte {
+ file_StopServerInfo_proto_rawDescOnce.Do(func() {
+ file_StopServerInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_StopServerInfo_proto_rawDescData)
+ })
+ return file_StopServerInfo_proto_rawDescData
+}
+
+var file_StopServerInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StopServerInfo_proto_goTypes = []interface{}{
+ (*StopServerInfo)(nil), // 0: proto.StopServerInfo
+}
+var file_StopServerInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StopServerInfo_proto_init() }
+func file_StopServerInfo_proto_init() {
+ if File_StopServerInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StopServerInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StopServerInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StopServerInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StopServerInfo_proto_goTypes,
+ DependencyIndexes: file_StopServerInfo_proto_depIdxs,
+ MessageInfos: file_StopServerInfo_proto_msgTypes,
+ }.Build()
+ File_StopServerInfo_proto = out.File
+ file_StopServerInfo_proto_rawDesc = nil
+ file_StopServerInfo_proto_goTypes = nil
+ file_StopServerInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StoreCustomDungeonReq.pb.go b/protocol/proto/StoreCustomDungeonReq.pb.go
new file mode 100644
index 00000000..e54dadaa
--- /dev/null
+++ b/protocol/proto/StoreCustomDungeonReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StoreCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6213
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type StoreCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsCancelStore bool `protobuf:"varint,9,opt,name=is_cancel_store,json=isCancelStore,proto3" json:"is_cancel_store,omitempty"`
+ DungeonGuid uint64 `protobuf:"varint,11,opt,name=dungeon_guid,json=dungeonGuid,proto3" json:"dungeon_guid,omitempty"`
+}
+
+func (x *StoreCustomDungeonReq) Reset() {
+ *x = StoreCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StoreCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StoreCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StoreCustomDungeonReq) ProtoMessage() {}
+
+func (x *StoreCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_StoreCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StoreCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*StoreCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_StoreCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StoreCustomDungeonReq) GetIsCancelStore() bool {
+ if x != nil {
+ return x.IsCancelStore
+ }
+ return false
+}
+
+func (x *StoreCustomDungeonReq) GetDungeonGuid() uint64 {
+ if x != nil {
+ return x.DungeonGuid
+ }
+ return 0
+}
+
+var File_StoreCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_StoreCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a,
+ 0x0f, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
+ 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StoreCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_StoreCustomDungeonReq_proto_rawDescData = file_StoreCustomDungeonReq_proto_rawDesc
+)
+
+func file_StoreCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_StoreCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_StoreCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_StoreCustomDungeonReq_proto_rawDescData)
+ })
+ return file_StoreCustomDungeonReq_proto_rawDescData
+}
+
+var file_StoreCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StoreCustomDungeonReq_proto_goTypes = []interface{}{
+ (*StoreCustomDungeonReq)(nil), // 0: proto.StoreCustomDungeonReq
+}
+var file_StoreCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StoreCustomDungeonReq_proto_init() }
+func file_StoreCustomDungeonReq_proto_init() {
+ if File_StoreCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StoreCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StoreCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StoreCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StoreCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_StoreCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_StoreCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_StoreCustomDungeonReq_proto = out.File
+ file_StoreCustomDungeonReq_proto_rawDesc = nil
+ file_StoreCustomDungeonReq_proto_goTypes = nil
+ file_StoreCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StoreCustomDungeonRsp.pb.go b/protocol/proto/StoreCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..507b668f
--- /dev/null
+++ b/protocol/proto/StoreCustomDungeonRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StoreCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6201
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StoreCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *StoreCustomDungeonRsp) Reset() {
+ *x = StoreCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StoreCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StoreCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StoreCustomDungeonRsp) ProtoMessage() {}
+
+func (x *StoreCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_StoreCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StoreCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*StoreCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_StoreCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StoreCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_StoreCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_StoreCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StoreCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_StoreCustomDungeonRsp_proto_rawDescData = file_StoreCustomDungeonRsp_proto_rawDesc
+)
+
+func file_StoreCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_StoreCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_StoreCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_StoreCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_StoreCustomDungeonRsp_proto_rawDescData
+}
+
+var file_StoreCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StoreCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*StoreCustomDungeonRsp)(nil), // 0: proto.StoreCustomDungeonRsp
+}
+var file_StoreCustomDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StoreCustomDungeonRsp_proto_init() }
+func file_StoreCustomDungeonRsp_proto_init() {
+ if File_StoreCustomDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StoreCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StoreCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StoreCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StoreCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_StoreCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_StoreCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_StoreCustomDungeonRsp_proto = out.File
+ file_StoreCustomDungeonRsp_proto_rawDesc = nil
+ file_StoreCustomDungeonRsp_proto_goTypes = nil
+ file_StoreCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StoreItemChangeNotify.pb.go b/protocol/proto/StoreItemChangeNotify.pb.go
new file mode 100644
index 00000000..cbf45efb
--- /dev/null
+++ b/protocol/proto/StoreItemChangeNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StoreItemChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 612
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StoreItemChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StoreType StoreType `protobuf:"varint,12,opt,name=store_type,json=storeType,proto3,enum=proto.StoreType" json:"store_type,omitempty"`
+ ItemList []*Item `protobuf:"bytes,10,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *StoreItemChangeNotify) Reset() {
+ *x = StoreItemChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StoreItemChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StoreItemChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StoreItemChangeNotify) ProtoMessage() {}
+
+func (x *StoreItemChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_StoreItemChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StoreItemChangeNotify.ProtoReflect.Descriptor instead.
+func (*StoreItemChangeNotify) Descriptor() ([]byte, []int) {
+ return file_StoreItemChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StoreItemChangeNotify) GetStoreType() StoreType {
+ if x != nil {
+ return x.StoreType
+ }
+ return StoreType_STORE_TYPE_NONE
+}
+
+func (x *StoreItemChangeNotify) GetItemList() []*Item {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_StoreItemChangeNotify_proto protoreflect.FileDescriptor
+
+var file_StoreItemChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x72, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a, 0x0a, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x09, 0x69,
+ 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65,
+ 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StoreItemChangeNotify_proto_rawDescOnce sync.Once
+ file_StoreItemChangeNotify_proto_rawDescData = file_StoreItemChangeNotify_proto_rawDesc
+)
+
+func file_StoreItemChangeNotify_proto_rawDescGZIP() []byte {
+ file_StoreItemChangeNotify_proto_rawDescOnce.Do(func() {
+ file_StoreItemChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_StoreItemChangeNotify_proto_rawDescData)
+ })
+ return file_StoreItemChangeNotify_proto_rawDescData
+}
+
+var file_StoreItemChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StoreItemChangeNotify_proto_goTypes = []interface{}{
+ (*StoreItemChangeNotify)(nil), // 0: proto.StoreItemChangeNotify
+ (StoreType)(0), // 1: proto.StoreType
+ (*Item)(nil), // 2: proto.Item
+}
+var file_StoreItemChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.StoreItemChangeNotify.store_type:type_name -> proto.StoreType
+ 2, // 1: proto.StoreItemChangeNotify.item_list:type_name -> proto.Item
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_StoreItemChangeNotify_proto_init() }
+func file_StoreItemChangeNotify_proto_init() {
+ if File_StoreItemChangeNotify_proto != nil {
+ return
+ }
+ file_Item_proto_init()
+ file_StoreType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_StoreItemChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StoreItemChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StoreItemChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StoreItemChangeNotify_proto_goTypes,
+ DependencyIndexes: file_StoreItemChangeNotify_proto_depIdxs,
+ MessageInfos: file_StoreItemChangeNotify_proto_msgTypes,
+ }.Build()
+ File_StoreItemChangeNotify_proto = out.File
+ file_StoreItemChangeNotify_proto_rawDesc = nil
+ file_StoreItemChangeNotify_proto_goTypes = nil
+ file_StoreItemChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StoreItemDelNotify.pb.go b/protocol/proto/StoreItemDelNotify.pb.go
new file mode 100644
index 00000000..3f188429
--- /dev/null
+++ b/protocol/proto/StoreItemDelNotify.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StoreItemDelNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 635
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StoreItemDelNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GuidList []uint64 `protobuf:"varint,12,rep,packed,name=guid_list,json=guidList,proto3" json:"guid_list,omitempty"`
+ StoreType StoreType `protobuf:"varint,15,opt,name=store_type,json=storeType,proto3,enum=proto.StoreType" json:"store_type,omitempty"`
+}
+
+func (x *StoreItemDelNotify) Reset() {
+ *x = StoreItemDelNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StoreItemDelNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StoreItemDelNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StoreItemDelNotify) ProtoMessage() {}
+
+func (x *StoreItemDelNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_StoreItemDelNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StoreItemDelNotify.ProtoReflect.Descriptor instead.
+func (*StoreItemDelNotify) Descriptor() ([]byte, []int) {
+ return file_StoreItemDelNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StoreItemDelNotify) GetGuidList() []uint64 {
+ if x != nil {
+ return x.GuidList
+ }
+ return nil
+}
+
+func (x *StoreItemDelNotify) GetStoreType() StoreType {
+ if x != nil {
+ return x.StoreType
+ }
+ return StoreType_STORE_TYPE_NONE
+}
+
+var File_StoreItemDelNotify_proto protoreflect.FileDescriptor
+
+var file_StoreItemDelNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x65, 0x6c, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x44,
+ 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x75, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x67, 0x75, 0x69,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StoreItemDelNotify_proto_rawDescOnce sync.Once
+ file_StoreItemDelNotify_proto_rawDescData = file_StoreItemDelNotify_proto_rawDesc
+)
+
+func file_StoreItemDelNotify_proto_rawDescGZIP() []byte {
+ file_StoreItemDelNotify_proto_rawDescOnce.Do(func() {
+ file_StoreItemDelNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_StoreItemDelNotify_proto_rawDescData)
+ })
+ return file_StoreItemDelNotify_proto_rawDescData
+}
+
+var file_StoreItemDelNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StoreItemDelNotify_proto_goTypes = []interface{}{
+ (*StoreItemDelNotify)(nil), // 0: proto.StoreItemDelNotify
+ (StoreType)(0), // 1: proto.StoreType
+}
+var file_StoreItemDelNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.StoreItemDelNotify.store_type:type_name -> proto.StoreType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_StoreItemDelNotify_proto_init() }
+func file_StoreItemDelNotify_proto_init() {
+ if File_StoreItemDelNotify_proto != nil {
+ return
+ }
+ file_StoreType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_StoreItemDelNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StoreItemDelNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StoreItemDelNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StoreItemDelNotify_proto_goTypes,
+ DependencyIndexes: file_StoreItemDelNotify_proto_depIdxs,
+ MessageInfos: file_StoreItemDelNotify_proto_msgTypes,
+ }.Build()
+ File_StoreItemDelNotify_proto = out.File
+ file_StoreItemDelNotify_proto_rawDesc = nil
+ file_StoreItemDelNotify_proto_goTypes = nil
+ file_StoreItemDelNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StoreType.pb.go b/protocol/proto/StoreType.pb.go
new file mode 100644
index 00000000..81bee1ad
--- /dev/null
+++ b/protocol/proto/StoreType.pb.go
@@ -0,0 +1,148 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StoreType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type StoreType int32
+
+const (
+ StoreType_STORE_TYPE_NONE StoreType = 0
+ StoreType_STORE_TYPE_PACK StoreType = 1
+ StoreType_STORE_TYPE_DEPOT StoreType = 2
+)
+
+// Enum value maps for StoreType.
+var (
+ StoreType_name = map[int32]string{
+ 0: "STORE_TYPE_NONE",
+ 1: "STORE_TYPE_PACK",
+ 2: "STORE_TYPE_DEPOT",
+ }
+ StoreType_value = map[string]int32{
+ "STORE_TYPE_NONE": 0,
+ "STORE_TYPE_PACK": 1,
+ "STORE_TYPE_DEPOT": 2,
+ }
+)
+
+func (x StoreType) Enum() *StoreType {
+ p := new(StoreType)
+ *p = x
+ return p
+}
+
+func (x StoreType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (StoreType) Descriptor() protoreflect.EnumDescriptor {
+ return file_StoreType_proto_enumTypes[0].Descriptor()
+}
+
+func (StoreType) Type() protoreflect.EnumType {
+ return &file_StoreType_proto_enumTypes[0]
+}
+
+func (x StoreType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use StoreType.Descriptor instead.
+func (StoreType) EnumDescriptor() ([]byte, []int) {
+ return file_StoreType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_StoreType_proto protoreflect.FileDescriptor
+
+var file_StoreType_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x4b, 0x0a, 0x09, 0x53, 0x74, 0x6f, 0x72,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54,
+ 0x4f, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x12,
+ 0x14, 0x0a, 0x10, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45,
+ 0x50, 0x4f, 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StoreType_proto_rawDescOnce sync.Once
+ file_StoreType_proto_rawDescData = file_StoreType_proto_rawDesc
+)
+
+func file_StoreType_proto_rawDescGZIP() []byte {
+ file_StoreType_proto_rawDescOnce.Do(func() {
+ file_StoreType_proto_rawDescData = protoimpl.X.CompressGZIP(file_StoreType_proto_rawDescData)
+ })
+ return file_StoreType_proto_rawDescData
+}
+
+var file_StoreType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_StoreType_proto_goTypes = []interface{}{
+ (StoreType)(0), // 0: proto.StoreType
+}
+var file_StoreType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StoreType_proto_init() }
+func file_StoreType_proto_init() {
+ if File_StoreType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StoreType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StoreType_proto_goTypes,
+ DependencyIndexes: file_StoreType_proto_depIdxs,
+ EnumInfos: file_StoreType_proto_enumTypes,
+ }.Build()
+ File_StoreType_proto = out.File
+ file_StoreType_proto_rawDesc = nil
+ file_StoreType_proto_goTypes = nil
+ file_StoreType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StoreWeightLimitNotify.pb.go b/protocol/proto/StoreWeightLimitNotify.pb.go
new file mode 100644
index 00000000..952ec27c
--- /dev/null
+++ b/protocol/proto/StoreWeightLimitNotify.pb.go
@@ -0,0 +1,223 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StoreWeightLimitNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 698
+// EnetChannelId: 0
+// EnetIsReliable: true
+type StoreWeightLimitNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WeaponCountLimit uint32 `protobuf:"varint,2,opt,name=weapon_count_limit,json=weaponCountLimit,proto3" json:"weapon_count_limit,omitempty"`
+ StoreType StoreType `protobuf:"varint,7,opt,name=store_type,json=storeType,proto3,enum=proto.StoreType" json:"store_type,omitempty"`
+ MaterialCountLimit uint32 `protobuf:"varint,4,opt,name=material_count_limit,json=materialCountLimit,proto3" json:"material_count_limit,omitempty"`
+ ReliquaryCountLimit uint32 `protobuf:"varint,6,opt,name=reliquary_count_limit,json=reliquaryCountLimit,proto3" json:"reliquary_count_limit,omitempty"`
+ FurnitureCountLimit uint32 `protobuf:"varint,9,opt,name=furniture_count_limit,json=furnitureCountLimit,proto3" json:"furniture_count_limit,omitempty"`
+ WeightLimit uint32 `protobuf:"varint,15,opt,name=weight_limit,json=weightLimit,proto3" json:"weight_limit,omitempty"`
+}
+
+func (x *StoreWeightLimitNotify) Reset() {
+ *x = StoreWeightLimitNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StoreWeightLimitNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StoreWeightLimitNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StoreWeightLimitNotify) ProtoMessage() {}
+
+func (x *StoreWeightLimitNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_StoreWeightLimitNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StoreWeightLimitNotify.ProtoReflect.Descriptor instead.
+func (*StoreWeightLimitNotify) Descriptor() ([]byte, []int) {
+ return file_StoreWeightLimitNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StoreWeightLimitNotify) GetWeaponCountLimit() uint32 {
+ if x != nil {
+ return x.WeaponCountLimit
+ }
+ return 0
+}
+
+func (x *StoreWeightLimitNotify) GetStoreType() StoreType {
+ if x != nil {
+ return x.StoreType
+ }
+ return StoreType_STORE_TYPE_NONE
+}
+
+func (x *StoreWeightLimitNotify) GetMaterialCountLimit() uint32 {
+ if x != nil {
+ return x.MaterialCountLimit
+ }
+ return 0
+}
+
+func (x *StoreWeightLimitNotify) GetReliquaryCountLimit() uint32 {
+ if x != nil {
+ return x.ReliquaryCountLimit
+ }
+ return 0
+}
+
+func (x *StoreWeightLimitNotify) GetFurnitureCountLimit() uint32 {
+ if x != nil {
+ return x.FurnitureCountLimit
+ }
+ return 0
+}
+
+func (x *StoreWeightLimitNotify) GetWeightLimit() uint32 {
+ if x != nil {
+ return x.WeightLimit
+ }
+ return 0
+}
+
+var File_StoreWeightLimitNotify_proto protoreflect.FileDescriptor
+
+var file_StoreWeightLimitNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4c, 0x69, 0x6d,
+ 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x02, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x72, 0x65,
+ 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x77,
+ 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
+ 0x2f, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x12, 0x30, 0x0a, 0x14, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12,
+ 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d,
+ 0x69, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6c, 0x69, 0x71, 0x75, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x65,
+ 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_StoreWeightLimitNotify_proto_rawDescOnce sync.Once
+ file_StoreWeightLimitNotify_proto_rawDescData = file_StoreWeightLimitNotify_proto_rawDesc
+)
+
+func file_StoreWeightLimitNotify_proto_rawDescGZIP() []byte {
+ file_StoreWeightLimitNotify_proto_rawDescOnce.Do(func() {
+ file_StoreWeightLimitNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_StoreWeightLimitNotify_proto_rawDescData)
+ })
+ return file_StoreWeightLimitNotify_proto_rawDescData
+}
+
+var file_StoreWeightLimitNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StoreWeightLimitNotify_proto_goTypes = []interface{}{
+ (*StoreWeightLimitNotify)(nil), // 0: proto.StoreWeightLimitNotify
+ (StoreType)(0), // 1: proto.StoreType
+}
+var file_StoreWeightLimitNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.StoreWeightLimitNotify.store_type:type_name -> proto.StoreType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_StoreWeightLimitNotify_proto_init() }
+func file_StoreWeightLimitNotify_proto_init() {
+ if File_StoreWeightLimitNotify_proto != nil {
+ return
+ }
+ file_StoreType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_StoreWeightLimitNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StoreWeightLimitNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StoreWeightLimitNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StoreWeightLimitNotify_proto_goTypes,
+ DependencyIndexes: file_StoreWeightLimitNotify_proto_depIdxs,
+ MessageInfos: file_StoreWeightLimitNotify_proto_msgTypes,
+ }.Build()
+ File_StoreWeightLimitNotify_proto = out.File
+ file_StoreWeightLimitNotify_proto_rawDesc = nil
+ file_StoreWeightLimitNotify_proto_goTypes = nil
+ file_StoreWeightLimitNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/StrengthenPointData.pb.go b/protocol/proto/StrengthenPointData.pb.go
new file mode 100644
index 00000000..cc47deab
--- /dev/null
+++ b/protocol/proto/StrengthenPointData.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: StrengthenPointData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type StrengthenPointData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BasePoint uint32 `protobuf:"varint,10,opt,name=base_point,json=basePoint,proto3" json:"base_point,omitempty"`
+ CurPoint uint32 `protobuf:"varint,11,opt,name=cur_point,json=curPoint,proto3" json:"cur_point,omitempty"`
+}
+
+func (x *StrengthenPointData) Reset() {
+ *x = StrengthenPointData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_StrengthenPointData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StrengthenPointData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StrengthenPointData) ProtoMessage() {}
+
+func (x *StrengthenPointData) ProtoReflect() protoreflect.Message {
+ mi := &file_StrengthenPointData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StrengthenPointData.ProtoReflect.Descriptor instead.
+func (*StrengthenPointData) Descriptor() ([]byte, []int) {
+ return file_StrengthenPointData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *StrengthenPointData) GetBasePoint() uint32 {
+ if x != nil {
+ return x.BasePoint
+ }
+ return 0
+}
+
+func (x *StrengthenPointData) GetCurPoint() uint32 {
+ if x != nil {
+ return x.CurPoint
+ }
+ return 0
+}
+
+var File_StrengthenPointData_proto protoreflect.FileDescriptor
+
+var file_StrengthenPointData_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x50, 0x6f, 0x69, 0x6e,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73,
+ 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62,
+ 0x61, 0x73, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f,
+ 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72,
+ 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_StrengthenPointData_proto_rawDescOnce sync.Once
+ file_StrengthenPointData_proto_rawDescData = file_StrengthenPointData_proto_rawDesc
+)
+
+func file_StrengthenPointData_proto_rawDescGZIP() []byte {
+ file_StrengthenPointData_proto_rawDescOnce.Do(func() {
+ file_StrengthenPointData_proto_rawDescData = protoimpl.X.CompressGZIP(file_StrengthenPointData_proto_rawDescData)
+ })
+ return file_StrengthenPointData_proto_rawDescData
+}
+
+var file_StrengthenPointData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_StrengthenPointData_proto_goTypes = []interface{}{
+ (*StrengthenPointData)(nil), // 0: proto.StrengthenPointData
+}
+var file_StrengthenPointData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_StrengthenPointData_proto_init() }
+func file_StrengthenPointData_proto_init() {
+ if File_StrengthenPointData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_StrengthenPointData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StrengthenPointData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_StrengthenPointData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_StrengthenPointData_proto_goTypes,
+ DependencyIndexes: file_StrengthenPointData_proto_depIdxs,
+ MessageInfos: file_StrengthenPointData_proto_msgTypes,
+ }.Build()
+ File_StrengthenPointData_proto = out.File
+ file_StrengthenPointData_proto_rawDesc = nil
+ file_StrengthenPointData_proto_goTypes = nil
+ file_StrengthenPointData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SubmitInferenceWordReq.pb.go b/protocol/proto/SubmitInferenceWordReq.pb.go
new file mode 100644
index 00000000..1cb814f3
--- /dev/null
+++ b/protocol/proto/SubmitInferenceWordReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SubmitInferenceWordReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 500
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SubmitInferenceWordReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WordId uint32 `protobuf:"varint,4,opt,name=word_id,json=wordId,proto3" json:"word_id,omitempty"`
+ PageId uint32 `protobuf:"varint,9,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
+}
+
+func (x *SubmitInferenceWordReq) Reset() {
+ *x = SubmitInferenceWordReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SubmitInferenceWordReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SubmitInferenceWordReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SubmitInferenceWordReq) ProtoMessage() {}
+
+func (x *SubmitInferenceWordReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SubmitInferenceWordReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SubmitInferenceWordReq.ProtoReflect.Descriptor instead.
+func (*SubmitInferenceWordReq) Descriptor() ([]byte, []int) {
+ return file_SubmitInferenceWordReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SubmitInferenceWordReq) GetWordId() uint32 {
+ if x != nil {
+ return x.WordId
+ }
+ return 0
+}
+
+func (x *SubmitInferenceWordReq) GetPageId() uint32 {
+ if x != nil {
+ return x.PageId
+ }
+ return 0
+}
+
+var File_SubmitInferenceWordReq_proto protoreflect.FileDescriptor
+
+var file_SubmitInferenceWordReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
+ 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49,
+ 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12,
+ 0x17, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SubmitInferenceWordReq_proto_rawDescOnce sync.Once
+ file_SubmitInferenceWordReq_proto_rawDescData = file_SubmitInferenceWordReq_proto_rawDesc
+)
+
+func file_SubmitInferenceWordReq_proto_rawDescGZIP() []byte {
+ file_SubmitInferenceWordReq_proto_rawDescOnce.Do(func() {
+ file_SubmitInferenceWordReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SubmitInferenceWordReq_proto_rawDescData)
+ })
+ return file_SubmitInferenceWordReq_proto_rawDescData
+}
+
+var file_SubmitInferenceWordReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SubmitInferenceWordReq_proto_goTypes = []interface{}{
+ (*SubmitInferenceWordReq)(nil), // 0: proto.SubmitInferenceWordReq
+}
+var file_SubmitInferenceWordReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SubmitInferenceWordReq_proto_init() }
+func file_SubmitInferenceWordReq_proto_init() {
+ if File_SubmitInferenceWordReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SubmitInferenceWordReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SubmitInferenceWordReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SubmitInferenceWordReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SubmitInferenceWordReq_proto_goTypes,
+ DependencyIndexes: file_SubmitInferenceWordReq_proto_depIdxs,
+ MessageInfos: file_SubmitInferenceWordReq_proto_msgTypes,
+ }.Build()
+ File_SubmitInferenceWordReq_proto = out.File
+ file_SubmitInferenceWordReq_proto_rawDesc = nil
+ file_SubmitInferenceWordReq_proto_goTypes = nil
+ file_SubmitInferenceWordReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SubmitInferenceWordRsp.pb.go b/protocol/proto/SubmitInferenceWordRsp.pb.go
new file mode 100644
index 00000000..7b818a16
--- /dev/null
+++ b/protocol/proto/SubmitInferenceWordRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SubmitInferenceWordRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 416
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SubmitInferenceWordRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WordId uint32 `protobuf:"varint,2,opt,name=word_id,json=wordId,proto3" json:"word_id,omitempty"`
+ PageId uint32 `protobuf:"varint,13,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
+ ConclusionId uint32 `protobuf:"varint,5,opt,name=conclusion_id,json=conclusionId,proto3" json:"conclusion_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SubmitInferenceWordRsp) Reset() {
+ *x = SubmitInferenceWordRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SubmitInferenceWordRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SubmitInferenceWordRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SubmitInferenceWordRsp) ProtoMessage() {}
+
+func (x *SubmitInferenceWordRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SubmitInferenceWordRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SubmitInferenceWordRsp.ProtoReflect.Descriptor instead.
+func (*SubmitInferenceWordRsp) Descriptor() ([]byte, []int) {
+ return file_SubmitInferenceWordRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SubmitInferenceWordRsp) GetWordId() uint32 {
+ if x != nil {
+ return x.WordId
+ }
+ return 0
+}
+
+func (x *SubmitInferenceWordRsp) GetPageId() uint32 {
+ if x != nil {
+ return x.PageId
+ }
+ return 0
+}
+
+func (x *SubmitInferenceWordRsp) GetConclusionId() uint32 {
+ if x != nil {
+ return x.ConclusionId
+ }
+ return 0
+}
+
+func (x *SubmitInferenceWordRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SubmitInferenceWordRsp_proto protoreflect.FileDescriptor
+
+var file_SubmitInferenceWordRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
+ 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74,
+ 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x57, 0x6f, 0x72, 0x64, 0x52, 0x73, 0x70,
+ 0x12, 0x17, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x77, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x63, 0x6c,
+ 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SubmitInferenceWordRsp_proto_rawDescOnce sync.Once
+ file_SubmitInferenceWordRsp_proto_rawDescData = file_SubmitInferenceWordRsp_proto_rawDesc
+)
+
+func file_SubmitInferenceWordRsp_proto_rawDescGZIP() []byte {
+ file_SubmitInferenceWordRsp_proto_rawDescOnce.Do(func() {
+ file_SubmitInferenceWordRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SubmitInferenceWordRsp_proto_rawDescData)
+ })
+ return file_SubmitInferenceWordRsp_proto_rawDescData
+}
+
+var file_SubmitInferenceWordRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SubmitInferenceWordRsp_proto_goTypes = []interface{}{
+ (*SubmitInferenceWordRsp)(nil), // 0: proto.SubmitInferenceWordRsp
+}
+var file_SubmitInferenceWordRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SubmitInferenceWordRsp_proto_init() }
+func file_SubmitInferenceWordRsp_proto_init() {
+ if File_SubmitInferenceWordRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SubmitInferenceWordRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SubmitInferenceWordRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SubmitInferenceWordRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SubmitInferenceWordRsp_proto_goTypes,
+ DependencyIndexes: file_SubmitInferenceWordRsp_proto_depIdxs,
+ MessageInfos: file_SubmitInferenceWordRsp_proto_msgTypes,
+ }.Build()
+ File_SubmitInferenceWordRsp_proto = out.File
+ file_SubmitInferenceWordRsp_proto_rawDesc = nil
+ file_SubmitInferenceWordRsp_proto_goTypes = nil
+ file_SubmitInferenceWordRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeDetailInfo.pb.go b/protocol/proto/SummerTimeDetailInfo.pb.go
new file mode 100644
index 00000000..321fc8cc
--- /dev/null
+++ b/protocol/proto/SummerTimeDetailInfo.pb.go
@@ -0,0 +1,214 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageMap map[uint32]*SummerTimeStageInfo `protobuf:"bytes,3,rep,name=stage_map,json=stageMap,proto3" json:"stage_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ ContentCloseTime uint32 `protobuf:"varint,11,opt,name=content_close_time,json=contentCloseTime,proto3" json:"content_close_time,omitempty"`
+ IsContentClosed bool `protobuf:"varint,13,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ SprintBoatInfo *SummerTimeSprintBoatInfo `protobuf:"bytes,4,opt,name=sprint_boat_info,json=sprintBoatInfo,proto3" json:"sprint_boat_info,omitempty"`
+}
+
+func (x *SummerTimeDetailInfo) Reset() {
+ *x = SummerTimeDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeDetailInfo) ProtoMessage() {}
+
+func (x *SummerTimeDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeDetailInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeDetailInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeDetailInfo) GetStageMap() map[uint32]*SummerTimeStageInfo {
+ if x != nil {
+ return x.StageMap
+ }
+ return nil
+}
+
+func (x *SummerTimeDetailInfo) GetContentCloseTime() uint32 {
+ if x != nil {
+ return x.ContentCloseTime
+ }
+ return 0
+}
+
+func (x *SummerTimeDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *SummerTimeDetailInfo) GetSprintBoatInfo() *SummerTimeSprintBoatInfo {
+ if x != nil {
+ return x.SprintBoatInfo
+ }
+ return nil
+}
+
+var File_SummerTimeDetailInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x74, 0x61,
+ 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53,
+ 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc,
+ 0x02, 0x0a, 0x14, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x46, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x12,
+ 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a,
+ 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73,
+ 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x70, 0x72,
+ 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x6f, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d,
+ 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74,
+ 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x57, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SummerTimeDetailInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeDetailInfo_proto_rawDescData = file_SummerTimeDetailInfo_proto_rawDesc
+)
+
+func file_SummerTimeDetailInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeDetailInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeDetailInfo_proto_rawDescData)
+ })
+ return file_SummerTimeDetailInfo_proto_rawDescData
+}
+
+var file_SummerTimeDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SummerTimeDetailInfo_proto_goTypes = []interface{}{
+ (*SummerTimeDetailInfo)(nil), // 0: proto.SummerTimeDetailInfo
+ nil, // 1: proto.SummerTimeDetailInfo.StageMapEntry
+ (*SummerTimeSprintBoatInfo)(nil), // 2: proto.SummerTimeSprintBoatInfo
+ (*SummerTimeStageInfo)(nil), // 3: proto.SummerTimeStageInfo
+}
+var file_SummerTimeDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SummerTimeDetailInfo.stage_map:type_name -> proto.SummerTimeDetailInfo.StageMapEntry
+ 2, // 1: proto.SummerTimeDetailInfo.sprint_boat_info:type_name -> proto.SummerTimeSprintBoatInfo
+ 3, // 2: proto.SummerTimeDetailInfo.StageMapEntry.value:type_name -> proto.SummerTimeStageInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeDetailInfo_proto_init() }
+func file_SummerTimeDetailInfo_proto_init() {
+ if File_SummerTimeDetailInfo_proto != nil {
+ return
+ }
+ file_SummerTimeSprintBoatInfo_proto_init()
+ file_SummerTimeStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeDetailInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeDetailInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeDetailInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeDetailInfo_proto = out.File
+ file_SummerTimeDetailInfo_proto_rawDesc = nil
+ file_SummerTimeDetailInfo_proto_goTypes = nil
+ file_SummerTimeDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeDungeonInfo.pb.go b/protocol/proto/SummerTimeDungeonInfo.pb.go
new file mode 100644
index 00000000..7e5f61fe
--- /dev/null
+++ b/protocol/proto/SummerTimeDungeonInfo.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeDungeonInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeDungeonInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TakenChestCount uint32 `protobuf:"varint,15,opt,name=taken_chest_count,json=takenChestCount,proto3" json:"taken_chest_count,omitempty"`
+ TotalChestCount uint32 `protobuf:"varint,12,opt,name=total_chest_count,json=totalChestCount,proto3" json:"total_chest_count,omitempty"`
+ TakenShellCount uint32 `protobuf:"varint,14,opt,name=taken_shell_count,json=takenShellCount,proto3" json:"taken_shell_count,omitempty"`
+ DungeonId uint32 `protobuf:"varint,4,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ TotalShellCount uint32 `protobuf:"varint,13,opt,name=total_shell_count,json=totalShellCount,proto3" json:"total_shell_count,omitempty"`
+}
+
+func (x *SummerTimeDungeonInfo) Reset() {
+ *x = SummerTimeDungeonInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeDungeonInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeDungeonInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeDungeonInfo) ProtoMessage() {}
+
+func (x *SummerTimeDungeonInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeDungeonInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeDungeonInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeDungeonInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeDungeonInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeDungeonInfo) GetTakenChestCount() uint32 {
+ if x != nil {
+ return x.TakenChestCount
+ }
+ return 0
+}
+
+func (x *SummerTimeDungeonInfo) GetTotalChestCount() uint32 {
+ if x != nil {
+ return x.TotalChestCount
+ }
+ return 0
+}
+
+func (x *SummerTimeDungeonInfo) GetTakenShellCount() uint32 {
+ if x != nil {
+ return x.TakenShellCount
+ }
+ return 0
+}
+
+func (x *SummerTimeDungeonInfo) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *SummerTimeDungeonInfo) GetTotalShellCount() uint32 {
+ if x != nil {
+ return x.TotalShellCount
+ }
+ return 0
+}
+
+var File_SummerTimeDungeonInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeDungeonInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54,
+ 0x69, 0x6d, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a,
+ 0x0a, 0x11, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x6b, 0x65, 0x6e,
+ 0x43, 0x68, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
+ 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x65, 0x73,
+ 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f,
+ 0x73, 0x68, 0x65, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49,
+ 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x65, 0x6c, 0x6c,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f,
+ 0x74, 0x61, 0x6c, 0x53, 0x68, 0x65, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SummerTimeDungeonInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeDungeonInfo_proto_rawDescData = file_SummerTimeDungeonInfo_proto_rawDesc
+)
+
+func file_SummerTimeDungeonInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeDungeonInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeDungeonInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeDungeonInfo_proto_rawDescData)
+ })
+ return file_SummerTimeDungeonInfo_proto_rawDescData
+}
+
+var file_SummerTimeDungeonInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeDungeonInfo_proto_goTypes = []interface{}{
+ (*SummerTimeDungeonInfo)(nil), // 0: proto.SummerTimeDungeonInfo
+}
+var file_SummerTimeDungeonInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeDungeonInfo_proto_init() }
+func file_SummerTimeDungeonInfo_proto_init() {
+ if File_SummerTimeDungeonInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeDungeonInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeDungeonInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeDungeonInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeDungeonInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeDungeonInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeDungeonInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeDungeonInfo_proto = out.File
+ file_SummerTimeDungeonInfo_proto_rawDesc = nil
+ file_SummerTimeDungeonInfo_proto_goTypes = nil
+ file_SummerTimeDungeonInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeFloatSignalPositionNotify.pb.go b/protocol/proto/SummerTimeFloatSignalPositionNotify.pb.go
new file mode 100644
index 00000000..6a6e19f0
--- /dev/null
+++ b/protocol/proto/SummerTimeFloatSignalPositionNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeFloatSignalPositionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8077
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SummerTimeFloatSignalPositionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Position *Vector `protobuf:"bytes,1,opt,name=position,proto3" json:"position,omitempty"`
+ IsTransferAnchor bool `protobuf:"varint,5,opt,name=is_transfer_anchor,json=isTransferAnchor,proto3" json:"is_transfer_anchor,omitempty"`
+ FloatSignalId uint32 `protobuf:"varint,7,opt,name=float_signal_id,json=floatSignalId,proto3" json:"float_signal_id,omitempty"`
+}
+
+func (x *SummerTimeFloatSignalPositionNotify) Reset() {
+ *x = SummerTimeFloatSignalPositionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeFloatSignalPositionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeFloatSignalPositionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeFloatSignalPositionNotify) ProtoMessage() {}
+
+func (x *SummerTimeFloatSignalPositionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeFloatSignalPositionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeFloatSignalPositionNotify.ProtoReflect.Descriptor instead.
+func (*SummerTimeFloatSignalPositionNotify) Descriptor() ([]byte, []int) {
+ return file_SummerTimeFloatSignalPositionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeFloatSignalPositionNotify) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+func (x *SummerTimeFloatSignalPositionNotify) GetIsTransferAnchor() bool {
+ if x != nil {
+ return x.IsTransferAnchor
+ }
+ return false
+}
+
+func (x *SummerTimeFloatSignalPositionNotify) GetFloatSignalId() uint32 {
+ if x != nil {
+ return x.FloatSignalId
+ }
+ return 0
+}
+
+var File_SummerTimeFloatSignalPositionNotify_proto protoreflect.FileDescriptor
+
+var file_SummerTimeFloatSignalPositionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xa6, 0x01, 0x0a, 0x23, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x46,
+ 0x6c, 0x6f, 0x61, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x10, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x41, 0x6e, 0x63, 0x68, 0x6f,
+ 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x6c, 0x6f, 0x61,
+ 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeFloatSignalPositionNotify_proto_rawDescOnce sync.Once
+ file_SummerTimeFloatSignalPositionNotify_proto_rawDescData = file_SummerTimeFloatSignalPositionNotify_proto_rawDesc
+)
+
+func file_SummerTimeFloatSignalPositionNotify_proto_rawDescGZIP() []byte {
+ file_SummerTimeFloatSignalPositionNotify_proto_rawDescOnce.Do(func() {
+ file_SummerTimeFloatSignalPositionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeFloatSignalPositionNotify_proto_rawDescData)
+ })
+ return file_SummerTimeFloatSignalPositionNotify_proto_rawDescData
+}
+
+var file_SummerTimeFloatSignalPositionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeFloatSignalPositionNotify_proto_goTypes = []interface{}{
+ (*SummerTimeFloatSignalPositionNotify)(nil), // 0: proto.SummerTimeFloatSignalPositionNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_SummerTimeFloatSignalPositionNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SummerTimeFloatSignalPositionNotify.position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeFloatSignalPositionNotify_proto_init() }
+func file_SummerTimeFloatSignalPositionNotify_proto_init() {
+ if File_SummerTimeFloatSignalPositionNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeFloatSignalPositionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeFloatSignalPositionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeFloatSignalPositionNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeFloatSignalPositionNotify_proto_goTypes,
+ DependencyIndexes: file_SummerTimeFloatSignalPositionNotify_proto_depIdxs,
+ MessageInfos: file_SummerTimeFloatSignalPositionNotify_proto_msgTypes,
+ }.Build()
+ File_SummerTimeFloatSignalPositionNotify_proto = out.File
+ file_SummerTimeFloatSignalPositionNotify_proto_rawDesc = nil
+ file_SummerTimeFloatSignalPositionNotify_proto_goTypes = nil
+ file_SummerTimeFloatSignalPositionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeFloatSignalUpdateNotify.pb.go b/protocol/proto/SummerTimeFloatSignalUpdateNotify.pb.go
new file mode 100644
index 00000000..429476a0
--- /dev/null
+++ b/protocol/proto/SummerTimeFloatSignalUpdateNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeFloatSignalUpdateNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8781
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SummerTimeFloatSignalUpdateNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsTransferAnchor bool `protobuf:"varint,4,opt,name=is_transfer_anchor,json=isTransferAnchor,proto3" json:"is_transfer_anchor,omitempty"`
+ FloatSignalId uint32 `protobuf:"varint,8,opt,name=float_signal_id,json=floatSignalId,proto3" json:"float_signal_id,omitempty"`
+ Position *Vector `protobuf:"bytes,10,opt,name=position,proto3" json:"position,omitempty"`
+}
+
+func (x *SummerTimeFloatSignalUpdateNotify) Reset() {
+ *x = SummerTimeFloatSignalUpdateNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeFloatSignalUpdateNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeFloatSignalUpdateNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeFloatSignalUpdateNotify) ProtoMessage() {}
+
+func (x *SummerTimeFloatSignalUpdateNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeFloatSignalUpdateNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeFloatSignalUpdateNotify.ProtoReflect.Descriptor instead.
+func (*SummerTimeFloatSignalUpdateNotify) Descriptor() ([]byte, []int) {
+ return file_SummerTimeFloatSignalUpdateNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeFloatSignalUpdateNotify) GetIsTransferAnchor() bool {
+ if x != nil {
+ return x.IsTransferAnchor
+ }
+ return false
+}
+
+func (x *SummerTimeFloatSignalUpdateNotify) GetFloatSignalId() uint32 {
+ if x != nil {
+ return x.FloatSignalId
+ }
+ return 0
+}
+
+func (x *SummerTimeFloatSignalUpdateNotify) GetPosition() *Vector {
+ if x != nil {
+ return x.Position
+ }
+ return nil
+}
+
+var File_SummerTimeFloatSignalUpdateNotify_proto protoreflect.FileDescriptor
+
+var file_SummerTimeFloatSignalUpdateNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f, 0x61,
+ 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa4,
+ 0x01, 0x0a, 0x21, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c, 0x6f,
+ 0x61, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x10, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x41, 0x6e, 0x63, 0x68,
+ 0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x6c, 0x6f,
+ 0x61, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeFloatSignalUpdateNotify_proto_rawDescOnce sync.Once
+ file_SummerTimeFloatSignalUpdateNotify_proto_rawDescData = file_SummerTimeFloatSignalUpdateNotify_proto_rawDesc
+)
+
+func file_SummerTimeFloatSignalUpdateNotify_proto_rawDescGZIP() []byte {
+ file_SummerTimeFloatSignalUpdateNotify_proto_rawDescOnce.Do(func() {
+ file_SummerTimeFloatSignalUpdateNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeFloatSignalUpdateNotify_proto_rawDescData)
+ })
+ return file_SummerTimeFloatSignalUpdateNotify_proto_rawDescData
+}
+
+var file_SummerTimeFloatSignalUpdateNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeFloatSignalUpdateNotify_proto_goTypes = []interface{}{
+ (*SummerTimeFloatSignalUpdateNotify)(nil), // 0: proto.SummerTimeFloatSignalUpdateNotify
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_SummerTimeFloatSignalUpdateNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SummerTimeFloatSignalUpdateNotify.position:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeFloatSignalUpdateNotify_proto_init() }
+func file_SummerTimeFloatSignalUpdateNotify_proto_init() {
+ if File_SummerTimeFloatSignalUpdateNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeFloatSignalUpdateNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeFloatSignalUpdateNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeFloatSignalUpdateNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeFloatSignalUpdateNotify_proto_goTypes,
+ DependencyIndexes: file_SummerTimeFloatSignalUpdateNotify_proto_depIdxs,
+ MessageInfos: file_SummerTimeFloatSignalUpdateNotify_proto_msgTypes,
+ }.Build()
+ File_SummerTimeFloatSignalUpdateNotify_proto = out.File
+ file_SummerTimeFloatSignalUpdateNotify_proto_rawDesc = nil
+ file_SummerTimeFloatSignalUpdateNotify_proto_goTypes = nil
+ file_SummerTimeFloatSignalUpdateNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeSprintBoatInfo.pb.go b/protocol/proto/SummerTimeSprintBoatInfo.pb.go
new file mode 100644
index 00000000..68e36ee5
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatInfo.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeSprintBoatInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeSprintBoatInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecordList []*SummerTimeSprintBoatRecord `protobuf:"bytes,7,rep,name=record_list,json=recordList,proto3" json:"record_list,omitempty"`
+}
+
+func (x *SummerTimeSprintBoatInfo) Reset() {
+ *x = SummerTimeSprintBoatInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeSprintBoatInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeSprintBoatInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeSprintBoatInfo) ProtoMessage() {}
+
+func (x *SummerTimeSprintBoatInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeSprintBoatInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeSprintBoatInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeSprintBoatInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeSprintBoatInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeSprintBoatInfo) GetRecordList() []*SummerTimeSprintBoatRecord {
+ if x != nil {
+ return x.RecordList
+ }
+ return nil
+}
+
+var File_SummerTimeSprintBoatInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeSprintBoatInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54,
+ 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x18, 0x53, 0x75, 0x6d,
+ 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x6f, 0x61,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72,
+ 0x69, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x0a, 0x72,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeSprintBoatInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeSprintBoatInfo_proto_rawDescData = file_SummerTimeSprintBoatInfo_proto_rawDesc
+)
+
+func file_SummerTimeSprintBoatInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeSprintBoatInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeSprintBoatInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeSprintBoatInfo_proto_rawDescData)
+ })
+ return file_SummerTimeSprintBoatInfo_proto_rawDescData
+}
+
+var file_SummerTimeSprintBoatInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeSprintBoatInfo_proto_goTypes = []interface{}{
+ (*SummerTimeSprintBoatInfo)(nil), // 0: proto.SummerTimeSprintBoatInfo
+ (*SummerTimeSprintBoatRecord)(nil), // 1: proto.SummerTimeSprintBoatRecord
+}
+var file_SummerTimeSprintBoatInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SummerTimeSprintBoatInfo.record_list:type_name -> proto.SummerTimeSprintBoatRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeSprintBoatInfo_proto_init() }
+func file_SummerTimeSprintBoatInfo_proto_init() {
+ if File_SummerTimeSprintBoatInfo_proto != nil {
+ return
+ }
+ file_SummerTimeSprintBoatRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeSprintBoatInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeSprintBoatInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeSprintBoatInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeSprintBoatInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeSprintBoatInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeSprintBoatInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeSprintBoatInfo_proto = out.File
+ file_SummerTimeSprintBoatInfo_proto_rawDesc = nil
+ file_SummerTimeSprintBoatInfo_proto_goTypes = nil
+ file_SummerTimeSprintBoatInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeSprintBoatRecord.pb.go b/protocol/proto/SummerTimeSprintBoatRecord.pb.go
new file mode 100644
index 00000000..c2247555
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatRecord.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeSprintBoatRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeSprintBoatRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BestScore uint32 `protobuf:"varint,3,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+ StartTime uint32 `protobuf:"varint,13,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ IsTouched bool `protobuf:"varint,7,opt,name=is_touched,json=isTouched,proto3" json:"is_touched,omitempty"`
+ WatcherIdList []uint32 `protobuf:"varint,10,rep,packed,name=watcher_id_list,json=watcherIdList,proto3" json:"watcher_id_list,omitempty"`
+ GroupId uint32 `protobuf:"varint,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *SummerTimeSprintBoatRecord) Reset() {
+ *x = SummerTimeSprintBoatRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeSprintBoatRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeSprintBoatRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeSprintBoatRecord) ProtoMessage() {}
+
+func (x *SummerTimeSprintBoatRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeSprintBoatRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeSprintBoatRecord.ProtoReflect.Descriptor instead.
+func (*SummerTimeSprintBoatRecord) Descriptor() ([]byte, []int) {
+ return file_SummerTimeSprintBoatRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeSprintBoatRecord) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatRecord) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatRecord) GetIsTouched() bool {
+ if x != nil {
+ return x.IsTouched
+ }
+ return false
+}
+
+func (x *SummerTimeSprintBoatRecord) GetWatcherIdList() []uint32 {
+ if x != nil {
+ return x.WatcherIdList
+ }
+ return nil
+}
+
+func (x *SummerTimeSprintBoatRecord) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_SummerTimeSprintBoatRecord_proto protoreflect.FileDescriptor
+
+var file_SummerTimeSprintBoatRecord_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x1a, 0x53, 0x75,
+ 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x6f,
+ 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74,
+ 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65,
+ 0x73, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x74, 0x6f, 0x75,
+ 0x63, 0x68, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x54, 0x6f,
+ 0x75, 0x63, 0x68, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a,
+ 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeSprintBoatRecord_proto_rawDescOnce sync.Once
+ file_SummerTimeSprintBoatRecord_proto_rawDescData = file_SummerTimeSprintBoatRecord_proto_rawDesc
+)
+
+func file_SummerTimeSprintBoatRecord_proto_rawDescGZIP() []byte {
+ file_SummerTimeSprintBoatRecord_proto_rawDescOnce.Do(func() {
+ file_SummerTimeSprintBoatRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeSprintBoatRecord_proto_rawDescData)
+ })
+ return file_SummerTimeSprintBoatRecord_proto_rawDescData
+}
+
+var file_SummerTimeSprintBoatRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeSprintBoatRecord_proto_goTypes = []interface{}{
+ (*SummerTimeSprintBoatRecord)(nil), // 0: proto.SummerTimeSprintBoatRecord
+}
+var file_SummerTimeSprintBoatRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeSprintBoatRecord_proto_init() }
+func file_SummerTimeSprintBoatRecord_proto_init() {
+ if File_SummerTimeSprintBoatRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeSprintBoatRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeSprintBoatRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeSprintBoatRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeSprintBoatRecord_proto_goTypes,
+ DependencyIndexes: file_SummerTimeSprintBoatRecord_proto_depIdxs,
+ MessageInfos: file_SummerTimeSprintBoatRecord_proto_msgTypes,
+ }.Build()
+ File_SummerTimeSprintBoatRecord_proto = out.File
+ file_SummerTimeSprintBoatRecord_proto_rawDesc = nil
+ file_SummerTimeSprintBoatRecord_proto_goTypes = nil
+ file_SummerTimeSprintBoatRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeSprintBoatRestartReq.pb.go b/protocol/proto/SummerTimeSprintBoatRestartReq.pb.go
new file mode 100644
index 00000000..0a46aa19
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatRestartReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeSprintBoatRestartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8410
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SummerTimeSprintBoatRestartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,10,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,14,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *SummerTimeSprintBoatRestartReq) Reset() {
+ *x = SummerTimeSprintBoatRestartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeSprintBoatRestartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeSprintBoatRestartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeSprintBoatRestartReq) ProtoMessage() {}
+
+func (x *SummerTimeSprintBoatRestartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeSprintBoatRestartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeSprintBoatRestartReq.ProtoReflect.Descriptor instead.
+func (*SummerTimeSprintBoatRestartReq) Descriptor() ([]byte, []int) {
+ return file_SummerTimeSprintBoatRestartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeSprintBoatRestartReq) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatRestartReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_SummerTimeSprintBoatRestartReq_proto protoreflect.FileDescriptor
+
+var file_SummerTimeSprintBoatRestartReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a,
+ 0x1e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69, 0x6e,
+ 0x74, 0x42, 0x6f, 0x61, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeSprintBoatRestartReq_proto_rawDescOnce sync.Once
+ file_SummerTimeSprintBoatRestartReq_proto_rawDescData = file_SummerTimeSprintBoatRestartReq_proto_rawDesc
+)
+
+func file_SummerTimeSprintBoatRestartReq_proto_rawDescGZIP() []byte {
+ file_SummerTimeSprintBoatRestartReq_proto_rawDescOnce.Do(func() {
+ file_SummerTimeSprintBoatRestartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeSprintBoatRestartReq_proto_rawDescData)
+ })
+ return file_SummerTimeSprintBoatRestartReq_proto_rawDescData
+}
+
+var file_SummerTimeSprintBoatRestartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeSprintBoatRestartReq_proto_goTypes = []interface{}{
+ (*SummerTimeSprintBoatRestartReq)(nil), // 0: proto.SummerTimeSprintBoatRestartReq
+}
+var file_SummerTimeSprintBoatRestartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeSprintBoatRestartReq_proto_init() }
+func file_SummerTimeSprintBoatRestartReq_proto_init() {
+ if File_SummerTimeSprintBoatRestartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeSprintBoatRestartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeSprintBoatRestartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeSprintBoatRestartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeSprintBoatRestartReq_proto_goTypes,
+ DependencyIndexes: file_SummerTimeSprintBoatRestartReq_proto_depIdxs,
+ MessageInfos: file_SummerTimeSprintBoatRestartReq_proto_msgTypes,
+ }.Build()
+ File_SummerTimeSprintBoatRestartReq_proto = out.File
+ file_SummerTimeSprintBoatRestartReq_proto_rawDesc = nil
+ file_SummerTimeSprintBoatRestartReq_proto_goTypes = nil
+ file_SummerTimeSprintBoatRestartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeSprintBoatRestartRsp.pb.go b/protocol/proto/SummerTimeSprintBoatRestartRsp.pb.go
new file mode 100644
index 00000000..9cc5900c
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatRestartRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeSprintBoatRestartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8356
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SummerTimeSprintBoatRestartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,5,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ GroupId uint32 `protobuf:"varint,4,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+}
+
+func (x *SummerTimeSprintBoatRestartRsp) Reset() {
+ *x = SummerTimeSprintBoatRestartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeSprintBoatRestartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeSprintBoatRestartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeSprintBoatRestartRsp) ProtoMessage() {}
+
+func (x *SummerTimeSprintBoatRestartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeSprintBoatRestartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeSprintBoatRestartRsp.ProtoReflect.Descriptor instead.
+func (*SummerTimeSprintBoatRestartRsp) Descriptor() ([]byte, []int) {
+ return file_SummerTimeSprintBoatRestartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeSprintBoatRestartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatRestartRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatRestartRsp) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+var File_SummerTimeSprintBoatRestartRsp_proto protoreflect.FileDescriptor
+
+var file_SummerTimeSprintBoatRestartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x76, 0x0a,
+ 0x1e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69, 0x6e,
+ 0x74, 0x42, 0x6f, 0x61, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeSprintBoatRestartRsp_proto_rawDescOnce sync.Once
+ file_SummerTimeSprintBoatRestartRsp_proto_rawDescData = file_SummerTimeSprintBoatRestartRsp_proto_rawDesc
+)
+
+func file_SummerTimeSprintBoatRestartRsp_proto_rawDescGZIP() []byte {
+ file_SummerTimeSprintBoatRestartRsp_proto_rawDescOnce.Do(func() {
+ file_SummerTimeSprintBoatRestartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeSprintBoatRestartRsp_proto_rawDescData)
+ })
+ return file_SummerTimeSprintBoatRestartRsp_proto_rawDescData
+}
+
+var file_SummerTimeSprintBoatRestartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeSprintBoatRestartRsp_proto_goTypes = []interface{}{
+ (*SummerTimeSprintBoatRestartRsp)(nil), // 0: proto.SummerTimeSprintBoatRestartRsp
+}
+var file_SummerTimeSprintBoatRestartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeSprintBoatRestartRsp_proto_init() }
+func file_SummerTimeSprintBoatRestartRsp_proto_init() {
+ if File_SummerTimeSprintBoatRestartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeSprintBoatRestartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeSprintBoatRestartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeSprintBoatRestartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeSprintBoatRestartRsp_proto_goTypes,
+ DependencyIndexes: file_SummerTimeSprintBoatRestartRsp_proto_depIdxs,
+ MessageInfos: file_SummerTimeSprintBoatRestartRsp_proto_msgTypes,
+ }.Build()
+ File_SummerTimeSprintBoatRestartRsp_proto = out.File
+ file_SummerTimeSprintBoatRestartRsp_proto_rawDesc = nil
+ file_SummerTimeSprintBoatRestartRsp_proto_goTypes = nil
+ file_SummerTimeSprintBoatRestartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeSprintBoatSettleNotify.pb.go b/protocol/proto/SummerTimeSprintBoatSettleNotify.pb.go
new file mode 100644
index 00000000..ca62cb56
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatSettleNotify.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeSprintBoatSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8651
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SummerTimeSprintBoatSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalNum uint32 `protobuf:"varint,13,opt,name=total_num,json=totalNum,proto3" json:"total_num,omitempty"`
+ GroupId uint32 `protobuf:"varint,12,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ IsSuccess bool `protobuf:"varint,15,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ CollectNum uint32 `protobuf:"varint,6,opt,name=collect_num,json=collectNum,proto3" json:"collect_num,omitempty"`
+ LeftTime uint32 `protobuf:"varint,8,opt,name=left_time,json=leftTime,proto3" json:"left_time,omitempty"`
+ MedalLevel uint32 `protobuf:"varint,2,opt,name=medal_level,json=medalLevel,proto3" json:"medal_level,omitempty"`
+ Score uint32 `protobuf:"varint,10,opt,name=score,proto3" json:"score,omitempty"`
+ IsNewRecord bool `protobuf:"varint,7,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) Reset() {
+ *x = SummerTimeSprintBoatSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeSprintBoatSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeSprintBoatSettleNotify) ProtoMessage() {}
+
+func (x *SummerTimeSprintBoatSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeSprintBoatSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeSprintBoatSettleNotify.ProtoReflect.Descriptor instead.
+func (*SummerTimeSprintBoatSettleNotify) Descriptor() ([]byte, []int) {
+ return file_SummerTimeSprintBoatSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) GetTotalNum() uint32 {
+ if x != nil {
+ return x.TotalNum
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) GetCollectNum() uint32 {
+ if x != nil {
+ return x.CollectNum
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) GetLeftTime() uint32 {
+ if x != nil {
+ return x.LeftTime
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) GetMedalLevel() uint32 {
+ if x != nil {
+ return x.MedalLevel
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *SummerTimeSprintBoatSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_SummerTimeSprintBoatSettleNotify_proto protoreflect.FileDescriptor
+
+var file_SummerTimeSprintBoatSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x72, 0x69,
+ 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x92, 0x02, 0x0a, 0x20, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70,
+ 0x72, 0x69, 0x6e, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75,
+ 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
+ 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09,
+ 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x64,
+ 0x61, 0x6c, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6d, 0x65, 0x64, 0x61, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
+ 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
+ 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeSprintBoatSettleNotify_proto_rawDescOnce sync.Once
+ file_SummerTimeSprintBoatSettleNotify_proto_rawDescData = file_SummerTimeSprintBoatSettleNotify_proto_rawDesc
+)
+
+func file_SummerTimeSprintBoatSettleNotify_proto_rawDescGZIP() []byte {
+ file_SummerTimeSprintBoatSettleNotify_proto_rawDescOnce.Do(func() {
+ file_SummerTimeSprintBoatSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeSprintBoatSettleNotify_proto_rawDescData)
+ })
+ return file_SummerTimeSprintBoatSettleNotify_proto_rawDescData
+}
+
+var file_SummerTimeSprintBoatSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeSprintBoatSettleNotify_proto_goTypes = []interface{}{
+ (*SummerTimeSprintBoatSettleNotify)(nil), // 0: proto.SummerTimeSprintBoatSettleNotify
+}
+var file_SummerTimeSprintBoatSettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeSprintBoatSettleNotify_proto_init() }
+func file_SummerTimeSprintBoatSettleNotify_proto_init() {
+ if File_SummerTimeSprintBoatSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeSprintBoatSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeSprintBoatSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeSprintBoatSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeSprintBoatSettleNotify_proto_goTypes,
+ DependencyIndexes: file_SummerTimeSprintBoatSettleNotify_proto_depIdxs,
+ MessageInfos: file_SummerTimeSprintBoatSettleNotify_proto_msgTypes,
+ }.Build()
+ File_SummerTimeSprintBoatSettleNotify_proto = out.File
+ file_SummerTimeSprintBoatSettleNotify_proto_rawDesc = nil
+ file_SummerTimeSprintBoatSettleNotify_proto_goTypes = nil
+ file_SummerTimeSprintBoatSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeStageInfo.pb.go b/protocol/proto/SummerTimeStageInfo.pb.go
new file mode 100644
index 00000000..e657ab4d
--- /dev/null
+++ b/protocol/proto/SummerTimeStageInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,13,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ OpenTime uint32 `protobuf:"varint,10,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ StageId uint32 `protobuf:"varint,1,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *SummerTimeStageInfo) Reset() {
+ *x = SummerTimeStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeStageInfo) ProtoMessage() {}
+
+func (x *SummerTimeStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeStageInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeStageInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *SummerTimeStageInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *SummerTimeStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_SummerTimeStageInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x13, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeStageInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeStageInfo_proto_rawDescData = file_SummerTimeStageInfo_proto_rawDesc
+)
+
+func file_SummerTimeStageInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeStageInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeStageInfo_proto_rawDescData)
+ })
+ return file_SummerTimeStageInfo_proto_rawDescData
+}
+
+var file_SummerTimeStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeStageInfo_proto_goTypes = []interface{}{
+ (*SummerTimeStageInfo)(nil), // 0: proto.SummerTimeStageInfo
+}
+var file_SummerTimeStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeStageInfo_proto_init() }
+func file_SummerTimeStageInfo_proto_init() {
+ if File_SummerTimeStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeStageInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeStageInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeStageInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeStageInfo_proto = out.File
+ file_SummerTimeStageInfo_proto_rawDesc = nil
+ file_SummerTimeStageInfo_proto_goTypes = nil
+ file_SummerTimeStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2BoatGallerySettleInfo.pb.go b/protocol/proto/SummerTimeV2BoatGallerySettleInfo.pb.go
new file mode 100644
index 00000000..e5fd063c
--- /dev/null
+++ b/protocol/proto/SummerTimeV2BoatGallerySettleInfo.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2BoatGallerySettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeV2BoatGallerySettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Param1 uint32 `protobuf:"varint,7,opt,name=param1,proto3" json:"param1,omitempty"`
+ Param2 uint32 `protobuf:"varint,2,opt,name=param2,proto3" json:"param2,omitempty"`
+ Reason GalleryStopReason `protobuf:"varint,3,opt,name=reason,proto3,enum=proto.GalleryStopReason" json:"reason,omitempty"`
+ Param3 uint32 `protobuf:"varint,6,opt,name=param3,proto3" json:"param3,omitempty"`
+ UsedTime uint32 `protobuf:"varint,12,opt,name=used_time,json=usedTime,proto3" json:"used_time,omitempty"`
+ GalleryId uint32 `protobuf:"varint,1,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) Reset() {
+ *x = SummerTimeV2BoatGallerySettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2BoatGallerySettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2BoatGallerySettleInfo) ProtoMessage() {}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2BoatGallerySettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2BoatGallerySettleInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2BoatGallerySettleInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2BoatGallerySettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) GetParam1() uint32 {
+ if x != nil {
+ return x.Param1
+ }
+ return 0
+}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) GetParam2() uint32 {
+ if x != nil {
+ return x.Param2
+ }
+ return 0
+}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) GetReason() GalleryStopReason {
+ if x != nil {
+ return x.Reason
+ }
+ return GalleryStopReason_GALLERY_STOP_REASON_NONE
+}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) GetParam3() uint32 {
+ if x != nil {
+ return x.Param3
+ }
+ return 0
+}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) GetUsedTime() uint32 {
+ if x != nil {
+ return x.UsedTime
+ }
+ return 0
+}
+
+func (x *SummerTimeV2BoatGallerySettleInfo) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_SummerTimeV2BoatGallerySettleInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2BoatGallerySettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f,
+ 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x17, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x01, 0x0a, 0x21, 0x53, 0x75,
+ 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x47, 0x61,
+ 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12,
+ 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53,
+ 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65,
+ 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x75, 0x73,
+ 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c,
+ 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2BoatGallerySettleInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeV2BoatGallerySettleInfo_proto_rawDescData = file_SummerTimeV2BoatGallerySettleInfo_proto_rawDesc
+)
+
+func file_SummerTimeV2BoatGallerySettleInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2BoatGallerySettleInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2BoatGallerySettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2BoatGallerySettleInfo_proto_rawDescData)
+ })
+ return file_SummerTimeV2BoatGallerySettleInfo_proto_rawDescData
+}
+
+var file_SummerTimeV2BoatGallerySettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2BoatGallerySettleInfo_proto_goTypes = []interface{}{
+ (*SummerTimeV2BoatGallerySettleInfo)(nil), // 0: proto.SummerTimeV2BoatGallerySettleInfo
+ (GalleryStopReason)(0), // 1: proto.GalleryStopReason
+}
+var file_SummerTimeV2BoatGallerySettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SummerTimeV2BoatGallerySettleInfo.reason:type_name -> proto.GalleryStopReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2BoatGallerySettleInfo_proto_init() }
+func file_SummerTimeV2BoatGallerySettleInfo_proto_init() {
+ if File_SummerTimeV2BoatGallerySettleInfo_proto != nil {
+ return
+ }
+ file_GalleryStopReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2BoatGallerySettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2BoatGallerySettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2BoatGallerySettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2BoatGallerySettleInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2BoatGallerySettleInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2BoatGallerySettleInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2BoatGallerySettleInfo_proto = out.File
+ file_SummerTimeV2BoatGallerySettleInfo_proto_rawDesc = nil
+ file_SummerTimeV2BoatGallerySettleInfo_proto_goTypes = nil
+ file_SummerTimeV2BoatGallerySettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2BoatSettleNotify.pb.go b/protocol/proto/SummerTimeV2BoatSettleNotify.pb.go
new file mode 100644
index 00000000..9392c7a5
--- /dev/null
+++ b/protocol/proto/SummerTimeV2BoatSettleNotify.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2BoatSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8870
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SummerTimeV2BoatSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SettleInfo *SummerTimeV2BoatGallerySettleInfo `protobuf:"bytes,11,opt,name=settle_info,json=settleInfo,proto3" json:"settle_info,omitempty"`
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsNewRecord bool `protobuf:"varint,2,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ GalleryId uint32 `protobuf:"varint,1,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *SummerTimeV2BoatSettleNotify) Reset() {
+ *x = SummerTimeV2BoatSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2BoatSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2BoatSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2BoatSettleNotify) ProtoMessage() {}
+
+func (x *SummerTimeV2BoatSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2BoatSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2BoatSettleNotify.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2BoatSettleNotify) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2BoatSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2BoatSettleNotify) GetSettleInfo() *SummerTimeV2BoatGallerySettleInfo {
+ if x != nil {
+ return x.SettleInfo
+ }
+ return nil
+}
+
+func (x *SummerTimeV2BoatSettleNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SummerTimeV2BoatSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *SummerTimeV2BoatSettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_SummerTimeV2BoatSettleNotify_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2BoatSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f,
+ 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x53, 0x75, 0x6d,
+ 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x47, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc7, 0x01, 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54,
+ 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42,
+ 0x6f, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69,
+ 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2BoatSettleNotify_proto_rawDescOnce sync.Once
+ file_SummerTimeV2BoatSettleNotify_proto_rawDescData = file_SummerTimeV2BoatSettleNotify_proto_rawDesc
+)
+
+func file_SummerTimeV2BoatSettleNotify_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2BoatSettleNotify_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2BoatSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2BoatSettleNotify_proto_rawDescData)
+ })
+ return file_SummerTimeV2BoatSettleNotify_proto_rawDescData
+}
+
+var file_SummerTimeV2BoatSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2BoatSettleNotify_proto_goTypes = []interface{}{
+ (*SummerTimeV2BoatSettleNotify)(nil), // 0: proto.SummerTimeV2BoatSettleNotify
+ (*SummerTimeV2BoatGallerySettleInfo)(nil), // 1: proto.SummerTimeV2BoatGallerySettleInfo
+}
+var file_SummerTimeV2BoatSettleNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SummerTimeV2BoatSettleNotify.settle_info:type_name -> proto.SummerTimeV2BoatGallerySettleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2BoatSettleNotify_proto_init() }
+func file_SummerTimeV2BoatSettleNotify_proto_init() {
+ if File_SummerTimeV2BoatSettleNotify_proto != nil {
+ return
+ }
+ file_SummerTimeV2BoatGallerySettleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2BoatSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2BoatSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2BoatSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2BoatSettleNotify_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2BoatSettleNotify_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2BoatSettleNotify_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2BoatSettleNotify_proto = out.File
+ file_SummerTimeV2BoatSettleNotify_proto_rawDesc = nil
+ file_SummerTimeV2BoatSettleNotify_proto_goTypes = nil
+ file_SummerTimeV2BoatSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2BoatStageInfo.pb.go b/protocol/proto/SummerTimeV2BoatStageInfo.pb.go
new file mode 100644
index 00000000..1bf56ff5
--- /dev/null
+++ b/protocol/proto/SummerTimeV2BoatStageInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2BoatStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeV2BoatStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenTime uint32 `protobuf:"varint,7,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsOpen bool `protobuf:"varint,14,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ StageId uint32 `protobuf:"varint,10,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ BestScore uint32 `protobuf:"varint,13,opt,name=best_score,json=bestScore,proto3" json:"best_score,omitempty"`
+}
+
+func (x *SummerTimeV2BoatStageInfo) Reset() {
+ *x = SummerTimeV2BoatStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2BoatStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2BoatStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2BoatStageInfo) ProtoMessage() {}
+
+func (x *SummerTimeV2BoatStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2BoatStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2BoatStageInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2BoatStageInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2BoatStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2BoatStageInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *SummerTimeV2BoatStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *SummerTimeV2BoatStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SummerTimeV2BoatStageInfo) GetBestScore() uint32 {
+ if x != nil {
+ return x.BestScore
+ }
+ return 0
+}
+
+var File_SummerTimeV2BoatStageInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2BoatStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f,
+ 0x61, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x19, 0x53, 0x75, 0x6d,
+ 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x5f,
+ 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x65, 0x73,
+ 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2BoatStageInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeV2BoatStageInfo_proto_rawDescData = file_SummerTimeV2BoatStageInfo_proto_rawDesc
+)
+
+func file_SummerTimeV2BoatStageInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2BoatStageInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2BoatStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2BoatStageInfo_proto_rawDescData)
+ })
+ return file_SummerTimeV2BoatStageInfo_proto_rawDescData
+}
+
+var file_SummerTimeV2BoatStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2BoatStageInfo_proto_goTypes = []interface{}{
+ (*SummerTimeV2BoatStageInfo)(nil), // 0: proto.SummerTimeV2BoatStageInfo
+}
+var file_SummerTimeV2BoatStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2BoatStageInfo_proto_init() }
+func file_SummerTimeV2BoatStageInfo_proto_init() {
+ if File_SummerTimeV2BoatStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2BoatStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2BoatStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2BoatStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2BoatStageInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2BoatStageInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2BoatStageInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2BoatStageInfo_proto = out.File
+ file_SummerTimeV2BoatStageInfo_proto_rawDesc = nil
+ file_SummerTimeV2BoatStageInfo_proto_goTypes = nil
+ file_SummerTimeV2BoatStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2DetailInfo.pb.go b/protocol/proto/SummerTimeV2DetailInfo.pb.go
new file mode 100644
index 00000000..d54fa084
--- /dev/null
+++ b/protocol/proto/SummerTimeV2DetailInfo.pb.go
@@ -0,0 +1,220 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2DetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeV2DetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonStageInfoList []*SummerTimeV2DungeonStageInfo `protobuf:"bytes,13,rep,name=dungeon_stage_info_list,json=dungeonStageInfoList,proto3" json:"dungeon_stage_info_list,omitempty"`
+ CurDungeonRewardLimit uint32 `protobuf:"varint,10,opt,name=cur_dungeon_reward_limit,json=curDungeonRewardLimit,proto3" json:"cur_dungeon_reward_limit,omitempty"`
+ IsContentClosed bool `protobuf:"varint,4,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ TakenRewardCount uint32 `protobuf:"varint,5,opt,name=taken_reward_count,json=takenRewardCount,proto3" json:"taken_reward_count,omitempty"`
+ BoatStageInfoList []*SummerTimeV2BoatStageInfo `protobuf:"bytes,15,rep,name=boat_stage_info_list,json=boatStageInfoList,proto3" json:"boat_stage_info_list,omitempty"`
+}
+
+func (x *SummerTimeV2DetailInfo) Reset() {
+ *x = SummerTimeV2DetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2DetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2DetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2DetailInfo) ProtoMessage() {}
+
+func (x *SummerTimeV2DetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2DetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2DetailInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2DetailInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2DetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2DetailInfo) GetDungeonStageInfoList() []*SummerTimeV2DungeonStageInfo {
+ if x != nil {
+ return x.DungeonStageInfoList
+ }
+ return nil
+}
+
+func (x *SummerTimeV2DetailInfo) GetCurDungeonRewardLimit() uint32 {
+ if x != nil {
+ return x.CurDungeonRewardLimit
+ }
+ return 0
+}
+
+func (x *SummerTimeV2DetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *SummerTimeV2DetailInfo) GetTakenRewardCount() uint32 {
+ if x != nil {
+ return x.TakenRewardCount
+ }
+ return 0
+}
+
+func (x *SummerTimeV2DetailInfo) GetBoatStageInfoList() []*SummerTimeV2BoatStageInfo {
+ if x != nil {
+ return x.BoatStageInfoList
+ }
+ return nil
+}
+
+var File_SummerTimeV2DetailInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2DetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d,
+ 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69,
+ 0x6d, 0x65, 0x56, 0x32, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x02, 0x0a, 0x16, 0x53,
+ 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5a, 0x0a, 0x17, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x75, 0x72, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x75, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f,
+ 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x62, 0x6f, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x65,
+ 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x42, 0x6f, 0x61, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x62, 0x6f, 0x61, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2DetailInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeV2DetailInfo_proto_rawDescData = file_SummerTimeV2DetailInfo_proto_rawDesc
+)
+
+func file_SummerTimeV2DetailInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2DetailInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2DetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2DetailInfo_proto_rawDescData)
+ })
+ return file_SummerTimeV2DetailInfo_proto_rawDescData
+}
+
+var file_SummerTimeV2DetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2DetailInfo_proto_goTypes = []interface{}{
+ (*SummerTimeV2DetailInfo)(nil), // 0: proto.SummerTimeV2DetailInfo
+ (*SummerTimeV2DungeonStageInfo)(nil), // 1: proto.SummerTimeV2DungeonStageInfo
+ (*SummerTimeV2BoatStageInfo)(nil), // 2: proto.SummerTimeV2BoatStageInfo
+}
+var file_SummerTimeV2DetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SummerTimeV2DetailInfo.dungeon_stage_info_list:type_name -> proto.SummerTimeV2DungeonStageInfo
+ 2, // 1: proto.SummerTimeV2DetailInfo.boat_stage_info_list:type_name -> proto.SummerTimeV2BoatStageInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2DetailInfo_proto_init() }
+func file_SummerTimeV2DetailInfo_proto_init() {
+ if File_SummerTimeV2DetailInfo_proto != nil {
+ return
+ }
+ file_SummerTimeV2BoatStageInfo_proto_init()
+ file_SummerTimeV2DungeonStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2DetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2DetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2DetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2DetailInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2DetailInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2DetailInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2DetailInfo_proto = out.File
+ file_SummerTimeV2DetailInfo_proto_rawDesc = nil
+ file_SummerTimeV2DetailInfo_proto_goTypes = nil
+ file_SummerTimeV2DetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2DungeonSettleInfo.pb.go b/protocol/proto/SummerTimeV2DungeonSettleInfo.pb.go
new file mode 100644
index 00000000..491a2d2a
--- /dev/null
+++ b/protocol/proto/SummerTimeV2DungeonSettleInfo.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2DungeonSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeV2DungeonSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSuccess bool `protobuf:"varint,5,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ TakenRewardCount uint32 `protobuf:"varint,2,opt,name=taken_reward_count,json=takenRewardCount,proto3" json:"taken_reward_count,omitempty"`
+ CurDungeonRewardLimit uint32 `protobuf:"varint,11,opt,name=cur_dungeon_reward_limit,json=curDungeonRewardLimit,proto3" json:"cur_dungeon_reward_limit,omitempty"`
+}
+
+func (x *SummerTimeV2DungeonSettleInfo) Reset() {
+ *x = SummerTimeV2DungeonSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2DungeonSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2DungeonSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2DungeonSettleInfo) ProtoMessage() {}
+
+func (x *SummerTimeV2DungeonSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2DungeonSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2DungeonSettleInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2DungeonSettleInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2DungeonSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2DungeonSettleInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *SummerTimeV2DungeonSettleInfo) GetTakenRewardCount() uint32 {
+ if x != nil {
+ return x.TakenRewardCount
+ }
+ return 0
+}
+
+func (x *SummerTimeV2DungeonSettleInfo) GetCurDungeonRewardLimit() uint32 {
+ if x != nil {
+ return x.CurDungeonRewardLimit
+ }
+ return 0
+}
+
+var File_SummerTimeV2DungeonSettleInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2DungeonSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a,
+ 0x1d, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a,
+ 0x12, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74, 0x61, 0x6b, 0x65, 0x6e,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x63,
+ 0x75, 0x72, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63,
+ 0x75, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c,
+ 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2DungeonSettleInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeV2DungeonSettleInfo_proto_rawDescData = file_SummerTimeV2DungeonSettleInfo_proto_rawDesc
+)
+
+func file_SummerTimeV2DungeonSettleInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2DungeonSettleInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2DungeonSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2DungeonSettleInfo_proto_rawDescData)
+ })
+ return file_SummerTimeV2DungeonSettleInfo_proto_rawDescData
+}
+
+var file_SummerTimeV2DungeonSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2DungeonSettleInfo_proto_goTypes = []interface{}{
+ (*SummerTimeV2DungeonSettleInfo)(nil), // 0: proto.SummerTimeV2DungeonSettleInfo
+}
+var file_SummerTimeV2DungeonSettleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2DungeonSettleInfo_proto_init() }
+func file_SummerTimeV2DungeonSettleInfo_proto_init() {
+ if File_SummerTimeV2DungeonSettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2DungeonSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2DungeonSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2DungeonSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2DungeonSettleInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2DungeonSettleInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2DungeonSettleInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2DungeonSettleInfo_proto = out.File
+ file_SummerTimeV2DungeonSettleInfo_proto_rawDesc = nil
+ file_SummerTimeV2DungeonSettleInfo_proto_goTypes = nil
+ file_SummerTimeV2DungeonSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2DungeonStageInfo.pb.go b/protocol/proto/SummerTimeV2DungeonStageInfo.pb.go
new file mode 100644
index 00000000..bd0da404
--- /dev/null
+++ b/protocol/proto/SummerTimeV2DungeonStageInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2DungeonStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SummerTimeV2DungeonStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,10,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsOpen bool `protobuf:"varint,3,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ OpenTime uint32 `protobuf:"varint,12,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsPrevDungeonSucceed bool `protobuf:"varint,15,opt,name=is_prev_dungeon_succeed,json=isPrevDungeonSucceed,proto3" json:"is_prev_dungeon_succeed,omitempty"`
+}
+
+func (x *SummerTimeV2DungeonStageInfo) Reset() {
+ *x = SummerTimeV2DungeonStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2DungeonStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2DungeonStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2DungeonStageInfo) ProtoMessage() {}
+
+func (x *SummerTimeV2DungeonStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2DungeonStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2DungeonStageInfo.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2DungeonStageInfo) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2DungeonStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2DungeonStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SummerTimeV2DungeonStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *SummerTimeV2DungeonStageInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *SummerTimeV2DungeonStageInfo) GetIsPrevDungeonSucceed() bool {
+ if x != nil {
+ return x.IsPrevDungeonSucceed
+ }
+ return false
+}
+
+var File_SummerTimeV2DungeonStageInfo_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2DungeonStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x01, 0x0a, 0x1c,
+ 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x44, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70,
+ 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e,
+ 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a,
+ 0x17, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14,
+ 0x69, 0x73, 0x50, 0x72, 0x65, 0x76, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x75, 0x63,
+ 0x63, 0x65, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2DungeonStageInfo_proto_rawDescOnce sync.Once
+ file_SummerTimeV2DungeonStageInfo_proto_rawDescData = file_SummerTimeV2DungeonStageInfo_proto_rawDesc
+)
+
+func file_SummerTimeV2DungeonStageInfo_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2DungeonStageInfo_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2DungeonStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2DungeonStageInfo_proto_rawDescData)
+ })
+ return file_SummerTimeV2DungeonStageInfo_proto_rawDescData
+}
+
+var file_SummerTimeV2DungeonStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2DungeonStageInfo_proto_goTypes = []interface{}{
+ (*SummerTimeV2DungeonStageInfo)(nil), // 0: proto.SummerTimeV2DungeonStageInfo
+}
+var file_SummerTimeV2DungeonStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2DungeonStageInfo_proto_init() }
+func file_SummerTimeV2DungeonStageInfo_proto_init() {
+ if File_SummerTimeV2DungeonStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2DungeonStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2DungeonStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2DungeonStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2DungeonStageInfo_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2DungeonStageInfo_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2DungeonStageInfo_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2DungeonStageInfo_proto = out.File
+ file_SummerTimeV2DungeonStageInfo_proto_rawDesc = nil
+ file_SummerTimeV2DungeonStageInfo_proto_goTypes = nil
+ file_SummerTimeV2DungeonStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2RestartBoatGalleryReq.pb.go b/protocol/proto/SummerTimeV2RestartBoatGalleryReq.pb.go
new file mode 100644
index 00000000..c7628d36
--- /dev/null
+++ b/protocol/proto/SummerTimeV2RestartBoatGalleryReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2RestartBoatGalleryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8476
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SummerTimeV2RestartBoatGalleryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,5,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *SummerTimeV2RestartBoatGalleryReq) Reset() {
+ *x = SummerTimeV2RestartBoatGalleryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2RestartBoatGalleryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2RestartBoatGalleryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2RestartBoatGalleryReq) ProtoMessage() {}
+
+func (x *SummerTimeV2RestartBoatGalleryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2RestartBoatGalleryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2RestartBoatGalleryReq.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2RestartBoatGalleryReq) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2RestartBoatGalleryReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2RestartBoatGalleryReq) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_SummerTimeV2RestartBoatGalleryReq_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2RestartBoatGalleryReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x52, 0x65,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x42, 0x0a, 0x21, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32,
+ 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2RestartBoatGalleryReq_proto_rawDescOnce sync.Once
+ file_SummerTimeV2RestartBoatGalleryReq_proto_rawDescData = file_SummerTimeV2RestartBoatGalleryReq_proto_rawDesc
+)
+
+func file_SummerTimeV2RestartBoatGalleryReq_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2RestartBoatGalleryReq_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2RestartBoatGalleryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2RestartBoatGalleryReq_proto_rawDescData)
+ })
+ return file_SummerTimeV2RestartBoatGalleryReq_proto_rawDescData
+}
+
+var file_SummerTimeV2RestartBoatGalleryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2RestartBoatGalleryReq_proto_goTypes = []interface{}{
+ (*SummerTimeV2RestartBoatGalleryReq)(nil), // 0: proto.SummerTimeV2RestartBoatGalleryReq
+}
+var file_SummerTimeV2RestartBoatGalleryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2RestartBoatGalleryReq_proto_init() }
+func file_SummerTimeV2RestartBoatGalleryReq_proto_init() {
+ if File_SummerTimeV2RestartBoatGalleryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2RestartBoatGalleryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2RestartBoatGalleryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2RestartBoatGalleryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2RestartBoatGalleryReq_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2RestartBoatGalleryReq_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2RestartBoatGalleryReq_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2RestartBoatGalleryReq_proto = out.File
+ file_SummerTimeV2RestartBoatGalleryReq_proto_rawDesc = nil
+ file_SummerTimeV2RestartBoatGalleryReq_proto_goTypes = nil
+ file_SummerTimeV2RestartBoatGalleryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2RestartBoatGalleryRsp.pb.go b/protocol/proto/SummerTimeV2RestartBoatGalleryRsp.pb.go
new file mode 100644
index 00000000..2468c543
--- /dev/null
+++ b/protocol/proto/SummerTimeV2RestartBoatGalleryRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2RestartBoatGalleryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8004
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SummerTimeV2RestartBoatGalleryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,13,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SummerTimeV2RestartBoatGalleryRsp) Reset() {
+ *x = SummerTimeV2RestartBoatGalleryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2RestartBoatGalleryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2RestartBoatGalleryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2RestartBoatGalleryRsp) ProtoMessage() {}
+
+func (x *SummerTimeV2RestartBoatGalleryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2RestartBoatGalleryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2RestartBoatGalleryRsp.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2RestartBoatGalleryRsp) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2RestartBoatGalleryRsp) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *SummerTimeV2RestartBoatGalleryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SummerTimeV2RestartBoatGalleryRsp_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x52, 0x65,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x5c, 0x0a, 0x21, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32,
+ 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x6f, 0x61, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDescOnce sync.Once
+ file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDescData = file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDesc
+)
+
+func file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDescData)
+ })
+ return file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDescData
+}
+
+var file_SummerTimeV2RestartBoatGalleryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2RestartBoatGalleryRsp_proto_goTypes = []interface{}{
+ (*SummerTimeV2RestartBoatGalleryRsp)(nil), // 0: proto.SummerTimeV2RestartBoatGalleryRsp
+}
+var file_SummerTimeV2RestartBoatGalleryRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2RestartBoatGalleryRsp_proto_init() }
+func file_SummerTimeV2RestartBoatGalleryRsp_proto_init() {
+ if File_SummerTimeV2RestartBoatGalleryRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2RestartBoatGalleryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2RestartBoatGalleryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2RestartBoatGalleryRsp_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2RestartBoatGalleryRsp_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2RestartBoatGalleryRsp_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2RestartBoatGalleryRsp_proto = out.File
+ file_SummerTimeV2RestartBoatGalleryRsp_proto_rawDesc = nil
+ file_SummerTimeV2RestartBoatGalleryRsp_proto_goTypes = nil
+ file_SummerTimeV2RestartBoatGalleryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2RestartDungeonReq.pb.go b/protocol/proto/SummerTimeV2RestartDungeonReq.pb.go
new file mode 100644
index 00000000..83c028d8
--- /dev/null
+++ b/protocol/proto/SummerTimeV2RestartDungeonReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2RestartDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8346
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SummerTimeV2RestartDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *SummerTimeV2RestartDungeonReq) Reset() {
+ *x = SummerTimeV2RestartDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2RestartDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2RestartDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2RestartDungeonReq) ProtoMessage() {}
+
+func (x *SummerTimeV2RestartDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2RestartDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2RestartDungeonReq.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2RestartDungeonReq) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2RestartDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SummerTimeV2RestartDungeonReq_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2RestartDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x52, 0x65,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x1d,
+ 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x52, 0x65, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SummerTimeV2RestartDungeonReq_proto_rawDescOnce sync.Once
+ file_SummerTimeV2RestartDungeonReq_proto_rawDescData = file_SummerTimeV2RestartDungeonReq_proto_rawDesc
+)
+
+func file_SummerTimeV2RestartDungeonReq_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2RestartDungeonReq_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2RestartDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2RestartDungeonReq_proto_rawDescData)
+ })
+ return file_SummerTimeV2RestartDungeonReq_proto_rawDescData
+}
+
+var file_SummerTimeV2RestartDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2RestartDungeonReq_proto_goTypes = []interface{}{
+ (*SummerTimeV2RestartDungeonReq)(nil), // 0: proto.SummerTimeV2RestartDungeonReq
+}
+var file_SummerTimeV2RestartDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2RestartDungeonReq_proto_init() }
+func file_SummerTimeV2RestartDungeonReq_proto_init() {
+ if File_SummerTimeV2RestartDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2RestartDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2RestartDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2RestartDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2RestartDungeonReq_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2RestartDungeonReq_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2RestartDungeonReq_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2RestartDungeonReq_proto = out.File
+ file_SummerTimeV2RestartDungeonReq_proto_rawDesc = nil
+ file_SummerTimeV2RestartDungeonReq_proto_goTypes = nil
+ file_SummerTimeV2RestartDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SummerTimeV2RestartDungeonRsp.pb.go b/protocol/proto/SummerTimeV2RestartDungeonRsp.pb.go
new file mode 100644
index 00000000..dd818357
--- /dev/null
+++ b/protocol/proto/SummerTimeV2RestartDungeonRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SummerTimeV2RestartDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8996
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SummerTimeV2RestartDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *SummerTimeV2RestartDungeonRsp) Reset() {
+ *x = SummerTimeV2RestartDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SummerTimeV2RestartDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SummerTimeV2RestartDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SummerTimeV2RestartDungeonRsp) ProtoMessage() {}
+
+func (x *SummerTimeV2RestartDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SummerTimeV2RestartDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SummerTimeV2RestartDungeonRsp.ProtoReflect.Descriptor instead.
+func (*SummerTimeV2RestartDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_SummerTimeV2RestartDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SummerTimeV2RestartDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_SummerTimeV2RestartDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_SummerTimeV2RestartDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x52, 0x65,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1d,
+ 0x53, 0x75, 0x6d, 0x6d, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x56, 0x32, 0x52, 0x65, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SummerTimeV2RestartDungeonRsp_proto_rawDescOnce sync.Once
+ file_SummerTimeV2RestartDungeonRsp_proto_rawDescData = file_SummerTimeV2RestartDungeonRsp_proto_rawDesc
+)
+
+func file_SummerTimeV2RestartDungeonRsp_proto_rawDescGZIP() []byte {
+ file_SummerTimeV2RestartDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_SummerTimeV2RestartDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SummerTimeV2RestartDungeonRsp_proto_rawDescData)
+ })
+ return file_SummerTimeV2RestartDungeonRsp_proto_rawDescData
+}
+
+var file_SummerTimeV2RestartDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SummerTimeV2RestartDungeonRsp_proto_goTypes = []interface{}{
+ (*SummerTimeV2RestartDungeonRsp)(nil), // 0: proto.SummerTimeV2RestartDungeonRsp
+}
+var file_SummerTimeV2RestartDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SummerTimeV2RestartDungeonRsp_proto_init() }
+func file_SummerTimeV2RestartDungeonRsp_proto_init() {
+ if File_SummerTimeV2RestartDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SummerTimeV2RestartDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SummerTimeV2RestartDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SummerTimeV2RestartDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SummerTimeV2RestartDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_SummerTimeV2RestartDungeonRsp_proto_depIdxs,
+ MessageInfos: file_SummerTimeV2RestartDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_SummerTimeV2RestartDungeonRsp_proto = out.File
+ file_SummerTimeV2RestartDungeonRsp_proto_rawDesc = nil
+ file_SummerTimeV2RestartDungeonRsp_proto_goTypes = nil
+ file_SummerTimeV2RestartDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoActivityDetailInfo.pb.go b/protocol/proto/SumoActivityDetailInfo.pb.go
new file mode 100644
index 00000000..4b54190a
--- /dev/null
+++ b/protocol/proto/SumoActivityDetailInfo.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SumoActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DifficultyId uint32 `protobuf:"varint,11,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ SumoStageMap map[uint32]*SumoStageData `protobuf:"bytes,13,rep,name=sumo_stage_map,json=sumoStageMap,proto3" json:"sumo_stage_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ LastStageId uint32 `protobuf:"varint,14,opt,name=last_stage_id,json=lastStageId,proto3" json:"last_stage_id,omitempty"`
+}
+
+func (x *SumoActivityDetailInfo) Reset() {
+ *x = SumoActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoActivityDetailInfo) ProtoMessage() {}
+
+func (x *SumoActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*SumoActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_SumoActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoActivityDetailInfo) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *SumoActivityDetailInfo) GetSumoStageMap() map[uint32]*SumoStageData {
+ if x != nil {
+ return x.SumoStageMap
+ }
+ return nil
+}
+
+func (x *SumoActivityDetailInfo) GetLastStageId() uint32 {
+ if x != nil {
+ return x.LastStageId
+ }
+ return 0
+}
+
+var File_SumoActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_SumoActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x02, 0x0a, 0x16, 0x53,
+ 0x75, 0x6d, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75,
+ 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69,
+ 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x75,
+ 0x6d, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x41,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x75, 0x6d, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61,
+ 0x70, 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x64, 0x1a, 0x55, 0x0a, 0x11, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_SumoActivityDetailInfo_proto_rawDescData = file_SumoActivityDetailInfo_proto_rawDesc
+)
+
+func file_SumoActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_SumoActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_SumoActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoActivityDetailInfo_proto_rawDescData)
+ })
+ return file_SumoActivityDetailInfo_proto_rawDescData
+}
+
+var file_SumoActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_SumoActivityDetailInfo_proto_goTypes = []interface{}{
+ (*SumoActivityDetailInfo)(nil), // 0: proto.SumoActivityDetailInfo
+ nil, // 1: proto.SumoActivityDetailInfo.SumoStageMapEntry
+ (*SumoStageData)(nil), // 2: proto.SumoStageData
+}
+var file_SumoActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoActivityDetailInfo.sumo_stage_map:type_name -> proto.SumoActivityDetailInfo.SumoStageMapEntry
+ 2, // 1: proto.SumoActivityDetailInfo.SumoStageMapEntry.value:type_name -> proto.SumoStageData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_SumoActivityDetailInfo_proto_init() }
+func file_SumoActivityDetailInfo_proto_init() {
+ if File_SumoActivityDetailInfo_proto != nil {
+ return
+ }
+ file_SumoStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_SumoActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_SumoActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_SumoActivityDetailInfo_proto = out.File
+ file_SumoActivityDetailInfo_proto_rawDesc = nil
+ file_SumoActivityDetailInfo_proto_goTypes = nil
+ file_SumoActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoAvatarInfo.pb.go b/protocol/proto/SumoAvatarInfo.pb.go
new file mode 100644
index 00000000..0463804d
--- /dev/null
+++ b/protocol/proto/SumoAvatarInfo.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SumoAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsTrial bool `protobuf:"varint,2,opt,name=is_trial,json=isTrial,proto3" json:"is_trial,omitempty"`
+ AvatarId uint64 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+}
+
+func (x *SumoAvatarInfo) Reset() {
+ *x = SumoAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoAvatarInfo) ProtoMessage() {}
+
+func (x *SumoAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoAvatarInfo.ProtoReflect.Descriptor instead.
+func (*SumoAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_SumoAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoAvatarInfo) GetIsTrial() bool {
+ if x != nil {
+ return x.IsTrial
+ }
+ return false
+}
+
+func (x *SumoAvatarInfo) GetAvatarId() uint64 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+var File_SumoAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_SumoAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x53, 0x75, 0x6d, 0x6f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a,
+ 0x0e, 0x53, 0x75, 0x6d, 0x6f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x07, 0x69, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoAvatarInfo_proto_rawDescOnce sync.Once
+ file_SumoAvatarInfo_proto_rawDescData = file_SumoAvatarInfo_proto_rawDesc
+)
+
+func file_SumoAvatarInfo_proto_rawDescGZIP() []byte {
+ file_SumoAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_SumoAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoAvatarInfo_proto_rawDescData)
+ })
+ return file_SumoAvatarInfo_proto_rawDescData
+}
+
+var file_SumoAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoAvatarInfo_proto_goTypes = []interface{}{
+ (*SumoAvatarInfo)(nil), // 0: proto.SumoAvatarInfo
+}
+var file_SumoAvatarInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SumoAvatarInfo_proto_init() }
+func file_SumoAvatarInfo_proto_init() {
+ if File_SumoAvatarInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SumoAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_SumoAvatarInfo_proto_depIdxs,
+ MessageInfos: file_SumoAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_SumoAvatarInfo_proto = out.File
+ file_SumoAvatarInfo_proto_rawDesc = nil
+ file_SumoAvatarInfo_proto_goTypes = nil
+ file_SumoAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoDungeonAvatar.pb.go b/protocol/proto/SumoDungeonAvatar.pb.go
new file mode 100644
index 00000000..124e3b9c
--- /dev/null
+++ b/protocol/proto/SumoDungeonAvatar.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoDungeonAvatar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SumoDungeonAvatar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,11,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ IsAlive bool `protobuf:"varint,13,opt,name=is_alive,json=isAlive,proto3" json:"is_alive,omitempty"`
+ IsTrial bool `protobuf:"varint,4,opt,name=is_trial,json=isTrial,proto3" json:"is_trial,omitempty"`
+}
+
+func (x *SumoDungeonAvatar) Reset() {
+ *x = SumoDungeonAvatar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoDungeonAvatar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoDungeonAvatar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoDungeonAvatar) ProtoMessage() {}
+
+func (x *SumoDungeonAvatar) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoDungeonAvatar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoDungeonAvatar.ProtoReflect.Descriptor instead.
+func (*SumoDungeonAvatar) Descriptor() ([]byte, []int) {
+ return file_SumoDungeonAvatar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoDungeonAvatar) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *SumoDungeonAvatar) GetIsAlive() bool {
+ if x != nil {
+ return x.IsAlive
+ }
+ return false
+}
+
+func (x *SumoDungeonAvatar) GetIsTrial() bool {
+ if x != nil {
+ return x.IsTrial
+ }
+ return false
+}
+
+var File_SumoDungeonAvatar_proto protoreflect.FileDescriptor
+
+var file_SumoDungeonAvatar_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x6a, 0x0a, 0x11, 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x67, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x69,
+ 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x6c, 0x69, 0x76,
+ 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoDungeonAvatar_proto_rawDescOnce sync.Once
+ file_SumoDungeonAvatar_proto_rawDescData = file_SumoDungeonAvatar_proto_rawDesc
+)
+
+func file_SumoDungeonAvatar_proto_rawDescGZIP() []byte {
+ file_SumoDungeonAvatar_proto_rawDescOnce.Do(func() {
+ file_SumoDungeonAvatar_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoDungeonAvatar_proto_rawDescData)
+ })
+ return file_SumoDungeonAvatar_proto_rawDescData
+}
+
+var file_SumoDungeonAvatar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoDungeonAvatar_proto_goTypes = []interface{}{
+ (*SumoDungeonAvatar)(nil), // 0: proto.SumoDungeonAvatar
+}
+var file_SumoDungeonAvatar_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SumoDungeonAvatar_proto_init() }
+func file_SumoDungeonAvatar_proto_init() {
+ if File_SumoDungeonAvatar_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SumoDungeonAvatar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoDungeonAvatar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoDungeonAvatar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoDungeonAvatar_proto_goTypes,
+ DependencyIndexes: file_SumoDungeonAvatar_proto_depIdxs,
+ MessageInfos: file_SumoDungeonAvatar_proto_msgTypes,
+ }.Build()
+ File_SumoDungeonAvatar_proto = out.File
+ file_SumoDungeonAvatar_proto_rawDesc = nil
+ file_SumoDungeonAvatar_proto_goTypes = nil
+ file_SumoDungeonAvatar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoDungeonSettleNotify.pb.go b/protocol/proto/SumoDungeonSettleNotify.pb.go
new file mode 100644
index 00000000..d38508a8
--- /dev/null
+++ b/protocol/proto/SumoDungeonSettleNotify.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoDungeonSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8291
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SumoDungeonSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FinalScore uint32 `protobuf:"varint,7,opt,name=final_score,json=finalScore,proto3" json:"final_score,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,14,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ KillEliteMonsterNum uint32 `protobuf:"varint,15,opt,name=kill_elite_monster_num,json=killEliteMonsterNum,proto3" json:"kill_elite_monster_num,omitempty"`
+ StageId uint32 `protobuf:"varint,12,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ KillMonsterNum uint32 `protobuf:"varint,4,opt,name=kill_monster_num,json=killMonsterNum,proto3" json:"kill_monster_num,omitempty"`
+ IsNewRecord bool `protobuf:"varint,5,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+}
+
+func (x *SumoDungeonSettleNotify) Reset() {
+ *x = SumoDungeonSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoDungeonSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoDungeonSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoDungeonSettleNotify) ProtoMessage() {}
+
+func (x *SumoDungeonSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoDungeonSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoDungeonSettleNotify.ProtoReflect.Descriptor instead.
+func (*SumoDungeonSettleNotify) Descriptor() ([]byte, []int) {
+ return file_SumoDungeonSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoDungeonSettleNotify) GetFinalScore() uint32 {
+ if x != nil {
+ return x.FinalScore
+ }
+ return 0
+}
+
+func (x *SumoDungeonSettleNotify) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *SumoDungeonSettleNotify) GetKillEliteMonsterNum() uint32 {
+ if x != nil {
+ return x.KillEliteMonsterNum
+ }
+ return 0
+}
+
+func (x *SumoDungeonSettleNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoDungeonSettleNotify) GetKillMonsterNum() uint32 {
+ if x != nil {
+ return x.KillMonsterNum
+ }
+ return 0
+}
+
+func (x *SumoDungeonSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+var File_SumoDungeonSettleNotify_proto protoreflect.FileDescriptor
+
+var file_SumoDungeonSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x17, 0x53, 0x75, 0x6d, 0x6f, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x5f, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e,
+ 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6b, 0x69, 0x6c, 0x6c, 0x45, 0x6c,
+ 0x69, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x69, 0x6c, 0x6c,
+ 0x5f, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x6b, 0x69, 0x6c, 0x6c, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e,
+ 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x65, 0x77,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoDungeonSettleNotify_proto_rawDescOnce sync.Once
+ file_SumoDungeonSettleNotify_proto_rawDescData = file_SumoDungeonSettleNotify_proto_rawDesc
+)
+
+func file_SumoDungeonSettleNotify_proto_rawDescGZIP() []byte {
+ file_SumoDungeonSettleNotify_proto_rawDescOnce.Do(func() {
+ file_SumoDungeonSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoDungeonSettleNotify_proto_rawDescData)
+ })
+ return file_SumoDungeonSettleNotify_proto_rawDescData
+}
+
+var file_SumoDungeonSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoDungeonSettleNotify_proto_goTypes = []interface{}{
+ (*SumoDungeonSettleNotify)(nil), // 0: proto.SumoDungeonSettleNotify
+}
+var file_SumoDungeonSettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SumoDungeonSettleNotify_proto_init() }
+func file_SumoDungeonSettleNotify_proto_init() {
+ if File_SumoDungeonSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SumoDungeonSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoDungeonSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoDungeonSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoDungeonSettleNotify_proto_goTypes,
+ DependencyIndexes: file_SumoDungeonSettleNotify_proto_depIdxs,
+ MessageInfos: file_SumoDungeonSettleNotify_proto_msgTypes,
+ }.Build()
+ File_SumoDungeonSettleNotify_proto = out.File
+ file_SumoDungeonSettleNotify_proto_rawDesc = nil
+ file_SumoDungeonSettleNotify_proto_goTypes = nil
+ file_SumoDungeonSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoDungeonTeam.pb.go b/protocol/proto/SumoDungeonTeam.pb.go
new file mode 100644
index 00000000..8c9305ac
--- /dev/null
+++ b/protocol/proto/SumoDungeonTeam.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoDungeonTeam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SumoDungeonTeam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DungeonAvatarList []*SumoDungeonAvatar `protobuf:"bytes,15,rep,name=dungeon_avatar_list,json=dungeonAvatarList,proto3" json:"dungeon_avatar_list,omitempty"`
+}
+
+func (x *SumoDungeonTeam) Reset() {
+ *x = SumoDungeonTeam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoDungeonTeam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoDungeonTeam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoDungeonTeam) ProtoMessage() {}
+
+func (x *SumoDungeonTeam) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoDungeonTeam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoDungeonTeam.ProtoReflect.Descriptor instead.
+func (*SumoDungeonTeam) Descriptor() ([]byte, []int) {
+ return file_SumoDungeonTeam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoDungeonTeam) GetDungeonAvatarList() []*SumoDungeonAvatar {
+ if x != nil {
+ return x.DungeonAvatarList
+ }
+ return nil
+}
+
+var File_SumoDungeonTeam_proto protoreflect.FileDescriptor
+
+var file_SumoDungeonTeam_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61,
+ 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17,
+ 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x0f, 0x53, 0x75, 0x6d, 0x6f, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x48, 0x0a, 0x13, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x52, 0x11, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoDungeonTeam_proto_rawDescOnce sync.Once
+ file_SumoDungeonTeam_proto_rawDescData = file_SumoDungeonTeam_proto_rawDesc
+)
+
+func file_SumoDungeonTeam_proto_rawDescGZIP() []byte {
+ file_SumoDungeonTeam_proto_rawDescOnce.Do(func() {
+ file_SumoDungeonTeam_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoDungeonTeam_proto_rawDescData)
+ })
+ return file_SumoDungeonTeam_proto_rawDescData
+}
+
+var file_SumoDungeonTeam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoDungeonTeam_proto_goTypes = []interface{}{
+ (*SumoDungeonTeam)(nil), // 0: proto.SumoDungeonTeam
+ (*SumoDungeonAvatar)(nil), // 1: proto.SumoDungeonAvatar
+}
+var file_SumoDungeonTeam_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoDungeonTeam.dungeon_avatar_list:type_name -> proto.SumoDungeonAvatar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoDungeonTeam_proto_init() }
+func file_SumoDungeonTeam_proto_init() {
+ if File_SumoDungeonTeam_proto != nil {
+ return
+ }
+ file_SumoDungeonAvatar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoDungeonTeam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoDungeonTeam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoDungeonTeam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoDungeonTeam_proto_goTypes,
+ DependencyIndexes: file_SumoDungeonTeam_proto_depIdxs,
+ MessageInfos: file_SumoDungeonTeam_proto_msgTypes,
+ }.Build()
+ File_SumoDungeonTeam_proto = out.File
+ file_SumoDungeonTeam_proto_rawDesc = nil
+ file_SumoDungeonTeam_proto_goTypes = nil
+ file_SumoDungeonTeam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoEnterDungeonNotify.pb.go b/protocol/proto/SumoEnterDungeonNotify.pb.go
new file mode 100644
index 00000000..6a40f99c
--- /dev/null
+++ b/protocol/proto/SumoEnterDungeonNotify.pb.go
@@ -0,0 +1,222 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoEnterDungeonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8013
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SumoEnterDungeonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,15,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ DungeonTeamList []*SumoDungeonTeam `protobuf:"bytes,11,rep,name=dungeon_team_list,json=dungeonTeamList,proto3" json:"dungeon_team_list,omitempty"`
+ NoSwitchPunishTime uint32 `protobuf:"varint,10,opt,name=no_switch_punish_time,json=noSwitchPunishTime,proto3" json:"no_switch_punish_time,omitempty"`
+ NextValidSwitchTime uint32 `protobuf:"varint,13,opt,name=next_valid_switch_time,json=nextValidSwitchTime,proto3" json:"next_valid_switch_time,omitempty"`
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ CurTeamIndex uint32 `protobuf:"varint,5,opt,name=cur_team_index,json=curTeamIndex,proto3" json:"cur_team_index,omitempty"`
+}
+
+func (x *SumoEnterDungeonNotify) Reset() {
+ *x = SumoEnterDungeonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoEnterDungeonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoEnterDungeonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoEnterDungeonNotify) ProtoMessage() {}
+
+func (x *SumoEnterDungeonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoEnterDungeonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoEnterDungeonNotify.ProtoReflect.Descriptor instead.
+func (*SumoEnterDungeonNotify) Descriptor() ([]byte, []int) {
+ return file_SumoEnterDungeonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoEnterDungeonNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *SumoEnterDungeonNotify) GetDungeonTeamList() []*SumoDungeonTeam {
+ if x != nil {
+ return x.DungeonTeamList
+ }
+ return nil
+}
+
+func (x *SumoEnterDungeonNotify) GetNoSwitchPunishTime() uint32 {
+ if x != nil {
+ return x.NoSwitchPunishTime
+ }
+ return 0
+}
+
+func (x *SumoEnterDungeonNotify) GetNextValidSwitchTime() uint32 {
+ if x != nil {
+ return x.NextValidSwitchTime
+ }
+ return 0
+}
+
+func (x *SumoEnterDungeonNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoEnterDungeonNotify) GetCurTeamIndex() uint32 {
+ if x != nil {
+ return x.CurTeamIndex
+ }
+ return 0
+}
+
+var File_SumoEnterDungeonNotify_proto protoreflect.FileDescriptor
+
+var file_SumoEnterDungeonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa6, 0x02, 0x0a,
+ 0x16, 0x53, 0x75, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x11, 0x64, 0x75, 0x6e, 0x67,
+ 0x65, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0f, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x15,
+ 0x6e, 0x6f, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x75, 0x6e, 0x69, 0x73, 0x68,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6e, 0x6f, 0x53,
+ 0x77, 0x69, 0x74, 0x63, 0x68, 0x50, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x33, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73, 0x77,
+ 0x69, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x13, 0x6e, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12,
+ 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d,
+ 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoEnterDungeonNotify_proto_rawDescOnce sync.Once
+ file_SumoEnterDungeonNotify_proto_rawDescData = file_SumoEnterDungeonNotify_proto_rawDesc
+)
+
+func file_SumoEnterDungeonNotify_proto_rawDescGZIP() []byte {
+ file_SumoEnterDungeonNotify_proto_rawDescOnce.Do(func() {
+ file_SumoEnterDungeonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoEnterDungeonNotify_proto_rawDescData)
+ })
+ return file_SumoEnterDungeonNotify_proto_rawDescData
+}
+
+var file_SumoEnterDungeonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoEnterDungeonNotify_proto_goTypes = []interface{}{
+ (*SumoEnterDungeonNotify)(nil), // 0: proto.SumoEnterDungeonNotify
+ (*SumoDungeonTeam)(nil), // 1: proto.SumoDungeonTeam
+}
+var file_SumoEnterDungeonNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoEnterDungeonNotify.dungeon_team_list:type_name -> proto.SumoDungeonTeam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoEnterDungeonNotify_proto_init() }
+func file_SumoEnterDungeonNotify_proto_init() {
+ if File_SumoEnterDungeonNotify_proto != nil {
+ return
+ }
+ file_SumoDungeonTeam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoEnterDungeonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoEnterDungeonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoEnterDungeonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoEnterDungeonNotify_proto_goTypes,
+ DependencyIndexes: file_SumoEnterDungeonNotify_proto_depIdxs,
+ MessageInfos: file_SumoEnterDungeonNotify_proto_msgTypes,
+ }.Build()
+ File_SumoEnterDungeonNotify_proto = out.File
+ file_SumoEnterDungeonNotify_proto_rawDesc = nil
+ file_SumoEnterDungeonNotify_proto_goTypes = nil
+ file_SumoEnterDungeonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoLeaveDungeonNotify.pb.go b/protocol/proto/SumoLeaveDungeonNotify.pb.go
new file mode 100644
index 00000000..74fe159a
--- /dev/null
+++ b/protocol/proto/SumoLeaveDungeonNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoLeaveDungeonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8640
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SumoLeaveDungeonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *SumoLeaveDungeonNotify) Reset() {
+ *x = SumoLeaveDungeonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoLeaveDungeonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoLeaveDungeonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoLeaveDungeonNotify) ProtoMessage() {}
+
+func (x *SumoLeaveDungeonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoLeaveDungeonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoLeaveDungeonNotify.ProtoReflect.Descriptor instead.
+func (*SumoLeaveDungeonNotify) Descriptor() ([]byte, []int) {
+ return file_SumoLeaveDungeonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SumoLeaveDungeonNotify_proto protoreflect.FileDescriptor
+
+var file_SumoLeaveDungeonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x53, 0x75, 0x6d, 0x6f, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x75, 0x6d, 0x6f, 0x4c, 0x65, 0x61,
+ 0x76, 0x65, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoLeaveDungeonNotify_proto_rawDescOnce sync.Once
+ file_SumoLeaveDungeonNotify_proto_rawDescData = file_SumoLeaveDungeonNotify_proto_rawDesc
+)
+
+func file_SumoLeaveDungeonNotify_proto_rawDescGZIP() []byte {
+ file_SumoLeaveDungeonNotify_proto_rawDescOnce.Do(func() {
+ file_SumoLeaveDungeonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoLeaveDungeonNotify_proto_rawDescData)
+ })
+ return file_SumoLeaveDungeonNotify_proto_rawDescData
+}
+
+var file_SumoLeaveDungeonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoLeaveDungeonNotify_proto_goTypes = []interface{}{
+ (*SumoLeaveDungeonNotify)(nil), // 0: proto.SumoLeaveDungeonNotify
+}
+var file_SumoLeaveDungeonNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SumoLeaveDungeonNotify_proto_init() }
+func file_SumoLeaveDungeonNotify_proto_init() {
+ if File_SumoLeaveDungeonNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SumoLeaveDungeonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoLeaveDungeonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoLeaveDungeonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoLeaveDungeonNotify_proto_goTypes,
+ DependencyIndexes: file_SumoLeaveDungeonNotify_proto_depIdxs,
+ MessageInfos: file_SumoLeaveDungeonNotify_proto_msgTypes,
+ }.Build()
+ File_SumoLeaveDungeonNotify_proto = out.File
+ file_SumoLeaveDungeonNotify_proto_rawDesc = nil
+ file_SumoLeaveDungeonNotify_proto_goTypes = nil
+ file_SumoLeaveDungeonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoRestartDungeonReq.pb.go b/protocol/proto/SumoRestartDungeonReq.pb.go
new file mode 100644
index 00000000..d63b65e4
--- /dev/null
+++ b/protocol/proto/SumoRestartDungeonReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoRestartDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8612
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SumoRestartDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *SumoRestartDungeonReq) Reset() {
+ *x = SumoRestartDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoRestartDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoRestartDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoRestartDungeonReq) ProtoMessage() {}
+
+func (x *SumoRestartDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoRestartDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoRestartDungeonReq.ProtoReflect.Descriptor instead.
+func (*SumoRestartDungeonReq) Descriptor() ([]byte, []int) {
+ return file_SumoRestartDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SumoRestartDungeonReq_proto protoreflect.FileDescriptor
+
+var file_SumoRestartDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x75, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x75, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_SumoRestartDungeonReq_proto_rawDescOnce sync.Once
+ file_SumoRestartDungeonReq_proto_rawDescData = file_SumoRestartDungeonReq_proto_rawDesc
+)
+
+func file_SumoRestartDungeonReq_proto_rawDescGZIP() []byte {
+ file_SumoRestartDungeonReq_proto_rawDescOnce.Do(func() {
+ file_SumoRestartDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoRestartDungeonReq_proto_rawDescData)
+ })
+ return file_SumoRestartDungeonReq_proto_rawDescData
+}
+
+var file_SumoRestartDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoRestartDungeonReq_proto_goTypes = []interface{}{
+ (*SumoRestartDungeonReq)(nil), // 0: proto.SumoRestartDungeonReq
+}
+var file_SumoRestartDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SumoRestartDungeonReq_proto_init() }
+func file_SumoRestartDungeonReq_proto_init() {
+ if File_SumoRestartDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SumoRestartDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoRestartDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoRestartDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoRestartDungeonReq_proto_goTypes,
+ DependencyIndexes: file_SumoRestartDungeonReq_proto_depIdxs,
+ MessageInfos: file_SumoRestartDungeonReq_proto_msgTypes,
+ }.Build()
+ File_SumoRestartDungeonReq_proto = out.File
+ file_SumoRestartDungeonReq_proto_rawDesc = nil
+ file_SumoRestartDungeonReq_proto_goTypes = nil
+ file_SumoRestartDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoRestartDungeonRsp.pb.go b/protocol/proto/SumoRestartDungeonRsp.pb.go
new file mode 100644
index 00000000..3848512a
--- /dev/null
+++ b/protocol/proto/SumoRestartDungeonRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoRestartDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8214
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SumoRestartDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DungeonId uint32 `protobuf:"varint,4,opt,name=dungeon_id,json=dungeonId,proto3" json:"dungeon_id,omitempty"`
+ PointId uint32 `protobuf:"varint,12,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+}
+
+func (x *SumoRestartDungeonRsp) Reset() {
+ *x = SumoRestartDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoRestartDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoRestartDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoRestartDungeonRsp) ProtoMessage() {}
+
+func (x *SumoRestartDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoRestartDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoRestartDungeonRsp.ProtoReflect.Descriptor instead.
+func (*SumoRestartDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_SumoRestartDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoRestartDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SumoRestartDungeonRsp) GetDungeonId() uint32 {
+ if x != nil {
+ return x.DungeonId
+ }
+ return 0
+}
+
+func (x *SumoRestartDungeonRsp) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+var File_SumoRestartDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_SumoRestartDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x53, 0x75, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x15, 0x53, 0x75, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoRestartDungeonRsp_proto_rawDescOnce sync.Once
+ file_SumoRestartDungeonRsp_proto_rawDescData = file_SumoRestartDungeonRsp_proto_rawDesc
+)
+
+func file_SumoRestartDungeonRsp_proto_rawDescGZIP() []byte {
+ file_SumoRestartDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_SumoRestartDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoRestartDungeonRsp_proto_rawDescData)
+ })
+ return file_SumoRestartDungeonRsp_proto_rawDescData
+}
+
+var file_SumoRestartDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoRestartDungeonRsp_proto_goTypes = []interface{}{
+ (*SumoRestartDungeonRsp)(nil), // 0: proto.SumoRestartDungeonRsp
+}
+var file_SumoRestartDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SumoRestartDungeonRsp_proto_init() }
+func file_SumoRestartDungeonRsp_proto_init() {
+ if File_SumoRestartDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SumoRestartDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoRestartDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoRestartDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoRestartDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_SumoRestartDungeonRsp_proto_depIdxs,
+ MessageInfos: file_SumoRestartDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_SumoRestartDungeonRsp_proto = out.File
+ file_SumoRestartDungeonRsp_proto_rawDesc = nil
+ file_SumoRestartDungeonRsp_proto_goTypes = nil
+ file_SumoRestartDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoSaveTeamReq.pb.go b/protocol/proto/SumoSaveTeamReq.pb.go
new file mode 100644
index 00000000..0c088ab6
--- /dev/null
+++ b/protocol/proto/SumoSaveTeamReq.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoSaveTeamReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8313
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SumoSaveTeamReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,11,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ StageId uint32 `protobuf:"varint,13,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,7,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ TeamList []*SumoTeamData `protobuf:"bytes,12,rep,name=team_list,json=teamList,proto3" json:"team_list,omitempty"`
+}
+
+func (x *SumoSaveTeamReq) Reset() {
+ *x = SumoSaveTeamReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoSaveTeamReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoSaveTeamReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoSaveTeamReq) ProtoMessage() {}
+
+func (x *SumoSaveTeamReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoSaveTeamReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoSaveTeamReq.ProtoReflect.Descriptor instead.
+func (*SumoSaveTeamReq) Descriptor() ([]byte, []int) {
+ return file_SumoSaveTeamReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoSaveTeamReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *SumoSaveTeamReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoSaveTeamReq) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *SumoSaveTeamReq) GetTeamList() []*SumoTeamData {
+ if x != nil {
+ return x.TeamList
+ }
+ return nil
+}
+
+var File_SumoSaveTeamReq_proto protoreflect.FileDescriptor
+
+var file_SumoSaveTeamReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12,
+ 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x54,
+ 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69,
+ 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoSaveTeamReq_proto_rawDescOnce sync.Once
+ file_SumoSaveTeamReq_proto_rawDescData = file_SumoSaveTeamReq_proto_rawDesc
+)
+
+func file_SumoSaveTeamReq_proto_rawDescGZIP() []byte {
+ file_SumoSaveTeamReq_proto_rawDescOnce.Do(func() {
+ file_SumoSaveTeamReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoSaveTeamReq_proto_rawDescData)
+ })
+ return file_SumoSaveTeamReq_proto_rawDescData
+}
+
+var file_SumoSaveTeamReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoSaveTeamReq_proto_goTypes = []interface{}{
+ (*SumoSaveTeamReq)(nil), // 0: proto.SumoSaveTeamReq
+ (*SumoTeamData)(nil), // 1: proto.SumoTeamData
+}
+var file_SumoSaveTeamReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoSaveTeamReq.team_list:type_name -> proto.SumoTeamData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoSaveTeamReq_proto_init() }
+func file_SumoSaveTeamReq_proto_init() {
+ if File_SumoSaveTeamReq_proto != nil {
+ return
+ }
+ file_SumoTeamData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoSaveTeamReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoSaveTeamReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoSaveTeamReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoSaveTeamReq_proto_goTypes,
+ DependencyIndexes: file_SumoSaveTeamReq_proto_depIdxs,
+ MessageInfos: file_SumoSaveTeamReq_proto_msgTypes,
+ }.Build()
+ File_SumoSaveTeamReq_proto = out.File
+ file_SumoSaveTeamReq_proto_rawDesc = nil
+ file_SumoSaveTeamReq_proto_goTypes = nil
+ file_SumoSaveTeamReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoSaveTeamRsp.pb.go b/protocol/proto/SumoSaveTeamRsp.pb.go
new file mode 100644
index 00000000..7c026dfc
--- /dev/null
+++ b/protocol/proto/SumoSaveTeamRsp.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoSaveTeamRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8319
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SumoSaveTeamRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ActivityId uint32 `protobuf:"varint,11,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ TeamList []*SumoTeamData `protobuf:"bytes,13,rep,name=team_list,json=teamList,proto3" json:"team_list,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,10,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+}
+
+func (x *SumoSaveTeamRsp) Reset() {
+ *x = SumoSaveTeamRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoSaveTeamRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoSaveTeamRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoSaveTeamRsp) ProtoMessage() {}
+
+func (x *SumoSaveTeamRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoSaveTeamRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoSaveTeamRsp.ProtoReflect.Descriptor instead.
+func (*SumoSaveTeamRsp) Descriptor() ([]byte, []int) {
+ return file_SumoSaveTeamRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoSaveTeamRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoSaveTeamRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SumoSaveTeamRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *SumoSaveTeamRsp) GetTeamList() []*SumoTeamData {
+ if x != nil {
+ return x.TeamList
+ }
+ return nil
+}
+
+func (x *SumoSaveTeamRsp) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+var File_SumoSaveTeamRsp_proto protoreflect.FileDescriptor
+
+var file_SumoSaveTeamRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12,
+ 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x0f, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x54,
+ 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x09,
+ 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d,
+ 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23,
+ 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoSaveTeamRsp_proto_rawDescOnce sync.Once
+ file_SumoSaveTeamRsp_proto_rawDescData = file_SumoSaveTeamRsp_proto_rawDesc
+)
+
+func file_SumoSaveTeamRsp_proto_rawDescGZIP() []byte {
+ file_SumoSaveTeamRsp_proto_rawDescOnce.Do(func() {
+ file_SumoSaveTeamRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoSaveTeamRsp_proto_rawDescData)
+ })
+ return file_SumoSaveTeamRsp_proto_rawDescData
+}
+
+var file_SumoSaveTeamRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoSaveTeamRsp_proto_goTypes = []interface{}{
+ (*SumoSaveTeamRsp)(nil), // 0: proto.SumoSaveTeamRsp
+ (*SumoTeamData)(nil), // 1: proto.SumoTeamData
+}
+var file_SumoSaveTeamRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoSaveTeamRsp.team_list:type_name -> proto.SumoTeamData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoSaveTeamRsp_proto_init() }
+func file_SumoSaveTeamRsp_proto_init() {
+ if File_SumoSaveTeamRsp_proto != nil {
+ return
+ }
+ file_SumoTeamData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoSaveTeamRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoSaveTeamRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoSaveTeamRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoSaveTeamRsp_proto_goTypes,
+ DependencyIndexes: file_SumoSaveTeamRsp_proto_depIdxs,
+ MessageInfos: file_SumoSaveTeamRsp_proto_msgTypes,
+ }.Build()
+ File_SumoSaveTeamRsp_proto = out.File
+ file_SumoSaveTeamRsp_proto_rawDesc = nil
+ file_SumoSaveTeamRsp_proto_goTypes = nil
+ file_SumoSaveTeamRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoSelectTeamAndEnterDungeonReq.pb.go b/protocol/proto/SumoSelectTeamAndEnterDungeonReq.pb.go
new file mode 100644
index 00000000..d8e82d53
--- /dev/null
+++ b/protocol/proto/SumoSelectTeamAndEnterDungeonReq.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoSelectTeamAndEnterDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8215
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SumoSelectTeamAndEnterDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,1,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,4,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ TeamList []*SumoTeamData `protobuf:"bytes,10,rep,name=team_list,json=teamList,proto3" json:"team_list,omitempty"`
+}
+
+func (x *SumoSelectTeamAndEnterDungeonReq) Reset() {
+ *x = SumoSelectTeamAndEnterDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoSelectTeamAndEnterDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoSelectTeamAndEnterDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoSelectTeamAndEnterDungeonReq) ProtoMessage() {}
+
+func (x *SumoSelectTeamAndEnterDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoSelectTeamAndEnterDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoSelectTeamAndEnterDungeonReq.ProtoReflect.Descriptor instead.
+func (*SumoSelectTeamAndEnterDungeonReq) Descriptor() ([]byte, []int) {
+ return file_SumoSelectTeamAndEnterDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoSelectTeamAndEnterDungeonReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *SumoSelectTeamAndEnterDungeonReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoSelectTeamAndEnterDungeonReq) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *SumoSelectTeamAndEnterDungeonReq) GetTeamList() []*SumoTeamData {
+ if x != nil {
+ return x.TeamList
+ }
+ return nil
+}
+
+var File_SumoSelectTeamAndEnterDungeonReq_proto protoreflect.FileDescriptor
+
+var file_SumoSelectTeamAndEnterDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d,
+ 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x12, 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x20, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66,
+ 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x74, 0x65, 0x61,
+ 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoSelectTeamAndEnterDungeonReq_proto_rawDescOnce sync.Once
+ file_SumoSelectTeamAndEnterDungeonReq_proto_rawDescData = file_SumoSelectTeamAndEnterDungeonReq_proto_rawDesc
+)
+
+func file_SumoSelectTeamAndEnterDungeonReq_proto_rawDescGZIP() []byte {
+ file_SumoSelectTeamAndEnterDungeonReq_proto_rawDescOnce.Do(func() {
+ file_SumoSelectTeamAndEnterDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoSelectTeamAndEnterDungeonReq_proto_rawDescData)
+ })
+ return file_SumoSelectTeamAndEnterDungeonReq_proto_rawDescData
+}
+
+var file_SumoSelectTeamAndEnterDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoSelectTeamAndEnterDungeonReq_proto_goTypes = []interface{}{
+ (*SumoSelectTeamAndEnterDungeonReq)(nil), // 0: proto.SumoSelectTeamAndEnterDungeonReq
+ (*SumoTeamData)(nil), // 1: proto.SumoTeamData
+}
+var file_SumoSelectTeamAndEnterDungeonReq_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoSelectTeamAndEnterDungeonReq.team_list:type_name -> proto.SumoTeamData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoSelectTeamAndEnterDungeonReq_proto_init() }
+func file_SumoSelectTeamAndEnterDungeonReq_proto_init() {
+ if File_SumoSelectTeamAndEnterDungeonReq_proto != nil {
+ return
+ }
+ file_SumoTeamData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoSelectTeamAndEnterDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoSelectTeamAndEnterDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoSelectTeamAndEnterDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoSelectTeamAndEnterDungeonReq_proto_goTypes,
+ DependencyIndexes: file_SumoSelectTeamAndEnterDungeonReq_proto_depIdxs,
+ MessageInfos: file_SumoSelectTeamAndEnterDungeonReq_proto_msgTypes,
+ }.Build()
+ File_SumoSelectTeamAndEnterDungeonReq_proto = out.File
+ file_SumoSelectTeamAndEnterDungeonReq_proto_rawDesc = nil
+ file_SumoSelectTeamAndEnterDungeonReq_proto_goTypes = nil
+ file_SumoSelectTeamAndEnterDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoSelectTeamAndEnterDungeonRsp.pb.go b/protocol/proto/SumoSelectTeamAndEnterDungeonRsp.pb.go
new file mode 100644
index 00000000..2c42cadc
--- /dev/null
+++ b/protocol/proto/SumoSelectTeamAndEnterDungeonRsp.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoSelectTeamAndEnterDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8193
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SumoSelectTeamAndEnterDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ActivityId uint32 `protobuf:"varint,14,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ DifficultyId uint32 `protobuf:"varint,12,opt,name=difficulty_id,json=difficultyId,proto3" json:"difficulty_id,omitempty"`
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ TeamList []*SumoTeamData `protobuf:"bytes,2,rep,name=team_list,json=teamList,proto3" json:"team_list,omitempty"`
+}
+
+func (x *SumoSelectTeamAndEnterDungeonRsp) Reset() {
+ *x = SumoSelectTeamAndEnterDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoSelectTeamAndEnterDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoSelectTeamAndEnterDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoSelectTeamAndEnterDungeonRsp) ProtoMessage() {}
+
+func (x *SumoSelectTeamAndEnterDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoSelectTeamAndEnterDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoSelectTeamAndEnterDungeonRsp.ProtoReflect.Descriptor instead.
+func (*SumoSelectTeamAndEnterDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoSelectTeamAndEnterDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SumoSelectTeamAndEnterDungeonRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *SumoSelectTeamAndEnterDungeonRsp) GetDifficultyId() uint32 {
+ if x != nil {
+ return x.DifficultyId
+ }
+ return 0
+}
+
+func (x *SumoSelectTeamAndEnterDungeonRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoSelectTeamAndEnterDungeonRsp) GetTeamList() []*SumoTeamData {
+ if x != nil {
+ return x.TeamList
+ }
+ return nil
+}
+
+var File_SumoSelectTeamAndEnterDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d,
+ 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x12, 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xcf, 0x01, 0x0a, 0x20, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x41, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x66, 0x66,
+ 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
+ 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x74, 0x65, 0x61,
+ 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDescOnce sync.Once
+ file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDescData = file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDesc
+)
+
+func file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDescGZIP() []byte {
+ file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDescData)
+ })
+ return file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDescData
+}
+
+var file_SumoSelectTeamAndEnterDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoSelectTeamAndEnterDungeonRsp_proto_goTypes = []interface{}{
+ (*SumoSelectTeamAndEnterDungeonRsp)(nil), // 0: proto.SumoSelectTeamAndEnterDungeonRsp
+ (*SumoTeamData)(nil), // 1: proto.SumoTeamData
+}
+var file_SumoSelectTeamAndEnterDungeonRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoSelectTeamAndEnterDungeonRsp.team_list:type_name -> proto.SumoTeamData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoSelectTeamAndEnterDungeonRsp_proto_init() }
+func file_SumoSelectTeamAndEnterDungeonRsp_proto_init() {
+ if File_SumoSelectTeamAndEnterDungeonRsp_proto != nil {
+ return
+ }
+ file_SumoTeamData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoSelectTeamAndEnterDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoSelectTeamAndEnterDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoSelectTeamAndEnterDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_SumoSelectTeamAndEnterDungeonRsp_proto_depIdxs,
+ MessageInfos: file_SumoSelectTeamAndEnterDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_SumoSelectTeamAndEnterDungeonRsp_proto = out.File
+ file_SumoSelectTeamAndEnterDungeonRsp_proto_rawDesc = nil
+ file_SumoSelectTeamAndEnterDungeonRsp_proto_goTypes = nil
+ file_SumoSelectTeamAndEnterDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoSetNoSwitchPunishTimeNotify.pb.go b/protocol/proto/SumoSetNoSwitchPunishTimeNotify.pb.go
new file mode 100644
index 00000000..dfd92cf2
--- /dev/null
+++ b/protocol/proto/SumoSetNoSwitchPunishTimeNotify.pb.go
@@ -0,0 +1,223 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoSetNoSwitchPunishTimeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8935
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SumoSetNoSwitchPunishTimeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurTeamIndex uint32 `protobuf:"varint,15,opt,name=cur_team_index,json=curTeamIndex,proto3" json:"cur_team_index,omitempty"`
+ StageId uint32 `protobuf:"varint,13,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ DungeonTeamList []*SumoDungeonTeam `protobuf:"bytes,11,rep,name=dungeon_team_list,json=dungeonTeamList,proto3" json:"dungeon_team_list,omitempty"`
+ NoSwitchPunishTime uint32 `protobuf:"varint,2,opt,name=no_switch_punish_time,json=noSwitchPunishTime,proto3" json:"no_switch_punish_time,omitempty"`
+ NextValidSwitchTime uint32 `protobuf:"varint,14,opt,name=next_valid_switch_time,json=nextValidSwitchTime,proto3" json:"next_valid_switch_time,omitempty"`
+ ActivityId uint32 `protobuf:"varint,9,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) Reset() {
+ *x = SumoSetNoSwitchPunishTimeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoSetNoSwitchPunishTimeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoSetNoSwitchPunishTimeNotify) ProtoMessage() {}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoSetNoSwitchPunishTimeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoSetNoSwitchPunishTimeNotify.ProtoReflect.Descriptor instead.
+func (*SumoSetNoSwitchPunishTimeNotify) Descriptor() ([]byte, []int) {
+ return file_SumoSetNoSwitchPunishTimeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) GetCurTeamIndex() uint32 {
+ if x != nil {
+ return x.CurTeamIndex
+ }
+ return 0
+}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) GetDungeonTeamList() []*SumoDungeonTeam {
+ if x != nil {
+ return x.DungeonTeamList
+ }
+ return nil
+}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) GetNoSwitchPunishTime() uint32 {
+ if x != nil {
+ return x.NoSwitchPunishTime
+ }
+ return 0
+}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) GetNextValidSwitchTime() uint32 {
+ if x != nil {
+ return x.NextValidSwitchTime
+ }
+ return 0
+}
+
+func (x *SumoSetNoSwitchPunishTimeNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_SumoSetNoSwitchPunishTimeNotify_proto protoreflect.FileDescriptor
+
+var file_SumoSetNoSwitchPunishTimeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x53, 0x77, 0x69, 0x74, 0x63,
+ 0x68, 0x50, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15,
+ 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x02, 0x0a, 0x1f, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x65,
+ 0x74, 0x4e, 0x6f, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x50, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x54,
+ 0x69, 0x6d, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72,
+ 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x11, 0x64, 0x75,
+ 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75,
+ 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0f, 0x64,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31,
+ 0x0a, 0x15, 0x6e, 0x6f, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x75, 0x6e, 0x69,
+ 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6e,
+ 0x6f, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x50, 0x75, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f,
+ 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x13, 0x6e, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x77, 0x69, 0x74,
+ 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoSetNoSwitchPunishTimeNotify_proto_rawDescOnce sync.Once
+ file_SumoSetNoSwitchPunishTimeNotify_proto_rawDescData = file_SumoSetNoSwitchPunishTimeNotify_proto_rawDesc
+)
+
+func file_SumoSetNoSwitchPunishTimeNotify_proto_rawDescGZIP() []byte {
+ file_SumoSetNoSwitchPunishTimeNotify_proto_rawDescOnce.Do(func() {
+ file_SumoSetNoSwitchPunishTimeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoSetNoSwitchPunishTimeNotify_proto_rawDescData)
+ })
+ return file_SumoSetNoSwitchPunishTimeNotify_proto_rawDescData
+}
+
+var file_SumoSetNoSwitchPunishTimeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoSetNoSwitchPunishTimeNotify_proto_goTypes = []interface{}{
+ (*SumoSetNoSwitchPunishTimeNotify)(nil), // 0: proto.SumoSetNoSwitchPunishTimeNotify
+ (*SumoDungeonTeam)(nil), // 1: proto.SumoDungeonTeam
+}
+var file_SumoSetNoSwitchPunishTimeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoSetNoSwitchPunishTimeNotify.dungeon_team_list:type_name -> proto.SumoDungeonTeam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoSetNoSwitchPunishTimeNotify_proto_init() }
+func file_SumoSetNoSwitchPunishTimeNotify_proto_init() {
+ if File_SumoSetNoSwitchPunishTimeNotify_proto != nil {
+ return
+ }
+ file_SumoDungeonTeam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoSetNoSwitchPunishTimeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoSetNoSwitchPunishTimeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoSetNoSwitchPunishTimeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoSetNoSwitchPunishTimeNotify_proto_goTypes,
+ DependencyIndexes: file_SumoSetNoSwitchPunishTimeNotify_proto_depIdxs,
+ MessageInfos: file_SumoSetNoSwitchPunishTimeNotify_proto_msgTypes,
+ }.Build()
+ File_SumoSetNoSwitchPunishTimeNotify_proto = out.File
+ file_SumoSetNoSwitchPunishTimeNotify_proto_rawDesc = nil
+ file_SumoSetNoSwitchPunishTimeNotify_proto_goTypes = nil
+ file_SumoSetNoSwitchPunishTimeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoStageData.pb.go b/protocol/proto/SumoStageData.pb.go
new file mode 100644
index 00000000..a62880bb
--- /dev/null
+++ b/protocol/proto/SumoStageData.pb.go
@@ -0,0 +1,203 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SumoStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaxScore uint32 `protobuf:"varint,1,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ OpenTime uint32 `protobuf:"varint,5,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ StageId uint32 `protobuf:"varint,3,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ TeamList []*SumoTeamData `protobuf:"bytes,7,rep,name=team_list,json=teamList,proto3" json:"team_list,omitempty"`
+ IsOpen bool `protobuf:"varint,11,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *SumoStageData) Reset() {
+ *x = SumoStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoStageData) ProtoMessage() {}
+
+func (x *SumoStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoStageData.ProtoReflect.Descriptor instead.
+func (*SumoStageData) Descriptor() ([]byte, []int) {
+ return file_SumoStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoStageData) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *SumoStageData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *SumoStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoStageData) GetTeamList() []*SumoTeamData {
+ if x != nil {
+ return x.TeamList
+ }
+ return nil
+}
+
+func (x *SumoStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_SumoStageData_proto protoreflect.FileDescriptor
+
+var file_SumoStageData_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x53, 0x75,
+ 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xaf, 0x01, 0x0a, 0x0d, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07,
+ 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x74, 0x65, 0x61, 0x6d, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x08, 0x74, 0x65, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f,
+ 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70,
+ 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoStageData_proto_rawDescOnce sync.Once
+ file_SumoStageData_proto_rawDescData = file_SumoStageData_proto_rawDesc
+)
+
+func file_SumoStageData_proto_rawDescGZIP() []byte {
+ file_SumoStageData_proto_rawDescOnce.Do(func() {
+ file_SumoStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoStageData_proto_rawDescData)
+ })
+ return file_SumoStageData_proto_rawDescData
+}
+
+var file_SumoStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoStageData_proto_goTypes = []interface{}{
+ (*SumoStageData)(nil), // 0: proto.SumoStageData
+ (*SumoTeamData)(nil), // 1: proto.SumoTeamData
+}
+var file_SumoStageData_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoStageData.team_list:type_name -> proto.SumoTeamData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoStageData_proto_init() }
+func file_SumoStageData_proto_init() {
+ if File_SumoStageData_proto != nil {
+ return
+ }
+ file_SumoTeamData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoStageData_proto_goTypes,
+ DependencyIndexes: file_SumoStageData_proto_depIdxs,
+ MessageInfos: file_SumoStageData_proto_msgTypes,
+ }.Build()
+ File_SumoStageData_proto = out.File
+ file_SumoStageData_proto_rawDesc = nil
+ file_SumoStageData_proto_goTypes = nil
+ file_SumoStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoSwitchTeamReq.pb.go b/protocol/proto/SumoSwitchTeamReq.pb.go
new file mode 100644
index 00000000..bae4e727
--- /dev/null
+++ b/protocol/proto/SumoSwitchTeamReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoSwitchTeamReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8351
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type SumoSwitchTeamReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,9,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ ActivityId uint32 `protobuf:"varint,5,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *SumoSwitchTeamReq) Reset() {
+ *x = SumoSwitchTeamReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoSwitchTeamReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoSwitchTeamReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoSwitchTeamReq) ProtoMessage() {}
+
+func (x *SumoSwitchTeamReq) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoSwitchTeamReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoSwitchTeamReq.ProtoReflect.Descriptor instead.
+func (*SumoSwitchTeamReq) Descriptor() ([]byte, []int) {
+ return file_SumoSwitchTeamReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoSwitchTeamReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *SumoSwitchTeamReq) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_SumoSwitchTeamReq_proto protoreflect.FileDescriptor
+
+var file_SumoSwitchTeamReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x4f, 0x0a, 0x11, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x65,
+ 0x61, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoSwitchTeamReq_proto_rawDescOnce sync.Once
+ file_SumoSwitchTeamReq_proto_rawDescData = file_SumoSwitchTeamReq_proto_rawDesc
+)
+
+func file_SumoSwitchTeamReq_proto_rawDescGZIP() []byte {
+ file_SumoSwitchTeamReq_proto_rawDescOnce.Do(func() {
+ file_SumoSwitchTeamReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoSwitchTeamReq_proto_rawDescData)
+ })
+ return file_SumoSwitchTeamReq_proto_rawDescData
+}
+
+var file_SumoSwitchTeamReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoSwitchTeamReq_proto_goTypes = []interface{}{
+ (*SumoSwitchTeamReq)(nil), // 0: proto.SumoSwitchTeamReq
+}
+var file_SumoSwitchTeamReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SumoSwitchTeamReq_proto_init() }
+func file_SumoSwitchTeamReq_proto_init() {
+ if File_SumoSwitchTeamReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_SumoSwitchTeamReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoSwitchTeamReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoSwitchTeamReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoSwitchTeamReq_proto_goTypes,
+ DependencyIndexes: file_SumoSwitchTeamReq_proto_depIdxs,
+ MessageInfos: file_SumoSwitchTeamReq_proto_msgTypes,
+ }.Build()
+ File_SumoSwitchTeamReq_proto = out.File
+ file_SumoSwitchTeamReq_proto_rawDesc = nil
+ file_SumoSwitchTeamReq_proto_goTypes = nil
+ file_SumoSwitchTeamReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoSwitchTeamRsp.pb.go b/protocol/proto/SumoSwitchTeamRsp.pb.go
new file mode 100644
index 00000000..4f212bda
--- /dev/null
+++ b/protocol/proto/SumoSwitchTeamRsp.pb.go
@@ -0,0 +1,220 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoSwitchTeamRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8525
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SumoSwitchTeamRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NextValidSwitchTime uint32 `protobuf:"varint,7,opt,name=next_valid_switch_time,json=nextValidSwitchTime,proto3" json:"next_valid_switch_time,omitempty"`
+ DungeonTeamList []*SumoDungeonTeam `protobuf:"bytes,10,rep,name=dungeon_team_list,json=dungeonTeamList,proto3" json:"dungeon_team_list,omitempty"`
+ ActivityId uint32 `protobuf:"varint,6,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CurTeamIndex uint32 `protobuf:"varint,11,opt,name=cur_team_index,json=curTeamIndex,proto3" json:"cur_team_index,omitempty"`
+ StageId uint32 `protobuf:"varint,5,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *SumoSwitchTeamRsp) Reset() {
+ *x = SumoSwitchTeamRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoSwitchTeamRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoSwitchTeamRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoSwitchTeamRsp) ProtoMessage() {}
+
+func (x *SumoSwitchTeamRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoSwitchTeamRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoSwitchTeamRsp.ProtoReflect.Descriptor instead.
+func (*SumoSwitchTeamRsp) Descriptor() ([]byte, []int) {
+ return file_SumoSwitchTeamRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoSwitchTeamRsp) GetNextValidSwitchTime() uint32 {
+ if x != nil {
+ return x.NextValidSwitchTime
+ }
+ return 0
+}
+
+func (x *SumoSwitchTeamRsp) GetDungeonTeamList() []*SumoDungeonTeam {
+ if x != nil {
+ return x.DungeonTeamList
+ }
+ return nil
+}
+
+func (x *SumoSwitchTeamRsp) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+func (x *SumoSwitchTeamRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *SumoSwitchTeamRsp) GetCurTeamIndex() uint32 {
+ if x != nil {
+ return x.CurTeamIndex
+ }
+ return 0
+}
+
+func (x *SumoSwitchTeamRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_SumoSwitchTeamRsp_proto protoreflect.FileDescriptor
+
+var file_SumoSwitchTeamRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x53, 0x75, 0x6d, 0x6f, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x15, 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61,
+ 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x02, 0x0a, 0x11, 0x53, 0x75, 0x6d, 0x6f,
+ 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x33, 0x0a,
+ 0x16, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x73, 0x77, 0x69, 0x74,
+ 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e,
+ 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x11, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x74, 0x65,
+ 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65,
+ 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x54, 0x65,
+ 0x61, 0x6d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoSwitchTeamRsp_proto_rawDescOnce sync.Once
+ file_SumoSwitchTeamRsp_proto_rawDescData = file_SumoSwitchTeamRsp_proto_rawDesc
+)
+
+func file_SumoSwitchTeamRsp_proto_rawDescGZIP() []byte {
+ file_SumoSwitchTeamRsp_proto_rawDescOnce.Do(func() {
+ file_SumoSwitchTeamRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoSwitchTeamRsp_proto_rawDescData)
+ })
+ return file_SumoSwitchTeamRsp_proto_rawDescData
+}
+
+var file_SumoSwitchTeamRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoSwitchTeamRsp_proto_goTypes = []interface{}{
+ (*SumoSwitchTeamRsp)(nil), // 0: proto.SumoSwitchTeamRsp
+ (*SumoDungeonTeam)(nil), // 1: proto.SumoDungeonTeam
+}
+var file_SumoSwitchTeamRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoSwitchTeamRsp.dungeon_team_list:type_name -> proto.SumoDungeonTeam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoSwitchTeamRsp_proto_init() }
+func file_SumoSwitchTeamRsp_proto_init() {
+ if File_SumoSwitchTeamRsp_proto != nil {
+ return
+ }
+ file_SumoDungeonTeam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoSwitchTeamRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoSwitchTeamRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoSwitchTeamRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoSwitchTeamRsp_proto_goTypes,
+ DependencyIndexes: file_SumoSwitchTeamRsp_proto_depIdxs,
+ MessageInfos: file_SumoSwitchTeamRsp_proto_msgTypes,
+ }.Build()
+ File_SumoSwitchTeamRsp_proto = out.File
+ file_SumoSwitchTeamRsp_proto_rawDesc = nil
+ file_SumoSwitchTeamRsp_proto_goTypes = nil
+ file_SumoSwitchTeamRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SumoTeamData.pb.go b/protocol/proto/SumoTeamData.pb.go
new file mode 100644
index 00000000..684a15af
--- /dev/null
+++ b/protocol/proto/SumoTeamData.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SumoTeamData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SumoTeamData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SkillIdList []uint32 `protobuf:"varint,14,rep,packed,name=skill_id_list,json=skillIdList,proto3" json:"skill_id_list,omitempty"`
+ AvatarInfoList []*SumoAvatarInfo `protobuf:"bytes,3,rep,name=avatar_info_list,json=avatarInfoList,proto3" json:"avatar_info_list,omitempty"`
+}
+
+func (x *SumoTeamData) Reset() {
+ *x = SumoTeamData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SumoTeamData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SumoTeamData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SumoTeamData) ProtoMessage() {}
+
+func (x *SumoTeamData) ProtoReflect() protoreflect.Message {
+ mi := &file_SumoTeamData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SumoTeamData.ProtoReflect.Descriptor instead.
+func (*SumoTeamData) Descriptor() ([]byte, []int) {
+ return file_SumoTeamData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SumoTeamData) GetSkillIdList() []uint32 {
+ if x != nil {
+ return x.SkillIdList
+ }
+ return nil
+}
+
+func (x *SumoTeamData) GetAvatarInfoList() []*SumoAvatarInfo {
+ if x != nil {
+ return x.AvatarInfoList
+ }
+ return nil
+}
+
+var File_SumoTeamData_proto protoreflect.FileDescriptor
+
+var file_SumoTeamData_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x53, 0x75, 0x6d,
+ 0x6f, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x73, 0x0a, 0x0c, 0x53, 0x75, 0x6d, 0x6f, 0x54, 0x65, 0x61, 0x6d, 0x44, 0x61, 0x74,
+ 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x10, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x75, 0x6d, 0x6f, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SumoTeamData_proto_rawDescOnce sync.Once
+ file_SumoTeamData_proto_rawDescData = file_SumoTeamData_proto_rawDesc
+)
+
+func file_SumoTeamData_proto_rawDescGZIP() []byte {
+ file_SumoTeamData_proto_rawDescOnce.Do(func() {
+ file_SumoTeamData_proto_rawDescData = protoimpl.X.CompressGZIP(file_SumoTeamData_proto_rawDescData)
+ })
+ return file_SumoTeamData_proto_rawDescData
+}
+
+var file_SumoTeamData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SumoTeamData_proto_goTypes = []interface{}{
+ (*SumoTeamData)(nil), // 0: proto.SumoTeamData
+ (*SumoAvatarInfo)(nil), // 1: proto.SumoAvatarInfo
+}
+var file_SumoTeamData_proto_depIdxs = []int32{
+ 1, // 0: proto.SumoTeamData.avatar_info_list:type_name -> proto.SumoAvatarInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SumoTeamData_proto_init() }
+func file_SumoTeamData_proto_init() {
+ if File_SumoTeamData_proto != nil {
+ return
+ }
+ file_SumoAvatarInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SumoTeamData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SumoTeamData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SumoTeamData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SumoTeamData_proto_goTypes,
+ DependencyIndexes: file_SumoTeamData_proto_depIdxs,
+ MessageInfos: file_SumoTeamData_proto_msgTypes,
+ }.Build()
+ File_SumoTeamData_proto = out.File
+ file_SumoTeamData_proto_rawDesc = nil
+ file_SumoTeamData_proto_goTypes = nil
+ file_SumoTeamData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SvrMsgId.pb.go b/protocol/proto/SvrMsgId.pb.go
new file mode 100644
index 00000000..8832993c
--- /dev/null
+++ b/protocol/proto/SvrMsgId.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SvrMsgId.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type SvrMsgId int32
+
+const (
+ SvrMsgId_SVR_MSG_ID_UNKNOWN SvrMsgId = 0
+ SvrMsgId_SVR_MSG_ID_BLOCK_REFRESH_COUNTDOWN SvrMsgId = 1
+ SvrMsgId_SVR_MSG_ID_AVATAR_REVIVE_BY_STATUE SvrMsgId = 2
+ SvrMsgId_SVR_MSG_ID_DAILY_TASK_REWARD_MAX_NUM SvrMsgId = 3
+ SvrMsgId_SVR_MSG_ID_ROUTINE_TYPE_NOT_OPEN SvrMsgId = 4
+ SvrMsgId_SVR_MSG_ID_ROUTINE_TYPE_REWARD_MAX_NUM SvrMsgId = 5
+ SvrMsgId_SVR_MSG_ID_MECHANICUS_COIN_LIMIT SvrMsgId = 6
+)
+
+// Enum value maps for SvrMsgId.
+var (
+ SvrMsgId_name = map[int32]string{
+ 0: "SVR_MSG_ID_UNKNOWN",
+ 1: "SVR_MSG_ID_BLOCK_REFRESH_COUNTDOWN",
+ 2: "SVR_MSG_ID_AVATAR_REVIVE_BY_STATUE",
+ 3: "SVR_MSG_ID_DAILY_TASK_REWARD_MAX_NUM",
+ 4: "SVR_MSG_ID_ROUTINE_TYPE_NOT_OPEN",
+ 5: "SVR_MSG_ID_ROUTINE_TYPE_REWARD_MAX_NUM",
+ 6: "SVR_MSG_ID_MECHANICUS_COIN_LIMIT",
+ }
+ SvrMsgId_value = map[string]int32{
+ "SVR_MSG_ID_UNKNOWN": 0,
+ "SVR_MSG_ID_BLOCK_REFRESH_COUNTDOWN": 1,
+ "SVR_MSG_ID_AVATAR_REVIVE_BY_STATUE": 2,
+ "SVR_MSG_ID_DAILY_TASK_REWARD_MAX_NUM": 3,
+ "SVR_MSG_ID_ROUTINE_TYPE_NOT_OPEN": 4,
+ "SVR_MSG_ID_ROUTINE_TYPE_REWARD_MAX_NUM": 5,
+ "SVR_MSG_ID_MECHANICUS_COIN_LIMIT": 6,
+ }
+)
+
+func (x SvrMsgId) Enum() *SvrMsgId {
+ p := new(SvrMsgId)
+ *p = x
+ return p
+}
+
+func (x SvrMsgId) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (SvrMsgId) Descriptor() protoreflect.EnumDescriptor {
+ return file_SvrMsgId_proto_enumTypes[0].Descriptor()
+}
+
+func (SvrMsgId) Type() protoreflect.EnumType {
+ return &file_SvrMsgId_proto_enumTypes[0]
+}
+
+func (x SvrMsgId) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use SvrMsgId.Descriptor instead.
+func (SvrMsgId) EnumDescriptor() ([]byte, []int) {
+ return file_SvrMsgId_proto_rawDescGZIP(), []int{0}
+}
+
+var File_SvrMsgId_proto protoreflect.FileDescriptor
+
+var file_SvrMsgId_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x53, 0x76, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x94, 0x02, 0x0a, 0x08, 0x53, 0x76, 0x72, 0x4d,
+ 0x73, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x52, 0x5f, 0x4d, 0x53, 0x47, 0x5f,
+ 0x49, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22,
+ 0x53, 0x56, 0x52, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x49, 0x44, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b,
+ 0x5f, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x44, 0x4f,
+ 0x57, 0x4e, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x56, 0x52, 0x5f, 0x4d, 0x53, 0x47, 0x5f,
+ 0x49, 0x44, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x56, 0x45,
+ 0x5f, 0x42, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x45, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24,
+ 0x53, 0x56, 0x52, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x49, 0x4c, 0x59,
+ 0x5f, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4d, 0x41, 0x58,
+ 0x5f, 0x4e, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x56, 0x52, 0x5f, 0x4d, 0x53,
+ 0x47, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26,
+ 0x53, 0x56, 0x52, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x49, 0x44, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49,
+ 0x4e, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4d,
+ 0x41, 0x58, 0x5f, 0x4e, 0x55, 0x4d, 0x10, 0x05, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x56, 0x52, 0x5f,
+ 0x4d, 0x53, 0x47, 0x5f, 0x49, 0x44, 0x5f, 0x4d, 0x45, 0x43, 0x48, 0x41, 0x4e, 0x49, 0x43, 0x55,
+ 0x53, 0x5f, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x06, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_SvrMsgId_proto_rawDescOnce sync.Once
+ file_SvrMsgId_proto_rawDescData = file_SvrMsgId_proto_rawDesc
+)
+
+func file_SvrMsgId_proto_rawDescGZIP() []byte {
+ file_SvrMsgId_proto_rawDescOnce.Do(func() {
+ file_SvrMsgId_proto_rawDescData = protoimpl.X.CompressGZIP(file_SvrMsgId_proto_rawDescData)
+ })
+ return file_SvrMsgId_proto_rawDescData
+}
+
+var file_SvrMsgId_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_SvrMsgId_proto_goTypes = []interface{}{
+ (SvrMsgId)(0), // 0: proto.SvrMsgId
+}
+var file_SvrMsgId_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_SvrMsgId_proto_init() }
+func file_SvrMsgId_proto_init() {
+ if File_SvrMsgId_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SvrMsgId_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SvrMsgId_proto_goTypes,
+ DependencyIndexes: file_SvrMsgId_proto_depIdxs,
+ EnumInfos: file_SvrMsgId_proto_enumTypes,
+ }.Build()
+ File_SvrMsgId_proto = out.File
+ file_SvrMsgId_proto_rawDesc = nil
+ file_SvrMsgId_proto_goTypes = nil
+ file_SvrMsgId_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SyncScenePlayTeamEntityNotify.pb.go b/protocol/proto/SyncScenePlayTeamEntityNotify.pb.go
new file mode 100644
index 00000000..2bbd7c20
--- /dev/null
+++ b/protocol/proto/SyncScenePlayTeamEntityNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SyncScenePlayTeamEntityNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3333
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SyncScenePlayTeamEntityNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,2,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ EntityInfoList []*PlayTeamEntityInfo `protobuf:"bytes,3,rep,name=entity_info_list,json=entityInfoList,proto3" json:"entity_info_list,omitempty"`
+}
+
+func (x *SyncScenePlayTeamEntityNotify) Reset() {
+ *x = SyncScenePlayTeamEntityNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SyncScenePlayTeamEntityNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SyncScenePlayTeamEntityNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SyncScenePlayTeamEntityNotify) ProtoMessage() {}
+
+func (x *SyncScenePlayTeamEntityNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SyncScenePlayTeamEntityNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SyncScenePlayTeamEntityNotify.ProtoReflect.Descriptor instead.
+func (*SyncScenePlayTeamEntityNotify) Descriptor() ([]byte, []int) {
+ return file_SyncScenePlayTeamEntityNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SyncScenePlayTeamEntityNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *SyncScenePlayTeamEntityNotify) GetEntityInfoList() []*PlayTeamEntityInfo {
+ if x != nil {
+ return x.EntityInfoList
+ }
+ return nil
+}
+
+var File_SyncScenePlayTeamEntityNotify_proto protoreflect.FileDescriptor
+
+var file_SyncScenePlayTeamEntityNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x54,
+ 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x50, 0x6c,
+ 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x1d, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x63,
+ 0x65, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65,
+ 0x49, 0x64, 0x12, 0x43, 0x0a, 0x10, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SyncScenePlayTeamEntityNotify_proto_rawDescOnce sync.Once
+ file_SyncScenePlayTeamEntityNotify_proto_rawDescData = file_SyncScenePlayTeamEntityNotify_proto_rawDesc
+)
+
+func file_SyncScenePlayTeamEntityNotify_proto_rawDescGZIP() []byte {
+ file_SyncScenePlayTeamEntityNotify_proto_rawDescOnce.Do(func() {
+ file_SyncScenePlayTeamEntityNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SyncScenePlayTeamEntityNotify_proto_rawDescData)
+ })
+ return file_SyncScenePlayTeamEntityNotify_proto_rawDescData
+}
+
+var file_SyncScenePlayTeamEntityNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SyncScenePlayTeamEntityNotify_proto_goTypes = []interface{}{
+ (*SyncScenePlayTeamEntityNotify)(nil), // 0: proto.SyncScenePlayTeamEntityNotify
+ (*PlayTeamEntityInfo)(nil), // 1: proto.PlayTeamEntityInfo
+}
+var file_SyncScenePlayTeamEntityNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SyncScenePlayTeamEntityNotify.entity_info_list:type_name -> proto.PlayTeamEntityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SyncScenePlayTeamEntityNotify_proto_init() }
+func file_SyncScenePlayTeamEntityNotify_proto_init() {
+ if File_SyncScenePlayTeamEntityNotify_proto != nil {
+ return
+ }
+ file_PlayTeamEntityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SyncScenePlayTeamEntityNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SyncScenePlayTeamEntityNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SyncScenePlayTeamEntityNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SyncScenePlayTeamEntityNotify_proto_goTypes,
+ DependencyIndexes: file_SyncScenePlayTeamEntityNotify_proto_depIdxs,
+ MessageInfos: file_SyncScenePlayTeamEntityNotify_proto_msgTypes,
+ }.Build()
+ File_SyncScenePlayTeamEntityNotify_proto = out.File
+ file_SyncScenePlayTeamEntityNotify_proto_rawDesc = nil
+ file_SyncScenePlayTeamEntityNotify_proto_goTypes = nil
+ file_SyncScenePlayTeamEntityNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/SyncTeamEntityNotify.pb.go b/protocol/proto/SyncTeamEntityNotify.pb.go
new file mode 100644
index 00000000..f7780c29
--- /dev/null
+++ b/protocol/proto/SyncTeamEntityNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: SyncTeamEntityNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 317
+// EnetChannelId: 0
+// EnetIsReliable: true
+type SyncTeamEntityNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SceneId uint32 `protobuf:"varint,13,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ TeamEntityInfoList []*TeamEntityInfo `protobuf:"bytes,15,rep,name=team_entity_info_list,json=teamEntityInfoList,proto3" json:"team_entity_info_list,omitempty"`
+}
+
+func (x *SyncTeamEntityNotify) Reset() {
+ *x = SyncTeamEntityNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_SyncTeamEntityNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *SyncTeamEntityNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*SyncTeamEntityNotify) ProtoMessage() {}
+
+func (x *SyncTeamEntityNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_SyncTeamEntityNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use SyncTeamEntityNotify.ProtoReflect.Descriptor instead.
+func (*SyncTeamEntityNotify) Descriptor() ([]byte, []int) {
+ return file_SyncTeamEntityNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *SyncTeamEntityNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *SyncTeamEntityNotify) GetTeamEntityInfoList() []*TeamEntityInfo {
+ if x != nil {
+ return x.TeamEntityInfoList
+ }
+ return nil
+}
+
+var File_SyncTeamEntityNotify_proto protoreflect.FileDescriptor
+
+var file_SyncTeamEntityNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x14, 0x53, 0x79, 0x6e,
+ 0x63, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x15,
+ 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x12, 0x74, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_SyncTeamEntityNotify_proto_rawDescOnce sync.Once
+ file_SyncTeamEntityNotify_proto_rawDescData = file_SyncTeamEntityNotify_proto_rawDesc
+)
+
+func file_SyncTeamEntityNotify_proto_rawDescGZIP() []byte {
+ file_SyncTeamEntityNotify_proto_rawDescOnce.Do(func() {
+ file_SyncTeamEntityNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_SyncTeamEntityNotify_proto_rawDescData)
+ })
+ return file_SyncTeamEntityNotify_proto_rawDescData
+}
+
+var file_SyncTeamEntityNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_SyncTeamEntityNotify_proto_goTypes = []interface{}{
+ (*SyncTeamEntityNotify)(nil), // 0: proto.SyncTeamEntityNotify
+ (*TeamEntityInfo)(nil), // 1: proto.TeamEntityInfo
+}
+var file_SyncTeamEntityNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.SyncTeamEntityNotify.team_entity_info_list:type_name -> proto.TeamEntityInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_SyncTeamEntityNotify_proto_init() }
+func file_SyncTeamEntityNotify_proto_init() {
+ if File_SyncTeamEntityNotify_proto != nil {
+ return
+ }
+ file_TeamEntityInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_SyncTeamEntityNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*SyncTeamEntityNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_SyncTeamEntityNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_SyncTeamEntityNotify_proto_goTypes,
+ DependencyIndexes: file_SyncTeamEntityNotify_proto_depIdxs,
+ MessageInfos: file_SyncTeamEntityNotify_proto_msgTypes,
+ }.Build()
+ File_SyncTeamEntityNotify_proto = out.File
+ file_SyncTeamEntityNotify_proto_rawDesc = nil
+ file_SyncTeamEntityNotify_proto_goTypes = nil
+ file_SyncTeamEntityNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeAchievementGoalRewardReq.pb.go b/protocol/proto/TakeAchievementGoalRewardReq.pb.go
new file mode 100644
index 00000000..35ce4827
--- /dev/null
+++ b/protocol/proto/TakeAchievementGoalRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeAchievementGoalRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2652
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeAchievementGoalRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IdList []uint32 `protobuf:"varint,5,rep,packed,name=id_list,json=idList,proto3" json:"id_list,omitempty"`
+}
+
+func (x *TakeAchievementGoalRewardReq) Reset() {
+ *x = TakeAchievementGoalRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeAchievementGoalRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeAchievementGoalRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeAchievementGoalRewardReq) ProtoMessage() {}
+
+func (x *TakeAchievementGoalRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeAchievementGoalRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeAchievementGoalRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeAchievementGoalRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeAchievementGoalRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeAchievementGoalRewardReq) GetIdList() []uint32 {
+ if x != nil {
+ return x.IdList
+ }
+ return nil
+}
+
+var File_TakeAchievementGoalRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeAchievementGoalRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x1c, 0x54,
+ 0x61, 0x6b, 0x65, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x47, 0x6f,
+ 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x69,
+ 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x64,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeAchievementGoalRewardReq_proto_rawDescOnce sync.Once
+ file_TakeAchievementGoalRewardReq_proto_rawDescData = file_TakeAchievementGoalRewardReq_proto_rawDesc
+)
+
+func file_TakeAchievementGoalRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeAchievementGoalRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeAchievementGoalRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeAchievementGoalRewardReq_proto_rawDescData)
+ })
+ return file_TakeAchievementGoalRewardReq_proto_rawDescData
+}
+
+var file_TakeAchievementGoalRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeAchievementGoalRewardReq_proto_goTypes = []interface{}{
+ (*TakeAchievementGoalRewardReq)(nil), // 0: proto.TakeAchievementGoalRewardReq
+}
+var file_TakeAchievementGoalRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeAchievementGoalRewardReq_proto_init() }
+func file_TakeAchievementGoalRewardReq_proto_init() {
+ if File_TakeAchievementGoalRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeAchievementGoalRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeAchievementGoalRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeAchievementGoalRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeAchievementGoalRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeAchievementGoalRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeAchievementGoalRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeAchievementGoalRewardReq_proto = out.File
+ file_TakeAchievementGoalRewardReq_proto_rawDesc = nil
+ file_TakeAchievementGoalRewardReq_proto_goTypes = nil
+ file_TakeAchievementGoalRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeAchievementGoalRewardRsp.pb.go b/protocol/proto/TakeAchievementGoalRewardRsp.pb.go
new file mode 100644
index 00000000..c4ff9d94
--- /dev/null
+++ b/protocol/proto/TakeAchievementGoalRewardRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeAchievementGoalRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2681
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeAchievementGoalRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ IdList []uint32 `protobuf:"varint,12,rep,packed,name=id_list,json=idList,proto3" json:"id_list,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,5,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *TakeAchievementGoalRewardRsp) Reset() {
+ *x = TakeAchievementGoalRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeAchievementGoalRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeAchievementGoalRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeAchievementGoalRewardRsp) ProtoMessage() {}
+
+func (x *TakeAchievementGoalRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeAchievementGoalRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeAchievementGoalRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeAchievementGoalRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeAchievementGoalRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeAchievementGoalRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeAchievementGoalRewardRsp) GetIdList() []uint32 {
+ if x != nil {
+ return x.IdList
+ }
+ return nil
+}
+
+func (x *TakeAchievementGoalRewardRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_TakeAchievementGoalRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeAchievementGoalRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x47, 0x6f, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x01, 0x0a,
+ 0x1c, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74,
+ 0x47, 0x6f, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeAchievementGoalRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeAchievementGoalRewardRsp_proto_rawDescData = file_TakeAchievementGoalRewardRsp_proto_rawDesc
+)
+
+func file_TakeAchievementGoalRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeAchievementGoalRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeAchievementGoalRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeAchievementGoalRewardRsp_proto_rawDescData)
+ })
+ return file_TakeAchievementGoalRewardRsp_proto_rawDescData
+}
+
+var file_TakeAchievementGoalRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeAchievementGoalRewardRsp_proto_goTypes = []interface{}{
+ (*TakeAchievementGoalRewardRsp)(nil), // 0: proto.TakeAchievementGoalRewardRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_TakeAchievementGoalRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeAchievementGoalRewardRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeAchievementGoalRewardRsp_proto_init() }
+func file_TakeAchievementGoalRewardRsp_proto_init() {
+ if File_TakeAchievementGoalRewardRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeAchievementGoalRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeAchievementGoalRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeAchievementGoalRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeAchievementGoalRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeAchievementGoalRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeAchievementGoalRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeAchievementGoalRewardRsp_proto = out.File
+ file_TakeAchievementGoalRewardRsp_proto_rawDesc = nil
+ file_TakeAchievementGoalRewardRsp_proto_goTypes = nil
+ file_TakeAchievementGoalRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeAchievementRewardReq.pb.go b/protocol/proto/TakeAchievementRewardReq.pb.go
new file mode 100644
index 00000000..8d58aa96
--- /dev/null
+++ b/protocol/proto/TakeAchievementRewardReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeAchievementRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2675
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeAchievementRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IdList []uint32 `protobuf:"varint,13,rep,packed,name=id_list,json=idList,proto3" json:"id_list,omitempty"`
+}
+
+func (x *TakeAchievementRewardReq) Reset() {
+ *x = TakeAchievementRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeAchievementRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeAchievementRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeAchievementRewardReq) ProtoMessage() {}
+
+func (x *TakeAchievementRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeAchievementRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeAchievementRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeAchievementRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeAchievementRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeAchievementRewardReq) GetIdList() []uint32 {
+ if x != nil {
+ return x.IdList
+ }
+ return nil
+}
+
+var File_TakeAchievementRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeAchievementRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x18, 0x54, 0x61, 0x6b, 0x65, 0x41,
+ 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeAchievementRewardReq_proto_rawDescOnce sync.Once
+ file_TakeAchievementRewardReq_proto_rawDescData = file_TakeAchievementRewardReq_proto_rawDesc
+)
+
+func file_TakeAchievementRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeAchievementRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeAchievementRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeAchievementRewardReq_proto_rawDescData)
+ })
+ return file_TakeAchievementRewardReq_proto_rawDescData
+}
+
+var file_TakeAchievementRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeAchievementRewardReq_proto_goTypes = []interface{}{
+ (*TakeAchievementRewardReq)(nil), // 0: proto.TakeAchievementRewardReq
+}
+var file_TakeAchievementRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeAchievementRewardReq_proto_init() }
+func file_TakeAchievementRewardReq_proto_init() {
+ if File_TakeAchievementRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeAchievementRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeAchievementRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeAchievementRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeAchievementRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeAchievementRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeAchievementRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeAchievementRewardReq_proto = out.File
+ file_TakeAchievementRewardReq_proto_rawDesc = nil
+ file_TakeAchievementRewardReq_proto_goTypes = nil
+ file_TakeAchievementRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeAchievementRewardRsp.pb.go b/protocol/proto/TakeAchievementRewardRsp.pb.go
new file mode 100644
index 00000000..ea130d64
--- /dev/null
+++ b/protocol/proto/TakeAchievementRewardRsp.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeAchievementRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2657
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeAchievementRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IdList []uint32 `protobuf:"varint,7,rep,packed,name=id_list,json=idList,proto3" json:"id_list,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,10,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeAchievementRewardRsp) Reset() {
+ *x = TakeAchievementRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeAchievementRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeAchievementRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeAchievementRewardRsp) ProtoMessage() {}
+
+func (x *TakeAchievementRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeAchievementRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeAchievementRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeAchievementRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeAchievementRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeAchievementRewardRsp) GetIdList() []uint32 {
+ if x != nil {
+ return x.IdList
+ }
+ return nil
+}
+
+func (x *TakeAchievementRewardRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *TakeAchievementRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeAchievementRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeAchievementRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e,
+ 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x18, 0x54, 0x61, 0x6b, 0x65,
+ 0x41, 0x63, 0x68, 0x69, 0x65, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a,
+ 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeAchievementRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeAchievementRewardRsp_proto_rawDescData = file_TakeAchievementRewardRsp_proto_rawDesc
+)
+
+func file_TakeAchievementRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeAchievementRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeAchievementRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeAchievementRewardRsp_proto_rawDescData)
+ })
+ return file_TakeAchievementRewardRsp_proto_rawDescData
+}
+
+var file_TakeAchievementRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeAchievementRewardRsp_proto_goTypes = []interface{}{
+ (*TakeAchievementRewardRsp)(nil), // 0: proto.TakeAchievementRewardRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_TakeAchievementRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeAchievementRewardRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeAchievementRewardRsp_proto_init() }
+func file_TakeAchievementRewardRsp_proto_init() {
+ if File_TakeAchievementRewardRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeAchievementRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeAchievementRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeAchievementRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeAchievementRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeAchievementRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeAchievementRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeAchievementRewardRsp_proto = out.File
+ file_TakeAchievementRewardRsp_proto_rawDesc = nil
+ file_TakeAchievementRewardRsp_proto_goTypes = nil
+ file_TakeAchievementRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeAsterSpecialRewardReq.pb.go b/protocol/proto/TakeAsterSpecialRewardReq.pb.go
new file mode 100644
index 00000000..71ea2c61
--- /dev/null
+++ b/protocol/proto/TakeAsterSpecialRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeAsterSpecialRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2097
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeAsterSpecialRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,5,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *TakeAsterSpecialRewardReq) Reset() {
+ *x = TakeAsterSpecialRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeAsterSpecialRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeAsterSpecialRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeAsterSpecialRewardReq) ProtoMessage() {}
+
+func (x *TakeAsterSpecialRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeAsterSpecialRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeAsterSpecialRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeAsterSpecialRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeAsterSpecialRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeAsterSpecialRewardReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_TakeAsterSpecialRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeAsterSpecialRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69,
+ 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x19, 0x54, 0x61, 0x6b, 0x65,
+ 0x41, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65,
+ 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeAsterSpecialRewardReq_proto_rawDescOnce sync.Once
+ file_TakeAsterSpecialRewardReq_proto_rawDescData = file_TakeAsterSpecialRewardReq_proto_rawDesc
+)
+
+func file_TakeAsterSpecialRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeAsterSpecialRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeAsterSpecialRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeAsterSpecialRewardReq_proto_rawDescData)
+ })
+ return file_TakeAsterSpecialRewardReq_proto_rawDescData
+}
+
+var file_TakeAsterSpecialRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeAsterSpecialRewardReq_proto_goTypes = []interface{}{
+ (*TakeAsterSpecialRewardReq)(nil), // 0: proto.TakeAsterSpecialRewardReq
+}
+var file_TakeAsterSpecialRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeAsterSpecialRewardReq_proto_init() }
+func file_TakeAsterSpecialRewardReq_proto_init() {
+ if File_TakeAsterSpecialRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeAsterSpecialRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeAsterSpecialRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeAsterSpecialRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeAsterSpecialRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeAsterSpecialRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeAsterSpecialRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeAsterSpecialRewardReq_proto = out.File
+ file_TakeAsterSpecialRewardReq_proto_rawDesc = nil
+ file_TakeAsterSpecialRewardReq_proto_goTypes = nil
+ file_TakeAsterSpecialRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeAsterSpecialRewardRsp.pb.go b/protocol/proto/TakeAsterSpecialRewardRsp.pb.go
new file mode 100644
index 00000000..e80039fa
--- /dev/null
+++ b/protocol/proto/TakeAsterSpecialRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeAsterSpecialRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2193
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeAsterSpecialRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleId uint32 `protobuf:"varint,14,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *TakeAsterSpecialRewardRsp) Reset() {
+ *x = TakeAsterSpecialRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeAsterSpecialRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeAsterSpecialRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeAsterSpecialRewardRsp) ProtoMessage() {}
+
+func (x *TakeAsterSpecialRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeAsterSpecialRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeAsterSpecialRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeAsterSpecialRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeAsterSpecialRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeAsterSpecialRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeAsterSpecialRewardRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_TakeAsterSpecialRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeAsterSpecialRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x54, 0x61, 0x6b, 0x65, 0x41, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69,
+ 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x19, 0x54, 0x61, 0x6b, 0x65,
+ 0x41, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeAsterSpecialRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeAsterSpecialRewardRsp_proto_rawDescData = file_TakeAsterSpecialRewardRsp_proto_rawDesc
+)
+
+func file_TakeAsterSpecialRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeAsterSpecialRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeAsterSpecialRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeAsterSpecialRewardRsp_proto_rawDescData)
+ })
+ return file_TakeAsterSpecialRewardRsp_proto_rawDescData
+}
+
+var file_TakeAsterSpecialRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeAsterSpecialRewardRsp_proto_goTypes = []interface{}{
+ (*TakeAsterSpecialRewardRsp)(nil), // 0: proto.TakeAsterSpecialRewardRsp
+}
+var file_TakeAsterSpecialRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeAsterSpecialRewardRsp_proto_init() }
+func file_TakeAsterSpecialRewardRsp_proto_init() {
+ if File_TakeAsterSpecialRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeAsterSpecialRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeAsterSpecialRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeAsterSpecialRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeAsterSpecialRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeAsterSpecialRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeAsterSpecialRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeAsterSpecialRewardRsp_proto = out.File
+ file_TakeAsterSpecialRewardRsp_proto_rawDesc = nil
+ file_TakeAsterSpecialRewardRsp_proto_goTypes = nil
+ file_TakeAsterSpecialRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeBackGivingItemReq.pb.go b/protocol/proto/TakeBackGivingItemReq.pb.go
new file mode 100644
index 00000000..994bd439
--- /dev/null
+++ b/protocol/proto/TakeBackGivingItemReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeBackGivingItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 171
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeBackGivingItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GivingId uint32 `protobuf:"varint,4,opt,name=giving_id,json=givingId,proto3" json:"giving_id,omitempty"`
+}
+
+func (x *TakeBackGivingItemReq) Reset() {
+ *x = TakeBackGivingItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeBackGivingItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeBackGivingItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeBackGivingItemReq) ProtoMessage() {}
+
+func (x *TakeBackGivingItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeBackGivingItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeBackGivingItemReq.ProtoReflect.Descriptor instead.
+func (*TakeBackGivingItemReq) Descriptor() ([]byte, []int) {
+ return file_TakeBackGivingItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeBackGivingItemReq) GetGivingId() uint32 {
+ if x != nil {
+ return x.GivingId
+ }
+ return 0
+}
+
+var File_TakeBackGivingItemReq_proto protoreflect.FileDescriptor
+
+var file_TakeBackGivingItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67,
+ 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x15, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b,
+ 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeBackGivingItemReq_proto_rawDescOnce sync.Once
+ file_TakeBackGivingItemReq_proto_rawDescData = file_TakeBackGivingItemReq_proto_rawDesc
+)
+
+func file_TakeBackGivingItemReq_proto_rawDescGZIP() []byte {
+ file_TakeBackGivingItemReq_proto_rawDescOnce.Do(func() {
+ file_TakeBackGivingItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeBackGivingItemReq_proto_rawDescData)
+ })
+ return file_TakeBackGivingItemReq_proto_rawDescData
+}
+
+var file_TakeBackGivingItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeBackGivingItemReq_proto_goTypes = []interface{}{
+ (*TakeBackGivingItemReq)(nil), // 0: proto.TakeBackGivingItemReq
+}
+var file_TakeBackGivingItemReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeBackGivingItemReq_proto_init() }
+func file_TakeBackGivingItemReq_proto_init() {
+ if File_TakeBackGivingItemReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeBackGivingItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeBackGivingItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeBackGivingItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeBackGivingItemReq_proto_goTypes,
+ DependencyIndexes: file_TakeBackGivingItemReq_proto_depIdxs,
+ MessageInfos: file_TakeBackGivingItemReq_proto_msgTypes,
+ }.Build()
+ File_TakeBackGivingItemReq_proto = out.File
+ file_TakeBackGivingItemReq_proto_rawDesc = nil
+ file_TakeBackGivingItemReq_proto_goTypes = nil
+ file_TakeBackGivingItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeBackGivingItemRsp.pb.go b/protocol/proto/TakeBackGivingItemRsp.pb.go
new file mode 100644
index 00000000..32d0a0ab
--- /dev/null
+++ b/protocol/proto/TakeBackGivingItemRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeBackGivingItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 145
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeBackGivingItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GivingId uint32 `protobuf:"varint,10,opt,name=giving_id,json=givingId,proto3" json:"giving_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeBackGivingItemRsp) Reset() {
+ *x = TakeBackGivingItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeBackGivingItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeBackGivingItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeBackGivingItemRsp) ProtoMessage() {}
+
+func (x *TakeBackGivingItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeBackGivingItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeBackGivingItemRsp.ProtoReflect.Descriptor instead.
+func (*TakeBackGivingItemRsp) Descriptor() ([]byte, []int) {
+ return file_TakeBackGivingItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeBackGivingItemRsp) GetGivingId() uint32 {
+ if x != nil {
+ return x.GivingId
+ }
+ return 0
+}
+
+func (x *TakeBackGivingItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeBackGivingItemRsp_proto protoreflect.FileDescriptor
+
+var file_TakeBackGivingItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67,
+ 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x15, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x63, 0x6b,
+ 0x47, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a,
+ 0x09, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x67, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeBackGivingItemRsp_proto_rawDescOnce sync.Once
+ file_TakeBackGivingItemRsp_proto_rawDescData = file_TakeBackGivingItemRsp_proto_rawDesc
+)
+
+func file_TakeBackGivingItemRsp_proto_rawDescGZIP() []byte {
+ file_TakeBackGivingItemRsp_proto_rawDescOnce.Do(func() {
+ file_TakeBackGivingItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeBackGivingItemRsp_proto_rawDescData)
+ })
+ return file_TakeBackGivingItemRsp_proto_rawDescData
+}
+
+var file_TakeBackGivingItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeBackGivingItemRsp_proto_goTypes = []interface{}{
+ (*TakeBackGivingItemRsp)(nil), // 0: proto.TakeBackGivingItemRsp
+}
+var file_TakeBackGivingItemRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeBackGivingItemRsp_proto_init() }
+func file_TakeBackGivingItemRsp_proto_init() {
+ if File_TakeBackGivingItemRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeBackGivingItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeBackGivingItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeBackGivingItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeBackGivingItemRsp_proto_goTypes,
+ DependencyIndexes: file_TakeBackGivingItemRsp_proto_depIdxs,
+ MessageInfos: file_TakeBackGivingItemRsp_proto_msgTypes,
+ }.Build()
+ File_TakeBackGivingItemRsp_proto = out.File
+ file_TakeBackGivingItemRsp_proto_rawDesc = nil
+ file_TakeBackGivingItemRsp_proto_goTypes = nil
+ file_TakeBackGivingItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeBattlePassMissionPointReq.pb.go b/protocol/proto/TakeBattlePassMissionPointReq.pb.go
new file mode 100644
index 00000000..89775b06
--- /dev/null
+++ b/protocol/proto/TakeBattlePassMissionPointReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeBattlePassMissionPointReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2629
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeBattlePassMissionPointReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MissionIdList []uint32 `protobuf:"varint,5,rep,packed,name=mission_id_list,json=missionIdList,proto3" json:"mission_id_list,omitempty"`
+}
+
+func (x *TakeBattlePassMissionPointReq) Reset() {
+ *x = TakeBattlePassMissionPointReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeBattlePassMissionPointReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeBattlePassMissionPointReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeBattlePassMissionPointReq) ProtoMessage() {}
+
+func (x *TakeBattlePassMissionPointReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeBattlePassMissionPointReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeBattlePassMissionPointReq.ProtoReflect.Descriptor instead.
+func (*TakeBattlePassMissionPointReq) Descriptor() ([]byte, []int) {
+ return file_TakeBattlePassMissionPointReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeBattlePassMissionPointReq) GetMissionIdList() []uint32 {
+ if x != nil {
+ return x.MissionIdList
+ }
+ return nil
+}
+
+var File_TakeBattlePassMissionPointReq_proto protoreflect.FileDescriptor
+
+var file_TakeBattlePassMissionPointReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73,
+ 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x1d,
+ 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a,
+ 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeBattlePassMissionPointReq_proto_rawDescOnce sync.Once
+ file_TakeBattlePassMissionPointReq_proto_rawDescData = file_TakeBattlePassMissionPointReq_proto_rawDesc
+)
+
+func file_TakeBattlePassMissionPointReq_proto_rawDescGZIP() []byte {
+ file_TakeBattlePassMissionPointReq_proto_rawDescOnce.Do(func() {
+ file_TakeBattlePassMissionPointReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeBattlePassMissionPointReq_proto_rawDescData)
+ })
+ return file_TakeBattlePassMissionPointReq_proto_rawDescData
+}
+
+var file_TakeBattlePassMissionPointReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeBattlePassMissionPointReq_proto_goTypes = []interface{}{
+ (*TakeBattlePassMissionPointReq)(nil), // 0: proto.TakeBattlePassMissionPointReq
+}
+var file_TakeBattlePassMissionPointReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeBattlePassMissionPointReq_proto_init() }
+func file_TakeBattlePassMissionPointReq_proto_init() {
+ if File_TakeBattlePassMissionPointReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeBattlePassMissionPointReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeBattlePassMissionPointReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeBattlePassMissionPointReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeBattlePassMissionPointReq_proto_goTypes,
+ DependencyIndexes: file_TakeBattlePassMissionPointReq_proto_depIdxs,
+ MessageInfos: file_TakeBattlePassMissionPointReq_proto_msgTypes,
+ }.Build()
+ File_TakeBattlePassMissionPointReq_proto = out.File
+ file_TakeBattlePassMissionPointReq_proto_rawDesc = nil
+ file_TakeBattlePassMissionPointReq_proto_goTypes = nil
+ file_TakeBattlePassMissionPointReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeBattlePassMissionPointRsp.pb.go b/protocol/proto/TakeBattlePassMissionPointRsp.pb.go
new file mode 100644
index 00000000..ccf2fa41
--- /dev/null
+++ b/protocol/proto/TakeBattlePassMissionPointRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeBattlePassMissionPointRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2622
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeBattlePassMissionPointRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MissionIdList []uint32 `protobuf:"varint,11,rep,packed,name=mission_id_list,json=missionIdList,proto3" json:"mission_id_list,omitempty"`
+}
+
+func (x *TakeBattlePassMissionPointRsp) Reset() {
+ *x = TakeBattlePassMissionPointRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeBattlePassMissionPointRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeBattlePassMissionPointRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeBattlePassMissionPointRsp) ProtoMessage() {}
+
+func (x *TakeBattlePassMissionPointRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeBattlePassMissionPointRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeBattlePassMissionPointRsp.ProtoReflect.Descriptor instead.
+func (*TakeBattlePassMissionPointRsp) Descriptor() ([]byte, []int) {
+ return file_TakeBattlePassMissionPointRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeBattlePassMissionPointRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeBattlePassMissionPointRsp) GetMissionIdList() []uint32 {
+ if x != nil {
+ return x.MissionIdList
+ }
+ return nil
+}
+
+var File_TakeBattlePassMissionPointRsp_proto protoreflect.FileDescriptor
+
+var file_TakeBattlePassMissionPointRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73,
+ 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x61, 0x0a, 0x1d,
+ 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x4d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeBattlePassMissionPointRsp_proto_rawDescOnce sync.Once
+ file_TakeBattlePassMissionPointRsp_proto_rawDescData = file_TakeBattlePassMissionPointRsp_proto_rawDesc
+)
+
+func file_TakeBattlePassMissionPointRsp_proto_rawDescGZIP() []byte {
+ file_TakeBattlePassMissionPointRsp_proto_rawDescOnce.Do(func() {
+ file_TakeBattlePassMissionPointRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeBattlePassMissionPointRsp_proto_rawDescData)
+ })
+ return file_TakeBattlePassMissionPointRsp_proto_rawDescData
+}
+
+var file_TakeBattlePassMissionPointRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeBattlePassMissionPointRsp_proto_goTypes = []interface{}{
+ (*TakeBattlePassMissionPointRsp)(nil), // 0: proto.TakeBattlePassMissionPointRsp
+}
+var file_TakeBattlePassMissionPointRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeBattlePassMissionPointRsp_proto_init() }
+func file_TakeBattlePassMissionPointRsp_proto_init() {
+ if File_TakeBattlePassMissionPointRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeBattlePassMissionPointRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeBattlePassMissionPointRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeBattlePassMissionPointRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeBattlePassMissionPointRsp_proto_goTypes,
+ DependencyIndexes: file_TakeBattlePassMissionPointRsp_proto_depIdxs,
+ MessageInfos: file_TakeBattlePassMissionPointRsp_proto_msgTypes,
+ }.Build()
+ File_TakeBattlePassMissionPointRsp_proto = out.File
+ file_TakeBattlePassMissionPointRsp_proto_rawDesc = nil
+ file_TakeBattlePassMissionPointRsp_proto_goTypes = nil
+ file_TakeBattlePassMissionPointRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeBattlePassRewardReq.pb.go b/protocol/proto/TakeBattlePassRewardReq.pb.go
new file mode 100644
index 00000000..7e8c43ed
--- /dev/null
+++ b/protocol/proto/TakeBattlePassRewardReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeBattlePassRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeBattlePassRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TakeOptionList []*BattlePassRewardTakeOption `protobuf:"bytes,12,rep,name=take_option_list,json=takeOptionList,proto3" json:"take_option_list,omitempty"`
+}
+
+func (x *TakeBattlePassRewardReq) Reset() {
+ *x = TakeBattlePassRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeBattlePassRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeBattlePassRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeBattlePassRewardReq) ProtoMessage() {}
+
+func (x *TakeBattlePassRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeBattlePassRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeBattlePassRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeBattlePassRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeBattlePassRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeBattlePassRewardReq) GetTakeOptionList() []*BattlePassRewardTakeOption {
+ if x != nil {
+ return x.TakeOptionList
+ }
+ return nil
+}
+
+var File_TakeBattlePassRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeBattlePassRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61,
+ 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a, 0x17, 0x54, 0x61, 0x6b, 0x65,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x4b, 0x0a, 0x10, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x0e, 0x74, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeBattlePassRewardReq_proto_rawDescOnce sync.Once
+ file_TakeBattlePassRewardReq_proto_rawDescData = file_TakeBattlePassRewardReq_proto_rawDesc
+)
+
+func file_TakeBattlePassRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeBattlePassRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeBattlePassRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeBattlePassRewardReq_proto_rawDescData)
+ })
+ return file_TakeBattlePassRewardReq_proto_rawDescData
+}
+
+var file_TakeBattlePassRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeBattlePassRewardReq_proto_goTypes = []interface{}{
+ (*TakeBattlePassRewardReq)(nil), // 0: proto.TakeBattlePassRewardReq
+ (*BattlePassRewardTakeOption)(nil), // 1: proto.BattlePassRewardTakeOption
+}
+var file_TakeBattlePassRewardReq_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeBattlePassRewardReq.take_option_list:type_name -> proto.BattlePassRewardTakeOption
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeBattlePassRewardReq_proto_init() }
+func file_TakeBattlePassRewardReq_proto_init() {
+ if File_TakeBattlePassRewardReq_proto != nil {
+ return
+ }
+ file_BattlePassRewardTakeOption_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeBattlePassRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeBattlePassRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeBattlePassRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeBattlePassRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeBattlePassRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeBattlePassRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeBattlePassRewardReq_proto = out.File
+ file_TakeBattlePassRewardReq_proto_rawDesc = nil
+ file_TakeBattlePassRewardReq_proto_goTypes = nil
+ file_TakeBattlePassRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeBattlePassRewardRsp.pb.go b/protocol/proto/TakeBattlePassRewardRsp.pb.go
new file mode 100644
index 00000000..dd0e84f1
--- /dev/null
+++ b/protocol/proto/TakeBattlePassRewardRsp.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeBattlePassRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2631
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeBattlePassRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*ItemParam `protobuf:"bytes,7,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TakeOptionList []*BattlePassRewardTakeOption `protobuf:"bytes,9,rep,name=take_option_list,json=takeOptionList,proto3" json:"take_option_list,omitempty"`
+}
+
+func (x *TakeBattlePassRewardRsp) Reset() {
+ *x = TakeBattlePassRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeBattlePassRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeBattlePassRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeBattlePassRewardRsp) ProtoMessage() {}
+
+func (x *TakeBattlePassRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeBattlePassRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeBattlePassRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeBattlePassRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeBattlePassRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeBattlePassRewardRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *TakeBattlePassRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeBattlePassRewardRsp) GetTakeOptionList() []*BattlePassRewardTakeOption {
+ if x != nil {
+ return x.TakeOptionList
+ }
+ return nil
+}
+
+var File_TakeBattlePassRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeBattlePassRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61,
+ 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x54, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x01, 0x0a, 0x17, 0x54, 0x61,
+ 0x6b, 0x65, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x4b,
+ 0x0a, 0x10, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x54, 0x61, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x74, 0x61, 0x6b,
+ 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeBattlePassRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeBattlePassRewardRsp_proto_rawDescData = file_TakeBattlePassRewardRsp_proto_rawDesc
+)
+
+func file_TakeBattlePassRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeBattlePassRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeBattlePassRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeBattlePassRewardRsp_proto_rawDescData)
+ })
+ return file_TakeBattlePassRewardRsp_proto_rawDescData
+}
+
+var file_TakeBattlePassRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeBattlePassRewardRsp_proto_goTypes = []interface{}{
+ (*TakeBattlePassRewardRsp)(nil), // 0: proto.TakeBattlePassRewardRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+ (*BattlePassRewardTakeOption)(nil), // 2: proto.BattlePassRewardTakeOption
+}
+var file_TakeBattlePassRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeBattlePassRewardRsp.item_list:type_name -> proto.ItemParam
+ 2, // 1: proto.TakeBattlePassRewardRsp.take_option_list:type_name -> proto.BattlePassRewardTakeOption
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_TakeBattlePassRewardRsp_proto_init() }
+func file_TakeBattlePassRewardRsp_proto_init() {
+ if File_TakeBattlePassRewardRsp_proto != nil {
+ return
+ }
+ file_BattlePassRewardTakeOption_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeBattlePassRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeBattlePassRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeBattlePassRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeBattlePassRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeBattlePassRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeBattlePassRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeBattlePassRewardRsp_proto = out.File
+ file_TakeBattlePassRewardRsp_proto_rawDesc = nil
+ file_TakeBattlePassRewardRsp_proto_goTypes = nil
+ file_TakeBattlePassRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCityReputationExploreRewardReq.pb.go b/protocol/proto/TakeCityReputationExploreRewardReq.pb.go
new file mode 100644
index 00000000..fbb0702e
--- /dev/null
+++ b/protocol/proto/TakeCityReputationExploreRewardReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCityReputationExploreRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2897
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeCityReputationExploreRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,15,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ ExploreIdList []uint32 `protobuf:"varint,12,rep,packed,name=explore_id_list,json=exploreIdList,proto3" json:"explore_id_list,omitempty"`
+}
+
+func (x *TakeCityReputationExploreRewardReq) Reset() {
+ *x = TakeCityReputationExploreRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCityReputationExploreRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCityReputationExploreRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCityReputationExploreRewardReq) ProtoMessage() {}
+
+func (x *TakeCityReputationExploreRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCityReputationExploreRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCityReputationExploreRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeCityReputationExploreRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeCityReputationExploreRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCityReputationExploreRewardReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *TakeCityReputationExploreRewardReq) GetExploreIdList() []uint32 {
+ if x != nil {
+ return x.ExploreIdList
+ }
+ return nil
+}
+
+var File_TakeCityReputationExploreRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeCityReputationExploreRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x65, 0x0a, 0x22, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x6f,
+ 0x72, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCityReputationExploreRewardReq_proto_rawDescOnce sync.Once
+ file_TakeCityReputationExploreRewardReq_proto_rawDescData = file_TakeCityReputationExploreRewardReq_proto_rawDesc
+)
+
+func file_TakeCityReputationExploreRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeCityReputationExploreRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeCityReputationExploreRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCityReputationExploreRewardReq_proto_rawDescData)
+ })
+ return file_TakeCityReputationExploreRewardReq_proto_rawDescData
+}
+
+var file_TakeCityReputationExploreRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCityReputationExploreRewardReq_proto_goTypes = []interface{}{
+ (*TakeCityReputationExploreRewardReq)(nil), // 0: proto.TakeCityReputationExploreRewardReq
+}
+var file_TakeCityReputationExploreRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeCityReputationExploreRewardReq_proto_init() }
+func file_TakeCityReputationExploreRewardReq_proto_init() {
+ if File_TakeCityReputationExploreRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCityReputationExploreRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCityReputationExploreRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCityReputationExploreRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCityReputationExploreRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeCityReputationExploreRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeCityReputationExploreRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeCityReputationExploreRewardReq_proto = out.File
+ file_TakeCityReputationExploreRewardReq_proto_rawDesc = nil
+ file_TakeCityReputationExploreRewardReq_proto_goTypes = nil
+ file_TakeCityReputationExploreRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCityReputationExploreRewardRsp.pb.go b/protocol/proto/TakeCityReputationExploreRewardRsp.pb.go
new file mode 100644
index 00000000..39624fcd
--- /dev/null
+++ b/protocol/proto/TakeCityReputationExploreRewardRsp.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCityReputationExploreRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2881
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeCityReputationExploreRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExploreIdList []uint32 `protobuf:"varint,8,rep,packed,name=explore_id_list,json=exploreIdList,proto3" json:"explore_id_list,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,12,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CityId uint32 `protobuf:"varint,13,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *TakeCityReputationExploreRewardRsp) Reset() {
+ *x = TakeCityReputationExploreRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCityReputationExploreRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCityReputationExploreRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCityReputationExploreRewardRsp) ProtoMessage() {}
+
+func (x *TakeCityReputationExploreRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCityReputationExploreRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCityReputationExploreRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeCityReputationExploreRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeCityReputationExploreRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCityReputationExploreRewardRsp) GetExploreIdList() []uint32 {
+ if x != nil {
+ return x.ExploreIdList
+ }
+ return nil
+}
+
+func (x *TakeCityReputationExploreRewardRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *TakeCityReputationExploreRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeCityReputationExploreRewardRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_TakeCityReputationExploreRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeCityReputationExploreRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x22, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52,
+ 0x65, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x78, 0x70,
+ 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCityReputationExploreRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeCityReputationExploreRewardRsp_proto_rawDescData = file_TakeCityReputationExploreRewardRsp_proto_rawDesc
+)
+
+func file_TakeCityReputationExploreRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeCityReputationExploreRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeCityReputationExploreRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCityReputationExploreRewardRsp_proto_rawDescData)
+ })
+ return file_TakeCityReputationExploreRewardRsp_proto_rawDescData
+}
+
+var file_TakeCityReputationExploreRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCityReputationExploreRewardRsp_proto_goTypes = []interface{}{
+ (*TakeCityReputationExploreRewardRsp)(nil), // 0: proto.TakeCityReputationExploreRewardRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_TakeCityReputationExploreRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeCityReputationExploreRewardRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeCityReputationExploreRewardRsp_proto_init() }
+func file_TakeCityReputationExploreRewardRsp_proto_init() {
+ if File_TakeCityReputationExploreRewardRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCityReputationExploreRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCityReputationExploreRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCityReputationExploreRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCityReputationExploreRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeCityReputationExploreRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeCityReputationExploreRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeCityReputationExploreRewardRsp_proto = out.File
+ file_TakeCityReputationExploreRewardRsp_proto_rawDesc = nil
+ file_TakeCityReputationExploreRewardRsp_proto_goTypes = nil
+ file_TakeCityReputationExploreRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCityReputationLevelRewardReq.pb.go b/protocol/proto/TakeCityReputationLevelRewardReq.pb.go
new file mode 100644
index 00000000..f98280c0
--- /dev/null
+++ b/protocol/proto/TakeCityReputationLevelRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCityReputationLevelRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2812
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeCityReputationLevelRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,11,opt,name=level,proto3" json:"level,omitempty"`
+ CityId uint32 `protobuf:"varint,1,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *TakeCityReputationLevelRewardReq) Reset() {
+ *x = TakeCityReputationLevelRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCityReputationLevelRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCityReputationLevelRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCityReputationLevelRewardReq) ProtoMessage() {}
+
+func (x *TakeCityReputationLevelRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCityReputationLevelRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCityReputationLevelRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeCityReputationLevelRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeCityReputationLevelRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCityReputationLevelRewardReq) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *TakeCityReputationLevelRewardReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_TakeCityReputationLevelRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeCityReputationLevelRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x51, 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCityReputationLevelRewardReq_proto_rawDescOnce sync.Once
+ file_TakeCityReputationLevelRewardReq_proto_rawDescData = file_TakeCityReputationLevelRewardReq_proto_rawDesc
+)
+
+func file_TakeCityReputationLevelRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeCityReputationLevelRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeCityReputationLevelRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCityReputationLevelRewardReq_proto_rawDescData)
+ })
+ return file_TakeCityReputationLevelRewardReq_proto_rawDescData
+}
+
+var file_TakeCityReputationLevelRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCityReputationLevelRewardReq_proto_goTypes = []interface{}{
+ (*TakeCityReputationLevelRewardReq)(nil), // 0: proto.TakeCityReputationLevelRewardReq
+}
+var file_TakeCityReputationLevelRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeCityReputationLevelRewardReq_proto_init() }
+func file_TakeCityReputationLevelRewardReq_proto_init() {
+ if File_TakeCityReputationLevelRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCityReputationLevelRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCityReputationLevelRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCityReputationLevelRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCityReputationLevelRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeCityReputationLevelRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeCityReputationLevelRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeCityReputationLevelRewardReq_proto = out.File
+ file_TakeCityReputationLevelRewardReq_proto_rawDesc = nil
+ file_TakeCityReputationLevelRewardReq_proto_goTypes = nil
+ file_TakeCityReputationLevelRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCityReputationLevelRewardRsp.pb.go b/protocol/proto/TakeCityReputationLevelRewardRsp.pb.go
new file mode 100644
index 00000000..2b6575bd
--- /dev/null
+++ b/protocol/proto/TakeCityReputationLevelRewardRsp.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCityReputationLevelRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2835
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeCityReputationLevelRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,15,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,13,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Level uint32 `protobuf:"varint,9,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *TakeCityReputationLevelRewardRsp) Reset() {
+ *x = TakeCityReputationLevelRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCityReputationLevelRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCityReputationLevelRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCityReputationLevelRewardRsp) ProtoMessage() {}
+
+func (x *TakeCityReputationLevelRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCityReputationLevelRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCityReputationLevelRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeCityReputationLevelRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeCityReputationLevelRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCityReputationLevelRewardRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *TakeCityReputationLevelRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeCityReputationLevelRewardRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *TakeCityReputationLevelRewardRsp) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_TakeCityReputationLevelRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeCityReputationLevelRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69,
+ 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TakeCityReputationLevelRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeCityReputationLevelRewardRsp_proto_rawDescData = file_TakeCityReputationLevelRewardRsp_proto_rawDesc
+)
+
+func file_TakeCityReputationLevelRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeCityReputationLevelRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeCityReputationLevelRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCityReputationLevelRewardRsp_proto_rawDescData)
+ })
+ return file_TakeCityReputationLevelRewardRsp_proto_rawDescData
+}
+
+var file_TakeCityReputationLevelRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCityReputationLevelRewardRsp_proto_goTypes = []interface{}{
+ (*TakeCityReputationLevelRewardRsp)(nil), // 0: proto.TakeCityReputationLevelRewardRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_TakeCityReputationLevelRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeCityReputationLevelRewardRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeCityReputationLevelRewardRsp_proto_init() }
+func file_TakeCityReputationLevelRewardRsp_proto_init() {
+ if File_TakeCityReputationLevelRewardRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCityReputationLevelRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCityReputationLevelRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCityReputationLevelRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCityReputationLevelRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeCityReputationLevelRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeCityReputationLevelRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeCityReputationLevelRewardRsp_proto = out.File
+ file_TakeCityReputationLevelRewardRsp_proto_rawDesc = nil
+ file_TakeCityReputationLevelRewardRsp_proto_goTypes = nil
+ file_TakeCityReputationLevelRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCityReputationParentQuestReq.pb.go b/protocol/proto/TakeCityReputationParentQuestReq.pb.go
new file mode 100644
index 00000000..6569b862
--- /dev/null
+++ b/protocol/proto/TakeCityReputationParentQuestReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCityReputationParentQuestReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2821
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeCityReputationParentQuestReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CityId uint32 `protobuf:"varint,1,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ ParentQuestList []uint32 `protobuf:"varint,6,rep,packed,name=parent_quest_list,json=parentQuestList,proto3" json:"parent_quest_list,omitempty"`
+}
+
+func (x *TakeCityReputationParentQuestReq) Reset() {
+ *x = TakeCityReputationParentQuestReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCityReputationParentQuestReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCityReputationParentQuestReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCityReputationParentQuestReq) ProtoMessage() {}
+
+func (x *TakeCityReputationParentQuestReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCityReputationParentQuestReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCityReputationParentQuestReq.ProtoReflect.Descriptor instead.
+func (*TakeCityReputationParentQuestReq) Descriptor() ([]byte, []int) {
+ return file_TakeCityReputationParentQuestReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCityReputationParentQuestReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *TakeCityReputationParentQuestReq) GetParentQuestList() []uint32 {
+ if x != nil {
+ return x.ParentQuestList
+ }
+ return nil
+}
+
+var File_TakeCityReputationParentQuestReq_proto protoreflect.FileDescriptor
+
+var file_TakeCityReputationParentQuestReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x67, 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51,
+ 0x75, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCityReputationParentQuestReq_proto_rawDescOnce sync.Once
+ file_TakeCityReputationParentQuestReq_proto_rawDescData = file_TakeCityReputationParentQuestReq_proto_rawDesc
+)
+
+func file_TakeCityReputationParentQuestReq_proto_rawDescGZIP() []byte {
+ file_TakeCityReputationParentQuestReq_proto_rawDescOnce.Do(func() {
+ file_TakeCityReputationParentQuestReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCityReputationParentQuestReq_proto_rawDescData)
+ })
+ return file_TakeCityReputationParentQuestReq_proto_rawDescData
+}
+
+var file_TakeCityReputationParentQuestReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCityReputationParentQuestReq_proto_goTypes = []interface{}{
+ (*TakeCityReputationParentQuestReq)(nil), // 0: proto.TakeCityReputationParentQuestReq
+}
+var file_TakeCityReputationParentQuestReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeCityReputationParentQuestReq_proto_init() }
+func file_TakeCityReputationParentQuestReq_proto_init() {
+ if File_TakeCityReputationParentQuestReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCityReputationParentQuestReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCityReputationParentQuestReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCityReputationParentQuestReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCityReputationParentQuestReq_proto_goTypes,
+ DependencyIndexes: file_TakeCityReputationParentQuestReq_proto_depIdxs,
+ MessageInfos: file_TakeCityReputationParentQuestReq_proto_msgTypes,
+ }.Build()
+ File_TakeCityReputationParentQuestReq_proto = out.File
+ file_TakeCityReputationParentQuestReq_proto_rawDesc = nil
+ file_TakeCityReputationParentQuestReq_proto_goTypes = nil
+ file_TakeCityReputationParentQuestReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCityReputationParentQuestRsp.pb.go b/protocol/proto/TakeCityReputationParentQuestRsp.pb.go
new file mode 100644
index 00000000..56c783de
--- /dev/null
+++ b/protocol/proto/TakeCityReputationParentQuestRsp.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCityReputationParentQuestRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2803
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeCityReputationParentQuestRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ CityId uint32 `protobuf:"varint,14,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ ParentQuestList []uint32 `protobuf:"varint,9,rep,packed,name=parent_quest_list,json=parentQuestList,proto3" json:"parent_quest_list,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,13,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *TakeCityReputationParentQuestRsp) Reset() {
+ *x = TakeCityReputationParentQuestRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCityReputationParentQuestRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCityReputationParentQuestRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCityReputationParentQuestRsp) ProtoMessage() {}
+
+func (x *TakeCityReputationParentQuestRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCityReputationParentQuestRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCityReputationParentQuestRsp.ProtoReflect.Descriptor instead.
+func (*TakeCityReputationParentQuestRsp) Descriptor() ([]byte, []int) {
+ return file_TakeCityReputationParentQuestRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCityReputationParentQuestRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeCityReputationParentQuestRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *TakeCityReputationParentQuestRsp) GetParentQuestList() []uint32 {
+ if x != nil {
+ return x.ParentQuestList
+ }
+ return nil
+}
+
+func (x *TakeCityReputationParentQuestRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_TakeCityReputationParentQuestRsp_proto protoreflect.FileDescriptor
+
+var file_TakeCityReputationParentQuestRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x75, 0x74, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xb0, 0x01, 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70,
+ 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCityReputationParentQuestRsp_proto_rawDescOnce sync.Once
+ file_TakeCityReputationParentQuestRsp_proto_rawDescData = file_TakeCityReputationParentQuestRsp_proto_rawDesc
+)
+
+func file_TakeCityReputationParentQuestRsp_proto_rawDescGZIP() []byte {
+ file_TakeCityReputationParentQuestRsp_proto_rawDescOnce.Do(func() {
+ file_TakeCityReputationParentQuestRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCityReputationParentQuestRsp_proto_rawDescData)
+ })
+ return file_TakeCityReputationParentQuestRsp_proto_rawDescData
+}
+
+var file_TakeCityReputationParentQuestRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCityReputationParentQuestRsp_proto_goTypes = []interface{}{
+ (*TakeCityReputationParentQuestRsp)(nil), // 0: proto.TakeCityReputationParentQuestRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_TakeCityReputationParentQuestRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeCityReputationParentQuestRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeCityReputationParentQuestRsp_proto_init() }
+func file_TakeCityReputationParentQuestRsp_proto_init() {
+ if File_TakeCityReputationParentQuestRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCityReputationParentQuestRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCityReputationParentQuestRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCityReputationParentQuestRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCityReputationParentQuestRsp_proto_goTypes,
+ DependencyIndexes: file_TakeCityReputationParentQuestRsp_proto_depIdxs,
+ MessageInfos: file_TakeCityReputationParentQuestRsp_proto_msgTypes,
+ }.Build()
+ File_TakeCityReputationParentQuestRsp_proto = out.File
+ file_TakeCityReputationParentQuestRsp_proto_rawDesc = nil
+ file_TakeCityReputationParentQuestRsp_proto_goTypes = nil
+ file_TakeCityReputationParentQuestRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCompoundOutputReq.pb.go b/protocol/proto/TakeCompoundOutputReq.pb.go
new file mode 100644
index 00000000..706c0d9e
--- /dev/null
+++ b/protocol/proto/TakeCompoundOutputReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCompoundOutputReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 174
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeCompoundOutputReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CompoundGroupId uint32 `protobuf:"varint,3,opt,name=compound_group_id,json=compoundGroupId,proto3" json:"compound_group_id,omitempty"`
+ CompoundId uint32 `protobuf:"varint,10,opt,name=compound_id,json=compoundId,proto3" json:"compound_id,omitempty"`
+}
+
+func (x *TakeCompoundOutputReq) Reset() {
+ *x = TakeCompoundOutputReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCompoundOutputReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCompoundOutputReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCompoundOutputReq) ProtoMessage() {}
+
+func (x *TakeCompoundOutputReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCompoundOutputReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCompoundOutputReq.ProtoReflect.Descriptor instead.
+func (*TakeCompoundOutputReq) Descriptor() ([]byte, []int) {
+ return file_TakeCompoundOutputReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCompoundOutputReq) GetCompoundGroupId() uint32 {
+ if x != nil {
+ return x.CompoundGroupId
+ }
+ return 0
+}
+
+func (x *TakeCompoundOutputReq) GetCompoundId() uint32 {
+ if x != nil {
+ return x.CompoundId
+ }
+ return 0
+}
+
+var File_TakeCompoundOutputReq_proto protoreflect.FileDescriptor
+
+var file_TakeCompoundOutputReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x75,
+ 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x15, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6d, 0x70,
+ 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a,
+ 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75,
+ 0x6e, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCompoundOutputReq_proto_rawDescOnce sync.Once
+ file_TakeCompoundOutputReq_proto_rawDescData = file_TakeCompoundOutputReq_proto_rawDesc
+)
+
+func file_TakeCompoundOutputReq_proto_rawDescGZIP() []byte {
+ file_TakeCompoundOutputReq_proto_rawDescOnce.Do(func() {
+ file_TakeCompoundOutputReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCompoundOutputReq_proto_rawDescData)
+ })
+ return file_TakeCompoundOutputReq_proto_rawDescData
+}
+
+var file_TakeCompoundOutputReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCompoundOutputReq_proto_goTypes = []interface{}{
+ (*TakeCompoundOutputReq)(nil), // 0: proto.TakeCompoundOutputReq
+}
+var file_TakeCompoundOutputReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeCompoundOutputReq_proto_init() }
+func file_TakeCompoundOutputReq_proto_init() {
+ if File_TakeCompoundOutputReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCompoundOutputReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCompoundOutputReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCompoundOutputReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCompoundOutputReq_proto_goTypes,
+ DependencyIndexes: file_TakeCompoundOutputReq_proto_depIdxs,
+ MessageInfos: file_TakeCompoundOutputReq_proto_msgTypes,
+ }.Build()
+ File_TakeCompoundOutputReq_proto = out.File
+ file_TakeCompoundOutputReq_proto_rawDesc = nil
+ file_TakeCompoundOutputReq_proto_goTypes = nil
+ file_TakeCompoundOutputReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCompoundOutputRsp.pb.go b/protocol/proto/TakeCompoundOutputRsp.pb.go
new file mode 100644
index 00000000..25b4b6d9
--- /dev/null
+++ b/protocol/proto/TakeCompoundOutputRsp.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCompoundOutputRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 176
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeCompoundOutputRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*ItemParam `protobuf:"bytes,6,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeCompoundOutputRsp) Reset() {
+ *x = TakeCompoundOutputRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCompoundOutputRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCompoundOutputRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCompoundOutputRsp) ProtoMessage() {}
+
+func (x *TakeCompoundOutputRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCompoundOutputRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCompoundOutputRsp.ProtoReflect.Descriptor instead.
+func (*TakeCompoundOutputRsp) Descriptor() ([]byte, []int) {
+ return file_TakeCompoundOutputRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCompoundOutputRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *TakeCompoundOutputRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeCompoundOutputRsp_proto protoreflect.FileDescriptor
+
+var file_TakeCompoundOutputRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x75,
+ 0x74, 0x70, 0x75, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x15, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6d,
+ 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2d,
+ 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCompoundOutputRsp_proto_rawDescOnce sync.Once
+ file_TakeCompoundOutputRsp_proto_rawDescData = file_TakeCompoundOutputRsp_proto_rawDesc
+)
+
+func file_TakeCompoundOutputRsp_proto_rawDescGZIP() []byte {
+ file_TakeCompoundOutputRsp_proto_rawDescOnce.Do(func() {
+ file_TakeCompoundOutputRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCompoundOutputRsp_proto_rawDescData)
+ })
+ return file_TakeCompoundOutputRsp_proto_rawDescData
+}
+
+var file_TakeCompoundOutputRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCompoundOutputRsp_proto_goTypes = []interface{}{
+ (*TakeCompoundOutputRsp)(nil), // 0: proto.TakeCompoundOutputRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_TakeCompoundOutputRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeCompoundOutputRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeCompoundOutputRsp_proto_init() }
+func file_TakeCompoundOutputRsp_proto_init() {
+ if File_TakeCompoundOutputRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCompoundOutputRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCompoundOutputRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCompoundOutputRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCompoundOutputRsp_proto_goTypes,
+ DependencyIndexes: file_TakeCompoundOutputRsp_proto_depIdxs,
+ MessageInfos: file_TakeCompoundOutputRsp_proto_msgTypes,
+ }.Build()
+ File_TakeCompoundOutputRsp_proto = out.File
+ file_TakeCompoundOutputRsp_proto_rawDesc = nil
+ file_TakeCompoundOutputRsp_proto_goTypes = nil
+ file_TakeCompoundOutputRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCoopRewardReq.pb.go b/protocol/proto/TakeCoopRewardReq.pb.go
new file mode 100644
index 00000000..160e0a04
--- /dev/null
+++ b/protocol/proto/TakeCoopRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCoopRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1973
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeCoopRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardConfigId uint32 `protobuf:"varint,6,opt,name=reward_config_id,json=rewardConfigId,proto3" json:"reward_config_id,omitempty"`
+}
+
+func (x *TakeCoopRewardReq) Reset() {
+ *x = TakeCoopRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCoopRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCoopRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCoopRewardReq) ProtoMessage() {}
+
+func (x *TakeCoopRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCoopRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCoopRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeCoopRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeCoopRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCoopRewardReq) GetRewardConfigId() uint32 {
+ if x != nil {
+ return x.RewardConfigId
+ }
+ return 0
+}
+
+var File_TakeCoopRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeCoopRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x3d, 0x0a, 0x11, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCoopRewardReq_proto_rawDescOnce sync.Once
+ file_TakeCoopRewardReq_proto_rawDescData = file_TakeCoopRewardReq_proto_rawDesc
+)
+
+func file_TakeCoopRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeCoopRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeCoopRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCoopRewardReq_proto_rawDescData)
+ })
+ return file_TakeCoopRewardReq_proto_rawDescData
+}
+
+var file_TakeCoopRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCoopRewardReq_proto_goTypes = []interface{}{
+ (*TakeCoopRewardReq)(nil), // 0: proto.TakeCoopRewardReq
+}
+var file_TakeCoopRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeCoopRewardReq_proto_init() }
+func file_TakeCoopRewardReq_proto_init() {
+ if File_TakeCoopRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCoopRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCoopRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCoopRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCoopRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeCoopRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeCoopRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeCoopRewardReq_proto = out.File
+ file_TakeCoopRewardReq_proto_rawDesc = nil
+ file_TakeCoopRewardReq_proto_goTypes = nil
+ file_TakeCoopRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeCoopRewardRsp.pb.go b/protocol/proto/TakeCoopRewardRsp.pb.go
new file mode 100644
index 00000000..f9c0dd48
--- /dev/null
+++ b/protocol/proto/TakeCoopRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeCoopRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1985
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeCoopRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RewardConfigId uint32 `protobuf:"varint,1,opt,name=reward_config_id,json=rewardConfigId,proto3" json:"reward_config_id,omitempty"`
+}
+
+func (x *TakeCoopRewardRsp) Reset() {
+ *x = TakeCoopRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeCoopRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeCoopRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeCoopRewardRsp) ProtoMessage() {}
+
+func (x *TakeCoopRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeCoopRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeCoopRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeCoopRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeCoopRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeCoopRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeCoopRewardRsp) GetRewardConfigId() uint32 {
+ if x != nil {
+ return x.RewardConfigId
+ }
+ return 0
+}
+
+var File_TakeCoopRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeCoopRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x57, 0x0a, 0x11, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x28, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeCoopRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeCoopRewardRsp_proto_rawDescData = file_TakeCoopRewardRsp_proto_rawDesc
+)
+
+func file_TakeCoopRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeCoopRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeCoopRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeCoopRewardRsp_proto_rawDescData)
+ })
+ return file_TakeCoopRewardRsp_proto_rawDescData
+}
+
+var file_TakeCoopRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeCoopRewardRsp_proto_goTypes = []interface{}{
+ (*TakeCoopRewardRsp)(nil), // 0: proto.TakeCoopRewardRsp
+}
+var file_TakeCoopRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeCoopRewardRsp_proto_init() }
+func file_TakeCoopRewardRsp_proto_init() {
+ if File_TakeCoopRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeCoopRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeCoopRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeCoopRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeCoopRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeCoopRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeCoopRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeCoopRewardRsp_proto = out.File
+ file_TakeCoopRewardRsp_proto_rawDesc = nil
+ file_TakeCoopRewardRsp_proto_goTypes = nil
+ file_TakeCoopRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeDeliveryDailyRewardReq.pb.go b/protocol/proto/TakeDeliveryDailyRewardReq.pb.go
new file mode 100644
index 00000000..e7563336
--- /dev/null
+++ b/protocol/proto/TakeDeliveryDailyRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeDeliveryDailyRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2121
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeDeliveryDailyRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,9,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+}
+
+func (x *TakeDeliveryDailyRewardReq) Reset() {
+ *x = TakeDeliveryDailyRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeDeliveryDailyRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeDeliveryDailyRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeDeliveryDailyRewardReq) ProtoMessage() {}
+
+func (x *TakeDeliveryDailyRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeDeliveryDailyRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeDeliveryDailyRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeDeliveryDailyRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeDeliveryDailyRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeDeliveryDailyRewardReq) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+var File_TakeDeliveryDailyRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeDeliveryDailyRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x61,
+ 0x69, 0x6c, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x1a, 0x54, 0x61, 0x6b,
+ 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeDeliveryDailyRewardReq_proto_rawDescOnce sync.Once
+ file_TakeDeliveryDailyRewardReq_proto_rawDescData = file_TakeDeliveryDailyRewardReq_proto_rawDesc
+)
+
+func file_TakeDeliveryDailyRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeDeliveryDailyRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeDeliveryDailyRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeDeliveryDailyRewardReq_proto_rawDescData)
+ })
+ return file_TakeDeliveryDailyRewardReq_proto_rawDescData
+}
+
+var file_TakeDeliveryDailyRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeDeliveryDailyRewardReq_proto_goTypes = []interface{}{
+ (*TakeDeliveryDailyRewardReq)(nil), // 0: proto.TakeDeliveryDailyRewardReq
+}
+var file_TakeDeliveryDailyRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeDeliveryDailyRewardReq_proto_init() }
+func file_TakeDeliveryDailyRewardReq_proto_init() {
+ if File_TakeDeliveryDailyRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeDeliveryDailyRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeDeliveryDailyRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeDeliveryDailyRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeDeliveryDailyRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeDeliveryDailyRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeDeliveryDailyRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeDeliveryDailyRewardReq_proto = out.File
+ file_TakeDeliveryDailyRewardReq_proto_rawDesc = nil
+ file_TakeDeliveryDailyRewardReq_proto_goTypes = nil
+ file_TakeDeliveryDailyRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeDeliveryDailyRewardRsp.pb.go b/protocol/proto/TakeDeliveryDailyRewardRsp.pb.go
new file mode 100644
index 00000000..7eae8c20
--- /dev/null
+++ b/protocol/proto/TakeDeliveryDailyRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeDeliveryDailyRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2162
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeDeliveryDailyRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleId uint32 `protobuf:"varint,5,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeDeliveryDailyRewardRsp) Reset() {
+ *x = TakeDeliveryDailyRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeDeliveryDailyRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeDeliveryDailyRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeDeliveryDailyRewardRsp) ProtoMessage() {}
+
+func (x *TakeDeliveryDailyRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeDeliveryDailyRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeDeliveryDailyRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeDeliveryDailyRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeDeliveryDailyRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeDeliveryDailyRewardRsp) GetScheduleId() uint32 {
+ if x != nil {
+ return x.ScheduleId
+ }
+ return 0
+}
+
+func (x *TakeDeliveryDailyRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeDeliveryDailyRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeDeliveryDailyRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x61,
+ 0x69, 0x6c, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x57, 0x0a, 0x1a, 0x54, 0x61, 0x6b,
+ 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeDeliveryDailyRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeDeliveryDailyRewardRsp_proto_rawDescData = file_TakeDeliveryDailyRewardRsp_proto_rawDesc
+)
+
+func file_TakeDeliveryDailyRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeDeliveryDailyRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeDeliveryDailyRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeDeliveryDailyRewardRsp_proto_rawDescData)
+ })
+ return file_TakeDeliveryDailyRewardRsp_proto_rawDescData
+}
+
+var file_TakeDeliveryDailyRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeDeliveryDailyRewardRsp_proto_goTypes = []interface{}{
+ (*TakeDeliveryDailyRewardRsp)(nil), // 0: proto.TakeDeliveryDailyRewardRsp
+}
+var file_TakeDeliveryDailyRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeDeliveryDailyRewardRsp_proto_init() }
+func file_TakeDeliveryDailyRewardRsp_proto_init() {
+ if File_TakeDeliveryDailyRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeDeliveryDailyRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeDeliveryDailyRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeDeliveryDailyRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeDeliveryDailyRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeDeliveryDailyRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeDeliveryDailyRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeDeliveryDailyRewardRsp_proto = out.File
+ file_TakeDeliveryDailyRewardRsp_proto_rawDesc = nil
+ file_TakeDeliveryDailyRewardRsp_proto_goTypes = nil
+ file_TakeDeliveryDailyRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeEffigyFirstPassRewardReq.pb.go b/protocol/proto/TakeEffigyFirstPassRewardReq.pb.go
new file mode 100644
index 00000000..f05d12f8
--- /dev/null
+++ b/protocol/proto/TakeEffigyFirstPassRewardReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeEffigyFirstPassRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2196
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeEffigyFirstPassRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeId uint32 `protobuf:"varint,6,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+}
+
+func (x *TakeEffigyFirstPassRewardReq) Reset() {
+ *x = TakeEffigyFirstPassRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeEffigyFirstPassRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeEffigyFirstPassRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeEffigyFirstPassRewardReq) ProtoMessage() {}
+
+func (x *TakeEffigyFirstPassRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeEffigyFirstPassRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeEffigyFirstPassRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeEffigyFirstPassRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeEffigyFirstPassRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeEffigyFirstPassRewardReq) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+var File_TakeEffigyFirstPassRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeEffigyFirstPassRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x54, 0x61, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x46, 0x69, 0x72, 0x73,
+ 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x1c, 0x54,
+ 0x61, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61,
+ 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TakeEffigyFirstPassRewardReq_proto_rawDescOnce sync.Once
+ file_TakeEffigyFirstPassRewardReq_proto_rawDescData = file_TakeEffigyFirstPassRewardReq_proto_rawDesc
+)
+
+func file_TakeEffigyFirstPassRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeEffigyFirstPassRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeEffigyFirstPassRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeEffigyFirstPassRewardReq_proto_rawDescData)
+ })
+ return file_TakeEffigyFirstPassRewardReq_proto_rawDescData
+}
+
+var file_TakeEffigyFirstPassRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeEffigyFirstPassRewardReq_proto_goTypes = []interface{}{
+ (*TakeEffigyFirstPassRewardReq)(nil), // 0: proto.TakeEffigyFirstPassRewardReq
+}
+var file_TakeEffigyFirstPassRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeEffigyFirstPassRewardReq_proto_init() }
+func file_TakeEffigyFirstPassRewardReq_proto_init() {
+ if File_TakeEffigyFirstPassRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeEffigyFirstPassRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeEffigyFirstPassRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeEffigyFirstPassRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeEffigyFirstPassRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeEffigyFirstPassRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeEffigyFirstPassRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeEffigyFirstPassRewardReq_proto = out.File
+ file_TakeEffigyFirstPassRewardReq_proto_rawDesc = nil
+ file_TakeEffigyFirstPassRewardReq_proto_goTypes = nil
+ file_TakeEffigyFirstPassRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeEffigyFirstPassRewardRsp.pb.go b/protocol/proto/TakeEffigyFirstPassRewardRsp.pb.go
new file mode 100644
index 00000000..6b60ca71
--- /dev/null
+++ b/protocol/proto/TakeEffigyFirstPassRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeEffigyFirstPassRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2061
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeEffigyFirstPassRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeId uint32 `protobuf:"varint,2,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeEffigyFirstPassRewardRsp) Reset() {
+ *x = TakeEffigyFirstPassRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeEffigyFirstPassRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeEffigyFirstPassRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeEffigyFirstPassRewardRsp) ProtoMessage() {}
+
+func (x *TakeEffigyFirstPassRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeEffigyFirstPassRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeEffigyFirstPassRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeEffigyFirstPassRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeEffigyFirstPassRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeEffigyFirstPassRewardRsp) GetChallengeId() uint32 {
+ if x != nil {
+ return x.ChallengeId
+ }
+ return 0
+}
+
+func (x *TakeEffigyFirstPassRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeEffigyFirstPassRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeEffigyFirstPassRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x54, 0x61, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x46, 0x69, 0x72, 0x73,
+ 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x1c, 0x54,
+ 0x61, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, 0x61,
+ 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x63,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeEffigyFirstPassRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeEffigyFirstPassRewardRsp_proto_rawDescData = file_TakeEffigyFirstPassRewardRsp_proto_rawDesc
+)
+
+func file_TakeEffigyFirstPassRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeEffigyFirstPassRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeEffigyFirstPassRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeEffigyFirstPassRewardRsp_proto_rawDescData)
+ })
+ return file_TakeEffigyFirstPassRewardRsp_proto_rawDescData
+}
+
+var file_TakeEffigyFirstPassRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeEffigyFirstPassRewardRsp_proto_goTypes = []interface{}{
+ (*TakeEffigyFirstPassRewardRsp)(nil), // 0: proto.TakeEffigyFirstPassRewardRsp
+}
+var file_TakeEffigyFirstPassRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeEffigyFirstPassRewardRsp_proto_init() }
+func file_TakeEffigyFirstPassRewardRsp_proto_init() {
+ if File_TakeEffigyFirstPassRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeEffigyFirstPassRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeEffigyFirstPassRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeEffigyFirstPassRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeEffigyFirstPassRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeEffigyFirstPassRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeEffigyFirstPassRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeEffigyFirstPassRewardRsp_proto = out.File
+ file_TakeEffigyFirstPassRewardRsp_proto_rawDesc = nil
+ file_TakeEffigyFirstPassRewardRsp_proto_goTypes = nil
+ file_TakeEffigyFirstPassRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeEffigyRewardReq.pb.go b/protocol/proto/TakeEffigyRewardReq.pb.go
new file mode 100644
index 00000000..afccdd4c
--- /dev/null
+++ b/protocol/proto/TakeEffigyRewardReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeEffigyRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2040
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeEffigyRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardIndex uint32 `protobuf:"varint,14,opt,name=reward_index,json=rewardIndex,proto3" json:"reward_index,omitempty"`
+}
+
+func (x *TakeEffigyRewardReq) Reset() {
+ *x = TakeEffigyRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeEffigyRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeEffigyRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeEffigyRewardReq) ProtoMessage() {}
+
+func (x *TakeEffigyRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeEffigyRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeEffigyRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeEffigyRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeEffigyRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeEffigyRewardReq) GetRewardIndex() uint32 {
+ if x != nil {
+ return x.RewardIndex
+ }
+ return 0
+}
+
+var File_TakeEffigyRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeEffigyRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x61, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x13, 0x54, 0x61, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeEffigyRewardReq_proto_rawDescOnce sync.Once
+ file_TakeEffigyRewardReq_proto_rawDescData = file_TakeEffigyRewardReq_proto_rawDesc
+)
+
+func file_TakeEffigyRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeEffigyRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeEffigyRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeEffigyRewardReq_proto_rawDescData)
+ })
+ return file_TakeEffigyRewardReq_proto_rawDescData
+}
+
+var file_TakeEffigyRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeEffigyRewardReq_proto_goTypes = []interface{}{
+ (*TakeEffigyRewardReq)(nil), // 0: proto.TakeEffigyRewardReq
+}
+var file_TakeEffigyRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeEffigyRewardReq_proto_init() }
+func file_TakeEffigyRewardReq_proto_init() {
+ if File_TakeEffigyRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeEffigyRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeEffigyRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeEffigyRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeEffigyRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeEffigyRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeEffigyRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeEffigyRewardReq_proto = out.File
+ file_TakeEffigyRewardReq_proto_rawDesc = nil
+ file_TakeEffigyRewardReq_proto_goTypes = nil
+ file_TakeEffigyRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeEffigyRewardRsp.pb.go b/protocol/proto/TakeEffigyRewardRsp.pb.go
new file mode 100644
index 00000000..bd483ac4
--- /dev/null
+++ b/protocol/proto/TakeEffigyRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeEffigyRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2007
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeEffigyRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RewardIndex uint32 `protobuf:"varint,7,opt,name=reward_index,json=rewardIndex,proto3" json:"reward_index,omitempty"`
+}
+
+func (x *TakeEffigyRewardRsp) Reset() {
+ *x = TakeEffigyRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeEffigyRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeEffigyRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeEffigyRewardRsp) ProtoMessage() {}
+
+func (x *TakeEffigyRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeEffigyRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeEffigyRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeEffigyRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeEffigyRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeEffigyRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeEffigyRewardRsp) GetRewardIndex() uint32 {
+ if x != nil {
+ return x.RewardIndex
+ }
+ return 0
+}
+
+var File_TakeEffigyRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeEffigyRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x61, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x13, 0x54, 0x61, 0x6b, 0x65, 0x45, 0x66, 0x66, 0x69, 0x67, 0x79,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e,
+ 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeEffigyRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeEffigyRewardRsp_proto_rawDescData = file_TakeEffigyRewardRsp_proto_rawDesc
+)
+
+func file_TakeEffigyRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeEffigyRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeEffigyRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeEffigyRewardRsp_proto_rawDescData)
+ })
+ return file_TakeEffigyRewardRsp_proto_rawDescData
+}
+
+var file_TakeEffigyRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeEffigyRewardRsp_proto_goTypes = []interface{}{
+ (*TakeEffigyRewardRsp)(nil), // 0: proto.TakeEffigyRewardRsp
+}
+var file_TakeEffigyRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeEffigyRewardRsp_proto_init() }
+func file_TakeEffigyRewardRsp_proto_init() {
+ if File_TakeEffigyRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeEffigyRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeEffigyRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeEffigyRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeEffigyRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeEffigyRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeEffigyRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeEffigyRewardRsp_proto = out.File
+ file_TakeEffigyRewardRsp_proto_rawDesc = nil
+ file_TakeEffigyRewardRsp_proto_goTypes = nil
+ file_TakeEffigyRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeFirstShareRewardReq.pb.go b/protocol/proto/TakeFirstShareRewardReq.pb.go
new file mode 100644
index 00000000..ab164455
--- /dev/null
+++ b/protocol/proto/TakeFirstShareRewardReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeFirstShareRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4074
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeFirstShareRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TakeFirstShareRewardReq) Reset() {
+ *x = TakeFirstShareRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeFirstShareRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeFirstShareRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeFirstShareRewardReq) ProtoMessage() {}
+
+func (x *TakeFirstShareRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeFirstShareRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeFirstShareRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeFirstShareRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeFirstShareRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TakeFirstShareRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeFirstShareRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x19, 0x0a, 0x17, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x69,
+ 0x72, 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65,
+ 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeFirstShareRewardReq_proto_rawDescOnce sync.Once
+ file_TakeFirstShareRewardReq_proto_rawDescData = file_TakeFirstShareRewardReq_proto_rawDesc
+)
+
+func file_TakeFirstShareRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeFirstShareRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeFirstShareRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeFirstShareRewardReq_proto_rawDescData)
+ })
+ return file_TakeFirstShareRewardReq_proto_rawDescData
+}
+
+var file_TakeFirstShareRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeFirstShareRewardReq_proto_goTypes = []interface{}{
+ (*TakeFirstShareRewardReq)(nil), // 0: proto.TakeFirstShareRewardReq
+}
+var file_TakeFirstShareRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeFirstShareRewardReq_proto_init() }
+func file_TakeFirstShareRewardReq_proto_init() {
+ if File_TakeFirstShareRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeFirstShareRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeFirstShareRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeFirstShareRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeFirstShareRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeFirstShareRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeFirstShareRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeFirstShareRewardReq_proto = out.File
+ file_TakeFirstShareRewardReq_proto_rawDesc = nil
+ file_TakeFirstShareRewardReq_proto_goTypes = nil
+ file_TakeFirstShareRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeFirstShareRewardRsp.pb.go b/protocol/proto/TakeFirstShareRewardRsp.pb.go
new file mode 100644
index 00000000..869fd41c
--- /dev/null
+++ b/protocol/proto/TakeFirstShareRewardRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeFirstShareRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4076
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeFirstShareRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeFirstShareRewardRsp) Reset() {
+ *x = TakeFirstShareRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeFirstShareRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeFirstShareRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeFirstShareRewardRsp) ProtoMessage() {}
+
+func (x *TakeFirstShareRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeFirstShareRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeFirstShareRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeFirstShareRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeFirstShareRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeFirstShareRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeFirstShareRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeFirstShareRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x69,
+ 0x72, 0x73, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeFirstShareRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeFirstShareRewardRsp_proto_rawDescData = file_TakeFirstShareRewardRsp_proto_rawDesc
+)
+
+func file_TakeFirstShareRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeFirstShareRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeFirstShareRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeFirstShareRewardRsp_proto_rawDescData)
+ })
+ return file_TakeFirstShareRewardRsp_proto_rawDescData
+}
+
+var file_TakeFirstShareRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeFirstShareRewardRsp_proto_goTypes = []interface{}{
+ (*TakeFirstShareRewardRsp)(nil), // 0: proto.TakeFirstShareRewardRsp
+}
+var file_TakeFirstShareRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeFirstShareRewardRsp_proto_init() }
+func file_TakeFirstShareRewardRsp_proto_init() {
+ if File_TakeFirstShareRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeFirstShareRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeFirstShareRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeFirstShareRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeFirstShareRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeFirstShareRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeFirstShareRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeFirstShareRewardRsp_proto = out.File
+ file_TakeFirstShareRewardRsp_proto_rawDesc = nil
+ file_TakeFirstShareRewardRsp_proto_goTypes = nil
+ file_TakeFirstShareRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeFurnitureMakeReq.pb.go b/protocol/proto/TakeFurnitureMakeReq.pb.go
new file mode 100644
index 00000000..ea5ffadf
--- /dev/null
+++ b/protocol/proto/TakeFurnitureMakeReq.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeFurnitureMakeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4772
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeFurnitureMakeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Index uint32 `protobuf:"varint,8,opt,name=index,proto3" json:"index,omitempty"`
+ IsFastFinish bool `protobuf:"varint,12,opt,name=is_fast_finish,json=isFastFinish,proto3" json:"is_fast_finish,omitempty"`
+ MakeId uint32 `protobuf:"varint,7,opt,name=make_id,json=makeId,proto3" json:"make_id,omitempty"`
+}
+
+func (x *TakeFurnitureMakeReq) Reset() {
+ *x = TakeFurnitureMakeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeFurnitureMakeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeFurnitureMakeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeFurnitureMakeReq) ProtoMessage() {}
+
+func (x *TakeFurnitureMakeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeFurnitureMakeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeFurnitureMakeReq.ProtoReflect.Descriptor instead.
+func (*TakeFurnitureMakeReq) Descriptor() ([]byte, []int) {
+ return file_TakeFurnitureMakeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeFurnitureMakeReq) GetIndex() uint32 {
+ if x != nil {
+ return x.Index
+ }
+ return 0
+}
+
+func (x *TakeFurnitureMakeReq) GetIsFastFinish() bool {
+ if x != nil {
+ return x.IsFastFinish
+ }
+ return false
+}
+
+func (x *TakeFurnitureMakeReq) GetMakeId() uint32 {
+ if x != nil {
+ return x.MakeId
+ }
+ return 0
+}
+
+var File_TakeFurnitureMakeReq_proto protoreflect.FileDescriptor
+
+var file_TakeFurnitureMakeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x14, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x46, 0x61, 0x73,
+ 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x6b, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x61, 0x6b, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeFurnitureMakeReq_proto_rawDescOnce sync.Once
+ file_TakeFurnitureMakeReq_proto_rawDescData = file_TakeFurnitureMakeReq_proto_rawDesc
+)
+
+func file_TakeFurnitureMakeReq_proto_rawDescGZIP() []byte {
+ file_TakeFurnitureMakeReq_proto_rawDescOnce.Do(func() {
+ file_TakeFurnitureMakeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeFurnitureMakeReq_proto_rawDescData)
+ })
+ return file_TakeFurnitureMakeReq_proto_rawDescData
+}
+
+var file_TakeFurnitureMakeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeFurnitureMakeReq_proto_goTypes = []interface{}{
+ (*TakeFurnitureMakeReq)(nil), // 0: proto.TakeFurnitureMakeReq
+}
+var file_TakeFurnitureMakeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeFurnitureMakeReq_proto_init() }
+func file_TakeFurnitureMakeReq_proto_init() {
+ if File_TakeFurnitureMakeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeFurnitureMakeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeFurnitureMakeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeFurnitureMakeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeFurnitureMakeReq_proto_goTypes,
+ DependencyIndexes: file_TakeFurnitureMakeReq_proto_depIdxs,
+ MessageInfos: file_TakeFurnitureMakeReq_proto_msgTypes,
+ }.Build()
+ File_TakeFurnitureMakeReq_proto = out.File
+ file_TakeFurnitureMakeReq_proto_rawDesc = nil
+ file_TakeFurnitureMakeReq_proto_goTypes = nil
+ file_TakeFurnitureMakeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeFurnitureMakeRsp.pb.go b/protocol/proto/TakeFurnitureMakeRsp.pb.go
new file mode 100644
index 00000000..63b5bc4a
--- /dev/null
+++ b/protocol/proto/TakeFurnitureMakeRsp.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeFurnitureMakeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4769
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeFurnitureMakeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureMakeSlot *FurnitureMakeSlot `protobuf:"bytes,8,opt,name=furniture_make_slot,json=furnitureMakeSlot,proto3" json:"furniture_make_slot,omitempty"`
+ ReturnItemList []*ItemParam `protobuf:"bytes,2,rep,name=return_item_list,json=returnItemList,proto3" json:"return_item_list,omitempty"`
+ MakeId uint32 `protobuf:"varint,6,opt,name=make_id,json=makeId,proto3" json:"make_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OutputItemList []*ItemParam `protobuf:"bytes,14,rep,name=output_item_list,json=outputItemList,proto3" json:"output_item_list,omitempty"`
+}
+
+func (x *TakeFurnitureMakeRsp) Reset() {
+ *x = TakeFurnitureMakeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeFurnitureMakeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeFurnitureMakeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeFurnitureMakeRsp) ProtoMessage() {}
+
+func (x *TakeFurnitureMakeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeFurnitureMakeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeFurnitureMakeRsp.ProtoReflect.Descriptor instead.
+func (*TakeFurnitureMakeRsp) Descriptor() ([]byte, []int) {
+ return file_TakeFurnitureMakeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeFurnitureMakeRsp) GetFurnitureMakeSlot() *FurnitureMakeSlot {
+ if x != nil {
+ return x.FurnitureMakeSlot
+ }
+ return nil
+}
+
+func (x *TakeFurnitureMakeRsp) GetReturnItemList() []*ItemParam {
+ if x != nil {
+ return x.ReturnItemList
+ }
+ return nil
+}
+
+func (x *TakeFurnitureMakeRsp) GetMakeId() uint32 {
+ if x != nil {
+ return x.MakeId
+ }
+ return 0
+}
+
+func (x *TakeFurnitureMakeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeFurnitureMakeRsp) GetOutputItemList() []*ItemParam {
+ if x != nil {
+ return x.OutputItemList
+ }
+ return nil
+}
+
+var File_TakeFurnitureMakeRsp_proto protoreflect.FileDescriptor
+
+var file_TakeFurnitureMakeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x6b, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61,
+ 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74,
+ 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02,
+ 0x0a, 0x14, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x6b, 0x65, 0x52, 0x73, 0x70, 0x12, 0x48, 0x0a, 0x13, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x75, 0x72, 0x6e,
+ 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x11, 0x66,
+ 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x6c, 0x6f, 0x74,
+ 0x12, 0x3a, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x72, 0x65,
+ 0x74, 0x75, 0x72, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07,
+ 0x6d, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d,
+ 0x61, 0x6b, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x3a, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x6f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeFurnitureMakeRsp_proto_rawDescOnce sync.Once
+ file_TakeFurnitureMakeRsp_proto_rawDescData = file_TakeFurnitureMakeRsp_proto_rawDesc
+)
+
+func file_TakeFurnitureMakeRsp_proto_rawDescGZIP() []byte {
+ file_TakeFurnitureMakeRsp_proto_rawDescOnce.Do(func() {
+ file_TakeFurnitureMakeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeFurnitureMakeRsp_proto_rawDescData)
+ })
+ return file_TakeFurnitureMakeRsp_proto_rawDescData
+}
+
+var file_TakeFurnitureMakeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeFurnitureMakeRsp_proto_goTypes = []interface{}{
+ (*TakeFurnitureMakeRsp)(nil), // 0: proto.TakeFurnitureMakeRsp
+ (*FurnitureMakeSlot)(nil), // 1: proto.FurnitureMakeSlot
+ (*ItemParam)(nil), // 2: proto.ItemParam
+}
+var file_TakeFurnitureMakeRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeFurnitureMakeRsp.furniture_make_slot:type_name -> proto.FurnitureMakeSlot
+ 2, // 1: proto.TakeFurnitureMakeRsp.return_item_list:type_name -> proto.ItemParam
+ 2, // 2: proto.TakeFurnitureMakeRsp.output_item_list:type_name -> proto.ItemParam
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_TakeFurnitureMakeRsp_proto_init() }
+func file_TakeFurnitureMakeRsp_proto_init() {
+ if File_TakeFurnitureMakeRsp_proto != nil {
+ return
+ }
+ file_FurnitureMakeSlot_proto_init()
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeFurnitureMakeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeFurnitureMakeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeFurnitureMakeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeFurnitureMakeRsp_proto_goTypes,
+ DependencyIndexes: file_TakeFurnitureMakeRsp_proto_depIdxs,
+ MessageInfos: file_TakeFurnitureMakeRsp_proto_msgTypes,
+ }.Build()
+ File_TakeFurnitureMakeRsp_proto = out.File
+ file_TakeFurnitureMakeRsp_proto_rawDesc = nil
+ file_TakeFurnitureMakeRsp_proto_goTypes = nil
+ file_TakeFurnitureMakeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeHuntingOfferReq.pb.go b/protocol/proto/TakeHuntingOfferReq.pb.go
new file mode 100644
index 00000000..ad17d1f6
--- /dev/null
+++ b/protocol/proto/TakeHuntingOfferReq.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeHuntingOfferReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4326
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeHuntingOfferReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HuntingPair *HuntingPair `protobuf:"bytes,14,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+ CityId uint32 `protobuf:"varint,4,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+}
+
+func (x *TakeHuntingOfferReq) Reset() {
+ *x = TakeHuntingOfferReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeHuntingOfferReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeHuntingOfferReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeHuntingOfferReq) ProtoMessage() {}
+
+func (x *TakeHuntingOfferReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeHuntingOfferReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeHuntingOfferReq.ProtoReflect.Descriptor instead.
+func (*TakeHuntingOfferReq) Descriptor() ([]byte, []int) {
+ return file_TakeHuntingOfferReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeHuntingOfferReq) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+func (x *TakeHuntingOfferReq) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+var File_TakeHuntingOfferReq_proto protoreflect.FileDescriptor
+
+var file_TakeHuntingOfferReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x61, 0x6b, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66,
+ 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x13, 0x54, 0x61, 0x6b, 0x65, 0x48, 0x75, 0x6e,
+ 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x35, 0x0a, 0x0c,
+ 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69,
+ 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50,
+ 0x61, 0x69, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeHuntingOfferReq_proto_rawDescOnce sync.Once
+ file_TakeHuntingOfferReq_proto_rawDescData = file_TakeHuntingOfferReq_proto_rawDesc
+)
+
+func file_TakeHuntingOfferReq_proto_rawDescGZIP() []byte {
+ file_TakeHuntingOfferReq_proto_rawDescOnce.Do(func() {
+ file_TakeHuntingOfferReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeHuntingOfferReq_proto_rawDescData)
+ })
+ return file_TakeHuntingOfferReq_proto_rawDescData
+}
+
+var file_TakeHuntingOfferReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeHuntingOfferReq_proto_goTypes = []interface{}{
+ (*TakeHuntingOfferReq)(nil), // 0: proto.TakeHuntingOfferReq
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+}
+var file_TakeHuntingOfferReq_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeHuntingOfferReq.hunting_pair:type_name -> proto.HuntingPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeHuntingOfferReq_proto_init() }
+func file_TakeHuntingOfferReq_proto_init() {
+ if File_TakeHuntingOfferReq_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeHuntingOfferReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeHuntingOfferReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeHuntingOfferReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeHuntingOfferReq_proto_goTypes,
+ DependencyIndexes: file_TakeHuntingOfferReq_proto_depIdxs,
+ MessageInfos: file_TakeHuntingOfferReq_proto_msgTypes,
+ }.Build()
+ File_TakeHuntingOfferReq_proto = out.File
+ file_TakeHuntingOfferReq_proto_rawDesc = nil
+ file_TakeHuntingOfferReq_proto_goTypes = nil
+ file_TakeHuntingOfferReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeHuntingOfferRsp.pb.go b/protocol/proto/TakeHuntingOfferRsp.pb.go
new file mode 100644
index 00000000..f00c70a4
--- /dev/null
+++ b/protocol/proto/TakeHuntingOfferRsp.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeHuntingOfferRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4318
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeHuntingOfferRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HuntingPair *HuntingPair `protobuf:"bytes,13,opt,name=hunting_pair,json=huntingPair,proto3" json:"hunting_pair,omitempty"`
+ CityId uint32 `protobuf:"varint,14,opt,name=city_id,json=cityId,proto3" json:"city_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeHuntingOfferRsp) Reset() {
+ *x = TakeHuntingOfferRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeHuntingOfferRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeHuntingOfferRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeHuntingOfferRsp) ProtoMessage() {}
+
+func (x *TakeHuntingOfferRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeHuntingOfferRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeHuntingOfferRsp.ProtoReflect.Descriptor instead.
+func (*TakeHuntingOfferRsp) Descriptor() ([]byte, []int) {
+ return file_TakeHuntingOfferRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeHuntingOfferRsp) GetHuntingPair() *HuntingPair {
+ if x != nil {
+ return x.HuntingPair
+ }
+ return nil
+}
+
+func (x *TakeHuntingOfferRsp) GetCityId() uint32 {
+ if x != nil {
+ return x.CityId
+ }
+ return 0
+}
+
+func (x *TakeHuntingOfferRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeHuntingOfferRsp_proto protoreflect.FileDescriptor
+
+var file_TakeHuntingOfferRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x61, 0x6b, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66,
+ 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x13, 0x54, 0x61, 0x6b, 0x65, 0x48, 0x75, 0x6e,
+ 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x0c,
+ 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69,
+ 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x50,
+ 0x61, 0x69, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeHuntingOfferRsp_proto_rawDescOnce sync.Once
+ file_TakeHuntingOfferRsp_proto_rawDescData = file_TakeHuntingOfferRsp_proto_rawDesc
+)
+
+func file_TakeHuntingOfferRsp_proto_rawDescGZIP() []byte {
+ file_TakeHuntingOfferRsp_proto_rawDescOnce.Do(func() {
+ file_TakeHuntingOfferRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeHuntingOfferRsp_proto_rawDescData)
+ })
+ return file_TakeHuntingOfferRsp_proto_rawDescData
+}
+
+var file_TakeHuntingOfferRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeHuntingOfferRsp_proto_goTypes = []interface{}{
+ (*TakeHuntingOfferRsp)(nil), // 0: proto.TakeHuntingOfferRsp
+ (*HuntingPair)(nil), // 1: proto.HuntingPair
+}
+var file_TakeHuntingOfferRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeHuntingOfferRsp.hunting_pair:type_name -> proto.HuntingPair
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeHuntingOfferRsp_proto_init() }
+func file_TakeHuntingOfferRsp_proto_init() {
+ if File_TakeHuntingOfferRsp_proto != nil {
+ return
+ }
+ file_HuntingPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeHuntingOfferRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeHuntingOfferRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeHuntingOfferRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeHuntingOfferRsp_proto_goTypes,
+ DependencyIndexes: file_TakeHuntingOfferRsp_proto_depIdxs,
+ MessageInfos: file_TakeHuntingOfferRsp_proto_msgTypes,
+ }.Build()
+ File_TakeHuntingOfferRsp_proto = out.File
+ file_TakeHuntingOfferRsp_proto_rawDesc = nil
+ file_TakeHuntingOfferRsp_proto_goTypes = nil
+ file_TakeHuntingOfferRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeInvestigationRewardReq.pb.go b/protocol/proto/TakeInvestigationRewardReq.pb.go
new file mode 100644
index 00000000..8877b5ca
--- /dev/null
+++ b/protocol/proto/TakeInvestigationRewardReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeInvestigationRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1912
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeInvestigationRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *TakeInvestigationRewardReq) Reset() {
+ *x = TakeInvestigationRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeInvestigationRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeInvestigationRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeInvestigationRewardReq) ProtoMessage() {}
+
+func (x *TakeInvestigationRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeInvestigationRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeInvestigationRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeInvestigationRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeInvestigationRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeInvestigationRewardReq) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_TakeInvestigationRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeInvestigationRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x1a, 0x54, 0x61, 0x6b,
+ 0x65, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeInvestigationRewardReq_proto_rawDescOnce sync.Once
+ file_TakeInvestigationRewardReq_proto_rawDescData = file_TakeInvestigationRewardReq_proto_rawDesc
+)
+
+func file_TakeInvestigationRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeInvestigationRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeInvestigationRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeInvestigationRewardReq_proto_rawDescData)
+ })
+ return file_TakeInvestigationRewardReq_proto_rawDescData
+}
+
+var file_TakeInvestigationRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeInvestigationRewardReq_proto_goTypes = []interface{}{
+ (*TakeInvestigationRewardReq)(nil), // 0: proto.TakeInvestigationRewardReq
+}
+var file_TakeInvestigationRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeInvestigationRewardReq_proto_init() }
+func file_TakeInvestigationRewardReq_proto_init() {
+ if File_TakeInvestigationRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeInvestigationRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeInvestigationRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeInvestigationRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeInvestigationRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeInvestigationRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeInvestigationRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeInvestigationRewardReq_proto = out.File
+ file_TakeInvestigationRewardReq_proto_rawDesc = nil
+ file_TakeInvestigationRewardReq_proto_goTypes = nil
+ file_TakeInvestigationRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeInvestigationRewardRsp.pb.go b/protocol/proto/TakeInvestigationRewardRsp.pb.go
new file mode 100644
index 00000000..01a839a1
--- /dev/null
+++ b/protocol/proto/TakeInvestigationRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeInvestigationRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1922
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeInvestigationRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Id uint32 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *TakeInvestigationRewardRsp) Reset() {
+ *x = TakeInvestigationRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeInvestigationRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeInvestigationRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeInvestigationRewardRsp) ProtoMessage() {}
+
+func (x *TakeInvestigationRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeInvestigationRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeInvestigationRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeInvestigationRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeInvestigationRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeInvestigationRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeInvestigationRewardRsp) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_TakeInvestigationRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeInvestigationRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46, 0x0a, 0x1a, 0x54, 0x61, 0x6b,
+ 0x65, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeInvestigationRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeInvestigationRewardRsp_proto_rawDescData = file_TakeInvestigationRewardRsp_proto_rawDesc
+)
+
+func file_TakeInvestigationRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeInvestigationRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeInvestigationRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeInvestigationRewardRsp_proto_rawDescData)
+ })
+ return file_TakeInvestigationRewardRsp_proto_rawDescData
+}
+
+var file_TakeInvestigationRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeInvestigationRewardRsp_proto_goTypes = []interface{}{
+ (*TakeInvestigationRewardRsp)(nil), // 0: proto.TakeInvestigationRewardRsp
+}
+var file_TakeInvestigationRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeInvestigationRewardRsp_proto_init() }
+func file_TakeInvestigationRewardRsp_proto_init() {
+ if File_TakeInvestigationRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeInvestigationRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeInvestigationRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeInvestigationRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeInvestigationRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeInvestigationRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeInvestigationRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeInvestigationRewardRsp_proto = out.File
+ file_TakeInvestigationRewardRsp_proto_rawDesc = nil
+ file_TakeInvestigationRewardRsp_proto_goTypes = nil
+ file_TakeInvestigationRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeInvestigationTargetRewardReq.pb.go b/protocol/proto/TakeInvestigationTargetRewardReq.pb.go
new file mode 100644
index 00000000..d805457a
--- /dev/null
+++ b/protocol/proto/TakeInvestigationTargetRewardReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeInvestigationTargetRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1918
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeInvestigationTargetRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QuestId uint32 `protobuf:"varint,11,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *TakeInvestigationTargetRewardReq) Reset() {
+ *x = TakeInvestigationTargetRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeInvestigationTargetRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeInvestigationTargetRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeInvestigationTargetRewardReq) ProtoMessage() {}
+
+func (x *TakeInvestigationTargetRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeInvestigationTargetRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeInvestigationTargetRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeInvestigationTargetRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeInvestigationTargetRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeInvestigationTargetRewardReq) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_TakeInvestigationTargetRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeInvestigationTargetRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x3d, 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TakeInvestigationTargetRewardReq_proto_rawDescOnce sync.Once
+ file_TakeInvestigationTargetRewardReq_proto_rawDescData = file_TakeInvestigationTargetRewardReq_proto_rawDesc
+)
+
+func file_TakeInvestigationTargetRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeInvestigationTargetRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeInvestigationTargetRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeInvestigationTargetRewardReq_proto_rawDescData)
+ })
+ return file_TakeInvestigationTargetRewardReq_proto_rawDescData
+}
+
+var file_TakeInvestigationTargetRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeInvestigationTargetRewardReq_proto_goTypes = []interface{}{
+ (*TakeInvestigationTargetRewardReq)(nil), // 0: proto.TakeInvestigationTargetRewardReq
+}
+var file_TakeInvestigationTargetRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeInvestigationTargetRewardReq_proto_init() }
+func file_TakeInvestigationTargetRewardReq_proto_init() {
+ if File_TakeInvestigationTargetRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeInvestigationTargetRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeInvestigationTargetRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeInvestigationTargetRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeInvestigationTargetRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeInvestigationTargetRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeInvestigationTargetRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeInvestigationTargetRewardReq_proto = out.File
+ file_TakeInvestigationTargetRewardReq_proto_rawDesc = nil
+ file_TakeInvestigationTargetRewardReq_proto_goTypes = nil
+ file_TakeInvestigationTargetRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeInvestigationTargetRewardRsp.pb.go b/protocol/proto/TakeInvestigationTargetRewardRsp.pb.go
new file mode 100644
index 00000000..4b6e1e49
--- /dev/null
+++ b/protocol/proto/TakeInvestigationTargetRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeInvestigationTargetRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1916
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeInvestigationTargetRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ QuestId uint32 `protobuf:"varint,2,opt,name=quest_id,json=questId,proto3" json:"quest_id,omitempty"`
+}
+
+func (x *TakeInvestigationTargetRewardRsp) Reset() {
+ *x = TakeInvestigationTargetRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeInvestigationTargetRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeInvestigationTargetRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeInvestigationTargetRewardRsp) ProtoMessage() {}
+
+func (x *TakeInvestigationTargetRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeInvestigationTargetRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeInvestigationTargetRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeInvestigationTargetRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeInvestigationTargetRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeInvestigationTargetRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeInvestigationTargetRewardRsp) GetQuestId() uint32 {
+ if x != nil {
+ return x.QuestId
+ }
+ return 0
+}
+
+var File_TakeInvestigationTargetRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeInvestigationTargetRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x57, 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x49, 0x6e, 0x76, 0x65, 0x73, 0x74, 0x69, 0x67, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a,
+ 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeInvestigationTargetRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeInvestigationTargetRewardRsp_proto_rawDescData = file_TakeInvestigationTargetRewardRsp_proto_rawDesc
+)
+
+func file_TakeInvestigationTargetRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeInvestigationTargetRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeInvestigationTargetRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeInvestigationTargetRewardRsp_proto_rawDescData)
+ })
+ return file_TakeInvestigationTargetRewardRsp_proto_rawDescData
+}
+
+var file_TakeInvestigationTargetRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeInvestigationTargetRewardRsp_proto_goTypes = []interface{}{
+ (*TakeInvestigationTargetRewardRsp)(nil), // 0: proto.TakeInvestigationTargetRewardRsp
+}
+var file_TakeInvestigationTargetRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeInvestigationTargetRewardRsp_proto_init() }
+func file_TakeInvestigationTargetRewardRsp_proto_init() {
+ if File_TakeInvestigationTargetRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeInvestigationTargetRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeInvestigationTargetRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeInvestigationTargetRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeInvestigationTargetRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeInvestigationTargetRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeInvestigationTargetRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeInvestigationTargetRewardRsp_proto = out.File
+ file_TakeInvestigationTargetRewardRsp_proto_rawDesc = nil
+ file_TakeInvestigationTargetRewardRsp_proto_goTypes = nil
+ file_TakeInvestigationTargetRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeMaterialDeleteReturnReq.pb.go b/protocol/proto/TakeMaterialDeleteReturnReq.pb.go
new file mode 100644
index 00000000..d028a6c8
--- /dev/null
+++ b/protocol/proto/TakeMaterialDeleteReturnReq.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeMaterialDeleteReturnReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 629
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeMaterialDeleteReturnReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type MaterialDeleteReturnType `protobuf:"varint,8,opt,name=type,proto3,enum=proto.MaterialDeleteReturnType" json:"type,omitempty"`
+}
+
+func (x *TakeMaterialDeleteReturnReq) Reset() {
+ *x = TakeMaterialDeleteReturnReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeMaterialDeleteReturnReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeMaterialDeleteReturnReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeMaterialDeleteReturnReq) ProtoMessage() {}
+
+func (x *TakeMaterialDeleteReturnReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeMaterialDeleteReturnReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeMaterialDeleteReturnReq.ProtoReflect.Descriptor instead.
+func (*TakeMaterialDeleteReturnReq) Descriptor() ([]byte, []int) {
+ return file_TakeMaterialDeleteReturnReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeMaterialDeleteReturnReq) GetType() MaterialDeleteReturnType {
+ if x != nil {
+ return x.Type
+ }
+ return MaterialDeleteReturnType_MATERIAL_DELETE_RETURN_TYPE_BAG
+}
+
+var File_TakeMaterialDeleteReturnReq_proto protoreflect.FileDescriptor
+
+var file_TakeMaterialDeleteReturnReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x4d, 0x61, 0x74, 0x65,
+ 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e,
+ 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x1b, 0x54, 0x61,
+ 0x6b, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a, 0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
+ 0x74, 0x75, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TakeMaterialDeleteReturnReq_proto_rawDescOnce sync.Once
+ file_TakeMaterialDeleteReturnReq_proto_rawDescData = file_TakeMaterialDeleteReturnReq_proto_rawDesc
+)
+
+func file_TakeMaterialDeleteReturnReq_proto_rawDescGZIP() []byte {
+ file_TakeMaterialDeleteReturnReq_proto_rawDescOnce.Do(func() {
+ file_TakeMaterialDeleteReturnReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeMaterialDeleteReturnReq_proto_rawDescData)
+ })
+ return file_TakeMaterialDeleteReturnReq_proto_rawDescData
+}
+
+var file_TakeMaterialDeleteReturnReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeMaterialDeleteReturnReq_proto_goTypes = []interface{}{
+ (*TakeMaterialDeleteReturnReq)(nil), // 0: proto.TakeMaterialDeleteReturnReq
+ (MaterialDeleteReturnType)(0), // 1: proto.MaterialDeleteReturnType
+}
+var file_TakeMaterialDeleteReturnReq_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeMaterialDeleteReturnReq.type:type_name -> proto.MaterialDeleteReturnType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeMaterialDeleteReturnReq_proto_init() }
+func file_TakeMaterialDeleteReturnReq_proto_init() {
+ if File_TakeMaterialDeleteReturnReq_proto != nil {
+ return
+ }
+ file_MaterialDeleteReturnType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeMaterialDeleteReturnReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeMaterialDeleteReturnReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeMaterialDeleteReturnReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeMaterialDeleteReturnReq_proto_goTypes,
+ DependencyIndexes: file_TakeMaterialDeleteReturnReq_proto_depIdxs,
+ MessageInfos: file_TakeMaterialDeleteReturnReq_proto_msgTypes,
+ }.Build()
+ File_TakeMaterialDeleteReturnReq_proto = out.File
+ file_TakeMaterialDeleteReturnReq_proto_rawDesc = nil
+ file_TakeMaterialDeleteReturnReq_proto_goTypes = nil
+ file_TakeMaterialDeleteReturnReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeMaterialDeleteReturnRsp.pb.go b/protocol/proto/TakeMaterialDeleteReturnRsp.pb.go
new file mode 100644
index 00000000..e27152d8
--- /dev/null
+++ b/protocol/proto/TakeMaterialDeleteReturnRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeMaterialDeleteReturnRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 657
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeMaterialDeleteReturnRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeMaterialDeleteReturnRsp) Reset() {
+ *x = TakeMaterialDeleteReturnRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeMaterialDeleteReturnRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeMaterialDeleteReturnRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeMaterialDeleteReturnRsp) ProtoMessage() {}
+
+func (x *TakeMaterialDeleteReturnRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeMaterialDeleteReturnRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeMaterialDeleteReturnRsp.ProtoReflect.Descriptor instead.
+func (*TakeMaterialDeleteReturnRsp) Descriptor() ([]byte, []int) {
+ return file_TakeMaterialDeleteReturnRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeMaterialDeleteReturnRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeMaterialDeleteReturnRsp_proto protoreflect.FileDescriptor
+
+var file_TakeMaterialDeleteReturnRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x1b, 0x54, 0x61,
+ 0x6b, 0x65, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeMaterialDeleteReturnRsp_proto_rawDescOnce sync.Once
+ file_TakeMaterialDeleteReturnRsp_proto_rawDescData = file_TakeMaterialDeleteReturnRsp_proto_rawDesc
+)
+
+func file_TakeMaterialDeleteReturnRsp_proto_rawDescGZIP() []byte {
+ file_TakeMaterialDeleteReturnRsp_proto_rawDescOnce.Do(func() {
+ file_TakeMaterialDeleteReturnRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeMaterialDeleteReturnRsp_proto_rawDescData)
+ })
+ return file_TakeMaterialDeleteReturnRsp_proto_rawDescData
+}
+
+var file_TakeMaterialDeleteReturnRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeMaterialDeleteReturnRsp_proto_goTypes = []interface{}{
+ (*TakeMaterialDeleteReturnRsp)(nil), // 0: proto.TakeMaterialDeleteReturnRsp
+}
+var file_TakeMaterialDeleteReturnRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeMaterialDeleteReturnRsp_proto_init() }
+func file_TakeMaterialDeleteReturnRsp_proto_init() {
+ if File_TakeMaterialDeleteReturnRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeMaterialDeleteReturnRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeMaterialDeleteReturnRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeMaterialDeleteReturnRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeMaterialDeleteReturnRsp_proto_goTypes,
+ DependencyIndexes: file_TakeMaterialDeleteReturnRsp_proto_depIdxs,
+ MessageInfos: file_TakeMaterialDeleteReturnRsp_proto_msgTypes,
+ }.Build()
+ File_TakeMaterialDeleteReturnRsp_proto = out.File
+ file_TakeMaterialDeleteReturnRsp_proto_rawDesc = nil
+ file_TakeMaterialDeleteReturnRsp_proto_goTypes = nil
+ file_TakeMaterialDeleteReturnRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeOfferingLevelRewardReq.pb.go b/protocol/proto/TakeOfferingLevelRewardReq.pb.go
new file mode 100644
index 00000000..5ef01466
--- /dev/null
+++ b/protocol/proto/TakeOfferingLevelRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeOfferingLevelRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2919
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeOfferingLevelRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,6,opt,name=level,proto3" json:"level,omitempty"`
+ OfferingId uint32 `protobuf:"varint,11,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"`
+}
+
+func (x *TakeOfferingLevelRewardReq) Reset() {
+ *x = TakeOfferingLevelRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeOfferingLevelRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeOfferingLevelRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeOfferingLevelRewardReq) ProtoMessage() {}
+
+func (x *TakeOfferingLevelRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeOfferingLevelRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeOfferingLevelRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeOfferingLevelRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeOfferingLevelRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeOfferingLevelRewardReq) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *TakeOfferingLevelRewardReq) GetOfferingId() uint32 {
+ if x != nil {
+ return x.OfferingId
+ }
+ return 0
+}
+
+var File_TakeOfferingLevelRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeOfferingLevelRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1a, 0x54, 0x61, 0x6b,
+ 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TakeOfferingLevelRewardReq_proto_rawDescOnce sync.Once
+ file_TakeOfferingLevelRewardReq_proto_rawDescData = file_TakeOfferingLevelRewardReq_proto_rawDesc
+)
+
+func file_TakeOfferingLevelRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeOfferingLevelRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeOfferingLevelRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeOfferingLevelRewardReq_proto_rawDescData)
+ })
+ return file_TakeOfferingLevelRewardReq_proto_rawDescData
+}
+
+var file_TakeOfferingLevelRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeOfferingLevelRewardReq_proto_goTypes = []interface{}{
+ (*TakeOfferingLevelRewardReq)(nil), // 0: proto.TakeOfferingLevelRewardReq
+}
+var file_TakeOfferingLevelRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeOfferingLevelRewardReq_proto_init() }
+func file_TakeOfferingLevelRewardReq_proto_init() {
+ if File_TakeOfferingLevelRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeOfferingLevelRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeOfferingLevelRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeOfferingLevelRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeOfferingLevelRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeOfferingLevelRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeOfferingLevelRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeOfferingLevelRewardReq_proto = out.File
+ file_TakeOfferingLevelRewardReq_proto_rawDesc = nil
+ file_TakeOfferingLevelRewardReq_proto_goTypes = nil
+ file_TakeOfferingLevelRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeOfferingLevelRewardRsp.pb.go b/protocol/proto/TakeOfferingLevelRewardRsp.pb.go
new file mode 100644
index 00000000..53545c03
--- /dev/null
+++ b/protocol/proto/TakeOfferingLevelRewardRsp.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeOfferingLevelRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2911
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeOfferingLevelRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OfferingId uint32 `protobuf:"varint,3,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"`
+ TakeLevel uint32 `protobuf:"varint,4,opt,name=take_level,json=takeLevel,proto3" json:"take_level,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,2,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *TakeOfferingLevelRewardRsp) Reset() {
+ *x = TakeOfferingLevelRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeOfferingLevelRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeOfferingLevelRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeOfferingLevelRewardRsp) ProtoMessage() {}
+
+func (x *TakeOfferingLevelRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeOfferingLevelRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeOfferingLevelRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeOfferingLevelRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeOfferingLevelRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeOfferingLevelRewardRsp) GetOfferingId() uint32 {
+ if x != nil {
+ return x.OfferingId
+ }
+ return 0
+}
+
+func (x *TakeOfferingLevelRewardRsp) GetTakeLevel() uint32 {
+ if x != nil {
+ return x.TakeLevel
+ }
+ return 0
+}
+
+func (x *TakeOfferingLevelRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeOfferingLevelRewardRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_TakeOfferingLevelRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeOfferingLevelRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x01, 0x0a, 0x1a, 0x54,
+ 0x61, 0x6b, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66,
+ 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61,
+ 0x6b, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x74, 0x61, 0x6b, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49,
+ 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeOfferingLevelRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeOfferingLevelRewardRsp_proto_rawDescData = file_TakeOfferingLevelRewardRsp_proto_rawDesc
+)
+
+func file_TakeOfferingLevelRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeOfferingLevelRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeOfferingLevelRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeOfferingLevelRewardRsp_proto_rawDescData)
+ })
+ return file_TakeOfferingLevelRewardRsp_proto_rawDescData
+}
+
+var file_TakeOfferingLevelRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeOfferingLevelRewardRsp_proto_goTypes = []interface{}{
+ (*TakeOfferingLevelRewardRsp)(nil), // 0: proto.TakeOfferingLevelRewardRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_TakeOfferingLevelRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeOfferingLevelRewardRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeOfferingLevelRewardRsp_proto_init() }
+func file_TakeOfferingLevelRewardRsp_proto_init() {
+ if File_TakeOfferingLevelRewardRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeOfferingLevelRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeOfferingLevelRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeOfferingLevelRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeOfferingLevelRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeOfferingLevelRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeOfferingLevelRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeOfferingLevelRewardRsp_proto = out.File
+ file_TakeOfferingLevelRewardRsp_proto_rawDesc = nil
+ file_TakeOfferingLevelRewardRsp_proto_goTypes = nil
+ file_TakeOfferingLevelRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakePlayerLevelRewardReq.pb.go b/protocol/proto/TakePlayerLevelRewardReq.pb.go
new file mode 100644
index 00000000..de2645b6
--- /dev/null
+++ b/protocol/proto/TakePlayerLevelRewardReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakePlayerLevelRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 129
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakePlayerLevelRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,3,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *TakePlayerLevelRewardReq) Reset() {
+ *x = TakePlayerLevelRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakePlayerLevelRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakePlayerLevelRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakePlayerLevelRewardReq) ProtoMessage() {}
+
+func (x *TakePlayerLevelRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakePlayerLevelRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakePlayerLevelRewardReq.ProtoReflect.Descriptor instead.
+func (*TakePlayerLevelRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakePlayerLevelRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakePlayerLevelRewardReq) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_TakePlayerLevelRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakePlayerLevelRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x54, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x18, 0x54, 0x61, 0x6b, 0x65, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakePlayerLevelRewardReq_proto_rawDescOnce sync.Once
+ file_TakePlayerLevelRewardReq_proto_rawDescData = file_TakePlayerLevelRewardReq_proto_rawDesc
+)
+
+func file_TakePlayerLevelRewardReq_proto_rawDescGZIP() []byte {
+ file_TakePlayerLevelRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakePlayerLevelRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakePlayerLevelRewardReq_proto_rawDescData)
+ })
+ return file_TakePlayerLevelRewardReq_proto_rawDescData
+}
+
+var file_TakePlayerLevelRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakePlayerLevelRewardReq_proto_goTypes = []interface{}{
+ (*TakePlayerLevelRewardReq)(nil), // 0: proto.TakePlayerLevelRewardReq
+}
+var file_TakePlayerLevelRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakePlayerLevelRewardReq_proto_init() }
+func file_TakePlayerLevelRewardReq_proto_init() {
+ if File_TakePlayerLevelRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakePlayerLevelRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakePlayerLevelRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakePlayerLevelRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakePlayerLevelRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakePlayerLevelRewardReq_proto_depIdxs,
+ MessageInfos: file_TakePlayerLevelRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakePlayerLevelRewardReq_proto = out.File
+ file_TakePlayerLevelRewardReq_proto_rawDesc = nil
+ file_TakePlayerLevelRewardReq_proto_goTypes = nil
+ file_TakePlayerLevelRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakePlayerLevelRewardRsp.pb.go b/protocol/proto/TakePlayerLevelRewardRsp.pb.go
new file mode 100644
index 00000000..ae2e9947
--- /dev/null
+++ b/protocol/proto/TakePlayerLevelRewardRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakePlayerLevelRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 157
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakePlayerLevelRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId uint32 `protobuf:"varint,9,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Level uint32 `protobuf:"varint,6,opt,name=level,proto3" json:"level,omitempty"`
+}
+
+func (x *TakePlayerLevelRewardRsp) Reset() {
+ *x = TakePlayerLevelRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakePlayerLevelRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakePlayerLevelRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakePlayerLevelRewardRsp) ProtoMessage() {}
+
+func (x *TakePlayerLevelRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakePlayerLevelRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakePlayerLevelRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakePlayerLevelRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakePlayerLevelRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakePlayerLevelRewardRsp) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *TakePlayerLevelRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakePlayerLevelRewardRsp) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+var File_TakePlayerLevelRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakePlayerLevelRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x54, 0x61, 0x6b, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x18, 0x54, 0x61, 0x6b, 0x65, 0x50,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakePlayerLevelRewardRsp_proto_rawDescOnce sync.Once
+ file_TakePlayerLevelRewardRsp_proto_rawDescData = file_TakePlayerLevelRewardRsp_proto_rawDesc
+)
+
+func file_TakePlayerLevelRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakePlayerLevelRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakePlayerLevelRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakePlayerLevelRewardRsp_proto_rawDescData)
+ })
+ return file_TakePlayerLevelRewardRsp_proto_rawDescData
+}
+
+var file_TakePlayerLevelRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakePlayerLevelRewardRsp_proto_goTypes = []interface{}{
+ (*TakePlayerLevelRewardRsp)(nil), // 0: proto.TakePlayerLevelRewardRsp
+}
+var file_TakePlayerLevelRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakePlayerLevelRewardRsp_proto_init() }
+func file_TakePlayerLevelRewardRsp_proto_init() {
+ if File_TakePlayerLevelRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakePlayerLevelRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakePlayerLevelRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakePlayerLevelRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakePlayerLevelRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakePlayerLevelRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakePlayerLevelRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakePlayerLevelRewardRsp_proto = out.File
+ file_TakePlayerLevelRewardRsp_proto_rawDesc = nil
+ file_TakePlayerLevelRewardRsp_proto_goTypes = nil
+ file_TakePlayerLevelRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeRegionSearchRewardReq.pb.go b/protocol/proto/TakeRegionSearchRewardReq.pb.go
new file mode 100644
index 00000000..f68fbda1
--- /dev/null
+++ b/protocol/proto/TakeRegionSearchRewardReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeRegionSearchRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5625
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeRegionSearchRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SearchId uint32 `protobuf:"varint,3,opt,name=search_id,json=searchId,proto3" json:"search_id,omitempty"`
+ Id uint32 `protobuf:"varint,15,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *TakeRegionSearchRewardReq) Reset() {
+ *x = TakeRegionSearchRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeRegionSearchRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeRegionSearchRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeRegionSearchRewardReq) ProtoMessage() {}
+
+func (x *TakeRegionSearchRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeRegionSearchRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeRegionSearchRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeRegionSearchRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeRegionSearchRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeRegionSearchRewardReq) GetSearchId() uint32 {
+ if x != nil {
+ return x.SearchId
+ }
+ return 0
+}
+
+func (x *TakeRegionSearchRewardReq) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_TakeRegionSearchRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeRegionSearchRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72,
+ 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x19, 0x54, 0x61, 0x6b, 0x65,
+ 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
+ 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02,
+ 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeRegionSearchRewardReq_proto_rawDescOnce sync.Once
+ file_TakeRegionSearchRewardReq_proto_rawDescData = file_TakeRegionSearchRewardReq_proto_rawDesc
+)
+
+func file_TakeRegionSearchRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeRegionSearchRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeRegionSearchRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeRegionSearchRewardReq_proto_rawDescData)
+ })
+ return file_TakeRegionSearchRewardReq_proto_rawDescData
+}
+
+var file_TakeRegionSearchRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeRegionSearchRewardReq_proto_goTypes = []interface{}{
+ (*TakeRegionSearchRewardReq)(nil), // 0: proto.TakeRegionSearchRewardReq
+}
+var file_TakeRegionSearchRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeRegionSearchRewardReq_proto_init() }
+func file_TakeRegionSearchRewardReq_proto_init() {
+ if File_TakeRegionSearchRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeRegionSearchRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeRegionSearchRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeRegionSearchRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeRegionSearchRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeRegionSearchRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeRegionSearchRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeRegionSearchRewardReq_proto = out.File
+ file_TakeRegionSearchRewardReq_proto_rawDesc = nil
+ file_TakeRegionSearchRewardReq_proto_goTypes = nil
+ file_TakeRegionSearchRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeRegionSearchRewardRsp.pb.go b/protocol/proto/TakeRegionSearchRewardRsp.pb.go
new file mode 100644
index 00000000..ae0a6989
--- /dev/null
+++ b/protocol/proto/TakeRegionSearchRewardRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeRegionSearchRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5607
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeRegionSearchRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SearchId uint32 `protobuf:"varint,14,opt,name=search_id,json=searchId,proto3" json:"search_id,omitempty"`
+ Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeRegionSearchRewardRsp) Reset() {
+ *x = TakeRegionSearchRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeRegionSearchRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeRegionSearchRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeRegionSearchRewardRsp) ProtoMessage() {}
+
+func (x *TakeRegionSearchRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeRegionSearchRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeRegionSearchRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeRegionSearchRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeRegionSearchRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeRegionSearchRewardRsp) GetSearchId() uint32 {
+ if x != nil {
+ return x.SearchId
+ }
+ return 0
+}
+
+func (x *TakeRegionSearchRewardRsp) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *TakeRegionSearchRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeRegionSearchRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeRegionSearchRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72,
+ 0x63, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x62, 0x0a, 0x19, 0x54, 0x61, 0x6b, 0x65,
+ 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f,
+ 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
+ 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02,
+ 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeRegionSearchRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeRegionSearchRewardRsp_proto_rawDescData = file_TakeRegionSearchRewardRsp_proto_rawDesc
+)
+
+func file_TakeRegionSearchRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeRegionSearchRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeRegionSearchRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeRegionSearchRewardRsp_proto_rawDescData)
+ })
+ return file_TakeRegionSearchRewardRsp_proto_rawDescData
+}
+
+var file_TakeRegionSearchRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeRegionSearchRewardRsp_proto_goTypes = []interface{}{
+ (*TakeRegionSearchRewardRsp)(nil), // 0: proto.TakeRegionSearchRewardRsp
+}
+var file_TakeRegionSearchRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeRegionSearchRewardRsp_proto_init() }
+func file_TakeRegionSearchRewardRsp_proto_init() {
+ if File_TakeRegionSearchRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeRegionSearchRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeRegionSearchRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeRegionSearchRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeRegionSearchRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeRegionSearchRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeRegionSearchRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeRegionSearchRewardRsp_proto = out.File
+ file_TakeRegionSearchRewardRsp_proto_rawDesc = nil
+ file_TakeRegionSearchRewardRsp_proto_goTypes = nil
+ file_TakeRegionSearchRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeResinCardDailyRewardReq.pb.go b/protocol/proto/TakeResinCardDailyRewardReq.pb.go
new file mode 100644
index 00000000..6fab3b23
--- /dev/null
+++ b/protocol/proto/TakeResinCardDailyRewardReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeResinCardDailyRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4122
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeResinCardDailyRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ProductConfigId uint32 `protobuf:"varint,14,opt,name=product_config_id,json=productConfigId,proto3" json:"product_config_id,omitempty"`
+}
+
+func (x *TakeResinCardDailyRewardReq) Reset() {
+ *x = TakeResinCardDailyRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeResinCardDailyRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeResinCardDailyRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeResinCardDailyRewardReq) ProtoMessage() {}
+
+func (x *TakeResinCardDailyRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeResinCardDailyRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeResinCardDailyRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeResinCardDailyRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeResinCardDailyRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeResinCardDailyRewardReq) GetProductConfigId() uint32 {
+ if x != nil {
+ return x.ProductConfigId
+ }
+ return 0
+}
+
+var File_TakeResinCardDailyRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeResinCardDailyRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44,
+ 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x1b, 0x54, 0x61,
+ 0x6b, 0x65, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x69, 0x6c, 0x79,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x6f,
+ 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x6e,
+ 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeResinCardDailyRewardReq_proto_rawDescOnce sync.Once
+ file_TakeResinCardDailyRewardReq_proto_rawDescData = file_TakeResinCardDailyRewardReq_proto_rawDesc
+)
+
+func file_TakeResinCardDailyRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeResinCardDailyRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeResinCardDailyRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeResinCardDailyRewardReq_proto_rawDescData)
+ })
+ return file_TakeResinCardDailyRewardReq_proto_rawDescData
+}
+
+var file_TakeResinCardDailyRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeResinCardDailyRewardReq_proto_goTypes = []interface{}{
+ (*TakeResinCardDailyRewardReq)(nil), // 0: proto.TakeResinCardDailyRewardReq
+}
+var file_TakeResinCardDailyRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeResinCardDailyRewardReq_proto_init() }
+func file_TakeResinCardDailyRewardReq_proto_init() {
+ if File_TakeResinCardDailyRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeResinCardDailyRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeResinCardDailyRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeResinCardDailyRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeResinCardDailyRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeResinCardDailyRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeResinCardDailyRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeResinCardDailyRewardReq_proto = out.File
+ file_TakeResinCardDailyRewardReq_proto_rawDesc = nil
+ file_TakeResinCardDailyRewardReq_proto_goTypes = nil
+ file_TakeResinCardDailyRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeResinCardDailyRewardRsp.pb.go b/protocol/proto/TakeResinCardDailyRewardRsp.pb.go
new file mode 100644
index 00000000..fd9df8fe
--- /dev/null
+++ b/protocol/proto/TakeResinCardDailyRewardRsp.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeResinCardDailyRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4144
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeResinCardDailyRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemVec []*ItemParam `protobuf:"bytes,6,rep,name=item_vec,json=itemVec,proto3" json:"item_vec,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ProductConfigId uint32 `protobuf:"varint,12,opt,name=product_config_id,json=productConfigId,proto3" json:"product_config_id,omitempty"`
+}
+
+func (x *TakeResinCardDailyRewardRsp) Reset() {
+ *x = TakeResinCardDailyRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeResinCardDailyRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeResinCardDailyRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeResinCardDailyRewardRsp) ProtoMessage() {}
+
+func (x *TakeResinCardDailyRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeResinCardDailyRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeResinCardDailyRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeResinCardDailyRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeResinCardDailyRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeResinCardDailyRewardRsp) GetItemVec() []*ItemParam {
+ if x != nil {
+ return x.ItemVec
+ }
+ return nil
+}
+
+func (x *TakeResinCardDailyRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeResinCardDailyRewardRsp) GetProductConfigId() uint32 {
+ if x != nil {
+ return x.ProductConfigId
+ }
+ return 0
+}
+
+var File_TakeResinCardDailyRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeResinCardDailyRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44,
+ 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x1b,
+ 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x69,
+ 0x6c, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x08, 0x69,
+ 0x74, 0x65, 0x6d, 0x5f, 0x76, 0x65, 0x63, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52,
+ 0x07, 0x69, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70,
+ 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TakeResinCardDailyRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeResinCardDailyRewardRsp_proto_rawDescData = file_TakeResinCardDailyRewardRsp_proto_rawDesc
+)
+
+func file_TakeResinCardDailyRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeResinCardDailyRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeResinCardDailyRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeResinCardDailyRewardRsp_proto_rawDescData)
+ })
+ return file_TakeResinCardDailyRewardRsp_proto_rawDescData
+}
+
+var file_TakeResinCardDailyRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeResinCardDailyRewardRsp_proto_goTypes = []interface{}{
+ (*TakeResinCardDailyRewardRsp)(nil), // 0: proto.TakeResinCardDailyRewardRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_TakeResinCardDailyRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeResinCardDailyRewardRsp.item_vec:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeResinCardDailyRewardRsp_proto_init() }
+func file_TakeResinCardDailyRewardRsp_proto_init() {
+ if File_TakeResinCardDailyRewardRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeResinCardDailyRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeResinCardDailyRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeResinCardDailyRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeResinCardDailyRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeResinCardDailyRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeResinCardDailyRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeResinCardDailyRewardRsp_proto = out.File
+ file_TakeResinCardDailyRewardRsp_proto_rawDesc = nil
+ file_TakeResinCardDailyRewardRsp_proto_goTypes = nil
+ file_TakeResinCardDailyRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeReunionFirstGiftRewardReq.pb.go b/protocol/proto/TakeReunionFirstGiftRewardReq.pb.go
new file mode 100644
index 00000000..68f6ff00
--- /dev/null
+++ b/protocol/proto/TakeReunionFirstGiftRewardReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeReunionFirstGiftRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5075
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeReunionFirstGiftRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TakeReunionFirstGiftRewardReq) Reset() {
+ *x = TakeReunionFirstGiftRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeReunionFirstGiftRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeReunionFirstGiftRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeReunionFirstGiftRewardReq) ProtoMessage() {}
+
+func (x *TakeReunionFirstGiftRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeReunionFirstGiftRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeReunionFirstGiftRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeReunionFirstGiftRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeReunionFirstGiftRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TakeReunionFirstGiftRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeReunionFirstGiftRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72,
+ 0x73, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1f, 0x0a, 0x1d,
+ 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74,
+ 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TakeReunionFirstGiftRewardReq_proto_rawDescOnce sync.Once
+ file_TakeReunionFirstGiftRewardReq_proto_rawDescData = file_TakeReunionFirstGiftRewardReq_proto_rawDesc
+)
+
+func file_TakeReunionFirstGiftRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeReunionFirstGiftRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeReunionFirstGiftRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeReunionFirstGiftRewardReq_proto_rawDescData)
+ })
+ return file_TakeReunionFirstGiftRewardReq_proto_rawDescData
+}
+
+var file_TakeReunionFirstGiftRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeReunionFirstGiftRewardReq_proto_goTypes = []interface{}{
+ (*TakeReunionFirstGiftRewardReq)(nil), // 0: proto.TakeReunionFirstGiftRewardReq
+}
+var file_TakeReunionFirstGiftRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeReunionFirstGiftRewardReq_proto_init() }
+func file_TakeReunionFirstGiftRewardReq_proto_init() {
+ if File_TakeReunionFirstGiftRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeReunionFirstGiftRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeReunionFirstGiftRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeReunionFirstGiftRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeReunionFirstGiftRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeReunionFirstGiftRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeReunionFirstGiftRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeReunionFirstGiftRewardReq_proto = out.File
+ file_TakeReunionFirstGiftRewardReq_proto_rawDesc = nil
+ file_TakeReunionFirstGiftRewardReq_proto_goTypes = nil
+ file_TakeReunionFirstGiftRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeReunionFirstGiftRewardRsp.pb.go b/protocol/proto/TakeReunionFirstGiftRewardRsp.pb.go
new file mode 100644
index 00000000..44cb9ef2
--- /dev/null
+++ b/protocol/proto/TakeReunionFirstGiftRewardRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeReunionFirstGiftRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5057
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeReunionFirstGiftRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId int32 `protobuf:"varint,9,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeReunionFirstGiftRewardRsp) Reset() {
+ *x = TakeReunionFirstGiftRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeReunionFirstGiftRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeReunionFirstGiftRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeReunionFirstGiftRewardRsp) ProtoMessage() {}
+
+func (x *TakeReunionFirstGiftRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeReunionFirstGiftRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeReunionFirstGiftRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeReunionFirstGiftRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeReunionFirstGiftRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeReunionFirstGiftRewardRsp) GetRewardId() int32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *TakeReunionFirstGiftRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeReunionFirstGiftRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeReunionFirstGiftRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72,
+ 0x73, 0x74, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x1d,
+ 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74,
+ 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a,
+ 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeReunionFirstGiftRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeReunionFirstGiftRewardRsp_proto_rawDescData = file_TakeReunionFirstGiftRewardRsp_proto_rawDesc
+)
+
+func file_TakeReunionFirstGiftRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeReunionFirstGiftRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeReunionFirstGiftRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeReunionFirstGiftRewardRsp_proto_rawDescData)
+ })
+ return file_TakeReunionFirstGiftRewardRsp_proto_rawDescData
+}
+
+var file_TakeReunionFirstGiftRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeReunionFirstGiftRewardRsp_proto_goTypes = []interface{}{
+ (*TakeReunionFirstGiftRewardRsp)(nil), // 0: proto.TakeReunionFirstGiftRewardRsp
+}
+var file_TakeReunionFirstGiftRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeReunionFirstGiftRewardRsp_proto_init() }
+func file_TakeReunionFirstGiftRewardRsp_proto_init() {
+ if File_TakeReunionFirstGiftRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeReunionFirstGiftRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeReunionFirstGiftRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeReunionFirstGiftRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeReunionFirstGiftRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeReunionFirstGiftRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeReunionFirstGiftRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeReunionFirstGiftRewardRsp_proto = out.File
+ file_TakeReunionFirstGiftRewardRsp_proto_rawDesc = nil
+ file_TakeReunionFirstGiftRewardRsp_proto_goTypes = nil
+ file_TakeReunionFirstGiftRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeReunionMissionRewardReq.pb.go b/protocol/proto/TakeReunionMissionRewardReq.pb.go
new file mode 100644
index 00000000..8548003f
--- /dev/null
+++ b/protocol/proto/TakeReunionMissionRewardReq.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeReunionMissionRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5092
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeReunionMissionRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardId uint32 `protobuf:"varint,7,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+ RewardIndex uint32 `protobuf:"varint,4,opt,name=reward_index,json=rewardIndex,proto3" json:"reward_index,omitempty"`
+ MissionId uint32 `protobuf:"varint,12,opt,name=mission_id,json=missionId,proto3" json:"mission_id,omitempty"`
+}
+
+func (x *TakeReunionMissionRewardReq) Reset() {
+ *x = TakeReunionMissionRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeReunionMissionRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeReunionMissionRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeReunionMissionRewardReq) ProtoMessage() {}
+
+func (x *TakeReunionMissionRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeReunionMissionRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeReunionMissionRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeReunionMissionRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeReunionMissionRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeReunionMissionRewardReq) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+func (x *TakeReunionMissionRewardReq) GetRewardIndex() uint32 {
+ if x != nil {
+ return x.RewardIndex
+ }
+ return 0
+}
+
+func (x *TakeReunionMissionRewardReq) GetMissionId() uint32 {
+ if x != nil {
+ return x.MissionId
+ }
+ return 0
+}
+
+var File_TakeReunionMissionRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeReunionMissionRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7c, 0x0a, 0x1b, 0x54, 0x61,
+ 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d,
+ 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeReunionMissionRewardReq_proto_rawDescOnce sync.Once
+ file_TakeReunionMissionRewardReq_proto_rawDescData = file_TakeReunionMissionRewardReq_proto_rawDesc
+)
+
+func file_TakeReunionMissionRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeReunionMissionRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeReunionMissionRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeReunionMissionRewardReq_proto_rawDescData)
+ })
+ return file_TakeReunionMissionRewardReq_proto_rawDescData
+}
+
+var file_TakeReunionMissionRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeReunionMissionRewardReq_proto_goTypes = []interface{}{
+ (*TakeReunionMissionRewardReq)(nil), // 0: proto.TakeReunionMissionRewardReq
+}
+var file_TakeReunionMissionRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeReunionMissionRewardReq_proto_init() }
+func file_TakeReunionMissionRewardReq_proto_init() {
+ if File_TakeReunionMissionRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeReunionMissionRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeReunionMissionRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeReunionMissionRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeReunionMissionRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeReunionMissionRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeReunionMissionRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeReunionMissionRewardReq_proto = out.File
+ file_TakeReunionMissionRewardReq_proto_rawDesc = nil
+ file_TakeReunionMissionRewardReq_proto_goTypes = nil
+ file_TakeReunionMissionRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeReunionMissionRewardRsp.pb.go b/protocol/proto/TakeReunionMissionRewardRsp.pb.go
new file mode 100644
index 00000000..fd18d068
--- /dev/null
+++ b/protocol/proto/TakeReunionMissionRewardRsp.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeReunionMissionRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5064
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeReunionMissionRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardIndex uint32 `protobuf:"varint,12,opt,name=reward_index,json=rewardIndex,proto3" json:"reward_index,omitempty"`
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MissionInfo *ReunionMissionInfo `protobuf:"bytes,9,opt,name=mission_info,json=missionInfo,proto3" json:"mission_info,omitempty"`
+ RewardId uint32 `protobuf:"varint,3,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+}
+
+func (x *TakeReunionMissionRewardRsp) Reset() {
+ *x = TakeReunionMissionRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeReunionMissionRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeReunionMissionRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeReunionMissionRewardRsp) ProtoMessage() {}
+
+func (x *TakeReunionMissionRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeReunionMissionRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeReunionMissionRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeReunionMissionRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeReunionMissionRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeReunionMissionRewardRsp) GetRewardIndex() uint32 {
+ if x != nil {
+ return x.RewardIndex
+ }
+ return 0
+}
+
+func (x *TakeReunionMissionRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeReunionMissionRewardRsp) GetMissionInfo() *ReunionMissionInfo {
+ if x != nil {
+ return x.MissionInfo
+ }
+ return nil
+}
+
+func (x *TakeReunionMissionRewardRsp) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+var File_TakeReunionMissionRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeReunionMissionRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x52, 0x65, 0x75, 0x6e,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x1b, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75,
+ 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x52, 0x73, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeReunionMissionRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeReunionMissionRewardRsp_proto_rawDescData = file_TakeReunionMissionRewardRsp_proto_rawDesc
+)
+
+func file_TakeReunionMissionRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeReunionMissionRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeReunionMissionRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeReunionMissionRewardRsp_proto_rawDescData)
+ })
+ return file_TakeReunionMissionRewardRsp_proto_rawDescData
+}
+
+var file_TakeReunionMissionRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeReunionMissionRewardRsp_proto_goTypes = []interface{}{
+ (*TakeReunionMissionRewardRsp)(nil), // 0: proto.TakeReunionMissionRewardRsp
+ (*ReunionMissionInfo)(nil), // 1: proto.ReunionMissionInfo
+}
+var file_TakeReunionMissionRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeReunionMissionRewardRsp.mission_info:type_name -> proto.ReunionMissionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeReunionMissionRewardRsp_proto_init() }
+func file_TakeReunionMissionRewardRsp_proto_init() {
+ if File_TakeReunionMissionRewardRsp_proto != nil {
+ return
+ }
+ file_ReunionMissionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeReunionMissionRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeReunionMissionRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeReunionMissionRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeReunionMissionRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeReunionMissionRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeReunionMissionRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeReunionMissionRewardRsp_proto = out.File
+ file_TakeReunionMissionRewardRsp_proto_rawDesc = nil
+ file_TakeReunionMissionRewardRsp_proto_goTypes = nil
+ file_TakeReunionMissionRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeReunionSignInRewardReq.pb.go b/protocol/proto/TakeReunionSignInRewardReq.pb.go
new file mode 100644
index 00000000..071e4ec3
--- /dev/null
+++ b/protocol/proto/TakeReunionSignInRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeReunionSignInRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5079
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeReunionSignInRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardDay uint32 `protobuf:"varint,12,opt,name=reward_day,json=rewardDay,proto3" json:"reward_day,omitempty"`
+ ConfigId uint32 `protobuf:"varint,14,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *TakeReunionSignInRewardReq) Reset() {
+ *x = TakeReunionSignInRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeReunionSignInRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeReunionSignInRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeReunionSignInRewardReq) ProtoMessage() {}
+
+func (x *TakeReunionSignInRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeReunionSignInRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeReunionSignInRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeReunionSignInRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeReunionSignInRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeReunionSignInRewardReq) GetRewardDay() uint32 {
+ if x != nil {
+ return x.RewardDay
+ }
+ return 0
+}
+
+func (x *TakeReunionSignInRewardReq) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_TakeReunionSignInRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeReunionSignInRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67,
+ 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1a, 0x54, 0x61, 0x6b,
+ 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x44, 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeReunionSignInRewardReq_proto_rawDescOnce sync.Once
+ file_TakeReunionSignInRewardReq_proto_rawDescData = file_TakeReunionSignInRewardReq_proto_rawDesc
+)
+
+func file_TakeReunionSignInRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeReunionSignInRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeReunionSignInRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeReunionSignInRewardReq_proto_rawDescData)
+ })
+ return file_TakeReunionSignInRewardReq_proto_rawDescData
+}
+
+var file_TakeReunionSignInRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeReunionSignInRewardReq_proto_goTypes = []interface{}{
+ (*TakeReunionSignInRewardReq)(nil), // 0: proto.TakeReunionSignInRewardReq
+}
+var file_TakeReunionSignInRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeReunionSignInRewardReq_proto_init() }
+func file_TakeReunionSignInRewardReq_proto_init() {
+ if File_TakeReunionSignInRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeReunionSignInRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeReunionSignInRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeReunionSignInRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeReunionSignInRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeReunionSignInRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeReunionSignInRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeReunionSignInRewardReq_proto = out.File
+ file_TakeReunionSignInRewardReq_proto_rawDesc = nil
+ file_TakeReunionSignInRewardReq_proto_goTypes = nil
+ file_TakeReunionSignInRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeReunionSignInRewardRsp.pb.go b/protocol/proto/TakeReunionSignInRewardRsp.pb.go
new file mode 100644
index 00000000..4c265b9b
--- /dev/null
+++ b/protocol/proto/TakeReunionSignInRewardRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeReunionSignInRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5072
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeReunionSignInRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SignInInfo *ReunionSignInInfo `protobuf:"bytes,10,opt,name=sign_in_info,json=signInInfo,proto3" json:"sign_in_info,omitempty"`
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeReunionSignInRewardRsp) Reset() {
+ *x = TakeReunionSignInRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeReunionSignInRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeReunionSignInRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeReunionSignInRewardRsp) ProtoMessage() {}
+
+func (x *TakeReunionSignInRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeReunionSignInRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeReunionSignInRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeReunionSignInRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeReunionSignInRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeReunionSignInRewardRsp) GetSignInInfo() *ReunionSignInInfo {
+ if x != nil {
+ return x.SignInInfo
+ }
+ return nil
+}
+
+func (x *TakeReunionSignInRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeReunionSignInRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeReunionSignInRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67,
+ 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x52, 0x65, 0x75, 0x6e, 0x69,
+ 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1a, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f,
+ 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
+ 0x12, 0x3a, 0x0a, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
+ 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeReunionSignInRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeReunionSignInRewardRsp_proto_rawDescData = file_TakeReunionSignInRewardRsp_proto_rawDesc
+)
+
+func file_TakeReunionSignInRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeReunionSignInRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeReunionSignInRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeReunionSignInRewardRsp_proto_rawDescData)
+ })
+ return file_TakeReunionSignInRewardRsp_proto_rawDescData
+}
+
+var file_TakeReunionSignInRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeReunionSignInRewardRsp_proto_goTypes = []interface{}{
+ (*TakeReunionSignInRewardRsp)(nil), // 0: proto.TakeReunionSignInRewardRsp
+ (*ReunionSignInInfo)(nil), // 1: proto.ReunionSignInInfo
+}
+var file_TakeReunionSignInRewardRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TakeReunionSignInRewardRsp.sign_in_info:type_name -> proto.ReunionSignInInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TakeReunionSignInRewardRsp_proto_init() }
+func file_TakeReunionSignInRewardRsp_proto_init() {
+ if File_TakeReunionSignInRewardRsp_proto != nil {
+ return
+ }
+ file_ReunionSignInInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TakeReunionSignInRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeReunionSignInRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeReunionSignInRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeReunionSignInRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeReunionSignInRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeReunionSignInRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeReunionSignInRewardRsp_proto = out.File
+ file_TakeReunionSignInRewardRsp_proto_rawDesc = nil
+ file_TakeReunionSignInRewardRsp_proto_goTypes = nil
+ file_TakeReunionSignInRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeReunionWatcherRewardReq.pb.go b/protocol/proto/TakeReunionWatcherRewardReq.pb.go
new file mode 100644
index 00000000..65920a4d
--- /dev/null
+++ b/protocol/proto/TakeReunionWatcherRewardReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeReunionWatcherRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5070
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeReunionWatcherRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WatcherId uint32 `protobuf:"varint,12,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+ MissionId uint32 `protobuf:"varint,15,opt,name=mission_id,json=missionId,proto3" json:"mission_id,omitempty"`
+}
+
+func (x *TakeReunionWatcherRewardReq) Reset() {
+ *x = TakeReunionWatcherRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeReunionWatcherRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeReunionWatcherRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeReunionWatcherRewardReq) ProtoMessage() {}
+
+func (x *TakeReunionWatcherRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeReunionWatcherRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeReunionWatcherRewardReq.ProtoReflect.Descriptor instead.
+func (*TakeReunionWatcherRewardReq) Descriptor() ([]byte, []int) {
+ return file_TakeReunionWatcherRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeReunionWatcherRewardReq) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+func (x *TakeReunionWatcherRewardReq) GetMissionId() uint32 {
+ if x != nil {
+ return x.MissionId
+ }
+ return 0
+}
+
+var File_TakeReunionWatcherRewardReq_proto protoreflect.FileDescriptor
+
+var file_TakeReunionWatcherRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74,
+ 0x63, 0x68, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x1b, 0x54, 0x61,
+ 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x61, 0x74,
+ 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeReunionWatcherRewardReq_proto_rawDescOnce sync.Once
+ file_TakeReunionWatcherRewardReq_proto_rawDescData = file_TakeReunionWatcherRewardReq_proto_rawDesc
+)
+
+func file_TakeReunionWatcherRewardReq_proto_rawDescGZIP() []byte {
+ file_TakeReunionWatcherRewardReq_proto_rawDescOnce.Do(func() {
+ file_TakeReunionWatcherRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeReunionWatcherRewardReq_proto_rawDescData)
+ })
+ return file_TakeReunionWatcherRewardReq_proto_rawDescData
+}
+
+var file_TakeReunionWatcherRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeReunionWatcherRewardReq_proto_goTypes = []interface{}{
+ (*TakeReunionWatcherRewardReq)(nil), // 0: proto.TakeReunionWatcherRewardReq
+}
+var file_TakeReunionWatcherRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeReunionWatcherRewardReq_proto_init() }
+func file_TakeReunionWatcherRewardReq_proto_init() {
+ if File_TakeReunionWatcherRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeReunionWatcherRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeReunionWatcherRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeReunionWatcherRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeReunionWatcherRewardReq_proto_goTypes,
+ DependencyIndexes: file_TakeReunionWatcherRewardReq_proto_depIdxs,
+ MessageInfos: file_TakeReunionWatcherRewardReq_proto_msgTypes,
+ }.Build()
+ File_TakeReunionWatcherRewardReq_proto = out.File
+ file_TakeReunionWatcherRewardReq_proto_rawDesc = nil
+ file_TakeReunionWatcherRewardReq_proto_goTypes = nil
+ file_TakeReunionWatcherRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeReunionWatcherRewardRsp.pb.go b/protocol/proto/TakeReunionWatcherRewardRsp.pb.go
new file mode 100644
index 00000000..a3170959
--- /dev/null
+++ b/protocol/proto/TakeReunionWatcherRewardRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeReunionWatcherRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5095
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeReunionWatcherRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MissionId uint32 `protobuf:"varint,15,opt,name=mission_id,json=missionId,proto3" json:"mission_id,omitempty"`
+ WatcherId uint32 `protobuf:"varint,9,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TakeReunionWatcherRewardRsp) Reset() {
+ *x = TakeReunionWatcherRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeReunionWatcherRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeReunionWatcherRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeReunionWatcherRewardRsp) ProtoMessage() {}
+
+func (x *TakeReunionWatcherRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeReunionWatcherRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeReunionWatcherRewardRsp.ProtoReflect.Descriptor instead.
+func (*TakeReunionWatcherRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TakeReunionWatcherRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeReunionWatcherRewardRsp) GetMissionId() uint32 {
+ if x != nil {
+ return x.MissionId
+ }
+ return 0
+}
+
+func (x *TakeReunionWatcherRewardRsp) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+func (x *TakeReunionWatcherRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TakeReunionWatcherRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TakeReunionWatcherRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74,
+ 0x63, 0x68, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x1b, 0x54, 0x61,
+ 0x6b, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d,
+ 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x61, 0x74, 0x63,
+ 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeReunionWatcherRewardRsp_proto_rawDescOnce sync.Once
+ file_TakeReunionWatcherRewardRsp_proto_rawDescData = file_TakeReunionWatcherRewardRsp_proto_rawDesc
+)
+
+func file_TakeReunionWatcherRewardRsp_proto_rawDescGZIP() []byte {
+ file_TakeReunionWatcherRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TakeReunionWatcherRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeReunionWatcherRewardRsp_proto_rawDescData)
+ })
+ return file_TakeReunionWatcherRewardRsp_proto_rawDescData
+}
+
+var file_TakeReunionWatcherRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeReunionWatcherRewardRsp_proto_goTypes = []interface{}{
+ (*TakeReunionWatcherRewardRsp)(nil), // 0: proto.TakeReunionWatcherRewardRsp
+}
+var file_TakeReunionWatcherRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeReunionWatcherRewardRsp_proto_init() }
+func file_TakeReunionWatcherRewardRsp_proto_init() {
+ if File_TakeReunionWatcherRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeReunionWatcherRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeReunionWatcherRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeReunionWatcherRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeReunionWatcherRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TakeReunionWatcherRewardRsp_proto_depIdxs,
+ MessageInfos: file_TakeReunionWatcherRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TakeReunionWatcherRewardRsp_proto = out.File
+ file_TakeReunionWatcherRewardRsp_proto_rawDesc = nil
+ file_TakeReunionWatcherRewardRsp_proto_goTypes = nil
+ file_TakeReunionWatcherRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeoffEquipReq.pb.go b/protocol/proto/TakeoffEquipReq.pb.go
new file mode 100644
index 00000000..1b98fbde
--- /dev/null
+++ b/protocol/proto/TakeoffEquipReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeoffEquipReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 605
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TakeoffEquipReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,8,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ Slot uint32 `protobuf:"varint,15,opt,name=slot,proto3" json:"slot,omitempty"`
+}
+
+func (x *TakeoffEquipReq) Reset() {
+ *x = TakeoffEquipReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeoffEquipReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeoffEquipReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeoffEquipReq) ProtoMessage() {}
+
+func (x *TakeoffEquipReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeoffEquipReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeoffEquipReq.ProtoReflect.Descriptor instead.
+func (*TakeoffEquipReq) Descriptor() ([]byte, []int) {
+ return file_TakeoffEquipReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeoffEquipReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *TakeoffEquipReq) GetSlot() uint32 {
+ if x != nil {
+ return x.Slot
+ }
+ return 0
+}
+
+var File_TakeoffEquipReq_proto protoreflect.FileDescriptor
+
+var file_TakeoffEquipReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x54, 0x61, 0x6b, 0x65, 0x6f, 0x66, 0x66, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x46,
+ 0x0a, 0x0f, 0x54, 0x61, 0x6b, 0x65, 0x6f, 0x66, 0x66, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65,
+ 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeoffEquipReq_proto_rawDescOnce sync.Once
+ file_TakeoffEquipReq_proto_rawDescData = file_TakeoffEquipReq_proto_rawDesc
+)
+
+func file_TakeoffEquipReq_proto_rawDescGZIP() []byte {
+ file_TakeoffEquipReq_proto_rawDescOnce.Do(func() {
+ file_TakeoffEquipReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeoffEquipReq_proto_rawDescData)
+ })
+ return file_TakeoffEquipReq_proto_rawDescData
+}
+
+var file_TakeoffEquipReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeoffEquipReq_proto_goTypes = []interface{}{
+ (*TakeoffEquipReq)(nil), // 0: proto.TakeoffEquipReq
+}
+var file_TakeoffEquipReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeoffEquipReq_proto_init() }
+func file_TakeoffEquipReq_proto_init() {
+ if File_TakeoffEquipReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeoffEquipReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeoffEquipReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeoffEquipReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeoffEquipReq_proto_goTypes,
+ DependencyIndexes: file_TakeoffEquipReq_proto_depIdxs,
+ MessageInfos: file_TakeoffEquipReq_proto_msgTypes,
+ }.Build()
+ File_TakeoffEquipReq_proto = out.File
+ file_TakeoffEquipReq_proto_rawDesc = nil
+ file_TakeoffEquipReq_proto_goTypes = nil
+ file_TakeoffEquipReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TakeoffEquipRsp.pb.go b/protocol/proto/TakeoffEquipRsp.pb.go
new file mode 100644
index 00000000..b71120dc
--- /dev/null
+++ b/protocol/proto/TakeoffEquipRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TakeoffEquipRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 682
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TakeoffEquipRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarGuid uint64 `protobuf:"varint,9,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Slot uint32 `protobuf:"varint,10,opt,name=slot,proto3" json:"slot,omitempty"`
+}
+
+func (x *TakeoffEquipRsp) Reset() {
+ *x = TakeoffEquipRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TakeoffEquipRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TakeoffEquipRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TakeoffEquipRsp) ProtoMessage() {}
+
+func (x *TakeoffEquipRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TakeoffEquipRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TakeoffEquipRsp.ProtoReflect.Descriptor instead.
+func (*TakeoffEquipRsp) Descriptor() ([]byte, []int) {
+ return file_TakeoffEquipRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TakeoffEquipRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *TakeoffEquipRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TakeoffEquipRsp) GetSlot() uint32 {
+ if x != nil {
+ return x.Slot
+ }
+ return 0
+}
+
+var File_TakeoffEquipRsp_proto protoreflect.FileDescriptor
+
+var file_TakeoffEquipRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x54, 0x61, 0x6b, 0x65, 0x6f, 0x66, 0x66, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60,
+ 0x0a, 0x0f, 0x54, 0x61, 0x6b, 0x65, 0x6f, 0x66, 0x66, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x73,
+ 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04,
+ 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TakeoffEquipRsp_proto_rawDescOnce sync.Once
+ file_TakeoffEquipRsp_proto_rawDescData = file_TakeoffEquipRsp_proto_rawDesc
+)
+
+func file_TakeoffEquipRsp_proto_rawDescGZIP() []byte {
+ file_TakeoffEquipRsp_proto_rawDescOnce.Do(func() {
+ file_TakeoffEquipRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TakeoffEquipRsp_proto_rawDescData)
+ })
+ return file_TakeoffEquipRsp_proto_rawDescData
+}
+
+var file_TakeoffEquipRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TakeoffEquipRsp_proto_goTypes = []interface{}{
+ (*TakeoffEquipRsp)(nil), // 0: proto.TakeoffEquipRsp
+}
+var file_TakeoffEquipRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TakeoffEquipRsp_proto_init() }
+func file_TakeoffEquipRsp_proto_init() {
+ if File_TakeoffEquipRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TakeoffEquipRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TakeoffEquipRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TakeoffEquipRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TakeoffEquipRsp_proto_goTypes,
+ DependencyIndexes: file_TakeoffEquipRsp_proto_depIdxs,
+ MessageInfos: file_TakeoffEquipRsp_proto_msgTypes,
+ }.Build()
+ File_TakeoffEquipRsp_proto = out.File
+ file_TakeoffEquipRsp_proto_rawDesc = nil
+ file_TakeoffEquipRsp_proto_goTypes = nil
+ file_TakeoffEquipRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TanukiTravelActivityDetailInfo.pb.go b/protocol/proto/TanukiTravelActivityDetailInfo.pb.go
new file mode 100644
index 00000000..de858d1e
--- /dev/null
+++ b/protocol/proto/TanukiTravelActivityDetailInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TanukiTravelActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TanukiTravelActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TanukiTravelLevelDataList []*TanukiTravelLevelData `protobuf:"bytes,4,rep,name=tanuki_travel_level_data_list,json=tanukiTravelLevelDataList,proto3" json:"tanuki_travel_level_data_list,omitempty"`
+ IsContentClosed bool `protobuf:"varint,11,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ FinishedLevelIndex uint32 `protobuf:"varint,10,opt,name=finished_level_index,json=finishedLevelIndex,proto3" json:"finished_level_index,omitempty"`
+}
+
+func (x *TanukiTravelActivityDetailInfo) Reset() {
+ *x = TanukiTravelActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TanukiTravelActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TanukiTravelActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TanukiTravelActivityDetailInfo) ProtoMessage() {}
+
+func (x *TanukiTravelActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TanukiTravelActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TanukiTravelActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*TanukiTravelActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_TanukiTravelActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TanukiTravelActivityDetailInfo) GetTanukiTravelLevelDataList() []*TanukiTravelLevelData {
+ if x != nil {
+ return x.TanukiTravelLevelDataList
+ }
+ return nil
+}
+
+func (x *TanukiTravelActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *TanukiTravelActivityDetailInfo) GetFinishedLevelIndex() uint32 {
+ if x != nil {
+ return x.FinishedLevelIndex
+ }
+ return 0
+}
+
+var File_TanukiTravelActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_TanukiTravelActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x54, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x54,
+ 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x01, 0x0a, 0x1e, 0x54,
+ 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a,
+ 0x1d, 0x74, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x5f, 0x74, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x5f, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x61, 0x6e,
+ 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x19, 0x74, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a,
+ 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73,
+ 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TanukiTravelActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_TanukiTravelActivityDetailInfo_proto_rawDescData = file_TanukiTravelActivityDetailInfo_proto_rawDesc
+)
+
+func file_TanukiTravelActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_TanukiTravelActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_TanukiTravelActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TanukiTravelActivityDetailInfo_proto_rawDescData)
+ })
+ return file_TanukiTravelActivityDetailInfo_proto_rawDescData
+}
+
+var file_TanukiTravelActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TanukiTravelActivityDetailInfo_proto_goTypes = []interface{}{
+ (*TanukiTravelActivityDetailInfo)(nil), // 0: proto.TanukiTravelActivityDetailInfo
+ (*TanukiTravelLevelData)(nil), // 1: proto.TanukiTravelLevelData
+}
+var file_TanukiTravelActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TanukiTravelActivityDetailInfo.tanuki_travel_level_data_list:type_name -> proto.TanukiTravelLevelData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TanukiTravelActivityDetailInfo_proto_init() }
+func file_TanukiTravelActivityDetailInfo_proto_init() {
+ if File_TanukiTravelActivityDetailInfo_proto != nil {
+ return
+ }
+ file_TanukiTravelLevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TanukiTravelActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TanukiTravelActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TanukiTravelActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TanukiTravelActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_TanukiTravelActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_TanukiTravelActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_TanukiTravelActivityDetailInfo_proto = out.File
+ file_TanukiTravelActivityDetailInfo_proto_rawDesc = nil
+ file_TanukiTravelActivityDetailInfo_proto_goTypes = nil
+ file_TanukiTravelActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TanukiTravelFinishGuideQuestNotify.pb.go b/protocol/proto/TanukiTravelFinishGuideQuestNotify.pb.go
new file mode 100644
index 00000000..de80d744
--- /dev/null
+++ b/protocol/proto/TanukiTravelFinishGuideQuestNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TanukiTravelFinishGuideQuestNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8924
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TanukiTravelFinishGuideQuestNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActivityId uint32 `protobuf:"varint,14,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"`
+}
+
+func (x *TanukiTravelFinishGuideQuestNotify) Reset() {
+ *x = TanukiTravelFinishGuideQuestNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TanukiTravelFinishGuideQuestNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TanukiTravelFinishGuideQuestNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TanukiTravelFinishGuideQuestNotify) ProtoMessage() {}
+
+func (x *TanukiTravelFinishGuideQuestNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TanukiTravelFinishGuideQuestNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TanukiTravelFinishGuideQuestNotify.ProtoReflect.Descriptor instead.
+func (*TanukiTravelFinishGuideQuestNotify) Descriptor() ([]byte, []int) {
+ return file_TanukiTravelFinishGuideQuestNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TanukiTravelFinishGuideQuestNotify) GetActivityId() uint32 {
+ if x != nil {
+ return x.ActivityId
+ }
+ return 0
+}
+
+var File_TanukiTravelFinishGuideQuestNotify_proto protoreflect.FileDescriptor
+
+var file_TanukiTravelFinishGuideQuestNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x54, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x47, 0x75, 0x69, 0x64, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x45, 0x0a, 0x22, 0x54, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65,
+ 0x6c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x47, 0x75, 0x69, 0x64, 0x65, 0x51, 0x75, 0x65, 0x73,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TanukiTravelFinishGuideQuestNotify_proto_rawDescOnce sync.Once
+ file_TanukiTravelFinishGuideQuestNotify_proto_rawDescData = file_TanukiTravelFinishGuideQuestNotify_proto_rawDesc
+)
+
+func file_TanukiTravelFinishGuideQuestNotify_proto_rawDescGZIP() []byte {
+ file_TanukiTravelFinishGuideQuestNotify_proto_rawDescOnce.Do(func() {
+ file_TanukiTravelFinishGuideQuestNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TanukiTravelFinishGuideQuestNotify_proto_rawDescData)
+ })
+ return file_TanukiTravelFinishGuideQuestNotify_proto_rawDescData
+}
+
+var file_TanukiTravelFinishGuideQuestNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TanukiTravelFinishGuideQuestNotify_proto_goTypes = []interface{}{
+ (*TanukiTravelFinishGuideQuestNotify)(nil), // 0: proto.TanukiTravelFinishGuideQuestNotify
+}
+var file_TanukiTravelFinishGuideQuestNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TanukiTravelFinishGuideQuestNotify_proto_init() }
+func file_TanukiTravelFinishGuideQuestNotify_proto_init() {
+ if File_TanukiTravelFinishGuideQuestNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TanukiTravelFinishGuideQuestNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TanukiTravelFinishGuideQuestNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TanukiTravelFinishGuideQuestNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TanukiTravelFinishGuideQuestNotify_proto_goTypes,
+ DependencyIndexes: file_TanukiTravelFinishGuideQuestNotify_proto_depIdxs,
+ MessageInfos: file_TanukiTravelFinishGuideQuestNotify_proto_msgTypes,
+ }.Build()
+ File_TanukiTravelFinishGuideQuestNotify_proto = out.File
+ file_TanukiTravelFinishGuideQuestNotify_proto_rawDesc = nil
+ file_TanukiTravelFinishGuideQuestNotify_proto_goTypes = nil
+ file_TanukiTravelFinishGuideQuestNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TanukiTravelLevelData.pb.go b/protocol/proto/TanukiTravelLevelData.pb.go
new file mode 100644
index 00000000..293906f8
--- /dev/null
+++ b/protocol/proto/TanukiTravelLevelData.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TanukiTravelLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TanukiTravelLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,5,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ RouteId uint32 `protobuf:"varint,9,opt,name=route_id,json=routeId,proto3" json:"route_id,omitempty"`
+ IsFinish bool `protobuf:"varint,15,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+}
+
+func (x *TanukiTravelLevelData) Reset() {
+ *x = TanukiTravelLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TanukiTravelLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TanukiTravelLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TanukiTravelLevelData) ProtoMessage() {}
+
+func (x *TanukiTravelLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_TanukiTravelLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TanukiTravelLevelData.ProtoReflect.Descriptor instead.
+func (*TanukiTravelLevelData) Descriptor() ([]byte, []int) {
+ return file_TanukiTravelLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TanukiTravelLevelData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *TanukiTravelLevelData) GetRouteId() uint32 {
+ if x != nil {
+ return x.RouteId
+ }
+ return 0
+}
+
+func (x *TanukiTravelLevelData) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+var File_TanukiTravelLevelData_proto protoreflect.FileDescriptor
+
+var file_TanukiTravelLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72, 0x61, 0x76, 0x65, 0x6c, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x15, 0x54, 0x61, 0x6e, 0x75, 0x6b, 0x69, 0x54, 0x72,
+ 0x61, 0x76, 0x65, 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a,
+ 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06,
+ 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x49,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TanukiTravelLevelData_proto_rawDescOnce sync.Once
+ file_TanukiTravelLevelData_proto_rawDescData = file_TanukiTravelLevelData_proto_rawDesc
+)
+
+func file_TanukiTravelLevelData_proto_rawDescGZIP() []byte {
+ file_TanukiTravelLevelData_proto_rawDescOnce.Do(func() {
+ file_TanukiTravelLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_TanukiTravelLevelData_proto_rawDescData)
+ })
+ return file_TanukiTravelLevelData_proto_rawDescData
+}
+
+var file_TanukiTravelLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TanukiTravelLevelData_proto_goTypes = []interface{}{
+ (*TanukiTravelLevelData)(nil), // 0: proto.TanukiTravelLevelData
+}
+var file_TanukiTravelLevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TanukiTravelLevelData_proto_init() }
+func file_TanukiTravelLevelData_proto_init() {
+ if File_TanukiTravelLevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TanukiTravelLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TanukiTravelLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TanukiTravelLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TanukiTravelLevelData_proto_goTypes,
+ DependencyIndexes: file_TanukiTravelLevelData_proto_depIdxs,
+ MessageInfos: file_TanukiTravelLevelData_proto_msgTypes,
+ }.Build()
+ File_TanukiTravelLevelData_proto = out.File
+ file_TanukiTravelLevelData_proto_rawDesc = nil
+ file_TanukiTravelLevelData_proto_goTypes = nil
+ file_TanukiTravelLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TaskVar.pb.go b/protocol/proto/TaskVar.pb.go
new file mode 100644
index 00000000..78d8f258
--- /dev/null
+++ b/protocol/proto/TaskVar.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TaskVar.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TaskVar struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Key uint32 `protobuf:"varint,8,opt,name=key,proto3" json:"key,omitempty"`
+ ValueList []int32 `protobuf:"varint,6,rep,packed,name=value_list,json=valueList,proto3" json:"value_list,omitempty"`
+}
+
+func (x *TaskVar) Reset() {
+ *x = TaskVar{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TaskVar_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TaskVar) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TaskVar) ProtoMessage() {}
+
+func (x *TaskVar) ProtoReflect() protoreflect.Message {
+ mi := &file_TaskVar_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TaskVar.ProtoReflect.Descriptor instead.
+func (*TaskVar) Descriptor() ([]byte, []int) {
+ return file_TaskVar_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TaskVar) GetKey() uint32 {
+ if x != nil {
+ return x.Key
+ }
+ return 0
+}
+
+func (x *TaskVar) GetValueList() []int32 {
+ if x != nil {
+ return x.ValueList
+ }
+ return nil
+}
+
+var File_TaskVar_proto protoreflect.FileDescriptor
+
+var file_TaskVar_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x07, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61,
+ 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03,
+ 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TaskVar_proto_rawDescOnce sync.Once
+ file_TaskVar_proto_rawDescData = file_TaskVar_proto_rawDesc
+)
+
+func file_TaskVar_proto_rawDescGZIP() []byte {
+ file_TaskVar_proto_rawDescOnce.Do(func() {
+ file_TaskVar_proto_rawDescData = protoimpl.X.CompressGZIP(file_TaskVar_proto_rawDescData)
+ })
+ return file_TaskVar_proto_rawDescData
+}
+
+var file_TaskVar_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TaskVar_proto_goTypes = []interface{}{
+ (*TaskVar)(nil), // 0: proto.TaskVar
+}
+var file_TaskVar_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TaskVar_proto_init() }
+func file_TaskVar_proto_init() {
+ if File_TaskVar_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TaskVar_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TaskVar); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TaskVar_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TaskVar_proto_goTypes,
+ DependencyIndexes: file_TaskVar_proto_depIdxs,
+ MessageInfos: file_TaskVar_proto_msgTypes,
+ }.Build()
+ File_TaskVar_proto = out.File
+ file_TaskVar_proto_rawDesc = nil
+ file_TaskVar_proto_goTypes = nil
+ file_TaskVar_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TaskVarNotify.pb.go b/protocol/proto/TaskVarNotify.pb.go
new file mode 100644
index 00000000..bd572a1d
--- /dev/null
+++ b/protocol/proto/TaskVarNotify.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TaskVarNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 160
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TaskVarNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TaskVarList []*TaskVar `protobuf:"bytes,7,rep,name=task_var_list,json=taskVarList,proto3" json:"task_var_list,omitempty"`
+}
+
+func (x *TaskVarNotify) Reset() {
+ *x = TaskVarNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TaskVarNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TaskVarNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TaskVarNotify) ProtoMessage() {}
+
+func (x *TaskVarNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TaskVarNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TaskVarNotify.ProtoReflect.Descriptor instead.
+func (*TaskVarNotify) Descriptor() ([]byte, []int) {
+ return file_TaskVarNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TaskVarNotify) GetTaskVarList() []*TaskVar {
+ if x != nil {
+ return x.TaskVarList
+ }
+ return nil
+}
+
+var File_TaskVarNotify_proto protoreflect.FileDescriptor
+
+var file_TaskVarNotify_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x54, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0d, 0x54, 0x61,
+ 0x73, 0x6b, 0x56, 0x61, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x0d, 0x54,
+ 0x61, 0x73, 0x6b, 0x56, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x32, 0x0a, 0x0d,
+ 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x76, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x61, 0x73, 0x6b,
+ 0x56, 0x61, 0x72, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x56, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TaskVarNotify_proto_rawDescOnce sync.Once
+ file_TaskVarNotify_proto_rawDescData = file_TaskVarNotify_proto_rawDesc
+)
+
+func file_TaskVarNotify_proto_rawDescGZIP() []byte {
+ file_TaskVarNotify_proto_rawDescOnce.Do(func() {
+ file_TaskVarNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TaskVarNotify_proto_rawDescData)
+ })
+ return file_TaskVarNotify_proto_rawDescData
+}
+
+var file_TaskVarNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TaskVarNotify_proto_goTypes = []interface{}{
+ (*TaskVarNotify)(nil), // 0: proto.TaskVarNotify
+ (*TaskVar)(nil), // 1: proto.TaskVar
+}
+var file_TaskVarNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.TaskVarNotify.task_var_list:type_name -> proto.TaskVar
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TaskVarNotify_proto_init() }
+func file_TaskVarNotify_proto_init() {
+ if File_TaskVarNotify_proto != nil {
+ return
+ }
+ file_TaskVar_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TaskVarNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TaskVarNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TaskVarNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TaskVarNotify_proto_goTypes,
+ DependencyIndexes: file_TaskVarNotify_proto_depIdxs,
+ MessageInfos: file_TaskVarNotify_proto_msgTypes,
+ }.Build()
+ File_TaskVarNotify_proto = out.File
+ file_TaskVarNotify_proto_rawDesc = nil
+ file_TaskVarNotify_proto_goTypes = nil
+ file_TaskVarNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TeamEnterSceneInfo.pb.go b/protocol/proto/TeamEnterSceneInfo.pb.go
new file mode 100644
index 00000000..e8b013de
--- /dev/null
+++ b/protocol/proto/TeamEnterSceneInfo.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TeamEnterSceneInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TeamEnterSceneInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AbilityControlBlock *AbilityControlBlock `protobuf:"bytes,7,opt,name=ability_control_block,json=abilityControlBlock,proto3" json:"ability_control_block,omitempty"`
+ TeamAbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,10,opt,name=team_ability_info,json=teamAbilityInfo,proto3" json:"team_ability_info,omitempty"`
+ TeamEntityId uint32 `protobuf:"varint,15,opt,name=team_entity_id,json=teamEntityId,proto3" json:"team_entity_id,omitempty"`
+}
+
+func (x *TeamEnterSceneInfo) Reset() {
+ *x = TeamEnterSceneInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TeamEnterSceneInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TeamEnterSceneInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TeamEnterSceneInfo) ProtoMessage() {}
+
+func (x *TeamEnterSceneInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TeamEnterSceneInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TeamEnterSceneInfo.ProtoReflect.Descriptor instead.
+func (*TeamEnterSceneInfo) Descriptor() ([]byte, []int) {
+ return file_TeamEnterSceneInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TeamEnterSceneInfo) GetAbilityControlBlock() *AbilityControlBlock {
+ if x != nil {
+ return x.AbilityControlBlock
+ }
+ return nil
+}
+
+func (x *TeamEnterSceneInfo) GetTeamAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.TeamAbilityInfo
+ }
+ return nil
+}
+
+func (x *TeamEnterSceneInfo) GetTeamEntityId() uint32 {
+ if x != nil {
+ return x.TeamEntityId
+ }
+ return 0
+}
+
+var File_TeamEnterSceneInfo_proto protoreflect.FileDescriptor
+
+var file_TeamEnterSceneInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
+ 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41, 0x62,
+ 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x01, 0x0a, 0x12, 0x54, 0x65, 0x61,
+ 0x6d, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x4e, 0x0a, 0x15, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x13, 0x61, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12,
+ 0x47, 0x0a, 0x11, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74,
+ 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x74, 0x65, 0x61, 0x6d, 0x41, 0x62, 0x69,
+ 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d,
+ 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TeamEnterSceneInfo_proto_rawDescOnce sync.Once
+ file_TeamEnterSceneInfo_proto_rawDescData = file_TeamEnterSceneInfo_proto_rawDesc
+)
+
+func file_TeamEnterSceneInfo_proto_rawDescGZIP() []byte {
+ file_TeamEnterSceneInfo_proto_rawDescOnce.Do(func() {
+ file_TeamEnterSceneInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TeamEnterSceneInfo_proto_rawDescData)
+ })
+ return file_TeamEnterSceneInfo_proto_rawDescData
+}
+
+var file_TeamEnterSceneInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TeamEnterSceneInfo_proto_goTypes = []interface{}{
+ (*TeamEnterSceneInfo)(nil), // 0: proto.TeamEnterSceneInfo
+ (*AbilityControlBlock)(nil), // 1: proto.AbilityControlBlock
+ (*AbilitySyncStateInfo)(nil), // 2: proto.AbilitySyncStateInfo
+}
+var file_TeamEnterSceneInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TeamEnterSceneInfo.ability_control_block:type_name -> proto.AbilityControlBlock
+ 2, // 1: proto.TeamEnterSceneInfo.team_ability_info:type_name -> proto.AbilitySyncStateInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_TeamEnterSceneInfo_proto_init() }
+func file_TeamEnterSceneInfo_proto_init() {
+ if File_TeamEnterSceneInfo_proto != nil {
+ return
+ }
+ file_AbilityControlBlock_proto_init()
+ file_AbilitySyncStateInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TeamEnterSceneInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TeamEnterSceneInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TeamEnterSceneInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TeamEnterSceneInfo_proto_goTypes,
+ DependencyIndexes: file_TeamEnterSceneInfo_proto_depIdxs,
+ MessageInfos: file_TeamEnterSceneInfo_proto_msgTypes,
+ }.Build()
+ File_TeamEnterSceneInfo_proto = out.File
+ file_TeamEnterSceneInfo_proto_rawDesc = nil
+ file_TeamEnterSceneInfo_proto_goTypes = nil
+ file_TeamEnterSceneInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TeamEntityInfo.pb.go b/protocol/proto/TeamEntityInfo.pb.go
new file mode 100644
index 00000000..0f388037
--- /dev/null
+++ b/protocol/proto/TeamEntityInfo.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TeamEntityInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TeamEntityInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AuthorityPeerId uint32 `protobuf:"varint,10,opt,name=authority_peer_id,json=authorityPeerId,proto3" json:"authority_peer_id,omitempty"`
+ TeamAbilityInfo *AbilitySyncStateInfo `protobuf:"bytes,9,opt,name=team_ability_info,json=teamAbilityInfo,proto3" json:"team_ability_info,omitempty"`
+ TeamEntityId uint32 `protobuf:"varint,8,opt,name=team_entity_id,json=teamEntityId,proto3" json:"team_entity_id,omitempty"`
+}
+
+func (x *TeamEntityInfo) Reset() {
+ *x = TeamEntityInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TeamEntityInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TeamEntityInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TeamEntityInfo) ProtoMessage() {}
+
+func (x *TeamEntityInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TeamEntityInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TeamEntityInfo.ProtoReflect.Descriptor instead.
+func (*TeamEntityInfo) Descriptor() ([]byte, []int) {
+ return file_TeamEntityInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TeamEntityInfo) GetAuthorityPeerId() uint32 {
+ if x != nil {
+ return x.AuthorityPeerId
+ }
+ return 0
+}
+
+func (x *TeamEntityInfo) GetTeamAbilityInfo() *AbilitySyncStateInfo {
+ if x != nil {
+ return x.TeamAbilityInfo
+ }
+ return nil
+}
+
+func (x *TeamEntityInfo) GetTeamEntityId() uint32 {
+ if x != nil {
+ return x.TeamEntityId
+ }
+ return 0
+}
+
+var File_TeamEntityInfo_proto protoreflect.FileDescriptor
+
+var file_TeamEntityInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x54, 0x65, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x41,
+ 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x0e, 0x54, 0x65,
+ 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11,
+ 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
+ 0x74, 0x79, 0x50, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x11, 0x74, 0x65, 0x61, 0x6d,
+ 0x5f, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x62, 0x69, 0x6c,
+ 0x69, 0x74, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0f, 0x74, 0x65, 0x61, 0x6d, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x65, 0x61, 0x6d, 0x45,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TeamEntityInfo_proto_rawDescOnce sync.Once
+ file_TeamEntityInfo_proto_rawDescData = file_TeamEntityInfo_proto_rawDesc
+)
+
+func file_TeamEntityInfo_proto_rawDescGZIP() []byte {
+ file_TeamEntityInfo_proto_rawDescOnce.Do(func() {
+ file_TeamEntityInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TeamEntityInfo_proto_rawDescData)
+ })
+ return file_TeamEntityInfo_proto_rawDescData
+}
+
+var file_TeamEntityInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TeamEntityInfo_proto_goTypes = []interface{}{
+ (*TeamEntityInfo)(nil), // 0: proto.TeamEntityInfo
+ (*AbilitySyncStateInfo)(nil), // 1: proto.AbilitySyncStateInfo
+}
+var file_TeamEntityInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TeamEntityInfo.team_ability_info:type_name -> proto.AbilitySyncStateInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TeamEntityInfo_proto_init() }
+func file_TeamEntityInfo_proto_init() {
+ if File_TeamEntityInfo_proto != nil {
+ return
+ }
+ file_AbilitySyncStateInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TeamEntityInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TeamEntityInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TeamEntityInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TeamEntityInfo_proto_goTypes,
+ DependencyIndexes: file_TeamEntityInfo_proto_depIdxs,
+ MessageInfos: file_TeamEntityInfo_proto_msgTypes,
+ }.Build()
+ File_TeamEntityInfo_proto = out.File
+ file_TeamEntityInfo_proto_rawDesc = nil
+ file_TeamEntityInfo_proto_goTypes = nil
+ file_TeamEntityInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TeamResonanceChangeNotify.pb.go b/protocol/proto/TeamResonanceChangeNotify.pb.go
new file mode 100644
index 00000000..8a564f77
--- /dev/null
+++ b/protocol/proto/TeamResonanceChangeNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TeamResonanceChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1082
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TeamResonanceChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InfoList []*AvatarTeamResonanceInfo `protobuf:"bytes,1,rep,name=info_list,json=infoList,proto3" json:"info_list,omitempty"`
+}
+
+func (x *TeamResonanceChangeNotify) Reset() {
+ *x = TeamResonanceChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TeamResonanceChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TeamResonanceChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TeamResonanceChangeNotify) ProtoMessage() {}
+
+func (x *TeamResonanceChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TeamResonanceChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TeamResonanceChangeNotify.ProtoReflect.Descriptor instead.
+func (*TeamResonanceChangeNotify) Descriptor() ([]byte, []int) {
+ return file_TeamResonanceChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TeamResonanceChangeNotify) GetInfoList() []*AvatarTeamResonanceInfo {
+ if x != nil {
+ return x.InfoList
+ }
+ return nil
+}
+
+var File_TeamResonanceChangeNotify_proto protoreflect.FileDescriptor
+
+var file_TeamResonanceChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x19, 0x54, 0x65, 0x61, 0x6d, 0x52,
+ 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x3b, 0x0a, 0x09, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61,
+ 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TeamResonanceChangeNotify_proto_rawDescOnce sync.Once
+ file_TeamResonanceChangeNotify_proto_rawDescData = file_TeamResonanceChangeNotify_proto_rawDesc
+)
+
+func file_TeamResonanceChangeNotify_proto_rawDescGZIP() []byte {
+ file_TeamResonanceChangeNotify_proto_rawDescOnce.Do(func() {
+ file_TeamResonanceChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TeamResonanceChangeNotify_proto_rawDescData)
+ })
+ return file_TeamResonanceChangeNotify_proto_rawDescData
+}
+
+var file_TeamResonanceChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TeamResonanceChangeNotify_proto_goTypes = []interface{}{
+ (*TeamResonanceChangeNotify)(nil), // 0: proto.TeamResonanceChangeNotify
+ (*AvatarTeamResonanceInfo)(nil), // 1: proto.AvatarTeamResonanceInfo
+}
+var file_TeamResonanceChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.TeamResonanceChangeNotify.info_list:type_name -> proto.AvatarTeamResonanceInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TeamResonanceChangeNotify_proto_init() }
+func file_TeamResonanceChangeNotify_proto_init() {
+ if File_TeamResonanceChangeNotify_proto != nil {
+ return
+ }
+ file_AvatarTeamResonanceInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TeamResonanceChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TeamResonanceChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TeamResonanceChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TeamResonanceChangeNotify_proto_goTypes,
+ DependencyIndexes: file_TeamResonanceChangeNotify_proto_depIdxs,
+ MessageInfos: file_TeamResonanceChangeNotify_proto_msgTypes,
+ }.Build()
+ File_TeamResonanceChangeNotify_proto = out.File
+ file_TeamResonanceChangeNotify_proto_rawDesc = nil
+ file_TeamResonanceChangeNotify_proto_goTypes = nil
+ file_TeamResonanceChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonAddObstacleReq.pb.go b/protocol/proto/ToTheMoonAddObstacleReq.pb.go
new file mode 100644
index 00000000..bd56c941
--- /dev/null
+++ b/protocol/proto/ToTheMoonAddObstacleReq.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonAddObstacleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6121
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ToTheMoonAddObstacleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UseEdge bool `protobuf:"varint,12,opt,name=use_edge,json=useEdge,proto3" json:"use_edge,omitempty"`
+ Obstacle *ToTheMoonObstacleInfo `protobuf:"bytes,13,opt,name=obstacle,proto3" json:"obstacle,omitempty"`
+ QueryId int32 `protobuf:"varint,9,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,3,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *ToTheMoonAddObstacleReq) Reset() {
+ *x = ToTheMoonAddObstacleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonAddObstacleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonAddObstacleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonAddObstacleReq) ProtoMessage() {}
+
+func (x *ToTheMoonAddObstacleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonAddObstacleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonAddObstacleReq.ProtoReflect.Descriptor instead.
+func (*ToTheMoonAddObstacleReq) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonAddObstacleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonAddObstacleReq) GetUseEdge() bool {
+ if x != nil {
+ return x.UseEdge
+ }
+ return false
+}
+
+func (x *ToTheMoonAddObstacleReq) GetObstacle() *ToTheMoonObstacleInfo {
+ if x != nil {
+ return x.Obstacle
+ }
+ return nil
+}
+
+func (x *ToTheMoonAddObstacleReq) GetQueryId() int32 {
+ if x != nil {
+ return x.QueryId
+ }
+ return 0
+}
+
+func (x *ToTheMoonAddObstacleReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_ToTheMoonAddObstacleReq_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonAddObstacleReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x4f, 0x62,
+ 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f,
+ 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xa4, 0x01, 0x0a, 0x17, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f,
+ 0x6e, 0x41, 0x64, 0x64, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x07, 0x75, 0x73, 0x65, 0x45, 0x64, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x6f, 0x62,
+ 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x4f, 0x62,
+ 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6f, 0x62, 0x73, 0x74,
+ 0x61, 0x63, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12,
+ 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonAddObstacleReq_proto_rawDescOnce sync.Once
+ file_ToTheMoonAddObstacleReq_proto_rawDescData = file_ToTheMoonAddObstacleReq_proto_rawDesc
+)
+
+func file_ToTheMoonAddObstacleReq_proto_rawDescGZIP() []byte {
+ file_ToTheMoonAddObstacleReq_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonAddObstacleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonAddObstacleReq_proto_rawDescData)
+ })
+ return file_ToTheMoonAddObstacleReq_proto_rawDescData
+}
+
+var file_ToTheMoonAddObstacleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonAddObstacleReq_proto_goTypes = []interface{}{
+ (*ToTheMoonAddObstacleReq)(nil), // 0: proto.ToTheMoonAddObstacleReq
+ (*ToTheMoonObstacleInfo)(nil), // 1: proto.ToTheMoonObstacleInfo
+}
+var file_ToTheMoonAddObstacleReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ToTheMoonAddObstacleReq.obstacle:type_name -> proto.ToTheMoonObstacleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonAddObstacleReq_proto_init() }
+func file_ToTheMoonAddObstacleReq_proto_init() {
+ if File_ToTheMoonAddObstacleReq_proto != nil {
+ return
+ }
+ file_ToTheMoonObstacleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonAddObstacleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonAddObstacleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonAddObstacleReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonAddObstacleReq_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonAddObstacleReq_proto_depIdxs,
+ MessageInfos: file_ToTheMoonAddObstacleReq_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonAddObstacleReq_proto = out.File
+ file_ToTheMoonAddObstacleReq_proto_rawDesc = nil
+ file_ToTheMoonAddObstacleReq_proto_goTypes = nil
+ file_ToTheMoonAddObstacleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonAddObstacleRsp.pb.go b/protocol/proto/ToTheMoonAddObstacleRsp.pb.go
new file mode 100644
index 00000000..da8d280c
--- /dev/null
+++ b/protocol/proto/ToTheMoonAddObstacleRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonAddObstacleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6103
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ToTheMoonAddObstacleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DynamicNodes *DynamicNodes `protobuf:"bytes,2,opt,name=dynamic_nodes,json=dynamicNodes,proto3" json:"dynamic_nodes,omitempty"`
+ QueryId int32 `protobuf:"varint,13,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ToTheMoonAddObstacleRsp) Reset() {
+ *x = ToTheMoonAddObstacleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonAddObstacleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonAddObstacleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonAddObstacleRsp) ProtoMessage() {}
+
+func (x *ToTheMoonAddObstacleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonAddObstacleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonAddObstacleRsp.ProtoReflect.Descriptor instead.
+func (*ToTheMoonAddObstacleRsp) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonAddObstacleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonAddObstacleRsp) GetDynamicNodes() *DynamicNodes {
+ if x != nil {
+ return x.DynamicNodes
+ }
+ return nil
+}
+
+func (x *ToTheMoonAddObstacleRsp) GetQueryId() int32 {
+ if x != nil {
+ return x.QueryId
+ }
+ return 0
+}
+
+func (x *ToTheMoonAddObstacleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ToTheMoonAddObstacleRsp_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonAddObstacleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x4f, 0x62,
+ 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e,
+ 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x17, 0x54,
+ 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x4f, 0x62, 0x73, 0x74, 0x61,
+ 0x63, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69,
+ 0x63, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x6f, 0x64,
+ 0x65, 0x73, 0x52, 0x0c, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73,
+ 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonAddObstacleRsp_proto_rawDescOnce sync.Once
+ file_ToTheMoonAddObstacleRsp_proto_rawDescData = file_ToTheMoonAddObstacleRsp_proto_rawDesc
+)
+
+func file_ToTheMoonAddObstacleRsp_proto_rawDescGZIP() []byte {
+ file_ToTheMoonAddObstacleRsp_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonAddObstacleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonAddObstacleRsp_proto_rawDescData)
+ })
+ return file_ToTheMoonAddObstacleRsp_proto_rawDescData
+}
+
+var file_ToTheMoonAddObstacleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonAddObstacleRsp_proto_goTypes = []interface{}{
+ (*ToTheMoonAddObstacleRsp)(nil), // 0: proto.ToTheMoonAddObstacleRsp
+ (*DynamicNodes)(nil), // 1: proto.DynamicNodes
+}
+var file_ToTheMoonAddObstacleRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ToTheMoonAddObstacleRsp.dynamic_nodes:type_name -> proto.DynamicNodes
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonAddObstacleRsp_proto_init() }
+func file_ToTheMoonAddObstacleRsp_proto_init() {
+ if File_ToTheMoonAddObstacleRsp_proto != nil {
+ return
+ }
+ file_DynamicNodes_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonAddObstacleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonAddObstacleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonAddObstacleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonAddObstacleRsp_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonAddObstacleRsp_proto_depIdxs,
+ MessageInfos: file_ToTheMoonAddObstacleRsp_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonAddObstacleRsp_proto = out.File
+ file_ToTheMoonAddObstacleRsp_proto_rawDesc = nil
+ file_ToTheMoonAddObstacleRsp_proto_goTypes = nil
+ file_ToTheMoonAddObstacleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonEnterSceneReq.pb.go b/protocol/proto/ToTheMoonEnterSceneReq.pb.go
new file mode 100644
index 00000000..2f9605e4
--- /dev/null
+++ b/protocol/proto/ToTheMoonEnterSceneReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonEnterSceneReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6135
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ToTheMoonEnterSceneReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Version uint32 `protobuf:"varint,14,opt,name=version,proto3" json:"version,omitempty"`
+ SceneId uint32 `protobuf:"varint,15,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *ToTheMoonEnterSceneReq) Reset() {
+ *x = ToTheMoonEnterSceneReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonEnterSceneReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonEnterSceneReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonEnterSceneReq) ProtoMessage() {}
+
+func (x *ToTheMoonEnterSceneReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonEnterSceneReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonEnterSceneReq.ProtoReflect.Descriptor instead.
+func (*ToTheMoonEnterSceneReq) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonEnterSceneReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonEnterSceneReq) GetVersion() uint32 {
+ if x != nil {
+ return x.Version
+ }
+ return 0
+}
+
+func (x *ToTheMoonEnterSceneReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_ToTheMoonEnterSceneReq_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonEnterSceneReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x16, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f,
+ 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12,
+ 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65,
+ 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonEnterSceneReq_proto_rawDescOnce sync.Once
+ file_ToTheMoonEnterSceneReq_proto_rawDescData = file_ToTheMoonEnterSceneReq_proto_rawDesc
+)
+
+func file_ToTheMoonEnterSceneReq_proto_rawDescGZIP() []byte {
+ file_ToTheMoonEnterSceneReq_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonEnterSceneReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonEnterSceneReq_proto_rawDescData)
+ })
+ return file_ToTheMoonEnterSceneReq_proto_rawDescData
+}
+
+var file_ToTheMoonEnterSceneReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonEnterSceneReq_proto_goTypes = []interface{}{
+ (*ToTheMoonEnterSceneReq)(nil), // 0: proto.ToTheMoonEnterSceneReq
+}
+var file_ToTheMoonEnterSceneReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonEnterSceneReq_proto_init() }
+func file_ToTheMoonEnterSceneReq_proto_init() {
+ if File_ToTheMoonEnterSceneReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonEnterSceneReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonEnterSceneReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonEnterSceneReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonEnterSceneReq_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonEnterSceneReq_proto_depIdxs,
+ MessageInfos: file_ToTheMoonEnterSceneReq_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonEnterSceneReq_proto = out.File
+ file_ToTheMoonEnterSceneReq_proto_rawDesc = nil
+ file_ToTheMoonEnterSceneReq_proto_goTypes = nil
+ file_ToTheMoonEnterSceneReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonEnterSceneRsp.pb.go b/protocol/proto/ToTheMoonEnterSceneRsp.pb.go
new file mode 100644
index 00000000..8a73dd1a
--- /dev/null
+++ b/protocol/proto/ToTheMoonEnterSceneRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonEnterSceneRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6107
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ToTheMoonEnterSceneRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ToTheMoonEnterSceneRsp) Reset() {
+ *x = ToTheMoonEnterSceneRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonEnterSceneRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonEnterSceneRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonEnterSceneRsp) ProtoMessage() {}
+
+func (x *ToTheMoonEnterSceneRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonEnterSceneRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonEnterSceneRsp.ProtoReflect.Descriptor instead.
+func (*ToTheMoonEnterSceneRsp) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonEnterSceneRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonEnterSceneRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ToTheMoonEnterSceneRsp_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonEnterSceneRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x16, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f,
+ 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x53, 0x63, 0x65, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonEnterSceneRsp_proto_rawDescOnce sync.Once
+ file_ToTheMoonEnterSceneRsp_proto_rawDescData = file_ToTheMoonEnterSceneRsp_proto_rawDesc
+)
+
+func file_ToTheMoonEnterSceneRsp_proto_rawDescGZIP() []byte {
+ file_ToTheMoonEnterSceneRsp_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonEnterSceneRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonEnterSceneRsp_proto_rawDescData)
+ })
+ return file_ToTheMoonEnterSceneRsp_proto_rawDescData
+}
+
+var file_ToTheMoonEnterSceneRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonEnterSceneRsp_proto_goTypes = []interface{}{
+ (*ToTheMoonEnterSceneRsp)(nil), // 0: proto.ToTheMoonEnterSceneRsp
+}
+var file_ToTheMoonEnterSceneRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonEnterSceneRsp_proto_init() }
+func file_ToTheMoonEnterSceneRsp_proto_init() {
+ if File_ToTheMoonEnterSceneRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonEnterSceneRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonEnterSceneRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonEnterSceneRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonEnterSceneRsp_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonEnterSceneRsp_proto_depIdxs,
+ MessageInfos: file_ToTheMoonEnterSceneRsp_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonEnterSceneRsp_proto = out.File
+ file_ToTheMoonEnterSceneRsp_proto_rawDesc = nil
+ file_ToTheMoonEnterSceneRsp_proto_goTypes = nil
+ file_ToTheMoonEnterSceneRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonObstacleInfo.pb.go b/protocol/proto/ToTheMoonObstacleInfo.pb.go
new file mode 100644
index 00000000..047678b2
--- /dev/null
+++ b/protocol/proto/ToTheMoonObstacleInfo.pb.go
@@ -0,0 +1,269 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonObstacleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ToTheMoonObstacleInfo_ShapeType int32
+
+const (
+ ToTheMoonObstacleInfo_SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE ToTheMoonObstacleInfo_ShapeType = 0
+ ToTheMoonObstacleInfo_SHAPE_TYPE_OBSTACLE_SHAPE_BOX ToTheMoonObstacleInfo_ShapeType = 1
+)
+
+// Enum value maps for ToTheMoonObstacleInfo_ShapeType.
+var (
+ ToTheMoonObstacleInfo_ShapeType_name = map[int32]string{
+ 0: "SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE",
+ 1: "SHAPE_TYPE_OBSTACLE_SHAPE_BOX",
+ }
+ ToTheMoonObstacleInfo_ShapeType_value = map[string]int32{
+ "SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE": 0,
+ "SHAPE_TYPE_OBSTACLE_SHAPE_BOX": 1,
+ }
+)
+
+func (x ToTheMoonObstacleInfo_ShapeType) Enum() *ToTheMoonObstacleInfo_ShapeType {
+ p := new(ToTheMoonObstacleInfo_ShapeType)
+ *p = x
+ return p
+}
+
+func (x ToTheMoonObstacleInfo_ShapeType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ToTheMoonObstacleInfo_ShapeType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ToTheMoonObstacleInfo_proto_enumTypes[0].Descriptor()
+}
+
+func (ToTheMoonObstacleInfo_ShapeType) Type() protoreflect.EnumType {
+ return &file_ToTheMoonObstacleInfo_proto_enumTypes[0]
+}
+
+func (x ToTheMoonObstacleInfo_ShapeType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ToTheMoonObstacleInfo_ShapeType.Descriptor instead.
+func (ToTheMoonObstacleInfo_ShapeType) EnumDescriptor() ([]byte, []int) {
+ return file_ToTheMoonObstacleInfo_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type ToTheMoonObstacleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type ToTheMoonObstacleInfo_ShapeType `protobuf:"varint,2,opt,name=type,proto3,enum=proto.ToTheMoonObstacleInfo_ShapeType" json:"type,omitempty"`
+ HandleId int32 `protobuf:"varint,11,opt,name=handle_id,json=handleId,proto3" json:"handle_id,omitempty"`
+ Rotation *MathQuaternion `protobuf:"bytes,7,opt,name=rotation,proto3" json:"rotation,omitempty"`
+ Center *Vector `protobuf:"bytes,13,opt,name=center,proto3" json:"center,omitempty"`
+ HalfExtents *Vector `protobuf:"bytes,14,opt,name=half_extents,json=halfExtents,proto3" json:"half_extents,omitempty"`
+}
+
+func (x *ToTheMoonObstacleInfo) Reset() {
+ *x = ToTheMoonObstacleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonObstacleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonObstacleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonObstacleInfo) ProtoMessage() {}
+
+func (x *ToTheMoonObstacleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonObstacleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonObstacleInfo.ProtoReflect.Descriptor instead.
+func (*ToTheMoonObstacleInfo) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonObstacleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonObstacleInfo) GetType() ToTheMoonObstacleInfo_ShapeType {
+ if x != nil {
+ return x.Type
+ }
+ return ToTheMoonObstacleInfo_SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE
+}
+
+func (x *ToTheMoonObstacleInfo) GetHandleId() int32 {
+ if x != nil {
+ return x.HandleId
+ }
+ return 0
+}
+
+func (x *ToTheMoonObstacleInfo) GetRotation() *MathQuaternion {
+ if x != nil {
+ return x.Rotation
+ }
+ return nil
+}
+
+func (x *ToTheMoonObstacleInfo) GetCenter() *Vector {
+ if x != nil {
+ return x.Center
+ }
+ return nil
+}
+
+func (x *ToTheMoonObstacleInfo) GetHalfExtents() *Vector {
+ if x != nil {
+ return x.HalfExtents
+ }
+ return nil
+}
+
+var File_ToTheMoonObstacleInfo_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonObstacleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x61,
+ 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x4d, 0x61, 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72,
+ 0x6e, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x02, 0x0a, 0x15, 0x54, 0x6f, 0x54,
+ 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f,
+ 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53,
+ 0x68, 0x61, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x08, 0x72,
+ 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x61, 0x74, 0x68, 0x51, 0x75, 0x61, 0x74, 0x65, 0x72,
+ 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25,
+ 0x0a, 0x06, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x63,
+ 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x0c, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x65, 0x78,
+ 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x68, 0x61, 0x6c, 0x66,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x55, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x70, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x48, 0x41, 0x50, 0x45, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x4f, 0x42, 0x53, 0x54, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x50,
+ 0x45, 0x5f, 0x43, 0x41, 0x50, 0x53, 0x55, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53,
+ 0x48, 0x41, 0x50, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x42, 0x53, 0x54, 0x41, 0x43,
+ 0x4c, 0x45, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x01, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonObstacleInfo_proto_rawDescOnce sync.Once
+ file_ToTheMoonObstacleInfo_proto_rawDescData = file_ToTheMoonObstacleInfo_proto_rawDesc
+)
+
+func file_ToTheMoonObstacleInfo_proto_rawDescGZIP() []byte {
+ file_ToTheMoonObstacleInfo_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonObstacleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonObstacleInfo_proto_rawDescData)
+ })
+ return file_ToTheMoonObstacleInfo_proto_rawDescData
+}
+
+var file_ToTheMoonObstacleInfo_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ToTheMoonObstacleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonObstacleInfo_proto_goTypes = []interface{}{
+ (ToTheMoonObstacleInfo_ShapeType)(0), // 0: proto.ToTheMoonObstacleInfo.ShapeType
+ (*ToTheMoonObstacleInfo)(nil), // 1: proto.ToTheMoonObstacleInfo
+ (*MathQuaternion)(nil), // 2: proto.MathQuaternion
+ (*Vector)(nil), // 3: proto.Vector
+}
+var file_ToTheMoonObstacleInfo_proto_depIdxs = []int32{
+ 0, // 0: proto.ToTheMoonObstacleInfo.type:type_name -> proto.ToTheMoonObstacleInfo.ShapeType
+ 2, // 1: proto.ToTheMoonObstacleInfo.rotation:type_name -> proto.MathQuaternion
+ 3, // 2: proto.ToTheMoonObstacleInfo.center:type_name -> proto.Vector
+ 3, // 3: proto.ToTheMoonObstacleInfo.half_extents:type_name -> proto.Vector
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonObstacleInfo_proto_init() }
+func file_ToTheMoonObstacleInfo_proto_init() {
+ if File_ToTheMoonObstacleInfo_proto != nil {
+ return
+ }
+ file_MathQuaternion_proto_init()
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonObstacleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonObstacleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonObstacleInfo_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonObstacleInfo_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonObstacleInfo_proto_depIdxs,
+ EnumInfos: file_ToTheMoonObstacleInfo_proto_enumTypes,
+ MessageInfos: file_ToTheMoonObstacleInfo_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonObstacleInfo_proto = out.File
+ file_ToTheMoonObstacleInfo_proto_rawDesc = nil
+ file_ToTheMoonObstacleInfo_proto_goTypes = nil
+ file_ToTheMoonObstacleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonObstaclesModifyNotify.pb.go b/protocol/proto/ToTheMoonObstaclesModifyNotify.pb.go
new file mode 100644
index 00000000..efdf03b9
--- /dev/null
+++ b/protocol/proto/ToTheMoonObstaclesModifyNotify.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonObstaclesModifyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6199
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ToTheMoonObstaclesModifyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AddObstacles []*ToTheMoonObstacleInfo `protobuf:"bytes,4,rep,name=add_obstacles,json=addObstacles,proto3" json:"add_obstacles,omitempty"`
+ RemoveObstacleIds []int32 `protobuf:"varint,13,rep,packed,name=remove_obstacle_ids,json=removeObstacleIds,proto3" json:"remove_obstacle_ids,omitempty"`
+ SceneId uint32 `protobuf:"varint,15,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ UseEdge bool `protobuf:"varint,1,opt,name=use_edge,json=useEdge,proto3" json:"use_edge,omitempty"`
+}
+
+func (x *ToTheMoonObstaclesModifyNotify) Reset() {
+ *x = ToTheMoonObstaclesModifyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonObstaclesModifyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonObstaclesModifyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonObstaclesModifyNotify) ProtoMessage() {}
+
+func (x *ToTheMoonObstaclesModifyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonObstaclesModifyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonObstaclesModifyNotify.ProtoReflect.Descriptor instead.
+func (*ToTheMoonObstaclesModifyNotify) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonObstaclesModifyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonObstaclesModifyNotify) GetAddObstacles() []*ToTheMoonObstacleInfo {
+ if x != nil {
+ return x.AddObstacles
+ }
+ return nil
+}
+
+func (x *ToTheMoonObstaclesModifyNotify) GetRemoveObstacleIds() []int32 {
+ if x != nil {
+ return x.RemoveObstacleIds
+ }
+ return nil
+}
+
+func (x *ToTheMoonObstaclesModifyNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *ToTheMoonObstaclesModifyNotify) GetUseEdge() bool {
+ if x != nil {
+ return x.UseEdge
+ }
+ return false
+}
+
+var File_ToTheMoonObstaclesModifyNotify_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonObstaclesModifyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x61,
+ 0x63, 0x6c, 0x65, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x54,
+ 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x1e, 0x54,
+ 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65,
+ 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x41, 0x0a,
+ 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x54,
+ 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x73,
+ 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x6f, 0x62, 0x73, 0x74, 0x61,
+ 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x11, 0x72,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x73,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x75,
+ 0x73, 0x65, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x75,
+ 0x73, 0x65, 0x45, 0x64, 0x67, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonObstaclesModifyNotify_proto_rawDescOnce sync.Once
+ file_ToTheMoonObstaclesModifyNotify_proto_rawDescData = file_ToTheMoonObstaclesModifyNotify_proto_rawDesc
+)
+
+func file_ToTheMoonObstaclesModifyNotify_proto_rawDescGZIP() []byte {
+ file_ToTheMoonObstaclesModifyNotify_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonObstaclesModifyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonObstaclesModifyNotify_proto_rawDescData)
+ })
+ return file_ToTheMoonObstaclesModifyNotify_proto_rawDescData
+}
+
+var file_ToTheMoonObstaclesModifyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonObstaclesModifyNotify_proto_goTypes = []interface{}{
+ (*ToTheMoonObstaclesModifyNotify)(nil), // 0: proto.ToTheMoonObstaclesModifyNotify
+ (*ToTheMoonObstacleInfo)(nil), // 1: proto.ToTheMoonObstacleInfo
+}
+var file_ToTheMoonObstaclesModifyNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.ToTheMoonObstaclesModifyNotify.add_obstacles:type_name -> proto.ToTheMoonObstacleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonObstaclesModifyNotify_proto_init() }
+func file_ToTheMoonObstaclesModifyNotify_proto_init() {
+ if File_ToTheMoonObstaclesModifyNotify_proto != nil {
+ return
+ }
+ file_ToTheMoonObstacleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonObstaclesModifyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonObstaclesModifyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonObstaclesModifyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonObstaclesModifyNotify_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonObstaclesModifyNotify_proto_depIdxs,
+ MessageInfos: file_ToTheMoonObstaclesModifyNotify_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonObstaclesModifyNotify_proto = out.File
+ file_ToTheMoonObstaclesModifyNotify_proto_rawDesc = nil
+ file_ToTheMoonObstaclesModifyNotify_proto_goTypes = nil
+ file_ToTheMoonObstaclesModifyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonPingNotify.pb.go b/protocol/proto/ToTheMoonPingNotify.pb.go
new file mode 100644
index 00000000..3f9c3c47
--- /dev/null
+++ b/protocol/proto/ToTheMoonPingNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonPingNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6112
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ToTheMoonPingNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ToTheMoonPingNotify) Reset() {
+ *x = ToTheMoonPingNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonPingNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonPingNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonPingNotify) ProtoMessage() {}
+
+func (x *ToTheMoonPingNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonPingNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonPingNotify.ProtoReflect.Descriptor instead.
+func (*ToTheMoonPingNotify) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonPingNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_ToTheMoonPingNotify_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonPingNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x50, 0x69, 0x6e, 0x67, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x15, 0x0a, 0x13, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x50,
+ 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonPingNotify_proto_rawDescOnce sync.Once
+ file_ToTheMoonPingNotify_proto_rawDescData = file_ToTheMoonPingNotify_proto_rawDesc
+)
+
+func file_ToTheMoonPingNotify_proto_rawDescGZIP() []byte {
+ file_ToTheMoonPingNotify_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonPingNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonPingNotify_proto_rawDescData)
+ })
+ return file_ToTheMoonPingNotify_proto_rawDescData
+}
+
+var file_ToTheMoonPingNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonPingNotify_proto_goTypes = []interface{}{
+ (*ToTheMoonPingNotify)(nil), // 0: proto.ToTheMoonPingNotify
+}
+var file_ToTheMoonPingNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonPingNotify_proto_init() }
+func file_ToTheMoonPingNotify_proto_init() {
+ if File_ToTheMoonPingNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonPingNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonPingNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonPingNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonPingNotify_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonPingNotify_proto_depIdxs,
+ MessageInfos: file_ToTheMoonPingNotify_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonPingNotify_proto = out.File
+ file_ToTheMoonPingNotify_proto_rawDesc = nil
+ file_ToTheMoonPingNotify_proto_goTypes = nil
+ file_ToTheMoonPingNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonQueryPathReq.pb.go b/protocol/proto/ToTheMoonQueryPathReq.pb.go
new file mode 100644
index 00000000..f872800f
--- /dev/null
+++ b/protocol/proto/ToTheMoonQueryPathReq.pb.go
@@ -0,0 +1,440 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonQueryPathReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ToTheMoonQueryPathReq_OptionType int32
+
+const (
+ ToTheMoonQueryPathReq_OPTION_TYPE_NONE ToTheMoonQueryPathReq_OptionType = 0
+ ToTheMoonQueryPathReq_OPTION_TYPE_NORMAL ToTheMoonQueryPathReq_OptionType = 1
+)
+
+// Enum value maps for ToTheMoonQueryPathReq_OptionType.
+var (
+ ToTheMoonQueryPathReq_OptionType_name = map[int32]string{
+ 0: "OPTION_TYPE_NONE",
+ 1: "OPTION_TYPE_NORMAL",
+ }
+ ToTheMoonQueryPathReq_OptionType_value = map[string]int32{
+ "OPTION_TYPE_NONE": 0,
+ "OPTION_TYPE_NORMAL": 1,
+ }
+)
+
+func (x ToTheMoonQueryPathReq_OptionType) Enum() *ToTheMoonQueryPathReq_OptionType {
+ p := new(ToTheMoonQueryPathReq_OptionType)
+ *p = x
+ return p
+}
+
+func (x ToTheMoonQueryPathReq_OptionType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ToTheMoonQueryPathReq_OptionType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ToTheMoonQueryPathReq_proto_enumTypes[0].Descriptor()
+}
+
+func (ToTheMoonQueryPathReq_OptionType) Type() protoreflect.EnumType {
+ return &file_ToTheMoonQueryPathReq_proto_enumTypes[0]
+}
+
+func (x ToTheMoonQueryPathReq_OptionType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ToTheMoonQueryPathReq_OptionType.Descriptor instead.
+func (ToTheMoonQueryPathReq_OptionType) EnumDescriptor() ([]byte, []int) {
+ return file_ToTheMoonQueryPathReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type ToTheMoonQueryPathReq_AStarMethod int32
+
+const (
+ ToTheMoonQueryPathReq_A_STAR_METHOD_CLASSIC ToTheMoonQueryPathReq_AStarMethod = 0
+ ToTheMoonQueryPathReq_A_STAR_METHOD_TENDENCY ToTheMoonQueryPathReq_AStarMethod = 1
+ ToTheMoonQueryPathReq_A_STAR_METHOD_ADAPTIVE ToTheMoonQueryPathReq_AStarMethod = 2
+ ToTheMoonQueryPathReq_A_STAR_METHOD_INFLECTION ToTheMoonQueryPathReq_AStarMethod = 3
+)
+
+// Enum value maps for ToTheMoonQueryPathReq_AStarMethod.
+var (
+ ToTheMoonQueryPathReq_AStarMethod_name = map[int32]string{
+ 0: "A_STAR_METHOD_CLASSIC",
+ 1: "A_STAR_METHOD_TENDENCY",
+ 2: "A_STAR_METHOD_ADAPTIVE",
+ 3: "A_STAR_METHOD_INFLECTION",
+ }
+ ToTheMoonQueryPathReq_AStarMethod_value = map[string]int32{
+ "A_STAR_METHOD_CLASSIC": 0,
+ "A_STAR_METHOD_TENDENCY": 1,
+ "A_STAR_METHOD_ADAPTIVE": 2,
+ "A_STAR_METHOD_INFLECTION": 3,
+ }
+)
+
+func (x ToTheMoonQueryPathReq_AStarMethod) Enum() *ToTheMoonQueryPathReq_AStarMethod {
+ p := new(ToTheMoonQueryPathReq_AStarMethod)
+ *p = x
+ return p
+}
+
+func (x ToTheMoonQueryPathReq_AStarMethod) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ToTheMoonQueryPathReq_AStarMethod) Descriptor() protoreflect.EnumDescriptor {
+ return file_ToTheMoonQueryPathReq_proto_enumTypes[1].Descriptor()
+}
+
+func (ToTheMoonQueryPathReq_AStarMethod) Type() protoreflect.EnumType {
+ return &file_ToTheMoonQueryPathReq_proto_enumTypes[1]
+}
+
+func (x ToTheMoonQueryPathReq_AStarMethod) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ToTheMoonQueryPathReq_AStarMethod.Descriptor instead.
+func (ToTheMoonQueryPathReq_AStarMethod) EnumDescriptor() ([]byte, []int) {
+ return file_ToTheMoonQueryPathReq_proto_rawDescGZIP(), []int{0, 1}
+}
+
+type ToTheMoonQueryPathReq_FilterType int32
+
+const (
+ ToTheMoonQueryPathReq_FILTER_TYPE_ALL ToTheMoonQueryPathReq_FilterType = 0
+ ToTheMoonQueryPathReq_FILTER_TYPE_AIR ToTheMoonQueryPathReq_FilterType = 1
+ ToTheMoonQueryPathReq_FILTER_TYPE_WATER ToTheMoonQueryPathReq_FilterType = 2
+)
+
+// Enum value maps for ToTheMoonQueryPathReq_FilterType.
+var (
+ ToTheMoonQueryPathReq_FilterType_name = map[int32]string{
+ 0: "FILTER_TYPE_ALL",
+ 1: "FILTER_TYPE_AIR",
+ 2: "FILTER_TYPE_WATER",
+ }
+ ToTheMoonQueryPathReq_FilterType_value = map[string]int32{
+ "FILTER_TYPE_ALL": 0,
+ "FILTER_TYPE_AIR": 1,
+ "FILTER_TYPE_WATER": 2,
+ }
+)
+
+func (x ToTheMoonQueryPathReq_FilterType) Enum() *ToTheMoonQueryPathReq_FilterType {
+ p := new(ToTheMoonQueryPathReq_FilterType)
+ *p = x
+ return p
+}
+
+func (x ToTheMoonQueryPathReq_FilterType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ToTheMoonQueryPathReq_FilterType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ToTheMoonQueryPathReq_proto_enumTypes[2].Descriptor()
+}
+
+func (ToTheMoonQueryPathReq_FilterType) Type() protoreflect.EnumType {
+ return &file_ToTheMoonQueryPathReq_proto_enumTypes[2]
+}
+
+func (x ToTheMoonQueryPathReq_FilterType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ToTheMoonQueryPathReq_FilterType.Descriptor instead.
+func (ToTheMoonQueryPathReq_FilterType) EnumDescriptor() ([]byte, []int) {
+ return file_ToTheMoonQueryPathReq_proto_rawDescGZIP(), []int{0, 2}
+}
+
+// CmdId: 6172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ToTheMoonQueryPathReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DestinationPos *Vector `protobuf:"bytes,9,opt,name=destination_pos,json=destinationPos,proto3" json:"destination_pos,omitempty"`
+ FuzzyRange int32 `protobuf:"varint,15,opt,name=fuzzy_range,json=fuzzyRange,proto3" json:"fuzzy_range,omitempty"`
+ QueryType ToTheMoonQueryPathReq_OptionType `protobuf:"varint,8,opt,name=query_type,json=queryType,proto3,enum=proto.ToTheMoonQueryPathReq_OptionType" json:"query_type,omitempty"`
+ AstarMethod ToTheMoonQueryPathReq_AStarMethod `protobuf:"varint,1,opt,name=astar_method,json=astarMethod,proto3,enum=proto.ToTheMoonQueryPathReq_AStarMethod" json:"astar_method,omitempty"`
+ SceneId uint32 `protobuf:"varint,6,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ QueryId int32 `protobuf:"varint,11,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
+ FilterType ToTheMoonQueryPathReq_FilterType `protobuf:"varint,3,opt,name=filter_type,json=filterType,proto3,enum=proto.ToTheMoonQueryPathReq_FilterType" json:"filter_type,omitempty"`
+ Refined bool `protobuf:"varint,13,opt,name=refined,proto3" json:"refined,omitempty"`
+ UseFullNeighbor bool `protobuf:"varint,5,opt,name=use_full_neighbor,json=useFullNeighbor,proto3" json:"use_full_neighbor,omitempty"`
+ SourcePos *Vector `protobuf:"bytes,10,opt,name=source_pos,json=sourcePos,proto3" json:"source_pos,omitempty"`
+}
+
+func (x *ToTheMoonQueryPathReq) Reset() {
+ *x = ToTheMoonQueryPathReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonQueryPathReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonQueryPathReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonQueryPathReq) ProtoMessage() {}
+
+func (x *ToTheMoonQueryPathReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonQueryPathReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonQueryPathReq.ProtoReflect.Descriptor instead.
+func (*ToTheMoonQueryPathReq) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonQueryPathReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonQueryPathReq) GetDestinationPos() *Vector {
+ if x != nil {
+ return x.DestinationPos
+ }
+ return nil
+}
+
+func (x *ToTheMoonQueryPathReq) GetFuzzyRange() int32 {
+ if x != nil {
+ return x.FuzzyRange
+ }
+ return 0
+}
+
+func (x *ToTheMoonQueryPathReq) GetQueryType() ToTheMoonQueryPathReq_OptionType {
+ if x != nil {
+ return x.QueryType
+ }
+ return ToTheMoonQueryPathReq_OPTION_TYPE_NONE
+}
+
+func (x *ToTheMoonQueryPathReq) GetAstarMethod() ToTheMoonQueryPathReq_AStarMethod {
+ if x != nil {
+ return x.AstarMethod
+ }
+ return ToTheMoonQueryPathReq_A_STAR_METHOD_CLASSIC
+}
+
+func (x *ToTheMoonQueryPathReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *ToTheMoonQueryPathReq) GetQueryId() int32 {
+ if x != nil {
+ return x.QueryId
+ }
+ return 0
+}
+
+func (x *ToTheMoonQueryPathReq) GetFilterType() ToTheMoonQueryPathReq_FilterType {
+ if x != nil {
+ return x.FilterType
+ }
+ return ToTheMoonQueryPathReq_FILTER_TYPE_ALL
+}
+
+func (x *ToTheMoonQueryPathReq) GetRefined() bool {
+ if x != nil {
+ return x.Refined
+ }
+ return false
+}
+
+func (x *ToTheMoonQueryPathReq) GetUseFullNeighbor() bool {
+ if x != nil {
+ return x.UseFullNeighbor
+ }
+ return false
+}
+
+func (x *ToTheMoonQueryPathReq) GetSourcePos() *Vector {
+ if x != nil {
+ return x.SourcePos
+ }
+ return nil
+}
+
+var File_ToTheMoonQueryPathReq_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonQueryPathReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x84, 0x06, 0x0a, 0x15, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e,
+ 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x12, 0x36, 0x0a, 0x0f,
+ 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x73, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x50, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x7a, 0x7a, 0x79, 0x5f, 0x72, 0x61,
+ 0x6e, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x75, 0x7a, 0x7a, 0x79,
+ 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74,
+ 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4b, 0x0a,
+ 0x0c, 0x61, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x54, 0x68,
+ 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65,
+ 0x71, 0x2e, 0x41, 0x53, 0x74, 0x61, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x61,
+ 0x73, 0x74, 0x61, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63,
+ 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64,
+ 0x12, 0x48, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f,
+ 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68,
+ 0x52, 0x65, 0x71, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a,
+ 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x66, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x66,
+ 0x69, 0x6e, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x5f, 0x66, 0x75, 0x6c, 0x6c,
+ 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x75, 0x73, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72,
+ 0x12, 0x2c, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x22, 0x3a,
+ 0x0a, 0x0a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10,
+ 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45,
+ 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x01, 0x22, 0x7e, 0x0a, 0x0b, 0x41, 0x53,
+ 0x74, 0x61, 0x72, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x5f, 0x53,
+ 0x54, 0x41, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53,
+ 0x49, 0x43, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x5f, 0x4d,
+ 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x54, 0x45, 0x4e, 0x44, 0x45, 0x4e, 0x43, 0x59, 0x10, 0x01,
+ 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f,
+ 0x44, 0x5f, 0x41, 0x44, 0x41, 0x50, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18,
+ 0x41, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x5f, 0x49, 0x4e,
+ 0x46, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x22, 0x4d, 0x0a, 0x0a, 0x46, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x49, 0x4c, 0x54,
+ 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x13, 0x0a,
+ 0x0f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x49, 0x52,
+ 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x57, 0x41, 0x54, 0x45, 0x52, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonQueryPathReq_proto_rawDescOnce sync.Once
+ file_ToTheMoonQueryPathReq_proto_rawDescData = file_ToTheMoonQueryPathReq_proto_rawDesc
+)
+
+func file_ToTheMoonQueryPathReq_proto_rawDescGZIP() []byte {
+ file_ToTheMoonQueryPathReq_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonQueryPathReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonQueryPathReq_proto_rawDescData)
+ })
+ return file_ToTheMoonQueryPathReq_proto_rawDescData
+}
+
+var file_ToTheMoonQueryPathReq_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
+var file_ToTheMoonQueryPathReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonQueryPathReq_proto_goTypes = []interface{}{
+ (ToTheMoonQueryPathReq_OptionType)(0), // 0: proto.ToTheMoonQueryPathReq.OptionType
+ (ToTheMoonQueryPathReq_AStarMethod)(0), // 1: proto.ToTheMoonQueryPathReq.AStarMethod
+ (ToTheMoonQueryPathReq_FilterType)(0), // 2: proto.ToTheMoonQueryPathReq.FilterType
+ (*ToTheMoonQueryPathReq)(nil), // 3: proto.ToTheMoonQueryPathReq
+ (*Vector)(nil), // 4: proto.Vector
+}
+var file_ToTheMoonQueryPathReq_proto_depIdxs = []int32{
+ 4, // 0: proto.ToTheMoonQueryPathReq.destination_pos:type_name -> proto.Vector
+ 0, // 1: proto.ToTheMoonQueryPathReq.query_type:type_name -> proto.ToTheMoonQueryPathReq.OptionType
+ 1, // 2: proto.ToTheMoonQueryPathReq.astar_method:type_name -> proto.ToTheMoonQueryPathReq.AStarMethod
+ 2, // 3: proto.ToTheMoonQueryPathReq.filter_type:type_name -> proto.ToTheMoonQueryPathReq.FilterType
+ 4, // 4: proto.ToTheMoonQueryPathReq.source_pos:type_name -> proto.Vector
+ 5, // [5:5] is the sub-list for method output_type
+ 5, // [5:5] is the sub-list for method input_type
+ 5, // [5:5] is the sub-list for extension type_name
+ 5, // [5:5] is the sub-list for extension extendee
+ 0, // [0:5] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonQueryPathReq_proto_init() }
+func file_ToTheMoonQueryPathReq_proto_init() {
+ if File_ToTheMoonQueryPathReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonQueryPathReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonQueryPathReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonQueryPathReq_proto_rawDesc,
+ NumEnums: 3,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonQueryPathReq_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonQueryPathReq_proto_depIdxs,
+ EnumInfos: file_ToTheMoonQueryPathReq_proto_enumTypes,
+ MessageInfos: file_ToTheMoonQueryPathReq_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonQueryPathReq_proto = out.File
+ file_ToTheMoonQueryPathReq_proto_rawDesc = nil
+ file_ToTheMoonQueryPathReq_proto_goTypes = nil
+ file_ToTheMoonQueryPathReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonQueryPathRsp.pb.go b/protocol/proto/ToTheMoonQueryPathRsp.pb.go
new file mode 100644
index 00000000..ab343a5c
--- /dev/null
+++ b/protocol/proto/ToTheMoonQueryPathRsp.pb.go
@@ -0,0 +1,277 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonQueryPathRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ToTheMoonQueryPathRsp_PathStatusType int32
+
+const (
+ ToTheMoonQueryPathRsp_PATH_STATUS_TYPE_FAIL ToTheMoonQueryPathRsp_PathStatusType = 0
+ ToTheMoonQueryPathRsp_PATH_STATUS_TYPE_SUCC ToTheMoonQueryPathRsp_PathStatusType = 1
+ ToTheMoonQueryPathRsp_PATH_STATUS_TYPE_PARTIAL ToTheMoonQueryPathRsp_PathStatusType = 2
+)
+
+// Enum value maps for ToTheMoonQueryPathRsp_PathStatusType.
+var (
+ ToTheMoonQueryPathRsp_PathStatusType_name = map[int32]string{
+ 0: "PATH_STATUS_TYPE_FAIL",
+ 1: "PATH_STATUS_TYPE_SUCC",
+ 2: "PATH_STATUS_TYPE_PARTIAL",
+ }
+ ToTheMoonQueryPathRsp_PathStatusType_value = map[string]int32{
+ "PATH_STATUS_TYPE_FAIL": 0,
+ "PATH_STATUS_TYPE_SUCC": 1,
+ "PATH_STATUS_TYPE_PARTIAL": 2,
+ }
+)
+
+func (x ToTheMoonQueryPathRsp_PathStatusType) Enum() *ToTheMoonQueryPathRsp_PathStatusType {
+ p := new(ToTheMoonQueryPathRsp_PathStatusType)
+ *p = x
+ return p
+}
+
+func (x ToTheMoonQueryPathRsp_PathStatusType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ToTheMoonQueryPathRsp_PathStatusType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ToTheMoonQueryPathRsp_proto_enumTypes[0].Descriptor()
+}
+
+func (ToTheMoonQueryPathRsp_PathStatusType) Type() protoreflect.EnumType {
+ return &file_ToTheMoonQueryPathRsp_proto_enumTypes[0]
+}
+
+func (x ToTheMoonQueryPathRsp_PathStatusType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ToTheMoonQueryPathRsp_PathStatusType.Descriptor instead.
+func (ToTheMoonQueryPathRsp_PathStatusType) EnumDescriptor() ([]byte, []int) {
+ return file_ToTheMoonQueryPathRsp_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 6198
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ToTheMoonQueryPathRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QueryStatus ToTheMoonQueryPathRsp_PathStatusType `protobuf:"varint,7,opt,name=query_status,json=queryStatus,proto3,enum=proto.ToTheMoonQueryPathRsp_PathStatusType" json:"query_status,omitempty"`
+ Index []int64 `protobuf:"varint,3,rep,packed,name=index,proto3" json:"index,omitempty"`
+ Corners []*Vector `protobuf:"bytes,14,rep,name=corners,proto3" json:"corners,omitempty"`
+ Level []int32 `protobuf:"varint,1,rep,packed,name=level,proto3" json:"level,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ QueryId int32 `protobuf:"varint,9,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
+}
+
+func (x *ToTheMoonQueryPathRsp) Reset() {
+ *x = ToTheMoonQueryPathRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonQueryPathRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonQueryPathRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonQueryPathRsp) ProtoMessage() {}
+
+func (x *ToTheMoonQueryPathRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonQueryPathRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonQueryPathRsp.ProtoReflect.Descriptor instead.
+func (*ToTheMoonQueryPathRsp) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonQueryPathRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonQueryPathRsp) GetQueryStatus() ToTheMoonQueryPathRsp_PathStatusType {
+ if x != nil {
+ return x.QueryStatus
+ }
+ return ToTheMoonQueryPathRsp_PATH_STATUS_TYPE_FAIL
+}
+
+func (x *ToTheMoonQueryPathRsp) GetIndex() []int64 {
+ if x != nil {
+ return x.Index
+ }
+ return nil
+}
+
+func (x *ToTheMoonQueryPathRsp) GetCorners() []*Vector {
+ if x != nil {
+ return x.Corners
+ }
+ return nil
+}
+
+func (x *ToTheMoonQueryPathRsp) GetLevel() []int32 {
+ if x != nil {
+ return x.Level
+ }
+ return nil
+}
+
+func (x *ToTheMoonQueryPathRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ToTheMoonQueryPathRsp) GetQueryId() int32 {
+ if x != nil {
+ return x.QueryId
+ }
+ return 0
+}
+
+var File_ToTheMoonQueryPathRsp_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonQueryPathRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79,
+ 0x50, 0x61, 0x74, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xd7, 0x02, 0x0a, 0x15, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e,
+ 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x73, 0x70, 0x12, 0x4e, 0x0a, 0x0c,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x54, 0x68, 0x65,
+ 0x4d, 0x6f, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x52, 0x73, 0x70,
+ 0x2e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x12, 0x27, 0x0a, 0x07, 0x63, 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x07, 0x63, 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c,
+ 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x0e, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x41, 0x54, 0x48,
+ 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x41, 0x49,
+ 0x4c, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54,
+ 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x10, 0x01, 0x12, 0x1c,
+ 0x0a, 0x18, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonQueryPathRsp_proto_rawDescOnce sync.Once
+ file_ToTheMoonQueryPathRsp_proto_rawDescData = file_ToTheMoonQueryPathRsp_proto_rawDesc
+)
+
+func file_ToTheMoonQueryPathRsp_proto_rawDescGZIP() []byte {
+ file_ToTheMoonQueryPathRsp_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonQueryPathRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonQueryPathRsp_proto_rawDescData)
+ })
+ return file_ToTheMoonQueryPathRsp_proto_rawDescData
+}
+
+var file_ToTheMoonQueryPathRsp_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ToTheMoonQueryPathRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonQueryPathRsp_proto_goTypes = []interface{}{
+ (ToTheMoonQueryPathRsp_PathStatusType)(0), // 0: proto.ToTheMoonQueryPathRsp.PathStatusType
+ (*ToTheMoonQueryPathRsp)(nil), // 1: proto.ToTheMoonQueryPathRsp
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_ToTheMoonQueryPathRsp_proto_depIdxs = []int32{
+ 0, // 0: proto.ToTheMoonQueryPathRsp.query_status:type_name -> proto.ToTheMoonQueryPathRsp.PathStatusType
+ 2, // 1: proto.ToTheMoonQueryPathRsp.corners:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonQueryPathRsp_proto_init() }
+func file_ToTheMoonQueryPathRsp_proto_init() {
+ if File_ToTheMoonQueryPathRsp_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonQueryPathRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonQueryPathRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonQueryPathRsp_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonQueryPathRsp_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonQueryPathRsp_proto_depIdxs,
+ EnumInfos: file_ToTheMoonQueryPathRsp_proto_enumTypes,
+ MessageInfos: file_ToTheMoonQueryPathRsp_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonQueryPathRsp_proto = out.File
+ file_ToTheMoonQueryPathRsp_proto_rawDesc = nil
+ file_ToTheMoonQueryPathRsp_proto_goTypes = nil
+ file_ToTheMoonQueryPathRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonRemoveObstacleReq.pb.go b/protocol/proto/ToTheMoonRemoveObstacleReq.pb.go
new file mode 100644
index 00000000..c87b7771
--- /dev/null
+++ b/protocol/proto/ToTheMoonRemoveObstacleReq.pb.go
@@ -0,0 +1,236 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonRemoveObstacleReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type ToTheMoonRemoveObstacleReq_ObstacleType int32
+
+const (
+ ToTheMoonRemoveObstacleReq_OBSTACLE_TYPE_BOX ToTheMoonRemoveObstacleReq_ObstacleType = 0
+ ToTheMoonRemoveObstacleReq_OBSTACLE_TYPE_CAPSULE ToTheMoonRemoveObstacleReq_ObstacleType = 1
+)
+
+// Enum value maps for ToTheMoonRemoveObstacleReq_ObstacleType.
+var (
+ ToTheMoonRemoveObstacleReq_ObstacleType_name = map[int32]string{
+ 0: "OBSTACLE_TYPE_BOX",
+ 1: "OBSTACLE_TYPE_CAPSULE",
+ }
+ ToTheMoonRemoveObstacleReq_ObstacleType_value = map[string]int32{
+ "OBSTACLE_TYPE_BOX": 0,
+ "OBSTACLE_TYPE_CAPSULE": 1,
+ }
+)
+
+func (x ToTheMoonRemoveObstacleReq_ObstacleType) Enum() *ToTheMoonRemoveObstacleReq_ObstacleType {
+ p := new(ToTheMoonRemoveObstacleReq_ObstacleType)
+ *p = x
+ return p
+}
+
+func (x ToTheMoonRemoveObstacleReq_ObstacleType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (ToTheMoonRemoveObstacleReq_ObstacleType) Descriptor() protoreflect.EnumDescriptor {
+ return file_ToTheMoonRemoveObstacleReq_proto_enumTypes[0].Descriptor()
+}
+
+func (ToTheMoonRemoveObstacleReq_ObstacleType) Type() protoreflect.EnumType {
+ return &file_ToTheMoonRemoveObstacleReq_proto_enumTypes[0]
+}
+
+func (x ToTheMoonRemoveObstacleReq_ObstacleType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use ToTheMoonRemoveObstacleReq_ObstacleType.Descriptor instead.
+func (ToTheMoonRemoveObstacleReq_ObstacleType) EnumDescriptor() ([]byte, []int) {
+ return file_ToTheMoonRemoveObstacleReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 6190
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ToTheMoonRemoveObstacleReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Handle int32 `protobuf:"varint,12,opt,name=handle,proto3" json:"handle,omitempty"`
+ SceneId uint32 `protobuf:"varint,10,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ QueryId int32 `protobuf:"varint,11,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
+}
+
+func (x *ToTheMoonRemoveObstacleReq) Reset() {
+ *x = ToTheMoonRemoveObstacleReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonRemoveObstacleReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonRemoveObstacleReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonRemoveObstacleReq) ProtoMessage() {}
+
+func (x *ToTheMoonRemoveObstacleReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonRemoveObstacleReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonRemoveObstacleReq.ProtoReflect.Descriptor instead.
+func (*ToTheMoonRemoveObstacleReq) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonRemoveObstacleReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonRemoveObstacleReq) GetHandle() int32 {
+ if x != nil {
+ return x.Handle
+ }
+ return 0
+}
+
+func (x *ToTheMoonRemoveObstacleReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *ToTheMoonRemoveObstacleReq) GetQueryId() int32 {
+ if x != nil {
+ return x.QueryId
+ }
+ return 0
+}
+
+var File_ToTheMoonRemoveObstacleReq_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonRemoveObstacleReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76,
+ 0x65, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x01, 0x0a, 0x1a, 0x54, 0x6f,
+ 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4f, 0x62, 0x73,
+ 0x74, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x64,
+ 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65,
+ 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71,
+ 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x0c, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63,
+ 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x42, 0x53, 0x54, 0x41, 0x43,
+ 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x00, 0x12, 0x19, 0x0a,
+ 0x15, 0x4f, 0x42, 0x53, 0x54, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43,
+ 0x41, 0x50, 0x53, 0x55, 0x4c, 0x45, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonRemoveObstacleReq_proto_rawDescOnce sync.Once
+ file_ToTheMoonRemoveObstacleReq_proto_rawDescData = file_ToTheMoonRemoveObstacleReq_proto_rawDesc
+)
+
+func file_ToTheMoonRemoveObstacleReq_proto_rawDescGZIP() []byte {
+ file_ToTheMoonRemoveObstacleReq_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonRemoveObstacleReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonRemoveObstacleReq_proto_rawDescData)
+ })
+ return file_ToTheMoonRemoveObstacleReq_proto_rawDescData
+}
+
+var file_ToTheMoonRemoveObstacleReq_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_ToTheMoonRemoveObstacleReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonRemoveObstacleReq_proto_goTypes = []interface{}{
+ (ToTheMoonRemoveObstacleReq_ObstacleType)(0), // 0: proto.ToTheMoonRemoveObstacleReq.ObstacleType
+ (*ToTheMoonRemoveObstacleReq)(nil), // 1: proto.ToTheMoonRemoveObstacleReq
+}
+var file_ToTheMoonRemoveObstacleReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonRemoveObstacleReq_proto_init() }
+func file_ToTheMoonRemoveObstacleReq_proto_init() {
+ if File_ToTheMoonRemoveObstacleReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonRemoveObstacleReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonRemoveObstacleReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonRemoveObstacleReq_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonRemoveObstacleReq_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonRemoveObstacleReq_proto_depIdxs,
+ EnumInfos: file_ToTheMoonRemoveObstacleReq_proto_enumTypes,
+ MessageInfos: file_ToTheMoonRemoveObstacleReq_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonRemoveObstacleReq_proto = out.File
+ file_ToTheMoonRemoveObstacleReq_proto_rawDesc = nil
+ file_ToTheMoonRemoveObstacleReq_proto_goTypes = nil
+ file_ToTheMoonRemoveObstacleReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ToTheMoonRemoveObstacleRsp.pb.go b/protocol/proto/ToTheMoonRemoveObstacleRsp.pb.go
new file mode 100644
index 00000000..5004a937
--- /dev/null
+++ b/protocol/proto/ToTheMoonRemoveObstacleRsp.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ToTheMoonRemoveObstacleRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6173
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ToTheMoonRemoveObstacleRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ QueryId int32 `protobuf:"varint,3,opt,name=query_id,json=queryId,proto3" json:"query_id,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ DynamicNodes *DynamicNodes `protobuf:"bytes,8,opt,name=dynamic_nodes,json=dynamicNodes,proto3" json:"dynamic_nodes,omitempty"`
+}
+
+func (x *ToTheMoonRemoveObstacleRsp) Reset() {
+ *x = ToTheMoonRemoveObstacleRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ToTheMoonRemoveObstacleRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToTheMoonRemoveObstacleRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToTheMoonRemoveObstacleRsp) ProtoMessage() {}
+
+func (x *ToTheMoonRemoveObstacleRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ToTheMoonRemoveObstacleRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToTheMoonRemoveObstacleRsp.ProtoReflect.Descriptor instead.
+func (*ToTheMoonRemoveObstacleRsp) Descriptor() ([]byte, []int) {
+ return file_ToTheMoonRemoveObstacleRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ToTheMoonRemoveObstacleRsp) GetQueryId() int32 {
+ if x != nil {
+ return x.QueryId
+ }
+ return 0
+}
+
+func (x *ToTheMoonRemoveObstacleRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ToTheMoonRemoveObstacleRsp) GetDynamicNodes() *DynamicNodes {
+ if x != nil {
+ return x.DynamicNodes
+ }
+ return nil
+}
+
+var File_ToTheMoonRemoveObstacleRsp_proto protoreflect.FileDescriptor
+
+var file_ToTheMoonRemoveObstacleRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76,
+ 0x65, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x44, 0x79, 0x6e, 0x61, 0x6d,
+ 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01,
+ 0x0a, 0x1a, 0x54, 0x6f, 0x54, 0x68, 0x65, 0x4d, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76,
+ 0x65, 0x4f, 0x62, 0x73, 0x74, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6e, 0x6f, 0x64,
+ 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x0c, 0x64,
+ 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ToTheMoonRemoveObstacleRsp_proto_rawDescOnce sync.Once
+ file_ToTheMoonRemoveObstacleRsp_proto_rawDescData = file_ToTheMoonRemoveObstacleRsp_proto_rawDesc
+)
+
+func file_ToTheMoonRemoveObstacleRsp_proto_rawDescGZIP() []byte {
+ file_ToTheMoonRemoveObstacleRsp_proto_rawDescOnce.Do(func() {
+ file_ToTheMoonRemoveObstacleRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ToTheMoonRemoveObstacleRsp_proto_rawDescData)
+ })
+ return file_ToTheMoonRemoveObstacleRsp_proto_rawDescData
+}
+
+var file_ToTheMoonRemoveObstacleRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ToTheMoonRemoveObstacleRsp_proto_goTypes = []interface{}{
+ (*ToTheMoonRemoveObstacleRsp)(nil), // 0: proto.ToTheMoonRemoveObstacleRsp
+ (*DynamicNodes)(nil), // 1: proto.DynamicNodes
+}
+var file_ToTheMoonRemoveObstacleRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ToTheMoonRemoveObstacleRsp.dynamic_nodes:type_name -> proto.DynamicNodes
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ToTheMoonRemoveObstacleRsp_proto_init() }
+func file_ToTheMoonRemoveObstacleRsp_proto_init() {
+ if File_ToTheMoonRemoveObstacleRsp_proto != nil {
+ return
+ }
+ file_DynamicNodes_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ToTheMoonRemoveObstacleRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToTheMoonRemoveObstacleRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ToTheMoonRemoveObstacleRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ToTheMoonRemoveObstacleRsp_proto_goTypes,
+ DependencyIndexes: file_ToTheMoonRemoveObstacleRsp_proto_depIdxs,
+ MessageInfos: file_ToTheMoonRemoveObstacleRsp_proto_msgTypes,
+ }.Build()
+ File_ToTheMoonRemoveObstacleRsp_proto = out.File
+ file_ToTheMoonRemoveObstacleRsp_proto_rawDesc = nil
+ file_ToTheMoonRemoveObstacleRsp_proto_goTypes = nil
+ file_ToTheMoonRemoveObstacleRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerAllDataReq.pb.go b/protocol/proto/TowerAllDataReq.pb.go
new file mode 100644
index 00000000..8b20990f
--- /dev/null
+++ b/protocol/proto/TowerAllDataReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerAllDataReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2490
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TowerAllDataReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsInteract bool `protobuf:"varint,2,opt,name=is_interact,json=isInteract,proto3" json:"is_interact,omitempty"`
+}
+
+func (x *TowerAllDataReq) Reset() {
+ *x = TowerAllDataReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerAllDataReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerAllDataReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerAllDataReq) ProtoMessage() {}
+
+func (x *TowerAllDataReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerAllDataReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerAllDataReq.ProtoReflect.Descriptor instead.
+func (*TowerAllDataReq) Descriptor() ([]byte, []int) {
+ return file_TowerAllDataReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerAllDataReq) GetIsInteract() bool {
+ if x != nil {
+ return x.IsInteract
+ }
+ return false
+}
+
+var File_TowerAllDataReq_proto protoreflect.FileDescriptor
+
+var file_TowerAllDataReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32,
+ 0x0a, 0x0f, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65,
+ 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61,
+ 0x63, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerAllDataReq_proto_rawDescOnce sync.Once
+ file_TowerAllDataReq_proto_rawDescData = file_TowerAllDataReq_proto_rawDesc
+)
+
+func file_TowerAllDataReq_proto_rawDescGZIP() []byte {
+ file_TowerAllDataReq_proto_rawDescOnce.Do(func() {
+ file_TowerAllDataReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerAllDataReq_proto_rawDescData)
+ })
+ return file_TowerAllDataReq_proto_rawDescData
+}
+
+var file_TowerAllDataReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerAllDataReq_proto_goTypes = []interface{}{
+ (*TowerAllDataReq)(nil), // 0: proto.TowerAllDataReq
+}
+var file_TowerAllDataReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerAllDataReq_proto_init() }
+func file_TowerAllDataReq_proto_init() {
+ if File_TowerAllDataReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerAllDataReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerAllDataReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerAllDataReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerAllDataReq_proto_goTypes,
+ DependencyIndexes: file_TowerAllDataReq_proto_depIdxs,
+ MessageInfos: file_TowerAllDataReq_proto_msgTypes,
+ }.Build()
+ File_TowerAllDataReq_proto = out.File
+ file_TowerAllDataReq_proto_rawDesc = nil
+ file_TowerAllDataReq_proto_goTypes = nil
+ file_TowerAllDataReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerAllDataRsp.pb.go b/protocol/proto/TowerAllDataRsp.pb.go
new file mode 100644
index 00000000..cea90a2b
--- /dev/null
+++ b/protocol/proto/TowerAllDataRsp.pb.go
@@ -0,0 +1,382 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerAllDataRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2473
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerAllDataRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TowerScheduleId uint32 `protobuf:"varint,10,opt,name=tower_schedule_id,json=towerScheduleId,proto3" json:"tower_schedule_id,omitempty"`
+ DailyLevelIndex uint32 `protobuf:"varint,9,opt,name=daily_level_index,json=dailyLevelIndex,proto3" json:"daily_level_index,omitempty"`
+ SkipFloorGrantedRewardItemMap map[uint32]uint32 `protobuf:"bytes,12,rep,name=skip_floor_granted_reward_item_map,json=skipFloorGrantedRewardItemMap,proto3" json:"skip_floor_granted_reward_item_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ IsFirstInteract bool `protobuf:"varint,3,opt,name=is_first_interact,json=isFirstInteract,proto3" json:"is_first_interact,omitempty"`
+ IsFinishedEntranceFloor bool `protobuf:"varint,1,opt,name=is_finished_entrance_floor,json=isFinishedEntranceFloor,proto3" json:"is_finished_entrance_floor,omitempty"`
+ TowerFloorRecordList []*TowerFloorRecord `protobuf:"bytes,5,rep,name=tower_floor_record_list,json=towerFloorRecordList,proto3" json:"tower_floor_record_list,omitempty"`
+ DailyFloorId uint32 `protobuf:"varint,11,opt,name=daily_floor_id,json=dailyFloorId,proto3" json:"daily_floor_id,omitempty"`
+ CommemorativeRewardId uint32 `protobuf:"varint,13,opt,name=commemorative_reward_id,json=commemorativeRewardId,proto3" json:"commemorative_reward_id,omitempty"`
+ LastScheduleMonthlyBrief *TowerMonthlyBrief `protobuf:"bytes,1222,opt,name=last_schedule_monthly_brief,json=lastScheduleMonthlyBrief,proto3" json:"last_schedule_monthly_brief,omitempty"`
+ NextScheduleChangeTime uint32 `protobuf:"varint,6,opt,name=next_schedule_change_time,json=nextScheduleChangeTime,proto3" json:"next_schedule_change_time,omitempty"`
+ ValidTowerRecordNum uint32 `protobuf:"varint,7,opt,name=valid_tower_record_num,json=validTowerRecordNum,proto3" json:"valid_tower_record_num,omitempty"`
+ SkipToFloorIndex uint32 `protobuf:"varint,2,opt,name=skip_to_floor_index,json=skipToFloorIndex,proto3" json:"skip_to_floor_index,omitempty"`
+ FloorOpenTimeMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=floor_open_time_map,json=floorOpenTimeMap,proto3" json:"floor_open_time_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CurLevelRecord *TowerCurLevelRecord `protobuf:"bytes,15,opt,name=cur_level_record,json=curLevelRecord,proto3" json:"cur_level_record,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ScheduleStartTime uint32 `protobuf:"varint,914,opt,name=schedule_start_time,json=scheduleStartTime,proto3" json:"schedule_start_time,omitempty"`
+ MonthlyBrief *TowerMonthlyBrief `protobuf:"bytes,14,opt,name=monthly_brief,json=monthlyBrief,proto3" json:"monthly_brief,omitempty"`
+}
+
+func (x *TowerAllDataRsp) Reset() {
+ *x = TowerAllDataRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerAllDataRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerAllDataRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerAllDataRsp) ProtoMessage() {}
+
+func (x *TowerAllDataRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerAllDataRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerAllDataRsp.ProtoReflect.Descriptor instead.
+func (*TowerAllDataRsp) Descriptor() ([]byte, []int) {
+ return file_TowerAllDataRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerAllDataRsp) GetTowerScheduleId() uint32 {
+ if x != nil {
+ return x.TowerScheduleId
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetDailyLevelIndex() uint32 {
+ if x != nil {
+ return x.DailyLevelIndex
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetSkipFloorGrantedRewardItemMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SkipFloorGrantedRewardItemMap
+ }
+ return nil
+}
+
+func (x *TowerAllDataRsp) GetIsFirstInteract() bool {
+ if x != nil {
+ return x.IsFirstInteract
+ }
+ return false
+}
+
+func (x *TowerAllDataRsp) GetIsFinishedEntranceFloor() bool {
+ if x != nil {
+ return x.IsFinishedEntranceFloor
+ }
+ return false
+}
+
+func (x *TowerAllDataRsp) GetTowerFloorRecordList() []*TowerFloorRecord {
+ if x != nil {
+ return x.TowerFloorRecordList
+ }
+ return nil
+}
+
+func (x *TowerAllDataRsp) GetDailyFloorId() uint32 {
+ if x != nil {
+ return x.DailyFloorId
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetCommemorativeRewardId() uint32 {
+ if x != nil {
+ return x.CommemorativeRewardId
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetLastScheduleMonthlyBrief() *TowerMonthlyBrief {
+ if x != nil {
+ return x.LastScheduleMonthlyBrief
+ }
+ return nil
+}
+
+func (x *TowerAllDataRsp) GetNextScheduleChangeTime() uint32 {
+ if x != nil {
+ return x.NextScheduleChangeTime
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetValidTowerRecordNum() uint32 {
+ if x != nil {
+ return x.ValidTowerRecordNum
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetSkipToFloorIndex() uint32 {
+ if x != nil {
+ return x.SkipToFloorIndex
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetFloorOpenTimeMap() map[uint32]uint32 {
+ if x != nil {
+ return x.FloorOpenTimeMap
+ }
+ return nil
+}
+
+func (x *TowerAllDataRsp) GetCurLevelRecord() *TowerCurLevelRecord {
+ if x != nil {
+ return x.CurLevelRecord
+ }
+ return nil
+}
+
+func (x *TowerAllDataRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetScheduleStartTime() uint32 {
+ if x != nil {
+ return x.ScheduleStartTime
+ }
+ return 0
+}
+
+func (x *TowerAllDataRsp) GetMonthlyBrief() *TowerMonthlyBrief {
+ if x != nil {
+ return x.MonthlyBrief
+ }
+ return nil
+}
+
+var File_TowerAllDataRsp_proto protoreflect.FileDescriptor
+
+var file_TowerAllDataRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x54, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x54, 0x6f, 0x77, 0x65, 0x72,
+ 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x17, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x09, 0x0a, 0x0f, 0x54,
+ 0x6f, 0x77, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x12, 0x2a,
+ 0x0a, 0x11, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x77, 0x65, 0x72,
+ 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61,
+ 0x69, 0x6c, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x73, 0x6b, 0x69, 0x70, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0c, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65,
+ 0x72, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x73, 0x70, 0x2e, 0x53, 0x6b, 0x69, 0x70,
+ 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1d,
+ 0x73, 0x6b, 0x69, 0x70, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64,
+ 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4d, 0x61, 0x70, 0x12, 0x2a, 0x0a,
+ 0x11, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61,
+ 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x46, 0x69, 0x72, 0x73,
+ 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x73, 0x5f,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63,
+ 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69,
+ 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63,
+ 0x65, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x17, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x52, 0x14, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x64, 0x61, 0x69, 0x6c, 0x79, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x17,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x62, 0x72,
+ 0x69, 0x65, 0x66, 0x18, 0xc6, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x52, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x39,
+ 0x0a, 0x19, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f,
+ 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x16, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x76, 0x61, 0x6c,
+ 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
+ 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64,
+ 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x2d,
+ 0x0a, 0x13, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f,
+ 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x6b, 0x69,
+ 0x70, 0x54, 0x6f, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x5b, 0x0a,
+ 0x13, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52,
+ 0x73, 0x70, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x4f,
+ 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x75,
+ 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77,
+ 0x65, 0x72, 0x43, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x52, 0x0e, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x63,
+ 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x18, 0x92, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x6d,
+ 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72,
+ 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x0c, 0x6d, 0x6f,
+ 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x42, 0x72, 0x69, 0x65, 0x66, 0x1a, 0x50, 0x0a, 0x22, 0x53, 0x6b,
+ 0x69, 0x70, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15,
+ 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerAllDataRsp_proto_rawDescOnce sync.Once
+ file_TowerAllDataRsp_proto_rawDescData = file_TowerAllDataRsp_proto_rawDesc
+)
+
+func file_TowerAllDataRsp_proto_rawDescGZIP() []byte {
+ file_TowerAllDataRsp_proto_rawDescOnce.Do(func() {
+ file_TowerAllDataRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerAllDataRsp_proto_rawDescData)
+ })
+ return file_TowerAllDataRsp_proto_rawDescData
+}
+
+var file_TowerAllDataRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_TowerAllDataRsp_proto_goTypes = []interface{}{
+ (*TowerAllDataRsp)(nil), // 0: proto.TowerAllDataRsp
+ nil, // 1: proto.TowerAllDataRsp.SkipFloorGrantedRewardItemMapEntry
+ nil, // 2: proto.TowerAllDataRsp.FloorOpenTimeMapEntry
+ (*TowerFloorRecord)(nil), // 3: proto.TowerFloorRecord
+ (*TowerMonthlyBrief)(nil), // 4: proto.TowerMonthlyBrief
+ (*TowerCurLevelRecord)(nil), // 5: proto.TowerCurLevelRecord
+}
+var file_TowerAllDataRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerAllDataRsp.skip_floor_granted_reward_item_map:type_name -> proto.TowerAllDataRsp.SkipFloorGrantedRewardItemMapEntry
+ 3, // 1: proto.TowerAllDataRsp.tower_floor_record_list:type_name -> proto.TowerFloorRecord
+ 4, // 2: proto.TowerAllDataRsp.last_schedule_monthly_brief:type_name -> proto.TowerMonthlyBrief
+ 2, // 3: proto.TowerAllDataRsp.floor_open_time_map:type_name -> proto.TowerAllDataRsp.FloorOpenTimeMapEntry
+ 5, // 4: proto.TowerAllDataRsp.cur_level_record:type_name -> proto.TowerCurLevelRecord
+ 4, // 5: proto.TowerAllDataRsp.monthly_brief:type_name -> proto.TowerMonthlyBrief
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_TowerAllDataRsp_proto_init() }
+func file_TowerAllDataRsp_proto_init() {
+ if File_TowerAllDataRsp_proto != nil {
+ return
+ }
+ file_TowerCurLevelRecord_proto_init()
+ file_TowerFloorRecord_proto_init()
+ file_TowerMonthlyBrief_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerAllDataRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerAllDataRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerAllDataRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerAllDataRsp_proto_goTypes,
+ DependencyIndexes: file_TowerAllDataRsp_proto_depIdxs,
+ MessageInfos: file_TowerAllDataRsp_proto_msgTypes,
+ }.Build()
+ File_TowerAllDataRsp_proto = out.File
+ file_TowerAllDataRsp_proto_rawDesc = nil
+ file_TowerAllDataRsp_proto_goTypes = nil
+ file_TowerAllDataRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerBriefDataNotify.pb.go b/protocol/proto/TowerBriefDataNotify.pb.go
new file mode 100644
index 00000000..7dc8a84b
--- /dev/null
+++ b/protocol/proto/TowerBriefDataNotify.pb.go
@@ -0,0 +1,229 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerBriefDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2472
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerBriefDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalStarNum uint32 `protobuf:"varint,11,opt,name=total_star_num,json=totalStarNum,proto3" json:"total_star_num,omitempty"`
+ LastFloorIndex uint32 `protobuf:"varint,8,opt,name=last_floor_index,json=lastFloorIndex,proto3" json:"last_floor_index,omitempty"`
+ ScheduleStartTime uint32 `protobuf:"varint,15,opt,name=schedule_start_time,json=scheduleStartTime,proto3" json:"schedule_start_time,omitempty"`
+ NextScheduleChangeTime uint32 `protobuf:"varint,6,opt,name=next_schedule_change_time,json=nextScheduleChangeTime,proto3" json:"next_schedule_change_time,omitempty"`
+ IsFinishedEntranceFloor bool `protobuf:"varint,14,opt,name=is_finished_entrance_floor,json=isFinishedEntranceFloor,proto3" json:"is_finished_entrance_floor,omitempty"`
+ LastLevelIndex uint32 `protobuf:"varint,4,opt,name=last_level_index,json=lastLevelIndex,proto3" json:"last_level_index,omitempty"`
+ TowerScheduleId uint32 `protobuf:"varint,5,opt,name=tower_schedule_id,json=towerScheduleId,proto3" json:"tower_schedule_id,omitempty"`
+}
+
+func (x *TowerBriefDataNotify) Reset() {
+ *x = TowerBriefDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerBriefDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerBriefDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerBriefDataNotify) ProtoMessage() {}
+
+func (x *TowerBriefDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerBriefDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerBriefDataNotify.ProtoReflect.Descriptor instead.
+func (*TowerBriefDataNotify) Descriptor() ([]byte, []int) {
+ return file_TowerBriefDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerBriefDataNotify) GetTotalStarNum() uint32 {
+ if x != nil {
+ return x.TotalStarNum
+ }
+ return 0
+}
+
+func (x *TowerBriefDataNotify) GetLastFloorIndex() uint32 {
+ if x != nil {
+ return x.LastFloorIndex
+ }
+ return 0
+}
+
+func (x *TowerBriefDataNotify) GetScheduleStartTime() uint32 {
+ if x != nil {
+ return x.ScheduleStartTime
+ }
+ return 0
+}
+
+func (x *TowerBriefDataNotify) GetNextScheduleChangeTime() uint32 {
+ if x != nil {
+ return x.NextScheduleChangeTime
+ }
+ return 0
+}
+
+func (x *TowerBriefDataNotify) GetIsFinishedEntranceFloor() bool {
+ if x != nil {
+ return x.IsFinishedEntranceFloor
+ }
+ return false
+}
+
+func (x *TowerBriefDataNotify) GetLastLevelIndex() uint32 {
+ if x != nil {
+ return x.LastLevelIndex
+ }
+ return 0
+}
+
+func (x *TowerBriefDataNotify) GetTowerScheduleId() uint32 {
+ if x != nil {
+ return x.TowerScheduleId
+ }
+ return 0
+}
+
+var File_TowerBriefDataNotify_proto protoreflect.FileDescriptor
+
+var file_TowerBriefDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x02, 0x0a, 0x14, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e,
+ 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x4e,
+ 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61,
+ 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x0a, 0x13,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x19,
+ 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x16, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f,
+ 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46,
+ 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
+ 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2a,
+ 0x0a, 0x11, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x77, 0x65, 0x72,
+ 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerBriefDataNotify_proto_rawDescOnce sync.Once
+ file_TowerBriefDataNotify_proto_rawDescData = file_TowerBriefDataNotify_proto_rawDesc
+)
+
+func file_TowerBriefDataNotify_proto_rawDescGZIP() []byte {
+ file_TowerBriefDataNotify_proto_rawDescOnce.Do(func() {
+ file_TowerBriefDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerBriefDataNotify_proto_rawDescData)
+ })
+ return file_TowerBriefDataNotify_proto_rawDescData
+}
+
+var file_TowerBriefDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerBriefDataNotify_proto_goTypes = []interface{}{
+ (*TowerBriefDataNotify)(nil), // 0: proto.TowerBriefDataNotify
+}
+var file_TowerBriefDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerBriefDataNotify_proto_init() }
+func file_TowerBriefDataNotify_proto_init() {
+ if File_TowerBriefDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerBriefDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerBriefDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerBriefDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerBriefDataNotify_proto_goTypes,
+ DependencyIndexes: file_TowerBriefDataNotify_proto_depIdxs,
+ MessageInfos: file_TowerBriefDataNotify_proto_msgTypes,
+ }.Build()
+ File_TowerBriefDataNotify_proto = out.File
+ file_TowerBriefDataNotify_proto_rawDesc = nil
+ file_TowerBriefDataNotify_proto_goTypes = nil
+ file_TowerBriefDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerBuffSelectReq.pb.go b/protocol/proto/TowerBuffSelectReq.pb.go
new file mode 100644
index 00000000..7619fb47
--- /dev/null
+++ b/protocol/proto/TowerBuffSelectReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerBuffSelectReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2448
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TowerBuffSelectReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TowerBuffId uint32 `protobuf:"varint,5,opt,name=tower_buff_id,json=towerBuffId,proto3" json:"tower_buff_id,omitempty"`
+}
+
+func (x *TowerBuffSelectReq) Reset() {
+ *x = TowerBuffSelectReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerBuffSelectReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerBuffSelectReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerBuffSelectReq) ProtoMessage() {}
+
+func (x *TowerBuffSelectReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerBuffSelectReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerBuffSelectReq.ProtoReflect.Descriptor instead.
+func (*TowerBuffSelectReq) Descriptor() ([]byte, []int) {
+ return file_TowerBuffSelectReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerBuffSelectReq) GetTowerBuffId() uint32 {
+ if x != nil {
+ return x.TowerBuffId
+ }
+ return 0
+}
+
+var File_TowerBuffSelectReq_proto protoreflect.FileDescriptor
+
+var file_TowerBuffSelectReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x38, 0x0a, 0x12, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x53, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x77, 0x65, 0x72,
+ 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x74, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerBuffSelectReq_proto_rawDescOnce sync.Once
+ file_TowerBuffSelectReq_proto_rawDescData = file_TowerBuffSelectReq_proto_rawDesc
+)
+
+func file_TowerBuffSelectReq_proto_rawDescGZIP() []byte {
+ file_TowerBuffSelectReq_proto_rawDescOnce.Do(func() {
+ file_TowerBuffSelectReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerBuffSelectReq_proto_rawDescData)
+ })
+ return file_TowerBuffSelectReq_proto_rawDescData
+}
+
+var file_TowerBuffSelectReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerBuffSelectReq_proto_goTypes = []interface{}{
+ (*TowerBuffSelectReq)(nil), // 0: proto.TowerBuffSelectReq
+}
+var file_TowerBuffSelectReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerBuffSelectReq_proto_init() }
+func file_TowerBuffSelectReq_proto_init() {
+ if File_TowerBuffSelectReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerBuffSelectReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerBuffSelectReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerBuffSelectReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerBuffSelectReq_proto_goTypes,
+ DependencyIndexes: file_TowerBuffSelectReq_proto_depIdxs,
+ MessageInfos: file_TowerBuffSelectReq_proto_msgTypes,
+ }.Build()
+ File_TowerBuffSelectReq_proto = out.File
+ file_TowerBuffSelectReq_proto_rawDesc = nil
+ file_TowerBuffSelectReq_proto_goTypes = nil
+ file_TowerBuffSelectReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerBuffSelectRsp.pb.go b/protocol/proto/TowerBuffSelectRsp.pb.go
new file mode 100644
index 00000000..9fe09f95
--- /dev/null
+++ b/protocol/proto/TowerBuffSelectRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerBuffSelectRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2497
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerBuffSelectRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TowerBuffId uint32 `protobuf:"varint,13,opt,name=tower_buff_id,json=towerBuffId,proto3" json:"tower_buff_id,omitempty"`
+}
+
+func (x *TowerBuffSelectRsp) Reset() {
+ *x = TowerBuffSelectRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerBuffSelectRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerBuffSelectRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerBuffSelectRsp) ProtoMessage() {}
+
+func (x *TowerBuffSelectRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerBuffSelectRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerBuffSelectRsp.ProtoReflect.Descriptor instead.
+func (*TowerBuffSelectRsp) Descriptor() ([]byte, []int) {
+ return file_TowerBuffSelectRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerBuffSelectRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TowerBuffSelectRsp) GetTowerBuffId() uint32 {
+ if x != nil {
+ return x.TowerBuffId
+ }
+ return 0
+}
+
+var File_TowerBuffSelectRsp_proto protoreflect.FileDescriptor
+
+var file_TowerBuffSelectRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x52, 0x0a, 0x12, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x53, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f,
+ 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x42,
+ 0x75, 0x66, 0x66, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerBuffSelectRsp_proto_rawDescOnce sync.Once
+ file_TowerBuffSelectRsp_proto_rawDescData = file_TowerBuffSelectRsp_proto_rawDesc
+)
+
+func file_TowerBuffSelectRsp_proto_rawDescGZIP() []byte {
+ file_TowerBuffSelectRsp_proto_rawDescOnce.Do(func() {
+ file_TowerBuffSelectRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerBuffSelectRsp_proto_rawDescData)
+ })
+ return file_TowerBuffSelectRsp_proto_rawDescData
+}
+
+var file_TowerBuffSelectRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerBuffSelectRsp_proto_goTypes = []interface{}{
+ (*TowerBuffSelectRsp)(nil), // 0: proto.TowerBuffSelectRsp
+}
+var file_TowerBuffSelectRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerBuffSelectRsp_proto_init() }
+func file_TowerBuffSelectRsp_proto_init() {
+ if File_TowerBuffSelectRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerBuffSelectRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerBuffSelectRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerBuffSelectRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerBuffSelectRsp_proto_goTypes,
+ DependencyIndexes: file_TowerBuffSelectRsp_proto_depIdxs,
+ MessageInfos: file_TowerBuffSelectRsp_proto_msgTypes,
+ }.Build()
+ File_TowerBuffSelectRsp_proto = out.File
+ file_TowerBuffSelectRsp_proto_rawDesc = nil
+ file_TowerBuffSelectRsp_proto_goTypes = nil
+ file_TowerBuffSelectRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerCurLevelRecord.pb.go b/protocol/proto/TowerCurLevelRecord.pb.go
new file mode 100644
index 00000000..75959ff7
--- /dev/null
+++ b/protocol/proto/TowerCurLevelRecord.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerCurLevelRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerCurLevelRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TowerTeamList []*TowerTeam `protobuf:"bytes,8,rep,name=tower_team_list,json=towerTeamList,proto3" json:"tower_team_list,omitempty"`
+ IsEmpty bool `protobuf:"varint,6,opt,name=is_empty,json=isEmpty,proto3" json:"is_empty,omitempty"`
+ BuffIdList []uint32 `protobuf:"varint,4,rep,packed,name=buff_id_list,json=buffIdList,proto3" json:"buff_id_list,omitempty"`
+ IsUpperPart bool `protobuf:"varint,2,opt,name=is_upper_part,json=isUpperPart,proto3" json:"is_upper_part,omitempty"`
+ CurLevelIndex uint32 `protobuf:"varint,1,opt,name=cur_level_index,json=curLevelIndex,proto3" json:"cur_level_index,omitempty"`
+ CurFloorId uint32 `protobuf:"varint,15,opt,name=cur_floor_id,json=curFloorId,proto3" json:"cur_floor_id,omitempty"`
+}
+
+func (x *TowerCurLevelRecord) Reset() {
+ *x = TowerCurLevelRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerCurLevelRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerCurLevelRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerCurLevelRecord) ProtoMessage() {}
+
+func (x *TowerCurLevelRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerCurLevelRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerCurLevelRecord.ProtoReflect.Descriptor instead.
+func (*TowerCurLevelRecord) Descriptor() ([]byte, []int) {
+ return file_TowerCurLevelRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerCurLevelRecord) GetTowerTeamList() []*TowerTeam {
+ if x != nil {
+ return x.TowerTeamList
+ }
+ return nil
+}
+
+func (x *TowerCurLevelRecord) GetIsEmpty() bool {
+ if x != nil {
+ return x.IsEmpty
+ }
+ return false
+}
+
+func (x *TowerCurLevelRecord) GetBuffIdList() []uint32 {
+ if x != nil {
+ return x.BuffIdList
+ }
+ return nil
+}
+
+func (x *TowerCurLevelRecord) GetIsUpperPart() bool {
+ if x != nil {
+ return x.IsUpperPart
+ }
+ return false
+}
+
+func (x *TowerCurLevelRecord) GetCurLevelIndex() uint32 {
+ if x != nil {
+ return x.CurLevelIndex
+ }
+ return 0
+}
+
+func (x *TowerCurLevelRecord) GetCurFloorId() uint32 {
+ if x != nil {
+ return x.CurFloorId
+ }
+ return 0
+}
+
+var File_TowerCurLevelRecord_proto protoreflect.FileDescriptor
+
+var file_TowerCurLevelRecord_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0f, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x01, 0x0a, 0x13, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x75, 0x72,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x38, 0x0a, 0x0f, 0x74,
+ 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77,
+ 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0d, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61,
+ 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x65, 0x6d, 0x70, 0x74,
+ 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79,
+ 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x75, 0x66, 0x66, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x70,
+ 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x55, 0x70, 0x70,
+ 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20,
+ 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerCurLevelRecord_proto_rawDescOnce sync.Once
+ file_TowerCurLevelRecord_proto_rawDescData = file_TowerCurLevelRecord_proto_rawDesc
+)
+
+func file_TowerCurLevelRecord_proto_rawDescGZIP() []byte {
+ file_TowerCurLevelRecord_proto_rawDescOnce.Do(func() {
+ file_TowerCurLevelRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerCurLevelRecord_proto_rawDescData)
+ })
+ return file_TowerCurLevelRecord_proto_rawDescData
+}
+
+var file_TowerCurLevelRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerCurLevelRecord_proto_goTypes = []interface{}{
+ (*TowerCurLevelRecord)(nil), // 0: proto.TowerCurLevelRecord
+ (*TowerTeam)(nil), // 1: proto.TowerTeam
+}
+var file_TowerCurLevelRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerCurLevelRecord.tower_team_list:type_name -> proto.TowerTeam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TowerCurLevelRecord_proto_init() }
+func file_TowerCurLevelRecord_proto_init() {
+ if File_TowerCurLevelRecord_proto != nil {
+ return
+ }
+ file_TowerTeam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerCurLevelRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerCurLevelRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerCurLevelRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerCurLevelRecord_proto_goTypes,
+ DependencyIndexes: file_TowerCurLevelRecord_proto_depIdxs,
+ MessageInfos: file_TowerCurLevelRecord_proto_msgTypes,
+ }.Build()
+ File_TowerCurLevelRecord_proto = out.File
+ file_TowerCurLevelRecord_proto_rawDesc = nil
+ file_TowerCurLevelRecord_proto_goTypes = nil
+ file_TowerCurLevelRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerCurLevelRecordChangeNotify.pb.go b/protocol/proto/TowerCurLevelRecordChangeNotify.pb.go
new file mode 100644
index 00000000..2f22e3ff
--- /dev/null
+++ b/protocol/proto/TowerCurLevelRecordChangeNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerCurLevelRecordChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2412
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerCurLevelRecordChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurLevelRecord *TowerCurLevelRecord `protobuf:"bytes,10,opt,name=cur_level_record,json=curLevelRecord,proto3" json:"cur_level_record,omitempty"`
+}
+
+func (x *TowerCurLevelRecordChangeNotify) Reset() {
+ *x = TowerCurLevelRecordChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerCurLevelRecordChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerCurLevelRecordChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerCurLevelRecordChangeNotify) ProtoMessage() {}
+
+func (x *TowerCurLevelRecordChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerCurLevelRecordChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerCurLevelRecordChangeNotify.ProtoReflect.Descriptor instead.
+func (*TowerCurLevelRecordChangeNotify) Descriptor() ([]byte, []int) {
+ return file_TowerCurLevelRecordChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerCurLevelRecordChangeNotify) GetCurLevelRecord() *TowerCurLevelRecord {
+ if x != nil {
+ return x.CurLevelRecord
+ }
+ return nil
+}
+
+var File_TowerCurLevelRecordChangeNotify_proto protoreflect.FileDescriptor
+
+var file_TowerCurLevelRecordChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x54, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x1f, 0x54, 0x6f, 0x77,
+ 0x65, 0x72, 0x43, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x44, 0x0a, 0x10,
+ 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54,
+ 0x6f, 0x77, 0x65, 0x72, 0x43, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerCurLevelRecordChangeNotify_proto_rawDescOnce sync.Once
+ file_TowerCurLevelRecordChangeNotify_proto_rawDescData = file_TowerCurLevelRecordChangeNotify_proto_rawDesc
+)
+
+func file_TowerCurLevelRecordChangeNotify_proto_rawDescGZIP() []byte {
+ file_TowerCurLevelRecordChangeNotify_proto_rawDescOnce.Do(func() {
+ file_TowerCurLevelRecordChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerCurLevelRecordChangeNotify_proto_rawDescData)
+ })
+ return file_TowerCurLevelRecordChangeNotify_proto_rawDescData
+}
+
+var file_TowerCurLevelRecordChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerCurLevelRecordChangeNotify_proto_goTypes = []interface{}{
+ (*TowerCurLevelRecordChangeNotify)(nil), // 0: proto.TowerCurLevelRecordChangeNotify
+ (*TowerCurLevelRecord)(nil), // 1: proto.TowerCurLevelRecord
+}
+var file_TowerCurLevelRecordChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerCurLevelRecordChangeNotify.cur_level_record:type_name -> proto.TowerCurLevelRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TowerCurLevelRecordChangeNotify_proto_init() }
+func file_TowerCurLevelRecordChangeNotify_proto_init() {
+ if File_TowerCurLevelRecordChangeNotify_proto != nil {
+ return
+ }
+ file_TowerCurLevelRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerCurLevelRecordChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerCurLevelRecordChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerCurLevelRecordChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerCurLevelRecordChangeNotify_proto_goTypes,
+ DependencyIndexes: file_TowerCurLevelRecordChangeNotify_proto_depIdxs,
+ MessageInfos: file_TowerCurLevelRecordChangeNotify_proto_msgTypes,
+ }.Build()
+ File_TowerCurLevelRecordChangeNotify_proto = out.File
+ file_TowerCurLevelRecordChangeNotify_proto_rawDesc = nil
+ file_TowerCurLevelRecordChangeNotify_proto_goTypes = nil
+ file_TowerCurLevelRecordChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerDailyRewardProgressChangeNotify.pb.go b/protocol/proto/TowerDailyRewardProgressChangeNotify.pb.go
new file mode 100644
index 00000000..2792a471
--- /dev/null
+++ b/protocol/proto/TowerDailyRewardProgressChangeNotify.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerDailyRewardProgressChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2435
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerDailyRewardProgressChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DailyFloorId uint32 `protobuf:"varint,15,opt,name=daily_floor_id,json=dailyFloorId,proto3" json:"daily_floor_id,omitempty"`
+ DailyLevelIndex uint32 `protobuf:"varint,9,opt,name=daily_level_index,json=dailyLevelIndex,proto3" json:"daily_level_index,omitempty"`
+}
+
+func (x *TowerDailyRewardProgressChangeNotify) Reset() {
+ *x = TowerDailyRewardProgressChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerDailyRewardProgressChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerDailyRewardProgressChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerDailyRewardProgressChangeNotify) ProtoMessage() {}
+
+func (x *TowerDailyRewardProgressChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerDailyRewardProgressChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerDailyRewardProgressChangeNotify.ProtoReflect.Descriptor instead.
+func (*TowerDailyRewardProgressChangeNotify) Descriptor() ([]byte, []int) {
+ return file_TowerDailyRewardProgressChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerDailyRewardProgressChangeNotify) GetDailyFloorId() uint32 {
+ if x != nil {
+ return x.DailyFloorId
+ }
+ return 0
+}
+
+func (x *TowerDailyRewardProgressChangeNotify) GetDailyLevelIndex() uint32 {
+ if x != nil {
+ return x.DailyLevelIndex
+ }
+ return 0
+}
+
+var File_TowerDailyRewardProgressChangeNotify_proto protoreflect.FileDescriptor
+
+var file_TowerDailyRewardProgressChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x24, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c,
+ 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x64,
+ 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49,
+ 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x61,
+ 0x69, 0x6c, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TowerDailyRewardProgressChangeNotify_proto_rawDescOnce sync.Once
+ file_TowerDailyRewardProgressChangeNotify_proto_rawDescData = file_TowerDailyRewardProgressChangeNotify_proto_rawDesc
+)
+
+func file_TowerDailyRewardProgressChangeNotify_proto_rawDescGZIP() []byte {
+ file_TowerDailyRewardProgressChangeNotify_proto_rawDescOnce.Do(func() {
+ file_TowerDailyRewardProgressChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerDailyRewardProgressChangeNotify_proto_rawDescData)
+ })
+ return file_TowerDailyRewardProgressChangeNotify_proto_rawDescData
+}
+
+var file_TowerDailyRewardProgressChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerDailyRewardProgressChangeNotify_proto_goTypes = []interface{}{
+ (*TowerDailyRewardProgressChangeNotify)(nil), // 0: proto.TowerDailyRewardProgressChangeNotify
+}
+var file_TowerDailyRewardProgressChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerDailyRewardProgressChangeNotify_proto_init() }
+func file_TowerDailyRewardProgressChangeNotify_proto_init() {
+ if File_TowerDailyRewardProgressChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerDailyRewardProgressChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerDailyRewardProgressChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerDailyRewardProgressChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerDailyRewardProgressChangeNotify_proto_goTypes,
+ DependencyIndexes: file_TowerDailyRewardProgressChangeNotify_proto_depIdxs,
+ MessageInfos: file_TowerDailyRewardProgressChangeNotify_proto_msgTypes,
+ }.Build()
+ File_TowerDailyRewardProgressChangeNotify_proto = out.File
+ file_TowerDailyRewardProgressChangeNotify_proto_rawDesc = nil
+ file_TowerDailyRewardProgressChangeNotify_proto_goTypes = nil
+ file_TowerDailyRewardProgressChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerEnterLevelReq.pb.go b/protocol/proto/TowerEnterLevelReq.pb.go
new file mode 100644
index 00000000..e32f0885
--- /dev/null
+++ b/protocol/proto/TowerEnterLevelReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerEnterLevelReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2431
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TowerEnterLevelReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnterPointId uint32 `protobuf:"varint,3,opt,name=enter_point_id,json=enterPointId,proto3" json:"enter_point_id,omitempty"`
+}
+
+func (x *TowerEnterLevelReq) Reset() {
+ *x = TowerEnterLevelReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerEnterLevelReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerEnterLevelReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerEnterLevelReq) ProtoMessage() {}
+
+func (x *TowerEnterLevelReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerEnterLevelReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerEnterLevelReq.ProtoReflect.Descriptor instead.
+func (*TowerEnterLevelReq) Descriptor() ([]byte, []int) {
+ return file_TowerEnterLevelReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerEnterLevelReq) GetEnterPointId() uint32 {
+ if x != nil {
+ return x.EnterPointId
+ }
+ return 0
+}
+
+var File_TowerEnterLevelReq_proto protoreflect.FileDescriptor
+
+var file_TowerEnterLevelReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x3a, 0x0a, 0x12, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x6e, 0x74, 0x65, 0x72,
+ 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TowerEnterLevelReq_proto_rawDescOnce sync.Once
+ file_TowerEnterLevelReq_proto_rawDescData = file_TowerEnterLevelReq_proto_rawDesc
+)
+
+func file_TowerEnterLevelReq_proto_rawDescGZIP() []byte {
+ file_TowerEnterLevelReq_proto_rawDescOnce.Do(func() {
+ file_TowerEnterLevelReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerEnterLevelReq_proto_rawDescData)
+ })
+ return file_TowerEnterLevelReq_proto_rawDescData
+}
+
+var file_TowerEnterLevelReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerEnterLevelReq_proto_goTypes = []interface{}{
+ (*TowerEnterLevelReq)(nil), // 0: proto.TowerEnterLevelReq
+}
+var file_TowerEnterLevelReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerEnterLevelReq_proto_init() }
+func file_TowerEnterLevelReq_proto_init() {
+ if File_TowerEnterLevelReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerEnterLevelReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerEnterLevelReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerEnterLevelReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerEnterLevelReq_proto_goTypes,
+ DependencyIndexes: file_TowerEnterLevelReq_proto_depIdxs,
+ MessageInfos: file_TowerEnterLevelReq_proto_msgTypes,
+ }.Build()
+ File_TowerEnterLevelReq_proto = out.File
+ file_TowerEnterLevelReq_proto_rawDesc = nil
+ file_TowerEnterLevelReq_proto_goTypes = nil
+ file_TowerEnterLevelReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerEnterLevelRsp.pb.go b/protocol/proto/TowerEnterLevelRsp.pb.go
new file mode 100644
index 00000000..113ab4b5
--- /dev/null
+++ b/protocol/proto/TowerEnterLevelRsp.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerEnterLevelRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2475
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerEnterLevelRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TowerBuffIdList []uint32 `protobuf:"varint,10,rep,packed,name=tower_buff_id_list,json=towerBuffIdList,proto3" json:"tower_buff_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ LevelIndex uint32 `protobuf:"varint,14,opt,name=level_index,json=levelIndex,proto3" json:"level_index,omitempty"`
+ FloorId uint32 `protobuf:"varint,5,opt,name=floor_id,json=floorId,proto3" json:"floor_id,omitempty"`
+}
+
+func (x *TowerEnterLevelRsp) Reset() {
+ *x = TowerEnterLevelRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerEnterLevelRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerEnterLevelRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerEnterLevelRsp) ProtoMessage() {}
+
+func (x *TowerEnterLevelRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerEnterLevelRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerEnterLevelRsp.ProtoReflect.Descriptor instead.
+func (*TowerEnterLevelRsp) Descriptor() ([]byte, []int) {
+ return file_TowerEnterLevelRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerEnterLevelRsp) GetTowerBuffIdList() []uint32 {
+ if x != nil {
+ return x.TowerBuffIdList
+ }
+ return nil
+}
+
+func (x *TowerEnterLevelRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TowerEnterLevelRsp) GetLevelIndex() uint32 {
+ if x != nil {
+ return x.LevelIndex
+ }
+ return 0
+}
+
+func (x *TowerEnterLevelRsp) GetFloorId() uint32 {
+ if x != nil {
+ return x.FloorId
+ }
+ return 0
+}
+
+var File_TowerEnterLevelRsp_proto protoreflect.FileDescriptor
+
+var file_TowerEnterLevelRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x97, 0x01, 0x0a, 0x12, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x12, 0x74, 0x6f, 0x77, 0x65,
+ 0x72, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x75, 0x66, 0x66, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerEnterLevelRsp_proto_rawDescOnce sync.Once
+ file_TowerEnterLevelRsp_proto_rawDescData = file_TowerEnterLevelRsp_proto_rawDesc
+)
+
+func file_TowerEnterLevelRsp_proto_rawDescGZIP() []byte {
+ file_TowerEnterLevelRsp_proto_rawDescOnce.Do(func() {
+ file_TowerEnterLevelRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerEnterLevelRsp_proto_rawDescData)
+ })
+ return file_TowerEnterLevelRsp_proto_rawDescData
+}
+
+var file_TowerEnterLevelRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerEnterLevelRsp_proto_goTypes = []interface{}{
+ (*TowerEnterLevelRsp)(nil), // 0: proto.TowerEnterLevelRsp
+}
+var file_TowerEnterLevelRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerEnterLevelRsp_proto_init() }
+func file_TowerEnterLevelRsp_proto_init() {
+ if File_TowerEnterLevelRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerEnterLevelRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerEnterLevelRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerEnterLevelRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerEnterLevelRsp_proto_goTypes,
+ DependencyIndexes: file_TowerEnterLevelRsp_proto_depIdxs,
+ MessageInfos: file_TowerEnterLevelRsp_proto_msgTypes,
+ }.Build()
+ File_TowerEnterLevelRsp_proto = out.File
+ file_TowerEnterLevelRsp_proto_rawDesc = nil
+ file_TowerEnterLevelRsp_proto_goTypes = nil
+ file_TowerEnterLevelRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerFightRecordPair.pb.go b/protocol/proto/TowerFightRecordPair.pb.go
new file mode 100644
index 00000000..fda8d8ce
--- /dev/null
+++ b/protocol/proto/TowerFightRecordPair.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerFightRecordPair.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerFightRecordPair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvatarId uint32 `protobuf:"varint,1,opt,name=avatar_id,json=avatarId,proto3" json:"avatar_id,omitempty"`
+ Data uint32 `protobuf:"varint,3,opt,name=data,proto3" json:"data,omitempty"`
+}
+
+func (x *TowerFightRecordPair) Reset() {
+ *x = TowerFightRecordPair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerFightRecordPair_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerFightRecordPair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerFightRecordPair) ProtoMessage() {}
+
+func (x *TowerFightRecordPair) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerFightRecordPair_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerFightRecordPair.ProtoReflect.Descriptor instead.
+func (*TowerFightRecordPair) Descriptor() ([]byte, []int) {
+ return file_TowerFightRecordPair_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerFightRecordPair) GetAvatarId() uint32 {
+ if x != nil {
+ return x.AvatarId
+ }
+ return 0
+}
+
+func (x *TowerFightRecordPair) GetData() uint32 {
+ if x != nil {
+ return x.Data
+ }
+ return 0
+}
+
+var File_TowerFightRecordPair_proto protoreflect.FileDescriptor
+
+var file_TowerFightRecordPair_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x47, 0x0a, 0x14, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x69, 0x67, 0x68,
+ 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerFightRecordPair_proto_rawDescOnce sync.Once
+ file_TowerFightRecordPair_proto_rawDescData = file_TowerFightRecordPair_proto_rawDesc
+)
+
+func file_TowerFightRecordPair_proto_rawDescGZIP() []byte {
+ file_TowerFightRecordPair_proto_rawDescOnce.Do(func() {
+ file_TowerFightRecordPair_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerFightRecordPair_proto_rawDescData)
+ })
+ return file_TowerFightRecordPair_proto_rawDescData
+}
+
+var file_TowerFightRecordPair_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerFightRecordPair_proto_goTypes = []interface{}{
+ (*TowerFightRecordPair)(nil), // 0: proto.TowerFightRecordPair
+}
+var file_TowerFightRecordPair_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerFightRecordPair_proto_init() }
+func file_TowerFightRecordPair_proto_init() {
+ if File_TowerFightRecordPair_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerFightRecordPair_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerFightRecordPair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerFightRecordPair_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerFightRecordPair_proto_goTypes,
+ DependencyIndexes: file_TowerFightRecordPair_proto_depIdxs,
+ MessageInfos: file_TowerFightRecordPair_proto_msgTypes,
+ }.Build()
+ File_TowerFightRecordPair_proto = out.File
+ file_TowerFightRecordPair_proto_rawDesc = nil
+ file_TowerFightRecordPair_proto_goTypes = nil
+ file_TowerFightRecordPair_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerFloorRecord.pb.go b/protocol/proto/TowerFloorRecord.pb.go
new file mode 100644
index 00000000..bc849f3a
--- /dev/null
+++ b/protocol/proto/TowerFloorRecord.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerFloorRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerFloorRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FloorStarRewardProgress uint32 `protobuf:"varint,15,opt,name=floor_star_reward_progress,json=floorStarRewardProgress,proto3" json:"floor_star_reward_progress,omitempty"`
+ PassedLevelMap map[uint32]uint32 `protobuf:"bytes,8,rep,name=passed_level_map,json=passedLevelMap,proto3" json:"passed_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ FloorId uint32 `protobuf:"varint,12,opt,name=floor_id,json=floorId,proto3" json:"floor_id,omitempty"`
+ PassedLevelRecordList []*TowerLevelRecord `protobuf:"bytes,2,rep,name=passed_level_record_list,json=passedLevelRecordList,proto3" json:"passed_level_record_list,omitempty"`
+}
+
+func (x *TowerFloorRecord) Reset() {
+ *x = TowerFloorRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerFloorRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerFloorRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerFloorRecord) ProtoMessage() {}
+
+func (x *TowerFloorRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerFloorRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerFloorRecord.ProtoReflect.Descriptor instead.
+func (*TowerFloorRecord) Descriptor() ([]byte, []int) {
+ return file_TowerFloorRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerFloorRecord) GetFloorStarRewardProgress() uint32 {
+ if x != nil {
+ return x.FloorStarRewardProgress
+ }
+ return 0
+}
+
+func (x *TowerFloorRecord) GetPassedLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.PassedLevelMap
+ }
+ return nil
+}
+
+func (x *TowerFloorRecord) GetFloorId() uint32 {
+ if x != nil {
+ return x.FloorId
+ }
+ return 0
+}
+
+func (x *TowerFloorRecord) GetPassedLevelRecordList() []*TowerLevelRecord {
+ if x != nil {
+ return x.PassedLevelRecordList
+ }
+ return nil
+}
+
+var File_TowerFloorRecord_proto protoreflect.FileDescriptor
+
+var file_TowerFloorRecord_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x02, 0x0a, 0x10, 0x54, 0x6f, 0x77, 0x65,
+ 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x3b, 0x0a, 0x1a,
+ 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x17, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x10, 0x70, 0x61, 0x73,
+ 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x08, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65,
+ 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x50, 0x61, 0x73,
+ 0x73, 0x65, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70,
+ 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x18, 0x70,
+ 0x61, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x15, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x41, 0x0a,
+ 0x13, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerFloorRecord_proto_rawDescOnce sync.Once
+ file_TowerFloorRecord_proto_rawDescData = file_TowerFloorRecord_proto_rawDesc
+)
+
+func file_TowerFloorRecord_proto_rawDescGZIP() []byte {
+ file_TowerFloorRecord_proto_rawDescOnce.Do(func() {
+ file_TowerFloorRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerFloorRecord_proto_rawDescData)
+ })
+ return file_TowerFloorRecord_proto_rawDescData
+}
+
+var file_TowerFloorRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_TowerFloorRecord_proto_goTypes = []interface{}{
+ (*TowerFloorRecord)(nil), // 0: proto.TowerFloorRecord
+ nil, // 1: proto.TowerFloorRecord.PassedLevelMapEntry
+ (*TowerLevelRecord)(nil), // 2: proto.TowerLevelRecord
+}
+var file_TowerFloorRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerFloorRecord.passed_level_map:type_name -> proto.TowerFloorRecord.PassedLevelMapEntry
+ 2, // 1: proto.TowerFloorRecord.passed_level_record_list:type_name -> proto.TowerLevelRecord
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_TowerFloorRecord_proto_init() }
+func file_TowerFloorRecord_proto_init() {
+ if File_TowerFloorRecord_proto != nil {
+ return
+ }
+ file_TowerLevelRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerFloorRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerFloorRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerFloorRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerFloorRecord_proto_goTypes,
+ DependencyIndexes: file_TowerFloorRecord_proto_depIdxs,
+ MessageInfos: file_TowerFloorRecord_proto_msgTypes,
+ }.Build()
+ File_TowerFloorRecord_proto = out.File
+ file_TowerFloorRecord_proto_rawDesc = nil
+ file_TowerFloorRecord_proto_goTypes = nil
+ file_TowerFloorRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerFloorRecordChangeNotify.pb.go b/protocol/proto/TowerFloorRecordChangeNotify.pb.go
new file mode 100644
index 00000000..93968dba
--- /dev/null
+++ b/protocol/proto/TowerFloorRecordChangeNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerFloorRecordChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2498
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerFloorRecordChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFinishedEntranceFloor bool `protobuf:"varint,11,opt,name=is_finished_entrance_floor,json=isFinishedEntranceFloor,proto3" json:"is_finished_entrance_floor,omitempty"`
+ TowerFloorRecordList []*TowerFloorRecord `protobuf:"bytes,8,rep,name=tower_floor_record_list,json=towerFloorRecordList,proto3" json:"tower_floor_record_list,omitempty"`
+}
+
+func (x *TowerFloorRecordChangeNotify) Reset() {
+ *x = TowerFloorRecordChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerFloorRecordChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerFloorRecordChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerFloorRecordChangeNotify) ProtoMessage() {}
+
+func (x *TowerFloorRecordChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerFloorRecordChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerFloorRecordChangeNotify.ProtoReflect.Descriptor instead.
+func (*TowerFloorRecordChangeNotify) Descriptor() ([]byte, []int) {
+ return file_TowerFloorRecordChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerFloorRecordChangeNotify) GetIsFinishedEntranceFloor() bool {
+ if x != nil {
+ return x.IsFinishedEntranceFloor
+ }
+ return false
+}
+
+func (x *TowerFloorRecordChangeNotify) GetTowerFloorRecordList() []*TowerFloorRecord {
+ if x != nil {
+ return x.TowerFloorRecordList
+ }
+ return nil
+}
+
+var File_TowerFloorRecordChangeNotify_proto protoreflect.FileDescriptor
+
+var file_TowerFloorRecordChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x54, 0x6f, 0x77,
+ 0x65, 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x1c, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x6c, 0x6f,
+ 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66, 0x6c, 0x6f,
+ 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x6c, 0x6f, 0x6f,
+ 0x72, 0x12, 0x4e, 0x0a, 0x17, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72,
+ 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72,
+ 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x14, 0x74, 0x6f, 0x77,
+ 0x65, 0x72, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerFloorRecordChangeNotify_proto_rawDescOnce sync.Once
+ file_TowerFloorRecordChangeNotify_proto_rawDescData = file_TowerFloorRecordChangeNotify_proto_rawDesc
+)
+
+func file_TowerFloorRecordChangeNotify_proto_rawDescGZIP() []byte {
+ file_TowerFloorRecordChangeNotify_proto_rawDescOnce.Do(func() {
+ file_TowerFloorRecordChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerFloorRecordChangeNotify_proto_rawDescData)
+ })
+ return file_TowerFloorRecordChangeNotify_proto_rawDescData
+}
+
+var file_TowerFloorRecordChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerFloorRecordChangeNotify_proto_goTypes = []interface{}{
+ (*TowerFloorRecordChangeNotify)(nil), // 0: proto.TowerFloorRecordChangeNotify
+ (*TowerFloorRecord)(nil), // 1: proto.TowerFloorRecord
+}
+var file_TowerFloorRecordChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerFloorRecordChangeNotify.tower_floor_record_list:type_name -> proto.TowerFloorRecord
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TowerFloorRecordChangeNotify_proto_init() }
+func file_TowerFloorRecordChangeNotify_proto_init() {
+ if File_TowerFloorRecordChangeNotify_proto != nil {
+ return
+ }
+ file_TowerFloorRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerFloorRecordChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerFloorRecordChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerFloorRecordChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerFloorRecordChangeNotify_proto_goTypes,
+ DependencyIndexes: file_TowerFloorRecordChangeNotify_proto_depIdxs,
+ MessageInfos: file_TowerFloorRecordChangeNotify_proto_msgTypes,
+ }.Build()
+ File_TowerFloorRecordChangeNotify_proto = out.File
+ file_TowerFloorRecordChangeNotify_proto_rawDesc = nil
+ file_TowerFloorRecordChangeNotify_proto_goTypes = nil
+ file_TowerFloorRecordChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerGetFloorStarRewardReq.pb.go b/protocol/proto/TowerGetFloorStarRewardReq.pb.go
new file mode 100644
index 00000000..176eaa37
--- /dev/null
+++ b/protocol/proto/TowerGetFloorStarRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerGetFloorStarRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2404
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TowerGetFloorStarRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FloorId uint32 `protobuf:"varint,15,opt,name=floor_id,json=floorId,proto3" json:"floor_id,omitempty"`
+}
+
+func (x *TowerGetFloorStarRewardReq) Reset() {
+ *x = TowerGetFloorStarRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerGetFloorStarRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerGetFloorStarRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerGetFloorStarRewardReq) ProtoMessage() {}
+
+func (x *TowerGetFloorStarRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerGetFloorStarRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerGetFloorStarRewardReq.ProtoReflect.Descriptor instead.
+func (*TowerGetFloorStarRewardReq) Descriptor() ([]byte, []int) {
+ return file_TowerGetFloorStarRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerGetFloorStarRewardReq) GetFloorId() uint32 {
+ if x != nil {
+ return x.FloorId
+ }
+ return 0
+}
+
+var File_TowerGetFloorStarRewardReq_proto protoreflect.FileDescriptor
+
+var file_TowerGetFloorStarRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x53,
+ 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x1a, 0x54, 0x6f, 0x77,
+ 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x6f, 0x72,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerGetFloorStarRewardReq_proto_rawDescOnce sync.Once
+ file_TowerGetFloorStarRewardReq_proto_rawDescData = file_TowerGetFloorStarRewardReq_proto_rawDesc
+)
+
+func file_TowerGetFloorStarRewardReq_proto_rawDescGZIP() []byte {
+ file_TowerGetFloorStarRewardReq_proto_rawDescOnce.Do(func() {
+ file_TowerGetFloorStarRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerGetFloorStarRewardReq_proto_rawDescData)
+ })
+ return file_TowerGetFloorStarRewardReq_proto_rawDescData
+}
+
+var file_TowerGetFloorStarRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerGetFloorStarRewardReq_proto_goTypes = []interface{}{
+ (*TowerGetFloorStarRewardReq)(nil), // 0: proto.TowerGetFloorStarRewardReq
+}
+var file_TowerGetFloorStarRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerGetFloorStarRewardReq_proto_init() }
+func file_TowerGetFloorStarRewardReq_proto_init() {
+ if File_TowerGetFloorStarRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerGetFloorStarRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerGetFloorStarRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerGetFloorStarRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerGetFloorStarRewardReq_proto_goTypes,
+ DependencyIndexes: file_TowerGetFloorStarRewardReq_proto_depIdxs,
+ MessageInfos: file_TowerGetFloorStarRewardReq_proto_msgTypes,
+ }.Build()
+ File_TowerGetFloorStarRewardReq_proto = out.File
+ file_TowerGetFloorStarRewardReq_proto_rawDesc = nil
+ file_TowerGetFloorStarRewardReq_proto_goTypes = nil
+ file_TowerGetFloorStarRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerGetFloorStarRewardRsp.pb.go b/protocol/proto/TowerGetFloorStarRewardRsp.pb.go
new file mode 100644
index 00000000..aca28872
--- /dev/null
+++ b/protocol/proto/TowerGetFloorStarRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerGetFloorStarRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2493
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerGetFloorStarRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ FloorId uint32 `protobuf:"varint,9,opt,name=floor_id,json=floorId,proto3" json:"floor_id,omitempty"`
+}
+
+func (x *TowerGetFloorStarRewardRsp) Reset() {
+ *x = TowerGetFloorStarRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerGetFloorStarRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerGetFloorStarRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerGetFloorStarRewardRsp) ProtoMessage() {}
+
+func (x *TowerGetFloorStarRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerGetFloorStarRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerGetFloorStarRewardRsp.ProtoReflect.Descriptor instead.
+func (*TowerGetFloorStarRewardRsp) Descriptor() ([]byte, []int) {
+ return file_TowerGetFloorStarRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerGetFloorStarRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TowerGetFloorStarRewardRsp) GetFloorId() uint32 {
+ if x != nil {
+ return x.FloorId
+ }
+ return 0
+}
+
+var File_TowerGetFloorStarRewardRsp_proto protoreflect.FileDescriptor
+
+var file_TowerGetFloorStarRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x53,
+ 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x1a, 0x54, 0x6f, 0x77,
+ 0x65, 0x72, 0x47, 0x65, 0x74, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerGetFloorStarRewardRsp_proto_rawDescOnce sync.Once
+ file_TowerGetFloorStarRewardRsp_proto_rawDescData = file_TowerGetFloorStarRewardRsp_proto_rawDesc
+)
+
+func file_TowerGetFloorStarRewardRsp_proto_rawDescGZIP() []byte {
+ file_TowerGetFloorStarRewardRsp_proto_rawDescOnce.Do(func() {
+ file_TowerGetFloorStarRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerGetFloorStarRewardRsp_proto_rawDescData)
+ })
+ return file_TowerGetFloorStarRewardRsp_proto_rawDescData
+}
+
+var file_TowerGetFloorStarRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerGetFloorStarRewardRsp_proto_goTypes = []interface{}{
+ (*TowerGetFloorStarRewardRsp)(nil), // 0: proto.TowerGetFloorStarRewardRsp
+}
+var file_TowerGetFloorStarRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerGetFloorStarRewardRsp_proto_init() }
+func file_TowerGetFloorStarRewardRsp_proto_init() {
+ if File_TowerGetFloorStarRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerGetFloorStarRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerGetFloorStarRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerGetFloorStarRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerGetFloorStarRewardRsp_proto_goTypes,
+ DependencyIndexes: file_TowerGetFloorStarRewardRsp_proto_depIdxs,
+ MessageInfos: file_TowerGetFloorStarRewardRsp_proto_msgTypes,
+ }.Build()
+ File_TowerGetFloorStarRewardRsp_proto = out.File
+ file_TowerGetFloorStarRewardRsp_proto_rawDesc = nil
+ file_TowerGetFloorStarRewardRsp_proto_goTypes = nil
+ file_TowerGetFloorStarRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerLevelEndNotify.pb.go b/protocol/proto/TowerLevelEndNotify.pb.go
new file mode 100644
index 00000000..5e8db662
--- /dev/null
+++ b/protocol/proto/TowerLevelEndNotify.pb.go
@@ -0,0 +1,272 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerLevelEndNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerLevelEndNotify_ContinueStateType int32
+
+const (
+ TowerLevelEndNotify_CONTINUE_STATE_TYPE_CAN_NOT_CONTINUE TowerLevelEndNotify_ContinueStateType = 0
+ TowerLevelEndNotify_CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_LEVEL TowerLevelEndNotify_ContinueStateType = 1
+ TowerLevelEndNotify_CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_FLOOR TowerLevelEndNotify_ContinueStateType = 2
+)
+
+// Enum value maps for TowerLevelEndNotify_ContinueStateType.
+var (
+ TowerLevelEndNotify_ContinueStateType_name = map[int32]string{
+ 0: "CONTINUE_STATE_TYPE_CAN_NOT_CONTINUE",
+ 1: "CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_LEVEL",
+ 2: "CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_FLOOR",
+ }
+ TowerLevelEndNotify_ContinueStateType_value = map[string]int32{
+ "CONTINUE_STATE_TYPE_CAN_NOT_CONTINUE": 0,
+ "CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_LEVEL": 1,
+ "CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_FLOOR": 2,
+ }
+)
+
+func (x TowerLevelEndNotify_ContinueStateType) Enum() *TowerLevelEndNotify_ContinueStateType {
+ p := new(TowerLevelEndNotify_ContinueStateType)
+ *p = x
+ return p
+}
+
+func (x TowerLevelEndNotify_ContinueStateType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TowerLevelEndNotify_ContinueStateType) Descriptor() protoreflect.EnumDescriptor {
+ return file_TowerLevelEndNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (TowerLevelEndNotify_ContinueStateType) Type() protoreflect.EnumType {
+ return &file_TowerLevelEndNotify_proto_enumTypes[0]
+}
+
+func (x TowerLevelEndNotify_ContinueStateType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TowerLevelEndNotify_ContinueStateType.Descriptor instead.
+func (TowerLevelEndNotify_ContinueStateType) EnumDescriptor() ([]byte, []int) {
+ return file_TowerLevelEndNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 2495
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerLevelEndNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NextFloorId uint32 `protobuf:"varint,4,opt,name=next_floor_id,json=nextFloorId,proto3" json:"next_floor_id,omitempty"`
+ RewardItemList []*ItemParam `protobuf:"bytes,12,rep,name=reward_item_list,json=rewardItemList,proto3" json:"reward_item_list,omitempty"`
+ ContinueState uint32 `protobuf:"varint,15,opt,name=continue_state,json=continueState,proto3" json:"continue_state,omitempty"`
+ IsSuccess bool `protobuf:"varint,5,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ FinishedStarCondList []uint32 `protobuf:"varint,6,rep,packed,name=finished_star_cond_list,json=finishedStarCondList,proto3" json:"finished_star_cond_list,omitempty"`
+}
+
+func (x *TowerLevelEndNotify) Reset() {
+ *x = TowerLevelEndNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerLevelEndNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerLevelEndNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerLevelEndNotify) ProtoMessage() {}
+
+func (x *TowerLevelEndNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerLevelEndNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerLevelEndNotify.ProtoReflect.Descriptor instead.
+func (*TowerLevelEndNotify) Descriptor() ([]byte, []int) {
+ return file_TowerLevelEndNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerLevelEndNotify) GetNextFloorId() uint32 {
+ if x != nil {
+ return x.NextFloorId
+ }
+ return 0
+}
+
+func (x *TowerLevelEndNotify) GetRewardItemList() []*ItemParam {
+ if x != nil {
+ return x.RewardItemList
+ }
+ return nil
+}
+
+func (x *TowerLevelEndNotify) GetContinueState() uint32 {
+ if x != nil {
+ return x.ContinueState
+ }
+ return 0
+}
+
+func (x *TowerLevelEndNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *TowerLevelEndNotify) GetFinishedStarCondList() []uint32 {
+ if x != nil {
+ return x.FinishedStarCondList
+ }
+ return nil
+}
+
+var File_TowerLevelEndNotify_proto protoreflect.FileDescriptor
+
+var file_TowerLevelEndNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x45, 0x6e, 0x64, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x03, 0x0a, 0x13, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x45, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x6e,
+ 0x65, 0x78, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x12,
+ 0x3a, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63,
+ 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x53, 0x74, 0x61,
+ 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x12, 0x35, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x73, 0x74,
+ 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x14, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x53, 0x74, 0x61, 0x72,
+ 0x43, 0x6f, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e,
+ 0x74, 0x69, 0x6e, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28,
+ 0x0a, 0x24, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x4f,
+ 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4f, 0x4e, 0x54,
+ 0x49, 0x4e, 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x43, 0x41, 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x4c,
+ 0x45, 0x56, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e,
+ 0x55, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41,
+ 0x4e, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x46, 0x4c, 0x4f,
+ 0x4f, 0x52, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerLevelEndNotify_proto_rawDescOnce sync.Once
+ file_TowerLevelEndNotify_proto_rawDescData = file_TowerLevelEndNotify_proto_rawDesc
+)
+
+func file_TowerLevelEndNotify_proto_rawDescGZIP() []byte {
+ file_TowerLevelEndNotify_proto_rawDescOnce.Do(func() {
+ file_TowerLevelEndNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerLevelEndNotify_proto_rawDescData)
+ })
+ return file_TowerLevelEndNotify_proto_rawDescData
+}
+
+var file_TowerLevelEndNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_TowerLevelEndNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerLevelEndNotify_proto_goTypes = []interface{}{
+ (TowerLevelEndNotify_ContinueStateType)(0), // 0: proto.TowerLevelEndNotify.ContinueStateType
+ (*TowerLevelEndNotify)(nil), // 1: proto.TowerLevelEndNotify
+ (*ItemParam)(nil), // 2: proto.ItemParam
+}
+var file_TowerLevelEndNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.TowerLevelEndNotify.reward_item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TowerLevelEndNotify_proto_init() }
+func file_TowerLevelEndNotify_proto_init() {
+ if File_TowerLevelEndNotify_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerLevelEndNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerLevelEndNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerLevelEndNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerLevelEndNotify_proto_goTypes,
+ DependencyIndexes: file_TowerLevelEndNotify_proto_depIdxs,
+ EnumInfos: file_TowerLevelEndNotify_proto_enumTypes,
+ MessageInfos: file_TowerLevelEndNotify_proto_msgTypes,
+ }.Build()
+ File_TowerLevelEndNotify_proto = out.File
+ file_TowerLevelEndNotify_proto_rawDesc = nil
+ file_TowerLevelEndNotify_proto_goTypes = nil
+ file_TowerLevelEndNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerLevelRecord.pb.go b/protocol/proto/TowerLevelRecord.pb.go
new file mode 100644
index 00000000..c280b71e
--- /dev/null
+++ b/protocol/proto/TowerLevelRecord.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerLevelRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerLevelRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SatisfiedCondList []uint32 `protobuf:"varint,13,rep,packed,name=satisfied_cond_list,json=satisfiedCondList,proto3" json:"satisfied_cond_list,omitempty"`
+ LevelId uint32 `protobuf:"varint,10,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *TowerLevelRecord) Reset() {
+ *x = TowerLevelRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerLevelRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerLevelRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerLevelRecord) ProtoMessage() {}
+
+func (x *TowerLevelRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerLevelRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerLevelRecord.ProtoReflect.Descriptor instead.
+func (*TowerLevelRecord) Descriptor() ([]byte, []int) {
+ return file_TowerLevelRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerLevelRecord) GetSatisfiedCondList() []uint32 {
+ if x != nil {
+ return x.SatisfiedCondList
+ }
+ return nil
+}
+
+func (x *TowerLevelRecord) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_TowerLevelRecord_proto protoreflect.FileDescriptor
+
+var file_TowerLevelRecord_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x5d, 0x0a, 0x10, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64,
+ 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x11, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TowerLevelRecord_proto_rawDescOnce sync.Once
+ file_TowerLevelRecord_proto_rawDescData = file_TowerLevelRecord_proto_rawDesc
+)
+
+func file_TowerLevelRecord_proto_rawDescGZIP() []byte {
+ file_TowerLevelRecord_proto_rawDescOnce.Do(func() {
+ file_TowerLevelRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerLevelRecord_proto_rawDescData)
+ })
+ return file_TowerLevelRecord_proto_rawDescData
+}
+
+var file_TowerLevelRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerLevelRecord_proto_goTypes = []interface{}{
+ (*TowerLevelRecord)(nil), // 0: proto.TowerLevelRecord
+}
+var file_TowerLevelRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerLevelRecord_proto_init() }
+func file_TowerLevelRecord_proto_init() {
+ if File_TowerLevelRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerLevelRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerLevelRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerLevelRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerLevelRecord_proto_goTypes,
+ DependencyIndexes: file_TowerLevelRecord_proto_depIdxs,
+ MessageInfos: file_TowerLevelRecord_proto_msgTypes,
+ }.Build()
+ File_TowerLevelRecord_proto = out.File
+ file_TowerLevelRecord_proto_rawDesc = nil
+ file_TowerLevelRecord_proto_goTypes = nil
+ file_TowerLevelRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerLevelStarCondData.pb.go b/protocol/proto/TowerLevelStarCondData.pb.go
new file mode 100644
index 00000000..d088bc8f
--- /dev/null
+++ b/protocol/proto/TowerLevelStarCondData.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerLevelStarCondData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerLevelStarCondData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsFail bool `protobuf:"varint,15,opt,name=is_fail,json=isFail,proto3" json:"is_fail,omitempty"`
+ CondValue uint32 `protobuf:"varint,9,opt,name=cond_value,json=condValue,proto3" json:"cond_value,omitempty"`
+ IsPause bool `protobuf:"varint,13,opt,name=is_pause,json=isPause,proto3" json:"is_pause,omitempty"`
+ StarCondIndex uint32 `protobuf:"varint,6,opt,name=star_cond_index,json=starCondIndex,proto3" json:"star_cond_index,omitempty"`
+}
+
+func (x *TowerLevelStarCondData) Reset() {
+ *x = TowerLevelStarCondData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerLevelStarCondData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerLevelStarCondData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerLevelStarCondData) ProtoMessage() {}
+
+func (x *TowerLevelStarCondData) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerLevelStarCondData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerLevelStarCondData.ProtoReflect.Descriptor instead.
+func (*TowerLevelStarCondData) Descriptor() ([]byte, []int) {
+ return file_TowerLevelStarCondData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerLevelStarCondData) GetIsFail() bool {
+ if x != nil {
+ return x.IsFail
+ }
+ return false
+}
+
+func (x *TowerLevelStarCondData) GetCondValue() uint32 {
+ if x != nil {
+ return x.CondValue
+ }
+ return 0
+}
+
+func (x *TowerLevelStarCondData) GetIsPause() bool {
+ if x != nil {
+ return x.IsPause
+ }
+ return false
+}
+
+func (x *TowerLevelStarCondData) GetStarCondIndex() uint32 {
+ if x != nil {
+ return x.StarCondIndex
+ }
+ return 0
+}
+
+var File_TowerLevelStarCondData_proto protoreflect.FileDescriptor
+
+var file_TowerLevelStarCondData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x72,
+ 0x43, 0x6f, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x16, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x06, 0x69, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6e,
+ 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63,
+ 0x6f, 0x6e, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x70,
+ 0x61, 0x75, 0x73, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x50, 0x61,
+ 0x75, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x64,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x74,
+ 0x61, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerLevelStarCondData_proto_rawDescOnce sync.Once
+ file_TowerLevelStarCondData_proto_rawDescData = file_TowerLevelStarCondData_proto_rawDesc
+)
+
+func file_TowerLevelStarCondData_proto_rawDescGZIP() []byte {
+ file_TowerLevelStarCondData_proto_rawDescOnce.Do(func() {
+ file_TowerLevelStarCondData_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerLevelStarCondData_proto_rawDescData)
+ })
+ return file_TowerLevelStarCondData_proto_rawDescData
+}
+
+var file_TowerLevelStarCondData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerLevelStarCondData_proto_goTypes = []interface{}{
+ (*TowerLevelStarCondData)(nil), // 0: proto.TowerLevelStarCondData
+}
+var file_TowerLevelStarCondData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerLevelStarCondData_proto_init() }
+func file_TowerLevelStarCondData_proto_init() {
+ if File_TowerLevelStarCondData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerLevelStarCondData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerLevelStarCondData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerLevelStarCondData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerLevelStarCondData_proto_goTypes,
+ DependencyIndexes: file_TowerLevelStarCondData_proto_depIdxs,
+ MessageInfos: file_TowerLevelStarCondData_proto_msgTypes,
+ }.Build()
+ File_TowerLevelStarCondData_proto = out.File
+ file_TowerLevelStarCondData_proto_rawDesc = nil
+ file_TowerLevelStarCondData_proto_goTypes = nil
+ file_TowerLevelStarCondData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerLevelStarCondNotify.pb.go b/protocol/proto/TowerLevelStarCondNotify.pb.go
new file mode 100644
index 00000000..d1eeaab3
--- /dev/null
+++ b/protocol/proto/TowerLevelStarCondNotify.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerLevelStarCondNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2406
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerLevelStarCondNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelIndex uint32 `protobuf:"varint,14,opt,name=level_index,json=levelIndex,proto3" json:"level_index,omitempty"`
+ FloorId uint32 `protobuf:"varint,11,opt,name=floor_id,json=floorId,proto3" json:"floor_id,omitempty"`
+ CondDataList []*TowerLevelStarCondData `protobuf:"bytes,9,rep,name=cond_data_list,json=condDataList,proto3" json:"cond_data_list,omitempty"`
+}
+
+func (x *TowerLevelStarCondNotify) Reset() {
+ *x = TowerLevelStarCondNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerLevelStarCondNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerLevelStarCondNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerLevelStarCondNotify) ProtoMessage() {}
+
+func (x *TowerLevelStarCondNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerLevelStarCondNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerLevelStarCondNotify.ProtoReflect.Descriptor instead.
+func (*TowerLevelStarCondNotify) Descriptor() ([]byte, []int) {
+ return file_TowerLevelStarCondNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerLevelStarCondNotify) GetLevelIndex() uint32 {
+ if x != nil {
+ return x.LevelIndex
+ }
+ return 0
+}
+
+func (x *TowerLevelStarCondNotify) GetFloorId() uint32 {
+ if x != nil {
+ return x.FloorId
+ }
+ return 0
+}
+
+func (x *TowerLevelStarCondNotify) GetCondDataList() []*TowerLevelStarCondData {
+ if x != nil {
+ return x.CondDataList
+ }
+ return nil
+}
+
+var File_TowerLevelStarCondNotify_proto protoreflect.FileDescriptor
+
+var file_TowerLevelStarCondNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x72,
+ 0x43, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x01, 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4c,
+ 0x65, 0x76, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65,
+ 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e,
+ 0x64, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x43,
+ 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54,
+ 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x6e,
+ 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerLevelStarCondNotify_proto_rawDescOnce sync.Once
+ file_TowerLevelStarCondNotify_proto_rawDescData = file_TowerLevelStarCondNotify_proto_rawDesc
+)
+
+func file_TowerLevelStarCondNotify_proto_rawDescGZIP() []byte {
+ file_TowerLevelStarCondNotify_proto_rawDescOnce.Do(func() {
+ file_TowerLevelStarCondNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerLevelStarCondNotify_proto_rawDescData)
+ })
+ return file_TowerLevelStarCondNotify_proto_rawDescData
+}
+
+var file_TowerLevelStarCondNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerLevelStarCondNotify_proto_goTypes = []interface{}{
+ (*TowerLevelStarCondNotify)(nil), // 0: proto.TowerLevelStarCondNotify
+ (*TowerLevelStarCondData)(nil), // 1: proto.TowerLevelStarCondData
+}
+var file_TowerLevelStarCondNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerLevelStarCondNotify.cond_data_list:type_name -> proto.TowerLevelStarCondData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TowerLevelStarCondNotify_proto_init() }
+func file_TowerLevelStarCondNotify_proto_init() {
+ if File_TowerLevelStarCondNotify_proto != nil {
+ return
+ }
+ file_TowerLevelStarCondData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerLevelStarCondNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerLevelStarCondNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerLevelStarCondNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerLevelStarCondNotify_proto_goTypes,
+ DependencyIndexes: file_TowerLevelStarCondNotify_proto_depIdxs,
+ MessageInfos: file_TowerLevelStarCondNotify_proto_msgTypes,
+ }.Build()
+ File_TowerLevelStarCondNotify_proto = out.File
+ file_TowerLevelStarCondNotify_proto_rawDesc = nil
+ file_TowerLevelStarCondNotify_proto_goTypes = nil
+ file_TowerLevelStarCondNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerMiddleLevelChangeTeamNotify.pb.go b/protocol/proto/TowerMiddleLevelChangeTeamNotify.pb.go
new file mode 100644
index 00000000..84b35403
--- /dev/null
+++ b/protocol/proto/TowerMiddleLevelChangeTeamNotify.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerMiddleLevelChangeTeamNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2434
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerMiddleLevelChangeTeamNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TowerMiddleLevelChangeTeamNotify) Reset() {
+ *x = TowerMiddleLevelChangeTeamNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerMiddleLevelChangeTeamNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerMiddleLevelChangeTeamNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerMiddleLevelChangeTeamNotify) ProtoMessage() {}
+
+func (x *TowerMiddleLevelChangeTeamNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerMiddleLevelChangeTeamNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerMiddleLevelChangeTeamNotify.ProtoReflect.Descriptor instead.
+func (*TowerMiddleLevelChangeTeamNotify) Descriptor() ([]byte, []int) {
+ return file_TowerMiddleLevelChangeTeamNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TowerMiddleLevelChangeTeamNotify_proto protoreflect.FileDescriptor
+
+var file_TowerMiddleLevelChangeTeamNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x22, 0x0a, 0x20, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x61, 0x6d, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerMiddleLevelChangeTeamNotify_proto_rawDescOnce sync.Once
+ file_TowerMiddleLevelChangeTeamNotify_proto_rawDescData = file_TowerMiddleLevelChangeTeamNotify_proto_rawDesc
+)
+
+func file_TowerMiddleLevelChangeTeamNotify_proto_rawDescGZIP() []byte {
+ file_TowerMiddleLevelChangeTeamNotify_proto_rawDescOnce.Do(func() {
+ file_TowerMiddleLevelChangeTeamNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerMiddleLevelChangeTeamNotify_proto_rawDescData)
+ })
+ return file_TowerMiddleLevelChangeTeamNotify_proto_rawDescData
+}
+
+var file_TowerMiddleLevelChangeTeamNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerMiddleLevelChangeTeamNotify_proto_goTypes = []interface{}{
+ (*TowerMiddleLevelChangeTeamNotify)(nil), // 0: proto.TowerMiddleLevelChangeTeamNotify
+}
+var file_TowerMiddleLevelChangeTeamNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerMiddleLevelChangeTeamNotify_proto_init() }
+func file_TowerMiddleLevelChangeTeamNotify_proto_init() {
+ if File_TowerMiddleLevelChangeTeamNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerMiddleLevelChangeTeamNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerMiddleLevelChangeTeamNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerMiddleLevelChangeTeamNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerMiddleLevelChangeTeamNotify_proto_goTypes,
+ DependencyIndexes: file_TowerMiddleLevelChangeTeamNotify_proto_depIdxs,
+ MessageInfos: file_TowerMiddleLevelChangeTeamNotify_proto_msgTypes,
+ }.Build()
+ File_TowerMiddleLevelChangeTeamNotify_proto = out.File
+ file_TowerMiddleLevelChangeTeamNotify_proto_rawDesc = nil
+ file_TowerMiddleLevelChangeTeamNotify_proto_goTypes = nil
+ file_TowerMiddleLevelChangeTeamNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerMonthlyBrief.pb.go b/protocol/proto/TowerMonthlyBrief.pb.go
new file mode 100644
index 00000000..891423c1
--- /dev/null
+++ b/protocol/proto/TowerMonthlyBrief.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerMonthlyBrief.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerMonthlyBrief struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TowerScheduleId uint32 `protobuf:"varint,15,opt,name=tower_schedule_id,json=towerScheduleId,proto3" json:"tower_schedule_id,omitempty"`
+ BestFloorIndex uint32 `protobuf:"varint,6,opt,name=best_floor_index,json=bestFloorIndex,proto3" json:"best_floor_index,omitempty"`
+ BestLevelIndex uint32 `protobuf:"varint,3,opt,name=best_level_index,json=bestLevelIndex,proto3" json:"best_level_index,omitempty"`
+ TotalStarCount uint32 `protobuf:"varint,12,opt,name=total_star_count,json=totalStarCount,proto3" json:"total_star_count,omitempty"`
+}
+
+func (x *TowerMonthlyBrief) Reset() {
+ *x = TowerMonthlyBrief{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerMonthlyBrief_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerMonthlyBrief) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerMonthlyBrief) ProtoMessage() {}
+
+func (x *TowerMonthlyBrief) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerMonthlyBrief_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerMonthlyBrief.ProtoReflect.Descriptor instead.
+func (*TowerMonthlyBrief) Descriptor() ([]byte, []int) {
+ return file_TowerMonthlyBrief_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerMonthlyBrief) GetTowerScheduleId() uint32 {
+ if x != nil {
+ return x.TowerScheduleId
+ }
+ return 0
+}
+
+func (x *TowerMonthlyBrief) GetBestFloorIndex() uint32 {
+ if x != nil {
+ return x.BestFloorIndex
+ }
+ return 0
+}
+
+func (x *TowerMonthlyBrief) GetBestLevelIndex() uint32 {
+ if x != nil {
+ return x.BestLevelIndex
+ }
+ return 0
+}
+
+func (x *TowerMonthlyBrief) GetTotalStarCount() uint32 {
+ if x != nil {
+ return x.TotalStarCount
+ }
+ return 0
+}
+
+var File_TowerMonthlyBrief_proto protoreflect.FileDescriptor
+
+var file_TowerMonthlyBrief_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x42, 0x72,
+ 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xbd, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c,
+ 0x79, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f,
+ 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0f, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72,
+ 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x65,
+ 0x73, 0x74, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x10,
+ 0x62, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x65, 0x73, 0x74, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
+ 0x73, 0x74, 0x61, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerMonthlyBrief_proto_rawDescOnce sync.Once
+ file_TowerMonthlyBrief_proto_rawDescData = file_TowerMonthlyBrief_proto_rawDesc
+)
+
+func file_TowerMonthlyBrief_proto_rawDescGZIP() []byte {
+ file_TowerMonthlyBrief_proto_rawDescOnce.Do(func() {
+ file_TowerMonthlyBrief_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerMonthlyBrief_proto_rawDescData)
+ })
+ return file_TowerMonthlyBrief_proto_rawDescData
+}
+
+var file_TowerMonthlyBrief_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerMonthlyBrief_proto_goTypes = []interface{}{
+ (*TowerMonthlyBrief)(nil), // 0: proto.TowerMonthlyBrief
+}
+var file_TowerMonthlyBrief_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerMonthlyBrief_proto_init() }
+func file_TowerMonthlyBrief_proto_init() {
+ if File_TowerMonthlyBrief_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerMonthlyBrief_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerMonthlyBrief); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerMonthlyBrief_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerMonthlyBrief_proto_goTypes,
+ DependencyIndexes: file_TowerMonthlyBrief_proto_depIdxs,
+ MessageInfos: file_TowerMonthlyBrief_proto_msgTypes,
+ }.Build()
+ File_TowerMonthlyBrief_proto = out.File
+ file_TowerMonthlyBrief_proto_rawDesc = nil
+ file_TowerMonthlyBrief_proto_goTypes = nil
+ file_TowerMonthlyBrief_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerMonthlyCombatRecord.pb.go b/protocol/proto/TowerMonthlyCombatRecord.pb.go
new file mode 100644
index 00000000..e100c443
--- /dev/null
+++ b/protocol/proto/TowerMonthlyCombatRecord.pb.go
@@ -0,0 +1,242 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerMonthlyCombatRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerMonthlyCombatRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MostKillAvatarPair *TowerFightRecordPair `protobuf:"bytes,14,opt,name=most_kill_avatar_pair,json=mostKillAvatarPair,proto3" json:"most_kill_avatar_pair,omitempty"`
+ MostCastNormalSkillAvatarPair *TowerFightRecordPair `protobuf:"bytes,8,opt,name=most_cast_normal_skill_avatar_pair,json=mostCastNormalSkillAvatarPair,proto3" json:"most_cast_normal_skill_avatar_pair,omitempty"`
+ MostRevealAvatarList []*TowerFightRecordPair `protobuf:"bytes,6,rep,name=most_reveal_avatar_list,json=mostRevealAvatarList,proto3" json:"most_reveal_avatar_list,omitempty"`
+ MostCastEnergySkillAvatarPair *TowerFightRecordPair `protobuf:"bytes,4,opt,name=most_cast_energy_skill_avatar_pair,json=mostCastEnergySkillAvatarPair,proto3" json:"most_cast_energy_skill_avatar_pair,omitempty"`
+ HighestDpsAvatrPair *TowerFightRecordPair `protobuf:"bytes,12,opt,name=highest_dps_avatr_pair,json=highestDpsAvatrPair,proto3" json:"highest_dps_avatr_pair,omitempty"`
+ MostTakeDamageAvatarPair *TowerFightRecordPair `protobuf:"bytes,9,opt,name=most_take_damage_avatar_pair,json=mostTakeDamageAvatarPair,proto3" json:"most_take_damage_avatar_pair,omitempty"`
+}
+
+func (x *TowerMonthlyCombatRecord) Reset() {
+ *x = TowerMonthlyCombatRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerMonthlyCombatRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerMonthlyCombatRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerMonthlyCombatRecord) ProtoMessage() {}
+
+func (x *TowerMonthlyCombatRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerMonthlyCombatRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerMonthlyCombatRecord.ProtoReflect.Descriptor instead.
+func (*TowerMonthlyCombatRecord) Descriptor() ([]byte, []int) {
+ return file_TowerMonthlyCombatRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerMonthlyCombatRecord) GetMostKillAvatarPair() *TowerFightRecordPair {
+ if x != nil {
+ return x.MostKillAvatarPair
+ }
+ return nil
+}
+
+func (x *TowerMonthlyCombatRecord) GetMostCastNormalSkillAvatarPair() *TowerFightRecordPair {
+ if x != nil {
+ return x.MostCastNormalSkillAvatarPair
+ }
+ return nil
+}
+
+func (x *TowerMonthlyCombatRecord) GetMostRevealAvatarList() []*TowerFightRecordPair {
+ if x != nil {
+ return x.MostRevealAvatarList
+ }
+ return nil
+}
+
+func (x *TowerMonthlyCombatRecord) GetMostCastEnergySkillAvatarPair() *TowerFightRecordPair {
+ if x != nil {
+ return x.MostCastEnergySkillAvatarPair
+ }
+ return nil
+}
+
+func (x *TowerMonthlyCombatRecord) GetHighestDpsAvatrPair() *TowerFightRecordPair {
+ if x != nil {
+ return x.HighestDpsAvatrPair
+ }
+ return nil
+}
+
+func (x *TowerMonthlyCombatRecord) GetMostTakeDamageAvatarPair() *TowerFightRecordPair {
+ if x != nil {
+ return x.MostTakeDamageAvatarPair
+ }
+ return nil
+}
+
+var File_TowerMonthlyCombatRecord_proto protoreflect.FileDescriptor
+
+var file_TowerMonthlyCombatRecord_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f,
+ 0x6d, 0x62, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x69,
+ 0x67, 0x68, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x04, 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e,
+ 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x12, 0x4e, 0x0a, 0x15, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x69, 0x67,
+ 0x68, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x52, 0x12, 0x6d, 0x6f,
+ 0x73, 0x74, 0x4b, 0x69, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50, 0x61, 0x69, 0x72,
+ 0x12, 0x66, 0x0a, 0x22, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x6f,
+ 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x52, 0x1d, 0x6d, 0x6f, 0x73, 0x74, 0x43,
+ 0x61, 0x73, 0x74, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x50, 0x61, 0x69, 0x72, 0x12, 0x52, 0x0a, 0x17, 0x6d, 0x6f, 0x73, 0x74,
+ 0x5f, 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x52, 0x14, 0x6d, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x76, 0x65,
+ 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x22,
+ 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79,
+ 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x70, 0x61,
+ 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x50, 0x61, 0x69, 0x72, 0x52, 0x1d, 0x6d, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x73, 0x74, 0x45,
+ 0x6e, 0x65, 0x72, 0x67, 0x79, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72,
+ 0x50, 0x61, 0x69, 0x72, 0x12, 0x50, 0x0a, 0x16, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x5f,
+ 0x64, 0x70, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x72, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77,
+ 0x65, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x69,
+ 0x72, 0x52, 0x13, 0x68, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x44, 0x70, 0x73, 0x41, 0x76, 0x61,
+ 0x74, 0x72, 0x50, 0x61, 0x69, 0x72, 0x12, 0x5b, 0x0a, 0x1c, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x74,
+ 0x61, 0x6b, 0x65, 0x5f, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x69, 0x67, 0x68, 0x74, 0x52,
+ 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x69, 0x72, 0x52, 0x18, 0x6d, 0x6f, 0x73, 0x74, 0x54,
+ 0x61, 0x6b, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x50,
+ 0x61, 0x69, 0x72, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerMonthlyCombatRecord_proto_rawDescOnce sync.Once
+ file_TowerMonthlyCombatRecord_proto_rawDescData = file_TowerMonthlyCombatRecord_proto_rawDesc
+)
+
+func file_TowerMonthlyCombatRecord_proto_rawDescGZIP() []byte {
+ file_TowerMonthlyCombatRecord_proto_rawDescOnce.Do(func() {
+ file_TowerMonthlyCombatRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerMonthlyCombatRecord_proto_rawDescData)
+ })
+ return file_TowerMonthlyCombatRecord_proto_rawDescData
+}
+
+var file_TowerMonthlyCombatRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerMonthlyCombatRecord_proto_goTypes = []interface{}{
+ (*TowerMonthlyCombatRecord)(nil), // 0: proto.TowerMonthlyCombatRecord
+ (*TowerFightRecordPair)(nil), // 1: proto.TowerFightRecordPair
+}
+var file_TowerMonthlyCombatRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerMonthlyCombatRecord.most_kill_avatar_pair:type_name -> proto.TowerFightRecordPair
+ 1, // 1: proto.TowerMonthlyCombatRecord.most_cast_normal_skill_avatar_pair:type_name -> proto.TowerFightRecordPair
+ 1, // 2: proto.TowerMonthlyCombatRecord.most_reveal_avatar_list:type_name -> proto.TowerFightRecordPair
+ 1, // 3: proto.TowerMonthlyCombatRecord.most_cast_energy_skill_avatar_pair:type_name -> proto.TowerFightRecordPair
+ 1, // 4: proto.TowerMonthlyCombatRecord.highest_dps_avatr_pair:type_name -> proto.TowerFightRecordPair
+ 1, // 5: proto.TowerMonthlyCombatRecord.most_take_damage_avatar_pair:type_name -> proto.TowerFightRecordPair
+ 6, // [6:6] is the sub-list for method output_type
+ 6, // [6:6] is the sub-list for method input_type
+ 6, // [6:6] is the sub-list for extension type_name
+ 6, // [6:6] is the sub-list for extension extendee
+ 0, // [0:6] is the sub-list for field type_name
+}
+
+func init() { file_TowerMonthlyCombatRecord_proto_init() }
+func file_TowerMonthlyCombatRecord_proto_init() {
+ if File_TowerMonthlyCombatRecord_proto != nil {
+ return
+ }
+ file_TowerFightRecordPair_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerMonthlyCombatRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerMonthlyCombatRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerMonthlyCombatRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerMonthlyCombatRecord_proto_goTypes,
+ DependencyIndexes: file_TowerMonthlyCombatRecord_proto_depIdxs,
+ MessageInfos: file_TowerMonthlyCombatRecord_proto_msgTypes,
+ }.Build()
+ File_TowerMonthlyCombatRecord_proto = out.File
+ file_TowerMonthlyCombatRecord_proto_rawDesc = nil
+ file_TowerMonthlyCombatRecord_proto_goTypes = nil
+ file_TowerMonthlyCombatRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerMonthlyDetail.pb.go b/protocol/proto/TowerMonthlyDetail.pb.go
new file mode 100644
index 00000000..f45b8ad9
--- /dev/null
+++ b/protocol/proto/TowerMonthlyDetail.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerMonthlyDetail.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerMonthlyDetail struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MonthlyCombatRecord *TowerMonthlyCombatRecord `protobuf:"bytes,2,opt,name=monthly_combat_record,json=monthlyCombatRecord,proto3" json:"monthly_combat_record,omitempty"`
+ MonthlyBrief *TowerMonthlyBrief `protobuf:"bytes,12,opt,name=monthly_brief,json=monthlyBrief,proto3" json:"monthly_brief,omitempty"`
+}
+
+func (x *TowerMonthlyDetail) Reset() {
+ *x = TowerMonthlyDetail{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerMonthlyDetail_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerMonthlyDetail) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerMonthlyDetail) ProtoMessage() {}
+
+func (x *TowerMonthlyDetail) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerMonthlyDetail_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerMonthlyDetail.ProtoReflect.Descriptor instead.
+func (*TowerMonthlyDetail) Descriptor() ([]byte, []int) {
+ return file_TowerMonthlyDetail_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerMonthlyDetail) GetMonthlyCombatRecord() *TowerMonthlyCombatRecord {
+ if x != nil {
+ return x.MonthlyCombatRecord
+ }
+ return nil
+}
+
+func (x *TowerMonthlyDetail) GetMonthlyBrief() *TowerMonthlyBrief {
+ if x != nil {
+ return x.MonthlyBrief
+ }
+ return nil
+}
+
+var File_TowerMonthlyDetail_proto protoreflect.FileDescriptor
+
+var file_TowerMonthlyDetail_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x17, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x42,
+ 0x72, 0x69, 0x65, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x54, 0x6f, 0x77, 0x65,
+ 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x54,
+ 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x12, 0x53, 0x0a, 0x15, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6d,
+ 0x62, 0x61, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f,
+ 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72,
+ 0x64, 0x52, 0x13, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74,
+ 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x3d, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c,
+ 0x79, 0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68,
+ 0x6c, 0x79, 0x42, 0x72, 0x69, 0x65, 0x66, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79,
+ 0x42, 0x72, 0x69, 0x65, 0x66, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerMonthlyDetail_proto_rawDescOnce sync.Once
+ file_TowerMonthlyDetail_proto_rawDescData = file_TowerMonthlyDetail_proto_rawDesc
+)
+
+func file_TowerMonthlyDetail_proto_rawDescGZIP() []byte {
+ file_TowerMonthlyDetail_proto_rawDescOnce.Do(func() {
+ file_TowerMonthlyDetail_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerMonthlyDetail_proto_rawDescData)
+ })
+ return file_TowerMonthlyDetail_proto_rawDescData
+}
+
+var file_TowerMonthlyDetail_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerMonthlyDetail_proto_goTypes = []interface{}{
+ (*TowerMonthlyDetail)(nil), // 0: proto.TowerMonthlyDetail
+ (*TowerMonthlyCombatRecord)(nil), // 1: proto.TowerMonthlyCombatRecord
+ (*TowerMonthlyBrief)(nil), // 2: proto.TowerMonthlyBrief
+}
+var file_TowerMonthlyDetail_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerMonthlyDetail.monthly_combat_record:type_name -> proto.TowerMonthlyCombatRecord
+ 2, // 1: proto.TowerMonthlyDetail.monthly_brief:type_name -> proto.TowerMonthlyBrief
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_TowerMonthlyDetail_proto_init() }
+func file_TowerMonthlyDetail_proto_init() {
+ if File_TowerMonthlyDetail_proto != nil {
+ return
+ }
+ file_TowerMonthlyBrief_proto_init()
+ file_TowerMonthlyCombatRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerMonthlyDetail_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerMonthlyDetail); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerMonthlyDetail_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerMonthlyDetail_proto_goTypes,
+ DependencyIndexes: file_TowerMonthlyDetail_proto_depIdxs,
+ MessageInfos: file_TowerMonthlyDetail_proto_msgTypes,
+ }.Build()
+ File_TowerMonthlyDetail_proto = out.File
+ file_TowerMonthlyDetail_proto_rawDesc = nil
+ file_TowerMonthlyDetail_proto_goTypes = nil
+ file_TowerMonthlyDetail_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerRecordHandbookReq.pb.go b/protocol/proto/TowerRecordHandbookReq.pb.go
new file mode 100644
index 00000000..df7a366f
--- /dev/null
+++ b/protocol/proto/TowerRecordHandbookReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerRecordHandbookReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2450
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TowerRecordHandbookReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TowerRecordHandbookReq) Reset() {
+ *x = TowerRecordHandbookReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerRecordHandbookReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerRecordHandbookReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerRecordHandbookReq) ProtoMessage() {}
+
+func (x *TowerRecordHandbookReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerRecordHandbookReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerRecordHandbookReq.ProtoReflect.Descriptor instead.
+func (*TowerRecordHandbookReq) Descriptor() ([]byte, []int) {
+ return file_TowerRecordHandbookReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TowerRecordHandbookReq_proto protoreflect.FileDescriptor
+
+var file_TowerRecordHandbookReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x61, 0x6e,
+ 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerRecordHandbookReq_proto_rawDescOnce sync.Once
+ file_TowerRecordHandbookReq_proto_rawDescData = file_TowerRecordHandbookReq_proto_rawDesc
+)
+
+func file_TowerRecordHandbookReq_proto_rawDescGZIP() []byte {
+ file_TowerRecordHandbookReq_proto_rawDescOnce.Do(func() {
+ file_TowerRecordHandbookReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerRecordHandbookReq_proto_rawDescData)
+ })
+ return file_TowerRecordHandbookReq_proto_rawDescData
+}
+
+var file_TowerRecordHandbookReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerRecordHandbookReq_proto_goTypes = []interface{}{
+ (*TowerRecordHandbookReq)(nil), // 0: proto.TowerRecordHandbookReq
+}
+var file_TowerRecordHandbookReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerRecordHandbookReq_proto_init() }
+func file_TowerRecordHandbookReq_proto_init() {
+ if File_TowerRecordHandbookReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerRecordHandbookReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerRecordHandbookReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerRecordHandbookReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerRecordHandbookReq_proto_goTypes,
+ DependencyIndexes: file_TowerRecordHandbookReq_proto_depIdxs,
+ MessageInfos: file_TowerRecordHandbookReq_proto_msgTypes,
+ }.Build()
+ File_TowerRecordHandbookReq_proto = out.File
+ file_TowerRecordHandbookReq_proto_rawDesc = nil
+ file_TowerRecordHandbookReq_proto_goTypes = nil
+ file_TowerRecordHandbookReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerRecordHandbookRsp.pb.go b/protocol/proto/TowerRecordHandbookRsp.pb.go
new file mode 100644
index 00000000..c1875bb1
--- /dev/null
+++ b/protocol/proto/TowerRecordHandbookRsp.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerRecordHandbookRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2443
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerRecordHandbookRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MonthlyDetailList []*TowerMonthlyDetail `protobuf:"bytes,14,rep,name=monthly_detail_list,json=monthlyDetailList,proto3" json:"monthly_detail_list,omitempty"`
+}
+
+func (x *TowerRecordHandbookRsp) Reset() {
+ *x = TowerRecordHandbookRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerRecordHandbookRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerRecordHandbookRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerRecordHandbookRsp) ProtoMessage() {}
+
+func (x *TowerRecordHandbookRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerRecordHandbookRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerRecordHandbookRsp.ProtoReflect.Descriptor instead.
+func (*TowerRecordHandbookRsp) Descriptor() ([]byte, []int) {
+ return file_TowerRecordHandbookRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerRecordHandbookRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TowerRecordHandbookRsp) GetMonthlyDetailList() []*TowerMonthlyDetail {
+ if x != nil {
+ return x.MonthlyDetailList
+ }
+ return nil
+}
+
+var File_TowerRecordHandbookRsp_proto protoreflect.FileDescriptor
+
+var file_TowerRecordHandbookRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x61, 0x6e,
+ 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74,
+ 0x68, 0x6c, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x7d, 0x0a, 0x16, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x61,
+ 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x5f, 0x64,
+ 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x6f,
+ 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x11, 0x6d, 0x6f, 0x6e,
+ 0x74, 0x68, 0x6c, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TowerRecordHandbookRsp_proto_rawDescOnce sync.Once
+ file_TowerRecordHandbookRsp_proto_rawDescData = file_TowerRecordHandbookRsp_proto_rawDesc
+)
+
+func file_TowerRecordHandbookRsp_proto_rawDescGZIP() []byte {
+ file_TowerRecordHandbookRsp_proto_rawDescOnce.Do(func() {
+ file_TowerRecordHandbookRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerRecordHandbookRsp_proto_rawDescData)
+ })
+ return file_TowerRecordHandbookRsp_proto_rawDescData
+}
+
+var file_TowerRecordHandbookRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerRecordHandbookRsp_proto_goTypes = []interface{}{
+ (*TowerRecordHandbookRsp)(nil), // 0: proto.TowerRecordHandbookRsp
+ (*TowerMonthlyDetail)(nil), // 1: proto.TowerMonthlyDetail
+}
+var file_TowerRecordHandbookRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerRecordHandbookRsp.monthly_detail_list:type_name -> proto.TowerMonthlyDetail
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TowerRecordHandbookRsp_proto_init() }
+func file_TowerRecordHandbookRsp_proto_init() {
+ if File_TowerRecordHandbookRsp_proto != nil {
+ return
+ }
+ file_TowerMonthlyDetail_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerRecordHandbookRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerRecordHandbookRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerRecordHandbookRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerRecordHandbookRsp_proto_goTypes,
+ DependencyIndexes: file_TowerRecordHandbookRsp_proto_depIdxs,
+ MessageInfos: file_TowerRecordHandbookRsp_proto_msgTypes,
+ }.Build()
+ File_TowerRecordHandbookRsp_proto = out.File
+ file_TowerRecordHandbookRsp_proto_rawDesc = nil
+ file_TowerRecordHandbookRsp_proto_goTypes = nil
+ file_TowerRecordHandbookRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerSurrenderReq.pb.go b/protocol/proto/TowerSurrenderReq.pb.go
new file mode 100644
index 00000000..bef3797c
--- /dev/null
+++ b/protocol/proto/TowerSurrenderReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerSurrenderReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2422
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TowerSurrenderReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TowerSurrenderReq) Reset() {
+ *x = TowerSurrenderReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerSurrenderReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerSurrenderReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerSurrenderReq) ProtoMessage() {}
+
+func (x *TowerSurrenderReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerSurrenderReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerSurrenderReq.ProtoReflect.Descriptor instead.
+func (*TowerSurrenderReq) Descriptor() ([]byte, []int) {
+ return file_TowerSurrenderReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TowerSurrenderReq_proto protoreflect.FileDescriptor
+
+var file_TowerSurrenderReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x13, 0x0a, 0x11, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x64,
+ 0x65, 0x72, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerSurrenderReq_proto_rawDescOnce sync.Once
+ file_TowerSurrenderReq_proto_rawDescData = file_TowerSurrenderReq_proto_rawDesc
+)
+
+func file_TowerSurrenderReq_proto_rawDescGZIP() []byte {
+ file_TowerSurrenderReq_proto_rawDescOnce.Do(func() {
+ file_TowerSurrenderReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerSurrenderReq_proto_rawDescData)
+ })
+ return file_TowerSurrenderReq_proto_rawDescData
+}
+
+var file_TowerSurrenderReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerSurrenderReq_proto_goTypes = []interface{}{
+ (*TowerSurrenderReq)(nil), // 0: proto.TowerSurrenderReq
+}
+var file_TowerSurrenderReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerSurrenderReq_proto_init() }
+func file_TowerSurrenderReq_proto_init() {
+ if File_TowerSurrenderReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerSurrenderReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerSurrenderReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerSurrenderReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerSurrenderReq_proto_goTypes,
+ DependencyIndexes: file_TowerSurrenderReq_proto_depIdxs,
+ MessageInfos: file_TowerSurrenderReq_proto_msgTypes,
+ }.Build()
+ File_TowerSurrenderReq_proto = out.File
+ file_TowerSurrenderReq_proto_rawDesc = nil
+ file_TowerSurrenderReq_proto_goTypes = nil
+ file_TowerSurrenderReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerSurrenderRsp.pb.go b/protocol/proto/TowerSurrenderRsp.pb.go
new file mode 100644
index 00000000..2e45f7e7
--- /dev/null
+++ b/protocol/proto/TowerSurrenderRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerSurrenderRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2465
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerSurrenderRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TowerSurrenderRsp) Reset() {
+ *x = TowerSurrenderRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerSurrenderRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerSurrenderRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerSurrenderRsp) ProtoMessage() {}
+
+func (x *TowerSurrenderRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerSurrenderRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerSurrenderRsp.ProtoReflect.Descriptor instead.
+func (*TowerSurrenderRsp) Descriptor() ([]byte, []int) {
+ return file_TowerSurrenderRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerSurrenderRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TowerSurrenderRsp_proto protoreflect.FileDescriptor
+
+var file_TowerSurrenderRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x2d, 0x0a, 0x11, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x64,
+ 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerSurrenderRsp_proto_rawDescOnce sync.Once
+ file_TowerSurrenderRsp_proto_rawDescData = file_TowerSurrenderRsp_proto_rawDesc
+)
+
+func file_TowerSurrenderRsp_proto_rawDescGZIP() []byte {
+ file_TowerSurrenderRsp_proto_rawDescOnce.Do(func() {
+ file_TowerSurrenderRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerSurrenderRsp_proto_rawDescData)
+ })
+ return file_TowerSurrenderRsp_proto_rawDescData
+}
+
+var file_TowerSurrenderRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerSurrenderRsp_proto_goTypes = []interface{}{
+ (*TowerSurrenderRsp)(nil), // 0: proto.TowerSurrenderRsp
+}
+var file_TowerSurrenderRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerSurrenderRsp_proto_init() }
+func file_TowerSurrenderRsp_proto_init() {
+ if File_TowerSurrenderRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerSurrenderRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerSurrenderRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerSurrenderRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerSurrenderRsp_proto_goTypes,
+ DependencyIndexes: file_TowerSurrenderRsp_proto_depIdxs,
+ MessageInfos: file_TowerSurrenderRsp_proto_msgTypes,
+ }.Build()
+ File_TowerSurrenderRsp_proto = out.File
+ file_TowerSurrenderRsp_proto_rawDesc = nil
+ file_TowerSurrenderRsp_proto_goTypes = nil
+ file_TowerSurrenderRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerTeam.pb.go b/protocol/proto/TowerTeam.pb.go
new file mode 100644
index 00000000..63d8b555
--- /dev/null
+++ b/protocol/proto/TowerTeam.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerTeam.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TowerTeam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TowerTeamId uint32 `protobuf:"varint,3,opt,name=tower_team_id,json=towerTeamId,proto3" json:"tower_team_id,omitempty"`
+ AvatarGuidList []uint64 `protobuf:"varint,14,rep,packed,name=avatar_guid_list,json=avatarGuidList,proto3" json:"avatar_guid_list,omitempty"`
+}
+
+func (x *TowerTeam) Reset() {
+ *x = TowerTeam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerTeam_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerTeam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerTeam) ProtoMessage() {}
+
+func (x *TowerTeam) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerTeam_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerTeam.ProtoReflect.Descriptor instead.
+func (*TowerTeam) Descriptor() ([]byte, []int) {
+ return file_TowerTeam_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerTeam) GetTowerTeamId() uint32 {
+ if x != nil {
+ return x.TowerTeamId
+ }
+ return 0
+}
+
+func (x *TowerTeam) GetAvatarGuidList() []uint64 {
+ if x != nil {
+ return x.AvatarGuidList
+ }
+ return nil
+}
+
+var File_TowerTeam_proto protoreflect.FileDescriptor
+
+var file_TowerTeam_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59, 0x0a, 0x09, 0x54, 0x6f, 0x77, 0x65,
+ 0x72, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x74,
+ 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x6f,
+ 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20,
+ 0x03, 0x28, 0x04, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerTeam_proto_rawDescOnce sync.Once
+ file_TowerTeam_proto_rawDescData = file_TowerTeam_proto_rawDesc
+)
+
+func file_TowerTeam_proto_rawDescGZIP() []byte {
+ file_TowerTeam_proto_rawDescOnce.Do(func() {
+ file_TowerTeam_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerTeam_proto_rawDescData)
+ })
+ return file_TowerTeam_proto_rawDescData
+}
+
+var file_TowerTeam_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerTeam_proto_goTypes = []interface{}{
+ (*TowerTeam)(nil), // 0: proto.TowerTeam
+}
+var file_TowerTeam_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerTeam_proto_init() }
+func file_TowerTeam_proto_init() {
+ if File_TowerTeam_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerTeam_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerTeam); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerTeam_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerTeam_proto_goTypes,
+ DependencyIndexes: file_TowerTeam_proto_depIdxs,
+ MessageInfos: file_TowerTeam_proto_msgTypes,
+ }.Build()
+ File_TowerTeam_proto = out.File
+ file_TowerTeam_proto_rawDesc = nil
+ file_TowerTeam_proto_goTypes = nil
+ file_TowerTeam_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerTeamSelectReq.pb.go b/protocol/proto/TowerTeamSelectReq.pb.go
new file mode 100644
index 00000000..4faa54e1
--- /dev/null
+++ b/protocol/proto/TowerTeamSelectReq.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerTeamSelectReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TowerTeamSelectReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TowerTeamList []*TowerTeam `protobuf:"bytes,11,rep,name=tower_team_list,json=towerTeamList,proto3" json:"tower_team_list,omitempty"`
+ FloorId uint32 `protobuf:"varint,10,opt,name=floor_id,json=floorId,proto3" json:"floor_id,omitempty"`
+}
+
+func (x *TowerTeamSelectReq) Reset() {
+ *x = TowerTeamSelectReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerTeamSelectReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerTeamSelectReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerTeamSelectReq) ProtoMessage() {}
+
+func (x *TowerTeamSelectReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerTeamSelectReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerTeamSelectReq.ProtoReflect.Descriptor instead.
+func (*TowerTeamSelectReq) Descriptor() ([]byte, []int) {
+ return file_TowerTeamSelectReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerTeamSelectReq) GetTowerTeamList() []*TowerTeam {
+ if x != nil {
+ return x.TowerTeamList
+ }
+ return nil
+}
+
+func (x *TowerTeamSelectReq) GetFloorId() uint32 {
+ if x != nil {
+ return x.FloorId
+ }
+ return 0
+}
+
+var File_TowerTeamSelectReq_proto protoreflect.FileDescriptor
+
+var file_TowerTeamSelectReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x0f, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x12, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x0f, 0x74, 0x6f, 0x77, 0x65,
+ 0x72, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x54,
+ 0x65, 0x61, 0x6d, 0x52, 0x0d, 0x74, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TowerTeamSelectReq_proto_rawDescOnce sync.Once
+ file_TowerTeamSelectReq_proto_rawDescData = file_TowerTeamSelectReq_proto_rawDesc
+)
+
+func file_TowerTeamSelectReq_proto_rawDescGZIP() []byte {
+ file_TowerTeamSelectReq_proto_rawDescOnce.Do(func() {
+ file_TowerTeamSelectReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerTeamSelectReq_proto_rawDescData)
+ })
+ return file_TowerTeamSelectReq_proto_rawDescData
+}
+
+var file_TowerTeamSelectReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerTeamSelectReq_proto_goTypes = []interface{}{
+ (*TowerTeamSelectReq)(nil), // 0: proto.TowerTeamSelectReq
+ (*TowerTeam)(nil), // 1: proto.TowerTeam
+}
+var file_TowerTeamSelectReq_proto_depIdxs = []int32{
+ 1, // 0: proto.TowerTeamSelectReq.tower_team_list:type_name -> proto.TowerTeam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TowerTeamSelectReq_proto_init() }
+func file_TowerTeamSelectReq_proto_init() {
+ if File_TowerTeamSelectReq_proto != nil {
+ return
+ }
+ file_TowerTeam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TowerTeamSelectReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerTeamSelectReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerTeamSelectReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerTeamSelectReq_proto_goTypes,
+ DependencyIndexes: file_TowerTeamSelectReq_proto_depIdxs,
+ MessageInfos: file_TowerTeamSelectReq_proto_msgTypes,
+ }.Build()
+ File_TowerTeamSelectReq_proto = out.File
+ file_TowerTeamSelectReq_proto_rawDesc = nil
+ file_TowerTeamSelectReq_proto_goTypes = nil
+ file_TowerTeamSelectReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TowerTeamSelectRsp.pb.go b/protocol/proto/TowerTeamSelectRsp.pb.go
new file mode 100644
index 00000000..9907c201
--- /dev/null
+++ b/protocol/proto/TowerTeamSelectRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TowerTeamSelectRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2403
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TowerTeamSelectRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TowerTeamSelectRsp) Reset() {
+ *x = TowerTeamSelectRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TowerTeamSelectRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TowerTeamSelectRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TowerTeamSelectRsp) ProtoMessage() {}
+
+func (x *TowerTeamSelectRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TowerTeamSelectRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TowerTeamSelectRsp.ProtoReflect.Descriptor instead.
+func (*TowerTeamSelectRsp) Descriptor() ([]byte, []int) {
+ return file_TowerTeamSelectRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TowerTeamSelectRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TowerTeamSelectRsp_proto protoreflect.FileDescriptor
+
+var file_TowerTeamSelectRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x2e, 0x0a, 0x12, 0x54, 0x6f, 0x77, 0x65, 0x72, 0x54, 0x65, 0x61, 0x6d, 0x53, 0x65,
+ 0x6c, 0x65, 0x63, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TowerTeamSelectRsp_proto_rawDescOnce sync.Once
+ file_TowerTeamSelectRsp_proto_rawDescData = file_TowerTeamSelectRsp_proto_rawDesc
+)
+
+func file_TowerTeamSelectRsp_proto_rawDescGZIP() []byte {
+ file_TowerTeamSelectRsp_proto_rawDescOnce.Do(func() {
+ file_TowerTeamSelectRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TowerTeamSelectRsp_proto_rawDescData)
+ })
+ return file_TowerTeamSelectRsp_proto_rawDescData
+}
+
+var file_TowerTeamSelectRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TowerTeamSelectRsp_proto_goTypes = []interface{}{
+ (*TowerTeamSelectRsp)(nil), // 0: proto.TowerTeamSelectRsp
+}
+var file_TowerTeamSelectRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TowerTeamSelectRsp_proto_init() }
+func file_TowerTeamSelectRsp_proto_init() {
+ if File_TowerTeamSelectRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TowerTeamSelectRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TowerTeamSelectRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TowerTeamSelectRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TowerTeamSelectRsp_proto_goTypes,
+ DependencyIndexes: file_TowerTeamSelectRsp_proto_depIdxs,
+ MessageInfos: file_TowerTeamSelectRsp_proto_msgTypes,
+ }.Build()
+ File_TowerTeamSelectRsp_proto = out.File
+ file_TowerTeamSelectRsp_proto_rawDesc = nil
+ file_TowerTeamSelectRsp_proto_goTypes = nil
+ file_TowerTeamSelectRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TrackingIOInfo.pb.go b/protocol/proto/TrackingIOInfo.pb.go
new file mode 100644
index 00000000..2d7f12a2
--- /dev/null
+++ b/protocol/proto/TrackingIOInfo.pb.go
@@ -0,0 +1,217 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TrackingIOInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TrackingIOInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rydevicetype string `protobuf:"bytes,11,opt,name=rydevicetype,proto3" json:"rydevicetype,omitempty"`
+ Mac string `protobuf:"bytes,6,opt,name=mac,proto3" json:"mac,omitempty"`
+ Deviceid string `protobuf:"bytes,9,opt,name=deviceid,proto3" json:"deviceid,omitempty"`
+ ClientTz string `protobuf:"bytes,5,opt,name=client_tz,json=clientTz,proto3" json:"client_tz,omitempty"`
+ CurrentCaid string `protobuf:"bytes,7,opt,name=current_caid,json=currentCaid,proto3" json:"current_caid,omitempty"`
+ CachedCaid string `protobuf:"bytes,15,opt,name=cached_caid,json=cachedCaid,proto3" json:"cached_caid,omitempty"`
+ Appid string `protobuf:"bytes,1,opt,name=appid,proto3" json:"appid,omitempty"`
+}
+
+func (x *TrackingIOInfo) Reset() {
+ *x = TrackingIOInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TrackingIOInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrackingIOInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrackingIOInfo) ProtoMessage() {}
+
+func (x *TrackingIOInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TrackingIOInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrackingIOInfo.ProtoReflect.Descriptor instead.
+func (*TrackingIOInfo) Descriptor() ([]byte, []int) {
+ return file_TrackingIOInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TrackingIOInfo) GetRydevicetype() string {
+ if x != nil {
+ return x.Rydevicetype
+ }
+ return ""
+}
+
+func (x *TrackingIOInfo) GetMac() string {
+ if x != nil {
+ return x.Mac
+ }
+ return ""
+}
+
+func (x *TrackingIOInfo) GetDeviceid() string {
+ if x != nil {
+ return x.Deviceid
+ }
+ return ""
+}
+
+func (x *TrackingIOInfo) GetClientTz() string {
+ if x != nil {
+ return x.ClientTz
+ }
+ return ""
+}
+
+func (x *TrackingIOInfo) GetCurrentCaid() string {
+ if x != nil {
+ return x.CurrentCaid
+ }
+ return ""
+}
+
+func (x *TrackingIOInfo) GetCachedCaid() string {
+ if x != nil {
+ return x.CachedCaid
+ }
+ return ""
+}
+
+func (x *TrackingIOInfo) GetAppid() string {
+ if x != nil {
+ return x.Appid
+ }
+ return ""
+}
+
+var File_TrackingIOInfo_proto protoreflect.FileDescriptor
+
+var file_TrackingIOInfo_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x4f, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x01,
+ 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x4f, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x79, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x79, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
+ 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x7a, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x7a, 0x12,
+ 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x61,
+ 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x61, 0x69,
+ 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x43,
+ 0x61, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TrackingIOInfo_proto_rawDescOnce sync.Once
+ file_TrackingIOInfo_proto_rawDescData = file_TrackingIOInfo_proto_rawDesc
+)
+
+func file_TrackingIOInfo_proto_rawDescGZIP() []byte {
+ file_TrackingIOInfo_proto_rawDescOnce.Do(func() {
+ file_TrackingIOInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TrackingIOInfo_proto_rawDescData)
+ })
+ return file_TrackingIOInfo_proto_rawDescData
+}
+
+var file_TrackingIOInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TrackingIOInfo_proto_goTypes = []interface{}{
+ (*TrackingIOInfo)(nil), // 0: proto.TrackingIOInfo
+}
+var file_TrackingIOInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TrackingIOInfo_proto_init() }
+func file_TrackingIOInfo_proto_init() {
+ if File_TrackingIOInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TrackingIOInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrackingIOInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TrackingIOInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TrackingIOInfo_proto_goTypes,
+ DependencyIndexes: file_TrackingIOInfo_proto_depIdxs,
+ MessageInfos: file_TrackingIOInfo_proto_msgTypes,
+ }.Build()
+ File_TrackingIOInfo_proto = out.File
+ file_TrackingIOInfo_proto_rawDesc = nil
+ file_TrackingIOInfo_proto_goTypes = nil
+ file_TrackingIOInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TransmitReason.pb.go b/protocol/proto/TransmitReason.pb.go
new file mode 100644
index 00000000..91dcc64b
--- /dev/null
+++ b/protocol/proto/TransmitReason.pb.go
@@ -0,0 +1,145 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TransmitReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TransmitReason int32
+
+const (
+ TransmitReason_TRANSMIT_REASON_NONE TransmitReason = 0
+ TransmitReason_TRANSMIT_REASON_QUEST TransmitReason = 1
+)
+
+// Enum value maps for TransmitReason.
+var (
+ TransmitReason_name = map[int32]string{
+ 0: "TRANSMIT_REASON_NONE",
+ 1: "TRANSMIT_REASON_QUEST",
+ }
+ TransmitReason_value = map[string]int32{
+ "TRANSMIT_REASON_NONE": 0,
+ "TRANSMIT_REASON_QUEST": 1,
+ }
+)
+
+func (x TransmitReason) Enum() *TransmitReason {
+ p := new(TransmitReason)
+ *p = x
+ return p
+}
+
+func (x TransmitReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TransmitReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_TransmitReason_proto_enumTypes[0].Descriptor()
+}
+
+func (TransmitReason) Type() protoreflect.EnumType {
+ return &file_TransmitReason_proto_enumTypes[0]
+}
+
+func (x TransmitReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TransmitReason.Descriptor instead.
+func (TransmitReason) EnumDescriptor() ([]byte, []int) {
+ return file_TransmitReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TransmitReason_proto protoreflect.FileDescriptor
+
+var file_TransmitReason_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x45, 0x0a,
+ 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
+ 0x18, 0x0a, 0x14, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53,
+ 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x52, 0x41,
+ 0x4e, 0x53, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45,
+ 0x53, 0x54, 0x10, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TransmitReason_proto_rawDescOnce sync.Once
+ file_TransmitReason_proto_rawDescData = file_TransmitReason_proto_rawDesc
+)
+
+func file_TransmitReason_proto_rawDescGZIP() []byte {
+ file_TransmitReason_proto_rawDescOnce.Do(func() {
+ file_TransmitReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_TransmitReason_proto_rawDescData)
+ })
+ return file_TransmitReason_proto_rawDescData
+}
+
+var file_TransmitReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_TransmitReason_proto_goTypes = []interface{}{
+ (TransmitReason)(0), // 0: proto.TransmitReason
+}
+var file_TransmitReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TransmitReason_proto_init() }
+func file_TransmitReason_proto_init() {
+ if File_TransmitReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TransmitReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TransmitReason_proto_goTypes,
+ DependencyIndexes: file_TransmitReason_proto_depIdxs,
+ EnumInfos: file_TransmitReason_proto_enumTypes,
+ }.Build()
+ File_TransmitReason_proto = out.File
+ file_TransmitReason_proto_rawDesc = nil
+ file_TransmitReason_proto_goTypes = nil
+ file_TransmitReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapActivityDetailInfo.pb.go b/protocol/proto/TreasureMapActivityDetailInfo.pb.go
new file mode 100644
index 00000000..aaee4cc6
--- /dev/null
+++ b/protocol/proto/TreasureMapActivityDetailInfo.pb.go
@@ -0,0 +1,263 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TreasureMapActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActiveRegionIndex uint32 `protobuf:"varint,1,opt,name=active_region_index,json=activeRegionIndex,proto3" json:"active_region_index,omitempty"`
+ RegionInfoList []*TreasureMapRegionInfo `protobuf:"bytes,6,rep,name=region_info_list,json=regionInfoList,proto3" json:"region_info_list,omitempty"`
+ IsMpChallengeTouched bool `protobuf:"varint,7,opt,name=is_mp_challenge_touched,json=isMpChallengeTouched,proto3" json:"is_mp_challenge_touched,omitempty"`
+ TreasureCloseTime uint32 `protobuf:"varint,10,opt,name=treasure_close_time,json=treasureCloseTime,proto3" json:"treasure_close_time,omitempty"`
+ BonusChallengeList []*TreasureMapBonusChallengeInfo `protobuf:"bytes,5,rep,name=bonus_challenge_list,json=bonusChallengeList,proto3" json:"bonus_challenge_list,omitempty"`
+ CurrencyNum uint32 `protobuf:"varint,2,opt,name=currency_num,json=currencyNum,proto3" json:"currency_num,omitempty"`
+ PreviewRewardId uint32 `protobuf:"varint,14,opt,name=preview_reward_id,json=previewRewardId,proto3" json:"preview_reward_id,omitempty"`
+ MinOpenPlayerLevel uint32 `protobuf:"varint,8,opt,name=min_open_player_level,json=minOpenPlayerLevel,proto3" json:"min_open_player_level,omitempty"`
+ TotalMpSpotNum uint32 `protobuf:"varint,13,opt,name=total_mp_spot_num,json=totalMpSpotNum,proto3" json:"total_mp_spot_num,omitempty"`
+}
+
+func (x *TreasureMapActivityDetailInfo) Reset() {
+ *x = TreasureMapActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapActivityDetailInfo) ProtoMessage() {}
+
+func (x *TreasureMapActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*TreasureMapActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_TreasureMapActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapActivityDetailInfo) GetActiveRegionIndex() uint32 {
+ if x != nil {
+ return x.ActiveRegionIndex
+ }
+ return 0
+}
+
+func (x *TreasureMapActivityDetailInfo) GetRegionInfoList() []*TreasureMapRegionInfo {
+ if x != nil {
+ return x.RegionInfoList
+ }
+ return nil
+}
+
+func (x *TreasureMapActivityDetailInfo) GetIsMpChallengeTouched() bool {
+ if x != nil {
+ return x.IsMpChallengeTouched
+ }
+ return false
+}
+
+func (x *TreasureMapActivityDetailInfo) GetTreasureCloseTime() uint32 {
+ if x != nil {
+ return x.TreasureCloseTime
+ }
+ return 0
+}
+
+func (x *TreasureMapActivityDetailInfo) GetBonusChallengeList() []*TreasureMapBonusChallengeInfo {
+ if x != nil {
+ return x.BonusChallengeList
+ }
+ return nil
+}
+
+func (x *TreasureMapActivityDetailInfo) GetCurrencyNum() uint32 {
+ if x != nil {
+ return x.CurrencyNum
+ }
+ return 0
+}
+
+func (x *TreasureMapActivityDetailInfo) GetPreviewRewardId() uint32 {
+ if x != nil {
+ return x.PreviewRewardId
+ }
+ return 0
+}
+
+func (x *TreasureMapActivityDetailInfo) GetMinOpenPlayerLevel() uint32 {
+ if x != nil {
+ return x.MinOpenPlayerLevel
+ }
+ return 0
+}
+
+func (x *TreasureMapActivityDetailInfo) GetTotalMpSpotNum() uint32 {
+ if x != nil {
+ return x.TotalMpSpotNum
+ }
+ return 0
+}
+
+var File_TreasureMapActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_TreasureMapActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x54, 0x72,
+ 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x43, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x1b, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65,
+ 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83,
+ 0x04, 0x0a, 0x1d, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x41, 0x63,
+ 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x61,
+ 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78,
+ 0x12, 0x46, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65,
+ 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x6d,
+ 0x70, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x75, 0x63,
+ 0x68, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x4d, 0x70, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x64, 0x12,
+ 0x2e, 0x0a, 0x13, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73,
+ 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x74, 0x72,
+ 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x56, 0x0a, 0x14, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61,
+ 0x70, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x62, 0x6f, 0x6e, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65,
+ 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65,
+ 0x6e, 0x63, 0x79, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x72,
+ 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x6f, 0x70,
+ 0x65, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x11, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x5f, 0x6d, 0x70, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0d,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x70, 0x53, 0x70, 0x6f,
+ 0x74, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_TreasureMapActivityDetailInfo_proto_rawDescData = file_TreasureMapActivityDetailInfo_proto_rawDesc
+)
+
+func file_TreasureMapActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_TreasureMapActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_TreasureMapActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapActivityDetailInfo_proto_rawDescData)
+ })
+ return file_TreasureMapActivityDetailInfo_proto_rawDescData
+}
+
+var file_TreasureMapActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapActivityDetailInfo_proto_goTypes = []interface{}{
+ (*TreasureMapActivityDetailInfo)(nil), // 0: proto.TreasureMapActivityDetailInfo
+ (*TreasureMapRegionInfo)(nil), // 1: proto.TreasureMapRegionInfo
+ (*TreasureMapBonusChallengeInfo)(nil), // 2: proto.TreasureMapBonusChallengeInfo
+}
+var file_TreasureMapActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureMapActivityDetailInfo.region_info_list:type_name -> proto.TreasureMapRegionInfo
+ 2, // 1: proto.TreasureMapActivityDetailInfo.bonus_challenge_list:type_name -> proto.TreasureMapBonusChallengeInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapActivityDetailInfo_proto_init() }
+func file_TreasureMapActivityDetailInfo_proto_init() {
+ if File_TreasureMapActivityDetailInfo_proto != nil {
+ return
+ }
+ file_TreasureMapBonusChallengeInfo_proto_init()
+ file_TreasureMapRegionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_TreasureMapActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_TreasureMapActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_TreasureMapActivityDetailInfo_proto = out.File
+ file_TreasureMapActivityDetailInfo_proto_rawDesc = nil
+ file_TreasureMapActivityDetailInfo_proto_goTypes = nil
+ file_TreasureMapActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapBonusChallengeInfo.pb.go b/protocol/proto/TreasureMapBonusChallengeInfo.pb.go
new file mode 100644
index 00000000..0ce644e2
--- /dev/null
+++ b/protocol/proto/TreasureMapBonusChallengeInfo.pb.go
@@ -0,0 +1,209 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapBonusChallengeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TreasureMapBonusChallengeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsDone bool `protobuf:"varint,5,opt,name=is_done,json=isDone,proto3" json:"is_done,omitempty"`
+ ConfigId uint32 `protobuf:"varint,10,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+ IsActive bool `protobuf:"varint,1,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
+ FragmentMap map[uint32]bool `protobuf:"bytes,12,rep,name=fragment_map,json=fragmentMap,proto3" json:"fragment_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ SolutionId uint32 `protobuf:"varint,8,opt,name=solution_id,json=solutionId,proto3" json:"solution_id,omitempty"`
+}
+
+func (x *TreasureMapBonusChallengeInfo) Reset() {
+ *x = TreasureMapBonusChallengeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapBonusChallengeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapBonusChallengeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapBonusChallengeInfo) ProtoMessage() {}
+
+func (x *TreasureMapBonusChallengeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapBonusChallengeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapBonusChallengeInfo.ProtoReflect.Descriptor instead.
+func (*TreasureMapBonusChallengeInfo) Descriptor() ([]byte, []int) {
+ return file_TreasureMapBonusChallengeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapBonusChallengeInfo) GetIsDone() bool {
+ if x != nil {
+ return x.IsDone
+ }
+ return false
+}
+
+func (x *TreasureMapBonusChallengeInfo) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+func (x *TreasureMapBonusChallengeInfo) GetIsActive() bool {
+ if x != nil {
+ return x.IsActive
+ }
+ return false
+}
+
+func (x *TreasureMapBonusChallengeInfo) GetFragmentMap() map[uint32]bool {
+ if x != nil {
+ return x.FragmentMap
+ }
+ return nil
+}
+
+func (x *TreasureMapBonusChallengeInfo) GetSolutionId() uint32 {
+ if x != nil {
+ return x.SolutionId
+ }
+ return 0
+}
+
+var File_TreasureMapBonusChallengeInfo_proto protoreflect.FileDescriptor
+
+var file_TreasureMapBonusChallengeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6e,
+ 0x75, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x02, 0x0a,
+ 0x1d, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6e, 0x75,
+ 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17,
+ 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x06, 0x69, 0x73, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66,
+ 0x69, 0x67, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x65, 0x12, 0x58, 0x0a, 0x0c, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6e, 0x75, 0x73,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x72,
+ 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b,
+ 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
+ 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x3e, 0x0a, 0x10,
+ 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapBonusChallengeInfo_proto_rawDescOnce sync.Once
+ file_TreasureMapBonusChallengeInfo_proto_rawDescData = file_TreasureMapBonusChallengeInfo_proto_rawDesc
+)
+
+func file_TreasureMapBonusChallengeInfo_proto_rawDescGZIP() []byte {
+ file_TreasureMapBonusChallengeInfo_proto_rawDescOnce.Do(func() {
+ file_TreasureMapBonusChallengeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapBonusChallengeInfo_proto_rawDescData)
+ })
+ return file_TreasureMapBonusChallengeInfo_proto_rawDescData
+}
+
+var file_TreasureMapBonusChallengeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_TreasureMapBonusChallengeInfo_proto_goTypes = []interface{}{
+ (*TreasureMapBonusChallengeInfo)(nil), // 0: proto.TreasureMapBonusChallengeInfo
+ nil, // 1: proto.TreasureMapBonusChallengeInfo.FragmentMapEntry
+}
+var file_TreasureMapBonusChallengeInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureMapBonusChallengeInfo.fragment_map:type_name -> proto.TreasureMapBonusChallengeInfo.FragmentMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapBonusChallengeInfo_proto_init() }
+func file_TreasureMapBonusChallengeInfo_proto_init() {
+ if File_TreasureMapBonusChallengeInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapBonusChallengeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapBonusChallengeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapBonusChallengeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapBonusChallengeInfo_proto_goTypes,
+ DependencyIndexes: file_TreasureMapBonusChallengeInfo_proto_depIdxs,
+ MessageInfos: file_TreasureMapBonusChallengeInfo_proto_msgTypes,
+ }.Build()
+ File_TreasureMapBonusChallengeInfo_proto = out.File
+ file_TreasureMapBonusChallengeInfo_proto_rawDesc = nil
+ file_TreasureMapBonusChallengeInfo_proto_goTypes = nil
+ file_TreasureMapBonusChallengeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapBonusChallengeNotify.pb.go b/protocol/proto/TreasureMapBonusChallengeNotify.pb.go
new file mode 100644
index 00000000..7dab66ef
--- /dev/null
+++ b/protocol/proto/TreasureMapBonusChallengeNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapBonusChallengeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2115
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapBonusChallengeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Info *TreasureMapBonusChallengeInfo `protobuf:"bytes,5,opt,name=info,proto3" json:"info,omitempty"`
+}
+
+func (x *TreasureMapBonusChallengeNotify) Reset() {
+ *x = TreasureMapBonusChallengeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapBonusChallengeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapBonusChallengeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapBonusChallengeNotify) ProtoMessage() {}
+
+func (x *TreasureMapBonusChallengeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapBonusChallengeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapBonusChallengeNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapBonusChallengeNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapBonusChallengeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapBonusChallengeNotify) GetInfo() *TreasureMapBonusChallengeInfo {
+ if x != nil {
+ return x.Info
+ }
+ return nil
+}
+
+var File_TreasureMapBonusChallengeNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapBonusChallengeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6e,
+ 0x75, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23,
+ 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6e, 0x75, 0x73,
+ 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a, 0x1f, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x70, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x38, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x65,
+ 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6e, 0x75, 0x73, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapBonusChallengeNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapBonusChallengeNotify_proto_rawDescData = file_TreasureMapBonusChallengeNotify_proto_rawDesc
+)
+
+func file_TreasureMapBonusChallengeNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapBonusChallengeNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapBonusChallengeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapBonusChallengeNotify_proto_rawDescData)
+ })
+ return file_TreasureMapBonusChallengeNotify_proto_rawDescData
+}
+
+var file_TreasureMapBonusChallengeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapBonusChallengeNotify_proto_goTypes = []interface{}{
+ (*TreasureMapBonusChallengeNotify)(nil), // 0: proto.TreasureMapBonusChallengeNotify
+ (*TreasureMapBonusChallengeInfo)(nil), // 1: proto.TreasureMapBonusChallengeInfo
+}
+var file_TreasureMapBonusChallengeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureMapBonusChallengeNotify.info:type_name -> proto.TreasureMapBonusChallengeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapBonusChallengeNotify_proto_init() }
+func file_TreasureMapBonusChallengeNotify_proto_init() {
+ if File_TreasureMapBonusChallengeNotify_proto != nil {
+ return
+ }
+ file_TreasureMapBonusChallengeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapBonusChallengeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapBonusChallengeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapBonusChallengeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapBonusChallengeNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapBonusChallengeNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapBonusChallengeNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapBonusChallengeNotify_proto = out.File
+ file_TreasureMapBonusChallengeNotify_proto_rawDesc = nil
+ file_TreasureMapBonusChallengeNotify_proto_goTypes = nil
+ file_TreasureMapBonusChallengeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapCurrencyNotify.pb.go b/protocol/proto/TreasureMapCurrencyNotify.pb.go
new file mode 100644
index 00000000..93fd7961
--- /dev/null
+++ b/protocol/proto/TreasureMapCurrencyNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapCurrencyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2171
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapCurrencyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurrencyNum uint32 `protobuf:"varint,8,opt,name=currency_num,json=currencyNum,proto3" json:"currency_num,omitempty"`
+}
+
+func (x *TreasureMapCurrencyNotify) Reset() {
+ *x = TreasureMapCurrencyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapCurrencyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapCurrencyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapCurrencyNotify) ProtoMessage() {}
+
+func (x *TreasureMapCurrencyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapCurrencyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapCurrencyNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapCurrencyNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapCurrencyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapCurrencyNotify) GetCurrencyNum() uint32 {
+ if x != nil {
+ return x.CurrencyNum
+ }
+ return 0
+}
+
+var File_TreasureMapCurrencyNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapCurrencyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x43, 0x75, 0x72,
+ 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x19, 0x54, 0x72, 0x65, 0x61,
+ 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63,
+ 0x79, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72,
+ 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapCurrencyNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapCurrencyNotify_proto_rawDescData = file_TreasureMapCurrencyNotify_proto_rawDesc
+)
+
+func file_TreasureMapCurrencyNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapCurrencyNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapCurrencyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapCurrencyNotify_proto_rawDescData)
+ })
+ return file_TreasureMapCurrencyNotify_proto_rawDescData
+}
+
+var file_TreasureMapCurrencyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapCurrencyNotify_proto_goTypes = []interface{}{
+ (*TreasureMapCurrencyNotify)(nil), // 0: proto.TreasureMapCurrencyNotify
+}
+var file_TreasureMapCurrencyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapCurrencyNotify_proto_init() }
+func file_TreasureMapCurrencyNotify_proto_init() {
+ if File_TreasureMapCurrencyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapCurrencyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapCurrencyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapCurrencyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapCurrencyNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapCurrencyNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapCurrencyNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapCurrencyNotify_proto = out.File
+ file_TreasureMapCurrencyNotify_proto_rawDesc = nil
+ file_TreasureMapCurrencyNotify_proto_goTypes = nil
+ file_TreasureMapCurrencyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapDetectorData.pb.go b/protocol/proto/TreasureMapDetectorData.pb.go
new file mode 100644
index 00000000..7b37909e
--- /dev/null
+++ b/protocol/proto/TreasureMapDetectorData.pb.go
@@ -0,0 +1,207 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapDetectorData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TreasureMapDetectorData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RegionId uint32 `protobuf:"varint,4,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
+ CenterPos *Vector `protobuf:"bytes,7,opt,name=center_pos,json=centerPos,proto3" json:"center_pos,omitempty"`
+ IsRegionDetected bool `protobuf:"varint,6,opt,name=is_region_detected,json=isRegionDetected,proto3" json:"is_region_detected,omitempty"`
+ SpotList []*Vector `protobuf:"bytes,10,rep,name=spot_list,json=spotList,proto3" json:"spot_list,omitempty"`
+ Radius uint32 `protobuf:"varint,14,opt,name=radius,proto3" json:"radius,omitempty"`
+}
+
+func (x *TreasureMapDetectorData) Reset() {
+ *x = TreasureMapDetectorData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapDetectorData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapDetectorData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapDetectorData) ProtoMessage() {}
+
+func (x *TreasureMapDetectorData) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapDetectorData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapDetectorData.ProtoReflect.Descriptor instead.
+func (*TreasureMapDetectorData) Descriptor() ([]byte, []int) {
+ return file_TreasureMapDetectorData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapDetectorData) GetRegionId() uint32 {
+ if x != nil {
+ return x.RegionId
+ }
+ return 0
+}
+
+func (x *TreasureMapDetectorData) GetCenterPos() *Vector {
+ if x != nil {
+ return x.CenterPos
+ }
+ return nil
+}
+
+func (x *TreasureMapDetectorData) GetIsRegionDetected() bool {
+ if x != nil {
+ return x.IsRegionDetected
+ }
+ return false
+}
+
+func (x *TreasureMapDetectorData) GetSpotList() []*Vector {
+ if x != nil {
+ return x.SpotList
+ }
+ return nil
+}
+
+func (x *TreasureMapDetectorData) GetRadius() uint32 {
+ if x != nil {
+ return x.Radius
+ }
+ return 0
+}
+
+var File_TreasureMapDetectorData_proto protoreflect.FileDescriptor
+
+var file_TreasureMapDetectorData_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x44, 0x65, 0x74,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd6, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72,
+ 0x65, 0x4d, 0x61, 0x70, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61,
+ 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a,
+ 0x0a, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
+ 0x52, 0x09, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69,
+ 0x73, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x09, 0x73, 0x70, 0x6f,
+ 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x70, 0x6f,
+ 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TreasureMapDetectorData_proto_rawDescOnce sync.Once
+ file_TreasureMapDetectorData_proto_rawDescData = file_TreasureMapDetectorData_proto_rawDesc
+)
+
+func file_TreasureMapDetectorData_proto_rawDescGZIP() []byte {
+ file_TreasureMapDetectorData_proto_rawDescOnce.Do(func() {
+ file_TreasureMapDetectorData_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapDetectorData_proto_rawDescData)
+ })
+ return file_TreasureMapDetectorData_proto_rawDescData
+}
+
+var file_TreasureMapDetectorData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapDetectorData_proto_goTypes = []interface{}{
+ (*TreasureMapDetectorData)(nil), // 0: proto.TreasureMapDetectorData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_TreasureMapDetectorData_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureMapDetectorData.center_pos:type_name -> proto.Vector
+ 1, // 1: proto.TreasureMapDetectorData.spot_list:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapDetectorData_proto_init() }
+func file_TreasureMapDetectorData_proto_init() {
+ if File_TreasureMapDetectorData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapDetectorData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapDetectorData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapDetectorData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapDetectorData_proto_goTypes,
+ DependencyIndexes: file_TreasureMapDetectorData_proto_depIdxs,
+ MessageInfos: file_TreasureMapDetectorData_proto_msgTypes,
+ }.Build()
+ File_TreasureMapDetectorData_proto = out.File
+ file_TreasureMapDetectorData_proto_rawDesc = nil
+ file_TreasureMapDetectorData_proto_goTypes = nil
+ file_TreasureMapDetectorData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapDetectorDataNotify.pb.go b/protocol/proto/TreasureMapDetectorDataNotify.pb.go
new file mode 100644
index 00000000..6fd9be11
--- /dev/null
+++ b/protocol/proto/TreasureMapDetectorDataNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapDetectorDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4300
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapDetectorDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Data *TreasureMapDetectorData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+}
+
+func (x *TreasureMapDetectorDataNotify) Reset() {
+ *x = TreasureMapDetectorDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapDetectorDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapDetectorDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapDetectorDataNotify) ProtoMessage() {}
+
+func (x *TreasureMapDetectorDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapDetectorDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapDetectorDataNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapDetectorDataNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapDetectorDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapDetectorDataNotify) GetData() *TreasureMapDetectorData {
+ if x != nil {
+ return x.Data
+ }
+ return nil
+}
+
+var File_TreasureMapDetectorDataNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapDetectorDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x44, 0x65, 0x74,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x54, 0x72,
+ 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x53, 0x0a, 0x1d, 0x54,
+ 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x32, 0x0a, 0x04,
+ 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x44, 0x65,
+ 0x74, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapDetectorDataNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapDetectorDataNotify_proto_rawDescData = file_TreasureMapDetectorDataNotify_proto_rawDesc
+)
+
+func file_TreasureMapDetectorDataNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapDetectorDataNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapDetectorDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapDetectorDataNotify_proto_rawDescData)
+ })
+ return file_TreasureMapDetectorDataNotify_proto_rawDescData
+}
+
+var file_TreasureMapDetectorDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapDetectorDataNotify_proto_goTypes = []interface{}{
+ (*TreasureMapDetectorDataNotify)(nil), // 0: proto.TreasureMapDetectorDataNotify
+ (*TreasureMapDetectorData)(nil), // 1: proto.TreasureMapDetectorData
+}
+var file_TreasureMapDetectorDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureMapDetectorDataNotify.data:type_name -> proto.TreasureMapDetectorData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapDetectorDataNotify_proto_init() }
+func file_TreasureMapDetectorDataNotify_proto_init() {
+ if File_TreasureMapDetectorDataNotify_proto != nil {
+ return
+ }
+ file_TreasureMapDetectorData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapDetectorDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapDetectorDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapDetectorDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapDetectorDataNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapDetectorDataNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapDetectorDataNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapDetectorDataNotify_proto = out.File
+ file_TreasureMapDetectorDataNotify_proto_rawDesc = nil
+ file_TreasureMapDetectorDataNotify_proto_goTypes = nil
+ file_TreasureMapDetectorDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapGuideTaskDoneNotify.pb.go b/protocol/proto/TreasureMapGuideTaskDoneNotify.pb.go
new file mode 100644
index 00000000..99b89f1e
--- /dev/null
+++ b/protocol/proto/TreasureMapGuideTaskDoneNotify.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapGuideTaskDoneNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2119
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapGuideTaskDoneNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TreasureMapGuideTaskDoneNotify) Reset() {
+ *x = TreasureMapGuideTaskDoneNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapGuideTaskDoneNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapGuideTaskDoneNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapGuideTaskDoneNotify) ProtoMessage() {}
+
+func (x *TreasureMapGuideTaskDoneNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapGuideTaskDoneNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapGuideTaskDoneNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapGuideTaskDoneNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapGuideTaskDoneNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TreasureMapGuideTaskDoneNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapGuideTaskDoneNotify_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x47, 0x75, 0x69,
+ 0x64, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x6f, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x47, 0x75, 0x69, 0x64,
+ 0x65, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x6f, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapGuideTaskDoneNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapGuideTaskDoneNotify_proto_rawDescData = file_TreasureMapGuideTaskDoneNotify_proto_rawDesc
+)
+
+func file_TreasureMapGuideTaskDoneNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapGuideTaskDoneNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapGuideTaskDoneNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapGuideTaskDoneNotify_proto_rawDescData)
+ })
+ return file_TreasureMapGuideTaskDoneNotify_proto_rawDescData
+}
+
+var file_TreasureMapGuideTaskDoneNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapGuideTaskDoneNotify_proto_goTypes = []interface{}{
+ (*TreasureMapGuideTaskDoneNotify)(nil), // 0: proto.TreasureMapGuideTaskDoneNotify
+}
+var file_TreasureMapGuideTaskDoneNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapGuideTaskDoneNotify_proto_init() }
+func file_TreasureMapGuideTaskDoneNotify_proto_init() {
+ if File_TreasureMapGuideTaskDoneNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapGuideTaskDoneNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapGuideTaskDoneNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapGuideTaskDoneNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapGuideTaskDoneNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapGuideTaskDoneNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapGuideTaskDoneNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapGuideTaskDoneNotify_proto = out.File
+ file_TreasureMapGuideTaskDoneNotify_proto_rawDesc = nil
+ file_TreasureMapGuideTaskDoneNotify_proto_goTypes = nil
+ file_TreasureMapGuideTaskDoneNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapHostInfoNotify.pb.go b/protocol/proto/TreasureMapHostInfoNotify.pb.go
new file mode 100644
index 00000000..1e9771a6
--- /dev/null
+++ b/protocol/proto/TreasureMapHostInfoNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapHostInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8681
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapHostInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MpChallengeRegionList []uint32 `protobuf:"varint,8,rep,packed,name=mp_challenge_region_list,json=mpChallengeRegionList,proto3" json:"mp_challenge_region_list,omitempty"`
+}
+
+func (x *TreasureMapHostInfoNotify) Reset() {
+ *x = TreasureMapHostInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapHostInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapHostInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapHostInfoNotify) ProtoMessage() {}
+
+func (x *TreasureMapHostInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapHostInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapHostInfoNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapHostInfoNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapHostInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapHostInfoNotify) GetMpChallengeRegionList() []uint32 {
+ if x != nil {
+ return x.MpChallengeRegionList
+ }
+ return nil
+}
+
+var File_TreasureMapHostInfoNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapHostInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x48, 0x6f, 0x73,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x19, 0x54, 0x72, 0x65, 0x61,
+ 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x37, 0x0a, 0x18, 0x6d, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x15, 0x6d, 0x70, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapHostInfoNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapHostInfoNotify_proto_rawDescData = file_TreasureMapHostInfoNotify_proto_rawDesc
+)
+
+func file_TreasureMapHostInfoNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapHostInfoNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapHostInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapHostInfoNotify_proto_rawDescData)
+ })
+ return file_TreasureMapHostInfoNotify_proto_rawDescData
+}
+
+var file_TreasureMapHostInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapHostInfoNotify_proto_goTypes = []interface{}{
+ (*TreasureMapHostInfoNotify)(nil), // 0: proto.TreasureMapHostInfoNotify
+}
+var file_TreasureMapHostInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapHostInfoNotify_proto_init() }
+func file_TreasureMapHostInfoNotify_proto_init() {
+ if File_TreasureMapHostInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapHostInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapHostInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapHostInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapHostInfoNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapHostInfoNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapHostInfoNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapHostInfoNotify_proto = out.File
+ file_TreasureMapHostInfoNotify_proto_rawDesc = nil
+ file_TreasureMapHostInfoNotify_proto_goTypes = nil
+ file_TreasureMapHostInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapMpChallengeNotify.pb.go b/protocol/proto/TreasureMapMpChallengeNotify.pb.go
new file mode 100644
index 00000000..cec0b7bc
--- /dev/null
+++ b/protocol/proto/TreasureMapMpChallengeNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapMpChallengeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2048
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapMpChallengeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TreasureMapMpChallengeNotify) Reset() {
+ *x = TreasureMapMpChallengeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapMpChallengeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapMpChallengeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapMpChallengeNotify) ProtoMessage() {}
+
+func (x *TreasureMapMpChallengeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapMpChallengeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapMpChallengeNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapMpChallengeNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapMpChallengeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TreasureMapMpChallengeNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapMpChallengeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x4d, 0x70, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x54,
+ 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x4d, 0x70, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapMpChallengeNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapMpChallengeNotify_proto_rawDescData = file_TreasureMapMpChallengeNotify_proto_rawDesc
+)
+
+func file_TreasureMapMpChallengeNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapMpChallengeNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapMpChallengeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapMpChallengeNotify_proto_rawDescData)
+ })
+ return file_TreasureMapMpChallengeNotify_proto_rawDescData
+}
+
+var file_TreasureMapMpChallengeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapMpChallengeNotify_proto_goTypes = []interface{}{
+ (*TreasureMapMpChallengeNotify)(nil), // 0: proto.TreasureMapMpChallengeNotify
+}
+var file_TreasureMapMpChallengeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapMpChallengeNotify_proto_init() }
+func file_TreasureMapMpChallengeNotify_proto_init() {
+ if File_TreasureMapMpChallengeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapMpChallengeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapMpChallengeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapMpChallengeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapMpChallengeNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapMpChallengeNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapMpChallengeNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapMpChallengeNotify_proto = out.File
+ file_TreasureMapMpChallengeNotify_proto_rawDesc = nil
+ file_TreasureMapMpChallengeNotify_proto_goTypes = nil
+ file_TreasureMapMpChallengeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapPreTaskDoneNotify.pb.go b/protocol/proto/TreasureMapPreTaskDoneNotify.pb.go
new file mode 100644
index 00000000..865c8584
--- /dev/null
+++ b/protocol/proto/TreasureMapPreTaskDoneNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapPreTaskDoneNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2152
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapPreTaskDoneNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TreasureMapPreTaskDoneNotify) Reset() {
+ *x = TreasureMapPreTaskDoneNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapPreTaskDoneNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapPreTaskDoneNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapPreTaskDoneNotify) ProtoMessage() {}
+
+func (x *TreasureMapPreTaskDoneNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapPreTaskDoneNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapPreTaskDoneNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapPreTaskDoneNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapPreTaskDoneNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TreasureMapPreTaskDoneNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapPreTaskDoneNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x65,
+ 0x54, 0x61, 0x73, 0x6b, 0x44, 0x6f, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x54,
+ 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x50, 0x72, 0x65, 0x54, 0x61, 0x73,
+ 0x6b, 0x44, 0x6f, 0x6e, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapPreTaskDoneNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapPreTaskDoneNotify_proto_rawDescData = file_TreasureMapPreTaskDoneNotify_proto_rawDesc
+)
+
+func file_TreasureMapPreTaskDoneNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapPreTaskDoneNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapPreTaskDoneNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapPreTaskDoneNotify_proto_rawDescData)
+ })
+ return file_TreasureMapPreTaskDoneNotify_proto_rawDescData
+}
+
+var file_TreasureMapPreTaskDoneNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapPreTaskDoneNotify_proto_goTypes = []interface{}{
+ (*TreasureMapPreTaskDoneNotify)(nil), // 0: proto.TreasureMapPreTaskDoneNotify
+}
+var file_TreasureMapPreTaskDoneNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapPreTaskDoneNotify_proto_init() }
+func file_TreasureMapPreTaskDoneNotify_proto_init() {
+ if File_TreasureMapPreTaskDoneNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapPreTaskDoneNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapPreTaskDoneNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapPreTaskDoneNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapPreTaskDoneNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapPreTaskDoneNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapPreTaskDoneNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapPreTaskDoneNotify_proto = out.File
+ file_TreasureMapPreTaskDoneNotify_proto_rawDesc = nil
+ file_TreasureMapPreTaskDoneNotify_proto_goTypes = nil
+ file_TreasureMapPreTaskDoneNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapRegionActiveNotify.pb.go b/protocol/proto/TreasureMapRegionActiveNotify.pb.go
new file mode 100644
index 00000000..9fa6db41
--- /dev/null
+++ b/protocol/proto/TreasureMapRegionActiveNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapRegionActiveNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2122
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapRegionActiveNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ActiveRegionIndex uint32 `protobuf:"varint,14,opt,name=active_region_index,json=activeRegionIndex,proto3" json:"active_region_index,omitempty"`
+}
+
+func (x *TreasureMapRegionActiveNotify) Reset() {
+ *x = TreasureMapRegionActiveNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapRegionActiveNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapRegionActiveNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapRegionActiveNotify) ProtoMessage() {}
+
+func (x *TreasureMapRegionActiveNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapRegionActiveNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapRegionActiveNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapRegionActiveNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapRegionActiveNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapRegionActiveNotify) GetActiveRegionIndex() uint32 {
+ if x != nil {
+ return x.ActiveRegionIndex
+ }
+ return 0
+}
+
+var File_TreasureMapRegionActiveNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapRegionActiveNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x1d,
+ 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2e, 0x0a,
+ 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
+ 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TreasureMapRegionActiveNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapRegionActiveNotify_proto_rawDescData = file_TreasureMapRegionActiveNotify_proto_rawDesc
+)
+
+func file_TreasureMapRegionActiveNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapRegionActiveNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapRegionActiveNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapRegionActiveNotify_proto_rawDescData)
+ })
+ return file_TreasureMapRegionActiveNotify_proto_rawDescData
+}
+
+var file_TreasureMapRegionActiveNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapRegionActiveNotify_proto_goTypes = []interface{}{
+ (*TreasureMapRegionActiveNotify)(nil), // 0: proto.TreasureMapRegionActiveNotify
+}
+var file_TreasureMapRegionActiveNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapRegionActiveNotify_proto_init() }
+func file_TreasureMapRegionActiveNotify_proto_init() {
+ if File_TreasureMapRegionActiveNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapRegionActiveNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapRegionActiveNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapRegionActiveNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapRegionActiveNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapRegionActiveNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapRegionActiveNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapRegionActiveNotify_proto = out.File
+ file_TreasureMapRegionActiveNotify_proto_rawDesc = nil
+ file_TreasureMapRegionActiveNotify_proto_goTypes = nil
+ file_TreasureMapRegionActiveNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapRegionInfo.pb.go b/protocol/proto/TreasureMapRegionInfo.pb.go
new file mode 100644
index 00000000..e103b6d3
--- /dev/null
+++ b/protocol/proto/TreasureMapRegionInfo.pb.go
@@ -0,0 +1,247 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapRegionInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TreasureMapRegionInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StartTime uint32 `protobuf:"varint,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ CurrentProgress uint32 `protobuf:"varint,11,opt,name=current_progress,json=currentProgress,proto3" json:"current_progress,omitempty"`
+ IsDoneMpSpot bool `protobuf:"varint,3,opt,name=is_done_mp_spot,json=isDoneMpSpot,proto3" json:"is_done_mp_spot,omitempty"`
+ SceneId uint32 `protobuf:"varint,2,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ GoalPoints uint32 `protobuf:"varint,12,opt,name=goal_points,json=goalPoints,proto3" json:"goal_points,omitempty"`
+ IsFindMpSpot bool `protobuf:"varint,4,opt,name=is_find_mp_spot,json=isFindMpSpot,proto3" json:"is_find_mp_spot,omitempty"`
+ RegionRadius uint32 `protobuf:"varint,1,opt,name=region_radius,json=regionRadius,proto3" json:"region_radius,omitempty"`
+ RegionCenterPos *Vector `protobuf:"bytes,9,opt,name=region_center_pos,json=regionCenterPos,proto3" json:"region_center_pos,omitempty"`
+ RegionId uint32 `protobuf:"varint,5,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
+}
+
+func (x *TreasureMapRegionInfo) Reset() {
+ *x = TreasureMapRegionInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapRegionInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapRegionInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapRegionInfo) ProtoMessage() {}
+
+func (x *TreasureMapRegionInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapRegionInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapRegionInfo.ProtoReflect.Descriptor instead.
+func (*TreasureMapRegionInfo) Descriptor() ([]byte, []int) {
+ return file_TreasureMapRegionInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapRegionInfo) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *TreasureMapRegionInfo) GetCurrentProgress() uint32 {
+ if x != nil {
+ return x.CurrentProgress
+ }
+ return 0
+}
+
+func (x *TreasureMapRegionInfo) GetIsDoneMpSpot() bool {
+ if x != nil {
+ return x.IsDoneMpSpot
+ }
+ return false
+}
+
+func (x *TreasureMapRegionInfo) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *TreasureMapRegionInfo) GetGoalPoints() uint32 {
+ if x != nil {
+ return x.GoalPoints
+ }
+ return 0
+}
+
+func (x *TreasureMapRegionInfo) GetIsFindMpSpot() bool {
+ if x != nil {
+ return x.IsFindMpSpot
+ }
+ return false
+}
+
+func (x *TreasureMapRegionInfo) GetRegionRadius() uint32 {
+ if x != nil {
+ return x.RegionRadius
+ }
+ return 0
+}
+
+func (x *TreasureMapRegionInfo) GetRegionCenterPos() *Vector {
+ if x != nil {
+ return x.RegionCenterPos
+ }
+ return nil
+}
+
+func (x *TreasureMapRegionInfo) GetRegionId() uint32 {
+ if x != nil {
+ return x.RegionId
+ }
+ return 0
+}
+
+var File_TreasureMapRegionInfo_proto protoreflect.FileDescriptor
+
+var file_TreasureMapRegionInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xe8, 0x02, 0x0a, 0x15, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d,
+ 0x61, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63,
+ 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x72,
+ 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x6e,
+ 0x65, 0x5f, 0x6d, 0x70, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0c, 0x69, 0x73, 0x44, 0x6f, 0x6e, 0x65, 0x4d, 0x70, 0x53, 0x70, 0x6f, 0x74, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x6f, 0x61, 0x6c,
+ 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x67,
+ 0x6f, 0x61, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0f, 0x69, 0x73, 0x5f,
+ 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x6d, 0x70, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x70, 0x53, 0x70, 0x6f, 0x74,
+ 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52,
+ 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x11, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52,
+ 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x73,
+ 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TreasureMapRegionInfo_proto_rawDescOnce sync.Once
+ file_TreasureMapRegionInfo_proto_rawDescData = file_TreasureMapRegionInfo_proto_rawDesc
+)
+
+func file_TreasureMapRegionInfo_proto_rawDescGZIP() []byte {
+ file_TreasureMapRegionInfo_proto_rawDescOnce.Do(func() {
+ file_TreasureMapRegionInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapRegionInfo_proto_rawDescData)
+ })
+ return file_TreasureMapRegionInfo_proto_rawDescData
+}
+
+var file_TreasureMapRegionInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapRegionInfo_proto_goTypes = []interface{}{
+ (*TreasureMapRegionInfo)(nil), // 0: proto.TreasureMapRegionInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_TreasureMapRegionInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureMapRegionInfo.region_center_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapRegionInfo_proto_init() }
+func file_TreasureMapRegionInfo_proto_init() {
+ if File_TreasureMapRegionInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapRegionInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapRegionInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapRegionInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapRegionInfo_proto_goTypes,
+ DependencyIndexes: file_TreasureMapRegionInfo_proto_depIdxs,
+ MessageInfos: file_TreasureMapRegionInfo_proto_msgTypes,
+ }.Build()
+ File_TreasureMapRegionInfo_proto = out.File
+ file_TreasureMapRegionInfo_proto_rawDesc = nil
+ file_TreasureMapRegionInfo_proto_goTypes = nil
+ file_TreasureMapRegionInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureMapRegionInfoNotify.pb.go b/protocol/proto/TreasureMapRegionInfoNotify.pb.go
new file mode 100644
index 00000000..455e8d5c
--- /dev/null
+++ b/protocol/proto/TreasureMapRegionInfoNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureMapRegionInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2185
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureMapRegionInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RegionInfo *TreasureMapRegionInfo `protobuf:"bytes,14,opt,name=region_info,json=regionInfo,proto3" json:"region_info,omitempty"`
+}
+
+func (x *TreasureMapRegionInfoNotify) Reset() {
+ *x = TreasureMapRegionInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureMapRegionInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureMapRegionInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureMapRegionInfoNotify) ProtoMessage() {}
+
+func (x *TreasureMapRegionInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureMapRegionInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureMapRegionInfoNotify.ProtoReflect.Descriptor instead.
+func (*TreasureMapRegionInfoNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureMapRegionInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureMapRegionInfoNotify) GetRegionInfo() *TreasureMapRegionInfo {
+ if x != nil {
+ return x.RegionInfo
+ }
+ return nil
+}
+
+var File_TreasureMapRegionInfoNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureMapRegionInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x54, 0x72, 0x65, 0x61,
+ 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x1b, 0x54, 0x72, 0x65, 0x61, 0x73,
+ 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x61, 0x70, 0x52,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureMapRegionInfoNotify_proto_rawDescOnce sync.Once
+ file_TreasureMapRegionInfoNotify_proto_rawDescData = file_TreasureMapRegionInfoNotify_proto_rawDesc
+)
+
+func file_TreasureMapRegionInfoNotify_proto_rawDescGZIP() []byte {
+ file_TreasureMapRegionInfoNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureMapRegionInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureMapRegionInfoNotify_proto_rawDescData)
+ })
+ return file_TreasureMapRegionInfoNotify_proto_rawDescData
+}
+
+var file_TreasureMapRegionInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureMapRegionInfoNotify_proto_goTypes = []interface{}{
+ (*TreasureMapRegionInfoNotify)(nil), // 0: proto.TreasureMapRegionInfoNotify
+ (*TreasureMapRegionInfo)(nil), // 1: proto.TreasureMapRegionInfo
+}
+var file_TreasureMapRegionInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureMapRegionInfoNotify.region_info:type_name -> proto.TreasureMapRegionInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TreasureMapRegionInfoNotify_proto_init() }
+func file_TreasureMapRegionInfoNotify_proto_init() {
+ if File_TreasureMapRegionInfoNotify_proto != nil {
+ return
+ }
+ file_TreasureMapRegionInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureMapRegionInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureMapRegionInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureMapRegionInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureMapRegionInfoNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureMapRegionInfoNotify_proto_depIdxs,
+ MessageInfos: file_TreasureMapRegionInfoNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureMapRegionInfoNotify_proto = out.File
+ file_TreasureMapRegionInfoNotify_proto_rawDesc = nil
+ file_TreasureMapRegionInfoNotify_proto_goTypes = nil
+ file_TreasureMapRegionInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureSeelieActivityDetailInfo.pb.go b/protocol/proto/TreasureSeelieActivityDetailInfo.pb.go
new file mode 100644
index 00000000..1611b49e
--- /dev/null
+++ b/protocol/proto/TreasureSeelieActivityDetailInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureSeelieActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TreasureSeelieActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TreasureCloseTime uint32 `protobuf:"varint,10,opt,name=treasure_close_time,json=treasureCloseTime,proto3" json:"treasure_close_time,omitempty"`
+ IsContentClosed bool `protobuf:"varint,8,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ RegionDataList []*TreasureSeelieRegionData `protobuf:"bytes,14,rep,name=region_data_list,json=regionDataList,proto3" json:"region_data_list,omitempty"`
+}
+
+func (x *TreasureSeelieActivityDetailInfo) Reset() {
+ *x = TreasureSeelieActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureSeelieActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureSeelieActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureSeelieActivityDetailInfo) ProtoMessage() {}
+
+func (x *TreasureSeelieActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureSeelieActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureSeelieActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*TreasureSeelieActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_TreasureSeelieActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureSeelieActivityDetailInfo) GetTreasureCloseTime() uint32 {
+ if x != nil {
+ return x.TreasureCloseTime
+ }
+ return 0
+}
+
+func (x *TreasureSeelieActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *TreasureSeelieActivityDetailInfo) GetRegionDataList() []*TreasureSeelieRegionData {
+ if x != nil {
+ return x.RegionDataList
+ }
+ return nil
+}
+
+var File_TreasureSeelieActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_TreasureSeelieActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65,
+ 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x1e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x52,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xc9, 0x01, 0x0a, 0x20, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c,
+ 0x69, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65,
+ 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x11, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64,
+ 0x12, 0x49, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69,
+ 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x72, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureSeelieActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_TreasureSeelieActivityDetailInfo_proto_rawDescData = file_TreasureSeelieActivityDetailInfo_proto_rawDesc
+)
+
+func file_TreasureSeelieActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_TreasureSeelieActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_TreasureSeelieActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureSeelieActivityDetailInfo_proto_rawDescData)
+ })
+ return file_TreasureSeelieActivityDetailInfo_proto_rawDescData
+}
+
+var file_TreasureSeelieActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureSeelieActivityDetailInfo_proto_goTypes = []interface{}{
+ (*TreasureSeelieActivityDetailInfo)(nil), // 0: proto.TreasureSeelieActivityDetailInfo
+ (*TreasureSeelieRegionData)(nil), // 1: proto.TreasureSeelieRegionData
+}
+var file_TreasureSeelieActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureSeelieActivityDetailInfo.region_data_list:type_name -> proto.TreasureSeelieRegionData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TreasureSeelieActivityDetailInfo_proto_init() }
+func file_TreasureSeelieActivityDetailInfo_proto_init() {
+ if File_TreasureSeelieActivityDetailInfo_proto != nil {
+ return
+ }
+ file_TreasureSeelieRegionData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureSeelieActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureSeelieActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureSeelieActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureSeelieActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_TreasureSeelieActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_TreasureSeelieActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_TreasureSeelieActivityDetailInfo_proto = out.File
+ file_TreasureSeelieActivityDetailInfo_proto_rawDesc = nil
+ file_TreasureSeelieActivityDetailInfo_proto_goTypes = nil
+ file_TreasureSeelieActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureSeelieCollectOrbsNotify.pb.go b/protocol/proto/TreasureSeelieCollectOrbsNotify.pb.go
new file mode 100644
index 00000000..0ce47fd7
--- /dev/null
+++ b/protocol/proto/TreasureSeelieCollectOrbsNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureSeelieCollectOrbsNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20754
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TreasureSeelieCollectOrbsNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurrentNum uint32 `protobuf:"varint,11,opt,name=current_num,json=currentNum,proto3" json:"current_num,omitempty"`
+ TotalNum uint32 `protobuf:"varint,5,opt,name=total_num,json=totalNum,proto3" json:"total_num,omitempty"`
+}
+
+func (x *TreasureSeelieCollectOrbsNotify) Reset() {
+ *x = TreasureSeelieCollectOrbsNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureSeelieCollectOrbsNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureSeelieCollectOrbsNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureSeelieCollectOrbsNotify) ProtoMessage() {}
+
+func (x *TreasureSeelieCollectOrbsNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureSeelieCollectOrbsNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureSeelieCollectOrbsNotify.ProtoReflect.Descriptor instead.
+func (*TreasureSeelieCollectOrbsNotify) Descriptor() ([]byte, []int) {
+ return file_TreasureSeelieCollectOrbsNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureSeelieCollectOrbsNotify) GetCurrentNum() uint32 {
+ if x != nil {
+ return x.CurrentNum
+ }
+ return 0
+}
+
+func (x *TreasureSeelieCollectOrbsNotify) GetTotalNum() uint32 {
+ if x != nil {
+ return x.TotalNum
+ }
+ return 0
+}
+
+var File_TreasureSeelieCollectOrbsNotify_proto protoreflect.FileDescriptor
+
+var file_TreasureSeelieCollectOrbsNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65,
+ 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x62, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f,
+ 0x0a, 0x1f, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65,
+ 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x62, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e,
+ 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureSeelieCollectOrbsNotify_proto_rawDescOnce sync.Once
+ file_TreasureSeelieCollectOrbsNotify_proto_rawDescData = file_TreasureSeelieCollectOrbsNotify_proto_rawDesc
+)
+
+func file_TreasureSeelieCollectOrbsNotify_proto_rawDescGZIP() []byte {
+ file_TreasureSeelieCollectOrbsNotify_proto_rawDescOnce.Do(func() {
+ file_TreasureSeelieCollectOrbsNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureSeelieCollectOrbsNotify_proto_rawDescData)
+ })
+ return file_TreasureSeelieCollectOrbsNotify_proto_rawDescData
+}
+
+var file_TreasureSeelieCollectOrbsNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureSeelieCollectOrbsNotify_proto_goTypes = []interface{}{
+ (*TreasureSeelieCollectOrbsNotify)(nil), // 0: proto.TreasureSeelieCollectOrbsNotify
+}
+var file_TreasureSeelieCollectOrbsNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TreasureSeelieCollectOrbsNotify_proto_init() }
+func file_TreasureSeelieCollectOrbsNotify_proto_init() {
+ if File_TreasureSeelieCollectOrbsNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureSeelieCollectOrbsNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureSeelieCollectOrbsNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureSeelieCollectOrbsNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureSeelieCollectOrbsNotify_proto_goTypes,
+ DependencyIndexes: file_TreasureSeelieCollectOrbsNotify_proto_depIdxs,
+ MessageInfos: file_TreasureSeelieCollectOrbsNotify_proto_msgTypes,
+ }.Build()
+ File_TreasureSeelieCollectOrbsNotify_proto = out.File
+ file_TreasureSeelieCollectOrbsNotify_proto_rawDesc = nil
+ file_TreasureSeelieCollectOrbsNotify_proto_goTypes = nil
+ file_TreasureSeelieCollectOrbsNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TreasureSeelieRegionData.pb.go b/protocol/proto/TreasureSeelieRegionData.pb.go
new file mode 100644
index 00000000..1f70d1ca
--- /dev/null
+++ b/protocol/proto/TreasureSeelieRegionData.pb.go
@@ -0,0 +1,255 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TreasureSeelieRegionData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TreasureSeelieRegionData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsDone bool `protobuf:"varint,12,opt,name=is_done,json=isDone,proto3" json:"is_done,omitempty"`
+ OpenDay uint32 `protobuf:"varint,6,opt,name=open_day,json=openDay,proto3" json:"open_day,omitempty"`
+ OpenedChestNum uint32 `protobuf:"varint,10,opt,name=opened_chest_num,json=openedChestNum,proto3" json:"opened_chest_num,omitempty"`
+ RegionRadius float32 `protobuf:"fixed32,7,opt,name=region_radius,json=regionRadius,proto3" json:"region_radius,omitempty"`
+ IsOpen bool `protobuf:"varint,9,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ OpenTime uint32 `protobuf:"varint,8,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ RegionCenterPos *Vector `protobuf:"bytes,11,opt,name=region_center_pos,json=regionCenterPos,proto3" json:"region_center_pos,omitempty"`
+ SceneId uint32 `protobuf:"varint,13,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ TotalChestNum uint32 `protobuf:"varint,15,opt,name=total_chest_num,json=totalChestNum,proto3" json:"total_chest_num,omitempty"`
+ RegionId uint32 `protobuf:"varint,1,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"`
+}
+
+func (x *TreasureSeelieRegionData) Reset() {
+ *x = TreasureSeelieRegionData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TreasureSeelieRegionData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TreasureSeelieRegionData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TreasureSeelieRegionData) ProtoMessage() {}
+
+func (x *TreasureSeelieRegionData) ProtoReflect() protoreflect.Message {
+ mi := &file_TreasureSeelieRegionData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TreasureSeelieRegionData.ProtoReflect.Descriptor instead.
+func (*TreasureSeelieRegionData) Descriptor() ([]byte, []int) {
+ return file_TreasureSeelieRegionData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TreasureSeelieRegionData) GetIsDone() bool {
+ if x != nil {
+ return x.IsDone
+ }
+ return false
+}
+
+func (x *TreasureSeelieRegionData) GetOpenDay() uint32 {
+ if x != nil {
+ return x.OpenDay
+ }
+ return 0
+}
+
+func (x *TreasureSeelieRegionData) GetOpenedChestNum() uint32 {
+ if x != nil {
+ return x.OpenedChestNum
+ }
+ return 0
+}
+
+func (x *TreasureSeelieRegionData) GetRegionRadius() float32 {
+ if x != nil {
+ return x.RegionRadius
+ }
+ return 0
+}
+
+func (x *TreasureSeelieRegionData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *TreasureSeelieRegionData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *TreasureSeelieRegionData) GetRegionCenterPos() *Vector {
+ if x != nil {
+ return x.RegionCenterPos
+ }
+ return nil
+}
+
+func (x *TreasureSeelieRegionData) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *TreasureSeelieRegionData) GetTotalChestNum() uint32 {
+ if x != nil {
+ return x.TotalChestNum
+ }
+ return 0
+}
+
+func (x *TreasureSeelieRegionData) GetRegionId() uint32 {
+ if x != nil {
+ return x.RegionId
+ }
+ return 0
+}
+
+var File_TreasureSeelieRegionData_proto protoreflect.FileDescriptor
+
+var file_TreasureSeelieRegionData_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65,
+ 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x02, 0x0a, 0x18, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75,
+ 0x72, 0x65, 0x53, 0x65, 0x65, 0x6c, 0x69, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x6f, 0x6e, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f,
+ 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f,
+ 0x70, 0x65, 0x6e, 0x44, 0x61, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64,
+ 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x43, 0x68, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d,
+ 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75,
+ 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52,
+ 0x61, 0x64, 0x69, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
+ 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x11, 0x72,
+ 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x73,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56,
+ 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x65, 0x6e,
+ 0x74, 0x65, 0x72, 0x50, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x65, 0x73, 0x74,
+ 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x43, 0x68, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x67,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65,
+ 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TreasureSeelieRegionData_proto_rawDescOnce sync.Once
+ file_TreasureSeelieRegionData_proto_rawDescData = file_TreasureSeelieRegionData_proto_rawDesc
+)
+
+func file_TreasureSeelieRegionData_proto_rawDescGZIP() []byte {
+ file_TreasureSeelieRegionData_proto_rawDescOnce.Do(func() {
+ file_TreasureSeelieRegionData_proto_rawDescData = protoimpl.X.CompressGZIP(file_TreasureSeelieRegionData_proto_rawDescData)
+ })
+ return file_TreasureSeelieRegionData_proto_rawDescData
+}
+
+var file_TreasureSeelieRegionData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TreasureSeelieRegionData_proto_goTypes = []interface{}{
+ (*TreasureSeelieRegionData)(nil), // 0: proto.TreasureSeelieRegionData
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_TreasureSeelieRegionData_proto_depIdxs = []int32{
+ 1, // 0: proto.TreasureSeelieRegionData.region_center_pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TreasureSeelieRegionData_proto_init() }
+func file_TreasureSeelieRegionData_proto_init() {
+ if File_TreasureSeelieRegionData_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TreasureSeelieRegionData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TreasureSeelieRegionData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TreasureSeelieRegionData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TreasureSeelieRegionData_proto_goTypes,
+ DependencyIndexes: file_TreasureSeelieRegionData_proto_depIdxs,
+ MessageInfos: file_TreasureSeelieRegionData_proto_msgTypes,
+ }.Build()
+ File_TreasureSeelieRegionData_proto = out.File
+ file_TreasureSeelieRegionData_proto_rawDesc = nil
+ file_TreasureSeelieRegionData_proto_goTypes = nil
+ file_TreasureSeelieRegionData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TrialAvatarActivityDetailInfo.pb.go b/protocol/proto/TrialAvatarActivityDetailInfo.pb.go
new file mode 100644
index 00000000..e13e3488
--- /dev/null
+++ b/protocol/proto/TrialAvatarActivityDetailInfo.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TrialAvatarActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TrialAvatarActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RewardInfoList []*TrialAvatarActivityRewardDetailInfo `protobuf:"bytes,13,rep,name=reward_info_list,json=rewardInfoList,proto3" json:"reward_info_list,omitempty"`
+}
+
+func (x *TrialAvatarActivityDetailInfo) Reset() {
+ *x = TrialAvatarActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TrialAvatarActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrialAvatarActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrialAvatarActivityDetailInfo) ProtoMessage() {}
+
+func (x *TrialAvatarActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TrialAvatarActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrialAvatarActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*TrialAvatarActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_TrialAvatarActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TrialAvatarActivityDetailInfo) GetRewardInfoList() []*TrialAvatarActivityRewardDetailInfo {
+ if x != nil {
+ return x.RewardInfoList
+ }
+ return nil
+}
+
+var File_TrialAvatarActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_TrialAvatarActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x54, 0x72,
+ 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x1d, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65,
+ 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x77, 0x61,
+ 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x69, 0x61, 0x6c,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65,
+ 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e,
+ 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TrialAvatarActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_TrialAvatarActivityDetailInfo_proto_rawDescData = file_TrialAvatarActivityDetailInfo_proto_rawDesc
+)
+
+func file_TrialAvatarActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_TrialAvatarActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_TrialAvatarActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TrialAvatarActivityDetailInfo_proto_rawDescData)
+ })
+ return file_TrialAvatarActivityDetailInfo_proto_rawDescData
+}
+
+var file_TrialAvatarActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TrialAvatarActivityDetailInfo_proto_goTypes = []interface{}{
+ (*TrialAvatarActivityDetailInfo)(nil), // 0: proto.TrialAvatarActivityDetailInfo
+ (*TrialAvatarActivityRewardDetailInfo)(nil), // 1: proto.TrialAvatarActivityRewardDetailInfo
+}
+var file_TrialAvatarActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TrialAvatarActivityDetailInfo.reward_info_list:type_name -> proto.TrialAvatarActivityRewardDetailInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_TrialAvatarActivityDetailInfo_proto_init() }
+func file_TrialAvatarActivityDetailInfo_proto_init() {
+ if File_TrialAvatarActivityDetailInfo_proto != nil {
+ return
+ }
+ file_TrialAvatarActivityRewardDetailInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TrialAvatarActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrialAvatarActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TrialAvatarActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TrialAvatarActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_TrialAvatarActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_TrialAvatarActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_TrialAvatarActivityDetailInfo_proto = out.File
+ file_TrialAvatarActivityDetailInfo_proto_rawDesc = nil
+ file_TrialAvatarActivityDetailInfo_proto_goTypes = nil
+ file_TrialAvatarActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TrialAvatarActivityRewardDetailInfo.pb.go b/protocol/proto/TrialAvatarActivityRewardDetailInfo.pb.go
new file mode 100644
index 00000000..7cf6190e
--- /dev/null
+++ b/protocol/proto/TrialAvatarActivityRewardDetailInfo.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TrialAvatarActivityRewardDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TrialAvatarActivityRewardDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PassedDungeon bool `protobuf:"varint,2,opt,name=passed_dungeon,json=passedDungeon,proto3" json:"passed_dungeon,omitempty"`
+ TrialAvatarIndexId uint32 `protobuf:"varint,4,opt,name=trial_avatar_index_id,json=trialAvatarIndexId,proto3" json:"trial_avatar_index_id,omitempty"`
+ ReceivedReward bool `protobuf:"varint,5,opt,name=received_reward,json=receivedReward,proto3" json:"received_reward,omitempty"`
+ RewardId uint32 `protobuf:"varint,7,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"`
+}
+
+func (x *TrialAvatarActivityRewardDetailInfo) Reset() {
+ *x = TrialAvatarActivityRewardDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TrialAvatarActivityRewardDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrialAvatarActivityRewardDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrialAvatarActivityRewardDetailInfo) ProtoMessage() {}
+
+func (x *TrialAvatarActivityRewardDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TrialAvatarActivityRewardDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrialAvatarActivityRewardDetailInfo.ProtoReflect.Descriptor instead.
+func (*TrialAvatarActivityRewardDetailInfo) Descriptor() ([]byte, []int) {
+ return file_TrialAvatarActivityRewardDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TrialAvatarActivityRewardDetailInfo) GetPassedDungeon() bool {
+ if x != nil {
+ return x.PassedDungeon
+ }
+ return false
+}
+
+func (x *TrialAvatarActivityRewardDetailInfo) GetTrialAvatarIndexId() uint32 {
+ if x != nil {
+ return x.TrialAvatarIndexId
+ }
+ return 0
+}
+
+func (x *TrialAvatarActivityRewardDetailInfo) GetReceivedReward() bool {
+ if x != nil {
+ return x.ReceivedReward
+ }
+ return false
+}
+
+func (x *TrialAvatarActivityRewardDetailInfo) GetRewardId() uint32 {
+ if x != nil {
+ return x.RewardId
+ }
+ return 0
+}
+
+var File_TrialAvatarActivityRewardDetailInfo_proto protoreflect.FileDescriptor
+
+var file_TrialAvatarActivityRewardDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xc5, 0x01, 0x0a, 0x23, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61,
+ 0x73, 0x73, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f,
+ 0x6e, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x12, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64,
+ 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72,
+ 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1b, 0x0a,
+ 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TrialAvatarActivityRewardDetailInfo_proto_rawDescOnce sync.Once
+ file_TrialAvatarActivityRewardDetailInfo_proto_rawDescData = file_TrialAvatarActivityRewardDetailInfo_proto_rawDesc
+)
+
+func file_TrialAvatarActivityRewardDetailInfo_proto_rawDescGZIP() []byte {
+ file_TrialAvatarActivityRewardDetailInfo_proto_rawDescOnce.Do(func() {
+ file_TrialAvatarActivityRewardDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TrialAvatarActivityRewardDetailInfo_proto_rawDescData)
+ })
+ return file_TrialAvatarActivityRewardDetailInfo_proto_rawDescData
+}
+
+var file_TrialAvatarActivityRewardDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TrialAvatarActivityRewardDetailInfo_proto_goTypes = []interface{}{
+ (*TrialAvatarActivityRewardDetailInfo)(nil), // 0: proto.TrialAvatarActivityRewardDetailInfo
+}
+var file_TrialAvatarActivityRewardDetailInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TrialAvatarActivityRewardDetailInfo_proto_init() }
+func file_TrialAvatarActivityRewardDetailInfo_proto_init() {
+ if File_TrialAvatarActivityRewardDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TrialAvatarActivityRewardDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrialAvatarActivityRewardDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TrialAvatarActivityRewardDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TrialAvatarActivityRewardDetailInfo_proto_goTypes,
+ DependencyIndexes: file_TrialAvatarActivityRewardDetailInfo_proto_depIdxs,
+ MessageInfos: file_TrialAvatarActivityRewardDetailInfo_proto_msgTypes,
+ }.Build()
+ File_TrialAvatarActivityRewardDetailInfo_proto = out.File
+ file_TrialAvatarActivityRewardDetailInfo_proto_rawDesc = nil
+ file_TrialAvatarActivityRewardDetailInfo_proto_goTypes = nil
+ file_TrialAvatarActivityRewardDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TrialAvatarFirstPassDungeonNotify.pb.go b/protocol/proto/TrialAvatarFirstPassDungeonNotify.pb.go
new file mode 100644
index 00000000..037c6b8c
--- /dev/null
+++ b/protocol/proto/TrialAvatarFirstPassDungeonNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TrialAvatarFirstPassDungeonNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2013
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TrialAvatarFirstPassDungeonNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialAvatarIndexId uint32 `protobuf:"varint,10,opt,name=trial_avatar_index_id,json=trialAvatarIndexId,proto3" json:"trial_avatar_index_id,omitempty"`
+}
+
+func (x *TrialAvatarFirstPassDungeonNotify) Reset() {
+ *x = TrialAvatarFirstPassDungeonNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TrialAvatarFirstPassDungeonNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrialAvatarFirstPassDungeonNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrialAvatarFirstPassDungeonNotify) ProtoMessage() {}
+
+func (x *TrialAvatarFirstPassDungeonNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TrialAvatarFirstPassDungeonNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrialAvatarFirstPassDungeonNotify.ProtoReflect.Descriptor instead.
+func (*TrialAvatarFirstPassDungeonNotify) Descriptor() ([]byte, []int) {
+ return file_TrialAvatarFirstPassDungeonNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TrialAvatarFirstPassDungeonNotify) GetTrialAvatarIndexId() uint32 {
+ if x != nil {
+ return x.TrialAvatarIndexId
+ }
+ return 0
+}
+
+var File_TrialAvatarFirstPassDungeonNotify_proto protoreflect.FileDescriptor
+
+var file_TrialAvatarFirstPassDungeonNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46, 0x69, 0x72,
+ 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x56, 0x0a, 0x21, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x46,
+ 0x69, 0x72, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TrialAvatarFirstPassDungeonNotify_proto_rawDescOnce sync.Once
+ file_TrialAvatarFirstPassDungeonNotify_proto_rawDescData = file_TrialAvatarFirstPassDungeonNotify_proto_rawDesc
+)
+
+func file_TrialAvatarFirstPassDungeonNotify_proto_rawDescGZIP() []byte {
+ file_TrialAvatarFirstPassDungeonNotify_proto_rawDescOnce.Do(func() {
+ file_TrialAvatarFirstPassDungeonNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TrialAvatarFirstPassDungeonNotify_proto_rawDescData)
+ })
+ return file_TrialAvatarFirstPassDungeonNotify_proto_rawDescData
+}
+
+var file_TrialAvatarFirstPassDungeonNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TrialAvatarFirstPassDungeonNotify_proto_goTypes = []interface{}{
+ (*TrialAvatarFirstPassDungeonNotify)(nil), // 0: proto.TrialAvatarFirstPassDungeonNotify
+}
+var file_TrialAvatarFirstPassDungeonNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TrialAvatarFirstPassDungeonNotify_proto_init() }
+func file_TrialAvatarFirstPassDungeonNotify_proto_init() {
+ if File_TrialAvatarFirstPassDungeonNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TrialAvatarFirstPassDungeonNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrialAvatarFirstPassDungeonNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TrialAvatarFirstPassDungeonNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TrialAvatarFirstPassDungeonNotify_proto_goTypes,
+ DependencyIndexes: file_TrialAvatarFirstPassDungeonNotify_proto_depIdxs,
+ MessageInfos: file_TrialAvatarFirstPassDungeonNotify_proto_msgTypes,
+ }.Build()
+ File_TrialAvatarFirstPassDungeonNotify_proto = out.File
+ file_TrialAvatarFirstPassDungeonNotify_proto_rawDesc = nil
+ file_TrialAvatarFirstPassDungeonNotify_proto_goTypes = nil
+ file_TrialAvatarFirstPassDungeonNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TrialAvatarGrantRecord.pb.go b/protocol/proto/TrialAvatarGrantRecord.pb.go
new file mode 100644
index 00000000..49bf9a00
--- /dev/null
+++ b/protocol/proto/TrialAvatarGrantRecord.pb.go
@@ -0,0 +1,290 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TrialAvatarGrantRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TrialAvatarGrantRecord_GrantReason int32
+
+const (
+ TrialAvatarGrantRecord_GRANT_REASON_INVALID TrialAvatarGrantRecord_GrantReason = 0
+ TrialAvatarGrantRecord_GRANT_REASON_BY_QUEST TrialAvatarGrantRecord_GrantReason = 1
+ TrialAvatarGrantRecord_GRANT_REASON_BY_TRIAL_AVATAR_ACTIVITY TrialAvatarGrantRecord_GrantReason = 2
+ TrialAvatarGrantRecord_GRANT_REASON_BY_DUNGEON_ELEMENT_CHALLENGE TrialAvatarGrantRecord_GrantReason = 3
+ TrialAvatarGrantRecord_GRANT_REASON_BY_MIST_TRIAL_ACTIVITY TrialAvatarGrantRecord_GrantReason = 4
+ TrialAvatarGrantRecord_GRANT_REASON_BY_SUMO_ACTIVITY TrialAvatarGrantRecord_GrantReason = 5
+ TrialAvatarGrantRecord_GRANT_REASON_BY_POTION_ACTIVITY TrialAvatarGrantRecord_GrantReason = 6
+ TrialAvatarGrantRecord_GRANT_REASON_BY_CRYSTAL_LINK_ACTIVITY TrialAvatarGrantRecord_GrantReason = 7
+ TrialAvatarGrantRecord_GRANT_REASON_BY_IRODORI_MASTER TrialAvatarGrantRecord_GrantReason = 8
+ TrialAvatarGrantRecord_GRANT_REASON_BY_GM TrialAvatarGrantRecord_GrantReason = 9
+ TrialAvatarGrantRecord_GRANT_REASON_BY_INSTABLE_SPRAY_ACTIVITY TrialAvatarGrantRecord_GrantReason = 10
+ TrialAvatarGrantRecord_GRANT_REASON_BY_MUQADAS_POTION_ACTIVITY TrialAvatarGrantRecord_GrantReason = 11
+ TrialAvatarGrantRecord_GRANT_REASON_BY_VINTAGE_HUNTING TrialAvatarGrantRecord_GrantReason = 12
+ TrialAvatarGrantRecord_GRANT_REASON_BY_CHAR_AMUSEMENT TrialAvatarGrantRecord_GrantReason = 13
+)
+
+// Enum value maps for TrialAvatarGrantRecord_GrantReason.
+var (
+ TrialAvatarGrantRecord_GrantReason_name = map[int32]string{
+ 0: "GRANT_REASON_INVALID",
+ 1: "GRANT_REASON_BY_QUEST",
+ 2: "GRANT_REASON_BY_TRIAL_AVATAR_ACTIVITY",
+ 3: "GRANT_REASON_BY_DUNGEON_ELEMENT_CHALLENGE",
+ 4: "GRANT_REASON_BY_MIST_TRIAL_ACTIVITY",
+ 5: "GRANT_REASON_BY_SUMO_ACTIVITY",
+ 6: "GRANT_REASON_BY_POTION_ACTIVITY",
+ 7: "GRANT_REASON_BY_CRYSTAL_LINK_ACTIVITY",
+ 8: "GRANT_REASON_BY_IRODORI_MASTER",
+ 9: "GRANT_REASON_BY_GM",
+ 10: "GRANT_REASON_BY_INSTABLE_SPRAY_ACTIVITY",
+ 11: "GRANT_REASON_BY_MUQADAS_POTION_ACTIVITY",
+ 12: "GRANT_REASON_BY_VINTAGE_HUNTING",
+ 13: "GRANT_REASON_BY_CHAR_AMUSEMENT",
+ }
+ TrialAvatarGrantRecord_GrantReason_value = map[string]int32{
+ "GRANT_REASON_INVALID": 0,
+ "GRANT_REASON_BY_QUEST": 1,
+ "GRANT_REASON_BY_TRIAL_AVATAR_ACTIVITY": 2,
+ "GRANT_REASON_BY_DUNGEON_ELEMENT_CHALLENGE": 3,
+ "GRANT_REASON_BY_MIST_TRIAL_ACTIVITY": 4,
+ "GRANT_REASON_BY_SUMO_ACTIVITY": 5,
+ "GRANT_REASON_BY_POTION_ACTIVITY": 6,
+ "GRANT_REASON_BY_CRYSTAL_LINK_ACTIVITY": 7,
+ "GRANT_REASON_BY_IRODORI_MASTER": 8,
+ "GRANT_REASON_BY_GM": 9,
+ "GRANT_REASON_BY_INSTABLE_SPRAY_ACTIVITY": 10,
+ "GRANT_REASON_BY_MUQADAS_POTION_ACTIVITY": 11,
+ "GRANT_REASON_BY_VINTAGE_HUNTING": 12,
+ "GRANT_REASON_BY_CHAR_AMUSEMENT": 13,
+ }
+)
+
+func (x TrialAvatarGrantRecord_GrantReason) Enum() *TrialAvatarGrantRecord_GrantReason {
+ p := new(TrialAvatarGrantRecord_GrantReason)
+ *p = x
+ return p
+}
+
+func (x TrialAvatarGrantRecord_GrantReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TrialAvatarGrantRecord_GrantReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_TrialAvatarGrantRecord_proto_enumTypes[0].Descriptor()
+}
+
+func (TrialAvatarGrantRecord_GrantReason) Type() protoreflect.EnumType {
+ return &file_TrialAvatarGrantRecord_proto_enumTypes[0]
+}
+
+func (x TrialAvatarGrantRecord_GrantReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TrialAvatarGrantRecord_GrantReason.Descriptor instead.
+func (TrialAvatarGrantRecord_GrantReason) EnumDescriptor() ([]byte, []int) {
+ return file_TrialAvatarGrantRecord_proto_rawDescGZIP(), []int{0, 0}
+}
+
+type TrialAvatarGrantRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GrantReason uint32 `protobuf:"varint,1,opt,name=grant_reason,json=grantReason,proto3" json:"grant_reason,omitempty"`
+ FromParentQuestId uint32 `protobuf:"varint,2,opt,name=from_parent_quest_id,json=fromParentQuestId,proto3" json:"from_parent_quest_id,omitempty"`
+}
+
+func (x *TrialAvatarGrantRecord) Reset() {
+ *x = TrialAvatarGrantRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TrialAvatarGrantRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrialAvatarGrantRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrialAvatarGrantRecord) ProtoMessage() {}
+
+func (x *TrialAvatarGrantRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_TrialAvatarGrantRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrialAvatarGrantRecord.ProtoReflect.Descriptor instead.
+func (*TrialAvatarGrantRecord) Descriptor() ([]byte, []int) {
+ return file_TrialAvatarGrantRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TrialAvatarGrantRecord) GetGrantReason() uint32 {
+ if x != nil {
+ return x.GrantReason
+ }
+ return 0
+}
+
+func (x *TrialAvatarGrantRecord) GetFromParentQuestId() uint32 {
+ if x != nil {
+ return x.FromParentQuestId
+ }
+ return 0
+}
+
+var File_TrialAvatarGrantRecord_proto protoreflect.FileDescriptor
+
+var file_TrialAvatarGrantRecord_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x72, 0x61,
+ 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x05, 0x0a, 0x16, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x61,
+ 0x73, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x14, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x65,
+ 0x6e, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x11, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x51, 0x75, 0x65,
+ 0x73, 0x74, 0x49, 0x64, 0x22, 0x97, 0x04, 0x0a, 0x0b, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x19,
+ 0x0a, 0x15, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42,
+ 0x59, 0x5f, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x52, 0x41,
+ 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x54, 0x52, 0x49,
+ 0x41, 0x4c, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49,
+ 0x54, 0x59, 0x10, 0x02, 0x12, 0x2d, 0x0a, 0x29, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f,
+ 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4c, 0x4c, 0x45, 0x4e, 0x47,
+ 0x45, 0x10, 0x03, 0x12, 0x27, 0x0a, 0x23, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x4d, 0x49, 0x53, 0x54, 0x5f, 0x54, 0x52, 0x49, 0x41,
+ 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x04, 0x12, 0x21, 0x0a, 0x1d,
+ 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f,
+ 0x53, 0x55, 0x4d, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x05, 0x12,
+ 0x23, 0x0a, 0x1f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x42, 0x59, 0x5f, 0x50, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49,
+ 0x54, 0x59, 0x10, 0x06, 0x12, 0x29, 0x0a, 0x25, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45,
+ 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x43, 0x52, 0x59, 0x53, 0x54, 0x41, 0x4c, 0x5f,
+ 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12,
+ 0x22, 0x0a, 0x1e, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f,
+ 0x42, 0x59, 0x5f, 0x49, 0x52, 0x4f, 0x44, 0x4f, 0x52, 0x49, 0x5f, 0x4d, 0x41, 0x53, 0x54, 0x45,
+ 0x52, 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x47, 0x4d, 0x10, 0x09, 0x12, 0x2b, 0x0a, 0x27, 0x47,
+ 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x49,
+ 0x4e, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x50, 0x52, 0x41, 0x59, 0x5f, 0x41, 0x43,
+ 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x0a, 0x12, 0x2b, 0x0a, 0x27, 0x47, 0x52, 0x41, 0x4e,
+ 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x4d, 0x55, 0x51, 0x41,
+ 0x44, 0x41, 0x53, 0x5f, 0x50, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56,
+ 0x49, 0x54, 0x59, 0x10, 0x0b, 0x12, 0x23, 0x0a, 0x1f, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x52,
+ 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x56, 0x49, 0x4e, 0x54, 0x41, 0x47, 0x45,
+ 0x5f, 0x48, 0x55, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e, 0x47, 0x52,
+ 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x59, 0x5f, 0x43, 0x48,
+ 0x41, 0x52, 0x5f, 0x41, 0x4d, 0x55, 0x53, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x0d, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TrialAvatarGrantRecord_proto_rawDescOnce sync.Once
+ file_TrialAvatarGrantRecord_proto_rawDescData = file_TrialAvatarGrantRecord_proto_rawDesc
+)
+
+func file_TrialAvatarGrantRecord_proto_rawDescGZIP() []byte {
+ file_TrialAvatarGrantRecord_proto_rawDescOnce.Do(func() {
+ file_TrialAvatarGrantRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_TrialAvatarGrantRecord_proto_rawDescData)
+ })
+ return file_TrialAvatarGrantRecord_proto_rawDescData
+}
+
+var file_TrialAvatarGrantRecord_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_TrialAvatarGrantRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TrialAvatarGrantRecord_proto_goTypes = []interface{}{
+ (TrialAvatarGrantRecord_GrantReason)(0), // 0: proto.TrialAvatarGrantRecord.GrantReason
+ (*TrialAvatarGrantRecord)(nil), // 1: proto.TrialAvatarGrantRecord
+}
+var file_TrialAvatarGrantRecord_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TrialAvatarGrantRecord_proto_init() }
+func file_TrialAvatarGrantRecord_proto_init() {
+ if File_TrialAvatarGrantRecord_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TrialAvatarGrantRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrialAvatarGrantRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TrialAvatarGrantRecord_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TrialAvatarGrantRecord_proto_goTypes,
+ DependencyIndexes: file_TrialAvatarGrantRecord_proto_depIdxs,
+ EnumInfos: file_TrialAvatarGrantRecord_proto_enumTypes,
+ MessageInfos: file_TrialAvatarGrantRecord_proto_msgTypes,
+ }.Build()
+ File_TrialAvatarGrantRecord_proto = out.File
+ file_TrialAvatarGrantRecord_proto_rawDesc = nil
+ file_TrialAvatarGrantRecord_proto_goTypes = nil
+ file_TrialAvatarGrantRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TrialAvatarInDungeonIndexNotify.pb.go b/protocol/proto/TrialAvatarInDungeonIndexNotify.pb.go
new file mode 100644
index 00000000..ad9b20e1
--- /dev/null
+++ b/protocol/proto/TrialAvatarInDungeonIndexNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TrialAvatarInDungeonIndexNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2186
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TrialAvatarInDungeonIndexNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialAvatarIndexId uint32 `protobuf:"varint,14,opt,name=trial_avatar_index_id,json=trialAvatarIndexId,proto3" json:"trial_avatar_index_id,omitempty"`
+}
+
+func (x *TrialAvatarInDungeonIndexNotify) Reset() {
+ *x = TrialAvatarInDungeonIndexNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TrialAvatarInDungeonIndexNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrialAvatarInDungeonIndexNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrialAvatarInDungeonIndexNotify) ProtoMessage() {}
+
+func (x *TrialAvatarInDungeonIndexNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TrialAvatarInDungeonIndexNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrialAvatarInDungeonIndexNotify.ProtoReflect.Descriptor instead.
+func (*TrialAvatarInDungeonIndexNotify) Descriptor() ([]byte, []int) {
+ return file_TrialAvatarInDungeonIndexNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TrialAvatarInDungeonIndexNotify) GetTrialAvatarIndexId() uint32 {
+ if x != nil {
+ return x.TrialAvatarIndexId
+ }
+ return 0
+}
+
+var File_TrialAvatarInDungeonIndexNotify_proto protoreflect.FileDescriptor
+
+var file_TrialAvatarInDungeonIndexNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54,
+ 0x0a, 0x1f, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x12, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x64,
+ 0x65, 0x78, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TrialAvatarInDungeonIndexNotify_proto_rawDescOnce sync.Once
+ file_TrialAvatarInDungeonIndexNotify_proto_rawDescData = file_TrialAvatarInDungeonIndexNotify_proto_rawDesc
+)
+
+func file_TrialAvatarInDungeonIndexNotify_proto_rawDescGZIP() []byte {
+ file_TrialAvatarInDungeonIndexNotify_proto_rawDescOnce.Do(func() {
+ file_TrialAvatarInDungeonIndexNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TrialAvatarInDungeonIndexNotify_proto_rawDescData)
+ })
+ return file_TrialAvatarInDungeonIndexNotify_proto_rawDescData
+}
+
+var file_TrialAvatarInDungeonIndexNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TrialAvatarInDungeonIndexNotify_proto_goTypes = []interface{}{
+ (*TrialAvatarInDungeonIndexNotify)(nil), // 0: proto.TrialAvatarInDungeonIndexNotify
+}
+var file_TrialAvatarInDungeonIndexNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TrialAvatarInDungeonIndexNotify_proto_init() }
+func file_TrialAvatarInDungeonIndexNotify_proto_init() {
+ if File_TrialAvatarInDungeonIndexNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TrialAvatarInDungeonIndexNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrialAvatarInDungeonIndexNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TrialAvatarInDungeonIndexNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TrialAvatarInDungeonIndexNotify_proto_goTypes,
+ DependencyIndexes: file_TrialAvatarInDungeonIndexNotify_proto_depIdxs,
+ MessageInfos: file_TrialAvatarInDungeonIndexNotify_proto_msgTypes,
+ }.Build()
+ File_TrialAvatarInDungeonIndexNotify_proto = out.File
+ file_TrialAvatarInDungeonIndexNotify_proto_rawDesc = nil
+ file_TrialAvatarInDungeonIndexNotify_proto_goTypes = nil
+ file_TrialAvatarInDungeonIndexNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TrialAvatarInfo.pb.go b/protocol/proto/TrialAvatarInfo.pb.go
new file mode 100644
index 00000000..815a18e7
--- /dev/null
+++ b/protocol/proto/TrialAvatarInfo.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TrialAvatarInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TrialAvatarInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TrialAvatarId uint32 `protobuf:"varint,1,opt,name=trial_avatar_id,json=trialAvatarId,proto3" json:"trial_avatar_id,omitempty"`
+ TrialEquipList []*Item `protobuf:"bytes,2,rep,name=trial_equip_list,json=trialEquipList,proto3" json:"trial_equip_list,omitempty"`
+ GrantRecord *TrialAvatarGrantRecord `protobuf:"bytes,3,opt,name=grant_record,json=grantRecord,proto3" json:"grant_record,omitempty"`
+}
+
+func (x *TrialAvatarInfo) Reset() {
+ *x = TrialAvatarInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TrialAvatarInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TrialAvatarInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TrialAvatarInfo) ProtoMessage() {}
+
+func (x *TrialAvatarInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_TrialAvatarInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TrialAvatarInfo.ProtoReflect.Descriptor instead.
+func (*TrialAvatarInfo) Descriptor() ([]byte, []int) {
+ return file_TrialAvatarInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TrialAvatarInfo) GetTrialAvatarId() uint32 {
+ if x != nil {
+ return x.TrialAvatarId
+ }
+ return 0
+}
+
+func (x *TrialAvatarInfo) GetTrialEquipList() []*Item {
+ if x != nil {
+ return x.TrialEquipList
+ }
+ return nil
+}
+
+func (x *TrialAvatarInfo) GetGrantRecord() *TrialAvatarGrantRecord {
+ if x != nil {
+ return x.GrantRecord
+ }
+ return nil
+}
+
+var File_TrialAvatarInfo_proto protoreflect.FileDescriptor
+
+var file_TrialAvatarInfo_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a,
+ 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x54, 0x72, 0x69, 0x61,
+ 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f,
+ 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x69,
+ 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0f,
+ 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x41, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x71,
+ 0x75, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x74, 0x72, 0x69,
+ 0x61, 0x6c, 0x45, 0x71, 0x75, 0x69, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x67,
+ 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x69, 0x61, 0x6c, 0x41,
+ 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x52, 0x0b, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TrialAvatarInfo_proto_rawDescOnce sync.Once
+ file_TrialAvatarInfo_proto_rawDescData = file_TrialAvatarInfo_proto_rawDesc
+)
+
+func file_TrialAvatarInfo_proto_rawDescGZIP() []byte {
+ file_TrialAvatarInfo_proto_rawDescOnce.Do(func() {
+ file_TrialAvatarInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_TrialAvatarInfo_proto_rawDescData)
+ })
+ return file_TrialAvatarInfo_proto_rawDescData
+}
+
+var file_TrialAvatarInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TrialAvatarInfo_proto_goTypes = []interface{}{
+ (*TrialAvatarInfo)(nil), // 0: proto.TrialAvatarInfo
+ (*Item)(nil), // 1: proto.Item
+ (*TrialAvatarGrantRecord)(nil), // 2: proto.TrialAvatarGrantRecord
+}
+var file_TrialAvatarInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.TrialAvatarInfo.trial_equip_list:type_name -> proto.Item
+ 2, // 1: proto.TrialAvatarInfo.grant_record:type_name -> proto.TrialAvatarGrantRecord
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_TrialAvatarInfo_proto_init() }
+func file_TrialAvatarInfo_proto_init() {
+ if File_TrialAvatarInfo_proto != nil {
+ return
+ }
+ file_Item_proto_init()
+ file_TrialAvatarGrantRecord_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_TrialAvatarInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TrialAvatarInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TrialAvatarInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TrialAvatarInfo_proto_goTypes,
+ DependencyIndexes: file_TrialAvatarInfo_proto_depIdxs,
+ MessageInfos: file_TrialAvatarInfo_proto_msgTypes,
+ }.Build()
+ File_TrialAvatarInfo_proto = out.File
+ file_TrialAvatarInfo_proto_rawDesc = nil
+ file_TrialAvatarInfo_proto_goTypes = nil
+ file_TrialAvatarInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TriggerCreateGadgetToEquipPartNotify.pb.go b/protocol/proto/TriggerCreateGadgetToEquipPartNotify.pb.go
new file mode 100644
index 00000000..11493ac4
--- /dev/null
+++ b/protocol/proto/TriggerCreateGadgetToEquipPartNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TriggerCreateGadgetToEquipPartNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 350
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TriggerCreateGadgetToEquipPartNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetId uint32 `protobuf:"varint,1,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ EntityId uint32 `protobuf:"varint,13,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ EquipPart string `protobuf:"bytes,14,opt,name=equip_part,json=equipPart,proto3" json:"equip_part,omitempty"`
+ GadgetEntityId uint32 `protobuf:"varint,10,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+}
+
+func (x *TriggerCreateGadgetToEquipPartNotify) Reset() {
+ *x = TriggerCreateGadgetToEquipPartNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TriggerCreateGadgetToEquipPartNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TriggerCreateGadgetToEquipPartNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TriggerCreateGadgetToEquipPartNotify) ProtoMessage() {}
+
+func (x *TriggerCreateGadgetToEquipPartNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TriggerCreateGadgetToEquipPartNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TriggerCreateGadgetToEquipPartNotify.ProtoReflect.Descriptor instead.
+func (*TriggerCreateGadgetToEquipPartNotify) Descriptor() ([]byte, []int) {
+ return file_TriggerCreateGadgetToEquipPartNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TriggerCreateGadgetToEquipPartNotify) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *TriggerCreateGadgetToEquipPartNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *TriggerCreateGadgetToEquipPartNotify) GetEquipPart() string {
+ if x != nil {
+ return x.EquipPart
+ }
+ return ""
+}
+
+func (x *TriggerCreateGadgetToEquipPartNotify) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+var File_TriggerCreateGadgetToEquipPartNotify_proto protoreflect.FileDescriptor
+
+var file_TriggerCreateGadgetToEquipPartNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47,
+ 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x45, 0x71, 0x75, 0x69, 0x70, 0x50, 0x61, 0x72, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x24, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x6f, 0x45, 0x71, 0x75,
+ 0x69, 0x70, 0x50, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f,
+ 0x70, 0x61, 0x72, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69,
+ 0x70, 0x50, 0x61, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TriggerCreateGadgetToEquipPartNotify_proto_rawDescOnce sync.Once
+ file_TriggerCreateGadgetToEquipPartNotify_proto_rawDescData = file_TriggerCreateGadgetToEquipPartNotify_proto_rawDesc
+)
+
+func file_TriggerCreateGadgetToEquipPartNotify_proto_rawDescGZIP() []byte {
+ file_TriggerCreateGadgetToEquipPartNotify_proto_rawDescOnce.Do(func() {
+ file_TriggerCreateGadgetToEquipPartNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TriggerCreateGadgetToEquipPartNotify_proto_rawDescData)
+ })
+ return file_TriggerCreateGadgetToEquipPartNotify_proto_rawDescData
+}
+
+var file_TriggerCreateGadgetToEquipPartNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TriggerCreateGadgetToEquipPartNotify_proto_goTypes = []interface{}{
+ (*TriggerCreateGadgetToEquipPartNotify)(nil), // 0: proto.TriggerCreateGadgetToEquipPartNotify
+}
+var file_TriggerCreateGadgetToEquipPartNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TriggerCreateGadgetToEquipPartNotify_proto_init() }
+func file_TriggerCreateGadgetToEquipPartNotify_proto_init() {
+ if File_TriggerCreateGadgetToEquipPartNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TriggerCreateGadgetToEquipPartNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TriggerCreateGadgetToEquipPartNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TriggerCreateGadgetToEquipPartNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TriggerCreateGadgetToEquipPartNotify_proto_goTypes,
+ DependencyIndexes: file_TriggerCreateGadgetToEquipPartNotify_proto_depIdxs,
+ MessageInfos: file_TriggerCreateGadgetToEquipPartNotify_proto_msgTypes,
+ }.Build()
+ File_TriggerCreateGadgetToEquipPartNotify_proto = out.File
+ file_TriggerCreateGadgetToEquipPartNotify_proto_rawDesc = nil
+ file_TriggerCreateGadgetToEquipPartNotify_proto_goTypes = nil
+ file_TriggerCreateGadgetToEquipPartNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TriggerRoguelikeCurseNotify.pb.go b/protocol/proto/TriggerRoguelikeCurseNotify.pb.go
new file mode 100644
index 00000000..ac73f8c3
--- /dev/null
+++ b/protocol/proto/TriggerRoguelikeCurseNotify.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TriggerRoguelikeCurseNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8412
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TriggerRoguelikeCurseNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EffectParamList []uint32 `protobuf:"varint,14,rep,packed,name=effect_param_list,json=effectParamList,proto3" json:"effect_param_list,omitempty"`
+ CurseGroupId uint32 `protobuf:"varint,9,opt,name=curse_group_id,json=curseGroupId,proto3" json:"curse_group_id,omitempty"`
+ IsTriggerCurse bool `protobuf:"varint,13,opt,name=is_trigger_curse,json=isTriggerCurse,proto3" json:"is_trigger_curse,omitempty"`
+ CurseLevel uint32 `protobuf:"varint,3,opt,name=curse_level,json=curseLevel,proto3" json:"curse_level,omitempty"`
+}
+
+func (x *TriggerRoguelikeCurseNotify) Reset() {
+ *x = TriggerRoguelikeCurseNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TriggerRoguelikeCurseNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TriggerRoguelikeCurseNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TriggerRoguelikeCurseNotify) ProtoMessage() {}
+
+func (x *TriggerRoguelikeCurseNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_TriggerRoguelikeCurseNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TriggerRoguelikeCurseNotify.ProtoReflect.Descriptor instead.
+func (*TriggerRoguelikeCurseNotify) Descriptor() ([]byte, []int) {
+ return file_TriggerRoguelikeCurseNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TriggerRoguelikeCurseNotify) GetEffectParamList() []uint32 {
+ if x != nil {
+ return x.EffectParamList
+ }
+ return nil
+}
+
+func (x *TriggerRoguelikeCurseNotify) GetCurseGroupId() uint32 {
+ if x != nil {
+ return x.CurseGroupId
+ }
+ return 0
+}
+
+func (x *TriggerRoguelikeCurseNotify) GetIsTriggerCurse() bool {
+ if x != nil {
+ return x.IsTriggerCurse
+ }
+ return false
+}
+
+func (x *TriggerRoguelikeCurseNotify) GetCurseLevel() uint32 {
+ if x != nil {
+ return x.CurseLevel
+ }
+ return 0
+}
+
+var File_TriggerRoguelikeCurseNotify_proto protoreflect.FileDescriptor
+
+var file_TriggerRoguelikeCurseNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x43, 0x75, 0x72, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x1b, 0x54,
+ 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x43,
+ 0x75, 0x72, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x66,
+ 0x66, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f,
+ 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c,
+ 0x63, 0x75, 0x72, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10,
+ 0x69, 0x73, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x73, 0x65,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
+ 0x72, 0x43, 0x75, 0x72, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x73, 0x65, 0x5f,
+ 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x75, 0x72,
+ 0x73, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TriggerRoguelikeCurseNotify_proto_rawDescOnce sync.Once
+ file_TriggerRoguelikeCurseNotify_proto_rawDescData = file_TriggerRoguelikeCurseNotify_proto_rawDesc
+)
+
+func file_TriggerRoguelikeCurseNotify_proto_rawDescGZIP() []byte {
+ file_TriggerRoguelikeCurseNotify_proto_rawDescOnce.Do(func() {
+ file_TriggerRoguelikeCurseNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_TriggerRoguelikeCurseNotify_proto_rawDescData)
+ })
+ return file_TriggerRoguelikeCurseNotify_proto_rawDescData
+}
+
+var file_TriggerRoguelikeCurseNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TriggerRoguelikeCurseNotify_proto_goTypes = []interface{}{
+ (*TriggerRoguelikeCurseNotify)(nil), // 0: proto.TriggerRoguelikeCurseNotify
+}
+var file_TriggerRoguelikeCurseNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TriggerRoguelikeCurseNotify_proto_init() }
+func file_TriggerRoguelikeCurseNotify_proto_init() {
+ if File_TriggerRoguelikeCurseNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TriggerRoguelikeCurseNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TriggerRoguelikeCurseNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TriggerRoguelikeCurseNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TriggerRoguelikeCurseNotify_proto_goTypes,
+ DependencyIndexes: file_TriggerRoguelikeCurseNotify_proto_depIdxs,
+ MessageInfos: file_TriggerRoguelikeCurseNotify_proto_msgTypes,
+ }.Build()
+ File_TriggerRoguelikeCurseNotify_proto = out.File
+ file_TriggerRoguelikeCurseNotify_proto_rawDesc = nil
+ file_TriggerRoguelikeCurseNotify_proto_goTypes = nil
+ file_TriggerRoguelikeCurseNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TriggerRoguelikeRuneReq.pb.go b/protocol/proto/TriggerRoguelikeRuneReq.pb.go
new file mode 100644
index 00000000..b8095ae6
--- /dev/null
+++ b/protocol/proto/TriggerRoguelikeRuneReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TriggerRoguelikeRuneReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8463
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TriggerRoguelikeRuneReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RuneId uint32 `protobuf:"varint,8,opt,name=rune_id,json=runeId,proto3" json:"rune_id,omitempty"`
+}
+
+func (x *TriggerRoguelikeRuneReq) Reset() {
+ *x = TriggerRoguelikeRuneReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TriggerRoguelikeRuneReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TriggerRoguelikeRuneReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TriggerRoguelikeRuneReq) ProtoMessage() {}
+
+func (x *TriggerRoguelikeRuneReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TriggerRoguelikeRuneReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TriggerRoguelikeRuneReq.ProtoReflect.Descriptor instead.
+func (*TriggerRoguelikeRuneReq) Descriptor() ([]byte, []int) {
+ return file_TriggerRoguelikeRuneReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TriggerRoguelikeRuneReq) GetRuneId() uint32 {
+ if x != nil {
+ return x.RuneId
+ }
+ return 0
+}
+
+var File_TriggerRoguelikeRuneReq_proto protoreflect.FileDescriptor
+
+var file_TriggerRoguelikeRuneReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x17, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
+ 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x65,
+ 0x71, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TriggerRoguelikeRuneReq_proto_rawDescOnce sync.Once
+ file_TriggerRoguelikeRuneReq_proto_rawDescData = file_TriggerRoguelikeRuneReq_proto_rawDesc
+)
+
+func file_TriggerRoguelikeRuneReq_proto_rawDescGZIP() []byte {
+ file_TriggerRoguelikeRuneReq_proto_rawDescOnce.Do(func() {
+ file_TriggerRoguelikeRuneReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TriggerRoguelikeRuneReq_proto_rawDescData)
+ })
+ return file_TriggerRoguelikeRuneReq_proto_rawDescData
+}
+
+var file_TriggerRoguelikeRuneReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TriggerRoguelikeRuneReq_proto_goTypes = []interface{}{
+ (*TriggerRoguelikeRuneReq)(nil), // 0: proto.TriggerRoguelikeRuneReq
+}
+var file_TriggerRoguelikeRuneReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TriggerRoguelikeRuneReq_proto_init() }
+func file_TriggerRoguelikeRuneReq_proto_init() {
+ if File_TriggerRoguelikeRuneReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TriggerRoguelikeRuneReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TriggerRoguelikeRuneReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TriggerRoguelikeRuneReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TriggerRoguelikeRuneReq_proto_goTypes,
+ DependencyIndexes: file_TriggerRoguelikeRuneReq_proto_depIdxs,
+ MessageInfos: file_TriggerRoguelikeRuneReq_proto_msgTypes,
+ }.Build()
+ File_TriggerRoguelikeRuneReq_proto = out.File
+ file_TriggerRoguelikeRuneReq_proto_rawDesc = nil
+ file_TriggerRoguelikeRuneReq_proto_goTypes = nil
+ file_TriggerRoguelikeRuneReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TriggerRoguelikeRuneRsp.pb.go b/protocol/proto/TriggerRoguelikeRuneRsp.pb.go
new file mode 100644
index 00000000..1584cf2e
--- /dev/null
+++ b/protocol/proto/TriggerRoguelikeRuneRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TriggerRoguelikeRuneRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8065
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TriggerRoguelikeRuneRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AvailableCount uint32 `protobuf:"varint,4,opt,name=available_count,json=availableCount,proto3" json:"available_count,omitempty"`
+ RuneId uint32 `protobuf:"varint,14,opt,name=rune_id,json=runeId,proto3" json:"rune_id,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TriggerRoguelikeRuneRsp) Reset() {
+ *x = TriggerRoguelikeRuneRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TriggerRoguelikeRuneRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TriggerRoguelikeRuneRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TriggerRoguelikeRuneRsp) ProtoMessage() {}
+
+func (x *TriggerRoguelikeRuneRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TriggerRoguelikeRuneRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TriggerRoguelikeRuneRsp.ProtoReflect.Descriptor instead.
+func (*TriggerRoguelikeRuneRsp) Descriptor() ([]byte, []int) {
+ return file_TriggerRoguelikeRuneRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TriggerRoguelikeRuneRsp) GetAvailableCount() uint32 {
+ if x != nil {
+ return x.AvailableCount
+ }
+ return 0
+}
+
+func (x *TriggerRoguelikeRuneRsp) GetRuneId() uint32 {
+ if x != nil {
+ return x.RuneId
+ }
+ return 0
+}
+
+func (x *TriggerRoguelikeRuneRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TriggerRoguelikeRuneRsp_proto protoreflect.FileDescriptor
+
+var file_TriggerRoguelikeRuneRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75, 0x0a, 0x17, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65,
+ 0x72, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x76, 0x61, 0x69,
+ 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x75,
+ 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x75, 0x6e,
+ 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TriggerRoguelikeRuneRsp_proto_rawDescOnce sync.Once
+ file_TriggerRoguelikeRuneRsp_proto_rawDescData = file_TriggerRoguelikeRuneRsp_proto_rawDesc
+)
+
+func file_TriggerRoguelikeRuneRsp_proto_rawDescGZIP() []byte {
+ file_TriggerRoguelikeRuneRsp_proto_rawDescOnce.Do(func() {
+ file_TriggerRoguelikeRuneRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TriggerRoguelikeRuneRsp_proto_rawDescData)
+ })
+ return file_TriggerRoguelikeRuneRsp_proto_rawDescData
+}
+
+var file_TriggerRoguelikeRuneRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TriggerRoguelikeRuneRsp_proto_goTypes = []interface{}{
+ (*TriggerRoguelikeRuneRsp)(nil), // 0: proto.TriggerRoguelikeRuneRsp
+}
+var file_TriggerRoguelikeRuneRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TriggerRoguelikeRuneRsp_proto_init() }
+func file_TriggerRoguelikeRuneRsp_proto_init() {
+ if File_TriggerRoguelikeRuneRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TriggerRoguelikeRuneRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TriggerRoguelikeRuneRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TriggerRoguelikeRuneRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TriggerRoguelikeRuneRsp_proto_goTypes,
+ DependencyIndexes: file_TriggerRoguelikeRuneRsp_proto_depIdxs,
+ MessageInfos: file_TriggerRoguelikeRuneRsp_proto_msgTypes,
+ }.Build()
+ File_TriggerRoguelikeRuneRsp_proto = out.File
+ file_TriggerRoguelikeRuneRsp_proto_rawDesc = nil
+ file_TriggerRoguelikeRuneRsp_proto_goTypes = nil
+ file_TriggerRoguelikeRuneRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryCustomDungeonReq.pb.go b/protocol/proto/TryCustomDungeonReq.pb.go
new file mode 100644
index 00000000..525b6120
--- /dev/null
+++ b/protocol/proto/TryCustomDungeonReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryCustomDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6245
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TryCustomDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,13,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+}
+
+func (x *TryCustomDungeonReq) Reset() {
+ *x = TryCustomDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TryCustomDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TryCustomDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TryCustomDungeonReq) ProtoMessage() {}
+
+func (x *TryCustomDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TryCustomDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TryCustomDungeonReq.ProtoReflect.Descriptor instead.
+func (*TryCustomDungeonReq) Descriptor() ([]byte, []int) {
+ return file_TryCustomDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TryCustomDungeonReq) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+var File_TryCustomDungeonReq_proto protoreflect.FileDescriptor
+
+var file_TryCustomDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x72, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2e, 0x0a, 0x13, 0x54, 0x72, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f,
+ 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TryCustomDungeonReq_proto_rawDescOnce sync.Once
+ file_TryCustomDungeonReq_proto_rawDescData = file_TryCustomDungeonReq_proto_rawDesc
+)
+
+func file_TryCustomDungeonReq_proto_rawDescGZIP() []byte {
+ file_TryCustomDungeonReq_proto_rawDescOnce.Do(func() {
+ file_TryCustomDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryCustomDungeonReq_proto_rawDescData)
+ })
+ return file_TryCustomDungeonReq_proto_rawDescData
+}
+
+var file_TryCustomDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TryCustomDungeonReq_proto_goTypes = []interface{}{
+ (*TryCustomDungeonReq)(nil), // 0: proto.TryCustomDungeonReq
+}
+var file_TryCustomDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryCustomDungeonReq_proto_init() }
+func file_TryCustomDungeonReq_proto_init() {
+ if File_TryCustomDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TryCustomDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TryCustomDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryCustomDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryCustomDungeonReq_proto_goTypes,
+ DependencyIndexes: file_TryCustomDungeonReq_proto_depIdxs,
+ MessageInfos: file_TryCustomDungeonReq_proto_msgTypes,
+ }.Build()
+ File_TryCustomDungeonReq_proto = out.File
+ file_TryCustomDungeonReq_proto_rawDesc = nil
+ file_TryCustomDungeonReq_proto_goTypes = nil
+ file_TryCustomDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryCustomDungeonRsp.pb.go b/protocol/proto/TryCustomDungeonRsp.pb.go
new file mode 100644
index 00000000..1b097a1e
--- /dev/null
+++ b/protocol/proto/TryCustomDungeonRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryCustomDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6241
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TryCustomDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoomId uint32 `protobuf:"varint,4,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TryCustomDungeonRsp) Reset() {
+ *x = TryCustomDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TryCustomDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TryCustomDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TryCustomDungeonRsp) ProtoMessage() {}
+
+func (x *TryCustomDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TryCustomDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TryCustomDungeonRsp.ProtoReflect.Descriptor instead.
+func (*TryCustomDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_TryCustomDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TryCustomDungeonRsp) GetRoomId() uint32 {
+ if x != nil {
+ return x.RoomId
+ }
+ return 0
+}
+
+func (x *TryCustomDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TryCustomDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_TryCustomDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x54, 0x72, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x13, 0x54, 0x72, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44,
+ 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f,
+ 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d,
+ 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TryCustomDungeonRsp_proto_rawDescOnce sync.Once
+ file_TryCustomDungeonRsp_proto_rawDescData = file_TryCustomDungeonRsp_proto_rawDesc
+)
+
+func file_TryCustomDungeonRsp_proto_rawDescGZIP() []byte {
+ file_TryCustomDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_TryCustomDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryCustomDungeonRsp_proto_rawDescData)
+ })
+ return file_TryCustomDungeonRsp_proto_rawDescData
+}
+
+var file_TryCustomDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TryCustomDungeonRsp_proto_goTypes = []interface{}{
+ (*TryCustomDungeonRsp)(nil), // 0: proto.TryCustomDungeonRsp
+}
+var file_TryCustomDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryCustomDungeonRsp_proto_init() }
+func file_TryCustomDungeonRsp_proto_init() {
+ if File_TryCustomDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TryCustomDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TryCustomDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryCustomDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryCustomDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_TryCustomDungeonRsp_proto_depIdxs,
+ MessageInfos: file_TryCustomDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_TryCustomDungeonRsp_proto = out.File
+ file_TryCustomDungeonRsp_proto_rawDesc = nil
+ file_TryCustomDungeonRsp_proto_goTypes = nil
+ file_TryCustomDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryCustomDungeonType.pb.go b/protocol/proto/TryCustomDungeonType.pb.go
new file mode 100644
index 00000000..f6d41cd4
--- /dev/null
+++ b/protocol/proto/TryCustomDungeonType.pb.go
@@ -0,0 +1,157 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryCustomDungeonType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type TryCustomDungeonType int32
+
+const (
+ TryCustomDungeonType_TRY_CUSTOM_DUNGEON_TYPE_NONE TryCustomDungeonType = 0
+ TryCustomDungeonType_TRY_CUSTOM_DUNGEON_TYPE_ROOM TryCustomDungeonType = 1
+ TryCustomDungeonType_TRY_CUSTOM_DUNGEON_TYPE_ALL TryCustomDungeonType = 2
+ TryCustomDungeonType_TRY_CUSTOM_DUNGEON_TYPE_OFFICIAL_PLAY TryCustomDungeonType = 3
+)
+
+// Enum value maps for TryCustomDungeonType.
+var (
+ TryCustomDungeonType_name = map[int32]string{
+ 0: "TRY_CUSTOM_DUNGEON_TYPE_NONE",
+ 1: "TRY_CUSTOM_DUNGEON_TYPE_ROOM",
+ 2: "TRY_CUSTOM_DUNGEON_TYPE_ALL",
+ 3: "TRY_CUSTOM_DUNGEON_TYPE_OFFICIAL_PLAY",
+ }
+ TryCustomDungeonType_value = map[string]int32{
+ "TRY_CUSTOM_DUNGEON_TYPE_NONE": 0,
+ "TRY_CUSTOM_DUNGEON_TYPE_ROOM": 1,
+ "TRY_CUSTOM_DUNGEON_TYPE_ALL": 2,
+ "TRY_CUSTOM_DUNGEON_TYPE_OFFICIAL_PLAY": 3,
+ }
+)
+
+func (x TryCustomDungeonType) Enum() *TryCustomDungeonType {
+ p := new(TryCustomDungeonType)
+ *p = x
+ return p
+}
+
+func (x TryCustomDungeonType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (TryCustomDungeonType) Descriptor() protoreflect.EnumDescriptor {
+ return file_TryCustomDungeonType_proto_enumTypes[0].Descriptor()
+}
+
+func (TryCustomDungeonType) Type() protoreflect.EnumType {
+ return &file_TryCustomDungeonType_proto_enumTypes[0]
+}
+
+func (x TryCustomDungeonType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use TryCustomDungeonType.Descriptor instead.
+func (TryCustomDungeonType) EnumDescriptor() ([]byte, []int) {
+ return file_TryCustomDungeonType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TryCustomDungeonType_proto protoreflect.FileDescriptor
+
+var file_TryCustomDungeonType_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x54, 0x72, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2a, 0xa6, 0x01, 0x0a, 0x14, 0x54, 0x72, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c,
+ 0x54, 0x52, 0x59, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x20,
+ 0x0a, 0x1c, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44, 0x55, 0x4e,
+ 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x01,
+ 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x44,
+ 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10,
+ 0x02, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f,
+ 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x46, 0x46,
+ 0x49, 0x43, 0x49, 0x41, 0x4c, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x10, 0x03, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TryCustomDungeonType_proto_rawDescOnce sync.Once
+ file_TryCustomDungeonType_proto_rawDescData = file_TryCustomDungeonType_proto_rawDesc
+)
+
+func file_TryCustomDungeonType_proto_rawDescGZIP() []byte {
+ file_TryCustomDungeonType_proto_rawDescOnce.Do(func() {
+ file_TryCustomDungeonType_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryCustomDungeonType_proto_rawDescData)
+ })
+ return file_TryCustomDungeonType_proto_rawDescData
+}
+
+var file_TryCustomDungeonType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_TryCustomDungeonType_proto_goTypes = []interface{}{
+ (TryCustomDungeonType)(0), // 0: proto.TryCustomDungeonType
+}
+var file_TryCustomDungeonType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryCustomDungeonType_proto_init() }
+func file_TryCustomDungeonType_proto_init() {
+ if File_TryCustomDungeonType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryCustomDungeonType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryCustomDungeonType_proto_goTypes,
+ DependencyIndexes: file_TryCustomDungeonType_proto_depIdxs,
+ EnumInfos: file_TryCustomDungeonType_proto_enumTypes,
+ }.Build()
+ File_TryCustomDungeonType_proto = out.File
+ file_TryCustomDungeonType_proto_rawDesc = nil
+ file_TryCustomDungeonType_proto_goTypes = nil
+ file_TryCustomDungeonType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryEnterHomeReq.pb.go b/protocol/proto/TryEnterHomeReq.pb.go
new file mode 100644
index 00000000..9f5ac424
--- /dev/null
+++ b/protocol/proto/TryEnterHomeReq.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryEnterHomeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4482
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TryEnterHomeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,3,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ IsTransferToSafePoint bool `protobuf:"varint,10,opt,name=is_transfer_to_safe_point,json=isTransferToSafePoint,proto3" json:"is_transfer_to_safe_point,omitempty"`
+ TargetPoint uint32 `protobuf:"varint,9,opt,name=target_point,json=targetPoint,proto3" json:"target_point,omitempty"`
+}
+
+func (x *TryEnterHomeReq) Reset() {
+ *x = TryEnterHomeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TryEnterHomeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TryEnterHomeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TryEnterHomeReq) ProtoMessage() {}
+
+func (x *TryEnterHomeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TryEnterHomeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TryEnterHomeReq.ProtoReflect.Descriptor instead.
+func (*TryEnterHomeReq) Descriptor() ([]byte, []int) {
+ return file_TryEnterHomeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TryEnterHomeReq) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *TryEnterHomeReq) GetIsTransferToSafePoint() bool {
+ if x != nil {
+ return x.IsTransferToSafePoint
+ }
+ return false
+}
+
+func (x *TryEnterHomeReq) GetTargetPoint() uint32 {
+ if x != nil {
+ return x.TargetPoint
+ }
+ return 0
+}
+
+var File_TryEnterHomeReq_proto protoreflect.FileDescriptor
+
+var file_TryEnterHomeReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x54, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d,
+ 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52,
+ 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69,
+ 0x64, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
+ 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
+ 0x54, 0x6f, 0x53, 0x61, 0x66, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_TryEnterHomeReq_proto_rawDescOnce sync.Once
+ file_TryEnterHomeReq_proto_rawDescData = file_TryEnterHomeReq_proto_rawDesc
+)
+
+func file_TryEnterHomeReq_proto_rawDescGZIP() []byte {
+ file_TryEnterHomeReq_proto_rawDescOnce.Do(func() {
+ file_TryEnterHomeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryEnterHomeReq_proto_rawDescData)
+ })
+ return file_TryEnterHomeReq_proto_rawDescData
+}
+
+var file_TryEnterHomeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TryEnterHomeReq_proto_goTypes = []interface{}{
+ (*TryEnterHomeReq)(nil), // 0: proto.TryEnterHomeReq
+}
+var file_TryEnterHomeReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryEnterHomeReq_proto_init() }
+func file_TryEnterHomeReq_proto_init() {
+ if File_TryEnterHomeReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TryEnterHomeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TryEnterHomeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryEnterHomeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryEnterHomeReq_proto_goTypes,
+ DependencyIndexes: file_TryEnterHomeReq_proto_depIdxs,
+ MessageInfos: file_TryEnterHomeReq_proto_msgTypes,
+ }.Build()
+ File_TryEnterHomeReq_proto = out.File
+ file_TryEnterHomeReq_proto_rawDesc = nil
+ file_TryEnterHomeReq_proto_goTypes = nil
+ file_TryEnterHomeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryEnterHomeRsp.pb.go b/protocol/proto/TryEnterHomeRsp.pb.go
new file mode 100644
index 00000000..5f7a6bf5
--- /dev/null
+++ b/protocol/proto/TryEnterHomeRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryEnterHomeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4653
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TryEnterHomeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetUid uint32 `protobuf:"varint,15,opt,name=target_uid,json=targetUid,proto3" json:"target_uid,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ParamList []uint32 `protobuf:"varint,10,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+}
+
+func (x *TryEnterHomeRsp) Reset() {
+ *x = TryEnterHomeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TryEnterHomeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TryEnterHomeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TryEnterHomeRsp) ProtoMessage() {}
+
+func (x *TryEnterHomeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TryEnterHomeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TryEnterHomeRsp.ProtoReflect.Descriptor instead.
+func (*TryEnterHomeRsp) Descriptor() ([]byte, []int) {
+ return file_TryEnterHomeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TryEnterHomeRsp) GetTargetUid() uint32 {
+ if x != nil {
+ return x.TargetUid
+ }
+ return 0
+}
+
+func (x *TryEnterHomeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *TryEnterHomeRsp) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+var File_TryEnterHomeRsp_proto protoreflect.FileDescriptor
+
+var file_TryEnterHomeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x54, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x69,
+ 0x0a, 0x0f, 0x54, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x6f, 0x6d, 0x65, 0x52, 0x73,
+ 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TryEnterHomeRsp_proto_rawDescOnce sync.Once
+ file_TryEnterHomeRsp_proto_rawDescData = file_TryEnterHomeRsp_proto_rawDesc
+)
+
+func file_TryEnterHomeRsp_proto_rawDescGZIP() []byte {
+ file_TryEnterHomeRsp_proto_rawDescOnce.Do(func() {
+ file_TryEnterHomeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryEnterHomeRsp_proto_rawDescData)
+ })
+ return file_TryEnterHomeRsp_proto_rawDescData
+}
+
+var file_TryEnterHomeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TryEnterHomeRsp_proto_goTypes = []interface{}{
+ (*TryEnterHomeRsp)(nil), // 0: proto.TryEnterHomeRsp
+}
+var file_TryEnterHomeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryEnterHomeRsp_proto_init() }
+func file_TryEnterHomeRsp_proto_init() {
+ if File_TryEnterHomeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TryEnterHomeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TryEnterHomeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryEnterHomeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryEnterHomeRsp_proto_goTypes,
+ DependencyIndexes: file_TryEnterHomeRsp_proto_depIdxs,
+ MessageInfos: file_TryEnterHomeRsp_proto_msgTypes,
+ }.Build()
+ File_TryEnterHomeRsp_proto = out.File
+ file_TryEnterHomeRsp_proto_rawDesc = nil
+ file_TryEnterHomeRsp_proto_goTypes = nil
+ file_TryEnterHomeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryEnterNextRogueDiaryDungeonReq.pb.go b/protocol/proto/TryEnterNextRogueDiaryDungeonReq.pb.go
new file mode 100644
index 00000000..02d302c6
--- /dev/null
+++ b/protocol/proto/TryEnterNextRogueDiaryDungeonReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryEnterNextRogueDiaryDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8280
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TryEnterNextRogueDiaryDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TryEnterNextRogueDiaryDungeonReq) Reset() {
+ *x = TryEnterNextRogueDiaryDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TryEnterNextRogueDiaryDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TryEnterNextRogueDiaryDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TryEnterNextRogueDiaryDungeonReq) ProtoMessage() {}
+
+func (x *TryEnterNextRogueDiaryDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TryEnterNextRogueDiaryDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TryEnterNextRogueDiaryDungeonReq.ProtoReflect.Descriptor instead.
+func (*TryEnterNextRogueDiaryDungeonReq) Descriptor() ([]byte, []int) {
+ return file_TryEnterNextRogueDiaryDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TryEnterNextRogueDiaryDungeonReq_proto protoreflect.FileDescriptor
+
+var file_TryEnterNextRogueDiaryDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x22, 0x0a, 0x20, 0x54, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x78, 0x74, 0x52,
+ 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TryEnterNextRogueDiaryDungeonReq_proto_rawDescOnce sync.Once
+ file_TryEnterNextRogueDiaryDungeonReq_proto_rawDescData = file_TryEnterNextRogueDiaryDungeonReq_proto_rawDesc
+)
+
+func file_TryEnterNextRogueDiaryDungeonReq_proto_rawDescGZIP() []byte {
+ file_TryEnterNextRogueDiaryDungeonReq_proto_rawDescOnce.Do(func() {
+ file_TryEnterNextRogueDiaryDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryEnterNextRogueDiaryDungeonReq_proto_rawDescData)
+ })
+ return file_TryEnterNextRogueDiaryDungeonReq_proto_rawDescData
+}
+
+var file_TryEnterNextRogueDiaryDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TryEnterNextRogueDiaryDungeonReq_proto_goTypes = []interface{}{
+ (*TryEnterNextRogueDiaryDungeonReq)(nil), // 0: proto.TryEnterNextRogueDiaryDungeonReq
+}
+var file_TryEnterNextRogueDiaryDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryEnterNextRogueDiaryDungeonReq_proto_init() }
+func file_TryEnterNextRogueDiaryDungeonReq_proto_init() {
+ if File_TryEnterNextRogueDiaryDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TryEnterNextRogueDiaryDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TryEnterNextRogueDiaryDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryEnterNextRogueDiaryDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryEnterNextRogueDiaryDungeonReq_proto_goTypes,
+ DependencyIndexes: file_TryEnterNextRogueDiaryDungeonReq_proto_depIdxs,
+ MessageInfos: file_TryEnterNextRogueDiaryDungeonReq_proto_msgTypes,
+ }.Build()
+ File_TryEnterNextRogueDiaryDungeonReq_proto = out.File
+ file_TryEnterNextRogueDiaryDungeonReq_proto_rawDesc = nil
+ file_TryEnterNextRogueDiaryDungeonReq_proto_goTypes = nil
+ file_TryEnterNextRogueDiaryDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryEnterNextRogueDiaryDungeonRsp.pb.go b/protocol/proto/TryEnterNextRogueDiaryDungeonRsp.pb.go
new file mode 100644
index 00000000..9bd9ccca
--- /dev/null
+++ b/protocol/proto/TryEnterNextRogueDiaryDungeonRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryEnterNextRogueDiaryDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8362
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TryEnterNextRogueDiaryDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TryEnterNextRogueDiaryDungeonRsp) Reset() {
+ *x = TryEnterNextRogueDiaryDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TryEnterNextRogueDiaryDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TryEnterNextRogueDiaryDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TryEnterNextRogueDiaryDungeonRsp) ProtoMessage() {}
+
+func (x *TryEnterNextRogueDiaryDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TryEnterNextRogueDiaryDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TryEnterNextRogueDiaryDungeonRsp.ProtoReflect.Descriptor instead.
+func (*TryEnterNextRogueDiaryDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TryEnterNextRogueDiaryDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TryEnterNextRogueDiaryDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x78, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x3c, 0x0a, 0x20, 0x54, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4e, 0x65, 0x78, 0x74, 0x52,
+ 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDescOnce sync.Once
+ file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDescData = file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDesc
+)
+
+func file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDescGZIP() []byte {
+ file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDescData)
+ })
+ return file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDescData
+}
+
+var file_TryEnterNextRogueDiaryDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TryEnterNextRogueDiaryDungeonRsp_proto_goTypes = []interface{}{
+ (*TryEnterNextRogueDiaryDungeonRsp)(nil), // 0: proto.TryEnterNextRogueDiaryDungeonRsp
+}
+var file_TryEnterNextRogueDiaryDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryEnterNextRogueDiaryDungeonRsp_proto_init() }
+func file_TryEnterNextRogueDiaryDungeonRsp_proto_init() {
+ if File_TryEnterNextRogueDiaryDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TryEnterNextRogueDiaryDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TryEnterNextRogueDiaryDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryEnterNextRogueDiaryDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_TryEnterNextRogueDiaryDungeonRsp_proto_depIdxs,
+ MessageInfos: file_TryEnterNextRogueDiaryDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_TryEnterNextRogueDiaryDungeonRsp_proto = out.File
+ file_TryEnterNextRogueDiaryDungeonRsp_proto_rawDesc = nil
+ file_TryEnterNextRogueDiaryDungeonRsp_proto_goTypes = nil
+ file_TryEnterNextRogueDiaryDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryInterruptRogueDiaryDungeonReq.pb.go b/protocol/proto/TryInterruptRogueDiaryDungeonReq.pb.go
new file mode 100644
index 00000000..bc0e2ac6
--- /dev/null
+++ b/protocol/proto/TryInterruptRogueDiaryDungeonReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryInterruptRogueDiaryDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8617
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type TryInterruptRogueDiaryDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *TryInterruptRogueDiaryDungeonReq) Reset() {
+ *x = TryInterruptRogueDiaryDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TryInterruptRogueDiaryDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TryInterruptRogueDiaryDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TryInterruptRogueDiaryDungeonReq) ProtoMessage() {}
+
+func (x *TryInterruptRogueDiaryDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_TryInterruptRogueDiaryDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TryInterruptRogueDiaryDungeonReq.ProtoReflect.Descriptor instead.
+func (*TryInterruptRogueDiaryDungeonReq) Descriptor() ([]byte, []int) {
+ return file_TryInterruptRogueDiaryDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_TryInterruptRogueDiaryDungeonReq_proto protoreflect.FileDescriptor
+
+var file_TryInterruptRogueDiaryDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x22, 0x0a, 0x20, 0x54, 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x52,
+ 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_TryInterruptRogueDiaryDungeonReq_proto_rawDescOnce sync.Once
+ file_TryInterruptRogueDiaryDungeonReq_proto_rawDescData = file_TryInterruptRogueDiaryDungeonReq_proto_rawDesc
+)
+
+func file_TryInterruptRogueDiaryDungeonReq_proto_rawDescGZIP() []byte {
+ file_TryInterruptRogueDiaryDungeonReq_proto_rawDescOnce.Do(func() {
+ file_TryInterruptRogueDiaryDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryInterruptRogueDiaryDungeonReq_proto_rawDescData)
+ })
+ return file_TryInterruptRogueDiaryDungeonReq_proto_rawDescData
+}
+
+var file_TryInterruptRogueDiaryDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TryInterruptRogueDiaryDungeonReq_proto_goTypes = []interface{}{
+ (*TryInterruptRogueDiaryDungeonReq)(nil), // 0: proto.TryInterruptRogueDiaryDungeonReq
+}
+var file_TryInterruptRogueDiaryDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryInterruptRogueDiaryDungeonReq_proto_init() }
+func file_TryInterruptRogueDiaryDungeonReq_proto_init() {
+ if File_TryInterruptRogueDiaryDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TryInterruptRogueDiaryDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TryInterruptRogueDiaryDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryInterruptRogueDiaryDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryInterruptRogueDiaryDungeonReq_proto_goTypes,
+ DependencyIndexes: file_TryInterruptRogueDiaryDungeonReq_proto_depIdxs,
+ MessageInfos: file_TryInterruptRogueDiaryDungeonReq_proto_msgTypes,
+ }.Build()
+ File_TryInterruptRogueDiaryDungeonReq_proto = out.File
+ file_TryInterruptRogueDiaryDungeonReq_proto_rawDesc = nil
+ file_TryInterruptRogueDiaryDungeonReq_proto_goTypes = nil
+ file_TryInterruptRogueDiaryDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/TryInterruptRogueDiaryDungeonRsp.pb.go b/protocol/proto/TryInterruptRogueDiaryDungeonRsp.pb.go
new file mode 100644
index 00000000..72b2971b
--- /dev/null
+++ b/protocol/proto/TryInterruptRogueDiaryDungeonRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: TryInterruptRogueDiaryDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8903
+// EnetChannelId: 0
+// EnetIsReliable: true
+type TryInterruptRogueDiaryDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *TryInterruptRogueDiaryDungeonRsp) Reset() {
+ *x = TryInterruptRogueDiaryDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_TryInterruptRogueDiaryDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *TryInterruptRogueDiaryDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*TryInterruptRogueDiaryDungeonRsp) ProtoMessage() {}
+
+func (x *TryInterruptRogueDiaryDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_TryInterruptRogueDiaryDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use TryInterruptRogueDiaryDungeonRsp.ProtoReflect.Descriptor instead.
+func (*TryInterruptRogueDiaryDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_TryInterruptRogueDiaryDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *TryInterruptRogueDiaryDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_TryInterruptRogueDiaryDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_TryInterruptRogueDiaryDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x54, 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x52, 0x6f,
+ 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x3c, 0x0a, 0x20, 0x54, 0x72, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x52,
+ 0x6f, 0x67, 0x75, 0x65, 0x44, 0x69, 0x61, 0x72, 0x79, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_TryInterruptRogueDiaryDungeonRsp_proto_rawDescOnce sync.Once
+ file_TryInterruptRogueDiaryDungeonRsp_proto_rawDescData = file_TryInterruptRogueDiaryDungeonRsp_proto_rawDesc
+)
+
+func file_TryInterruptRogueDiaryDungeonRsp_proto_rawDescGZIP() []byte {
+ file_TryInterruptRogueDiaryDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_TryInterruptRogueDiaryDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_TryInterruptRogueDiaryDungeonRsp_proto_rawDescData)
+ })
+ return file_TryInterruptRogueDiaryDungeonRsp_proto_rawDescData
+}
+
+var file_TryInterruptRogueDiaryDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_TryInterruptRogueDiaryDungeonRsp_proto_goTypes = []interface{}{
+ (*TryInterruptRogueDiaryDungeonRsp)(nil), // 0: proto.TryInterruptRogueDiaryDungeonRsp
+}
+var file_TryInterruptRogueDiaryDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_TryInterruptRogueDiaryDungeonRsp_proto_init() }
+func file_TryInterruptRogueDiaryDungeonRsp_proto_init() {
+ if File_TryInterruptRogueDiaryDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_TryInterruptRogueDiaryDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TryInterruptRogueDiaryDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_TryInterruptRogueDiaryDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_TryInterruptRogueDiaryDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_TryInterruptRogueDiaryDungeonRsp_proto_depIdxs,
+ MessageInfos: file_TryInterruptRogueDiaryDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_TryInterruptRogueDiaryDungeonRsp_proto = out.File
+ file_TryInterruptRogueDiaryDungeonRsp_proto_rawDesc = nil
+ file_TryInterruptRogueDiaryDungeonRsp_proto_goTypes = nil
+ file_TryInterruptRogueDiaryDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UgcActivityDetailInfo.pb.go b/protocol/proto/UgcActivityDetailInfo.pb.go
new file mode 100644
index 00000000..7241d0d4
--- /dev/null
+++ b/protocol/proto/UgcActivityDetailInfo.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UgcActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UgcActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsUgcFeatureClosed bool `protobuf:"varint,10,opt,name=is_ugc_feature_closed,json=isUgcFeatureClosed,proto3" json:"is_ugc_feature_closed,omitempty"`
+ CustomDungeonGroupId uint32 `protobuf:"varint,12,opt,name=custom_dungeon_group_id,json=customDungeonGroupId,proto3" json:"custom_dungeon_group_id,omitempty"`
+ OfficialCustomDungeonList []*OfficialCustomDungeon `protobuf:"bytes,5,rep,name=official_custom_dungeon_list,json=officialCustomDungeonList,proto3" json:"official_custom_dungeon_list,omitempty"`
+ IsEnableUgc bool `protobuf:"varint,11,opt,name=is_enable_ugc,json=isEnableUgc,proto3" json:"is_enable_ugc,omitempty"`
+}
+
+func (x *UgcActivityDetailInfo) Reset() {
+ *x = UgcActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UgcActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UgcActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UgcActivityDetailInfo) ProtoMessage() {}
+
+func (x *UgcActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_UgcActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UgcActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*UgcActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_UgcActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UgcActivityDetailInfo) GetIsUgcFeatureClosed() bool {
+ if x != nil {
+ return x.IsUgcFeatureClosed
+ }
+ return false
+}
+
+func (x *UgcActivityDetailInfo) GetCustomDungeonGroupId() uint32 {
+ if x != nil {
+ return x.CustomDungeonGroupId
+ }
+ return 0
+}
+
+func (x *UgcActivityDetailInfo) GetOfficialCustomDungeonList() []*OfficialCustomDungeon {
+ if x != nil {
+ return x.OfficialCustomDungeonList
+ }
+ return nil
+}
+
+func (x *UgcActivityDetailInfo) GetIsEnableUgc() bool {
+ if x != nil {
+ return x.IsEnableUgc
+ }
+ return false
+}
+
+var File_UgcActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_UgcActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x55, 0x67, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x84, 0x02, 0x0a, 0x15, 0x55, 0x67, 0x63, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
+ 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x15, 0x69,
+ 0x73, 0x5f, 0x75, 0x67, 0x63, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6c,
+ 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x55, 0x67,
+ 0x63, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x35,
+ 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x1c, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61,
+ 0x6c, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x19, 0x6f, 0x66, 0x66, 0x69, 0x63,
+ 0x69, 0x61, 0x6c, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x5f, 0x75, 0x67, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x45,
+ 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x67, 0x63, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UgcActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_UgcActivityDetailInfo_proto_rawDescData = file_UgcActivityDetailInfo_proto_rawDesc
+)
+
+func file_UgcActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_UgcActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_UgcActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_UgcActivityDetailInfo_proto_rawDescData)
+ })
+ return file_UgcActivityDetailInfo_proto_rawDescData
+}
+
+var file_UgcActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UgcActivityDetailInfo_proto_goTypes = []interface{}{
+ (*UgcActivityDetailInfo)(nil), // 0: proto.UgcActivityDetailInfo
+ (*OfficialCustomDungeon)(nil), // 1: proto.OfficialCustomDungeon
+}
+var file_UgcActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.UgcActivityDetailInfo.official_custom_dungeon_list:type_name -> proto.OfficialCustomDungeon
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_UgcActivityDetailInfo_proto_init() }
+func file_UgcActivityDetailInfo_proto_init() {
+ if File_UgcActivityDetailInfo_proto != nil {
+ return
+ }
+ file_OfficialCustomDungeon_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_UgcActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UgcActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UgcActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UgcActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_UgcActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_UgcActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_UgcActivityDetailInfo_proto = out.File
+ file_UgcActivityDetailInfo_proto_rawDesc = nil
+ file_UgcActivityDetailInfo_proto_goTypes = nil
+ file_UgcActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UgcMusicBriefInfo.pb.go b/protocol/proto/UgcMusicBriefInfo.pb.go
new file mode 100644
index 00000000..4557eb54
--- /dev/null
+++ b/protocol/proto/UgcMusicBriefInfo.pb.go
@@ -0,0 +1,355 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UgcMusicBriefInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UgcMusicBriefInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ImportFromUgcGuid uint64 `protobuf:"varint,5,opt,name=import_from_ugc_guid,json=importFromUgcGuid,proto3" json:"import_from_ugc_guid,omitempty"`
+ IsPublished bool `protobuf:"varint,8,opt,name=is_published,json=isPublished,proto3" json:"is_published,omitempty"`
+ IsPlayed bool `protobuf:"varint,1,opt,name=is_played,json=isPlayed,proto3" json:"is_played,omitempty"`
+ MusicId uint32 `protobuf:"varint,2,opt,name=music_id,json=musicId,proto3" json:"music_id,omitempty"`
+ SavePageType uint32 `protobuf:"varint,1182,opt,name=save_page_type,json=savePageType,proto3" json:"save_page_type,omitempty"`
+ SaveIdx uint32 `protobuf:"varint,12,opt,name=save_idx,json=saveIdx,proto3" json:"save_idx,omitempty"`
+ CreatorNickname string `protobuf:"bytes,10,opt,name=creator_nickname,json=creatorNickname,proto3" json:"creator_nickname,omitempty"`
+ Version uint32 `protobuf:"varint,15,opt,name=version,proto3" json:"version,omitempty"`
+ SaveTime uint32 `protobuf:"varint,3,opt,name=save_time,json=saveTime,proto3" json:"save_time,omitempty"`
+ AfterNoteList []uint32 `protobuf:"varint,1002,rep,packed,name=after_note_list,json=afterNoteList,proto3" json:"after_note_list,omitempty"`
+ BeforeNoteList []uint32 `protobuf:"varint,982,rep,packed,name=before_note_list,json=beforeNoteList,proto3" json:"before_note_list,omitempty"`
+ IsPsnPlatform bool `protobuf:"varint,9,opt,name=is_psn_platform,json=isPsnPlatform,proto3" json:"is_psn_platform,omitempty"`
+ TimeLineEditTime uint32 `protobuf:"varint,1822,opt,name=time_line_edit_time,json=timeLineEditTime,proto3" json:"time_line_edit_time,omitempty"`
+ IsChangedAfterPublish bool `protobuf:"varint,11,opt,name=is_changed_after_publish,json=isChangedAfterPublish,proto3" json:"is_changed_after_publish,omitempty"`
+ PublishTime uint32 `protobuf:"varint,13,opt,name=publish_time,json=publishTime,proto3" json:"publish_time,omitempty"`
+ MaxScore uint32 `protobuf:"varint,14,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+ RealTimeEditTime uint32 `protobuf:"varint,576,opt,name=real_time_edit_time,json=realTimeEditTime,proto3" json:"real_time_edit_time,omitempty"`
+ NoteCount uint32 `protobuf:"varint,7,opt,name=note_count,json=noteCount,proto3" json:"note_count,omitempty"`
+ UgcGuid uint64 `protobuf:"varint,4,opt,name=ugc_guid,json=ugcGuid,proto3" json:"ugc_guid,omitempty"`
+ SelfMaxScore uint32 `protobuf:"varint,6,opt,name=self_max_score,json=selfMaxScore,proto3" json:"self_max_score,omitempty"`
+}
+
+func (x *UgcMusicBriefInfo) Reset() {
+ *x = UgcMusicBriefInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UgcMusicBriefInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UgcMusicBriefInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UgcMusicBriefInfo) ProtoMessage() {}
+
+func (x *UgcMusicBriefInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_UgcMusicBriefInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UgcMusicBriefInfo.ProtoReflect.Descriptor instead.
+func (*UgcMusicBriefInfo) Descriptor() ([]byte, []int) {
+ return file_UgcMusicBriefInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UgcMusicBriefInfo) GetImportFromUgcGuid() uint64 {
+ if x != nil {
+ return x.ImportFromUgcGuid
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetIsPublished() bool {
+ if x != nil {
+ return x.IsPublished
+ }
+ return false
+}
+
+func (x *UgcMusicBriefInfo) GetIsPlayed() bool {
+ if x != nil {
+ return x.IsPlayed
+ }
+ return false
+}
+
+func (x *UgcMusicBriefInfo) GetMusicId() uint32 {
+ if x != nil {
+ return x.MusicId
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetSavePageType() uint32 {
+ if x != nil {
+ return x.SavePageType
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetSaveIdx() uint32 {
+ if x != nil {
+ return x.SaveIdx
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetCreatorNickname() string {
+ if x != nil {
+ return x.CreatorNickname
+ }
+ return ""
+}
+
+func (x *UgcMusicBriefInfo) GetVersion() uint32 {
+ if x != nil {
+ return x.Version
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetSaveTime() uint32 {
+ if x != nil {
+ return x.SaveTime
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetAfterNoteList() []uint32 {
+ if x != nil {
+ return x.AfterNoteList
+ }
+ return nil
+}
+
+func (x *UgcMusicBriefInfo) GetBeforeNoteList() []uint32 {
+ if x != nil {
+ return x.BeforeNoteList
+ }
+ return nil
+}
+
+func (x *UgcMusicBriefInfo) GetIsPsnPlatform() bool {
+ if x != nil {
+ return x.IsPsnPlatform
+ }
+ return false
+}
+
+func (x *UgcMusicBriefInfo) GetTimeLineEditTime() uint32 {
+ if x != nil {
+ return x.TimeLineEditTime
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetIsChangedAfterPublish() bool {
+ if x != nil {
+ return x.IsChangedAfterPublish
+ }
+ return false
+}
+
+func (x *UgcMusicBriefInfo) GetPublishTime() uint32 {
+ if x != nil {
+ return x.PublishTime
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetRealTimeEditTime() uint32 {
+ if x != nil {
+ return x.RealTimeEditTime
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetNoteCount() uint32 {
+ if x != nil {
+ return x.NoteCount
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetUgcGuid() uint64 {
+ if x != nil {
+ return x.UgcGuid
+ }
+ return 0
+}
+
+func (x *UgcMusicBriefInfo) GetSelfMaxScore() uint32 {
+ if x != nil {
+ return x.SelfMaxScore
+ }
+ return 0
+}
+
+var File_UgcMusicBriefInfo_proto protoreflect.FileDescriptor
+
+var file_UgcMusicBriefInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xf8, 0x05, 0x0a, 0x11, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x42, 0x72, 0x69,
+ 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
+ 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x75, 0x67, 0x63, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d,
+ 0x55, 0x67, 0x63, 0x47, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x75,
+ 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
+ 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73,
+ 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69,
+ 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x75, 0x73, 0x69, 0x63,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x75, 0x73, 0x69, 0x63,
+ 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x9e, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x61, 0x76,
+ 0x65, 0x50, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x61, 0x76,
+ 0x65, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x61, 0x76,
+ 0x65, 0x49, 0x64, 0x78, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f,
+ 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
+ 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x76,
+ 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x61,
+ 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f,
+ 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xea, 0x07, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0d, 0x61, 0x66, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x29, 0x0a, 0x10, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0xd6, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x62, 0x65, 0x66, 0x6f,
+ 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73,
+ 0x5f, 0x70, 0x73, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x73, 0x6e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f,
+ 0x72, 0x6d, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
+ 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x9e, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x45, 0x64, 0x69, 0x74, 0x54, 0x69,
+ 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
+ 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x41,
+ 0x66, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x70,
+ 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x72,
+ 0x65, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0xc0, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x61, 0x6c, 0x54,
+ 0x69, 0x6d, 0x65, 0x45, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6e,
+ 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x67,
+ 0x63, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x67,
+ 0x63, 0x47, 0x75, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6d, 0x61,
+ 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73,
+ 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UgcMusicBriefInfo_proto_rawDescOnce sync.Once
+ file_UgcMusicBriefInfo_proto_rawDescData = file_UgcMusicBriefInfo_proto_rawDesc
+)
+
+func file_UgcMusicBriefInfo_proto_rawDescGZIP() []byte {
+ file_UgcMusicBriefInfo_proto_rawDescOnce.Do(func() {
+ file_UgcMusicBriefInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_UgcMusicBriefInfo_proto_rawDescData)
+ })
+ return file_UgcMusicBriefInfo_proto_rawDescData
+}
+
+var file_UgcMusicBriefInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UgcMusicBriefInfo_proto_goTypes = []interface{}{
+ (*UgcMusicBriefInfo)(nil), // 0: proto.UgcMusicBriefInfo
+}
+var file_UgcMusicBriefInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UgcMusicBriefInfo_proto_init() }
+func file_UgcMusicBriefInfo_proto_init() {
+ if File_UgcMusicBriefInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UgcMusicBriefInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UgcMusicBriefInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UgcMusicBriefInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UgcMusicBriefInfo_proto_goTypes,
+ DependencyIndexes: file_UgcMusicBriefInfo_proto_depIdxs,
+ MessageInfos: file_UgcMusicBriefInfo_proto_msgTypes,
+ }.Build()
+ File_UgcMusicBriefInfo_proto = out.File
+ file_UgcMusicBriefInfo_proto_rawDesc = nil
+ file_UgcMusicBriefInfo_proto_goTypes = nil
+ file_UgcMusicBriefInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UgcMusicNote.pb.go b/protocol/proto/UgcMusicNote.pb.go
new file mode 100644
index 00000000..48855d7a
--- /dev/null
+++ b/protocol/proto/UgcMusicNote.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UgcMusicNote.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UgcMusicNote struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StartTime uint32 `protobuf:"varint,12,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ EndTime uint32 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+}
+
+func (x *UgcMusicNote) Reset() {
+ *x = UgcMusicNote{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UgcMusicNote_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UgcMusicNote) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UgcMusicNote) ProtoMessage() {}
+
+func (x *UgcMusicNote) ProtoReflect() protoreflect.Message {
+ mi := &file_UgcMusicNote_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UgcMusicNote.ProtoReflect.Descriptor instead.
+func (*UgcMusicNote) Descriptor() ([]byte, []int) {
+ return file_UgcMusicNote_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UgcMusicNote) GetStartTime() uint32 {
+ if x != nil {
+ return x.StartTime
+ }
+ return 0
+}
+
+func (x *UgcMusicNote) GetEndTime() uint32 {
+ if x != nil {
+ return x.EndTime
+ }
+ return 0
+}
+
+var File_UgcMusicNote_proto protoreflect.FileDescriptor
+
+var file_UgcMusicNote_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x0c, 0x55,
+ 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e,
+ 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x65, 0x6e,
+ 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UgcMusicNote_proto_rawDescOnce sync.Once
+ file_UgcMusicNote_proto_rawDescData = file_UgcMusicNote_proto_rawDesc
+)
+
+func file_UgcMusicNote_proto_rawDescGZIP() []byte {
+ file_UgcMusicNote_proto_rawDescOnce.Do(func() {
+ file_UgcMusicNote_proto_rawDescData = protoimpl.X.CompressGZIP(file_UgcMusicNote_proto_rawDescData)
+ })
+ return file_UgcMusicNote_proto_rawDescData
+}
+
+var file_UgcMusicNote_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UgcMusicNote_proto_goTypes = []interface{}{
+ (*UgcMusicNote)(nil), // 0: proto.UgcMusicNote
+}
+var file_UgcMusicNote_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UgcMusicNote_proto_init() }
+func file_UgcMusicNote_proto_init() {
+ if File_UgcMusicNote_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UgcMusicNote_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UgcMusicNote); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UgcMusicNote_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UgcMusicNote_proto_goTypes,
+ DependencyIndexes: file_UgcMusicNote_proto_depIdxs,
+ MessageInfos: file_UgcMusicNote_proto_msgTypes,
+ }.Build()
+ File_UgcMusicNote_proto = out.File
+ file_UgcMusicNote_proto_rawDesc = nil
+ file_UgcMusicNote_proto_goTypes = nil
+ file_UgcMusicNote_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UgcMusicRecord.pb.go b/protocol/proto/UgcMusicRecord.pb.go
new file mode 100644
index 00000000..12d33206
--- /dev/null
+++ b/protocol/proto/UgcMusicRecord.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UgcMusicRecord.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UgcMusicRecord struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MusicTrackList []*UgcMusicTrack `protobuf:"bytes,4,rep,name=music_track_list,json=musicTrackList,proto3" json:"music_track_list,omitempty"`
+ MusicId uint32 `protobuf:"varint,13,opt,name=music_id,json=musicId,proto3" json:"music_id,omitempty"`
+}
+
+func (x *UgcMusicRecord) Reset() {
+ *x = UgcMusicRecord{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UgcMusicRecord_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UgcMusicRecord) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UgcMusicRecord) ProtoMessage() {}
+
+func (x *UgcMusicRecord) ProtoReflect() protoreflect.Message {
+ mi := &file_UgcMusicRecord_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UgcMusicRecord.ProtoReflect.Descriptor instead.
+func (*UgcMusicRecord) Descriptor() ([]byte, []int) {
+ return file_UgcMusicRecord_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UgcMusicRecord) GetMusicTrackList() []*UgcMusicTrack {
+ if x != nil {
+ return x.MusicTrackList
+ }
+ return nil
+}
+
+func (x *UgcMusicRecord) GetMusicId() uint32 {
+ if x != nil {
+ return x.MusicId
+ }
+ return 0
+}
+
+var File_UgcMusicRecord_proto protoreflect.FileDescriptor
+
+var file_UgcMusicRecord_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x55,
+ 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x0e, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x52, 0x65,
+ 0x63, 0x6f, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x10, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x74, 0x72,
+ 0x61, 0x63, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x54,
+ 0x72, 0x61, 0x63, 0x6b, 0x52, 0x0e, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x54, 0x72, 0x61, 0x63, 0x6b,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UgcMusicRecord_proto_rawDescOnce sync.Once
+ file_UgcMusicRecord_proto_rawDescData = file_UgcMusicRecord_proto_rawDesc
+)
+
+func file_UgcMusicRecord_proto_rawDescGZIP() []byte {
+ file_UgcMusicRecord_proto_rawDescOnce.Do(func() {
+ file_UgcMusicRecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_UgcMusicRecord_proto_rawDescData)
+ })
+ return file_UgcMusicRecord_proto_rawDescData
+}
+
+var file_UgcMusicRecord_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UgcMusicRecord_proto_goTypes = []interface{}{
+ (*UgcMusicRecord)(nil), // 0: proto.UgcMusicRecord
+ (*UgcMusicTrack)(nil), // 1: proto.UgcMusicTrack
+}
+var file_UgcMusicRecord_proto_depIdxs = []int32{
+ 1, // 0: proto.UgcMusicRecord.music_track_list:type_name -> proto.UgcMusicTrack
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_UgcMusicRecord_proto_init() }
+func file_UgcMusicRecord_proto_init() {
+ if File_UgcMusicRecord_proto != nil {
+ return
+ }
+ file_UgcMusicTrack_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_UgcMusicRecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UgcMusicRecord); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UgcMusicRecord_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UgcMusicRecord_proto_goTypes,
+ DependencyIndexes: file_UgcMusicRecord_proto_depIdxs,
+ MessageInfos: file_UgcMusicRecord_proto_msgTypes,
+ }.Build()
+ File_UgcMusicRecord_proto = out.File
+ file_UgcMusicRecord_proto_rawDesc = nil
+ file_UgcMusicRecord_proto_goTypes = nil
+ file_UgcMusicRecord_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UgcMusicTrack.pb.go b/protocol/proto/UgcMusicTrack.pb.go
new file mode 100644
index 00000000..ef97ea82
--- /dev/null
+++ b/protocol/proto/UgcMusicTrack.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UgcMusicTrack.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UgcMusicTrack struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MusicNoteList []*UgcMusicNote `protobuf:"bytes,6,rep,name=music_note_list,json=musicNoteList,proto3" json:"music_note_list,omitempty"`
+}
+
+func (x *UgcMusicTrack) Reset() {
+ *x = UgcMusicTrack{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UgcMusicTrack_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UgcMusicTrack) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UgcMusicTrack) ProtoMessage() {}
+
+func (x *UgcMusicTrack) ProtoReflect() protoreflect.Message {
+ mi := &file_UgcMusicTrack_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UgcMusicTrack.ProtoReflect.Descriptor instead.
+func (*UgcMusicTrack) Descriptor() ([]byte, []int) {
+ return file_UgcMusicTrack_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UgcMusicTrack) GetMusicNoteList() []*UgcMusicNote {
+ if x != nil {
+ return x.MusicNoteList
+ }
+ return nil
+}
+
+var File_UgcMusicTrack_proto protoreflect.FileDescriptor
+
+var file_UgcMusicTrack_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x55, 0x67,
+ 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x4c, 0x0a, 0x0d, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x54, 0x72, 0x61, 0x63,
+ 0x6b, 0x12, 0x3b, 0x0a, 0x0f, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x55, 0x67, 0x63, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x52,
+ 0x0d, 0x6d, 0x75, 0x73, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_UgcMusicTrack_proto_rawDescOnce sync.Once
+ file_UgcMusicTrack_proto_rawDescData = file_UgcMusicTrack_proto_rawDesc
+)
+
+func file_UgcMusicTrack_proto_rawDescGZIP() []byte {
+ file_UgcMusicTrack_proto_rawDescOnce.Do(func() {
+ file_UgcMusicTrack_proto_rawDescData = protoimpl.X.CompressGZIP(file_UgcMusicTrack_proto_rawDescData)
+ })
+ return file_UgcMusicTrack_proto_rawDescData
+}
+
+var file_UgcMusicTrack_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UgcMusicTrack_proto_goTypes = []interface{}{
+ (*UgcMusicTrack)(nil), // 0: proto.UgcMusicTrack
+ (*UgcMusicNote)(nil), // 1: proto.UgcMusicNote
+}
+var file_UgcMusicTrack_proto_depIdxs = []int32{
+ 1, // 0: proto.UgcMusicTrack.music_note_list:type_name -> proto.UgcMusicNote
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_UgcMusicTrack_proto_init() }
+func file_UgcMusicTrack_proto_init() {
+ if File_UgcMusicTrack_proto != nil {
+ return
+ }
+ file_UgcMusicNote_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_UgcMusicTrack_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UgcMusicTrack); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UgcMusicTrack_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UgcMusicTrack_proto_goTypes,
+ DependencyIndexes: file_UgcMusicTrack_proto_depIdxs,
+ MessageInfos: file_UgcMusicTrack_proto_msgTypes,
+ }.Build()
+ File_UgcMusicTrack_proto = out.File
+ file_UgcMusicTrack_proto_rawDesc = nil
+ file_UgcMusicTrack_proto_goTypes = nil
+ file_UgcMusicTrack_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UgcNotify.pb.go b/protocol/proto/UgcNotify.pb.go
new file mode 100644
index 00000000..c3850009
--- /dev/null
+++ b/protocol/proto/UgcNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UgcNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6341
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UgcNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsUgcPublishBan bool `protobuf:"varint,12,opt,name=is_ugc_publish_ban,json=isUgcPublishBan,proto3" json:"is_ugc_publish_ban,omitempty"`
+ IsUgcPublishFeatureClosed bool `protobuf:"varint,8,opt,name=is_ugc_publish_feature_closed,json=isUgcPublishFeatureClosed,proto3" json:"is_ugc_publish_feature_closed,omitempty"`
+ IsUgcFeatureClosed bool `protobuf:"varint,15,opt,name=is_ugc_feature_closed,json=isUgcFeatureClosed,proto3" json:"is_ugc_feature_closed,omitempty"`
+}
+
+func (x *UgcNotify) Reset() {
+ *x = UgcNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UgcNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UgcNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UgcNotify) ProtoMessage() {}
+
+func (x *UgcNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UgcNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UgcNotify.ProtoReflect.Descriptor instead.
+func (*UgcNotify) Descriptor() ([]byte, []int) {
+ return file_UgcNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UgcNotify) GetIsUgcPublishBan() bool {
+ if x != nil {
+ return x.IsUgcPublishBan
+ }
+ return false
+}
+
+func (x *UgcNotify) GetIsUgcPublishFeatureClosed() bool {
+ if x != nil {
+ return x.IsUgcPublishFeatureClosed
+ }
+ return false
+}
+
+func (x *UgcNotify) GetIsUgcFeatureClosed() bool {
+ if x != nil {
+ return x.IsUgcFeatureClosed
+ }
+ return false
+}
+
+var File_UgcNotify_proto protoreflect.FileDescriptor
+
+var file_UgcNotify_proto_rawDesc = []byte{
+ 0x0a, 0x0f, 0x55, 0x67, 0x63, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x01, 0x0a, 0x09, 0x55, 0x67, 0x63,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x75, 0x67, 0x63,
+ 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x62, 0x61, 0x6e, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x55, 0x67, 0x63, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68,
+ 0x42, 0x61, 0x6e, 0x12, 0x40, 0x0a, 0x1d, 0x69, 0x73, 0x5f, 0x75, 0x67, 0x63, 0x5f, 0x70, 0x75,
+ 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6c,
+ 0x6f, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x69, 0x73, 0x55, 0x67,
+ 0x63, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x43,
+ 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x75, 0x67, 0x63, 0x5f,
+ 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x55, 0x67, 0x63, 0x46, 0x65, 0x61, 0x74, 0x75,
+ 0x72, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UgcNotify_proto_rawDescOnce sync.Once
+ file_UgcNotify_proto_rawDescData = file_UgcNotify_proto_rawDesc
+)
+
+func file_UgcNotify_proto_rawDescGZIP() []byte {
+ file_UgcNotify_proto_rawDescOnce.Do(func() {
+ file_UgcNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UgcNotify_proto_rawDescData)
+ })
+ return file_UgcNotify_proto_rawDescData
+}
+
+var file_UgcNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UgcNotify_proto_goTypes = []interface{}{
+ (*UgcNotify)(nil), // 0: proto.UgcNotify
+}
+var file_UgcNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UgcNotify_proto_init() }
+func file_UgcNotify_proto_init() {
+ if File_UgcNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UgcNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UgcNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UgcNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UgcNotify_proto_goTypes,
+ DependencyIndexes: file_UgcNotify_proto_depIdxs,
+ MessageInfos: file_UgcNotify_proto_msgTypes,
+ }.Build()
+ File_UgcNotify_proto = out.File
+ file_UgcNotify_proto_rawDesc = nil
+ file_UgcNotify_proto_goTypes = nil
+ file_UgcNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UgcType.pb.go b/protocol/proto/UgcType.pb.go
new file mode 100644
index 00000000..a8f56cdb
--- /dev/null
+++ b/protocol/proto/UgcType.pb.go
@@ -0,0 +1,144 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UgcType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UgcType int32
+
+const (
+ UgcType_UGC_TYPE_NONE UgcType = 0
+ UgcType_UGC_TYPE_MUSIC_GAME UgcType = 1
+)
+
+// Enum value maps for UgcType.
+var (
+ UgcType_name = map[int32]string{
+ 0: "UGC_TYPE_NONE",
+ 1: "UGC_TYPE_MUSIC_GAME",
+ }
+ UgcType_value = map[string]int32{
+ "UGC_TYPE_NONE": 0,
+ "UGC_TYPE_MUSIC_GAME": 1,
+ }
+)
+
+func (x UgcType) Enum() *UgcType {
+ p := new(UgcType)
+ *p = x
+ return p
+}
+
+func (x UgcType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (UgcType) Descriptor() protoreflect.EnumDescriptor {
+ return file_UgcType_proto_enumTypes[0].Descriptor()
+}
+
+func (UgcType) Type() protoreflect.EnumType {
+ return &file_UgcType_proto_enumTypes[0]
+}
+
+func (x UgcType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use UgcType.Descriptor instead.
+func (UgcType) EnumDescriptor() ([]byte, []int) {
+ return file_UgcType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_UgcType_proto protoreflect.FileDescriptor
+
+var file_UgcType_proto_rawDesc = []byte{
+ 0x0a, 0x0d, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x35, 0x0a, 0x07, 0x55, 0x67, 0x63, 0x54, 0x79, 0x70,
+ 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x47, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x47, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4d, 0x55, 0x53, 0x49, 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_UgcType_proto_rawDescOnce sync.Once
+ file_UgcType_proto_rawDescData = file_UgcType_proto_rawDesc
+)
+
+func file_UgcType_proto_rawDescGZIP() []byte {
+ file_UgcType_proto_rawDescOnce.Do(func() {
+ file_UgcType_proto_rawDescData = protoimpl.X.CompressGZIP(file_UgcType_proto_rawDescData)
+ })
+ return file_UgcType_proto_rawDescData
+}
+
+var file_UgcType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_UgcType_proto_goTypes = []interface{}{
+ (UgcType)(0), // 0: proto.UgcType
+}
+var file_UgcType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UgcType_proto_init() }
+func file_UgcType_proto_init() {
+ if File_UgcType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UgcType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UgcType_proto_goTypes,
+ DependencyIndexes: file_UgcType_proto_depIdxs,
+ EnumInfos: file_UgcType_proto_enumTypes,
+ }.Build()
+ File_UgcType_proto = out.File
+ file_UgcType_proto_rawDesc = nil
+ file_UgcType_proto_goTypes = nil
+ file_UgcType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Uint32Pair.pb.go b/protocol/proto/Uint32Pair.pb.go
new file mode 100644
index 00000000..7b557a36
--- /dev/null
+++ b/protocol/proto/Uint32Pair.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Uint32Pair.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Uint32Pair struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Key uint32 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
+ Value uint32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
+}
+
+func (x *Uint32Pair) Reset() {
+ *x = Uint32Pair{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Uint32Pair_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Uint32Pair) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Uint32Pair) ProtoMessage() {}
+
+func (x *Uint32Pair) ProtoReflect() protoreflect.Message {
+ mi := &file_Uint32Pair_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Uint32Pair.ProtoReflect.Descriptor instead.
+func (*Uint32Pair) Descriptor() ([]byte, []int) {
+ return file_Uint32Pair_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Uint32Pair) GetKey() uint32 {
+ if x != nil {
+ return x.Key
+ }
+ return 0
+}
+
+func (x *Uint32Pair) GetValue() uint32 {
+ if x != nil {
+ return x.Value
+ }
+ return 0
+}
+
+var File_Uint32Pair_proto protoreflect.FileDescriptor
+
+var file_Uint32Pair_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x0a, 0x55, 0x69, 0x6e,
+ 0x74, 0x33, 0x32, 0x50, 0x61, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Uint32Pair_proto_rawDescOnce sync.Once
+ file_Uint32Pair_proto_rawDescData = file_Uint32Pair_proto_rawDesc
+)
+
+func file_Uint32Pair_proto_rawDescGZIP() []byte {
+ file_Uint32Pair_proto_rawDescOnce.Do(func() {
+ file_Uint32Pair_proto_rawDescData = protoimpl.X.CompressGZIP(file_Uint32Pair_proto_rawDescData)
+ })
+ return file_Uint32Pair_proto_rawDescData
+}
+
+var file_Uint32Pair_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Uint32Pair_proto_goTypes = []interface{}{
+ (*Uint32Pair)(nil), // 0: proto.Uint32Pair
+}
+var file_Uint32Pair_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_Uint32Pair_proto_init() }
+func file_Uint32Pair_proto_init() {
+ if File_Uint32Pair_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Uint32Pair_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Uint32Pair); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Uint32Pair_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Uint32Pair_proto_goTypes,
+ DependencyIndexes: file_Uint32Pair_proto_depIdxs,
+ MessageInfos: file_Uint32Pair_proto_msgTypes,
+ }.Build()
+ File_Uint32Pair_proto = out.File
+ file_Uint32Pair_proto_rawDesc = nil
+ file_Uint32Pair_proto_goTypes = nil
+ file_Uint32Pair_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnfreezeGroupLimitNotify.pb.go b/protocol/proto/UnfreezeGroupLimitNotify.pb.go
new file mode 100644
index 00000000..c76447ac
--- /dev/null
+++ b/protocol/proto/UnfreezeGroupLimitNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnfreezeGroupLimitNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3220
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UnfreezeGroupLimitNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,9,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,11,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *UnfreezeGroupLimitNotify) Reset() {
+ *x = UnfreezeGroupLimitNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnfreezeGroupLimitNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnfreezeGroupLimitNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnfreezeGroupLimitNotify) ProtoMessage() {}
+
+func (x *UnfreezeGroupLimitNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UnfreezeGroupLimitNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnfreezeGroupLimitNotify.ProtoReflect.Descriptor instead.
+func (*UnfreezeGroupLimitNotify) Descriptor() ([]byte, []int) {
+ return file_UnfreezeGroupLimitNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnfreezeGroupLimitNotify) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *UnfreezeGroupLimitNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_UnfreezeGroupLimitNotify_proto protoreflect.FileDescriptor
+
+var file_UnfreezeGroupLimitNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x55, 0x6e, 0x66, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c,
+ 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x18, 0x55, 0x6e, 0x66, 0x72, 0x65,
+ 0x65, 0x7a, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnfreezeGroupLimitNotify_proto_rawDescOnce sync.Once
+ file_UnfreezeGroupLimitNotify_proto_rawDescData = file_UnfreezeGroupLimitNotify_proto_rawDesc
+)
+
+func file_UnfreezeGroupLimitNotify_proto_rawDescGZIP() []byte {
+ file_UnfreezeGroupLimitNotify_proto_rawDescOnce.Do(func() {
+ file_UnfreezeGroupLimitNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnfreezeGroupLimitNotify_proto_rawDescData)
+ })
+ return file_UnfreezeGroupLimitNotify_proto_rawDescData
+}
+
+var file_UnfreezeGroupLimitNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnfreezeGroupLimitNotify_proto_goTypes = []interface{}{
+ (*UnfreezeGroupLimitNotify)(nil), // 0: proto.UnfreezeGroupLimitNotify
+}
+var file_UnfreezeGroupLimitNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnfreezeGroupLimitNotify_proto_init() }
+func file_UnfreezeGroupLimitNotify_proto_init() {
+ if File_UnfreezeGroupLimitNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnfreezeGroupLimitNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnfreezeGroupLimitNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnfreezeGroupLimitNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnfreezeGroupLimitNotify_proto_goTypes,
+ DependencyIndexes: file_UnfreezeGroupLimitNotify_proto_depIdxs,
+ MessageInfos: file_UnfreezeGroupLimitNotify_proto_msgTypes,
+ }.Build()
+ File_UnfreezeGroupLimitNotify_proto = out.File
+ file_UnfreezeGroupLimitNotify_proto_rawDesc = nil
+ file_UnfreezeGroupLimitNotify_proto_goTypes = nil
+ file_UnfreezeGroupLimitNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnionCmd.pb.go b/protocol/proto/UnionCmd.pb.go
new file mode 100644
index 00000000..25510e29
--- /dev/null
+++ b/protocol/proto/UnionCmd.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnionCmd.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UnionCmd struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Body []byte `protobuf:"bytes,14,opt,name=body,proto3" json:"body,omitempty"`
+ MessageId uint32 `protobuf:"varint,8,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"`
+}
+
+func (x *UnionCmd) Reset() {
+ *x = UnionCmd{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnionCmd_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnionCmd) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnionCmd) ProtoMessage() {}
+
+func (x *UnionCmd) ProtoReflect() protoreflect.Message {
+ mi := &file_UnionCmd_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnionCmd.ProtoReflect.Descriptor instead.
+func (*UnionCmd) Descriptor() ([]byte, []int) {
+ return file_UnionCmd_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnionCmd) GetBody() []byte {
+ if x != nil {
+ return x.Body
+ }
+ return nil
+}
+
+func (x *UnionCmd) GetMessageId() uint32 {
+ if x != nil {
+ return x.MessageId
+ }
+ return 0
+}
+
+var File_UnionCmd_proto protoreflect.FileDescriptor
+
+var file_UnionCmd_proto_rawDesc = []byte{
+ 0x0a, 0x0e, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3d, 0x0a, 0x08, 0x55, 0x6e, 0x69, 0x6f, 0x6e,
+ 0x43, 0x6d, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x65, 0x73,
+ 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnionCmd_proto_rawDescOnce sync.Once
+ file_UnionCmd_proto_rawDescData = file_UnionCmd_proto_rawDesc
+)
+
+func file_UnionCmd_proto_rawDescGZIP() []byte {
+ file_UnionCmd_proto_rawDescOnce.Do(func() {
+ file_UnionCmd_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnionCmd_proto_rawDescData)
+ })
+ return file_UnionCmd_proto_rawDescData
+}
+
+var file_UnionCmd_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnionCmd_proto_goTypes = []interface{}{
+ (*UnionCmd)(nil), // 0: proto.UnionCmd
+}
+var file_UnionCmd_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnionCmd_proto_init() }
+func file_UnionCmd_proto_init() {
+ if File_UnionCmd_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnionCmd_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnionCmd); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnionCmd_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnionCmd_proto_goTypes,
+ DependencyIndexes: file_UnionCmd_proto_depIdxs,
+ MessageInfos: file_UnionCmd_proto_msgTypes,
+ }.Build()
+ File_UnionCmd_proto = out.File
+ file_UnionCmd_proto_rawDesc = nil
+ file_UnionCmd_proto_goTypes = nil
+ file_UnionCmd_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnionCmdNotify.pb.go b/protocol/proto/UnionCmdNotify.pb.go
new file mode 100644
index 00000000..3f4134da
--- /dev/null
+++ b/protocol/proto/UnionCmdNotify.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnionCmdNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UnionCmdNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CmdList []*UnionCmd `protobuf:"bytes,1,rep,name=cmd_list,json=cmdList,proto3" json:"cmd_list,omitempty"`
+}
+
+func (x *UnionCmdNotify) Reset() {
+ *x = UnionCmdNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnionCmdNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnionCmdNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnionCmdNotify) ProtoMessage() {}
+
+func (x *UnionCmdNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UnionCmdNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnionCmdNotify.ProtoReflect.Descriptor instead.
+func (*UnionCmdNotify) Descriptor() ([]byte, []int) {
+ return file_UnionCmdNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnionCmdNotify) GetCmdList() []*UnionCmd {
+ if x != nil {
+ return x.CmdList
+ }
+ return nil
+}
+
+var File_UnionCmdNotify_proto protoreflect.FileDescriptor
+
+var file_UnionCmdNotify_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x55,
+ 0x6e, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a,
+ 0x0e, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x2a, 0x0a, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x43,
+ 0x6d, 0x64, 0x52, 0x07, 0x63, 0x6d, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnionCmdNotify_proto_rawDescOnce sync.Once
+ file_UnionCmdNotify_proto_rawDescData = file_UnionCmdNotify_proto_rawDesc
+)
+
+func file_UnionCmdNotify_proto_rawDescGZIP() []byte {
+ file_UnionCmdNotify_proto_rawDescOnce.Do(func() {
+ file_UnionCmdNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnionCmdNotify_proto_rawDescData)
+ })
+ return file_UnionCmdNotify_proto_rawDescData
+}
+
+var file_UnionCmdNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnionCmdNotify_proto_goTypes = []interface{}{
+ (*UnionCmdNotify)(nil), // 0: proto.UnionCmdNotify
+ (*UnionCmd)(nil), // 1: proto.UnionCmd
+}
+var file_UnionCmdNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.UnionCmdNotify.cmd_list:type_name -> proto.UnionCmd
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_UnionCmdNotify_proto_init() }
+func file_UnionCmdNotify_proto_init() {
+ if File_UnionCmdNotify_proto != nil {
+ return
+ }
+ file_UnionCmd_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_UnionCmdNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnionCmdNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnionCmdNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnionCmdNotify_proto_goTypes,
+ DependencyIndexes: file_UnionCmdNotify_proto_depIdxs,
+ MessageInfos: file_UnionCmdNotify_proto_msgTypes,
+ }.Build()
+ File_UnionCmdNotify_proto = out.File
+ file_UnionCmdNotify_proto_rawDesc = nil
+ file_UnionCmdNotify_proto_goTypes = nil
+ file_UnionCmdNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockAvatarTalentReq.pb.go b/protocol/proto/UnlockAvatarTalentReq.pb.go
new file mode 100644
index 00000000..f78aa20a
--- /dev/null
+++ b/protocol/proto/UnlockAvatarTalentReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockAvatarTalentReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1072
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UnlockAvatarTalentReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TalentId uint32 `protobuf:"varint,13,opt,name=talent_id,json=talentId,proto3" json:"talent_id,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,3,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *UnlockAvatarTalentReq) Reset() {
+ *x = UnlockAvatarTalentReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockAvatarTalentReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockAvatarTalentReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockAvatarTalentReq) ProtoMessage() {}
+
+func (x *UnlockAvatarTalentReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockAvatarTalentReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockAvatarTalentReq.ProtoReflect.Descriptor instead.
+func (*UnlockAvatarTalentReq) Descriptor() ([]byte, []int) {
+ return file_UnlockAvatarTalentReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockAvatarTalentReq) GetTalentId() uint32 {
+ if x != nil {
+ return x.TalentId
+ }
+ return 0
+}
+
+func (x *UnlockAvatarTalentReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_UnlockAvatarTalentReq_proto protoreflect.FileDescriptor
+
+var file_UnlockAvatarTalentReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61,
+ 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x15, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockAvatarTalentReq_proto_rawDescOnce sync.Once
+ file_UnlockAvatarTalentReq_proto_rawDescData = file_UnlockAvatarTalentReq_proto_rawDesc
+)
+
+func file_UnlockAvatarTalentReq_proto_rawDescGZIP() []byte {
+ file_UnlockAvatarTalentReq_proto_rawDescOnce.Do(func() {
+ file_UnlockAvatarTalentReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockAvatarTalentReq_proto_rawDescData)
+ })
+ return file_UnlockAvatarTalentReq_proto_rawDescData
+}
+
+var file_UnlockAvatarTalentReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockAvatarTalentReq_proto_goTypes = []interface{}{
+ (*UnlockAvatarTalentReq)(nil), // 0: proto.UnlockAvatarTalentReq
+}
+var file_UnlockAvatarTalentReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockAvatarTalentReq_proto_init() }
+func file_UnlockAvatarTalentReq_proto_init() {
+ if File_UnlockAvatarTalentReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockAvatarTalentReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockAvatarTalentReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockAvatarTalentReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockAvatarTalentReq_proto_goTypes,
+ DependencyIndexes: file_UnlockAvatarTalentReq_proto_depIdxs,
+ MessageInfos: file_UnlockAvatarTalentReq_proto_msgTypes,
+ }.Build()
+ File_UnlockAvatarTalentReq_proto = out.File
+ file_UnlockAvatarTalentReq_proto_rawDesc = nil
+ file_UnlockAvatarTalentReq_proto_goTypes = nil
+ file_UnlockAvatarTalentReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockAvatarTalentRsp.pb.go b/protocol/proto/UnlockAvatarTalentRsp.pb.go
new file mode 100644
index 00000000..3b4ed1f4
--- /dev/null
+++ b/protocol/proto/UnlockAvatarTalentRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockAvatarTalentRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1098
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UnlockAvatarTalentRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TalentId uint32 `protobuf:"varint,2,opt,name=talent_id,json=talentId,proto3" json:"talent_id,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,10,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *UnlockAvatarTalentRsp) Reset() {
+ *x = UnlockAvatarTalentRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockAvatarTalentRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockAvatarTalentRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockAvatarTalentRsp) ProtoMessage() {}
+
+func (x *UnlockAvatarTalentRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockAvatarTalentRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockAvatarTalentRsp.ProtoReflect.Descriptor instead.
+func (*UnlockAvatarTalentRsp) Descriptor() ([]byte, []int) {
+ return file_UnlockAvatarTalentRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockAvatarTalentRsp) GetTalentId() uint32 {
+ if x != nil {
+ return x.TalentId
+ }
+ return 0
+}
+
+func (x *UnlockAvatarTalentRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UnlockAvatarTalentRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_UnlockAvatarTalentRsp_proto protoreflect.FileDescriptor
+
+var file_UnlockAvatarTalentRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x61,
+ 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x15, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x54, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a,
+ 0x09, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x74, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockAvatarTalentRsp_proto_rawDescOnce sync.Once
+ file_UnlockAvatarTalentRsp_proto_rawDescData = file_UnlockAvatarTalentRsp_proto_rawDesc
+)
+
+func file_UnlockAvatarTalentRsp_proto_rawDescGZIP() []byte {
+ file_UnlockAvatarTalentRsp_proto_rawDescOnce.Do(func() {
+ file_UnlockAvatarTalentRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockAvatarTalentRsp_proto_rawDescData)
+ })
+ return file_UnlockAvatarTalentRsp_proto_rawDescData
+}
+
+var file_UnlockAvatarTalentRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockAvatarTalentRsp_proto_goTypes = []interface{}{
+ (*UnlockAvatarTalentRsp)(nil), // 0: proto.UnlockAvatarTalentRsp
+}
+var file_UnlockAvatarTalentRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockAvatarTalentRsp_proto_init() }
+func file_UnlockAvatarTalentRsp_proto_init() {
+ if File_UnlockAvatarTalentRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockAvatarTalentRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockAvatarTalentRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockAvatarTalentRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockAvatarTalentRsp_proto_goTypes,
+ DependencyIndexes: file_UnlockAvatarTalentRsp_proto_depIdxs,
+ MessageInfos: file_UnlockAvatarTalentRsp_proto_msgTypes,
+ }.Build()
+ File_UnlockAvatarTalentRsp_proto = out.File
+ file_UnlockAvatarTalentRsp_proto_rawDesc = nil
+ file_UnlockAvatarTalentRsp_proto_goTypes = nil
+ file_UnlockAvatarTalentRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockCoopChapterReq.pb.go b/protocol/proto/UnlockCoopChapterReq.pb.go
new file mode 100644
index 00000000..efad9eed
--- /dev/null
+++ b/protocol/proto/UnlockCoopChapterReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockCoopChapterReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1970
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UnlockCoopChapterReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterId uint32 `protobuf:"varint,3,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+}
+
+func (x *UnlockCoopChapterReq) Reset() {
+ *x = UnlockCoopChapterReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockCoopChapterReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockCoopChapterReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockCoopChapterReq) ProtoMessage() {}
+
+func (x *UnlockCoopChapterReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockCoopChapterReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockCoopChapterReq.ProtoReflect.Descriptor instead.
+func (*UnlockCoopChapterReq) Descriptor() ([]byte, []int) {
+ return file_UnlockCoopChapterReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockCoopChapterReq) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+var File_UnlockCoopChapterReq_proto protoreflect.FileDescriptor
+
+var file_UnlockCoopChapterReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x14, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6f,
+ 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
+ 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockCoopChapterReq_proto_rawDescOnce sync.Once
+ file_UnlockCoopChapterReq_proto_rawDescData = file_UnlockCoopChapterReq_proto_rawDesc
+)
+
+func file_UnlockCoopChapterReq_proto_rawDescGZIP() []byte {
+ file_UnlockCoopChapterReq_proto_rawDescOnce.Do(func() {
+ file_UnlockCoopChapterReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockCoopChapterReq_proto_rawDescData)
+ })
+ return file_UnlockCoopChapterReq_proto_rawDescData
+}
+
+var file_UnlockCoopChapterReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockCoopChapterReq_proto_goTypes = []interface{}{
+ (*UnlockCoopChapterReq)(nil), // 0: proto.UnlockCoopChapterReq
+}
+var file_UnlockCoopChapterReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockCoopChapterReq_proto_init() }
+func file_UnlockCoopChapterReq_proto_init() {
+ if File_UnlockCoopChapterReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockCoopChapterReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockCoopChapterReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockCoopChapterReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockCoopChapterReq_proto_goTypes,
+ DependencyIndexes: file_UnlockCoopChapterReq_proto_depIdxs,
+ MessageInfos: file_UnlockCoopChapterReq_proto_msgTypes,
+ }.Build()
+ File_UnlockCoopChapterReq_proto = out.File
+ file_UnlockCoopChapterReq_proto_rawDesc = nil
+ file_UnlockCoopChapterReq_proto_goTypes = nil
+ file_UnlockCoopChapterReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockCoopChapterRsp.pb.go b/protocol/proto/UnlockCoopChapterRsp.pb.go
new file mode 100644
index 00000000..dde60fb3
--- /dev/null
+++ b/protocol/proto/UnlockCoopChapterRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockCoopChapterRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1995
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UnlockCoopChapterRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChapterId uint32 `protobuf:"varint,4,opt,name=chapter_id,json=chapterId,proto3" json:"chapter_id,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *UnlockCoopChapterRsp) Reset() {
+ *x = UnlockCoopChapterRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockCoopChapterRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockCoopChapterRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockCoopChapterRsp) ProtoMessage() {}
+
+func (x *UnlockCoopChapterRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockCoopChapterRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockCoopChapterRsp.ProtoReflect.Descriptor instead.
+func (*UnlockCoopChapterRsp) Descriptor() ([]byte, []int) {
+ return file_UnlockCoopChapterRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockCoopChapterRsp) GetChapterId() uint32 {
+ if x != nil {
+ return x.ChapterId
+ }
+ return 0
+}
+
+func (x *UnlockCoopChapterRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_UnlockCoopChapterRsp_proto protoreflect.FileDescriptor
+
+var file_UnlockCoopChapterRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x70,
+ 0x74, 0x65, 0x72, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4f, 0x0a, 0x14, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x6f,
+ 0x70, 0x43, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
+ 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockCoopChapterRsp_proto_rawDescOnce sync.Once
+ file_UnlockCoopChapterRsp_proto_rawDescData = file_UnlockCoopChapterRsp_proto_rawDesc
+)
+
+func file_UnlockCoopChapterRsp_proto_rawDescGZIP() []byte {
+ file_UnlockCoopChapterRsp_proto_rawDescOnce.Do(func() {
+ file_UnlockCoopChapterRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockCoopChapterRsp_proto_rawDescData)
+ })
+ return file_UnlockCoopChapterRsp_proto_rawDescData
+}
+
+var file_UnlockCoopChapterRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockCoopChapterRsp_proto_goTypes = []interface{}{
+ (*UnlockCoopChapterRsp)(nil), // 0: proto.UnlockCoopChapterRsp
+}
+var file_UnlockCoopChapterRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockCoopChapterRsp_proto_init() }
+func file_UnlockCoopChapterRsp_proto_init() {
+ if File_UnlockCoopChapterRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockCoopChapterRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockCoopChapterRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockCoopChapterRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockCoopChapterRsp_proto_goTypes,
+ DependencyIndexes: file_UnlockCoopChapterRsp_proto_depIdxs,
+ MessageInfos: file_UnlockCoopChapterRsp_proto_msgTypes,
+ }.Build()
+ File_UnlockCoopChapterRsp_proto = out.File
+ file_UnlockCoopChapterRsp_proto_rawDesc = nil
+ file_UnlockCoopChapterRsp_proto_goTypes = nil
+ file_UnlockCoopChapterRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockNameCardNotify.pb.go b/protocol/proto/UnlockNameCardNotify.pb.go
new file mode 100644
index 00000000..d745bf04
--- /dev/null
+++ b/protocol/proto/UnlockNameCardNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockNameCardNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4006
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UnlockNameCardNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NameCardId uint32 `protobuf:"varint,8,opt,name=name_card_id,json=nameCardId,proto3" json:"name_card_id,omitempty"`
+}
+
+func (x *UnlockNameCardNotify) Reset() {
+ *x = UnlockNameCardNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockNameCardNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockNameCardNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockNameCardNotify) ProtoMessage() {}
+
+func (x *UnlockNameCardNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockNameCardNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockNameCardNotify.ProtoReflect.Descriptor instead.
+func (*UnlockNameCardNotify) Descriptor() ([]byte, []int) {
+ return file_UnlockNameCardNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockNameCardNotify) GetNameCardId() uint32 {
+ if x != nil {
+ return x.NameCardId
+ }
+ return 0
+}
+
+var File_UnlockNameCardNotify_proto protoreflect.FileDescriptor
+
+var file_UnlockNameCardNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x14, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x4e, 0x61, 0x6d,
+ 0x65, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x20, 0x0a, 0x0c, 0x6e,
+ 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_UnlockNameCardNotify_proto_rawDescOnce sync.Once
+ file_UnlockNameCardNotify_proto_rawDescData = file_UnlockNameCardNotify_proto_rawDesc
+)
+
+func file_UnlockNameCardNotify_proto_rawDescGZIP() []byte {
+ file_UnlockNameCardNotify_proto_rawDescOnce.Do(func() {
+ file_UnlockNameCardNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockNameCardNotify_proto_rawDescData)
+ })
+ return file_UnlockNameCardNotify_proto_rawDescData
+}
+
+var file_UnlockNameCardNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockNameCardNotify_proto_goTypes = []interface{}{
+ (*UnlockNameCardNotify)(nil), // 0: proto.UnlockNameCardNotify
+}
+var file_UnlockNameCardNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockNameCardNotify_proto_init() }
+func file_UnlockNameCardNotify_proto_init() {
+ if File_UnlockNameCardNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockNameCardNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockNameCardNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockNameCardNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockNameCardNotify_proto_goTypes,
+ DependencyIndexes: file_UnlockNameCardNotify_proto_depIdxs,
+ MessageInfos: file_UnlockNameCardNotify_proto_msgTypes,
+ }.Build()
+ File_UnlockNameCardNotify_proto = out.File
+ file_UnlockNameCardNotify_proto_rawDesc = nil
+ file_UnlockNameCardNotify_proto_goTypes = nil
+ file_UnlockNameCardNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockPersonalLineReq.pb.go b/protocol/proto/UnlockPersonalLineReq.pb.go
new file mode 100644
index 00000000..065464bf
--- /dev/null
+++ b/protocol/proto/UnlockPersonalLineReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockPersonalLineReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 449
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UnlockPersonalLineReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PersonalLineId uint32 `protobuf:"varint,4,opt,name=personal_line_id,json=personalLineId,proto3" json:"personal_line_id,omitempty"`
+}
+
+func (x *UnlockPersonalLineReq) Reset() {
+ *x = UnlockPersonalLineReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockPersonalLineReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockPersonalLineReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockPersonalLineReq) ProtoMessage() {}
+
+func (x *UnlockPersonalLineReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockPersonalLineReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockPersonalLineReq.ProtoReflect.Descriptor instead.
+func (*UnlockPersonalLineReq) Descriptor() ([]byte, []int) {
+ return file_UnlockPersonalLineReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockPersonalLineReq) GetPersonalLineId() uint32 {
+ if x != nil {
+ return x.PersonalLineId
+ }
+ return 0
+}
+
+var File_UnlockPersonalLineReq_proto protoreflect.FileDescriptor
+
+var file_UnlockPersonalLineReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a, 0x15, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x65,
+ 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x12, 0x28, 0x0a,
+ 0x10, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockPersonalLineReq_proto_rawDescOnce sync.Once
+ file_UnlockPersonalLineReq_proto_rawDescData = file_UnlockPersonalLineReq_proto_rawDesc
+)
+
+func file_UnlockPersonalLineReq_proto_rawDescGZIP() []byte {
+ file_UnlockPersonalLineReq_proto_rawDescOnce.Do(func() {
+ file_UnlockPersonalLineReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockPersonalLineReq_proto_rawDescData)
+ })
+ return file_UnlockPersonalLineReq_proto_rawDescData
+}
+
+var file_UnlockPersonalLineReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockPersonalLineReq_proto_goTypes = []interface{}{
+ (*UnlockPersonalLineReq)(nil), // 0: proto.UnlockPersonalLineReq
+}
+var file_UnlockPersonalLineReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockPersonalLineReq_proto_init() }
+func file_UnlockPersonalLineReq_proto_init() {
+ if File_UnlockPersonalLineReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockPersonalLineReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockPersonalLineReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockPersonalLineReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockPersonalLineReq_proto_goTypes,
+ DependencyIndexes: file_UnlockPersonalLineReq_proto_depIdxs,
+ MessageInfos: file_UnlockPersonalLineReq_proto_msgTypes,
+ }.Build()
+ File_UnlockPersonalLineReq_proto = out.File
+ file_UnlockPersonalLineReq_proto_rawDesc = nil
+ file_UnlockPersonalLineReq_proto_goTypes = nil
+ file_UnlockPersonalLineReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockPersonalLineRsp.pb.go b/protocol/proto/UnlockPersonalLineRsp.pb.go
new file mode 100644
index 00000000..a87788b4
--- /dev/null
+++ b/protocol/proto/UnlockPersonalLineRsp.pb.go
@@ -0,0 +1,223 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockPersonalLineRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 491
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UnlockPersonalLineRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PersonalLineId uint32 `protobuf:"varint,10,opt,name=personal_line_id,json=personalLineId,proto3" json:"personal_line_id,omitempty"`
+ // Types that are assignable to Param:
+ //
+ // *UnlockPersonalLineRsp_Level
+ // *UnlockPersonalLineRsp_ChapterId
+ Param isUnlockPersonalLineRsp_Param `protobuf_oneof:"param"`
+}
+
+func (x *UnlockPersonalLineRsp) Reset() {
+ *x = UnlockPersonalLineRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockPersonalLineRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockPersonalLineRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockPersonalLineRsp) ProtoMessage() {}
+
+func (x *UnlockPersonalLineRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockPersonalLineRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockPersonalLineRsp.ProtoReflect.Descriptor instead.
+func (*UnlockPersonalLineRsp) Descriptor() ([]byte, []int) {
+ return file_UnlockPersonalLineRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockPersonalLineRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UnlockPersonalLineRsp) GetPersonalLineId() uint32 {
+ if x != nil {
+ return x.PersonalLineId
+ }
+ return 0
+}
+
+func (m *UnlockPersonalLineRsp) GetParam() isUnlockPersonalLineRsp_Param {
+ if m != nil {
+ return m.Param
+ }
+ return nil
+}
+
+func (x *UnlockPersonalLineRsp) GetLevel() uint32 {
+ if x, ok := x.GetParam().(*UnlockPersonalLineRsp_Level); ok {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *UnlockPersonalLineRsp) GetChapterId() uint32 {
+ if x, ok := x.GetParam().(*UnlockPersonalLineRsp_ChapterId); ok {
+ return x.ChapterId
+ }
+ return 0
+}
+
+type isUnlockPersonalLineRsp_Param interface {
+ isUnlockPersonalLineRsp_Param()
+}
+
+type UnlockPersonalLineRsp_Level struct {
+ Level uint32 `protobuf:"varint,11,opt,name=level,proto3,oneof"`
+}
+
+type UnlockPersonalLineRsp_ChapterId struct {
+ ChapterId uint32 `protobuf:"varint,6,opt,name=chapter_id,json=chapterId,proto3,oneof"`
+}
+
+func (*UnlockPersonalLineRsp_Level) isUnlockPersonalLineRsp_Param() {}
+
+func (*UnlockPersonalLineRsp_ChapterId) isUnlockPersonalLineRsp_Param() {}
+
+var File_UnlockPersonalLineRsp_proto protoreflect.FileDescriptor
+
+var file_UnlockPersonalLineRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x15, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50,
+ 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x73,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x65,
+ 0x49, 0x64, 0x12, 0x16, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x68,
+ 0x61, 0x70, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00,
+ 0x52, 0x09, 0x63, 0x68, 0x61, 0x70, 0x74, 0x65, 0x72, 0x49, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x70,
+ 0x61, 0x72, 0x61, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockPersonalLineRsp_proto_rawDescOnce sync.Once
+ file_UnlockPersonalLineRsp_proto_rawDescData = file_UnlockPersonalLineRsp_proto_rawDesc
+)
+
+func file_UnlockPersonalLineRsp_proto_rawDescGZIP() []byte {
+ file_UnlockPersonalLineRsp_proto_rawDescOnce.Do(func() {
+ file_UnlockPersonalLineRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockPersonalLineRsp_proto_rawDescData)
+ })
+ return file_UnlockPersonalLineRsp_proto_rawDescData
+}
+
+var file_UnlockPersonalLineRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockPersonalLineRsp_proto_goTypes = []interface{}{
+ (*UnlockPersonalLineRsp)(nil), // 0: proto.UnlockPersonalLineRsp
+}
+var file_UnlockPersonalLineRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockPersonalLineRsp_proto_init() }
+func file_UnlockPersonalLineRsp_proto_init() {
+ if File_UnlockPersonalLineRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockPersonalLineRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockPersonalLineRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_UnlockPersonalLineRsp_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*UnlockPersonalLineRsp_Level)(nil),
+ (*UnlockPersonalLineRsp_ChapterId)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockPersonalLineRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockPersonalLineRsp_proto_goTypes,
+ DependencyIndexes: file_UnlockPersonalLineRsp_proto_depIdxs,
+ MessageInfos: file_UnlockPersonalLineRsp_proto_msgTypes,
+ }.Build()
+ File_UnlockPersonalLineRsp_proto = out.File
+ file_UnlockPersonalLineRsp_proto_rawDesc = nil
+ file_UnlockPersonalLineRsp_proto_goTypes = nil
+ file_UnlockPersonalLineRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockTransPointReq.pb.go b/protocol/proto/UnlockTransPointReq.pb.go
new file mode 100644
index 00000000..89a1d7f9
--- /dev/null
+++ b/protocol/proto/UnlockTransPointReq.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockTransPointReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3035
+// EnetChannelId: 1
+// EnetIsReliable: true
+// IsAllowClient: true
+type UnlockTransPointReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PointId uint32 `protobuf:"varint,12,opt,name=point_id,json=pointId,proto3" json:"point_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,10,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+}
+
+func (x *UnlockTransPointReq) Reset() {
+ *x = UnlockTransPointReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockTransPointReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockTransPointReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockTransPointReq) ProtoMessage() {}
+
+func (x *UnlockTransPointReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockTransPointReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockTransPointReq.ProtoReflect.Descriptor instead.
+func (*UnlockTransPointReq) Descriptor() ([]byte, []int) {
+ return file_UnlockTransPointReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockTransPointReq) GetPointId() uint32 {
+ if x != nil {
+ return x.PointId
+ }
+ return 0
+}
+
+func (x *UnlockTransPointReq) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+var File_UnlockTransPointReq_proto protoreflect.FileDescriptor
+
+var file_UnlockTransPointReq_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x4b, 0x0a, 0x13, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x6f, 0x69,
+ 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockTransPointReq_proto_rawDescOnce sync.Once
+ file_UnlockTransPointReq_proto_rawDescData = file_UnlockTransPointReq_proto_rawDesc
+)
+
+func file_UnlockTransPointReq_proto_rawDescGZIP() []byte {
+ file_UnlockTransPointReq_proto_rawDescOnce.Do(func() {
+ file_UnlockTransPointReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockTransPointReq_proto_rawDescData)
+ })
+ return file_UnlockTransPointReq_proto_rawDescData
+}
+
+var file_UnlockTransPointReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockTransPointReq_proto_goTypes = []interface{}{
+ (*UnlockTransPointReq)(nil), // 0: proto.UnlockTransPointReq
+}
+var file_UnlockTransPointReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockTransPointReq_proto_init() }
+func file_UnlockTransPointReq_proto_init() {
+ if File_UnlockTransPointReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockTransPointReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockTransPointReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockTransPointReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockTransPointReq_proto_goTypes,
+ DependencyIndexes: file_UnlockTransPointReq_proto_depIdxs,
+ MessageInfos: file_UnlockTransPointReq_proto_msgTypes,
+ }.Build()
+ File_UnlockTransPointReq_proto = out.File
+ file_UnlockTransPointReq_proto_rawDesc = nil
+ file_UnlockTransPointReq_proto_goTypes = nil
+ file_UnlockTransPointReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockTransPointRsp.pb.go b/protocol/proto/UnlockTransPointRsp.pb.go
new file mode 100644
index 00000000..1288ef4d
--- /dev/null
+++ b/protocol/proto/UnlockTransPointRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockTransPointRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3426
+// EnetChannelId: 1
+// EnetIsReliable: true
+type UnlockTransPointRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *UnlockTransPointRsp) Reset() {
+ *x = UnlockTransPointRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockTransPointRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockTransPointRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockTransPointRsp) ProtoMessage() {}
+
+func (x *UnlockTransPointRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockTransPointRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockTransPointRsp.ProtoReflect.Descriptor instead.
+func (*UnlockTransPointRsp) Descriptor() ([]byte, []int) {
+ return file_UnlockTransPointRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockTransPointRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_UnlockTransPointRsp_proto protoreflect.FileDescriptor
+
+var file_UnlockTransPointRsp_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x50, 0x6f, 0x69,
+ 0x6e, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x13, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockTransPointRsp_proto_rawDescOnce sync.Once
+ file_UnlockTransPointRsp_proto_rawDescData = file_UnlockTransPointRsp_proto_rawDesc
+)
+
+func file_UnlockTransPointRsp_proto_rawDescGZIP() []byte {
+ file_UnlockTransPointRsp_proto_rawDescOnce.Do(func() {
+ file_UnlockTransPointRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockTransPointRsp_proto_rawDescData)
+ })
+ return file_UnlockTransPointRsp_proto_rawDescData
+}
+
+var file_UnlockTransPointRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockTransPointRsp_proto_goTypes = []interface{}{
+ (*UnlockTransPointRsp)(nil), // 0: proto.UnlockTransPointRsp
+}
+var file_UnlockTransPointRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockTransPointRsp_proto_init() }
+func file_UnlockTransPointRsp_proto_init() {
+ if File_UnlockTransPointRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockTransPointRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockTransPointRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockTransPointRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockTransPointRsp_proto_goTypes,
+ DependencyIndexes: file_UnlockTransPointRsp_proto_depIdxs,
+ MessageInfos: file_UnlockTransPointRsp_proto_msgTypes,
+ }.Build()
+ File_UnlockTransPointRsp_proto = out.File
+ file_UnlockTransPointRsp_proto_rawDesc = nil
+ file_UnlockTransPointRsp_proto_goTypes = nil
+ file_UnlockTransPointRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockedFurnitureFormulaDataNotify.pb.go b/protocol/proto/UnlockedFurnitureFormulaDataNotify.pb.go
new file mode 100644
index 00000000..46433017
--- /dev/null
+++ b/protocol/proto/UnlockedFurnitureFormulaDataNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockedFurnitureFormulaDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4846
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UnlockedFurnitureFormulaDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FurnitureIdList []uint32 `protobuf:"varint,15,rep,packed,name=furniture_id_list,json=furnitureIdList,proto3" json:"furniture_id_list,omitempty"`
+ IsAll bool `protobuf:"varint,11,opt,name=is_all,json=isAll,proto3" json:"is_all,omitempty"`
+}
+
+func (x *UnlockedFurnitureFormulaDataNotify) Reset() {
+ *x = UnlockedFurnitureFormulaDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockedFurnitureFormulaDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockedFurnitureFormulaDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockedFurnitureFormulaDataNotify) ProtoMessage() {}
+
+func (x *UnlockedFurnitureFormulaDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockedFurnitureFormulaDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockedFurnitureFormulaDataNotify.ProtoReflect.Descriptor instead.
+func (*UnlockedFurnitureFormulaDataNotify) Descriptor() ([]byte, []int) {
+ return file_UnlockedFurnitureFormulaDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockedFurnitureFormulaDataNotify) GetFurnitureIdList() []uint32 {
+ if x != nil {
+ return x.FurnitureIdList
+ }
+ return nil
+}
+
+func (x *UnlockedFurnitureFormulaDataNotify) GetIsAll() bool {
+ if x != nil {
+ return x.IsAll
+ }
+ return false
+}
+
+var File_UnlockedFurnitureFormulaDataNotify_proto protoreflect.FileDescriptor
+
+var file_UnlockedFurnitureFormulaDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x67, 0x0a, 0x22, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x75, 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockedFurnitureFormulaDataNotify_proto_rawDescOnce sync.Once
+ file_UnlockedFurnitureFormulaDataNotify_proto_rawDescData = file_UnlockedFurnitureFormulaDataNotify_proto_rawDesc
+)
+
+func file_UnlockedFurnitureFormulaDataNotify_proto_rawDescGZIP() []byte {
+ file_UnlockedFurnitureFormulaDataNotify_proto_rawDescOnce.Do(func() {
+ file_UnlockedFurnitureFormulaDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockedFurnitureFormulaDataNotify_proto_rawDescData)
+ })
+ return file_UnlockedFurnitureFormulaDataNotify_proto_rawDescData
+}
+
+var file_UnlockedFurnitureFormulaDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockedFurnitureFormulaDataNotify_proto_goTypes = []interface{}{
+ (*UnlockedFurnitureFormulaDataNotify)(nil), // 0: proto.UnlockedFurnitureFormulaDataNotify
+}
+var file_UnlockedFurnitureFormulaDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockedFurnitureFormulaDataNotify_proto_init() }
+func file_UnlockedFurnitureFormulaDataNotify_proto_init() {
+ if File_UnlockedFurnitureFormulaDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockedFurnitureFormulaDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockedFurnitureFormulaDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockedFurnitureFormulaDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockedFurnitureFormulaDataNotify_proto_goTypes,
+ DependencyIndexes: file_UnlockedFurnitureFormulaDataNotify_proto_depIdxs,
+ MessageInfos: file_UnlockedFurnitureFormulaDataNotify_proto_msgTypes,
+ }.Build()
+ File_UnlockedFurnitureFormulaDataNotify_proto = out.File
+ file_UnlockedFurnitureFormulaDataNotify_proto_rawDesc = nil
+ file_UnlockedFurnitureFormulaDataNotify_proto_goTypes = nil
+ file_UnlockedFurnitureFormulaDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnlockedFurnitureSuiteDataNotify.pb.go b/protocol/proto/UnlockedFurnitureSuiteDataNotify.pb.go
new file mode 100644
index 00000000..3d9bb276
--- /dev/null
+++ b/protocol/proto/UnlockedFurnitureSuiteDataNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnlockedFurnitureSuiteDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4454
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UnlockedFurnitureSuiteDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAll bool `protobuf:"varint,10,opt,name=is_all,json=isAll,proto3" json:"is_all,omitempty"`
+ FurnitureSuiteIdList []uint32 `protobuf:"varint,5,rep,packed,name=furniture_suite_id_list,json=furnitureSuiteIdList,proto3" json:"furniture_suite_id_list,omitempty"`
+}
+
+func (x *UnlockedFurnitureSuiteDataNotify) Reset() {
+ *x = UnlockedFurnitureSuiteDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnlockedFurnitureSuiteDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnlockedFurnitureSuiteDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnlockedFurnitureSuiteDataNotify) ProtoMessage() {}
+
+func (x *UnlockedFurnitureSuiteDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UnlockedFurnitureSuiteDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnlockedFurnitureSuiteDataNotify.ProtoReflect.Descriptor instead.
+func (*UnlockedFurnitureSuiteDataNotify) Descriptor() ([]byte, []int) {
+ return file_UnlockedFurnitureSuiteDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnlockedFurnitureSuiteDataNotify) GetIsAll() bool {
+ if x != nil {
+ return x.IsAll
+ }
+ return false
+}
+
+func (x *UnlockedFurnitureSuiteDataNotify) GetFurnitureSuiteIdList() []uint32 {
+ if x != nil {
+ return x.FurnitureSuiteIdList
+ }
+ return nil
+}
+
+var File_UnlockedFurnitureSuiteDataNotify_proto protoreflect.FileDescriptor
+
+var file_UnlockedFurnitureSuiteDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x75, 0x72, 0x6e, 0x69, 0x74,
+ 0x75, 0x72, 0x65, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x70, 0x0a, 0x20, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x75, 0x72, 0x6e, 0x69,
+ 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x69, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x41, 0x6c, 0x6c, 0x12, 0x35, 0x0a, 0x17, 0x66, 0x75,
+ 0x72, 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x66, 0x75, 0x72,
+ 0x6e, 0x69, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x69, 0x74, 0x65, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnlockedFurnitureSuiteDataNotify_proto_rawDescOnce sync.Once
+ file_UnlockedFurnitureSuiteDataNotify_proto_rawDescData = file_UnlockedFurnitureSuiteDataNotify_proto_rawDesc
+)
+
+func file_UnlockedFurnitureSuiteDataNotify_proto_rawDescGZIP() []byte {
+ file_UnlockedFurnitureSuiteDataNotify_proto_rawDescOnce.Do(func() {
+ file_UnlockedFurnitureSuiteDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnlockedFurnitureSuiteDataNotify_proto_rawDescData)
+ })
+ return file_UnlockedFurnitureSuiteDataNotify_proto_rawDescData
+}
+
+var file_UnlockedFurnitureSuiteDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnlockedFurnitureSuiteDataNotify_proto_goTypes = []interface{}{
+ (*UnlockedFurnitureSuiteDataNotify)(nil), // 0: proto.UnlockedFurnitureSuiteDataNotify
+}
+var file_UnlockedFurnitureSuiteDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnlockedFurnitureSuiteDataNotify_proto_init() }
+func file_UnlockedFurnitureSuiteDataNotify_proto_init() {
+ if File_UnlockedFurnitureSuiteDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnlockedFurnitureSuiteDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnlockedFurnitureSuiteDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnlockedFurnitureSuiteDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnlockedFurnitureSuiteDataNotify_proto_goTypes,
+ DependencyIndexes: file_UnlockedFurnitureSuiteDataNotify_proto_depIdxs,
+ MessageInfos: file_UnlockedFurnitureSuiteDataNotify_proto_msgTypes,
+ }.Build()
+ File_UnlockedFurnitureSuiteDataNotify_proto = out.File
+ file_UnlockedFurnitureSuiteDataNotify_proto_rawDesc = nil
+ file_UnlockedFurnitureSuiteDataNotify_proto_goTypes = nil
+ file_UnlockedFurnitureSuiteDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UnmarkEntityInMinMapNotify.pb.go b/protocol/proto/UnmarkEntityInMinMapNotify.pb.go
new file mode 100644
index 00000000..ec144e59
--- /dev/null
+++ b/protocol/proto/UnmarkEntityInMinMapNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UnmarkEntityInMinMapNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 219
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UnmarkEntityInMinMapNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,8,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *UnmarkEntityInMinMapNotify) Reset() {
+ *x = UnmarkEntityInMinMapNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UnmarkEntityInMinMapNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UnmarkEntityInMinMapNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UnmarkEntityInMinMapNotify) ProtoMessage() {}
+
+func (x *UnmarkEntityInMinMapNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UnmarkEntityInMinMapNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UnmarkEntityInMinMapNotify.ProtoReflect.Descriptor instead.
+func (*UnmarkEntityInMinMapNotify) Descriptor() ([]byte, []int) {
+ return file_UnmarkEntityInMinMapNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UnmarkEntityInMinMapNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_UnmarkEntityInMinMapNotify_proto protoreflect.FileDescriptor
+
+var file_UnmarkEntityInMinMapNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x6b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e,
+ 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1a, 0x55, 0x6e, 0x6d,
+ 0x61, 0x72, 0x6b, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x4d, 0x69, 0x6e, 0x4d, 0x61,
+ 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UnmarkEntityInMinMapNotify_proto_rawDescOnce sync.Once
+ file_UnmarkEntityInMinMapNotify_proto_rawDescData = file_UnmarkEntityInMinMapNotify_proto_rawDesc
+)
+
+func file_UnmarkEntityInMinMapNotify_proto_rawDescGZIP() []byte {
+ file_UnmarkEntityInMinMapNotify_proto_rawDescOnce.Do(func() {
+ file_UnmarkEntityInMinMapNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UnmarkEntityInMinMapNotify_proto_rawDescData)
+ })
+ return file_UnmarkEntityInMinMapNotify_proto_rawDescData
+}
+
+var file_UnmarkEntityInMinMapNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UnmarkEntityInMinMapNotify_proto_goTypes = []interface{}{
+ (*UnmarkEntityInMinMapNotify)(nil), // 0: proto.UnmarkEntityInMinMapNotify
+}
+var file_UnmarkEntityInMinMapNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UnmarkEntityInMinMapNotify_proto_init() }
+func file_UnmarkEntityInMinMapNotify_proto_init() {
+ if File_UnmarkEntityInMinMapNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UnmarkEntityInMinMapNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnmarkEntityInMinMapNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UnmarkEntityInMinMapNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UnmarkEntityInMinMapNotify_proto_goTypes,
+ DependencyIndexes: file_UnmarkEntityInMinMapNotify_proto_depIdxs,
+ MessageInfos: file_UnmarkEntityInMinMapNotify_proto_msgTypes,
+ }.Build()
+ File_UnmarkEntityInMinMapNotify_proto = out.File
+ file_UnmarkEntityInMinMapNotify_proto_rawDesc = nil
+ file_UnmarkEntityInMinMapNotify_proto_goTypes = nil
+ file_UnmarkEntityInMinMapNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdateAbilityCreatedMovingPlatformNotify.pb.go b/protocol/proto/UpdateAbilityCreatedMovingPlatformNotify.pb.go
new file mode 100644
index 00000000..049b98f8
--- /dev/null
+++ b/protocol/proto/UpdateAbilityCreatedMovingPlatformNotify.pb.go
@@ -0,0 +1,236 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdateAbilityCreatedMovingPlatformNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UpdateAbilityCreatedMovingPlatformNotify_OpType int32
+
+const (
+ UpdateAbilityCreatedMovingPlatformNotify_OP_TYPE_NONE UpdateAbilityCreatedMovingPlatformNotify_OpType = 0
+ UpdateAbilityCreatedMovingPlatformNotify_OP_TYPE_ACTIVATE UpdateAbilityCreatedMovingPlatformNotify_OpType = 1
+ UpdateAbilityCreatedMovingPlatformNotify_OP_TYPE_DEACTIVATE UpdateAbilityCreatedMovingPlatformNotify_OpType = 2
+)
+
+// Enum value maps for UpdateAbilityCreatedMovingPlatformNotify_OpType.
+var (
+ UpdateAbilityCreatedMovingPlatformNotify_OpType_name = map[int32]string{
+ 0: "OP_TYPE_NONE",
+ 1: "OP_TYPE_ACTIVATE",
+ 2: "OP_TYPE_DEACTIVATE",
+ }
+ UpdateAbilityCreatedMovingPlatformNotify_OpType_value = map[string]int32{
+ "OP_TYPE_NONE": 0,
+ "OP_TYPE_ACTIVATE": 1,
+ "OP_TYPE_DEACTIVATE": 2,
+ }
+)
+
+func (x UpdateAbilityCreatedMovingPlatformNotify_OpType) Enum() *UpdateAbilityCreatedMovingPlatformNotify_OpType {
+ p := new(UpdateAbilityCreatedMovingPlatformNotify_OpType)
+ *p = x
+ return p
+}
+
+func (x UpdateAbilityCreatedMovingPlatformNotify_OpType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (UpdateAbilityCreatedMovingPlatformNotify_OpType) Descriptor() protoreflect.EnumDescriptor {
+ return file_UpdateAbilityCreatedMovingPlatformNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (UpdateAbilityCreatedMovingPlatformNotify_OpType) Type() protoreflect.EnumType {
+ return &file_UpdateAbilityCreatedMovingPlatformNotify_proto_enumTypes[0]
+}
+
+func (x UpdateAbilityCreatedMovingPlatformNotify_OpType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use UpdateAbilityCreatedMovingPlatformNotify_OpType.Descriptor instead.
+func (UpdateAbilityCreatedMovingPlatformNotify_OpType) EnumDescriptor() ([]byte, []int) {
+ return file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 881
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpdateAbilityCreatedMovingPlatformNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ OpType UpdateAbilityCreatedMovingPlatformNotify_OpType `protobuf:"varint,3,opt,name=op_type,json=opType,proto3,enum=proto.UpdateAbilityCreatedMovingPlatformNotify_OpType" json:"op_type,omitempty"`
+}
+
+func (x *UpdateAbilityCreatedMovingPlatformNotify) Reset() {
+ *x = UpdateAbilityCreatedMovingPlatformNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdateAbilityCreatedMovingPlatformNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateAbilityCreatedMovingPlatformNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateAbilityCreatedMovingPlatformNotify) ProtoMessage() {}
+
+func (x *UpdateAbilityCreatedMovingPlatformNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdateAbilityCreatedMovingPlatformNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateAbilityCreatedMovingPlatformNotify.ProtoReflect.Descriptor instead.
+func (*UpdateAbilityCreatedMovingPlatformNotify) Descriptor() ([]byte, []int) {
+ return file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdateAbilityCreatedMovingPlatformNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *UpdateAbilityCreatedMovingPlatformNotify) GetOpType() UpdateAbilityCreatedMovingPlatformNotify_OpType {
+ if x != nil {
+ return x.OpType
+ }
+ return UpdateAbilityCreatedMovingPlatformNotify_OP_TYPE_NONE
+}
+
+var File_UpdateAbilityCreatedMovingPlatformNotify_proto protoreflect.FileDescriptor
+
+var file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x74,
+ 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x01, 0x0a, 0x28, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x4d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49,
+ 0x64, 0x12, 0x4f, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d,
+ 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x54, 0x79,
+ 0x70, 0x65, 0x22, 0x48, 0x0a, 0x06, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c,
+ 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x14,
+ 0x0a, 0x10, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41,
+ 0x54, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x44, 0x45, 0x41, 0x43, 0x54, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescOnce sync.Once
+ file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescData = file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDesc
+)
+
+func file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescGZIP() []byte {
+ file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescOnce.Do(func() {
+ file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescData)
+ })
+ return file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDescData
+}
+
+var file_UpdateAbilityCreatedMovingPlatformNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_UpdateAbilityCreatedMovingPlatformNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdateAbilityCreatedMovingPlatformNotify_proto_goTypes = []interface{}{
+ (UpdateAbilityCreatedMovingPlatformNotify_OpType)(0), // 0: proto.UpdateAbilityCreatedMovingPlatformNotify.OpType
+ (*UpdateAbilityCreatedMovingPlatformNotify)(nil), // 1: proto.UpdateAbilityCreatedMovingPlatformNotify
+}
+var file_UpdateAbilityCreatedMovingPlatformNotify_proto_depIdxs = []int32{
+ 0, // 0: proto.UpdateAbilityCreatedMovingPlatformNotify.op_type:type_name -> proto.UpdateAbilityCreatedMovingPlatformNotify.OpType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_UpdateAbilityCreatedMovingPlatformNotify_proto_init() }
+func file_UpdateAbilityCreatedMovingPlatformNotify_proto_init() {
+ if File_UpdateAbilityCreatedMovingPlatformNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdateAbilityCreatedMovingPlatformNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateAbilityCreatedMovingPlatformNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdateAbilityCreatedMovingPlatformNotify_proto_goTypes,
+ DependencyIndexes: file_UpdateAbilityCreatedMovingPlatformNotify_proto_depIdxs,
+ EnumInfos: file_UpdateAbilityCreatedMovingPlatformNotify_proto_enumTypes,
+ MessageInfos: file_UpdateAbilityCreatedMovingPlatformNotify_proto_msgTypes,
+ }.Build()
+ File_UpdateAbilityCreatedMovingPlatformNotify_proto = out.File
+ file_UpdateAbilityCreatedMovingPlatformNotify_proto_rawDesc = nil
+ file_UpdateAbilityCreatedMovingPlatformNotify_proto_goTypes = nil
+ file_UpdateAbilityCreatedMovingPlatformNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePS4BlockListReq.pb.go b/protocol/proto/UpdatePS4BlockListReq.pb.go
new file mode 100644
index 00000000..c4e6944f
--- /dev/null
+++ b/protocol/proto/UpdatePS4BlockListReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePS4BlockListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4046
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpdatePS4BlockListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PsnIdList []string `protobuf:"bytes,10,rep,name=psn_id_list,json=psnIdList,proto3" json:"psn_id_list,omitempty"`
+}
+
+func (x *UpdatePS4BlockListReq) Reset() {
+ *x = UpdatePS4BlockListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePS4BlockListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePS4BlockListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePS4BlockListReq) ProtoMessage() {}
+
+func (x *UpdatePS4BlockListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePS4BlockListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePS4BlockListReq.ProtoReflect.Descriptor instead.
+func (*UpdatePS4BlockListReq) Descriptor() ([]byte, []int) {
+ return file_UpdatePS4BlockListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePS4BlockListReq) GetPsnIdList() []string {
+ if x != nil {
+ return x.PsnIdList
+ }
+ return nil
+}
+
+var File_UpdatePS4BlockListReq_proto protoreflect.FileDescriptor
+
+var file_UpdatePS4BlockListReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x53, 0x34, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x37, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x53,
+ 0x34, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a,
+ 0x0b, 0x70, 0x73, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03,
+ 0x28, 0x09, 0x52, 0x09, 0x70, 0x73, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_UpdatePS4BlockListReq_proto_rawDescOnce sync.Once
+ file_UpdatePS4BlockListReq_proto_rawDescData = file_UpdatePS4BlockListReq_proto_rawDesc
+)
+
+func file_UpdatePS4BlockListReq_proto_rawDescGZIP() []byte {
+ file_UpdatePS4BlockListReq_proto_rawDescOnce.Do(func() {
+ file_UpdatePS4BlockListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePS4BlockListReq_proto_rawDescData)
+ })
+ return file_UpdatePS4BlockListReq_proto_rawDescData
+}
+
+var file_UpdatePS4BlockListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePS4BlockListReq_proto_goTypes = []interface{}{
+ (*UpdatePS4BlockListReq)(nil), // 0: proto.UpdatePS4BlockListReq
+}
+var file_UpdatePS4BlockListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePS4BlockListReq_proto_init() }
+func file_UpdatePS4BlockListReq_proto_init() {
+ if File_UpdatePS4BlockListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePS4BlockListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePS4BlockListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePS4BlockListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePS4BlockListReq_proto_goTypes,
+ DependencyIndexes: file_UpdatePS4BlockListReq_proto_depIdxs,
+ MessageInfos: file_UpdatePS4BlockListReq_proto_msgTypes,
+ }.Build()
+ File_UpdatePS4BlockListReq_proto = out.File
+ file_UpdatePS4BlockListReq_proto_rawDesc = nil
+ file_UpdatePS4BlockListReq_proto_goTypes = nil
+ file_UpdatePS4BlockListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePS4BlockListRsp.pb.go b/protocol/proto/UpdatePS4BlockListRsp.pb.go
new file mode 100644
index 00000000..7c7e9184
--- /dev/null
+++ b/protocol/proto/UpdatePS4BlockListRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePS4BlockListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4041
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UpdatePS4BlockListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *UpdatePS4BlockListRsp) Reset() {
+ *x = UpdatePS4BlockListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePS4BlockListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePS4BlockListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePS4BlockListRsp) ProtoMessage() {}
+
+func (x *UpdatePS4BlockListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePS4BlockListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePS4BlockListRsp.ProtoReflect.Descriptor instead.
+func (*UpdatePS4BlockListRsp) Descriptor() ([]byte, []int) {
+ return file_UpdatePS4BlockListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePS4BlockListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_UpdatePS4BlockListRsp_proto protoreflect.FileDescriptor
+
+var file_UpdatePS4BlockListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x53, 0x34, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x53,
+ 0x34, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdatePS4BlockListRsp_proto_rawDescOnce sync.Once
+ file_UpdatePS4BlockListRsp_proto_rawDescData = file_UpdatePS4BlockListRsp_proto_rawDesc
+)
+
+func file_UpdatePS4BlockListRsp_proto_rawDescGZIP() []byte {
+ file_UpdatePS4BlockListRsp_proto_rawDescOnce.Do(func() {
+ file_UpdatePS4BlockListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePS4BlockListRsp_proto_rawDescData)
+ })
+ return file_UpdatePS4BlockListRsp_proto_rawDescData
+}
+
+var file_UpdatePS4BlockListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePS4BlockListRsp_proto_goTypes = []interface{}{
+ (*UpdatePS4BlockListRsp)(nil), // 0: proto.UpdatePS4BlockListRsp
+}
+var file_UpdatePS4BlockListRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePS4BlockListRsp_proto_init() }
+func file_UpdatePS4BlockListRsp_proto_init() {
+ if File_UpdatePS4BlockListRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePS4BlockListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePS4BlockListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePS4BlockListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePS4BlockListRsp_proto_goTypes,
+ DependencyIndexes: file_UpdatePS4BlockListRsp_proto_depIdxs,
+ MessageInfos: file_UpdatePS4BlockListRsp_proto_msgTypes,
+ }.Build()
+ File_UpdatePS4BlockListRsp_proto = out.File
+ file_UpdatePS4BlockListRsp_proto_rawDesc = nil
+ file_UpdatePS4BlockListRsp_proto_goTypes = nil
+ file_UpdatePS4BlockListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePS4FriendListNotify.pb.go b/protocol/proto/UpdatePS4FriendListNotify.pb.go
new file mode 100644
index 00000000..6e3f8283
--- /dev/null
+++ b/protocol/proto/UpdatePS4FriendListNotify.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePS4FriendListNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4039
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpdatePS4FriendListNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PsnIdList []string `protobuf:"bytes,15,rep,name=psn_id_list,json=psnIdList,proto3" json:"psn_id_list,omitempty"`
+}
+
+func (x *UpdatePS4FriendListNotify) Reset() {
+ *x = UpdatePS4FriendListNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePS4FriendListNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePS4FriendListNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePS4FriendListNotify) ProtoMessage() {}
+
+func (x *UpdatePS4FriendListNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePS4FriendListNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePS4FriendListNotify.ProtoReflect.Descriptor instead.
+func (*UpdatePS4FriendListNotify) Descriptor() ([]byte, []int) {
+ return file_UpdatePS4FriendListNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePS4FriendListNotify) GetPsnIdList() []string {
+ if x != nil {
+ return x.PsnIdList
+ }
+ return nil
+}
+
+var File_UpdatePS4FriendListNotify_proto protoreflect.FileDescriptor
+
+var file_UpdatePS4FriendListNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x53, 0x34, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x50, 0x53, 0x34, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x73, 0x6e, 0x5f, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x70, 0x73, 0x6e, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdatePS4FriendListNotify_proto_rawDescOnce sync.Once
+ file_UpdatePS4FriendListNotify_proto_rawDescData = file_UpdatePS4FriendListNotify_proto_rawDesc
+)
+
+func file_UpdatePS4FriendListNotify_proto_rawDescGZIP() []byte {
+ file_UpdatePS4FriendListNotify_proto_rawDescOnce.Do(func() {
+ file_UpdatePS4FriendListNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePS4FriendListNotify_proto_rawDescData)
+ })
+ return file_UpdatePS4FriendListNotify_proto_rawDescData
+}
+
+var file_UpdatePS4FriendListNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePS4FriendListNotify_proto_goTypes = []interface{}{
+ (*UpdatePS4FriendListNotify)(nil), // 0: proto.UpdatePS4FriendListNotify
+}
+var file_UpdatePS4FriendListNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePS4FriendListNotify_proto_init() }
+func file_UpdatePS4FriendListNotify_proto_init() {
+ if File_UpdatePS4FriendListNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePS4FriendListNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePS4FriendListNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePS4FriendListNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePS4FriendListNotify_proto_goTypes,
+ DependencyIndexes: file_UpdatePS4FriendListNotify_proto_depIdxs,
+ MessageInfos: file_UpdatePS4FriendListNotify_proto_msgTypes,
+ }.Build()
+ File_UpdatePS4FriendListNotify_proto = out.File
+ file_UpdatePS4FriendListNotify_proto_rawDesc = nil
+ file_UpdatePS4FriendListNotify_proto_goTypes = nil
+ file_UpdatePS4FriendListNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePS4FriendListReq.pb.go b/protocol/proto/UpdatePS4FriendListReq.pb.go
new file mode 100644
index 00000000..a1190d2f
--- /dev/null
+++ b/protocol/proto/UpdatePS4FriendListReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePS4FriendListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4089
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpdatePS4FriendListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PsnIdList []string `protobuf:"bytes,4,rep,name=psn_id_list,json=psnIdList,proto3" json:"psn_id_list,omitempty"`
+}
+
+func (x *UpdatePS4FriendListReq) Reset() {
+ *x = UpdatePS4FriendListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePS4FriendListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePS4FriendListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePS4FriendListReq) ProtoMessage() {}
+
+func (x *UpdatePS4FriendListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePS4FriendListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePS4FriendListReq.ProtoReflect.Descriptor instead.
+func (*UpdatePS4FriendListReq) Descriptor() ([]byte, []int) {
+ return file_UpdatePS4FriendListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePS4FriendListReq) GetPsnIdList() []string {
+ if x != nil {
+ return x.PsnIdList
+ }
+ return nil
+}
+
+var File_UpdatePS4FriendListReq_proto protoreflect.FileDescriptor
+
+var file_UpdatePS4FriendListReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x53, 0x34, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
+ 0x53, 0x34, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12,
+ 0x1e, 0x0a, 0x0b, 0x70, 0x73, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04,
+ 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x70, 0x73, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdatePS4FriendListReq_proto_rawDescOnce sync.Once
+ file_UpdatePS4FriendListReq_proto_rawDescData = file_UpdatePS4FriendListReq_proto_rawDesc
+)
+
+func file_UpdatePS4FriendListReq_proto_rawDescGZIP() []byte {
+ file_UpdatePS4FriendListReq_proto_rawDescOnce.Do(func() {
+ file_UpdatePS4FriendListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePS4FriendListReq_proto_rawDescData)
+ })
+ return file_UpdatePS4FriendListReq_proto_rawDescData
+}
+
+var file_UpdatePS4FriendListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePS4FriendListReq_proto_goTypes = []interface{}{
+ (*UpdatePS4FriendListReq)(nil), // 0: proto.UpdatePS4FriendListReq
+}
+var file_UpdatePS4FriendListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePS4FriendListReq_proto_init() }
+func file_UpdatePS4FriendListReq_proto_init() {
+ if File_UpdatePS4FriendListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePS4FriendListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePS4FriendListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePS4FriendListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePS4FriendListReq_proto_goTypes,
+ DependencyIndexes: file_UpdatePS4FriendListReq_proto_depIdxs,
+ MessageInfos: file_UpdatePS4FriendListReq_proto_msgTypes,
+ }.Build()
+ File_UpdatePS4FriendListReq_proto = out.File
+ file_UpdatePS4FriendListReq_proto_rawDesc = nil
+ file_UpdatePS4FriendListReq_proto_goTypes = nil
+ file_UpdatePS4FriendListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePS4FriendListRsp.pb.go b/protocol/proto/UpdatePS4FriendListRsp.pb.go
new file mode 100644
index 00000000..b7bc305a
--- /dev/null
+++ b/protocol/proto/UpdatePS4FriendListRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePS4FriendListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4059
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpdatePS4FriendListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PsnIdList []string `protobuf:"bytes,2,rep,name=psn_id_list,json=psnIdList,proto3" json:"psn_id_list,omitempty"`
+}
+
+func (x *UpdatePS4FriendListRsp) Reset() {
+ *x = UpdatePS4FriendListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePS4FriendListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePS4FriendListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePS4FriendListRsp) ProtoMessage() {}
+
+func (x *UpdatePS4FriendListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePS4FriendListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePS4FriendListRsp.ProtoReflect.Descriptor instead.
+func (*UpdatePS4FriendListRsp) Descriptor() ([]byte, []int) {
+ return file_UpdatePS4FriendListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePS4FriendListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UpdatePS4FriendListRsp) GetPsnIdList() []string {
+ if x != nil {
+ return x.PsnIdList
+ }
+ return nil
+}
+
+var File_UpdatePS4FriendListRsp_proto protoreflect.FileDescriptor
+
+var file_UpdatePS4FriendListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x53, 0x34, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
+ 0x53, 0x34, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x73, 0x6e,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09,
+ 0x70, 0x73, 0x6e, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdatePS4FriendListRsp_proto_rawDescOnce sync.Once
+ file_UpdatePS4FriendListRsp_proto_rawDescData = file_UpdatePS4FriendListRsp_proto_rawDesc
+)
+
+func file_UpdatePS4FriendListRsp_proto_rawDescGZIP() []byte {
+ file_UpdatePS4FriendListRsp_proto_rawDescOnce.Do(func() {
+ file_UpdatePS4FriendListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePS4FriendListRsp_proto_rawDescData)
+ })
+ return file_UpdatePS4FriendListRsp_proto_rawDescData
+}
+
+var file_UpdatePS4FriendListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePS4FriendListRsp_proto_goTypes = []interface{}{
+ (*UpdatePS4FriendListRsp)(nil), // 0: proto.UpdatePS4FriendListRsp
+}
+var file_UpdatePS4FriendListRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePS4FriendListRsp_proto_init() }
+func file_UpdatePS4FriendListRsp_proto_init() {
+ if File_UpdatePS4FriendListRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePS4FriendListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePS4FriendListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePS4FriendListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePS4FriendListRsp_proto_goTypes,
+ DependencyIndexes: file_UpdatePS4FriendListRsp_proto_depIdxs,
+ MessageInfos: file_UpdatePS4FriendListRsp_proto_msgTypes,
+ }.Build()
+ File_UpdatePS4FriendListRsp_proto = out.File
+ file_UpdatePS4FriendListRsp_proto_rawDesc = nil
+ file_UpdatePS4FriendListRsp_proto_goTypes = nil
+ file_UpdatePS4FriendListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePlayerShowAvatarListReq.pb.go b/protocol/proto/UpdatePlayerShowAvatarListReq.pb.go
new file mode 100644
index 00000000..a8a18aa7
--- /dev/null
+++ b/protocol/proto/UpdatePlayerShowAvatarListReq.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePlayerShowAvatarListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4067
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpdatePlayerShowAvatarListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsShowAvatar bool `protobuf:"varint,15,opt,name=is_show_avatar,json=isShowAvatar,proto3" json:"is_show_avatar,omitempty"`
+ ShowAvatarIdList []uint32 `protobuf:"varint,13,rep,packed,name=show_avatar_id_list,json=showAvatarIdList,proto3" json:"show_avatar_id_list,omitempty"`
+}
+
+func (x *UpdatePlayerShowAvatarListReq) Reset() {
+ *x = UpdatePlayerShowAvatarListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePlayerShowAvatarListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePlayerShowAvatarListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePlayerShowAvatarListReq) ProtoMessage() {}
+
+func (x *UpdatePlayerShowAvatarListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePlayerShowAvatarListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePlayerShowAvatarListReq.ProtoReflect.Descriptor instead.
+func (*UpdatePlayerShowAvatarListReq) Descriptor() ([]byte, []int) {
+ return file_UpdatePlayerShowAvatarListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePlayerShowAvatarListReq) GetIsShowAvatar() bool {
+ if x != nil {
+ return x.IsShowAvatar
+ }
+ return false
+}
+
+func (x *UpdatePlayerShowAvatarListReq) GetShowAvatarIdList() []uint32 {
+ if x != nil {
+ return x.ShowAvatarIdList
+ }
+ return nil
+}
+
+var File_UpdatePlayerShowAvatarListReq_proto protoreflect.FileDescriptor
+
+var file_UpdatePlayerShowAvatarListReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68,
+ 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a, 0x1d,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x77,
+ 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a,
+ 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x76, 0x61, 0x74,
+ 0x61, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x10, 0x73, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdatePlayerShowAvatarListReq_proto_rawDescOnce sync.Once
+ file_UpdatePlayerShowAvatarListReq_proto_rawDescData = file_UpdatePlayerShowAvatarListReq_proto_rawDesc
+)
+
+func file_UpdatePlayerShowAvatarListReq_proto_rawDescGZIP() []byte {
+ file_UpdatePlayerShowAvatarListReq_proto_rawDescOnce.Do(func() {
+ file_UpdatePlayerShowAvatarListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePlayerShowAvatarListReq_proto_rawDescData)
+ })
+ return file_UpdatePlayerShowAvatarListReq_proto_rawDescData
+}
+
+var file_UpdatePlayerShowAvatarListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePlayerShowAvatarListReq_proto_goTypes = []interface{}{
+ (*UpdatePlayerShowAvatarListReq)(nil), // 0: proto.UpdatePlayerShowAvatarListReq
+}
+var file_UpdatePlayerShowAvatarListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePlayerShowAvatarListReq_proto_init() }
+func file_UpdatePlayerShowAvatarListReq_proto_init() {
+ if File_UpdatePlayerShowAvatarListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePlayerShowAvatarListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePlayerShowAvatarListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePlayerShowAvatarListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePlayerShowAvatarListReq_proto_goTypes,
+ DependencyIndexes: file_UpdatePlayerShowAvatarListReq_proto_depIdxs,
+ MessageInfos: file_UpdatePlayerShowAvatarListReq_proto_msgTypes,
+ }.Build()
+ File_UpdatePlayerShowAvatarListReq_proto = out.File
+ file_UpdatePlayerShowAvatarListReq_proto_rawDesc = nil
+ file_UpdatePlayerShowAvatarListReq_proto_goTypes = nil
+ file_UpdatePlayerShowAvatarListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePlayerShowAvatarListRsp.pb.go b/protocol/proto/UpdatePlayerShowAvatarListRsp.pb.go
new file mode 100644
index 00000000..4a6e4da4
--- /dev/null
+++ b/protocol/proto/UpdatePlayerShowAvatarListRsp.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePlayerShowAvatarListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4058
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UpdatePlayerShowAvatarListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShowAvatarIdList []uint32 `protobuf:"varint,1,rep,packed,name=show_avatar_id_list,json=showAvatarIdList,proto3" json:"show_avatar_id_list,omitempty"`
+ IsShowAvatar bool `protobuf:"varint,3,opt,name=is_show_avatar,json=isShowAvatar,proto3" json:"is_show_avatar,omitempty"`
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *UpdatePlayerShowAvatarListRsp) Reset() {
+ *x = UpdatePlayerShowAvatarListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePlayerShowAvatarListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePlayerShowAvatarListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePlayerShowAvatarListRsp) ProtoMessage() {}
+
+func (x *UpdatePlayerShowAvatarListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePlayerShowAvatarListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePlayerShowAvatarListRsp.ProtoReflect.Descriptor instead.
+func (*UpdatePlayerShowAvatarListRsp) Descriptor() ([]byte, []int) {
+ return file_UpdatePlayerShowAvatarListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePlayerShowAvatarListRsp) GetShowAvatarIdList() []uint32 {
+ if x != nil {
+ return x.ShowAvatarIdList
+ }
+ return nil
+}
+
+func (x *UpdatePlayerShowAvatarListRsp) GetIsShowAvatar() bool {
+ if x != nil {
+ return x.IsShowAvatar
+ }
+ return false
+}
+
+func (x *UpdatePlayerShowAvatarListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_UpdatePlayerShowAvatarListRsp_proto protoreflect.FileDescriptor
+
+var file_UpdatePlayerShowAvatarListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68,
+ 0x6f, 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a,
+ 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68, 0x6f,
+ 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x2d,
+ 0x0a, 0x13, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x68, 0x6f,
+ 0x77, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a,
+ 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x76, 0x61,
+ 0x74, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_UpdatePlayerShowAvatarListRsp_proto_rawDescOnce sync.Once
+ file_UpdatePlayerShowAvatarListRsp_proto_rawDescData = file_UpdatePlayerShowAvatarListRsp_proto_rawDesc
+)
+
+func file_UpdatePlayerShowAvatarListRsp_proto_rawDescGZIP() []byte {
+ file_UpdatePlayerShowAvatarListRsp_proto_rawDescOnce.Do(func() {
+ file_UpdatePlayerShowAvatarListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePlayerShowAvatarListRsp_proto_rawDescData)
+ })
+ return file_UpdatePlayerShowAvatarListRsp_proto_rawDescData
+}
+
+var file_UpdatePlayerShowAvatarListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePlayerShowAvatarListRsp_proto_goTypes = []interface{}{
+ (*UpdatePlayerShowAvatarListRsp)(nil), // 0: proto.UpdatePlayerShowAvatarListRsp
+}
+var file_UpdatePlayerShowAvatarListRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePlayerShowAvatarListRsp_proto_init() }
+func file_UpdatePlayerShowAvatarListRsp_proto_init() {
+ if File_UpdatePlayerShowAvatarListRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePlayerShowAvatarListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePlayerShowAvatarListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePlayerShowAvatarListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePlayerShowAvatarListRsp_proto_goTypes,
+ DependencyIndexes: file_UpdatePlayerShowAvatarListRsp_proto_depIdxs,
+ MessageInfos: file_UpdatePlayerShowAvatarListRsp_proto_msgTypes,
+ }.Build()
+ File_UpdatePlayerShowAvatarListRsp_proto = out.File
+ file_UpdatePlayerShowAvatarListRsp_proto_rawDesc = nil
+ file_UpdatePlayerShowAvatarListRsp_proto_goTypes = nil
+ file_UpdatePlayerShowAvatarListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePlayerShowNameCardListReq.pb.go b/protocol/proto/UpdatePlayerShowNameCardListReq.pb.go
new file mode 100644
index 00000000..50c63fef
--- /dev/null
+++ b/protocol/proto/UpdatePlayerShowNameCardListReq.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePlayerShowNameCardListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4002
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpdatePlayerShowNameCardListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShowNameCardIdList []uint32 `protobuf:"varint,15,rep,packed,name=show_name_card_id_list,json=showNameCardIdList,proto3" json:"show_name_card_id_list,omitempty"`
+}
+
+func (x *UpdatePlayerShowNameCardListReq) Reset() {
+ *x = UpdatePlayerShowNameCardListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePlayerShowNameCardListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePlayerShowNameCardListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePlayerShowNameCardListReq) ProtoMessage() {}
+
+func (x *UpdatePlayerShowNameCardListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePlayerShowNameCardListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePlayerShowNameCardListReq.ProtoReflect.Descriptor instead.
+func (*UpdatePlayerShowNameCardListReq) Descriptor() ([]byte, []int) {
+ return file_UpdatePlayerShowNameCardListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePlayerShowNameCardListReq) GetShowNameCardIdList() []uint32 {
+ if x != nil {
+ return x.ShowNameCardIdList
+ }
+ return nil
+}
+
+var File_UpdatePlayerShowNameCardListReq_proto protoreflect.FileDescriptor
+
+var file_UpdatePlayerShowNameCardListReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68,
+ 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55,
+ 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68,
+ 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x32, 0x0a, 0x16, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63,
+ 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x12, 0x73, 0x68, 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdatePlayerShowNameCardListReq_proto_rawDescOnce sync.Once
+ file_UpdatePlayerShowNameCardListReq_proto_rawDescData = file_UpdatePlayerShowNameCardListReq_proto_rawDesc
+)
+
+func file_UpdatePlayerShowNameCardListReq_proto_rawDescGZIP() []byte {
+ file_UpdatePlayerShowNameCardListReq_proto_rawDescOnce.Do(func() {
+ file_UpdatePlayerShowNameCardListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePlayerShowNameCardListReq_proto_rawDescData)
+ })
+ return file_UpdatePlayerShowNameCardListReq_proto_rawDescData
+}
+
+var file_UpdatePlayerShowNameCardListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePlayerShowNameCardListReq_proto_goTypes = []interface{}{
+ (*UpdatePlayerShowNameCardListReq)(nil), // 0: proto.UpdatePlayerShowNameCardListReq
+}
+var file_UpdatePlayerShowNameCardListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePlayerShowNameCardListReq_proto_init() }
+func file_UpdatePlayerShowNameCardListReq_proto_init() {
+ if File_UpdatePlayerShowNameCardListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePlayerShowNameCardListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePlayerShowNameCardListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePlayerShowNameCardListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePlayerShowNameCardListReq_proto_goTypes,
+ DependencyIndexes: file_UpdatePlayerShowNameCardListReq_proto_depIdxs,
+ MessageInfos: file_UpdatePlayerShowNameCardListReq_proto_msgTypes,
+ }.Build()
+ File_UpdatePlayerShowNameCardListReq_proto = out.File
+ file_UpdatePlayerShowNameCardListReq_proto_rawDesc = nil
+ file_UpdatePlayerShowNameCardListReq_proto_goTypes = nil
+ file_UpdatePlayerShowNameCardListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdatePlayerShowNameCardListRsp.pb.go b/protocol/proto/UpdatePlayerShowNameCardListRsp.pb.go
new file mode 100644
index 00000000..597e6a7a
--- /dev/null
+++ b/protocol/proto/UpdatePlayerShowNameCardListRsp.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdatePlayerShowNameCardListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4019
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UpdatePlayerShowNameCardListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,13,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ShowNameCardIdList []uint32 `protobuf:"varint,12,rep,packed,name=show_name_card_id_list,json=showNameCardIdList,proto3" json:"show_name_card_id_list,omitempty"`
+}
+
+func (x *UpdatePlayerShowNameCardListRsp) Reset() {
+ *x = UpdatePlayerShowNameCardListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdatePlayerShowNameCardListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdatePlayerShowNameCardListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdatePlayerShowNameCardListRsp) ProtoMessage() {}
+
+func (x *UpdatePlayerShowNameCardListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdatePlayerShowNameCardListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdatePlayerShowNameCardListRsp.ProtoReflect.Descriptor instead.
+func (*UpdatePlayerShowNameCardListRsp) Descriptor() ([]byte, []int) {
+ return file_UpdatePlayerShowNameCardListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdatePlayerShowNameCardListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UpdatePlayerShowNameCardListRsp) GetShowNameCardIdList() []uint32 {
+ if x != nil {
+ return x.ShowNameCardIdList
+ }
+ return nil
+}
+
+var File_UpdatePlayerShowNameCardListRsp_proto protoreflect.FileDescriptor
+
+var file_UpdatePlayerShowNameCardListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68,
+ 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f,
+ 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x68,
+ 0x6f, 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x16, 0x73,
+ 0x68, 0x6f, 0x77, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x73, 0x68, 0x6f,
+ 0x77, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdatePlayerShowNameCardListRsp_proto_rawDescOnce sync.Once
+ file_UpdatePlayerShowNameCardListRsp_proto_rawDescData = file_UpdatePlayerShowNameCardListRsp_proto_rawDesc
+)
+
+func file_UpdatePlayerShowNameCardListRsp_proto_rawDescGZIP() []byte {
+ file_UpdatePlayerShowNameCardListRsp_proto_rawDescOnce.Do(func() {
+ file_UpdatePlayerShowNameCardListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdatePlayerShowNameCardListRsp_proto_rawDescData)
+ })
+ return file_UpdatePlayerShowNameCardListRsp_proto_rawDescData
+}
+
+var file_UpdatePlayerShowNameCardListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdatePlayerShowNameCardListRsp_proto_goTypes = []interface{}{
+ (*UpdatePlayerShowNameCardListRsp)(nil), // 0: proto.UpdatePlayerShowNameCardListRsp
+}
+var file_UpdatePlayerShowNameCardListRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdatePlayerShowNameCardListRsp_proto_init() }
+func file_UpdatePlayerShowNameCardListRsp_proto_init() {
+ if File_UpdatePlayerShowNameCardListRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdatePlayerShowNameCardListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdatePlayerShowNameCardListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdatePlayerShowNameCardListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdatePlayerShowNameCardListRsp_proto_goTypes,
+ DependencyIndexes: file_UpdatePlayerShowNameCardListRsp_proto_depIdxs,
+ MessageInfos: file_UpdatePlayerShowNameCardListRsp_proto_msgTypes,
+ }.Build()
+ File_UpdatePlayerShowNameCardListRsp_proto = out.File
+ file_UpdatePlayerShowNameCardListRsp_proto_rawDesc = nil
+ file_UpdatePlayerShowNameCardListRsp_proto_goTypes = nil
+ file_UpdatePlayerShowNameCardListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdateRedPointNotify.pb.go b/protocol/proto/UpdateRedPointNotify.pb.go
new file mode 100644
index 00000000..c2f81880
--- /dev/null
+++ b/protocol/proto/UpdateRedPointNotify.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdateRedPointNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 93
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UpdateRedPointNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RedPointList []*RedPointData `protobuf:"bytes,12,rep,name=red_point_list,json=redPointList,proto3" json:"red_point_list,omitempty"`
+}
+
+func (x *UpdateRedPointNotify) Reset() {
+ *x = UpdateRedPointNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdateRedPointNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateRedPointNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateRedPointNotify) ProtoMessage() {}
+
+func (x *UpdateRedPointNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdateRedPointNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateRedPointNotify.ProtoReflect.Descriptor instead.
+func (*UpdateRedPointNotify) Descriptor() ([]byte, []int) {
+ return file_UpdateRedPointNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdateRedPointNotify) GetRedPointList() []*RedPointData {
+ if x != nil {
+ return x.RedPointList
+ }
+ return nil
+}
+
+var File_UpdateRedPointNotify_proto protoreflect.FileDescriptor
+
+var file_UpdateRedPointNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x52, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x51, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74,
+ 0x65, 0x52, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x39, 0x0a, 0x0e, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x52, 0x65, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x72, 0x65,
+ 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdateRedPointNotify_proto_rawDescOnce sync.Once
+ file_UpdateRedPointNotify_proto_rawDescData = file_UpdateRedPointNotify_proto_rawDesc
+)
+
+func file_UpdateRedPointNotify_proto_rawDescGZIP() []byte {
+ file_UpdateRedPointNotify_proto_rawDescOnce.Do(func() {
+ file_UpdateRedPointNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdateRedPointNotify_proto_rawDescData)
+ })
+ return file_UpdateRedPointNotify_proto_rawDescData
+}
+
+var file_UpdateRedPointNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdateRedPointNotify_proto_goTypes = []interface{}{
+ (*UpdateRedPointNotify)(nil), // 0: proto.UpdateRedPointNotify
+ (*RedPointData)(nil), // 1: proto.RedPointData
+}
+var file_UpdateRedPointNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.UpdateRedPointNotify.red_point_list:type_name -> proto.RedPointData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_UpdateRedPointNotify_proto_init() }
+func file_UpdateRedPointNotify_proto_init() {
+ if File_UpdateRedPointNotify_proto != nil {
+ return
+ }
+ file_RedPointData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_UpdateRedPointNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateRedPointNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdateRedPointNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdateRedPointNotify_proto_goTypes,
+ DependencyIndexes: file_UpdateRedPointNotify_proto_depIdxs,
+ MessageInfos: file_UpdateRedPointNotify_proto_msgTypes,
+ }.Build()
+ File_UpdateRedPointNotify_proto = out.File
+ file_UpdateRedPointNotify_proto_rawDesc = nil
+ file_UpdateRedPointNotify_proto_goTypes = nil
+ file_UpdateRedPointNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdateReunionWatcherNotify.pb.go b/protocol/proto/UpdateReunionWatcherNotify.pb.go
new file mode 100644
index 00000000..6c3d02e7
--- /dev/null
+++ b/protocol/proto/UpdateReunionWatcherNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdateReunionWatcherNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5091
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UpdateReunionWatcherNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MissionId uint32 `protobuf:"varint,3,opt,name=mission_id,json=missionId,proto3" json:"mission_id,omitempty"`
+ WatcherInfo *ReunionWatcherInfo `protobuf:"bytes,10,opt,name=watcher_info,json=watcherInfo,proto3" json:"watcher_info,omitempty"`
+}
+
+func (x *UpdateReunionWatcherNotify) Reset() {
+ *x = UpdateReunionWatcherNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdateReunionWatcherNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateReunionWatcherNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateReunionWatcherNotify) ProtoMessage() {}
+
+func (x *UpdateReunionWatcherNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdateReunionWatcherNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateReunionWatcherNotify.ProtoReflect.Descriptor instead.
+func (*UpdateReunionWatcherNotify) Descriptor() ([]byte, []int) {
+ return file_UpdateReunionWatcherNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdateReunionWatcherNotify) GetMissionId() uint32 {
+ if x != nil {
+ return x.MissionId
+ }
+ return 0
+}
+
+func (x *UpdateReunionWatcherNotify) GetWatcherInfo() *ReunionWatcherInfo {
+ if x != nil {
+ return x.WatcherInfo
+ }
+ return nil
+}
+
+var File_UpdateReunionWatcherNotify_proto protoreflect.FileDescriptor
+
+var file_UpdateReunionWatcherNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x52, 0x65, 0x75, 0x6e, 0x69,
+ 0x6f, 0x6e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x75,
+ 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64,
+ 0x12, 0x3c, 0x0a, 0x0c, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
+ 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_UpdateReunionWatcherNotify_proto_rawDescOnce sync.Once
+ file_UpdateReunionWatcherNotify_proto_rawDescData = file_UpdateReunionWatcherNotify_proto_rawDesc
+)
+
+func file_UpdateReunionWatcherNotify_proto_rawDescGZIP() []byte {
+ file_UpdateReunionWatcherNotify_proto_rawDescOnce.Do(func() {
+ file_UpdateReunionWatcherNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdateReunionWatcherNotify_proto_rawDescData)
+ })
+ return file_UpdateReunionWatcherNotify_proto_rawDescData
+}
+
+var file_UpdateReunionWatcherNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdateReunionWatcherNotify_proto_goTypes = []interface{}{
+ (*UpdateReunionWatcherNotify)(nil), // 0: proto.UpdateReunionWatcherNotify
+ (*ReunionWatcherInfo)(nil), // 1: proto.ReunionWatcherInfo
+}
+var file_UpdateReunionWatcherNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.UpdateReunionWatcherNotify.watcher_info:type_name -> proto.ReunionWatcherInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_UpdateReunionWatcherNotify_proto_init() }
+func file_UpdateReunionWatcherNotify_proto_init() {
+ if File_UpdateReunionWatcherNotify_proto != nil {
+ return
+ }
+ file_ReunionWatcherInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_UpdateReunionWatcherNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateReunionWatcherNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdateReunionWatcherNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdateReunionWatcherNotify_proto_goTypes,
+ DependencyIndexes: file_UpdateReunionWatcherNotify_proto_depIdxs,
+ MessageInfos: file_UpdateReunionWatcherNotify_proto_msgTypes,
+ }.Build()
+ File_UpdateReunionWatcherNotify_proto = out.File
+ file_UpdateReunionWatcherNotify_proto_rawDesc = nil
+ file_UpdateReunionWatcherNotify_proto_goTypes = nil
+ file_UpdateReunionWatcherNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdateSalvageBundleMarkReq.pb.go b/protocol/proto/UpdateSalvageBundleMarkReq.pb.go
new file mode 100644
index 00000000..cc7a2804
--- /dev/null
+++ b/protocol/proto/UpdateSalvageBundleMarkReq.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdateSalvageBundleMarkReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8967
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpdateSalvageBundleMarkReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,14,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ ChallengeType uint32 `protobuf:"varint,13,opt,name=challenge_type,json=challengeType,proto3" json:"challenge_type,omitempty"`
+}
+
+func (x *UpdateSalvageBundleMarkReq) Reset() {
+ *x = UpdateSalvageBundleMarkReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdateSalvageBundleMarkReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateSalvageBundleMarkReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateSalvageBundleMarkReq) ProtoMessage() {}
+
+func (x *UpdateSalvageBundleMarkReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdateSalvageBundleMarkReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateSalvageBundleMarkReq.ProtoReflect.Descriptor instead.
+func (*UpdateSalvageBundleMarkReq) Descriptor() ([]byte, []int) {
+ return file_UpdateSalvageBundleMarkReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdateSalvageBundleMarkReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *UpdateSalvageBundleMarkReq) GetChallengeType() uint32 {
+ if x != nil {
+ return x.ChallengeType
+ }
+ return 0
+}
+
+var File_UpdateSalvageBundleMarkReq_proto protoreflect.FileDescriptor
+
+var file_UpdateSalvageBundleMarkReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x42,
+ 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x1a, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
+ 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdateSalvageBundleMarkReq_proto_rawDescOnce sync.Once
+ file_UpdateSalvageBundleMarkReq_proto_rawDescData = file_UpdateSalvageBundleMarkReq_proto_rawDesc
+)
+
+func file_UpdateSalvageBundleMarkReq_proto_rawDescGZIP() []byte {
+ file_UpdateSalvageBundleMarkReq_proto_rawDescOnce.Do(func() {
+ file_UpdateSalvageBundleMarkReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdateSalvageBundleMarkReq_proto_rawDescData)
+ })
+ return file_UpdateSalvageBundleMarkReq_proto_rawDescData
+}
+
+var file_UpdateSalvageBundleMarkReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdateSalvageBundleMarkReq_proto_goTypes = []interface{}{
+ (*UpdateSalvageBundleMarkReq)(nil), // 0: proto.UpdateSalvageBundleMarkReq
+}
+var file_UpdateSalvageBundleMarkReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdateSalvageBundleMarkReq_proto_init() }
+func file_UpdateSalvageBundleMarkReq_proto_init() {
+ if File_UpdateSalvageBundleMarkReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdateSalvageBundleMarkReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateSalvageBundleMarkReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdateSalvageBundleMarkReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdateSalvageBundleMarkReq_proto_goTypes,
+ DependencyIndexes: file_UpdateSalvageBundleMarkReq_proto_depIdxs,
+ MessageInfos: file_UpdateSalvageBundleMarkReq_proto_msgTypes,
+ }.Build()
+ File_UpdateSalvageBundleMarkReq_proto = out.File
+ file_UpdateSalvageBundleMarkReq_proto_rawDesc = nil
+ file_UpdateSalvageBundleMarkReq_proto_goTypes = nil
+ file_UpdateSalvageBundleMarkReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpdateSalvageBundleMarkRsp.pb.go b/protocol/proto/UpdateSalvageBundleMarkRsp.pb.go
new file mode 100644
index 00000000..b005a7f3
--- /dev/null
+++ b/protocol/proto/UpdateSalvageBundleMarkRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpdateSalvageBundleMarkRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8459
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UpdateSalvageBundleMarkRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeType uint32 `protobuf:"varint,1,opt,name=challenge_type,json=challengeType,proto3" json:"challenge_type,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *UpdateSalvageBundleMarkRsp) Reset() {
+ *x = UpdateSalvageBundleMarkRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpdateSalvageBundleMarkRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateSalvageBundleMarkRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateSalvageBundleMarkRsp) ProtoMessage() {}
+
+func (x *UpdateSalvageBundleMarkRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UpdateSalvageBundleMarkRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateSalvageBundleMarkRsp.ProtoReflect.Descriptor instead.
+func (*UpdateSalvageBundleMarkRsp) Descriptor() ([]byte, []int) {
+ return file_UpdateSalvageBundleMarkRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpdateSalvageBundleMarkRsp) GetChallengeType() uint32 {
+ if x != nil {
+ return x.ChallengeType
+ }
+ return 0
+}
+
+func (x *UpdateSalvageBundleMarkRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UpdateSalvageBundleMarkRsp) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_UpdateSalvageBundleMarkRsp_proto protoreflect.FileDescriptor
+
+var file_UpdateSalvageBundleMarkRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x42,
+ 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x1a, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x67, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65,
+ 0x4d, 0x61, 0x72, 0x6b, 0x52, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0d, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpdateSalvageBundleMarkRsp_proto_rawDescOnce sync.Once
+ file_UpdateSalvageBundleMarkRsp_proto_rawDescData = file_UpdateSalvageBundleMarkRsp_proto_rawDesc
+)
+
+func file_UpdateSalvageBundleMarkRsp_proto_rawDescGZIP() []byte {
+ file_UpdateSalvageBundleMarkRsp_proto_rawDescOnce.Do(func() {
+ file_UpdateSalvageBundleMarkRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpdateSalvageBundleMarkRsp_proto_rawDescData)
+ })
+ return file_UpdateSalvageBundleMarkRsp_proto_rawDescData
+}
+
+var file_UpdateSalvageBundleMarkRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpdateSalvageBundleMarkRsp_proto_goTypes = []interface{}{
+ (*UpdateSalvageBundleMarkRsp)(nil), // 0: proto.UpdateSalvageBundleMarkRsp
+}
+var file_UpdateSalvageBundleMarkRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpdateSalvageBundleMarkRsp_proto_init() }
+func file_UpdateSalvageBundleMarkRsp_proto_init() {
+ if File_UpdateSalvageBundleMarkRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpdateSalvageBundleMarkRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateSalvageBundleMarkRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpdateSalvageBundleMarkRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpdateSalvageBundleMarkRsp_proto_goTypes,
+ DependencyIndexes: file_UpdateSalvageBundleMarkRsp_proto_depIdxs,
+ MessageInfos: file_UpdateSalvageBundleMarkRsp_proto_msgTypes,
+ }.Build()
+ File_UpdateSalvageBundleMarkRsp_proto = out.File
+ file_UpdateSalvageBundleMarkRsp_proto_rawDesc = nil
+ file_UpdateSalvageBundleMarkRsp_proto_goTypes = nil
+ file_UpdateSalvageBundleMarkRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpgradeRoguelikeShikigamiReq.pb.go b/protocol/proto/UpgradeRoguelikeShikigamiReq.pb.go
new file mode 100644
index 00000000..baa02b17
--- /dev/null
+++ b/protocol/proto/UpgradeRoguelikeShikigamiReq.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpgradeRoguelikeShikigamiReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8151
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UpgradeRoguelikeShikigamiReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UpgradeLevel uint32 `protobuf:"varint,6,opt,name=upgrade_level,json=upgradeLevel,proto3" json:"upgrade_level,omitempty"`
+ ShikigamiGroupId uint32 `protobuf:"varint,15,opt,name=shikigami_group_id,json=shikigamiGroupId,proto3" json:"shikigami_group_id,omitempty"`
+}
+
+func (x *UpgradeRoguelikeShikigamiReq) Reset() {
+ *x = UpgradeRoguelikeShikigamiReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpgradeRoguelikeShikigamiReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpgradeRoguelikeShikigamiReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpgradeRoguelikeShikigamiReq) ProtoMessage() {}
+
+func (x *UpgradeRoguelikeShikigamiReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UpgradeRoguelikeShikigamiReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpgradeRoguelikeShikigamiReq.ProtoReflect.Descriptor instead.
+func (*UpgradeRoguelikeShikigamiReq) Descriptor() ([]byte, []int) {
+ return file_UpgradeRoguelikeShikigamiReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpgradeRoguelikeShikigamiReq) GetUpgradeLevel() uint32 {
+ if x != nil {
+ return x.UpgradeLevel
+ }
+ return 0
+}
+
+func (x *UpgradeRoguelikeShikigamiReq) GetShikigamiGroupId() uint32 {
+ if x != nil {
+ return x.ShikigamiGroupId
+ }
+ return 0
+}
+
+var File_UpgradeRoguelikeShikigamiReq_proto protoreflect.FileDescriptor
+
+var file_UpgradeRoguelikeShikigamiReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x53, 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x1c, 0x55,
+ 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65, 0x53,
+ 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x52, 0x65, 0x71, 0x12, 0x23, 0x0a, 0x0d, 0x75,
+ 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x5f, 0x67, 0x72,
+ 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x68,
+ 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_UpgradeRoguelikeShikigamiReq_proto_rawDescOnce sync.Once
+ file_UpgradeRoguelikeShikigamiReq_proto_rawDescData = file_UpgradeRoguelikeShikigamiReq_proto_rawDesc
+)
+
+func file_UpgradeRoguelikeShikigamiReq_proto_rawDescGZIP() []byte {
+ file_UpgradeRoguelikeShikigamiReq_proto_rawDescOnce.Do(func() {
+ file_UpgradeRoguelikeShikigamiReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpgradeRoguelikeShikigamiReq_proto_rawDescData)
+ })
+ return file_UpgradeRoguelikeShikigamiReq_proto_rawDescData
+}
+
+var file_UpgradeRoguelikeShikigamiReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpgradeRoguelikeShikigamiReq_proto_goTypes = []interface{}{
+ (*UpgradeRoguelikeShikigamiReq)(nil), // 0: proto.UpgradeRoguelikeShikigamiReq
+}
+var file_UpgradeRoguelikeShikigamiReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpgradeRoguelikeShikigamiReq_proto_init() }
+func file_UpgradeRoguelikeShikigamiReq_proto_init() {
+ if File_UpgradeRoguelikeShikigamiReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpgradeRoguelikeShikigamiReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpgradeRoguelikeShikigamiReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpgradeRoguelikeShikigamiReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpgradeRoguelikeShikigamiReq_proto_goTypes,
+ DependencyIndexes: file_UpgradeRoguelikeShikigamiReq_proto_depIdxs,
+ MessageInfos: file_UpgradeRoguelikeShikigamiReq_proto_msgTypes,
+ }.Build()
+ File_UpgradeRoguelikeShikigamiReq_proto = out.File
+ file_UpgradeRoguelikeShikigamiReq_proto_rawDesc = nil
+ file_UpgradeRoguelikeShikigamiReq_proto_goTypes = nil
+ file_UpgradeRoguelikeShikigamiReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UpgradeRoguelikeShikigamiRsp.pb.go b/protocol/proto/UpgradeRoguelikeShikigamiRsp.pb.go
new file mode 100644
index 00000000..4b4ac897
--- /dev/null
+++ b/protocol/proto/UpgradeRoguelikeShikigamiRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UpgradeRoguelikeShikigamiRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8966
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UpgradeRoguelikeShikigamiRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ShikigamiGroupId uint32 `protobuf:"varint,14,opt,name=shikigami_group_id,json=shikigamiGroupId,proto3" json:"shikigami_group_id,omitempty"`
+ CurLevel uint32 `protobuf:"varint,4,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+}
+
+func (x *UpgradeRoguelikeShikigamiRsp) Reset() {
+ *x = UpgradeRoguelikeShikigamiRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UpgradeRoguelikeShikigamiRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpgradeRoguelikeShikigamiRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpgradeRoguelikeShikigamiRsp) ProtoMessage() {}
+
+func (x *UpgradeRoguelikeShikigamiRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UpgradeRoguelikeShikigamiRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpgradeRoguelikeShikigamiRsp.ProtoReflect.Descriptor instead.
+func (*UpgradeRoguelikeShikigamiRsp) Descriptor() ([]byte, []int) {
+ return file_UpgradeRoguelikeShikigamiRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UpgradeRoguelikeShikigamiRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UpgradeRoguelikeShikigamiRsp) GetShikigamiGroupId() uint32 {
+ if x != nil {
+ return x.ShikigamiGroupId
+ }
+ return 0
+}
+
+func (x *UpgradeRoguelikeShikigamiRsp) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+var File_UpgradeRoguelikeShikigamiRsp_proto protoreflect.FileDescriptor
+
+var file_UpgradeRoguelikeShikigamiRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69,
+ 0x6b, 0x65, 0x53, 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x01, 0x0a, 0x1c,
+ 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x6f, 0x67, 0x75, 0x65, 0x6c, 0x69, 0x6b, 0x65,
+ 0x53, 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x68, 0x69, 0x6b, 0x69, 0x67,
+ 0x61, 0x6d, 0x69, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x10, 0x73, 0x68, 0x69, 0x6b, 0x69, 0x67, 0x61, 0x6d, 0x69, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76, 0x65,
+ 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76, 0x65,
+ 0x6c, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UpgradeRoguelikeShikigamiRsp_proto_rawDescOnce sync.Once
+ file_UpgradeRoguelikeShikigamiRsp_proto_rawDescData = file_UpgradeRoguelikeShikigamiRsp_proto_rawDesc
+)
+
+func file_UpgradeRoguelikeShikigamiRsp_proto_rawDescGZIP() []byte {
+ file_UpgradeRoguelikeShikigamiRsp_proto_rawDescOnce.Do(func() {
+ file_UpgradeRoguelikeShikigamiRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UpgradeRoguelikeShikigamiRsp_proto_rawDescData)
+ })
+ return file_UpgradeRoguelikeShikigamiRsp_proto_rawDescData
+}
+
+var file_UpgradeRoguelikeShikigamiRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UpgradeRoguelikeShikigamiRsp_proto_goTypes = []interface{}{
+ (*UpgradeRoguelikeShikigamiRsp)(nil), // 0: proto.UpgradeRoguelikeShikigamiRsp
+}
+var file_UpgradeRoguelikeShikigamiRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UpgradeRoguelikeShikigamiRsp_proto_init() }
+func file_UpgradeRoguelikeShikigamiRsp_proto_init() {
+ if File_UpgradeRoguelikeShikigamiRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UpgradeRoguelikeShikigamiRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpgradeRoguelikeShikigamiRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UpgradeRoguelikeShikigamiRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UpgradeRoguelikeShikigamiRsp_proto_goTypes,
+ DependencyIndexes: file_UpgradeRoguelikeShikigamiRsp_proto_depIdxs,
+ MessageInfos: file_UpgradeRoguelikeShikigamiRsp_proto_msgTypes,
+ }.Build()
+ File_UpgradeRoguelikeShikigamiRsp_proto = out.File
+ file_UpgradeRoguelikeShikigamiRsp_proto_rawDesc = nil
+ file_UpgradeRoguelikeShikigamiRsp_proto_goTypes = nil
+ file_UpgradeRoguelikeShikigamiRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UseItemReq.pb.go b/protocol/proto/UseItemReq.pb.go
new file mode 100644
index 00000000..be7d0aa3
--- /dev/null
+++ b/protocol/proto/UseItemReq.pb.go
@@ -0,0 +1,202 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UseItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 690
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UseItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Count uint32 `protobuf:"varint,13,opt,name=count,proto3" json:"count,omitempty"`
+ TargetGuid uint64 `protobuf:"varint,14,opt,name=target_guid,json=targetGuid,proto3" json:"target_guid,omitempty"`
+ Guid uint64 `protobuf:"varint,10,opt,name=guid,proto3" json:"guid,omitempty"`
+ IsEnterMpDungeonTeam bool `protobuf:"varint,15,opt,name=is_enter_mp_dungeon_team,json=isEnterMpDungeonTeam,proto3" json:"is_enter_mp_dungeon_team,omitempty"`
+ OptionIdx uint32 `protobuf:"varint,7,opt,name=option_idx,json=optionIdx,proto3" json:"option_idx,omitempty"`
+}
+
+func (x *UseItemReq) Reset() {
+ *x = UseItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UseItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseItemReq) ProtoMessage() {}
+
+func (x *UseItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UseItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseItemReq.ProtoReflect.Descriptor instead.
+func (*UseItemReq) Descriptor() ([]byte, []int) {
+ return file_UseItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UseItemReq) GetCount() uint32 {
+ if x != nil {
+ return x.Count
+ }
+ return 0
+}
+
+func (x *UseItemReq) GetTargetGuid() uint64 {
+ if x != nil {
+ return x.TargetGuid
+ }
+ return 0
+}
+
+func (x *UseItemReq) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *UseItemReq) GetIsEnterMpDungeonTeam() bool {
+ if x != nil {
+ return x.IsEnterMpDungeonTeam
+ }
+ return false
+}
+
+func (x *UseItemReq) GetOptionIdx() uint32 {
+ if x != nil {
+ return x.OptionIdx
+ }
+ return 0
+}
+
+var File_UseItemReq_proto protoreflect.FileDescriptor
+
+var file_UseItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x01, 0x0a, 0x0a, 0x55, 0x73,
+ 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x75, 0x69, 0x64, 0x12,
+ 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67,
+ 0x75, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f,
+ 0x6d, 0x70, 0x5f, 0x64, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x4d, 0x70,
+ 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x78, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UseItemReq_proto_rawDescOnce sync.Once
+ file_UseItemReq_proto_rawDescData = file_UseItemReq_proto_rawDesc
+)
+
+func file_UseItemReq_proto_rawDescGZIP() []byte {
+ file_UseItemReq_proto_rawDescOnce.Do(func() {
+ file_UseItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UseItemReq_proto_rawDescData)
+ })
+ return file_UseItemReq_proto_rawDescData
+}
+
+var file_UseItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UseItemReq_proto_goTypes = []interface{}{
+ (*UseItemReq)(nil), // 0: proto.UseItemReq
+}
+var file_UseItemReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UseItemReq_proto_init() }
+func file_UseItemReq_proto_init() {
+ if File_UseItemReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UseItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UseItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UseItemReq_proto_goTypes,
+ DependencyIndexes: file_UseItemReq_proto_depIdxs,
+ MessageInfos: file_UseItemReq_proto_msgTypes,
+ }.Build()
+ File_UseItemReq_proto = out.File
+ file_UseItemReq_proto_rawDesc = nil
+ file_UseItemReq_proto_goTypes = nil
+ file_UseItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UseItemRsp.pb.go b/protocol/proto/UseItemRsp.pb.go
new file mode 100644
index 00000000..75fa47c5
--- /dev/null
+++ b/protocol/proto/UseItemRsp.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UseItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 673
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UseItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Guid uint64 `protobuf:"varint,5,opt,name=guid,proto3" json:"guid,omitempty"`
+ TargetGuid uint64 `protobuf:"varint,1,opt,name=target_guid,json=targetGuid,proto3" json:"target_guid,omitempty"`
+ ItemId uint32 `protobuf:"varint,4,opt,name=item_id,json=itemId,proto3" json:"item_id,omitempty"`
+ OptionIdx uint32 `protobuf:"varint,8,opt,name=option_idx,json=optionIdx,proto3" json:"option_idx,omitempty"`
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *UseItemRsp) Reset() {
+ *x = UseItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UseItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseItemRsp) ProtoMessage() {}
+
+func (x *UseItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UseItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseItemRsp.ProtoReflect.Descriptor instead.
+func (*UseItemRsp) Descriptor() ([]byte, []int) {
+ return file_UseItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UseItemRsp) GetGuid() uint64 {
+ if x != nil {
+ return x.Guid
+ }
+ return 0
+}
+
+func (x *UseItemRsp) GetTargetGuid() uint64 {
+ if x != nil {
+ return x.TargetGuid
+ }
+ return 0
+}
+
+func (x *UseItemRsp) GetItemId() uint32 {
+ if x != nil {
+ return x.ItemId
+ }
+ return 0
+}
+
+func (x *UseItemRsp) GetOptionIdx() uint32 {
+ if x != nil {
+ return x.OptionIdx
+ }
+ return 0
+}
+
+func (x *UseItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_UseItemRsp_proto protoreflect.FileDescriptor
+
+var file_UseItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x55, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x0a, 0x55, 0x73,
+ 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a,
+ 0x07, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
+ 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x69, 0x64, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x64, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UseItemRsp_proto_rawDescOnce sync.Once
+ file_UseItemRsp_proto_rawDescData = file_UseItemRsp_proto_rawDesc
+)
+
+func file_UseItemRsp_proto_rawDescGZIP() []byte {
+ file_UseItemRsp_proto_rawDescOnce.Do(func() {
+ file_UseItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UseItemRsp_proto_rawDescData)
+ })
+ return file_UseItemRsp_proto_rawDescData
+}
+
+var file_UseItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UseItemRsp_proto_goTypes = []interface{}{
+ (*UseItemRsp)(nil), // 0: proto.UseItemRsp
+}
+var file_UseItemRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UseItemRsp_proto_init() }
+func file_UseItemRsp_proto_init() {
+ if File_UseItemRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UseItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UseItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UseItemRsp_proto_goTypes,
+ DependencyIndexes: file_UseItemRsp_proto_depIdxs,
+ MessageInfos: file_UseItemRsp_proto_msgTypes,
+ }.Build()
+ File_UseItemRsp_proto = out.File
+ file_UseItemRsp_proto_rawDesc = nil
+ file_UseItemRsp_proto_goTypes = nil
+ file_UseItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UseMiracleRingReq.pb.go b/protocol/proto/UseMiracleRingReq.pb.go
new file mode 100644
index 00000000..e8c7225e
--- /dev/null
+++ b/protocol/proto/UseMiracleRingReq.pb.go
@@ -0,0 +1,249 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UseMiracleRingReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type UseMiracleRingReq_MiracleRingOpType int32
+
+const (
+ UseMiracleRingReq_MIRACLE_RING_OP_TYPE_NONE UseMiracleRingReq_MiracleRingOpType = 0
+ UseMiracleRingReq_MIRACLE_RING_OP_TYPE_PLACE UseMiracleRingReq_MiracleRingOpType = 1
+ UseMiracleRingReq_MIRACLE_RING_OP_TYPE_RETRACT UseMiracleRingReq_MiracleRingOpType = 2
+)
+
+// Enum value maps for UseMiracleRingReq_MiracleRingOpType.
+var (
+ UseMiracleRingReq_MiracleRingOpType_name = map[int32]string{
+ 0: "MIRACLE_RING_OP_TYPE_NONE",
+ 1: "MIRACLE_RING_OP_TYPE_PLACE",
+ 2: "MIRACLE_RING_OP_TYPE_RETRACT",
+ }
+ UseMiracleRingReq_MiracleRingOpType_value = map[string]int32{
+ "MIRACLE_RING_OP_TYPE_NONE": 0,
+ "MIRACLE_RING_OP_TYPE_PLACE": 1,
+ "MIRACLE_RING_OP_TYPE_RETRACT": 2,
+ }
+)
+
+func (x UseMiracleRingReq_MiracleRingOpType) Enum() *UseMiracleRingReq_MiracleRingOpType {
+ p := new(UseMiracleRingReq_MiracleRingOpType)
+ *p = x
+ return p
+}
+
+func (x UseMiracleRingReq_MiracleRingOpType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (UseMiracleRingReq_MiracleRingOpType) Descriptor() protoreflect.EnumDescriptor {
+ return file_UseMiracleRingReq_proto_enumTypes[0].Descriptor()
+}
+
+func (UseMiracleRingReq_MiracleRingOpType) Type() protoreflect.EnumType {
+ return &file_UseMiracleRingReq_proto_enumTypes[0]
+}
+
+func (x UseMiracleRingReq_MiracleRingOpType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use UseMiracleRingReq_MiracleRingOpType.Descriptor instead.
+func (UseMiracleRingReq_MiracleRingOpType) EnumDescriptor() ([]byte, []int) {
+ return file_UseMiracleRingReq_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 5226
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UseMiracleRingReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MiracleRingOpType uint32 `protobuf:"varint,13,opt,name=miracle_ring_op_type,json=miracleRingOpType,proto3" json:"miracle_ring_op_type,omitempty"`
+ Pos *Vector `protobuf:"bytes,8,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,7,opt,name=rot,proto3" json:"rot,omitempty"`
+}
+
+func (x *UseMiracleRingReq) Reset() {
+ *x = UseMiracleRingReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UseMiracleRingReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseMiracleRingReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseMiracleRingReq) ProtoMessage() {}
+
+func (x *UseMiracleRingReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UseMiracleRingReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseMiracleRingReq.ProtoReflect.Descriptor instead.
+func (*UseMiracleRingReq) Descriptor() ([]byte, []int) {
+ return file_UseMiracleRingReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UseMiracleRingReq) GetMiracleRingOpType() uint32 {
+ if x != nil {
+ return x.MiracleRingOpType
+ }
+ return 0
+}
+
+func (x *UseMiracleRingReq) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *UseMiracleRingReq) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+var File_UseMiracleRingReq_proto protoreflect.FileDescriptor
+
+var file_UseMiracleRingReq_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x55, 0x73, 0x65, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc,
+ 0x01, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e,
+ 0x67, 0x52, 0x65, 0x71, 0x12, 0x2f, 0x0a, 0x14, 0x6d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x11, 0x6d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x4f,
+ 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f,
+ 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x22, 0x74, 0x0a, 0x11, 0x4d, 0x69, 0x72, 0x61, 0x63,
+ 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19,
+ 0x4d, 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4d,
+ 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x4d,
+ 0x49, 0x52, 0x41, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x41, 0x43, 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_UseMiracleRingReq_proto_rawDescOnce sync.Once
+ file_UseMiracleRingReq_proto_rawDescData = file_UseMiracleRingReq_proto_rawDesc
+)
+
+func file_UseMiracleRingReq_proto_rawDescGZIP() []byte {
+ file_UseMiracleRingReq_proto_rawDescOnce.Do(func() {
+ file_UseMiracleRingReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UseMiracleRingReq_proto_rawDescData)
+ })
+ return file_UseMiracleRingReq_proto_rawDescData
+}
+
+var file_UseMiracleRingReq_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_UseMiracleRingReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UseMiracleRingReq_proto_goTypes = []interface{}{
+ (UseMiracleRingReq_MiracleRingOpType)(0), // 0: proto.UseMiracleRingReq.MiracleRingOpType
+ (*UseMiracleRingReq)(nil), // 1: proto.UseMiracleRingReq
+ (*Vector)(nil), // 2: proto.Vector
+}
+var file_UseMiracleRingReq_proto_depIdxs = []int32{
+ 2, // 0: proto.UseMiracleRingReq.pos:type_name -> proto.Vector
+ 2, // 1: proto.UseMiracleRingReq.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_UseMiracleRingReq_proto_init() }
+func file_UseMiracleRingReq_proto_init() {
+ if File_UseMiracleRingReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_UseMiracleRingReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseMiracleRingReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UseMiracleRingReq_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UseMiracleRingReq_proto_goTypes,
+ DependencyIndexes: file_UseMiracleRingReq_proto_depIdxs,
+ EnumInfos: file_UseMiracleRingReq_proto_enumTypes,
+ MessageInfos: file_UseMiracleRingReq_proto_msgTypes,
+ }.Build()
+ File_UseMiracleRingReq_proto = out.File
+ file_UseMiracleRingReq_proto_rawDesc = nil
+ file_UseMiracleRingReq_proto_goTypes = nil
+ file_UseMiracleRingReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UseMiracleRingRsp.pb.go b/protocol/proto/UseMiracleRingRsp.pb.go
new file mode 100644
index 00000000..9116f85f
--- /dev/null
+++ b/protocol/proto/UseMiracleRingRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UseMiracleRingRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5218
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UseMiracleRingRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MiracleRingOpType uint32 `protobuf:"varint,7,opt,name=miracle_ring_op_type,json=miracleRingOpType,proto3" json:"miracle_ring_op_type,omitempty"`
+}
+
+func (x *UseMiracleRingRsp) Reset() {
+ *x = UseMiracleRingRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UseMiracleRingRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseMiracleRingRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseMiracleRingRsp) ProtoMessage() {}
+
+func (x *UseMiracleRingRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UseMiracleRingRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseMiracleRingRsp.ProtoReflect.Descriptor instead.
+func (*UseMiracleRingRsp) Descriptor() ([]byte, []int) {
+ return file_UseMiracleRingRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UseMiracleRingRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UseMiracleRingRsp) GetMiracleRingOpType() uint32 {
+ if x != nil {
+ return x.MiracleRingOpType
+ }
+ return 0
+}
+
+var File_UseMiracleRingRsp_proto protoreflect.FileDescriptor
+
+var file_UseMiracleRingRsp_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x55, 0x73, 0x65, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x5e, 0x0a, 0x11, 0x55, 0x73, 0x65, 0x4d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69,
+ 0x6e, 0x67, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x2f, 0x0a, 0x14, 0x6d, 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f,
+ 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6d,
+ 0x69, 0x72, 0x61, 0x63, 0x6c, 0x65, 0x52, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UseMiracleRingRsp_proto_rawDescOnce sync.Once
+ file_UseMiracleRingRsp_proto_rawDescData = file_UseMiracleRingRsp_proto_rawDesc
+)
+
+func file_UseMiracleRingRsp_proto_rawDescGZIP() []byte {
+ file_UseMiracleRingRsp_proto_rawDescOnce.Do(func() {
+ file_UseMiracleRingRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UseMiracleRingRsp_proto_rawDescData)
+ })
+ return file_UseMiracleRingRsp_proto_rawDescData
+}
+
+var file_UseMiracleRingRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UseMiracleRingRsp_proto_goTypes = []interface{}{
+ (*UseMiracleRingRsp)(nil), // 0: proto.UseMiracleRingRsp
+}
+var file_UseMiracleRingRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UseMiracleRingRsp_proto_init() }
+func file_UseMiracleRingRsp_proto_init() {
+ if File_UseMiracleRingRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UseMiracleRingRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseMiracleRingRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UseMiracleRingRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UseMiracleRingRsp_proto_goTypes,
+ DependencyIndexes: file_UseMiracleRingRsp_proto_depIdxs,
+ MessageInfos: file_UseMiracleRingRsp_proto_msgTypes,
+ }.Build()
+ File_UseMiracleRingRsp_proto = out.File
+ file_UseMiracleRingRsp_proto_rawDesc = nil
+ file_UseMiracleRingRsp_proto_goTypes = nil
+ file_UseMiracleRingRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UseWidgetCreateGadgetReq.pb.go b/protocol/proto/UseWidgetCreateGadgetReq.pb.go
new file mode 100644
index 00000000..bdafc0cd
--- /dev/null
+++ b/protocol/proto/UseWidgetCreateGadgetReq.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UseWidgetCreateGadgetReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4293
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UseWidgetCreateGadgetReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,15,opt,name=pos,proto3" json:"pos,omitempty"`
+ Rot *Vector `protobuf:"bytes,12,opt,name=rot,proto3" json:"rot,omitempty"`
+ MaterialId uint32 `protobuf:"varint,4,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *UseWidgetCreateGadgetReq) Reset() {
+ *x = UseWidgetCreateGadgetReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UseWidgetCreateGadgetReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseWidgetCreateGadgetReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseWidgetCreateGadgetReq) ProtoMessage() {}
+
+func (x *UseWidgetCreateGadgetReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UseWidgetCreateGadgetReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseWidgetCreateGadgetReq.ProtoReflect.Descriptor instead.
+func (*UseWidgetCreateGadgetReq) Descriptor() ([]byte, []int) {
+ return file_UseWidgetCreateGadgetReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UseWidgetCreateGadgetReq) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *UseWidgetCreateGadgetReq) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *UseWidgetCreateGadgetReq) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_UseWidgetCreateGadgetReq_proto protoreflect.FileDescriptor
+
+var file_UseWidgetCreateGadgetReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x55, 0x73, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7d, 0x0a, 0x18, 0x55, 0x73, 0x65, 0x57, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70,
+ 0x6f, 0x73, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x72, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f,
+ 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69,
+ 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UseWidgetCreateGadgetReq_proto_rawDescOnce sync.Once
+ file_UseWidgetCreateGadgetReq_proto_rawDescData = file_UseWidgetCreateGadgetReq_proto_rawDesc
+)
+
+func file_UseWidgetCreateGadgetReq_proto_rawDescGZIP() []byte {
+ file_UseWidgetCreateGadgetReq_proto_rawDescOnce.Do(func() {
+ file_UseWidgetCreateGadgetReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UseWidgetCreateGadgetReq_proto_rawDescData)
+ })
+ return file_UseWidgetCreateGadgetReq_proto_rawDescData
+}
+
+var file_UseWidgetCreateGadgetReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UseWidgetCreateGadgetReq_proto_goTypes = []interface{}{
+ (*UseWidgetCreateGadgetReq)(nil), // 0: proto.UseWidgetCreateGadgetReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_UseWidgetCreateGadgetReq_proto_depIdxs = []int32{
+ 1, // 0: proto.UseWidgetCreateGadgetReq.pos:type_name -> proto.Vector
+ 1, // 1: proto.UseWidgetCreateGadgetReq.rot:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_UseWidgetCreateGadgetReq_proto_init() }
+func file_UseWidgetCreateGadgetReq_proto_init() {
+ if File_UseWidgetCreateGadgetReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_UseWidgetCreateGadgetReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseWidgetCreateGadgetReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UseWidgetCreateGadgetReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UseWidgetCreateGadgetReq_proto_goTypes,
+ DependencyIndexes: file_UseWidgetCreateGadgetReq_proto_depIdxs,
+ MessageInfos: file_UseWidgetCreateGadgetReq_proto_msgTypes,
+ }.Build()
+ File_UseWidgetCreateGadgetReq_proto = out.File
+ file_UseWidgetCreateGadgetReq_proto_rawDesc = nil
+ file_UseWidgetCreateGadgetReq_proto_goTypes = nil
+ file_UseWidgetCreateGadgetReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UseWidgetCreateGadgetRsp.pb.go b/protocol/proto/UseWidgetCreateGadgetRsp.pb.go
new file mode 100644
index 00000000..66bdfb8b
--- /dev/null
+++ b/protocol/proto/UseWidgetCreateGadgetRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UseWidgetCreateGadgetRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4290
+// EnetChannelId: 0
+// EnetIsReliable: true
+type UseWidgetCreateGadgetRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MaterialId uint32 `protobuf:"varint,12,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *UseWidgetCreateGadgetRsp) Reset() {
+ *x = UseWidgetCreateGadgetRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UseWidgetCreateGadgetRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseWidgetCreateGadgetRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseWidgetCreateGadgetRsp) ProtoMessage() {}
+
+func (x *UseWidgetCreateGadgetRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UseWidgetCreateGadgetRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseWidgetCreateGadgetRsp.ProtoReflect.Descriptor instead.
+func (*UseWidgetCreateGadgetRsp) Descriptor() ([]byte, []int) {
+ return file_UseWidgetCreateGadgetRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UseWidgetCreateGadgetRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UseWidgetCreateGadgetRsp) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_UseWidgetCreateGadgetRsp_proto protoreflect.FileDescriptor
+
+var file_UseWidgetCreateGadgetRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x55, 0x73, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x18, 0x55, 0x73, 0x65, 0x57, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_UseWidgetCreateGadgetRsp_proto_rawDescOnce sync.Once
+ file_UseWidgetCreateGadgetRsp_proto_rawDescData = file_UseWidgetCreateGadgetRsp_proto_rawDesc
+)
+
+func file_UseWidgetCreateGadgetRsp_proto_rawDescGZIP() []byte {
+ file_UseWidgetCreateGadgetRsp_proto_rawDescOnce.Do(func() {
+ file_UseWidgetCreateGadgetRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UseWidgetCreateGadgetRsp_proto_rawDescData)
+ })
+ return file_UseWidgetCreateGadgetRsp_proto_rawDescData
+}
+
+var file_UseWidgetCreateGadgetRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UseWidgetCreateGadgetRsp_proto_goTypes = []interface{}{
+ (*UseWidgetCreateGadgetRsp)(nil), // 0: proto.UseWidgetCreateGadgetRsp
+}
+var file_UseWidgetCreateGadgetRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UseWidgetCreateGadgetRsp_proto_init() }
+func file_UseWidgetCreateGadgetRsp_proto_init() {
+ if File_UseWidgetCreateGadgetRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UseWidgetCreateGadgetRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseWidgetCreateGadgetRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UseWidgetCreateGadgetRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UseWidgetCreateGadgetRsp_proto_goTypes,
+ DependencyIndexes: file_UseWidgetCreateGadgetRsp_proto_depIdxs,
+ MessageInfos: file_UseWidgetCreateGadgetRsp_proto_msgTypes,
+ }.Build()
+ File_UseWidgetCreateGadgetRsp_proto = out.File
+ file_UseWidgetCreateGadgetRsp_proto_rawDesc = nil
+ file_UseWidgetCreateGadgetRsp_proto_goTypes = nil
+ file_UseWidgetCreateGadgetRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UseWidgetRetractGadgetReq.pb.go b/protocol/proto/UseWidgetRetractGadgetReq.pb.go
new file mode 100644
index 00000000..75a6417d
--- /dev/null
+++ b/protocol/proto/UseWidgetRetractGadgetReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UseWidgetRetractGadgetReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4286
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UseWidgetRetractGadgetReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,3,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *UseWidgetRetractGadgetReq) Reset() {
+ *x = UseWidgetRetractGadgetReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UseWidgetRetractGadgetReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseWidgetRetractGadgetReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseWidgetRetractGadgetReq) ProtoMessage() {}
+
+func (x *UseWidgetRetractGadgetReq) ProtoReflect() protoreflect.Message {
+ mi := &file_UseWidgetRetractGadgetReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseWidgetRetractGadgetReq.ProtoReflect.Descriptor instead.
+func (*UseWidgetRetractGadgetReq) Descriptor() ([]byte, []int) {
+ return file_UseWidgetRetractGadgetReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UseWidgetRetractGadgetReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_UseWidgetRetractGadgetReq_proto protoreflect.FileDescriptor
+
+var file_UseWidgetRetractGadgetReq_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x55, 0x73, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x74, 0x72, 0x61,
+ 0x63, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x19, 0x55, 0x73, 0x65, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UseWidgetRetractGadgetReq_proto_rawDescOnce sync.Once
+ file_UseWidgetRetractGadgetReq_proto_rawDescData = file_UseWidgetRetractGadgetReq_proto_rawDesc
+)
+
+func file_UseWidgetRetractGadgetReq_proto_rawDescGZIP() []byte {
+ file_UseWidgetRetractGadgetReq_proto_rawDescOnce.Do(func() {
+ file_UseWidgetRetractGadgetReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_UseWidgetRetractGadgetReq_proto_rawDescData)
+ })
+ return file_UseWidgetRetractGadgetReq_proto_rawDescData
+}
+
+var file_UseWidgetRetractGadgetReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UseWidgetRetractGadgetReq_proto_goTypes = []interface{}{
+ (*UseWidgetRetractGadgetReq)(nil), // 0: proto.UseWidgetRetractGadgetReq
+}
+var file_UseWidgetRetractGadgetReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UseWidgetRetractGadgetReq_proto_init() }
+func file_UseWidgetRetractGadgetReq_proto_init() {
+ if File_UseWidgetRetractGadgetReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UseWidgetRetractGadgetReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseWidgetRetractGadgetReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UseWidgetRetractGadgetReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UseWidgetRetractGadgetReq_proto_goTypes,
+ DependencyIndexes: file_UseWidgetRetractGadgetReq_proto_depIdxs,
+ MessageInfos: file_UseWidgetRetractGadgetReq_proto_msgTypes,
+ }.Build()
+ File_UseWidgetRetractGadgetReq_proto = out.File
+ file_UseWidgetRetractGadgetReq_proto_rawDesc = nil
+ file_UseWidgetRetractGadgetReq_proto_goTypes = nil
+ file_UseWidgetRetractGadgetReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/UseWidgetRetractGadgetRsp.pb.go b/protocol/proto/UseWidgetRetractGadgetRsp.pb.go
new file mode 100644
index 00000000..b6115394
--- /dev/null
+++ b/protocol/proto/UseWidgetRetractGadgetRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: UseWidgetRetractGadgetRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4261
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type UseWidgetRetractGadgetRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EntityId uint32 `protobuf:"varint,14,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *UseWidgetRetractGadgetRsp) Reset() {
+ *x = UseWidgetRetractGadgetRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_UseWidgetRetractGadgetRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseWidgetRetractGadgetRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseWidgetRetractGadgetRsp) ProtoMessage() {}
+
+func (x *UseWidgetRetractGadgetRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_UseWidgetRetractGadgetRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseWidgetRetractGadgetRsp.ProtoReflect.Descriptor instead.
+func (*UseWidgetRetractGadgetRsp) Descriptor() ([]byte, []int) {
+ return file_UseWidgetRetractGadgetRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *UseWidgetRetractGadgetRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *UseWidgetRetractGadgetRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_UseWidgetRetractGadgetRsp_proto protoreflect.FileDescriptor
+
+var file_UseWidgetRetractGadgetRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x55, 0x73, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x74, 0x72, 0x61,
+ 0x63, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x19, 0x55, 0x73, 0x65, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x74, 0x72, 0x61, 0x63, 0x74, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_UseWidgetRetractGadgetRsp_proto_rawDescOnce sync.Once
+ file_UseWidgetRetractGadgetRsp_proto_rawDescData = file_UseWidgetRetractGadgetRsp_proto_rawDesc
+)
+
+func file_UseWidgetRetractGadgetRsp_proto_rawDescGZIP() []byte {
+ file_UseWidgetRetractGadgetRsp_proto_rawDescOnce.Do(func() {
+ file_UseWidgetRetractGadgetRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_UseWidgetRetractGadgetRsp_proto_rawDescData)
+ })
+ return file_UseWidgetRetractGadgetRsp_proto_rawDescData
+}
+
+var file_UseWidgetRetractGadgetRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_UseWidgetRetractGadgetRsp_proto_goTypes = []interface{}{
+ (*UseWidgetRetractGadgetRsp)(nil), // 0: proto.UseWidgetRetractGadgetRsp
+}
+var file_UseWidgetRetractGadgetRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_UseWidgetRetractGadgetRsp_proto_init() }
+func file_UseWidgetRetractGadgetRsp_proto_init() {
+ if File_UseWidgetRetractGadgetRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_UseWidgetRetractGadgetRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseWidgetRetractGadgetRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_UseWidgetRetractGadgetRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_UseWidgetRetractGadgetRsp_proto_goTypes,
+ DependencyIndexes: file_UseWidgetRetractGadgetRsp_proto_depIdxs,
+ MessageInfos: file_UseWidgetRetractGadgetRsp_proto_msgTypes,
+ }.Build()
+ File_UseWidgetRetractGadgetRsp_proto = out.File
+ file_UseWidgetRetractGadgetRsp_proto_rawDesc = nil
+ file_UseWidgetRetractGadgetRsp_proto_goTypes = nil
+ file_UseWidgetRetractGadgetRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Vector.pb.go b/protocol/proto/Vector.pb.go
new file mode 100644
index 00000000..18ba3ef9
--- /dev/null
+++ b/protocol/proto/Vector.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Vector.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Vector struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
+ Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
+ Z float32 `protobuf:"fixed32,3,opt,name=z,proto3" json:"z,omitempty"`
+}
+
+func (x *Vector) Reset() {
+ *x = Vector{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Vector_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Vector) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Vector) ProtoMessage() {}
+
+func (x *Vector) ProtoReflect() protoreflect.Message {
+ mi := &file_Vector_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Vector.ProtoReflect.Descriptor instead.
+func (*Vector) Descriptor() ([]byte, []int) {
+ return file_Vector_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Vector) GetX() float32 {
+ if x != nil {
+ return x.X
+ }
+ return 0
+}
+
+func (x *Vector) GetY() float32 {
+ if x != nil {
+ return x.Y
+ }
+ return 0
+}
+
+func (x *Vector) GetZ() float32 {
+ if x != nil {
+ return x.Z
+ }
+ return 0
+}
+
+var File_Vector_proto protoreflect.FileDescriptor
+
+var file_Vector_proto_rawDesc = []byte{
+ 0x0a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x06, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12,
+ 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a,
+ 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x7a, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Vector_proto_rawDescOnce sync.Once
+ file_Vector_proto_rawDescData = file_Vector_proto_rawDesc
+)
+
+func file_Vector_proto_rawDescGZIP() []byte {
+ file_Vector_proto_rawDescOnce.Do(func() {
+ file_Vector_proto_rawDescData = protoimpl.X.CompressGZIP(file_Vector_proto_rawDescData)
+ })
+ return file_Vector_proto_rawDescData
+}
+
+var file_Vector_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Vector_proto_goTypes = []interface{}{
+ (*Vector)(nil), // 0: proto.Vector
+}
+var file_Vector_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_Vector_proto_init() }
+func file_Vector_proto_init() {
+ if File_Vector_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Vector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Vector); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Vector_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Vector_proto_goTypes,
+ DependencyIndexes: file_Vector_proto_depIdxs,
+ MessageInfos: file_Vector_proto_msgTypes,
+ }.Build()
+ File_Vector_proto = out.File
+ file_Vector_proto_rawDesc = nil
+ file_Vector_proto_goTypes = nil
+ file_Vector_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Vector3Int.pb.go b/protocol/proto/Vector3Int.pb.go
new file mode 100644
index 00000000..d8041b09
--- /dev/null
+++ b/protocol/proto/Vector3Int.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Vector3Int.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Vector3Int struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ X int32 `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
+ Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
+ Z int32 `protobuf:"varint,3,opt,name=z,proto3" json:"z,omitempty"`
+}
+
+func (x *Vector3Int) Reset() {
+ *x = Vector3Int{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Vector3Int_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Vector3Int) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Vector3Int) ProtoMessage() {}
+
+func (x *Vector3Int) ProtoReflect() protoreflect.Message {
+ mi := &file_Vector3Int_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Vector3Int.ProtoReflect.Descriptor instead.
+func (*Vector3Int) Descriptor() ([]byte, []int) {
+ return file_Vector3Int_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Vector3Int) GetX() int32 {
+ if x != nil {
+ return x.X
+ }
+ return 0
+}
+
+func (x *Vector3Int) GetY() int32 {
+ if x != nil {
+ return x.Y
+ }
+ return 0
+}
+
+func (x *Vector3Int) GetZ() int32 {
+ if x != nil {
+ return x.Z
+ }
+ return 0
+}
+
+var File_Vector3Int_proto protoreflect.FileDescriptor
+
+var file_Vector3Int_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x0a, 0x56, 0x65, 0x63,
+ 0x74, 0x6f, 0x72, 0x33, 0x49, 0x6e, 0x74, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
+ 0x7a, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Vector3Int_proto_rawDescOnce sync.Once
+ file_Vector3Int_proto_rawDescData = file_Vector3Int_proto_rawDesc
+)
+
+func file_Vector3Int_proto_rawDescGZIP() []byte {
+ file_Vector3Int_proto_rawDescOnce.Do(func() {
+ file_Vector3Int_proto_rawDescData = protoimpl.X.CompressGZIP(file_Vector3Int_proto_rawDescData)
+ })
+ return file_Vector3Int_proto_rawDescData
+}
+
+var file_Vector3Int_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_Vector3Int_proto_goTypes = []interface{}{
+ (*Vector3Int)(nil), // 0: proto.Vector3Int
+}
+var file_Vector3Int_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_Vector3Int_proto_init() }
+func file_Vector3Int_proto_init() {
+ if File_Vector3Int_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Vector3Int_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Vector3Int); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Vector3Int_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Vector3Int_proto_goTypes,
+ DependencyIndexes: file_Vector3Int_proto_depIdxs,
+ MessageInfos: file_Vector3Int_proto_msgTypes,
+ }.Build()
+ File_Vector3Int_proto = out.File
+ file_Vector3Int_proto_rawDesc = nil
+ file_Vector3Int_proto_goTypes = nil
+ file_Vector3Int_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VectorPlane.pb.go b/protocol/proto/VectorPlane.pb.go
new file mode 100644
index 00000000..746f4428
--- /dev/null
+++ b/protocol/proto/VectorPlane.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VectorPlane.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VectorPlane struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
+ Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
+}
+
+func (x *VectorPlane) Reset() {
+ *x = VectorPlane{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VectorPlane_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VectorPlane) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VectorPlane) ProtoMessage() {}
+
+func (x *VectorPlane) ProtoReflect() protoreflect.Message {
+ mi := &file_VectorPlane_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VectorPlane.ProtoReflect.Descriptor instead.
+func (*VectorPlane) Descriptor() ([]byte, []int) {
+ return file_VectorPlane_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VectorPlane) GetX() float32 {
+ if x != nil {
+ return x.X
+ }
+ return 0
+}
+
+func (x *VectorPlane) GetY() float32 {
+ if x != nil {
+ return x.Y
+ }
+ return 0
+}
+
+var File_VectorPlane_proto protoreflect.FileDescriptor
+
+var file_VectorPlane_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x29, 0x0a, 0x0b, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x02, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x02, 0x52, 0x01, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VectorPlane_proto_rawDescOnce sync.Once
+ file_VectorPlane_proto_rawDescData = file_VectorPlane_proto_rawDesc
+)
+
+func file_VectorPlane_proto_rawDescGZIP() []byte {
+ file_VectorPlane_proto_rawDescOnce.Do(func() {
+ file_VectorPlane_proto_rawDescData = protoimpl.X.CompressGZIP(file_VectorPlane_proto_rawDescData)
+ })
+ return file_VectorPlane_proto_rawDescData
+}
+
+var file_VectorPlane_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VectorPlane_proto_goTypes = []interface{}{
+ (*VectorPlane)(nil), // 0: proto.VectorPlane
+}
+var file_VectorPlane_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VectorPlane_proto_init() }
+func file_VectorPlane_proto_init() {
+ if File_VectorPlane_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VectorPlane_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VectorPlane); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VectorPlane_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VectorPlane_proto_goTypes,
+ DependencyIndexes: file_VectorPlane_proto_depIdxs,
+ MessageInfos: file_VectorPlane_proto_msgTypes,
+ }.Build()
+ File_VectorPlane_proto = out.File
+ file_VectorPlane_proto_rawDesc = nil
+ file_VectorPlane_proto_goTypes = nil
+ file_VectorPlane_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VehicleInfo.pb.go b/protocol/proto/VehicleInfo.pb.go
new file mode 100644
index 00000000..1f1711b8
--- /dev/null
+++ b/protocol/proto/VehicleInfo.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VehicleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VehicleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MemberList []*VehicleMember `protobuf:"bytes,1,rep,name=member_list,json=memberList,proto3" json:"member_list,omitempty"`
+ OwnerUid uint32 `protobuf:"varint,2,opt,name=owner_uid,json=ownerUid,proto3" json:"owner_uid,omitempty"`
+ CurStamina float32 `protobuf:"fixed32,3,opt,name=cur_stamina,json=curStamina,proto3" json:"cur_stamina,omitempty"`
+}
+
+func (x *VehicleInfo) Reset() {
+ *x = VehicleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VehicleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VehicleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VehicleInfo) ProtoMessage() {}
+
+func (x *VehicleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VehicleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VehicleInfo.ProtoReflect.Descriptor instead.
+func (*VehicleInfo) Descriptor() ([]byte, []int) {
+ return file_VehicleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VehicleInfo) GetMemberList() []*VehicleMember {
+ if x != nil {
+ return x.MemberList
+ }
+ return nil
+}
+
+func (x *VehicleInfo) GetOwnerUid() uint32 {
+ if x != nil {
+ return x.OwnerUid
+ }
+ return 0
+}
+
+func (x *VehicleInfo) GetCurStamina() float32 {
+ if x != nil {
+ return x.CurStamina
+ }
+ return 0
+}
+
+var File_VehicleInfo_proto protoreflect.FileDescriptor
+
+var file_VehicleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x56, 0x65, 0x68, 0x69,
+ 0x63, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x82, 0x01, 0x0a, 0x0b, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x35, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x68,
+ 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x6d, 0x62,
+ 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f,
+ 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72,
+ 0x55, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x69,
+ 0x6e, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x75, 0x72, 0x53, 0x74, 0x61,
+ 0x6d, 0x69, 0x6e, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VehicleInfo_proto_rawDescOnce sync.Once
+ file_VehicleInfo_proto_rawDescData = file_VehicleInfo_proto_rawDesc
+)
+
+func file_VehicleInfo_proto_rawDescGZIP() []byte {
+ file_VehicleInfo_proto_rawDescOnce.Do(func() {
+ file_VehicleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VehicleInfo_proto_rawDescData)
+ })
+ return file_VehicleInfo_proto_rawDescData
+}
+
+var file_VehicleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VehicleInfo_proto_goTypes = []interface{}{
+ (*VehicleInfo)(nil), // 0: proto.VehicleInfo
+ (*VehicleMember)(nil), // 1: proto.VehicleMember
+}
+var file_VehicleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.VehicleInfo.member_list:type_name -> proto.VehicleMember
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VehicleInfo_proto_init() }
+func file_VehicleInfo_proto_init() {
+ if File_VehicleInfo_proto != nil {
+ return
+ }
+ file_VehicleMember_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VehicleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VehicleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VehicleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VehicleInfo_proto_goTypes,
+ DependencyIndexes: file_VehicleInfo_proto_depIdxs,
+ MessageInfos: file_VehicleInfo_proto_msgTypes,
+ }.Build()
+ File_VehicleInfo_proto = out.File
+ file_VehicleInfo_proto_rawDesc = nil
+ file_VehicleInfo_proto_goTypes = nil
+ file_VehicleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VehicleInteractReq.pb.go b/protocol/proto/VehicleInteractReq.pb.go
new file mode 100644
index 00000000..f5aba05f
--- /dev/null
+++ b/protocol/proto/VehicleInteractReq.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VehicleInteractReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 865
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VehicleInteractReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InteractType VehicleInteractType `protobuf:"varint,8,opt,name=interact_type,json=interactType,proto3,enum=proto.VehicleInteractType" json:"interact_type,omitempty"`
+ Pos uint32 `protobuf:"varint,12,opt,name=pos,proto3" json:"pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *VehicleInteractReq) Reset() {
+ *x = VehicleInteractReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VehicleInteractReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VehicleInteractReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VehicleInteractReq) ProtoMessage() {}
+
+func (x *VehicleInteractReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VehicleInteractReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VehicleInteractReq.ProtoReflect.Descriptor instead.
+func (*VehicleInteractReq) Descriptor() ([]byte, []int) {
+ return file_VehicleInteractReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VehicleInteractReq) GetInteractType() VehicleInteractType {
+ if x != nil {
+ return x.InteractType
+ }
+ return VehicleInteractType_VEHICLE_INTERACT_TYPE_NONE
+}
+
+func (x *VehicleInteractReq) GetPos() uint32 {
+ if x != nil {
+ return x.Pos
+ }
+ return 0
+}
+
+func (x *VehicleInteractReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_VehicleInteractReq_proto protoreflect.FileDescriptor
+
+var file_VehicleInteractReq_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63,
+ 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61,
+ 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a,
+ 0x12, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61,
+ 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74,
+ 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VehicleInteractReq_proto_rawDescOnce sync.Once
+ file_VehicleInteractReq_proto_rawDescData = file_VehicleInteractReq_proto_rawDesc
+)
+
+func file_VehicleInteractReq_proto_rawDescGZIP() []byte {
+ file_VehicleInteractReq_proto_rawDescOnce.Do(func() {
+ file_VehicleInteractReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VehicleInteractReq_proto_rawDescData)
+ })
+ return file_VehicleInteractReq_proto_rawDescData
+}
+
+var file_VehicleInteractReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VehicleInteractReq_proto_goTypes = []interface{}{
+ (*VehicleInteractReq)(nil), // 0: proto.VehicleInteractReq
+ (VehicleInteractType)(0), // 1: proto.VehicleInteractType
+}
+var file_VehicleInteractReq_proto_depIdxs = []int32{
+ 1, // 0: proto.VehicleInteractReq.interact_type:type_name -> proto.VehicleInteractType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VehicleInteractReq_proto_init() }
+func file_VehicleInteractReq_proto_init() {
+ if File_VehicleInteractReq_proto != nil {
+ return
+ }
+ file_VehicleInteractType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VehicleInteractReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VehicleInteractReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VehicleInteractReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VehicleInteractReq_proto_goTypes,
+ DependencyIndexes: file_VehicleInteractReq_proto_depIdxs,
+ MessageInfos: file_VehicleInteractReq_proto_msgTypes,
+ }.Build()
+ File_VehicleInteractReq_proto = out.File
+ file_VehicleInteractReq_proto_rawDesc = nil
+ file_VehicleInteractReq_proto_goTypes = nil
+ file_VehicleInteractReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VehicleInteractRsp.pb.go b/protocol/proto/VehicleInteractRsp.pb.go
new file mode 100644
index 00000000..2ac67baa
--- /dev/null
+++ b/protocol/proto/VehicleInteractRsp.pb.go
@@ -0,0 +1,204 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VehicleInteractRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 804
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VehicleInteractRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ InteractType VehicleInteractType `protobuf:"varint,15,opt,name=interact_type,json=interactType,proto3,enum=proto.VehicleInteractType" json:"interact_type,omitempty"`
+ Member *VehicleMember `protobuf:"bytes,3,opt,name=member,proto3" json:"member,omitempty"`
+ EntityId uint32 `protobuf:"varint,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *VehicleInteractRsp) Reset() {
+ *x = VehicleInteractRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VehicleInteractRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VehicleInteractRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VehicleInteractRsp) ProtoMessage() {}
+
+func (x *VehicleInteractRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VehicleInteractRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VehicleInteractRsp.ProtoReflect.Descriptor instead.
+func (*VehicleInteractRsp) Descriptor() ([]byte, []int) {
+ return file_VehicleInteractRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VehicleInteractRsp) GetInteractType() VehicleInteractType {
+ if x != nil {
+ return x.InteractType
+ }
+ return VehicleInteractType_VEHICLE_INTERACT_TYPE_NONE
+}
+
+func (x *VehicleInteractRsp) GetMember() *VehicleMember {
+ if x != nil {
+ return x.Member
+ }
+ return nil
+}
+
+func (x *VehicleInteractRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *VehicleInteractRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_VehicleInteractRsp_proto protoreflect.FileDescriptor
+
+var file_VehicleInteractRsp_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63,
+ 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x19, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61,
+ 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x56, 0x65,
+ 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x12, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x61, 0x63, 0x74, 0x52, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49,
+ 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x6d, 0x65, 0x6d,
+ 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52,
+ 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_VehicleInteractRsp_proto_rawDescOnce sync.Once
+ file_VehicleInteractRsp_proto_rawDescData = file_VehicleInteractRsp_proto_rawDesc
+)
+
+func file_VehicleInteractRsp_proto_rawDescGZIP() []byte {
+ file_VehicleInteractRsp_proto_rawDescOnce.Do(func() {
+ file_VehicleInteractRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VehicleInteractRsp_proto_rawDescData)
+ })
+ return file_VehicleInteractRsp_proto_rawDescData
+}
+
+var file_VehicleInteractRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VehicleInteractRsp_proto_goTypes = []interface{}{
+ (*VehicleInteractRsp)(nil), // 0: proto.VehicleInteractRsp
+ (VehicleInteractType)(0), // 1: proto.VehicleInteractType
+ (*VehicleMember)(nil), // 2: proto.VehicleMember
+}
+var file_VehicleInteractRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.VehicleInteractRsp.interact_type:type_name -> proto.VehicleInteractType
+ 2, // 1: proto.VehicleInteractRsp.member:type_name -> proto.VehicleMember
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_VehicleInteractRsp_proto_init() }
+func file_VehicleInteractRsp_proto_init() {
+ if File_VehicleInteractRsp_proto != nil {
+ return
+ }
+ file_VehicleInteractType_proto_init()
+ file_VehicleMember_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VehicleInteractRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VehicleInteractRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VehicleInteractRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VehicleInteractRsp_proto_goTypes,
+ DependencyIndexes: file_VehicleInteractRsp_proto_depIdxs,
+ MessageInfos: file_VehicleInteractRsp_proto_msgTypes,
+ }.Build()
+ File_VehicleInteractRsp_proto = out.File
+ file_VehicleInteractRsp_proto_rawDesc = nil
+ file_VehicleInteractRsp_proto_goTypes = nil
+ file_VehicleInteractRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VehicleInteractType.pb.go b/protocol/proto/VehicleInteractType.pb.go
new file mode 100644
index 00000000..f3a99c6e
--- /dev/null
+++ b/protocol/proto/VehicleInteractType.pb.go
@@ -0,0 +1,151 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VehicleInteractType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VehicleInteractType int32
+
+const (
+ VehicleInteractType_VEHICLE_INTERACT_TYPE_NONE VehicleInteractType = 0
+ VehicleInteractType_VEHICLE_INTERACT_TYPE_IN VehicleInteractType = 1
+ VehicleInteractType_VEHICLE_INTERACT_TYPE_OUT VehicleInteractType = 2
+)
+
+// Enum value maps for VehicleInteractType.
+var (
+ VehicleInteractType_name = map[int32]string{
+ 0: "VEHICLE_INTERACT_TYPE_NONE",
+ 1: "VEHICLE_INTERACT_TYPE_IN",
+ 2: "VEHICLE_INTERACT_TYPE_OUT",
+ }
+ VehicleInteractType_value = map[string]int32{
+ "VEHICLE_INTERACT_TYPE_NONE": 0,
+ "VEHICLE_INTERACT_TYPE_IN": 1,
+ "VEHICLE_INTERACT_TYPE_OUT": 2,
+ }
+)
+
+func (x VehicleInteractType) Enum() *VehicleInteractType {
+ p := new(VehicleInteractType)
+ *p = x
+ return p
+}
+
+func (x VehicleInteractType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (VehicleInteractType) Descriptor() protoreflect.EnumDescriptor {
+ return file_VehicleInteractType_proto_enumTypes[0].Descriptor()
+}
+
+func (VehicleInteractType) Type() protoreflect.EnumType {
+ return &file_VehicleInteractType_proto_enumTypes[0]
+}
+
+func (x VehicleInteractType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use VehicleInteractType.Descriptor instead.
+func (VehicleInteractType) EnumDescriptor() ([]byte, []int) {
+ return file_VehicleInteractType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_VehicleInteractType_proto protoreflect.FileDescriptor
+
+var file_VehicleInteractType_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63,
+ 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2a, 0x72, 0x0a, 0x13, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x6e, 0x74,
+ 0x65, 0x72, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x45, 0x48,
+ 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x45, 0x48,
+ 0x49, 0x43, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59,
+ 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x56, 0x45, 0x48, 0x49, 0x43,
+ 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VehicleInteractType_proto_rawDescOnce sync.Once
+ file_VehicleInteractType_proto_rawDescData = file_VehicleInteractType_proto_rawDesc
+)
+
+func file_VehicleInteractType_proto_rawDescGZIP() []byte {
+ file_VehicleInteractType_proto_rawDescOnce.Do(func() {
+ file_VehicleInteractType_proto_rawDescData = protoimpl.X.CompressGZIP(file_VehicleInteractType_proto_rawDescData)
+ })
+ return file_VehicleInteractType_proto_rawDescData
+}
+
+var file_VehicleInteractType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_VehicleInteractType_proto_goTypes = []interface{}{
+ (VehicleInteractType)(0), // 0: proto.VehicleInteractType
+}
+var file_VehicleInteractType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VehicleInteractType_proto_init() }
+func file_VehicleInteractType_proto_init() {
+ if File_VehicleInteractType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VehicleInteractType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VehicleInteractType_proto_goTypes,
+ DependencyIndexes: file_VehicleInteractType_proto_depIdxs,
+ EnumInfos: file_VehicleInteractType_proto_enumTypes,
+ }.Build()
+ File_VehicleInteractType_proto = out.File
+ file_VehicleInteractType_proto_rawDesc = nil
+ file_VehicleInteractType_proto_goTypes = nil
+ file_VehicleInteractType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VehicleLocationInfo.pb.go b/protocol/proto/VehicleLocationInfo.pb.go
new file mode 100644
index 00000000..e25314d9
--- /dev/null
+++ b/protocol/proto/VehicleLocationInfo.pb.go
@@ -0,0 +1,232 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VehicleLocationInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VehicleLocationInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,14,opt,name=rot,proto3" json:"rot,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ CurHp float32 `protobuf:"fixed32,11,opt,name=cur_hp,json=curHp,proto3" json:"cur_hp,omitempty"`
+ OwnerUid uint32 `protobuf:"varint,5,opt,name=owner_uid,json=ownerUid,proto3" json:"owner_uid,omitempty"`
+ Pos *Vector `protobuf:"bytes,1,opt,name=pos,proto3" json:"pos,omitempty"`
+ UidList []uint32 `protobuf:"varint,3,rep,packed,name=uid_list,json=uidList,proto3" json:"uid_list,omitempty"`
+ GadgetId uint32 `protobuf:"varint,13,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+ MaxHp float32 `protobuf:"fixed32,6,opt,name=max_hp,json=maxHp,proto3" json:"max_hp,omitempty"`
+}
+
+func (x *VehicleLocationInfo) Reset() {
+ *x = VehicleLocationInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VehicleLocationInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VehicleLocationInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VehicleLocationInfo) ProtoMessage() {}
+
+func (x *VehicleLocationInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VehicleLocationInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VehicleLocationInfo.ProtoReflect.Descriptor instead.
+func (*VehicleLocationInfo) Descriptor() ([]byte, []int) {
+ return file_VehicleLocationInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VehicleLocationInfo) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *VehicleLocationInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *VehicleLocationInfo) GetCurHp() float32 {
+ if x != nil {
+ return x.CurHp
+ }
+ return 0
+}
+
+func (x *VehicleLocationInfo) GetOwnerUid() uint32 {
+ if x != nil {
+ return x.OwnerUid
+ }
+ return 0
+}
+
+func (x *VehicleLocationInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *VehicleLocationInfo) GetUidList() []uint32 {
+ if x != nil {
+ return x.UidList
+ }
+ return nil
+}
+
+func (x *VehicleLocationInfo) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+func (x *VehicleLocationInfo) GetMaxHp() float32 {
+ if x != nil {
+ return x.MaxHp
+ }
+ return 0
+}
+
+var File_VehicleLocationInfo_proto protoreflect.FileDescriptor
+
+var file_VehicleLocationInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xf7, 0x01, 0x0a, 0x13, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65,
+ 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72, 0x6f, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x5f, 0x68, 0x70,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x63, 0x75, 0x72, 0x48, 0x70, 0x12, 0x1b, 0x0a,
+ 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f,
+ 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x75,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x75,
+ 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x70, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x02, 0x52, 0x05, 0x6d, 0x61, 0x78, 0x48, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VehicleLocationInfo_proto_rawDescOnce sync.Once
+ file_VehicleLocationInfo_proto_rawDescData = file_VehicleLocationInfo_proto_rawDesc
+)
+
+func file_VehicleLocationInfo_proto_rawDescGZIP() []byte {
+ file_VehicleLocationInfo_proto_rawDescOnce.Do(func() {
+ file_VehicleLocationInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VehicleLocationInfo_proto_rawDescData)
+ })
+ return file_VehicleLocationInfo_proto_rawDescData
+}
+
+var file_VehicleLocationInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VehicleLocationInfo_proto_goTypes = []interface{}{
+ (*VehicleLocationInfo)(nil), // 0: proto.VehicleLocationInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_VehicleLocationInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.VehicleLocationInfo.rot:type_name -> proto.Vector
+ 1, // 1: proto.VehicleLocationInfo.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_VehicleLocationInfo_proto_init() }
+func file_VehicleLocationInfo_proto_init() {
+ if File_VehicleLocationInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VehicleLocationInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VehicleLocationInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VehicleLocationInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VehicleLocationInfo_proto_goTypes,
+ DependencyIndexes: file_VehicleLocationInfo_proto_depIdxs,
+ MessageInfos: file_VehicleLocationInfo_proto_msgTypes,
+ }.Build()
+ File_VehicleLocationInfo_proto = out.File
+ file_VehicleLocationInfo_proto_rawDesc = nil
+ file_VehicleLocationInfo_proto_goTypes = nil
+ file_VehicleLocationInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VehicleMember.pb.go b/protocol/proto/VehicleMember.pb.go
new file mode 100644
index 00000000..3e379f9c
--- /dev/null
+++ b/protocol/proto/VehicleMember.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VehicleMember.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VehicleMember struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,2,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ Pos uint32 `protobuf:"varint,3,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *VehicleMember) Reset() {
+ *x = VehicleMember{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VehicleMember_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VehicleMember) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VehicleMember) ProtoMessage() {}
+
+func (x *VehicleMember) ProtoReflect() protoreflect.Message {
+ mi := &file_VehicleMember_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VehicleMember.ProtoReflect.Descriptor instead.
+func (*VehicleMember) Descriptor() ([]byte, []int) {
+ return file_VehicleMember_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VehicleMember) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *VehicleMember) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *VehicleMember) GetPos() uint32 {
+ if x != nil {
+ return x.Pos
+ }
+ return 0
+}
+
+var File_VehicleMember_proto protoreflect.FileDescriptor
+
+var file_VehicleMember_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x0d,
+ 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x10, 0x0a,
+ 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64,
+ 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70,
+ 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VehicleMember_proto_rawDescOnce sync.Once
+ file_VehicleMember_proto_rawDescData = file_VehicleMember_proto_rawDesc
+)
+
+func file_VehicleMember_proto_rawDescGZIP() []byte {
+ file_VehicleMember_proto_rawDescOnce.Do(func() {
+ file_VehicleMember_proto_rawDescData = protoimpl.X.CompressGZIP(file_VehicleMember_proto_rawDescData)
+ })
+ return file_VehicleMember_proto_rawDescData
+}
+
+var file_VehicleMember_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VehicleMember_proto_goTypes = []interface{}{
+ (*VehicleMember)(nil), // 0: proto.VehicleMember
+}
+var file_VehicleMember_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VehicleMember_proto_init() }
+func file_VehicleMember_proto_init() {
+ if File_VehicleMember_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VehicleMember_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VehicleMember); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VehicleMember_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VehicleMember_proto_goTypes,
+ DependencyIndexes: file_VehicleMember_proto_depIdxs,
+ MessageInfos: file_VehicleMember_proto_msgTypes,
+ }.Build()
+ File_VehicleMember_proto = out.File
+ file_VehicleMember_proto_rawDesc = nil
+ file_VehicleMember_proto_goTypes = nil
+ file_VehicleMember_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VehicleStaminaNotify.pb.go b/protocol/proto/VehicleStaminaNotify.pb.go
new file mode 100644
index 00000000..7e6dfbfe
--- /dev/null
+++ b/protocol/proto/VehicleStaminaNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VehicleStaminaNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 834
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VehicleStaminaNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,6,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ CurStamina float32 `protobuf:"fixed32,14,opt,name=cur_stamina,json=curStamina,proto3" json:"cur_stamina,omitempty"`
+}
+
+func (x *VehicleStaminaNotify) Reset() {
+ *x = VehicleStaminaNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VehicleStaminaNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VehicleStaminaNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VehicleStaminaNotify) ProtoMessage() {}
+
+func (x *VehicleStaminaNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_VehicleStaminaNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VehicleStaminaNotify.ProtoReflect.Descriptor instead.
+func (*VehicleStaminaNotify) Descriptor() ([]byte, []int) {
+ return file_VehicleStaminaNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VehicleStaminaNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *VehicleStaminaNotify) GetCurStamina() float32 {
+ if x != nil {
+ return x.CurStamina
+ }
+ return 0
+}
+
+var File_VehicleStaminaNotify_proto protoreflect.FileDescriptor
+
+var file_VehicleStaminaNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x14, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x74,
+ 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x5f,
+ 0x73, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63,
+ 0x75, 0x72, 0x53, 0x74, 0x61, 0x6d, 0x69, 0x6e, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VehicleStaminaNotify_proto_rawDescOnce sync.Once
+ file_VehicleStaminaNotify_proto_rawDescData = file_VehicleStaminaNotify_proto_rawDesc
+)
+
+func file_VehicleStaminaNotify_proto_rawDescGZIP() []byte {
+ file_VehicleStaminaNotify_proto_rawDescOnce.Do(func() {
+ file_VehicleStaminaNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_VehicleStaminaNotify_proto_rawDescData)
+ })
+ return file_VehicleStaminaNotify_proto_rawDescData
+}
+
+var file_VehicleStaminaNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VehicleStaminaNotify_proto_goTypes = []interface{}{
+ (*VehicleStaminaNotify)(nil), // 0: proto.VehicleStaminaNotify
+}
+var file_VehicleStaminaNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VehicleStaminaNotify_proto_init() }
+func file_VehicleStaminaNotify_proto_init() {
+ if File_VehicleStaminaNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VehicleStaminaNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VehicleStaminaNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VehicleStaminaNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VehicleStaminaNotify_proto_goTypes,
+ DependencyIndexes: file_VehicleStaminaNotify_proto_depIdxs,
+ MessageInfos: file_VehicleStaminaNotify_proto_msgTypes,
+ }.Build()
+ File_VehicleStaminaNotify_proto = out.File
+ file_VehicleStaminaNotify_proto_rawDesc = nil
+ file_VehicleStaminaNotify_proto_goTypes = nil
+ file_VehicleStaminaNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ViewCodexReq.pb.go b/protocol/proto/ViewCodexReq.pb.go
new file mode 100644
index 00000000..b33c7fe6
--- /dev/null
+++ b/protocol/proto/ViewCodexReq.pb.go
@@ -0,0 +1,168 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ViewCodexReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4202
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ViewCodexReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TypeDataList []*CodexTypeData `protobuf:"bytes,10,rep,name=type_data_list,json=typeDataList,proto3" json:"type_data_list,omitempty"`
+}
+
+func (x *ViewCodexReq) Reset() {
+ *x = ViewCodexReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ViewCodexReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ViewCodexReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ViewCodexReq) ProtoMessage() {}
+
+func (x *ViewCodexReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ViewCodexReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ViewCodexReq.ProtoReflect.Descriptor instead.
+func (*ViewCodexReq) Descriptor() ([]byte, []int) {
+ return file_ViewCodexReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ViewCodexReq) GetTypeDataList() []*CodexTypeData {
+ if x != nil {
+ return x.TypeDataList
+ }
+ return nil
+}
+
+var File_ViewCodexReq_proto protoreflect.FileDescriptor
+
+var file_ViewCodexReq_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x43, 0x6f, 0x64,
+ 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x4a, 0x0a, 0x0c, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71,
+ 0x12, 0x3a, 0x0a, 0x0e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c,
+ 0x74, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ViewCodexReq_proto_rawDescOnce sync.Once
+ file_ViewCodexReq_proto_rawDescData = file_ViewCodexReq_proto_rawDesc
+)
+
+func file_ViewCodexReq_proto_rawDescGZIP() []byte {
+ file_ViewCodexReq_proto_rawDescOnce.Do(func() {
+ file_ViewCodexReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ViewCodexReq_proto_rawDescData)
+ })
+ return file_ViewCodexReq_proto_rawDescData
+}
+
+var file_ViewCodexReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ViewCodexReq_proto_goTypes = []interface{}{
+ (*ViewCodexReq)(nil), // 0: proto.ViewCodexReq
+ (*CodexTypeData)(nil), // 1: proto.CodexTypeData
+}
+var file_ViewCodexReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ViewCodexReq.type_data_list:type_name -> proto.CodexTypeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ViewCodexReq_proto_init() }
+func file_ViewCodexReq_proto_init() {
+ if File_ViewCodexReq_proto != nil {
+ return
+ }
+ file_CodexTypeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ViewCodexReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ViewCodexReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ViewCodexReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ViewCodexReq_proto_goTypes,
+ DependencyIndexes: file_ViewCodexReq_proto_depIdxs,
+ MessageInfos: file_ViewCodexReq_proto_msgTypes,
+ }.Build()
+ File_ViewCodexReq_proto = out.File
+ file_ViewCodexReq_proto_rawDesc = nil
+ file_ViewCodexReq_proto_goTypes = nil
+ file_ViewCodexReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ViewCodexRsp.pb.go b/protocol/proto/ViewCodexRsp.pb.go
new file mode 100644
index 00000000..cfbf4478
--- /dev/null
+++ b/protocol/proto/ViewCodexRsp.pb.go
@@ -0,0 +1,211 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ViewCodexRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4201
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ViewCodexRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ PushTipsRewardList []uint32 `protobuf:"varint,10,rep,packed,name=push_tips_reward_list,json=pushTipsRewardList,proto3" json:"push_tips_reward_list,omitempty"`
+ RecentViewedPushtipsList []uint32 `protobuf:"varint,3,rep,packed,name=recent_viewed_pushtips_list,json=recentViewedPushtipsList,proto3" json:"recent_viewed_pushtips_list,omitempty"`
+ TypeDataList []*CodexTypeData `protobuf:"bytes,9,rep,name=type_data_list,json=typeDataList,proto3" json:"type_data_list,omitempty"`
+ PushTipsReadList []uint32 `protobuf:"varint,15,rep,packed,name=push_tips_read_list,json=pushTipsReadList,proto3" json:"push_tips_read_list,omitempty"`
+}
+
+func (x *ViewCodexRsp) Reset() {
+ *x = ViewCodexRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ViewCodexRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ViewCodexRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ViewCodexRsp) ProtoMessage() {}
+
+func (x *ViewCodexRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ViewCodexRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ViewCodexRsp.ProtoReflect.Descriptor instead.
+func (*ViewCodexRsp) Descriptor() ([]byte, []int) {
+ return file_ViewCodexRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ViewCodexRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *ViewCodexRsp) GetPushTipsRewardList() []uint32 {
+ if x != nil {
+ return x.PushTipsRewardList
+ }
+ return nil
+}
+
+func (x *ViewCodexRsp) GetRecentViewedPushtipsList() []uint32 {
+ if x != nil {
+ return x.RecentViewedPushtipsList
+ }
+ return nil
+}
+
+func (x *ViewCodexRsp) GetTypeDataList() []*CodexTypeData {
+ if x != nil {
+ return x.TypeDataList
+ }
+ return nil
+}
+
+func (x *ViewCodexRsp) GetPushTipsReadList() []uint32 {
+ if x != nil {
+ return x.PushTipsReadList
+ }
+ return nil
+}
+
+var File_ViewCodexRsp_proto protoreflect.FileDescriptor
+
+var file_ViewCodexRsp_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x43, 0x6f, 0x64,
+ 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x85, 0x02, 0x0a, 0x0c, 0x56, 0x69, 0x65, 0x77, 0x43, 0x6f, 0x64, 0x65, 0x78, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x70,
+ 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x75, 0x73, 0x68,
+ 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d,
+ 0x0a, 0x1b, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x5f,
+ 0x70, 0x75, 0x73, 0x68, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x18, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x56, 0x69, 0x65, 0x77, 0x65,
+ 0x64, 0x50, 0x75, 0x73, 0x68, 0x74, 0x69, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a,
+ 0x0e, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f,
+ 0x64, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x74, 0x79, 0x70,
+ 0x65, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x70, 0x75, 0x73,
+ 0x68, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74,
+ 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x70, 0x73,
+ 0x52, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ViewCodexRsp_proto_rawDescOnce sync.Once
+ file_ViewCodexRsp_proto_rawDescData = file_ViewCodexRsp_proto_rawDesc
+)
+
+func file_ViewCodexRsp_proto_rawDescGZIP() []byte {
+ file_ViewCodexRsp_proto_rawDescOnce.Do(func() {
+ file_ViewCodexRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ViewCodexRsp_proto_rawDescData)
+ })
+ return file_ViewCodexRsp_proto_rawDescData
+}
+
+var file_ViewCodexRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ViewCodexRsp_proto_goTypes = []interface{}{
+ (*ViewCodexRsp)(nil), // 0: proto.ViewCodexRsp
+ (*CodexTypeData)(nil), // 1: proto.CodexTypeData
+}
+var file_ViewCodexRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.ViewCodexRsp.type_data_list:type_name -> proto.CodexTypeData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ViewCodexRsp_proto_init() }
+func file_ViewCodexRsp_proto_init() {
+ if File_ViewCodexRsp_proto != nil {
+ return
+ }
+ file_CodexTypeData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ViewCodexRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ViewCodexRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ViewCodexRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ViewCodexRsp_proto_goTypes,
+ DependencyIndexes: file_ViewCodexRsp_proto_depIdxs,
+ MessageInfos: file_ViewCodexRsp_proto_msgTypes,
+ }.Build()
+ File_ViewCodexRsp_proto = out.File
+ file_ViewCodexRsp_proto_rawDesc = nil
+ file_ViewCodexRsp_proto_goTypes = nil
+ file_ViewCodexRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ViewLanternProjectionLevelTipsReq.pb.go b/protocol/proto/ViewLanternProjectionLevelTipsReq.pb.go
new file mode 100644
index 00000000..d8489cf4
--- /dev/null
+++ b/protocol/proto/ViewLanternProjectionLevelTipsReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ViewLanternProjectionLevelTipsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8758
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ViewLanternProjectionLevelTipsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LevelId uint32 `protobuf:"varint,7,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+}
+
+func (x *ViewLanternProjectionLevelTipsReq) Reset() {
+ *x = ViewLanternProjectionLevelTipsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ViewLanternProjectionLevelTipsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ViewLanternProjectionLevelTipsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ViewLanternProjectionLevelTipsReq) ProtoMessage() {}
+
+func (x *ViewLanternProjectionLevelTipsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ViewLanternProjectionLevelTipsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ViewLanternProjectionLevelTipsReq.ProtoReflect.Descriptor instead.
+func (*ViewLanternProjectionLevelTipsReq) Descriptor() ([]byte, []int) {
+ return file_ViewLanternProjectionLevelTipsReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ViewLanternProjectionLevelTipsReq) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+var File_ViewLanternProjectionLevelTipsReq_proto protoreflect.FileDescriptor
+
+var file_ViewLanternProjectionLevelTipsReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x69, 0x70, 0x73,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x3e, 0x0a, 0x21, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x69,
+ 0x70, 0x73, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ViewLanternProjectionLevelTipsReq_proto_rawDescOnce sync.Once
+ file_ViewLanternProjectionLevelTipsReq_proto_rawDescData = file_ViewLanternProjectionLevelTipsReq_proto_rawDesc
+)
+
+func file_ViewLanternProjectionLevelTipsReq_proto_rawDescGZIP() []byte {
+ file_ViewLanternProjectionLevelTipsReq_proto_rawDescOnce.Do(func() {
+ file_ViewLanternProjectionLevelTipsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ViewLanternProjectionLevelTipsReq_proto_rawDescData)
+ })
+ return file_ViewLanternProjectionLevelTipsReq_proto_rawDescData
+}
+
+var file_ViewLanternProjectionLevelTipsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ViewLanternProjectionLevelTipsReq_proto_goTypes = []interface{}{
+ (*ViewLanternProjectionLevelTipsReq)(nil), // 0: proto.ViewLanternProjectionLevelTipsReq
+}
+var file_ViewLanternProjectionLevelTipsReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ViewLanternProjectionLevelTipsReq_proto_init() }
+func file_ViewLanternProjectionLevelTipsReq_proto_init() {
+ if File_ViewLanternProjectionLevelTipsReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ViewLanternProjectionLevelTipsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ViewLanternProjectionLevelTipsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ViewLanternProjectionLevelTipsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ViewLanternProjectionLevelTipsReq_proto_goTypes,
+ DependencyIndexes: file_ViewLanternProjectionLevelTipsReq_proto_depIdxs,
+ MessageInfos: file_ViewLanternProjectionLevelTipsReq_proto_msgTypes,
+ }.Build()
+ File_ViewLanternProjectionLevelTipsReq_proto = out.File
+ file_ViewLanternProjectionLevelTipsReq_proto_rawDesc = nil
+ file_ViewLanternProjectionLevelTipsReq_proto_goTypes = nil
+ file_ViewLanternProjectionLevelTipsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ViewLanternProjectionLevelTipsRsp.pb.go b/protocol/proto/ViewLanternProjectionLevelTipsRsp.pb.go
new file mode 100644
index 00000000..88b8778f
--- /dev/null
+++ b/protocol/proto/ViewLanternProjectionLevelTipsRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ViewLanternProjectionLevelTipsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8411
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ViewLanternProjectionLevelTipsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,15,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ViewLanternProjectionLevelTipsRsp) Reset() {
+ *x = ViewLanternProjectionLevelTipsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ViewLanternProjectionLevelTipsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ViewLanternProjectionLevelTipsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ViewLanternProjectionLevelTipsRsp) ProtoMessage() {}
+
+func (x *ViewLanternProjectionLevelTipsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ViewLanternProjectionLevelTipsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ViewLanternProjectionLevelTipsRsp.ProtoReflect.Descriptor instead.
+func (*ViewLanternProjectionLevelTipsRsp) Descriptor() ([]byte, []int) {
+ return file_ViewLanternProjectionLevelTipsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ViewLanternProjectionLevelTipsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ViewLanternProjectionLevelTipsRsp_proto protoreflect.FileDescriptor
+
+var file_ViewLanternProjectionLevelTipsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x69, 0x70, 0x73,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x3d, 0x0a, 0x21, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x54, 0x69,
+ 0x70, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ViewLanternProjectionLevelTipsRsp_proto_rawDescOnce sync.Once
+ file_ViewLanternProjectionLevelTipsRsp_proto_rawDescData = file_ViewLanternProjectionLevelTipsRsp_proto_rawDesc
+)
+
+func file_ViewLanternProjectionLevelTipsRsp_proto_rawDescGZIP() []byte {
+ file_ViewLanternProjectionLevelTipsRsp_proto_rawDescOnce.Do(func() {
+ file_ViewLanternProjectionLevelTipsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ViewLanternProjectionLevelTipsRsp_proto_rawDescData)
+ })
+ return file_ViewLanternProjectionLevelTipsRsp_proto_rawDescData
+}
+
+var file_ViewLanternProjectionLevelTipsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ViewLanternProjectionLevelTipsRsp_proto_goTypes = []interface{}{
+ (*ViewLanternProjectionLevelTipsRsp)(nil), // 0: proto.ViewLanternProjectionLevelTipsRsp
+}
+var file_ViewLanternProjectionLevelTipsRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ViewLanternProjectionLevelTipsRsp_proto_init() }
+func file_ViewLanternProjectionLevelTipsRsp_proto_init() {
+ if File_ViewLanternProjectionLevelTipsRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ViewLanternProjectionLevelTipsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ViewLanternProjectionLevelTipsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ViewLanternProjectionLevelTipsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ViewLanternProjectionLevelTipsRsp_proto_goTypes,
+ DependencyIndexes: file_ViewLanternProjectionLevelTipsRsp_proto_depIdxs,
+ MessageInfos: file_ViewLanternProjectionLevelTipsRsp_proto_msgTypes,
+ }.Build()
+ File_ViewLanternProjectionLevelTipsRsp_proto = out.File
+ file_ViewLanternProjectionLevelTipsRsp_proto_rawDesc = nil
+ file_ViewLanternProjectionLevelTipsRsp_proto_goTypes = nil
+ file_ViewLanternProjectionLevelTipsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ViewLanternProjectionTipsReq.pb.go b/protocol/proto/ViewLanternProjectionTipsReq.pb.go
new file mode 100644
index 00000000..44d3b180
--- /dev/null
+++ b/protocol/proto/ViewLanternProjectionTipsReq.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ViewLanternProjectionTipsReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8218
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type ViewLanternProjectionTipsReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsInputTips bool `protobuf:"varint,9,opt,name=is_input_tips,json=isInputTips,proto3" json:"is_input_tips,omitempty"`
+ InputType ClientInputType `protobuf:"varint,10,opt,name=input_type,json=inputType,proto3,enum=proto.ClientInputType" json:"input_type,omitempty"`
+}
+
+func (x *ViewLanternProjectionTipsReq) Reset() {
+ *x = ViewLanternProjectionTipsReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ViewLanternProjectionTipsReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ViewLanternProjectionTipsReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ViewLanternProjectionTipsReq) ProtoMessage() {}
+
+func (x *ViewLanternProjectionTipsReq) ProtoReflect() protoreflect.Message {
+ mi := &file_ViewLanternProjectionTipsReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ViewLanternProjectionTipsReq.ProtoReflect.Descriptor instead.
+func (*ViewLanternProjectionTipsReq) Descriptor() ([]byte, []int) {
+ return file_ViewLanternProjectionTipsReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ViewLanternProjectionTipsReq) GetIsInputTips() bool {
+ if x != nil {
+ return x.IsInputTips
+ }
+ return false
+}
+
+func (x *ViewLanternProjectionTipsReq) GetInputType() ClientInputType {
+ if x != nil {
+ return x.InputType
+ }
+ return ClientInputType_CLIENT_INPUT_TYPE_NONE
+}
+
+var File_ViewLanternProjectionTipsReq_proto protoreflect.FileDescriptor
+
+var file_ViewLanternProjectionTipsReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x70, 0x73, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x43, 0x6c, 0x69,
+ 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x1c, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72,
+ 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x70, 0x73, 0x52,
+ 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x74,
+ 0x69, 0x70, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x70,
+ 0x75, 0x74, 0x54, 0x69, 0x70, 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_ViewLanternProjectionTipsReq_proto_rawDescOnce sync.Once
+ file_ViewLanternProjectionTipsReq_proto_rawDescData = file_ViewLanternProjectionTipsReq_proto_rawDesc
+)
+
+func file_ViewLanternProjectionTipsReq_proto_rawDescGZIP() []byte {
+ file_ViewLanternProjectionTipsReq_proto_rawDescOnce.Do(func() {
+ file_ViewLanternProjectionTipsReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_ViewLanternProjectionTipsReq_proto_rawDescData)
+ })
+ return file_ViewLanternProjectionTipsReq_proto_rawDescData
+}
+
+var file_ViewLanternProjectionTipsReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ViewLanternProjectionTipsReq_proto_goTypes = []interface{}{
+ (*ViewLanternProjectionTipsReq)(nil), // 0: proto.ViewLanternProjectionTipsReq
+ (ClientInputType)(0), // 1: proto.ClientInputType
+}
+var file_ViewLanternProjectionTipsReq_proto_depIdxs = []int32{
+ 1, // 0: proto.ViewLanternProjectionTipsReq.input_type:type_name -> proto.ClientInputType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_ViewLanternProjectionTipsReq_proto_init() }
+func file_ViewLanternProjectionTipsReq_proto_init() {
+ if File_ViewLanternProjectionTipsReq_proto != nil {
+ return
+ }
+ file_ClientInputType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_ViewLanternProjectionTipsReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ViewLanternProjectionTipsReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ViewLanternProjectionTipsReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ViewLanternProjectionTipsReq_proto_goTypes,
+ DependencyIndexes: file_ViewLanternProjectionTipsReq_proto_depIdxs,
+ MessageInfos: file_ViewLanternProjectionTipsReq_proto_msgTypes,
+ }.Build()
+ File_ViewLanternProjectionTipsReq_proto = out.File
+ file_ViewLanternProjectionTipsReq_proto_rawDesc = nil
+ file_ViewLanternProjectionTipsReq_proto_goTypes = nil
+ file_ViewLanternProjectionTipsReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/ViewLanternProjectionTipsRsp.pb.go b/protocol/proto/ViewLanternProjectionTipsRsp.pb.go
new file mode 100644
index 00000000..9533c895
--- /dev/null
+++ b/protocol/proto/ViewLanternProjectionTipsRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: ViewLanternProjectionTipsRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8590
+// EnetChannelId: 0
+// EnetIsReliable: true
+type ViewLanternProjectionTipsRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *ViewLanternProjectionTipsRsp) Reset() {
+ *x = ViewLanternProjectionTipsRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_ViewLanternProjectionTipsRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ViewLanternProjectionTipsRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ViewLanternProjectionTipsRsp) ProtoMessage() {}
+
+func (x *ViewLanternProjectionTipsRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_ViewLanternProjectionTipsRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ViewLanternProjectionTipsRsp.ProtoReflect.Descriptor instead.
+func (*ViewLanternProjectionTipsRsp) Descriptor() ([]byte, []int) {
+ return file_ViewLanternProjectionTipsRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *ViewLanternProjectionTipsRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_ViewLanternProjectionTipsRsp_proto protoreflect.FileDescriptor
+
+var file_ViewLanternProjectionTipsRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x56, 0x69, 0x65, 0x77, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x70, 0x73, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x1c, 0x56,
+ 0x69, 0x65, 0x77, 0x4c, 0x61, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x70, 0x73, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_ViewLanternProjectionTipsRsp_proto_rawDescOnce sync.Once
+ file_ViewLanternProjectionTipsRsp_proto_rawDescData = file_ViewLanternProjectionTipsRsp_proto_rawDesc
+)
+
+func file_ViewLanternProjectionTipsRsp_proto_rawDescGZIP() []byte {
+ file_ViewLanternProjectionTipsRsp_proto_rawDescOnce.Do(func() {
+ file_ViewLanternProjectionTipsRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_ViewLanternProjectionTipsRsp_proto_rawDescData)
+ })
+ return file_ViewLanternProjectionTipsRsp_proto_rawDescData
+}
+
+var file_ViewLanternProjectionTipsRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_ViewLanternProjectionTipsRsp_proto_goTypes = []interface{}{
+ (*ViewLanternProjectionTipsRsp)(nil), // 0: proto.ViewLanternProjectionTipsRsp
+}
+var file_ViewLanternProjectionTipsRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_ViewLanternProjectionTipsRsp_proto_init() }
+func file_ViewLanternProjectionTipsRsp_proto_init() {
+ if File_ViewLanternProjectionTipsRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_ViewLanternProjectionTipsRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ViewLanternProjectionTipsRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_ViewLanternProjectionTipsRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_ViewLanternProjectionTipsRsp_proto_goTypes,
+ DependencyIndexes: file_ViewLanternProjectionTipsRsp_proto_depIdxs,
+ MessageInfos: file_ViewLanternProjectionTipsRsp_proto_msgTypes,
+ }.Build()
+ File_ViewLanternProjectionTipsRsp_proto = out.File
+ file_ViewLanternProjectionTipsRsp_proto_rawDesc = nil
+ file_ViewLanternProjectionTipsRsp_proto_goTypes = nil
+ file_ViewLanternProjectionTipsRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageBoothUsedItemData.pb.go b/protocol/proto/VintageBoothUsedItemData.pb.go
new file mode 100644
index 00000000..cc7fa19a
--- /dev/null
+++ b/protocol/proto/VintageBoothUsedItemData.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageBoothUsedItemData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageBoothUsedItemData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,7,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ GadgetId uint32 `protobuf:"varint,8,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+}
+
+func (x *VintageBoothUsedItemData) Reset() {
+ *x = VintageBoothUsedItemData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageBoothUsedItemData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageBoothUsedItemData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageBoothUsedItemData) ProtoMessage() {}
+
+func (x *VintageBoothUsedItemData) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageBoothUsedItemData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageBoothUsedItemData.ProtoReflect.Descriptor instead.
+func (*VintageBoothUsedItemData) Descriptor() ([]byte, []int) {
+ return file_VintageBoothUsedItemData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageBoothUsedItemData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *VintageBoothUsedItemData) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+var File_VintageBoothUsedItemData_proto protoreflect.FileDescriptor
+
+var file_VintageBoothUsedItemData_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x68, 0x55, 0x73,
+ 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x18, 0x56, 0x69, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x68, 0x55, 0x73, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09,
+ 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageBoothUsedItemData_proto_rawDescOnce sync.Once
+ file_VintageBoothUsedItemData_proto_rawDescData = file_VintageBoothUsedItemData_proto_rawDesc
+)
+
+func file_VintageBoothUsedItemData_proto_rawDescGZIP() []byte {
+ file_VintageBoothUsedItemData_proto_rawDescOnce.Do(func() {
+ file_VintageBoothUsedItemData_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageBoothUsedItemData_proto_rawDescData)
+ })
+ return file_VintageBoothUsedItemData_proto_rawDescData
+}
+
+var file_VintageBoothUsedItemData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageBoothUsedItemData_proto_goTypes = []interface{}{
+ (*VintageBoothUsedItemData)(nil), // 0: proto.VintageBoothUsedItemData
+}
+var file_VintageBoothUsedItemData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageBoothUsedItemData_proto_init() }
+func file_VintageBoothUsedItemData_proto_init() {
+ if File_VintageBoothUsedItemData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageBoothUsedItemData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageBoothUsedItemData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageBoothUsedItemData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageBoothUsedItemData_proto_goTypes,
+ DependencyIndexes: file_VintageBoothUsedItemData_proto_depIdxs,
+ MessageInfos: file_VintageBoothUsedItemData_proto_msgTypes,
+ }.Build()
+ File_VintageBoothUsedItemData_proto = out.File
+ file_VintageBoothUsedItemData_proto_rawDesc = nil
+ file_VintageBoothUsedItemData_proto_goTypes = nil
+ file_VintageBoothUsedItemData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageCampChallengeLevelData.pb.go b/protocol/proto/VintageCampChallengeLevelData.pb.go
new file mode 100644
index 00000000..7ffabff8
--- /dev/null
+++ b/protocol/proto/VintageCampChallengeLevelData.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageCampChallengeLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageCampChallengeLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,14,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ LevelId uint32 `protobuf:"varint,11,opt,name=level_id,json=levelId,proto3" json:"level_id,omitempty"`
+ IsFinish bool `protobuf:"varint,8,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ IsOpen bool `protobuf:"varint,6,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+}
+
+func (x *VintageCampChallengeLevelData) Reset() {
+ *x = VintageCampChallengeLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageCampChallengeLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageCampChallengeLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageCampChallengeLevelData) ProtoMessage() {}
+
+func (x *VintageCampChallengeLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageCampChallengeLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageCampChallengeLevelData.ProtoReflect.Descriptor instead.
+func (*VintageCampChallengeLevelData) Descriptor() ([]byte, []int) {
+ return file_VintageCampChallengeLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageCampChallengeLevelData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *VintageCampChallengeLevelData) GetLevelId() uint32 {
+ if x != nil {
+ return x.LevelId
+ }
+ return 0
+}
+
+func (x *VintageCampChallengeLevelData) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *VintageCampChallengeLevelData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+var File_VintageCampChallengeLevelData_proto protoreflect.FileDescriptor
+
+var file_VintageCampChallengeLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a,
+ 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x43, 0x68, 0x61, 0x6c,
+ 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageCampChallengeLevelData_proto_rawDescOnce sync.Once
+ file_VintageCampChallengeLevelData_proto_rawDescData = file_VintageCampChallengeLevelData_proto_rawDesc
+)
+
+func file_VintageCampChallengeLevelData_proto_rawDescGZIP() []byte {
+ file_VintageCampChallengeLevelData_proto_rawDescOnce.Do(func() {
+ file_VintageCampChallengeLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageCampChallengeLevelData_proto_rawDescData)
+ })
+ return file_VintageCampChallengeLevelData_proto_rawDescData
+}
+
+var file_VintageCampChallengeLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageCampChallengeLevelData_proto_goTypes = []interface{}{
+ (*VintageCampChallengeLevelData)(nil), // 0: proto.VintageCampChallengeLevelData
+}
+var file_VintageCampChallengeLevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageCampChallengeLevelData_proto_init() }
+func file_VintageCampChallengeLevelData_proto_init() {
+ if File_VintageCampChallengeLevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageCampChallengeLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageCampChallengeLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageCampChallengeLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageCampChallengeLevelData_proto_goTypes,
+ DependencyIndexes: file_VintageCampChallengeLevelData_proto_depIdxs,
+ MessageInfos: file_VintageCampChallengeLevelData_proto_msgTypes,
+ }.Build()
+ File_VintageCampChallengeLevelData_proto = out.File
+ file_VintageCampChallengeLevelData_proto_rawDesc = nil
+ file_VintageCampChallengeLevelData_proto_goTypes = nil
+ file_VintageCampChallengeLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageCampChallengeStageData.pb.go b/protocol/proto/VintageCampChallengeStageData.pb.go
new file mode 100644
index 00000000..0137a8cc
--- /dev/null
+++ b/protocol/proto/VintageCampChallengeStageData.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageCampChallengeStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageCampChallengeStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,5,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ MaxFinishedLevel uint32 `protobuf:"varint,11,opt,name=max_finished_level,json=maxFinishedLevel,proto3" json:"max_finished_level,omitempty"`
+ OpenTime uint32 `protobuf:"varint,3,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsFinish bool `protobuf:"varint,10,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ StageId uint32 `protobuf:"varint,4,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ CampLevelMap map[uint32]*VintageCampChallengeLevelData `protobuf:"bytes,2,rep,name=camp_level_map,json=campLevelMap,proto3" json:"camp_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *VintageCampChallengeStageData) Reset() {
+ *x = VintageCampChallengeStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageCampChallengeStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageCampChallengeStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageCampChallengeStageData) ProtoMessage() {}
+
+func (x *VintageCampChallengeStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageCampChallengeStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageCampChallengeStageData.ProtoReflect.Descriptor instead.
+func (*VintageCampChallengeStageData) Descriptor() ([]byte, []int) {
+ return file_VintageCampChallengeStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageCampChallengeStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *VintageCampChallengeStageData) GetMaxFinishedLevel() uint32 {
+ if x != nil {
+ return x.MaxFinishedLevel
+ }
+ return 0
+}
+
+func (x *VintageCampChallengeStageData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *VintageCampChallengeStageData) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *VintageCampChallengeStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *VintageCampChallengeStageData) GetCampLevelMap() map[uint32]*VintageCampChallengeLevelData {
+ if x != nil {
+ return x.CampLevelMap
+ }
+ return nil
+}
+
+var File_VintageCampChallengeStageData_proto protoreflect.FileDescriptor
+
+var file_VintageCampChallengeStageData_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x56, 0x69,
+ 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x80, 0x03, 0x0a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d,
+ 0x70, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x12,
+ 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70,
+ 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f,
+ 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12,
+ 0x5c, 0x0a, 0x0e, 0x63, 0x61, 0x6d, 0x70, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x43, 0x68, 0x61, 0x6c, 0x6c,
+ 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x61,
+ 0x6d, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0c, 0x63, 0x61, 0x6d, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x1a, 0x65, 0x0a,
+ 0x11, 0x43, 0x61, 0x6d, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74,
+ 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74,
+ 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageCampChallengeStageData_proto_rawDescOnce sync.Once
+ file_VintageCampChallengeStageData_proto_rawDescData = file_VintageCampChallengeStageData_proto_rawDesc
+)
+
+func file_VintageCampChallengeStageData_proto_rawDescGZIP() []byte {
+ file_VintageCampChallengeStageData_proto_rawDescOnce.Do(func() {
+ file_VintageCampChallengeStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageCampChallengeStageData_proto_rawDescData)
+ })
+ return file_VintageCampChallengeStageData_proto_rawDescData
+}
+
+var file_VintageCampChallengeStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_VintageCampChallengeStageData_proto_goTypes = []interface{}{
+ (*VintageCampChallengeStageData)(nil), // 0: proto.VintageCampChallengeStageData
+ nil, // 1: proto.VintageCampChallengeStageData.CampLevelMapEntry
+ (*VintageCampChallengeLevelData)(nil), // 2: proto.VintageCampChallengeLevelData
+}
+var file_VintageCampChallengeStageData_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageCampChallengeStageData.camp_level_map:type_name -> proto.VintageCampChallengeStageData.CampLevelMapEntry
+ 2, // 1: proto.VintageCampChallengeStageData.CampLevelMapEntry.value:type_name -> proto.VintageCampChallengeLevelData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_VintageCampChallengeStageData_proto_init() }
+func file_VintageCampChallengeStageData_proto_init() {
+ if File_VintageCampChallengeStageData_proto != nil {
+ return
+ }
+ file_VintageCampChallengeLevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageCampChallengeStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageCampChallengeStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageCampChallengeStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageCampChallengeStageData_proto_goTypes,
+ DependencyIndexes: file_VintageCampChallengeStageData_proto_depIdxs,
+ MessageInfos: file_VintageCampChallengeStageData_proto_msgTypes,
+ }.Build()
+ File_VintageCampChallengeStageData_proto = out.File
+ file_VintageCampChallengeStageData_proto_rawDesc = nil
+ file_VintageCampChallengeStageData_proto_goTypes = nil
+ file_VintageCampChallengeStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageCampGroupBundleRegisterNotify.pb.go b/protocol/proto/VintageCampGroupBundleRegisterNotify.pb.go
new file mode 100644
index 00000000..ccaa48e9
--- /dev/null
+++ b/protocol/proto/VintageCampGroupBundleRegisterNotify.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageCampGroupBundleRegisterNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24244
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageCampGroupBundleRegisterNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupBundleId uint32 `protobuf:"varint,10,opt,name=group_bundle_id,json=groupBundleId,proto3" json:"group_bundle_id,omitempty"`
+}
+
+func (x *VintageCampGroupBundleRegisterNotify) Reset() {
+ *x = VintageCampGroupBundleRegisterNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageCampGroupBundleRegisterNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageCampGroupBundleRegisterNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageCampGroupBundleRegisterNotify) ProtoMessage() {}
+
+func (x *VintageCampGroupBundleRegisterNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageCampGroupBundleRegisterNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageCampGroupBundleRegisterNotify.ProtoReflect.Descriptor instead.
+func (*VintageCampGroupBundleRegisterNotify) Descriptor() ([]byte, []int) {
+ return file_VintageCampGroupBundleRegisterNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageCampGroupBundleRegisterNotify) GetGroupBundleId() uint32 {
+ if x != nil {
+ return x.GroupBundleId
+ }
+ return 0
+}
+
+var File_VintageCampGroupBundleRegisterNotify_proto protoreflect.FileDescriptor
+
+var file_VintageCampGroupBundleRegisterNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2a, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x72, 0x6f,
+ 0x75, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x24, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61,
+ 0x6d, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x67,
+ 0x69, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x75, 0x6e, 0x64, 0x6c,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageCampGroupBundleRegisterNotify_proto_rawDescOnce sync.Once
+ file_VintageCampGroupBundleRegisterNotify_proto_rawDescData = file_VintageCampGroupBundleRegisterNotify_proto_rawDesc
+)
+
+func file_VintageCampGroupBundleRegisterNotify_proto_rawDescGZIP() []byte {
+ file_VintageCampGroupBundleRegisterNotify_proto_rawDescOnce.Do(func() {
+ file_VintageCampGroupBundleRegisterNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageCampGroupBundleRegisterNotify_proto_rawDescData)
+ })
+ return file_VintageCampGroupBundleRegisterNotify_proto_rawDescData
+}
+
+var file_VintageCampGroupBundleRegisterNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageCampGroupBundleRegisterNotify_proto_goTypes = []interface{}{
+ (*VintageCampGroupBundleRegisterNotify)(nil), // 0: proto.VintageCampGroupBundleRegisterNotify
+}
+var file_VintageCampGroupBundleRegisterNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageCampGroupBundleRegisterNotify_proto_init() }
+func file_VintageCampGroupBundleRegisterNotify_proto_init() {
+ if File_VintageCampGroupBundleRegisterNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageCampGroupBundleRegisterNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageCampGroupBundleRegisterNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageCampGroupBundleRegisterNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageCampGroupBundleRegisterNotify_proto_goTypes,
+ DependencyIndexes: file_VintageCampGroupBundleRegisterNotify_proto_depIdxs,
+ MessageInfos: file_VintageCampGroupBundleRegisterNotify_proto_msgTypes,
+ }.Build()
+ File_VintageCampGroupBundleRegisterNotify_proto = out.File
+ file_VintageCampGroupBundleRegisterNotify_proto_rawDesc = nil
+ file_VintageCampGroupBundleRegisterNotify_proto_goTypes = nil
+ file_VintageCampGroupBundleRegisterNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageCampStageFinishNotify.pb.go b/protocol/proto/VintageCampStageFinishNotify.pb.go
new file mode 100644
index 00000000..0c379a9e
--- /dev/null
+++ b/protocol/proto/VintageCampStageFinishNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageCampStageFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22830
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageCampStageFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,11,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *VintageCampStageFinishNotify) Reset() {
+ *x = VintageCampStageFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageCampStageFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageCampStageFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageCampStageFinishNotify) ProtoMessage() {}
+
+func (x *VintageCampStageFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageCampStageFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageCampStageFinishNotify.ProtoReflect.Descriptor instead.
+func (*VintageCampStageFinishNotify) Descriptor() ([]byte, []int) {
+ return file_VintageCampStageFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageCampStageFinishNotify) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_VintageCampStageFinishNotify_proto protoreflect.FileDescriptor
+
+var file_VintageCampStageFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1c, 0x56,
+ 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageCampStageFinishNotify_proto_rawDescOnce sync.Once
+ file_VintageCampStageFinishNotify_proto_rawDescData = file_VintageCampStageFinishNotify_proto_rawDesc
+)
+
+func file_VintageCampStageFinishNotify_proto_rawDescGZIP() []byte {
+ file_VintageCampStageFinishNotify_proto_rawDescOnce.Do(func() {
+ file_VintageCampStageFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageCampStageFinishNotify_proto_rawDescData)
+ })
+ return file_VintageCampStageFinishNotify_proto_rawDescData
+}
+
+var file_VintageCampStageFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageCampStageFinishNotify_proto_goTypes = []interface{}{
+ (*VintageCampStageFinishNotify)(nil), // 0: proto.VintageCampStageFinishNotify
+}
+var file_VintageCampStageFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageCampStageFinishNotify_proto_init() }
+func file_VintageCampStageFinishNotify_proto_init() {
+ if File_VintageCampStageFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageCampStageFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageCampStageFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageCampStageFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageCampStageFinishNotify_proto_goTypes,
+ DependencyIndexes: file_VintageCampStageFinishNotify_proto_depIdxs,
+ MessageInfos: file_VintageCampStageFinishNotify_proto_msgTypes,
+ }.Build()
+ File_VintageCampStageFinishNotify_proto = out.File
+ file_VintageCampStageFinishNotify_proto_rawDesc = nil
+ file_VintageCampStageFinishNotify_proto_goTypes = nil
+ file_VintageCampStageFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageDecorateBoothReq.pb.go b/protocol/proto/VintageDecorateBoothReq.pb.go
new file mode 100644
index 00000000..855c5a32
--- /dev/null
+++ b/protocol/proto/VintageDecorateBoothReq.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageDecorateBoothReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20846
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VintageDecorateBoothReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,6,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ CombinationInfo *CustomGadgetTreeInfo `protobuf:"bytes,11,opt,name=combination_info,json=combinationInfo,proto3" json:"combination_info,omitempty"`
+}
+
+func (x *VintageDecorateBoothReq) Reset() {
+ *x = VintageDecorateBoothReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageDecorateBoothReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageDecorateBoothReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageDecorateBoothReq) ProtoMessage() {}
+
+func (x *VintageDecorateBoothReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageDecorateBoothReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageDecorateBoothReq.ProtoReflect.Descriptor instead.
+func (*VintageDecorateBoothReq) Descriptor() ([]byte, []int) {
+ return file_VintageDecorateBoothReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageDecorateBoothReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *VintageDecorateBoothReq) GetCombinationInfo() *CustomGadgetTreeInfo {
+ if x != nil {
+ return x.CombinationInfo
+ }
+ return nil
+}
+
+var File_VintageDecorateBoothReq_proto protoreflect.FileDescriptor
+
+var file_VintageDecorateBoothReq_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74,
+ 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x68, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61,
+ 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x7e, 0x0a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x63,
+ 0x6f, 0x72, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a,
+ 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x63, 0x6f,
+ 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73,
+ 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageDecorateBoothReq_proto_rawDescOnce sync.Once
+ file_VintageDecorateBoothReq_proto_rawDescData = file_VintageDecorateBoothReq_proto_rawDesc
+)
+
+func file_VintageDecorateBoothReq_proto_rawDescGZIP() []byte {
+ file_VintageDecorateBoothReq_proto_rawDescOnce.Do(func() {
+ file_VintageDecorateBoothReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageDecorateBoothReq_proto_rawDescData)
+ })
+ return file_VintageDecorateBoothReq_proto_rawDescData
+}
+
+var file_VintageDecorateBoothReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageDecorateBoothReq_proto_goTypes = []interface{}{
+ (*VintageDecorateBoothReq)(nil), // 0: proto.VintageDecorateBoothReq
+ (*CustomGadgetTreeInfo)(nil), // 1: proto.CustomGadgetTreeInfo
+}
+var file_VintageDecorateBoothReq_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageDecorateBoothReq.combination_info:type_name -> proto.CustomGadgetTreeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VintageDecorateBoothReq_proto_init() }
+func file_VintageDecorateBoothReq_proto_init() {
+ if File_VintageDecorateBoothReq_proto != nil {
+ return
+ }
+ file_CustomGadgetTreeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageDecorateBoothReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageDecorateBoothReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageDecorateBoothReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageDecorateBoothReq_proto_goTypes,
+ DependencyIndexes: file_VintageDecorateBoothReq_proto_depIdxs,
+ MessageInfos: file_VintageDecorateBoothReq_proto_msgTypes,
+ }.Build()
+ File_VintageDecorateBoothReq_proto = out.File
+ file_VintageDecorateBoothReq_proto_rawDesc = nil
+ file_VintageDecorateBoothReq_proto_goTypes = nil
+ file_VintageDecorateBoothReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageDecorateBoothRsp.pb.go b/protocol/proto/VintageDecorateBoothRsp.pb.go
new file mode 100644
index 00000000..781ba299
--- /dev/null
+++ b/protocol/proto/VintageDecorateBoothRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageDecorateBoothRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20993
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageDecorateBoothRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *VintageDecorateBoothRsp) Reset() {
+ *x = VintageDecorateBoothRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageDecorateBoothRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageDecorateBoothRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageDecorateBoothRsp) ProtoMessage() {}
+
+func (x *VintageDecorateBoothRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageDecorateBoothRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageDecorateBoothRsp.ProtoReflect.Descriptor instead.
+func (*VintageDecorateBoothRsp) Descriptor() ([]byte, []int) {
+ return file_VintageDecorateBoothRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageDecorateBoothRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_VintageDecorateBoothRsp_proto protoreflect.FileDescriptor
+
+var file_VintageDecorateBoothRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74,
+ 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x68, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67,
+ 0x65, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x68, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageDecorateBoothRsp_proto_rawDescOnce sync.Once
+ file_VintageDecorateBoothRsp_proto_rawDescData = file_VintageDecorateBoothRsp_proto_rawDesc
+)
+
+func file_VintageDecorateBoothRsp_proto_rawDescGZIP() []byte {
+ file_VintageDecorateBoothRsp_proto_rawDescOnce.Do(func() {
+ file_VintageDecorateBoothRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageDecorateBoothRsp_proto_rawDescData)
+ })
+ return file_VintageDecorateBoothRsp_proto_rawDescData
+}
+
+var file_VintageDecorateBoothRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageDecorateBoothRsp_proto_goTypes = []interface{}{
+ (*VintageDecorateBoothRsp)(nil), // 0: proto.VintageDecorateBoothRsp
+}
+var file_VintageDecorateBoothRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageDecorateBoothRsp_proto_init() }
+func file_VintageDecorateBoothRsp_proto_init() {
+ if File_VintageDecorateBoothRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageDecorateBoothRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageDecorateBoothRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageDecorateBoothRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageDecorateBoothRsp_proto_goTypes,
+ DependencyIndexes: file_VintageDecorateBoothRsp_proto_depIdxs,
+ MessageInfos: file_VintageDecorateBoothRsp_proto_msgTypes,
+ }.Build()
+ File_VintageDecorateBoothRsp_proto = out.File
+ file_VintageDecorateBoothRsp_proto_rawDesc = nil
+ file_VintageDecorateBoothRsp_proto_goTypes = nil
+ file_VintageDecorateBoothRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageDetailInfo.pb.go b/protocol/proto/VintageDetailInfo.pb.go
new file mode 100644
index 00000000..a9031181
--- /dev/null
+++ b/protocol/proto/VintageDetailInfo.pb.go
@@ -0,0 +1,274 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MarketInfo *VintageMarketInfo `protobuf:"bytes,2,opt,name=market_info,json=marketInfo,proto3" json:"market_info,omitempty"`
+ HuntingStageMap map[uint32]*VintageHuntingStageData `protobuf:"bytes,7,rep,name=hunting_stage_map,json=huntingStageMap,proto3" json:"hunting_stage_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ BoothData *VintageBoothUsedItemData `protobuf:"bytes,5,opt,name=booth_data,json=boothData,proto3" json:"booth_data,omitempty"`
+ CampStageMap map[uint32]*VintageCampChallengeStageData `protobuf:"bytes,13,rep,name=camp_stage_map,json=campStageMap,proto3" json:"camp_stage_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ PresentStageMap map[uint32]*VintagePresentStageData `protobuf:"bytes,4,rep,name=present_stage_map,json=presentStageMap,proto3" json:"present_stage_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ IsContentClosed bool `protobuf:"varint,11,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+}
+
+func (x *VintageDetailInfo) Reset() {
+ *x = VintageDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageDetailInfo) ProtoMessage() {}
+
+func (x *VintageDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageDetailInfo.ProtoReflect.Descriptor instead.
+func (*VintageDetailInfo) Descriptor() ([]byte, []int) {
+ return file_VintageDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageDetailInfo) GetMarketInfo() *VintageMarketInfo {
+ if x != nil {
+ return x.MarketInfo
+ }
+ return nil
+}
+
+func (x *VintageDetailInfo) GetHuntingStageMap() map[uint32]*VintageHuntingStageData {
+ if x != nil {
+ return x.HuntingStageMap
+ }
+ return nil
+}
+
+func (x *VintageDetailInfo) GetBoothData() *VintageBoothUsedItemData {
+ if x != nil {
+ return x.BoothData
+ }
+ return nil
+}
+
+func (x *VintageDetailInfo) GetCampStageMap() map[uint32]*VintageCampChallengeStageData {
+ if x != nil {
+ return x.CampStageMap
+ }
+ return nil
+}
+
+func (x *VintageDetailInfo) GetPresentStageMap() map[uint32]*VintagePresentStageData {
+ if x != nil {
+ return x.PresentStageMap
+ }
+ return nil
+}
+
+func (x *VintageDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+var File_VintageDetailInfo_proto protoreflect.FileDescriptor
+
+var file_VintageDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x68, 0x55, 0x73,
+ 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x43, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72,
+ 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x56,
+ 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf1, 0x05, 0x0a,
+ 0x11, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0a, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a,
+ 0x11, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d,
+ 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x68, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x3e, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x74,
+ 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x42, 0x6f, 0x6f, 0x74,
+ 0x68, 0x55, 0x73, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x62,
+ 0x6f, 0x6f, 0x74, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0e, 0x63, 0x61, 0x6d, 0x70,
+ 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65,
+ 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x63, 0x61,
+ 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x59, 0x0a, 0x11, 0x70, 0x72,
+ 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18,
+ 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69,
+ 0x6e, 0x74, 0x61, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65,
+ 0x64, 0x1a, 0x62, 0x0a, 0x14, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e,
+ 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x65, 0x0a, 0x11, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x43,
+ 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x62, 0x0a, 0x14,
+ 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69,
+ 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageDetailInfo_proto_rawDescOnce sync.Once
+ file_VintageDetailInfo_proto_rawDescData = file_VintageDetailInfo_proto_rawDesc
+)
+
+func file_VintageDetailInfo_proto_rawDescGZIP() []byte {
+ file_VintageDetailInfo_proto_rawDescOnce.Do(func() {
+ file_VintageDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageDetailInfo_proto_rawDescData)
+ })
+ return file_VintageDetailInfo_proto_rawDescData
+}
+
+var file_VintageDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_VintageDetailInfo_proto_goTypes = []interface{}{
+ (*VintageDetailInfo)(nil), // 0: proto.VintageDetailInfo
+ nil, // 1: proto.VintageDetailInfo.HuntingStageMapEntry
+ nil, // 2: proto.VintageDetailInfo.CampStageMapEntry
+ nil, // 3: proto.VintageDetailInfo.PresentStageMapEntry
+ (*VintageMarketInfo)(nil), // 4: proto.VintageMarketInfo
+ (*VintageBoothUsedItemData)(nil), // 5: proto.VintageBoothUsedItemData
+ (*VintageHuntingStageData)(nil), // 6: proto.VintageHuntingStageData
+ (*VintageCampChallengeStageData)(nil), // 7: proto.VintageCampChallengeStageData
+ (*VintagePresentStageData)(nil), // 8: proto.VintagePresentStageData
+}
+var file_VintageDetailInfo_proto_depIdxs = []int32{
+ 4, // 0: proto.VintageDetailInfo.market_info:type_name -> proto.VintageMarketInfo
+ 1, // 1: proto.VintageDetailInfo.hunting_stage_map:type_name -> proto.VintageDetailInfo.HuntingStageMapEntry
+ 5, // 2: proto.VintageDetailInfo.booth_data:type_name -> proto.VintageBoothUsedItemData
+ 2, // 3: proto.VintageDetailInfo.camp_stage_map:type_name -> proto.VintageDetailInfo.CampStageMapEntry
+ 3, // 4: proto.VintageDetailInfo.present_stage_map:type_name -> proto.VintageDetailInfo.PresentStageMapEntry
+ 6, // 5: proto.VintageDetailInfo.HuntingStageMapEntry.value:type_name -> proto.VintageHuntingStageData
+ 7, // 6: proto.VintageDetailInfo.CampStageMapEntry.value:type_name -> proto.VintageCampChallengeStageData
+ 8, // 7: proto.VintageDetailInfo.PresentStageMapEntry.value:type_name -> proto.VintagePresentStageData
+ 8, // [8:8] is the sub-list for method output_type
+ 8, // [8:8] is the sub-list for method input_type
+ 8, // [8:8] is the sub-list for extension type_name
+ 8, // [8:8] is the sub-list for extension extendee
+ 0, // [0:8] is the sub-list for field type_name
+}
+
+func init() { file_VintageDetailInfo_proto_init() }
+func file_VintageDetailInfo_proto_init() {
+ if File_VintageDetailInfo_proto != nil {
+ return
+ }
+ file_VintageBoothUsedItemData_proto_init()
+ file_VintageCampChallengeStageData_proto_init()
+ file_VintageHuntingStageData_proto_init()
+ file_VintageMarketInfo_proto_init()
+ file_VintagePresentStageData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageDetailInfo_proto_goTypes,
+ DependencyIndexes: file_VintageDetailInfo_proto_depIdxs,
+ MessageInfos: file_VintageDetailInfo_proto_msgTypes,
+ }.Build()
+ File_VintageDetailInfo_proto = out.File
+ file_VintageDetailInfo_proto_rawDesc = nil
+ file_VintageDetailInfo_proto_goTypes = nil
+ file_VintageDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingFirstStageInfo.pb.go b/protocol/proto/VintageHuntingFirstStageInfo.pb.go
new file mode 100644
index 00000000..a2dc763b
--- /dev/null
+++ b/protocol/proto/VintageHuntingFirstStageInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingFirstStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageHuntingFirstStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TimidCnt uint32 `protobuf:"varint,15,opt,name=timid_cnt,json=timidCnt,proto3" json:"timid_cnt,omitempty"`
+ BrutalCnt uint32 `protobuf:"varint,7,opt,name=brutal_cnt,json=brutalCnt,proto3" json:"brutal_cnt,omitempty"`
+ Score uint32 `protobuf:"varint,14,opt,name=score,proto3" json:"score,omitempty"`
+ EliteCnt uint32 `protobuf:"varint,11,opt,name=elite_cnt,json=eliteCnt,proto3" json:"elite_cnt,omitempty"`
+}
+
+func (x *VintageHuntingFirstStageInfo) Reset() {
+ *x = VintageHuntingFirstStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingFirstStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingFirstStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingFirstStageInfo) ProtoMessage() {}
+
+func (x *VintageHuntingFirstStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingFirstStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingFirstStageInfo.ProtoReflect.Descriptor instead.
+func (*VintageHuntingFirstStageInfo) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingFirstStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageHuntingFirstStageInfo) GetTimidCnt() uint32 {
+ if x != nil {
+ return x.TimidCnt
+ }
+ return 0
+}
+
+func (x *VintageHuntingFirstStageInfo) GetBrutalCnt() uint32 {
+ if x != nil {
+ return x.BrutalCnt
+ }
+ return 0
+}
+
+func (x *VintageHuntingFirstStageInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *VintageHuntingFirstStageInfo) GetEliteCnt() uint32 {
+ if x != nil {
+ return x.EliteCnt
+ }
+ return 0
+}
+
+var File_VintageHuntingFirstStageInfo_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingFirstStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x01, 0x0a, 0x1c,
+ 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69,
+ 0x72, 0x73, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09,
+ 0x74, 0x69, 0x6d, 0x69, 0x64, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x74, 0x69, 0x6d, 0x69, 0x64, 0x43, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x72, 0x75,
+ 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62,
+ 0x72, 0x75, 0x74, 0x61, 0x6c, 0x43, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72,
+ 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6c, 0x69, 0x74, 0x65, 0x43, 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingFirstStageInfo_proto_rawDescOnce sync.Once
+ file_VintageHuntingFirstStageInfo_proto_rawDescData = file_VintageHuntingFirstStageInfo_proto_rawDesc
+)
+
+func file_VintageHuntingFirstStageInfo_proto_rawDescGZIP() []byte {
+ file_VintageHuntingFirstStageInfo_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingFirstStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingFirstStageInfo_proto_rawDescData)
+ })
+ return file_VintageHuntingFirstStageInfo_proto_rawDescData
+}
+
+var file_VintageHuntingFirstStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageHuntingFirstStageInfo_proto_goTypes = []interface{}{
+ (*VintageHuntingFirstStageInfo)(nil), // 0: proto.VintageHuntingFirstStageInfo
+}
+var file_VintageHuntingFirstStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingFirstStageInfo_proto_init() }
+func file_VintageHuntingFirstStageInfo_proto_init() {
+ if File_VintageHuntingFirstStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingFirstStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingFirstStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingFirstStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingFirstStageInfo_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingFirstStageInfo_proto_depIdxs,
+ MessageInfos: file_VintageHuntingFirstStageInfo_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingFirstStageInfo_proto = out.File
+ file_VintageHuntingFirstStageInfo_proto_rawDesc = nil
+ file_VintageHuntingFirstStageInfo_proto_goTypes = nil
+ file_VintageHuntingFirstStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingFirstStageSettleInfo.pb.go b/protocol/proto/VintageHuntingFirstStageSettleInfo.pb.go
new file mode 100644
index 00000000..5094637a
--- /dev/null
+++ b/protocol/proto/VintageHuntingFirstStageSettleInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingFirstStageSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageHuntingFirstStageSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EliteCnt uint32 `protobuf:"varint,10,opt,name=elite_cnt,json=eliteCnt,proto3" json:"elite_cnt,omitempty"`
+ TimidCnt uint32 `protobuf:"varint,2,opt,name=timid_cnt,json=timidCnt,proto3" json:"timid_cnt,omitempty"`
+ BrutalCnt uint32 `protobuf:"varint,6,opt,name=brutal_cnt,json=brutalCnt,proto3" json:"brutal_cnt,omitempty"`
+ Score uint32 `protobuf:"varint,14,opt,name=score,proto3" json:"score,omitempty"`
+}
+
+func (x *VintageHuntingFirstStageSettleInfo) Reset() {
+ *x = VintageHuntingFirstStageSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingFirstStageSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingFirstStageSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingFirstStageSettleInfo) ProtoMessage() {}
+
+func (x *VintageHuntingFirstStageSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingFirstStageSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingFirstStageSettleInfo.ProtoReflect.Descriptor instead.
+func (*VintageHuntingFirstStageSettleInfo) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingFirstStageSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageHuntingFirstStageSettleInfo) GetEliteCnt() uint32 {
+ if x != nil {
+ return x.EliteCnt
+ }
+ return 0
+}
+
+func (x *VintageHuntingFirstStageSettleInfo) GetTimidCnt() uint32 {
+ if x != nil {
+ return x.TimidCnt
+ }
+ return 0
+}
+
+func (x *VintageHuntingFirstStageSettleInfo) GetBrutalCnt() uint32 {
+ if x != nil {
+ return x.BrutalCnt
+ }
+ return 0
+}
+
+func (x *VintageHuntingFirstStageSettleInfo) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+var File_VintageHuntingFirstStageSettleInfo_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingFirstStageSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x22, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e,
+ 0x74, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65,
+ 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6c, 0x69, 0x74,
+ 0x65, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6c, 0x69,
+ 0x74, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x69, 0x64, 0x5f, 0x63,
+ 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x69, 0x64, 0x43,
+ 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x72, 0x75, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6e, 0x74,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x72, 0x75, 0x74, 0x61, 0x6c, 0x43, 0x6e,
+ 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingFirstStageSettleInfo_proto_rawDescOnce sync.Once
+ file_VintageHuntingFirstStageSettleInfo_proto_rawDescData = file_VintageHuntingFirstStageSettleInfo_proto_rawDesc
+)
+
+func file_VintageHuntingFirstStageSettleInfo_proto_rawDescGZIP() []byte {
+ file_VintageHuntingFirstStageSettleInfo_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingFirstStageSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingFirstStageSettleInfo_proto_rawDescData)
+ })
+ return file_VintageHuntingFirstStageSettleInfo_proto_rawDescData
+}
+
+var file_VintageHuntingFirstStageSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageHuntingFirstStageSettleInfo_proto_goTypes = []interface{}{
+ (*VintageHuntingFirstStageSettleInfo)(nil), // 0: proto.VintageHuntingFirstStageSettleInfo
+}
+var file_VintageHuntingFirstStageSettleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingFirstStageSettleInfo_proto_init() }
+func file_VintageHuntingFirstStageSettleInfo_proto_init() {
+ if File_VintageHuntingFirstStageSettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingFirstStageSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingFirstStageSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingFirstStageSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingFirstStageSettleInfo_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingFirstStageSettleInfo_proto_depIdxs,
+ MessageInfos: file_VintageHuntingFirstStageSettleInfo_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingFirstStageSettleInfo_proto = out.File
+ file_VintageHuntingFirstStageSettleInfo_proto_rawDesc = nil
+ file_VintageHuntingFirstStageSettleInfo_proto_goTypes = nil
+ file_VintageHuntingFirstStageSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingSecondStageInfo.pb.go b/protocol/proto/VintageHuntingSecondStageInfo.pb.go
new file mode 100644
index 00000000..996b01b2
--- /dev/null
+++ b/protocol/proto/VintageHuntingSecondStageInfo.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingSecondStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageHuntingSecondStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TotalNum uint32 `protobuf:"varint,11,opt,name=total_num,json=totalNum,proto3" json:"total_num,omitempty"`
+ CaptureAnimalNum uint32 `protobuf:"varint,13,opt,name=capture_animal_num,json=captureAnimalNum,proto3" json:"capture_animal_num,omitempty"`
+ LeftNum uint32 `protobuf:"varint,3,opt,name=left_num,json=leftNum,proto3" json:"left_num,omitempty"`
+}
+
+func (x *VintageHuntingSecondStageInfo) Reset() {
+ *x = VintageHuntingSecondStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingSecondStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingSecondStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingSecondStageInfo) ProtoMessage() {}
+
+func (x *VintageHuntingSecondStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingSecondStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingSecondStageInfo.ProtoReflect.Descriptor instead.
+func (*VintageHuntingSecondStageInfo) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingSecondStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageHuntingSecondStageInfo) GetTotalNum() uint32 {
+ if x != nil {
+ return x.TotalNum
+ }
+ return 0
+}
+
+func (x *VintageHuntingSecondStageInfo) GetCaptureAnimalNum() uint32 {
+ if x != nil {
+ return x.CaptureAnimalNum
+ }
+ return 0
+}
+
+func (x *VintageHuntingSecondStageInfo) GetLeftNum() uint32 {
+ if x != nil {
+ return x.LeftNum
+ }
+ return 0
+}
+
+var File_VintageHuntingSecondStageInfo_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingSecondStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a,
+ 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53,
+ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b,
+ 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x12, 0x63,
+ 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65,
+ 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x65, 0x66,
+ 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x65, 0x66,
+ 0x74, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingSecondStageInfo_proto_rawDescOnce sync.Once
+ file_VintageHuntingSecondStageInfo_proto_rawDescData = file_VintageHuntingSecondStageInfo_proto_rawDesc
+)
+
+func file_VintageHuntingSecondStageInfo_proto_rawDescGZIP() []byte {
+ file_VintageHuntingSecondStageInfo_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingSecondStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingSecondStageInfo_proto_rawDescData)
+ })
+ return file_VintageHuntingSecondStageInfo_proto_rawDescData
+}
+
+var file_VintageHuntingSecondStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageHuntingSecondStageInfo_proto_goTypes = []interface{}{
+ (*VintageHuntingSecondStageInfo)(nil), // 0: proto.VintageHuntingSecondStageInfo
+}
+var file_VintageHuntingSecondStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingSecondStageInfo_proto_init() }
+func file_VintageHuntingSecondStageInfo_proto_init() {
+ if File_VintageHuntingSecondStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingSecondStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingSecondStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingSecondStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingSecondStageInfo_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingSecondStageInfo_proto_depIdxs,
+ MessageInfos: file_VintageHuntingSecondStageInfo_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingSecondStageInfo_proto = out.File
+ file_VintageHuntingSecondStageInfo_proto_rawDesc = nil
+ file_VintageHuntingSecondStageInfo_proto_goTypes = nil
+ file_VintageHuntingSecondStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingSecondStageSettleInfo.pb.go b/protocol/proto/VintageHuntingSecondStageSettleInfo.pb.go
new file mode 100644
index 00000000..1cd86c0d
--- /dev/null
+++ b/protocol/proto/VintageHuntingSecondStageSettleInfo.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingSecondStageSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageHuntingSecondStageSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AnimalCountMap map[uint32]uint32 `protobuf:"bytes,6,rep,name=animal_count_map,json=animalCountMap,proto3" json:"animal_count_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ CaptureAnimalNum uint32 `protobuf:"varint,7,opt,name=capture_animal_num,json=captureAnimalNum,proto3" json:"capture_animal_num,omitempty"`
+ TotalNum uint32 `protobuf:"varint,15,opt,name=total_num,json=totalNum,proto3" json:"total_num,omitempty"`
+}
+
+func (x *VintageHuntingSecondStageSettleInfo) Reset() {
+ *x = VintageHuntingSecondStageSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingSecondStageSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingSecondStageSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingSecondStageSettleInfo) ProtoMessage() {}
+
+func (x *VintageHuntingSecondStageSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingSecondStageSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingSecondStageSettleInfo.ProtoReflect.Descriptor instead.
+func (*VintageHuntingSecondStageSettleInfo) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingSecondStageSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageHuntingSecondStageSettleInfo) GetAnimalCountMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AnimalCountMap
+ }
+ return nil
+}
+
+func (x *VintageHuntingSecondStageSettleInfo) GetCaptureAnimalNum() uint32 {
+ if x != nil {
+ return x.CaptureAnimalNum
+ }
+ return 0
+}
+
+func (x *VintageHuntingSecondStageSettleInfo) GetTotalNum() uint32 {
+ if x != nil {
+ return x.TotalNum
+ }
+ return 0
+}
+
+var File_VintageHuntingSecondStageSettleInfo_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingSecondStageSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x9d, 0x02, 0x0a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75,
+ 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x68, 0x0a, 0x10, 0x61, 0x6e,
+ 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e,
+ 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61, 0x70, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x4d, 0x61, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x5f,
+ 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x10, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x4e,
+ 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x1a,
+ 0x41, 0x0a, 0x13, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingSecondStageSettleInfo_proto_rawDescOnce sync.Once
+ file_VintageHuntingSecondStageSettleInfo_proto_rawDescData = file_VintageHuntingSecondStageSettleInfo_proto_rawDesc
+)
+
+func file_VintageHuntingSecondStageSettleInfo_proto_rawDescGZIP() []byte {
+ file_VintageHuntingSecondStageSettleInfo_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingSecondStageSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingSecondStageSettleInfo_proto_rawDescData)
+ })
+ return file_VintageHuntingSecondStageSettleInfo_proto_rawDescData
+}
+
+var file_VintageHuntingSecondStageSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_VintageHuntingSecondStageSettleInfo_proto_goTypes = []interface{}{
+ (*VintageHuntingSecondStageSettleInfo)(nil), // 0: proto.VintageHuntingSecondStageSettleInfo
+ nil, // 1: proto.VintageHuntingSecondStageSettleInfo.AnimalCountMapEntry
+}
+var file_VintageHuntingSecondStageSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageHuntingSecondStageSettleInfo.animal_count_map:type_name -> proto.VintageHuntingSecondStageSettleInfo.AnimalCountMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingSecondStageSettleInfo_proto_init() }
+func file_VintageHuntingSecondStageSettleInfo_proto_init() {
+ if File_VintageHuntingSecondStageSettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingSecondStageSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingSecondStageSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingSecondStageSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingSecondStageSettleInfo_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingSecondStageSettleInfo_proto_depIdxs,
+ MessageInfos: file_VintageHuntingSecondStageSettleInfo_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingSecondStageSettleInfo_proto = out.File
+ file_VintageHuntingSecondStageSettleInfo_proto_rawDesc = nil
+ file_VintageHuntingSecondStageSettleInfo_proto_goTypes = nil
+ file_VintageHuntingSecondStageSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingStageData.pb.go b/protocol/proto/VintageHuntingStageData.pb.go
new file mode 100644
index 00000000..c9a83a60
--- /dev/null
+++ b/protocol/proto/VintageHuntingStageData.pb.go
@@ -0,0 +1,199 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageHuntingStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenTime uint32 `protobuf:"varint,10,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsFinish bool `protobuf:"varint,3,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ IsOpen bool `protobuf:"varint,9,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ RecordValue uint32 `protobuf:"varint,12,opt,name=record_value,json=recordValue,proto3" json:"record_value,omitempty"`
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *VintageHuntingStageData) Reset() {
+ *x = VintageHuntingStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingStageData) ProtoMessage() {}
+
+func (x *VintageHuntingStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingStageData.ProtoReflect.Descriptor instead.
+func (*VintageHuntingStageData) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageHuntingStageData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *VintageHuntingStageData) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *VintageHuntingStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *VintageHuntingStageData) GetRecordValue() uint32 {
+ if x != nil {
+ return x.RecordValue
+ }
+ return 0
+}
+
+func (x *VintageHuntingStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_VintageHuntingStageData_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingStageData_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12,
+ 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x07,
+ 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69,
+ 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x63,
+ 0x6f, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingStageData_proto_rawDescOnce sync.Once
+ file_VintageHuntingStageData_proto_rawDescData = file_VintageHuntingStageData_proto_rawDesc
+)
+
+func file_VintageHuntingStageData_proto_rawDescGZIP() []byte {
+ file_VintageHuntingStageData_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingStageData_proto_rawDescData)
+ })
+ return file_VintageHuntingStageData_proto_rawDescData
+}
+
+var file_VintageHuntingStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageHuntingStageData_proto_goTypes = []interface{}{
+ (*VintageHuntingStageData)(nil), // 0: proto.VintageHuntingStageData
+}
+var file_VintageHuntingStageData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingStageData_proto_init() }
+func file_VintageHuntingStageData_proto_init() {
+ if File_VintageHuntingStageData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingStageData_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingStageData_proto_depIdxs,
+ MessageInfos: file_VintageHuntingStageData_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingStageData_proto = out.File
+ file_VintageHuntingStageData_proto_rawDesc = nil
+ file_VintageHuntingStageData_proto_goTypes = nil
+ file_VintageHuntingStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingStartGalleryReq.pb.go b/protocol/proto/VintageHuntingStartGalleryReq.pb.go
new file mode 100644
index 00000000..8ddeb03b
--- /dev/null
+++ b/protocol/proto/VintageHuntingStartGalleryReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingStartGalleryReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21780
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VintageHuntingStartGalleryReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageId uint32 `protobuf:"varint,7,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *VintageHuntingStartGalleryReq) Reset() {
+ *x = VintageHuntingStartGalleryReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingStartGalleryReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingStartGalleryReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingStartGalleryReq) ProtoMessage() {}
+
+func (x *VintageHuntingStartGalleryReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingStartGalleryReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingStartGalleryReq.ProtoReflect.Descriptor instead.
+func (*VintageHuntingStartGalleryReq) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingStartGalleryReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageHuntingStartGalleryReq) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_VintageHuntingStartGalleryReq_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingStartGalleryReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x1d,
+ 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingStartGalleryReq_proto_rawDescOnce sync.Once
+ file_VintageHuntingStartGalleryReq_proto_rawDescData = file_VintageHuntingStartGalleryReq_proto_rawDesc
+)
+
+func file_VintageHuntingStartGalleryReq_proto_rawDescGZIP() []byte {
+ file_VintageHuntingStartGalleryReq_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingStartGalleryReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingStartGalleryReq_proto_rawDescData)
+ })
+ return file_VintageHuntingStartGalleryReq_proto_rawDescData
+}
+
+var file_VintageHuntingStartGalleryReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageHuntingStartGalleryReq_proto_goTypes = []interface{}{
+ (*VintageHuntingStartGalleryReq)(nil), // 0: proto.VintageHuntingStartGalleryReq
+}
+var file_VintageHuntingStartGalleryReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingStartGalleryReq_proto_init() }
+func file_VintageHuntingStartGalleryReq_proto_init() {
+ if File_VintageHuntingStartGalleryReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingStartGalleryReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingStartGalleryReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingStartGalleryReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingStartGalleryReq_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingStartGalleryReq_proto_depIdxs,
+ MessageInfos: file_VintageHuntingStartGalleryReq_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingStartGalleryReq_proto = out.File
+ file_VintageHuntingStartGalleryReq_proto_rawDesc = nil
+ file_VintageHuntingStartGalleryReq_proto_goTypes = nil
+ file_VintageHuntingStartGalleryReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingStartGalleryRsp.pb.go b/protocol/proto/VintageHuntingStartGalleryRsp.pb.go
new file mode 100644
index 00000000..d3ebfbad
--- /dev/null
+++ b/protocol/proto/VintageHuntingStartGalleryRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingStartGalleryRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21951
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageHuntingStartGalleryRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *VintageHuntingStartGalleryRsp) Reset() {
+ *x = VintageHuntingStartGalleryRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingStartGalleryRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingStartGalleryRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingStartGalleryRsp) ProtoMessage() {}
+
+func (x *VintageHuntingStartGalleryRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingStartGalleryRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingStartGalleryRsp.ProtoReflect.Descriptor instead.
+func (*VintageHuntingStartGalleryRsp) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingStartGalleryRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageHuntingStartGalleryRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_VintageHuntingStartGalleryRsp_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingStartGalleryRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x53, 0x74, 0x61, 0x72, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x1d,
+ 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingStartGalleryRsp_proto_rawDescOnce sync.Once
+ file_VintageHuntingStartGalleryRsp_proto_rawDescData = file_VintageHuntingStartGalleryRsp_proto_rawDesc
+)
+
+func file_VintageHuntingStartGalleryRsp_proto_rawDescGZIP() []byte {
+ file_VintageHuntingStartGalleryRsp_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingStartGalleryRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingStartGalleryRsp_proto_rawDescData)
+ })
+ return file_VintageHuntingStartGalleryRsp_proto_rawDescData
+}
+
+var file_VintageHuntingStartGalleryRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageHuntingStartGalleryRsp_proto_goTypes = []interface{}{
+ (*VintageHuntingStartGalleryRsp)(nil), // 0: proto.VintageHuntingStartGalleryRsp
+}
+var file_VintageHuntingStartGalleryRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingStartGalleryRsp_proto_init() }
+func file_VintageHuntingStartGalleryRsp_proto_init() {
+ if File_VintageHuntingStartGalleryRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingStartGalleryRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingStartGalleryRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingStartGalleryRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingStartGalleryRsp_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingStartGalleryRsp_proto_depIdxs,
+ MessageInfos: file_VintageHuntingStartGalleryRsp_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingStartGalleryRsp_proto = out.File
+ file_VintageHuntingStartGalleryRsp_proto_rawDesc = nil
+ file_VintageHuntingStartGalleryRsp_proto_goTypes = nil
+ file_VintageHuntingStartGalleryRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingThirdStageInfo.pb.go b/protocol/proto/VintageHuntingThirdStageInfo.pb.go
new file mode 100644
index 00000000..136393f0
--- /dev/null
+++ b/protocol/proto/VintageHuntingThirdStageInfo.pb.go
@@ -0,0 +1,149 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingThirdStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageHuntingThirdStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *VintageHuntingThirdStageInfo) Reset() {
+ *x = VintageHuntingThirdStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingThirdStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingThirdStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingThirdStageInfo) ProtoMessage() {}
+
+func (x *VintageHuntingThirdStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingThirdStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingThirdStageInfo.ProtoReflect.Descriptor instead.
+func (*VintageHuntingThirdStageInfo) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingThirdStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+var File_VintageHuntingThirdStageInfo_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingThirdStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x54, 0x68, 0x69, 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x56,
+ 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x69,
+ 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingThirdStageInfo_proto_rawDescOnce sync.Once
+ file_VintageHuntingThirdStageInfo_proto_rawDescData = file_VintageHuntingThirdStageInfo_proto_rawDesc
+)
+
+func file_VintageHuntingThirdStageInfo_proto_rawDescGZIP() []byte {
+ file_VintageHuntingThirdStageInfo_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingThirdStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingThirdStageInfo_proto_rawDescData)
+ })
+ return file_VintageHuntingThirdStageInfo_proto_rawDescData
+}
+
+var file_VintageHuntingThirdStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageHuntingThirdStageInfo_proto_goTypes = []interface{}{
+ (*VintageHuntingThirdStageInfo)(nil), // 0: proto.VintageHuntingThirdStageInfo
+}
+var file_VintageHuntingThirdStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingThirdStageInfo_proto_init() }
+func file_VintageHuntingThirdStageInfo_proto_init() {
+ if File_VintageHuntingThirdStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingThirdStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingThirdStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingThirdStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingThirdStageInfo_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingThirdStageInfo_proto_depIdxs,
+ MessageInfos: file_VintageHuntingThirdStageInfo_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingThirdStageInfo_proto = out.File
+ file_VintageHuntingThirdStageInfo_proto_rawDesc = nil
+ file_VintageHuntingThirdStageInfo_proto_goTypes = nil
+ file_VintageHuntingThirdStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageHuntingThirdStageSettleInfo.pb.go b/protocol/proto/VintageHuntingThirdStageSettleInfo.pb.go
new file mode 100644
index 00000000..8808d851
--- /dev/null
+++ b/protocol/proto/VintageHuntingThirdStageSettleInfo.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageHuntingThirdStageSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageHuntingThirdStageSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LeftTime uint32 `protobuf:"varint,13,opt,name=left_time,json=leftTime,proto3" json:"left_time,omitempty"`
+ IsSuccess bool `protobuf:"varint,9,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+}
+
+func (x *VintageHuntingThirdStageSettleInfo) Reset() {
+ *x = VintageHuntingThirdStageSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageHuntingThirdStageSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageHuntingThirdStageSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageHuntingThirdStageSettleInfo) ProtoMessage() {}
+
+func (x *VintageHuntingThirdStageSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageHuntingThirdStageSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageHuntingThirdStageSettleInfo.ProtoReflect.Descriptor instead.
+func (*VintageHuntingThirdStageSettleInfo) Descriptor() ([]byte, []int) {
+ return file_VintageHuntingThirdStageSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageHuntingThirdStageSettleInfo) GetLeftTime() uint32 {
+ if x != nil {
+ return x.LeftTime
+ }
+ return 0
+}
+
+func (x *VintageHuntingThirdStageSettleInfo) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+var File_VintageHuntingThirdStageSettleInfo_proto protoreflect.FileDescriptor
+
+var file_VintageHuntingThirdStageSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x28, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67,
+ 0x54, 0x68, 0x69, 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x60, 0x0a, 0x22, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x48, 0x75, 0x6e, 0x74,
+ 0x69, 0x6e, 0x67, 0x54, 0x68, 0x69, 0x72, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
+ 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x66, 0x74, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74,
+ 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageHuntingThirdStageSettleInfo_proto_rawDescOnce sync.Once
+ file_VintageHuntingThirdStageSettleInfo_proto_rawDescData = file_VintageHuntingThirdStageSettleInfo_proto_rawDesc
+)
+
+func file_VintageHuntingThirdStageSettleInfo_proto_rawDescGZIP() []byte {
+ file_VintageHuntingThirdStageSettleInfo_proto_rawDescOnce.Do(func() {
+ file_VintageHuntingThirdStageSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageHuntingThirdStageSettleInfo_proto_rawDescData)
+ })
+ return file_VintageHuntingThirdStageSettleInfo_proto_rawDescData
+}
+
+var file_VintageHuntingThirdStageSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageHuntingThirdStageSettleInfo_proto_goTypes = []interface{}{
+ (*VintageHuntingThirdStageSettleInfo)(nil), // 0: proto.VintageHuntingThirdStageSettleInfo
+}
+var file_VintageHuntingThirdStageSettleInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageHuntingThirdStageSettleInfo_proto_init() }
+func file_VintageHuntingThirdStageSettleInfo_proto_init() {
+ if File_VintageHuntingThirdStageSettleInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageHuntingThirdStageSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageHuntingThirdStageSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageHuntingThirdStageSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageHuntingThirdStageSettleInfo_proto_goTypes,
+ DependencyIndexes: file_VintageHuntingThirdStageSettleInfo_proto_depIdxs,
+ MessageInfos: file_VintageHuntingThirdStageSettleInfo_proto_msgTypes,
+ }.Build()
+ File_VintageHuntingThirdStageSettleInfo_proto = out.File
+ file_VintageHuntingThirdStageSettleInfo_proto_rawDesc = nil
+ file_VintageHuntingThirdStageSettleInfo_proto_goTypes = nil
+ file_VintageHuntingThirdStageSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketDealInfo.pb.go b/protocol/proto/VintageMarketDealInfo.pb.go
new file mode 100644
index 00000000..6e8dbe2a
--- /dev/null
+++ b/protocol/proto/VintageMarketDealInfo.pb.go
@@ -0,0 +1,177 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketDealInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageMarketDealInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TraderItemInfoMap map[uint32]*VintageMarketTraderInfo `protobuf:"bytes,13,rep,name=trader_item_info_map,json=traderItemInfoMap,proto3" json:"trader_item_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *VintageMarketDealInfo) Reset() {
+ *x = VintageMarketDealInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketDealInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketDealInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketDealInfo) ProtoMessage() {}
+
+func (x *VintageMarketDealInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketDealInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketDealInfo.ProtoReflect.Descriptor instead.
+func (*VintageMarketDealInfo) Descriptor() ([]byte, []int) {
+ return file_VintageMarketDealInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketDealInfo) GetTraderItemInfoMap() map[uint32]*VintageMarketTraderInfo {
+ if x != nil {
+ return x.TraderItemInfoMap
+ }
+ return nil
+}
+
+var File_VintageMarketDealInfo_proto protoreflect.FileDescriptor
+
+var file_VintageMarketDealInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44,
+ 0x65, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72,
+ 0x6b, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x01, 0x0a, 0x15, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d,
+ 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x64, 0x0a,
+ 0x14, 0x74, 0x72, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65,
+ 0x74, 0x44, 0x65, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x72,
+ 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x11, 0x74, 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
+ 0x4d, 0x61, 0x70, 0x1a, 0x64, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x74, 0x65,
+ 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61,
+ 0x72, 0x6b, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketDealInfo_proto_rawDescOnce sync.Once
+ file_VintageMarketDealInfo_proto_rawDescData = file_VintageMarketDealInfo_proto_rawDesc
+)
+
+func file_VintageMarketDealInfo_proto_rawDescGZIP() []byte {
+ file_VintageMarketDealInfo_proto_rawDescOnce.Do(func() {
+ file_VintageMarketDealInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketDealInfo_proto_rawDescData)
+ })
+ return file_VintageMarketDealInfo_proto_rawDescData
+}
+
+var file_VintageMarketDealInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_VintageMarketDealInfo_proto_goTypes = []interface{}{
+ (*VintageMarketDealInfo)(nil), // 0: proto.VintageMarketDealInfo
+ nil, // 1: proto.VintageMarketDealInfo.TraderItemInfoMapEntry
+ (*VintageMarketTraderInfo)(nil), // 2: proto.VintageMarketTraderInfo
+}
+var file_VintageMarketDealInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageMarketDealInfo.trader_item_info_map:type_name -> proto.VintageMarketDealInfo.TraderItemInfoMapEntry
+ 2, // 1: proto.VintageMarketDealInfo.TraderItemInfoMapEntry.value:type_name -> proto.VintageMarketTraderInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketDealInfo_proto_init() }
+func file_VintageMarketDealInfo_proto_init() {
+ if File_VintageMarketDealInfo_proto != nil {
+ return
+ }
+ file_VintageMarketTraderInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketDealInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketDealInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketDealInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketDealInfo_proto_goTypes,
+ DependencyIndexes: file_VintageMarketDealInfo_proto_depIdxs,
+ MessageInfos: file_VintageMarketDealInfo_proto_msgTypes,
+ }.Build()
+ File_VintageMarketDealInfo_proto = out.File
+ file_VintageMarketDealInfo_proto_rawDesc = nil
+ file_VintageMarketDealInfo_proto_goTypes = nil
+ file_VintageMarketDealInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketDeliverItemReq.pb.go b/protocol/proto/VintageMarketDeliverItemReq.pb.go
new file mode 100644
index 00000000..a6ddd2b2
--- /dev/null
+++ b/protocol/proto/VintageMarketDeliverItemReq.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketDeliverItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23141
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VintageMarketDeliverItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DeliverItemList []*ItemParam `protobuf:"bytes,3,rep,name=deliver_item_list,json=deliverItemList,proto3" json:"deliver_item_list,omitempty"`
+ TraderId uint32 `protobuf:"varint,5,opt,name=trader_id,json=traderId,proto3" json:"trader_id,omitempty"`
+}
+
+func (x *VintageMarketDeliverItemReq) Reset() {
+ *x = VintageMarketDeliverItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketDeliverItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketDeliverItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketDeliverItemReq) ProtoMessage() {}
+
+func (x *VintageMarketDeliverItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketDeliverItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketDeliverItemReq.ProtoReflect.Descriptor instead.
+func (*VintageMarketDeliverItemReq) Descriptor() ([]byte, []int) {
+ return file_VintageMarketDeliverItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketDeliverItemReq) GetDeliverItemList() []*ItemParam {
+ if x != nil {
+ return x.DeliverItemList
+ }
+ return nil
+}
+
+func (x *VintageMarketDeliverItemReq) GetTraderId() uint32 {
+ if x != nil {
+ return x.TraderId
+ }
+ return 0
+}
+
+var File_VintageMarketDeliverItemReq_proto protoreflect.FileDescriptor
+
+var file_VintageMarketDeliverItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44,
+ 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x1b, 0x56,
+ 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x69,
+ 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x3c, 0x0a, 0x11, 0x64, 0x65,
+ 0x6c, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74,
+ 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72,
+ 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64,
+ 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x72, 0x61,
+ 0x64, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketDeliverItemReq_proto_rawDescOnce sync.Once
+ file_VintageMarketDeliverItemReq_proto_rawDescData = file_VintageMarketDeliverItemReq_proto_rawDesc
+)
+
+func file_VintageMarketDeliverItemReq_proto_rawDescGZIP() []byte {
+ file_VintageMarketDeliverItemReq_proto_rawDescOnce.Do(func() {
+ file_VintageMarketDeliverItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketDeliverItemReq_proto_rawDescData)
+ })
+ return file_VintageMarketDeliverItemReq_proto_rawDescData
+}
+
+var file_VintageMarketDeliverItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketDeliverItemReq_proto_goTypes = []interface{}{
+ (*VintageMarketDeliverItemReq)(nil), // 0: proto.VintageMarketDeliverItemReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_VintageMarketDeliverItemReq_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageMarketDeliverItemReq.deliver_item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketDeliverItemReq_proto_init() }
+func file_VintageMarketDeliverItemReq_proto_init() {
+ if File_VintageMarketDeliverItemReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketDeliverItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketDeliverItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketDeliverItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketDeliverItemReq_proto_goTypes,
+ DependencyIndexes: file_VintageMarketDeliverItemReq_proto_depIdxs,
+ MessageInfos: file_VintageMarketDeliverItemReq_proto_msgTypes,
+ }.Build()
+ File_VintageMarketDeliverItemReq_proto = out.File
+ file_VintageMarketDeliverItemReq_proto_rawDesc = nil
+ file_VintageMarketDeliverItemReq_proto_goTypes = nil
+ file_VintageMarketDeliverItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketDeliverItemRsp.pb.go b/protocol/proto/VintageMarketDeliverItemRsp.pb.go
new file mode 100644
index 00000000..77e8680f
--- /dev/null
+++ b/protocol/proto/VintageMarketDeliverItemRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketDeliverItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22181
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageMarketDeliverItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ TraderId uint32 `protobuf:"varint,3,opt,name=trader_id,json=traderId,proto3" json:"trader_id,omitempty"`
+}
+
+func (x *VintageMarketDeliverItemRsp) Reset() {
+ *x = VintageMarketDeliverItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketDeliverItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketDeliverItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketDeliverItemRsp) ProtoMessage() {}
+
+func (x *VintageMarketDeliverItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketDeliverItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketDeliverItemRsp.ProtoReflect.Descriptor instead.
+func (*VintageMarketDeliverItemRsp) Descriptor() ([]byte, []int) {
+ return file_VintageMarketDeliverItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketDeliverItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *VintageMarketDeliverItemRsp) GetTraderId() uint32 {
+ if x != nil {
+ return x.TraderId
+ }
+ return 0
+}
+
+var File_VintageMarketDeliverItemRsp_proto protoreflect.FileDescriptor
+
+var file_VintageMarketDeliverItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44,
+ 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x1b, 0x56, 0x69,
+ 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x69, 0x76,
+ 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketDeliverItemRsp_proto_rawDescOnce sync.Once
+ file_VintageMarketDeliverItemRsp_proto_rawDescData = file_VintageMarketDeliverItemRsp_proto_rawDesc
+)
+
+func file_VintageMarketDeliverItemRsp_proto_rawDescGZIP() []byte {
+ file_VintageMarketDeliverItemRsp_proto_rawDescOnce.Do(func() {
+ file_VintageMarketDeliverItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketDeliverItemRsp_proto_rawDescData)
+ })
+ return file_VintageMarketDeliverItemRsp_proto_rawDescData
+}
+
+var file_VintageMarketDeliverItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketDeliverItemRsp_proto_goTypes = []interface{}{
+ (*VintageMarketDeliverItemRsp)(nil), // 0: proto.VintageMarketDeliverItemRsp
+}
+var file_VintageMarketDeliverItemRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketDeliverItemRsp_proto_init() }
+func file_VintageMarketDeliverItemRsp_proto_init() {
+ if File_VintageMarketDeliverItemRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketDeliverItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketDeliverItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketDeliverItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketDeliverItemRsp_proto_goTypes,
+ DependencyIndexes: file_VintageMarketDeliverItemRsp_proto_depIdxs,
+ MessageInfos: file_VintageMarketDeliverItemRsp_proto_msgTypes,
+ }.Build()
+ File_VintageMarketDeliverItemRsp_proto = out.File
+ file_VintageMarketDeliverItemRsp_proto_rawDesc = nil
+ file_VintageMarketDeliverItemRsp_proto_goTypes = nil
+ file_VintageMarketDeliverItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketDividendFinishNotify.pb.go b/protocol/proto/VintageMarketDividendFinishNotify.pb.go
new file mode 100644
index 00000000..edabf8fb
--- /dev/null
+++ b/protocol/proto/VintageMarketDividendFinishNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketDividendFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23147
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageMarketDividendFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CoinA uint32 `protobuf:"varint,5,opt,name=coin_a,json=coinA,proto3" json:"coin_a,omitempty"`
+ CoinC uint32 `protobuf:"varint,11,opt,name=coin_c,json=coinC,proto3" json:"coin_c,omitempty"`
+}
+
+func (x *VintageMarketDividendFinishNotify) Reset() {
+ *x = VintageMarketDividendFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketDividendFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketDividendFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketDividendFinishNotify) ProtoMessage() {}
+
+func (x *VintageMarketDividendFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketDividendFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketDividendFinishNotify.ProtoReflect.Descriptor instead.
+func (*VintageMarketDividendFinishNotify) Descriptor() ([]byte, []int) {
+ return file_VintageMarketDividendFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketDividendFinishNotify) GetCoinA() uint32 {
+ if x != nil {
+ return x.CoinA
+ }
+ return 0
+}
+
+func (x *VintageMarketDividendFinishNotify) GetCoinC() uint32 {
+ if x != nil {
+ return x.CoinC
+ }
+ return 0
+}
+
+var File_VintageMarketDividendFinishNotify_proto protoreflect.FileDescriptor
+
+var file_VintageMarketDividendFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44,
+ 0x69, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x51, 0x0a, 0x21, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65,
+ 0x74, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x61, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x69, 0x6e, 0x41, 0x12, 0x15, 0x0a, 0x06,
+ 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f,
+ 0x69, 0x6e, 0x43, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketDividendFinishNotify_proto_rawDescOnce sync.Once
+ file_VintageMarketDividendFinishNotify_proto_rawDescData = file_VintageMarketDividendFinishNotify_proto_rawDesc
+)
+
+func file_VintageMarketDividendFinishNotify_proto_rawDescGZIP() []byte {
+ file_VintageMarketDividendFinishNotify_proto_rawDescOnce.Do(func() {
+ file_VintageMarketDividendFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketDividendFinishNotify_proto_rawDescData)
+ })
+ return file_VintageMarketDividendFinishNotify_proto_rawDescData
+}
+
+var file_VintageMarketDividendFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketDividendFinishNotify_proto_goTypes = []interface{}{
+ (*VintageMarketDividendFinishNotify)(nil), // 0: proto.VintageMarketDividendFinishNotify
+}
+var file_VintageMarketDividendFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketDividendFinishNotify_proto_init() }
+func file_VintageMarketDividendFinishNotify_proto_init() {
+ if File_VintageMarketDividendFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketDividendFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketDividendFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketDividendFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketDividendFinishNotify_proto_goTypes,
+ DependencyIndexes: file_VintageMarketDividendFinishNotify_proto_depIdxs,
+ MessageInfos: file_VintageMarketDividendFinishNotify_proto_msgTypes,
+ }.Build()
+ File_VintageMarketDividendFinishNotify_proto = out.File
+ file_VintageMarketDividendFinishNotify_proto_rawDesc = nil
+ file_VintageMarketDividendFinishNotify_proto_goTypes = nil
+ file_VintageMarketDividendFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketFinishStorePlayReq.pb.go b/protocol/proto/VintageMarketFinishStorePlayReq.pb.go
new file mode 100644
index 00000000..9c388271
--- /dev/null
+++ b/protocol/proto/VintageMarketFinishStorePlayReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketFinishStorePlayReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20676
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VintageMarketFinishStorePlayReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StoreRound uint32 `protobuf:"varint,9,opt,name=store_round,json=storeRound,proto3" json:"store_round,omitempty"`
+ StoreOpList []*VintageMarketStoreOpInfo `protobuf:"bytes,3,rep,name=store_op_list,json=storeOpList,proto3" json:"store_op_list,omitempty"`
+}
+
+func (x *VintageMarketFinishStorePlayReq) Reset() {
+ *x = VintageMarketFinishStorePlayReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketFinishStorePlayReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketFinishStorePlayReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketFinishStorePlayReq) ProtoMessage() {}
+
+func (x *VintageMarketFinishStorePlayReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketFinishStorePlayReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketFinishStorePlayReq.ProtoReflect.Descriptor instead.
+func (*VintageMarketFinishStorePlayReq) Descriptor() ([]byte, []int) {
+ return file_VintageMarketFinishStorePlayReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketFinishStorePlayReq) GetStoreRound() uint32 {
+ if x != nil {
+ return x.StoreRound
+ }
+ return 0
+}
+
+func (x *VintageMarketFinishStorePlayReq) GetStoreOpList() []*VintageMarketStoreOpInfo {
+ if x != nil {
+ return x.StoreOpList
+ }
+ return nil
+}
+
+var File_VintageMarketFinishStorePlayReq_proto protoreflect.FileDescriptor
+
+var file_VintageMarketFinishStorePlayReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e,
+ 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x6f,
+ 0x72, 0x65, 0x4f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87,
+ 0x01, 0x0a, 0x1f, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52,
+ 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x6e,
+ 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x6f,
+ 0x75, 0x6e, 0x64, 0x12, 0x43, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6f, 0x70, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
+ 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x4f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketFinishStorePlayReq_proto_rawDescOnce sync.Once
+ file_VintageMarketFinishStorePlayReq_proto_rawDescData = file_VintageMarketFinishStorePlayReq_proto_rawDesc
+)
+
+func file_VintageMarketFinishStorePlayReq_proto_rawDescGZIP() []byte {
+ file_VintageMarketFinishStorePlayReq_proto_rawDescOnce.Do(func() {
+ file_VintageMarketFinishStorePlayReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketFinishStorePlayReq_proto_rawDescData)
+ })
+ return file_VintageMarketFinishStorePlayReq_proto_rawDescData
+}
+
+var file_VintageMarketFinishStorePlayReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketFinishStorePlayReq_proto_goTypes = []interface{}{
+ (*VintageMarketFinishStorePlayReq)(nil), // 0: proto.VintageMarketFinishStorePlayReq
+ (*VintageMarketStoreOpInfo)(nil), // 1: proto.VintageMarketStoreOpInfo
+}
+var file_VintageMarketFinishStorePlayReq_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageMarketFinishStorePlayReq.store_op_list:type_name -> proto.VintageMarketStoreOpInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketFinishStorePlayReq_proto_init() }
+func file_VintageMarketFinishStorePlayReq_proto_init() {
+ if File_VintageMarketFinishStorePlayReq_proto != nil {
+ return
+ }
+ file_VintageMarketStoreOpInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketFinishStorePlayReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketFinishStorePlayReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketFinishStorePlayReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketFinishStorePlayReq_proto_goTypes,
+ DependencyIndexes: file_VintageMarketFinishStorePlayReq_proto_depIdxs,
+ MessageInfos: file_VintageMarketFinishStorePlayReq_proto_msgTypes,
+ }.Build()
+ File_VintageMarketFinishStorePlayReq_proto = out.File
+ file_VintageMarketFinishStorePlayReq_proto_rawDesc = nil
+ file_VintageMarketFinishStorePlayReq_proto_goTypes = nil
+ file_VintageMarketFinishStorePlayReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketFinishStorePlayRsp.pb.go b/protocol/proto/VintageMarketFinishStorePlayRsp.pb.go
new file mode 100644
index 00000000..9e3314eb
--- /dev/null
+++ b/protocol/proto/VintageMarketFinishStorePlayRsp.pb.go
@@ -0,0 +1,271 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketFinishStorePlayRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 23462
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageMarketFinishStorePlayRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TriggerEnvEventList []uint32 `protobuf:"varint,8,rep,packed,name=trigger_env_event_list,json=triggerEnvEventList,proto3" json:"trigger_env_event_list,omitempty"`
+ StoreRound uint32 `protobuf:"varint,12,opt,name=store_round,json=storeRound,proto3" json:"store_round,omitempty"`
+ TriggerNpcEventList []uint32 `protobuf:"varint,10,rep,packed,name=trigger_npc_event_list,json=triggerNpcEventList,proto3" json:"trigger_npc_event_list,omitempty"`
+ LowAttrStoreList []uint32 `protobuf:"varint,11,rep,packed,name=low_attr_store_list,json=lowAttrStoreList,proto3" json:"low_attr_store_list,omitempty"`
+ RoundCoinBIncome uint32 `protobuf:"varint,9,opt,name=round_coin_b_income,json=roundCoinBIncome,proto3" json:"round_coin_b_income,omitempty"`
+ RoundDeltaCoinC uint32 `protobuf:"varint,1,opt,name=round_delta_coin_c,json=roundDeltaCoinC,proto3" json:"round_delta_coin_c,omitempty"`
+ StoreIncomeMap map[uint32]uint32 `protobuf:"bytes,3,rep,name=store_income_map,json=storeIncomeMap,proto3" json:"store_income_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ Retcode int32 `protobuf:"varint,7,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ RoundTotalIncome uint32 `protobuf:"varint,14,opt,name=round_total_income,json=roundTotalIncome,proto3" json:"round_total_income,omitempty"`
+ DisplayReturnCoinB uint32 `protobuf:"varint,15,opt,name=display_return_coin_b,json=displayReturnCoinB,proto3" json:"display_return_coin_b,omitempty"`
+}
+
+func (x *VintageMarketFinishStorePlayRsp) Reset() {
+ *x = VintageMarketFinishStorePlayRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketFinishStorePlayRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketFinishStorePlayRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketFinishStorePlayRsp) ProtoMessage() {}
+
+func (x *VintageMarketFinishStorePlayRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketFinishStorePlayRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketFinishStorePlayRsp.ProtoReflect.Descriptor instead.
+func (*VintageMarketFinishStorePlayRsp) Descriptor() ([]byte, []int) {
+ return file_VintageMarketFinishStorePlayRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetTriggerEnvEventList() []uint32 {
+ if x != nil {
+ return x.TriggerEnvEventList
+ }
+ return nil
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetStoreRound() uint32 {
+ if x != nil {
+ return x.StoreRound
+ }
+ return 0
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetTriggerNpcEventList() []uint32 {
+ if x != nil {
+ return x.TriggerNpcEventList
+ }
+ return nil
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetLowAttrStoreList() []uint32 {
+ if x != nil {
+ return x.LowAttrStoreList
+ }
+ return nil
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetRoundCoinBIncome() uint32 {
+ if x != nil {
+ return x.RoundCoinBIncome
+ }
+ return 0
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetRoundDeltaCoinC() uint32 {
+ if x != nil {
+ return x.RoundDeltaCoinC
+ }
+ return 0
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetStoreIncomeMap() map[uint32]uint32 {
+ if x != nil {
+ return x.StoreIncomeMap
+ }
+ return nil
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetRoundTotalIncome() uint32 {
+ if x != nil {
+ return x.RoundTotalIncome
+ }
+ return 0
+}
+
+func (x *VintageMarketFinishStorePlayRsp) GetDisplayReturnCoinB() uint32 {
+ if x != nil {
+ return x.DisplayReturnCoinB
+ }
+ return 0
+}
+
+var File_VintageMarketFinishStorePlayRsp_proto protoreflect.FileDescriptor
+
+var file_VintageMarketFinishStorePlayRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb,
+ 0x04, 0x0a, 0x1f, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52,
+ 0x73, 0x70, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x6e,
+ 0x76, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x13, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x6e, 0x76, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x65,
+ 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x72, 0x69, 0x67,
+ 0x67, 0x65, 0x72, 0x5f, 0x6e, 0x70, 0x63, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65,
+ 0x72, 0x4e, 0x70, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a,
+ 0x13, 0x6c, 0x6f, 0x77, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, 0x6c, 0x6f, 0x77, 0x41,
+ 0x74, 0x74, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x13,
+ 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x62, 0x5f, 0x69, 0x6e, 0x63,
+ 0x6f, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x6e, 0x64,
+ 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x72,
+ 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f,
+ 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x44, 0x65,
+ 0x6c, 0x74, 0x61, 0x43, 0x6f, 0x69, 0x6e, 0x43, 0x12, 0x64, 0x0a, 0x10, 0x73, 0x74, 0x6f, 0x72,
+ 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x53, 0x74,
+ 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65,
+ 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
+ 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x6e,
+ 0x64, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x74, 0x61, 0x6c,
+ 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61,
+ 0x79, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x62, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x52, 0x65,
+ 0x74, 0x75, 0x72, 0x6e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x74, 0x6f,
+ 0x72, 0x65, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketFinishStorePlayRsp_proto_rawDescOnce sync.Once
+ file_VintageMarketFinishStorePlayRsp_proto_rawDescData = file_VintageMarketFinishStorePlayRsp_proto_rawDesc
+)
+
+func file_VintageMarketFinishStorePlayRsp_proto_rawDescGZIP() []byte {
+ file_VintageMarketFinishStorePlayRsp_proto_rawDescOnce.Do(func() {
+ file_VintageMarketFinishStorePlayRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketFinishStorePlayRsp_proto_rawDescData)
+ })
+ return file_VintageMarketFinishStorePlayRsp_proto_rawDescData
+}
+
+var file_VintageMarketFinishStorePlayRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_VintageMarketFinishStorePlayRsp_proto_goTypes = []interface{}{
+ (*VintageMarketFinishStorePlayRsp)(nil), // 0: proto.VintageMarketFinishStorePlayRsp
+ nil, // 1: proto.VintageMarketFinishStorePlayRsp.StoreIncomeMapEntry
+}
+var file_VintageMarketFinishStorePlayRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageMarketFinishStorePlayRsp.store_income_map:type_name -> proto.VintageMarketFinishStorePlayRsp.StoreIncomeMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketFinishStorePlayRsp_proto_init() }
+func file_VintageMarketFinishStorePlayRsp_proto_init() {
+ if File_VintageMarketFinishStorePlayRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketFinishStorePlayRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketFinishStorePlayRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketFinishStorePlayRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketFinishStorePlayRsp_proto_goTypes,
+ DependencyIndexes: file_VintageMarketFinishStorePlayRsp_proto_depIdxs,
+ MessageInfos: file_VintageMarketFinishStorePlayRsp_proto_msgTypes,
+ }.Build()
+ File_VintageMarketFinishStorePlayRsp_proto = out.File
+ file_VintageMarketFinishStorePlayRsp_proto_rawDesc = nil
+ file_VintageMarketFinishStorePlayRsp_proto_goTypes = nil
+ file_VintageMarketFinishStorePlayRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketInfo.pb.go b/protocol/proto/VintageMarketInfo.pb.go
new file mode 100644
index 00000000..7ec12c26
--- /dev/null
+++ b/protocol/proto/VintageMarketInfo.pb.go
@@ -0,0 +1,412 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageMarketInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsHelpModuleOpen bool `protobuf:"varint,1485,opt,name=is_help_module_open,json=isHelpModuleOpen,proto3" json:"is_help_module_open,omitempty"`
+ IsStoreContentInterrupt bool `protobuf:"varint,15,opt,name=is_store_content_interrupt,json=isStoreContentInterrupt,proto3" json:"is_store_content_interrupt,omitempty"`
+ DealInfo *VintageMarketDealInfo `protobuf:"bytes,11,opt,name=deal_info,json=dealInfo,proto3" json:"deal_info,omitempty"`
+ StoreRound uint32 `protobuf:"varint,7,opt,name=store_round,json=storeRound,proto3" json:"store_round,omitempty"`
+ StoreRoundIncomeList []uint32 `protobuf:"varint,207,rep,packed,name=store_round_income_list,json=storeRoundIncomeList,proto3" json:"store_round_income_list,omitempty"`
+ IsStoreContentFinish bool `protobuf:"varint,5,opt,name=is_store_content_finish,json=isStoreContentFinish,proto3" json:"is_store_content_finish,omitempty"`
+ CurEnvEventList []uint32 `protobuf:"varint,8,rep,packed,name=cur_env_event_list,json=curEnvEventList,proto3" json:"cur_env_event_list,omitempty"`
+ IsMarketContentOpen bool `protobuf:"varint,10,opt,name=is_market_content_open,json=isMarketContentOpen,proto3" json:"is_market_content_open,omitempty"`
+ NextCanUseHelpRound uint32 `protobuf:"varint,1800,opt,name=next_can_use_help_round,json=nextCanUseHelpRound,proto3" json:"next_can_use_help_round,omitempty"`
+ IsMarketContentFinish bool `protobuf:"varint,2,opt,name=is_market_content_finish,json=isMarketContentFinish,proto3" json:"is_market_content_finish,omitempty"`
+ ViewedStrategyList []uint32 `protobuf:"varint,14,rep,packed,name=viewed_strategy_list,json=viewedStrategyList,proto3" json:"viewed_strategy_list,omitempty"`
+ PrevCoinCNum uint32 `protobuf:"varint,3,opt,name=prev_coin_c_num,json=prevCoinCNum,proto3" json:"prev_coin_c_num,omitempty"`
+ BargainInfoMap map[uint32]bool `protobuf:"bytes,6,rep,name=bargain_info_map,json=bargainInfoMap,proto3" json:"bargain_info_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ DividendRewardCount uint32 `protobuf:"varint,1798,opt,name=dividend_reward_count,json=dividendRewardCount,proto3" json:"dividend_reward_count,omitempty"`
+ CurNpcEventList []uint32 `protobuf:"varint,4,rep,packed,name=cur_npc_event_list,json=curNpcEventList,proto3" json:"cur_npc_event_list,omitempty"`
+ IsHelpInCd bool `protobuf:"varint,366,opt,name=is_help_in_cd,json=isHelpInCd,proto3" json:"is_help_in_cd,omitempty"`
+ PrevCoinBNum uint32 `protobuf:"varint,1,opt,name=prev_coin_b_num,json=prevCoinBNum,proto3" json:"prev_coin_b_num,omitempty"`
+ OpenStoreList []*VintageMarketStoreInfo `protobuf:"bytes,9,rep,name=open_store_list,json=openStoreList,proto3" json:"open_store_list,omitempty"`
+ HelpSkillId uint32 `protobuf:"varint,760,opt,name=help_skill_id,json=helpSkillId,proto3" json:"help_skill_id,omitempty"`
+ IsRoundTipsView bool `protobuf:"varint,12,opt,name=is_round_tips_view,json=isRoundTipsView,proto3" json:"is_round_tips_view,omitempty"`
+ IsStrategyModuleOpen bool `protobuf:"varint,876,opt,name=is_strategy_module_open,json=isStrategyModuleOpen,proto3" json:"is_strategy_module_open,omitempty"`
+ UnlockStrategyList []uint32 `protobuf:"varint,13,rep,packed,name=unlock_strategy_list,json=unlockStrategyList,proto3" json:"unlock_strategy_list,omitempty"`
+}
+
+func (x *VintageMarketInfo) Reset() {
+ *x = VintageMarketInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketInfo) ProtoMessage() {}
+
+func (x *VintageMarketInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketInfo.ProtoReflect.Descriptor instead.
+func (*VintageMarketInfo) Descriptor() ([]byte, []int) {
+ return file_VintageMarketInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketInfo) GetIsHelpModuleOpen() bool {
+ if x != nil {
+ return x.IsHelpModuleOpen
+ }
+ return false
+}
+
+func (x *VintageMarketInfo) GetIsStoreContentInterrupt() bool {
+ if x != nil {
+ return x.IsStoreContentInterrupt
+ }
+ return false
+}
+
+func (x *VintageMarketInfo) GetDealInfo() *VintageMarketDealInfo {
+ if x != nil {
+ return x.DealInfo
+ }
+ return nil
+}
+
+func (x *VintageMarketInfo) GetStoreRound() uint32 {
+ if x != nil {
+ return x.StoreRound
+ }
+ return 0
+}
+
+func (x *VintageMarketInfo) GetStoreRoundIncomeList() []uint32 {
+ if x != nil {
+ return x.StoreRoundIncomeList
+ }
+ return nil
+}
+
+func (x *VintageMarketInfo) GetIsStoreContentFinish() bool {
+ if x != nil {
+ return x.IsStoreContentFinish
+ }
+ return false
+}
+
+func (x *VintageMarketInfo) GetCurEnvEventList() []uint32 {
+ if x != nil {
+ return x.CurEnvEventList
+ }
+ return nil
+}
+
+func (x *VintageMarketInfo) GetIsMarketContentOpen() bool {
+ if x != nil {
+ return x.IsMarketContentOpen
+ }
+ return false
+}
+
+func (x *VintageMarketInfo) GetNextCanUseHelpRound() uint32 {
+ if x != nil {
+ return x.NextCanUseHelpRound
+ }
+ return 0
+}
+
+func (x *VintageMarketInfo) GetIsMarketContentFinish() bool {
+ if x != nil {
+ return x.IsMarketContentFinish
+ }
+ return false
+}
+
+func (x *VintageMarketInfo) GetViewedStrategyList() []uint32 {
+ if x != nil {
+ return x.ViewedStrategyList
+ }
+ return nil
+}
+
+func (x *VintageMarketInfo) GetPrevCoinCNum() uint32 {
+ if x != nil {
+ return x.PrevCoinCNum
+ }
+ return 0
+}
+
+func (x *VintageMarketInfo) GetBargainInfoMap() map[uint32]bool {
+ if x != nil {
+ return x.BargainInfoMap
+ }
+ return nil
+}
+
+func (x *VintageMarketInfo) GetDividendRewardCount() uint32 {
+ if x != nil {
+ return x.DividendRewardCount
+ }
+ return 0
+}
+
+func (x *VintageMarketInfo) GetCurNpcEventList() []uint32 {
+ if x != nil {
+ return x.CurNpcEventList
+ }
+ return nil
+}
+
+func (x *VintageMarketInfo) GetIsHelpInCd() bool {
+ if x != nil {
+ return x.IsHelpInCd
+ }
+ return false
+}
+
+func (x *VintageMarketInfo) GetPrevCoinBNum() uint32 {
+ if x != nil {
+ return x.PrevCoinBNum
+ }
+ return 0
+}
+
+func (x *VintageMarketInfo) GetOpenStoreList() []*VintageMarketStoreInfo {
+ if x != nil {
+ return x.OpenStoreList
+ }
+ return nil
+}
+
+func (x *VintageMarketInfo) GetHelpSkillId() uint32 {
+ if x != nil {
+ return x.HelpSkillId
+ }
+ return 0
+}
+
+func (x *VintageMarketInfo) GetIsRoundTipsView() bool {
+ if x != nil {
+ return x.IsRoundTipsView
+ }
+ return false
+}
+
+func (x *VintageMarketInfo) GetIsStrategyModuleOpen() bool {
+ if x != nil {
+ return x.IsStrategyModuleOpen
+ }
+ return false
+}
+
+func (x *VintageMarketInfo) GetUnlockStrategyList() []uint32 {
+ if x != nil {
+ return x.UnlockStrategyList
+ }
+ return nil
+}
+
+var File_VintageMarketInfo_proto protoreflect.FileDescriptor
+
+var file_VintageMarketInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1b, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44,
+ 0x65, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x56,
+ 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x09, 0x0a, 0x11,
+ 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x6d, 0x6f, 0x64,
+ 0x75, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0xcd, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x10, 0x69, 0x73, 0x48, 0x65, 0x6c, 0x70, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4f, 0x70, 0x65,
+ 0x6e, 0x12, 0x3b, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x12, 0x39,
+ 0x0a, 0x09, 0x64, 0x65, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67,
+ 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x08, 0x64, 0x65, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xcf, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x14, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x75, 0x72,
+ 0x5f, 0x65, 0x6e, 0x76, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x45, 0x6e, 0x76, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x72,
+ 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
+ 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x35, 0x0a, 0x17, 0x6e,
+ 0x65, 0x78, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x6c, 0x70,
+ 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x88, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e,
+ 0x65, 0x78, 0x74, 0x43, 0x61, 0x6e, 0x55, 0x73, 0x65, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x6f, 0x75,
+ 0x6e, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f,
+ 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x43, 0x6f,
+ 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x30, 0x0a, 0x14, 0x76,
+ 0x69, 0x65, 0x77, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x76, 0x69, 0x65, 0x77, 0x65,
+ 0x64, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a,
+ 0x0f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x5f, 0x6e, 0x75, 0x6d,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x76, 0x43, 0x6f, 0x69, 0x6e,
+ 0x43, 0x4e, 0x75, 0x6d, 0x12, 0x56, 0x0a, 0x10, 0x62, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61,
+ 0x72, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x62, 0x61,
+ 0x72, 0x67, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x12, 0x33, 0x0a, 0x15,
+ 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x86, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x64, 0x69,
+ 0x76, 0x69, 0x64, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x5f, 0x6e, 0x70, 0x63, 0x5f, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x63,
+ 0x75, 0x72, 0x4e, 0x70, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22,
+ 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x64, 0x18,
+ 0xee, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x48, 0x65, 0x6c, 0x70, 0x49, 0x6e,
+ 0x43, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f,
+ 0x62, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x72, 0x65,
+ 0x76, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x4e, 0x75, 0x6d, 0x12, 0x45, 0x0a, 0x0f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69,
+ 0x64, 0x18, 0xf8, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x68, 0x65, 0x6c, 0x70, 0x53, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x75, 0x6e,
+ 0x64, 0x5f, 0x74, 0x69, 0x70, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0f, 0x69, 0x73, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x70, 0x73, 0x56, 0x69,
+ 0x65, 0x77, 0x12, 0x36, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
+ 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0xec, 0x06,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x73, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
+ 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x6e,
+ 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x41, 0x0a, 0x13,
+ 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketInfo_proto_rawDescOnce sync.Once
+ file_VintageMarketInfo_proto_rawDescData = file_VintageMarketInfo_proto_rawDesc
+)
+
+func file_VintageMarketInfo_proto_rawDescGZIP() []byte {
+ file_VintageMarketInfo_proto_rawDescOnce.Do(func() {
+ file_VintageMarketInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketInfo_proto_rawDescData)
+ })
+ return file_VintageMarketInfo_proto_rawDescData
+}
+
+var file_VintageMarketInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_VintageMarketInfo_proto_goTypes = []interface{}{
+ (*VintageMarketInfo)(nil), // 0: proto.VintageMarketInfo
+ nil, // 1: proto.VintageMarketInfo.BargainInfoMapEntry
+ (*VintageMarketDealInfo)(nil), // 2: proto.VintageMarketDealInfo
+ (*VintageMarketStoreInfo)(nil), // 3: proto.VintageMarketStoreInfo
+}
+var file_VintageMarketInfo_proto_depIdxs = []int32{
+ 2, // 0: proto.VintageMarketInfo.deal_info:type_name -> proto.VintageMarketDealInfo
+ 1, // 1: proto.VintageMarketInfo.bargain_info_map:type_name -> proto.VintageMarketInfo.BargainInfoMapEntry
+ 3, // 2: proto.VintageMarketInfo.open_store_list:type_name -> proto.VintageMarketStoreInfo
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 3, // [3:3] is the sub-list for extension type_name
+ 3, // [3:3] is the sub-list for extension extendee
+ 0, // [0:3] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketInfo_proto_init() }
+func file_VintageMarketInfo_proto_init() {
+ if File_VintageMarketInfo_proto != nil {
+ return
+ }
+ file_VintageMarketDealInfo_proto_init()
+ file_VintageMarketStoreInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketInfo_proto_goTypes,
+ DependencyIndexes: file_VintageMarketInfo_proto_depIdxs,
+ MessageInfos: file_VintageMarketInfo_proto_msgTypes,
+ }.Build()
+ File_VintageMarketInfo_proto = out.File
+ file_VintageMarketInfo_proto_rawDesc = nil
+ file_VintageMarketInfo_proto_goTypes = nil
+ file_VintageMarketInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketNpcEventFinishNotify.pb.go b/protocol/proto/VintageMarketNpcEventFinishNotify.pb.go
new file mode 100644
index 00000000..a139904c
--- /dev/null
+++ b/protocol/proto/VintageMarketNpcEventFinishNotify.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketNpcEventFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24201
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageMarketNpcEventFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UnlockStrategyList []uint32 `protobuf:"varint,15,rep,packed,name=unlock_strategy_list,json=unlockStrategyList,proto3" json:"unlock_strategy_list,omitempty"`
+ CoinC uint32 `protobuf:"varint,12,opt,name=coin_c,json=coinC,proto3" json:"coin_c,omitempty"`
+ CoinA uint32 `protobuf:"varint,4,opt,name=coin_a,json=coinA,proto3" json:"coin_a,omitempty"`
+}
+
+func (x *VintageMarketNpcEventFinishNotify) Reset() {
+ *x = VintageMarketNpcEventFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketNpcEventFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketNpcEventFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketNpcEventFinishNotify) ProtoMessage() {}
+
+func (x *VintageMarketNpcEventFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketNpcEventFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketNpcEventFinishNotify.ProtoReflect.Descriptor instead.
+func (*VintageMarketNpcEventFinishNotify) Descriptor() ([]byte, []int) {
+ return file_VintageMarketNpcEventFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketNpcEventFinishNotify) GetUnlockStrategyList() []uint32 {
+ if x != nil {
+ return x.UnlockStrategyList
+ }
+ return nil
+}
+
+func (x *VintageMarketNpcEventFinishNotify) GetCoinC() uint32 {
+ if x != nil {
+ return x.CoinC
+ }
+ return 0
+}
+
+func (x *VintageMarketNpcEventFinishNotify) GetCoinA() uint32 {
+ if x != nil {
+ return x.CoinA
+ }
+ return 0
+}
+
+var File_VintageMarketNpcEventFinishNotify_proto protoreflect.FileDescriptor
+
+var file_VintageMarketNpcEventFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4e,
+ 0x70, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x83, 0x01, 0x0a, 0x21, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b,
+ 0x65, 0x74, 0x4e, 0x70, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x72, 0x61,
+ 0x74, 0x65, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x6f, 0x69, 0x6e,
+ 0x5f, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x69, 0x6e, 0x43, 0x12,
+ 0x15, 0x0a, 0x06, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x63, 0x6f, 0x69, 0x6e, 0x41, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketNpcEventFinishNotify_proto_rawDescOnce sync.Once
+ file_VintageMarketNpcEventFinishNotify_proto_rawDescData = file_VintageMarketNpcEventFinishNotify_proto_rawDesc
+)
+
+func file_VintageMarketNpcEventFinishNotify_proto_rawDescGZIP() []byte {
+ file_VintageMarketNpcEventFinishNotify_proto_rawDescOnce.Do(func() {
+ file_VintageMarketNpcEventFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketNpcEventFinishNotify_proto_rawDescData)
+ })
+ return file_VintageMarketNpcEventFinishNotify_proto_rawDescData
+}
+
+var file_VintageMarketNpcEventFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketNpcEventFinishNotify_proto_goTypes = []interface{}{
+ (*VintageMarketNpcEventFinishNotify)(nil), // 0: proto.VintageMarketNpcEventFinishNotify
+}
+var file_VintageMarketNpcEventFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketNpcEventFinishNotify_proto_init() }
+func file_VintageMarketNpcEventFinishNotify_proto_init() {
+ if File_VintageMarketNpcEventFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketNpcEventFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketNpcEventFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketNpcEventFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketNpcEventFinishNotify_proto_goTypes,
+ DependencyIndexes: file_VintageMarketNpcEventFinishNotify_proto_depIdxs,
+ MessageInfos: file_VintageMarketNpcEventFinishNotify_proto_msgTypes,
+ }.Build()
+ File_VintageMarketNpcEventFinishNotify_proto = out.File
+ file_VintageMarketNpcEventFinishNotify_proto_rawDesc = nil
+ file_VintageMarketNpcEventFinishNotify_proto_goTypes = nil
+ file_VintageMarketNpcEventFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStartStorePlayReq.pb.go b/protocol/proto/VintageMarketStartStorePlayReq.pb.go
new file mode 100644
index 00000000..e1eec885
--- /dev/null
+++ b/protocol/proto/VintageMarketStartStorePlayReq.pb.go
@@ -0,0 +1,165 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStartStorePlayReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22864
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VintageMarketStartStorePlayReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StoreRound uint32 `protobuf:"varint,5,opt,name=store_round,json=storeRound,proto3" json:"store_round,omitempty"`
+}
+
+func (x *VintageMarketStartStorePlayReq) Reset() {
+ *x = VintageMarketStartStorePlayReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStartStorePlayReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStartStorePlayReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStartStorePlayReq) ProtoMessage() {}
+
+func (x *VintageMarketStartStorePlayReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStartStorePlayReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStartStorePlayReq.ProtoReflect.Descriptor instead.
+func (*VintageMarketStartStorePlayReq) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStartStorePlayReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStartStorePlayReq) GetStoreRound() uint32 {
+ if x != nil {
+ return x.StoreRound
+ }
+ return 0
+}
+
+var File_VintageMarketStartStorePlayReq_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStartStorePlayReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x41, 0x0a,
+ 0x1e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74,
+ 0x61, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStartStorePlayReq_proto_rawDescOnce sync.Once
+ file_VintageMarketStartStorePlayReq_proto_rawDescData = file_VintageMarketStartStorePlayReq_proto_rawDesc
+)
+
+func file_VintageMarketStartStorePlayReq_proto_rawDescGZIP() []byte {
+ file_VintageMarketStartStorePlayReq_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStartStorePlayReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStartStorePlayReq_proto_rawDescData)
+ })
+ return file_VintageMarketStartStorePlayReq_proto_rawDescData
+}
+
+var file_VintageMarketStartStorePlayReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStartStorePlayReq_proto_goTypes = []interface{}{
+ (*VintageMarketStartStorePlayReq)(nil), // 0: proto.VintageMarketStartStorePlayReq
+}
+var file_VintageMarketStartStorePlayReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStartStorePlayReq_proto_init() }
+func file_VintageMarketStartStorePlayReq_proto_init() {
+ if File_VintageMarketStartStorePlayReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStartStorePlayReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStartStorePlayReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStartStorePlayReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStartStorePlayReq_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStartStorePlayReq_proto_depIdxs,
+ MessageInfos: file_VintageMarketStartStorePlayReq_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStartStorePlayReq_proto = out.File
+ file_VintageMarketStartStorePlayReq_proto_rawDesc = nil
+ file_VintageMarketStartStorePlayReq_proto_goTypes = nil
+ file_VintageMarketStartStorePlayReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStartStorePlayRsp.pb.go b/protocol/proto/VintageMarketStartStorePlayRsp.pb.go
new file mode 100644
index 00000000..788f60d5
--- /dev/null
+++ b/protocol/proto/VintageMarketStartStorePlayRsp.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStartStorePlayRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22130
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageMarketStartStorePlayRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PrevRoundCoinB uint32 `protobuf:"varint,7,opt,name=prev_round_coin_b,json=prevRoundCoinB,proto3" json:"prev_round_coin_b,omitempty"`
+ StoreRound uint32 `protobuf:"varint,2,opt,name=store_round,json=storeRound,proto3" json:"store_round,omitempty"`
+ PrevRoundCoinC uint32 `protobuf:"varint,5,opt,name=prev_round_coin_c,json=prevRoundCoinC,proto3" json:"prev_round_coin_c,omitempty"`
+ Retcode int32 `protobuf:"varint,8,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *VintageMarketStartStorePlayRsp) Reset() {
+ *x = VintageMarketStartStorePlayRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStartStorePlayRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStartStorePlayRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStartStorePlayRsp) ProtoMessage() {}
+
+func (x *VintageMarketStartStorePlayRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStartStorePlayRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStartStorePlayRsp.ProtoReflect.Descriptor instead.
+func (*VintageMarketStartStorePlayRsp) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStartStorePlayRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStartStorePlayRsp) GetPrevRoundCoinB() uint32 {
+ if x != nil {
+ return x.PrevRoundCoinB
+ }
+ return 0
+}
+
+func (x *VintageMarketStartStorePlayRsp) GetStoreRound() uint32 {
+ if x != nil {
+ return x.StoreRound
+ }
+ return 0
+}
+
+func (x *VintageMarketStartStorePlayRsp) GetPrevRoundCoinC() uint32 {
+ if x != nil {
+ return x.PrevRoundCoinC
+ }
+ return 0
+}
+
+func (x *VintageMarketStartStorePlayRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_VintageMarketStartStorePlayRsp_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStartStorePlayRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01,
+ 0x0a, 0x1e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x52, 0x73, 0x70,
+ 0x12, 0x29, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63,
+ 0x6f, 0x69, 0x6e, 0x5f, 0x62, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x65,
+ 0x76, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
+ 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x11,
+ 0x70, 0x72, 0x65, 0x76, 0x5f, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x69, 0x6e, 0x5f,
+ 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x76, 0x52, 0x6f, 0x75,
+ 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x43, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStartStorePlayRsp_proto_rawDescOnce sync.Once
+ file_VintageMarketStartStorePlayRsp_proto_rawDescData = file_VintageMarketStartStorePlayRsp_proto_rawDesc
+)
+
+func file_VintageMarketStartStorePlayRsp_proto_rawDescGZIP() []byte {
+ file_VintageMarketStartStorePlayRsp_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStartStorePlayRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStartStorePlayRsp_proto_rawDescData)
+ })
+ return file_VintageMarketStartStorePlayRsp_proto_rawDescData
+}
+
+var file_VintageMarketStartStorePlayRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStartStorePlayRsp_proto_goTypes = []interface{}{
+ (*VintageMarketStartStorePlayRsp)(nil), // 0: proto.VintageMarketStartStorePlayRsp
+}
+var file_VintageMarketStartStorePlayRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStartStorePlayRsp_proto_init() }
+func file_VintageMarketStartStorePlayRsp_proto_init() {
+ if File_VintageMarketStartStorePlayRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStartStorePlayRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStartStorePlayRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStartStorePlayRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStartStorePlayRsp_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStartStorePlayRsp_proto_depIdxs,
+ MessageInfos: file_VintageMarketStartStorePlayRsp_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStartStorePlayRsp_proto = out.File
+ file_VintageMarketStartStorePlayRsp_proto_rawDesc = nil
+ file_VintageMarketStartStorePlayRsp_proto_goTypes = nil
+ file_VintageMarketStartStorePlayRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStoreChooseStrategyReq.pb.go b/protocol/proto/VintageMarketStoreChooseStrategyReq.pb.go
new file mode 100644
index 00000000..a7d518f8
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreChooseStrategyReq.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStoreChooseStrategyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21248
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VintageMarketStoreChooseStrategyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StoreId uint32 `protobuf:"varint,6,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty"`
+ StoreOpList []*VintageMarketStoreOpInfo `protobuf:"bytes,9,rep,name=store_op_list,json=storeOpList,proto3" json:"store_op_list,omitempty"`
+ StrategyList []uint32 `protobuf:"varint,8,rep,packed,name=strategy_list,json=strategyList,proto3" json:"strategy_list,omitempty"`
+}
+
+func (x *VintageMarketStoreChooseStrategyReq) Reset() {
+ *x = VintageMarketStoreChooseStrategyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStoreChooseStrategyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStoreChooseStrategyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStoreChooseStrategyReq) ProtoMessage() {}
+
+func (x *VintageMarketStoreChooseStrategyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStoreChooseStrategyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStoreChooseStrategyReq.ProtoReflect.Descriptor instead.
+func (*VintageMarketStoreChooseStrategyReq) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStoreChooseStrategyReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStoreChooseStrategyReq) GetStoreId() uint32 {
+ if x != nil {
+ return x.StoreId
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreChooseStrategyReq) GetStoreOpList() []*VintageMarketStoreOpInfo {
+ if x != nil {
+ return x.StoreOpList
+ }
+ return nil
+}
+
+func (x *VintageMarketStoreChooseStrategyReq) GetStrategyList() []uint32 {
+ if x != nil {
+ return x.StrategyList
+ }
+ return nil
+}
+
+var File_VintageMarketStoreChooseStrategyReq_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStoreChooseStrategyReq_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
+ 0x67, 0x79, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65,
+ 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xaa, 0x01, 0x0a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61,
+ 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53,
+ 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x65, 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x6f,
+ 0x70, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b,
+ 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73,
+ 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74,
+ 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStoreChooseStrategyReq_proto_rawDescOnce sync.Once
+ file_VintageMarketStoreChooseStrategyReq_proto_rawDescData = file_VintageMarketStoreChooseStrategyReq_proto_rawDesc
+)
+
+func file_VintageMarketStoreChooseStrategyReq_proto_rawDescGZIP() []byte {
+ file_VintageMarketStoreChooseStrategyReq_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStoreChooseStrategyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStoreChooseStrategyReq_proto_rawDescData)
+ })
+ return file_VintageMarketStoreChooseStrategyReq_proto_rawDescData
+}
+
+var file_VintageMarketStoreChooseStrategyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStoreChooseStrategyReq_proto_goTypes = []interface{}{
+ (*VintageMarketStoreChooseStrategyReq)(nil), // 0: proto.VintageMarketStoreChooseStrategyReq
+ (*VintageMarketStoreOpInfo)(nil), // 1: proto.VintageMarketStoreOpInfo
+}
+var file_VintageMarketStoreChooseStrategyReq_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageMarketStoreChooseStrategyReq.store_op_list:type_name -> proto.VintageMarketStoreOpInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStoreChooseStrategyReq_proto_init() }
+func file_VintageMarketStoreChooseStrategyReq_proto_init() {
+ if File_VintageMarketStoreChooseStrategyReq_proto != nil {
+ return
+ }
+ file_VintageMarketStoreOpInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStoreChooseStrategyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStoreChooseStrategyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStoreChooseStrategyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStoreChooseStrategyReq_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStoreChooseStrategyReq_proto_depIdxs,
+ MessageInfos: file_VintageMarketStoreChooseStrategyReq_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStoreChooseStrategyReq_proto = out.File
+ file_VintageMarketStoreChooseStrategyReq_proto_rawDesc = nil
+ file_VintageMarketStoreChooseStrategyReq_proto_goTypes = nil
+ file_VintageMarketStoreChooseStrategyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStoreChooseStrategyRsp.pb.go b/protocol/proto/VintageMarketStoreChooseStrategyRsp.pb.go
new file mode 100644
index 00000000..5ea7fe85
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreChooseStrategyRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStoreChooseStrategyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24860
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageMarketStoreChooseStrategyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StoreId uint32 `protobuf:"varint,15,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty"`
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ StrategyList []uint32 `protobuf:"varint,2,rep,packed,name=strategy_list,json=strategyList,proto3" json:"strategy_list,omitempty"`
+}
+
+func (x *VintageMarketStoreChooseStrategyRsp) Reset() {
+ *x = VintageMarketStoreChooseStrategyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStoreChooseStrategyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStoreChooseStrategyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStoreChooseStrategyRsp) ProtoMessage() {}
+
+func (x *VintageMarketStoreChooseStrategyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStoreChooseStrategyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStoreChooseStrategyRsp.ProtoReflect.Descriptor instead.
+func (*VintageMarketStoreChooseStrategyRsp) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStoreChooseStrategyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStoreChooseStrategyRsp) GetStoreId() uint32 {
+ if x != nil {
+ return x.StoreId
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreChooseStrategyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreChooseStrategyRsp) GetStrategyList() []uint32 {
+ if x != nil {
+ return x.StrategyList
+ }
+ return nil
+}
+
+var File_VintageMarketStoreChooseStrategyRsp_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStoreChooseStrategyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
+ 0x67, 0x79, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x23, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72,
+ 0x6b, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x6f, 0x6f, 0x73, 0x65, 0x53, 0x74,
+ 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x73, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x6f,
+ 0x72, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x23,
+ 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStoreChooseStrategyRsp_proto_rawDescOnce sync.Once
+ file_VintageMarketStoreChooseStrategyRsp_proto_rawDescData = file_VintageMarketStoreChooseStrategyRsp_proto_rawDesc
+)
+
+func file_VintageMarketStoreChooseStrategyRsp_proto_rawDescGZIP() []byte {
+ file_VintageMarketStoreChooseStrategyRsp_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStoreChooseStrategyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStoreChooseStrategyRsp_proto_rawDescData)
+ })
+ return file_VintageMarketStoreChooseStrategyRsp_proto_rawDescData
+}
+
+var file_VintageMarketStoreChooseStrategyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStoreChooseStrategyRsp_proto_goTypes = []interface{}{
+ (*VintageMarketStoreChooseStrategyRsp)(nil), // 0: proto.VintageMarketStoreChooseStrategyRsp
+}
+var file_VintageMarketStoreChooseStrategyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStoreChooseStrategyRsp_proto_init() }
+func file_VintageMarketStoreChooseStrategyRsp_proto_init() {
+ if File_VintageMarketStoreChooseStrategyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStoreChooseStrategyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStoreChooseStrategyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStoreChooseStrategyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStoreChooseStrategyRsp_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStoreChooseStrategyRsp_proto_depIdxs,
+ MessageInfos: file_VintageMarketStoreChooseStrategyRsp_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStoreChooseStrategyRsp_proto = out.File
+ file_VintageMarketStoreChooseStrategyRsp_proto_rawDesc = nil
+ file_VintageMarketStoreChooseStrategyRsp_proto_goTypes = nil
+ file_VintageMarketStoreChooseStrategyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStoreInfo.pb.go b/protocol/proto/VintageMarketStoreInfo.pb.go
new file mode 100644
index 00000000..ecc418e7
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreInfo.pb.go
@@ -0,0 +1,201 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStoreInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageMarketStoreInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurAttrList []uint32 `protobuf:"varint,5,rep,packed,name=cur_attr_list,json=curAttrList,proto3" json:"cur_attr_list,omitempty"`
+ NextAimAttrList []uint32 `protobuf:"varint,14,rep,packed,name=next_aim_attr_list,json=nextAimAttrList,proto3" json:"next_aim_attr_list,omitempty"`
+ StrategyList []uint32 `protobuf:"varint,2,rep,packed,name=strategy_list,json=strategyList,proto3" json:"strategy_list,omitempty"`
+ SlotCount uint32 `protobuf:"varint,3,opt,name=slot_count,json=slotCount,proto3" json:"slot_count,omitempty"`
+ StoreId uint32 `protobuf:"varint,10,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty"`
+}
+
+func (x *VintageMarketStoreInfo) Reset() {
+ *x = VintageMarketStoreInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStoreInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStoreInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStoreInfo) ProtoMessage() {}
+
+func (x *VintageMarketStoreInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStoreInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStoreInfo.ProtoReflect.Descriptor instead.
+func (*VintageMarketStoreInfo) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStoreInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStoreInfo) GetCurAttrList() []uint32 {
+ if x != nil {
+ return x.CurAttrList
+ }
+ return nil
+}
+
+func (x *VintageMarketStoreInfo) GetNextAimAttrList() []uint32 {
+ if x != nil {
+ return x.NextAimAttrList
+ }
+ return nil
+}
+
+func (x *VintageMarketStoreInfo) GetStrategyList() []uint32 {
+ if x != nil {
+ return x.StrategyList
+ }
+ return nil
+}
+
+func (x *VintageMarketStoreInfo) GetSlotCount() uint32 {
+ if x != nil {
+ return x.SlotCount
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreInfo) GetStoreId() uint32 {
+ if x != nil {
+ return x.StoreId
+ }
+ return 0
+}
+
+var File_VintageMarketStoreInfo_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStoreInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x16, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67,
+ 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x41, 0x74, 0x74, 0x72,
+ 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x69, 0x6d,
+ 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x41, 0x69, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65,
+ 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6c, 0x6f, 0x74,
+ 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69,
+ 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStoreInfo_proto_rawDescOnce sync.Once
+ file_VintageMarketStoreInfo_proto_rawDescData = file_VintageMarketStoreInfo_proto_rawDesc
+)
+
+func file_VintageMarketStoreInfo_proto_rawDescGZIP() []byte {
+ file_VintageMarketStoreInfo_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStoreInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStoreInfo_proto_rawDescData)
+ })
+ return file_VintageMarketStoreInfo_proto_rawDescData
+}
+
+var file_VintageMarketStoreInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStoreInfo_proto_goTypes = []interface{}{
+ (*VintageMarketStoreInfo)(nil), // 0: proto.VintageMarketStoreInfo
+}
+var file_VintageMarketStoreInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStoreInfo_proto_init() }
+func file_VintageMarketStoreInfo_proto_init() {
+ if File_VintageMarketStoreInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStoreInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStoreInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStoreInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStoreInfo_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStoreInfo_proto_depIdxs,
+ MessageInfos: file_VintageMarketStoreInfo_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStoreInfo_proto = out.File
+ file_VintageMarketStoreInfo_proto_rawDesc = nil
+ file_VintageMarketStoreInfo_proto_goTypes = nil
+ file_VintageMarketStoreInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStoreOpInfo.pb.go b/protocol/proto/VintageMarketStoreOpInfo.pb.go
new file mode 100644
index 00000000..4aefcb5c
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreOpInfo.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStoreOpInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageMarketStoreOpInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StrategyList []uint32 `protobuf:"varint,5,rep,packed,name=strategy_list,json=strategyList,proto3" json:"strategy_list,omitempty"`
+ HelpUid uint32 `protobuf:"varint,9,opt,name=help_uid,json=helpUid,proto3" json:"help_uid,omitempty"`
+ StoreId uint32 `protobuf:"varint,2,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty"`
+ HelpSkillId uint32 `protobuf:"varint,7,opt,name=help_skill_id,json=helpSkillId,proto3" json:"help_skill_id,omitempty"`
+ AddAttrList []uint32 `protobuf:"varint,15,rep,packed,name=add_attr_list,json=addAttrList,proto3" json:"add_attr_list,omitempty"`
+}
+
+func (x *VintageMarketStoreOpInfo) Reset() {
+ *x = VintageMarketStoreOpInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStoreOpInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStoreOpInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStoreOpInfo) ProtoMessage() {}
+
+func (x *VintageMarketStoreOpInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStoreOpInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStoreOpInfo.ProtoReflect.Descriptor instead.
+func (*VintageMarketStoreOpInfo) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStoreOpInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStoreOpInfo) GetStrategyList() []uint32 {
+ if x != nil {
+ return x.StrategyList
+ }
+ return nil
+}
+
+func (x *VintageMarketStoreOpInfo) GetHelpUid() uint32 {
+ if x != nil {
+ return x.HelpUid
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreOpInfo) GetStoreId() uint32 {
+ if x != nil {
+ return x.StoreId
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreOpInfo) GetHelpSkillId() uint32 {
+ if x != nil {
+ return x.HelpSkillId
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreOpInfo) GetAddAttrList() []uint32 {
+ if x != nil {
+ return x.AddAttrList
+ }
+ return nil
+}
+
+var File_VintageMarketStoreOpInfo_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStoreOpInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x01, 0x0a, 0x18, 0x56, 0x69, 0x6e, 0x74,
+ 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x4f, 0x70,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x72,
+ 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x65, 0x6c,
+ 0x70, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x68, 0x65, 0x6c,
+ 0x70, 0x55, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x12,
+ 0x22, 0x0a, 0x0d, 0x68, 0x65, 0x6c, 0x70, 0x5f, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x69, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x68, 0x65, 0x6c, 0x70, 0x53, 0x6b, 0x69, 0x6c,
+ 0x6c, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x41,
+ 0x74, 0x74, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStoreOpInfo_proto_rawDescOnce sync.Once
+ file_VintageMarketStoreOpInfo_proto_rawDescData = file_VintageMarketStoreOpInfo_proto_rawDesc
+)
+
+func file_VintageMarketStoreOpInfo_proto_rawDescGZIP() []byte {
+ file_VintageMarketStoreOpInfo_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStoreOpInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStoreOpInfo_proto_rawDescData)
+ })
+ return file_VintageMarketStoreOpInfo_proto_rawDescData
+}
+
+var file_VintageMarketStoreOpInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStoreOpInfo_proto_goTypes = []interface{}{
+ (*VintageMarketStoreOpInfo)(nil), // 0: proto.VintageMarketStoreOpInfo
+}
+var file_VintageMarketStoreOpInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStoreOpInfo_proto_init() }
+func file_VintageMarketStoreOpInfo_proto_init() {
+ if File_VintageMarketStoreOpInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStoreOpInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStoreOpInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStoreOpInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStoreOpInfo_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStoreOpInfo_proto_depIdxs,
+ MessageInfos: file_VintageMarketStoreOpInfo_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStoreOpInfo_proto = out.File
+ file_VintageMarketStoreOpInfo_proto_rawDesc = nil
+ file_VintageMarketStoreOpInfo_proto_goTypes = nil
+ file_VintageMarketStoreOpInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStoreUnlockSlotReq.pb.go b/protocol/proto/VintageMarketStoreUnlockSlotReq.pb.go
new file mode 100644
index 00000000..5506105e
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreUnlockSlotReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStoreUnlockSlotReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20626
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VintageMarketStoreUnlockSlotReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StoreId uint32 `protobuf:"varint,10,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty"`
+}
+
+func (x *VintageMarketStoreUnlockSlotReq) Reset() {
+ *x = VintageMarketStoreUnlockSlotReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStoreUnlockSlotReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStoreUnlockSlotReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStoreUnlockSlotReq) ProtoMessage() {}
+
+func (x *VintageMarketStoreUnlockSlotReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStoreUnlockSlotReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStoreUnlockSlotReq.ProtoReflect.Descriptor instead.
+func (*VintageMarketStoreUnlockSlotReq) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStoreUnlockSlotReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStoreUnlockSlotReq) GetStoreId() uint32 {
+ if x != nil {
+ return x.StoreId
+ }
+ return 0
+}
+
+var File_VintageMarketStoreUnlockSlotReq_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStoreUnlockSlotReq_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c,
+ 0x0a, 0x1f, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x65,
+ 0x71, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStoreUnlockSlotReq_proto_rawDescOnce sync.Once
+ file_VintageMarketStoreUnlockSlotReq_proto_rawDescData = file_VintageMarketStoreUnlockSlotReq_proto_rawDesc
+)
+
+func file_VintageMarketStoreUnlockSlotReq_proto_rawDescGZIP() []byte {
+ file_VintageMarketStoreUnlockSlotReq_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStoreUnlockSlotReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStoreUnlockSlotReq_proto_rawDescData)
+ })
+ return file_VintageMarketStoreUnlockSlotReq_proto_rawDescData
+}
+
+var file_VintageMarketStoreUnlockSlotReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStoreUnlockSlotReq_proto_goTypes = []interface{}{
+ (*VintageMarketStoreUnlockSlotReq)(nil), // 0: proto.VintageMarketStoreUnlockSlotReq
+}
+var file_VintageMarketStoreUnlockSlotReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStoreUnlockSlotReq_proto_init() }
+func file_VintageMarketStoreUnlockSlotReq_proto_init() {
+ if File_VintageMarketStoreUnlockSlotReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStoreUnlockSlotReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStoreUnlockSlotReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStoreUnlockSlotReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStoreUnlockSlotReq_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStoreUnlockSlotReq_proto_depIdxs,
+ MessageInfos: file_VintageMarketStoreUnlockSlotReq_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStoreUnlockSlotReq_proto = out.File
+ file_VintageMarketStoreUnlockSlotReq_proto_rawDesc = nil
+ file_VintageMarketStoreUnlockSlotReq_proto_goTypes = nil
+ file_VintageMarketStoreUnlockSlotReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStoreUnlockSlotRsp.pb.go b/protocol/proto/VintageMarketStoreUnlockSlotRsp.pb.go
new file mode 100644
index 00000000..322a538f
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreUnlockSlotRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStoreUnlockSlotRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20733
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageMarketStoreUnlockSlotRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,1,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ SlotCount uint32 `protobuf:"varint,6,opt,name=slot_count,json=slotCount,proto3" json:"slot_count,omitempty"`
+ StoreId uint32 `protobuf:"varint,10,opt,name=store_id,json=storeId,proto3" json:"store_id,omitempty"`
+}
+
+func (x *VintageMarketStoreUnlockSlotRsp) Reset() {
+ *x = VintageMarketStoreUnlockSlotRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStoreUnlockSlotRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStoreUnlockSlotRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStoreUnlockSlotRsp) ProtoMessage() {}
+
+func (x *VintageMarketStoreUnlockSlotRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStoreUnlockSlotRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStoreUnlockSlotRsp.ProtoReflect.Descriptor instead.
+func (*VintageMarketStoreUnlockSlotRsp) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStoreUnlockSlotRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStoreUnlockSlotRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreUnlockSlotRsp) GetSlotCount() uint32 {
+ if x != nil {
+ return x.SlotCount
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreUnlockSlotRsp) GetStoreId() uint32 {
+ if x != nil {
+ return x.StoreId
+ }
+ return 0
+}
+
+var File_VintageMarketStoreUnlockSlotRsp_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStoreUnlockSlotRsp_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x75,
+ 0x0a, 0x1f, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x6c, 0x6f, 0x74, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73,
+ 0x6c, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x73, 0x6c, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74,
+ 0x6f, 0x72, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStoreUnlockSlotRsp_proto_rawDescOnce sync.Once
+ file_VintageMarketStoreUnlockSlotRsp_proto_rawDescData = file_VintageMarketStoreUnlockSlotRsp_proto_rawDesc
+)
+
+func file_VintageMarketStoreUnlockSlotRsp_proto_rawDescGZIP() []byte {
+ file_VintageMarketStoreUnlockSlotRsp_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStoreUnlockSlotRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStoreUnlockSlotRsp_proto_rawDescData)
+ })
+ return file_VintageMarketStoreUnlockSlotRsp_proto_rawDescData
+}
+
+var file_VintageMarketStoreUnlockSlotRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStoreUnlockSlotRsp_proto_goTypes = []interface{}{
+ (*VintageMarketStoreUnlockSlotRsp)(nil), // 0: proto.VintageMarketStoreUnlockSlotRsp
+}
+var file_VintageMarketStoreUnlockSlotRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStoreUnlockSlotRsp_proto_init() }
+func file_VintageMarketStoreUnlockSlotRsp_proto_init() {
+ if File_VintageMarketStoreUnlockSlotRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStoreUnlockSlotRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStoreUnlockSlotRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStoreUnlockSlotRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStoreUnlockSlotRsp_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStoreUnlockSlotRsp_proto_depIdxs,
+ MessageInfos: file_VintageMarketStoreUnlockSlotRsp_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStoreUnlockSlotRsp_proto = out.File
+ file_VintageMarketStoreUnlockSlotRsp_proto_rawDesc = nil
+ file_VintageMarketStoreUnlockSlotRsp_proto_goTypes = nil
+ file_VintageMarketStoreUnlockSlotRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStoreViewStrategyReq.pb.go b/protocol/proto/VintageMarketStoreViewStrategyReq.pb.go
new file mode 100644
index 00000000..38a00b15
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreViewStrategyReq.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStoreViewStrategyReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21700
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type VintageMarketStoreViewStrategyReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StrategyId uint32 `protobuf:"varint,1,opt,name=strategy_id,json=strategyId,proto3" json:"strategy_id,omitempty"`
+ StrategyList []uint32 `protobuf:"varint,14,rep,packed,name=strategy_list,json=strategyList,proto3" json:"strategy_list,omitempty"`
+}
+
+func (x *VintageMarketStoreViewStrategyReq) Reset() {
+ *x = VintageMarketStoreViewStrategyReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStoreViewStrategyReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStoreViewStrategyReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStoreViewStrategyReq) ProtoMessage() {}
+
+func (x *VintageMarketStoreViewStrategyReq) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStoreViewStrategyReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStoreViewStrategyReq.ProtoReflect.Descriptor instead.
+func (*VintageMarketStoreViewStrategyReq) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStoreViewStrategyReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStoreViewStrategyReq) GetStrategyId() uint32 {
+ if x != nil {
+ return x.StrategyId
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreViewStrategyReq) GetStrategyList() []uint32 {
+ if x != nil {
+ return x.StrategyList
+ }
+ return nil
+}
+
+var File_VintageMarketStoreViewStrategyReq_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStoreViewStrategyReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x69, 0x0a, 0x21, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65,
+ 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65,
+ 0x67, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x61,
+ 0x74, 0x65, 0x67, 0x79, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65,
+ 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x73,
+ 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStoreViewStrategyReq_proto_rawDescOnce sync.Once
+ file_VintageMarketStoreViewStrategyReq_proto_rawDescData = file_VintageMarketStoreViewStrategyReq_proto_rawDesc
+)
+
+func file_VintageMarketStoreViewStrategyReq_proto_rawDescGZIP() []byte {
+ file_VintageMarketStoreViewStrategyReq_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStoreViewStrategyReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStoreViewStrategyReq_proto_rawDescData)
+ })
+ return file_VintageMarketStoreViewStrategyReq_proto_rawDescData
+}
+
+var file_VintageMarketStoreViewStrategyReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStoreViewStrategyReq_proto_goTypes = []interface{}{
+ (*VintageMarketStoreViewStrategyReq)(nil), // 0: proto.VintageMarketStoreViewStrategyReq
+}
+var file_VintageMarketStoreViewStrategyReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStoreViewStrategyReq_proto_init() }
+func file_VintageMarketStoreViewStrategyReq_proto_init() {
+ if File_VintageMarketStoreViewStrategyReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStoreViewStrategyReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStoreViewStrategyReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStoreViewStrategyReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStoreViewStrategyReq_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStoreViewStrategyReq_proto_depIdxs,
+ MessageInfos: file_VintageMarketStoreViewStrategyReq_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStoreViewStrategyReq_proto = out.File
+ file_VintageMarketStoreViewStrategyReq_proto_rawDesc = nil
+ file_VintageMarketStoreViewStrategyReq_proto_goTypes = nil
+ file_VintageMarketStoreViewStrategyReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketStoreViewStrategyRsp.pb.go b/protocol/proto/VintageMarketStoreViewStrategyRsp.pb.go
new file mode 100644
index 00000000..e7279b38
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreViewStrategyRsp.pb.go
@@ -0,0 +1,184 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketStoreViewStrategyRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 21814
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintageMarketStoreViewStrategyRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ StrategyList []uint32 `protobuf:"varint,3,rep,packed,name=strategy_list,json=strategyList,proto3" json:"strategy_list,omitempty"`
+ StrategyId uint32 `protobuf:"varint,14,opt,name=strategy_id,json=strategyId,proto3" json:"strategy_id,omitempty"`
+}
+
+func (x *VintageMarketStoreViewStrategyRsp) Reset() {
+ *x = VintageMarketStoreViewStrategyRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketStoreViewStrategyRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketStoreViewStrategyRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketStoreViewStrategyRsp) ProtoMessage() {}
+
+func (x *VintageMarketStoreViewStrategyRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketStoreViewStrategyRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketStoreViewStrategyRsp.ProtoReflect.Descriptor instead.
+func (*VintageMarketStoreViewStrategyRsp) Descriptor() ([]byte, []int) {
+ return file_VintageMarketStoreViewStrategyRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketStoreViewStrategyRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *VintageMarketStoreViewStrategyRsp) GetStrategyList() []uint32 {
+ if x != nil {
+ return x.StrategyList
+ }
+ return nil
+}
+
+func (x *VintageMarketStoreViewStrategyRsp) GetStrategyId() uint32 {
+ if x != nil {
+ return x.StrategyId
+ }
+ return 0
+}
+
+var File_VintageMarketStoreViewStrategyRsp_proto protoreflect.FileDescriptor
+
+var file_VintageMarketStoreViewStrategyRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53,
+ 0x74, 0x6f, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x83, 0x01, 0x0a, 0x21, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b,
+ 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x72, 0x61, 0x74,
+ 0x65, 0x67, 0x79, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
+ 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
+ 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x61,
+ 0x74, 0x65, 0x67, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketStoreViewStrategyRsp_proto_rawDescOnce sync.Once
+ file_VintageMarketStoreViewStrategyRsp_proto_rawDescData = file_VintageMarketStoreViewStrategyRsp_proto_rawDesc
+)
+
+func file_VintageMarketStoreViewStrategyRsp_proto_rawDescGZIP() []byte {
+ file_VintageMarketStoreViewStrategyRsp_proto_rawDescOnce.Do(func() {
+ file_VintageMarketStoreViewStrategyRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketStoreViewStrategyRsp_proto_rawDescData)
+ })
+ return file_VintageMarketStoreViewStrategyRsp_proto_rawDescData
+}
+
+var file_VintageMarketStoreViewStrategyRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketStoreViewStrategyRsp_proto_goTypes = []interface{}{
+ (*VintageMarketStoreViewStrategyRsp)(nil), // 0: proto.VintageMarketStoreViewStrategyRsp
+}
+var file_VintageMarketStoreViewStrategyRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketStoreViewStrategyRsp_proto_init() }
+func file_VintageMarketStoreViewStrategyRsp_proto_init() {
+ if File_VintageMarketStoreViewStrategyRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketStoreViewStrategyRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketStoreViewStrategyRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketStoreViewStrategyRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketStoreViewStrategyRsp_proto_goTypes,
+ DependencyIndexes: file_VintageMarketStoreViewStrategyRsp_proto_depIdxs,
+ MessageInfos: file_VintageMarketStoreViewStrategyRsp_proto_msgTypes,
+ }.Build()
+ File_VintageMarketStoreViewStrategyRsp_proto = out.File
+ file_VintageMarketStoreViewStrategyRsp_proto_rawDesc = nil
+ file_VintageMarketStoreViewStrategyRsp_proto_goTypes = nil
+ file_VintageMarketStoreViewStrategyRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintageMarketTraderInfo.pb.go b/protocol/proto/VintageMarketTraderInfo.pb.go
new file mode 100644
index 00000000..96ebcfae
--- /dev/null
+++ b/protocol/proto/VintageMarketTraderInfo.pb.go
@@ -0,0 +1,176 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintageMarketTraderInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintageMarketTraderInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TraderId uint32 `protobuf:"varint,7,opt,name=trader_id,json=traderId,proto3" json:"trader_id,omitempty"`
+ AvailableItemList []*ItemParam `protobuf:"bytes,9,rep,name=available_item_list,json=availableItemList,proto3" json:"available_item_list,omitempty"`
+}
+
+func (x *VintageMarketTraderInfo) Reset() {
+ *x = VintageMarketTraderInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintageMarketTraderInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintageMarketTraderInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintageMarketTraderInfo) ProtoMessage() {}
+
+func (x *VintageMarketTraderInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_VintageMarketTraderInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintageMarketTraderInfo.ProtoReflect.Descriptor instead.
+func (*VintageMarketTraderInfo) Descriptor() ([]byte, []int) {
+ return file_VintageMarketTraderInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintageMarketTraderInfo) GetTraderId() uint32 {
+ if x != nil {
+ return x.TraderId
+ }
+ return 0
+}
+
+func (x *VintageMarketTraderInfo) GetAvailableItemList() []*ItemParam {
+ if x != nil {
+ return x.AvailableItemList
+ }
+ return nil
+}
+
+var File_VintageMarketTraderInfo_proto protoreflect.FileDescriptor
+
+var file_VintageMarketTraderInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54,
+ 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x78, 0x0a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x6e,
+ 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12,
+ 0x40, 0x0a, 0x13, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x11,
+ 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintageMarketTraderInfo_proto_rawDescOnce sync.Once
+ file_VintageMarketTraderInfo_proto_rawDescData = file_VintageMarketTraderInfo_proto_rawDesc
+)
+
+func file_VintageMarketTraderInfo_proto_rawDescGZIP() []byte {
+ file_VintageMarketTraderInfo_proto_rawDescOnce.Do(func() {
+ file_VintageMarketTraderInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintageMarketTraderInfo_proto_rawDescData)
+ })
+ return file_VintageMarketTraderInfo_proto_rawDescData
+}
+
+var file_VintageMarketTraderInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintageMarketTraderInfo_proto_goTypes = []interface{}{
+ (*VintageMarketTraderInfo)(nil), // 0: proto.VintageMarketTraderInfo
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_VintageMarketTraderInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.VintageMarketTraderInfo.available_item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_VintageMarketTraderInfo_proto_init() }
+func file_VintageMarketTraderInfo_proto_init() {
+ if File_VintageMarketTraderInfo_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintageMarketTraderInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintageMarketTraderInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintageMarketTraderInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintageMarketTraderInfo_proto_goTypes,
+ DependencyIndexes: file_VintageMarketTraderInfo_proto_depIdxs,
+ MessageInfos: file_VintageMarketTraderInfo_proto_msgTypes,
+ }.Build()
+ File_VintageMarketTraderInfo_proto = out.File
+ file_VintageMarketTraderInfo_proto_rawDesc = nil
+ file_VintageMarketTraderInfo_proto_goTypes = nil
+ file_VintageMarketTraderInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintagePresentFinishNoify.pb.go b/protocol/proto/VintagePresentFinishNoify.pb.go
new file mode 100644
index 00000000..6889ebbf
--- /dev/null
+++ b/protocol/proto/VintagePresentFinishNoify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintagePresentFinishNoify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24142
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintagePresentFinishNoify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PresentId uint32 `protobuf:"varint,7,opt,name=present_id,json=presentId,proto3" json:"present_id,omitempty"`
+}
+
+func (x *VintagePresentFinishNoify) Reset() {
+ *x = VintagePresentFinishNoify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintagePresentFinishNoify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintagePresentFinishNoify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintagePresentFinishNoify) ProtoMessage() {}
+
+func (x *VintagePresentFinishNoify) ProtoReflect() protoreflect.Message {
+ mi := &file_VintagePresentFinishNoify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintagePresentFinishNoify.ProtoReflect.Descriptor instead.
+func (*VintagePresentFinishNoify) Descriptor() ([]byte, []int) {
+ return file_VintagePresentFinishNoify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintagePresentFinishNoify) GetPresentId() uint32 {
+ if x != nil {
+ return x.PresentId
+ }
+ return 0
+}
+
+var File_VintagePresentFinishNoify_proto protoreflect.FileDescriptor
+
+var file_VintagePresentFinishNoify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x19, 0x56, 0x69, 0x6e, 0x74,
+ 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x4e, 0x6f, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65,
+ 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintagePresentFinishNoify_proto_rawDescOnce sync.Once
+ file_VintagePresentFinishNoify_proto_rawDescData = file_VintagePresentFinishNoify_proto_rawDesc
+)
+
+func file_VintagePresentFinishNoify_proto_rawDescGZIP() []byte {
+ file_VintagePresentFinishNoify_proto_rawDescOnce.Do(func() {
+ file_VintagePresentFinishNoify_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintagePresentFinishNoify_proto_rawDescData)
+ })
+ return file_VintagePresentFinishNoify_proto_rawDescData
+}
+
+var file_VintagePresentFinishNoify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintagePresentFinishNoify_proto_goTypes = []interface{}{
+ (*VintagePresentFinishNoify)(nil), // 0: proto.VintagePresentFinishNoify
+}
+var file_VintagePresentFinishNoify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintagePresentFinishNoify_proto_init() }
+func file_VintagePresentFinishNoify_proto_init() {
+ if File_VintagePresentFinishNoify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintagePresentFinishNoify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintagePresentFinishNoify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintagePresentFinishNoify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintagePresentFinishNoify_proto_goTypes,
+ DependencyIndexes: file_VintagePresentFinishNoify_proto_depIdxs,
+ MessageInfos: file_VintagePresentFinishNoify_proto_msgTypes,
+ }.Build()
+ File_VintagePresentFinishNoify_proto = out.File
+ file_VintagePresentFinishNoify_proto_rawDesc = nil
+ file_VintagePresentFinishNoify_proto_goTypes = nil
+ file_VintagePresentFinishNoify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintagePresentFinishNotify.pb.go b/protocol/proto/VintagePresentFinishNotify.pb.go
new file mode 100644
index 00000000..049eeaf4
--- /dev/null
+++ b/protocol/proto/VintagePresentFinishNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintagePresentFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20086
+// EnetChannelId: 0
+// EnetIsReliable: true
+type VintagePresentFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PresentId uint32 `protobuf:"varint,3,opt,name=present_id,json=presentId,proto3" json:"present_id,omitempty"`
+}
+
+func (x *VintagePresentFinishNotify) Reset() {
+ *x = VintagePresentFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintagePresentFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintagePresentFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintagePresentFinishNotify) ProtoMessage() {}
+
+func (x *VintagePresentFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_VintagePresentFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintagePresentFinishNotify.ProtoReflect.Descriptor instead.
+func (*VintagePresentFinishNotify) Descriptor() ([]byte, []int) {
+ return file_VintagePresentFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintagePresentFinishNotify) GetPresentId() uint32 {
+ if x != nil {
+ return x.PresentId
+ }
+ return 0
+}
+
+var File_VintagePresentFinishNotify_proto protoreflect.FileDescriptor
+
+var file_VintagePresentFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x1a, 0x56, 0x69, 0x6e,
+ 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x65,
+ 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65,
+ 0x73, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintagePresentFinishNotify_proto_rawDescOnce sync.Once
+ file_VintagePresentFinishNotify_proto_rawDescData = file_VintagePresentFinishNotify_proto_rawDesc
+)
+
+func file_VintagePresentFinishNotify_proto_rawDescGZIP() []byte {
+ file_VintagePresentFinishNotify_proto_rawDescOnce.Do(func() {
+ file_VintagePresentFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintagePresentFinishNotify_proto_rawDescData)
+ })
+ return file_VintagePresentFinishNotify_proto_rawDescData
+}
+
+var file_VintagePresentFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintagePresentFinishNotify_proto_goTypes = []interface{}{
+ (*VintagePresentFinishNotify)(nil), // 0: proto.VintagePresentFinishNotify
+}
+var file_VintagePresentFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintagePresentFinishNotify_proto_init() }
+func file_VintagePresentFinishNotify_proto_init() {
+ if File_VintagePresentFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintagePresentFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintagePresentFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintagePresentFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintagePresentFinishNotify_proto_goTypes,
+ DependencyIndexes: file_VintagePresentFinishNotify_proto_depIdxs,
+ MessageInfos: file_VintagePresentFinishNotify_proto_msgTypes,
+ }.Build()
+ File_VintagePresentFinishNotify_proto = out.File
+ file_VintagePresentFinishNotify_proto_rawDesc = nil
+ file_VintagePresentFinishNotify_proto_goTypes = nil
+ file_VintagePresentFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintagePresentLevelData.pb.go b/protocol/proto/VintagePresentLevelData.pb.go
new file mode 100644
index 00000000..4e4d402e
--- /dev/null
+++ b/protocol/proto/VintagePresentLevelData.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintagePresentLevelData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintagePresentLevelData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PresentId uint32 `protobuf:"varint,10,opt,name=present_id,json=presentId,proto3" json:"present_id,omitempty"`
+ IsOpen bool `protobuf:"varint,11,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ IsFinish bool `protobuf:"varint,5,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ StageId uint32 `protobuf:"varint,1,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *VintagePresentLevelData) Reset() {
+ *x = VintagePresentLevelData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintagePresentLevelData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintagePresentLevelData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintagePresentLevelData) ProtoMessage() {}
+
+func (x *VintagePresentLevelData) ProtoReflect() protoreflect.Message {
+ mi := &file_VintagePresentLevelData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintagePresentLevelData.ProtoReflect.Descriptor instead.
+func (*VintagePresentLevelData) Descriptor() ([]byte, []int) {
+ return file_VintagePresentLevelData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintagePresentLevelData) GetPresentId() uint32 {
+ if x != nil {
+ return x.PresentId
+ }
+ return 0
+}
+
+func (x *VintagePresentLevelData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *VintagePresentLevelData) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *VintagePresentLevelData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_VintagePresentLevelData_proto protoreflect.FileDescriptor
+
+var file_VintagePresentLevelData_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61,
+ 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64,
+ 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x49,
+ 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73,
+ 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69,
+ 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintagePresentLevelData_proto_rawDescOnce sync.Once
+ file_VintagePresentLevelData_proto_rawDescData = file_VintagePresentLevelData_proto_rawDesc
+)
+
+func file_VintagePresentLevelData_proto_rawDescGZIP() []byte {
+ file_VintagePresentLevelData_proto_rawDescOnce.Do(func() {
+ file_VintagePresentLevelData_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintagePresentLevelData_proto_rawDescData)
+ })
+ return file_VintagePresentLevelData_proto_rawDescData
+}
+
+var file_VintagePresentLevelData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_VintagePresentLevelData_proto_goTypes = []interface{}{
+ (*VintagePresentLevelData)(nil), // 0: proto.VintagePresentLevelData
+}
+var file_VintagePresentLevelData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VintagePresentLevelData_proto_init() }
+func file_VintagePresentLevelData_proto_init() {
+ if File_VintagePresentLevelData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_VintagePresentLevelData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintagePresentLevelData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintagePresentLevelData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintagePresentLevelData_proto_goTypes,
+ DependencyIndexes: file_VintagePresentLevelData_proto_depIdxs,
+ MessageInfos: file_VintagePresentLevelData_proto_msgTypes,
+ }.Build()
+ File_VintagePresentLevelData_proto = out.File
+ file_VintagePresentLevelData_proto_rawDesc = nil
+ file_VintagePresentLevelData_proto_goTypes = nil
+ file_VintagePresentLevelData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VintagePresentStageData.pb.go b/protocol/proto/VintagePresentStageData.pb.go
new file mode 100644
index 00000000..41fa373d
--- /dev/null
+++ b/protocol/proto/VintagePresentStageData.pb.go
@@ -0,0 +1,216 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VintagePresentStageData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VintagePresentStageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenTime uint32 `protobuf:"varint,1,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ StageId uint32 `protobuf:"varint,15,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+ IsFinish bool `protobuf:"varint,13,opt,name=is_finish,json=isFinish,proto3" json:"is_finish,omitempty"`
+ IsOpen bool `protobuf:"varint,10,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ PresentLevelMap map[uint32]*VintagePresentLevelData `protobuf:"bytes,2,rep,name=present_level_map,json=presentLevelMap,proto3" json:"present_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *VintagePresentStageData) Reset() {
+ *x = VintagePresentStageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_VintagePresentStageData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *VintagePresentStageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*VintagePresentStageData) ProtoMessage() {}
+
+func (x *VintagePresentStageData) ProtoReflect() protoreflect.Message {
+ mi := &file_VintagePresentStageData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use VintagePresentStageData.ProtoReflect.Descriptor instead.
+func (*VintagePresentStageData) Descriptor() ([]byte, []int) {
+ return file_VintagePresentStageData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *VintagePresentStageData) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *VintagePresentStageData) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+func (x *VintagePresentStageData) GetIsFinish() bool {
+ if x != nil {
+ return x.IsFinish
+ }
+ return false
+}
+
+func (x *VintagePresentStageData) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *VintagePresentStageData) GetPresentLevelMap() map[uint32]*VintagePresentLevelData {
+ if x != nil {
+ return x.PresentLevelMap
+ }
+ return nil
+}
+
+var File_VintagePresentStageData_proto protoreflect.FileDescriptor
+
+var file_VintagePresentStageData_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50,
+ 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x02, 0x0a, 0x17, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67,
+ 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19,
+ 0x0a, 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f,
+ 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73,
+ 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70, 0x65,
+ 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e, 0x12,
+ 0x5f, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e,
+ 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65,
+ 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
+ 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70,
+ 0x1a, 0x62, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x56, 0x69, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
+ 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VintagePresentStageData_proto_rawDescOnce sync.Once
+ file_VintagePresentStageData_proto_rawDescData = file_VintagePresentStageData_proto_rawDesc
+)
+
+func file_VintagePresentStageData_proto_rawDescGZIP() []byte {
+ file_VintagePresentStageData_proto_rawDescOnce.Do(func() {
+ file_VintagePresentStageData_proto_rawDescData = protoimpl.X.CompressGZIP(file_VintagePresentStageData_proto_rawDescData)
+ })
+ return file_VintagePresentStageData_proto_rawDescData
+}
+
+var file_VintagePresentStageData_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_VintagePresentStageData_proto_goTypes = []interface{}{
+ (*VintagePresentStageData)(nil), // 0: proto.VintagePresentStageData
+ nil, // 1: proto.VintagePresentStageData.PresentLevelMapEntry
+ (*VintagePresentLevelData)(nil), // 2: proto.VintagePresentLevelData
+}
+var file_VintagePresentStageData_proto_depIdxs = []int32{
+ 1, // 0: proto.VintagePresentStageData.present_level_map:type_name -> proto.VintagePresentStageData.PresentLevelMapEntry
+ 2, // 1: proto.VintagePresentStageData.PresentLevelMapEntry.value:type_name -> proto.VintagePresentLevelData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_VintagePresentStageData_proto_init() }
+func file_VintagePresentStageData_proto_init() {
+ if File_VintagePresentStageData_proto != nil {
+ return
+ }
+ file_VintagePresentLevelData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_VintagePresentStageData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*VintagePresentStageData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VintagePresentStageData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VintagePresentStageData_proto_goTypes,
+ DependencyIndexes: file_VintagePresentStageData_proto_depIdxs,
+ MessageInfos: file_VintagePresentStageData_proto_msgTypes,
+ }.Build()
+ File_VintagePresentStageData_proto = out.File
+ file_VintagePresentStageData_proto_rawDesc = nil
+ file_VintagePresentStageData_proto_goTypes = nil
+ file_VintagePresentStageData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/VisionType.pb.go b/protocol/proto/VisionType.pb.go
new file mode 100644
index 00000000..75b89df8
--- /dev/null
+++ b/protocol/proto/VisionType.pb.go
@@ -0,0 +1,229 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: VisionType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type VisionType int32
+
+const (
+ VisionType_VISION_TYPE_NONE VisionType = 0
+ VisionType_VISION_TYPE_MEET VisionType = 1
+ VisionType_VISION_TYPE_REBORN VisionType = 2
+ VisionType_VISION_TYPE_REPLACE VisionType = 3
+ VisionType_VISION_TYPE_WAYPOINT_REBORN VisionType = 4
+ VisionType_VISION_TYPE_MISS VisionType = 5
+ VisionType_VISION_TYPE_DIE VisionType = 6
+ VisionType_VISION_TYPE_GATHER_ESCAPE VisionType = 7
+ VisionType_VISION_TYPE_REFRESH VisionType = 8
+ VisionType_VISION_TYPE_TRANSPORT VisionType = 9
+ VisionType_VISION_TYPE_REPLACE_DIE VisionType = 10
+ VisionType_VISION_TYPE_REPLACE_NO_NOTIFY VisionType = 11
+ VisionType_VISION_TYPE_BORN VisionType = 12
+ VisionType_VISION_TYPE_PICKUP VisionType = 13
+ VisionType_VISION_TYPE_REMOVE VisionType = 14
+ VisionType_VISION_TYPE_CHANGE_COSTUME VisionType = 15
+ VisionType_VISION_TYPE_FISH_REFRESH VisionType = 16
+ VisionType_VISION_TYPE_FISH_BIG_SHOCK VisionType = 17
+ VisionType_VISION_TYPE_FISH_QTE_SUCC VisionType = 18
+ VisionType_VISION_TYPE_CAPTURE_DISAPPEAR VisionType = 19
+)
+
+// Enum value maps for VisionType.
+var (
+ VisionType_name = map[int32]string{
+ 0: "VISION_TYPE_NONE",
+ 1: "VISION_TYPE_MEET",
+ 2: "VISION_TYPE_REBORN",
+ 3: "VISION_TYPE_REPLACE",
+ 4: "VISION_TYPE_WAYPOINT_REBORN",
+ 5: "VISION_TYPE_MISS",
+ 6: "VISION_TYPE_DIE",
+ 7: "VISION_TYPE_GATHER_ESCAPE",
+ 8: "VISION_TYPE_REFRESH",
+ 9: "VISION_TYPE_TRANSPORT",
+ 10: "VISION_TYPE_REPLACE_DIE",
+ 11: "VISION_TYPE_REPLACE_NO_NOTIFY",
+ 12: "VISION_TYPE_BORN",
+ 13: "VISION_TYPE_PICKUP",
+ 14: "VISION_TYPE_REMOVE",
+ 15: "VISION_TYPE_CHANGE_COSTUME",
+ 16: "VISION_TYPE_FISH_REFRESH",
+ 17: "VISION_TYPE_FISH_BIG_SHOCK",
+ 18: "VISION_TYPE_FISH_QTE_SUCC",
+ 19: "VISION_TYPE_CAPTURE_DISAPPEAR",
+ }
+ VisionType_value = map[string]int32{
+ "VISION_TYPE_NONE": 0,
+ "VISION_TYPE_MEET": 1,
+ "VISION_TYPE_REBORN": 2,
+ "VISION_TYPE_REPLACE": 3,
+ "VISION_TYPE_WAYPOINT_REBORN": 4,
+ "VISION_TYPE_MISS": 5,
+ "VISION_TYPE_DIE": 6,
+ "VISION_TYPE_GATHER_ESCAPE": 7,
+ "VISION_TYPE_REFRESH": 8,
+ "VISION_TYPE_TRANSPORT": 9,
+ "VISION_TYPE_REPLACE_DIE": 10,
+ "VISION_TYPE_REPLACE_NO_NOTIFY": 11,
+ "VISION_TYPE_BORN": 12,
+ "VISION_TYPE_PICKUP": 13,
+ "VISION_TYPE_REMOVE": 14,
+ "VISION_TYPE_CHANGE_COSTUME": 15,
+ "VISION_TYPE_FISH_REFRESH": 16,
+ "VISION_TYPE_FISH_BIG_SHOCK": 17,
+ "VISION_TYPE_FISH_QTE_SUCC": 18,
+ "VISION_TYPE_CAPTURE_DISAPPEAR": 19,
+ }
+)
+
+func (x VisionType) Enum() *VisionType {
+ p := new(VisionType)
+ *p = x
+ return p
+}
+
+func (x VisionType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (VisionType) Descriptor() protoreflect.EnumDescriptor {
+ return file_VisionType_proto_enumTypes[0].Descriptor()
+}
+
+func (VisionType) Type() protoreflect.EnumType {
+ return &file_VisionType_proto_enumTypes[0]
+}
+
+func (x VisionType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use VisionType.Descriptor instead.
+func (VisionType) EnumDescriptor() ([]byte, []int) {
+ return file_VisionType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_VisionType_proto protoreflect.FileDescriptor
+
+var file_VisionType_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x56, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0xae, 0x04, 0x0a, 0x0a, 0x56, 0x69,
+ 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x49, 0x53, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x14,
+ 0x0a, 0x10, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45,
+ 0x45, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x42, 0x4f, 0x52, 0x4e, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13,
+ 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c,
+ 0x41, 0x43, 0x45, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x41, 0x59, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x52, 0x45,
+ 0x42, 0x4f, 0x52, 0x4e, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f,
+ 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x49, 0x45, 0x10,
+ 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x47, 0x41, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x10, 0x07,
+ 0x12, 0x17, 0x0a, 0x13, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x49, 0x53,
+ 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x50, 0x4f,
+ 0x52, 0x54, 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x45, 0x10,
+ 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45,
+ 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x49,
+ 0x46, 0x59, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x52, 0x4e, 0x10, 0x0c, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49,
+ 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x49, 0x43, 0x4b, 0x55, 0x50,
+ 0x10, 0x0d, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50,
+ 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x0e, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x49,
+ 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45,
+ 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x55, 0x4d, 0x45, 0x10, 0x0f, 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x49,
+ 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x52,
+ 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x10, 0x10, 0x12, 0x1e, 0x0a, 0x1a, 0x56, 0x49, 0x53, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x42, 0x49, 0x47,
+ 0x5f, 0x53, 0x48, 0x4f, 0x43, 0x4b, 0x10, 0x11, 0x12, 0x1d, 0x0a, 0x19, 0x56, 0x49, 0x53, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x53, 0x48, 0x5f, 0x51, 0x54, 0x45,
+ 0x5f, 0x53, 0x55, 0x43, 0x43, 0x10, 0x12, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x49, 0x53, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x44,
+ 0x49, 0x53, 0x41, 0x50, 0x50, 0x45, 0x41, 0x52, 0x10, 0x13, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_VisionType_proto_rawDescOnce sync.Once
+ file_VisionType_proto_rawDescData = file_VisionType_proto_rawDesc
+)
+
+func file_VisionType_proto_rawDescGZIP() []byte {
+ file_VisionType_proto_rawDescOnce.Do(func() {
+ file_VisionType_proto_rawDescData = protoimpl.X.CompressGZIP(file_VisionType_proto_rawDescData)
+ })
+ return file_VisionType_proto_rawDescData
+}
+
+var file_VisionType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_VisionType_proto_goTypes = []interface{}{
+ (VisionType)(0), // 0: proto.VisionType
+}
+var file_VisionType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_VisionType_proto_init() }
+func file_VisionType_proto_init() {
+ if File_VisionType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_VisionType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_VisionType_proto_goTypes,
+ DependencyIndexes: file_VisionType_proto_depIdxs,
+ EnumInfos: file_VisionType_proto_enumTypes,
+ }.Build()
+ File_VisionType_proto = out.File
+ file_VisionType_proto_rawDesc = nil
+ file_VisionType_proto_goTypes = nil
+ file_VisionType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WatcherAllDataNotify.pb.go b/protocol/proto/WatcherAllDataNotify.pb.go
new file mode 100644
index 00000000..a0a0c9be
--- /dev/null
+++ b/protocol/proto/WatcherAllDataNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WatcherAllDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2272
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WatcherAllDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WatcherList []uint32 `protobuf:"varint,4,rep,packed,name=watcher_list,json=watcherList,proto3" json:"watcher_list,omitempty"`
+}
+
+func (x *WatcherAllDataNotify) Reset() {
+ *x = WatcherAllDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WatcherAllDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WatcherAllDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WatcherAllDataNotify) ProtoMessage() {}
+
+func (x *WatcherAllDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WatcherAllDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WatcherAllDataNotify.ProtoReflect.Descriptor instead.
+func (*WatcherAllDataNotify) Descriptor() ([]byte, []int) {
+ return file_WatcherAllDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WatcherAllDataNotify) GetWatcherList() []uint32 {
+ if x != nil {
+ return x.WatcherList
+ }
+ return nil
+}
+
+var File_WatcherAllDataNotify_proto protoreflect.FileDescriptor
+
+var file_WatcherAllDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x39, 0x0a, 0x14, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x41, 0x6c,
+ 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x77,
+ 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28,
+ 0x0d, 0x52, 0x0b, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_WatcherAllDataNotify_proto_rawDescOnce sync.Once
+ file_WatcherAllDataNotify_proto_rawDescData = file_WatcherAllDataNotify_proto_rawDesc
+)
+
+func file_WatcherAllDataNotify_proto_rawDescGZIP() []byte {
+ file_WatcherAllDataNotify_proto_rawDescOnce.Do(func() {
+ file_WatcherAllDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WatcherAllDataNotify_proto_rawDescData)
+ })
+ return file_WatcherAllDataNotify_proto_rawDescData
+}
+
+var file_WatcherAllDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WatcherAllDataNotify_proto_goTypes = []interface{}{
+ (*WatcherAllDataNotify)(nil), // 0: proto.WatcherAllDataNotify
+}
+var file_WatcherAllDataNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WatcherAllDataNotify_proto_init() }
+func file_WatcherAllDataNotify_proto_init() {
+ if File_WatcherAllDataNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WatcherAllDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WatcherAllDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WatcherAllDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WatcherAllDataNotify_proto_goTypes,
+ DependencyIndexes: file_WatcherAllDataNotify_proto_depIdxs,
+ MessageInfos: file_WatcherAllDataNotify_proto_msgTypes,
+ }.Build()
+ File_WatcherAllDataNotify_proto = out.File
+ file_WatcherAllDataNotify_proto_rawDesc = nil
+ file_WatcherAllDataNotify_proto_goTypes = nil
+ file_WatcherAllDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WatcherChangeNotify.pb.go b/protocol/proto/WatcherChangeNotify.pb.go
new file mode 100644
index 00000000..e393b6c2
--- /dev/null
+++ b/protocol/proto/WatcherChangeNotify.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WatcherChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2298
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WatcherChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RemovedWatcherList []uint32 `protobuf:"varint,2,rep,packed,name=removed_watcher_list,json=removedWatcherList,proto3" json:"removed_watcher_list,omitempty"`
+ NewWatcherList []uint32 `protobuf:"varint,15,rep,packed,name=new_watcher_list,json=newWatcherList,proto3" json:"new_watcher_list,omitempty"`
+}
+
+func (x *WatcherChangeNotify) Reset() {
+ *x = WatcherChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WatcherChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WatcherChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WatcherChangeNotify) ProtoMessage() {}
+
+func (x *WatcherChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WatcherChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WatcherChangeNotify.ProtoReflect.Descriptor instead.
+func (*WatcherChangeNotify) Descriptor() ([]byte, []int) {
+ return file_WatcherChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WatcherChangeNotify) GetRemovedWatcherList() []uint32 {
+ if x != nil {
+ return x.RemovedWatcherList
+ }
+ return nil
+}
+
+func (x *WatcherChangeNotify) GetNewWatcherList() []uint32 {
+ if x != nil {
+ return x.NewWatcherList
+ }
+ return nil
+}
+
+var File_WatcherChangeNotify_proto protoreflect.FileDescriptor
+
+var file_WatcherChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x13, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x6d,
+ 0x6f, 0x76, 0x65, 0x64, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64,
+ 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e,
+ 0x65, 0x77, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WatcherChangeNotify_proto_rawDescOnce sync.Once
+ file_WatcherChangeNotify_proto_rawDescData = file_WatcherChangeNotify_proto_rawDesc
+)
+
+func file_WatcherChangeNotify_proto_rawDescGZIP() []byte {
+ file_WatcherChangeNotify_proto_rawDescOnce.Do(func() {
+ file_WatcherChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WatcherChangeNotify_proto_rawDescData)
+ })
+ return file_WatcherChangeNotify_proto_rawDescData
+}
+
+var file_WatcherChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WatcherChangeNotify_proto_goTypes = []interface{}{
+ (*WatcherChangeNotify)(nil), // 0: proto.WatcherChangeNotify
+}
+var file_WatcherChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WatcherChangeNotify_proto_init() }
+func file_WatcherChangeNotify_proto_init() {
+ if File_WatcherChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WatcherChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WatcherChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WatcherChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WatcherChangeNotify_proto_goTypes,
+ DependencyIndexes: file_WatcherChangeNotify_proto_depIdxs,
+ MessageInfos: file_WatcherChangeNotify_proto_msgTypes,
+ }.Build()
+ File_WatcherChangeNotify_proto = out.File
+ file_WatcherChangeNotify_proto_rawDesc = nil
+ file_WatcherChangeNotify_proto_goTypes = nil
+ file_WatcherChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WatcherEventNotify.pb.go b/protocol/proto/WatcherEventNotify.pb.go
new file mode 100644
index 00000000..9de36b27
--- /dev/null
+++ b/protocol/proto/WatcherEventNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WatcherEventNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2212
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WatcherEventNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AddProgress uint32 `protobuf:"varint,6,opt,name=add_progress,json=addProgress,proto3" json:"add_progress,omitempty"`
+ WatcherId uint32 `protobuf:"varint,9,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+}
+
+func (x *WatcherEventNotify) Reset() {
+ *x = WatcherEventNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WatcherEventNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WatcherEventNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WatcherEventNotify) ProtoMessage() {}
+
+func (x *WatcherEventNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WatcherEventNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WatcherEventNotify.ProtoReflect.Descriptor instead.
+func (*WatcherEventNotify) Descriptor() ([]byte, []int) {
+ return file_WatcherEventNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WatcherEventNotify) GetAddProgress() uint32 {
+ if x != nil {
+ return x.AddProgress
+ }
+ return 0
+}
+
+func (x *WatcherEventNotify) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+var File_WatcherEventNotify_proto protoreflect.FileDescriptor
+
+var file_WatcherEventNotify_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x56, 0x0a, 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x5f, 0x70,
+ 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61,
+ 0x64, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WatcherEventNotify_proto_rawDescOnce sync.Once
+ file_WatcherEventNotify_proto_rawDescData = file_WatcherEventNotify_proto_rawDesc
+)
+
+func file_WatcherEventNotify_proto_rawDescGZIP() []byte {
+ file_WatcherEventNotify_proto_rawDescOnce.Do(func() {
+ file_WatcherEventNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WatcherEventNotify_proto_rawDescData)
+ })
+ return file_WatcherEventNotify_proto_rawDescData
+}
+
+var file_WatcherEventNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WatcherEventNotify_proto_goTypes = []interface{}{
+ (*WatcherEventNotify)(nil), // 0: proto.WatcherEventNotify
+}
+var file_WatcherEventNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WatcherEventNotify_proto_init() }
+func file_WatcherEventNotify_proto_init() {
+ if File_WatcherEventNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WatcherEventNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WatcherEventNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WatcherEventNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WatcherEventNotify_proto_goTypes,
+ DependencyIndexes: file_WatcherEventNotify_proto_depIdxs,
+ MessageInfos: file_WatcherEventNotify_proto_msgTypes,
+ }.Build()
+ File_WatcherEventNotify_proto = out.File
+ file_WatcherEventNotify_proto_rawDesc = nil
+ file_WatcherEventNotify_proto_goTypes = nil
+ file_WatcherEventNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WatcherEventStageNotify.pb.go b/protocol/proto/WatcherEventStageNotify.pb.go
new file mode 100644
index 00000000..5e8238a9
--- /dev/null
+++ b/protocol/proto/WatcherEventStageNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WatcherEventStageNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2207
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WatcherEventStageNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AddProgress uint32 `protobuf:"varint,4,opt,name=add_progress,json=addProgress,proto3" json:"add_progress,omitempty"`
+ Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"`
+ WatcherId uint32 `protobuf:"varint,12,opt,name=watcher_id,json=watcherId,proto3" json:"watcher_id,omitempty"`
+}
+
+func (x *WatcherEventStageNotify) Reset() {
+ *x = WatcherEventStageNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WatcherEventStageNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WatcherEventStageNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WatcherEventStageNotify) ProtoMessage() {}
+
+func (x *WatcherEventStageNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WatcherEventStageNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WatcherEventStageNotify.ProtoReflect.Descriptor instead.
+func (*WatcherEventStageNotify) Descriptor() ([]byte, []int) {
+ return file_WatcherEventStageNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WatcherEventStageNotify) GetAddProgress() uint32 {
+ if x != nil {
+ return x.AddProgress
+ }
+ return 0
+}
+
+func (x *WatcherEventStageNotify) GetStage() uint32 {
+ if x != nil {
+ return x.Stage
+ }
+ return 0
+}
+
+func (x *WatcherEventStageNotify) GetWatcherId() uint32 {
+ if x != nil {
+ return x.WatcherId
+ }
+ return 0
+}
+
+var File_WatcherEventStageNotify_proto protoreflect.FileDescriptor
+
+var file_WatcherEventStageNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x71, 0x0a, 0x17, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73,
+ 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x77, 0x61,
+ 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WatcherEventStageNotify_proto_rawDescOnce sync.Once
+ file_WatcherEventStageNotify_proto_rawDescData = file_WatcherEventStageNotify_proto_rawDesc
+)
+
+func file_WatcherEventStageNotify_proto_rawDescGZIP() []byte {
+ file_WatcherEventStageNotify_proto_rawDescOnce.Do(func() {
+ file_WatcherEventStageNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WatcherEventStageNotify_proto_rawDescData)
+ })
+ return file_WatcherEventStageNotify_proto_rawDescData
+}
+
+var file_WatcherEventStageNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WatcherEventStageNotify_proto_goTypes = []interface{}{
+ (*WatcherEventStageNotify)(nil), // 0: proto.WatcherEventStageNotify
+}
+var file_WatcherEventStageNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WatcherEventStageNotify_proto_init() }
+func file_WatcherEventStageNotify_proto_init() {
+ if File_WatcherEventStageNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WatcherEventStageNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WatcherEventStageNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WatcherEventStageNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WatcherEventStageNotify_proto_goTypes,
+ DependencyIndexes: file_WatcherEventStageNotify_proto_depIdxs,
+ MessageInfos: file_WatcherEventStageNotify_proto_msgTypes,
+ }.Build()
+ File_WatcherEventStageNotify_proto = out.File
+ file_WatcherEventStageNotify_proto_rawDesc = nil
+ file_WatcherEventStageNotify_proto_goTypes = nil
+ file_WatcherEventStageNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WatcherEventTypeNotify.pb.go b/protocol/proto/WatcherEventTypeNotify.pb.go
new file mode 100644
index 00000000..a1b01796
--- /dev/null
+++ b/protocol/proto/WatcherEventTypeNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WatcherEventTypeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2235
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WatcherEventTypeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ParamList []uint32 `protobuf:"varint,14,rep,packed,name=param_list,json=paramList,proto3" json:"param_list,omitempty"`
+ AddProgress uint32 `protobuf:"varint,15,opt,name=add_progress,json=addProgress,proto3" json:"add_progress,omitempty"`
+ WatcherTriggerType uint32 `protobuf:"varint,11,opt,name=watcher_trigger_type,json=watcherTriggerType,proto3" json:"watcher_trigger_type,omitempty"`
+}
+
+func (x *WatcherEventTypeNotify) Reset() {
+ *x = WatcherEventTypeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WatcherEventTypeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WatcherEventTypeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WatcherEventTypeNotify) ProtoMessage() {}
+
+func (x *WatcherEventTypeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WatcherEventTypeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WatcherEventTypeNotify.ProtoReflect.Descriptor instead.
+func (*WatcherEventTypeNotify) Descriptor() ([]byte, []int) {
+ return file_WatcherEventTypeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WatcherEventTypeNotify) GetParamList() []uint32 {
+ if x != nil {
+ return x.ParamList
+ }
+ return nil
+}
+
+func (x *WatcherEventTypeNotify) GetAddProgress() uint32 {
+ if x != nil {
+ return x.AddProgress
+ }
+ return 0
+}
+
+func (x *WatcherEventTypeNotify) GetWatcherTriggerType() uint32 {
+ if x != nil {
+ return x.WatcherTriggerType
+ }
+ return 0
+}
+
+var File_WatcherEventTypeNotify_proto protoreflect.FileDescriptor
+
+var file_WatcherEventTypeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x16, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65,
+ 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e,
+ 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12,
+ 0x21, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
+ 0x73, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x74, 0x72,
+ 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x12, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
+ 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WatcherEventTypeNotify_proto_rawDescOnce sync.Once
+ file_WatcherEventTypeNotify_proto_rawDescData = file_WatcherEventTypeNotify_proto_rawDesc
+)
+
+func file_WatcherEventTypeNotify_proto_rawDescGZIP() []byte {
+ file_WatcherEventTypeNotify_proto_rawDescOnce.Do(func() {
+ file_WatcherEventTypeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WatcherEventTypeNotify_proto_rawDescData)
+ })
+ return file_WatcherEventTypeNotify_proto_rawDescData
+}
+
+var file_WatcherEventTypeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WatcherEventTypeNotify_proto_goTypes = []interface{}{
+ (*WatcherEventTypeNotify)(nil), // 0: proto.WatcherEventTypeNotify
+}
+var file_WatcherEventTypeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WatcherEventTypeNotify_proto_init() }
+func file_WatcherEventTypeNotify_proto_init() {
+ if File_WatcherEventTypeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WatcherEventTypeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WatcherEventTypeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WatcherEventTypeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WatcherEventTypeNotify_proto_goTypes,
+ DependencyIndexes: file_WatcherEventTypeNotify_proto_depIdxs,
+ MessageInfos: file_WatcherEventTypeNotify_proto_msgTypes,
+ }.Build()
+ File_WatcherEventTypeNotify_proto = out.File
+ file_WatcherEventTypeNotify_proto_rawDesc = nil
+ file_WatcherEventTypeNotify_proto_goTypes = nil
+ file_WatcherEventTypeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WaterSpiritActivityDetailInfo.pb.go b/protocol/proto/WaterSpiritActivityDetailInfo.pb.go
new file mode 100644
index 00000000..b5eb7c3a
--- /dev/null
+++ b/protocol/proto/WaterSpiritActivityDetailInfo.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WaterSpiritActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WaterSpiritActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SearchTimeMap map[uint32]uint32 `protobuf:"bytes,9,rep,name=search_time_map,json=searchTimeMap,proto3" json:"search_time_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ RegionSearchId uint32 `protobuf:"varint,2,opt,name=region_search_id,json=regionSearchId,proto3" json:"region_search_id,omitempty"`
+ MpPlayId uint32 `protobuf:"varint,15,opt,name=mp_play_id,json=mpPlayId,proto3" json:"mp_play_id,omitempty"`
+}
+
+func (x *WaterSpiritActivityDetailInfo) Reset() {
+ *x = WaterSpiritActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WaterSpiritActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WaterSpiritActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WaterSpiritActivityDetailInfo) ProtoMessage() {}
+
+func (x *WaterSpiritActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WaterSpiritActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WaterSpiritActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*WaterSpiritActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_WaterSpiritActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WaterSpiritActivityDetailInfo) GetSearchTimeMap() map[uint32]uint32 {
+ if x != nil {
+ return x.SearchTimeMap
+ }
+ return nil
+}
+
+func (x *WaterSpiritActivityDetailInfo) GetRegionSearchId() uint32 {
+ if x != nil {
+ return x.RegionSearchId
+ }
+ return 0
+}
+
+func (x *WaterSpiritActivityDetailInfo) GetMpPlayId() uint32 {
+ if x != nil {
+ return x.MpPlayId
+ }
+ return 0
+}
+
+var File_WaterSpiritActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_WaterSpiritActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x57, 0x61, 0x74, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a,
+ 0x1d, 0x57, 0x61, 0x74, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5f,
+ 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x61,
+ 0x70, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x57, 0x61, 0x74, 0x65, 0x72, 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76,
+ 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x65,
+ 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x12,
+ 0x28, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f,
+ 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x70, 0x5f,
+ 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d,
+ 0x70, 0x50, 0x6c, 0x61, 0x79, 0x49, 0x64, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63,
+ 0x68, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
+ 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
+ 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WaterSpiritActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_WaterSpiritActivityDetailInfo_proto_rawDescData = file_WaterSpiritActivityDetailInfo_proto_rawDesc
+)
+
+func file_WaterSpiritActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_WaterSpiritActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_WaterSpiritActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WaterSpiritActivityDetailInfo_proto_rawDescData)
+ })
+ return file_WaterSpiritActivityDetailInfo_proto_rawDescData
+}
+
+var file_WaterSpiritActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_WaterSpiritActivityDetailInfo_proto_goTypes = []interface{}{
+ (*WaterSpiritActivityDetailInfo)(nil), // 0: proto.WaterSpiritActivityDetailInfo
+ nil, // 1: proto.WaterSpiritActivityDetailInfo.SearchTimeMapEntry
+}
+var file_WaterSpiritActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WaterSpiritActivityDetailInfo.search_time_map:type_name -> proto.WaterSpiritActivityDetailInfo.SearchTimeMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WaterSpiritActivityDetailInfo_proto_init() }
+func file_WaterSpiritActivityDetailInfo_proto_init() {
+ if File_WaterSpiritActivityDetailInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WaterSpiritActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WaterSpiritActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WaterSpiritActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WaterSpiritActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_WaterSpiritActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_WaterSpiritActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_WaterSpiritActivityDetailInfo_proto = out.File
+ file_WaterSpiritActivityDetailInfo_proto_rawDesc = nil
+ file_WaterSpiritActivityDetailInfo_proto_goTypes = nil
+ file_WaterSpiritActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WaterSpritePhaseFinishNotify.pb.go b/protocol/proto/WaterSpritePhaseFinishNotify.pb.go
new file mode 100644
index 00000000..32ebb9b9
--- /dev/null
+++ b/protocol/proto/WaterSpritePhaseFinishNotify.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WaterSpritePhaseFinishNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2025
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WaterSpritePhaseFinishNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WaterSpritePhaseFinishNotify) Reset() {
+ *x = WaterSpritePhaseFinishNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WaterSpritePhaseFinishNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WaterSpritePhaseFinishNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WaterSpritePhaseFinishNotify) ProtoMessage() {}
+
+func (x *WaterSpritePhaseFinishNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WaterSpritePhaseFinishNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WaterSpritePhaseFinishNotify.ProtoReflect.Descriptor instead.
+func (*WaterSpritePhaseFinishNotify) Descriptor() ([]byte, []int) {
+ return file_WaterSpritePhaseFinishNotify_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WaterSpritePhaseFinishNotify_proto protoreflect.FileDescriptor
+
+var file_WaterSpritePhaseFinishNotify_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x57, 0x61, 0x74, 0x65, 0x72, 0x53, 0x70, 0x72, 0x69, 0x74, 0x65, 0x50, 0x68, 0x61,
+ 0x73, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x57,
+ 0x61, 0x74, 0x65, 0x72, 0x53, 0x70, 0x72, 0x69, 0x74, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WaterSpritePhaseFinishNotify_proto_rawDescOnce sync.Once
+ file_WaterSpritePhaseFinishNotify_proto_rawDescData = file_WaterSpritePhaseFinishNotify_proto_rawDesc
+)
+
+func file_WaterSpritePhaseFinishNotify_proto_rawDescGZIP() []byte {
+ file_WaterSpritePhaseFinishNotify_proto_rawDescOnce.Do(func() {
+ file_WaterSpritePhaseFinishNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WaterSpritePhaseFinishNotify_proto_rawDescData)
+ })
+ return file_WaterSpritePhaseFinishNotify_proto_rawDescData
+}
+
+var file_WaterSpritePhaseFinishNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WaterSpritePhaseFinishNotify_proto_goTypes = []interface{}{
+ (*WaterSpritePhaseFinishNotify)(nil), // 0: proto.WaterSpritePhaseFinishNotify
+}
+var file_WaterSpritePhaseFinishNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WaterSpritePhaseFinishNotify_proto_init() }
+func file_WaterSpritePhaseFinishNotify_proto_init() {
+ if File_WaterSpritePhaseFinishNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WaterSpritePhaseFinishNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WaterSpritePhaseFinishNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WaterSpritePhaseFinishNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WaterSpritePhaseFinishNotify_proto_goTypes,
+ DependencyIndexes: file_WaterSpritePhaseFinishNotify_proto_depIdxs,
+ MessageInfos: file_WaterSpritePhaseFinishNotify_proto_msgTypes,
+ }.Build()
+ File_WaterSpritePhaseFinishNotify_proto = out.File
+ file_WaterSpritePhaseFinishNotify_proto_rawDesc = nil
+ file_WaterSpritePhaseFinishNotify_proto_goTypes = nil
+ file_WaterSpritePhaseFinishNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/Weapon.pb.go b/protocol/proto/Weapon.pb.go
new file mode 100644
index 00000000..fbc3be9f
--- /dev/null
+++ b/protocol/proto/Weapon.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: Weapon.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type Weapon struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Level uint32 `protobuf:"varint,1,opt,name=level,proto3" json:"level,omitempty"`
+ Exp uint32 `protobuf:"varint,2,opt,name=exp,proto3" json:"exp,omitempty"`
+ PromoteLevel uint32 `protobuf:"varint,3,opt,name=promote_level,json=promoteLevel,proto3" json:"promote_level,omitempty"`
+ AffixMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=affix_map,json=affixMap,proto3" json:"affix_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *Weapon) Reset() {
+ *x = Weapon{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_Weapon_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Weapon) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Weapon) ProtoMessage() {}
+
+func (x *Weapon) ProtoReflect() protoreflect.Message {
+ mi := &file_Weapon_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Weapon.ProtoReflect.Descriptor instead.
+func (*Weapon) Descriptor() ([]byte, []int) {
+ return file_Weapon_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *Weapon) GetLevel() uint32 {
+ if x != nil {
+ return x.Level
+ }
+ return 0
+}
+
+func (x *Weapon) GetExp() uint32 {
+ if x != nil {
+ return x.Exp
+ }
+ return 0
+}
+
+func (x *Weapon) GetPromoteLevel() uint32 {
+ if x != nil {
+ return x.PromoteLevel
+ }
+ return 0
+}
+
+func (x *Weapon) GetAffixMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AffixMap
+ }
+ return nil
+}
+
+var File_Weapon_proto protoreflect.FileDescriptor
+
+var file_Weapon_proto_rawDesc = []byte{
+ 0x0a, 0x0c, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcc, 0x01, 0x0a, 0x06, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e,
+ 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6d,
+ 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0c, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x38, 0x0a,
+ 0x09, 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x2e,
+ 0x41, 0x66, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x61,
+ 0x66, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x70, 0x1a, 0x3b, 0x0a, 0x0d, 0x41, 0x66, 0x66, 0x69, 0x78,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+ 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_Weapon_proto_rawDescOnce sync.Once
+ file_Weapon_proto_rawDescData = file_Weapon_proto_rawDesc
+)
+
+func file_Weapon_proto_rawDescGZIP() []byte {
+ file_Weapon_proto_rawDescOnce.Do(func() {
+ file_Weapon_proto_rawDescData = protoimpl.X.CompressGZIP(file_Weapon_proto_rawDescData)
+ })
+ return file_Weapon_proto_rawDescData
+}
+
+var file_Weapon_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_Weapon_proto_goTypes = []interface{}{
+ (*Weapon)(nil), // 0: proto.Weapon
+ nil, // 1: proto.Weapon.AffixMapEntry
+}
+var file_Weapon_proto_depIdxs = []int32{
+ 1, // 0: proto.Weapon.affix_map:type_name -> proto.Weapon.AffixMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_Weapon_proto_init() }
+func file_Weapon_proto_init() {
+ if File_Weapon_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_Weapon_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Weapon); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_Weapon_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_Weapon_proto_goTypes,
+ DependencyIndexes: file_Weapon_proto_depIdxs,
+ MessageInfos: file_Weapon_proto_msgTypes,
+ }.Build()
+ File_Weapon_proto = out.File
+ file_Weapon_proto_rawDesc = nil
+ file_Weapon_proto_goTypes = nil
+ file_Weapon_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeaponAwakenReq.pb.go b/protocol/proto/WeaponAwakenReq.pb.go
new file mode 100644
index 00000000..636d1e1b
--- /dev/null
+++ b/protocol/proto/WeaponAwakenReq.pb.go
@@ -0,0 +1,193 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeaponAwakenReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 695
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WeaponAwakenReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemGuid uint64 `protobuf:"varint,10,opt,name=item_guid,json=itemGuid,proto3" json:"item_guid,omitempty"`
+ AffixLevelMap map[uint32]uint32 `protobuf:"bytes,7,rep,name=affix_level_map,json=affixLevelMap,proto3" json:"affix_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ TargetWeaponGuid uint64 `protobuf:"varint,9,opt,name=target_weapon_guid,json=targetWeaponGuid,proto3" json:"target_weapon_guid,omitempty"`
+}
+
+func (x *WeaponAwakenReq) Reset() {
+ *x = WeaponAwakenReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeaponAwakenReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeaponAwakenReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeaponAwakenReq) ProtoMessage() {}
+
+func (x *WeaponAwakenReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WeaponAwakenReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeaponAwakenReq.ProtoReflect.Descriptor instead.
+func (*WeaponAwakenReq) Descriptor() ([]byte, []int) {
+ return file_WeaponAwakenReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeaponAwakenReq) GetItemGuid() uint64 {
+ if x != nil {
+ return x.ItemGuid
+ }
+ return 0
+}
+
+func (x *WeaponAwakenReq) GetAffixLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.AffixLevelMap
+ }
+ return nil
+}
+
+func (x *WeaponAwakenReq) GetTargetWeaponGuid() uint64 {
+ if x != nil {
+ return x.TargetWeaponGuid
+ }
+ return 0
+}
+
+var File_WeaponAwakenReq_proto protoreflect.FileDescriptor
+
+var file_WeaponAwakenReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf1,
+ 0x01, 0x0a, 0x0f, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52,
+ 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18,
+ 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x47, 0x75, 0x69, 0x64, 0x12,
+ 0x51, 0x0a, 0x0f, 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d,
+ 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71,
+ 0x2e, 0x41, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x52, 0x0d, 0x61, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d,
+ 0x61, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x65, 0x61,
+ 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64,
+ 0x1a, 0x40, 0x0a, 0x12, 0x41, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61,
+ 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
+ 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeaponAwakenReq_proto_rawDescOnce sync.Once
+ file_WeaponAwakenReq_proto_rawDescData = file_WeaponAwakenReq_proto_rawDesc
+)
+
+func file_WeaponAwakenReq_proto_rawDescGZIP() []byte {
+ file_WeaponAwakenReq_proto_rawDescOnce.Do(func() {
+ file_WeaponAwakenReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeaponAwakenReq_proto_rawDescData)
+ })
+ return file_WeaponAwakenReq_proto_rawDescData
+}
+
+var file_WeaponAwakenReq_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_WeaponAwakenReq_proto_goTypes = []interface{}{
+ (*WeaponAwakenReq)(nil), // 0: proto.WeaponAwakenReq
+ nil, // 1: proto.WeaponAwakenReq.AffixLevelMapEntry
+}
+var file_WeaponAwakenReq_proto_depIdxs = []int32{
+ 1, // 0: proto.WeaponAwakenReq.affix_level_map:type_name -> proto.WeaponAwakenReq.AffixLevelMapEntry
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WeaponAwakenReq_proto_init() }
+func file_WeaponAwakenReq_proto_init() {
+ if File_WeaponAwakenReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WeaponAwakenReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeaponAwakenReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeaponAwakenReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeaponAwakenReq_proto_goTypes,
+ DependencyIndexes: file_WeaponAwakenReq_proto_depIdxs,
+ MessageInfos: file_WeaponAwakenReq_proto_msgTypes,
+ }.Build()
+ File_WeaponAwakenReq_proto = out.File
+ file_WeaponAwakenReq_proto_rawDesc = nil
+ file_WeaponAwakenReq_proto_goTypes = nil
+ file_WeaponAwakenReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeaponAwakenRsp.pb.go b/protocol/proto/WeaponAwakenRsp.pb.go
new file mode 100644
index 00000000..cac3b129
--- /dev/null
+++ b/protocol/proto/WeaponAwakenRsp.pb.go
@@ -0,0 +1,234 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeaponAwakenRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 606
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WeaponAwakenRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,10,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+ OldAffixLevelMap map[uint32]uint32 `protobuf:"bytes,4,rep,name=old_affix_level_map,json=oldAffixLevelMap,proto3" json:"old_affix_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+ TargetWeaponAwakenLevel uint32 `protobuf:"varint,2,opt,name=target_weapon_awaken_level,json=targetWeaponAwakenLevel,proto3" json:"target_weapon_awaken_level,omitempty"`
+ TargetWeaponGuid uint64 `protobuf:"varint,15,opt,name=target_weapon_guid,json=targetWeaponGuid,proto3" json:"target_weapon_guid,omitempty"`
+ CurAffixLevelMap map[uint32]uint32 `protobuf:"bytes,11,rep,name=cur_affix_level_map,json=curAffixLevelMap,proto3" json:"cur_affix_level_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
+}
+
+func (x *WeaponAwakenRsp) Reset() {
+ *x = WeaponAwakenRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeaponAwakenRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeaponAwakenRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeaponAwakenRsp) ProtoMessage() {}
+
+func (x *WeaponAwakenRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WeaponAwakenRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeaponAwakenRsp.ProtoReflect.Descriptor instead.
+func (*WeaponAwakenRsp) Descriptor() ([]byte, []int) {
+ return file_WeaponAwakenRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeaponAwakenRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WeaponAwakenRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+func (x *WeaponAwakenRsp) GetOldAffixLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.OldAffixLevelMap
+ }
+ return nil
+}
+
+func (x *WeaponAwakenRsp) GetTargetWeaponAwakenLevel() uint32 {
+ if x != nil {
+ return x.TargetWeaponAwakenLevel
+ }
+ return 0
+}
+
+func (x *WeaponAwakenRsp) GetTargetWeaponGuid() uint64 {
+ if x != nil {
+ return x.TargetWeaponGuid
+ }
+ return 0
+}
+
+func (x *WeaponAwakenRsp) GetCurAffixLevelMap() map[uint32]uint32 {
+ if x != nil {
+ return x.CurAffixLevelMap
+ }
+ return nil
+}
+
+var File_WeaponAwakenRsp_proto protoreflect.FileDescriptor
+
+var file_WeaponAwakenRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb,
+ 0x03, 0x0a, 0x0f, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52,
+ 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x5b, 0x0a,
+ 0x13, 0x6f, 0x6c, 0x64, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
+ 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52,
+ 0x73, 0x70, 0x2e, 0x4f, 0x6c, 0x64, 0x41, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6f, 0x6c, 0x64, 0x41, 0x66, 0x66,
+ 0x69, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x3b, 0x0a, 0x1a, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x61, 0x77, 0x61, 0x6b,
+ 0x65, 0x6e, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x41, 0x77, 0x61, 0x6b,
+ 0x65, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65,
+ 0x74, 0x5f, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f,
+ 0x6e, 0x47, 0x75, 0x69, 0x64, 0x12, 0x5b, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x5f, 0x61, 0x66, 0x66,
+ 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x0b, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x65, 0x61, 0x70, 0x6f,
+ 0x6e, 0x41, 0x77, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x43, 0x75, 0x72, 0x41, 0x66,
+ 0x66, 0x69, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x10, 0x63, 0x75, 0x72, 0x41, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d,
+ 0x61, 0x70, 0x1a, 0x43, 0x0a, 0x15, 0x4f, 0x6c, 0x64, 0x41, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65,
+ 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
+ 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x75, 0x72, 0x41, 0x66,
+ 0x66, 0x69, 0x78, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b,
+ 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeaponAwakenRsp_proto_rawDescOnce sync.Once
+ file_WeaponAwakenRsp_proto_rawDescData = file_WeaponAwakenRsp_proto_rawDesc
+)
+
+func file_WeaponAwakenRsp_proto_rawDescGZIP() []byte {
+ file_WeaponAwakenRsp_proto_rawDescOnce.Do(func() {
+ file_WeaponAwakenRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeaponAwakenRsp_proto_rawDescData)
+ })
+ return file_WeaponAwakenRsp_proto_rawDescData
+}
+
+var file_WeaponAwakenRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
+var file_WeaponAwakenRsp_proto_goTypes = []interface{}{
+ (*WeaponAwakenRsp)(nil), // 0: proto.WeaponAwakenRsp
+ nil, // 1: proto.WeaponAwakenRsp.OldAffixLevelMapEntry
+ nil, // 2: proto.WeaponAwakenRsp.CurAffixLevelMapEntry
+}
+var file_WeaponAwakenRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WeaponAwakenRsp.old_affix_level_map:type_name -> proto.WeaponAwakenRsp.OldAffixLevelMapEntry
+ 2, // 1: proto.WeaponAwakenRsp.cur_affix_level_map:type_name -> proto.WeaponAwakenRsp.CurAffixLevelMapEntry
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WeaponAwakenRsp_proto_init() }
+func file_WeaponAwakenRsp_proto_init() {
+ if File_WeaponAwakenRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WeaponAwakenRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeaponAwakenRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeaponAwakenRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 3,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeaponAwakenRsp_proto_goTypes,
+ DependencyIndexes: file_WeaponAwakenRsp_proto_depIdxs,
+ MessageInfos: file_WeaponAwakenRsp_proto_msgTypes,
+ }.Build()
+ File_WeaponAwakenRsp_proto = out.File
+ file_WeaponAwakenRsp_proto_rawDesc = nil
+ file_WeaponAwakenRsp_proto_goTypes = nil
+ file_WeaponAwakenRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeaponPromoteReq.pb.go b/protocol/proto/WeaponPromoteReq.pb.go
new file mode 100644
index 00000000..f1640800
--- /dev/null
+++ b/protocol/proto/WeaponPromoteReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeaponPromoteReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 622
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WeaponPromoteReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetWeaponGuid uint64 `protobuf:"varint,5,opt,name=target_weapon_guid,json=targetWeaponGuid,proto3" json:"target_weapon_guid,omitempty"`
+}
+
+func (x *WeaponPromoteReq) Reset() {
+ *x = WeaponPromoteReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeaponPromoteReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeaponPromoteReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeaponPromoteReq) ProtoMessage() {}
+
+func (x *WeaponPromoteReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WeaponPromoteReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeaponPromoteReq.ProtoReflect.Descriptor instead.
+func (*WeaponPromoteReq) Descriptor() ([]byte, []int) {
+ return file_WeaponPromoteReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeaponPromoteReq) GetTargetWeaponGuid() uint64 {
+ if x != nil {
+ return x.TargetWeaponGuid
+ }
+ return 0
+}
+
+var File_WeaponPromoteReq_proto protoreflect.FileDescriptor
+
+var file_WeaponPromoteReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x40, 0x0a, 0x10, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x65,
+ 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x47, 0x75, 0x69,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeaponPromoteReq_proto_rawDescOnce sync.Once
+ file_WeaponPromoteReq_proto_rawDescData = file_WeaponPromoteReq_proto_rawDesc
+)
+
+func file_WeaponPromoteReq_proto_rawDescGZIP() []byte {
+ file_WeaponPromoteReq_proto_rawDescOnce.Do(func() {
+ file_WeaponPromoteReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeaponPromoteReq_proto_rawDescData)
+ })
+ return file_WeaponPromoteReq_proto_rawDescData
+}
+
+var file_WeaponPromoteReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WeaponPromoteReq_proto_goTypes = []interface{}{
+ (*WeaponPromoteReq)(nil), // 0: proto.WeaponPromoteReq
+}
+var file_WeaponPromoteReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WeaponPromoteReq_proto_init() }
+func file_WeaponPromoteReq_proto_init() {
+ if File_WeaponPromoteReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WeaponPromoteReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeaponPromoteReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeaponPromoteReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeaponPromoteReq_proto_goTypes,
+ DependencyIndexes: file_WeaponPromoteReq_proto_depIdxs,
+ MessageInfos: file_WeaponPromoteReq_proto_msgTypes,
+ }.Build()
+ File_WeaponPromoteReq_proto = out.File
+ file_WeaponPromoteReq_proto_rawDesc = nil
+ file_WeaponPromoteReq_proto_goTypes = nil
+ file_WeaponPromoteReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeaponPromoteRsp.pb.go b/protocol/proto/WeaponPromoteRsp.pb.go
new file mode 100644
index 00000000..7d389d7f
--- /dev/null
+++ b/protocol/proto/WeaponPromoteRsp.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeaponPromoteRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 665
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WeaponPromoteRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetWeaponGuid uint64 `protobuf:"varint,3,opt,name=target_weapon_guid,json=targetWeaponGuid,proto3" json:"target_weapon_guid,omitempty"`
+ OldPromoteLevel uint32 `protobuf:"varint,7,opt,name=old_promote_level,json=oldPromoteLevel,proto3" json:"old_promote_level,omitempty"`
+ CurPromoteLevel uint32 `protobuf:"varint,12,opt,name=cur_promote_level,json=curPromoteLevel,proto3" json:"cur_promote_level,omitempty"`
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *WeaponPromoteRsp) Reset() {
+ *x = WeaponPromoteRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeaponPromoteRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeaponPromoteRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeaponPromoteRsp) ProtoMessage() {}
+
+func (x *WeaponPromoteRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WeaponPromoteRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeaponPromoteRsp.ProtoReflect.Descriptor instead.
+func (*WeaponPromoteRsp) Descriptor() ([]byte, []int) {
+ return file_WeaponPromoteRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeaponPromoteRsp) GetTargetWeaponGuid() uint64 {
+ if x != nil {
+ return x.TargetWeaponGuid
+ }
+ return 0
+}
+
+func (x *WeaponPromoteRsp) GetOldPromoteLevel() uint32 {
+ if x != nil {
+ return x.OldPromoteLevel
+ }
+ return 0
+}
+
+func (x *WeaponPromoteRsp) GetCurPromoteLevel() uint32 {
+ if x != nil {
+ return x.CurPromoteLevel
+ }
+ return 0
+}
+
+func (x *WeaponPromoteRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_WeaponPromoteRsp_proto protoreflect.FileDescriptor
+
+var file_WeaponPromoteRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0xb2, 0x01, 0x0a, 0x10, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74,
+ 0x65, 0x52, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x77,
+ 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x47, 0x75,
+ 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74,
+ 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6f,
+ 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2a,
+ 0x0a, 0x11, 0x63, 0x75, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x65,
+ 0x76, 0x65, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x50, 0x72,
+ 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeaponPromoteRsp_proto_rawDescOnce sync.Once
+ file_WeaponPromoteRsp_proto_rawDescData = file_WeaponPromoteRsp_proto_rawDesc
+)
+
+func file_WeaponPromoteRsp_proto_rawDescGZIP() []byte {
+ file_WeaponPromoteRsp_proto_rawDescOnce.Do(func() {
+ file_WeaponPromoteRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeaponPromoteRsp_proto_rawDescData)
+ })
+ return file_WeaponPromoteRsp_proto_rawDescData
+}
+
+var file_WeaponPromoteRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WeaponPromoteRsp_proto_goTypes = []interface{}{
+ (*WeaponPromoteRsp)(nil), // 0: proto.WeaponPromoteRsp
+}
+var file_WeaponPromoteRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WeaponPromoteRsp_proto_init() }
+func file_WeaponPromoteRsp_proto_init() {
+ if File_WeaponPromoteRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WeaponPromoteRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeaponPromoteRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeaponPromoteRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeaponPromoteRsp_proto_goTypes,
+ DependencyIndexes: file_WeaponPromoteRsp_proto_depIdxs,
+ MessageInfos: file_WeaponPromoteRsp_proto_msgTypes,
+ }.Build()
+ File_WeaponPromoteRsp_proto = out.File
+ file_WeaponPromoteRsp_proto_rawDesc = nil
+ file_WeaponPromoteRsp_proto_goTypes = nil
+ file_WeaponPromoteRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeaponUpgradeReq.pb.go b/protocol/proto/WeaponUpgradeReq.pb.go
new file mode 100644
index 00000000..774da7f5
--- /dev/null
+++ b/protocol/proto/WeaponUpgradeReq.pb.go
@@ -0,0 +1,191 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeaponUpgradeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 639
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WeaponUpgradeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FoodWeaponGuidList []uint64 `protobuf:"varint,1,rep,packed,name=food_weapon_guid_list,json=foodWeaponGuidList,proto3" json:"food_weapon_guid_list,omitempty"`
+ ItemParamList []*ItemParam `protobuf:"bytes,15,rep,name=item_param_list,json=itemParamList,proto3" json:"item_param_list,omitempty"`
+ TargetWeaponGuid uint64 `protobuf:"varint,4,opt,name=target_weapon_guid,json=targetWeaponGuid,proto3" json:"target_weapon_guid,omitempty"`
+}
+
+func (x *WeaponUpgradeReq) Reset() {
+ *x = WeaponUpgradeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeaponUpgradeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeaponUpgradeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeaponUpgradeReq) ProtoMessage() {}
+
+func (x *WeaponUpgradeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WeaponUpgradeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeaponUpgradeReq.ProtoReflect.Descriptor instead.
+func (*WeaponUpgradeReq) Descriptor() ([]byte, []int) {
+ return file_WeaponUpgradeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeaponUpgradeReq) GetFoodWeaponGuidList() []uint64 {
+ if x != nil {
+ return x.FoodWeaponGuidList
+ }
+ return nil
+}
+
+func (x *WeaponUpgradeReq) GetItemParamList() []*ItemParam {
+ if x != nil {
+ return x.ItemParamList
+ }
+ return nil
+}
+
+func (x *WeaponUpgradeReq) GetTargetWeaponGuid() uint64 {
+ if x != nil {
+ return x.TargetWeaponGuid
+ }
+ return 0
+}
+
+var File_WeaponUpgradeReq_proto protoreflect.FileDescriptor
+
+var file_WeaponUpgradeReq_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52,
+ 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xad, 0x01, 0x0a, 0x10, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61,
+ 0x64, 0x65, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x15, 0x66, 0x6f, 0x6f, 0x64, 0x5f, 0x77, 0x65,
+ 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x04, 0x52, 0x12, 0x66, 0x6f, 0x6f, 0x64, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e,
+ 0x47, 0x75, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0f, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x65, 0x61,
+ 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10,
+ 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x47, 0x75, 0x69, 0x64,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeaponUpgradeReq_proto_rawDescOnce sync.Once
+ file_WeaponUpgradeReq_proto_rawDescData = file_WeaponUpgradeReq_proto_rawDesc
+)
+
+func file_WeaponUpgradeReq_proto_rawDescGZIP() []byte {
+ file_WeaponUpgradeReq_proto_rawDescOnce.Do(func() {
+ file_WeaponUpgradeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeaponUpgradeReq_proto_rawDescData)
+ })
+ return file_WeaponUpgradeReq_proto_rawDescData
+}
+
+var file_WeaponUpgradeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WeaponUpgradeReq_proto_goTypes = []interface{}{
+ (*WeaponUpgradeReq)(nil), // 0: proto.WeaponUpgradeReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_WeaponUpgradeReq_proto_depIdxs = []int32{
+ 1, // 0: proto.WeaponUpgradeReq.item_param_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WeaponUpgradeReq_proto_init() }
+func file_WeaponUpgradeReq_proto_init() {
+ if File_WeaponUpgradeReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WeaponUpgradeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeaponUpgradeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeaponUpgradeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeaponUpgradeReq_proto_goTypes,
+ DependencyIndexes: file_WeaponUpgradeReq_proto_depIdxs,
+ MessageInfos: file_WeaponUpgradeReq_proto_msgTypes,
+ }.Build()
+ File_WeaponUpgradeReq_proto = out.File
+ file_WeaponUpgradeReq_proto_rawDesc = nil
+ file_WeaponUpgradeReq_proto_goTypes = nil
+ file_WeaponUpgradeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeaponUpgradeRsp.pb.go b/protocol/proto/WeaponUpgradeRsp.pb.go
new file mode 100644
index 00000000..1c4ee15a
--- /dev/null
+++ b/protocol/proto/WeaponUpgradeRsp.pb.go
@@ -0,0 +1,208 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeaponUpgradeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 653
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WeaponUpgradeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurLevel uint32 `protobuf:"varint,7,opt,name=cur_level,json=curLevel,proto3" json:"cur_level,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ OldLevel uint32 `protobuf:"varint,8,opt,name=old_level,json=oldLevel,proto3" json:"old_level,omitempty"`
+ ItemParamList []*ItemParam `protobuf:"bytes,2,rep,name=item_param_list,json=itemParamList,proto3" json:"item_param_list,omitempty"`
+ TargetWeaponGuid uint64 `protobuf:"varint,6,opt,name=target_weapon_guid,json=targetWeaponGuid,proto3" json:"target_weapon_guid,omitempty"`
+}
+
+func (x *WeaponUpgradeRsp) Reset() {
+ *x = WeaponUpgradeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeaponUpgradeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeaponUpgradeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeaponUpgradeRsp) ProtoMessage() {}
+
+func (x *WeaponUpgradeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WeaponUpgradeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeaponUpgradeRsp.ProtoReflect.Descriptor instead.
+func (*WeaponUpgradeRsp) Descriptor() ([]byte, []int) {
+ return file_WeaponUpgradeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeaponUpgradeRsp) GetCurLevel() uint32 {
+ if x != nil {
+ return x.CurLevel
+ }
+ return 0
+}
+
+func (x *WeaponUpgradeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WeaponUpgradeRsp) GetOldLevel() uint32 {
+ if x != nil {
+ return x.OldLevel
+ }
+ return 0
+}
+
+func (x *WeaponUpgradeRsp) GetItemParamList() []*ItemParam {
+ if x != nil {
+ return x.ItemParamList
+ }
+ return nil
+}
+
+func (x *WeaponUpgradeRsp) GetTargetWeaponGuid() uint64 {
+ if x != nil {
+ return x.TargetWeaponGuid
+ }
+ return 0
+}
+
+var File_WeaponUpgradeRsp_proto protoreflect.FileDescriptor
+
+var file_WeaponUpgradeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52,
+ 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xce, 0x01, 0x0a, 0x10, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x55, 0x70, 0x67, 0x72, 0x61,
+ 0x64, 0x65, 0x52, 0x73, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x5f, 0x6c, 0x65, 0x76,
+ 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x4c, 0x65, 0x76,
+ 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09,
+ 0x6f, 0x6c, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x08, 0x6f, 0x6c, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x0f, 0x69, 0x74, 0x65,
+ 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4c,
+ 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x77, 0x65,
+ 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x47, 0x75, 0x69,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeaponUpgradeRsp_proto_rawDescOnce sync.Once
+ file_WeaponUpgradeRsp_proto_rawDescData = file_WeaponUpgradeRsp_proto_rawDesc
+)
+
+func file_WeaponUpgradeRsp_proto_rawDescGZIP() []byte {
+ file_WeaponUpgradeRsp_proto_rawDescOnce.Do(func() {
+ file_WeaponUpgradeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeaponUpgradeRsp_proto_rawDescData)
+ })
+ return file_WeaponUpgradeRsp_proto_rawDescData
+}
+
+var file_WeaponUpgradeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WeaponUpgradeRsp_proto_goTypes = []interface{}{
+ (*WeaponUpgradeRsp)(nil), // 0: proto.WeaponUpgradeRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_WeaponUpgradeRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WeaponUpgradeRsp.item_param_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WeaponUpgradeRsp_proto_init() }
+func file_WeaponUpgradeRsp_proto_init() {
+ if File_WeaponUpgradeRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WeaponUpgradeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeaponUpgradeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeaponUpgradeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeaponUpgradeRsp_proto_goTypes,
+ DependencyIndexes: file_WeaponUpgradeRsp_proto_depIdxs,
+ MessageInfos: file_WeaponUpgradeRsp_proto_msgTypes,
+ }.Build()
+ File_WeaponUpgradeRsp_proto = out.File
+ file_WeaponUpgradeRsp_proto_rawDesc = nil
+ file_WeaponUpgradeRsp_proto_goTypes = nil
+ file_WeaponUpgradeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WearEquipReq.pb.go b/protocol/proto/WearEquipReq.pb.go
new file mode 100644
index 00000000..178cc7ef
--- /dev/null
+++ b/protocol/proto/WearEquipReq.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WearEquipReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 697
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WearEquipReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EquipGuid uint64 `protobuf:"varint,7,opt,name=equip_guid,json=equipGuid,proto3" json:"equip_guid,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,5,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *WearEquipReq) Reset() {
+ *x = WearEquipReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WearEquipReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WearEquipReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WearEquipReq) ProtoMessage() {}
+
+func (x *WearEquipReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WearEquipReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WearEquipReq.ProtoReflect.Descriptor instead.
+func (*WearEquipReq) Descriptor() ([]byte, []int) {
+ return file_WearEquipReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WearEquipReq) GetEquipGuid() uint64 {
+ if x != nil {
+ return x.EquipGuid
+ }
+ return 0
+}
+
+func (x *WearEquipReq) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_WearEquipReq_proto protoreflect.FileDescriptor
+
+var file_WearEquipReq_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x57, 0x65, 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0c, 0x57,
+ 0x65, 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x65,
+ 0x71, 0x75, 0x69, 0x70, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x09, 0x65, 0x71, 0x75, 0x69, 0x70, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76,
+ 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52,
+ 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WearEquipReq_proto_rawDescOnce sync.Once
+ file_WearEquipReq_proto_rawDescData = file_WearEquipReq_proto_rawDesc
+)
+
+func file_WearEquipReq_proto_rawDescGZIP() []byte {
+ file_WearEquipReq_proto_rawDescOnce.Do(func() {
+ file_WearEquipReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WearEquipReq_proto_rawDescData)
+ })
+ return file_WearEquipReq_proto_rawDescData
+}
+
+var file_WearEquipReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WearEquipReq_proto_goTypes = []interface{}{
+ (*WearEquipReq)(nil), // 0: proto.WearEquipReq
+}
+var file_WearEquipReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WearEquipReq_proto_init() }
+func file_WearEquipReq_proto_init() {
+ if File_WearEquipReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WearEquipReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WearEquipReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WearEquipReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WearEquipReq_proto_goTypes,
+ DependencyIndexes: file_WearEquipReq_proto_depIdxs,
+ MessageInfos: file_WearEquipReq_proto_msgTypes,
+ }.Build()
+ File_WearEquipReq_proto = out.File
+ file_WearEquipReq_proto_rawDesc = nil
+ file_WearEquipReq_proto_goTypes = nil
+ file_WearEquipReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WearEquipRsp.pb.go b/protocol/proto/WearEquipRsp.pb.go
new file mode 100644
index 00000000..fc941952
--- /dev/null
+++ b/protocol/proto/WearEquipRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WearEquipRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 681
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WearEquipRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EquipGuid uint64 `protobuf:"varint,1,opt,name=equip_guid,json=equipGuid,proto3" json:"equip_guid,omitempty"`
+ AvatarGuid uint64 `protobuf:"varint,7,opt,name=avatar_guid,json=avatarGuid,proto3" json:"avatar_guid,omitempty"`
+}
+
+func (x *WearEquipRsp) Reset() {
+ *x = WearEquipRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WearEquipRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WearEquipRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WearEquipRsp) ProtoMessage() {}
+
+func (x *WearEquipRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WearEquipRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WearEquipRsp.ProtoReflect.Descriptor instead.
+func (*WearEquipRsp) Descriptor() ([]byte, []int) {
+ return file_WearEquipRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WearEquipRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WearEquipRsp) GetEquipGuid() uint64 {
+ if x != nil {
+ return x.EquipGuid
+ }
+ return 0
+}
+
+func (x *WearEquipRsp) GetAvatarGuid() uint64 {
+ if x != nil {
+ return x.AvatarGuid
+ }
+ return 0
+}
+
+var File_WearEquipRsp_proto protoreflect.FileDescriptor
+
+var file_WearEquipRsp_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x57, 0x65, 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x68, 0x0a, 0x0c, 0x57,
+ 0x65, 0x61, 0x72, 0x45, 0x71, 0x75, 0x69, 0x70, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x71, 0x75, 0x69, 0x70, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x71, 0x75, 0x69, 0x70,
+ 0x47, 0x75, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x5f, 0x67,
+ 0x75, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61,
+ 0x72, 0x47, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WearEquipRsp_proto_rawDescOnce sync.Once
+ file_WearEquipRsp_proto_rawDescData = file_WearEquipRsp_proto_rawDesc
+)
+
+func file_WearEquipRsp_proto_rawDescGZIP() []byte {
+ file_WearEquipRsp_proto_rawDescOnce.Do(func() {
+ file_WearEquipRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WearEquipRsp_proto_rawDescData)
+ })
+ return file_WearEquipRsp_proto_rawDescData
+}
+
+var file_WearEquipRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WearEquipRsp_proto_goTypes = []interface{}{
+ (*WearEquipRsp)(nil), // 0: proto.WearEquipRsp
+}
+var file_WearEquipRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WearEquipRsp_proto_init() }
+func file_WearEquipRsp_proto_init() {
+ if File_WearEquipRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WearEquipRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WearEquipRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WearEquipRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WearEquipRsp_proto_goTypes,
+ DependencyIndexes: file_WearEquipRsp_proto_depIdxs,
+ MessageInfos: file_WearEquipRsp_proto_msgTypes,
+ }.Build()
+ File_WearEquipRsp_proto = out.File
+ file_WearEquipRsp_proto_rawDesc = nil
+ file_WearEquipRsp_proto_goTypes = nil
+ file_WearEquipRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeatherInfo.pb.go b/protocol/proto/WeatherInfo.pb.go
new file mode 100644
index 00000000..ad4e929e
--- /dev/null
+++ b/protocol/proto/WeatherInfo.pb.go
@@ -0,0 +1,159 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeatherInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WeatherInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WeatherAreaId uint32 `protobuf:"varint,1,opt,name=weather_area_id,json=weatherAreaId,proto3" json:"weather_area_id,omitempty"`
+}
+
+func (x *WeatherInfo) Reset() {
+ *x = WeatherInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeatherInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeatherInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeatherInfo) ProtoMessage() {}
+
+func (x *WeatherInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WeatherInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeatherInfo.ProtoReflect.Descriptor instead.
+func (*WeatherInfo) Descriptor() ([]byte, []int) {
+ return file_WeatherInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeatherInfo) GetWeatherAreaId() uint32 {
+ if x != nil {
+ return x.WeatherAreaId
+ }
+ return 0
+}
+
+var File_WeatherInfo_proto protoreflect.FileDescriptor
+
+var file_WeatherInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x35, 0x0a, 0x0b, 0x57, 0x65,
+ 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x65, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0d, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x41, 0x72, 0x65, 0x61, 0x49,
+ 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeatherInfo_proto_rawDescOnce sync.Once
+ file_WeatherInfo_proto_rawDescData = file_WeatherInfo_proto_rawDesc
+)
+
+func file_WeatherInfo_proto_rawDescGZIP() []byte {
+ file_WeatherInfo_proto_rawDescOnce.Do(func() {
+ file_WeatherInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeatherInfo_proto_rawDescData)
+ })
+ return file_WeatherInfo_proto_rawDescData
+}
+
+var file_WeatherInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WeatherInfo_proto_goTypes = []interface{}{
+ (*WeatherInfo)(nil), // 0: proto.WeatherInfo
+}
+var file_WeatherInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WeatherInfo_proto_init() }
+func file_WeatherInfo_proto_init() {
+ if File_WeatherInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WeatherInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeatherInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeatherInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeatherInfo_proto_goTypes,
+ DependencyIndexes: file_WeatherInfo_proto_depIdxs,
+ MessageInfos: file_WeatherInfo_proto_msgTypes,
+ }.Build()
+ File_WeatherInfo_proto = out.File
+ file_WeatherInfo_proto_rawDesc = nil
+ file_WeatherInfo_proto_goTypes = nil
+ file_WeatherInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeekendDjinnInfo.pb.go b/protocol/proto/WeekendDjinnInfo.pb.go
new file mode 100644
index 00000000..afd5c14d
--- /dev/null
+++ b/protocol/proto/WeekendDjinnInfo.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeekendDjinnInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WeekendDjinnInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,14,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *WeekendDjinnInfo) Reset() {
+ *x = WeekendDjinnInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeekendDjinnInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeekendDjinnInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeekendDjinnInfo) ProtoMessage() {}
+
+func (x *WeekendDjinnInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WeekendDjinnInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeekendDjinnInfo.ProtoReflect.Descriptor instead.
+func (*WeekendDjinnInfo) Descriptor() ([]byte, []int) {
+ return file_WeekendDjinnInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeekendDjinnInfo) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *WeekendDjinnInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_WeekendDjinnInfo_proto protoreflect.FileDescriptor
+
+var file_WeekendDjinnInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x44, 0x6a, 0x69, 0x6e, 0x6e, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a,
+ 0x10, 0x57, 0x65, 0x65, 0x6b, 0x65, 0x6e, 0x64, 0x44, 0x6a, 0x69, 0x6e, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72,
+ 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeekendDjinnInfo_proto_rawDescOnce sync.Once
+ file_WeekendDjinnInfo_proto_rawDescData = file_WeekendDjinnInfo_proto_rawDesc
+)
+
+func file_WeekendDjinnInfo_proto_rawDescGZIP() []byte {
+ file_WeekendDjinnInfo_proto_rawDescOnce.Do(func() {
+ file_WeekendDjinnInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeekendDjinnInfo_proto_rawDescData)
+ })
+ return file_WeekendDjinnInfo_proto_rawDescData
+}
+
+var file_WeekendDjinnInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WeekendDjinnInfo_proto_goTypes = []interface{}{
+ (*WeekendDjinnInfo)(nil), // 0: proto.WeekendDjinnInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_WeekendDjinnInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WeekendDjinnInfo.rot:type_name -> proto.Vector
+ 1, // 1: proto.WeekendDjinnInfo.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WeekendDjinnInfo_proto_init() }
+func file_WeekendDjinnInfo_proto_init() {
+ if File_WeekendDjinnInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WeekendDjinnInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeekendDjinnInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeekendDjinnInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeekendDjinnInfo_proto_goTypes,
+ DependencyIndexes: file_WeekendDjinnInfo_proto_depIdxs,
+ MessageInfos: file_WeekendDjinnInfo_proto_msgTypes,
+ }.Build()
+ File_WeekendDjinnInfo_proto = out.File
+ file_WeekendDjinnInfo_proto_rawDesc = nil
+ file_WeekendDjinnInfo_proto_goTypes = nil
+ file_WeekendDjinnInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WeeklyBossResinDiscountInfo.pb.go b/protocol/proto/WeeklyBossResinDiscountInfo.pb.go
new file mode 100644
index 00000000..076a6074
--- /dev/null
+++ b/protocol/proto/WeeklyBossResinDiscountInfo.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WeeklyBossResinDiscountInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WeeklyBossResinDiscountInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DiscountNum uint32 `protobuf:"varint,1,opt,name=discount_num,json=discountNum,proto3" json:"discount_num,omitempty"`
+ DiscountNumLimit uint32 `protobuf:"varint,2,opt,name=discount_num_limit,json=discountNumLimit,proto3" json:"discount_num_limit,omitempty"`
+ ResinCost uint32 `protobuf:"varint,3,opt,name=resin_cost,json=resinCost,proto3" json:"resin_cost,omitempty"`
+ OriginalResinCost uint32 `protobuf:"varint,4,opt,name=original_resin_cost,json=originalResinCost,proto3" json:"original_resin_cost,omitempty"`
+}
+
+func (x *WeeklyBossResinDiscountInfo) Reset() {
+ *x = WeeklyBossResinDiscountInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WeeklyBossResinDiscountInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WeeklyBossResinDiscountInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WeeklyBossResinDiscountInfo) ProtoMessage() {}
+
+func (x *WeeklyBossResinDiscountInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WeeklyBossResinDiscountInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WeeklyBossResinDiscountInfo.ProtoReflect.Descriptor instead.
+func (*WeeklyBossResinDiscountInfo) Descriptor() ([]byte, []int) {
+ return file_WeeklyBossResinDiscountInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WeeklyBossResinDiscountInfo) GetDiscountNum() uint32 {
+ if x != nil {
+ return x.DiscountNum
+ }
+ return 0
+}
+
+func (x *WeeklyBossResinDiscountInfo) GetDiscountNumLimit() uint32 {
+ if x != nil {
+ return x.DiscountNumLimit
+ }
+ return 0
+}
+
+func (x *WeeklyBossResinDiscountInfo) GetResinCost() uint32 {
+ if x != nil {
+ return x.ResinCost
+ }
+ return 0
+}
+
+func (x *WeeklyBossResinDiscountInfo) GetOriginalResinCost() uint32 {
+ if x != nil {
+ return x.OriginalResinCost
+ }
+ return 0
+}
+
+var File_WeeklyBossResinDiscountInfo_proto protoreflect.FileDescriptor
+
+var file_WeeklyBossResinDiscountInfo_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69,
+ 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbd, 0x01, 0x0a, 0x1b, 0x57,
+ 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6f, 0x73, 0x73, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x44, 0x69,
+ 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69,
+ 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0b, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a,
+ 0x12, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x69,
+ 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x64, 0x69, 0x73, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
+ 0x65, 0x73, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x09, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x72,
+ 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x73,
+ 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61,
+ 0x6c, 0x52, 0x65, 0x73, 0x69, 0x6e, 0x43, 0x6f, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WeeklyBossResinDiscountInfo_proto_rawDescOnce sync.Once
+ file_WeeklyBossResinDiscountInfo_proto_rawDescData = file_WeeklyBossResinDiscountInfo_proto_rawDesc
+)
+
+func file_WeeklyBossResinDiscountInfo_proto_rawDescGZIP() []byte {
+ file_WeeklyBossResinDiscountInfo_proto_rawDescOnce.Do(func() {
+ file_WeeklyBossResinDiscountInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WeeklyBossResinDiscountInfo_proto_rawDescData)
+ })
+ return file_WeeklyBossResinDiscountInfo_proto_rawDescData
+}
+
+var file_WeeklyBossResinDiscountInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WeeklyBossResinDiscountInfo_proto_goTypes = []interface{}{
+ (*WeeklyBossResinDiscountInfo)(nil), // 0: proto.WeeklyBossResinDiscountInfo
+}
+var file_WeeklyBossResinDiscountInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WeeklyBossResinDiscountInfo_proto_init() }
+func file_WeeklyBossResinDiscountInfo_proto_init() {
+ if File_WeeklyBossResinDiscountInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WeeklyBossResinDiscountInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WeeklyBossResinDiscountInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WeeklyBossResinDiscountInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WeeklyBossResinDiscountInfo_proto_goTypes,
+ DependencyIndexes: file_WeeklyBossResinDiscountInfo_proto_depIdxs,
+ MessageInfos: file_WeeklyBossResinDiscountInfo_proto_msgTypes,
+ }.Build()
+ File_WeeklyBossResinDiscountInfo_proto = out.File
+ file_WeeklyBossResinDiscountInfo_proto_rawDesc = nil
+ file_WeeklyBossResinDiscountInfo_proto_goTypes = nil
+ file_WeeklyBossResinDiscountInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetActiveChangeNotify.pb.go b/protocol/proto/WidgetActiveChangeNotify.pb.go
new file mode 100644
index 00000000..79fde338
--- /dev/null
+++ b/protocol/proto/WidgetActiveChangeNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetActiveChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4280
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetActiveChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WidgetDataList []*WidgetSlotData `protobuf:"bytes,5,rep,name=widget_data_list,json=widgetDataList,proto3" json:"widget_data_list,omitempty"`
+}
+
+func (x *WidgetActiveChangeNotify) Reset() {
+ *x = WidgetActiveChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetActiveChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetActiveChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetActiveChangeNotify) ProtoMessage() {}
+
+func (x *WidgetActiveChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetActiveChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetActiveChangeNotify.ProtoReflect.Descriptor instead.
+func (*WidgetActiveChangeNotify) Descriptor() ([]byte, []int) {
+ return file_WidgetActiveChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetActiveChangeNotify) GetWidgetDataList() []*WidgetSlotData {
+ if x != nil {
+ return x.WidgetDataList
+ }
+ return nil
+}
+
+var File_WidgetActiveChangeNotify_proto protoreflect.FileDescriptor
+
+var file_WidgetActiveChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53,
+ 0x6c, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5b, 0x0a,
+ 0x18, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x10, 0x77, 0x69, 0x64,
+ 0x67, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x77, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetActiveChangeNotify_proto_rawDescOnce sync.Once
+ file_WidgetActiveChangeNotify_proto_rawDescData = file_WidgetActiveChangeNotify_proto_rawDesc
+)
+
+func file_WidgetActiveChangeNotify_proto_rawDescGZIP() []byte {
+ file_WidgetActiveChangeNotify_proto_rawDescOnce.Do(func() {
+ file_WidgetActiveChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetActiveChangeNotify_proto_rawDescData)
+ })
+ return file_WidgetActiveChangeNotify_proto_rawDescData
+}
+
+var file_WidgetActiveChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetActiveChangeNotify_proto_goTypes = []interface{}{
+ (*WidgetActiveChangeNotify)(nil), // 0: proto.WidgetActiveChangeNotify
+ (*WidgetSlotData)(nil), // 1: proto.WidgetSlotData
+}
+var file_WidgetActiveChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetActiveChangeNotify.widget_data_list:type_name -> proto.WidgetSlotData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WidgetActiveChangeNotify_proto_init() }
+func file_WidgetActiveChangeNotify_proto_init() {
+ if File_WidgetActiveChangeNotify_proto != nil {
+ return
+ }
+ file_WidgetSlotData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetActiveChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetActiveChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetActiveChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetActiveChangeNotify_proto_goTypes,
+ DependencyIndexes: file_WidgetActiveChangeNotify_proto_depIdxs,
+ MessageInfos: file_WidgetActiveChangeNotify_proto_msgTypes,
+ }.Build()
+ File_WidgetActiveChangeNotify_proto = out.File
+ file_WidgetActiveChangeNotify_proto_rawDesc = nil
+ file_WidgetActiveChangeNotify_proto_goTypes = nil
+ file_WidgetActiveChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetCameraInfo.pb.go b/protocol/proto/WidgetCameraInfo.pb.go
new file mode 100644
index 00000000..4fb76419
--- /dev/null
+++ b/protocol/proto/WidgetCameraInfo.pb.go
@@ -0,0 +1,160 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetCameraInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetCameraInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ TargetEntityId uint32 `protobuf:"varint,4,opt,name=target_entity_id,json=targetEntityId,proto3" json:"target_entity_id,omitempty"`
+}
+
+func (x *WidgetCameraInfo) Reset() {
+ *x = WidgetCameraInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetCameraInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetCameraInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetCameraInfo) ProtoMessage() {}
+
+func (x *WidgetCameraInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetCameraInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetCameraInfo.ProtoReflect.Descriptor instead.
+func (*WidgetCameraInfo) Descriptor() ([]byte, []int) {
+ return file_WidgetCameraInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetCameraInfo) GetTargetEntityId() uint32 {
+ if x != nil {
+ return x.TargetEntityId
+ }
+ return 0
+}
+
+var File_WidgetCameraInfo_proto protoreflect.FileDescriptor
+
+var file_WidgetCameraInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x3c, 0x0a, 0x10, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_WidgetCameraInfo_proto_rawDescOnce sync.Once
+ file_WidgetCameraInfo_proto_rawDescData = file_WidgetCameraInfo_proto_rawDesc
+)
+
+func file_WidgetCameraInfo_proto_rawDescGZIP() []byte {
+ file_WidgetCameraInfo_proto_rawDescOnce.Do(func() {
+ file_WidgetCameraInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetCameraInfo_proto_rawDescData)
+ })
+ return file_WidgetCameraInfo_proto_rawDescData
+}
+
+var file_WidgetCameraInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetCameraInfo_proto_goTypes = []interface{}{
+ (*WidgetCameraInfo)(nil), // 0: proto.WidgetCameraInfo
+}
+var file_WidgetCameraInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetCameraInfo_proto_init() }
+func file_WidgetCameraInfo_proto_init() {
+ if File_WidgetCameraInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetCameraInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetCameraInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetCameraInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetCameraInfo_proto_goTypes,
+ DependencyIndexes: file_WidgetCameraInfo_proto_depIdxs,
+ MessageInfos: file_WidgetCameraInfo_proto_msgTypes,
+ }.Build()
+ File_WidgetCameraInfo_proto = out.File
+ file_WidgetCameraInfo_proto_rawDesc = nil
+ file_WidgetCameraInfo_proto_goTypes = nil
+ file_WidgetCameraInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetCaptureAnimalReq.pb.go b/protocol/proto/WidgetCaptureAnimalReq.pb.go
new file mode 100644
index 00000000..2079cf3b
--- /dev/null
+++ b/protocol/proto/WidgetCaptureAnimalReq.pb.go
@@ -0,0 +1,187 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetCaptureAnimalReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4256
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WidgetCaptureAnimalReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ MaterialId uint32 `protobuf:"varint,6,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *WidgetCaptureAnimalReq) Reset() {
+ *x = WidgetCaptureAnimalReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetCaptureAnimalReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetCaptureAnimalReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetCaptureAnimalReq) ProtoMessage() {}
+
+func (x *WidgetCaptureAnimalReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetCaptureAnimalReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetCaptureAnimalReq.ProtoReflect.Descriptor instead.
+func (*WidgetCaptureAnimalReq) Descriptor() ([]byte, []int) {
+ return file_WidgetCaptureAnimalReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetCaptureAnimalReq) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *WidgetCaptureAnimalReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *WidgetCaptureAnimalReq) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_WidgetCaptureAnimalReq_proto protoreflect.FileDescriptor
+
+var file_WidgetCaptureAnimalReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x41,
+ 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x61, 0x70,
+ 0x74, 0x75, 0x72, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a,
+ 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1b,
+ 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
+ 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetCaptureAnimalReq_proto_rawDescOnce sync.Once
+ file_WidgetCaptureAnimalReq_proto_rawDescData = file_WidgetCaptureAnimalReq_proto_rawDesc
+)
+
+func file_WidgetCaptureAnimalReq_proto_rawDescGZIP() []byte {
+ file_WidgetCaptureAnimalReq_proto_rawDescOnce.Do(func() {
+ file_WidgetCaptureAnimalReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetCaptureAnimalReq_proto_rawDescData)
+ })
+ return file_WidgetCaptureAnimalReq_proto_rawDescData
+}
+
+var file_WidgetCaptureAnimalReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetCaptureAnimalReq_proto_goTypes = []interface{}{
+ (*WidgetCaptureAnimalReq)(nil), // 0: proto.WidgetCaptureAnimalReq
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_WidgetCaptureAnimalReq_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetCaptureAnimalReq.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WidgetCaptureAnimalReq_proto_init() }
+func file_WidgetCaptureAnimalReq_proto_init() {
+ if File_WidgetCaptureAnimalReq_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetCaptureAnimalReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetCaptureAnimalReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetCaptureAnimalReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetCaptureAnimalReq_proto_goTypes,
+ DependencyIndexes: file_WidgetCaptureAnimalReq_proto_depIdxs,
+ MessageInfos: file_WidgetCaptureAnimalReq_proto_msgTypes,
+ }.Build()
+ File_WidgetCaptureAnimalReq_proto = out.File
+ file_WidgetCaptureAnimalReq_proto_rawDesc = nil
+ file_WidgetCaptureAnimalReq_proto_goTypes = nil
+ file_WidgetCaptureAnimalReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetCaptureAnimalRsp.pb.go b/protocol/proto/WidgetCaptureAnimalRsp.pb.go
new file mode 100644
index 00000000..25d3101f
--- /dev/null
+++ b/protocol/proto/WidgetCaptureAnimalRsp.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetCaptureAnimalRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4289
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetCaptureAnimalRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,9,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ EntityId uint32 `protobuf:"varint,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ MaterialId uint32 `protobuf:"varint,8,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *WidgetCaptureAnimalRsp) Reset() {
+ *x = WidgetCaptureAnimalRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetCaptureAnimalRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetCaptureAnimalRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetCaptureAnimalRsp) ProtoMessage() {}
+
+func (x *WidgetCaptureAnimalRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetCaptureAnimalRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetCaptureAnimalRsp.ProtoReflect.Descriptor instead.
+func (*WidgetCaptureAnimalRsp) Descriptor() ([]byte, []int) {
+ return file_WidgetCaptureAnimalRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetCaptureAnimalRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WidgetCaptureAnimalRsp) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *WidgetCaptureAnimalRsp) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *WidgetCaptureAnimalRsp) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_WidgetCaptureAnimalRsp_proto protoreflect.FileDescriptor
+
+var file_WidgetCaptureAnimalRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x41,
+ 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x91, 0x01, 0x0a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x61,
+ 0x70, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x52, 0x73, 0x70, 0x12, 0x18,
+ 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69,
+ 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61,
+ 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65,
+ 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74,
+ 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetCaptureAnimalRsp_proto_rawDescOnce sync.Once
+ file_WidgetCaptureAnimalRsp_proto_rawDescData = file_WidgetCaptureAnimalRsp_proto_rawDesc
+)
+
+func file_WidgetCaptureAnimalRsp_proto_rawDescGZIP() []byte {
+ file_WidgetCaptureAnimalRsp_proto_rawDescOnce.Do(func() {
+ file_WidgetCaptureAnimalRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetCaptureAnimalRsp_proto_rawDescData)
+ })
+ return file_WidgetCaptureAnimalRsp_proto_rawDescData
+}
+
+var file_WidgetCaptureAnimalRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetCaptureAnimalRsp_proto_goTypes = []interface{}{
+ (*WidgetCaptureAnimalRsp)(nil), // 0: proto.WidgetCaptureAnimalRsp
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_WidgetCaptureAnimalRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetCaptureAnimalRsp.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WidgetCaptureAnimalRsp_proto_init() }
+func file_WidgetCaptureAnimalRsp_proto_init() {
+ if File_WidgetCaptureAnimalRsp_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetCaptureAnimalRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetCaptureAnimalRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetCaptureAnimalRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetCaptureAnimalRsp_proto_goTypes,
+ DependencyIndexes: file_WidgetCaptureAnimalRsp_proto_depIdxs,
+ MessageInfos: file_WidgetCaptureAnimalRsp_proto_msgTypes,
+ }.Build()
+ File_WidgetCaptureAnimalRsp_proto = out.File
+ file_WidgetCaptureAnimalRsp_proto_rawDesc = nil
+ file_WidgetCaptureAnimalRsp_proto_goTypes = nil
+ file_WidgetCaptureAnimalRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetCoolDownData.pb.go b/protocol/proto/WidgetCoolDownData.pb.go
new file mode 100644
index 00000000..c0690097
--- /dev/null
+++ b/protocol/proto/WidgetCoolDownData.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetCoolDownData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetCoolDownData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsSuccess bool `protobuf:"varint,5,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ CoolDownTime uint64 `protobuf:"varint,4,opt,name=cool_down_time,json=coolDownTime,proto3" json:"cool_down_time,omitempty"`
+ Id uint32 `protobuf:"varint,15,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *WidgetCoolDownData) Reset() {
+ *x = WidgetCoolDownData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetCoolDownData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetCoolDownData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetCoolDownData) ProtoMessage() {}
+
+func (x *WidgetCoolDownData) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetCoolDownData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetCoolDownData.ProtoReflect.Descriptor instead.
+func (*WidgetCoolDownData) Descriptor() ([]byte, []int) {
+ return file_WidgetCoolDownData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetCoolDownData) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *WidgetCoolDownData) GetCoolDownTime() uint64 {
+ if x != nil {
+ return x.CoolDownTime
+ }
+ return 0
+}
+
+func (x *WidgetCoolDownData) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_WidgetCoolDownData_proto protoreflect.FileDescriptor
+
+var file_WidgetCoolDownData_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e,
+ 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x69, 0x0a, 0x12, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44,
+ 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53,
+ 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64,
+ 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c,
+ 0x63, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetCoolDownData_proto_rawDescOnce sync.Once
+ file_WidgetCoolDownData_proto_rawDescData = file_WidgetCoolDownData_proto_rawDesc
+)
+
+func file_WidgetCoolDownData_proto_rawDescGZIP() []byte {
+ file_WidgetCoolDownData_proto_rawDescOnce.Do(func() {
+ file_WidgetCoolDownData_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetCoolDownData_proto_rawDescData)
+ })
+ return file_WidgetCoolDownData_proto_rawDescData
+}
+
+var file_WidgetCoolDownData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetCoolDownData_proto_goTypes = []interface{}{
+ (*WidgetCoolDownData)(nil), // 0: proto.WidgetCoolDownData
+}
+var file_WidgetCoolDownData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetCoolDownData_proto_init() }
+func file_WidgetCoolDownData_proto_init() {
+ if File_WidgetCoolDownData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetCoolDownData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetCoolDownData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetCoolDownData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetCoolDownData_proto_goTypes,
+ DependencyIndexes: file_WidgetCoolDownData_proto_depIdxs,
+ MessageInfos: file_WidgetCoolDownData_proto_msgTypes,
+ }.Build()
+ File_WidgetCoolDownData_proto = out.File
+ file_WidgetCoolDownData_proto_rawDesc = nil
+ file_WidgetCoolDownData_proto_goTypes = nil
+ file_WidgetCoolDownData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetCoolDownNotify.pb.go b/protocol/proto/WidgetCoolDownNotify.pb.go
new file mode 100644
index 00000000..9f9bc371
--- /dev/null
+++ b/protocol/proto/WidgetCoolDownNotify.pb.go
@@ -0,0 +1,185 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetCoolDownNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4295
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetCoolDownNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ NormalCoolDownDataList []*WidgetCoolDownData `protobuf:"bytes,1,rep,name=normal_cool_down_data_list,json=normalCoolDownDataList,proto3" json:"normal_cool_down_data_list,omitempty"`
+ GroupCoolDownDataList []*WidgetCoolDownData `protobuf:"bytes,12,rep,name=group_cool_down_data_list,json=groupCoolDownDataList,proto3" json:"group_cool_down_data_list,omitempty"`
+}
+
+func (x *WidgetCoolDownNotify) Reset() {
+ *x = WidgetCoolDownNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetCoolDownNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetCoolDownNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetCoolDownNotify) ProtoMessage() {}
+
+func (x *WidgetCoolDownNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetCoolDownNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetCoolDownNotify.ProtoReflect.Descriptor instead.
+func (*WidgetCoolDownNotify) Descriptor() ([]byte, []int) {
+ return file_WidgetCoolDownNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetCoolDownNotify) GetNormalCoolDownDataList() []*WidgetCoolDownData {
+ if x != nil {
+ return x.NormalCoolDownDataList
+ }
+ return nil
+}
+
+func (x *WidgetCoolDownNotify) GetGroupCoolDownDataList() []*WidgetCoolDownData {
+ if x != nil {
+ return x.GroupCoolDownDataList
+ }
+ return nil
+}
+
+var File_WidgetCoolDownNotify_proto protoreflect.FileDescriptor
+
+var file_WidgetCoolDownNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44,
+ 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc2, 0x01,
+ 0x0a, 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x55, 0x0a, 0x1a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
+ 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77,
+ 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x16, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x6f, 0x6f,
+ 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x53, 0x0a,
+ 0x19, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e,
+ 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43,
+ 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x15, 0x67, 0x72, 0x6f,
+ 0x75, 0x70, 0x43, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69,
+ 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetCoolDownNotify_proto_rawDescOnce sync.Once
+ file_WidgetCoolDownNotify_proto_rawDescData = file_WidgetCoolDownNotify_proto_rawDesc
+)
+
+func file_WidgetCoolDownNotify_proto_rawDescGZIP() []byte {
+ file_WidgetCoolDownNotify_proto_rawDescOnce.Do(func() {
+ file_WidgetCoolDownNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetCoolDownNotify_proto_rawDescData)
+ })
+ return file_WidgetCoolDownNotify_proto_rawDescData
+}
+
+var file_WidgetCoolDownNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetCoolDownNotify_proto_goTypes = []interface{}{
+ (*WidgetCoolDownNotify)(nil), // 0: proto.WidgetCoolDownNotify
+ (*WidgetCoolDownData)(nil), // 1: proto.WidgetCoolDownData
+}
+var file_WidgetCoolDownNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetCoolDownNotify.normal_cool_down_data_list:type_name -> proto.WidgetCoolDownData
+ 1, // 1: proto.WidgetCoolDownNotify.group_cool_down_data_list:type_name -> proto.WidgetCoolDownData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WidgetCoolDownNotify_proto_init() }
+func file_WidgetCoolDownNotify_proto_init() {
+ if File_WidgetCoolDownNotify_proto != nil {
+ return
+ }
+ file_WidgetCoolDownData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetCoolDownNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetCoolDownNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetCoolDownNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetCoolDownNotify_proto_goTypes,
+ DependencyIndexes: file_WidgetCoolDownNotify_proto_depIdxs,
+ MessageInfos: file_WidgetCoolDownNotify_proto_msgTypes,
+ }.Build()
+ File_WidgetCoolDownNotify_proto = out.File
+ file_WidgetCoolDownNotify_proto_rawDesc = nil
+ file_WidgetCoolDownNotify_proto_goTypes = nil
+ file_WidgetCoolDownNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetCreateLocationInfo.pb.go b/protocol/proto/WidgetCreateLocationInfo.pb.go
new file mode 100644
index 00000000..b6ed0918
--- /dev/null
+++ b/protocol/proto/WidgetCreateLocationInfo.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetCreateLocationInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetCreateLocationInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Rot *Vector `protobuf:"bytes,3,opt,name=rot,proto3" json:"rot,omitempty"`
+ Pos *Vector `protobuf:"bytes,10,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *WidgetCreateLocationInfo) Reset() {
+ *x = WidgetCreateLocationInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetCreateLocationInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetCreateLocationInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetCreateLocationInfo) ProtoMessage() {}
+
+func (x *WidgetCreateLocationInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetCreateLocationInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetCreateLocationInfo.ProtoReflect.Descriptor instead.
+func (*WidgetCreateLocationInfo) Descriptor() ([]byte, []int) {
+ return file_WidgetCreateLocationInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetCreateLocationInfo) GetRot() *Vector {
+ if x != nil {
+ return x.Rot
+ }
+ return nil
+}
+
+func (x *WidgetCreateLocationInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_WidgetCreateLocationInfo_proto protoreflect.FileDescriptor
+
+var file_WidgetCreateLocationInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5c, 0x0a, 0x18, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x72,
+ 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x0d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03,
+ 0x70, 0x6f, 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetCreateLocationInfo_proto_rawDescOnce sync.Once
+ file_WidgetCreateLocationInfo_proto_rawDescData = file_WidgetCreateLocationInfo_proto_rawDesc
+)
+
+func file_WidgetCreateLocationInfo_proto_rawDescGZIP() []byte {
+ file_WidgetCreateLocationInfo_proto_rawDescOnce.Do(func() {
+ file_WidgetCreateLocationInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetCreateLocationInfo_proto_rawDescData)
+ })
+ return file_WidgetCreateLocationInfo_proto_rawDescData
+}
+
+var file_WidgetCreateLocationInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetCreateLocationInfo_proto_goTypes = []interface{}{
+ (*WidgetCreateLocationInfo)(nil), // 0: proto.WidgetCreateLocationInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_WidgetCreateLocationInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetCreateLocationInfo.rot:type_name -> proto.Vector
+ 1, // 1: proto.WidgetCreateLocationInfo.pos:type_name -> proto.Vector
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WidgetCreateLocationInfo_proto_init() }
+func file_WidgetCreateLocationInfo_proto_init() {
+ if File_WidgetCreateLocationInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetCreateLocationInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetCreateLocationInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetCreateLocationInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetCreateLocationInfo_proto_goTypes,
+ DependencyIndexes: file_WidgetCreateLocationInfo_proto_depIdxs,
+ MessageInfos: file_WidgetCreateLocationInfo_proto_msgTypes,
+ }.Build()
+ File_WidgetCreateLocationInfo_proto = out.File
+ file_WidgetCreateLocationInfo_proto_rawDesc = nil
+ file_WidgetCreateLocationInfo_proto_goTypes = nil
+ file_WidgetCreateLocationInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetCreatorInfo.pb.go b/protocol/proto/WidgetCreatorInfo.pb.go
new file mode 100644
index 00000000..0a3cc30c
--- /dev/null
+++ b/protocol/proto/WidgetCreatorInfo.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetCreatorInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetCreatorInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpType WidgetCreatorOpType `protobuf:"varint,10,opt,name=op_type,json=opType,proto3,enum=proto.WidgetCreatorOpType" json:"op_type,omitempty"`
+ EntityId uint32 `protobuf:"varint,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ LocationInfo *WidgetCreateLocationInfo `protobuf:"bytes,12,opt,name=location_info,json=locationInfo,proto3" json:"location_info,omitempty"`
+}
+
+func (x *WidgetCreatorInfo) Reset() {
+ *x = WidgetCreatorInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetCreatorInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetCreatorInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetCreatorInfo) ProtoMessage() {}
+
+func (x *WidgetCreatorInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetCreatorInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetCreatorInfo.ProtoReflect.Descriptor instead.
+func (*WidgetCreatorInfo) Descriptor() ([]byte, []int) {
+ return file_WidgetCreatorInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetCreatorInfo) GetOpType() WidgetCreatorOpType {
+ if x != nil {
+ return x.OpType
+ }
+ return WidgetCreatorOpType_WIDGET_CREATOR_OP_TYPE_NONE
+}
+
+func (x *WidgetCreatorInfo) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *WidgetCreatorInfo) GetLocationInfo() *WidgetCreateLocationInfo {
+ if x != nil {
+ return x.LocationInfo
+ }
+ return nil
+}
+
+var File_WidgetCreatorInfo_proto protoreflect.FileDescriptor
+
+var file_WidgetCreatorInfo_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x1e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x19, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4f,
+ 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xab, 0x01, 0x0a, 0x11,
+ 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65,
+ 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06,
+ 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x6c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetCreatorInfo_proto_rawDescOnce sync.Once
+ file_WidgetCreatorInfo_proto_rawDescData = file_WidgetCreatorInfo_proto_rawDesc
+)
+
+func file_WidgetCreatorInfo_proto_rawDescGZIP() []byte {
+ file_WidgetCreatorInfo_proto_rawDescOnce.Do(func() {
+ file_WidgetCreatorInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetCreatorInfo_proto_rawDescData)
+ })
+ return file_WidgetCreatorInfo_proto_rawDescData
+}
+
+var file_WidgetCreatorInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetCreatorInfo_proto_goTypes = []interface{}{
+ (*WidgetCreatorInfo)(nil), // 0: proto.WidgetCreatorInfo
+ (WidgetCreatorOpType)(0), // 1: proto.WidgetCreatorOpType
+ (*WidgetCreateLocationInfo)(nil), // 2: proto.WidgetCreateLocationInfo
+}
+var file_WidgetCreatorInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetCreatorInfo.op_type:type_name -> proto.WidgetCreatorOpType
+ 2, // 1: proto.WidgetCreatorInfo.location_info:type_name -> proto.WidgetCreateLocationInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WidgetCreatorInfo_proto_init() }
+func file_WidgetCreatorInfo_proto_init() {
+ if File_WidgetCreatorInfo_proto != nil {
+ return
+ }
+ file_WidgetCreateLocationInfo_proto_init()
+ file_WidgetCreatorOpType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetCreatorInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetCreatorInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetCreatorInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetCreatorInfo_proto_goTypes,
+ DependencyIndexes: file_WidgetCreatorInfo_proto_depIdxs,
+ MessageInfos: file_WidgetCreatorInfo_proto_msgTypes,
+ }.Build()
+ File_WidgetCreatorInfo_proto = out.File
+ file_WidgetCreatorInfo_proto_rawDesc = nil
+ file_WidgetCreatorInfo_proto_goTypes = nil
+ file_WidgetCreatorInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetCreatorOpType.pb.go b/protocol/proto/WidgetCreatorOpType.pb.go
new file mode 100644
index 00000000..e92493c4
--- /dev/null
+++ b/protocol/proto/WidgetCreatorOpType.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetCreatorOpType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetCreatorOpType int32
+
+const (
+ WidgetCreatorOpType_WIDGET_CREATOR_OP_TYPE_NONE WidgetCreatorOpType = 0
+ WidgetCreatorOpType_WIDGET_CREATOR_OP_TYPE_RETRACT WidgetCreatorOpType = 1
+ WidgetCreatorOpType_WIDGET_CREATOR_OP_TYPE_RETRACT_AND_CREATE WidgetCreatorOpType = 2
+)
+
+// Enum value maps for WidgetCreatorOpType.
+var (
+ WidgetCreatorOpType_name = map[int32]string{
+ 0: "WIDGET_CREATOR_OP_TYPE_NONE",
+ 1: "WIDGET_CREATOR_OP_TYPE_RETRACT",
+ 2: "WIDGET_CREATOR_OP_TYPE_RETRACT_AND_CREATE",
+ }
+ WidgetCreatorOpType_value = map[string]int32{
+ "WIDGET_CREATOR_OP_TYPE_NONE": 0,
+ "WIDGET_CREATOR_OP_TYPE_RETRACT": 1,
+ "WIDGET_CREATOR_OP_TYPE_RETRACT_AND_CREATE": 2,
+ }
+)
+
+func (x WidgetCreatorOpType) Enum() *WidgetCreatorOpType {
+ p := new(WidgetCreatorOpType)
+ *p = x
+ return p
+}
+
+func (x WidgetCreatorOpType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WidgetCreatorOpType) Descriptor() protoreflect.EnumDescriptor {
+ return file_WidgetCreatorOpType_proto_enumTypes[0].Descriptor()
+}
+
+func (WidgetCreatorOpType) Type() protoreflect.EnumType {
+ return &file_WidgetCreatorOpType_proto_enumTypes[0]
+}
+
+func (x WidgetCreatorOpType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WidgetCreatorOpType.Descriptor instead.
+func (WidgetCreatorOpType) EnumDescriptor() ([]byte, []int) {
+ return file_WidgetCreatorOpType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WidgetCreatorOpType_proto protoreflect.FileDescriptor
+
+var file_WidgetCreatorOpType_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4f,
+ 0x70, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2a, 0x89, 0x01, 0x0a, 0x13, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65,
+ 0x61, 0x74, 0x6f, 0x72, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x57, 0x49,
+ 0x44, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x4f, 0x50, 0x5f,
+ 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x57,
+ 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x4f, 0x50,
+ 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x41, 0x43, 0x54, 0x10, 0x01, 0x12,
+ 0x2d, 0x0a, 0x29, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x4f,
+ 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x41, 0x43,
+ 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x02, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_WidgetCreatorOpType_proto_rawDescOnce sync.Once
+ file_WidgetCreatorOpType_proto_rawDescData = file_WidgetCreatorOpType_proto_rawDesc
+)
+
+func file_WidgetCreatorOpType_proto_rawDescGZIP() []byte {
+ file_WidgetCreatorOpType_proto_rawDescOnce.Do(func() {
+ file_WidgetCreatorOpType_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetCreatorOpType_proto_rawDescData)
+ })
+ return file_WidgetCreatorOpType_proto_rawDescData
+}
+
+var file_WidgetCreatorOpType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_WidgetCreatorOpType_proto_goTypes = []interface{}{
+ (WidgetCreatorOpType)(0), // 0: proto.WidgetCreatorOpType
+}
+var file_WidgetCreatorOpType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetCreatorOpType_proto_init() }
+func file_WidgetCreatorOpType_proto_init() {
+ if File_WidgetCreatorOpType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetCreatorOpType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetCreatorOpType_proto_goTypes,
+ DependencyIndexes: file_WidgetCreatorOpType_proto_depIdxs,
+ EnumInfos: file_WidgetCreatorOpType_proto_enumTypes,
+ }.Build()
+ File_WidgetCreatorOpType_proto = out.File
+ file_WidgetCreatorOpType_proto_rawDesc = nil
+ file_WidgetCreatorOpType_proto_goTypes = nil
+ file_WidgetCreatorOpType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetDoBagReq.pb.go b/protocol/proto/WidgetDoBagReq.pb.go
new file mode 100644
index 00000000..1d8b6353
--- /dev/null
+++ b/protocol/proto/WidgetDoBagReq.pb.go
@@ -0,0 +1,228 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetDoBagReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4255
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WidgetDoBagReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaterialId uint32 `protobuf:"varint,9,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ // Types that are assignable to OpInfo:
+ //
+ // *WidgetDoBagReq_LocationInfo
+ // *WidgetDoBagReq_WidgetCreatorInfo
+ OpInfo isWidgetDoBagReq_OpInfo `protobuf_oneof:"op_info"`
+}
+
+func (x *WidgetDoBagReq) Reset() {
+ *x = WidgetDoBagReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetDoBagReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetDoBagReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetDoBagReq) ProtoMessage() {}
+
+func (x *WidgetDoBagReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetDoBagReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetDoBagReq.ProtoReflect.Descriptor instead.
+func (*WidgetDoBagReq) Descriptor() ([]byte, []int) {
+ return file_WidgetDoBagReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetDoBagReq) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (m *WidgetDoBagReq) GetOpInfo() isWidgetDoBagReq_OpInfo {
+ if m != nil {
+ return m.OpInfo
+ }
+ return nil
+}
+
+func (x *WidgetDoBagReq) GetLocationInfo() *WidgetCreateLocationInfo {
+ if x, ok := x.GetOpInfo().(*WidgetDoBagReq_LocationInfo); ok {
+ return x.LocationInfo
+ }
+ return nil
+}
+
+func (x *WidgetDoBagReq) GetWidgetCreatorInfo() *WidgetCreatorInfo {
+ if x, ok := x.GetOpInfo().(*WidgetDoBagReq_WidgetCreatorInfo); ok {
+ return x.WidgetCreatorInfo
+ }
+ return nil
+}
+
+type isWidgetDoBagReq_OpInfo interface {
+ isWidgetDoBagReq_OpInfo()
+}
+
+type WidgetDoBagReq_LocationInfo struct {
+ LocationInfo *WidgetCreateLocationInfo `protobuf:"bytes,832,opt,name=location_info,json=locationInfo,proto3,oneof"`
+}
+
+type WidgetDoBagReq_WidgetCreatorInfo struct {
+ WidgetCreatorInfo *WidgetCreatorInfo `protobuf:"bytes,1497,opt,name=widget_creator_info,json=widgetCreatorInfo,proto3,oneof"`
+}
+
+func (*WidgetDoBagReq_LocationInfo) isWidgetDoBagReq_OpInfo() {}
+
+func (*WidgetDoBagReq_WidgetCreatorInfo) isWidgetDoBagReq_OpInfo() {}
+
+var File_WidgetDoBagReq_proto protoreflect.FileDescriptor
+
+var file_WidgetDoBagReq_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x44, 0x6f, 0x42, 0x61, 0x67, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x01, 0x0a, 0x0e, 0x57, 0x69, 0x64, 0x67, 0x65,
+ 0x74, 0x44, 0x6f, 0x42, 0x61, 0x67, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74,
+ 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0d, 0x6c, 0x6f,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xc0, 0x06, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65,
+ 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x13, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xd9, 0x0b, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x77,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+ 0x42, 0x09, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetDoBagReq_proto_rawDescOnce sync.Once
+ file_WidgetDoBagReq_proto_rawDescData = file_WidgetDoBagReq_proto_rawDesc
+)
+
+func file_WidgetDoBagReq_proto_rawDescGZIP() []byte {
+ file_WidgetDoBagReq_proto_rawDescOnce.Do(func() {
+ file_WidgetDoBagReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetDoBagReq_proto_rawDescData)
+ })
+ return file_WidgetDoBagReq_proto_rawDescData
+}
+
+var file_WidgetDoBagReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetDoBagReq_proto_goTypes = []interface{}{
+ (*WidgetDoBagReq)(nil), // 0: proto.WidgetDoBagReq
+ (*WidgetCreateLocationInfo)(nil), // 1: proto.WidgetCreateLocationInfo
+ (*WidgetCreatorInfo)(nil), // 2: proto.WidgetCreatorInfo
+}
+var file_WidgetDoBagReq_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetDoBagReq.location_info:type_name -> proto.WidgetCreateLocationInfo
+ 2, // 1: proto.WidgetDoBagReq.widget_creator_info:type_name -> proto.WidgetCreatorInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WidgetDoBagReq_proto_init() }
+func file_WidgetDoBagReq_proto_init() {
+ if File_WidgetDoBagReq_proto != nil {
+ return
+ }
+ file_WidgetCreateLocationInfo_proto_init()
+ file_WidgetCreatorInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetDoBagReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetDoBagReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_WidgetDoBagReq_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*WidgetDoBagReq_LocationInfo)(nil),
+ (*WidgetDoBagReq_WidgetCreatorInfo)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetDoBagReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetDoBagReq_proto_goTypes,
+ DependencyIndexes: file_WidgetDoBagReq_proto_depIdxs,
+ MessageInfos: file_WidgetDoBagReq_proto_msgTypes,
+ }.Build()
+ File_WidgetDoBagReq_proto = out.File
+ file_WidgetDoBagReq_proto_rawDesc = nil
+ file_WidgetDoBagReq_proto_goTypes = nil
+ file_WidgetDoBagReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetDoBagRsp.pb.go b/protocol/proto/WidgetDoBagRsp.pb.go
new file mode 100644
index 00000000..8f909544
--- /dev/null
+++ b/protocol/proto/WidgetDoBagRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetDoBagRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4296
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetDoBagRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MaterialId uint32 `protobuf:"varint,3,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *WidgetDoBagRsp) Reset() {
+ *x = WidgetDoBagRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetDoBagRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetDoBagRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetDoBagRsp) ProtoMessage() {}
+
+func (x *WidgetDoBagRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetDoBagRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetDoBagRsp.ProtoReflect.Descriptor instead.
+func (*WidgetDoBagRsp) Descriptor() ([]byte, []int) {
+ return file_WidgetDoBagRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetDoBagRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WidgetDoBagRsp) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_WidgetDoBagRsp_proto protoreflect.FileDescriptor
+
+var file_WidgetDoBagRsp_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x44, 0x6f, 0x42, 0x61, 0x67, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4b, 0x0a,
+ 0x0e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x44, 0x6f, 0x42, 0x61, 0x67, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74,
+ 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetDoBagRsp_proto_rawDescOnce sync.Once
+ file_WidgetDoBagRsp_proto_rawDescData = file_WidgetDoBagRsp_proto_rawDesc
+)
+
+func file_WidgetDoBagRsp_proto_rawDescGZIP() []byte {
+ file_WidgetDoBagRsp_proto_rawDescOnce.Do(func() {
+ file_WidgetDoBagRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetDoBagRsp_proto_rawDescData)
+ })
+ return file_WidgetDoBagRsp_proto_rawDescData
+}
+
+var file_WidgetDoBagRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetDoBagRsp_proto_goTypes = []interface{}{
+ (*WidgetDoBagRsp)(nil), // 0: proto.WidgetDoBagRsp
+}
+var file_WidgetDoBagRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetDoBagRsp_proto_init() }
+func file_WidgetDoBagRsp_proto_init() {
+ if File_WidgetDoBagRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetDoBagRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetDoBagRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetDoBagRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetDoBagRsp_proto_goTypes,
+ DependencyIndexes: file_WidgetDoBagRsp_proto_depIdxs,
+ MessageInfos: file_WidgetDoBagRsp_proto_msgTypes,
+ }.Build()
+ File_WidgetDoBagRsp_proto = out.File
+ file_WidgetDoBagRsp_proto_rawDesc = nil
+ file_WidgetDoBagRsp_proto_goTypes = nil
+ file_WidgetDoBagRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetExtraCdType.pb.go b/protocol/proto/WidgetExtraCdType.pb.go
new file mode 100644
index 00000000..decef7e6
--- /dev/null
+++ b/protocol/proto/WidgetExtraCdType.pb.go
@@ -0,0 +1,147 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetExtraCdType.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetExtraCdType int32
+
+const (
+ WidgetExtraCdType_WIDGET_EXTRA_CD_TYPE_NONE WidgetExtraCdType = 0
+ WidgetExtraCdType_WIDGET_EXTRA_CD_TYPE_E_SKILL_SHARED WidgetExtraCdType = 1
+)
+
+// Enum value maps for WidgetExtraCdType.
+var (
+ WidgetExtraCdType_name = map[int32]string{
+ 0: "WIDGET_EXTRA_CD_TYPE_NONE",
+ 1: "WIDGET_EXTRA_CD_TYPE_E_SKILL_SHARED",
+ }
+ WidgetExtraCdType_value = map[string]int32{
+ "WIDGET_EXTRA_CD_TYPE_NONE": 0,
+ "WIDGET_EXTRA_CD_TYPE_E_SKILL_SHARED": 1,
+ }
+)
+
+func (x WidgetExtraCdType) Enum() *WidgetExtraCdType {
+ p := new(WidgetExtraCdType)
+ *p = x
+ return p
+}
+
+func (x WidgetExtraCdType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WidgetExtraCdType) Descriptor() protoreflect.EnumDescriptor {
+ return file_WidgetExtraCdType_proto_enumTypes[0].Descriptor()
+}
+
+func (WidgetExtraCdType) Type() protoreflect.EnumType {
+ return &file_WidgetExtraCdType_proto_enumTypes[0]
+}
+
+func (x WidgetExtraCdType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WidgetExtraCdType.Descriptor instead.
+func (WidgetExtraCdType) EnumDescriptor() ([]byte, []int) {
+ return file_WidgetExtraCdType_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WidgetExtraCdType_proto protoreflect.FileDescriptor
+
+var file_WidgetExtraCdType_proto_rawDesc = []byte{
+ 0x0a, 0x17, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x43, 0x64, 0x54,
+ 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2a, 0x5b, 0x0a, 0x11, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x43,
+ 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f,
+ 0x45, 0x58, 0x54, 0x52, 0x41, 0x5f, 0x43, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f,
+ 0x4e, 0x45, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x45,
+ 0x58, 0x54, 0x52, 0x41, 0x5f, 0x43, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x5f, 0x53,
+ 0x4b, 0x49, 0x4c, 0x4c, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x10, 0x01, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_WidgetExtraCdType_proto_rawDescOnce sync.Once
+ file_WidgetExtraCdType_proto_rawDescData = file_WidgetExtraCdType_proto_rawDesc
+)
+
+func file_WidgetExtraCdType_proto_rawDescGZIP() []byte {
+ file_WidgetExtraCdType_proto_rawDescOnce.Do(func() {
+ file_WidgetExtraCdType_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetExtraCdType_proto_rawDescData)
+ })
+ return file_WidgetExtraCdType_proto_rawDescData
+}
+
+var file_WidgetExtraCdType_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_WidgetExtraCdType_proto_goTypes = []interface{}{
+ (WidgetExtraCdType)(0), // 0: proto.WidgetExtraCdType
+}
+var file_WidgetExtraCdType_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetExtraCdType_proto_init() }
+func file_WidgetExtraCdType_proto_init() {
+ if File_WidgetExtraCdType_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetExtraCdType_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetExtraCdType_proto_goTypes,
+ DependencyIndexes: file_WidgetExtraCdType_proto_depIdxs,
+ EnumInfos: file_WidgetExtraCdType_proto_enumTypes,
+ }.Build()
+ File_WidgetExtraCdType_proto = out.File
+ file_WidgetExtraCdType_proto_rawDesc = nil
+ file_WidgetExtraCdType_proto_goTypes = nil
+ file_WidgetExtraCdType_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetGadgetAllDataNotify.pb.go b/protocol/proto/WidgetGadgetAllDataNotify.pb.go
new file mode 100644
index 00000000..b98d6a86
--- /dev/null
+++ b/protocol/proto/WidgetGadgetAllDataNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetGadgetAllDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4284
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetGadgetAllDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WidgetGadgetData []*WidgetGadgetData `protobuf:"bytes,13,rep,name=widget_gadget_data,json=widgetGadgetData,proto3" json:"widget_gadget_data,omitempty"`
+}
+
+func (x *WidgetGadgetAllDataNotify) Reset() {
+ *x = WidgetGadgetAllDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetGadgetAllDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetGadgetAllDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetGadgetAllDataNotify) ProtoMessage() {}
+
+func (x *WidgetGadgetAllDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetGadgetAllDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetGadgetAllDataNotify.ProtoReflect.Descriptor instead.
+func (*WidgetGadgetAllDataNotify) Descriptor() ([]byte, []int) {
+ return file_WidgetGadgetAllDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetGadgetAllDataNotify) GetWidgetGadgetData() []*WidgetGadgetData {
+ if x != nil {
+ return x.WidgetGadgetData
+ }
+ return nil
+}
+
+var File_WidgetGadgetAllDataNotify_proto protoreflect.FileDescriptor
+
+var file_WidgetGadgetAllDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x41, 0x6c,
+ 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x62, 0x0a, 0x19, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x41, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x45, 0x0a,
+ 0x12, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x64,
+ 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61,
+ 0x74, 0x61, 0x52, 0x10, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetGadgetAllDataNotify_proto_rawDescOnce sync.Once
+ file_WidgetGadgetAllDataNotify_proto_rawDescData = file_WidgetGadgetAllDataNotify_proto_rawDesc
+)
+
+func file_WidgetGadgetAllDataNotify_proto_rawDescGZIP() []byte {
+ file_WidgetGadgetAllDataNotify_proto_rawDescOnce.Do(func() {
+ file_WidgetGadgetAllDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetGadgetAllDataNotify_proto_rawDescData)
+ })
+ return file_WidgetGadgetAllDataNotify_proto_rawDescData
+}
+
+var file_WidgetGadgetAllDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetGadgetAllDataNotify_proto_goTypes = []interface{}{
+ (*WidgetGadgetAllDataNotify)(nil), // 0: proto.WidgetGadgetAllDataNotify
+ (*WidgetGadgetData)(nil), // 1: proto.WidgetGadgetData
+}
+var file_WidgetGadgetAllDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetGadgetAllDataNotify.widget_gadget_data:type_name -> proto.WidgetGadgetData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WidgetGadgetAllDataNotify_proto_init() }
+func file_WidgetGadgetAllDataNotify_proto_init() {
+ if File_WidgetGadgetAllDataNotify_proto != nil {
+ return
+ }
+ file_WidgetGadgetData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetGadgetAllDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetGadgetAllDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetGadgetAllDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetGadgetAllDataNotify_proto_goTypes,
+ DependencyIndexes: file_WidgetGadgetAllDataNotify_proto_depIdxs,
+ MessageInfos: file_WidgetGadgetAllDataNotify_proto_msgTypes,
+ }.Build()
+ File_WidgetGadgetAllDataNotify_proto = out.File
+ file_WidgetGadgetAllDataNotify_proto_rawDesc = nil
+ file_WidgetGadgetAllDataNotify_proto_goTypes = nil
+ file_WidgetGadgetAllDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetGadgetData.pb.go b/protocol/proto/WidgetGadgetData.pb.go
new file mode 100644
index 00000000..c23f2144
--- /dev/null
+++ b/protocol/proto/WidgetGadgetData.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetGadgetData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetGadgetData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityIdList []uint32 `protobuf:"varint,1,rep,packed,name=gadget_entity_id_list,json=gadgetEntityIdList,proto3" json:"gadget_entity_id_list,omitempty"`
+ GadgetId uint32 `protobuf:"varint,8,opt,name=gadget_id,json=gadgetId,proto3" json:"gadget_id,omitempty"`
+}
+
+func (x *WidgetGadgetData) Reset() {
+ *x = WidgetGadgetData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetGadgetData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetGadgetData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetGadgetData) ProtoMessage() {}
+
+func (x *WidgetGadgetData) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetGadgetData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetGadgetData.ProtoReflect.Descriptor instead.
+func (*WidgetGadgetData) Descriptor() ([]byte, []int) {
+ return file_WidgetGadgetData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetGadgetData) GetGadgetEntityIdList() []uint32 {
+ if x != nil {
+ return x.GadgetEntityIdList
+ }
+ return nil
+}
+
+func (x *WidgetGadgetData) GetGadgetId() uint32 {
+ if x != nil {
+ return x.GadgetId
+ }
+ return 0
+}
+
+var File_WidgetGadgetData_proto protoreflect.FileDescriptor
+
+var file_WidgetGadgetData_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61,
+ 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x62, 0x0a, 0x10, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x12, 0x31, 0x0a, 0x15, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
+ 0x28, 0x0d, 0x52, 0x12, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65,
+ 0x74, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetGadgetData_proto_rawDescOnce sync.Once
+ file_WidgetGadgetData_proto_rawDescData = file_WidgetGadgetData_proto_rawDesc
+)
+
+func file_WidgetGadgetData_proto_rawDescGZIP() []byte {
+ file_WidgetGadgetData_proto_rawDescOnce.Do(func() {
+ file_WidgetGadgetData_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetGadgetData_proto_rawDescData)
+ })
+ return file_WidgetGadgetData_proto_rawDescData
+}
+
+var file_WidgetGadgetData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetGadgetData_proto_goTypes = []interface{}{
+ (*WidgetGadgetData)(nil), // 0: proto.WidgetGadgetData
+}
+var file_WidgetGadgetData_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetGadgetData_proto_init() }
+func file_WidgetGadgetData_proto_init() {
+ if File_WidgetGadgetData_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetGadgetData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetGadgetData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetGadgetData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetGadgetData_proto_goTypes,
+ DependencyIndexes: file_WidgetGadgetData_proto_depIdxs,
+ MessageInfos: file_WidgetGadgetData_proto_msgTypes,
+ }.Build()
+ File_WidgetGadgetData_proto = out.File
+ file_WidgetGadgetData_proto_rawDesc = nil
+ file_WidgetGadgetData_proto_goTypes = nil
+ file_WidgetGadgetData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetGadgetDataNotify.pb.go b/protocol/proto/WidgetGadgetDataNotify.pb.go
new file mode 100644
index 00000000..88c50304
--- /dev/null
+++ b/protocol/proto/WidgetGadgetDataNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetGadgetDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4266
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetGadgetDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WidgetGadgetData *WidgetGadgetData `protobuf:"bytes,12,opt,name=widget_gadget_data,json=widgetGadgetData,proto3" json:"widget_gadget_data,omitempty"`
+}
+
+func (x *WidgetGadgetDataNotify) Reset() {
+ *x = WidgetGadgetDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetGadgetDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetGadgetDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetGadgetDataNotify) ProtoMessage() {}
+
+func (x *WidgetGadgetDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetGadgetDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetGadgetDataNotify.ProtoReflect.Descriptor instead.
+func (*WidgetGadgetDataNotify) Descriptor() ([]byte, []int) {
+ return file_WidgetGadgetDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetGadgetDataNotify) GetWidgetGadgetData() *WidgetGadgetData {
+ if x != nil {
+ return x.WidgetGadgetData
+ }
+ return nil
+}
+
+var File_WidgetGadgetDataNotify_proto protoreflect.FileDescriptor
+
+var file_WidgetGadgetDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61,
+ 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a,
+ 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74,
+ 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x45, 0x0a, 0x12, 0x77, 0x69, 0x64, 0x67, 0x65,
+ 0x74, 0x5f, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x77, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_WidgetGadgetDataNotify_proto_rawDescOnce sync.Once
+ file_WidgetGadgetDataNotify_proto_rawDescData = file_WidgetGadgetDataNotify_proto_rawDesc
+)
+
+func file_WidgetGadgetDataNotify_proto_rawDescGZIP() []byte {
+ file_WidgetGadgetDataNotify_proto_rawDescOnce.Do(func() {
+ file_WidgetGadgetDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetGadgetDataNotify_proto_rawDescData)
+ })
+ return file_WidgetGadgetDataNotify_proto_rawDescData
+}
+
+var file_WidgetGadgetDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetGadgetDataNotify_proto_goTypes = []interface{}{
+ (*WidgetGadgetDataNotify)(nil), // 0: proto.WidgetGadgetDataNotify
+ (*WidgetGadgetData)(nil), // 1: proto.WidgetGadgetData
+}
+var file_WidgetGadgetDataNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetGadgetDataNotify.widget_gadget_data:type_name -> proto.WidgetGadgetData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WidgetGadgetDataNotify_proto_init() }
+func file_WidgetGadgetDataNotify_proto_init() {
+ if File_WidgetGadgetDataNotify_proto != nil {
+ return
+ }
+ file_WidgetGadgetData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetGadgetDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetGadgetDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetGadgetDataNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetGadgetDataNotify_proto_goTypes,
+ DependencyIndexes: file_WidgetGadgetDataNotify_proto_depIdxs,
+ MessageInfos: file_WidgetGadgetDataNotify_proto_msgTypes,
+ }.Build()
+ File_WidgetGadgetDataNotify_proto = out.File
+ file_WidgetGadgetDataNotify_proto_rawDesc = nil
+ file_WidgetGadgetDataNotify_proto_goTypes = nil
+ file_WidgetGadgetDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetGadgetDestroyNotify.pb.go b/protocol/proto/WidgetGadgetDestroyNotify.pb.go
new file mode 100644
index 00000000..4ee1b681
--- /dev/null
+++ b/protocol/proto/WidgetGadgetDestroyNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetGadgetDestroyNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4274
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetGadgetDestroyNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,15,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *WidgetGadgetDestroyNotify) Reset() {
+ *x = WidgetGadgetDestroyNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetGadgetDestroyNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetGadgetDestroyNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetGadgetDestroyNotify) ProtoMessage() {}
+
+func (x *WidgetGadgetDestroyNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetGadgetDestroyNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetGadgetDestroyNotify.ProtoReflect.Descriptor instead.
+func (*WidgetGadgetDestroyNotify) Descriptor() ([]byte, []int) {
+ return file_WidgetGadgetDestroyNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetGadgetDestroyNotify) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+var File_WidgetGadgetDestroyNotify_proto protoreflect.FileDescriptor
+
+var file_WidgetGadgetDestroyNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x65,
+ 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x19, 0x57, 0x69, 0x64, 0x67,
+ 0x65, 0x74, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f,
+ 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetGadgetDestroyNotify_proto_rawDescOnce sync.Once
+ file_WidgetGadgetDestroyNotify_proto_rawDescData = file_WidgetGadgetDestroyNotify_proto_rawDesc
+)
+
+func file_WidgetGadgetDestroyNotify_proto_rawDescGZIP() []byte {
+ file_WidgetGadgetDestroyNotify_proto_rawDescOnce.Do(func() {
+ file_WidgetGadgetDestroyNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetGadgetDestroyNotify_proto_rawDescData)
+ })
+ return file_WidgetGadgetDestroyNotify_proto_rawDescData
+}
+
+var file_WidgetGadgetDestroyNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetGadgetDestroyNotify_proto_goTypes = []interface{}{
+ (*WidgetGadgetDestroyNotify)(nil), // 0: proto.WidgetGadgetDestroyNotify
+}
+var file_WidgetGadgetDestroyNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetGadgetDestroyNotify_proto_init() }
+func file_WidgetGadgetDestroyNotify_proto_init() {
+ if File_WidgetGadgetDestroyNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetGadgetDestroyNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetGadgetDestroyNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetGadgetDestroyNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetGadgetDestroyNotify_proto_goTypes,
+ DependencyIndexes: file_WidgetGadgetDestroyNotify_proto_depIdxs,
+ MessageInfos: file_WidgetGadgetDestroyNotify_proto_msgTypes,
+ }.Build()
+ File_WidgetGadgetDestroyNotify_proto = out.File
+ file_WidgetGadgetDestroyNotify_proto_rawDesc = nil
+ file_WidgetGadgetDestroyNotify_proto_goTypes = nil
+ file_WidgetGadgetDestroyNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetQuickHitTreeReq.pb.go b/protocol/proto/WidgetQuickHitTreeReq.pb.go
new file mode 100644
index 00000000..4116f915
--- /dev/null
+++ b/protocol/proto/WidgetQuickHitTreeReq.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetQuickHitTreeReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3345
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WidgetQuickHitTreeReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ HitTreeInfoList []*HitTreeInfo `protobuf:"bytes,5,rep,name=hit_tree_info_list,json=hitTreeInfoList,proto3" json:"hit_tree_info_list,omitempty"`
+}
+
+func (x *WidgetQuickHitTreeReq) Reset() {
+ *x = WidgetQuickHitTreeReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetQuickHitTreeReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetQuickHitTreeReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetQuickHitTreeReq) ProtoMessage() {}
+
+func (x *WidgetQuickHitTreeReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetQuickHitTreeReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetQuickHitTreeReq.ProtoReflect.Descriptor instead.
+func (*WidgetQuickHitTreeReq) Descriptor() ([]byte, []int) {
+ return file_WidgetQuickHitTreeReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetQuickHitTreeReq) GetHitTreeInfoList() []*HitTreeInfo {
+ if x != nil {
+ return x.HitTreeInfoList
+ }
+ return nil
+}
+
+var File_WidgetQuickHitTreeReq_proto protoreflect.FileDescriptor
+
+var file_WidgetQuickHitTreeReq_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x48, 0x69, 0x74,
+ 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x48, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x15, 0x57, 0x69, 0x64, 0x67, 0x65,
+ 0x74, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x48, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71,
+ 0x12, 0x3f, 0x0a, 0x12, 0x68, 0x69, 0x74, 0x5f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x52, 0x0f, 0x68, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetQuickHitTreeReq_proto_rawDescOnce sync.Once
+ file_WidgetQuickHitTreeReq_proto_rawDescData = file_WidgetQuickHitTreeReq_proto_rawDesc
+)
+
+func file_WidgetQuickHitTreeReq_proto_rawDescGZIP() []byte {
+ file_WidgetQuickHitTreeReq_proto_rawDescOnce.Do(func() {
+ file_WidgetQuickHitTreeReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetQuickHitTreeReq_proto_rawDescData)
+ })
+ return file_WidgetQuickHitTreeReq_proto_rawDescData
+}
+
+var file_WidgetQuickHitTreeReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetQuickHitTreeReq_proto_goTypes = []interface{}{
+ (*WidgetQuickHitTreeReq)(nil), // 0: proto.WidgetQuickHitTreeReq
+ (*HitTreeInfo)(nil), // 1: proto.HitTreeInfo
+}
+var file_WidgetQuickHitTreeReq_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetQuickHitTreeReq.hit_tree_info_list:type_name -> proto.HitTreeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WidgetQuickHitTreeReq_proto_init() }
+func file_WidgetQuickHitTreeReq_proto_init() {
+ if File_WidgetQuickHitTreeReq_proto != nil {
+ return
+ }
+ file_HitTreeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetQuickHitTreeReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetQuickHitTreeReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetQuickHitTreeReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetQuickHitTreeReq_proto_goTypes,
+ DependencyIndexes: file_WidgetQuickHitTreeReq_proto_depIdxs,
+ MessageInfos: file_WidgetQuickHitTreeReq_proto_msgTypes,
+ }.Build()
+ File_WidgetQuickHitTreeReq_proto = out.File
+ file_WidgetQuickHitTreeReq_proto_rawDesc = nil
+ file_WidgetQuickHitTreeReq_proto_goTypes = nil
+ file_WidgetQuickHitTreeReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetQuickHitTreeRsp.pb.go b/protocol/proto/WidgetQuickHitTreeRsp.pb.go
new file mode 100644
index 00000000..040d269c
--- /dev/null
+++ b/protocol/proto/WidgetQuickHitTreeRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetQuickHitTreeRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3336
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetQuickHitTreeRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *WidgetQuickHitTreeRsp) Reset() {
+ *x = WidgetQuickHitTreeRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetQuickHitTreeRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetQuickHitTreeRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetQuickHitTreeRsp) ProtoMessage() {}
+
+func (x *WidgetQuickHitTreeRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetQuickHitTreeRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetQuickHitTreeRsp.ProtoReflect.Descriptor instead.
+func (*WidgetQuickHitTreeRsp) Descriptor() ([]byte, []int) {
+ return file_WidgetQuickHitTreeRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetQuickHitTreeRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_WidgetQuickHitTreeRsp_proto protoreflect.FileDescriptor
+
+var file_WidgetQuickHitTreeRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x48, 0x69, 0x74,
+ 0x54, 0x72, 0x65, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x31, 0x0a, 0x15, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x51, 0x75,
+ 0x69, 0x63, 0x6b, 0x48, 0x69, 0x74, 0x54, 0x72, 0x65, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetQuickHitTreeRsp_proto_rawDescOnce sync.Once
+ file_WidgetQuickHitTreeRsp_proto_rawDescData = file_WidgetQuickHitTreeRsp_proto_rawDesc
+)
+
+func file_WidgetQuickHitTreeRsp_proto_rawDescGZIP() []byte {
+ file_WidgetQuickHitTreeRsp_proto_rawDescOnce.Do(func() {
+ file_WidgetQuickHitTreeRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetQuickHitTreeRsp_proto_rawDescData)
+ })
+ return file_WidgetQuickHitTreeRsp_proto_rawDescData
+}
+
+var file_WidgetQuickHitTreeRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetQuickHitTreeRsp_proto_goTypes = []interface{}{
+ (*WidgetQuickHitTreeRsp)(nil), // 0: proto.WidgetQuickHitTreeRsp
+}
+var file_WidgetQuickHitTreeRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetQuickHitTreeRsp_proto_init() }
+func file_WidgetQuickHitTreeRsp_proto_init() {
+ if File_WidgetQuickHitTreeRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetQuickHitTreeRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetQuickHitTreeRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetQuickHitTreeRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetQuickHitTreeRsp_proto_goTypes,
+ DependencyIndexes: file_WidgetQuickHitTreeRsp_proto_depIdxs,
+ MessageInfos: file_WidgetQuickHitTreeRsp_proto_msgTypes,
+ }.Build()
+ File_WidgetQuickHitTreeRsp_proto = out.File
+ file_WidgetQuickHitTreeRsp_proto_rawDesc = nil
+ file_WidgetQuickHitTreeRsp_proto_goTypes = nil
+ file_WidgetQuickHitTreeRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetReportReq.pb.go b/protocol/proto/WidgetReportReq.pb.go
new file mode 100644
index 00000000..74e56b3c
--- /dev/null
+++ b/protocol/proto/WidgetReportReq.pb.go
@@ -0,0 +1,196 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetReportReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4291
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WidgetReportReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsClearSkyCrystalHint bool `protobuf:"varint,5,opt,name=is_clear_sky_crystal_hint,json=isClearSkyCrystalHint,proto3" json:"is_clear_sky_crystal_hint,omitempty"`
+ IsClientCollect bool `protobuf:"varint,14,opt,name=is_client_collect,json=isClientCollect,proto3" json:"is_client_collect,omitempty"`
+ IsClearHint bool `protobuf:"varint,13,opt,name=is_clear_hint,json=isClearHint,proto3" json:"is_clear_hint,omitempty"`
+ MaterialId uint32 `protobuf:"varint,15,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *WidgetReportReq) Reset() {
+ *x = WidgetReportReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetReportReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetReportReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetReportReq) ProtoMessage() {}
+
+func (x *WidgetReportReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetReportReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetReportReq.ProtoReflect.Descriptor instead.
+func (*WidgetReportReq) Descriptor() ([]byte, []int) {
+ return file_WidgetReportReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetReportReq) GetIsClearSkyCrystalHint() bool {
+ if x != nil {
+ return x.IsClearSkyCrystalHint
+ }
+ return false
+}
+
+func (x *WidgetReportReq) GetIsClientCollect() bool {
+ if x != nil {
+ return x.IsClientCollect
+ }
+ return false
+}
+
+func (x *WidgetReportReq) GetIsClearHint() bool {
+ if x != nil {
+ return x.IsClearHint
+ }
+ return false
+}
+
+func (x *WidgetReportReq) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_WidgetReportReq_proto protoreflect.FileDescriptor
+
+var file_WidgetReportReq_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65,
+ 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc,
+ 0x01, 0x0a, 0x0f, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52,
+ 0x65, 0x71, 0x12, 0x38, 0x0a, 0x19, 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x73,
+ 0x6b, 0x79, 0x5f, 0x63, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x53, 0x6b,
+ 0x79, 0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11,
+ 0x69, 0x73, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
+ 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e,
+ 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63,
+ 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
+ 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_WidgetReportReq_proto_rawDescOnce sync.Once
+ file_WidgetReportReq_proto_rawDescData = file_WidgetReportReq_proto_rawDesc
+)
+
+func file_WidgetReportReq_proto_rawDescGZIP() []byte {
+ file_WidgetReportReq_proto_rawDescOnce.Do(func() {
+ file_WidgetReportReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetReportReq_proto_rawDescData)
+ })
+ return file_WidgetReportReq_proto_rawDescData
+}
+
+var file_WidgetReportReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetReportReq_proto_goTypes = []interface{}{
+ (*WidgetReportReq)(nil), // 0: proto.WidgetReportReq
+}
+var file_WidgetReportReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetReportReq_proto_init() }
+func file_WidgetReportReq_proto_init() {
+ if File_WidgetReportReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetReportReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetReportReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetReportReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetReportReq_proto_goTypes,
+ DependencyIndexes: file_WidgetReportReq_proto_depIdxs,
+ MessageInfos: file_WidgetReportReq_proto_msgTypes,
+ }.Build()
+ File_WidgetReportReq_proto = out.File
+ file_WidgetReportReq_proto_rawDesc = nil
+ file_WidgetReportReq_proto_goTypes = nil
+ file_WidgetReportReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetReportRsp.pb.go b/protocol/proto/WidgetReportRsp.pb.go
new file mode 100644
index 00000000..868958a8
--- /dev/null
+++ b/protocol/proto/WidgetReportRsp.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetReportRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4292
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetReportRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MaterialId uint32 `protobuf:"varint,4,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *WidgetReportRsp) Reset() {
+ *x = WidgetReportRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetReportRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetReportRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetReportRsp) ProtoMessage() {}
+
+func (x *WidgetReportRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetReportRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetReportRsp.ProtoReflect.Descriptor instead.
+func (*WidgetReportRsp) Descriptor() ([]byte, []int) {
+ return file_WidgetReportRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetReportRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WidgetReportRsp) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_WidgetReportRsp_proto protoreflect.FileDescriptor
+
+var file_WidgetReportRsp_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x73,
+ 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4c,
+ 0x0a, 0x0f, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x73,
+ 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
+ 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetReportRsp_proto_rawDescOnce sync.Once
+ file_WidgetReportRsp_proto_rawDescData = file_WidgetReportRsp_proto_rawDesc
+)
+
+func file_WidgetReportRsp_proto_rawDescGZIP() []byte {
+ file_WidgetReportRsp_proto_rawDescOnce.Do(func() {
+ file_WidgetReportRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetReportRsp_proto_rawDescData)
+ })
+ return file_WidgetReportRsp_proto_rawDescData
+}
+
+var file_WidgetReportRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetReportRsp_proto_goTypes = []interface{}{
+ (*WidgetReportRsp)(nil), // 0: proto.WidgetReportRsp
+}
+var file_WidgetReportRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetReportRsp_proto_init() }
+func file_WidgetReportRsp_proto_init() {
+ if File_WidgetReportRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetReportRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetReportRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetReportRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetReportRsp_proto_goTypes,
+ DependencyIndexes: file_WidgetReportRsp_proto_depIdxs,
+ MessageInfos: file_WidgetReportRsp_proto_msgTypes,
+ }.Build()
+ File_WidgetReportRsp_proto = out.File
+ file_WidgetReportRsp_proto_rawDesc = nil
+ file_WidgetReportRsp_proto_goTypes = nil
+ file_WidgetReportRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetSlotChangeNotify.pb.go b/protocol/proto/WidgetSlotChangeNotify.pb.go
new file mode 100644
index 00000000..2e44ffea
--- /dev/null
+++ b/protocol/proto/WidgetSlotChangeNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetSlotChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4267
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetSlotChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Op WidgetSlotOp `protobuf:"varint,11,opt,name=op,proto3,enum=proto.WidgetSlotOp" json:"op,omitempty"`
+ Slot *WidgetSlotData `protobuf:"bytes,8,opt,name=slot,proto3" json:"slot,omitempty"`
+}
+
+func (x *WidgetSlotChangeNotify) Reset() {
+ *x = WidgetSlotChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetSlotChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetSlotChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetSlotChangeNotify) ProtoMessage() {}
+
+func (x *WidgetSlotChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetSlotChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetSlotChangeNotify.ProtoReflect.Descriptor instead.
+func (*WidgetSlotChangeNotify) Descriptor() ([]byte, []int) {
+ return file_WidgetSlotChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetSlotChangeNotify) GetOp() WidgetSlotOp {
+ if x != nil {
+ return x.Op
+ }
+ return WidgetSlotOp_WIDGET_SLOT_OP_ATTACH
+}
+
+func (x *WidgetSlotChangeNotify) GetSlot() *WidgetSlotData {
+ if x != nil {
+ return x.Slot
+ }
+ return nil
+}
+
+var File_WidgetSlotChangeNotify_proto protoreflect.FileDescriptor
+
+var file_WidgetSlotChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x57, 0x69, 0x64,
+ 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x68, 0x0a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x29,
+ 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetSlotChangeNotify_proto_rawDescOnce sync.Once
+ file_WidgetSlotChangeNotify_proto_rawDescData = file_WidgetSlotChangeNotify_proto_rawDesc
+)
+
+func file_WidgetSlotChangeNotify_proto_rawDescGZIP() []byte {
+ file_WidgetSlotChangeNotify_proto_rawDescOnce.Do(func() {
+ file_WidgetSlotChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetSlotChangeNotify_proto_rawDescData)
+ })
+ return file_WidgetSlotChangeNotify_proto_rawDescData
+}
+
+var file_WidgetSlotChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetSlotChangeNotify_proto_goTypes = []interface{}{
+ (*WidgetSlotChangeNotify)(nil), // 0: proto.WidgetSlotChangeNotify
+ (WidgetSlotOp)(0), // 1: proto.WidgetSlotOp
+ (*WidgetSlotData)(nil), // 2: proto.WidgetSlotData
+}
+var file_WidgetSlotChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetSlotChangeNotify.op:type_name -> proto.WidgetSlotOp
+ 2, // 1: proto.WidgetSlotChangeNotify.slot:type_name -> proto.WidgetSlotData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WidgetSlotChangeNotify_proto_init() }
+func file_WidgetSlotChangeNotify_proto_init() {
+ if File_WidgetSlotChangeNotify_proto != nil {
+ return
+ }
+ file_WidgetSlotData_proto_init()
+ file_WidgetSlotOp_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetSlotChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetSlotChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetSlotChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetSlotChangeNotify_proto_goTypes,
+ DependencyIndexes: file_WidgetSlotChangeNotify_proto_depIdxs,
+ MessageInfos: file_WidgetSlotChangeNotify_proto_msgTypes,
+ }.Build()
+ File_WidgetSlotChangeNotify_proto = out.File
+ file_WidgetSlotChangeNotify_proto_rawDesc = nil
+ file_WidgetSlotChangeNotify_proto_goTypes = nil
+ file_WidgetSlotChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetSlotData.pb.go b/protocol/proto/WidgetSlotData.pb.go
new file mode 100644
index 00000000..90d2b817
--- /dev/null
+++ b/protocol/proto/WidgetSlotData.pb.go
@@ -0,0 +1,194 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetSlotData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetSlotData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CdOverTime uint32 `protobuf:"varint,9,opt,name=cd_over_time,json=cdOverTime,proto3" json:"cd_over_time,omitempty"`
+ Tag WidgetSlotTag `protobuf:"varint,14,opt,name=tag,proto3,enum=proto.WidgetSlotTag" json:"tag,omitempty"`
+ MaterialId uint32 `protobuf:"varint,11,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ IsActive bool `protobuf:"varint,12,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
+}
+
+func (x *WidgetSlotData) Reset() {
+ *x = WidgetSlotData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetSlotData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetSlotData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetSlotData) ProtoMessage() {}
+
+func (x *WidgetSlotData) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetSlotData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetSlotData.ProtoReflect.Descriptor instead.
+func (*WidgetSlotData) Descriptor() ([]byte, []int) {
+ return file_WidgetSlotData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetSlotData) GetCdOverTime() uint32 {
+ if x != nil {
+ return x.CdOverTime
+ }
+ return 0
+}
+
+func (x *WidgetSlotData) GetTag() WidgetSlotTag {
+ if x != nil {
+ return x.Tag
+ }
+ return WidgetSlotTag_WIDGET_SLOT_TAG_QUICK_USE
+}
+
+func (x *WidgetSlotData) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *WidgetSlotData) GetIsActive() bool {
+ if x != nil {
+ return x.IsActive
+ }
+ return false
+}
+
+var File_WidgetSlotData_proto protoreflect.FileDescriptor
+
+var file_WidgetSlotData_proto_rawDesc = []byte{
+ 0x0a, 0x14, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x44, 0x61, 0x74, 0x61,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x0e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f,
+ 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x64, 0x4f,
+ 0x76, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64,
+ 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x61, 0x67, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12,
+ 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_WidgetSlotData_proto_rawDescOnce sync.Once
+ file_WidgetSlotData_proto_rawDescData = file_WidgetSlotData_proto_rawDesc
+)
+
+func file_WidgetSlotData_proto_rawDescGZIP() []byte {
+ file_WidgetSlotData_proto_rawDescOnce.Do(func() {
+ file_WidgetSlotData_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetSlotData_proto_rawDescData)
+ })
+ return file_WidgetSlotData_proto_rawDescData
+}
+
+var file_WidgetSlotData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetSlotData_proto_goTypes = []interface{}{
+ (*WidgetSlotData)(nil), // 0: proto.WidgetSlotData
+ (WidgetSlotTag)(0), // 1: proto.WidgetSlotTag
+}
+var file_WidgetSlotData_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetSlotData.tag:type_name -> proto.WidgetSlotTag
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WidgetSlotData_proto_init() }
+func file_WidgetSlotData_proto_init() {
+ if File_WidgetSlotData_proto != nil {
+ return
+ }
+ file_WidgetSlotTag_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetSlotData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetSlotData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetSlotData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetSlotData_proto_goTypes,
+ DependencyIndexes: file_WidgetSlotData_proto_depIdxs,
+ MessageInfos: file_WidgetSlotData_proto_msgTypes,
+ }.Build()
+ File_WidgetSlotData_proto = out.File
+ file_WidgetSlotData_proto_rawDesc = nil
+ file_WidgetSlotData_proto_goTypes = nil
+ file_WidgetSlotData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetSlotOp.pb.go b/protocol/proto/WidgetSlotOp.pb.go
new file mode 100644
index 00000000..c2858dd9
--- /dev/null
+++ b/protocol/proto/WidgetSlotOp.pb.go
@@ -0,0 +1,145 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetSlotOp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetSlotOp int32
+
+const (
+ WidgetSlotOp_WIDGET_SLOT_OP_ATTACH WidgetSlotOp = 0
+ WidgetSlotOp_WIDGET_SLOT_OP_DETACH WidgetSlotOp = 1
+)
+
+// Enum value maps for WidgetSlotOp.
+var (
+ WidgetSlotOp_name = map[int32]string{
+ 0: "WIDGET_SLOT_OP_ATTACH",
+ 1: "WIDGET_SLOT_OP_DETACH",
+ }
+ WidgetSlotOp_value = map[string]int32{
+ "WIDGET_SLOT_OP_ATTACH": 0,
+ "WIDGET_SLOT_OP_DETACH": 1,
+ }
+)
+
+func (x WidgetSlotOp) Enum() *WidgetSlotOp {
+ p := new(WidgetSlotOp)
+ *p = x
+ return p
+}
+
+func (x WidgetSlotOp) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WidgetSlotOp) Descriptor() protoreflect.EnumDescriptor {
+ return file_WidgetSlotOp_proto_enumTypes[0].Descriptor()
+}
+
+func (WidgetSlotOp) Type() protoreflect.EnumType {
+ return &file_WidgetSlotOp_proto_enumTypes[0]
+}
+
+func (x WidgetSlotOp) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WidgetSlotOp.Descriptor instead.
+func (WidgetSlotOp) EnumDescriptor() ([]byte, []int) {
+ return file_WidgetSlotOp_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WidgetSlotOp_proto protoreflect.FileDescriptor
+
+var file_WidgetSlotOp_proto_rawDesc = []byte{
+ 0x0a, 0x12, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x44, 0x0a, 0x0c, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x4f, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x57,
+ 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x54,
+ 0x54, 0x41, 0x43, 0x48, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54,
+ 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x43, 0x48, 0x10,
+ 0x01, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetSlotOp_proto_rawDescOnce sync.Once
+ file_WidgetSlotOp_proto_rawDescData = file_WidgetSlotOp_proto_rawDesc
+)
+
+func file_WidgetSlotOp_proto_rawDescGZIP() []byte {
+ file_WidgetSlotOp_proto_rawDescOnce.Do(func() {
+ file_WidgetSlotOp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetSlotOp_proto_rawDescData)
+ })
+ return file_WidgetSlotOp_proto_rawDescData
+}
+
+var file_WidgetSlotOp_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_WidgetSlotOp_proto_goTypes = []interface{}{
+ (WidgetSlotOp)(0), // 0: proto.WidgetSlotOp
+}
+var file_WidgetSlotOp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetSlotOp_proto_init() }
+func file_WidgetSlotOp_proto_init() {
+ if File_WidgetSlotOp_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetSlotOp_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetSlotOp_proto_goTypes,
+ DependencyIndexes: file_WidgetSlotOp_proto_depIdxs,
+ EnumInfos: file_WidgetSlotOp_proto_enumTypes,
+ }.Build()
+ File_WidgetSlotOp_proto = out.File
+ file_WidgetSlotOp_proto_rawDesc = nil
+ file_WidgetSlotOp_proto_goTypes = nil
+ file_WidgetSlotOp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetSlotTag.pb.go b/protocol/proto/WidgetSlotTag.pb.go
new file mode 100644
index 00000000..6d9e2897
--- /dev/null
+++ b/protocol/proto/WidgetSlotTag.pb.go
@@ -0,0 +1,146 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetSlotTag.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetSlotTag int32
+
+const (
+ WidgetSlotTag_WIDGET_SLOT_TAG_QUICK_USE WidgetSlotTag = 0
+ WidgetSlotTag_WIDGET_SLOT_TAG_ATTACH_AVATAR WidgetSlotTag = 1
+)
+
+// Enum value maps for WidgetSlotTag.
+var (
+ WidgetSlotTag_name = map[int32]string{
+ 0: "WIDGET_SLOT_TAG_QUICK_USE",
+ 1: "WIDGET_SLOT_TAG_ATTACH_AVATAR",
+ }
+ WidgetSlotTag_value = map[string]int32{
+ "WIDGET_SLOT_TAG_QUICK_USE": 0,
+ "WIDGET_SLOT_TAG_ATTACH_AVATAR": 1,
+ }
+)
+
+func (x WidgetSlotTag) Enum() *WidgetSlotTag {
+ p := new(WidgetSlotTag)
+ *p = x
+ return p
+}
+
+func (x WidgetSlotTag) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WidgetSlotTag) Descriptor() protoreflect.EnumDescriptor {
+ return file_WidgetSlotTag_proto_enumTypes[0].Descriptor()
+}
+
+func (WidgetSlotTag) Type() protoreflect.EnumType {
+ return &file_WidgetSlotTag_proto_enumTypes[0]
+}
+
+func (x WidgetSlotTag) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WidgetSlotTag.Descriptor instead.
+func (WidgetSlotTag) EnumDescriptor() ([]byte, []int) {
+ return file_WidgetSlotTag_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WidgetSlotTag_proto protoreflect.FileDescriptor
+
+var file_WidgetSlotTag_proto_rawDesc = []byte{
+ 0x0a, 0x13, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x61, 0x67, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x51, 0x0a, 0x0d,
+ 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x53, 0x6c, 0x6f, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1d, 0x0a,
+ 0x19, 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x54, 0x41, 0x47,
+ 0x5f, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x5f, 0x55, 0x53, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d,
+ 0x57, 0x49, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x54, 0x5f, 0x54, 0x41, 0x47, 0x5f,
+ 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x5f, 0x41, 0x56, 0x41, 0x54, 0x41, 0x52, 0x10, 0x01, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetSlotTag_proto_rawDescOnce sync.Once
+ file_WidgetSlotTag_proto_rawDescData = file_WidgetSlotTag_proto_rawDesc
+)
+
+func file_WidgetSlotTag_proto_rawDescGZIP() []byte {
+ file_WidgetSlotTag_proto_rawDescOnce.Do(func() {
+ file_WidgetSlotTag_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetSlotTag_proto_rawDescData)
+ })
+ return file_WidgetSlotTag_proto_rawDescData
+}
+
+var file_WidgetSlotTag_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_WidgetSlotTag_proto_goTypes = []interface{}{
+ (WidgetSlotTag)(0), // 0: proto.WidgetSlotTag
+}
+var file_WidgetSlotTag_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetSlotTag_proto_init() }
+func file_WidgetSlotTag_proto_init() {
+ if File_WidgetSlotTag_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetSlotTag_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetSlotTag_proto_goTypes,
+ DependencyIndexes: file_WidgetSlotTag_proto_depIdxs,
+ EnumInfos: file_WidgetSlotTag_proto_enumTypes,
+ }.Build()
+ File_WidgetSlotTag_proto = out.File
+ file_WidgetSlotTag_proto_rawDesc = nil
+ file_WidgetSlotTag_proto_goTypes = nil
+ file_WidgetSlotTag_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetThunderBirdFeatherInfo.pb.go b/protocol/proto/WidgetThunderBirdFeatherInfo.pb.go
new file mode 100644
index 00000000..e4d940f8
--- /dev/null
+++ b/protocol/proto/WidgetThunderBirdFeatherInfo.pb.go
@@ -0,0 +1,161 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetThunderBirdFeatherInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WidgetThunderBirdFeatherInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityIdList []uint32 `protobuf:"varint,4,rep,packed,name=entity_id_list,json=entityIdList,proto3" json:"entity_id_list,omitempty"`
+}
+
+func (x *WidgetThunderBirdFeatherInfo) Reset() {
+ *x = WidgetThunderBirdFeatherInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetThunderBirdFeatherInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetThunderBirdFeatherInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetThunderBirdFeatherInfo) ProtoMessage() {}
+
+func (x *WidgetThunderBirdFeatherInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetThunderBirdFeatherInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetThunderBirdFeatherInfo.ProtoReflect.Descriptor instead.
+func (*WidgetThunderBirdFeatherInfo) Descriptor() ([]byte, []int) {
+ return file_WidgetThunderBirdFeatherInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetThunderBirdFeatherInfo) GetEntityIdList() []uint32 {
+ if x != nil {
+ return x.EntityIdList
+ }
+ return nil
+}
+
+var File_WidgetThunderBirdFeatherInfo_proto protoreflect.FileDescriptor
+
+var file_WidgetThunderBirdFeatherInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x42,
+ 0x69, 0x72, 0x64, 0x46, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x44, 0x0a, 0x1c, 0x57,
+ 0x69, 0x64, 0x67, 0x65, 0x74, 0x54, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x69, 0x72, 0x64,
+ 0x46, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetThunderBirdFeatherInfo_proto_rawDescOnce sync.Once
+ file_WidgetThunderBirdFeatherInfo_proto_rawDescData = file_WidgetThunderBirdFeatherInfo_proto_rawDesc
+)
+
+func file_WidgetThunderBirdFeatherInfo_proto_rawDescGZIP() []byte {
+ file_WidgetThunderBirdFeatherInfo_proto_rawDescOnce.Do(func() {
+ file_WidgetThunderBirdFeatherInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetThunderBirdFeatherInfo_proto_rawDescData)
+ })
+ return file_WidgetThunderBirdFeatherInfo_proto_rawDescData
+}
+
+var file_WidgetThunderBirdFeatherInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetThunderBirdFeatherInfo_proto_goTypes = []interface{}{
+ (*WidgetThunderBirdFeatherInfo)(nil), // 0: proto.WidgetThunderBirdFeatherInfo
+}
+var file_WidgetThunderBirdFeatherInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetThunderBirdFeatherInfo_proto_init() }
+func file_WidgetThunderBirdFeatherInfo_proto_init() {
+ if File_WidgetThunderBirdFeatherInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetThunderBirdFeatherInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetThunderBirdFeatherInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetThunderBirdFeatherInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetThunderBirdFeatherInfo_proto_goTypes,
+ DependencyIndexes: file_WidgetThunderBirdFeatherInfo_proto_depIdxs,
+ MessageInfos: file_WidgetThunderBirdFeatherInfo_proto_msgTypes,
+ }.Build()
+ File_WidgetThunderBirdFeatherInfo_proto = out.File
+ file_WidgetThunderBirdFeatherInfo_proto_rawDesc = nil
+ file_WidgetThunderBirdFeatherInfo_proto_goTypes = nil
+ file_WidgetThunderBirdFeatherInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetUpdateExtraCDReq.pb.go b/protocol/proto/WidgetUpdateExtraCDReq.pb.go
new file mode 100644
index 00000000..c65e165c
--- /dev/null
+++ b/protocol/proto/WidgetUpdateExtraCDReq.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetUpdateExtraCDReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5960
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WidgetUpdateExtraCDReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ MaterialId uint32 `protobuf:"varint,14,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ ExtraCdType WidgetExtraCdType `protobuf:"varint,10,opt,name=extra_cd_type,json=extraCdType,proto3,enum=proto.WidgetExtraCdType" json:"extra_cd_type,omitempty"`
+ CdGroup uint32 `protobuf:"varint,7,opt,name=cd_group,json=cdGroup,proto3" json:"cd_group,omitempty"`
+}
+
+func (x *WidgetUpdateExtraCDReq) Reset() {
+ *x = WidgetUpdateExtraCDReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetUpdateExtraCDReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetUpdateExtraCDReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetUpdateExtraCDReq) ProtoMessage() {}
+
+func (x *WidgetUpdateExtraCDReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetUpdateExtraCDReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetUpdateExtraCDReq.ProtoReflect.Descriptor instead.
+func (*WidgetUpdateExtraCDReq) Descriptor() ([]byte, []int) {
+ return file_WidgetUpdateExtraCDReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetUpdateExtraCDReq) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *WidgetUpdateExtraCDReq) GetExtraCdType() WidgetExtraCdType {
+ if x != nil {
+ return x.ExtraCdType
+ }
+ return WidgetExtraCdType_WIDGET_EXTRA_CD_TYPE_NONE
+}
+
+func (x *WidgetUpdateExtraCDReq) GetCdGroup() uint32 {
+ if x != nil {
+ return x.CdGroup
+ }
+ return 0
+}
+
+var File_WidgetUpdateExtraCDReq_proto protoreflect.FileDescriptor
+
+var file_WidgetUpdateExtraCDReq_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78,
+ 0x74, 0x72, 0x61, 0x43, 0x44, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x45, 0x78, 0x74,
+ 0x72, 0x61, 0x43, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92,
+ 0x01, 0x0a, 0x16, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45,
+ 0x78, 0x74, 0x72, 0x61, 0x43, 0x44, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x74,
+ 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x65, 0x78,
+ 0x74, 0x72, 0x61, 0x5f, 0x63, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x45, 0x78, 0x74, 0x72, 0x61, 0x43, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x65, 0x78, 0x74,
+ 0x72, 0x61, 0x43, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x64, 0x5f, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x64, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetUpdateExtraCDReq_proto_rawDescOnce sync.Once
+ file_WidgetUpdateExtraCDReq_proto_rawDescData = file_WidgetUpdateExtraCDReq_proto_rawDesc
+)
+
+func file_WidgetUpdateExtraCDReq_proto_rawDescGZIP() []byte {
+ file_WidgetUpdateExtraCDReq_proto_rawDescOnce.Do(func() {
+ file_WidgetUpdateExtraCDReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetUpdateExtraCDReq_proto_rawDescData)
+ })
+ return file_WidgetUpdateExtraCDReq_proto_rawDescData
+}
+
+var file_WidgetUpdateExtraCDReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetUpdateExtraCDReq_proto_goTypes = []interface{}{
+ (*WidgetUpdateExtraCDReq)(nil), // 0: proto.WidgetUpdateExtraCDReq
+ (WidgetExtraCdType)(0), // 1: proto.WidgetExtraCdType
+}
+var file_WidgetUpdateExtraCDReq_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetUpdateExtraCDReq.extra_cd_type:type_name -> proto.WidgetExtraCdType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WidgetUpdateExtraCDReq_proto_init() }
+func file_WidgetUpdateExtraCDReq_proto_init() {
+ if File_WidgetUpdateExtraCDReq_proto != nil {
+ return
+ }
+ file_WidgetExtraCdType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetUpdateExtraCDReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetUpdateExtraCDReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetUpdateExtraCDReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetUpdateExtraCDReq_proto_goTypes,
+ DependencyIndexes: file_WidgetUpdateExtraCDReq_proto_depIdxs,
+ MessageInfos: file_WidgetUpdateExtraCDReq_proto_msgTypes,
+ }.Build()
+ File_WidgetUpdateExtraCDReq_proto = out.File
+ file_WidgetUpdateExtraCDReq_proto_rawDesc = nil
+ file_WidgetUpdateExtraCDReq_proto_goTypes = nil
+ file_WidgetUpdateExtraCDReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetUpdateExtraCDRsp.pb.go b/protocol/proto/WidgetUpdateExtraCDRsp.pb.go
new file mode 100644
index 00000000..1274d20c
--- /dev/null
+++ b/protocol/proto/WidgetUpdateExtraCDRsp.pb.go
@@ -0,0 +1,215 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetUpdateExtraCDRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 6056
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetUpdateExtraCDRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ MaterialId uint32 `protobuf:"varint,11,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+ ExtraCdType WidgetExtraCdType `protobuf:"varint,6,opt,name=extra_cd_type,json=extraCdType,proto3,enum=proto.WidgetExtraCdType" json:"extra_cd_type,omitempty"`
+ CoolData *WidgetCoolDownData `protobuf:"bytes,10,opt,name=cool_data,json=coolData,proto3" json:"cool_data,omitempty"`
+ CdGroup uint32 `protobuf:"varint,15,opt,name=cd_group,json=cdGroup,proto3" json:"cd_group,omitempty"`
+}
+
+func (x *WidgetUpdateExtraCDRsp) Reset() {
+ *x = WidgetUpdateExtraCDRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetUpdateExtraCDRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetUpdateExtraCDRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetUpdateExtraCDRsp) ProtoMessage() {}
+
+func (x *WidgetUpdateExtraCDRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetUpdateExtraCDRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetUpdateExtraCDRsp.ProtoReflect.Descriptor instead.
+func (*WidgetUpdateExtraCDRsp) Descriptor() ([]byte, []int) {
+ return file_WidgetUpdateExtraCDRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetUpdateExtraCDRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WidgetUpdateExtraCDRsp) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+func (x *WidgetUpdateExtraCDRsp) GetExtraCdType() WidgetExtraCdType {
+ if x != nil {
+ return x.ExtraCdType
+ }
+ return WidgetExtraCdType_WIDGET_EXTRA_CD_TYPE_NONE
+}
+
+func (x *WidgetUpdateExtraCDRsp) GetCoolData() *WidgetCoolDownData {
+ if x != nil {
+ return x.CoolData
+ }
+ return nil
+}
+
+func (x *WidgetUpdateExtraCDRsp) GetCdGroup() uint32 {
+ if x != nil {
+ return x.CdGroup
+ }
+ return 0
+}
+
+var File_WidgetUpdateExtraCDRsp_proto protoreflect.FileDescriptor
+
+var file_WidgetUpdateExtraCDRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78,
+ 0x74, 0x72, 0x61, 0x43, 0x44, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6f,
+ 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x17, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x43, 0x64, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x01, 0x0a, 0x16, 0x57, 0x69, 0x64,
+ 0x67, 0x65, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x43, 0x44,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a,
+ 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x3c,
+ 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x43, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52,
+ 0x0b, 0x65, 0x78, 0x74, 0x72, 0x61, 0x43, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x09,
+ 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x43, 0x6f,
+ 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x63, 0x6f, 0x6f, 0x6c,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
+ 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetUpdateExtraCDRsp_proto_rawDescOnce sync.Once
+ file_WidgetUpdateExtraCDRsp_proto_rawDescData = file_WidgetUpdateExtraCDRsp_proto_rawDesc
+)
+
+func file_WidgetUpdateExtraCDRsp_proto_rawDescGZIP() []byte {
+ file_WidgetUpdateExtraCDRsp_proto_rawDescOnce.Do(func() {
+ file_WidgetUpdateExtraCDRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetUpdateExtraCDRsp_proto_rawDescData)
+ })
+ return file_WidgetUpdateExtraCDRsp_proto_rawDescData
+}
+
+var file_WidgetUpdateExtraCDRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetUpdateExtraCDRsp_proto_goTypes = []interface{}{
+ (*WidgetUpdateExtraCDRsp)(nil), // 0: proto.WidgetUpdateExtraCDRsp
+ (WidgetExtraCdType)(0), // 1: proto.WidgetExtraCdType
+ (*WidgetCoolDownData)(nil), // 2: proto.WidgetCoolDownData
+}
+var file_WidgetUpdateExtraCDRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WidgetUpdateExtraCDRsp.extra_cd_type:type_name -> proto.WidgetExtraCdType
+ 2, // 1: proto.WidgetUpdateExtraCDRsp.cool_data:type_name -> proto.WidgetCoolDownData
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WidgetUpdateExtraCDRsp_proto_init() }
+func file_WidgetUpdateExtraCDRsp_proto_init() {
+ if File_WidgetUpdateExtraCDRsp_proto != nil {
+ return
+ }
+ file_WidgetCoolDownData_proto_init()
+ file_WidgetExtraCdType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetUpdateExtraCDRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetUpdateExtraCDRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetUpdateExtraCDRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetUpdateExtraCDRsp_proto_goTypes,
+ DependencyIndexes: file_WidgetUpdateExtraCDRsp_proto_depIdxs,
+ MessageInfos: file_WidgetUpdateExtraCDRsp_proto_msgTypes,
+ }.Build()
+ File_WidgetUpdateExtraCDRsp_proto = out.File
+ file_WidgetUpdateExtraCDRsp_proto_rawDesc = nil
+ file_WidgetUpdateExtraCDRsp_proto_goTypes = nil
+ file_WidgetUpdateExtraCDRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WidgetUseAttachAbilityGroupChangeNotify.pb.go b/protocol/proto/WidgetUseAttachAbilityGroupChangeNotify.pb.go
new file mode 100644
index 00000000..f0b2cc52
--- /dev/null
+++ b/protocol/proto/WidgetUseAttachAbilityGroupChangeNotify.pb.go
@@ -0,0 +1,175 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WidgetUseAttachAbilityGroupChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 4258
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WidgetUseAttachAbilityGroupChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsAttach bool `protobuf:"varint,6,opt,name=is_attach,json=isAttach,proto3" json:"is_attach,omitempty"`
+ MaterialId uint32 `protobuf:"varint,11,opt,name=material_id,json=materialId,proto3" json:"material_id,omitempty"`
+}
+
+func (x *WidgetUseAttachAbilityGroupChangeNotify) Reset() {
+ *x = WidgetUseAttachAbilityGroupChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WidgetUseAttachAbilityGroupChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WidgetUseAttachAbilityGroupChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WidgetUseAttachAbilityGroupChangeNotify) ProtoMessage() {}
+
+func (x *WidgetUseAttachAbilityGroupChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WidgetUseAttachAbilityGroupChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WidgetUseAttachAbilityGroupChangeNotify.ProtoReflect.Descriptor instead.
+func (*WidgetUseAttachAbilityGroupChangeNotify) Descriptor() ([]byte, []int) {
+ return file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WidgetUseAttachAbilityGroupChangeNotify) GetIsAttach() bool {
+ if x != nil {
+ return x.IsAttach
+ }
+ return false
+}
+
+func (x *WidgetUseAttachAbilityGroupChangeNotify) GetMaterialId() uint32 {
+ if x != nil {
+ return x.MaterialId
+ }
+ return 0
+}
+
+var File_WidgetUseAttachAbilityGroupChangeNotify_proto protoreflect.FileDescriptor
+
+var file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x2d, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63,
+ 0x68, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x67, 0x0a, 0x27, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
+ 0x55, 0x73, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
+ 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x1f,
+ 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDescOnce sync.Once
+ file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDescData = file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDesc
+)
+
+func file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDescGZIP() []byte {
+ file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDescOnce.Do(func() {
+ file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDescData)
+ })
+ return file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDescData
+}
+
+var file_WidgetUseAttachAbilityGroupChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WidgetUseAttachAbilityGroupChangeNotify_proto_goTypes = []interface{}{
+ (*WidgetUseAttachAbilityGroupChangeNotify)(nil), // 0: proto.WidgetUseAttachAbilityGroupChangeNotify
+}
+var file_WidgetUseAttachAbilityGroupChangeNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WidgetUseAttachAbilityGroupChangeNotify_proto_init() }
+func file_WidgetUseAttachAbilityGroupChangeNotify_proto_init() {
+ if File_WidgetUseAttachAbilityGroupChangeNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WidgetUseAttachAbilityGroupChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WidgetUseAttachAbilityGroupChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WidgetUseAttachAbilityGroupChangeNotify_proto_goTypes,
+ DependencyIndexes: file_WidgetUseAttachAbilityGroupChangeNotify_proto_depIdxs,
+ MessageInfos: file_WidgetUseAttachAbilityGroupChangeNotify_proto_msgTypes,
+ }.Build()
+ File_WidgetUseAttachAbilityGroupChangeNotify_proto = out.File
+ file_WidgetUseAttachAbilityGroupChangeNotify_proto_rawDesc = nil
+ file_WidgetUseAttachAbilityGroupChangeNotify_proto_goTypes = nil
+ file_WidgetUseAttachAbilityGroupChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindFieldDetailInfo.pb.go b/protocol/proto/WindFieldDetailInfo.pb.go
new file mode 100644
index 00000000..f62642da
--- /dev/null
+++ b/protocol/proto/WindFieldDetailInfo.pb.go
@@ -0,0 +1,166 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindFieldDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WindFieldDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ StageInfoList []*WindFieldStageInfo `protobuf:"bytes,11,rep,name=stage_info_list,json=stageInfoList,proto3" json:"stage_info_list,omitempty"`
+}
+
+func (x *WindFieldDetailInfo) Reset() {
+ *x = WindFieldDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindFieldDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindFieldDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindFieldDetailInfo) ProtoMessage() {}
+
+func (x *WindFieldDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WindFieldDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindFieldDetailInfo.ProtoReflect.Descriptor instead.
+func (*WindFieldDetailInfo) Descriptor() ([]byte, []int) {
+ return file_WindFieldDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WindFieldDetailInfo) GetStageInfoList() []*WindFieldStageInfo {
+ if x != nil {
+ return x.StageInfoList
+ }
+ return nil
+}
+
+var File_WindFieldDetailInfo_proto protoreflect.FileDescriptor
+
+var file_WindFieldDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69,
+ 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x18, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61,
+ 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x13,
+ 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
+ 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x66,
+ 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WindFieldDetailInfo_proto_rawDescOnce sync.Once
+ file_WindFieldDetailInfo_proto_rawDescData = file_WindFieldDetailInfo_proto_rawDesc
+)
+
+func file_WindFieldDetailInfo_proto_rawDescGZIP() []byte {
+ file_WindFieldDetailInfo_proto_rawDescOnce.Do(func() {
+ file_WindFieldDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindFieldDetailInfo_proto_rawDescData)
+ })
+ return file_WindFieldDetailInfo_proto_rawDescData
+}
+
+var file_WindFieldDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WindFieldDetailInfo_proto_goTypes = []interface{}{
+ (*WindFieldDetailInfo)(nil), // 0: proto.WindFieldDetailInfo
+ (*WindFieldStageInfo)(nil), // 1: proto.WindFieldStageInfo
+}
+var file_WindFieldDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WindFieldDetailInfo.stage_info_list:type_name -> proto.WindFieldStageInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WindFieldDetailInfo_proto_init() }
+func file_WindFieldDetailInfo_proto_init() {
+ if File_WindFieldDetailInfo_proto != nil {
+ return
+ }
+ file_WindFieldStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WindFieldDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindFieldDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindFieldDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindFieldDetailInfo_proto_goTypes,
+ DependencyIndexes: file_WindFieldDetailInfo_proto_depIdxs,
+ MessageInfos: file_WindFieldDetailInfo_proto_msgTypes,
+ }.Build()
+ File_WindFieldDetailInfo_proto = out.File
+ file_WindFieldDetailInfo_proto_rawDesc = nil
+ file_WindFieldDetailInfo_proto_goTypes = nil
+ file_WindFieldDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindFieldDungeonFailReason.pb.go b/protocol/proto/WindFieldDungeonFailReason.pb.go
new file mode 100644
index 00000000..4c19524e
--- /dev/null
+++ b/protocol/proto/WindFieldDungeonFailReason.pb.go
@@ -0,0 +1,167 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindFieldDungeonFailReason.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WindFieldDungeonFailReason int32
+
+const (
+ WindFieldDungeonFailReason_WIND_FIELD_DUNGEON_FAIL_REASON_NONE WindFieldDungeonFailReason = 0
+ WindFieldDungeonFailReason_WIND_FIELD_DUNGEON_FAIL_REASON_CANCEL WindFieldDungeonFailReason = 1
+ WindFieldDungeonFailReason_WIND_FIELD_DUNGEON_FAIL_REASON_TIMEOUT WindFieldDungeonFailReason = 2
+ WindFieldDungeonFailReason_WIND_FIELD_DUNGEON_FAIL_REASON_ALL_AVATAR_DIE WindFieldDungeonFailReason = 3
+ WindFieldDungeonFailReason_WIND_FIELD_DUNGEON_FAIL_REASON_LUA_INTERRUPT WindFieldDungeonFailReason = 4
+)
+
+// Enum value maps for WindFieldDungeonFailReason.
+var (
+ WindFieldDungeonFailReason_name = map[int32]string{
+ 0: "WIND_FIELD_DUNGEON_FAIL_REASON_NONE",
+ 1: "WIND_FIELD_DUNGEON_FAIL_REASON_CANCEL",
+ 2: "WIND_FIELD_DUNGEON_FAIL_REASON_TIMEOUT",
+ 3: "WIND_FIELD_DUNGEON_FAIL_REASON_ALL_AVATAR_DIE",
+ 4: "WIND_FIELD_DUNGEON_FAIL_REASON_LUA_INTERRUPT",
+ }
+ WindFieldDungeonFailReason_value = map[string]int32{
+ "WIND_FIELD_DUNGEON_FAIL_REASON_NONE": 0,
+ "WIND_FIELD_DUNGEON_FAIL_REASON_CANCEL": 1,
+ "WIND_FIELD_DUNGEON_FAIL_REASON_TIMEOUT": 2,
+ "WIND_FIELD_DUNGEON_FAIL_REASON_ALL_AVATAR_DIE": 3,
+ "WIND_FIELD_DUNGEON_FAIL_REASON_LUA_INTERRUPT": 4,
+ }
+)
+
+func (x WindFieldDungeonFailReason) Enum() *WindFieldDungeonFailReason {
+ p := new(WindFieldDungeonFailReason)
+ *p = x
+ return p
+}
+
+func (x WindFieldDungeonFailReason) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WindFieldDungeonFailReason) Descriptor() protoreflect.EnumDescriptor {
+ return file_WindFieldDungeonFailReason_proto_enumTypes[0].Descriptor()
+}
+
+func (WindFieldDungeonFailReason) Type() protoreflect.EnumType {
+ return &file_WindFieldDungeonFailReason_proto_enumTypes[0]
+}
+
+func (x WindFieldDungeonFailReason) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WindFieldDungeonFailReason.Descriptor instead.
+func (WindFieldDungeonFailReason) EnumDescriptor() ([]byte, []int) {
+ return file_WindFieldDungeonFailReason_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WindFieldDungeonFailReason_proto protoreflect.FileDescriptor
+
+var file_WindFieldDungeonFailReason_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2a, 0x81, 0x02, 0x0a, 0x1a, 0x57, 0x69,
+ 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46, 0x61,
+ 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x23, 0x57, 0x49, 0x4e, 0x44,
+ 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x46,
+ 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
+ 0x00, 0x12, 0x29, 0x0a, 0x25, 0x57, 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f,
+ 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41,
+ 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26,
+ 0x57, 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45,
+ 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54,
+ 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x12, 0x31, 0x0a, 0x2d, 0x57, 0x49, 0x4e, 0x44,
+ 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f, 0x4e, 0x5f, 0x46,
+ 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x41,
+ 0x56, 0x41, 0x54, 0x41, 0x52, 0x5f, 0x44, 0x49, 0x45, 0x10, 0x03, 0x12, 0x30, 0x0a, 0x2c, 0x57,
+ 0x49, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x44, 0x55, 0x4e, 0x47, 0x45, 0x4f,
+ 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x55,
+ 0x41, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x52, 0x55, 0x50, 0x54, 0x10, 0x04, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_WindFieldDungeonFailReason_proto_rawDescOnce sync.Once
+ file_WindFieldDungeonFailReason_proto_rawDescData = file_WindFieldDungeonFailReason_proto_rawDesc
+)
+
+func file_WindFieldDungeonFailReason_proto_rawDescGZIP() []byte {
+ file_WindFieldDungeonFailReason_proto_rawDescOnce.Do(func() {
+ file_WindFieldDungeonFailReason_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindFieldDungeonFailReason_proto_rawDescData)
+ })
+ return file_WindFieldDungeonFailReason_proto_rawDescData
+}
+
+var file_WindFieldDungeonFailReason_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_WindFieldDungeonFailReason_proto_goTypes = []interface{}{
+ (WindFieldDungeonFailReason)(0), // 0: proto.WindFieldDungeonFailReason
+}
+var file_WindFieldDungeonFailReason_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WindFieldDungeonFailReason_proto_init() }
+func file_WindFieldDungeonFailReason_proto_init() {
+ if File_WindFieldDungeonFailReason_proto != nil {
+ return
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindFieldDungeonFailReason_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 0,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindFieldDungeonFailReason_proto_goTypes,
+ DependencyIndexes: file_WindFieldDungeonFailReason_proto_depIdxs,
+ EnumInfos: file_WindFieldDungeonFailReason_proto_enumTypes,
+ }.Build()
+ File_WindFieldDungeonFailReason_proto = out.File
+ file_WindFieldDungeonFailReason_proto_rawDesc = nil
+ file_WindFieldDungeonFailReason_proto_goTypes = nil
+ file_WindFieldDungeonFailReason_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindFieldDungeonSettleInfo.pb.go b/protocol/proto/WindFieldDungeonSettleInfo.pb.go
new file mode 100644
index 00000000..6ab472c9
--- /dev/null
+++ b/protocol/proto/WindFieldDungeonSettleInfo.pb.go
@@ -0,0 +1,190 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindFieldDungeonSettleInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WindFieldDungeonSettleInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AfterWatcherIdList []uint32 `protobuf:"varint,11,rep,packed,name=after_watcher_id_list,json=afterWatcherIdList,proto3" json:"after_watcher_id_list,omitempty"`
+ BeforeWatcherIdList []uint32 `protobuf:"varint,7,rep,packed,name=before_watcher_id_list,json=beforeWatcherIdList,proto3" json:"before_watcher_id_list,omitempty"`
+ FailReason WindFieldDungeonFailReason `protobuf:"varint,2,opt,name=fail_reason,json=failReason,proto3,enum=proto.WindFieldDungeonFailReason" json:"fail_reason,omitempty"`
+}
+
+func (x *WindFieldDungeonSettleInfo) Reset() {
+ *x = WindFieldDungeonSettleInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindFieldDungeonSettleInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindFieldDungeonSettleInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindFieldDungeonSettleInfo) ProtoMessage() {}
+
+func (x *WindFieldDungeonSettleInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WindFieldDungeonSettleInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindFieldDungeonSettleInfo.ProtoReflect.Descriptor instead.
+func (*WindFieldDungeonSettleInfo) Descriptor() ([]byte, []int) {
+ return file_WindFieldDungeonSettleInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WindFieldDungeonSettleInfo) GetAfterWatcherIdList() []uint32 {
+ if x != nil {
+ return x.AfterWatcherIdList
+ }
+ return nil
+}
+
+func (x *WindFieldDungeonSettleInfo) GetBeforeWatcherIdList() []uint32 {
+ if x != nil {
+ return x.BeforeWatcherIdList
+ }
+ return nil
+}
+
+func (x *WindFieldDungeonSettleInfo) GetFailReason() WindFieldDungeonFailReason {
+ if x != nil {
+ return x.FailReason
+ }
+ return WindFieldDungeonFailReason_WIND_FIELD_DUNGEON_FAIL_REASON_NONE
+}
+
+var File_WindFieldDungeonSettleInfo_proto protoreflect.FileDescriptor
+
+var file_WindFieldDungeonSettleInfo_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65,
+ 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x52,
+ 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x1a,
+ 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x15, 0x61, 0x66,
+ 0x74, 0x65, 0x72, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x61, 0x66, 0x74, 0x65, 0x72,
+ 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a,
+ 0x16, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x5f,
+ 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x13, 0x62,
+ 0x65, 0x66, 0x6f, 0x72, 0x65, 0x57, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x49, 0x64, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f,
+ 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e,
+ 0x46, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c,
+ 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WindFieldDungeonSettleInfo_proto_rawDescOnce sync.Once
+ file_WindFieldDungeonSettleInfo_proto_rawDescData = file_WindFieldDungeonSettleInfo_proto_rawDesc
+)
+
+func file_WindFieldDungeonSettleInfo_proto_rawDescGZIP() []byte {
+ file_WindFieldDungeonSettleInfo_proto_rawDescOnce.Do(func() {
+ file_WindFieldDungeonSettleInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindFieldDungeonSettleInfo_proto_rawDescData)
+ })
+ return file_WindFieldDungeonSettleInfo_proto_rawDescData
+}
+
+var file_WindFieldDungeonSettleInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WindFieldDungeonSettleInfo_proto_goTypes = []interface{}{
+ (*WindFieldDungeonSettleInfo)(nil), // 0: proto.WindFieldDungeonSettleInfo
+ (WindFieldDungeonFailReason)(0), // 1: proto.WindFieldDungeonFailReason
+}
+var file_WindFieldDungeonSettleInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WindFieldDungeonSettleInfo.fail_reason:type_name -> proto.WindFieldDungeonFailReason
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WindFieldDungeonSettleInfo_proto_init() }
+func file_WindFieldDungeonSettleInfo_proto_init() {
+ if File_WindFieldDungeonSettleInfo_proto != nil {
+ return
+ }
+ file_WindFieldDungeonFailReason_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WindFieldDungeonSettleInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindFieldDungeonSettleInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindFieldDungeonSettleInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindFieldDungeonSettleInfo_proto_goTypes,
+ DependencyIndexes: file_WindFieldDungeonSettleInfo_proto_depIdxs,
+ MessageInfos: file_WindFieldDungeonSettleInfo_proto_msgTypes,
+ }.Build()
+ File_WindFieldDungeonSettleInfo_proto = out.File
+ file_WindFieldDungeonSettleInfo_proto_rawDesc = nil
+ file_WindFieldDungeonSettleInfo_proto_goTypes = nil
+ file_WindFieldDungeonSettleInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindFieldGalleryChallengeInfoNotify.pb.go b/protocol/proto/WindFieldGalleryChallengeInfoNotify.pb.go
new file mode 100644
index 00000000..3788ccaf
--- /dev/null
+++ b/protocol/proto/WindFieldGalleryChallengeInfoNotify.pb.go
@@ -0,0 +1,229 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindFieldGalleryChallengeInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5563
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WindFieldGalleryChallengeInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ChallengeTimestamp uint32 `protobuf:"varint,6,opt,name=challenge_timestamp,json=challengeTimestamp,proto3" json:"challenge_timestamp,omitempty"`
+ IsStart bool `protobuf:"varint,8,opt,name=is_start,json=isStart,proto3" json:"is_start,omitempty"`
+ ShowId uint32 `protobuf:"varint,12,opt,name=show_id,json=showId,proto3" json:"show_id,omitempty"`
+ IsSuccess bool `protobuf:"varint,7,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ ChallengeTotalTime uint32 `protobuf:"varint,13,opt,name=challenge_total_time,json=challengeTotalTime,proto3" json:"challenge_total_time,omitempty"`
+ ChallengeBallMaxCount uint32 `protobuf:"varint,11,opt,name=challenge_ball_max_count,json=challengeBallMaxCount,proto3" json:"challenge_ball_max_count,omitempty"`
+ ChallengeBallCurCount uint32 `protobuf:"varint,1,opt,name=challenge_ball_cur_count,json=challengeBallCurCount,proto3" json:"challenge_ball_cur_count,omitempty"`
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) Reset() {
+ *x = WindFieldGalleryChallengeInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindFieldGalleryChallengeInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindFieldGalleryChallengeInfoNotify) ProtoMessage() {}
+
+func (x *WindFieldGalleryChallengeInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WindFieldGalleryChallengeInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindFieldGalleryChallengeInfoNotify.ProtoReflect.Descriptor instead.
+func (*WindFieldGalleryChallengeInfoNotify) Descriptor() ([]byte, []int) {
+ return file_WindFieldGalleryChallengeInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) GetChallengeTimestamp() uint32 {
+ if x != nil {
+ return x.ChallengeTimestamp
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) GetIsStart() bool {
+ if x != nil {
+ return x.IsStart
+ }
+ return false
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) GetShowId() uint32 {
+ if x != nil {
+ return x.ShowId
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) GetChallengeTotalTime() uint32 {
+ if x != nil {
+ return x.ChallengeTotalTime
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) GetChallengeBallMaxCount() uint32 {
+ if x != nil {
+ return x.ChallengeBallMaxCount
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryChallengeInfoNotify) GetChallengeBallCurCount() uint32 {
+ if x != nil {
+ return x.ChallengeBallCurCount
+ }
+ return 0
+}
+
+var File_WindFieldGalleryChallengeInfoNotify_proto protoreflect.FileDescriptor
+
+var file_WindFieldGalleryChallengeInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0xcd, 0x02, 0x0a, 0x23, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x08, 0x69,
+ 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69,
+ 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x30,
+ 0x0a, 0x14, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61,
+ 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x37, 0x0a, 0x18, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x61,
+ 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6c,
+ 0x6c, 0x4d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x5f,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x72, 0x43, 0x6f, 0x75,
+ 0x6e, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WindFieldGalleryChallengeInfoNotify_proto_rawDescOnce sync.Once
+ file_WindFieldGalleryChallengeInfoNotify_proto_rawDescData = file_WindFieldGalleryChallengeInfoNotify_proto_rawDesc
+)
+
+func file_WindFieldGalleryChallengeInfoNotify_proto_rawDescGZIP() []byte {
+ file_WindFieldGalleryChallengeInfoNotify_proto_rawDescOnce.Do(func() {
+ file_WindFieldGalleryChallengeInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindFieldGalleryChallengeInfoNotify_proto_rawDescData)
+ })
+ return file_WindFieldGalleryChallengeInfoNotify_proto_rawDescData
+}
+
+var file_WindFieldGalleryChallengeInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WindFieldGalleryChallengeInfoNotify_proto_goTypes = []interface{}{
+ (*WindFieldGalleryChallengeInfoNotify)(nil), // 0: proto.WindFieldGalleryChallengeInfoNotify
+}
+var file_WindFieldGalleryChallengeInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WindFieldGalleryChallengeInfoNotify_proto_init() }
+func file_WindFieldGalleryChallengeInfoNotify_proto_init() {
+ if File_WindFieldGalleryChallengeInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WindFieldGalleryChallengeInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindFieldGalleryChallengeInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindFieldGalleryChallengeInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindFieldGalleryChallengeInfoNotify_proto_goTypes,
+ DependencyIndexes: file_WindFieldGalleryChallengeInfoNotify_proto_depIdxs,
+ MessageInfos: file_WindFieldGalleryChallengeInfoNotify_proto_msgTypes,
+ }.Build()
+ File_WindFieldGalleryChallengeInfoNotify_proto = out.File
+ file_WindFieldGalleryChallengeInfoNotify_proto_rawDesc = nil
+ file_WindFieldGalleryChallengeInfoNotify_proto_goTypes = nil
+ file_WindFieldGalleryChallengeInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindFieldGalleryInfoNotify.pb.go b/protocol/proto/WindFieldGalleryInfoNotify.pb.go
new file mode 100644
index 00000000..70768434
--- /dev/null
+++ b/protocol/proto/WindFieldGalleryInfoNotify.pb.go
@@ -0,0 +1,239 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindFieldGalleryInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 5526
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WindFieldGalleryInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ShowId uint32 `protobuf:"varint,3,opt,name=show_id,json=showId,proto3" json:"show_id,omitempty"`
+ KilledMonsterNum uint32 `protobuf:"varint,7,opt,name=killed_monster_num,json=killedMonsterNum,proto3" json:"killed_monster_num,omitempty"`
+ CoinNum uint32 `protobuf:"varint,9,opt,name=coin_num,json=coinNum,proto3" json:"coin_num,omitempty"`
+ ChallengeBallMaxCount uint32 `protobuf:"varint,1,opt,name=challenge_ball_max_count,json=challengeBallMaxCount,proto3" json:"challenge_ball_max_count,omitempty"`
+ ChallengeTotalTime uint32 `protobuf:"varint,5,opt,name=challenge_total_time,json=challengeTotalTime,proto3" json:"challenge_total_time,omitempty"`
+ ChallengeBallCurCount uint32 `protobuf:"varint,10,opt,name=challenge_ball_cur_count,json=challengeBallCurCount,proto3" json:"challenge_ball_cur_count,omitempty"`
+ ChallengeTimestamp uint32 `protobuf:"varint,4,opt,name=challenge_timestamp,json=challengeTimestamp,proto3" json:"challenge_timestamp,omitempty"`
+ ElementBallNum uint32 `protobuf:"varint,14,opt,name=element_ball_num,json=elementBallNum,proto3" json:"element_ball_num,omitempty"`
+}
+
+func (x *WindFieldGalleryInfoNotify) Reset() {
+ *x = WindFieldGalleryInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindFieldGalleryInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindFieldGalleryInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindFieldGalleryInfoNotify) ProtoMessage() {}
+
+func (x *WindFieldGalleryInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WindFieldGalleryInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindFieldGalleryInfoNotify.ProtoReflect.Descriptor instead.
+func (*WindFieldGalleryInfoNotify) Descriptor() ([]byte, []int) {
+ return file_WindFieldGalleryInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WindFieldGalleryInfoNotify) GetShowId() uint32 {
+ if x != nil {
+ return x.ShowId
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryInfoNotify) GetKilledMonsterNum() uint32 {
+ if x != nil {
+ return x.KilledMonsterNum
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryInfoNotify) GetCoinNum() uint32 {
+ if x != nil {
+ return x.CoinNum
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryInfoNotify) GetChallengeBallMaxCount() uint32 {
+ if x != nil {
+ return x.ChallengeBallMaxCount
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryInfoNotify) GetChallengeTotalTime() uint32 {
+ if x != nil {
+ return x.ChallengeTotalTime
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryInfoNotify) GetChallengeBallCurCount() uint32 {
+ if x != nil {
+ return x.ChallengeBallCurCount
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryInfoNotify) GetChallengeTimestamp() uint32 {
+ if x != nil {
+ return x.ChallengeTimestamp
+ }
+ return 0
+}
+
+func (x *WindFieldGalleryInfoNotify) GetElementBallNum() uint32 {
+ if x != nil {
+ return x.ElementBallNum
+ }
+ return 0
+}
+
+var File_WindFieldGalleryInfoNotify_proto protoreflect.FileDescriptor
+
+var file_WindFieldGalleryInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x47, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x02, 0x0a, 0x1a, 0x57, 0x69,
+ 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x47, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x6e,
+ 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x68, 0x6f, 0x77,
+ 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x68, 0x6f, 0x77, 0x49,
+ 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x6e, 0x73,
+ 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6b,
+ 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12,
+ 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x6d, 0x61, 0x78,
+ 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68,
+ 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x4d, 0x61, 0x78, 0x43, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65,
+ 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x6f, 0x74, 0x61,
+ 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
+ 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x67, 0x65, 0x42, 0x61, 0x6c, 0x6c, 0x43, 0x75, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f,
+ 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+ 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x68, 0x61,
+ 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
+ 0x28, 0x0a, 0x10, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x6c, 0x5f,
+ 0x6e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x6c, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x6c, 0x4e, 0x75, 0x6d, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WindFieldGalleryInfoNotify_proto_rawDescOnce sync.Once
+ file_WindFieldGalleryInfoNotify_proto_rawDescData = file_WindFieldGalleryInfoNotify_proto_rawDesc
+)
+
+func file_WindFieldGalleryInfoNotify_proto_rawDescGZIP() []byte {
+ file_WindFieldGalleryInfoNotify_proto_rawDescOnce.Do(func() {
+ file_WindFieldGalleryInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindFieldGalleryInfoNotify_proto_rawDescData)
+ })
+ return file_WindFieldGalleryInfoNotify_proto_rawDescData
+}
+
+var file_WindFieldGalleryInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WindFieldGalleryInfoNotify_proto_goTypes = []interface{}{
+ (*WindFieldGalleryInfoNotify)(nil), // 0: proto.WindFieldGalleryInfoNotify
+}
+var file_WindFieldGalleryInfoNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WindFieldGalleryInfoNotify_proto_init() }
+func file_WindFieldGalleryInfoNotify_proto_init() {
+ if File_WindFieldGalleryInfoNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WindFieldGalleryInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindFieldGalleryInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindFieldGalleryInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindFieldGalleryInfoNotify_proto_goTypes,
+ DependencyIndexes: file_WindFieldGalleryInfoNotify_proto_depIdxs,
+ MessageInfos: file_WindFieldGalleryInfoNotify_proto_msgTypes,
+ }.Build()
+ File_WindFieldGalleryInfoNotify_proto = out.File
+ file_WindFieldGalleryInfoNotify_proto_rawDesc = nil
+ file_WindFieldGalleryInfoNotify_proto_goTypes = nil
+ file_WindFieldGalleryInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindFieldRestartDungeonReq.pb.go b/protocol/proto/WindFieldRestartDungeonReq.pb.go
new file mode 100644
index 00000000..285b6251
--- /dev/null
+++ b/protocol/proto/WindFieldRestartDungeonReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindFieldRestartDungeonReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 20731
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WindFieldRestartDungeonReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WindFieldRestartDungeonReq) Reset() {
+ *x = WindFieldRestartDungeonReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindFieldRestartDungeonReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindFieldRestartDungeonReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindFieldRestartDungeonReq) ProtoMessage() {}
+
+func (x *WindFieldRestartDungeonReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WindFieldRestartDungeonReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindFieldRestartDungeonReq.ProtoReflect.Descriptor instead.
+func (*WindFieldRestartDungeonReq) Descriptor() ([]byte, []int) {
+ return file_WindFieldRestartDungeonReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WindFieldRestartDungeonReq_proto protoreflect.FileDescriptor
+
+var file_WindFieldRestartDungeonReq_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1c, 0x0a, 0x1a, 0x57, 0x69, 0x6e,
+ 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WindFieldRestartDungeonReq_proto_rawDescOnce sync.Once
+ file_WindFieldRestartDungeonReq_proto_rawDescData = file_WindFieldRestartDungeonReq_proto_rawDesc
+)
+
+func file_WindFieldRestartDungeonReq_proto_rawDescGZIP() []byte {
+ file_WindFieldRestartDungeonReq_proto_rawDescOnce.Do(func() {
+ file_WindFieldRestartDungeonReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindFieldRestartDungeonReq_proto_rawDescData)
+ })
+ return file_WindFieldRestartDungeonReq_proto_rawDescData
+}
+
+var file_WindFieldRestartDungeonReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WindFieldRestartDungeonReq_proto_goTypes = []interface{}{
+ (*WindFieldRestartDungeonReq)(nil), // 0: proto.WindFieldRestartDungeonReq
+}
+var file_WindFieldRestartDungeonReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WindFieldRestartDungeonReq_proto_init() }
+func file_WindFieldRestartDungeonReq_proto_init() {
+ if File_WindFieldRestartDungeonReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WindFieldRestartDungeonReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindFieldRestartDungeonReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindFieldRestartDungeonReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindFieldRestartDungeonReq_proto_goTypes,
+ DependencyIndexes: file_WindFieldRestartDungeonReq_proto_depIdxs,
+ MessageInfos: file_WindFieldRestartDungeonReq_proto_msgTypes,
+ }.Build()
+ File_WindFieldRestartDungeonReq_proto = out.File
+ file_WindFieldRestartDungeonReq_proto_rawDesc = nil
+ file_WindFieldRestartDungeonReq_proto_goTypes = nil
+ file_WindFieldRestartDungeonReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindFieldRestartDungeonRsp.pb.go b/protocol/proto/WindFieldRestartDungeonRsp.pb.go
new file mode 100644
index 00000000..9e6cb827
--- /dev/null
+++ b/protocol/proto/WindFieldRestartDungeonRsp.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindFieldRestartDungeonRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 24712
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WindFieldRestartDungeonRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,5,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *WindFieldRestartDungeonRsp) Reset() {
+ *x = WindFieldRestartDungeonRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindFieldRestartDungeonRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindFieldRestartDungeonRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindFieldRestartDungeonRsp) ProtoMessage() {}
+
+func (x *WindFieldRestartDungeonRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WindFieldRestartDungeonRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindFieldRestartDungeonRsp.ProtoReflect.Descriptor instead.
+func (*WindFieldRestartDungeonRsp) Descriptor() ([]byte, []int) {
+ return file_WindFieldRestartDungeonRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WindFieldRestartDungeonRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_WindFieldRestartDungeonRsp_proto protoreflect.FileDescriptor
+
+var file_WindFieldRestartDungeonRsp_proto_rawDesc = []byte{
+ 0x0a, 0x20, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x44, 0x75, 0x6e, 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x1a, 0x57, 0x69, 0x6e,
+ 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x75, 0x6e,
+ 0x67, 0x65, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WindFieldRestartDungeonRsp_proto_rawDescOnce sync.Once
+ file_WindFieldRestartDungeonRsp_proto_rawDescData = file_WindFieldRestartDungeonRsp_proto_rawDesc
+)
+
+func file_WindFieldRestartDungeonRsp_proto_rawDescGZIP() []byte {
+ file_WindFieldRestartDungeonRsp_proto_rawDescOnce.Do(func() {
+ file_WindFieldRestartDungeonRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindFieldRestartDungeonRsp_proto_rawDescData)
+ })
+ return file_WindFieldRestartDungeonRsp_proto_rawDescData
+}
+
+var file_WindFieldRestartDungeonRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WindFieldRestartDungeonRsp_proto_goTypes = []interface{}{
+ (*WindFieldRestartDungeonRsp)(nil), // 0: proto.WindFieldRestartDungeonRsp
+}
+var file_WindFieldRestartDungeonRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WindFieldRestartDungeonRsp_proto_init() }
+func file_WindFieldRestartDungeonRsp_proto_init() {
+ if File_WindFieldRestartDungeonRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WindFieldRestartDungeonRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindFieldRestartDungeonRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindFieldRestartDungeonRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindFieldRestartDungeonRsp_proto_goTypes,
+ DependencyIndexes: file_WindFieldRestartDungeonRsp_proto_depIdxs,
+ MessageInfos: file_WindFieldRestartDungeonRsp_proto_msgTypes,
+ }.Build()
+ File_WindFieldRestartDungeonRsp_proto = out.File
+ file_WindFieldRestartDungeonRsp_proto_rawDesc = nil
+ file_WindFieldRestartDungeonRsp_proto_goTypes = nil
+ file_WindFieldRestartDungeonRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindFieldStageInfo.pb.go b/protocol/proto/WindFieldStageInfo.pb.go
new file mode 100644
index 00000000..f46027f2
--- /dev/null
+++ b/protocol/proto/WindFieldStageInfo.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindFieldStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WindFieldStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ IsOpen bool `protobuf:"varint,12,opt,name=is_open,json=isOpen,proto3" json:"is_open,omitempty"`
+ OpenTime uint32 `protobuf:"varint,14,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ StageId uint32 `protobuf:"varint,8,opt,name=stage_id,json=stageId,proto3" json:"stage_id,omitempty"`
+}
+
+func (x *WindFieldStageInfo) Reset() {
+ *x = WindFieldStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindFieldStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindFieldStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindFieldStageInfo) ProtoMessage() {}
+
+func (x *WindFieldStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WindFieldStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindFieldStageInfo.ProtoReflect.Descriptor instead.
+func (*WindFieldStageInfo) Descriptor() ([]byte, []int) {
+ return file_WindFieldStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WindFieldStageInfo) GetIsOpen() bool {
+ if x != nil {
+ return x.IsOpen
+ }
+ return false
+}
+
+func (x *WindFieldStageInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *WindFieldStageInfo) GetStageId() uint32 {
+ if x != nil {
+ return x.StageId
+ }
+ return 0
+}
+
+var File_WindFieldStageInfo_proto protoreflect.FileDescriptor
+
+var file_WindFieldStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x67, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x65, 0x0a, 0x12, 0x57, 0x69, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74,
+ 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6f, 0x70,
+ 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4f, 0x70, 0x65, 0x6e,
+ 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a,
+ 0x08, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x07, 0x73, 0x74, 0x61, 0x67, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WindFieldStageInfo_proto_rawDescOnce sync.Once
+ file_WindFieldStageInfo_proto_rawDescData = file_WindFieldStageInfo_proto_rawDesc
+)
+
+func file_WindFieldStageInfo_proto_rawDescGZIP() []byte {
+ file_WindFieldStageInfo_proto_rawDescOnce.Do(func() {
+ file_WindFieldStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindFieldStageInfo_proto_rawDescData)
+ })
+ return file_WindFieldStageInfo_proto_rawDescData
+}
+
+var file_WindFieldStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WindFieldStageInfo_proto_goTypes = []interface{}{
+ (*WindFieldStageInfo)(nil), // 0: proto.WindFieldStageInfo
+}
+var file_WindFieldStageInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WindFieldStageInfo_proto_init() }
+func file_WindFieldStageInfo_proto_init() {
+ if File_WindFieldStageInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WindFieldStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindFieldStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindFieldStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindFieldStageInfo_proto_goTypes,
+ DependencyIndexes: file_WindFieldStageInfo_proto_depIdxs,
+ MessageInfos: file_WindFieldStageInfo_proto_msgTypes,
+ }.Build()
+ File_WindFieldStageInfo_proto = out.File
+ file_WindFieldStageInfo_proto_rawDesc = nil
+ file_WindFieldStageInfo_proto_goTypes = nil
+ file_WindFieldStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WindSeedClientNotify.pb.go b/protocol/proto/WindSeedClientNotify.pb.go
new file mode 100644
index 00000000..a415f0aa
--- /dev/null
+++ b/protocol/proto/WindSeedClientNotify.pb.go
@@ -0,0 +1,468 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WindSeedClientNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 1199
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WindSeedClientNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Notify:
+ //
+ // *WindSeedClientNotify_RefreshNotify_
+ // *WindSeedClientNotify_AddWindBulletNotify_
+ // *WindSeedClientNotify_AreaNotify_
+ Notify isWindSeedClientNotify_Notify `protobuf_oneof:"notify"`
+}
+
+func (x *WindSeedClientNotify) Reset() {
+ *x = WindSeedClientNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindSeedClientNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindSeedClientNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindSeedClientNotify) ProtoMessage() {}
+
+func (x *WindSeedClientNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WindSeedClientNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindSeedClientNotify.ProtoReflect.Descriptor instead.
+func (*WindSeedClientNotify) Descriptor() ([]byte, []int) {
+ return file_WindSeedClientNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *WindSeedClientNotify) GetNotify() isWindSeedClientNotify_Notify {
+ if m != nil {
+ return m.Notify
+ }
+ return nil
+}
+
+func (x *WindSeedClientNotify) GetRefreshNotify() *WindSeedClientNotify_RefreshNotify {
+ if x, ok := x.GetNotify().(*WindSeedClientNotify_RefreshNotify_); ok {
+ return x.RefreshNotify
+ }
+ return nil
+}
+
+func (x *WindSeedClientNotify) GetAddWindBulletNotify() *WindSeedClientNotify_AddWindBulletNotify {
+ if x, ok := x.GetNotify().(*WindSeedClientNotify_AddWindBulletNotify_); ok {
+ return x.AddWindBulletNotify
+ }
+ return nil
+}
+
+func (x *WindSeedClientNotify) GetAreaNotify() *WindSeedClientNotify_AreaNotify {
+ if x, ok := x.GetNotify().(*WindSeedClientNotify_AreaNotify_); ok {
+ return x.AreaNotify
+ }
+ return nil
+}
+
+type isWindSeedClientNotify_Notify interface {
+ isWindSeedClientNotify_Notify()
+}
+
+type WindSeedClientNotify_RefreshNotify_ struct {
+ RefreshNotify *WindSeedClientNotify_RefreshNotify `protobuf:"bytes,14,opt,name=refresh_notify,json=refreshNotify,proto3,oneof"`
+}
+
+type WindSeedClientNotify_AddWindBulletNotify_ struct {
+ AddWindBulletNotify *WindSeedClientNotify_AddWindBulletNotify `protobuf:"bytes,6,opt,name=add_wind_bullet_notify,json=addWindBulletNotify,proto3,oneof"`
+}
+
+type WindSeedClientNotify_AreaNotify_ struct {
+ AreaNotify *WindSeedClientNotify_AreaNotify `protobuf:"bytes,4,opt,name=area_notify,json=areaNotify,proto3,oneof"`
+}
+
+func (*WindSeedClientNotify_RefreshNotify_) isWindSeedClientNotify_Notify() {}
+
+func (*WindSeedClientNotify_AddWindBulletNotify_) isWindSeedClientNotify_Notify() {}
+
+func (*WindSeedClientNotify_AreaNotify_) isWindSeedClientNotify_Notify() {}
+
+type WindSeedClientNotify_RefreshNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RefreshNum uint32 `protobuf:"varint,9,opt,name=refresh_num,json=refreshNum,proto3" json:"refresh_num,omitempty"`
+}
+
+func (x *WindSeedClientNotify_RefreshNotify) Reset() {
+ *x = WindSeedClientNotify_RefreshNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindSeedClientNotify_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindSeedClientNotify_RefreshNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindSeedClientNotify_RefreshNotify) ProtoMessage() {}
+
+func (x *WindSeedClientNotify_RefreshNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WindSeedClientNotify_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindSeedClientNotify_RefreshNotify.ProtoReflect.Descriptor instead.
+func (*WindSeedClientNotify_RefreshNotify) Descriptor() ([]byte, []int) {
+ return file_WindSeedClientNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *WindSeedClientNotify_RefreshNotify) GetRefreshNum() uint32 {
+ if x != nil {
+ return x.RefreshNum
+ }
+ return 0
+}
+
+type WindSeedClientNotify_AddWindBulletNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ SeedPos *Vector `protobuf:"bytes,6,opt,name=seed_pos,json=seedPos,proto3" json:"seed_pos,omitempty"`
+ CatchPlayerUid uint32 `protobuf:"varint,8,opt,name=catch_player_uid,json=catchPlayerUid,proto3" json:"catch_player_uid,omitempty"`
+ SeedEntityId uint32 `protobuf:"varint,7,opt,name=seed_entity_id,json=seedEntityId,proto3" json:"seed_entity_id,omitempty"`
+}
+
+func (x *WindSeedClientNotify_AddWindBulletNotify) Reset() {
+ *x = WindSeedClientNotify_AddWindBulletNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindSeedClientNotify_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindSeedClientNotify_AddWindBulletNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindSeedClientNotify_AddWindBulletNotify) ProtoMessage() {}
+
+func (x *WindSeedClientNotify_AddWindBulletNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WindSeedClientNotify_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindSeedClientNotify_AddWindBulletNotify.ProtoReflect.Descriptor instead.
+func (*WindSeedClientNotify_AddWindBulletNotify) Descriptor() ([]byte, []int) {
+ return file_WindSeedClientNotify_proto_rawDescGZIP(), []int{0, 1}
+}
+
+func (x *WindSeedClientNotify_AddWindBulletNotify) GetSeedPos() *Vector {
+ if x != nil {
+ return x.SeedPos
+ }
+ return nil
+}
+
+func (x *WindSeedClientNotify_AddWindBulletNotify) GetCatchPlayerUid() uint32 {
+ if x != nil {
+ return x.CatchPlayerUid
+ }
+ return 0
+}
+
+func (x *WindSeedClientNotify_AddWindBulletNotify) GetSeedEntityId() uint32 {
+ if x != nil {
+ return x.SeedEntityId
+ }
+ return 0
+}
+
+type WindSeedClientNotify_AreaNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AreaCode []byte `protobuf:"bytes,5,opt,name=area_code,json=areaCode,proto3" json:"area_code,omitempty"`
+ AreaId uint32 `protobuf:"varint,10,opt,name=area_id,json=areaId,proto3" json:"area_id,omitempty"`
+ AreaType uint32 `protobuf:"varint,7,opt,name=area_type,json=areaType,proto3" json:"area_type,omitempty"`
+}
+
+func (x *WindSeedClientNotify_AreaNotify) Reset() {
+ *x = WindSeedClientNotify_AreaNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WindSeedClientNotify_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WindSeedClientNotify_AreaNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WindSeedClientNotify_AreaNotify) ProtoMessage() {}
+
+func (x *WindSeedClientNotify_AreaNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WindSeedClientNotify_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WindSeedClientNotify_AreaNotify.ProtoReflect.Descriptor instead.
+func (*WindSeedClientNotify_AreaNotify) Descriptor() ([]byte, []int) {
+ return file_WindSeedClientNotify_proto_rawDescGZIP(), []int{0, 2}
+}
+
+func (x *WindSeedClientNotify_AreaNotify) GetAreaCode() []byte {
+ if x != nil {
+ return x.AreaCode
+ }
+ return nil
+}
+
+func (x *WindSeedClientNotify_AreaNotify) GetAreaId() uint32 {
+ if x != nil {
+ return x.AreaId
+ }
+ return 0
+}
+
+func (x *WindSeedClientNotify_AreaNotify) GetAreaType() uint32 {
+ if x != nil {
+ return x.AreaType
+ }
+ return 0
+}
+
+var File_WindSeedClientNotify_proto protoreflect.FileDescriptor
+
+var file_WindSeedClientNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xcc, 0x04, 0x0a, 0x14, 0x57, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x52, 0x0a, 0x0e, 0x72, 0x65,
+ 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x53,
+ 0x65, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x00, 0x52,
+ 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x66,
+ 0x0a, 0x16, 0x61, 0x64, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x6c, 0x6c, 0x65,
+ 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x41, 0x64, 0x64, 0x57,
+ 0x69, 0x6e, 0x64, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48,
+ 0x00, 0x52, 0x13, 0x61, 0x64, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x42, 0x75, 0x6c, 0x6c, 0x65, 0x74,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x6e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x64, 0x43, 0x6c, 0x69, 0x65,
+ 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x41, 0x72, 0x65, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x72, 0x65, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x1a, 0x30, 0x0a, 0x0d, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6e, 0x75,
+ 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
+ 0x4e, 0x75, 0x6d, 0x1a, 0x8f, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x42,
+ 0x75, 0x6c, 0x6c, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x08, 0x73,
+ 0x65, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x07, 0x73, 0x65,
+ 0x65, 0x64, 0x50, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70,
+ 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0e, 0x63, 0x61, 0x74, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x69, 0x64, 0x12,
+ 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x65, 0x65, 0x64, 0x45, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x49, 0x64, 0x1a, 0x5f, 0x0a, 0x0a, 0x41, 0x72, 0x65, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, 0x65,
+ 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x06, 0x61, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x72, 0x65,
+ 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x72,
+ 0x65, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WindSeedClientNotify_proto_rawDescOnce sync.Once
+ file_WindSeedClientNotify_proto_rawDescData = file_WindSeedClientNotify_proto_rawDesc
+)
+
+func file_WindSeedClientNotify_proto_rawDescGZIP() []byte {
+ file_WindSeedClientNotify_proto_rawDescOnce.Do(func() {
+ file_WindSeedClientNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WindSeedClientNotify_proto_rawDescData)
+ })
+ return file_WindSeedClientNotify_proto_rawDescData
+}
+
+var file_WindSeedClientNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
+var file_WindSeedClientNotify_proto_goTypes = []interface{}{
+ (*WindSeedClientNotify)(nil), // 0: proto.WindSeedClientNotify
+ (*WindSeedClientNotify_RefreshNotify)(nil), // 1: proto.WindSeedClientNotify.RefreshNotify
+ (*WindSeedClientNotify_AddWindBulletNotify)(nil), // 2: proto.WindSeedClientNotify.AddWindBulletNotify
+ (*WindSeedClientNotify_AreaNotify)(nil), // 3: proto.WindSeedClientNotify.AreaNotify
+ (*Vector)(nil), // 4: proto.Vector
+}
+var file_WindSeedClientNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WindSeedClientNotify.refresh_notify:type_name -> proto.WindSeedClientNotify.RefreshNotify
+ 2, // 1: proto.WindSeedClientNotify.add_wind_bullet_notify:type_name -> proto.WindSeedClientNotify.AddWindBulletNotify
+ 3, // 2: proto.WindSeedClientNotify.area_notify:type_name -> proto.WindSeedClientNotify.AreaNotify
+ 4, // 3: proto.WindSeedClientNotify.AddWindBulletNotify.seed_pos:type_name -> proto.Vector
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_WindSeedClientNotify_proto_init() }
+func file_WindSeedClientNotify_proto_init() {
+ if File_WindSeedClientNotify_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WindSeedClientNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindSeedClientNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_WindSeedClientNotify_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindSeedClientNotify_RefreshNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_WindSeedClientNotify_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindSeedClientNotify_AddWindBulletNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_WindSeedClientNotify_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WindSeedClientNotify_AreaNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_WindSeedClientNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*WindSeedClientNotify_RefreshNotify_)(nil),
+ (*WindSeedClientNotify_AddWindBulletNotify_)(nil),
+ (*WindSeedClientNotify_AreaNotify_)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WindSeedClientNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 4,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WindSeedClientNotify_proto_goTypes,
+ DependencyIndexes: file_WindSeedClientNotify_proto_depIdxs,
+ MessageInfos: file_WindSeedClientNotify_proto_msgTypes,
+ }.Build()
+ File_WindSeedClientNotify_proto = out.File
+ file_WindSeedClientNotify_proto_rawDesc = nil
+ file_WindSeedClientNotify_proto_goTypes = nil
+ file_WindSeedClientNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampAcceptAllGiveItemReq.pb.go b/protocol/proto/WinterCampAcceptAllGiveItemReq.pb.go
new file mode 100644
index 00000000..a18e936e
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptAllGiveItemReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampAcceptAllGiveItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 9000
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampAcceptAllGiveItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WinterCampAcceptAllGiveItemReq) Reset() {
+ *x = WinterCampAcceptAllGiveItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampAcceptAllGiveItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampAcceptAllGiveItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampAcceptAllGiveItemReq) ProtoMessage() {}
+
+func (x *WinterCampAcceptAllGiveItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampAcceptAllGiveItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampAcceptAllGiveItemReq.ProtoReflect.Descriptor instead.
+func (*WinterCampAcceptAllGiveItemReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampAcceptAllGiveItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WinterCampAcceptAllGiveItemReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampAcceptAllGiveItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65, 0x70,
+ 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampAcceptAllGiveItemReq_proto_rawDescOnce sync.Once
+ file_WinterCampAcceptAllGiveItemReq_proto_rawDescData = file_WinterCampAcceptAllGiveItemReq_proto_rawDesc
+)
+
+func file_WinterCampAcceptAllGiveItemReq_proto_rawDescGZIP() []byte {
+ file_WinterCampAcceptAllGiveItemReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampAcceptAllGiveItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampAcceptAllGiveItemReq_proto_rawDescData)
+ })
+ return file_WinterCampAcceptAllGiveItemReq_proto_rawDescData
+}
+
+var file_WinterCampAcceptAllGiveItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampAcceptAllGiveItemReq_proto_goTypes = []interface{}{
+ (*WinterCampAcceptAllGiveItemReq)(nil), // 0: proto.WinterCampAcceptAllGiveItemReq
+}
+var file_WinterCampAcceptAllGiveItemReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampAcceptAllGiveItemReq_proto_init() }
+func file_WinterCampAcceptAllGiveItemReq_proto_init() {
+ if File_WinterCampAcceptAllGiveItemReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampAcceptAllGiveItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampAcceptAllGiveItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampAcceptAllGiveItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampAcceptAllGiveItemReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampAcceptAllGiveItemReq_proto_depIdxs,
+ MessageInfos: file_WinterCampAcceptAllGiveItemReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampAcceptAllGiveItemReq_proto = out.File
+ file_WinterCampAcceptAllGiveItemReq_proto_rawDesc = nil
+ file_WinterCampAcceptAllGiveItemReq_proto_goTypes = nil
+ file_WinterCampAcceptAllGiveItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampAcceptAllGiveItemRsp.pb.go b/protocol/proto/WinterCampAcceptAllGiveItemRsp.pb.go
new file mode 100644
index 00000000..69dabb60
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptAllGiveItemRsp.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampAcceptAllGiveItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8626
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampAcceptAllGiveItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AcceptItemResultInfo []*WinterCampAcceptItemResultInfo `protobuf:"bytes,14,rep,name=accept_item_result_info,json=acceptItemResultInfo,proto3" json:"accept_item_result_info,omitempty"`
+}
+
+func (x *WinterCampAcceptAllGiveItemRsp) Reset() {
+ *x = WinterCampAcceptAllGiveItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampAcceptAllGiveItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampAcceptAllGiveItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampAcceptAllGiveItemRsp) ProtoMessage() {}
+
+func (x *WinterCampAcceptAllGiveItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampAcceptAllGiveItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampAcceptAllGiveItemRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampAcceptAllGiveItemRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampAcceptAllGiveItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampAcceptAllGiveItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WinterCampAcceptAllGiveItemRsp) GetAcceptItemResultInfo() []*WinterCampAcceptItemResultInfo {
+ if x != nil {
+ return x.AcceptItemResultInfo
+ }
+ return nil
+}
+
+var File_WinterCampAcceptAllGiveItemRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampAcceptAllGiveItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x57,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49,
+ 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x98, 0x01, 0x0a, 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61,
+ 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x41, 0x6c, 0x6c, 0x47, 0x69, 0x76, 0x65, 0x49,
+ 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x12, 0x5c, 0x0a, 0x17, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74,
+ 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampAcceptAllGiveItemRsp_proto_rawDescOnce sync.Once
+ file_WinterCampAcceptAllGiveItemRsp_proto_rawDescData = file_WinterCampAcceptAllGiveItemRsp_proto_rawDesc
+)
+
+func file_WinterCampAcceptAllGiveItemRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampAcceptAllGiveItemRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampAcceptAllGiveItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampAcceptAllGiveItemRsp_proto_rawDescData)
+ })
+ return file_WinterCampAcceptAllGiveItemRsp_proto_rawDescData
+}
+
+var file_WinterCampAcceptAllGiveItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampAcceptAllGiveItemRsp_proto_goTypes = []interface{}{
+ (*WinterCampAcceptAllGiveItemRsp)(nil), // 0: proto.WinterCampAcceptAllGiveItemRsp
+ (*WinterCampAcceptItemResultInfo)(nil), // 1: proto.WinterCampAcceptItemResultInfo
+}
+var file_WinterCampAcceptAllGiveItemRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampAcceptAllGiveItemRsp.accept_item_result_info:type_name -> proto.WinterCampAcceptItemResultInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampAcceptAllGiveItemRsp_proto_init() }
+func file_WinterCampAcceptAllGiveItemRsp_proto_init() {
+ if File_WinterCampAcceptAllGiveItemRsp_proto != nil {
+ return
+ }
+ file_WinterCampAcceptItemResultInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampAcceptAllGiveItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampAcceptAllGiveItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampAcceptAllGiveItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampAcceptAllGiveItemRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampAcceptAllGiveItemRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampAcceptAllGiveItemRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampAcceptAllGiveItemRsp_proto = out.File
+ file_WinterCampAcceptAllGiveItemRsp_proto_rawDesc = nil
+ file_WinterCampAcceptAllGiveItemRsp_proto_goTypes = nil
+ file_WinterCampAcceptAllGiveItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampAcceptGiveItemReq.pb.go b/protocol/proto/WinterCampAcceptGiveItemReq.pb.go
new file mode 100644
index 00000000..87e8433c
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptGiveItemReq.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampAcceptGiveItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8387
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampAcceptGiveItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,11,opt,name=uid,proto3" json:"uid,omitempty"`
+}
+
+func (x *WinterCampAcceptGiveItemReq) Reset() {
+ *x = WinterCampAcceptGiveItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampAcceptGiveItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampAcceptGiveItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampAcceptGiveItemReq) ProtoMessage() {}
+
+func (x *WinterCampAcceptGiveItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampAcceptGiveItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampAcceptGiveItemReq.ProtoReflect.Descriptor instead.
+func (*WinterCampAcceptGiveItemReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampAcceptGiveItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampAcceptGiveItemReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+var File_WinterCampAcceptGiveItemReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampAcceptGiveItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x1b, 0x57, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69,
+ 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampAcceptGiveItemReq_proto_rawDescOnce sync.Once
+ file_WinterCampAcceptGiveItemReq_proto_rawDescData = file_WinterCampAcceptGiveItemReq_proto_rawDesc
+)
+
+func file_WinterCampAcceptGiveItemReq_proto_rawDescGZIP() []byte {
+ file_WinterCampAcceptGiveItemReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampAcceptGiveItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampAcceptGiveItemReq_proto_rawDescData)
+ })
+ return file_WinterCampAcceptGiveItemReq_proto_rawDescData
+}
+
+var file_WinterCampAcceptGiveItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampAcceptGiveItemReq_proto_goTypes = []interface{}{
+ (*WinterCampAcceptGiveItemReq)(nil), // 0: proto.WinterCampAcceptGiveItemReq
+}
+var file_WinterCampAcceptGiveItemReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampAcceptGiveItemReq_proto_init() }
+func file_WinterCampAcceptGiveItemReq_proto_init() {
+ if File_WinterCampAcceptGiveItemReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampAcceptGiveItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampAcceptGiveItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampAcceptGiveItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampAcceptGiveItemReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampAcceptGiveItemReq_proto_depIdxs,
+ MessageInfos: file_WinterCampAcceptGiveItemReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampAcceptGiveItemReq_proto = out.File
+ file_WinterCampAcceptGiveItemReq_proto_rawDesc = nil
+ file_WinterCampAcceptGiveItemReq_proto_goTypes = nil
+ file_WinterCampAcceptGiveItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampAcceptGiveItemRsp.pb.go b/protocol/proto/WinterCampAcceptGiveItemRsp.pb.go
new file mode 100644
index 00000000..e3326f89
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptGiveItemRsp.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampAcceptGiveItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8185
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampAcceptGiveItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,14,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ AcceptItemResultInfo *WinterCampAcceptItemResultInfo `protobuf:"bytes,3,opt,name=accept_item_result_info,json=acceptItemResultInfo,proto3" json:"accept_item_result_info,omitempty"`
+}
+
+func (x *WinterCampAcceptGiveItemRsp) Reset() {
+ *x = WinterCampAcceptGiveItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampAcceptGiveItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampAcceptGiveItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampAcceptGiveItemRsp) ProtoMessage() {}
+
+func (x *WinterCampAcceptGiveItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampAcceptGiveItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampAcceptGiveItemRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampAcceptGiveItemRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampAcceptGiveItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampAcceptGiveItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WinterCampAcceptGiveItemRsp) GetAcceptItemResultInfo() *WinterCampAcceptItemResultInfo {
+ if x != nil {
+ return x.AcceptItemResultInfo
+ }
+ return nil
+}
+
+var File_WinterCampAcceptGiveItemRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampAcceptGiveItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x57, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49, 0x74, 0x65, 0x6d,
+ 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x95, 0x01, 0x0a, 0x1b, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41,
+ 0x63, 0x63, 0x65, 0x70, 0x74, 0x47, 0x69, 0x76, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x5c, 0x0a, 0x17, 0x61, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63,
+ 0x63, 0x65, 0x70, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x14, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65,
+ 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampAcceptGiveItemRsp_proto_rawDescOnce sync.Once
+ file_WinterCampAcceptGiveItemRsp_proto_rawDescData = file_WinterCampAcceptGiveItemRsp_proto_rawDesc
+)
+
+func file_WinterCampAcceptGiveItemRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampAcceptGiveItemRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampAcceptGiveItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampAcceptGiveItemRsp_proto_rawDescData)
+ })
+ return file_WinterCampAcceptGiveItemRsp_proto_rawDescData
+}
+
+var file_WinterCampAcceptGiveItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampAcceptGiveItemRsp_proto_goTypes = []interface{}{
+ (*WinterCampAcceptGiveItemRsp)(nil), // 0: proto.WinterCampAcceptGiveItemRsp
+ (*WinterCampAcceptItemResultInfo)(nil), // 1: proto.WinterCampAcceptItemResultInfo
+}
+var file_WinterCampAcceptGiveItemRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampAcceptGiveItemRsp.accept_item_result_info:type_name -> proto.WinterCampAcceptItemResultInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampAcceptGiveItemRsp_proto_init() }
+func file_WinterCampAcceptGiveItemRsp_proto_init() {
+ if File_WinterCampAcceptGiveItemRsp_proto != nil {
+ return
+ }
+ file_WinterCampAcceptItemResultInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampAcceptGiveItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampAcceptGiveItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampAcceptGiveItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampAcceptGiveItemRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampAcceptGiveItemRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampAcceptGiveItemRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampAcceptGiveItemRsp_proto = out.File
+ file_WinterCampAcceptGiveItemRsp_proto_rawDesc = nil
+ file_WinterCampAcceptGiveItemRsp_proto_goTypes = nil
+ file_WinterCampAcceptGiveItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampAcceptItemResultInfo.pb.go b/protocol/proto/WinterCampAcceptItemResultInfo.pb.go
new file mode 100644
index 00000000..527d1768
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptItemResultInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampAcceptItemResultInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WinterCampAcceptItemResultInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ AcceptItemList []*ItemParam `protobuf:"bytes,2,rep,name=accept_item_list,json=acceptItemList,proto3" json:"accept_item_list,omitempty"`
+ Uid uint32 `protobuf:"varint,6,opt,name=uid,proto3" json:"uid,omitempty"`
+ UnacceptItemList []*ItemParam `protobuf:"bytes,9,rep,name=unaccept_item_list,json=unacceptItemList,proto3" json:"unaccept_item_list,omitempty"`
+}
+
+func (x *WinterCampAcceptItemResultInfo) Reset() {
+ *x = WinterCampAcceptItemResultInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampAcceptItemResultInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampAcceptItemResultInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampAcceptItemResultInfo) ProtoMessage() {}
+
+func (x *WinterCampAcceptItemResultInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampAcceptItemResultInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampAcceptItemResultInfo.ProtoReflect.Descriptor instead.
+func (*WinterCampAcceptItemResultInfo) Descriptor() ([]byte, []int) {
+ return file_WinterCampAcceptItemResultInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampAcceptItemResultInfo) GetAcceptItemList() []*ItemParam {
+ if x != nil {
+ return x.AcceptItemList
+ }
+ return nil
+}
+
+func (x *WinterCampAcceptItemResultInfo) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *WinterCampAcceptItemResultInfo) GetUnacceptItemList() []*ItemParam {
+ if x != nil {
+ return x.UnacceptItemList
+ }
+ return nil
+}
+
+var File_WinterCampAcceptItemResultInfo_proto protoreflect.FileDescriptor
+
+var file_WinterCampAcceptItemResultInfo_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63, 0x65,
+ 0x70, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49,
+ 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae,
+ 0x01, 0x0a, 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x63,
+ 0x65, 0x70, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x66,
+ 0x6f, 0x12, 0x3a, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0e, 0x61,
+ 0x63, 0x63, 0x65, 0x70, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x10, 0x0a,
+ 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12,
+ 0x3e, 0x0a, 0x12, 0x75, 0x6e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x10, 0x75,
+ 0x6e, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampAcceptItemResultInfo_proto_rawDescOnce sync.Once
+ file_WinterCampAcceptItemResultInfo_proto_rawDescData = file_WinterCampAcceptItemResultInfo_proto_rawDesc
+)
+
+func file_WinterCampAcceptItemResultInfo_proto_rawDescGZIP() []byte {
+ file_WinterCampAcceptItemResultInfo_proto_rawDescOnce.Do(func() {
+ file_WinterCampAcceptItemResultInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampAcceptItemResultInfo_proto_rawDescData)
+ })
+ return file_WinterCampAcceptItemResultInfo_proto_rawDescData
+}
+
+var file_WinterCampAcceptItemResultInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampAcceptItemResultInfo_proto_goTypes = []interface{}{
+ (*WinterCampAcceptItemResultInfo)(nil), // 0: proto.WinterCampAcceptItemResultInfo
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_WinterCampAcceptItemResultInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampAcceptItemResultInfo.accept_item_list:type_name -> proto.ItemParam
+ 1, // 1: proto.WinterCampAcceptItemResultInfo.unaccept_item_list:type_name -> proto.ItemParam
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampAcceptItemResultInfo_proto_init() }
+func file_WinterCampAcceptItemResultInfo_proto_init() {
+ if File_WinterCampAcceptItemResultInfo_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampAcceptItemResultInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampAcceptItemResultInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampAcceptItemResultInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampAcceptItemResultInfo_proto_goTypes,
+ DependencyIndexes: file_WinterCampAcceptItemResultInfo_proto_depIdxs,
+ MessageInfos: file_WinterCampAcceptItemResultInfo_proto_msgTypes,
+ }.Build()
+ File_WinterCampAcceptItemResultInfo_proto = out.File
+ file_WinterCampAcceptItemResultInfo_proto_rawDesc = nil
+ file_WinterCampAcceptItemResultInfo_proto_goTypes = nil
+ file_WinterCampAcceptItemResultInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampActivityDetailInfo.pb.go b/protocol/proto/WinterCampActivityDetailInfo.pb.go
new file mode 100644
index 00000000..897cdb8b
--- /dev/null
+++ b/protocol/proto/WinterCampActivityDetailInfo.pb.go
@@ -0,0 +1,257 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampActivityDetailInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WinterCampActivityDetailInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RaceInfoList []*WinterCampRaceStageInfo `protobuf:"bytes,9,rep,name=race_info_list,json=raceInfoList,proto3" json:"race_info_list,omitempty"`
+ BattleInfo *WinterCampStageInfo `protobuf:"bytes,10,opt,name=battle_info,json=battleInfo,proto3" json:"battle_info,omitempty"`
+ WishIdList []uint32 `protobuf:"varint,8,rep,packed,name=wish_id_list,json=wishIdList,proto3" json:"wish_id_list,omitempty"`
+ BattleTakenRewardList []uint32 `protobuf:"varint,14,rep,packed,name=battle_taken_reward_list,json=battleTakenRewardList,proto3" json:"battle_taken_reward_list,omitempty"`
+ ExploreTakenRewardList []uint32 `protobuf:"varint,6,rep,packed,name=explore_taken_reward_list,json=exploreTakenRewardList,proto3" json:"explore_taken_reward_list,omitempty"`
+ IsContentClosed bool `protobuf:"varint,15,opt,name=is_content_closed,json=isContentClosed,proto3" json:"is_content_closed,omitempty"`
+ ExploreInfo *WinterCampStageInfo `protobuf:"bytes,11,opt,name=explore_info,json=exploreInfo,proto3" json:"explore_info,omitempty"`
+ UsedItemList []*ItemParam `protobuf:"bytes,2,rep,name=used_item_list,json=usedItemList,proto3" json:"used_item_list,omitempty"`
+}
+
+func (x *WinterCampActivityDetailInfo) Reset() {
+ *x = WinterCampActivityDetailInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampActivityDetailInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampActivityDetailInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampActivityDetailInfo) ProtoMessage() {}
+
+func (x *WinterCampActivityDetailInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampActivityDetailInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampActivityDetailInfo.ProtoReflect.Descriptor instead.
+func (*WinterCampActivityDetailInfo) Descriptor() ([]byte, []int) {
+ return file_WinterCampActivityDetailInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampActivityDetailInfo) GetRaceInfoList() []*WinterCampRaceStageInfo {
+ if x != nil {
+ return x.RaceInfoList
+ }
+ return nil
+}
+
+func (x *WinterCampActivityDetailInfo) GetBattleInfo() *WinterCampStageInfo {
+ if x != nil {
+ return x.BattleInfo
+ }
+ return nil
+}
+
+func (x *WinterCampActivityDetailInfo) GetWishIdList() []uint32 {
+ if x != nil {
+ return x.WishIdList
+ }
+ return nil
+}
+
+func (x *WinterCampActivityDetailInfo) GetBattleTakenRewardList() []uint32 {
+ if x != nil {
+ return x.BattleTakenRewardList
+ }
+ return nil
+}
+
+func (x *WinterCampActivityDetailInfo) GetExploreTakenRewardList() []uint32 {
+ if x != nil {
+ return x.ExploreTakenRewardList
+ }
+ return nil
+}
+
+func (x *WinterCampActivityDetailInfo) GetIsContentClosed() bool {
+ if x != nil {
+ return x.IsContentClosed
+ }
+ return false
+}
+
+func (x *WinterCampActivityDetailInfo) GetExploreInfo() *WinterCampStageInfo {
+ if x != nil {
+ return x.ExploreInfo
+ }
+ return nil
+}
+
+func (x *WinterCampActivityDetailInfo) GetUsedItemList() []*ItemParam {
+ if x != nil {
+ return x.UsedItemList
+ }
+ return nil
+}
+
+var File_WinterCampActivityDetailInfo_proto protoreflect.FileDescriptor
+
+var file_WinterCampActivityDetailInfo_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69,
+ 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65,
+ 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x57, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x57, 0x69, 0x6e,
+ 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a, 0x1c, 0x57, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x43, 0x61, 0x6d, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x0e, 0x72, 0x61, 0x63, 0x65, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61,
+ 0x6d, 0x70, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0c, 0x72, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a,
+ 0x0b, 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a,
+ 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x77, 0x69,
+ 0x73, 0x68, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d,
+ 0x52, 0x0a, 0x77, 0x69, 0x73, 0x68, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x18,
+ 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77,
+ 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x15,
+ 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65,
+ 0x5f, 0x74, 0x61, 0x6b, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x16, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72,
+ 0x65, 0x54, 0x61, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74,
+ 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63,
+ 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x43,
+ 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c,
+ 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b,
+ 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x0e, 0x75,
+ 0x73, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampActivityDetailInfo_proto_rawDescOnce sync.Once
+ file_WinterCampActivityDetailInfo_proto_rawDescData = file_WinterCampActivityDetailInfo_proto_rawDesc
+)
+
+func file_WinterCampActivityDetailInfo_proto_rawDescGZIP() []byte {
+ file_WinterCampActivityDetailInfo_proto_rawDescOnce.Do(func() {
+ file_WinterCampActivityDetailInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampActivityDetailInfo_proto_rawDescData)
+ })
+ return file_WinterCampActivityDetailInfo_proto_rawDescData
+}
+
+var file_WinterCampActivityDetailInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampActivityDetailInfo_proto_goTypes = []interface{}{
+ (*WinterCampActivityDetailInfo)(nil), // 0: proto.WinterCampActivityDetailInfo
+ (*WinterCampRaceStageInfo)(nil), // 1: proto.WinterCampRaceStageInfo
+ (*WinterCampStageInfo)(nil), // 2: proto.WinterCampStageInfo
+ (*ItemParam)(nil), // 3: proto.ItemParam
+}
+var file_WinterCampActivityDetailInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampActivityDetailInfo.race_info_list:type_name -> proto.WinterCampRaceStageInfo
+ 2, // 1: proto.WinterCampActivityDetailInfo.battle_info:type_name -> proto.WinterCampStageInfo
+ 2, // 2: proto.WinterCampActivityDetailInfo.explore_info:type_name -> proto.WinterCampStageInfo
+ 3, // 3: proto.WinterCampActivityDetailInfo.used_item_list:type_name -> proto.ItemParam
+ 4, // [4:4] is the sub-list for method output_type
+ 4, // [4:4] is the sub-list for method input_type
+ 4, // [4:4] is the sub-list for extension type_name
+ 4, // [4:4] is the sub-list for extension extendee
+ 0, // [0:4] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampActivityDetailInfo_proto_init() }
+func file_WinterCampActivityDetailInfo_proto_init() {
+ if File_WinterCampActivityDetailInfo_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ file_WinterCampRaceStageInfo_proto_init()
+ file_WinterCampStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampActivityDetailInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampActivityDetailInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampActivityDetailInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampActivityDetailInfo_proto_goTypes,
+ DependencyIndexes: file_WinterCampActivityDetailInfo_proto_depIdxs,
+ MessageInfos: file_WinterCampActivityDetailInfo_proto_msgTypes,
+ }.Build()
+ File_WinterCampActivityDetailInfo_proto = out.File
+ file_WinterCampActivityDetailInfo_proto_rawDesc = nil
+ file_WinterCampActivityDetailInfo_proto_goTypes = nil
+ file_WinterCampActivityDetailInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampEditSnowmanCombinationReq.pb.go b/protocol/proto/WinterCampEditSnowmanCombinationReq.pb.go
new file mode 100644
index 00000000..1a21915d
--- /dev/null
+++ b/protocol/proto/WinterCampEditSnowmanCombinationReq.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampEditSnowmanCombinationReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8144
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampEditSnowmanCombinationReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EntityId uint32 `protobuf:"varint,9,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ CombinationInfo *CustomGadgetTreeInfo `protobuf:"bytes,6,opt,name=combination_info,json=combinationInfo,proto3" json:"combination_info,omitempty"`
+}
+
+func (x *WinterCampEditSnowmanCombinationReq) Reset() {
+ *x = WinterCampEditSnowmanCombinationReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampEditSnowmanCombinationReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampEditSnowmanCombinationReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampEditSnowmanCombinationReq) ProtoMessage() {}
+
+func (x *WinterCampEditSnowmanCombinationReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampEditSnowmanCombinationReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampEditSnowmanCombinationReq.ProtoReflect.Descriptor instead.
+func (*WinterCampEditSnowmanCombinationReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampEditSnowmanCombinationReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampEditSnowmanCombinationReq) GetEntityId() uint32 {
+ if x != nil {
+ return x.EntityId
+ }
+ return 0
+}
+
+func (x *WinterCampEditSnowmanCombinationReq) GetCombinationInfo() *CustomGadgetTreeInfo {
+ if x != nil {
+ return x.CombinationInfo
+ }
+ return nil
+}
+
+var File_WinterCampEditSnowmanCombinationReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampEditSnowmanCombinationReq_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x45, 0x64, 0x69, 0x74,
+ 0x53, 0x6e, 0x6f, 0x77, 0x6d, 0x61, 0x6e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1a, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67, 0x65, 0x74,
+ 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a,
+ 0x01, 0x0a, 0x23, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x45, 0x64, 0x69,
+ 0x74, 0x53, 0x6e, 0x6f, 0x77, 0x6d, 0x61, 0x6e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
+ 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x47, 0x61, 0x64, 0x67,
+ 0x65, 0x74, 0x54, 0x72, 0x65, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x62,
+ 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampEditSnowmanCombinationReq_proto_rawDescOnce sync.Once
+ file_WinterCampEditSnowmanCombinationReq_proto_rawDescData = file_WinterCampEditSnowmanCombinationReq_proto_rawDesc
+)
+
+func file_WinterCampEditSnowmanCombinationReq_proto_rawDescGZIP() []byte {
+ file_WinterCampEditSnowmanCombinationReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampEditSnowmanCombinationReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampEditSnowmanCombinationReq_proto_rawDescData)
+ })
+ return file_WinterCampEditSnowmanCombinationReq_proto_rawDescData
+}
+
+var file_WinterCampEditSnowmanCombinationReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampEditSnowmanCombinationReq_proto_goTypes = []interface{}{
+ (*WinterCampEditSnowmanCombinationReq)(nil), // 0: proto.WinterCampEditSnowmanCombinationReq
+ (*CustomGadgetTreeInfo)(nil), // 1: proto.CustomGadgetTreeInfo
+}
+var file_WinterCampEditSnowmanCombinationReq_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampEditSnowmanCombinationReq.combination_info:type_name -> proto.CustomGadgetTreeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampEditSnowmanCombinationReq_proto_init() }
+func file_WinterCampEditSnowmanCombinationReq_proto_init() {
+ if File_WinterCampEditSnowmanCombinationReq_proto != nil {
+ return
+ }
+ file_CustomGadgetTreeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampEditSnowmanCombinationReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampEditSnowmanCombinationReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampEditSnowmanCombinationReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampEditSnowmanCombinationReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampEditSnowmanCombinationReq_proto_depIdxs,
+ MessageInfos: file_WinterCampEditSnowmanCombinationReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampEditSnowmanCombinationReq_proto = out.File
+ file_WinterCampEditSnowmanCombinationReq_proto_rawDesc = nil
+ file_WinterCampEditSnowmanCombinationReq_proto_goTypes = nil
+ file_WinterCampEditSnowmanCombinationReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampEditSnowmanCombinationRsp.pb.go b/protocol/proto/WinterCampEditSnowmanCombinationRsp.pb.go
new file mode 100644
index 00000000..bd2f541a
--- /dev/null
+++ b/protocol/proto/WinterCampEditSnowmanCombinationRsp.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampEditSnowmanCombinationRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8142
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampEditSnowmanCombinationRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *WinterCampEditSnowmanCombinationRsp) Reset() {
+ *x = WinterCampEditSnowmanCombinationRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampEditSnowmanCombinationRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampEditSnowmanCombinationRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampEditSnowmanCombinationRsp) ProtoMessage() {}
+
+func (x *WinterCampEditSnowmanCombinationRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampEditSnowmanCombinationRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampEditSnowmanCombinationRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampEditSnowmanCombinationRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampEditSnowmanCombinationRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampEditSnowmanCombinationRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_WinterCampEditSnowmanCombinationRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampEditSnowmanCombinationRsp_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x45, 0x64, 0x69, 0x74,
+ 0x53, 0x6e, 0x6f, 0x77, 0x6d, 0x61, 0x6e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x23, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70,
+ 0x45, 0x64, 0x69, 0x74, 0x53, 0x6e, 0x6f, 0x77, 0x6d, 0x61, 0x6e, 0x43, 0x6f, 0x6d, 0x62, 0x69,
+ 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74,
+ 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampEditSnowmanCombinationRsp_proto_rawDescOnce sync.Once
+ file_WinterCampEditSnowmanCombinationRsp_proto_rawDescData = file_WinterCampEditSnowmanCombinationRsp_proto_rawDesc
+)
+
+func file_WinterCampEditSnowmanCombinationRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampEditSnowmanCombinationRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampEditSnowmanCombinationRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampEditSnowmanCombinationRsp_proto_rawDescData)
+ })
+ return file_WinterCampEditSnowmanCombinationRsp_proto_rawDescData
+}
+
+var file_WinterCampEditSnowmanCombinationRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampEditSnowmanCombinationRsp_proto_goTypes = []interface{}{
+ (*WinterCampEditSnowmanCombinationRsp)(nil), // 0: proto.WinterCampEditSnowmanCombinationRsp
+}
+var file_WinterCampEditSnowmanCombinationRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampEditSnowmanCombinationRsp_proto_init() }
+func file_WinterCampEditSnowmanCombinationRsp_proto_init() {
+ if File_WinterCampEditSnowmanCombinationRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampEditSnowmanCombinationRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampEditSnowmanCombinationRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampEditSnowmanCombinationRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampEditSnowmanCombinationRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampEditSnowmanCombinationRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampEditSnowmanCombinationRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampEditSnowmanCombinationRsp_proto = out.File
+ file_WinterCampEditSnowmanCombinationRsp_proto_rawDesc = nil
+ file_WinterCampEditSnowmanCombinationRsp_proto_goTypes = nil
+ file_WinterCampEditSnowmanCombinationRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampFriendWishData.pb.go b/protocol/proto/WinterCampFriendWishData.pb.go
new file mode 100644
index 00000000..42e99bf2
--- /dev/null
+++ b/protocol/proto/WinterCampFriendWishData.pb.go
@@ -0,0 +1,195 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampFriendWishData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WinterCampFriendWishData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Nickname string `protobuf:"bytes,14,opt,name=nickname,proto3" json:"nickname,omitempty"`
+ Uid uint32 `protobuf:"varint,12,opt,name=uid,proto3" json:"uid,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,5,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ ItemIdList []uint32 `protobuf:"varint,9,rep,packed,name=item_id_list,json=itemIdList,proto3" json:"item_id_list,omitempty"`
+}
+
+func (x *WinterCampFriendWishData) Reset() {
+ *x = WinterCampFriendWishData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampFriendWishData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampFriendWishData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampFriendWishData) ProtoMessage() {}
+
+func (x *WinterCampFriendWishData) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampFriendWishData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampFriendWishData.ProtoReflect.Descriptor instead.
+func (*WinterCampFriendWishData) Descriptor() ([]byte, []int) {
+ return file_WinterCampFriendWishData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampFriendWishData) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+func (x *WinterCampFriendWishData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *WinterCampFriendWishData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *WinterCampFriendWishData) GetItemIdList() []uint32 {
+ if x != nil {
+ return x.ItemIdList
+ }
+ return nil
+}
+
+var File_WinterCampFriendWishData_proto protoreflect.FileDescriptor
+
+var file_WinterCampFriendWishData_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x57, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
+ 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x01,
+ 0x0a, 0x18, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x57, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69,
+ 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69,
+ 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d,
+ 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a,
+ 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampFriendWishData_proto_rawDescOnce sync.Once
+ file_WinterCampFriendWishData_proto_rawDescData = file_WinterCampFriendWishData_proto_rawDesc
+)
+
+func file_WinterCampFriendWishData_proto_rawDescGZIP() []byte {
+ file_WinterCampFriendWishData_proto_rawDescOnce.Do(func() {
+ file_WinterCampFriendWishData_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampFriendWishData_proto_rawDescData)
+ })
+ return file_WinterCampFriendWishData_proto_rawDescData
+}
+
+var file_WinterCampFriendWishData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampFriendWishData_proto_goTypes = []interface{}{
+ (*WinterCampFriendWishData)(nil), // 0: proto.WinterCampFriendWishData
+ (*ProfilePicture)(nil), // 1: proto.ProfilePicture
+}
+var file_WinterCampFriendWishData_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampFriendWishData.profile_picture:type_name -> proto.ProfilePicture
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampFriendWishData_proto_init() }
+func file_WinterCampFriendWishData_proto_init() {
+ if File_WinterCampFriendWishData_proto != nil {
+ return
+ }
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampFriendWishData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampFriendWishData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampFriendWishData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampFriendWishData_proto_goTypes,
+ DependencyIndexes: file_WinterCampFriendWishData_proto_depIdxs,
+ MessageInfos: file_WinterCampFriendWishData_proto_msgTypes,
+ }.Build()
+ File_WinterCampFriendWishData_proto = out.File
+ file_WinterCampFriendWishData_proto_rawDesc = nil
+ file_WinterCampFriendWishData_proto_goTypes = nil
+ file_WinterCampFriendWishData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampGetCanGiveFriendItemReq.pb.go b/protocol/proto/WinterCampGetCanGiveFriendItemReq.pb.go
new file mode 100644
index 00000000..be8212d7
--- /dev/null
+++ b/protocol/proto/WinterCampGetCanGiveFriendItemReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampGetCanGiveFriendItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8964
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampGetCanGiveFriendItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WinterCampGetCanGiveFriendItemReq) Reset() {
+ *x = WinterCampGetCanGiveFriendItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampGetCanGiveFriendItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampGetCanGiveFriendItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampGetCanGiveFriendItemReq) ProtoMessage() {}
+
+func (x *WinterCampGetCanGiveFriendItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampGetCanGiveFriendItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampGetCanGiveFriendItemReq.ProtoReflect.Descriptor instead.
+func (*WinterCampGetCanGiveFriendItemReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampGetCanGiveFriendItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WinterCampGetCanGiveFriendItemReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampGetCanGiveFriendItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x43,
+ 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d,
+ 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0x23, 0x0a, 0x21, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65,
+ 0x74, 0x43, 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x74,
+ 0x65, 0x6d, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampGetCanGiveFriendItemReq_proto_rawDescOnce sync.Once
+ file_WinterCampGetCanGiveFriendItemReq_proto_rawDescData = file_WinterCampGetCanGiveFriendItemReq_proto_rawDesc
+)
+
+func file_WinterCampGetCanGiveFriendItemReq_proto_rawDescGZIP() []byte {
+ file_WinterCampGetCanGiveFriendItemReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampGetCanGiveFriendItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampGetCanGiveFriendItemReq_proto_rawDescData)
+ })
+ return file_WinterCampGetCanGiveFriendItemReq_proto_rawDescData
+}
+
+var file_WinterCampGetCanGiveFriendItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampGetCanGiveFriendItemReq_proto_goTypes = []interface{}{
+ (*WinterCampGetCanGiveFriendItemReq)(nil), // 0: proto.WinterCampGetCanGiveFriendItemReq
+}
+var file_WinterCampGetCanGiveFriendItemReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampGetCanGiveFriendItemReq_proto_init() }
+func file_WinterCampGetCanGiveFriendItemReq_proto_init() {
+ if File_WinterCampGetCanGiveFriendItemReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampGetCanGiveFriendItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampGetCanGiveFriendItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampGetCanGiveFriendItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampGetCanGiveFriendItemReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampGetCanGiveFriendItemReq_proto_depIdxs,
+ MessageInfos: file_WinterCampGetCanGiveFriendItemReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampGetCanGiveFriendItemReq_proto = out.File
+ file_WinterCampGetCanGiveFriendItemReq_proto_rawDesc = nil
+ file_WinterCampGetCanGiveFriendItemReq_proto_goTypes = nil
+ file_WinterCampGetCanGiveFriendItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampGetCanGiveFriendItemRsp.pb.go b/protocol/proto/WinterCampGetCanGiveFriendItemRsp.pb.go
new file mode 100644
index 00000000..a95800a3
--- /dev/null
+++ b/protocol/proto/WinterCampGetCanGiveFriendItemRsp.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampGetCanGiveFriendItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8357
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampGetCanGiveFriendItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*ItemParam `protobuf:"bytes,8,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Retcode int32 `protobuf:"varint,11,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *WinterCampGetCanGiveFriendItemRsp) Reset() {
+ *x = WinterCampGetCanGiveFriendItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampGetCanGiveFriendItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampGetCanGiveFriendItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampGetCanGiveFriendItemRsp) ProtoMessage() {}
+
+func (x *WinterCampGetCanGiveFriendItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampGetCanGiveFriendItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampGetCanGiveFriendItemRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampGetCanGiveFriendItemRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampGetCanGiveFriendItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampGetCanGiveFriendItemRsp) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *WinterCampGetCanGiveFriendItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_WinterCampGetCanGiveFriendItemRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampGetCanGiveFriendItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x27, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x43,
+ 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d,
+ 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x6c, 0x0a, 0x21, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47,
+ 0x65, 0x74, 0x43, 0x61, 0x6e, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49,
+ 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65,
+ 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampGetCanGiveFriendItemRsp_proto_rawDescOnce sync.Once
+ file_WinterCampGetCanGiveFriendItemRsp_proto_rawDescData = file_WinterCampGetCanGiveFriendItemRsp_proto_rawDesc
+)
+
+func file_WinterCampGetCanGiveFriendItemRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampGetCanGiveFriendItemRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampGetCanGiveFriendItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampGetCanGiveFriendItemRsp_proto_rawDescData)
+ })
+ return file_WinterCampGetCanGiveFriendItemRsp_proto_rawDescData
+}
+
+var file_WinterCampGetCanGiveFriendItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampGetCanGiveFriendItemRsp_proto_goTypes = []interface{}{
+ (*WinterCampGetCanGiveFriendItemRsp)(nil), // 0: proto.WinterCampGetCanGiveFriendItemRsp
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_WinterCampGetCanGiveFriendItemRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampGetCanGiveFriendItemRsp.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampGetCanGiveFriendItemRsp_proto_init() }
+func file_WinterCampGetCanGiveFriendItemRsp_proto_init() {
+ if File_WinterCampGetCanGiveFriendItemRsp_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampGetCanGiveFriendItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampGetCanGiveFriendItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampGetCanGiveFriendItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampGetCanGiveFriendItemRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampGetCanGiveFriendItemRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampGetCanGiveFriendItemRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampGetCanGiveFriendItemRsp_proto = out.File
+ file_WinterCampGetCanGiveFriendItemRsp_proto_rawDesc = nil
+ file_WinterCampGetCanGiveFriendItemRsp_proto_goTypes = nil
+ file_WinterCampGetCanGiveFriendItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampGetFriendWishListReq.pb.go b/protocol/proto/WinterCampGetFriendWishListReq.pb.go
new file mode 100644
index 00000000..251a3633
--- /dev/null
+++ b/protocol/proto/WinterCampGetFriendWishListReq.pb.go
@@ -0,0 +1,154 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampGetFriendWishListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8946
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampGetFriendWishListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WinterCampGetFriendWishListReq) Reset() {
+ *x = WinterCampGetFriendWishListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampGetFriendWishListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampGetFriendWishListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampGetFriendWishListReq) ProtoMessage() {}
+
+func (x *WinterCampGetFriendWishListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampGetFriendWishListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampGetFriendWishListReq.ProtoReflect.Descriptor instead.
+func (*WinterCampGetFriendWishListReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampGetFriendWishListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WinterCampGetFriendWishListReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampGetFriendWishListReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x20, 0x0a,
+ 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x46, 0x72,
+ 0x69, 0x65, 0x6e, 0x64, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampGetFriendWishListReq_proto_rawDescOnce sync.Once
+ file_WinterCampGetFriendWishListReq_proto_rawDescData = file_WinterCampGetFriendWishListReq_proto_rawDesc
+)
+
+func file_WinterCampGetFriendWishListReq_proto_rawDescGZIP() []byte {
+ file_WinterCampGetFriendWishListReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampGetFriendWishListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampGetFriendWishListReq_proto_rawDescData)
+ })
+ return file_WinterCampGetFriendWishListReq_proto_rawDescData
+}
+
+var file_WinterCampGetFriendWishListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampGetFriendWishListReq_proto_goTypes = []interface{}{
+ (*WinterCampGetFriendWishListReq)(nil), // 0: proto.WinterCampGetFriendWishListReq
+}
+var file_WinterCampGetFriendWishListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampGetFriendWishListReq_proto_init() }
+func file_WinterCampGetFriendWishListReq_proto_init() {
+ if File_WinterCampGetFriendWishListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampGetFriendWishListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampGetFriendWishListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampGetFriendWishListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampGetFriendWishListReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampGetFriendWishListReq_proto_depIdxs,
+ MessageInfos: file_WinterCampGetFriendWishListReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampGetFriendWishListReq_proto = out.File
+ file_WinterCampGetFriendWishListReq_proto_rawDesc = nil
+ file_WinterCampGetFriendWishListReq_proto_goTypes = nil
+ file_WinterCampGetFriendWishListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampGetFriendWishListRsp.pb.go b/protocol/proto/WinterCampGetFriendWishListRsp.pb.go
new file mode 100644
index 00000000..00f0956d
--- /dev/null
+++ b/protocol/proto/WinterCampGetFriendWishListRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampGetFriendWishListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8937
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampGetFriendWishListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,12,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ WishDataList []*WinterCampFriendWishData `protobuf:"bytes,5,rep,name=wish_data_list,json=wishDataList,proto3" json:"wish_data_list,omitempty"`
+}
+
+func (x *WinterCampGetFriendWishListRsp) Reset() {
+ *x = WinterCampGetFriendWishListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampGetFriendWishListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampGetFriendWishListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampGetFriendWishListRsp) ProtoMessage() {}
+
+func (x *WinterCampGetFriendWishListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampGetFriendWishListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampGetFriendWishListRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampGetFriendWishListRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampGetFriendWishListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampGetFriendWishListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WinterCampGetFriendWishListRsp) GetWishDataList() []*WinterCampFriendWishData {
+ if x != nil {
+ return x.WishDataList
+ }
+ return nil
+}
+
+var File_WinterCampGetFriendWishListRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampGetFriendWishListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x57,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x57,
+ 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x01,
+ 0x0a, 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x46,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70,
+ 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28,
+ 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0e, 0x77, 0x69,
+ 0x73, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x43, 0x61, 0x6d, 0x70, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x57, 0x69, 0x73, 0x68, 0x44,
+ 0x61, 0x74, 0x61, 0x52, 0x0c, 0x77, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73,
+ 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampGetFriendWishListRsp_proto_rawDescOnce sync.Once
+ file_WinterCampGetFriendWishListRsp_proto_rawDescData = file_WinterCampGetFriendWishListRsp_proto_rawDesc
+)
+
+func file_WinterCampGetFriendWishListRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampGetFriendWishListRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampGetFriendWishListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampGetFriendWishListRsp_proto_rawDescData)
+ })
+ return file_WinterCampGetFriendWishListRsp_proto_rawDescData
+}
+
+var file_WinterCampGetFriendWishListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampGetFriendWishListRsp_proto_goTypes = []interface{}{
+ (*WinterCampGetFriendWishListRsp)(nil), // 0: proto.WinterCampGetFriendWishListRsp
+ (*WinterCampFriendWishData)(nil), // 1: proto.WinterCampFriendWishData
+}
+var file_WinterCampGetFriendWishListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampGetFriendWishListRsp.wish_data_list:type_name -> proto.WinterCampFriendWishData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampGetFriendWishListRsp_proto_init() }
+func file_WinterCampGetFriendWishListRsp_proto_init() {
+ if File_WinterCampGetFriendWishListRsp_proto != nil {
+ return
+ }
+ file_WinterCampFriendWishData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampGetFriendWishListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampGetFriendWishListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampGetFriendWishListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampGetFriendWishListRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampGetFriendWishListRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampGetFriendWishListRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampGetFriendWishListRsp_proto = out.File
+ file_WinterCampGetFriendWishListRsp_proto_rawDesc = nil
+ file_WinterCampGetFriendWishListRsp_proto_goTypes = nil
+ file_WinterCampGetFriendWishListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampGetRecvItemListReq.pb.go b/protocol/proto/WinterCampGetRecvItemListReq.pb.go
new file mode 100644
index 00000000..c73a5e5b
--- /dev/null
+++ b/protocol/proto/WinterCampGetRecvItemListReq.pb.go
@@ -0,0 +1,153 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampGetRecvItemListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8143
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampGetRecvItemListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WinterCampGetRecvItemListReq) Reset() {
+ *x = WinterCampGetRecvItemListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampGetRecvItemListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampGetRecvItemListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampGetRecvItemListReq) ProtoMessage() {}
+
+func (x *WinterCampGetRecvItemListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampGetRecvItemListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampGetRecvItemListReq.ProtoReflect.Descriptor instead.
+func (*WinterCampGetRecvItemListReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampGetRecvItemListReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WinterCampGetRecvItemListReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampGetRecvItemListReq_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x52,
+ 0x65, 0x63, 0x76, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x1e, 0x0a, 0x1c, 0x57,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76,
+ 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampGetRecvItemListReq_proto_rawDescOnce sync.Once
+ file_WinterCampGetRecvItemListReq_proto_rawDescData = file_WinterCampGetRecvItemListReq_proto_rawDesc
+)
+
+func file_WinterCampGetRecvItemListReq_proto_rawDescGZIP() []byte {
+ file_WinterCampGetRecvItemListReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampGetRecvItemListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampGetRecvItemListReq_proto_rawDescData)
+ })
+ return file_WinterCampGetRecvItemListReq_proto_rawDescData
+}
+
+var file_WinterCampGetRecvItemListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampGetRecvItemListReq_proto_goTypes = []interface{}{
+ (*WinterCampGetRecvItemListReq)(nil), // 0: proto.WinterCampGetRecvItemListReq
+}
+var file_WinterCampGetRecvItemListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampGetRecvItemListReq_proto_init() }
+func file_WinterCampGetRecvItemListReq_proto_init() {
+ if File_WinterCampGetRecvItemListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampGetRecvItemListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampGetRecvItemListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampGetRecvItemListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampGetRecvItemListReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampGetRecvItemListReq_proto_depIdxs,
+ MessageInfos: file_WinterCampGetRecvItemListReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampGetRecvItemListReq_proto = out.File
+ file_WinterCampGetRecvItemListReq_proto_rawDesc = nil
+ file_WinterCampGetRecvItemListReq_proto_goTypes = nil
+ file_WinterCampGetRecvItemListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampGetRecvItemListRsp.pb.go b/protocol/proto/WinterCampGetRecvItemListRsp.pb.go
new file mode 100644
index 00000000..0b766e40
--- /dev/null
+++ b/protocol/proto/WinterCampGetRecvItemListRsp.pb.go
@@ -0,0 +1,181 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampGetRecvItemListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8423
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampGetRecvItemListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecvItemDataList []*WinterCampRecvItemData `protobuf:"bytes,8,rep,name=recv_item_data_list,json=recvItemDataList,proto3" json:"recv_item_data_list,omitempty"`
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *WinterCampGetRecvItemListRsp) Reset() {
+ *x = WinterCampGetRecvItemListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampGetRecvItemListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampGetRecvItemListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampGetRecvItemListRsp) ProtoMessage() {}
+
+func (x *WinterCampGetRecvItemListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampGetRecvItemListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampGetRecvItemListRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampGetRecvItemListRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampGetRecvItemListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampGetRecvItemListRsp) GetRecvItemDataList() []*WinterCampRecvItemData {
+ if x != nil {
+ return x.RecvItemDataList
+ }
+ return nil
+}
+
+func (x *WinterCampGetRecvItemListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_WinterCampGetRecvItemListRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampGetRecvItemListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x22, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x52,
+ 0x65, 0x63, 0x76, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x57, 0x69, 0x6e,
+ 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x76, 0x49, 0x74, 0x65, 0x6d, 0x44,
+ 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x01, 0x0a, 0x1c, 0x57, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x49,
+ 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x13, 0x72, 0x65,
+ 0x63, 0x76, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x69, 0x73,
+ 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+ 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x76, 0x49, 0x74,
+ 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x72, 0x65, 0x63, 0x76, 0x49, 0x74, 0x65, 0x6d,
+ 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f,
+ 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampGetRecvItemListRsp_proto_rawDescOnce sync.Once
+ file_WinterCampGetRecvItemListRsp_proto_rawDescData = file_WinterCampGetRecvItemListRsp_proto_rawDesc
+)
+
+func file_WinterCampGetRecvItemListRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampGetRecvItemListRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampGetRecvItemListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampGetRecvItemListRsp_proto_rawDescData)
+ })
+ return file_WinterCampGetRecvItemListRsp_proto_rawDescData
+}
+
+var file_WinterCampGetRecvItemListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampGetRecvItemListRsp_proto_goTypes = []interface{}{
+ (*WinterCampGetRecvItemListRsp)(nil), // 0: proto.WinterCampGetRecvItemListRsp
+ (*WinterCampRecvItemData)(nil), // 1: proto.WinterCampRecvItemData
+}
+var file_WinterCampGetRecvItemListRsp_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampGetRecvItemListRsp.recv_item_data_list:type_name -> proto.WinterCampRecvItemData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampGetRecvItemListRsp_proto_init() }
+func file_WinterCampGetRecvItemListRsp_proto_init() {
+ if File_WinterCampGetRecvItemListRsp_proto != nil {
+ return
+ }
+ file_WinterCampRecvItemData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampGetRecvItemListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampGetRecvItemListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampGetRecvItemListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampGetRecvItemListRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampGetRecvItemListRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampGetRecvItemListRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampGetRecvItemListRsp_proto = out.File
+ file_WinterCampGetRecvItemListRsp_proto_rawDesc = nil
+ file_WinterCampGetRecvItemListRsp_proto_goTypes = nil
+ file_WinterCampGetRecvItemListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampGiveFriendItemReq.pb.go b/protocol/proto/WinterCampGiveFriendItemReq.pb.go
new file mode 100644
index 00000000..fbc5139d
--- /dev/null
+++ b/protocol/proto/WinterCampGiveFriendItemReq.pb.go
@@ -0,0 +1,178 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampGiveFriendItemReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8572
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampGiveFriendItemReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Uid uint32 `protobuf:"varint,12,opt,name=uid,proto3" json:"uid,omitempty"`
+ ItemList []*ItemParam `protobuf:"bytes,11,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+}
+
+func (x *WinterCampGiveFriendItemReq) Reset() {
+ *x = WinterCampGiveFriendItemReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampGiveFriendItemReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampGiveFriendItemReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampGiveFriendItemReq) ProtoMessage() {}
+
+func (x *WinterCampGiveFriendItemReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampGiveFriendItemReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampGiveFriendItemReq.ProtoReflect.Descriptor instead.
+func (*WinterCampGiveFriendItemReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampGiveFriendItemReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampGiveFriendItemReq) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *WinterCampGiveFriendItemReq) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+var File_WinterCampGiveFriendItemReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampGiveFriendItemReq_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x69, 0x76, 0x65,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5e, 0x0a, 0x1b, 0x57,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
+ 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x09,
+ 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampGiveFriendItemReq_proto_rawDescOnce sync.Once
+ file_WinterCampGiveFriendItemReq_proto_rawDescData = file_WinterCampGiveFriendItemReq_proto_rawDesc
+)
+
+func file_WinterCampGiveFriendItemReq_proto_rawDescGZIP() []byte {
+ file_WinterCampGiveFriendItemReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampGiveFriendItemReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampGiveFriendItemReq_proto_rawDescData)
+ })
+ return file_WinterCampGiveFriendItemReq_proto_rawDescData
+}
+
+var file_WinterCampGiveFriendItemReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampGiveFriendItemReq_proto_goTypes = []interface{}{
+ (*WinterCampGiveFriendItemReq)(nil), // 0: proto.WinterCampGiveFriendItemReq
+ (*ItemParam)(nil), // 1: proto.ItemParam
+}
+var file_WinterCampGiveFriendItemReq_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampGiveFriendItemReq.item_list:type_name -> proto.ItemParam
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampGiveFriendItemReq_proto_init() }
+func file_WinterCampGiveFriendItemReq_proto_init() {
+ if File_WinterCampGiveFriendItemReq_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampGiveFriendItemReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampGiveFriendItemReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampGiveFriendItemReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampGiveFriendItemReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampGiveFriendItemReq_proto_depIdxs,
+ MessageInfos: file_WinterCampGiveFriendItemReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampGiveFriendItemReq_proto = out.File
+ file_WinterCampGiveFriendItemReq_proto_rawDesc = nil
+ file_WinterCampGiveFriendItemReq_proto_goTypes = nil
+ file_WinterCampGiveFriendItemReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampGiveFriendItemRsp.pb.go b/protocol/proto/WinterCampGiveFriendItemRsp.pb.go
new file mode 100644
index 00000000..b89f8f56
--- /dev/null
+++ b/protocol/proto/WinterCampGiveFriendItemRsp.pb.go
@@ -0,0 +1,174 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampGiveFriendItemRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8264
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampGiveFriendItemRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LimitItemIdList []uint32 `protobuf:"varint,11,rep,packed,name=limit_item_id_list,json=limitItemIdList,proto3" json:"limit_item_id_list,omitempty"`
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *WinterCampGiveFriendItemRsp) Reset() {
+ *x = WinterCampGiveFriendItemRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampGiveFriendItemRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampGiveFriendItemRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampGiveFriendItemRsp) ProtoMessage() {}
+
+func (x *WinterCampGiveFriendItemRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampGiveFriendItemRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampGiveFriendItemRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampGiveFriendItemRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampGiveFriendItemRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampGiveFriendItemRsp) GetLimitItemIdList() []uint32 {
+ if x != nil {
+ return x.LimitItemIdList
+ }
+ return nil
+}
+
+func (x *WinterCampGiveFriendItemRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_WinterCampGiveFriendItemRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampGiveFriendItemRsp_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x69, 0x76, 0x65,
+ 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x1b, 0x57, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x47, 0x69, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65,
+ 0x6e, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x69, 0x6d,
+ 0x69, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18,
+ 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x74, 0x65, 0x6d,
+ 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65,
+ 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampGiveFriendItemRsp_proto_rawDescOnce sync.Once
+ file_WinterCampGiveFriendItemRsp_proto_rawDescData = file_WinterCampGiveFriendItemRsp_proto_rawDesc
+)
+
+func file_WinterCampGiveFriendItemRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampGiveFriendItemRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampGiveFriendItemRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampGiveFriendItemRsp_proto_rawDescData)
+ })
+ return file_WinterCampGiveFriendItemRsp_proto_rawDescData
+}
+
+var file_WinterCampGiveFriendItemRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampGiveFriendItemRsp_proto_goTypes = []interface{}{
+ (*WinterCampGiveFriendItemRsp)(nil), // 0: proto.WinterCampGiveFriendItemRsp
+}
+var file_WinterCampGiveFriendItemRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampGiveFriendItemRsp_proto_init() }
+func file_WinterCampGiveFriendItemRsp_proto_init() {
+ if File_WinterCampGiveFriendItemRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampGiveFriendItemRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampGiveFriendItemRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampGiveFriendItemRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampGiveFriendItemRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampGiveFriendItemRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampGiveFriendItemRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampGiveFriendItemRsp_proto = out.File
+ file_WinterCampGiveFriendItemRsp_proto_rawDesc = nil
+ file_WinterCampGiveFriendItemRsp_proto_goTypes = nil
+ file_WinterCampGiveFriendItemRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampRaceScoreNotify.pb.go b/protocol/proto/WinterCampRaceScoreNotify.pb.go
new file mode 100644
index 00000000..78f5a420
--- /dev/null
+++ b/protocol/proto/WinterCampRaceScoreNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampRaceScoreNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8149
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampRaceScoreNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"`
+ MaxScore uint32 `protobuf:"varint,14,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+}
+
+func (x *WinterCampRaceScoreNotify) Reset() {
+ *x = WinterCampRaceScoreNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampRaceScoreNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampRaceScoreNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampRaceScoreNotify) ProtoMessage() {}
+
+func (x *WinterCampRaceScoreNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampRaceScoreNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampRaceScoreNotify.ProtoReflect.Descriptor instead.
+func (*WinterCampRaceScoreNotify) Descriptor() ([]byte, []int) {
+ return file_WinterCampRaceScoreNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampRaceScoreNotify) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *WinterCampRaceScoreNotify) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+var File_WinterCampRaceScoreNotify_proto protoreflect.FileDescriptor
+
+var file_WinterCampRaceScoreNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x61, 0x63, 0x65,
+ 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x48, 0x0a, 0x19, 0x57, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x61, 0x63, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampRaceScoreNotify_proto_rawDescOnce sync.Once
+ file_WinterCampRaceScoreNotify_proto_rawDescData = file_WinterCampRaceScoreNotify_proto_rawDesc
+)
+
+func file_WinterCampRaceScoreNotify_proto_rawDescGZIP() []byte {
+ file_WinterCampRaceScoreNotify_proto_rawDescOnce.Do(func() {
+ file_WinterCampRaceScoreNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampRaceScoreNotify_proto_rawDescData)
+ })
+ return file_WinterCampRaceScoreNotify_proto_rawDescData
+}
+
+var file_WinterCampRaceScoreNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampRaceScoreNotify_proto_goTypes = []interface{}{
+ (*WinterCampRaceScoreNotify)(nil), // 0: proto.WinterCampRaceScoreNotify
+}
+var file_WinterCampRaceScoreNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampRaceScoreNotify_proto_init() }
+func file_WinterCampRaceScoreNotify_proto_init() {
+ if File_WinterCampRaceScoreNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampRaceScoreNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampRaceScoreNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampRaceScoreNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampRaceScoreNotify_proto_goTypes,
+ DependencyIndexes: file_WinterCampRaceScoreNotify_proto_depIdxs,
+ MessageInfos: file_WinterCampRaceScoreNotify_proto_msgTypes,
+ }.Build()
+ File_WinterCampRaceScoreNotify_proto = out.File
+ file_WinterCampRaceScoreNotify_proto_rawDesc = nil
+ file_WinterCampRaceScoreNotify_proto_goTypes = nil
+ file_WinterCampRaceScoreNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampRaceStageInfo.pb.go b/protocol/proto/WinterCampRaceStageInfo.pb.go
new file mode 100644
index 00000000..925f0cfa
--- /dev/null
+++ b/protocol/proto/WinterCampRaceStageInfo.pb.go
@@ -0,0 +1,192 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampRaceStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WinterCampRaceStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OpenTime uint32 `protobuf:"varint,5,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
+ Pos *Vector `protobuf:"bytes,14,opt,name=pos,proto3" json:"pos,omitempty"`
+ MaxScore uint32 `protobuf:"varint,2,opt,name=max_score,json=maxScore,proto3" json:"max_score,omitempty"`
+}
+
+func (x *WinterCampRaceStageInfo) Reset() {
+ *x = WinterCampRaceStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampRaceStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampRaceStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampRaceStageInfo) ProtoMessage() {}
+
+func (x *WinterCampRaceStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampRaceStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampRaceStageInfo.ProtoReflect.Descriptor instead.
+func (*WinterCampRaceStageInfo) Descriptor() ([]byte, []int) {
+ return file_WinterCampRaceStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampRaceStageInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *WinterCampRaceStageInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *WinterCampRaceStageInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+func (x *WinterCampRaceStageInfo) GetMaxScore() uint32 {
+ if x != nil {
+ return x.MaxScore
+ }
+ return 0
+}
+
+var File_WinterCampRaceStageInfo_proto protoreflect.FileDescriptor
+
+var file_WinterCampRaceStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1d, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x61, 0x63, 0x65,
+ 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x01, 0x0a, 0x17, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43,
+ 0x61, 0x6d, 0x70, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f,
+ 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a,
+ 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a,
+ 0x03, 0x70, 0x6f, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x1b,
+ 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampRaceStageInfo_proto_rawDescOnce sync.Once
+ file_WinterCampRaceStageInfo_proto_rawDescData = file_WinterCampRaceStageInfo_proto_rawDesc
+)
+
+func file_WinterCampRaceStageInfo_proto_rawDescGZIP() []byte {
+ file_WinterCampRaceStageInfo_proto_rawDescOnce.Do(func() {
+ file_WinterCampRaceStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampRaceStageInfo_proto_rawDescData)
+ })
+ return file_WinterCampRaceStageInfo_proto_rawDescData
+}
+
+var file_WinterCampRaceStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampRaceStageInfo_proto_goTypes = []interface{}{
+ (*WinterCampRaceStageInfo)(nil), // 0: proto.WinterCampRaceStageInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_WinterCampRaceStageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampRaceStageInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampRaceStageInfo_proto_init() }
+func file_WinterCampRaceStageInfo_proto_init() {
+ if File_WinterCampRaceStageInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampRaceStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampRaceStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampRaceStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampRaceStageInfo_proto_goTypes,
+ DependencyIndexes: file_WinterCampRaceStageInfo_proto_depIdxs,
+ MessageInfos: file_WinterCampRaceStageInfo_proto_msgTypes,
+ }.Build()
+ File_WinterCampRaceStageInfo_proto = out.File
+ file_WinterCampRaceStageInfo_proto_rawDesc = nil
+ file_WinterCampRaceStageInfo_proto_goTypes = nil
+ file_WinterCampRaceStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampRecvItemData.pb.go b/protocol/proto/WinterCampRecvItemData.pb.go
new file mode 100644
index 00000000..10d1c37e
--- /dev/null
+++ b/protocol/proto/WinterCampRecvItemData.pb.go
@@ -0,0 +1,200 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampRecvItemData.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WinterCampRecvItemData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemList []*ItemParam `protobuf:"bytes,2,rep,name=item_list,json=itemList,proto3" json:"item_list,omitempty"`
+ Uid uint32 `protobuf:"varint,8,opt,name=uid,proto3" json:"uid,omitempty"`
+ ProfilePicture *ProfilePicture `protobuf:"bytes,1,opt,name=profile_picture,json=profilePicture,proto3" json:"profile_picture,omitempty"`
+ Nickname string `protobuf:"bytes,12,opt,name=nickname,proto3" json:"nickname,omitempty"`
+}
+
+func (x *WinterCampRecvItemData) Reset() {
+ *x = WinterCampRecvItemData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampRecvItemData_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampRecvItemData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampRecvItemData) ProtoMessage() {}
+
+func (x *WinterCampRecvItemData) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampRecvItemData_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampRecvItemData.ProtoReflect.Descriptor instead.
+func (*WinterCampRecvItemData) Descriptor() ([]byte, []int) {
+ return file_WinterCampRecvItemData_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampRecvItemData) GetItemList() []*ItemParam {
+ if x != nil {
+ return x.ItemList
+ }
+ return nil
+}
+
+func (x *WinterCampRecvItemData) GetUid() uint32 {
+ if x != nil {
+ return x.Uid
+ }
+ return 0
+}
+
+func (x *WinterCampRecvItemData) GetProfilePicture() *ProfilePicture {
+ if x != nil {
+ return x.ProfilePicture
+ }
+ return nil
+}
+
+func (x *WinterCampRecvItemData) GetNickname() string {
+ if x != nil {
+ return x.Nickname
+ }
+ return ""
+}
+
+var File_WinterCampRecvItemData_proto protoreflect.FileDescriptor
+
+var file_WinterCampRecvItemData_proto_rawDesc = []byte{
+ 0x0a, 0x1c, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x76,
+ 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50,
+ 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a,
+ 0x16, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x76, 0x49,
+ 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x08, 0x69, 0x74,
+ 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66,
+ 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
+ 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b,
+ 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampRecvItemData_proto_rawDescOnce sync.Once
+ file_WinterCampRecvItemData_proto_rawDescData = file_WinterCampRecvItemData_proto_rawDesc
+)
+
+func file_WinterCampRecvItemData_proto_rawDescGZIP() []byte {
+ file_WinterCampRecvItemData_proto_rawDescOnce.Do(func() {
+ file_WinterCampRecvItemData_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampRecvItemData_proto_rawDescData)
+ })
+ return file_WinterCampRecvItemData_proto_rawDescData
+}
+
+var file_WinterCampRecvItemData_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampRecvItemData_proto_goTypes = []interface{}{
+ (*WinterCampRecvItemData)(nil), // 0: proto.WinterCampRecvItemData
+ (*ItemParam)(nil), // 1: proto.ItemParam
+ (*ProfilePicture)(nil), // 2: proto.ProfilePicture
+}
+var file_WinterCampRecvItemData_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampRecvItemData.item_list:type_name -> proto.ItemParam
+ 2, // 1: proto.WinterCampRecvItemData.profile_picture:type_name -> proto.ProfilePicture
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampRecvItemData_proto_init() }
+func file_WinterCampRecvItemData_proto_init() {
+ if File_WinterCampRecvItemData_proto != nil {
+ return
+ }
+ file_ItemParam_proto_init()
+ file_ProfilePicture_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampRecvItemData_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampRecvItemData); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampRecvItemData_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampRecvItemData_proto_goTypes,
+ DependencyIndexes: file_WinterCampRecvItemData_proto_depIdxs,
+ MessageInfos: file_WinterCampRecvItemData_proto_msgTypes,
+ }.Build()
+ File_WinterCampRecvItemData_proto = out.File
+ file_WinterCampRecvItemData_proto_rawDesc = nil
+ file_WinterCampRecvItemData_proto_goTypes = nil
+ file_WinterCampRecvItemData_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampRecvItemNotify.pb.go b/protocol/proto/WinterCampRecvItemNotify.pb.go
new file mode 100644
index 00000000..4445b858
--- /dev/null
+++ b/protocol/proto/WinterCampRecvItemNotify.pb.go
@@ -0,0 +1,170 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampRecvItemNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8580
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampRecvItemNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RecvItemData *WinterCampRecvItemData `protobuf:"bytes,14,opt,name=recv_item_data,json=recvItemData,proto3" json:"recv_item_data,omitempty"`
+}
+
+func (x *WinterCampRecvItemNotify) Reset() {
+ *x = WinterCampRecvItemNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampRecvItemNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampRecvItemNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampRecvItemNotify) ProtoMessage() {}
+
+func (x *WinterCampRecvItemNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampRecvItemNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampRecvItemNotify.ProtoReflect.Descriptor instead.
+func (*WinterCampRecvItemNotify) Descriptor() ([]byte, []int) {
+ return file_WinterCampRecvItemNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampRecvItemNotify) GetRecvItemData() *WinterCampRecvItemData {
+ if x != nil {
+ return x.RecvItemData
+ }
+ return nil
+}
+
+var File_WinterCampRecvItemNotify_proto protoreflect.FileDescriptor
+
+var file_WinterCampRecvItemNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x76,
+ 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43,
+ 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x76, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x18, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43,
+ 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x76, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x43, 0x0a, 0x0e, 0x72, 0x65, 0x63, 0x76, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x64,
+ 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x76,
+ 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x76, 0x49, 0x74,
+ 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampRecvItemNotify_proto_rawDescOnce sync.Once
+ file_WinterCampRecvItemNotify_proto_rawDescData = file_WinterCampRecvItemNotify_proto_rawDesc
+)
+
+func file_WinterCampRecvItemNotify_proto_rawDescGZIP() []byte {
+ file_WinterCampRecvItemNotify_proto_rawDescOnce.Do(func() {
+ file_WinterCampRecvItemNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampRecvItemNotify_proto_rawDescData)
+ })
+ return file_WinterCampRecvItemNotify_proto_rawDescData
+}
+
+var file_WinterCampRecvItemNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampRecvItemNotify_proto_goTypes = []interface{}{
+ (*WinterCampRecvItemNotify)(nil), // 0: proto.WinterCampRecvItemNotify
+ (*WinterCampRecvItemData)(nil), // 1: proto.WinterCampRecvItemData
+}
+var file_WinterCampRecvItemNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampRecvItemNotify.recv_item_data:type_name -> proto.WinterCampRecvItemData
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampRecvItemNotify_proto_init() }
+func file_WinterCampRecvItemNotify_proto_init() {
+ if File_WinterCampRecvItemNotify_proto != nil {
+ return
+ }
+ file_WinterCampRecvItemData_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampRecvItemNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampRecvItemNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampRecvItemNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampRecvItemNotify_proto_goTypes,
+ DependencyIndexes: file_WinterCampRecvItemNotify_proto_depIdxs,
+ MessageInfos: file_WinterCampRecvItemNotify_proto_msgTypes,
+ }.Build()
+ File_WinterCampRecvItemNotify_proto = out.File
+ file_WinterCampRecvItemNotify_proto_rawDesc = nil
+ file_WinterCampRecvItemNotify_proto_goTypes = nil
+ file_WinterCampRecvItemNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampSetWishListReq.pb.go b/protocol/proto/WinterCampSetWishListReq.pb.go
new file mode 100644
index 00000000..5df76ca3
--- /dev/null
+++ b/protocol/proto/WinterCampSetWishListReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampSetWishListReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8753
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampSetWishListReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ItemIdList []uint32 `protobuf:"varint,4,rep,packed,name=item_id_list,json=itemIdList,proto3" json:"item_id_list,omitempty"`
+}
+
+func (x *WinterCampSetWishListReq) Reset() {
+ *x = WinterCampSetWishListReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampSetWishListReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampSetWishListReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampSetWishListReq) ProtoMessage() {}
+
+func (x *WinterCampSetWishListReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampSetWishListReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampSetWishListReq.ProtoReflect.Descriptor instead.
+func (*WinterCampSetWishListReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampSetWishListReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampSetWishListReq) GetItemIdList() []uint32 {
+ if x != nil {
+ return x.ItemIdList
+ }
+ return nil
+}
+
+var File_WinterCampSetWishListReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampSetWishListReq_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x57,
+ 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x18, 0x57, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49,
+ 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampSetWishListReq_proto_rawDescOnce sync.Once
+ file_WinterCampSetWishListReq_proto_rawDescData = file_WinterCampSetWishListReq_proto_rawDesc
+)
+
+func file_WinterCampSetWishListReq_proto_rawDescGZIP() []byte {
+ file_WinterCampSetWishListReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampSetWishListReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampSetWishListReq_proto_rawDescData)
+ })
+ return file_WinterCampSetWishListReq_proto_rawDescData
+}
+
+var file_WinterCampSetWishListReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampSetWishListReq_proto_goTypes = []interface{}{
+ (*WinterCampSetWishListReq)(nil), // 0: proto.WinterCampSetWishListReq
+}
+var file_WinterCampSetWishListReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampSetWishListReq_proto_init() }
+func file_WinterCampSetWishListReq_proto_init() {
+ if File_WinterCampSetWishListReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampSetWishListReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampSetWishListReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampSetWishListReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampSetWishListReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampSetWishListReq_proto_depIdxs,
+ MessageInfos: file_WinterCampSetWishListReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampSetWishListReq_proto = out.File
+ file_WinterCampSetWishListReq_proto_rawDesc = nil
+ file_WinterCampSetWishListReq_proto_goTypes = nil
+ file_WinterCampSetWishListReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampSetWishListRsp.pb.go b/protocol/proto/WinterCampSetWishListRsp.pb.go
new file mode 100644
index 00000000..18d01515
--- /dev/null
+++ b/protocol/proto/WinterCampSetWishListRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampSetWishListRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8281
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampSetWishListRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,4,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ ItemIdList []uint32 `protobuf:"varint,7,rep,packed,name=item_id_list,json=itemIdList,proto3" json:"item_id_list,omitempty"`
+}
+
+func (x *WinterCampSetWishListRsp) Reset() {
+ *x = WinterCampSetWishListRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampSetWishListRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampSetWishListRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampSetWishListRsp) ProtoMessage() {}
+
+func (x *WinterCampSetWishListRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampSetWishListRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampSetWishListRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampSetWishListRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampSetWishListRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampSetWishListRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WinterCampSetWishListRsp) GetItemIdList() []uint32 {
+ if x != nil {
+ return x.ItemIdList
+ }
+ return nil
+}
+
+var File_WinterCampSetWishListRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampSetWishListRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x57,
+ 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x56, 0x0a, 0x18, 0x57, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x57, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74,
+ 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a,
+ 0x0c, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20,
+ 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampSetWishListRsp_proto_rawDescOnce sync.Once
+ file_WinterCampSetWishListRsp_proto_rawDescData = file_WinterCampSetWishListRsp_proto_rawDesc
+)
+
+func file_WinterCampSetWishListRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampSetWishListRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampSetWishListRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampSetWishListRsp_proto_rawDescData)
+ })
+ return file_WinterCampSetWishListRsp_proto_rawDescData
+}
+
+var file_WinterCampSetWishListRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampSetWishListRsp_proto_goTypes = []interface{}{
+ (*WinterCampSetWishListRsp)(nil), // 0: proto.WinterCampSetWishListRsp
+}
+var file_WinterCampSetWishListRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampSetWishListRsp_proto_init() }
+func file_WinterCampSetWishListRsp_proto_init() {
+ if File_WinterCampSetWishListRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampSetWishListRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampSetWishListRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampSetWishListRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampSetWishListRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampSetWishListRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampSetWishListRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampSetWishListRsp_proto = out.File
+ file_WinterCampSetWishListRsp_proto_rawDesc = nil
+ file_WinterCampSetWishListRsp_proto_goTypes = nil
+ file_WinterCampSetWishListRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampStageInfo.pb.go b/protocol/proto/WinterCampStageInfo.pb.go
new file mode 100644
index 00000000..71986867
--- /dev/null
+++ b/protocol/proto/WinterCampStageInfo.pb.go
@@ -0,0 +1,213 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampStageInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WinterCampStageInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ CurProgress uint32 `protobuf:"varint,12,opt,name=cur_progress,json=curProgress,proto3" json:"cur_progress,omitempty"`
+ Id uint32 `protobuf:"varint,6,opt,name=id,proto3" json:"id,omitempty"`
+ OpenTime uint32 `protobuf:"varint,8,opt,name=open_time,json=openTime,proto3" json:"open_time,omitempty"`
+ IsFinished bool `protobuf:"varint,10,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ TotalProgress uint32 `protobuf:"varint,9,opt,name=total_progress,json=totalProgress,proto3" json:"total_progress,omitempty"`
+ Pos *Vector `protobuf:"bytes,5,opt,name=pos,proto3" json:"pos,omitempty"`
+}
+
+func (x *WinterCampStageInfo) Reset() {
+ *x = WinterCampStageInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampStageInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampStageInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampStageInfo) ProtoMessage() {}
+
+func (x *WinterCampStageInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampStageInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampStageInfo.ProtoReflect.Descriptor instead.
+func (*WinterCampStageInfo) Descriptor() ([]byte, []int) {
+ return file_WinterCampStageInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampStageInfo) GetCurProgress() uint32 {
+ if x != nil {
+ return x.CurProgress
+ }
+ return 0
+}
+
+func (x *WinterCampStageInfo) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+func (x *WinterCampStageInfo) GetOpenTime() uint32 {
+ if x != nil {
+ return x.OpenTime
+ }
+ return 0
+}
+
+func (x *WinterCampStageInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *WinterCampStageInfo) GetTotalProgress() uint32 {
+ if x != nil {
+ return x.TotalProgress
+ }
+ return 0
+}
+
+func (x *WinterCampStageInfo) GetPos() *Vector {
+ if x != nil {
+ return x.Pos
+ }
+ return nil
+}
+
+var File_WinterCampStageInfo_proto protoreflect.FileDescriptor
+
+var file_WinterCampStageInfo_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x0c, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x22, 0xce, 0x01, 0x0a, 0x13, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53,
+ 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x5f,
+ 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
+ 0x63, 0x75, 0x72, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69,
+ 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f,
+ 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
+ 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69,
+ 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74,
+ 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x12, 0x1f, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f,
+ 0x73, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampStageInfo_proto_rawDescOnce sync.Once
+ file_WinterCampStageInfo_proto_rawDescData = file_WinterCampStageInfo_proto_rawDesc
+)
+
+func file_WinterCampStageInfo_proto_rawDescGZIP() []byte {
+ file_WinterCampStageInfo_proto_rawDescOnce.Do(func() {
+ file_WinterCampStageInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampStageInfo_proto_rawDescData)
+ })
+ return file_WinterCampStageInfo_proto_rawDescData
+}
+
+var file_WinterCampStageInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampStageInfo_proto_goTypes = []interface{}{
+ (*WinterCampStageInfo)(nil), // 0: proto.WinterCampStageInfo
+ (*Vector)(nil), // 1: proto.Vector
+}
+var file_WinterCampStageInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampStageInfo.pos:type_name -> proto.Vector
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampStageInfo_proto_init() }
+func file_WinterCampStageInfo_proto_init() {
+ if File_WinterCampStageInfo_proto != nil {
+ return
+ }
+ file_Vector_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampStageInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampStageInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampStageInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampStageInfo_proto_goTypes,
+ DependencyIndexes: file_WinterCampStageInfo_proto_depIdxs,
+ MessageInfos: file_WinterCampStageInfo_proto_msgTypes,
+ }.Build()
+ File_WinterCampStageInfo_proto = out.File
+ file_WinterCampStageInfo_proto_rawDesc = nil
+ file_WinterCampStageInfo_proto_goTypes = nil
+ file_WinterCampStageInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampStageInfoChangeNotify.pb.go b/protocol/proto/WinterCampStageInfoChangeNotify.pb.go
new file mode 100644
index 00000000..a740ac82
--- /dev/null
+++ b/protocol/proto/WinterCampStageInfoChangeNotify.pb.go
@@ -0,0 +1,183 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampStageInfoChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8154
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampStageInfoChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ExploreInfo *WinterCampStageInfo `protobuf:"bytes,12,opt,name=explore_info,json=exploreInfo,proto3" json:"explore_info,omitempty"`
+ BattleInfo *WinterCampStageInfo `protobuf:"bytes,4,opt,name=battle_info,json=battleInfo,proto3" json:"battle_info,omitempty"`
+}
+
+func (x *WinterCampStageInfoChangeNotify) Reset() {
+ *x = WinterCampStageInfoChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampStageInfoChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampStageInfoChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampStageInfoChangeNotify) ProtoMessage() {}
+
+func (x *WinterCampStageInfoChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampStageInfoChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampStageInfoChangeNotify.ProtoReflect.Descriptor instead.
+func (*WinterCampStageInfoChangeNotify) Descriptor() ([]byte, []int) {
+ return file_WinterCampStageInfoChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampStageInfoChangeNotify) GetExploreInfo() *WinterCampStageInfo {
+ if x != nil {
+ return x.ExploreInfo
+ }
+ return nil
+}
+
+func (x *WinterCampStageInfoChangeNotify) GetBattleInfo() *WinterCampStageInfo {
+ if x != nil {
+ return x.BattleInfo
+ }
+ return nil
+}
+
+var File_WinterCampStageInfoChangeNotify_proto protoreflect.FileDescriptor
+
+var file_WinterCampStageInfoChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
+ 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49,
+ 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x57, 0x69,
+ 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66,
+ 0x6f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3d, 0x0a,
+ 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0b,
+ 0x62, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72,
+ 0x43, 0x61, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x62,
+ 0x61, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampStageInfoChangeNotify_proto_rawDescOnce sync.Once
+ file_WinterCampStageInfoChangeNotify_proto_rawDescData = file_WinterCampStageInfoChangeNotify_proto_rawDesc
+)
+
+func file_WinterCampStageInfoChangeNotify_proto_rawDescGZIP() []byte {
+ file_WinterCampStageInfoChangeNotify_proto_rawDescOnce.Do(func() {
+ file_WinterCampStageInfoChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampStageInfoChangeNotify_proto_rawDescData)
+ })
+ return file_WinterCampStageInfoChangeNotify_proto_rawDescData
+}
+
+var file_WinterCampStageInfoChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampStageInfoChangeNotify_proto_goTypes = []interface{}{
+ (*WinterCampStageInfoChangeNotify)(nil), // 0: proto.WinterCampStageInfoChangeNotify
+ (*WinterCampStageInfo)(nil), // 1: proto.WinterCampStageInfo
+}
+var file_WinterCampStageInfoChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WinterCampStageInfoChangeNotify.explore_info:type_name -> proto.WinterCampStageInfo
+ 1, // 1: proto.WinterCampStageInfoChangeNotify.battle_info:type_name -> proto.WinterCampStageInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampStageInfoChangeNotify_proto_init() }
+func file_WinterCampStageInfoChangeNotify_proto_init() {
+ if File_WinterCampStageInfoChangeNotify_proto != nil {
+ return
+ }
+ file_WinterCampStageInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampStageInfoChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampStageInfoChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampStageInfoChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampStageInfoChangeNotify_proto_goTypes,
+ DependencyIndexes: file_WinterCampStageInfoChangeNotify_proto_depIdxs,
+ MessageInfos: file_WinterCampStageInfoChangeNotify_proto_msgTypes,
+ }.Build()
+ File_WinterCampStageInfoChangeNotify_proto = out.File
+ file_WinterCampStageInfoChangeNotify_proto_rawDesc = nil
+ file_WinterCampStageInfoChangeNotify_proto_goTypes = nil
+ file_WinterCampStageInfoChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampTakeBattleRewardReq.pb.go b/protocol/proto/WinterCampTakeBattleRewardReq.pb.go
new file mode 100644
index 00000000..63115bf0
--- /dev/null
+++ b/protocol/proto/WinterCampTakeBattleRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampTakeBattleRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8401
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampTakeBattleRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *WinterCampTakeBattleRewardReq) Reset() {
+ *x = WinterCampTakeBattleRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampTakeBattleRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampTakeBattleRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampTakeBattleRewardReq) ProtoMessage() {}
+
+func (x *WinterCampTakeBattleRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampTakeBattleRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampTakeBattleRewardReq.ProtoReflect.Descriptor instead.
+func (*WinterCampTakeBattleRewardReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampTakeBattleRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampTakeBattleRewardReq) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_WinterCampTakeBattleRewardReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampTakeBattleRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x1d,
+ 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a,
+ 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a,
+ 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
+}
+
+var (
+ file_WinterCampTakeBattleRewardReq_proto_rawDescOnce sync.Once
+ file_WinterCampTakeBattleRewardReq_proto_rawDescData = file_WinterCampTakeBattleRewardReq_proto_rawDesc
+)
+
+func file_WinterCampTakeBattleRewardReq_proto_rawDescGZIP() []byte {
+ file_WinterCampTakeBattleRewardReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampTakeBattleRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampTakeBattleRewardReq_proto_rawDescData)
+ })
+ return file_WinterCampTakeBattleRewardReq_proto_rawDescData
+}
+
+var file_WinterCampTakeBattleRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampTakeBattleRewardReq_proto_goTypes = []interface{}{
+ (*WinterCampTakeBattleRewardReq)(nil), // 0: proto.WinterCampTakeBattleRewardReq
+}
+var file_WinterCampTakeBattleRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampTakeBattleRewardReq_proto_init() }
+func file_WinterCampTakeBattleRewardReq_proto_init() {
+ if File_WinterCampTakeBattleRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampTakeBattleRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampTakeBattleRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampTakeBattleRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampTakeBattleRewardReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampTakeBattleRewardReq_proto_depIdxs,
+ MessageInfos: file_WinterCampTakeBattleRewardReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampTakeBattleRewardReq_proto = out.File
+ file_WinterCampTakeBattleRewardReq_proto_rawDesc = nil
+ file_WinterCampTakeBattleRewardReq_proto_goTypes = nil
+ file_WinterCampTakeBattleRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampTakeBattleRewardRsp.pb.go b/protocol/proto/WinterCampTakeBattleRewardRsp.pb.go
new file mode 100644
index 00000000..48a78bdf
--- /dev/null
+++ b/protocol/proto/WinterCampTakeBattleRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampTakeBattleRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8153
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampTakeBattleRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,6,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Id uint32 `protobuf:"varint,15,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *WinterCampTakeBattleRewardRsp) Reset() {
+ *x = WinterCampTakeBattleRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampTakeBattleRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampTakeBattleRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampTakeBattleRewardRsp) ProtoMessage() {}
+
+func (x *WinterCampTakeBattleRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampTakeBattleRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampTakeBattleRewardRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampTakeBattleRewardRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampTakeBattleRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampTakeBattleRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WinterCampTakeBattleRewardRsp) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_WinterCampTakeBattleRewardRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampTakeBattleRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65,
+ 0x42, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x49, 0x0a, 0x1d,
+ 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x42, 0x61,
+ 0x74, 0x74, 0x6c, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampTakeBattleRewardRsp_proto_rawDescOnce sync.Once
+ file_WinterCampTakeBattleRewardRsp_proto_rawDescData = file_WinterCampTakeBattleRewardRsp_proto_rawDesc
+)
+
+func file_WinterCampTakeBattleRewardRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampTakeBattleRewardRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampTakeBattleRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampTakeBattleRewardRsp_proto_rawDescData)
+ })
+ return file_WinterCampTakeBattleRewardRsp_proto_rawDescData
+}
+
+var file_WinterCampTakeBattleRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampTakeBattleRewardRsp_proto_goTypes = []interface{}{
+ (*WinterCampTakeBattleRewardRsp)(nil), // 0: proto.WinterCampTakeBattleRewardRsp
+}
+var file_WinterCampTakeBattleRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampTakeBattleRewardRsp_proto_init() }
+func file_WinterCampTakeBattleRewardRsp_proto_init() {
+ if File_WinterCampTakeBattleRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampTakeBattleRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampTakeBattleRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampTakeBattleRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampTakeBattleRewardRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampTakeBattleRewardRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampTakeBattleRewardRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampTakeBattleRewardRsp_proto = out.File
+ file_WinterCampTakeBattleRewardRsp_proto_rawDesc = nil
+ file_WinterCampTakeBattleRewardRsp_proto_goTypes = nil
+ file_WinterCampTakeBattleRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampTakeExploreRewardReq.pb.go b/protocol/proto/WinterCampTakeExploreRewardReq.pb.go
new file mode 100644
index 00000000..1948076e
--- /dev/null
+++ b/protocol/proto/WinterCampTakeExploreRewardReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampTakeExploreRewardReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8607
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampTakeExploreRewardReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id uint32 `protobuf:"varint,8,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *WinterCampTakeExploreRewardReq) Reset() {
+ *x = WinterCampTakeExploreRewardReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampTakeExploreRewardReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampTakeExploreRewardReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampTakeExploreRewardReq) ProtoMessage() {}
+
+func (x *WinterCampTakeExploreRewardReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampTakeExploreRewardReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampTakeExploreRewardReq.ProtoReflect.Descriptor instead.
+func (*WinterCampTakeExploreRewardReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampTakeExploreRewardReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampTakeExploreRewardReq) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_WinterCampTakeExploreRewardReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampTakeExploreRewardReq_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65,
+ 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a,
+ 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x45,
+ 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12,
+ 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42,
+ 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampTakeExploreRewardReq_proto_rawDescOnce sync.Once
+ file_WinterCampTakeExploreRewardReq_proto_rawDescData = file_WinterCampTakeExploreRewardReq_proto_rawDesc
+)
+
+func file_WinterCampTakeExploreRewardReq_proto_rawDescGZIP() []byte {
+ file_WinterCampTakeExploreRewardReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampTakeExploreRewardReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampTakeExploreRewardReq_proto_rawDescData)
+ })
+ return file_WinterCampTakeExploreRewardReq_proto_rawDescData
+}
+
+var file_WinterCampTakeExploreRewardReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampTakeExploreRewardReq_proto_goTypes = []interface{}{
+ (*WinterCampTakeExploreRewardReq)(nil), // 0: proto.WinterCampTakeExploreRewardReq
+}
+var file_WinterCampTakeExploreRewardReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampTakeExploreRewardReq_proto_init() }
+func file_WinterCampTakeExploreRewardReq_proto_init() {
+ if File_WinterCampTakeExploreRewardReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampTakeExploreRewardReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampTakeExploreRewardReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampTakeExploreRewardReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampTakeExploreRewardReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampTakeExploreRewardReq_proto_depIdxs,
+ MessageInfos: file_WinterCampTakeExploreRewardReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampTakeExploreRewardReq_proto = out.File
+ file_WinterCampTakeExploreRewardReq_proto_rawDesc = nil
+ file_WinterCampTakeExploreRewardReq_proto_goTypes = nil
+ file_WinterCampTakeExploreRewardReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampTakeExploreRewardRsp.pb.go b/protocol/proto/WinterCampTakeExploreRewardRsp.pb.go
new file mode 100644
index 00000000..940162b6
--- /dev/null
+++ b/protocol/proto/WinterCampTakeExploreRewardRsp.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampTakeExploreRewardRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8978
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampTakeExploreRewardRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,2,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ Id uint32 `protobuf:"varint,15,opt,name=id,proto3" json:"id,omitempty"`
+}
+
+func (x *WinterCampTakeExploreRewardRsp) Reset() {
+ *x = WinterCampTakeExploreRewardRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampTakeExploreRewardRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampTakeExploreRewardRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampTakeExploreRewardRsp) ProtoMessage() {}
+
+func (x *WinterCampTakeExploreRewardRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampTakeExploreRewardRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampTakeExploreRewardRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampTakeExploreRewardRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampTakeExploreRewardRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampTakeExploreRewardRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WinterCampTakeExploreRewardRsp) GetId() uint32 {
+ if x != nil {
+ return x.Id
+ }
+ return 0
+}
+
+var File_WinterCampTakeExploreRewardRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampTakeExploreRewardRsp_proto_rawDesc = []byte{
+ 0x0a, 0x24, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65,
+ 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a,
+ 0x1e, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x61, 0x6b, 0x65, 0x45,
+ 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x73, 0x70, 0x12,
+ 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+ 0x52, 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
+ 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampTakeExploreRewardRsp_proto_rawDescOnce sync.Once
+ file_WinterCampTakeExploreRewardRsp_proto_rawDescData = file_WinterCampTakeExploreRewardRsp_proto_rawDesc
+)
+
+func file_WinterCampTakeExploreRewardRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampTakeExploreRewardRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampTakeExploreRewardRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampTakeExploreRewardRsp_proto_rawDescData)
+ })
+ return file_WinterCampTakeExploreRewardRsp_proto_rawDescData
+}
+
+var file_WinterCampTakeExploreRewardRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampTakeExploreRewardRsp_proto_goTypes = []interface{}{
+ (*WinterCampTakeExploreRewardRsp)(nil), // 0: proto.WinterCampTakeExploreRewardRsp
+}
+var file_WinterCampTakeExploreRewardRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampTakeExploreRewardRsp_proto_init() }
+func file_WinterCampTakeExploreRewardRsp_proto_init() {
+ if File_WinterCampTakeExploreRewardRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampTakeExploreRewardRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampTakeExploreRewardRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampTakeExploreRewardRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampTakeExploreRewardRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampTakeExploreRewardRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampTakeExploreRewardRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampTakeExploreRewardRsp_proto = out.File
+ file_WinterCampTakeExploreRewardRsp_proto_rawDesc = nil
+ file_WinterCampTakeExploreRewardRsp_proto_goTypes = nil
+ file_WinterCampTakeExploreRewardRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampTriathlonRestartReq.pb.go b/protocol/proto/WinterCampTriathlonRestartReq.pb.go
new file mode 100644
index 00000000..0282eb58
--- /dev/null
+++ b/protocol/proto/WinterCampTriathlonRestartReq.pb.go
@@ -0,0 +1,164 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampTriathlonRestartReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8844
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WinterCampTriathlonRestartReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GalleryId uint32 `protobuf:"varint,6,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *WinterCampTriathlonRestartReq) Reset() {
+ *x = WinterCampTriathlonRestartReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampTriathlonRestartReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampTriathlonRestartReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampTriathlonRestartReq) ProtoMessage() {}
+
+func (x *WinterCampTriathlonRestartReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampTriathlonRestartReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampTriathlonRestartReq.ProtoReflect.Descriptor instead.
+func (*WinterCampTriathlonRestartReq) Descriptor() ([]byte, []int) {
+ return file_WinterCampTriathlonRestartReq_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampTriathlonRestartReq) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_WinterCampTriathlonRestartReq_proto protoreflect.FileDescriptor
+
+var file_WinterCampTriathlonRestartReq_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x72, 0x69, 0x61,
+ 0x74, 0x68, 0x6c, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x1d,
+ 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x72, 0x69, 0x61, 0x74, 0x68,
+ 0x6c, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampTriathlonRestartReq_proto_rawDescOnce sync.Once
+ file_WinterCampTriathlonRestartReq_proto_rawDescData = file_WinterCampTriathlonRestartReq_proto_rawDesc
+)
+
+func file_WinterCampTriathlonRestartReq_proto_rawDescGZIP() []byte {
+ file_WinterCampTriathlonRestartReq_proto_rawDescOnce.Do(func() {
+ file_WinterCampTriathlonRestartReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampTriathlonRestartReq_proto_rawDescData)
+ })
+ return file_WinterCampTriathlonRestartReq_proto_rawDescData
+}
+
+var file_WinterCampTriathlonRestartReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampTriathlonRestartReq_proto_goTypes = []interface{}{
+ (*WinterCampTriathlonRestartReq)(nil), // 0: proto.WinterCampTriathlonRestartReq
+}
+var file_WinterCampTriathlonRestartReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampTriathlonRestartReq_proto_init() }
+func file_WinterCampTriathlonRestartReq_proto_init() {
+ if File_WinterCampTriathlonRestartReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampTriathlonRestartReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampTriathlonRestartReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampTriathlonRestartReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampTriathlonRestartReq_proto_goTypes,
+ DependencyIndexes: file_WinterCampTriathlonRestartReq_proto_depIdxs,
+ MessageInfos: file_WinterCampTriathlonRestartReq_proto_msgTypes,
+ }.Build()
+ File_WinterCampTriathlonRestartReq_proto = out.File
+ file_WinterCampTriathlonRestartReq_proto_rawDesc = nil
+ file_WinterCampTriathlonRestartReq_proto_goTypes = nil
+ file_WinterCampTriathlonRestartReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampTriathlonRestartRsp.pb.go b/protocol/proto/WinterCampTriathlonRestartRsp.pb.go
new file mode 100644
index 00000000..15b45dee
--- /dev/null
+++ b/protocol/proto/WinterCampTriathlonRestartRsp.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampTriathlonRestartRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8569
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampTriathlonRestartRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,10,opt,name=retcode,proto3" json:"retcode,omitempty"`
+ GalleryId uint32 `protobuf:"varint,14,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+}
+
+func (x *WinterCampTriathlonRestartRsp) Reset() {
+ *x = WinterCampTriathlonRestartRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampTriathlonRestartRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampTriathlonRestartRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampTriathlonRestartRsp) ProtoMessage() {}
+
+func (x *WinterCampTriathlonRestartRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampTriathlonRestartRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampTriathlonRestartRsp.ProtoReflect.Descriptor instead.
+func (*WinterCampTriathlonRestartRsp) Descriptor() ([]byte, []int) {
+ return file_WinterCampTriathlonRestartRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampTriathlonRestartRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+func (x *WinterCampTriathlonRestartRsp) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+var File_WinterCampTriathlonRestartRsp_proto protoreflect.FileDescriptor
+
+var file_WinterCampTriathlonRestartRsp_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x72, 0x69, 0x61,
+ 0x74, 0x68, 0x6c, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x1d,
+ 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x72, 0x69, 0x61, 0x74, 0x68,
+ 0x6c, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a,
+ 0x07, 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
+ 0x72, 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c, 0x6c, 0x65,
+ 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampTriathlonRestartRsp_proto_rawDescOnce sync.Once
+ file_WinterCampTriathlonRestartRsp_proto_rawDescData = file_WinterCampTriathlonRestartRsp_proto_rawDesc
+)
+
+func file_WinterCampTriathlonRestartRsp_proto_rawDescGZIP() []byte {
+ file_WinterCampTriathlonRestartRsp_proto_rawDescOnce.Do(func() {
+ file_WinterCampTriathlonRestartRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampTriathlonRestartRsp_proto_rawDescData)
+ })
+ return file_WinterCampTriathlonRestartRsp_proto_rawDescData
+}
+
+var file_WinterCampTriathlonRestartRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampTriathlonRestartRsp_proto_goTypes = []interface{}{
+ (*WinterCampTriathlonRestartRsp)(nil), // 0: proto.WinterCampTriathlonRestartRsp
+}
+var file_WinterCampTriathlonRestartRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampTriathlonRestartRsp_proto_init() }
+func file_WinterCampTriathlonRestartRsp_proto_init() {
+ if File_WinterCampTriathlonRestartRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampTriathlonRestartRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampTriathlonRestartRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampTriathlonRestartRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampTriathlonRestartRsp_proto_goTypes,
+ DependencyIndexes: file_WinterCampTriathlonRestartRsp_proto_depIdxs,
+ MessageInfos: file_WinterCampTriathlonRestartRsp_proto_msgTypes,
+ }.Build()
+ File_WinterCampTriathlonRestartRsp_proto = out.File
+ file_WinterCampTriathlonRestartRsp_proto_rawDesc = nil
+ file_WinterCampTriathlonRestartRsp_proto_goTypes = nil
+ file_WinterCampTriathlonRestartRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WinterCampTriathlonSettleNotify.pb.go b/protocol/proto/WinterCampTriathlonSettleNotify.pb.go
new file mode 100644
index 00000000..9718f21f
--- /dev/null
+++ b/protocol/proto/WinterCampTriathlonSettleNotify.pb.go
@@ -0,0 +1,233 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WinterCampTriathlonSettleNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 8342
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WinterCampTriathlonSettleNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ LimitedCoin uint32 `protobuf:"varint,9,opt,name=limited_coin,json=limitedCoin,proto3" json:"limited_coin,omitempty"`
+ NormalCoin uint32 `protobuf:"varint,2,opt,name=normal_coin,json=normalCoin,proto3" json:"normal_coin,omitempty"`
+ IsNewRecord bool `protobuf:"varint,7,opt,name=is_new_record,json=isNewRecord,proto3" json:"is_new_record,omitempty"`
+ IsSuccess bool `protobuf:"varint,3,opt,name=is_success,json=isSuccess,proto3" json:"is_success,omitempty"`
+ GalleryId uint32 `protobuf:"varint,13,opt,name=gallery_id,json=galleryId,proto3" json:"gallery_id,omitempty"`
+ RemainTime uint32 `protobuf:"varint,4,opt,name=remain_time,json=remainTime,proto3" json:"remain_time,omitempty"`
+ Score uint32 `protobuf:"varint,11,opt,name=score,proto3" json:"score,omitempty"`
+ RaceId uint32 `protobuf:"varint,15,opt,name=race_id,json=raceId,proto3" json:"race_id,omitempty"`
+}
+
+func (x *WinterCampTriathlonSettleNotify) Reset() {
+ *x = WinterCampTriathlonSettleNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WinterCampTriathlonSettleNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WinterCampTriathlonSettleNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WinterCampTriathlonSettleNotify) ProtoMessage() {}
+
+func (x *WinterCampTriathlonSettleNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WinterCampTriathlonSettleNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WinterCampTriathlonSettleNotify.ProtoReflect.Descriptor instead.
+func (*WinterCampTriathlonSettleNotify) Descriptor() ([]byte, []int) {
+ return file_WinterCampTriathlonSettleNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WinterCampTriathlonSettleNotify) GetLimitedCoin() uint32 {
+ if x != nil {
+ return x.LimitedCoin
+ }
+ return 0
+}
+
+func (x *WinterCampTriathlonSettleNotify) GetNormalCoin() uint32 {
+ if x != nil {
+ return x.NormalCoin
+ }
+ return 0
+}
+
+func (x *WinterCampTriathlonSettleNotify) GetIsNewRecord() bool {
+ if x != nil {
+ return x.IsNewRecord
+ }
+ return false
+}
+
+func (x *WinterCampTriathlonSettleNotify) GetIsSuccess() bool {
+ if x != nil {
+ return x.IsSuccess
+ }
+ return false
+}
+
+func (x *WinterCampTriathlonSettleNotify) GetGalleryId() uint32 {
+ if x != nil {
+ return x.GalleryId
+ }
+ return 0
+}
+
+func (x *WinterCampTriathlonSettleNotify) GetRemainTime() uint32 {
+ if x != nil {
+ return x.RemainTime
+ }
+ return 0
+}
+
+func (x *WinterCampTriathlonSettleNotify) GetScore() uint32 {
+ if x != nil {
+ return x.Score
+ }
+ return 0
+}
+
+func (x *WinterCampTriathlonSettleNotify) GetRaceId() uint32 {
+ if x != nil {
+ return x.RaceId
+ }
+ return 0
+}
+
+var File_WinterCampTriathlonSettleNotify_proto protoreflect.FileDescriptor
+
+var file_WinterCampTriathlonSettleNotify_proto_rawDesc = []byte{
+ 0x0a, 0x25, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x72, 0x69, 0x61,
+ 0x74, 0x68, 0x6c, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x97,
+ 0x02, 0x0a, 0x1f, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x61, 0x6d, 0x70, 0x54, 0x72, 0x69,
+ 0x61, 0x74, 0x68, 0x6c, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f,
+ 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65,
+ 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f,
+ 0x63, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x6f, 0x72, 0x6d,
+ 0x61, 0x6c, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77,
+ 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
+ 0x73, 0x4e, 0x65, 0x77, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73,
+ 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
+ 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x6c,
+ 0x6c, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x67,
+ 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x61,
+ 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72,
+ 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12,
+ 0x17, 0x0a, 0x07, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
+ 0x52, 0x06, 0x72, 0x61, 0x63, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WinterCampTriathlonSettleNotify_proto_rawDescOnce sync.Once
+ file_WinterCampTriathlonSettleNotify_proto_rawDescData = file_WinterCampTriathlonSettleNotify_proto_rawDesc
+)
+
+func file_WinterCampTriathlonSettleNotify_proto_rawDescGZIP() []byte {
+ file_WinterCampTriathlonSettleNotify_proto_rawDescOnce.Do(func() {
+ file_WinterCampTriathlonSettleNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WinterCampTriathlonSettleNotify_proto_rawDescData)
+ })
+ return file_WinterCampTriathlonSettleNotify_proto_rawDescData
+}
+
+var file_WinterCampTriathlonSettleNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WinterCampTriathlonSettleNotify_proto_goTypes = []interface{}{
+ (*WinterCampTriathlonSettleNotify)(nil), // 0: proto.WinterCampTriathlonSettleNotify
+}
+var file_WinterCampTriathlonSettleNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WinterCampTriathlonSettleNotify_proto_init() }
+func file_WinterCampTriathlonSettleNotify_proto_init() {
+ if File_WinterCampTriathlonSettleNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WinterCampTriathlonSettleNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WinterCampTriathlonSettleNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WinterCampTriathlonSettleNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WinterCampTriathlonSettleNotify_proto_goTypes,
+ DependencyIndexes: file_WinterCampTriathlonSettleNotify_proto_depIdxs,
+ MessageInfos: file_WinterCampTriathlonSettleNotify_proto_msgTypes,
+ }.Build()
+ File_WinterCampTriathlonSettleNotify_proto = out.File
+ file_WinterCampTriathlonSettleNotify_proto_rawDesc = nil
+ file_WinterCampTriathlonSettleNotify_proto_goTypes = nil
+ file_WinterCampTriathlonSettleNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorktopInfo.pb.go b/protocol/proto/WorktopInfo.pb.go
new file mode 100644
index 00000000..38dbaf52
--- /dev/null
+++ b/protocol/proto/WorktopInfo.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorktopInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WorktopInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ OptionList []uint32 `protobuf:"varint,1,rep,packed,name=option_list,json=optionList,proto3" json:"option_list,omitempty"`
+ IsGuestCanOperate bool `protobuf:"varint,2,opt,name=is_guest_can_operate,json=isGuestCanOperate,proto3" json:"is_guest_can_operate,omitempty"`
+}
+
+func (x *WorktopInfo) Reset() {
+ *x = WorktopInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorktopInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorktopInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorktopInfo) ProtoMessage() {}
+
+func (x *WorktopInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WorktopInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorktopInfo.ProtoReflect.Descriptor instead.
+func (*WorktopInfo) Descriptor() ([]byte, []int) {
+ return file_WorktopInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorktopInfo) GetOptionList() []uint32 {
+ if x != nil {
+ return x.OptionList
+ }
+ return nil
+}
+
+func (x *WorktopInfo) GetIsGuestCanOperate() bool {
+ if x != nil {
+ return x.IsGuestCanOperate
+ }
+ return false
+}
+
+var File_WorktopInfo_proto protoreflect.FileDescriptor
+
+var file_WorktopInfo_proto_rawDesc = []byte{
+ 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x0b, 0x57, 0x6f,
+ 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x73,
+ 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61,
+ 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x47, 0x75, 0x65, 0x73,
+ 0x74, 0x43, 0x61, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorktopInfo_proto_rawDescOnce sync.Once
+ file_WorktopInfo_proto_rawDescData = file_WorktopInfo_proto_rawDesc
+)
+
+func file_WorktopInfo_proto_rawDescGZIP() []byte {
+ file_WorktopInfo_proto_rawDescOnce.Do(func() {
+ file_WorktopInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorktopInfo_proto_rawDescData)
+ })
+ return file_WorktopInfo_proto_rawDescData
+}
+
+var file_WorktopInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorktopInfo_proto_goTypes = []interface{}{
+ (*WorktopInfo)(nil), // 0: proto.WorktopInfo
+}
+var file_WorktopInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WorktopInfo_proto_init() }
+func file_WorktopInfo_proto_init() {
+ if File_WorktopInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WorktopInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorktopInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorktopInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorktopInfo_proto_goTypes,
+ DependencyIndexes: file_WorktopInfo_proto_depIdxs,
+ MessageInfos: file_WorktopInfo_proto_msgTypes,
+ }.Build()
+ File_WorktopInfo_proto = out.File
+ file_WorktopInfo_proto_rawDesc = nil
+ file_WorktopInfo_proto_goTypes = nil
+ file_WorktopInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorktopOptionNotify.pb.go b/protocol/proto/WorktopOptionNotify.pb.go
new file mode 100644
index 00000000..fadd5c60
--- /dev/null
+++ b/protocol/proto/WorktopOptionNotify.pb.go
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorktopOptionNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 835
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorktopOptionNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GadgetEntityId uint32 `protobuf:"varint,11,opt,name=gadget_entity_id,json=gadgetEntityId,proto3" json:"gadget_entity_id,omitempty"`
+ OptionList []uint32 `protobuf:"varint,8,rep,packed,name=option_list,json=optionList,proto3" json:"option_list,omitempty"`
+}
+
+func (x *WorktopOptionNotify) Reset() {
+ *x = WorktopOptionNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorktopOptionNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorktopOptionNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorktopOptionNotify) ProtoMessage() {}
+
+func (x *WorktopOptionNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorktopOptionNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorktopOptionNotify.ProtoReflect.Descriptor instead.
+func (*WorktopOptionNotify) Descriptor() ([]byte, []int) {
+ return file_WorktopOptionNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorktopOptionNotify) GetGadgetEntityId() uint32 {
+ if x != nil {
+ return x.GadgetEntityId
+ }
+ return 0
+}
+
+func (x *WorktopOptionNotify) GetOptionList() []uint32 {
+ if x != nil {
+ return x.OptionList
+ }
+ return nil
+}
+
+var File_WorktopOptionNotify_proto protoreflect.FileDescriptor
+
+var file_WorktopOptionNotify_proto_rawDesc = []byte{
+ 0x0a, 0x19, 0x57, 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x60, 0x0a, 0x13, 0x57, 0x6f, 0x72, 0x6b, 0x74, 0x6f, 0x70, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x61, 0x64,
+ 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74,
+ 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorktopOptionNotify_proto_rawDescOnce sync.Once
+ file_WorktopOptionNotify_proto_rawDescData = file_WorktopOptionNotify_proto_rawDesc
+)
+
+func file_WorktopOptionNotify_proto_rawDescGZIP() []byte {
+ file_WorktopOptionNotify_proto_rawDescOnce.Do(func() {
+ file_WorktopOptionNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorktopOptionNotify_proto_rawDescData)
+ })
+ return file_WorktopOptionNotify_proto_rawDescData
+}
+
+var file_WorktopOptionNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorktopOptionNotify_proto_goTypes = []interface{}{
+ (*WorktopOptionNotify)(nil), // 0: proto.WorktopOptionNotify
+}
+var file_WorktopOptionNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WorktopOptionNotify_proto_init() }
+func file_WorktopOptionNotify_proto_init() {
+ if File_WorktopOptionNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WorktopOptionNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorktopOptionNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorktopOptionNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorktopOptionNotify_proto_goTypes,
+ DependencyIndexes: file_WorktopOptionNotify_proto_depIdxs,
+ MessageInfos: file_WorktopOptionNotify_proto_msgTypes,
+ }.Build()
+ File_WorktopOptionNotify_proto = out.File
+ file_WorktopOptionNotify_proto_rawDesc = nil
+ file_WorktopOptionNotify_proto_goTypes = nil
+ file_WorktopOptionNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldAllRoutineTypeNotify.pb.go b/protocol/proto/WorldAllRoutineTypeNotify.pb.go
new file mode 100644
index 00000000..67c59153
--- /dev/null
+++ b/protocol/proto/WorldAllRoutineTypeNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldAllRoutineTypeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3518
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldAllRoutineTypeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WorldRoutineTypeList []*WorldRoutineTypeInfo `protobuf:"bytes,12,rep,name=world_routine_type_list,json=worldRoutineTypeList,proto3" json:"world_routine_type_list,omitempty"`
+}
+
+func (x *WorldAllRoutineTypeNotify) Reset() {
+ *x = WorldAllRoutineTypeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldAllRoutineTypeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldAllRoutineTypeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldAllRoutineTypeNotify) ProtoMessage() {}
+
+func (x *WorldAllRoutineTypeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldAllRoutineTypeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldAllRoutineTypeNotify.ProtoReflect.Descriptor instead.
+func (*WorldAllRoutineTypeNotify) Descriptor() ([]byte, []int) {
+ return file_WorldAllRoutineTypeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldAllRoutineTypeNotify) GetWorldRoutineTypeList() []*WorldRoutineTypeInfo {
+ if x != nil {
+ return x.WorldRoutineTypeList
+ }
+ return nil
+}
+
+var File_WorldAllRoutineTypeNotify_proto protoreflect.FileDescriptor
+
+var file_WorldAllRoutineTypeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x6c, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
+ 0x65, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6f, 0x0a, 0x19, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x41, 0x6c, 0x6c,
+ 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x52, 0x0a, 0x17, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6c, 0x64,
+ 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x14, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70,
+ 0x65, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldAllRoutineTypeNotify_proto_rawDescOnce sync.Once
+ file_WorldAllRoutineTypeNotify_proto_rawDescData = file_WorldAllRoutineTypeNotify_proto_rawDesc
+)
+
+func file_WorldAllRoutineTypeNotify_proto_rawDescGZIP() []byte {
+ file_WorldAllRoutineTypeNotify_proto_rawDescOnce.Do(func() {
+ file_WorldAllRoutineTypeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldAllRoutineTypeNotify_proto_rawDescData)
+ })
+ return file_WorldAllRoutineTypeNotify_proto_rawDescData
+}
+
+var file_WorldAllRoutineTypeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldAllRoutineTypeNotify_proto_goTypes = []interface{}{
+ (*WorldAllRoutineTypeNotify)(nil), // 0: proto.WorldAllRoutineTypeNotify
+ (*WorldRoutineTypeInfo)(nil), // 1: proto.WorldRoutineTypeInfo
+}
+var file_WorldAllRoutineTypeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldAllRoutineTypeNotify.world_routine_type_list:type_name -> proto.WorldRoutineTypeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldAllRoutineTypeNotify_proto_init() }
+func file_WorldAllRoutineTypeNotify_proto_init() {
+ if File_WorldAllRoutineTypeNotify_proto != nil {
+ return
+ }
+ file_WorldRoutineTypeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldAllRoutineTypeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldAllRoutineTypeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldAllRoutineTypeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldAllRoutineTypeNotify_proto_goTypes,
+ DependencyIndexes: file_WorldAllRoutineTypeNotify_proto_depIdxs,
+ MessageInfos: file_WorldAllRoutineTypeNotify_proto_msgTypes,
+ }.Build()
+ File_WorldAllRoutineTypeNotify_proto = out.File
+ file_WorldAllRoutineTypeNotify_proto_rawDesc = nil
+ file_WorldAllRoutineTypeNotify_proto_goTypes = nil
+ file_WorldAllRoutineTypeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldChestOpenNotify.pb.go b/protocol/proto/WorldChestOpenNotify.pb.go
new file mode 100644
index 00000000..56e0f6da
--- /dev/null
+++ b/protocol/proto/WorldChestOpenNotify.pb.go
@@ -0,0 +1,182 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldChestOpenNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3295
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldChestOpenNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ GroupId uint32 `protobuf:"varint,6,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
+ SceneId uint32 `protobuf:"varint,9,opt,name=scene_id,json=sceneId,proto3" json:"scene_id,omitempty"`
+ ConfigId uint32 `protobuf:"varint,12,opt,name=config_id,json=configId,proto3" json:"config_id,omitempty"`
+}
+
+func (x *WorldChestOpenNotify) Reset() {
+ *x = WorldChestOpenNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldChestOpenNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldChestOpenNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldChestOpenNotify) ProtoMessage() {}
+
+func (x *WorldChestOpenNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldChestOpenNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldChestOpenNotify.ProtoReflect.Descriptor instead.
+func (*WorldChestOpenNotify) Descriptor() ([]byte, []int) {
+ return file_WorldChestOpenNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldChestOpenNotify) GetGroupId() uint32 {
+ if x != nil {
+ return x.GroupId
+ }
+ return 0
+}
+
+func (x *WorldChestOpenNotify) GetSceneId() uint32 {
+ if x != nil {
+ return x.SceneId
+ }
+ return 0
+}
+
+func (x *WorldChestOpenNotify) GetConfigId() uint32 {
+ if x != nil {
+ return x.ConfigId
+ }
+ return 0
+}
+
+var File_WorldChestOpenNotify_proto protoreflect.FileDescriptor
+
+var file_WorldChestOpenNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x65, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x69, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73,
+ 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x67,
+ 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x5f,
+ 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x49,
+ 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0c,
+ 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_WorldChestOpenNotify_proto_rawDescOnce sync.Once
+ file_WorldChestOpenNotify_proto_rawDescData = file_WorldChestOpenNotify_proto_rawDesc
+)
+
+func file_WorldChestOpenNotify_proto_rawDescGZIP() []byte {
+ file_WorldChestOpenNotify_proto_rawDescOnce.Do(func() {
+ file_WorldChestOpenNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldChestOpenNotify_proto_rawDescData)
+ })
+ return file_WorldChestOpenNotify_proto_rawDescData
+}
+
+var file_WorldChestOpenNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldChestOpenNotify_proto_goTypes = []interface{}{
+ (*WorldChestOpenNotify)(nil), // 0: proto.WorldChestOpenNotify
+}
+var file_WorldChestOpenNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WorldChestOpenNotify_proto_init() }
+func file_WorldChestOpenNotify_proto_init() {
+ if File_WorldChestOpenNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WorldChestOpenNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldChestOpenNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldChestOpenNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldChestOpenNotify_proto_goTypes,
+ DependencyIndexes: file_WorldChestOpenNotify_proto_depIdxs,
+ MessageInfos: file_WorldChestOpenNotify_proto_msgTypes,
+ }.Build()
+ File_WorldChestOpenNotify_proto = out.File
+ file_WorldChestOpenNotify_proto_rawDesc = nil
+ file_WorldChestOpenNotify_proto_goTypes = nil
+ file_WorldChestOpenNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldDataNotify.pb.go b/protocol/proto/WorldDataNotify.pb.go
new file mode 100644
index 00000000..1d0073d4
--- /dev/null
+++ b/protocol/proto/WorldDataNotify.pb.go
@@ -0,0 +1,235 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldDataNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WorldDataNotify_DataType int32
+
+const (
+ WorldDataNotify_DATA_TYPE_NONE WorldDataNotify_DataType = 0
+ WorldDataNotify_DATA_TYPE_WORLD_LEVEL WorldDataNotify_DataType = 1
+ WorldDataNotify_DATA_TYPE_IS_IN_MP_MODE WorldDataNotify_DataType = 2
+)
+
+// Enum value maps for WorldDataNotify_DataType.
+var (
+ WorldDataNotify_DataType_name = map[int32]string{
+ 0: "DATA_TYPE_NONE",
+ 1: "DATA_TYPE_WORLD_LEVEL",
+ 2: "DATA_TYPE_IS_IN_MP_MODE",
+ }
+ WorldDataNotify_DataType_value = map[string]int32{
+ "DATA_TYPE_NONE": 0,
+ "DATA_TYPE_WORLD_LEVEL": 1,
+ "DATA_TYPE_IS_IN_MP_MODE": 2,
+ }
+)
+
+func (x WorldDataNotify_DataType) Enum() *WorldDataNotify_DataType {
+ p := new(WorldDataNotify_DataType)
+ *p = x
+ return p
+}
+
+func (x WorldDataNotify_DataType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (WorldDataNotify_DataType) Descriptor() protoreflect.EnumDescriptor {
+ return file_WorldDataNotify_proto_enumTypes[0].Descriptor()
+}
+
+func (WorldDataNotify_DataType) Type() protoreflect.EnumType {
+ return &file_WorldDataNotify_proto_enumTypes[0]
+}
+
+func (x WorldDataNotify_DataType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use WorldDataNotify_DataType.Descriptor instead.
+func (WorldDataNotify_DataType) EnumDescriptor() ([]byte, []int) {
+ return file_WorldDataNotify_proto_rawDescGZIP(), []int{0, 0}
+}
+
+// CmdId: 3308
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WorldDataNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WorldPropMap map[uint32]*PropValue `protobuf:"bytes,9,rep,name=world_prop_map,json=worldPropMap,proto3" json:"world_prop_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+}
+
+func (x *WorldDataNotify) Reset() {
+ *x = WorldDataNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldDataNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldDataNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldDataNotify) ProtoMessage() {}
+
+func (x *WorldDataNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldDataNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldDataNotify.ProtoReflect.Descriptor instead.
+func (*WorldDataNotify) Descriptor() ([]byte, []int) {
+ return file_WorldDataNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldDataNotify) GetWorldPropMap() map[uint32]*PropValue {
+ if x != nil {
+ return x.WorldPropMap
+ }
+ return nil
+}
+
+var File_WorldDataNotify_proto protoreflect.FileDescriptor
+
+var file_WorldDataNotify_proto_rawDesc = []byte{
+ 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0f,
+ 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x8c, 0x02, 0x0a, 0x0f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x12, 0x4e, 0x0a, 0x0e, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f,
+ 0x70, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x44, 0x61, 0x74, 0x61, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x2e, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x4d, 0x61, 0x70,
+ 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70,
+ 0x4d, 0x61, 0x70, 0x1a, 0x51, 0x0a, 0x11, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70,
+ 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61,
+ 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
+ 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54,
+ 0x59, 0x50, 0x45, 0x5f, 0x57, 0x4f, 0x52, 0x4c, 0x44, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10,
+ 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49,
+ 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x4d, 0x50, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x02, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_WorldDataNotify_proto_rawDescOnce sync.Once
+ file_WorldDataNotify_proto_rawDescData = file_WorldDataNotify_proto_rawDesc
+)
+
+func file_WorldDataNotify_proto_rawDescGZIP() []byte {
+ file_WorldDataNotify_proto_rawDescOnce.Do(func() {
+ file_WorldDataNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldDataNotify_proto_rawDescData)
+ })
+ return file_WorldDataNotify_proto_rawDescData
+}
+
+var file_WorldDataNotify_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
+var file_WorldDataNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_WorldDataNotify_proto_goTypes = []interface{}{
+ (WorldDataNotify_DataType)(0), // 0: proto.WorldDataNotify.DataType
+ (*WorldDataNotify)(nil), // 1: proto.WorldDataNotify
+ nil, // 2: proto.WorldDataNotify.WorldPropMapEntry
+ (*PropValue)(nil), // 3: proto.PropValue
+}
+var file_WorldDataNotify_proto_depIdxs = []int32{
+ 2, // 0: proto.WorldDataNotify.world_prop_map:type_name -> proto.WorldDataNotify.WorldPropMapEntry
+ 3, // 1: proto.WorldDataNotify.WorldPropMapEntry.value:type_name -> proto.PropValue
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WorldDataNotify_proto_init() }
+func file_WorldDataNotify_proto_init() {
+ if File_WorldDataNotify_proto != nil {
+ return
+ }
+ file_PropValue_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldDataNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldDataNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldDataNotify_proto_rawDesc,
+ NumEnums: 1,
+ NumMessages: 2,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldDataNotify_proto_goTypes,
+ DependencyIndexes: file_WorldDataNotify_proto_depIdxs,
+ EnumInfos: file_WorldDataNotify_proto_enumTypes,
+ MessageInfos: file_WorldDataNotify_proto_msgTypes,
+ }.Build()
+ File_WorldDataNotify_proto = out.File
+ file_WorldDataNotify_proto_rawDesc = nil
+ file_WorldDataNotify_proto_goTypes = nil
+ file_WorldDataNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldOwnerBlossomBriefInfoNotify.pb.go b/protocol/proto/WorldOwnerBlossomBriefInfoNotify.pb.go
new file mode 100644
index 00000000..f0ab7236
--- /dev/null
+++ b/protocol/proto/WorldOwnerBlossomBriefInfoNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldOwnerBlossomBriefInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2735
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WorldOwnerBlossomBriefInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ BriefInfoList []*BlossomBriefInfo `protobuf:"bytes,13,rep,name=brief_info_list,json=briefInfoList,proto3" json:"brief_info_list,omitempty"`
+}
+
+func (x *WorldOwnerBlossomBriefInfoNotify) Reset() {
+ *x = WorldOwnerBlossomBriefInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldOwnerBlossomBriefInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldOwnerBlossomBriefInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldOwnerBlossomBriefInfoNotify) ProtoMessage() {}
+
+func (x *WorldOwnerBlossomBriefInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldOwnerBlossomBriefInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldOwnerBlossomBriefInfoNotify.ProtoReflect.Descriptor instead.
+func (*WorldOwnerBlossomBriefInfoNotify) Descriptor() ([]byte, []int) {
+ return file_WorldOwnerBlossomBriefInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldOwnerBlossomBriefInfoNotify) GetBriefInfoList() []*BlossomBriefInfo {
+ if x != nil {
+ return x.BriefInfoList
+ }
+ return nil
+}
+
+var File_WorldOwnerBlossomBriefInfoNotify_proto protoreflect.FileDescriptor
+
+var file_WorldOwnerBlossomBriefInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x26, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x73,
+ 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x16, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66,
+ 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64,
+ 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65,
+ 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x0f, 0x62,
+ 0x72, 0x69, 0x65, 0x66, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0d,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x6f,
+ 0x73, 0x73, 0x6f, 0x6d, 0x42, 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62,
+ 0x72, 0x69, 0x65, 0x66, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldOwnerBlossomBriefInfoNotify_proto_rawDescOnce sync.Once
+ file_WorldOwnerBlossomBriefInfoNotify_proto_rawDescData = file_WorldOwnerBlossomBriefInfoNotify_proto_rawDesc
+)
+
+func file_WorldOwnerBlossomBriefInfoNotify_proto_rawDescGZIP() []byte {
+ file_WorldOwnerBlossomBriefInfoNotify_proto_rawDescOnce.Do(func() {
+ file_WorldOwnerBlossomBriefInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldOwnerBlossomBriefInfoNotify_proto_rawDescData)
+ })
+ return file_WorldOwnerBlossomBriefInfoNotify_proto_rawDescData
+}
+
+var file_WorldOwnerBlossomBriefInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldOwnerBlossomBriefInfoNotify_proto_goTypes = []interface{}{
+ (*WorldOwnerBlossomBriefInfoNotify)(nil), // 0: proto.WorldOwnerBlossomBriefInfoNotify
+ (*BlossomBriefInfo)(nil), // 1: proto.BlossomBriefInfo
+}
+var file_WorldOwnerBlossomBriefInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldOwnerBlossomBriefInfoNotify.brief_info_list:type_name -> proto.BlossomBriefInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldOwnerBlossomBriefInfoNotify_proto_init() }
+func file_WorldOwnerBlossomBriefInfoNotify_proto_init() {
+ if File_WorldOwnerBlossomBriefInfoNotify_proto != nil {
+ return
+ }
+ file_BlossomBriefInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldOwnerBlossomBriefInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldOwnerBlossomBriefInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldOwnerBlossomBriefInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldOwnerBlossomBriefInfoNotify_proto_goTypes,
+ DependencyIndexes: file_WorldOwnerBlossomBriefInfoNotify_proto_depIdxs,
+ MessageInfos: file_WorldOwnerBlossomBriefInfoNotify_proto_msgTypes,
+ }.Build()
+ File_WorldOwnerBlossomBriefInfoNotify_proto = out.File
+ file_WorldOwnerBlossomBriefInfoNotify_proto_rawDesc = nil
+ file_WorldOwnerBlossomBriefInfoNotify_proto_goTypes = nil
+ file_WorldOwnerBlossomBriefInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldOwnerBlossomScheduleInfoNotify.pb.go b/protocol/proto/WorldOwnerBlossomScheduleInfoNotify.pb.go
new file mode 100644
index 00000000..1b61ec2b
--- /dev/null
+++ b/protocol/proto/WorldOwnerBlossomScheduleInfoNotify.pb.go
@@ -0,0 +1,172 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldOwnerBlossomScheduleInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 2707
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WorldOwnerBlossomScheduleInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ScheduleInfo *BlossomScheduleInfo `protobuf:"bytes,3,opt,name=schedule_info,json=scheduleInfo,proto3" json:"schedule_info,omitempty"`
+}
+
+func (x *WorldOwnerBlossomScheduleInfoNotify) Reset() {
+ *x = WorldOwnerBlossomScheduleInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldOwnerBlossomScheduleInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldOwnerBlossomScheduleInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldOwnerBlossomScheduleInfoNotify) ProtoMessage() {}
+
+func (x *WorldOwnerBlossomScheduleInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldOwnerBlossomScheduleInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldOwnerBlossomScheduleInfoNotify.ProtoReflect.Descriptor instead.
+func (*WorldOwnerBlossomScheduleInfoNotify) Descriptor() ([]byte, []int) {
+ return file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldOwnerBlossomScheduleInfoNotify) GetScheduleInfo() *BlossomScheduleInfo {
+ if x != nil {
+ return x.ScheduleInfo
+ }
+ return nil
+}
+
+var File_WorldOwnerBlossomScheduleInfoNotify_proto protoreflect.FileDescriptor
+
+var file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x29, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x73,
+ 0x73, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x19, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x66, 0x0a,
+ 0x23, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x73, 0x73,
+ 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f,
+ 0x74, 0x69, 0x66, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
+ 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x6c, 0x6f, 0x73, 0x73, 0x6f, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x64,
+ 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDescOnce sync.Once
+ file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDescData = file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDesc
+)
+
+func file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDescGZIP() []byte {
+ file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDescOnce.Do(func() {
+ file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDescData)
+ })
+ return file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDescData
+}
+
+var file_WorldOwnerBlossomScheduleInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldOwnerBlossomScheduleInfoNotify_proto_goTypes = []interface{}{
+ (*WorldOwnerBlossomScheduleInfoNotify)(nil), // 0: proto.WorldOwnerBlossomScheduleInfoNotify
+ (*BlossomScheduleInfo)(nil), // 1: proto.BlossomScheduleInfo
+}
+var file_WorldOwnerBlossomScheduleInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldOwnerBlossomScheduleInfoNotify.schedule_info:type_name -> proto.BlossomScheduleInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldOwnerBlossomScheduleInfoNotify_proto_init() }
+func file_WorldOwnerBlossomScheduleInfoNotify_proto_init() {
+ if File_WorldOwnerBlossomScheduleInfoNotify_proto != nil {
+ return
+ }
+ file_BlossomScheduleInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldOwnerBlossomScheduleInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldOwnerBlossomScheduleInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldOwnerBlossomScheduleInfoNotify_proto_goTypes,
+ DependencyIndexes: file_WorldOwnerBlossomScheduleInfoNotify_proto_depIdxs,
+ MessageInfos: file_WorldOwnerBlossomScheduleInfoNotify_proto_msgTypes,
+ }.Build()
+ File_WorldOwnerBlossomScheduleInfoNotify_proto = out.File
+ file_WorldOwnerBlossomScheduleInfoNotify_proto_rawDesc = nil
+ file_WorldOwnerBlossomScheduleInfoNotify_proto_goTypes = nil
+ file_WorldOwnerBlossomScheduleInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldOwnerDailyTaskNotify.pb.go b/protocol/proto/WorldOwnerDailyTaskNotify.pb.go
new file mode 100644
index 00000000..fc8ee58f
--- /dev/null
+++ b/protocol/proto/WorldOwnerDailyTaskNotify.pb.go
@@ -0,0 +1,180 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldOwnerDailyTaskNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 102
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WorldOwnerDailyTaskNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ FilterCityId uint32 `protobuf:"varint,2,opt,name=filter_city_id,json=filterCityId,proto3" json:"filter_city_id,omitempty"`
+ TaskList []*DailyTaskInfo `protobuf:"bytes,1,rep,name=task_list,json=taskList,proto3" json:"task_list,omitempty"`
+}
+
+func (x *WorldOwnerDailyTaskNotify) Reset() {
+ *x = WorldOwnerDailyTaskNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldOwnerDailyTaskNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldOwnerDailyTaskNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldOwnerDailyTaskNotify) ProtoMessage() {}
+
+func (x *WorldOwnerDailyTaskNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldOwnerDailyTaskNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldOwnerDailyTaskNotify.ProtoReflect.Descriptor instead.
+func (*WorldOwnerDailyTaskNotify) Descriptor() ([]byte, []int) {
+ return file_WorldOwnerDailyTaskNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldOwnerDailyTaskNotify) GetFilterCityId() uint32 {
+ if x != nil {
+ return x.FilterCityId
+ }
+ return 0
+}
+
+func (x *WorldOwnerDailyTaskNotify) GetTaskList() []*DailyTaskInfo {
+ if x != nil {
+ return x.TaskList
+ }
+ return nil
+}
+
+var File_WorldOwnerDailyTaskNotify_proto protoreflect.FileDescriptor
+
+var file_WorldOwnerDailyTaskNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c,
+ 0x79, 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54,
+ 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x74, 0x0a,
+ 0x19, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79,
+ 0x54, 0x61, 0x73, 0x6b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69,
+ 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x31, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x69, 0x6c,
+ 0x79, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldOwnerDailyTaskNotify_proto_rawDescOnce sync.Once
+ file_WorldOwnerDailyTaskNotify_proto_rawDescData = file_WorldOwnerDailyTaskNotify_proto_rawDesc
+)
+
+func file_WorldOwnerDailyTaskNotify_proto_rawDescGZIP() []byte {
+ file_WorldOwnerDailyTaskNotify_proto_rawDescOnce.Do(func() {
+ file_WorldOwnerDailyTaskNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldOwnerDailyTaskNotify_proto_rawDescData)
+ })
+ return file_WorldOwnerDailyTaskNotify_proto_rawDescData
+}
+
+var file_WorldOwnerDailyTaskNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldOwnerDailyTaskNotify_proto_goTypes = []interface{}{
+ (*WorldOwnerDailyTaskNotify)(nil), // 0: proto.WorldOwnerDailyTaskNotify
+ (*DailyTaskInfo)(nil), // 1: proto.DailyTaskInfo
+}
+var file_WorldOwnerDailyTaskNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldOwnerDailyTaskNotify.task_list:type_name -> proto.DailyTaskInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldOwnerDailyTaskNotify_proto_init() }
+func file_WorldOwnerDailyTaskNotify_proto_init() {
+ if File_WorldOwnerDailyTaskNotify_proto != nil {
+ return
+ }
+ file_DailyTaskInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldOwnerDailyTaskNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldOwnerDailyTaskNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldOwnerDailyTaskNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldOwnerDailyTaskNotify_proto_goTypes,
+ DependencyIndexes: file_WorldOwnerDailyTaskNotify_proto_depIdxs,
+ MessageInfos: file_WorldOwnerDailyTaskNotify_proto_msgTypes,
+ }.Build()
+ File_WorldOwnerDailyTaskNotify_proto = out.File
+ file_WorldOwnerDailyTaskNotify_proto_rawDesc = nil
+ file_WorldOwnerDailyTaskNotify_proto_goTypes = nil
+ file_WorldOwnerDailyTaskNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldPlayerDieNotify.pb.go b/protocol/proto/WorldPlayerDieNotify.pb.go
new file mode 100644
index 00000000..d920f366
--- /dev/null
+++ b/protocol/proto/WorldPlayerDieNotify.pb.go
@@ -0,0 +1,229 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldPlayerDieNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 285
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldPlayerDieNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ DieType PlayerDieType `protobuf:"varint,12,opt,name=die_type,json=dieType,proto3,enum=proto.PlayerDieType" json:"die_type,omitempty"`
+ MurdererEntityId uint32 `protobuf:"varint,15,opt,name=murderer_entity_id,json=murdererEntityId,proto3" json:"murderer_entity_id,omitempty"`
+ // Types that are assignable to Entity:
+ //
+ // *WorldPlayerDieNotify_MonsterId
+ // *WorldPlayerDieNotify_GadgetId
+ Entity isWorldPlayerDieNotify_Entity `protobuf_oneof:"entity"`
+}
+
+func (x *WorldPlayerDieNotify) Reset() {
+ *x = WorldPlayerDieNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldPlayerDieNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldPlayerDieNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldPlayerDieNotify) ProtoMessage() {}
+
+func (x *WorldPlayerDieNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldPlayerDieNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldPlayerDieNotify.ProtoReflect.Descriptor instead.
+func (*WorldPlayerDieNotify) Descriptor() ([]byte, []int) {
+ return file_WorldPlayerDieNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldPlayerDieNotify) GetDieType() PlayerDieType {
+ if x != nil {
+ return x.DieType
+ }
+ return PlayerDieType_PLAYER_DIE_TYPE_NONE
+}
+
+func (x *WorldPlayerDieNotify) GetMurdererEntityId() uint32 {
+ if x != nil {
+ return x.MurdererEntityId
+ }
+ return 0
+}
+
+func (m *WorldPlayerDieNotify) GetEntity() isWorldPlayerDieNotify_Entity {
+ if m != nil {
+ return m.Entity
+ }
+ return nil
+}
+
+func (x *WorldPlayerDieNotify) GetMonsterId() uint32 {
+ if x, ok := x.GetEntity().(*WorldPlayerDieNotify_MonsterId); ok {
+ return x.MonsterId
+ }
+ return 0
+}
+
+func (x *WorldPlayerDieNotify) GetGadgetId() uint32 {
+ if x, ok := x.GetEntity().(*WorldPlayerDieNotify_GadgetId); ok {
+ return x.GadgetId
+ }
+ return 0
+}
+
+type isWorldPlayerDieNotify_Entity interface {
+ isWorldPlayerDieNotify_Entity()
+}
+
+type WorldPlayerDieNotify_MonsterId struct {
+ MonsterId uint32 `protobuf:"varint,8,opt,name=monster_id,json=monsterId,proto3,oneof"`
+}
+
+type WorldPlayerDieNotify_GadgetId struct {
+ GadgetId uint32 `protobuf:"varint,4,opt,name=gadget_id,json=gadgetId,proto3,oneof"`
+}
+
+func (*WorldPlayerDieNotify_MonsterId) isWorldPlayerDieNotify_Entity() {}
+
+func (*WorldPlayerDieNotify_GadgetId) isWorldPlayerDieNotify_Entity() {}
+
+var File_WorldPlayerDieNotify_proto protoreflect.FileDescriptor
+
+var file_WorldPlayerDieNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x57, 0x6f, 0x72,
+ 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x12, 0x2f, 0x0a, 0x08, 0x64, 0x69, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x44, 0x69, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x64, 0x69, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x72, 0x64, 0x65, 0x72, 0x65, 0x72, 0x5f, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10,
+ 0x6d, 0x75, 0x72, 0x64, 0x65, 0x72, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x1f, 0x0a, 0x0a, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08,
+ 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x09, 0x6d, 0x6f, 0x6e, 0x73, 0x74, 0x65, 0x72, 0x49,
+ 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x67, 0x61, 0x64, 0x67, 0x65, 0x74, 0x49, 0x64,
+ 0x42, 0x08, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldPlayerDieNotify_proto_rawDescOnce sync.Once
+ file_WorldPlayerDieNotify_proto_rawDescData = file_WorldPlayerDieNotify_proto_rawDesc
+)
+
+func file_WorldPlayerDieNotify_proto_rawDescGZIP() []byte {
+ file_WorldPlayerDieNotify_proto_rawDescOnce.Do(func() {
+ file_WorldPlayerDieNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldPlayerDieNotify_proto_rawDescData)
+ })
+ return file_WorldPlayerDieNotify_proto_rawDescData
+}
+
+var file_WorldPlayerDieNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldPlayerDieNotify_proto_goTypes = []interface{}{
+ (*WorldPlayerDieNotify)(nil), // 0: proto.WorldPlayerDieNotify
+ (PlayerDieType)(0), // 1: proto.PlayerDieType
+}
+var file_WorldPlayerDieNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldPlayerDieNotify.die_type:type_name -> proto.PlayerDieType
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldPlayerDieNotify_proto_init() }
+func file_WorldPlayerDieNotify_proto_init() {
+ if File_WorldPlayerDieNotify_proto != nil {
+ return
+ }
+ file_PlayerDieType_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldPlayerDieNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldPlayerDieNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_WorldPlayerDieNotify_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*WorldPlayerDieNotify_MonsterId)(nil),
+ (*WorldPlayerDieNotify_GadgetId)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldPlayerDieNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldPlayerDieNotify_proto_goTypes,
+ DependencyIndexes: file_WorldPlayerDieNotify_proto_depIdxs,
+ MessageInfos: file_WorldPlayerDieNotify_proto_msgTypes,
+ }.Build()
+ File_WorldPlayerDieNotify_proto = out.File
+ file_WorldPlayerDieNotify_proto_rawDesc = nil
+ file_WorldPlayerDieNotify_proto_goTypes = nil
+ file_WorldPlayerDieNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldPlayerInfoNotify.pb.go b/protocol/proto/WorldPlayerInfoNotify.pb.go
new file mode 100644
index 00000000..01b92682
--- /dev/null
+++ b/protocol/proto/WorldPlayerInfoNotify.pb.go
@@ -0,0 +1,198 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldPlayerInfoNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3116
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WorldPlayerInfoNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerWidgetInfoList []*PlayerWidgetInfo `protobuf:"bytes,8,rep,name=player_widget_info_list,json=playerWidgetInfoList,proto3" json:"player_widget_info_list,omitempty"`
+ PlayerInfoList []*OnlinePlayerInfo `protobuf:"bytes,14,rep,name=player_info_list,json=playerInfoList,proto3" json:"player_info_list,omitempty"`
+ PlayerUidList []uint32 `protobuf:"varint,11,rep,packed,name=player_uid_list,json=playerUidList,proto3" json:"player_uid_list,omitempty"`
+}
+
+func (x *WorldPlayerInfoNotify) Reset() {
+ *x = WorldPlayerInfoNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldPlayerInfoNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldPlayerInfoNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldPlayerInfoNotify) ProtoMessage() {}
+
+func (x *WorldPlayerInfoNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldPlayerInfoNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldPlayerInfoNotify.ProtoReflect.Descriptor instead.
+func (*WorldPlayerInfoNotify) Descriptor() ([]byte, []int) {
+ return file_WorldPlayerInfoNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldPlayerInfoNotify) GetPlayerWidgetInfoList() []*PlayerWidgetInfo {
+ if x != nil {
+ return x.PlayerWidgetInfoList
+ }
+ return nil
+}
+
+func (x *WorldPlayerInfoNotify) GetPlayerInfoList() []*OnlinePlayerInfo {
+ if x != nil {
+ return x.PlayerInfoList
+ }
+ return nil
+}
+
+func (x *WorldPlayerInfoNotify) GetPlayerUidList() []uint32 {
+ if x != nil {
+ return x.PlayerUidList
+ }
+ return nil
+}
+
+var File_WorldPlayerInfoNotify_proto protoreflect.FileDescriptor
+
+var file_WorldPlayerInfoNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1b, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x01, 0x0a, 0x15, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c,
+ 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x4e,
+ 0x0a, 0x17, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x5f,
+ 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x69,
+ 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x41,
+ 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69,
+ 0x73, 0x74, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66,
+ 0x6f, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
+ 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x75, 0x69, 0x64, 0x5f,
+ 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x55, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldPlayerInfoNotify_proto_rawDescOnce sync.Once
+ file_WorldPlayerInfoNotify_proto_rawDescData = file_WorldPlayerInfoNotify_proto_rawDesc
+)
+
+func file_WorldPlayerInfoNotify_proto_rawDescGZIP() []byte {
+ file_WorldPlayerInfoNotify_proto_rawDescOnce.Do(func() {
+ file_WorldPlayerInfoNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldPlayerInfoNotify_proto_rawDescData)
+ })
+ return file_WorldPlayerInfoNotify_proto_rawDescData
+}
+
+var file_WorldPlayerInfoNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldPlayerInfoNotify_proto_goTypes = []interface{}{
+ (*WorldPlayerInfoNotify)(nil), // 0: proto.WorldPlayerInfoNotify
+ (*PlayerWidgetInfo)(nil), // 1: proto.PlayerWidgetInfo
+ (*OnlinePlayerInfo)(nil), // 2: proto.OnlinePlayerInfo
+}
+var file_WorldPlayerInfoNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldPlayerInfoNotify.player_widget_info_list:type_name -> proto.PlayerWidgetInfo
+ 2, // 1: proto.WorldPlayerInfoNotify.player_info_list:type_name -> proto.OnlinePlayerInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WorldPlayerInfoNotify_proto_init() }
+func file_WorldPlayerInfoNotify_proto_init() {
+ if File_WorldPlayerInfoNotify_proto != nil {
+ return
+ }
+ file_OnlinePlayerInfo_proto_init()
+ file_PlayerWidgetInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldPlayerInfoNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldPlayerInfoNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldPlayerInfoNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldPlayerInfoNotify_proto_goTypes,
+ DependencyIndexes: file_WorldPlayerInfoNotify_proto_depIdxs,
+ MessageInfos: file_WorldPlayerInfoNotify_proto_msgTypes,
+ }.Build()
+ File_WorldPlayerInfoNotify_proto = out.File
+ file_WorldPlayerInfoNotify_proto_rawDesc = nil
+ file_WorldPlayerInfoNotify_proto_goTypes = nil
+ file_WorldPlayerInfoNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldPlayerLocationNotify.pb.go b/protocol/proto/WorldPlayerLocationNotify.pb.go
new file mode 100644
index 00000000..7a710538
--- /dev/null
+++ b/protocol/proto/WorldPlayerLocationNotify.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldPlayerLocationNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 258
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldPlayerLocationNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerWorldLocList []*PlayerWorldLocationInfo `protobuf:"bytes,8,rep,name=player_world_loc_list,json=playerWorldLocList,proto3" json:"player_world_loc_list,omitempty"`
+ PlayerLocList []*PlayerLocationInfo `protobuf:"bytes,15,rep,name=player_loc_list,json=playerLocList,proto3" json:"player_loc_list,omitempty"`
+}
+
+func (x *WorldPlayerLocationNotify) Reset() {
+ *x = WorldPlayerLocationNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldPlayerLocationNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldPlayerLocationNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldPlayerLocationNotify) ProtoMessage() {}
+
+func (x *WorldPlayerLocationNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldPlayerLocationNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldPlayerLocationNotify.ProtoReflect.Descriptor instead.
+func (*WorldPlayerLocationNotify) Descriptor() ([]byte, []int) {
+ return file_WorldPlayerLocationNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldPlayerLocationNotify) GetPlayerWorldLocList() []*PlayerWorldLocationInfo {
+ if x != nil {
+ return x.PlayerWorldLocList
+ }
+ return nil
+}
+
+func (x *WorldPlayerLocationNotify) GetPlayerLocList() []*PlayerLocationInfo {
+ if x != nil {
+ return x.PlayerLocList
+ }
+ return nil
+}
+
+var File_WorldPlayerLocationNotify_proto protoreflect.FileDescriptor
+
+var file_WorldPlayerLocationNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72,
+ 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1d, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0xb1, 0x01, 0x0a, 0x19, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65,
+ 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12,
+ 0x51, 0x0a, 0x15, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f,
+ 0x6c, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72,
+ 0x6c, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12,
+ 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x4c, 0x6f, 0x63, 0x4c, 0x69,
+ 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63,
+ 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f,
+ 0x63, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldPlayerLocationNotify_proto_rawDescOnce sync.Once
+ file_WorldPlayerLocationNotify_proto_rawDescData = file_WorldPlayerLocationNotify_proto_rawDesc
+)
+
+func file_WorldPlayerLocationNotify_proto_rawDescGZIP() []byte {
+ file_WorldPlayerLocationNotify_proto_rawDescOnce.Do(func() {
+ file_WorldPlayerLocationNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldPlayerLocationNotify_proto_rawDescData)
+ })
+ return file_WorldPlayerLocationNotify_proto_rawDescData
+}
+
+var file_WorldPlayerLocationNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldPlayerLocationNotify_proto_goTypes = []interface{}{
+ (*WorldPlayerLocationNotify)(nil), // 0: proto.WorldPlayerLocationNotify
+ (*PlayerWorldLocationInfo)(nil), // 1: proto.PlayerWorldLocationInfo
+ (*PlayerLocationInfo)(nil), // 2: proto.PlayerLocationInfo
+}
+var file_WorldPlayerLocationNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldPlayerLocationNotify.player_world_loc_list:type_name -> proto.PlayerWorldLocationInfo
+ 2, // 1: proto.WorldPlayerLocationNotify.player_loc_list:type_name -> proto.PlayerLocationInfo
+ 2, // [2:2] is the sub-list for method output_type
+ 2, // [2:2] is the sub-list for method input_type
+ 2, // [2:2] is the sub-list for extension type_name
+ 2, // [2:2] is the sub-list for extension extendee
+ 0, // [0:2] is the sub-list for field type_name
+}
+
+func init() { file_WorldPlayerLocationNotify_proto_init() }
+func file_WorldPlayerLocationNotify_proto_init() {
+ if File_WorldPlayerLocationNotify_proto != nil {
+ return
+ }
+ file_PlayerLocationInfo_proto_init()
+ file_PlayerWorldLocationInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldPlayerLocationNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldPlayerLocationNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldPlayerLocationNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldPlayerLocationNotify_proto_goTypes,
+ DependencyIndexes: file_WorldPlayerLocationNotify_proto_depIdxs,
+ MessageInfos: file_WorldPlayerLocationNotify_proto_msgTypes,
+ }.Build()
+ File_WorldPlayerLocationNotify_proto = out.File
+ file_WorldPlayerLocationNotify_proto_rawDesc = nil
+ file_WorldPlayerLocationNotify_proto_goTypes = nil
+ file_WorldPlayerLocationNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldPlayerRTTNotify.pb.go b/protocol/proto/WorldPlayerRTTNotify.pb.go
new file mode 100644
index 00000000..ac9755f2
--- /dev/null
+++ b/protocol/proto/WorldPlayerRTTNotify.pb.go
@@ -0,0 +1,169 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldPlayerRTTNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 22
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldPlayerRTTNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ PlayerRttList []*PlayerRTTInfo `protobuf:"bytes,1,rep,name=player_rtt_list,json=playerRttList,proto3" json:"player_rtt_list,omitempty"`
+}
+
+func (x *WorldPlayerRTTNotify) Reset() {
+ *x = WorldPlayerRTTNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldPlayerRTTNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldPlayerRTTNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldPlayerRTTNotify) ProtoMessage() {}
+
+func (x *WorldPlayerRTTNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldPlayerRTTNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldPlayerRTTNotify.ProtoReflect.Descriptor instead.
+func (*WorldPlayerRTTNotify) Descriptor() ([]byte, []int) {
+ return file_WorldPlayerRTTNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldPlayerRTTNotify) GetPlayerRttList() []*PlayerRTTInfo {
+ if x != nil {
+ return x.PlayerRttList
+ }
+ return nil
+}
+
+var File_WorldPlayerRTTNotify_proto protoreflect.FileDescriptor
+
+var file_WorldPlayerRTTNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x54, 0x54,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x54, 0x54, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x54, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c,
+ 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x54, 0x54, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
+ 0x12, 0x3c, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x72, 0x74, 0x74, 0x5f, 0x6c,
+ 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x54, 0x54, 0x49, 0x6e, 0x66, 0x6f, 0x52,
+ 0x0d, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x74, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0a,
+ 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x33,
+}
+
+var (
+ file_WorldPlayerRTTNotify_proto_rawDescOnce sync.Once
+ file_WorldPlayerRTTNotify_proto_rawDescData = file_WorldPlayerRTTNotify_proto_rawDesc
+)
+
+func file_WorldPlayerRTTNotify_proto_rawDescGZIP() []byte {
+ file_WorldPlayerRTTNotify_proto_rawDescOnce.Do(func() {
+ file_WorldPlayerRTTNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldPlayerRTTNotify_proto_rawDescData)
+ })
+ return file_WorldPlayerRTTNotify_proto_rawDescData
+}
+
+var file_WorldPlayerRTTNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldPlayerRTTNotify_proto_goTypes = []interface{}{
+ (*WorldPlayerRTTNotify)(nil), // 0: proto.WorldPlayerRTTNotify
+ (*PlayerRTTInfo)(nil), // 1: proto.PlayerRTTInfo
+}
+var file_WorldPlayerRTTNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldPlayerRTTNotify.player_rtt_list:type_name -> proto.PlayerRTTInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldPlayerRTTNotify_proto_init() }
+func file_WorldPlayerRTTNotify_proto_init() {
+ if File_WorldPlayerRTTNotify_proto != nil {
+ return
+ }
+ file_PlayerRTTInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldPlayerRTTNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldPlayerRTTNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldPlayerRTTNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldPlayerRTTNotify_proto_goTypes,
+ DependencyIndexes: file_WorldPlayerRTTNotify_proto_depIdxs,
+ MessageInfos: file_WorldPlayerRTTNotify_proto_msgTypes,
+ }.Build()
+ File_WorldPlayerRTTNotify_proto = out.File
+ file_WorldPlayerRTTNotify_proto_rawDesc = nil
+ file_WorldPlayerRTTNotify_proto_goTypes = nil
+ file_WorldPlayerRTTNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldPlayerReviveReq.pb.go b/protocol/proto/WorldPlayerReviveReq.pb.go
new file mode 100644
index 00000000..a213fb9a
--- /dev/null
+++ b/protocol/proto/WorldPlayerReviveReq.pb.go
@@ -0,0 +1,152 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldPlayerReviveReq.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 225
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+type WorldPlayerReviveReq struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *WorldPlayerReviveReq) Reset() {
+ *x = WorldPlayerReviveReq{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldPlayerReviveReq_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldPlayerReviveReq) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldPlayerReviveReq) ProtoMessage() {}
+
+func (x *WorldPlayerReviveReq) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldPlayerReviveReq_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldPlayerReviveReq.ProtoReflect.Descriptor instead.
+func (*WorldPlayerReviveReq) Descriptor() ([]byte, []int) {
+ return file_WorldPlayerReviveReq_proto_rawDescGZIP(), []int{0}
+}
+
+var File_WorldPlayerReviveReq_proto protoreflect.FileDescriptor
+
+var file_WorldPlayerReviveReq_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x76,
+ 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x16, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x52, 0x65, 0x76, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x42, 0x0a, 0x5a, 0x08, 0x2e,
+ 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldPlayerReviveReq_proto_rawDescOnce sync.Once
+ file_WorldPlayerReviveReq_proto_rawDescData = file_WorldPlayerReviveReq_proto_rawDesc
+)
+
+func file_WorldPlayerReviveReq_proto_rawDescGZIP() []byte {
+ file_WorldPlayerReviveReq_proto_rawDescOnce.Do(func() {
+ file_WorldPlayerReviveReq_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldPlayerReviveReq_proto_rawDescData)
+ })
+ return file_WorldPlayerReviveReq_proto_rawDescData
+}
+
+var file_WorldPlayerReviveReq_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldPlayerReviveReq_proto_goTypes = []interface{}{
+ (*WorldPlayerReviveReq)(nil), // 0: proto.WorldPlayerReviveReq
+}
+var file_WorldPlayerReviveReq_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WorldPlayerReviveReq_proto_init() }
+func file_WorldPlayerReviveReq_proto_init() {
+ if File_WorldPlayerReviveReq_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WorldPlayerReviveReq_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldPlayerReviveReq); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldPlayerReviveReq_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldPlayerReviveReq_proto_goTypes,
+ DependencyIndexes: file_WorldPlayerReviveReq_proto_depIdxs,
+ MessageInfos: file_WorldPlayerReviveReq_proto_msgTypes,
+ }.Build()
+ File_WorldPlayerReviveReq_proto = out.File
+ file_WorldPlayerReviveReq_proto_rawDesc = nil
+ file_WorldPlayerReviveReq_proto_goTypes = nil
+ file_WorldPlayerReviveReq_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldPlayerReviveRsp.pb.go b/protocol/proto/WorldPlayerReviveRsp.pb.go
new file mode 100644
index 00000000..3da02183
--- /dev/null
+++ b/protocol/proto/WorldPlayerReviveRsp.pb.go
@@ -0,0 +1,162 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldPlayerReviveRsp.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 278
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldPlayerReviveRsp struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Retcode int32 `protobuf:"varint,3,opt,name=retcode,proto3" json:"retcode,omitempty"`
+}
+
+func (x *WorldPlayerReviveRsp) Reset() {
+ *x = WorldPlayerReviveRsp{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldPlayerReviveRsp_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldPlayerReviveRsp) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldPlayerReviveRsp) ProtoMessage() {}
+
+func (x *WorldPlayerReviveRsp) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldPlayerReviveRsp_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldPlayerReviveRsp.ProtoReflect.Descriptor instead.
+func (*WorldPlayerReviveRsp) Descriptor() ([]byte, []int) {
+ return file_WorldPlayerReviveRsp_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldPlayerReviveRsp) GetRetcode() int32 {
+ if x != nil {
+ return x.Retcode
+ }
+ return 0
+}
+
+var File_WorldPlayerReviveRsp_proto protoreflect.FileDescriptor
+
+var file_WorldPlayerReviveRsp_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x76,
+ 0x69, 0x76, 0x65, 0x52, 0x73, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x22, 0x30, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x52, 0x65, 0x76, 0x69, 0x76, 0x65, 0x52, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x72,
+ 0x65, 0x74, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65,
+ 0x74, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldPlayerReviveRsp_proto_rawDescOnce sync.Once
+ file_WorldPlayerReviveRsp_proto_rawDescData = file_WorldPlayerReviveRsp_proto_rawDesc
+)
+
+func file_WorldPlayerReviveRsp_proto_rawDescGZIP() []byte {
+ file_WorldPlayerReviveRsp_proto_rawDescOnce.Do(func() {
+ file_WorldPlayerReviveRsp_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldPlayerReviveRsp_proto_rawDescData)
+ })
+ return file_WorldPlayerReviveRsp_proto_rawDescData
+}
+
+var file_WorldPlayerReviveRsp_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldPlayerReviveRsp_proto_goTypes = []interface{}{
+ (*WorldPlayerReviveRsp)(nil), // 0: proto.WorldPlayerReviveRsp
+}
+var file_WorldPlayerReviveRsp_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WorldPlayerReviveRsp_proto_init() }
+func file_WorldPlayerReviveRsp_proto_init() {
+ if File_WorldPlayerReviveRsp_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WorldPlayerReviveRsp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldPlayerReviveRsp); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldPlayerReviveRsp_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldPlayerReviveRsp_proto_goTypes,
+ DependencyIndexes: file_WorldPlayerReviveRsp_proto_depIdxs,
+ MessageInfos: file_WorldPlayerReviveRsp_proto_msgTypes,
+ }.Build()
+ File_WorldPlayerReviveRsp_proto = out.File
+ file_WorldPlayerReviveRsp_proto_rawDesc = nil
+ file_WorldPlayerReviveRsp_proto_goTypes = nil
+ file_WorldPlayerReviveRsp_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldRoutineChangeNotify.pb.go b/protocol/proto/WorldRoutineChangeNotify.pb.go
new file mode 100644
index 00000000..e16a8702
--- /dev/null
+++ b/protocol/proto/WorldRoutineChangeNotify.pb.go
@@ -0,0 +1,179 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldRoutineChangeNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3507
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldRoutineChangeNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoutineInfo *WorldRoutineInfo `protobuf:"bytes,3,opt,name=routine_info,json=routineInfo,proto3" json:"routine_info,omitempty"`
+ RoutineType uint32 `protobuf:"varint,11,opt,name=routine_type,json=routineType,proto3" json:"routine_type,omitempty"`
+}
+
+func (x *WorldRoutineChangeNotify) Reset() {
+ *x = WorldRoutineChangeNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldRoutineChangeNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldRoutineChangeNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldRoutineChangeNotify) ProtoMessage() {}
+
+func (x *WorldRoutineChangeNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldRoutineChangeNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldRoutineChangeNotify.ProtoReflect.Descriptor instead.
+func (*WorldRoutineChangeNotify) Descriptor() ([]byte, []int) {
+ return file_WorldRoutineChangeNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldRoutineChangeNotify) GetRoutineInfo() *WorldRoutineInfo {
+ if x != nil {
+ return x.RoutineInfo
+ }
+ return nil
+}
+
+func (x *WorldRoutineChangeNotify) GetRoutineType() uint32 {
+ if x != nil {
+ return x.RoutineType
+ }
+ return 0
+}
+
+var File_WorldRoutineChangeNotify_proto protoreflect.FileDescriptor
+
+var file_WorldRoutineChangeNotify_proto_rawDesc = []byte{
+ 0x0a, 0x1e, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x43, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f,
+ 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x79, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x3a, 0x0a, 0x0c, 0x72,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74,
+ 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
+ 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f,
+ 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldRoutineChangeNotify_proto_rawDescOnce sync.Once
+ file_WorldRoutineChangeNotify_proto_rawDescData = file_WorldRoutineChangeNotify_proto_rawDesc
+)
+
+func file_WorldRoutineChangeNotify_proto_rawDescGZIP() []byte {
+ file_WorldRoutineChangeNotify_proto_rawDescOnce.Do(func() {
+ file_WorldRoutineChangeNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldRoutineChangeNotify_proto_rawDescData)
+ })
+ return file_WorldRoutineChangeNotify_proto_rawDescData
+}
+
+var file_WorldRoutineChangeNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldRoutineChangeNotify_proto_goTypes = []interface{}{
+ (*WorldRoutineChangeNotify)(nil), // 0: proto.WorldRoutineChangeNotify
+ (*WorldRoutineInfo)(nil), // 1: proto.WorldRoutineInfo
+}
+var file_WorldRoutineChangeNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldRoutineChangeNotify.routine_info:type_name -> proto.WorldRoutineInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldRoutineChangeNotify_proto_init() }
+func file_WorldRoutineChangeNotify_proto_init() {
+ if File_WorldRoutineChangeNotify_proto != nil {
+ return
+ }
+ file_WorldRoutineInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldRoutineChangeNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldRoutineChangeNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldRoutineChangeNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldRoutineChangeNotify_proto_goTypes,
+ DependencyIndexes: file_WorldRoutineChangeNotify_proto_depIdxs,
+ MessageInfos: file_WorldRoutineChangeNotify_proto_msgTypes,
+ }.Build()
+ File_WorldRoutineChangeNotify_proto = out.File
+ file_WorldRoutineChangeNotify_proto_rawDesc = nil
+ file_WorldRoutineChangeNotify_proto_goTypes = nil
+ file_WorldRoutineChangeNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldRoutineInfo.pb.go b/protocol/proto/WorldRoutineInfo.pb.go
new file mode 100644
index 00000000..bc1515be
--- /dev/null
+++ b/protocol/proto/WorldRoutineInfo.pb.go
@@ -0,0 +1,189 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldRoutineInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WorldRoutineInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Progress uint32 `protobuf:"varint,4,opt,name=progress,proto3" json:"progress,omitempty"`
+ IsFinished bool `protobuf:"varint,14,opt,name=is_finished,json=isFinished,proto3" json:"is_finished,omitempty"`
+ FinishProgress uint32 `protobuf:"varint,3,opt,name=finish_progress,json=finishProgress,proto3" json:"finish_progress,omitempty"`
+ RoutineId uint32 `protobuf:"varint,11,opt,name=routine_id,json=routineId,proto3" json:"routine_id,omitempty"`
+}
+
+func (x *WorldRoutineInfo) Reset() {
+ *x = WorldRoutineInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldRoutineInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldRoutineInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldRoutineInfo) ProtoMessage() {}
+
+func (x *WorldRoutineInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldRoutineInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldRoutineInfo.ProtoReflect.Descriptor instead.
+func (*WorldRoutineInfo) Descriptor() ([]byte, []int) {
+ return file_WorldRoutineInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldRoutineInfo) GetProgress() uint32 {
+ if x != nil {
+ return x.Progress
+ }
+ return 0
+}
+
+func (x *WorldRoutineInfo) GetIsFinished() bool {
+ if x != nil {
+ return x.IsFinished
+ }
+ return false
+}
+
+func (x *WorldRoutineInfo) GetFinishProgress() uint32 {
+ if x != nil {
+ return x.FinishProgress
+ }
+ return 0
+}
+
+func (x *WorldRoutineInfo) GetRoutineId() uint32 {
+ if x != nil {
+ return x.RoutineId
+ }
+ return 0
+}
+
+var File_WorldRoutineInfo_proto protoreflect.FileDescriptor
+
+var file_WorldRoutineInfo_proto_rawDesc = []byte{
+ 0x0a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+ 0x97, 0x01, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73,
+ 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18,
+ 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x70, 0x72, 0x6f, 0x67,
+ 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x69,
+ 0x73, 0x68, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f,
+ 0x75, 0x74, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09,
+ 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldRoutineInfo_proto_rawDescOnce sync.Once
+ file_WorldRoutineInfo_proto_rawDescData = file_WorldRoutineInfo_proto_rawDesc
+)
+
+func file_WorldRoutineInfo_proto_rawDescGZIP() []byte {
+ file_WorldRoutineInfo_proto_rawDescOnce.Do(func() {
+ file_WorldRoutineInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldRoutineInfo_proto_rawDescData)
+ })
+ return file_WorldRoutineInfo_proto_rawDescData
+}
+
+var file_WorldRoutineInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldRoutineInfo_proto_goTypes = []interface{}{
+ (*WorldRoutineInfo)(nil), // 0: proto.WorldRoutineInfo
+}
+var file_WorldRoutineInfo_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WorldRoutineInfo_proto_init() }
+func file_WorldRoutineInfo_proto_init() {
+ if File_WorldRoutineInfo_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WorldRoutineInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldRoutineInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldRoutineInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldRoutineInfo_proto_goTypes,
+ DependencyIndexes: file_WorldRoutineInfo_proto_depIdxs,
+ MessageInfos: file_WorldRoutineInfo_proto_msgTypes,
+ }.Build()
+ File_WorldRoutineInfo_proto = out.File
+ file_WorldRoutineInfo_proto_rawDesc = nil
+ file_WorldRoutineInfo_proto_goTypes = nil
+ file_WorldRoutineInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldRoutineTypeCloseNotify.pb.go b/protocol/proto/WorldRoutineTypeCloseNotify.pb.go
new file mode 100644
index 00000000..bca1ec9a
--- /dev/null
+++ b/protocol/proto/WorldRoutineTypeCloseNotify.pb.go
@@ -0,0 +1,163 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldRoutineTypeCloseNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3502
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldRoutineTypeCloseNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoutineType uint32 `protobuf:"varint,7,opt,name=routine_type,json=routineType,proto3" json:"routine_type,omitempty"`
+}
+
+func (x *WorldRoutineTypeCloseNotify) Reset() {
+ *x = WorldRoutineTypeCloseNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldRoutineTypeCloseNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldRoutineTypeCloseNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldRoutineTypeCloseNotify) ProtoMessage() {}
+
+func (x *WorldRoutineTypeCloseNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldRoutineTypeCloseNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldRoutineTypeCloseNotify.ProtoReflect.Descriptor instead.
+func (*WorldRoutineTypeCloseNotify) Descriptor() ([]byte, []int) {
+ return file_WorldRoutineTypeCloseNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldRoutineTypeCloseNotify) GetRoutineType() uint32 {
+ if x != nil {
+ return x.RoutineType
+ }
+ return 0
+}
+
+var File_WorldRoutineTypeCloseNotify_proto protoreflect.FileDescriptor
+
+var file_WorldRoutineTypeCloseNotify_proto_rawDesc = []byte{
+ 0x0a, 0x21, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x40, 0x0a, 0x1b, 0x57, 0x6f,
+ 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6c,
+ 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
+ 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08,
+ 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldRoutineTypeCloseNotify_proto_rawDescOnce sync.Once
+ file_WorldRoutineTypeCloseNotify_proto_rawDescData = file_WorldRoutineTypeCloseNotify_proto_rawDesc
+)
+
+func file_WorldRoutineTypeCloseNotify_proto_rawDescGZIP() []byte {
+ file_WorldRoutineTypeCloseNotify_proto_rawDescOnce.Do(func() {
+ file_WorldRoutineTypeCloseNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldRoutineTypeCloseNotify_proto_rawDescData)
+ })
+ return file_WorldRoutineTypeCloseNotify_proto_rawDescData
+}
+
+var file_WorldRoutineTypeCloseNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldRoutineTypeCloseNotify_proto_goTypes = []interface{}{
+ (*WorldRoutineTypeCloseNotify)(nil), // 0: proto.WorldRoutineTypeCloseNotify
+}
+var file_WorldRoutineTypeCloseNotify_proto_depIdxs = []int32{
+ 0, // [0:0] is the sub-list for method output_type
+ 0, // [0:0] is the sub-list for method input_type
+ 0, // [0:0] is the sub-list for extension type_name
+ 0, // [0:0] is the sub-list for extension extendee
+ 0, // [0:0] is the sub-list for field type_name
+}
+
+func init() { file_WorldRoutineTypeCloseNotify_proto_init() }
+func file_WorldRoutineTypeCloseNotify_proto_init() {
+ if File_WorldRoutineTypeCloseNotify_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_WorldRoutineTypeCloseNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldRoutineTypeCloseNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldRoutineTypeCloseNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldRoutineTypeCloseNotify_proto_goTypes,
+ DependencyIndexes: file_WorldRoutineTypeCloseNotify_proto_depIdxs,
+ MessageInfos: file_WorldRoutineTypeCloseNotify_proto_msgTypes,
+ }.Build()
+ File_WorldRoutineTypeCloseNotify_proto = out.File
+ file_WorldRoutineTypeCloseNotify_proto_rawDesc = nil
+ file_WorldRoutineTypeCloseNotify_proto_goTypes = nil
+ file_WorldRoutineTypeCloseNotify_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldRoutineTypeInfo.pb.go b/protocol/proto/WorldRoutineTypeInfo.pb.go
new file mode 100644
index 00000000..5ae543bb
--- /dev/null
+++ b/protocol/proto/WorldRoutineTypeInfo.pb.go
@@ -0,0 +1,188 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldRoutineTypeInfo.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type WorldRoutineTypeInfo struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ RoutineType uint32 `protobuf:"varint,13,opt,name=routine_type,json=routineType,proto3" json:"routine_type,omitempty"`
+ NextRefreshTime uint32 `protobuf:"varint,12,opt,name=next_refresh_time,json=nextRefreshTime,proto3" json:"next_refresh_time,omitempty"`
+ WorldRoutineInfoList []*WorldRoutineInfo `protobuf:"bytes,3,rep,name=world_routine_info_list,json=worldRoutineInfoList,proto3" json:"world_routine_info_list,omitempty"`
+}
+
+func (x *WorldRoutineTypeInfo) Reset() {
+ *x = WorldRoutineTypeInfo{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldRoutineTypeInfo_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldRoutineTypeInfo) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldRoutineTypeInfo) ProtoMessage() {}
+
+func (x *WorldRoutineTypeInfo) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldRoutineTypeInfo_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldRoutineTypeInfo.ProtoReflect.Descriptor instead.
+func (*WorldRoutineTypeInfo) Descriptor() ([]byte, []int) {
+ return file_WorldRoutineTypeInfo_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldRoutineTypeInfo) GetRoutineType() uint32 {
+ if x != nil {
+ return x.RoutineType
+ }
+ return 0
+}
+
+func (x *WorldRoutineTypeInfo) GetNextRefreshTime() uint32 {
+ if x != nil {
+ return x.NextRefreshTime
+ }
+ return 0
+}
+
+func (x *WorldRoutineTypeInfo) GetWorldRoutineInfoList() []*WorldRoutineInfo {
+ if x != nil {
+ return x.WorldRoutineInfoList
+ }
+ return nil
+}
+
+var File_WorldRoutineTypeInfo_proto protoreflect.FileDescriptor
+
+var file_WorldRoutineTypeInfo_proto_rawDesc = []byte{
+ 0x0a, 0x1a, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
+ 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb5, 0x01, 0x0a, 0x14,
+ 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65,
+ 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x5f,
+ 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74,
+ 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f,
+ 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01,
+ 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x17, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x5f, 0x72, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x6f, 0x72,
+ 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x77,
+ 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c,
+ 0x69, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldRoutineTypeInfo_proto_rawDescOnce sync.Once
+ file_WorldRoutineTypeInfo_proto_rawDescData = file_WorldRoutineTypeInfo_proto_rawDesc
+)
+
+func file_WorldRoutineTypeInfo_proto_rawDescGZIP() []byte {
+ file_WorldRoutineTypeInfo_proto_rawDescOnce.Do(func() {
+ file_WorldRoutineTypeInfo_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldRoutineTypeInfo_proto_rawDescData)
+ })
+ return file_WorldRoutineTypeInfo_proto_rawDescData
+}
+
+var file_WorldRoutineTypeInfo_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldRoutineTypeInfo_proto_goTypes = []interface{}{
+ (*WorldRoutineTypeInfo)(nil), // 0: proto.WorldRoutineTypeInfo
+ (*WorldRoutineInfo)(nil), // 1: proto.WorldRoutineInfo
+}
+var file_WorldRoutineTypeInfo_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldRoutineTypeInfo.world_routine_info_list:type_name -> proto.WorldRoutineInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldRoutineTypeInfo_proto_init() }
+func file_WorldRoutineTypeInfo_proto_init() {
+ if File_WorldRoutineTypeInfo_proto != nil {
+ return
+ }
+ file_WorldRoutineInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldRoutineTypeInfo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldRoutineTypeInfo); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldRoutineTypeInfo_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldRoutineTypeInfo_proto_goTypes,
+ DependencyIndexes: file_WorldRoutineTypeInfo_proto_depIdxs,
+ MessageInfos: file_WorldRoutineTypeInfo_proto_msgTypes,
+ }.Build()
+ File_WorldRoutineTypeInfo_proto = out.File
+ file_WorldRoutineTypeInfo_proto_rawDesc = nil
+ file_WorldRoutineTypeInfo_proto_goTypes = nil
+ file_WorldRoutineTypeInfo_proto_depIdxs = nil
+}
diff --git a/protocol/proto/WorldRoutineTypeRefreshNotify.pb.go b/protocol/proto/WorldRoutineTypeRefreshNotify.pb.go
new file mode 100644
index 00000000..a5efaa1b
--- /dev/null
+++ b/protocol/proto/WorldRoutineTypeRefreshNotify.pb.go
@@ -0,0 +1,171 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.14.0
+// source: WorldRoutineTypeRefreshNotify.proto
+
+package proto
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// CmdId: 3525
+// EnetChannelId: 0
+// EnetIsReliable: true
+type WorldRoutineTypeRefreshNotify struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WorldRoutineType *WorldRoutineTypeInfo `protobuf:"bytes,7,opt,name=world_routine_type,json=worldRoutineType,proto3" json:"world_routine_type,omitempty"`
+}
+
+func (x *WorldRoutineTypeRefreshNotify) Reset() {
+ *x = WorldRoutineTypeRefreshNotify{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_WorldRoutineTypeRefreshNotify_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *WorldRoutineTypeRefreshNotify) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*WorldRoutineTypeRefreshNotify) ProtoMessage() {}
+
+func (x *WorldRoutineTypeRefreshNotify) ProtoReflect() protoreflect.Message {
+ mi := &file_WorldRoutineTypeRefreshNotify_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use WorldRoutineTypeRefreshNotify.ProtoReflect.Descriptor instead.
+func (*WorldRoutineTypeRefreshNotify) Descriptor() ([]byte, []int) {
+ return file_WorldRoutineTypeRefreshNotify_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *WorldRoutineTypeRefreshNotify) GetWorldRoutineType() *WorldRoutineTypeInfo {
+ if x != nil {
+ return x.WorldRoutineType
+ }
+ return nil
+}
+
+var File_WorldRoutineTypeRefreshNotify_proto protoreflect.FileDescriptor
+
+var file_WorldRoutineTypeRefreshNotify_proto_rawDesc = []byte{
+ 0x0a, 0x23, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79,
+ 0x70, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x57, 0x6f,
+ 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6c,
+ 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x66, 0x72,
+ 0x65, 0x73, 0x68, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x49, 0x0a, 0x12, 0x77, 0x6f, 0x72,
+ 0x6c, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x57, 0x6f,
+ 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e,
+ 0x66, 0x6f, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_WorldRoutineTypeRefreshNotify_proto_rawDescOnce sync.Once
+ file_WorldRoutineTypeRefreshNotify_proto_rawDescData = file_WorldRoutineTypeRefreshNotify_proto_rawDesc
+)
+
+func file_WorldRoutineTypeRefreshNotify_proto_rawDescGZIP() []byte {
+ file_WorldRoutineTypeRefreshNotify_proto_rawDescOnce.Do(func() {
+ file_WorldRoutineTypeRefreshNotify_proto_rawDescData = protoimpl.X.CompressGZIP(file_WorldRoutineTypeRefreshNotify_proto_rawDescData)
+ })
+ return file_WorldRoutineTypeRefreshNotify_proto_rawDescData
+}
+
+var file_WorldRoutineTypeRefreshNotify_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
+var file_WorldRoutineTypeRefreshNotify_proto_goTypes = []interface{}{
+ (*WorldRoutineTypeRefreshNotify)(nil), // 0: proto.WorldRoutineTypeRefreshNotify
+ (*WorldRoutineTypeInfo)(nil), // 1: proto.WorldRoutineTypeInfo
+}
+var file_WorldRoutineTypeRefreshNotify_proto_depIdxs = []int32{
+ 1, // 0: proto.WorldRoutineTypeRefreshNotify.world_routine_type:type_name -> proto.WorldRoutineTypeInfo
+ 1, // [1:1] is the sub-list for method output_type
+ 1, // [1:1] is the sub-list for method input_type
+ 1, // [1:1] is the sub-list for extension type_name
+ 1, // [1:1] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_WorldRoutineTypeRefreshNotify_proto_init() }
+func file_WorldRoutineTypeRefreshNotify_proto_init() {
+ if File_WorldRoutineTypeRefreshNotify_proto != nil {
+ return
+ }
+ file_WorldRoutineTypeInfo_proto_init()
+ if !protoimpl.UnsafeEnabled {
+ file_WorldRoutineTypeRefreshNotify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WorldRoutineTypeRefreshNotify); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_WorldRoutineTypeRefreshNotify_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 1,
+ NumExtensions: 0,
+ NumServices: 0,
+ },
+ GoTypes: file_WorldRoutineTypeRefreshNotify_proto_goTypes,
+ DependencyIndexes: file_WorldRoutineTypeRefreshNotify_proto_depIdxs,
+ MessageInfos: file_WorldRoutineTypeRefreshNotify_proto_msgTypes,
+ }.Build()
+ File_WorldRoutineTypeRefreshNotify_proto = out.File
+ file_WorldRoutineTypeRefreshNotify_proto_rawDesc = nil
+ file_WorldRoutineTypeRefreshNotify_proto_goTypes = nil
+ file_WorldRoutineTypeRefreshNotify_proto_depIdxs = nil
+}